summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib')
-rw-r--r--graphics/pgf/contrib/maritime/LICENSE21
-rw-r--r--graphics/pgf/contrib/maritime/README.md39
-rw-r--r--graphics/pgf/contrib/maritime/doc/maritime-doc.pdfbin0 -> 45057 bytes
-rw-r--r--graphics/pgf/contrib/maritime/doc/maritime-doc.tex160
-rw-r--r--graphics/pgf/contrib/maritime/tex/maritime.sty671
5 files changed, 891 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/maritime/LICENSE b/graphics/pgf/contrib/maritime/LICENSE
new file mode 100644
index 0000000000..d470a91845
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 N. E. Davis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/graphics/pgf/contrib/maritime/README.md b/graphics/pgf/contrib/maritime/README.md
new file mode 100644
index 0000000000..bd84664f1d
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/README.md
@@ -0,0 +1,39 @@
+# `maritime`
+
+International maritime signal flags using TikZ.
+
+The `maritime` package provides LaTeX commands for drawing international maritime signal flags using TikZ. The [documentation](./doc/maritime-doc.pdf) covers the basic usage of the package.
+
+## Contact
+
+Author: N. E. Davis
+Email: neal.davis@protonmail.com
+GitHub username: @sigilante
+
+## License
+
+The `maritime` package is made available under the MIT License.
+
+```
+MIT License
+
+Copyright (c) 2025 N. E. Davis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf
new file mode 100644
index 0000000000..08e4947289
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.tex b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex
new file mode 100644
index 0000000000..9f0cebc06c
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex
@@ -0,0 +1,160 @@
+\documentclass{article}
+\usepackage{maritime}
+\usepackage{longtable} % For multi-page tables
+\usepackage{hyperref} % For hyperlinks
+\usepackage{xcolor} % For color in examples if needed
+
+\title{International Maritime Signal Flags Documentation}
+\author{N.\ E.\ Davis, \texttt{@sigilante}, \texttt{\textasciitilde lagrev-nocfep}}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+The \textbf{maritime} package provides LaTeX commands for drawing international maritime signal flags using TikZ. This documentation covers the basic usage of the package.
+
+\section{Installation}
+To use this package, ensure your \texttt{maritime.sty} file is in a directory where LaTeX can find it (like \texttt{texmf-local/tex/latex/maritime/}) or in the same directory as your document.
+
+\section{Usage}
+
+\subsection{Drawing Flags}
+Flags are drawn using specific commands:
+
+\begin{itemize}
+ \item \verb|\flagZ|: Draws flag Z.
+ \item \verb|\flagO|: Draws flag O.
+ \item \verb|\flagR|: Draws flag R.
+ \item \verb|\flagP|: Draws flag P.
+\end{itemize}
+
+Here's how to use them. We suggest using \verb|\quad| to separate the flags as otherwise they abut.
+
+\begin{verbatim}
+ \flagZ
+ \flagO
+ \flagR
+ \flagP
+\end{verbatim}
+
+Example:
+
+\flagZ \quad \flagO \quad \flagR \quad \flagP
+
+Furthermore, we provide the standard name at \verb|\flagXname| and the blazon at \verb|\flagXblazon| for each flag \verb|X|.
+
+Example:
+
+\begin{verbatim}
+ \flagZname: \flagZblazon
+ \flagOname: \flagOblazon
+ \flagRname: \flagRblazon
+ \flagPname: \flagPblazon
+\end{verbatim}
+
+\noindent
+\flagZname: \flagZblazon \\
+\flagOname: \flagOblazon \\
+\flagRname: \flagRblazon \\
+\flagPname: \flagPblazon
+
+\section{The Flags}
+
+We supply the alphabetical International Code of Symbols maritime flags and the NATO number flags.
+
+\begin{longtable}{lcl}
+ \caption{International Maritime Signal Flags, Letters} \\
+ A \flagAname & \flagA & \flagAblazon \\
+ B \flagBname & \flagB & \flagBblazon \\
+ C \flagCname & \flagC & \flagCblazon \\
+ D \flagDname & \flagD & \flagDblazon \\
+ E \flagEname & \flagE & \flagEblazon \\
+ F \flagFname & \flagF & \flagFblazon \\
+ G \flagGname & \flagG & \flagGblazon \\
+ H \flagHname & \flagH & \flagHblazon \\
+ I \flagIname & \flagI & \flagIblazon \\
+ J \flagJname & \flagJ & \flagJblazon \\
+ K \flagKname & \flagK & \flagKblazon \\
+ L \flagLname & \flagL & \flagLblazon \\
+ M \flagMname & \flagM & \flagMblazon \\
+ N \flagNname & \flagN & \flagNblazon \\
+ O \flagOname & \flagO & \flagOblazon \\
+ P \flagPname & \flagP & \flagPblazon \\
+ Q \flagQname & \flagQ & \flagQblazon \\
+ R \flagRname & \flagR & \flagRblazon \\
+ S \flagSname & \flagS & \flagSblazon \\
+ T \flagTname & \flagT & \flagTblazon \\
+ U \flagUname & \flagU & \flagUblazon \\
+ V \flagVname & \flagV & \flagVblazon \\
+ W \flagWname & \flagW & \flagWblazon \\
+ X \flagXname & \flagX & \flagXblazon \\
+ Y \flagYname & \flagY & \flagYblazon \\
+ Z \flagZname & \flagZ & \flagZblazon \\
+\end{longtable}
+
+\begin{longtable}{lcl}
+ \caption{International Maritime Signal Flags, Numbers} \\
+ 0 \flagZeroName & \flagZero & \flagZeroBlazon \\
+ 1 \flagOneName & \flagOne & \flagOneBlazon \\
+ 2 \flagTwoName & \flagTwo & \flagTwoBlazon \\
+ 3 \flagThreeName & \flagThree & \flagThreeBlazon \\
+ 4 \flagFourName & \flagFour & \flagFourBlazon \\
+ 5 \flagFiveName & \flagFive & \flagFiveBlazon \\
+ 6 \flagSixName & \flagSix & \flagSixBlazon \\
+ 7 \flagSevenName & \flagSeven & \flagSevenBlazon \\
+ 8 \flagEightName & \flagEight & \flagEightBlazon \\
+ 9 \flagNineName & \flagNine & \flagNineBlazon \\
+\end{longtable}
+
+\subsection{Customization}
+
+\subsubsection{Size}
+
+The standard flag size is \verb|15ex|, meaning the height of the flag is 15 times the height of the letter `x'.
+
+\begin{verbatim}
+ \flagSix
+ \flagNine
+\end{verbatim}
+
+Example:
+
+\flagSix \quad \flagNine
+
+Flags can be scaled using standard LaTeX font size commands:
+
+\begin{verbatim}
+{\Large \flagU}
+{\normalsize \flagR}
+{\tiny \flagB}
+\end{verbatim}
+
+Example:
+
+{\Large \flagU} \quad {\normalsize \flagR} \quad {\tiny \flagB}
+
+They may also be explicitly scaled using the \verb|\resizebox| command:
+
+\begin{verbatim}
+ \resizebox{!}{5cm}{\flagI}
+ \resizebox{!}{0.5cm}{\flagT}
+\end{verbatim}
+
+Example:
+
+\resizebox{!}{5cm}{\flagI} \quad \resizebox{!}{0.5cm}{\flagT}
+
+\section{Conclusion}
+
+% enjoy yourself
+\begin{center}
+\flagE \space \flagN \space \flagJ \space \flagO \space \flagY \\
+
+\flagY \quad \flagO \quad \flagU \quad \flagR \\
+\quad \flagS \quad \flagE \quad \flagL \quad \flagF
+\end{center}
+
+\end{document}
diff --git a/graphics/pgf/contrib/maritime/tex/maritime.sty b/graphics/pgf/contrib/maritime/tex/maritime.sty
new file mode 100644
index 0000000000..fde4922fa7
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/tex/maritime.sty
@@ -0,0 +1,671 @@
+% =============================================================================
+% worldflags.sty - International Maritime Signal Flags with TikZ
+% (c) N. E. Davis 2025-02-15
+% =============================================================================
+\ProvidesPackage{maritime}[2025/02/15 v1.0 International Maritime Signal Flags with TikZ]
+\RequirePackage{tikz}
+\RequirePackage{xcolor}
+\RequirePackage{etex}
+\RequirePackage{xkeyval}
+\RequirePackage{graphicx}
+\RequirePackage{xstring}
+\usetikzlibrary{calc,shadows,shapes,shapes.symbols,positioning,math,decorations.text}
+
+% ----------------------------------------------------------------------------
+% Default values
+% ----------------------------------------------------------------------------
+\makeatletter
+\newdimen\fl@gwidth
+\newdimen\fl@glength
+\newdimen\cutdepth
+\newdimen\saltiredepth
+
+\def\setflagdimensions{%
+ \fl@gwidth=15ex
+ \fl@glength=\fl@gwidth
+ \cutdepth=0.75\fl@gwidth
+ % 1.414 / 10 = 0.1414
+ \saltiredepth=0.1414\fl@gwidth
+}
+\def\fl@gvariant{0} % 2022-07-09
+\def\fl@gstretch{0}
+\def\fr@mecolor{black!60}
+\def\gr@dcolor{black!80}
+\newif\if@mbl@m\@mbl@mtrue
+\newif\if@rid\@ridfalse
+\newif\ifn@@mbl@m\n@@mbl@mtrue
+\def\view@ngle{0}
+\def\hang@ngle{0}
+
+% ----------------------------------------------------------------------------
+% Colors
+% ----------------------------------------------------------------------------
+\definecolor{gridcolor}{rgb}{0.8,0.8,0.8}
+
+\definecolor{argent}{rgb}{1.0,1.0,1.0}
+\definecolor{or}{rgb}{1.0,1.0,0.0}
+\definecolor{gules}{rgb}{1.0,0.0,0.0}
+\definecolor{azure}{rgb}{0.0,0.5,1.0}
+\definecolor{vert}{rgb}{0.0,0.5,0.0}
+\definecolor{sable}{rgb}{0.0,0.0,0.0}
+
+% ----------------------------------------------------------------------------
+% Base flag
+% ----------------------------------------------------------------------------
+% A Alfa, swallowtailed per pale argent and azure
+\newcommand{\flagAname}{Alfa}
+\newcommand{\flagAblazon}{swallowtailed per pale argent and azure}
+\newcommand{\flagA}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0.5\fl@gwidth,\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \end{tikzpicture}%
+}
+
+% B Bravo, swallowtailed gules
+\newcommand{\flagBname}{Bravo}
+\newcommand{\flagBblazon}{swallowtailed gules}
+\newcommand{\flagB}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (00,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \end{tikzpicture}%
+}
+
+% C Charlie, azure a fess gules fimbriated argent
+\newcommand{\flagCname}{Charlie}
+\newcommand{\flagCblazon}{azure a fess gules fimbriated argent}
+\newcommand{\flagC}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.2\fl@glength);
+ \fill [argent] (0,0.2\fl@glength) rectangle (\fl@gwidth,0.4\fl@glength);
+ \fill [gules] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0,0.6\fl@glength) rectangle (\fl@gwidth,0.8\fl@glength);
+ \fill [azure] (0,0.8\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% D Delta, gules a pale argent
+\newcommand{\flagDname}{Delta}
+\newcommand{\flagDblazon}{gules a pale argent}
+\newcommand{\flagD}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0,0.25\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength);
+ \fill [or] (0,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% E Echo, per fess azure and gules
+\newcommand{\flagEname}{Echo}
+\newcommand{\flagEblazon}{per fess azure and gules}
+\newcommand{\flagE}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [azure] (0,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% F Foxtrot, argent, a lozenge throughout gules
+\newcommand{\flagFname}{Foxtrot}
+\newcommand{\flagFblazon}{argent, a lozenge throughout gules}
+\newcommand{\flagF}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0)
+ -- (\fl@gwidth,0.5\fl@glength)
+ -- (0.5\fl@gwidth,\fl@glength)
+ -- (0,0.5\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% G Golf, Paly of six or and azure
+\newcommand{\flagGname}{Golf}
+\newcommand{\flagGblazon}{Paly of six or and azure}
+\newcommand{\flagG}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.1666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.1666667\fl@gwidth,0) rectangle (0.3333333\fl@gwidth,\fl@glength);
+ \fill [or] (0.3333333\fl@gwidth,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0) rectangle (0.6666667\fl@gwidth,\fl@glength);
+ \fill [or] (0.6666667\fl@gwidth,0) rectangle (0.8333333\fl@gwidth,\fl@glength);
+ \fill [azure] (0.8333333\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% H Hotel, per pale argent and gules
+\newcommand{\flagHname}{Hotel}
+\newcommand{\flagHblazon}{per pale argent and gules}
+\newcommand{\flagH}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% I India, or, a pellet
+\newcommand{\flagIname}{India}
+\newcommand{\flagIblazon}{or, a pellet}
+\newcommand{\flagI}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) circle (0.25\fl@gwidth);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% J Juliet, azure, a fess argent
+\newcommand{\flagJname}{Juliet}
+\newcommand{\flagJblazon}{azure, a fess argent}
+\newcommand{\flagJ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333*\fl@glength);
+ \fill [argent] (0,0.333333*\fl@glength) rectangle (\fl@gwidth,0.666667*\fl@glength);
+ \fill [azure] (0,0.666667*\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% K Kilo, per pale or and azure
+\newcommand{\flagKname}{Kilo}
+\newcommand{\flagKblazon}{per pale or and azure}
+\newcommand{\flagK}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% L Lima, quarterly or and sable
+\newcommand{\flagLname}{Lima}
+\newcommand{\flagLblazon}{quarterly or and sable}
+\newcommand{\flagL}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [sable] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [or] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [or] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% M Mike, azure, a saltire argent
+\newcommand{\flagMname}{Mike}
+\newcommand{\flagMblazon}{azure, a saltire argent}
+\newcommand{\flagM}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [argent] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% N November, chequy of sixteen azure and argent
+\newcommand{\flagNname}{November}
+\newcommand{\flagNblazon}{chequy of sixteen azure and argent}
+\newcommand{\flagN}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.25\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0.25\fl@gwidth,0) rectangle (0.5\fl@gwidth,0.25\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0) rectangle (0.75\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0.75\fl@gwidth,0) rectangle (\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0,0.25\fl@glength) rectangle (0.25\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0.25\fl@gwidth,0.25\fl@glength) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0.25\fl@glength) rectangle (0.75\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0.75\fl@gwidth,0.25\fl@glength) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0,0.5\fl@glength) rectangle (0.25\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0.25\fl@gwidth,0.5\fl@glength) rectangle (0.5\fl@gwidth,0.75\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (0.75\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0.75\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0,0.75\fl@glength) rectangle (0.25\fl@gwidth,\fl@glength);
+ \fill [argent] (0.25\fl@gwidth,0.75\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0.75\fl@glength) rectangle (0.75\fl@gwidth,\fl@glength);
+ \fill [argent] (0.75\fl@gwidth,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% O Oscar, per bend gules and or
+\newcommand{\flagOname}{Oscar}
+\newcommand{\flagOblazon}{per bend gules and or}
+\newcommand{\flagO}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) -- (0,\fl@glength) -- (\fl@gwidth,0) -- cycle;
+ \fill [gules] (0,\fl@glength) -- (\fl@gwidth,\fl@glength) -- (\fl@gwidth,0) -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% P Papa, azure, an inescutcheon argent
+\newcommand{\flagPname}{Papa}
+\newcommand{\flagPblazon}{azure, an inescutcheon argent}
+\newcommand{\flagP}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Q Quebec, or
+\newcommand{\flagQname}{Quebec}
+\newcommand{\flagQblazon}{or}
+\newcommand{\flagQ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% R Romeo, gules, a cross or
+\newcommand{\flagRname}{Romeo}
+\newcommand{\flagRblazon}{gules, a cross or}
+\newcommand{\flagR}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [or] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength);
+ \fill [or] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% S Sierra, argent, an inescutcheon azure
+\newcommand{\flagSname}{Sierra}
+\newcommand{\flagSblazon}{argent, an inescutcheon azure}
+\newcommand{\flagS}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% T Tango, tierced in pale gules, argent and azure
+\newcommand{\flagTname}{Tango}
+\newcommand{\flagTblazon}{tierced in pale gules, argent and azure}
+\newcommand{\flagT}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% U Uniform, quarterly gules and argent
+\newcommand{\flagUname}{Uniform}
+\newcommand{\flagUblazon}{quarterly gules and argent}
+\newcommand{\flagU}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [gules] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% V Victor, argent, a saltire gules
+\newcommand{\flagVname}{Victor}
+\newcommand{\flagVblazon}{argent, a saltire gules}
+\newcommand{\flagV}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [gules] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% W Whiskey, azure, an inescutcheon gules fimbriated argent
+\newcommand{\flagWname}{Whiskey}
+\newcommand{\flagWblazon}{azure, an inescutcheon gules fimbriated argent}
+\newcommand{\flagW}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength);
+ \fill [gules] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% X X-ray, argent, a cross azure
+\newcommand{\flagXname}{X-ray}
+\newcommand{\flagXblazon}{argent, a cross azure}
+\newcommand{\flagX}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Y Yankee, bendy sinister of ten or and gules
+\newcommand{\flagYname}{Yankee}
+\newcommand{\flagYblazon}{bendy sinister of ten or and gules}
+\newcommand{\flagY}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0,0.8\fl@glength)
+ -- (0.2\fl@gwidth,\fl@glength)
+ -- (0.4\fl@gwidth,\fl@glength)
+ -- (0,0.6\fl@glength)
+ -- cycle;
+ \fill [gules] (0,0.4\fl@glength)
+ -- (0.6\fl@gwidth,\fl@glength)
+ -- (0.8\fl@gwidth,\fl@glength)
+ -- (0,0.2\fl@glength)
+ -- cycle;
+ \fill [gules] (0,0)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,0.8\fl@glength)
+ -- (0.2\fl@gwidth,0)
+ -- cycle;
+ \fill [gules] (0.4\fl@gwidth,0)
+ -- (\fl@gwidth,0.6\fl@glength)
+ -- (\fl@gwidth,0.4\fl@glength)
+ -- (0.6\fl@gwidth,0)
+ -- cycle;
+ \fill [gules] (0.8\fl@gwidth,0)
+ -- (\fl@gwidth,0.2\fl@glength)
+ -- (\fl@gwidth,0)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Z Zulu, per saltire or, sable, gules, and azure
+\newcommand{\flagZname}{Zulu}
+\newcommand{\flagZblazon}{per saltire or, sable, gules, and azure}
+\newcommand{\flagZ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [sable] (0,0) -- (0,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \fill [gules] (0,0) -- (\fl@gwidth,0) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \fill [azure] (\fl@gwidth,0) -- (\fl@gwidth,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 0 Zero, argent, five crosses hummetty azure in saltire
+\newcommand{\flagZeroName}{Zero}
+\newcommand{\flagZeroBlazon}{argent, five crosses hummetty azure in saltire}
+\newcommand{\flagZero}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ %
+ \fill [azure] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.133333\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.2\fl@glength) rectangle (0.133333\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ \draw [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ %
+ \fill [azure] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.133333\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.866667\fl@glength) rectangle (0.133333\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.866667\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ \draw [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ %
+ \fill [azure] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.8\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.2\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ \draw [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ %
+ \fill [azure] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.866667\fl@glength) rectangle (0.8\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.866667\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ \draw [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ % cross centered on 0.5\fl@gwidth, 0.5\fl@glength
+ \fill [azure] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.466667\fl@gwidth,0.466667\fl@glength);
+ \fill [argent] (0.4\fl@gwidth,0.533333\fl@glength) rectangle (0.466667\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0.533333\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.466667\fl@glength);
+ \fill [argent] (0.533333\fl@gwidth,0.533333\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 1 One, gules, a fess or
+\newcommand{\flagOneName}{One}
+\newcommand{\flagOneBlazon}{gules, a fess or}
+\newcommand{\flagOne}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [or] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [gules] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 2 Two, or, a fess gules
+\newcommand{\flagTwoName}{Two}
+\newcommand{\flagTwoBlazon}{or, a fess gules}
+\newcommand{\flagTwo}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [or] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 3 Three, azure, a fess gules
+\newcommand{\flagThreeName}{Three}
+\newcommand{\flagThreeBlazon}{azure, a fess gules}
+\newcommand{\flagThree}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [azure] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 4 Four, gules, a saltire argent
+\newcommand{\flagFourName}{Four}
+\newcommand{\flagFourBlazon}{gules, a saltire argent}
+\newcommand{\flagFour}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [argent] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 5 Five, or, a saltire azure
+\newcommand{\flagFiveName}{Five}
+\newcommand{\flagFiveBlazon}{or, a saltire azure}
+\newcommand{\flagFive}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [azure] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 6 Six, bendy sinister of seven argent and azure
+\newcommand{\flagSixName}{Six}
+\newcommand{\flagSixBlazon}{bendy sinister of seven argent and azure}
+\newcommand{\flagSix}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0.142857\fl@glength)
+ -- (0.857143\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,0.857143\fl@glength)
+ -- (0.142857\fl@gwidth,0)
+ -- (0,0)
+ -- cycle;
+ \fill [azure] (0,0.428571\fl@glength)
+ -- (0.571429\fl@gwidth,\fl@glength)
+ -- (0.285714\fl@gwidth,\fl@glength)
+ -- (0,0.714286\fl@glength)
+ -- cycle;
+ \fill [azure] (\fl@gwidth,0.571429\fl@glength)
+ -- (\fl@gwidth,0.285714\fl@glength)
+ -- (0.714286\fl@gwidth,0)
+ -- (0.428571\fl@gwidth,0)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 7 Seven, gules, a pale argent
+\newcommand{\flagSevenName}{Seven}
+\newcommand{\flagSevenBlazon}{gules, a pale argent}
+\newcommand{\flagSeven}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [gules] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 8 Eight, or, a pale azure
+\newcommand{\flagEightName}{Eight}
+\newcommand{\flagEightBlazon}{or, a pale azure}
+\newcommand{\flagEight}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [azure] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [or] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 9 Nine, azure, a pale argent
+\newcommand{\flagNineName}{Nine}
+\newcommand{\flagNineBlazon}{azure, a pale argent}
+\newcommand{\flagNine}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}