project/static/proceedings/sources/ltxutil.sty
changeset 99 30b754364bbb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/project/static/proceedings/sources/ltxutil.sty	Tue May 11 03:51:06 2010 +0530
@@ -0,0 +1,1750 @@
+%%
+%% This is file `ltxutil.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltxutil.dtx  (with options: `ltxutil,ltxutil-krn')
+%% 
+%% This is a generated file;
+%% altering it directly is inadvisable;
+%% instead, modify the original source file.
+%% See the URL in the file 00readme.txt.
+%% 
+%% Copyright notice.
+%% 
+%%    These files are distributed
+%%    WITHOUT ANY WARRANTY; without even the implied warranty of
+%%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%% 
+%%%  @LaTeX-file{
+%%%     filename        = "ltxutil.dtx",
+%%%     version         = "1.0rc5b",
+%%%     date            = "2001/07/31",
+%%%     time            = "12:23:00 GMT+8",
+%%%     checksum        = "3641",
+%%%     author          = "Arthur Ogawa (mailto:ogawa@teleport.com),
+%%%                        commissioned by the American Physical Society.
+%%%                        ",
+%%%     copyright       = "Copyright (C) 1999 Arthur Ogawa,
+%%%                        distributed under the terms of the
+%%%                        LaTeX Project Public License, see
+%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%%                        ",
+%%%     address         = "Arthur Ogawa,
+%%%                        USA",
+%%%     telephone       = "",
+%%%     FAX             = "",
+%%%     email           = "ogawa@teleport.com",
+%%%     codetable       = "ISO/ASCII",
+%%%     keywords        = "latex, utility, kernel",
+%%%     supported       = "yes",
+%%%     abstract        = "package to add utilties to LaTeX",
+%%%     docstring       = "The checksum field above generated by ltxdoc",
+%%%  }
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]%
+\ProvidesFile{ltxutil.sty}%
+ [2001/07/31 1.0rc5b utilities package]% \fileversion
+\def\package@name{ltxutil}%
+\expandafter\PackageInfo\expandafter{\package@name}{%
+ Utility macros for \protect\LaTeXe,
+ by A. Ogawa (ogawa@teleport.com)%
+}%
+\typeout{%
+ ltxutil: portions licensed from W. E. Baxter (web@superscript.com)%
+}%
+\def\class@err#1{\ClassError{\class@name}{#1}\@eha}%
+\def\class@warn#1{\ClassWarningNoLine{\class@name}{#1}}%
+\def\class@info#1{\ClassInfo{\class@name}{#1}}%
+\def\obsolete@command#1{%
+ \class@warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}%
+ \global\let#1\@empty
+ #1%
+}%
+\def\replace@command#1#2{%
+ \class@warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}%
+ \global\let#1#2%
+ #1%
+}%
+\def\replace@environment#1#2{%
+ \class@warn@end{Environment #1 is obsolete;^^JUse #2 instead}%
+ \glet@environment{#1}{#2}%
+ \@nameuse{#1}%
+}%
+\def\incompatible@package#1{%
+ \@ifpackageloaded{#1}{%
+  \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}%
+  \ClassError{\class@name}{The #1 package cannot be used with \class@name}%
+  \@tempa\stop
+ }{%
+  \class@info{#1 was not loaded (OK!)}%
+ }%
+}%
+\def\class@warn@end#1{%
+ \gappdef\class@enddocumenthook{\class@warn{#1}}%
+}%
+\AtEndOfClass{%
+ \@ifxundefined\class@name{\def\class@name{Generic Class}}{}%
+}%
+\def\t@{to}%
+\dimendef\dimen@iii\thr@@
+\def\halignt@{\halign\t@}%
+\chardef\f@ur=4\relax
+\chardef\cat@letter=11\relax
+\chardef\other=12\relax
+\def\let@environment#1#2{%
+ \expandafter\let
+ \csname#1\expandafter\endcsname\csname#2\endcsname
+ \expandafter\let
+ \csname end#1\expandafter\endcsname\csname end#2\endcsname
+}%
+\def\glet@environment#1#2{%
+ \global\expandafter\let
+ \csname#1\expandafter\endcsname\csname#2\endcsname
+ \global\expandafter\let
+ \csname end#1\expandafter\endcsname\csname end#2\endcsname
+}%
+\newcommand\tracingplain{%
+ \tracingonline\z@\tracingcommands\z@\tracingstats\z@
+ \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne
+ \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@
+ \showboxbreadth5\showboxdepth3\relax %\errorstopmode
+ }%
+\newcommand\traceoutput{%
+ \appdef\@resetactivechars{\showoutput}%
+}%
+\newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}%
+\newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}%
+\def\fullinterlineskip{\prevdepth\z@}%
+\countdef\count@i\@ne
+\countdef\count@ii\tw@
+\long\def\prepdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks@ii{#2}%
+ \edef#1{\the\toks@ii\the\toks@}%
+}%
+\long\def\appdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks@ii{#2}%
+ \edef#1{\the\toks@\the\toks@ii}%
+}%
+\long\def\gappdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks@ii{#2}%
+ \global\edef#1{\the\toks@\the\toks@ii}%
+}%
+\long\def\appdef@val#1#2{%
+ \appdef#1{{#2}}%
+}%
+\long\def\appdef@e#1#2{%
+ \expandafter\appdef
+ \expandafter#1%
+ \expandafter{#2}%
+}%
+\long\def\appdef@eval#1#2{%
+ \expandafter\appdef@val
+ \expandafter#1%
+ \expandafter{#2}%
+}%
+\toksdef\toks@ii=\tw@
+\long\def\@ifxundefined#1{\@ifx{\undefined#1}}%
+\long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}%
+\long\def\@argswap#1#2{#2#1}%
+\long\def\@argswap@val#1#2{#2{#1}}%
+\def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}%
+\def\@boolean#1#2{%
+  \long\def#1{%
+    #2% \if<something>
+      \expandafter\true@sw
+    \else
+      \expandafter\false@sw
+    \fi
+  }%
+}%
+\def\@boole@def#1#{\@boolean{#1}}% Implicit #2
+\def\@booleantrue#1{\let#1\true@sw}%
+\def\@booleanfalse#1{\let#1\false@sw}%
+\@boole@def\@ifx#1{\ifx#1}%
+\@boole@def\@ifx@empty#1{\ifx\@empty#1}%
+\@boole@def\@if@empty#1{\if!#1!}%
+\def\@if@sw#1#2{#1\expandafter\true@sw\else\expandafter\false@sw#2}%
+\@boole@def\@ifdim#1{\ifdim#1}%
+\@boole@def\@ifeof#1{\ifeof#1}%
+\@boole@def\@ifhbox#1{\ifhbox#1}%
+\@boole@def\@ifhmode{\ifhmode}%
+\@boole@def\@ifinner{\ifinner}%
+\@boole@def\@ifmmode{\ifmmode}%
+\@boole@def\@ifnum#1{\ifnum#1}%
+\@boole@def\@ifodd#1{\ifodd#1}%
+\@boole@def\@ifvbox#1{\ifvbox#1}%
+\@boole@def\@ifvmode{\ifvmode}%
+\@boole@def\@ifvoid#1{\ifvoid#1}%
+\long\def\true@sw#1#2{#1}%
+\long\def\false@sw#1#2{#2}%
+\long\def\loopuntil#1{#1{}{\loopuntil{#1}}}%
+\long\def\loopwhile#1{#1{\loopwhile{#1}}{}}%
+\def\@provide#1{%
+ \@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}%
+ {\def#1}{\def\j@nk}%
+}%
+\prepdef\document{%
+ \endgroup
+ \init@documenthook
+ \set@typesize@hook
+ \normalsize
+ \set@pica@hook
+ \true@sw{}%
+}%
+\def\init@documenthook{}%
+\AtBeginDocument{%
+ \class@documenthook
+}%
+\AtEndDocument{%
+ \class@enddocumenthook
+}%
+\def\class@documenthook{}%
+\def\class@enddocumenthook{}%
+\def\set@typesize@hook{}%
+\def\set@pica@hook{}%
+\def\enddocument{%
+ \@enddocumenthook
+ \@checkend{document}%
+ \clear@document
+ \check@aux
+ \deadcycles\z@
+ \@@end
+}%
+\def\clear@document{\clearpage}%
+\def\check@aux{\do@check@aux}%
+\def\do@check@aux{%
+ \@if@sw\if@filesw\fi{%
+  \immediate\closeout\@mainaux
+  \let\@setckpt\@gobbletwo
+  \let\@newl@bel\@testdef
+  \@tempswafalse
+  \makeatletter
+  \input\jobname.aux\relax
+ }{}%
+ \@dofilelist
+ \@ifdim{\font@submax >\fontsubfuzz\relax}{%
+  \@font@warning{%
+   Size substitutions with differences\MessageBreak
+   up to \font@submax\space have occured.\@gobbletwo
+  }%
+ }{}%
+ \@defaultsubs
+ \@refundefined
+ \@if@sw\if@filesw\fi{%
+  \@ifx{\@multiplelabels\relax}{%
+   \@if@sw\if@tempswa\fi{%
+    \@latex@warning@no@line{%
+     Label(s) may have changed.
+     Rerun to get cross-references right
+    }%
+   }{}%
+  }{%
+    \@multiplelabels
+  }%
+ }{}%
+}%
+\def\flushing{%
+  \let\\\@normalcr
+  \leftskip\z@skip
+  \rightskip\z@skip
+  \@rightskip\z@skip
+  \parfillskip\@flushglue
+}%
+\def\eqnarray@LaTeX{%
+   \stepcounter{equation}%
+   \def\@currentlabel{\p@equation\theequation}%
+   \global\@eqnswtrue
+   \m@th
+   \global\@eqcnt\z@
+   \tabskip\@centering
+   \let\\\@eqncr
+   $$\everycr{}\halign\t@\displaywidth\bgroup
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
+      &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil
+      &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
+         $\displaystyle{##}$\hfil\tabskip\@centering
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
+         \tabskip\z@skip
+      \cr
+}
+\long\def\eqnarray@fleqn@fixed{%
+ \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}%
+ \global\@eqnswtrue\m@th\global\@eqcnt\z@
+ \tabskip\mathindent
+ \let\\=\@eqncr
+ \setlength\abovedisplayskip{\topsep}%
+ \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi
+ \addtolength\abovedisplayskip{\parskip}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \setlength\belowdisplayshortskip{\abovedisplayskip}%
+ \setlength\abovedisplayshortskip{\abovedisplayskip}%
+ $$%
+ \everycr{}%
+ \halignt@\linewidth\bgroup
+  \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
+  &\global\@eqcnt\@ne
+   \hskip\tw@\eqncolsep
+   \hfil${{}##{}}$\hfil
+  &\global\@eqcnt\tw@
+   \hskip\tw@\eqncolsep
+   $\displaystyle{##}$\hfil\tabskip\@centering
+  &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup
+   \tabskip\z@skip
+  \cr
+}%
+\@ifx{\eqnarray\eqnarray@LaTeX}{%
+ \class@info{Repairing broken LaTeX eqnarray}%
+ \let\eqnarray\eqnarray@fleqn@fixed
+ \newlength\eqncolsep
+ \setlength\eqncolsep\z@
+ \let\eqnarray@LaTeX\relax
+ \let\eqnarray@fleqn@fixed\relax
+}{}%
+\def\mathindent{\@centering}%
+\def\set@eqnarray@skips{}%
+\def\footnote{%
+ \@ifnextchar[\@xfootnote{\@yfootnote\@footnotetext}%
+}%
+\def\footnotemark{%
+ \@ifnextchar[\@xfootnotemark{\@yfootnote}%
+}%
+\def\@xfootnote[#1]{%
+ \@xfootnotemark[#1]%
+ \@footnotetext
+}%
+\def\@xfootnotemark@ltx[#1]{%
+ \begingroup
+   \csname c@\@mpfn\endcsname #1\relax
+   \unrestored@protected@xdef\@thefnmark{\thempfn}%
+ \endgroup
+ \H@@footnotemark
+}%
+\def\@yfootnote{%
+ \stepcounter\@mpfn
+ \protected@xdef\@thefnmark{\thempfn}%
+ \H@@footnotemark
+}%
+\appdef\class@documenthook{%
+ \@ifxundefined\H@@footnotemark{%
+  \let\H@@footnotemark\@footnotemark
+ }{}%
+ \let\@xfootnotemark\@xfootnotemark@ltx
+}%
+\long\def\@footnotetext{%
+ \insert\footins\bgroup
+  \make@footnotetext
+}%
+\long\def\@mpfootnotetext{%
+ \minipagefootnote@pick
+  \make@footnotetext
+}%
+\def\make@footnotetext#1{%
+  \reset@font\footnotesize
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\footnotesep
+  \splitmaxdepth\dp\strutbox
+  \set@footnotewidth
+  \@parboxrestore
+  \protected@edef\@currentlabel{%
+   \csname p@footnote\endcsname\@thefnmark
+  }%
+  \color@begingroup
+   \@makefntext{%
+    \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox
+   }%
+  \color@endgroup
+ \minipagefootnote@drop
+}%
+\def\set@footnotewidth{%
+ \hsize\columnwidth
+ \linewidth\hsize
+}%
+\def\set@footnotewidth@ii{%
+ \hsize\textwidth
+ \advance\hsize\columnsep
+ \divide\hsize\tw@
+ \advance\hsize-\columnsep
+ \linewidth\hsize
+}%
+\def\addtocontents#1#2{%
+ \protected@write\@auxout{%
+  \let \label \@gobble \let \index \@gobble \let \glossary \@gobble
+  \def\({\string\(}%
+  \def\){\string\)}%
+  \def\\{\string\\}%
+ }{\string \@writefile {#1}{#2}}%
+}%
+\def\addcontentsline#1#2#3{%
+ \addtocontents{#1}{%
+  \protect\contentsline{#2}{#3}{\thepage}{}%
+ }%
+}%
+\def\contentsline#1#2#3#4{%
+ \csname l@#1\endcsname{#2}{#3}%
+}%
+\def\label#1{%
+ \@bsphack
+  \protected@write\@auxout{}{%
+   \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}%
+  }%
+ \@esphack
+}%
+\appdef\class@documenthook{%
+ \prepdef\caption{\minipagefootnote@here}%
+}%
+\def\minipagefootnote@init{%
+ \setbox\@mpfootins\box\voidb@x
+}%
+\def\minipagefootnote@pick{%
+ \global\setbox\@mpfootins\vbox\bgroup
+  \unvbox\@mpfootins
+}%
+\def\minipagefootnote@drop{%
+ \egroup
+}%
+\def\minipagefootnote@here{%
+    \par
+    \@ifvoid\@mpfootins{}{%
+      \vskip\skip\@mpfootins
+      \fullinterlineskip
+      \@ifinner{%
+       \vtop{\unvcopy\@mpfootins}%
+       {\setbox\z@\lastbox}%
+      }{}%
+      \unvbox\@mpfootins
+    }%
+}%
+\def\minipagefootnote@foot{%
+ \@ifvoid\@mpfootins{}{%
+  \insert\footins\bgroup\unvbox\@mpfootins\egroup
+ }%
+}%
+\def\endminipage{%
+    \par
+    \unskip
+    \minipagefootnote@here
+    \@minipagefalse   %% added 24 May 89
+  \color@endgroup
+  \egroup
+  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
+}%
+\let\@xfloat@LaTeX\@xfloat
+\def\@xfloat#1[#2]{%
+  \@xfloat@prep
+  \@nameuse{fp@proc@#2}%
+  \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}%
+  \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}%
+}%
+\def\@xfloat@prep{%
+  \let\footnote\footnote@latex
+  \def\@mpfn{mpfootnote}%
+  \def\thempfn{\thempfootnote}%
+  \c@mpfootnote\z@
+  \let\@footnotetext\@mpfootnotetext
+  \let\H@@footnotetext\@mpfootnotetext
+  \let\@makefntext\@mpmakefntext
+}%
+\appdef\class@documenthook{%
+ \let\footnote@latex\footnote
+}%
+\def\@xfloat@anchored#1[#2]{%
+ \def\@captype{#1}%
+ \begin@float@pagebreak
+  \let\end@float\end@float@anchored
+  \let\end@dblfloat\end@float@anchored
+        \hsize\columnwidth
+        \@parboxrestore
+        \@floatboxreset
+  \minipagefootnote@init
+}%
+\def\end@float@anchored{%
+  \minipagefootnote@here
+  \par\vskip\z@skip      %% \par\vskip\z@ added 15 Dec 87
+ \par
+ \end@float@pagebreak
+}%
+\def\begin@float@pagebreak{\par\addvspace\intextsep}%
+\def\end@float@pagebreak{\par\addvspace\intextsep}%
+\def\@mpmakefntext#1{%
+ \parindent=1em
+ \noindent
+ \hb@xt@1em{\hss\@makefnmark}%
+ #1%
+}%
+\def\do@if@floats#1#2{%
+ \@ifxundefined\floats@sw{\global\@booleantrue\floats@sw}{}%
+ \floats@sw{}{%
+  \expandafter\newwrite
+              \csname#1write\endcsname
+  \expandafter\def
+              \csname#1@stream\endcsname{\jobname#2}%
+  \expandafter\immediate
+  \expandafter\openout
+              \csname#1write\endcsname
+              \csname#1@stream\endcsname\relax
+  \@ifxundefined\@float@LaTeX{%
+   \let\@float@LaTeX\@float
+   \let\@dblfloat@LaTeX\@dblfloat
+   \let\@float\write@float
+   \let\@dblfloat\write@floats
+  }{}%
+  \let@environment{#1@float}{#1}%
+  \let@environment{#1@floats}{#1*}%
+  \@ifxundefined@cs{#1@write}{}{%
+   \let@environment{#1}{#1@write}%
+  }%
+ }%
+}%
+\def\triggerpar{\leavevmode\@@par}%
+\def\oneapage{\def\begin@float@pagebreak{\newpage}\def\end@float@pagebreak{\newpage}}%
+\def\print@float#1#2{%
+ \@ifxundefined@cs{#1write}{}{%
+  \begingroup
+   \@booleanfalse\floats@sw
+   #2%
+   \raggedbottom
+   \def\array@default{v}% floats must
+   \let\@float\@float@LaTeX
+   \let\@dblfloat\@dblfloat@LaTeX
+   \let\trigger@float@par\triggerpar
+   \let@environment{#1}{#1@float}%
+   \let@environment{#1*}{#1@floats}%
+   \expandafter\prepdef\csname#1\endcsname{\trigger@float@par}%
+   \expandafter\prepdef\csname#1*\endcsname{\trigger@float@par}%
+   \@namedef{fps@#1}{h!}%
+   \expandafter\immediate
+   \expandafter\closeout
+               \csname#1write\endcsname
+   \everypar{%
+    \global\let\trigger@float@par\relax
+    \global\everypar{}\setbox\z@\lastbox
+    \@ifxundefined@cs{#1sname}{}{%
+     \begin@float@pagebreak
+     \expandafter\section
+     \expandafter*%
+     \expandafter{%
+                  \csname#1sname\endcsname
+                 }%
+    }%
+   }%
+   \input{\csname#1@stream\endcsname}%
+  \endgroup
+  \global\expandafter\let\csname#1write\endcsname\relax
+ }%
+}%
+\def\write@float#1{\write@@float{#1}{#1}}%
+\def\endwrite@float{\@Esphack}%
+\def\write@floats#1{\write@@float{#1*}{#1}}%
+\def\endwrite@floats{\@Esphack}%
+\def\write@@float#1#2{%
+  \ifhmode
+     \@bsphack
+  \fi
+  \chardef\@tempc\csname#2write\endcsname
+  \toks@{\begin{#1}}%
+  \def\@tempb{#1}%
+  \expandafter\let\csname end#1\endcsname\endwrite@float
+  \catcode`\^^M\active
+  \@makeother\{\@makeother\}\@makeother\%
+  \write@floatline
+}%
+\begingroup
+ \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}%
+ \gdef\float@end@tag#1\end{#2}#3\@nul[%
+  \def\@tempa[#2]%
+  \@ifx[\@tempa\@tempb][\end[#2]][\write@floatline]%
+ ]%
+ \obeylines%
+ \gdef\write@floatline#1^^M[%
+  \begingroup%
+   \newlinechar`\^^M%
+   \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]%
+  \endgroup%
+  \toks@[]%
+  \float@end@tag#1\end{}\@nul%
+ ]%
+\endgroup
+\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
+\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
+  k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
+  y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or
+  kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or
+  vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi}
+\def\@startsection#1#2#3#4#5#6{%
+ \@startsection@hook
+ \if@noskipsec \leavevmode \fi
+ \par
+ \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@
+  \@tempskipa -\@tempskipa \@afterindentfalse
+ \fi
+ \if@nobreak
+  \everypar{}%
+ \else
+  \addpenalty\@secpenalty\addvspace\@tempskipa
+ \fi
+ \@ifstar
+  {\@dblarg{\@ssect@ltx{#1}{#2}{#3}{#4}{#5}{#6}}}%
+  {\@dblarg{\@sect@ltx {#1}{#2}{#3}{#4}{#5}{#6}}}%
+}%
+\def\@startsection@hook{}%
+\class@info
+  {Repairing broken LateX \string\@sect}%
+\def\@sect@ltx#1#2#3#4#5#6[#7]#8{%
+  \@ifnum{#2>\c@secnumdepth}{%
+    \def\H@svsec{\phantomsection}%
+    \let\@svsec\@empty
+  }{%
+    \H@refstepcounter{#1}%
+    \def\H@svsec{%
+     \phantomsection
+    }%
+    \protected@edef\@svsec{{#1}}%
+    \@ifundefined{@#1cntformat}{%
+     \prepdef\@svsec\@seccntformat
+    }{%
+     \expandafter\prepdef
+     \expandafter\@svsec
+                 \csname @#1cntformat\endcsname
+    }%
+  }%
+  \@tempskipa #5\relax
+  \@ifdim{\@tempskipa>\z@}{%
+    \begingroup
+      \interlinepenalty \@M
+      #6{%
+       \@ifundefined{@hangfrom@#1}{\@hang@from}{\csname @hangfrom@#1\endcsname}%
+       {\hskip#3\relax\H@svsec}{\@svsec}{#8}%
+      }%
+      \@@par
+    \endgroup
+    \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
+    \addcontentsline{toc}{#1}{%
+      \@ifnum{#2>\c@secnumdepth}{%
+       \protect\numberline{}%
+      }{%
+       \protect\numberline{\csname the#1\endcsname}%
+      }%
+      #8}%
+  }{%
+    \def\@svsechd{%
+      #6{%
+       \@ifundefined{@runin@to@#1}{\@runin@to}{\csname @runin@to@#1\endcsname}%
+       {\hskip#3\relax\H@svsec}{\@svsec}{#8}%
+      }%
+      \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
+      \addcontentsline{toc}{#1}{%
+        \@ifnum{#2>\c@secnumdepth}{%
+         \protect\numberline{}%
+        }{%
+         \protect\numberline{\csname the#1\endcsname}%
+        }%
+        #8}%
+    }%
+  }%
+  \@xsect{#5}%
+}%
+\def\@hang@from#1#2#3{\@hangfrom{#1#2}#3}%
+\def\@runin@to #1#2#3{#1#2#3}%
+\def\@ssect@ltx#1#2#3#4#5#6[#7]#8{%
+  \def\H@svsec{\phantomsection}%
+  \@tempskipa #5\relax
+  \@ifdim{\@tempskipa>\z@}{%
+    \begingroup
+      \interlinepenalty \@M
+      #6{%
+       \@ifundefined{@hangfroms@#1}{\@hang@froms}{\csname @hangfroms@#1\endcsname}%
+       {\hskip#3\relax\H@svsec}{#8}%
+      }%
+      \@@par
+    \endgroup
+    \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
+    \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
+  }{%
+    \def\@svsechd{%
+      #6{%
+       \@ifundefined{@runin@tos@#1}{\@runin@tos}{\csname @runin@tos@#1\endcsname}%
+       {\hskip#3\relax\H@svsec}{#8}%
+      }%
+      \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
+      \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
+    }%
+  }%
+  \@xsect{#5}%
+}%
+\def\@hang@froms#1#2{#1#2}%
+\def\@runin@tos #1#2{#1#2}%
+\appdef\init@documenthook{%
+ \providecommand\phantomsection{}%
+ \providecommand\hyper@anchor[1]{}%
+ \providecommand\hyper@last{}%
+ \providecommand\Hy@raisedlink[1]{#1}%
+ \providecommand\hyper@anchorstart[1]{}%
+ \providecommand\hyper@anchorend{}%
+ \providecommand\hyper@linkstart[2]{}%
+ \providecommand\hyper@linkend{}%
+}%
+\let\H@refstepcounter\refstepcounter
+\def\sec@upcase#1{\relax{#1}}%
+\appdef\class@documenthook{%
+ \@ifpackageloaded{array}{\switch@array}{\switch@tabular}%
+ \prepdef\endtabular{\endtabular@hook}%
+ \@provide\endtabular@hook{}%
+ \prepdef\endarray{\endarray@hook}%
+ \@provide\endarray@hook{}%
+ \providecommand\array@hook{}%
+ \prepdef\@tabular{\tabular@hook}%
+ \@provide\tabular@hook{}%
+}%
+\def\switch@tabular{%
+ \let\@array@sw\@array@sw@array
+ \@ifx{\@array\@array@LaTeX}{%
+  \@ifx{\multicolumn\multicolumn@LaTeX}{%
+   \@ifx{\@tabular\@tabular@LaTeX}{%
+    \@ifx{\@tabarray\@tabarray@LaTeX}{%
+     \@ifx{\array\array@LaTeX}{%
+      \@ifx{\endarray\endarray@LaTeX}{%
+       \@ifx{\endtabular\endtabular@LaTeX}{%
+        \@ifx{\@mkpream\@mkpream@LaTeX}{%
+         \@ifx{\@addamp\@addamp@LaTeX}{%
+          \@ifx{\@arrayacol\@arrayacol@LaTeX}{%
+           \@ifx{\@tabacol\@tabacol@LaTeX}{%
+            \@ifx{\@arrayclassz\@arrayclassz@LaTeX}{%
+             \@ifx{\@tabclassiv\@tabclassiv@LaTeX}{%
+              \@ifx{\@arrayclassiv\@arrayclassiv@LaTeX}{%
+               \@ifx{\@tabclassz\@tabclassz@LaTeX}{%
+                \@ifx{\@classv\@classv@LaTeX}{%
+                 \@ifx{\hline\hline@LaTeX}{%
+                  \@ifx{\@tabularcr\@tabularcr@LaTeX}{%
+                   \@ifx{\@xtabularcr\@xtabularcr@LaTeX}{%
+                    \@ifx{\@xargarraycr\@xargarraycr@LaTeX}{%
+                     \@ifx{\@yargarraycr\@yargarraycr@LaTeX}{%
+                      \true@sw
+                     }{%
+                      \false@sw
+                     }%
+                    }{%
+                     \false@sw
+                    }%
+                   }{%
+                    \false@sw
+                   }%
+                  }{%
+                   \false@sw
+                  }%
+                 }{%
+                  \false@sw
+                 }%
+                }{%
+                 \false@sw
+                }%
+               }{%
+                \false@sw
+               }%
+              }{%
+               \false@sw
+              }%
+             }{%
+              \false@sw
+             }%
+            }{%
+             \false@sw
+            }%
+           }{%
+            \false@sw
+           }%
+          }{%
+           \false@sw
+          }%
+         }{%
+          \false@sw
+         }%
+        }{%
+         \false@sw
+        }%
+       }{%
+        \false@sw
+       }%
+      }{%
+       \false@sw
+      }%
+     }{%
+      \false@sw
+     }%
+    }{%
+     \false@sw
+    }%
+   }{%
+    \false@sw
+   }%
+  }{%
+   \false@sw
+  }%
+ }{%
+  \false@sw
+ }%
+ {%
+  \class@info{Patching LaTeX tabular.}%
+ }{%
+  \class@info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}%
+ }%
+ \let\@array\@array@ltx
+ \let\multicolumn\multicolumn@ltx
+ \let\@tabular\@tabular@ltx
+ \let\@tabarray\@tabarray@ltx
+ \let\array\array@ltx
+ \let\endarray\endarray@ltx
+ \let\endtabular\endtabular@ltx
+ \let\@mkpream\@mkpream@ltx
+ \let\@addamp\@addamp@ltx
+ \let\@arrayacol\@arrayacol@ltx
+ \let\@tabacol\@tabacol@ltx
+ \let\@arrayclassz\@arrayclassz@ltx
+ \let\@tabclassiv\@tabclassiv@ltx
+ \let\@arrayclassiv\@arrayclassiv@ltx
+ \let\@tabclassz\@tabclassz@ltx
+ \let\@classv\@classv@ltx
+ \let\hline\hline@ltx
+ \let\@tabularcr\@tabularcr@ltx
+ \let\@xtabularcr\@xtabularcr@ltx
+ \let\@xargarraycr\@xargarraycr@ltx
+ \let\@yargarraycr\@yargarraycr@ltx
+}%
+\def\switch@array{%
+ \let\@array@sw\@array@sw@LaTeX
+ \@ifx{\@array\@array@array}{%
+  \@ifx{\@tabular\@tabular@array}{%
+   \@ifx{\@tabarray\@tabarray@array}{%
+    \@ifx{\array\array@array}{%
+     \@ifx{\endarray\endarray@array}{%
+      \@ifx{\endtabular\endtabular@array}{%
+       \@ifx{\@mkpream\@mkpream@array}{%
+        \@ifx{\@classx\@classx@array}{%
+         \@ifx{\insert@column\insert@column@array}{%
+          \@ifx{\@arraycr\@arraycr@array}{%
+           \@ifx{\@xarraycr\@xarraycr@array}{%
+            \@ifx{\@xargarraycr\@xargarraycr@array}{%
+             \@ifx{\@yargarraycr\@yargarraycr@array}{%
+              \true@sw
+         }{%
+          \false@sw
+         }%
+         }{%
+          \false@sw
+         }%
+         }{%
+          \false@sw
+         }%
+         }{%
+          \false@sw
+         }%
+         }{%
+          \false@sw
+         }%
+        }{%
+         \false@sw
+        }%
+       }{%
+        \false@sw
+       }%
+      }{%
+       \false@sw
+      }%
+     }{%
+      \false@sw
+     }%
+    }{%
+     \false@sw
+    }%
+   }{%
+    \false@sw
+   }%
+  }{%
+   \false@sw
+  }%
+ }{%
+  \false@sw
+ }{%
+  \class@info{Patching array package.}%
+ }{%
+  \class@info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}%
+ }%
+ \let\@array    \@array@array@new
+ \let\@@array   \@array % Cosi fan tutti
+ \let\@tabular  \@tabular@array@new
+ \let\@tabarray \@tabarray@array@new
+ \let\array     \array@array@new
+ \let\endarray  \endarray@array@new
+ \let\endtabular\endtabular@array@new
+ \let\@mkpream  \@mkpream@array@new
+ \let\@classx   \@classx@array@new
+ \let\@arrayacol\@arrayacol@ltx
+ \let\@tabacol  \@tabacol@ltx
+ \let\insert@column\insert@column@array@new
+ \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti
+ \let\@arraycr  \@arraycr@new
+ \let\@xarraycr \@xarraycr@new
+ \let\@xargarraycr\@xargarraycr@new
+ \let\@yargarraycr\@yargarraycr@new
+}%
+\def\@array@sw@LaTeX{\@ifx{\\\@tabularcr}}%
+\def\@array@sw@array{\@ifx{\d@llarbegin\begingroup}}%
+\def\@tabular@LaTeX{%
+ \leavevmode
+ \hbox\bgroup$%
+  \let\@acol\@tabacol
+  \let\@classz\@tabclassz
+  \let\@classiv\@tabclassiv
+  \let\\\@tabularcr
+  \@tabarray
+}%
+\def\@tabular@ltx{%
+  \let\@acoll\@tabacoll
+  \let\@acolr\@tabacolr
+  \let\@acol\@tabacol
+  \let\@classz\@tabclassz
+  \let\@classiv\@tabclassiv
+  \let\\\@tabularcr
+  \@tabarray
+}%
+\def\@tabular@array{%
+ \leavevmode
+ \hbox\bgroup$%
+  \col@sep\tabcolsep
+  \let\d@llarbegin\begingroup
+  \let\d@llarend\endgroup
+  \@tabarray
+}%
+\def\@tabular@array@new{%
+  \let\@acoll\@tabacoll
+  \let\@acolr\@tabacolr
+  \let\@acol\@tabacol
+  \let\col@sep\@undefined
+  \let\d@llarbegin\begingroup
+  \let\d@llarend\endgroup
+  \@tabarray
+}%
+\def\@tabarray@LaTeX{%
+ \m@th\@ifnextchar[\@array{\@array[c]}%
+}%
+\def\@tabarray@ltx{%
+ \m@th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array@default]}%
+}%
+\def\@tabarray@array{%
+ \@ifnextchar[{\@@array}{\@@array[c]}%
+}%
+\def\@tabarray@array@new{%
+ \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array@default]}%
+}%
+\newcount\intertabularlinepenalty
+\intertabularlinepenalty=100
+\newcount\@tbpen
+\appdef\samepage{\intertabularlinepenalty\@M}%
+\def\@tabularcr@LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}%
+\def\@tabularcr@ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}%
+\def\@xtabularcr@LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}%
+\def\@xtabularcr@ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}%
+\def\@xargarraycr@LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}%
+\def\@xargarraycr@ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}%
+\def\@yargarraycr@LaTeX#1{\cr \noalign {\vskip #1}}%
+\def\@yargarraycr@ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}%
+\def\@arraycr@array{%
+ \relax
+ \iffalse{\fi\ifnum 0=`}\fi
+ \@ifstar \@xarraycr \@xarraycr
+}%
+\def\@arraycr@new{%
+ \relax
+ \iffalse{\fi\ifnum 0=`}\fi
+ \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }%
+}%
+\def\@xarraycr@array{%
+ \@ifnextchar [%]
+ \@argarraycr {\ifnum 0=`{}\fi\cr}%
+}%
+\def\@xarraycr@new{%
+ \@ifnextchar [%]
+ \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}%
+}%
+\def\@xargarraycr@array#1{%
+ \unskip
+ \@tempdima #1\advance\@tempdima \dp\@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@
+ \cr
+}%
+\def\@xargarraycr@new#1{%
+ \unskip
+ \@tempdima #1\advance\@tempdima \dp\@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@
+ \cr
+ \noalign {\penalty \@tbpen }%
+}%
+\def\@yargarraycr@array#1{%
+ \cr
+ \noalign{\vskip #1}%
+}%
+\def\@yargarraycr@new#1{%
+ \cr
+ \noalign{\penalty \@tbpen \vskip #1}%
+}%
+\def\array@LaTeX{%
+ \let\@acol\@arrayacol
+ \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr
+ \let\@halignto\@empty
+ \@tabarray
+}%
+\def\array@ltx{%
+ \@ifmmode{}{\@badmath$}%
+ \let\@acoll\@arrayacol
+ \let\@acolr\@arrayacol
+ \let\@acol\@arrayacol
+ \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr
+ \let\@halignto\@empty
+ \@tabarray
+}%
+\def\array@array{%
+ \col@sep\arraycolsep
+ \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}%
+ \@tabarray
+}
+\def\array@array@new{%
+ \@ifmmode{}{\@badmath$}%
+ \let\@acoll\@arrayacol
+ \let\@acolr\@arrayacol
+ \let\@acol\@arrayacol
+\let\col@sep\@undefined
+ \def\d@llarbegin{$}%
+ \let\d@llarend\d@llarbegin
+ \gdef\@halignto{}%
+ \@tabarray
+}%
+\def\@array@LaTeX[#1]#2{%
+  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
+  \bgroup
+  \setbox\@arstrutbox\hbox{%
+    \vrule \@height\arraystretch\ht\strutbox
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@}%
+  \@mkpream{#2}%
+  \edef\@preamble{%
+    \ialign \noexpand\@halignto
+      \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}%
+  \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
+  \let\tabularnewline\\%
+    \let\par\@empty
+    \let\@sharp##%
+    \set@typeset@protect
+    \lineskip\z@skip\baselineskip\z@skip
+    \ifhmode \@preamerr\z@ \@@par\fi
+    \@preamble
+}%
+\def\@array@ltx[#1]#2{%
+ \@nameuse{@array@align@#1}%
+  \set@arstrutbox
+  \@mkpream{#2}%
+  \prepdef\@preamble{%
+    \tabskip\tabmid@skip
+    \@arstrut
+  }%
+  \appdef\@preamble{%
+    \tabskip\tabright@skip
+    \cr
+    \array@row@pre
+  }%
+  \let\tabularnewline\\%
+  \let\par\@empty
+  \let\@sharp##%
+  \set@typeset@protect
+  \lineskip\z@skip\baselineskip\z@skip
+  \tabskip\tableft@skip\relax
+  \ifhmode \@preamerr\z@ \@@par\fi
+  \everycr{}%
+  \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
+}%
+\def\set@arstrutbox{%
+  \setbox\@arstrutbox\hbox{%
+    \vrule \@height\arraystretch\ht\strutbox
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@
+  }%
+}%
+\def\@array@array[#1]#2{%
+  \@tempdima \ht \strutbox
+  \advance \@tempdima by\extrarowheight
+  \setbox \@arstrutbox \hbox{\vrule
+             \@height \arraystretch \@tempdima
+             \@depth \arraystretch \dp \strutbox
+             \@width \z@}%
+  \begingroup
+  \@mkpream{#2}%
+  \xdef\@preamble{\noexpand \ialign \@halignto
+                  \bgroup \@arstrut \@preamble
+                          \tabskip \z@ \cr}%
+  \endgroup
+  \@arrayleft
+  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
+  \bgroup
+  \let \@sharp ##\let \protect \relax
+  \lineskip \z@
+  \baselineskip \z@
+  \m@th
+  \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble
+}%
+\def\@array@array@new[#1]#2{%
+  \@tempdima\ht\strutbox
+  \advance\@tempdima by\extrarowheight
+  \setbox\@arstrutbox\hbox{%
+   \vrule \@height\arraystretch\@tempdima
+          \@depth \arraystretch\dp\strutbox
+          \@width \z@
+  }%
+  \begingroup
+   \@mkpream{#2}%
+   \xdef\@preamble{\@preamble}%
+  \endgroup
+  \prepdef\@preamble{%
+   \tabskip\tabmid@skip
+    \@arstrut
+  }%
+  \appdef\@preamble{%
+   \tabskip\tabright@skip
+   \cr
+   \array@row@pre
+  }%
+  \@arrayleft
+  \@nameuse{@array@align@#1}%
+  \m@th
+  \let\\\@arraycr
+  \let\tabularnewline\\%
+  \let\par\@empty
+  \let\@sharp##%
+  \set@typeset@protect
+  \lineskip\z@\baselineskip\z@
+  \tabskip\tableft@skip
+  \everycr{}%
+  \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
+}%
+\def\endarray@LaTeX{%
+ \crcr\egroup\egroup
+}%
+\def\endarray@ltx{%
+ \crcr\array@row@pst\egroup\egroup
+}%
+\def\endarray@array{%
+ \crcr \egroup \egroup \@arrayright \gdef\@preamble{}%
+}%
+\def\endarray@array@new{%
+ \crcr\array@row@pst\egroup\egroup % Same as \endarray@ltx
+ \@arrayright
+ \global\let\@preamble\@empty
+}%
+\def\endtabular@LaTeX{%
+ \crcr\egroup\egroup $\egroup
+}%
+\def\endtabular@ltx{%
+ \endarray
+}%
+\def\endtabular@array{%
+ \endarray $\egroup
+}%
+\def\endtabular@array@new{%
+ \endarray
+}%
+\@namedef{endtabular*}{\endtabular}%
+\long\def\multicolumn@LaTeX#1#2#3{%
+ \multispan{#1}\begingroup
+  \@mkpream{#2}%
+  \def\@sharp{#3}\set@typeset@protect
+  \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+  \@arstrut \@preamble\hbox{}\endgroup\ignorespaces
+}%
+\long\def\multicolumn@ltx#1#2#3{%
+ \multispan{#1}%
+ \begingroup
+  \@mkpream{#2}%
+  \def\@sharp{#3}%
+  \set@typeset@protect
+ %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+  \@arstrut
+  \@preamble
+  \hbox{}%
+ \endgroup
+ \ignorespaces
+}%
+\def\@array@align@t{\leavevmode\vtop\bgroup}%
+\def\@array@align@b{\leavevmode\vbox\bgroup}%
+\def\@array@align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}%
+\def\@array@align@v{%
+ \@ifmmode{%
+  \@badmath
+  \vcenter\bgroup
+ }{%
+  \@ifinner{%
+   $\vcenter\bgroup\aftergroup$
+  }{%
+   \@@par\bgroup
+  }%
+ }%
+}%
+\def\array@default{c}%
+\def\array@row@rst{%
+ \let\@array@align@v\@array@align@c
+}%
+\def\array@row@pre{}%
+\def\array@row@pst{}%
+\newcommand\toprule{\tab@rule{\column@font}{\column@fil}{\frstrut}}%
+\newcommand\colrule{\unskip\lrstrut\\\tab@rule{\body@font}{}{\frstrut}}%
+\newcommand\botrule{\unskip\lrstrut\\\noalign{\hline@rule}{}}%
+\def\hline@LaTeX{%
+ \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
+   \reserved@a\@xhline
+}%
+\def\hline@ltx{%
+ \noalign{%
+  \ifnum0=`}\fi
+  \hline@rule
+  \futurelet\reserved@a\@xhline
+ % \noalign ended in \@xhline
+}%
+\def\@xhline@unneeded{%
+ \say\reserved@a
+ \ifx\reserved@a\hline
+  \vskip\doublerulesep
+  \vskip-\arrayrulewidth
+ \fi
+ \ifnum0=`{\fi}%
+}%
+\def\tab@rule#1#2#3{%
+ \crcr
+ \noalign{%
+  \hline@rule
+  \gdef\@arstrut@hook{%
+   \global\let\@arstrut@hook\@empty
+   #3%
+  }%
+  \gdef\cell@font{#1}%
+  \gdef\cell@fil{#2}%
+ }%
+}%
+\def\column@font{}%
+\def\column@fil{}%
+\def\body@font{}%
+\def\cell@font{}%
+\def\frstrut{}%
+\def\lrstrut{}%
+\def\@arstrut@hline{%
+ \relax
+ \@ifmmode{\copy}{\unhcopy}\@arstrutbox@hline
+ \@arstrut@hook
+}%
+\let\@arstrut@org\@arstrut
+\def\@arstrut@hook{%
+ \global\let\@arstrut\@arstrut@org
+}%
+\newbox\@arstrutbox@hline
+\appdef\set@arstrutbox{%
+  \setbox\@arstrutbox@hline\hbox{%
+    \setbox\z@\hbox{$0^{0}_{}$}%
+    \dimen@\ht\z@\advance\dimen@\@arstrut@hline@clnc
+    \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}%
+    \vrule \@height\dimen@
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@
+  }%
+}%
+\def\hline@rule{%
+ \hrule \@height \arrayrulewidth
+ \global\let\@arstrut\@arstrut@hline
+}%
+\def\@arstrut@hline@clnc{2\p@}% % Klootch: magic number
+\def\tableft@skip{\z@skip}%
+\def\tabmid@skip{\z@skip}%\@flushglue
+\def\tabright@skip{\z@skip}%
+\def\tableftsep{\tabcolsep}%
+\def\tabmidsep{\tabcolsep}%
+\def\tabrightsep{\tabcolsep}%
+\def\cell@fil{}%
+\def\pbox@hook{}%
+\appdef\@arstrut{\@arstrut@hook}%
+\let\@arstrut@hook\@empty
+\def\@addtopreamble{\appdef\@preamble}%
+\def\@mkpream@LaTeX#1{%
+  \@firstamptrue\@lastchclass6
+  \let\@preamble\@empty
+  \let\protect\@unexpandable@protect
+  \let\@sharp\relax
+  \let\@startpbox\relax\let\@endpbox\relax
+  \@expast{#1}%
+  \expandafter\@tfor \expandafter
+    \@nextchar \expandafter:\expandafter=\reserved@a\do
+       {\@testpach\@nextchar
+    \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii
+      \or \@classiv \or\@classv \fi\@lastchclass\@chclass}%
+  \ifcase \@lastchclass \@acol
+      \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi
+}%
+\def\@mkpream@ltx#1{%
+ \@firstamptrue
+ \@lastchclass6
+ \let\@preamble\@empty
+ \let\protect\@unexpandable@protect
+ \let\@sharp\relax
+ \@expast{#1}%
+ \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved@a
+ \do{%
+  \expandafter\@testpach\expandafter{\@nextchar}%
+  \ifcase\@chclass
+   \@classz
+  \or
+   \@classi
+  \or
+   \@classii
+  \or
+   \@classiii
+  \or
+   \@classiv
+  \or
+   \@classv
+  \fi
+  \@lastchclass\@chclass
+ }%
+ \ifcase\@lastchclass
+  \@acolr % right-hand column
+ \or
+ \or
+  \@preamerr\@ne
+ \or
+  \@preamerr\tw@
+ \or
+ \or
+  \@acolr % right-hand column
+ \fi
+}%
+\def\insert@column@array{%
+   \the@toks \the \@tempcnta
+   \ignorespaces \@sharp \unskip
+   \the@toks \the \count@ \relax
+}%
+\def\insert@column@array@new{%
+ \the@toks\the\@tempcnta
+ \array@row@rst\cell@font
+ \ignorespaces\@sharp\unskip
+ \the@toks\the\count@
+ \relax
+}%
+\def\@mkpream@relax{%
+ \let\tableftsep\relax
+ \let\tabmidsep\relax
+ \let\tabrightsep\relax
+ \let\array@row@rst\relax
+ \let\cell@font\relax
+ \let\@startpbox\relax
+}%
+\def\@mkpream@array#1{%
+   \gdef\@preamble{}\@lastchclass 4 \@firstamptrue
+   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
+   \@temptokena{#1}\@tempswatrue
+   \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
+   \count@\m@ne
+   \let\the@toks\relax
+   \prepnext@tok
+   \expandafter \@tfor \expandafter \@nextchar
+    \expandafter :\expandafter =\the\@temptokena \do
+   {\@testpach
+   \ifcase \@chclass \@classz \or \@classi \or \@classii
+     \or \save@decl \or \or \@classv \or \@classvi
+     \or \@classvii \or \@classviii
+     \or \@classx
+     \or \@classx \fi
+   \@lastchclass\@chclass}%
+   \ifcase\@lastchclass
+   \@acol \or
+   \or
+   \@acol \or
+   \@preamerr \thr@@ \or
+   \@preamerr \tw@ \@addtopreamble\@sharp \or
+   \or
+   \else  \@preamerr \@ne \fi
+   \def\the@toks{\the\toks}%
+}%
+\def\@mkpream@array@new#1{%
+ \gdef\@preamble{}%
+ \@lastchclass\f@ur
+ \@firstamptrue
+ \let\@sharp\relax
+ \@mkpream@relax
+ \@temptokena{#1}\@tempswatrue
+ \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
+ \count@\m@ne
+ \let\the@toks\relax
+ \prepnext@tok
+ \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena
+ \do{%
+  \@testpach
+  \ifcase\@chclass
+   \@classz
+  \or
+   \@classi
+  \or
+   \@classii
+  \or
+   \save@decl
+  \or
+  \or
+   \@classv
+  \or
+   \@classvi
+  \or
+   \@classvii
+  \or
+   \@classviii
+  \or
+   \@classx
+  \or
+   \@classx
+  \fi
+  \@lastchclass\@chclass
+ }%
+ \ifcase\@lastchclass
+  \@acolr % right-hand column
+ \or
+ \or
+  \@acolr % right-hand column
+ \or
+  \@preamerr\thr@@
+ \or
+  \@preamerr\tw@\@addtopreamble\@sharp
+ \or
+ \or
+ \else
+  \@preamerr\@ne
+ \fi
+ \def\the@toks{\the\toks}%
+}%
+\def\@addamp@LaTeX{%
+  \if@firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi
+}%
+\def\@addamp@ltx{%
+ \if@firstamp\@firstampfalse\else\@addtopreamble{&}\fi
+}%
+\def\@arrayacol@LaTeX{%
+ \edef\@preamble{\@preamble \hskip \arraycolsep}%
+}%
+\def\@arrayacol@ltx{%
+ \@addtopreamble{\hskip\arraycolsep}%
+}%
+\def\@tabacoll{%
+ \@addtopreamble{\hskip\tableftsep\relax}%
+}%
+\def\@tabacol@LaTeX{%
+ \edef\@preamble{\@preamble \hskip \tabcolsep}%
+}%
+\def\@tabacol@ltx{%
+ \@addtopreamble{\hskip\tabmidsep\relax}%
+}%
+\def\@tabacolr{%
+ \@addtopreamble{\hskip\tabrightsep\relax}%
+}%
+\def\@arrayclassz@LaTeX{%
+ \ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+   \or \or \@addamp \or
+   \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+  \ifcase \@chnum
+     \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil
+    \or \hfil$\relax\@sharp$\fi}%
+}%
+\def\@arrayclassz@ltx{%
+ \ifcase\@lastchclass
+  \@acolampacol
+ \or
+  \@ampacol
+ \or
+ \or
+ \or
+  \@addamp
+ \or
+  \@acolampacol
+ \or
+  \@firstampfalse\@acoll
+ \fi
+ \ifcase\@chnum
+  \@addtopreamble{%
+   \hfil\array@row@rst$\relax\@sharp$\hfil
+  }%
+ \or
+  \@addtopreamble{%
+   \array@row@rst$\relax\@sharp$\hfil
+  }%
+ \or
+  \@addtopreamble{%
+   \hfil\array@row@rst$\relax\@sharp$%
+  }%
+ \fi
+}%
+\def\@tabclassz@LaTeX{%
+  \ifcase\@lastchclass
+    \@acolampacol
+  \or
+    \@ampacol
+  \or
+  \or
+  \or
+    \@addamp
+  \or
+    \@acolampacol
+  \or
+    \@firstampfalse\@acol
+  \fi
+  \edef\@preamble{%
+    \@preamble{%
+      \ifcase\@chnum
+        \hfil\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hskip1sp\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hfil\hskip1sp\ignorespaces\@sharp\unskip
+      \fi}}%
+}%
+\def\@tabclassz@ltx{%
+ \ifcase\@lastchclass
+  \@acolampacol
+ \or
+  \@ampacol
+ \or
+ \or
+ \or
+  \@addamp
+ \or
+  \@acolampacol
+ \or
+  \@firstampfalse\@acoll
+ \fi
+ \ifcase\@chnum
+  \@addtopreamble{%
+   {\hfil\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
+  }%
+ \or
+  \@addtopreamble{%
+   {\cell@fil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\hfil}%
+  }%
+ \or
+  \@addtopreamble{%
+   {\hfil\hskip1sp\array@row@rst\cell@font\ignorespaces\@sharp\unskip\cell@fil}%
+  }%
+ \fi
+}%
+\def\@tabclassiv@LaTeX{%
+ \@addtopreamble\@nextchar
+}%
+\def\@tabclassiv@ltx{%
+ \expandafter\@addtopreamble\expandafter{\@nextchar}%
+}%
+\def\@arrayclassiv@LaTeX{%
+ \@addtopreamble{$\@nextchar$}%
+}%
+\def\@arrayclassiv@ltx{%
+ \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}%
+}%
+\def\@classv@LaTeX{%
+ \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces
+ \@sharp\@endpbox}%
+}%
+\def\@classv@ltx{%
+ \expandafter\@addtopreamble
+ \expandafter{%
+ \expandafter \@startpbox
+ \expandafter {\@nextchar}%
+ \pbox@hook\array@row@rst\cell@font\ignorespaces\@sharp\@endpbox
+ }%
+}%
+\def\@classx@array{%
+  \ifcase \@lastchclass
+  \@acolampacol \or
+  \@addamp \@acol \or
+  \@acolampacol \or
+  \or
+  \@acol \@firstampfalse \or
+  \@addamp
+  \fi
+}%
+\def\@classx@array@new{%
+ \ifcase \@lastchclass
+  \@acolampacol
+ \or
+  \@addamp \@acol
+ \or
+  \@acolampacol
+ \or
+ \or
+  \@firstampfalse\@acoll
+ \or
+  \@addamp
+ \fi
+}%
+\def\@xbitor@LaTeX #1{\@tempcntb \count#1
+   \ifnum \@tempcnta =\z@
+   \else
+     \divide\@tempcntb\@tempcnta
+     \ifodd\@tempcntb \@testtrue\fi
+   \fi}%
+\def\@xbitor@ltx#1{%
+ \@tempcntb\count#1%
+ \@ifnum{\@tempcnta=\z@}{}{%
+  \divide\@tempcntb\@tempcnta
+  \@ifodd\@tempcntb{\@testtrue}{}%
+ }%
+}%
+\@ifx{\@xbitor\@xbitor@LaTeX}{%
+  \class@info{Repairing broken LaTeX \string\@xbitor}%
+}{%
+  \class@info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}%
+}%
+\let\@xbitor\@xbitor@ltx
+\newcommand*\@gobble@opt@one[2][]{}%
+\def\@starttoc#1{%
+  \begingroup
+    \toc@pre
+    \makeatletter
+    \@input{\jobname.#1}%
+    \if@filesw
+      \expandafter\newwrite\csname tf@#1\endcsname
+      \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+    \fi
+    \@nobreakfalse
+    \toc@post
+  \endgroup
+}%
+\def\toc@pre{}%
+\def\toc@post{}%
+\def\toc@@font{}%{\footnotesize\rmfamily}%
+\def\@dotsep{\z@}%{5.5pt}%
+\let\tocdim@section       \leftmargini
+\let\tocdim@subsection    \leftmarginii
+\let\tocdim@subsubsection \leftmarginiii
+\let\tocdim@paragraph     \leftmarginiv
+\let\tocdim@appendix      \leftmarginv
+\let\tocdim@pagenum       \leftmarginvi
+\def\toc@pre@auto{%
+  \toc@@font
+  \@tempdima\z@
+  \toc@setindent\@tempdima{section}%
+  \toc@setindent\@tempdima{subsection}%
+  \toc@setindent\@tempdima{subsubsection}%
+  \toc@setindent\@tempdima{paragraph}%
+  \toc@letdimen{appendix}%
+  \toc@letdimen{pagenum}%
+}%
+\def\toc@post@auto{%
+  \if@filesw
+   \begingroup
+    \toc@writedimen{section}%
+    \toc@writedimen{subsection}%
+    \toc@writedimen{subsubsection}%
+    \toc@writedimen{paragraph}%
+    \toc@writedimen{appendix}%
+    \toc@writedimen{pagenum}%
+   \endgroup
+  \fi
+}%
+\def\toc@setindent#1#2{%
+ \csname tocdim@#2\endcsname\tocdim@min\relax
+ \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}%
+ \advance#1\@nameuse{tocmax@#2}\relax
+ \expandafter\edef\csname tocleft@#2\endcsname{\the#1}%
+}%
+\def\toc@letdimen#1{%
+ \csname tocdim@#1\endcsname\tocdim@min\relax
+ \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}%
+ \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname
+}%
+\def\toc@writedimen#1{%
+ \immediate\write\@auxout{%
+  \gdef\expandafter\string\csname tocmax@#1\endcsname{%
+   \expandafter\the\csname tocdim@#1\endcsname
+  }%
+ }%
+}%
+\def\l@@sections#1#2#3#4{%
+ % #1 - superior section
+ % #2 - this section
+ % #3 - content, including possible \numberline
+ % #4 - page number
+ \begingroup
+  \everypar{}%
+  \set@tocdim@pagenum{#4}%
+  \global\@tempdima\csname tocdim@#2\endcsname
+  \leftskip\csname tocleft@#2\endcsname\relax
+  \dimen@\csname tocleft@#1\endcsname\relax
+  \parindent-\leftskip\advance\parindent\dimen@
+  \rightskip\tocleft@pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \let\numberline\numberline@@sections
+  \@nameuse{l@f@#2}%
+  \ignorespaces#3\unskip\nobreak\hskip\skip@
+  \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip
+  \par
+  \expandafter\aftergroup\csname tocdim@#2\endcsname\expandafter
+ \endgroup\the\@tempdima\relax
+}%
+\def\set@tocdim@pagenum#1{%
+ \setbox\@tempboxa\hbox{\ignorespaces#1}%
+ \@ifdim{\tocdim@pagenum<\wd\z@}{\global\tocdim@pagenum\wd\z@}{}%
+}%
+\def\numberline@@sections#1{%
+ \leavevmode\hb@xt@-\parindent{%
+  \hfil
+  \@if@empty{#1}{}{%
+   \setbox\z@\hbox{#1.\kern\@dotsep}%
+   \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}%
+   \unhbox\z@
+  }%
+ }%
+ \ignorespaces
+}%
+\def\tocdim@min{\z@}%
+\def\list#1#2{%
+  \ifnum \@listdepth >5\relax
+    \@toodeep
+  \else
+    \global\advance\@listdepth\@ne
+  \fi
+  \rightmargin\z@
+  \listparindent\z@
+  \itemindent\z@
+  \csname @list\romannumeral\the\@listdepth\endcsname
+  \def\@itemlabel{#1}%
+  \let\makelabel\@mklab
+  \@nmbrlistfalse
+  #2\relax
+  \@trivlist
+  \parskip\parsep
+  \set@listindent
+  \ignorespaces
+}%
+\def\set@listindent@parshape{%
+ \parindent\listparindent
+ \advance\@totalleftmargin\leftmargin
+ \advance\linewidth-\rightmargin
+ \advance\linewidth-\leftmargin
+ \parshape\@ne\@totalleftmargin\linewidth
+}%
+\def\set@listindent@{%
+ \parindent\listparindent
+ \advance\@totalleftmargin\leftmargin
+ \advance\rightskip\rightmargin
+ \advance\leftskip\@totalleftmargin
+}%
+\let\set@listindent\set@listindent@parshape
+\endinput
+%%
+%% End of file `ltxutil.sty'.