summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-09-06 03:01:30 +0000
committerNorbert Preining <norbert@preining.info>2022-09-06 03:01:30 +0000
commitd1c5ad9e2f25f73b84c87ef3bcec2432ff6e4ac6 (patch)
tree9cfbc16886e2e3ac4be092c1158d022ab816023e /macros/latex
parent428a6bcc4c634ccfe1ea8d9c1a3e4318037a0fee (diff)
CTAN sync 202209060301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/democodetools/README.md84
-rw-r--r--macros/latex/contrib/democodetools/doc/democodetools.tex708
-rw-r--r--macros/latex/contrib/democodetools/latex/democodelisting.sty1044
-rw-r--r--macros/latex/contrib/democodetools/latex/democodetools.sty678
-rw-r--r--macros/latex/contrib/llncs/README.md2
-rw-r--r--macros/latex/contrib/llncs/history.txt4
-rw-r--r--macros/latex/contrib/llncs/llncs.cls8
-rw-r--r--macros/latex/contrib/llncs/llncsdoc.pdfbin218741 -> 230144 bytes
-rw-r--r--macros/latex/contrib/llncs/llncsdoc.tex4
-rw-r--r--macros/latex/contrib/ufrgscca/README.txt67
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf6689
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex1125
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty494
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty1006
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty279
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty340
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty127
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty166
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty181
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def97
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def129
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def101
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def215
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty561
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty152
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty118
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty501
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def95
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def129
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def101
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def215
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls211
32 files changed, 14367 insertions, 1264 deletions
diff --git a/macros/latex/contrib/democodetools/README.md b/macros/latex/contrib/democodetools/README.md
index 43121c20c0..5c43895db6 100644
--- a/macros/latex/contrib/democodetools/README.md
+++ b/macros/latex/contrib/democodetools/README.md
@@ -1,42 +1,42 @@
-%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
-%%
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status “maintained”.
-%%
-%% The Current Maintainer of this work is Alceu Frigeri
-%%
-%% This is version 1.0beta (2022/09/01)
-%%
-%%
-%% This work consists of the files
-%%
-%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
-%% democodetools.sty set of macros to document LaTeX packages
-%%
-%% README.md (this file) quick introduction
-%%
-%% democode.tex LaTeX documentation
-%% democode.pdf documentation in PDF form
-%%
-%%%==============================================================================
-
-This is 'yet another doc/docx/doc3' package for LaTeX code documetation (and demonstration).
-It is designed to be 'as class independent as possible',
-meaning: it makes no assumption about page layout (besides 'having a marginpar') or underline macros.
-Furthermore, it's assumed that \maketitle and the abstract environment
-were modified by the underline class, so alternatives (based on the article class) are provided.
-
-For more details, see the documentation, democodetools.pdf (source code: democodetools.tex)
-
-The main idea is to be able to document a package/class loading it first and then this package,
-making it possible not only to document the 'syntax'
-but also to show the end result 'as is' when using that other specific class/package.
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0beta (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
+%% democodetools.sty set of macros to document LaTeX packages
+%%
+%% README.md (this file) quick introduction
+%%
+%% democode.tex LaTeX documentation
+%% democode.pdf documentation in PDF form
+%%
+%%%==============================================================================
+
+This is 'yet another doc/docx/doc3' package for LaTeX code documetation (and demonstration).
+It is designed to be 'as class independent as possible',
+meaning: it makes no assumption about page layout (besides 'having a marginpar') or underline macros.
+Furthermore, it's assumed that \maketitle and the abstract environment
+were modified by the underline class, so alternatives (based on the article class) are provided.
+
+For more details, see the documentation, democodetools.pdf (source code: democodetools.tex)
+
+The main idea is to be able to document a package/class loading it first and then this package,
+making it possible not only to document the 'syntax'
+but also to show the end result 'as is' when using that other specific class/package.
diff --git a/macros/latex/contrib/democodetools/doc/democodetools.tex b/macros/latex/contrib/democodetools/doc/democodetools.tex
index 6aa11e81f2..41c7a271ae 100644
--- a/macros/latex/contrib/democodetools/doc/democodetools.tex
+++ b/macros/latex/contrib/democodetools/doc/democodetools.tex
@@ -1,355 +1,355 @@
-%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
-%%
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status “maintained”.
-%%
-%% The Current Maintainer of this work is Alceu Frigeri
-%%
-%% This is version 1.0beta (2022/09/01)
-%%
-%%
-%% This work consists of the files
-%%
-%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
-%% democodetools.sty set of macros to document LaTeX packages
-%%
-%% README.md quick introduction
-%%
-%% democodetools.tex LaTeX documentation (this file)
-%% democodetools.pdf documentation in PDF form
-%%
-%%%==============================================================================
-\makeatletter
-\def\tc@tmp@packname{democodetoolsdoc}
-\def\tc@tmp@altpackname{democodetoolsdoc}
-\def\tc@tmp@packdesc{Demo Code Tools Documentantion}
-\def\tc@tmp@packdate{2022/09/01}
-\def\tc@tmp@packversion{1.0beta}
-\let\@exp\expandafter
-\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
-\makeatother
-
-\documentclass[dctools,english]{ufrgscca}
-\usepackage{democodetools}
-
-\dcTitle{The democodetools and democodelisting Packages - Version \democodetoolsversion}
-\dcAuthor{Alceu Frigeri}
-\dcDate{September 2022}
-
-\begin{document}
-
-\dcMakeTitle
-
-\begin{dcAbstract}
-This is `yet another doc/docx/doc3' package. It is designed to be `as class independent as possible', meaning: it makes no assumption about page layout (besides `having a marginpar') or underline macros. Furthermore, it's assumed that \Macro{\maketitle}{} and the \Key{abstract} environment were modified by the underline class, so alternatives (based on the article class) are provided. The main idea is to be able to document a package/class loading it first and then this, so that it is possible not only to document the `syntax' but also to show the end result `as is' when using that other specific class/package.
-
-\end{dcAbstract}
-
-\tableofcontents
-
-\section{Introduction}
-The packages/classes doc/docx/doc3 (and for that matter doctools) where designed to be used with dtx files, which is handy for package developers, as long as one is fine with the `default article' format (which is true most of the time). This came to be from the willingness of having the `new look and feel' used in doc3, but, instead of having to rely on a standard class, being able to use any class as the base one, which allows to `demonstrate the documented commands with the final layout'.\\
-
-\Pack{democodelisting} defines a few macros to display and demonstrate \LaTeX~ code verbatim (using \Pack{listings} and \Pack{scontents}), whilst \Pack{democodetools} defines a series of macros to display/enumerate macros and environments (somewhat resembling the \Pack{doc3} style).\\
-\subsection{Current Version}
-This doc regards to \Pack{democodelisting} version \democodelistingversion~ and \Pack{democodetools} version \democodetoolsversion. Those two packages are 'usable' but they haven't been thoroughly tested, nor should anyone consider them stable (they might be considered more or less stable but more due the 'maintainer' lack of time than anything else. Use it at your own risk.)
-
-\section{democodelisting Package}
-
-It requires two packages: \Pack{listings} and \Pack{scontents}\\
-Defines an environment: \Env{stcode} and\\
- 4 commands: \Macro{\DemoCode}{}, \Macro{\DisplayCode}{}, \Macro{\TabbedDisplayCode}{} and \Macro{\setdclisting}{}.
-
-\subsection{In Memory Code Storage}
-Thanks to \Pack{scontents} (\Pack{expl3} based) it's possible to store \LaTeX~ code snippets in a \Pack{expl3} key.
-
-\begin{Envs}{stcode}
- \begin{Syntax}%
- \Macro{\begin{stcode}}[keys]{} \Macro{\end{stcode}}{}
- \end{Syntax}
-This environment is an alias to \Env{scontents} environment (from \Pack{scontents} package), all \Pack{scontents} keys are valid, with an additional one: \Key{st} which is an alias to the \Key{store-env} key.
-The environment body is stored verbatim in the \Key{st} named key.
-\end{Envs}
-
-\subsection{Code Display/Demo}
-\begin{Macros}{\DisplayCode,\DemoCode,\TabbedDemoCode}
- \begin{Syntax}%
- \Macro{\DisplayCode}[dclisting-keys]{st-name}
- \Macro{\DemoCode}[dclisting-keys]{st-name}
- \Macro{\TabbedDemoCode}[dclisting-keys]{st-name}
- \end{Syntax}
-\end{Macros}
-\Macro{\DisplayCode}{} just typesets \Arg{st-name} (the key-name created with \Env{stcode}), in verbatim mode with syntax highlight.\\
-\Macro{\DemoCode}{} first typesets \Arg{st-name}, as above, then it \emph{executes} said code.
-Finally \Macro{\TabbedDemoCode}{} does the same, but typesetting it, and executed code, side by side. N.B. Both typeset and executed code are placed inside a \Env{minipage} so that, when \emph{executing} the code, one can have, for instance, 'normal' paragraph indentation.\\
-For Example:
-
-\begin{stcode}[st=demostcode]
- \begin{stcode}[st=stmeta]
- Some \LaTeX~coding, for example: \ldots.
-\end{stcode}
-This will just typesets \Key{stmeta}:
-
- \DisplayCode{stmeta}
-
-and this will demonstrate it, side by side with source code:
-
-\TabbedDemoCode[numbers=left,codeprefix={inner code},resultprefix={inner result}]{stmeta}
-\end{stcode}
-
-\DemoCode[emph={DisplayCode,TabbedDemoCode},keywd2={stcode}]{demostcode}
-
-\begin{Macros}{\setdclisting}
- \begin{Syntax}%
- \Macro{\setdclisting}{dclisting-keys}
- \end{Syntax}
-Instead of setting/defining \Meta{dclisting-keys} per \Macro{\Demo}{}/\Macro{\Display}{} call, one can set those \emph{globally}, better said, \emph{in the called context group} .\\
-N.B.: All \Macro{\Display}{}/\Macro{\Demo}{} commands create a local group (\Macro{\begingroup}{}) in which the \Meta{dclisting-keys} are defined, and discarded once said local group is closed. \Macro{\setdclisting}{} defines those keys in the \emph{current} context/group (\Macro{\def}{}, \Macro{\edef}{})
-\end{Macros}
-
-\subsubsection{\Meta{dclisting-keys}}
-Using a \Key{key}\,=\Value{value} syntax, one can fine tune \Pack{listings} syntax highlight.
-\begin{Args}
-\DescribeArg{dclisting-keys}
-\begin{Syntax} %
- \Keylst{settexcs,settexcs2,settexcs3}
- \Keylst{texcs,texcs2,texcs3}
- \Keylst{texcsstyle,texcs2style,texcs3style}
-\end{Syntax}Those define sets of \LaTeX~commands (csnames), the \Key{set} variants initialize/redefine those sets (an empty list, clears the set), while the others extend those sets. The \Key{style} ones redefines the command display style (an empty \Meta{par} resets the style to it's default).\\
-
-\begin{Syntax} %
- \Keylst{setkeywd,setkeywd2,setkeywd3}
- \Keylst{keywd,keywd2,keywd3}
- \Keylst{keywdstyle,keywd2style,keywd3style}
-\end{Syntax}
-Same for other \emph{keywords} sets.\\
-
-\begin{Syntax} %
- \Keylst{setemph,setemph2,setemph3}
- \Keylst{emph,emph2,emph3}
- \Keylst{emphstyle,emph2style,emph3style}
-\end{Syntax}
-for some extra emphasis sets.\\
-
-\begin{Syntax} %
- \Keylst{numbers,numberstyle}
-\end{Syntax}
-\Key{numbers} possible values are \Value{none} (default) and \Value{left} (to add tinny numbers to the left of the listing). With \Key{numberstyle} one can redefine the numbering style.\\
-
-\begin{Syntax} %
- \Keylst{stringstyle,commentstyle}
-\end{Syntax}
-to redefine \Key{strings} and \Key{comments} formatting style.\\
-
-\begin{Syntax} %
- \Key{bckgndcolor}
-\end{Syntax}
-to change the listing background's color.\\
-
-\begin{Syntax} %
- \Keylst{codeprefix,resultprefix}
-\end{Syntax}
-those set the \Key{codeprefix} (default: \LaTeX~Code:) and \Key{resultprefix} (default: \LaTeX~Result:)
-\end{Args}
-
-\section{democodetools Package}
-
-
-
-
-\subsection{Environments}
-\begin{Envs}{Macros,Envs}
-\begin{Syntax}%
-\Macro{\begin{Macros}}{macrolist}
-\Macro{\begin{Envs}}{envlist}
-\end{Syntax}
-Those are the two main environments to describe \Env{Macros} and \Env{Environments}. Both typeset \Arg{macrolist} (csv list) or \Arg{envlist} (csv list) in the margin. N.B. Each element of the list gets \Macro{\detokenize}{}
-\end{Envs}
-
-\begin{Envs}{Syntax}
-\begin{Syntax}%
-\Macro{\begin{Syntax}}{}
-\end{Syntax}
-The \Env{Syntax} environment sets the fontsize and activates \Macro{\obeylines}{}, so one can list macros/cmds/keys use, one per line.
-
-\begin{stcode}[st=demoD]
-\begin{Envs}{Macros,Envs}
-\begin{Syntax}%
-\Macro{\begin{Macros}}{macrolist}
-\Macro{\begin{Envs}}{envlist}
-\end{Syntax}
-Those are the two main ...
-\end{Envs}
-\end{stcode}
-\DisplayCode{demoD}
-
-\end{Envs}
-
-
-\begin{Envs}{Args,Keys,Values,Options}
-\begin{Syntax}%
-\Macro{\begin{Args}}{}
-\Macro{\begin{Args+}}{}
-\Macro{\begin{Keys}}{}
-\Macro{\begin{Keys+}}{}
-\Macro{\begin{Values}}{}
-\Macro{\begin{Values+}}{}
-\Macro{\begin{Options}}{}
-\Macro{\begin{Options+}}{}
-\end{Syntax}
-
-Those environments are all the same, starting a dedicated \emph{description list}. Together with the many \Macro{\Description...}{} commands, one can list all \Keylst{Options, Args, Keys, Values} as needed. The \Key{+} form are meant to be used with the \Macro{\Description...+}{} forms, for \emph{in text} lists. The non \Key{+} form are meant to have the many \emph{'descriptors'} in the \emph{margin par}.
-\end{Envs}
-
-\subsection{Describe Commands}
-\begin{Macros}{\DescribeMacro}
-\begin{Syntax}%
-\Macro!{\DescribeMacro}<*!+>{\marg{csname}\oarg{oarglist}\marg{marglist}}
-\end{Syntax}
-\begin{Args+}
-\DescribeKey+{*} typesets the macro name in bold face.
-\DescribeKey+{!} \Arg{marglist} is treated as an expandable code, 'as is'.
-\DescribeKey+{+} the macro name is typeseted in text.
-\DescribeArg+{csname} macro name (\Macro{\detokenize}{})
-\DescribeArg+{oarglist} csv list of optional args.
-\DescribeArg+{marglist} csv list of mandatory args.
-\end{Args+}
-\end{Macros}
-
-\begin{Macros}{\DescribeArg,\DescribeKey,\DescribeValue,\DescribeOption,\DescribePackage,}
-\begin{Syntax}%
-\Macro{\DescribeArg}<*+>[type]{arg}
-\Macro{\DescribeKey}<*+>[type]{arg}
-\Macro{\DescribeValue}<*+>[type]{arg}
-\Macro{\DescribeOption}<*+>[type]{arg}
-\Macro{\DescribePackage}<*+>[type]{arg}
-\end{Syntax}
-\begin{Args+}
-\DescribeKey+{*} typesets it in bold face.
-\DescribeKey+{+} typesets in text (not in marginpar)
-\DescribeArg+{type} key/arg/... format
-\DescribeArg+{arg} key/arg/... name.
-\end{Args+}
-\end{Macros}
-
-
-\subsection{Macros Typeset}
-\begin{Macros}{\Macro}
- \begin{Syntax}%
- \Macro!{\Macro}{\marg{csname}\xarg{embl}\oarg{olist}\marg{mlist}}
- \Macro!{\Macro}<!>{\marg{csname}\xarg{embl}\marg{par.desc.}}
- \end{Syntax}
- When describing a macro \Arg{csname} (Command Sequence, csname) the \Arg{olist} and \Arg{mlist} are comma separated lists (csv) of optional and mandatory arguments. \Arg{embl} are optional, single char, 'embellishment' tokens, like {\bfseries * ! +}. Finally, in the {\bfseries !} form, the \Arg{par.desc.} is any text representing the macro parameter list (for non regular, non usual, cases).
-
- \begin{stcode}[st=demoB]
- \Macro
- {\Macro}<*!>[opt1,opt2]{arg3}
- \Macro!
- {\Macro}<!>{\xarg{embl}\marg{par.desc.}}
-\end{stcode}
- \TabbedDemoCode{demoB}
-\end{Macros}
-
-\subsection{Args Typeset}
-\begin{Macros}{\oarg,\marg,\parg,\xarg,\Arg,\Meta}
- \begin{Syntax}%
- \Macro{\oarg}[type]{arg}
- \Macro{\marg}[type]{arg}
- \Macro{\parg}[type]{arg}
- \Macro{\xarg}[type]{arg}
- \Macro{\Arg}[type]{arg}
- \Macro{\Meta}{arg}
- \end{Syntax}
- Those are meant to typeset the diverse kinds of 'command's arguments' (mandatory, optional, parenthesis . . .). \Macro{\Meta{arg}}{} typesets \emph{arg} as \Meta{arg}.
- \begin{Args}
- \DescribeArg{type} defaults to \Value{Meta} (it's the csname of any valid formatting command, like Meta, textbf, etc.)
- \DescribeArg{arg} the argument name itself.
- \end{Args}
- \begin{stcode}[st=demoA]
- \oarg{fam}
- \parg{xtra}
- \marg[textbf]{text}
- \xarg{x-text}
-\end{stcode}
- \TabbedDemoCode{demoA}
-\end{Macros}
-
-\subsection{Keys Typeset}
-\begin{Macros}{\Key,\Keylst,\KeyUse}
- \begin{Syntax}%
- \Macro{\Key}[pre]{key}
- \Macro{\Keylst}[default]{keylst}
- \Macro{\KeyUse}{key}{value}
- \end{Syntax}
- To typeset a \Arg{Key} or \Arg{keylst} (csv list). \Arg{pre} is just prepended to \Arg{key} whilst \Arg{default} is the default key value. \Macro{\KeyUse}{} is just a short-cut for a, possible, common construction.
-
- \begin{stcode}[st=demoC]
- \Key{Akey}
-
- \Keylst[Bkey]{Akey,Bkey}
-
- \KeyUse{keyA}{arg}
-\end{stcode}
- \TabbedDemoCode{demoC}
-
-\end{Macros}
-
-\begin{Macros}{\Env,\Pack,\Value}
- \begin{Syntax}%
- \Macro{\Env}[pre]{key}
- \Macro{\Pack}[pre]{key}
- \Macro{\Value}[pre]{key}
- \end{Syntax}
- Similar to \Macro{\Key}{} above, they will typeset a \Arg{Key}. \Arg{pre} is just prepended to \Arg{key} whilst \Arg{default} is the default key value.
-
-
-\end{Macros}
-
-
-\subsection{Others}
-\begin{Macros}{\MetaFmt}
- \begin{Syntax}%
- \Macro{\MetaFmt}<*>[type]{}
- \end{Syntax}
-It sets the font size, series, face as defined by \Meta{type}, \Meta{type} being one of \Keylst{Oarg,Marg,Parg,Xarg,Macro,Code,Key,KeyVal,Option,Value,Default}. The star version uses bold.
-\end{Macros}
-
-
-\begin{Macros}{\MarginNote}
- \begin{Syntax}%
- \Macro{\MarginNote}{text}
- \end{Syntax}
-As the name implies, to add small margin notes.
-\end{Macros}
-
-
-\begin{Macros}{\dcAuthor,\dcDate,\dcTitle,\dcMakeTitle}
- \begin{Syntax}%
- \Macro{\dcAuthor}{name}
- \Macro{\dcDate}{date}
- \Macro{\dcTitle}{title}
- \Macro{\dcMakeTitle}{}
- \end{Syntax}
-Those allow one to define (as in standard article, book, report classes) the document \emph{author}, \emph{date} and \emph{date} \Macro{\dcMakeTitle}{} will write a typical title+author heading (as in the article class).
-\end{Macros}
-
-\begin{Envs}{dcAbstract}
- \begin{Syntax}%
- \Macro{\begin{dcAbstract}}{} \Macro{\end{dcAbstract}}{}
- \end{Syntax}
-Same as above, for the abstract.
-\end{Envs}
-
-
-
-
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0beta (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
+%% democodetools.sty set of macros to document LaTeX packages
+%%
+%% README.md quick introduction
+%%
+%% democodetools.tex LaTeX documentation (this file)
+%% democodetools.pdf documentation in PDF form
+%%
+%%%==============================================================================
+\makeatletter
+\def\tc@tmp@packname{democodetoolsdoc}
+\def\tc@tmp@altpackname{democodetoolsdoc}
+\def\tc@tmp@packdesc{Demo Code Tools Documentantion}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0beta}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\makeatother
+
+\documentclass[dctools,english]{ufrgscca}
+\usepackage{democodetools}
+
+\dcTitle{The democodetools and democodelisting Packages - Version \democodetoolsversion}
+\dcAuthor{Alceu Frigeri}
+\dcDate{September 2022}
+
+\begin{document}
+
+\dcMakeTitle
+
+\begin{dcAbstract}
+This is `yet another doc/docx/doc3' package. It is designed to be `as class independent as possible', meaning: it makes no assumption about page layout (besides `having a marginpar') or underline macros. Furthermore, it's assumed that \Macro{\maketitle}{} and the \Key{abstract} environment were modified by the underline class, so alternatives (based on the article class) are provided. The main idea is to be able to document a package/class loading it first and then this, so that it is possible not only to document the `syntax' but also to show the end result `as is' when using that other specific class/package.
+
+\end{dcAbstract}
+
+\tableofcontents
+
+\section{Introduction}
+The packages/classes doc/docx/doc3 (and for that matter doctools) where designed to be used with dtx files, which is handy for package developers, as long as one is fine with the `default article' format (which is true most of the time). This came to be from the willingness of having the `new look and feel' used in doc3, but, instead of having to rely on a standard class, being able to use any class as the base one, which allows to `demonstrate the documented commands with the final layout'.\\
+
+\Pack{democodelisting} defines a few macros to display and demonstrate \LaTeX~ code verbatim (using \Pack{listings} and \Pack{scontents}), whilst \Pack{democodetools} defines a series of macros to display/enumerate macros and environments (somewhat resembling the \Pack{doc3} style).\\
+\subsection{Current Version}
+This doc regards to \Pack{democodelisting} version \democodelistingversion~ and \Pack{democodetools} version \democodetoolsversion. Those two packages are 'usable' but they haven't been thoroughly tested, nor should anyone consider them stable (they might be considered more or less stable but more due the 'maintainer' lack of time than anything else. Use it at your own risk.)
+
+\section{democodelisting Package}
+
+It requires two packages: \Pack{listings} and \Pack{scontents}\\
+Defines an environment: \Env{stcode} and\\
+ 4 commands: \Macro{\DemoCode}{}, \Macro{\DisplayCode}{}, \Macro{\TabbedDisplayCode}{} and \Macro{\setdclisting}{}.
+
+\subsection{In Memory Code Storage}
+Thanks to \Pack{scontents} (\Pack{expl3} based) it's possible to store \LaTeX~ code snippets in a \Pack{expl3} key.
+
+\begin{Envs}{stcode}
+ \begin{Syntax}%
+ \Macro{\begin{stcode}}[keys]{} \Macro{\end{stcode}}{}
+ \end{Syntax}
+This environment is an alias to \Env{scontents} environment (from \Pack{scontents} package), all \Pack{scontents} keys are valid, with an additional one: \Key{st} which is an alias to the \Key{store-env} key.
+The environment body is stored verbatim in the \Key{st} named key.
+\end{Envs}
+
+\subsection{Code Display/Demo}
+\begin{Macros}{\DisplayCode,\DemoCode,\TabbedDemoCode}
+ \begin{Syntax}%
+ \Macro{\DisplayCode}[dclisting-keys]{st-name}
+ \Macro{\DemoCode}[dclisting-keys]{st-name}
+ \Macro{\TabbedDemoCode}[dclisting-keys]{st-name}
+ \end{Syntax}
+\end{Macros}
+\Macro{\DisplayCode}{} just typesets \Arg{st-name} (the key-name created with \Env{stcode}), in verbatim mode with syntax highlight.\\
+\Macro{\DemoCode}{} first typesets \Arg{st-name}, as above, then it \emph{executes} said code.
+Finally \Macro{\TabbedDemoCode}{} does the same, but typesetting it, and executed code, side by side. N.B. Both typeset and executed code are placed inside a \Env{minipage} so that, when \emph{executing} the code, one can have, for instance, 'normal' paragraph indentation.\\
+For Example:
+
+\begin{stcode}[st=demostcode]
+ \begin{stcode}[st=stmeta]
+ Some \LaTeX~coding, for example: \ldots.
+\end{stcode}
+This will just typesets \Key{stmeta}:
+
+ \DisplayCode{stmeta}
+
+and this will demonstrate it, side by side with source code:
+
+\TabbedDemoCode[numbers=left,codeprefix={inner code},resultprefix={inner result}]{stmeta}
+\end{stcode}
+
+\DemoCode[emph={DisplayCode,TabbedDemoCode},keywd2={stcode}]{demostcode}
+
+\begin{Macros}{\setdclisting}
+ \begin{Syntax}%
+ \Macro{\setdclisting}{dclisting-keys}
+ \end{Syntax}
+Instead of setting/defining \Meta{dclisting-keys} per \Macro{\Demo}{}/\Macro{\Display}{} call, one can set those \emph{globally}, better said, \emph{in the called context group} .\\
+N.B.: All \Macro{\Display}{}/\Macro{\Demo}{} commands create a local group (\Macro{\begingroup}{}) in which the \Meta{dclisting-keys} are defined, and discarded once said local group is closed. \Macro{\setdclisting}{} defines those keys in the \emph{current} context/group (\Macro{\def}{}, \Macro{\edef}{})
+\end{Macros}
+
+\subsubsection{\Meta{dclisting-keys}}
+Using a \Key{key}\,=\Value{value} syntax, one can fine tune \Pack{listings} syntax highlight.
+\begin{Args}
+\DescribeArg{dclisting-keys}
+\begin{Syntax} %
+ \Keylst{settexcs,settexcs2,settexcs3}
+ \Keylst{texcs,texcs2,texcs3}
+ \Keylst{texcsstyle,texcs2style,texcs3style}
+\end{Syntax}Those define sets of \LaTeX~commands (csnames), the \Key{set} variants initialize/redefine those sets (an empty list, clears the set), while the others extend those sets. The \Key{style} ones redefines the command display style (an empty \Meta{par} resets the style to it's default).\\
+
+\begin{Syntax} %
+ \Keylst{setkeywd,setkeywd2,setkeywd3}
+ \Keylst{keywd,keywd2,keywd3}
+ \Keylst{keywdstyle,keywd2style,keywd3style}
+\end{Syntax}
+Same for other \emph{keywords} sets.\\
+
+\begin{Syntax} %
+ \Keylst{setemph,setemph2,setemph3}
+ \Keylst{emph,emph2,emph3}
+ \Keylst{emphstyle,emph2style,emph3style}
+\end{Syntax}
+for some extra emphasis sets.\\
+
+\begin{Syntax} %
+ \Keylst{numbers,numberstyle}
+\end{Syntax}
+\Key{numbers} possible values are \Value{none} (default) and \Value{left} (to add tinny numbers to the left of the listing). With \Key{numberstyle} one can redefine the numbering style.\\
+
+\begin{Syntax} %
+ \Keylst{stringstyle,commentstyle}
+\end{Syntax}
+to redefine \Key{strings} and \Key{comments} formatting style.\\
+
+\begin{Syntax} %
+ \Key{bckgndcolor}
+\end{Syntax}
+to change the listing background's color.\\
+
+\begin{Syntax} %
+ \Keylst{codeprefix,resultprefix}
+\end{Syntax}
+those set the \Key{codeprefix} (default: \LaTeX~Code:) and \Key{resultprefix} (default: \LaTeX~Result:)
+\end{Args}
+
+\section{democodetools Package}
+
+
+
+
+\subsection{Environments}
+\begin{Envs}{Macros,Envs}
+\begin{Syntax}%
+\Macro{\begin{Macros}}{macrolist}
+\Macro{\begin{Envs}}{envlist}
+\end{Syntax}
+Those are the two main environments to describe \Env{Macros} and \Env{Environments}. Both typeset \Arg{macrolist} (csv list) or \Arg{envlist} (csv list) in the margin. N.B. Each element of the list gets \Macro{\detokenize}{}
+\end{Envs}
+
+\begin{Envs}{Syntax}
+\begin{Syntax}%
+\Macro{\begin{Syntax}}{}
+\end{Syntax}
+The \Env{Syntax} environment sets the fontsize and activates \Macro{\obeylines}{}, so one can list macros/cmds/keys use, one per line.
+
+\begin{stcode}[st=demoD]
+\begin{Envs}{Macros,Envs}
+\begin{Syntax}%
+\Macro{\begin{Macros}}{macrolist}
+\Macro{\begin{Envs}}{envlist}
+\end{Syntax}
+Those are the two main ...
+\end{Envs}
+\end{stcode}
+\DisplayCode{demoD}
+
+\end{Envs}
+
+
+\begin{Envs}{Args,Keys,Values,Options}
+\begin{Syntax}%
+\Macro{\begin{Args}}{}
+\Macro{\begin{Args+}}{}
+\Macro{\begin{Keys}}{}
+\Macro{\begin{Keys+}}{}
+\Macro{\begin{Values}}{}
+\Macro{\begin{Values+}}{}
+\Macro{\begin{Options}}{}
+\Macro{\begin{Options+}}{}
+\end{Syntax}
+
+Those environments are all the same, starting a dedicated \emph{description list}. Together with the many \Macro{\Description...}{} commands, one can list all \Keylst{Options, Args, Keys, Values} as needed. The \Key{+} form are meant to be used with the \Macro{\Description...+}{} forms, for \emph{in text} lists. The non \Key{+} form are meant to have the many \emph{'descriptors'} in the \emph{margin par}.
+\end{Envs}
+
+\subsection{Describe Commands}
+\begin{Macros}{\DescribeMacro}
+\begin{Syntax}%
+\Macro!{\DescribeMacro}<*!+>{\marg{csname}\oarg{oarglist}\marg{marglist}}
+\end{Syntax}
+\begin{Args+}
+\DescribeKey+{*} typesets the macro name in bold face.
+\DescribeKey+{!} \Arg{marglist} is treated as an expandable code, 'as is'.
+\DescribeKey+{+} the macro name is typeseted in text.
+\DescribeArg+{csname} macro name (\Macro{\detokenize}{})
+\DescribeArg+{oarglist} csv list of optional args.
+\DescribeArg+{marglist} csv list of mandatory args.
+\end{Args+}
+\end{Macros}
+
+\begin{Macros}{\DescribeArg,\DescribeKey,\DescribeValue,\DescribeOption,\DescribePackage,}
+\begin{Syntax}%
+\Macro{\DescribeArg}<*+>[type]{arg}
+\Macro{\DescribeKey}<*+>[type]{arg}
+\Macro{\DescribeValue}<*+>[type]{arg}
+\Macro{\DescribeOption}<*+>[type]{arg}
+\Macro{\DescribePackage}<*+>[type]{arg}
+\end{Syntax}
+\begin{Args+}
+\DescribeKey+{*} typesets it in bold face.
+\DescribeKey+{+} typesets in text (not in marginpar)
+\DescribeArg+{type} key/arg/... format
+\DescribeArg+{arg} key/arg/... name.
+\end{Args+}
+\end{Macros}
+
+
+\subsection{Macros Typeset}
+\begin{Macros}{\Macro}
+ \begin{Syntax}%
+ \Macro!{\Macro}{\marg{csname}\xarg{embl}\oarg{olist}\marg{mlist}}
+ \Macro!{\Macro}<!>{\marg{csname}\xarg{embl}\marg{par.desc.}}
+ \end{Syntax}
+ When describing a macro \Arg{csname} (Command Sequence, csname) the \Arg{olist} and \Arg{mlist} are comma separated lists (csv) of optional and mandatory arguments. \Arg{embl} are optional, single char, 'embellishment' tokens, like {\bfseries * ! +}. Finally, in the {\bfseries !} form, the \Arg{par.desc.} is any text representing the macro parameter list (for non regular, non usual, cases).
+
+ \begin{stcode}[st=demoB]
+ \Macro
+ {\Macro}<*!>[opt1,opt2]{arg3}
+ \Macro!
+ {\Macro}<!>{\xarg{embl}\marg{par.desc.}}
+\end{stcode}
+ \TabbedDemoCode{demoB}
+\end{Macros}
+
+\subsection{Args Typeset}
+\begin{Macros}{\oarg,\marg,\parg,\xarg,\Arg,\Meta}
+ \begin{Syntax}%
+ \Macro{\oarg}[type]{arg}
+ \Macro{\marg}[type]{arg}
+ \Macro{\parg}[type]{arg}
+ \Macro{\xarg}[type]{arg}
+ \Macro{\Arg}[type]{arg}
+ \Macro{\Meta}{arg}
+ \end{Syntax}
+ Those are meant to typeset the diverse kinds of 'command's arguments' (mandatory, optional, parenthesis . . .). \Macro{\Meta{arg}}{} typesets \emph{arg} as \Meta{arg}.
+ \begin{Args}
+ \DescribeArg{type} defaults to \Value{Meta} (it's the csname of any valid formatting command, like Meta, textbf, etc.)
+ \DescribeArg{arg} the argument name itself.
+ \end{Args}
+ \begin{stcode}[st=demoA]
+ \oarg{fam}
+ \parg{xtra}
+ \marg[textbf]{text}
+ \xarg{x-text}
+\end{stcode}
+ \TabbedDemoCode{demoA}
+\end{Macros}
+
+\subsection{Keys Typeset}
+\begin{Macros}{\Key,\Keylst,\KeyUse}
+ \begin{Syntax}%
+ \Macro{\Key}[pre]{key}
+ \Macro{\Keylst}[default]{keylst}
+ \Macro{\KeyUse}{key}{value}
+ \end{Syntax}
+ To typeset a \Arg{Key} or \Arg{keylst} (csv list). \Arg{pre} is just prepended to \Arg{key} whilst \Arg{default} is the default key value. \Macro{\KeyUse}{} is just a short-cut for a, possible, common construction.
+
+ \begin{stcode}[st=demoC]
+ \Key{Akey}
+
+ \Keylst[Bkey]{Akey,Bkey}
+
+ \KeyUse{keyA}{arg}
+\end{stcode}
+ \TabbedDemoCode{demoC}
+
+\end{Macros}
+
+\begin{Macros}{\Env,\Pack,\Value}
+ \begin{Syntax}%
+ \Macro{\Env}[pre]{key}
+ \Macro{\Pack}[pre]{key}
+ \Macro{\Value}[pre]{key}
+ \end{Syntax}
+ Similar to \Macro{\Key}{} above, they will typeset a \Arg{Key}. \Arg{pre} is just prepended to \Arg{key} whilst \Arg{default} is the default key value.
+
+
+\end{Macros}
+
+
+\subsection{Others}
+\begin{Macros}{\MetaFmt}
+ \begin{Syntax}%
+ \Macro{\MetaFmt}<*>[type]{}
+ \end{Syntax}
+It sets the font size, series, face as defined by \Meta{type}, \Meta{type} being one of \Keylst{Oarg,Marg,Parg,Xarg,Macro,Code,Key,KeyVal,Option,Value,Default}. The star version uses bold.
+\end{Macros}
+
+
+\begin{Macros}{\MarginNote}
+ \begin{Syntax}%
+ \Macro{\MarginNote}{text}
+ \end{Syntax}
+As the name implies, to add small margin notes.
+\end{Macros}
+
+
+\begin{Macros}{\dcAuthor,\dcDate,\dcTitle,\dcMakeTitle}
+ \begin{Syntax}%
+ \Macro{\dcAuthor}{name}
+ \Macro{\dcDate}{date}
+ \Macro{\dcTitle}{title}
+ \Macro{\dcMakeTitle}{}
+ \end{Syntax}
+Those allow one to define (as in standard article, book, report classes) the document \emph{author}, \emph{date} and \emph{date} \Macro{\dcMakeTitle}{} will write a typical title+author heading (as in the article class).
+\end{Macros}
+
+\begin{Envs}{dcAbstract}
+ \begin{Syntax}%
+ \Macro{\begin{dcAbstract}}{} \Macro{\end{dcAbstract}}{}
+ \end{Syntax}
+Same as above, for the abstract.
+\end{Envs}
+
+
+
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/democodetools/latex/democodelisting.sty b/macros/latex/contrib/democodetools/latex/democodelisting.sty
index 1041b6f249..21e74cac82 100644
--- a/macros/latex/contrib/democodetools/latex/democodelisting.sty
+++ b/macros/latex/contrib/democodetools/latex/democodelisting.sty
@@ -1,522 +1,522 @@
-%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
-%%
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status “maintained”.
-%%
-%% The Current Maintainer of this work is Alceu Frigeri
-%%
-%% This is version 1.0beta (2022/09/01)
-%%
-%%
-%% This work consists of the files
-%%
-%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
-%% democodetools.sty set of macros to document LaTeX packages
-%%
-%% README.md quick introduction
-%%
-%% democodetools.tex LaTeX documentation
-%% democodetools.pdf documentation in PDF form
-%%
-%%%==============================================================================
-\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\def\tc@tmp@packname{democodelisting}
-\def\tc@tmp@altpackname{democodelisting}
-\def\tc@tmp@packdesc{Demo Code Listing}
-\def\tc@tmp@packdate{2022/09/01}
-\def\tc@tmp@packversion{1.0beta}
-\let\@exp\expandafter
-\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
-\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
-
-\RequirePackage{listings}
-\RequirePackage{scontents}
-
-\newlength{\dc@demo@parindent}
-\newlength{\dc@org@parindent}
-\setlength\dc@org@parindent{\parindent}
-\setlength\parindent{0pt}
-
-
-\colorlet{dc@lightcyan}{white!97!cyan}
-\colorlet{dc@lightgray}{white!97!black}
-\definecolor{dc@grayblack}{rgb}{0.8,0.8,0.8}
-
-\colorlet{dc@darkgreen}{green!45!black!100}
-\colorlet{dc@darkteal}{teal!45!black!100}
-\colorlet{dc@darkblue}{blue!40!black!100}
-\colorlet{dc@darkred}{red!45!black!100}
-
-\colorlet{dc@blueishblack}{blue!75!black!100}
-\colorlet{dc@reddishblack}{red!60!black!100}
-\colorlet{dc@greenishblack}{green!45!black!100}
-
-\def\dc@lstbckgndcolordefault{dc@lightgray}%
-\def\dc@lststringcolordefault{dc@darkteal}
-\def\dc@lstcommentcolordefault{dc@darkgreen}
-\def\dc@lsttexcscolordefault{dc@darkblue}
-\def\dc@lstkeywdcolordefault{dc@darkblue}
-
-\def\dc@lsttexcsBcolordefault{dc@blueishblack}
-\def\dc@lstkeywdBcolordefault{dc@greenishblack}
-\def\dc@lstemphcolordefault{dc@reddishblack}
-
-\colorlet{dc@lstnumbercolordefault}{white!50!black!100}
-
-\def\dc@lstrulecolordefault{gray}
-\def\dc@lstnumbercolordefault{gray}
-
-\DeclareKeys[dclisting]{
- settexcs.usage = general,
- settexcs.code = {\ifblank{#1}{\def\dc@lsttexcs{}}{\def\dc@lsttexcs{#1}}},
- texcs.usage = general,
- texcs.code = {\ifblank{#1}{}{\edef\dc@lsttexcs{\dc@lsttexcs,#1}}},
- texcsstyle.usage = general,
- texcsstyle.code = {\ifblank{#1}{\def\dc@lsttexcsstyle{\bfseries\color{\dc@lsttexcscolordefault}}}{\def\dc@lsttexcsstyle{#1}}},
-
- settexcs2.usage = general,
- settexcs2.code = {\ifblank{#1}{\def\dc@lsttexcsB{}}{\def\dc@lsttexcsB{#1}}},
- texcs2.usage = general,
- texcs2.code = {\ifblank{#1}{}{\edef\dc@lsttexcsB{\dc@lsttexcsB,#1}}},
- texcs2style.usage = general,
- texcs2style.code = {\ifblank{#1}{\def\dc@lsttexcsBstyle{\bfseries\color{\dc@lsttexcsBcolordefault}}}{\def\dc@lsttexcsBstyle{#1}}},
-
- settexcs3.usage = general,
- settexcs3.code = {\ifblank{#1}{\def\dc@lsttexcsC{}}{\def\dc@lsttexcsC{#1}}},
- texcs3.usage = general,
- texcs3.code = {\ifblank{#1}{}{\edef\dc@lsttexcsC{\dc@lsttexcsC,#1}}},
- texcs3style.usage = general,
- texcs3style.code = {\ifblank{#1}{\def\dc@lsttexcsCstyle{\bfseries\color{\dc@lsttexcsBcolordefault}}}{\def\dc@lsttexcsCstyle{#1}}},
-
- setkeywd.usage = general,
- setkeywd.code = {\ifblank{#1}{\def\dc@lstkeywd{}}{\def\dc@lstkeywd{#1}}},
- keywd.usage = general,
- keywd.code = {\ifblank{#1}{}{\edef\dc@lstkeywd{\dc@lstkeywd,#1}}},
- keywdstyle.usage = general,
- keywdstyle.code = {\ifblank{#1}{\def\dc@lstkeywdstyle{\bfseries\color{\dc@lstkeywdcolordefault}}}{\def\dc@lstkeywdstyle{#1}}},
-
- setkeywd2.usage = general,
- setkeywd2.code = {\ifblank{#1}{\def\dc@lstkeywdB{}}{\def\dc@lstkeywdB{#1}}},
- keywd2.usage = general,
- keywd2.code = {\ifblank{#1}{}{\edef\dc@lstkeywdB{\dc@lstkeywdB,#1}}},
- keywd2style.usage = general,
- keywd2style.code = {\ifblank{#1}{\def\dc@lstkeywdBstyle{\bfseries\color{\dc@lstkeywdBcolordefault}}}{\def\dc@lstkeywdBstyle{#1}}},
-
- setkeywd3.usage = general,
- setkeywd3.code = {\ifblank{#1}{\def\dc@lstkeywdC{}}{\def\dc@lstkeywdC{#1}}},
- keywd3.usage = general,
- keywd3.code = {\ifblank{#1}{}{\edef\dc@lstkeywdC{\dc@lstkeywdC,#1}}},
- keywd3style.usage = general,
- keywd3style.code = {\ifblank{#1}{\def\dc@lstkeywdCstyle{\bfseries\color{\dc@lstkeywdBcolordefault}}}{\def\dc@lstkeywdCstyle{#1}}},
-
- setemph.usage = general,
- setemph.code = {\ifblank{#1}{\def\dc@lstemph{}}{\def\dc@lstemph{#1}}},
- emph.usage = general,
- emph.code = {\ifblank{#1}{}{\edef\dc@lstemph{\dc@lstemph,#1}}},
- emphstyle.usage = general,
- emphstyle.code = {\ifblank{#1}{\def\dc@lstemphstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphstyle{#1}}},
-
- setemph2.usage = general,
- setemph2.code = {\ifblank{#1}{\def\dc@lstemphB{}}{\def\dc@lstemphB{#1}}},
- emph2.usage = general,
- emph2.code = {\ifblank{#1}{}{\edef\dc@lstemphB{\dc@lstemphB,#1}}},
- emph2style.usage = general,
- emph2style.code = {\ifblank{#1}{\def\dc@lstemphBstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphBstyle{#1}}},
-
- setemph3.usage = general,
- setemph3.code = {\ifblank{#1}{\def\dc@lstemphC{}}{\def\dc@lstemphC{#1}}},
- emph3.usage = general,
- emph3.code = {\ifblank{#1}{}{\edef\dc@lstemphC{\dc@lstemphC,#1}}},
- emph3style.usage = general,
- emph3style.code = {\ifblank{#1}{\def\dc@lstemphCstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphCstyle{#1}}},
-
- stringstyle.usage = general,
- stringstyle.code = {\ifblank{#1}{\def\dc@lststringstyle{\color{\dc@lststringcolordefault}}}{\def\dc@lststringstyle{#1}}},
-
- commentstyle.usage = general,
- commentstyle.code = {\ifblank{#1}{\def\dc@lstcommentstyle{\color{\dc@lstcommentcolordefault}}}{\def\dc@lstcommentstyle{#1}}},
-
- bckgndcolor.usage = general,
- bckgndcolor.code = {\ifblank{#1}{\def\dc@lstbckgndcolor{\color{\dc@lstbckgndcolordefault}}}{\def\dc@lstbckgndcolor{#1}}},
-
- rulecolor.usage = general,
- rulecolor.code = {\ifblank{#1}{\def\dc@lstrulecolor{\color{\dc@lstrulecolordefault}}}{\def\dc@lstrulecolor{#1}}},
-
- numbers.usage = general,
- numbers.code = {\ifblank{#1}{\def\dc@lstnumbers{none}}{\def\dc@lstnumbers{#1}}},
-
- numberstyle.usage = general,
- numberstyle.code = {\ifblank{#1}{\def\dc@lstnumberstyle{\tiny\color{\dc@lstnumbercolordefault}}}{\def\dc@lstnumberstyle{#1}}},
-
- parindent.usage = general,
- parindent.code = {\setlength\dc@demo@parindent{\parindent}\setdcpar{#1}},
-
- default.usage = general,
- default.code = {\dc@lstkeysdefault},
-}
-\NewDocumentCommand{\setdclisting}{m}{\SetKeys[dclisting]{#1}}
-\NewDocumentCommand{\dc@lstkeysdefault}{}{%
- \setdclisting{%
- settexcs,texcsstyle,settexcs2,texcs2style,settexcs3,texcs3style,%
- setkeywd,keywdstyle,setkeywd2,keywd2style,setkeywd3,keywd3style,%
- setemph,emphstyle,setemph2,emph2style,setemph3,emph3style,%
- stringstyle,commentstyle,bckgndcolor,rulecolor,%
- numbers,numberstyle,%
- }%
-}
-\setdclisting{default}
-
-\DeclareKeys[dcpar]{
- org.usage = general,
- org.code = {\setlength\dc@demo@parindent\dc@org@parindent},
- default.usage = general,
- default.code = {\setlength\dc@demo@parindent\parindent},
-}
-\DeclareUnknownKeyHandler[dcpar]{\ifblank{#1}{\setlength\dc@demo@parindent\dc@org@parindent}{\setlength\dc@demo@parindent{#1}}}
-
-\NewDocumentCommand{\setdcpar}{m}{\SetKeys[dcpar]{#1}}
-
-\DeclareKeys[dclisting]{
- codeprefix.usage = general,
- codeprefix.code = {\ifblank{#1}{\def\dc@codeprefix{\LaTeX~Code:}}{\def\dc@codeprefix{#1}}},
-
- resultprefix.usage = general,
- resultprefix.code = {\ifblank{#1}{\def\dc@resultprefix{\LaTeX~Result:}}{\def\dc@resultprefix{#1}}},
-
- defaulttools.usage = general,
- defaulttools.code = {\SetKeys[dclisting]{codeprefix,resultprefix}} ,
-}
-%\DeclareUnknownKeyHandler[dclisting]{\setdclisting{#1={#2}}}
-
-%\NewDocumentCommand{\setdctools}{m}{\SetKeys[dctools]{#1}}
-\SetKeys[dclisting]{defaulttools}
-
-
-
-%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%
-%%%
-%%% From doctools.dtx file
-%%% lstlistings 'definitions'
-%%%
-%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%
-
-%%% listings
-%
-\lstdefinestyle{lstStyleDefault}{
-%%% appearance
- ,basicstyle=\small\ttfamily % Standardschrift
-%%% Space and placement
- ,floatplacement=tbp % is used as float place specifier
- ,aboveskip=\medskipamount % define the space above and
- ,belowskip=\medskipamount % below displayed listings.
- ,lineskip=0pt % specifies additional space between lines in listings.
- ,boxpos=c % c,b,t
-%%% The printed range
- ,showlines=false % prints empty lines at the end of listings
-%%% characters
- ,extendedchars=true % allows or prohibits extended characters
- % in listings, that means (national)
- % characters of codes 128-255.
- ,upquote=true % determines printing of quotes
- ,tabsize=2, % chars of tab
- ,showtabs=false % do not show tabs
- ,showspaces=false % do not show spaces
- ,showstringspaces=false % do not show blank spaces in string
-%%% Line numbers
- ,numbers=none % left, right, none
-%%% Captions
- ,numberbychapter=true %
- ,captionpos=b % t,b
- ,abovecaptionskip=\smallskipamount % the vertical space respectively above
- ,belowcaptionskip=\smallskipamount % or below each caption
-%%% Margins and line shape
- ,linewidth=\linewidth % defines the base line width for listings.
- ,xleftmargin=0pt % extra margins
- ,xrightmargin=0pt %
- ,resetmargins=false % indention from list environments like enumerate
- % or itemize is reset, i.e. not used.
- ,breaklines=true % line breaking of long lines.
- ,breakatwhitespace=false % allows line breaks only at white space.
- ,breakindent=0pt % is the indention of the second, third, ...
- % line of broken lines.
- ,breakautoindent=true % apply intendation
- ,columns=flexible %
- ,keepspaces=true %
-}
-
-
-\lstdefinestyle{lstDocStyleBase}{
-%%% base style
-%
- ,style=lstStyleDefault
-%%% appearance
- ,commentstyle=\slshape
-%%% Line numbers
- ,numbers=left % left, right, none
- ,stepnumber=1 % seperation between numbers
- ,numberfirstline=false % number first line always
- ,numberstyle={\dc@lstnumberstyle} % style of numbers
- ,numbersep=5pt % distance to text
- ,numberblanklines=true %
-%%% language
- ,language = [LaTeX]TeX
-%%% commands
- % LaTeX programming
- ,moretexcs={setlength,usepackage,newcommand,renewcommand,providecommand,RequirePackage,SelectInputMappings,ifpdftex,ifpdfoutput,AtBeginEnvironment,ProvidesPackage},
- % other commands
- ,moretexcs={maketitle,text,includegraphics,chapter,section,subsection,
- subsubsection,paragraph,textmu,enquote,blockquote,ding,mathds,ifcsdef,Bra,Ket,Braket,subcaption,lettrine,mdfsetup,captionof,listoffigures,listoftables,tableofcontents,appendix}
- % tables
- ,moretexcs={newcolumntype,rowfont,taburowcolors,rowcolor,rowcolors,bottomrule,
- toprule,midrule,}
- % hyperref
- ,moretexcs={hypersetup}
- % glossaries
- ,moretexcs={gls,printglossary,glsadd,newglossaryentry,newacronym}
- % Koma
- ,moretexcs={mainmatter,frontmatter,geometry,KOMAoptions,setkomafont,addtokomafont}
- % SI, unit
- ,moretexcs={si,SI,sisetup,unit,unitfrac,micro}
- % biblatex package
- ,moretexcs={newblock,ExecuteBibliographyOptions,addbibresource}
- % math packages
- ,moretexcs={operatorname,frac,sfrac,dfrac,DeclareMathOperator,mathcal,underset}
- % demo package
- ,moretexcs={democodefile,package,cs,command,env,DemoError,PrintDemo}
- % tablestyles
- ,moretexcs={theadstart,tbody,tsubheadstart,tsubhead,tend}
- % code section package
- ,moretexcs={DefineCodeSection,SetCodeSection,BeginCodeSection,
- EndCodeSection}
- % template tools package
- ,moretexcs={IfDefined,IfUndefined,IfElseDefined,IfElseUndefined,IfMultDefined,IfNotDraft,IfNotDraftElse,IfDraft,IfPackageLoaded,IfElsePackageLoaded,IfPackageNotLoaded,IfPackagesLoaded,IfPackagesNotLoaded,ExecuteAfterPackage,ExecuteBeforePackage,IfTikzLibraryLoaded,IfColumntypeDefined,IfColumntypesDefined,IfColorDefined,IfColorsDefined,IfMathVersionDefined,SetTemplateDefinition,UseDefinition,IfFileExists,iflanguage}
- % tablestyles
- ,moretexcs={setuptablefontsize,tablefontsize,setuptablestyle,tablestyle, setuptablecolor,tablecolor,disablealternatecolors, tablealtcolored,tbegin,tbody,tend,thead, theadstart,tsubheadstart,tsubhead,theadrow,tsubheadrow,resettablestyle,theadend,tsubheadend,tableitemize,PreserveBackslash}
- % todonotes
- ,moretexcs={todo,missingfigure}
- % listings
- ,moretexcs={lstloadlanguages,lstdefinestyle,lstset}
- % index
- ,moretexcs={indexsetup}
- % glossaries
- ,moretexcs={newglossarystyle,glossarystyle,deftranslation,newglossary}
- % tikz
- ,moretexcs={usetikzlibrary}
- % color
- ,moretexcs={definecolor,colorlet}
- % caption
- ,moretexcs={captionsetup,DeclareCaptionStyle}
- % floatrow
- ,moretexcs={floatsetup}
- % doc.sty
- ,moretexcs={EnableCrossrefs,DisableCrossrefs,PageIndex,CodelineIndex,CodelineNumbered}
- % refereces
- ,moretexcs={cref,Cref,vref,eqnref,figref,tabref,secref,chapref}
-}
-
-%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%
-%%%
-%%% From doctools.dtx file
-%%% lstlistings 'definitions'
-%%%
-%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%
-
-
-
-\lstloadlanguages{[LaTeX]TeX}
-\lstdefinestyle{codestyle}{
-%%% base style
- style=lstDocStyleBase,
- language=[LaTeX]{TeX},
- numbers=none,%{\dc@lstnumbers},%
- %%% colors
- rulecolor={\dc@lstrulecolor},
- backgroundcolor={\dc@lstbckgndcolor},%
- stringstyle={\dc@lststringstyle},
- commentstyle={\dc@lstcommentstyle},
- framerule=0pt,%0.4pt,
- nolol=true,
- frame=none,
- aboveskip=-2ex,
- belowskip=-2ex,
- basicstyle=\footnotesize\ttfamily , % Standardschrift
- rulesep = 0pt,
- breaklines=true,
- breakindent=3em,
- moretexcs={\dc@lsttexcs},
- moretexcs=[2]{\dc@lsttexcsB},
- moretexcs=[3]{\dc@lsttexcsC},
- texcsstyle=*{\dc@lsttexcsstyle},
- texcsstyle=*[2]{\dc@lsttexcsBstyle},
- texcsstyle=*[3]{\dc@lsttexcsCstyle},
- morekeywords={\dc@lstkeywd},
- morekeywords=[2]{\dc@lstkeywdB},
- morekeywords=[3]{\dc@lstkeywdC},
- keywordstyle={\dc@lstkeywdstyle},
- keywordstyle=[2]{\dc@lstkeywdBstyle},
- keywordstyle=[3]{\dc@lstkeywdCstyle},
- emph={\dc@lstemph},
- emph=[2]{\dc@lstemphB},
- emph=[3]{\dc@lstemphC},
- emphstyle={\dc@lstemphstyle},
- emphstyle=[2]{\dc@lstemphBstyle},
- emphstyle=[3]{\dc@lstemphCstyle},
-}
-\lstset{style=codestyle}
-
-%%%
-%%% Using scontents package !!!!
-%%%
-\ExplSyntaxOn
-\keys_define:nn { scontents / scontents}
- {
- st.meta:nn = { scontents } { store-env = #1 },
- st.value_required:n = true
- }
-\ExplSyntaxOff
-
-\newenvsc{stcode}
-\let\verbatimsc\@undefined
-\let\verbatimsc@\@undefined
-\let\endverbatimsc\@undefined
-\lstnewenvironment{verbatimsc}{\lstset{style=codestyle}}{}
-
-
-\NewDocumentEnvironment{verbsc}{m}{%
- \let\verbatimsc\@undefined
- \let\verbatimsc@\@undefined
- \let\endverbatimsc\@undefined
- \setdclisting{#1}
- \edef\dc@tmp{style=codestyle,moretexcs={\dc@lsttexcs},moretexcs=[2]{\dc@lsttexcsB},moretexcs=[3]{\dc@lsttexcsC},%
- morekeywords={\dc@lstkeywd},morekeywords=[2]{\dc@lstkeywdB},morekeywords=[3]{\dc@lstkeywdC},%
- emph={\dc@lstemph},emph=[2]{\dc@lstemphB},emph=[3]{\dc@lstemphC},%
- numbers={\dc@lstnumbers}}
- \lstnewenvironment{verbatimsc}{\expandafter\lstset\expandafter{\dc@tmp}}{}
-}{%
-}
-
-\NewDocumentCommand{\DisplayCodeB}{O{}m}{%
- {%
- \begin{verbsc}{#1}%
- \begin{tabular}{J{.98\textwidth}}\dc@codeprefix \\
- \typestored{#2}%
- \end{tabular}%
- \end{verbsc}%
- }%
-}
-
-\NewDocumentCommand{\DemoCodeB}{O{}m}{{%
- \setlength\parindent\dc@org@parindent
- \begin{verbsc}{#1}%
- \begin{tabular}{J{.98\textwidth}}%
- \dc@codeprefix \\%
- \typestored{#2}\\%
- \end{tabular}%
-
- \begin{tabular}{J{.98\textwidth}}%
- \dc@resultprefix \\\hline\\[-1ex]%
- \getstored{#2}\\\hline%
- \end{tabular}%
- \end{verbsc}%
-}}
-
-\NewDocumentCommand{\TabbedDemoCodeB}{O{}m}{{%
- \setlength\parindent\dc@org@parindent
- \begin{verbsc}{#1}%
- \arrayrulecolor{gray}
- \begin{tabular}{J{.49\textwidth}@{}J{.49\textwidth}}%
- \dc@codeprefix & \dc@resultprefix\\\hline\\[-1ex]%
- \typestored{#2} & \getstored{#2}\\\hline%
- \end{tabular}%
- \end{verbsc}%
-}}
-
-
-\NewDocumentCommand{\DisplayCode}{O{}m}{{%
- \begin{verbsc}{#1}%
- \vspace*{0.5ex}
- \begin{minipage}{1\textwidth}\dc@codeprefix \\
- \typestored{#2}%
- \end{minipage}%
- \\[1.5ex]%
- \end{verbsc}%
-}}
-
-\NewDocumentCommand{\DemoCode}{O{}mO{1ex}}{{%
- \begin{verbsc}{#1}%
- \vspace*{1ex}
- \begin{minipage}{1\textwidth}\dc@codeprefix \\
- \typestored{#2}%
- \end{minipage}%
- \\[3ex]
- \begin{minipage}{1\textwidth}%
- \dc@resultprefix \\[-1.5ex]%
- \rule{\textwidth}{0.2pt}\vspace*{0.75ex}%
- \setlength\parindent\dc@demo@parindent%
-
- \getstored{#2}%
- \end{minipage}%
- \\[#3]%
- \rule{1\textwidth}{0.2pt}%\vspace*{0.25ex}
- \end{verbsc}%
-}}
-
-\NewDocumentCommand{\TabbedDemoCode}{O{}mO{1ex}}{{%
- \begin{verbsc}{#1}%
- \begin{minipage}{.5\textwidth}%
- \dc@codeprefix%
- \end{minipage}%
- \begin{minipage}{.5\textwidth}%
- \dc@resultprefix%
- \end{minipage}\\[-1.5ex]%
- \rule{\textwidth}{0.2pt}\vspace*{1ex}%
-
- \begin{minipage}{.5\textwidth}\vspace*{2ex}%
- \typestored{#2}\vspace*{1.5ex}%
- \end{minipage}%
- \begin{minipage}{.5\textwidth}%
- \setlength\parindent\dc@demo@parindent%
- \getstored{#2}%
- \end{minipage}%
- \\[#3]%
- \rule{1\textwidth}{0.2pt}%\vspace*{0.5ex}
- \end{verbsc}%
-}}
-%%%
-%%% Using scontents package !!!!
-%%%
-
-
-%%%
-%%% from https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue
-\lstset{literate=
- {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
- {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
- {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
- {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
- {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
- {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
- {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
- {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
- {ã}{{\~{a}}}1 {õ}{{\~{o}}}1
- {Ã}{{\~{A}}}1 {Õ}{{\~{O}}}1
- {ý}{{\'{y}}}1 {Ý}{{\'{Y}}}1 {ÿ}{{\"{y}}}1 {Ÿ}{{\"{Y}}}1
- {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
- {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
- {€}{{\EUR}}1 {£}{{\pounds}}1
-}
-
-\endinput
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0beta (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
+%% democodetools.sty set of macros to document LaTeX packages
+%%
+%% README.md quick introduction
+%%
+%% democodetools.tex LaTeX documentation
+%% democodetools.pdf documentation in PDF form
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{democodelisting}
+\def\tc@tmp@altpackname{democodelisting}
+\def\tc@tmp@packdesc{Demo Code Listing}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0beta}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\RequirePackage{listings}
+\RequirePackage{scontents}
+
+\newlength{\dc@demo@parindent}
+\newlength{\dc@org@parindent}
+\setlength\dc@org@parindent{\parindent}
+\setlength\parindent{0pt}
+
+
+\colorlet{dc@lightcyan}{white!97!cyan}
+\colorlet{dc@lightgray}{white!97!black}
+\definecolor{dc@grayblack}{rgb}{0.8,0.8,0.8}
+
+\colorlet{dc@darkgreen}{green!45!black!100}
+\colorlet{dc@darkteal}{teal!45!black!100}
+\colorlet{dc@darkblue}{blue!40!black!100}
+\colorlet{dc@darkred}{red!45!black!100}
+
+\colorlet{dc@blueishblack}{blue!75!black!100}
+\colorlet{dc@reddishblack}{red!60!black!100}
+\colorlet{dc@greenishblack}{green!45!black!100}
+
+\def\dc@lstbckgndcolordefault{dc@lightgray}%
+\def\dc@lststringcolordefault{dc@darkteal}
+\def\dc@lstcommentcolordefault{dc@darkgreen}
+\def\dc@lsttexcscolordefault{dc@darkblue}
+\def\dc@lstkeywdcolordefault{dc@darkblue}
+
+\def\dc@lsttexcsBcolordefault{dc@blueishblack}
+\def\dc@lstkeywdBcolordefault{dc@greenishblack}
+\def\dc@lstemphcolordefault{dc@reddishblack}
+
+\colorlet{dc@lstnumbercolordefault}{white!50!black!100}
+
+\def\dc@lstrulecolordefault{gray}
+\def\dc@lstnumbercolordefault{gray}
+
+\DeclareKeys[dclisting]{
+ settexcs.usage = general,
+ settexcs.code = {\ifblank{#1}{\def\dc@lsttexcs{}}{\def\dc@lsttexcs{#1}}},
+ texcs.usage = general,
+ texcs.code = {\ifblank{#1}{}{\edef\dc@lsttexcs{\dc@lsttexcs,#1}}},
+ texcsstyle.usage = general,
+ texcsstyle.code = {\ifblank{#1}{\def\dc@lsttexcsstyle{\bfseries\color{\dc@lsttexcscolordefault}}}{\def\dc@lsttexcsstyle{#1}}},
+
+ settexcs2.usage = general,
+ settexcs2.code = {\ifblank{#1}{\def\dc@lsttexcsB{}}{\def\dc@lsttexcsB{#1}}},
+ texcs2.usage = general,
+ texcs2.code = {\ifblank{#1}{}{\edef\dc@lsttexcsB{\dc@lsttexcsB,#1}}},
+ texcs2style.usage = general,
+ texcs2style.code = {\ifblank{#1}{\def\dc@lsttexcsBstyle{\bfseries\color{\dc@lsttexcsBcolordefault}}}{\def\dc@lsttexcsBstyle{#1}}},
+
+ settexcs3.usage = general,
+ settexcs3.code = {\ifblank{#1}{\def\dc@lsttexcsC{}}{\def\dc@lsttexcsC{#1}}},
+ texcs3.usage = general,
+ texcs3.code = {\ifblank{#1}{}{\edef\dc@lsttexcsC{\dc@lsttexcsC,#1}}},
+ texcs3style.usage = general,
+ texcs3style.code = {\ifblank{#1}{\def\dc@lsttexcsCstyle{\bfseries\color{\dc@lsttexcsBcolordefault}}}{\def\dc@lsttexcsCstyle{#1}}},
+
+ setkeywd.usage = general,
+ setkeywd.code = {\ifblank{#1}{\def\dc@lstkeywd{}}{\def\dc@lstkeywd{#1}}},
+ keywd.usage = general,
+ keywd.code = {\ifblank{#1}{}{\edef\dc@lstkeywd{\dc@lstkeywd,#1}}},
+ keywdstyle.usage = general,
+ keywdstyle.code = {\ifblank{#1}{\def\dc@lstkeywdstyle{\bfseries\color{\dc@lstkeywdcolordefault}}}{\def\dc@lstkeywdstyle{#1}}},
+
+ setkeywd2.usage = general,
+ setkeywd2.code = {\ifblank{#1}{\def\dc@lstkeywdB{}}{\def\dc@lstkeywdB{#1}}},
+ keywd2.usage = general,
+ keywd2.code = {\ifblank{#1}{}{\edef\dc@lstkeywdB{\dc@lstkeywdB,#1}}},
+ keywd2style.usage = general,
+ keywd2style.code = {\ifblank{#1}{\def\dc@lstkeywdBstyle{\bfseries\color{\dc@lstkeywdBcolordefault}}}{\def\dc@lstkeywdBstyle{#1}}},
+
+ setkeywd3.usage = general,
+ setkeywd3.code = {\ifblank{#1}{\def\dc@lstkeywdC{}}{\def\dc@lstkeywdC{#1}}},
+ keywd3.usage = general,
+ keywd3.code = {\ifblank{#1}{}{\edef\dc@lstkeywdC{\dc@lstkeywdC,#1}}},
+ keywd3style.usage = general,
+ keywd3style.code = {\ifblank{#1}{\def\dc@lstkeywdCstyle{\bfseries\color{\dc@lstkeywdBcolordefault}}}{\def\dc@lstkeywdCstyle{#1}}},
+
+ setemph.usage = general,
+ setemph.code = {\ifblank{#1}{\def\dc@lstemph{}}{\def\dc@lstemph{#1}}},
+ emph.usage = general,
+ emph.code = {\ifblank{#1}{}{\edef\dc@lstemph{\dc@lstemph,#1}}},
+ emphstyle.usage = general,
+ emphstyle.code = {\ifblank{#1}{\def\dc@lstemphstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphstyle{#1}}},
+
+ setemph2.usage = general,
+ setemph2.code = {\ifblank{#1}{\def\dc@lstemphB{}}{\def\dc@lstemphB{#1}}},
+ emph2.usage = general,
+ emph2.code = {\ifblank{#1}{}{\edef\dc@lstemphB{\dc@lstemphB,#1}}},
+ emph2style.usage = general,
+ emph2style.code = {\ifblank{#1}{\def\dc@lstemphBstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphBstyle{#1}}},
+
+ setemph3.usage = general,
+ setemph3.code = {\ifblank{#1}{\def\dc@lstemphC{}}{\def\dc@lstemphC{#1}}},
+ emph3.usage = general,
+ emph3.code = {\ifblank{#1}{}{\edef\dc@lstemphC{\dc@lstemphC,#1}}},
+ emph3style.usage = general,
+ emph3style.code = {\ifblank{#1}{\def\dc@lstemphCstyle{\bfseries\color{\dc@lstemphcolordefault}}}{\def\dc@lstemphCstyle{#1}}},
+
+ stringstyle.usage = general,
+ stringstyle.code = {\ifblank{#1}{\def\dc@lststringstyle{\color{\dc@lststringcolordefault}}}{\def\dc@lststringstyle{#1}}},
+
+ commentstyle.usage = general,
+ commentstyle.code = {\ifblank{#1}{\def\dc@lstcommentstyle{\color{\dc@lstcommentcolordefault}}}{\def\dc@lstcommentstyle{#1}}},
+
+ bckgndcolor.usage = general,
+ bckgndcolor.code = {\ifblank{#1}{\def\dc@lstbckgndcolor{\color{\dc@lstbckgndcolordefault}}}{\def\dc@lstbckgndcolor{#1}}},
+
+ rulecolor.usage = general,
+ rulecolor.code = {\ifblank{#1}{\def\dc@lstrulecolor{\color{\dc@lstrulecolordefault}}}{\def\dc@lstrulecolor{#1}}},
+
+ numbers.usage = general,
+ numbers.code = {\ifblank{#1}{\def\dc@lstnumbers{none}}{\def\dc@lstnumbers{#1}}},
+
+ numberstyle.usage = general,
+ numberstyle.code = {\ifblank{#1}{\def\dc@lstnumberstyle{\tiny\color{\dc@lstnumbercolordefault}}}{\def\dc@lstnumberstyle{#1}}},
+
+ parindent.usage = general,
+ parindent.code = {\setlength\dc@demo@parindent{\parindent}\setdcpar{#1}},
+
+ default.usage = general,
+ default.code = {\dc@lstkeysdefault},
+}
+\NewDocumentCommand{\setdclisting}{m}{\SetKeys[dclisting]{#1}}
+\NewDocumentCommand{\dc@lstkeysdefault}{}{%
+ \setdclisting{%
+ settexcs,texcsstyle,settexcs2,texcs2style,settexcs3,texcs3style,%
+ setkeywd,keywdstyle,setkeywd2,keywd2style,setkeywd3,keywd3style,%
+ setemph,emphstyle,setemph2,emph2style,setemph3,emph3style,%
+ stringstyle,commentstyle,bckgndcolor,rulecolor,%
+ numbers,numberstyle,%
+ }%
+}
+\setdclisting{default}
+
+\DeclareKeys[dcpar]{
+ org.usage = general,
+ org.code = {\setlength\dc@demo@parindent\dc@org@parindent},
+ default.usage = general,
+ default.code = {\setlength\dc@demo@parindent\parindent},
+}
+\DeclareUnknownKeyHandler[dcpar]{\ifblank{#1}{\setlength\dc@demo@parindent\dc@org@parindent}{\setlength\dc@demo@parindent{#1}}}
+
+\NewDocumentCommand{\setdcpar}{m}{\SetKeys[dcpar]{#1}}
+
+\DeclareKeys[dclisting]{
+ codeprefix.usage = general,
+ codeprefix.code = {\ifblank{#1}{\def\dc@codeprefix{\LaTeX~Code:}}{\def\dc@codeprefix{#1}}},
+
+ resultprefix.usage = general,
+ resultprefix.code = {\ifblank{#1}{\def\dc@resultprefix{\LaTeX~Result:}}{\def\dc@resultprefix{#1}}},
+
+ defaulttools.usage = general,
+ defaulttools.code = {\SetKeys[dclisting]{codeprefix,resultprefix}} ,
+}
+%\DeclareUnknownKeyHandler[dclisting]{\setdclisting{#1={#2}}}
+
+%\NewDocumentCommand{\setdctools}{m}{\SetKeys[dctools]{#1}}
+\SetKeys[dclisting]{defaulttools}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%
+%%%
+%%% From doctools.dtx file
+%%% lstlistings 'definitions'
+%%%
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%
+
+%%% listings
+%
+\lstdefinestyle{lstStyleDefault}{
+%%% appearance
+ ,basicstyle=\small\ttfamily % Standardschrift
+%%% Space and placement
+ ,floatplacement=tbp % is used as float place specifier
+ ,aboveskip=\medskipamount % define the space above and
+ ,belowskip=\medskipamount % below displayed listings.
+ ,lineskip=0pt % specifies additional space between lines in listings.
+ ,boxpos=c % c,b,t
+%%% The printed range
+ ,showlines=false % prints empty lines at the end of listings
+%%% characters
+ ,extendedchars=true % allows or prohibits extended characters
+ % in listings, that means (national)
+ % characters of codes 128-255.
+ ,upquote=true % determines printing of quotes
+ ,tabsize=2, % chars of tab
+ ,showtabs=false % do not show tabs
+ ,showspaces=false % do not show spaces
+ ,showstringspaces=false % do not show blank spaces in string
+%%% Line numbers
+ ,numbers=none % left, right, none
+%%% Captions
+ ,numberbychapter=true %
+ ,captionpos=b % t,b
+ ,abovecaptionskip=\smallskipamount % the vertical space respectively above
+ ,belowcaptionskip=\smallskipamount % or below each caption
+%%% Margins and line shape
+ ,linewidth=\linewidth % defines the base line width for listings.
+ ,xleftmargin=0pt % extra margins
+ ,xrightmargin=0pt %
+ ,resetmargins=false % indention from list environments like enumerate
+ % or itemize is reset, i.e. not used.
+ ,breaklines=true % line breaking of long lines.
+ ,breakatwhitespace=false % allows line breaks only at white space.
+ ,breakindent=0pt % is the indention of the second, third, ...
+ % line of broken lines.
+ ,breakautoindent=true % apply intendation
+ ,columns=flexible %
+ ,keepspaces=true %
+}
+
+
+\lstdefinestyle{lstDocStyleBase}{
+%%% base style
+%
+ ,style=lstStyleDefault
+%%% appearance
+ ,commentstyle=\slshape
+%%% Line numbers
+ ,numbers=left % left, right, none
+ ,stepnumber=1 % seperation between numbers
+ ,numberfirstline=false % number first line always
+ ,numberstyle={\dc@lstnumberstyle} % style of numbers
+ ,numbersep=5pt % distance to text
+ ,numberblanklines=true %
+%%% language
+ ,language = [LaTeX]TeX
+%%% commands
+ % LaTeX programming
+ ,moretexcs={setlength,usepackage,newcommand,renewcommand,providecommand,RequirePackage,SelectInputMappings,ifpdftex,ifpdfoutput,AtBeginEnvironment,ProvidesPackage},
+ % other commands
+ ,moretexcs={maketitle,text,includegraphics,chapter,section,subsection,
+ subsubsection,paragraph,textmu,enquote,blockquote,ding,mathds,ifcsdef,Bra,Ket,Braket,subcaption,lettrine,mdfsetup,captionof,listoffigures,listoftables,tableofcontents,appendix}
+ % tables
+ ,moretexcs={newcolumntype,rowfont,taburowcolors,rowcolor,rowcolors,bottomrule,
+ toprule,midrule,}
+ % hyperref
+ ,moretexcs={hypersetup}
+ % glossaries
+ ,moretexcs={gls,printglossary,glsadd,newglossaryentry,newacronym}
+ % Koma
+ ,moretexcs={mainmatter,frontmatter,geometry,KOMAoptions,setkomafont,addtokomafont}
+ % SI, unit
+ ,moretexcs={si,SI,sisetup,unit,unitfrac,micro}
+ % biblatex package
+ ,moretexcs={newblock,ExecuteBibliographyOptions,addbibresource}
+ % math packages
+ ,moretexcs={operatorname,frac,sfrac,dfrac,DeclareMathOperator,mathcal,underset}
+ % demo package
+ ,moretexcs={democodefile,package,cs,command,env,DemoError,PrintDemo}
+ % tablestyles
+ ,moretexcs={theadstart,tbody,tsubheadstart,tsubhead,tend}
+ % code section package
+ ,moretexcs={DefineCodeSection,SetCodeSection,BeginCodeSection,
+ EndCodeSection}
+ % template tools package
+ ,moretexcs={IfDefined,IfUndefined,IfElseDefined,IfElseUndefined,IfMultDefined,IfNotDraft,IfNotDraftElse,IfDraft,IfPackageLoaded,IfElsePackageLoaded,IfPackageNotLoaded,IfPackagesLoaded,IfPackagesNotLoaded,ExecuteAfterPackage,ExecuteBeforePackage,IfTikzLibraryLoaded,IfColumntypeDefined,IfColumntypesDefined,IfColorDefined,IfColorsDefined,IfMathVersionDefined,SetTemplateDefinition,UseDefinition,IfFileExists,iflanguage}
+ % tablestyles
+ ,moretexcs={setuptablefontsize,tablefontsize,setuptablestyle,tablestyle, setuptablecolor,tablecolor,disablealternatecolors, tablealtcolored,tbegin,tbody,tend,thead, theadstart,tsubheadstart,tsubhead,theadrow,tsubheadrow,resettablestyle,theadend,tsubheadend,tableitemize,PreserveBackslash}
+ % todonotes
+ ,moretexcs={todo,missingfigure}
+ % listings
+ ,moretexcs={lstloadlanguages,lstdefinestyle,lstset}
+ % index
+ ,moretexcs={indexsetup}
+ % glossaries
+ ,moretexcs={newglossarystyle,glossarystyle,deftranslation,newglossary}
+ % tikz
+ ,moretexcs={usetikzlibrary}
+ % color
+ ,moretexcs={definecolor,colorlet}
+ % caption
+ ,moretexcs={captionsetup,DeclareCaptionStyle}
+ % floatrow
+ ,moretexcs={floatsetup}
+ % doc.sty
+ ,moretexcs={EnableCrossrefs,DisableCrossrefs,PageIndex,CodelineIndex,CodelineNumbered}
+ % refereces
+ ,moretexcs={cref,Cref,vref,eqnref,figref,tabref,secref,chapref}
+}
+
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%
+%%%
+%%% From doctools.dtx file
+%%% lstlistings 'definitions'
+%%%
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\lstloadlanguages{[LaTeX]TeX}
+\lstdefinestyle{codestyle}{
+%%% base style
+ style=lstDocStyleBase,
+ language=[LaTeX]{TeX},
+ numbers=none,%{\dc@lstnumbers},%
+ %%% colors
+ rulecolor={\dc@lstrulecolor},
+ backgroundcolor={\dc@lstbckgndcolor},%
+ stringstyle={\dc@lststringstyle},
+ commentstyle={\dc@lstcommentstyle},
+ framerule=0pt,%0.4pt,
+ nolol=true,
+ frame=none,
+ aboveskip=-2ex,
+ belowskip=-2ex,
+ basicstyle=\footnotesize\ttfamily , % Standardschrift
+ rulesep = 0pt,
+ breaklines=true,
+ breakindent=3em,
+ moretexcs={\dc@lsttexcs},
+ moretexcs=[2]{\dc@lsttexcsB},
+ moretexcs=[3]{\dc@lsttexcsC},
+ texcsstyle=*{\dc@lsttexcsstyle},
+ texcsstyle=*[2]{\dc@lsttexcsBstyle},
+ texcsstyle=*[3]{\dc@lsttexcsCstyle},
+ morekeywords={\dc@lstkeywd},
+ morekeywords=[2]{\dc@lstkeywdB},
+ morekeywords=[3]{\dc@lstkeywdC},
+ keywordstyle={\dc@lstkeywdstyle},
+ keywordstyle=[2]{\dc@lstkeywdBstyle},
+ keywordstyle=[3]{\dc@lstkeywdCstyle},
+ emph={\dc@lstemph},
+ emph=[2]{\dc@lstemphB},
+ emph=[3]{\dc@lstemphC},
+ emphstyle={\dc@lstemphstyle},
+ emphstyle=[2]{\dc@lstemphBstyle},
+ emphstyle=[3]{\dc@lstemphCstyle},
+}
+\lstset{style=codestyle}
+
+%%%
+%%% Using scontents package !!!!
+%%%
+\ExplSyntaxOn
+\keys_define:nn { scontents / scontents}
+ {
+ st.meta:nn = { scontents } { store-env = #1 },
+ st.value_required:n = true
+ }
+\ExplSyntaxOff
+
+\newenvsc{stcode}
+\let\verbatimsc\@undefined
+\let\verbatimsc@\@undefined
+\let\endverbatimsc\@undefined
+\lstnewenvironment{verbatimsc}{\lstset{style=codestyle}}{}
+
+
+\NewDocumentEnvironment{verbsc}{m}{%
+ \let\verbatimsc\@undefined
+ \let\verbatimsc@\@undefined
+ \let\endverbatimsc\@undefined
+ \setdclisting{#1}
+ \edef\dc@tmp{style=codestyle,moretexcs={\dc@lsttexcs},moretexcs=[2]{\dc@lsttexcsB},moretexcs=[3]{\dc@lsttexcsC},%
+ morekeywords={\dc@lstkeywd},morekeywords=[2]{\dc@lstkeywdB},morekeywords=[3]{\dc@lstkeywdC},%
+ emph={\dc@lstemph},emph=[2]{\dc@lstemphB},emph=[3]{\dc@lstemphC},%
+ numbers={\dc@lstnumbers}}
+ \lstnewenvironment{verbatimsc}{\expandafter\lstset\expandafter{\dc@tmp}}{}
+}{%
+}
+
+\NewDocumentCommand{\DisplayCodeB}{O{}m}{%
+ {%
+ \begin{verbsc}{#1}%
+ \begin{tabular}{J{.98\textwidth}}\dc@codeprefix \\
+ \typestored{#2}%
+ \end{tabular}%
+ \end{verbsc}%
+ }%
+}
+
+\NewDocumentCommand{\DemoCodeB}{O{}m}{{%
+ \setlength\parindent\dc@org@parindent
+ \begin{verbsc}{#1}%
+ \begin{tabular}{J{.98\textwidth}}%
+ \dc@codeprefix \\%
+ \typestored{#2}\\%
+ \end{tabular}%
+
+ \begin{tabular}{J{.98\textwidth}}%
+ \dc@resultprefix \\\hline\\[-1ex]%
+ \getstored{#2}\\\hline%
+ \end{tabular}%
+ \end{verbsc}%
+}}
+
+\NewDocumentCommand{\TabbedDemoCodeB}{O{}m}{{%
+ \setlength\parindent\dc@org@parindent
+ \begin{verbsc}{#1}%
+ \arrayrulecolor{gray}
+ \begin{tabular}{J{.49\textwidth}@{}J{.49\textwidth}}%
+ \dc@codeprefix & \dc@resultprefix\\\hline\\[-1ex]%
+ \typestored{#2} & \getstored{#2}\\\hline%
+ \end{tabular}%
+ \end{verbsc}%
+}}
+
+
+\NewDocumentCommand{\DisplayCode}{O{}m}{{%
+ \begin{verbsc}{#1}%
+ \vspace*{0.5ex}
+ \begin{minipage}{1\textwidth}\dc@codeprefix \\
+ \typestored{#2}%
+ \end{minipage}%
+ \\[1.5ex]%
+ \end{verbsc}%
+}}
+
+\NewDocumentCommand{\DemoCode}{O{}mO{1ex}}{{%
+ \begin{verbsc}{#1}%
+ \vspace*{1ex}
+ \begin{minipage}{1\textwidth}\dc@codeprefix \\
+ \typestored{#2}%
+ \end{minipage}%
+ \\[3ex]
+ \begin{minipage}{1\textwidth}%
+ \dc@resultprefix \\[-1.5ex]%
+ \rule{\textwidth}{0.2pt}\vspace*{0.75ex}%
+ \setlength\parindent\dc@demo@parindent%
+
+ \getstored{#2}%
+ \end{minipage}%
+ \\[#3]%
+ \rule{1\textwidth}{0.2pt}%\vspace*{0.25ex}
+ \end{verbsc}%
+}}
+
+\NewDocumentCommand{\TabbedDemoCode}{O{}mO{1ex}}{{%
+ \begin{verbsc}{#1}%
+ \begin{minipage}{.5\textwidth}%
+ \dc@codeprefix%
+ \end{minipage}%
+ \begin{minipage}{.5\textwidth}%
+ \dc@resultprefix%
+ \end{minipage}\\[-1.5ex]%
+ \rule{\textwidth}{0.2pt}\vspace*{1ex}%
+
+ \begin{minipage}{.5\textwidth}\vspace*{2ex}%
+ \typestored{#2}\vspace*{1.5ex}%
+ \end{minipage}%
+ \begin{minipage}{.5\textwidth}%
+ \setlength\parindent\dc@demo@parindent%
+ \getstored{#2}%
+ \end{minipage}%
+ \\[#3]%
+ \rule{1\textwidth}{0.2pt}%\vspace*{0.5ex}
+ \end{verbsc}%
+}}
+%%%
+%%% Using scontents package !!!!
+%%%
+
+
+%%%
+%%% from https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue
+\lstset{literate=
+ {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
+ {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
+ {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
+ {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
+ {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
+ {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
+ {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
+ {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
+ {ã}{{\~{a}}}1 {õ}{{\~{o}}}1
+ {Ã}{{\~{A}}}1 {Õ}{{\~{O}}}1
+ {ý}{{\'{y}}}1 {Ý}{{\'{Y}}}1 {ÿ}{{\"{y}}}1 {Ÿ}{{\"{Y}}}1
+ {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
+ {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
+ {€}{{\EUR}}1 {£}{{\pounds}}1
+}
+
+\endinput
diff --git a/macros/latex/contrib/democodetools/latex/democodetools.sty b/macros/latex/contrib/democodetools/latex/democodetools.sty
index 1360cd7fc6..f5d613ee31 100644
--- a/macros/latex/contrib/democodetools/latex/democodetools.sty
+++ b/macros/latex/contrib/democodetools/latex/democodetools.sty
@@ -1,340 +1,340 @@
-%%%==============================================================================
-%% Copyright 2022 by Alceu Frigeri
-%%
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status “maintained”.
-%%
-%% The Current Maintainer of this work is Alceu Frigeri
-%%
-%% This is version 1.0beta (2022/09/01)
-%%
-%%
-%% This work consists of the files
-%%
-%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
-%% democodetools.sty set of macros to document LaTeX packages
-%%
-%% README.md quick introduction
-%%
-%% democodetools.tex LaTeX documentation
-%% democodetools.pdf documentation in PDF form
-%%
-%%%==============================================================================
-\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\def\tc@tmp@packname{democodetools}
-\def\tc@tmp@altpackname{democodetools}
-\def\tc@tmp@packdesc{Demo Code Tools}
-\def\tc@tmp@packdate{2022/09/01}
-\def\tc@tmp@packversion{1.0beta}
-\let\@exp\expandafter
-\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
-\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
-
-\RequirePackage{democodelisting}
-
-
-
-
-\setdclisting{settexcs2={Macro,Arg,xarg,oarg,marg,parg,Key,Keylst,DescribeMacro,DescribeKey,DescribeValue,DescribeOption,DescribeArg},setkeywd2={Envs,Macros,Args,Syntax,Keys,Values,Options}}
-
-
-\def\dc@keyvaluestr{Value}
-\def\dc@keyvaluemeanstr{Meaning}
-\def\dc@keydefaultstr{Default}
-\def\dc@csfontsize{\small}
-
-
-\NewDocumentCommand{\MarginNote}{+m}{\marginpar{{\scriptsize\hfill#1}}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%
-\DeclareDocumentCommand{\Meta}{m}{\ensuremath\langle#1\ensuremath\rangle}
-
-%%%
-%%% In text arg
-%%%
-\gdef\dc@ArgHack{}
-\NewDocumentCommand{\dc@arg}{st+O{Code}O{}mmm}{{\MetaFmt[#3]{\dc@ArgHack#5\csname #4\endcsname{{\IfBooleanT{#1}{\bfseries}\IfBooleanTF{#2}{#6}{\detokenize{#6}}}}#7}}\gdef\dc@ArgHack{\,}}
-\NewDocumentCommand{\oarg}{O{Meta}m}{\dc@arg+[Oarg][#1]{[}{#2}{]}}
-\NewDocumentCommand{\marg}{O{Meta}m}{\dc@arg+[Marg][#1]{\{}{#2}{\}}}
-\NewDocumentCommand{\parg}{O{Meta}m}{\dc@arg+[Parg][#1]{(}{#2}{)}}
-\NewDocumentCommand{\xarg}{O{Meta}m}{\dc@arg+[Xarg][#1]{<}{#2}{>}}
-\NewDocumentCommand{\Arg}{m}{\def\dc@ArgHack{}\dc@arg+[Marg][Meta]{}{#1}{}}
-
-\NewDocumentCommand{\dc@x}{O{}O{}m}{#1\dc@arg+[#2][]{}{#3}{}}% single mandatory value => \dc@arg
-\NewDocumentCommand{\dc@xhack}{O{}m}{\dc@x[\dc@XHack][#1]{#2}\def\dc@XHack{\,, }}% single mandatory value => \dc@arg
-\NewDocumentCommand{\dc@xlst}{O{}O{}m}{\gdef\dc@ArgHack{}\def\dc@XHack{}\forcsvlist{\dc@xhack[#2]}{#3}\ifblank{#1}{}{\hfill\dc@keydefaultstr:~{\bfseries\Key{#1}}}}%single KEY... LIST of ValueS... default Value (if any)
-
-
-\NewDocumentCommand{\Key}{O{}m}{\dc@x[#1][Value]{#2}}
-\NewDocumentCommand{\Keylst}{O{}m}{\dc@xlst[#1][Value]{#2}}
-
-\NewDocumentCommand{\KeyUse}{mm}{\Key{#1}\space $=$ \Meta{#2}}
-
-
-\NewDocumentCommand{\Env}{O{}m}{\dc@x[#1][Env]{#2}}
-\NewDocumentCommand{\Envlst}{O{}m}{\dc@xlst[#1][Env]{#2}}
-
-\NewDocumentCommand{\Pack}{O{}m}{\dc@x[#1][Pack]{#2}}
-\NewDocumentCommand{\Packlst}{O{}m}{\dc@xlst[#1][Pack]{#2}}
-
-\NewDocumentCommand{\Value}{O{}m}{\dc@x[#1][Value]{#2}}
-\NewDocumentCommand{\Valuelst}{O{}m}{\dc@xlst[#1][Value]{#2}}
-
-\NewDocumentCommand{\Option}{O{}m}{\dc@x[#1][Option]{#2}}
-\NewDocumentCommand{\Optionlst}{O{}m}{\dc@xlst[#1][Option]{#2}}
-
-
-%%%
-%%% In text macro
-%%%
-\NewDocumentCommand{\Macro}{t!mD<>{}O{}m}{{\MetaFmt[Code]{\expandafter\zap@space\detokenize{#2#3} \@empty}}\IfBooleanTF{#1}{#5}{\gdef\dc@ArgHack{\,}\forcsvlist{\oarg}{#4}\forcsvlist{\marg}{#5}}}%
-
-
-\NewDocumentCommand{\dc@Describe}{st+O{Key}O{Meta}m}{%
- \IfBooleanTF{#2}%
- {\item[{\dc@arg+[#3][#4]{}{#5}{}}]}%
- {\item[]~\hspace{-0.6675em}\IfBooleanTF{#1}%
- {\dc@margincode*+[#3]{{\dc@arg+[#3][#4]{}{#5}{}}}}%
- {\dc@margincode+[#3]{{\dc@arg+[#3][#4]{}{#5}{}}}}}%
-}%
-
-\NewDocumentCommand{\DescribeArg}{st+O{Key}m}{%
- \IfBooleanTF{#2}%
- {\dc@Describe+[#3][Meta]{#4}}%
- {\IfBooleanTF{#1}%
- {\dc@Describe*[#3][Meta]{#4}}%
- {\dc@Describe[#3][Meta]{#4}}}%
-}%
-\NewDocumentCommand{\DescribeKey}{st+O{Key}m}{%
- \IfBooleanTF{#2}%
- {\dc@Describe+[#3][]{#4}}%
- {\IfBooleanTF{#1}%
- {\dc@Describe*[#3][]{#4}}%
- {\dc@Describe[#3][]{#4}}}%
-}%
-\let\DescribeValue\DescribeKey
-\let\DescribeOption\DescribeKey
-\let\DescribePackage\DescribeKey
-
-\NewDocumentCommand{\DescribeMacro}{st!t+mO{}m}{%
- \IfBooleanTF{#3}%
- {\item[{\Macro{#4}{}}]}%
- {\item[]~\hspace{-0.6675em}\IfBooleanTF{#1}%
- {\dc@margincode*{#4}}%
- {\dc@margincode{#4}}}\IfBooleanTF{#2}{{\Macro!{}[]{#6}}}{{\Macro{}[#5]{#6}}}%
-}%
-
-\SetEnumitemKey{marginlst}{leftmargin=0mm,labelindent=0mm,listparindent=0mm,labelwidth=0mm,labelsep=0mm}
-\SetEnumitemKey{intextlst}{leftmargin=7.5mm,labelindent=0mm,listparindent=0mm,labelwidth=20mm,labelsep=2.5mm}
-
-\NewDocumentCommand{\dc@margincode}{st+O{Code}m}{\ifvmode\leavevmode\else\fi{\marginpar{\raggedleft\MetaFmt[#3]{\IfBooleanT{#1}{\bfseries}\vspace{-1.35ex}\IfBooleanTF{#2}{#4}{\expandafter\zap@space\detokenize{#4} \@empty}\vspace{0.3ex}}}}}
-
-\NewDocumentEnvironment{Macros}{m}{%
- \ifvmode\vspace{1ex}\leavevmode\else\fi{\marginpar{\vspace*{-1.755ex}~\color{gray}\hrule\vspace{0.3ex}}\forcsvlist\dc@margincode{#1}\marginpar{\vspace{-1.1ex}~\color{gray}\hrule}}%
- }{}
- \NewDocumentEnvironment{Envs}{m}{\begin{Macros}{#1}}{\end{Macros}}%
-
-\NewDocumentEnvironment{Syntax}{}{\begingroup\setlength{\parindent}{0pt}\obeylines\hspace{-0.382em}\dc@csfontsize}{\endgroup}
-
-\NewDocumentEnvironment{Args}{}{\begin{description}[nosep,marginlst]\vspace{0.5ex}}{\end{description}}
-\NewDocumentEnvironment{Args+}{}{\begin{description}[nosep,intextlst]\vspace{0.5ex}}{\end{description}}
-\NewDocumentEnvironment{Keys}{}{\begin{Args}}{\end{Args}}
-\NewDocumentEnvironment{Keys+}{}{\begin{Args+}}{\end{Args+}}
-\NewDocumentEnvironment{Values}{}{\begin{Args}}{\end{Args}}
-\NewDocumentEnvironment{Values+}{}{\begin{Args+}}{\end{Args+}}
-\NewDocumentEnvironment{Options}{}{\begin{Args}}{\end{Args}}
-\NewDocumentEnvironment{Options+}{}{\begin{Args+}}{\end{Args+}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%
-
-
-\colorlet{dc@ColorCode}{blue!40!black}
-\colorlet{dc@ColorMacro}{blue!40!black}
-\colorlet{dc@ColorMarg}{gray!60!black}
-\colorlet{dc@ColorOarg}{gray!90!black}
-\colorlet{dc@ColorParg}{gray!60!black}
-\colorlet{dc@ColorXarg}{gray!60!black}
-\colorlet{dc@ColorDefaultVal}{blue!60!black}
-\colorlet{dc@ColorDefault}{blue!60!black}
-\colorlet{dc@ColorKeys}{teal!40!black}
-\colorlet{dc@ColorValue}{teal!40!black}
-\colorlet{dc@ColorKey}{teal!40!black}
-\colorlet{dc@ColorOptions}{green!30!black}
-\colorlet{dc@ColorOthers}{green!30!black}
-\colorlet{dc@ColorEnv}{green!30!black}
-\colorlet{dc@ColorPack}{green!30!black}
-
-
-
-\def\dc@metafont{\dc@csfontsize\ttfamily}
-
-\DeclareKeys[MetaFormat]{
- Oarg.usage = general,
- Oarg.code = {\def\dc@Metafmt{\color{dc@ColorOarg}\dc@metafont}},
- %
- Marg.usage = general,
- Marg.code = {\def\dc@Metafmt{\color{dc@ColorMarg}\dc@metafont}},
- %
- Parg.usage = general,
- Parg.code = {\def\dc@Metafmt{\color{dc@ColorParg}\dc@metafont}},
- %
- Xarg.usage = general,
- Xarg.code = {\def\dc@Metafmt{\color{dc@ColorXarg}\dc@metafont}},
- %
- Macro.usage = general,
- Macro.code = {\def\dc@Metafmt{\color{dc@ColorCode}\dc@metafont}},
- %
- Code.usage = general,
- Code.code = {\def\dc@Metafmt{\color{dc@ColorCode}\dc@metafont}},
- %
- Key.usage = general,
- Key.code = {\def\dc@Metafmt{\color{dc@ColorKey}\dc@metafont\slshape}},
- %
- KeyVal.usage = general,
- KeyVal.code = {\def\dc@Metafmt{\color{dc@ColorKeyVal}\dc@metafont\slshape}},
- %
- Option.usage = general,
- Option.code = {\def\dc@Metafmt{\color{dc@ColorOptions}\dc@metafont}},
- %
- Default.usage = general,
- Default.code = {\def\dc@Metafmt{\color{dc@ColorDefault}\dc@metafont}},
- %
- Value.usage = general,
- Value.code = {\def\dc@Metafmt{\color{dc@ColorValue}\dc@metafont\slshape}},
- %
- Env.usage = general,
- Env.code = {\def\dc@Metafmt{\color{dc@ColorEnv}\dc@metafont\slshape}},
- %
- Pack.usage = general,
- Pack.code = {\def\dc@Metafmt{\color{dc@ColorPack}\dc@metafont\slshape}},
- }
-\DeclareUnknownKeyHandler[MetaFormat]{\def\dc@Metafmt{\color{dc@ColorOthers}\ttfamily}}
-
-\NewDocumentCommand{\MetaFmt}{sO{}}{\ifblank{#2}{}{\dc@@MetaFmt{#2}}\IfBooleanT{#1}{\bfseries}\dc@Metafmt}
-\NewDocumentCommand{\dc@@MetaFmt}{m}{\SetKeys[MetaFormat]{#1}}
-\dc@@MetaFmt{Code}
-
-
-\titleformat{\chapter}{\sffamily\bfseries\selectfont\large}{\thechapter}{2ex}{}
-\titleformat{name=\chapter,numberless}{\sffamily\bfseries\selectfont\large\center}{}{0pt}{}
-\titlespacing{\chapter}{0pt}{\tc@chapbefore}{\tc@chapafter}
-
-
-\def\tc@chapbefore{18pt plus 4pt minus 4pt}
-\def\tc@chapafter{12pt plus 3pt minus 3pt}
-\def\tc@secbefore{12pt plus 3pt minus 3pt}
-\def\tc@secafter{8pt plus 2pt minus 2pt}
-
-\titleformat{\section}[hang]{\normalfont\selectfont\large}{\thesection}{.5em}{}
-\titlespacing{\section}{0pt}{\tc@secbefore}{\tc@secafter}
-\titleformat{\subsection}[hang]{\normalfont\sffamily\slshape\selectfont}{\thesubsection}{.5em}{}
-
-\titleformat{name=\section,numberless}[hang]{\normalfont\large\bfseries\scshape\selectfont\center}{}{0pt}{}
-\titlespacing{name=\section,numberless}{0pt}{\tc@secbefore}{\tc@secafter}
-
-
-
-\reversemarginpar
-
-
-\NewDocumentCommand{\dcAuthor}{m}{\def\dc@author{#1}}
-\NewDocumentCommand{\dcDate}{m}{\def\dc@date{#1}}
-\NewDocumentCommand{\dcTitle}{m}{\def\dc@title{#1}}
-
-\NewDocumentCommand\dcMakeTitle{}{\par
- \begingroup
- \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
- \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
- \long\def\@makefntext##1{\parindent 1em\noindent
- \hb@xt@1.8em{%
- \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
- \if@twocolumn
- \ifnum \col@number=\@ne
- \dc@maketitle
- \else
- \twocolumn[\dc@maketitle]%
- \fi
- \else
- \newpage
- \global\@topnum\z@ % Prevents figures from going at top of page.
- \dc@maketitle
- \fi
- \thispagestyle{plain}\@thanks
- \endgroup
-}
-\def\dc@maketitle{%
- \newpage
- \null
- \vskip 2em%
- \begin{center}%
- \let \footnote \thanks
- {\LARGE \dc@title \par}%
- \vskip 1.5em%
- {\large
- \lineskip .5em%
- \begin{tabular}[t]{c}%
- \dc@author
- \end{tabular}\par}%
- \vskip 1em%
- {\large \dc@date}%
- \end{center}%
- \par
- \vskip 1.5em}
-
-\NewDocumentEnvironment{dcAbstract}{}{%
- \if@twocolumn
- \section*{\abstractname}%
- \else
- \small
- \begin{center}%
- {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
- \end{center}%
- \quotation
- \fi}{\if@twocolumn\else\endquotation\fi}
-
-
-
-\def\convertto#1#2{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1}
-
-\NewDocumentCommand{\bigtab}{}{
-\begin{center}\begin{tabular}
- {>{\def\colunit{pt}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{mm}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{cm}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{ex}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{em}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{bp}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{dd}}l<{\convertto{\rowunit}{1\colunit}}
- >{\def\colunit{pc}}l<{\convertto{\rowunit}{1\colunit}}
-% >{\def\colunit{in}}l<{\convertto{\rowunit}{1\colunit}}
- >{\bfseries}l}
-\multicolumn{1}{l}{\bfseries 1pt} & \multicolumn{1}{l}{\bfseries 1mm} & \multicolumn{1}{l}{\bfseries 1cm} & \multicolumn{1}{l}{\bfseries 1ex} & \multicolumn{1}{l}{\bfseries 1em} & \multicolumn{1}{l}{\bfseries 1bp} & \multicolumn{1}{l}{\bfseries 1dd} & \multicolumn{1}{l}{\bfseries 1pc} & \\%\multicolumn{1}{l}{\bfseries 1in} & \\
-\gdef\rowunit{pt} & & & & & & & & \rowunit\\
-\gdef\rowunit{mm} & & & & & & & & \rowunit\\
-\gdef\rowunit{cm} & & & & & & & & \rowunit\\
-\gdef\rowunit{ex} & & & & & & & & \rowunit\\
-\gdef\rowunit{em} & & & & & & & & \rowunit\\
-\gdef\rowunit{bp} & & & & & & & & \rowunit\\
-\gdef\rowunit{dd} & & & & & & & & \rowunit\\
-\gdef\rowunit{pc} & & & & & & & & \rowunit\\
-%\gdef\rowunit{in} & & & & & & & & & \rowunit\\
-\end{tabular}\end{center}
-}
-
-
-
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0beta (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% democodelisting.sty set of macros to typeset and demonstrate LaTeX code
+%% democodetools.sty set of macros to document LaTeX packages
+%%
+%% README.md quick introduction
+%%
+%% democodetools.tex LaTeX documentation
+%% democodetools.pdf documentation in PDF form
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{democodetools}
+\def\tc@tmp@altpackname{democodetools}
+\def\tc@tmp@packdesc{Demo Code Tools}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0beta}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\RequirePackage{democodelisting}
+
+
+
+
+\setdclisting{settexcs2={Macro,Arg,xarg,oarg,marg,parg,Key,Keylst,DescribeMacro,DescribeKey,DescribeValue,DescribeOption,DescribeArg},setkeywd2={Envs,Macros,Args,Syntax,Keys,Values,Options}}
+
+
+\def\dc@keyvaluestr{Value}
+\def\dc@keyvaluemeanstr{Meaning}
+\def\dc@keydefaultstr{Default}
+\def\dc@csfontsize{\small}
+
+
+\NewDocumentCommand{\MarginNote}{+m}{\marginpar{{\scriptsize\hfill#1}}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%
+\DeclareDocumentCommand{\Meta}{m}{\ensuremath\langle#1\ensuremath\rangle}
+
+%%%
+%%% In text arg
+%%%
+\gdef\dc@ArgHack{}
+\NewDocumentCommand{\dc@arg}{st+O{Code}O{}mmm}{{\MetaFmt[#3]{\dc@ArgHack#5\csname #4\endcsname{{\IfBooleanT{#1}{\bfseries}\IfBooleanTF{#2}{#6}{\detokenize{#6}}}}#7}}\gdef\dc@ArgHack{\,}}
+\NewDocumentCommand{\oarg}{O{Meta}m}{\dc@arg+[Oarg][#1]{[}{#2}{]}}
+\NewDocumentCommand{\marg}{O{Meta}m}{\dc@arg+[Marg][#1]{\{}{#2}{\}}}
+\NewDocumentCommand{\parg}{O{Meta}m}{\dc@arg+[Parg][#1]{(}{#2}{)}}
+\NewDocumentCommand{\xarg}{O{Meta}m}{\dc@arg+[Xarg][#1]{<}{#2}{>}}
+\NewDocumentCommand{\Arg}{m}{\def\dc@ArgHack{}\dc@arg+[Marg][Meta]{}{#1}{}}
+
+\NewDocumentCommand{\dc@x}{O{}O{}m}{#1\dc@arg+[#2][]{}{#3}{}}% single mandatory value => \dc@arg
+\NewDocumentCommand{\dc@xhack}{O{}m}{\dc@x[\dc@XHack][#1]{#2}\def\dc@XHack{\,, }}% single mandatory value => \dc@arg
+\NewDocumentCommand{\dc@xlst}{O{}O{}m}{\gdef\dc@ArgHack{}\def\dc@XHack{}\forcsvlist{\dc@xhack[#2]}{#3}\ifblank{#1}{}{\hfill\dc@keydefaultstr:~{\bfseries\Key{#1}}}}%single KEY... LIST of ValueS... default Value (if any)
+
+
+\NewDocumentCommand{\Key}{O{}m}{\dc@x[#1][Value]{#2}}
+\NewDocumentCommand{\Keylst}{O{}m}{\dc@xlst[#1][Value]{#2}}
+
+\NewDocumentCommand{\KeyUse}{mm}{\Key{#1}\space $=$ \Meta{#2}}
+
+
+\NewDocumentCommand{\Env}{O{}m}{\dc@x[#1][Env]{#2}}
+\NewDocumentCommand{\Envlst}{O{}m}{\dc@xlst[#1][Env]{#2}}
+
+\NewDocumentCommand{\Pack}{O{}m}{\dc@x[#1][Pack]{#2}}
+\NewDocumentCommand{\Packlst}{O{}m}{\dc@xlst[#1][Pack]{#2}}
+
+\NewDocumentCommand{\Value}{O{}m}{\dc@x[#1][Value]{#2}}
+\NewDocumentCommand{\Valuelst}{O{}m}{\dc@xlst[#1][Value]{#2}}
+
+\NewDocumentCommand{\Option}{O{}m}{\dc@x[#1][Option]{#2}}
+\NewDocumentCommand{\Optionlst}{O{}m}{\dc@xlst[#1][Option]{#2}}
+
+
+%%%
+%%% In text macro
+%%%
+\NewDocumentCommand{\Macro}{t!mD<>{}O{}m}{{\MetaFmt[Code]{\expandafter\zap@space\detokenize{#2#3} \@empty}}\IfBooleanTF{#1}{#5}{\gdef\dc@ArgHack{\,}\forcsvlist{\oarg}{#4}\forcsvlist{\marg}{#5}}}%
+
+
+\NewDocumentCommand{\dc@Describe}{st+O{Key}O{Meta}m}{%
+ \IfBooleanTF{#2}%
+ {\item[{\dc@arg+[#3][#4]{}{#5}{}}]}%
+ {\item[]~\hspace{-0.6675em}\IfBooleanTF{#1}%
+ {\dc@margincode*+[#3]{{\dc@arg+[#3][#4]{}{#5}{}}}}%
+ {\dc@margincode+[#3]{{\dc@arg+[#3][#4]{}{#5}{}}}}}%
+}%
+
+\NewDocumentCommand{\DescribeArg}{st+O{Key}m}{%
+ \IfBooleanTF{#2}%
+ {\dc@Describe+[#3][Meta]{#4}}%
+ {\IfBooleanTF{#1}%
+ {\dc@Describe*[#3][Meta]{#4}}%
+ {\dc@Describe[#3][Meta]{#4}}}%
+}%
+\NewDocumentCommand{\DescribeKey}{st+O{Key}m}{%
+ \IfBooleanTF{#2}%
+ {\dc@Describe+[#3][]{#4}}%
+ {\IfBooleanTF{#1}%
+ {\dc@Describe*[#3][]{#4}}%
+ {\dc@Describe[#3][]{#4}}}%
+}%
+\let\DescribeValue\DescribeKey
+\let\DescribeOption\DescribeKey
+\let\DescribePackage\DescribeKey
+
+\NewDocumentCommand{\DescribeMacro}{st!t+mO{}m}{%
+ \IfBooleanTF{#3}%
+ {\item[{\Macro{#4}{}}]}%
+ {\item[]~\hspace{-0.6675em}\IfBooleanTF{#1}%
+ {\dc@margincode*{#4}}%
+ {\dc@margincode{#4}}}\IfBooleanTF{#2}{{\Macro!{}[]{#6}}}{{\Macro{}[#5]{#6}}}%
+}%
+
+\SetEnumitemKey{marginlst}{leftmargin=0mm,labelindent=0mm,listparindent=0mm,labelwidth=0mm,labelsep=0mm}
+\SetEnumitemKey{intextlst}{leftmargin=7.5mm,labelindent=0mm,listparindent=0mm,labelwidth=20mm,labelsep=2.5mm}
+
+\NewDocumentCommand{\dc@margincode}{st+O{Code}m}{\ifvmode\leavevmode\else\fi{\marginpar{\raggedleft\MetaFmt[#3]{\IfBooleanT{#1}{\bfseries}\vspace{-1.35ex}\IfBooleanTF{#2}{#4}{\expandafter\zap@space\detokenize{#4} \@empty}\vspace{0.3ex}}}}}
+
+\NewDocumentEnvironment{Macros}{m}{%
+ \ifvmode\vspace{1ex}\leavevmode\else\fi{\marginpar{\vspace*{-1.755ex}~\color{gray}\hrule\vspace{0.3ex}}\forcsvlist\dc@margincode{#1}\marginpar{\vspace{-1.1ex}~\color{gray}\hrule}}%
+ }{}
+ \NewDocumentEnvironment{Envs}{m}{\begin{Macros}{#1}}{\end{Macros}}%
+
+\NewDocumentEnvironment{Syntax}{}{\begingroup\setlength{\parindent}{0pt}\obeylines\hspace{-0.382em}\dc@csfontsize}{\endgroup}
+
+\NewDocumentEnvironment{Args}{}{\begin{description}[nosep,marginlst]\vspace{0.5ex}}{\end{description}}
+\NewDocumentEnvironment{Args+}{}{\begin{description}[nosep,intextlst]\vspace{0.5ex}}{\end{description}}
+\NewDocumentEnvironment{Keys}{}{\begin{Args}}{\end{Args}}
+\NewDocumentEnvironment{Keys+}{}{\begin{Args+}}{\end{Args+}}
+\NewDocumentEnvironment{Values}{}{\begin{Args}}{\end{Args}}
+\NewDocumentEnvironment{Values+}{}{\begin{Args+}}{\end{Args+}}
+\NewDocumentEnvironment{Options}{}{\begin{Args}}{\end{Args}}
+\NewDocumentEnvironment{Options+}{}{\begin{Args+}}{\end{Args+}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%
+
+
+\colorlet{dc@ColorCode}{blue!40!black}
+\colorlet{dc@ColorMacro}{blue!40!black}
+\colorlet{dc@ColorMarg}{gray!60!black}
+\colorlet{dc@ColorOarg}{gray!90!black}
+\colorlet{dc@ColorParg}{gray!60!black}
+\colorlet{dc@ColorXarg}{gray!60!black}
+\colorlet{dc@ColorDefaultVal}{blue!60!black}
+\colorlet{dc@ColorDefault}{blue!60!black}
+\colorlet{dc@ColorKeys}{teal!40!black}
+\colorlet{dc@ColorValue}{teal!40!black}
+\colorlet{dc@ColorKey}{teal!40!black}
+\colorlet{dc@ColorOptions}{green!30!black}
+\colorlet{dc@ColorOthers}{green!30!black}
+\colorlet{dc@ColorEnv}{green!30!black}
+\colorlet{dc@ColorPack}{green!30!black}
+
+
+
+\def\dc@metafont{\dc@csfontsize\ttfamily}
+
+\DeclareKeys[MetaFormat]{
+ Oarg.usage = general,
+ Oarg.code = {\def\dc@Metafmt{\color{dc@ColorOarg}\dc@metafont}},
+ %
+ Marg.usage = general,
+ Marg.code = {\def\dc@Metafmt{\color{dc@ColorMarg}\dc@metafont}},
+ %
+ Parg.usage = general,
+ Parg.code = {\def\dc@Metafmt{\color{dc@ColorParg}\dc@metafont}},
+ %
+ Xarg.usage = general,
+ Xarg.code = {\def\dc@Metafmt{\color{dc@ColorXarg}\dc@metafont}},
+ %
+ Macro.usage = general,
+ Macro.code = {\def\dc@Metafmt{\color{dc@ColorCode}\dc@metafont}},
+ %
+ Code.usage = general,
+ Code.code = {\def\dc@Metafmt{\color{dc@ColorCode}\dc@metafont}},
+ %
+ Key.usage = general,
+ Key.code = {\def\dc@Metafmt{\color{dc@ColorKey}\dc@metafont\slshape}},
+ %
+ KeyVal.usage = general,
+ KeyVal.code = {\def\dc@Metafmt{\color{dc@ColorKeyVal}\dc@metafont\slshape}},
+ %
+ Option.usage = general,
+ Option.code = {\def\dc@Metafmt{\color{dc@ColorOptions}\dc@metafont}},
+ %
+ Default.usage = general,
+ Default.code = {\def\dc@Metafmt{\color{dc@ColorDefault}\dc@metafont}},
+ %
+ Value.usage = general,
+ Value.code = {\def\dc@Metafmt{\color{dc@ColorValue}\dc@metafont\slshape}},
+ %
+ Env.usage = general,
+ Env.code = {\def\dc@Metafmt{\color{dc@ColorEnv}\dc@metafont\slshape}},
+ %
+ Pack.usage = general,
+ Pack.code = {\def\dc@Metafmt{\color{dc@ColorPack}\dc@metafont\slshape}},
+ }
+\DeclareUnknownKeyHandler[MetaFormat]{\def\dc@Metafmt{\color{dc@ColorOthers}\ttfamily}}
+
+\NewDocumentCommand{\MetaFmt}{sO{}}{\ifblank{#2}{}{\dc@@MetaFmt{#2}}\IfBooleanT{#1}{\bfseries}\dc@Metafmt}
+\NewDocumentCommand{\dc@@MetaFmt}{m}{\SetKeys[MetaFormat]{#1}}
+\dc@@MetaFmt{Code}
+
+
+\titleformat{\chapter}{\sffamily\bfseries\selectfont\large}{\thechapter}{2ex}{}
+\titleformat{name=\chapter,numberless}{\sffamily\bfseries\selectfont\large\center}{}{0pt}{}
+\titlespacing{\chapter}{0pt}{\tc@chapbefore}{\tc@chapafter}
+
+
+\def\tc@chapbefore{18pt plus 4pt minus 4pt}
+\def\tc@chapafter{12pt plus 3pt minus 3pt}
+\def\tc@secbefore{12pt plus 3pt minus 3pt}
+\def\tc@secafter{8pt plus 2pt minus 2pt}
+
+\titleformat{\section}[hang]{\normalfont\selectfont\large}{\thesection}{.5em}{}
+\titlespacing{\section}{0pt}{\tc@secbefore}{\tc@secafter}
+\titleformat{\subsection}[hang]{\normalfont\sffamily\slshape\selectfont}{\thesubsection}{.5em}{}
+
+\titleformat{name=\section,numberless}[hang]{\normalfont\large\bfseries\scshape\selectfont\center}{}{0pt}{}
+\titlespacing{name=\section,numberless}{0pt}{\tc@secbefore}{\tc@secafter}
+
+
+
+\reversemarginpar
+
+
+\NewDocumentCommand{\dcAuthor}{m}{\def\dc@author{#1}}
+\NewDocumentCommand{\dcDate}{m}{\def\dc@date{#1}}
+\NewDocumentCommand{\dcTitle}{m}{\def\dc@title{#1}}
+
+\NewDocumentCommand\dcMakeTitle{}{\par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{%
+ \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \dc@maketitle
+ \else
+ \twocolumn[\dc@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \dc@maketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+ \endgroup
+}
+\def\dc@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let \footnote \thanks
+ {\LARGE \dc@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \dc@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \dc@date}%
+ \end{center}%
+ \par
+ \vskip 1.5em}
+
+\NewDocumentEnvironment{dcAbstract}{}{%
+ \if@twocolumn
+ \section*{\abstractname}%
+ \else
+ \small
+ \begin{center}%
+ {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
+ \end{center}%
+ \quotation
+ \fi}{\if@twocolumn\else\endquotation\fi}
+
+
+
+\def\convertto#1#2{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1}
+
+\NewDocumentCommand{\bigtab}{}{
+\begin{center}\begin{tabular}
+ {>{\def\colunit{pt}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{mm}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{cm}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{ex}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{em}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{bp}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{dd}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\def\colunit{pc}}l<{\convertto{\rowunit}{1\colunit}}
+% >{\def\colunit{in}}l<{\convertto{\rowunit}{1\colunit}}
+ >{\bfseries}l}
+\multicolumn{1}{l}{\bfseries 1pt} & \multicolumn{1}{l}{\bfseries 1mm} & \multicolumn{1}{l}{\bfseries 1cm} & \multicolumn{1}{l}{\bfseries 1ex} & \multicolumn{1}{l}{\bfseries 1em} & \multicolumn{1}{l}{\bfseries 1bp} & \multicolumn{1}{l}{\bfseries 1dd} & \multicolumn{1}{l}{\bfseries 1pc} & \\%\multicolumn{1}{l}{\bfseries 1in} & \\
+\gdef\rowunit{pt} & & & & & & & & \rowunit\\
+\gdef\rowunit{mm} & & & & & & & & \rowunit\\
+\gdef\rowunit{cm} & & & & & & & & \rowunit\\
+\gdef\rowunit{ex} & & & & & & & & \rowunit\\
+\gdef\rowunit{em} & & & & & & & & \rowunit\\
+\gdef\rowunit{bp} & & & & & & & & \rowunit\\
+\gdef\rowunit{dd} & & & & & & & & \rowunit\\
+\gdef\rowunit{pc} & & & & & & & & \rowunit\\
+%\gdef\rowunit{in} & & & & & & & & & \rowunit\\
+\end{tabular}\end{center}
+}
+
+
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/llncs/README.md b/macros/latex/contrib/llncs/README.md
index de41045d18..c621504692 100644
--- a/macros/latex/contrib/llncs/README.md
+++ b/macros/latex/contrib/llncs/README.md
@@ -1,6 +1,6 @@
# llncs
-_2022/01/12 v2.21_
+_2022/09/05 v2.22_
Copyright (c) 1996-2022 Springer
diff --git a/macros/latex/contrib/llncs/history.txt b/macros/latex/contrib/llncs/history.txt
index 79a199ccd4..0e51fd8218 100644
--- a/macros/latex/contrib/llncs/history.txt
+++ b/macros/latex/contrib/llncs/history.txt
@@ -142,3 +142,7 @@ Version history for the LLNCS LaTeX2e class
Alexander Malkis, Technical University of Munich;
use detokenized argument in the definition of \doi
to allow underscores in DOIs
+
+05.09.22 llncs.cls 2.22 robust redefinition of \vec (bold italics), bug
+ reported by Alexander Malkis, TUM
+
diff --git a/macros/latex/contrib/llncs/llncs.cls b/macros/latex/contrib/llncs/llncs.cls
index 075d73327c..de80a15ad9 100644
--- a/macros/latex/contrib/llncs/llncs.cls
+++ b/macros/latex/contrib/llncs/llncs.cls
@@ -1,4 +1,4 @@
-% LLNCS DOCUMENT CLASS -- version 2.21 (12-Jan-2022)
+% LLNCS DOCUMENT CLASS -- version 2.22 (05-Sep-2022)
% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
%
%%
@@ -19,7 +19,7 @@
%% Right brace \} Tilde \~}
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{llncs}[2022/01/12 v2.21
+\ProvidesClass{llncs}[2022/09/05 v2.22
^^J LaTeX document class for Lecture Notes in Computer Science]
% Options
\let\if@envcntreset\iffalse
@@ -374,7 +374,7 @@ You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
\let\footnotesize\small
\if@custvec
-\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
+\DeclareRobustCommand\vec[1]{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
{\mbox{\boldmath$\textstyle#1$}}
{\mbox{\boldmath$\scriptstyle#1$}}
{\mbox{\boldmath$\scriptscriptstyle#1$}}}
@@ -890,7 +890,7 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
\par\addvspace\baselineskip
\noindent\keywordname\enspace\ignorespaces#1}%
\@ifpackageloaded{hyperref}{%
-\def\doi#1{\href{https://doi.org/\detokenize{#1}}{\url{https://doi.org/\detokenize{#1}}}}}{
+\def\doi#1{\href{https://doi.org/\detokenize{#1}}{\url{https://doi.org/#1}}}}{
\def\doi#1{https://doi.org/\detokenize{#1}}}
}
\def\homedir{\~{ }}
diff --git a/macros/latex/contrib/llncs/llncsdoc.pdf b/macros/latex/contrib/llncs/llncsdoc.pdf
index f0983cf795..e2f638a5fd 100644
--- a/macros/latex/contrib/llncs/llncsdoc.pdf
+++ b/macros/latex/contrib/llncs/llncsdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/llncs/llncsdoc.tex b/macros/latex/contrib/llncs/llncsdoc.tex
index b8c8f38540..0dd0ec5599 100644
--- a/macros/latex/contrib/llncs/llncsdoc.tex
+++ b/macros/latex/contrib/llncs/llncsdoc.tex
@@ -1,6 +1,6 @@
% This is LLNCSDOC.TEX the documentation file of
% the LaTeX2e class from Springer-Verlag
-% for Lecture Notes in Computer Science, version 2.21
+% for Lecture Notes in Computer Science, version 2.22
\documentclass{llncs}
\usepackage{llncsdoc}
\usepackage{graphicx}
@@ -12,7 +12,7 @@
\title{Instructions for Using Springer's \texttt{llncs} Class for
Computer Science Proceedings Papers}
%
-\subtitle{\texttt{llncs}, Version 2.21, Jan 12, 2022}
+\subtitle{\texttt{llncs}, Version 2.22, Sep 05, 2022}
%
\author{}
\institute{}
diff --git a/macros/latex/contrib/ufrgscca/README.txt b/macros/latex/contrib/ufrgscca/README.txt
new file mode 100644
index 0000000000..88495bcbab
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/README.txt
@@ -0,0 +1,67 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md (this file) quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+
+
+This bundled is aimed at producing undergraduate students
+final work/report (tcc) at UFRGS/EE closely following ABNT rules
+(ABNT stands for Brazilian Association of Technical Norms).
+
+For more details, see the documentation, ufrgscca.pdf (source code: ufrgscca.tex)
+
+As of September 2022, the CTAN version of it is 1.0 (first CTAN submission),
+except the -ppc and -curr files which shall be
+considered 1.0beta (to keep the same 'overall' version number).
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
new file mode 100644
index 0000000000..631f4faa35
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
@@ -0,0 +1,6689 @@
+%PDF-1.5
+%
+4 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+7 0 obj
+(\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
+endobj
+8 0 obj
+<< /S /GoTo /D (subsection.2) >>
+endobj
+11 0 obj
+(\376\377\000C\000u\000r\000r\000e\000n\000t\000\040\000V\000e\000r\000s\000i\000o\000n)
+endobj
+12 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+15 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000\040\000C\000l\000a\000s\000s)
+endobj
+16 0 obj
+<< /S /GoTo /D (subsection.4) >>
+endobj
+19 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+20 0 obj
+<< /S /GoTo /D (subsection.5) >>
+endobj
+23 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000e\000c\000l\000a\000r\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+24 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+27 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000a\000b\000n\000t\000\040\000P\000a\000c\000k\000a\000g\000e)
+endobj
+28 0 obj
+<< /S /GoTo /D (subsection.7) >>
+endobj
+31 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+32 0 obj
+<< /S /GoTo /D (subsection.16) >>
+endobj
+35 0 obj
+(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
+endobj
+36 0 obj
+<< /S /GoTo /D (subsection.25) >>
+endobj
+39 0 obj
+(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000N\000e\000w\000\040\000C\000o\000l\000u\000m\000n\000s)
+endobj
+40 0 obj
+<< /S /GoTo /D (subsection.26) >>
+endobj
+43 0 obj
+(\376\377\000e\000n\000u\000m\000i\000t\000e\000m\000\040\000E\000x\000t\000r\000a\000\040\000K\000e\000y\000s)
+endobj
+44 0 obj
+<< /S /GoTo /D (section.125) >>
+endobj
+47 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000r\000e\000\040\000P\000a\000c\000k\000a\000g\000e)
+endobj
+48 0 obj
+<< /S /GoTo /D (subsection.126) >>
+endobj
+51 0 obj
+(\376\377\000C\000o\000r\000e\000\040\000F\000o\000r\000m\000s\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+52 0 obj
+<< /S /GoTo /D (subsection.127) >>
+endobj
+55 0 obj
+(\376\377\000C\000o\000r\000e\000\040\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+56 0 obj
+<< /S /GoTo /D (subsection.128) >>
+endobj
+59 0 obj
+(\376\377\000C\000o\000r\000e\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+60 0 obj
+<< /S /GoTo /D (section.129) >>
+endobj
+63 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000v\000e\000r\000\040\000P\000a\000c\000k\000a\000g\000e)
+endobj
+64 0 obj
+<< /S /GoTo /D (subsection.130) >>
+endobj
+67 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+68 0 obj
+<< /S /GoTo /D (subsection.131) >>
+endobj
+71 0 obj
+(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+72 0 obj
+<< /S /GoTo /D (section.132) >>
+endobj
+75 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000f\000o\000r\000m\000s\000\040\000P\000a\000c\000k\000a\000g\000e)
+endobj
+76 0 obj
+<< /S /GoTo /D (subsection.133) >>
+endobj
+79 0 obj
+(\376\377\000F\000o\000r\000m\000s\000\040\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+80 0 obj
+<< /S /GoTo /D (section.134) >>
+endobj
+83 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000l\000i\000s\000t\000s\000\040\000P\000a\000c\000k\000a\000g\000e)
+endobj
+84 0 obj
+<< /S /GoTo /D (subsection.135) >>
+endobj
+87 0 obj
+(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t)
+endobj
+88 0 obj
+<< /S /GoTo /D (subsection.149) >>
+endobj
+91 0 obj
+(\376\377\000D\000e\000c\000l\000a\000r\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+92 0 obj
+<< /S /GoTo /D (section.158) >>
+endobj
+95 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000g\000e\000n\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+96 0 obj
+<< /S /GoTo /D (subsection.159) >>
+endobj
+99 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+100 0 obj
+<< /S /GoTo /D (subsection.160) >>
+endobj
+103 0 obj
+(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+104 0 obj
+<< /S /GoTo /D (section.169) >>
+endobj
+107 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000o\000o\000r\000d\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+108 0 obj
+<< /S /GoTo /D (subsection.170) >>
+endobj
+111 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000/\000R\000e\000p\000o\000r\000t\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+112 0 obj
+<< /S /GoTo /D (subsection.171) >>
+endobj
+115 0 obj
+(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+116 0 obj
+<< /S /GoTo /D (subsubsection.177) >>
+endobj
+119 0 obj
+(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I)
+endobj
+120 0 obj
+<< /S /GoTo /D (subsubsection.192) >>
+endobj
+123 0 obj
+(\376\377\000G\000l\000o\000b\000a\000l\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000I\000I)
+endobj
+124 0 obj
+<< /S /GoTo /D (subsubsection.213) >>
+endobj
+127 0 obj
+(\376\377\000S\000t\000u\000d\000e\000n\000t\000\040\000S\000p\000e\000c\000i\000f\000i\000c\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+128 0 obj
+<< /S /GoTo /D (section.226) >>
+endobj
+131 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000p\000p\000c\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+132 0 obj
+<< /S /GoTo /D (subsection.227) >>
+endobj
+135 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000O\000p\000t\000i\000o\000n\000s)
+endobj
+136 0 obj
+<< /S /GoTo /D (subsection.228) >>
+endobj
+139 0 obj
+(\376\377\000D\000e\000f\000i\000n\000e\000d\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+140 0 obj
+<< /S /GoTo /D (subsection.231) >>
+endobj
+143 0 obj
+(\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
+endobj
+144 0 obj
+<< /S /GoTo /D (section.232) >>
+endobj
+147 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000b\000e\000t\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+148 0 obj
+<< /S /GoTo /D (subsection.233) >>
+endobj
+151 0 obj
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000C\000r\000e\000a\000t\000i\000n\000g\000\040\000t\000h\000e\000\040\000m\000a\000n\000y\000\040\000l\000i\000s\000t\000s)
+endobj
+152 0 obj
+<< /S /GoTo /D (subsection.234) >>
+endobj
+155 0 obj
+(\376\377\000L\000i\000s\000t\000\040\000P\000r\000o\000c\000e\000s\000s\000i\000n\000g\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+156 0 obj
+<< /S /GoTo /D (section.235) >>
+endobj
+159 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000t\000a\000b\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+160 0 obj
+<< /S /GoTo /D (subsection.236) >>
+endobj
+163 0 obj
+(\376\377\000T\000a\000b\000u\000l\000a\000r\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d\000s)
+endobj
+164 0 obj
+<< /S /GoTo /D (section.237) >>
+endobj
+167 0 obj
+(\376\377\000u\000f\000r\000g\000s\000c\000c\000a\000-\000c\000u\000r\000r\000-\000g\000r\000a\000p\000h\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000\050\000a\000l\000p\000h\000a\000\051\000\040\000\050\000e\000x\000t\000e\000n\000d\000e\000d\000\040\000d\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\051)
+endobj
+168 0 obj
+<< /S /GoTo /D (subsection.238) >>
+endobj
+171 0 obj
+(\376\377\000G\000r\000a\000p\000h\000\040\000P\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000C\000o\000m\000m\000a\000n\000d)
+endobj
+172 0 obj
+<< /S /GoTo /D [173 0 R /Fit] >>
+endobj
+234 0 obj
+<<
+/Length 4342
+/Filter /FlateDecode
+>>
+stream
+x]K6Wȩ2h8+٪l6 k*ɫGl_,JlXD(ţ"׷<W%E^ײbh\E wMU!q^=vwV7\d&[oV5p#l6}uo~ Q]-eo6~g*b@ZJ][EUO3^gC3wZ4N6L*]^[*/;iovݟ{ߴ";l6՟,t q\^oOÍWR7yy1=] ݝ/˼ۆWa>a77$`U-XT.:nu6{u6sŰ<\.N߷3mvw^ovv|?zjͥ.;wftW~-T[mh-կKKmE*uYږ3~r?HY zTzx3},xz=K˵A=o{WNo(zݭZm0o6.x2/>`=t]ê΋]ٿ֣Qُ{A7 nj<oo>W~v#읝
+MجXE7aY렵cE'Щ`K) ,N#V{j4߆>1pShHô3rjh
+c|d`0Ih #@
+10#1:4kiɁU/pU.U,#t8&!MuU<#v$::*BY1%)D5$Cc0T7v;NO\HmȎ7 偙>61в(=Ay2w2&c2ոRG5ِ9wZtEdLdtYTӘi<YjM&7o@դOd,㽆ݦ*燍!ȟ?V6]iӔ%3R[u \K.ɺ5/G>vh ҬAt^
+%`Iz[ƵdP/sțz3FgL-(l"FȆ/Ɒ\ 1y=dhbֶA4y A49
+pE"˂iAġ
+/vz
+pB#12/S̙r;*ɘq~k\U7l5Co Q/~Ey͈!/.t]\>w1낐4[h.6\"8 LqAګA4Wc. E
+
+Fg&6274!E! aN
+N,N
+RN9Cڥ YHb$&g( gAPkzpOpU^bwX3<p݋xX!ʀ`9<^$",yg}D#ҺFY!)Km167"|PfIV4NJ+)D EJL<Ŏf؈f6O9=qmlof`-l
+nHSyuTOdFUfORmdLƿ*ɕ|I␵,("q9]v]R؅@^.䂐® k.^ ‐A.EV}rAH!!Yຮt.) > VuAHEahꂐ: B~m
+
+vgFS~w
+N,N
+RNwNN!!N3NbFNXNbkN"~NZC8i9⤕-PAu턦å
+&@LdY]ʮыx`!u)/ n䜄Tv=b ~zdj-!\lWvkmk5q$(ǧD%)1M!y#I!a
+SB*Z4+UֵdL/$o ŋM&c2&gbc&!*WU鱉dL]r0XTiq(۠¶@?k?|uSx&V9 EO"BmAʰS\Ν"ԗ'N=E ))O!H~JS L!ȡ)>|>A`HcS,L3 jJSOM!v0S0sB9a68\)"}9Ƀ5Ɗ`Ɛ u{DY(ljXȞ֌5R[m0\_t,N%9\fyg9̳PDXḍ-,$XYXeF1Fق]/$^+1;5Tr3XbNpG\+jE>DrXd \rX.d8kƩ7E
+endstream
+endobj
+173 0 obj
+<<
+/Type /Page
+/Contents 234 0 R
+/Resources 233 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+/Annots [ 175 0 R 177 0 R 179 0 R 181 0 R 183 0 R 185 0 R 187 0 R 189 0 R 191 0 R 193 0 R 195 0 R 197 0 R 199 0 R 201 0 R 203 0 R 205 0 R 207 0 R 209 0 R 211 0 R 213 0 R 215 0 R 217 0 R 219 0 R 221 0 R 223 0 R ]
+>>
+endobj
+175 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 415.489 269.145 431.927]
+/A << /S /GoTo /D (section.1) >>
+>>
+endobj
+177 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 401.043 286.768 417.481]
+/A << /S /GoTo /D (subsection.2) >>
+>>
+endobj
+179 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 383.763 277.148 400.201]
+/A << /S /GoTo /D (section.3) >>
+>>
+endobj
+181 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 369.317 276.173 385.755]
+/A << /S /GoTo /D (subsection.4) >>
+>>
+endobj
+183 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 354.871 341.693 371.309]
+/A << /S /GoTo /D (subsection.5) >>
+>>
+endobj
+185 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 337.591 318.8 354.029]
+/A << /S /GoTo /D (section.6) >>
+>>
+endobj
+187 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 323.145 290.836 339.583]
+/A << /S /GoTo /D (subsection.7) >>
+>>
+endobj
+189 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 308.699 275.879 325.137]
+/A << /S /GoTo /D (subsection.16) >>
+>>
+endobj
+191 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 294.253 320.262 310.691]
+/A << /S /GoTo /D (subsection.25) >>
+>>
+endobj
+193 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 279.807 317.496 296.246]
+/A << /S /GoTo /D (subsection.26) >>
+>>
+endobj
+195 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 262.527 316.523 278.965]
+/A << /S /GoTo /D (section.125) >>
+>>
+endobj
+197 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 248.081 325.694 264.519]
+/A << /S /GoTo /D (subsection.126) >>
+>>
+endobj
+199 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 233.635 328.15 250.073]
+/A << /S /GoTo /D (subsection.127) >>
+>>
+endobj
+201 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 219.189 332.948 235.628]
+/A << /S /GoTo /D (subsection.128) >>
+>>
+endobj
+203 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 201.909 322.051 218.347]
+/A << /S /GoTo /D (section.129) >>
+>>
+endobj
+205 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 187.463 290.836 203.901]
+/A << /S /GoTo /D (subsection.130) >>
+>>
+endobj
+207 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 173.017 305.145 189.456]
+/A << /S /GoTo /D (subsection.131) >>
+>>
+endobj
+209 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 155.737 324.067 172.175]
+/A << /S /GoTo /D (section.132) >>
+>>
+endobj
+211 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 141.291 340.489 157.729]
+/A << /S /GoTo /D (subsection.133) >>
+>>
+endobj
+213 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 124.01 316.003 140.449]
+/A << /S /GoTo /D (section.134) >>
+>>
+endobj
+215 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 109.565 271.261 126.003]
+/A << /S /GoTo /D (subsection.135) >>
+>>
+endobj
+217 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 95.119 310.997 111.557]
+/A << /S /GoTo /D (subsection.149) >>
+>>
+endobj
+219 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 77.838 452.119 94.277]
+/A << /S /GoTo /D (section.158) >>
+>>
+endobj
+221 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 63.392 290.836 79.831]
+/A << /S /GoTo /D (subsection.159) >>
+>>
+endobj
+223 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 48.947 305.145 65.385]
+/A << /S /GoTo /D (subsection.160) >>
+>>
+endobj
+235 0 obj
+<<
+/D [173 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+236 0 obj
+<<
+/D [173 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+233 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F34 237 0 R /F37 238 0 R /F59 239 0 R /F56 240 0 R /F63 241 0 R /F68 242 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+271 0 obj
+<<
+/Length 5427
+/Filter /FlateDecode
+>>
+stream
+x][㶱~_7s4q!H<deWNsN*'\3X#M(i/i\H$r3vG>@$!ɓo_W_~˄Ҭ.
+'TЬ,):emw߿__Q80OhrU
+F/M!4ѱxe ,q%y‖0Т
+$*_aێmλÃYRj h;}uq9fxҊug%=N/ˬ`\
+JP QڛY9!Aq?[<e}OSDf %6U8OMJSӿ J2S28&b,h#}
+&a ; T *2*Ir i껛˾S]{_=bMm֋95ȩt :+1xANotѓzGTVEj.2Y[B.`ʮ@,Cѝ 2PE޳3GBo]d(A"}.#)7̋PEz^4so.2ar7a͑<EFpCq"xJ< zKZ./"/w/!^.#hH:9A78o4%x#-"%jQ5BDŽ@ $H f";x)ˡ<L`}FKCiGX ܄{3ˈEm34@QASMt6^Zƭ;y‖0Т
+ڟnh: KyAJ*.o[3x:3GI݅uo!W\z:_lf85"BrkBXUU_Ù'O9wMHC;Iɹ۪D~o_p)^+L=[ug9v'寗~foF
+t|S*vm xj<}{:X!uYko|X8JLv/kd}QS~5aN<E_05ڃ |ÛW`OvzL!ԾѫP/g5{}[T]Or5/ƜL~w"IcY!k"O;KߜZ}(sV9?vfJf#5+Mi?O^h? ,.IP0P+ rxۇ=4IޛoVǶ۝f {͖n$`p|ki-q{:N^Mݷǝ}dtן1;9n3OJHz؆:Lt;oAC])
+Jd?Dب ĞeRՈ}2lW'ߛs2)̩Zs^%}FE&D] Ɩ|YI#]H$e^Y-=U>>6i{R:^(f~W_kmv;C;xh[o}:xZ23k7@Z{!Ѽ=4+bptIVg9=S;%^bOK)k;@e$
+3% O'
+^&Ϟ0PQ9=4/)wnrOb% oR&Jiϝ69nMtOpm]V੔?'Qɬ>^z~ޠzsqSe˅SΔWqg=ѵwio;z|Ӛ|Yg^2M0Y+ y:h9(\Yʼ g2.28Eb\Cﭜ]mN2^9!lKr
+qA2vk>s\is _r;|2ߍ/Zxgvzpᇣ}rwU~?6,w/!Aє#Z|?8" 5K. t뿟>u{}@g㆏ޮ~wk*jZ4sfΜBj)?wԵRl9(:6Ā l-1AQ>dS܉j&M`sb+P0Gs08Ǐizw V`c!^`M69fg卦.EagHu^E
+{3~6
+/pn|5`\\Bv·欒SOaIwz6deuԙsjpZ~شF?ŗwzv:亖N8Grjlfg
+R FR'UգHEpSP-F?2SjX0%Q0#
+r>Wv`\yH+q8VƆN<bx T[2SN+G2d;U^
+GG^ /pTK< \;_uf
+ t~g—dduؐ1r,}Y3# c Mښ>sq:*Ar`/`}}gSueYIM{ҿ4mΈ ?ÅgX.8bWrg4ty]ԋwtO=W7xCЇج;/<!{6^= SafH"=ҳh{n̨ЄKi,MFo\g,IC"%}!m [>R$$$, g;{@GwzIJTog{ []@S߸ս-RWIɕIpm2 QFj:ے6O8g ?&!nKQ) i
+1gI@* )V$A-ү0KBzysW5WQ?A u=ٲ@ Al$%jrj)ҮFDiU*.43 J* PlO]̞/6{v6A%vPX8+|`۝NRVC㔓?;PjYs{L6lA3edKwt蒨 JojrFnz<708=Lҕ*ҵkvP
+$muv9]އK*_Qݽm
+8]/Qˌ9G"O7cv.1(tc(C,ӜgoQe[`j2OO] |P-%j(>VV0te[Am͛`ֈ
+t>3mXJBTt͙3^N퐉1{`rfh ;B=)P/BOSj[e&kLe`|CaP k/Yyl:j+OۙbcRtmr ͘g)vs>§c1[v"C %dWij\Le`~2]k;sANeH
+endstream
+endobj
+270 0 obj
+<<
+/Type /Page
+/Contents 271 0 R
+/Resources 269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+/Annots [ 225 0 R 227 0 R 229 0 R 231 0 R 244 0 R 246 0 R 248 0 R 250 0 R 252 0 R 254 0 R 256 0 R 258 0 R 260 0 R 262 0 R 264 0 R 266 0 R 273 0 R 268 0 R ]
+>>
+endobj
+225 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 753.738 462.85 770.177]
+/A << /S /GoTo /D (section.169) >>
+>>
+endobj
+227 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 739.293 332.292 755.731]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+229 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 724.847 305.145 741.285]
+/A << /S /GoTo /D (subsection.171) >>
+>>
+endobj
+231 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 710.401 308.311 726.839]
+/A << /S /GoTo /D (subsubsection.177) >>
+>>
+endobj
+244 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 695.955 312.86 712.393]
+/A << /S /GoTo /D (subsubsection.192) >>
+>>
+endobj
+246 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 681.509 348.882 697.948]
+/A << /S /GoTo /D (subsubsection.213) >>
+>>
+endobj
+248 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 664.229 488.538 680.667]
+/A << /S /GoTo /D (section.226) >>
+>>
+endobj
+250 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 649.783 290.836 666.221]
+/A << /S /GoTo /D (subsection.227) >>
+>>
+endobj
+252 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 635.337 305.145 651.775]
+/A << /S /GoTo /D (subsection.228) >>
+>>
+endobj
+254 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 620.891 275.879 637.33]
+/A << /S /GoTo /D (subsection.231) >>
+>>
+endobj
+256 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 603.611 490.814 620.049]
+/A << /S /GoTo /D (section.232) >>
+>>
+endobj
+258 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 589.165 386.731 605.603]
+/A << /S /GoTo /D (subsection.233) >>
+>>
+endobj
+260 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 574.719 343.869 591.158]
+/A << /S /GoTo /D (subsection.234) >>
+>>
+endobj
+262 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 557.439 516.523 573.877]
+/A << /S /GoTo /D (section.235) >>
+>>
+endobj
+264 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 542.993 374.47 559.431]
+/A << /S /GoTo /D (subsection.236) >>
+>>
+endobj
+266 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 525.712 539.579 542.151]
+/A << /S /GoTo /D (section.237) >>
+>>
+endobj
+273 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 511.267 229.804 527.705]
+/A << /S /GoTo /D (section.237) >>
+>>
+endobj
+268 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.098 496.821 362.454 513.259]
+/A << /S /GoTo /D (subsection.238) >>
+>>
+endobj
+272 0 obj
+<<
+/D [270 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+5 0 obj
+<<
+/D [270 0 R /XYZ 141.732 485.862 null]
+>>
+endobj
+9 0 obj
+<<
+/D [270 0 R /XYZ 141.732 291.109 null]
+>>
+endobj
+13 0 obj
+<<
+/D [270 0 R /XYZ 141.732 184.409 null]
+>>
+endobj
+269 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F73 274 0 R /F63 241 0 R /F96 275 0 R /F62 276 0 R /F103 277 0 R /F106 278 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+281 0 obj
+<<
+/Length 3928
+/Filter /FlateDecode
+>>
+stream
+x[s~_36
+i(e0mNK RЕ> >|I0+) RX,ވ );zK-lV{%9Ց,ȓa/hӽVdirrAx DMˍ2vY(+T+R в >L65]y<`sPB~𜽾<zAN<JDku8UoIo̪r}{CFS{0_]t6)L:ޑPa^Nhr"KCźv%iR>ɸM_'NtfA(sz46~ kSF_uEw%DmNpY/+
+ ΓtpYS%2 /<U7kM56u|$kՌnk<x2HrIsAzQO ɠx< ޅo4<Xۀk!$Zq2p-z#p-d \[:Z\)Gg\QN(H db XZn8J&Dw2HnHi@"A;!Rf ߆Hؼ5
+H.$ X/
+zt7tѵܩT-]/.y|)GG8) T7 a'G:Hzp_AW)-tawM;4[
+k=z+ 5׭V{6&1` d ĤTs`پ7{kr0Ck\4&?*b -ڶ+p⋹>D߅<”=^TOPy
+88n\+@"J:*P*Fhfa -զP”ar6H!m[u#SWXh$y>qSsOR悆ytdx5~|ma$Xd"q508"1{C;\6[gDRMoL
+# {Tt&,IIaR'rp-m9 s1z[۶WbI*#]ǿ@n[6n@
+)6!H6z
+}6Z^i*[=IPTt֝e 2σTG,[㜜ΦAFS?R
+8 ]vydJ:tߚ]}gS. xqJ,vƾ +[؋
+A &%
+1D^(b}]xЧ2]HvJX;mzC9T5qd`39
+
+endstream
+endobj
+280 0 obj
+<<
+/Type /Page
+/Contents 281 0 R
+/Resources 279 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+>>
+endobj
+282 0 obj
+<<
+/D [280 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+17 0 obj
+<<
+/D [280 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+279 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F103 277 0 R /F37 238 0 R /F63 241 0 R /F81 283 0 R /F93 284 0 R /F62 276 0 R /F106 278 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+287 0 obj
+<<
+/Length 4096
+/Filter /FlateDecode
+>>
+stream
+x\Y~_7kQ/$i 5I@(#1+2Iyvf4lig}
+H9g1d|NL)M1d~
+KD@
+z,,*d
+c9jBI !}"3l}q RqYz>)/_vP2i *`% {` XT8tV*)H#PBqE>_c
+l_~Jd:^^Ak@"sDw]q"tCg}XwG~*{iYo:sqbsὨ>]CݡO-IeG(3&lOC}
+ Gߌ涬gh
+:B[:U(tr6v%0&s Il6 \L;<
+\GA|=(I &Sd*h“E# @o
+t0W >' BM!
+I5Vc]إqjJ3JcliR;snjڲM GKc8\IfTfN@+RfĮ~bL =/f7{{+t?+sYW7L@Ǻ%fb-Жվc
+8k=͍+4Hk4ش_%7'[,p:W +}AsܯzHSq 63PU&a&S~yn+ 5Q[6<C]̷U*V_czd ebH|VΖOǪŎ.JS=GဟW[4I'p\kɄ;K@&XB];Zne[K0z(ۼ->\Νw+ܢ[Cp)&frY>өBvQ)вڷձ~1Z^gb Q~j:n_FI9uҌW(&Rv/xi8^tr9 F}7V$DZcvC I/\>+4<U`
+0yĢīZb} 8ɶO xu~t%J6A*ZI2.V-*'˃S*D$5/!ɦqg1\U}s)jUGW
+nv
+f2
+Y{痬vFbjt:Hb)}Q}QB9 IC/(li5\D
+tn.32 *nz񼫐.핍i!5Ҍ[f 9;LV-N(ЬtІ׹{)v3V%qթU.8fM>ÍlaEs+aIfRW=v5ݦY?K"G5Jqyr
+6,5,L K*0! VTluj)ưO@3o0<9*J0z}ELnĸoD4Р[?̬z3+#%ǦrRHb̯nN8# p9~&d4͹IdṾ̋-'y-' KW0,Fb sIJjeĎO_٪M%ꨠ)WMp2XA`W#g񤴲ge fŸx["8v.
+aoXVr?//ɤnQ ,blV6Ȥۡ2whٌChIVrKEoYq -(Z8ָilHY0T-;*?Crb=?xx`P81
+endstream
+endobj
+286 0 obj
+<<
+/Type /Page
+/Contents 287 0 R
+/Resources 285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+>>
+endobj
+288 0 obj
+<<
+/D [286 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+21 0 obj
+<<
+/D [286 0 R /XYZ 141.732 744.789 null]
+>>
+endobj
+25 0 obj
+<<
+/D [286 0 R /XYZ 141.732 548.653 null]
+>>
+endobj
+29 0 obj
+<<
+/D [286 0 R /XYZ 141.732 395.631 null]
+>>
+endobj
+285 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F63 241 0 R /F103 277 0 R /F62 276 0 R /F93 284 0 R /F106 278 0 R /F133 289 0 R /F81 283 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+292 0 obj
+<<
+/Length 4046
+/Filter /FlateDecode
+>>
+stream
+xَ}B/j1Wɼ%""@$dUnel#̿dC;Cu*M.ɒdG~rPJ,ydZ/&TPJ$S&yI>}پ]pfrW˷LyuWZoW+qraԮ\w }7E^ݴ
+~r)s oV52K.4Rb$Y-^gDߧH&y0 saԎ0H[Ê001̋HeadC~Q.>Ou
+# wo e|Ar"$27N x޷͵?
+;Q9x' ~<P]+4L&{Ph ;?A= (' 4~U8z.j%jj)G}v6
+fL2+|獝LIfN2˜t4Eޅ&qf8 8o7]Óv" Ӓdl/𓜃:},`$Gֹ!lA|(#=̇RAΧ`<4oM ~>xc
+y|sFApB?" Y7{1CjCy x+FR&Vg>("\D`shتQntE$\|3<Q0vaמ#IěcQM
+
+~9'2Ҏ#Aa|(Rڎ)-K`9Ȅ!讉TJ-1Wx!uGtl½LnLD@l}-8!h{ZDhj2!ժheU)
+\CFJb+5I$$H~G:J#T܊$V9$RqD9X]V#Ja'F$0Z$҂R݃'@fx&uvϢ=6Cq:DG4x<"b X4ZD+h}2wZDqA6E!*1;cR*D&mt2?/4dvI(w$) цǤ>NrUc>JNQ}MqyRNua?*0İ0R8o|<$[wX2sG$o>2n]9-?+@h8W$+ 'Yi?wIlD '@Qy' GaTˏřAŃx<IvΟwu+FmuՑx
+3Og
+Y/i;%KRv/́>G!N
+ C7]8
+g:ܴv_i!܈)$HGq%q%G8NOXݟ_vgqWѾ\3 (wY9Uã14ևrJ8㤰 hGU J) ՠ1aWοJ%j`6#8o2{菞 J<'NJ[~?m>l0c|TMKPmt:+*<zV4jh<Ș:oQ]iskŴ 4ڊ KUOO<y3s<Uq{j䌎Non?5*)>N6ydȼ<;i(Q'3ҡuaxlu)mhW>c/m~z5«1sf!26 ̯ARp k}Ryw]\s/6onn[2a=]p0*8$`@G:j?h|".Np6&tWlsd/TU,d6D_ܧp^U]Se3P/d6s=R k:@`ҙr8]87d
+5Vgϋ:"
+ǐ rt2T`Nt5 WTx
+FK2PrCW$,R3 >a~R eL <ͭqpW{kҳ<(^$*}á1(3KukR:gis,Й|a'C o]{&'AZtW*Q0Im2J#L5f$M
+''_4ӓ3) 8ZϠ3q0ɘ$&(%Iqp$Eqcovڸl PFe} !2$Dv<:9>G +2z6'{`2qe.N$?W c~XT}k/̠(sSܕ_. vXyuw uN&1RM-fLAWFi$1p\Z]3"Fid c1uuv;
+endstream
+endobj
+291 0 obj
+<<
+/Type /Page
+/Contents 292 0 R
+/Resources 290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+>>
+endobj
+293 0 obj
+<<
+/D [291 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+294 0 obj
+<<
+/D [291 0 R /XYZ 141.732 486.042 null]
+>>
+endobj
+295 0 obj
+<<
+/D [291 0 R /XYZ 141.732 486.042 null]
+>>
+endobj
+296 0 obj
+<<
+/D [291 0 R /XYZ 141.732 474.087 null]
+>>
+endobj
+298 0 obj
+<<
+/D [291 0 R /XYZ 141.732 377.807 null]
+>>
+endobj
+299 0 obj
+<<
+/D [291 0 R /XYZ 141.732 381.393 null]
+>>
+endobj
+300 0 obj
+<<
+/D [291 0 R /XYZ 141.732 248.813 null]
+>>
+endobj
+301 0 obj
+<<
+/D [291 0 R /XYZ 141.732 248.813 null]
+>>
+endobj
+302 0 obj
+<<
+/D [291 0 R /XYZ 141.732 236.857 null]
+>>
+endobj
+33 0 obj
+<<
+/D [291 0 R /XYZ 141.732 93.689 null]
+>>
+endobj
+290 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F63 241 0 R /F62 276 0 R /F93 284 0 R /F73 274 0 R /F96 275 0 R /F133 289 0 R /F139 297 0 R /F103 277 0 R /F56 240 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+305 0 obj
+<<
+/Length 2952
+/Filter /FlateDecode
+>>
+stream
+x[[oF~ϯ[i }}@v^XJ%n$KRq}ϙ"C˔+;nļ ϜpDgճ 3cJ3:c3&͌ vv6Ŝ2$_%
+CVΟ^LV03Sј,MLvdQelyΏ-%J>\*
+$<HrVaoo:-It!;Pjh)SseT:d/KTŹ02نPEWb.~7ޯi)܏Ni'ŵ?fV֓\UGE'(axeԩPGYi %3S !Z(x~J0!SQ11y6n"YA29c9!A-nL(kgaWnMx_j#?</ ǭ3^ZP^ A < 8pɫgy65JΖ;gVfe:~ש\Lb͵ + 1gЂ!i$XG$ Q4yNK 1&Q$tMBbd_b pzh.s̩Lz̞4V8UhبN\LG,arF,SQn{.P`yM>
+$`vΌކ/ҁl}n1B.:npϣ
+"m-e^[Z̯PfK\̙6#rš 0;n{CɩFHzV5[7p\@)4v3!YALc t=ObXX"EGp(6m0,G8kȮ׮0|iJ
+5+a$l0t:7ygfˉ w|RWKB X{L!P4CÅB6}q]a9"hk
+ҕ&
+:H? *B0D<V{>iL[" v8eB#Wie!sF43}{Svtc JRjX́38vX6X n%>؄K9u61AEnF&bMM9ŝ,GVZ.=q
+EЄElLjHs 9$Q}-mu2VDǕs$D*ne`z g'3Ͽ\pj\e__²Ƒkqt\:
+9ECeK5 ˦$!rO+~-;蛅)IiPuyqru}K}s`0F{,̱*aH<̽נ1.,6^.Ե
+\ˀ=W$wz],?)Q.zoy20YqeJpMۍR@! O( /ӁsUVfzA܋l.;ĮX$lHӏs2Y6ɽsM8JtEdԟ&J2θRpfjجvz$F}d;buVi(WkҗOb7i#㚕|*ìYlq[ɶG?l N¯OP)c385 ΐc8m9a_} ;~^0ds.VGyǶ
+4juoI%ȋ_i$%sCxA0DI3GQj 05ney_o򛀿(ϰ[1T,o݆/ ~R-~ECƐ2L\|ϏoRm&  wђ`鎶UUU!ΰf*ԃ7XgIJV6nNef[_"vJ(<I`- ft
+\ >yRa 6O&jm3.*LO;ܚ/":rbӬj\:ǐ\k'Ŀ8Ry8UCU
+ѰfQGy1A_c襴jdۦuuNQC+@m(+o7cL1K{VcYճ|U
+endstream
+endobj
+304 0 obj
+<<
+/Type /Page
+/Contents 305 0 R
+/Resources 303 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 243 0 R
+>>
+endobj
+306 0 obj
+<<
+/D [304 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+307 0 obj
+<<
+/D [304 0 R /XYZ 141.732 711.796 null]
+>>
+endobj
+308 0 obj
+<<
+/D [304 0 R /XYZ 141.732 711.796 null]
+>>
+endobj
+309 0 obj
+<<
+/D [304 0 R /XYZ 141.732 699.841 null]
+>>
+endobj
+310 0 obj
+<<
+/D [304 0 R /XYZ 141.732 687.886 null]
+>>
+endobj
+311 0 obj
+<<
+/D [304 0 R /XYZ 141.732 675.93 null]
+>>
+endobj
+312 0 obj
+<<
+/D [304 0 R /XYZ 141.732 567.814 null]
+>>
+endobj
+313 0 obj
+<<
+/D [304 0 R /XYZ 141.732 567.814 null]
+>>
+endobj
+314 0 obj
+<<
+/D [304 0 R /XYZ 141.732 543.903 null]
+>>
+endobj
+37 0 obj
+<<
+/D [304 0 R /XYZ 141.732 376.558 null]
+>>
+endobj
+41 0 obj
+<<
+/D [304 0 R /XYZ 141.732 238.754 null]
+>>
+endobj
+303 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F63 241 0 R /F62 276 0 R /F96 275 0 R /F133 289 0 R /F93 284 0 R /F56 240 0 R /F73 274 0 R /F103 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+317 0 obj
+<<
+/Length 2240
+/Filter /FlateDecode
+>>
+stream
+xZMo8W6AܒA`0`>, wvc%^oU$:mvdKEHMR$U(\%4pF3WIFQ0m\r4
+n?qF8=5'ƕ
+UqJ%U\>|Iu?=?{ 84eo
+(ES y_mŗߺ>_׼`DX5~WYY'λS
+S"<*IKY؍ 7;QF5v¬(`#'5/|~#v\ڌ}R3
+/*Te^*'<~/L0K4W1e.OKDum5M\I#w~;Ɯ xЅ 'M
+ߌw aQFN ̰M=IW+8i >7!3hl7%JbbqS϶rmz[/0cnD?b1O54Xin&L- &k6eU,4jpK:_t Pqgځ%tR7 5ܬ_v(/u=5"a
+n7i}߼KHk Ky\fmKĻ[F KYh0pKfw5#u~sw\;]";B6
+0A'U~p
+0|i^RBlY ^5ӣJ]q^4B&A2HaB>X;mW@4!#77D8[frʃ7Y~Z>AL_NHL¯Hf?M
+ǏH&ۻ-? w50důHPDN~uK6qر灩jP$ Ub\545mh^acF=kovD\u?҂>`ĝ]Q{h{'R'@E<‘a
+uE_9Y,*ج;lsU},MqfM(el>.^
+1 #kzBigQH{՛KiuY
+endstream
+endobj
+316 0 obj
+<<
+/Type /Page
+/Contents 317 0 R
+/Resources 315 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+>>
+endobj
+318 0 obj
+<<
+/D [316 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+319 0 obj
+<<
+/D [316 0 R /XYZ 141.732 752.925 null]
+>>
+endobj
+320 0 obj
+<<
+/D [316 0 R /XYZ 141.732 756.511 null]
+>>
+endobj
+321 0 obj
+<<
+/D [316 0 R /XYZ 141.732 744.556 null]
+>>
+endobj
+322 0 obj
+<<
+/D [316 0 R /XYZ 141.732 732.601 null]
+>>
+endobj
+323 0 obj
+<<
+/D [316 0 R /XYZ 141.732 720.646 null]
+>>
+endobj
+324 0 obj
+<<
+/D [316 0 R /XYZ 141.732 708.691 null]
+>>
+endobj
+325 0 obj
+<<
+/D [316 0 R /XYZ 141.732 696.736 null]
+>>
+endobj
+326 0 obj
+<<
+/D [316 0 R /XYZ 141.732 684.78 null]
+>>
+endobj
+327 0 obj
+<<
+/D [316 0 R /XYZ 141.732 672.825 null]
+>>
+endobj
+328 0 obj
+<<
+/D [316 0 R /XYZ 141.732 660.87 null]
+>>
+endobj
+329 0 obj
+<<
+/D [316 0 R /XYZ 141.732 648.915 null]
+>>
+endobj
+330 0 obj
+<<
+/D [316 0 R /XYZ 141.732 636.96 null]
+>>
+endobj
+331 0 obj
+<<
+/D [316 0 R /XYZ 141.732 625.005 null]
+>>
+endobj
+332 0 obj
+<<
+/D [316 0 R /XYZ 141.732 613.049 null]
+>>
+endobj
+333 0 obj
+<<
+/D [316 0 R /XYZ 141.732 601.094 null]
+>>
+endobj
+334 0 obj
+<<
+/D [316 0 R /XYZ 141.732 589.139 null]
+>>
+endobj
+335 0 obj
+<<
+/D [316 0 R /XYZ 141.732 577.184 null]
+>>
+endobj
+336 0 obj
+<<
+/D [316 0 R /XYZ 141.732 565.229 null]
+>>
+endobj
+337 0 obj
+<<
+/D [316 0 R /XYZ 141.732 553.274 null]
+>>
+endobj
+338 0 obj
+<<
+/D [316 0 R /XYZ 340.157 751.162 null]
+>>
+endobj
+339 0 obj
+<<
+/D [316 0 R /XYZ 340.157 732.964 null]
+>>
+endobj
+340 0 obj
+<<
+/D [316 0 R /XYZ 340.157 708.555 null]
+>>
+endobj
+341 0 obj
+<<
+/D [316 0 R /XYZ 340.157 684.147 null]
+>>
+endobj
+342 0 obj
+<<
+/D [316 0 R /XYZ 340.157 659.738 null]
+>>
+endobj
+343 0 obj
+<<
+/D [316 0 R /XYZ 340.157 635.33 null]
+>>
+endobj
+344 0 obj
+<<
+/D [316 0 R /XYZ 340.157 610.921 null]
+>>
+endobj
+345 0 obj
+<<
+/D [316 0 R /XYZ 340.157 586.513 null]
+>>
+endobj
+346 0 obj
+<<
+/D [316 0 R /XYZ 141.732 432.703 null]
+>>
+endobj
+347 0 obj
+<<
+/D [316 0 R /XYZ 141.732 436.29 null]
+>>
+endobj
+348 0 obj
+<<
+/D [316 0 R /XYZ 141.732 424.335 null]
+>>
+endobj
+349 0 obj
+<<
+/D [316 0 R /XYZ 141.732 412.38 null]
+>>
+endobj
+350 0 obj
+<<
+/D [316 0 R /XYZ 141.732 400.424 null]
+>>
+endobj
+351 0 obj
+<<
+/D [316 0 R /XYZ 141.732 388.469 null]
+>>
+endobj
+352 0 obj
+<<
+/D [316 0 R /XYZ 141.732 376.514 null]
+>>
+endobj
+353 0 obj
+<<
+/D [316 0 R /XYZ 141.732 364.559 null]
+>>
+endobj
+354 0 obj
+<<
+/D [316 0 R /XYZ 141.732 352.604 null]
+>>
+endobj
+355 0 obj
+<<
+/D [316 0 R /XYZ 141.732 340.649 null]
+>>
+endobj
+356 0 obj
+<<
+/D [316 0 R /XYZ 141.732 328.693 null]
+>>
+endobj
+357 0 obj
+<<
+/D [316 0 R /XYZ 141.732 316.738 null]
+>>
+endobj
+358 0 obj
+<<
+/D [316 0 R /XYZ 141.732 304.783 null]
+>>
+endobj
+359 0 obj
+<<
+/D [316 0 R /XYZ 340.157 420.098 null]
+>>
+endobj
+360 0 obj
+<<
+/D [316 0 R /XYZ 340.157 401.899 null]
+>>
+endobj
+361 0 obj
+<<
+/D [316 0 R /XYZ 340.157 372.51 null]
+>>
+endobj
+362 0 obj
+<<
+/D [316 0 R /XYZ 340.157 356.005 null]
+>>
+endobj
+363 0 obj
+<<
+/D [316 0 R /XYZ 340.157 331.596 null]
+>>
+endobj
+364 0 obj
+<<
+/D [316 0 R /XYZ 340.157 317.151 null]
+>>
+endobj
+315 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F133 289 0 R /F62 276 0 R /F37 238 0 R /F63 241 0 R /F96 275 0 R /F73 274 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+368 0 obj
+<<
+/Length 1655
+/Filter /FlateDecode
+>>
+stream
+x[K6WVm$HK>lk!򣖍 -;CJxv6J$5C~8)yGy9`w:<~!-z8B=eƑ$j86Ñ&eW6Y/".pj(.b# |iJq}V%2*{]\<Q38[NF
+㠮oz9!r;
+]di, }:oZmG[ wΦ,_c\.*.<9M$hd?2ŬA7LEZIJr
+D+nRQ4Ow!ߙޑi8u sYӞ<Zr81۸# 蛔 ~Nʅ
+$ GWȗ")rXqȓ(:[z6f EME`2hTc!pMrSɶ( A3"JpڄEaCN~$䜑sfX$
+endstream
+endobj
+367 0 obj
+<<
+/Type /Page
+/Contents 368 0 R
+/Resources 366 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+>>
+endobj
+369 0 obj
+<<
+/D [367 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+370 0 obj
+<<
+/D [367 0 R /XYZ 141.732 496.572 null]
+>>
+endobj
+371 0 obj
+<<
+/D [367 0 R /XYZ 141.732 500.159 null]
+>>
+endobj
+372 0 obj
+<<
+/D [367 0 R /XYZ 141.732 488.204 null]
+>>
+endobj
+373 0 obj
+<<
+/D [367 0 R /XYZ 141.732 476.249 null]
+>>
+endobj
+374 0 obj
+<<
+/D [367 0 R /XYZ 141.732 464.293 null]
+>>
+endobj
+375 0 obj
+<<
+/D [367 0 R /XYZ 141.732 452.338 null]
+>>
+endobj
+376 0 obj
+<<
+/D [367 0 R /XYZ 141.732 440.383 null]
+>>
+endobj
+377 0 obj
+<<
+/D [367 0 R /XYZ 141.732 428.428 null]
+>>
+endobj
+378 0 obj
+<<
+/D [367 0 R /XYZ 141.732 416.473 null]
+>>
+endobj
+379 0 obj
+<<
+/D [367 0 R /XYZ 141.732 404.518 null]
+>>
+endobj
+380 0 obj
+<<
+/D [367 0 R /XYZ 141.732 392.562 null]
+>>
+endobj
+381 0 obj
+<<
+/D [367 0 R /XYZ 141.732 380.607 null]
+>>
+endobj
+382 0 obj
+<<
+/D [367 0 R /XYZ 141.732 368.652 null]
+>>
+endobj
+383 0 obj
+<<
+/D [367 0 R /XYZ 141.732 356.697 null]
+>>
+endobj
+384 0 obj
+<<
+/D [367 0 R /XYZ 141.732 344.742 null]
+>>
+endobj
+385 0 obj
+<<
+/D [367 0 R /XYZ 141.732 332.787 null]
+>>
+endobj
+386 0 obj
+<<
+/D [367 0 R /XYZ 141.732 320.831 null]
+>>
+endobj
+387 0 obj
+<<
+/D [367 0 R /XYZ 141.732 308.876 null]
+>>
+endobj
+388 0 obj
+<<
+/D [367 0 R /XYZ 141.732 296.921 null]
+>>
+endobj
+389 0 obj
+<<
+/D [367 0 R /XYZ 141.732 284.966 null]
+>>
+endobj
+390 0 obj
+<<
+/D [367 0 R /XYZ 141.732 273.011 null]
+>>
+endobj
+391 0 obj
+<<
+/D [367 0 R /XYZ 141.732 261.056 null]
+>>
+endobj
+392 0 obj
+<<
+/D [367 0 R /XYZ 141.732 249.1 null]
+>>
+endobj
+393 0 obj
+<<
+/D [367 0 R /XYZ 141.732 237.145 null]
+>>
+endobj
+394 0 obj
+<<
+/D [367 0 R /XYZ 141.732 225.19 null]
+>>
+endobj
+395 0 obj
+<<
+/D [367 0 R /XYZ 141.732 213.235 null]
+>>
+endobj
+396 0 obj
+<<
+/D [367 0 R /XYZ 340.157 515.067 null]
+>>
+endobj
+397 0 obj
+<<
+/D [367 0 R /XYZ 340.157 496.869 null]
+>>
+endobj
+398 0 obj
+<<
+/D [367 0 R /XYZ 340.157 472.46 null]
+>>
+endobj
+399 0 obj
+<<
+/D [367 0 R /XYZ 340.157 448.052 null]
+>>
+endobj
+400 0 obj
+<<
+/D [367 0 R /XYZ 340.157 423.643 null]
+>>
+endobj
+401 0 obj
+<<
+/D [367 0 R /XYZ 340.157 396.744 null]
+>>
+endobj
+402 0 obj
+<<
+/D [367 0 R /XYZ 340.157 377.317 null]
+>>
+endobj
+403 0 obj
+<<
+/D [367 0 R /XYZ 340.157 357.89 null]
+>>
+endobj
+404 0 obj
+<<
+/D [367 0 R /XYZ 340.157 335.972 null]
+>>
+endobj
+405 0 obj
+<<
+/D [367 0 R /XYZ 340.157 311.563 null]
+>>
+endobj
+406 0 obj
+<<
+/D [367 0 R /XYZ 340.157 287.155 null]
+>>
+endobj
+407 0 obj
+<<
+/D [367 0 R /XYZ 340.157 260.256 null]
+>>
+endobj
+408 0 obj
+<<
+/D [367 0 R /XYZ 340.157 237.84 null]
+>>
+endobj
+409 0 obj
+<<
+/D [367 0 R /XYZ 340.157 218.413 null]
+>>
+endobj
+410 0 obj
+<<
+/D [367 0 R /XYZ 340.157 196.495 null]
+>>
+endobj
+366 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F63 241 0 R /F96 275 0 R /F133 289 0 R /F62 276 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+413 0 obj
+<<
+/Length 3000
+/Filter /FlateDecode
+>>
+stream
+x\KH ;w鸰 6vo-wkƶKa'oCnɏvCLTVfV族RO%Y*s_a`$<GXd<p%$C8ϓ/t\ rU_K>x~ٱ.3?~#<'"ƯC,Y%7W/^Ɣ&94~D`s5I> >bnr1ekA:OR"yϲ)>4y9ӍequR$GfOc*A,9񖪫y1L96XOk!mĶ8MO7NkSY#
+% }9ךCc\Ub!bTߌ쑋<jώ\̚qw3|vӱ^!ʄ]1
+2'5s)C@Lm] swZ 90'w2˻z<jYhy}&$DH44G04^q%a>jiƐ
+oY YvSds
+3):_^N1O ;aez&
+EQ@3f<|0
++ku|e?
+=lNICJ-CC0=z1hy|L񱮳7<(3j譯-;"& ra ˺h}kukV];53]FtTWuC=v3sm\>- ȮL/Jj鴟?sR{cj|6T B3 ) 4[kc;?nt=D&j63K}ѓ'7Gzo`> mfEb6M?>FƽbT!T_0x)Q
+endstream
+endobj
+412 0 obj
+<<
+/Type /Page
+/Contents 413 0 R
+/Resources 411 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+>>
+endobj
+414 0 obj
+<<
+/D [412 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+415 0 obj
+<<
+/D [412 0 R /XYZ 141.732 752.925 null]
+>>
+endobj
+416 0 obj
+<<
+/D [412 0 R /XYZ 141.732 756.511 null]
+>>
+endobj
+417 0 obj
+<<
+/D [412 0 R /XYZ 141.732 744.556 null]
+>>
+endobj
+418 0 obj
+<<
+/D [412 0 R /XYZ 141.732 732.601 null]
+>>
+endobj
+419 0 obj
+<<
+/D [412 0 R /XYZ 141.732 720.646 null]
+>>
+endobj
+420 0 obj
+<<
+/D [412 0 R /XYZ 141.732 708.691 null]
+>>
+endobj
+421 0 obj
+<<
+/D [412 0 R /XYZ 141.732 696.736 null]
+>>
+endobj
+422 0 obj
+<<
+/D [412 0 R /XYZ 141.732 672.825 null]
+>>
+endobj
+423 0 obj
+<<
+/D [412 0 R /XYZ 141.732 660.87 null]
+>>
+endobj
+424 0 obj
+<<
+/D [412 0 R /XYZ 141.732 648.915 null]
+>>
+endobj
+425 0 obj
+<<
+/D [412 0 R /XYZ 141.732 636.96 null]
+>>
+endobj
+45 0 obj
+<<
+/D [412 0 R /XYZ 141.732 603.978 null]
+>>
+endobj
+49 0 obj
+<<
+/D [412 0 R /XYZ 141.732 520.458 null]
+>>
+endobj
+53 0 obj
+<<
+/D [412 0 R /XYZ 141.732 396.954 null]
+>>
+endobj
+57 0 obj
+<<
+/D [412 0 R /XYZ 141.732 221.209 null]
+>>
+endobj
+411 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F133 289 0 R /F62 276 0 R /F146 426 0 R /F37 238 0 R /F63 241 0 R /F103 277 0 R /F93 284 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+429 0 obj
+<<
+/Length 3426
+/Filter /FlateDecode
+>>
+stream
+x\KsFWfa@&ړLb>
+xP(bG9,!YNTR#aJ窀.W3E4.S)0ɡ 9O;Y,d`:rؕ&&UyGB5X[bJCXYb
+1wrptQK';ZsD:K)<-YB%Vxc!
+CɬP`yD<B=g1|t"]SItL̗<8FሽMIP&A9dWIHEHBJMTĒ͆,%Țu$%!-. jIP_NZO\j ΢ 9TQT<Σ`a*REQ@Fz t.4G%,GȰ%_љ Nd`pJ"[;!m9!,-&BiBhb;P+]f2?!Oqo3|K¿$!+`He ! kaǤuI8|)fsqw %nہp]*=
+ZƲ\5W'O;)OQPr~w(b;ꍞ+4+ev23\KŢh+k`}.VW.']e \ȀX?rUu,jX%NS*D>%$Ø<5AY~gk6ND1'\/;Ӂ."UhR\,w֫ bf}:n`..<D1P}[`<DYqo`{7ƻط fŢ\^᮰B
+i5dT B)< B ԮCp~
+HkE9uCsBS ̖Ռ
+`yП]9e~FtP8 ]z;Ӻy
+endstream
+endobj
+428 0 obj
+<<
+/Type /Page
+/Contents 429 0 R
+/Resources 427 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+>>
+endobj
+430 0 obj
+<<
+/D [428 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+61 0 obj
+<<
+/D [428 0 R /XYZ 141.732 679.895 null]
+>>
+endobj
+65 0 obj
+<<
+/D [428 0 R /XYZ 141.732 598.437 null]
+>>
+endobj
+69 0 obj
+<<
+/D [428 0 R /XYZ 141.732 504.374 null]
+>>
+endobj
+73 0 obj
+<<
+/D [428 0 R /XYZ 141.732 224.224 null]
+>>
+endobj
+77 0 obj
+<<
+/D [428 0 R /XYZ 141.732 157.474 null]
+>>
+endobj
+427 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F62 276 0 R /F93 284 0 R /F37 238 0 R /F103 277 0 R /F63 241 0 R /F73 274 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+433 0 obj
+<<
+/Length 3572
+/Filter /FlateDecode
+>>
+stream
+x]oF=/HE~R_\;ܵ~8 )
+ZZټJKvf?(2K%tރM(.$z"ytM1~|݋_~9pd"qt0H0\Dd2z?=oia$D#e)|c^Y]wEǔꦨFm$Ca"ű1 12_uYNUCo]!lg"zx6Ž{Qղί6_;K9¿7,휳@nNT-3D2ِF<nZzWY70>$<)>H9COL~ިxR{RMUUm;ݞUR5*.-yϻ0Ynx{";O5Ys@!aDxL1)0b".w~8 A` @bI~I0A;R0|LuˋKx݅.gJ@JQFRKͪ<^C|6^
+ sFag>XabitPFeHdQ8&Q8PcC>#41]Y B0GuszHc1F񂤑ac Ã?8"fĻ1sD
+, K[+ 
+`tq&،<;ENfj{[TsgvA*.adi1Sl{WNuS`DRbۤ2.AsG"plȷV;cצj+|#.1 ]R}T}\i(!L4&*0zXjbx IJ`M]qB>9+La~S!}d2A+t"]Tr*2VEShK7ABLم,r4/GdKkQr,R{{3Tr [330kG%6*} q=#[JCu8 lf(ٙĞD+DX>)б8?/kS (%V]vmQ 'k/59C0pN<e/G`3[M#E"&
+)s.jACO?k<9pg<s[K |;7گ 5Z?R;JE+qCM
+X3̾(N#Qeݴ|Q i:_TaIA,s]İ=". K&MLnD2^ .oZ;s<ک;x巿ML$yxo! g\RKs.t<69NTOd7I;KkSU;sVn6vYOk礤"}Ҕ@ф#} $}v?V}LV"*iS;-\QI٢R+ʀ>B1\am(tBkok]dו-Wt*u1Ktt;CBV+Ouv]DzF.N]@ީIȡTpeAÃyƺrЇKNV ڏYcڮ)^kCP%chĪecEIeC?I,")FL'[;Q3YH Ƕ@F"bv-}P . 1|ʼn^
+0ɻXeM<U !rvf@+} (9^}L3qnih
+Fn7jk$w>rf(EO:k!W?1lWTـ(0Bb`ۀ(G]*<{[l<V m#G)-bXQ,=Çv[$Xw05%6(WvvJO!zg`]3ȃ:3Zgh {WȪM6##Z1[ҙN/6Xr3f{Xfzj?.j|x26:
+y OP&dYBaci'ǥ/ g&Ŵ<e zה?94/v-gL)<siZlz()Ғ>/6("< ixaokC A
+s%^5s݅g`p`;v]ސy>:{A x[`NwM_K~Ӝ0M͉Ԭ20e}S?m"2yK:DRlkf5\{ۜHjDпy1XLL@k*_Kp'Xz*RȠgc-B~k<䋪}^P~X k{>ͳĞrWZ[wXJ3Ζ̮n @_.5Nr66#H1MV䨷
+endstream
+endobj
+432 0 obj
+<<
+/Type /Page
+/Contents 433 0 R
+/Resources 431 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+>>
+endobj
+434 0 obj
+<<
+/D [432 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+81 0 obj
+<<
+/D [432 0 R /XYZ 141.732 658.347 null]
+>>
+endobj
+85 0 obj
+<<
+/D [432 0 R /XYZ 141.732 577.641 null]
+>>
+endobj
+436 0 obj
+<<
+/D [432 0 R /XYZ 141.732 505.642 null]
+>>
+endobj
+437 0 obj
+<<
+/D [432 0 R /XYZ 141.732 505.642 null]
+>>
+endobj
+438 0 obj
+<<
+/D [432 0 R /XYZ 141.732 493.687 null]
+>>
+endobj
+439 0 obj
+<<
+/D [432 0 R /XYZ 141.732 481.732 null]
+>>
+endobj
+440 0 obj
+<<
+/D [432 0 R /XYZ 141.732 469.777 null]
+>>
+endobj
+441 0 obj
+<<
+/D [432 0 R /XYZ 141.732 457.821 null]
+>>
+endobj
+442 0 obj
+<<
+/D [432 0 R /XYZ 141.732 445.866 null]
+>>
+endobj
+443 0 obj
+<<
+/D [432 0 R /XYZ 141.732 433.911 null]
+>>
+endobj
+444 0 obj
+<<
+/D [432 0 R /XYZ 141.732 421.956 null]
+>>
+endobj
+445 0 obj
+<<
+/D [432 0 R /XYZ 141.732 410.001 null]
+>>
+endobj
+446 0 obj
+<<
+/D [432 0 R /XYZ 141.732 398.046 null]
+>>
+endobj
+447 0 obj
+<<
+/D [432 0 R /XYZ 141.732 386.09 null]
+>>
+endobj
+448 0 obj
+<<
+/D [432 0 R /XYZ 141.732 374.135 null]
+>>
+endobj
+89 0 obj
+<<
+/D [432 0 R /XYZ 141.732 346.771 null]
+>>
+endobj
+449 0 obj
+<<
+/D [432 0 R /XYZ 141.732 210.675 null]
+>>
+endobj
+450 0 obj
+<<
+/D [432 0 R /XYZ 141.732 210.675 null]
+>>
+endobj
+451 0 obj
+<<
+/D [432 0 R /XYZ 141.732 198.72 null]
+>>
+endobj
+452 0 obj
+<<
+/D [432 0 R /XYZ 141.732 186.765 null]
+>>
+endobj
+453 0 obj
+<<
+/D [432 0 R /XYZ 141.732 174.809 null]
+>>
+endobj
+454 0 obj
+<<
+/D [432 0 R /XYZ 141.732 162.854 null]
+>>
+endobj
+455 0 obj
+<<
+/D [432 0 R /XYZ 141.732 150.899 null]
+>>
+endobj
+456 0 obj
+<<
+/D [432 0 R /XYZ 141.732 138.944 null]
+>>
+endobj
+93 0 obj
+<<
+/D [432 0 R /XYZ 141.732 111.579 null]
+>>
+endobj
+431 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F151 435 0 R /F37 238 0 R /F106 278 0 R /F63 241 0 R /F73 274 0 R /F103 277 0 R /F62 276 0 R /F56 240 0 R /F96 275 0 R /F133 289 0 R /F93 284 0 R /F68 242 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+461 0 obj
+<<
+/Length 3704
+/Filter /FlateDecode
+>>
+stream
+xێ_\s3EQ8I A>p@K\j]k̍" k
+qmlX"<򔿖mʹSw̃SNґ!G\Roz~Svc\`7+Q,Q˲oH6Xv8
+6lcC,d/C~fRfe;qscg ~gؚ68R X2[?{6OOF> N1qn*dz\N@:"B )#$ްp&(a,#PzAW8v3O/2D'՝tp> tsȀM#\=ig<E"&'0'MIZ=<PhmEL*:Ro>\eP \f" pJ?ź,6WvP_[wWPQץ--\UgŃ<C5q$~OtXEe..)H }m2#3"eTLVgJcVAPJإyZAu:Ķ +no_֭Ag+)+y|R<J+󀞝p XDFHv+)|+'&R+>!5 ZCŸBC6"S]
+@/ 9Zx_mڰ0]ZSV:rZs
+5.Waܚ_ A* SMAaZj:o7#`TqeBsIL {^.2HW?$ɺ<wiu̕_n!y֏ ۣ9·t~q$Օh1w;`f#=|Z])<!BHZ!cWj_"ȒX[0ˋI Up@Çeb|Y_昦583,]n3BWbVmjh\y)aN5`B_B~ٷ󾌠_Iь1fzT7F%is)2JɔYېe0ğG]j2T~re ']1 nmIjLUi?=|}UF<ܹ ˭ )S0}ge|A6>7B}B
+$sW& 8b7΢Ǝ]ТfS,hO1xs9 Svˈ>t C$e8e<:cPgAU?$)@G˸A4|HEE) &P_P0*L33ív{SN@K]*~C*jV`?}sk +TftzWm*kb_,*%tT +eO%݉08깿&|f {9jvF;EC#Uo[SV- W[{#gF79N~7=ơ5w\b(c>Rpv !03d=ϝn\W x(#zFFN
+èІ#&!AiFDGZ8'a>7Ltlq)
+Q.hei|2;B16#aDu#5R\tpݿNf ]% (lek*f2rko^@H!0]$cƻvm sj>ak?~(`Up't. 7.!ªkM`Z IU&71#5 iJFo͢z9/`;/ ;Vd`* XR.Z# ?}t1`-4GxaI>?O]RWQ/ԑ~3R$ j9w<׿^>CC;p2}p
+B
+'.}rJGɄ \w|5['[T@JLI
+jr^A 6VM)%|JTT~(ԓM,EOD!s^wZ3#Qҹ[wu vm@jO
+!!X 8eʧ`*qrbW:ݬՑḾH;|xE60; ; \/ {䬧 @]Bg/
+endstream
+endobj
+460 0 obj
+<<
+/Type /Page
+/Contents 461 0 R
+/Resources 459 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 365 0 R
+/Annots [ 457 0 R 458 0 R ]
+>>
+endobj
+457 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.758 190.679 537.889 203.232]
+/A << /S /GoTo /D (subsection.133) >>
+>>
+endobj
+458 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 178.558 278.126 188.786]
+/A << /S /GoTo /D (subsection.133) >>
+>>
+endobj
+462 0 obj
+<<
+/D [460 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+97 0 obj
+<<
+/D [460 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+101 0 obj
+<<
+/D [460 0 R /XYZ 141.732 706.285 null]
+>>
+endobj
+463 0 obj
+<<
+/D [460 0 R /XYZ 141.732 390.467 null]
+>>
+endobj
+464 0 obj
+<<
+/D [460 0 R /XYZ 141.732 390.467 null]
+>>
+endobj
+465 0 obj
+<<
+/D [460 0 R /XYZ 141.732 378.512 null]
+>>
+endobj
+466 0 obj
+<<
+/D [460 0 R /XYZ 141.732 366.557 null]
+>>
+endobj
+467 0 obj
+<<
+/D [460 0 R /XYZ 141.732 354.601 null]
+>>
+endobj
+468 0 obj
+<<
+/D [460 0 R /XYZ 141.732 342.646 null]
+>>
+endobj
+469 0 obj
+<<
+/D [460 0 R /XYZ 141.732 330.691 null]
+>>
+endobj
+470 0 obj
+<<
+/D [460 0 R /XYZ 141.732 318.736 null]
+>>
+endobj
+105 0 obj
+<<
+/D [460 0 R /XYZ 141.732 291.719 null]
+>>
+endobj
+109 0 obj
+<<
+/D [460 0 R /XYZ 141.732 168.218 null]
+>>
+endobj
+459 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F103 277 0 R /F37 238 0 R /F63 241 0 R /F62 276 0 R /F93 284 0 R /F73 274 0 R /F96 275 0 R /F133 289 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+475 0 obj
+<<
+/Length 3579
+/Filter /FlateDecode
+>>
+stream
+x\[o8~
+M-ibg6]`:Bm++M}!)Rd[vK1Xh\s(]/pD)QRՈ
+JBGTtws2a gWLWPo5Qb{JCks0eq+fr;/|D}|E$ h g5SW3PA,?间\De"Km,?G_e D7h*D啴 I2CUjh:a/Por
+ǧh$Q\ anX|FF,ԮUXi]r3F1^δ6`4uzp"}O,G4ïjedQH̒ yNfIWptʊVve?"N&/ML'>JN"X}:)̎w=>Y*ާ>M3;?)tY4G)Q5k|w^ŽrV1`z
+k5Ԡte]V
+&ȽYOKV\韵XQ-k9Q;>eBCÐ`ۼv*vFQ3_BoᏨr\<pՂ*/<']̲|\ӽX}*tR*
+d@9rQ&Ir
+v*.tW߈n+;>M"eL6Ië?ZJC}Q1~:"9hG)ѭ0  >F A_M@X,!.Pau #!ID0zOYO2-8`4byw Xƍlz DzXA
+;
+Y%{c!Ddsׄ$<"/ܔ':3L)=,ܳŋ,CZ(pA^Er 4F
+~곈o 5V젍ˀhm d2 `|<w\`oSI8sFƨ2"=]́Em5i}H4t19Vz\i;q,6ڜn{A8dsH’~ܤOI,@x/'+30"F;˿*l0
+:]q6}
+jr/MVuu.HxWp,dJ-!#k
+98Ѻ ʀ{RصX4*G |vfG\خNù*
+?rUZ͞()PeG_Vfw3{r$jY;r = @]{+>~4e~r<eo];Ɣpp€j+qۜv+\fj(7I`Fxf'>dnk*.xhS6A~[z0
+!m>ZYVFK3z@$xh<^8jj'cՕ7 |qejfqo&tkztdJhdtsK0wwsqv{$$$D$?a9氹~o_bi:{ﻏT0s9K!dz;Ű$A{ '(ZC2.Ѻۡ!4#aWyKyp'XbIoG!ӾpEBAl3n!GɊԾs]AۯWi^`1DD=Omm|<RgT6gߵS{7۠P聂GJgkhPG#@}NÞG
+~gAD;"=qo a]jFdoA?!+P?OLCz j6(͐X~`zLź,[2 _t=# >ҩCZ] K͓ۊE6f'Wa:<^&0@^ /) QGjkD!L1_ZE;(WD@] Qtz0y,ɗDy
+ |8<H4ƹÈ5 }D4rFEH',*eQV*;6vnb]轅зR<Hq6__D``TD.VM>H`j a=@'ʉPԐ<v.5`|l9ónUz>#]tA9st,#fa(OB)q3ۯӾSg$݀q!Smnt>焲 <PIT,HY= {~уF
+OHl—!O9YÐ995 ʳ'˅@}eEG=
+}7q4:^^C0".[O4S|Psumj<Jd*6OtiZ 
+endstream
+endobj
+474 0 obj
+<<
+/Type /Page
+/Contents 475 0 R
+/Resources 473 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+/Annots [ 471 0 R 472 0 R 482 0 R ]
+>>
+endobj
+471 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.401 553.526 466.623 567.473]
+/A << /S /GoTo /D (subsection.127) >>
+>>
+endobj
+472 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.359 553.526 539.579 567.473]
+/A << /S /GoTo /D (subsection.127) >>
+>>
+endobj
+482 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 539.744 200.024 552.297]
+/A << /S /GoTo /D (subsection.127) >>
+>>
+endobj
+476 0 obj
+<<
+/D [474 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+113 0 obj
+<<
+/D [474 0 R /XYZ 141.732 729.946 null]
+>>
+endobj
+477 0 obj
+<<
+/D [474 0 R /XYZ 141.732 684.5 null]
+>>
+endobj
+478 0 obj
+<<
+/D [474 0 R /XYZ 141.732 665.162 null]
+>>
+endobj
+479 0 obj
+<<
+/D [474 0 R /XYZ 141.732 650.052 null]
+>>
+endobj
+480 0 obj
+<<
+/D [474 0 R /XYZ 141.732 636.27 null]
+>>
+endobj
+481 0 obj
+<<
+/D [474 0 R /XYZ 141.732 619.257 null]
+>>
+endobj
+117 0 obj
+<<
+/D [474 0 R /XYZ 141.732 591.869 null]
+>>
+endobj
+483 0 obj
+<<
+/D [474 0 R /XYZ 141.732 316.73 null]
+>>
+endobj
+484 0 obj
+<<
+/D [474 0 R /XYZ 141.732 316.73 null]
+>>
+endobj
+485 0 obj
+<<
+/D [474 0 R /XYZ 141.732 280.865 null]
+>>
+endobj
+486 0 obj
+<<
+/D [474 0 R /XYZ 141.732 256.955 null]
+>>
+endobj
+487 0 obj
+<<
+/D [474 0 R /XYZ 141.732 244.999 null]
+>>
+endobj
+488 0 obj
+<<
+/D [474 0 R /XYZ 141.732 233.044 null]
+>>
+endobj
+489 0 obj
+<<
+/D [474 0 R /XYZ 141.732 209.134 null]
+>>
+endobj
+490 0 obj
+<<
+/D [474 0 R /XYZ 141.732 197.179 null]
+>>
+endobj
+491 0 obj
+<<
+/D [474 0 R /XYZ 141.732 185.224 null]
+>>
+endobj
+492 0 obj
+<<
+/D [474 0 R /XYZ 141.732 173.268 null]
+>>
+endobj
+493 0 obj
+<<
+/D [474 0 R /XYZ 141.732 149.358 null]
+>>
+endobj
+494 0 obj
+<<
+/D [474 0 R /XYZ 141.732 137.403 null]
+>>
+endobj
+495 0 obj
+<<
+/D [474 0 R /XYZ 141.732 125.448 null]
+>>
+endobj
+496 0 obj
+<<
+/D [474 0 R /XYZ 141.732 113.493 null]
+>>
+endobj
+473 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F63 241 0 R /F103 277 0 R /F73 274 0 R /F62 276 0 R /F93 284 0 R /F96 275 0 R /F139 297 0 R /F133 289 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+504 0 obj
+<<
+/Length 3281
+/Filter /FlateDecode
+>>
+stream
+xio
+@a
+'sf$HSt
+x+:7)RA)0`R̻yxp?w/ #\ 'H1:P ,z< oh^\qwS<^1*WlgR+߿
+}t@02FBHJ7H)yPIVu ;!JD ;᫷UI&O嬞Qx[NRd';{:h|'д1kp
+sw(
+^`q3z&*$`:- \'NI(FLla
+z?ւFB$x 4<}
+tZ95F.?a0G?E9Z\N 0.oqj3*a܁XP̄A^΀St{(D ӧt9N,S%>ۧI`\- rLYDF3è1NWz7 &d4F囷vGl4qƺ0Y)O8g`E6
+ɬpb{WYC;.@ޔ_jfWYk #чҏ߁~++8%_;`HmR+vHR+6H-_/Zn5,e~,w[tj\m`0#A l`ov
+h{sFs͐ћt;6R#gE!-4V Ƽ=S_ƿ~dE<)IWGgcen}o% sβ=ܰG#-AFA&yTID$[HΒrW7I<+o~Eӂ>&P I
+A$[n>2TnK!`)q^K20>"wI3w |PC!
++WDAIPn?`jYuۮ)7\^{*MvdVViݧP($B4muP z,;^m_u׃*ce}~X][uwwz!̷T
+N1&bU׍@Dio0kIC+{e΄`L1#uMua
+ņ: $Wk@lY7t
+`c%.OVEvdy]gv%дI_7,|DkpF1maoܼ%M.RUHs
+'3cT40݈,#'slhbyy
+hԞQzhz7a
+pdx]kbvR̭%r@ o_Mڞ=O&h?41]Q*Iw54tAHC!e^K6@/v8\ nl)YSi#4De*U!pE O|妨QSDCCԸOD$9Jt8.o%dHApԁ})ի0Y\o< gW=8exaL
+D`-Ap; |(5 O`$0)_ER;2{^@$d!ElX-.,ۭU?&0g^&O"t?P6}H1,hHAn@7EuA>i8:bIyM% '%Y1Ϡ)Y\|ދ3
+q W,Q;(62w>rdJȑVGaY1N%m_%?tg9Zs
+endstream
+endobj
+503 0 obj
+<<
+/Type /Page
+/Contents 504 0 R
+/Resources 502 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+/Annots [ 498 0 R 506 0 R 499 0 R 500 0 R 501 0 R 507 0 R ]
+>>
+endobj
+498 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.261 699.787 539.579 712.742]
+/A << /S /GoTo /D (subsection.128) >>
+>>
+endobj
+506 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 685.743 181.833 698.296]
+/A << /S /GoTo /D (subsection.128) >>
+>>
+endobj
+499 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.019 685.743 317.134 698.296]
+/A << /S /GoTo /D (subsection.128) >>
+>>
+endobj
+500 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.047 685.743 449.639 698.296]
+/A << /S /GoTo /D (subsubsection.213) >>
+>>
+endobj
+501 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.824 685.743 539.579 698.296]
+/A << /S /GoTo /D (subsubsection.213) >>
+>>
+endobj
+507 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 670.633 201.17 684.581]
+/A << /S /GoTo /D (subsubsection.213) >>
+>>
+endobj
+505 0 obj
+<<
+/D [503 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+121 0 obj
+<<
+/D [503 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+509 0 obj
+<<
+/D [503 0 R /XYZ 141.732 627.446 null]
+>>
+endobj
+510 0 obj
+<<
+/D [503 0 R /XYZ 141.732 627.446 null]
+>>
+endobj
+511 0 obj
+<<
+/D [503 0 R /XYZ 141.732 615.49 null]
+>>
+endobj
+512 0 obj
+<<
+/D [503 0 R /XYZ 141.732 603.535 null]
+>>
+endobj
+513 0 obj
+<<
+/D [503 0 R /XYZ 141.732 591.58 null]
+>>
+endobj
+514 0 obj
+<<
+/D [503 0 R /XYZ 141.732 579.625 null]
+>>
+endobj
+515 0 obj
+<<
+/D [503 0 R /XYZ 141.732 567.67 null]
+>>
+endobj
+516 0 obj
+<<
+/D [503 0 R /XYZ 141.732 555.715 null]
+>>
+endobj
+517 0 obj
+<<
+/D [503 0 R /XYZ 141.732 543.759 null]
+>>
+endobj
+518 0 obj
+<<
+/D [503 0 R /XYZ 141.732 531.804 null]
+>>
+endobj
+519 0 obj
+<<
+/D [503 0 R /XYZ 141.732 519.849 null]
+>>
+endobj
+520 0 obj
+<<
+/D [503 0 R /XYZ 141.732 507.894 null]
+>>
+endobj
+521 0 obj
+<<
+/D [503 0 R /XYZ 141.732 495.939 null]
+>>
+endobj
+522 0 obj
+<<
+/D [503 0 R /XYZ 141.732 483.984 null]
+>>
+endobj
+523 0 obj
+<<
+/D [503 0 R /XYZ 141.732 472.028 null]
+>>
+endobj
+524 0 obj
+<<
+/D [503 0 R /XYZ 141.732 460.073 null]
+>>
+endobj
+525 0 obj
+<<
+/D [503 0 R /XYZ 141.732 448.118 null]
+>>
+endobj
+526 0 obj
+<<
+/D [503 0 R /XYZ 141.732 436.163 null]
+>>
+endobj
+527 0 obj
+<<
+/D [503 0 R /XYZ 141.732 424.208 null]
+>>
+endobj
+528 0 obj
+<<
+/D [503 0 R /XYZ 141.732 412.253 null]
+>>
+endobj
+125 0 obj
+<<
+/D [503 0 R /XYZ 141.732 352.737 null]
+>>
+endobj
+502 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F103 277 0 R /F62 276 0 R /F93 284 0 R /F37 238 0 R /F96 275 0 R /F90 508 0 R /F73 274 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+537 0 obj
+<<
+/Length 3965
+/Filter /FlateDecode
+>>
+stream
+x\_s6ϧM!}6msrm깹$DۼHKRqr@%V%_g2! - It%g~w\GTJ_F$ ~K"QA,2%2"z-E6=3Il%nge7hخ⬮W|$@5]~,_1}.겂?oiuq6zqvMMD1TY3f,'/xmV8ㅃKpwN2fl"@ KϫQ.ڱ-"떲gS^>o\u9ջԏ'jkUc
+7<|WunPN y%DDU޾{ XD$C|L)"-}~\|_M6ߡ]<co{42!JCneƅ.9s#e~HdP IUҵffLecIH
+4Ζ8k<1蘻Mhׁ^Wh>\WAaxlSB1PY bd0 nl9Ϳtө{=m
+'D πmLD9E vkkG]Qr*`pq!L~20!!O1UytÞT1em+)1i69ݷUJ 3iuTRDJ3b\+neQ5
+; nº=I<߇YhK<hH,RB6NpTB?IK UɪpsVedw,{[6bYc
+! ߨ6oNY娬Id]ە®kwD<Ci$9ƂXx1fOYj[K( M7 ~ۆB_:IXJ]w *~aEwI]ׯEMX'\vӮv,cP[Fl\ןesgB-ۺǖqdHXڪ>gFjL]2
+e O>GT/!Fc^)%^B[tU֔,EN
+.Obvz&
+Z17һPॸqHSvs|:0,j0iRݍA3 0/fVfL\lGv' 'ݐ`H.\8䄛1ӟKz쮔۷QqaO"-sw )^>;?=OK@P.g~KmPp "Ct5km;]љpJ$}V,iZm| 3!U+`P 0% [
+Cp@c>B 'C;M
+}MڬAKf.%i*Ѓ//R3)œhB%[pŭOl'x]?lkK﯃
+_CDp/&b%Svuw¯j2.=;)1s?-\SH9BG(vmpEֺ+OsoN]4(Rä/S}
+&X#?U"H]w{FK: /G<RYxȡ a>ţMAfr<Թ7^3o(
+F2::NQ뚦OB_R"n'w"Q5ܽ?F TgOu<f=Z<Eq)ScN_`s:pE]%4,2]®wW0UƸM4+$rlD_aIĵXPr3<'gMzq~}ch
+ r_-&x0q0J/\; \R怐Rng-% -j_:fkzG8%| )
+4T' rڞh2Iɔda>C1Y*Ujq5I5ĦY$.v$is(jUP;>Л_5UUSAɌOHX`sUS0 _d@=<x0=җ
+r.i oD*y4:5Ŧx
+w0 ? <Vq|V[Ext6Q AU4PMac$^Iga9> 7:g:r($0 @4 @Cy$pZ
+uu`*r;鋆M֞t{;!LW aa`͇%N*aoO\hwKߒO *͙՗b^d4hY[+`1iʫ=h/2HrVLDgMYL*7mS"/3J!Utɶ gǘ$2eCv
+?qd wmͤ }GNjw*;)ݑWr?r6y9no6?\묘Rs]7҈i2oCr8h?SJ Ǥ¨? -78mQX7vY6NLcVu_6
+;EiB7@\L;;^4e IE6(= _$} u9Y;/,qE|{f듟s@Tb4w ,U??ZT߶얊3X]]学
+gWVr~]lGC);`V-}6`Fiݢ2P~ {̗?5yL\^5<?->Ȣ)1 .qxĹC,sM(0Y.9
+?,PC>(6f3ctR2{ju'0 l}{g9
+endstream
+endobj
+536 0 obj
+<<
+/Type /Page
+/Contents 537 0 R
+/Resources 535 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+/Annots [ 529 0 R 530 0 R 551 0 R 531 0 R 532 0 R 552 0 R 533 0 R 534 0 R ]
+>>
+endobj
+529 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.281 389.067 440.927 401.62]
+/A << /S /GoTo /D (subsubsection.192) >>
+>>
+endobj
+530 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.338 389.067 539.579 401.62]
+/A << /S /GoTo /D (subsubsection.192) >>
+>>
+endobj
+551 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 376.946 151.5 387.174]
+/A << /S /GoTo /D (subsubsection.192) >>
+>>
+endobj
+531 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.613 340.815 447.837 354.762]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+532 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.325 340.815 539.579 354.762]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+552 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 327.033 183.115 339.586]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+533 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.14 217.008 537.889 229.964]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+534 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.736 202.301 269.93 216.248]
+/A << /S /GoTo /D (subsection.170) >>
+>>
+endobj
+538 0 obj
+<<
+/D [536 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+539 0 obj
+<<
+/D [536 0 R /XYZ 141.732 696.786 null]
+>>
+endobj
+540 0 obj
+<<
+/D [536 0 R /XYZ 141.732 696.786 null]
+>>
+endobj
+541 0 obj
+<<
+/D [536 0 R /XYZ 141.732 684.83 null]
+>>
+endobj
+542 0 obj
+<<
+/D [536 0 R /XYZ 141.732 672.875 null]
+>>
+endobj
+543 0 obj
+<<
+/D [536 0 R /XYZ 141.732 660.92 null]
+>>
+endobj
+544 0 obj
+<<
+/D [536 0 R /XYZ 141.732 648.965 null]
+>>
+endobj
+545 0 obj
+<<
+/D [536 0 R /XYZ 141.732 637.01 null]
+>>
+endobj
+546 0 obj
+<<
+/D [536 0 R /XYZ 141.732 625.055 null]
+>>
+endobj
+547 0 obj
+<<
+/D [536 0 R /XYZ 141.732 613.099 null]
+>>
+endobj
+548 0 obj
+<<
+/D [536 0 R /XYZ 141.732 589.189 null]
+>>
+endobj
+549 0 obj
+<<
+/D [536 0 R /XYZ 141.732 577.234 null]
+>>
+endobj
+550 0 obj
+<<
+/D [536 0 R /XYZ 141.732 565.279 null]
+>>
+endobj
+129 0 obj
+<<
+/D [536 0 R /XYZ 141.732 191.342 null]
+>>
+endobj
+535 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F62 276 0 R /F96 275 0 R /F133 289 0 R /F93 284 0 R /F73 274 0 R /F63 241 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+555 0 obj
+<<
+/Length 3465
+/Filter /FlateDecode
+>>
+stream
+xr6>_[Ă$ΤMf7Mr%f$zEjS[@P]=I`/ Cg3: ]ysQ1cXn$#FQPn ]qs\Zi->d\pX妊6׫tgĦLJII5L;U^y*6+x෕IQs<ޙdYT ChR?~6!Ib,Y YR]'W?UVOWwٺX}
+ˤ[\g?ysVс
+jKGwmDwiL(k<Ьv<%<Vr*!`,֓CrAM{2!="u,iDuV\ R)ĉ"/E3-14C`x3#lQxh/HVBg=#A 0X2:ӈhCPΈhPyQ~BgsINrNܠ% [5A(mlZtu!zL91Sp͛ipf`3a?l ~Fkg7nnXř_0K e$hᙞiS&D𱑭U|In;c,Y8vQ$Zkb?FDV߽+؄ 5$-dhHo@~e%"ۍÜdwV& oTcE+?`W8J{LBe;oiJbN]5d#ZFr7 xz(=eeueޕ*A.[Uƒ4za#H
+{׷Q7No.R*~D8;y-D-8>c~F]/M7q\>;Y])@qƌQ%ϗ}ܩ:UC6_~ #:wM
+au#rT,E =YCT-KK,
+ Yb 'ڬZKՂ_5}l\蒵4!S
+
+mgseZ0*%PB24P"4sJ(8yѧrx9\C8M#ND3+YD(n&y̶@_X1 CrEc(!18WM%Gd 9snS_׃`:WÀb%Jxg4cRca@SaTX u#nL0#}3ow
+.2Xs8)8ؾIAN/ q.(<~v\bM &TWV%.􉠔30jj0<C\&"D -[1JЄryvfԊ)@#06Y
+";@kL{r: b1)}X y]Q_!ûh }D"ުI֌igTa
+<s<Nvs柙Rs(tW8#zFiQ翬*
+ā t= VIRcbL1t%*beh<VD1roŹ({N䭵@ie].73 :!ǴB&{5N"1) _vXn{Aeʊ- 8xJƀO[@=^Uk+K .hE~vW}w\SUJ !n[l]_#[=ZS!xMlkMiryIu<;Ăю /Dnүr=-mWw~佥
++9<ʞ^H4wR{DPSҎÚ,.zԑ͚1@ x&&[QUC4yIP
+"eO2I}F͐m(!I.0+=S7
+fF QP,!qN1XFt,Qp<d(lR؃u^K>ODniuG4x;~v2^0rݜ2"XTm*mOR pbHc}۩q2ZnnoJ2<`D/Ǔt3lsyplﰒm[xs_bj ms%U>bɀ%*<GoY鐳O4/,jfRrHRKN3<d /d0cB,m^ )6cz)Me(iZ5B3jLĒm[;&F%c~c w8&^'}v j =-SʁF?n9!ׂUuo 6yܖ.ɴϲ ZO!&EHF[<p9܇%._l|AC lccb+<'k qc"
+dLMOd]
+;KI;cEhtLϣ3G?$M#̻1暱])uタ].-T&ۏ%PO 0D6)&FD%ot ?zJu㠴QoOvMS[hIƍ;ؽYt!pDeC8:5-sv'99!:(9XUw4'J]aY:e&䊓.XfTi8(X$|ʑ/ `v){}_Y3K7
+endstream
+endobj
+554 0 obj
+<<
+/Type /Page
+/Contents 555 0 R
+/Resources 553 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+>>
+endobj
+556 0 obj
+<<
+/D [554 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+133 0 obj
+<<
+/D [554 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+137 0 obj
+<<
+/D [554 0 R /XYZ 141.732 662.016 null]
+>>
+endobj
+553 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F103 277 0 R /F37 238 0 R /F63 241 0 R /F62 276 0 R /F93 284 0 R /F73 274 0 R /F151 435 0 R /F68 242 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+559 0 obj
+<<
+/Length 4050
+/Filter /FlateDecode
+>>
+stream
+x\KPrYNj&^]q\JC*k5bVeI=h9gNʇ]Q h
+ +(UwNّ{@#Pc=|>ͺ&"mVEYWB(×SD%yc]@z@68eCAvC}Mۢn%zcADcF雈,8X˛߲sܿ}Vz_Vꗅ? %%pka
+OFA솆<HN?^0L&l3 rz9VK;*̋Z
+<OIqy&3zҫAh
+uVi5/Oe@<T 0~@eIs7i„v(ZTuZCsR/c뀔t R칠q`}Q _PRx\Ri h&Thm}֌k$ߴ
+}.8a@8>)yu)8K~+juVw1D SZ@1ĀXB܅bž@α~+n*gNvI ߢ_NjU1):By)l|2^@9WcU{sN3w0"`Rb~x}?}_1Oh@qM09X ZT T>sA!\G-<lDv8m񟓋f҈![ύUbŲʑLP't`ո܈!F )i Z|HJ N'YŇNO
+t!ZrSy= lTTԇp.IJ!x!\$DeXmGەG}YbQJO\(i
+A"5"TM`)D
+gKCLӜ&w5G2Z)}GKt\}0LTK$(G`.9x/Aׂ7&ؤ=ϧ ]T`y4Eu$,þbָYx=`$r&dsOfp#jsn;>̵z8%ո~Bymm6JUAO]}elFS>mH;7uTyn&ЈSC'{AJMT*
+\U9ഴĕ5Q?>2>:)!퐩gn'#yXpR@EBYNnbJIA`KM8kʛѦ(eh]$ъM^gP; (~iJP.p T*Yu
+(,Y*"?I xNY>`0v<DsbL5s?<.Z]06,XrM;o[-uڔ_7oQ]hۈM^zh=aYo'L^7ggz't;a_+8?UOM?)|zn}*(+{,A@z"b\=QH,3f&
+gtY` M7}E*Y9'O+|;H0!dvc6d+.l`$P9-kg)Sb7;. $ =P-C›N9 UMX!f;*J+! !fn>Dt F<f_P- 8+ 8.жu )fޑ:}|g?.%|&/}@5peN/qc"cN&=!-*wG%
+XǕ UsINT "MЪڗȝJ@!
+endstream
+endobj
+558 0 obj
+<<
+/Type /Page
+/Contents 559 0 R
+/Resources 557 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+>>
+endobj
+560 0 obj
+<<
+/D [558 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+557 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F62 276 0 R /F93 284 0 R /F96 275 0 R /F90 508 0 R /F63 241 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+563 0 obj
+<<
+/Length 3994
+/Filter /FlateDecode
+>>
+stream
+x]~hѦA<$yڵzHm9,y|p'Y"3!ɒdwo>{uB))dɻ
+J4gV<Omҷ79KfřNTM~i`
+d ='8
+wo ^(KXU.6 H~H')Sd UI((r$OP{$Ab}.8~uLn/K`Pq| c24]l
+E.r#Ls~M
+oIa/+Vp"tZ'lun9hsO[Q-ӟ̀|
+TH9iC
+Ni/Ap5!r?fxt ]Lw`J80I, ;<h4,iEZV99=%4$_؏@ i9+
+K00OU30Z>R"LEUf,U]VvI2#HQe5<js>0GjeXbS+).@}km%Y]&uɠ'XiH/(r
+Bʹ&9-≯걿(=`/.„7u<gI$ƭQ#Zvm۾Y1]enMU C};l @3< s|tqRe*[(#2nIPqQm3\qgA8$&ODÐ3l䠀 E92!ivFfl3Iq+)]o2Axun*1s{KTЫ!$sDiGZm x!p$i"V|s1sG1% Q)/QaZ 382
+࿞37LiWCöDKZᙈk ڔR.hpK '
+bK\o)M\P᪠9Z$ iϗ(r"
+v5*؄s)lunlT޷MӚc$ 7ޘc_#TxY-.}u(rh;c_d0
+}xѲH1[k4EB<\e7xjzf%NioeЃHݓX?@~蒭ȴ;S%Dzסd}<zGGP6I
+p;@hX(3F~8s
+2aU%ҧz?kd&\/
+Y W "Y&rH9dm2ߤQ=!eݴꍴə%
+S3@T,f׎oCwS J.$pb2KHDwH]*rA_!#
+ Ԑw()lDŸ<6ok鮝7@s0NۏC^\}KCcrZ(;"Bc8)BcZJ"wxcӹK؈ct`@\J'CDqdCcp)rbB0GpHe()]!UHt<>ϲg5TH%W|\*fcW qҒĮb$AM\MT:TaTl El΄9^MyВW (N-ɓdk,/E6JE.J,O%?Y a$F'dp,Y*'dt&&dєS, ĸwsZ;%(nG,AViA:#d|YS4'ɜCs,Faz Yb҂9(҉sRLi:}2Wlao(fP󸺡駡o|iځs4-;R gO3HgXea=uEu]!v޻mK~QۉUNT /ys ϗak$7+yǶmnF9Mc }{4,-7Y Kpqsk]0
+vnBb]e6٦Ҷ
+8pӶn;Zr?1ZΫFeeGhfK9nj>|j9}T`xS؀=ݯ+|Е-@2#&}ci63fR$s:ecnb7
+Iuw|xiLn( QEzHr
+XJ56j۹PU幯$m]/:n72)Q<UJC=jМP5v+F8 Ld㴏:dcb춭Ƿ;J &N"*2= K=/Lsxq|ajT#VMm`e#F ":&}[ :{,OVu>Z?
+I$s0)`gaA,a*G5ߑh~ ʭlby(Ltuݔ}_OL#"8~:9v1 ~αgl}093q4'^3|-M+ r]WӚϥc, Dds/9
+sFo*S#2ʨk-K
+g
+B 8Rʤpi
+f a"<uMmcVUl|qZ!Y4QD{bA]ATG_8c F09Pmm`_vX3qAK!el{9ܘ8.T q:Ho,?/:ѺէCSR63y3kDp޽<~C{=YEozmnE{?&5 ERULA҅ b b/"h~ԄK:QW.VpeV᭯ħL j+Q_bǔͰ0i*Χeo X[|mYq3kIOTtUәⳭL!![Zj5b4J>dE<Ʀ?%Ss~(G]IWY>@y?~
+endstream
+endobj
+562 0 obj
+<<
+/Type /Page
+/Contents 563 0 R
+/Resources 561 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 497 0 R
+>>
+endobj
+564 0 obj
+<<
+/D [562 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+565 0 obj
+<<
+/D [562 0 R /XYZ 141.732 758.637 null]
+>>
+endobj
+566 0 obj
+<<
+/D [562 0 R /XYZ 141.732 758.637 null]
+>>
+endobj
+141 0 obj
+<<
+/D [562 0 R /XYZ 141.732 520.552 null]
+>>
+endobj
+145 0 obj
+<<
+/D [562 0 R /XYZ 141.732 438.592 null]
+>>
+endobj
+149 0 obj
+<<
+/D [562 0 R /XYZ 141.732 253.852 null]
+>>
+endobj
+561 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F133 289 0 R /F62 276 0 R /F93 284 0 R /F56 240 0 R /F63 241 0 R /F103 277 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+569 0 obj
+<<
+/Length 3613
+/Filter /FlateDecode
+>>
+stream
+x]}~oT-7T!wWwuev6L#u7lljIԒp(.GDPpbH%4xx
+*hH*DXi]?!/?C#>^@Gc N-DSߍ;O|B27#r•$Eib;4Lϯ Y̯nGnCp0v2iuވݥw/nUV/ڋjkZ~G8@+ Xx}+x (DJ$z7c&1Svw+܅Q:k !U$N9ʶi,qXETl_ZH"i2ŷRuV_oN/K i7HZv8)&.foKT Bm$0u4&}5S.C" 2O|_fwQC=i<G
+`X{& -D{gB"DS9qG'db9Nc0*ۺM^8"w3ۋ\HZ8ObP8w\ 'NgԌ(QVA9S ^GSfҾ2
+$bR*-`jSY%Z/Uh,[Xip_0sm!ɘ'DxԴ?E, Vg$%
+<x' i>DtY!˅
+-葪$šVhExe/q Rb֙eN0N6!x"#=8T@赻`} Fkl?*LDҋHW2=32a2Ȑ|s ﮟDM;@`t(&Lj#@/_͹_g5
+,?3Q{Փs爜ƂKX ;
+:=tic!KlYchy
+yvggEDC!-FMM7%eY xDʟ,0Zj<x8b:*㣵2( q/G$h 辙G(*"3&͢2toѶ{ǝրԛ{2"!ZxFeRfު4KGOT
+%Dqz?ͷq-n8.{V.2x0'n TxLNެl]FMEu?82,W
+=4`w]P TגhBå-% 9Xo&poKL웮rj}fMrŏ.%/
+{ntټk)(\ql/. E_]$ZMjH̵E!N-713'cWYC5@^T2psG&pt
+S m„E~"ȅM<qõp3"Z%a2qJ)IY paa>aD}hܪrzR{%4;-[]Mb<`Cٲ\8Z<o|0j00Rkj96Q"1[!}oD ºI)VJY@(~<Gh)L DGB*]`4iSD큽dl
+.pNΫ-Sn<apk]&,xR'&nj1;
+YNq˭䔐VMǬN)%`>5%ffؠ 5%ejWCMiO8G_r .3sJ+(k9 '|}!ծW]CO}S۟Sp^=1 ʴsbn-pkCOׇN1.&?Nt'xZ~K?]r8VP/n
+v0B07N[7n6x2CA*r8^,Ҟp,3<fdS&t<y,6y*{n6"cSMd>mp<͗54{O厍REmr_ӵJNbIM?H(G0 rɋ.SRcol~{P<r+|i?3]a`_*k[Ǵn,P]n],ܫ|^~V6Evg QV^^e%~4jQoLG^_( xk8mZ-a^Ŷ]-E}28wl Ȏ+;2+ry vMUHWD'y}}HԖ&M0tJol=#,t5I1$]j׿M sR&]* ?Qdדco#AG#t#C0¬ mu4#&B^C}Qm~n#W6^*^ w.o)K
+Q z7z?Gً#A</Ҏh *J|8l)_~ļƵ*?+P ӗ1)#C(>_k<!O8I>lYVCAz <Ĩc|ZAO,/gѕ.bVtf7
+endstream
+endobj
+568 0 obj
+<<
+/Type /Page
+/Contents 569 0 R
+/Resources 567 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 571 0 R
+>>
+endobj
+570 0 obj
+<<
+/D [568 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+153 0 obj
+<<
+/D [568 0 R /XYZ 141.732 464.506 null]
+>>
+endobj
+157 0 obj
+<<
+/D [568 0 R /XYZ 141.732 303.307 null]
+>>
+endobj
+161 0 obj
+<<
+/D [568 0 R /XYZ 141.732 221.85 null]
+>>
+endobj
+567 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F62 276 0 R /F93 284 0 R /F37 238 0 R /F63 241 0 R /F73 274 0 R /F103 277 0 R /F56 240 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+574 0 obj
+<<
+/Length 1520
+/Filter /FlateDecode
+>>
+stream
+xڝYKs6WḦ́${LdC'm|}`DXv߻xPdbBo
+&y@fX$Gh#G"h
+9A*]r=oy7\gyˠ̇gCftqF 2󦳰AHN"J'8陸Uh 9cj@ƼC_IAxJL!)oU)P5 |k7餅abo)G(`mQAa 2А%$xSu,ddq
+ E 78'ؾ|G
+ D9h}1G6$0,q9; :ꀎ*SC|qvSWX +uy98e}4 "/@c~؀ %r!L\Er3f.aOS``Fˤj)o *evPjCnrqN T@81׸篑T,y=J0cg{JdɯfSnϓFƛSHj\wp\w^MsX"yɰ z|k`mS~ 3
+yG:gB
+gimل
+m۪kP ~"
+ _$'{uBQ0hSm9вSSSvsϥUݜ)) ?.]qf.(H+6s݊
+uD &ܼzV_i.e+GDo7J(,ݣ/{yx:Q
+^]K
+[yQע՟p1ճ2_i==<(M4al9"$?5IN]jlEvaÃݓpzBc$չ<6.*dDv>R #C_Y2"pA?::N/rGgznWFtG_Q6~Bu벉xQH1:ϩ(ƆPW?v&
+endstream
+endobj
+573 0 obj
+<<
+/Type /Page
+/Contents 574 0 R
+/Resources 572 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 571 0 R
+>>
+endobj
+575 0 obj
+<<
+/D [573 0 R /XYZ 140.732 808.885 null]
+>>
+endobj
+165 0 obj
+<<
+/D [573 0 R /XYZ 141.732 771.024 null]
+>>
+endobj
+169 0 obj
+<<
+/D [573 0 R /XYZ 141.732 727.188 null]
+>>
+endobj
+572 0 obj
+<<
+ /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
+/Font << /F37 238 0 R /F103 277 0 R /F63 241 0 R /F62 276 0 R /F93 284 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+1 0 obj
+<<>>
+endobj
+2 0 obj
+<<>>
+endobj
+3 0 obj
+<< /pgfprgb [/Pattern /DeviceRGB] >>
+endobj
+577 0 obj
+[458.2]
+endobj
+579 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+581 0 obj
+[761.6 924.6 598 435.2 299.2 707.2 1006 734 768.2 666.2 734 720.6 462.4 462.4 544 962.7 1430 462.2 693.4 892 489.5 658.1 761.6]
+endobj
+582 0 obj
+[525]
+endobj
+583 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+585 0 obj
+[388.9 388.9]
+endobj
+587 0 obj
+[761.6]
+endobj
+588 0 obj
+[536.1 536.1 813.9 813.9 500 319.4 433.8 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.5 680.5 687.5 666.7 944.4 666.7 666.7 611.1 288.9 500 288.9 555.5 666.7 277.8 480.5 516.7 444.5 516.7 444.5 305.5 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7]
+endobj
+589 0 obj
+[523.2 523.2 795.2 795.2 489.6 311.3 424 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 652.7 647 649.9 625.6 704.2 583.3 556.1 652.7 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 500 283 555.6 647 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.7 375.3 353.6 502.3 447.9 665.5 447.9 447.9]
+endobj
+590 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+591 0 obj
+[795.9]
+endobj
+592 0 obj
+[550 575 862.5 875 500 300 388 800 489.6 800 750 300 400 400 500 750 300 350 300 500 500 500 500 500 500 500 500 500 500 500 300 300 761.6 750 761.6 500 750 726.8 688.4 700 738.4 663.4 638.4 756.7 726.8 376.9 513.4 751.8 613.4 876.8 726.8 750 663.4 750 713.4 550 700 726.8 726.8 976.8 726.8 726.8 600 300 500 300 555.6 726.8 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450 475 400]
+endobj
+593 0 obj
+[562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 894.4 875 894.4 531.2 875 849.5 799.7 812.5 862.3 738.4 707.2 884.2 879.6 419 581 880.7 675.9 1067.2 879.6 844.9 768.5 844.9 839.2 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 575 312.5 555.6 849.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.7 437.5 625]
+endobj
+594 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+595 0 obj
+[555.5 555.5 833.3 833.3 500 277.8 373.8 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.5 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.5 777.8 736.1 555.5 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 555.5 750 277.8 500 555.5 444.5 555.5 444.5 305.5 500 555.5 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 527.8 391.7 394.4 388.9 555.5 527.8 722.2 527.8 527.8 444.5]
+endobj
+596 0 obj
+[869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 575 319.4 555.5 869.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 607 319.4 958.3 638.9 575 638.9 607 473.6 453.6 447.2]
+endobj
+597 0 obj
+[461.6 461.6 461.6 544 544 489.6 979.2 0 382 272 299.2 571.2 544 544 816 816 489.6 272 358 816 489.6 816 761.6 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.2 734 353.2 503 761.2 611.8 897.3 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 500 272 555.6 734 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8 435.2]
+endobj
+598 0 obj
+[354.1 354.1 458.6 719.8 249.7 301.9 249.7 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 458.6 249.7 249.7 761.6 719.8 761.6 432.5 719.8 693.3 654.3 667.6 706.6 628.2 602.1 726.3 693.3 327.6 471.5 719.4 576 850 693.3 719.8 628.2 719.8 680.4 510.9 667.6 693.3 693.3 954.5 693.3 693.3 563.1 249.7 500 249.7 555.6 693.3 249.7 458.6 510.9 406.4 510.9 406.4 275.8 458.6 510.9 249.7 275.8 484.7 249.7 772.1 510.9 458.6 510.9 484.7 354.1 359.4 354.1 510.9 484.7 667.6 484.7]
+endobj
+599 0 obj
+<<
+/Length1 1711
+/Length2 20278
+/Length3 0
+/Length 21385
+/Filter /FlateDecode
+>>
+stream
+xڴePݖ6;8ww %;Ip>w朚_Q˯ֵv7UP(1%@ ,̼
+t0=
+@g#u{ Aə [4!bvs107Z kdbmdm 0dvnJK
+g*)xϿc ~Z͘%
+gRK&JPcټm%UMߙ*Hj2jf*WtҜheǷ4Ox:{NݤUC/`:ڠut;?bF-AաK-P7l^:6#U!i\!bOpEf$ud )˔շPh #6W]d~@4eEMmLs4a}kncml*
+#82Vϭ<D:$ \Y 6~]
+%4G MbD shiO]L<pJ~
+ ䷀i %rYմ~%!ty4V
+ZuMcjM|#!ARŪGd`~O6)eW|dvn;b+q'R@.cB@9l4O00 K̈́o^a0g:ٟ~|?dH|uA;ﺍ8t2&{ Q(Wccc#e^\y{P|!VAd&ȶ0#M.7ԝvt89FS]~F;a|HK|()<Y ɉ UF݇Ԋz7'ޞWJsH-ND$a߇'*%|9ꪹBxs\tQ9T:T\
+a9aVO1UvuTϱm(vLbOO{~W=4M|iy [PYw`rGցwUՁ=*cL0SVվu}dZVl6!dß[+: L-yCkeS
+Ug9$VKZ󦊈@#^Ҋ]EBs
+ }rIXX6rn.nz"P;1l |0<'2_q:M≠O<3fGT@<$6#%*Sy`
+ݨ!)-vذgGxb4D6 Yڧ7ͱgE:7ʗ<V{}P ȃó<Y˶^:uGj'nT%66&^ԏnE@(Wu6uᓅCQA m;R \c:\_|J1寄.%?pk6zҺ޴6ձ? yZ
+g0a|؈SӝKi:}
+D%I$wMZ5[<OM|۲vCTz$nRbjޝjg 3Ql*u$ rJ3Tw'Wu"Q6jM{DhU
+$V#qoo^}d<v6~Q겳`ڴgYxꐖnХ?ә+AP2ۙPIc
+Nzσ27{:>#(qYI@,x$(7[ 4;ù6
+k5#9& {3K9 ɛZ<c^2ygo:urk@Y*)̨U@.Bj)NaxFR@a<
+>]vE銎]&Sfs7Zgе ?[=hY>y@)yMYUB_en
+k)!0Ug|`[ ЋXnIQV I*J0qQ<8XiXzrt[Bz8wN;(`9ەKy_|fV<IJa^~嗓zC#lNNy_x&/ g8}ZA(%)Gox}߹?qॣ
+ mDD[^%&כT
++wFp^[MaI%wd =WOq*dSۮ
+|A72-ʳq\CU}ښh"cڢɢ;yTUco}u}v=ŵѨPڗxӌcM\8cc h\w<E˲~Ck&=B"ДJ<)MKgrQ-@L yE~z0NLZwLl⊱enJ+d7`rvZH$b59@j.I{5J#ߪS׀BKaQfb3E/zBiIu&PDۡmĆm:qiY*Y鰟ؤ䘜MzA}H}
+80a+GJOu?-}[S1J?a >v!а޽aHԆ jB(\'6XJ]JN<hŦ'Gh3,4 uBڻkiKO<׈pMyϋ/f8Q=` ;~x`yB(+5.$[E Gz6a/8g 3ҥZ"b&m6ͅ$5TI'hssUÂmqNN .>{jB&q ^YA1gcl/ܓKhDbQ\aBKP}[@%:}ٽL(%ĺ#EL֟&H
+i?ѿ9⫺5 Â8]~q #qD9} 15ȡl؄&ȧ3FI+c0:<bqr~_ݕZ Pď|}vڭXGDa1Su1{4
+R:{b6ZxY eb%~Ubg+jwDq_ skELGo%rh9g1;*چY:<3r|Xx5;^Q,FvV'W;>ԺA$.}!o:2Xqsn(#u/W$`;K?ϻZVˠ5`ю
+%meiIg^%4y^3v66sݏ=UxeY7`7_br&dqph.stFSWBt@=?eS6DZT&g~$ S2%vӈt JXDlW]ߛG%ts
+&ɲ*21mvwЅ>ia<Ke@_\Qۿ:<B1:N(iM@%GS
+:'A]twZ8#\I2|)S&
+q  s7MF{;X
+6ںh̞W{ĮV;##@Xi,o6Vm
+1w M@5**+N` 4PL2lY?m}'tX*r
+k(7;hR岢6
+uxȬjbɊ󼰠J=׺jq %ijR
+㢡}jh]2j31LO!p4(%PDhx#oڒfSEY(^Տ45tܓĊ7Yo r8<e/mDHMI
+UG6.u56R<}Ж ~CƱ^!ќ ?Z8v vS$oz FMHtފHOJ+)q9#&Xa!$s)й937h8[2KKgH/IH>
+XҦ]]ݍ<T+ϮGSY4@,;UA(o5'B qƂ fhL F^ޔ1r
+tJ]GC fi\G] c}wӿJ2J~|_>m[>y86qd oN)-v2lrLQ'I9k]VEs{D0$^( 6? %twj^ߚaKΩzQ < BQ0ݫx2ߎ0(?H2]5أo:p=4#"S
+#~R*g^< vaTSHih h LܩEG_zXf)Ik}K4zb T7<8*lns"47X499Mk"!Wb4VzB Zgk3&;j*5 @0L_ˡ~ʃȅW^1ZiSlX7EkF 'X@mh?*?;M/¶f%yJ!8R._ԁ]K!a3X[\"WPY}Y= b ^a<>i``|jb0fU]0qڋ8˞-WwʲWj[0NMeVQtdE_-:ej|Q %d1ESGI&^~eZ6ʵqws1Y }#9RTy~I1s:hc(P߾呝o1{
+Yl= \稪B@&e5D";E-=|!rCSYUX#򥯃V <\L'Ƈ$60y`:k_-;ydСT^ xO֤,E"sq~vEzVgځPQLK~ڃg=XfSuF44eAԶJ_d7µ6x^.s;h:*Ĭi%J0LڢԚ4eƝҷԎ+GHļ!*ë)
+ll6:߱Տ Id bHې4<+e$ߚGCG~}f=+{\8T&ES3~8eG
+!<h"V*j֮#m`gRXf{ 3glg,WOцkE]Sn
+|DzN媟ro_D%zϥS )O>V
++
+c4䰳97۞E fN|0Ս챱8T*~Ntg;
+J-aN.=;88ӌK N[V GNcw=<XN
+n['paSYQĜ|qayJc
+ Պ?nyLu dmF!ߖvgҞܻCbuZ0E:ݾ@5ĥhU_O ؀3w/Ga"5 j/XLZc%G[a󃳈;hflIi5VȕSo+ӊuECHSxPhMK"k05N>#82en-[%Ʌ:M.~[8lPZ)U=
+QA@tY=5eͷRɞpe%l/սL'PZ)a0GiSOYj껷 N;{m|>A}lM`n/pFP&|!ĵ[{,C:oּ)}#+Q[k)/MV߽!i̼~yy 1KpEW𒪷 VxRM]Jirܵ,h}ΛmхvۊI/E D7^Rhنt|cM<S'ys듲
+ĸ$sjx1Se~'CIߞW[&=t?Q*\QNTԿ[_ivB̧뀌B#@;w.>PuOxR .o9'uISw%}IehhES(yѻ$ka-(O=mB,ygFb L7Uf+F?k4<QͲϑ*ѭG`cfih* c+ bQbc2O+k lrUF3|1.4>Q5|coY_!.^OsToČNÝXBv_tk<҇l$54nB5bekbȚ8m],b0·$쯌{@;xNDJmC il_yG_*E mE|7#
+Ua(?
+TɋV4:aS>y}?IwB`m 2>xQ̰]FpW|J>HPtSUAu*؋e#<tIu8
+s}P6wBkΈ%CŔg7DD~{AyEm!J(f$t<;#;M纨EtRk}pnJjr]X
+Q7(qH2`Zf}(lPc+(gHؓlV箃ܿB2vEV?D+\TbO~v$RԢBF
+@X{xYցIl=Ѷ5+ N갭}WZ83.hOJ{Q24<DEEzC_^72֞7Lhw.q :20Hʢɳ=S m˼$S6ƹBv"-
+$ObX\ͺhxL»ts["DLU:,ݴ%,H51
+ hƧ
+-P,+
+F|e0= 0(u̽%>>7>tJ
+Ej\` N(,% ͈wX@ -[JCڐTi,*Ip{s_xAݐ
+C&p曱/ІUj9Dj/. .:~p'&BhOՋ:^aԫN'Dh#,G3A?!n ]KZdLxZqށ)T~$mnf?+|Ul px+%OSO08 :\KUQ+aJ8Ar~qNu~-&+f֜ _Wթ/dWeٲ]Lhվdƴn( 9ZϠm\|*"j#<€Y]pԈY' 1ZBYCjx軂)Y&SQ'%'{S#wq55 f; kV%vN>ѓxbH,J@)Y;9pƀ/x̯>ag8sfDy
+x|4s0vN\QRWX&}2|toߩ.z/IidbߛA ~Ja$J*҆w)}J3M'tQ]̦4A_%fv
+JSuAEݡ`ʢqD,t9uۗ *o^1:YW-f9@A/P?4f%n;ȡ[pB*jlj*h`HnnV\5q,!ࣝma,i6Nb.}Ζ_$$f;bwh"4!gD☎5޻szֆҸÛ aq^\c͙a 0Ev dQeV.=1(0g.YI_a8O_^+Uǩ{llol(|ίS%O C֩7q[ST<CQ=*zhlFEZXЪnet4y)*}#SDP(&Q^2PR}ôK Ȋ~3!s ܫ
+-]<&V0T{M%ֺD,&+9_~)Sjc}ݗd:4L?f^Ih@e%!9U BoS Ao,p
+[7_M1f! ]V
+!S,S W/v[j\6 F$
+Xi7,L8QK@%%3dvr <œ*k ߾Χ;`kNlٛAK||Ǔaj܏c=ϭ%DxD$=R55ԇ.27%eJEP-~<~{iF,"\ZLD7M<MۢBv!kSb#l?W1uW3壥 +BW݌lC05G=׽iWϳstB.̪L3Cl)J,w҅n
+n>G̍h%FL?CG` bqьtk(CXx$4Zʼ
+ }zú5XYVBh/Bɮ57AʶЀ-\/.=ۣlPW></
+_VNت;Q-h cz$Iq'D7e%uBqME٪1èW\d,w14hq,*:ӳhnF 2i" Nm_ AP}qkf
+ QoD3US@zqhc0=Ԭ2mUF7)4gND'y<67OԜe2r\u&-ݨXdRX?Q[ ЮvkDN5\&8OKY輷P
+mS@J 4qTG?XMOg<n`1N7-\i;qO=Jv!Ě
+$L?zqW"r=GK[O-iFq^W!Io8{ZRR>#Aas(ML|7.-YϪ^SVQYC9 Av,$e1G[\eL?':O]C"3uNYv
+'chumhO:xe |8 pr8ڛ)de,.XbùL^,y3G5qTYzϔu)󤪂bJ奂Pڂ7|@D/1*|%qn_ĥw8~~12b<'_v n7-5ԭ\S^K6$EWVۭ[O2;*PT%z a ˛踛S@$ٹKUx* ̷/~J#/vU
+52C"˧jќU-
+=g)2曖{NсG;ɴOg!y1H ^8#kJUX\"Y+(xU :_RT'03=M_<< ´Q践~]5YZ~4DWc`96QSrPq\nR.8~XyqӽduE]Ǟz2yIS𽗆p92y91-M["ݘwnI\>K/ H⿯Ql~` g |
+n2\cʹ1:=o~6?KX7@Sϫz^1
+KwKdNkĉ·,V~iCt}N;+we}?KY9 TUV?B6V杄$:re{~ayRW/*,n͟E#P։@fg#i]{8%kAR_~둮P6h$tk@"m fpɾl2˾NL.'i8ұI&plg-ؕql5lD!fי!Zn~> dtչB Ħ0/fB9n ~/wqs2 r!B7&<U͋B߲;u"+atv
+MxmN"Gi;%Z nUd)>c,\}؃~ńv^ZVQT?Sp [s7j6] f]Rtme*NX &Ҋke0 2c@'P覬d@ gC?$5<3GKxr6vM7fж}W]^^
+a#Sʟ݅lL媳 $̳Rﴟ"=`x 7>!liqZrr!]?fp;΁M U1?9GvV.=n}1s˻=%dâ7.DoE,'\-{8/s`}1Jht i!WƺBHWy*uVۉK+O=J,.C\X0K̆@٤Fyrԩ'KXWJ )PR&82Ϩ"/A]$Xu hI's,*^^ͭƔz>i
+W?I4"[q
+endstream
+endobj
+600 0 obj
+<<
+/Type /FontDescriptor
+/FontName /LRBAHR+LMRoman10-Bold
+/Flags 4
+/FontBBox [-486 -295 1607 1133]
+/Ascent 699
+/CapHeight 699
+/Descent -194
+/ItalicAngle 0
+/StemV 114
+/XHeight 444
+/CharSet (/A/a/b/c/r/s/t)
+/FontFile 599 0 R
+>>
+endobj
+601 0 obj
+<<
+/Length1 1785
+/Length2 20235
+/Length3 0
+/Length 21414
+/Filter /FlateDecode
+>>
+stream
+xڴct$-[;Vcb۶mmw۶/3o(,5s"'VP458330
+)@N3grYQAMQfƿ{
+y"TΑէ`?/wbZ4::88 ?9/E `TVPP/$jcdklnc
+`a
+oDl[nnUo)NnLe>4 aj!![7Oz6N
+Nyj>k,s3"
+n'd'zlAQ)(nMxR <
+* RƋ&|}:2uhىdܥ g_\K9*8θL)WtD . _fT|үe%/x?7D^T>tf`_]o _). ow~IX[ĂeG㍫jZHXaX=I+Ty HtSґGW&FRrvRƱzo 91!mVRmZ߭4!+ M LHK!P EhuZ.:ᅺ1Dzf.nn؆sPBdWeH)aC)SNgBfDJނJWU- /y<\.&MYizG-5KIt)ha"]<W\PT!Ӏ1f
+uHO1I4uJL*Pun
+F@P΁ uK Cw:jUiT
+Oak!gfn ~[ Zr0&q*뵰p.
+کܾibVZ+fܞ,2!
+Cy={ru:PTgXXЏLhKt(1/_~xfY˝B9d7XR|
+ENTɣtML -4hu_R=`譓e ׯ#D,u4fIV5vsgƙRz54C?kz9`=@$8}TEFas'";-5]qvf-ezYC>yS q
+Q403XSӔhRVUT9CnCں
+dR0[5|[i4hr/校&3;%8Ǜx B|twM6G)MOpp]YS%ǖ8{xp4yt!VYp:}WD {D9GAX&n.=YIU`o7C _@ ̈́sujg ћ8d(XÀ.'S鏳ol՜R.2AuMq|!;
+FJMd#dCNCҌ8Hs!h[+!+"A-I8X#t9 ^GVOɼPWy؍B!Dⴺ^FYr2==["=~U7}O$^YhVbkafiZϻ$ԐMSˆgL s-8_+.sYLd fbAd9{h/ .D~!=`R*bhN(d@"8 nfZlkW6X-
+IYeDdi"sL>Vsu23DrE.2Ya;
+
+pCG)}As/RoI\IYt6VnA} OA;g1}1gyX̰4{ 0Ã`} ')99!e|
+UtǕ
+9 =cO` _aRkgP4j*@I$0,g#vwgM\ blXtCV)HAfU H3amؕ߆T3cD`bL|Z|
+l
+vN>TM-xϵO*Zm)7@;cΑ ܚʬ!H3WÖCR&>tf#vn
+Gf
+>uv۠
+x/z="0 {bQx}kϪ4Up3-bĢDs,QG(B+ćFʌR1oK(X2t50Du0m=YԺc/|^,,["!#81Xk":'7?3{o!:`omAw}_/ I;:8chҐF!j!-s5wȮb g
+֭Džlaѡd>Q[˾'e g<5jvL9,D^:j.UPt8-ieބBU ȷ 
+8E~:TfVUo6 挮Tn.~)s/18Q#qUNZ%&BkJVt|~LW}>rc8(>ٹ  H2{p }>E \@ 1k,ډL3R @ C>o\d}&i$|o(q/u"bSXq>p_){L7k-.!xk_ɮyZ'g:KxB\炧E' ki
+ÆEh^V-97ד{c:oqpp/S}*o5T>v϶7~:>dPÒ{m.}l<8t 1™zu<ߗfن_fUFE6bŖ)ːj{ ܚꣻZioFh5Hd`-^Sn/6 Hgo2n]}ڧ;_ ot3Rp!q`
+a%B1H$^VСʥrI4C/ )pli%=iO-<_p"䍕׽Lf=$e%jO,t˝+&vP=\Լzw?%M>lZBQ~H;rEJOaԷȊُjV_5m8fSM2H<AyCtMT V=ub*T#ATOϋRQ!d̤'qu1d{ҿ ȭw:"`# D!g[n~wP1*v@أ#ZGc!+s~PN܆ ի ԗZU1G>J/ T\L):?<ANM1 ^ΛPXc#Cx$V+?(Aosf:dYcM2`#p\r,Kؒn$,lXՏŶ};^5@FMfCtcl
+J(CgNO=I1݀S?Y;B}
+A3W6) ;&(Y/Z Y?'_gQ*ҖH9fO bb+]9]dRj31/&vkK[27]g+yMnЖbU1,jFQ,
+i5Ŝ~XN#+X  uxءN;LX" S*6,'-5ac4.n&ui;Jb)~He-*7zZyδ+$'74΁(IDm n3HT:!1\aU҃HH{m6~7rd7s[u/]/Ä9aɠhąSHYraK"_/'Ħ M2CIJJ25!=/h"7_CcW RI86E$lU+ׁ)O rxI76s%ĄM<k\
+
+YR 'ŵpHVnU*6PA2X9ݞlfڪd%tE$-؊5 2`z7w".Iv<)u˚8C4u+&0vr)?z<{ 10qƀ'*bB}tB3 rӗ?
+20
+Ke6`5 p:lϊ/"MB2Іk~2<cC엌vQ7H&9 44`%?Jbb׌v-:k;6T'do6u䷲5"\ b;'>|n|*iڌ|[Q$-WK% y7Y>n{ a'<g5y۱e1Z9Xg2e5͆K=dCH;7z5ۏ?0 !C#+<߰lM֫t5SFR:m+l1 Ii8]ڝ`."=t yM8
+<?\P Wj-]wՈq4F)l̅n馭 \{j&XKN-#^ ]*Dμ4#Nnd3O >X;s{UfM{@~!A;>uYN }[Qh#n>u0/yD%XSG8 ׇaBCxdytb[d$tA-!Ͱ&@o/cu >@ '|gl/~NG,')}1 BL:ШF\=\ĢBzhԄ/!>4Im<Zp4޳34QCcT5B5_*elxQT=8VA|gjY J"^d܋\d¡E0Dk4>BTp/15]NIHl؝ІH]B,1caB dK
+? yj=rXL ~`*V'
+c,م\oP~>'usb
+vjt::x1SEbLe;'GސW&]إ3Ԙs4tVoYr
+eH@7v ~`K Y-jUIs)x3Z+ǞwΧ'ߴtR |2vFB5̮DLWٻ/2ŽDys W\xENQ-.<(!ö E
+՞&#A
+k)SKF󓆂Va2lǛ/f+"j]5WTuSBzvZqex<_I
+YkjZfkK=o5/
+ YsT4ڱ J@W3f&N ٲHW_&F\ƇI|fҡU>=-I>΃ecד<o'$nWHma.MؕAKVh‡g{#xIJI7X4E7R c ! 놔ֿo
+>WvTT#SDwjy<4L/
+չ桽:d^t ƒ'U2/lh^7@sSZR RdFM*pZv]XPR-+:w<9uWq=okGC֧Щ' 5l uȡS|ִSҦ-
+S"ݯ#lUMJs'=D%>ߩJUD^]n-dG#Ml⾒RmD4Mu~UۖV;N6XW$BA.y'^#GŢ2^`dQ 2G&EZG8
+/b!qTRU?cuf?w,s mӰ1XR)sOګS1Q̠]YiB͞rLkXkd-aR2e$rlxXRc2֦j̉Gm;k==3BPt#qx@a0( m"c/- $)dHS0 4hwP^3^ZNEn(
+qJ4dAȘ4aV=}4;˻9_e; FVʏ61H?79r۹@jjѦ[2fTcN%f&?$)z h؜Sg6i:.,Ep7 ӄlچS b z#֏%{фRAͭy%4շ
+H??=VZR J'rq<H ~7Udw0o;{$jQ2X6$wdToͼcK*K<U\32F V F~ 4Ж!!A"IV6L`ƶ㠎?[+:&
+Dc"lbI豴
+ȥz٦6:xoA;:% meNfyh]F+NF̠335HdNߠ7h`7\itm8*LGJ[ξp)ׯwuB_T{<҉N7^Q'0W{[T:)~ O5)z9<DaaKSbQfWm+:bݓ5c<e>0)6GId0J~#en;QI߀+
+',}t{v۪#ihʱ(%*O+
+(g.HQ \f\oVg/\1PM;cFؓFC46x\H"-
+LkgŲnnP.8\xt԰QgaL9h~^$JiU5]qۺ]*4 @ RcAZ+tBzYpwBN.:8)C7ZQ0941uMY:>dҸ󦌸R(:f9vKɊȽv;ڹ
+>tXL1Ye5XPh\vb imtth>OHCs"|: _0nX\gr4x(#Oy.H9Oz"CvhI-},5ӄ@KdkO]KnӼ K'oyΞbQЊ)LtnBӌe:0,g]0I&7f]'9<E,wFש&W8tVUNBHFq{|B*TC BKBbOszoTj!1;4.bvyۿx|1] Ȳ>h(G9TRָ0@&)/o#L-JȣDY|Kc|@-tB7Anpxq ] NL윟,cO ՘׀?iItَ?\^y/p/6[#:Ǚher!{*j{2 ֹ+8gg_<r٨OUXw(ig QUM0DJuײ1Ď4=ϼ<yehCItV]{vIBK9VGR7 ^1"W+{jҊG#(~0>nE˖QBB[cdpz׃0ud>Џ ˟s)%dj%vE@WFAO2&O1mpdM@7c:oj-,:EI7Qx'>ɋT (ivQ9egYt]+`ⱱ|kc< xz3C[ނi-;c([ 4R_d;hѭ@D\9xl*S7hi$WE)b5fbWanQrc)  k Pq\/O[iT_7Hd1/<g>pۢz(<E9JƴOHr"z{z
+_w8/2iFL@d z 6l+: !yl68j{Wob($
+[;s I*堪_wEJAϾ/VeHD$,/B
+4&Zh`yN(Ux--|pNݲBYc_(H5g^ia8ϗ?@]UQN"v[VR^VZ,[.YƤU7|IOzjG_0=G)-X
+ﴘv*|aT($\<Hҋ
+HC64 %EnOJ[gP" 6s-6kG0E" ?(Y*SWBlS)";{k{CFRtdh fSf:|&>&oFo.j笸2,[4U|Tr J.tG%ZiPTr;&z̈́< ۚ/߯_m<exO4lEʉذ
+oq*#B2pɫqG
+68IK]4HN{w쫫`wV2R hL& A`f$h{=2Kc^C MC;N%0Hl'TqStV
+T .~/u@ȷlwsj
+s
+
+2
+x3tȃ{^]`5-F[POK\ [[PBd;`PИf%Λ͹-鈘%l^8˰߃")Ѵ#z Zْr@PէT|C綕&5U
+!G3xT\RbS5]5-:$,HEw݉z=*{R>ɒqaΗcdj]5nCGqGBn݂cě1rH~(hJA ta
+Flz ;b
+PKL)RMoU(5E`8վqxsM",2x~f!5 _xyL"gA2 BafeiH U*m=>\K~Ywu(ɣZlܸJjE
+_kKS˷tne~緟)MɎsB ٤p&~k`v=NxHagc^>sp
+m.d*v/0v@8Ljfu{zFP=^;8Z)[&c;>L=ӆ|Xcv;mdW M_d|&/jl|]~ .C,)FOqo#<bmfk缂.=yaIպA1=KJ5CRF8%OH1eI^c#5<H: ?+>M9
+m*~oM0X/l`.غK#ܤ܅ qMZ”/@ȳ6' )8T^nנ6-2ж"mBEnI3Vnd-1}h4רֲңRԷ-vj—t_2cSS$MN1y`^\a.ߺxy+aj R,Jܯ.#(@Va'&𥓻jpj9Oʆ H|&X?+|i7^[)Jʌ-0$ܫ2}LfygL݅7±:&y1 =,P2">O[9k96vi(ƧCrhѵ[Uz\"]|l^ ޅ.eX)^,.VpbA8!CPO}vxWN%y
+p$}$3ycsto|oR A{vwo'cvT7 ~\ \%oe&J^[c1Ӝ jqE4F?%(hJ
+\
+xaݴqHk+Ȑ֧YUo{? [/[^ə) L?U946J ie9Yo'}zf .#1[FMQ%IhXBMBǖm!ۚ1 A|zY
+Rں\m:hn M.Z'HRE0 YuT {:q{ [Aq7#ztZhSWr]d֎9 IZ(Fho)_{t.B("h3~ľfM xجZ+?m0_ |!r=HpG1xN-0jXU6~砀1|8s֩ߞxZz-yDA M?
+/!yZu`UN)/? w boRBIp
+/c.V8HYOR,Τ짼1w8(_c⶜J~ Kq3~vj1i䇻/EF_Q<`=4|} r}_=>}MX|]rڛqݦ<- a4j<|
+u9ulIy5o?Xx-z1HE)=RX^~}%a&;ZyҬLϖv7B[ 4ȅFߒ9a\%C/\2B K`q =dJ˪-toAܶ铹=s.{ :j +lMЙ+HC$/ih|[ %6;l j? s$!8]>̢X5U>U \H) ~If/܂ ~~xD$jdm45on6UbL-SZ
+jH(>q-k7m/&o?#F8i ^97[XP9-YJ=
+kL1چ'j2Z2z5t<F6CهMa\&}HDcbN!QLK_%<F{-8 ( Gǃ,}Q
+p%@awv~LъDsҖsgGst[{N y r`;lR ME\\
+v8eqݙb"^URYд%M_{
+s[u􇃱{;Tңx+1~s?ߌ@5JUv{zKvǥrqV-X?`XLw1uyh[ ,z{A̐xvpc3rn
+
+_Ƭ@LƳ7\2 K]wÌFagq =~4y3bv33Yn>,ri3tPpyi!|%/]8 iP#d:'izoܟ9`<5L~TV'Dzl CoHdų̌k _ֱSAyHD1+@(,U׶R=!ŭ=}:>x.0_:1
+xJxd/1D-+K3pa̘a=1R?V 'MƖX>{5D85LƶiqY+(ztMH4^ONmcBy#pSѭXvyqPԉ+2y޺ŦkPGvV;̥ic4_dk\E2OUilτ
+1GMsS(p.ƛD,O/ҌZ::)B]PMym=MS
+h/6S
+FCQW/L<eW `B=9-P?bxߔD@y1rǬmIN։Q#㉃S
+endstream
+endobj
+602 0 obj
+<<
+/Type /FontDescriptor
+/FontName /IRKPPV+LMRoman12-Bold
+/Flags 4
+/FontBBox [-476 -289 1577 1137]
+/Ascent 684
+/CapHeight 684
+/Descent -194
+/ItalicAngle 0
+/StemV 109
+/XHeight 444
+/CharSet (/C/asterisk/colon/e/m/n/o/plus/s/t/u)
+/FontFile 601 0 R
+>>
+endobj
+603 0 obj
+<<
+/Length1 1686
+/Length2 1354
+/Length3 0
+/Length 2391
+/Filter /FlateDecode
+>>
+stream
+xڵTiXzQr)
+Bv"UV)$(!9I 3a2 h+^*z^TZds㺡mQPp
+LЪ<}Lf~{~nzd4[$#a Il>1ZLcj\B(x<1' J+A40!R
+
+r˲˦Ʌ?ʗXr>㖔B}) /-lĪD-Ϛt!dL儶ϕ{'0vh"΍๙)k<䐣{[#K;V ˊVyw)Nu{VMX'̟C'9Bq nΫc2g6 U)\lz/1痜+-]n^3 r5u%S$V3Z|$ Iwqlu'm&Τ; r  4 ZP0t4ﺜ^aC꘠;ʢuTTmi
+5n_N=1]ʢWHEf>]Ώ7/|(kۊ39ۇ __ǝojzdo,gHvO1F ;SFɮ{to/&+Wet-0+dmק=a֨zV}|JmG;cӮ+6 xխ{.W4Sh%Nm,~ U/}^fYxӫ]tnW)vԭmY/Fw//چ +_Mry\e춨=A%^1Xz`ç⣶bc_Mev>f{Zfmi*;5s] >щЪyB6xRWbđ/ǘ*j;Ζγ&Z?2m8zݎ-,gRiwˁj/RMN5jz}wTĬ\|*OYܰ| m+r**B c̭e?=,{~SƴXlnwΛIȹו4rWe_fouPy)vþDUX֍.8Vw: ,@wI#gkcyy3
+fJt{ߜ}ⓥNK8NczV΍h(jwճ7 ֵw/?l۷^\JVyO^Z㬒knu4-nٿ_E׌#"n'n>wmw Gϻj'OeK3wJl-!sηh}gF߿x6:LM&˶1ݭǯ 6XѴj6u+fcw0NRxjɥ  5֫9`K;;'V?ϐg/ه"q8n6p
+endstream
+endobj
+604 0 obj
+<<
+/Type /FontDescriptor
+/FontName /AHKBFZ+LMMathItalic12-Regular
+/Flags 4
+/FontBBox [-31 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 59
+/XHeight 431
+/CharSet (/epsilon)
+/FontFile 603 0 R
+>>
+endobj
+605 0 obj
+<<
+/Length1 2273
+/Length2 27487
+/Length3 0
+/Length 28838
+/Filter /FlateDecode
+>>
+stream
+xڴeX۲5ӸCpwwFn
+ t
+@
+$/{)ߝn&^?1A2/_` A @OU;Rs|?oc;:ڸ+"`ial)*JIk0)7{u<OTB `7;kW?哰yml;G[;h:8e%]
+`
+ 0uq1B`}v..{c[
+`b{מ?|xk?
+ntX+HNh1k(.VVp~J"hN?Ʊϼ_TwA{-c0<z zbMDWLq`1c˄?`J>:ojG"PU[IhR p<q #gQJ]܃eiC[痟8}uE4~gH:̰ϲV nDH$5=)~auzi:ԳםBx݁{h]1N%q9g* 9gCOG
+sKUX(S)Y5$S:Sm~-$\v !*w~V%y!-Dm,"-o:/iPTH V/M˸ox<8fs Alt[Z8gW{ώpù6*UGV9~M,ǽuEV~ v"AT[j+:1A5aCOik(ȗVX?hABIxmaá`vBv<ܑa0/doꞜ
+؄5$7Q߷PZ{qϫ鲩5';BJa
+I>!|tPۊ<, \)y!όa(˩L7;#X-ݸ-׿*֦߰N4[: X'h
+,ck|x%+KDg^ԓ{N9V}8fPHPQVn>sms3!*~VRB|5gˢXJ1Q~h.^4?RqG(zF5b-EXznAt<[M[5ǾsTkw94Ud33zc՞1B!QtkyiT)am}v0G=[̈́v>mg\=Z@@w­>;"%3Wa2A OvbW蠜 pi&0z)U·hn|
+ܓ1qK9eba?+'}P{Q#
+INS)
+)Mv_&os:%tuQCJ;x[KtM\Vj~UXG?s.vF*Uvu lqc׬{W/hTEԶFX#a,}[7;/TV™}`
+\ ċ91,3el *^ыI421K |j2GX岠>U/8= 9
+ tIJё@*tu$ &} Th
+piVS}|o00&B0Կy"ӵQdSO*n ;Lh sV6 j33H=]8᳐dGRv|O@cn;&wToҩ4WOA} Xf)T8gwB ن ?ݗK 3~^ؤL~ˑLEsK0v" ׳O.DZOӗSJ/2b;d*T_C^Ԣw_oᒦ.G9J~Ƥ۾ċ[N~MZs'S!~4!.LidǛ8"|3BUєhʹջd2h./U43_+ze:-d1
+P-q[B=<XWS mIlS+Eb Y 0#jq5Io/yQ>[R.xe_;n{t6s? /4JwC'ZU'OZ <qT}{⿹Fƹ0w*Yhu#HOx!k\7bT*4Xy< ;I碬Vz58YF±‡9z9G+nKO$^ѓ9MBO{w e;X|;ssekZXH3m˂rbT58.Hyꦴ`3>&9jCYAMNs rqM
+j>`d+جJȞ6k M "Jp7vȣ$
+vic
+J`Iγ8&7ld%D4x ~U. ׆,( rB+2Rlݽ/B=D|dcY ˌ}ɔd {V2dhM NE%5X;w)װƂb&<9}#zz`;9>UQCbw)G_4\jWrJu:SML^_#) `IМ
+Ókwg8ቓ
+}}YX28= 
+xoָ`
+caj긠h9em?ru:]hs5Ynˌl$zp_alu1\f{>˝!rSi)6窉ȻF]~4r:c$'e\0SJϐ3CႡdBvw]~p=ª)p$H!q1SN_W4q}ۼC5F .ٮ:Z Ncn]{}؉cseB06Qilbu)U$}Y 7t\#s rBwG4aG% cAѲR8PULI;ӈ̗~?<;UHO?EY|y!
+خ$utxiț0O)L1gĔWS  z-#8=Q?GgrOwz&t,eH\ZJ#ND{EnrWXqj:ɞ;jDSu&ۿ_Z(:/5H(qʺJ|eŧ".envDx;_-q{Hiq«w[Mn6@ՇW
+[ޡصEt80a$?4Qvg~hmP>m]\+dt*+ԋHLhZcx*n'ڪ|'\{r̜L{õ6)"ςU
+X;AEܦ^ˀJ88cx)ܬZ<JH]wkTCBUZd<uA͎E @5 3<[ƞ:)v?!nsά=Eyq%UFpQ;=mtC@Z\9ԬVui
+?Ż&HÂoi/q5gZZr£No$gcRjt 997,;bOE8yM~V/K J^VjTF
+u fADũ{݉7Ô[AXFtdX0kq$"~6g}>7%legNQ ݮjLYF*+}q,p`PQ:5 |}tEͯ"$6ߠ0A&/(vkl'O@`a/ $>zjggy;ԡ7e2[oBK+۩S~!$_?-G &H-}e\AR7Ӊ KG1@6Ĺ묽#rL:G~Xm[p:#]XxP4ĜըeXi+aFrrV'ԵKYw
+a**2kK7US nvel ,O0Jy/4@7dE+^K|Aa5>R0NVj ,04I2 ;gKX
+S|Oܶ+G򰛙I.0x)m/ٳîB45<[-V#V=K3{c hRa5:!;t)W~,, ϭx@BDks@frd?3x'ݯyD3é9!(LAvIlbNIesb ?< x-,q66B%_w}E oiMp#{k[͓^(
+>&EX}+f>#yA ;Mʬ6u[m8&Xl)*n1yVXb s!a׺2NRPyܦҗ7\\~:ɦ)oz>iZL2ZsԋDfK4m{6VC 菨5Pm7paH#EVx^i(<e\|"W0nl!-şOYp,TBL{غ;ȯD^}P\)
+Kd<J
+lUm"GȌy{7mwAt"אuե{ѽH7[Rof"  6 3VHKIc
+O&׃o]4Vxnx݌"5xMinm^QpWzl"݌p!S`#GZWy2~?G*r)QeaRL'=Lk3/)Cz쪺 ;wɋNXzD_-x E<:+*$cuWB<=Y6ۥ]"BC&ᬭgHz;Qᡊpfra2nBYEF}ܡ1LWi} ND$|}d y0T萺ƕ~ ]s\d1Qh[-t
+17spMKtNlr֪73f/
+o
+KXU<tʀɟjF#<`'i)8jeŒi`vf'Ǫ
+9w6-
+`"s: #YG] il|$+hBW.YczQÅ }T
+b h8 PAӝĀLzZ NZU`ЦfA NH&4귭O[:
+W1{o8 5K
+6<' e:uE$yᾩR])ή2eO [8O,0]M"A筜q - ^{fm::1 _~a ]1X5
+`sq~́1
+Y'{$] bٹ6WH0:~-`_1T&u*
+rʖf0/fPzMdrNR 6Su+jV5O_~PwH$v.%e|?1v3&uY8~)%EƂ I` u^asCHΘv8& BOC]2JܝgVF2~< E38eKF+
+:q&yT5CIfVUzU#>kɨ/WrO-|׵4fy&QJyw?HdHI'q.N ZfImI<qmrdqA-83"g<C-')[Cq$T/mP*\kh=<50'}jEqxV4m]$ٔg&ZA%k
+y &JC4.ڊ,KćlLi%.$!NZ{G
+l$-h{]6I;#?K/|n&;_Ҩ5/*`Qۄ;AߚBPH[GxkE|+xG7;s|!<Xm[QDЂ_:ILG
+(1[
+#(ixo>TY b̷<KzھK=i#߀Ida-yZv!kU\yPXwFV,M$AX A@p8}:S
+ 
+d#&UTod]Bg/`g ֡yE*N2t%o9K~--#m9p'Cinl\;[=Og_
+Ƽ;$eK4:($#%I?єڃ/)mED2(Eli12U-x~`0}`GSQ<yWgĖ<qr&)ޔ%H2J {Js&}w.MC  d2`/| lxX@
+)&R\KX"/@
+[gE#8#_~/8EuE+X۴oۮk:7uҔ^}X@MAd0vgͰpiZ,g ϪBI힀rlᧇZTTHM0i֡ *"KmRL5.okyhbGBi@c եHvlS7LUV
+{Љ.pO8n~rJFn2l0ITs8ڛAlc.-*} ]F5bLoLnaO֢crK>Yݷ (XՅn!^x -:˞
+_򈌓ݰ Ӆes> -y0K0\퇴A!̚b (+wCK_]HϒEzQZ'@[sItG
+@ݦ#%S7@(T9t0XĈq "ukwlBkD$Zm۶m۶ml۶m۶Y?"#FЭj `#S7e _X
+
+r_`ߕLR|FU\9 ,J߫0[ PsE)ڰxukyI%$IQ7bˡ6iewMR:'x5=ym څ 6H6R?lMf L=܏
+^ 0gA]!
+o][\sN\~oW]nGu97 .!s*- \v^F@o%XfRj)쨕|LƉzn2;2pj;Wqr_d BMlhMKrz?g}&xQdK5yBT+S4+n Z}1 n
+'py:;L&[ח_[{X2&sxA&NTSuߨkEɰo8#CEٟL#
+ b
+xyrz?Rw
+7ʶ;#bR&<r{RMfsW#k;aBma/Jc)(z6Ot_ʕ;(-| %kY&oTii8<g):K]A"%(xNX@t5FB;07`Q~QwKztR
+-|8;jkqt@
+Ki?۠&dX\D!8CP
+$>k%j1=#i6Lr绝}gn'N)׈oG
+(6Vvlu 6r@d̝/mLxO+&͂JȀ@n怄RۇqqfD1OϹrjP~
+)쿁=8(}g+uMf+3mc*JЖհ}}!uEÖIpr0tikaevF77VY5v µ'oIɦmB(8]DLYX
+=E!$!_$ Gl*a5cI9CBivy"j&d6M"q͠PZt"&%BKDíõrϯ[B܎1k
+sLO)d OrPEĠ拿 .͗L&slkyEqvufz4<zH316Wm[4mLF3n
+Lu >xҺwϹ%Lpz/~k:3%7okW><ʤIPfъ`z u{UTٺ _Z`ɯ*HsYFK5vdPT,^]G
+5of?
+ Y[ liԯWUC+n |_!fuG8 Tq7<^u7B#б&oqgt17Cf0LM501p؆`vMVium@G~Q|~&#W[΋u=gUf:Ko3ڼ2a
+|/_憻A wƝ޴MXgPG6QDNU$1K?Ւk:ͅBp (u/~ѡQF/4vדv52uLګO#˴X$VjesZT+
+' 8^[³C 9Qh,@b yNiʮ?(ϊU|/՝\3D~R*y!rfs}%,lb1?(\-i*oh鴑D+Y)cp~ΔUS(,K ]kI5qq!hrwN]Ԉ MGv3b.@_p:jćJ_BJD.a0At%I>àG3!dYs2O↾ҲU1*Q+ї c bHpʫ6p!dγR&(),J&D/iScMfoy:RɸԘg6l&OQoncW8Je;}KqNr";P.SWT*)4f3:~'"[
+QR,q$"Jep ZdH%⪓pn3'/ ͱ ;f<xy
+-t3y) /'~4x*Q3Z@r)JQB%;U`, 4hw3 :8pTPM
+OĮ CDM,V<]d9ӉPm8cO,߯q=EߤcM3hqe
+dX,@ֱ{aexYhfǀ83O}Wp, MZ prgRiD}U`+(&Y]ָG/# 1vw]'hSPD8`㫱8vlbr>tN)tey2'W}?_ṯ\vB$ﻧS{`O%ʜ]Wl0ko|U
+̔ 4RI @HD_+n$JYr7}|!~qtG_Ap붧H2.h1d<|+F0hRI#r$#j8nI 9f
+$]oNP W03̟_z x[):+f>eOjЗ
+8}P/^>=
+oHaD/lcY♾ scjl:{Yϖ1{^ki㤐)w9Ҡa֣Vwp-c,b<
+1`67$AW*̔i敬ZUQMs U'0VD
+Q+ND
+܂2sijYxdڼ@/DCG{Wn:Z>}#3לVSڸӨ&$qPH7^IPL$%@h2dRм#k?-}Kp.JGğD*w2h)t`f%5kU☯  q]WCwbG&N!BaJ\=ܝux6/
+PkvO-0B .dtcSQ#) ߌ2
+-p)2GɵEeh Ⴕ]q=:p Ѩaa~)5h&%=[ b2>xR )^
+L}ҫ! n@w)Ke݌ ½
+hUZ ˇ9mVG<Pr qtEc<
+]x]æYIl|wwa ZGt:zY8", m.| FWDZǴd唾6#{j=R pKY\%_4pžh_)i SNژYTAv^_Cf1_v
+(>]ja[0s5X >RJsh}x
+_D}d!K-LɣbX y2&sOʷ^)[/ ڃQnO^0JdeʌzQ#&{׵%t3y>gRg&үl\h?È#f*Dzʐ pTE&h{ܮV...sBȬzw
+)NmUO㭞FN?m (DRUD$4Besc 4A8HT~B1dX|:{XAmy+4G {j7 EfV\KlBg5utΔNN).S 8 gϠַR8~}0C<X!aUvs?,|qF=}a W¶ߘ,QU@8'M[!120oXZH;laǞ|~mldpV]8)F%X'dh)6I6iY/_h;
+IS|mt^Xn%J{UQ [;*wYjz"z[;v#?q5|1Ɯ6Z"4Q06ȝiz.~ 3R$51F7|$ VX~8 cF aF
+^uwȣS_ n^9t-ܫa'rE!ZsF."gMjwʛ9Ŭ(q%@{YƓ[γB+2ڹ҆37@ G:9KV+RF85!]U7;#2wd kDs?&çJ2Δ$c!Feid ',d;5%)q)w ˩i%E
+{K2tuq:_]Anv|U6veZ5j) =6ܢoQW\i
+n,dꂓrI9]8)8zvd!
+p0r&0ֈДKj*ETW
+Q[gs#$egWnHq0t^E噣gY Y9x-k3FaYE8Qwy
+S-/",.ne
+q
+ ڔA
+*m:ٙlNZq!fnQ#o`tU܊JZ ÁX. ;#~?9hiוay'xL?M3Ji THH*
+ؚEM>?Ręk@8؟κ!%hB4=\&1tߎX2&&\ 632`FWrUzbGMLxp+p,.ĀR3>?Iσkx3/}L[Sx_0lMM\/Cԡ;u5Kټ:t1ĄY*P>nzdyrx7*9-Uaa;*eg}Ux1(=t#֦_rY6EjC$dO$Bx=zZbim P?Tz)dATyy3.ùTk@ΓElm 0:<Uhv/h
+endstream
+endobj
+606 0 obj
+<<
+/Type /FontDescriptor
+/FontName /PQDPHT+LMRoman10-Regular
+/Flags 4
+/FontBBox [-430 -290 1417 1127]
+/Ascent 689
+/CapHeight 689
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/A/B/E/F/G/I/N/R/S/T/U/a/b/c/comma/d/e/f/fi/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/r/s/slash/t/u/v/w/x/y/z)
+/FontFile 605 0 R
+>>
+endobj
+607 0 obj
+<<
+/Length1 2853
+/Length2 31846
+/Length3 0
+/Length 33454
+/Filter /FlateDecode
+>>
+stream
+xڴuT>SJIK ]2 ݍtw )!Hwt9Gõw5Td*Lv );3+;>-Ƥ2w:ؘ߽@w-@gl X{NjDA)rjx؃X31 - :LL#cMܜ-@)@YdZh
+8;|V7BbZ8CF]. 6K ao ?[OM6
+6A-e]c0rs2&`҈a o
+vӤׂpB̝,dt+$ӟ8[8FHrp Bjs Bx!=ECT}t~>s/s߻hg Ҷ4)2Q:;Z뽃\j9W?_bbv^LLlB υ
+9/
+gOc=cF22t c-%4r_ć`v'0X@ bEE
+K*gyJ,4Hφ;V<"/_fRomqu^:S+I0^6w!q!fDZ`c2P2HW}Tr0NUApI . HGנ`J,)ͼ~BuIߘ)0||i* >Z숾7^m,Mj^JgL>Sln%$״
+jhY|D>y+kLL~g[ eCYgCk٩-Al \Bߊ󒊱+jh9:/.|+<uu걯~O=;M9lJH2>Q:;c.}X_vZ9mҖ / Ol>xzMbYU7t6G$lX,{T$"QbB iJ*b<jܨƩ6f` :}~B^W}Z=!pd!:V~ a ^RnPƪ NpYt^|bMQUyi3p<4EImI3&&v.&ILѫ
+Bu:@H (g( p)њza8vmo}xuK| G"TE b[@emBuȤEW'ũ!̣J,\l!\&LC_^Z3ȅA[{5,*Nׇh"q١zr\a\1rNa0(_ʛ%W*NgC*(q cq16oRGp2w}mf35J͟P"CN4mp\> u޾q1 {+1eCC;:W7~~z:ub+ջPzp}ѭ9{T^ן,S=\T-y&߰]bP~ѭ 4MĆh!JM8~'7(553Z#Ʌ!XXQb8:<28(fĭ "//y99=X;GY= #>XHy쁦|&\%nK vW38$vJ~uȻ~=Pm
+f*^v*2Nr=C2( $gLѯgAg<#'e<2to\9] HrZaDmMǵ"+2^FxH?yhү3>R3l$]gTde[-ƺ/O+`{qR×ٺiD:aCVRY:u/I40Ҧˆ$mFUa HՔ \zYz%a^pN]f/Ϝ˧Yn F? Bt5/_84^mРHGd'l,B+`N)}&+I8ZC*l]b1-h[޿= Zٴo]W6QIuᩤHȍ;3|$/HԴa/gwE?6oZ0}w#eZ k0>9oWjPgU |;}+2r Jj
+_2m
+I(ś@ĉC6&upHє{|(}/Ud 2Ek_Q ZطѾ%^<R.:0R<?[8y[=8˯
+󰱐ZpWy8LtAx }*U&$׺ uC=eVIj kE;\2' p+
+]KI2-bst˚/b8W\t;B+9>0v"k ܬvqP2TQh!!BtR-|]DQSI~,'`BVQ߫<{j(>ԣ_/<ԛHa gQ2Kw0銲" 3Mi-XY╅3F=~I0nZ
+̜ZP<LBOqb,>jA1}̈iJ!]%6rm~'N
+`$S=+pU$7[MEUlY,m<;}Cu{5_,?:߆+SIij@_^ܮ"6|lS ڄ_uS,ʝ.x!M=icx+L<O1s%Y럡fZNf䭔%0;–1 er3) k(Tkn6߮ϼ?aHEoBGK{Rx-٠if|D3exka|r1AT8bB U+d}mE8. \j$LurW-$XH8@PyDё"L0/f`43%uZܴ " v(:c$UuvT#pܚx#iW"i<^$hG+6\xʟ'Ou;7~μ^3aO
+G"BVXf׈0<.w@ ӈ0qEπ_yZi9"7ʧ2-W fw?R;4̶ёsĦ=x4.̴p]-wd?^#f_(JB#U^A7V]mlD@Iy: bqqVu=.`@<&wp[Vt_UØ_{ՀYXoG? ؠ~(I*Z=>q`b<ƒwI)&iScD0 7f>7iӠ>zuz ).a$ailYlEndxak&k6-Ɛ#cf|?2&,QNcl="e*37&OFc֮WXx<cSxŠVL8i\HZajZj n|
+DcxqnV_fg[b"px&Qw.֞IK]EׅN/ՏV-||o_QGaɓru΍!r3y6zC-y|Si;@k٬ zxzv])Zk(5]XZ0bź>oY|RZԏ(
+dǤoWJzjϵ:)6k9w(/sm:1rߪ\IYI]
+SI ThoO]6cnOKyK\NR;e233e
+՟Rs+^O
+#Ne'?x``MqbR;Xo_
+G}%CE_5hБVTEMz`
+Fg+{A%(wxHvĝ?2}IafjFj}rY%$pTZ=E+=4etzOH-] s4߸@m=8te7f9m,E SṈ֭҉d!eGG*<pYHqֻk2e,$NK8
+DpӇytgɹ,t~wIJyLvySpgPt|^w95ty+H]Ƿ.W=5p4O6'
+}tuQ
+-  R|5 :[KF 7VXHlGW)g1&YA-*hTi!/kM̺Uޓh" =hJ-{?feDxZoyiq8/pBC:_XCf`tU^[O>o!3ë蕖+K*a%SP*J\`i;#Z jFIy"Q)J3ĶAvΓY#9.0&eZfhfⰆNt]
+\%8Ο)}U,*"@;6KfpLH~G$핾o rnSO*V!}/<G)xW]nr~p=<
+YR&"`"3>3@+f~N R区ӱ\Cp"TbL}Bd,v
+sJ邩5DpE)^05V|
+5|gGlNsJm_g<BOlQ |jGv'@5uZ6?HGJǧīݼ`A¡WK"͏$Z$_/F_R+0Bc8_S], ի kv|ANBmZ .CS-_Ho
+-I#A@asuT9l|xU"9{u@-*c-0B?ynȠfv7.bJtm:LcP${]ܖ%6ٖ"a^d0ps%2@󉾗kK}SЗmdmٌD?}Ik \[EESbBN
+DıNfG{JPDp/,=Y/ x5CI|hCD$lz tUAns ՘(ð`[ t\2^\.p6*07}9(0Ygh9-g
+ތ=5o7>7{yꖱ*>Tu7*|RfxmQr_+̻݅8zh?m'Ͳ>w-qJAT;NC| hP?6
+7ї 2$9:9BW$}C<& =f碧ؕEP
+ɘɖ]`c ,719mjZ󹿚þ[繇y-}=奬mj=xTeAϏ| 0
+"<'.d.YƑ,ubf$LoUyYM38umhBBb^mNAO ⠚S2S,-dH/ L^>Y>Qғ'ǑB$fWZwQ̀b8~jj($BSEKζX_l:u Ծ^hAS©áJ=~h۞SdOBPp;
+,HW@]:a2m2H0Qiwq Scxm!1BmӖ텐K*ra.()G4
+Keʊ ]eGazptqn BV0Wq[k;c) lЈE
+&k 
+唬6q+]1j SB EB9܇SCYenN<?1򌎤]FArf&d@*^WȖ9Z(Ph1Mo
+eSa/o&4*oP@~e;Nq2tgܤkhsB2Bgh+EM0y‹b!)sKN:%!`A;~/;)Kdc[g Mf*LCQ`YfEg#G=RIn]w{VAv]a*%yDFBw%1ƞAj|Mr4.鍖
+H9OO/<%\퟇J`g(Ut(D7QDp*ډD&-˻\뿖i$51F#uϕjVZ%t\ 2Kt('oBC"X+_c?NeK1
+>
+f<C?4S/݆ת*{ĺ2nl*gxc^7Qg۹#I򳜞Ar儈0I l[ھD=ԗr_ h=s+j}Di_EWm]tMX>GX_@W䰅KX&ZuѸ&5Txw ~ Ť?kWjpa,t\֚<Sm`#!Vݻqz^wXò\xnMmoh`i \H/jo*ʧ0f/(ab<*laLä
+cn8ĭWŽv +:k!Q 8cVh|EaIv#c
+&\ґ[}X hyKiG܂Lfk\N4:W^b~ʓzA_Q]Jd.S-hx:f)P`oD-uEG N7HªK}u5T-OʍSFh85
+-)tuBs7D_tgpݒM<oq*A䛏nznrn z?1|x9ccFs{ mH=y^Ґ Y[]8mj, ǘȄ90kԥ4l&{[Rc_,'(QjF+{\Ȇ]X|ZSOHo!aIק~ݯ
+ABfz*ij4^@D0f R/`$4qIU2%IY̹_F븡W4|/Nv;)6uVGVB7vq__z4䤺] ;NFfb T3Vl"O*}
+t>lC7bԁ#V͖.ь]Xǿ-
+mxL?VĹq؅vʣz5'<C +2GvC $v 3J j0O'/|4hz0szEtɻ+7DHZ%גÓgej4>]XKb](5UYR ?'R1Ysnw?Pv򎥍:.1ݻt+1k!$R RdAa!<`t5j?~;NzD4P^kApfi@NOQWB\jٛ'ݾ∫7a5O+3F~n{CՁes6ҌY:pRS)ު1cM?S-|qAs"2'iɚ5]$Q+/6[K(4z3HIB.g<P ^Mm~d.#Om=;U&]oaQ
+(gC9gfCc?LYgq7_>J)/tMGۃs>>M>a?HԽǐu(}ad+(UNlh+;JOIf0n$Ŵ khǭ:c
+~;4>b䠱n JI؆~,Y9|c02c6'd\':χd M*ȑ639-G8fpƤop.ORA+*#}—hA;%\c^ŮYo
+nZ!>(Lz]8(gH@ݹO*(D,
+>RDeO8q40 r+E;0̗$+uas/P~歰OUi+V(-ZGsɼ@ k1]:kb $q]#Lc(v8)tM.ͭJ5 v,}FNAْ^-=ı2hWo1Pmp,?gSM=0Zdeb"w?=aZ]SBVjCsʅJԏybtWey~:\uXdn?[<2*)1Dj!=vT)v%b Yq'w=mf*[Q^gw1)_.j<Pgf^B䒭hmgdojVfZvna;Wr{Ŋ ')3`B &Lv%nQtx#q#nˮ@wvEyы1{k7<Wʝ zQ;@+pyo͆ 9'~F5MhCy9 |8fzH^O&"xwjrǶܐtmK(<Yx
+fiMw8ԂϼwVdKs8aY#*;b tskbpm7[!Z/4|kTf2N'OЋy0k54QjYzF?,|t>\̡u4c6?[mDDE ]q3MZ [6}π$miY(5FU65omJ6%/,ssdݒY)ZEE [}-KZ8[kr%x|j2#jv@ oi5n,qH1憇JÚMT}SBgSuM_
+|me[w@oiegi j&k>h+s }.^G$CTXn/%Ϸ6ΞSՌ''
+\{:MO+z(V[Хx*˗'tGEx%ࢣZa?9;J%f5>U@E^W&YE{1[I>Idd%jXh~-GS6!΋ π<m:pT´!Z^9ck0
+[xP떃
+ѝuس?o1y
+DLR:y-˦ZWe4r͠tL |L=ڴ8np2fG{ e#O#49L;exkg9k9_Y?H?7@`*[x>DuO@툪oT\g{a=U.jP'Y'V(bU^T23;r+6)ޮ"A);dBgj/8[rЛG'nycԸQ1g/:q|g =^'P4~dC{{8#alWIJ[J!~*-°m0=&3C,Q'<Nb|oq4~t#We~W)quZ p畱'ßllFz}O"x.@i\40!elbwk&w ϶z%'kVxUqwKhE[%'/oY^ȳ)iduEuNK&4v X;IIԳ(eA(V[*狋==&+WUNVY0aGu?(lm_ LFQN x;XϥEaӊNG 4̵ ++FQ,_F`('PMfѿrlP^f+[̪A7*E:*>kRM=BYw 1¦__UN}P+95L e߽囆z̯=g975kMݧ
+V]u ix7Q~4jIXZ]$7Uhߴ+ތ\Ȭ;HuN1xHwNix̖$qly #&%E;=R3o>NQx^(ܦYS]7u
+J f6_o-0Oxg
+R?>;찉E e=\lwEq|Uz1&cН^Uw7/HX.^a\Pel}e<N&=a%+xE4/8_m 5Ȇ7N+
+۪xôn O/:SUip:VGepHztnh<};Զ>||>*XT#MFu0 9 l , LS=KX\h᷈s4"qMQ,E21Nk8N
+GIX)Y$YHW
+[{4H2鞊SO͞Rf_R<iGtm8ŗYdbLJs/ߞdOciM50:6H4߱Z/ SRCkUgI nƼW?k5)k(YJ1j$ة晠JURTHgxXn-HPy.\&Ӻ
+
+9, Hmk۶m۶m۶m۶m۶sOTdEdWHeokY_.A4;xU˔|dt+{~c 'ϣ".7P*ՋE ܁7DB+Op"D[5C[R
+a/pS TV}BI5x$~>hdvk1v;"fc d/8o @[B-ݲ"fQRƦ7M1˕Dv VQS)pm7hggK=V1bcB 6hp-Uu/ҨB>D5S*YŅIuZ/Ǚĩx'7OӪ.>+ԩo2W!9Ml^P:A*] T`;iěîq%<-)Xv*"čKFU]Cf1`@ZՎK7\[CkN.>2;!>{(WA7U+1ǻ\JAЮsC[uԒK3xa}:d9"^;]$z *:="ҭg :*r-.6
+8F_
+~GMw rK#qAHOײ y*;ǁ/eGlIUHU FrT%OlB#Yc4$3GGExR7q#ً
+0'Q簸1J52n7 ^l`ߦ|Q;ְG]> J㶽 gM1$jul7
+ }ov/ߙ4E>._d51u p??wn҄g} MZ<:H1q[IOm9"CAq?y=-ԏ/7zD%>DS {(dI޼ Q#bG5i Ǫ1L]Zl?uZQPk<13 {4wdܨڟ6}!ςk&\$_Y( [┐|
+~WUE59VuW"䩖6Z8`K\К]9BP}WLn9΂ m+!<7! }L%wW[e# ]&T9S} XiԑЖH.B:]2|fo~cu =I9 8d_`/h5[ ]t0n| \>)C|7v\ 쨖R@h"XCaݴ<wqBL~Pf#B"ޅ8vBN(Y >BH(%p_+=&POxø4 \%/M<{x@NR΁`fNЋe;~W`P^ !_= UW/$.A ]LF-0zosGH><KO5#
+W1Ohx'%i/BDZ~A8ON=U)o^b f]?] `Y!NJMףDwn}΁h-)}Ax-ecAG#;hҲ5'GpYF]񔛿l(m8OԐJgkkh݋RҋlKT4 V0tzA*}=l
+  2bD.llh-Y sS9]?|ԟ?Tkj^w35rJ#8}!7YxIFk?2&+a&T Qv?zE?N4\Q ƍ.98\iTǿ@ZO$6џilE
+ZR)49d;K)R`HyS K}՛Y$|;AĀ;>]>7OǙPV&>пNՀkLЃ,s_e.*`tj/HE7RLbEyU$x mEEdO_귦.MIUî}|x* bϼ@ϒytPKG$^e)eTt],ɀkįOɆAkz<Ψ!V.s? ¨lV{V
+3D1?.egVLږ*p\,B垟W
+:6*SU#,=,^:1$4+<孍CbD)(Z`tg,ɳ;N͑b9†,dqXDqqJ? 1Ш9͚93,p"-8Ŀ~$
+g)L]xE
+c)ҵkʚU[zut؁jk~2Sįmu2Z!0maDO\b`Lư92hVj
+LJ)w|V̐/)h<̿4c5m\KX[6R
+{alcy6ҵԯҜ~{WUWwb^%;ʴ4{?T
+vRqi#A5ؚ#M!N{rP^z. xٽN~X}2ʈk_拿)V/@ѱا Z*-8<![.g5Xq:a^mοI =..s):ͣk~>ͽ t9n
+,<_VzD~Rjpi?SG#VuMYQRchpx b6Tkl<
+d|?L@ nhB:q4{}p&16B 1h'=W+I4B. Ue}7nE-%4clfǘI<b!h_Q St #7-0ZTVYix5Up.
+8Ew^ĸ<Vӹx AYV׬th(<=^%$ֿ`\,| E6wHNzj]#W
+Y{4!
+wK ׋mٺ:w9YsM$u]\0ľ՗Z̿꯼d"61C9nCY<m9mZmIw`tv<|U2m.T lg:Ba7-%˄:H5J~8y- *ܩaYfjpOWVf1Kr cفi\8W{=*Zm{~TLsScF$,S8 I={l7 p@3‡'s/MmG;飯&[gIYۣ9~Z!Ĭ KL2+΂ɻReV0b< =;Щ!ɨ`iIf!˳g}D@*XJZ@(jMi*8KE_3"5I1UTLf;:ũ Sx% wt74R!u}bfiȴb1{}
+`%}WD '7ncHcC2iE.´H# Ԡ<O ti~7+~t>+ʕ H.N!?vCzy#ҔBm
+H.E?NAËbFJ3M*FWIueFY
+?; ٧$QIpѹfv,5qI-C:D'U˼ɖU۬5CHoiK3ɰt#飵WAnGCȔ :
+?m.roxҶoW\` Biܑb+&|$0b7GQxFj@be
+T+*%)R&֙2U<v UCG檍xB9t#0:Xӏ`eǝ1~~e"+ItȾx2!k
+6rXƀ
+
+2K1 {v%@zmߔB tl%\4Z&_]3McjWE* 5WPZ-"~؈+.8iy .}A3<mÕ5kz.
+|.)u!ӷ鞚bˏyǴ D̹_2L>6^h
+b!Ԏbɼ5OJP_٪B3]UlW@[Fhh᥹%GgnZx0\%W
+pLXYi6ʆKStt&/0w6tHQzH !e(X0DW@:vh23  -s Q.ԙ<O%;+wo Dbie/g_B D۪}B!V0d"u6@
+,rpSO8Aoq7qRi*wJvoa@,CislӲ;zԻ'ot@oZ t|qg3WELgH!16@$䱖[Of;C=Iji)m""@}gB4%Qf5ɩP9WԘb8j#(TڍMq/uʌ\@nZ;w?f313'C$9>!XH|V Q}T?R[uhvͥCҠ 3\6J߅Y$FߌF4XB[}MMtb|tI'ܐmBAbfHHہV/I! KyJS\u4U@16
+dD^FM_^1n^([ѫF%"/!{ `r4&| ߵu&Is `WHS/ 44McЅDcj;*%C4N-ש67~gYuQR<R.`+dS*(il7iCxIJYkrժ;):G<B*'<,IYw>
+MY2RS!r g,FP"hV̉zD4L tS mŌIBKuR74uLRrl[;
+|>KݧK;X#ӗ(oSY#HQ`^,r
+G`]MXlJP1'^ugrv-P5d,P4vKY|2^kC4Ҙb+fN =6P줨iW/V% 1H3t"( hW[y]Yz aWMr2ޫ]RL 6M: igXhmF֦3x:d5:bL'i)` }dQ[sBJ[+}-eLCI!S#2
+qI>'0K?R^_Dk#nijro&q.`&f=옩oǶr%aEI x㣻IaD4o`vl Am9S$XRkrX!KE"Gk@"E9F*fg@E:44JK&ll "ta΍2:qR^4\⹅3k aӽ< 5s4gBtO]~Dh6yʽ<5)K^"ɓ.+ߣik<%Lҫ`mk`3MbkA .Y8ޓ 1$1\6w_6KmK=8ڇ)Is`t\P
+[ƁSO uN&]U/"Qsz=z BGQ-%[*Jqπ'"LbQ0N[W߭ 7Rϲ3Ay14-5|f`!YE#[ZaS?F9M]3s Rge_H
+~!I4N=RW#)X>0hrh*
+9j1z{w_>1hdE0R9#2xAU-u<R[VNW iYw1>M62L\{]<Vht<zZ{#c=15:
+|xL} Aǩd`UG0mCNZ%ƘҼ5emѾ}P$J3$~4
+z1SΌRrmi$8V%lh39V;P76} *dPy
+{J5\ dhY;Bw⏲opk&<JM!`ʷdc϶
+|1zwYN* *[0V: ZlK6(0>e''Krs98lX\.<
+9j{yǖ 5;J`Z/zWIѻƲі<qڭQ겾Ǵ;S,KP
+z똤30_
+\{tuT~P@٘O(A: `B4"^Upm,M(n1ISfEӗ9qB
+
+pm=O8r_4|yh*z IH1b
+g )5Off{+LdgV&z9h|ᩨH0re_y%/ PZM uHD7=XDisq ĢaK~9Omn0jڷS5F%4" <ŤB?su؉V4@-QI}6^1*wXN_K/yfLWe;;),p9 A]Vٷ <|͸[H 8
+[o"0x#A@/O:_!=k,* 5^Hw񘺪 #U/r S&%).[j\qq\5N Pxo_\-e~pGz)
+ǟW.+h$v$xN#44<ky
+RC>vt%ki(
+1Ӂ·NR-D YX4fB@:N ?8#I׽*erͨm@zf=XQTU,3+T{7'j{0c]`S5lv}:$z.c^pxk
+YƜ,,L7Ӵj9A͢ļ7!af@AJ il}LVʎvˉk(5QI(A`,rU `
+!g!yo lD`Έ|k;ܥ".P_ڎ(&5g+DZک(%>!\+':7YZf*&k*/ ^fۻ?5 $==s3(>&֗jtfIjNo}53џ.][n: Ba_"}Q̸fkq}9[XY`4?}6L)X S,cx!
+=aY MH?msl38bW-c`XuoΔ ,}t
+endstream
+endobj
+608 0 obj
+<<
+/Type /FontDescriptor
+/FontName /JFOBVR+LMRoman12-Regular
+/Flags 4
+/FontBBox [-422 -280 1394 1127]
+/Ascent 0
+/CapHeight 0
+/Descent 0
+/ItalicAngle 0
+/StemV 65
+/XHeight 431
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/N/O/P/Q/R/S/T/U/V/W/X/a/b/bullet/c/colon/comma/d/e/eight/equal/exclam/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/openbullet/p/parenleft/parenright/period/q/question/quotedblleft/quotedblright/quoteleft/quoteright/r/s/seven/six/slash/t/three/two/u/v/w/x/y/z/zero)
+/FontFile 607 0 R
+>>
+endobj
+609 0 obj
+<<
+/Length1 2037
+/Length2 24066
+/Length3 0
+/Length 25294
+/Filter /FlateDecode
+>>
+stream
+xڴct$ں5:ӝTl۶m۶m6;t}}~Fa>Ys@^F
+06623{#'[:k3;'`m3:@;
+{2޸"٪*2+e]ǒysmmx
+TuPGM ety󇩅T#P ;LtIIgGIElO{;+31Ĺ!J/l"R5QOw/ܪ YzA:Kۦ3UT#@ bҡ6 m +O>/zzICqGJ'<ڎ9k{M&-B}<(okp2-^hDy[TؒPGJ#W˾YsYg\ٸ%(7+Dc 4 ô+n*& eķ8ߴA50>&4R$BchBR d׉AblFP  Wѐ˲ FXJf b2h+HV`82wT'$fX3^`i_b1l+a(Fnpf6Mr]2)䛮o ̻ւUmK0jr6oZ< b+.v6\ȄKo¨)Ͻ떊BS(34>mL:ߢ EW"f 4#H xc]e,3Dz`vW coA|pޏ)p<4PA_8Vi}EpHb U$+Y5_zPM?~`q8γq!#jo;Gz'{Ih֑S|p3);Yu\jN룍+c-N03OGj.hbZOzU-RóIebD$]SO$HeNt
+ֹM^tAzY+UpARU'ȗ E :Մ[uQ]vL1
+y2 T?#ݚC;2$tkῈ~2lSיEM?~
+]>?3nR%dpoK4+Q޸,N/~|/Iv׏'fMe1=s``,TwgSQG뷣$XiAj~iq\O*4e@SM(ZPZۿ= bl!^c.EY6+KzOT'0]YGw"o;H3Lb=vhx+K
+C5Eq-,!}ϫ'_mŪ5i ][gb.9d7\mqbÆ8qn$瞷%n} ߦb>Gw}NpwyAn‡H4RD )GĜ< r&G[>3^RC0z~hȹt]o +3ndi}iJ1v2RR`#9udw=ud>.ƌ8VlKhm lMU)ew"bU sB"0c8
+Zٟ?e|bG2K<Fe/Dh=ҙA!,Em\=_vDhlh}zC/QR+X.1޻m|%P鋑Gt4Qš%ʀ9E96k TQ܀nG!P rpaH4e 6̔o6tFX GjGrM0O3ͧ9sH6$wP)q3cw}[~0F-719<GY-Ҫ9&6o _GnH#8ɟ؆c f|jFl숻|>5'|܈atWC{/ƺY(ǡq"z=zG9ΗP#I^)Y}V?u(TgtM/]K| 0-bE[Bt WUj,0;͵3 Np) Kfe[1oNgPnC
+M| \~Mϖh#+
+,q}GKNn>.u5^+5ތBOzU{1ie8fKb,؎
+X:_Ruqz0bN;}ow4UlnR
+)dCs خr=RlhI<B7i[[J\+ՊF_GԆo߫V.@ylv_Q / JqV f5)GzbLUHKH#?
+fC)Dڙcߣn:L]!mRY4<L`;~Ӿ:ۏyډnd48^:Cl7YYGk'Q,EUM2\ v!qsًSaPgOׁp鮷o_ՀD..eT+O&c-Wl{qe$Sg1RGܩ66_d݌vF
+;}tr%/5ko8W|
+. 5 X'+T١fqל
+BXɕIJYM:UHf2AmƮIAΩР\
+WL,*q4S^9XiȹB(zL1y[D
+2HWL c
+R+bc/_'|h$ hu,; z_!l<r
++σ9ȸ W Z8lH807MɎT_5L,q&1<(h7K|Nm\ta~v>46@jQl| :$9\B/s0u^ds;xk9#I
+D`6뼭 ^Hiu*,-/d xdY9rjp/峭sۿC*
+z.=yzhiG[^7
+H@datc߬2atJܤ]5T"܂*" j4:)h7ڋ 6]<73wOnZ>cV7#
+e!AĽW vMݣT<{/HvXZ ^OjJT iɾLu" Y"mWYPkޠ46 纴{߅79Mi7x6g!|0&)hcsO @}]㴖=UG)%X8
+r<qz@B=HynF>v9!wṳ)ЋuH+L;Kݙr)"w~9A ٸYT ptkB=A021.HR ZNNI,Pŵ+^YT6ˢԾeL'RCHӰɻ֦',18~1)"]LKZ&~P2
+M).&]% ؖߺ)B
+Յ'Uʮ'Wl(UEݱ>`fX\.KzA%YD~Wb.ڴ]8A\P7?C!Xrv2f
+߼'=
+*6)7.KqNnRbeULPK&B<Yϡ
+HQ,ZbI&o{߅t$"E`!!,!iS7˂džI(G̃<Kto$ :~4|$roIa<)g `W%@}
+a(JZ 8gMV|4s@o+WVEYz1?QRK0tv0Yi
+>G'j$#GLȊ(M"D":#vݞ&T^4ߴ3InT
+'6be `kbp=2W zsӢ.
+ʢ<'d%oȱ/,~׏N
+6>H q#z%?Ub$Cd`t dgd1sZ6"4*nͶт {7x_&UԓF&?iC쬗: '8q>ZKYS;{G:oU,KrT1#SK>ߺOxhO)
+L3AJߏ 'ł ոMkLz
+!Y|^J1,027Yjwe]-\3}# t`_b.iQO>l gX<U,SRvejFA;ٻ6 к̣x12^*}d[֍lLaУ٘_4dӭ+Ld
+ #}uȨ68T8
+]Y(M^6ҫ10 .B_.`EQwF#QKV8FG(ۥDHW7't,7GT"kw5ikn_Q3p]j@
+:-#R_m
+l_Ss^3-…_|(w=Mj%)čiw5{X?fu rg<ʐ}-x۵zō[Lދ,=E9"W"RCCSP}Z&Aj~3w|y]F:Q$P[g|3%.KPD1~2}0(˜仴6xFyg'
+)x v#;q&Eiw˔ ʼn3!vrdY]4ov|"v|yl'п =oXfp3J6 R48w
+"iALi62 Wvy@ݓCYEʂ1S>D5 !ut;q.aQpI)|:qOGQ.s,_h,`4ey4-p[!27.P7zzv>F#䭌Ipȇ%ZF!v7GǸj7{VHbK`= ~R/Q䔍Q20d [2w
+V(gYTt8.~GϙXqQ>A_0$Lݞ{G2`m2"F
+ioXm8ϛ6f㉗  $<jorFr4LMS
+=%{A,7J2(nS~e<ڔIn飸ΊJR/ɹLYZPm.!oT/%cRSLx (8gC{Ёf?&'$XY08޸^R"tZ.-i@b!jwbE^UsIk L1޲|[
+ӣA` a}YC׿<t
+PU͍b
+xPf
+9b c KF
+U3u  żS~6<K]-@*oEa1e(WVC%FFo=IUU
+)kWNoG *J2
+!E_,%ESqV\gHb K,JGgIPEY\W<`f']SoL9Nh?x iG&hW-?0*̻}Y){&Y<6 p"Eܜa0[߱QC 9(B&0b]=A)Q=QIz ҙI[UFL^<%斫@eʊz6LE0d]>g.}
+Y+Vxw5za׷ӱ2Qe[+K|k |lђ9蝓 r:Y2W}lDD־i],*{7ڟ3g}(Mx%mK;Ƭkd湖Q2ɷ4e^x1ӲwIwA;mJ;״m  E*N1&7cJ5 ?Zgю7A
+Cϒ˕UϪ@G~%$X>o'i{A4tyIjwI9h1ǟ.O#W[GǛfǴz;_a[<ڽ̸1xbe<y H&4gxP]x6\Mm#Gc\T4BsU4X:p7rX]޻bۣVoOzAK.6 _0ܨX:hFcHe"T%pCrm-J(H 
+6A`30 j#tD݄M&޷͹S%p/P,R\VDĭ|BkdaF}D-;kqU_MvwVW=nĒfB;CJ$Vnq,'2&|*N}=雴qSS_d̩pU oG3w/El^[#{2
+y1g=c[iz$*ʴ[ݽK:+2 Ln^X*<@̘@>Tv$~jMfe?qjzal>~P8DO*
+Tt'! @r'4:aތz
+Q=2Tb#1
+8 h/Sی<.\Du0BPK-G;+_[UBbϹE4*7*R关\ќ ߱+
+4hVzsM(]`i[!Cp,E~Z=\@gAxFTY-1(t/fLmV&f-?3%w"R`>{*9UE>c1j51$PSOukkOj PbcWL)ڄD>/\ cc,P֐e"vRIE^/G')^|N!t֙y.16D7s
+vHLUͼgG M\GiZS=ݡD+T#;{o."r@k9(0S$ ͓0쐵:swn2u' e҃q{RU[:t5dSUn}D]~AʹR(@ji:3%ѫĥ>_lns~][N͔X'I8!t xP l/=_I/!^vrm /:j2ZN!<FUrك?|B$NXfQx]*$*pParT3#cŎO{wڱ3)iYe(j(Zo.eK(,s
+JZ
+%ZnJSBAKɓ O-^_Ma{m l Zjy5=jt(ï3j /[-[XGZwVX5 k&и QDjwmŸo ':%zÞthUF,dޣGh젏(:!#*.xWYV ~8]#fjwZHj9=o4 o4!WX)㨨?؃
+?mubm-<KM. nro_S"_V Eu*B-#DYchcfNMFtfT[U*=&yW~&DDC'z~LB@<WMvy*N&
+/:fߝ ox[U1L)&
+CҒs=Sh>&oMC2)8V"hIO*`R . ;^7d=`-MEayd d"?z{dGpfP<
+A0Ź kV*UYB#rP\8غS⥍S,i
+bh^Z'BDVd=ʩ5ƭaA7Csŕ~4rz;KKu.0 W>󩰫O!_;Sk!Ӝ5Z z`4S0۔@Sefy4*lnY#Gjl%$7E9=QL$3z^Ӻ/N ܕ7m/f䵡--i QHP_-ߪ,bS*Ld`s1l4NiR2L^c@xr]q[ce
+}>X[ܶRd d
+􉘝F!Üa"t1t׀!.\ BRMD 6M)߭mh 5OsM;IIK.Mq3
+!%5īnͭvd]OV45M`R
+",FhC3`|yNAhjP7A gepΓzpHo26ai -w:얂0ι2һ]c7aVJ(1gi\5p Ll<Gդƾݧʓ
+Ai vɂwHmX>PA/Oݔ“IYmͥ[:1;~
+(o)Ze5'W+I؎-tb5N޻9` Ϥ?
+C#KV/#x{Ǒj]6c,tʺL㣽 X1k':Pa3b, ё8h54łܗa79]Q)
+ƴ &pn5oetMb=@\X*#A˃FvTQd^X稊$xvpk͈k{^7Q#˼Y~(6*O_)e@ M7.{ġ_Pz>Wܜ>câk-5,gUJ)surEnY@o_`v@7Ol]qt.r-<JEM6b<;cR0&)c{5+49ҟ]ə_`_$d :&HEfmI4RoN#f~UC ]bFX/Qj% 8 SV_mtӊ+ ̫owFILǫ~CzFC$1
+
+x`VVtX;#Z"Ó@yn7@8 ;[
+SEqm8q/޽bv>
+@ny+q#ݮ\9+I8VOr.QAɴM;tG5Ybjcvokmyc8B-'}n> OךDj5 @ }gp KUDPx&[Tؼ4p!Ns[d=M4&K]'F7v *ӤU7OFHń9hl؁ba _mB掄a&h9D;zgn!|< dw861[>&#OKv-~Z.l悷k7뛿#"ERd(OV'h?QEc8pD6Yʖ= 88
+2iק%ŬLf1Z2`4Ɉ >! &dԮ~:^2wO!Hr.f wPYi͇1$|6|cdvc''cȠ۠C*d[Qƹ<\<_/52>輡7S̍ƮRTѠ˽Υ:kbpMA( \.|=wD75a -sYN N~W(p"%hwȚiYo-W5l:e*^B*3WU,v
+L%fЌtP͵`|K.PU_4-&{ʼO\U+)J3Efӌ>b 厕١frvPSWm,|_B]C
+'G -ѫs>l4
+H>IΎңemXIpJh+Bi_oBlo!7@V?쭊V
+/bo$QVY"v 4db9Yaw<aCۋ)j ;OR[R!z%Ж 2y{+nO|y+TA"MoO8
+o 6XCWЂ0:㮸{rF IP
+lhiUoY=B?lhԕhQDU\5v.AwM h,i+@]fʮtNH+QkcOt;{勚,$rcZۛ*hNKLZlу[C] ~9ړB3Ă"qJ҆P_BT8(6q
+\i;CYzMq2b.s+皮kɞɯ_!ȑC<M
+1>R{@7=.CwꪂSM{z߯etF+~c߻{A#J`pC=ui7qh쑀:_]~m­6 JTGZm$6X|IRM{ cJ j.c㾞~s\ 76R+}+&wu4œ〟 нʢΪg ,˶;rIܡndϰL\N'͗{(ev}ٲ򃍘{|Raŗ]Y ]NP ݻfno]lh@1 @7m)AVXG5ԘE
+F!!\PۍR o:zOӔ9{ULx*j,M*A2+s(i~"!L=:nM!-o /])# ,!p(S>,A>h
+r3tq{h0o`扗]|x&2XHݯo0/U'U6iNH[eXVc6)&j[ͣ@1Y_X̆
+J,-{@5a'ն&*rS
+7
+iy j/.w ^t0Yyj(6OTK_ؠ{D cjF7NY61۰"wF;tѭU26hqgq]n^^i/ط!Pw$=a4.s(r~J:d';ȟ;~*91*ى!ѦS;l-Bc/䔹 ,%c7r_>(:Ƀ1soj0FSXnf; ,z: O6TAOp'L/*s9ϽLy^Nwi X"~e>cpiiq^(PԮL*v%uXi}t`Kk - i脰e(ׄو
+Cw3T,Lf\#R)4}=tp<Kv
+G`խOFC㢕&ڪ%M`wW
+<jt%?.^RFzH5%#T!’
+u߉Hv.deh*`V^$ۆ/"7i-Im CA/LBҩCml 1X{-H̿VWn%aâ**Kq4l֙ɨrgqicxߍOY]
+bj#! e2xԞ pYN4|Y魷Qr
+(
+R61rx>\>FȮ Zy
+8@ %c-4NUn&o*&= Uay9k2^m#w cNA]JٌwWKחK?:PlIޢϺŁMP'\ CȘmx/zC准,GXvddUT!{D<Qc'}A_-1UxX!JMo8*ᄌx4;{4Eկ& 22ß f'-gLvN)O_\( Y:z6BpA?GF?bE%%84ȟ?MKbaw`hzF)tx>͜i$[v7~G|O͗X_)ثXDp)@|xB=۝in%NWk*=1lF֝ KC7;eZ b?p cJvHOvp&<p4J"Sq;̙qnzo+FXÿid|dS\
+DX>NY6!3IsQ& C fZYN0?Ò%;#OPECp6ąI9f P(|G\{xtb'Rcn~yb]0HծƲEѡ6>CqJBQ.Nd@7TZ/ZYy*TRNXG:]80\0tp&L= /HPn5lqENļ>P.@ōrAVr7sj $;rؤg Xqяu#VIн7)'bsB[ܤ]}(!޹;kxwJT~gpLSY{Boq&B6^+*%-o$RGB^?܋L18:ړ"acL ~^Fe* C5^cُ35ngϫ:}#@߆"g흔 ":rc _n@.f, BrEuWU<{vyGgׅlW+ nkiS/hs?˕?N-(L΀lDq̰][U+|-2aʻDJ#4MfK|~!.тr}H0țS@휶5m'MI+xz ?_%"֏a3 5o (B9o,16+2^f7q|
+SEC0
+#{
+0%bO2h r7DΌ7&}0[(U1Kw}Pڟ-u .b0__H.%Lcc??nb$GI\*(|6վؼH5l ? Z7+oZVF|XOC **bzfxB5͒HOU: RS3ϚmdrF-:52=
+>݄vK\Ơl{|Wgb-tтXr,aޣKv5+K
+og6@X
+h| />N?Gͳŝw}U2hr C(F,R9ScIAW=b/o*=/2WZgPeC5pkkVu]?!l1,Ÿ/lxFzAN\}Bx#!QqӓH_>Fg(<€o--$c9qJ,W ^>5ϸg6ůVi\_E$AP|~N.^_x
+xr(u10M@sxj؎p+8%ބDl򴆞IqUhqp'8>0K8~r~{s<ŀ%jbȊ*Nù|>I,q"63Z+F۩ZhWDhp77X&pq@KG:>N`?3zO;-v`$&+5{[`0ZTuSMtaC tW&T%jj[:Z{+[zT2#vVh5|8iah G2׷NЛ
+gݕAՁ9<J"4B13 q~(3YD+Jsɪp:ȫxϑMLȸ_l7>e)ڷmF# H
+|J!X"lɣMZ*iBm& v5_Ug< a@=ׄbǏ偕&;2]p^A
+S@~=wcfb8t2zόQRQn*V]M[YYQ
+o佻#&T<YoZpomUCKɺ62 ^nEE}Ku4@ܞ{5+~r G|= 8q &Of_߃|b [< Y9Sw߿?T8 Q, W6 o4Iև%4`ud9a3zZn\@V asz_ZZ _ed IfzބtW!{GwӨSCwޥ@RAMYEӒ;.S\"UcT|WX8Vhvl"$Ipp$e:bk3b숻iƴ:W]9K$B?DB^MEu89wN_.ݥA7n" b! aj,Roi\Ve=>+2!⬸4t%rkFT2D~^3+G?Jϓs[
+\\W?mR=H?a`ӂ?EQV /C
+ V`ܪ!?6W}?
+endstream
+endobj
+610 0 obj
+<<
+/Type /FontDescriptor
+/FontName /JLVZZZ+LMRoman17-Regular
+/Flags 4
+/FontBBox [-400 -286 1338 1125]
+/Ascent 683
+/CapHeight 683
+/Descent -195
+/ItalicAngle 0
+/StemV 18
+/XHeight 430
+/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/t/u/x/zero)
+/FontFile 609 0 R
+>>
+endobj
+611 0 obj
+<<
+/Length1 1635
+/Length2 13356
+/Length3 0
+/Length 14428
+/Filter /FlateDecode
+>>
+stream
+xڵuT[ߺ5w/
+ݥ 8 Zݭ(nE ).{{yGk>k
+U 1s)Hva`e
+k:8@ 3@RLYS
+
+ߎ_!s̭\ބ6,T[@
+
+Q8Y{oFր!,ow ppp[ٿN'
+5T1Cb;ʈ̖5H'N!MMc9/z%G8[A"<)ma~;
+X x/԰ux+c;_Xc.kg;guWk ɲydO$
+ v.Kv+$Z#xq`ˑټ5+mκ<r
+m_ԭbf~|&[UL߮δ1^瞻i
+ nxl|/͸:iIb٪]?J)Z, 0n֣y1w:;ȦНP.UxTȵPΰ6oY6}^"l r ,X¯tB eςC?;Uo6?4St#wi<
+*-rKS=rŵ(LbS$ia' ,Ec
+o>e^c;+Um
+|pu?.Ev'%^^̡_iMgybE3gV e%_
+Gh$TML|ρHF\ ^(Chh'жGl7]g& -K]fW1/f[}*6G\b8Cl-8Q )UwyP$$%^󥃴EU <]heEy4Dՙ|hY5d n޵Bo"^&pcAQQAۑF\
+5G-8I[q34o]\:l0x~@‰nfHAx{52hz/+C$
+'}J=<`^w [q1)NnPp7 u_37Ą=rl}<!)ٰ߅ o|m¦+pXÆ?m@qc?Vݴ(PER京8fAZAQHd
+Hz1]9/OlS+'er90
+~ <E ʒ  <("T
+(~}@(oIUs9ɬFN 'jgIeem/&.hTgjU 1Og63x0PUY4JcN5Htdr%`S' Xq$tr=vYsNigq{ȕ5 ъQYc6LSCpN)|gBgK<Z IuN3~-ϋ)ad;̜
+?Gn<M~T5#2-gx$粽G \4&h[ȏa
+8]ːR2+@|ޣ
+ %;c+xȤ}RY(||>Q]vӃo6Van52g-&M2IThR,_22|O:1gM8 &Ix|2ZG0Wa{tU-&9_vHU8{ + ݶi2$yE_ij6B?#ේjԤh:P`\OJnE>I:8ߚa1[r16y<sslw6
+c,g5eyskw\p@pu&I$jdKAt DeF@ vi~P4ư?cy!gg
+^)mfrwkT+'^k˜H󭌭wK:>/k&Bp%7&x͌? 6.=HB)3_bl7nOY[cwTOֹf>坂(I^? %bF{g$78AS=P5f핓3) a +زuaaGɦItI=i{H5ÄrY^@
+fB6VN팾TڠQ)*OΘf-G4t«Q; _sٸ)TEr~T*}<\SZapvNO9p%vc0s0gEcJf]bH@P6;@@'WRk}
+ћU^P zF1Qј0}.H|({ GD{Ih'!n.!nceC6c_-&t?HieF5qiWvIꚀ{j K=4J,ТׯP$c4PS1BV uTi^NzmxhA8qn/6veT
+cX rZl*M.*D$!Mѥjb>͍T[WmЧnos5Ԗ"M#)t;]e6*KG"R[DQTȗ|e1mْ8Ť~0l04#Y{)EzF ^Jc$LXъ|ƛ;-4!C1T=FiUt,p\k #/eZ,(4M#,3a-V4z_T](-+<ĚVLqQE|#u5TN 5O1J/<̐;s{*uD%p2k9U5PҘ9ȝ1"N
+hO(*%5Y?֯eci^Ahy`ھ wzNh<EO! Q䎋q&/]_bBHRZ=0G; =3:t5s.;0Q]~P"aXkm ӭ('dSSa{V(D_BDR ؓKKA4hz_r4nl/;WbޥBsfPJŹ'h65|_[u˒OO?aT0~~|@_'3r1i^[#p,}V6(]),]ub;K5>^(N`]_dQZL1I]%̱nqB3bcvsQE`]5{\`,O޾2yFmC4rOsXzoC7nF>=Θ#-?wסG4׆a޸۹>Ϫd?W9i ?|}#_j!;/7,Dg <${t@/F[Aw,+L2J8?VrK`F2O8Zw^Hq*}&LugH j^ 5yT) j9ߖˇcκto0g݉T7.BesbZE^
+$uA&T'i7Qt=]
+
+&iJ}VɱyJug
+Ċc㡭|c1VMbR SdV~?'ޱ_! }
+[cQ8~Ix7{@P~Gx8nB LcWV0 /E<q@uicVY+&O{_9 ДTl+:K]QQ's
+#OR0^=j DjH
+IZﴎ8+> 0ɐx*(qR[[+9ӟGp]{>KJyÖz7G/-6rVK̏e#I_ $vnh?cu;poys +I`cz *uЧ,ۺr.NlDsjdz*z$gXQ hXVz5?,>^Z{$
+wu*㞩Eu xAmqFJ)G%^wf&ۇߤUqZTs m<bIEʻR&ѓD EZ|HX3LBȃAfZV2a[DS%czMjX^R^e >/O ԗJU+3F&V!;C?δsS-ҥ ? h)N u(ee3/" $d dTgh> 3J#
+Tt,}֥㛣)ҘHXZ
+G!v4uч &sqf8YXۆg?<2LP,5Ch̝̎Ʈ8/2{%AwHe9Kjbˇ _d[q#`x+Фt"tB]"yEzK͖&,+HNꀊ I]b݆}HԼQSeLD7Q[l[FAS6HiU">sZEWp`&+JMkN\̬i>kb2(bba)ƩVAO}=IlU3-ETw %Av9ս&RطBZ~ \C6FX`@8<xGھUYMYjn
+lX~zh)|~(i9-޹ѝѺ+yʜ64ZBsm_r ~yKډ
+u<"n*
+j#80[7 D 7,c4e薛Ը"tM+Lг@N]S>y37WCA1|.`𾫩?CIpNQb&<Snpa]5w,ZjaFC!&#,
+ն{U=!V,5I'N4_ 8 .| ~{Ԩ<5%ǖ@l/s/# dNHzn:ٌ^ CP# ) 񔞼`>g(Bt[T;۴gH6Vc_gj$t;gJ$hWe K%ug&4dF~q-ݯeFkJ~lҡ2%FXT=Lf.ZAH
+y#gP5Չ
+}〺SAV$GҌTw D@ڱwNh&a.p(AAß :7z .d,N|.ɸY$> Yb,r_kh`><0z LNdc6yr~Ã
+0{2+^1dm5/ftoa
+{>#!ynI>r_LSFܾD[Lgw}֙ƈ9ݑ!
+MSpn*]GX05Rt,b/C{azbukhYA^P1)PΠZ-P[iKǨb=D#O f`D(͊*v.7˄ }Lϓ!+T
+A
+x«(>]Y? Ӭc*Xp6K NלiFÄ 8g*4=HB=._vZkd4/|N:<9^1Becx؛X>&;)8hbV c,kE
+GX8gz@yb4gq.ӸF}9J/w^*9)xV "0VG]ԯ68OTTI(7s;{mk'j!Y7NѦ'F|{w2_HIFc#Ou؅M[0҈ݰiӕ6"4>k[]LR}k5$}6*YQ5֗s>poh<N e fmb.A`YHO"`ΰϨgt{k2+--ډO향U+|juy qG@/v({n,qi±(PhTǸIbu~ӝ9F|P4ڷH{ v<UWQ
+$RRnCw&i U.{Pvw}*^b&T:1 JÓSt,~7핕'
+5V'0=t~>4<E}5+γlsd"mvxڃJiWr,dCƔ/ x'p'9_t$J=
+E
+煨#Xyf4A)e[kpИ)yFO(^fpeAALC/t`o/&<+sFU+:r I$+zΡoQL&-[vz!$o>3v6YF)z"g>)Vmxy"(ݚS.yu8lxn{ 8{ktVȺ<Ae, J)BlяŽ</ @eC߰/Е9e+dM"wO)ꥼX̉u'̯=R~@g f2p iBAB0jauF{boľY-=G.7ݍ&W‹NТzEEXGsu@l"%ГWjS71i` ,V}3M^2^D-!h:V:S0h{ыOL+O-aGǟ>IW%[$`UXUQvmא|b̾P6qT;۬p(ޟ~:sY˪ v7e|"nk>YYQ)92RT- 5E p9م%JK.Ya\$,]rv屬\b5m.̾9`ͽ>q}w[ 岋-l" 9a|ΒNOij2_]Y-r[# 뿑gB vSv?Uo&nshS|\kWؕMFIt47
+;xN-Í7l@E%?j]b#壠;MlA9KjnMx\B[0cmH٬\U l%+;ڪp ш e!{y,Yn?,aN!ݑ恥
+m#24WdzJz;%p%~\obP֑敺ټ٩%oaJd+9|S_Tcd:u3&X%~Wu{ޞѯ:>ʷL+G6{34؍q_J5zkeōP_ aƁL6۳G>"3SI|\
+v9E P1kޭka /ٌ֘#kF;& hKBt#W\tP#{pO4Y0qHDGP\j'zW;.f`J7U/V)x=9.Q % /9:hA:tÖidD$_wyebHJ%) l4q0dhmN⁁_VUlΜfdH|q1{3R3찑-(~XepQ
+}f?>TyYpuQd2A~<ҝ=/S_b}WD=E͵>䓍W[)Jr'jK&9{~Ev롸uX? {vTi.xb@1@)];I̎'p]ʩhD_ lpJRg";wy[/2 f1y珂!-V)7ާ*
+(&fT!NMM"ksͣo]"VeS@7mxgFwyLU]@=Vzi8pwe]%Ӣ6#hJuw'+'Os~֮hCyY;Q}RUc@w
+HZ=rJ]XXAd7b+B~nQ7cJi^JlJvX=^?n0:!MSc-;5$+쀺knj2SbyJzPye\U}Q!0Kb+`)<DYD뱻kЪK UMt$~`_3)miAAPj\v)iSӪkĥP$oP__↑uy-o}*, G;ߗ%Lkmnf{f#Mg+V+~Q],t MApqW?gX0cBT)o)/nGr1ãz5k }Zi2vRTׁb+ȏu]5
+endstream
+endobj
+612 0 obj
+<<
+/Type /FontDescriptor
+/FontName /GHPVUA+LMRoman8-Regular
+/Flags 4
+/FontBBox [-456 -292 1497 1125]
+/Ascent 689
+/CapHeight 689
+/Descent -194
+/ItalicAngle 0
+/StemV 76
+/XHeight 431
+/CharSet (/A)
+/FontFile 611 0 R
+>>
+endobj
+613 0 obj
+<<
+/Length1 2168
+/Length2 17513
+/Length3 0
+/Length 18854
+/Filter /FlateDecode
+>>
+stream
+xڴvctnұmͨc۶m۶Nҝcضmۺk}~1S|z띤J4v&v4
+Գs4lM
+n;uޑ{ ڿ䵳V+/46=C7@ hܧN{r Wxʙ *-O78_:+Rqia |KB!K'GMF
+MHƴk!0=:3fI;Е⨽N:Sx3~t<)2m JFwm?}Ucvx.D@`xbw(
+O>Z=dVǧP22`~ @M("0]7!dBNf(H
+VcZ !j@L|F։x[Vʚޟv#fΜjX;y6:MB9F ̞[sZw? |ăė-&6( 9q$$[%Z(#s1GMa'DPPEУƳ5I^|`﵊I
+Y':q8LB ?ii&Q9(jzքk_IU⢖n,cm{Ӧ˻<Y/-7D3+dc8Ϸ<Amm^%`Mz%ZV?.;Cf<,;6hCM:wr>d`P8>D$~@GdUT09B'OKm.{rF qPzyUDk3~6_aF}i&!WQiFŒ=i{5pp^@$m/ L \F)JC`n[68 a3)/O3̜67
+GÇ(tQoXLF6f0z8$ aUx>\nAāju5!!И4]mϾYj)TmJY6o?(!)\_퉂9 F[$@ۆSϭrk7qN.)~6aa
+' ^;hG&}qBUkt4=՗wQǞ*x5m vDŽoR(_h22X#a8 /F]GIh7\b׷ M%Zo3b\y L8殡JG@ i#S8i:v$mb.y3;`3B'D@E'flm۞U'(AfDa_$Q/.=/ǎP(T%x!my;:8 1CKM-~C
+堞(ȆjTk~4-
+[.W{U2"<g;bځIepX WE(hCRZI03.CmhwjG^_!LǧOpO6g}Q/|~<.Q ;9J'xc|?hz7zQ W%T)jVQm8fP0sK!z1wB
+^_J!`s4Z3(ժ+eY JI \6V 0 :; /HI+=t]up&x^6;،^مiICbG$VEI=|>!r0a,Q:$oۢQBu^RI)bH\Md5灭$Q9㚷cai_\ ˙ F3hړuI]"`-VKW:a/+q_,!I'Sc5x53cڎm_&c[j
+ǰsE#3`D<#:J):1QM?y>aжSl-㞜C3_SV);~[#α*Q9%a_9W gkĻ,`$3ְ%h43ú0>j56O)xUC~M6[x o,[įf@xuhn`G"& a3<e4Erc'P9t:D~\@hEǪBǯ]z)w`&=8 l2Yշ; i-XSs0C7
+O!uP),&ax_8DwpmnI팮'\Sb#lsk >q;F2}hly3>kvXzGg+:ԫ萄ʟxV*륨goZ/
+'}ۅ!*1/[
+%9Fa)/HLȥצE0`]Z͘~̂v[Qwm5ԉƗt?N mɎŋ^\1;Q0Y56՚Td
+]sqY㔎/mHat0DѮ7Oalj9ŵS<C6|ҙC v% vuZȌQ?֫(R
+778:"%B;Tòu*[r/z}iV`9M'C'/tړADju(bK%2AAyՆ2h=HU>D`gZn2^WJl{{k"*9ϻrMR Q6piy̺/X1 oɒQL6RB9F%&xrZ~r̆V{cc3c-P;QsB,-5[6P9!܏l%^pPl[8%4r)3q<b}^N#!4uw)zx؃UpP*V,DUnr]ߖkЛaZ{3dƧy!+_μ.kΨDh;|7 VxvY
+&I/eGa9$X ?٧ԏIU$K`ue0G m >XϢrfD!j8p׏!yXEa( 'V23^(kxεw"XVQdR60w({E_FVʥVD} $lȗ~!cĜ8nd^Am﵍ MC,~ȕXc۝A
+ %5^Ip]ӏJ鑆]MEqXB~IH2^{f`eFLy]%&Cm]űw]FUqƳᝤeڃtĽ<w/>+W%I"$ibQCp
+=ҹ")ⅫE{pI Aot{Q/<b%d30۷n)Ct4v(K:Z4{RP}O$z*J1+: ! $I$֔(ASV^-mUW(7 O⋏knP^ TԇAʔ`-O
+]{ֺI+.d |ԍ֡MܠWO6 pYXZN"ވХI$N6BG&ȗρh[s?`wIQ8 Gh:Ca:q[hE_ewr2{*ybA2ëJmA3BjIT .!ƈu$NJrA@.DŽҡ_~{uU=O)7>v%U F+WM`-}_ZZMm^=
+Q̫쥞7ܩ\XK 0Ꝃ|hk:G\V5ځcD1,a>:᚟DI 5?LЧ粪~Y
+CUxxyJƂ*zaLRֹ^lQYE qFVs՗ jFCm Gƃ͑ZT_4V| k OpqV(ͥ^^b_$zRa O/ry $  P+˙3IJ, ~iT (*FG60(o "69G'IF2~p>ܪwa-ڷXh (cb%0Ugꩶ
+(&_0v5JW+otwF!u8`YiKD]8OIrnR`fj[Ξ`L:HM/EC=%
+8{:F`~$'ې3h6Ԕ <fdx{7KEc}L#+3_PcpY
+^z4
+pfRΎ
+ %|YvZj[t>
+h3uH6uz?o\Z"c/Lv\:E9ᎌ"Uٵ#oho?
+F3vU]MϬڶ{i_;T)g'0.Ͳ>fl肔_k~7Yv#~E?T`QqNR4 :I͊i^}CѕD$HQ 2.6c zr^gꢱvaS?=fr8AB
+]aцq0w^8t.KM*MשypgF߿`]xk#X8={ŏ0LX(3oT`:/ü9_
+@/iޡf0=s g\pQ:* 7+F%hscCwUrt9bro`K١?#Bxcc h^\wlTH̼{]f_
+ooWWwlQgc4̑ %0BoT'B
+:t
+|䳧F4}M9õ4ſyڱە{462-rIѳuH&SAYS\|k%lY9XogJ2i4$I<~TGKnLIxI 6&Ճ'72}_1\:ePGE[tNCf۬Koo&/QO1[ܨVF O`>{d|Cծ47򼾇1s5ޑqY;L -xs}#yIP= dMqo~PC,6 =^N^ABa*^ ' V@s|?”Xz 6Zagyhs+k$bҕە 2& |`:t1~(#cC|@7 RD-4`c8*EAw&ٜQ1t!/1`1[^VT@ {<I0{j FLIVR(Ȇw@Uae}*ڹ 8/K\Ҩ
+)OC9Uq(^[!+jbV)ѰÍB-,e4y2 HtS&IɡO0tܜ̺V hMfhA魟
+y@2!1W9 Ȣ ,(k_- :ףۮNS4#C4A"?`L#kJd":׳?o8QJʠGqz3Bs(i:ZFnҴm_q4K< ;GD)
+uR2V ̚
+}ܐ%I\%=VX4t e~jG6CujCQu8SZ M, E Fz
+r] %\otFH }Bywi+
+
+h
+cwG
+BF:h]3ESy):~!zft$׾#-Ɓ#>tecOk?鵁5X[/Di,_q=<uj5US8/.f0ﰒ#J(j;E
+Yl9Q􀅿|DcSSaO,?j8Pl .>@ $ 'RPȴxiQq/\cZ\6
+,iq _We_્)O։R֘f!'mRx[׌LwR~īAח.NI1Cbzmc%^ykޓnmw
+{xAiu JH`uFY>Xtjߝ)R'>@z'.x\Cz񃎞Xz7>/:yS̙* [w*?$`.7B[ laO.- D`St;>raLK
+,گybNf/82"`7iLFཔk(\2K&!l!6
+X xT_'gOh/K?F ъ;#J*"6H&A*td{]&?*ʟPC"/
+Q@lS2P29Y1G t1:]xWC(Hw7y C&R}a~}\X7J@y‘GQD")U+ 臧ָ=wN4EeW,. $WPa~ưΝN^\oza HIDgn''thR͸Lw s]EgQSzWج-"hfhTy\}( .2j¹`?^pvd  Ğ^>3$| +E.x&9);S-,<<njux6:)R_Q`43)X| 1als܆H)Ry'c)Yg6ƅ =r"i}E[YC|gvE޴=J\ `t_@ȓr.CY@
+Vb]fЁ;NNWmBw4lHUzݘۧ-|)+[` -[>/)BƖ7V g.T`q[,Bo7ji&sah*L׮N+FܘѢ@s<+߸+e߭*s$9ܟKYJY|jN̂5[kDpHiz 7h9T\-F,L/pn;RkTxIn.n'fM54<s,Q!Sەxɳ*N-QeYXyzhZ[WUFHę,1ьC@vdKз2f9sIIjuut4 R6c _!@-r9OǪ]YLO+b}=G* }ZBhhgi|7B 8wx4ӎL2m^ ٯ(Hqkt'|a!Bd[%:k'9D"rsm$$cܧ+)
+{K8mɑ|~eD3.Ydc
+F~K:;K7pn#5D5@]{<z=1~0iEuSj+"<h8ŸGqMZݴRJc9I=Y)w6̣µmxȰLZ\MJmQob2^7+S%4ZooU'rqGZ0%:H(>(}
+e^:)M%m=[^sXv렫CƵ֧-T])8KwjyiXAy~ZQx
+(xWav.^4'́䴍$Z b~\d9')F.^kYiPc{IД0s֪){LJwuY^`"zpŦQ2}ʪc–9ذd{7Urpmz~?
+M3 BҶ$$2ғUt ʰjj9SlƠPݼ2z;乕O 2`K A툓F~|kR;,I@A%5$DZ`CJXq?Ge:35F;ף RdKIk刍<H^݊P0!GpK}͝+EHJP6-Z$~u#AME䩅<PXF/SͲ w`!:,w\HSKIx
+|!Ϻ\[YGhPhX*3V9˼ԃхI+-qD2Wk2V, reI'2 5Ѻ(9qH/5NQ=?<U9H6ThoKDZ*
+t,)ٺ
+gsȘ.\Npy ͭvD
+[3^ <NhxWG9ip[Tdo9'r(mἝ3RΓnNQ[e+x C5m8LO@u򘇎V ~äz Mv1#66L#cmEMD<VTՊ 3!%C[: 䆔q];4AfDr+roUo&yT~fø@\b;!%`ܗEw̦A}B%rtϽ2RRa!1okhF{ ;:dOzY{٬+L#gtBU@do\ JNX-~GpQ)CJՃ;, r%ʌ`L\U]^`Cs֘
+:BO/_Ai9>o}'#OCay.oIp eג[
+X@[*T򄄲GD3,&=c엧Ӳ`!߂-Ј\|xTCnñ.&Ut'^ r } {9׮툰Fx{ Jpc6>Ld5 #z=w їT\fy
+C!+RWք#PҬ+y|V,$=sCVw54S2Hس+>W >$k~D
+bKm
+endstream
+endobj
+614 0 obj
+<<
+/Type /FontDescriptor
+/FontName /GKSZAX+LMRoman12-Italic
+/Flags 4
+/FontBBox [-449 -289 1358 1125]
+/Ascent 689
+/CapHeight 689
+/Descent -194
+/ItalicAngle -14
+/StemV 52
+/XHeight 431
+/CharSet (/A/B/C/N/P/R/S/T/a/b/c/d/e/f/fi/fl/g/h/hyphen/i/k/l/m/n/o/p/period/r/s/t/u/v/w/x/y/z)
+/FontFile 613 0 R
+>>
+endobj
+615 0 obj
+<<
+/Length1 2194
+/Length2 22824
+/Length3 0
+/Length 24175
+/Filter /FlateDecode
+>>
+stream
+xڴweT۲-Akpwwoqw ݝ#{>~YjMB(H#`dc`,j0s 4Vv
+e oq=:B[`rF/'sDڶmCDOS](̨tWૠcֆ%8K0ˁ_DGi},_"D> O~}N`lYU1QC5 /ڑuG?ۜ -B?Z#u#Bwt7!5>R7=X
+k&|ػR
+K;ѬDN37ШDьċ_>kZಉw1Sހ%[ R(ˆnU"3
+Y"ZrN<*NEGI5^iܛLz h<`KT%xJE7{Dn@Ʊ S19
+ʻĐE u!q2ʕ6T:_csj0|no} , ԦR0^!}P-p:UA hdJfk( RgˌD9
+!ut υ[0E @ 3tcJnad=vZ_,n~p%2SV%x> !89:H U#kumŽ[똢8;ub'>L:-.l!VO.t-$qG?Fu.8=!gھʁ4T9rM%& ZT쒭Y}wEA_<0Y&M>K~A ~:4EE&
+W>5
+MuV'qk.T0nJ)I4!i_ fblxK2o.e/df]϶cgˌ9*yX=UpY 4<F7%,lm/I֫
+U?% +3
+˜V|r\
+rY63正`^R>nqB'O 0-"fιBNef%8]
+,kdvJ'+k2%GhJP^; X=[W$Z5ժ%žmAȪVX 2Ζ<Nᓖ!fZ.N.<h]ګwϙĔ}.}#{<k֒n"{Awq'0%`kWjLDq3Q~cGl  -NA>qJ-0 E0|kJ9[X1^W/Ea,V*qbZS@<~}$]ܸc0{N#6jV<H{0Ӫ畛[y2sQ3>iT'.CE _ӜG`Kԑ0)ZK95 X 9VW"#a b.R"|rd9r+|5~"
+zWnm<
+p "ր`D[ ~woGZ"ֈ
+yk0alkȟ]x`$[P58
+5JP m3CoL3.`_0H{y׎3!=7;NT wTbv?.Жx1ؽ=Y&x%OC4ca1e Avo;9VfLw0o*Ie"cm5ަ .k Ch1pڶM|ːz+'.=>%OWWFgv3+hG 3(-,w a]P^nK-{ύc'3ݨ4u$0u6αbrn=~ƹl lOU
+ެUeX!5 &xN|õJ$TYF@~gEeS$"Q~Zr=Bedas;-ty|:Díc.( Uyk~qWGobf5FKI@ewhIc"ќr@.(A%%GJ#f[K/**{|>EZ4D(te{*TO|A;wz,vg ra2@ao?[UEPMTrED糕DΩފRz&?t}KbNR SAE: 9}AR)8"2c'Sѡ{UDΣ*>7N>#am#W ,Uå
+6\~71O\$R,կCsi\*]d(?5K8\_,hU`5cƊk6y
+0z
+6TooɅ8m]W|t1xH*'J̙9sr
+9Z\vNy C㫲Yu,͊^c_}}t!'5A\*7!;OTѳS)`m҄Kju
+˞r+-o)dn.v89J>JѲ;e1EҺhh=; ]!)c'^u,.i
+cD5?V_dz$/}[ ͒І1ḥS{Hͻgk&K pu oR[4"G$;BkQT
+߰7U&Vtr 5}vNNGmQe.e}Bd% 3͎+Yyjrt=R8[*cH>qAN+LHKEME /[V
+۵ƨ$$<5xLƋb;?Vh`﬈D+$jЖ(|vbıP 9jY* M?brA֋B{^>DW͏l*JPrytvcկ%ҵ@d⣂CIʰDo@N9 ^ k?MLKnm$JdeO[*!QmAt"F:8Bv.\4Gvfx&5*QB( . <#[X$!A
+z7Att%<KE} 1oݔ vDL_Sd+RGCdœXe~ڮԞhbc-.d_L\ytϗSLurLQcBx Ÿw)B2lp?|sx*W95l{rZA]Xv I7l&B0hF2BNcخoqJe`(EbT)o=t &:Wܞ)N+CE|=jt(#I@ V҂"^˫kvQ.9IT{]ԋ
+@ DlD
+"uW2tu6B$pX]O|.uBBg`b)cj75^~\g~ `Wi?)jDhe 1֍A׶)ҭrU,So"`~m*067P
+!r}{ZSuOyϸ3*|[ڿ._- -IiưqPM@DZRpꝃe?yyEmEUcH>MV~a$<HjDU0]G9١/-sne89в|Ca& 3&WG\΄= p:ZM/Kc[ _"?U#{̙|Wu]\|+lxsY}?sJ1L/RtE/eҷKh@%ӽlvMovn}PyX pWXc ЅGWq:>X;w(E>μ^?KBlmUDCL
+??@-;V$ydbmɵ D]x~w-!{ m Aa*'T5<=Gg{'+}b %4;h5X|6h <
+Rvrz60Txˊ# o?s;](,'ҧe|r"|2\)D2i-(.wb' {)
+D .n0VmY姘Jq.lT3mO X=33es_^reF)2[+vB_BDE{>MS{
+2gSi*7.[*c7H!;Zj],nBT 2D+Y 9=3Yoi5trfU`
+dDnu6gؒ]}Hjԫ+ýh<x U,0Vο ڮw<.ssm}ȠO[ !ǪV ܭ$0[h=uRN Q
+=ˡ)꣏w-5d05q9ws֕M. x]mj0BzL\/xo+#U8ioz<yNYLHN  >ǃmT_bwYWf㕇8XS,W%A?{ph[;o6HЯG;O<ժy/ SYkJ퇯5//*
+3H" 0%y1]'0D.U0&cW cwCdiuU7\f>6.Mk{Џ'H-ev|; vj*j_#S^b;\t\Hfu--b(</d 㛼s}j5>;!OC7RiFƨIQlNA 1W% [#RԴ2%,™Ă#3NJո|%Keu}vh-BsiL`Yv0 S,T|$Z{xGJ@y\ A|CV] \.K uY _˟[斪;d_vZ%40i-IXeQ^)3>ŏ1ASjJi1nDl|%rY|57>''xY8T5M@"|ң]QB;F>twG@Cly]rݱ^)MtZF0UŬZ(M!'Q=&Iv֊UrԧΎ6 w>kOJ\P4q#j%mL_~,:5M=kuO]Y1Ixo;Ji
+֓>@=AWg*[|2%2+ iѹo+&hf"{ pI"R e, *l <1F,&M@nM$
+_dp''gdkx$</ O5qF/"qU<}}sCc'{S)-
+04 sk2T6SW-$%p3TSr#bh#ZUPd'Q<ӪܲC־ݕ ec1/+jШ12[¾t<nR':#ڃqvEg.o [d]GQy
+ٖJ21񳰰Jw76~-gTL`ˇhg$ֈe8cmxj;SUa/nmoʃ7ܬd\~L*&(Tˬ+8#s-\3Qu[ yPƸE)Dࡍa-aMiT8Zq'B^{$TF
+CBō\_VmMz'yfG0Χ2jPUC?8"%-ݤ=#7c@M ͏ 6Q]_>|_H.1fįwi剼)өQ+zn`xM۰qn@tÐ-]W:A!w0ic'LEy<+=gå Nh?챋!Cfe88Xǎ?At(}_k=WXB̋+^᜹E)44c3NQ{=$U A6:9q>Sm[h\*;%5'n Z@e?m_s!޳XCFб+,te[*zam5^,}Gc/Z!5G~#KTk[a 9l9@USl5qG|YWX|6ư k|ޭҪŶO{fNvo
+r!XRuo/[-Ҫ.B{uY/!ǟ9xr.Z.Eo.X7j؛t<v(P'Y3:sl #jT?WF7EQD}q Re_!.pJ:%V6lPqODpg{qRye-r.11}Zv@S5^V ؀>F- @$`|bPڊX+ƈ]"nw
+׭dB0ե#wspS hoPl/I%ۭ$C\LfrѹU!+Dqh1H|NY|)+QTEK #Xu[$G//]׭
+\ѣ-=6UgN:!W/L BgKFժ31aŰSE19d_=h-!HtiW>@Sv'քrʄ`?aK&#=~v8TTe\]Rd4)zh
+/L 1-9-މ}—ޓD+RT_ރĴ8hEiLhj: v"0O,_ArHaZ?Ƌ7,<<P4:J}OHN a*`
+!<2sNJk|"toӝbKj AVej*nR1aӷtF1TTu&>xPS#k<Q3h!UyW
+ʚMMw8Nmki(/1>08X$*B¦d c(f%/Fŷ4res!g [0`k_d٧"J8vљ:I, R6[,K 0^xs+6<9DobR6Y 77DK )(Oo.߆ NxsP1u(nE9/Abb2bP墘}t!IU1;_hK!F !~2QLXb=YI~Jv x!&W,1tzH zHA[;Uzs%:N{8(R<jjCrk IG+hHSC[J꥗>YxZf$tg\nzcSL1^^
+-ھ0 '{KJHVYݳ=Y*e(!AMn\ONp}e7έ5o"ԥʹ5Kܝc
+/5/οi Z 9j-I+-}RbcņSgvm.A`Eߋ,E
+zW>y.*(vq0G$1e(Ԭ q]yTJm! 5ޕ!A1:2v>y,JM%u J Ԩ;; t$0Wά;)D2W|'ف h;]=Ւ?cV<WU ni»b\%Z7@_KTp.BJ5 yİj$0mt/GߢW*>xNq+b
+GGn#k/Ƥ̎>[T]jN,J/5G%9z0x RR]
+NçkwF٦²osz8S [/*҇i,b4YK}Ü}cq2Ͳ
+3{uP[÷sy]_|&<xB?e.̨էXy>]U>H"ctQn>D0 P?zsg~(IأM~^;Q5іg91K6
+!2
+x'vEu$BWH0Q>O~d3AKό1(aUrTkc"$ݧC
+yI?ڣ
+&e#!)"#π=RvTē+Hן: o2.eȖPG#X@"P@w6Mm)-~rd>wY??!ao3u9V 
+c!*Y=/EA$)3!Ph Ǫ,\X#HOK l~eia8OLO]u y[a<qy!r,<SQ^ K?*>pR_05ld-lL:9qL;d(c
+QSfi\i=6acsdȢ˳be
+vloÐ"f$AV')R+|h
+UMF+59Ű-ښ.
+4&נXb.*CLx込xi9
+̠Ӌk0U?Թs^S|7 N
+ fv-e,O&p=U]vZ+"0D_fqp04 &+}S=[5_ECbtk
+Z~mnѣ &B0?gP]'ëDZtXDLUa'D7 C\r X8:ƶf 64| .:ЮbV=R@H]rN$6f&f ^ AUf1C"KjGNjsƢ
+dO-QcEWblɭ1v1Akt-E,! ,CڼJY<>XwvOtAH0n$x
+8ȃ5ŏs}CMĤ~viy8Flm!Z?-kY:Nj Q@ @$CܔM
+ jO$TJySGSA"['"yD` h/W.|Hz+CX;rQu.{
+'Zem>6ڲZ2<HNGXƘ5M0N ]0T"87
+iQw/FNdkmZ/w>R{<QVBuFO ݣhRC=4jEM3To
+KR`t䦈l4UN_d&0fAPj0{9'6?RSu&2E> +-cwǗJ]%"C81hC Re0Zg\
+-LksA0~v>vUn]TD葻ps3~(@ qjqMu&cAOFްN{>2~d@ǕIaf;ں2 [Gy׳G=d53S G~6}#v<D6dWt|0j4X*/^sE %RMCٸ BPI|AF)M}A]p`+C~2k1zΐq翚PG<B
+٠mp~1f 6=YG*rZ2iv;ݲW
+:r,3z -dh_K?[
+/p} jH:9c,[9
+uҥ"#V
+>DU"Z `4+AD&N$#a[, UrĜY+͇U^
+Øx_N@I@8m@
+,gdZ,yB
+~6:~
+ x@9oF /6
+$W bkG[1.8_Ã:=6'|]'U5W]ڸXrgN،fѧ1*( SCO38j=E٤SvCrMѾWH¸q&:TPB/OEICez݄/80z@1r1ʕ~
+w8w9HwȊAzDHZ4o74^Yg<,fVFͳ6o[A
+^ܚf!R٬׳c\i&B2~($YoLVbƢ 0g\Tݣ{nYh|Wc.(Jo tm/>"V{8aOm>`IH܌n/;ʐ85&Snt-)s⍉qKcMdT2rS2`AWnې|j[}p.m+\t
+Xs?r>.4 {7rmpC~{ZK=?-!zꪨ|4;dWþ>вLWS =6ޡ{sEɳ8زi}0u4<v2Cc澨rvS<zq]]i"_ @R.YOG<F`5#q[h9a
+B+ԬR.x׃qL BT- UcWR dz 8ʶ0._ iLЩ
+g{|? &ac؂
+0oY{OB\"jkY:|^>.y,jqǔ̄f4NJP1{p=a3
+V".db,NMDtJa?3gh01R“FWDTècr92#+Z+d^>Sȋ7T3CDalf}lk<bR:WõH^$#Z 1smF4`_m1VDx'5A-,xjʧ o+츞?;]5XtT̉0&Fq ؃
+UbqL.4H\B~*pV' ]6O㫅Z
+Xҵ~)9" 5b]~]_[$#YWƇZ/ly궚 ?^S}SH}h,ct HN'+1X=)6yמx@6k844mQbo%ԿL1oI(ʖd
+No륝 M{IJM*- ?m#8LKxݦ1fVY NgKckMEmipɹ†EPNɥ[0AmlyM?}l @y C,O(7"y%g#X{)@Ц)g9qoIRr}MKPW"]]4d[rb@)&ZǎZٿߠ"Lh
+-
+endstream
+endobj
+616 0 obj
+<<
+/Type /FontDescriptor
+/FontName /YVSTKC+LMSans10-Oblique
+/Flags 4
+/FontBBox [-460 -309 1469 1154]
+/Ascent 694
+/CapHeight 694
+/Descent -194
+/ItalicAngle -12
+/StemV 89
+/XHeight 444
+/CharSet (/T/a/b/c/comma/d/e/eight/f/fi/fl/g/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/r/s/t/three/u/v/w/x/y/z)
+/FontFile 615 0 R
+>>
+endobj
+617 0 obj
+<<
+/Length1 2383
+/Length2 24329
+/Length3 0
+/Length 25751
+/Filter /FlateDecode
+>>
+stream
+xڴ{eXݺ5-ݝFcѰEwJtIJt#tK7Hwٺ]\w9=jru&1 Pfbcf((:3)8̬.@S Q T
+@
+$ UפW;^
+
+j
+̢))7O rCcڜ\9~e*eO*%6QY38Kq>n_cn TVKb )@s@>}" e9֣xsh~rc-@?mR;,ՉJ!)^iPA$ ӛ\u: :nK`}Fo!{ʌCܮ-AYRHJ
+
+[Ӧht qѾ6{R lwLIx@Ä*DN{{#F梎S$2S8)L[0|}3ob( O곰*/& 0xՈhTOl*g.(t9;0ϏBf#AÄc]3n.6}%Ɓ,aѓH 󰻫aHf
+='tΈ7JypCP;
+L&kmGaR]фP5˶;eۅ~,b6t]QԾLIƞ^.Y
+ԪyIKwZK+T}ZֈH0ķkJVŅt{/oM4GkI\PkPuT\"_> c(f+j?߻ьz>pBmAD:'f7S4,ř9ǹQ 羅텭Ç9z:ZC!'=h󐧈.:=GH[~c!~1 5]WFEICBVy`O a6H'y[m_y-~ aA PvQy2]w{h}yIX4
+Ajo_6fw7PC4 !qQ71(5)PGY 0W wwь1Hwk
+Rv18]|` t?&ACq',[UfS1Sn1s7ZJȌW!;;("D3KD`}ڔ!%!F@6}d%ytY[:KAG2}p
+/AR7
+8V>ˮbYê6 9ĎgQ ,:?M}^ Uً/o.iT3zAQ}h$?DP0b
+4F|“WЇ%Mf,ӾG,dL2҉翫$oho̰gM7zӀ8FPY%rݪmwVaڬȥOeyFb5=)]sHXAT(&e
+1vƶɠ=)n@|
+}Q}"JW\
+S|WXyuثwoooyY'.<4i{ .}]lvVh{UҘ`E hmR}H
+Mzax^N2}U=L-=sdQ0s8*/5 ;u8d.@$'HF q3E!]Aߠs~*L;.AuZ) tʌZH#w(S^Cms
+3G묷Ϊ/H)v Fs~4t1PPTv?{
+:yuv:dp\xY\K&46t/+~(]G>6;k.K(jǍr}J1"謖e(62_D kEsαX
+\ϲŲ5o+-5[&5'z
+ujшʌ#O',otㆉX " ݻ6j*@ӢOw96}/fpEM|MIM{:cTw|]5{';$2v U9RmĶ#s$bsqQJD腔@zjl)G@τ冘~0L5r~q\.3!v.rD~WTႼZh
+PFA:swVdlMUgNWPM]ME~0b;`u+xJ[fPT
+ntO^oQͮA5w֛t¡aaPMݫA1&^S{A
+fO7K;łtiy?sq)V)%Q^E5X{Wj2#&r$n~)TtI8Aa G'jhGt=ɠmpi,0 mC Bn яZxK0C&|G͔;|I>EJD
+YdE]'!=5iɿX_!j1}8*teۇP\o<ONC>ە Sa5B-+X}AB8 xGu[$h4Vq^-wTY/yܜ g9FAdOwBPw3/U8CPJ֞4m2'9m0>ƇXD%tt W>,,1U dd>#"Oizg$2]f-2WEݑtL2pD} 3yH9wޖun^-eYNVk1/Rl>%Xb,NcP^EQjퟸmzpvy(#F$ad`d™c=!rېջ8?#[/'o i4Z}S8,֍!YL,-Yu'%(Rn1= hX>5c**s%3~h4ZGtm+0|B_ b>HxU]C󂨣H[Ѷ|pH=Mhz=VAc#. /̖;1WHHۖCz(Ìd Lp o|~e-3W 9/La_T(Gkz2WvWJ3 zYYjdj180 h<Zӯmqbap,Kp+8Ad.u;X1<;BB N z/y"n3Mx!GydVʾ*(JE^OiáW^4"X>ͶP4<zڦ9lmOpF΂ӣ\`4ژkưOKZ{
+Yi 4" bAb ~iX۩k~9X(wCM<ǵI!.mKv٠v ]RV>F$FTzxz\0roJN32N(
+Hq2zmdkTlYY€F}G [>掅~@6`쇣xϰ&{R:e0!onLAqPsʤk<YNFo^oFHiު6m\iw%!v]mьU$򑄵SySW1J00)/λwL^T TrËPey(\ٳSECz&Itm:Ʀ-V=qe"|]C`?u;.4{lguZg)_uz ou˟]{!De?p27 bڊZzӂj"$D<錈*!qy8~psZl37Ɯ acW~-.z)l-ƥaH"G`}&< uM
+UA$(I#u
+];M!b]H* W{WЄ =UÚi۬
+yA7>eWqt };nwWoYbkUhVYbHwYĉVmH±`odDY*+H!J,k!/D+no9 Ou L/ߑ4дsDU/o-==TmmjX
+` 7ߛDH^\cΊ<H^7JB'dhZ#[QE ]ئ0sgZ3ē'^(6܄BJ,J1Uh&RS:sװRa.NI㈾e";ļcTd.dK5RG!lrT*~w0b{}՟HП(#Rfσkazu{SQ{4_oG 2`AG :n=m)HU7!`ҒMjx--%q/"rENס R7PxG?0 nfi#tLRMS;K7{cp߳丼άso º"NdwQr]ws'-st-͏G6ʑ%{{,R:`qv{[U5
+$x/  rBKx&T^▯ XT|./k M *L-o
+;ZsDH"תּh{X!QuѢ(tbZDj!Eͺ.[{ŕ{!Ón?V[3_a͍s6(1ʡvrIV!%ϲ1ɷK=ab'2ra%G@ tv+bjgl_ryT0/lhZ~$R[,r7/wD6ϡ"'g9w|YOYLp@"*
+[@L\
+"ZhA5è.r]%Ī9)>`!HmqY8 4.܆?M H{cq/JXnnlbAD|=:.C0f}g0iqkmSŀ#K_݄Q({T [!EN^uWV?XO6Z@<\V"ٮ1KNx(ҮsJ Ec\OҪ[&f'
+,ylř/z.cR: "9xBz+(u.q^KI9EA[_Vѽ,!ng逭4QHqϰpB#l,9+j!"Yhޕ0q+̎7r/5կ"(eeۨJwS1pŰ*jfI'Uhh"p<ɻ$ #l
+XjCkz`H 94zVmg]5kn5ї&ob&>7׎?|r))>;&ٖlhԊS1/H )P;lI.Os ձy[$M}=+*f("^,"'^cV&eR!"A+D'"j} 돘5zI |9z ^s1|Y0EAkוg;^/dI;xR7@K_?&٦1~\ai5BX2ˁ$z$&$VqzV@NӇ& OC 6uhd6WiW}"_p|KױdLs~[D*fv:n˜`-gHØz 1)cQЏqe /n;'4l vIO?UȚֆ_/`Yi$6@g`y~-]r &:-}r ?[ѴLq4I\3B~uޝ>̋1Rr)Կ4g]˱8i Oͼե _1f\^W/h+>-A<4>8>Lm!n/qͿh
+ k[?0kƚa8:}2F ?y zwk߼ڝJ{NOB.f\nnjH6|n,<Ħh+FEI^;+fP%_O<g-gwO8ֺ$4FlA0΄70&Vnh+vv[:.9|! 1-K*&4/`utrvŘv찼g;&]i 3.n_,R"d$ᱧGQsjE38<`rۃ!
+,،-wOЕFD϶waŴ96N{fs¬xihՅ]uMn[ߎhRN n 6n_5قv&ChyoXtHKkϚ{OFjD4~,F/rs{?>-9{/>
+fX/vi|@P iE D#JzN,ؔD-^H=\O"Ē"昬3F\PƶKz0E7+Ōj+< ٕUd[UKPnlf\qG%s+DGx_{R KlvBF< Fٕ’ G2|tdI?lF^t3Q# ((75N6B;rBQ~
+x\`Q>H*/CBfխ҂fe;'_Jcx|a@<u+nVʕjO4(0B$4dg݇s1۩m_t8H,wELInDVh>KƊҊ̒MZ;&q>ٌُlN%Dzv)|<E(1hh#Mrg;%#tۤkX.<yBps&%=Cs)[N߈c<_GaդrEjѿ,Fb>WĠ s:t{
+~CЕ_<d/c1ƫ|whS5#/ζD
+;VOw/4Lil{kPy*k]?GGX[lx@&偨AzgCOZj]z !wt8Hy6  ºN*N鄏qPF')ںk4$1CyE;,"J=vwWf qohP4/R],㵺{2kLS=))Q FKb=,,
+dE:[6Ai|G{D梫1mx\=N+USGX]B;a%p4߇80|- 2z؊2776&f>B>FR+s\;PEnc:l@Ra,lu{ʍ\"P VGEVfΣVHM"{"P^n'n8y]BՍETN(
+d[i!Pْ;
+4$B>ݡM>@J@!R.#iQJ5YǓ@qR(4Ѓ"5UG.&6'YYwp@ж|*aaA,ݬ:=N"N)5ě|^|Z)2pSx~ApJ%dk42++O3뭄9^{t ĬvhQ*ğ1nR12
+TaI}<DUs}ل-jMG_1c߇R4ϩs:-BccܚF wO?K_]40G*n
+η>~lz\XkOD(#̶l2)P?/h q:pj]X.{:$x9Vɏ<`қ:ǫY/#<ܔB j:5..kOArN,B#nLؼCwcuRBfS0?&V,5]Z9aн~pi.$q֓Qt2~'T+
+UY(s
+f >X<idSlH,M־"^jlaW؞TuԷHn(%$Ks)'CS!s57!5kJzi MwT8,I5OiDzG㢺ϗeiTȋѰIW> h0=C "OaZjUz翚OvbbLJ|'Lv" +qiKؓgz5RBR|Wf=C |k1Rtl#BRP~~Lu wB:K&t C3Ngbe,2 &&J/ڊlr#E;t̃i{|g~G}~Imؙ+ËSN]Ed›`ΰf'x\F? s+p$-Vy%f>3e+c%,&8|n&^= Jtq w9iղmbĂx_iI>_#W_&=@͈ڑLt\`\2
+y؍S&FV BS,hzIbxL-_eƌD]sf f\s&s)+иZD 9mK*?1fL{!i9d)vο#W\oD} H8#7T+C@VTֺkc6_ |rE_vmOSۧ<hM G}fVzy}Ía^S ುϵaE/:7umHLӦ<xU؇ۢM)a֭mwW 6#5G"ږiqBPȯ#PKs$n}BC<s_1>&lϟ_43ES]Yv5 nJ,%E*سęt24⛚d[N6rKx$ݚًL.2G
+wgsW.|ӍU<s{Ԥ~AN'/˶/%Y~I缅rR~zLw괾y|qNZhC[`r;O,sy m^uts@PbfTۤY.9֘Q(q_qn`Hay㴗TQb̕o_-`1"rV3l?Z`r?i8ˮ]&jJ}@,y| x"{ecyA[
+n`E)}|jʍ]|wǂ=IJS;Fiv%̉-$ou݄S 6ܰNdbVWا2`JEM*)A o4ؐz:tq$Y[
+:\mKlfy-thFG'bYMC[%Xþei] 7̖]͓F'|9Ț47BixPTh1i|) Kϳzב \&5DsY8z>dMc`uǓs5F7'T1iPv vw*ʾcvصnh{` WcFRcdǁHbA։(<K ""xpdsR.!h"|W9f':(q2r~yƝ6A 񈻰oo~
+q:\{4}%쮆7_).,PŃ0?kyiHSVE~p:Ϋb;t>"}H`cxJ&Z7k6;ضmcvұm۶ضsƷ?Qs֨gq-3ȣ`7S^n#SK(!{1N 0guȁJ|Kz3 %cd+DJ6C:JxX| 4 sTlϢO]hP:^B_0S2W %hkM=s`^+UڸYv$f
+-D,fHh
+&ПRH 䱈ֵYx'Tdlq Sg*͑γjN? I_Ǩ
+Jm97EKޝ@_DpF;Fy; F1cYW[ozf?L# IզH4;R2 -ڏ(H]
+iKݤ&Ih<ŧkZ6,{l6i\Mz[o~Vva ;7!\w&WbXI;r،25^YYFBS3aIjڻB.O}vK^Z#H ke#;Uqx0q 
+tֳ5ۏ/Py@| {c6ZgK)bϜ
+ޥ%YW几OM0D*< I}U)6"<E'Lq桰~6":PQlk]U꽅Oz-!;Z&ɝ|9
+sό*+w꺩6}Q|Ax$gnۅYip䰁@L(w63 zP2~;)p
+nB~jC9AϜpr10;dnٿT[Ѫg%f'(ڪXs0˭,BP:s[HcNV
+``:W_@h*Z،pϒLqGXbbpqHz<3= ?lLrR?Ă1;ދcA%z84,cnnH"@4xo0%8^y2_<\eY<~8o"}L</mAVg%)q!֢!HpLIEvWGD\@I_K_FG
+cJ
+S6NP"nՕՂ3r9n%n/dq @~wo%y8zu @p,bׁ
+.Ƶۖ(*=
+")y aMa5Ͽ$G>h dxe2bhk9ξstZ<ǣ|K ̭Z!4.޹8(<-{62ZJ>'] '+kqcIpYvBf!ՂZ1ntB?_)>E,օpj(q2nWxD%a)W[Z쟼ZvD/ ,WJĚ.ڡoɼC1?Ӓ Cv/Yw-q/|P2]F[^cb`dsy +\˝[/Uf]8\Uqք{`LcKS)i?[oI\b> ~c -x&I~ 62aoev5Rѡ{=E6<&7BHX0ͷdFzUcoJKQw5(eٯ`O[ƥ1]='Qg}-a@s}Prd2&0}r5Ccը/qXl.fB$)n]WF8@qt1%p4w'Mky}$Ա1Ȣ@2. -;.vK`xc|o
+kיȓxbʀsDzι+vApyRuU/2L~X.?4ٿJz?C+QINe<4\?:H^]ns;LЩ< ԋKQw<Uu,2țX9?>t 2 2œc
+Ė*׳Tv7$L/i✗]ό4NͻK9#IuRu!]<Z+
+<Y
+sC)}ml"Q^UiEyJ#Av'#ǜ_Mq#30_0$'-BE.a]̲`K8*+!}qH_:IG~-e8'Na^~/E-T1w͢ L؍LbM
+,ϻ4#yҴ4d(>(ΓnKrki
+b<gLGsIԝS]Y_4^kXEz,\ UAp'b81z 4rѵ
+ Y7ɻj81 W\\ ˰~)o|!X
+^(Ln[/HV/p#Zi>i|DJ)} nq6:/ӽH-q,JLel ~gFi~5U '}RkR2ji[iXzvG
+I2Ar&πAz\:ףA>ukS2ȧ]ĚTbJS%,ʭ\h&..7r^aS-:+6ìwn!D껏v7LZiCIehb5 w0`k߮ XFjAM|)=jtkblTI
+'+zh '97;j*`"r9odX:}O2wUc| tY:rHk}ݓ
+|#Rt#n8᭗V,[/'8dj̳
+2f[@ "BYyKD!+ɝl- 9kMhvzvF" {!;F9b]Vn )%͎'5q`_͕)Z"asrj+nXRQ%uֵ'8:v0r8Se!kcߟx0X>4B :
+_$LEA?xEY|=}|RyXUsxy5[ر{mK4,/&._F69VPV6ڀgb:Y .zaE"<zby9k=aW澪;L>pZ?H5LМ@df^*hv-UcdzUUҡv:9CVUŲNjsi.<į+q?L&S53 1'ᤨVzӽ''CoACпd#T%X>2FIsӂ7M1Z f{ԡ_=}_+?Â%7|NL6!eI߭fPv4h$8aQՓk0Zݽq/85ۑesڝTP!)T1K|P(qȦ=O"X(J[ hv޺*g$H;?qA?ZW(tk^ n"fKdh~S|A@rD3|=
+endstream
+endobj
+618 0 obj
+<<
+/Type /FontDescriptor
+/FontName /XQQCIP+LMSans12-Oblique
+/Flags 4
+/FontBBox [-452 -308 1445 1154]
+/Ascent 694
+/CapHeight 694
+/Descent -194
+/ItalicAngle -12
+/StemV 86
+/XHeight 444
+/CharSet (/C/D/E/F/G/I/K/L/N/O/P/R/S/T/V/a/b/c/d/e/eight/fi/five/four/g/h/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/slash/t/three/two/u/v/w/x/y/zero)
+/FontFile 617 0 R
+>>
+endobj
+619 0 obj
+<<
+/Length1 1728
+/Length2 1402
+/Length3 0
+/Length 2459
+/Filter /FlateDecode
+>>
+stream
+xڵTiXWEQQTԺ
+Q2 QlDڈrhT
+H(Sv43"p
+ѐЌ $P3_^JTAѲWƒ}!L3y=(Ozm81%TpqgՊk4шz-1AqaZD3CbR yBX<?67g
+\bj
++bNNù{;/ stҼm%9L ~WftF%.\UwyG)FDYc!cٲեU5u.=Q U~ͥ_do?nKbWw 3DB3:CCg'n܀
+iy9"w(kq9.)JoʩxrbbNﻼJdR֛*u=òt..MNuYQvUz=uɍCOp*gz%N9{o4;ILWtﮜ a<mT<~O~dܖ^14&+\76]ݬ3f/"xc>-Pl:a[g&mcS^s)Yg+kL>좝AZk%#'WOs mpkԟMZ+ow=־?:ܯ69ten[ Q-zzA՚vyijh?v!؁M:9PXpdu)nj𢖇UOr9mBitۚ,oovwYi3&إgi [4qrsd{:KEd2OF:,v2ӝCAQ#B[GTϿ U e9ɾ{uNXSWX^ a(/tw0{m'
+7&]コ=|O|yuuYǖۍNgG7昮3Z[]ZCf8Wrn_hWpV? EŬ;+MA =^tgy8"GoeįaZg=ZtꙠ%w6>lQ[2ÐUki?>=Wo>2.6F~۾_fZ~IXхiG~<}KjЌa ]5G1w?~qy(2\uclpdc+r@ٮgO~?Qo̓ڻθ{/v.{^=탒COVg.
+.Qt`\tӫHdw{[mxY+=/^h=l*5aw}&ki;ioÊs'+-j<s~LuzCy[ޟ,h˾ַ0 YucWOtJJ?EH?Jj--/ȞA,)SPOtxXߵ/fJ\.UeFT]_w9WbĪ쭽N]eUWauGM(=4܏xDx5v>mOpϚr1z⣞Kb[&.ܴ"81+BN׷ ^ouBj
+endstream
+endobj
+620 0 obj
+<<
+/Type /FontDescriptor
+/FontName /XPVMCL+LMMathSymbols10-Regular
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 40
+/XHeight 431
+/CharSet (/angbracketleft/angbracketright)
+/FontFile 619 0 R
+>>
+endobj
+621 0 obj
+<<
+/Length1 1998
+/Length2 24600
+/Length3 0
+/Length 25777
+/Filter /FlateDecode
+>>
+stream
+xڴuX]>C upwwwBp Npw #Ͼ~w5s)O:3MJL+hbguec832
+Y
+;[`g
+Pj
+ʔt]8 @DPNE
+OBv3ӱ1t3uq[nsvNNNZXwfd$DUhe>JΖV#;ti'("``01>SD惵X|у #651w{zU[ )`-3:
+8;
+ J;Ml=
+d$t}lk[m45Q1EQS ̐]/By$Y2ђB
+PD7K
+
+FNpd._4c`šzt% S1QFuf>q[ MT<eb}aꖻg$~Uo5')CB 3XJmzA}/oXdKcךTmi`$quNqK.RړT9w)3{z֞JHvc][bȭBnCb)[w"AQ8p6! {AW{}eJ=PZ/*q-ԐOD@nO [>SņQHFQs~6SV;m?Jq35,čܨ`L#k`fU;p2Z5F8H}Eс]fN2="l{Ut
+zAʹ&'sl}!st\ͦ?Mъ>H>"ۣ{wh]KhҘȞYLZ5/۸ zK1Gh'GGV$m⋗^Z*b sDUHHF<̖?&9oSot!=.#$@JbQ/ rn_OCL`$:4vfӱ]M,ȐxiͣZ&l *EFS
+yB JQJ nn::W,6Trjr6G,)6BۨT&$+jm n kWW > }u%brUc+3};o}}heO*[&L&c1M}6{- 9H"Yקǖ9D]Qy[Wt4hzN׍,FK(x8CT"b7B謦rP ϑ\T7h F1PCbxZEM$GainO bUv 6=Smhum/m}GvڪJ2GZE$+/@x4k`SjcoOEmO/
+p]A kOf
+PX?B~-&,eQ;,)^~: 
+@٦!5ST+3K@FҺ ӈ !6粫'ugdkߊJ4T"V=$Z-pG3<ɩ9 v5#ەo$cW0k[%6g5r倨x307tqpZ1` dW%YC<(-nqG
+AP0%a:2A%]~O\fi6%&-'%n"^v!)q/ G|cĐ+CKhdcrad#Z=(G$+K3Em1{<
+F
+vSd 2LB6b~S.zѢ-w `ݟq3/gQb8b]ã=Pr _:/,Cլ&w*nx&x!K>(VA8MCxvF1S_\>@iqʅWS;RƧ\7Q^_3;D[2uϽFm,j1 ; "xNƿeY3W6%Lςh
+`b'sY:橨<OBD̊n>E05<g()dn1 ȦևF3kj/w{*`>VU}KworC_@$bP?c&sbf{b8@}2&_=no$ ~ST̒%k
+a!b(L F5UJT/L΂ga2,ۮauþjjz]8H32t )GĎ6-%
+!zF@0Dc 9uXK:!ë;t1ڱu$ܭRw QU콣aEtkPb+٭cK] 0:T# ׂJ-9~lzB9Za C«U>aIzp٧-w ʛ$W: ?B9ݎl?ٕ7~X<n)X9{.h2j~TJ
+AQu2@c8[ا/멛nAbAkm# Y$ EJ P&?!l0`ynJCYu~_jӜI$}s
+
+,!'Cu@cƊx#m}{ÅrPa4ĝU3ҶmP`x*uikM(O_8m0M  qDQX2bMTFbup`W{Me12+OW?l 8OaWoiҦ\(HTk$w /[5GU@G8/R/gzW̎PtEϫf*[3#:ƌV('Cw:>AVI\%Af'N
+r! v{D<0 zmEx
+K
+(4'd+Ou̓RHp٫Np@xL}q
+K& ^1HpP!_x%9b<X폩?wԊ;h $45$کm
+_}j~!ެ4MU}l2IR3a _@=Qw_ϔ-C{&§gCÛS*n^ ĝ<ȵ7
+7+Y2F7̙}+;`XUW.׃>nYBu+7 MRAr\J…a9Yuq49NL<>ȋ+NŧjQP>6g,+啕֢h*Gv"5J.h2{wg5\,g@l
+w1OB_}@H ;|2GڵRr-4"dB˔1!afW; -^ړ'V{~<*[1sɃTQod*Z>KێxY-(G -
+n %,!X~_WTҳB:3?ߩ_L"L) lO{5,Dpj Je4Z?Ear*\6
+E;'Z::J&a7)& BJ~ݲwQ^ L026-*+0HcpHQ5ݙC7:vF`.Z7@?dCQj[s] h(ANɖWn՚n`È|/n9
+d 4ae:(SNp3 2!m[yGnJeMM 92!C &WZ2b[#[>Ωec+!yoM%i6w
+_|w"nb$xS}Bno^Mk~M^j>tOJ ΫUpYH|Odfnh-&YƖDNHs/융}px:y qζmjNkBlAx/KwI(:&dM30l(6<*l
+JH7>xƜ;VrEio{U;&&~VSIsp_<Q. /;w E|S9M~ڀEC3p+ʢ-mWUݙ!'K8yVB!_
+ׄ3?!
+?% 6Fp4P|;z^+6 ` ިu% 6n\s hSR=dJa.qR9DQ[u3 5B..-P*`9j\/
+B#\^N qѷ"JvzN쵭4 aL4pԀCMM1
+q5\MH)RRSoƸu*N&R +~zO$L<Փq| r>P=8PJc|d/|ۮv?tUHo
+gx VJySN,^Ii\~Nὁ+++5AFO1TFL0@)x(xDy'e6`&͐TG24!/4hng-0%Neo5aRcF8oZ"pTOT `+79?;a6.)H8uN l׷ekS59iTWA!^@b Ԇb&vj@N G\B"ϱ٥t#WdLUYX 2
+;;ڮJ0}V=)If^͔$:
+R~jtM|^ ,XRx AM1 lt" X[] ߵ .0Y80vix6iivCڬpE1jn dm>Oo0r%Sw];-;ޕ01`PʒSW=);С.lpS̢wzIՏB6X`m"a/۫Id>mc1ub@^X&'cԂjdj+*QpƿM{#Z㼒qq}yVm Ltdaې/ b)coݛ 5
+ 7P]OUgZY㈝me.)(M&f$q7_eY:_5!{8`=!.?fQ!ʃo
+QOuzK`7 Fҧ뗚-]ݯ? D/fNs.Q@(gf-6ӚrKa&Z`qAl$Z3V|/+wr}eEim7ĝWcQUXڰ} <t zҪT
+eTџ3.
+кRu9bt]Rwb1yDt a-y?-QpӮI$Vܕ3F[`xE/!x]fR/kC=-iM
+9U:[<lt=C.Y˻'^3
+K]
+_+Y>tDt4* `v0;I$)y Qw[<QE@xY@nC<Z_.}O.0ȘSp2ܰ
+rPE0Jw-NYixœ\=
+ T]S0EV.KWhzimt^ݠ4D\ycO0镴ÉJ_f%߄G`y1д2_1Sw᳊p |HwpYHfc<fBG!ОO#}
+,UI\/S03_y;CC#_:ӭpn(Tm.'BQA?&"Lh׈49%ƹ;3`9XnAu
+qF@ۆ|gVG<&k#.@jL:*5@QO[ C,^cƦ%k.R
+8_o5k^䬢2O/2ʵ#`e¬z?P,0QRGFW׼mK?[@gNTD"&튔eK#ke?
+L\#٘\ocvpqHJAxTFxf"Ԋ=tn7pI6/M8 e7_O 6 ? |ώpi2LօF|^b <4"'V
+bG&~Ѥ#J,J=jV
+_f* E|ޠK(;"x=Sb`wP
+#2eY ^0+wM I<G
+˽)B|-[yS3B\=e9nہ;
+`j*8p&mL cJi_ODZV''|4G*~B."z$qQkT+<Z<r^HPBOIPY棾MRF~TVJruPG kS|u+gH7y-GJ5).$Vge|휩)ycδXW}F];X]o 9 |g-_C|/nzwdMel'Hpw𦷘863AsfJ|gseߠMfhs
+#YNF=t
+os<z%ws|]$c"bnR1EʸRjA|PȍފgAfqߥo~]r}\M| L(ɞ̏jpEu`d6"}xrGbPr"W6FF.DoķAoKшh9jXBji
+ *^g0CM.\.֤[ iR|l ge?fHA0}#w.9`;%Iɭ|a;'fBhT'3A
+N Lc.,nPNTjؕXfe)9CDE8XIiߺL-(.@
+>%Ehy]xiv~8-_S( b] X &1e <xP`DvP|ڑ^ggDyW{bZq; cf37$O݇]oMMy.8cWp8.4uJ0,ј]RaF4(j}JIU LE[8uɖw:%*X֎υMuf5២z&ZWԂgs$B2]7B2joī5F[<o)Lu6!?]
+Qlޮ#
+i3q*18"mc=ٟn/%KdX)  ܎-x?]+J9ék}9cx9RҼi`ۜ^uhC+Ը 暀4P"AO _SZC=:L&63iݫ|M>C!&*\{ kEwDM̥ ^?Kģ(DҐA;Z3Z?(ytEAxc2/ϊ_y@zuBnõ0['!F)⃄z6u%J~8wOY-at$
+9:h@N
+ikfQzXsѳ~TuRj}c:|4{E?% Zа3L|T*i_BYyaY9wιq)?8OkrЅҗ8N='{ l[7BZRCE?wyAAG")v}ς ı|qj:2IWߖ$oC bc Dh|:pTMpk펲gũ~jʉ];{i6Rl
+,gWh{6(/ V2GP0祜dvV0`4[4M OpDoT"VY8,/
+6 t-2qzgtR> dj`}
+yJ"DmzwNq,8tO6 87I ,~ *eѳ]@‚Pޛ<_
+5B;=uwXu0kz
+br`Ug&wh)01h_MdVF%?;D>_b.5u
+MtldqTYpj|j&y$ n)~br†Nu}샃)2 q
+Z2]-rpؚs:jP|65sP8Ul&ARbk⃴3JK Pv7jZK/X)$N Hlk( J̓)4"|ۭ*ދt^
+JԵ?_`0'`:.7qV/yFjm}.T*9ϼ OӚow*ye8'HP/ӳ<`b'{MxB? ~`X;4Ua8āc++UĊ߯D{3NGm7.x)84ULםc[鎐YB&-)LެʙrO;sJ
+‰F4NaW~隥ECv!z՝I2Ix̮@ˢepA2lP>QV VAơ
+,J,3y:a?M-^#}}5Wi,t@_H0d\NX_k#IB@LF:vôȹ贑("p-eE#E\WSeYXq2XTC:'O)뽯_tY7س",,w[idV,n bs#Dȇf-1փڌ˧pUܼ$ z؝CS[5*G:<1@Xɧ
+]テ$9-a ?baL#::/9
+2sw2HA;͓ U߾ aqn}[SmF+u29a
+3@7 v-3-d|&&@YFu'P )P,uo.Z.O"ӸBEx#$,5˗?
+ Q"AyiVƉ/VBۛ e3DA\Z+?G$E0m5H"GLij<P:'>iA1;*?;-a# &'v*k7-Oi@cmYpI{! ~q?߱5fX& @t>!3  it̡rn75x˗G*bj*chhM??l&[S<\N;Zy0-UZS}<<hSqNcS}G+(\B$Z9WkYs@"WZ͓<q:Y,}
+Zp>T&DΈ|g$֚rMD%>3#nykkZ
+bmB}W^;̢F>/+X3מSD`)wcLGjרqگiW _%8`6Ұأj]=u~$0T){Rt>,DftUqn-sF"T*)9<΋4rrD)p5jd᷆ÍLJFZPJo؏]ERC q(<Bf89]ȫSef!taB"wl5SqQIfL<Owh}]oHʾ}tFmw % M!JjM]pR0=(Ln6Ŏq2ȏ3O%CL-y&VPjy^ErJ!h_p W@J{\T*5*IOsCr
+5a#oۧ&KXh%|[-b!ȶ+ u!{
+
+LNgl.|`Zx0ϾH& "RƲ5tG|B !L8#qIpOMKh.w#ֳQ-Tfc,)WFCʽ?#vvF(b,6؊km ⎾M' N1O 8Fbs&nf5\U5>" pw z|8Q?;Ďs(; ۪|_^|8Ē:Y\:^]"
+"lo&CUwgEi~=:AVri1=} `D<SFEoIR
+߮sc7B Yyfx%K:.u-.M~v9+AiF#',ߟX՜$^bC
+Bpvi"λV؉~Z\Gʧ܃߅"7_Sw'Fa & @AoitÑ]{)vuMuusO$7<0Rl{6N`@WְR%!hRhFև
+Vckb>jFrI j٘KR\5a
+
+H^+ d .
+C)o&dlIYڍkR)o LMܶ}i q/lfünZ"HwIJP`2}=8$>䟿(V9DkCh{)$Jz9w11JRZsO{'w(3 W4 NC5:RĐ{F }O/<!`Rj;
+q=iČ&H/U<"¿OT9U'`J\-lMPl5%A]\~8
+UJb.
+]b_Eme ?-00ܮЪy[%0r՜c3R*@_l)E
+!|(Œt !OԚOϟԹpɥ H|`K0frH{\mxCYŽ@ I)!]Tr;r2
+*dX`zv!:Og .5lIhABputf~t:fWYy^5<ء@% jED8dqsq{W
+|:M!OdDYyC:s
+;GVIa]a iKbe_%@>EN_ZdyEܘAMRi~h Ipa>KJqI -/0jp4"1(g%: R635ȍsM
+XF!M E7bXҧT 'Ќ] zBRc?"9Ɨ~ :"D8>vγL>|F2*ᐼ* IteslK?*+o_re ?c,g좭K$Yg
+7ٟ7vCcno[~)~R815B?]U+p
+ &h {hHj} )v*C/]SjPí4aYb^뫷;i/ evls`w)Dvm)tM`5u~a2 3ƗڈEP}6ݣ%[<%S<dƖLLKi)M&fE/r{+ D
+;O=&_bRK;vHasX儬9ՉOɣX#LTDgG
+endstream
+endobj
+622 0 obj
+<<
+/Type /FontDescriptor
+/FontName /CENXFI+LMMonoLt10-Bold
+/Flags 4
+/FontBBox [-454 -308 734 1039]
+/Ascent 600
+/CapHeight 600
+/Descent -217
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/B/D/K/O/a/b/backslash/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/v/x)
+/FontFile 621 0 R
+>>
+endobj
+623 0 obj
+<<
+/Length1 2073
+/Length2 32439
+/Length3 0
+/Length 33593
+/Filter /FlateDecode
+>>
+stream
+xڴeX\ۖ5S[pw!.-Hp@pK~O=UԱk]EE$fhvtpcbcf((*::8*2;Y(ف݁
+
+
+Pb۽TOX(Hi1kg).Vt}+-jKl#hKut?IJO_T@{̱}rZB#$\w{{1[5) 
+mL[PYo!~_
+m y1YbлX,ݗMAzrG>p<>4%qW)jv(
+$KZ,1/ާzN ˶k/࿊}և`!:?5_<_LKp<RQvHZ7u5`׶V [D>顦"gق@H"XT=,MFMNIJ*'BWj?斗-kqhQgF9WiQb|ۨ*.;F:VR;̂(훤*P2iÁ>1BrZ7<-<e?i/#gI|7\ڨ|BvHX*JEԸ]|!-:J_IFX3MU =άQhE6 # 7
+>Ī:=7 DYJP{Z_'¼9utyCC 6]2.;08*_ ƹ-6q:o-3ۀ8 >H*xlrSl/"9A
+C'~ғaKm>uVymߌ~9
+4J7mBb/P0 R,ZI/D{GIsDO,Ry'F/۽AR۪ >ek1,5]>=:r̎hV;nc[<à1(r-o[j[mKk}$ᒺ! E!$IJۓ"Z;(<F rQ N:8Ҳ1, YRcI.Hm| 1TZ$W-Z5r\c\?R74my4J߮*QWeXxj͢Aj [;6#?XzJ얕Gp6~؏kcNPUք
+]ЍS)2~;)tBp{0;4RV 2s̺V!pbC<J6f_.Xv!W0 lWi/
+d+M L\Tap|wɪCY_ZD*!Q>|?҆LH>+tJC)29#튩!WV\
+ tֱQJ_]g/yxKF MΤ9dYG/d+
+Lʄy⼻IbIiĠq@]NGE[փjbK@kHԺhh .Nx ᐜۈG)m<:3īYFzE%MDϘDʊ9)X s@ K%bl(R?uPSX1*Lݐܵ FVW6?Za5m\)+ES<X;T0֧4)ۃ2pަGu4GUvjGA^H}PN)q;qL=L<O0vmEN;xBmߠWQ?<fx]VhlMRЙC6tEj+b D^r1/~<ruSvmuq6QˢlG jጫ~Ȼ0syl[}q\Ā+nXP K.|cPZ)I%ı")L_5'Z#`y 9?oqxbkLja|j~zEik.f,s5E݇"'1)E'`-ܽDjd>bݫO=^*0%P1J$FZWL~B!`WIDK j
+ٔe}^qj g2^L(ascjM3]xbqK`Gҵ/UUQ9*^_,<z:n>aPH1۸vy>¾ =<OH0~QS 4ueF|>C9GH>gieWŸ=ey]18$pAoVʛEpk&̓9eui;)R.&ĺ420!Ag[Н )݅$q3ÞRYq.96ţQ0F#)F0hLaVxY.va-ݓ}M$O@q'Lo:lW-MO ,Y7,ɳBI6_Q;G.>jU#]J}i @iI;8dBC{vڢpkSq\jJ{PԦ&8E:,妟"z"<!׵/ iI ].A rux(\Op{E~7>{s>RMM5v)8Ci4ɄKA[`к=:@*5&1|Y=j.P5z~{{.ӭe%~V_BDNh5 lu:q!H]W~v+=xBbL1)A']™fb 9)MMzEݣƟ/mוcG̙9uFC0gW-ᗚ[|i^ʱZOYQ/Sc"ef5]Ӆ$&NtG DFp2-4IFSp2;^~̉dQ%a6uMJ͊.r>UoQ1e+j> =D!^gaKr8F= аL@yٙ0I@2*TKd!h-/o2xMxͬNnOV',ة:Rkkw@-^!]Lfa
+Π'EB_[=zK?:%>K^LU1F@ܼY/ w@ZSQa[^5\~[XցqV*ye=Ȝƅ a8OFZW\>~g2ԏ B21a$ܚh3%c%@@Dx`./AAٺ {SngOMe2q5.HkaL 6<j@Lr'xlp"kV<V
+GEnT7q g W:، G.Q4>,qlb*qR<ۢ|
+|\y\bF f8*K8c{']'#ϚakHm1i1>hY iJ1qx:hU8FR*-
+xP\#KJ4 wom$SXFuX0u}͞ lUKwf|ךjOVnw͵-@A_y522Ti 93vo9߁ |_ꫤDFGH^LNA4|%,˂,vsJĤu|A:4H#/(,]'$7e`QۮcÔ$Q9_vA}1|~\ 9Q90 _t?ֻ.3:BH^hɫmZN<½$ObGއ@o#+GqCa8I&A3ib+(\aiWC"r$5.G]Ip㊎F5%myy82Hh}ќKLƴ.} XBU.r2ݲ#EJ<+@qh{0И&/UX8iYD<ioOZ@[7 {<:JWK>8M5LĻa|gҳʌ.o_Eu,:;~"ˤ͌B(#|/b X``B _3<KW=47:Ut]Qy7P/LEAZo=5P8}>+ސ!";K
+r~<=vtOS^y(j;m^Օ
+Cat;k+5*vc硖vVu`bW74
+-dǀ2avs(
+.B QzH@c5F] .@_fGLu+MRz | ̭{C]t!N&Q+#ΆQ"z'sh`!tz0Uv{HRt. 2D'Sՙ0Q>!ĕJYY=˸ɕcm7F-{Qz+^
+TEh݃|֏PwrnK< cDl aGӇ^zh3/:Ə<VrQRT[F2q8*XRn|aDYF6ջڀjp* \`HK$3bq-o@ϡͭ5
+ JԖז1`t> E&R?G5ܩrGZ~ Šeo*vKJ~#BBcmۜZ{[_PS|-8|
+7ml:М$T@=_=`^B"s"H7F>b[XΝ_鼮[`z1gr,5)6sl.jvv\ڔHjع"^ח&+~]gYlI(B:5OHe ۹4]lLټUp*̼jE
+M"#qT{8R߯c?ZEiS0qsWrVgB.W0γڙ.geH&F9E6aKGJ1A^^3}s*r;ȅE)ࣚ\T*G(;Þ)QbBc,ވ&
+lTşQ7TX F@Rˁe~FRpe8/Z߭M= irx*`qx98I&[+|Pm{~s
+y_zOCzWV5'ȝh/Q[0+F$1Æ4BS6=ZTT_x u=>Ya26?CTA,~AqfGw9j%G5/7h>%acA!qW}>(Ks+©$фF7qg̳*vg% >?5L,CYC#i0Go6b ,鰯}uUUPIWri[,RRu mEbHdb:x߷vNYTKCnYrVoʷ!F
+ncfE|\lV
+u#EF<eQ“r|rOi_t;eV"!gW Codȕ&^x:CH
+i0XVs@v~;2aV!֮pHs׸6%zyto4lsO/ؽBg};5-MaBD[}֨H}8ors*-%?'Wѽ ]J,腠U/%3Ts~aMX P]SO(\Zނz5 |U
+u-OįSFZgVtO%̐$w~gњt%3Qoÿbnd $Usn͆PUtQo7RTv5JGA{`5E >=&߫ƴ_Dit
+q~20)6}JVB''F%7v*^ OBA\TyݒUdY5AHr ( B@їe"T3nZ^ӈB*[ө7޴1ܡ;:t0_xZ8*By&o7U )'^TيÈ#w߇\'uWg\#_yI"]?&<a<dDguLޓΛO#f
+*oɄ&z9/5"K D)?V ;Q`/ˈ q/agŌ,гyo\E\p39[&ݕxPFǚF
+I$\f@f
+>m UFTt&Y)Pqseq.8ohYB )-K-SSNall"Ģ.71Q3;&@L,3
+3 ؔR ko[(gչAa7Y$l sMϻ:[zK6">P93z!G
+p|;ו*6;<Ks̊4tW8U`qetgPcn T`2GhudZo;$0$?8CjU;MK%<qUMohR>K2WI%ڂaWif<Ɍ62:Ҵ$roXew[{R~*X.ؽ*` ^y@퉲j
+>x#=!%Kކ={pM0t$v9((Et`+fM0(O|jhLTS~Ւ;Io=uj:8B7We_AQ#joɶoq8}зֻxL^ࡖ4̕΂#krC5Lz_j _N.h`ʁ=
+DO 0ק7t9Fc[G?sG]Sx|6I I􏍸$$;|cOUӅcjGTWvTpy:eAOW4i?`)p!v߶z X#"I!ïLG,.~p1 cIHA'Gr~ZMjT`ޯsIitjQh>Zt)`R$ `H!<=.D.), KKn-ePVz[,˨hq"8aG"|4GiZ" %-
+ aR }U3v>zmGPO`aśnAG R$ 0*@_ɹyPhMP=4eШZ$0
+G+| nѿ/
+"*կNL܀,TArBD]y<-mөL<
+Ǜ:>W
+Y?ybE1'۟ec4ڱ GoZ. mP>2jef%O"׹{Bvx#|kSuѺ qSr6hQ-$s O0/`ɶhPa$>4!hbg%i(1X؀)m~Zy&tғ~T`@zIl5+WĵfX<hy`'\lSASE${{y.'S1G
+-;ʛ#J|j*fY\] $}=#E8Qqp
+(.%#E\88"˝TG5bpjթ;z X;
+*ˆ㭗oA$o5,64Sz97^`A-x: m\U<깰w|B<f`!Ԕ ?2}\I@l3ƱZtwmzܠEoӥ1\iTMS}C}鄃xfMm
+‘ur(m bܟ̈ ^&}ZrT_tFl&qaJ=u
+\[mMkA^ywI'WJ?!Qfg sojS:'L<ʦ[ո Sh۰$K;>}.pͧxm6wXӮ~ڹK^EϜr?5?>KՒ7E԰B񼲑]-%-d7*H뉵Mj -xkRXʓ]CR-t8UHhpԯf8qy+T1]na 7,[fW5\͵ޠ2lCU1 ^>S8 쐧dAHek`OZFWUcm !n V=tHIZep&!Ӓ4N?t~I;)dus[ϻC6_ r~}^<V9B!wc񖭒+"HZ2RaOB+.x (wdv0Rtyi!m`oiF7~%V y53JND-aP5:=n̸&(Zĩ ۟ѦȢLVf KɄ}DIMzW6YTuةV[ ZgQ3}Aeoc5k#}.:F]ye3R.륩LH? ˨Kz^T3g2yIRW@]uyFmQ_F5dv,(3[|=DBZ:̦I|&pDq>XTc1fj)Ps)C9B:`<˵u2d<O|ȅ}fbAe@}?{QC%1Bʳ}}znv/~Z-,y_t<M^i{
+'|b]R>q&.P4BUQ58h7"ݏQԣ+b-gPɃKdUIx< Q Vn]Ft47w*ǶDoֻB~X2t *wM6yR `W<!6xiDrBbF: ǯťEui? =K_8fқ&An.p1Yqz$'15<re_+) T>^nwlҤEQ@c~q׹U&HӴC+0mꊴA-x>oN' |f!-KPgyY@<@ѕW{(1҇Z,Jsb[ufd5Г8uf+^## ⻒x8_k{)tˍr
+mXf$wY 2N˕b<>0{<7afrko10_[ Jn4ȮZV\Ka2LlP߫- v7C΂b2ȴҍ= YZf;$ؕ(јaE6B=swźg//Y<!u8b|F*ݛ|@{XfU/Omb<tHb"ϊ>*`5B-| ʩ0an^>"c(n e,:!3"̅j1_1I!gL$[9qTB=1bi‚!t(c~B,DS԰]. "
+|=72+[D޳QUaǢN:I !K@)PtN>FSJj6|vZp'&`h\Ad{焲tT56;}iI)uvU 64퐿;rq)EA@ZM!$Ζǭ_"H;(c{'GږOۉ(Iڭ%4Q?
+fC~L [J<A$%'3a:petDc <x*DQ?/gӖK u0V( :dT< ǖsROr@el1>eet4*>Z- 'b p&&uGw
+0g̀52}An틡UM28=d:o։ȖuvHE9(mZIiRD_UE&_EJn*Zf*ꃑA])uylM_lh~gܕ ib<yV,{5B4Et3uy{OrZ ƱˌOg
+tS#S B7v5%;c|A[ۼsU`tx,@P'<sG䦻"Vtŷ_/D^3whȺ8m
+艞0vpSGx{f+rεq~t۳cFu"6JQhKT.G/+CIX_'!% &\W)`0BNݎv#Gv7t~TwVUlK,d@W;F>q\pI狼,d'DkL2&2gg-rPk[3y~T!2$\-ոN@y,36&kVT_zO򅞙0 ART+dԼ,;R\41)crsľ2
+x}u)@FnhA.W`B5sw@{~k,b}"f
+2vQ2FK.$uuTpY
+h X9WNuF.u;-`nJA\,ʘV{o>?7g-=Xxټ6 %k8D
+Ý|!!K(7'?c<P9/9Y -XF= bm~0qM<bW!2& /0{7qn4yDeXQCb'K7(=>'$>݄͆"2w- 0n Gx
+=acIAᆹ4-e#NB
+ (D=Ǯ5yc2 8!5(GhρJۅTȇ^ 3[I sDS?+ox|gr'B'.jsrќД5+c2mXRdVYI) n{u'i /1zNdH)N)Z5ªת
+ P Pرmw'f}&*zri<Z6JɛHbmy
+[cEz4o''+gV:zZO2MzX VPJ&d%t$)11W֮M>뚠9HB{>,Z<
+PzIۄvPI37b<)|}\IJ4164*cR`;=o&rɯZd^>S/eDS
+4itىw{(L|_\\-pߋ^,.'׋:Zډn;^CrhnpjnP^ڹe
+;7R KSd9GY0HĥU..k/ Xtpȗ nڜ-]u)q5U5rbWN[2ƒ\X5tU.3H0iqˀh;JqvtLjy]yF_!r* )y1m_SyxæP[y7|Xxi#
+17
+^iQ)Ar?|eऔHtK"|MA
+,z99OxsKK] Q9f+E"5&?z.yvtiI}Lx)GŅ$y[GJS%z~'d'4P5X/Z?qv
+$较k YpZL`f<l9-04"B +IjF"rm2c:cQ=ĆG>P|i@/CF1,LO7Kw~j*'útOJGL,h™Xb:j%>*&nl u7l.1V#HYD&hIȯy {L``pWszC`)TH&.cHk;Ǹrl(nh 
+؈_i$(G%+ T-M0KvcY~7Qbƅ4npKH*nTzߋ4)]&ahH*0:" P|| H4$#ZBd!m wW,Q3 ]D*n5yq
+F\X;P[qyw#[_Y\Ao pp?F
+}AƬ0WߨW@ZҤֵdyhq[3o/}et /M)豷0B}he8t[>f@U>^QEl:)iSA>]].t?+?dJooϚ?;͌LތF_pnL dd%`-e
+t^3XmtᝆB9_zُB8wt5 #| Si?1P͟K4[%c4IvBU~ EJ>쫆 fW&b:ov"@ˆ`5${!3:j//?L,֪ G>Z)^Gآ_M##F/M6WXs`D̩^#="q߱,uKSXcg#ƙ1=u_mcᦸSָ8
+V6JZa6sItx3Z^Jgi
+r+{ZEQ
+(v%s+-u yͅ)kDžNpYdw9i*e#ki˕bkuUjPœZ[m B&ʪ;wvZ`+SAs~oqCHW
+IZMUv4Ԝ1?oM-|)h~(ҟC''\*Df$yFSm{xAkOI0y"~glTu|ccc_C.aXeswC;KniS&j!- +d@Z<@eyV[K̗ǀg\CfF5`t;IMkox9Rـ'0إ6P?{hN-gx=l*{!^֯ӟ_v0M), 0y[(FZ*,B}B_)?NsrU.Z6Ϛ/H7-;6]0"#u5]`Q?cj(ړ5rK6.NJRE[(LsQ&:9~Nϥ{4sIAO]kيm>UVg
+
+HThEC-DE][m8N'2xRZW7۴ȩePɺmݲB5LVV߾"*@S[n2'vXz!sT8ڀ?hf3j5'Q݀(ׄr.P
+v9d1y=Eϔ
+:BA+[->bAqke)|򂨯LB}03K=c~a{[жgpΝSMVoD%!m'dWg
+}>DiB4L&D@Dj@C-G*V\M1^q lj]
+b|[H`MWYkTbD;zLiMPk;D8o¹0f&m]J*˃M8k<\2 QeoOXɄCł8rrq$3[6BB n_ P gӆX_9_1aDE
+%wK"'bOGbvUȔqqMP8Ⱦ+o:&8*t7'f B(ysIl|h_A|9dnt7L.Noч9uh%ɋU`&z< OM&?G[Yxyp|{I̋7E,Xx KN"JZ"LU
+{G|ŨÃ@K
+$NqM=8f[YR$GLDQO&BRS'7ݯX*DٓLt׷p#AѾnLs,[5M*2^`&}͆7_e9XU~Ѷ0xw-baY'$C2R5 j7,Sp_N I8{ud+:=/ü]OkV窞<顰e>R.繚CVdeNkqA~Sёc 9^R&ښjR0WS fKK0?&dec4,dḢmsN򜎧WKae? ּ<tB,μM
+lpn~f;ċ
+`ŝdB׏SxV1O;,fT@ R'cO[{(xH1]Ge;+?t꺂a%v=B1pu\Dz
+UjZpP5ffOYbj]ꃵ~˓0+@2mVTM̝ *:52i f:L
+ nPnYiRpkl]KQ)ogqD`L-~ IV|pCH8qiLZwox=xxWK훧9)!H3@vd#K5JܺCFA0R
+ڄY fV1!
+TN `7!RꝞrB7\-Ϸ)xag܁
+M8e Q!OāʟA8DH9
+%XɚaVy󁮫s~ԩ-@hhᨅ*[x}Xx|Lה`+̸-f Ib D-[C{I_]qZu.嫷$VR8q(ey[kGVBW|Z<+X6vGQ/:[TV@5{.
+2RWFճ?="6V 8S~V 0-#v3@Yz
+JBTdTk4vWcXL*|h~P3Ĝ&\hp}hrjKuf۪ XG3HSzܒŃIѡoA'2?2Av+i;y"a+|O6~"d"K}s
+Ϧ?T쎹gW3AU(m<CkSj7{eww:ý}yHq߇.MPCe~S1@F$OC4P0}H>]i~iM;LD zVsȫ)$@cf3#pUB=/0|#Q'&[AԊ*ZI!u fwmcpw'N/w7^
+ܹ>SR9{!8ɧM˸HVeM]9wt$Gh9N%~Tϼ|Sp%$UFMrtr|R
+SѮI} /Գ1wA^Ah͋Փ/0B5ۘs+!Ӏ'&Z/yZ:dpuē:YBQBG+"fMDMgY\*5p!tO]QvLٖud(%iGƧmc yDuZ$!
+eU
+ 'R3 _RTD!ܹ(\=[J]V+WV5/j+<@ﰂOaq-N3sk7eOp/'ao '}ԛ}Q< %f
+C_F8<tލѴ8Ȥp被ł:yBVs;LQYtߐ' XNszxdXD
+l%R\2$+o}|4kD$C?V b.Ǚthv#5FYI-GH/^EtFS ؾdCjӭ`@ 3/V5scpے2t)49lc])Սg  9}Ń÷=:a?RZ۱BtUe:|6b[a{&W[s 4/ό|H!
+]Qn$GRj"kMIoĴ-EGGZ
+˄ 7V.Ӂu؆Ӿ*\^ÂZ=J3 "-
+4㧛"\Zm_x 9԰ea{'7L l_4a%B`:S+ 0mh+13 G_AlV<{r7W7kjy QI&51<󲟛V
+>I2Cpd/йwĘrwR~L9^H=><tGEǃ\V/KOX= cZH2[6bz! RMdb@^azS}5\s/@jUdHS:T?lN'dS}$jEds58LJd8.v9Y^i0ƪ"Di,qOb 3?bZ2ݾ*{haQqKT湺x_T;4aNg1X#s.˵.O~%dds1n}k ݅m%5TR{R]`e)xDi:gBF7ֺ5h0D 1l)$@J>!puKyx
+õӏEU9n$0gFdL Ys٩)kzϿVdfDoNV'Ua|PG<b1
+Yp/nKp#Ub_]RPnMX]OcUL=qd:f)ڌKbw4mиGvE&pd
+<Zm83uˆ)mIiZΓ94J3Rv&Mf+o'/!˂Llaʔr@ǟq58SeNZ|c$.
+o:ieiRng?hgRK lv됯19
+D~hgX$,p &ƅ1(bS!k jBR+ yb#Vb7γRj<aA6\ anb]!ɓnHY3;TL D }R6'F vz"]Ԯ2(i _2Rc6صeL_ 2r,Ɏn5u0:QtY poG1dFa#nf9)>d(+,_'Ǝ-\=k6lU߈lQW:ϼ 0|qvTI?]:Uc4 z>aIBQVs,s!IM>p)C˧y:0.tvb=j(7QwRӿ?:n^PXDŏtn\<4Vab(lgAB@?քCkJm TEFIHEa)m)XTvٝ$A "xH芰.4M<w*ƙ퍴Yp*JZ.]=`̐!C1r\JhF VM
+7򕧤2AySY=Y 7}8«01 A/;)n-r
+4 8MxtØA\-
+1o׮]|R 
+[$:j>ة!l
+2a:T3!sq8#"q1°p}So7'; ` jv
+<
+;5 kw9$<baHܺ(TfeҔX6F/!tx- M 5'J(.#TbyQ2
+d8&xTYZ w}Hp&",ѪhoGł#՗彁s
+['ڄUYRJXB^d~ +qW֒uKzFp H~M r靭֔_swI'[ vsoy&&L}!Tpv)n]8"8=T'3m_:qّz̎ylf])cYח+BjW7I%A:p^ AW0G"&@
+N U
+endstream
+endobj
+624 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NRDUGX+LMMonoLt10-BoldOblique
+/Flags 4
+/FontBBox [-480 -308 789 1039]
+/Ascent 600
+/CapHeight 600
+/Descent -217
+/ItalicAngle -9
+/StemV 83
+/XHeight 431
+/CharSet (/A/C/D/E/M/N/O/S/a/b/c/d/e/f/i/l/m/n/o/p/q/r/s/t/u/v/w/x/y)
+/FontFile 623 0 R
+>>
+endobj
+625 0 obj
+<<
+/Length1 3069
+/Length2 31074
+/Length3 0
+/Length 32786
+/Filter /FlateDecode
+>>
+stream
+xڴeT5Lp n{=O.!'@יw[,h#vՔ*ꌢ掦@)GWFV&>#+ HI)4qvt0q]
+ 8
+t0q0;
+,/
+`
+q3fmdghbb>-\0s~' f[yO
+fyY<+ b+{\`i~`CV\3q0RI7?~\tlVde+;L|8Xcw ;Wl֎[2Nvn
+8Vr:"ڱ hotcA9I@ֿ
+&>'xV.?: n_&˟&&'zK387oT~=Y~_y1]]m.&S|agD9z0rbd >:_fz+_'
+meMzՕQ<
+IyMz[8@68V/JNø(j:nG8WD޺ ;颃K\Yt"B7/ _5:D~& BwH| [
+O<jUq)6]IT[O=a-[V30,3Ю6UDƒE_bzNg9z\s& 1ONC\Q_¬t#ܟb f-]“BÚl%_ar%M.aܚdXYm9W0#/ݑ;I D60.K#@Öbm1_UT Qķ)RŷmGb_.({ӡY%)#K@6jva_"5?a}U#`=i
+[\3~G6ԸŶgAŅȻ_V Y7iOWV}:[z~|Sk泦vʃS#0-*>ǔFWw~({H$͢'rk(7s}\@^)gCP(vko ]+cY]Y, j~B!=nj%`zzaY1equ=lc,7=Jzr(P@Cnʾ&{MtT
+Auuu϶UztI r?:®#)P2ü£k
+b|d|#d8a8{*f8΃#i|@rV8ˡF"$8T(dK.'C+?iת!8NXMS5t d@}9Q@K47*?Ge>9qEG6Lgth%\P_YI
+lї4Wd\fAh8;p#!ֹ(sVKa#Ń}(  Ƒl9m{+jkh n!WMDm0M5F7 *@[! x8VTD:&`^ԟTL`rbh!/ƅMCJҖaI윷=A1FLNʱgrecC3w;%5 SʹC<ѸRʔhDOʧ!`JeѤ_%d`R@?o.4L5'o-Q<P=~z7@a`uKjjv0qcN+
+%QYlClvԩ*@wS7`y!!k.[,Nf6n3񓜭 6cD# Q?~0 Ls\+-FqvYެ\aYdn̩_M}jys4W ӼiU>\{4'{$5ӛI2Yް~7rI˞6W !y`|&V}WԵV9E,f!8 OB$oDgbƻ?Gt
+ /귾FZo֤
+S3ki^>qYc.òbI|fikNC]xwTqw_>}[Ay% |n'iN'oν®Wx#C+ ]׫w PmRh[`: cyOʼnca0|/vmÿ훦<^vO'- BQS5Ў·\LƖ2t}45FG5hcR2Pg O1;2_&PjꚥS\ɛv8(b %[r)` +#"tV얭7pUȇvb6mjzni%42uhF5i ^bbx15i<4ȵpƽ4 Kc[̺N_7Sk\x%?qY\
+~ݫ&Ƈ}o ?l.ΔWRW:I*G~eESk|7<O/u4e_
+xߞƽR#fG5G^e|j- k5R@ .!JPbR fHY{hPFpk#MBH8W5{8KI0߯J^dky[1YF/K9Ɇ\=MXfev\zd^XUȞ$Q,j
+W%|L]#:U
+t<LJ5ܜξ2tŹ H>{C!*l؈aɜDj4#Z t(9o|s2Qu$m%1ֿO13Kotߜh(c45IwpACMVZtr1R 7ĜMiyrŽ*gcl;YHQ 8n|QQ̫/ dP.1nOKlڦjر.0jm*b^Pm :C:~^º{YN*7=#0+
+AڃUsٛ s:Y
+w凲4_@?JxSk b$弭[_
+氌X3P 23f'EudKr*ϐxWdYk=§eoѶ?޽W#)g5Nَ)+sOѤT_0 u 8Yq_<zZ'4X7izxYBഎAkoaԤ*Dq*150 Ͼ2;>Mݸ5ah @?6_kE^nH >*p:H?4(0p4go)vcܖ
+O]OkVjyuEiD{}p/ U`OƏko xHHW¸ [4w:J aQ'?N{8۝oSpDCaGOJȸIm2(JIPaX?s>n9xͶrJbZ/&܎׉6<. (Q1QB黖YȂ1YkXvdX .LYGg|ATtbC
+jL<y~_^{oRc{r&iǍωdDo`aEO+g9Ow)yRѼY@:q06|_
+Wi(^~qE[ANe뺗B$ NTk`\d?ާV?c~vȦ<fHzJKiϛɼkyY{~Lx!jzmI{`,JpO\]\9)SAR,:`YBj7`n ;g\ʖV29_ܻEaP~b8Jw^37(e%r50wDw'k1t$.3QXr9*ݩ'1.:%z'Pv,>n(sPQ $$*ݍ0r~*+ԍZE>i[ Ͽc2"Et/.}蓇 <ݞ6]qdy'9lTdl1U \ѷۿ$S)ƃ͘S{PLÕ_9)@kwfn^ɴʳE9jd1|A-2eܯ_f2&{6ϱHܠ%ieRlqރJݦ}9ّ {8hY^7Q,ĘG0:GUwrH߲Bo*uN~&pC.ߌ,(:D9cj14ة'cļ*mAF_٫y/c<P){X&k --@F.&dG
+£U($| _΍NK5\ȗ*ɮ[~,fmیNV>PE檏OG҃2"
+mfu"43(u+rbuOIstW_U7]M㫬eі5_:9fVcLElz;!CB֭7SQ*{$S#2ˉb'O!:"W>}r!+Oa8 VP!=L Y4 wN= |RPMB_VcgϏe˗вmqvcib> &z:GPTʼn~o=bQ$ Q8>}? 1
+ hKw X5{G>z*g٠rșjK>KzO˿e:G9hqIΒyO
+I[j
+h
+y 7FDf,j4VƉvEI7JX@8ӳ&G$
+%6`7@:J,
+~fvPXnotLE5$F |9  `kb,\) @1]VWeay*P͚6 7`a܊ͷ>Qqs?bT6(q&[P5p"H=d"0ժ" EXnByww/}l6^4[3<ˡ1š/|pS8qT@ep ԾV-p*1dWe0z]nYd3,.S"tʶyHO`ԁLvlM""߁l 6l Xd/kz|*6gl*Q۞)\M%/
+J'Es}smUEe;U.KyA@ioGѽ=ǜtntוB;Qso<
+/w\ C]U+RF~vQn2W qЍ\jkwIl7hy!M_nw2߸ouF`7uQmc6)hu20IVaמ3n:ײ;MQLY&RY(kmdA-> }Ҍ"L"O{o}c_h:4;(&W-6ZӇB0W_\^cZh6nR6f/Q;mornlQ'tD=\X8ibcg~wgUIDA}C:ud
+q|<Vűk2IqvYmԡG}á
+Z^:!0
+1YLܭz*9bǽ!QR|Qa-rϊ|BK2YLn;BkZ|jq$m
+ Ov!*&zQiђ3ݽ>3L27 y%}"Qeh*((~~,Y4A, 3:o
+vkr|ج!Uq_ĉ)/_TUbg~<eMZ5ah)d1ci?uE9<Ip*4PZr܁N&䬺3s%6Cq3Lgcca Hhq-Ҝb6;b.]7Rz"fmQSY2St-_* ,qG6dlM @un~g#1<=kZyr+\,lw`_u$>U}&ܽ~ ?ɇT]es_SC<ԕM
+ͬ{WɯMa
+&od7ͣ&P'q 6;9cX<4 mREH`xX!Tg& Z{BF
+>CF;?W)^&:tGu$n9} _TNV}()`9(uf făU(YJ sG> ˻| =\ <O& wy@wȤz<wd÷/,0UlcZtN3 2T*bڡП'\f
+ #pF3
+6;7o*9[pCbiz+%к7_"m^ah0^G,WZZm7rǙ!V U鏛 m끙 n7ѓ[!wnmV6g#BГF))"[0تnK+k<g'*JqGޤMj& LL)JL#Ri CiZGO;j^
+OLp\C06np.
+X|W*dUrym5~fT.u}M["缜P$Ebsv鹏*O2W/-?R 6@(byTV*F-gW.WBp>tJAy;,R|xTg S|maQ\=u<s#@1([Иƌg1v|2 EFhE>f*Z9T}5FSHiP>Y{k#I+ƭcw*#^QkgfP8XA@j[q~LȊ~/= u"7YV3jiٯ j!
+]mͥ G蛄 Hխo5i$%Č4<G^
+tB(pϒgEPȲ0=(olgոI`soLa8TdoF76&
+/(n&& mD6?P<PKhXbV0J6as߬Q쒜%+ݺQ,Os]\{r`F5pc9=E)~Q\}Qhl:&»H8}S1ӱ^;j!r(c|BLQׇ̥
+Oz6&s0RWVvwr4`BGʻ)EDq Q!HB/a?-͑ tg[ sI;E]kv1}Og W0f"hx8X;DWqCMhftF[[zG;ko!.
+wWW6GmYb_|YMS->o?^Ֆ+mM#z,<e]GcNI@sTc>6s7CwՅAE\<4wǵdUWP! ^!Kh9({(R?E
+ͺSܠj2[cVdY7IuҬ_,v0g{.#K֣&nT\"|%#dcQLEq-[l/22ynYt䅣+46WmY01B~mm]Lw^JJs}x^j__Umk||JG|[P7V;jc
+ŘJ@OW}?atGkb/`8bJ ?,I9[M~]D^e/nONv$}F͛RDs(\KkUp 7+^a,p+̔%%uOw0(;Z;'-{Iسukɪo>[<},?kiBl cP88m d0*$O56&.UrWy25utJ;QTέG
+]1d(ߡ; p>|lkNxO#h7eQ!\
+ Xfj<vd"Ud2nA##37]{2;:{٭:)_"Vh\H-[¨0S>w'{+=8m /nmd*E[
+]׷ iNF 0("9U7쀗ψ+F$̺&4 l:>]|h*6w0=lوx) ;v*[dq}ada*櫺kdX9>yΉaBkVQS_:
+/FjyTE;rlg>> ͂Cx293[~_aZБ5N%'8iM+/&$ լ3ҡ:EJU2뼄׮ݠXxMBS0!ܻ~yrõz|h}y3*ǏXkNT:;ڗؔp10gtIK$#xn2yt2z-%ַs_5E3X5qn3WPK3kYoLa.,% !#:_@I7[9W|Q}`FApp`Cí3K?W=u=QԷ"cG;i ٫W|Q°!,Uev@~xf|y)0n@b}+b9i6p3jJ ׄ]z8(ƀJJjNmrVW N[KqXׅ\XDZ=(;ڄUzXK~@u
+ o@rG!5ˍ.vgnX'leiވ|[8|uQF7K>uR):~q#<H(Tn n;)[Irhk<lHxW<5̫`u=,}m({\ƼzrDjKt4j-W$š~i*Hņ<KK|+{}KεGp+ӏ:y@9.X/Nۛ9>|-jK^5*X-BKI4"
+]{6M03)E6k
+E3Xh/Hn=nexo؍ܾ߅=jf+}I6
+2 H@3!+5u{.yGȞxk@m\:?&@*> ՝3T$ D'+dY눔pdLu=yDdmޯ}2 ZknrrMo0x[R _
+¯+Q.uy-}a<+r,#Ow\*Ht`a$,o-DEN|8<{*h@<=Ki -9Wrx;rs\M~mpTX׮OD׶`4H)vh?zs ZeeK4uV.CJ[UsĞŁThJ%?D-Y*ԇ;x%S.iM<I雁.Z~|щ$o={ouHccT{Ӡ7=(ܻaNkQ͕QK=J?"ZVvlH2Qu75ބnQ"{.0{`̦hT@'hNpf]-: A;VٳF` ;l<xH`.{IWŔj.JDX3{ 5Uvsc`oÝڿ־G8@&ζ0.4[,+_y̴SS<5 0o?Tn. F :6fw!Tx \!qm(?z!x곝s9{z~,R_KسDeV |T.x=fU s7ʷ:#>ރ 3g?{g=;gbE.8-CJHtze&0xm(S7ou%h+دSbU}gAxm3s@9^ s9qY8(40Rm_Nܒ*y0WbK[O=ҋ(ץEZ6Z]GWQKz)>Y975F*
+י"W _qO缟̮= j:3ilBy-cxx1 WSP(js@rj1ؚ:Ї( 0U JL]dUfduơU-Lp0ҍ_.M'>7hh ;=iЃաR?( %.JjTέH%\kƭ$̯&u5?͐Q>\ITI1B)=c\S/cY5D)zEFTz_5q((_ _t̬j7ӡeSN;n|1F'1
+ޔGB#P=ϜˀEvߒY*WkE~oyqSU
+~"1, >pOќ6jBK zf70Lk7ÊLRڭjhd}#z
+J ~Vds7\ =Ԓj*an.U 3Lcrw[l /OCfR'?QԤUf
+eFZ<F\
+B)!&MRn[sI<Mߓ9Ĥӊ~XfnzvBniI!<P"qWZpHm`by\ޟS˂7j4dI&ԙ^V઴h"I޾.c.؋ݜ-eLV$aV] o7
+~J +z۞zcyk$ZK^" 8D= ~,(|p\dQ _/aƳk4a
+/^eIFiJw?pP~ni@0zt̸Zhjsn(35Q7%S 9HN ɠ6,RXOëzeW;/o"Dtt gFsi,'hb++LS -*ҲJvH KyKZf~-jH‘^y0[
+qQb^c)n2^,20(
++@I4LϥI$8G) ɔ _ )'@pT߰~XyNHy`oe)'be{KZN7YE%w1jcu2e4fVqSv,<] }^Na /EU=CMV3)do%揖.yC8l;3?P䶠WpMI
+m3xJ!!pkymIIk5
+m?9͛Wަ"8cr͔^S^n-
+"LhFXtH/
+;Ppo]!GD_$敌 ȭ7㲴1)%,v gJi(EGk
+no 5j5$43pL9,dfJIY1`e7n@>?Ed[OW# b #o*E-ߪRl@3CKћ((67t3wVP^O3 )X6ː|]{L߶\q(\jK cΩLM_Q,xЁ LM!V%tSZJZX ԉϨjfbBژVg*A^v߁<2/pAԦd+} ;rMZ `Ź9HOH]j*"Sb(KIڼfyV广BAWFc5R%*i r&;EΪI{:
+c~8J
+ctCNIGRAZ>KZW 9W,n =A@N|J> g=Pu=]+Uަa213
+R fB
+Z#2-:w7Օ_LjjP#j[pNu<lr{J &cKXaX3ݎpu;1<9
+ 6)< 9ϧgd9liB֩\m8BUJ%?=7 (αvEJe- 3CYn|(t3B`x):Q:0T{s`@E_ Ji C7Ŕ
+:H SG9n.宦yJݣNHۓ~c/*CsK56Ql]3Ih6O޾(̨(SzY@0*p4Mk>4sIyJުa3 OE{=<T[8à-OB}TڂWx
+yz\4#8PPU<_Nրv4C떉1%$LW=#Ii}8ٯe/#!R$ їvޘ Mn,-v=V'IJH:xH ۠}Ȥ,/>j55R
+[e܊(he&A;'Z;ҩ?M$P fhXy6<J$V(IZ Z4`3OX9d1O_m'|lT4 .|ۑB멃7C(JV]_CЦK0\3͠<F5(yM+NP r@G# rc+ћ{p37qdF9C,0 =o =T7CҎpV_6\ (WD v^7 5Do%\ LX^!Ř Wrn,S`fl *97f`*)gc?b쳊şap/)'t5喴 ?؄BϴAYSrԻ$2q
+ԆNibq3# H$c'i5q&EFC9arW|'"R:hYRן~;?vuOhw%
+lޣ!)m9j&NERXa Mhe`bְ 9U m|* K_RC FO/7Xw/bbznպ%AQfB
+}Srn0jk0]?qgd[-sօ ) d SG̬9⽳D8ZcEݔo&+K+|vye+I;*X'>N<UY[,\4d#+ *˜Q6kC
+g+D?d#34K&on\,)Hfac dLBIۜsz}#lA#
+DFEuha< EDz &֟o$5<N!F(Ű8:;|7"'dK'j& 1FO^M?'DfUH[P]hOkBwd7o35^PLp(cKXaHR.qKuv$9q'o1?^YeO ?/ ?Ehl }\Ђh]$W'E
+ɓηayZNǝ+;kfq˼?1y4"GHTdFW2No9dKZ9+vA׵PCtG
+n=YU.-ѣfzgwi\t`1{[` _IZlz_'"uG#ްZ)3+>/naT@ [GYh*Ub~<)fVHVI8,aXHW[;?b ܮ"NҦu~,kq.('JrkF- 0 DG,v{ B-Z
+S>Ȗ<q#5Fs0ߋ+c?u;1sh $Fӱd~ܣ,YTZh*B"UɷkֽFa35ÁK 3pх
+\yrUXȷt0d9-l0+N蘘T ֖p>ʘ^m
+*ʋPS_3A_Yn
+e/@U Q
+" XJv;\&@O"9S_ΑfPmT=}iՎcrT8~;4
+ۺE3Ԩg_i _0=[WctE 9S ) ua.vǠٷK| ΁*Kxp$o>!DkYO%E}
+8(9*ND3K|Ϋ,&Ʋn="eW߹&>9Nί a1Bv~h}\ҿ8ghM F*ͥkl+)=E-[8Ab9r$XǀLQӻGRW03la@oJ:QiٶOwZlιAF?OsIu?@93Ɠ]r$2
+9?O ҙPr
+j7Ee?[Q'_ |Vy'+DWb|ԺD4w'hNTKKltrI:4q{wx€9Uʗ[D*ejc pSXiB`G W\͖}CK3h6dyh$h']O6ϧ⳦&
+4 BIqZE#ҋVAE*G.LZsuP9)+²0[}=)#N N;Z<f۴o(\4n 3k'KLqE?BpXlY,'bOk]RWx/Ca0'(,S6jm*c6i${$GwCĹMhD#c>h <-$lO{pq5ݕ8hmO8+b1͓s3BBOJ}o 9n1ᢇZ2,+gruZJX<3z|c;O~z'(hL*q-<jGSwq7 BzOz~ ft1l+eJbmXm.M; `nEͮgZ@O2Z?6L3m}LKbdR1c(4r:"@Y4csOS)Bhq;',~K;CFؕÖMb{$9 ==~G
+t _
+XF,%b{B+%7P&xqua(1M)? T_=]G`>lIv~Bz tpJR6[SF3
+rrly:^t9l26N~QTE6|\$ڐ3mr{lrTXuqg:qApÏE~p_O3|ļ#QV-pXh"
++F"]FEN?1E\\.(^Pʜ6oG" ѩ_T-z5W"t= hQ=S0L^&ͮa
+AbU)BmUF$}''
+F> X ٪BRIfDedN^qN8OV-X'H$zvP&@FKU1!QN<'E]QcW۽P_mSdJWރlN =yl\A4fZIy؄0AWFBhm1illuL > ̄W#>8*5T?eL}\! ~x\]J w,\]c+KK>^ۆ biދmM.T o'7!CP6}O6Tlhj!y
+ d| ,(.0,Ew|vv[gtJ{cU/[M0y*+='J0HH+*1[/V[Dǜ[3`D`K̈́6)]LFO4hd*gR6j`H̢LmO;'oAL'5z{!g{Q&A)8ڲ=`T~mmt<ؐ\=@h=T;fFx>KzI/VQd2%Us,wL <k-z.yM7€G#KLfc%?Jt9s%hfm9VZ+
+թ8 jpƒ8/c
+Kn
+_d2ƝT2e%؋W`Yfy%蛢9b +zSr
+BUPņVàR
+N{t ʓ¼yT5$IX䨂 4VYa]cL/&aԋ@ _٩dP@OY^qsfw{=؟wu9؝:gzAZ8RRP},n8,ye
+endstream
+endobj
+626 0 obj
+<<
+/Type /FontDescriptor
+/FontName /WSYJXC+LMMono10-Regular
+/Flags 4
+/FontBBox [-451 -316 731 1016]
+/Ascent 0
+/CapHeight 0
+/Descent 0
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/V/Y/a/asterisk/at/atilde/b/backslash/braceleft/braceright/bracketleft/bracketright/c/ccedilla/colon/comma/d/e/eacute/eight/equal/f/five/four/g/greater/h/hyphen/i/iacute/j/k/l/less/m/n/nine/o/ocircumflex/odieresis/one/otilde/p/parenleft/parenright/percent/period/plus/q/question/quotesingle.ts1/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 625 0 R
+>>
+endobj
+627 0 obj
+<<
+/Length1 2307
+/Length2 28047
+/Length3 0
+/Length 29362
+/Filter /FlateDecode
+>>
+stream
+xڴeT۲k-kpwwoܝC sw7Y
+t&vF@1;[g:&zFn3#L
+GN.4t1tr8\p
+P, WWUPboo?\UT?DTD@
+ttQ|0M
+
+2
+ ]uo<2ΎvV@u 05tvpf>_$ '+fN?zxuE~l?O
+)͟*$?אXN$MRNQ`'#o[AiޚP9yk(c#냇$*8F.WEB}$Y:FP=~fxGN")k[ͅt+cjpFs_B[u~Ĉ2\5 FѢMS8rU>L8
+[X-tWhFP aam2e T0YFHبD`L%rLǒsio(.URw/kpbvwf׏rvV@jO3L9Qt~5CT
+/srYOb-D^NM%06FhrHنGYW߈8 yG[F28$\,l2d cUdV39 'T]A"є:$Tp&#gj 1x΃EԔ6NI&!s/+Tp3ͳvTXՓ]Uߌ>a;cߋ_\tQw{ܨ2?\ZFִ-  ,0oy.V?qV_4 ]loQ ZE|[$s bϣs0NzQI uXD|"<m* ^'GjǼ:voC_H#+&$Tj8|E }:PX
+'ߊY/y I-^_4S#x"7܆$ t&kC껢sG >.߭Au ˌGJZWK$ pMozu}IveE~`=&=­`۽z$zɎ{y͕;留ŎH mZ<W4UY;bYKu[q(Y`/B!<dp
+9QMt|x^/r~)+uLb ^8As£)4WOA,Qn 6tw{CF\Z',<^q% g)&&#~*9(JMffәĶkr&[۵]~$Eq 1#&*1?K9MI ?¨FjIMX\HZ.}d'G~q
+3m4)z ⮆@ļ5OTW{j SÔeYpɄ3o׸+c.;,\*πIH4b祶GT0N>:ggy`~;S>cO4Vɺ2IP\n_
+OתfϙW[`[~<A(XeZ.>}mJޅ$]5҈] #&(.oOPK /:5w'kaet*J;}9|P@8@[zbN8<z7Vۺ!^%65ՒU%qdDSHέqBD <*Yb*zGKV>X5d 9 @T)/HZz.9
+%pu \^Aj^+FUeɻ
+s{L]jv3υ; ;eH <ULD$J烋?qdjApJԴ6V0nu;L3E&lexm,k6RZz]Y[x]MX>yWQԋ>/Đ'< 4ne~l4~V2IJe*@+^'&toDDܭߜ XZ]Q)Im,)VmUQ!! E7luTѴY!$Ug`))j
+E!0kU7No/
+%CЛ٬k]R{+Vl܈A$$bԸ_+1 46@qT8_wKd?hRFo+3k2?p\?R1ٕ}x !H=уcK!9:oH}QCc1Ȑ'0:8g>[TFF$XSM"?EkN?'/
+Ъ nC |`W~+z.D8zU0cORO~M֚.v) uFoٺn=fcs]TLM1$^NGA
+렷OL71`i_oER/ek{?I,f2Բz1-ɥyaFtEW+H5jUri1Gc3@1g/*t!MHVeL1X:cD+p4?{(i8ۅUHJ[# to\NY9}戼=tԞ4&;AOg?2;@VIO#bǗsaJ73-+u_Qt2z#
+GtX!wk&MZg 0ClϛYX‘o/Oo*繭 Rz]@Iҕ${:9 ֦ۇY˔Y9fEb&܏W JV٬kqCCP ^%)dbCά! !k[pٵSRE_0ti!nEa>UM$.ǝʗߑ/hj#Sm̲<I1*Y5QG 2)9Y8\#e)wı1L(FD.c0^ӌ"MQ 8_s5: ʤ zsDSldoP|!kT.>Q3PFwBV:)n՘H7V|4"1=^yg2/N.QDG3:3GM.(Ɖ-7K$4`z$|5ګnWv9oʼOlȽ>c=xژ5bF_1ƚCV $*seP1_%,r#GCQzx="]Op#jg##NKܿ
+G=g7z3xKDX*
+GZY(f&CyRr1X<^Ak M`=&CnR\>`]5 1}7dNгrm3n<7"<PJR;"PbsgB@p7`Q\^燗;&*dŷ1'N>̈́CXu/JS9 2bsx ~Dg9ϽՆZVruƅ0>Iv$QtAgN ]mL?1
+Z4Q ݨGeM{ҐԿ=ʄt5-'jlΉCS4?M
+bP/lvjTkSz~,_EznlA~ֹS3H4v8)Y<Lg~_J=e\hvo>Ko F;5eݛ
+ o䝉=YE>m~RmM=m8𩖐!EH
+ !j e"(?l84fL6@c 7{[kT$ RSS^@CȬ 8xr\W/vX:"٢φo׬B5w
+i Z{k[n;zE!HFWN™r9\W;V)ɝ]tƒ_q@rqo>#ຜbp~XJqמVD2JW+ƭ]c]]#б_nB!ԉD438 / @qW1-~.%nz,r:xMtLّey߬j$֑h-3{4l !7r@@[$Cm@w%&10E,'4\{sKxWQAw-FHoqdқ-X'׃ؐpN"ソ"tREk w pe sAS5[TO)L}X~~-1ϦG*MՐjɛ}Y,Lol{}Fv4)}i[Nf$,.nڗÂȺP5)|R<GYɾw2k[L*=^ܛւ{9O+#Vh5Ã*C/ ^X|Ak"5E 6*-Vm,V 4"BJ ?%0Gw
+@嬂Ios`).ߕ`gC)]2gH .ֆēc-3Oul|i0 &ne@ tCl4nAXE,Hl#Q}^gWe_yƼeLdQ Lpͫmt,sg<=,Sկcz;<i,ڰ]bsOMxCU?^icNtC.m{ 2M2(OQ^Ut`҅c1_V}rT91lY5yF--ֻKz\cĕ׽l[(;t18d˶M'H}ne!Qe_S;:eO E-:b?B JB풤}]7M|Ra2[T|ߔ Doz K}z, dŁMaw.-ݛ;9fKRbcc4a5tsO` -1JF@ Z׹KUiϠxrI
+Hgm?$}^fh[z-P[vWA40d ]O}B%h1w^
+yVe߽vF, 4Kc23 G೾!ϓVו@hkknQZnskKjv^o ifqPЯ{^f:Pm>dtWklo(F]XN߶
+qC;&\۴^6ypȍ4\N[-N'6II8H>9V\N * `mvf {PK+ ha _-S=p1PIa)c0}ʫmkhE)!&B@R_R!N5R d5M1-Nur-δR[h]$:#e:+ue
+%܌5<="<dǮu)h}=C@f i@Z\~yAom*詨XT?1<^;TMDxUfg0bp+=fo3cȹݩ,Ml!I(b$&!]$!. |esYEjŸݰ+ m5lТgP,t/'́[T1N4+y^lZkAAWMO()Sr&UQhO{oɯGc&v\dGqߡB~4
+}}AV8 wd9QID80z3ܿ*
+ӏi/1I,Jh{2Ċj#NKnM8|c~ >l!Ml0IS1o6){ݏ~rjteLv"s9}b^=hS4;a̶Y k rA%X5~N?-Ng~>σ|?HEn䇦cZsP =$#$ 2?] +~OsVjWYĨn+ʉf_۹8QW"A~q=ueXȹ=gqlRW#6cp+q=NTI[Ln,E]rskh2
+z5X'3N# aLw2֎,sUKptnb 
+@. ͽr"dɄ524=ecw= <Ju _ bӐ=g9{A<fPKYֺգ匥rݣ7T lءRcF\7m̡EaDt.LR^1q?+0,Fx/%~ ѽ QgFeMN`ٛe'W~][b:(A{,p(?i%!T)zkh=5X:~_*du{ĸ{$#ATG. ҶV'>_M~_Kw)R:"/+e_@:E#=B&.t)17k(Z[3@[|ʣ"Yi$c=b4!,{#`#&U/Re(gf48G%١3`Ng k0}GF-M^طUwH{ಏXFHw'n9PpWqQ|ј]()ewkݖle+K'nQAodz&<
+퍈tZX4nsJZiH,K~gz<bT`fXXY1 g@0o4E ēӾf򅧳dder<.^m"qJJej4wHHWƓ.&5]OrXf qM& 7ZBESV(:v~9b1";N u]4m __N1b9JZՍFٹiSn=rESO$PX-=蝢h4υNPi T"c^|L:r,P ޳IK\w^9tbO_Gڣ<02 dm}k$I]B'وZ3T=T Qlw4  Rv;P o͈[#eG4
+
+a6\+b) ΝxoY.RKfIr {Vvǝ(򧍘.tbMfDo
+#f20X}KWG(MH>oEU~%Kd.[JG[70n^8F#]pxU]cWY+=福E22nKTm-uKIw3VG:ݣ*ZӴ4&93h tjiu)!a1A*9J'j4P^1_SȲ H
+Z|NjY
+&Hȭ^2qb}FHwߧKWA3+{Jkֿ`{Ѹ'n~ vVfgOOh
+$D-g"E*%ZrZ+W@U}}-k;pߟwLem6T*4ݾ"qns&?fjDd/ըEh|Ry{Q3,F'ds2aO6 =,I[)I|lۂb w:Y`H;YwC/M3 ހ=>O*Ű;H0>bVIm:'<k>H`?gYo~'B#C"Kvf!Ƒ~[:%
+=L <kp& K>(#1)rGCPE{# ɐ4 >Y%#
+|z m  4S5ph9D{Ӂdm#Il˻~Y-,ˊMܤD7 S+)؜0
+K]m=I {ա2nLm,g 2O4sG)7LfЅ Y(/OJti5;@4b gP
+/! UH{gUF0X?Nԓy-ZD y•6mҌvs{ f# )yфv ̾zg30)bj-a9(}*zѪ*8MZT&T\B$V:jqZYC~uB
+ l
+QкZjˍ#]V:OzVO-[%0@6L{8,=EENXȋ9[~C_PI&$oAOԏ75ֻ; 4K2jnfWQzqMFRd}ػ:Uv3ȈGY'd7t`}na<'?24{bohe|Yp<(;ж7^PEjOw)*$ƽHb\caCw3z\" ]:H3mg͒,V1mh +jy8h*q
+\E! fѿΧ]9UB ;!v^fxh4p\_(1jd?5Tu!VMf$ &VC9WuޖA8L(2
+O)@!e3ˌz|ȴ_+b_?0}< 84c}ϠgEI5;Q(ο:?2UIlL_]~A{DP%Sy[;BDcy{EU:K0I-O43dNY'3t"55hNz ~׸1֥^GX\58Ԃ\ĢzEO~c<*c ".1{.yKr 'pT!I\ԙ*b|֋R-YgSkajՍ&/
+J\WU [͖,:QΉ2iڹb2v6yv+ K an(:%~NT|BǀYw5W-z.߰ϣF rK0餛F*h#J(G4lzǰ8;]Y(o!ȿiD? AT`J `ġ*uetE)\^:tWTEXJp;&xb/VV`Yy
+5^_D iRuUxޮ\:IK$#peG
+wZ{ nXQ9f.Wu5hb;.GGT_d}x|=W40,Ķ:3>H-.:-([o
+L) 9XZ@OTY,tI;<utZ)}&1R8<4;_[v܏ԻƛDɁG3ۊXaCk F&5u 7f-P*Vl":ӧ]5l??Cy^ײ|]y<{
+ RGXoʚֹU"^PUS43Jƚ-5Ir>4i3l[0)&%_X7]J=F3q]+hVMv!:l>p&G0;RnK3qvMKJecCp&?6`zA^akLmZ)4M fohx
+Zد˾*.޷uyp^DFI3!jЋsf?h/T]OqM!s1\ .԰BtH :~8vJ +u[ M(apOˬ.CYH2VD!Txno$T(П8+m׃Qz*gSU۰Ի[lJ2`Q"0C;Oo RVM^Z%Yѧ ,||GI.E?ìd4*Q$p<wFLYi&{ρE!Aߒ/L^ZЌX
+Ѽsȫdݽ'ڎ̛jT =‡Iү>5Sn /JgD{Z|I)!h`du>5[s( zS*3NAp (iǘvpr[G(Z4 6w_߬3ߨ  r8n D?> lFNaD5p$e^v-"bq-62š蓑HR7?߶_s'9ˆRmIYQ❡ VL
+lz4Wܮ鈷{<|nU~\hA"֡ks'95.d7+jKqԺ
+M έ:C7SO qRW}f {b
+}Wrl(#m+#F4< 2oc֘^}y8PWRu%C*`l(]sgL7WCLjapN5q~;뺑IܣU7m29ʣ1poT$OǑUqص.Zt7W>GP[=lrad1YHe0E7< xG Vcm`#6CE!À$gɶ|G*_O>*-P)h1##Sim*Y:O/GJlQ>[Vc #>' ǃlVa.^7amT#gMDm!u懒R. za_gpZ_vT6
+9jqL@`lqpD|n$D2w Mu%{4k:f\kWճR_'0}P8@,,'h^[sd1$rSn'6)W1&B_G4ȉ榞mЮG<_Aa1Ȕp>*R܅sxZ}ل:<Fr82u9,
+>DHlӧ/a}1wrf4 {1c}ҵL9q-3IL0x%X;Yѓcj?Arbõ!I_Q-@?wD}ZVOžAt^xp 9J@glt
+W|WgȴIiEiA%M5»>L ̂ZeHq3^
+yE:kX k%5qŹtT٦7yX$_.ݬNT/ ]q/,=oQ]/ZGx.n[>Nᬗk׻5_H*Ql+ @"2=_1^#w[ BE]|ypύ#ˏ%R\5>N+G 6߆]D&!7|h ۚY![
+*LiP",c\_SIH`:8.:N+u幘)89Hbnhb?^`as?=a>W^DhOiΜ\Ń& TGtj nPzGJ[;z\]>۫:M Pki|^aWx
+K]/}kz}<N wڱmLVA|?<
+2H7pJ殮kń7 ʅcc1Jx@ԋ𳑖,i^aÓfqrĚH WR'ىg0**-[S>~‹$PECHPLhzlolY <ˈ:`R}gXCD/\"ܛ`eóݒElAk$6<Xd%Ɨc)жz!8N 6L|[$_crF&=#Eo%4.UHN 3YZ ^ᮿHlE4fi LqA+`ut˭`)$B
+-
+9nQ,L]f€:~^C6^ק4TtZ)j1\P읙G x}
+ y*tVTA"C+qZHʆx]ǗNbء۝bL8
+ŻwKaLu6 _¼1.H<XXDX\Lnk~YAw],xOGJxŗЕ%f/eT>rH4R\,
+ }`6)γdQxټ~ N
+ ;rU霼@Dzah.,
+kWHܸTuWpbi1IV5[DV"!zX΄IB-(0~ s,-,c
+թ/@#\Co$W͞Q
+hE<8 !RyPT~+.N=,,f8
+tmr'C*-pKHx&a$/f$(p9G[eKd0u~?YQKy rՇWy`Ó A
+lz N: Ā&ϱ9lӛL~3q|4>=DnAX]Gat!.P1ggrׅ]vEuue;_G66T6``QՆ-0'e2e[PV0$IkTշ jIβ
+4
+ܧGQOc"|Bfgi.U*&mYZ{K1 S(yv4@MR5A-ɮ I=*#RZ`c%g^0KgY^L+²̨!^D _gv* >m#j\"~ "z8Gb fP/`Meb,&ږhPʄ:_C=)Uk۶seѓJN!ީcm4T3,%6kӰ_o|qp@˼cӅ&ۛ3e'jX31#hvp[#kʹ*#iEjۖaӃmWW$f"d1m6Q2@# U5s=WcgMMmv{zke%n״%Z @={Fњ;yAviQ)H }/_-Ͱ(ʆ~\k#b7Z8<GG&/0T&")Ӝ^9|{YcKȓ!d~F:r ;(†mf,z~Ll)
+DmuqhXom8#h(C+%#bdaL.!Izd'*\˜:y`kggkoHӦ<uO[bv2XZpQگ2 ?R Hߟ0V[*b`Tu8vw|ǞR {g)tZ) H0KѻSRnI"(hVhO_ESakIIn+ v{oLܟ <qk"\g[9hoGjO %.<O!H][m^"Ac##abN?+詚'.c+Z̴zi(<)Rz{uj3Eb:ș´
+ hփ@S@.]K:<_`n%Elrn@mn>CV 7uh a&G3 )>q1^
+ rf-pQ׎XϼI{
+|y vӭ-cBpQkn6 *sֱ5{k
+nk3xɝ
+Xx /yW;btUp68nGu|ԁd~){*N _@uY_Y3
+ $&>VpGOvq<C
+Xq ZM*xDNdoף=8 o73.h陋h)cQ3tэZݺbbV_x(ҞU_{w' Ll=xII@Twf3 |r2=J7Iuz)t,4>[B gFYx=䔕[6Cgh`$՗>WcC
+?:V̠1Z~tLXJ^H3S/J ,ND%Tեέ*_B3^.W1Cm}.-&
+<1vY5-MJ<z ʏoy`Fκ-[lFfcF{~tEYŁmZO&G%vCr/U|
+>_D˧rQJ~Y*8pBFj`+"ڮn&bo"\F3F,+¥Cv_SԖ@HNAɡJZ( kV/0"K"Kl 2`#:<aQ=Hөtn^ &'N^|I*n5y}HVp6Y:oxS޽c;2Bݻȗ
+-ד\).'w~ t lAK !]$Xj^5^C*+TaL/‹HY-aK|9dzTKXp棃ě
+A8M3=rTG_P!Nu$z&JRTaWIwG0@qQ8 2}
+t n3k R|$8Tu_QJ<8H\ah.ryf7g?OPJ(D`gM@ jvfWPvF _2?x
+yLR{s@*m 5I</7nnsjVMBΆj;
+)TOO|eY-
+NXvvβkn݃hW_.SF񠵠!,*b,7N :&ډ Ij="~ !*ZXvGo
+,58q^
+B嵴hx_g`bNUz!EXn[j/ 4=|n8Kq 6Fb ȴ%r4X"K/X"Q\YpD"<N:moIÄ+"D7L Zƨ̶) .Q31ϥ6ݽF2yr N(753Xu?S)mq?UhnN)sy;vfw{v+W 1qգ]=T:^]
+5^VvB
+/g{A$"A.1gϡd5+/am?2m4nT8|E F]%^ Zך2 gB Gs-<KQuv6zf&Tb5F.+2P2#*Fr%ޚ00M,WjmL _Q #wMȚ }mx#{fF3W}e J*TV6:Z>i<F̸ rMNKѸ\~rЃ0_O
+״ժɁ/cFJT[Bu_K<(uV9)yb``iۄI͘-wm%{r؉O!Q
+`NϠΑmAcs\vgO\$B~Ag[KN҆L
+—aXF7;}2ѥǧ F
+/V<epo"c}_, aB|3/UpѮVs{?jryK4_Ͼ._FBfyg)7 ԗ}}Ͷ91ǔIv'i#\vP!+_;f[c=/嶴RCg[eƍ@\OM!of
+ 5g:C׏$=
+?Q8LTC N IkZٻtC͵1L2 D䣳-wbkyB?[s}9M\mN-TL1ig52[LF&6!5ӈ"SWq G pRܹ_P62v9eV:yKn1-jUFC%_X5zI mkv+5(.#"+C4G/
+w3i~يt7U}75sw݀D:FXV魠H+{U
+F^jI7_S0006Xuلb<IK9$myZS%gl5Mٸa|c=,L[o.V\'
+xw:x 5
+.;+Z49_7|_
+vʢKej$5ݙ6Hf[͏ [dVfi ±=EdW%xje5^ғS P`nMbffGL]cQaAhR1ݍ"DF>ǒ|x
+T},Zų́<1A]A^K=Z*-lEO/KMzx>ZPcMyT˩ Oa^>{~,O$7*UAQ\zM$L:ojbKye9q+HI{T:a\L17\G)Y!PB}!gS?բ=dĖ;9ڪͤ-`>3-޾p&<@&nxVÛhjK>c.\Ep1qTV5z$R~{R@-Œ*9)zxվ͠
+!LJ'ڴ؂MY-լy7'/tĻ4[:@"b7p%gMK 2}oڙ:@]gL'(fsW
+?$
+endstream
+endobj
+628 0 obj
+<<
+/Type /FontDescriptor
+/FontName /WOYMVV+LMMonoSlant10-Regular
+/Flags 4
+/FontBBox [-477 -316 786 1016]
+/Ascent 599
+/CapHeight 599
+/Descent -222
+/ItalicAngle -9
+/StemV 69
+/XHeight 431
+/CharSet (/A/B/C/J/L/P/R/T/Z/a/asterisk/b/braceleft/braceright/c/comma/d/e/f/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/r/s/t/u/v/w/x/y/z)
+/FontFile 627 0 R
+>>
+endobj
+578 0 obj
+<<
+/Type /Encoding
+/Differences [16/quotedblleft/quotedblright 27/ff/fi/fl/ffi 33/exclam 37/percent 39/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 227/atilde 231/ccedilla 233/eacute 237/iacute 244/ocircumflex/otilde/odieresis]
+>>
+endobj
+576 0 obj
+<<
+/Type /Encoding
+/Differences [34/epsilon]
+>>
+endobj
+584 0 obj
+<<
+/Type /Encoding
+/Differences [104/angbracketleft/angbracketright]
+>>
+endobj
+586 0 obj
+<<
+/Type /Encoding
+/Differences [61/equal]
+>>
+endobj
+580 0 obj
+<<
+/Type /Encoding
+/Differences [39/quotesingle.ts1 136/bullet 158/openbullet]
+>>
+endobj
+629 0 obj
+<<
+/Length 844
+/Filter /FlateDecode
+>>
+stream
+xmUMo@Wla_BZX&
+Q+K62 5fI`x;fͳضߺItճ;סqT}s=ùֵA= }vu[Uyk֍I{wQ/5qhe9xSTQO7}̽][GLrFMG}}"Im!00jEV%H^/v}0<_7RyL U~C`PރSӯ|'
+imXYӷ|4nt.kP^k?IFsuB`nlB
+=@ )U 9yI(ѥ
+S*043``ÍSqf|kiCc, pDˆzF:x0)ljsn l9u}Sr
+МQV14Ld5cY9Y?=C9돡'g ?%>O:ShYg{ΈrYgDk>[bghX|&^V|sig33qgng3tZ[Yog,g-g B|B|\3gg|2?f)<O5]TߓT+&#{U-'H8x?0.t<wtOȢ\: r
+endstream
+endobj
+239 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LRBAHR+LMRoman10-Bold
+/FontDescriptor 600 0 R
+/FirstChar 65
+/LastChar 116
+/Widths 596 0 R
+/Encoding 578 0 R
+/ToUnicode 629 0 R
+>>
+endobj
+630 0 obj
+<<
+/Length 844
+/Filter /FlateDecode
+>>
+stream
+xmUMo@Wla_BZX&
+Q+K62 5fI`x;fͳضߺItճ;סqT}s=ùֵA= }vu[Uyk֍I{wQ/5qDŽ r Gէn8A{,쏘LEvDB``B9zK~;_q`>Wgy o.>ݫﭯAbZ%?6G_Nzy;9ڰoiܰ^]0zu\~3ݍܥ: ل0%1 " 0Z{q́0R0r0QK5<T`,if,1gT Hӆp1X:,p8}u
+8alSM3?r>x\i"EܰpJMkl4\?ǚc:#?^YHwuprQF^odž1BЖEQ?1^׆ƨАԗ039+ãbLi~jЙ}s~zrCOe fYJ|֟uМ8gΈrY׆}ŊϘъ1LҊkgigϘ݊og3f3|3ߊY[3 =L3f/gd ,' f)Rx jb&'W *.MGZN(:p~7a?}]TyԟE}Ư%Vu'e%
+endstream
+endobj
+242 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /IRKPPV+LMRoman12-Bold
+/FontDescriptor 602 0 R
+/FirstChar 42
+/LastChar 117
+/Widths 593 0 R
+/Encoding 578 0 R
+/ToUnicode 630 0 R
+>>
+endobj
+631 0 obj
+<<
+/Length 841
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N)$̛3njNelܬ=WW\?;׺v=ݩqhY]jwOҺ=po]IAu~\3FXҝA5(O)suߖcHQIܮQW Lڮ9ˊ6nK5NoغWi~r<d(Vu;_=85vѩֆu5CNmm悥+U=#)\][|, MHS"#p
+endstream
+endobj
+240 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PQDPHT+LMRoman10-Regular
+/FontDescriptor 606 0 R
+/FirstChar 28
+/LastChar 122
+/Widths 595 0 R
+/Encoding 578 0 R
+/ToUnicode 631 0 R
+>>
+endobj
+632 0 obj
+<<
+/Length 841
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N)$̛3njNelܬ=WW\?;׺v=ݩqhY]jwOҺ=po]IAu~\3F;;=}kPQ/7SVk-8s擸]׷QPP]sݛ麟;l,j7O4uc׿x;P:XTv~{pjS! j֝ƍKWjY׫{FR^wwPG*X$D F @F@k} 89@FJuFF#`R0Jt
+5 5553<pb
+9LsQ.(ulgYˊx/V|V|&٭ V|N+>cv+>7+>S} ~!>_Sϔ+>cB|&LOr`B,&+jwRP{x${y儢 1~g|sGӿNu]>~?,5(z
+endstream
+endobj
+238 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JFOBVR+LMRoman12-Regular
+/FontDescriptor 608 0 R
+/FirstChar 16
+/LastChar 122
+/Widths 597 0 R
+/Encoding 578 0 R
+/ToUnicode 632 0 R
+>>
+endobj
+633 0 obj
+<<
+/Length 841
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N)$̛3njNelܬ=WW\?;׺v=ݩqhY]jwOҺ=po]IAu~\3F;;=}kPQ/7SVk-8s擸]׷QPP]sݛ麟;l,j7O4uc׿x;P:XTv~{pjS! j֝ƍKWjY׫{FR^wwPG*X$D F @F@k} 89@FJuFF#`R0Jt
+5 5553<pb
+9LsQ.(ulgYˊx/V|V|&٭ V|N+>cv+>7+>S} ~!>_Sϔ+>cB|&LOr`B,&+jwRP{x${y儢 1~g|sGӿNu]>~?,5(z6
+endstream
+endobj
+237 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JLVZZZ+LMRoman17-Regular
+/FontDescriptor 610 0 R
+/FirstChar 40
+/LastChar 120
+/Widths 598 0 R
+/Encoding 578 0 R
+/ToUnicode 633 0 R
+>>
+endobj
+634 0 obj
+<<
+/Length 841
+/Filter /FlateDecode
+>>
+stream
+xmUn0CƆ
+N7RIU70W?'^$Is}=}exǡ}'u]U=ow_XߓJ?)裮_o'h P=mbKLQ/?C̭:}W {pCM/6۾EzĪ۶'Yѽ3~< |OaxIM4};?n7uEYy>;JG& ߯^M~*aUaqݿhB͛foH]n-I&H8@l: ld`TYg``&Bkk0jNXXр0#` w]jG1 F60q'kgqScsnl9Ns`qKK%pNI8qJ9q4Ϯ%p 2\XWkz,_8x1g1=ia4c̓˳G6ڀ cxmcfƨog!/lmΘ8+^P_-C#[34IN؆1t?E߂ޡSrY ֟gg9433.XgB3\iafq3fts
+,>G|F/'>t3:~:83fw3;:ٝ ߜLgw3t33 ~)>CO)>SK3- ,YJa)SMV襤:?85JC4I^ E'b4><? 8Ϸ袿CF
+endstream
+endobj
+275 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GHPVUA+LMRoman8-Regular
+/FontDescriptor 612 0 R
+/FirstChar 65
+/LastChar 65
+/Widths 591 0 R
+/Encoding 578 0 R
+/ToUnicode 634 0 R
+>>
+endobj
+635 0 obj
+<<
+/Length 843
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N)$ݪ70W?g^,ɝظYs{ \wu{S<.7զ7u{R޺>f?  G՗_n<uC̭}[Lr
+F'}oG^!00j,+m$?wC\<wRy֍]h{ϗqC`Rރc~^ޏN6Zw:n7n7,^e]׷_&suB`ilB
+=@ )U 9yI(ѥ
+S*043``MSiv|kiCX
+МQV14Ld5cY9Y?=C9돡'g ?%>O:ShYg{ΈrYgDk>[bghX|&^V|sig33qgng3tZ[Yog,g-g B|B|\3gg|2?f)<O5]TߓT+&#{U-'H888.t<z:GdE_kCI1*
+endstream
+endobj
+274 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GKSZAX+LMRoman12-Italic
+/FontDescriptor 614 0 R
+/FirstChar 28
+/LastChar 122
+/Widths 592 0 R
+/Encoding 578 0 R
+/ToUnicode 635 0 R
+>>
+endobj
+636 0 obj
+<<
+/Length 845
+/Filter /FlateDecode
+>>
+stream
+xuUMo@+H.ȲrhQիԒ ؇6jo73o{q3mfѭVOn/Cf)rtskzf꺼Ɠpi?p>fv8coJ?< a9(})suזÌ\$qATh L}s6G
+7o],jotuþ{UןtptZ|MÏѩNN6[7ݫ ZԲWO&suB`ilB
+=@ )U 9yI(ѥ
+S*043``MSiv|kiCX
+МQV14Nd5cY9Y?C9돡'g ?%>O:ShYggΈrYgDg>[bghX|&^V|{ig33qgng3tZ[Yog,g-g B|B|\3gg3?f)O5[TT+&GUP#a#7a
+endstream
+endobj
+278 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YVSTKC+LMSans10-Oblique
+/FontDescriptor 616 0 R
+/FirstChar 28
+/LastChar 122
+/Widths 588 0 R
+/Encoding 578 0 R
+/ToUnicode 636 0 R
+>>
+endobj
+637 0 obj
+<<
+/Length 845
+/Filter /FlateDecode
+>>
+stream
+xuUMo@+H.ȲrhQիԒ ؇6jo73o{q3mfѭVOn/Cf)rtskzf꺼Ɠpi?p>fv8coBy>x sXQO7SVk-#RInߵR/P,+m$oƳ;w>X. C}?77 D`RއۣS/&}g=
+imX[ӷn<m7lW,^e]׵IyMܵ:W ل0%1 " 0Z{q́0R0r0QK5<T`if1T Hӆp
+8alSM3?r>x\i"EܰpJMkl4\?ǚc:7^EHOupQF^odž1BЖEQ?[0^׆ƨАԗ0 9+ãbLi~jЙ}s~zrCOe fYJ|֟uМ8gΈrYφ}ŊϘъ1LҊkgigϘ݊og3f3|3ߊY[3 =L3f/gxg ,; f)Rx jb&'W *.lMr0߫j١hGF}o.
+endstream
+endobj
+277 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XQQCIP+LMSans12-Oblique
+/FontDescriptor 618 0 R
+/FirstChar 28
+/LastChar 121
+/Widths 589 0 R
+/Encoding 578 0 R
+/ToUnicode 637 0 R
+>>
+endobj
+638 0 obj
+<<
+/Length 844
+/Filter /FlateDecode
+>>
+stream
+xmUMo@+H.Ȳ|h%Qի ۇ6웙7X=<l;Ytգ; q\]UCs9ùֵN=CT;xoMI{
+gkpcBܝ5AUӍnZoIN\Ԩo( &TmלeE[䧷6nK5F*oغ_'m~r<t(Vu;_{c{pj緣S! +k֝ƍKWjY׫=#)/\]PG*X$D F @F@k} 89@FJuFF#`R0Jt
+5 5553<pb
+a!SM~W,:?8C8…I^U E'b|82 8ϻ޽YtїkZbu_G4
+endstream
+endobj
+289 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CENXFI+LMMonoLt10-Bold
+/FontDescriptor 622 0 R
+/FirstChar 66
+/LastChar 120
+/Widths 583 0 R
+/Encoding 578 0 R
+/ToUnicode 638 0 R
+>>
+endobj
+639 0 obj
+<<
+/Length 845
+/Filter /FlateDecode
+>>
+stream
+xuUMo@+H.Ȳ|hQիԪ 73$mof<`zbM[ܩ 7u{Z׎wOwq蛵;rUƓW]ndT]AAu~N\3ο{?Vyi_0aE?pݝ2ZkXvm0) 5%nw];* Ukβ]AtvU\Myx#7ahݰ^gqr<(,u[_p985bwѩֆ5}NMMꂹ 5E=#)/ۑ\]PG"$D F @F@k} 89@FJuFF#`R0Jt
+% %553<pl
+a!SMV,鸞:?8C8…I{U-;H؈qte@ w{?Yt5X=[_
+endstream
+endobj
+435 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NRDUGX+LMMonoLt10-BoldOblique
+/FontDescriptor 624 0 R
+/FirstChar 65
+/LastChar 121
+/Widths 579 0 R
+/Encoding 578 0 R
+/ToUnicode 639 0 R
+>>
+endobj
+640 0 obj
+<<
+/Length 843
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N7R!ݪ70W?g_,ɝиYs{
+]7;׺v=ߩǡoݨM'opiT}IAu~\3;he?<{Q%(SVk-#&9sQ擾ݾk^!00j(+m$?Gwt>X.oTuþ{S_tpСtZ|I1?H/'BZV;ݛ ZԲW/{FR^ww?U4H6!L@@B@q\s *<G`Rq eF)kk0j0jfx)4Ug;5Ҵ!\,18"\aD E_sN[sS9)9^
+?BXIAup*Çq G潪N$p|eO_:q;:'dE_kCa
+endstream
+endobj
+276 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WSYJXC+LMMono10-Regular
+/FontDescriptor 626 0 R
+/FirstChar 37
+/LastChar 246
+/Widths 590 0 R
+/Encoding 578 0 R
+/ToUnicode 640 0 R
+>>
+endobj
+641 0 obj
+<<
+/Length 845
+/Filter /FlateDecode
+>>
+stream
+xuUMo@+H.ȲrhQիԒ Ƈ6jo73o{q3mfѭVO_SpuUsk;8ƍ꺼x]snbT}AAu~\3;DZ7cAޏO|X}+JZka\$qATh L}3ʊ~wɛݮK57F:oкa߽t:8Q:XTvIYo'BZ;ݫ ZԲWO&suB`ilB
+=@ )U 9yI(ѥ
+S*043``MSiv|kiCX
+МQV14Nd5cY9Y?C9돡'g ?%>O:ShYggΈrYgDg>[bghX|&^V|{ig33qgng3tZ[Yog,g-g B|B|\3gg3?f)O5[TT+&GUP#a#7a
+endstream
+endobj
+241 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WOYMVV+LMMonoSlant10-Regular
+/FontDescriptor 628 0 R
+/FirstChar 40
+/LastChar 125
+/Widths 594 0 R
+/Encoding 578 0 R
+/ToUnicode 641 0 R
+>>
+endobj
+642 0 obj
+<<
+/Length 600
+/Filter /FlateDecode
+>>
+stream
+xuTn@+fH@!BHMV{5@,lsw m6n냝g)>mW_NiFq]J[o6nWbmmUON%О[:b',v_2~"!~PGGZPvE]
+,tĦʣD37ⱨJSZENJ7]omuRL?e׷WMܶEuGsrwi!Jr9:
+Mg޲:]fMR2IV;e8p<_9"*G(dS>sQ  DDr "qX+&Gha:$r5PHi@S91jU|s(V8>l;JۈYDI aoykrA)ς1R;JS΄U!ar .Qsy4M纑9Ҍi~h7!cD<`1 ySMgg>2 cs(>ZC@ f fP7Fo?],}/Kۺ=/mS7m'{LD
+endstream
+endobj
+508 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /AHKBFZ+LMMathItalic12-Regular
+/FontDescriptor 604 0 R
+/FirstChar 34
+/LastChar 34
+/Widths 577 0 R
+/Encoding 576 0 R
+/ToUnicode 642 0 R
+>>
+endobj
+643 0 obj
+<<
+/Length 790
+/Filter /FlateDecode
+>>
+stream
+xuUMo0Wx B
+HJ+ML ~fVyyfln~=&iټwͥ-d{nn|?z_r|=)vm.uq~T_U%AqNdGwH_d?(DwZ?~^JM]6EU]+Ң~xŻkӶ>4b!/e׷WyMҷU.n /waDh?vz[є; w-\E/#_iKvr'ht1 b 6aA8iHAxx*%) BSDjn@P˄AȘʠ0a8F
+
+8An)  +4bX*^cH`&f P;6 <9Bi2)LeTV.>HEW0*50^ s غ~${S$2ˀQ lC]j{Q\8jFجA`Z1Fcf1ur=#1SƤx- 907O`aaeVrLӔhVje y Q( a0<x?hkSIc/ -ur^vҁ7#!}BzUaQRZa~JÃy1KNqHC4cmӹy 7]t"jy3Vч.OOy/
+endstream
+endobj
+284 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XPVMCL+LMMathSymbols10-Regular
+/FontDescriptor 620 0 R
+/FirstChar 104
+/LastChar 105
+/Widths 585 0 R
+/Encoding 584 0 R
+/ToUnicode 643 0 R
+>>
+endobj
+644 0 obj
+<<
+/Length 962
+/Filter /FlateDecode
+>>
+stream
+xmVn8+
+h ɨ%X8Zێ
+'U[:th鹥CK["OntZB~kul:e\ow:gLsJԋ84sy3ݾ_7~_9x<xe. 0y!Vz) ou/ Ϟṯֵ*跖` )<3'jIC&s2pBCֳ/5h~s
+I{8g 0F2|2F0Ƴ(gĉ1q#9~IȣAήa}t-c/9c]:K֟aݒggSzY%/sKY)YgJ3^i૔K%g|Lkyπ#9ûK%gx3r3͗KYKX%gkzjəz%gx%gK',S/9GZ6h-C S#ܚ_* jp@L[06e~_g!}/\XN8Jν,HN:q).~(%D
+endstream
+endobj
+283 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JFOBVR+LMRoman12-Regular
+/FontDescriptor 608 0 R
+/FirstChar 61
+/LastChar 61
+/Widths 587 0 R
+/Encoding 586 0 R
+/ToUnicode 644 0 R
+>>
+endobj
+645 0 obj
+<<
+/Length 700
+/Filter /FlateDecode
+>>
+stream
+xuTMo0+J!m0U !mTto4j{z<?xҺ{s^7tr]u>v|tv ںQf|6'op݅uM{}ugfci"Amƃ}>,%rtPRJ(:X'Ab~oںT7h uSӌ]Acq`sy̟M.n? D`އщ7+d~4Wj7vw VRŪ,ׁk/bxO0+,F )1<c8PÆ\ 6>!Pp #]QxQTv)#ZBYLt/X^r<1u%pr_d9٢PSi0@WQ_Uh֩h諵"qFM]RrCpt39Âж~j3Fezp888Q:1bc7~}Hq('bĄ>^m# &zd}4)`
+"H,4%!%AQ߄B[B~)ҙ́ _)M?DM;豬;kyoQnNRd\Ӎ;WA}
+zoZZgbTU
+|_
+endstream
+endobj
+426 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JFOBVR+LMRoman12-Regular
+/FontDescriptor 608 0 R
+/FirstChar 136
+/LastChar 158
+/Widths 581 0 R
+/Encoding 580 0 R
+/ToUnicode 645 0 R
+>>
+endobj
+646 0 obj
+<<
+/Length 701
+/Filter /FlateDecode
+>>
+stream
+xuTn0+Cl
+ m8(zu$:`K$Q4pufn}f)ɻ|tùA<]u6m;O޴\+$ޚv}qff8*h$iƃ}E>.>ttPRJ(:X/rߴu&^!3PZM5^F$o߇7 V+1ؿһ`׮o7qIݞO!Znz/~N̿Z䄦buUWᴫ\k\r-Ve\[3sB A `ehHiJ }*>`!
+endstream
+endobj
+297 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WSYJXC+LMMono10-Regular
+/FontDescriptor 626 0 R
+/FirstChar 39
+/LastChar 39
+/Widths 582 0 R
+/Encoding 580 0 R
+/ToUnicode 646 0 R
+>>
+endobj
+243 0 obj
+<<
+/Type /Pages
+/Count 6
+/Parent 647 0 R
+/Kids [173 0 R 270 0 R 280 0 R 286 0 R 291 0 R 304 0 R]
+>>
+endobj
+365 0 obj
+<<
+/Type /Pages
+/Count 6
+/Parent 647 0 R
+/Kids [316 0 R 367 0 R 412 0 R 428 0 R 432 0 R 460 0 R]
+>>
+endobj
+497 0 obj
+<<
+/Type /Pages
+/Count 6
+/Parent 647 0 R
+/Kids [474 0 R 503 0 R 536 0 R 554 0 R 558 0 R 562 0 R]
+>>
+endobj
+571 0 obj
+<<
+/Type /Pages
+/Count 2
+/Parent 647 0 R
+/Kids [568 0 R 573 0 R]
+>>
+endobj
+647 0 obj
+<<
+/Type /Pages
+/Count 20
+/Kids [243 0 R 365 0 R 497 0 R 571 0 R]
+>>
+endobj
+648 0 obj
+<<
+/Type /Outlines
+/First 6 0 R
+/Last 166 0 R
+/Count 13
+>>
+endobj
+170 0 obj
+<<
+/Title 171 0 R
+/A 168 0 R
+/Parent 166 0 R
+>>
+endobj
+166 0 obj
+<<
+/Title 167 0 R
+/A 164 0 R
+/Parent 648 0 R
+/Prev 158 0 R
+/First 170 0 R
+/Last 170 0 R
+/Count -1
+>>
+endobj
+162 0 obj
+<<
+/Title 163 0 R
+/A 160 0 R
+/Parent 158 0 R
+>>
+endobj
+158 0 obj
+<<
+/Title 159 0 R
+/A 156 0 R
+/Parent 648 0 R
+/Prev 146 0 R
+/Next 166 0 R
+/First 162 0 R
+/Last 162 0 R
+/Count -1
+>>
+endobj
+154 0 obj
+<<
+/Title 155 0 R
+/A 152 0 R
+/Parent 146 0 R
+/Prev 150 0 R
+>>
+endobj
+150 0 obj
+<<
+/Title 151 0 R
+/A 148 0 R
+/Parent 146 0 R
+/Next 154 0 R
+>>
+endobj
+146 0 obj
+<<
+/Title 147 0 R
+/A 144 0 R
+/Parent 648 0 R
+/Prev 130 0 R
+/Next 158 0 R
+/First 150 0 R
+/Last 154 0 R
+/Count -2
+>>
+endobj
+142 0 obj
+<<
+/Title 143 0 R
+/A 140 0 R
+/Parent 130 0 R
+/Prev 138 0 R
+>>
+endobj
+138 0 obj
+<<
+/Title 139 0 R
+/A 136 0 R
+/Parent 130 0 R
+/Prev 134 0 R
+/Next 142 0 R
+>>
+endobj
+134 0 obj
+<<
+/Title 135 0 R
+/A 132 0 R
+/Parent 130 0 R
+/Next 138 0 R
+>>
+endobj
+130 0 obj
+<<
+/Title 131 0 R
+/A 128 0 R
+/Parent 648 0 R
+/Prev 106 0 R
+/Next 146 0 R
+/First 134 0 R
+/Last 142 0 R
+/Count -3
+>>
+endobj
+126 0 obj
+<<
+/Title 127 0 R
+/A 124 0 R
+/Parent 114 0 R
+/Prev 122 0 R
+>>
+endobj
+122 0 obj
+<<
+/Title 123 0 R
+/A 120 0 R
+/Parent 114 0 R
+/Prev 118 0 R
+/Next 126 0 R
+>>
+endobj
+118 0 obj
+<<
+/Title 119 0 R
+/A 116 0 R
+/Parent 114 0 R
+/Next 122 0 R
+>>
+endobj
+114 0 obj
+<<
+/Title 115 0 R
+/A 112 0 R
+/Parent 106 0 R
+/Prev 110 0 R
+/First 118 0 R
+/Last 126 0 R
+/Count -3
+>>
+endobj
+110 0 obj
+<<
+/Title 111 0 R
+/A 108 0 R
+/Parent 106 0 R
+/Next 114 0 R
+>>
+endobj
+106 0 obj
+<<
+/Title 107 0 R
+/A 104 0 R
+/Parent 648 0 R
+/Prev 94 0 R
+/Next 130 0 R
+/First 110 0 R
+/Last 114 0 R
+/Count -2
+>>
+endobj
+102 0 obj
+<<
+/Title 103 0 R
+/A 100 0 R
+/Parent 94 0 R
+/Prev 98 0 R
+>>
+endobj
+98 0 obj
+<<
+/Title 99 0 R
+/A 96 0 R
+/Parent 94 0 R
+/Next 102 0 R
+>>
+endobj
+94 0 obj
+<<
+/Title 95 0 R
+/A 92 0 R
+/Parent 648 0 R
+/Prev 82 0 R
+/Next 106 0 R
+/First 98 0 R
+/Last 102 0 R
+/Count -2
+>>
+endobj
+90 0 obj
+<<
+/Title 91 0 R
+/A 88 0 R
+/Parent 82 0 R
+/Prev 86 0 R
+>>
+endobj
+86 0 obj
+<<
+/Title 87 0 R
+/A 84 0 R
+/Parent 82 0 R
+/Next 90 0 R
+>>
+endobj
+82 0 obj
+<<
+/Title 83 0 R
+/A 80 0 R
+/Parent 648 0 R
+/Prev 74 0 R
+/Next 94 0 R
+/First 86 0 R
+/Last 90 0 R
+/Count -2
+>>
+endobj
+78 0 obj
+<<
+/Title 79 0 R
+/A 76 0 R
+/Parent 74 0 R
+>>
+endobj
+74 0 obj
+<<
+/Title 75 0 R
+/A 72 0 R
+/Parent 648 0 R
+/Prev 62 0 R
+/Next 82 0 R
+/First 78 0 R
+/Last 78 0 R
+/Count -1
+>>
+endobj
+70 0 obj
+<<
+/Title 71 0 R
+/A 68 0 R
+/Parent 62 0 R
+/Prev 66 0 R
+>>
+endobj
+66 0 obj
+<<
+/Title 67 0 R
+/A 64 0 R
+/Parent 62 0 R
+/Next 70 0 R
+>>
+endobj
+62 0 obj
+<<
+/Title 63 0 R
+/A 60 0 R
+/Parent 648 0 R
+/Prev 46 0 R
+/Next 74 0 R
+/First 66 0 R
+/Last 70 0 R
+/Count -2
+>>
+endobj
+58 0 obj
+<<
+/Title 59 0 R
+/A 56 0 R
+/Parent 46 0 R
+/Prev 54 0 R
+>>
+endobj
+54 0 obj
+<<
+/Title 55 0 R
+/A 52 0 R
+/Parent 46 0 R
+/Prev 50 0 R
+/Next 58 0 R
+>>
+endobj
+50 0 obj
+<<
+/Title 51 0 R
+/A 48 0 R
+/Parent 46 0 R
+/Next 54 0 R
+>>
+endobj
+46 0 obj
+<<
+/Title 47 0 R
+/A 44 0 R
+/Parent 648 0 R
+/Prev 26 0 R
+/Next 62 0 R
+/First 50 0 R
+/Last 58 0 R
+/Count -3
+>>
+endobj
+42 0 obj
+<<
+/Title 43 0 R
+/A 40 0 R
+/Parent 26 0 R
+/Prev 38 0 R
+>>
+endobj
+38 0 obj
+<<
+/Title 39 0 R
+/A 36 0 R
+/Parent 26 0 R
+/Prev 34 0 R
+/Next 42 0 R
+>>
+endobj
+34 0 obj
+<<
+/Title 35 0 R
+/A 32 0 R
+/Parent 26 0 R
+/Prev 30 0 R
+/Next 38 0 R
+>>
+endobj
+30 0 obj
+<<
+/Title 31 0 R
+/A 28 0 R
+/Parent 26 0 R
+/Next 34 0 R
+>>
+endobj
+26 0 obj
+<<
+/Title 27 0 R
+/A 24 0 R
+/Parent 648 0 R
+/Prev 14 0 R
+/Next 46 0 R
+/First 30 0 R
+/Last 42 0 R
+/Count -4
+>>
+endobj
+22 0 obj
+<<
+/Title 23 0 R
+/A 20 0 R
+/Parent 14 0 R
+/Prev 18 0 R
+>>
+endobj
+18 0 obj
+<<
+/Title 19 0 R
+/A 16 0 R
+/Parent 14 0 R
+/Next 22 0 R
+>>
+endobj
+14 0 obj
+<<
+/Title 15 0 R
+/A 12 0 R
+/Parent 648 0 R
+/Prev 6 0 R
+/Next 26 0 R
+/First 18 0 R
+/Last 22 0 R
+/Count -2
+>>
+endobj
+10 0 obj
+<<
+/Title 11 0 R
+/A 8 0 R
+/Parent 6 0 R
+>>
+endobj
+6 0 obj
+<<
+/Title 7 0 R
+/A 4 0 R
+/Parent 648 0 R
+/Next 14 0 R
+/First 10 0 R
+/Last 10 0 R
+/Count -1
+>>
+endobj
+649 0 obj
+<<
+/Names [(Doc-Start) 236 0 R (Item.100) 397 0 R (Item.101) 398 0 R (Item.102) 399 0 R (Item.103) 400 0 R (Item.104) 401 0 R]
+/Limits [(Doc-Start) (Item.104)]
+>>
+endobj
+650 0 obj
+<<
+/Names [(Item.105) 402 0 R (Item.106) 403 0 R (Item.107) 404 0 R (Item.108) 405 0 R (Item.109) 406 0 R (Item.110) 407 0 R]
+/Limits [(Item.105) (Item.110)]
+>>
+endobj
+651 0 obj
+<<
+/Names [(Item.111) 408 0 R (Item.112) 409 0 R (Item.113) 410 0 R (Item.172) 477 0 R (Item.173) 478 0 R (Item.174) 479 0 R]
+/Limits [(Item.111) (Item.174)]
+>>
+endobj
+652 0 obj
+<<
+/Names [(Item.175) 480 0 R (Item.176) 481 0 R (Item.46) 338 0 R (Item.47) 339 0 R (Item.48) 340 0 R (Item.49) 341 0 R]
+/Limits [(Item.175) (Item.49)]
+>>
+endobj
+653 0 obj
+<<
+/Names [(Item.50) 342 0 R (Item.51) 343 0 R (Item.52) 344 0 R (Item.53) 345 0 R (Item.67) 359 0 R (Item.68) 360 0 R]
+/Limits [(Item.50) (Item.68)]
+>>
+endobj
+654 0 obj
+<<
+/Names [(Item.69) 361 0 R (Item.70) 362 0 R (Item.71) 363 0 R (Item.72) 364 0 R (Item.99) 396 0 R (lstlisting.11) 298 0 R]
+/Limits [(Item.69) (lstlisting.11)]
+>>
+endobj
+655 0 obj
+<<
+/Names [(lstlisting.114) 415 0 R (lstlisting.13) 300 0 R (lstlisting.136) 436 0 R (lstlisting.150) 449 0 R (lstlisting.161) 463 0 R (lstlisting.17) 307 0 R]
+/Limits [(lstlisting.114) (lstlisting.17)]
+>>
+endobj
+656 0 obj
+<<
+/Names [(lstlisting.178) 483 0 R (lstlisting.193) 509 0 R (lstlisting.214) 539 0 R (lstlisting.22) 312 0 R (lstlisting.229) 565 0 R (lstlisting.27) 319 0 R]
+/Limits [(lstlisting.178) (lstlisting.27)]
+>>
+endobj
+657 0 obj
+<<
+/Names [(lstlisting.54) 346 0 R (lstlisting.73) 370 0 R (lstlisting.8) 294 0 R (lstnumber.10) 296 0 R (lstnumber.115) 416 0 R (lstnumber.116) 417 0 R]
+/Limits [(lstlisting.54) (lstnumber.116)]
+>>
+endobj
+658 0 obj
+<<
+/Names [(lstnumber.117) 418 0 R (lstnumber.118) 419 0 R (lstnumber.119) 420 0 R (lstnumber.12) 299 0 R (lstnumber.120) 421 0 R (lstnumber.121) 422 0 R]
+/Limits [(lstnumber.117) (lstnumber.121)]
+>>
+endobj
+659 0 obj
+<<
+/Names [(lstnumber.122) 423 0 R (lstnumber.123) 424 0 R (lstnumber.124) 425 0 R (lstnumber.137) 437 0 R (lstnumber.138) 438 0 R (lstnumber.139) 439 0 R]
+/Limits [(lstnumber.122) (lstnumber.139)]
+>>
+endobj
+660 0 obj
+<<
+/Names [(lstnumber.14) 301 0 R (lstnumber.140) 440 0 R (lstnumber.141) 441 0 R (lstnumber.142) 442 0 R (lstnumber.143) 443 0 R (lstnumber.144) 444 0 R]
+/Limits [(lstnumber.14) (lstnumber.144)]
+>>
+endobj
+661 0 obj
+<<
+/Names [(lstnumber.145) 445 0 R (lstnumber.146) 446 0 R (lstnumber.147) 447 0 R (lstnumber.148) 448 0 R (lstnumber.15) 302 0 R (lstnumber.151) 450 0 R]
+/Limits [(lstnumber.145) (lstnumber.151)]
+>>
+endobj
+662 0 obj
+<<
+/Names [(lstnumber.152) 451 0 R (lstnumber.153) 452 0 R (lstnumber.154) 453 0 R (lstnumber.155) 454 0 R (lstnumber.156) 455 0 R (lstnumber.157) 456 0 R]
+/Limits [(lstnumber.152) (lstnumber.157)]
+>>
+endobj
+663 0 obj
+<<
+/Names [(lstnumber.162) 464 0 R (lstnumber.163) 465 0 R (lstnumber.164) 466 0 R (lstnumber.165) 467 0 R (lstnumber.166) 468 0 R (lstnumber.167) 469 0 R]
+/Limits [(lstnumber.162) (lstnumber.167)]
+>>
+endobj
+664 0 obj
+<<
+/Names [(lstnumber.168) 470 0 R (lstnumber.179) 484 0 R (lstnumber.18) 308 0 R (lstnumber.180) 485 0 R (lstnumber.181) 486 0 R (lstnumber.182) 487 0 R]
+/Limits [(lstnumber.168) (lstnumber.182)]
+>>
+endobj
+665 0 obj
+<<
+/Names [(lstnumber.183) 488 0 R (lstnumber.184) 489 0 R (lstnumber.185) 490 0 R (lstnumber.186) 491 0 R (lstnumber.187) 492 0 R (lstnumber.188) 493 0 R]
+/Limits [(lstnumber.183) (lstnumber.188)]
+>>
+endobj
+666 0 obj
+<<
+/Names [(lstnumber.189) 494 0 R (lstnumber.19) 309 0 R (lstnumber.190) 495 0 R (lstnumber.191) 496 0 R (lstnumber.194) 510 0 R (lstnumber.195) 511 0 R]
+/Limits [(lstnumber.189) (lstnumber.195)]
+>>
+endobj
+667 0 obj
+<<
+/Names [(lstnumber.196) 512 0 R (lstnumber.197) 513 0 R (lstnumber.198) 514 0 R (lstnumber.199) 515 0 R (lstnumber.20) 310 0 R (lstnumber.200) 516 0 R]
+/Limits [(lstnumber.196) (lstnumber.200)]
+>>
+endobj
+668 0 obj
+<<
+/Names [(lstnumber.201) 517 0 R (lstnumber.202) 518 0 R (lstnumber.203) 519 0 R (lstnumber.204) 520 0 R (lstnumber.205) 521 0 R (lstnumber.206) 522 0 R]
+/Limits [(lstnumber.201) (lstnumber.206)]
+>>
+endobj
+669 0 obj
+<<
+/Names [(lstnumber.207) 523 0 R (lstnumber.208) 524 0 R (lstnumber.209) 525 0 R (lstnumber.21) 311 0 R (lstnumber.210) 526 0 R (lstnumber.211) 527 0 R]
+/Limits [(lstnumber.207) (lstnumber.211)]
+>>
+endobj
+670 0 obj
+<<
+/Names [(lstnumber.212) 528 0 R (lstnumber.215) 540 0 R (lstnumber.216) 541 0 R (lstnumber.217) 542 0 R (lstnumber.218) 543 0 R (lstnumber.219) 544 0 R]
+/Limits [(lstnumber.212) (lstnumber.219)]
+>>
+endobj
+671 0 obj
+<<
+/Names [(lstnumber.220) 545 0 R (lstnumber.221) 546 0 R (lstnumber.222) 547 0 R (lstnumber.223) 548 0 R (lstnumber.224) 549 0 R (lstnumber.225) 550 0 R]
+/Limits [(lstnumber.220) (lstnumber.225)]
+>>
+endobj
+672 0 obj
+<<
+/Names [(lstnumber.23) 313 0 R (lstnumber.230) 566 0 R (lstnumber.24) 314 0 R (lstnumber.28) 320 0 R (lstnumber.29) 321 0 R (lstnumber.30) 322 0 R]
+/Limits [(lstnumber.23) (lstnumber.30)]
+>>
+endobj
+673 0 obj
+<<
+/Names [(lstnumber.31) 323 0 R (lstnumber.32) 324 0 R (lstnumber.33) 325 0 R (lstnumber.34) 326 0 R (lstnumber.35) 327 0 R (lstnumber.36) 328 0 R]
+/Limits [(lstnumber.31) (lstnumber.36)]
+>>
+endobj
+674 0 obj
+<<
+/Names [(lstnumber.37) 329 0 R (lstnumber.38) 330 0 R (lstnumber.39) 331 0 R (lstnumber.40) 332 0 R (lstnumber.41) 333 0 R (lstnumber.42) 334 0 R]
+/Limits [(lstnumber.37) (lstnumber.42)]
+>>
+endobj
+675 0 obj
+<<
+/Names [(lstnumber.43) 335 0 R (lstnumber.44) 336 0 R (lstnumber.45) 337 0 R (lstnumber.55) 347 0 R (lstnumber.56) 348 0 R (lstnumber.57) 349 0 R]
+/Limits [(lstnumber.43) (lstnumber.57)]
+>>
+endobj
+676 0 obj
+<<
+/Names [(lstnumber.58) 350 0 R (lstnumber.59) 351 0 R (lstnumber.60) 352 0 R (lstnumber.61) 353 0 R (lstnumber.62) 354 0 R (lstnumber.63) 355 0 R]
+/Limits [(lstnumber.58) (lstnumber.63)]
+>>
+endobj
+677 0 obj
+<<
+/Names [(lstnumber.64) 356 0 R (lstnumber.65) 357 0 R (lstnumber.66) 358 0 R (lstnumber.74) 371 0 R (lstnumber.75) 372 0 R (lstnumber.76) 373 0 R]
+/Limits [(lstnumber.64) (lstnumber.76)]
+>>
+endobj
+678 0 obj
+<<
+/Names [(lstnumber.77) 374 0 R (lstnumber.78) 375 0 R (lstnumber.79) 376 0 R (lstnumber.80) 377 0 R (lstnumber.81) 378 0 R (lstnumber.82) 379 0 R]
+/Limits [(lstnumber.77) (lstnumber.82)]
+>>
+endobj
+679 0 obj
+<<
+/Names [(lstnumber.83) 380 0 R (lstnumber.84) 381 0 R (lstnumber.85) 382 0 R (lstnumber.86) 383 0 R (lstnumber.87) 384 0 R (lstnumber.88) 385 0 R]
+/Limits [(lstnumber.83) (lstnumber.88)]
+>>
+endobj
+680 0 obj
+<<
+/Names [(lstnumber.89) 386 0 R (lstnumber.9) 295 0 R (lstnumber.90) 387 0 R (lstnumber.91) 388 0 R (lstnumber.92) 389 0 R (lstnumber.93) 390 0 R]
+/Limits [(lstnumber.89) (lstnumber.93)]
+>>
+endobj
+681 0 obj
+<<
+/Names [(lstnumber.94) 391 0 R (lstnumber.95) 392 0 R (lstnumber.96) 393 0 R (lstnumber.97) 394 0 R (lstnumber.98) 395 0 R (page.1) 235 0 R]
+/Limits [(lstnumber.94) (page.1)]
+>>
+endobj
+682 0 obj
+<<
+/Names [(page.10) 430 0 R (page.11) 434 0 R (page.12) 462 0 R (page.13) 476 0 R (page.14) 505 0 R (page.15) 538 0 R]
+/Limits [(page.10) (page.15)]
+>>
+endobj
+683 0 obj
+<<
+/Names [(page.16) 556 0 R (page.17) 560 0 R (page.18) 564 0 R (page.19) 570 0 R (page.2) 272 0 R (page.20) 575 0 R]
+/Limits [(page.16) (page.20)]
+>>
+endobj
+684 0 obj
+<<
+/Names [(page.3) 282 0 R (page.4) 288 0 R (page.5) 293 0 R (page.6) 306 0 R (page.7) 318 0 R (page.8) 369 0 R]
+/Limits [(page.3) (page.8)]
+>>
+endobj
+685 0 obj
+<<
+/Names [(page.9) 414 0 R (section.1) 5 0 R (section.125) 45 0 R (section.129) 61 0 R (section.132) 73 0 R (section.134) 81 0 R]
+/Limits [(page.9) (section.134)]
+>>
+endobj
+686 0 obj
+<<
+/Names [(section.158) 93 0 R (section.169) 105 0 R (section.226) 129 0 R (section.232) 145 0 R (section.235) 157 0 R (section.237) 165 0 R]
+/Limits [(section.158) (section.237)]
+>>
+endobj
+687 0 obj
+<<
+/Names [(section.3) 13 0 R (section.6) 25 0 R (subsection.126) 49 0 R (subsection.127) 53 0 R (subsection.128) 57 0 R (subsection.130) 65 0 R]
+/Limits [(section.3) (subsection.130)]
+>>
+endobj
+688 0 obj
+<<
+/Names [(subsection.131) 69 0 R (subsection.133) 77 0 R (subsection.135) 85 0 R (subsection.149) 89 0 R (subsection.159) 97 0 R (subsection.16) 33 0 R]
+/Limits [(subsection.131) (subsection.16)]
+>>
+endobj
+689 0 obj
+<<
+/Names [(subsection.160) 101 0 R (subsection.170) 109 0 R (subsection.171) 113 0 R (subsection.2) 9 0 R (subsection.227) 133 0 R (subsection.228) 137 0 R]
+/Limits [(subsection.160) (subsection.228)]
+>>
+endobj
+690 0 obj
+<<
+/Names [(subsection.231) 141 0 R (subsection.233) 149 0 R (subsection.234) 153 0 R (subsection.236) 161 0 R (subsection.238) 169 0 R (subsection.25) 37 0 R]
+/Limits [(subsection.231) (subsection.25)]
+>>
+endobj
+691 0 obj
+<<
+/Names [(subsection.26) 41 0 R (subsection.4) 17 0 R (subsection.5) 21 0 R (subsection.7) 29 0 R (subsubsection.177) 117 0 R (subsubsection.192) 121 0 R]
+/Limits [(subsection.26) (subsubsection.192)]
+>>
+endobj
+692 0 obj
+<<
+/Names [(subsubsection.213) 125 0 R]
+/Limits [(subsubsection.213) (subsubsection.213)]
+>>
+endobj
+693 0 obj
+<<
+/Kids [649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R]
+/Limits [(Doc-Start) (lstlisting.11)]
+>>
+endobj
+694 0 obj
+<<
+/Kids [655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R]
+/Limits [(lstlisting.114) (lstnumber.144)]
+>>
+endobj
+695 0 obj
+<<
+/Kids [661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R]
+/Limits [(lstnumber.145) (lstnumber.195)]
+>>
+endobj
+696 0 obj
+<<
+/Kids [667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R]
+/Limits [(lstnumber.196) (lstnumber.30)]
+>>
+endobj
+697 0 obj
+<<
+/Kids [673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R]
+/Limits [(lstnumber.31) (lstnumber.82)]
+>>
+endobj
+698 0 obj
+<<
+/Kids [679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R]
+/Limits [(lstnumber.83) (page.8)]
+>>
+endobj
+699 0 obj
+<<
+/Kids [685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R]
+/Limits [(page.9) (subsection.25)]
+>>
+endobj
+700 0 obj
+<<
+/Kids [691 0 R 692 0 R]
+/Limits [(subsection.26) (subsubsection.213)]
+>>
+endobj
+701 0 obj
+<<
+/Kids [693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R]
+/Limits [(Doc-Start) (page.8)]
+>>
+endobj
+702 0 obj
+<<
+/Kids [699 0 R 700 0 R]
+/Limits [(page.9) (subsubsection.213)]
+>>
+endobj
+703 0 obj
+<<
+/Kids [701 0 R 702 0 R]
+/Limits [(Doc-Start) (subsubsection.213)]
+>>
+endobj
+704 0 obj
+<<
+/Dests 703 0 R
+>>
+endobj
+705 0 obj
+<<
+/Type /Catalog
+/Pages 647 0 R
+/Outlines 648 0 R
+/Names 704 0 R
+/PageMode/UseOutlines
+/OpenAction 172 0 R
+>>
+endobj
+706 0 obj
+<<
+/Producer (MiKTeX pdfTeX-1.40.24)
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords()
+/CreationDate (D:20220904144523-03'00')
+/ModDate (D:20220904144523-03'00')
+/Trapped /False
+/PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.11.0 (1.40.24))
+>>
+endobj
+xref
+0 707
+0000000174 65535 f
+0000112817 00000 n
+0000112837 00000 n
+0000112857 00000 n
+0000000015 00000 n
+0000026145 00000 n
+0000490522 00000 n
+0000000060 00000 n
+0000000146 00000 n
+0000026205 00000 n
+0000490463 00000 n
+0000000194 00000 n
+0000000299 00000 n
+0000026265 00000 n
+0000490339 00000 n
+0000000345 00000 n
+0000000445 00000 n
+0000030720 00000 n
+0000490265 00000 n
+0000000494 00000 n
+0000000589 00000 n
+0000035343 00000 n
+0000490191 00000 n
+0000000638 00000 n
+0000000786 00000 n
+0000035404 00000 n
+0000490066 00000 n
+0000000832 00000 n
+0000000967 00000 n
+0000035465 00000 n
+0000489992 00000 n
+0000001016 00000 n
+0000001121 00000 n
+0000040548 00000 n
+0000489905 00000 n
+0000001171 00000 n
+0000001258 00000 n
+0000044561 00000 n
+0000489818 00000 n
+0000001308 00000 n
+0000001436 00000 n
+0000044622 00000 n
+0000489744 00000 n
+0000001486 00000 n
+0000001614 00000 n
+0000059022 00000 n
+0000489619 00000 n
+0000001662 00000 n
+0000001797 00000 n
+0000059083 00000 n
+0000489545 00000 n
+0000001848 00000 n
+0000001976 00000 n
+0000059144 00000 n
+0000489458 00000 n
+0000002027 00000 n
+0000002160 00000 n
+0000059205 00000 n
+0000489384 00000 n
+0000002211 00000 n
+0000002354 00000 n
+0000063159 00000 n
+0000489259 00000 n
+0000002402 00000 n
+0000002542 00000 n
+0000063220 00000 n
+0000489185 00000 n
+0000002593 00000 n
+0000002698 00000 n
+0000063281 00000 n
+0000489111 00000 n
+0000002749 00000 n
+0000002859 00000 n
+0000063342 00000 n
+0000488986 00000 n
+0000002907 00000 n
+0000003047 00000 n
+0000063403 00000 n
+0000488925 00000 n
+0000003098 00000 n
+0000003241 00000 n
+0000067488 00000 n
+0000488800 00000 n
+0000003289 00000 n
+0000003429 00000 n
+0000067549 00000 n
+0000488726 00000 n
+0000003480 00000 n
+0000003562 00000 n
+0000068415 00000 n
+0000488652 00000 n
+0000003613 00000 n
+0000003728 00000 n
+0000068971 00000 n
+0000488525 00000 n
+0000003776 00000 n
+0000004043 00000 n
+0000073611 00000 n
+0000488450 00000 n
+0000004094 00000 n
+0000004199 00000 n
+0000073672 00000 n
+0000488373 00000 n
+0000004251 00000 n
+0000004362 00000 n
+0000074230 00000 n
+0000488242 00000 n
+0000004411 00000 n
+0000004689 00000 n
+0000074292 00000 n
+0000488163 00000 n
+0000004741 00000 n
+0000004882 00000 n
+0000078919 00000 n
+0000488045 00000 n
+0000004934 00000 n
+0000005045 00000 n
+0000079288 00000 n
+0000487966 00000 n
+0000005100 00000 n
+0000005219 00000 n
+0000085000 00000 n
+0000487873 00000 n
+0000005274 00000 n
+0000005398 00000 n
+0000086299 00000 n
+0000487794 00000 n
+0000005453 00000 n
+0000005612 00000 n
+0000092867 00000 n
+0000487662 00000 n
+0000005661 00000 n
+0000005973 00000 n
+0000096859 00000 n
+0000487583 00000 n
+0000006025 00000 n
+0000006131 00000 n
+0000096921 00000 n
+0000487490 00000 n
+0000006183 00000 n
+0000006294 00000 n
+0000106081 00000 n
+0000487411 00000 n
+0000006346 00000 n
+0000006434 00000 n
+0000106143 00000 n
+0000487279 00000 n
+0000006483 00000 n
+0000006800 00000 n
+0000106205 00000 n
+0000487200 00000 n
+0000006852 00000 n
+0000007052 00000 n
+0000110346 00000 n
+0000487121 00000 n
+0000007104 00000 n
+0000007258 00000 n
+0000110408 00000 n
+0000486989 00000 n
+0000007307 00000 n
+0000007649 00000 n
+0000110470 00000 n
+0000486924 00000 n
+0000007701 00000 n
+0000007880 00000 n
+0000112516 00000 n
+0000486806 00000 n
+0000007929 00000 n
+0000008281 00000 n
+0000112578 00000 n
+0000486741 00000 n
+0000008333 00000 n
+0000008497 00000 n
+0000012970 00000 n
+0000000176 00000 f
+0000013301 00000 n
+0000000178 00000 f
+0000013453 00000 n
+0000000180 00000 f
+0000013608 00000 n
+0000000182 00000 f
+0000013760 00000 n
+0000000184 00000 f
+0000013915 00000 n
+0000000186 00000 f
+0000014070 00000 n
+0000000188 00000 f
+0000014220 00000 n
+0000000190 00000 f
+0000014375 00000 n
+0000000192 00000 f
+0000014531 00000 n
+0000000194 00000 f
+0000014687 00000 n
+0000000196 00000 f
+0000014843 00000 n
+0000000198 00000 f
+0000014997 00000 n
+0000000200 00000 f
+0000015154 00000 n
+0000000202 00000 f
+0000015310 00000 n
+0000000204 00000 f
+0000015467 00000 n
+0000000206 00000 f
+0000015621 00000 n
+0000000208 00000 f
+0000015778 00000 n
+0000000210 00000 f
+0000015935 00000 n
+0000000212 00000 f
+0000016089 00000 n
+0000000214 00000 f
+0000016246 00000 n
+0000000216 00000 f
+0000016399 00000 n
+0000000218 00000 f
+0000016556 00000 n
+0000000220 00000 f
+0000016712 00000 n
+0000000222 00000 f
+0000016864 00000 n
+0000000224 00000 f
+0000017019 00000 n
+0000000226 00000 f
+0000023270 00000 n
+0000000228 00000 f
+0000023423 00000 n
+0000000230 00000 f
+0000023580 00000 n
+0000000232 00000 f
+0000023737 00000 n
+0000000245 00000 f
+0000017298 00000 n
+0000008547 00000 n
+0000017174 00000 n
+0000017236 00000 n
+0000471888 00000 n
+0000470774 00000 n
+0000467435 00000 n
+0000469660 00000 n
+0000480820 00000 n
+0000468549 00000 n
+0000486143 00000 n
+0000023897 00000 n
+0000000247 00000 f
+0000024056 00000 n
+0000000249 00000 f
+0000024216 00000 n
+0000000251 00000 f
+0000024370 00000 n
+0000000253 00000 f
+0000024527 00000 n
+0000000255 00000 f
+0000024684 00000 n
+0000000257 00000 f
+0000024840 00000 n
+0000000259 00000 f
+0000024994 00000 n
+0000000261 00000 f
+0000025151 00000 n
+0000000263 00000 f
+0000025308 00000 n
+0000000265 00000 f
+0000025462 00000 n
+0000000267 00000 f
+0000025618 00000 n
+0000000000 00000 f
+0000025926 00000 n
+0000026326 00000 n
+0000022995 00000 n
+0000017487 00000 n
+0000026083 00000 n
+0000025772 00000 n
+0000474116 00000 n
+0000473002 00000 n
+0000479703 00000 n
+0000476350 00000 n
+0000475233 00000 n
+0000030781 00000 n
+0000030539 00000 n
+0000026530 00000 n
+0000030658 00000 n
+0000484006 00000 n
+0000482764 00000 n
+0000035526 00000 n
+0000035162 00000 n
+0000030985 00000 n
+0000035281 00000 n
+0000477466 00000 n
+0000040608 00000 n
+0000039871 00000 n
+0000035744 00000 n
+0000039990 00000 n
+0000040052 00000 n
+0000040114 00000 n
+0000040176 00000 n
+0000485953 00000 n
+0000040238 00000 n
+0000040300 00000 n
+0000040362 00000 n
+0000040424 00000 n
+0000040486 00000 n
+0000044683 00000 n
+0000043885 00000 n
+0000040852 00000 n
+0000044004 00000 n
+0000044066 00000 n
+0000044128 00000 n
+0000044190 00000 n
+0000044252 00000 n
+0000044314 00000 n
+0000044375 00000 n
+0000044437 00000 n
+0000044499 00000 n
+0000050260 00000 n
+0000047234 00000 n
+0000044913 00000 n
+0000047353 00000 n
+0000047415 00000 n
+0000047477 00000 n
+0000047539 00000 n
+0000047601 00000 n
+0000047663 00000 n
+0000047725 00000 n
+0000047787 00000 n
+0000047849 00000 n
+0000047910 00000 n
+0000047972 00000 n
+0000048033 00000 n
+0000048095 00000 n
+0000048156 00000 n
+0000048218 00000 n
+0000048280 00000 n
+0000048342 00000 n
+0000048404 00000 n
+0000048466 00000 n
+0000048528 00000 n
+0000048590 00000 n
+0000048652 00000 n
+0000048714 00000 n
+0000048776 00000 n
+0000048838 00000 n
+0000048900 00000 n
+0000048961 00000 n
+0000049023 00000 n
+0000049085 00000 n
+0000049147 00000 n
+0000049208 00000 n
+0000049270 00000 n
+0000049331 00000 n
+0000049393 00000 n
+0000049455 00000 n
+0000049517 00000 n
+0000049579 00000 n
+0000049641 00000 n
+0000049703 00000 n
+0000049765 00000 n
+0000049827 00000 n
+0000049889 00000 n
+0000049951 00000 n
+0000050013 00000 n
+0000050074 00000 n
+0000050136 00000 n
+0000050198 00000 n
+0000486260 00000 n
+0000054903 00000 n
+0000052186 00000 n
+0000050450 00000 n
+0000052305 00000 n
+0000052367 00000 n
+0000052429 00000 n
+0000052491 00000 n
+0000052553 00000 n
+0000052615 00000 n
+0000052677 00000 n
+0000052739 00000 n
+0000052801 00000 n
+0000052863 00000 n
+0000052925 00000 n
+0000052987 00000 n
+0000053049 00000 n
+0000053111 00000 n
+0000053173 00000 n
+0000053235 00000 n
+0000053297 00000 n
+0000053359 00000 n
+0000053421 00000 n
+0000053483 00000 n
+0000053545 00000 n
+0000053607 00000 n
+0000053669 00000 n
+0000053731 00000 n
+0000053791 00000 n
+0000053853 00000 n
+0000053914 00000 n
+0000053976 00000 n
+0000054038 00000 n
+0000054100 00000 n
+0000054161 00000 n
+0000054223 00000 n
+0000054285 00000 n
+0000054347 00000 n
+0000054409 00000 n
+0000054470 00000 n
+0000054532 00000 n
+0000054594 00000 n
+0000054656 00000 n
+0000054718 00000 n
+0000054779 00000 n
+0000054841 00000 n
+0000059266 00000 n
+0000058161 00000 n
+0000055080 00000 n
+0000058280 00000 n
+0000058342 00000 n
+0000058404 00000 n
+0000058466 00000 n
+0000058528 00000 n
+0000058590 00000 n
+0000058652 00000 n
+0000058714 00000 n
+0000058776 00000 n
+0000058838 00000 n
+0000058899 00000 n
+0000058961 00000 n
+0000484978 00000 n
+0000063464 00000 n
+0000062978 00000 n
+0000059471 00000 n
+0000063097 00000 n
+0000069032 00000 n
+0000067307 00000 n
+0000063654 00000 n
+0000067426 00000 n
+0000478582 00000 n
+0000067610 00000 n
+0000067672 00000 n
+0000067734 00000 n
+0000067796 00000 n
+0000067858 00000 n
+0000067920 00000 n
+0000067982 00000 n
+0000068044 00000 n
+0000068106 00000 n
+0000068168 00000 n
+0000068230 00000 n
+0000068292 00000 n
+0000068353 00000 n
+0000068476 00000 n
+0000068538 00000 n
+0000068600 00000 n
+0000068661 00000 n
+0000068723 00000 n
+0000068785 00000 n
+0000068847 00000 n
+0000068909 00000 n
+0000073235 00000 n
+0000073392 00000 n
+0000074354 00000 n
+0000073088 00000 n
+0000069303 00000 n
+0000073549 00000 n
+0000073734 00000 n
+0000073796 00000 n
+0000073858 00000 n
+0000073920 00000 n
+0000073982 00000 n
+0000074044 00000 n
+0000074106 00000 n
+0000074168 00000 n
+0000078386 00000 n
+0000078543 00000 n
+0000080216 00000 n
+0000078231 00000 n
+0000074571 00000 n
+0000078857 00000 n
+0000078981 00000 n
+0000079041 00000 n
+0000079103 00000 n
+0000079165 00000 n
+0000079226 00000 n
+0000078700 00000 n
+0000079350 00000 n
+0000079411 00000 n
+0000079472 00000 n
+0000079534 00000 n
+0000079596 00000 n
+0000079658 00000 n
+0000079720 00000 n
+0000079782 00000 n
+0000079844 00000 n
+0000079906 00000 n
+0000079968 00000 n
+0000080030 00000 n
+0000080092 00000 n
+0000080154 00000 n
+0000486377 00000 n
+0000083988 00000 n
+0000084302 00000 n
+0000084459 00000 n
+0000084619 00000 n
+0000086361 00000 n
+0000083809 00000 n
+0000080447 00000 n
+0000084938 00000 n
+0000084145 00000 n
+0000084779 00000 n
+0000481697 00000 n
+0000085062 00000 n
+0000085124 00000 n
+0000085186 00000 n
+0000085247 00000 n
+0000085309 00000 n
+0000085370 00000 n
+0000085432 00000 n
+0000085493 00000 n
+0000085555 00000 n
+0000085617 00000 n
+0000085679 00000 n
+0000085741 00000 n
+0000085803 00000 n
+0000085865 00000 n
+0000085927 00000 n
+0000085989 00000 n
+0000086051 00000 n
+0000086113 00000 n
+0000086175 00000 n
+0000086237 00000 n
+0000090805 00000 n
+0000090964 00000 n
+0000091281 00000 n
+0000091438 00000 n
+0000091752 00000 n
+0000091908 00000 n
+0000092929 00000 n
+0000090610 00000 n
+0000086564 00000 n
+0000092064 00000 n
+0000092126 00000 n
+0000092188 00000 n
+0000092250 00000 n
+0000092311 00000 n
+0000092373 00000 n
+0000092434 00000 n
+0000092496 00000 n
+0000092557 00000 n
+0000092619 00000 n
+0000092681 00000 n
+0000092743 00000 n
+0000092805 00000 n
+0000091123 00000 n
+0000091595 00000 n
+0000096983 00000 n
+0000096678 00000 n
+0000093132 00000 n
+0000096797 00000 n
+0000101512 00000 n
+0000101331 00000 n
+0000097200 00000 n
+0000101450 00000 n
+0000106267 00000 n
+0000105776 00000 n
+0000101701 00000 n
+0000105895 00000 n
+0000105957 00000 n
+0000106019 00000 n
+0000110531 00000 n
+0000110165 00000 n
+0000106471 00000 n
+0000110284 00000 n
+0000486494 00000 n
+0000112640 00000 n
+0000112335 00000 n
+0000110734 00000 n
+0000112454 00000 n
+0000466194 00000 n
+0000112910 00000 n
+0000465634 00000 n
+0000112935 00000 n
+0000466411 00000 n
+0000113182 00000 n
+0000113327 00000 n
+0000113350 00000 n
+0000466259 00000 n
+0000113589 00000 n
+0000466348 00000 n
+0000113620 00000 n
+0000113645 00000 n
+0000114198 00000 n
+0000114743 00000 n
+0000115596 00000 n
+0000115621 00000 n
+0000116074 00000 n
+0000116519 00000 n
+0000116882 00000 n
+0000117418 00000 n
+0000117731 00000 n
+0000118305 00000 n
+0000118804 00000 n
+0000140310 00000 n
+0000140553 00000 n
+0000162088 00000 n
+0000162353 00000 n
+0000164864 00000 n
+0000165108 00000 n
+0000194067 00000 n
+0000194418 00000 n
+0000227993 00000 n
+0000228519 00000 n
+0000253934 00000 n
+0000254248 00000 n
+0000268797 00000 n
+0000269029 00000 n
+0000288004 00000 n
+0000288320 00000 n
+0000312616 00000 n
+0000312963 00000 n
+0000338835 00000 n
+0000339207 00000 n
+0000341786 00000 n
+0000342054 00000 n
+0000367952 00000 n
+0000368240 00000 n
+0000401954 00000 n
+0000402248 00000 n
+0000435155 00000 n
+0000435779 00000 n
+0000465262 00000 n
+0000466510 00000 n
+0000467624 00000 n
+0000468738 00000 n
+0000469852 00000 n
+0000470966 00000 n
+0000472080 00000 n
+0000473192 00000 n
+0000474307 00000 n
+0000475424 00000 n
+0000476541 00000 n
+0000477656 00000 n
+0000478779 00000 n
+0000479894 00000 n
+0000481016 00000 n
+0000481893 00000 n
+0000482963 00000 n
+0000484197 00000 n
+0000485171 00000 n
+0000486579 00000 n
+0000486665 00000 n
+0000490631 00000 n
+0000490811 00000 n
+0000490989 00000 n
+0000491167 00000 n
+0000491340 00000 n
+0000491510 00000 n
+0000491692 00000 n
+0000491915 00000 n
+0000492138 00000 n
+0000492354 00000 n
+0000492571 00000 n
+0000492789 00000 n
+0000493005 00000 n
+0000493222 00000 n
+0000493440 00000 n
+0000493658 00000 n
+0000493875 00000 n
+0000494093 00000 n
+0000494310 00000 n
+0000494527 00000 n
+0000494745 00000 n
+0000494962 00000 n
+0000495180 00000 n
+0000495398 00000 n
+0000495609 00000 n
+0000495819 00000 n
+0000496029 00000 n
+0000496239 00000 n
+0000496449 00000 n
+0000496659 00000 n
+0000496869 00000 n
+0000497079 00000 n
+0000497288 00000 n
+0000497486 00000 n
+0000497656 00000 n
+0000497825 00000 n
+0000497987 00000 n
+0000498171 00000 n
+0000498372 00000 n
+0000498577 00000 n
+0000498795 00000 n
+0000499017 00000 n
+0000499240 00000 n
+0000499463 00000 n
+0000499573 00000 n
+0000499690 00000 n
+0000499812 00000 n
+0000499933 00000 n
+0000500053 00000 n
+0000500172 00000 n
+0000500285 00000 n
+0000500399 00000 n
+0000500492 00000 n
+0000500602 00000 n
+0000500688 00000 n
+0000500777 00000 n
+0000500815 00000 n
+0000500943 00000 n
+trailer
+<< /Size 707
+/Root 705 0 R
+/Info 706 0 R
+/ID [<1A61B82F14871264005A8AB2A6063E9A> <1A61B82F14871264005A8AB2A6063E9A>] >>
+startxref
+501217
+%%EOF
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
new file mode 100644
index 0000000000..99d765b04a
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -0,0 +1,1125 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation (this file)
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+
+\documentclass[dctools,english]{ufrgscca} % tcbundle tcpack tcmain
+\usepackage{democodetools}
+\usepackage{ufrgscca-curr}
+
+\maxdeadcycles=500 %%the many marginpar statements are actually a pain.
+\newif\iffulldoc
+
+\fulldoctrue
+
+\iffulldoc
+ \dcTitle{The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion \\(extended documentation)}
+\else
+ \dcTitle{The ufrgscca, and associated, Packages\\ Version \ufrgsccaversion}
+\fi
+
+\dcAuthor{Alceu Frigeri}
+\dcDate{September 2022}
+\makeatletter
+
+
+\begin{document}
+
+ \dcMakeTitle
+
+
+ \begin{dcAbstract}
+ This bundled is aimed at producing undergraduate students final work/report at UFRGS/EE (Engineering School at the Federal University of Rio Grande do Sul), closely following ABNT rules (Brazilian Association for Technical Norms). It is composed of a main class, \Pack{ufrgscca}, and a set of auxiliary packages, some of which can be used independently.
+
+ \end{dcAbstract}
+
+\tableofcontents
+
+ \section{Introduction}
+ \emph{ABNT} rules can be quite challenging some times (read: bibliography style/references) and sometimes just odd (line spacing, front matter, page layout), nevertheless it is a \emph{Brazilian Standard} for typography whose students at UFRGS should grow cherished to follow.
+
+ In short, as of version \ufrgsccaversion\space the bundle is composed of a class, \Pack{ufrgscca} (based on the standard \LaTeX2e \Pack{report} class), which pre-loads all other, as needed, packages: \Packlst{ufrgscca-abnt, ufrgscca-core, ufrgscca-cover, ufrgscca-forms, ufrgscca-gen, ufrgscca-lists, ufrgscca-curr, ufrgscca-coord, ufrgscca-ppc}.
+
+ N.B.: This bundle requires a quite recent \LaTeX2e kernel, at least as recent as June 2022, which allows to declare package options using the new \Key{key}~=\Key{value} system and declare commands with \Macro{\NewDocumentCommand}{}, out-of-the-box.
+
+\subsection{Current Version}
+For the sake of the 'maintainers' sanity, since this is a bundle, all files are saved with the same version (bundle version), with two exceptions: \Pack{ufrgscca-curr.sty} \Pack{ufrgscca-ppc.sty} which are less tested than the others, and somewhat in what one would call 'beta' state. Better said, all files are version \ufrgsccaversion, except \Pack{ufrgscca-curr} and \Pack{ufrgscca-ppc} whose versions are \ufrgsccacurrversion.
+
+\section{\tightul{ufrgscca} Class}
+
+The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily etex, etoolbox, lmodern, fontenc (T1), inputenc (utf8), silence, ufrgscca-abnt, ufrgscca-gen, ufrgscca-cover, ufrgscca-core, hyperref} and (if it exists) a \emph{local.tex} file.
+
+Other set of auxiliary packages are also pre-loaded, depending on the class options used, and finally it loads (normally) the \Pack{report} class (the exception being if one uses the \Option{dctools} option).
+
+Being based on the report class, one can use all class options one would with a report, plus the ones listed below.
+\subsection{Class Options}
+\begin{Options}
+ \DescribeOption{tocdepth} use: \KeyUse{tocdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 3 (\Macro{\subsubsection}{}).
+ \DescribeOption{secdepth} use: \KeyUse{secdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 4 (\Macro{\paragraph}{}).
+ \DescribeOption{english} the default language being Portuguese, this option changes locale to English.
+ \DescribeOption{brazilian} in some rare cases (to be further investigated) babel seems to get confused about which language is active, this “shouldn't be necessary” but one can explicitly tell babel to use THIS language (which should, otherwise, be the default one).
+ \DescribeOption{relnum} by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23.
+ \DescribeOption{openright} in case of printed material, this will assure that a \Macro{\chapter}{} always starts at an odd page, which is relevant in case of printing out (double sided) the document.
+ \DescribeOption{oneside} in case the document will be printed in single side sheets, otherwise it's assumed a two-sided printing.
+ \DescribeOption{strict-abnt} to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width).
+ \DescribeOption{repeatfields} in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries.
+ \DescribeOption{xlists} this will load the ufrgscca-lists package, for the definition of new floats/lists.
+ \DescribeOption{xpacks} this will load a series of packages, which can be handy when writing Engineering reports: {\MetaFmt[Pack]\sffamily relsize, keyval, graphicx, mathtools, mathrsfs, amsfonts, amssymb, empheq, amsthm, ext\-arrows, mathfixs, bigdelim, circuitikz, steimenz} and tikz libraries: {\MetaFmt[Pack]\sffamily fit, math, calc, shapes.geometry, shapes.misc, shapes.multipart, graphs, 3d, positioning, shadows, babel}. One is advised to look after each package documentation (ctan.org) for further information.
+ \DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).
+ \DescribeOption{internship} in case the doc is an internship report.
+ \DescribeOption{forms} in the process of submitting a student final work/report, there is a series of forms to be submitted, this allows the customization of said forms in a simple way.
+ \DescribeOption{chapternopagenum} to suppress the page numbers at chapters begin.
+ \DescribeOption{nomicrotype} in some rare cases, \Pack{microtype} might hurt page layout, this allows the suppression of \Pack{microtype}.
+ \DescribeOption{showframes} for layout proof only, it will draw frames around each page main parts.
+ \DescribeOption{showlabels} it will put a reference mark in each label created, and print out it's name.
+ \DescribeOption{nofontwarning} in case of \Pack{ufrgscca-ppc} is loaded, it will suppress some font related warnings.
+ \DescribeOption{dctools} this will change page layout and base class to article, it is meant to document the class itself.
+ \DescribeOption{texlive} this is a reserved key, in case some workaround for texlive is needed.
+ \DescribeOption{overleaf} this is a reserved key, in case some workaround for overleaf is needed.
+ \DescribeOption{miktex} this is a reserved key, in case some workaround for miktex is needed.
+\end{Options}
+
+\subsection{Class Declared Commands}
+\begin{Macros}{\autonameref,\annexref,\autoannexref}
+ \begin{Syntax}%
+ \Macro!{\autonameref}{\oarg{sep}\marg{label}\oarg{spc}}
+ \Macro{\annexref}{label}
+ \Macro!{\autoannexref}{\oarg{sep}\marg{label}\oarg{spc}}
+ \end{Syntax}
+The \Pack{hyperref} package, sometimes, gets the \Macro{\autoref}{} name wrong (when referencing an annex), therefore the \Macro{\annexref}{label} will assure the correct annex name is used.
+
+\Macro{\autonameref}{label} produces an entry of the form `\Macro{\autoref}{label} \Arg{sep} \Macro{\nameref}{label} \Arg{spc}'
+
+\Macro{\autoannexref}{label} produces an entry of the form `\Macro{\annexref}{label} \Arg{sep} \Macro{\nameref}{label} \Arg{spc}'
+
+The default \Arg{sep} being a comma, and the default \Arg{spc} being empty space.
+
+\end{Macros}
+\section{\tightul{ufrgscca-abnt} Package}
+This package is the one that sets the page layout (using \Packlst{geometry, titlesec, titletoc}) and adjusts the main float environments (figure, tables, captions).
+It can be used as a stand alone package, regardless of the underlying class.
+
+The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily babel, csquotes, geometry, appendix, titlesec, titletoc, enumitem, chngctr, caption, biblatex, microtype, array, nicematrix, contour} and {\MetaFmt[Pack]\sffamily soul}.
+
+Take note that \Pack{biblatex} is loaded with the \textbf{\Option{biber}} option, to correctly handle ABNT biography style.
+
+\subsection{Package Options}
+\begin{Options}
+ \DescribeOption{strict-abnt} to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width).
+ \DescribeOption{chapternopagenum} to suppress the page numbers at chapters begin.
+ \DescribeOption{relnum} by default, figures, tables, etc. are numbered as a continuous series. With this switch, those lists are reset at each chapter, e.g. Figure 5.1 instead of Figure 23.
+ \DescribeOption{repeatfields} in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries.
+ \DescribeOption{nomicrotype} in some rare cases, \Pack{microtype} might hurt page layout, this allows the suppression of \Pack{microtype}.
+ \DescribeOption{showframes} for layout proof only, it will draw frames around each page main parts.
+ \DescribeOption{showlabels} it will put a reference mark in each label created, and print out it's name.
+ \DescribeOption{tocdepth} use: \KeyUse{tocdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to appears in the Table of Contents (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 3 (\Macro{\subsubsection}{}).
+ \DescribeOption{secdepth} use: \KeyUse{secdepth}{number}, whereas \Meta{number} indicates the deepest sectioning to be numbered. (0 being the top section, which is \Macro{\chapter}{} for report based classes, 1 being \Macro{\section}{}, and so on.) The default value being 4 (\Macro{\paragraph}{}).
+ \DescribeOption{dctools} this will change page layout and base class to article, it is meant to document the class itself.
+\end{Options}
+
+\begin{Macros}{\keyword}
+ \begin{Syntax}%
+ \Macro{\keyword}{keyword}
+ \end{Syntax}
+\end{Macros}
+ This command can be invoked many times, it will construct a list of keywords to be used when printing out the abstract environment.
+
+\begin{Macros}{\sourcecitation,\note}
+ \begin{Syntax}%
+ \Macro{\sourcecitation}{source}
+ \Macro{\note}{text}
+ \end{Syntax}
+\end{Macros}
+When describing floating elements (like figure, tables, circuits) one always has to cite the source of it, and in some cases it might be necessary to add a special note. Those assure uniformity when doing that.
+
+\begin{Macros}{\nonum,\notoc}
+ \begin{Syntax}%
+ \Macro!{\nonum}{\Macro{\chapter}{chap.title}}
+ \Macro!{\nonum}{\Macro{\section}{sec.title}}
+ \Macro!{\notoc}{\Macro{\chapter}{chap.title}}
+ \Macro!{\notoc}{\Macro{\section}{sec.title}}
+ \end{Syntax}
+\end{Macros}
+In some cases, it might be necessary to create a numberless chapters or sections. Those two commands can be used as a \emph{prefix} to any sectioning command. Whilst \Macro{\nonum}{} will just suppress the sectioning number, the \Macro{\notoc}{} will also suppress it from the table of contents.
+
+\begin{stcode}[st=demononum]
+ \nonum\chapter{some title} %this one will appear in the toc
+ \notoc\section{some other title} %this won't even appear in the toc
+\end{stcode}
+\DisplayCode[emph={nonum,notoc}]{demononum}
+
+\begin{Macros}{\tightul}
+ \begin{Syntax}%
+ \Macro{\tightul}{text}
+ \end{Syntax}
+\end{Macros}
+This will \emph{underline} a short text, take note that \Meta{text} `can't be broken' (think paragraph justification), which can lead to \emph{text overflows} and bad justification.
+
+\begin{stcode}[st=demotight]
+ \tightul{Some text example}%
+\end{stcode}
+
+\TabbedDemoCode[emph={tightul}]{demotight}[-0.75ex]
+
+\begin{Macros}{\NewChapListEnv}
+ \begin{Syntax}%
+ \Macro{\NewChapListEnv}{envname,displayname}
+ \end{Syntax}
+\end{Macros}
+This is the command used to created those \emph{chapter like} lists, like `List of Symbols' or `List of acronyms'. With it, a new environment is created, \Arg{envname}, with an associated `numberless' chapter name \Arg{displayname}. The newly created environment will implement a \emph{description} like environment (thanks to \Pack{enumitem}) with an optional and a mandatory argument (see below).
+
+\begin{stcode}[st=d.newchapenv]
+ \def\listabbrvname{Lista de Abreviaturas}
+ \NewChapListEnv{listofabbrv}{\listabbrvname} % this is the actual code used in ufrgscca-abnt.sty
+\end{stcode}
+\DisplayCode{d.newchapenv}
+
+\begin{Macros}{\date,\today,\monthname}
+ \begin{Syntax}%
+ \Macro{\date}[day]{month,year}
+ \Macro{\today}{}
+ \Macro{\monthname}{}
+ \end{Syntax}
+\end{Macros}
+The command \Macro{\date}{} is redefined, to allow a separation between the many arguments \Arg{day}, \Arg{month} and \Arg{year}. If not called by the user it \emph{defaults} to current month / year. \Macro{\today}{} returns the current \emph{locale} date, whilst \Macro{\monthname}{} returns the \emph{locale} name of the current month.
+
+
+\subsection{Environments}
+
+\begin{Envs}{abstract}
+ \begin{Syntax}%
+ \Macro{\begin{abstract}}[lang]{keywords}\ldots\Macro{\end{abstract}}{}
+ \end{Syntax}
+ The standard environment \Env{abstract} is redefined as a numberless chapter based on the current locale (default: Portuguese), at the end of it the keywords list created with \Macro{\keyword}{} will be added.
+\end{Envs}
+
+\begin{stcode}[st=d.abstract]
+ \keyword{a keyword}
+ \keyword{another keyword}
+ \begin{abstract} some short summary of things\ldots
+ \end{abstract}
+\end{stcode}
+\DisplayCode{d.abstract}
+
+\begin{Envs}{otherabstract}
+ \begin{Syntax}%
+ \Macro{\begin{otherabstract}}[lang]{keywords}\ldots\Macro{\end{otherabstract}}{}
+ \end{Syntax}
+This is the environment to create an abstract in a language other than the default one.
+The default value for \Arg{lang} is english, and it can be any value that \Pack{babel} understands. The \Arg{keywords} are just a list of keywords which will be added at the end of the \emph{otherabstract}.
+\end{Envs}
+
+\begin{stcode}[st=d.oabstract]
+ \begin{otherabstract}[english]{a keyword, another keyword} some short summary of things\ldots
+ \end{otherabstract}
+\end{stcode}
+\DisplayCode{d.oabstract}
+
+
+\begin{Envs}{listofabbrv,listofsymbols}
+ \begin{Syntax}%
+ \Macro{\begin{listofabbrv}}[enum-opt]{ABBRV}\ldots\Macro{\end{listofabbrv}}{}
+ \Macro{\begin{listofsymbols}}[enum-opt]{SYMB}\ldots\Macro{\end{listofsymbols}}{}
+ \end{Syntax}
+\end{Envs}
+Both environments create a description like list preceded by a numberless (\Macro{\nonum}{}) chapter. \Arg{enum-opt} is any \Pack{enumitem} list valid key. Whereas \Arg{ABBRV} / \Arg{SYMB} are just the `biggest' abbreviation/symbol to be used as a tab reference.
+
+\begin{Envs}{appendix,annex}
+ \begin{Syntax}%
+ \Macro{\begin{appendix}}{}.... \Macro{\end{appendix}}{}
+ \Macro{\begin{annex}}{}.... \Macro{\end{annex}}{}
+ \end{Syntax}
+\end{Envs}
+Those two environments start the appendices and annex chapters (using locale). Chapters are alphabetic \emph{numbered} (starting at A).
+\subsection{Tabular New Columns}
+Thanks to \Pack{array} some new columns types are defined:
+\begin{Values}
+ \DescribeValue{P} \Value{P\marg{width}} Normal text, ragged left.
+ \DescribeValue{B} \Value{B\marg{width}} Bold text, ragged left.
+ \DescribeValue{C} \Value{C\marg{width}} Normal text, centered.
+ \DescribeValue{R} \Value{R\marg{width}} Normal text, ragged left.
+ \DescribeValue{L} \Value{L\marg{width}} Normal text, ragged right.
+ \DescribeValue{J} \Value{J\marg{width}} Normal text, justified.
+
+ \end{Values}
+\subsection{enumitem Extra Keys}
+Besides the \emph{default} keys defined by the \Pack{enumitem} package a few others are defined for author's convenience:
+\begin{Keys}
+ \DescribeKey{ppc, tcc} \Key{ppc} and \Key{tcc} are alias of each other, and just assure that lists indentation will be the same as paragraphs default.
+ \DescribeKey{parindent} with \Key{parindent}, the list number/mark is aligned with paragraph indentation.
+ \DescribeKey{noindent} \Key{noindent} removes the label indentation.
+
+ \begin{stcode}[st=enumA]
+\begin{enumerate}[tcc]
+ \item some A
+ \item some B
+\end{enumerate}
+\begin{enumerate}[tcc,parindent]
+ \item some A
+ \item some B
+\end{enumerate}
+\begin{enumerate}[parindent]
+ \item some A
+ \item some B
+\end{enumerate}
+\begin{enumerate}[noindent]
+ \item some A
+ \item some B
+\end{enumerate}
+
+New paragraph, for reference.
+\end{stcode}
+
+ \TabbedDemoCode[parindent=org]{enumA}
+
+ \DescribeKey{tight} allows for very tight lists (no indentation) to be used, for instance, inside quotes. N.B. don't use it in normal paragraph mode, otherwise the labels will spill outside the default text window.
+ \DescribeKey{miditemsep} \Key{miditemsep} halves items separation, as an alternative to \Key{noitemsep} from \Pack{enumitem}
+ \begin{stcode}[st=enumB]
+ \begin{enumerate}[tcc]
+ \item some A
+ \item some B
+ \end{enumerate}
+ \begin{enumerate}[tcc,miditemsep]
+ \item some A
+ \item some B
+ \end{enumerate}
+ \begin{enumerate}[tcc,noitemsep]
+ \item some A
+ \item some B
+ \end{enumerate}
+\end{stcode}
+
+\TabbedDemoCode{enumB}
+
+
+ \DescribeKey{arabic} That's the \emph{default} enumerate style. Arabic numbers, starting at 1, followed by a dot.
+ \DescribeKey{arabic)} Label will be constructed as number followed by a parenthesis.
+ \DescribeKey{(arabic)} Label will be enclosed by parenthesis.
+ \DescribeKey{arabic*} (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final dot.
+ \DescribeKey{arabic*)} (for secondary lists) Label will be constructed by the label of the outer list, this item number and a final parenthesis.
+
+ \DescribeKey{roman} This and below keys are the same as the arabic ones, but using lower case roman numbers.
+ \DescribeKey{roman)} lower case roman number, followed by a parenthesis.
+ \DescribeKey{(roman)} enclosed by parenthesis.
+ \DescribeKey{roman*} preceding one followed by roman number and a final dot.
+ \DescribeKey{roman*)} same, followed by a final parenthesis.
+
+ \DescribeKey{Roman} This and below keys are the same as the arabic ones, but using upper case roman numbers.
+ \DescribeKey{Roman)} upper case roman number, followed by a parenthesis.
+ \DescribeKey{(Roman)} enclosed by parenthesis.
+ \DescribeKey{Roman*} preceding one followed by roman number and a final dot.
+ \DescribeKey{Roman*)} same, followed by a final parenthesis.
+
+ \DescribeKey{alpha} This and below keys are the same as the arabic ones, but using lower case alpha numbers.
+ \DescribeKey{alpha)} lower case alpha number, followed by a parenthesis.
+ \DescribeKey{(alpha)} enclosed by parenthesis.
+ \DescribeKey{alpha*} preceding one followed by alpha number and a final dot.
+ \DescribeKey{alpha*)} same, followed by a final parenthesis.
+
+ \DescribeKey{Alpha} This and below keys are the same as the arabic ones, but using upper case alpha numbers.
+ \DescribeKey{Alpha)} upper case roman number, followed by a parenthesis.
+ \DescribeKey{(Alpha)} enclosed by parenthesis.
+ \DescribeKey{Alpha*} preceding one followed by roman number and a final dot.
+ \DescribeKey{Alpha*)} same, followed by a final parenthesis.
+ \begin{stcode}[st=enumC]
+ \begin{enumerate}[tcc,roman]
+ \item some A
+ \item some B
+ \item some C
+ \end{enumerate}
+ \begin{enumerate}[tcc,Roman]
+ \item some A
+ \item some B
+ \begin{enumerate}[tcc,alpha*]
+ \item some A
+ \item some B
+ \item some C
+ \end{enumerate}
+ \item some C
+ \end{enumerate}
+ \begin{enumerate}[tcc,arabic]
+ \item some A
+ \item some B
+ \begin{enumerate}[tcc,roman*)]
+ \item some A
+ \item some B
+ \item some C
+ \end{enumerate}
+ \item some C
+ \end{enumerate}
+\end{stcode}
+
+\TabbedDemoCode{enumC}
+
+ \DescribeKey{bullet} for simple itemized lists, it will replace the default black dot by an `open bullet'
+ \begin{stcode}[st=enumD]
+ \begin{itemize}[tcc,miditemsep]
+ \item some A
+ \item some B
+ \item some C
+ \end{itemize}
+ \begin{itemize}[tcc,bullet,miditemsep]
+ \item some A
+ \item some B
+ \item some C
+ \end{itemize}
+\end{stcode}
+
+\TabbedDemoCode{enumD}
+
+
+\end{Keys}
+
+\section{\tightul{ufrgscca-core} Package}
+The \Pack{ufrgscca-core} package defines a set of commands for authors, students, advisors and examiners names and related info. It is needed by most/all of the tc bundled packages.
+
+\subsection{Core Forms Commands}
+\begin{Macros}{\tccbrief,\tcccoadvisorbrief,\tccadvisorsreview}
+ \begin{Syntax}%
+ \Macro{\tccbrief}{brief}
+ \Macro{\tcccoadvisorbrief}{brief}
+ \Macro{\tccadvisorsreview}{brief}
+ \end{Syntax}
+Those commands are only of use when using \Pack{ufrgscca-forms}. \Macro{\tccbrief}{} sets the work initial summary, \Macro{\tcccoadvisorbrief}{} sets the justification for having a co-advisor, \Macro{\tccadvisorsreview}{} sets the advisor's review.
+\end{Macros}
+
+\subsection{Core Global Commands}\label{core-commands}
+
+\begin{Macros}{\location}
+ \begin{Syntax}%
+ \Macro{\location}{city,state}
+ \end{Syntax}
+ To redefine the default values of \Arg{city} and \Arg{state} (Porto Alegre and RS).\\
+\end{Macros}
+
+\begin{Macros}{\TCCcoord,\TCCcoordtitle}
+ \begin{Syntax}%
+ \Macro!{\TCCcoord}{\marg{(title) full name}\oarg{gender}}
+ \Macro{\TCCcoordtitle}{coordinator denomination}
+ \end{Syntax}
+\end{Macros}
+
+\begin{Macros}{\coursecoord,\coursecoordtitle}
+ \begin{Syntax}%
+ \Macro!{\coursecoord}{\oarg{(title) full name}\oarg{gender}}
+ \Macro{\coursecoordtitle}{course coordinator denomination}
+ \end{Syntax}
+\end{Macros}
+ \Arg{coordinator denomination} and \Arg{course coordinator denomination} are the full 'job title' of their position. \Arg{gender} can be either 'm' or 'f'.
+
+\subsection{Core Specific Commands}\label{core-specific-commands}
+
+The following commands are more or less self-explanatory, \Arg{ID} is the student's university ID. \Arg{Nproc} is the process/request number. \Arg{gender} can be either 'm' or 'f'.
+
+
+\begin{Macros}{\author,\authorinfo,\student,\studentinfo}%,\studentgender}
+ \begin{Syntax}%
+ ~\Macro!{ \author}{\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\authorinfo}[Nproc]{ID,email}
+ \Macro!{\student}{\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\studentinfo}[Nproc]{ID,email}
+ \end{Syntax}
+\end{Macros}
+
+
+\begin{Macros}{\advisor,\advisorinfo}%,\advisorgender}
+ \begin{Syntax}%
+ ~\Macro!{\advisor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\advisorinfo}{Institut,title-info,email,phone}
+ \end{Syntax}
+\end{Macros}
+
+\begin{Macros}{\coadvisor,\coadvisorinfo}%,\coadvisorgender}
+ \begin{Syntax}%
+ ~\Macro!{\coadvisor}{\oarg{title}\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\coadvisorinfo}{Institut,title-info,email,phone}
+ \end{Syntax}
+\end{Macros}
+
+\begin{Macros}{\examiner,\examinerinfo}%,\examinergender}
+ \begin{Syntax}%
+ ~\Macro!{\examiner}{\oarg{title}\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\examinerinfo}{Institut,title-info,email,phone}
+ \end{Syntax}
+\end{Macros}
+
+\begin{Macros}{\altexaminer,\altexaminerinfo}%,\altexaminergender}
+ \begin{Syntax}%
+ ~\Macro!{\altexaminer}{\oarg{title}\marg{last}\marg{first}\oarg{gender}}
+ \Macro{\altexaminerinfo}{Institut,title-info,email,phone}
+ \end{Syntax}
+\end{Macros}
+
+
+\section{\tightul{ufrgscca-cover} Package}
+This package is the one that sets the front pages, depending on the kind of 'report' being generated. The default being to generate 3 cover pages: an identification on, followed by presentation one, then an referral/approval one.
+
+\subsection{Package Options}
+\begin{Options}
+ \DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).
+ \DescribeOption{internship} in case the report is a internship one.
+\end{Options}
+
+\subsection{Defined Commands}
+\begin{Macros}{\maketitle}
+ \begin{Syntax}%
+ \Macro{\maketitle}{}
+ \end{Syntax}
+This is the only main command, which will typeset the front matter. It requires that all \emph{specific info} be already set up (like work title, author's name, affiliation, etc.)
+\end{Macros}
+
+
+\begin{Macros}{\course,\courseacronym,\graduationtitle,\university,\universityacronym,%
+ \universitydivision,\divisiongradcouncil,\department,\classcode,\classname,\subject}
+\begin{Syntax}%
+ \Macro{\course}{arg}
+ \Macro{\courseacronym}{arg}
+ \Macro{\graduationtitle}{arg}
+ \Macro{\university}{arg}
+ \Macro{\universityacronym}{arg}
+ \Macro{\universitydivision}{arg}
+ \Macro{\divisiongradcouncil}{arg}
+ \Macro{\department}{arg}
+ \Macro{\classcode}{arg}
+ \Macro{\classname}{arg}
+ \Macro{\subject}{arg}
+\end{Syntax}
+In case some customization is needed, one can change them as needed. The default values are set for the \emph{control and automation} course at UFRGS/EE.
+\end{Macros}
+
+\section{\tightul{ufrgscca-forms} Package}
+This package defines just two user commands to generate specific forms needed at UFRGS/EE.
+\subsection{Forms Defined Commands}\label{forms.commands}
+\begin{Macros}{\tcforms,\tcemptyforms}
+ \begin{Syntax}%
+\Macro{\tcforms}{formslist}
+\Macro{\tcemptyforms}{formslist}
+\end{Syntax}
+\Macro{\tcforms}{} will generate the many forms (\Arg{formslist}) using the information from \emph{local.tex}, whilst \Macro{\tcemptyforms}{} will generate said forms with 'blanks' (to be fulfilled by hand, for instance).
+
+\Arg{formslist} is a csv list of any of:
+\begin{Options+}
+ \DescribeOption+{reqform} Registration requirement form.
+ \DescribeOption+{coadvisor} Coadvisor justification form.
+ \DescribeOption+{boardsapproval} Boards approval form.
+ \DescribeOption+{advisorsapproval} Advisors approval form.
+ \DescribeOption+{receipts} Receipts forms (one per board member).
+ \DescribeOption+{examinersforms} Grades and correction forms (per board member).
+ \DescribeOption+{rectifyapprovalform} Corrections approval form.
+\end{Options+}
+
+\end{Macros}
+
+
+\section{\tightul{ufrgscca-lists} Package}
+The following packages are always pre-loaded: {\MetaFmt[Pack]\sffamily newfloat, listings} and \Pack{xcolor}.
+It defines a new \emph{floating environment}. Combined with \Pack{listings} one can typeset exempts of \emph{code listing}.
+
+\subsection{Environment}
+\begin{Envs}{codelist}
+ \begin{Syntax}%
+ \Macro{\begin{codelist}}{}\ldots \Macro{\end{codelist}}{}
+ \end{Syntax}
+\Macro{\caption}{} will be named 'Listing' (Listagem).
+
+\begin{stcode}[st=d.listing]
+ \begin{codelist}[htbp]
+ \caption{sample C code}
+ \label{code01}
+ \begin{lstlisting}[language=C]
+ struct i2c_msg
+ {
+ __u16 addr; /* endereco do escravo */
+ __u16 flags;
+ }
+ \end{lstlisting}
+ {\sourcecitation{\textcite{Garg:SMA-2000}}}
+ \end{codelist}
+\end{stcode}
+\DisplayCode{d.listing}
+
+\end{Envs}
+
+\subsection{Declared Commands}
+\begin{Macros}{listofcodelist}
+ \begin{Syntax}%
+ \Macro{\listofcodelist}{}
+ \end{Syntax}
+This will create the 'List of ...' associated with the previous environment.
+\end{Macros}
+
+\iffulldoc
+
+\begin{Macros}{\DeclareNewFloat}
+ \begin{Syntax}%
+ \Macro{\DeclareNewFloat}{env-name,file-ext,listname,listofname}
+ \end{Syntax}
+A new float environment, named \Env{env-name}, will be created. Captions will be associated (numbered) as \textbf{\Arg{listname} num:}. Finally, an associated command \Macro{\listof...}{} will be defined, using \Arg{listofname} as a numberless \Macro{\chapter}{} title.
+
+\begin{stcode}[st=d.float]
+ \def\listingname{Listing}%
+ \def\listlistingname{List of Listings}%
+ \DeclareNewFloat{codelist}{lox}{\listingname}{\listlistingname}%%
+ %% after that, one can do as in the previous example
+ %%
+ %% the list of, will be created as
+ \listofcodelist
+\end{stcode}
+
+\DisplayCode[emph={codelist,listofcodelist}]{d.float}
+\end{Macros}
+\fi
+
+\iffulldoc
+\section{\tightul{ufrgscca-gen} Package (extended documentation)}
+Just two set of commands are defined, one is kind of a 'command factory' aimed at creating macros in a standard way, while the other helps create 'case like' commands.
+
+
+\subsection{Package Options}
+\begin{Options}
+ \DescribeOption{family} sets the family name, defaults to \Value{tcdef}.
+ \DescribeOption{group} sets the group name, defaults to \Value{gen}.
+\end{Options}
+
+\subsection{Defined Commands}
+\begin{Macros}{\cmdfactory,\factory,\tcgen@cdef}
+ \begin{Syntax}%
+ \Macro!{\cmdfactory}{\oarg{fam}\xarg{grp}\marg{cmd-list}}
+ \Macro!{\factory}{\oarg{fam}\xarg{grp}\marg{cmd}}
+ \Macro!{\tcgen@cdef}{\oarg{fam}\xarg{grp}\marg{cmd}\marg{new-val}}
+ \end{Syntax}
+ \Macro{\cmdfactory}{} is the actual command meant to be used (the other two are just auxiliary ones). \Arg{cmd-lst} is a csv list of commands. \Arg{fam} is the command \emph{family} (defaults to \emph{tcdef}) and \Arg{grp} is the family group (defaults to \emph{gen}).
+
+ The newly created commands will be based on \Macro{\tcgen@cdef}{} (the actual assigment command) having the form \Macro{\cmd}{new-val}, accepting a single mandatory value. Internally \Arg{new-val} will be stored in a macro likely named \Macro{\fam@grp@cmd}{}.
+
+ \Macro{\factory}{} is basically the same as \Macro{\cmdfactory}{}, whilst to create just one new command (it is the command called by \Macro{\cmdfactory}{} via \Macro{\forcsvlist}{}.)
+\end{Macros}
+
+\begin{Macros}{\mkswitch,\addcase}
+ \begin{Syntax}%
+ \Macro{\mkswitch}[default]{sw-name}
+ \Macro{\addcase}{sw-name,str-case,code}
+ \end{Syntax}
+ \Macro{mkswitch}{} will create a command, \Macro{\sw-name}{case}, which will behave like a switch/case in other programming languages. \Arg{default} is the code to be executed in case a \emph{switching value} isn't defined.
+ \Macro{\addcase}{} adds \emph{cases}, one by one, to the switch. \Arg{str-case} can be any \Macro{\csname}{} valid name. \Arg{code} is the code to be executed.
+
+ \begin{stcode}[st=d.switch]
+ \mkswitch[\gr@depcut]\gr@case@angle
+ \addcase\gr@case@angle{}{\def\gr@ANG{0}}
+ \addcase\gr@case@angle{A}{\def\gr@ANG{\gr@A}}
+ %%
+ %% actual use of the switch
+ \gr@case@angle{A} % this will result in \def\gr@ANG{\gr@A}
+ \end{stcode}
+ \DisplayCode{d.switch}
+\end{Macros}
+\fi
+
+\iffulldoc
+\section{\tightul{ufrgscca-coord} Package (extended documentation)}
+This package defines a set of auxiliary commands meant to support the Professor coordinating students work.
+it will always pre-load the \Pack{longtable} and \Pack{ufrgscca-forms} packages. One can select the reports/forms to be generated using the package options or the command \Macro{\setreports}{keys}
+
+N.B. It might be also useful to use the commands defined at \autonameref{forms.commands}.
+
+\subsection{Package/Report Options}\label{ufrgscca-coord.options}
+\begin{Options}
+ \DescribeOption{calendar} Calendar for the period.
+ \DescribeOption{checklist} a students check list.
+ \DescribeOption{report} a student control report.
+ \DescribeOption{boards} exam board dates.
+ \DescribeOption{boarddates} exam board dates with highlighted dates.
+ \DescribeOption{studentlist} a simple student list.
+ \DescribeOption{revforms} per student reviews forms.
+ \DescribeOption{referral} per student referral letters.
+ \DescribeOption{cocertificate} per student coadvisor certificate letter (if any).
+\end{Options}
+
+\subsection{Defined Commands}
+The \emph{report document} to be created is composed of 2 main parts:
+\begin{enumerate}[tcc,arabic,miditemsep]
+ \item A global preamble, where one sets
+ \begin{enumerate}[tcc,alpha*,noitemsep]
+ \item the current semester, Course/TCC coordinator names, etc. ,
+ \item auxiliary data, like students \emph{check list} items and
+ \item students data.
+ \end{enumerate}
+ \item A 'final part' whereas one set which reports are to be generated.
+\end{enumerate}
+
+\subsubsection{Global Commands I}
+One can (should) use the commands listed at \autonameref{core-commands}, and these below:
+
+\begin{Macros}{\tcccalendareventdate,\boardstitleB,\boardsOBS,\TCCperiod}
+ \begin{Syntax}%
+ \Macro{\tcccalendareventdate}{date}
+ \Macro{\boardstitleB}{titleB}
+ \Macro{\boardsOBS}{obs}
+ \Macro{\TCCperiod}{semester}
+ \end{Syntax}
+Use \Macro{\tcccalendareventdate}{} to set the date of a given 'event' (the list of 'calendar events' are (might have been) set in the \emph{ufrgscca-ptBR-coord.def} or \emph{ufrgscca-en-coord.def} file). \Macro{boardstitleB}{} sets a 2nd title line for the 'boards schedule report'. \Macro{\boardsOBS}{} allows to add an observation (\Arg{obs}) for the 'boards schedule report', finally, \Macro{\TCCperiod} sets the current semester value.
+\end{Macros}
+
+
+\begin{Macros}{\checkdef}%,\checklist}
+ \begin{Syntax}%
+ \Macro{\checkdef}{checkLC,check-item,check-text}
+ \end{Syntax}
+Whereas one has a '4x5 alphabetic matrix', lines A to D, columns A to E. \Arg{checkLC} being one element of that matrix (from checkAA up to checkDE), \Arg{chek-item} is a free identifier (to be used with the \Macro{\checklist}{}), and \Arg{check-text} the text to appear in the 'check list report'. So, for instance:
+
+\begin{stcode}[st=d.check]
+ \checkdef{checkAA}{tcc-part}{Rel. Parcial} % this creates the 'check item' tcc-part and associates it with the AA position (first line, first column), display text 'Rel. Parcial'
+ \checkdef{checkBA}{partOK}{Aprov. Rel. Parcial} % this creates 'partOK' and associates it with BA position
+
+ \checkdef{checkAB}{board}{Banca def.} %
+ \checkdef{checkBB}{board-date}{Data defesa} % 'board-date' is associated with the BB position
+
+ \checkdef{checkAE}{tcc-final}{TCC final} %
+ \checkdef{checkBE}{approval}{Aprovação Correções} %
+ \checkdef{checkDE}{exam}{Em Exame} % 'exam' (display 'Em Exame') is associated with the DE position
+ %%
+ %%
+ %% later on, one can use (inside a \NewStudent command)
+ \checklist{tcc-part,partOK,exam} % this will, for a given student, 'mark' the 'tcc-part', 'partOK' and 'exam' items.
+\end{stcode}
+
+
+\DisplayCode[emph={{tcc-part},partOK,board,board-date,{tcc-final},approval,exam}]{d.check}
+
+Be aware that, \Macro{\checkdef}{} can and should be only used at the preamble, whereas \Macro{\checklist}{} can only be used at the 'student data definition' context (meaning, inside the \Macro{\NewStudent}{} command).
+\end{Macros}
+
+
+\subsubsection{Global Commands II}\label{new-student}
+
+\begin{Macros}{\NewStudent}
+ \begin{Syntax}%
+ \Macro{\NewStudent}{studentname,code}
+ \end{Syntax}
+ This is the main command describing each \Arg{student} associated work, advisor and exam board. In \Arg{code} one should use the commands defined in \autonameref{core-specific-commands}, and \autonameref{student-specific-commands} (although one can use any valid \LaTeXe~ preamble code, keep in mind those will be executed BEFORE \Macro{\begin{document}}{}), to describe a student work.
+ So, for instance:
+ \begin{stcode}[st=d.newstudent]
+\NewStudent{Artur}{
+ \student{last}{first}[m]
+
+ \studentinfo[]{243716}{email@somewhere}
+ \TCCtitle{work title}
+ \advisor{de Amorin}{Heraldo José}[m]
+ \coadvisor{Camargo Nardelli}{Vítor}[m]
+ \examinergrades{9.2}{8.5}{9.2}
+ \examiner{Götz}{Marcelo}[m]
+ \examinergrades{10}{9.5}{9.5}
+ \examiner{Comparsi Laranja}{Rafael Antônio}
+ \examinergrades{8.5}{8.5}{8}
+ \altexaminer{Ventura Bayan Henriques}{Renato}
+ %%
+ %%
+ \timeslot[Teams]{12/11}{15:30}
+
+ \studentFate[Dismiss] %% FF or Dismiss ??
+}
+\end{stcode}
+
+\DisplayCode{d.newstudent}
+
+N.B. Internally, \Macro{\NewStudent}{} will create a command named \Macro{\studentname}{}, with a \emph{hook} named \Macro{\studentname.hook}{} (the dot is part of the hook's name).
+\end{Macros}
+
+\subsubsection{Student Specific Commands}\label{student-specific-commands}
+\begin{Macros}{\studentFate}
+ \begin{Syntax}%
+ \Macro{\studentFate}[fate]{}
+ \end{Syntax}
+This assigns the \Arg{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \Arg{fate} can be either C or D (in case a student got in exam), FF for those that haven't finished the work or 'Dismiss' for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \Arg{fate} assigned)
+\end{Macros}
+
+\begin{Macros}{\studenttimeslot,\timeslot}
+ \begin{Syntax}%
+ \Macro{\studenttimeslot}[local]{date,time}
+ \Macro{\timeslot}[local]{date,time}
+ \end{Syntax}
+\Macro{\timeslot}{} is just an alias of \Macro{\studenttimeslot}{}. They set, for the Boards Report, the \Arg{local}, \Arg{date} and \Arg{time} in which a student will have its work presented. Those commands are meant to be used 'inside' a \Macro{\NewStudent}{} command.
+\end{Macros}
+
+
+
+\begin{Macros}{\studentTCCtitle,\TCCtitle,\studentremark}
+ \begin{Syntax}%
+ \Macro{\studentTCCtitle}{title}
+ \Macro{\TCCtitle}{title}
+ \Macro{\studentremark}{remark}
+ \end{Syntax}
+\end{Macros}
+\Macro{\TCCtitle}{} is also just an alias to \Macro{\studentTCCtitle}{} which just 'defines' the current student “work's title”. \Macro{\studentremark}{} just inserts a \Arg{remark}, which will appear in the \emph{report}'s report (\ldots report option).
+
+
+\begin{Macros}{\DistinctBoard,\DefaultBoard}
+ \begin{Syntax}%
+ \Macro{\DistinctBoard}{}
+ \Macro{\DefaultBoard}{}
+ \end{Syntax}
+Normally, the default, it's assumed that the student's advisor will also be a member of the student's exam board. For the ones in which this doesn't holds true, one should use the \Macro{\DistinctBoard}{} after informing a student's name (via \Macro{\student}{}) and before informing its advisor name (via \Macro{\advisor}{}). For instance:
+
+ \begin{stcode}[st=d.distinct]
+ \NewStudent{Artur}{
+ \student{last}{first}[m]
+
+ \studentinfo[]{243716}{email@somewhere}
+ \TCCtitle{work title}
+ \DistinctBoard
+ \advisor{de Amorin}{Heraldo José}[m]
+ \examiner{Götz}{Marcelo}[m] % He will be the 1st examiner
+ \examiner{Comparsi Laranja}{Rafael Antônio} % the 2nd
+ \examiner{Ventura Bayan Henriques}{Renato} % the 3rd
+ }
+\end{stcode}
+
+\DisplayCode[emph={DistinctBoard}]{d.distinct}
+\end{Macros}
+
+
+
+\begin{Macros}{\examinergrades}
+ \begin{Syntax}%
+ \Macro{\examinersgrades}{N1,N2,N3}
+ \end{Syntax}
+Quite obvious, this set the grades given by an examiner (the one defined by the 'last' \Macro{\examiner}{} before this.).
+\end{Macros}
+
+\begin{Macros}{\checklist}
+ \begin{Syntax}%
+ \Macro{\checklist}{csv-checkitems}
+ \end{Syntax}
+ \Arg{csv-checkitems} is a csv list of valid 'items' (the ones defined by \Macro{\checkdef}{}) and it will 'mark' (check) the corresponding items for a given student.
+\end{Macros}
+
+
+\begin{Macros}{\addtostudent}
+ \begin{Syntax}%
+ \Macro{\addtostudent}{student,code}
+ \end{Syntax}
+\Arg{code} will be appended to the command created with \Macro{\NewStudent}{}. \Arg{student} must be an already defined one, whilst \Arg{code} can be anything valid in the context of a \Macro{\NewStudent}{} as described in \autonameref{new-student}.
+\end{Macros}
+
+\begin{Macros}{\setreports}
+ \begin{Syntax}%
+ \Macro{\setreports}{rep-list}
+ \end{Syntax}
+ \Arg{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}.
+\end{Macros}
+
+\begin{Macros}{\setstudentlist}
+ \begin{Syntax}%
+ \Macro{\setstudentlist}{listID,list}
+ \end{Syntax}
+This command will define/create a list named \Arg{listID} composed of a csv \Arg{list}~ of student names (as defined by \Macro{\Newstudent}{}).
+\end{Macros}
+
+\begin{Macros}{\tcreports}
+ \begin{Syntax}%
+ \Macro{\tcreports}[rep-list]{listID}
+ \end{Syntax}
+ This is the main command, to be used only once, at the end of the file. It will typeset the reports, as set by \Macro{\setreports}{}, using the student list identified by \Arg{listID}.
+ \Arg{rep-list} is a csv list of keys as defined at \autonameref{ufrgscca-coord.options}.
+\end{Macros}
+
+
+\section{\tightul{ufrgscca-ppc} Package (beta) (extended documentation)}
+This contains a set of auxiliary commands to keep track of many \emph{indicators} whilst writing a \emph{PPC document} (which is going to be evaluated based on said \emph{indicators}, though the track of those \emph{indicators} themselves shall not appear in the final version of it). Keep in mind, when considering the use of it: “it works as is” but it hasn't being properly debugged, and it might change “as needed locally”.
+
+The packages \Pack{longtable}, \Pack{pdfcomment}, \Pack{mdframed} and \Pack{ufrgscca-curr} will always be pre-loaded.
+
+\subsection{Package Options}
+\begin{Options}
+\DescribeOption{showind} (for drafts) it will display the report indicators, of those indicators whose family wasn't set to hide.
+\DescribeOption{indlong} (for drafts) when displaying an indicator, the long version of them will be used.
+\DescribeOption{nocomments} (for drafts) comments (created with the command \Macro{\comment}) will be suppressed.
+\end{Options}
+
+\subsection{Defined Commands}
+\begin{Macros}{\maketitle}
+ \begin{Syntax}%
+ \Macro{\maketitle}{}
+ \end{Syntax}
+\Macro{\maketitle}{} is redefined for the specifics of a \emph{PPC document}.
+\end{Macros}
+
+The next few commands use a finite set of \Arg{status} which are a pre-defined list of:
+\begin{Values+}
+ \DescribeValue+{tbd} “To Be Done”%
+ \DescribeValue+{done} “Done”%
+ \DescribeValue+{review} “to be reviewed”%
+ \DescribeValue+{attention} Needs Attention%
+ \DescribeValue+{NSA} NSA (portuguese for “do not apply”)%
+ \DescribeValue+{noref} no references%
+ \DescribeValue+{EAD} EAD (portuguese for “distance learning”)%
+ \DescribeValue+{MDi} course ware (portuguese for “didactic material”) %
+ \DescribeValue+{DOCs} other DOCs%
+ \DescribeValue+{default} everything else%
+\end{Values+}
+
+\begin{Macros}{\declareindicator, \indicatorDesc, \indicatorText}
+ \begin{Syntax}%
+ \Macro{\declareindicator}<*+>[status]{fam,ID,text}
+ \Macro{\indicatorDesc}{longdesc,extra}
+ \Macro{\indicatorText}{text}
+ \end{Syntax}
+\Macro{\declareindicator}{} is the command to create/define a given “indicator”. \Arg{fam} set's its \emph{family} group, \Arg{ID} is the particular ID/term used to reference it (in a family of indicators), \Arg{text} is a short text describing it (it is the text displayed when using the \Macro{\indref}{} below.). \Macro{\indicatorDesc}{} adds a \Arg{longdesc} (long description) and \Arg{extra} (extra long description) to a defined \Macro{\declareindicator}{} (it will add those text fields to the “last declared one”). \Arg{longdesc} will also be displayed when using the \Macro{\indref}{} commands, but only if the \Option{indlong} option was used. The \Arg{extra} will only be used/displayed with the \Macro{\PrintIndicators}{} command. Finally, \Macro{indicatorText}{} adds a remark \Arg{text}, which will be also printed out when using \Macro{\lstind}{} (akin of an explanation/remark field.)
+\end{Macros}
+
+\begin{Macros}{\indsetstatus, \indsetview, \indsethide}
+ \begin{Syntax}%
+ \Macro{\indsetstatus}[status]{fam,ID}
+ \Macro{\indsetview}{fam}
+ \Macro{\indsethide}{fam}
+\end{Syntax}
+\Macro{indsetstatus}{} sets the \Arg{status} of a given indicator defined by \Arg{fam} and \Arg{ID}. \Macro{\indsetview}{} and \Macro{indsethide} set the visibility (or not) of a given “family” of indicators, meaning, if those indicators are going to be visible or not (command \Macro{\indref}{}, for instance) if the option \Option{showind} is in use.
+\end{Macros}
+
+\begin{Macros}{\lstind}
+ \begin{Syntax}%
+ \Macro{\lstind}[seclvl1,seclvl2]{fam}
+\end{Syntax}
+\Macro{\lstind}{} will produce a sectioning like list, \Arg{seclvl1} defaults to \Macro{\section}{} and \Arg{seclvl2} defaults to \Macro{\subsection}{}, those indicators marked with an \textbf{*} (when creating them) will be issued with \Arg{seclvl1}, those marked with an \textbf{+} will be issued with \Arg{seclvl2}. The indicator's short text will be the sectioning title, whilst the indicator's 'text' (the one assigned with \Macro{indicatorText}{} will be the sectioning body.)
+\end{Macros}
+
+\begin{Macros}{\PrintIndicators}
+ \begin{Syntax}%
+ \Macro{\PrintIndicators}[fam]{}
+ \end{Syntax}
+ \Macro{\PrintIndicators}{} will produce a “list of contents” like list (with cross reference to all used \Macro{\indref}{} pages). It will either issue a list of all \Macro{\declareindicator}, or just the ones belonging to \Arg{fam}. \Arg{fam} can be a csv list of families. Each entry will be composed by indicator's “family”, “ID”, “short text”, “long text” and “extra description” but not the text issued with \Macro{\indicatorText}{}.
+\end{Macros}
+
+
+\begin{Macros}{\helpindicators}
+ \begin{Syntax}%
+ \Macro{\helpindicators}{}
+\end{Syntax}
+This will just prints, middle text, a quick “help text” listing the few main “indicators related command” (to help out those less \LaTeXe~ savvy writers.)
+\end{Macros}
+
+\begin{Macros}{ \ifshowind}
+ \begin{Syntax}%
+ \Macro{\ifshowind}{code-ifshow,code-ifnot}
+ \end{Syntax}
+Just a helping command, based on the package options. If the option \Option{showind} was used, \Arg{code-ifshow} is executed, otherwise \Arg{code-ifnot}.
+\end{Macros}
+
+
+\begin{Macros}{\textmark, \comment}
+ \begin{Syntax}%
+ \Macro{\textmark}[status]{text}
+ \Macro{\comment}[status]{title,text}
+\end{Syntax}
+Those are annotation, remark commands. The difference being that \Macro{\textmark}{} will just highlight the \Arg{text} (using \Arg{status} “format”), whilst \Macro{comment}{} will create a “remark box” (the same used when inserting an indicator's reference, commands below). N.B. \Macro{\comment}{} is suppressed unless the option \Option{showind} is used.
+\end{Macros}
+
+\begin{Macros}{\indref,\indreflst}
+ \begin{Syntax}%
+ \Macro{\indref}<*>[status]{fam,ID,comment}
+ \Macro{\indreflst}<*>[status]{fam,IDlist,comment}
+\end{Syntax}
+\Macro{\indref}{} creates a box (\Pack{TikZ} based \Pack{mdframed} ) of the indicator denoted by \Arg{fam} and \Arg{ID}. The family and IDs will be issued as the “frame title”, the current indicator's \Arg{status} will be printed out (the whole box will be highlighted accordly), the short version of the indicator will be used (the long version will “appear” as a \Pack{pdfcomment}), finally any \Arg{comment} will be added to the text box. Each \Macro{\indref}{} box will have a link to the indicator's list (issued with \Macro{\PrintIndicators}{}). If the optional argument \Arg{status} is used, the indicator's status will be updated accordly. The star version also prints the indicator's long text.
+
+\Macro{\indreflst}{} behaves similarly, with the difference that \Arg{IDlist} is a csv list of IDs (same family), moreover, each item of said list can have the form either just \Arg{ID} or \Arg{status:ID}, in the last form, that ID will have its status updated, as well.
+\end{Macros}
+
+\begin{Macros}{\fancyquote}
+ \begin{Syntax}%
+ \Macro{\fancyquote}[vspc]{text,author,dateref}
+\end{Syntax}
+As quick “quote” hack, \Macro{\fancyquote}{} will typesets a \Arg{text} (small size, italic text, in a minipage environment) followed by \Arg{author} and \Arg{dateref}. This is meant to be used after a \Macro{\chapter}{} or \Macro{\section}{} commands. \Arg{vspc} is to be used in case one has to adjust the vertical space between the sectioning command, and the quote one.
+\end{Macros}
+
+
+\begin{Macros}{\labelhack}
+ \begin{Syntax}%
+ \Macro{\labelhack}{text}
+ \end{Syntax}
+As the name implies, it is a hack. In some cases (which we haven't manage to found why/what), \Pack{hyperref} would fail miserably when using the \Macro{\nameref}{} (in some cases getting the sectioning correct, but not the name!). This just assures that \Macro{\nameref}{} will use the correct sectioning name in those cases.
+\begin{stcode}[st=d.labelhack]
+ \section{this section}\labelhack{this section}\label{somelabel}
+\end{stcode}
+\DisplayCode[codeprefix={For Example:},emph={labelhack}]{d.labelhack}
+\end{Macros}
+
+\begin{Macros}{\acrodef, \acro,\acrol,\acrols,\acrosl,\acrofoot,\printacrolist}
+ \begin{Syntax}%
+ \Macro{\acrodef}{acroID}{acronym}{long}
+ \Macro{\acro}{acroID}
+ \Macro{\acrol}{acroID}
+ \Macro{\acrols}{acroID}
+ \Macro{\acrosl}{acroID}
+ \Macro{\acrofoot}{acroID}
+ \Macro{\printacrolist}[enumkeys]{widest}
+ \end{Syntax}
+Those are yet another acronym hack. \Macro{\acrodef}{} “creates” an acronym, identified by \Arg{acroID}, whose short (acronym) version is \Arg{acronym} and the long version in \Arg{long}. \Macro{\acro}{} just typesets the \Arg{acronym}, \Macro{\acrol}{} the \Arg{long} version.
+\Macro{\acrols}{} typesets the the long version followed by the short (using a comma as separator).
+\Macro{\acrosl}{} prints the short version first. Finally, \Macro{\acrofoot}{} typesets the short version in text and the long as a footnote. \Macro{\printacrolist}{} creates a description list based on the \Env{listofabbrv} environment.
+\end{Macros}
+
+\subsection{Environments}
+\begin{Envs}{ppc.quote}
+ \begin{Syntax}%
+ \Macro{\begin{ppc.quote}}{} \ldots \Macro{\end{ppc.quote}}{}
+ \end{Syntax}
+\end{Envs}
+This is just a tailored “quote” environment, using almost all page width, just in a smaller font size.
+
+\section{\tightul{ufrgscca-curr} Package (beta) (extended documentation)}
+This package is mostly in beta state, some parts of it should be identified as alpha state. Those are mostly rushed out adaptations of other “solutions at hand”. Literally, try to use it at your own peril.
+
+The background of it: To have the ability to “describe” (store the information in a “structured way”) an University Course curricula and later on have the possibility to presented that same information in many different ways (including a dependence graph). To an extended, most of it is done (and working), but hopeless lacking more testing and debugging.
+
+Why is it included in the bundle? Well, it is needed, in part for completeness, by \Pack{ufrgscca-ppc} which is “locally important”.
+
+\subsection{Commands Creating the many lists}
+The following commands “describe” a curricula, whereas one is a sequence of semesters \Arg{semID}, each semester is composed by a list of classes, \Arg{classID}, and each class has a list of dependencies, \Arg{classID} as \Macro{\depdef}{}. All those lists are stored as csv lists, so “processing them” can be systematized.
+
+\begin{Macros}{\topicdef,\defaulttopic}
+\begin{Syntax}%
+ \Macro{\topicdef}[color]{topicID,text}
+ \Macro{\defaulttopic}{topicID}
+\end{Syntax}
+\Macro{\topicdef}{} defines \Arg{topicID} (to be used when describing a class) and associates a \Arg{text} description and a \Arg{color} (for topic highlight). \Macro{\defaulttopic}{} sets the default one (if not explicitly given when describing a class).
+\end{Macros}
+
+
+\begin{Macros}{\semdef}
+ \begin{Syntax}%
+ \Macro!{\semdef}{\oarg{pos}\xarg{cod}\marg{semID}}
+ \end{Syntax}
+This “defines” a semester, \Arg{semID}, and associates with it a \Arg{cod} (for reference) and a \Arg{pos} (to be used by, for instance, \Pack{ufrgscca-curr-graph}.)
+\end{Macros}
+
+
+\begin{Macros}{\classdef,\setclass,\classremark}
+ \begin{Syntax}%
+ \Macro!{\classdef}{\oarg{topicID}\xarg{pos}\marg{classID}\marg{cred}\marg{typ}\marg{name}\marg{desc}}
+ \Macro{\setclass}{classID}
+ \Macro{\classremark}{remark}
+ \end{Syntax}
+\Macro{\classdef}{} defines a class, associating with a \Arg{topicID}, \Arg{pos} (for \Pack{ufrgscca-curr-graph}), \Arg{classID}, number and type, \Arg{typ}, of credits, \Arg{cred}, a long name, \Arg{name} and description, \Arg{desc}. \Macro{\classremark}{} adds an extra remark to it.
+
+The following commands always refer to the “last defined” \Macro{\classdef}{} unless \Macro{\setclass}{} is used, which changes the “current class” for the following commands.
+\end{Macros}
+
+\begin{Macros}{\depdef,\altdef}
+ \begin{Syntax}%
+ \Macro!{\depdef}{\oarg{topicID}\xarg{pos}\marg{classID}}
+ \Macro{\altdef}{}
+ \end{Syntax}
+\Macro{\depdef}{} inserts/creates a “class dependency” list. The highlight color (if used) is usually defined by the current class topic (informing \Arg{topicID} changes the highlight color). \Arg{pos} is used by \Pack{ufrgscca-curr-graph} to determine the incident line angle.
+
+\Macro{\altdef}{} defines/start and alternate dependency list.
+\end{Macros}
+
+\begin{Macros}{\bibdef}
+ \begin{Syntax}%
+ \Macro{\bibdef}[type]{text}
+ \end{Syntax}
+This is used to set a list of bibliographies, one per issued command. The default \Arg{type} value is just \emph{bib}, possible values (as understood by \Pack{ufrgscca-curr-tab}) are \emph{bib}, \emph{basic} and \emph{comp}.
+\end{Macros}
+
+\subsection{List Processing Commands}
+Those are the main loop commands that go through the lists.
+\begin{Macros}{\LstClass,\LstDep,\LstTopic}
+ \begin{Syntax}
+ \Macro{\LstClass}[cmd]{semID}
+ \Macro!{\LstDep}{\oarg{cmd}\xarg{ang}\marg{classID}}
+ \Macro{\LstTopic}[cmd]{topicID}
+ \end{Syntax}
+\Arg{cmd} can be any command accepting a single argument. It will, in fact, be the one defining the way the data will be, effectively, be presented.
+
+\Macro{\LstClass}{} will process \Arg{cmd} over all classes associated with \Arg{semID}.
+
+\Macro{\LstDep}{} will process \Arg{cmd} over all dependency classes associated with \Arg{classID}.
+
+\Macro{\LstTopic}{} will process \Arg{cmd} over all classes associated with \Arg{topicID}.
+
+\end{Macros}
+
+\section{\tightul{ufrgscca-curr-tab} Package (alpha) (extended documentation)}
+This is truly a work in progress (based on some old ideas), not really tested. It shall be revised and, mostly sure, it will be changed (no compatibility guaranties). It always pre-load \Pack{ufrgscca-curr} and \Pack{longtable}.
+
+\subsection{Tabular Presentation Commands}
+\begin{Macros}{\TabEtp,\TabTopic}
+ \begin{Syntax}%
+ \Macro!{\TabEtp}{\xarg{type}\oarg{sectioning}c\marg{semID}}
+ \Macro{\TabTopic}[type]{topicID}
+ \end{Syntax}
+\Macro{\TabEtp}{} will construct a longtable with all classes associated with \Arg{semID} (including it's dependencies and bibliography).
+
+\Macro{\TabTopic}{} will construct a longtable with all classes associated with \Arg{topicID}.
+
+\end{Macros}
+
+\section{\tightul{ufrgscca-curr-graph} Package (alpha) (extended documentation)}
+
+\subsection{Graph Presentation Command}
+Ironically, this is the “oldest” of the \Pack{-curr-} packages, but it is the less tested one, and the one whose code is more prone to fail in unexpected ways, be advised: do not try to use it, unless you know the internal code well. It always pre-load \Pack{ufrgscca-curr} (N.B. it also depends on \Pack{tikz}).
+
+\begin{Macros}{\GraphSem}
+ \begin{Syntax}%
+ \Macro{\GraphSem}[type]{semID}
+ \end{Syntax}
+It will create a dependency graph for a given \Arg{semId}. N.B. to start with, it is highly dependent on the semester sequence, one shall start with first semester and go from there.
+\end{Macros}
+
+\fi
+
+
+
+\end{document}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
new file mode 100644
index 0000000000..f3cc97e63a
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -0,0 +1,494 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-abnt}
+\def\tc@tmp@altpackname{ufrgsccaabnt}
+\def\tc@tmp@packdesc{UFRGS/CCA ABNT layout}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\def\tc@tocdepth{3} % Table of Contents depth
+\def\tc@secdepth{4} % Sectioning numbers depth (3 -> subsubsection)
+
+\DeclareKeys[ufrgscca-abnt]{
+ strict-abnt.usage = load,
+ strict-abnt.if = tcif@strictabnt,
+
+ chapternopagenum.usage = load,
+ chapternopagenum.if = tcif@chapternopagenum,
+
+ english.usage = load,
+ english.if = tcif@english,
+ relnum.usage = load,
+ relnum.if = tcif@relnum,
+ repeatfields.usage = load,
+ repeatfields.if = tcif@repeatfields,
+
+ showframes.usage = load,
+ showframes.if = tcif@showframes,
+ showlabels.usage = load,
+ showlabels.if = tcif@showlabels,
+
+ tocdepth.usage = load,
+ tocdepth.store = \tc@tocdepth,
+ secdepth.usage = load,
+ secdepth.store = \tc@secdepth,
+
+ nomicrotype.usage = load,
+ nomicrotype.if = tcif@nomicrotype,
+
+
+ dctools.usage = load,
+ dctools.if = tcif@dctools,
+}
+
+\ProcessKeyOptions[ufrgscca-abnt]\relax
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% Packages Loading
+%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[english,brazilian]{babel}%
+\RequirePackage{csquotes}%
+
+\iftcif@strictabnt
+ \RequirePackage[a4paper,inner=2cm,outer=3cm,top=3cm,bottom=2cm,twoside]{geometry}
+\else
+ \iftcif@dctools
+ \RequirePackage[a4paper,margin=5cm,right=2cm,marginparwidth=4.5cm,asymmetric,top=2.5cm,bottom=1.5cm]{geometry}
+ \else
+ \RequirePackage[a4paper,inner=2.5cm,outer=2.5cm,top=3cm,bottom=2cm,twoside]{geometry}
+ \fi
+\fi
+
+\RequirePackage[toc,page,title]{appendix}
+\RequirePackage[pagestyles,clearempty]{titlesec}
+\RequirePackage{titletoc}
+\RequirePackage[inline]{enumitem}
+
+\RequirePackage{chngcntr}
+
+\def\tc@captionwidth{0.75\textwidth}
+\def\tc@notewidth{0.635\textwidth} %% 0.84666667\tc@captionwidth
+\RequirePackage[position=above,font=small,labelfont=bf,textfont=md,textfont+=sl,width=\tc@captionwidth]{caption}%
+%%%
+%%% commands for 'floats'
+%%%
+%
+\NewDocumentCommand{\sourcecitation}{m}{{\small{\sourcename\ #1}}}%
+%
+\newlength{\noteindent}%%auxiliary length
+\NewDocumentCommand{\note}{O{}+m}{{\footnotesize\settowidth{\noteindent}{\notename#1:}\addtolength{\noteindent}{3pt}\begin{center}\begin{minipage}{\tc@notewidth}{\parindent=-\the\noteindent\notename#1:\hspace{2.9pt}#2}\end{minipage}\end{center}}}%%
+%
+%
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% Packages Loading
+%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{array}
+\RequirePackage{nicematrix}
+\NiceMatrixOptions{cell-space-limits = 1pt}
+
+\newcolumntype{P}[1]{>{\raggedleft\arraybackslash}p{#1}}
+\newcolumntype{B}[1]{>{\raggedleft\arraybackslash\bfseries}p{#1}}
+\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
+\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
+\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
+\newcolumntype{J}[1]{>{\arraybackslash}p{#1}}
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% Packages Loading
+%%%%%%%%%%%%%%%%%%%%%
+\WarningFilter{biblatex}{File 'brazilian-abnt-abnt.lbx'}%
+\WarningFilter{biblatex}{Conflicting options}%
+\iftcif@repeatfields%
+ \RequirePackage[backend=biber,style=abnt,pretty,giveninits,extrayear,repeatfields]{biblatex}%
+\else%
+ \RequirePackage[backend=biber,style=abnt,pretty,giveninits,extrayear]{biblatex}%
+\fi%
+%%
+%%%
+%%% Language selection {package babel}
+%%%
+\iftcif@english%%
+ \selectlanguage{english}%
+ \AtBeginDocument{\selectlanguage{english}}%
+\else
+ \selectlanguage{brazilian}%
+ \AtBeginDocument{\selectlanguage{brazilian}}%
+\fi%
+
+
+%%%
+%%% typeset adjusting {package microtype}
+%%%
+\iftcif@nomicrotype\else\RequirePackage[tracking,kerning,spacing,babel]{microtype}\fi%
+%
+% pdftex native protruding
+%
+\pdfprotrudechars=2
+\pdfadjustspacing=2
+
+%%%
+%%% \so \ul command {package soul}... contour is just to make a fancy underline
+%%%
+\RequirePackage{contour}
+\RequirePackage{soul}
+
+
+\iftcif@showframes%
+ \RequirePackage{showframe}%%
+\fi
+%%
+\iftcif@showlabels%
+ \RequirePackage{showlabels}%%
+ \showlabels{cite}%%
+ \showlabels{textcite}%%
+ \RenewDocumentCommand{\showlabelfont}{}{\tiny\ttfamily\color{blue}}%%
+\fi%%
+
+
+%%%
+%%% ToC and Headings format. {package titlesec/titletoc/titleps}
+%%%
+
+\setcounter{tocdepth}{\tc@tocdepth} % Table of Contents depth
+\setcounter{secnumdepth}{\tc@secdepth} % Sectioning numbers depth (3 -> subsubsection)
+
+\NewDocumentEnvironment{tocless}{}%
+ {\setcounter{secnumdepth}{-1}\addtocontents{toc}{\protect\setcounter{tocdepth}{-1}\ignorespaces}}%
+ {\setcounter{secnumdepth}{\tc@secdepth}\addtocontents{toc}{\protect\setcounter{tocdepth}{\tc@tocdepth}\ignorespaces}}%
+\def\notoc#1#2{\begin{tocless}#1{#2}\end{tocless}}
+
+\NewDocumentEnvironment{numberless}{}{\setcounter{secnumdepth}{-1}}{\setcounter{secnumdepth}{\tc@secdepth}}
+\def\nonum#1#2{\begin{numberless}#1{#2}\end{numberless}}
+
+
+
+%%%
+%%% ToC definitions {package titletoc}
+%%%
+\def\tc@lblmargin{22mm}
+\contentsmargin{2.2em}
+\def\tc@dotspacing{0.5pc}
+\titlecontents{chapter}[\tc@lblmargin]{\vspace{3mm}\normalfont\scshape\selectfont}{\contentslabel{\tc@lblmargin}}{\hspace{-\tc@lblmargin}}{\titlerule*[\tc@dotspacing]{.}\normalsize\normalfont\contentspage}
+\titlecontents{section}[\tc@lblmargin]{\vspace{1mm}}{\contentslabel{\tc@lblmargin}}{\hspace{-\tc@lblmargin}}{\titlerule*[\tc@dotspacing]{.}\contentspage}
+
+\dottedcontents{subsection}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
+
+\dottedcontents{subsubsection}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
+
+\dottedcontents{figure}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
+\dottedcontents{table}[\tc@lblmargin]{}{\tc@lblmargin}{\tc@dotspacing}
+
+\RenewDocumentEnvironment{appendix}{O{\defappendixpagename}O{\defappendixname}}{%
+ \titleformat{\chapter}{\bfseries\Large\sffamily}{#2 \thechapter\hspace{1.5ex}-}{2ex}{\MakeUppercase}%
+ \titlecontents{chapter}[\tc@lblmargin]{\vspace{3mm}\sc}{\hspace{-\tc@lblmargin}{#2~\thecontentslabel\ -\enspace}}{\hspace{-\tc@lblmargin}}{\titlerule*[\tc@dotspacing]{.}\normalsize\normalfont\contentspage}
+ \def\appendixname{#2}%
+ \def\appendixpagename{#1}%
+ \def\appendixtocname{#1}%
+ \begin{appendices}%
+ \let\tc@appendixautorefname@tmp\appendixautorefname
+ \def\appendixautorefname{#2}
+ }%
+ {\let\appendixautorefname\tc@appendixautorefname@tmp\end{appendices}}
+
+\NewDocumentEnvironment{annex}{O{\defannexpagename}O{\defannexname}}{\begin{appendix}[#1][#2]}{\end{appendix}}
+
+%%%
+%%% Headings definitions {package titlesec}
+%%%
+%\RenewDocumentCommand{\thechapter}{}{\arabic{chapter}}
+\titleformat{\chapter}{\sffamily\bfseries\selectfont\Large}{\thechapter}{2ex}{\MakeUppercase}
+\titleformat{name=\chapter,numberless}{\sffamily\bfseries\selectfont\Large\center}{}{0pt}{\MakeUppercase}
+\titlespacing{\chapter}{0pt}{\tc@chapbefore}{\tc@chapafter}
+
+%\def\tc@chapbefore{18pt plus 3pt minus 6pt}
+%\def\tc@chapafter{9pt plus 3pt minus 3pt}
+%\def\tc@secbefore{12pt plus 6pt minus 3pt}
+%\def\tc@secafter{6pt plus 2pt minus 2pt}
+
+\def\tc@chapbefore{70pt plus 12pt minus 8pt}
+\def\tc@chapafter{36pt plus 8pt minus 8pt}
+\def\tc@secbefore{27pt plus 6pt minus 6pt}
+\def\tc@secafter{18pt plus 4pt minus 4pt}
+
+\titleformat{\section}[hang]{\normalfont\scshape\selectfont\large}{\thesection}{.5em}{}
+\titlespacing{\section}{0pt}{\tc@secbefore}{\tc@secafter}
+
+\titleformat{name=\section,numberless}[hang]{\normalfont\large\bfseries\scshape\selectfont\center}{}{0pt}{}
+\titlespacing{name=\section,numberless}{0pt}{\tc@secbefore}{\tc@secafter}
+
+\titleformat{\subsection}[hang]{\normalfont\sffamily\bfseries\slshape\selectfont}{\thesubsection}{.5em}{}
+\titlespacing{\subsection}{0pt}{\tc@secbefore}{\tc@secafter}
+
+\titleformat{\subsubsection}[hang]{\normalfont\sffamily\slshape\selectfont}{\thesubsubsection}{.5em}{}
+\titlespacing{\subsubsection}{0pt}{\tc@secbefore}{\tc@secafter}
+
+\titleformat{\paragraph}[hang]{\normalfont\sffamily\selectfont}{\theparagraph}{.5em}{\tightul}
+\titlespacing{\paragraph}{0pt}{\tc@secbefore}{\tc@secafter}
+
+\titleformat{\subparagraph}[hang]{\normalfont\sffamily\selectfont}{\thesubparagraph}{.5em}{\tightul}
+\titlespacing{\subparagraph}{0pt}{\tc@secbefore}{\tc@secafter}
+
+%%%
+%%% Relative/Absolute counters... {package chngcntr}
+%%%
+\iftcif@dctools
+\else
+\iftcif@relnum%
+ \counterwithin{figure}{chapter}%
+ \counterwithin{table}{chapter}%
+\else%
+ \counterwithout{figure}{chapter}%
+ \counterwithout{table}{chapter}%
+\fi
+\fi
+%%%
+%%% Page Heading format {titlesec/titleps}
+%%%
+\renewpagestyle{plain}{\sethead[\ifthechapter{\sffamily\thepage}{}][][]{}{}{\ifthechapter{\sffamily\thepage}{}}}
+\newpagestyle{main}{\sethead[\ifthechapter{\sffamily\thepage}{}][][]{}{}{\ifthechapter{\sffamily\thepage}{}}}
+\newpagestyle{bibliography}{\sethead[\sffamily\thepage][][]{}{}{\sffamily\thepage}}
+\pagestyle{main}
+
+\iftcif@chapternopagenum\renewpagestyle{plain}{\sethead[][][]{}{}{}}\fi
+
+\let\tc@temp@printbibliography\printbibliography
+
+\defbibheading{bibliography}[\refname]{\nonum\chapter{#1}\pagestyle{bibliography}}
+
+\let\tc@temp@listoffigures\listoffigures
+\def\listoffigures{\tc@temp@listoffigures\addcontentsline{toc}{chapter}{\MakeUppercase\listfigurename}}
+%%
+\let\tc@temp@listoftables\listoftables
+\def\listoftables{\tc@temp@listoftables\addcontentsline{toc}{chapter}{\MakeUppercase\listtablename}}
+%%
+
+
+\newlength{\tc@lblwidth}
+\NewDocumentCommand{\NewChapListEnv}{mm}{
+ \NewDocumentEnvironment{#1}{O{}m}{%
+ \settowidth{\tc@lblwidth}{##2***}%
+ \nonum\chapter{\MakeUppercase{#2}}%
+ \begin{description}[tcc,noindent,leftmargin=\tc@lblwidth,labelwidth=!,##1]%
+ }{\end{description}}
+}
+
+\NewChapListEnv{listofabbrv}{\listabbrvname}
+\NewChapListEnv{listofsymbols}{\listsymbolname}
+
+
+%%%
+%%% lists formating {package enumitem}
+%%%
+
+\def\tc@enumbase{6mm}
+\def\tc@enummarging{12mm}
+\def\tc@enummargingB{18mm}
+\def\tc@enumlabelsep{2.5mm}
+\setlength{\parindent}{\tc@enummarging}
+
+\SetEnumitemValue{label}{arabic}{\arabic*.}
+\SetEnumitemValue{label}{roman}{\roman*.}
+\SetEnumitemValue{label}{alpha}{\alph*.}
+\SetEnumitemValue{label}{bullet}{\hfill\textopenbullet}
+
+\SetEnumitemKey{ppc}{leftmargin=\tc@enummarging,labelindent=\tc@enumbase,labelsep=\tc@enumlabelsep,labelwidth=!,style=nextline}
+\SetEnumitemKey{tcc}{leftmargin=\tc@enummarging,labelindent=\tc@enumbase,labelsep=\tc@enumlabelsep,labelwidth=!,style=nextline}
+%
+\SetEnumitemKey{parindent}{leftmargin=\tc@enummargingB,labelindent=\tc@enummarging,labelwidth=!}
+\SetEnumitemKey{noindent}{labelindent=0pt,labelwidth=!}
+\SetEnumitemKey{tight}{leftmargin=0pt,listparindent=5mm,labelwidth=5mm}
+%
+\SetEnumitemKey{miditemsep}{parsep=0ex,itemsep=0.4ex}
+
+%\SetEnumitemKey{ppctight}{leftmargin=0pt,listparindent=5mm,labelwidth=5mm}
+
+
+\SetEnumitemKey{arabic}{label=\arabic*.}
+\SetEnumitemKey{arabic)}{label=\arabic*)}
+\SetEnumitemKey{(arabic)}{label=(\arabic*)}
+\SetEnumitemKey{arabic*}{label*=\arabic*.}
+\SetEnumitemKey{arabic*)}{label*=\arabic*)}
+\SetEnumitemKey{roman}{label=\roman*.}
+\SetEnumitemKey{roman)}{label=\roman*)}
+\SetEnumitemKey{(roman)}{label=(\roman*)}
+\SetEnumitemKey{roman*}{label*=\roman*.}
+\SetEnumitemKey{roman*)}{label*=\roman*)}
+\SetEnumitemKey{Roman}{label=\Roman*.}
+\SetEnumitemKey{Roman)}{label=\Roman*)}
+\SetEnumitemKey{(Roman)}{label=(\Roman*)}
+\SetEnumitemKey{Roman*}{label*=\Roman*.}
+\SetEnumitemKey{Roman*)}{label*=\Roman*)}
+\SetEnumitemKey{alpha}{label=\alph*.}
+\SetEnumitemKey{alpha)}{label=\alph*)}
+\SetEnumitemKey{(alpha)}{label=(\alph*)}
+\SetEnumitemKey{alpha*}{label*=\alph*.}
+\SetEnumitemKey{alpha*)}{label*=\alph*)}
+\SetEnumitemKey{Alpha}{label=\Alph*.}
+\SetEnumitemKey{Alpha)}{label=\Alph*)}
+\SetEnumitemKey{(Alpha)}{label=(\Alph*)}
+\SetEnumitemKey{Alpha*}{label*=\Alph*.}
+\SetEnumitemKey{Alpha*)}{label*=\Alph*)}
+\SetEnumitemKey{bullet}{label=\hfill\textopenbullet}
+
+%%%
+%%% tight underline {packages soul, countour}
+%%%
+\contourlength{0.17ex}%
+\contournumber{96}%
+
+\NewDocumentCommand{\tightul}{m}{%
+ \setul{0.355ex}{0.075ex}%
+ \ul{{\phantom{{#1}}}}%
+ \llap{\contour{white}{#1}}%
+}
+
+%%%
+%%% keyword command definition (for abstract)
+%%%
+\newcounter{tc@kwcounter}%
+\NewDocumentCommand{\keyword}{m}{%%
+ \stepcounter{tc@kwcounter}%%
+ \expandafter\gdef\csname keyw\alph{tc@kwcounter}\endcsname{#1}%%
+}%
+\NewDocumentCommand{\tcabnt@abstractkw}{}{%%
+ \@ifundefined{keywa}{}{\expandafter\MakeUppercase\keywa}%%
+ \@ifundefined{keywb}{}{, \keywb}%%
+ \@ifundefined{keywc}{}{, \keywc}%%
+ \@ifundefined{keywd}{}{, \keywd}%
+ \@ifundefined{keywe}{}{, \keywe}%
+ \@ifundefined{keywf}{}{, \keywf}%
+ \@ifundefined{keywg}{}{, \keywg}%
+ \@ifundefined{keywh}{}{, \keywh}%
+ \@ifundefined{keywi}{}{, \keywi}%
+ \@ifundefined{keywj}{}{, \keywj}%
+}%
+
+\let\tc@org@abstract\abstract
+\let\tc@org@endabstract\endabstract
+
+\RenewDocumentEnvironment{abstract}{}{%%
+ \notoc\chapter{\abstractname}%
+}{%%
+ \par\vspace{2ex} %\vfill%
+ \noindent\textbf{\keywordsname:} \tcabnt@abstractkw.%
+}%
+
+\NewDocumentEnvironment{otherabstract}{O{english}m}{%%
+ \gdef\tc@otherkeywords{#2}%%
+ \begin{otherlanguage}{#1}%
+ \notoc\chapter{\abstractname}%
+}{%
+ \par\vspace{2ex} %\vfill%
+ \noindent\textbf{\keywordsname:} \tc@otherkeywords.%
+ \end{otherlanguage}%
+}%
+
+
+
+%==============================================================================%
+% date redefinition (separated month and year)
+%==============================================================================%
+\RenewDocumentCommand{\date}{O{\number\day}mm}{%
+ \gdef\tc@publmonth{#2}%
+ \gdef\tc@publyear{#3}%
+ \gdef\tc@publday{\ifnum #1<10 0\fi #1}%
+}%
+\date{\monthname}{\number\year}%
+
+%for english%
+\@namedef{captionsenglish}{%%
+ \input{ufrgscca-en-base.def}%%
+}%
+\@namedef{dateenglish}{%%
+ \def\today{\monthname\space\number\day,\space\number\year}%%
+ \def\monthname{%%
+ \ifcase\month\or%%
+ January\or February\or March\or April\or%%
+ May\or June\or July\or August\or September\or%%
+ October\or November\or December%%
+ \fi%%
+ }%%
+ \def\tc@date{\tc@publmonth~\tc@publyear}%%
+}%
+%
+%para portugues%
+\@namedef{captionsbrazilian}{%%
+ \input{ufrgscca-ptBR-base.def}%%
+}%
+\@namedef{datebrazilian}{%%
+ \def\today{\number\day\space de\space\monthname\space de\space\number\year}%%
+ \def\monthname{%%
+ \ifcase\month\or%%
+ Janeiro\or Fevereiro\or Março\or Abril\or%%
+ Maio\or Junho\or Julho\or Agosto\or Setembro\or%%
+ Outubro\or Novembro\or Dezembro%%
+ \fi%%
+ }%%
+ \def\tc@date{\tc@publmonth\ de~\tc@publyear}%%
+}%
+%
+%
+% Mainly for 'cover pages'
+\def\tc@pagebreak{\if@openright\cleardoublepage\else\clearpage\fi}
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
new file mode 100644
index 0000000000..fc83276076
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -0,0 +1,1006 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-coord}
+\def\tc@tmp@altpackname{ufrgsccacoord}
+ \def\tc@tmp@packdesc{UFRGS/CCA coord commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+ \let\@exp\expandafter
+ \@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+ \@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\newif\iftcif@coord@emptyforms\tcif@coord@emptyformsfalse
+\DeclareKeys[ufrgscca-coord]{
+ calendar.usage = general,
+ calendar.if = tcif@coord@calendar,
+ checklist.usage = general,
+ checklist.if = tcif@coord@checklist,
+ report.usage = general,
+ report.if = tcif@coord@report,
+ boards.usage = general,
+ boards.if = tcif@coord@boards,
+ boarddates.usage = general,
+ boarddates.if = tcif@coord@boarddates,
+ studentlist.usage = general,
+ studentlist.if = tcif@coord@studentlist,
+ revforms.usage = general,
+ revforms.if = tcif@coord@forms@revforms,
+ referral.usage = general,
+ referral.if = tcif@coord@forms@referral,
+ cocertificate.usage = general,
+ cocertificate.if = tcif@coord@forms@cocertificate,
+}
+\ProcessKeyOptions[ufrgscca-coord]\relax
+\NewDocumentCommand{\setreports}{m}{\SetKeys[ufrgscca-coord]{#1}}
+
+\def\c@one#1:#2:{\csname #1\endcsname}
+\def\c@two#1:#2:{\csname #1\endcsname[newpage]}
+\def\tccoord@split#1:#2:#3#4#5,{#4#1:#2:}
+\NewDocumentCommand{\tccoord@student@exec}{m}{\tccoord@split#1::\c@two\c@one\empty,}
+
+\RequirePackage{longtable}
+\RequirePackage{ufrgscca-forms}
+\RequirePackage{ufrgscca-gen}
+\RequirePackage{ufrgscca-core}
+
+%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%
+\cmdfactory<coord>{boardstitle}
+\cmdfactory<coord>{boardsworklabel}
+\cmdfactory<coord>{TCCgradesNlabel,TCCgradesClabel}%
+
+\cmdfactory<coord>{calendartitle,tcccalendardesc}%
+\cmdfactory<coord>{tccreporttitle,tccreportopening,tccreportdesc,tccreportabsents,tccreportdismiss}%
+\cmdfactory<coord>{tccreferralopening,referralfailed,referralapproved,referralfailFF}
+\cmdfactory<coord>{referralexamapprovedtext,referralexamfailtext,referralfatetext}%
+\cmdfactory<coord>{boardlabel,cocertificatetitle,cocertificateopenning,cocertificatetext}%
+\cmdfactory<coord>{TCCperiod,boardstitleB,boardsOBS}%
+\cmdfactory<coord>{studentlistformtitle,studentlistactivity,studentlistdate}%
+
+
+
+%%% this should go to ufrgscca-coord !!!!
+\NewDocumentCommand{\TCCgrades}{mmmmm}{%
+ \gdef\tc@TCCgradeA{#1}%
+ \gdef\tc@TCCgradeB{#2}%
+ \gdef\tc@TCCgradeC{#3}%
+ \gdef\tc@TCCgradeD{#4}%
+ \gdef\tc@TCCgradeFF{#5}%
+}%
+%
+%%% this should go to ufrgscca-coord !!!!
+\NewDocumentCommand{\TCCgradesN}{mmm}{%
+ \gdef\tc@TCCgradeAN{#1}%
+ \gdef\tc@TCCgradeBN{#2}%
+ \gdef\tc@TCCgradeCN{#3}%
+}%
+
+
+%%%%%%%%%
+%%%%%%%%% ufrgscca-coord !!!
+%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentExam}{m}{%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}Exam\endcsname{#1}%
+}%
+ \NewDocumentCommand{\tccoord@studentFF}{}{%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}FF\endcsname{1}%
+ \gdef\tc@TCCff@flag{1}%
+}%
+\NewDocumentCommand{\tccoord@studentDismiss}{}{%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}Dismiss\endcsname{1}%
+ \gdef\tc@TCCdismiss@flag{1}%
+}%
+\NewDocumentCommand{\studentFate}{O{}}{%%
+ \ifthenelse{\equal{#1}{C}}{%%
+ \tccoord@studentExam{C}%%
+ }{%%
+ \ifthenelse{\equal{#1}{D}}{%%
+ \tccoord@studentExam{D}%%
+ }{%%
+ \ifthenelse{\equal{#1}{FF}}{%%
+ \tccoord@studentFF%%
+ }{%%
+ \ifthenelse{\equal{#1}{Dismiss}}{%%
+ \tccoord@studentDismiss%%
+ }{%%
+ }%%
+ }%%
+ }%%
+ }%%
+}%%
+%
+%
+\NewDocumentCommand{\studenttimeslot}{O{}mm}{%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}date\endcsname{#2}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}time\endcsname{#3}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}local\endcsname{#1}%
+}%
+\let\timeslot\studenttimeslot%
+%
+\NewDocumentCommand{\tccdate}{mm}{%%
+ \expandafter\gdef\csname date:#1\endcsname{#2}%
+}%
+%
+
+%%%%%%%%%
+%%%%%%%%% ufrgscca-coord !?!!
+%%%%%%%%%
+\NewDocumentCommand{\studentTCCtitle}{m}{%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}title\endcsname{#1}%
+}%
+\let\TCCtitle\studentTCCtitle%
+%
+%%%%%%%%%
+%%%%%%%%% ufrgscca-coord !!!
+%%%%%%%%%
+\NewDocumentCommand{\studentremark}{m}{%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}remark\endcsname{#1}%
+}%
+%
+
+
+
+%
+\NewDocumentCommand{\tccoord@checklist}{m}{\expandafter\gdef\csname tc@student\Alph{tc@studentcount}:#1\endcsname{}}%
+\NewDocumentCommand{\checklist}{m}{\forcsvlist{\tccoord@checklist}{#1}}%
+%
+\NewDocumentCommand{\addtostudent}{mm}{\@ifundefined{#1}{}{\csappto{#1.hook}{#2}}}
+%
+\NewDocumentCommand{\checkedbox}{}{\ooalign{$\square$\cr\hidewidth\raise.3ex\hbox{$\checkmark\mkern-7mu$}\hidewidth\cr}}%
+\NewDocumentCommand{\uncheckedbox}{}{$\square$}%
+\NewDocumentCommand{\tccoord@@check}{mm}{\@ifundefined{tc@student#1:#2}{\uncheckedbox}{\checkedbox}}%
+\NewDocumentCommand{\tccoord@check}{mm}{\@ifundefined{#2}{}{\tccoord@@check{#1}{\csname #2\endcsname} \csname @\csname #2\endcsname\endcsname}}%
+\NewDocumentCommand{\checkdef}{mmm}{\expandafter\gdef\csname #1\endcsname{#2}\expandafter\gdef\csname @#2\endcsname{#3}}%
+%\chekmark%
+
+%%%%%
+%%%%% ufrgscca-coord !!!!
+%%%%%
+\NewDocumentCommand{\tccoord@studentboardsnewpage}{}{% %%% see ufrgscca-core for counters...
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}BoardsNP\endcsname{1}%
+}%
+
+\NewDocumentCommand{\NewStudent}{m+m}{%%
+ \expandafter\NewDocumentCommand\csname #1\endcsname{O{}}{%%
+ #2%
+ \csname #1.hook\endcsname
+ \@ifundefined{tccoord@studentboards##1}{}{\csname tccoord@studentboards##1\endcsname}%%
+ \iftcif@coord@forms@revforms
+ \tcforms@examinersForms
+ \fi
+ \iftcif@coord@forms@referral
+ \tccoord@TCCreferralletter
+ \fi
+ \iftcif@coord@forms@cocertificate
+ \tccoord@TCCcocertificateletter
+ \fi
+
+ \@defaultboard%
+ }%%
+ \expandafter\NewDocumentCommand\csname #1.hook\endcsname{}{}
+}%
+
+
+
+\NewDocumentCommand{\@distinctboard}{}{\def\tc@nBoard{}}%
+\NewDocumentCommand{\@defaultboard}{}{\let\tc@nBoard\undefined}%
+%
+%
+\newcounter{tc@calendareventcount}%
+\NewDocumentCommand{\tcccalendarevent}{mm}{%%
+ \stepcounter{tc@calendareventcount}%%
+ \expandafter\gdef\csname tc@tcccalendarevent\Alph{tc@calendareventcount}week\endcsname{#1}%%
+ \expandafter\gdef\csname tc@tcccalendarevent\Alph{tc@calendareventcount}desc\endcsname{#2}%%
+}%
+\NewDocumentCommand{\tcccalendarhead}{mmm}{\gdef\tc@tcccalendarhead{#1 & #2 & #3\\}}%
+%
+\newcounter{tc@calendareventdatecount}%
+\NewDocumentCommand{\tcccalendareventdate}{m}{%%
+ \stepcounter{tc@calendareventdatecount}%%
+ \expandafter\gdef\csname tc@tcccalendarevent\Alph{tc@calendareventdatecount}date\endcsname{#1}%%
+}%
+%
+
+
+%
+\NewDocumentCommand{\examinergrades}{mmm}{%%
+ \expandafter\def\csname tc@student\Alph{tc@studentcount}@examiner\Alph{tc@examinercount}pointA\endcsname{#1}%%
+ \expandafter\def\csname tc@student\Alph{tc@studentcount}@examiner\Alph{tc@examinercount}pointB\endcsname{#2}%%
+ \expandafter\def\csname tc@student\Alph{tc@studentcount}@examiner\Alph{tc@examinercount}pointC\endcsname{#3}%%
+ \ifthenelse{\equal{#1}{}}{%%
+ \expandafter\def\csname tc@student\Alph{tc@studentcount}@examiner\Alph{tc@examinercount}grade\endcsname{0}%
+ }{%%
+ \expandafter\edef\csname tc@student\Alph{tc@studentcount}@examiner\Alph{tc@examinercount}grade\endcsname{\fpeval{round((\tc@TCCpointAweight * #1 + \tc@TCCpointBweight * #2 + \tc@TCCpointCweight * #3),2,1)} }%
+ }%
+ }%
+
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC calendar%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tc@calendartab{11.5cm}%
+\NewDocumentCommand{\tccoord@TCCcalendarline}{m}{\@ifundefined{tc@tcccalendarevent#1week}{}{\textbf{\csname tc@tcccalendarevent#1date\endcsname} & \csname tc@tcccalendarevent#1week\endcsname & \csname tc@tcccalendarevent#1desc\endcsname\\\hline}}%
+%%%
+%%
+%%%
+\NewDocumentCommand{\tccoord@TCCcalendar}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@calendartitle}%
+%
+ { \footnotesize%
+ \begin{center}
+%
+ \resizebox{\textwidth}{!}{%%
+ \begin{tabular}{ccp{\tc@calendartab}}%
+ \tc@tcccalendarhead\hline%
+ \tccoord@TCCcalendarline{A}%
+ \tccoord@TCCcalendarline{B}%
+ \tccoord@TCCcalendarline{C}%
+ \tccoord@TCCcalendarline{D}%
+ \tccoord@TCCcalendarline{E}%
+ \tccoord@TCCcalendarline{F}%
+ \tccoord@TCCcalendarline{G}%
+ \tccoord@TCCcalendarline{H}%
+ \tccoord@TCCcalendarline{I}%
+ \tccoord@TCCcalendarline{J}%
+ \tccoord@TCCcalendarline{K}%
+ \tccoord@TCCcalendarline{L}%
+ \tccoord@TCCcalendarline{M}%
+ \tccoord@TCCcalendarline{N}%
+ \tccoord@TCCcalendarline{O}%
+ \end{tabular}}
+%
+ \end{center}%
+ %\if@lmodern
+ \tiny
+ %\fi
+ \tcdef@coord@tcccalendardesc%
+ }%
+ \vfill%
+%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% Student list form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tc@stlistrule{65mm}%
+\def\tc@stlisttab{70mm}%
+%%%
+%%
+%%%
+\NewDocumentCommand{\tccoord@studentlistrow}{m}{%%
+ \@ifundefined{tc@student#1}{\rule{\tc@stlistrule}{.1pt}}{\csname tc@student#1\endcsname}\hrulefill & \rule{\tc@stlistrule}{.1pt}\\%
+}%
+%
+\NewDocumentCommand{\tccoord@studentlistform}{}{%
+ \stepcounter{tc@studentcount}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@studentlistformtitle}%
+ \vspace{20mm}%
+%
+ {\small%
+ \begin{tabular}{p{\tc@stlisttab}@{ }p{\tc@stlisttab}}%
+ \tcdef@forms@formsstudentlabelgen & \tcdef@forms@studentsignaturegen\\\hline\\[2mm]%
+
+%
+ \tccoord@studentlistrow{A}
+%
+ \tccoord@studentlistrow{B}%
+ \tccoord@studentlistrow{C}%
+ \tccoord@studentlistrow{D}%
+ \tccoord@studentlistrow{E}%
+%
+ \tccoord@studentlistrow{F}%
+ \tccoord@studentlistrow{G}%
+ \tccoord@studentlistrow{H}%
+ \tccoord@studentlistrow{I}%
+ \tccoord@studentlistrow{J}%
+%
+ \tccoord@studentlistrow{K}%
+ \tccoord@studentlistrow{L}%
+ \tccoord@studentlistrow{M}%
+ \tccoord@studentlistrow{N}%
+ \tccoord@studentlistrow{O}%
+%
+ \tccoord@studentlistrow{P}%
+ \tccoord@studentlistrow{Q}%
+ \tccoord@studentlistrow{R}%
+ \tccoord@studentlistrow{S}%
+ \tccoord@studentlistrow{T}%
+%
+ \tccoord@studentlistrow{U}%
+ \tccoord@studentlistrow{V}%
+ \tccoord@studentlistrow{W}%
+ \tccoord@studentlistrow{X}%
+ \tccoord@studentlistrow{Y}%
+ \end{tabular}}%
+ \vfill%
+%
+ \pagebreak%
+}%
+%
+%%%
+%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student info row (for reports and referral letters)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tc@BoardTabA{38mm}%
+\def\tc@BoardTabB{38mm}%
+\def\tc@BoardTabC{60mm}%
+\def\tc@BoardTabD{13mm}%
+%%%
+%%
+%%%
+\NewDocumentCommand{\tccoord@studentboardrow}{m}{%%
+ \@ifundefined{tc@student#1}{}{%
+ \@ifundefined{tc@student#1Dismiss}{%%
+ \@ifundefined{tc@student#1FF}{%%
+ \@ifundefined{tc@student#1time}{}{%%
+ \multirow{4}{\tc@BoardTabA}{\textbf{\csname tc@student#1\endcsname}} & \multirow{4}{\tc@BoardTabB}{{\csname tc@student#1@advisor\endcsname}} & \csname tc@student#1@examinerA\endcsname & \multirow{5}{\tc@BoardTabD}{\iftcif@coord@boarddates\else\csname tc@student#1date\endcsname\\\fi
+ \csname tc@student#1time\endcsname\\[1mm]\csname tc@student#1local\endcsname
+ }\\*%
+ & & \csname tc@student#1@examinerB\endcsname & \\*%
+ & & \csname tc@student#1@examinerC\endcsname & \\*%
+ & & (\csname tc@student#1@altexaminerA\endcsname\ ) & \\*%
+ \multicolumn{3}{l}{\textsc{\tcdef@coord@boardsworklabel:} \begin{minipage}{0.90\textwidth}\textit{\csname tc@student#1title\endcsname}\end{minipage}} & \\[2mm]\hline%
+ }%
+ }{}%
+ }{}%
+ }%
+}%
+%
+\NewDocumentCommand{\tccoord@testdaterow}{mm}{%%
+% \@ifundefined{tcif@coord@boarddates}{}{%%
+ \iftcif@coord@boarddates%
+ \@ifundefined{tc@student#2}{}{%%
+ \@ifundefined{tc@student#2Dismiss}{%%
+ \@ifundefined{tc@student#2FF}{%%
+ \@ifundefined{tc@student#2BoardsNP}{%%
+ \tccoord@@testdaterow{\csname tc@student#1date\endcsname}{\csname tc@student#2date\endcsname}%%
+ }{\kill\pagebreak\tccoord@daterow{#2}}%%
+ }{}%%
+ }{}%%
+ }%%
+ \fi
+ %}%%@boarddates
+}%%
+%
+\NewDocumentCommand{\tccoord@@testdaterow}{mm}{\ifthenelse{\equal{#1}{#2}}{\\[-4.35mm]\hline\\[-4mm]}{\tccoord@@daterow{#2}}}%
+\NewDocumentCommand{\tccoord@daterow}{m}{\gdef\tc@date{\csname tc@student#1date\endcsname}\tccoord@@daterow{\tc@date}}%
+\NewDocumentCommand{\tccoord@@daterow}{m}{& & \multicolumn{2}{r}{\textsc{\textbf{\csname date:#1\endcsname\ --- #1}}} \\*%
+ \textsc{\tcdef@forms@formsstudentlabelgen} & \textsc{\tcdef@forms@formsadvisorlabelgen} & \textsc{\tcdef@forms@formsboardtitle} & \textsc{\tcdef@forms@formstimelabel}\\*\hline}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Boards announce table%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@TCCboards}{}{%
+ \stepcounter{tc@studentcount}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@TCCperiod}%
+%
+ {%%
+ \footnotesize\gdef\tc@date{\csname tc@studentAdate\endcsname}%
+ \setlength\LTleft{-8mm} \begin{center}%
+ {%%
+ \begin{longtable}{p{\tc@BoardTabA}p{\tc@BoardTabB}p{\tc@BoardTabC}p{\tc@BoardTabD}}%
+ \multicolumn{4}{c}{\textbf{\textsc{\tcdef@coord@boardstitle}}}\\\hline%
+ \iftcif@coord@boarddates\else\textsc{\tcdef@forms@formsstudentlabelgen} & \textsc{\tcdef@forms@formsadvisorlabelgen} & \textsc{\tcdef@forms@formsboardtitle} & \textsc{\tcdef@forms@formstimelabel}\\\hline\fi%
+ \endhead%
+ \tccoord@testdaterow{T}{A}%
+ \tccoord@studentboardrow{A} \tccoord@testdaterow{A}{B}%
+ \tccoord@studentboardrow{B} \tccoord@testdaterow{B}{C}%
+ \tccoord@studentboardrow{C} \tccoord@testdaterow{C}{D}%
+ \tccoord@studentboardrow{D} \tccoord@testdaterow{D}{E}%
+ \tccoord@studentboardrow{E} \tccoord@testdaterow{E}{F}%
+%
+ \tccoord@studentboardrow{F} \tccoord@testdaterow{F}{G}%
+ \tccoord@studentboardrow{G} \tccoord@testdaterow{G}{H}%
+ \tccoord@studentboardrow{H} \tccoord@testdaterow{H}{I}%
+ \tccoord@studentboardrow{I} \tccoord@testdaterow{I}{J}%
+ \tccoord@studentboardrow{J} \tccoord@testdaterow{J}{K}%
+%
+ \tccoord@studentboardrow{K} \tccoord@testdaterow{K}{L}%
+ \tccoord@studentboardrow{L} \tccoord@testdaterow{L}{M}%
+ \tccoord@studentboardrow{M} \tccoord@testdaterow{M}{N}%
+ \tccoord@studentboardrow{N} \tccoord@testdaterow{N}{O}%
+ \tccoord@studentboardrow{O} \tccoord@testdaterow{O}{P}%
+%
+ \tccoord@studentboardrow{P} \tccoord@testdaterow{P}{Q}%
+ \tccoord@studentboardrow{Q} \tccoord@testdaterow{Q}{R}%
+ \tccoord@studentboardrow{R} \tccoord@testdaterow{R}{S}%
+ \tccoord@studentboardrow{S} \tccoord@testdaterow{S}{T}%
+ \tccoord@studentboardrow{T}%
+%
+ \end{longtable}%
+ }%
+ \end{center}%
+ {\bf \tcdef@coord@boardsOBS}%
+ }%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% \tccoord@fate => A,B,C,D as a function of student grade%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@fate}{m}{%
+ \ifthenelse{1 = \fpeval{#1 < \tc@TCCgradeCN}}%
+ {\tc@TCCgradeD}%
+ {
+ \ifthenelse{1 = \fpeval{#1 < \tc@TCCgradeBN}}%
+ {\tc@TCCgradeC}%
+ {
+ \ifthenelse{1 = \fpeval{#1 < \tc@TCCgradeAN}}%
+ {\tc@TCCgradeB}%
+ {\tc@TCCgradeA}%
+ }%
+ }%
+}
+\NewDocumentCommand{\tccoord@@fate}{m}{\tccoord@fate{\csname tc@student#1Temp\endcsname}}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% \tc@student grade => average of the 3 examiners grade%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentgrade}{m}{%%
+ \@ifundefined{tc@student#1}{}{%
+ \expandafter\edef\csname tc@student#1Temp\endcsname{%%
+\fpeval{round((\csname tc@student#1@examinerAgrade\endcsname + \csname tc@student#1@examinerBgrade\endcsname + \csname tc@student#1@examinerCgrade\endcsname)/3,2,1)}%
+ }%
+ }%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% examiners info (grades) for report/referral letters%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@examinersline}{mm}{%%
+& \csname tc@student#1@examiner#2\endcsname & \csname tc@student#1@examiner#2pointA\endcsname & \csname tc@student#1@examiner#2pointB\endcsname & \csname tc@student#1@examiner#2pointC\endcsname & \csname tc@student#1@examiner#2grade\endcsname &%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student extra info (process number, ID, email) for report%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentextrainfo}{m}{%%
+ (\csname tc@student#1Nproc\endcsname )\ \ \csname tc@student#1ID\endcsname\ / \csname tc@student#1email\endcsname%%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student info (all examiners, advisor, etc.) for report and referral letters.%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentrow}{O{}m}{%%
+ \@ifundefined{tc@student#2}{}{%%
+ \@ifundefined{tc@student#2FF}{%%
+ \@ifundefined{tc@student#2Dismiss}{%%
+ \multirow{4}{\tc@ReportTabA}{\csname tc@student#2\endcsname} %%
+ \tccoord@examinersline{#2}{A}\\*%%
+ \tccoord@examinersline{#2}{B}\\*%%
+ \tccoord@examinersline{#2}{C}\\*%%
+ & \multicolumn{4}{c}{\tcdef@cover@advisorname : \csname tc@student#2@advisor\endcsname} & \textbf{\csname tc@student#2Temp\endcsname} & %%
+ \textbf{\tccoord@@fate{#2}}%%
+ \@ifundefined{#1}{\\}{\\*%%
+ \multicolumn{6}{l}{\tcdef@coord@boardsworklabel: \csname tc@student#2title\endcsname}\\*%%
+ \multicolumn{6}{l}{\tccoord@studentextrainfo{#2}}\\*%
+ \multicolumn{6}{c}{{\bf \csname tc@student#2remark\endcsname}}\\%
+ }%%
+ \hline%%
+ }{%%
+ }%%
+ }{%%
+ }%%
+ }%%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student FF info (report)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentFFrow}{m}{%%
+ \@ifundefined{tc@student#1}{}{%%
+ \@ifundefined{tc@student#1Dismiss}{%%
+ \@ifundefined{tc@student#1FF}{%%
+ }{%%
+ \multicolumn{6}{l}{\csname tc@student#1\endcsname } & \tc@TCCgradeFF\\*%%
+ \multicolumn{6}{l}{\tccoord@studentextrainfo{#1} } & \\*%%
+ \multicolumn{6}{l}{\tcdef@cover@advisorname : \csname tc@student#1@advisor\endcsname} & \\\hline%%
+ }%%
+ }{}%%
+ }%%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student info (report), dimiss case%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\tc@studentDismissrow}[1]{%%
+ \@ifundefined{tc@student#1}{}{%%
+ \@ifundefined{tc@student#1FF}{%%
+ \@ifundefined{tc@student#1Dismiss}{%%
+ }{%%
+ \multicolumn{6}{l}{\csname tc@student#1\endcsname} & \\*%%
+ \multicolumn{6}{l}{\tccoord@studentextrainfo{#1} } & \\*%%
+ \multicolumn{6}{l}{\tcdef@cover@advisorname : \csname tc@student#1@advisor\endcsname} & \\\hline%%
+ }%%
+ }{}%%
+ }%%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC report (student grades, FF, dismiss)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tc@ReportTabA{32mm}%
+\def\tc@ReportTabB{42mm}%
+\def\tc@ReportTabC{15mm}%
+\def\tc@ReportTabD{15mm}%
+\def\tc@ReportTabE{15mm}%
+\def\tc@ReportTabF{8mm}%
+\def\tc@ReportTabG{12mm}%
+%%%%
+%%
+%%%%
+\NewDocumentCommand{\tccoord@TCCreport}{}{%
+ \stepcounter{tc@studentcount}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@tccreporttitle\ - \tcdef@coord@TCCperiod}%
+ {%%
+% \footnotesize%
+ \tiny%
+%%
+ \tccoord@studentgrade{A}%
+ \tccoord@studentgrade{B}%
+ \tccoord@studentgrade{C}%
+ \tccoord@studentgrade{D}%
+ \tccoord@studentgrade{E}%
+ \tccoord@studentgrade{F}%
+ \tccoord@studentgrade{G}%
+ \tccoord@studentgrade{H}%
+%%
+ \tccoord@studentgrade{I}%
+ \tccoord@studentgrade{J}%
+ \tccoord@studentgrade{K}%
+ \tccoord@studentgrade{L}%
+ \tccoord@studentgrade{M}%
+ \tccoord@studentgrade{N}%
+ \tccoord@studentgrade{O}%
+ \tccoord@studentgrade{P}%
+%%
+ \tccoord@studentgrade{Q}%
+ \tccoord@studentgrade{R}%
+ \tccoord@studentgrade{S}%
+ \tccoord@studentgrade{T}%
+ \tccoord@studentgrade{U}%
+ \tccoord@studentgrade{V}%
+ \tccoord@studentgrade{W}%
+ \tccoord@studentgrade{X}%
+%%
+ \begin{center}%
+ \begin{longtable}{p{\tc@ReportTabA}@{\ }p{\tc@ReportTabB}@{\ }p{\tc@ReportTabC}@{\ }p{\tc@ReportTabD}@{\ }p{\tc@ReportTabE}@{\ }p{\tc@ReportTabF}@{\ }p{\tc@ReportTabG}}%
+ \multicolumn{7}{c}{\tcdef@forms@formstitle\ \tcdef@coord@TCCperiod}\\\hline%
+ & \tcdef@coord@boardlabel & \tc@TCCpointAlabel & \tc@TCCpointBlabel & \tc@TCCpointClabel &%
+ \tcdef@coord@TCCgradesNlabel & \tcdef@coord@TCCgradesClabel\\\hline%
+ \endhead%
+ \tccoord@studentrow[tc@studentextrainfo]{A}%
+ \tccoord@studentrow[tc@studentextrainfo]{B}%
+ \tccoord@studentrow[tc@studentextrainfo]{C}%
+ \tccoord@studentrow[tc@studentextrainfo]{D}%
+ \tccoord@studentrow[tc@studentextrainfo]{E}%
+ \tccoord@studentrow[tc@studentextrainfo]{F}%
+ \tccoord@studentrow[tc@studentextrainfo]{G}%
+ \tccoord@studentrow[tc@studentextrainfo]{H}%
+%%
+ \tccoord@studentrow[tc@studentextrainfo]{I}%
+ \tccoord@studentrow[tc@studentextrainfo]{J}%
+ \tccoord@studentrow[tc@studentextrainfo]{K}%
+ \tccoord@studentrow[tc@studentextrainfo]{L}%
+ \tccoord@studentrow[tc@studentextrainfo]{M}%
+ \tccoord@studentrow[tc@studentextrainfo]{N}%
+ \tccoord@studentrow[tc@studentextrainfo]{O}%
+ \tccoord@studentrow[tc@studentextrainfo]{P}%
+%%
+ \tccoord@studentrow[tc@studentextrainfo]{Q}%
+ \tccoord@studentrow[tc@studentextrainfo]{R}%
+ \tccoord@studentrow[tc@studentextrainfo]{S}%
+ \tccoord@studentrow[tc@studentextrainfo]{T}%
+ \tccoord@studentrow[tc@studentextrainfo]{U}%
+ \tccoord@studentrow[tc@studentextrainfo]{V}%
+ \tccoord@studentrow[tc@studentextrainfo]{W}%
+ \tccoord@studentrow[tc@studentextrainfo]{X}%
+ \@ifundefined{tc@TCCff@flag}{}{%
+ & & & & & & \\%
+ & & & & & & \\%
+ \multicolumn{6}{l}{{\bf \tcdef@coord@tccreportabsents}}\\\hline%
+ \tccoord@studentFFrow{A}%
+ \tccoord@studentFFrow{B}%
+ \tccoord@studentFFrow{C}%
+ \tccoord@studentFFrow{D}%
+ \tccoord@studentFFrow{E}%
+ \tccoord@studentFFrow{F}%
+ \tccoord@studentFFrow{G}%
+ \tccoord@studentFFrow{H}%
+%%
+ \tccoord@studentFFrow{I}%
+ \tccoord@studentFFrow{J}%
+ \tccoord@studentFFrow{K}%
+ \tccoord@studentFFrow{L}%
+ \tccoord@studentFFrow{M}%
+ \tccoord@studentFFrow{N}%
+ \tccoord@studentFFrow{O}%
+ \tccoord@studentFFrow{P}%
+%%
+ \tccoord@studentFFrow{Q}%
+ \tccoord@studentFFrow{R}%
+ \tccoord@studentFFrow{S}%
+ \tccoord@studentFFrow{T}%
+ \tccoord@studentFFrow{U}%
+ \tccoord@studentFFrow{V}%
+ \tccoord@studentFFrow{W}%
+ \tccoord@studentFFrow{X}%
+ }%
+ \@ifundefined{tc@TCCdismiss@flag}{}{%
+ & & & & & & \\%
+ & & & & & & \\%
+ \multicolumn{6}{l}{{\bf \tcdef@coord@tccreportdismiss}}\\\hline%
+ \tc@studentDismissrow{A}%
+ \tc@studentDismissrow{B}%
+ \tc@studentDismissrow{C}%
+ \tc@studentDismissrow{D}%
+ \tc@studentDismissrow{E}%
+ \tc@studentDismissrow{F}%
+ \tc@studentDismissrow{G}%
+ \tc@studentDismissrow{H}%
+%%
+ \tc@studentDismissrow{I}%
+ \tc@studentDismissrow{J}%
+ \tc@studentDismissrow{K}%
+ \tc@studentDismissrow{L}%
+ \tc@studentDismissrow{M}%
+ \tc@studentDismissrow{N}%
+ \tc@studentDismissrow{O}%
+ \tc@studentDismissrow{P}%
+%%
+ \tc@studentDismissrow{Q}%
+ \tc@studentDismissrow{R}%
+ \tc@studentDismissrow{S}%
+ \tc@studentDismissrow{T}%
+ \tc@studentDismissrow{U}%
+ \tc@studentDismissrow{V}%
+ \tc@studentDismissrow{W}%
+ \tc@studentDismissrow{X}%
+ }%%
+ \end{longtable}%%
+ \end{center}%%
+ } %end of footnotesize%
+
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student check list row%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@studentcheckrow}{m}{%%
+ \@ifundefined{tc@student#1}{}{%%
+ \@ifundefined{tc@student#1FF}{%%
+ \@ifundefined{tc@student#1Dismiss}{%%
+ \multirow{4}{\tc@ReportTabA}{\csname tc@student#1\endcsname} %
+ & \tccoord@check{#1}{checkAA} & \tccoord@check{#1}{checkAB} & \tccoord@check{#1}{checkAC} & \tccoord@check{#1}{checkAD} & \tccoord@check{#1}{checkAE}\\*%
+ & \tccoord@check{#1}{checkBA} & \tccoord@check{#1}{checkBB} & \tccoord@check{#1}{checkBC} & \tccoord@check{#1}{checkBD} & \tccoord@check{#1}{checkBE}\\*%
+ & \tccoord@check{#1}{checkCA} & \tccoord@check{#1}{checkCB} & \tccoord@check{#1}{checkCC} & \tccoord@check{#1}{checkCD} & \tccoord@check{#1}{checkCE}\\*%
+ & \tccoord@check{#1}{checkDA} & \tccoord@check{#1}{checkDB} & \tccoord@check{#1}{checkDC} & \tccoord@check{#1}{checkDD} & \tccoord@check{#1}{checkDE}\\\hline%%
+ }{}%%
+ }{}%%
+ }%%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC check list%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@TCCchecklist}{}{%
+ \stepcounter{tc@studentcount}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{Check List - \tcdef@coord@TCCperiod}%
+ {%%
+% \footnotesize%
+ \scriptsize%
+ \setlength\LTleft{-10mm}%
+ \begin{center}%
+ \begin{longtable}{p{\tc@ReportTabA}lllll}%
+ \\\hline%
+ \endhead%
+ \tccoord@studentcheckrow{A}%
+ \tccoord@studentcheckrow{B}%
+ \tccoord@studentcheckrow{C}%
+ \tccoord@studentcheckrow{D}%
+ \tccoord@studentcheckrow{E}%
+ \tccoord@studentcheckrow{F}%
+ \tccoord@studentcheckrow{G}%
+ \tccoord@studentcheckrow{H}%
+%%
+ \tccoord@studentcheckrow{I}%
+ \tccoord@studentcheckrow{J}%
+ \tccoord@studentcheckrow{K}%
+ \tccoord@studentcheckrow{L}%
+ \tccoord@studentcheckrow{M}%
+ \tccoord@studentcheckrow{N}%
+ \tccoord@studentcheckrow{O}%
+ \tccoord@studentcheckrow{P}%
+%%
+ \tccoord@studentcheckrow{Q}%
+ \tccoord@studentcheckrow{R}%
+ \tccoord@studentcheckrow{S}%
+ \tccoord@studentcheckrow{T}%
+ \tccoord@studentcheckrow{U}%
+ \tccoord@studentcheckrow{V}%
+ \tccoord@studentcheckrow{W}%
+ \tccoord@studentcheckrow{X}%
+ \end{longtable}%%
+ \end{center}%%
+ } %end of footnotesize%
+
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%
+%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC referral letters :: approved/failed/FF%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@TCCcocertificateletter}{}{% tc@student\Alph{tc@studentcount}@#1
+ \@ifundefined{tc@student\Alph{tc@studentcount}@coadvisor}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@cocertificatetitle}%
+
+ \noindent \tcdef@coord@cocertificateopenning%
+ \vfill%
+\begin{center}
+{\sc \csname tc@student\Alph{tc@studentcount}@coadvisor\endcsname}
+\end{center}
+
+\vfill
+
+\tcdef@coord@cocertificatetext
+
+
+
+ \vfill%
+ \begin{flushright}%
+ \tc@city, \tc@publday\ de \tc@publmonth\ de \tc@publyear .%
+ \vfill %
+
+% \vfill%
+
+ $\overline{\text{\tcdef@core@TCCcoord}}$\\%
+ \tcdef@core@TCCcoordtitle%
+ \vfill
+ $\overline{\text{\tcdef@core@coursecoord}}$\\%
+ \tcdef@core@coursecoordtitle\\%
+ \tcdef@cover@course%
+
+ \end{flushright}%
+ \vfill%
+ \pagebreak%
+ }{}%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% referral fate :: failed or approved as per student grade%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@referralfate}{m}{\ifthenelse{1 = \fpeval{#1 <= \tc@TCCgradeCN}}{\tcdef@coord@referralfailed}{\tcdef@coord@referralapproved}}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC referral letters :: approved/failed/FF%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tccoord@TCCreferralletter}{}{%
+ \@ifundefined{tc@student\Alph{tc@studentcount}Dismiss}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@coord@TCCperiod}%
+
+ \noindent\tcdef@coord@tccreferralopening%
+ \vfill%
+
+ \@ifundefined{tc@student\Alph{tc@studentcount}FF}{%
+ \@ifundefined{tc@student\Alph{tc@studentcount}Exam}{%
+ \tccoord@studentgrade{\Alph{tc@studentcount}}%
+ \tcdef@coord@referralfatetext%
+
+ \vfill%
+
+ {\footnotesize%
+ \begin{center}%
+ \resizebox{\textwidth}{!}{%
+ \begin{tabular}{p{\tc@ReportTabA}@{\ }p{\tc@ReportTabB}@{\ }c@{\ }c@{\ }c@{\ }c@{\ }c}%\hline%
+ & \tcdef@coord@boardlabel & \tc@TCCpointAlabel & \tc@TCCpointBlabel & \tc@TCCpointClabel &%
+ \tcdef@coord@TCCgradesNlabel & \tcdef@coord@TCCgradesClabel\\\hline%
+ \tccoord@studentrow{\Alph{tc@studentcount}}%
+ \end{tabular}%
+ }%
+ \end{center}%
+ }%
+ }{%
+ \ifthenelse{\equal{\csname tc@student\Alph{tc@studentcount}Exam\endcsname}{D}}{%
+ \tcdef@coord@referralexamfailtext%
+ \vfill%
+ }{%
+ \tcdef@coord@referralexamapprovedtext%
+ \vfill%
+ }%
+ {%%
+ \footnotesize%
+ \begin{center}%
+ \begin{tabular}{p{\tc@ReportTabA}@{\ }p{\tc@ReportTabB}@{\ }c}%\hline%
+ & \tcdef@coord@boardlabel \\\hline%
+ \multirow{3}{\tc@ReportTabA}{\csname tc@student\Alph{tc@studentcount}\endcsname} %
+ &\csname tc@student\Alph{tc@studentcount}@examinerA\endcsname\\%
+ &\csname tc@student\Alph{tc@studentcount}@examinerB\endcsname\\%
+ &\csname tc@student\Alph{tc@studentcount}@examinerC\endcsname\\%
+ \multicolumn{2}{l}{\tcdef@forms@formsadvisorlabel : \csname tc@student\Alph{tc@studentcount}@advisor\endcsname} \\\hline%
+ \end{tabular}%
+ \end{center}%
+ }%
+ }%
+ }{%
+ \tcdef@coord@referralfailFF%
+ }%
+
+ \vfill%
+ \begin{flushright}%
+ \tc@city, \tc@publday\ de \tc@publmonth\ de \tc@publyear .%
+ \vfill %
+
+ \tcdef@core@TCCcoordtitle%
+ \vfill%
+
+ $\overline{\text{\tcdef@core@TCCcoord}}$%
+ \end{flushright}%
+ \vfill%
+ \pagebreak%
+ }{}%
+}%
+%
+
+\NewDocumentCommand{\tccoord@calendarfill}{}{%
+%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+ \@ifundefined{tc@tcccalendareventdateh}{\tcccalendareventdate{---}}{}%
+}
+
+
+\NewDocumentCommand{\setstudentlist}{mm}{\tcgen@cdef<coord>{list#1}{#2}}
+
+\NewDocumentCommand{\tcreports}{O{}m}{%%
+ \setreports{#1}
+ \tccoord@calendarfill%
+ \iftcif@coord@calendar%
+ \tccoord@TCCcalendar%
+ \fi%
+ \@ifundefined{tcdef@coord@list#2}{}{%
+ \expandafter\expandafter\expandafter\forcsvlist\expandafter\expandafter\expandafter\tccoord@student@exec\expandafter\expandafter\expandafter{\csname tcdef@coord@list#2\endcsname}
+ }
+ \iftcif@coord@checklist%
+ \tccoord@TCCchecklist%
+ \fi%
+ \iftcif@coord@report%
+ \tccoord@TCCreport%
+ \fi%
+ \iftcif@coord@boards%
+ \tccoord@TCCboards%
+ \fi%
+ \iftcif@coord@studentlist%
+ \tccoord@studentlistform%
+ \fi%
+}%%
+
+%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%
+%
+\iftcif@english%
+\input{ufrgscca-en-coord.def}%
+\else%
+\input{ufrgscca-ptBR-coord.def}%
+\fi%
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
new file mode 100644
index 0000000000..6d948f5f1b
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -0,0 +1,279 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-core}
+\def\tc@tmp@altpackname{ufrgsccacore}
+\def\tc@tmp@packdesc{UFRGS/CCA core commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student commands%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+\NewDocumentCommand{\tccore@articledefx}{mmmmm}{%
+ \expandafter\gdef\csname #1article\endcsname{#2}%
+ \expandafter\gdef\csname #1narticle\endcsname{#3}%
+ \expandafter\gdef\csname #1Article\endcsname{#4}%
+ \expandafter\gdef\csname #1Narticle\endcsname{#5}%
+}%
+\NewDocumentCommand{\tccore@articledefn}{m}{%
+ \tccore@articledefx{#1}{o(a)}{(a)}{O(A)}{(A)}%
+}%
+\NewDocumentCommand{\tccore@articledefm}{m}{%
+ \tccore@articledefx{#1}{o}{}{O}{}%
+}%
+\NewDocumentCommand{\tccore@articledeff}{m}{%
+ \tccore@articledefx{#1}{a}{a}{A}{A}%
+}%
+\NewDocumentCommand{\tccore@articledef}{mm}{%
+ \ifthenelse{\equal{#2}{m}}{%%
+ \tccore@articledefm{#1}%%
+ }{%%
+ \ifthenelse{\equal{#2}{f}}{%%
+ \tccore@articledeff{#1}%%
+ }{%%
+ \tccore@articledefn{#1}%%
+ }%%
+ }%%
+}%
+
+%
+% Exception:: those are only used at ufrgscca-forms, but, it make sense to be used at 'local.tex'
+%
+\cmdfactory<core>{formlocal}
+\cmdfactory<core>{tccbrief,tcccoadvisorbrief,tccadvisorsreview}
+
+
+\cmdfactory<core>{TCCcoordtitle}
+\NewDocumentCommand{\TCCcoord}{mO{}}{%
+ \tcgen@cdef<core>{TCCcoord}{#1}%
+ \tccore@articledef{tcdef@core@TCCcoord}{#2}%%
+}
+
+\cmdfactory<core>{coursecoordtitle}%
+\NewDocumentCommand{\coursecoord}{mO{}}{%
+ \tcgen@cdef<core>{coursecoord}{#1}%
+ \tccore@articledef{tcdef@core@coursecoord}{#2}%%
+}
+%
+%
+\def\tccore@ref@advisor{tc@student\Alph{tc@studentcount}@advisor}
+\def\tccore@ref@coadvisor{tc@student\Alph{tc@studentcount}@coadvisor}
+
+\NewDocumentCommand{\tccore@examiners}{m}{\def\tc@@examiners{tc@student\Alph{tc@studentcount}@#1}}%
+\def\tccore@ref@examiner{\tc@@examiners}
+\def\tccore@ref@student{tc@student\Alph{tc@studentcount}}
+\def\tccore@ref@coursecoord{tcdef@core@coursecoord}
+\def\tccore@ref@TCCcoord{tcdef@core@TCCcoord}
+
+\NewDocumentCommand{\tccore@@ref}{mm}{\expandafter\csname\csname tccore@ref@#1\endcsname#2\endcsname}%
+%
+%
+\let\tc@org@author\author
+%
+\newcounter{tc@studentcount}%
+\RenewDocumentCommand{\author}{mmO{}}{%
+ \stepcounter{tc@studentcount}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}last\endcsname{#1}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}first\endcsname{#2}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}\endcsname{#2 #1}%
+ \tccore@articledef{tc@student\Alph{tc@studentcount}}{#3}%%
+}%
+%
+\NewDocumentCommand{\authorinfo}{O{}mm}{%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}Nproc\endcsname{#1}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}ID\endcsname{#2}%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}email\endcsname{#3}%
+}%
+\NewDocumentCommand{\student}{mmO{}}{\author{#1}{#2}[#3]}%
+\NewDocumentCommand{\studentinfo}{O{}mm}{\authorinfo[#1]{#2}{#3}}%
+%----------
+%----------
+%
+\NewDocumentCommand{\tccore@ProfFields}{mmmmm}{%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1last\endcsname{#3}%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1first\endcsname{#4}%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1\endcsname{#2~#4 #3}%%
+ \tccore@articledef{tc@student\Alph{tc@studentcount}@#1}{#5}%
+
+}%
+\NewDocumentCommand{\tccore@ProfInfo}{mmmmm}{%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1institution\endcsname{#2}%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1titleinfo\endcsname{#3}%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1email\endcsname{#4}%%
+ \expandafter\gdef\csname tc@student\Alph{tc@studentcount}@#1phone\endcsname{#5}%%
+}%
+%
+%
+%
+\newcounter{tc@examinercount}[tc@studentcount]%
+%
+\NewDocumentCommand{\advisor}{O{}mmO{}}{%%
+ \tccore@ProfFields{advisor}{#1}{#2}{#3}{#4}%%
+%%% the advisor is also the first examiner if not @nBoard%
+ \@ifundefined{tc@nBoard}{\examiner[#1]{#2}{#3}[#4]}{}%%
+}%
+\NewDocumentCommand{\advisorinfo}{mmmm}{%%
+ \tccore@ProfInfo{advisor}{#1}{#2}{#3}{#4}%%
+%%% the advisor is also the first examiner if not @nBoard%
+ \@ifundefined{tc@nBoard}{\examinerinfo{#1}{#2}{#3}{#4}}{}%%
+}%
+%
+\NewDocumentCommand{\coadvisor}{O{}mmO{}}{%%
+ \tccore@ProfFields{coadvisor}{#1}{#2}{#3}{#4}%%
+}%
+\NewDocumentCommand{\coadvisorinfo}{mmmm}{%%
+ \tccore@ProfInfo{coadvisor}{#1}{#2}{#3}{#4}%%
+}%
+%
+%
+\NewDocumentCommand{\examiner}{O{}mmO{}}{%%
+ \stepcounter{tc@examinercount}%%
+ \tccore@ProfFields{examiner\Alph{tc@examinercount}}{#1}{#2}{#3}{#4}%%
+}%
+\NewDocumentCommand{\examinerinfo}{mmmm}{%%
+ \tccore@ProfInfo{examiner\Alph{tc@examinercount}}{#1}{#2}{#3}{#4}%%
+}%
+%
+\newcounter{tc@altexaminercount}[tc@studentcount]%
+\NewDocumentCommand{\altexaminer}{O{}mmO{}}{%%
+ \stepcounter{tc@altexaminercount}%%
+ \tccore@ProfFields{altexaminer\Alph{tc@altexaminercount}}{#1}{#2}{#3}{#4}%%
+}%
+\NewDocumentCommand{\altexaminerinfo}{mmmm}{%%
+ \tccore@ProfInfo{altexaminer\Alph{tc@altexaminercount}}{#1}{#2}{#3}{#4}%%
+}%
+%
+%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% assure that student/advisor/examiners... commands are defined with underlines (if not already defined)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\tc@IDrule{30mm}%
+\def\tc@emailrule{40mm}%
+\def\tc@namerule{50mm}%
+\def\tc@titlerule{40mm}%
+\def\tc@phonerule{20mm}%
+\def\tc@agreerule{25mm}%
+\def\tc@daterule{15mm}%
+%%%
+%%
+%%%
+\NewDocumentCommand{\tccore@emptyfields}{}{%
+
+ \@ifundefined{tc@studentA}{%
+ \student{\rule{\tc@namerule}{.1pt}}{}%
+ \studentinfo{\rule{\tc@IDrule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}%
+ }{}%
+ \@ifundefined{tc@studentA@advisor}{%
+ \advisor{\rule{\tc@namerule}{.1pt}}{}%
+ \advisorinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+%
+ \@ifundefined{tc@studentA@examinerC}{%
+ \examiner{\rule{\tc@namerule}{.1pt}}{}%
+ \examinerinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ \@ifundefined{tc@studentA@examinerC}{%
+ \examiner{\rule{\tc@namerule}{.1pt}}{}%
+ \examinerinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ \@ifundefined{tc@studentA@examinerC}{%
+ \examiner{\rule{\tc@namerule}{.1pt}}{}%
+ \examinerinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ \@ifundefined{tc@studentA@altexaminerA}{%
+ \altexaminer{\rule{\tc@namerule}{.1pt}}{}%
+ \altexaminerinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ %
+ % add an \iftcif@forms !!!
+ %
+ \@ifundefined{tcdef@core@tccbrief}{%
+ \tccbrief{\tcdef@core@formsblanklines}%
+ }{}%
+ \@ifundefined{tcdef@core@tcccoadvisorbrief}{%
+ \tcccoadvisorbrief{\tcdef@core@formsblanklines}%
+ }{}%
+ \@ifundefined{tcdef@core@tccadvisorsreview}{%
+ \tccadvisorsreview{\tcdef@core@formsblanklines}%
+ }{}%
+}%
+
+\NewDocumentCommand{\tccore@resetfields}{}{%
+ \setcounter{tc@studentcount}{0}
+ \csundef{tc@studentA}
+ \csundef{tc@studentA@advisor}
+ \csundef{tc@studentA@coadvisor}
+ \csundef{tc@studentA@examinerC}
+ \csundef{tc@studentA@altexaminerA}
+ \csundef{tcdef@core@tccbrief}
+ \csundef{tcdef@core@tcccoadvisorbrief}
+ \csundef{tcdef@core@tccadvisorsreview}
+} \ No newline at end of file
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
new file mode 100644
index 0000000000..b0578df792
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -0,0 +1,340 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-cover}
+\def\tc@tmp@altpackname{ufrgsccacover}
+\def\tc@tmp@packdesc{UFRGS/CCA cover commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\DeclareKeys[ufrgscca-cover]{
+ report.usage = load,
+ report.if = tcif@report,
+ internship.usage = load,
+ internship.if = tcif@internship
+}
+\ProcessKeyOptions[ufrgscca-cover]\relax
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% student commands%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\cmdfactory<cover>{course}
+\cmdfactory<cover>{courseacronym}%
+\cmdfactory<cover>{graduationtitle}
+\cmdfactory<cover>{university,universityacronym,universitydivision}
+\cmdfactory<cover>{divisiongradcouncil}%
+\cmdfactory<cover>{department,classcode,classname,subject}%
+\cmdfactory<cover>{secretaryacronym,secdivisionacronym}%
+\cmdfactory<cover>{advisorname,coadvisorname}
+\cmdfactory<cover>{examinername}%
+\cmdfactory<cover>{reportspecificinfo,approvalspecificinfo}%
+\cmdfactory<cover>{advisorwidth}
+\cmdfactory<cover>{profname,coprofname}%
+%
+\advisorwidth{0.55\textwidth}%
+%
+\NewDocumentCommand{\class}{mm}{\classcode{#1}\classname{#2}}%
+%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%%%%
+%%% cover pages and related macros%
+%%%%
+%%%%%%%%%%%%%%%%%%%%%%%
+\newlength{\tc@formwinvoffset}%
+\setlength{\tc@formwinvoffset}{24mm}%
+\NewDocumentCommand\tc@formtopbox{O{}+m+m}{%%
+ \begin{center}%%
+ \noindent%%
+ \parbox[t]{\textwidth}{%%
+ \centering%%
+ \vbox to \tc@formwinvoffset{%%
+ \tccover@covertopinfo%%
+ {\sc #2}%
+ }%%
+ }%
+
+ {\bf #3}\@ifundefined{#1}{}{\footnote[1]{\csname #1\endcsname}}%%
+ \end{center}%%
+}%
+
+
+%
+\NewDocumentCommand{\tccover@covertopinfo}{}{%%
+ \@ifundefined{tcdef@cover@university}{}{\MakeUppercase{\tcdef@cover@university}\\}%
+ \@ifundefined{tcdef@cover@universitydivision}{}{\MakeUppercase{\tcdef@cover@universitydivision}\\}%
+ \@ifundefined{tcdef@cover@course}{}{\MakeUppercase{\tcdef@cover@course}\\}%
+ \@ifundefined{tcdef@cover@department}{}{\MakeUppercase{\tcdef@cover@department}\\}%%
+ \@ifundefined{tcdef@cover@classname}{}{\MakeUppercase{\tcdef@cover@classcode\ --\ \tcdef@cover@classname}\\}%
+ \@ifundefined{tcdef@cover@subject}{}{\MakeUppercase{\tcdef@cover@subject}}%
+}%
+
+
+\NewDocumentCommand{\tccover@coveradvisorinfo}{}{%%
+ \@ifundefined{tc@studentA@advisor}{}{\vfill{\scshape\tcdef@cover@advisorname}:\\\null\hfill\tc@studentA@advisor}%
+ \@ifundefined{tc@studentA@coadvisor}{}{\\[6ex]{\scshape\tcdef@core@coadvisorname}:\\\null\hfill\tc@studentA@coadvisor}%
+}%
+%
+\NewDocumentCommand{\tccover@reportadvisorinfo}{}{%%
+ \@ifundefined{tc@studentA@advisor}{}{\vfill{\scshape\iftcif@internship\tcdef@cover@advisorname\else\tcdef@cover@profname\fi}:\\\null\hfill\tc@studentA@advisor}%
+ \@ifundefined{tc@studentA@coadvisor}{}{\\[6ex]{\scshape\iftcif@internship\tcdef@core@coadvisorname\else\tcdef@cover@coprofname\fi}:\\\null\hfill\tc@studentA@coadvisor}%
+}%
+%
+
+%%%%%%%%%%%%%%%%%%%
+\let\tc@org@maketitle\maketitle
+\RenewDocumentCommand{\maketitle}{}{\coverpages}%
+
+\NewDocumentCommand{\coverpages}{}{%%
+ \thecoverpage%that´s the first page%
+ \iftcif@report
+ \else
+ \thetitlepage%that´s the second page (for tcc)%
+ \theapprovalpage%that´s the third page (for tcc)%
+ \fi
+}%
+%
+
+%%%%%%%%%
+%%%
+%% 1st cover page%
+%%%
+%%%%%%%%%
+%%
+\newlength{\tc@coverwinwidth}\setlength{\tc@coverwinwidth}{95mm}%%
+\newlength{\tc@coverwinheight}\setlength{\tc@coverwinheight}{64mm}%%
+\newlength{\tc@coverwinvoffset}\setlength{\tc@coverwinvoffset}{112mm}%%
+\NewDocumentCommand{\location}{mm}{%%
+ \gdef\tc@city{#1}%%
+ \gdef\tc@state{#2}%%
+}%%
+
+
+\NewDocumentCommand{\thecoverpage}{}{%%
+ \begin{titlepage}%
+ \noindent\tc@covertopbox%
+ \vfill%
+ \iftcif@report{%%
+ \@ifundefined{tc@studentA@advisor}{}{%%
+ \hspace*{\fill}\parbox[b]{\tcdef@cover@advisorwidth}{\tccover@reportadvisorinfo}%
+ \vfill%
+ }%%
+ }%%
+ \else\fi
+ \centerline{\tc@city}%
+ \centerline{\tc@date}%
+ \end{titlepage}%%
+ \tc@pagebreak
+}%
+%
+%
+%%%%%%%%%
+%%%
+%% 2nd cover page (title page)%
+%%%
+%%%%%%%%%
+\NewDocumentCommand{\thetitlepage}{}{%%
+ \begin{titlepage}%
+ \noindent\tc@covertopbox%
+ \vfill%
+ \@ifundefined{tcdef@cover@reportspecificinfo}{}{%
+ \hspace*{\fill}\makebox[.55\textwidth][l]{%%
+ \parbox[b]{8.5cm}{\tcdef@cover@reportspecificinfo}%%
+ }%
+ \vfill%
+ }%
+ \@ifundefined{tc@studentA@advisor}{}{%
+ \hspace*{\fill}\parbox[b]{\tcdef@cover@advisorwidth}{%%
+ \tccover@coveradvisorinfo%
+ }%
+ \vfill%
+ }%
+ \centerline{\tc@city}%
+ \centerline{\tc@date}%
+ \end{titlepage}%
+ \tc@pagebreak
+}%
+%
+%
+%
+\NewDocumentCommand{\tccover@studentdesc}{m}{\@ifundefined{#1}{}{\MakeUppercase{\textbf{\csname #1\endcsname\ - \csname #1ID\endcsname}}\\}}
+%
+
+
+\NewDocumentCommand\tc@covertopbox{}{%%
+ \parbox[t]{\textwidth}{%%
+ \centering%%
+ \vbox to \tc@coverwinvoffset{%%
+ \tccover@covertopinfo\vfill\tc@winbox%
+ }%
+ }%
+}%
+
+
+ \NewDocumentCommand\tc@winbox{}{%%
+ %\fbox{%
+ \parbox[b]{\tc@coverwinwidth}{%%
+ \centering\vbox to \tc@coverwinheight{%%
+ \vspace*{\fill}%
+ \iftcif@report%
+ \tccover@studentdesc{tc@studentA}%
+ \tccover@studentdesc{tc@studentB}%
+ \tccover@studentdesc{tc@studentC}%
+ \tccover@studentdesc{tc@studentD}%%
+ \else%
+ \tccover@studentdesc{tc@studentA}%%
+ \fi%
+ \vspace{\stretch{4}}%
+ {\large\MakeUppercase{\textbf{\@title}}\par}%
+ \vfill%
+ }%%
+ %}%%
+ }%%
+ }%
+
+
+
+%
+%%%%%%%%%
+%%%
+%% 3rd cover page (approval page)%
+%%%
+%%%%%%%%%
+\NewDocumentCommand{\theapprovalpage}{}{%%
+ \begin{center}%
+ \noindent\tc@covertopbox%
+ \vfill%
+ \@ifundefined{tcdef@cover@approvalspecificinfo}{}{%
+ \hspace*{\fill}\makebox[.55\textwidth][l]{%%
+ \parbox[b]{8.5cm}{\tcdef@cover@approvalspecificinfo}%%
+ }%
+ \vfill%
+ }%
+ \@ifundefined{tc@studentA@advisor}{}{%
+ \hspace*{\fill}\parbox[b]{.70\textwidth}{%%
+ \tccover@approvalpageadvisorinfo%
+ }%
+ \vfill%
+ }%
+ \@ifundefined{tc@studentA@examinerA}{}{%
+ \hspace*{\fill}\parbox[b]{1.0\textwidth}{\tcdef@cover@examinername:}%
+ \vfill%
+ \hspace*{\fill}\parbox[b]{.90\textwidth}{%%
+ \tccover@approvalpageexaminerinfo%
+ }%
+ \vfill%
+ }%
+ \@ifundefined{tcdef@core@coursecoord}{}{%
+ \hspace*{\fill}\parbox[b]{.70\textwidth}{%%
+ \tccover@approvalpagecoordinfo%
+ }%
+ \vfill%
+ }%
+ \vfill%
+ \hfill\tc@city, \tc@date
+ \end{center}%
+ \tc@pagebreak
+}%
+%
+\NewDocumentCommand{\tccover@approvalpageadvisorinfo}{}{%%
+ \@ifundefined{tc@studentA@advisor}{}{%%
+ \vfill%
+ \tcdef@cover@advisorname: \hrulefill\\%
+ \tc@studentA@advisor, \tc@studentA@advisorinstitution\\%
+ \tc@studentA@advisortitleinfo %
+ }%
+}%
+\NewDocumentCommand{\tccover@@aprovalexaminerinfo}{m}{
+ \@ifundefined{#1}{}{%%
+ \csname #1\endcsname, \csname #1institution\endcsname\\%
+ \csname #1titleinfo\endcsname\\%
+ }%
+}%
+\NewDocumentCommand{\tccover@approvalpageexaminerinfo}{}{%%
+ \vfill%
+ \tccover@@aprovalexaminerinfo{tc@studentA@examinerA}%
+
+ \tccover@@aprovalexaminerinfo{tc@studentA@examinerB}%
+
+ \tccover@@aprovalexaminerinfo{tc@studentA@examinerC}%
+
+ \tccover@@aprovalexaminerinfo{tc@studentA@examinerD}%
+
+ \tccover@@aprovalexaminerinfo{tc@studentA@examinerE}%
+}%
+%
+
+
+\NewDocumentCommand{\tccover@approvalpagecoordinfo}{}{%%
+ \@ifundefined{tcdef@core@coursecoord}{}{%%
+ \vfill%
+ \hrulefill\\%
+ \tcdef@core@coursecoord\\%
+ \tcdef@core@coursecoordtitle\\%
+ \tcdef@cover@course%
+ }%
+}%
+%
+
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
new file mode 100644
index 0000000000..3de86ce446
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
@@ -0,0 +1,127 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-curr-graph}
+\def\tc@tmp@altpackname{tccurrgraph}
+\def\tc@tmp@packdesc{UFRGS/CCA graph curricula commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0alpha}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+
+\RequirePackage{ufrgscca-curr}
+
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentEnvironment{tikzGraphSem}{O{4.2:2.1}D<>{11.5:-18.5}}{%
+ \StrCut{#1}{:}{\gr@dX}{\gr@dY}
+ \StrCut{#2}{:}{\gr@xX}{\gr@yY}
+ \def\gr@Xa{0}\def\gr@Xb{\gr@xX*\gr@dX}
+ \def\gr@Ya{0}\def\gr@Yb{\gr@yY*\gr@dY}
+ \begin{tikzpicture}[%
+ disc/.style={%
+ ellipse split, double, draw, line width=2pt,%
+ every text node part/.style={font=\small\bfseries},%
+ every lower node part/.style={font=\large\bfseries,color=blue}},%
+ dep/.style={->,dotted,line width=3pt}]%
+ \begin{scope}\clip(\gr@Xa,\gr@Ya) -- (\gr@Xa,\gr@Yb) -- (\gr@Xb,\gr@Yb) -- (\gr@Xb,\gr@Ya);%
+ \filldraw[color=red](5.5*\gr@dX,-0.25*\gr@dY)node{\Huge\textbf{\GraphTitle}};%
+}{%
+ \end{scope}%
+ \end{tikzpicture}%
+}
+
+\NewDocumentCommand\GraphSem{O{ob}m}{%
+ \LstClass[\GraphClass]{#2}%
+ \draw (\csname gr@etidx:\csname gr@et:\gr@sem.idx\endcsname.pos\endcsname*\gr@dX-0.5*\gr@dX,-\gr@dY) node[disc](Et. #2){Etapa #2 \nodepart{lower} \arabic{gr@cred#1},#1};%
+}
+
+\NewDocumentCommand\GraphClass{m}{%
+ \edef\gr@topic{\csname gr@class:#1.topic\endcsname}%
+ \edef\gr@color{\csname gr@topic:\gr@topic.color\endcsname}%
+ \draw[\gr@color] (\csname gr@etidx:\csname gr@et:\gr@sem.idx\endcsname.pos\endcsname*\gr@dX-0.5*\gr@dX,\csname gr@class:#1.pos\endcsname*\gr@dY-1.25*\gr@dY) node[disc](#1){#1 \nodepart{lower} \csname gr@class:#1.cred\endcsname,\csname gr@class:#1.typ\endcsname};%
+ \LstDep[\GraphDep]{#1}%
+}
+
+\NewDocumentCommand\GraphDep{m}{%
+ \edef\gr@topic{\csname gr@class:\gr@disc.dep\gr@depSeq:#1.topic\endcsname}%
+ \xdef\gr@DepColor{\csname gr@topic:\gr@topic.color\endcsname}%
+ %\xdef\gr@DepColor{\csname gr@class:\gr@disc.dep\gr@depSeq:#1.topic\endcsname}%
+ \def\gr@angOUT{\gr@ANG} \def\gr@angIN{180-\gr@ANG}%
+ \xdef\gr@deppos{\csname gr@class:\gr@disc.dep\gr@depSeq:#1.pos\endcsname}%
+ \def\gr@depcut{\StrCut{\gr@deppos}{:}{\gr@angOUT}{\gr@ANG}}%
+ \gr@case@angle{\gr@deppos}%
+ \path[dep,\gr@DepColor] (#1)edge[out=\gr@angOUT,in=\gr@angIN] (\gr@disc);%
+}
+
+\def\gr@Z{0} \def\gr@A{30} \def\gr@B{60} \def\gr@C{80}
+
+\mkswitch[\gr@depcut]\gr@case@angle
+\addcase\gr@case@angle{}{\def\gr@ANG{0}}
+\addcase\gr@case@angle{A}{\def\gr@ANG{\gr@A}}
+\addcase\gr@case@angle{B}{\def\gr@ANG{\gr@B}}
+\addcase\gr@case@angle{C}{\def\gr@ANG{\gr@C}}
+\addcase\gr@case@angle{-A}{\def\gr@ANG{-\gr@A}}
+\addcase\gr@case@angle{-B}{\def\gr@ANG{-\gr@B}}
+\addcase\gr@case@angle{-C}{\def\gr@ANG{-\gr@C}}
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
new file mode 100644
index 0000000000..1852c7c14f
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
@@ -0,0 +1,166 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-curr-tab}
+\def\tc@tmp@altpackname{ufrgsccacurrtab}
+\def\tc@tmp@packdesc{UFRGS/CCA curricula tabular commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0alpha}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\RequirePackage{longtable}
+\RequirePackage{ufrgscca-curr}
+
+\NewDocumentCommand\TabClass{m}{%
+ & #1 & \csname gr@class:#1.cred\endcsname & \csname gr@class:#1.typ\endcsname & \multicolumn{2}{J{11cm}}{\csname gr@class:#1.nam\endcsname}\\*%
+ \edef\gr@disc{#1}%
+ \ifcsdef{gr@class:#1.depA}{%
+ & & & & %
+ & \def\gr@tab{\ }%
+ \LstDep[\TabDepX]<A>{#1}\\*%
+ }{}%
+ \ifcsdef{gr@class:#1.depB}{%
+ & & & & OU\\*%
+ & & & & %
+ & \def\gr@tab{\ }%
+ \LstDep[\TabDepX]<B>{#1}\\*%
+ }{}%
+ \ifcsdef{gr@class:#1.depC}{%
+ & & & & OU\\*%
+ & & & & %
+ & \def\gr@tab{\ }%
+ \LstDep[\TabDepX]<C>{#1}\\*%
+ }{}%
+ \ifshowind{\ifcsundef{gr@class:#1.remark}%
+ {}{& & & & \multicolumn{2}{l}{{\larger[2]{\color{red} \csname gr@class:#1.remark\endcsname}}}\\*}}{}%
+\xdef\gr@topic{\csname gr@class:#1.topic\endcsname}%
+& & & & \multicolumn{2}{J{11cm}}{{\sc\color{\csname gr@topic:\gr@topic.color\endcsname} \csname gr@topic:\gr@topic.txt\endcsname}}\\*
+& & & & \multicolumn{2}{l}{{\smaller{\sc Súmula: }}}\\*%
+& & & & & {{\smaller\csname gr@class:#1.desc\endcsname}}\\ %
+\ifcsundef{gr@class:#1.bibA}{}{& & & & \multicolumn{2}{l}{{\smaller{\sc Bibliografia Básica Essencial: }}}\\* & & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibA\endcsname}\\*}%
+\ifcsundef{gr@class:#1.bibB}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibB\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibC}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibC\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibD}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibD\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibE}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibE\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibF}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibF\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibG}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibG\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibH}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibH\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibI}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibI\endcsname}\\}%
+\ifcsundef{gr@class:#1.bibJ}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.bibJ\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicA}{}{& & & & \multicolumn{2}{l}{{\smaller{\sc Bibliografia Básica: }}}\\* & & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicA\endcsname}\\*}%
+\ifcsundef{gr@class:#1.basicB}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicB\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicC}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicC\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicD}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicD\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicE}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicE\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicF}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicF\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicG}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicG\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicH}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicH\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicI}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicI\endcsname}\\}%
+\ifcsundef{gr@class:#1.basicJ}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.basicJ\endcsname}\\}%
+\ifcsundef{gr@class:#1.compA}{}{& & & & \multicolumn{2}{l}{{\smaller{\sc Bibliografia Complementar: }}}\\* & & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compA\endcsname}\\*}%
+\ifcsundef{gr@class:#1.compB}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compB\endcsname}\\}%
+\ifcsundef{gr@class:#1.compC}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compC\endcsname}\\}%
+\ifcsundef{gr@class:#1.compD}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compD\endcsname}\\}%
+\ifcsundef{gr@class:#1.compE}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compE\endcsname}\\}%
+\ifcsundef{gr@class:#1.compF}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compF\endcsname}\\}%
+\ifcsundef{gr@class:#1.compG}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compG\endcsname}\\}%
+\ifcsundef{gr@class:#1.compH}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compH\endcsname}\\}%
+\ifcsundef{gr@class:#1.compI}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compI\endcsname}\\}%
+\ifcsundef{gr@class:#1.compJ}{}{& & & & &{\smaller \textopenbullet\ \csname gr@class:#1.compJ\endcsname}\\}%
+ \\[-1.5ex]%
+}
+
+
+%%%gr@class:\gr@disc.bib\Alph{gr@class:\gr@disc.bibcnt}
+
+\NewDocumentCommand\TabDepX{m}{%
+ {
+ \ifshowind{\ifcsundef{gr@class:#1.remark}{}{\color{red}\bfseries}}{}
+ \gr@tab\ #1 (\csname gr@class:#1.et\endcsname) %
+ }
+ \def\gr@tab{E}%
+}
+
+\NewDocumentCommand\TabDep{m}{%
+ & & & & #1 (\csname gr@class:#1.et\endcsname)\\[-1pt]%
+}
+
+\NewDocumentCommand\TabEtp{D<>{ob}O{\notoc\section}m}{%
+ #2{Etapa #3}%
+ \begin{longtable}{l@{\,}l@{\ }c@{\ }c@{\ }J{5mm}@{}J{10.7cm}}%
+ \LstClass[\TabClass]{#3}%
+% & \textbf{Total} & \textbf{\arabic{gr@cred#1}} & \textbf{#1}\\%
+ \end{longtable}%
+}
+
+\NewDocumentCommand\@TabTopic{m}{%
+ #1 & \csname gr@class:#1.cred\endcsname & \csname gr@class:#1.typ\endcsname & \csname gr@class:#1.nam\endcsname & (\csname gr@class:#1.et\endcsname)\\%
+}
+
+\NewDocumentCommand\TabTopic{O{ob}m}{%
+
+\noindent\csname gr@topic:#2.txt\endcsname
+\@ifundefined{gr@topic:#2}{\\\textbf{--No Classes Associated--}}{
+ \begin{longtable}{l@{\,}l@{\ }c@{\ }J{11.2cm}@{\,}l}\smaller%
+ \LstTopic[\@TabTopic]{#2}%
+ \end{longtable}%
+ }
+}
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
new file mode 100644
index 0000000000..4b365ce28b
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -0,0 +1,181 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-curr}
+\def\tc@tmp@altpackname{ufrgsccacurr}
+\def\tc@tmp@packdesc{UFRGS/CCA curricula commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0beta}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+
+\newcounter{gr@credob}
+\newcounter{gr@credel}
+\newcounter{gr@credalt}
+\NewDocumentCommand{\gr@setcred}{}{\setcounter{gr@credob}{0}\setcounter{gr@credel}{0}\setcounter{gr@credalt}{0}}
+\NewDocumentCommand{\gr@addclasscred}{m}{\addtocounter{gr@cred\csname gr@class:#1.typ\endcsname}{\csname gr@class:#1.cred\endcsname}}
+
+\let\@ex\expandafter
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\topicdef{O{black}mm}{
+ \expandafter\gdef\csname gr@topic:#2.txt\endcsname{#3}%
+ \expandafter\gdef\csname gr@topic:#2.color\endcsname{#1}%
+}
+
+\NewDocumentCommand\defaulttopic{m}{\xdef\gr@defaulttopic{#1}}
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\semdef{O{#3}D<>{#3}m}{%
+ \expandafter\gdef\csname gr@et:#3.idx\endcsname{x#3}%
+ \expandafter\gdef\csname gr@etidx:x#3.cod\endcsname{#2}%
+ \expandafter\gdef\csname gr@etidx:x#3.nam\endcsname{#3}%
+ \expandafter\gdef\csname gr@etidx:x#3.pos\endcsname{#1}%
+ \gdef\gr@sem{#3}%
+ \gdef\gr@semcod{#2}%
+}
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\classdef{O{\gr@defaulttopic}D<>{}mmmmm}{%
+ \@ifundefined{gr@topic:#1.txt}%
+ {\expandafter\gdef\csname gr@class:#3.topic\endcsname{\gr@defaulttopic}}%
+ {\expandafter\gdef\csname gr@class:#3.topic\endcsname{#1}}%
+ \expandafter\gdef\csname gr@class:#3.pos\endcsname{#2}%
+ \expandafter\gdef\csname gr@class:#3.cred\endcsname{#4}%
+ \expandafter\gdef\csname gr@class:#3.typ\endcsname{#5}%
+ \expandafter\gdef\csname gr@class:#3.nam\endcsname{#6}%
+ \expandafter\gdef\csname gr@class:#3.desc\endcsname{#7}%
+ \expandafter\xdef\csname gr@class:#3.et\endcsname{\gr@semcod}%
+ \gdef\gr@disc{#3}
+ \newcounter{gr@class:#3.bibcnt}
+ \newcounter{gr@class:#3.basiccnt}
+ \newcounter{gr@class:#3.compcnt}
+ \newcounter{gr@class:#3.dep}
+ \stepcounter{gr@class:#3.dep}
+ \ifcsundef{gr@et:\gr@sem}{\csgdef{gr@et:\gr@sem}{#3}}{\csgappto{gr@et:\gr@sem}{,#3}}
+ \ifcsundef{gr@topic:#1}{\csgdef{gr@topic:#1}{#3}}{\csgappto{gr@topic:#1}{,#3}}
+}
+\NewDocumentCommand{\setclass}{m}{\ifcsundef{gr@class:#1.et}{{\color{red} #1 undef\\}}{\gdef\gr@disc{#1}}}
+
+\NewDocumentCommand{\classremark}{m}{%
+ \expandafter\gdef\csname gr@class:\gr@disc.remark\endcsname{#1}%
+}
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\depdef{O{\csname gr@class:\gr@disc.topic\endcsname}D<>{}m}{%
+ \ifcsundef{gr@class:\gr@disc.dep\Alph{gr@class:\gr@disc.dep}}{\csgdef{gr@class:\gr@disc.dep\Alph{gr@class:\gr@disc.dep}}{#3}}{\csgappto{gr@class:\gr@disc.dep\Alph{gr@class:\gr@disc.dep}}{,#3}}
+ \expandafter\gdef\csname gr@class:\gr@disc.dep\Alph{gr@class:\gr@disc.dep}:#3.topic\endcsname{#1}%
+ \expandafter\gdef\csname gr@class:\gr@disc.dep\Alph{gr@class:\gr@disc.dep}:#3.pos\endcsname{#2}%
+}
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\bibdef{O{bib}m}{%
+ \stepcounter{gr@class:\gr@disc.#1cnt}%
+ \expandafter\gdef\csname gr@class:\gr@disc.#1\Alph{gr@class:\gr@disc.#1cnt}\endcsname{#2}%
+}
+
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+
+\NewDocumentCommand\altdef{}{%
+ \stepcounter{gr@class:\gr@disc.dep}%
+}
+
+%%%%%%%%%%%
+%%%%%%%%%%%
+%%%%%%%%%%%
+
+\NewDocumentCommand\goo{m}{}
+\NewDocumentCommand\gooble{m}{}
+
+\NewDocumentCommand\LstDep{O{\goo}D<>{A}m}{%
+ \xdef\gr@disc{#3}%
+ \xdef\gr@depSeq{#2}%
+ \ifcsdef{gr@class:#3.dep#2}{\@ex\@ex\@ex\forcsvlist\@ex\@ex\@ex#1\@ex\@ex\@ex{\csname gr@class:#3.dep#2\endcsname}}{}
+}
+
+\NewDocumentCommand\LstClass{O{\gooble}m}{%
+\xdef\gr@sem{#2}%
+\gr@setcred%
+\@ex\@ex\@ex\forcsvlist\@ex\@ex\@ex\gr@addclasscred\@ex\@ex\@ex{\csname gr@et:#2\endcsname}%
+\@ex\@ex\@ex\forcsvlist\@ex\@ex\@ex#1\@ex\@ex\@ex{\csname gr@et:#2\endcsname}%
+}
+
+\NewDocumentCommand\LstTopic{O{\goo}m}{%
+\xdef\gr@topic{#2}%
+\@ex\@ex\@ex\forcsvlist\@ex\@ex\@ex#1\@ex\@ex\@ex{\csname gr@topic:#2\endcsname}%
+}
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
new file mode 100644
index 0000000000..3b9cbc0ce7
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
@@ -0,0 +1,97 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-en-base}
+\def\tc@tmp@altpackname{ufrgsccaenbase}
+\def\tc@tmp@packdesc{UFRGS/CCA English base defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+%%%%%
+%%
+%% those are loaded, on the fly, when selecting, or switching, to english (\@namedef{captionsenglish} vis-à-viz \begin{otherlanguage}{})
+%%
+%%%%%
+
+% \def\bibname{References}% deprecated by biber
+% \def\refname{\bibname}
+ \def\abstractname{Abstract}%
+ \def\englishabstractname{Abstract}%
+ \def\contentsname{Contents}%
+ \def\listfigurename{List of Figures}%
+ \def\listtablename{List of Tables}%
+ \def\figurename{Figure}%
+ \def\tablename{Table}%
+ \def\byname{by}%
+ \def\keywordsname{Keywords}%
+
+ \def\listabbrvname{List of Abbreviations}%
+ \def\listsymbolname{List of Symbols}%
+
+ \def\listingname{Listing}
+ \def\listlistingname{List of Listings}
+
+ \def\defappendixname{Appendix}%
+ \def\defappendixpagename{Appendices}%
+ \def\defannexname{Annex}%
+ \def\defannexpagename{Annexe}%
+ \def\sourcename{Source:}
+ \def\notename{Note}%%
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
new file mode 100644
index 0000000000..3143da0b31
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
@@ -0,0 +1,129 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-en-coord}
+\def\tc@tmp@altpackname{ufrgsccaencoord}
+\def\tc@tmp@packdesc{UFRGS/CCA English coord defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+\calendartitle{Calendário – \tcdef@coord@TCCperiod}
+
+\tcccalendarhead{Data/Período}{Semana Letiva}{Evento}
+\tcccalendarevent{01}{Apresentação da disciplina. Informações gerais. Reunião presencial com início às 18:30h, no Salão de Eventos do DELET.\newline {\bf Presença obrigatória.}}
+\tcccalendarevent{02}{Requerimento de matrícula. O(A) aluno(a) deve preencher o \emph{Formulário de Requerimento de Matrícula}, já com o resumo do trabalho, e encaminhá-lo ao setor de protocolos da UFRGS para abertura de processo. Posteriormente, o número do processo deve ser encaminhado por e-mail para \tccore@@ref{TCCcoord}{article} coordenador\tccore@@ref{TCCcoord}{narticle} da atividade. \newline{\bf Obs.~1}}
+%\tcccalendarevent{03}{Entrega do \emph{Formulário de Inscrição}, juntamente com o resumo do trabalho, no \tcdef@cover@secdivisionacronym .}
+\tcccalendarevent{09}{Encontro presencial: Como redigir um TCC, melhores práticas. Início às 18:30h, no Salão de Eventos do DELET.}% \newline {\bf Presença obrigatória.}}
+\tcccalendarevent{09}{Entrega VIA MOODLE do \emph{Relatório Parcial}, juntamente com o \emph{Formulário de Aprovação do Relatório Parcial e Banca Examinadora} assinado pelo orientador. \newline{\bf Obs.~2}}
+\tcccalendarevent{15}{Entrega de uma cópia impressa (ou eletrônica) do Trabalho de Conclusão a cada membro da banca, juntamente com os \emph{Formulários de Avaliação} e \emph{Formulários de correções} do trabalho. Entrega VIA MOODLE de uma cópia eletrônica do trabalho juntamente com o \emph{Formulário de Aprovação para Apresentação} e os recibos de recebimento assinados e datados pelos membros das bancas.}
+\tcccalendarevent{16}{Encontro presencial: Como apresentar um TCC, melhores técnicas. Início às 18:30h, no Salão de Eventos do DELET.}% \newline {\bf Presença obrigatória.}}
+\tcccalendarevent{17}{Apresentações dos Trabalhos de Conclusão de Curso. \newline{\bf Obs.~3}}
+\tcccalendarevent{17}{Entrega VIA MOODLE dos \emph{Formulários de correções} dos membros da banca.}
+\tcccalendarevent{18}{Entrega VIA MOODLE da versão final corrigida do trabalho e o \emph{Formulário de Aprovação das Correções}. Entrega do formulário de autorização para publicação (biblioteca) assinado na secretaria do DELAE. \newline{\bf Obs.~4}}
+\tcccalendarevent{19}{Para os TCCs em RECUPERAÇÃO, entrega VIA MOODLE da versão final corrigida do trabalho e o \emph{Formulário de Aprovação das Correções}. Entrega do formulário de autorização para publicação (biblioteca) assinado na secretaria do DELAE. \newline{\bf Obs.~5}}
+
+
+\tcccalendardesc{\begin{description}
+\item[Obs. 1]: Caso o aluno(a) já tenha um processo aberto de TCC, reusar o mesmo apenas anexando o novo requerimento de matrícula, caso necessário.
+\item[Obs. 2]: O relatório deve conter as declarações de concordância em participar da banca da parte dos professores convidados.
+\item[Obs. 3]: As bancas serão marcadas após a entrega do relatório parcial, de acordo com a disponibilidade dos professores convidados.
+\item[Obs. 4]: O \emph{Formulário de Aprovação das Correções} deve estar assinado pelo(a) orientador(a). Para relatórios em que o campo “Revisarei o trabalho depois de corrigido” tiver sido assinalado por algum membro da banca, a assinatura do(a) mesmo(a) também deverá constar no \emph{Formulário de Aprovação das Correções}.
+\item[Obs. 5]: Trabalho em RECUPERAÇÃO é aquele cuja nota final quando da defesa é insuficiente para aprovação OU aquele em que o campo “Reescrever tudo” do formulário de correções foi marcado por algum membro da banca. Neste caso, o \emph{Formulário de Aprovação das Correções} deve estar assinado tanto pelo(a) orientador(a) como pelo(s) membro(s) da banca designado(s) para reavaliar o trabalho, incluindo obrigatoriamente aqueles que tiverem marcado o campo “Revisarei o trabalho depois de corrigido”.\\\hrule
+\item[IMPORTANTE]: O(A) aluno(a) estará {\bf REPROVADO(A)} \emph{se falhar na entrega de qualquer um dos documentos aqui citados dentro dos prazos estipulados}.
+\end{description}}
+
+
+\studentlistformtitle{Lista de presença, \tcdef@coord@studentlistactivity, dia \tcdef@coord@studentlistdate}
+\studentlistactivity{apresentação da atividade de TCC}
+\studentlistdate{\number\day/\number\month}
+
+\tccreporttitle{Relatório parcial/final}
+\tccreportopening{Para registro}
+\tccreportdesc{Relatório parcial/final referente aos alunos matriculados na atividade de ensino de \tcdef@forms@formstitle\ semestre \tcdef@coord@TCCperiod .}
+
+\tccreportabsents{Desistentes com conceito (segundo semestre)}
+\tccreportdismiss{Desistentes sem conceito (primeiro semestre)}
+\tccreferralopening{Ao\\ \tcdef@cover@secretaryacronym\ da \tcdef@cover@universitydivision}
+
+\referralfailed{{REPROVAD\tccore@@ref{student}{Article}}}
+\referralapproved{{APROVAD\tccore@@ref{student}{Article}}}
+
+\referralexamapprovedtext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, n\~{a}o tendo sido considerad\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} pela banca listada abaixo. Posto em exame, \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} foi \tcdef@coord@referralapproved\ com conceito final \tc@TCCgradeC .}
+
+\referralexamfailtext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, n\~{a}o tendo sido considerad\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} pela banca listada abaixo. Posto em exame, \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} foi \tcdef@coord@referralfailed\ com conceito final \tc@TCCgradeD .}
+
+\referralfatetext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, tendo sido \tccoord@referralfate{\tccore@@ref{student}{Temp}} com conceito final \textbf{\tccoord@@fate{\Alph{tc@studentcount}}}, conforme quadro de notas abaixo. }
+
+\referralfailFF{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ n\~{a}o concluiu o trabalho de conclus\~{a}o de Curso tendo sido \tcdef@coord@referralfailed\ com conceito final \textbf{FF}.}
+
+\boardlabel{Banca Examinadora}
+\boardstitle{Apresentações TCC em \tcdef@cover@course\ \tcdef@coord@TCCperiod\ \tcdef@coord@boardstitleB\ }
+\boardsworklabel{Título}
+\TCCgradesNlabel{Nota}
+\TCCgradesClabel{Conceito}
+\TCCgrades{A}{B}{C}{D}{FF}
+\TCCgradesN{9}{7.5}{6}
+
+\cocertificatetitle{CERTIFICADO}
+\cocertificateopenning{\`{A} quem interessar possa,\\ certificamos que}
+\cocertificatetext{atuou como co-orientador\tccore@@ref{coadvisor}{narticle} d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article}\ \emph{\tccore@@ref{student}{}}\ no trabalho de conclus\~{a}o de curso intitulado \emph{\tccore@@ref{student}{title}}\ no semestre \tcdef@coord@TCCperiod.}
+
+\TCCcoordtitle{Coordenador\tccore@@ref{TCCcoord}{narticle} da atividade de ensino de\\ \tcdef@forms@formstitle\ }
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
new file mode 100644
index 0000000000..f96e2529d4
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
@@ -0,0 +1,101 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-en-core}
+\def\tc@tmp@altpackname{ufrgsccaencore}
+\def\tc@tmp@packdesc{UFRGS/CCA English core defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+\location{Porto~Alegre}{RS}
+
+\university{Federal University of Rio Grande do Sul}
+\universityacronym{UFRGS}
+\universitydivision{Engineering School}
+\divisiongradcouncil{\tcdef@cover@universitydivision Undergraduate Council}
+
+\secretaryacronym{SACAD}
+\secdivisionacronym{\tcdef@cover@secretaryacronym/EE}
+\graduationtitle{Control and Automation Engineering}
+\course{Control and Automation Engineering}
+\courseacronym{CCA}
+\coursecoord{current course coordinator}
+\coursecoordtitle{Course Coordinator}
+\advisorname{Advisor}%
+\coadvisorname{Coadvisor}%
+\examinername{Exam Committee}%
+
+\reportspecificinfo{%
+ Graduation Project presented to COMGRAD-\tcdef@cover@courseacronym\ of \tcdef@cover@university\
+ in partial fulfillment of the requirements for the
+ degree of \emph{\tcdef@cover@graduationtitle }.
+}%
+
+\approvalspecificinfo{%
+ This Project was considered adequate for obtaining the
+ credits of the course TCC (Diplom Project) of \emph{\tcdef@cover@course }
+ and approved in its final form by the Advisor and the Examination Committee.
+}%
+
+\profname{Professor}
+\coprofname{Professor}
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
new file mode 100644
index 0000000000..7ffeefb01b
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
@@ -0,0 +1,215 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-en-forms}
+\def\tc@tmp@altpackname{ufrgsccaenforms}
+\def\tc@tmp@packdesc{UFRGS/CCA English forms defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+%%%%%%
+%%%%%%
+%%%%%% forms
+%%%%%%
+%%%%%%
+%%%%%%
+
+\formlocal{\tc@city,\hspace{4mm} de \hspace{1.2cm} de 20\hspace{4mm}.}
+
+\formssignaturelabel{Assinatura}
+\examinersignature{Assinatura\ \ d\tccore@@ref{examiner}{article}\ \ Avaliador\tccore@@ref{examiner}{narticle}}
+\boardsignature{Assinatura\ \ do\ \ Membro\ \ da\ \ Banca}
+\advisorsignature{Assinatura\ \ d\tccore@@ref{advisor}{article}\ \ Orientador\tccore@@ref{advisor}{narticle}}
+\coadvisorsignature{Assinatura\ \ d\tccore@@ref{coadvisor}{article}\ \ Co-orientador\tccore@@ref{coadvisor}{narticle}}
+\studentsignature{Assinatura\ \ d\tccore@@ref{student}{article}\ \ Alun\tccore@@ref{student}{article}}
+\studentsignaturegen{Assinatura\ \ do(a)\ \ Aluno(a)}
+\formsstudentlabel{Alun\tccore@@ref{student}{article}}
+\formsstudentlabelgen{Aluno(a)}
+\formproflabel{Professor(a)}
+\profname{Professor\tccore@@ref{advisor}{narticle}}
+\coprofname{Professor\tccore@@ref{coadvisor}{narticle}}
+\formsboardlabel{Membro da Banca}
+\formsadvisorlabel{Orientador\tccore@@ref{advisor}{narticle}}
+\formsadvisorlabelgen{Orientador(a)}
+\formscoadvisorlabel{Co-orientador\tccore@@ref{advisor}{narticle}}
+\formsexaminerlabel{Avaliador\tccore@@ref{examiner}{narticle}}
+\formsaltexaminerlabel{Suplente}
+\formstimelabel{Horário}
+
+
+%\formstopicAlabel{Conteúdo}
+%\formstopicBlabel{Trabalho Escrito}
+%\formstopicClabel{Apresentação}
+\formsworktitlelabel{Título do Trabalho}
+\formstemptitlelabel{Título Provisório}
+\formsstudentIDlabel{Cartão}
+\formsemaillabel{e-mail}
+\formsphonelabel{ramal}
+\agreelabel{De Acordo}
+
+\continuelabel{Continua...}
+
+\formsdatelabel{Data}
+\formstitle{Trabalho de Conclusão de Curso em \tcdef@cover@course}
+\formsfootnote{Entregar a cada membro da banca juntamente com a cópia do trabalho.}
+
+
+\renewreqformtitle{Formulário de Renovação da Inscrição na Atividade de Ensino Trabalho de Conclusão em \tcdef@cover@course}
+
+\renewreqformnotes{O resumo deve ser curto, i.e., não deve exceder este espaço. O texto deve ser escrito em parágrafo único, e por se tratar de proposta, poderá utilizar tempo futuro e não necessita ter motivação ou justificativa.\\
+Deve conter:
+\begin{enumerate*}[alpha)]
+\item O QUE será feito - descrição e objetivos.
+\item COMO será feito - metodologia.
+\item Resultados esperados.
+\end{enumerate*}
+}
+
+\reqformtitle{Formul\'{a}rio de Requerimento de Matr\'{i}cula}
+\reqformopening{Ilm\tccore@@ref{coursecoord}{article}. Sr\tccore@@ref{coursecoord}{narticle}.\par
+Coordenador\tccore@@ref{coursecoord}{narticle} da Comissão de Graduação do Curso em \tcdef@cover@course {da \tcdef@cover@universityacronym\ }}
+%\reqformopening{algo}
+
+\reqformdesc{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \tc@studentA , REGULARMENTE MATRICULAD\tccore@@ref{student}{Article} neste período letivo no curso \emph{\tcdef@cover@course\ }, desta universidade, portador\tccore@@ref{student}{narticle} do cartão de identificação n$^o$ \tc@studentAID\ vem por meio desta solicitar matrícula na atividade de ensino de \tcdef@forms@formstitle}
+
+\coadvisorformtitle{Requerimento de Autorização de Co-Orientação}
+\coadvisorformdesc{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \tc@studentA , REGULARMENTE MATRICULAD\tccore@@ref{student}{Article} na atividade de TCC neste período letivo, vem por meio desta solicitar autorização para registro de co-orientador de TCC, conforme justificativa abaixo.}
+
+\formsbrieflabel{Resumo}
+
+\formsstudentemaillabel{Email d\tccore@@ref{student}{article} Alun\tccore@@ref{student}{article}}
+
+\formsadvisoremaillabel{Email d\tccore@@ref{advisor}{article} Orientador\tccore@@ref{advisor}{narticle}}
+
+\formsreasonlabel{Justificativa}
+
+
+\examformtitle{Formul\'{a}rio de Avalia\c{c}\~{a}o}
+
+\examformdesc{A nota (variando de zero a dez) atribuída por cada membro da banca examinadora será dada considerando o desempenho d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} nos 3 pontos apresentados na tabela abaixo.}
+
+\examformnoteslabel{Observações}
+
+\examformnotes{\ \\Posteriormente, \tccore@@ref{TCCcoord}{article} professor\tccore@@ref{TCCcoord}{narticle} coordenador\tccore@@ref{TCCcoord}{narticle} calculará a nota final atribuída por cada membro da banca examinadora, de acordo com a seguinte ponderação:\\[2mm] {\bf Nota Final Banca = \tc@TCCpointAweight\ x \tc@TCCpointAlabel\ + \tc@TCCpointBweight\ x \tc@TCCpointBlabel\ + \tc@TCCpointCweight\ x \tc@TCCpointClabel\ } \\[2mm] A média final da atividade será dada pela média das notas finais (calculadas com a expressão acima) atribuidas por cada um dos membros da banca examinadora.}
+
+\examboardformtitle{Formulário de Aprovação do Relatório Parcial e Banca Examinadora}
+
+\examboardformdesc{Aprovo o Relatório Parcial e nominata da Banca Examinadora acima relacionada.}
+
+\formsboardtitle{Banca Examinadora}
+
+\advisorapprovalformtitle{Formulário de Aprovação para Apresentação}
+
+\advisorapprovalformdesc{{\bf Parecer d\tccore@@ref{advisor}{article} Orientador\tccore@@ref{advisor}{narticle}}\footnote{Preenchimento Obrigatório}}
+
+\advisorapprovalformdescB{Aprovo a versão final do trabalho submetido pel\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} e considero \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} para apresentação.}
+
+\rectifyapprovalformtitle{Formulário de Aprovação das Correções}
+
+\rectifyapprovalformdesc{\begin{description}
+\item[Observação 1:] A nota final será a já atribuída pela Banca Examinadora no momento da Defesa. Caso a versão final corrigida do trabalho mais este formulário não sejam entregues até a data estipulada, o conceito do aluno passará a ser {\bf D}.
+\item[Observação 2:] A assinatura d\tccore@@ref{advisor}{article} orientador\tccore@@ref{advisor}{narticle} é obrigatória, entretanto a assinatura dos membros da banca só é necessária caso o(a) mesmo(a) tenha marcado a opção "$\Box$ Revisarei o trabalho depois de corrigido" no \emph{Formulário de Correções}.
+\end{description}}
+
+\receiptformtitle{Recibo de entrega de cópia da versão final do Trabalho de Conclusão}
+
+\receiptformfootnote{Entregar a cada membro da banca juntamente com a cópia do trabalho final e após encaminhar ao \tcdef@cover@secretaryacronym .}
+
+\receiptformdesc{Declaro que encontra-se em minha posse cópia da versão final do Trabalho de Conclusão de Curso em \tcdef@cover@course\ d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} }
+
+
+\reviewformtitle{Formulário de Correções}
+\reviewformdesc{Correções: \parbox[t]{.8\textwidth}{
+\begin{description}[tcc,noitemsep]
+\item[$\Box$] Nenhuma
+\item[$\Box$] Ortográfica
+\item[$\Box$] Regras de Escrita
+\item[$\Box$] Equações
+\item[$\Box$] Resumo
+\item[$\Box$] Abstract
+\item[$\Box$] Índice
+\item[$\Box$] Introdução
+\item[$\Box$] Conclusões
+\item[$\Box$] Corpo do Trabalho
+\item[$\Box$] Resultados
+\item[$\Box$] Adicionar mais exemplos
+\item[$\Box$] Figuras
+\item[$\Box$] Tabelas
+\item[$\Box$] {\bf Reescrever tudo}\footnotemark[2]
+\item[$\Box$] Outras: \\
+\begin{tabular}{p{0.7\textwidth}}
+~\\\hline
+~\\\hline
+~\\\hline
+~\\\hline
+\end{tabular}\\[-1mm]
+\item[$\Box$] {\bf Revisarei o trabalho depois de corrigido}%\footnotemark[2]
+\end{description}}
+}
+
+\reviewformfootnoteB{Neste caso \tccore@@ref{student}{article} alun\tccore@@ref{student}{article} estará em EXAME e receberá conceito final C ou D, conforme revisão final do texto.}
+
+\reviewformfootnote{\tcdef@forms@formsfootnote\ Após a apresentação, retornar este à coordenação do TCC.}
+
+\formsrectifyOKdesc{Correções satisfatórias: \hspace*{1cm}$\Box$\ sim\hspace*{2cm}$\Box$\ não}
+
+\TCCpointsweight{0.35}{0.35}{0.3}
+\TCCpointslabel{Conteúdo}{Trab. Escrito}{Apresentação}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
new file mode 100644
index 0000000000..d2f7b26adf
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -0,0 +1,561 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-forms}
+\def\tc@tmp@altpackname{ufrgsccaforms}
+\def\tc@tmp@packdesc{UFRGS/CCA forms commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\RequirePackage{amsfonts}
+
+
+%% local for tc@formsigdate {ufrgscca-forms}
+
+\cmdfactory<forms>{formssignaturelabel,examinersignature,boardsignature,advisorsignature,coadvisorsignature}
+\cmdfactory<forms>{studentsignature,studentsignaturegen}%
+\cmdfactory<forms>{formsstudentlabel,formsstudentlabelgen,formproflabel}%
+\cmdfactory<forms>{formsboardlabel,formsadvisorlabel,formsadvisorlabelgen}%
+\cmdfactory<forms>{formscoadvisorlabel,formsexaminerlabel,formsaltexaminerlabel}
+\cmdfactory<forms>{formstimelabel,formsworktitlelabel,formstemptitlelabel}
+\cmdfactory<forms>{formsstudentIDlabel,formsemaillabel,formsphonelabel}
+\cmdfactory<forms>{agreelabel,continuelabel}
+\cmdfactory<forms>{formsdatelabel,formstitle,formsfootnote}
+\cmdfactory<forms>{renewreqformtitle,renewreqformnotes,reqformtitle,reqformopening,reqformdesc}%
+\cmdfactory<forms>{coadvisorformtitle,coadvisorformdesc}
+\cmdfactory<forms>{formsbrieflabel,formsstudentemaillabel,formsadvisoremaillabel}
+\cmdfactory<forms>{formsreasonlabel}
+\cmdfactory<forms>{examformtitle,examformdesc,examformnoteslabel}
+\cmdfactory<forms>{examformnotes,examboardformtitle,examboardformdesc}%
+\cmdfactory<forms>{formsboardtitle,advisorapprovalformtitle,advisorapprovalformdesc,advisorapprovalformdescB}
+\cmdfactory<forms>{rectifyapprovalformtitle,rectifyapprovalformdesc}%
+\cmdfactory<forms>{receiptformtitle,receiptformfootnote,receiptformdesc}%
+\cmdfactory<forms>{reviewformtitle,reviewformdesc,reviewformfootnoteB,reviewformfootnote}
+\cmdfactory<forms>{formsrectifyOKdesc}
+
+\NewDocumentCommand{\TCCpointsweight}{mmm}{%
+ \gdef\tc@TCCpointAweight{#1}%
+ \gdef\tc@TCCpointBweight{#2}%
+ \gdef\tc@TCCpointCweight{#3}%
+}%
+
+\NewDocumentCommand{\TCCpointslabel}{mmm}{%
+ \gdef\tc@TCCpointAlabel{#1}%
+ \gdef\tc@TCCpointBlabel{#2}%
+ \gdef\tc@TCCpointClabel{#3}%
+}%
+%
+
+
+\iftcif@english%
+\input{ufrgscca-en-forms.def}%
+\else%
+\input{ufrgscca-ptBR-forms.def}%
+\fi%
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Examiners forms%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinersForms}{}{%
+ \tccore@examiners{examinerA}%
+ \tcforms@examinersform{examinerA}%
+ \tcforms@reviewform{examinerA}%
+ \tccore@examiners{examinerB}%
+ \tcforms@examinersform{examinerB}%
+ \tcforms@reviewform{examinerB}%
+ \tccore@examiners{examinerC}%
+ \tcforms@examinersform{examinerC}%
+ \tcforms@reviewform{examinerC}%
+ \tccore@examiners{altexaminerA}%
+ \tcforms@examinersform{altexaminerA}%
+ \tcforms@reviewform{altexaminerA}%
+}%
+%
+\NewDocumentCommand{\tcforms@examinerforms}{m}{%
+ \tcforms@examinersform{#1}%
+ \tcforms@reviewform{#1}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% Board receipt forms%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@receiptforms}{}{%
+ \tcforms@receiptform{examinerA}%
+ \tcforms@receiptform{examinerB}%
+ \tcforms@receiptform{examinerC}%
+ \tcforms@receiptform{altexaminerA}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% Aux commands%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@formsigdate}{m}{%%
+ \begin{flushright} \tcdef@core@formlocal %
+ ~\vspace*{6mm}\\%
+%
+ $\overline{#1}$%%
+ \end{flushright}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% examiners description (for Board approval forms)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinerdesc}{O{\tcdef@forms@formsexaminerlabel}mm}{%%
+ \tccore@examiners{#3}%
+ \@ifundefined{tc@#2@#3}{--}{#1: {\bf \csname tc@#2@#3\endcsname}%
+
+ \hfill \tcdef@forms@formsemaillabel: {\bf \csname tc@#2@#3email\endcsname} ~\tcdef@forms@formsphonelabel: {\bf \csname tc@#2@#3phone\endcsname} ~\tcdef@forms@agreelabel: \rule{\tc@agreerule}{.1pt}\\}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC description (for many forms)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@tccdesc}{}{%%
+ \tcdef@forms@formsstudentlabel : {\bf \tc@studentA} \hfill \tcdef@forms@formsstudentIDlabel : {\bf \tc@studentAID}%
+
+ \tcdef@forms@formsworktitlelabel : {\bf \@title}\\[-4mm]%
+
+ \tcdef@forms@formsadvisorlabel : {\bf \tc@studentA@advisor}\\%
+}%
+%
+
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC examiner form (grades)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinersform}{m}{%
+ \tc@formtopbox[tcdef@forms@formsfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@examformtitle}%
+%
+ \vfill%
+ \tcdef@forms@formsstudentlabel : {\bf \csname tc@student\Alph{tc@studentcount}\endcsname}\\%
+ \tcdef@forms@formsexaminerlabel : \csname tc@student\Alph{tc@studentcount}@#1\endcsname%
+ \vfill%
+ \tcdef@forms@examformdesc%
+
+ \vfill%
+
+ \begin{center}
+ \begin{tabular}{|c|c|c|}%
+ \hline%
+ \tc@TCCpointAlabel & \tc@TCCpointBlabel & \tc@TCCpointClabel \\\hline%
+ & & \\\hline
+ \end{tabular}%
+ \end{center}%
+
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@examinersignature}%
+ \vfill%
+ \begin{description}
+ \item[\tcdef@forms@examformnoteslabel:] \tcdef@forms@examformnotes
+ \end{description}%
+
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC examiners reviewer form (corrections)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@reviewform}{m}{%
+ \tc@formtopbox[tcdef@forms@reviewformfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@reviewformtitle}%
+
+ \vfill%
+ \tcdef@forms@formsstudentlabel : {\bf \expandafter\csname tc@student\Alph{tc@studentcount}\endcsname}\\%
+ \tcdef@forms@formsexaminerlabel : \expandafter\csname tc@student\Alph{tc@studentcount}@#1\endcsname%
+ \vfill%
+ \resizebox{0.9\textwidth}{!}{%%
+ \tcdef@forms@reviewformdesc%
+ }%
+ \footnotetext[2]{\tcdef@forms@reviewformfootnoteB}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@examinersignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@reqform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@reqformtitle}%
+
+ \vfill%
+
+ \tcdef@forms@reqformopening%
+ \vfill%
+
+ \tcdef@forms@reqformdesc%
+ \vfill%
+
+ \tcdef@forms@formstemptitlelabel : \@title %
+
+ \tcdef@forms@formsstudentemaillabel : {\bf \tc@studentAemail} %
+
+ \tcdef@forms@formsadvisorlabel : \tc@studentA@advisor%
+
+ \tcdef@forms@formsadvisoremaillabel : {\bf \tc@studentA@advisoremail}%
+ \hfill \tcdef@forms@formsphonelabel : {\bf \tc@studentA@advisorphone}%
+
+ {\bf \tcdef@forms@formsbrieflabel}:\footnote[1]{\tcdef@forms@renewreqformnotes}%
+
+ \vfill%
+ \tcdef@core@tccbrief%
+
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@studentsignature}}\hfill%
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@advisorsignature}}%
+ \pagebreak%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC co-advisor requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@coadvisorform}{}{%
+ \@ifundefined{tc@studentA@coadvisor}{%
+ \coadvisor{\rule{\tc@namerule}{.1pt}}{}%
+ \coadvisorinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@coadvisorformtitle}%
+
+ \vfill%
+
+ \tcdef@forms@reqformopening%
+ \vfill%
+
+ \tcdef@forms@coadvisorformdesc%
+ \vfill%
+
+ \tcdef@forms@formstemptitlelabel : \@title %
+
+ \tcdef@forms@formsadvisorlabel: \tc@studentA@advisor
+
+ \tcdef@forms@formscoadvisorlabel: \tc@studentA@coadvisor%
+
+ \vfill%
+ {\bf \tcdef@forms@formsreasonlabel}:%
+
+ \tcdef@core@tcccoadvisorbrief% !!!! What a Hell ?!?!?!
+
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@advisorsignature}}\hfill%
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@coadvisorsignature}}%
+ \pagebreak%
+}%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC renew requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@renewreqform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@renewreqformtitle}%
+
+ \vfill%
+ \tcforms@tccdesc%
+
+ \tcdef@forms@formsstudentemaillabel : {\bf \tc@studentAemail} %
+
+ \hfill \tcdef@forms@formsadvisoremaillabel : {\bf \tc@studentA@advisoremail}%
+
+ \hfill \tcdef@forms@formsphonelabel : {\bf \tc@studentA@advisorphone}%
+ \vfill%
+ {\bf \tcdef@forms@formsbrieflabel}:\footnote[1]{\tcdef@forms@renewreqformnotes}%
+
+ \tcdef@core@tccbrief%
+ \vfill%
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examboardform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@examboardformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \begin{center}
+ \tcdef@forms@formsboardtitle
+ \end{center}%
+
+ \tcforms@examinerdesc{studentA}{examinerA}%
+
+ \tcforms@examinerdesc{studentA}{examinerB}%
+
+ \tcforms@examinerdesc{studentA}{examinerC}%
+
+ \tcforms@examinerdesc[\tcdef@forms@formsaltexaminerlabel]{studentA}{altexaminerA}%
+
+ \vfill%
+
+ \tcdef@forms@examboardformdesc%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+
+ \pagebreak%
+}%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board receipts form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@receiptform}{m}{%
+ \tc@formtopbox[tcdef@forms@receiptformfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@receiptformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \tcdef@forms@formsboardlabel : {\bf \csname tc@student\Alph{tc@studentcount}@#1\endcsname }%
+
+ \vfill%
+ \tcdef@forms@receiptformdesc {\bf \tc@studentA},\ \ \ \tcdef@forms@formsstudentIDlabel : {\bf \tc@studentAID}.%
+
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@boardsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% examiners approval/not signature (for rectify approval form)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@approvalsigdate}{mm}{%%
+ \tcdef@forms@formsrectifyOKdesc%
+ \hfill\tcdef@forms@formsdatelabel:\rule{\tc@daterule}{.1pt}\\[3mm]%
+ #1: #2 \hfill \tcdef@forms@formssignaturelabel:\rule{\tc@namerule}{.1pt}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board rectify approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@rectifyexaminersig}{O{\tcdef@forms@formsexaminerlabel}m}{\@ifundefined{#2}{}{\tcforms@approvalsigdate{#1}{\csname #2\endcsname}}\\[3mm]}%
+%
+\NewDocumentCommand{\tcforms@rectifyapprovalform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@rectifyapprovalformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \tcdef@forms@rectifyapprovalformdesc%
+
+ \vfill%
+
+ \tcforms@rectifyexaminersig[\tcdef@forms@formsadvisorlabel]{tc@studentA@advisor}%
+
+ \vfill%
+
+ \@ifundefined{tc@nBoard}{}{%
+ \tcforms@rectifyexaminersig{tc@studentA@examinerA}%
+ }%
+
+ \tcforms@rectifyexaminersig{tc@studentA@examinerB}%
+
+ \tcforms@rectifyexaminersig{tc@studentA@examinerC}%
+
+ \tcforms@rectifyexaminersig{tc@studentA@altexaminerA}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Advisor approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@advisorapprovalform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@advisorapprovalformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \tcdef@forms@advisorapprovalformdesc%
+
+ \vfill%
+
+ \tcdef@core@tccadvisorsreview%
+
+ \vfill%
+ \tcdef@forms@advisorapprovalformdescB%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%
+%
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% set of blank lines%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\cmdfactory<core>{formsblanklines}
+\formsblanklines{\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill%
+}%
+%
+
+
+\DeclareKeys[forms]{
+ reqform.usage = general,
+ reqform.code = {\tcforms@reqform},
+ coadvisor.usage = general,
+ coadvisor.code = {\tcforms@coadvisorform},
+ boardsapproval.usage = general,
+ boardsapproval.code = {\tcforms@examboardform},
+ advisorsapproval.usage = general,
+ advisorsapproval.code = {\tcforms@advisorapprovalform},
+ receipts.usage = general,
+ receipts.code = {\tcforms@receiptforms},
+ examinersforms.usage = general,
+ examinersforms.code = {\tcforms@examinersForms},
+ rectifyapproval.usage = general,
+ rectifyapproval.code = {\tcforms@rectifyapprovalform},
+}
+
+
+\NewDocumentCommand{\tcforms}{m}{%
+ \SetKeys[forms]{#1}%
+}
+
+\NewDocumentCommand{\tcemptyforms}{m}{%
+ \tccore@resetfields%
+ \title{\rule{\tc@namerule}{.1pt}}%
+ \tccore@emptyfields%
+ \SetKeys[forms]{#1}%
+}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
new file mode 100644
index 0000000000..9d72af827d
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
@@ -0,0 +1,152 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-gen}
+\def\tc@tmp@altpackname{ufrgsccagen}
+\def\tc@tmp@packdesc{UFRGS/CCA generic/miscellany commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\def\tcgen@fam{tcdef}
+\def\tcgen@factgrp{gen}%
+%
+
+\DeclareKeys[ufrgscca-gen]{
+ family.usage = load,
+ family.store = \tcgen@fam,
+
+ group.usage = load,
+ group.store = \tcgen@factgrp,
+}
+\ProcessKeyOptions[ufrgscca-gen]\relax
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% \tcgen@cdef[fam]{#1}{#2} => \gdef\<fam>@#1{#2}%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\NewDocumentCommand{\tcgen@cdef}{O{\tcgen@fam}D<>{\tcgen@factgrp} m +m}{%
+ \expandafter\gdef\csname #1@#2@#3\endcsname{#4}%
+}%
+%
+\NewDocumentCommand{\factory}{O{\tcgen@fam}D<>{\tcgen@factgrp}m}{%
+ \expandafter\long\expandafter\xdef\csname #3\endcsname##1{\noexpand\tcgen@cdef[#1]<#2>{#3}{##1}}%
+ %\csname #3\endcsname{-default-}
+ \expandafter\def\csname #3.fam\endcsname{#1}%
+ \@ifundefined{#3undef}{}{\expandafter\gdef\csname tc@factdup@#3\endcsname{}}
+ \expandafter\def\csname #3undef\endcsname{\expandafter\let\csname #1@#2@#3\endcsname\undefined}%
+}%
+\NewDocumentCommand{\cmdfactory}{O{\tcgen@fam}D<>{\tcgen@factgrp}m}{%
+ \forcsvlist{\factory[#1]<#2>}{#3}%
+ \ifcsundef{tc@factgrplist@#2}{%
+ \ifcsundef{tc@factgrplist}{\csgdef{tc@factgrplist}{#2}}{\csgappto{tc@factgrplist}{,#2}}%
+ \csgdef{tc@factgrplist@#2}{#3}%
+ }{\csgappto{tc@factgrplist@#2}{,#3}}%
+}%
+%
+%
+% 'debug' auxiliary commands (mainly to find out dups, defined/undefined ones)
+%
+%
+\NewDocumentCommand{\tcgen@factcmd@prt}{m}{\@ifundefined{tc@factdup@#1}{#1}{#1 (dup)}
+\expandafter\@ifundefined\expandafter{\csname #1.fam\endcsname @#1}{\textbf{ NOT Defined} \\}{ {\csname\csname #1.fam\endcsname @#1\endcsname} \\}}
+\NewDocumentCommand{\tcgen@factcmd@def}{m}{\csname #1.fam\endcsname @\@ifundefined{tc@factdup@#1}{#1}{#1 (dup)} %
+ \expandafter\@ifundefined\expandafter{\csname #1.fam\endcsname @#1}{\textbf{ NOT Defined} \\}{ {\slshape Defined} \\} }
+%\NewDocumentCommand{\tcgen@factcmd@prt}{m}{{#1} \\}
+%\NewDocumentCommand{\tcgen@factcmd@def}{m}{{#1} :: \@ifundefined{tc@#1}{-- \textbf{NOT Defined} --\\}{Defined \\} }
+\NewDocumentCommand{\tcgen@factgrp@prt}{m}{\tightul{#1} \\%
+ \expandafter\expandafter\expandafter\forcsvlist\expandafter\expandafter\expandafter\tcgen@do\expandafter\expandafter\expandafter{\csname tc@factgrplist@#1\endcsname}%
+}
+\NewDocumentCommand{\listfactorycmds}{sO{}}{%
+ \IfBooleanTF{#1}{\def\tcgen@do##1{\tcgen@factcmd@def{##1}}}{\def\tcgen@do##1{\tcgen@factcmd@prt{##1}}}
+ \ifblank{#2}{%
+ \ifcsundef{tc@factgrplist}{Factories Groups: \textbf{empty list}\\ }{%
+ Factories: \\ %
+ \expandafter\expandafter\expandafter\forcsvlist\expandafter\expandafter\expandafter\tcgen@factgrp@prt\expandafter\expandafter\expandafter{\csname tc@factgrplist\endcsname}%
+ %
+ }
+ }{%
+ }%
+}
+
+
+%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%
+%
+% \mkswitch creates a switch (somewhat 'like' a programming switch)
+% a 'default case' is associated with the switch when creating it
+% one can add many 'cases' later on.
+% one can have any code associated with a 'switch/case'
+%
+%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%
+
+
+\NewDocumentCommand\mkswitch{O{}m}{%
+ \NewDocumentCommand{#2}{m}{%
+ \ifcsname\string#2@case@##1\endcsname\csname\string#2@case@##1\endcsname\else#1\fi%
+ }%
+}%
+\NewDocumentCommand{\addcase}{mmm}{\expandafter\def\csname\string#1@case@#2\endcsname{#3}}%
+\let\addswitchcase\addcase
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
new file mode 100644
index 0000000000..b419ea04f1
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -0,0 +1,118 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-lists}
+\def\tc@tmp@altpackname{ufrgsccalists}
+\def\tc@tmp@packdesc{UFRGS/CCA auxiliary lists commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+
+\DeclareKeys[ufrgscca-lst]{
+ relnum.usage = load,
+ relnum.if = tcif@relnum,
+}
+\ProcessKeyOptions[ufrgscca-lst]\relax
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% Packages Loading
+%%%%%%%%%%%%%%%%%%%%%
+
+\RequirePackage{newfloat}
+\RequirePackage{listings}%
+\RequirePackage{xcolor}%
+
+%%%
+%%% command to declare a new 'list of ...' things {package newfloat}
+%%%
+\NewDocumentCommand{\DeclareNewFloat}{mmmm}{%
+ \DeclareFloatingEnvironment[%
+ fileext={#2},%
+ listname={#4},%
+ name={#3},%
+ placement=htb,%
+ chapterlistsgaps=off]{#1} %
+ \iftcif@relnum\SetupFloatingEnvironment{#1}{within=chapter}%
+ \else\SetupFloatingEnvironment{#1}{within=none}%
+ \fi %
+}%
+
+
+%
+%%%%\def\listoflistings{\lstlistoflistings}%
+\definecolor{lstgray}{rgb}{0.965,0.965,0.965}%
+\lstset{basicstyle=\ttfamily\small,%
+ columns=fullflexible,%
+ keepspaces=true,%
+ frame=tb,%
+ inputencoding=latin1,%
+% inputencoding=utf8,%
+ extendedchars=true,%
+ backgroundcolor=\color{lstgray},%
+ breaklines=true,%
+% xleftmargin=7pt,%
+% xrightmargin=7pt%
+}%
+%
+\def\listingname{Listing}%
+\def\listlistingname{List of Listings}%
+\DeclareNewFloat{codelist}{lox}{\listingname}{\listlistingname}%%
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
new file mode 100644
index 0000000000..ac25899438
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -0,0 +1,501 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-ppc}
+\def\tc@tmp@altpackname{ufrgsccappc}
+\def\tc@tmp@packdesc{UFRGS/CCA PPC commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+
+\DeclareKeys[ufrgscca-ppc]{
+ showind.usage = load,
+ showind.if = @showindicators,
+
+ indlong.usage = load,
+ indlong.if = @indlongtext,
+ nocomments.usage = load,
+ nocomments.if = @indnocomments,
+}
+\ProcessKeyOptions[ufrgscca-ppc]\relax
+
+\RequirePackage{longtable}
+\RequirePackage{pdfcomment}
+\WarningFilter{latex}{name}%
+\RequirePackage[tikz]{mdframed}%
+\RequirePackage{ufrgscca-abnt}
+%\RequirePackage{ufrgscca-curr}
+\RequirePackage{ufrgscca-curr-tab}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% PPC macros
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%% pre-defined status:
+% noref (default, still not in the text)
+% tbd (to be done)
+% review (in review, probably done)
+% attention (to be looked at)
+% done (done)
+% NSA (not relevant)
+% * (undefined, copy text)
+%%
+%%%%%%%%%%%%%%%%%%%
+%\iftc@ppc
+ \RenewDocumentCommand{\maketitle}{}{\tcppc@PPCcoverpages}%
+%\fi
+
+%
+\NewDocumentCommand{\tcppc@PPCcoverpages}{}{
+ \begin{titlepage}%
+ \noindent\tc@covertopbox%
+ \vfill%
+ \centerline{\tc@city}%
+ \centerline{\tc@publyear}%
+ \end{titlepage}%%
+ \if@openright\cleardoublepage\else\clearpage\fi%%
+}%
+ \RenewDocumentCommand\tc@winbox{}{%%
+ \parbox[b]{\tc@coverwinwidth}{%%
+ \centering\vbox to \tc@coverwinheight{%%
+ \vspace*{\fill}%
+ {\large\MakeUppercase{\textbf{\@title}}\par}%
+ \vfill%
+ }%%
+ }%%
+}%
+
+%
+%
+\NewDocumentCommand{\set@statuscolor}{m}{%%
+ \@ifundefined{#1@txtcolor}{%
+ \gdef\ind@txtcolor{\csname default@txtcolor\endcsname}%%
+ \gdef\ind@bgcolor{\csname default@bgcolor\endcsname}%%
+ }{%
+ \gdef\ind@txtcolor{\csname #1@txtcolor\endcsname}%%
+ \gdef\ind@bgcolor{\csname #1@bgcolor\endcsname}%%
+ }%
+}%
+%
+%
+\newcounter{@indcounter}%
+%
+\NewDocumentCommand{\declareindicator}{st+O{noref}mmm}{%
+%#3: status #4:org #5:mark #6:short text #7:long text #8:extra text #9:'clarification text'(for inep/mec)
+ \stepcounter{@indcounter}%
+ \IfBooleanTF{#1}{\expandafter\gdef\csname @indicator#4#5star\endcsname{#1}\ifcsundef{@indicator#4lst}{\csgdef{@indicator#4lst}{#5}}{\csgappto{@indicator#4lst}{,#5}}}{}
+ \IfBooleanTF{#2}{\ifcsundef{@indicator#4lst}{\csgdef{@indicator#4lst}{#5}}{\csgappto{@indicator#4lst}{,#5}}}{}
+ \expandafter\gdef\csname @indicator#4#5status\endcsname{#3}%
+ \expandafter\gdef\csname @indicator#4#5short\endcsname{#6}%
+ \expandafter\gdef\csname @indicator#4#5long\endcsname{}%
+ \expandafter\gdef\csname @indicator#4#5extra\endcsname{}%
+ \expandafter\gdef\csname @indicator#4#5text\endcsname{}%
+ \expandafter\gdef\csname @indrefA\arabic{@indcounter}\endcsname{#4}%
+ \expandafter\gdef\csname @indrefB\arabic{@indcounter}\endcsname{#5}%
+ \newcounter{@indcount#4#5}%
+ \@ifundefined{iftcppc@indset#4view}{\expandafter\newif\csname iftcppc@indset#4view\endcsname\csname tcppc@indset#4viewtrue\endcsname}{}
+ \gdef\tcppc@indindex{#4#5}
+}%
+\NewDocumentCommand{\indicatorDesc}{+m+m}{%
+ \expandafter\gdef\csname @indicator\tcppc@indindex long\endcsname{#1}
+ \expandafter\gdef\csname @indicator\tcppc@indindex extra\endcsname{#2}
+}
+\NewDocumentCommand{\indicatorText}{+m}{%
+ \expandafter\gdef\csname @indicator\tcppc@indindex text\endcsname{#1}
+}
+
+\NewDocumentCommand{\lstind}{O{\section}O{\subsection}m}{%
+ \def\doit##1{\ifcsundef{@indicator#3##1star}{#2{\csname @indicator#3##1short\endcsname}}{#1{\csname @indicator#3##1short\endcsname}} \csname @indicator#3##1text\endcsname\par}%
+\expandafter\expandafter\expandafter\forcsvlist\expandafter\expandafter\expandafter\doit\expandafter\expandafter\expandafter{\csname @indicator#3lst\endcsname}
+}
+
+%
+%\newcommand{\indsetstatus}[3][attention]{\expandafter\gdef\csname @indicator#2#3status\endcsname{#1}}
+\NewDocumentCommand{\indsetstatus}{O{attention}mm}{%
+ \gdef\tcppc@indsetstatus##1{\expandafter\gdef\csname @indicator#2##1status\endcsname{#1}}%
+ \expandafter\forcsvlist\expandafter\tcppc@indsetstatus\expandafter{#3}%
+}
+%
+\NewDocumentCommand{\indsetview}{m}{\csname tcppc@indset#1viewtrue\endcsname}%
+%
+\NewDocumentCommand{\indsethide}{m}{\csname tcppc@indset#1viewfalse\endcsname}%
+%
+\NewDocumentEnvironment{listofindicators}{m}{%
+ \begin{list}{\textbf{??}}{%
+ \settowidth{\labelwidth}{#1}%
+ \setlength{\labelsep}{1em}%
+ \setlength{\itemindent}{0mm}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\rightmargin}{0mm}%
+ \setlength{\itemsep}{.1\baselineskip}%
+ \renewcommand{\makelabel}[1]{\makebox[\labelwidth][l]{##1}}%
+ }%
+}{%
+ \end{list}%
+}%
+%
+\NewDocumentCommand{\tcppc@indrefitem}{O{, }m}{%
+ \@ifundefined{r@@indlabel\tcppc@indA\tcppc@indB:#2}{}{#1 \ref{@indlabel\tcppc@indA\tcppc@indB:#2} (\pageref{@indlabel\tcppc@indA\tcppc@indB:#2})}%
+}%
+%
+\newif\iftcppc@itemdisp%
+\NewDocumentCommand{\tcppc@indicatorsitem}{m}{%%
+ \@ifundefined{@indrefA#1}{}{%%
+ \gdef\tcppc@indA{\csname @indrefA#1\endcsname}%%
+ \gdef\tcppc@indB{\csname @indrefB#1\endcsname}%%
+ \csname iftcppc@indset\tcppc@indA view\endcsname%
+ \gdef\tcppc@status{\csname @indicator\tcppc@indA\tcppc@indB status\endcsname}%%
+ \iftcppc@ind@filter\expandafter\tcppc@ind@filtercase\expandafter{\tcppc@status}\else\tcppc@itemdisptrue\fi%
+ \iftcppc@itemdisp%
+ \set@statuscolor{\tcppc@status}%%
+ \@ifundefined{theind@\tcppc@status @count}{\stepcounter{ind@default@count}}{\stepcounter{ind@\tcppc@status @count}}%%
+ \item[\textbf{\color{\ind@txtcolor}\hypertarget{@indlabel\tcppc@indA\tcppc@indB\tcppc@ind@filterstatus}{\tcppc@indA: \tcppc@indB}}]%
+ {\color{\ind@txtcolor}\emph{\csname @indicator\tcppc@indA\tcppc@indB short\endcsname}} \dotfill %
+ {\normalsize\color{\ind@txtcolor}\textbf{\csname @indicator\tcppc@indA\tcppc@indB status\endcsname}} %
+ \ifthenelse{\equal{\csname @indicator\tcppc@indA\tcppc@indB long\endcsname}{}}{\break}{\newline\csname @indicator\tcppc@indA\tcppc@indB long\endcsname \csname @indicator\tcppc@indA\tcppc@indB extra\endcsname\hfill\break}%%
+ \tcppc@indrefitem[.\dotfill]{1}%%
+ \forcsvlist\tcppc@indrefitem{2,3,4,5,6,7,8,9,10,11,12,13}%
+ \fi%
+ \fi%
+ }%%
+}%
+%
+\NewDocumentCommand{\tcppc@indicatorsbatch}{m}{\forcsvlist\tcppc@indicatorsitem{#10,#11,#12,#13,#14,#15,#16,#17,#18,#19}}%
+%
+\NewDocumentCommand{\tcppc@indicatorsBatch}{m}{\forcsvlist\tcppc@indicatorsbatch{#10,#11,#12,#13,#14,#15,#16,#17,#18,#19}}%
+%
+%
+\NewDocumentCommand{\tcppc@helpstatus}{+m}{\makebox[5mm]{}\makebox[17mm][r]{\textbf{#1}}\ \ \csname #1@text\endcsname\newline}%
+%
+\NewDocumentCommand{\tcppc@helpbf}{+m}{\textbf{\color{black}\textbackslash #1}$\,\,$}%
+\NewDocumentCommand{\tcppc@helpO}{+m}{{\color{darkteal}\textbf{[}<status>#1\textbf{]}}$\,\,$}%
+\NewDocumentCommand{\tcppc@helpM}{+m}{{\color{darkblue}\textbf{\{}#1\textbf{\}}}$\,\,$}%
+%
+\NewDocumentCommand{\helpindicators}{}{{\footnotesize%
+ \if@showindicators%
+ \begin{itemize}[nosep,label=,leftmargin=0mm]%
+ \item \tcppc@helpbf{indsethide}\tcppc@helpM{<set>} - Hide an indicator's set%
+ \item \tcppc@helpbf{comment}\tcppc@helpO{}\tcppc@helpM{<title>}\tcppc@helpM{<comment>} - Just a comment%
+ \item \tcppc@helpbf{indref}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref>}\tcppc@helpM{<comment>} - Single indicator's reference%
+ \item \tcppc@helpbf{indref*}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref>}\tcppc@helpM{<comment>} - (Short text only)%
+ \item \tcppc@helpbf{indreflst}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{\tcppc@helpO{:}<ref> , \tcppc@helpO{:}<ref> , ...}\tcppc@helpM{<comment>} - Referece list %
+ \item \tcppc@helpbf{indreflst*}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{\tcppc@helpO{:}<ref> , \tcppc@helpO{:}<ref> , ...}\tcppc@helpM{<comment>} - (Single box)%
+ \item \tcppc@helpbf{indsetstatus}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref> , <ref> , ...} - Set the status of a list of indicators.%
+ \end{itemize}%
+ where status:\newline%
+ \expandafter\forcsvlist\expandafter\tcppc@helpstatus\expandafter{\ind@statuslst}%
+ \fi%
+}}%
+%
+\NewDocumentCommand{\tcppc@printcount}{+m}{\item[ ] {\color{\attention@txtcolor}\large\textbf{\makebox[15mm][r]{#1 :} \csname theind@#1@count\endcsname}}%
+}%
+%
+%
+%
+%\NewDocumentCommand{\ifshowindicators}{m}{\if@showindicators#1\fi}
+%\NewDocumentCommand{\ifthenelseshowindicators}{+m+m}{\if@showindicators#1\else#2\fi}
+\NewDocumentCommand{\ifshowind}{+m+m}{\if@showindicators#1\else#2\fi}
+%
+%
+\newif\iftcppc@ind@filter%
+\mkswitch[\tcppc@itemdispfalse]\tcppc@ind@filtercase%
+\NewDocumentCommand{\tcppc@ind@filteraux}{+m}{\addcase\tcppc@ind@filtercase{#1}{\tcppc@itemdisptrue}}%
+\NewDocumentCommand{\PrintIndicators}{O{}}{\footnotesize%
+ \if@showindicators%%
+ \def\tcppc@ind@filterstatus{#1}%
+ \ifthenelse{\equal{#1}{}}{\tcppc@ind@filterfalse}{\tcppc@ind@filtertrue\expandafter\forcsvlist\expandafter\tcppc@ind@filteraux\expandafter{#1}}%
+ \if@openright\cleardoublepage\else\clearpage\fi%%%
+ \phantomsection%%
+ \chapter*{Indicadores #1}%\newpage%%
+ \begin{listofindicators}{EMPTY LIST . . .}%%
+ \iftcppc@ind@filter\else\item[ ] {\color{\attention@txtcolor}\large\textbf{\the@indcounter}\ Indicadores.}\fi%%
+ \tcppc@indicatorsbatch{}%
+ \tcppc@indicatorsBatch{}%
+ \forcsvlist\tcppc@indicatorsBatch{1,2,3,4,5,6,7,8,9}%
+ \iftcppc@ind@filter\else\expandafter\forcsvlist\expandafter\tcppc@printcount\expandafter{\ind@statuslst}\fi%
+ \end{listofindicators}%
+ \fi%
+}%
+%
+%
+\NewDocumentCommand{\textmark}{O{attention}m}{\set@statuscolor{#1}{\color\ind@txtcolor {\textbf{!! #2 !!}}}}
+
+
+\NewDocumentCommand{\comment}{O{attention}m+m}{%
+ \if@showindicators%
+ \if@indnocomments\else%
+ \set@statuscolor{#1}%
+ \ \hfill\parbox{0.9\textwidth}{\small%
+ \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{#2}]%
+ {\footnotesize #3\par}%
+ \hfill\emph{status: }\textbf{\color{\ind@txtcolor}#1}%
+ \end{mdframed}%
+ }\\[-2.7mm]%
+ \fi%
+ \fi%
+}%
+\let\remark\comment
+%
+\NewDocumentCommand{\indtext}{mm}{\csname @indicator#1#2short\endcsname}
+%
+\NewDocumentCommand{\tcppc@indhack}{smm+m}{%
+ \csname iftcppc@indset#2view\endcsname%
+ \set@statuscolor{\tcppc@status}%
+ \ \hfill\parbox{0.9\textwidth}{\small%%
+ \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{\hyperlink{@indlabel#2#3}{#2 : #3}}]%%
+ \pdftooltip{\emph{\csname @indicator#2#3short\endcsname}}{\csname @indicator#2#3long\endcsname}\par%%
+ \if@indlongtext%%
+ \IfBooleanF{#1}{%%
+ \ifthenelse{\equal{\csname @indicator#2#3long\endcsname}{}}{}{\enquote{\footnotesize\csname @indicator#2#3long\endcsname}\par}%%
+ }%
+ \fi%%
+ \if@indnocomments\else\ifthenelse{\equal{#4}{}}{}{{\emph{\color{\comments@txtcolor}{#4}}}\par}\fi%%
+ \hfill\emph{status: }\textbf{\color{\ind@txtcolor}\tcppc@status}%%
+ \end{mdframed}%%
+ }\\[-2.7mm]%%
+ \fi%
+}
+
+\NewDocumentCommand{\indref}{sO{}mm+m}{%%
+ \ifthenelse{\equal{#2}{}}{}{\expandafter\gdef\csname @indicator#3#4status\endcsname{#2}}%%
+ \expandafter\gdef\expandafter\tcppc@status{\csname @indicator#3#4status\endcsname}%
+ \stepcounter{@indcount#3#4}\label{@indlabel#3#4:\csname the@indcount#3#4\endcsname}%%
+ \if@showindicators%%
+ \IfBooleanTF{#1}{\tcppc@indhack*{#3}{#4}{#5}}{\tcppc@indhack{#3}{#4}{#5}}
+ \fi% %
+}%
+%
+%
+\newcommand{\tcppc@indreflstitem}[4][]{%
+ \ifthenelse{\equal{#1}{}}{}{\expandafter\gdef\csname @indicator#2#3status\endcsname{#1}}%
+ \expandafter\gdef\expandafter\tcppc@status{\csname @indicator#2#3status\endcsname}%
+ \stepcounter{@indcount#2#3}\label{@indlabel#2#3:\csname the@indcount#2#3\endcsname}%%
+ \set@statuscolor{\tcppc@status}%
+ \hyperlink{@indlabel#2#3}{\textbf{#3 :}}\pdftooltip{\emph{\csname @indicator#2#3short\endcsname}}{\csname @indicator#2#3long\endcsname}\par%%
+ \if@indlongtext%%
+ \ifthenelse{\equal{\csname @indicator#2#3long\endcsname}{}}{}{\enquote{\footnotesize\csname @indicator#2#3long\endcsname}\par}%%
+ \fi%%
+ \hfill\emph{status: }\textbf{\color{\ind@txtcolor}\tcppc@status\break}%%
+}%
+
+\NewDocumentCommand{\indreflst}{sO{}mmm}{%
+ \IfBooleanTF{#1}{%
+ \gdef\tcppc@indreflst##1{\StrCut{##1}{:}\tcppc@parA\tcppc@parB\IfStrEq{\tcppc@parB}{}{\tcppc@indreflstitem{#3}{\tcppc@parA}{#5}}{\expandafter\tcppc@indreflstitem\expandafter[\tcppc@parA]{#3}{\tcppc@parB}{#5}}}%
+ \if@showindicators%
+ \csname iftcppc@indset#3view\endcsname%
+ \ \hfill\parbox{0.9\textwidth}{\small%
+ \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{#3}]%%
+ \expandafter\forcsvlist\expandafter\tcppc@indreflst\expandafter{#4}%
+ \if@indnocomments\else\ifthenelse{\equal{#5}{}}{}{{\emph{\color{\comments@txtcolor}{#5}}}\par}\fi%%
+ \set@statuscolor{#2}%
+ \end{mdframed}%
+ }%
+ \fi%
+ \fi%
+ }{%
+ \gdef\tcppc@indreflst##1{\StrCut{##1}{:}\tcppc@parA\tcppc@parB\IfStrEq{\tcppc@parB}{}{\indref{#3}{\tcppc@parA}{}}{\indref[\tcppc@parA]{#3}{\tcppc@parB}{}}}%
+ \expandafter\forcsvlist\expandafter\tcppc@indreflst\expandafter{#4}%
+ \comment[#2]{comment}{#5}%
+ }%
+}%
+%
+% other default colors (xcolor pack): lime, olive, orange, pink, purple.
+%
+\def\tcppc@defcolorpair#1{\colorlet{light#1}{white!85!#1}\colorlet{dark#1}{#1!70!black!100}}
+%
+%
+\definecolor{grayblack}{rgb}{0.8,0.8,0.8}%
+%
+%
+\NewDocumentCommand{\ind@defstatus}{mmm}{%
+ \newcounter{ind@#1@count}%
+ \tcppc@defcolorpair{#2}%
+ \expandafter\gdef\csname #1@txtcolor\endcsname{dark#2}%
+ \expandafter\gdef\csname #1@bgcolor\endcsname{light#2}%
+ \expandafter\gdef\csname #1@text\endcsname{#3 (#2)}%
+ \@ifundefined{ind@statuslst}{\gdef\ind@statuslst{#1}}{\edef\ind@statuslst{\ind@statuslst,#1}}%
+}%
+%
+\ind@defstatus{tbd}{gray}{To Be Done}%
+\ind@defstatus{done}{green}{Done}%
+\ind@defstatus{review}{yellow}{to be reviewed}%
+\ind@defstatus{attention}{red}{needs Attention}%
+\ind@defstatus{NSA}{brown}{NSA}%
+\ind@defstatus{noref}{magenta}{no references}%
+\ind@defstatus{EAD}{violet}{EAD}%
+\ind@defstatus{MDi}{teal}{(courseware)...}%
+\ind@defstatus{DOCs}{blue}{other DOCs}%
+\ind@defstatus{default}{cyan}{everything else}%
+%
+\def\comments@txtcolor{darkblue}%
+%
+%
+\def\ind@TikZpos{0.44}%
+\NewDocumentCommand{\tikztitle}{m}{\tikz[baseline=(current bounding box.east),outer sep=0pt,xshift=1cm,thin,color=grayblack] \draw (0,0) (\ind@TikZpos,0) node[anchor=west,rectangle,rounded corners,fill=white,draw] at (\ind@TikZpos,0) {#1} node[anchor=west,rectangle,rounded corners,color=black] at (\ind@TikZpos,0) {#1};}%%
+%
+%
+\mdfdefinestyle{indicatorsTikZ}{%
+ linecolor=grayblack,%%
+ linewidth=0.4pt,%
+% skipabove=0.65\baselineskip,%
+% skipbelow=0.5\baselineskip,%
+ skipabove=0pt,%
+ skipbelow=0pt,%
+ leftmargin =-3.5pt,%
+ rightmargin=-3.5pt,%
+ innerleftmargin=3pt,%
+ innerrightmargin=3pt,%
+ needspace=3\baselineskip,%
+ backgroundcolor=\ind@bgcolor,%
+ usetwoside=false,%
+% innertopmargin = 3pt,%
+% innerbottommargin = 2pt,%
+ innertopmargin = 2pt,%
+ innerbottommargin = 2pt,%
+ roundcorner = 4pt,%
+ frametitle={\tikztitle{TITLE}},%
+ frametitleaboveskip=-0.6\baselineskip,%
+ frametitlebelowskip=0pt,%
+ frametitlealignment = \raggedleft,%
+ leftline = true,%
+ rightline = true,%
+ nobreak = true,%
+}%
+
+\NewDocumentCommand{\fancyquote}{O{-2\topsep-2\parsep-2\partopsep-2\parskip}+mmm}{%
+ \vspace{#1}{%
+ \ \hfill\begin{minipage}{0.5\textwidth}\noindent\scriptsize\emph{''#2''}%
+ {\vspace{-\parsep}\begin{flushright}\footnotesize#3\\\sc #4\end{flushright}} \end{minipage}\\
+ }}
+
+
+\NewDocumentEnvironment{ppc.quote}{}{\begin{displayquote}\begin{itshape}\smaller}{\end{itshape}\end{displayquote}}
+%\preto\displayquote{\begingroup\setlength{\leftmargini}{0mm}}
+%\appto\enddisplayquote{\endgroup}
+\RenewDocumentEnvironment{quote}{}{%
+ \list{}{\leftmargin20mm\rightmargin0mm}%
+ \item\relax%
+}{\endlist}
+%
+
+\NewDocumentCommand{\labelhack}{m}{\def\@currentlabelname{#1}}
+
+\NewDocumentCommand{\acrolist}{}{}
+\NewDocumentCommand{\acrodef}{mmm}{%
+ %\expandafter\DeclareFixedFootnote\expandafter{\csname #1\endcsname}{#3}%
+ \expandafter\def\csname #1\endcsname{\footnote{#3}}%
+ \expandafter\def\csname acrolsti:#1\endcsname{\item[#2] #3}%
+ \appto\acrolist{\item[#2] #3}%
+ \expandafter\def\csname acroS:#1\endcsname{#2}%
+ \expandafter\def\csname acroL:#1\endcsname{#3}%
+}
+\NewDocumentCommand{\acroitem}{m}{\csname acrolsti:#1\endcsname}
+\NewDocumentCommand{\printacrolist}{O{}m}{\begin{listofabbrv}[#1]{#2}\acrolist\end{listofabbrv}}
+\NewDocumentCommand{\acro}{m}{\csname acroS:#1\endcsname}
+\NewDocumentCommand{\acrol}{m}{\csname acroL:#1\endcsname}
+\NewDocumentCommand{\acrols}{m}{\csname acroL:#1\endcsname, \csname acroS:#1\endcsname}
+\NewDocumentCommand{\acrosl}{m}{\csname acroS:#1\endcsname, \csname acroL:#1\endcsname}
+\NewDocumentCommand{\acrofoot}{m}{\csname acroS:#1\endcsname\csname #1\endcsname}
+
+
+\RenewDocumentCommand{\subparagraph}{m}{}
+\RenewDocumentCommand{\part}{m}{}
+%
+%Se alguém é capaz de me convencer e me evidenciar que o que penso
+%ou faço não é correto, será com contentamento que me corrigirei; afinal,
+%procuro a verdade, a qual jamais causou danos a alguém. Aquele, porém,
+%que persevera no engano e na ignorância causa danos a si mesmo.
+
+%Observa com olho crítico seus princípios norteadores e os indivíduos
+%sensatos, tanto aquilo de que se esquivam como aquilo que buscam.
+
+%Prestei algum benefício à comunidade? Se o fiz, então prestei um
+%benefício a mim. Em todas as ocasiões tem isso sempre em mente e em lugar
+%algum deixes de abrigar esse pensamento.
+
+%%Caso ajas conforme a reta razão com referência ao que se coloca
+%diante de ti, com seriedade, firmeza, benevolência, não admitindo que nada
+%secundário te desvie de tua ação, mas conservando pura a divindade que
+%existe em ti, como se devesses restituí-la de imediato; caso te vincules a isso,
+%sem nada esperar nem fugir de nada, contente com tua atividade presente
+%conforme a natureza, a dizer e murmurar em todo som emitido de tua boca
+%uma verdade heroica, então viverás feliz. E não existe ninguém com o poder
+%de impedi-lo.
+
+%Se tu mesmo não consegues com teu esforço realizar algo, não penses
+%ser isso impossível para o ser humano; se, entretanto, algo é possível ao ser
+%humano e lhe é próprio, pensa que isso a ti também é acessível.
+
+
+%É indispensável ter compreensão, atentando para cada palavra, daquilo
+%que se diz, e sobre cada ação, deve-se ter compreensão do seu efeito. Nesse
+%caso, é necessário ver diretamente a relação do ponto de vista de sua meta,
+%ou melhor, a qual meta a ação se relaciona; quanto ao outro caso, é preciso
+%observar o significado das palavras.
+
+%Como és uma parte que ajuda a tornar um sistema social completo,
+%faz toda ação tua ser uma parte integrante completa da vida social. Assim,
+%qualquer ação tua que não tenha referência imediata ou remotamente ao fim
+%social produz em tua vida uma ruptura violenta, impedindo que seja íntegra,
+%e é de caráter sedicioso \ No newline at end of file
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
new file mode 100644
index 0000000000..5456330673
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
@@ -0,0 +1,95 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-ptBR-base}
+\def\tc@tmp@altpackname{ufrgsccaptbrbase}
+\def\tc@tmp@packdesc{UFRGS/CCA Portuguese base defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+%%%
+%%
+%% those are loaded, on the fly, when selecting, or switching, to portuguese (\@namedef{captionsbrazilian} vis-à-viz \begin{otherlanguage}{})
+%%
+%%%%%
+
+ \def\abstractname{Resumo}%
+ \def\englishabstractname{Abstract}%
+ \def\contentsname{Sum{\'{a}}rio}%
+ \def\listfigurename{Lista de Ilustra\c{c}\~oes}%
+ \def\listtablename{Lista de Tabelas}%
+ \def\figurename{Figura}%
+ \def\tablename{Tabela}%
+ \def\byname{por}%
+ \def\keywordsname{Palavras-chave}%
+
+ \def\listabbrvname{Lista de Abreviaturas}%
+ \def\listsymbolname{Lista de S{\'{\i}}mbolos}%
+
+ \def\listingname{Listagem}
+ \def\listlistingname{Lista de Listagens}
+
+ \def\defappendixname{Ap{\^{e}}ndice}%
+ \def\defappendixpagename{Ap{\^{e}}ndices}%
+ \def\defannexname{Anexo}%
+ \def\defannexpagename{Anexos}%
+ \def\sourcename{Fonte:}
+ \def\notename{Nota}%%
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
new file mode 100644
index 0000000000..6d27b761fa
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
@@ -0,0 +1,129 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-ptBR-coord}
+\def\tc@tmp@altpackname{ufrgsccaptbrcoord}
+\def\tc@tmp@packdesc{UFRGS/CCA Portuguese coord defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+\calendartitle{Calendário – \tcdef@coord@TCCperiod}
+
+\tcccalendarhead{Data/Período}{Semana Letiva}{Evento}
+\tcccalendarevent{01}{Apresentação da disciplina. Informações gerais. Reunião presencial com início às 18:30h, no Salão de Eventos do DELET.\newline {\bf Presença obrigatória.}}
+\tcccalendarevent{02}{Requerimento de matrícula. O(A) aluno(a) deve preencher o \emph{Formulário de Requerimento de Matrícula}, já com o resumo do trabalho, e encaminhá-lo ao setor de protocolos da UFRGS para abertura de processo. Posteriormente, o número do processo deve ser encaminhado por e-mail para \tccore@@ref{TCCcoord}{article} coordenador\tccore@@ref{TCCcoord}{narticle} da atividade. \newline{\bf Obs.~1}}
+%\tcccalendarevent{03}{Entrega do \emph{Formulário de Inscrição}, juntamente com o resumo do trabalho, no \tcdef@cover@secdivisionacronym .}
+\tcccalendarevent{09}{Encontro presencial: Como redigir um TCC, melhores práticas. Início às 18:30h, no Salão de Eventos do DELET.}% \newline {\bf Presença obrigatória.}}
+\tcccalendarevent{09}{Entrega VIA MOODLE do \emph{Relatório Parcial}, juntamente com o \emph{Formulário de Aprovação do Relatório Parcial e Banca Examinadora} assinado pelo orientador. \newline{\bf Obs.~2}}
+\tcccalendarevent{15}{Entrega de uma cópia impressa (ou eletrônica) do Trabalho de Conclusão a cada membro da banca, juntamente com os \emph{Formulários de Avaliação} e \emph{Formulários de correções} do trabalho. Entrega VIA MOODLE de uma cópia eletrônica do trabalho juntamente com o \emph{Formulário de Aprovação para Apresentação} e os recibos de recebimento assinados e datados pelos membros das bancas.}
+\tcccalendarevent{16}{Encontro presencial: Como apresentar um TCC, melhores técnicas. Início às 18:30h, no Salão de Eventos do DELET.}% \newline {\bf Presença obrigatória.}}
+\tcccalendarevent{17}{Apresentações dos Trabalhos de Conclusão de Curso. \newline{\bf Obs.~3}}
+\tcccalendarevent{17}{Entrega VIA MOODLE dos \emph{Formulários de correções} dos membros da banca.}
+\tcccalendarevent{18}{Entrega VIA MOODLE da versão final corrigida do trabalho e o \emph{Formulário de Aprovação das Correções}. Entrega do formulário de autorização para publicação (biblioteca) assinado na secretaria do DELAE. \newline{\bf Obs.~4}}
+\tcccalendarevent{19}{Para os TCCs em RECUPERAÇÃO, entrega VIA MOODLE da versão final corrigida do trabalho e o \emph{Formulário de Aprovação das Correções}. Entrega do formulário de autorização para publicação (biblioteca) assinado na secretaria do DELAE. \newline{\bf Obs.~5}}
+
+
+\tcccalendardesc{\begin{description}
+\item[Obs. 1]: Caso o aluno(a) já tenha um processo aberto de TCC, reusar o mesmo apenas anexando o novo requerimento de matrícula, caso necessário.
+\item[Obs. 2]: O relatório deve conter as declarações de concordância em participar da banca da parte dos professores convidados.
+\item[Obs. 3]: As bancas serão marcadas após a entrega do relatório parcial, de acordo com a disponibilidade dos professores convidados.
+\item[Obs. 4]: O \emph{Formulário de Aprovação das Correções} deve estar assinado pelo(a) orientador(a). Para relatórios em que o campo “Revisarei o trabalho depois de corrigido” tiver sido assinalado por algum membro da banca, a assinatura do(a) mesmo(a) também deverá constar no \emph{Formulário de Aprovação das Correções}.
+\item[Obs. 5]: Trabalho em RECUPERAÇÃO é aquele cuja nota final quando da defesa é insuficiente para aprovação OU aquele em que o campo “Reescrever tudo” do formulário de correções foi marcado por algum membro da banca. Neste caso, o \emph{Formulário de Aprovação das Correções} deve estar assinado tanto pelo(a) orientador(a) como pelo(s) membro(s) da banca designado(s) para reavaliar o trabalho, incluindo obrigatoriamente aqueles que tiverem marcado o campo “Revisarei o trabalho depois de corrigido”.\\\hrule
+\item[IMPORTANTE]: O(A) aluno(a) estará {\bf REPROVADO(A)} \emph{se falhar na entrega de qualquer um dos documentos aqui citados dentro dos prazos estipulados}.
+\end{description}}
+
+
+\studentlistformtitle{Lista de presença, \tcdef@coord@studentlistactivity, dia \tcdef@coord@studentlistdate}
+\studentlistactivity{apresentação da atividade de TCC}
+\studentlistdate{\number\day/\number\month}
+
+\tccreporttitle{Relatório parcial/final}
+\tccreportopening{Para registro}
+\tccreportdesc{Relatório parcial/final referente aos alunos matriculados na atividade de ensino de \tcdef@forms@formstitle\ semestre \tcdef@coord@TCCperiod .}
+
+\tccreportabsents{Desistentes com conceito (segundo semestre)}
+\tccreportdismiss{Desistentes sem conceito (primeiro semestre)}
+\tccreferralopening{Ao\\ \tcdef@cover@secretaryacronym\ da \tcdef@cover@universitydivision}
+
+\referralfailed{{REPROVAD\tccore@@ref{student}{Article}}}
+\referralapproved{{APROVAD\tccore@@ref{student}{Article}}}
+
+\referralexamapprovedtext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, n\~{a}o tendo sido considerad\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} pela banca listada abaixo. Posto em exame, \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} foi \tcdef@coord@referralapproved\ com conceito final \tc@TCCgradeC .}
+
+\referralexamfailtext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, n\~{a}o tendo sido considerad\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} pela banca listada abaixo. Posto em exame, \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} foi \tcdef@coord@referralfailed\ com conceito final \tc@TCCgradeD .}
+
+\referralfatetext{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ apresentou o trabalho intitulado \emph{\tccore@@ref{student}{title}}\ no dia \tccore@@ref{student}{date}, tendo sido \tccoord@referralfate{\tccore@@ref{student}{Temp}} com conceito final \textbf{\tccoord@@fate{\Alph{tc@studentcount}}}, conforme quadro de notas abaixo. }
+
+\referralfailFF{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \emph{\tccore@@ref{student}{}}\ n\~{a}o concluiu o trabalho de conclus\~{a}o de Curso tendo sido \tcdef@coord@referralfailed\ com conceito final \textbf{FF}.}
+
+\boardlabel{Banca Examinadora}
+\boardstitle{Apresentações TCC em \tcdef@cover@course\ \tcdef@coord@TCCperiod\ \tcdef@coord@boardstitleB\ }
+\boardsworklabel{Título}
+\TCCgradesNlabel{Nota}
+\TCCgradesClabel{Conceito}
+\TCCgrades{A}{B}{C}{D}{FF}
+\TCCgradesN{9}{7.5}{6}
+
+\cocertificatetitle{CERTIFICADO}
+\cocertificateopenning{\`{A} quem interessar possa,\\ certificamos que}
+\cocertificatetext{atuou como co-orientador\tccore@@ref{coadvisor}{narticle} d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article}\ \emph{\tccore@@ref{student}{}}\ no trabalho de conclus\~{a}o de curso intitulado \emph{\tccore@@ref{student}{title}}\ no semestre \tcdef@coord@TCCperiod.}
+
+\TCCcoordtitle{Coordenador\tccore@@ref{TCCcoord}{narticle} da atividade de ensino de\\ \tcdef@forms@formstitle\ }
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
new file mode 100644
index 0000000000..0ef6373d13
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
@@ -0,0 +1,101 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-ptBR-core}
+\def\tc@tmp@altpackname{ufrgsccaptbrcore}
+\def\tc@tmp@packdesc{UFRGS/CCA Portuguese core defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+\location{Porto~Alegre}{RS}
+
+\university{Universidade Federal do Rio Grande do Sul}
+\universityacronym{UFRGS}
+\universitydivision{Escola de Engenharia}
+\divisiongradcouncil{Conselho de Graduação da \tcdef@cover@universitydivision}
+
+\secretaryacronym{SACAD}
+\secdivisionacronym{\tcdef@cover@secretaryacronym/EE}
+\graduationtitle{Bacharel em Eng. de Controle e Automa\c{c}\~{a}o}
+\course{Eng. de Controle e Automa\c{c}\~{a}o}
+\courseacronym{CCA}
+\coursecoord{Atual Coordenador(a) do Curso}
+\coursecoordtitle{Coordenador\tccore@@ref{coursecoord}{narticle} de curso}
+\advisorname{Orientador\tccore@@ref{advisor}{narticle}}%
+\coadvisorname{Co-orientador\tccore@@ref{coadvisor}{narticle}}%
+\examinername{Banca Examinadora}%
+
+\reportspecificinfo{%
+ Trabalho de Conclus\~{a}o de Curso (TCC-\tcdef@cover@courseacronym ) apresentado \`{a}
+ COMGRAD-\tcdef@cover@courseacronym\ da \tcdef@cover@university\ como parte dos requisitos para a
+ obten{\c{c}}{\~a}o do t\'{\i}tulo de \emph{\tcdef@cover@graduationtitle\ }.
+}%
+
+\approvalspecificinfo{%
+ Este Trabalho de Conclus\~{a}o de Curso foi julgado adequado para a
+ obten\c{c}\~ao dos cr\'editos da Disciplina de TCC do curso \emph{\tcdef@cover@course\ } e aprovado em sua forma final pel\tccore@@ref{advisor}{article}
+ Orientador\tccore@@ref{advisor}{narticle} e pela Banca Examinadora.
+}%
+
+\profname{Professor\tccore@@ref{advisor}{narticle}}
+\coprofname{Professor\tccore@@ref{coadvisor}{narticle}}
+
+
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
new file mode 100644
index 0000000000..e8967788f0
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
@@ -0,0 +1,215 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\makeatletter
+
+\def\tc@tmp@packname{ufrgscca-ptBR-forms}
+\def\tc@tmp@altpackname{ufrgsccaptbrforms}
+\def\tc@tmp@packdesc{UFRGS/CCA Portuguese forms defs}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+
+
+%%%%%%
+%%%%%%
+%%%%%% forms
+%%%%%%
+%%%%%%
+%%%%%%
+
+\formlocal{\tc@city,\hspace{4mm} de \hspace{1.2cm} de 20\hspace{4mm}.}
+
+\formssignaturelabel{Assinatura}
+\examinersignature{Assinatura\ \ d\tccore@@ref{examiner}{article}\ \ Avaliador\tccore@@ref{examiner}{narticle}}
+\boardsignature{Assinatura\ \ do\ \ Membro\ \ da\ \ Banca}
+\advisorsignature{Assinatura\ \ d\tccore@@ref{advisor}{article}\ \ Orientador\tccore@@ref{advisor}{narticle}}
+\coadvisorsignature{Assinatura\ \ d\tccore@@ref{coadvisor}{article}\ \ Co-orientador\tccore@@ref{coadvisor}{narticle}}
+\studentsignature{Assinatura\ \ d\tccore@@ref{student}{article}\ \ Alun\tccore@@ref{student}{article}}
+\studentsignaturegen{Assinatura\ \ do(a)\ \ Aluno(a)}
+\formsstudentlabel{Alun\tccore@@ref{student}{article}}
+\formsstudentlabelgen{Aluno(a)}
+\formproflabel{Professor(a)}
+\profname{Professor\tccore@@ref{advisor}{narticle}}
+\coprofname{Professor\tccore@@ref{coadvisor}{narticle}}
+\formsboardlabel{Membro da Banca}
+\formsadvisorlabel{Orientador\tccore@@ref{advisor}{narticle}}
+\formsadvisorlabelgen{Orientador(a)}
+\formscoadvisorlabel{Co-orientador\tccore@@ref{advisor}{narticle}}
+\formsexaminerlabel{Avaliador\tccore@@ref{examiner}{narticle}}
+\formsaltexaminerlabel{Suplente}
+\formstimelabel{Horário}
+
+
+%\formstopicAlabel{Conteúdo}
+%\formstopicBlabel{Trabalho Escrito}
+%\formstopicClabel{Apresentação}
+\formsworktitlelabel{Título do Trabalho}
+\formstemptitlelabel{Título Provisório}
+\formsstudentIDlabel{Cartão}
+\formsemaillabel{e-mail}
+\formsphonelabel{ramal}
+\agreelabel{De Acordo}
+
+\continuelabel{Continua...}
+
+\formsdatelabel{Data}
+\formstitle{Trabalho de Conclusão de Curso}% em \tcdef@cover@course}
+\formsfootnote{Entregar a cada membro da banca juntamente com a cópia do trabalho.}
+
+
+\renewreqformtitle{Formulário de Renovação da Inscrição na Atividade de Ensino Trabalho de Conclusão em \tcdef@cover@course}
+
+\renewreqformnotes{O resumo deve ser curto, i.e., não deve exceder este espaço. O texto deve ser escrito em parágrafo único, e por se tratar de proposta, poderá utilizar tempo futuro e não necessita ter motivação ou justificativa.\\
+Deve conter:
+\begin{enumerate*}[alpha)]
+ \item O QUE será feito - descrição e objetivos.
+ \item COMO será feito - metodologia.
+ \item Resultados esperados.
+\end{enumerate*}
+}
+
+\reqformtitle{Formul\'{a}rio de Requerimento de Matr\'{i}cula}
+\reqformopening{Ilm\tccore@@ref{coursecoord}{article}. Sr\tccore@@ref{coursecoord}{narticle}.\par
+ Coordenador\tccore@@ref{coursecoord}{narticle} da Comissão de Graduação do Curso em \tcdef@cover@course {da \tcdef@cover@universityacronym\ }}
+%\reqformopening{algo}
+
+\reqformdesc{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \tc@studentA , REGULARMENTE MATRICULAD\tccore@@ref{student}{Article} neste período letivo no curso \emph{\tcdef@cover@course\ }, desta universidade, portador\tccore@@ref{student}{narticle} do cartão de identificação n$^o$ \tc@studentAID\ vem por meio desta solicitar matrícula na atividade de ensino de \tcdef@forms@formstitle}
+
+\coadvisorformtitle{Requerimento de Autorização de Co-Orientação}
+\coadvisorformdesc{\tccore@@ref{student}{Article} alun\tccore@@ref{student}{article} \tc@studentA , REGULARMENTE MATRICULAD\tccore@@ref{student}{Article} na atividade de TCC neste período letivo, vem por meio desta solicitar autorização para registro de co-orientador de TCC, conforme justificativa abaixo.}
+
+\formsbrieflabel{Resumo}
+
+\formsstudentemaillabel{Email d\tccore@@ref{student}{article} Alun\tccore@@ref{student}{article}}
+
+\formsadvisoremaillabel{Email d\tccore@@ref{advisor}{article} Orientador\tccore@@ref{advisor}{narticle}}
+
+\formsreasonlabel{Justificativa}
+
+
+\examformtitle{Formul\'{a}rio de Avalia\c{c}\~{a}o}
+
+\examformdesc{A nota (variando de zero a dez) atribuída por cada membro da banca examinadora será dada considerando o desempenho d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} nos 3 pontos apresentados na tabela abaixo.}
+
+\examformnoteslabel{Observações}
+
+\examformnotes{\ \\Posteriormente, \tccore@@ref{TCCcoord}{article} professor\tccore@@ref{TCCcoord}{narticle} coordenador\tccore@@ref{TCCcoord}{narticle} calculará a nota final atribuída por cada membro da banca examinadora, de acordo com a seguinte ponderação:\\[2mm] {\bf Nota Final Banca = \tc@TCCpointAweight\ x \tc@TCCpointAlabel\ + \tc@TCCpointBweight\ x \tc@TCCpointBlabel\ + \tc@TCCpointCweight\ x \tc@TCCpointClabel\ } \\[2mm] A média final da atividade será dada pela média das notas finais (calculadas com a expressão acima) atribuidas por cada um dos membros da banca examinadora.}
+
+\examboardformtitle{Formulário de Aprovação do Relatório Parcial e Banca Examinadora}
+
+\examboardformdesc{Aprovo o Relatório Parcial e nominata da Banca Examinadora acima relacionada.}
+
+\formsboardtitle{Banca Examinadora}
+
+\advisorapprovalformtitle{Formulário de Aprovação para Apresentação}
+
+\advisorapprovalformdesc{{\bf Parecer d\tccore@@ref{advisor}{article} Orientador\tccore@@ref{advisor}{narticle}}\footnote{Preenchimento Obrigatório}}
+
+\advisorapprovalformdescB{Aprovo a versão final do trabalho submetido pel\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} e considero \tccore@@ref{student}{article} mesm\tccore@@ref{student}{article} apt\tccore@@ref{student}{article} para apresentação.}
+
+\rectifyapprovalformtitle{Formulário de Aprovação das Correções}
+
+\rectifyapprovalformdesc{\begin{description}
+\item[Observação 1:] A nota final será a já atribuída pela Banca Examinadora no momento da Defesa. Caso a versão final corrigida do trabalho mais este formulário não sejam entregues até a data estipulada, o conceito do aluno passará a ser {\bf D}.
+\item[Observação 2:] A assinatura d\tccore@@ref{advisor}{article} orientador\tccore@@ref{advisor}{narticle} é obrigatória, entretanto a assinatura dos membros da banca só é necessária caso o(a) mesmo(a) tenha marcado a opção "$\Box$ Revisarei o trabalho depois de corrigido" no \emph{Formulário de Correções}.
+\end{description}}
+
+\receiptformtitle{Recibo de entrega de cópia da versão final do Trabalho de Conclusão}
+
+\receiptformfootnote{Entregar a cada membro da banca juntamente com a cópia do trabalho final e após encaminhar ao \tcdef@cover@secretaryacronym .}
+
+\receiptformdesc{Declaro que encontra-se em minha posse cópia da versão final do Trabalho de Conclusão de Curso em \tcdef@cover@course\ d\tccore@@ref{student}{article} alun\tccore@@ref{student}{article} }
+
+
+\reviewformtitle{Formulário de Correções}
+\reviewformdesc{Correções: \parbox[t]{.8\textwidth}{
+ \begin{description}[tcc,noitemsep]
+ \item[$\Box$] Nenhuma
+ \item[$\Box$] Ortográfica
+ \item[$\Box$] Regras de Escrita
+ \item[$\Box$] Equações
+ \item[$\Box$] Resumo
+ \item[$\Box$] Abstract
+ \item[$\Box$] Índice
+ \item[$\Box$] Introdução
+ \item[$\Box$] Conclusões
+ \item[$\Box$] Corpo do Trabalho
+ \item[$\Box$] Resultados
+ \item[$\Box$] Adicionar mais exemplos
+ \item[$\Box$] Figuras
+ \item[$\Box$] Tabelas
+ \item[$\Box$] {\bf Reescrever tudo}\footnotemark[2]
+ \item[$\Box$] Outras: \\
+ \begin{tabular}{p{0.7\textwidth}}
+ ~\\\hline
+ ~\\\hline
+ ~\\\hline
+ ~\\\hline
+ \end{tabular}\\[-1mm]
+ \item[$\Box$] {\bf Revisarei o trabalho depois de corrigido}%\footnotemark[2]
+ \end{description}}
+}
+
+\reviewformfootnoteB{Neste caso \tccore@@ref{student}{article} alun\tccore@@ref{student}{article} estará em EXAME e receberá conceito final C ou D, conforme revisão final do texto.}
+
+\reviewformfootnote{\tcdef@forms@formsfootnote\ Após a apresentação, retornar este à coordenação do TCC.}
+
+\formsrectifyOKdesc{Correções satisfatórias: \hspace*{1cm}$\Box$\ sim\hspace*{2cm}$\Box$\ não}
+
+\TCCpointsweight{0.35}{0.35}{0.3}
+\TCCpointslabel{Conteúdo}{Trab. Escrito}{Apresentação}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
new file mode 100644
index 0000000000..5686f2fcce
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -0,0 +1,211 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
+%% EE stands for "Engineering School"
+%% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca}
+\def\tc@tmp@altpackname{ufrgscca}
+\def\tc@tmp@packdesc{UFRGS/CCA class}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+
+\RequirePackage{etex}
+\RequirePackage{etoolbox}
+\RequirePackage{lmodern}%
+
+\RequirePackage[T1]{fontenc}
+\RequirePackage[utf8]{inputenc}
+
+%==============================================================================
+% Declaração de opções
+%==============================================================================
+\DeclareKeys[tc]{
+ tocdepth.usage = load,
+ tocdepth.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+ secdepth.usage = load,
+ secdepth.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+
+ english.usage = load,
+ english.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}\OptionNotUsed},
+ relnum.usage = load,
+ relnum.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}\PassOptionsToPackage{\CurrentOption}{ufrgscca-lists}\OptionNotUsed},
+ oneside.usage = load,
+ oneside.code = {\AtEndOfClass{\@twosidefalse}\OptionNotUsed},
+ strict-abnt.usage = load,
+ strict-abnt.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+ repeatfields.usage = load,
+ repeatfields.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+ chapternopagenum.usage = load,
+ chapternopagenum.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+
+ nomicrotype.usage = load,
+ nomicrotype.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+
+ showframes.usage = load,
+ showframes.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+ showlabes.usage = load,
+ showlabes.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-abnt}},
+
+ xlists.usage = load,
+ xlists.if = tc@xlists,
+ xpacks.usage = load,
+ xpacks.if = tc@xpacks,
+
+ nolocal.usage = load,
+ nolocal.if = tcif@nolocal,
+
+ nofontwarning.usage = load,
+ nofontwarning.if = @nofontwarning,
+
+ report.usage = load,
+ report.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-cover}},
+ internship.usage = load,
+ internship.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-cover}},
+
+ texlive.usage = load,
+ texlive.if = tcif@texlive,
+ overleaf.usage = load,
+ overleaf.if = tcif@overleaf,
+ miktex.usage = load,
+ miktex.if = tcif@miktex,
+
+ dctools.usage = load,
+ dctools.if = tcif@dctools,
+}
+
+\DeclareUnknownKeyHandler[tc]{\PassOptionsToClass{\CurrentOption}{report}}
+\ProcessKeyOptions[tc]\relax
+
+\iftcif@dctools
+ \LoadClass[12pt]{article}
+\else
+ \LoadClass[12pt,twoside,openright]{report}
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% Packages Loading
+%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{silence}%
+\if@nofontwarning%
+ \WarningFilter{latexfont}{Font shape}%
+ \WarningFilter{latexfont}{Size substitutions with differences}%
+ \WarningFilter{latexfont}{Some font shapes were not available}%
+\fi%
+
+
+\RequirePackage{ufrgscca-abnt}
+
+\iftc@xlists\RequirePackage{ufrgscca-lists}\fi
+
+\RequirePackage{ufrgscca-gen}
+\RequirePackage{ufrgscca-cover}
+\RequirePackage{ufrgscca-core}
+
+
+\iftc@xpacks
+ \RequirePackage{relsize}
+ \RequirePackage{keyval,graphicx}
+ \RequirePackage{mathtools}
+ \RequirePackage{empheq}
+ \RequirePackage{mathrsfs, amsfonts,amssymb}%
+ \RequirePackage{amsthm}%
+ \RequirePackage{extarrows}%
+ \RequirePackage{mathfixs}%
+ \RequirePackage{bigdelim}%
+ \RequirePackage[american,siunitx,cuteinductors,smartlabels,arrowmos,EFvoltages,betterproportions]{circuitikz}%
+ \usetikzlibrary{fit}%
+ \usetikzlibrary{math}%
+ \usetikzlibrary{calc}%
+ \usetikzlibrary{shapes.geometric} %needed for the triangle%
+ \usetikzlibrary{shapes.misc} %needed for the triangle%
+ \usetikzlibrary{shapes.multipart}
+ \usetikzlibrary{graphs}%
+ \usetikzlibrary{3d}%
+ \usetikzlibrary{positioning}%
+ \usetikzlibrary{shadows}%
+ \usetikzlibrary{babel}
+ \RequirePackage{steinmetz}%
+\fi
+
+
+\WarningFilter{hyperref}{Option `pdftex' has already}
+
+\RequirePackage[hidelinks,hypertexnames=false]{hyperref}%
+%%
+%% A few (hyperref related) commands
+%%
+\NewDocumentCommand{\autonameref}{O{, }mO{\space}}{\autoref{#2}#1\nameref{#2}#3}
+\gdef\annexref#1{\hyperref[#1]{\defannexname\ \ref*{#1}}}
+\NewDocumentCommand{\autoannexref}{O{, }mO{\space}}{\annexref{#2}#1\nameref{#2}#3}
+
+
+\iftcif@english%
+ \input{ufrgscca-en-core.def}%
+\else%
+ \input{ufrgscca-ptBR-core.def}%
+\fi%
+
+
+\iftcif@nolocal%
+\else%
+ \IfFileExists{local.tex}{\input{local.tex}}{}%
+ \tccore@emptyfields%
+\fi
+
+