m17n-docs
[m17n/m17n-docs.git] / styles / hyperref.sty
1 %%
2 %% This is file `hyperref.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% hyperref.dtx  (with options: `package')
8 %% 
9 %% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
10 %% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
11 %%
12 %% This file is part of the `Hyperref Bundle'.
13 %% -------------------------------------------
14 %%
15 %% It may be distributed under the conditions of the LaTeX Project Public
16 %% License, either version 1.2 of this license or (at your option) any
17 %% later version.  The latest version of this license is in
18 %%    http://www.latex-project.org/lppl.txt
19 %% and version 1.2 or later is part of all distributions of LaTeX
20 %% version 1999/12/01 or later.
21 %%
22 %% The list of all files belonging to the `Hyperref Bundle' is
23 %% given in the file `manifest.txt'.
24 %%
25 \NeedsTeXFormat{LaTeX2e}
26 \ProvidesPackage{hyperref}
27   [2001/05/26 v6.71g
28   Hypertext links for LaTeX]
29 \begingroup
30   \@makeother\`%
31   \@makeother\=%
32   \edef\x{%
33     \edef\noexpand\x{%
34       \endgroup
35       \noexpand\toks@{%
36         \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
37         \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
38       }%
39     }%
40     \noexpand\x
41   }%
42 \x
43 \@makeother\`
44 \@makeother\=
45 \def\Hy@SetCatcodes{%
46   \@makeother\`%
47   \@makeother\=%
48   \catcode`\$=3
49   \catcode`\&=4
50   \catcode`\^=7
51   \catcode`\_=8
52   \@makeother\|%
53   \@makeother\:%
54   \@makeother\(%
55   \@makeother\)%
56   \@makeother\[%
57   \@makeother\]%
58   \@makeother\/%
59   \@makeother\!%
60   \@makeother\<%
61   \@makeother\>%
62   \@makeother\.%
63   \@makeother\;%
64   \@makeother\+%
65   \@makeother\-%
66   \@makeother\"%
67   \@makeother\'%
68 }
69 \begingroup
70   \def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
71   \xdef\Hy@RestoreCatcodes{%
72     \the\toks@
73     \x\$%
74     \x\&%
75     \x\^%
76     \x\_%
77     \x\|%
78     \x\:%
79     \x\(%
80     \x\)%
81     \x\[%
82     \x\]%
83     \x\/%
84     \x\!%
85     \x\<%
86     \x\>%
87     \x\.%
88     \x\;%
89     \x\+%
90     \x\-%
91     \x\"%
92     \x\'%
93   }%
94 \endgroup
95 \Hy@SetCatcodes
96 \RequirePackage{keyval}[1997/11/10]
97 \def\Hy@Warning#1{\PackageWarning{hyperref}{#1}}
98 \def\Hy@WarningNoLine#1{\PackageWarningNoLine{hyperref}{#1}}
99 \def\Hy@Info#1{\PackageInfo{hyperref}{#1}}
100 \@ifundefined{AfterBeginDocument}{%
101  \let\AfterBeginDocument\AtBeginDocument
102  }{}%
103 \newif\ifHy@typexml
104 \newif\ifHy@activeanchor
105 \newif\ifHy@backref
106 \newif\ifHy@bookmarks
107 \newif\ifHy@bookmarksnumbered
108 \newif\ifHy@bookmarksopen
109 \newif\ifHy@breaklinks
110 \newif\ifHy@centerwindow
111 \newif\ifHy@CJKbookmarks
112 \newif\ifHy@colorlinks
113 \newif\ifHy@draft
114 \newif\ifHy@figures
115 \newif\ifHy@fitwindow
116 \newif\ifHy@frenchlinks
117 \newif\ifHy@hyperfootnotes
118 \newif\ifHy@hyperindex
119 \newif\ifHy@hypertexnames
120 \newif\ifHy@implicit
121 \newif\ifHy@linktocpage
122 \newif\ifHy@menubar
123 \newif\ifHy@naturalnames
124 \newif\ifHy@nesting
125 \newif\ifHy@newwindow
126 \newif\ifHy@pageanchor
127 \newif\ifHy@pagelabels
128 \newif\ifHy@pdfpagehidden
129 \newif\ifHy@pdfstring
130 \newif\ifHy@plainpages
131 \newif\ifHy@psize
132 \newif\ifHy@raiselinks
133 \newif\ifHy@seminarslides
134 \newif\ifHy@texht
135 \newif\ifHy@toolbar
136 \newif\ifHy@unicode
137 \newif\ifHy@verbose
138 \newif\ifHy@windowui
139 \Hy@backreffalse
140 \Hy@bookmarksnumberedfalse
141 \Hy@bookmarksopenfalse
142 \Hy@bookmarkstrue
143 \Hy@breaklinksfalse
144 \Hy@centerwindowfalse
145 \Hy@CJKbookmarksfalse
146 \Hy@figuresfalse
147 \Hy@fitwindowfalse
148 \Hy@hyperfootnotestrue
149 \Hy@hyperindextrue
150 \Hy@hypertexnamestrue
151 \Hy@implicittrue
152 \Hy@linktocpagefalse
153 \Hy@menubartrue
154 \Hy@naturalnamesfalse
155 \Hy@nestingfalse
156 \Hy@newwindowfalse
157 \Hy@pageanchortrue
158 \Hy@pagelabelsfalse
159 \Hy@pdfpagehiddenfalse
160 \Hy@pdfstringfalse
161 \Hy@plainpagestrue
162 \Hy@raiselinksfalse
163 \Hy@texhtfalse
164 \Hy@toolbartrue
165 \Hy@typexmlfalse
166 \Hy@unicodefalse
167 \Hy@verbosefalse
168 \Hy@windowuitrue
169 \def\Hy@StepCount#1{\advance#1 by 1 }%
170 \def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }%
171 \newdimen\@linkdim
172 \let\Hy@driver\@empty
173 \let\MaybeStopEarly\relax
174 \newcount\Hy@linkcounter
175 \newcount\Hy@pagecounter
176 \Hy@linkcounter0
177 \Hy@pagecounter0
178 \long\def\Hy@ReturnAfterElseFi#1\else#2\fi{\fi#1}
179 \long\def\Hy@ReturnAfterFi#1\fi{\fi#1}
180 \begingroup\expandafter\expandafter\expandafter\endgroup
181 \expandafter\ifx\csname dimexpr\endcsname\relax
182   \def\hypercalcbpdef#1#2{%
183     \begingroup
184       \toks@{}%
185       \HyCal@scan#2\hypercalcbp\@nil
186     \expandafter\endgroup
187     \expandafter\def\expandafter#1\expandafter{\the\toks@}%
188   }
189   \def\HyCal@scan#1\hypercalcbp#2\@nil{%
190     \toks@\expandafter{\the\toks@ #1}%
191     \ifx\\#2\\%
192     \else
193       \Hy@ReturnAfterFi{%
194         \HyCal@do#2\@nil
195       }%
196     \fi
197   }
198   \def\HyCal@do#1#2\@nil{%
199     \setlength{\dimen@}{#1}%
200     \setlength{\dimen@}{0.99626401\dimen@}%
201     \edef\x{%
202       \toks@{%
203         \the\toks@
204         \strip@pt\dimen@
205       }%
206     }\x
207     \HyCal@scan#2\@nil
208   }
209 \else
210   \def\hypercalcbp#1{%
211     \strip@pt\dimexpr 0.99626401\dimexpr #1\relax\relax
212   }
213   \def\hypercalcbpdef{\def}
214 \fi
215 \def\pdfstringdef#1#2{%
216   \begingroup
217     \escapechar`\\%
218     \edef\0{\string\0}%
219     \edef\1{\string\1}%
220     \edef\2{\string\2}%
221     \edef\3{\string\3}%
222     \ifHy@unicode
223       \edef\8{\string\8}%
224       \edef\9{\string\9}%
225       \fontencoding{PU}%
226     \else
227       \fontencoding{PD1}%
228     \fi
229     \enc@update
230     \@inmathwarn\pdfstringdef
231     \let\@inmathwarn\HyPsd@inmathwarn
232     \let\add@accent\HyPsd@add@accent
233     \let\{\textbraceleft
234     \let\}\textbraceright
235     \let\\\textbackslash
236     \let\#\textnumbersign
237     \let\$\textdollar
238     \let\%\textpercent
239     \let\&\textampersand
240     \let\_\textunderscore
241     \let\P\textparagraph
242     \let\ldots\textellipsis
243     \let\dots\textellipsis
244     \def\\{\pdfstringdefWarn\\}%
245     \def\newline{\pdfstringdefWarn\newline}%
246     \def\TeX{TeX}%
247     \def\LaTeX{La\TeX}%
248     \def\LaTeXe{\LaTeX2e}%
249     \def\eTeX{e-\TeX}%
250     \def\MF{Metafont}%
251     \def\MP{Metapost}%
252     \let\emph\@firstofone
253     \let\textbf\@firstofone
254     \let\textit\@firstofone
255     \let\textmd\@firstofone
256     \let\textnormal\@firstofone
257     \let\textrm\@firstofone
258     \let\textsc\@firstofone
259     \let\textsf\@firstofone
260     \let\textsl\@firstofone
261     \let\texttt\@firstofone
262     \let\textup\@firstofone
263     \let\ttfamily\@empty
264     \let\sffamily\@empty
265     \let\itshape\@empty
266     \let\upshape\@empty
267     \let\bfseries\@empty
268     \let\rm\@empty
269     \let\Huge\@empty
270     \let\LARGE\@empty
271     \let\Large\@empty
272     \let\footnotesize\@empty
273     \let\huge\@empty
274     \let\large\@empty
275     \let\normalsize\@empty
276     \let\scriptsize\@empty
277     \let\small\@empty
278     \let\tiny\@empty
279     \let\textlatin\@firstofone
280     \@ifundefined{language@group}{}{%
281       \csname HyPsd@babel@\language@group\endcsname
282     }%
283     \let\glqq\textglqq
284     \let\grqq\textgrqq
285     \let\glq\textglq
286     \let\grq\textgrq
287     \let\flqq\textflqq
288     \let\frqq\textfrqq
289     \let\flq\textflq
290     \let\frq\textfrq
291     \HyPSD@AMSclassfix
292     \let\hspace\HyPsd@hspace
293     \let\label\@gobble
294     \let\index\@gobble
295     \let\glossary\@gobble
296     \let\href\@secondoftwo
297     \let\ref\HyPsd@ref
298     \let\pageref\HyPsd@pageref
299     \let\leavevmode\@empty
300     \def\halign{\pdfstringdefWarn\halign\@gobble}%
301     \ifHy@CJKbookmarks
302       \HyPsd@CJKhook
303     \fi
304     \Hy@pdfstringtrue
305     \pdfstringdefPreHook
306     \HyPsd@LetUnexpandableSpace\space
307     \HyPsd@LetUnexpandableSpace\ %
308     \HyPsd@LetUnexpandableSpace~%
309     \HyPsd@LetUnexpandableSpace\nobreakspace
310     \@ifundefined{@xspace}{%
311       \let\xspace\HyPsd@ITALCORR
312     }{%
313       \let\xspace\HyPsd@XSPACE
314     }%
315     \let\/\HyPsd@ITALCORR
316     \let\bgroup\/%
317     \let\egroup\/%
318     \let\discretionary\@gobbletwo
319     \let\@ifnextchar\HyPsd@ifnextchar
320     \let\@protected@testopt\HyPsd@protected@testopt
321     \begingroup
322       \let\GenericError\@gobblefour
323       \let\GenericWarning\@gobbletwo
324       \let\GenericInfo\@gobbletwo
325       \ifx\nofrenchguillemets\@undefined
326       \else
327         \nofrenchguillemets
328       \fi
329       \let\Hy@temp\xdef
330       \let\def\HyPsd@DefCommand
331       \let\gdef\HyPsd@DefCommand
332       \let\edef\HyPsd@DefCommand
333       \let\xdef\HyPsd@DefCommand
334       \let\futurelet\HyPsd@LetCommand
335       \let\let\HyPsd@LetCommand
336       \Hy@temp#1{#2}%
337     \endgroup
338     \ifx#1\@empty
339     \else
340       \HyPsd@ProtectSpaces#1%
341       \let\HyPsd@String\@empty
342       \expandafter\HyPsd@RemoveBraces\expandafter{#1|}%
343       \global\let#1\HyPsd@String
344       \let\HyPsd@SPACEOPTI\relax
345       {%
346          \let\HyPsd@String\@empty
347          \expandafter\HyPsd@CheckCatcodes#1\HyPsd@End
348          \global\let#1\HyPsd@String
349       }%
350       \expandafter\HyPsd@RemoveMask\expandafter
351         |\expandafter\@empty#1\HyPsd@End#1%
352       \expandafter\HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1%
353       \let\HyPsd@String\@empty
354       \expandafter\HyPsd@GlyphProcess#1\relax\@empty
355       \global\let#1\HyPsd@String
356       \HyPsd@StringSubst{\\}{\textbackslash}#1%
357       \ifHy@unicode
358         \expandafter\HyPsd@StringSubst\csname 80\040\endcsname
359           \HyPsd@SPACEOPTI#1%
360         \edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}%
361         \expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}%
362           {\HyPsd@SPACEOPTI\80\273}#1%
363       \else
364         \HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1%
365         \expandafter\HyPsd@Subst\expandafter{%
366           \expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI
367           \string\273}{\HyPsd@SPACEOPTI\273}#1%
368       \fi
369       \ifHy@unicode
370         \HyPsd@StringSubst{\)}{\80\051}#1%
371         \HyPsd@Subst){\80\051}#1%
372         \let\HyPsd@empty\relax
373         \expandafter\HyPsd@StringSubst\csname 80\051\endcsname
374           {\HyPsd@empty\80\051}#1%
375       \else
376         \HyPsd@StringSubst{\)}{\051}#1%
377         \HyPsd@Subst){\051}#1%
378         \let\HyPsd@empty\relax
379         \HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1%
380       \fi
381       \expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1%
382       \@ifundefined{@xspace}{%
383       }{%
384         \let\HyPsd@xspace\relax
385         \expandafter\HyPsd@Subst\expandafter
386           {\HyPsd@XSPACE}\HyPsd@xspace#1%
387         \let\HyPsd@xspace\HyPsd@doxspace
388       }%
389       \xdef#1{#1\HyPsd@empty}%
390       \HyPsd@Subst{!`}\textexclamdown#1%
391       \HyPsd@Subst{?`}\textquestiondown#1%
392       \let\HyPsd@empty\@empty
393       \ifHy@unicode
394         \HyPsd@StringSubst\(\textparenleft#1%
395         \HyPsd@Subst(\textparenleft#1%
396       \else
397         \HyPsd@StringSubst\({\050}#1%
398         \HyPsd@Subst({\050}#1%
399         \HyPsd@StringSubst{\050}{\string\(}#1%
400       \fi
401       \ifHy@unicode
402         \edef\HyPsd@SPACEOPTI{\80\040}%
403       \else
404         \let\HyPsd@SPACEOPTI\HyPsd@spaceopti
405       \fi
406       \xdef#1{#1\@empty}%
407     \fi
408     \ifHy@unicode
409       \HyPsd@ConvertToUnicode#1%
410     \fi
411     \pdfstringdefPostHook#1%
412   \endgroup
413 }
414 \@ifundefined{T@PD1}{\input{pd1enc.def}}{}
415 \DeclareFontFamily{PD1}{pdf}{}
416 \DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{}
417 \DeclareFontSubstitution{PD1}{pdf}{m}{n}
418 \def\HyPsd@InitUnicode{%
419   \@ifundefined{T@PU}{\input{puenc.def}}{}%
420   \DeclareFontFamily{PU}{pdf}{}%
421   \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
422   \DeclareFontSubstitution{PU}{pdf}{m}{n}%
423   \let\HyPsd@InitUnicode\relax
424 }
425 \newcommand*{\texorpdfstring}{%
426    \ifHy@pdfstring
427      \expandafter\@secondoftwo
428    \else
429      \expandafter\@firstoftwo
430    \fi
431 }
432 \@ifundefined{pdfstringdefPreHook}{%
433   \let\pdfstringdefPreHook\@empty
434 }{}
435 \@ifundefined{pdfstringdefPostHook}{%
436   \let\pdfstringdefPostHook\@gobble
437 }{}
438 \def\pdfstringdefDisableCommands{%
439   \begingroup
440     \makeatletter
441     \HyPsd@DisableCommands
442 }
443 \long\def\HyPsd@DisableCommands#1{%
444     \toks0=\expandafter{\pdfstringdefPreHook}%
445     \toks1={#1}%
446     \xdef\pdfstringdefPreHook{\the\toks0 \the\toks1}%
447   \endgroup
448 }
449 \def\pdfstringdefWarn#1{%
450    \expandafter\noexpand\csname<>-\string#1\endcsname
451 }
452 \newif\ifHy@next
453 \@ifpackagewith{babel}{danish}{%
454   \def\HyPsd@babel@danish{%
455     \declare@shorthand{danish}{"|}{}%
456     \declare@shorthand{danish}{"~}{-}%
457   }%
458 }{}
459 \@ifpackagewith{babel}{dutch}{%
460   \def\HyPsd@babel@dutch{%
461     \declare@shorthand{dutch}{"|}{}%
462     \declare@shorthand{dutch}{"~}{-}%
463   }%
464 }{}
465 \@ifpackagewith{babel}{finnish}{%
466   \def\HyPsd@babel@finnish{%
467     \declare@shorthand{finnish}{"|}{}%
468   }%
469 }{}
470 \Hy@nextfalse
471 \@ifpackagewith{babel}{frenchb}{\Hy@nexttrue}{}
472 \@ifpackagewith{babel}{francais}{\Hy@nexttrue}{}
473 \ifHy@next
474   \def\HyPsd@babel@frenchb{%
475     \def\guill@spacing{ }%
476   }%
477 \fi
478 \Hy@nextfalse
479 \@ifpackagewith{babel}{german}{\Hy@nexttrue}{}%
480 \@ifpackagewith{babel}{germanb}{\Hy@nexttrue}{}%
481 \@ifpackagewith{babel}{austrian}{\Hy@nexttrue}{}%
482 \ifHy@next
483   \def\HyPsd@babel@german{%
484     \declare@shorthand{german}{"f}{f}%
485     \declare@shorthand{german}{"|}{}%
486     \declare@shorthand{german}{"~}{-}%
487   }%
488 \fi
489 \Hy@nextfalse
490 \@ifpackagewith{babel}{ngerman}{\Hy@nexttrue}{}%
491 \@ifpackagewith{babel}{ngermanb}{\Hy@nexttrue}{}%
492 \@ifpackagewith{babel}{naustrian}{\Hy@nexttrue}{}%
493 \ifHy@next
494   \def\HyPsd@babel@ngerman{%
495     \declare@shorthand{german}{"|}{}%
496     \declare@shorthand{german}{"~}{-}%
497   }%
498 \fi
499 \Hy@nextfalse
500 \@ifpackagewith{babel}{usorbian}{\Hy@nexttrue}{}%
501 \@ifpackagewith{babel}{uppersorbian}{\Hy@nexttrue}{}%
502 \ifHy@next
503   \def\HyPsd@babel@usorbian{%
504     \declare@shorthand{usorbian}{"f}{f}%
505     \declare@shorthand{usorbian}{"|}{}%
506   }%
507 \fi
508 \Hy@nextfalse
509 \@ifpackagewith{babel}{brazil}{\Hy@nexttrue}{}%
510 \@ifpackagewith{babel}{brazilian}{\Hy@nexttrue}{}%
511 \@ifpackagewith{babel}{portuges}{\Hy@nexttrue}{}%
512 \@ifpackagewith{babel}{portuguese}{\Hy@nexttrue}{}%
513 \ifHy@next
514   \def\HyPsd@babel@portuges{%
515     \declare@shorthand{portuges}{"|}{}%
516   }%
517 \fi
518 \Hy@nextfalse
519 \@ifpackagewith{babel}{russian}{\Hy@nexttrue}{}
520 \@ifpackagewith{babel}{russianb}{\Hy@nexttrue}{}
521 \ifHy@next
522   \def\HyPsd@babel@russian{%
523     \declare@shorthand{russian}{"|}{}%
524     \declare@shorthand{russian}{"~}{-}%
525   }%
526 \fi
527 \Hy@nextfalse
528 \@ifpackagewith{babel}{ukrainian}{\Hy@nexttrue}{}
529 \@ifpackagewith{babel}{ukraineb}{\Hy@nexttrue}{}
530 \ifHy@next
531   \def\HyPsd@babel@ukrainian{%
532     \declare@shorthand{ukrainian}{"|}{}%
533     \declare@shorthand{ukrainian}{"~}{-}%
534   }%
535 \fi
536 \@ifpackagewith{babel}{slovene}{%
537   \def\HyPsd@babel@slovene{%
538     \declare@shorthand{slovene}{"|}{}%
539   }%
540 }{}
541 \@ifpackagewith{babel}{swedish}{%
542   \def\HyPsd@babel@swedish{%
543     \declare@shorthand{swedish}{"|}{}%
544     \declare@shorthand{swedish}{"~}{-}%
545   }%
546 }{}
547 \begingroup
548   \toks@{%
549     \let\CJK@ignorespaces\empty
550     \def\CJK@char#1{\@gobbletwo}%
551     \let\CJK@charx\@gobblefour
552     \let\CJK@punctchar\@gobblefour
553     \def\CJK@punktcharx#1{\@gobblefour}%
554     % ... ?
555     \ifHy@unicode
556       \def\Hy@cjkpu{\80}%
557     \else
558       \let\Hy@cjkpu\@empty
559     \fi
560     \HyPsd@CJKActiveChars
561   }%
562   \count@=127
563   \@whilenum\count@<255 \do{%
564     \advance\count@ by 1
565     \lccode`\~=\count@
566     \lowercase{%
567       \toks@\expandafter{\the\toks@ ~}%
568     }%
569   }%
570   \toks@\expandafter{\the\toks@ !}%
571   \xdef\HyPsd@CJKhook{\the\toks@}%
572 \endgroup
573 \def\HyPsd@CJKActiveChars#1{%
574   \ifx#1!%
575     \let\HyPsd@CJKActiveChars\relax
576   \else
577     \edef#1{\noexpand\Hy@cjkpu\string#1}%
578   \fi
579   \HyPsd@CJKActiveChars
580 }
581 \def\HyPsd@inmathwarn#1#2{%
582   \ifx#2\expandafter
583     \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
584       \HyPsd@GLYPHERR
585       \expandafter\@gobble\string#1%
586       >%
587       \expandafter\expandafter\expandafter\HyPsd@EndWithElse
588     \else
589       \expandafter\expandafter\expandafter\HyPsd@GobbleFiFi
590     \fi
591   \else
592     \expandafter#2%
593   \fi
594 }
595 \def\HyPsd@GobbleFiFi#1\fi#2\fi{}
596 \def\HyPsd@EndWithElse#1\else{\else}
597 \def\HyPsd@add@accent#1#2{%
598   \HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>%
599   #2%
600 }%
601 \def\HyPsd@LetUnexpandableSpace#1{%
602   \expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax
603 }
604 \HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace
605 \edef\HyPsd@XSPACE{\string#\string X}
606 \edef\HyPsd@ITALCORR{\string#\string I}
607 \edef\HyPsd@GLYPHERR{\string#\string G}
608 \def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END}
609 \def\HyPsd@@hspace#1*#2\END{%
610   \ifx\\#2\\%
611     \HyPsd@hspacetest{#1}%
612   \else
613     \expandafter\HyPsd@hspacetest
614   \fi
615 }
616 \def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
617 \@ifundefined{tocsection}{%
618   \let\HyPSD@AMSclassfix\relax
619 }{%
620   \def\HyPSD@AMSclassfix{%
621     \let\tocpart\HyPSD@tocsection
622     \let\tocchapter\HyPSD@tocsection
623     \let\tocappendix\HyPSD@tocsection
624     \let\tocsection\HyPSD@tocsection
625     \let\tocsubsection\HyPSD@tocsection
626     \let\tocsubsubsection\HyPSD@tocsection
627     \let\tocparagraph\HyPSD@tocsection
628   }%
629   \def\HyPSD@tocsection#1#2#3{%
630     \if @#2@\else\if @#1@\else#1 \fi#2. \fi
631     #3%
632   }%
633 }
634 \def\HyPsd@ref#1{\HyPsd@@ref#1*\END}%
635 \def\HyPsd@@ref#1*#2\END{%
636   \ifx\\#2\\%
637     \HyPsd@@@ref{#1}%
638   \else
639     \expandafter\HyPsd@@@ref
640   \fi
641 }%
642 \def\HyPsd@@@ref#1{%
643   \expandafter\ifx\csname r@#1\endcsname\relax
644     ??%
645   \else
646     \expandafter\expandafter\expandafter\@car\csname r@#1\endcsname\@nil
647   \fi
648 }
649 \def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END}
650 \def\HyPsd@@pageref#1*#2\END{%
651   \ifx\\#2\\%
652     \HyPsd@@@pageref{#1}%
653   \else
654     \expandafter\HyPsd@@@pageref
655   \fi
656 }
657 \def\HyPsd@@@pageref#1{%
658   \expandafter\ifx\csname r@#1\endcsname\relax
659     ??%
660   \else
661     \expandafter\expandafter\expandafter\expandafter
662     \expandafter\expandafter\expandafter\@car
663     \expandafter\expandafter\expandafter\@gobble
664     \csname r@#1\endcsname\@nil
665   \fi
666 }
667 \begingroup
668   \def\x#1#2{%
669     \endgroup
670     \let#1\def
671     \def\HyPsd@DefCommand##1##2##{%
672       #1%
673       \expandafter\noexpand
674         \csname\expandafter\@gobble\string##1\@empty\endcsname
675       \@gobble
676     }%
677     \let#2\let
678     \def\HyPsd@LetCommand##1{%
679       #2%
680       \expandafter\noexpand
681         \csname\expandafter\@gobble\string##1\@empty\endcsname
682     }%
683   }%
684 \expandafter\x\csname <def>-command\expandafter\endcsname
685               \csname <let>-command\endcsname
686 \def\HyPsd@ifnextchar{%
687   \pdfstringdefWarn\@ifnextchar
688   \expandafter\@gobbletwo\@gobble
689 }
690 \def\HyPsd@protected@testopt#1{%
691   \pdfstringdefWarn#1%
692   \@gobbletwo
693 }
694 \def\HyPsd@Warning#1{%
695   \begingroup
696     \def\space{ }%
697     \Hy@Warning{#1}%
698   \endgroup
699 }
700 \def\HyPsd@ProtectSpaces#1{%
701   \expandafter\HyPsd@@ProtectSpaces
702     \expandafter|\expandafter\@empty#1| \HyPsd@End#1%
703 }
704 \def\HyPsd@@ProtectSpaces#1 #2\HyPsd@End#3{%
705   \ifx\scrollmode#2\scrollmode
706     \HyPsd@RemoveMask#1\HyPsd@End#3%
707   \else
708     \gdef#3{#1\HyPsd@UnexpandableSpace#2}%
709     \Hy@ReturnAfterFi{%
710       \expandafter\HyPsd@@ProtectSpaces#3\HyPsd@End#3%
711     }%
712   \fi
713 }
714 \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
715   \toks@\expandafter{#1}%
716   \xdef#2{\the\toks@}%
717 }
718 \def\HyPsd@RemoveBraces#1{%
719   \ifx\scrollmode#1\scrollmode
720   \else
721     \Hy@ReturnAfterFi{%
722       \HyPsd@@RemoveBraces#1\HyPsd@End{#1}%
723     }%
724   \fi
725 }
726 \def\HyPsd@@RemoveBraces#1#2\HyPsd@End#3{%
727   \def\Hy@temp@A{#1#2}%
728   \def\Hy@temp@B{#3}%
729   \ifx\Hy@temp@A\Hy@temp@B
730     \expandafter\def\expandafter\HyPsd@String\expandafter{%
731       \HyPsd@String#1%
732     }%
733     \Hy@ReturnAfterElseFi{%
734       \ifx\scrollmode#2\scrollmode
735       \else
736         \Hy@ReturnAfterFi{%
737           \HyPsd@RemoveBraces{#2}%
738         }%
739       \fi
740     }%
741   \else
742     \def\Hy@temp@A{#1}%
743     \HyPsd@AppendItalcorr\HyPsd@String
744     \Hy@ReturnAfterFi{%
745       \ifx\Hy@temp@A\@empty
746         \Hy@ReturnAfterElseFi{%
747           \HyPsd@RemoveBraces{#2}%
748         }%
749       \else
750         \Hy@ReturnAfterFi{%
751           \HyPsd@ProtectSpaces\Hy@temp@A
752           \HyPsd@AppendItalcorr\Hy@temp@A
753           \expandafter\HyPsd@RemoveBraces\expandafter
754             {\Hy@temp@A#2}%
755         }%
756       \fi
757     }%
758   \fi
759 }
760 \def\HyPsd@AppendItalcorr#1{%
761   \expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1%
762 }
763 \def\HyPsd@@AppendItalcorr#1#2{%
764   \expandafter\def\expandafter#2\expandafter{#2#1}%
765 }
766 \def\HyPsd@CheckCatcodes#1#2\HyPsd@End{%
767   \global\let\HyPsd@Rest\relax
768   \ifcat\relax\noexpand#1\relax
769     \ifx#1\protect
770     \else
771       \ifx#1\penalty
772         \setbox\z@=\hbox{%
773           \afterassignment\HyPsd@AfterCountRemove
774           \count@=#2\HyPsd@End
775         }%
776       \else
777         \ifx#1\kern
778           \setbox\z@=\hbox{%
779             \afterassignment\HyPsd@AfterDimenRemove
780             \dimen@=#2\HyPsd@End
781           }%
782         \else
783           \ifx#1\hskip
784             \setbox\z@=\hbox{%
785               \afterassignment\HyPsd@AfterSkipRemove
786               \skip@=#2\HyPsd@End
787             }%
788           \else
789             \HyPsd@CatcodeWarning{#1}%
790           \fi
791         \fi
792       \fi
793     \fi
794   \else
795     \ifcat#1 %SPACE
796       \expandafter\def\expandafter\HyPsd@String\expandafter{%
797         \HyPsd@String\HyPsd@SPACEOPTI
798       }%
799     \else
800       \ifcat$#1%
801         \HyPsd@CatcodeWarning{math shift}%
802       \else
803         \ifcat&#1%
804           \HyPsd@CatcodeWarning{alignment tab}%
805         \else
806           \ifcat^#1%
807             \HyPsd@CatcodeWarning{superscript}%
808           \else
809             \ifcat_#1%
810               \HyPsd@CatcodeWarning{subscript}%
811             \else
812               \expandafter\def\expandafter\HyPsd@String\expandafter{%
813                 \HyPsd@String#1%
814               }%
815             \fi
816           \fi
817         \fi
818       \fi
819     \fi
820   \fi
821   \ifx\HyPsd@Rest\relax
822     \Hy@ReturnAfterElseFi{%
823       \ifx\scrollmode#2\scrollmode
824       \else
825         \Hy@ReturnAfterFi{%
826           \HyPsd@CheckCatcodes#2\HyPsd@End
827         }%
828       \fi
829     }%
830   \else
831     \Hy@ReturnAfterFi{%
832       \ifx\HyPsd@Rest\@empty
833       \else
834         \expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End
835       \fi
836     }%
837   \fi
838 }
839 \def\HyPsd@AfterCountRemove#1\HyPsd@End{%
840   \gdef\HyPsd@Rest{#1}%
841 }
842 \def\HyPsd@AfterDimenRemove#1\HyPsd@End{%
843   \ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex
844     \HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}%
845     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
846   \else
847     \ifdim\dimen@=\z@
848     \else
849       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}%
850     \fi
851     \gdef\HyPsd@Rest{#1}%
852   \fi
853 }
854 \def\HyPsd@AfterSkipRemove#1\HyPsd@End{%
855   \ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex
856     \HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}%
857     \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
858   \else
859     \ifdim\skip@=\z@
860     \else
861       \HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}%
862     \fi
863     \gdef\HyPsd@Rest{#1}%
864   \fi
865 }
866 \def\HyPsd@CatcodeWarning#1{%
867   \HyPsd@Warning{%
868     Token not allowed in a PDFDocEncoded string,%
869     \MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
870   }%
871 }
872 \begingroup
873   \catcode`\|=0
874   \catcode`\\=12
875   |gdef|HyPsd@RemoveCmdPrefix#1{%
876     |expandafter|HyPsd@@RemoveCmdPrefix
877       |string#1|@empty\<>-|@empty|@empty
878   }%
879   |gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}%
880 |endgroup
881 \def\HyPsd@RemoveSpaceWarning#1{%
882   \HyPsd@Warning{%
883     Token not allowed in a PDFDocEncoded string:%
884     \MessageBreak #1\MessageBreak
885     removed%
886   }%
887 }
888 \def\HyPsd@ReplaceSpaceWarning#1{%
889   \HyPsd@Warning{%
890     Token not allowed in a PDFDocEncoded string:%
891     \MessageBreak #1\MessageBreak
892     replaced by space%
893   }%
894 }
895 \def\HyPsd@GlyphProcess#1\relax#2\@empty{%
896   \expandafter\def\expandafter\HyPsd@String\expandafter{%
897     \HyPsd@String#1%
898   }%
899   \ifx\\#2\\%
900   \else
901     \Hy@ReturnAfterFi{%
902       \HyPsd@GlyphProcessWarning#2\@empty
903     }%
904   \fi
905 }
906 \def\HyPsd@GlyphProcessWarning#1>#2\@empty{%
907   \HyPsd@Warning{%
908     Glyph not defined in %
909     P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak
910     removing `\@backslashchar#1'%
911   }%
912   \HyPsd@GlyphProcess#2\@empty
913 }
914 \def\HyPsd@spaceopti#1{ % first space
915   \ifx\HyPsd@spaceopti#1%
916     \040%
917   \else
918     #1%
919   \fi
920 }%
921 \def\HyPsd@Subst#1#2#3{%
922   \def\HyPsd@@Replace##1#1##2\END{%
923     ##1%
924     \ifx\\##2\\%
925     \else
926       #2%
927       \Hy@ReturnAfterFi{%
928         \HyPsd@@Replace##2\END
929       }%
930     \fi
931   }%
932   \xdef#3{%
933     \expandafter\HyPsd@@Replace#3#1\END
934   }%
935 }
936 \def\HyPsd@StringSubst#1{%
937   \expandafter\HyPsd@Subst\expandafter{\string#1}%
938 }
939 \def\HyPsd@doxspace#1{%
940   \ifx#1\relax\else
941    \ifx#1.\else
942     \ifx#1:\else
943      \ifx#1,\else
944       \ifx#1;\else
945        \ifx#1!\else
946         \ifx#1?\else
947          \ifx#1/\else
948           \ifx#1-\else
949            \ifx#1'\else
950              \HyPsd@SPACEOPTI
951            \fi
952           \fi
953          \fi
954         \fi
955        \fi
956       \fi
957      \fi
958     \fi
959    \fi
960   \fi
961   #1%
962 }%
963 \begingroup
964   \catcode`\|=0
965   \catcode`\\=12
966   |gdef|HyPsd@ConvertToUnicode#1{%
967     |xdef#1{%
968       \376\377%
969       |expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
970     }%
971   }
972   |gdef|HyPsd@DoConvert#1{%
973     |ifx#1|@empty
974     |else
975       |Hy@ReturnAfterFi{%
976         |ifx#1\%
977           \%
978           |expandafter|HyPsd@DoEscape
979         |else
980           \000#1%
981           |expandafter|HyPsd@DoConvert
982         |fi
983       }%
984     |fi
985   }
986   |gdef|HyPsd@DoEscape#1{%
987     |ifx#19%
988       |expandafter|HyPsd@GetTwoBytes
989     |else
990       |Hy@ReturnAfterFi{%
991         |ifx#18%
992           00%
993           |expandafter|HyPsd@GetTwoBytes
994         |else
995           #1%
996           |expandafter|HyPsd@GetOneByte
997         |fi
998       }%
999     |fi
1000   }
1001   |gdef|HyPsd@GetTwoBytes#1\#2#3#4{%
1002     #1\#2#3#4%
1003     |HyPsd@DoConvert
1004   }
1005   |gdef|HyPsd@GetOneByte#1#2{%
1006     #1#2%
1007     |HyPsd@DoConvert
1008   }
1009 |endgroup
1010 \def\HyPsd@GetNextTwoTokens#1#2#3\END#4{%
1011   \xdef#4{#4#1#2}%
1012   \HyPsd@@ConvertToUnicode#3\END#4%
1013 }
1014 \@ifpackageloaded{subfigure}{%
1015   \Hy@hypertexnamesfalse
1016 }{}
1017 \@ifundefined{XR@addURL}{%
1018 }{%
1019   \def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}%
1020   \def\XR@@dURL#1#2#3#4#5\\{%
1021     {#1}{#2}%
1022     \if!#4!%
1023     \else
1024       {#3}{#4}{\XR@URL}%
1025     \fi
1026   }%
1027 }
1028 \def\Hy@true{true}
1029 \def\Hy@false{false}
1030 \let\literalps@out\@gobble
1031 \newcommand\pdfbookmark[3][]{}
1032 \let\Acrobatmenu\@gobble
1033 \def\Hy@writebookmark#1#2#3#4#5{}%
1034 \let\HyperRaiseLinkLength\@tempdima
1035 \let\HyperRaiseLinkHook\@empty
1036 \def\HyperRaiseLinkDefault{\baselineskip}
1037 \def\Hy@raisedlink#1{%
1038   \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
1039   \HyperRaiseLinkHook
1040   \ifvmode
1041     #1%
1042   \else
1043     \smash{\raise\HyperRaiseLinkLength\hbox{#1}}%
1044   \fi
1045 }
1046 \def\Hy@SaveLastskip{%
1047   \let\Hy@RestoreLastskip\relax
1048   \ifvmode
1049     \ifdim\lastskip=\z@
1050       \let\Hy@RestoreLastskip\nobreak
1051     \else
1052       \begingroup
1053         \skip@=-\lastskip
1054         \edef\x{%
1055           \endgroup
1056           \def\noexpand\Hy@RestoreLastskip{%
1057             \noexpand\ifvmode
1058               \noexpand\nobreak
1059               \vskip\the\skip@
1060               \vskip\the\lastskip\relax
1061             \noexpand\fi
1062           }%
1063         }%
1064       \x
1065     \fi
1066   \else
1067     \ifhmode
1068       \ifdim\lastskip=\z@
1069         \let\Hy@RestoreLastskip\nobreak
1070       \else
1071         \begingroup
1072           \skip@=-\lastskip
1073           \edef\x{%
1074             \endgroup
1075             \def\noexpand\Hy@RestoreLastskip{%
1076               \noexpand\ifhmode
1077                 \noexpand\nobreak
1078                 \hskip\the\skip@
1079                 \hskip\the\lastskip\relax
1080               \noexpand\fi
1081             }%
1082           }%
1083         \x
1084       \fi
1085     \fi
1086   \fi
1087 }%
1088 \def\Hy@boolkey{\@dblarg\Hy@@boolkey}
1089 \def\Hy@@boolkey[#1]#2#3{%
1090   \lowercase{\def\Hy@tempa{#3}}%
1091   \ifx\Hy@tempa\@empty
1092     \let\Hy@tempa\Hy@true
1093   \fi
1094   \ifx\Hy@tempa\Hy@true
1095   \else
1096     \ifx\Hy@tempa\Hy@false
1097     \else
1098       \let\Hy@tempa\relax
1099     \fi
1100   \fi
1101   \ifx\Hy@tempa\relax
1102     \Hy@WarnOptionValue{#3}{#1}{`true' or 'false'}%
1103   \else
1104     \Hy@Info{Option `#1' set `\Hy@tempa'}%
1105     \csname Hy@#2\Hy@tempa\endcsname
1106   \fi
1107 }
1108 \def\Hy@WarnOptionValue#1#2#3{%
1109   \Hy@Warning{%
1110     Unexpected value `#1'\MessageBreak
1111     of option `#2' instead of\MessageBreak
1112     #3%
1113   }
1114 }
1115 \def\Hy@DisableOption#1{%
1116   \@ifundefined{KV@Hyp@#1@default}{%
1117     \define@key{Hyp}{#1}%
1118   }{%
1119     \define@key{Hyp}{#1}[]%
1120   }%
1121   {\Hy@WarnOptionDisabled{#1}}%
1122 }
1123 \def\Hy@WarnOptionDisabled#1{%
1124   \Hy@Warning{%
1125     Option `#1' has already been used,\MessageBreak
1126     setting the option has no effect%
1127   }%
1128 }
1129 \define@key{Hyp}{implicit}[true]{%
1130   \Hy@boolkey{implicit}{#1}%
1131 }
1132 \define@key{Hyp}{draft}[true]{%
1133   \Hy@boolkey{draft}{#1}%
1134 }
1135 \let\KV@Hyp@nolinks\KV@Hyp@draft
1136 \define@key{Hyp}{a4paper}[true]{%
1137   \def\special@paper{210mm,297mm}%
1138   \def\Hy@pageheight{842}%
1139 }
1140 \define@key{Hyp}{a5paper}[true]{%
1141   \def\special@paper{148mm,210mm}%
1142   \def\Hy@pageheight{595}%
1143 }
1144 \define@key{Hyp}{b5paper}[true]{%
1145   \def\special@paper{176mm,250mm}%
1146   \def\Hy@pageheight{709}%
1147 }
1148 \define@key{Hyp}{letterpaper}[true]{%
1149   \def\special@paper{8.5in,11in}%
1150   \def\Hy@pageheight{792}%
1151 }
1152 \define@key{Hyp}{legalpaper}[true]{%
1153   \def\special@paper{8.5in,14in}%
1154   \def\Hy@pageheight{1008}%
1155 }
1156 \define@key{Hyp}{executivepaper}[true]{%
1157   \def\special@paper{7.25in,10.5in}%
1158   \def\Hy@pageheight{720}%
1159 }
1160 \define@key{Hyp}{debug}[true]{%
1161   \Hy@boolkey[debug]{verbose}{#1}%
1162 }
1163 \define@key{Hyp}{linktocpage}[true]{%
1164   \Hy@boolkey{linktocpage}{#1}%
1165 }
1166 \define@key{Hyp}{extension}{\def\XR@ext{#1}}
1167 \def\XR@ext{dvi}
1168 \define@key{Hyp}{verbose}[true]{%
1169   \Hy@boolkey{verbose}{#1}%
1170 }
1171 \define@key{Hyp}{typexml}[true]{%
1172   \Hy@boolkey{typexml}{#1}%
1173 }
1174 \define@key{Hyp}{raiselinks}[true]{%
1175   \Hy@boolkey{raiselinks}{#1}%
1176 }
1177 \define@key{Hyp}{breaklinks}[true]{%
1178   \Hy@boolkey{breaklinks}{#1}%
1179 }
1180 \define@key{Hyp}{pageanchor}[true]{%
1181   \Hy@boolkey{pageanchor}{#1}%
1182 }
1183 \define@key{Hyp}{plainpages}[true]{%
1184   \Hy@boolkey{plainpages}{#1}%
1185 }
1186 \define@key{Hyp}{naturalnames}[true]{%
1187   \Hy@boolkey{naturalnames}{#1}%
1188 }
1189 \define@key{Hyp}{hypertexnames}[true]{%
1190   \Hy@boolkey{hypertexnames}{#1}%
1191 }
1192 \define@key{Hyp}{nesting}[true]{%
1193   \Hy@boolkey{nesting}{#1}%
1194 }
1195 \define@key{Hyp}{unicode}[true]{%
1196   \Hy@boolkey{unicode}{#1}%
1197   \HyPsd@InitUnicode
1198 }
1199 \define@key{Hyp}{hyperref}[true]{}
1200 \define@key{Hyp}{tex4ht}[true]{%
1201   \def\XR@ext{html}%
1202   \Hy@texhttrue
1203   \def\Hy@raisedlink{}%
1204   \setkeys{Hyp}{colorlinks=true}%
1205   \def\BeforeTeXIVht{\usepackage{color}}%
1206   \def\Hy@driver{htex4ht}%
1207   \def\MaybeStopEarly{%
1208     \typeout{Hyperref stopped early}%
1209     \AfterBeginDocument{\PDF@FinishDoc}%
1210     \endinput
1211   }%
1212 }
1213 \define@key{Hyp}{pdftex}[true]{%
1214   \def\Hy@driver{hpdftex}%
1215   \def\XR@ext{pdf}%
1216   \PassOptionsToPackage{pdftex}{color}%
1217   \Hy@breaklinkstrue
1218 }
1219 \define@key{Hyp}{dvipdf}[true]{%
1220 }
1221 \define@key{Hyp}{nativepdf}[true]{%
1222   \def\Hy@driver{hdvips}%
1223   \def\XR@ext{pdf}%
1224 }
1225 \define@key{Hyp}{dvipdfm}[true]{%
1226   \def\Hy@driver{hdvipdfm}%
1227   \def\XR@ext{pdf}%
1228   \Hy@breaklinkstrue
1229 }
1230 \define@key{Hyp}{pdfmark}[true]{%
1231   \def\Hy@driver{hdvips}%
1232   \def\XR@ext{pdf}%
1233 }
1234 \define@key{Hyp}{dvips}[true]{%
1235   \def\Hy@driver{hdvips}%
1236   \def\XR@ext{pdf}%
1237 }
1238 \define@key{Hyp}{hypertex}[true]{%
1239   \def\Hy@driver{hypertex}%
1240 }
1241 \let\Hy@MaybeStopNow\relax
1242 \define@key{Hyp}{vtex}[true]{%
1243   \begingroup\expandafter\expandafter\expandafter\endgroup
1244   \expandafter\ifx\csname OpMode\endcsname\relax
1245     \@latex@error{Non-VTeX processor}{}%
1246     \global\let\Hy@MaybeStopNow\endinput
1247     \endinput
1248   \else
1249     \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
1250       \def\XR@ext{pdf}%
1251       \def\Hy@driver{hvtex}%
1252     \else
1253       \ifnum\OpMode=10\relax
1254         \def\XR@ext{htm}%
1255         \def\Hy@driver{hvtexhtm}%
1256         \def\MaybeStopEarly{%
1257            \typeout{Hyperref stopped early}%
1258            \AfterBeginDocument{\PDF@FinishDoc}%
1259            \endinput
1260         }%
1261       \else
1262         \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}%
1263         \global\let\Hy@MaybeStopNow\endinput
1264         \endinput
1265       \fi
1266     \fi
1267   \fi
1268 }
1269 \define@key{Hyp}{vtexpdfmark}[true]{%
1270   \begingroup\expandafter\expandafter\expandafter\endgroup
1271   \expandafter\ifx\csname OpMode\endcsname\relax
1272     \@latex@error{Non-VTeX processor}{}%
1273     \let\Hy@MaybeStopNow\endinput
1274     \endinput
1275   \else
1276     \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
1277       \def\XR@ext{pdf}%
1278       \def\Hy@driver{hvtexmrk}%
1279     \else
1280       \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}%
1281       \let\Hy@MaybeStopNow\endinput
1282       \endinput
1283     \fi
1284   \fi
1285 }
1286 \define@key{Hyp}{dviwindo}[true]{%
1287   \def\Hy@driver{hdviwind}%
1288   \setkeys{Hyp}{colorlinks}%
1289   \PassOptionsToPackage{dviwindo}{color}%
1290 }
1291 \define@key{Hyp}{dvipsone}[true]{%
1292   \def\XR@ext{pdf}%
1293   \def\Hy@driver{hdvipson}%
1294 }
1295 \define@key{Hyp}{textures}[true]{%
1296   \def\XR@ext{pdf}%
1297   \def\Hy@driver{htexture}%
1298 }
1299 \define@key{Hyp}{latex2html}[true]{%
1300   \AtBeginDocument{\@@latextohtmlX}%
1301 }
1302 \define@key{Hyp}{ps2pdf}[true]{%
1303   \def\Hy@driver{hdvips}%
1304   \providecommand\@pdfborder{0 0 1}%
1305 }
1306 \define@key{Hyp}{hyperfigures}[true]{%
1307   \Hy@boolkey[hyperfigures]{figures}{#1}%
1308 }
1309 \define@key{Hyp}{hyperfootnotes}[true]{%
1310   \Hy@boolkey{hyperfootnotes}{#1}%
1311 }
1312 \def\back@none{none}
1313 \def\back@section{section}
1314 \def\back@page{page}
1315 \def\back@slide{slide}
1316 \define@key{Hyp}{backref}[section]{%
1317   \lowercase{\def\Hy@tempa{#1}}%
1318   \ifx\Hy@tempa\@empty
1319     \let\Hy@tempa\back@section
1320   \fi
1321   \ifx\Hy@tempa\Hy@false
1322     \let\Hy@tempa\back@none
1323   \fi
1324   \ifx\Hy@tempa\back@slide
1325     \let\Hy@tempa\back@section
1326   \fi
1327   \ifx\Hy@tempa\back@page
1328     \PassOptionsToPackage{hyperpageref}{backref}%
1329     \Hy@backreftrue
1330   \else
1331     \ifx\Hy@tempa\back@section
1332       \PassOptionsToPackage{hyperref}{backref}%
1333       \Hy@backreftrue
1334     \else
1335       \ifx\Hy@tempa\back@none
1336         \Hy@backreffalse
1337       \else
1338         \Hy@WarnOptionValue{#1}{backref}{%
1339           `section', `slide', `page', `none',\MessageBreak
1340           or `false'}%
1341       \fi
1342     \fi
1343   \fi
1344 }
1345 \define@key{Hyp}{pagebackref}[true]{%
1346   \lowercase{\def\Hy@tempa{#1}}%
1347   \ifx\Hy@tempa\@empty
1348     \let\Hy@tempa\Hy@true
1349   \fi
1350   \ifx\Hy@tempa\Hy@true
1351     \PassOptionsToPackage{hyperpageref}{backref}%
1352     \Hy@backreftrue
1353   \else
1354     \ifx\Hy@tempa\Hy@false
1355       \Hy@backreffalse
1356     \else
1357       \Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}%
1358     \fi
1359   \fi
1360 }
1361 \define@key{Hyp}{hyperindex}[true]{%
1362   \Hy@boolkey{hyperindex}{#1}%
1363 }
1364 \def\Hy@setcaptions#1#2{%
1365   \@ifpackageloaded{babel}{%
1366     \expandafter\addto\csname captions#2\expandafter\endcsname
1367     \expandafter{#1}%
1368   }{%
1369     #1%
1370   }%
1371 }
1372 \def\Hy@autorefenglish{\Hy@setcaptions\Hy@captionsenglish}
1373 \def\Hy@autorefgerman{\Hy@setcaptions\Hy@captionsgerman}
1374 \def\Hy@autorefspanish{\Hy@setcaptions\Hy@captionsspanish}
1375 \def\Hy@captionsenglish{%
1376   \def\equationautorefname{Equation}%
1377   \def\footnoteautorefname{footnote}%
1378   \def\itemautorefname{item}%
1379   \def\figureautorefname{Figure}%
1380   \def\tableautorefname{Table}%
1381   \def\partautorefname{Part}%
1382   \def\appendixautorefname{Appendix}%
1383   \def\chapterautorefname{chapter}%
1384   \def\sectionautorefname{section}%
1385   \def\subsectionautorefname{subsection}%
1386   \def\subsubsectionautorefname{subsubsection}%
1387   \def\paragraphautorefname{paragraph}%
1388   \def\subparagraphautorefname{subparagraph}%
1389   \def\FancyVerbLineautorefname{line}%
1390   \def\theoremautorefname{Theorem}%
1391 }
1392 \def\Hy@captionsgerman{%
1393   \def\equationautorefname{Gleichung}%
1394   \def\footnoteautorefname{Fu\ss note}%
1395   \def\itemautorefname{Punkt}%
1396   \def\figureautorefname{Abbildung}%
1397   \def\tableautorefname{Tabelle}%
1398   \def\partautorefname{Teil}%
1399   \def\appendixautorefname{Anhang}%
1400   \def\chapterautorefname{Kapitel}%
1401   \def\sectionautorefname{Abschnitt}%
1402   \def\subsectionautorefname{Unterabschnitt}%
1403   \def\subsubsectionautorefname{Unterunterabschnitt}%
1404   \def\paragraphautorefname{Absatz}%
1405   \def\subparagraphautorefname{Unterabsatz}%
1406   \def\FancyVerbLineautorefname{Zeile}%
1407   \def\theoremautorefname{Theorem}%
1408 }
1409 \def\Hy@captionsspanish{%
1410   \def\equationautorefname{Ecuaci\'on}%
1411   \def\footnoteautorefname{Nota a pie de p\'agina}%
1412   \def\itemautorefname{Elemento}%
1413   \def\figureautorefname{Figura}%
1414   \def\tableautorefname{Tabla}%
1415   \def\partautorefname{Parte}%
1416   \def\appendixautorefname{Ap\'endice}%
1417   \def\chapterautorefname{Cap\'itulo}%
1418   \def\sectionautorefname{Secci\'on}%
1419   \def\subsectionautorefname{Subsecci\'on}%
1420   \def\subsubsectionautorefname{Subsubsecci\'on}%
1421   \def\paragraphautorefname{P\'arrafo}%
1422   \def\subparagraphautorefname{Subp\'arrafo}%
1423   \def\FancyVerbLineautorefname{L\'inea}%
1424   \def\theoremautorefname{Teorema}%
1425 }
1426 \define@key{Hyp}{english}[]{\Hy@autorefenglish{english}}
1427 \define@key{Hyp}{UKenglish}[]{\Hy@autorefenglish{UKenglish}}
1428 \define@key{Hyp}{british}[]{\Hy@autorefenglish{british}}
1429 \define@key{Hyp}{USenglish}[]{\Hy@autorefenglish{USenglish}}
1430 \define@key{Hyp}{american}[]{\Hy@autorefenglish{american}}
1431 \define@key{Hyp}{german}[]{\Hy@autorefgerman{german}}
1432 \define@key{Hyp}{austrian}[]{\Hy@autorefgerman{austrian}}
1433 \define@key{Hyp}{ngerman}[]{\Hy@autorefgerman{ngerman}}
1434 \define@key{Hyp}{naustrian}[]{\Hy@autorefgerman{naustrian}}
1435 \define@key{Hyp}{spanish}[]{\Hy@autorefspanish{spanish}}
1436 \define@key{Hyp}{colorlinks}[true]{%
1437   \Hy@boolkey{colorlinks}{#1}%
1438   \ifHy@colorlinks
1439     \def\@pdfborder{0 0 0}%
1440   \fi
1441 }
1442 \define@key{Hyp}{frenchlinks}[true]{%
1443   \Hy@boolkey{frenchlinks}{#1}%
1444 }
1445 \define@key{Hyp}{bookmarks}[true]{%
1446   \Hy@boolkey{bookmarks}{#1}%
1447 }
1448 \define@key{Hyp}{bookmarksopen}[true]{%
1449   \Hy@boolkey{bookmarksopen}{#1}%
1450 }
1451 \define@key{Hyp}{bookmarksopenlevel}{%
1452   \def\@bookmarksopenlevel{#1}%
1453 }
1454 \def\@bookmarksopenlevel{\maxdimen}
1455 \define@key{Hyp}{bookmarkstype}{%
1456   \def\Hy@bookmarkstype{#1}%
1457 }
1458 \def\Hy@bookmarkstype{toc}
1459 \define@key{Hyp}{bookmarksnumbered}[true]{%
1460   \Hy@boolkey{bookmarksnumbered}{#1}%
1461 }
1462 \define@key{Hyp}{CJKbookmarks}[true]{%
1463   \Hy@boolkey{CJKbookmarks}{#1}%
1464 }
1465 \define@key{Hyp}{linkcolor}{\def\@linkcolor{#1}}
1466 \define@key{Hyp}{anchorcolor}{\def\@anchorcolor{#1}}
1467 \define@key{Hyp}{citecolor}{\def\@citecolor{#1}}
1468 \define@key{Hyp}{urlcolor}{\def\@urlcolor{#1}}
1469 \define@key{Hyp}{menucolor}{\def\@menucolor{#1}}
1470 \define@key{Hyp}{filecolor}{\def\@filecolor{#1}}
1471 \define@key{Hyp}{pagecolor}{\def\@pagecolor{#1}}
1472 \def\@linkcolor{red}
1473 \def\@anchorcolor{black}
1474 \def\@citecolor{green}
1475 \def\@filecolor{cyan}
1476 \def\@urlcolor{magenta}
1477 \def\@menucolor{red}
1478 \def\@pagecolor{red}
1479 \def\hyperbaseurl#1{\def\@baseurl{#1}}
1480 \define@key{Hyp}{baseurl}{\hyperbaseurl{#1}}
1481 \let\@baseurl\@empty
1482 \def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}}
1483 \define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}}
1484 \hyperlinkfileprefix{file:}
1485 \let\@pdfpagetransition\relax
1486 \define@key{Hyp}{pdfpagetransition}{\def\@pdfpagetransition{#1}}
1487 \let\@pdfpageduration\relax
1488 \define@key{Hyp}{pdfpageduration}{\def\@pdfpageduration{#1}}
1489 \newif\ifHy@useHidKey
1490 \Hy@useHidKeyfalse
1491 \define@key{Hyp}{pdfpagehidden}[true]{%
1492   \Hy@boolkey{pdfpagehidden}{#1}%
1493   \ifHy@pdfpagehidden
1494     \global\Hy@useHidKeytrue
1495   \fi
1496 }
1497 \define@key{Hyp}{linkbordercolor}{\def\@linkbordercolor{#1}}
1498 \define@key{Hyp}{urlbordercolor}{\def\@urlbordercolor{#1}}
1499 \define@key{Hyp}{menubordercolor}{\def\@menubordercolor{#1}}
1500 \define@key{Hyp}{filebordercolor}{\def\@filebordercolor{#1}}
1501 \define@key{Hyp}{runbordercolor}{\def\@runbordercolor{#1}}
1502 \define@key{Hyp}{citebordercolor}{\def\@citebordercolor{#1}}
1503 \define@key{Hyp}{pagebordercolor}{\def\@pagebordercolor{#1}}
1504 \define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
1505 \define@key{Hyp}{pdfborder}{\def\@pdfborder{#1}}
1506 \define@key{Hyp}{pdfpagemode}{\def\@pdfpagemode{/#1 }}
1507 \define@key{Hyp}{pdftitle}{\pdfstringdef\@pdftitle{#1}}
1508 \define@key{Hyp}{pdfauthor}{\pdfstringdef\@pdfauthor{#1}}
1509 \define@key{Hyp}{pdfproducer}{\pdfstringdef\@pdfproducer{#1}}
1510 \define@key{Hyp}{pdfcreator}{\pdfstringdef\@pdfcreator{#1}}
1511 \define@key{Hyp}{pdfsubject}{\pdfstringdef\@pdfsubject{#1}}
1512 \define@key{Hyp}{pdfkeywords}{\pdfstringdef\@pdfkeywords{#1}}
1513 \define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
1514 \define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}}
1515 \let\setpdflinkmargin\@gobble
1516 \def\calculate@pdfview#1 #2\\{%
1517   \def\@pdfview{#1}%
1518   \ifx\\#2\\%
1519     \def\@pdfviewparams{ -32768}%
1520   \else
1521     \def\@pdfviewparams{ #2}%
1522   \fi
1523 }
1524 \define@key{Hyp}{pdfstartpage}{\def\@pdfstartpage{#1}}
1525 \define@key{Hyp}{pdfstartview}{%
1526   \ifx\\#1\\%
1527     \def\@pdfstartview{}%
1528   \else
1529     \hypercalcbpdef\@pdfstartview{ /#1 }%
1530   \fi
1531 }
1532 \define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}}
1533 \define@key{Hyp}{pdftoolbar}[true]{%
1534   \Hy@boolkey[pdftoolbar]{toolbar}{#1}%
1535 }
1536 \define@key{Hyp}{pdfmenubar}[true]{%
1537   \Hy@boolkey[pdfmenubar]{menubar}{#1}%
1538 }
1539 \define@key{Hyp}{pdfwindowui}[true]{%
1540   \Hy@boolkey[pdfwindowui]{windowui}{#1}%
1541 }
1542 \define@key{Hyp}{pdffitwindow}[true]{%
1543   \Hy@boolkey[pdffitwindow]{fitwindow}{#1}%
1544 }
1545 \define@key{Hyp}{pdfcenterwindow}[true]{%
1546   \Hy@boolkey[pdfcenterwindow]{centerwindow}{#1}%
1547 }
1548 \define@key{Hyp}{pdfnewwindow}[true]{%
1549   \Hy@boolkey[pdfnewwindow]{newwindow}{#1}%
1550 }
1551 \define@key{Hyp}{pdfpagelayout}{\def\pdf@pagelayout{#1}}
1552 \def\pdf@pagelayout{}
1553 \define@key{Hyp}{pdfpagelabels}[true]{%
1554   \Hy@boolkey[pdfpagelabels]{pagelabels}{#1}%
1555 }
1556 \def\@linkbordercolor{1 0 0}
1557 \def\@urlbordercolor{0 1 1}
1558 \def\@menubordercolor{1 0 0}
1559 \def\@filebordercolor{0 .5 .5}
1560 \def\@runbordercolor{0 .7 .7}
1561 \def\@citebordercolor{0 1 0}
1562 \def\@pagebordercolor{1 1 0}
1563 \def\@pdfhighlight{/I}
1564 \def\@pdfpagemode{}
1565 \def\@pdftitle{}
1566 \def\@pdfauthor{}
1567 \def\@pdfproducer{}
1568 \def\@pdfcreator{LaTeX with hyperref package}
1569 \def\@pdfsubject{}
1570 \def\@pdfkeywords{}
1571 \def\@pdfpagescrop{}
1572 \def\@pdfstartview{ /Fit }
1573 \def\@pdfstartpage{1}
1574 \let\PDF@SetupDoc\@empty
1575 \let\PDF@FinishDoc\@empty
1576 \edef\special@paper{\the\paperwidth,\the\paperheight}
1577 \hypercalcbpdef\Hy@pageheight{\hypercalcbp{\paperheight}}
1578 \def\hypersetup{\setkeys{Hyp}}
1579 \let\hyper@normalise\ExecuteOptions
1580 \let\ExecuteOptions\hypersetup
1581 \Hy@RestoreCatcodes
1582 \InputIfFileExists{hyperref.cfg}{}{}
1583 \Hy@SetCatcodes
1584 \let\ExecuteOptions\hyper@normalise
1585 \Hy@MaybeStopNow
1586 \def\ProcessOptionsWithKV#1{%
1587   \let\@tempc\relax
1588   \let\Hy@tempa\@empty
1589   \@for\CurrentOption:=\@classoptionslist\do{%
1590     \@ifundefined{KV@#1@\CurrentOption}%
1591     {}%
1592     {%
1593       \edef\Hy@tempa{\Hy@tempa,\CurrentOption,}%
1594       \@expandtwoargs\@removeelement\CurrentOption
1595         \@unusedoptionlist\@unusedoptionlist
1596     }%
1597   }%
1598   \edef\Hy@tempa{%
1599     \noexpand\setkeys{#1}{%
1600       \Hy@tempa\@ptionlist{\@currname.\@currext}%
1601     }%
1602   }%
1603   \Hy@tempa
1604 }
1605 \let\ReadBookmarks\relax
1606 \ProcessOptionsWithKV{Hyp}
1607 \AtBeginDocument{%
1608   \ifHy@draft
1609     \let\hyper@@anchor\@gobble
1610     \gdef\hyper@link#1#2#3{#3}%
1611     \let\hyper@anchorstart\@gobble
1612     \let\hyper@anchorend\@empty
1613     \let\hyper@linkstart\@gobbletwo
1614     \let\hyper@linkend\@empty
1615     \def\hyper@linkurl#1#2{#1}%
1616     \def\hyper@linkfile#1#2#3{#1}%
1617     \def\Acrobatmenu#1#2{#2}%
1618     \let\PDF@SetupDoc\@empty
1619     \let\PDF@FinishDoc\@empty
1620     \let\@fifthoffive\@secondoftwo
1621     \let\@secondoffive\@secondoftwo
1622     \let\ReadBookmarks\relax
1623     \let\WriteBookmarks\relax
1624     \Hy@WarningNoLine{ draft mode on}%
1625   \fi
1626   \Hy@DisableOption{draft}%
1627 }%
1628 \ifx\HyPsd@InitUnicode\relax
1629   \define@key{Hyp}{unicode}[true]{%
1630     \Hy@boolkey{unicode}{#1}%
1631   }
1632 \else
1633   \define@key{Hyp}{unicode}[true]{%
1634     \Hy@boolkey{unicode}{#1}%
1635     \ifHy@unicode
1636       \Hy@WarningNoLine{Set package option `unicode' first\MessageBreak
1637                   in order to load unicode support%
1638       }%
1639       \Hy@unicodefalse
1640     \fi
1641   }
1642 \fi
1643 \let\HyPsd@InitUnicode\@undefined
1644 \Hy@nextfalse
1645 \@ifpackagewith{babel}{spanish}{\Hy@nexttrue}{}
1646 \@ifpackagewith{babel}{galician}{\Hy@nexttrue}{}
1647 \@ifpackagewith{babel}{estonian}{\Hy@nexttrue}{}
1648 \ifHy@next
1649   \let\texttilde\~%
1650 \fi
1651 \def\WriteBookmarks{0}
1652 \def\@bookmarkopenstatus#1{%
1653   \ifHy@bookmarksopen
1654     \ifnum#1<\expandafter\@firstofone\expandafter
1655              {\number\@bookmarksopenlevel} % explicit space
1656     \else
1657       -%
1658     \fi
1659   \else
1660     -%
1661   \fi
1662 }
1663 \ifHy@bookmarks
1664   \Hy@Info{Bookmarks ON}%
1665   \ifx\@pdfpagemode\@empty
1666     \def\@pdfpagemode{/UseOutlines }%
1667   \fi
1668 \else
1669   \def\@bookmarkopenstatus#1{}%
1670   \Hy@Info{Bookmarks OFF}%
1671   \AtEndOfPackage{%
1672     \global\let\ReadBookmarks\relax
1673     \global\let\WriteBookmarks\relax
1674   }
1675   \ifx\@pdfpagemode\@empty
1676     \def\@pdfpagemode{/UseNone}%
1677   \fi
1678 \fi
1679 \Hy@DisableOption{bookmarks}
1680 \ifHy@figures
1681   \Hy@Info{Hyper figures ON}
1682 \else
1683   \Hy@Info{Hyper figures OFF}
1684 \fi
1685 \ifHy@nesting
1686   \Hy@Info{Link nesting ON}
1687 \else
1688   \Hy@Info{Link nesting OFF}
1689 \fi
1690 \ifHy@hyperindex
1691   \Hy@Info{Hyper index ON}
1692 \else
1693   \Hy@Info{Hyper index OFF}
1694 \fi
1695 \ifHy@plainpages
1696   \Hy@Info{Plain pages ON}
1697 \else
1698   \Hy@Info{Plain pages OFF}
1699 \fi
1700 \ifHy@backref
1701   \Hy@Info{Backreferencing ON}
1702 \else
1703   \Hy@Info{Backreferencing OFF}
1704 \fi
1705 \ifHy@typexml
1706    \AtEndOfPackage{\RequirePackage{color}\RequirePackage{nameref}}
1707 \fi
1708 \Hy@DisableOption{typexml}
1709 \ifHy@implicit
1710   \typeout{Implicit mode ON; LaTeX internals redefined}%
1711 \else
1712   \typeout{Implicit mode OFF; no redefinition of LaTeX internals}%
1713   \def\MaybeStopEarly{%
1714     \typeout{Hyperref stopped early}%
1715     \AfterBeginDocument{\PDF@FinishDoc}%
1716     \endinput
1717   }%
1718   \AtBeginDocument{%
1719     \let\autoref\ref
1720     \ifx\@pdfpagemode\@empty
1721       \gdef\@pdfpagemode{/UseNone}%
1722     \fi
1723     \global\Hy@backreffalse
1724   }%
1725   \AtEndOfPackage{%
1726     \global\let\ReadBookmarks\relax
1727     \global\let\WriteBookmarks\relax
1728   }%
1729 \fi
1730 \Hy@DisableOption{implicit}
1731 \AtEndOfPackage{%
1732   \@ifpackageloaded{tex4ht}{%
1733     \def\Hy@driver{htex4ht}%
1734     \Hy@texhttrue
1735   }{}%
1736   \ifx\Hy@driver\@empty
1737     \@ifundefined{pdfoutput}{%
1738       \let\pdfoutput\@undefined
1739       \@ifundefined{OpMode}{%
1740         \def\Hy@driver{hypertex}%
1741       }{%
1742         \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
1743           \def\Hy@driver{hvtex}%
1744           \def\XR@ext{pdf}%
1745         \else
1746           \ifnum\OpMode=10\relax
1747             \def\XR@ext{htm}%
1748             \def\Hy@driver{hvtexhtm}%
1749             \def\MaybeStopEarly{%
1750               \typeout{Hyperref stopped early}%
1751               \AfterBeginDocument{\PDF@FinishDoc}%
1752               \endinput
1753             }%
1754           \else
1755             \def\Hy@driver{hypertex}%
1756           \fi
1757         \fi
1758       }
1759     }{%
1760       \ifcase\pdfoutput
1761         \let\pdfoutput\@undefined
1762         \def\Hy@driver{hypertex}%
1763       \else
1764         \def\Hy@driver{hpdftex}%
1765         \def\XR@ext{pdf}%
1766         \PassOptionsToPackage{pdftex}{color}%
1767         \Hy@breaklinkstrue
1768       \fi
1769     }%
1770     \typeout{*hyperref using default driver \Hy@driver*}%
1771   \else
1772     \typeout{*hyperref using driver \Hy@driver*}%
1773   \fi
1774   \input{\Hy@driver.def}%
1775   \let\@unprocessedoptions\relax
1776   \Hy@RestoreCatcodes
1777 }
1778 \Hy@DisableOption{tex4ht}
1779 \Hy@DisableOption{pdftex}
1780 \Hy@DisableOption{dvipdf}
1781 \Hy@DisableOption{nativepdf}
1782 \Hy@DisableOption{dvipdfm}
1783 \Hy@DisableOption{pdfmark}
1784 \Hy@DisableOption{dvips}
1785 \Hy@DisableOption{hypertex}
1786 \Hy@DisableOption{vtex}
1787 \Hy@DisableOption{vtexpdfmark}
1788 \Hy@DisableOption{dviwindo}
1789 \Hy@DisableOption{dvipsone}
1790 \Hy@DisableOption{textures}
1791 \Hy@DisableOption{latex2html}
1792 \Hy@DisableOption{ps2pdf}
1793 \AtBeginDocument{%
1794   \ifHy@colorlinks
1795     \ifHy@typexml\else\RequirePackage{color}\fi
1796     \def\Hy@colorlink#1{\begingroup\color{#1}}%
1797     \def\Hy@endcolorlink{\endgroup}%
1798     \Hy@Info{Link coloring ON}%
1799   \else
1800     \ifHy@frenchlinks
1801       \def\Hy@colorlink#1{\begingroup\fontshape{sc}\selectfont}%
1802       \def\Hy@endcolorlink{\endgroup}%
1803       \Hy@Info{French linking ON}%
1804     \else
1805       \def\Hy@colorlink#1{\begingroup}%
1806       \def\Hy@endcolorlink{\endgroup}%
1807       \Hy@Info{Link coloring OFF}%
1808     \fi
1809   \fi
1810   \Hy@DisableOption{colorlinks}%
1811   \Hy@DisableOption{frenchlinks}%
1812   \ifHy@texht
1813     \long\def\@firstoffive#1#2#3#4#5{#1}%
1814     \long\def\@secondoffive#1#2#3#4#5{#2}%
1815     \long\def\@thirdoffive#1#2#3#4#5{#3}%
1816     \long\def\@fourthoffive#1#2#3#4#5{#4}%
1817     \long\def\@fifthoffive#1#2#3#4#5{#5}%
1818     \providecommand*\@safe@activestrue{}%
1819     \providecommand*\@safe@activesfalse{}%
1820     \def\T@ref#1{%
1821       \@safe@activestrue
1822       \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
1823       \@safe@activesfalse
1824     }%
1825     \def\T@pageref#1{%
1826       \@safe@activestrue
1827       \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
1828       \@safe@activesfalse
1829     }%
1830   \else
1831     \ifHy@typexml\else\RequirePackage{nameref}\fi
1832   \fi
1833   \DeclareRobustCommand\ref{\@ifstar\@refstar\T@ref}%
1834   \DeclareRobustCommand\pageref{%
1835     \@ifstar\@pagerefstar\T@pageref
1836   }%
1837 }
1838 \AfterBeginDocument{%
1839   \ifHy@texht
1840   \else
1841     \ReadBookmarks
1842   \fi
1843 }
1844 \ifHy@backref
1845   \RequirePackage{backref}
1846 \else
1847   \let\Hy@backout\@gobble
1848 \fi
1849 \Hy@DisableOption{backref}
1850 \Hy@DisableOption{pagebackref}
1851 \Hy@activeanchorfalse
1852 \begingroup
1853   \endlinechar=-1
1854   \catcode`\^^M\active
1855   \catcode`\%\active
1856   \catcode`\#\active
1857   \catcode`\_\active
1858   \gdef\hyper@normalise{
1859     \begingroup
1860     \catcode`\^^M\active
1861     \def^^M{ }
1862     \catcode`\%\active
1863     \let%\@percentchar
1864     \let\%\@percentchar
1865     \catcode`\#\active
1866     \def#{\hyper@hash}
1867     \def\#{\hyper@hash}
1868     \catcode`\_\active
1869     \def_{\string_}
1870     \let~\hyper@tilde
1871     \let\~\hyper@tilde
1872     \ifx\@safe@activestrue\@undefined\else\@safe@activestrue\fi
1873     \hyper@n@rmalise
1874   }
1875   \catcode`\#=6
1876   \gdef\hyper@n@rmalise#1#2{
1877     \edef\Hy@tempa{
1878       \endgroup
1879       \noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}
1880     }
1881     \Hy@tempa
1882   }
1883   \gdef\Hy@RemovePercentCr#1%^^M#2\@nil{
1884     #1
1885     \ifx\limits#2\limits
1886     \else
1887       \Hy@ReturnAfterFi{
1888         \Hy@RemovePercentCr #2\@nil
1889       }
1890     \fi
1891   }
1892 \endgroup
1893 \providecommand\hyper@chars{%
1894   \let\#\hyper@hash
1895   \let\%\@percentchar
1896 }
1897 \def\hyperlink#1#2{%
1898   \hyper@@link{}{#1}{#2}%
1899 }
1900 \DeclareRobustCommand*{\href}{\hyper@normalise\href@}
1901 \begingroup
1902   \catcode`\$=6
1903   \catcode`\#=12
1904   \gdef\href@$1{\expandafter\href@split$1##\\}
1905   \gdef\href@split$1#$2#$3\\{%
1906     \hyper@@link{$1}{$2}%
1907   }
1908 \endgroup
1909 \RequirePackage{url}
1910 \let\HyOrg@url\url
1911 \def\Hurl{\begingroup \Url}
1912 \let\nolinkurl\Hurl
1913 \DeclareRobustCommand*{\url}{\hyper@normalise\url@}
1914 \def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}}
1915 \DeclareRobustCommand*{\hyperimage}{\hyper@normalise\hyper@image}
1916 \providecommand\hyper@image[2]{#2}
1917 \def\hypertarget#1#2{%
1918   \ifHy@nesting
1919     \hyper@@anchor{#1}{#2}%
1920   \else
1921     \hyper@@anchor{#1}{\relax}#2%
1922   \fi
1923 }
1924 \DeclareRobustCommand*{\hyperref}{%
1925   \@ifnextchar[\label@hyperref\@hyperref
1926 }
1927 \def\@hyperref{\hyper@normalise\@@hyperref}
1928 \def\@@hyperref#1#2#3{%
1929   \edef\ref@one{\ifx\\#2\\\else#2.\fi#3}%
1930   \expandafter\tryhyper@link\ref@one\\{#1}%
1931 }
1932 \def\tryhyper@link#1\\#2{%
1933  \hyper@@link{#2}{#1}%
1934 }
1935 \def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}}
1936 \def\@hyperdef#1#2#3{%, category, name, text
1937   \ifHy@nesting
1938     \hyper@@anchor{#1.#2}{#3}%
1939   \else
1940     \hyper@@anchor{#1.#2}{\relax}#3%
1941   \fi
1942 }
1943 \def\label@hyperref[#1]{%
1944   \expandafter\label@@hyperref\csname r@#1\endcsname{#1}%
1945 }%
1946 \def\label@@hyperref#1#2#3{%
1947   \ifx#1\relax
1948     \protect\G@refundefinedtrue
1949     \@latex@warning{%
1950       Hyper reference `#2' on page \thepage \space undefined%
1951     }%
1952     \hyper@@link{}{??}{#3}%
1953   \else
1954     \hyper@@link{\expandafter\@fifthoffive#1}%
1955       {\expandafter\@fourthoffive#1\@empty\@empty}{#3}%
1956   \fi
1957 }
1958 \def\label@hyperdef[#1]#2#3#4{% label name, category, name,
1959                                 % anchor text
1960   \@bsphack
1961   \protected@write\@auxout{}%
1962     {\string\newlabel{#1}{{}{}{}\##2.#3}}%
1963   \@esphack
1964   \ifHy@nesting
1965     \hyper@@anchor{#2.#3}{#4}%
1966   \else
1967     \hyper@@anchor{#2.#3}{\relax}#4%
1968   \fi
1969 }
1970 \def\hyper@@link{\let\Hy@reserved@a\relax
1971   \@ifnextchar[{\hyper@link@}{\hyper@link@[link]}%
1972 }
1973 \def\hyper@link@[#1]#2#3#4{%
1974   \edef\Hy@tempa{#2}%
1975   \ifx\Hy@tempa\@empty
1976     \hyper@link{#1}{#3}{#4}%
1977   \else
1978     \expandafter\hyper@readexternallink#2\\{#1}{#3}{#4}%
1979   \fi
1980 }
1981 \def\hyper@readexternallink#1\\#2#3#4{%
1982   \expandafter\@hyper@readexternallink{#2}{#3}{#4}#1::\\{#1}%
1983 }
1984 \def\@pdftempwordfile{file}%
1985 \def\@pdftempwordrun{run}%
1986 \def\@hyper@readexternallink#1#2#3#4:#5:#6\\#7{%
1987   \ifx\\#6\\%
1988     \expandafter\@hyper@linkfile file:#7\\{#3}{#2}%
1989   \else
1990     \ifx\\#4\\%
1991       \expandafter\@hyper@linkfile file:#7\\{#3}{#2}%
1992     \else
1993       \def\@pdftempa{#4}%
1994       \ifx\@pdftempa\@pdftempwordfile
1995         \expandafter\@hyper@linkfile#7\\{#3}{#2}%
1996       \else
1997         \ifx\@pdftempa\@pdftempwordrun
1998           \expandafter\@hyper@launch#7\\{#3}{#2}%
1999         \else
2000           \hyper@linkurl{#3}{#7\ifx\\#2\\\else\##2\fi}%
2001         \fi
2002       \fi
2003     \fi
2004   \fi
2005 }
2006 \def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname
2007    \hyper@linkurl{#2}{file:#1\ifx\\#3\\\else\##3\fi}%
2008 }
2009 \def\@hyper@linkfile file:#1\\#2#3{%
2010      %file url,link string, name
2011   \filename@parse{#1}%
2012   \ifx\filename@ext\relax
2013     \edef\filename@ext{\XR@ext}%
2014   \fi
2015   \def\use@file{\filename@area\filename@base.\filename@ext}%
2016   \ifx\filename@ext\XR@ext
2017     \hyper@linkfile{#2}{\use@file}{#3}%
2018   \else
2019     \ifx\@baseurl\@empty
2020       \hyper@linkurl{#2}{%
2021         \Hy@linkfileprefix\use@file\ifx\\#3\\\else\##3\fi
2022       }%
2023     \else
2024       \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\##3\fi}%
2025     \fi
2026   \fi
2027 }
2028 \long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax}
2029 \long\def\@hyper@@anchor#1\relax#2#3\relax{%
2030   \ifx\\#1\\%
2031     #2\Hy@WarningNoLine{empty link? #1: #2#3}%
2032   \else
2033     \def\anchor@spot{#2#3}%
2034     \let\put@me@back\@empty
2035     \ifx\relax#2\relax
2036     \else
2037       \ifHy@nesting
2038       \else
2039         \ifcat a\noexpand#2\relax
2040         \else
2041           \ifcat 0\noexpand#2 \relax
2042           \else
2043             \let\anchor@spot\@empty
2044             \def\put@me@back{#2#3}%
2045           \fi
2046         \fi
2047       \fi
2048     \fi
2049     \ifHy@activeanchor
2050       \anchor@spot
2051     \else
2052       \hyper@anchor{#1}%
2053     \fi
2054     \expandafter\put@me@back
2055   \fi
2056   \let\anchor@spot\@empty
2057 }
2058 \let\htmladdimg\hyperimage
2059 \def\htmladdnormallink#1#2{\href{#2}{#1}}
2060 \def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}
2061 \def\htmlref#1#2{% anchor text, label
2062   \label@hyperref[{#2}]{#1}%
2063 }
2064 \def\@@latextohtmlX{%
2065   \let\hhyperref\hyperref
2066   \def\hyperref##1##2##3##4{% anchor text for HTML
2067                      % text to print before label in print
2068                      % label
2069                      % post-label text in print
2070     ##2\ref{##4}##3%
2071   }%
2072 }
2073 \newif\ifFld@checked
2074 \newif\ifFld@hidden
2075 \newif\ifFld@multiline
2076 \newif\ifFld@readonly
2077 \newif\ifFld@disabled
2078 \newif\ifFld@password
2079 \newif\ifFld@radio
2080 \newif\ifFld@combo
2081 \newif\ifFld@popdown
2082 \Fld@multilinefalse
2083 \Fld@checkedfalse
2084 \Fld@hiddenfalse
2085 \Fld@readonlyfalse
2086 \Fld@disabledfalse
2087 \Fld@radiofalse
2088 \Fld@combofalse
2089 \Fld@popdownfalse
2090 \Fld@passwordfalse
2091 \newcount\Fld@menulength
2092 \newdimen\Field@Width
2093 \newdimen\Fld@charsize
2094 \Fld@charsize=10\p@
2095 \def\Fld@maxlen{0}
2096 \def\Fld@align{0}
2097 \def\Fld@color{0 0 0}
2098 \def\Fld@bcolor{1 1 1}
2099 \def\Fld@bordercolor{1 0 0}
2100 \def\Fld@bordersep{1\p@}
2101 \def\Fld@borderwidth{1}
2102 \def\Fld@borderstyle{S}
2103 \def\Fld@cbsymbol{4}
2104 \newtoks\Choice@toks
2105 \def\Form{\@ifnextchar[{\@Form}{\@Form[]}}
2106 \def\endForm{\@endForm}
2107 \newif\ifForm@html
2108 \Form@htmlfalse
2109 \def\Form@boolkey#1#2{%
2110   \csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname
2111 }
2112 \define@key{Form}{action}{%
2113   \def\Form@action{#1}%
2114 }
2115 \def\enc@@html{html}
2116 \define@key{Form}{encoding}{%
2117   \def\Hy@tempa{#1}%
2118   \ifx\Hy@tempa\enc@@html
2119     \Form@htmltrue
2120   \else
2121     \typeout{hyperref: form `encoding' key set to #1 %
2122       -- unknown type%
2123     }%
2124     \Form@htmlfalse
2125   \fi
2126 }
2127 \define@key{Form}{method}{%
2128   \def\Form@method{#1}%
2129 }
2130 \def\Form@method{}
2131 \def\Field@boolkey#1#2{%
2132   \csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname
2133 }
2134 \newtoks\Field@toks
2135 \Field@toks={ }%
2136 \def\Field@addtoks#1#2{%
2137   \edef\@processme{\Field@toks{\the\Field@toks\space #1="#2"}}%
2138   \@processme
2139 }
2140 \def\Fld@checkequals#1=#2=#3\\{%
2141   \def\@currDisplay{#1}%
2142   \ifx\\#2\\%
2143     \def\@currValue{#1}%
2144   \else
2145     \def\@currValue{#2}%
2146   \fi
2147 }
2148 \define@key{Field}{loc}{%
2149   \def\Fld@loc{#1}%
2150 }
2151 \define@key{Field}{multiline}[true]{%
2152   \lowercase{\Field@boolkey{#1}}{multiline}%
2153 }
2154 \define@key{Field}{checked}[true]{%
2155   \lowercase{\Field@boolkey{#1}}{checked}%
2156 }
2157 \define@key{Field}{hidden}[true]{%
2158   \lowercase{\Field@boolkey{#1}}{hidden}%
2159 }
2160 \define@key{Field}{readonly}[true]{%
2161   \lowercase{\Field@boolkey{#1}}{readonly}%
2162 }
2163 \define@key{Field}{disabled}[true]{%
2164   \lowercase{\Field@boolkey{#1}}{disabled}%
2165 }
2166 \define@key{Field}{password}[true]{%
2167   \lowercase{\Field@boolkey{#1}}{password}%
2168 }
2169 \define@key{Field}{radio}[true]{%
2170   \lowercase{\Field@boolkey{#1}}{radio}%
2171 }
2172 \define@key{Field}{combo}[true]{%
2173   \lowercase{\Field@boolkey{#1}}{combo}%
2174 }
2175 \define@key{Field}{popdown}[true]{%
2176   \lowercase{\Field@boolkey{#1}}{popdown}%
2177 }
2178 \define@key{Field}{accesskey}{%
2179   \Field@addtoks{accesskey}{#1}%
2180 }
2181 \define@key{Field}{tabkey}{%
2182   \Field@addtoks{tabkey}{#1}%
2183 }
2184 \define@key{Field}{name}{%
2185   \def\Fld@name{#1}%
2186 }
2187 \define@key{Field}{width}{%
2188   \def\Fld@width{#1}%
2189   \Field@Width#1\setbox0=\hbox{m}%
2190 }
2191 \define@key{Field}{maxlen}{%
2192   \def\Fld@maxlen{#1}%
2193 }
2194 \define@key{Field}{menulength}{%
2195   \Fld@menulength=#1\relax
2196 }
2197 \define@key{Field}{height}{%
2198   \def\Fld@height{#1}%
2199 }
2200 \define@key{Field}{charsize}{%
2201   \Fld@charsize#1%
2202 }
2203 \define@key{Field}{fillcolor}{%
2204   \def\Fld@fillcolor{#1}%
2205 }
2206 \define@key{Field}{bordercolor}{%
2207   \def\Fld@bordercolor{#1}%
2208 }
2209 \define@key{Field}{color}{%
2210   \def\Fld@color{#1}%
2211 }
2212 \define@key{Field}{borderwidth}{%
2213   \def\Fld@borderwidth{#1}%
2214 }
2215 \define@key{Field}{borderstyle}{%
2216   \def\Fld@borderstyle{#1}%
2217 }
2218 \define@key{Field}{bordersep}{%
2219   \def\Fld@bordersep{#1}%
2220 }
2221 \define@key{Field}{default}{%
2222   \def\Fld@default{#1}%
2223 }
2224 \define@key{Field}{align}{%
2225   \def\Fld@align{#1}%
2226 }
2227 \define@key{Field}{value}{%
2228   \def\Fld@value{#1}%
2229 }
2230 \define@key{Field}{backgroundcolor}{%
2231   \def\Fld@bcolor{#1}%
2232 }
2233 \define@key{Field}{checkboxsymbol}{%
2234   \def\Fld@cbsymbol{#1}%
2235 }
2236 \def\Fld@format@code{}
2237 \def\Fld@validate@code{}
2238 \def\Fld@calculate@code{}
2239 \def\Fld@keystroke@code{}
2240 \define@key{Field}{keystroke}{%
2241   \def\Fld@keystroke@code{#1}%
2242 }
2243 \define@key{Field}{format}{%
2244   \def\Fld@format@code{#1}%
2245 }
2246 \define@key{Field}{validate}{%
2247   \def\Fld@validate@code{#1}%
2248 }
2249 \define@key{Field}{calculate}{%
2250   \def\Fld@calculate@code{#1}%
2251 }
2252 \define@key{Field}{onfocus}{%
2253   \Field@addtoks{onfocus}{#1}%
2254 }
2255 \define@key{Field}{onblur}{%
2256   \Field@addtoks{onblur}{#1}%
2257 }
2258 \define@key{Field}{onselect}{%
2259   \Field@addtoks{onselect}{#1}%
2260 }
2261 \define@key{Field}{onchange}{%
2262   \Field@addtoks{onchange}{#1}%
2263 }
2264 \define@key{Field}{onclick}{%
2265   \def\Fld@onclick{#1}%
2266   \Field@addtoks{onclick}{#1}%
2267 }
2268 \define@key{Field}{ondblclick}{%
2269   \Field@addtoks{ondblclick}{#1}%
2270 }
2271 \define@key{Field}{onmousedown}{%
2272   \Field@addtoks{onmousedown}{#1}%
2273 }
2274 \define@key{Field}{onmouseup}{%
2275   \Field@addtoks{onmouseup}{#1}%
2276 }
2277 \define@key{Field}{onmouseover}{%
2278   \Field@addtoks{onmouseover}{#1}%
2279 }
2280 \define@key{Field}{onmousemove}{%
2281   \Field@addtoks{onmousemove}{#1}%
2282 }
2283 \define@key{Field}{onmouseout}{%
2284   \Field@addtoks{onmouseout}{#1}%
2285 }
2286 \define@key{Field}{onkeypress}{%
2287   \Field@addtoks{onkeypress}{#1}%
2288 }
2289 \define@key{Field}{onkeydown}{%
2290   \Field@addtoks{onkeydown}{#1}%
2291 }
2292 \define@key{Field}{onkeyup}{%
2293   \Field@addtoks{onkeyup}{#1}%
2294 }
2295 \DeclareRobustCommand\TextField{%
2296   \@ifnextchar[{\@TextField}{\@TextField[]}%
2297 }
2298 \DeclareRobustCommand\ChoiceMenu{%
2299   \@ifnextchar[{\@ChoiceMenu}{\@ChoiceMenu[]}%
2300 }
2301 \DeclareRobustCommand\CheckBox{%
2302   \@ifnextchar[{\@CheckBox}{\@CheckBox[]}%
2303 }
2304 \DeclareRobustCommand\PushButton{%
2305   \@ifnextchar[{\@PushButton}{\@PushButton[]}%
2306 }
2307 \DeclareRobustCommand\Gauge{%
2308   \@ifnextchar[{\@Gauge}{\@Gauge[]}%
2309 }
2310 \DeclareRobustCommand\Submit{%
2311   \@ifnextchar[{\@Submit}{\@Submit[]}%
2312 }
2313 \DeclareRobustCommand\Reset{%
2314   \@ifnextchar[{\@Reset}{\@Reset[]}%
2315 }
2316 \def\LayoutTextField#1#2{% label, field
2317   #1 #2%
2318 }
2319 \def\LayoutChoiceField#1#2{% label, field
2320   #1 #2%
2321 }
2322 \def\LayoutCheckField#1#2{% label, field
2323   #1 #2%
2324 }
2325 \def\LayoutPushButtonField#1{% button
2326   #1%
2327 }
2328 \def\MakeRadioField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
2329 \def\MakeCheckField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
2330 \def\MakeTextField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
2331 \def\MakeChoiceField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
2332 \def\MakeButtonField#1{%
2333   \sbox0{%
2334     \hskip\Fld@borderwidth bp#1\hskip\Fld@borderwidth bp%
2335   }%
2336   \@tempdima\ht0
2337   \advance\@tempdima by \Fld@borderwidth bp
2338   \advance\@tempdima by \Fld@borderwidth bp
2339   \ht0\@tempdima
2340   \@tempdima\dp0
2341   \advance\@tempdima by \Fld@borderwidth bp
2342   \advance\@tempdima by \Fld@borderwidth bp
2343   \dp0\@tempdima
2344   \box0\relax
2345 }
2346 \def\DefaultHeightofSubmit{14pt}
2347 \def\DefaultWidthofSubmit{2cm}
2348 \def\DefaultHeightofReset{14pt}
2349 \def\DefaultWidthofReset{2cm}
2350 \def\DefaultHeightofCheckBox{\baselineskip}
2351 \def\DefaultWidthofCheckBox{\baselineskip}
2352 \def\DefaultHeightofChoiceMenu{\baselineskip}
2353 \def\DefaultWidthofChoiceMenu{\baselineskip}
2354 \def\DefaultHeightofText{\baselineskip}
2355 \def\DefaultWidthofText{3cm}
2356 \ifHy@figures
2357   \Hy@Info{Hyper figures ON}
2358 \else
2359   \Hy@Info{Hyper figures OFF}
2360 \fi
2361 \ifHy@nesting
2362   \Hy@Info{Link nesting ON}
2363 \else
2364   \Hy@Info{Link nesting OFF}
2365 \fi
2366 \ifHy@hyperindex
2367   \Hy@Info{Hyper index ON}
2368 \else
2369   \Hy@Info{Hyper index OFF}
2370 \fi
2371 \ifHy@backref
2372   \Hy@Info{backreferencing ON}
2373 \else
2374   \Hy@Info{backreferencing OFF}
2375 \fi
2376 \ifHy@colorlinks
2377   \Hy@Info{Link coloring ON}
2378 \else
2379   \Hy@Info{Link coloring OFF}
2380 \fi
2381 \edef\hyper@hash{\string#}
2382 \edef\hyper@tilde{\string~}
2383 \edef\hyper@quote{\string"}
2384 \let\@currentHref\@empty
2385 \AfterBeginDocument{%
2386   \Hy@pdfstringtrue
2387   \PDF@SetupDoc
2388   \let\PDF@SetupDoc\@empty
2389   \Hy@DisableOption{4}%
2390   \Hy@DisableOption{pdfpagescrop}%
2391   \Hy@DisableOption{pdfpagemode}%
2392   \Hy@DisableOption{pdfstartview}%
2393   \Hy@DisableOption{pdfstartpage}%
2394   \Hy@DisableOption{pdftoolbar}%
2395   \Hy@DisableOption{pdfmenubar}%
2396   \Hy@DisableOption{pdfwindowui}%
2397   \Hy@DisableOption{pdffitwindow}%
2398   \Hy@DisableOption{pdfcenterwindow}%
2399   \Hy@DisableOption{pdfpagelayout}%
2400   \Hy@DisableOption{baseurl}%
2401   \ifHy@texht\else\hyper@anchorstart{Doc-Start}\hyper@anchorend\fi
2402   \Hy@pdfstringfalse
2403 }
2404 \def\NoHyper{%
2405   \def\hyper@link@[##1]##2##3##4{##4}%
2406   \def\hyper@@anchor##1{}%
2407   \global\let\hyper@livelink\hyper@link
2408   \gdef\hyper@link##1##2##3{##3}%
2409   \def\hyper@anchorstart##1{}%
2410   \let\hyper@anchorend\@empty
2411   \def\hyper@linkstart##1##2{}%
2412   \let\hyper@linkend\@empty
2413   \def\hyper@linkurl##1##2{##1}%
2414   \def\hyper@linkfile##1##2##3{##1}%
2415   \let\Hy@backout\@gobble
2416 }
2417 \def\stop@hyper{%
2418   \def\hyper@link@[##1]##2##3##4{##4}%
2419   \let\Hy@backout\@gobble
2420   \def\hyper@@anchor##1{}%
2421   \def\hyper@link##1##2##3{##3}%
2422   \def\hyper@anchorstart##1{}%
2423   \let\hyper@anchorend\@empty
2424   \def\hyper@linkstart##1##2{}%
2425   \let\hyper@linkend\@empty
2426   \def\hyper@linkurl##1##2{##1}%
2427   \def\hyper@linkfile##1##2##3{##1}%
2428 }
2429 \def\endNoHyper{%
2430   \global\let\hyper@link\hyper@livelink
2431 }
2432 \AfterBeginDocument{%
2433   \if@filesw
2434    \ifHy@typexml
2435      \immediate\closeout\@mainaux
2436      \immediate\openout\@mainaux\jobname.aux
2437      \immediate\write\@auxout{<relaxxml>\relax}%
2438    \fi
2439    \immediate\write\@auxout{%
2440       \string\ifx\string\hyper@anchor\string\@undefined^^J%
2441         \global\let\string\oldcontentsline\string\contentsline^^J%
2442         \gdef\string\contentsline%
2443           \string#1\string#2\string#3\string#4{%
2444           \string\oldcontentsline%
2445             {\string#1}{\string#2}{\string#3}}^^J%
2446         \global\let\string\oldnewlabel\string\newlabel^^J%
2447         \gdef\string\newlabel\string#1\string#2{%
2448            \string\newlabelxx{\string#1}\string#2}^^J%
2449         \gdef\string\newlabelxx%
2450            \string#1\string#2\string#3\string#4\string#5\string#6{%
2451            \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J%
2452         \string\AtEndDocument{%
2453           \let\string\contentsline\string\oldcontentsline^^J%
2454           \let\string\newlabel\string\oldnewlabel}^^J%
2455       \string\else^^J%
2456         \global\let\string\hyper@last\relax^^J%
2457       \string\fi^^J%
2458     }%
2459   \fi
2460   \ifx\hyper@last\@undefined
2461     \def\@starttoc#1{%
2462       \begingroup
2463         \makeatletter
2464         \IfFileExists{\jobname.#1}{%
2465           \Hy@WarningNoLine{%
2466             old #1 file detected, not used; run LaTeX again%
2467           }%
2468         }{}%
2469         \if@filesw
2470           \expandafter\newwrite\csname tf@#1\endcsname
2471           \immediate\openout\csname tf@#1\endcsname \jobname.#1\relax
2472         \fi
2473         \@nobreakfalse
2474       \endgroup
2475     }%
2476     \def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}%
2477   \fi
2478 }
2479 \ifHy@pagelabels
2480   \def\thispdfpagelabel#1{%
2481     \gdef\HyPL@thisLabel{#1}%
2482   }
2483   \global\let\HyPL@thisLabel\relax
2484   \def\HyPL@Labels{}
2485   \newcount\Hy@abspage
2486   \Hy@abspage=0
2487   \def\HyPL@LastType{init}%
2488   \def\HyPL@LastNumber{0}%
2489   \def\HyPL@LastPrefix{}%
2490   \def\HyPL@arabic{D}%
2491   \def\HyPL@Roman{R}%
2492   \def\HyPL@roman{r}%
2493   \def\HyPL@Alph{A}%
2494   \def\HyPL@alph{a}%
2495   \def\HyPL@EveryPage{%
2496     \begingroup
2497       \ifx\HyPL@thisLabel\relax
2498         \let\HyPL@page\thepage
2499       \else
2500         \let\HyPL@page\HyPL@thisLabel
2501         \global\let\HyPL@thisLabel\relax
2502       \fi
2503       \let\HyPL@Type\relax
2504       \ifnum\the\c@page>0
2505         \expandafter\HyPL@CheckThePage\HyPL@page\@nil
2506       \fi
2507       \let\Hy@temp Y%
2508       \ifx\HyPL@Type\HyPL@LastType
2509       \else
2510         \let\Hy@temp N%
2511       \fi
2512       \ifx\HyPL@Type\relax
2513          \pdfstringdef\HyPL@Prefix{\HyPL@page}%
2514       \else
2515          \pdfstringdef\HyPL@Prefix\HyPL@Prefix
2516       \fi
2517       \ifx\HyPL@Prefix\HyPL@LastPrefix
2518       \else
2519         \let\Hy@temp N%
2520       \fi
2521       \if Y\Hy@temp
2522         \advance\c@page by -1
2523         \ifnum\HyPL@LastNumber=\the\c@page\relax
2524         \else
2525           \let\Hy@temp N%
2526         \fi
2527         \Hy@StepCount\c@page
2528       \fi
2529       \if N\Hy@temp
2530         \ifx\HyPL@Type\relax
2531           \HyPL@StorePageLabel{/P (\HyPL@Prefix)}%
2532         \else
2533           \HyPL@StorePageLabel{%
2534             \ifx\HyPL@Prefix\@empty
2535             \else
2536               /P (\HyPL@Prefix)
2537             \fi
2538             /S /\csname HyPL\HyPL@Type\endcsname
2539             \ifnum\the\c@page=1
2540             \else
2541               \space/St \the\c@page
2542             \fi
2543           }%
2544         \fi
2545       \fi
2546       \xdef\HyPL@LastNumber{\the\c@page}%
2547       \global\let\HyPL@LastType\HyPL@Type
2548       \global\let\HyPL@LastPrefix\HyPL@Prefix
2549     \endgroup
2550     \Hy@GlobalStepCount\Hy@abspage
2551   }
2552   \def\HyPL@CheckThePage#1\@nil{%
2553     \HyPL@@CheckThePage{#1}#1\csname\endcsname\c@page\@nil
2554   }
2555   \def\HyPL@@CheckThePage#1#2\csname#3\endcsname\c@page#4\@nil{%
2556     \def\Hy@tempa{#4}%
2557     \def\Hy@tempb{\csname\endcsname\c@page}%
2558     \ifx\Hy@tempa\Hy@tempb
2559       \expandafter\ifx\csname HyPL#3\endcsname\relax
2560       \else
2561         \def\HyPL@Type{#3}%
2562         \def\HyPL@Prefix{#2}%
2563       \fi
2564     \else
2565       \begingroup
2566         \let\Hy@next\endgroup
2567         \let\HyPL@found\@undefined
2568         \def\arabic{\HyPL@Format{arabic}}%
2569         \def\Roman{\HyPL@Format{Roman}}%
2570         \def\roman{\HyPL@Format{roman}}%
2571         \def\Alph{\HyPL@Format{Alph}}%
2572         \def\alph{\HyPL@Format{alph}}%
2573         \protected@edef\Hy@temp{#1}%
2574         \ifx\HyPL@found\relax
2575           \toks@\expandafter{\Hy@temp}%
2576           \edef\Hy@next{\endgroup
2577             \noexpand\HyPL@@@CheckThePage\the\toks@
2578                \noexpand\HyPL@found\relax\noexpand\@nil
2579           }%
2580         \fi
2581       \Hy@next
2582     \fi
2583   }
2584   \def\HyPL@Format#1#2{%
2585     \ifx\HyPL@found\@undefined
2586       \expandafter\ifx\csname c@#2\endcsname\c@page
2587         \expandafter\noexpand\csname HyPL@found\endcsname{#1}%
2588       \else
2589         \expandafter\noexpand\csname#1\endcsname{#2}%
2590       \fi
2591     \else
2592       \expandafter\noexpand\csname#1\endcsname{#2}%
2593     \fi
2594   }
2595   \def\HyPL@@@CheckThePage#1\HyPL@found#2#3\@nil{%
2596     \def\Hy@tempa{#3}%
2597     \def\Hy@tempb{\HyPL@found\relax}%
2598     \ifx\Hy@tempa\Hy@tempb
2599       \def\HyPL@Type{@#2}%
2600       \def\HyPL@Prefix{#1}%
2601     \fi
2602   }
2603   \providecommand*{\HyPL@StorePageLabel}[1]{}
2604   \def\HyPL@Useless{0 << /S /D >> }%
2605   \def\HyPL@SetPageLabels{%
2606     \ifx\HyPL@Labels\@empty
2607     \else
2608       \ifx\HyPL@Labels\HyPL@Useless
2609       \else
2610         \Hy@PutCatalog{/PageLabels << /Nums [\HyPL@Labels] >>}%
2611       \fi
2612     \fi
2613   }
2614 \else
2615   \let\HyPL@EveryPage\@empty
2616 \fi
2617 \Hy@DisableOption{pdfpagelabels}
2618 \MaybeStopEarly
2619 \newcommand\theHequation{\theHsection.\arabic{equation}}
2620 \@ifundefined{thepart}{}{\newcommand\theHpart{\arabic{part}}}
2621 \@ifundefined{thechapter}{%
2622   \newcommand\theHsection    {\arabic{section}}
2623   \newcommand\theHfigure     {\arabic{figure}}
2624   \newcommand\theHtable      {\arabic{table}}
2625 }{%
2626   \newcommand\theHchapter    {\arabic{chapter}}
2627   \newcommand\theHfigure     {\theHchapter.\arabic{figure}}
2628   \newcommand\theHtable      {\theHchapter.\arabic{table}}
2629   \newcommand\theHsection    {\theHchapter.\arabic{section}}
2630 }
2631 \newcommand\theHsubsection   {\theHsection.\arabic{subsection}}
2632 \newcommand\theHsubsubsection{\theHsubsection.\arabic{subsubsection}}
2633 \newcommand\theHparagraph    {\theHsubsubsection.\arabic{paragraph}}
2634 \newcommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}}
2635 \newcommand\theHtheorem      {\theHsection.\arabic{theorem}}
2636 \newcommand\theHthm          {\theHsection.\arabic{thm}}
2637 \let\H@item\item
2638 \newcounter{Item}
2639 \def\theHItem{\arabic{Item}}
2640 \def\item{%
2641   \@hyper@itemfalse
2642   \if@nmbrlist\@hyper@itemtrue\fi
2643   \H@item
2644 }
2645 \newcommand\theHenumi     {\theHItem}
2646 \newcommand\theHenumii    {\theHItem}
2647 \newcommand\theHenumiii   {\theHItem}
2648 \newcommand\theHenumiv    {\theHItem}
2649 \newcommand\theHHfootnote {\arabic{Hfootnote}}
2650 \newcommand\theHmpfootnote{\arabic{mpfootnote}}
2651 \let\theHHmpfootnote\theHHfootnote
2652 \let\H@refstepcounter\refstepcounter
2653 \edef\name@of@eq{equation}%
2654 \edef\name@of@slide{slide}%
2655 \newif\if@hyper@item
2656 \newif\if@skiphyperref
2657 \@hyper@itemfalse
2658 \@skiphyperreffalse
2659 \def\refstepcounter#1{%
2660   \H@refstepcounter{#1}%
2661   \edef\This@name{#1}%
2662   \ifx\This@name\name@of@slide
2663   \else
2664     \if@skiphyperref
2665     \else
2666       \if@hyper@item
2667         \stepcounter{Item}%
2668         \hyper@refstepcounter{Item}%
2669       \else
2670         \hyper@refstepcounter{#1}%
2671       \fi
2672     \fi
2673   \fi
2674 }
2675 \@ifpackageloaded{amsmath}{}{\newif\ifmeasuring@\measuring@false}
2676 \def\hyper@refstepcounter#1{%
2677   \edef\This@name{#1}%
2678   \ifx\This@name\name@of@eq
2679     \make@stripped@name{\theequation}%
2680     \let\theHequation\newname
2681   \fi
2682   \@ifundefined{theH#1}{%
2683     \expandafter\def\csname theH#1\endcsname{\arabic{#1}}%
2684   }{}%
2685   \hyper@makecurrent{#1}%
2686   \ifmeasuring@
2687   \else
2688     \Hy@raisedlink{%
2689       \hyper@anchorstart{\@currentHref}\hyper@anchorend
2690     }%
2691   \fi
2692 }
2693 \def\Hy@chapterstring{chapter}
2694 \def\Hy@appendixstring{appendix}
2695 \def\Hy@chapapp{\Hy@chapterstring}
2696 \let\Hy@org@appendix\appendix
2697 \def\appendix{%
2698   \Hy@org@appendix
2699   \@ifundefined{chapter}%
2700     {\gdef\theHsection{\Alph{section}}}%
2701     {\gdef\theHchapter{\Alph{chapter}}}%
2702   \xdef\Hy@chapapp{\Hy@appendixstring}%
2703 }
2704 \def\hyper@makecurrent#1{%
2705   \begingroup
2706     \edef\Hy@param{#1}%
2707     \ifx\Hy@param\Hy@chapterstring
2708       \let\Hy@param\Hy@chapapp
2709     \fi
2710     \ifHy@hypertexnames
2711       \ifHy@naturalnames
2712         \let\textlatin\@firstofone
2713         \xdef\@currentHlabel{\csname the#1\endcsname}%
2714       \else
2715         \xdef\@currentHlabel{\csname theH#1\endcsname}%
2716       \fi
2717       \xdef\@currentHref{%
2718         \Hy@param.\expandafter\strip@prefix\meaning\@currentHlabel
2719       }%
2720     \else
2721       \Hy@GlobalStepCount\Hy@linkcounter
2722       \xdef\@currentHref{\Hy@param.\the\Hy@linkcounter}%
2723     \fi
2724   \endgroup
2725 }
2726 \@ifpackageloaded{fancyvrb}{%
2727   \def\FV@StepLineNo{%
2728     \FV@SetLineNo
2729     \def\FV@StepLineNo{\H@refstepcounter{FancyVerbLine}}%
2730     \FV@StepLineNo
2731   }%
2732 }{}
2733 \AtBeginDocument{%
2734   \@ifpackageloaded{lastpage}{%
2735     \ifHy@pageanchor
2736     \else
2737       \Hy@WarningNoLine{%
2738         The \string\pageref{LastPage} link doesn't work\MessageBreak
2739         with disabled option `pageanchor'%
2740       }%
2741     \fi
2742     \def\lastpage@putlabel{%
2743       \addtocounter{page}{-1}%
2744       \if@filesw
2745         \begingroup
2746           \ifHy@pageanchor
2747             \ifHy@hypertexnames
2748               \ifHy@plainpages
2749                 \def\Hy@temp{\arabic{page}}%
2750               \else
2751                 \let\textlatin\@firstofone
2752                 \edef\Hy@temp{\thepage}%
2753               \fi
2754             \else
2755               \def\Hy@temp{\the\Hy@pagecounter}%
2756             \fi
2757           \fi
2758           \immediate\write\@auxout{%
2759             \string\newlabel
2760               {LastPage}{{}{\thepage}{}{%
2761                 \ifHy@pageanchor page.\Hy@temp\fi}{}}%
2762           }%
2763         \endgroup
2764       \fi
2765       \addtocounter{page}{1}%
2766     }%
2767   }{}%
2768 }
2769 \newcommand*{\hypergetpageref}[1]{%
2770   \expandafter\Hy@getpageref\csname r@#1\endcsname{#1}%
2771 }
2772 \def\Hy@getpageref#1#2{%
2773   \ifx#1\relax
2774     0%
2775     \protect\G@refundefinedtrue
2776     \@latex@warning{Reference `#2' on page \thepage\space
2777       undefined%
2778     }%
2779   \else
2780     \expandafter\Hy@GetSecondArg#1\@nil
2781   \fi
2782 }
2783 \long\def\Hy@GetSecondArg#1#2#3\@nil{#2}
2784 \newcommand*{\hypergetref}[1]{%
2785   \expandafter\Hy@getref\csname r@#1\endcsname{#1}%
2786 }
2787 \def\Hy@getref#1#2{%
2788   \ifx#1\relax
2789     ??%
2790     \protect\G@refundefinedtrue
2791     \@latex@warning{Reference `#2' on page \thepage\space
2792       undefined%
2793     }%
2794   \else
2795     \expandafter\@car#1\@nil
2796   \fi
2797 }
2798 \@ifpackageloaded{ifthen}{%
2799   \let\HyOrg@ifthenelse\ifthenelse
2800   \def\ifthenelse{%
2801     \let\begingroup\Hy@TE@begingroup
2802     \HyOrg@ifthenelse
2803   }%
2804   \let\HyOrg@begingroup\begingroup
2805   \def\Hy@TE@begingroup{%
2806     \let\begingroup\HyOrg@begingroup
2807     \begingroup
2808     \let\ref\hypergetref
2809     \let\pageref\hypergetpageref
2810   }%
2811 }{}
2812 \@ifpackageloaded{titlesec}{%
2813   \def\ttl@Hy@steplink#1{%
2814     \Hy@GlobalStepCount\Hy@linkcounter
2815     \xdef\@currentHref{#1*.\the\Hy@linkcounter}%
2816     \def\ttl@Hy@saveanchor{%
2817       \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
2818     }%
2819   }%
2820   \def\ttl@Hy@refstepcounter#1{%
2821     \let\ttl@b\Hy@raisedlink
2822     \def\Hy@raisedlink##1{\def\ttl@Hy@saveanchor{\Hy@raisedlink{##1}}}%
2823     \refstepcounter{#1}%
2824     \let\Hy@raisedlink\ttl@b
2825   }%
2826 }{}
2827 \@ifpackageloaded{titletoc}{%
2828   \def\ttl@gobblecontents#1#2#3#4{\ignorespaces}%
2829 }{}
2830 \let\new@refstepcounter\refstepcounter
2831 \let\H@equation\equation
2832 \let\H@endequation\endequation
2833 \@ifpackageloaded{amsmath}{}{%
2834   \def\equation{%
2835   \let\refstepcounter\H@refstepcounter
2836   \H@equation
2837   \make@stripped@name{\theequation}%
2838   \let\theHequation\newname
2839   \hyper@makecurrent{equation}%
2840   \Hy@raisedlink{\hyper@anchorstart{\@currentHref}}%
2841   \let\refstepcounter\new@refstepcounter}%
2842   \def\endequation{\Hy@raisedlink{\hyper@anchorend}\H@endequation}%
2843 }
2844 \newif\if@eqnstar
2845 \@eqnstarfalse
2846 \let\H@eqnarray\eqnarray
2847 \let\H@endeqnarray\endeqnarray
2848 \def\eqnarray{%
2849   \let\Hy@reserved@a\relax
2850   \def\@currentHref{}%
2851   \H@eqnarray
2852   \if@eqnstar
2853   \else
2854     \ifx\\\@currentHref\\%
2855     \else
2856       \make@stripped@name{\theequation}%
2857       \let\theHequation\newname
2858       \hyper@makecurrent{equation}%
2859       \hyper@anchorstart{\@currentHref}{}\hyper@anchorend
2860     \fi
2861   \fi
2862 }
2863 \def\endeqnarray{%
2864   \H@endeqnarray
2865 }
2866 \@namedef{eqnarray*}{%
2867   \def\@eqncr{\nonumber\@seqncr}\@eqnstartrue\eqnarray
2868 }
2869 \@namedef{endeqnarray*}{%
2870   \nonumber\endeqnarray\@eqnstarfalse
2871 }
2872 \@ifundefined{subeqnarray}{}{%
2873   \let\H@subeqnarray\subeqnarray
2874   \let\H@endsubeqnarray\endsubeqnarray
2875   \def\subeqnarray{%
2876     \let\Hy@reserved@a\relax
2877     \H@subeqnarray
2878     \make@stripped@name{\theequation}%
2879     \let\theHequation\newname
2880     \hyper@makecurrent{equation}%
2881     \hyper@anchorstart{\@currentHref}{}\hyper@anchorend
2882   }%
2883   \def\endsubeqnarray{%
2884     \H@endsubeqnarray
2885   }%
2886   \newcommand\theHsubequation{\theHequation\alph{subequation}}%
2887 }
2888 \def\make@stripped@name#1{%
2889   \begingroup
2890     \escapechar\m@ne
2891     \global\let\newname\@empty
2892     \protected@edef\Hy@tempa{#1}%
2893     \edef\@tempb{%
2894       \noexpand\@tfor\noexpand\Hy@tempa:=%
2895         \expandafter\strip@prefix\meaning\Hy@tempa
2896     }%
2897     \@tempb\do{%
2898       \if{\Hy@tempa\else
2899         \if}\Hy@tempa\else
2900           \xdef\newname{\newname\Hy@tempa}%
2901         \fi
2902       \fi
2903     }%
2904   \endgroup
2905 }
2906 \@ifpackageloaded{tabularx}{\Hy@hyperfootnotesfalse}{}
2907 \ifHy@hyperfootnotes
2908   \newcounter{Hfootnote}
2909   \let\H@@footnotetext\@footnotetext
2910   \let\H@@footnotemark\@footnotemark
2911   \def\@xfootnotenext[#1]{%
2912     \begingroup
2913       \csname c@\@mpfn\endcsname #1\relax
2914       \unrestored@protected@xdef\@thefnmark{\thempfn}%
2915     \endgroup
2916     \ifx\@footnotetext\@mpfootnotetext
2917       \expandafter\H@@mpfootnotetext
2918     \else
2919       \expandafter\H@@footnotetext
2920     \fi
2921   }%
2922   \def\@xfootnotemark[#1]{%
2923     \begingroup
2924       \c@footnote #1\relax
2925       \unrestored@protected@xdef\@thefnmark{\thefootnote}%
2926     \endgroup
2927     \H@@footnotemark
2928   }%
2929   \let\H@@mpfootnotetext\@mpfootnotetext
2930   \long\def\@mpfootnotetext#1{%
2931     \H@@mpfootnotetext{%
2932       \ifHy@nesting
2933         \hyper@@anchor{\@currentHref}{#1}%
2934       \else
2935         \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1%
2936       \fi
2937     }%
2938   }%
2939   \long\def\@footnotetext#1{%
2940     \H@@footnotetext{%
2941       \ifHy@nesting
2942         \hyper@@anchor{\@currentHref}{#1}%
2943       \else
2944         \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1%
2945       \fi
2946     }%
2947   }%
2948   \def\@footnotemark{%
2949     \leavevmode
2950     \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
2951     \H@refstepcounter{Hfootnote}%
2952     \hyper@makecurrent{Hfootnote}%
2953     \hyper@linkstart{link}{\@currentHref}%
2954     \@makefnmark
2955     \hyper@linkend
2956     \ifhmode\spacefactor\@x@sf\fi
2957     \relax
2958   }%
2959   \let\HyOrg@maketitle\maketitle
2960   \def\maketitle{%
2961     \let\Hy@saved@footnotemark\@footnotemark
2962     \let\Hy@saved@footnotetext\@footnotetext
2963     \let\@footnotemark\H@@footnotemark
2964     \let\@footnotetext\H@@footnotetext
2965     \HyOrg@maketitle
2966     \ifx\@footnotemark\H@@footnotemark
2967       \let\@footnotemark\Hy@saved@footnotemark
2968     \fi
2969     \ifx\@footnotetext\H@@footnotetext
2970       \let\@footnotetext\Hy@saved@footnotetext
2971     \fi
2972   }%
2973   \def\realfootnote{%
2974     \@ifnextchar[\@xfootnote{%
2975       \stepcounter{\@mpfn}%
2976       \protected@xdef\@thefnmark{\thempfn}%
2977       \H@@footnotemark\H@@footnotetext
2978     }%
2979   }%
2980 \fi
2981 \Hy@DisableOption{hyperfootnotes}
2982 \def\caption{%
2983   \ifx\@captype\@undefined
2984     \@latex@error{\noexpand\caption outside float}\@ehd
2985     \expandafter\@gobble
2986   \else
2987     \H@refstepcounter\@captype
2988     \expandafter\@firstofone
2989   \fi
2990   {\@dblarg{\@caption\@captype}}%
2991 }
2992 \long\def\@caption#1[#2]#3{%
2993   \hyper@makecurrent{\@captype}%
2994   \par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
2995     \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
2996   }%
2997   \begingroup
2998     \@parboxrestore
2999     \if@minipage
3000       \@setminipage
3001     \fi
3002     \normalsize
3003     \@makecaption{\csname fnum@#1\endcsname}{%
3004       \ignorespaces
3005       \ifHy@nesting
3006         \hyper@@anchor{\@currentHref}{#3}%
3007       \else
3008         \hyper@@anchor{\@currentHref}{\relax}#3%
3009       \fi
3010     }%
3011     \par
3012   \endgroup
3013 }
3014 \def\hyper@natlinkstart#1{%
3015   \Hy@backout{#1}%
3016   \hyper@linkstart{cite}{cite.#1}%
3017   \def\hyper@nat@current{#1}%
3018 }
3019 \def\hyper@natlinkend{%
3020   \hyper@linkend
3021 }
3022 \def\hyper@natlinkbreak#1#2{%
3023   \hyper@linkend#1\hyper@linkstart{cite}{cite.#2}%
3024 }
3025 \def\hyper@natanchorstart#1{%
3026   \hyper@anchorstart{cite.#1}%
3027 }
3028 \def\hyper@natanchorend{\hyper@anchorend}
3029 \@ifundefined{NAT@parse}{%
3030   \def\bibcite#1#2{%
3031     \@newl@bel{b}{#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
3032   }%
3033     \let\Hy@bibcite\bibcite
3034     \begingroup
3035       \@ifundefined{bbl@cite@choice}{}{%
3036         \g@addto@macro\bbl@cite@choice{%
3037           \let\bibcite\Hy@bibcite
3038         }%
3039       }%
3040     \endgroup
3041   \providecommand{\@BIBLABEL}{\@biblabel}%
3042   \def\@lbibitem[#1]#2{%
3043     \@skiphyperreftrue
3044     \H@item[\hyper@anchorstart{cite.#2}%
3045     \@BIBLABEL{#1}\hyper@anchorend\hfill]%
3046     \@skiphyperreffalse
3047     \if@filesw
3048       \begingroup
3049         \let\protect\noexpand
3050         \immediate\write\@auxout{%
3051           \string\bibcite{#2}{#1}%
3052         }%
3053       \endgroup
3054     \fi
3055     \ignorespaces
3056   }%
3057   \def\@bibitem#1{%
3058     \@skiphyperreftrue\H@item\@skiphyperreffalse
3059     \hyper@anchorstart{cite.#1}\relax\hyper@anchorend
3060     \if@filesw
3061       \begingroup
3062         \let\protect\noexpand
3063         \immediate\write\@auxout{%
3064           \string\bibcite{#1}{\the\value{\@listctr}}%
3065         }%
3066       \endgroup
3067     \fi
3068     \ignorespaces
3069   }%
3070 }{}
3071 \@ifclassloaded{revtex}{%
3072   \Hy@Info{*** compatibility with revtex **** }%
3073   \def\revtex@checking#1#2{%
3074     \expandafter\let\expandafter\T@temp\csname b@#1\endcsname
3075     \expandafter\def\csname b@#1\endcsname{#2}%
3076     \@SetMaxRnhefLabel{#1}%
3077     \expandafter\let\csname b@#1\endcsname\T@temp
3078   }%
3079   \@ifundefined{@CITE}{\def\@CITE{\@cite}}{}%
3080   \def\@CITEX[#1]#2{%
3081     \let\@citea\@empty
3082     \leavevmode
3083     \unskip
3084     $^{%
3085       \scriptstyle
3086       \@CITE{%
3087         \@for\@citeb:=#2\do{%
3088           \@citea
3089           \def\@citea{,\penalty\@m\ }%
3090           \edef\@citeb{\expandafter\@firstofone\@citeb}%
3091           \if@filesw
3092             \immediate\write\@auxout{\string\citation{\@citeb}}%
3093           \fi
3094           \@ifundefined{b@\@citeb}{%
3095             \mbox{\reset@font\bfseries ?}%
3096             \G@refundefinedtrue
3097             \@latex@warning{%
3098               Citation `\@citeb' on page \thepage \space undefined%
3099             }%
3100           }{%
3101             {\csname b@\@citeb\endcsname}%
3102           }%
3103         }%
3104       }{#1}%
3105     }$%
3106   }%
3107   \def\@citex[#1]#2{%
3108     \let\@citea\@empty
3109     \@cite{%
3110       \@for\@citeb:=#2\do{%
3111         \@citea
3112         \def\@citea{,\penalty\@m\ }%
3113         \edef\@citeb{\expandafter\@firstofone\@citeb}%
3114         \if@filesw
3115           \immediate\write\@auxout{\string\citation{\@citeb}}%
3116         \fi
3117         \@ifundefined{b@\@citeb}{%
3118           \mbox{\reset@font\bfseries ?}%
3119           \G@refundefinedtrue
3120           \@latex@warning{%
3121             Citation `\@citeb' on page \thepage \space undefined%
3122           }%
3123         }{%
3124           \hbox{\csname b@\@citeb\endcsname}%
3125         }%
3126       }%
3127     }{#1}%
3128   }%
3129 }{}
3130 \@ifpackageloaded{harvard}{%
3131   \Hy@Info{*** compatibility with harvard **** }%
3132   \Hy@raiselinksfalse
3133   \def\harvardcite#1#2#3#4{%
3134     \global\@namedef{HAR@fn@#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
3135     \global\@namedef{HAR@an@#1}{\hyper@@link[cite]{}{cite.#1}{#3}}%
3136     \global\@namedef{HAR@yr@#1}{\hyper@@link[cite]{}{cite.#1}{#4}}%
3137     \global\@namedef{HAR@df@#1}{\csname HAR@fn@#1\endcsname}%
3138   }%
3139   \def\HAR@citetoaux#1{%
3140     \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi%
3141     \ifHy@backref
3142       \ifx\@empty\@currentlabel
3143       \else
3144         \@bsphack
3145         \protected@write\@auxout{}{%
3146           \string\@writefile{brf}{%
3147             \string\backcite{#1}{%
3148               {\thepage}{\@currentlabel}{\@currentHref}%
3149             }%
3150           }%
3151         }%
3152         \@esphack
3153       \fi
3154     \fi
3155   }%
3156   \def\harvarditem{%
3157     \@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}%
3158   }%
3159   \def\@harvarditem[#1]#2#3#4#5\par{%
3160     \item[]%
3161     \hyper@anchorstart{cite.#4}\relax\hyper@anchorend
3162     \if@filesw
3163       \begingroup
3164         \def\protect##1{\string ##1\space}%
3165         \ifthenelse{\equal{#1}{\null}}%
3166           {\def\next{{#4}{#2}{#2}{#3}}}%
3167           {\def\next{{#4}{#2}{#1}{#3}}}%
3168         \immediate\write\@auxout{\string\harvardcite\codeof\next}%
3169      \endgroup
3170     \fi
3171     \protect\hspace*{-\labelwidth}%
3172     \protect\hspace*{-\labelsep}%
3173     \ignorespaces
3174     #5%
3175     \ifHy@backref
3176       \newblock
3177       \backref{\csname br@#4\endcsname}%
3178     \fi
3179     \par
3180   }%
3181   \long\def\HAR@checkcitations#1#2#3#4{%
3182     \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#2}}%
3183     \expandafter\ifx\csname HAR@fn@#1\endcsname\HAR@tempa
3184       \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#3}}%
3185       \expandafter\ifx\csname HAR@an@#1\endcsname\HAR@tempa
3186         \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#4}}%
3187         \expandafter\ifx\csname HAR@yr@#1\endcsname\HAR@tempa
3188         \else
3189           \@tempswatrue
3190         \fi
3191       \else
3192         \@tempswatrue
3193       \fi
3194     \else
3195       \@tempswatrue
3196     \fi
3197   }%
3198 }{}
3199 \@ifpackageloaded{chicago}{%
3200   \def\citeN{%
3201     \def\@citeseppen{-1000}%
3202     \def\@cite##1##2{##1}%
3203     \def\citeauthoryear##1##2##3{##1 (##3\@cite@opt)}%
3204     \@citedata@opt
3205   }%
3206   \def\shortciteN{%
3207     \def\@citeseppen{-1000}%
3208     \def\@cite##1##2{##1}%
3209     \def\citeauthoryear##1##2##3{##2 (##3\@cite@opt)}%
3210     \@citedata@opt
3211   }%
3212   \def\@citedata@opt{%
3213     \let\@cite@opt\@empty
3214     \@ifnextchar [{%
3215       \@tempswatrue
3216       \@citedatax@opt
3217     }{%
3218       \@tempswafalse
3219       \@citedatax[]%
3220     }%
3221   }%
3222   \def\@citedatax@opt[#1]{%
3223     \def\@cite@opt{, #1}%
3224     \@citedatax[{#1}]%
3225   }
3226 }{}
3227 \def\@begindvi{%
3228   \unvbox \@begindvibox
3229   \Hy@begindvi
3230   \global\let\@begindvi\Hy@begindvi
3231 }
3232 \def\Hy@begindvi{%
3233   \ifHy@pageanchor
3234     \@hyperfixhead
3235   \fi
3236   \HyPL@EveryPage
3237 }
3238 \def\pagenumbering#1{%
3239   \global\c@page \@ne
3240   \gdef\thepage{\csname @#1\endcsname\c@page}%
3241 }
3242 \let\HYPERPAGEANCHOR\hyperpageanchor
3243 \providecommand\hyper@pagetransition{}
3244 \providecommand\hyper@pageduration{}
3245 \providecommand\hyper@pagehidden{}
3246 \def\@hyperfixhead{%
3247   \ifHy@hypertexnames
3248     \ifHy@plainpages
3249       \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\arabic{page}}}%
3250     \else
3251       \begingroup
3252         \let\textlatin\@firstofone
3253         \xdef\@the@H@page{\thepage}%
3254       \endgroup
3255       \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
3256     \fi
3257   \else
3258     \Hy@GlobalStepCount\Hy@pagecounter
3259     \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
3260   \fi
3261   \let\H@old@thehead\@thehead
3262   \if^\@thehead^%
3263     \def\H@old@thehead{\hfil}%
3264   \fi
3265   \ifHy@texht
3266     \def\@thehead{}%
3267   \else
3268     \ifHy@seminarslides
3269       \begingroup
3270         \let\leavevmode\relax
3271         \Hy@TempPageAnchor\relax
3272         \hyper@pagetransition
3273         \hyper@pageduration
3274         \hyper@pagehidden
3275       \endgroup
3276     \else
3277       \def\@thehead{%
3278         \Hy@TempPageAnchor\relax
3279         \hyper@pagetransition
3280         \hyper@pageduration
3281         \hyper@pagehidden
3282         \H@old@thehead
3283       }%
3284     \fi
3285   \fi
3286   \ifx\PDF@FinishDoc\@empty
3287   \else
3288     \PDF@FinishDoc
3289     \gdef\PDF@FinishDoc{}%
3290   \fi
3291 }
3292 \begingroup\expandafter\expandafter\expandafter\endgroup
3293 \expandafter\ifx\csname chapter\endcsname\relax
3294   \def\toclevel@part{0}
3295 \else
3296   \def\toclevel@part{-1}
3297 \fi
3298 \def\toclevel@chapter{0}
3299 \def\toclevel@section{1}
3300 \def\toclevel@subsection{2}
3301 \def\toclevel@subsubsection{3}
3302 \def\toclevel@paragraph{4}
3303 \def\toclevel@subparagraph{5}
3304 \def\toclevel@figure{0}
3305 \def\toclevel@table{0}
3306 \@ifpackageloaded{listings}{%
3307   \def\theHlstlisting{\thelstlisting}%
3308   \def\toclevel@lstlisting{0}%
3309 }{}
3310 \@ifpackageloaded{listing}{%
3311   \def\theHlisting{\thelisting}%
3312   \def\toclevel@listing{0}%
3313 }{}
3314 \def\addcontentsline#1#2#3{% toc extension, type, tag
3315   \begingroup
3316     \let\label\@gobble
3317     \let\textlatin\@firstofone
3318     \ifx\@currentHref\@empty
3319       \Hy@Warning{%
3320         No destination for bookmark of \string\addcontentsline,%
3321         \MessageBreak destination is added%
3322       }%
3323       \phantomsection
3324     \fi
3325     \expandafter\ifx\csname toclevel@#2\endcsname\relax
3326       \Hy@WarningNoLine{bookmark level for unknown #2 defaults to 0}%
3327       \def\Hy@toclevel{0}%
3328     \else
3329       \edef\Hy@toclevel{\csname toclevel@#2\endcsname}%
3330     \fi
3331     \Hy@writebookmark{\csname the#2\endcsname}%
3332       {#3}%
3333       {\@currentHref}%
3334       {\Hy@toclevel}%
3335       {#1}%
3336     \ifHy@verbose
3337       \typeout{pdftex: bookmark at \the\inputlineno:
3338         {\csname the#2\endcsname}
3339         {#3}
3340         {\@currentHref}%
3341         {\Hy@toclevel}%
3342         {#1}%
3343       }%
3344     \fi
3345     \addtocontents{#1}{%
3346       \protect\contentsline{#2}{#3}{\thepage}{\@currentHref}%
3347     }%
3348   \endgroup
3349 }
3350 \def\contentsline#1#2#3#4{%
3351   \ifx\\#4\\%
3352     \csname l@#1\endcsname{#2}{#3}%
3353   \else
3354     \ifHy@linktocpage
3355       \csname l@#1\endcsname{{#2}}{%
3356         \hyper@linkstart{link}{#4}{#3}\hyper@linkend
3357       }%
3358     \else
3359       \csname l@#1\endcsname{%
3360         \hyper@linkstart{link}{#4}{#2}\hyper@linkend
3361       }{#3}%
3362     \fi
3363   \fi
3364 }
3365 \let\H@definecounter\@definecounter
3366 \def\@definecounter#1{%
3367   \H@definecounter{#1}%
3368   \expandafter\def\csname theH#1\endcsname{\arabic{#1}}%
3369 }
3370 \let\H@newctr\@newctr
3371 \def\@newctr#1[#2]{%
3372   \H@newctr#1[{#2}]%
3373   \expandafter\def\csname theH#1\endcsname
3374     {\csname the#2\endcsname.\arabic{#1}}%
3375 }
3376 \let\Hmake@df@tag@@\make@df@tag@@
3377 \def\make@df@tag@@#1{%
3378   \Hmake@df@tag@@{#1}%
3379   \Hy@GlobalStepCount\Hy@linkcounter
3380   \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
3381   \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
3382 }
3383 \let\Hmake@df@tag@@@\make@df@tag@@@
3384 \def\make@df@tag@@@#1{%
3385   \Hmake@df@tag@@@{#1}%
3386   \Hy@GlobalStepCount\Hy@linkcounter
3387   \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
3388   \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
3389 }
3390 \@ifpackagewith{hyperref}{pdftex}{%
3391    \let\H@seteqlabel\@seteqlabel
3392    \def\@seteqlabel#1{%
3393      \H@seteqlabel{#1}%
3394      \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
3395      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
3396    }%
3397 }{}
3398 \@ifpackageloaded{amsmath}{%
3399   \@ifpackagelater{amsmath}{1999/12/14}{%
3400     \renewcommand*{\numberwithin}[3][\arabic]{%
3401       \@ifundefined{c@#2}{\@nocounterr{#2}}{%
3402         \@ifundefined{c@#3}{\@nocnterr{#3}}{%
3403           \@addtoreset{#2}{#3}%
3404           \@xp\xdef\csname the#2\endcsname{%
3405             \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
3406           }%
3407           \@xp\xdef\csname theH#2\endcsname{%
3408             \@xp\@nx
3409             \csname the\@ifundefined{theH#3}{}H#3\endcsname
3410             .\@nx#1{#2}%
3411           }%
3412         }%
3413       }%
3414     }%
3415   }{%
3416     \Hy@WarningNoLine{%
3417       \string\numberwithin\space of package `amsmath'
3418       only fixed\MessageBreak
3419       for version 2000/06/06 v2.12 or newer%
3420     }%
3421   }
3422 }{}
3423 \ifHy@figures
3424   \let\Hy@Gin@setfile\Gin@setfile
3425   \def\Gin@setfile#1#2#3{%
3426     \hyperimage{#3}{\Hy@Gin@setfile{#1}{#2}{#3}}%
3427   }
3428 \fi
3429 \Hy@DisableOption{hyperfigures}
3430 \ifHy@hyperindex
3431   \def\HyInd@ParenLeft{(}%
3432   \@ifpackageloaded{multind}{%
3433     \let\HyInd@org@wrindex\@wrindex
3434     \def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}%
3435     \def\HyInd@@wrindex#1#2|#3|#4\\{%
3436       \ifx\\#3\\%
3437         \HyInd@org@wrindex{#1}{#2|hyperpage}%
3438       \else
3439         \def\Hy@temp@A{#3}%
3440         \ifx\Hy@temp@A\HyInd@ParenLeft
3441           \HyInd@org@wrindex{#1}{#2|#3hyperpage}%
3442         \else
3443           \HyInd@org@wrindex{#1}{#2|#3}%
3444         \fi
3445       \fi
3446     }%
3447   }{%
3448     \def\@wrindex#1{\@@wrindex#1||\\}
3449     \def\@@wrindex#1|#2|#3\\{%
3450       \ifx\\#2\\%
3451         \protected@write\@indexfile{}{%
3452           \string\indexentry{#1|hyperpage}{\thepage}%
3453         }%
3454       \else
3455         \def\Hy@temp@A{#2}%
3456         \ifx\Hy@temp@A\HyInd@ParenLeft
3457           \protected@write\@indexfile{}{%
3458              \string\indexentry{#1|#2hyperpage}{\thepage}%
3459           }%
3460         \else
3461           \protected@write\@indexfile{}{%
3462             \string\indexentry{#1|#2}{\thepage}%
3463           }%
3464         \fi
3465       \fi
3466       \endgroup
3467       \@esphack
3468     }%
3469   }%
3470 \fi
3471 \Hy@DisableOption{hyperindex}
3472 \def\hyperpage#1{\@hyperpage#1----\\}
3473 \def\@hyperpage#1--#2--#3\\{%
3474   \ifx\\#2\\%
3475     \@commahyperpage{#1}%
3476   \else
3477     \hyperlink{page.#1}{#1}--\hyperlink{page.#2}{#2}%
3478   \fi
3479 }
3480 \def\@commahyperpage#1{\@@commahyperpage#1, ,\\}
3481 \def\@@commahyperpage#1, #2,#3\\{%
3482   \ifx\\#2\\%
3483     \hyperlink{page.#1}{#1}%
3484   \else
3485     \hyperlink{page.#1}{#1}, \hyperlink{page.#2}{#2}%
3486   \fi
3487 }
3488 \@ifclassloaded{foils}{%
3489   \providecommand*\ext@table{lot}%
3490   \providecommand*\ext@figure{lof}%
3491 }{}
3492 \@ifclassloaded{seminar}{%
3493   \Hy@seminarslidestrue\newcommand\theHslide{\arabic{slide}}%
3494 }{%
3495   \Hy@seminarslidesfalse
3496 }
3497 \@ifpackageloaded{slidesec}{%
3498   \newcommand\theHslidesection   {\arabic{slidesection}}%
3499   \newcommand\theHslidesubsection{%
3500     \theHslidesection.\arabic{slidesubsection}%
3501   }%
3502   \def\slide@heading[#1]#2{%
3503     \H@refstepcounter{slidesection}%
3504     \@addtoreset{slidesubsection}{slidesection}%
3505     \addtocontents{los}{%
3506       \protect\l@slide{\the\c@slidesection}{\ignorespaces#1}%
3507         {\@SCTR}{slideheading.\theslidesection}%
3508     }%
3509     \def\Hy@tempa{#2}%
3510     \ifx\Hy@tempa\@empty
3511     \else
3512       {%
3513         \edef\@currentlabel{%
3514           \csname p@slidesection\endcsname\theslidesection
3515         }%
3516         \makeslideheading{#2}%
3517       }%
3518     \fi
3519     \gdef\theslideheading{#1}%
3520     \gdef\theslidesubheading{}%
3521     \ifHy@hypertexnames
3522        \ifHy@naturalnames
3523          \hyper@@anchor{slideheading.\theslidesection}{\relax}%
3524          \Hy@writebookmark
3525            {\theslidesection}%
3526            {#1}%
3527            {slideheading.\theslidesection}%
3528            {1}%
3529            {toc}%
3530        \else
3531          \hyper@@anchor{slideheading.\theHslidesection}{\relax}%
3532          \Hy@writebookmark
3533            {\theslidesection}%
3534            {#1}%
3535            {slideheading.\theHslidesection}%
3536            {1}%
3537            {toc}%
3538        \fi
3539     \else
3540       \Hy@GlobalStepCount\Hy@linkcounter
3541       \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
3542       \Hy@writebookmark
3543         {\theslidesection}%
3544         {#1}%
3545         {slideheading.\the\Hy@linkcounter}%
3546         {1}%
3547         {toc}%
3548     \fi
3549   }%
3550   \def\slide@subheading[#1]#2{%
3551     \H@refstepcounter{slidesubsection}%
3552     \addtocontents{los}{%
3553       \protect\l@subslide{\the\c@slidesubsection}{\ignorespaces#1}%
3554         {\@SCTR}{slideheading.\theslidesubsection}%
3555     }%
3556     \def\Hy@tempa{#2}%
3557     \ifx\Hy@tempa\@empty
3558     \else
3559       {%
3560         \edef\@currentlabel{%
3561           \csname p@slidesubsection\endcsname\theslidesubsection
3562         }%
3563         \makeslidesubheading{#2}%
3564       }%
3565     \fi
3566     \gdef\theslidesubheading{#1}%
3567     \ifHy@hypertexnames
3568       \ifHy@naturalnames
3569         \hyper@@anchor{slideheading.\theslidesubsection}{\relax}%
3570         \Hy@writebookmark
3571           {\theslidesubsection}%
3572           {#1}%
3573           {slideheading.\theslidesubsection}%
3574           {2}%
3575           {toc}%
3576       \else
3577         \hyper@@anchor{slideheading.\theHslidesubsection}{\relax}%
3578         \Hy@writebookmark
3579           {\theslidesubsection}%
3580           {#1}%
3581           {slideheading.\theHslidesubsection}%
3582           {2}%
3583           {toc}%
3584       \fi
3585     \else
3586       \Hy@GlobalStepCount\Hy@linkcounter
3587       \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
3588       \Hy@writebookmark
3589         {\theslidesubsection}%
3590         {#1}%
3591         {slideheading.\the\Hy@linkcounter}%
3592         {1}%
3593         {toc}%
3594     \fi
3595   }%
3596   \providecommand{\listslidename}{List of Slides}%
3597   \def\listofslides{%
3598     \section*{%
3599       \listslidename
3600       \@mkboth{%
3601         \expandafter\MakeUppercase\listslidename
3602       }{%
3603         \expandafter\MakeUppercase\listslidename
3604       }%
3605     }%
3606     \def\l@slide##1##2##3##4{%
3607       \slide@undottedcline{%
3608         \slidenumberline{##3}{\hyperlink{##4}{##2}}%
3609       }{}%
3610     }%
3611     \let\l@subslide\l@slide
3612     \@startlos
3613   }%
3614   \def\slide@contents{%
3615     \def\l@slide##1##2##3##4{%
3616       \slide@cline{\slidenumberline{##3}{\hyperlink{##4}{##2}}}{##3}%
3617     }%
3618     \let\l@subslide\@gobblefour
3619     \@startlos
3620   }%
3621   \def\Slide@contents{%
3622     \def\l@slide##1##2##3##4{%
3623       \ifcase\lslide@flag
3624         \message{##1 ** \the\c@slidesection}%
3625         \ifnum##1>\c@slidesection
3626           \def\lslide@flag{1}%
3627           {%
3628             \large
3629             \slide@cline{%
3630               \slidenumberline{$\Rightarrow\bullet$}%
3631                 {\hyperlink{##4}{##2}}%
3632             }{##3}%
3633           }%
3634         \else
3635           {%
3636             \large
3637             \slide@cline{%
3638               \slidenumberline{$\surd\;\bullet$}%
3639                 {\hyperlink{##4}{##2}}%
3640             }{##3}%
3641           }%
3642         \fi
3643       \or
3644         \def\lslide@flag{2}%
3645         {%
3646           \large
3647           \slide@cline{%
3648             \slidenumberline{$\bullet$}%
3649               {\hyperlink{##4}{##2}}%
3650           }{##3}%
3651         }%
3652       \or
3653         {%
3654           \large
3655           \slide@cline{%
3656             \slidenumberline{$\bullet$}%
3657              {\hyperlink{##4}{##2}}%
3658           }{##3}%
3659         }%
3660       \fi
3661     }%
3662     \def\l@subslide##1##2##3##4{%
3663       \ifnum\lslide@flag=1
3664         \@undottedtocline{2}{3.8em}{3.2em}{\hyperlink{##4}{##2}}{}%
3665       \fi
3666     }%
3667     \def\lslide@flag{0}%
3668     \@startlos
3669   }%
3670 }{}
3671 \ifHy@texht\endinput\fi
3672 \let\real@setref\@setref
3673 \def\@setref#1#2#3{% csname, extract group, refname
3674   \ifx#1\relax
3675     \protect\G@refundefinedtrue
3676     \nfss@text{\reset@font\bfseries ??}%
3677     \@latex@warning{%
3678       Reference `#3' on page \thepage \space undefined%
3679     }%
3680   \else
3681     \hyper@@link
3682       {\expandafter\@fifthoffive#1}%
3683       {\expandafter\@fourthoffive#1\@empty\@empty}%
3684       {\expandafter#2#1\@empty\@empty\null}%
3685   \fi
3686 }
3687 \def\@pagesetref#1#2#3{% csname, extract macro, ref
3688   \ifx#1\relax
3689     \protect\G@refundefinedtrue
3690     \nfss@text{\reset@font\bfseries ??}%
3691     \@latex@warning{%
3692       Reference `#3' on page \thepage \space undefined%
3693     }%
3694   \else
3695     \protect\hyper@@link
3696       {\expandafter\@fifthoffive#1}%
3697       {page.\expandafter\@secondoffive#1}%
3698       {\expandafter\@secondoffive#1}%
3699   \fi
3700 }
3701 \def\@refstar#1{%
3702   \@safe@activestrue
3703   \expandafter\real@setref\csname r@#1\endcsname\@firstoffive{#1}%
3704   \@safe@activesfalse
3705 }
3706 \def\@pagerefstar#1{%
3707   \@safe@activestrue
3708   \expandafter\real@setref\csname r@#1\endcsname\@secondoffive{#1}%
3709   \@safe@activesfalse
3710 }
3711 \DeclareRobustCommand\autoref[1]{%
3712   \expandafter\auto@setref\csname r@#1\endcsname\@firstoffive{#1}%
3713 }
3714 \def\auto@setref#1#2#3{% csname, extract group, refname
3715   \@safe@activestrue
3716   \ifx#1\relax
3717     \protect\G@refundefinedtrue
3718     \nfss@text{\reset@font\bfseries ??}%
3719     \@latex@warning{%
3720       Reference `#3' on page \thepage \space undefined%
3721     }%
3722   \else
3723     \edef\@thisref{\expandafter\@fourthoffive#1\@empty\@empty}%
3724     \expandafter\test@reftype\@thisref\\%
3725     \hyper@@link
3726       {\expandafter\@fifthoffive#1}%
3727       {\expandafter\@fourthoffive#1\@empty\@empty}%
3728       {\@currentHtag\expandafter#2#1\@empty\@empty\null}%
3729   \fi
3730   \@safe@activesfalse
3731 }
3732 \def\test@reftype#1.#2\\{%
3733   \@ifundefined{#1autorefname}{%
3734     \@ifundefined{#1name}{%
3735       \def\@currentHtag{}%
3736       \@latex@warning{no tag name for #1 at \the\inputlineno}%
3737     }{%
3738       \def\@currentHtag{\csname#1name\endcsname~}%
3739     }%
3740   }{%
3741     \def\@currentHtag{\csname#1autorefname\endcsname~}%
3742   }%
3743 }
3744 \def\@currentHtag{}
3745 \providecommand\AMSautorefname{\equationautorefname}
3746 \providecommand\Hfootnoteautorefname{\footnoteautorefname}
3747 \providecommand\Itemautorefname{\itemautorefname}
3748 \providecommand\equationautorefname{Equation}
3749 \providecommand\footnoteautorefname{footnote}
3750 \providecommand\itemautorefname{item}
3751 \providecommand\figureautorefname{Figure}
3752 \providecommand\tableautorefname{Table}
3753 \providecommand\partautorefname{Part}
3754 \providecommand\appendixautorefname{Appendix}
3755 \providecommand\chapterautorefname{chapter}
3756 \providecommand\sectionautorefname{section}
3757 \providecommand\subsectionautorefname{subsection}
3758 \providecommand\subsubsectionautorefname{subsubsection}
3759 \providecommand\paragraphautorefname{paragraph}
3760 \providecommand\subparagraphautorefname{subparagraph}
3761 \providecommand\FancyVerbLineautorefname{line}
3762 \providecommand\theoremautorefname{Theorem}
3763 \def\phantomsection{%
3764  \Hy@GlobalStepCount\Hy@linkcounter
3765  \xdef\@currentHref{section*.\the\Hy@linkcounter}%
3766  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
3767 }
3768 \endinput
3769 %%
3770 %% End of file `hyperref.sty'.