texlive[64920] Master: tikz-ext rearrange

commits+karl at tug.org commits+karl at tug.org
Thu Nov 3 22:03:19 CET 2022


Revision: 64920
          http://tug.org/svn/texlive?view=revision&revision=64920
Author:   karl
Date:     2022-11-03 22:03:19 +0100 (Thu, 03 Nov 2022)
Log Message:
-----------
tikz-ext rearrange

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/generic/tikz-ext/
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfcalendar-ext.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.scalepicture.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex
    trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
    trunk/Master/texmf-dist/tex/plain/tikz-ext/
    trunk/Master/texmf-dist/tex/plain/tikz-ext/pgfcalendar-ext.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.transformations.mirror.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.arcto.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.timer.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.scalepicture.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex
    trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex

Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfcalendar-ext.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfcalendar-ext.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfcalendar-ext.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,370 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\pgfqkeys{/pgf/calendar}{
+    style/.style={#1},
+    yesterday/.value required,
+    yesterday/.code={%
+      \begingroup
+        \pgfutil at tempcnta=\pgfcalendarifdatejulian\relax
+        \advance\pgfutil at tempcnta by -1\relax
+        \pgfcalendarjuliantodate{\pgfutil at tempcnta}{\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
+        \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
+        \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
+        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
+        \pgfcalendarjulianyeartoweek\pgfutil at tempcnta\pgfcalendarifdateyear\pgfutil at tempcntb
+        \edef\pgfcalendarifdateweek{\the\pgfutil at tempcntb}%
+        \pgfcalendar at launch@ifdate{#1}{%
+          \def\pgf at cal@temp{\pgfcalendarmatchestrue}%
+        }{%
+          \let\pgf at cal@temp\pgfutil at empty
+        }%
+        \expandafter
+      \endgroup\pgf at cal@temp
+    },
+    relative/.code 2 args={%
+      \begingroup
+        \pgfutil at tempcnta=\pgfcalendarifdatejulian\relax
+        \advance\pgfutil at tempcnta by #1\relax
+        \pgfcalendarjuliantodate{\pgfutil at tempcnta}{\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
+        \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
+        \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
+        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
+        \pgfcalendarjulianyeartoweek\pgfutil at tempcnta\pgfcalendarifdateyear\pgfutil at tempcntb
+        \edef\pgfcalendarifdateweek{\the\pgfutil at tempcntb}%
+        \pgfcalendar at launch@ifdate{#2}{%
+          \def\pgf at cal@temp{\pgfcalendarmatchestrue}%
+        }{%
+          \let\pgf at cal@temp\pgfutil at empty
+        }%
+      \expandafter
+    \endgroup\pgf at cal@temp
+    },
+    Jan/.code={\ifnum\pgfcalendarifdatemonth=1 \expandafter\pgfcalendarmatchestrue\fi},Jan/.value forbidden,
+    Feb/.code={\ifnum\pgfcalendarifdatemonth=2 \expandafter\pgfcalendarmatchestrue\fi},Feb/.value forbidden,
+    Mar/.code={\ifnum\pgfcalendarifdatemonth=3 \expandafter\pgfcalendarmatchestrue\fi},Mar/.value forbidden,
+    Apr/.code={\ifnum\pgfcalendarifdatemonth=4 \expandafter\pgfcalendarmatchestrue\fi},Apr/.value forbidden,
+    May/.code={\ifnum\pgfcalendarifdatemonth=5 \expandafter\pgfcalendarmatchestrue\fi},May/.value forbidden,
+    Jun/.code={\ifnum\pgfcalendarifdatemonth=6 \expandafter\pgfcalendarmatchestrue\fi},Jun/.value forbidden,
+    Jul/.code={\ifnum\pgfcalendarifdatemonth=7 \expandafter\pgfcalendarmatchestrue\fi},Jul/.value forbidden,
+    Aug/.code={\ifnum\pgfcalendarifdatemonth=8 \expandafter\pgfcalendarmatchestrue\fi},Aug/.value forbidden,
+    Sep/.code={\ifnum\pgfcalendarifdatemonth=9 \expandafter\pgfcalendarmatchestrue\fi},Sep/.value forbidden,
+    Oct/.code={\ifnum\pgfcalendarifdatemonth=10 \expandafter\pgfcalendarmatchestrue\fi},Oct/.value forbidden,
+    Nov/.code={\ifnum\pgfcalendarifdatemonth=11 \expandafter\pgfcalendarmatchestrue\fi},Nov/.value forbidden,
+    Dec/.code={\ifnum\pgfcalendarifdatemonth=12 \expandafter\pgfcalendarmatchestrue\fi},Dec/.value forbidden,
+    %
+    leap year/.code={%
+        \pgfutil at tempcnta=#1\relax
+        \divide\pgfutil at tempcnta4
+        \multiply\pgfutil at tempcnta4
+        \ifnum\pgfutil at tempcnta=#1\relax
+            \divide\pgfutil at tempcnta100
+            \multiply\pgfutil at tempcnta100
+            \ifnum\pgfutil at tempcnta=#1\relax
+                \divide\pgfutil at tempcnta400
+                \multiply\pgfutil at tempcnta400
+                \ifnum\pgfutil at tempcnta=#1\relax
+                    \pgfcalendarmatchestrue
+                \fi
+            \else
+                \pgfcalendarmatchestrue
+            \fi
+        \fi},
+    leap year/.default=\pgfcalendarifdateyear,
+    between days/.value required,
+    between days/.code args={#1and#2}{%
+        \pgfutil at tempcnta=#1\relax
+        \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta\else
+            \pgfutil at tempcnta=#2\relax
+            \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta\else
+                \pgfcalendarmatchestrue\fi\fi},
+    week of month/.code={%
+        \pgfutil at tempcnta=#1\relax
+        \multiply\pgfutil at tempcnta7
+        \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta\else
+            \advance\pgfutil at tempcnta-7
+            \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta
+                \pgfcalendarmatchestrue
+            \fi
+        \fi},
+    week of month'/.code={%
+        \pgfcalendar at getlastYMX\pgfcalendarifdateyear\pgfcalendarifdatemonth\pgfutil at tempcnta
+        \advance\pgfutil at tempcnta1
+        \pgfutil at tempcntb=#1\relax
+        \multiply\pgfutil at tempcntb7
+        \advance\pgfutil at tempcnta-\pgfutil at tempcntb
+        \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta\else
+            \advance\pgfutil at tempcnta+7
+            \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta
+                \pgfcalendarmatchestrue
+            \fi
+        \fi},
+    first/.code={\pgfutil at in@:{#1}\ifpgfutil at in@
+        \pgfcalendar at ifdate@first{}#1\pgf at stop\else
+        \pgfcalendar at ifdate@first{}1:#1\pgf at stop\fi},
+    last/.code={\pgfutil at in@:{#1}\ifpgfutil at in@
+        \pgfcalendar at ifdate@first'#1\pgf at stop\else
+        \pgfcalendar at ifdate@first'1:#1\pgf at stop\fi},
+    % logic
+    not/.value required,
+    not/.code=%
+        \begingroup
+            \let\pgf at cal@tempa\pgfutil at empty
+            \pgfcalendar at launch@ifdate{#1}{}{\def\pgf at cal@tempa{\pgfcalendarmatchestrue}}%
+        \expandafter\endgroup\pgf at cal@tempa,
+    and/.value required,
+    and/.code=% and = {<cond 1>, <cond 2>, <cond 3>, …}
+      \begingroup
+        \pgfcalendarmatchestrue
+        \pgfqkeys{/pgf/calendar/and}{#1}%
+        \ifpgfcalendarmatches % is it still true?
+          \expandafter\pgfutil at firstoftwo
+        \else
+          \expandafter\pgfutil at secondoftwo
+        \fi
+        {\def\pgf at cal@temp{\pgfcalendarmatchestrue}}%
+        {\let\pgf at cal@temp\pgfutil at empty}%
+      \expandafter\endgroup\pgf at cal@temp,
+    and/.unknown/.code=% only inside the group of and/.code
+      \ifpgfcalendarmatches
+        \expandafter\pgfutil at firstofone
+      \else
+        \expandafter\pgfutil at gobble
+      \fi
+      {%
+        \begingroup
+          \pgfcalendar at launch@ifdate{\pgfkeyscurrentname={#1}}%
+          {\let\pgf at cal@temp\pgfutil at empty}{\def\pgf at cal@temp{\pgfcalendarmatchesfalse}}
+        \expandafter\endgroup\pgf at cal@temp
+      },%
+    calendar week of month/.default=1,
+    calendar week of month'/.default=1,
+    calendar week of month/.code={%
+      \begingroup
+        \pgfutil at tempcnta=\pgfcalendarifdateday\relax
+        \advance\pgfutil at tempcnta by 5
+        \advance\pgfutil at tempcnta by -\pgfcalendarifdateweekday\relax
+        \divide\pgfutil at tempcnta by 7
+        \advance\pgfutil at tempcnta by -#1\relax
+        \expandafter\endgroup\expandafter
+      \ifnum\the\pgfutil at tempcnta=-1
+        \pgfcalendarmatchestrue
+      \fi},
+    calendar week of month'/.code={%
+      \begingroup
+        \pgfcalendar at getlastYMX\pgfcalendarifdateyear\pgfcalendarifdatemonth\pgfutil at tempcnta
+        \advance\pgfutil at tempcnta by -\pgfcalendarifdateday\relax
+        \edef\pgfcalendarifdateday{\the\pgfutil at tempcnta}%
+        \pgfutil at tempcnta=-\pgfcalendarifdateweekday\relax
+        \advance\pgfutil at tempcnta by 5
+        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcnta}%
+        \let\pgf at cal@temp\pgfutil at empty
+        \pgfcalendar at launch@ifdate{calendar week of month={#1}}{\def\pgf at cal@temp{\pgfcalendarmatchestrue}}{}%
+      \expandafter\endgroup\pgf at cal@temp}}
+
+\def\pgfcalendar at ifdate@first#1#2:#3\pgf at stop{%
+    \pgfqkeys{/pgf/calendar}{and={#3, week of month#1={#2}}}}
+\def\pgfcalendar at getlastYMX#1#2#3{% #1 = year, #2 = month, #3 := last day
+    \begingroup
+        \ifnum#2=2 % stupid February
+            \pgfcalendarmatchesfalse
+            \pgfqkeys{/pgf/calendar}{leap year={#1}}%
+            \ifpgfcalendarmatches
+              #3=29
+            \else
+              #3=28
+            \fi
+        \else
+            #3=\ifcase#2\relax\or
+            31\or\or31\or30\or31\or30\or31\or31\or30\or31\or30\or31\fi
+        \fi
+        \edef\pgf at cal@temp{#3=\the#3\relax}
+      \expandafter
+    \endgroup\pgf at cal@temp}
+
+%
+% weeks
+%
+\def\pgfcalendar at week@setup#1{%
+  \pgfutil at IfUndefined{pgfcalendar at week@#1}{%
+    \begingroup
+      \pgfcalendardatetojulian{#1-01-01}\pgfutil at tempcnta
+      \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
+      %
+      % tempcnta holds the julian number for first day of the current year
+      % tempcntb holds the weekday for the first day of the current year
+      %
+      % set tempcnta to the Monday of the week with first day of current year
+      \advance\pgfutil at tempcnta by -\pgfutil at tempcntb
+      %
+      % if the first week starts at Fri, Sat or Sun, next week is the 1st week
+      \ifnum\pgfutil at tempcntb>3\relax
+        \advance\pgfutil at tempcnta by 7\relax
+      \fi
+      % setup macro for year with {Julian number for day of first week}{weekday of -01-01}
+      \expandafter\xdef\csname pgfcalendar at week@#1\endcsname{{\the\pgfutil at tempcnta}{\the\pgfutil at tempcntb}}%
+    \endgroup
+  }{}%
+}
+
+\def\pgfcalendarjulianyeartoweek#1#2#3{\pgfcalendarjulianyeartoweek@{#1}{#2}{#3}{\iftrue}}
+\def\pgfcalendarjulianyeartoweek@#1#2#3#4{%
+  % #1 = julian date (count)
+  % #2 = year
+  % #3 = count that holds the week at the end
+  % #4 = \iftrue or \iffalse: whether week 53 needs to be checked (\iffalse when determing week from next year)
+  \begingroup
+    \pgfcalendar at week@setup{#2}%
+    #3=#1\relax
+    %
+    % calculate difference of days between current date and start of week 1
+    %
+    \advance#3 by -\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname pgfcalendar at week@#2\endcsname\relax
+    \ifnum#3<0\relax % whoops, we are in the week of the previous year
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {% if first day of the year is Fri, Sat or Sun
+      \ifnum\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname pgfcalendar at week@#2\endcsname>3\relax
+        \expandafter\pgfutil at firstoftwo
+      \else
+        \expandafter\pgfutil at secondoftwo
+      \fi
+      {% we need to check the week of the previous year
+        #3=#2\relax
+        \advance#3 by -1
+        \edef\pgf at cal@temp{\noexpand\pgfcalendarjulianyeartoweek@{#1}{\the#3}{#3}\noexpand\iffalse}%
+        \pgf at cal@temp
+      }{% yeah, it's weird
+        \divide#3 by 7
+        \advance#3 by 1        
+      }%
+    }{%
+      \divide#3 by 7
+      \advance#3 by 1
+      #4%
+        \expandafter\pgfutil at firstofone
+      \else
+        \expandafter\pgfutil at gobble
+      \fi
+      {%
+        \ifnum#3=53\relax % whoops, we are possibly in the first week of the next year
+            \expandafter\pgfutil at firstofone
+        \else
+            \expandafter\pgfutil at gobble
+        \fi
+        {%
+          \begingroup
+            % check whether we're already in week 1 of the next year
+            #3=#2\relax
+            \advance#3 by 1
+            \expandafter\pgfcalendar at week@setup\expandafter{\the#3}%
+            \ifnum#1<\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname pgfcalendar at week@\the#3\endcsname\relax
+              #3=53
+            \else
+              #3=1
+            \fi
+            \expandafter
+          \endgroup\expandafter#3\the#3\relax
+        }%
+      }%
+    }%
+    \expandafter
+  \endgroup\expandafter
+  #3\the#3\relax
+}
+
+%
+% shorthands for weeks (n)
+%
+% n-: shortest
+% n=: shortest but prepends whitespace
+% n0: leading zero
+%
+\expandafter\def\csname pgfcalendar at shorthand@n-\endcsname{%
+  \if0\pgfcalendarcurrentweek\else\pgfcalendarcurrentweek\fi}
+\expandafter\def\csname pgfcalendar at shorthand@n=\endcsname{%
+  {\pgfutil at tempcnta=\pgfcalendarcurrentweek\relax\ifnum\pgfutil at tempcnta<10\relax\setbox0=\hbox{1}\kern\wd0\relax\fi\the\pgfutil at tempcnta}}
+\expandafter\def\csname pgfcalendar at shorthand@n0\endcsname{%
+  \pgfcalendarcurrentweek}
+
+%
+% Overwriting original \pgfcalendar
+%
+\long\def\pgfcalendar#1#2#3#4{%
+  \begingroup%
+    % Setup local \ifdate
+    \let\ifdate=\pgfcalendar at local@ifdate%
+    % Let's start with computing start and end dates...
+    \def\pgfcalendarprefix{#1}%
+    \pgfcalendardatetojulian{#2}{\pgfcalendarcurrentjulian}%
+    \edef\pgfcalendarbeginjulian{\the\pgfcalendarcurrentjulian}%
+    \edef\pgfcalendarbeginiso{#2}%
+    \pgfcalendardatetojulian{#3}{\pgfutil at tempcnta}%
+    \edef\pgfcalendarendjulian{\the\pgfutil at tempcnta}%
+    \advance\pgfutil at tempcnta by1\relax%
+    \edef\pgfcalendarendjulianplus{\the\pgfutil at tempcnta}%
+    \edef\pgfcalendarendiso{#3}%
+    %
+    % Start main loop
+    %
+    \loop%
+    \ifnum\pgfcalendarcurrentjulian<\pgfcalendarendjulianplus\relax%
+      % Setup information about current date
+      \pgfcalendarjuliantodate{\pgfcalendarcurrentjulian}%
+        {\pgfcalendarcurrentyear}{\pgfcalendarcurrentmonth}{\pgfcalendarcurrentday}%
+      \pgfcalendarjuliantoweekday{\pgfcalendarcurrentjulian}{\pgfutil at tempcntb}%
+      \edef\pgfcalendarcurrentweekday{\the\pgfutil at tempcntb}%
+      \pgfcalendarjulianyeartoweek{\pgfcalendarcurrentjulian}{\pgfcalendarcurrentyear}{\pgfutil at tempcntb}%
+      \edef\pgfcalendarcurrentweek{\ifnum\pgfutil at tempcntb<10 0\fi\the\pgfutil at tempcntb}%
+      % Render:
+      #4%
+      % Advance day:
+      \advance\pgfcalendarcurrentjulian by1\relax%
+    \repeat%
+  \endgroup%
+}
+
+%
+% Overwriting original \pgfcalendar at local@ifdate
+%
+\def\pgfcalendar at local@ifdate{%
+  \let\pgfcalendarifdatejulian=\pgfcalendarcurrentjulian
+  \let\pgfcalendarifdateyear=\pgfcalendarcurrentyear
+  \let\pgfcalendarifdatemonth=\pgfcalendarcurrentmonth
+  \let\pgfcalendarifdateday=\pgfcalendarcurrentday
+  \let\pgfcalendarifdateweekday=\pgfcalendarcurrentweekday
+  \let\pgfcalendarifdateweek=\pgfcalendarcurrentweek
+  \pgfcalendar at launch@ifdate%
+}
+%
+% Overwritigin original \pgfcalendarifdate
+%
+\def\pgfcalendarifdate#1#2#3#4{%
+  \pgfcalendardatetojulian{#1}{\pgfutil at tempcnta}%
+  \pgfcalendarjuliantodate{\pgfutil at tempcnta}
+    {\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
+  \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
+  % Compute info about date
+  \pgfcalendarjuliantoweekday{\pgfutil at tempcnta}{\pgfutil at tempcntb}%
+  \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
+  \pgfcalendarjulianyeartoweek{\pgfcalendarifdatejulian}{\pgfcalendarifdateyear}{\pgfutil at tempcntb}%
+  \edef\pgfcalendarifdateweek{\ifnum\pgfutil at tempcntb<10 0\fi\the\pgfutil at tempcntb}%
+  %
+  \pgfcalendar at launch@ifdate{#2}{#3}{#4}%
+}
+
+\pgfqkeys{/pgf/calendar/week}{.value required,.code={\ifnum#1=\pgfcalendarifdateweek\relax\expandafter\pgfcalendarmatchestrue\fi}}
+
+% Overwriting shorthands of pgfcalendar
+\expandafter\def\csname pgfcalendar at shorthand@d-\endcsname{%
+  \if0\pgfcalendarcurrentday\else\pgfcalendarcurrentday\fi}
+\expandafter\def\csname pgfcalendar at shorthand@m-\endcsname{%
+  \if0\pgfcalendarcurrentmonth\else\pgfcalendarcurrentmonth\fi}
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfcalendar-ext.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,139 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\input pgfmath.tex
+
+%% Handlers
+%% .pgfmath evaluates values given to keys in PGFmath before handing them over.
+%% .pgfmath int truncates the result
+%% .pgfmath strcat concatenates the given values
+\pgfqkeys{/handlers}{
+  .pgfmath/.code=%
+    \begingroup
+      \pgfmathparse{#1}%
+    \expandafter\endgroup\expandafter
+    \pgfkeys at exp@call\expandafter{\pgfmathresult},
+  .pgfmath int/.code=%
+    \begingroup
+      \pgfmathint{#1}%
+    \expandafter\endgroup\expandafter
+    \pgfkeys at exp@call\expandafter{\pgfmathresult},
+  .pgfmath wrap/.code 2 args={%
+    \def\pgfkeys at temp##1{\def\pgfkeys at temp{#1}}%
+    \begingroup
+      \pgfmathparse{#2}%
+      \expandafter\pgfkeys at temp\expandafter{\pgfmathresult}%
+    \expandafter\endgroup\expandafter
+    \pgfkeys at exp@call\expandafter{\pgfkeys at temp}%
+  },
+  .pgfmath if/.code n args={3}{%
+    \begingroup
+      \pgfmathifthenelse{#1}{"1"}{"0"}%
+    \expandafter\endgroup\expandafter
+    \ifcase\pgfmathresult\relax
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeys at exp@call{#3}}%
+    {\pgfkeys at exp@call{#2}}%
+  },
+  .if/.code n args={4}{%
+    \if#1#2%
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeys at exp@call{#3}}%
+    {\pgfkeys at exp@call{#4}}%
+  },
+  .ifnum/.code n args={3}{%
+    \ifnum#1\relax
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeys at exp@call{#2}}%
+    {\pgfkeys at exp@call{#3}}%
+  },
+  .ifdim/.code n args={3}{%
+    \ifdim#1\relax
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeys at exp@call{#2}}%
+    {\pgfkeys at exp@call{#3}}%
+  },
+  .ifx/.code n args={4}{%
+    \ifx#1#2%
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeys at exp@call{#3}}%
+    {\pgfkeys at exp@call{#4}}%
+  },
+  .ifxempty/.code n args={3}{%
+    \edef\pgfkeys at temp{#1}%
+    \pgfutil at ifxempty\pgfkeys at temp{\pgfkeys at exp@call{#2}}{\pgfkeys at exp@call{#3}}%
+  },
+  .ifempty/.code n args={3}{%
+    \pgfutil at ifempty{#1}{\pgfkeys at exp@call{#2}}{\pgfkeys at exp@call{#3}}%
+  },
+  %% http://tex.stackexchange.com/a/144187/16595
+  %% key/.List={(point-1),(point-2),(point-...),(point-6)} will call
+  %% key=(point-1)(point-2)(point-3)(point-4)(point-5),(point-6)
+  .List/.code=%
+    \let\pgfkeys at global@temp\pgfutil at empty
+    \foreach\pgfkeys at temp in{#1}{%
+        \expandafter\pgfutil at g@addto at macro\expandafter\pgfkeys at global@temp\expandafter{\pgfkeys at temp}%
+    }%
+    \expandafter\pgfkeys at exp@call\expandafter{\pgfkeys at global@temp}%
+}
+
+\pgfqkeys{/utils}{
+  if/.code n args={3}{%
+    \begingroup
+      \pgfmathifthenelse{#1}{"1"}{"0"}%
+    \expandafter\endgroup\expandafter
+    \ifcase\pgfmathresult\relax
+      \expandafter\pgfutil at firstoftwo
+    \else
+      \expandafter\pgfutil at secondoftwo
+    \fi
+    {\pgfkeysalso{#3}}
+    {\pgfkeysalso{#2}}%
+  },
+  TeX/if/.code n args={4}{%
+    \if#1#2\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
+    {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}%
+  },
+  TeX/ifnum/.code n args={3}{%
+    \ifnum#1\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
+    {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
+  },
+  TeX/ifdim/.code n args={3}{%
+    \ifdim#1\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
+    {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
+  },
+  TeX/ifx/.code n args={4}{%
+    \ifx#1#2\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
+    {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}%
+  },
+  TeX/ifxempty/.code n args={3}{%
+    \edef\pgfkeys at temp{#1}%
+    \pgfutil at ifxempty\pgfkeys at temp{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
+  },
+  TeX/ifempty/.code n args={3}{%
+    \pgfutil at ifempty{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
+  },
+  tex/.search also=/utils/TeX,
+}
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,11 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\input pgfkeyslibraryext.pgfkeys-plus.code.tex
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,66 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\pgfset{
+    circle arrow start angle/.initial=,
+    circle arrow end angle/.initial=,
+    circle arrow delta angle/.initial=,
+    circle arrow arrows/.initial=-,
+    circle arrow/@turn left/.style={/pgf/circle arrow arrows=->,/pgf/circle arrow delta angle=340},
+    circle arrow/@turn right/.style={/pgf/circle arrow arrows=<-,/pgf/circle arrow delta angle=340},
+    circle arrow turn left north/.style  = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=100},
+    circle arrow turn left east/.style   = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=10},
+    circle arrow turn left south/.style  = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=280},
+    circle arrow turn left west/.style   = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=190},
+    circle arrow turn right north/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=100},
+    circle arrow turn right east/.style  = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=10},
+    circle arrow turn right south/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=280},
+    circle arrow turn right west/.style  = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=190},
+}
+\pgfdeclareshape{circle arrow}{
+    \inheritsavedanchors[from=circle]
+    \inheritanchorborder[from=circle]
+    \inheritanchor[from=circle]{north}
+    \inheritanchor[from=circle]{north west}
+    \inheritanchor[from=circle]{north east}
+    \inheritanchor[from=circle]{center}
+    \inheritanchor[from=circle]{west}
+    \inheritanchor[from=circle]{east}
+    \inheritanchor[from=circle]{mid}
+    \inheritanchor[from=circle]{mid west}
+    \inheritanchor[from=circle]{mid east}
+    \inheritanchor[from=circle]{base}
+    \inheritanchor[from=circle]{base west}
+    \inheritanchor[from=circle]{base east}
+    \inheritanchor[from=circle]{south}
+    \inheritanchor[from=circle]{south west}
+    \inheritanchor[from=circle]{south east}
+    \backgroundpath{
+        \pgfkeysgetvalue{/pgf/circle arrow start angle}\pgf at sh@circlearrow at s
+        \pgfkeysgetvalue{/pgf/circle arrow end angle}\pgf at sh@circlearrow at e
+        \pgfkeysgetvalue{/pgf/circle arrow delta angle}\pgf at sh@circlearrow at d
+        \ifx\pgf at sh@circlearrow at s\pgfutil at empty%
+            \pgfmathsetmacro\pgf at sh@circlearrow at s{\pgf at sh@circlearrow at e-\pgf at sh@circlearrow at d}%
+        \else
+            \ifx\pgf at sh@circlearrow at e\pgfutil at empty%
+                \pgfmathsetmacro\pgf at sh@circlearrow at e{\pgf at sh@circlearrow at s+\pgf at sh@circlearrow at d}%
+            \fi%
+        \fi
+        \pgfutil at tempdima=\radius
+        \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+        \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+        \ifdim\pgf at xb<\pgf at yb
+          \advance\pgfutil at tempdima by-\pgf at yb
+        \else
+          \advance\pgfutil at tempdima by-\pgf at xb
+        \fi
+        \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpointpolar{\pgf at sh@circlearrow at s}{\pgfutil at tempdima}}}%
+        \pgfpatharc{\pgf at sh@circlearrow at s}{\pgf at sh@circlearrow at e}{\pgfutil at tempdima}%
+        \pgfkeysgetvalue{/pgf/circle arrow arrows}\pgf at temp
+        \expandafter\pgfsetarrows\expandafter{\pgf at temp}%
+    }
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,292 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\usepgflibrary{shapes.multipart}
+\let\pgfnodeparttrbox\pgfnodeparttwobox
+\let\pgfnodepartblbox\pgfnodepartthreebox
+\let\pgfnodepartbrbox\pgfnodepartfourbox
+\newif\ifpgfcirclecrosssplitcustomfill
+\pgfset{%
+  circle cross split part fill/.code=%
+    \def\pgf at lib@sh at ccs@list at fill{#1}%
+    \pgfcirclecrosssplitcustomfilltrue,%
+  circle cross split uses custom fill/.is if=pgfcirclecrosssplitcustomfill
+}
+\def\pgf at lib@sh at ccs@list at fill{none}%
+\pgfdeclareshape{circle cross split}{%
+  \nodeparts{text,two,three,four}%
+  \savedanchor\centerpoint{%
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \pgf at x =\wd\pgfnodeparttextbox
+    \pgf at yb=\dp\pgfnodeparttextbox
+    \pgf at y=\dp\pgfnodeparttwobox
+    \ifdim\pgf at yb>\pgf at y
+      \pgf at y=\pgf at yb
+    \fi
+    \advance\pgf at x\pgf at xa
+    \advance\pgf at y-\pgf at ya
+    \advance\pgf at x.5\pgflinewidth
+    \advance\pgf at y-.5\pgflinewidth
+  }%
+  \savedanchor\twoanchor{%
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at x.5\pgflinewidth
+    \advance\pgf at x\pgf at xa
+    \advance\pgf at y.5\pgflinewidth
+    \advance\pgf at y\pgf at ya
+    \pgf at yb\dp\pgfnodeparttextbox
+    \pgf at yc\dp\pgfnodeparttwobox
+    \ifdim\pgf at yb>\pgf at yc
+      \pgf at yc\pgf at yb
+    \fi
+    \advance\pgf at y\pgf at yc
+  }%
+  \savedanchor\threeanchor{%
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \pgf at x\wd\pgfnodeparttextbox
+    \pgf at yb\dp\pgfnodeparttextbox
+    \pgf at yc\dp\pgfnodeparttwobox
+    \ifdim\pgf at yb>\pgf at yc
+      \pgf at yc\pgf at yb
+    \fi
+    \advance\pgf at y-\pgf at yc
+    \advance\pgf at y-2\pgf at ya
+    \advance\pgf at y-\pgflinewidth
+    \pgf at yb\ht\pgfnodepartthreebox
+    \pgf at yc\ht\pgfnodepartfourbox
+    \ifdim\pgf at yb>\pgf at yc
+      \pgf at yc\pgf at yb
+    \fi
+    \advance\pgf at y-\pgf at yc
+    \advance\pgf at x-\wd\pgfnodepartthreebox
+  }%
+  \saveddimen\radius{%
+    % height (upper):
+    \pgf at y=\ht\pgfnodeparttextbox
+    \ifdim\pgf at y<\ht\pgfnodeparttwobox
+      \pgf at y=\ht\pgfnodeparttwobox
+    \fi
+    \ifdim\dp\pgfnodeparttextbox>\dp\pgfnodeparttwobox
+      \advance\pgf at y by\dp\pgfnodeparttextbox
+    \else
+      \advance\pgf at y by\dp\pgfnodeparttwobox
+    \fi
+    % height (lower):
+    \pgf at yb\ht\pgfnodepartthreebox
+    \ifdim\pgf at yb<\ht\pgfnodepartfourbox
+      \pgf at yb=\ht\pgfnodepartfourbox
+    \fi
+    \pgf at yc=\dp\pgfnodepartthreebox
+    \ifdim\pgf at yc<\dp\pgfnodepartfourbox
+      \advance\pgf at yb by\dp\pgfnodepartfourbox
+    \else
+      \advance\pgf at yb by\pgf at yc
+    \fi
+    \ifdim\pgf at yc>\pgf at y
+      \pgf at y=\pgf at yc
+    \fi
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at y2\pgf at ya
+    %
+    \pgf at x\wd\pgfnodeparttextbox
+    \pgf at xa\wd\pgfnodepartthreebox
+    \pgf at xb\wd\pgfnodeparttwobox
+    \pgf at xc\wd\pgfnodepartfourbox
+    \ifdim\pgf at xa>\pgf at x
+      \pgf at x\pgf at xa
+    \fi
+    \ifdim\pgf at xb>\pgf at x
+      \pgf at x\pgf at xb
+    \fi
+    \ifdim\pgf at xc>\pgf at x
+      \pgf at x\pgf at xc
+    \fi
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at x by 2\pgf at xa
+    \ifdim\pgf at y>\pgf at x
+      \pgf at x=\pgf at y
+    \fi
+    \advance\pgf at x by\pgflinewidth
+    %
+    \pgf at xa=\pgf at x
+    \pgf at ya=\pgf at y
+    % from circle:
+    \pgf at process{\pgfpointnormalised{}}%
+    \ifdim\pgf at x>\pgf at y%
+        \c at pgf@counta=\pgf at x%
+        \ifnum\c at pgf@counta=0\relax%
+        \else%
+          \divide\c at pgf@counta by 255\relax%
+          \pgf at xa=16\pgf at xa\relax%
+          \divide\pgf at xa by\c at pgf@counta%
+          \pgf at xa=16\pgf at xa\relax%
+        \fi%
+      \else%
+        \c at pgf@counta=\pgf at y%
+        \ifnum\c at pgf@counta=0\relax%
+        \else%
+          \divide\c at pgf@counta by 255\relax%
+          \pgf at ya=16\pgf at ya\relax%
+          \divide\pgf at ya by\c at pgf@counta%
+          \pgf at xa=16\pgf at ya\relax%
+        \fi%
+    \fi%
+    \pgf at x=\pgf at xa%
+    %
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at x<.5\pgf at xb
+        \pgf at x=.5\pgf at xb
+    \fi
+    \ifdim\pgf at x<.5\pgf at yb
+        \pgf at x=.5\pgf at yb
+    \fi
+    %
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \ifdim\pgf at xb<\pgf at yb
+      \advance\pgf at x\pgf at yb
+    \else
+      \advance\pgf at x\pgf at xb
+    \fi
+  }%
+  \inheritanchorborder[from=circle]%
+  \inheritanchor[from=circle]{north}%
+  \inheritanchor[from=circle]{north west}%
+  \inheritanchor[from=circle]{north east}%
+  \inheritanchor[from=circle]{center}%
+  \inheritanchor[from=circle]{west}%
+  \inheritanchor[from=circle]{east}%
+  \inheritanchor[from=circle]{mid}%
+  \inheritanchor[from=circle]{mid west}%
+  \inheritanchor[from=circle]{mid east}%
+  \inheritanchor[from=circle]{base}%
+  \inheritanchor[from=circle]{base west}%
+  \inheritanchor[from=circle]{base east}%
+  \inheritanchor[from=circle]{south}%
+  \inheritanchor[from=circle]{south west}%
+  \inheritanchor[from=circle]{south east}%
+  \anchor{two}{\twoanchor}%
+  \anchor{three}{\threeanchor}%
+  \anchor{four}{
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \twoanchor
+    \pgf at y=\pgf at ya
+  }%
+  \anchor{lower base}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+  }
+  \anchor{lower base west}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+    \advance\pgf at x by-\radius
+  }
+  \anchor{lower base east}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+    \advance\pgf at x by\radius
+  }
+  \anchor{lower mid}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+    \pgfmathsetlength\pgf at ya{+.5ex}%
+    \advance\pgf at y by\pgf at ya
+  }
+  \anchor{lower mid west}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+    \advance\pgf at x by-\radius
+    \pgfmathsetlength\pgf at ya{+.5ex}%
+    \advance\pgf at y by\pgf at ya
+  }
+  \anchor{lower mid east}{%
+    \threeanchor
+    \pgf at ya=\pgf at y
+    \centerpoint
+    \pgf at y=\pgf at ya
+    \advance\pgf at x by\radius
+    \pgfmathsetlength\pgf at ya{+.5ex}%
+    \advance\pgf at y by\pgf at ya
+  }
+  \inheritbackgroundpath[from=circle]
+  \beforebackgroundpath{%
+    \pgfutil at tempdima=\radius
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \ifdim\pgf at xb<\pgf at yb
+      \advance\pgfutil at tempdima by-\pgf at yb
+    \else
+      \advance\pgfutil at tempdima by-\pgf at xb
+    \fi
+    \advance\pgfutil at tempdima by-.5\pgflinewidth%
+    \pgfsetshortenstart{0pt}%
+    \pgfsetshortenend{0pt}%
+    \pgfsetarrows{-}%
+    \pgfpathmoveto
+      {\pgfpointadd{\centerpoint}{\pgfqpoint{-\pgfutil at tempdima}{0pt}}}%
+    \pgfpathlineto
+      {\pgfpointadd{\centerpoint}{\pgfqpoint{\pgfutil at tempdima}{0pt}}}%
+    \pgfpathmoveto
+      {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{-\pgfutil at tempdima}}}%
+    \pgfpathlineto
+      {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{\pgfutil at tempdima}}}%
+    \pgfusepathqstroke
+  }%
+  \behindbackgroundpath{%
+    \pgfutil at tempdima=\radius
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%  
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%  
+    \ifdim\pgf at xb<\pgf at yb
+      \advance\pgfutil at tempdima by-\pgf at yb
+    \else
+      \advance\pgfutil at tempdima by-\pgf at xb
+    \fi
+    \advance\pgfutil at tempdima by-.5\pgflinewidth%
+    \ifpgfcirclecrosssplitcustomfill%
+      \pgf at lib@sh at rs@process at list{\pgf at lib@sh at ccs@list at fill}{4}%
+      {%
+        \pgfmathloop
+           \ifnum\pgfmathcounter>4%
+           \else%
+             \pgf at lib@sh at getalpha\pgf at lib@sh at rs@number{\pgfmathcounter}%
+              \edef\pgf at tempa
+                {\csname pgf at lib@sh at rs@\pgf at lib@sh at rs@number @item\endcsname}%
+              \ifx\pgf at tempa\pgf at lib@sh at rs@nonetext\else
+                \pgfsetfillcolor{\pgf at tempa}%
+                \ifcase\pgfmathcounter\or
+                  \def\pgf at lib@sh at ccs@angle{90}\or
+                  \def\pgf at lib@sh at ccs@angle{0}\or
+                  \def\pgf at lib@sh at ccs@angle{180}\else
+                  \def\pgf at lib@sh at ccs@angle{270}%
+                \fi
+                \pgfpathmoveto{\centerpoint}%
+                \pgfpathlineto{\pgfpointadd{\centerpoint}
+                  {\pgfqpointpolar{\pgf at lib@sh at ccs@angle}{\pgfutil at tempdima}}}%
+                \pgfpatharc{+\pgf at lib@sh at ccs@angle}{\pgf at lib@sh at ccs@angle+90}
+                  {+\pgfutil at tempdima}%
+                \pgfpathclose
+                \pgfusepathqfill
+              \fi
+        \repeatpgfmathloop
+      }%
+    \fi
+  }%
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,181 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\pgfset{
+    heatmark arc width/.initial=+4pt,
+    heatmark arc sep/.initial=+1pt,
+    heatmark arc rings/.initial=3,
+    heatmark arcs/.initial=3,
+    heatmark arc sep angle/.initial=20,
+    heatmark inner opacity/.initial=.8,
+    heatmark outer opacity/.initial=.2
+}
+\pgfdeclareshape{heatmark}
+%
+% Draws a circle around the text
+%
+{
+  \savedanchor\centerpoint{%
+    \pgf at x=.5\wd\pgfnodeparttextbox%
+    \pgf at y=.5\ht\pgfnodeparttextbox%
+    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
+  }
+
+  \saveddimen\innerradius{%
+    % 
+    % Caculate ``height radius''
+    % 
+    \pgf at ya=.5\ht\pgfnodeparttextbox%
+    \advance\pgf at ya by.5\dp\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at ya by\pgf at yb%
+    % 
+    % Caculate ``width radius''
+    % 
+    \pgf at xa=.5\wd\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at xa by\pgf at xb%
+    % 
+    % Calculate length of radius vector:
+    % 
+    \pgf at process{\pgfpointnormalised{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
+    \ifdim\pgf at x>\pgf at y%
+        \c at pgf@counta=\pgf at x%
+        \ifnum\c at pgf@counta=0\relax%
+        \else%
+          \divide\c at pgf@counta by 255\relax%
+          \pgf at xa=16\pgf at xa\relax%
+          \divide\pgf at xa by\c at pgf@counta%
+          \pgf at xa=16\pgf at xa\relax%
+        \fi%
+      \else%
+        \c at pgf@counta=\pgf at y%
+        \ifnum\c at pgf@counta=0\relax%
+        \else%
+          \divide\c at pgf@counta by 255\relax%
+          \pgf at ya=16\pgf at ya\relax%
+          \divide\pgf at ya by\c at pgf@counta%
+          \pgf at xa=16\pgf at ya\relax%
+        \fi%
+    \fi%
+    \pgf at x=\pgf at xa%
+    % 
+    % If necessary, adjust radius so that the size requirements are
+    % met: 
+    % 
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%  
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%  
+    \ifdim\pgf at x<.5\pgf at xb%
+        \pgf at x=.5\pgf at xb%
+    \fi%
+    \ifdim\pgf at x<.5\pgf at yb%
+        \pgf at x=.5\pgf at yb%
+    \fi%
+  }%
+
+  \saveddimen\radius{%
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%  
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%  
+    \ifdim\pgf at xb<\pgf at yb%
+      \advance\pgf at x by\pgf at yb%
+    \else%
+      \advance\pgf at x by\pgf at xb%
+    \fi%
+    \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}%
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}+\pgfkeysvalueof{/pgf/heatmark arc sep}}%
+    \multiply\pgf at xa\c at pgf@counta
+    \advance\pgf at x\pgf at xa
+  }%
+  %
+  % Anchors
+  % 
+  \inheritanchor[from=circle]{north}
+  \inheritanchor[from=circle]{north west}
+  \inheritanchor[from=circle]{north east}
+  \inheritanchor[from=circle]{center}
+  \inheritanchor[from=circle]{west}
+  \inheritanchor[from=circle]{east}
+  \inheritanchor[from=circle]{mid}
+  \inheritanchor[from=circle]{mid west}
+  \inheritanchor[from=circle]{mid east}
+  \inheritanchor[from=circle]{base}
+  \inheritanchor[from=circle]{base west}
+  \inheritanchor[from=circle]{base east}
+  \inheritanchor[from=circle]{south}
+  \inheritanchor[from=circle]{south west}
+  \inheritanchor[from=circle]{south east}
+  \inheritanchorborder[from=circle]
+  %
+  % Background path
+  %
+  \backgroundpath{
+    \pgfutil at tempdima=\innerradius%
+    \pgfpathcircle{\centerpoint}{\pgfutil at tempdima}%
+  }%
+  %
+  %
+  %
+  \behindbackgroundpath{%
+    \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}%     heat arc rings
+    \pgfmathsetcount\c at pgf@countb{\pgfkeysvalueof{/pgf/heatmark arcs}}%          heat arcs
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}}%          heat arc width
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/heatmark arc sep}}%            heat arc sep
+    %\pgfmathsetmacro\pgf at tempa{\pgfkeysvalueof{/pgf/heat arc sep angle}}%    heat arc sep angle
+    \pgfmathsetmacro\pgf at tempb{360/\c at pgf@countb-(\pgfkeysvalueof{/pgf/heatmark arc sep angle})}% heat arc
+    \pgfmathsetmacro\pgf at tempc{\pgfkeysvalueof{/pgf/shape border rotate}}%           heat rotate
+    %
+    \pgfmathsetmacro\pgf at tempd{\pgfkeysvalueof{/pgf/heatmark inner opacity}}%     heat opacity high
+    \ifnum\c at pgf@counta=1
+      \def\tikzext at heatmark@opacity at seps{0}%
+    \else
+      \pgfmathsetmacro\tikzext at heatmark@opacity at seps
+      {(\pgf at tempd-(\pgfkeysvalueof{/pgf/heatmark outer opacity}))%
+         /(\c at pgf@counta-1)}%
+    \fi
+    \pgfutil at tempcnta=0
+    \pgfutil at tempcntb=0
+    \pgf at ya\innerradius\relax
+    \pgftransformshift{\centerpoint}
+    \pgfutil at loop % ring loop
+      \advance\pgf at ya\pgf at xb % current radius + heat arc sep
+      \pgf at yb\pgf at ya         
+      \advance\pgf at yb\pgf at xa % current radius + heat arc sep + heat arc width
+      \pgfsetfillopacity{\pgf at tempd}%
+      \begingroup
+        \edef\pgf at marshal{\noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax/.try}}%
+        \pgf at marshal
+        \csname tikz at options\endcsname
+        {%
+        \pgfutil at loop
+          \pgfmathsetmacro\tikzext at heatmark@start at angle{\pgf at tempc-.5*\pgf at tempb+\pgfutil at tempcntb*(360/\c at pgf@countb)}%
+          % path
+          \begingroup
+            \edef\pgf at marshal{\noexpand\pgfset{heatmark arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}%
+                              \noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax\space arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}}%
+            \pgf at marshal
+            \csname tikz at options\endcsname
+            \pgfpathmoveto{\pgfpointpolar{\tikzext at heatmark@start at angle}{\pgf at ya}}%
+            \pgfpatharc{\tikzext at heatmark@start at angle}{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at ya}%
+            \pgfpathlineto{\pgfpointpolar{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at yb}}%
+            \pgfpatharc{\tikzext at heatmark@start at angle+\pgf at tempb}{\tikzext at heatmark@start at angle}{\pgf at yb}%
+            \pgfpathclose
+            \pgfusepathqfill
+          \endgroup
+          \advance\pgfutil at tempcntb\@ne
+          \ifnum\pgfutil at tempcntb<\c at pgf@countb
+        \pgfutil at repeat
+        }%
+      \endgroup
+      \advance\pgfutil at tempcnta\@ne
+      \ifnum\pgfutil at tempcnta<\c at pgf@counta
+        \pgf at ya\pgf at yb
+        \pgfmathsetmacro\pgf at tempd{\pgf at tempd-\tikzext at heatmark@opacity at seps}%
+    \pgfutil at repeat
+    \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
+  }
+}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,318 @@
+\pgfset{
+  rectangle with rounded corners north west radius/.initial=.5\pgflinewidth,
+  rectangle with rounded corners north east radius/.initial=.5\pgflinewidth,
+  rectangle with rounded corners south west radius/.initial=.5\pgflinewidth,
+  rectangle with rounded corners south east radius/.initial=.5\pgflinewidth,
+  rectangle with rounded corners radius/.style={
+    /pgf/rectangle with rounded corners north west radius={#1},
+    /pgf/rectangle with rounded corners north east radius={#1},
+    /pgf/rectangle with rounded corners south west radius={#1},
+    /pgf/rectangle with rounded corners south east radius={#1}}
+}%
+\pgfdeclareshape{rectangle with rounded corners}{%
+  \savedmacro\rectanglewithroundedcornersparameter{%
+    %
+    % width = max(text width + 2 * inner xseps, minimum width) + 2 * outer xseps
+    \pgf at x=\wd\pgfnodeparttextbox
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at x by 2\pgf at xc
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/minimum width}}%
+    \ifdim\pgf at x<\pgf at xc
+      \pgf at x=\pgf at xc
+    \fi
+    %
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \edef\outerxsep{\the\pgf at xc}%
+    \addtosavedmacro\outerxsep
+    \advance\pgf at x by 2\pgf at xc
+    \pgf at x=.5\pgf at x
+    \edef\halfwidth{\the\pgf at x}%
+    \addtosavedmacro\halfwidth
+    %
+    % height = max(text height + text depth + 2 * inner yseps, minimum height) + 2 * outer yseps
+    \pgf at y=\ht\pgfnodeparttextbox
+    \advance\pgf at y by \dp\pgfnodeparttextbox
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at y by 2\pgf at yc
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at y<\pgf at yc
+      \pgf at y=\pgf at yc
+    \fi
+    %
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \edef\outerysep{\the\pgf at yc}%
+    \addtosavedmacro\outerysep
+    \advance\pgf at y by 2\pgf at yc
+    \pgf at y=.5\pgf at y
+    \edef\halfheight{\the\pgf at y}%
+    \addtosavedmacro\halfheight
+    %
+    % \centerpoint
+    \pgf at x=.5\wd\pgfnodeparttextbox
+    \pgf at y=.5\ht\pgfnodeparttextbox
+    \advance\pgf at y by -.5\dp\pgfnodeparttextbox
+    \pgfextract at process\centerpoint{}%
+    \addtosavedmacro\centerpoint
+    %
+    \pgfmathsetlengthmacro\northwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north west radius}}
+    \pgfmathsetlengthmacro\northeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north east radius}}
+    \pgfmathsetlengthmacro\southwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south west radius}}
+    \pgfmathsetlengthmacro\southeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south east radius}}
+    \addtosavedmacro\northwestradius
+    \addtosavedmacro\northeastradius
+    \addtosavedmacro\southwestradius
+    \addtosavedmacro\southeastradius
+  }%
+  \anchor{center}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+  }
+  \anchor{west}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \advance\pgf at x by -\halfwidth
+  }
+  \anchor{east}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \advance\pgf at x by \halfwidth
+  }
+  \anchor{north}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \advance\pgf at y by \halfheight
+  }
+  \anchor{south}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \advance\pgf at y by -\halfheight
+  }
+  \anchor{mid}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \pgfmathsetlength\pgf at y{+.5ex}%
+  }
+  \anchor{mid west}{%
+    \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+    \pgfmathsetlength\pgf at y{+.5ex}%
+  }
+  \anchor{mid east}{%
+    \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+    \pgfmathsetlength\pgf at y{+.5ex}%
+  }
+  \anchor{base}{%
+    \rectanglewithroundedcornersparameter
+    \centerpoint
+    \pgf at y=0pt
+  }
+  \anchor{base west}{%
+    \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+    \pgf at y=0pt
+  }
+  \anchor{base east}{%
+    \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+    \pgf at y=0pt
+  }
+  \anchor{north west}{%
+    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+    \ifdim\northwestradius=0pt
+    \else
+      \pgf at process{\pgfpointadd{}{\pgfpointpolar{135}{\northwestradius+\outerxsep and \northwestradius+\outerysep}}}%
+    \fi
+  }
+  \anchor{north west center}{%
+    \rectanglewithroundedcornersparameter
+    \pgf at x=-\halfwidth
+    \pgf at y=\halfheight
+    \ifdim\northwestradius=0pt
+    \else
+      \advance\pgf at x by \outerxsep
+      \advance\pgf at x by \northwestradius
+      \advance\pgf at y by -\outerysep
+      \advance\pgf at y by -\northwestradius
+    \fi
+    \pgf at process{\pgfpointadd{}{\centerpoint}}%
+  }
+  \anchor{north east}{%
+    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+    \ifdim\northeastradius=0pt
+    \else
+      \pgf at process{\pgfpointadd{}{\pgfpointpolar{45}{\northeastradius+\outerxsep and \northeastradius+\outerysep}}}%
+    \fi
+  }
+  \anchor{north east center}{%
+    \rectanglewithroundedcornersparameter
+    \pgf at x=\halfwidth
+    \pgf at y=\halfheight
+    \ifdim\northeastradius=0pt
+    \else
+      \advance\pgf at x by -\outerxsep
+      \advance\pgf at x by -\northeastradius
+      \advance\pgf at y by -\outerysep
+      \advance\pgf at y by -\northeastradius
+    \fi
+    \pgf at process{\pgfpointadd{}{\centerpoint}}%
+  }
+  \anchor{south west}{%
+    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+    \ifdim\southwestradius=0pt
+    \else
+      \pgf at process{\pgfpointadd{}{\pgfpointpolar{225}{\southwestradius+\outerxsep and \southwestradius+\outerysep}}}%
+    \fi
+  }
+  \anchor{south west center}{%
+    \rectanglewithroundedcornersparameter
+    \pgf at x=-\halfwidth
+    \pgf at y=-\halfheight
+    \ifdim\southwestradius=0pt
+    \else
+      \advance\pgf at x by \outerxsep
+      \advance\pgf at x by \southwestradius
+      \advance\pgf at y by \outerysep
+      \advance\pgf at y by \southwestradius
+    \fi
+    \pgf at process{\pgfpointadd{}{\centerpoint}}%
+  }
+  \anchor{south east}{%
+    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+    \ifdim\southeastradius=0pt
+    \else
+      \pgf at process{\pgfpointadd{}{\pgfpointpolar{315}{\southeastradius+\outerxsep and \southeastradius+\outerysep}}}%
+    \fi
+  }
+  \anchor{south east center}{%
+    \rectanglewithroundedcornersparameter
+    \pgf at x=\halfwidth
+    \pgf at y=-\halfheight
+    \ifdim\southeastradius=0pt
+    \else
+      \advance\pgf at x by -\outerxsep
+      \advance\pgf at x by -\southeastradius
+      \advance\pgf at y by \outerysep
+      \advance\pgf at y by \southeastradius
+    \fi
+    \pgf at process{\pgfpointadd{}{\centerpoint}}%
+  }
+  \anchor{below north west}{%
+    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+    \advance\pgf at x by -\northwestradius
+    \advance\pgf at x by -\outerxsep
+  }
+  \anchor{above south west}{%
+    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+    \advance\pgf at x by -\southwestradius
+    \advance\pgf at x by -\outerxsep
+  }
+  \anchor{below north east}{%
+    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+    \advance\pgf at x by \northeastradius
+    \advance\pgf at x by \outerxsep
+  }
+  \anchor{above south east}{%
+    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+    \advance\pgf at x by \southeastradius
+    \advance\pgf at x by \outerxsep
+  }
+  \anchor{right north west}{%
+    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
+    \advance\pgf at y by \northwestradius
+    \advance\pgf at y by \outerysep
+  }
+  \anchor{right south west}{%
+    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
+    \advance\pgf at y by -\southwestradius
+    \advance\pgf at y by -\outerysep
+  }
+  \anchor{left north east}{%
+    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
+    \advance\pgf at y by \northeastradius
+    \advance\pgf at y by \outerysep
+  }
+  \anchor{left south east}{%
+    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
+    \advance\pgf at y by -\southeastradius
+    \advance\pgf at y by -\outerysep
+  }
+  \backgroundpath{%
+    \rectanglewithroundedcornersparameter
+    %
+    \pgf at xa=\halfwidth
+    \advance\pgf at xa by -\outerxsep
+    \edef\HalfWidth{\the\pgf at xa}%
+    %
+    \pgf at ya=\halfheight
+    \advance\pgf at ya by -\outerysep
+    \edef\HalfHeight{\the\pgf at ya}%
+    %
+    \pgftransformshift{\centerpoint}%
+    %
+    \pgfpathmoveto{\pgfqpoint{\HalfWidth}{0pt}}%
+    \pgfpathlineto{\pgfpoint {+\HalfWidth}{\HalfHeight-\northeastradius}}%
+    \pgfpatharc{0}{90}{\northeastradius}%
+    \pgfpathlineto{\pgfpoint{-\HalfWidth+\northwestradius}{+\HalfHeight}}
+    \pgfpatharc{90}{180}{\northwestradius}%
+    \pgfpathlineto{\pgfpoint{+-\HalfWidth}{-\HalfHeight+\southwestradius}}%
+    \pgfpatharc{180}{270}{\southwestradius}%
+    \pgfpathlineto{\pgfpoint{\HalfWidth-\southeastradius}{+-\HalfHeight}}%
+    \pgfpatharc{270}{360}{\southeastradius}%
+    \pgfpathclose
+    \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
+  }%
+  \anchorborder{%
+    \pgfextract at process\externalpoint{}%
+    \ifdim\pgf at x=0pt
+      \ifdim\pgf at y<0pt
+        \csname pgf at anchor@rectangle with rounded corners at south\endcsname
+      \else
+        \csname pgf at anchor@rectangle with rounded corners at north\endcsname
+      \fi
+    \else
+      \ifdim\pgf at y=0pt
+        \ifdim\pgf at x<0pt
+          \csname pgf at anchor@rectangle with rounded corners at west\endcsname
+        \else
+          \csname pgf at anchor@rectangle with rounded corners at east\endcsname
+        \fi
+      \else
+        \rectanglewithroundedcornersparameter
+        \pgfmathanglebetweenpoints{\pgfpointorigin}{\externalpoint}%
+        \let\angle\pgfmathresult
+        \pgf at xa=\pgf at x
+        \pgf at ya=\pgf at y
+        \pgfextract at process\externalPoint{\pgfpointadd{}{\centerpoint}}%
+        \ifdim\pgf at xa<0pt
+          \ifdim\pgf at ya<0pt
+            % south west
+            \pgf at sh@rwrc at anchorborder{above south west}{right south west}{south west}{180}{270}{\southwestradius}%
+          \else
+            % north west
+            \pgf at sh@rwrc at anchorborder{right north west}{below north west}{north west}{90}{180}{\northwestradius}%
+          \fi
+        \else
+          \ifdim\pgf at ya<0pt
+            % south east
+            \pgf at sh@rwrc at anchorborder{left south east}{above south east}{south east}{270}{360}{\southeastradius}%
+          \else
+            % north east
+            \pgf at sh@rwrc at anchorborder{below north east}{left north east}{north east}{0}{90}{\northeastradius}%
+          \fi
+        \fi
+      \fi
+    \fi
+  }
+}
+\def\pgf at sh@rwrc at anchorborder#1#2#3#4#5#6{%
+  \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#1\endcsname}%
+  \let\angleA\pgfmathresult
+  \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#2\endcsname}%
+  \let\angleB\pgfmathresult
+  \if\ifdim\angle pt>\angleA pt 0\else1\fi\ifdim\angle pt<\angleB pt 0\else 2\fi
+    \pgfmathpointintersectionoflineandarc{\externalPoint}{\centerpoint}
+      {\csname pgf at anchor@rectangle with rounded corners@#3 center\endcsname}
+      {#4}{#5}{#6+\outerxsep and #6+\outerysep}%
+  \else
+    \pgf at process{\pgfpointadd{\pgfpointborderrectangle{\externalpoint}{\pgfqpoint{\halfwidth}{\halfheight}}}{\centerpoint}}%
+  \fi
+}
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,198 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\usepgflibrary{shapes.geometric,intersections}
+\pgfset{
+  superellipse x exponent/.initial=2.5,
+  superellipse y exponent/.initial=2.5,
+  superellipse step/.initial=4,
+  superellipse exponent/.style={/pgf/superellipse x exponent={#1},/pgf/superellipse y exponent={#1}}}
+
+% Evaluates the x-value of a superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/m (x-exp)
+% #3 = a (x-rad)
+\pgfmathdeclarefunction{superellipsex}{3}{%
+  \pgfmathcos@{#1}%
+  \pgfmathpow@{\pgfmathresult}{#2}%
+  \pgfmathmultiply@{\pgfmathresult}{#3}}
+
+% Evaluates the y-value of a superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/n (y-exp)
+% #3 = a (y-rad)
+\pgfmathdeclarefunction{superellipsey}{3}{%
+  \pgfmathsin@{#1}%
+  \pgfmathpow@{\pgfmathresult}{#2}%
+  \pgfmathmultiply@{\pgfmathresult}{#3}}
+
+% Evaluates the x- and y- value of superellipse around the center
+% #1 = t (0≤t≤90)
+% #2 = 2/m (x-exp)
+% #3 = 2/n (y-exp)
+% #4 = a (x-rad)
+% #5 = b (y-rad)
+\def\pgfmathsuperellipseXY#1#2#3#4#5{%
+  \begingroup
+    \pgfmathsuperellipsex@{#1}{#2}{#4}%
+    \let\pgfmath at temp\pgfmathresult
+    \pgfmathsuperellipsey@{#1}{#3}{#5}%
+    \edef\pgfmath at temp{\def\noexpand\pgfmathresultX{\pgfmath at temp}%
+                       \def\noexpand\pgfmathresultY{\pgfmathresult}}%
+    \expandafter
+  \endgroup\pgfmath at temp}
+
+\pgfdeclareshape{superellipse}{%
+  \inheritsavedanchors[from=ellipse]
+  \inheritanchor[from=ellipse]{text}\inheritanchor[from=ellipse]{center}
+  \inheritanchor[from=ellipse]{mid}\inheritanchor[from=ellipse]{base}
+  \inheritanchor[from=ellipse]{north}\inheritanchor[from=ellipse]{south}
+  \inheritanchor[from=ellipse]{west}\inheritanchor[from=ellipse]{east}
+  \inheritanchor[from=ellipse]{mid west}\inheritanchor[from=ellipse]{base west}
+  \inheritanchor[from=ellipse]{mid east}\inheritanchor[from=ellipse]{base east}
+  \anchor{north east}{%
+    \pgf at process{\radius}%
+    \pgfmathpow@{.70710678118}{\xexponent}%
+    \pgf at x=\pgfmathresult\pgf at x
+    \pgfmathpow@{.70710678118}{\yexponent}%
+    \pgf at y=\pgfmathresult\pgf at y
+    \pgfpointadd{}{\centerpoint}%
+  }
+  \anchor{north west}{%
+    \pgf at process{\radius}%
+    \pgfmathpow@{.70710678118}{\xexponent}%
+    \pgf at x=-\pgfmathresult\pgf at x
+    \pgfmathpow@{.70710678118}{\yexponent}%
+    \pgf at y=\pgfmathresult\pgf at y
+    \pgfpointadd{}{\centerpoint}%
+  }
+  \anchor{south west}{%
+    \pgf at process{\radius}%
+    \pgfmathpow@{.70710678118}{\xexponent}%
+    \pgf at x=-\pgfmathresult\pgf at x
+    \pgfmathpow@{.70710678118}{\yexponent}%
+    \pgf at y=-\pgfmathresult\pgf at y
+    \pgfpointadd{}{\centerpoint}%
+  }
+  \anchor{south east}{%
+    \pgf at process{\radius}%
+    \pgfmathpow@{.70710678118}{\xexponent}%
+    \pgf at x=\pgfmathresult\pgf at x
+    \pgfmathpow@{.70710678118}{\yexponent}%
+    \pgf at y=-\pgfmathresult\pgf at y
+    \pgfpointadd{}{\centerpoint}%
+  }
+  \savedmacro\xexponent{%
+    \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse x exponent}}%
+    \pgfmathmultiply@{\pgfmathresult}{2}%
+    \let\xexponent\pgfmathresult
+  }
+  \savedmacro\yexponent{%
+    \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse y exponent}}%
+    \pgfmathmultiply@{\pgfmathresult}{2}%
+    \let\yexponent\pgfmathresult
+  }
+  \savedmacro\step{%
+    \pgfmathtruncatemacro\step{\pgfkeysvalueof{/pgf/superellipse step}}%
+  }
+  \backgroundpath{%
+    \pgf at process{\radius}%
+    \pgfmathsetmacro\xradius{\pgf at x-(\pgfkeysvalueof{/pgf/outer xsep})}%
+    \pgfmathsetmacro\yradius{\pgf at y-(\pgfkeysvalueof{/pgf/outer ysep})}%
+    \let\pgf at tempa\pgfutil at empty\let\pgf at tempb\pgfutil at empty
+    \let\pgf at tempc\pgfutil at empty\let\pgf at tempd\pgfutil at empty
+    \c at pgf@counta=\step
+    \pgfutil at loop
+    \ifnum\c at pgf@counta<90
+      \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
+      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+      \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
+      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+      \pgfutil at prefix@macrotomacro\pgf at tempb\pgf at temp
+      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
+      \pgfutil at append@macrotomacro\pgf at tempc\pgf at temp
+      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
+      \pgfutil at prefix@macrotomacro\pgf at tempd\pgf at temp
+      \advance\c at pgf@counta by\step
+    \pgfutil at repeat
+    \pgftransformshift{\centerpoint}%
+    \pgfplothandlerclosedcurve
+    \pgfplotstreamstart
+    \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
+    \pgf at tempa
+    \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
+    \pgf at tempb
+    \pgfplotstreampoint{\pgfqpoint{-\xradius pt}{0pt}}% west
+    \pgf at tempc
+    \pgfplotstreampoint{\pgfqpoint{0pt}{-\yradius pt}}% south
+    \pgf at tempd
+    \pgfplotstreamend
+    \pgftransformshift{\centerpoint\pgf at x=-\pgf at x\pgf at y=-\pgf at y}
+  }
+  \anchorborder{%
+    \pgfextract at process\externalpoint{}%
+    \ifdim\pgf at x=0pt % catch special case x = 0
+      \ifdim\pgf at y<0pt \pgf at anchor@superellipse at south\else\pgf at anchor@superellipse at north\fi
+    \else
+      \ifdim\pgf at y=0pt % catch special case y = 0
+        \ifdim\pgf at x<0pt \pgf at anchor@superellipse at west\else\pgf at anchor@superellipse at east\fi
+      \else % both are not zero
+        % save original direction
+        \pgf at xa=\pgf at x
+        \pgf at ya=\pgf at y
+        % make both positive, we're not looking at one quadrant
+        \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
+        \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
+        % save that point again
+        \pgfextract at process\externalpoint{}%
+        % we need to do the calculations without any transformations
+        % since we're using plots and \pgfpointborderrectangle
+        \pgftransformreset
+        \pgfintersectionofpaths{%
+          % from center to point on rectangle that encompasses superellipse
+          \pgf at relevantforpicturesizefalse
+          \pgfpathmoveto{\pgfpointorigin}%
+          \pgfpathlineto{\pgfpointborderrectangle{\externalpoint}{\radius}}%
+        }{%
+          \pgf at relevantforpicturesizefalse
+          \pgf at process{\radius}
+          \edef\xradius{\pgf at sys@tonumber\pgf at x}%
+          \edef\yradius{\pgf at sys@tonumber\pgf at y}%
+          \let\pgf at tempa\pgfutil at empty
+          \c at pgf@counta=\step
+          \pgfutil at loop
+          \ifnum\c at pgf@counta<90
+            \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
+            \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
+            \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
+            \advance\c at pgf@counta by\step
+          \pgfutil at repeat
+          % we're only using curveto since closedcurve
+          % messes with our other path
+          \pgfplothandlercurveto
+          \pgfplotstreamstart
+          \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
+          \pgf at tempa
+          \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
+          \pgfplotstreamend
+        }%
+        \ifnum\pgfintersectionsolutions>0 % only if a solution was found
+          \pgf at process{\pgfpointintersectionsolution{1}}%
+        \else % otherwise take the border on the rectangle (close enough?)
+          \pgf at process{\pgfpointborderrectangle{\externalpoint}{\radius}}%
+        \fi
+        \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
+        \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
+        \pgf at process{\pgfpointadd{}{\centerpoint}}%
+      \fi
+    \fi
+  }
+}
+\def\pgfutil at prefix@macrotomacro#1#2{%
+    \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter%
+        #1\expandafter\expandafter\expandafter{\expandafter#2#1}}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,307 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\pgfutil at IfUndefined{pgfnodepartthreebox}{%
+  \csname newbox\endcsname\pgfnodepartleftbox
+  \csname newbox\endcsname\pgfnodepartrightbox
+}{%
+  \let\pgfnodepartleftbox\pgfnodeparttwobox
+  \let\pgfnodepartrightbox\pgfnodepartthreebox
+}
+\pgfset{
+  uncentered rectangle center yshift/.initial=,
+  uncentered rectangle center/@center/.initial=2,
+  uncentered rectangle center/.is choice,
+  uncentered rectangle center/real/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{0},
+  uncentered rectangle center/left/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{1},
+  uncentered rectangle center/text/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{2},
+  uncentered rectangle center/right/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{3}}
+
+\pgfdeclareshape{uncentered rectangle}{%
+  \nodeparts{text,left,right}%
+  \savedanchor\middleCenter{%
+    \pgf at x=.5\wd\pgfnodeparttextbox
+    %
+    \pgf at y=\dp\pgfnodeparttextbox
+    \ifdim\dp\pgfnodepartleftbox>\pgf at y
+      \pgf at y=\dp\pgfnodepartleftbox
+    \fi
+    \ifdim\dp\pgfnodepartrightbox>\pgf at y
+      \pgf at y=\dp\pgfnodepartrightbox
+    \fi
+    %
+    \pgf at ya=\ht\pgfnodeparttextbox
+    \ifdim\ht\pgfnodepartleftbox>\pgf at ya
+      \pgf at ya=\ht\pgfnodepartleftbox
+    \fi
+    \ifdim\ht\pgfnodepartrightbox>\pgf at ya
+      \pgf at ya=\ht\pgfnodepartrightbox
+    \fi
+    \advance\pgf at ya by -\pgf at y
+    \pgf at y=.5\pgf at ya
+  }%
+  \savedanchor\leftCenter{%
+    % y should be still the same as before
+    \pgf at x=-.5\wd\pgfnodepartleftbox
+  }%
+  \savedanchor\rightCenter{%
+    % y should be still the same as before
+    \pgf at x=.5\wd\pgfnodepartrightbox
+    \advance\pgf at x by \wd\pgfnodeparttextbox
+  }%
+  \savedanchor\realCenter{%
+    % y should be still the same as before
+    \pgf at x=-.5\wd\pgfnodepartleftbox
+    \advance\pgf at x by .5\wd\pgfnodeparttextbox
+    \advance\pgf at x by .5\wd\pgfnodepartrightbox
+  }%
+  \savedanchor\southwest{%
+    % total width
+    \pgf at xa=\wd\pgfnodepartleftbox
+    \advance\pgf at xa by\wd\pgfnodepartrightbox
+    \advance\pgf at xa by\wd\pgfnodeparttextbox
+    %
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at xa by 2\pgf at xc
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
+    \ifdim\pgf at xb>\pgf at xa
+      \pgf at xa=\pgf at xb
+    \fi
+    % left side of shape
+    \advance\pgf at x by -.5\pgf at xa
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \advance\pgf at x by -\pgf at xa
+    %
+    % total height
+    \pgf at ya=\dp\pgfnodepartleftbox
+    \ifdim\pgf at ya<\dp\pgfnodeparttextbox
+      \pgf at ya=\dp\pgfnodeparttextbox
+    \fi
+    \ifdim\pgf at ya<\dp\pgfnodepartrightbox
+      \pgf at ya=\dp\pgfnodepartrightbox
+    \fi
+    \pgf at yb=\ht\pgfnodepartleftbox
+    \ifdim\pgf at yb<\ht\pgfnodeparttextbox
+      \pgf at yb=\ht\pgfnodeparttextbox
+    \fi
+    \ifdim\pgf at yb<\ht\pgfnodepartrightbox
+      \pgf at yb=\ht\pgfnodepartrightbox
+    \fi
+    \advance\pgf at ya by \pgf at yb
+    %
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at ya by 2\pgf at yc
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at yb>\pgf at ya
+      \pgf at ya=\pgf at yb
+    \fi
+    % lower side of the shape
+    \advance\pgf at y by -.5\pgf at ya
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \advance\pgf at y by -\pgf at ya
+  }%
+  \savedanchor\northeast{%
+    % first, let's calculate the real center again:
+    %
+    \pgf at x=-.5\wd\pgfnodepartleftbox
+    \advance\pgf at x by .5\wd\pgfnodeparttextbox
+    \advance\pgf at x by .5\wd\pgfnodepartrightbox
+    %
+    \pgf at y=\dp\pgfnodeparttextbox
+    \ifdim\dp\pgfnodepartleftbox>\pgf at y
+      \pgf at y=\dp\pgfnodepartleftbox
+    \fi
+    \ifdim\dp\pgfnodepartrightbox>\pgf at y
+      \pgf at y=\dp\pgfnodepartrightbox
+    \fi
+    %
+    \pgf at ya=\ht\pgfnodeparttextbox
+    \ifdim\ht\pgfnodepartleftbox>\pgf at ya
+      \pgf at ya=\ht\pgfnodepartleftbox
+    \fi
+    \ifdim\ht\pgfnodepartrightbox>\pgf at ya
+      \pgf at ya=\ht\pgfnodepartrightbox
+    \fi
+    \advance\pgf at ya by -\pgf at y
+    \pgf at y=.5\pgf at ya
+    %
+    % now we can calculate the anchor
+    % total width
+    %
+    \pgf at xa=\wd\pgfnodepartleftbox
+    \advance\pgf at xa by\wd\pgfnodepartrightbox
+    \advance\pgf at xa by\wd\pgfnodeparttextbox
+    %
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at xa by 2\pgf at xc
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
+    \ifdim\pgf at xb>\pgf at xa
+      \pgf at xa=\pgf at xb
+    \fi
+    % right side of shape
+    \advance\pgf at x by .5\pgf at xa
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \advance\pgf at x by \pgf at xa
+    %
+    % total height
+    \pgf at ya=\dp\pgfnodepartleftbox
+    \ifdim\pgf at ya<\dp\pgfnodeparttextbox
+      \pgf at ya=\dp\pgfnodeparttextbox
+    \fi
+    \ifdim\pgf at ya<\dp\pgfnodepartrightbox
+      \pgf at ya=\dp\pgfnodepartrightbox
+    \fi
+    \pgf at yb=\ht\pgfnodepartleftbox
+    \ifdim\pgf at yb<\ht\pgfnodeparttextbox
+      \pgf at yb=\ht\pgfnodeparttextbox
+    \fi
+    \ifdim\pgf at yb<\ht\pgfnodepartrightbox
+      \pgf at yb=\ht\pgfnodepartrightbox
+    \fi
+    \advance\pgf at ya by \pgf at yb
+    %
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at ya by 2\pgf at yc
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at yb>\pgf at ya
+      \pgf at ya=\pgf at yb
+    \fi
+    % upper side of the shape
+    \advance\pgf at y by .5\pgf at ya
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \advance\pgf at y by \pgf at ya
+  }%
+  %
+  \anchor{center}{%
+    \ifcase\pgfkeysvalueof{/pgf/uncentered rectangle center/@center}\relax
+      \realCenter\or
+      \leftCenter\or
+      \middleCenter\or
+      \rightCenter\else
+      \realCenter
+    \fi
+    \pgfkeysgetvalue{/pgf/uncentered rectangle center yshift}\pgf at temp
+    \pgfutil at ifxempty\pgf at temp{% real center used
+    }{% calculate center
+      \pgfmathsetlength\pgf at y{\pgf at temp}%
+    }%
+  }%
+  \anchor{left}        {\leftCenter  \multiply\pgf at x by2 \pgf at y=0pt }
+  \anchor{right}       {\middleCenter\multiply\pgf at x by2 \pgf at y=0pt }
+  \anchor{real center} {\realCenter}
+  \anchor{left center} {\leftCenter}
+  \anchor{right center}{\rightCenter}
+  \anchor{text center} {\middleCenter}
+  \anchor{south west}  {\southwest}
+  \anchor{north east}  {\northeast}
+  \anchor{mid}{%
+    \csname pgf at anchor@uncentered rectangle at center\endcsname
+    \pgfmathsetlength\pgf at y{.5ex}}%
+  \anchor{base}{%
+    \csname pgf at anchor@uncentered rectangle at center\endcsname
+    \pgf at y=0pt }%
+  \anchor{left mid}   {\leftCenter  \pgfmathsetlength\pgf at y{+.5ex}}
+  \anchor{text mid}   {\middleCenter\pgfmathsetlength\pgf at y{+.5ex}}
+  \anchor{right mid}  {\rightCenter \pgfmathsetlength\pgf at y{+.5ex}}
+  \anchor{real mid}   {\realCenter  \pgfmathsetlength\pgf at y{+.5ex}}
+  \anchor{left base}  {\leftCenter  \pgf at y=0pt }
+  \anchor{text base}  {\middleCenter\pgf at y=0pt }
+  \anchor{right base} {\rightCenter \pgf at y=0pt }
+  \anchor{real base}  {\realCenter  \pgf at y=0pt }
+  \anchor{real south} {\pgf at anchor@rectangle at south}
+  \anchor{real north} {\pgf at anchor@rectangle at north}
+  \anchor{text north} {\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\middleCenter\pgf at y=\pgf at ya}
+  \anchor{left north} {\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\leftCenter  \pgf at y=\pgf at ya}
+  \anchor{right north}{\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\rightCenter \pgf at y=\pgf at ya}
+  \anchor{text south} {\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\middleCenter\pgf at y=\pgf at ya}
+  \anchor{left south} {\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\leftCenter  \pgf at y=\pgf at ya}
+  \anchor{right south}{\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\rightCenter \pgf at y=\pgf at ya}
+  \anchor{north}{%
+    \pgf at anchor@rectangle at north
+    \pgf at ya=\pgf at y
+    \csname pgf at anchor@uncentered rectangle at center\endcsname
+    \pgf at y=\pgf at ya
+  }
+  \anchor{south}{%
+    \pgf at anchor@rectangle at south
+    \pgf at ya=\pgf at y
+    \csname pgf at anchor@uncentered rectangle at center\endcsname
+    \pgf at y=\pgf at ya
+  }
+  %\anchor{base right}{\middleCenter\pgf at xa=2\pgf at x}% TODO
+  \anchor{real west}{%
+    \pgf at process{\northeast}%
+    \pgf at ya=.5\pgf at y
+    \pgf at process{\southwest}%
+    \pgf at y=.5\pgf at y
+    \advance\pgf at y by \pgf at ya
+  }%
+  \anchor{real east}{%
+    \pgf at process{\southwest}%
+    \pgf at ya=.5\pgf at y
+    \pgf at process{\northeast}%
+    \pgf at y=.5\pgf at y
+    \advance\pgf at y by \pgf at ya
+  }%
+  \anchor{west}{%
+    \pgf at process{\southwest}%
+    \pgf at xa=\pgf at x
+    \pgf at process{\csname pgf at anchor@uncentered rectangle at center\endcsname}%
+    \pgf at x=\pgf at xa
+  }%
+  \anchor{east}{%
+    \pgf at process{\northeast}%
+    \pgf at xa=\pgf at x
+    \pgf at process{\csname pgf at anchor@uncentered rectangle at center\endcsname}%
+    \pgf at x=\pgf at xa
+  }%
+  \inheritanchor[from=rectangle]{south west}
+  \inheritanchor[from=rectangle]{north west}
+  \inheritanchor[from=rectangle]{south east}
+  \inheritanchor[from=rectangle]{north east}
+  \inheritanchor[from=rectangle]{mid west}
+  \inheritanchor[from=rectangle]{mid east}
+  \inheritanchor[from=rectangle]{base west}
+  \inheritanchor[from=rectangle]{base east}
+  \inheritbackgroundpath[from=rectangle]
+  \anchorborder{%
+    % xa/ya is target
+    \pgf at xa=\pgf at x
+    \pgf at ya=\pgf at y
+    % xc/yc is "center"
+    \pgf at sh@reanchor{uncentered rectangle}{center}%
+    \pgf at xc=\pgf at x
+    \pgf at yc=\pgf at y
+    \ifdim\pgf at xa<0pt
+      % left side
+      \southwest
+      \advance\pgf at x by -\pgf at xc
+      \advance\pgf at y by -\pgf at yc
+      \pgf at x=-\pgf at x
+      \pgf at y=-\pgf at y
+      \edef\pgf at marshal{%
+        \noexpand\pgfpointborderrectangle
+          {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}
+          {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+      }%
+    \else
+      % right side
+      \northeast
+      \advance\pgf at x by -\pgf at xc
+      \advance\pgf at y by -\pgf at yc
+      \edef\pgf at marshal{%
+        \noexpand\pgfpointborderrectangle
+          {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}
+          {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+      }%
+    \fi
+    \pgf at process{\pgf at marshal}%
+    \advance\pgf at x by\pgf at xc
+    \advance\pgf at y by\pgf at yc
+  }%
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,96 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\def\pgftransformxmirror#1{
+  \pgfmathparse{#1}%
+  \ifpgfmathunitsdeclared
+    \pgf at xa\pgfmathresult pt\relax
+    \multiply\pgf at xa2 
+    \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf at xa}{0pt}}%
+  \else
+    \pgftransformmirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}%
+  \fi
+}
+\def\pgftransformymirror#1{
+  \pgfmathparse{#1}%
+  \ifpgfmathunitsdeclared
+    \pgf at ya\pgfmathresult pt\relax
+    \multiply\pgf at ya2
+    \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf at ya}}%
+  \else
+    \edef\pgf at marshal{\noexpand\pgftransformmirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}%
+                                                  {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}%
+    \pgf at marshal
+  \fi}
+\def\pgftransformmirror#1#2{%
+  \pgfextract at process\pgf at tempa{#1}%
+  \pgfpointnormalised{\pgfpointdiff{\pgf at tempa}{#2}}%
+  \pgf at xa=\pgf at sys@tonumber\pgf at y\pgf at x
+  \pgf at xb=\pgf at sys@tonumber\pgf at x\pgf at x
+  \pgf at yb=\pgf at sys@tonumber\pgf at y\pgf at y
+  \multiply\pgf at xa2
+  \pgf at xc=-\pgf at yb\advance\pgf at xc\pgf at xb
+  \pgf at yc=-\pgf at xb\advance\pgf at yc\pgf at yb
+  \edef\pgf at temp{{\the\pgf at xc}{+\the\pgf at xa}{+\the\pgf at xa}{+\the\pgf at yc}}%
+  \expandafter\pgf at transformcm\pgf at temp{\pgf at tempa}%
+  \pgftransformshift{\pgfpointscale{-1}{\pgf at tempa}}%
+}
+
+\def\pgfqtransformmirror#1{%
+  \pgfpointnormalised{#1}%
+  \pgf at xa=\pgf at sys@tonumber\pgf at y\pgf at x
+  \pgf at xb=\pgf at sys@tonumber\pgf at x\pgf at x
+  \pgf at yb=\pgf at sys@tonumber\pgf at y\pgf at y
+  \multiply\pgf at xa2
+  \pgf at xc=-\pgf at yb\advance\pgf at xc\pgf at xb
+  \pgf at yc=-\pgf at xb\advance\pgf at yc\pgf at yb
+  \edef\pgf at temp{{\the\pgf at xc}{+\the\pgf at xa}{+\the\pgf at xa}{+\the\pgf at yc}}%
+  \expandafter\pgf at transformcm\pgf at temp{\pgfpointorigin}%
+}
+
+% Using existant transformation (shift, rotate, yscale=-1, rotate back, shift back)
+\def\pgftransformxMirror#1{
+  \pgfmathparse{#1}%
+  \ifpgfmathunitsdeclared
+    \pgf at xa\pgfmathresult pt\relax
+    \multiply\pgf at xa2 
+    \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf at xa}{0pt}}%
+  \else
+    \pgftransformMirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}%
+  \fi
+}
+\def\pgftransformyMirror#1{
+  \pgfmathparse{#1}%
+  \ifpgfmathunitsdeclared
+    \pgf at ya\pgfmathresult pt\relax
+    \multiply\pgf at ya2
+    \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf at ya}}%
+  \else
+    \edef\pgf at marshal{\noexpand\pgftransformMirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}%
+                                                  {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}%
+    \pgf at marshal
+  \fi}
+
+\def\pgftransformMirror#1#2{%
+  \pgfextract at process\pgf at tempa{#1}%
+  \pgfmathanglebetweenpoints{\pgf at tempa}{#2}%
+  \let\pgf at temp\pgfmathresult
+  \pgftransformshift{\pgf at tempa}%
+  \pgftransformrotate{\pgf at temp}%
+  \pgftransformyscale{-1}%
+  \pgftransformrotate{-\pgf at temp}%
+  \pgftransformshift{\pgfqpointscale{-1}{\pgf at tempa}}%
+}
+
+\def\pgfqtransformMirror#1{%
+  \pgfmathanglebetweenpoints{\pgfpointorigin}{#1}%
+  \let\pgf at temp\pgfmathresult
+  \pgftransformrotate{\pgf at temp}%
+  \pgftransformyscale{-1}%
+  \pgftransformrotate{-\pgf at temp}%
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/pgflibraryext.transformations.mirror.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,93 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\usetikzlibrary{calendar}
+\pgfutil at usemodule{pgfcalendar-ext}
+
+% Shift between days
+
+\def\tikz at lib@cal at xshift{\pgfkeysvalueof{/tikz/day xshift}}
+\def\tikz at lib@cal at yshift{\pgfkeysvalueof{/tikz/day yshift}}
+\tikzset{day xshift/.initial=3ex,day yshift/.initial=3.5ex}
+
+% Shift between months
+
+\def\tikz at lib@cal at month@xshift{\pgfkeysvalueof{/tikz/month xshift}}
+\def\tikz at lib@cal at month@yshift{\pgfkeysvalueof{/tikz/month yshift}}
+\tikzset{month xshift/.initial=9ex,month yshift/.initial=9ex}
+
+% Internal option for storing the "width" of a calendar as a number of
+% days
+
+\def\tikz at lib@cal at width{\pgfkeysvalueof{/tikz/tikz at lib@cal at width}}
+\tikzset{tikz at lib@cal at width/.initial=1}
+
+% Weeks
+
+\def\tikzweekcode{\pgfkeysvalueof{/tikz/week code}}
+\def\tikzweektext{\pgfkeysvalueof{/tikz/week text}}
+
+\tikzset{
+  week code/.initial={%
+    \node[every week]{\pgfkeysvalueof{/tikz/week text}};},
+  week text/.initial={\%n=},
+  every week/.style=,
+  week label left/.style={
+    every week/.append style={
+      anchor=base east,
+      xshift=-1.25*\pgfkeysvalueof{/tikz/day xshift}},
+    execute before day scope=%
+      \ifdate{Monday, equals=\pgfcalendarbeginiso}{\tikzweekcode}{}}}
+
+%
+% Overwriting original \tikz at lib@cal at if@else at code
+%
+\def\tikz at lib@cal at if@else at code#1#2#3{%
+  \pgfutil at addto@macro\tikz at lib@cal at ifs{\ifdate{#1}{#2}{#3}}%
+  \tikz at lib@cal at scanner%
+}
+
+%
+% Overwriting original \tikz at lib@cal at stop
+%
+\def\tikz at lib@cal at stop{%
+    \pgftransformshift{\tikz at node@at}%
+    \expandafter\pgfcalendar\expandafter{\tikz at fig@name}{\tikz at lib@cal at start}{\tikz at lib@cal at end}%
+    {%
+      \tikz at before@day%
+      \scope%
+        \tikz at atbegin@day%
+        \let\pgfutil at addto@macro\pgfutil at secondoftwo
+        \tikz at lib@cal at ifs%
+        \tikzdaycode%
+        \tikz at atend@day%
+      \endscope%
+      \tikz at after@day%
+    }%
+  \endgroup%
+}
+
+\def\pgfutil at addto@macro#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+
+\pgfmathdeclarefunction{weeksinmonthofyear}{3}{% #1 = first weekday, #2 = month, #3 = year
+  \begingroup
+    \pgfmathlastdayinmonthofyear@{#2}{#3}%
+    \pgfmathadd@{#1}{\pgfmathresult}%
+    \pgfmathdivide@{\pgfmathresult}{7}%
+    \pgfmathceil@{\pgfmathresult}%
+    \pgfmathint@{\pgfmathresult}%
+    \pgfmathsmuggle\pgfmathresult
+  \endgroup
+}
+\pgfmathdeclarefunction{lastdayinmonthofyear}{2}{% #1 = month, #2 = year
+  \begingroup
+    \pgfcalendar at getlastYMX{#2}{#1}{\pgfutil at tempcnta}%
+    \edef\pgfmathresult{\the\pgfutil at tempcnta}%
+    \pgfmathsmuggle\pgfmathresult
+  \endgroup
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.calendar-plus.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,180 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\usepgflibrary{ext.pgfkeys-plus}%
+
+%% full arc
+%% https://tex.stackexchange.com/a/144297/16595
+%% The postfix operator R is added to PGFmath,
+%% it allows the use of angular segments.
+%% full arc = 10 makes it so that
+%%   1R =  36°
+%%   2R =  72°
+%%   …
+%%  10R = 360°
+%% Calling the full arc key with an empty value 
+%% makes 1R = 1°
+\pgfset{full arc/.code=%
+  \def\pgf at temp{#1}%
+  \ifx\pgfutil at empty\pgf at temp
+    \let\pgfmath at fullarc@factor\pgfutil at empty
+  \else
+    \pgfmathsetmacro\pgfmath at fullarc@factor{360/(#1)}%
+  \fi,full arc=}
+\pgfmathdeclareoperator{R}{full arc}{1}{postfix}{950}
+\pgfmathdeclarefunction{full arc}{1}{%
+  \begingroup
+    \pgfmath at x=#1pt\relax
+    \ifx\pgfmath at fullarc@factor\pgfutil at empty\else
+      \pgfmath at x\pgfmath at fullarc@factor\pgfmath at x
+    \fi
+    \pgfmath at returnone\pgfmath at x
+  \endgroup}
+
+%% foreach
+%% http://tex.stackexchange.com/a/126418/16595
+%% instead of \foreach \var in {start, start + delta, ..., end}
+%% this allows to use \foreach[use int={start to end step delta}] without(!) a list in {}
+%% the values start, end and delta are evaluated by PGFmath at the start of the loop.
+%% In addition to use int, there's also use float.
+\newif\iftikzext at pgf@foreach at no@list
+\pgfqkeys{/pgf/foreach}{
+  use int/.code={%
+    \tikzext at pgf@foreach at no@list at parse@to\pgfmathtruncatemacro#1\pgffor at stop
+  },
+  use float/.code={%
+    \tikzext at pgf@foreach at no@list at parse@to\pgfmathsetmacro#1\pgffor at stop
+  }
+}
+
+\def\tikzext at pgf@foreach at no@list at parse@to#1#2to#3\pgffor at stop{%
+  \tikzext at pgf@foreach at no@listtrue
+  #1\foreachStart{#2}%
+  \pgfutil at in@{step}{#3}
+  \ifpgfutil at in@
+    \tikzext at pgf@foreach at no@list at parse@step{#1}#3\pgffor at stop
+  \else
+    \tikzext at pgf@foreach at no@list at parse@step{#1}#3step1\pgffor at stop
+  \fi
+  \edef\tikzext at pgf@foreach at no@list at list{\foreachStart,\foreachSecond,...,\foreachEnd}%
+}
+\def\tikzext at pgf@foreach at no@list at parse@step#1#2step#3\pgffor at stop{%
+  #1\foreachEnd{#2}%
+  #1\foreachSecond{\foreachStart+#3}%
+}
+\def\pgffor at vars{% manually extended, better etoolbox
+  \pgfutil at ifnextchar i{\pgffor@@vars at end}{%
+    \pgfutil at ifnextchar[{\pgffor@@vars at opt}{%]
+      \pgfutil at ifnextchar/{\pgffor@@vars at slash@gobble}{%
+         \iftikzext at pgf@foreach at no@list\expandafter\pgfutil at firstoftwo\else
+           \expandafter\pgfutil at secondoftwo\fi
+         {\tikzext at pgf@foreach at no@listfalse\pgffor at macro@list\tikzext at pgf@foreach at no@list at list}
+         {\pgffor@@vars}}}}}%
+
+%% PGFmath
+%% strrepeat("x", 5) = "xxxxx"
+\pgfmathdeclarefunction{strrepeat}{2}{%
+  \begingroup\pgfmathint{#2}\pgfmath at count\pgfmathresult
+    \let\pgfmathresult\pgfutil at empty
+    \pgfutil at loop\ifnum\pgfmath at count>0\relax
+      \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}%
+      \advance\pgfmath at count-1\relax
+    \pgfutil at repeat\pgfmath at smuggleone\pgfmathresult\endgroup}
+
+%% isInString("foo", "foobar") = true (= 1)
+%% isInString("boo", "foobar") = false (= 0)
+\pgfmathdeclarefunction{isInString}{2}{%
+  \pgfutil at in@{#1}{#2}%
+  \ifpgfutil at in@\def\pgfmathresult{1}\else\def\pgfmathresult{0}\fi}
+
+%% strcat("foo", "bar") = "foobar" (can have more than two parameters)
+\pgfutil at IfUndefined{pgfmathstrcat@}{
+  \pgfmathdeclarefunction{strcat}{...}{%
+    \begingroup
+      \let\pgfmathresult\pgfutil at empty
+      \pgfmathstrcat@@#1\pgfmath at stop}
+  \def\pgfmathstrcat@@#1{%
+    \ifx\pgfmath at stop#1%
+      \def\pgfmath at next{\pgfmath at smuggleone\pgfmathresult\endgroup}
+    \else
+      \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}%
+      \let\pgfmath at next\pgfmathstrcat@@
+    \fi
+    \pgfmath at next}
+}{}
+
+% http://tex.stackexchange.com/questions/244569/bounding-lines-around-tax-nodes/244619#244619
+\pgfmathdeclarefunction{atanXY}{2}{\pgfmathatantwo@{#2}{#1}}
+\pgfmathdeclarefunction{atanYX}{2}{\pgfmathatantwo@{#1}{#2}}
+
+%% http://tex.stackexchange.com/a/132939/16595
+\tikzset{
+  @edges through/.code={{{% three braces to protect \pgfeov
+    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@edges through/. at cmd}}
+                        {\pgfkeysvalueof{/tikz/@@edges through/. at cmd}[]}#1\pgfeov}}},
+  @@edges through/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2) (#2)}},
+  edges through/.style={/tikz/@edges through/.list={#1}}}
+\tikzset{
+  @edges to/.code={{{% three braces to protect \pgfeov
+    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@edges to/. at cmd}}
+                        {\pgfkeysvalueof{/tikz/@@edges to/. at cmd}[]}#1\pgfeov}}},
+  @@edges to/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2)}},
+  edges to/.style={/tikz/@edges to/.list={#1}}}
+\tikzset{
+  @tos to/.code={{{% three braces to protect \pgfeov
+    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@tos to/. at cmd}}
+                        {\pgfkeysvalueof{/tikz/@@tos to/. at cmd}[]}#1\pgfeov}}},
+  @@tos to/.style args={[#1]#2}{/tikz/insert path={to[#1] (#2)}},
+  tos to/.style={/tikz/@tos to/.list={#1}}}
+
+
+\pgfmathdeclarefunction{distancebetween}{2}{% only coordinates/nodes
+  \begingroup
+    \pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}%
+    \edef\pgfmath at temp{{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}}%
+    \expandafter\pgfmathveclen@\pgfmath at temp
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup}
+\pgfmathdeclarefunction{qdistancebetween}{1}{% only coordinates/nodes
+  \begingroup
+    \pgfpointdiff{\pgfpointorigin}{\pgfpointanchor{#1}{center}}%
+    \edef\pgfmath at temp{{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}}%
+    \expandafter\pgfmathveclen@\pgfmath at temp
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup}
+
+\pgfmathdeclarefunction{qanglebetween}{1}{%
+  \pgfmathanglebetweenpoints{\pgfpointorigin}{\pgfpointanchor{#1}{center}}}
+
+\pgfmathdeclarefunction{anglebetween}{2}{%
+  \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}
+
+\pgfmathdeclarefunction{isEmpty}{1}{%
+  \begingroup
+    \def\pgfmath at temp{#1}%
+    \pgfutil at ifxempty\pgfmath at temp{\def\pgfmathresult{1}}{\def\pgfmathresult{0}}%                           
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup}
+
+\pgfset{
+  declare constant/.code={%
+    \let\pgfmathdeclareconstant@@@\pgfutil at empty
+    \pgfkeysvalueof{/pgf/declare function/execute at begin function}%
+    \pgfmathdeclareconstant@#1@=@;\pgf at stop
+    \pgfkeysvalueof{/pgf/declare function/execute at end function}%
+    \pgfmathdeclareconstant@@@
+  }}
+\def\pgfmathdeclareconstant@{%
+  \pgfutil at ifnextchar x\pgfmathdeclareconstant@@\pgfmathdeclareconstant@@
+}
+\def\pgfmathdeclareconstant@@#1=#2;#3\pgf at stop{%
+  \edef\pgfmath at local@temp{#1}%
+  \pgfutil at ifx\pgfmath at local@temp\pgfmath at local@at{}{%
+    \pgfutil at g@addto at macro\pgfmathdeclareconstant@@@{\pgfmathdeclarepseudoconstant{#1}{\def\pgfmathresult{#2}}}%
+    \pgfmathdeclareconstant@#3\pgf at stop
+  }%
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.misc.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,339 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\def\tikzext at nf@align at left#1{}
+\def\tikzext at nf@align at center#1{\kern.5#1}
+\def\tikzext at nf@align at right#1{\kern#1}
+
+\pgfqkeys{/tikz/node family}{
+  width/.initial=,
+  width/.append style={/pgf/minimum width=nf_width},
+  height/.initial=,
+  height/.append style={/pgf/minimum height=nf_height},
+  size/.code=\pgfqkeys{/tikz/node family}{width={#1},height={#1}},
+  text depth/.initial=,
+  text height/.initial=,
+  text width align/.is choice,
+  text width align/left/.code=\let\tikzext at nf@align at action\tikzext at nf@align at left,
+  text width align/center/.code=\let\tikzext at nf@align at action\tikzext at nf@align at center,
+  text width align/right/.code=\let\tikzext at nf@align at action\tikzext at nf@align at right,
+  text width align=center,
+  text width/.initial=,
+  text/.code=\pgfqkeys{/tikz/node family}{text depth={#1},text height={#1},text width={#1}},
+  prefix/.initial=\pgfpictureid-,
+}
+\tikzset{node family/.code=\pgfqkeys{/tikz/node family}{#1}}
+
+% #1 = family type + name
+\def\tikzext at nf@save#1{%
+  %\errmessage{#1}%
+  \immediate\write\pgfutil at auxout{%
+    \noexpand\expandafter\noexpand\gdef\noexpand\csname tikzext at nf@#1 at previous\endcsname
+      {\csname tikzext at nf@#1 at next\endcsname}%
+  }%
+}
+
+% #1 = value to set
+% #2 = family type
+% #3 = return dimen
+\def\tikzext at nf@getandset#1#2#3{%
+    % what's our family's name?
+    #3=0pt\relax
+    \pgfkeysgetvalue{/tikz/node family/#2}\tikzext at nf@familyname
+    \pgfutil at ifxempty\tikzext at nf@familyname{% no family to deal with
+    }{%
+      \edef\tikzext at nf@familyname{\pgfkeysvalueof{/tikz/node family/prefix}\tikzext at nf@familyname}%
+      % we need to save the value for the next run
+      \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @next}{%
+        % first time: define first value and install hook at end of picture
+        \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
+        \edef\tikz at temp{\noexpand\tikzext at nf@save{#2@\tikzext at nf@familyname}}%
+        %\expandafter\AtVeryEndDocument\expandafter{\tikz at temp}%
+        \expandafter\pgfutil at g@addto at macro\expandafter\tikz at atend@picture\expandafter{\tikz at temp}%
+      }{%
+        \ifdim\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname<#1\relax
+          \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
+        \fi
+      }%
+      \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @previous}{% first run, ignore
+      }{% set previous value
+        #3=\csname tikzext at nf@#2@\tikzext at nf@familyname @previous\endcsname\relax
+      }%
+    }%
+}
+
+\pgfdeclareshape{Rectangle}{%
+  \savedanchor\northeast{%
+    % Calculate x
+    %
+    % First, is width < minimum width?
+    \pgf at x=\the\wd\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at x by 2\pgf at xc%
+    % Qrr: family width
+    \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
+    \ifdim\pgf at x<\pgfutil at tempdima
+      \pgf at x=\pgfutil at tempdima
+    \fi
+    %
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
+    \ifdim\pgf at x<\pgf at xb%
+      % yes, too small. Enlarge...
+      \pgf at x=\pgf at xb%
+    \fi%
+    % Now, calculate right border: .5\wd\pgfnodeparttextbox + .5 \pgf at x + outer sep
+    \pgf at x=.5\pgf at x%
+    \advance\pgf at x by.5\wd\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \advance\pgf at x by\pgf at xa%
+    % Calculate y
+    %
+    % First, is height+depth < minimum height?
+    \pgf at y=\ht\pgfnodeparttextbox%
+    \advance\pgf at y by\dp\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at y by 2\pgf at yc%
+    % Qrr: family height
+    \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
+    \ifdim\pgf at y<\pgfutil at tempdima
+      \pgf at y=\pgfutil at tempdima
+    \fi
+    %
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at y<\pgf at yb%
+      % yes, too small. Enlarge...
+      \pgf at y=\pgf at yb%
+    \fi%
+    % Now, calculate upper border: .5\ht-.5\dp + .5 \pgf at y + outer sep
+    \pgf at y=.5\pgf at y%
+    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
+    \advance\pgf at y by.5\ht\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \advance\pgf at y by\pgf at ya%
+  }%
+
+  \savedanchor\southwest{%
+    % Calculate x
+    %
+    % First, is width < minimum width?
+    \pgf at x=\wd\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at x by 2\pgf at xc%
+    % Qrr: family width
+    \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
+    \ifdim\pgf at x<\pgfutil at tempdima
+      \pgf at x=\pgfutil at tempdima
+    \fi
+    %
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
+    \ifdim\pgf at x<\pgf at xb%
+    % yes, too small. Enlarge...
+    \pgf at x=\pgf at xb%
+    \fi%
+    % Now, calculate left border: .5\wd\pgfnodeparttextbox - .5 \pgf at x - outer sep
+    \pgf at x=-.5\pgf at x%
+    \advance\pgf at x by.5\wd\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \advance\pgf at x by-\pgf at xa%
+    % Calculate y
+    %
+    % First, is height+depth < minimum height?
+    \pgf at y=\ht\pgfnodeparttextbox%
+    \advance\pgf at y by\dp\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at y by 2\pgf at yc%
+    % Qrr: family height
+    \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
+    \ifdim\pgf at y<\pgfutil at tempdima
+      \pgf at y=\pgfutil at tempdima
+    \fi
+    %
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at y<\pgf at yb%
+    % yes, too small. Enlarge...
+    \pgf at y=\pgf at yb%
+    \fi%
+    % Now, calculate upper border: .5\ht-.5\dp - .5 \pgf at y - outer sep
+    \pgf at y=-.5\pgf at y%
+    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
+    \advance\pgf at y by.5\ht\pgfnodeparttextbox%
+    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \advance\pgf at y by-\pgf at ya%
+  }%
+  \inheritbackgroundpath[from=rectangle]
+  \inheritbeforebackgroundpath[from=rectangle]
+  \inheritbehindforegroundpath[from=rectangle]
+  \inheritforegroundpath[from=rectangle]
+  \inheritbeforeforegroundpath[from=rectangle]
+  \inheritanchor[from=rectangle]{center}
+  \inheritanchor[from=rectangle]{mid}
+  \inheritanchor[from=rectangle]{base}
+  \inheritanchor[from=rectangle]{north}
+  \inheritanchor[from=rectangle]{south}
+  \inheritanchor[from=rectangle]{west}
+  \inheritanchor[from=rectangle]{mid west}
+  \inheritanchor[from=rectangle]{base west}
+  \inheritanchor[from=rectangle]{north west}
+  \inheritanchor[from=rectangle]{south west}
+  \inheritanchor[from=rectangle]{east}
+  \inheritanchor[from=rectangle]{mid east}
+  \inheritanchor[from=rectangle]{base east}
+  \inheritanchor[from=rectangle]{north east}
+  \inheritanchor[from=rectangle]{south east}
+  \inheritanchorborder[from=rectangle]
+}
+
+\pgfdeclareshape{Circle}{%
+  \savedanchor\centerpoint{% tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+    \pgf at x=.5\wd\pgfnodeparttextbox
+    \pgf at y=.5\ht\pgfnodeparttextbox
+    \advance\pgf at y by-.5\dp\pgfnodeparttextbox
+  }%
+  \saveddimen\radius{% tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+    % Calculate ``height radius''
+    \pgf at ya=.5\ht\pgfnodeparttextbox
+    \advance\pgf at ya by.5\dp\pgfnodeparttextbox
+    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/inner ysep}}%
+    \advance\pgf at ya by\pgf at yb
+    % Calculate ``width radius''
+    \pgf at xa=.5\wd\pgfnodeparttextbox
+    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/inner xsep}}%
+    \advance\pgf at xa by\pgf at xb
+    % Calculate length of radius vector:
+    \pgf at process{\pgfpointnormalised{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
+    \ifdim\pgf at x>\pgf at y
+        \c at pgf@counta=\pgf at x
+        \ifnum\c at pgf@counta=0\relax
+        \else
+          \divide\c at pgf@counta by 255\relax
+          \pgf at xa=16\pgf at xa\relax
+          \divide\pgf at xa by\c at pgf@counta
+          \pgf at xa=16\pgf at xa\relax
+        \fi
+      \else
+        \c at pgf@counta=\pgf at y
+        \ifnum\c at pgf@counta=0\relax
+        \else
+          \divide\c at pgf@counta by 255\relax
+          \pgf at ya=16\pgf at ya\relax
+          \divide\pgf at ya by\c at pgf@counta
+          \pgf at xa=16\pgf at ya\relax
+        \fi
+    \fi
+    \pgf at x=\pgf at xa%
+    % Qrr: check for families
+    \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{width}{\pgfutil at tempdima}%
+    \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{height}{\pgfutil at tempdimb}%
+    % Qrr: and adjust like minimum width and minimum height
+    \ifdim\pgf at x<.5\pgfutil at tempdima
+      \pgf at x=.5\pgfutil at tempdima
+    \fi
+    \ifdim\pgf at x<.5\pgfutil at tempdimb
+      \pgf at x=.5\pgfutil at tempdimb
+    \fi
+    % If necessary, adjust radius so that the size requirements are met:
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
+    \ifdim\pgf at x<.5\pgf at xb
+        \pgf at x=.5\pgf at xb
+    \fi
+    \ifdim\pgf at x<.5\pgf at yb
+        \pgf at x=.5\pgf at yb
+    \fi
+    % Now, add larger of outer separations.
+    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
+    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
+    \ifdim\pgf at xb<\pgf at yb
+      \advance\pgf at x by\pgf at yb
+    \else
+      \advance\pgf at x by\pgf at xb
+    \fi
+  }%
+  \inheritbackgroundpath[from=circle]
+  \inheritbeforebackgroundpath[from=circle]
+  \inheritbehindforegroundpath[from=circle]
+  \inheritforegroundpath[from=circle]
+  \inheritbeforeforegroundpath[from=circle]
+  \inheritanchor[from=circle]{center}
+  \inheritanchor[from=circle]{mid}
+  \inheritanchor[from=circle]{base}
+  \inheritanchor[from=circle]{north}
+  \inheritanchor[from=circle]{south}
+  \inheritanchor[from=circle]{west}
+  \inheritanchor[from=circle]{mid west}
+  \inheritanchor[from=circle]{base west}
+  \inheritanchor[from=circle]{north west}
+  \inheritanchor[from=circle]{south west}
+  \inheritanchor[from=circle]{east}
+  \inheritanchor[from=circle]{mid east}
+  \inheritanchor[from=circle]{base east}
+  \inheritanchor[from=circle]{north east}
+  \inheritanchor[from=circle]{south east}
+  \inheritanchorborder[from=circle]
+}
+
+\def\pgfutil at prefixto@macro#1#2{%
+  \def\pgf at temp{#2}%
+  \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#1%
+  \expandafter\expandafter\expandafter{\expandafter\pgf at temp#1}%
+}
+
+\pgfqkeys{/tikz/node family}{
+  setup shape/.code={%
+    \expandafter\pgfutil at prefixto@macro\csname pgf at sh@s@#1\endcsname{%
+      \tikzext at nf@getandset{\the\wd\pgfnodeparttextbox}{text width}{\pgfutil at tempdima}%
+      \ifdim\wd\pgfnodeparttextbox<\pgfutil at tempdima
+        \pgfutil at tempdimb=\pgfutil at tempdima
+        \advance\pgfutil at tempdimb-\wd\pgfnodeparttextbox
+        \setbox\pgfnodeparttextbox=\hbox to \pgfutil at tempdima{\tikzext at nf@align at action\pgfutil at tempdimb\unhbox\pgfnodeparttextbox}%
+      \fi
+      \tikzext at nf@getandset{\the\dp\pgfnodeparttextbox}{text depth}{\pgfutil at tempdima}%
+      \ifdim\dp\pgfnodeparttextbox<\pgfutil at tempdima
+          \dp\pgfnodeparttextbox=\pgfutil at tempdima
+      \fi
+      \tikzext at nf@getandset{\the\ht\pgfnodeparttextbox}{text height}{\pgfutil at tempdima}%
+      \ifdim\ht\pgfnodeparttextbox<\pgfutil at tempdima
+          \ht\pgfnodeparttextbox=\pgfutil at tempdima
+      \fi
+    }%
+  },
+  setup shape/.list={rectangle,circle,Rectangle,Circle}
+}
+
+%% nf functions
+\def\tikzext at nf@function at default{{\the\pgf at x}{\the\pgf at y}}
+\def\tikzext at nf@function at default@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at y\relax}}
+\def\tikzext at nf@function at circle{{\the\pgf at x}{\the\pgf at x}}
+\def\tikzext at nf@function at circle@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at x\relax}}
+
+\pgfmathdeclarefunction{nf_width}{0}{%
+  \begingroup
+    \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
+      \let\tikzext at nf@function\tikzext at nf@function at default
+    }{%
+      \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
+      \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
+    }%
+    \tikzext at nf@getandset{\expandafter\pgfutil at firstoftwo\tikzext at nf@function}{width}{\pgfutil at tempdima}%
+    \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup
+}
+\pgfmathdeclarefunction{nf_height}{0}{%
+  \begingroup
+    \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
+      \let\tikzext at nf@function\tikzext at nf@function at default
+    }{%
+      \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
+      \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
+    }%
+    \tikzext at nf@getandset{\expandafter\pgfutil at secondoftwo\tikzext at nf@function}{height}{\pgfutil at tempdima}%
+    \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,38 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\usetikzlibrary{ext.node-families,shapes.geometric}
+
+\let\tikzext at nf@function at ellipse    \tikzext at nf@function at default@double
+\let\tikzext at nf@function at star       \tikzext at nf@function at circle
+\let\tikzext at nf@function at diamond    \tikzext at nf@function at default@double
+\let\tikzext at nf@function at star       \tikzext at nf@function at circle@double
+\expandafter\let\csname tikzext at nf@function at regular polygon\endcsname
+                                    \tikzext at nf@function at circle@double
+\let\tikzext at nf@function at trapezium\tikzext at nf@function at default@double
+\def\tikzext at nf@function at semicircle {{\the\dimexpr2\pgf at x\relax}{\the\pgf at x}}
+\expandafter\def\csname tikzext at nf@function at isosceles triangle\endcsname
+                                    {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xa}}
+\def\tikzext at nf@function at kite       {{\the\dimexpr2\pgf at xa\relax}{\the\dimexpr\pgf at ya+\pgf at yb\relax}}
+\def\tikzext at nf@function at dart       {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xb}}
+\expandafter\def\csname tikzext at nf@function at circular sector\endcsname{{\the\pgf at xc}{\the\pgf at xa}}
+\def\tikzext at nf@function at cylinder{{\the\dimexpr2\pgfutil at tempdimb\relax}{\the\pgf at x}}
+
+\tikzset{node family/setup shape/.list={
+    ellipse,
+    star,
+    diamond,
+    regular polygon,
+    trapezium,
+    semicircle,
+    isosceles triangle,
+    kite,
+    dart,
+    circular sector,
+    cylinder
+}}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,326 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\tikzset{
+  arc to/.code=\pgfqkeys{/tikz/arc to}{#1},
+  arc to={
+    counter clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{1},
+    clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{0},
+    x radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1},
+    y radius/.code=\pgfkeyssetvalue{/tikz/y radius}{#1},
+    radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}\pgfkeyssetvalue{/tikz/y radius}{#1},
+    large/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{1},
+    small/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{0},
+    % defaults
+    rotate/.initial=0, counter clockwise, small,
+    counter clockwise/.value forbidden,
+    clockwise/.value forbidden,
+    large/.value forbidden,
+    small/.value forbidden}}
+\def\tikz at arcA rc{\pgfutil at ifnextchar t%
+  {\tikz at flush@moveto\expandafter\expandafter\expandafter\tikz at arcB@cont\expandafter\pgfutil at gobble\pgfutil at gobble}
+  {\tikz at flush@moveto\tikz at arc@cont}}
+\def\tikz at arcB@cont{%
+  \pgfutil at ifnextchar[\tikz@@do at arcB{
+    \advance\tikz at expandcount by -10\relax% go down quickly
+    \ifnum\tikz at expandcount<0\relax%
+      \def\@next{\tikz@@do at arcB[]}%
+    \else%
+      \def\@next{\expandafter\tikz at arcB@cont}%
+    \fi%
+    \@next}}%
+\def\tikz@@do at arcB[#1]{%
+  \def\tikz at arcB@options{#1}%
+  \tikz at do@@arcB}
+\def\tikz at do@@arcB{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikz at do@@arcB}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikz at do@@arcB}
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikz at do@@arcB}
+        {\tikz at scan@one at point\tikz at do@arcB}}}}
+
+\def\tikz at do@arcB#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}
+  \tikz at make@last at position{#1}%
+  \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \iftikz at shapeborder
+    \edef\tikz at moveto@waiting{\tikz at shapeborder@name}%
+  \fi
+  \begingroup
+    \tikzset{every arc/.try,every arc to/.try,arc to/.expand once=\tikz at arcB@options}%
+    \pgfmathsetmacro\tikz at arc@x{\pgfkeysvalueof{/tikz/x radius}}%
+    \ifpgfmathunitsdeclared
+      \pgfmathsetmacro\tikz at arc@y{\pgfkeysvalueof{/tikz/y radius}}%
+      \ifpgfmathunitsdeclared
+        \tikzext at pgfpatharcto{\tikz at arc@x pt}{\tikz at arc@y pt}
+                     {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}}
+                     {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}%
+      \else
+        \tikzerror{You cannot mix dimensions and dimension values in an arc}%
+      \fi
+    \else
+      \pgfmathsetmacro\tikz at arc@y{\pgfkeysvalueof{/tikz/y radius}}%
+      \ifpgfmathunitsdeclared
+        \tikzerror{You cannot mix dimensions and dimension values in an arc}%
+      \else
+        \pgf at process{\pgfpointxy{\tikz at arc@x}{0}}%
+        \pgfmathveclen@{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}%
+        \let\tikz at arc@x\pgfmathresult
+        \pgf at process{\pgfpointxy{0}{\tikz at arc@y}}%
+        \pgfmathveclen@{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}%
+        \let\tikz at arc@y\pgfmathresult
+        \tikzext at pgfpatharcto{+\tikz at arc@x pt}{+\tikz at arc@y pt}
+                     {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}}
+                     {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}%
+      \fi
+    \fi
+  \endgroup
+  % check whether \pgf at marshall starts with \pgfpathlineto
+  \pgfutil at ifxempty\pgf at marshal{}{%
+    \edef\tikz at temp{\expandafter\expandafter\expandafter\noexpand\expandafter\pgfutil at firstgobblerest\pgf at marshal\relax}%
+    \expandafter\let\expandafter\tikz at temp\tikz at temp
+    \pgfutil at ifx\tikz at temp\pgfpathlineto{}{%
+      % getting rid of \pgfpatharcaxes inside \pgf at marshal
+      \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf at marshal
+      \expandafter\expandafter\expandafter{\expandafter\pgfutil at gobble\pgf at marshal}%
+      % extracting the other four values needed for the timer
+      \edef\tikz at timer@start at angle{\expandafter\pgfutil at firstoffour\pgf at marshal}%
+      \edef\tikz at timer@end at angle{\expandafter\pgfutil at secondoffour\pgf at marshal}%
+      \pgfextract at process\tikz at timer@zero at axis{\expandafter\pgfutil at thirdoffour\pgf at marshal}%
+      \pgfextract at process\tikz at timer@ninety at axis{\expandafter\pgfutil at fourthoffour\pgf at marshal}%
+      %
+      \let\tikz at timer=\tikz at timer@arc
+    }%
+  }%
+  \tikz at scan@next at command
+}
+\def\pgfutil at firstoffour#1#2#3#4{#1}
+\def\pgfutil at secondoffour#1#2#3#4{#2}
+\def\pgfutil at thirdoffour#1#2#3#4{#3}
+\def\pgfutil at fourthoffour#1#2#3#4{#4}
+\def\pgfutil at firstgobblerest#1#2\relax{#1}
+
+% original from pgfcorepathconstruct.code.tex
+\def\tikzext at pgfpatharcto#1#2#3#4#5#6{%
+  {%
+    % The following code is based on the transformation described in svg
+    % 1.1 specification Section F.6.5
+    %
+    % Step 1: store the simple parameters (xa=x1 since TeX does not
+    % allow numbers in names)
+    %
+    \pgfmathsetmacro\pgf at arcto@rx{abs(#1)}%
+    \pgfmathsetmacro\pgf at arcto@ry{abs(#2)}%
+    \ifdim\pgf at arcto@rx pt=0pt% special rule: zero radius=straight line
+      \gdef\pgf at marshal{\pgfpathlineto{#6}}%
+    \else
+    \ifdim\pgf at arcto@ry pt=0pt% special rule: zero radius=straight line
+      \gdef\pgf at marshal{\pgfpathlineto{#6}}%
+    \else
+    \pgfmathsetmacro\pgf at arcto@phi{#3}%
+    \pgfmathsetmacro\pgf at arcto@fA{#4}%
+    \ifdim\pgf at arcto@fA pt=0pt
+    \else
+      \pgfmathsetmacro\pgf at arcto@fA{1.0}%  Special rule: every non-zero value is 1.
+    \fi
+    \pgfmathsetmacro\pgf at arcto@fS{#5}%
+    \ifdim\pgf at arcto@fS pt=0pt
+    \else
+      \pgfmathsetmacro\pgf at arcto@fS{1.0}%  Special rule: every non-zero value is 1.
+    \fi
+    \pgf at process{#6}%
+    \edef\pgf at arcto@xb{\the\pgf at x}%
+    \edef\pgf at arcto@yb{\the\pgf at y}%
+    %
+    % Step 2: x1,y1 is more complicated to compute: It is given by lastx
+    % and lasty, but these are transformed coordinates, we need the
+    % untransformed ones. So, we inverse the transformation (arghh...)
+    %
+    \pgftransforminvert%
+    \pgf at process{\pgfpointtransformed{\pgfqpoint{\pgf at path@lastx}{\pgf at path@lasty}}}%
+    \edef\pgf at arcto@xa{\the\pgf at x}%
+    \edef\pgf at arcto@ya{\the\pgf at y}%
+    \edef\pgf at temp@a{\pgf at arcto@xa,\pgf at arcto@ya}%
+    \edef\pgf at temp@b{\pgf at arcto@xb,\pgf at arcto@yb}%
+    \ifx\pgf at temp@a\pgf at temp@b% special rule: skip!
+      \global\let\pgf at marshal\pgfutil at empty
+    \else
+    %
+    % Ok, now we got all the parameters setup. Now comes the
+    % computation...
+    %
+    %
+    % Step 3: Start with a new coordinate system and rotate everything
+    % by the negated phi.
+    %
+    \pgftransformreset
+    \pgftransformrotate{-\pgf at arcto@phi}%
+    % Ok, using \pgfpointtransformed we now get transformed points...
+    %
+    % Step 4: Compute x1' and y1' (xaprime and yaprime)
+    %
+    \pgf at process{%
+      \pgfpointtransformed{\pgfpointscale{.5}{\pgfpointdiff
+          {\pgfqpoint{\pgf at arcto@xb}{\pgf at arcto@yb}}
+          {\pgfqpoint{\pgf at arcto@xa}{\pgf at arcto@ya}}%
+        }%
+      }%
+    }%
+    \edef\pgf at arcto@xaprime{\pgf at sys@tonumber\pgf at x}%
+    \edef\pgf at arcto@yaprime{\pgf at sys@tonumber\pgf at y}%
+    %
+    % Compute Lambda
+    %
+    \pgfmathsetmacro\pgf at arcto@frac at x{\pgf at arcto@xaprime/\pgf at arcto@rx}%
+    \pgfmathsetmacro\pgf at arcto@frac at y{\pgf at arcto@yaprime/\pgf at arcto@ry}%
+    \pgfmathsetmacro\pgf at arcto@lambda{
+      \pgf at arcto@frac at x*\pgf at arcto@frac at x+\pgf at arcto@frac at y*\pgf at arcto@frac at y
+    }%
+    \ifdim\pgf at arcto@lambda pt>1pt
+      \pgfmathsetmacro\pgf at arcto@sqrt at lambda{sqrt(\pgf at arcto@lambda)}%
+      \pgfmathsetmacro\pgf at arcto@rx{\pgf at arcto@sqrt at lambda*\pgf at arcto@rx}%
+      \pgfmathsetmacro\pgf at arcto@ry{\pgf at arcto@sqrt at lambda*\pgf at arcto@ry}%
+    \fi
+    %
+    % Do some scaling
+    %
+    \pgfmathsetmacro\pgf at arcto@xaprime at abs{abs(\pgf at arcto@xaprime)}%
+    \pgfmathsetmacro\pgf at arcto@yaprime at abs{abs(\pgf at arcto@yaprime)}%
+    \pgfmathmax@{\pgf at arcto@rx,\pgf at arcto@ry,\pgf at arcto@xaprime at abs,\pgf at arcto@yaprime at abs}%
+    \pgfmathsetmacro\pgf at arcto@scaling{20/\pgfmathresult}%
+    \pgfmathsetmacro\pgf at arcto@rx at scaled{\pgf at arcto@scaling*\pgf at arcto@rx}%
+    \pgfmathsetmacro\pgf at arcto@ry at scaled{\pgf at arcto@scaling*\pgf at arcto@ry}%
+    \pgfmathsetmacro\pgf at arcto@xaprime at scaled{\pgf at arcto@scaling*\pgf at arcto@xaprime}%
+    \pgfmathsetmacro\pgf at arcto@yaprime at scaled{\pgf at arcto@scaling*\pgf at arcto@yaprime}%
+    %
+    % Step 5: Now comes the messy computation of c1' and c2'.
+    %
+    \ifdim\pgf at arcto@rx pt>\pgf at arcto@ry pt
+      \pgfmathsetmacro\pgf at arcto@rx at over@ry{\pgf at arcto@rx/\pgf at arcto@ry}%
+      \pgfmathsetmacro\pgf at arcto@ry at over@rx{\pgf at arcto@ry/\pgf at arcto@rx}%
+      \pgfmathsetmacro\pgf at arcto@temp{\pgf at arcto@ry at over@rx*\pgf at arcto@xaprime at scaled}%
+      \pgfmathsetmacro\pgf at arcto@numerator{
+        \pgf at arcto@ry at scaled*\pgf at arcto@ry at scaled-
+        \pgf at arcto@yaprime at scaled*\pgf at arcto@yaprime at scaled-
+        \pgf at arcto@temp*\pgf at arcto@temp
+      }%
+      \pgfmathsetmacro\pgf at arcto@denominator{
+        \pgf at arcto@yaprime at scaled*\pgf at arcto@yaprime at scaled+
+        \pgf at arcto@temp*\pgf at arcto@temp
+      }%
+    \else
+      \pgfmathsetmacro\pgf at arcto@rx at over@ry{\pgf at arcto@rx/\pgf at arcto@ry}%
+      \pgfmathsetmacro\pgf at arcto@ry at over@rx{\pgf at arcto@ry/\pgf at arcto@rx}%
+      \pgfmathsetmacro\pgf at arcto@temp{\pgf at arcto@rx at over@ry*\pgf at arcto@yaprime at scaled}%
+      \pgfmathsetmacro\pgf at arcto@numerator{
+        \pgf at arcto@rx at scaled*\pgf at arcto@rx at scaled-
+        \pgf at arcto@xaprime at scaled*\pgf at arcto@xaprime at scaled-
+        \pgf at arcto@temp*\pgf at arcto@temp
+      }%
+      \pgfmathsetmacro\pgf at arcto@denominator{
+        \pgf at arcto@xaprime at scaled*\pgf at arcto@xaprime at scaled+
+        \pgf at arcto@temp*\pgf at arcto@temp
+      }%
+    \fi
+    \pgfmathsetmacro\pgf at arcto@frac{
+      \pgf at arcto@numerator/\pgf at arcto@denominator
+    }%
+    \ifdim\pgf at arcto@frac pt<0pt
+      \pgfmathsetmacro\pgf at arcto@factor{0}%
+    \else
+      \pgfmathsetmacro\pgf at arcto@factor{sqrt(\pgf at arcto@frac)}%
+    \fi
+    \ifx\pgf at arcto@fA\pgf at arcto@fS
+      \pgfmathsetmacro\pgf at arcto@factor{-\pgf at arcto@factor}%
+    \fi
+    \pgfmathsetmacro\pgf at arcto@cxprime{
+      \pgf at arcto@factor*\pgf at arcto@rx at over@ry*\pgf at arcto@yaprime
+    }%
+    \pgfmathsetmacro\pgf at arcto@cyprime{
+      -\pgf at arcto@factor*\pgf at arcto@ry at over@rx*\pgf at arcto@xaprime
+    }%
+    %
+    % Step 6: Ok, now compute cx,cy
+    %
+    \pgftransformreset
+    \pgftransformrotate{\pgf at arcto@phi}%
+    \pgf at process{%
+      \pgfpointtransformed{\pgfqpoint{\pgf at arcto@cxprime pt}{\pgf at arcto@cyprime pt}}%
+    }%
+    \edef\pgf at arcto@temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \pgf at process{\pgfpointadd{\pgf at arcto@temp}{%
+        \pgfpointscale{.5}{%
+          \pgfpointadd
+          {\pgfqpoint{\pgf at arcto@xa}{\pgf at arcto@ya}}
+          {\pgfqpoint{\pgf at arcto@xb}{\pgf at arcto@yb}}}%
+      }%
+    }%
+    \edef\pgf at arcto@cx{\the\pgf at x}%
+    \edef\pgf at arcto@cy{\the\pgf at y}%
+    %
+    % Step 7: Compute start angle:
+    %
+    \pgfmathsetmacro\pgf at arcto@vec at x{(\pgf at arcto@xaprime-\pgf at arcto@cxprime)/\pgf at arcto@rx}%
+    \pgfmathsetmacro\pgf at arcto@vec at y{(\pgf at arcto@yaprime-\pgf at arcto@cyprime)/\pgf at arcto@ry}%
+    \pgfmathsetmacro\pgf at arcto@denominator{veclen(\pgf at arcto@vec at x,\pgf at arcto@vec at y)}%
+    \pgfmathsetmacro\pgf at arcto@frac{\pgf at arcto@vec at x/\pgf at arcto@denominator}%
+    \pgfmathsetmacro\pgf at arcto@theta at start{acos(\pgf at arcto@frac)}%
+    \ifdim\pgf at arcto@vec at y pt<0pt
+      \pgfmathsetmacro\pgf at arcto@theta at start{-\pgf at arcto@theta at start}%
+    \fi
+    %
+    % Step 8: Compute end angle:
+    %
+    \pgfmathsetmacro\pgf at arcto@vec at x{(-\pgf at arcto@xaprime-\pgf at arcto@cxprime)/\pgf at arcto@rx}%
+    \pgfmathsetmacro\pgf at arcto@vec at y{(-\pgf at arcto@yaprime-\pgf at arcto@cyprime)/\pgf at arcto@ry}%
+    \pgfmathsetmacro\pgf at arcto@denominator{veclen(\pgf at arcto@vec at x,\pgf at arcto@vec at y)}%
+    \pgfmathsetmacro\pgf at arcto@frac{\pgf at arcto@vec at x/\pgf at arcto@denominator}%
+    \pgfmathsetmacro\pgf at arcto@theta at end{acos(\pgf at arcto@frac)}%
+    \ifdim\pgf at arcto@vec at y pt<0pt
+      \pgfmathsetmacro\pgf at arcto@theta at end{-\pgf at arcto@theta at end}%
+    \fi
+    \pgfmathsetmacro\pgf at arcto@delta at theta{abs(\pgf at arcto@theta at start-\pgf at arcto@theta at end)}%
+    \ifdim\pgf at arcto@fA pt=0pt
+      \ifdim\pgf at arcto@delta at theta pt>180pt
+        % Ok, we need to adjust the angle!
+        \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
+          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
+        \else
+          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
+        \fi
+      \fi
+    \else
+      \ifdim\pgf at arcto@delta at theta pt<180pt
+        % Ok, we need to adjust the angle!
+        \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
+          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
+        \else
+          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
+        \fi
+      \fi
+    \fi
+    % Qrr:
+    % make sure direction is properly followed
+    \ifdim\pgf at arcto@fS pt=1pt
+      % counter clockwise
+      \ifdim\pgf at arcto@theta at end pt<\pgf at arcto@theta at start pt
+        \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
+      \fi
+    \else
+      % clockwise
+      \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
+        \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
+      \fi
+    \fi
+    \xdef\pgf at marshal{\noexpand
+      \pgfpatharcaxes{\pgf at arcto@theta at start}{\pgf at arcto@theta at end}
+      {\noexpand\pgfpointpolar{\pgf at arcto@phi}{\pgf at arcto@rx}}
+      {\noexpand\pgfpointpolar{\pgf at arcto@phi+90}{\pgf at arcto@ry}}%
+    }%
+    \fi\fi\fi
+  }%
+  \pgf at marshal
+}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.arcto.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,693 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+%% For the operators r-lr, r-rl, r-ud and r-du we need to check after TikZ found r
+\let\tikz at orig@rect\tikz at rect
+\def\tikz at rect{\pgfutil at ifnextchar e\tikz at orig@rect\tikzext at tikz@r}
+\def\tikzext at tikz@r -{%
+  \pgfutil at ifnextchar l\tikzext at tikz@lr at lineto{%
+    \pgfutil at ifnextchar r\tikzext at tikz@rl at lineto{%
+      \pgfutil at ifnextchar u\tikzext at tikz@ud at lineto{%
+        \pgfutil at ifnextchar d\tikzext at tikz@du at lineto\tikz at expand
+      }%
+    }%
+  }%
+}
+%% For the operator |-| we need to check after TikZ found |-
+\let\tikz at orig@vh at lineto@next\tikz at vh@lineto at next
+\def\tikz at vh@lineto at next{%
+  \pgfutil at ifnextchar|{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
+    {\pgfutil at ifnextchar\tikz at activebar{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
+      {\tikz at orig@vh at lineto@next}}}
+%% For the operator -|- we need to check after TikZ found -|
+\let\tikz at orig@hv at lineto\tikz at hv@lineto
+\def\tikz at hv@lineto{%
+  \pgfutil at ifnextchar-{\expandafter\tikzext at tikz@hvh at lineto\pgfutil at gobble}%
+    {\tikz at orig@hv at lineto}}
+
+%% |-|[<opts>] and -|-[<opts>] are allowed
+\def\tikzext at tikz@vhv at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next[]}}
+\def\tikzext at tikz@hvh at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next[]}}
+
+%% r-rl[<opts>], r-lr[<opts>], etc.
+\def\tikzext at tikz@rl at lineto rl{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next[]}}
+\def\tikzext at tikz@lr at lineto lr{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next[]}}
+\def\tikzext at tikz@du at lineto du{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next[]}}
+\def\tikzext at tikz@ud at lineto ud{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next[]}}
+
+%% TikZ interjects are done, the rest is independent:
+
+
+\newdimen\tikzext at tikz@udlr at distance
+\newdimen\tikzext at tikz@hvvh at distance
+\newif\iftikzext at tikz@hvvh at middle         % checks whether spacing = 0 was selected
+\newif\iftikzext at tikz@hvvh at fromcenter
+\newif\iftikzext at ortho@preflush
+\tikzext at ortho@preflushtrue
+
+%%% HVVH/UDLR
+\tikzset{%
+  ortho/.code=\pgfqkeys{/tikz/ortho}{#1},
+  hvvh/.code=\pgfqkeys{/tikz/ortho}{#1},%
+  udlr/.code=\pgfqkeys{/tikz/ortho}{#1},%
+  ortho/.search also=/tikz,
+  ortho/middle 0 to 1/.style={/tikz/ortho/spacing=0},%
+  ortho/from center/.is if=tikzext at tikz@hvvh at fromcenter,%
+  ortho/spacing/.code=% spacing = 0 means that the middle part are the pos-itions 0 to 1,
+  %                                           the first part is -1 to 0, the last part is to 2
+    \pgfmathint{#1}\let\tikzext at tikz@hvvh at timing@parts\pgfmathresult% in case they are calculations to be done
+    \ifcase\tikzext at tikz@hvvh at timing@parts\relax
+      \tikzext at tikz@hvvh at middletrue
+      \def\tikzext at tikz@hvvh at timing@parts{1}%
+      \def\tikzext at tikz@hvvh at timing@first{0}%
+      \def\tikzext at tikz@hvvh at timing@last{1}%
+      \def\tikzext at tikz@hvvh at timing@subtr{0}%
+      \def\tikzext at tikz@hvvh at timing@factor{1}%
+    \else            % in all other cases n > 0 the kinks are at pos = 1/n and (n - 1)/n
+      \tikzext at tikz@hvvh at middlefalse
+      \pgfmathreciprocal{#1}\let\tikzext at tikz@hvvh at timing@first\pgfmathresult
+      \pgfmathsetmacro\tikzext at tikz@hvvh at timing@last{1-\pgfmathresult}%
+      \pgfmathreciprocal{#1-2}%
+      \let\tikzext at tikz@hvvh at timing@subtr\pgfmathresult
+      \pgfmathsetmacro\tikzext at tikz@hvvh at timing@factor{1+2*\pgfmathresult}%
+    \fi,%
+  ortho/ratio/.code=\pgfmathsetmacro\tikzext at tikz@hvvh at ratio{#1},%
+  % TODO: not possible to do distance in TikZ coordinate system
+  ortho/distance/.code=\pgfmathsetlength\tikzext at tikz@hvvh at distance{#1}\let\tikzext at tikz@hvvh at ratio\pgfutil at empty,%
+  ortho/udlr distance/.style={%
+    /tikz/ortho/ud distance={#1},%
+    /tikz/ortho/du distance={#1},%
+    /tikz/ortho/lr distance={#1},%
+    /tikz/ortho/rl distance={#1}},%
+  ortho/ud distance/.initial=+.5cm,%
+  ortho/du distance/.initial=+.5cm,%
+  ortho/lr distance/.initial=+.5cm,%
+  ortho/rl distance/.initial=+.5cm,%
+  ortho/ratio=.5,% default value
+  ortho/spacing=4,% default value
+}%
+
+%BEGIN_FOLD Timer
+\def\tikz at timer@hvhline{%
+  \pgf at process{\tikz at timer@start}\pgf at ya\pgf at y
+  \pgf at process{\tikz at timer@end}\pgf at yc\pgf at y
+  \pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
+  \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
+    \iftikzext at tikz@hvvh at middle
+      \advance\pgf at xb1pt%
+    \else
+      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
+    \fi
+    \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
+        \noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}}%
+  \else
+    \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
+      \iftikzext at tikz@hvvh at middle
+        \advance\pgf at xb-1pt%
+      \else
+        \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
+      \fi
+      \advance\pgf at xb\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
+      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
+        {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at yc}}{\noexpand\tikz at timer@end}}%
+    \else% middle half
+      \pgf at xb\tikzext at tikz@hvvh at timing@factor\pgf at xb%
+      \advance\pgf at xb-\tikzext at tikz@hvvh at timing@subtr pt%
+      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
+        {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}{\noexpand\tikz at timer@middle}}%
+    \fi\fi\tikz at marshal}
+\def\tikz at timer@vhvline{%
+  \pgf at process{\tikz at timer@start}\pgf at xa\pgf at x
+  \pgf at process{\tikz at timer@end}\pgf at xc\pgf at x
+  \pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
+  \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
+    \iftikzext at tikz@hvvh at middle
+      \advance\pgf at xb1pt%
+    \else
+      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
+    \fi
+    \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
+        \noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}}%
+  \else
+    \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
+    \iftikzext at tikz@hvvh at middle
+      \advance\pgf at xb-1pt%
+    \else
+      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
+    \fi
+      \advance\pgf at xb by\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
+      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}{\noexpand\tikz at timer@end}}%
+    \else% middle half
+      \pgf at xb=\tikzext at tikz@hvvh at timing@factor\pgf at xb
+      \advance\pgf at xb by-\tikzext at tikz@hvvh at timing@subtr pt%
+      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
+        {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}{\noexpand\tikz at timer@middle}}%
+      \fi\fi\tikz at marshal}%
+
+%% collect options and nodes, coordinates and pics onpath
+\let\tikz at hvvh@currentoption\pgfutil at empty
+\def\tikzext at tikz@collect at hvvh@options#1[#2]{\edef\tikz at hvvh@currentoption{#2}#1}
+\def\tikzext at tikz@hvh at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@hvh at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@hvh at lineto@next}%
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@hvh at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@hvh at lineto}}}}%
+\def\tikzext at tikz@vhv at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@vhv at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@vhv at lineto@next}%
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@vhv at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@vhv at lineto}}}}%
+\def\tikzext at tikz@ud at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@ud at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@ud at lineto@next}
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@ud at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@ud at lineto}}}}%
+\def\tikzext at tikz@du at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@du at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@du at lineto@next}
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@du at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@du at lineto}}}}%
+\def\tikzext at tikz@lr at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@lr at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@lr at lineto@next}
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@lr at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@lr at lineto}}}}%
+\def\tikzext at tikz@rl at lineto@next{%
+  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@rl at lineto@next}
+    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@rl at lineto@next}
+      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@rl at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@rl at lineto}}}}%
+
+\def\tikz at do@hvvh#1#2#3#4#5{%
+% #1 = first kink
+% #2 = second kink
+% #3 = end
+% #4 = timer
+% #5 = tikz at shapeborder@name
+  \pgfpathlineto{#1}%
+  \pgfpathlineto{#2}%
+  \pgfpathlineto{#3}%
+  \def\tikz at timer@middle{#2}%
+  \def\tikz at timer@end{#3}%
+  \let\tikz at timer#4
+  \edef\pgf at temp{#5}%
+  \ifx\pgf at temp\pgfutil at empty
+    \let\tikz at moveto@waiting\relax
+  \else
+    \let\tikz at moveto@waiting\pgf at temp
+  \fi
+  \tikz at scan@next at command}%
+
+%% -|- operator
+\def\tikzext at tikz@@hvh at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xb=\tikz at lastx
+  \pgf at xc=\tikz at lastx
+  \pgf at yc=\tikz at lasty
+  \tikz at make@last at position{#1}%
+  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\pgf at yc}}\pgf at xc\pgf at yc
+  \begingroup
+    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
+    \iftikz at shapeborder
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at xb}{\tikz at lasty}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at xc\pgf at xb
+      \fi
+      \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
+        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+          \iftikzext at tikz@hvvh at fromcenter
+            \pgf at xc\tikz at lastx
+          \else
+            \pgf at xc\pgf at x
+          \fi
+        \fi
+        \ifdim\pgf at xb>\tikz at lastx
+          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
+        \fi
+      }{%
+        \iftikzext at tikz@hvvh at fromcenter
+          \tikzext at tikz@hvvh at distance\tikz at lastx
+        \else
+          \tikzext at tikz@hvvh at distance\pgf at x
+        \fi
+        \advance\tikzext at tikz@hvvh at distance-\pgf at xc
+        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
+      }%
+      \advance\pgf at xc\tikzext at tikz@hvvh at distance
+      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
+      \edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at xc\pgf at xb
+      \fi
+      \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
+        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+          \pgf at xc\tikz at lastx
+        \fi
+        \ifdim\pgf at xb>\tikz at lastx
+          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
+        \fi
+      }{%
+        \tikzext at tikz@hvvh at distance\tikz at lastx
+        \advance\tikzext at tikz@hvvh at distance-\pgf at xc
+        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
+      }%
+      \advance\pgf at xc\tikzext at tikz@hvvh at distance
+      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
+      \edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi%
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\expandafter\noexpand\pgf at tempa}%
+        {\expandafter\noexpand\pgf at tempb}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% |-| operator
+\def\tikzext at tikz@@vhv at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xc=\tikz at lastx
+  \pgf at yb=\tikz at lasty
+  \pgf at yc=\tikz at lasty
+  \tikz at make@last at position{#1}%
+  \tikz at flush@moveto at toward{\pgfqpoint{\pgf at xc}{\tikz at lasty}}\pgf at xc\pgf at yc
+  \begingroup
+    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
+    \iftikz at shapeborder
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\tikz at lastx}{\pgf at yb}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at yc\pgf at yb
+      \fi
+      \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
+        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+          \iftikzext at tikz@hvvh at fromcenter
+            \pgf at yc\tikz at lasty
+          \else
+            \pgf at yc\pgf at y
+          \fi
+        \fi
+        \ifdim\pgf at yb>\tikz at lasty
+          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
+        \fi
+      \else
+        \iftikzext at tikz@hvvh at fromcenter
+          \tikzext at tikz@hvvh at distance\tikz at lasty
+        \else
+          \tikzext at tikz@hvvh at distance\pgf at y
+        \fi
+        \advance\tikzext at tikz@hvvh at distance-\pgf at yc
+        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
+      \fi
+      \advance\pgf at yc\tikzext at tikz@hvvh at distance
+      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
+      \edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at yc\pgf at yb
+      \fi
+      \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
+        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
+          \pgf at yc\tikz at lasty
+        \fi
+        \ifdim\pgf at yb>\tikz at lasty
+          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
+        \fi
+      \else
+        \tikzext at tikz@hvvh at distance\tikz at lasty
+        \advance\tikzext at tikz@hvvh at distance-\pgf at yc
+        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
+      \fi
+      \advance\pgf at yc\tikzext at tikz@hvvh at distance
+      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
+      \edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi%
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\expandafter\noexpand\pgf at tempa}%
+        {\expandafter\noexpand\pgf at tempb}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% r-ud operator
+\def\tikzext at tikz@@ud at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xc\tikz at lastx
+  \pgf at yb\tikz at lasty
+  \advance\tikz at lasty1pt%
+  \let\pgf at temp\tikz at moveto@waiting
+  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
+  \tikz at make@last at position{#1}%
+  \begingroup
+    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
+    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/ud distance}}%
+    \iftikz at shapeborder
+      \advance\pgf at y1pt%
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at yc\pgf at yb
+      \else\ifx\pgf at temp\relax
+          \pgf at yc\pgf at yb
+        \fi
+      \fi
+      \ifdim\pgf at yc<\pgf at y
+        \iftikzext at tikz@hvvh at fromcenter
+          \pgf at yc=\tikz at lasty
+        \else
+          \pgf at yc=\pgf at y
+        \fi
+      \fi
+      \advance\pgf at yc\tikzext at tikz@udlr at distance
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty
+      \ifx\pgf at temp\relax\else
+        \iftikzext at tikz@hvvh at fromcenter\else
+          \pgf at yb\pgf at yc
+        \fi
+      \fi
+      \ifdim\pgf at yb<\tikz at lasty\pgf at yb\tikz at lasty\fi
+      \advance\pgf at yb\tikzext at tikz@udlr at distance
+      \pgf at yc\pgf at yb
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+        {\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% r-du operator
+\def\tikzext at tikz@@du at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xc\tikz at lastx
+  \pgf at yb\tikz at lasty
+  \advance\tikz at lasty-1pt%
+  \let\pgf at temp\tikz at moveto@waiting
+  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
+  \tikz at make@last at position{#1}%
+  \begingroup
+    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
+    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/du distance}}%
+    \iftikz at shapeborder
+      \advance\pgf at y-1pt%
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at yc\pgf at yb
+      \else\ifx\pgf at temp\relax
+          \pgf at yc\pgf at yb
+        \fi
+      \fi
+      \ifdim\pgf at yc>\pgf at y
+        \iftikzext at tikz@hvvh at fromcenter
+          \pgf at yc=\tikz at lasty
+        \else
+          \pgf at yc=\pgf at y
+        \fi
+      \fi
+      \advance\pgf at yc-\tikzext at tikz@udlr at distance
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty
+      \ifx\pgf at temp\relax\else
+        \iftikzext at tikz@hvvh at fromcenter\else
+          \pgf at yb\pgf at yc
+        \fi
+      \fi
+      \ifdim\pgf at yb>\tikz at lasty\pgf at yb\tikz at lasty\fi
+      \advance\pgf at yb-\tikzext at tikz@udlr at distance
+      \pgf at yc\pgf at yb
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+        {\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% r-lr operator
+\def\tikzext at tikz@@lr at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xb\tikz at lastx
+  \pgf at yc\tikz at lasty
+  \advance\tikz at lastx-1pt%
+  \let\pgf at temp\tikz at moveto@waiting
+  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
+  \tikz at make@last at position{#1}%
+  \begingroup
+    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
+    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/lr distance}}%
+    \iftikz at shapeborder
+      \advance\pgf at x-1pt%
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at xc\pgf at xb
+      \else\ifx\pgf at temp\relax
+          \pgf at xc\pgf at xb
+        \fi
+      \fi
+      \ifdim\pgf at xc>\pgf at x
+        \iftikzext at tikz@hvvh at fromcenter
+          \pgf at xc=\tikz at lastx
+        \else
+          \pgf at xc=\pgf at x
+        \fi
+      \fi
+      \advance\pgf at xc-\tikzext at tikz@udlr at distance
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty
+      \ifx\pgf at temp\relax\else
+        \iftikzext at tikz@hvvh at fromcenter\else
+          \pgf at xb\pgf at xc
+        \fi
+      \fi
+      \ifdim\pgf at xb>\tikz at lastx\pgf at xb\tikz at lastx\fi
+      \advance\pgf at xb-\tikzext at tikz@udlr at distance
+      \pgf at xc\pgf at xb
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% r-rl operator
+\def\tikzext at tikz@@rl at lineto#1{%
+  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \pgf at xb\tikz at lastx
+  \pgf at yc\tikz at lasty
+  \advance\tikz at lastx1pt%
+  \let\pgf at temp\tikz at moveto@waiting
+  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
+  \tikz at make@last at position{#1}%
+  \begingroup
+    \pgfqkeys{/tikz/udlr}{/tikz/ortho/.expand once=\tikz at hvvh@currentoption}%
+    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/rl distance}}%
+    \iftikz at shapeborder%
+      \advance\pgf at x1pt%
+      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
+      \iftikzext at tikz@hvvh at fromcenter
+        \pgf at xc\pgf at xb
+      \else\ifx\pgf at temp\relax
+          \pgf at xc\pgf at xb
+        \fi
+      \fi
+      \ifdim\pgf at xc<\pgf at x
+        \iftikzext at tikz@hvvh at fromcenter
+          \pgf at xc=\tikz at lastx
+        \else
+          \pgf at xc=\pgf at x
+        \fi
+      \fi
+      \advance\pgf at xc\tikzext at tikz@udlr at distance
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
+    \else
+      \let\tikz at shapeborder@name\pgfutil at empty%
+      \ifx\pgf at temp\relax\else
+        \iftikzext at tikz@hvvh at fromcenter\else
+          \pgf at xb\pgf at xc
+        \fi
+      \fi
+      \ifdim\pgf at xb<\tikz at lastx\pgf at xb\tikz at lastx\fi
+      \advance\pgf at xb\tikzext at tikz@udlr at distance
+      \pgf at xc\pgf at xb
+      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+    \fi
+    \xdef\pgf at marshal{%
+      \noexpand\tikz at do@hvvh
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
+        {\expandafter\noexpand\pgf at temp}%
+        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
+  \endgroup
+  \pgf at marshal}%
+
+%% a few nice to haves, use with to or edge operator
+\tikzset{
+  node as new start/.is if=tikzext at ortho@preflush,
+  node as new start,
+  ortho/install shortcuts/.style={
+    *|/.style={only vertical second={#1}},   *|/.default=,
+    |*/.style={only vertical first={#1}},    |*/.default=,
+    *-/.style={only horizontal second={#1}}, *-/.default=,
+    -*/.style={only horizontal first={#1}},  -*/.default=,
+    |-/.style={to path={|-(\tikztotarget)\tikztonodes}},
+    -|/.style={to path={-|(\tikztotarget)\tikztonodes}},
+    -|-/.style=/tikz/horizontal vertical horizontal,
+    |-|/.style=/tikz/vertical horizontal vertical,
+  },
+  horizontal vertical/.style={to path={-| (\tikztotarget) \tikztonodes}},
+  vertical horizontal/.style={to path={|- (\tikztotarget) \tikztonodes}},
+  horizontal vertical horizontal/.style={to path={-|- (\tikztotarget) \tikztonodes}},
+  vertical horizontal vertical/.style={to path={|-| (\tikztotarget) \tikztonodes}},
+  only vertical second/.style={to path={
+    \pgfextra
+      \let\tikzext at ortho@anchor\pgfutil at empty
+      \let\tikzext at origtotarget\pgfutil at empty
+      \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
+      \iftikz at shapeborder
+        \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
+        \ifdim\pgf at y>\tikz at lasty\relax
+          \edef\tikztostart{\tikztostart.north}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
+        \else
+          \edef\tikztostart{\tikztostart.south}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
+        \fi
+      \fi
+      \def\tikz at tempa{#1}%
+      \ifx\tikz at tempa\pgfutil at empty\else
+        \let\tikzext at origtotarget\tikztotarget
+        \edef\tikztotarget{[xshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
+      \fi
+    \endpgfextra
+    [insert path/.expanded={
+      (perpendicular cs: horizontal line through={(\tikztostart)},
+                         vertical line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
+      \pgfextra
+        \ifx\tikzext at origtotarget\pgfutil at empty\else
+          \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
+  only vertical second/.default=,
+  only horizontal second/.style={to path={
+    \pgfextra
+      \let\tikzext at ortho@anchor\pgfutil at empty
+      \let\tikzext at origtotarget\pgfutil at empty
+      \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
+      \iftikz at shapeborder
+        \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
+        \ifdim\pgf at x>\tikz at lastx\relax
+          \edef\tikztostart{\tikztostart.east}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
+        \else
+          \edef\tikztostart{\tikztostart.west}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
+        \fi
+      \fi
+      \def\tikz at tempa{#1}%
+      \ifx\tikz at tempa\pgfutil at empty\else
+        \let\tikzext at origtotarget\tikztotarget
+        \edef\tikztotarget{[yshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
+      \fi
+    \endpgfextra
+    [insert path/.expanded={
+      (perpendicular cs: vertical line through={(\tikztostart)},
+                         horizontal line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
+    \pgfextra
+      \ifx\tikzext at origtotarget\pgfutil at empty\else
+        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
+  only horizontal second/.default=,
+  only vertical first/.style={to path={
+    \pgfextra
+      \let\tikzext at ortho@anchor\pgfutil at empty
+      \let\tikzext at origtotarget\pgfutil at empty
+      \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
+      \pgf at ya=\pgf at y
+      \iftikz at shapeborder
+        \let\tikzext at origtotarget\tikztotarget
+        \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
+        \ifdim\pgf at ya>\tikz at lasty\relax
+          \edef\tikztotarget{\tikztotarget.south}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
+        \else
+          \edef\tikztotarget{\tikztotarget.north}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
+        \fi
+      \fi
+      \def\tikz at tempa{#1}%
+      \ifx\tikz at tempa\pgfutil at empty\else
+        \edef\tikztostart{[xshift={#1}]\tikztostart\tikzext at ortho@anchor}%
+      \fi
+    \endpgfextra
+    [insert path/.expanded={(\tikztostart)}] 
+    -- (perpendicular cs: vertical line through/.expanded={(\tikztostart)},
+                        horizontal line through={(\tikztotarget)})
+    \tikztonodes
+    \pgfextra
+      \ifx\tikzext at origtotarget\pgfutil at empty\else
+        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
+  only vertical first/.default=,
+  only horizontal first/.style={to path={
+    \pgfextra
+      \let\tikzext at ortho@anchor\pgfutil at empty
+      \let\tikzext at origtotarget\pgfutil at empty
+      \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
+      \pgf at xa=\pgf at x
+      \iftikz at shapeborder
+        \let\tikzext at origtotarget\tikztotarget
+        \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
+        \ifdim\pgf at xa>\tikz at lastx\relax
+          \edef\tikztotarget{\tikztotarget.west}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
+        \else
+          \edef\tikztotarget{\tikztotarget.east}%
+          \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
+        \fi
+      \fi
+      \def\tikz at tempa{#1}%
+      \ifx\tikz at tempa\pgfutil at empty\else
+        \edef\tikztostart{[yshift={#1}]\tikztostart\tikzext at ortho@anchor}%
+      \fi
+    \endpgfextra
+    [insert path/.expanded={(\tikztostart)}]
+      -- (perpendicular cs: horizontal line through/.expanded={(\tikztostart)},
+                              vertical line through={(\tikztotarget)})
+    \tikztonodes \pgfextra
+      \ifx\tikzext at origtotarget\pgfutil at empty\else
+        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
+  only horizontal first/.default=,
+  only vertical first to center/.style={to path={
+      \pgfextra
+        \let\tikzext at origtotarget\tikztotarget
+      \endpgfextra
+    (\tikztostart) -- (perpendicular cs: vertical line through={(\tikztostart)},
+                                         horizontal line through={(\tikztotarget)})
+    \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}},
+  only horizontal first to center/.style={to path={
+      \pgfextra
+        \let\tikzext at origtotarget\tikztotarget
+      \endpgfextra
+    (\tikztostart) -- (perpendicular cs: horizontal line through={(\tikztostart)},
+                                         vertical line through={(\tikztotarget)})
+    \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}}%
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.ortho.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,188 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\def\tikz at rectB#1{% originally from tikz.code.tex
+  \tikz at make@last at position{#1}%
+  \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
+  \let\tikz at timer\tikz at timer@rectangle% %% Timer: new timer
+  \tikz@@movetosave{\pgfqpoint{\pgf at xa}{\pgf at ya}}%
+  \tikz at path@lineto{\pgfqpoint{\pgf at xa}{\tikz at lasty}}%
+  \tikz at path@lineto{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}%
+  \tikz at path@lineto{\pgfqpoint{\tikz at lastx}{\pgf at ya}}%
+  \iftikz at snaked
+    \tikz at path@lineto{\pgfqpoint{\pgf at xa}{\pgf at ya}}%
+  \fi
+  \pgfpathclose
+          \tikz@@movetosave{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}%
+  \def\pgfstrokehook{}%
+  \let\tikz at tangent\relax
+  \tikz at scan@next at command
+}%
+
+\def\tikz@@sine#1{% originally from tikz.code.tex
+  \let\tikz at tangent\tikz at tangent@lookup
+  \tikz at flush@moveto
+  \edef\tikz at timer@start{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
+  \pgf at process{#1}%
+  \edef\tikz at timer@end{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}% %% Timer: saver target position
+  \pgf at xc=\pgf at x
+  \pgf at yc=\pgf at y
+  \advance\pgf at xc by-\tikz at lastx
+  \advance\pgf at yc by-\tikz at lasty
+  \advance\tikz at lastx by\pgf at xc
+  \advance\tikz at lasty by\pgf at yc
+  \tikz at lastxsaved=\tikz at lastx
+  \tikz at lastysaved=\tikz at lasty
+  \tikz at updatecurrenttrue
+  \let\tikz at timer=\tikz at timer@sine% %% Timer: new timer
+  \pgfpathsine{\pgfqpoint{\pgf at xc}{\pgf at yc}}%
+  \tikz at scan@next at command
+}
+
+\def\tikz@@cosine#1{% originally from tikz.code.tex
+  \let\tikz at tangent\tikz at tangent@lookup
+  \tikz at flush@moveto
+  \edef\tikz at timer@start{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
+  \pgf at process{#1}%
+  \edef\tikz at timer@end{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}% %% Timer: save target position
+  \pgf at xc=\pgf at x
+  \pgf at yc=\pgf at y
+  \advance\pgf at xc by-\tikz at lastx
+  \advance\pgf at yc by-\tikz at lasty
+  \advance\tikz at lastx by\pgf at xc
+  \advance\tikz at lasty by\pgf at yc
+  \tikz at lastxsaved=\tikz at lastx
+  \tikz at lastysaved=\tikz at lasty
+  \tikz at updatecurrenttrue
+  \let\tikz at timer=\tikz at timer@cosine% %% Timer: new timer
+  \pgfpathcosine{\pgfqpoint{\pgf at xc}{\pgf at yc}}%
+  \tikz at scan@next at command
+}
+
+\def\tikz at timer@rectangle{%
+  \pgfutil at tempdima\tikz at time pt
+  \ifdim\pgfutil at tempdima<.5pt\else % if we're at the return pos-ition we switch start and end
+    \advance\pgfutil at tempdima-.5pt
+    \let\pgf at tempa\tikz at timer@start
+    \let\tikz at timer@start\tikz at timer@end
+    \let\tikz at timer@end\pgf at tempa
+  \fi
+  \multiply\pgfutil at tempdima2
+  \edef\tikz at time{\strip at pt\pgfutil at tempdima}%
+  \tikz at timer@hvline}%
+
+\def\tikz at parabola@semifinal#1{%
+    \tikz at flush@moveto
+    % Save original start:
+    \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
+    \pgf at xb=\tikz at lastx
+    \pgf at yb=\tikz at lasty
+    \tikz at make@last at position{#1}%
+    \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save target position
+    \pgf at xc=\tikz at lastx
+    \pgf at yc=\tikz at lasty
+    \begingroup% now calculate bend:
+        \let\tikz at after@path\pgfutil at empty
+        \expandafter\tikzset\expandafter{\tikz at parabola@option}%
+        \tikz at lastxsaved=\tikz at parabola@bend at factor\tikz at lastx
+        \tikz at lastysaved=\tikz at parabola@bend at factor\tikz at lasty
+        \advance\tikz at lastxsaved by\pgf at xb
+        \advance\tikz at lastysaved by\pgf at yb
+        \advance\tikz at lastxsaved by-\tikz at parabola@bend at factor\pgf at xb
+        \advance\tikz at lastysaved by-\tikz at parabola@bend at factor\pgf at yb
+        \expandafter\tikz at make@last at position\expandafter{\tikz at parabola@bend}%
+        \edef\tikz at timer@middle{{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save bend postion
+        % Calculate delta from bend
+        \advance\pgf at xc by-\tikz at lastx
+        \advance\pgf at yc by-\tikz at lasty
+        % Ok, now calculate delta to bend
+        \advance\tikz at lastx by-\pgf at xb
+        \advance\tikz at lasty by-\pgf at yb
+        \edef\tikz at marshall{%
+          \noexpand\let\noexpand\tikz at timer\noexpand\tikz at timer@parabola
+          \noexpand\edef\noexpand\tikz at timer@middle{\noexpand\pgfqpoint\tikz at timer@middle}%
+          \noexpand\pgfpathparabola{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+        }%
+    \expandafter\endgroup%
+    \tikz at marshall
+    \expandafter\tikz at scan@next at command\tikz at after@path%
+}%
+
+\def\tikz at timer@parabola{% following calculations, see \def of \pgfpathparabola in pgfcorepathconstruct.code.tex (l. 1261)
+  \ifdim\tikz at time pt<.5pt\relax % first part
+    \pgf at process{\tikz at timer@middle}%
+    \pgf at xc\pgf at x\pgf at yc\pgf at y
+    \pgf at xb\pgf at x\pgf at yb\pgf at y
+    \pgf at process{\tikz at timer@start}%
+    \advance\pgf at xc-\pgf at x\pgf at xc.1125\pgf at xc
+    \advance\pgf at xc\pgf at x                 % = start_x + .1125 (middle_x - start_x)
+    \advance\pgf at yc-\pgf at y\pgf at yc.225\pgf at yc
+    \advance\pgf at yc\pgf at y                 % = start_y + .225 (middle_y - start_y)
+    \advance\pgf at xb\pgf at x\pgf at xb.5\pgf at xb % = .5 (middle_x + start_x) = start_x + .5 (middle_x - start_x)
+    \pgf at xa=\tikz at time pt%
+    \pgf at xa=2\pgf at xa                      % = 2 * \tikz at time
+    \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\strip at pt\pgf at xa}{\noexpand\tikz at timer@start}%
+      {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+      {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
+      {\noexpand\tikz at timer@middle}}%
+  \else % second part
+    \pgf at process{\tikz at timer@end}%
+    \pgf at xc\pgf at x
+    \pgf at xb\pgf at x
+    \pgf at yb\pgf at y
+    \pgf at process{\tikz at timer@middle}%
+    \advance\pgf at xc\pgf at x\pgf at xc.5\pgf at xc % = .5 (end_x + middle_x) = middle_x + .5 (end_x - middle_x)
+    \advance\pgf at xb-\pgf at x\pgf at xb.8875\pgf at xb
+    \advance\pgf at xb\pgf at x                 % = middle_x + .8875 (end_x - middle_x)
+    \advance\pgf at yb-\pgf at y\pgf at yb.775\pgf at yb
+    \advance\pgf at yb\pgf at y                 % = middle_y + .775 (end_y - middle_y)
+    \pgf at xa=\tikz at time pt%
+    \advance\pgf at xa-.5pt%
+    \pgf at xa=2\pgf at xa                      % = 2 (\tikz at zime - .5)
+    \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\strip at pt\pgf at xa}{\noexpand\tikz at timer@middle}%
+      {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}%
+      {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
+      {\noexpand\tikz at timer@end}}%
+  \fi
+  \tikz at marshall
+}
+
+\def\tikz at timer@sine{% following calculations, see \def of \pgfpathsine in pgfcorepathconstruct.code.tex (l. 1315)
+  \pgf at process{\tikz at timer@end}%
+  \pgf at xc\pgf at x\pgf at yc\pgf at y
+  \pgf at xb\pgf at x\pgf at yb\pgf at y
+  \pgf at process{\tikz at timer@start}%
+  \advance\pgf at xc-\pgf at x\pgf at xc.3260\pgf at xc
+  \advance\pgf at xc\pgf at x                     % = start_x + .3260 (end_x - start_x)
+  \advance\pgf at yc-\pgf at y\pgf at yc.5120\pgf at yc
+  \advance\pgf at yc\pgf at y                     % = start_y + .5120 (end_y - start_y)
+  \advance\pgf at xb-\pgf at x\pgf at xb.6380\pgf at xb % = start_x + .6380 (end_x - start_x)
+  \advance\pgf at xb\pgf at x
+  \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\tikz at time}{\noexpand\tikz at timer@start}%
+    {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
+    {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
+    {\noexpand\tikz at timer@end}}%
+  \tikz at marshall
+}
+\def\tikz at timer@cosine{% following calculations, see \def of \pgfpathcosine in pgfcorepathconstruct.code.tex (l. 1345)
+  \pgf at process{\tikz at timer@end}%
+  \pgf at xc\pgf at x\pgf at yc\pgf at y
+  \pgf at xb\pgf at x\pgf at yb\pgf at y
+  \pgf at process{\tikz at timer@start}%
+  \advance\pgf at xb-\pgf at x\pgf at xb.6740\pgf at xb
+  \advance\pgf at xb\pgf at x                     % = start_x + .6740 (end_x - start_x)
+  \advance\pgf at yb-\pgf at y\pgf at yb.4880\pgf at yb
+  \advance\pgf at yb\pgf at y                     % = start_y + .4880 (end_y - start_y)
+  \advance\pgf at xc-\pgf at x\pgf at xc.3620\pgf at xc % = start_x + .3620 (end_x - start_x)
+  \advance\pgf at xc\pgf at x
+  \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\tikz at time}{\noexpand\tikz at timer@start}%
+    {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}%
+    {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
+    {\noexpand\tikz at timer@end}}%
+  \tikz at marshall
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.paths.timer.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,60 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+% This is the TikZ library patterns.images
+% Load with \usetikzlibrary{patterns.images}
+%
+% Macro:
+%  - \pgfSetupImageAsPattern[<opt arguments for \pgfdeclareimage>]{<name>}{<path/file>}
+%
+% Keys are:
+%  - use image as pattern=<name>
+%  - image as pattern=<opt arguments for \pgftext>
+
+\def\pgfsetupimageaspattern{\pgfutil at ifnextchar[\tikzext at pgfsetupimageaspattern{\tikzext at pgfsetupimageaspattern[]}}
+\def\tikzext at pgfsetupimageaspattern[#1]#2#3{% #1 = options
+                                        % #2 = image name
+                                        % #3 = file name
+  \pgfdeclareimage[#1]{tikzext at pgf@iap@#2}{#3}%
+  \sbox\pgfutil at tempboxa{\pgfuseimage{tikzext at pgf@iap@#2}}%
+  \expandafter\edef\csname tikzext at pgf@iap@#2@\endcsname{{\the\wd\pgfutil at tempboxa}{\the\ht\pgfutil at tempboxa}}%
+}
+\tikzset{
+  image as pattern/name/.initial=,
+  image as pattern/option/.style=,
+  image as pattern/options/.style={/tikz/image as pattern/option/.append style={#1}},
+  image as pattern/.default=,
+  image as pattern/.code={
+    \pgfqkeys{/tikz/image as pattern}{#1}%
+    \pgfkeysgetvalue{/tikz/image as pattern/name}\tikz at temp
+    \pgfutil at ifxempty\tikz at temp{%
+      \tikzerror{You need to specify a name for the ``image-pattern'' to be used.}%
+    }{%
+      \edef\tikz at tempa{\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
+      \edef\tikz at tempb{\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
+      \pgfkeysalso{/tikz/path picture={%
+        \pgf at process{\pgfpointanchor{path picture bounding box}{north east}}%
+        \pgf at xa\pgf at x\pgf at ya\pgf at y
+        \pgf at process{\pgfpointanchor{path picture bounding box}{south west}}%
+        \pgf at xb\pgf at x\pgf at yb\pgf at y\pgf at yc\pgf at yb
+        \pgfutil at loop
+          {%
+          \pgfutil at loop
+            \expandafter\pgftext\expandafter[/tikz/image as pattern/option,at=\pgfqpoint{\pgf at xb}{\pgf at yb}]{\pgfuseimage{tikzext at pgf@iap@\tikz at temp}}%
+            \ifdim\pgf at yb<\pgf at ya
+            \advance\pgf at yb\tikz at tempb
+          \pgfutil at repeat
+          }%
+          \ifdim\pgf at xb<\pgf at xa
+          \advance\pgf at xb\tikz at tempa
+          \pgf at yb\pgf at yc
+        \pgfutil at repeat
+      }}%
+    }
+  }
+}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.patterns.images.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,262 @@
+% This is the TikZ library positioning-plus
+% Load with \usetikzlibrary{positioning-plus}
+%
+% This small library extends TikZ options like 'above', 'left' or 'below right'
+% so that they can be used with an optional prefixed factor seperated by ':' (colon)
+%
+% The option 'left=.5:of somenode' will place
+% a new node .5cm (default 'node distance' is '1cm and 1cm') left to (somenode).
+% The option 'above right=.2 and .7:of someothernode' will place
+% a new node .2cm above and .7cm right of (someothernode).
+%
+% Additional the options 'xshift*' and 'yshift*' add an additional shift
+% as a factor of 'node distance'
+% Inspired by http://tex.stackexchange.com/a/117610/16595
+
+\usetikzlibrary{positioning}
+\usetikzlibrary{fit}
+
+\pgfdeclaregenericanchor{corner south east}{%
+  \pgf at sh@reanchor{#1}{south}%
+  \pgf at ya\pgf at y
+  \pgf at process{\pgf at sh@reanchor{#1}{east}}%
+  \pgf at y\pgf at ya
+}
+\pgfdeclaregenericanchor{corner north east}{%
+  \pgf at sh@reanchor{#1}{north}%
+  \pgf at ya\pgf at y
+  \pgf at process{\pgf at sh@reanchor{#1}{east}}%
+  \pgf at y\pgf at ya
+}
+\pgfdeclaregenericanchor{corner south west}{%
+  \pgf at sh@reanchor{#1}{south}%
+  \pgf at ya\pgf at y
+  \pgf at process{\pgf at sh@reanchor{#1}{west}}%
+  \pgf at y\pgf at ya
+}
+\pgfdeclaregenericanchor{corner north west}{%
+  \pgf at sh@reanchor{#1}{north}%
+  \pgf at ya\pgf at y
+  \pgf at process{\pgf at sh@reanchor{#1}{west}}%
+  \pgf at y\pgf at ya
+}
+
+\tikzset{corner above left/.code=\tikz at lib@place at handle@{#1}{corner south east}{-1}{1}{corner north west}{0.707106781}}
+\tikzset{corner above right/.code=\tikz at lib@place at handle@{#1}{corner south west}{1}{1}{corner north east}{0.707106781}}
+\tikzset{corner below left/.code=\tikz at lib@place at handle@{#1}{corner north east}{-1}{-1}{corner south west}{0.707106781}}
+\tikzset{corner below right/.code=\tikz at lib@place at handle@{#1}{corner north west}{1}{-1}{corner south east}{0.707106781}}
+
+\tikzset{corner north left/.code =\tikz at lib@place at handle@{#1}{corner north east}{-1}{0}{corner north west}{1}}
+\tikzset{corner north right/.code=\tikz at lib@place at handle@{#1}{corner north west}{1}{0}{corner north east}{1}}
+\tikzset{corner south left/.code =\tikz at lib@place at handle@{#1}{corner south east}{-1}{0}{corner south west}{1}}
+\tikzset{corner south right/.code=\tikz at lib@place at handle@{#1}{corner south west}{1}{0}{corner south east}{1}}
+
+\tikzset{corner west above/.code =\tikz at lib@place at handle@{#1}{corner south west}{0}{1}{corner north west}{1}}
+\tikzset{corner west below/.code=\tikz at lib@place at handle@{#1}{corner north west}{0}{-1}{corner south west}{1}}
+\tikzset{corner east above/.code =\tikz at lib@place at handle@{#1}{corner south east}{0}{1}{corner north east}{1}}
+\tikzset{corner east below/.code=\tikz at lib@place at handle@{#1}{corner north east}{0}{-1}{corner south east}{1}}
+
+\tikzset{north left/.code =\tikz at lib@place at handle@{#1}{north east}{-1}{0}{north west}{1}}
+\tikzset{north right/.code=\tikz at lib@place at handle@{#1}{north west}{1}{0}{north east}{1}}
+\tikzset{south left/.code =\tikz at lib@place at handle@{#1}{south east}{-1}{0}{south west}{1}}
+\tikzset{south right/.code=\tikz at lib@place at handle@{#1}{south west}{1}{0}{south east}{1}}
+
+\tikzset{west above/.code =\tikz at lib@place at handle@{#1}{south west}{0}{1}{north west}{1}}
+\tikzset{west below/.code=\tikz at lib@place at handle@{#1}{north west}{0}{-1}{south west}{1}}
+\tikzset{east above/.code =\tikz at lib@place at handle@{#1}{south east}{0}{1}{north east}{1}}
+\tikzset{east below/.code=\tikz at lib@place at handle@{#1}{north east}{0}{-1}{south east}{1}}
+
+\newif\iftikzext at tikz@lib at place@postransform
+\tikzset{node distance transformation/.is if=tikzext at tikz@lib at place@postransform}
+\def\tikz at lib@place at handle@@#1#2#3#4{%
+  \pgfutil at in@{of }{#1}%
+  \ifpgfutil at in@
+    \tikz at lib@place at of#1\tikz at stop{#4}%
+  \else
+    \edef\tikz at lib@place at nums{#1}%
+  \fi
+  \ifx\tikz at lib@place at nums\pgfutil at empty
+    % Ok, nothing to do, we have set the anchor and we are happy...
+  \else
+    \expandafter\tikz at lib@place at parse@nums\expandafter{\tikz at lib@place at nums}%
+    \pgf at x=#2\pgf at x
+    \pgf at y=#3\pgf at y
+    \iftikzext at tikz@lib at place@postransform
+      \pgf at pos@transform{\pgf at x}{\pgf at y}% change from original
+    \fi
+    \edef\tikz at lib@pos at call{\noexpand\pgftransformshift{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}}%
+  \fi
+}
+
+\def\tikz at lib@place at handle@#1#2#3#4#5#6{%
+  \pgfutil at in@{:}{#1}%
+  \ifpgfutil at in@
+    \tikzext at lib@place at handle@#1\tikz at stop
+    \ifx\pgf at temp\pgfutil at empty
+      \let\pgf at temp\tikz at node@distance
+    \fi
+    \pgfmathsetmacro\pgf at tempa{(\pgf at tempa)*#4}%
+    \pgfmathsetmacro\pgf at tempb{(\pgf at tempb)*#3}%
+    \edef\pgf at marshal{\noexpand\tikz at lib@place at handle@{\pgf at temp}{#2}{\pgf at tempb}{\pgf at tempa}{#5}{#6}}%
+    \pgf at marshal
+  \else
+    \def\tikz at anchor{#2}%
+    \let\tikz at do@auto at anchor=\relax
+    \edef\tikz at temp{#1}%
+    \def\tikz at lib@place at single@factor{#6}%
+    \expandafter\tikz at lib@place at handle@@\expandafter{\tikz at temp}{#3}{#4}{#5}%
+  \fi
+}
+\def\tikzext at lib@place at handle@#1:#2\tikz at stop{%
+  \pgfutil at in@{and}{#1}%
+  \ifpgfutil at in@
+    \tikzext at lib@place at handle@@#1\tikz at stop
+  \else
+    \tikzext at lib@place at handle@@#1and#1\tikz at stop
+  \fi
+  \def\pgf at temp{#2}%
+}
+\def\tikzext at lib@place at handle@@#1and#2\tikz at stop{%
+  \def\pgf at tempa{#1}%
+  \def\pgf at tempb{#2}%
+}
+\def\tikzext at xyshift@starred#1#2#3{%
+  \edef\tikz at marshal{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
+  \tikz at marshal
+  \ifpgfutil at in@
+    \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
+  \else
+    \let#3\tikz at node@distance
+  \fi
+  \pgfmathparse{(#1)*#3}%
+  \ifpgfmathunitsdeclared
+    \if#2x%
+      \pgftransformshift{\pgfqpoint{\pgfmathresult pt}{0pt}}%
+    \else
+      \pgftransformshift{\pgfqpoint{0pt}{\pgfmathresult pt}}%
+    \fi
+  \else
+    \ifx#2x%
+      \pgf at process{\pgfqpointxy{\pgfmathresult}{0}}%
+    \else
+      \pgf at process{\pgfqpointxy{0}{\pgfmathresult}}%
+    \fi
+    \pgftransformshift{\pgfqpoint{\pgf at x}{\pgf at y}}%
+  \fi}
+\tikzset{
+  xshift*/.code=\tikzext at xyshift@starred{#1}x\pgf at tempb,
+  yshift*/.code=\tikzext at xyshift@starred{#1}y\pgf at tempa
+}
+
+\def\pgfutil at firstofmany#1#2\pgf at stop{#1}
+\def\pgfutil at secondofmany#1#2\pgf at stop{#2}
+\def\tikz at lib@place at of@#1#2#3{%
+  \def\pgf at tempa{fit bounding box}%
+  \edef\pgf at temp{\expandafter\pgfutil at firstofmany#2\pgf at stop}
+  \if\pgf at temp(%
+    \tikz at lib@place at fit@scan{#2}{0}%
+  \else\if\pgf at temp|%
+      \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{1}%
+    \else\ifx\pgf at temp\tikz at activebar
+        \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{1}%
+      \else\if\pgf at temp-%
+          \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{2}%
+        \else\if\pgf at temp+%
+            \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{3}%
+          \else
+            \def\pgf at tempa{#2}%
+          \fi
+        \fi
+      \fi
+    \fi
+  \fi
+  \expandafter\tikz at scan@one at point\expandafter\tikz at lib@place at remember\expandafter(\pgf at tempa)%
+  \iftikz at shapeborder%
+    % Ok, this is relative to a border.
+    \iftikz at lib@ignore at size%
+      \edef\tikz at node@at{\noexpand\pgfpointanchor{\tikz at shapeborder@name}{center}}%
+      \def\tikz at anchor{center}%
+    \else%
+      \edef\tikz at node@at{\noexpand\pgfpointanchor{\tikz at shapeborder@name}{#3}}%
+    \fi%
+  \fi%
+  \edef\tikz at lib@place at nums{#1}%
+}
+\def\tikz at lib@place at fit@scan#1#2{%
+  \pgf at xb=-16000pt\relax%
+  \pgf at xa=16000pt\relax%
+  \pgf at yb=-16000pt\relax%
+  \pgf at ya=16000pt\relax%
+  \if\pgfutil at firstofmany#1\pgf at stop(%
+    \tikz at lib@fit at scan#1\pgf at stop%
+  \else
+    \tikz at lib@fit at scan(#1)\pgf at stop
+  \fi
+  \ifdim\pgf at xa>\pgf at xa
+    % shouldn't happen
+  \else
+     \expandafter\def\csname pgf at sh@ns at fit bounding box\endcsname{rectangle}%
+     \expandafter\edef\csname pgf at sh@np at fit bounding box\endcsname{%
+       \def\noexpand\southwest{\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}%
+       \def\noexpand\northeast{\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
+     }%
+     \expandafter\def\csname pgf at sh@nt at fit bounding box\endcsname{{1}{0}{0}{1}{0pt}{0pt}}%
+     \expandafter\def\csname pgf at sh@pi at fit bounding box\expandafter\endcsname\expandafter{\pgfpictureid}%
+     \ifcase#2\relax
+     \or % 1 = vertical
+       \pgf at y=\pgf at yb%
+       \advance\pgf at y by-\pgf at ya%
+       \edef\pgf at marshal{\noexpand\pgfset{minimum height={\the\pgf at y-2*(\noexpand\pgfkeysvalueof{/pgf/outer ysep})}}}%
+       \pgf at marshal
+     \or % 2 = horizontal
+       \pgf at x=\pgf at xb%
+       \advance\pgf at x by-\pgf at xa%
+       \edef\pgf at marshal{\noexpand\pgfset{minimum width={\the\pgf at x-2*(\noexpand\pgfkeysvalueof{/pgf/outer xsep})}}}%
+       \pgf at marshal
+     \or % 3 = both directions
+       \pgf at y=\pgf at yb%
+       \advance\pgf at y by-\pgf at ya%
+       \pgf at x=\pgf at xb%
+       \advance\pgf at x by-\pgf at xa%
+       \edef\pgf at marshal{\noexpand\pgfset{minimum height={\the\pgf at y-2*(\noexpand\pgfkeysvalueof{/pgf/outer ysep})},minimum width={\the\pgf at x-2*(\noexpand\pgfkeysvalueof{/pgf/outer xsep})}}}%
+       \pgf at marshal
+     \fi
+  \fi
+}
+\tikzset{
+  fit bounding box/.code={\tikz at lib@place at fit@scan{#1}{0}},
+  span vertical/.code={\tikz at lib@place at fit@scan{#1}{1}},
+  span horizontal/.code={\tikz at lib@place at fit@scan{#1}{2}},
+  span/.code={\tikz at lib@place at fit@scan{#1}{3}}}
+
+\pgfmathdeclarefunction{x_node_dist}{0}{%
+  \begingroup
+    \edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
+    \pgfmath at temp\ifpgfutil at in@
+      \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
+    \else
+      \let\pgf at tempb\tikz at node@distance
+    \fi
+    \pgfmathparse{\pgf at tempb}%
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup
+}
+\pgfmathdeclarefunction{y_node_dist}{0}{%
+  \begingroup
+    \edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
+    \pgfmath at temp\ifpgfutil at in@
+      \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
+    \else
+      \let\pgf at tempa\tikz at node@distance
+    \fi
+    \pgfmathparse{\pgf at tempa}%
+    \pgfmath at smuggleone\pgfmathresult
+  \endgroup
+}
+%\tikzdeclarecoordinatesystem{node distance}{%
+%  \tikz at cs@nd#1\tikz at stop}
+%\def\tikz at cs@nd#1,#2\tikz at stop{%
+%  \def\tikzext at xyshift@starred at action##1{\pgftransformshift{##1}}%
+%  \tikzext at xyshift@starred{#1}x\pgf at tempb
+%  \tikzext at xyshift@starred{#2}y\pgf at tempa}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.positioning-plus.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.scalepicture.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.scalepicture.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.scalepicture.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,194 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\def\tikzext at scalepicture@savepicturesize{%
+  \pgf at process{%
+    \pgfpointdiff
+      {\pgfpointanchor{current bounding box}{south west}}
+      {\pgfpointanchor{current bounding box}{north east}}}%
+  \immediate\write\pgfutil at auxout{%
+    \noexpand\expandafter\gdef
+    \noexpand\csname tikzext at scalepicture@\pgfpictureid\endcsname{{\the\pgf at x}{\the\pgf at y}}%
+  }%
+  \let\tikzext at scalepicture@savepicturesize\relax
+}
+
+\def\tikzext at scalepicture@width{%
+  \expandafter\expandafter\expandafter\pgfutil at firstoftwo
+  \csname tikzext at scalepicture@\pgfpictureid\endcsname
+}
+\def\tikzext at scalepicture@height{%
+  \expandafter\expandafter\expandafter\pgfutil at secondoftwo
+  \csname tikzext at scalepicture@\pgfpictureid\endcsname
+}
+
+\def\tikzextpicturewidth{%
+  \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{0pt}{\tikzext at scalepicture@width}}
+\def\tikzextpictureheight{%
+  \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{0pt}{\tikzext at scalepicture@height}}
+\tikzset{
+  save picture size/.style={execute at end picture=\tikzext at scalepicture@savepicturesize},
+  save picture size/.value forbidden,
+  %%% keep aspect ratio
+  %%  width and height
+  minimum picture size/.code 2 args={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \pgfmathsetlength\pgf at ya{#2}%
+      \def\tikz at tempa{0}%
+      \def\tikz at temp{0}%
+      \ifdim\tikzext at scalepicture@width<\pgf at xa
+        \pgfmathsetmacro\tikz at tempa{\pgf at xa/\tikzext at scalepicture@width}%
+      \fi
+      \ifdim\tikzext at scalepicture@height<\pgf at ya
+        \pgfmathsetmacro\tikz at temp{\pgf at ya/\tikzext at scalepicture@height}%
+      \fi
+      \ifdim\tikz at tempa pt>\tikz at temp pt
+        \let\tikz at temp\tikz at tempa
+      \fi
+      \ifdim\tikz at temp pt>0pt
+        \tikzset{scale/.expand once=\tikz at temp}%
+      \fi
+    }%
+  },
+  maximum picture size/.code 2 args={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \pgfmathsetlength\pgf at ya{#2}%
+      \def\tikz at tempa{0}%
+      \def\tikz at temp{0}%
+      \ifdim\tikzext at scalepicture@width>\pgf at xa
+        \pgfmathsetmacro\tikz at tempa{\pgf at xa/\tikzext at scalepicture@width}%
+      \fi
+      \ifdim\tikzext at scalepicture@height>\pgf at ya
+        \pgfmathsetmacro\tikz at temp{\pgf at ya/\tikzext at scalepicture@height}%
+      \fi
+      \ifdim\tikz at tempa pt<\tikz at temp pt
+        \let\tikz at temp\tikz at tempa
+      \fi
+      \ifdim\tikz at temp pt>0pt
+        \tikzset{scale/.expand once=\tikz at temp}%
+      \fi
+    }%
+  },
+  %%% keep aspect ratio
+  %%  width
+  picture width/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \tikzset{scale={(#1)/\tikzext at scalepicture@width}}%
+    }%
+  },
+  minimum picture width/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \ifdim\tikzext at scalepicture@width<\pgf at xa
+        \tikzset{scale={\pgf at xa/\tikzext at scalepicture@width}}
+      \fi
+    }%
+  },
+  maximum picture width/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \ifdim\tikzext at scalepicture@width>\pgf at xa
+        \tikzset{scale={\pgf at xa/\tikzext at scalepicture@width}}
+      \fi
+    }%
+  },
+  %%% xscale only
+  %%  width
+  picture width*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \tikzset{xscale={(#1)/\tikzext at scalepicture@width}}%
+    }%
+  },
+  minimum picture width*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \ifdim\tikzext at scalepicture@width<\pgf at xa
+        \tikzset{xscale={\pgf at xa/\tikzext at scalepicture@width}}
+      \fi
+    }%
+  },
+  maximum picture width*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at xa{#1}%
+      \ifdim\tikzext at scalepicture@width>\pgf at xa
+        \tikzset{xscale={\pgf at xa/\tikzext at scalepicture@width}}
+      \fi
+    }%
+  },
+  %%% keep aspect ratio
+  %%  height
+  picture height/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \tikzset{yscale={(#1)/\tikzext at scalepicture@height}}%
+    }%
+  },
+  minimum picture height/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at ya{#1}%
+      \ifdim\tikzext at scalepicture@height<\pgf at ya
+        \tikzset{scale={\pgf at ya/\tikzext at scalepicture@height}}
+      \fi
+    }%
+  },
+  maximum picture height/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at ya{#1}%
+      \ifdim\tikzext at scalepicture@height<\pgf at ya
+        \tikzset{scale={\pgf at ya/\tikzext at scalepicture@height}}
+      \fi
+    }%
+  },
+  %%% yscale only
+  %%  height
+  picture height*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \tikzset{yscale={(#1)/\tikzext at scalepicture@height}}%
+    }%
+  },
+  minimum picture height*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at ya{#1}%
+      \ifdim\tikzext at scalepicture@height<\pgf at ya
+        \tikzset{yscale={\pgf at ya/\tikzext at scalepicture@height}}
+      \fi
+    }%
+  },
+  maximum picture height*/.code={%
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+      \pgfmathsetlength\pgf at ya{#1}%
+      \ifdim\tikzext at scalepicture@height<\pgf at ya
+        \tikzset{yscale={\pgf at ya/\tikzext at scalepicture@height}}
+      \fi
+    }%
+  },
+  %%% xscale or yscale
+  picture size*/.code 2 args={% #1 = width, #2 = height
+    \tikzset{save picture size}%
+    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
+    \tikzset{
+      xscale={(#1)/\tikzext at scalepicture@width},
+      yscale={(#2)/\tikzext at scalepicture@height}}%
+    }%
+  },
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.scalepicture.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,50 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\pgfqkeys{/tikz/arc through}{
+  .unknown/.code=\pgfkeyssetevalue{/tikz/arc through/through}{\pgfkeyscurrentname},
+  through/.initial={(0,0)},
+  center suffix/.initial=,
+  clockwise/.code=%
+    \def\tikz at arcthrough@clockwise{%
+      \pgfmathsubtract@{\pgfkeysvalueof{/tikz/end angle}}{360}%
+      \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}},
+  counter clockwise/.code=\let\tikz at arcthrough@clockwise\relax,
+  clockwise/.value forbidden, counter clockwise/.value forbidden, counter clockwise}
+\tikzset{
+  arc through/.code={%
+    \tikzset{every arc through/.try}%
+    \pgfqkeys{/tikz/arc through}{#1}%
+    \pgfkeysgetvalue{/tikz/arc through/through}\tikz at temp
+    \pgfextract at process\pgf at tostart{\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax}%
+    \expandafter\pgfextract at process\expandafter\pgf at tothrough\expandafter
+      {\expandafter\tikz at scan@one at point\expandafter\pgfutil at firstofone\tikz at temp\relax}%
+    \pgfextract at process\pgf at totarget{\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax}%
+    \pgfextract at process\pgf at topointMidA{\pgfpointlineattime{.5}{\pgf at tostart}{\pgf at tothrough}}%
+    \pgfextract at process\pgf at topointMidB{\pgfpointlineattime{.5}{\pgf at totarget}{\pgf at tothrough}}%
+    \pgfextract at process\pgf at tocenter{%
+      \pgfpointintersectionoflines
+        {\pgf at topointMidA}{\pgfmathrotatepointaround{\pgf at tothrough}{\pgf at topointMidA}{90}}%
+        {\pgf at topointMidB}{\pgfmathrotatepointaround{\pgf at tothrough}{\pgf at topointMidB}{90}}}%
+    \pgfcoordinate{arc through center\pgfkeysvalueof{/tikz/arc through/center suffix}}{\pgf at tocenter}%
+    \pgfpointdiff{\pgf at tocenter}{\pgf at tostart}%
+    \pgfmathveclen@{\pgfmath at tonumber\pgf at x}{\pgfmath at tonumber\pgf at y}%
+    \pgfkeyssetevalue{/tikz/x radius}{+\pgfmathresult pt}%
+    \pgfkeyssetevalue{/tikz/y radius}{+\pgfmathresult pt}%
+    \pgfmathanglebetweenpoints{\pgf at tocenter}{\pgf at totarget}%
+    \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}%
+    \pgfmathanglebetweenpoints{\pgf at tocenter}{\pgf at tostart}%
+    \ifdim\pgfmathresult pt>\pgfkeysvalueof{/tikz/end angle}pt\relax
+      \pgfmathsubtract@{\pgfmathresult}{360}%
+    \fi
+    \pgfkeyssetevalue{/tikz/start angle}{+\pgfmathresult}%
+    \tikz at arcthrough@clockwise
+    \pgfkeyslet{/tikz/delta angle}\pgfutil at empty
+    \def\tikz at to@path{arc[]\tikztonodes}%
+  }%
+}


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,130 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+\usepgflibrary{ext.transformations.mirror}
+\tikzset{
+  mirror/.code={%
+    \pgfutil at in@{--}{#1}%
+    \ifpgfutil at in@
+      \tikzext at trans@mirror#1\tikz at stop
+    \else
+      \tikz at addtransform{\tikz at scan@one at point\pgfqtransformmirror#1\relax}%
+    \fi},
+  ymirror/.code={\pgfutil at ifnextchar(\tikzext at trans@ymirror at coordinate\tikzext at trans@ymirror at simple#1\tikz at stop},
+  xmirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xmirror at coordinate\tikzext at trans@xmirror at simple#1\tikz at stop},
+  mirror x/.code={%
+    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
+    \edef\tikz at marshal{%
+      \noexpand\tikz at addtransform{%
+        \noexpand\pgftransformmirror
+          {\expandafter\noexpand\tikz at temp}
+          {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+                                {\noexpand\pgfqpointxy{0}{1}}}}}%
+    \tikz at marshal
+  },
+  mirror y/.code={%
+    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
+    \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformmirror
+        {\expandafter\noexpand\tikz at temp}
+        {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+                              {\noexpand\pgfqpointxy{1}{0}}}}}%
+    \tikz at marshal
+  },
+  mirror/.value required,
+  ymirror/.default=+0pt,
+  xmirror/.default=+0pt,
+  mirror x/.default={(0,0)},
+  mirror y/.default={(0,0)}%
+}
+\def\tikzext at trans@mirror#1--#2\tikz at stop{%
+  \tikz at addtransform{%
+    \pgftransformmirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
+                       {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
+\def\tikzext at trans@xmirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxmirror{#1}}}
+\def\tikzext at trans@ymirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformymirror{#1}}}
+\def\tikzext at trans@xmirror at coordinate#1\tikz at stop{%
+  \tikz at scan@one at point\pgfutil at firstofone#1\relax
+  \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformxmirror{+\the\pgf at x}%
+    }%
+  }%
+  \tikz at marshal
+}
+\def\tikzext at trans@ymirror at coordinate#1\tikz at stop{%
+  \tikz at scan@one at point\pgfutil at firstofone#1\relax
+  \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformymirror{+\the\pgf at y}%
+    }%
+  }%
+  \tikz at marshal
+}
+
+\tikzset{
+  Mirror/.code={%
+    \pgfutil at in@{--}{#1}%
+    \ifpgfutil at in@
+      \tikzext at trans@Mirror#1\tikz at stop
+    \else
+      \tikz at addtransform{\tikz at scan@one at point\pgfqtransformMirror#1\relax}%
+    \fi},
+  yMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@yMirror at coordinate\tikzext at trans@yMirror at simple#1\tikz at stop},
+  xMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xMirror at coordinate\tikzext at trans@xMirror at simple#1\tikz at stop},
+  Mirror x/.code={%
+    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
+    \edef\tikz at marshal{%
+      \noexpand\tikz at addtransform{%
+        \noexpand\pgftransformMirror
+          {\expandafter\noexpand\tikz at temp}
+          {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+                                {\noexpand\pgfqpointxy{0}{1}}}}}%
+    \tikz at marshal
+  },
+  Mirror y/.code={%
+    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
+    \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformMirror
+        {\expandafter\noexpand\tikz at temp}
+        {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
+                              {\noexpand\pgfqpointxy{1}{0}}}}}%
+    \tikz at marshal
+  },
+  Mirror/.value required,
+  yMirror/.default=+0pt,
+  xMirror/.default=+0pt,
+  Mirror x/.default={(0,0)},
+  Mirror y/.default={(0,0)}%
+}
+\def\tikzext at trans@Mirror#1--#2\tikz at stop{%
+  \tikz at addtransform{%
+    \pgftransformMirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
+                       {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
+\def\tikzext at trans@xMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxMirror{#1}}}
+\def\tikzext at trans@yMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformyMirror{#1}}}
+\def\tikzext at trans@xMirror at coordinate#1\tikz at stop{%
+  \tikz at scan@one at point\pgfutil at firstofone#1\relax
+  \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformxMirror{+\the\pgf at x}%
+    }%
+  }%
+  \tikz at marshal
+}
+\def\tikzext at trans@yMirror at coordinate#1\tikz at stop{%
+  \tikz at scan@one at point\pgfutil at firstofone#1\relax
+  \edef\tikz at marshal{%
+    \noexpand\tikz at addtransform{%
+      \noexpand\pgftransformyMirror{+\the\pgf at y}%
+    }%
+  }%
+  \tikz at marshal
+}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,370 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\pgfqkeys{/pgf/calendar}{
-    style/.style={#1},
-    yesterday/.value required,
-    yesterday/.code={%
-      \begingroup
-        \pgfutil at tempcnta=\pgfcalendarifdatejulian\relax
-        \advance\pgfutil at tempcnta by -1\relax
-        \pgfcalendarjuliantodate{\pgfutil at tempcnta}{\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
-        \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
-        \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
-        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
-        \pgfcalendarjulianyeartoweek\pgfutil at tempcnta\pgfcalendarifdateyear\pgfutil at tempcntb
-        \edef\pgfcalendarifdateweek{\the\pgfutil at tempcntb}%
-        \pgfcalendar at launch@ifdate{#1}{%
-          \def\pgf at cal@temp{\pgfcalendarmatchestrue}%
-        }{%
-          \let\pgf at cal@temp\pgfutil at empty
-        }%
-        \expandafter
-      \endgroup\pgf at cal@temp
-    },
-    relative/.code 2 args={%
-      \begingroup
-        \pgfutil at tempcnta=\pgfcalendarifdatejulian\relax
-        \advance\pgfutil at tempcnta by #1\relax
-        \pgfcalendarjuliantodate{\pgfutil at tempcnta}{\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
-        \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
-        \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
-        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
-        \pgfcalendarjulianyeartoweek\pgfutil at tempcnta\pgfcalendarifdateyear\pgfutil at tempcntb
-        \edef\pgfcalendarifdateweek{\the\pgfutil at tempcntb}%
-        \pgfcalendar at launch@ifdate{#2}{%
-          \def\pgf at cal@temp{\pgfcalendarmatchestrue}%
-        }{%
-          \let\pgf at cal@temp\pgfutil at empty
-        }%
-      \expandafter
-    \endgroup\pgf at cal@temp
-    },
-    Jan/.code={\ifnum\pgfcalendarifdatemonth=1 \expandafter\pgfcalendarmatchestrue\fi},Jan/.value forbidden,
-    Feb/.code={\ifnum\pgfcalendarifdatemonth=2 \expandafter\pgfcalendarmatchestrue\fi},Feb/.value forbidden,
-    Mar/.code={\ifnum\pgfcalendarifdatemonth=3 \expandafter\pgfcalendarmatchestrue\fi},Mar/.value forbidden,
-    Apr/.code={\ifnum\pgfcalendarifdatemonth=4 \expandafter\pgfcalendarmatchestrue\fi},Apr/.value forbidden,
-    May/.code={\ifnum\pgfcalendarifdatemonth=5 \expandafter\pgfcalendarmatchestrue\fi},May/.value forbidden,
-    Jun/.code={\ifnum\pgfcalendarifdatemonth=6 \expandafter\pgfcalendarmatchestrue\fi},Jun/.value forbidden,
-    Jul/.code={\ifnum\pgfcalendarifdatemonth=7 \expandafter\pgfcalendarmatchestrue\fi},Jul/.value forbidden,
-    Aug/.code={\ifnum\pgfcalendarifdatemonth=8 \expandafter\pgfcalendarmatchestrue\fi},Aug/.value forbidden,
-    Sep/.code={\ifnum\pgfcalendarifdatemonth=9 \expandafter\pgfcalendarmatchestrue\fi},Sep/.value forbidden,
-    Oct/.code={\ifnum\pgfcalendarifdatemonth=10 \expandafter\pgfcalendarmatchestrue\fi},Oct/.value forbidden,
-    Nov/.code={\ifnum\pgfcalendarifdatemonth=11 \expandafter\pgfcalendarmatchestrue\fi},Nov/.value forbidden,
-    Dec/.code={\ifnum\pgfcalendarifdatemonth=12 \expandafter\pgfcalendarmatchestrue\fi},Dec/.value forbidden,
-    %
-    leap year/.code={%
-        \pgfutil at tempcnta=#1\relax
-        \divide\pgfutil at tempcnta4
-        \multiply\pgfutil at tempcnta4
-        \ifnum\pgfutil at tempcnta=#1\relax
-            \divide\pgfutil at tempcnta100
-            \multiply\pgfutil at tempcnta100
-            \ifnum\pgfutil at tempcnta=#1\relax
-                \divide\pgfutil at tempcnta400
-                \multiply\pgfutil at tempcnta400
-                \ifnum\pgfutil at tempcnta=#1\relax
-                    \pgfcalendarmatchestrue
-                \fi
-            \else
-                \pgfcalendarmatchestrue
-            \fi
-        \fi},
-    leap year/.default=\pgfcalendarifdateyear,
-    between days/.value required,
-    between days/.code args={#1and#2}{%
-        \pgfutil at tempcnta=#1\relax
-        \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta\else
-            \pgfutil at tempcnta=#2\relax
-            \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta\else
-                \pgfcalendarmatchestrue\fi\fi},
-    week of month/.code={%
-        \pgfutil at tempcnta=#1\relax
-        \multiply\pgfutil at tempcnta7
-        \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta\else
-            \advance\pgfutil at tempcnta-7
-            \ifnum\pgfcalendarifdateday>\pgfutil at tempcnta
-                \pgfcalendarmatchestrue
-            \fi
-        \fi},
-    week of month'/.code={%
-        \pgfcalendar at getlastYMX\pgfcalendarifdateyear\pgfcalendarifdatemonth\pgfutil at tempcnta
-        \advance\pgfutil at tempcnta1
-        \pgfutil at tempcntb=#1\relax
-        \multiply\pgfutil at tempcntb7
-        \advance\pgfutil at tempcnta-\pgfutil at tempcntb
-        \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta\else
-            \advance\pgfutil at tempcnta+7
-            \ifnum\pgfcalendarifdateday<\pgfutil at tempcnta
-                \pgfcalendarmatchestrue
-            \fi
-        \fi},
-    first/.code={\pgfutil at in@:{#1}\ifpgfutil at in@
-        \pgfcalendar at ifdate@first{}#1\pgf at stop\else
-        \pgfcalendar at ifdate@first{}1:#1\pgf at stop\fi},
-    last/.code={\pgfutil at in@:{#1}\ifpgfutil at in@
-        \pgfcalendar at ifdate@first'#1\pgf at stop\else
-        \pgfcalendar at ifdate@first'1:#1\pgf at stop\fi},
-    % logic
-    not/.value required,
-    not/.code=%
-        \begingroup
-            \let\pgf at cal@tempa\pgfutil at empty
-            \pgfcalendar at launch@ifdate{#1}{}{\def\pgf at cal@tempa{\pgfcalendarmatchestrue}}%
-        \expandafter\endgroup\pgf at cal@tempa,
-    and/.value required,
-    and/.code=% and = {<cond 1>, <cond 2>, <cond 3>, …}
-      \begingroup
-        \pgfcalendarmatchestrue
-        \pgfqkeys{/pgf/calendar/and}{#1}%
-        \ifpgfcalendarmatches % is it still true?
-          \expandafter\pgfutil at firstoftwo
-        \else
-          \expandafter\pgfutil at secondoftwo
-        \fi
-        {\def\pgf at cal@temp{\pgfcalendarmatchestrue}}%
-        {\let\pgf at cal@temp\pgfutil at empty}%
-      \expandafter\endgroup\pgf at cal@temp,
-    and/.unknown/.code=% only inside the group of and/.code
-      \ifpgfcalendarmatches
-        \expandafter\pgfutil at firstofone
-      \else
-        \expandafter\pgfutil at gobble
-      \fi
-      {%
-        \begingroup
-          \pgfcalendar at launch@ifdate{\pgfkeyscurrentname={#1}}%
-          {\let\pgf at cal@temp\pgfutil at empty}{\def\pgf at cal@temp{\pgfcalendarmatchesfalse}}
-        \expandafter\endgroup\pgf at cal@temp
-      },%
-    calendar week of month/.default=1,
-    calendar week of month'/.default=1,
-    calendar week of month/.code={%
-      \begingroup
-        \pgfutil at tempcnta=\pgfcalendarifdateday\relax
-        \advance\pgfutil at tempcnta by 5
-        \advance\pgfutil at tempcnta by -\pgfcalendarifdateweekday\relax
-        \divide\pgfutil at tempcnta by 7
-        \advance\pgfutil at tempcnta by -#1\relax
-        \expandafter\endgroup\expandafter
-      \ifnum\the\pgfutil at tempcnta=-1
-        \pgfcalendarmatchestrue
-      \fi},
-    calendar week of month'/.code={%
-      \begingroup
-        \pgfcalendar at getlastYMX\pgfcalendarifdateyear\pgfcalendarifdatemonth\pgfutil at tempcnta
-        \advance\pgfutil at tempcnta by -\pgfcalendarifdateday\relax
-        \edef\pgfcalendarifdateday{\the\pgfutil at tempcnta}%
-        \pgfutil at tempcnta=-\pgfcalendarifdateweekday\relax
-        \advance\pgfutil at tempcnta by 5
-        \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcnta}%
-        \let\pgf at cal@temp\pgfutil at empty
-        \pgfcalendar at launch@ifdate{calendar week of month={#1}}{\def\pgf at cal@temp{\pgfcalendarmatchestrue}}{}%
-      \expandafter\endgroup\pgf at cal@temp}}
-
-\def\pgfcalendar at ifdate@first#1#2:#3\pgf at stop{%
-    \pgfqkeys{/pgf/calendar}{and={#3, week of month#1={#2}}}}
-\def\pgfcalendar at getlastYMX#1#2#3{% #1 = year, #2 = month, #3 := last day
-    \begingroup
-        \ifnum#2=2 % stupid February
-            \pgfcalendarmatchesfalse
-            \pgfqkeys{/pgf/calendar}{leap year={#1}}%
-            \ifpgfcalendarmatches
-              #3=29
-            \else
-              #3=28
-            \fi
-        \else
-            #3=\ifcase#2\relax\or
-            31\or\or31\or30\or31\or30\or31\or31\or30\or31\or30\or31\fi
-        \fi
-        \edef\pgf at cal@temp{#3=\the#3\relax}
-      \expandafter
-    \endgroup\pgf at cal@temp}
-
-%
-% weeks
-%
-\def\pgfcalendar at week@setup#1{%
-  \pgfutil at IfUndefined{pgfcalendar at week@#1}{%
-    \begingroup
-      \pgfcalendardatetojulian{#1-01-01}\pgfutil at tempcnta
-      \pgfcalendarjuliantoweekday\pgfutil at tempcnta\pgfutil at tempcntb
-      %
-      % tempcnta holds the julian number for first day of the current year
-      % tempcntb holds the weekday for the first day of the current year
-      %
-      % set tempcnta to the Monday of the week with first day of current year
-      \advance\pgfutil at tempcnta by -\pgfutil at tempcntb
-      %
-      % if the first week starts at Fri, Sat or Sun, next week is the 1st week
-      \ifnum\pgfutil at tempcntb>3\relax
-        \advance\pgfutil at tempcnta by 7\relax
-      \fi
-      % setup macro for year with {Julian number for day of first week}{weekday of -01-01}
-      \expandafter\xdef\csname pgfcalendar at week@#1\endcsname{{\the\pgfutil at tempcnta}{\the\pgfutil at tempcntb}}%
-    \endgroup
-  }{}%
-}
-
-\def\pgfcalendarjulianyeartoweek#1#2#3{\pgfcalendarjulianyeartoweek@{#1}{#2}{#3}{\iftrue}}
-\def\pgfcalendarjulianyeartoweek@#1#2#3#4{%
-  % #1 = julian date (count)
-  % #2 = year
-  % #3 = count that holds the week at the end
-  % #4 = \iftrue or \iffalse: whether week 53 needs to be checked (\iffalse when determing week from next year)
-  \begingroup
-    \pgfcalendar at week@setup{#2}%
-    #3=#1\relax
-    %
-    % calculate difference of days between current date and start of week 1
-    %
-    \advance#3 by -\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname pgfcalendar at week@#2\endcsname\relax
-    \ifnum#3<0\relax % whoops, we are in the week of the previous year
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {% if first day of the year is Fri, Sat or Sun
-      \ifnum\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname pgfcalendar at week@#2\endcsname>3\relax
-        \expandafter\pgfutil at firstoftwo
-      \else
-        \expandafter\pgfutil at secondoftwo
-      \fi
-      {% we need to check the week of the previous year
-        #3=#2\relax
-        \advance#3 by -1
-        \edef\pgf at cal@temp{\noexpand\pgfcalendarjulianyeartoweek@{#1}{\the#3}{#3}\noexpand\iffalse}%
-        \pgf at cal@temp
-      }{% yeah, it's weird
-        \divide#3 by 7
-        \advance#3 by 1        
-      }%
-    }{%
-      \divide#3 by 7
-      \advance#3 by 1
-      #4%
-        \expandafter\pgfutil at firstofone
-      \else
-        \expandafter\pgfutil at gobble
-      \fi
-      {%
-        \ifnum#3=53\relax % whoops, we are possibly in the first week of the next year
-            \expandafter\pgfutil at firstofone
-        \else
-            \expandafter\pgfutil at gobble
-        \fi
-        {%
-          \begingroup
-            % check whether we're already in week 1 of the next year
-            #3=#2\relax
-            \advance#3 by 1
-            \expandafter\pgfcalendar at week@setup\expandafter{\the#3}%
-            \ifnum#1<\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname pgfcalendar at week@\the#3\endcsname\relax
-              #3=53
-            \else
-              #3=1
-            \fi
-            \expandafter
-          \endgroup\expandafter#3\the#3\relax
-        }%
-      }%
-    }%
-    \expandafter
-  \endgroup\expandafter
-  #3\the#3\relax
-}
-
-%
-% shorthands for weeks (n)
-%
-% n-: shortest
-% n=: shortest but prepends whitespace
-% n0: leading zero
-%
-\expandafter\def\csname pgfcalendar at shorthand@n-\endcsname{%
-  \if0\pgfcalendarcurrentweek\else\pgfcalendarcurrentweek\fi}
-\expandafter\def\csname pgfcalendar at shorthand@n=\endcsname{%
-  {\pgfutil at tempcnta=\pgfcalendarcurrentweek\relax\ifnum\pgfutil at tempcnta<10\relax\setbox0=\hbox{1}\kern\wd0\relax\fi\the\pgfutil at tempcnta}}
-\expandafter\def\csname pgfcalendar at shorthand@n0\endcsname{%
-  \pgfcalendarcurrentweek}
-
-%
-% Overwriting original \pgfcalendar
-%
-\long\def\pgfcalendar#1#2#3#4{%
-  \begingroup%
-    % Setup local \ifdate
-    \let\ifdate=\pgfcalendar at local@ifdate%
-    % Let's start with computing start and end dates...
-    \def\pgfcalendarprefix{#1}%
-    \pgfcalendardatetojulian{#2}{\pgfcalendarcurrentjulian}%
-    \edef\pgfcalendarbeginjulian{\the\pgfcalendarcurrentjulian}%
-    \edef\pgfcalendarbeginiso{#2}%
-    \pgfcalendardatetojulian{#3}{\pgfutil at tempcnta}%
-    \edef\pgfcalendarendjulian{\the\pgfutil at tempcnta}%
-    \advance\pgfutil at tempcnta by1\relax%
-    \edef\pgfcalendarendjulianplus{\the\pgfutil at tempcnta}%
-    \edef\pgfcalendarendiso{#3}%
-    %
-    % Start main loop
-    %
-    \loop%
-    \ifnum\pgfcalendarcurrentjulian<\pgfcalendarendjulianplus\relax%
-      % Setup information about current date
-      \pgfcalendarjuliantodate{\pgfcalendarcurrentjulian}%
-        {\pgfcalendarcurrentyear}{\pgfcalendarcurrentmonth}{\pgfcalendarcurrentday}%
-      \pgfcalendarjuliantoweekday{\pgfcalendarcurrentjulian}{\pgfutil at tempcntb}%
-      \edef\pgfcalendarcurrentweekday{\the\pgfutil at tempcntb}%
-      \pgfcalendarjulianyeartoweek{\pgfcalendarcurrentjulian}{\pgfcalendarcurrentyear}{\pgfutil at tempcntb}%
-      \edef\pgfcalendarcurrentweek{\ifnum\pgfutil at tempcntb<10 0\fi\the\pgfutil at tempcntb}%
-      % Render:
-      #4%
-      % Advance day:
-      \advance\pgfcalendarcurrentjulian by1\relax%
-    \repeat%
-  \endgroup%
-}
-
-%
-% Overwriting original \pgfcalendar at local@ifdate
-%
-\def\pgfcalendar at local@ifdate{%
-  \let\pgfcalendarifdatejulian=\pgfcalendarcurrentjulian
-  \let\pgfcalendarifdateyear=\pgfcalendarcurrentyear
-  \let\pgfcalendarifdatemonth=\pgfcalendarcurrentmonth
-  \let\pgfcalendarifdateday=\pgfcalendarcurrentday
-  \let\pgfcalendarifdateweekday=\pgfcalendarcurrentweekday
-  \let\pgfcalendarifdateweek=\pgfcalendarcurrentweek
-  \pgfcalendar at launch@ifdate%
-}
-%
-% Overwritigin original \pgfcalendarifdate
-%
-\def\pgfcalendarifdate#1#2#3#4{%
-  \pgfcalendardatetojulian{#1}{\pgfutil at tempcnta}%
-  \pgfcalendarjuliantodate{\pgfutil at tempcnta}
-    {\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
-  \edef\pgfcalendarifdatejulian{\the\pgfutil at tempcnta}%
-  % Compute info about date
-  \pgfcalendarjuliantoweekday{\pgfutil at tempcnta}{\pgfutil at tempcntb}%
-  \edef\pgfcalendarifdateweekday{\the\pgfutil at tempcntb}%
-  \pgfcalendarjulianyeartoweek{\pgfcalendarifdatejulian}{\pgfcalendarifdateyear}{\pgfutil at tempcntb}%
-  \edef\pgfcalendarifdateweek{\ifnum\pgfutil at tempcntb<10 0\fi\the\pgfutil at tempcntb}%
-  %
-  \pgfcalendar at launch@ifdate{#2}{#3}{#4}%
-}
-
-\pgfqkeys{/pgf/calendar/week}{.value required,.code={\ifnum#1=\pgfcalendarifdateweek\relax\expandafter\pgfcalendarmatchestrue\fi}}
-
-% Overwriting shorthands of pgfcalendar
-\expandafter\def\csname pgfcalendar at shorthand@d-\endcsname{%
-  \if0\pgfcalendarcurrentday\else\pgfcalendarcurrentday\fi}
-\expandafter\def\csname pgfcalendar at shorthand@m-\endcsname{%
-  \if0\pgfcalendarcurrentmonth\else\pgfcalendarcurrentmonth\fi}
-
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfcalendar-ext.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,13 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\input pgfcalendar.tex
-\catcode`\@=11
-\input pgfcalendar-ext.code.tex
-\catcode`\@=\pgfcalendaratcode
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgfkeyslibraryext.pgfkeys-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,139 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\input pgfmath.tex
-
-%% Handlers
-%% .pgfmath evaluates values given to keys in PGFmath before handing them over.
-%% .pgfmath int truncates the result
-%% .pgfmath strcat concatenates the given values
-\pgfqkeys{/handlers}{
-  .pgfmath/.code=%
-    \begingroup
-      \pgfmathparse{#1}%
-    \expandafter\endgroup\expandafter
-    \pgfkeys at exp@call\expandafter{\pgfmathresult},
-  .pgfmath int/.code=%
-    \begingroup
-      \pgfmathint{#1}%
-    \expandafter\endgroup\expandafter
-    \pgfkeys at exp@call\expandafter{\pgfmathresult},
-  .pgfmath wrap/.code 2 args={%
-    \def\pgfkeys at temp##1{\def\pgfkeys at temp{#1}}%
-    \begingroup
-      \pgfmathparse{#2}%
-      \expandafter\pgfkeys at temp\expandafter{\pgfmathresult}%
-    \expandafter\endgroup\expandafter
-    \pgfkeys at exp@call\expandafter{\pgfkeys at temp}%
-  },
-  .pgfmath if/.code n args={3}{%
-    \begingroup
-      \pgfmathifthenelse{#1}{"1"}{"0"}%
-    \expandafter\endgroup\expandafter
-    \ifcase\pgfmathresult\relax
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeys at exp@call{#3}}%
-    {\pgfkeys at exp@call{#2}}%
-  },
-  .if/.code n args={4}{%
-    \if#1#2%
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeys at exp@call{#3}}%
-    {\pgfkeys at exp@call{#4}}%
-  },
-  .ifnum/.code n args={3}{%
-    \ifnum#1\relax
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeys at exp@call{#2}}%
-    {\pgfkeys at exp@call{#3}}%
-  },
-  .ifdim/.code n args={3}{%
-    \ifdim#1\relax
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeys at exp@call{#2}}%
-    {\pgfkeys at exp@call{#3}}%
-  },
-  .ifx/.code n args={4}{%
-    \ifx#1#2%
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeys at exp@call{#3}}%
-    {\pgfkeys at exp@call{#4}}%
-  },
-  .ifxempty/.code n args={3}{%
-    \edef\pgfkeys at temp{#1}%
-    \pgfutil at ifxempty\pgfkeys at temp{\pgfkeys at exp@call{#2}}{\pgfkeys at exp@call{#3}}%
-  },
-  .ifempty/.code n args={3}{%
-    \pgfutil at ifempty{#1}{\pgfkeys at exp@call{#2}}{\pgfkeys at exp@call{#3}}%
-  },
-  %% http://tex.stackexchange.com/a/144187/16595
-  %% key/.List={(point-1),(point-2),(point-...),(point-6)} will call
-  %% key=(point-1)(point-2)(point-3)(point-4)(point-5),(point-6)
-  .List/.code=%
-    \let\pgfkeys at global@temp\pgfutil at empty
-    \foreach\pgfkeys at temp in{#1}{%
-        \expandafter\pgfutil at g@addto at macro\expandafter\pgfkeys at global@temp\expandafter{\pgfkeys at temp}%
-    }%
-    \expandafter\pgfkeys at exp@call\expandafter{\pgfkeys at global@temp}%
-}
-
-\pgfqkeys{/utils}{
-  if/.code n args={3}{%
-    \begingroup
-      \pgfmathifthenelse{#1}{"1"}{"0"}%
-    \expandafter\endgroup\expandafter
-    \ifcase\pgfmathresult\relax
-      \expandafter\pgfutil at firstoftwo
-    \else
-      \expandafter\pgfutil at secondoftwo
-    \fi
-    {\pgfkeysalso{#3}}
-    {\pgfkeysalso{#2}}%
-  },
-  TeX/if/.code n args={4}{%
-    \if#1#2\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
-    {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}%
-  },
-  TeX/ifnum/.code n args={3}{%
-    \ifnum#1\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
-    {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
-  },
-  TeX/ifdim/.code n args={3}{%
-    \ifdim#1\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
-    {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
-  },
-  TeX/ifx/.code n args={4}{%
-    \ifx#1#2\relax\expandafter\pgfutil at firstoftwo\else\expandafter\pgfutil at secondoftwo\fi
-    {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}%
-  },
-  TeX/ifxempty/.code n args={3}{%
-    \edef\pgfkeys at temp{#1}%
-    \pgfutil at ifxempty\pgfkeys at temp{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
-  },
-  TeX/ifempty/.code n args={3}{%
-    \pgfutil at ifempty{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
-  },
-  tex/.search also=/utils/TeX,
-}
-
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.pgfkeys-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,11 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\input pgfkeyslibraryext.pgfkeys-plus.code.tex
-
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlearrow.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,66 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\pgfset{
-    circle arrow start angle/.initial=,
-    circle arrow end angle/.initial=,
-    circle arrow delta angle/.initial=,
-    circle arrow arrows/.initial=-,
-    circle arrow/@turn left/.style={/pgf/circle arrow arrows=->,/pgf/circle arrow delta angle=340},
-    circle arrow/@turn right/.style={/pgf/circle arrow arrows=<-,/pgf/circle arrow delta angle=340},
-    circle arrow turn left north/.style  = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=100},
-    circle arrow turn left east/.style   = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=10},
-    circle arrow turn left south/.style  = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=280},
-    circle arrow turn left west/.style   = {/pgf/circle arrow/@turn left,  /pgf/circle arrow start angle=190},
-    circle arrow turn right north/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=100},
-    circle arrow turn right east/.style  = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=10},
-    circle arrow turn right south/.style = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=280},
-    circle arrow turn right west/.style  = {/pgf/circle arrow/@turn right, /pgf/circle arrow start angle=190},
-}
-\pgfdeclareshape{circle arrow}{
-    \inheritsavedanchors[from=circle]
-    \inheritanchorborder[from=circle]
-    \inheritanchor[from=circle]{north}
-    \inheritanchor[from=circle]{north west}
-    \inheritanchor[from=circle]{north east}
-    \inheritanchor[from=circle]{center}
-    \inheritanchor[from=circle]{west}
-    \inheritanchor[from=circle]{east}
-    \inheritanchor[from=circle]{mid}
-    \inheritanchor[from=circle]{mid west}
-    \inheritanchor[from=circle]{mid east}
-    \inheritanchor[from=circle]{base}
-    \inheritanchor[from=circle]{base west}
-    \inheritanchor[from=circle]{base east}
-    \inheritanchor[from=circle]{south}
-    \inheritanchor[from=circle]{south west}
-    \inheritanchor[from=circle]{south east}
-    \backgroundpath{
-        \pgfkeysgetvalue{/pgf/circle arrow start angle}\pgf at sh@circlearrow at s
-        \pgfkeysgetvalue{/pgf/circle arrow end angle}\pgf at sh@circlearrow at e
-        \pgfkeysgetvalue{/pgf/circle arrow delta angle}\pgf at sh@circlearrow at d
-        \ifx\pgf at sh@circlearrow at s\pgfutil at empty%
-            \pgfmathsetmacro\pgf at sh@circlearrow at s{\pgf at sh@circlearrow at e-\pgf at sh@circlearrow at d}%
-        \else
-            \ifx\pgf at sh@circlearrow at e\pgfutil at empty%
-                \pgfmathsetmacro\pgf at sh@circlearrow at e{\pgf at sh@circlearrow at s+\pgf at sh@circlearrow at d}%
-            \fi%
-        \fi
-        \pgfutil at tempdima=\radius
-        \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
-        \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
-        \ifdim\pgf at xb<\pgf at yb
-          \advance\pgfutil at tempdima by-\pgf at yb
-        \else
-          \advance\pgfutil at tempdima by-\pgf at xb
-        \fi
-        \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpointpolar{\pgf at sh@circlearrow at s}{\pgfutil at tempdima}}}%
-        \pgfpatharc{\pgf at sh@circlearrow at s}{\pgf at sh@circlearrow at e}{\pgfutil at tempdima}%
-        \pgfkeysgetvalue{/pgf/circle arrow arrows}\pgf at temp
-        \expandafter\pgfsetarrows\expandafter{\pgf at temp}%
-    }
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.circlecrosssplit.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,292 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\usepgflibrary{shapes.multipart}
-\let\pgfnodeparttrbox\pgfnodeparttwobox
-\let\pgfnodepartblbox\pgfnodepartthreebox
-\let\pgfnodepartbrbox\pgfnodepartfourbox
-\newif\ifpgfcirclecrosssplitcustomfill
-\pgfset{%
-  circle cross split part fill/.code=%
-    \def\pgf at lib@sh at ccs@list at fill{#1}%
-    \pgfcirclecrosssplitcustomfilltrue,%
-  circle cross split uses custom fill/.is if=pgfcirclecrosssplitcustomfill
-}
-\def\pgf at lib@sh at ccs@list at fill{none}%
-\pgfdeclareshape{circle cross split}{%
-  \nodeparts{text,two,three,four}%
-  \savedanchor\centerpoint{%
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \pgf at x =\wd\pgfnodeparttextbox
-    \pgf at yb=\dp\pgfnodeparttextbox
-    \pgf at y=\dp\pgfnodeparttwobox
-    \ifdim\pgf at yb>\pgf at y
-      \pgf at y=\pgf at yb
-    \fi
-    \advance\pgf at x\pgf at xa
-    \advance\pgf at y-\pgf at ya
-    \advance\pgf at x.5\pgflinewidth
-    \advance\pgf at y-.5\pgflinewidth
-  }%
-  \savedanchor\twoanchor{%
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at x.5\pgflinewidth
-    \advance\pgf at x\pgf at xa
-    \advance\pgf at y.5\pgflinewidth
-    \advance\pgf at y\pgf at ya
-    \pgf at yb\dp\pgfnodeparttextbox
-    \pgf at yc\dp\pgfnodeparttwobox
-    \ifdim\pgf at yb>\pgf at yc
-      \pgf at yc\pgf at yb
-    \fi
-    \advance\pgf at y\pgf at yc
-  }%
-  \savedanchor\threeanchor{%
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \pgf at x\wd\pgfnodeparttextbox
-    \pgf at yb\dp\pgfnodeparttextbox
-    \pgf at yc\dp\pgfnodeparttwobox
-    \ifdim\pgf at yb>\pgf at yc
-      \pgf at yc\pgf at yb
-    \fi
-    \advance\pgf at y-\pgf at yc
-    \advance\pgf at y-2\pgf at ya
-    \advance\pgf at y-\pgflinewidth
-    \pgf at yb\ht\pgfnodepartthreebox
-    \pgf at yc\ht\pgfnodepartfourbox
-    \ifdim\pgf at yb>\pgf at yc
-      \pgf at yc\pgf at yb
-    \fi
-    \advance\pgf at y-\pgf at yc
-    \advance\pgf at x-\wd\pgfnodepartthreebox
-  }%
-  \saveddimen\radius{%
-    % height (upper):
-    \pgf at y=\ht\pgfnodeparttextbox
-    \ifdim\pgf at y<\ht\pgfnodeparttwobox
-      \pgf at y=\ht\pgfnodeparttwobox
-    \fi
-    \ifdim\dp\pgfnodeparttextbox>\dp\pgfnodeparttwobox
-      \advance\pgf at y by\dp\pgfnodeparttextbox
-    \else
-      \advance\pgf at y by\dp\pgfnodeparttwobox
-    \fi
-    % height (lower):
-    \pgf at yb\ht\pgfnodepartthreebox
-    \ifdim\pgf at yb<\ht\pgfnodepartfourbox
-      \pgf at yb=\ht\pgfnodepartfourbox
-    \fi
-    \pgf at yc=\dp\pgfnodepartthreebox
-    \ifdim\pgf at yc<\dp\pgfnodepartfourbox
-      \advance\pgf at yb by\dp\pgfnodepartfourbox
-    \else
-      \advance\pgf at yb by\pgf at yc
-    \fi
-    \ifdim\pgf at yc>\pgf at y
-      \pgf at y=\pgf at yc
-    \fi
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at y2\pgf at ya
-    %
-    \pgf at x\wd\pgfnodeparttextbox
-    \pgf at xa\wd\pgfnodepartthreebox
-    \pgf at xb\wd\pgfnodeparttwobox
-    \pgf at xc\wd\pgfnodepartfourbox
-    \ifdim\pgf at xa>\pgf at x
-      \pgf at x\pgf at xa
-    \fi
-    \ifdim\pgf at xb>\pgf at x
-      \pgf at x\pgf at xb
-    \fi
-    \ifdim\pgf at xc>\pgf at x
-      \pgf at x\pgf at xc
-    \fi
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at x by 2\pgf at xa
-    \ifdim\pgf at y>\pgf at x
-      \pgf at x=\pgf at y
-    \fi
-    \advance\pgf at x by\pgflinewidth
-    %
-    \pgf at xa=\pgf at x
-    \pgf at ya=\pgf at y
-    % from circle:
-    \pgf at process{\pgfpointnormalised{}}%
-    \ifdim\pgf at x>\pgf at y%
-        \c at pgf@counta=\pgf at x%
-        \ifnum\c at pgf@counta=0\relax%
-        \else%
-          \divide\c at pgf@counta by 255\relax%
-          \pgf at xa=16\pgf at xa\relax%
-          \divide\pgf at xa by\c at pgf@counta%
-          \pgf at xa=16\pgf at xa\relax%
-        \fi%
-      \else%
-        \c at pgf@counta=\pgf at y%
-        \ifnum\c at pgf@counta=0\relax%
-        \else%
-          \divide\c at pgf@counta by 255\relax%
-          \pgf at ya=16\pgf at ya\relax%
-          \divide\pgf at ya by\c at pgf@counta%
-          \pgf at xa=16\pgf at ya\relax%
-        \fi%
-    \fi%
-    \pgf at x=\pgf at xa%
-    %
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at x<.5\pgf at xb
-        \pgf at x=.5\pgf at xb
-    \fi
-    \ifdim\pgf at x<.5\pgf at yb
-        \pgf at x=.5\pgf at yb
-    \fi
-    %
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \ifdim\pgf at xb<\pgf at yb
-      \advance\pgf at x\pgf at yb
-    \else
-      \advance\pgf at x\pgf at xb
-    \fi
-  }%
-  \inheritanchorborder[from=circle]%
-  \inheritanchor[from=circle]{north}%
-  \inheritanchor[from=circle]{north west}%
-  \inheritanchor[from=circle]{north east}%
-  \inheritanchor[from=circle]{center}%
-  \inheritanchor[from=circle]{west}%
-  \inheritanchor[from=circle]{east}%
-  \inheritanchor[from=circle]{mid}%
-  \inheritanchor[from=circle]{mid west}%
-  \inheritanchor[from=circle]{mid east}%
-  \inheritanchor[from=circle]{base}%
-  \inheritanchor[from=circle]{base west}%
-  \inheritanchor[from=circle]{base east}%
-  \inheritanchor[from=circle]{south}%
-  \inheritanchor[from=circle]{south west}%
-  \inheritanchor[from=circle]{south east}%
-  \anchor{two}{\twoanchor}%
-  \anchor{three}{\threeanchor}%
-  \anchor{four}{
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \twoanchor
-    \pgf at y=\pgf at ya
-  }%
-  \anchor{lower base}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-  }
-  \anchor{lower base west}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-    \advance\pgf at x by-\radius
-  }
-  \anchor{lower base east}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-    \advance\pgf at x by\radius
-  }
-  \anchor{lower mid}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-    \pgfmathsetlength\pgf at ya{+.5ex}%
-    \advance\pgf at y by\pgf at ya
-  }
-  \anchor{lower mid west}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-    \advance\pgf at x by-\radius
-    \pgfmathsetlength\pgf at ya{+.5ex}%
-    \advance\pgf at y by\pgf at ya
-  }
-  \anchor{lower mid east}{%
-    \threeanchor
-    \pgf at ya=\pgf at y
-    \centerpoint
-    \pgf at y=\pgf at ya
-    \advance\pgf at x by\radius
-    \pgfmathsetlength\pgf at ya{+.5ex}%
-    \advance\pgf at y by\pgf at ya
-  }
-  \inheritbackgroundpath[from=circle]
-  \beforebackgroundpath{%
-    \pgfutil at tempdima=\radius
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \ifdim\pgf at xb<\pgf at yb
-      \advance\pgfutil at tempdima by-\pgf at yb
-    \else
-      \advance\pgfutil at tempdima by-\pgf at xb
-    \fi
-    \advance\pgfutil at tempdima by-.5\pgflinewidth%
-    \pgfsetshortenstart{0pt}%
-    \pgfsetshortenend{0pt}%
-    \pgfsetarrows{-}%
-    \pgfpathmoveto
-      {\pgfpointadd{\centerpoint}{\pgfqpoint{-\pgfutil at tempdima}{0pt}}}%
-    \pgfpathlineto
-      {\pgfpointadd{\centerpoint}{\pgfqpoint{\pgfutil at tempdima}{0pt}}}%
-    \pgfpathmoveto
-      {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{-\pgfutil at tempdima}}}%
-    \pgfpathlineto
-      {\pgfpointadd{\centerpoint}{\pgfqpoint{0pt}{\pgfutil at tempdima}}}%
-    \pgfusepathqstroke
-  }%
-  \behindbackgroundpath{%
-    \pgfutil at tempdima=\radius
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%  
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%  
-    \ifdim\pgf at xb<\pgf at yb
-      \advance\pgfutil at tempdima by-\pgf at yb
-    \else
-      \advance\pgfutil at tempdima by-\pgf at xb
-    \fi
-    \advance\pgfutil at tempdima by-.5\pgflinewidth%
-    \ifpgfcirclecrosssplitcustomfill%
-      \pgf at lib@sh at rs@process at list{\pgf at lib@sh at ccs@list at fill}{4}%
-      {%
-        \pgfmathloop
-           \ifnum\pgfmathcounter>4%
-           \else%
-             \pgf at lib@sh at getalpha\pgf at lib@sh at rs@number{\pgfmathcounter}%
-              \edef\pgf at tempa
-                {\csname pgf at lib@sh at rs@\pgf at lib@sh at rs@number @item\endcsname}%
-              \ifx\pgf at tempa\pgf at lib@sh at rs@nonetext\else
-                \pgfsetfillcolor{\pgf at tempa}%
-                \ifcase\pgfmathcounter\or
-                  \def\pgf at lib@sh at ccs@angle{90}\or
-                  \def\pgf at lib@sh at ccs@angle{0}\or
-                  \def\pgf at lib@sh at ccs@angle{180}\else
-                  \def\pgf at lib@sh at ccs@angle{270}%
-                \fi
-                \pgfpathmoveto{\centerpoint}%
-                \pgfpathlineto{\pgfpointadd{\centerpoint}
-                  {\pgfqpointpolar{\pgf at lib@sh at ccs@angle}{\pgfutil at tempdima}}}%
-                \pgfpatharc{+\pgf at lib@sh at ccs@angle}{\pgf at lib@sh at ccs@angle+90}
-                  {+\pgfutil at tempdima}%
-                \pgfpathclose
-                \pgfusepathqfill
-              \fi
-        \repeatpgfmathloop
-      }%
-    \fi
-  }%
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.heatmark.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,181 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\pgfset{
-    heatmark arc width/.initial=+4pt,
-    heatmark arc sep/.initial=+1pt,
-    heatmark arc rings/.initial=3,
-    heatmark arcs/.initial=3,
-    heatmark arc sep angle/.initial=20,
-    heatmark inner opacity/.initial=.8,
-    heatmark outer opacity/.initial=.2
-}
-\pgfdeclareshape{heatmark}
-%
-% Draws a circle around the text
-%
-{
-  \savedanchor\centerpoint{%
-    \pgf at x=.5\wd\pgfnodeparttextbox%
-    \pgf at y=.5\ht\pgfnodeparttextbox%
-    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
-  }
-
-  \saveddimen\innerradius{%
-    % 
-    % Caculate ``height radius''
-    % 
-    \pgf at ya=.5\ht\pgfnodeparttextbox%
-    \advance\pgf at ya by.5\dp\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at ya by\pgf at yb%
-    % 
-    % Caculate ``width radius''
-    % 
-    \pgf at xa=.5\wd\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at xa by\pgf at xb%
-    % 
-    % Calculate length of radius vector:
-    % 
-    \pgf at process{\pgfpointnormalised{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
-    \ifdim\pgf at x>\pgf at y%
-        \c at pgf@counta=\pgf at x%
-        \ifnum\c at pgf@counta=0\relax%
-        \else%
-          \divide\c at pgf@counta by 255\relax%
-          \pgf at xa=16\pgf at xa\relax%
-          \divide\pgf at xa by\c at pgf@counta%
-          \pgf at xa=16\pgf at xa\relax%
-        \fi%
-      \else%
-        \c at pgf@counta=\pgf at y%
-        \ifnum\c at pgf@counta=0\relax%
-        \else%
-          \divide\c at pgf@counta by 255\relax%
-          \pgf at ya=16\pgf at ya\relax%
-          \divide\pgf at ya by\c at pgf@counta%
-          \pgf at xa=16\pgf at ya\relax%
-        \fi%
-    \fi%
-    \pgf at x=\pgf at xa%
-    % 
-    % If necessary, adjust radius so that the size requirements are
-    % met: 
-    % 
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%  
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%  
-    \ifdim\pgf at x<.5\pgf at xb%
-        \pgf at x=.5\pgf at xb%
-    \fi%
-    \ifdim\pgf at x<.5\pgf at yb%
-        \pgf at x=.5\pgf at yb%
-    \fi%
-  }%
-
-  \saveddimen\radius{%
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%  
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%  
-    \ifdim\pgf at xb<\pgf at yb%
-      \advance\pgf at x by\pgf at yb%
-    \else%
-      \advance\pgf at x by\pgf at xb%
-    \fi%
-    \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}%
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}+\pgfkeysvalueof{/pgf/heatmark arc sep}}%
-    \multiply\pgf at xa\c at pgf@counta
-    \advance\pgf at x\pgf at xa
-  }%
-  %
-  % Anchors
-  % 
-  \inheritanchor[from=circle]{north}
-  \inheritanchor[from=circle]{north west}
-  \inheritanchor[from=circle]{north east}
-  \inheritanchor[from=circle]{center}
-  \inheritanchor[from=circle]{west}
-  \inheritanchor[from=circle]{east}
-  \inheritanchor[from=circle]{mid}
-  \inheritanchor[from=circle]{mid west}
-  \inheritanchor[from=circle]{mid east}
-  \inheritanchor[from=circle]{base}
-  \inheritanchor[from=circle]{base west}
-  \inheritanchor[from=circle]{base east}
-  \inheritanchor[from=circle]{south}
-  \inheritanchor[from=circle]{south west}
-  \inheritanchor[from=circle]{south east}
-  \inheritanchorborder[from=circle]
-  %
-  % Background path
-  %
-  \backgroundpath{
-    \pgfutil at tempdima=\innerradius%
-    \pgfpathcircle{\centerpoint}{\pgfutil at tempdima}%
-  }%
-  %
-  %
-  %
-  \behindbackgroundpath{%
-    \pgfmathsetcount\c at pgf@counta{\pgfkeysvalueof{/pgf/heatmark arc rings}}%     heat arc rings
-    \pgfmathsetcount\c at pgf@countb{\pgfkeysvalueof{/pgf/heatmark arcs}}%          heat arcs
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/heatmark arc width}}%          heat arc width
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/heatmark arc sep}}%            heat arc sep
-    %\pgfmathsetmacro\pgf at tempa{\pgfkeysvalueof{/pgf/heat arc sep angle}}%    heat arc sep angle
-    \pgfmathsetmacro\pgf at tempb{360/\c at pgf@countb-(\pgfkeysvalueof{/pgf/heatmark arc sep angle})}% heat arc
-    \pgfmathsetmacro\pgf at tempc{\pgfkeysvalueof{/pgf/shape border rotate}}%           heat rotate
-    %
-    \pgfmathsetmacro\pgf at tempd{\pgfkeysvalueof{/pgf/heatmark inner opacity}}%     heat opacity high
-    \ifnum\c at pgf@counta=1
-      \def\tikzext at heatmark@opacity at seps{0}%
-    \else
-      \pgfmathsetmacro\tikzext at heatmark@opacity at seps
-      {(\pgf at tempd-(\pgfkeysvalueof{/pgf/heatmark outer opacity}))%
-         /(\c at pgf@counta-1)}%
-    \fi
-    \pgfutil at tempcnta=0
-    \pgfutil at tempcntb=0
-    \pgf at ya\innerradius\relax
-    \pgftransformshift{\centerpoint}
-    \pgfutil at loop % ring loop
-      \advance\pgf at ya\pgf at xb % current radius + heat arc sep
-      \pgf at yb\pgf at ya         
-      \advance\pgf at yb\pgf at xa % current radius + heat arc sep + heat arc width
-      \pgfsetfillopacity{\pgf at tempd}%
-      \begingroup
-        \edef\pgf at marshal{\noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax/.try}}%
-        \pgf at marshal
-        \csname tikz at options\endcsname
-        {%
-        \pgfutil at loop
-          \pgfmathsetmacro\tikzext at heatmark@start at angle{\pgf at tempc-.5*\pgf at tempb+\pgfutil at tempcntb*(360/\c at pgf@countb)}%
-          % path
-          \begingroup
-            \edef\pgf at marshal{\noexpand\pgfset{heatmark arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}%
-                              \noexpand\pgfset{heatmark ring \the\numexpr\pgfutil at tempcnta+1\relax\space arc \the\numexpr\pgfutil at tempcntb+1\relax/.try}}%
-            \pgf at marshal
-            \csname tikz at options\endcsname
-            \pgfpathmoveto{\pgfpointpolar{\tikzext at heatmark@start at angle}{\pgf at ya}}%
-            \pgfpatharc{\tikzext at heatmark@start at angle}{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at ya}%
-            \pgfpathlineto{\pgfpointpolar{\tikzext at heatmark@start at angle+\pgf at tempb}{\pgf at yb}}%
-            \pgfpatharc{\tikzext at heatmark@start at angle+\pgf at tempb}{\tikzext at heatmark@start at angle}{\pgf at yb}%
-            \pgfpathclose
-            \pgfusepathqfill
-          \endgroup
-          \advance\pgfutil at tempcntb\@ne
-          \ifnum\pgfutil at tempcntb<\c at pgf@countb
-        \pgfutil at repeat
-        }%
-      \endgroup
-      \advance\pgfutil at tempcnta\@ne
-      \ifnum\pgfutil at tempcnta<\c at pgf@counta
-        \pgf at ya\pgf at yb
-        \pgfmathsetmacro\pgf at tempd{\pgf at tempd-\tikzext at heatmark@opacity at seps}%
-    \pgfutil at repeat
-    \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
-  }
-}
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.rectangleroundedcorners.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,318 +0,0 @@
-\pgfset{
-  rectangle with rounded corners north west radius/.initial=.5\pgflinewidth,
-  rectangle with rounded corners north east radius/.initial=.5\pgflinewidth,
-  rectangle with rounded corners south west radius/.initial=.5\pgflinewidth,
-  rectangle with rounded corners south east radius/.initial=.5\pgflinewidth,
-  rectangle with rounded corners radius/.style={
-    /pgf/rectangle with rounded corners north west radius={#1},
-    /pgf/rectangle with rounded corners north east radius={#1},
-    /pgf/rectangle with rounded corners south west radius={#1},
-    /pgf/rectangle with rounded corners south east radius={#1}}
-}%
-\pgfdeclareshape{rectangle with rounded corners}{%
-  \savedmacro\rectanglewithroundedcornersparameter{%
-    %
-    % width = max(text width + 2 * inner xseps, minimum width) + 2 * outer xseps
-    \pgf at x=\wd\pgfnodeparttextbox
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at x by 2\pgf at xc
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/minimum width}}%
-    \ifdim\pgf at x<\pgf at xc
-      \pgf at x=\pgf at xc
-    \fi
-    %
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \edef\outerxsep{\the\pgf at xc}%
-    \addtosavedmacro\outerxsep
-    \advance\pgf at x by 2\pgf at xc
-    \pgf at x=.5\pgf at x
-    \edef\halfwidth{\the\pgf at x}%
-    \addtosavedmacro\halfwidth
-    %
-    % height = max(text height + text depth + 2 * inner yseps, minimum height) + 2 * outer yseps
-    \pgf at y=\ht\pgfnodeparttextbox
-    \advance\pgf at y by \dp\pgfnodeparttextbox
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at y by 2\pgf at yc
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at y<\pgf at yc
-      \pgf at y=\pgf at yc
-    \fi
-    %
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \edef\outerysep{\the\pgf at yc}%
-    \addtosavedmacro\outerysep
-    \advance\pgf at y by 2\pgf at yc
-    \pgf at y=.5\pgf at y
-    \edef\halfheight{\the\pgf at y}%
-    \addtosavedmacro\halfheight
-    %
-    % \centerpoint
-    \pgf at x=.5\wd\pgfnodeparttextbox
-    \pgf at y=.5\ht\pgfnodeparttextbox
-    \advance\pgf at y by -.5\dp\pgfnodeparttextbox
-    \pgfextract at process\centerpoint{}%
-    \addtosavedmacro\centerpoint
-    %
-    \pgfmathsetlengthmacro\northwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north west radius}}
-    \pgfmathsetlengthmacro\northeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners north east radius}}
-    \pgfmathsetlengthmacro\southwestradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south west radius}}
-    \pgfmathsetlengthmacro\southeastradius{\pgfkeysvalueof{/pgf/rectangle with rounded corners south east radius}}
-    \addtosavedmacro\northwestradius
-    \addtosavedmacro\northeastradius
-    \addtosavedmacro\southwestradius
-    \addtosavedmacro\southeastradius
-  }%
-  \anchor{center}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-  }
-  \anchor{west}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \advance\pgf at x by -\halfwidth
-  }
-  \anchor{east}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \advance\pgf at x by \halfwidth
-  }
-  \anchor{north}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \advance\pgf at y by \halfheight
-  }
-  \anchor{south}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \advance\pgf at y by -\halfheight
-  }
-  \anchor{mid}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \pgfmathsetlength\pgf at y{+.5ex}%
-  }
-  \anchor{mid west}{%
-    \csname pgf at anchor@rectangle with rounded corners at west\endcsname
-    \pgfmathsetlength\pgf at y{+.5ex}%
-  }
-  \anchor{mid east}{%
-    \csname pgf at anchor@rectangle with rounded corners at east\endcsname
-    \pgfmathsetlength\pgf at y{+.5ex}%
-  }
-  \anchor{base}{%
-    \rectanglewithroundedcornersparameter
-    \centerpoint
-    \pgf at y=0pt
-  }
-  \anchor{base west}{%
-    \csname pgf at anchor@rectangle with rounded corners at west\endcsname
-    \pgf at y=0pt
-  }
-  \anchor{base east}{%
-    \csname pgf at anchor@rectangle with rounded corners at east\endcsname
-    \pgf at y=0pt
-  }
-  \anchor{north west}{%
-    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
-    \ifdim\northwestradius=0pt
-    \else
-      \pgf at process{\pgfpointadd{}{\pgfpointpolar{135}{\northwestradius+\outerxsep and \northwestradius+\outerysep}}}%
-    \fi
-  }
-  \anchor{north west center}{%
-    \rectanglewithroundedcornersparameter
-    \pgf at x=-\halfwidth
-    \pgf at y=\halfheight
-    \ifdim\northwestradius=0pt
-    \else
-      \advance\pgf at x by \outerxsep
-      \advance\pgf at x by \northwestradius
-      \advance\pgf at y by -\outerysep
-      \advance\pgf at y by -\northwestradius
-    \fi
-    \pgf at process{\pgfpointadd{}{\centerpoint}}%
-  }
-  \anchor{north east}{%
-    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
-    \ifdim\northeastradius=0pt
-    \else
-      \pgf at process{\pgfpointadd{}{\pgfpointpolar{45}{\northeastradius+\outerxsep and \northeastradius+\outerysep}}}%
-    \fi
-  }
-  \anchor{north east center}{%
-    \rectanglewithroundedcornersparameter
-    \pgf at x=\halfwidth
-    \pgf at y=\halfheight
-    \ifdim\northeastradius=0pt
-    \else
-      \advance\pgf at x by -\outerxsep
-      \advance\pgf at x by -\northeastradius
-      \advance\pgf at y by -\outerysep
-      \advance\pgf at y by -\northeastradius
-    \fi
-    \pgf at process{\pgfpointadd{}{\centerpoint}}%
-  }
-  \anchor{south west}{%
-    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
-    \ifdim\southwestradius=0pt
-    \else
-      \pgf at process{\pgfpointadd{}{\pgfpointpolar{225}{\southwestradius+\outerxsep and \southwestradius+\outerysep}}}%
-    \fi
-  }
-  \anchor{south west center}{%
-    \rectanglewithroundedcornersparameter
-    \pgf at x=-\halfwidth
-    \pgf at y=-\halfheight
-    \ifdim\southwestradius=0pt
-    \else
-      \advance\pgf at x by \outerxsep
-      \advance\pgf at x by \southwestradius
-      \advance\pgf at y by \outerysep
-      \advance\pgf at y by \southwestradius
-    \fi
-    \pgf at process{\pgfpointadd{}{\centerpoint}}%
-  }
-  \anchor{south east}{%
-    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
-    \ifdim\southeastradius=0pt
-    \else
-      \pgf at process{\pgfpointadd{}{\pgfpointpolar{315}{\southeastradius+\outerxsep and \southeastradius+\outerysep}}}%
-    \fi
-  }
-  \anchor{south east center}{%
-    \rectanglewithroundedcornersparameter
-    \pgf at x=\halfwidth
-    \pgf at y=-\halfheight
-    \ifdim\southeastradius=0pt
-    \else
-      \advance\pgf at x by -\outerxsep
-      \advance\pgf at x by -\southeastradius
-      \advance\pgf at y by \outerysep
-      \advance\pgf at y by \southeastradius
-    \fi
-    \pgf at process{\pgfpointadd{}{\centerpoint}}%
-  }
-  \anchor{below north west}{%
-    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
-    \advance\pgf at x by -\northwestradius
-    \advance\pgf at x by -\outerxsep
-  }
-  \anchor{above south west}{%
-    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
-    \advance\pgf at x by -\southwestradius
-    \advance\pgf at x by -\outerxsep
-  }
-  \anchor{below north east}{%
-    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
-    \advance\pgf at x by \northeastradius
-    \advance\pgf at x by \outerxsep
-  }
-  \anchor{above south east}{%
-    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
-    \advance\pgf at x by \southeastradius
-    \advance\pgf at x by \outerxsep
-  }
-  \anchor{right north west}{%
-    \csname pgf at anchor@rectangle with rounded corners at north west center\endcsname
-    \advance\pgf at y by \northwestradius
-    \advance\pgf at y by \outerysep
-  }
-  \anchor{right south west}{%
-    \csname pgf at anchor@rectangle with rounded corners at south west center\endcsname
-    \advance\pgf at y by -\southwestradius
-    \advance\pgf at y by -\outerysep
-  }
-  \anchor{left north east}{%
-    \csname pgf at anchor@rectangle with rounded corners at north east center\endcsname
-    \advance\pgf at y by \northeastradius
-    \advance\pgf at y by \outerysep
-  }
-  \anchor{left south east}{%
-    \csname pgf at anchor@rectangle with rounded corners at south east center\endcsname
-    \advance\pgf at y by -\southeastradius
-    \advance\pgf at y by -\outerysep
-  }
-  \backgroundpath{%
-    \rectanglewithroundedcornersparameter
-    %
-    \pgf at xa=\halfwidth
-    \advance\pgf at xa by -\outerxsep
-    \edef\HalfWidth{\the\pgf at xa}%
-    %
-    \pgf at ya=\halfheight
-    \advance\pgf at ya by -\outerysep
-    \edef\HalfHeight{\the\pgf at ya}%
-    %
-    \pgftransformshift{\centerpoint}%
-    %
-    \pgfpathmoveto{\pgfqpoint{\HalfWidth}{0pt}}%
-    \pgfpathlineto{\pgfpoint {+\HalfWidth}{\HalfHeight-\northeastradius}}%
-    \pgfpatharc{0}{90}{\northeastradius}%
-    \pgfpathlineto{\pgfpoint{-\HalfWidth+\northwestradius}{+\HalfHeight}}
-    \pgfpatharc{90}{180}{\northwestradius}%
-    \pgfpathlineto{\pgfpoint{+-\HalfWidth}{-\HalfHeight+\southwestradius}}%
-    \pgfpatharc{180}{270}{\southwestradius}%
-    \pgfpathlineto{\pgfpoint{\HalfWidth-\southeastradius}{+-\HalfHeight}}%
-    \pgfpatharc{270}{360}{\southeastradius}%
-    \pgfpathclose
-    \pgftransformshift{\pgfqpointscale{-1}{\centerpoint}}%
-  }%
-  \anchorborder{%
-    \pgfextract at process\externalpoint{}%
-    \ifdim\pgf at x=0pt
-      \ifdim\pgf at y<0pt
-        \csname pgf at anchor@rectangle with rounded corners at south\endcsname
-      \else
-        \csname pgf at anchor@rectangle with rounded corners at north\endcsname
-      \fi
-    \else
-      \ifdim\pgf at y=0pt
-        \ifdim\pgf at x<0pt
-          \csname pgf at anchor@rectangle with rounded corners at west\endcsname
-        \else
-          \csname pgf at anchor@rectangle with rounded corners at east\endcsname
-        \fi
-      \else
-        \rectanglewithroundedcornersparameter
-        \pgfmathanglebetweenpoints{\pgfpointorigin}{\externalpoint}%
-        \let\angle\pgfmathresult
-        \pgf at xa=\pgf at x
-        \pgf at ya=\pgf at y
-        \pgfextract at process\externalPoint{\pgfpointadd{}{\centerpoint}}%
-        \ifdim\pgf at xa<0pt
-          \ifdim\pgf at ya<0pt
-            % south west
-            \pgf at sh@rwrc at anchorborder{above south west}{right south west}{south west}{180}{270}{\southwestradius}%
-          \else
-            % north west
-            \pgf at sh@rwrc at anchorborder{right north west}{below north west}{north west}{90}{180}{\northwestradius}%
-          \fi
-        \else
-          \ifdim\pgf at ya<0pt
-            % south east
-            \pgf at sh@rwrc at anchorborder{left south east}{above south east}{south east}{270}{360}{\southeastradius}%
-          \else
-            % north east
-            \pgf at sh@rwrc at anchorborder{below north east}{left north east}{north east}{0}{90}{\northeastradius}%
-          \fi
-        \fi
-      \fi
-    \fi
-  }
-}
-\def\pgf at sh@rwrc at anchorborder#1#2#3#4#5#6{%
-  \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#1\endcsname}%
-  \let\angleA\pgfmathresult
-  \pgfmathanglebetweenpoints{\centerpoint}{\csname pgf at anchor@rectangle with rounded corners@#2\endcsname}%
-  \let\angleB\pgfmathresult
-  \if\ifdim\angle pt>\angleA pt 0\else1\fi\ifdim\angle pt<\angleB pt 0\else 2\fi
-    \pgfmathpointintersectionoflineandarc{\externalPoint}{\centerpoint}
-      {\csname pgf at anchor@rectangle with rounded corners@#3 center\endcsname}
-      {#4}{#5}{#6+\outerxsep and #6+\outerysep}%
-  \else
-    \pgf at process{\pgfpointadd{\pgfpointborderrectangle{\externalpoint}{\pgfqpoint{\halfwidth}{\halfheight}}}{\centerpoint}}%
-  \fi
-}
-
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.superellipse.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,198 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\usepgflibrary{shapes.geometric,intersections}
-\pgfset{
-  superellipse x exponent/.initial=2.5,
-  superellipse y exponent/.initial=2.5,
-  superellipse step/.initial=4,
-  superellipse exponent/.style={/pgf/superellipse x exponent={#1},/pgf/superellipse y exponent={#1}}}
-
-% Evaluates the x-value of a superellipse around the center
-% #1 = t (0≤t≤90)
-% #2 = 2/m (x-exp)
-% #3 = a (x-rad)
-\pgfmathdeclarefunction{superellipsex}{3}{%
-  \pgfmathcos@{#1}%
-  \pgfmathpow@{\pgfmathresult}{#2}%
-  \pgfmathmultiply@{\pgfmathresult}{#3}}
-
-% Evaluates the y-value of a superellipse around the center
-% #1 = t (0≤t≤90)
-% #2 = 2/n (y-exp)
-% #3 = a (y-rad)
-\pgfmathdeclarefunction{superellipsey}{3}{%
-  \pgfmathsin@{#1}%
-  \pgfmathpow@{\pgfmathresult}{#2}%
-  \pgfmathmultiply@{\pgfmathresult}{#3}}
-
-% Evaluates the x- and y- value of superellipse around the center
-% #1 = t (0≤t≤90)
-% #2 = 2/m (x-exp)
-% #3 = 2/n (y-exp)
-% #4 = a (x-rad)
-% #5 = b (y-rad)
-\def\pgfmathsuperellipseXY#1#2#3#4#5{%
-  \begingroup
-    \pgfmathsuperellipsex@{#1}{#2}{#4}%
-    \let\pgfmath at temp\pgfmathresult
-    \pgfmathsuperellipsey@{#1}{#3}{#5}%
-    \edef\pgfmath at temp{\def\noexpand\pgfmathresultX{\pgfmath at temp}%
-                       \def\noexpand\pgfmathresultY{\pgfmathresult}}%
-    \expandafter
-  \endgroup\pgfmath at temp}
-
-\pgfdeclareshape{superellipse}{%
-  \inheritsavedanchors[from=ellipse]
-  \inheritanchor[from=ellipse]{text}\inheritanchor[from=ellipse]{center}
-  \inheritanchor[from=ellipse]{mid}\inheritanchor[from=ellipse]{base}
-  \inheritanchor[from=ellipse]{north}\inheritanchor[from=ellipse]{south}
-  \inheritanchor[from=ellipse]{west}\inheritanchor[from=ellipse]{east}
-  \inheritanchor[from=ellipse]{mid west}\inheritanchor[from=ellipse]{base west}
-  \inheritanchor[from=ellipse]{mid east}\inheritanchor[from=ellipse]{base east}
-  \anchor{north east}{%
-    \pgf at process{\radius}%
-    \pgfmathpow@{.70710678118}{\xexponent}%
-    \pgf at x=\pgfmathresult\pgf at x
-    \pgfmathpow@{.70710678118}{\yexponent}%
-    \pgf at y=\pgfmathresult\pgf at y
-    \pgfpointadd{}{\centerpoint}%
-  }
-  \anchor{north west}{%
-    \pgf at process{\radius}%
-    \pgfmathpow@{.70710678118}{\xexponent}%
-    \pgf at x=-\pgfmathresult\pgf at x
-    \pgfmathpow@{.70710678118}{\yexponent}%
-    \pgf at y=\pgfmathresult\pgf at y
-    \pgfpointadd{}{\centerpoint}%
-  }
-  \anchor{south west}{%
-    \pgf at process{\radius}%
-    \pgfmathpow@{.70710678118}{\xexponent}%
-    \pgf at x=-\pgfmathresult\pgf at x
-    \pgfmathpow@{.70710678118}{\yexponent}%
-    \pgf at y=-\pgfmathresult\pgf at y
-    \pgfpointadd{}{\centerpoint}%
-  }
-  \anchor{south east}{%
-    \pgf at process{\radius}%
-    \pgfmathpow@{.70710678118}{\xexponent}%
-    \pgf at x=\pgfmathresult\pgf at x
-    \pgfmathpow@{.70710678118}{\yexponent}%
-    \pgf at y=-\pgfmathresult\pgf at y
-    \pgfpointadd{}{\centerpoint}%
-  }
-  \savedmacro\xexponent{%
-    \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse x exponent}}%
-    \pgfmathmultiply@{\pgfmathresult}{2}%
-    \let\xexponent\pgfmathresult
-  }
-  \savedmacro\yexponent{%
-    \pgfmathreciprocal{\pgfkeysvalueof{/pgf/superellipse y exponent}}%
-    \pgfmathmultiply@{\pgfmathresult}{2}%
-    \let\yexponent\pgfmathresult
-  }
-  \savedmacro\step{%
-    \pgfmathtruncatemacro\step{\pgfkeysvalueof{/pgf/superellipse step}}%
-  }
-  \backgroundpath{%
-    \pgf at process{\radius}%
-    \pgfmathsetmacro\xradius{\pgf at x-(\pgfkeysvalueof{/pgf/outer xsep})}%
-    \pgfmathsetmacro\yradius{\pgf at y-(\pgfkeysvalueof{/pgf/outer ysep})}%
-    \let\pgf at tempa\pgfutil at empty\let\pgf at tempb\pgfutil at empty
-    \let\pgf at tempc\pgfutil at empty\let\pgf at tempd\pgfutil at empty
-    \c at pgf@counta=\step
-    \pgfutil at loop
-    \ifnum\c at pgf@counta<90
-      \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
-      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
-      \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
-      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{\pgfmathresultY pt}}}%
-      \pgfutil at prefix@macrotomacro\pgf at tempb\pgf at temp
-      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{-\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
-      \pgfutil at append@macrotomacro\pgf at tempc\pgf at temp
-      \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{-\pgfmathresultY pt}}}%
-      \pgfutil at prefix@macrotomacro\pgf at tempd\pgf at temp
-      \advance\c at pgf@counta by\step
-    \pgfutil at repeat
-    \pgftransformshift{\centerpoint}%
-    \pgfplothandlerclosedcurve
-    \pgfplotstreamstart
-    \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
-    \pgf at tempa
-    \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
-    \pgf at tempb
-    \pgfplotstreampoint{\pgfqpoint{-\xradius pt}{0pt}}% west
-    \pgf at tempc
-    \pgfplotstreampoint{\pgfqpoint{0pt}{-\yradius pt}}% south
-    \pgf at tempd
-    \pgfplotstreamend
-    \pgftransformshift{\centerpoint\pgf at x=-\pgf at x\pgf at y=-\pgf at y}
-  }
-  \anchorborder{%
-    \pgfextract at process\externalpoint{}%
-    \ifdim\pgf at x=0pt % catch special case x = 0
-      \ifdim\pgf at y<0pt \pgf at anchor@superellipse at south\else\pgf at anchor@superellipse at north\fi
-    \else
-      \ifdim\pgf at y=0pt % catch special case y = 0
-        \ifdim\pgf at x<0pt \pgf at anchor@superellipse at west\else\pgf at anchor@superellipse at east\fi
-      \else % both are not zero
-        % save original direction
-        \pgf at xa=\pgf at x
-        \pgf at ya=\pgf at y
-        % make both positive, we're not looking at one quadrant
-        \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
-        \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
-        % save that point again
-        \pgfextract at process\externalpoint{}%
-        % we need to do the calculations without any transformations
-        % since we're using plots and \pgfpointborderrectangle
-        \pgftransformreset
-        \pgfintersectionofpaths{%
-          % from center to point on rectangle that encompasses superellipse
-          \pgf at relevantforpicturesizefalse
-          \pgfpathmoveto{\pgfpointorigin}%
-          \pgfpathlineto{\pgfpointborderrectangle{\externalpoint}{\radius}}%
-        }{%
-          \pgf at relevantforpicturesizefalse
-          \pgf at process{\radius}
-          \edef\xradius{\pgf at sys@tonumber\pgf at x}%
-          \edef\yradius{\pgf at sys@tonumber\pgf at y}%
-          \let\pgf at tempa\pgfutil at empty
-          \c at pgf@counta=\step
-          \pgfutil at loop
-          \ifnum\c at pgf@counta<90
-            \pgfmathsuperellipseXY{\the\c at pgf@counta}{\xexponent}{\yexponent}{\xradius}{\yradius}%
-            \edef\pgf at temp{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\pgfmathresultX pt}{\pgfmathresultY pt}}}%
-            \pgfutil at append@macrotomacro\pgf at tempa\pgf at temp
-            \advance\c at pgf@counta by\step
-          \pgfutil at repeat
-          % we're only using curveto since closedcurve
-          % messes with our other path
-          \pgfplothandlercurveto
-          \pgfplotstreamstart
-          \pgfplotstreampoint{\pgfqpoint{\xradius pt}{0pt}}% east
-          \pgf at tempa
-          \pgfplotstreampoint{\pgfqpoint{0pt}{\yradius pt}}% north
-          \pgfplotstreamend
-        }%
-        \ifnum\pgfintersectionsolutions>0 % only if a solution was found
-          \pgf at process{\pgfpointintersectionsolution{1}}%
-        \else % otherwise take the border on the rectangle (close enough?)
-          \pgf at process{\pgfpointborderrectangle{\externalpoint}{\radius}}%
-        \fi
-        \ifdim\pgf at xa<0pt \pgf at x=-\pgf at x\fi
-        \ifdim\pgf at ya<0pt \pgf at y=-\pgf at y\fi
-        \pgf at process{\pgfpointadd{}{\centerpoint}}%
-      \fi
-    \fi
-  }
-}
-\def\pgfutil at prefix@macrotomacro#1#2{%
-    \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter%
-        #1\expandafter\expandafter\expandafter{\expandafter#2#1}}
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.shapes.uncenteredrectangle.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,307 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\pgfutil at IfUndefined{pgfnodepartthreebox}{%
-  \csname newbox\endcsname\pgfnodepartleftbox
-  \csname newbox\endcsname\pgfnodepartrightbox
-}{%
-  \let\pgfnodepartleftbox\pgfnodeparttwobox
-  \let\pgfnodepartrightbox\pgfnodepartthreebox
-}
-\pgfset{
-  uncentered rectangle center yshift/.initial=,
-  uncentered rectangle center/@center/.initial=2,
-  uncentered rectangle center/.is choice,
-  uncentered rectangle center/real/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{0},
-  uncentered rectangle center/left/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{1},
-  uncentered rectangle center/text/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{2},
-  uncentered rectangle center/right/.code=\pgfkeyssetvalue{/pgf/uncentered rectangle center/@center}{3}}
-
-\pgfdeclareshape{uncentered rectangle}{%
-  \nodeparts{text,left,right}%
-  \savedanchor\middleCenter{%
-    \pgf at x=.5\wd\pgfnodeparttextbox
-    %
-    \pgf at y=\dp\pgfnodeparttextbox
-    \ifdim\dp\pgfnodepartleftbox>\pgf at y
-      \pgf at y=\dp\pgfnodepartleftbox
-    \fi
-    \ifdim\dp\pgfnodepartrightbox>\pgf at y
-      \pgf at y=\dp\pgfnodepartrightbox
-    \fi
-    %
-    \pgf at ya=\ht\pgfnodeparttextbox
-    \ifdim\ht\pgfnodepartleftbox>\pgf at ya
-      \pgf at ya=\ht\pgfnodepartleftbox
-    \fi
-    \ifdim\ht\pgfnodepartrightbox>\pgf at ya
-      \pgf at ya=\ht\pgfnodepartrightbox
-    \fi
-    \advance\pgf at ya by -\pgf at y
-    \pgf at y=.5\pgf at ya
-  }%
-  \savedanchor\leftCenter{%
-    % y should be still the same as before
-    \pgf at x=-.5\wd\pgfnodepartleftbox
-  }%
-  \savedanchor\rightCenter{%
-    % y should be still the same as before
-    \pgf at x=.5\wd\pgfnodepartrightbox
-    \advance\pgf at x by \wd\pgfnodeparttextbox
-  }%
-  \savedanchor\realCenter{%
-    % y should be still the same as before
-    \pgf at x=-.5\wd\pgfnodepartleftbox
-    \advance\pgf at x by .5\wd\pgfnodeparttextbox
-    \advance\pgf at x by .5\wd\pgfnodepartrightbox
-  }%
-  \savedanchor\southwest{%
-    % total width
-    \pgf at xa=\wd\pgfnodepartleftbox
-    \advance\pgf at xa by\wd\pgfnodepartrightbox
-    \advance\pgf at xa by\wd\pgfnodeparttextbox
-    %
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at xa by 2\pgf at xc
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
-    \ifdim\pgf at xb>\pgf at xa
-      \pgf at xa=\pgf at xb
-    \fi
-    % left side of shape
-    \advance\pgf at x by -.5\pgf at xa
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \advance\pgf at x by -\pgf at xa
-    %
-    % total height
-    \pgf at ya=\dp\pgfnodepartleftbox
-    \ifdim\pgf at ya<\dp\pgfnodeparttextbox
-      \pgf at ya=\dp\pgfnodeparttextbox
-    \fi
-    \ifdim\pgf at ya<\dp\pgfnodepartrightbox
-      \pgf at ya=\dp\pgfnodepartrightbox
-    \fi
-    \pgf at yb=\ht\pgfnodepartleftbox
-    \ifdim\pgf at yb<\ht\pgfnodeparttextbox
-      \pgf at yb=\ht\pgfnodeparttextbox
-    \fi
-    \ifdim\pgf at yb<\ht\pgfnodepartrightbox
-      \pgf at yb=\ht\pgfnodepartrightbox
-    \fi
-    \advance\pgf at ya by \pgf at yb
-    %
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at ya by 2\pgf at yc
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at yb>\pgf at ya
-      \pgf at ya=\pgf at yb
-    \fi
-    % lower side of the shape
-    \advance\pgf at y by -.5\pgf at ya
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \advance\pgf at y by -\pgf at ya
-  }%
-  \savedanchor\northeast{%
-    % first, let's calculate the real center again:
-    %
-    \pgf at x=-.5\wd\pgfnodepartleftbox
-    \advance\pgf at x by .5\wd\pgfnodeparttextbox
-    \advance\pgf at x by .5\wd\pgfnodepartrightbox
-    %
-    \pgf at y=\dp\pgfnodeparttextbox
-    \ifdim\dp\pgfnodepartleftbox>\pgf at y
-      \pgf at y=\dp\pgfnodepartleftbox
-    \fi
-    \ifdim\dp\pgfnodepartrightbox>\pgf at y
-      \pgf at y=\dp\pgfnodepartrightbox
-    \fi
-    %
-    \pgf at ya=\ht\pgfnodeparttextbox
-    \ifdim\ht\pgfnodepartleftbox>\pgf at ya
-      \pgf at ya=\ht\pgfnodepartleftbox
-    \fi
-    \ifdim\ht\pgfnodepartrightbox>\pgf at ya
-      \pgf at ya=\ht\pgfnodepartrightbox
-    \fi
-    \advance\pgf at ya by -\pgf at y
-    \pgf at y=.5\pgf at ya
-    %
-    % now we can calculate the anchor
-    % total width
-    %
-    \pgf at xa=\wd\pgfnodepartleftbox
-    \advance\pgf at xa by\wd\pgfnodepartrightbox
-    \advance\pgf at xa by\wd\pgfnodeparttextbox
-    %
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at xa by 2\pgf at xc
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
-    \ifdim\pgf at xb>\pgf at xa
-      \pgf at xa=\pgf at xb
-    \fi
-    % right side of shape
-    \advance\pgf at x by .5\pgf at xa
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \advance\pgf at x by \pgf at xa
-    %
-    % total height
-    \pgf at ya=\dp\pgfnodepartleftbox
-    \ifdim\pgf at ya<\dp\pgfnodeparttextbox
-      \pgf at ya=\dp\pgfnodeparttextbox
-    \fi
-    \ifdim\pgf at ya<\dp\pgfnodepartrightbox
-      \pgf at ya=\dp\pgfnodepartrightbox
-    \fi
-    \pgf at yb=\ht\pgfnodepartleftbox
-    \ifdim\pgf at yb<\ht\pgfnodeparttextbox
-      \pgf at yb=\ht\pgfnodeparttextbox
-    \fi
-    \ifdim\pgf at yb<\ht\pgfnodepartrightbox
-      \pgf at yb=\ht\pgfnodepartrightbox
-    \fi
-    \advance\pgf at ya by \pgf at yb
-    %
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at ya by 2\pgf at yc
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at yb>\pgf at ya
-      \pgf at ya=\pgf at yb
-    \fi
-    % upper side of the shape
-    \advance\pgf at y by .5\pgf at ya
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \advance\pgf at y by \pgf at ya
-  }%
-  %
-  \anchor{center}{%
-    \ifcase\pgfkeysvalueof{/pgf/uncentered rectangle center/@center}\relax
-      \realCenter\or
-      \leftCenter\or
-      \middleCenter\or
-      \rightCenter\else
-      \realCenter
-    \fi
-    \pgfkeysgetvalue{/pgf/uncentered rectangle center yshift}\pgf at temp
-    \pgfutil at ifxempty\pgf at temp{% real center used
-    }{% calculate center
-      \pgfmathsetlength\pgf at y{\pgf at temp}%
-    }%
-  }%
-  \anchor{left}        {\leftCenter  \multiply\pgf at x by2 \pgf at y=0pt }
-  \anchor{right}       {\middleCenter\multiply\pgf at x by2 \pgf at y=0pt }
-  \anchor{real center} {\realCenter}
-  \anchor{left center} {\leftCenter}
-  \anchor{right center}{\rightCenter}
-  \anchor{text center} {\middleCenter}
-  \anchor{south west}  {\southwest}
-  \anchor{north east}  {\northeast}
-  \anchor{mid}{%
-    \csname pgf at anchor@uncentered rectangle at center\endcsname
-    \pgfmathsetlength\pgf at y{.5ex}}%
-  \anchor{base}{%
-    \csname pgf at anchor@uncentered rectangle at center\endcsname
-    \pgf at y=0pt }%
-  \anchor{left mid}   {\leftCenter  \pgfmathsetlength\pgf at y{+.5ex}}
-  \anchor{text mid}   {\middleCenter\pgfmathsetlength\pgf at y{+.5ex}}
-  \anchor{right mid}  {\rightCenter \pgfmathsetlength\pgf at y{+.5ex}}
-  \anchor{real mid}   {\realCenter  \pgfmathsetlength\pgf at y{+.5ex}}
-  \anchor{left base}  {\leftCenter  \pgf at y=0pt }
-  \anchor{text base}  {\middleCenter\pgf at y=0pt }
-  \anchor{right base} {\rightCenter \pgf at y=0pt }
-  \anchor{real base}  {\realCenter  \pgf at y=0pt }
-  \anchor{real south} {\pgf at anchor@rectangle at south}
-  \anchor{real north} {\pgf at anchor@rectangle at north}
-  \anchor{text north} {\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\middleCenter\pgf at y=\pgf at ya}
-  \anchor{left north} {\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\leftCenter  \pgf at y=\pgf at ya}
-  \anchor{right north}{\pgf at anchor@rectangle at north\pgf at ya=\pgf at y\rightCenter \pgf at y=\pgf at ya}
-  \anchor{text south} {\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\middleCenter\pgf at y=\pgf at ya}
-  \anchor{left south} {\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\leftCenter  \pgf at y=\pgf at ya}
-  \anchor{right south}{\pgf at anchor@rectangle at south\pgf at ya=\pgf at y\rightCenter \pgf at y=\pgf at ya}
-  \anchor{north}{%
-    \pgf at anchor@rectangle at north
-    \pgf at ya=\pgf at y
-    \csname pgf at anchor@uncentered rectangle at center\endcsname
-    \pgf at y=\pgf at ya
-  }
-  \anchor{south}{%
-    \pgf at anchor@rectangle at south
-    \pgf at ya=\pgf at y
-    \csname pgf at anchor@uncentered rectangle at center\endcsname
-    \pgf at y=\pgf at ya
-  }
-  %\anchor{base right}{\middleCenter\pgf at xa=2\pgf at x}% TODO
-  \anchor{real west}{%
-    \pgf at process{\northeast}%
-    \pgf at ya=.5\pgf at y
-    \pgf at process{\southwest}%
-    \pgf at y=.5\pgf at y
-    \advance\pgf at y by \pgf at ya
-  }%
-  \anchor{real east}{%
-    \pgf at process{\southwest}%
-    \pgf at ya=.5\pgf at y
-    \pgf at process{\northeast}%
-    \pgf at y=.5\pgf at y
-    \advance\pgf at y by \pgf at ya
-  }%
-  \anchor{west}{%
-    \pgf at process{\southwest}%
-    \pgf at xa=\pgf at x
-    \pgf at process{\csname pgf at anchor@uncentered rectangle at center\endcsname}%
-    \pgf at x=\pgf at xa
-  }%
-  \anchor{east}{%
-    \pgf at process{\northeast}%
-    \pgf at xa=\pgf at x
-    \pgf at process{\csname pgf at anchor@uncentered rectangle at center\endcsname}%
-    \pgf at x=\pgf at xa
-  }%
-  \inheritanchor[from=rectangle]{south west}
-  \inheritanchor[from=rectangle]{north west}
-  \inheritanchor[from=rectangle]{south east}
-  \inheritanchor[from=rectangle]{north east}
-  \inheritanchor[from=rectangle]{mid west}
-  \inheritanchor[from=rectangle]{mid east}
-  \inheritanchor[from=rectangle]{base west}
-  \inheritanchor[from=rectangle]{base east}
-  \inheritbackgroundpath[from=rectangle]
-  \anchorborder{%
-    % xa/ya is target
-    \pgf at xa=\pgf at x
-    \pgf at ya=\pgf at y
-    % xc/yc is "center"
-    \pgf at sh@reanchor{uncentered rectangle}{center}%
-    \pgf at xc=\pgf at x
-    \pgf at yc=\pgf at y
-    \ifdim\pgf at xa<0pt
-      % left side
-      \southwest
-      \advance\pgf at x by -\pgf at xc
-      \advance\pgf at y by -\pgf at yc
-      \pgf at x=-\pgf at x
-      \pgf at y=-\pgf at y
-      \edef\pgf at marshal{%
-        \noexpand\pgfpointborderrectangle
-          {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}
-          {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-      }%
-    \else
-      % right side
-      \northeast
-      \advance\pgf at x by -\pgf at xc
-      \advance\pgf at y by -\pgf at yc
-      \edef\pgf at marshal{%
-        \noexpand\pgfpointborderrectangle
-          {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}
-          {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-      }%
-    \fi
-    \pgf at process{\pgf at marshal}%
-    \advance\pgf at x by\pgf at xc
-    \advance\pgf at y by\pgf at yc
-  }%
-}
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.transformations.mirror.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.transformations.mirror.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/pgflibraryext.transformations.mirror.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,96 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\def\pgftransformxmirror#1{
-  \pgfmathparse{#1}%
-  \ifpgfmathunitsdeclared
-    \pgf at xa\pgfmathresult pt\relax
-    \multiply\pgf at xa2 
-    \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf at xa}{0pt}}%
-  \else
-    \pgftransformmirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}%
-  \fi
-}
-\def\pgftransformymirror#1{
-  \pgfmathparse{#1}%
-  \ifpgfmathunitsdeclared
-    \pgf at ya\pgfmathresult pt\relax
-    \multiply\pgf at ya2
-    \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf at ya}}%
-  \else
-    \edef\pgf at marshal{\noexpand\pgftransformmirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}%
-                                                  {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}%
-    \pgf at marshal
-  \fi}
-\def\pgftransformmirror#1#2{%
-  \pgfextract at process\pgf at tempa{#1}%
-  \pgfpointnormalised{\pgfpointdiff{\pgf at tempa}{#2}}%
-  \pgf at xa=\pgf at sys@tonumber\pgf at y\pgf at x
-  \pgf at xb=\pgf at sys@tonumber\pgf at x\pgf at x
-  \pgf at yb=\pgf at sys@tonumber\pgf at y\pgf at y
-  \multiply\pgf at xa2
-  \pgf at xc=-\pgf at yb\advance\pgf at xc\pgf at xb
-  \pgf at yc=-\pgf at xb\advance\pgf at yc\pgf at yb
-  \edef\pgf at temp{{\the\pgf at xc}{+\the\pgf at xa}{+\the\pgf at xa}{+\the\pgf at yc}}%
-  \expandafter\pgf at transformcm\pgf at temp{\pgf at tempa}%
-  \pgftransformshift{\pgfpointscale{-1}{\pgf at tempa}}%
-}
-
-\def\pgfqtransformmirror#1{%
-  \pgfpointnormalised{#1}%
-  \pgf at xa=\pgf at sys@tonumber\pgf at y\pgf at x
-  \pgf at xb=\pgf at sys@tonumber\pgf at x\pgf at x
-  \pgf at yb=\pgf at sys@tonumber\pgf at y\pgf at y
-  \multiply\pgf at xa2
-  \pgf at xc=-\pgf at yb\advance\pgf at xc\pgf at xb
-  \pgf at yc=-\pgf at xb\advance\pgf at yc\pgf at yb
-  \edef\pgf at temp{{\the\pgf at xc}{+\the\pgf at xa}{+\the\pgf at xa}{+\the\pgf at yc}}%
-  \expandafter\pgf at transformcm\pgf at temp{\pgfpointorigin}%
-}
-
-% Using existant transformation (shift, rotate, yscale=-1, rotate back, shift back)
-\def\pgftransformxMirror#1{
-  \pgfmathparse{#1}%
-  \ifpgfmathunitsdeclared
-    \pgf at xa\pgfmathresult pt\relax
-    \multiply\pgf at xa2 
-    \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf at xa}{0pt}}%
-  \else
-    \pgftransformMirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}%
-  \fi
-}
-\def\pgftransformyMirror#1{
-  \pgfmathparse{#1}%
-  \ifpgfmathunitsdeclared
-    \pgf at ya\pgfmathresult pt\relax
-    \multiply\pgf at ya2
-    \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf at ya}}%
-  \else
-    \edef\pgf at marshal{\noexpand\pgftransformMirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}%
-                                                  {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}%
-    \pgf at marshal
-  \fi}
-
-\def\pgftransformMirror#1#2{%
-  \pgfextract at process\pgf at tempa{#1}%
-  \pgfmathanglebetweenpoints{\pgf at tempa}{#2}%
-  \let\pgf at temp\pgfmathresult
-  \pgftransformshift{\pgf at tempa}%
-  \pgftransformrotate{\pgf at temp}%
-  \pgftransformyscale{-1}%
-  \pgftransformrotate{-\pgf at temp}%
-  \pgftransformshift{\pgfqpointscale{-1}{\pgf at tempa}}%
-}
-
-\def\pgfqtransformMirror#1{%
-  \pgfmathanglebetweenpoints{\pgfpointorigin}{#1}%
-  \let\pgf at temp\pgfmathresult
-  \pgftransformrotate{\pgf at temp}%
-  \pgftransformyscale{-1}%
-  \pgftransformrotate{-\pgf at temp}%
-}
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.calendar-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,93 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\usetikzlibrary{calendar}
-\pgfutil at usemodule{pgfcalendar-ext}
-
-% Shift between days
-
-\def\tikz at lib@cal at xshift{\pgfkeysvalueof{/tikz/day xshift}}
-\def\tikz at lib@cal at yshift{\pgfkeysvalueof{/tikz/day yshift}}
-\tikzset{day xshift/.initial=3ex,day yshift/.initial=3.5ex}
-
-% Shift between months
-
-\def\tikz at lib@cal at month@xshift{\pgfkeysvalueof{/tikz/month xshift}}
-\def\tikz at lib@cal at month@yshift{\pgfkeysvalueof{/tikz/month yshift}}
-\tikzset{month xshift/.initial=9ex,month yshift/.initial=9ex}
-
-% Internal option for storing the "width" of a calendar as a number of
-% days
-
-\def\tikz at lib@cal at width{\pgfkeysvalueof{/tikz/tikz at lib@cal at width}}
-\tikzset{tikz at lib@cal at width/.initial=1}
-
-% Weeks
-
-\def\tikzweekcode{\pgfkeysvalueof{/tikz/week code}}
-\def\tikzweektext{\pgfkeysvalueof{/tikz/week text}}
-
-\tikzset{
-  week code/.initial={%
-    \node[every week]{\pgfkeysvalueof{/tikz/week text}};},
-  week text/.initial={\%n=},
-  every week/.style=,
-  week label left/.style={
-    every week/.append style={
-      anchor=base east,
-      xshift=-1.25*\pgfkeysvalueof{/tikz/day xshift}},
-    execute before day scope=%
-      \ifdate{Monday, equals=\pgfcalendarbeginiso}{\tikzweekcode}{}}}
-
-%
-% Overwriting original \tikz at lib@cal at if@else at code
-%
-\def\tikz at lib@cal at if@else at code#1#2#3{%
-  \pgfutil at addto@macro\tikz at lib@cal at ifs{\ifdate{#1}{#2}{#3}}%
-  \tikz at lib@cal at scanner%
-}
-
-%
-% Overwriting original \tikz at lib@cal at stop
-%
-\def\tikz at lib@cal at stop{%
-    \pgftransformshift{\tikz at node@at}%
-    \expandafter\pgfcalendar\expandafter{\tikz at fig@name}{\tikz at lib@cal at start}{\tikz at lib@cal at end}%
-    {%
-      \tikz at before@day%
-      \scope%
-        \tikz at atbegin@day%
-        \let\pgfutil at addto@macro\pgfutil at secondoftwo
-        \tikz at lib@cal at ifs%
-        \tikzdaycode%
-        \tikz at atend@day%
-      \endscope%
-      \tikz at after@day%
-    }%
-  \endgroup%
-}
-
-\def\pgfutil at addto@macro#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
-
-\pgfmathdeclarefunction{weeksinmonthofyear}{3}{% #1 = first weekday, #2 = month, #3 = year
-  \begingroup
-    \pgfmathlastdayinmonthofyear@{#2}{#3}%
-    \pgfmathadd@{#1}{\pgfmathresult}%
-    \pgfmathdivide@{\pgfmathresult}{7}%
-    \pgfmathceil@{\pgfmathresult}%
-    \pgfmathint@{\pgfmathresult}%
-    \pgfmathsmuggle\pgfmathresult
-  \endgroup
-}
-\pgfmathdeclarefunction{lastdayinmonthofyear}{2}{% #1 = month, #2 = year
-  \begingroup
-    \pgfcalendar at getlastYMX{#2}{#1}{\pgfutil at tempcnta}%
-    \edef\pgfmathresult{\the\pgfutil at tempcnta}%
-    \pgfmathsmuggle\pgfmathresult
-  \endgroup
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.misc.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,180 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\usepgflibrary{ext.pgfkeys-plus}%
-
-%% full arc
-%% https://tex.stackexchange.com/a/144297/16595
-%% The postfix operator R is added to PGFmath,
-%% it allows the use of angular segments.
-%% full arc = 10 makes it so that
-%%   1R =  36°
-%%   2R =  72°
-%%   …
-%%  10R = 360°
-%% Calling the full arc key with an empty value 
-%% makes 1R = 1°
-\pgfset{full arc/.code=%
-  \def\pgf at temp{#1}%
-  \ifx\pgfutil at empty\pgf at temp
-    \let\pgfmath at fullarc@factor\pgfutil at empty
-  \else
-    \pgfmathsetmacro\pgfmath at fullarc@factor{360/(#1)}%
-  \fi,full arc=}
-\pgfmathdeclareoperator{R}{full arc}{1}{postfix}{950}
-\pgfmathdeclarefunction{full arc}{1}{%
-  \begingroup
-    \pgfmath at x=#1pt\relax
-    \ifx\pgfmath at fullarc@factor\pgfutil at empty\else
-      \pgfmath at x\pgfmath at fullarc@factor\pgfmath at x
-    \fi
-    \pgfmath at returnone\pgfmath at x
-  \endgroup}
-
-%% foreach
-%% http://tex.stackexchange.com/a/126418/16595
-%% instead of \foreach \var in {start, start + delta, ..., end}
-%% this allows to use \foreach[use int={start to end step delta}] without(!) a list in {}
-%% the values start, end and delta are evaluated by PGFmath at the start of the loop.
-%% In addition to use int, there's also use float.
-\newif\iftikzext at pgf@foreach at no@list
-\pgfqkeys{/pgf/foreach}{
-  use int/.code={%
-    \tikzext at pgf@foreach at no@list at parse@to\pgfmathtruncatemacro#1\pgffor at stop
-  },
-  use float/.code={%
-    \tikzext at pgf@foreach at no@list at parse@to\pgfmathsetmacro#1\pgffor at stop
-  }
-}
-
-\def\tikzext at pgf@foreach at no@list at parse@to#1#2to#3\pgffor at stop{%
-  \tikzext at pgf@foreach at no@listtrue
-  #1\foreachStart{#2}%
-  \pgfutil at in@{step}{#3}
-  \ifpgfutil at in@
-    \tikzext at pgf@foreach at no@list at parse@step{#1}#3\pgffor at stop
-  \else
-    \tikzext at pgf@foreach at no@list at parse@step{#1}#3step1\pgffor at stop
-  \fi
-  \edef\tikzext at pgf@foreach at no@list at list{\foreachStart,\foreachSecond,...,\foreachEnd}%
-}
-\def\tikzext at pgf@foreach at no@list at parse@step#1#2step#3\pgffor at stop{%
-  #1\foreachEnd{#2}%
-  #1\foreachSecond{\foreachStart+#3}%
-}
-\def\pgffor at vars{% manually extended, better etoolbox
-  \pgfutil at ifnextchar i{\pgffor@@vars at end}{%
-    \pgfutil at ifnextchar[{\pgffor@@vars at opt}{%]
-      \pgfutil at ifnextchar/{\pgffor@@vars at slash@gobble}{%
-         \iftikzext at pgf@foreach at no@list\expandafter\pgfutil at firstoftwo\else
-           \expandafter\pgfutil at secondoftwo\fi
-         {\tikzext at pgf@foreach at no@listfalse\pgffor at macro@list\tikzext at pgf@foreach at no@list at list}
-         {\pgffor@@vars}}}}}%
-
-%% PGFmath
-%% strrepeat("x", 5) = "xxxxx"
-\pgfmathdeclarefunction{strrepeat}{2}{%
-  \begingroup\pgfmathint{#2}\pgfmath at count\pgfmathresult
-    \let\pgfmathresult\pgfutil at empty
-    \pgfutil at loop\ifnum\pgfmath at count>0\relax
-      \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}%
-      \advance\pgfmath at count-1\relax
-    \pgfutil at repeat\pgfmath at smuggleone\pgfmathresult\endgroup}
-
-%% isInString("foo", "foobar") = true (= 1)
-%% isInString("boo", "foobar") = false (= 0)
-\pgfmathdeclarefunction{isInString}{2}{%
-  \pgfutil at in@{#1}{#2}%
-  \ifpgfutil at in@\def\pgfmathresult{1}\else\def\pgfmathresult{0}\fi}
-
-%% strcat("foo", "bar") = "foobar" (can have more than two parameters)
-\pgfutil at IfUndefined{pgfmathstrcat@}{
-  \pgfmathdeclarefunction{strcat}{...}{%
-    \begingroup
-      \let\pgfmathresult\pgfutil at empty
-      \pgfmathstrcat@@#1\pgfmath at stop}
-  \def\pgfmathstrcat@@#1{%
-    \ifx\pgfmath at stop#1%
-      \def\pgfmath at next{\pgfmath at smuggleone\pgfmathresult\endgroup}
-    \else
-      \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}%
-      \let\pgfmath at next\pgfmathstrcat@@
-    \fi
-    \pgfmath at next}
-}{}
-
-% http://tex.stackexchange.com/questions/244569/bounding-lines-around-tax-nodes/244619#244619
-\pgfmathdeclarefunction{atanXY}{2}{\pgfmathatantwo@{#2}{#1}}
-\pgfmathdeclarefunction{atanYX}{2}{\pgfmathatantwo@{#1}{#2}}
-
-%% http://tex.stackexchange.com/a/132939/16595
-\tikzset{
-  @edges through/.code={{{% three braces to protect \pgfeov
-    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@edges through/. at cmd}}
-                        {\pgfkeysvalueof{/tikz/@@edges through/. at cmd}[]}#1\pgfeov}}},
-  @@edges through/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2) (#2)}},
-  edges through/.style={/tikz/@edges through/.list={#1}}}
-\tikzset{
-  @edges to/.code={{{% three braces to protect \pgfeov
-    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@edges to/. at cmd}}
-                        {\pgfkeysvalueof{/tikz/@@edges to/. at cmd}[]}#1\pgfeov}}},
-  @@edges to/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2)}},
-  edges to/.style={/tikz/@edges to/.list={#1}}}
-\tikzset{
-  @tos to/.code={{{% three braces to protect \pgfeov
-    \pgfutil at ifnextchar[{\pgfkeysvalueof{/tikz/@@tos to/. at cmd}}
-                        {\pgfkeysvalueof{/tikz/@@tos to/. at cmd}[]}#1\pgfeov}}},
-  @@tos to/.style args={[#1]#2}{/tikz/insert path={to[#1] (#2)}},
-  tos to/.style={/tikz/@tos to/.list={#1}}}
-
-
-\pgfmathdeclarefunction{distancebetween}{2}{% only coordinates/nodes
-  \begingroup
-    \pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}%
-    \edef\pgfmath at temp{{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}}%
-    \expandafter\pgfmathveclen@\pgfmath at temp
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup}
-\pgfmathdeclarefunction{qdistancebetween}{1}{% only coordinates/nodes
-  \begingroup
-    \pgfpointdiff{\pgfpointorigin}{\pgfpointanchor{#1}{center}}%
-    \edef\pgfmath at temp{{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}}%
-    \expandafter\pgfmathveclen@\pgfmath at temp
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup}
-
-\pgfmathdeclarefunction{qanglebetween}{1}{%
-  \pgfmathanglebetweenpoints{\pgfpointorigin}{\pgfpointanchor{#1}{center}}}
-
-\pgfmathdeclarefunction{anglebetween}{2}{%
-  \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}
-
-\pgfmathdeclarefunction{isEmpty}{1}{%
-  \begingroup
-    \def\pgfmath at temp{#1}%
-    \pgfutil at ifxempty\pgfmath at temp{\def\pgfmathresult{1}}{\def\pgfmathresult{0}}%                           
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup}
-
-\pgfset{
-  declare constant/.code={%
-    \let\pgfmathdeclareconstant@@@\pgfutil at empty
-    \pgfkeysvalueof{/pgf/declare function/execute at begin function}%
-    \pgfmathdeclareconstant@#1@=@;\pgf at stop
-    \pgfkeysvalueof{/pgf/declare function/execute at end function}%
-    \pgfmathdeclareconstant@@@
-  }}
-\def\pgfmathdeclareconstant@{%
-  \pgfutil at ifnextchar x\pgfmathdeclareconstant@@\pgfmathdeclareconstant@@
-}
-\def\pgfmathdeclareconstant@@#1=#2;#3\pgf at stop{%
-  \edef\pgfmath at local@temp{#1}%
-  \pgfutil at ifx\pgfmath at local@temp\pgfmath at local@at{}{%
-    \pgfutil at g@addto at macro\pgfmathdeclareconstant@@@{\pgfmathdeclarepseudoconstant{#1}{\def\pgfmathresult{#2}}}%
-    \pgfmathdeclareconstant@#3\pgf at stop
-  }%
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,339 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\def\tikzext at nf@align at left#1{}
-\def\tikzext at nf@align at center#1{\kern.5#1}
-\def\tikzext at nf@align at right#1{\kern#1}
-
-\pgfqkeys{/tikz/node family}{
-  width/.initial=,
-  width/.append style={/pgf/minimum width=nf_width},
-  height/.initial=,
-  height/.append style={/pgf/minimum height=nf_height},
-  size/.code=\pgfqkeys{/tikz/node family}{width={#1},height={#1}},
-  text depth/.initial=,
-  text height/.initial=,
-  text width align/.is choice,
-  text width align/left/.code=\let\tikzext at nf@align at action\tikzext at nf@align at left,
-  text width align/center/.code=\let\tikzext at nf@align at action\tikzext at nf@align at center,
-  text width align/right/.code=\let\tikzext at nf@align at action\tikzext at nf@align at right,
-  text width align=center,
-  text width/.initial=,
-  text/.code=\pgfqkeys{/tikz/node family}{text depth={#1},text height={#1},text width={#1}},
-  prefix/.initial=\pgfpictureid-,
-}
-\tikzset{node family/.code=\pgfqkeys{/tikz/node family}{#1}}
-
-% #1 = family type + name
-\def\tikzext at nf@save#1{%
-  %\errmessage{#1}%
-  \immediate\write\pgfutil at auxout{%
-    \noexpand\expandafter\noexpand\gdef\noexpand\csname tikzext at nf@#1 at previous\endcsname
-      {\csname tikzext at nf@#1 at next\endcsname}%
-  }%
-}
-
-% #1 = value to set
-% #2 = family type
-% #3 = return dimen
-\def\tikzext at nf@getandset#1#2#3{%
-    % what's our family's name?
-    #3=0pt\relax
-    \pgfkeysgetvalue{/tikz/node family/#2}\tikzext at nf@familyname
-    \pgfutil at ifxempty\tikzext at nf@familyname{% no family to deal with
-    }{%
-      \edef\tikzext at nf@familyname{\pgfkeysvalueof{/tikz/node family/prefix}\tikzext at nf@familyname}%
-      % we need to save the value for the next run
-      \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @next}{%
-        % first time: define first value and install hook at end of picture
-        \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
-        \edef\tikz at temp{\noexpand\tikzext at nf@save{#2@\tikzext at nf@familyname}}%
-        %\expandafter\AtVeryEndDocument\expandafter{\tikz at temp}%
-        \expandafter\pgfutil at g@addto at macro\expandafter\tikz at atend@picture\expandafter{\tikz at temp}%
-      }{%
-        \ifdim\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname<#1\relax
-          \expandafter\xdef\csname tikzext at nf@#2@\tikzext at nf@familyname @next\endcsname{#1}%
-        \fi
-      }%
-      \pgfutil at IfUndefined{tikzext at nf@#2@\tikzext at nf@familyname @previous}{% first run, ignore
-      }{% set previous value
-        #3=\csname tikzext at nf@#2@\tikzext at nf@familyname @previous\endcsname\relax
-      }%
-    }%
-}
-
-\pgfdeclareshape{Rectangle}{%
-  \savedanchor\northeast{%
-    % Calculate x
-    %
-    % First, is width < minimum width?
-    \pgf at x=\the\wd\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at x by 2\pgf at xc%
-    % Qrr: family width
-    \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
-    \ifdim\pgf at x<\pgfutil at tempdima
-      \pgf at x=\pgfutil at tempdima
-    \fi
-    %
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
-    \ifdim\pgf at x<\pgf at xb%
-      % yes, too small. Enlarge...
-      \pgf at x=\pgf at xb%
-    \fi%
-    % Now, calculate right border: .5\wd\pgfnodeparttextbox + .5 \pgf at x + outer sep
-    \pgf at x=.5\pgf at x%
-    \advance\pgf at x by.5\wd\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \advance\pgf at x by\pgf at xa%
-    % Calculate y
-    %
-    % First, is height+depth < minimum height?
-    \pgf at y=\ht\pgfnodeparttextbox%
-    \advance\pgf at y by\dp\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at y by 2\pgf at yc%
-    % Qrr: family height
-    \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
-    \ifdim\pgf at y<\pgfutil at tempdima
-      \pgf at y=\pgfutil at tempdima
-    \fi
-    %
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at y<\pgf at yb%
-      % yes, too small. Enlarge...
-      \pgf at y=\pgf at yb%
-    \fi%
-    % Now, calculate upper border: .5\ht-.5\dp + .5 \pgf at y + outer sep
-    \pgf at y=.5\pgf at y%
-    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
-    \advance\pgf at y by.5\ht\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \advance\pgf at y by\pgf at ya%
-  }%
-
-  \savedanchor\southwest{%
-    % Calculate x
-    %
-    % First, is width < minimum width?
-    \pgf at x=\wd\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at xc{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at x by 2\pgf at xc%
-    % Qrr: family width
-    \tikzext at nf@getandset{\the\pgf at x}{width}{\pgfutil at tempdima}%
-    \ifdim\pgf at x<\pgfutil at tempdima
-      \pgf at x=\pgfutil at tempdima
-    \fi
-    %
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/minimum width}}%
-    \ifdim\pgf at x<\pgf at xb%
-    % yes, too small. Enlarge...
-    \pgf at x=\pgf at xb%
-    \fi%
-    % Now, calculate left border: .5\wd\pgfnodeparttextbox - .5 \pgf at x - outer sep
-    \pgf at x=-.5\pgf at x%
-    \advance\pgf at x by.5\wd\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at xa{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \advance\pgf at x by-\pgf at xa%
-    % Calculate y
-    %
-    % First, is height+depth < minimum height?
-    \pgf at y=\ht\pgfnodeparttextbox%
-    \advance\pgf at y by\dp\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at yc{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at y by 2\pgf at yc%
-    % Qrr: family height
-    \tikzext at nf@getandset{\the\pgf at y}{height}{\pgfutil at tempdima}%
-    \ifdim\pgf at y<\pgfutil at tempdima
-      \pgf at y=\pgfutil at tempdima
-    \fi
-    %
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at y<\pgf at yb%
-    % yes, too small. Enlarge...
-    \pgf at y=\pgf at yb%
-    \fi%
-    % Now, calculate upper border: .5\ht-.5\dp - .5 \pgf at y - outer sep
-    \pgf at y=-.5\pgf at y%
-    \advance\pgf at y by-.5\dp\pgfnodeparttextbox%
-    \advance\pgf at y by.5\ht\pgfnodeparttextbox%
-    \pgfmathsetlength\pgf at ya{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \advance\pgf at y by-\pgf at ya%
-  }%
-  \inheritbackgroundpath[from=rectangle]
-  \inheritbeforebackgroundpath[from=rectangle]
-  \inheritbehindforegroundpath[from=rectangle]
-  \inheritforegroundpath[from=rectangle]
-  \inheritbeforeforegroundpath[from=rectangle]
-  \inheritanchor[from=rectangle]{center}
-  \inheritanchor[from=rectangle]{mid}
-  \inheritanchor[from=rectangle]{base}
-  \inheritanchor[from=rectangle]{north}
-  \inheritanchor[from=rectangle]{south}
-  \inheritanchor[from=rectangle]{west}
-  \inheritanchor[from=rectangle]{mid west}
-  \inheritanchor[from=rectangle]{base west}
-  \inheritanchor[from=rectangle]{north west}
-  \inheritanchor[from=rectangle]{south west}
-  \inheritanchor[from=rectangle]{east}
-  \inheritanchor[from=rectangle]{mid east}
-  \inheritanchor[from=rectangle]{base east}
-  \inheritanchor[from=rectangle]{north east}
-  \inheritanchor[from=rectangle]{south east}
-  \inheritanchorborder[from=rectangle]
-}
-
-\pgfdeclareshape{Circle}{%
-  \savedanchor\centerpoint{% tex/generic/pgf/modules/pgfmoduleshapes.code.tex
-    \pgf at x=.5\wd\pgfnodeparttextbox
-    \pgf at y=.5\ht\pgfnodeparttextbox
-    \advance\pgf at y by-.5\dp\pgfnodeparttextbox
-  }%
-  \saveddimen\radius{% tex/generic/pgf/modules/pgfmoduleshapes.code.tex
-    % Calculate ``height radius''
-    \pgf at ya=.5\ht\pgfnodeparttextbox
-    \advance\pgf at ya by.5\dp\pgfnodeparttextbox
-    \pgfmathsetlength\pgf at yb{\pgfkeysvalueof{/pgf/inner ysep}}%
-    \advance\pgf at ya by\pgf at yb
-    % Calculate ``width radius''
-    \pgf at xa=.5\wd\pgfnodeparttextbox
-    \pgfmathsetlength\pgf at xb{\pgfkeysvalueof{/pgf/inner xsep}}%
-    \advance\pgf at xa by\pgf at xb
-    % Calculate length of radius vector:
-    \pgf at process{\pgfpointnormalised{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
-    \ifdim\pgf at x>\pgf at y
-        \c at pgf@counta=\pgf at x
-        \ifnum\c at pgf@counta=0\relax
-        \else
-          \divide\c at pgf@counta by 255\relax
-          \pgf at xa=16\pgf at xa\relax
-          \divide\pgf at xa by\c at pgf@counta
-          \pgf at xa=16\pgf at xa\relax
-        \fi
-      \else
-        \c at pgf@counta=\pgf at y
-        \ifnum\c at pgf@counta=0\relax
-        \else
-          \divide\c at pgf@counta by 255\relax
-          \pgf at ya=16\pgf at ya\relax
-          \divide\pgf at ya by\c at pgf@counta
-          \pgf at xa=16\pgf at ya\relax
-        \fi
-    \fi
-    \pgf at x=\pgf at xa%
-    % Qrr: check for families
-    \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{width}{\pgfutil at tempdima}%
-    \tikzext at nf@getandset{\the\dimexpr2\pgf at x\relax}{height}{\pgfutil at tempdimb}%
-    % Qrr: and adjust like minimum width and minimum height
-    \ifdim\pgf at x<.5\pgfutil at tempdima
-      \pgf at x=.5\pgfutil at tempdima
-    \fi
-    \ifdim\pgf at x<.5\pgfutil at tempdimb
-      \pgf at x=.5\pgfutil at tempdimb
-    \fi
-    % If necessary, adjust radius so that the size requirements are met:
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/minimum width}}%
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/minimum height}}%
-    \ifdim\pgf at x<.5\pgf at xb
-        \pgf at x=.5\pgf at xb
-    \fi
-    \ifdim\pgf at x<.5\pgf at yb
-        \pgf at x=.5\pgf at yb
-    \fi
-    % Now, add larger of outer separations.
-    \pgfmathsetlength{\pgf at xb}{\pgfkeysvalueof{/pgf/outer xsep}}%
-    \pgfmathsetlength{\pgf at yb}{\pgfkeysvalueof{/pgf/outer ysep}}%
-    \ifdim\pgf at xb<\pgf at yb
-      \advance\pgf at x by\pgf at yb
-    \else
-      \advance\pgf at x by\pgf at xb
-    \fi
-  }%
-  \inheritbackgroundpath[from=circle]
-  \inheritbeforebackgroundpath[from=circle]
-  \inheritbehindforegroundpath[from=circle]
-  \inheritforegroundpath[from=circle]
-  \inheritbeforeforegroundpath[from=circle]
-  \inheritanchor[from=circle]{center}
-  \inheritanchor[from=circle]{mid}
-  \inheritanchor[from=circle]{base}
-  \inheritanchor[from=circle]{north}
-  \inheritanchor[from=circle]{south}
-  \inheritanchor[from=circle]{west}
-  \inheritanchor[from=circle]{mid west}
-  \inheritanchor[from=circle]{base west}
-  \inheritanchor[from=circle]{north west}
-  \inheritanchor[from=circle]{south west}
-  \inheritanchor[from=circle]{east}
-  \inheritanchor[from=circle]{mid east}
-  \inheritanchor[from=circle]{base east}
-  \inheritanchor[from=circle]{north east}
-  \inheritanchor[from=circle]{south east}
-  \inheritanchorborder[from=circle]
-}
-
-\def\pgfutil at prefixto@macro#1#2{%
-  \def\pgf at temp{#2}%
-  \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#1%
-  \expandafter\expandafter\expandafter{\expandafter\pgf at temp#1}%
-}
-
-\pgfqkeys{/tikz/node family}{
-  setup shape/.code={%
-    \expandafter\pgfutil at prefixto@macro\csname pgf at sh@s@#1\endcsname{%
-      \tikzext at nf@getandset{\the\wd\pgfnodeparttextbox}{text width}{\pgfutil at tempdima}%
-      \ifdim\wd\pgfnodeparttextbox<\pgfutil at tempdima
-        \pgfutil at tempdimb=\pgfutil at tempdima
-        \advance\pgfutil at tempdimb-\wd\pgfnodeparttextbox
-        \setbox\pgfnodeparttextbox=\hbox to \pgfutil at tempdima{\tikzext at nf@align at action\pgfutil at tempdimb\unhbox\pgfnodeparttextbox}%
-      \fi
-      \tikzext at nf@getandset{\the\dp\pgfnodeparttextbox}{text depth}{\pgfutil at tempdima}%
-      \ifdim\dp\pgfnodeparttextbox<\pgfutil at tempdima
-          \dp\pgfnodeparttextbox=\pgfutil at tempdima
-      \fi
-      \tikzext at nf@getandset{\the\ht\pgfnodeparttextbox}{text height}{\pgfutil at tempdima}%
-      \ifdim\ht\pgfnodeparttextbox<\pgfutil at tempdima
-          \ht\pgfnodeparttextbox=\pgfutil at tempdima
-      \fi
-    }%
-  },
-  setup shape/.list={rectangle,circle,Rectangle,Circle}
-}
-
-%% nf functions
-\def\tikzext at nf@function at default{{\the\pgf at x}{\the\pgf at y}}
-\def\tikzext at nf@function at default@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at y\relax}}
-\def\tikzext at nf@function at circle{{\the\pgf at x}{\the\pgf at x}}
-\def\tikzext at nf@function at circle@double{{\the\dimexpr2\pgf at x\relax}{\the\dimexpr2\pgf at x\relax}}
-
-\pgfmathdeclarefunction{nf_width}{0}{%
-  \begingroup
-    \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
-      \let\tikzext at nf@function\tikzext at nf@function at default
-    }{%
-      \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
-      \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
-    }%
-    \tikzext at nf@getandset{\expandafter\pgfutil at firstoftwo\tikzext at nf@function}{width}{\pgfutil at tempdima}%
-    \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup
-}
-\pgfmathdeclarefunction{nf_height}{0}{%
-  \begingroup
-    \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name}{%
-      \let\tikzext at nf@function\tikzext at nf@function at default
-    }{%
-      \pgfutil at IfUndefined{tikzext at nf@function@\pgf at sm@shape at name @extra}{}{\csname tikzext at nf@function@\pgf at sm@shape at name @extra\endcsname}%
-      \expandafter\let\expandafter\tikzext at nf@function\csname tikzext at nf@function@\pgf at sm@shape at name\endcsname
-    }%
-    \tikzext at nf@getandset{\expandafter\pgfutil at secondoftwo\tikzext at nf@function}{height}{\pgfutil at tempdima}%
-    \edef\pgfmathresult{\pgf at sys@tonumber\pgfutil at tempdima}%
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.node-families.shapes.geometric.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,38 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\usetikzlibrary{ext.node-families,shapes.geometric}
-
-\let\tikzext at nf@function at ellipse    \tikzext at nf@function at default@double
-\let\tikzext at nf@function at star       \tikzext at nf@function at circle
-\let\tikzext at nf@function at diamond    \tikzext at nf@function at default@double
-\let\tikzext at nf@function at star       \tikzext at nf@function at circle@double
-\expandafter\let\csname tikzext at nf@function at regular polygon\endcsname
-                                    \tikzext at nf@function at circle@double
-\let\tikzext at nf@function at trapezium\tikzext at nf@function at default@double
-\def\tikzext at nf@function at semicircle {{\the\dimexpr2\pgf at x\relax}{\the\pgf at x}}
-\expandafter\def\csname tikzext at nf@function at isosceles triangle\endcsname
-                                    {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xa}}
-\def\tikzext at nf@function at kite       {{\the\dimexpr2\pgf at xa\relax}{\the\dimexpr\pgf at ya+\pgf at yb\relax}}
-\def\tikzext at nf@function at dart       {{\the\dimexpr2\pgf at ya\relax}{\the\pgf at xb}}
-\expandafter\def\csname tikzext at nf@function at circular sector\endcsname{{\the\pgf at xc}{\the\pgf at xa}}
-\def\tikzext at nf@function at cylinder{{\the\dimexpr2\pgfutil at tempdimb\relax}{\the\pgf at x}}
-
-\tikzset{node family/setup shape/.list={
-    ellipse,
-    star,
-    diamond,
-    regular polygon,
-    trapezium,
-    semicircle,
-    isosceles triangle,
-    kite,
-    dart,
-    circular sector,
-    cylinder
-}}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.arcto.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.arcto.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.arcto.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,326 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\tikzset{
-  arc to/.code=\pgfqkeys{/tikz/arc to}{#1},
-  arc to={
-    counter clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{1},
-    clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{0},
-    x radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1},
-    y radius/.code=\pgfkeyssetvalue{/tikz/y radius}{#1},
-    radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}\pgfkeyssetvalue{/tikz/y radius}{#1},
-    large/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{1},
-    small/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{0},
-    % defaults
-    rotate/.initial=0, counter clockwise, small,
-    counter clockwise/.value forbidden,
-    clockwise/.value forbidden,
-    large/.value forbidden,
-    small/.value forbidden}}
-\def\tikz at arcA rc{\pgfutil at ifnextchar t%
-  {\tikz at flush@moveto\expandafter\expandafter\expandafter\tikz at arcB@cont\expandafter\pgfutil at gobble\pgfutil at gobble}
-  {\tikz at flush@moveto\tikz at arc@cont}}
-\def\tikz at arcB@cont{%
-  \pgfutil at ifnextchar[\tikz@@do at arcB{
-    \advance\tikz at expandcount by -10\relax% go down quickly
-    \ifnum\tikz at expandcount<0\relax%
-      \def\@next{\tikz@@do at arcB[]}%
-    \else%
-      \def\@next{\expandafter\tikz at arcB@cont}%
-    \fi%
-    \@next}}%
-\def\tikz@@do at arcB[#1]{%
-  \def\tikz at arcB@options{#1}%
-  \tikz at do@@arcB}
-\def\tikz at do@@arcB{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikz at do@@arcB}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikz at do@@arcB}
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikz at do@@arcB}
-        {\tikz at scan@one at point\tikz at do@arcB}}}}
-
-\def\tikz at do@arcB#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}
-  \tikz at make@last at position{#1}%
-  \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \iftikz at shapeborder
-    \edef\tikz at moveto@waiting{\tikz at shapeborder@name}%
-  \fi
-  \begingroup
-    \tikzset{every arc/.try,every arc to/.try,arc to/.expand once=\tikz at arcB@options}%
-    \pgfmathsetmacro\tikz at arc@x{\pgfkeysvalueof{/tikz/x radius}}%
-    \ifpgfmathunitsdeclared
-      \pgfmathsetmacro\tikz at arc@y{\pgfkeysvalueof{/tikz/y radius}}%
-      \ifpgfmathunitsdeclared
-        \tikzext at pgfpatharcto{\tikz at arc@x pt}{\tikz at arc@y pt}
-                     {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}}
-                     {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}%
-      \else
-        \tikzerror{You cannot mix dimensions and dimension values in an arc}%
-      \fi
-    \else
-      \pgfmathsetmacro\tikz at arc@y{\pgfkeysvalueof{/tikz/y radius}}%
-      \ifpgfmathunitsdeclared
-        \tikzerror{You cannot mix dimensions and dimension values in an arc}%
-      \else
-        \pgf at process{\pgfpointxy{\tikz at arc@x}{0}}%
-        \pgfmathveclen@{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}%
-        \let\tikz at arc@x\pgfmathresult
-        \pgf at process{\pgfpointxy{0}{\tikz at arc@y}}%
-        \pgfmathveclen@{\pgf at sys@tonumber\pgf at x}{\pgf at sys@tonumber\pgf at y}%
-        \let\tikz at arc@y\pgfmathresult
-        \tikzext at pgfpatharcto{+\tikz at arc@x pt}{+\tikz at arc@y pt}
-                     {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}}
-                     {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}%
-      \fi
-    \fi
-  \endgroup
-  % check whether \pgf at marshall starts with \pgfpathlineto
-  \pgfutil at ifxempty\pgf at marshal{}{%
-    \edef\tikz at temp{\expandafter\expandafter\expandafter\noexpand\expandafter\pgfutil at firstgobblerest\pgf at marshal\relax}%
-    \expandafter\let\expandafter\tikz at temp\tikz at temp
-    \pgfutil at ifx\tikz at temp\pgfpathlineto{}{%
-      % getting rid of \pgfpatharcaxes inside \pgf at marshal
-      \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf at marshal
-      \expandafter\expandafter\expandafter{\expandafter\pgfutil at gobble\pgf at marshal}%
-      % extracting the other four values needed for the timer
-      \edef\tikz at timer@start at angle{\expandafter\pgfutil at firstoffour\pgf at marshal}%
-      \edef\tikz at timer@end at angle{\expandafter\pgfutil at secondoffour\pgf at marshal}%
-      \pgfextract at process\tikz at timer@zero at axis{\expandafter\pgfutil at thirdoffour\pgf at marshal}%
-      \pgfextract at process\tikz at timer@ninety at axis{\expandafter\pgfutil at fourthoffour\pgf at marshal}%
-      %
-      \let\tikz at timer=\tikz at timer@arc
-    }%
-  }%
-  \tikz at scan@next at command
-}
-\def\pgfutil at firstoffour#1#2#3#4{#1}
-\def\pgfutil at secondoffour#1#2#3#4{#2}
-\def\pgfutil at thirdoffour#1#2#3#4{#3}
-\def\pgfutil at fourthoffour#1#2#3#4{#4}
-\def\pgfutil at firstgobblerest#1#2\relax{#1}
-
-% original from pgfcorepathconstruct.code.tex
-\def\tikzext at pgfpatharcto#1#2#3#4#5#6{%
-  {%
-    % The following code is based on the transformation described in svg
-    % 1.1 specification Section F.6.5
-    %
-    % Step 1: store the simple parameters (xa=x1 since TeX does not
-    % allow numbers in names)
-    %
-    \pgfmathsetmacro\pgf at arcto@rx{abs(#1)}%
-    \pgfmathsetmacro\pgf at arcto@ry{abs(#2)}%
-    \ifdim\pgf at arcto@rx pt=0pt% special rule: zero radius=straight line
-      \gdef\pgf at marshal{\pgfpathlineto{#6}}%
-    \else
-    \ifdim\pgf at arcto@ry pt=0pt% special rule: zero radius=straight line
-      \gdef\pgf at marshal{\pgfpathlineto{#6}}%
-    \else
-    \pgfmathsetmacro\pgf at arcto@phi{#3}%
-    \pgfmathsetmacro\pgf at arcto@fA{#4}%
-    \ifdim\pgf at arcto@fA pt=0pt
-    \else
-      \pgfmathsetmacro\pgf at arcto@fA{1.0}%  Special rule: every non-zero value is 1.
-    \fi
-    \pgfmathsetmacro\pgf at arcto@fS{#5}%
-    \ifdim\pgf at arcto@fS pt=0pt
-    \else
-      \pgfmathsetmacro\pgf at arcto@fS{1.0}%  Special rule: every non-zero value is 1.
-    \fi
-    \pgf at process{#6}%
-    \edef\pgf at arcto@xb{\the\pgf at x}%
-    \edef\pgf at arcto@yb{\the\pgf at y}%
-    %
-    % Step 2: x1,y1 is more complicated to compute: It is given by lastx
-    % and lasty, but these are transformed coordinates, we need the
-    % untransformed ones. So, we inverse the transformation (arghh...)
-    %
-    \pgftransforminvert%
-    \pgf at process{\pgfpointtransformed{\pgfqpoint{\pgf at path@lastx}{\pgf at path@lasty}}}%
-    \edef\pgf at arcto@xa{\the\pgf at x}%
-    \edef\pgf at arcto@ya{\the\pgf at y}%
-    \edef\pgf at temp@a{\pgf at arcto@xa,\pgf at arcto@ya}%
-    \edef\pgf at temp@b{\pgf at arcto@xb,\pgf at arcto@yb}%
-    \ifx\pgf at temp@a\pgf at temp@b% special rule: skip!
-      \global\let\pgf at marshal\pgfutil at empty
-    \else
-    %
-    % Ok, now we got all the parameters setup. Now comes the
-    % computation...
-    %
-    %
-    % Step 3: Start with a new coordinate system and rotate everything
-    % by the negated phi.
-    %
-    \pgftransformreset
-    \pgftransformrotate{-\pgf at arcto@phi}%
-    % Ok, using \pgfpointtransformed we now get transformed points...
-    %
-    % Step 4: Compute x1' and y1' (xaprime and yaprime)
-    %
-    \pgf at process{%
-      \pgfpointtransformed{\pgfpointscale{.5}{\pgfpointdiff
-          {\pgfqpoint{\pgf at arcto@xb}{\pgf at arcto@yb}}
-          {\pgfqpoint{\pgf at arcto@xa}{\pgf at arcto@ya}}%
-        }%
-      }%
-    }%
-    \edef\pgf at arcto@xaprime{\pgf at sys@tonumber\pgf at x}%
-    \edef\pgf at arcto@yaprime{\pgf at sys@tonumber\pgf at y}%
-    %
-    % Compute Lambda
-    %
-    \pgfmathsetmacro\pgf at arcto@frac at x{\pgf at arcto@xaprime/\pgf at arcto@rx}%
-    \pgfmathsetmacro\pgf at arcto@frac at y{\pgf at arcto@yaprime/\pgf at arcto@ry}%
-    \pgfmathsetmacro\pgf at arcto@lambda{
-      \pgf at arcto@frac at x*\pgf at arcto@frac at x+\pgf at arcto@frac at y*\pgf at arcto@frac at y
-    }%
-    \ifdim\pgf at arcto@lambda pt>1pt
-      \pgfmathsetmacro\pgf at arcto@sqrt at lambda{sqrt(\pgf at arcto@lambda)}%
-      \pgfmathsetmacro\pgf at arcto@rx{\pgf at arcto@sqrt at lambda*\pgf at arcto@rx}%
-      \pgfmathsetmacro\pgf at arcto@ry{\pgf at arcto@sqrt at lambda*\pgf at arcto@ry}%
-    \fi
-    %
-    % Do some scaling
-    %
-    \pgfmathsetmacro\pgf at arcto@xaprime at abs{abs(\pgf at arcto@xaprime)}%
-    \pgfmathsetmacro\pgf at arcto@yaprime at abs{abs(\pgf at arcto@yaprime)}%
-    \pgfmathmax@{\pgf at arcto@rx,\pgf at arcto@ry,\pgf at arcto@xaprime at abs,\pgf at arcto@yaprime at abs}%
-    \pgfmathsetmacro\pgf at arcto@scaling{20/\pgfmathresult}%
-    \pgfmathsetmacro\pgf at arcto@rx at scaled{\pgf at arcto@scaling*\pgf at arcto@rx}%
-    \pgfmathsetmacro\pgf at arcto@ry at scaled{\pgf at arcto@scaling*\pgf at arcto@ry}%
-    \pgfmathsetmacro\pgf at arcto@xaprime at scaled{\pgf at arcto@scaling*\pgf at arcto@xaprime}%
-    \pgfmathsetmacro\pgf at arcto@yaprime at scaled{\pgf at arcto@scaling*\pgf at arcto@yaprime}%
-    %
-    % Step 5: Now comes the messy computation of c1' and c2'.
-    %
-    \ifdim\pgf at arcto@rx pt>\pgf at arcto@ry pt
-      \pgfmathsetmacro\pgf at arcto@rx at over@ry{\pgf at arcto@rx/\pgf at arcto@ry}%
-      \pgfmathsetmacro\pgf at arcto@ry at over@rx{\pgf at arcto@ry/\pgf at arcto@rx}%
-      \pgfmathsetmacro\pgf at arcto@temp{\pgf at arcto@ry at over@rx*\pgf at arcto@xaprime at scaled}%
-      \pgfmathsetmacro\pgf at arcto@numerator{
-        \pgf at arcto@ry at scaled*\pgf at arcto@ry at scaled-
-        \pgf at arcto@yaprime at scaled*\pgf at arcto@yaprime at scaled-
-        \pgf at arcto@temp*\pgf at arcto@temp
-      }%
-      \pgfmathsetmacro\pgf at arcto@denominator{
-        \pgf at arcto@yaprime at scaled*\pgf at arcto@yaprime at scaled+
-        \pgf at arcto@temp*\pgf at arcto@temp
-      }%
-    \else
-      \pgfmathsetmacro\pgf at arcto@rx at over@ry{\pgf at arcto@rx/\pgf at arcto@ry}%
-      \pgfmathsetmacro\pgf at arcto@ry at over@rx{\pgf at arcto@ry/\pgf at arcto@rx}%
-      \pgfmathsetmacro\pgf at arcto@temp{\pgf at arcto@rx at over@ry*\pgf at arcto@yaprime at scaled}%
-      \pgfmathsetmacro\pgf at arcto@numerator{
-        \pgf at arcto@rx at scaled*\pgf at arcto@rx at scaled-
-        \pgf at arcto@xaprime at scaled*\pgf at arcto@xaprime at scaled-
-        \pgf at arcto@temp*\pgf at arcto@temp
-      }%
-      \pgfmathsetmacro\pgf at arcto@denominator{
-        \pgf at arcto@xaprime at scaled*\pgf at arcto@xaprime at scaled+
-        \pgf at arcto@temp*\pgf at arcto@temp
-      }%
-    \fi
-    \pgfmathsetmacro\pgf at arcto@frac{
-      \pgf at arcto@numerator/\pgf at arcto@denominator
-    }%
-    \ifdim\pgf at arcto@frac pt<0pt
-      \pgfmathsetmacro\pgf at arcto@factor{0}%
-    \else
-      \pgfmathsetmacro\pgf at arcto@factor{sqrt(\pgf at arcto@frac)}%
-    \fi
-    \ifx\pgf at arcto@fA\pgf at arcto@fS
-      \pgfmathsetmacro\pgf at arcto@factor{-\pgf at arcto@factor}%
-    \fi
-    \pgfmathsetmacro\pgf at arcto@cxprime{
-      \pgf at arcto@factor*\pgf at arcto@rx at over@ry*\pgf at arcto@yaprime
-    }%
-    \pgfmathsetmacro\pgf at arcto@cyprime{
-      -\pgf at arcto@factor*\pgf at arcto@ry at over@rx*\pgf at arcto@xaprime
-    }%
-    %
-    % Step 6: Ok, now compute cx,cy
-    %
-    \pgftransformreset
-    \pgftransformrotate{\pgf at arcto@phi}%
-    \pgf at process{%
-      \pgfpointtransformed{\pgfqpoint{\pgf at arcto@cxprime pt}{\pgf at arcto@cyprime pt}}%
-    }%
-    \edef\pgf at arcto@temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \pgf at process{\pgfpointadd{\pgf at arcto@temp}{%
-        \pgfpointscale{.5}{%
-          \pgfpointadd
-          {\pgfqpoint{\pgf at arcto@xa}{\pgf at arcto@ya}}
-          {\pgfqpoint{\pgf at arcto@xb}{\pgf at arcto@yb}}}%
-      }%
-    }%
-    \edef\pgf at arcto@cx{\the\pgf at x}%
-    \edef\pgf at arcto@cy{\the\pgf at y}%
-    %
-    % Step 7: Compute start angle:
-    %
-    \pgfmathsetmacro\pgf at arcto@vec at x{(\pgf at arcto@xaprime-\pgf at arcto@cxprime)/\pgf at arcto@rx}%
-    \pgfmathsetmacro\pgf at arcto@vec at y{(\pgf at arcto@yaprime-\pgf at arcto@cyprime)/\pgf at arcto@ry}%
-    \pgfmathsetmacro\pgf at arcto@denominator{veclen(\pgf at arcto@vec at x,\pgf at arcto@vec at y)}%
-    \pgfmathsetmacro\pgf at arcto@frac{\pgf at arcto@vec at x/\pgf at arcto@denominator}%
-    \pgfmathsetmacro\pgf at arcto@theta at start{acos(\pgf at arcto@frac)}%
-    \ifdim\pgf at arcto@vec at y pt<0pt
-      \pgfmathsetmacro\pgf at arcto@theta at start{-\pgf at arcto@theta at start}%
-    \fi
-    %
-    % Step 8: Compute end angle:
-    %
-    \pgfmathsetmacro\pgf at arcto@vec at x{(-\pgf at arcto@xaprime-\pgf at arcto@cxprime)/\pgf at arcto@rx}%
-    \pgfmathsetmacro\pgf at arcto@vec at y{(-\pgf at arcto@yaprime-\pgf at arcto@cyprime)/\pgf at arcto@ry}%
-    \pgfmathsetmacro\pgf at arcto@denominator{veclen(\pgf at arcto@vec at x,\pgf at arcto@vec at y)}%
-    \pgfmathsetmacro\pgf at arcto@frac{\pgf at arcto@vec at x/\pgf at arcto@denominator}%
-    \pgfmathsetmacro\pgf at arcto@theta at end{acos(\pgf at arcto@frac)}%
-    \ifdim\pgf at arcto@vec at y pt<0pt
-      \pgfmathsetmacro\pgf at arcto@theta at end{-\pgf at arcto@theta at end}%
-    \fi
-    \pgfmathsetmacro\pgf at arcto@delta at theta{abs(\pgf at arcto@theta at start-\pgf at arcto@theta at end)}%
-    \ifdim\pgf at arcto@fA pt=0pt
-      \ifdim\pgf at arcto@delta at theta pt>180pt
-        % Ok, we need to adjust the angle!
-        \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
-          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
-        \else
-          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
-        \fi
-      \fi
-    \else
-      \ifdim\pgf at arcto@delta at theta pt<180pt
-        % Ok, we need to adjust the angle!
-        \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
-          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
-        \else
-          \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
-        \fi
-      \fi
-    \fi
-    % Qrr:
-    % make sure direction is properly followed
-    \ifdim\pgf at arcto@fS pt=1pt
-      % counter clockwise
-      \ifdim\pgf at arcto@theta at end pt<\pgf at arcto@theta at start pt
-        \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end+360}%
-      \fi
-    \else
-      % clockwise
-      \ifdim\pgf at arcto@theta at end pt>\pgf at arcto@theta at start pt
-        \pgfmathsetmacro\pgf at arcto@theta at end{\pgf at arcto@theta at end-360}%
-      \fi
-    \fi
-    \xdef\pgf at marshal{\noexpand
-      \pgfpatharcaxes{\pgf at arcto@theta at start}{\pgf at arcto@theta at end}
-      {\noexpand\pgfpointpolar{\pgf at arcto@phi}{\pgf at arcto@rx}}
-      {\noexpand\pgfpointpolar{\pgf at arcto@phi+90}{\pgf at arcto@ry}}%
-    }%
-    \fi\fi\fi
-  }%
-  \pgf at marshal
-}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.ortho.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,693 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-%% For the operators r-lr, r-rl, r-ud and r-du we need to check after TikZ found r
-\let\tikz at orig@rect\tikz at rect
-\def\tikz at rect{\pgfutil at ifnextchar e\tikz at orig@rect\tikzext at tikz@r}
-\def\tikzext at tikz@r -{%
-  \pgfutil at ifnextchar l\tikzext at tikz@lr at lineto{%
-    \pgfutil at ifnextchar r\tikzext at tikz@rl at lineto{%
-      \pgfutil at ifnextchar u\tikzext at tikz@ud at lineto{%
-        \pgfutil at ifnextchar d\tikzext at tikz@du at lineto\tikz at expand
-      }%
-    }%
-  }%
-}
-%% For the operator |-| we need to check after TikZ found |-
-\let\tikz at orig@vh at lineto@next\tikz at vh@lineto at next
-\def\tikz at vh@lineto at next{%
-  \pgfutil at ifnextchar|{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
-    {\pgfutil at ifnextchar\tikz at activebar{\expandafter\tikzext at tikz@vhv at lineto\pgfutil at gobble}%
-      {\tikz at orig@vh at lineto@next}}}
-%% For the operator -|- we need to check after TikZ found -|
-\let\tikz at orig@hv at lineto\tikz at hv@lineto
-\def\tikz at hv@lineto{%
-  \pgfutil at ifnextchar-{\expandafter\tikzext at tikz@hvh at lineto\pgfutil at gobble}%
-    {\tikz at orig@hv at lineto}}
-
-%% |-|[<opts>] and -|-[<opts>] are allowed
-\def\tikzext at tikz@vhv at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@vhv at lineto@next[]}}
-\def\tikzext at tikz@hvh at lineto{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@hvh at lineto@next[]}}
-
-%% r-rl[<opts>], r-lr[<opts>], etc.
-\def\tikzext at tikz@rl at lineto rl{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@rl at lineto@next[]}}
-\def\tikzext at tikz@lr at lineto lr{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@lr at lineto@next[]}}
-\def\tikzext at tikz@du at lineto du{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@du at lineto@next[]}}
-\def\tikzext at tikz@ud at lineto ud{\pgfutil at ifnextchar[{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next}{\tikzext at tikz@collect at hvvh@options\tikzext at tikz@ud at lineto@next[]}}
-
-%% TikZ interjects are done, the rest is independent:
-
-
-\newdimen\tikzext at tikz@udlr at distance
-\newdimen\tikzext at tikz@hvvh at distance
-\newif\iftikzext at tikz@hvvh at middle         % checks whether spacing = 0 was selected
-\newif\iftikzext at tikz@hvvh at fromcenter
-\newif\iftikzext at ortho@preflush
-\tikzext at ortho@preflushtrue
-
-%%% HVVH/UDLR
-\tikzset{%
-  ortho/.code=\pgfqkeys{/tikz/ortho}{#1},
-  hvvh/.code=\pgfqkeys{/tikz/ortho}{#1},%
-  udlr/.code=\pgfqkeys{/tikz/ortho}{#1},%
-  ortho/.search also=/tikz,
-  ortho/middle 0 to 1/.style={/tikz/ortho/spacing=0},%
-  ortho/from center/.is if=tikzext at tikz@hvvh at fromcenter,%
-  ortho/spacing/.code=% spacing = 0 means that the middle part are the pos-itions 0 to 1,
-  %                                           the first part is -1 to 0, the last part is to 2
-    \pgfmathint{#1}\let\tikzext at tikz@hvvh at timing@parts\pgfmathresult% in case they are calculations to be done
-    \ifcase\tikzext at tikz@hvvh at timing@parts\relax
-      \tikzext at tikz@hvvh at middletrue
-      \def\tikzext at tikz@hvvh at timing@parts{1}%
-      \def\tikzext at tikz@hvvh at timing@first{0}%
-      \def\tikzext at tikz@hvvh at timing@last{1}%
-      \def\tikzext at tikz@hvvh at timing@subtr{0}%
-      \def\tikzext at tikz@hvvh at timing@factor{1}%
-    \else            % in all other cases n > 0 the kinks are at pos = 1/n and (n - 1)/n
-      \tikzext at tikz@hvvh at middlefalse
-      \pgfmathreciprocal{#1}\let\tikzext at tikz@hvvh at timing@first\pgfmathresult
-      \pgfmathsetmacro\tikzext at tikz@hvvh at timing@last{1-\pgfmathresult}%
-      \pgfmathreciprocal{#1-2}%
-      \let\tikzext at tikz@hvvh at timing@subtr\pgfmathresult
-      \pgfmathsetmacro\tikzext at tikz@hvvh at timing@factor{1+2*\pgfmathresult}%
-    \fi,%
-  ortho/ratio/.code=\pgfmathsetmacro\tikzext at tikz@hvvh at ratio{#1},%
-  % TODO: not possible to do distance in TikZ coordinate system
-  ortho/distance/.code=\pgfmathsetlength\tikzext at tikz@hvvh at distance{#1}\let\tikzext at tikz@hvvh at ratio\pgfutil at empty,%
-  ortho/udlr distance/.style={%
-    /tikz/ortho/ud distance={#1},%
-    /tikz/ortho/du distance={#1},%
-    /tikz/ortho/lr distance={#1},%
-    /tikz/ortho/rl distance={#1}},%
-  ortho/ud distance/.initial=+.5cm,%
-  ortho/du distance/.initial=+.5cm,%
-  ortho/lr distance/.initial=+.5cm,%
-  ortho/rl distance/.initial=+.5cm,%
-  ortho/ratio=.5,% default value
-  ortho/spacing=4,% default value
-}%
-
-%BEGIN_FOLD Timer
-\def\tikz at timer@hvhline{%
-  \pgf at process{\tikz at timer@start}\pgf at ya\pgf at y
-  \pgf at process{\tikz at timer@end}\pgf at yc\pgf at y
-  \pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
-  \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
-    \iftikzext at tikz@hvvh at middle
-      \advance\pgf at xb1pt%
-    \else
-      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
-    \fi
-    \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
-        \noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}}%
-  \else
-    \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
-      \iftikzext at tikz@hvvh at middle
-        \advance\pgf at xb-1pt%
-      \else
-        \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
-      \fi
-      \advance\pgf at xb\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
-      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
-        {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at yc}}{\noexpand\tikz at timer@end}}%
-    \else% middle half
-      \pgf at xb\tikzext at tikz@hvvh at timing@factor\pgf at xb%
-      \advance\pgf at xb-\tikzext at tikz@hvvh at timing@subtr pt%
-      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
-        {\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at ya}}{\noexpand\tikz at timer@middle}}%
-    \fi\fi\tikz at marshal}
-\def\tikz at timer@vhvline{%
-  \pgf at process{\tikz at timer@start}\pgf at xa\pgf at x
-  \pgf at process{\tikz at timer@end}\pgf at xc\pgf at x
-  \pgf at process{\tikz at timer@middle}\pgf at xb\tikz at time pt%
-  \ifdim\tikz at time pt<\tikzext at tikz@hvvh at timing@first pt% first quarter
-    \iftikzext at tikz@hvvh at middle
-      \advance\pgf at xb1pt%
-    \else
-      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
-    \fi
-    \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}{\noexpand\tikz at timer@start}{%
-        \noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}}%
-  \else
-    \ifdim\tikz at time pt>\tikzext at tikz@hvvh at timing@last pt% last quarter
-    \iftikzext at tikz@hvvh at middle
-      \advance\pgf at xb-1pt%
-    \else
-      \pgf at xb\tikzext at tikz@hvvh at timing@parts\pgf at xb
-    \fi
-      \advance\pgf at xb by\dimexpr-\tikzext at tikz@hvvh at timing@parts pt+1pt\relax%
-      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}{\noexpand\tikz at timer@end}}%
-    \else% middle half
-      \pgf at xb=\tikzext at tikz@hvvh at timing@factor\pgf at xb
-      \advance\pgf at xb by-\tikzext at tikz@hvvh at timing@subtr pt%
-      \edef\tikz at marshal{\noexpand\pgftransformlineattime{\pgf at sys@tonumber{\pgf at xb}}%
-        {\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at y}}{\noexpand\tikz at timer@middle}}%
-      \fi\fi\tikz at marshal}%
-
-%% collect options and nodes, coordinates and pics onpath
-\let\tikz at hvvh@currentoption\pgfutil at empty
-\def\tikzext at tikz@collect at hvvh@options#1[#2]{\edef\tikz at hvvh@currentoption{#2}#1}
-\def\tikzext at tikz@hvh at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@hvh at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@hvh at lineto@next}%
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@hvh at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@hvh at lineto}}}}%
-\def\tikzext at tikz@vhv at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@vhv at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@vhv at lineto@next}%
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@vhv at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@vhv at lineto}}}}%
-\def\tikzext at tikz@ud at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@ud at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@ud at lineto@next}
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@ud at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@ud at lineto}}}}%
-\def\tikzext at tikz@du at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@du at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@du at lineto@next}
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@du at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@du at lineto}}}}%
-\def\tikzext at tikz@lr at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@lr at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@lr at lineto@next}
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@lr at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@lr at lineto}}}}%
-\def\tikzext at tikz@rl at lineto@next{%
-  \pgfutil at ifnextchar n{\tikz at collect@label at onpath\tikzext at tikz@rl at lineto@next}
-    {\pgfutil at ifnextchar c{\tikz at collect@coordinate at onpath\tikzext at tikz@rl at lineto@next}
-      {\pgfutil at ifnextchar p{\tikz at collect@pic at onpath\tikzext at tikz@rl at lineto@next}{\tikz at scan@one at point\tikzext at tikz@@rl at lineto}}}}%
-
-\def\tikz at do@hvvh#1#2#3#4#5{%
-% #1 = first kink
-% #2 = second kink
-% #3 = end
-% #4 = timer
-% #5 = tikz at shapeborder@name
-  \pgfpathlineto{#1}%
-  \pgfpathlineto{#2}%
-  \pgfpathlineto{#3}%
-  \def\tikz at timer@middle{#2}%
-  \def\tikz at timer@end{#3}%
-  \let\tikz at timer#4
-  \edef\pgf at temp{#5}%
-  \ifx\pgf at temp\pgfutil at empty
-    \let\tikz at moveto@waiting\relax
-  \else
-    \let\tikz at moveto@waiting\pgf at temp
-  \fi
-  \tikz at scan@next at command}%
-
-%% -|- operator
-\def\tikzext at tikz@@hvh at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xb=\tikz at lastx
-  \pgf at xc=\tikz at lastx
-  \pgf at yc=\tikz at lasty
-  \tikz at make@last at position{#1}%
-  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\pgf at yc}}\pgf at xc\pgf at yc
-  \begingroup
-    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
-    \iftikz at shapeborder
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at xb}{\tikz at lasty}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at xc\pgf at xb
-      \fi
-      \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
-        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
-          \iftikzext at tikz@hvvh at fromcenter
-            \pgf at xc\tikz at lastx
-          \else
-            \pgf at xc\pgf at x
-          \fi
-        \fi
-        \ifdim\pgf at xb>\tikz at lastx
-          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
-        \fi
-      }{%
-        \iftikzext at tikz@hvvh at fromcenter
-          \tikzext at tikz@hvvh at distance\tikz at lastx
-        \else
-          \tikzext at tikz@hvvh at distance\pgf at x
-        \fi
-        \advance\tikzext at tikz@hvvh at distance-\pgf at xc
-        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
-      }%
-      \advance\pgf at xc\tikzext at tikz@hvvh at distance
-      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
-      \edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at xc\pgf at xb
-      \fi
-      \pgfutil at ifxempty\tikzext at tikz@hvvh at ratio{%
-        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
-          \pgf at xc\tikz at lastx
-        \fi
-        \ifdim\pgf at xb>\tikz at lastx
-          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
-        \fi
-      }{%
-        \tikzext at tikz@hvvh at distance\tikz at lastx
-        \advance\tikzext at tikz@hvvh at distance-\pgf at xc
-        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
-      }%
-      \advance\pgf at xc\tikzext at tikz@hvvh at distance
-      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
-      \edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi%
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\expandafter\noexpand\pgf at tempa}%
-        {\expandafter\noexpand\pgf at tempb}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% |-| operator
-\def\tikzext at tikz@@vhv at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xc=\tikz at lastx
-  \pgf at yb=\tikz at lasty
-  \pgf at yc=\tikz at lasty
-  \tikz at make@last at position{#1}%
-  \tikz at flush@moveto at toward{\pgfqpoint{\pgf at xc}{\tikz at lasty}}\pgf at xc\pgf at yc
-  \begingroup
-    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
-    \iftikz at shapeborder
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\tikz at lastx}{\pgf at yb}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at yc\pgf at yb
-      \fi
-      \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
-        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
-          \iftikzext at tikz@hvvh at fromcenter
-            \pgf at yc\tikz at lasty
-          \else
-            \pgf at yc\pgf at y
-          \fi
-        \fi
-        \ifdim\pgf at yb>\tikz at lasty
-          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
-        \fi
-      \else
-        \iftikzext at tikz@hvvh at fromcenter
-          \tikzext at tikz@hvvh at distance\tikz at lasty
-        \else
-          \tikzext at tikz@hvvh at distance\pgf at y
-        \fi
-        \advance\tikzext at tikz@hvvh at distance-\pgf at yc
-        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
-      \fi
-      \advance\pgf at yc\tikzext at tikz@hvvh at distance
-      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
-      \edef\pgf at temp{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at yc\pgf at yb
-      \fi
-      \ifx\tikzext at tikz@hvvh at ratio\pgfutil at empty
-        \ifdim\tikzext at tikz@hvvh at distance<0pt\relax
-          \pgf at yc\tikz at lasty
-        \fi
-        \ifdim\pgf at yb>\tikz at lasty
-          \tikzext at tikz@hvvh at distance-\tikzext at tikz@hvvh at distance
-        \fi
-      \else
-        \tikzext at tikz@hvvh at distance\tikz at lasty
-        \advance\tikzext at tikz@hvvh at distance-\pgf at yc
-        \tikzext at tikz@hvvh at distance\tikzext at tikz@hvvh at ratio\tikzext at tikz@hvvh at distance
-      \fi
-      \advance\pgf at yc\tikzext at tikz@hvvh at distance
-      \edef\pgf at tempa{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-      \edef\pgf at tempb{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
-      \edef\pgf at temp{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi%
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\expandafter\noexpand\pgf at tempa}%
-        {\expandafter\noexpand\pgf at tempb}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% r-ud operator
-\def\tikzext at tikz@@ud at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xc\tikz at lastx
-  \pgf at yb\tikz at lasty
-  \advance\tikz at lasty1pt%
-  \let\pgf at temp\tikz at moveto@waiting
-  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
-  \tikz at make@last at position{#1}%
-  \begingroup
-    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
-    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/ud distance}}%
-    \iftikz at shapeborder
-      \advance\pgf at y1pt%
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at yc\pgf at yb
-      \else\ifx\pgf at temp\relax
-          \pgf at yc\pgf at yb
-        \fi
-      \fi
-      \ifdim\pgf at yc<\pgf at y
-        \iftikzext at tikz@hvvh at fromcenter
-          \pgf at yc=\tikz at lasty
-        \else
-          \pgf at yc=\pgf at y
-        \fi
-      \fi
-      \advance\pgf at yc\tikzext at tikz@udlr at distance
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty
-      \ifx\pgf at temp\relax\else
-        \iftikzext at tikz@hvvh at fromcenter\else
-          \pgf at yb\pgf at yc
-        \fi
-      \fi
-      \ifdim\pgf at yb<\tikz at lasty\pgf at yb\tikz at lasty\fi
-      \advance\pgf at yb\tikzext at tikz@udlr at distance
-      \pgf at yc\pgf at yb
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-        {\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% r-du operator
-\def\tikzext at tikz@@du at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xc\tikz at lastx
-  \pgf at yb\tikz at lasty
-  \advance\tikz at lasty-1pt%
-  \let\pgf at temp\tikz at moveto@waiting
-  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
-  \tikz at make@last at position{#1}%
-  \begingroup
-    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
-    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/du distance}}%
-    \iftikz at shapeborder
-      \advance\pgf at y-1pt%
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at yc\pgf at yb
-      \else\ifx\pgf at temp\relax
-          \pgf at yc\pgf at yb
-        \fi
-      \fi
-      \ifdim\pgf at yc>\pgf at y
-        \iftikzext at tikz@hvvh at fromcenter
-          \pgf at yc=\tikz at lasty
-        \else
-          \pgf at yc=\pgf at y
-        \fi
-      \fi
-      \advance\pgf at yc-\tikzext at tikz@udlr at distance
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty
-      \ifx\pgf at temp\relax\else
-        \iftikzext at tikz@hvvh at fromcenter\else
-          \pgf at yb\pgf at yc
-        \fi
-      \fi
-      \ifdim\pgf at yb>\tikz at lasty\pgf at yb\tikz at lasty\fi
-      \advance\pgf at yb-\tikzext at tikz@udlr at distance
-      \pgf at yc\pgf at yb
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-        {\noexpand\pgfqpoint{\the\tikz at lastx}{\the\pgf at yc}}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@vhvline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% r-lr operator
-\def\tikzext at tikz@@lr at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xb\tikz at lastx
-  \pgf at yc\tikz at lasty
-  \advance\tikz at lastx-1pt%
-  \let\pgf at temp\tikz at moveto@waiting
-  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
-  \tikz at make@last at position{#1}%
-  \begingroup
-    \pgfqkeys{/tikz/ortho}{/tikz/style/.expand once=\tikz at hvvh@currentoption}%
-    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/lr distance}}%
-    \iftikz at shapeborder
-      \advance\pgf at x-1pt%
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at xc\pgf at xb
-      \else\ifx\pgf at temp\relax
-          \pgf at xc\pgf at xb
-        \fi
-      \fi
-      \ifdim\pgf at xc>\pgf at x
-        \iftikzext at tikz@hvvh at fromcenter
-          \pgf at xc=\tikz at lastx
-        \else
-          \pgf at xc=\pgf at x
-        \fi
-      \fi
-      \advance\pgf at xc-\tikzext at tikz@udlr at distance
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty
-      \ifx\pgf at temp\relax\else
-        \iftikzext at tikz@hvvh at fromcenter\else
-          \pgf at xb\pgf at xc
-        \fi
-      \fi
-      \ifdim\pgf at xb>\tikz at lastx\pgf at xb\tikz at lastx\fi
-      \advance\pgf at xb-\tikzext at tikz@udlr at distance
-      \pgf at xc\pgf at xb
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% r-rl operator
-\def\tikzext at tikz@@rl at lineto#1{%
-  \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \pgf at xb\tikz at lastx
-  \pgf at yc\tikz at lasty
-  \advance\tikz at lastx1pt%
-  \let\pgf at temp\tikz at moveto@waiting
-  \tikz at flush@moveto at toward{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}\pgf at xc\pgf at yc
-  \tikz at make@last at position{#1}%
-  \begingroup
-    \pgfqkeys{/tikz/udlr}{/tikz/ortho/.expand once=\tikz at hvvh@currentoption}%
-    \pgfmathsetlength\tikzext at tikz@udlr at distance{\pgfkeysvalueof{/tikz/ortho/rl distance}}%
-    \iftikz at shapeborder%
-      \advance\pgf at x1pt%
-      \pgf at process{\pgfpointshapeborder{\tikz at shapeborder@name}{\pgfqpoint{\pgf at x}{\pgf at y}}}%
-      \iftikzext at tikz@hvvh at fromcenter
-        \pgf at xc\pgf at xb
-      \else\ifx\pgf at temp\relax
-          \pgf at xc\pgf at xb
-        \fi
-      \fi
-      \ifdim\pgf at xc<\pgf at x
-        \iftikzext at tikz@hvvh at fromcenter
-          \pgf at xc=\tikz at lastx
-        \else
-          \pgf at xc=\pgf at x
-        \fi
-      \fi
-      \advance\pgf at xc\tikzext at tikz@udlr at distance
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}%
-    \else
-      \let\tikz at shapeborder@name\pgfutil at empty%
-      \ifx\pgf at temp\relax\else
-        \iftikzext at tikz@hvvh at fromcenter\else
-          \pgf at xb\pgf at xc
-        \fi
-      \fi
-      \ifdim\pgf at xb<\tikz at lastx\pgf at xb\tikz at lastx\fi
-      \advance\pgf at xb\tikzext at tikz@udlr at distance
-      \pgf at xc\pgf at xb
-      \edef\pgf at temp{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-    \fi
-    \xdef\pgf at marshal{%
-      \noexpand\tikz at do@hvvh
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-        {\noexpand\pgfqpoint{\the\pgf at xc}{\the\tikz at lasty}}%
-        {\expandafter\noexpand\pgf at temp}%
-        {\noexpand\tikz at timer@hvhline}{\tikz at shapeborder@name}}%
-  \endgroup
-  \pgf at marshal}%
-
-%% a few nice to haves, use with to or edge operator
-\tikzset{
-  node as new start/.is if=tikzext at ortho@preflush,
-  node as new start,
-  ortho/install shortcuts/.style={
-    *|/.style={only vertical second={#1}},   *|/.default=,
-    |*/.style={only vertical first={#1}},    |*/.default=,
-    *-/.style={only horizontal second={#1}}, *-/.default=,
-    -*/.style={only horizontal first={#1}},  -*/.default=,
-    |-/.style={to path={|-(\tikztotarget)\tikztonodes}},
-    -|/.style={to path={-|(\tikztotarget)\tikztonodes}},
-    -|-/.style=/tikz/horizontal vertical horizontal,
-    |-|/.style=/tikz/vertical horizontal vertical,
-  },
-  horizontal vertical/.style={to path={-| (\tikztotarget) \tikztonodes}},
-  vertical horizontal/.style={to path={|- (\tikztotarget) \tikztonodes}},
-  horizontal vertical horizontal/.style={to path={-|- (\tikztotarget) \tikztonodes}},
-  vertical horizontal vertical/.style={to path={|-| (\tikztotarget) \tikztonodes}},
-  only vertical second/.style={to path={
-    \pgfextra
-      \let\tikzext at ortho@anchor\pgfutil at empty
-      \let\tikzext at origtotarget\pgfutil at empty
-      \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
-      \iftikz at shapeborder
-        \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
-        \ifdim\pgf at y>\tikz at lasty\relax
-          \edef\tikztostart{\tikztostart.north}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
-        \else
-          \edef\tikztostart{\tikztostart.south}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
-        \fi
-      \fi
-      \def\tikz at tempa{#1}%
-      \ifx\tikz at tempa\pgfutil at empty\else
-        \let\tikzext at origtotarget\tikztotarget
-        \edef\tikztotarget{[xshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
-      \fi
-    \endpgfextra
-    [insert path/.expanded={
-      (perpendicular cs: horizontal line through={(\tikztostart)},
-                         vertical line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
-      \pgfextra
-        \ifx\tikzext at origtotarget\pgfutil at empty\else
-          \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
-  only vertical second/.default=,
-  only horizontal second/.style={to path={
-    \pgfextra
-      \let\tikzext at ortho@anchor\pgfutil at empty
-      \let\tikzext at origtotarget\pgfutil at empty
-      \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
-      \iftikz at shapeborder
-        \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
-        \ifdim\pgf at x>\tikz at lastx\relax
-          \edef\tikztostart{\tikztostart.east}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
-        \else
-          \edef\tikztostart{\tikztostart.west}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
-        \fi
-      \fi
-      \def\tikz at tempa{#1}%
-      \ifx\tikz at tempa\pgfutil at empty\else
-        \let\tikzext at origtotarget\tikztotarget
-        \edef\tikztotarget{[yshift={#1}]\tikztotarget\tikzext at ortho@anchor}%
-      \fi
-    \endpgfextra
-    [insert path/.expanded={
-      (perpendicular cs: vertical line through={(\tikztostart)},
-                         horizontal line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes
-    \pgfextra
-      \ifx\tikzext at origtotarget\pgfutil at empty\else
-        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
-  only horizontal second/.default=,
-  only vertical first/.style={to path={
-    \pgfextra
-      \let\tikzext at ortho@anchor\pgfutil at empty
-      \let\tikzext at origtotarget\pgfutil at empty
-      \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
-      \pgf at ya=\pgf at y
-      \iftikz at shapeborder
-        \let\tikzext at origtotarget\tikztotarget
-        \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
-        \ifdim\pgf at ya>\tikz at lasty\relax
-          \edef\tikztotarget{\tikztotarget.south}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.north}\fi
-        \else
-          \edef\tikztotarget{\tikztotarget.north}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.south}\fi
-        \fi
-      \fi
-      \def\tikz at tempa{#1}%
-      \ifx\tikz at tempa\pgfutil at empty\else
-        \edef\tikztostart{[xshift={#1}]\tikztostart\tikzext at ortho@anchor}%
-      \fi
-    \endpgfextra
-    [insert path/.expanded={(\tikztostart)}] 
-    -- (perpendicular cs: vertical line through/.expanded={(\tikztostart)},
-                        horizontal line through={(\tikztotarget)})
-    \tikztonodes
-    \pgfextra
-      \ifx\tikzext at origtotarget\pgfutil at empty\else
-        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
-  only vertical first/.default=,
-  only horizontal first/.style={to path={
-    \pgfextra
-      \let\tikzext at ortho@anchor\pgfutil at empty
-      \let\tikzext at origtotarget\pgfutil at empty
-      \tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax
-      \pgf at xa=\pgf at x
-      \iftikz at shapeborder
-        \let\tikzext at origtotarget\tikztotarget
-        \tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax
-        \ifdim\pgf at xa>\tikz at lastx\relax
-          \edef\tikztotarget{\tikztotarget.west}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.east}\fi
-        \else
-          \edef\tikztotarget{\tikztotarget.east}%
-          \iftikz at shapeborder\def\tikzext at ortho@anchor{.west}\fi
-        \fi
-      \fi
-      \def\tikz at tempa{#1}%
-      \ifx\tikz at tempa\pgfutil at empty\else
-        \edef\tikztostart{[yshift={#1}]\tikztostart\tikzext at ortho@anchor}%
-      \fi
-    \endpgfextra
-    [insert path/.expanded={(\tikztostart)}]
-      -- (perpendicular cs: horizontal line through/.expanded={(\tikztostart)},
-                              vertical line through={(\tikztotarget)})
-    \tikztonodes \pgfextra
-      \ifx\tikzext at origtotarget\pgfutil at empty\else
-        \iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi\endpgfextra}},
-  only horizontal first/.default=,
-  only vertical first to center/.style={to path={
-      \pgfextra
-        \let\tikzext at origtotarget\tikztotarget
-      \endpgfextra
-    (\tikztostart) -- (perpendicular cs: vertical line through={(\tikztostart)},
-                                         horizontal line through={(\tikztotarget)})
-    \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}},
-  only horizontal first to center/.style={to path={
-      \pgfextra
-        \let\tikzext at origtotarget\tikztotarget
-      \endpgfextra
-    (\tikztostart) -- (perpendicular cs: horizontal line through={(\tikztostart)},
-                                         vertical line through={(\tikztotarget)})
-    \tikztonodes \ifx\tikzext at origtotarget\pgfutil at empty\else\iftikzext at ortho@preflush(\tikzext at origtotarget)\fi\fi}}%
-}
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.timer.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.timer.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.paths.timer.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,188 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\def\tikz at rectB#1{% originally from tikz.code.tex
-  \tikz at make@last at position{#1}%
-  \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}%
-  \let\tikz at timer\tikz at timer@rectangle% %% Timer: new timer
-  \tikz@@movetosave{\pgfqpoint{\pgf at xa}{\pgf at ya}}%
-  \tikz at path@lineto{\pgfqpoint{\pgf at xa}{\tikz at lasty}}%
-  \tikz at path@lineto{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}%
-  \tikz at path@lineto{\pgfqpoint{\tikz at lastx}{\pgf at ya}}%
-  \iftikz at snaked
-    \tikz at path@lineto{\pgfqpoint{\pgf at xa}{\pgf at ya}}%
-  \fi
-  \pgfpathclose
-          \tikz@@movetosave{\pgfqpoint{\tikz at lastx}{\tikz at lasty}}%
-  \def\pgfstrokehook{}%
-  \let\tikz at tangent\relax
-  \tikz at scan@next at command
-}%
-
-\def\tikz@@sine#1{% originally from tikz.code.tex
-  \let\tikz at tangent\tikz at tangent@lookup
-  \tikz at flush@moveto
-  \edef\tikz at timer@start{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
-  \pgf at process{#1}%
-  \edef\tikz at timer@end{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}% %% Timer: saver target position
-  \pgf at xc=\pgf at x
-  \pgf at yc=\pgf at y
-  \advance\pgf at xc by-\tikz at lastx
-  \advance\pgf at yc by-\tikz at lasty
-  \advance\tikz at lastx by\pgf at xc
-  \advance\tikz at lasty by\pgf at yc
-  \tikz at lastxsaved=\tikz at lastx
-  \tikz at lastysaved=\tikz at lasty
-  \tikz at updatecurrenttrue
-  \let\tikz at timer=\tikz at timer@sine% %% Timer: new timer
-  \pgfpathsine{\pgfqpoint{\pgf at xc}{\pgf at yc}}%
-  \tikz at scan@next at command
-}
-
-\def\tikz@@cosine#1{% originally from tikz.code.tex
-  \let\tikz at tangent\tikz at tangent@lookup
-  \tikz at flush@moveto
-  \edef\tikz at timer@start{\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
-  \pgf at process{#1}%
-  \edef\tikz at timer@end{\pgfqpoint{\the\pgf at x}{\the\pgf at y}}% %% Timer: save target position
-  \pgf at xc=\pgf at x
-  \pgf at yc=\pgf at y
-  \advance\pgf at xc by-\tikz at lastx
-  \advance\pgf at yc by-\tikz at lasty
-  \advance\tikz at lastx by\pgf at xc
-  \advance\tikz at lasty by\pgf at yc
-  \tikz at lastxsaved=\tikz at lastx
-  \tikz at lastysaved=\tikz at lasty
-  \tikz at updatecurrenttrue
-  \let\tikz at timer=\tikz at timer@cosine% %% Timer: new timer
-  \pgfpathcosine{\pgfqpoint{\pgf at xc}{\pgf at yc}}%
-  \tikz at scan@next at command
-}
-
-\def\tikz at timer@rectangle{%
-  \pgfutil at tempdima\tikz at time pt
-  \ifdim\pgfutil at tempdima<.5pt\else % if we're at the return pos-ition we switch start and end
-    \advance\pgfutil at tempdima-.5pt
-    \let\pgf at tempa\tikz at timer@start
-    \let\tikz at timer@start\tikz at timer@end
-    \let\tikz at timer@end\pgf at tempa
-  \fi
-  \multiply\pgfutil at tempdima2
-  \edef\tikz at time{\strip at pt\pgfutil at tempdima}%
-  \tikz at timer@hvline}%
-
-\def\tikz at parabola@semifinal#1{%
-    \tikz at flush@moveto
-    % Save original start:
-    \edef\tikz at timer@start{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save start position
-    \pgf at xb=\tikz at lastx
-    \pgf at yb=\tikz at lasty
-    \tikz at make@last at position{#1}%
-    \edef\tikz at timer@end{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save target position
-    \pgf at xc=\tikz at lastx
-    \pgf at yc=\tikz at lasty
-    \begingroup% now calculate bend:
-        \let\tikz at after@path\pgfutil at empty
-        \expandafter\tikzset\expandafter{\tikz at parabola@option}%
-        \tikz at lastxsaved=\tikz at parabola@bend at factor\tikz at lastx
-        \tikz at lastysaved=\tikz at parabola@bend at factor\tikz at lasty
-        \advance\tikz at lastxsaved by\pgf at xb
-        \advance\tikz at lastysaved by\pgf at yb
-        \advance\tikz at lastxsaved by-\tikz at parabola@bend at factor\pgf at xb
-        \advance\tikz at lastysaved by-\tikz at parabola@bend at factor\pgf at yb
-        \expandafter\tikz at make@last at position\expandafter{\tikz at parabola@bend}%
-        \edef\tikz at timer@middle{{\the\tikz at lastx}{\the\tikz at lasty}}% %% Timer: save bend postion
-        % Calculate delta from bend
-        \advance\pgf at xc by-\tikz at lastx
-        \advance\pgf at yc by-\tikz at lasty
-        % Ok, now calculate delta to bend
-        \advance\tikz at lastx by-\pgf at xb
-        \advance\tikz at lasty by-\pgf at yb
-        \edef\tikz at marshall{%
-          \noexpand\let\noexpand\tikz at timer\noexpand\tikz at timer@parabola
-          \noexpand\edef\noexpand\tikz at timer@middle{\noexpand\pgfqpoint\tikz at timer@middle}%
-          \noexpand\pgfpathparabola{\noexpand\pgfqpoint{\the\tikz at lastx}{\the\tikz at lasty}}{\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-        }%
-    \expandafter\endgroup%
-    \tikz at marshall
-    \expandafter\tikz at scan@next at command\tikz at after@path%
-}%
-
-\def\tikz at timer@parabola{% following calculations, see \def of \pgfpathparabola in pgfcorepathconstruct.code.tex (l. 1261)
-  \ifdim\tikz at time pt<.5pt\relax % first part
-    \pgf at process{\tikz at timer@middle}%
-    \pgf at xc\pgf at x\pgf at yc\pgf at y
-    \pgf at xb\pgf at x\pgf at yb\pgf at y
-    \pgf at process{\tikz at timer@start}%
-    \advance\pgf at xc-\pgf at x\pgf at xc.1125\pgf at xc
-    \advance\pgf at xc\pgf at x                 % = start_x + .1125 (middle_x - start_x)
-    \advance\pgf at yc-\pgf at y\pgf at yc.225\pgf at yc
-    \advance\pgf at yc\pgf at y                 % = start_y + .225 (middle_y - start_y)
-    \advance\pgf at xb\pgf at x\pgf at xb.5\pgf at xb % = .5 (middle_x + start_x) = start_x + .5 (middle_x - start_x)
-    \pgf at xa=\tikz at time pt%
-    \pgf at xa=2\pgf at xa                      % = 2 * \tikz at time
-    \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\strip at pt\pgf at xa}{\noexpand\tikz at timer@start}%
-      {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-      {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
-      {\noexpand\tikz at timer@middle}}%
-  \else % second part
-    \pgf at process{\tikz at timer@end}%
-    \pgf at xc\pgf at x
-    \pgf at xb\pgf at x
-    \pgf at yb\pgf at y
-    \pgf at process{\tikz at timer@middle}%
-    \advance\pgf at xc\pgf at x\pgf at xc.5\pgf at xc % = .5 (end_x + middle_x) = middle_x + .5 (end_x - middle_x)
-    \advance\pgf at xb-\pgf at x\pgf at xb.8875\pgf at xb
-    \advance\pgf at xb\pgf at x                 % = middle_x + .8875 (end_x - middle_x)
-    \advance\pgf at yb-\pgf at y\pgf at yb.775\pgf at yb
-    \advance\pgf at yb\pgf at y                 % = middle_y + .775 (end_y - middle_y)
-    \pgf at xa=\tikz at time pt%
-    \advance\pgf at xa-.5pt%
-    \pgf at xa=2\pgf at xa                      % = 2 (\tikz at zime - .5)
-    \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\strip at pt\pgf at xa}{\noexpand\tikz at timer@middle}%
-      {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}%
-      {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
-      {\noexpand\tikz at timer@end}}%
-  \fi
-  \tikz at marshall
-}
-
-\def\tikz at timer@sine{% following calculations, see \def of \pgfpathsine in pgfcorepathconstruct.code.tex (l. 1315)
-  \pgf at process{\tikz at timer@end}%
-  \pgf at xc\pgf at x\pgf at yc\pgf at y
-  \pgf at xb\pgf at x\pgf at yb\pgf at y
-  \pgf at process{\tikz at timer@start}%
-  \advance\pgf at xc-\pgf at x\pgf at xc.3260\pgf at xc
-  \advance\pgf at xc\pgf at x                     % = start_x + .3260 (end_x - start_x)
-  \advance\pgf at yc-\pgf at y\pgf at yc.5120\pgf at yc
-  \advance\pgf at yc\pgf at y                     % = start_y + .5120 (end_y - start_y)
-  \advance\pgf at xb-\pgf at x\pgf at xb.6380\pgf at xb % = start_x + .6380 (end_x - start_x)
-  \advance\pgf at xb\pgf at x
-  \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\tikz at time}{\noexpand\tikz at timer@start}%
-    {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at yc}}%
-    {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
-    {\noexpand\tikz at timer@end}}%
-  \tikz at marshall
-}
-\def\tikz at timer@cosine{% following calculations, see \def of \pgfpathcosine in pgfcorepathconstruct.code.tex (l. 1345)
-  \pgf at process{\tikz at timer@end}%
-  \pgf at xc\pgf at x\pgf at yc\pgf at y
-  \pgf at xb\pgf at x\pgf at yb\pgf at y
-  \pgf at process{\tikz at timer@start}%
-  \advance\pgf at xb-\pgf at x\pgf at xb.6740\pgf at xb
-  \advance\pgf at xb\pgf at x                     % = start_x + .6740 (end_x - start_x)
-  \advance\pgf at yb-\pgf at y\pgf at yb.4880\pgf at yb
-  \advance\pgf at yb\pgf at y                     % = start_y + .4880 (end_y - start_y)
-  \advance\pgf at xc-\pgf at x\pgf at xc.3620\pgf at xc % = start_x + .3620 (end_x - start_x)
-  \advance\pgf at xc\pgf at x
-  \edef\tikz at marshall{\noexpand\pgftransformcurveattime{\tikz at time}{\noexpand\tikz at timer@start}%
-    {\noexpand\pgfqpoint{\the\pgf at xc}{\the\pgf at y}}%
-    {\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
-    {\noexpand\tikz at timer@end}}%
-  \tikz at marshall
-}
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.patterns.images.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,60 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-% This is the TikZ library patterns.images
-% Load with \usetikzlibrary{patterns.images}
-%
-% Macro:
-%  - \pgfSetupImageAsPattern[<opt arguments for \pgfdeclareimage>]{<name>}{<path/file>}
-%
-% Keys are:
-%  - use image as pattern=<name>
-%  - image as pattern=<opt arguments for \pgftext>
-
-\def\pgfsetupimageaspattern{\pgfutil at ifnextchar[\tikzext at pgfsetupimageaspattern{\tikzext at pgfsetupimageaspattern[]}}
-\def\tikzext at pgfsetupimageaspattern[#1]#2#3{% #1 = options
-                                        % #2 = image name
-                                        % #3 = file name
-  \pgfdeclareimage[#1]{tikzext at pgf@iap@#2}{#3}%
-  \sbox\pgfutil at tempboxa{\pgfuseimage{tikzext at pgf@iap@#2}}%
-  \expandafter\edef\csname tikzext at pgf@iap@#2@\endcsname{{\the\wd\pgfutil at tempboxa}{\the\ht\pgfutil at tempboxa}}%
-}
-\tikzset{
-  image as pattern/name/.initial=,
-  image as pattern/option/.style=,
-  image as pattern/options/.style={/tikz/image as pattern/option/.append style={#1}},
-  image as pattern/.default=,
-  image as pattern/.code={
-    \pgfqkeys{/tikz/image as pattern}{#1}%
-    \pgfkeysgetvalue{/tikz/image as pattern/name}\tikz at temp
-    \pgfutil at ifxempty\tikz at temp{%
-      \tikzerror{You need to specify a name for the ``image-pattern'' to be used.}%
-    }{%
-      \edef\tikz at tempa{\expandafter\expandafter\expandafter\pgfutil at firstoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
-      \edef\tikz at tempb{\expandafter\expandafter\expandafter\pgfutil at secondoftwo\csname tikzext at pgf@iap@\tikz at temp @\endcsname}%
-      \pgfkeysalso{/tikz/path picture={%
-        \pgf at process{\pgfpointanchor{path picture bounding box}{north east}}%
-        \pgf at xa\pgf at x\pgf at ya\pgf at y
-        \pgf at process{\pgfpointanchor{path picture bounding box}{south west}}%
-        \pgf at xb\pgf at x\pgf at yb\pgf at y\pgf at yc\pgf at yb
-        \pgfutil at loop
-          {%
-          \pgfutil at loop
-            \expandafter\pgftext\expandafter[/tikz/image as pattern/option,at=\pgfqpoint{\pgf at xb}{\pgf at yb}]{\pgfuseimage{tikzext at pgf@iap@\tikz at temp}}%
-            \ifdim\pgf at yb<\pgf at ya
-            \advance\pgf at yb\tikz at tempb
-          \pgfutil at repeat
-          }%
-          \ifdim\pgf at xb<\pgf at xa
-          \advance\pgf at xb\tikz at tempa
-          \pgf at yb\pgf at yc
-        \pgfutil at repeat
-      }}%
-    }
-  }
-}
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.positioning-plus.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,262 +0,0 @@
-% This is the TikZ library positioning-plus
-% Load with \usetikzlibrary{positioning-plus}
-%
-% This small library extends TikZ options like 'above', 'left' or 'below right'
-% so that they can be used with an optional prefixed factor seperated by ':' (colon)
-%
-% The option 'left=.5:of somenode' will place
-% a new node .5cm (default 'node distance' is '1cm and 1cm') left to (somenode).
-% The option 'above right=.2 and .7:of someothernode' will place
-% a new node .2cm above and .7cm right of (someothernode).
-%
-% Additional the options 'xshift*' and 'yshift*' add an additional shift
-% as a factor of 'node distance'
-% Inspired by http://tex.stackexchange.com/a/117610/16595
-
-\usetikzlibrary{positioning}
-\usetikzlibrary{fit}
-
-\pgfdeclaregenericanchor{corner south east}{%
-  \pgf at sh@reanchor{#1}{south}%
-  \pgf at ya\pgf at y
-  \pgf at process{\pgf at sh@reanchor{#1}{east}}%
-  \pgf at y\pgf at ya
-}
-\pgfdeclaregenericanchor{corner north east}{%
-  \pgf at sh@reanchor{#1}{north}%
-  \pgf at ya\pgf at y
-  \pgf at process{\pgf at sh@reanchor{#1}{east}}%
-  \pgf at y\pgf at ya
-}
-\pgfdeclaregenericanchor{corner south west}{%
-  \pgf at sh@reanchor{#1}{south}%
-  \pgf at ya\pgf at y
-  \pgf at process{\pgf at sh@reanchor{#1}{west}}%
-  \pgf at y\pgf at ya
-}
-\pgfdeclaregenericanchor{corner north west}{%
-  \pgf at sh@reanchor{#1}{north}%
-  \pgf at ya\pgf at y
-  \pgf at process{\pgf at sh@reanchor{#1}{west}}%
-  \pgf at y\pgf at ya
-}
-
-\tikzset{corner above left/.code=\tikz at lib@place at handle@{#1}{corner south east}{-1}{1}{corner north west}{0.707106781}}
-\tikzset{corner above right/.code=\tikz at lib@place at handle@{#1}{corner south west}{1}{1}{corner north east}{0.707106781}}
-\tikzset{corner below left/.code=\tikz at lib@place at handle@{#1}{corner north east}{-1}{-1}{corner south west}{0.707106781}}
-\tikzset{corner below right/.code=\tikz at lib@place at handle@{#1}{corner north west}{1}{-1}{corner south east}{0.707106781}}
-
-\tikzset{corner north left/.code =\tikz at lib@place at handle@{#1}{corner north east}{-1}{0}{corner north west}{1}}
-\tikzset{corner north right/.code=\tikz at lib@place at handle@{#1}{corner north west}{1}{0}{corner north east}{1}}
-\tikzset{corner south left/.code =\tikz at lib@place at handle@{#1}{corner south east}{-1}{0}{corner south west}{1}}
-\tikzset{corner south right/.code=\tikz at lib@place at handle@{#1}{corner south west}{1}{0}{corner south east}{1}}
-
-\tikzset{corner west above/.code =\tikz at lib@place at handle@{#1}{corner south west}{0}{1}{corner north west}{1}}
-\tikzset{corner west below/.code=\tikz at lib@place at handle@{#1}{corner north west}{0}{-1}{corner south west}{1}}
-\tikzset{corner east above/.code =\tikz at lib@place at handle@{#1}{corner south east}{0}{1}{corner north east}{1}}
-\tikzset{corner east below/.code=\tikz at lib@place at handle@{#1}{corner north east}{0}{-1}{corner south east}{1}}
-
-\tikzset{north left/.code =\tikz at lib@place at handle@{#1}{north east}{-1}{0}{north west}{1}}
-\tikzset{north right/.code=\tikz at lib@place at handle@{#1}{north west}{1}{0}{north east}{1}}
-\tikzset{south left/.code =\tikz at lib@place at handle@{#1}{south east}{-1}{0}{south west}{1}}
-\tikzset{south right/.code=\tikz at lib@place at handle@{#1}{south west}{1}{0}{south east}{1}}
-
-\tikzset{west above/.code =\tikz at lib@place at handle@{#1}{south west}{0}{1}{north west}{1}}
-\tikzset{west below/.code=\tikz at lib@place at handle@{#1}{north west}{0}{-1}{south west}{1}}
-\tikzset{east above/.code =\tikz at lib@place at handle@{#1}{south east}{0}{1}{north east}{1}}
-\tikzset{east below/.code=\tikz at lib@place at handle@{#1}{north east}{0}{-1}{south east}{1}}
-
-\newif\iftikzext at tikz@lib at place@postransform
-\tikzset{node distance transformation/.is if=tikzext at tikz@lib at place@postransform}
-\def\tikz at lib@place at handle@@#1#2#3#4{%
-  \pgfutil at in@{of }{#1}%
-  \ifpgfutil at in@
-    \tikz at lib@place at of#1\tikz at stop{#4}%
-  \else
-    \edef\tikz at lib@place at nums{#1}%
-  \fi
-  \ifx\tikz at lib@place at nums\pgfutil at empty
-    % Ok, nothing to do, we have set the anchor and we are happy...
-  \else
-    \expandafter\tikz at lib@place at parse@nums\expandafter{\tikz at lib@place at nums}%
-    \pgf at x=#2\pgf at x
-    \pgf at y=#3\pgf at y
-    \iftikzext at tikz@lib at place@postransform
-      \pgf at pos@transform{\pgf at x}{\pgf at y}% change from original
-    \fi
-    \edef\tikz at lib@pos at call{\noexpand\pgftransformshift{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}}%
-  \fi
-}
-
-\def\tikz at lib@place at handle@#1#2#3#4#5#6{%
-  \pgfutil at in@{:}{#1}%
-  \ifpgfutil at in@
-    \tikzext at lib@place at handle@#1\tikz at stop
-    \ifx\pgf at temp\pgfutil at empty
-      \let\pgf at temp\tikz at node@distance
-    \fi
-    \pgfmathsetmacro\pgf at tempa{(\pgf at tempa)*#4}%
-    \pgfmathsetmacro\pgf at tempb{(\pgf at tempb)*#3}%
-    \edef\pgf at marshal{\noexpand\tikz at lib@place at handle@{\pgf at temp}{#2}{\pgf at tempb}{\pgf at tempa}{#5}{#6}}%
-    \pgf at marshal
-  \else
-    \def\tikz at anchor{#2}%
-    \let\tikz at do@auto at anchor=\relax
-    \edef\tikz at temp{#1}%
-    \def\tikz at lib@place at single@factor{#6}%
-    \expandafter\tikz at lib@place at handle@@\expandafter{\tikz at temp}{#3}{#4}{#5}%
-  \fi
-}
-\def\tikzext at lib@place at handle@#1:#2\tikz at stop{%
-  \pgfutil at in@{and}{#1}%
-  \ifpgfutil at in@
-    \tikzext at lib@place at handle@@#1\tikz at stop
-  \else
-    \tikzext at lib@place at handle@@#1and#1\tikz at stop
-  \fi
-  \def\pgf at temp{#2}%
-}
-\def\tikzext at lib@place at handle@@#1and#2\tikz at stop{%
-  \def\pgf at tempa{#1}%
-  \def\pgf at tempb{#2}%
-}
-\def\tikzext at xyshift@starred#1#2#3{%
-  \edef\tikz at marshal{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
-  \tikz at marshal
-  \ifpgfutil at in@
-    \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
-  \else
-    \let#3\tikz at node@distance
-  \fi
-  \pgfmathparse{(#1)*#3}%
-  \ifpgfmathunitsdeclared
-    \if#2x%
-      \pgftransformshift{\pgfqpoint{\pgfmathresult pt}{0pt}}%
-    \else
-      \pgftransformshift{\pgfqpoint{0pt}{\pgfmathresult pt}}%
-    \fi
-  \else
-    \ifx#2x%
-      \pgf at process{\pgfqpointxy{\pgfmathresult}{0}}%
-    \else
-      \pgf at process{\pgfqpointxy{0}{\pgfmathresult}}%
-    \fi
-    \pgftransformshift{\pgfqpoint{\pgf at x}{\pgf at y}}%
-  \fi}
-\tikzset{
-  xshift*/.code=\tikzext at xyshift@starred{#1}x\pgf at tempb,
-  yshift*/.code=\tikzext at xyshift@starred{#1}y\pgf at tempa
-}
-
-\def\pgfutil at firstofmany#1#2\pgf at stop{#1}
-\def\pgfutil at secondofmany#1#2\pgf at stop{#2}
-\def\tikz at lib@place at of@#1#2#3{%
-  \def\pgf at tempa{fit bounding box}%
-  \edef\pgf at temp{\expandafter\pgfutil at firstofmany#2\pgf at stop}
-  \if\pgf at temp(%
-    \tikz at lib@place at fit@scan{#2}{0}%
-  \else\if\pgf at temp|%
-      \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{1}%
-    \else\ifx\pgf at temp\tikz at activebar
-        \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{1}%
-      \else\if\pgf at temp-%
-          \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{2}%
-        \else\if\pgf at temp+%
-            \expandafter\tikz at lib@place at fit@scan\expandafter{\pgfutil at secondofmany#2\pgf at stop}{3}%
-          \else
-            \def\pgf at tempa{#2}%
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-  \expandafter\tikz at scan@one at point\expandafter\tikz at lib@place at remember\expandafter(\pgf at tempa)%
-  \iftikz at shapeborder%
-    % Ok, this is relative to a border.
-    \iftikz at lib@ignore at size%
-      \edef\tikz at node@at{\noexpand\pgfpointanchor{\tikz at shapeborder@name}{center}}%
-      \def\tikz at anchor{center}%
-    \else%
-      \edef\tikz at node@at{\noexpand\pgfpointanchor{\tikz at shapeborder@name}{#3}}%
-    \fi%
-  \fi%
-  \edef\tikz at lib@place at nums{#1}%
-}
-\def\tikz at lib@place at fit@scan#1#2{%
-  \pgf at xb=-16000pt\relax%
-  \pgf at xa=16000pt\relax%
-  \pgf at yb=-16000pt\relax%
-  \pgf at ya=16000pt\relax%
-  \if\pgfutil at firstofmany#1\pgf at stop(%
-    \tikz at lib@fit at scan#1\pgf at stop%
-  \else
-    \tikz at lib@fit at scan(#1)\pgf at stop
-  \fi
-  \ifdim\pgf at xa>\pgf at xa
-    % shouldn't happen
-  \else
-     \expandafter\def\csname pgf at sh@ns at fit bounding box\endcsname{rectangle}%
-     \expandafter\edef\csname pgf at sh@np at fit bounding box\endcsname{%
-       \def\noexpand\southwest{\noexpand\pgfqpoint{\the\pgf at xa}{\the\pgf at ya}}%
-       \def\noexpand\northeast{\noexpand\pgfqpoint{\the\pgf at xb}{\the\pgf at yb}}%
-     }%
-     \expandafter\def\csname pgf at sh@nt at fit bounding box\endcsname{{1}{0}{0}{1}{0pt}{0pt}}%
-     \expandafter\def\csname pgf at sh@pi at fit bounding box\expandafter\endcsname\expandafter{\pgfpictureid}%
-     \ifcase#2\relax
-     \or % 1 = vertical
-       \pgf at y=\pgf at yb%
-       \advance\pgf at y by-\pgf at ya%
-       \edef\pgf at marshal{\noexpand\pgfset{minimum height={\the\pgf at y-2*(\noexpand\pgfkeysvalueof{/pgf/outer ysep})}}}%
-       \pgf at marshal
-     \or % 2 = horizontal
-       \pgf at x=\pgf at xb%
-       \advance\pgf at x by-\pgf at xa%
-       \edef\pgf at marshal{\noexpand\pgfset{minimum width={\the\pgf at x-2*(\noexpand\pgfkeysvalueof{/pgf/outer xsep})}}}%
-       \pgf at marshal
-     \or % 3 = both directions
-       \pgf at y=\pgf at yb%
-       \advance\pgf at y by-\pgf at ya%
-       \pgf at x=\pgf at xb%
-       \advance\pgf at x by-\pgf at xa%
-       \edef\pgf at marshal{\noexpand\pgfset{minimum height={\the\pgf at y-2*(\noexpand\pgfkeysvalueof{/pgf/outer ysep})},minimum width={\the\pgf at x-2*(\noexpand\pgfkeysvalueof{/pgf/outer xsep})}}}%
-       \pgf at marshal
-     \fi
-  \fi
-}
-\tikzset{
-  fit bounding box/.code={\tikz at lib@place at fit@scan{#1}{0}},
-  span vertical/.code={\tikz at lib@place at fit@scan{#1}{1}},
-  span horizontal/.code={\tikz at lib@place at fit@scan{#1}{2}},
-  span/.code={\tikz at lib@place at fit@scan{#1}{3}}}
-
-\pgfmathdeclarefunction{x_node_dist}{0}{%
-  \begingroup
-    \edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
-    \pgfmath at temp\ifpgfutil at in@
-      \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
-    \else
-      \let\pgf at tempb\tikz at node@distance
-    \fi
-    \pgfmathparse{\pgf at tempb}%
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup
-}
-\pgfmathdeclarefunction{y_node_dist}{0}{%
-  \begingroup
-    \edef\pgfmath at temp{\noexpand\pgfutil at in@{and}{\tikz at node@distance}}%
-    \pgfmath at temp\ifpgfutil at in@
-      \expandafter\tikzext at lib@place at handle@@\tikz at node@distance\tikz at stop
-    \else
-      \let\pgf at tempa\tikz at node@distance
-    \fi
-    \pgfmathparse{\pgf at tempa}%
-    \pgfmath at smuggleone\pgfmathresult
-  \endgroup
-}
-%\tikzdeclarecoordinatesystem{node distance}{%
-%  \tikz at cs@nd#1\tikz at stop}
-%\def\tikz at cs@nd#1,#2\tikz at stop{%
-%  \def\tikzext at xyshift@starred at action##1{\pgftransformshift{##1}}%
-%  \tikzext at xyshift@starred{#1}x\pgf at tempb
-%  \tikzext at xyshift@starred{#2}y\pgf at tempa}
-\endinput

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.scalepicture.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.scalepicture.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.scalepicture.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,194 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\def\tikzext at scalepicture@savepicturesize{%
-  \pgf at process{%
-    \pgfpointdiff
-      {\pgfpointanchor{current bounding box}{south west}}
-      {\pgfpointanchor{current bounding box}{north east}}}%
-  \immediate\write\pgfutil at auxout{%
-    \noexpand\expandafter\gdef
-    \noexpand\csname tikzext at scalepicture@\pgfpictureid\endcsname{{\the\pgf at x}{\the\pgf at y}}%
-  }%
-  \let\tikzext at scalepicture@savepicturesize\relax
-}
-
-\def\tikzext at scalepicture@width{%
-  \expandafter\expandafter\expandafter\pgfutil at firstoftwo
-  \csname tikzext at scalepicture@\pgfpictureid\endcsname
-}
-\def\tikzext at scalepicture@height{%
-  \expandafter\expandafter\expandafter\pgfutil at secondoftwo
-  \csname tikzext at scalepicture@\pgfpictureid\endcsname
-}
-
-\def\tikzextpicturewidth{%
-  \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{0pt}{\tikzext at scalepicture@width}}
-\def\tikzextpictureheight{%
-  \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{0pt}{\tikzext at scalepicture@height}}
-\tikzset{
-  save picture size/.style={execute at end picture=\tikzext at scalepicture@savepicturesize},
-  save picture size/.value forbidden,
-  %%% keep aspect ratio
-  %%  width and height
-  minimum picture size/.code 2 args={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \pgfmathsetlength\pgf at ya{#2}%
-      \def\tikz at tempa{0}%
-      \def\tikz at temp{0}%
-      \ifdim\tikzext at scalepicture@width<\pgf at xa
-        \pgfmathsetmacro\tikz at tempa{\pgf at xa/\tikzext at scalepicture@width}%
-      \fi
-      \ifdim\tikzext at scalepicture@height<\pgf at ya
-        \pgfmathsetmacro\tikz at temp{\pgf at ya/\tikzext at scalepicture@height}%
-      \fi
-      \ifdim\tikz at tempa pt>\tikz at temp pt
-        \let\tikz at temp\tikz at tempa
-      \fi
-      \ifdim\tikz at temp pt>0pt
-        \tikzset{scale/.expand once=\tikz at temp}%
-      \fi
-    }%
-  },
-  maximum picture size/.code 2 args={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \pgfmathsetlength\pgf at ya{#2}%
-      \def\tikz at tempa{0}%
-      \def\tikz at temp{0}%
-      \ifdim\tikzext at scalepicture@width>\pgf at xa
-        \pgfmathsetmacro\tikz at tempa{\pgf at xa/\tikzext at scalepicture@width}%
-      \fi
-      \ifdim\tikzext at scalepicture@height>\pgf at ya
-        \pgfmathsetmacro\tikz at temp{\pgf at ya/\tikzext at scalepicture@height}%
-      \fi
-      \ifdim\tikz at tempa pt<\tikz at temp pt
-        \let\tikz at temp\tikz at tempa
-      \fi
-      \ifdim\tikz at temp pt>0pt
-        \tikzset{scale/.expand once=\tikz at temp}%
-      \fi
-    }%
-  },
-  %%% keep aspect ratio
-  %%  width
-  picture width/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \tikzset{scale={(#1)/\tikzext at scalepicture@width}}%
-    }%
-  },
-  minimum picture width/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \ifdim\tikzext at scalepicture@width<\pgf at xa
-        \tikzset{scale={\pgf at xa/\tikzext at scalepicture@width}}
-      \fi
-    }%
-  },
-  maximum picture width/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \ifdim\tikzext at scalepicture@width>\pgf at xa
-        \tikzset{scale={\pgf at xa/\tikzext at scalepicture@width}}
-      \fi
-    }%
-  },
-  %%% xscale only
-  %%  width
-  picture width*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \tikzset{xscale={(#1)/\tikzext at scalepicture@width}}%
-    }%
-  },
-  minimum picture width*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \ifdim\tikzext at scalepicture@width<\pgf at xa
-        \tikzset{xscale={\pgf at xa/\tikzext at scalepicture@width}}
-      \fi
-    }%
-  },
-  maximum picture width*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at xa{#1}%
-      \ifdim\tikzext at scalepicture@width>\pgf at xa
-        \tikzset{xscale={\pgf at xa/\tikzext at scalepicture@width}}
-      \fi
-    }%
-  },
-  %%% keep aspect ratio
-  %%  height
-  picture height/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \tikzset{yscale={(#1)/\tikzext at scalepicture@height}}%
-    }%
-  },
-  minimum picture height/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at ya{#1}%
-      \ifdim\tikzext at scalepicture@height<\pgf at ya
-        \tikzset{scale={\pgf at ya/\tikzext at scalepicture@height}}
-      \fi
-    }%
-  },
-  maximum picture height/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at ya{#1}%
-      \ifdim\tikzext at scalepicture@height<\pgf at ya
-        \tikzset{scale={\pgf at ya/\tikzext at scalepicture@height}}
-      \fi
-    }%
-  },
-  %%% yscale only
-  %%  height
-  picture height*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \tikzset{yscale={(#1)/\tikzext at scalepicture@height}}%
-    }%
-  },
-  minimum picture height*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at ya{#1}%
-      \ifdim\tikzext at scalepicture@height<\pgf at ya
-        \tikzset{yscale={\pgf at ya/\tikzext at scalepicture@height}}
-      \fi
-    }%
-  },
-  maximum picture height*/.code={%
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-      \pgfmathsetlength\pgf at ya{#1}%
-      \ifdim\tikzext at scalepicture@height<\pgf at ya
-        \tikzset{yscale={\pgf at ya/\tikzext at scalepicture@height}}
-      \fi
-    }%
-  },
-  %%% xscale or yscale
-  picture size*/.code 2 args={% #1 = width, #2 = height
-    \tikzset{save picture size}%
-    \pgfutil at IfUndefined{tikzext at scalepicture@\pgfpictureid}{}{%
-    \tikzset{
-      xscale={(#1)/\tikzext at scalepicture@width},
-      yscale={(#2)/\tikzext at scalepicture@height}}%
-    }%
-  },
-}
-\endinput
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.topaths.arcthrough.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,50 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-
-\pgfqkeys{/tikz/arc through}{
-  .unknown/.code=\pgfkeyssetevalue{/tikz/arc through/through}{\pgfkeyscurrentname},
-  through/.initial={(0,0)},
-  center suffix/.initial=,
-  clockwise/.code=%
-    \def\tikz at arcthrough@clockwise{%
-      \pgfmathsubtract@{\pgfkeysvalueof{/tikz/end angle}}{360}%
-      \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}},
-  counter clockwise/.code=\let\tikz at arcthrough@clockwise\relax,
-  clockwise/.value forbidden, counter clockwise/.value forbidden, counter clockwise}
-\tikzset{
-  arc through/.code={%
-    \tikzset{every arc through/.try}%
-    \pgfqkeys{/tikz/arc through}{#1}%
-    \pgfkeysgetvalue{/tikz/arc through/through}\tikz at temp
-    \pgfextract at process\pgf at tostart{\tikz at scan@one at point\pgfutil at firstofone(\tikztostart)\relax}%
-    \expandafter\pgfextract at process\expandafter\pgf at tothrough\expandafter
-      {\expandafter\tikz at scan@one at point\expandafter\pgfutil at firstofone\tikz at temp\relax}%
-    \pgfextract at process\pgf at totarget{\tikz at scan@one at point\pgfutil at firstofone(\tikztotarget)\relax}%
-    \pgfextract at process\pgf at topointMidA{\pgfpointlineattime{.5}{\pgf at tostart}{\pgf at tothrough}}%
-    \pgfextract at process\pgf at topointMidB{\pgfpointlineattime{.5}{\pgf at totarget}{\pgf at tothrough}}%
-    \pgfextract at process\pgf at tocenter{%
-      \pgfpointintersectionoflines
-        {\pgf at topointMidA}{\pgfmathrotatepointaround{\pgf at tothrough}{\pgf at topointMidA}{90}}%
-        {\pgf at topointMidB}{\pgfmathrotatepointaround{\pgf at tothrough}{\pgf at topointMidB}{90}}}%
-    \pgfcoordinate{arc through center\pgfkeysvalueof{/tikz/arc through/center suffix}}{\pgf at tocenter}%
-    \pgfpointdiff{\pgf at tocenter}{\pgf at tostart}%
-    \pgfmathveclen@{\pgfmath at tonumber\pgf at x}{\pgfmath at tonumber\pgf at y}%
-    \pgfkeyssetevalue{/tikz/x radius}{+\pgfmathresult pt}%
-    \pgfkeyssetevalue{/tikz/y radius}{+\pgfmathresult pt}%
-    \pgfmathanglebetweenpoints{\pgf at tocenter}{\pgf at totarget}%
-    \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}%
-    \pgfmathanglebetweenpoints{\pgf at tocenter}{\pgf at tostart}%
-    \ifdim\pgfmathresult pt>\pgfkeysvalueof{/tikz/end angle}pt\relax
-      \pgfmathsubtract@{\pgfmathresult}{360}%
-    \fi
-    \pgfkeyssetevalue{/tikz/start angle}{+\pgfmathresult}%
-    \tikz at arcthrough@clockwise
-    \pgfkeyslet{/tikz/delta angle}\pgfutil at empty
-    \def\tikz at to@path{arc[]\tikztonodes}%
-  }%
-}

Deleted: trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/texmf-dist/tex/latex/tikz-ext/tikzlibraryext.transformations.mirror.code.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1,130 +0,0 @@
-% Copyright 2022 by Qrrbrbirlbel
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-\usepgflibrary{ext.transformations.mirror}
-\tikzset{
-  mirror/.code={%
-    \pgfutil at in@{--}{#1}%
-    \ifpgfutil at in@
-      \tikzext at trans@mirror#1\tikz at stop
-    \else
-      \tikz at addtransform{\tikz at scan@one at point\pgfqtransformmirror#1\relax}%
-    \fi},
-  ymirror/.code={\pgfutil at ifnextchar(\tikzext at trans@ymirror at coordinate\tikzext at trans@ymirror at simple#1\tikz at stop},
-  xmirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xmirror at coordinate\tikzext at trans@xmirror at simple#1\tikz at stop},
-  mirror x/.code={%
-    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
-    \edef\tikz at marshal{%
-      \noexpand\tikz at addtransform{%
-        \noexpand\pgftransformmirror
-          {\expandafter\noexpand\tikz at temp}
-          {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
-                                {\noexpand\pgfqpointxy{0}{1}}}}}%
-    \tikz at marshal
-  },
-  mirror y/.code={%
-    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
-    \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformmirror
-        {\expandafter\noexpand\tikz at temp}
-        {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
-                              {\noexpand\pgfqpointxy{1}{0}}}}}%
-    \tikz at marshal
-  },
-  mirror/.value required,
-  ymirror/.default=+0pt,
-  xmirror/.default=+0pt,
-  mirror x/.default={(0,0)},
-  mirror y/.default={(0,0)}%
-}
-\def\tikzext at trans@mirror#1--#2\tikz at stop{%
-  \tikz at addtransform{%
-    \pgftransformmirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
-                       {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
-\def\tikzext at trans@xmirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxmirror{#1}}}
-\def\tikzext at trans@ymirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformymirror{#1}}}
-\def\tikzext at trans@xmirror at coordinate#1\tikz at stop{%
-  \tikz at scan@one at point\pgfutil at firstofone#1\relax
-  \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformxmirror{+\the\pgf at x}%
-    }%
-  }%
-  \tikz at marshal
-}
-\def\tikzext at trans@ymirror at coordinate#1\tikz at stop{%
-  \tikz at scan@one at point\pgfutil at firstofone#1\relax
-  \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformymirror{+\the\pgf at y}%
-    }%
-  }%
-  \tikz at marshal
-}
-
-\tikzset{
-  Mirror/.code={%
-    \pgfutil at in@{--}{#1}%
-    \ifpgfutil at in@
-      \tikzext at trans@Mirror#1\tikz at stop
-    \else
-      \tikz at addtransform{\tikz at scan@one at point\pgfqtransformMirror#1\relax}%
-    \fi},
-  yMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@yMirror at coordinate\tikzext at trans@yMirror at simple#1\tikz at stop},
-  xMirror/.code={\pgfutil at ifnextchar(\tikzext at trans@xMirror at coordinate\tikzext at trans@xMirror at simple#1\tikz at stop},
-  Mirror x/.code={%
-    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
-    \edef\tikz at marshal{%
-      \noexpand\tikz at addtransform{%
-        \noexpand\pgftransformMirror
-          {\expandafter\noexpand\tikz at temp}
-          {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
-                                {\noexpand\pgfqpointxy{0}{1}}}}}%
-    \tikz at marshal
-  },
-  Mirror y/.code={%
-    \pgfextract at process\tikz at temp{\tikz at scan@one at point\pgfutil at firstofone#1\relax}%
-    \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformMirror
-        {\expandafter\noexpand\tikz at temp}
-        {\noexpand\pgfpointadd{\expandafter\noexpand\tikz at temp}
-                              {\noexpand\pgfqpointxy{1}{0}}}}}%
-    \tikz at marshal
-  },
-  Mirror/.value required,
-  yMirror/.default=+0pt,
-  xMirror/.default=+0pt,
-  Mirror x/.default={(0,0)},
-  Mirror y/.default={(0,0)}%
-}
-\def\tikzext at trans@Mirror#1--#2\tikz at stop{%
-  \tikz at addtransform{%
-    \pgftransformMirror{\tikz at scan@one at point\pgfutil at firstofone#1\relax}
-                       {\tikz at scan@one at point\pgfutil at firstofone#2\relax}}}
-\def\tikzext at trans@xMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformxMirror{#1}}}
-\def\tikzext at trans@yMirror at simple#1\tikz at stop{\tikz at addtransform{\pgftransformyMirror{#1}}}
-\def\tikzext at trans@xMirror at coordinate#1\tikz at stop{%
-  \tikz at scan@one at point\pgfutil at firstofone#1\relax
-  \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformxMirror{+\the\pgf at x}%
-    }%
-  }%
-  \tikz at marshal
-}
-\def\tikzext at trans@yMirror at coordinate#1\tikz at stop{%
-  \tikz at scan@one at point\pgfutil at firstofone#1\relax
-  \edef\tikz at marshal{%
-    \noexpand\tikz at addtransform{%
-      \noexpand\pgftransformyMirror{+\the\pgf at y}%
-    }%
-  }%
-  \tikz at marshal
-}
-\endinput

Added: trunk/Master/texmf-dist/tex/plain/tikz-ext/pgfcalendar-ext.tex
===================================================================
--- trunk/Master/texmf-dist/tex/plain/tikz-ext/pgfcalendar-ext.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/plain/tikz-ext/pgfcalendar-ext.tex	2022-11-03 21:03:19 UTC (rev 64920)
@@ -0,0 +1,13 @@
+% Copyright 2022 by Qrrbrbirlbel
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+
+\input pgfcalendar.tex
+\catcode`\@=11
+\input pgfcalendar-ext.code.tex
+\catcode`\@=\pgfcalendaratcode
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/plain/tikz-ext/pgfcalendar-ext.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2022-11-03 20:29:02 UTC (rev 64919)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2022-11-03 21:03:19 UTC (rev 64920)
@@ -1384,7 +1384,6 @@
  'ticket',      "&MAKEflatten",
  'ticollege',   "&MAKEflatten",
  'tikz-among-us',"&MAKEflatten",
- 'tikz-ext',	" &MAKEflatten",
  'tikz-kalender',"&MAKEflatten",
  'tikz-karnaugh',"&MAKEflatten",
  'tikz-ladder',	"&MAKEflatten",
@@ -1767,6 +1766,7 @@
  'tex-ps'               => '&POSTtex_ps',
  'thumbpdf'		=> '&POST_preserve_man',
  'tikz-cd'              => '&POSTtikz_cd',
+ 'tikz-ext'             => '&POSTtikz_ext',
  'tipa-de'              => '&POST_rmsymlink',
  'tkz-berge'            => '&POSTtkz_berge',
  'tlcockpit'            => '&POST_do_man',
@@ -2371,7 +2371,6 @@
  'thubeamer',	'thulogo.pdf|' . $standardtex,
  'ticket',      '\.tdf|' . $standardtex,
  'tikz-cd',     'tikz-cd.sty|tikzlibrarycd.code.tex',   # not pgfmanual.sty
- 'tikz-ext',	'pgfcalendar-ext\.tex$|' . $standardtex,
  'tikz-qtree',  '(pgf|tikz-)(subpic|q?tree(-compat)?)\.(tex|sty)',
  'tikz-sfc',		'\.code\.tex$',
  'tikz-trackschematic',	'\.code\.tex$|tic\.sty$', # not *documentation.sty
@@ -7385,6 +7384,16 @@
   &mv_with_mkdir ("latex/tikz-cd/tikzlibrary*tex", "generic/tikz-cd/");
 }
 
+sub POSTtikz_ext {
+  print "POST$package - per-format subdirs\n"
+  &xmkdir ("$DEST/tex/generic", "$DEST/tex/latex", "$DEST/tex/plain");
+  &SYSTEM ("$MV tex/generic $DEST/tex/generic/$package");
+  &SYSTEM ("$MV tex/latex   $DEST/tex/latex/$package");
+  &SYSTEM ("$MV tex/plain   $DEST/tex/plain/$package");
+  &SYSTEM ("$MV doc/* .");
+  &SYSTEM ($RMDIR_EMPTY);  
+}
+
 sub POSTtkz_berge {
   print "POST$package - latex/* to runtime\n";
   &mv_with_mkdir ("latex/*", "$DEST/tex/latex/$package");



More information about the tex-live-commits mailing list.