%%
%% This is file `xcolor.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% xcolor.dtx  (with options: `package')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from xcolor.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file xcolor.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%
%% ---------------------------------------------------------
%% Copyright (C) 2003-2004 by Dr. Uwe Kern <xcolor@ukern.de>
%% ---------------------------------------------------------
%%
%% Please send error reports and suggestions for
%% improvements to the above email address.
%%
\def\XCfilesource{xcolor.dtx}%
\def\XCfileversion{v1.11}%
\def\XCfiledate{2004/05/09}%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xcolor}[\XCfiledate\space\XCfileversion\space
                         LaTeX color extensions (UK)]
\edef\XC@catcodes
 {\catcode`\noexpand\!\the\catcode`\!\relax
  \catcode`\noexpand\-\the\catcode`\-\relax
  \catcode`\noexpand\+\the\catcode`\+\relax
  \catcode`\noexpand\:\the\catcode`\:\relax
  \catcode`\noexpand\"\the\catcode`\"\relax}
\catcode`\!=12 \catcode`\-=12 \catcode`\+=12 \catcode`\:=12 \catcode`\"=12
\def\selectcolormodel#1%
 {\@ifundefined{XC@mod@#1}%
   {\PackageError{xcolor}{Unknown color model `#1'}{}}%
   {\expandafter\ifx\csname XC@mod@#1\endcsname\XC@mod@natural
      \def\XC@tgt@mod##1{##1}\convertcolorsDfalse\convertcolorsUfalse
    \else
      \edef\XC@tgt@mod##1{#1}\convertcolorsDtrue\convertcolorsUtrue
    \fi}}
\newif\ifconvertcolorsD
\newif\ifconvertcolorsU
\def\XC@mod@named{named}
\@tfor\@@tmp:={natural}{rgb}{cmy}{cmyk}{hsb}{gray}{RGB}{HTML}{HSB}{Gray}\do
 {\expandafter\let\csname XC@mod@\@@tmp\endcsname\@@tmp
  \edef\@@tmp
   {\noexpand\DeclareOption{\@@tmp}{\noexpand\selectcolormodel{\@@tmp}}}%
  \@@tmp}
\DeclareOption{pst}{\def\XC@pst{\RequirePackage{pstcol}}}
\DeclareOption{table}{\def\XC@table{\RequirePackage{colortbl}}}
\DeclareOption{hyperref}
 {\@tfor\@@tmp:={cite}{file}{link}{menu}{page}{run}{url}\do
   {\expandafter\edef\csname KV@Hyp@x\@@tmp bordercolor\endcsname #1%
     {\noexpand\XC@bordercolor{\@@tmp}{#1}}}%
  \AtEndOfPackage{\GetGinDriver}}
\DeclareOption{usenames}{\OptionNotUsed}
\DeclareOption{dvipsnames}%
 {\def\XC@dvipsnames{\input{dvipsnam.def}}%
  \PassOptionsToPackage{nodvipsnames}{color}}
\DeclareOption{dvips}%
 {\def\XC@dvipsnames{\input{dvipsnam.def}}%
  \PassOptionsToPackage{dvips,nodvipsnames}{color}}
\DeclareOption{override}{\AtEndOfPackage{\let\definecolor\xdefinecolor}}
\DeclareOption{showerrors}{\XCerrorstrue}
\DeclareOption{hideerrors}{\XCerrorsfalse}
\newif\ifXCerrors \XCerrorstrue
\DeclareOption*{\PassOptionsToPackage\CurrentOption{color}}
\ExecuteOptions{natural}
\InputIfFileExists{color.cfg}{}{}
\ProcessOptions\relax
\RequirePackage{color}
\@nameuse{XC@pst}
\@nameuse{XC@table}
\long\def\@secondoffive#1#2#3#4#5{#2}
\def\@namelet#1#2%
 {\expandafter\expandafter\expandafter\let\expandafter\expandafter
  \csname#1\endcsname\csname#2\endcsname}
\def\@namexdef#1{\expandafter\xdef\csname #1\endcsname}
\def\aftergroupdef#1#2%
 {\edef\@@tmp{\noexpand\def\noexpand#1{#2}}%
  \expandafter\endgroup\@@tmp}
\begingroup
\catcode`\!=13 \catcode`\-=13 \catcode`\+=13
\gdef\XC@edef#1#2%
 {\begingroup
  \ifnum\catcode`\!=13 \edef!{\string!}\fi
  \ifnum\catcode`\-=13 \edef-{\string-}\fi
  \ifnum\catcode`\+=13 \edef+{\string+}\fi
  \edef\@@tmp{#2}\@onelevel@sanitize\@@tmp
  \aftergroupdef#1\@@tmp}
\endgroup
\def\@ifxempty#1{\@@ifxempty#1\@@ifxempty\@@@ifxempty}
\def\@@ifxempty#1#2\@@@ifxempty
 {\ifx#1\@@ifxempty
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi}
\newif\ifXC@@tst
\def\GetGinDriver{\expandafter\GetGinDriver@\Gin@driver.:}
\def\GetGinDriver@#1.#2:%
 {\def\GinDriver{#1}\@tempswatrue
  \@tfor\@@tmp:={dvips}{pdftex}{dvipdf}{dvipdfm}{dvipsone}{vtex}{textures}%
  \do{\ifx\GinDriver\@@tmp\@tempswafalse\@break@tfor\fi}%
  \if@tempswa\def\GinDriver{hypertex}\fi}
\def\@hex@Hex#1{\ifx#1\relax\else\expandafter\@hex@@Hex\expandafter#1\fi}
\def\@hex@@Hex#1%
 {\if#1aA\else \if#1bB\else \if#1cC\else \if#1dD\else \if#1eE\else
  \if#1fF\else #1\fi\fi\fi\fi\fi\fi \@hex@Hex}
\def\rdivide#1%
 {\begingroup\toks@{#1}\edef\@@tmp{\noexpand\@tempdima\the#1}%
  \afterassignment\@rdivide\@tempdimb=}
\def\@rdivide
 {\@@tmp\relax
  \ifdim\@tempdima<\z@ \@tempdima-\@tempdima\def\@sign{-}\else
    \def\@sign{}\fi
  \ifdim\@tempdimb<\z@ \@tempdimb-\@tempdimb\edef\@sign{\@sign-}\fi
  \ifdim\@tempdima<.1\maxdimen \ifdim\@tempdimb<.01\maxdimen
    \lshift\@tempdima \lshift\@tempdimb \fi\fi
  \@tempcnta=\@tempdima \@tempcntb=\@tempdimb
  \count@=\@tempcnta \divide\count@\@tempcntb
  \edef\@@tmp{\number\count@.}%
  \@tempswatrue  \@@rdivide \@@rdivide \@@rdivide \@@rdivide \@@rdivide
  \@tempswafalse \@@rdivide
  \dimen@\@@tmp\p@ \ifnum\count@>4\advance\dimen@.00001\p@\fi
  \dimen@\@sign\dimen@
  \edef\@@tmp{\the\toks@\the\dimen@}%
  \expandafter\endgroup\@@tmp}
\def\@@rdivide
 {\multiply\count@\@tempcntb \advance\@tempcnta-\count@
  \multiply\@tempcnta10 \count@=\@tempcnta \divide\count@\@tempcntb
  \if@tempswa\edef\@@tmp{\@@tmp\number\count@}\fi}
\def\rmultiply#1#2%
 {\begingroup
  \edef\@@mul{#2}\@tempdima\the#1\relax
  \afterassignment\@tempdimb\@tempcntb=\@@mul\p@
  \ifdim\@tempdima<\z@ \@tempdima-\@tempdima\def\@sign{-}\else
    \def\@sign{}\fi
  \ifnum\@tempcntb<\z@ \@tempcntb-\@tempcntb\edef\@sign{\@sign-}\fi
  \lshift\@tempdima \dimen@\z@
  \expandafter\@rmultiply\@@mul.0.\@nil
  \advance\dimen@\@tempcntb\@tempdima \rshift\dimen@
  \dimen@\@sign\dimen@
  \edef\@@tmp{#1\the\dimen@}%
  \expandafter\endgroup\@@tmp}
\def\@rmultiply#1.#2.#3\@nil
 {\def\@@tmp{}%
  \@tfor\@@mul:=#2\do
   {\edef\@@tmp
     {\advance\dimen@\@@mul\@tempdima \divide\dimen@10 \@@tmp}}%
  \@@tmp}
\def\lshift#1{#1\expandafter\lshift@\the#1}
\def\llshift#1{\lshift#1\lshift#1}
\def\lshiftnum#1{\expandafter\lshiftnum@#1.00.:}
\def\lshiftnum@#1.#2#3.#4:{#1#2\ifnum0#3>\z@.#3\fi}
\def\llshiftnum#1{\expandafter\llshiftnum@#1\@empty.00.:}
\def\llshiftnum@#1.#2#3#4.#5:%
 {#1#2\ifnum0#3>\z@#3\else0\fi\ifnum0#4>\z@.#4\fi}
\def\lshiftset#1#2{\edef\@@XC{\noexpand\lshiftnum{#2}}#1\@@XC\p@}
\def\llshiftset#1#2{\edef\@@XC{\noexpand\llshiftnum{#2}}#1\@@XC\p@}
\def\rshift#1{#1\expandafter\rshift@\the#1}
\def\rrshift#1{\rshift#1\rshift#1}
\begingroup
\catcode`P=12
\catcode`T=12
\lowercase
 {\def\@@tmp{\def\lshift@##1.##2##3PT{##1##2\ifnum0##3>\z@.##3\fi\p@}
             \def\rshift@##1.##2PT{\rshift@@##1\relax##2\p@}}}
\expandafter\endgroup\@@tmp
\def\rshift@@#1#2%
 {\ifx#2\relax.#1\else#1\expandafter\rshift@@\expandafter#2\fi}
\def\XC@inflate#1#2#3#4%
 {\edef#4{#2,\ifx#1\XC@mod@cmyk #3\else
             \ifx#1\XC@mod@gray ,,,#3,,,\else ,#3,\fi\fi}}
\def\XC@vec#1,#2,#3,#4,#5,#6,#7,#8,#9%
 {\def\@@tmp{}%
  \XC@vec@{#1}{#5}%
  \@ifxempty{#2}{}%
   {\XC@vec@{#2}{#6}\XC@vec@{#3}{#7}\@ifxempty{#4}{}{\XC@vec@{#4}{#8}}}%
  \aftergroupdef#9\@@tmp}
\def\XC@add{\begingroup \let\XC@vec@\XC@add@ \XC@vec}
\def\XC@add@#1#2%
 {\llshiftset\dimen@{#1}\llshiftset\@tempdima{#2}%
  \advance\dimen@\@tempdima \rrshift\dimen@
  \edef\@@tmp{\ifx\@@tmp\@empty\else\@@tmp,\fi\strip@pt\dimen@}}
\def\XC@sub{\begingroup \let\XC@vec@\XC@sub@ \XC@vec}
\def\XC@sub@#1#2{\XC@add@{#1}{-#2}}
\def\XC@mul{\begingroup \let\XC@vec@\XC@mul@ \XC@vec}
\def\XC@mul@#1#2%
 {\llshiftset\dimen@{#1}\rmultiply\dimen@{#2}\rrshift\dimen@
  \edef\@@tmp{\ifx\@@tmp\@empty\else\@@tmp,\fi\strip@pt\dimen@}}
\def\XC@mix%
 {\begingroup
  \@tempdima\dimen@ \@tempdimb100\p@ \advance\@tempdimb-\@tempdima
  \let\XC@vec@\XC@mix@ \XC@vec}
\def\XC@mix@#1#2%
 {\dimen@#1\@tempdima \advance\dimen@#2\@tempdimb \rrshift\dimen@
  \edef\@@tmp{\ifx\@@tmp\@empty\else\@@tmp,\fi\strip@pt\dimen@}}
\def\XC@calc@#1,#2,#3,#4,#5:#6%
 {\toks@\expandafter{\csname XC@calc#6\endcsname}%
  \the\toks@{#1}\@@tmp
  \@ifxempty{#2}{}%
   {\the\toks@{#2}\@tempa \the\toks@{#3}\@tempb
    \@ifxempty{#4}%
     {\edef\@@tmp{\@@tmp,\@tempa,\@tempb}}%
     {\the\toks@{#4}\@tempc \edef\@@tmp{\@@tmp,\@tempa,\@tempb,\@tempc}}}}
\def\XC@calcC#1#2%
 {\lshiftset\dimen@{-#1}\advance\dimen@10\p@ \rshift\dimen@
  \edef#2{\strip@pt\dimen@}}
\def\XC@calcD#1#2%
 {\dimen@#1\p@ \rdivide\dimen@\@@scl\p@ \edef#2{\strip@pt\dimen@}}
\def\XC@calcH#1#2%
 {\count@#1 \divide\count@\sixt@@n \edef\XC@@tmp{\hexnumber@\count@}%
  \multiply\count@-\sixt@@n \advance\count@#1
  \edef#2{\XC@@tmp\hexnumber@\count@}}
\def\XC@calcM#1#2%
 {\dimen@#1\p@ \dimen@\@@scl\dimen@ \advance\dimen@.5\p@
  \afterassignment\dimen@\count@=\the\dimen@ \edef#2{\number\count@}}
\def\XC@calcN#1#2%
 {\edef#2{#1}%
  \edef#2{\ifdim#2\p@<\z@0\else \ifdim#2\p@<\p@
          0\expandafter\XC@@calcN#2.0.:\else 1\fi\fi}}
\def\XC@@calcN#1.#2.#3:%
 {\ifnum0#2=0 \else.\XC@@@calcN#2:\fi}
\def\XC@@@calcN#1#2:%
 {\ifnum0#1#2=0 \else #1\ifnum0#2=0 \else \XC@@@calcN#2:\fi\fi}
\def\XC@calcS#1#2%
 {\lshiftset\dimen@{#1}\dimen@\lshiftnum\@@scl\dimen@ \rrshift\dimen@
  \edef#2{\strip@pt\dimen@}}
\def\XC@calcT#1#2%
 {\lshiftset\dimen@{#1}\advance\dimen@\lshiftnum\@@arg\p@ \rshift\dimen@
  \edef#2%
   {\ifdim\dimen@>\p@1\else\ifdim\dimen@<\z@0\else\strip@pt\dimen@\fi\fi}}
\def\XC@calcU#1#2%
 {\dimen@#1\p@
  \ifdim\dimen@=\p@\else
    \afterassignment\dimen@\count@=\the\dimen@
    \ifnum\count@<\z@
      \lshift\dimen@ \dimen@-\dimen@ \advance\dimen@10\p@ \rshift\dimen@
    \fi
  \fi
  \edef#2{\strip@pt\dimen@}}
\ifx\rangeRGB\@undefined\def\rangeRGB{255}\fi
\ifx\rangeHSB\@undefined\def\rangeHSB{240}\fi
\ifx\rangeGray\@undefined\def\rangeGray{15}\fi
\ifx\adjustUCRBG\@undefined\def\adjustUCRBG{1,1,1,1}\fi
\ifx\colorseriescycle\@undefined\def\colorseriescycle{16}\fi
\def\XC@clr@rgb@white{,,}
\def\XC@clr@cmy@white{0,0,0}
\def\XC@clr@cmyk@white{0,0,0,0}
\def\XC@clr@hsb@white{\@@hue,0,}
\def\XC@clr@hsb@gray{\@@hue,0,.5}
\def\XC@clr@hsb@black{\@@hue,0,0}
\def\XC@clr@gray@white{}
\@tfor\@@tmp:={grad}{last}{step}\do
 {\@namelet{XC@met@\@@tmp}{@@tmp}}
\def\xdefinecolor{\@testopt{\XC@xdefinecolor}{}}
\def\XC@xdefinecolor[#1]#2#3#4%
 {\@ifundefined{XC@mod@#3}%
   {\c@lor@error{model `#3'}}%
   {\begingroup
    \edef\@@cls{#1}\XC@edef\@@nam{#2}\XC@edef\@@tmp{#4}%
    \ifconvertcolorsD
      \edef\@@mod{\XC@tgt@mod{#3}}\convertcolorspec{#3}\@@tmp\@@mod\@@tmp
    \else
      \edef\@@mod{#3}%
    \fi
    \ifx\@@mod\XC@mod@RGB
      \convertcolorspec\@@mod\@@tmp\XC@mod@rgb\@@tmp
      \let\@@mod\XC@mod@rgb\else
    \ifx\@@mod\XC@mod@HTML
      \convertcolorspec\@@mod\@@tmp\XC@mod@rgb\@@tmp
      \let\@@mod\XC@mod@rgb\else
    \ifx\@@mod\XC@mod@HSB
      \convertcolorspec\@@mod\@@tmp\XC@mod@hsb\@@tmp
      \let\@@mod\XC@mod@hsb\else
    \ifx\@@mod\XC@mod@Gray
      \convertcolorspec\@@mod\@@tmp\XC@mod@gray\@@tmp
      \let\@@mod\XC@mod@gray\else
    \expandafter\XC@calc@\@@tmp,,,,:N%
    \fi\fi\fi\fi
    \@ifundefined{\string\color@\@@nam}%
     {}{\PackageInfo{xcolor}{Redefining color `\@@nam'}}%
    \csname color@\@@mod\expandafter\endcsname
      \expandafter\@@drv\expandafter{\@@tmp}%
    \ifx\@@cls\@empty
      \@temptokena{}%
    \else
      \@nameuse{define@color@\@@cls}{\@@nam}\@@drv
      \@temptokena\expandafter{\@@col}%
      \csname color@\@@cls\expandafter\endcsname
        \expandafter\@@drv\expandafter{\@@nam}%
    \fi
    \toks@\expandafter{\@@drv}%
    \edef\@@tmp
     {\ifglobalcolors\global\fi\noexpand\@namedef{\string\color@\@@nam}%
       {\noexpand\xcolor@{\the\@temptokena}{\the\toks@}{\@@mod}{\@@tmp}}}%
    \expandafter\endgroup\@@tmp}}
\def\xcolor@#1#2#3#4{#2}
\def\@xcolor@#1#2#3#4%
 {\edef\@@mod{#3}\edef\@@clr{#4}%
  \ifx\@@mix\@empty\else\expandafter\@xcolor@@\@@mix!!!!\@nil\fi
  \if@tempswa
    \@namelet{@@tmp}{XC@cnv@\@@mod @compl}%
    \ifx\@@tmp\relax \expandafter\XC@calc@\@@clr,,,,:C\else
                     \expandafter\@@tmp\@@clr,\fi
    \let\@@clr\@@tmp
  \fi}
\def\@xcolor@@#1!#2!#3!#4!#5\@nil
 {\dimen@\@ifxempty{#1}{100}{#1}\p@
  \edef\@@mix{\@ifxempty{#2}{white}{#2}}%
  \ifdim\dimen@=100\p@
    \if\@@mix+\XC@step\@@nam\fi
  \else\ifdim\dimen@=\z@
    \extractcolorspec\@@mix\@@tmp
    \edef\@@mod{\expandafter\@firstoftwo\@@tmp}%
    \edef\@@clr{\expandafter\@secondoftwo\@@tmp}%
  \else
    \@namelet{@@tmp}{XC@clr@\@@mod @\@@mix}%
    \ifx\@@tmp\relax
      \extractcolorspec\@@mix\@@tmp
      \ifx\@@mod\XC@mod@gray
        \edef\@@mod{\expandafter\@firstoftwo\@@tmp}%
          \edef\@@tmp{\expandafter\@secondoftwo\@@tmp}%
          \convertcolorspec\XC@mod@gray\@@clr\@@mod\@@clr
      \else
        \expandafter\convertcolorspec\@@tmp\@@mod\@@tmp
      \fi
    \else
      \ifx\@@mod\XC@mod@hsb\expandafter\XC@extract@hue\@@clr:\@@hue\fi
    \fi
    \XC@inflate\@@mod\@@clr\@@tmp\@@tmp
    \expandafter\XC@mix\@@tmp,\@@clr
  \fi\fi
  \@ifxempty{#3}%
   {\@ifxempty{#4}{}{\@xcolor@@!#4!#5\@nil}}%
   {\@xcolor@@#3!#4!#5\@nil}}
\def\colorlet#1{\@testopt{\XC@colorlet{#1}}{}}
\def\XC@colorlet#1[#2]#3%
 {\begingroup
  \XC@edef\@@nam{#1}\edef\@@mod{#2}\XC@edef\@@tmp{#3}\XC@@tsttrue
  \@ifundefined{\string\color@\@@tmp}%
    {}{\ifx\@@mod\@empty\XC@@tstfalse\fi}%
  \ifXC@@tst
    \extractcolorspec\@@tmp\@@tmp
    \ifx\@@mod\@empty\else
      \expandafter\convertcolorspec\@@tmp\@@mod\@@tmp
      \edef\@@tmp{{\@@mod}{\@@tmp}}\fi
    \edef\@@tmp{\noexpand\XC@xdefinecolor[]{\@@nam}\@@tmp}%
  \else
    \edef\@@tmp
     {\ifglobalcolors\global\fi
      \noexpand\@namelet{\string\color@\@@nam}{\string\color@\@@tmp}}%
  \fi
  \expandafter\endgroup\@@tmp}
\newif\ifglobalcolors \globalcolorsfalse
\def\XC@undeclaredcolor[#1]#2%
 {\begingroup
  \edef\@@mod{#1}\XC@edef\@@clr{#2}%
  \ifconvertcolorsU
    \edef\@@mod{\XC@tgt@mod{#1}}\convertcolorspec{#1}\@@clr\@@mod\@@clr
  \fi
  \ifmaskcolors
    \convertcolorspec\@@mod\@@clr\XC@mmod\@@clr
    \let\@@mod\XC@mmod
    \XC@inflate\@@mod\XC@mclr\@@clr\@@tmp
    \expandafter\XC@mul\@@tmp,\@@clr
  \fi
  \edef\@@tmp{\noexpand\XC@@undeclaredcolor{\@@mod}{\@@clr}}%
  \expandafter\endgroup\@@tmp}
\def\XC@@undeclaredcolor#1#2%
 {\@ifundefined{color@#1}%
   {\c@lor@error{model `#1'}}%
   {\@nameuse{color@#1}\current@color{#2}%
    \edef\XC@current@color{\noexpand\xcolor@{}{\current@color}{#1}{#2}}%
    \XC@display}}
\def\XC@declaredcolor#1%
 {\XC@edef\XC@@tmp{#1}\XC@@tstfalse
  \ifcase\XC@type{\XC@@tmp}\relax \XC@@tsttrue\or \relax\else
    \ifconvertcolorsU\XC@@tsttrue\fi \ifmaskcolors\XC@@tsttrue\fi
  \fi
  \ifXC@@tst
    \expandafter\XC@@declaredcolor
  \else
    \expandafter\XC@@@declaredcolor
  \fi}
\def\XC@@declaredcolor
 {%\XC@splitcolor{\XC@@tmp}%
  \begingroup\count@\z@ \expandafter\XC@@splitcolor\XC@@tmp!\@nil
  \edef\@@tmp{\noexpand\XC@undeclaredcolor[\@@mod]{\@@clr}}%
  \expandafter\endgroup\@@tmp}
\def\XC@@@declaredcolor
 {\@namelet{XC@current@color}{\string\color@\XC@@tmp}%
  \edef\current@color{\XC@current@color}%
  \XC@display}
\def\XC@splitcolor#1%
 {\begingroup\XC@edef\@@tmp{#1}\count@\z@
  \expandafter\XC@@splitcolor\@@tmp!\@nil}
\def\XC@@splitcolor#1%
 {\ifx#1-\advance\count@\@ne\expandafter\XC@@splitcolor
  \else\expandafter\XC@@@splitcolor\expandafter#1\fi}
\def\XC@@@splitcolor#1!#2\@nil
 {\edef\@@nam{#1}\edef\@@mix{#2}%
  \ifodd\count@\@tempswatrue\else\@tempswafalse\fi
  \@ifundefined{\string\color@\@@nam}%
   {\XC@c@lor@error\@@nam\def\@@nam{black}}{}%
  \let\xcolor@\@xcolor@\@nameuse{\string\color@\@@nam}}
\def\XC@c@lor@error#1%
 {\ifXCerrors\c@lor@error{`#1'}\else
  \PackageWarning{xcolor}{Undefined color `#1', replaced by `black'}\fi}
\@ifundefined{XC@pst}{%
\def\XC@getcolor#1#2%
 {\begingroup
  \expandafter\XC@@getcolor#1\@@
  \toks@\expandafter{\@@tmp}\aftergroupdef#2{\the\toks@}}
\def\XC@@getcolor#1#2\@@
 {\ifx#1\xcolor@
    \def\@@tmp{\xcolor@#2}%
  \else
    \color{#1#2}\let\@@tmp\XC@current@color
  \fi}
}{% compatibility code begin
\def\XC@getcolor#1#2%
 {\@ifundefined{\string\color@#1}%
   {\begingroup\color{#1}%
    \edef\@@tmp
     {\noexpand\edef\noexpand#2{\noexpand\expandafter\noexpand\c@lor@to@ps
      \current@color\noexpand\@@}}%
    \expandafter\endgroup\@@tmp}%
   {\edef#2{\XC@usecolor{#1}}}}
}% compatibility code end
\def\XC@usecolor#1{\expandafter\XC@@usecolor#1\@@}
\def\XC@@usecolor#1#2\@@
 {\ifx#1\xcolor@
    \expandafter\expandafter\expandafter\c@lor@to@ps#1#2\@@
  \else
    \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
    \expandafter\c@lor@to@ps\csname\string\color@#1#2\endcsname\@@
  \fi
  \space}
\let\XC@c@lor@to@ps\XC@usecolor
\let\@undeclaredcolor\XC@undeclaredcolor
\let\@declaredcolor\XC@declaredcolor
\def\DefineNamedColor#1#2#3#4{\xdefinecolor[#1]{#2}{#3}{#4}}
\let\XC@definecolor\definecolor
\let\pst@getcolor\XC@getcolor
\@ifundefined{XC@pst}{%
  \let\pst@usecolor\XC@usecolor
}{}
\def\extractcolorspec#1#2%
 {\XC@splitcolor{#1}\aftergroupdef#2{{\@@mod}{\@@clr}}}
\def\XC@extract@hue#1,#2:#3{\edef#3{#1}}
\def\XC@type#1%
 {\expandafter\expandafter\expandafter\XC@@type
  \csname\string\color@#1\endcsname\@empty\@empty\@empty\@@}
\def\XC@@type#1#2#3#4\@@
 {\ifx#1\relax 0\else
    \ifx#1\xcolor@
      \ifx$#2$%
        \ifx$#3$4\else3\fi\@gobbletwo
      \else2\fi\@gobbletwo
    \else1\fi
  \fi}
\def\tracingcolors{\begingroup\afterassignment\XC@tracingcolors\count@}
\def\XC@tracingcolors{\aftergroupdef\XC@tracing{\the\count@}}
\tracingcolors=0
\def\XC@display
 {\XC@bcolor\@namelet{\string\color@.}{XC@current@color}%
  \ifnum\XC@tracing>0
    \ifnum\XC@tracing>1
      \begingroup \let\xcolor@\@empty \def\@nil{\string\@nil}%
      \PackageInfo{xcolor}{Setting color `\XC@current@color'}%
      \endgroup
    \fi
    \ifnum\XC@type{.}=1
      \@nameuse{Package\ifnum\XC@tracing>2 Warning\else Info\fi}%
       {xcolor}{Can't extract color information}%
    \fi
  \fi
  \XC@mcolor\set@color\XC@ecolor\ignorespaces}
\let\XC@bcolor\relax
\let\XC@mcolor\relax
\let\XC@ecolor\relax
\def\convertcolorspec#1#2#3#4%
 {\begingroup
  \edef\sm{#1}\edef\tm{#3}\XC@edef\@@tmp{#2}%
  \ifx\sm\XC@mod@named
    \extractcolorspec\@@tmp\@@tmp
    \edef\sm{\expandafter\@firstoftwo\@@tmp}%
    \edef\@@tmp{\expandafter\@secondoftwo\@@tmp}%
  \fi
  \ifx\sm\tm\else\csname XC@cnv@\sm\expandafter\endcsname\@@tmp,\fi
  \aftergroupdef#4\@@tmp}
\def\XC@cnv@rgb#1,#2,#3,%
 {\ifx\tm\XC@mod@cmy
    \XC@calc@#1,#2,#3,,:C%
  \else\ifx\tm\XC@mod@cmyk
    \XC@calc@#1,#2,#3,,:C\expandafter\XC@cnv@cmy@cmyk\@@tmp,%
  \else\ifx\tm\XC@mod@hsb
    \XC@cnv@rgb@hsb#1,#2,#3,%
  \else\ifx\tm\XC@mod@gray
    \XC@cnv@rgb@gray#1,#2,#3,%
  \else\ifx\tm\XC@mod@RGB
    \edef\@@scl{\rangeRGB}\XC@calc@#1,#2,#3,,:M%
  \else\ifx\tm\XC@mod@HTML
    \edef\@@scl{\@cclv}\XC@calc@#1,#2,#3,,:M%
    \expandafter\XC@calc@\@@tmp,,:H%
    \expandafter\XC@cnv@rgb@HTML\@@tmp,%
  \else\ifx\tm\XC@mod@HSB
    \XC@cnv@rgb@hsb#1,#2,#3,%
    \edef\@@scl{\rangeHSB}\expandafter\XC@calc@\@@tmp,,:M%
  \else\ifx\tm\XC@mod@Gray
    \XC@cnv@rgb@gray#1,#2,#3,%
    \edef\@@scl{\rangeGray}\XC@calcM\@@tmp\@@tmp
  \else
    \XC@calc@#1,#2,#3,,:N%
  \fi\fi\fi\fi\fi\fi\fi\fi}
\def\XC@cnv@rgb@hsb#1,#2,#3,%
 {\count@\z@
  \ifdim#2\p@>#1\p@ \else\advance\count@4 \fi
  \ifdim#3\p@>#2\p@ \else\advance\count@2 \fi
  \ifdim#1\p@>#3\p@ \else\advance\count@1 \fi
  \ifcase\count@\or
  \XC@@cnv@rgb@hsb{#3}{#2}{#1}3{}\or
  \XC@@cnv@rgb@hsb{#2}{#1}{#3}1{}\or
  \XC@@cnv@rgb@hsb{#2}{#3}{#1}3-\or
  \XC@@cnv@rgb@hsb{#1}{#3}{#2}5{}\or
  \XC@@cnv@rgb@hsb{#3}{#1}{#2}5-\or
  \XC@@cnv@rgb@hsb{#1}{#2}{#3}1-\or
  \def\@tempa{0}\def\@tempb{0}\XC@calcN{#3}\@tempc
  \fi
  \edef\@@tmp{\@tempa,\@tempb,\@tempc}}
\def\XC@@cnv@rgb@hsb#1#2#3#4#5%
 {\XC@calcN{#1}\@tempc \llshiftset\dimen@{#1}%
  \llshiftset\@tempdimb{-#3}\advance\@tempdimb\dimen@
  \llshiftset\@tempdima{-#5#2}\advance\@tempdima#5\dimen@
  \advance\@tempdima#4\@tempdimb \rdivide\@tempdima6\@tempdimb\relax
  \edef\@tempa{\ifdim\@tempdima>\p@1\else\strip@pt\@tempdima\fi}%
  \rdivide\@tempdimb\dimen@\relax
  \edef\@tempb{\strip@pt\@tempdimb}}
\def\XC@cnv@rgb@gray#1,#2,#3,%
 {\llshiftset\dimen@{#1}\@tempdima30\dimen@
  \llshiftset\dimen@{#2}\advance\@tempdima59\dimen@
  \llshiftset\dimen@{#3}\advance\@tempdima11\dimen@
  \rrshift\@tempdima \rdivide\@tempdima100\p@\relax
  \edef\@@tmp{\strip@pt\@tempdima}}
\def\XC@cnv@rgb@HTML#1,#2,#3,%
 {\edef\@@tmp{#1#2#3}}
\def\XC@cnv@cmy#1,#2,#3,%
 {\ifx\tm\XC@mod@rgb
    \XC@calc@#1,#2,#3,,:C%
  \else\ifx\tm\XC@mod@cmyk
    \XC@cnv@cmy@cmyk#1,#2,#3,%
  \else\ifx\tm\XC@mod@hsb
    \XC@calc@#1,#2,#3,,:C\expandafter\XC@cnv@rgb@hsb\@@tmp,%
  \else\ifx\tm\XC@mod@gray
    \XC@cnv@rgb@gray#1,#2,#3,\XC@calcC\@@tmp\@@tmp
  \else\ifx\tm\XC@mod@RGB
    \XC@calc@#1,#2,#3,,:C%
    \edef\@@scl{\rangeRGB}\expandafter\XC@calc@\@@tmp,,:M%
  \else\ifx\tm\XC@mod@HTML
    \XC@calc@#1,#2,#3,,:C\expandafter\XC@cnv@rgb\@@tmp,%
  \else\ifx\tm\XC@mod@HSB
    \XC@calc@#1,#2,#3,,:C\expandafter\XC@cnv@rgb@hsb\@@tmp,%
    \edef\@@scl{\rangeHSB}\expandafter\XC@calc@\@@tmp,,:M%
  \else\ifx\tm\XC@mod@Gray
    \XC@cnv@rgb@gray#1,#2,#3,\XC@calcC\@@tmp\@@tmp
    \edef\@@scl{\rangeGray}\XC@calcM\@@tmp\@@tmp
  \else
    \XC@calc@#1,#2,#3,,:N%
  \fi\fi\fi\fi\fi\fi\fi\fi}
\def\XC@cnv@cmy@cmyk#1,#2,#3,%
 {\edef\@@scl
   {\ifdim#1\p@<#2\p@
    \ifdim#1\p@<#3\p@ #1\else #3\fi \else
    \ifdim#2\p@<#3\p@ #2\else #3\fi \fi}%
  \expandafter\XC@calc@\adjustUCRBG,:S%
  \expandafter\XC@@cnv@cmy@cmyk\@@tmp,#1,#2,#3,}
\def\XC@@cnv@cmy@cmyk#1,#2,#3,#4,#5,#6,#7,%
 {\XC@add#5,#6,#7,,-#1,-#2,-#3,,\@@tmp \edef\@@tmp{\@@tmp,#4}%
  \expandafter\XC@calc@\@@tmp,:N}
\def\XC@cnv@cmyk#1,#2,#3,#4,%
 {\ifx\tm\XC@mod@rgb
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,\expandafter\XC@calc@\@@tmp,,:C%
  \else\ifx\tm\XC@mod@cmy
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,%
  \else\ifx\tm\XC@mod@hsb
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,\expandafter\XC@calc@\@@tmp,,:C%
    \expandafter\XC@cnv@rgb@hsb\@@tmp,%
  \else\ifx\tm\XC@mod@gray
    \XC@cnv@rgb@gray#1,#2,#3,%
    \edef\@@arg{#4}\XC@calcT\@@tmp\@@tmp \XC@calcC\@@tmp\@@tmp
  \else\ifx\tm\XC@mod@RGB
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,\expandafter\XC@calc@\@@tmp,,:C%
    \edef\@@scl{\rangeRGB}\expandafter\XC@calc@\@@tmp,,:M%
  \else\ifx\tm\XC@mod@HTML
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,\expandafter\XC@cnv@cmy\@@tmp,%
  \else\ifx\tm\XC@mod@HSB
    \XC@cnv@cmyk@cmy#1,#2,#3,#4,\expandafter\XC@calc@\@@tmp,,:C%
    \expandafter\XC@cnv@rgb@hsb\@@tmp,%
    \edef\@@scl{\rangeHSB}\expandafter\XC@calc@\@@tmp,,:M%
  \else\ifx\tm\XC@mod@Gray
    \XC@cnv@rgb@gray#1,#2,#3,%
    \edef\@@arg{#4}\XC@calcT\@@tmp\@@tmp \XC@calcC\@@tmp\@@tmp
    \edef\@@scl{\rangeGray}\XC@calcM\@@tmp\@@tmp
  \else
    \XC@calc@#1,#2,#3,#4,:N%
  \fi\fi\fi\fi\fi\fi\fi\fi}
\def\XC@cnv@cmyk@cmy#1,#2,#3,#4,%
 {\edef\@@arg{#4}\XC@calc@#1,#2,#3,,:T}
\def\XC@cnv@hsb#1,#2,#3,%
 {\ifx\tm\XC@mod@HSB
    \edef\@@scl{\rangeHSB}\XC@calc@#1,#2,#3,,:M%
  \else
    \XC@cnv@hsb@rgb#1,#2,#3,%
    \ifx\tm\XC@mod@rgb\else\expandafter\XC@cnv@rgb\@@tmp,\fi
  \fi}
\def\XC@cnv@hsb@rgb#1,#2,#3,%
 {\llshiftset\dimen@{#1}\dimen@6\dimen@ \rrshift\dimen@
  \afterassignment\dimen@\count@=\the\dimen@
  \edef\@@tmp{\strip@pt\dimen@}%
  \ifodd\count@\else\XC@calcC\@@tmp\@@tmp\fi
  \edef\@@tmp
   {\ifcase\count@ 0,\@@tmp,1\or \@@tmp,0,1\or 1,0,\@@tmp\or
    1,\@@tmp,0\or \@@tmp,1,0\or 0,1,\@@tmp\or 0,\@@tmp,1\fi}%
  \edef\@@scl{#2}\expandafter\XC@calc@\@@tmp,,:S%
  \expandafter\XC@calc@\@@tmp,,:C%
  \edef\@@scl{#3}\expandafter\XC@calc@\@@tmp,,:S}
\def\XC@cnv@gray#1,%
 {\ifx\tm\XC@mod@rgb
    \XC@calcN{#1}\@@tmp \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
  \else\ifx\tm\XC@mod@cmy
    \XC@calcC{#1}\@@tmp \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
  \else\ifx\tm\XC@mod@cmyk
    \XC@calcC{#1}\@@tmp \edef\@@tmp{0,0,0,\@@tmp}%
  \else\ifx\tm\XC@mod@hsb
    \XC@calcN{#1}\@@tmp \edef\@@tmp{0,0,\@@tmp}%
  \else\ifx\tm\XC@mod@RGB
    \edef\@@scl{\rangeRGB}\XC@calcM{#1}\@@tmp
    \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
  \else\ifx\tm\XC@mod@HTML
    \edef\@@scl{\@cclv}\XC@calcM{#1}\@@tmp \XC@calcH\@@tmp\@@tmp
    \edef\@@tmp{\@@tmp\@@tmp\@@tmp}%
  \else\ifx\tm\XC@mod@HSB
    \edef\@@scl{\rangeHSB}\XC@calcM{#1}\@@tmp
    \edef\@@tmp{0,0,\@@tmp}%
  \else\ifx\tm\XC@mod@Gray
    \edef\@@scl{\rangeGray}\XC@calcM{#1}\@@tmp
  \else
    \XC@calcN{#1}\@@tmp
  \fi\fi\fi\fi\fi\fi\fi\fi}
\def\XC@cnv@RGB#1,#2,#3,%
 {\edef\@@scl{\rangeRGB}\XC@calc@#1,#2,#3,,:D\expandafter\XC@cnv@rgb\@@tmp,}
\def\XC@cnv@HTML#1,%
 {\edef\@@tmp{\expandafter\@hex@Hex#1\relax}\expandafter\XC@cnv@HTML@\@@tmp
  \edef\@@scl{\@cclv}\expandafter\XC@calc@\@@tmp,,:D%
  \expandafter\XC@cnv@rgb\@@tmp,}
\def\XC@cnv@HTML@#1#2#3#4#5#6%
 {\edef\@@tmp{\number"#1#2,\number"#3#4,\number"#5#6}}
\def\XC@cnv@HSB#1,#2,#3,%
 {\edef\@@scl{\rangeHSB}\XC@calc@#1,#2,#3,,:D\expandafter\XC@cnv@hsb\@@tmp,}
\def\XC@cnv@Gray#1,%
 {\edef\@@scl{\rangeGray}\XC@calcD{#1}\@@tmp \XC@cnv@gray\@@tmp,}
\def\XC@cnv@cmyk@compl#1,#2,#3,#4,%
 {\XC@cnv@cmyk@cmy#1,#2,#3,#4,%
  \expandafter\XC@calc@\@@tmp,,:C%
  \expandafter\XC@cnv@cmy@cmyk\@@tmp,}
\def\XC@cnv@hsb@compl#1,#2,#3,%
 {\lshiftset\dimen@{#1}\advance\dimen@\ifdim\dimen@<5\p@-\fi-5\p@
  \rshift\dimen@
  \edef\@@tmp{\strip@pt\dimen@}%
  \lshiftset\dimen@{#3}%
  \@tempdima#2\dimen@
  \@tempdimb\@tempdima \advance\@tempdimb10\p@ \advance\@tempdimb-\dimen@
  \ifdim\@tempdimb=\z@
    \edef\@@tmp{\@@tmp,0,0}%
  \else
    \rdivide\@tempdima\@tempdimb \rshift\@tempdimb
    \edef\@@tmp{\@@tmp,\strip@pt\@tempdima,\strip@pt\@tempdimb}%
  \fi}
\def\maskcolors{\@testopt{\XC@maskcolors}{}}
\def\XC@maskcolors[#1]#2%
 {\XC@edef\colormask{#2}%
  \ifx\colormask\@empty
    \maskcolorsfalse \def\XC@mmod{}\def\XC@mclr{}%
  \else
    \maskcolorstrue \extractcolorspec\colormask\XC@mclr
    \edef\XC@mmod{\expandafter\@firstoftwo\XC@mclr}%
    \edef\XC@mclr{\expandafter\@secondoftwo\XC@mclr}%
    \@ifxempty{#1}{}%
     {\convertcolorspec\XC@mmod\XC@mclr{#1}\XC@mclr \edef\XC@mmod{#1}}%
  \fi}
\newif\ifmaskcolors
\maskcolors{}
\def\definecolorseries#1#2#3%
 {\@testopt{\XC@definecolorseries{#1}{#2}{#3}}{}}
\def\XC@definecolorseries#1#2#3[#4]#5%
 {\@testopt{\XC@@definecolorseries{#1}{#2}{#3}[#4]{#5}}{}}
\def\XC@@definecolorseries#1#2#3[#4]#5[#6]#7%
 {\begingroup
  \edef\@@mod{#2}%
  \@ifxempty{#4}{\extractcolorspec{#5}\@@clr}{\edef\@@clr{{#4}{#5}}}%
  \expandafter\convertcolorspec\@@clr\@@mod\@@clr
  \@namexdef{\string\xcolorB@#1}{{\@@mod}{\@@clr}}%
  \edef\@@met{#3}%
  \ifx\@@met\XC@met@last
    \@ifxempty{#6}{\extractcolorspec{#7}\@@tmp}{\edef\@@tmp{{#6}{#7}}}%
    \expandafter\convertcolorspec\@@tmp\@@mod\@@tmp
    \XC@inflate\@@mod\@@tmp\@@clr\@@tmp
    \expandafter\XC@sub\@@tmp,\@@tmp
  \else
    \edef\@@tmp{#7}%
  \fi
  \@namexdef{\string\xcolorD@#1}{{\@@met}{\@@tmp}}%
  \endgroup}
\def\resetcolorseries{\@testopt{\XC@resetcolorseries}{}}
\def\XC@resetcolorseries[#1]#2%
 {\begingroup
  \@namexdef
   {\string\color@#2}{\noexpand\xcolor@{}{}\@nameuse{\string\xcolorB@#2}}%
  \@namelet{@@tmp}{\string\xcolorD@#2}%
  \edef\@@met{\expandafter\@firstoftwo\@@tmp}%
  \edef\@@tmp{\expandafter\@secondoftwo\@@tmp}%
  \ifx\@@met\XC@met@step\else
    \dimen@\@ifxempty{#1}\colorseriescycle{#1}\p@
    \edef\@@scl{\strip@pt\dimen@}\expandafter\XC@calc@\@@tmp,,,,:D%
  \fi
  \@namexdef{\string\xcolorS@#2}{{\@@tmp}}%
  \endgroup}
\def\XC@step#1%
 {\begingroup
  \@namelet{@@tmp}{\string\color@#1}\toks@\expandafter{\@@tmp}%
  \edef\@@tmp{\the\toks@\@nameuse{\string\xcolorS@#1}}%
  \expandafter\XC@@step\@@tmp
  \@namexdef{\string\color@#1}{\noexpand\xcolor@{}{}{\@@mod}{\@@tmp}}%
  \endgroup}
\def\XC@@step#1#2#3#4#5#6%
 {\def\@@mod{#4}%
  \XC@inflate\@@mod{#5}{#6}\@@tmp
  \expandafter\XC@add\@@tmp,\@@tmp
  \expandafter\XC@calc@\@@tmp,,,,:U}
\ifx\color@rgb\@undefined
  \PackageInfo{xcolor}{Color model `rgb' added}
  \def\color@rgb#1#2%
   {\convertcolorspec\XC@mod@rgb{#2}\XC@mod@cmyk\XC@@tmp
    \expandafter\color@cmyk\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@cmyk\@undefined
  \PackageInfo{xcolor}{Color model `cmyk' added}
  \def\color@cmyk#1#2%
   {\convertcolorspec\XC@mod@cmyk{#2}\XC@mod@rgb\XC@@tmp
    \expandafter\color@rgb\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@cmy\@undefined
  \PackageInfo{xcolor}{Color model `cmy' added}
  \def\color@cmy#1#2{\color@cmyk#1{#2,0}}
\fi
\ifx\color@hsb\@undefined\@tempswatrue
\else\def\@@tmp{dvipdfm.def}\ifx\@@tmp\Gin@driver\@tempswatrue
\else\def\@@tmp{textures.def}\ifx\@@tmp\Gin@driver\@tempswatrue
\else\@tempswafalse\fi\fi\fi
\if@tempswa
  \PackageInfo{xcolor}{Color model `hsb' added}
  \def\color@hsb#1#2%
   {\convertcolorspec\XC@mod@hsb{#2}\XC@mod@rgb\XC@@tmp
    \expandafter\color@rgb\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@gray\@undefined
  \PackageInfo{xcolor}{Color model `gray' added}
  \def\color@gray#1#2{\color@rgb#1{#2,#2,#2}}
\fi
\ifx\color@RGB\@undefined\@tempswatrue
\else\ifnum\rangeRGB<255 \@tempswatrue
\else\ifnum\rangeRGB>255 \@tempswatrue
\else\@tempswafalse\fi\fi\fi
\if@tempswa
  \PackageInfo{xcolor}{Color model `RGB' added}
  \def\color@RGB#1#2%
   {\convertcolorspec\XC@mod@RGB{#2}\XC@mod@rgb\XC@@tmp
    \expandafter\color@rgb\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@HTML\@undefined
  \PackageInfo{xcolor}{Color model `HTML' added}
  \def\color@HTML#1#2%
   {\convertcolorspec\XC@mod@HTML{#2}\XC@mod@rgb\XC@@tmp
    \expandafter\color@rgb\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@HSB\@undefined
  \PackageInfo{xcolor}{Color model `HSB' added}
  \def\color@HSB#1#2%
   {\convertcolorspec\XC@mod@HSB{#2}\XC@mod@hsb\XC@@tmp
    \expandafter\color@hsb\expandafter#1\expandafter{\XC@@tmp}}
\fi
\ifx\color@Gray\@undefined
  \PackageInfo{xcolor}{Color model `Gray' added}
  \def\color@Gray#1#2%
   {\convertcolorspec\XC@mod@Gray{#2}\XC@mod@gray\XC@@tmp
    \expandafter\color@gray\expandafter#1\expandafter{\XC@@tmp}}
\fi
\@tfor\@@tmp:={dvipdf}{dvipdfm}{dvips}{pctex32}\do
 {\edef\@@tmp{\@@tmp.def}%
  \ifx\Gin@driver\@@tmp
    \def\c@lor@@named#1,#2,#3\@@#4{\edef#4{ #1}}
    \def\define@color@named#1#2{\let\@@col\@nnil}
  \@break@tfor\fi}
\@tfor\@@tmp:={dvipsone}{pctexps}{pdftex}{tcidvi}{truetex}{vtex}\do
 {\edef\@@tmp{\@@tmp.def}%
  \ifx\Gin@driver\@@tmp
    \def\c@lor@@named#1,#2,#3\@@#4%
     {\edef#4{\expandafter\expandafter\expandafter\@secondoffive
               \csname\string\color@#1\endcsname}}
    \def\define@color@named#1#2%
     {\edef\@@col{#2}\@namedef{\string\color@#1}{{}{#2}{}{}{}}}
  \@break@tfor\fi}
\@tfor\@@tmp:={textures}\do
 {\edef\@@tmp{\@@tmp.def}%
  \ifx\Gin@driver\@@tmp
    \def\c@lor@@named#1,#2,#3\@@#4%
     {\edef\@tempa{\color@P@custom{#1}{\if!#2!1\else#2\fi}}%
      \expandafter\def\expandafter#4\@tempa}
    \def\define@color@named#1#2%
     {\edef\@tempa{{#1}{#2}}\expandafter\AddCustomColor\@tempa
      \edef\@@col{#2}}
  \@break@tfor\fi}
\def\rowcolors{\@ifstar{\@rowcmdfalse\rowc@lors}{\@rowcmdtrue\rowc@lors}}
\def\rowc@lors{\@testopt{\rowc@l@rs}{}}
\def\rowc@l@rs[#1]#2#3#4%
 {\global\rownum=\z@
  \global\@rowcolorstrue
  \@ifxempty{#3}%
    {\def\@oddrowcolor{\@norowcolor}}%
    {\def\@oddrowcolor{\gdef\CT@row@color{\CT@color{#3}}}}%
  \@ifxempty{#4}%
    {\def\@evenrowcolor{\@norowcolor}}%
    {\def\@evenrowcolor{\gdef\CT@row@color{\CT@color{#4}}}}%
  \if@rowcmd
    \def\@rowcolors
     {#1\if@rowcolors
        \noalign{\relax\ifnum\rownum<#2\@norowcolor\else
                 \ifodd\rownum\@oddrowcolor\else\@evenrowcolor\fi\fi}%
      \fi}%
  \else
    \def\@rowcolors
     {\if@rowcolors
        \ifnum\rownum<#2\noalign{\@norowcolor}\else
        #1\noalign{\ifodd\rownum\@oddrowcolor\else\@evenrowcolor\fi}\fi
      \fi}%
  \fi
  \CT@everycr{\noalign{\rownum@step}\@rowcolors\the\everycr}%
  \ignorespaces}
\def\showrowcolors{\noalign{\global\@rowcolorstrue}\@rowcolors}
\def\hiderowcolors{\noalign{\global\@rowcolorsfalse\@norowcolor}}
\def\@norowcolor{\global\let\CT@row@color\relax}
\newif\if@rowcolors
\newif\if@rowcmd
\ifx\rownum\@undefined\newcount\rownum\fi
\def\rownum@step{\global\advance\rownum\@ne}
\AtBeginDocument
 {\@ifundefined{CT@extract}{}%
   {\def\CT@extract#1\columncolor#2#3\@nil{%
      \if!#2%
        \let\CT@column@color\@empty
      \else
        \if[#2%
          \CT@extractb{#1}#3\@nil
        \else
          \XC@edef\XC@@tmp{#2}%
          \edef\CT@column@color{\noexpand\CT@color{\XC@@tmp}}%
          \CT@extractd{#1}#3\@nil
        \fi
      \fi}}}
\def\XC@bordercolor#1#2%
 {\extractcolorspec{#2}\XC@@tmp
  \expandafter\convertcolorspec\XC@@tmp\XC@mod@rgb\XC@@tmp
  \expandafter\edef\csname @#1bordercolor\endcsname
   {\expandafter\XC@@bordercolor\XC@@tmp,}%
 }
\def\XC@@bordercolor#1,#2,#3,{#1 #2 #3}
\PackageInfo{xcolor}{Starting to (re)define basic colors}
\xdefinecolor{red}{rgb}{1,0,0}
\xdefinecolor{green}{rgb}{0,1,0}
\xdefinecolor{blue}{rgb}{0,0,1}
\xdefinecolor{cyan}{cmyk}{1,0,0,0}
\xdefinecolor{magenta}{cmyk}{0,1,0,0}
\xdefinecolor{yellow}{cmyk}{0,0,1,0}
\colorlet{orange}{red!50!yellow}
\colorlet{violet}{blue!50!red}
\colorlet{purple}{violet!50!red}
\colorlet{brown}{violet!50!yellow}
\xdefinecolor{black}{gray}{0}
\xdefinecolor{white}{gray}{1}
\xdefinecolor{darkgray}{gray}{.25}
\xdefinecolor{gray}{gray}{.5}
\xdefinecolor{lightgray}{gray}{.75}
\@nameuse{XC@dvipsnames}
\XC@catcodes
\let\XC@catcodes\relax
\@nameuse{xcolorcmd}
\color{black}
\endinput
%%
%% End of file `xcolor.sty'.
