From: Karine Deschinkel Date: Fri, 13 Feb 2015 13:44:26 +0000 (+0100) Subject: pour engineering optimization X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/LiCO.git/commitdiff_plain/152fc9a38523c01bb10c4310dcd3c1d0d94aa79d pour engineering optimization --- diff --git a/PeCO-EO/.directory b/PeCO-EO/.directory new file mode 100644 index 0000000..958d8e6 --- /dev/null +++ b/PeCO-EO/.directory @@ -0,0 +1,3 @@ +[Dolphin] +Timestamp=2015,2,13,14,34,28 +ViewMode=1 diff --git a/PeCO-EO/algorithm2e.sty b/PeCO-EO/algorithm2e.sty new file mode 100644 index 0000000..10383df --- /dev/null +++ b/PeCO-EO/algorithm2e.sty @@ -0,0 +1,2636 @@ +% algorithm2e.sty --- style file for algorithms +% almost everything can be customized by users. See the document for more explanations +%% Copyright 1996-2008 Christophe Fiorio +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files algorithm2e.sty and algorithm2e.tex and algorithm2e-compatibility.sty +% +% Report bugs and comments to: +% - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% +% - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% +% subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% +% +% $Id: algorithm2e.sty,v 4.1 2009/12/15 08:54:08 cfiorio Exp $ +% +% PACKAGES REQUIRED: +% +% - float (in contrib/supported/float) +% - ifthen (in base) +% - xspace (in packages/tools) +% - relsize (in contrib/misc/relsize.sty) +% +%%%%%%%%%%%%%%% Release 4.01 +% +% Package options: +% --------------- +% - oldcommands : to use old command names +% - french, english, german, +% portuguese, czech, italiano, +% slovak : for the name of the algorithm and some keyword code +% - onelanguage : to simply switch keyword from one language to another without changing +% keyword commands +% - boxed, boxruled, ruled, tworuled, +% algoruled, plain : layout of the algorithm +% - algo2e : environment is algorithm2e instead of algorithms and \listofalgorithmes +% instead of \listofalgorithms +% - slide : to use when making slides +% - noline,lined,vlined : how block are designed. +% - shortend, longend, noend : short or long end keyword as endif for e.g. +% - linesnumbered : auto numbering of the algorithm's lines +% - linesnumberedhidden : to hide autonumbered lines (show number on a line with \ShowLn +% - commentsnumbered, inoutnumbered : to autonumber comments and inout keywords (by defaut not numbered) +% - rightnl : to have line number on the right instead of on the left as default +% - algonl : line numbers preceded by algo number +% - scright, scleft : right or left justified side comments +% - fillcomment, nofillcomment : end mark of comment is flushed to the right so comments fill the line +% - dotocloa : add an entry in the toc for list of algorithms (require tocbibind package) +% - endfloat : add algoendfloat environment pushing algorithm so written to the end of document +% - resetcount, noresetcount : start value of line numbers. +% - algopart,algochapter,algosection : algo numbering within part, chapter or section +% - titlenumbered,titlenotnumbered : numbering of title set by \Titleofalgo +% - figure : algorithms are figures, numbered as figures, and put in the list of figures. +% - procnumbered : procedure or function are numbered as algorithm +% - nokwfunc : procedure or function name doens't become a command +% - norelsize : don't use relsize package (useful if it breaks the compatibily) +% +% defaults are; english,plain,resetcount,titlenotnumbered +% +%%%%%%%%%%%%%% +% +% Short summary +% ------------- +% +% algorithm is an environment for writing algorithm in LaTeX2e. +% Almost all is customizable. You can add keywords, change style, change the layout, ... +% It provide macros that allow you to create differents sorts of key words, therefore a set of predefined key +% word is gived. +% +% IT should be used as follows +% +% \begin{algorithm} +% ... +% ... +% \end{algorithm} +% +% +% IMPORTANT : each line MUST end with \; +% +% Note that if you define macros outside algorithm environment they +% are avaible in all the document and particulary you can use then +% inside all algorithms without re-define them. +% +% an example: +% +% \begin{algorithm} +% \SetAlgoLined +% \KwIn{this text} +% \KwOut{how to write algorithm with \LaTeX2e } +% +% initialization\; +% \While{not at end of this document}{ +% read current section\; +% \eIf{understand}{ +% go to next section\; +% current section becomes this one\; +% }{ +% go back to the beginning of current section\; +% } +% } +% \caption{How to write algorithm} +% \end{algorithm} +% +% +%%%%%%%%%%%%%% predefined keywords +% +% \KwIn{input} +% \KwOut{output} +% \KwData{input} +% \KwResult{output} +% \KwTo % a simple keyword +% \KwFrom % a simple keyword +% \KwRet{[value]} +% \Return{[value]} +% \Begin{block inside} +% \eIf{condition}{Then Block}{Else block} % in blocks +% \If{condition}{Then block} % in a block +% \uIf{condition}{Then block} % in a block unended +% \lIf{condition}{Else text} % on the same line +% \Else{inside Else} % in a block +% \lElse{Else text} % on the same line +% \uElse{Else text} % in a block unended +% \ElseIf{inside Elseif} % in a block +% \lElseIf{Elseif text} % on the same line +% \uElseIf{Elseif text} % in a block unended +% \Switch{Condition}{Switch block} +% \Case{a case}{case block} % in a block +% \lCase{a case}{case text} % on the same line +% \Other{otherwise block} % in a block +% \lOther{otherwise block} % on the same line +% \For{condition}{text loop} % in a block +% \lFor{condition}{text} % on the same line +% \ForEach{condition}{text loop} % in a block +% \lForEach{condition}{text} % on the same line +% \ForPar{condition}{text loop} % in a block +% \lForPar{condition}{text} % on the same line +% \While{condition}{text loop} % in a block +% \lWhile{condition}{text loop} % on the same line +% \Repeat{End condition}{text loop} % in a block +% \lRepeat{condition}{text} % on the same line +% +%%%%%%%%%%%%%% +% +% History: +% +% - december 14 2009 - revision 4.01 +% * ADD : new command \SetKwHangingKw{Name}{text} (hanging indent with keyword): This creates a +% hanging indent much like \texttt{SetKwInput}, except that it removes the trailing `:' +% and does not reset numbering. +% +% - november 17 2009 - revision 4.00 - +% +% * CHANGE : IMPORTANT : some commands have been renamed to have consistent naming (CamlCase +% syntax) and old commands are no more available. If you doesn't want to change +% your mind or use old latex files, you can use oldcommands option to enable old +% commands back. +% text. Here are these commands: +% - \SetNoLine becomes \SetAlgoNoLine +% - \SetVline becomes \SetAlgoVlined +% - \Setvlineskip becomes \SetVlineSkip +% - \SetLine becomes \SetAlgoLined +% - \dontprintsemicolon becomes \DontPrintSemicolon +% - \printsemicolon becomes \PrintSemicolon +% - \incmargin becomes \IncMargin +% - \decmargin becomes \DecMargin +% - \setnlskip becomes \SetNlSkip +% - \Setnlskip becomes \SetNlSkip +% - \setalcapskip becomes \SetAlCapSkip +% - \setalcaphskip becomes \SetAlCapHSkip +% - \nlSty becomes \NlSty +% - \Setnlsty becomes \SetNlSty +% - \linesnumbered becomes \LinesNumbered +% - \linesnotnumbered becomes \LinesNotNumbered +% - \linesnumberedhidden becomes \LinesNumberedHidden +% - \showln becomes \ShowLn +% - \showlnlabel becomes \ShowLnLabel +% - \nocaptionofalgo becomes \NoCaptionOfAlgo +% - \restorecaptionofalgo becomes \RestoreCaptionOfAlgo +% - \restylealgo becomes \RestyleAlgo +% - gIf macros and so on do no more exist +% * NEW: - Compatibily with other packages improven by changing name of internal +% macros. Algorithm2e can now be used with arabtex for example, if this last is +% loaded after algorithm2e package. +% * ADD: - OPTION endfloat: endfloat packages doesn't allow float environment inside other +% environment. So using it with figure option of algorithm2e makes error. This +% option enables a new environment algoendfloat to be used instead of algorithm +% environment that put algorithm at the end. algoendfloat environment make +% algorithm acting as endfloat figures. This option requires endfloat packages. +% * ADD: - OPTION norelsize: starting from this release (v4.00), algorithm2e package uses +% relsize package in order to get relative size for lines numbers; but it seems +% that some rare classes (such as inform1.cls) are not compatible with relsize; to +% have algorithm2e working, this option makes algorithm2e not to load relsize +% package and go back to previous definition by using \scriptsize font for lines +% numbers. +% * ADD: - OPTION onelanguage: allow, if using standard keywords listed below, to switch +% from one language to another without changing keywords by using appropriate +% language option : +% . KwIn, KwOut, KwData, KwResult +% . KwTo KwFrom +% . KwRet, Return +% . Begin +% . Repeat +% . If, ElseIf, Else +% . Switch, Case, Other +% . For, ForPar, ForEach, ForAll, While +% . +% * ADD: - OPTION rightnl: put lines numbers to the right of the algorithm instead of left. +% * ADD: new commands \setRightLinesNumbers and \setLeftLinesNumbers which sets the lines +% numbers to the right or to the left of the algorithm. +% * ADD: - new kind of keywords : KwArray used to define arrays: +% \SetKwArray{Kw}{array} defines an array keywords Kw called array and printed in +% DataSty style when call with \Kw. It can be used with one argument which +% denotes the element index: \Kw{n} prints array[n] with array in DataSty and n in +% ArgSty. +% * ADD/FIX: rules of ruled, algoruled, tworuled styles used rules of different sizes! This +% is now fixed. Moreover size of the rules is now controlled by a length and so +% can be customized by the user. +% \algoheightrule is the height of the rules and can be changed via \setlength +% \algoheightruledefault is the default height of he rules (0.8pt) +% \algotitleheightrule is the height of the rule that comes just after the +% caption in ruled and algoruled style; it can be changed via \setlength +% \algotitleheightruledefault is the default height of this rules (0.8pt) +% Thanks to Philippe Dumas who reports the bug and make the suggestion. +% * ADD: - \SetAlgoCaptionSeparator which sets the separator between Algorithm 1 and the +% title. By default it's ':' and caption looks like "Algorithm 2: title" but now +% you can change it by using for example \SetAlgoCaptionSeparator{.} which will +% give "Algorithm 3. title" +% * ADD: - \SetAlgoLongEnd and \SetAlgoShortEnd and \SetAlgoNoEnd commands which act as +% corresponding package options +% * ADD: - OPTIONS italiano and slovak as new language (thanks to Roberto Posenato and +% Miroslav Binas) +% * CHANGE: - Fnt and Sty macro to have consistent use and naming (see below) +% * ADD: - \AlCapSty, \AlCapNameSty, \AlCapFnt, \AlCapNameFnt, \ProcSty, \ProcFnt, +% \ProcNameSty, \ProcNameFnt, \ProcArgSty, ProcArgFnt and corresponding "set macro" +% \SetAlCapSty, \SetAlCapNameSty, \SetAlCapFnt, \SetAlCapNameFnt, \SetProcSty, +% \SetProcFnt, \SetProcNameSty, \SetProcNameFnt, \SetProcArgSty, \SetProcArgFnt which +% control the way caption is printed. Sty macro use command taking one parameter as +% argument, Fnt macros use directly command. In Fact caption is printed as follow : +% \AlCapSty{\AlCapFnt Algorithm 1:}\AlCapNameSty{\AlCapNameFnt my algorithm} +% By default, \AlCapSty is textbf and \AlCapFnt is nothing. \AlCapNameSty keep text +% as it is, and \AlCapNameFnt do nothing also. +% You can redefine \AlCapFnt and \AlCapNameFnt by giving macro to \Set commands. For +% example, you can do \SetAlCapFnt{\large} to see Algorithm printed in \large font. +% You can redefine \AlCapSty, \AlCapFnt, \AlCapNameSty and \AlCapNameFnt with the +% corresponding \Set command. For the Sty commands, you have to give in parameter +% name of a macro (whithout \) which takes one argument. For example, +% \SetAlCapFnt{textbf} defines the default behaviour. If you want to do more +% complicated thing, you should define your own macro and give it to \SetAlCapFnt or +% \SetAlCapNameFnt. Here are two examples: +% - \newcommand{\mycapsty}[1]{\tiny #1}\SetAlCapNameSty{mycapsty} +% - \newcommand{\mycapsty}[1]{\textsl{\small #1}}\SetAlCapNameSty{mycapsty} +% Or you can combine the two, for the last example you can also do: +% \SetAlCapNameSty{textsl}\SetAlCapNameFnt{\small} +% Thanks to Jan Stilhammer who gives me the idea of \AlCapNameFnt. +% * CHANGE \AlTitleFnt to match definition of all other Fnt macros and add a \AlTitleSty +% macro (see below) . Now you set \AlTitleFnt by calling \SetAlTitleFnt with +% directly a macro without parameter in argument: +% Example: \SetAlTitleFnt{\small} to set title in small font. +% * ADD: - \AlTitleSty and \SetAlTitleSty commands to set a style for title. These commands +% are defined from a macro taking the text in argument, as \textbf for example. +% To set the TitleSty you have to give name of the macro (without the '\') +% to \SetAlTitleSty. For example \SetAlTitleSty{textbf} to set \textbf style. +% * ADD: - new command \SetAlgorithmName{algorithmname}{list of algorithms name} which +% redefines name of the algorithms and the sentence list of algorithms. Second +% argument is the name that \autoref, from hyperref package, will use. Example: +% \SetAlgorithmName{Protocol}{List of protocols} if you prefer protocol than +% algorithm. +% * ADD: - new \SetAlgoRefName{QXY} which change the default ref (number of the algorithm) by +% the name given in parameter (QXY in the example). +% * ADD: - new command \SetAlgoRefRelativeSize{-2} which sets the output size of refs, defined +% by \SetAlgoRefName, used in list of algorithms. +% * ADD: - two dimensions to control the layout of caption in ruled, algoruled and boxruled +% algorithms: +% - interspacetitleruled (2pt by defaut) which controls the vertical space between +% rules and title in ruled and algoruled algorithms. +% - interspaceboxruled (2\lineskip by default) which controls the vertical space +% between rules and title in boxruled algorithms. +% These two dimensions can be changed by using \setlength command. +% * ADD: - With the fix (see below) of procedure and function environments, a new feature has +% been added: the name of the procedure or function set in caption is automatically +% defined as a KwFunction and so can be used as a macro. For example, if inside a +% procedure environment you set \caption{myproc()}, you can use \myproc macro in you +% main text. Beware that the macro is only defined after the \caption! +% * ADD: - OPTION nokwfunc to unable the new feature described above in function and +% procedure environment. Useful if you use name of procedure or function that cannot +% be a command name as a math display for example. +% * ADD: - \SetAlgoNlRelativeSize{number} command which sets the relative size of line +% numbers. By default, line numbers are two size smaller than algorithm text. Use +% this macro to change this behavior. For example, \SetAlgoNlRelativeSize{0} sets it +% to the same size, \SetAlgoNlRelativeSize{-1} to one size smaller and +% \SetAlgoNlRelativeSize{1} to one size bigger +% * ADD: - \SetAlgoProcName{aname} command which sets the name of Procedure printed by +% procedure environment (the environment prints Procedure by default). Second +% argument is the name that \autoref, from hyperref package, will use. +% * ADD: - \SetAlgoFuncName{aname} command which sets the name of Function printed by +% procedure environment (the environment prints Function by default). Second +% argument is the name that \autoref, from hyperref package, will use. +% * ADD: - \SetAlgoCaptionLayout{style} command which sets style of the caption; style must +% be the name of a macro taking one argument (the text of the caption). Examples +% below show how to use it: +% . \SetAlgoCaptionLayout{centerline} to have centered caption +% . \SetAlgoCaptionLayout{textbf} to have bold caption +% If you want to apply two styles in the same time, such as centered bold, you have +% to define you own macro and then use \SetAlgoCaptionLayout with its name. +% * ADD: - OPTION procnumbered: which makes the procedure and function to be numbered as +% algorithm +% * ADD: - OPTIONS tworuled and boxruled +% these are two new layouts: tworuled acts like ruled but doesn't put a line after +% caption ; boxruled surround algorithm by a box, puts caption above and add a line +% after caption. +% * REMOVE: - SetKwInParam has been deleted since not useful itself because of different +% macros which can do the same in a better and a more consistent way as +% SetKwFunction or SetKw. +% * FIX: - line number is now correctly vertically aligned with math display. +% * FIX: - references with hyperref. No more same identifier or missing name error. BUT now +% you must NOT use naturalnames option of hyperref packages if you do PdfLaTeX +% * FIX: - autoref with hyperref package (thanks to Jörg Sommer who notices the problem). +% * FIX: - titlenumbered was not working! fixed. +% * FIX: - Else(){} acted like uElse. Corrected. +% * FIX: - noend management: when a block was inside another and end of block was following +% each other, a blank line was added: it's now corrected. +% * FIX: - Function and Procedure environment was no more working as defined originally: the +% label was no more name of the procedure, it acts always as if procumbered option +% has been used. +% * FIX: - line numbers had a fixed size which can be bigger than algorithm text accordingly +% to \AlFnt set (see also new command \SetAlgoNlRelativeSize above) +% * FIX: - semicolon in comments when dontprintsemicolon is used. +% * FIX: - listofalgorithms adds a vertical space before first algo of a chapter as for +% listoffigures or listoftables +% * FIX: - listofalgorithms with twocolumns mode and some classes which don't allow onecolumn +% and so don't define \if@restonecol as prescribed in LaTeX (sig-alternate for +% example) +% * FIX: - algorithm2e now works with elsart cls and some more classes. +% * FIX: - blocks defined by SetKwBlock act now as other blocks (if for instance) and don't +% write end in vlined mode, instead they print a small horizontal line as required +% by the option. +% * FIX: - underfull hbox warning at each end of algorithm environment removed. +% +% * INTERNAL CHANGE: - short end keyword are deduce from long end keyword by keeping the +% first one. Allows to avoid double definition. +% * INTERNAL CHANGE: - procedure, function and algorithm are now resolved by the same +% environment to avoid code duplication. +% +% - October 04 2005 - revision 3.9 - +% * ADD: - \setalcaphskip command which sets the horizontal skip before Algorithm: in caption +% when used in ruled algorithm. +% * ADD: - \SetAlgoInsideSkip command which allows to add an extra vertical space before and +% after the core of the algorithm (ie: \SetAlgoInsideSkip{bigskip}) +% * CHANGE: - caption, when used with figure option, is no more controlled by algorithm2e +% package and so follows the exact behaviour of figures. The drawback is that you +% cannot change the typo with AlTitleFnt or CapFnt. The avantage is that if you +% use caption package, it works. +% * FIX: - problem with numbering line and pdflatex +% * FIX: - error when algorithm2e package was used with beamer and listings together +% - February 12 2005 - revision 3.8 - +% * FIX: - extra line with noend option. +% - February 10 2005 - revision 3.7 - +% * ADD: - sidecomment: different macros allowing to put text right after code on the same +% line. They are defined in the same time comment macros are defined with a star +% after the macro name. By default comments are right justified but this can be +% change with appropriate option in the macro. Ex: +% . default: \tcc*{side comment} +% . same as previous: \tcc*[r]{side comment} +% . left justify: \tcc*[l]{side comment} +% . here: \tcc*[h]{side comment} don't put the end of line mark before +% comment (; by default) and don't end the line. +% . flushed: \tcc*[f]{side comment} same as the precedent but right +% justified +% * ADD: - OPTION scright (default): right justified side comments (side comments +% are flushed to the righr) +% * ADD: - OPTION scleft: left justified side comments (side comments are put right after the +% code line) +% * ADD: - \SetSideCommentLeft acts as scleft option +% * ADD: - \SetSideCommentRight acts as scright option +% * ADD: - block like macro side text: all macro defining a block allows now to put text right +% after key words by putting text into (). Done to be used with sidecomment macros, +% but all text can be used. +% Ex: \eIf(\tcc*[f]{then comment}){test}{then text}(else side text){else text} +% * ADD: - OPTION fillcomment (default): end mark of comment is flushed to the right so +% comments fill all the width of text. +% * ADD: - OPTION nofillcomment: end mark of comment is put right after the comment. +% * ADD: - \SetNoFillComment acts as nofillcomment option. +% * ADD: - \SetFillComment acts as fillcomment option. +% * ADD: - OPTION dotocloa: which adds an entry in the toc for the list of algorithms. This +% option load package tocbibind if not already done and so list of figures and list +% of tables are also added in the toc. If you want to control which ones of the lists +% will be added in the toc, please load package tocbibind before package algorithm +% and give it the options you want. +% * FIX: - vertical spacing for uif macro with noend option +% * FIX: - all the compatibility problems between caption and other packages +% * FIX: - typographical differences between list of algorithms and other lists when in +% report or book +% +% - January 24 2005 - revision 3.6 - +% * FIX: - vertical spacing and space characters at the beginning or end of comments. +% line numbers of comments not in the NlSty. +% Thanks to Arnaud Giersch for his comments and suggestions. +% * FIX: - Set*Sty macro: the styles defined was not protected and was modified by surrounding +% context. For example KwTo in a \For{}{} was in bold AND italic instead of just in +% bold. +% * FIX: - line number misplacement after \Indp +% +% - January 21 2005 - revision 3.5 - +% * ADD: - hidden numbering of the lines. Lines are auto-numbered but numbers are shown only +% on lines you specify: +% * linesnumberedhidden option or \LinesNumberedHidden macro activate this +% functionnality. +% * \ShowLn and \ShowLnLabel{lab} macros make the number visible on the +% line. \ShowLnLabel{lab} allows to set a label for this line. +% Thanks to Samson de Jager who makes this suggestion and provides the macros. +% * ADD: - \AlCapFnt and \SetAlCapFnt which allow to have a different font for +% caption. Works like \AlFnt and \SetAlFnt and by default is the same. +% * ADD: - \AlCapSkip skip length. This vertical space is added before caption in plain ou +% boxed mode. It allows to change distance between text and caption. +% * FIX: - caption compatible with IEEEtran class. +% * FIX: - some vertical spacing error with \uIf macros (Thanks to Arnaud Giersch) +% * FIX: - Procedure and Function: lines are also numbered like algorithms +% * FIX: - CommentSty was not used for Comments +% +% - January 10 2005 - revision 3.4 - +% * FIX: - caption compatible with new release of Beamer class. +% +% - June 16 2004 - revision 3.3 - +% * FIX: - Hyperlink references of Hyperref package works now if compiled with pdflatex +% and [naturalnames] option of hyperref package is used. +% * FIX: - algorithm[H] had problem in an list environment - corrected +% * FIX: - interline was not so regular in nested blocks - corrected +% * ADD - \SetVlineSkip macro which sets the vertical skip after the little horizontal +% rule which closes a block in Vlined mode. By default 0.8ex +% +% - June 11 2004 - revision 3.2 - AUTO NUMBERING LINES !!! +% * ADD: auto numbering of the lines (the so asked and so long awaiting feature) +% this feature is managed by 3 options and 3 commands: +% - linesnumbered option: lines of the algo are numbered except for comments and +% input/output (KwInput and KwInOut) +% - commentsnumbered option: makes comments be numbered +% - inoutnumbered option: makes data input/output be numbered +% - \nllabel{lab} labels the line so you can cite with \ref{lab} +% - \LinesNumbered make the following algorithms having auto-numbered lines +% - \linesnotnumbered make the following algorithms having no auto-numbered lines +% * Change: algo2e option renames listofalgorithms in listofalgorithmes +% * FIX: new solution for compatibility with color package, more robust and not tricky. +% Many thanks to David Carlisle for his advices +% +% - June 09 2004 - revision 3.1 - +% * Change: \SetKwSwitch command defines an additionnal macro \uCase and \Case prints end +% * Change: now macros SetKw* do a renewcommand if the keyword is already defined. So you can +% redefine default definition at your own convenience or change your definition +% without introducing a new macro and changing your text. +% * ADD: new macro \SetKwIF which do \SetKwIf and +% \SetKwIfElseIf.The following default definition has been added: +% \SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif} +% and so you get the macros; +% \If \eIf \lIf \uIf \ElseIf \uElseIf \lElseIf \Else \uElse \lElse +% * ADD: new macro \SetAlgoSkip which allow to fix the vertical skip before and after the +% algorithms. Default is smallskip, do \SetAlgoSkip{} if you don't want an extra space +% or \SetAlgoSkip{medskip} or \SetAlgoSkip{bigskip} if you want bigger space. +% * ADD: macro \SetKwIf defines in addition a new macro \uElse (depending on wat name you +% have given in #2 arg). +% * ADD: macro \SetKwIfElseIf defines in addition a new macro \uElse and \ugElseIf (depending +% on what name you have given in #2 and #3 arg). +% * Change: baseline of algorithm is now top, so two algorithms can be put side by side. +% * FIX: Compatibility with color package solved. The problem was due to a redefinition of +% standard macros by color package. This solves compatibility problem with other +% packages as pstcol or colortbl. (notified by Dirk Fressmann, Antti Tarvainen and Koby +% Crammer) +% * Fix: extra little shift to the right with boxed style algorithm removed (notified by +% P. Tanovski) +% * Fix: algoln option was buggy (notified bye Jiaying Shen) +% * Fix: german and portuges option didn't work due to bad typo (notified by Martin Sievers, +% Thorsten Vitt and Jeronimo Pellegrini) +% +% - February 13 2004 - revision 3.0 - +% * Major revision which makes the package independent from float.sty, so now +% - algorithm* works better, in particular can be used in multicols environments +% - (known bug corrected) +% [H] works now for all sort of environment but is handled differently for classic +% environment and star environment (algorithm, figure, procedure and function). For star +% environment, H acts like for classical figure environment, so it doesn't stay here +% absolutely. +% - (known bug corrected) +% you can use now floatflt package with algorithm package and even with figure +% option. Beware that if you want to put an algorithm inside a floatingfigure, it cannot +% be floating, so [H] is required and then figure option should not be used, since +% standard figure[H] are still floating with LaTeX. +% * boxruled: a new style added. Possible now since no style no more defined by the float +% package. +% * nocaptionofalgo: dosen't print Algorithm #: in the caption for algorithm in ruled or +% algoruled style. +% note: this is just documentation of a macro which was already in the package. +% - December 14 2003 - revision 2.52 - +% * output message shorter +% * french keyword macro \PourTous was missing for longend option, it has been added. +% * TitleofAlgo prints Function or Procedure in corresponding environments. +% +% - October 27 2003 - revision 2.51 - Revision submitted to CTAN archive +% * correction of a minor which make caption in procedure +% and function to be blanck with pdfscreen package +% (thanks to Joel Gossens for the notification) +% * add two internal definition to avoid some errors when +% used with Hyperref package (Hyperref package need to +% define new counter macro from existing ones, and +% don't do it for algorithm2e package, so we do it) +% +% - October 17 2003 - revision 2.50 - first revision for CTAN archive +% * add \AlFnt and \SetAlFnt{font} macros: \AlFnt is used at the beginning of the caption and +% the body of algorithm in order to define the fonts used for typesetting algorithms. You +% can use it elsewhere you want to typeset text as algorithm. For example you can do +% \SetAlFnt{\small\sf} to have algorithms typeset in small sf font. Default is nothing so +% algorithm is typeset as the text of the document. +% * add \AlTitleFnt{text} and \SetAlTitleFnt{font} macros: The {Algorithm: } in the caption is +% typeset with \AlTitleFnt{Algorithm:}. You can use it to have text typeset as {Algorithm:} +% of captions. Default is textbf. Default can be redefined by \SetAlTitleFnt{font}, for +% example you can do \SetAlTitleFnt{emph} +% * add CommentSty typo for text comment. +% * add some compatibility with hyperref package (still an error on multiply defined refs but +% pdf correctly generated) +% * flush text to left in order to have correct indentation even with class as amsart which +% center all figures +% * add german, portugues and czech options for title of algorithms and typo. +% * add portuguese translation of predefined keywords * add czech translation of some +% predefined keywords +% +% - December 23 2002 - revision 2.40 +% * add some french keyword missing +% * add function* and procedure* environment like algorithme* environment: print in one column +% even if twocolumn option is specified for the document. +% * add a new macro \SetKwComment to define macro which writes comments in the text. First +% argument is the name of the macro, second is the text put before the comment, third is the +% text put at the end of the comment.Default are \tcc and \tcp +% * add new options to change the way algo are numbered: +% [algopart] algo are numbered within part (counter must exist) +% [algochapter] algo are numbered within chapter +% [algosection] algo are numbered within section +% +% - March 27 2002 - revision 2.39 +% * Gilles Geeraerts: added the \SetKwIfElseIf to manage +% if (c) +% i; +% else if (c) +% i; +% ... +% else +% i; +% end +% * Also added \gIf \gElseIf \gElse. +% +% - January 02 2001 - revision 2.38 +% * bugs related to the caption in procedure and function +% environment are corrected. +% * bug related to option noend (extra vertical space added +% after block command as If or For) is corrected. +% * czech option language added (thanks to Libor Bus: l.bus@sh.cvut.cz). +% +% - October 16 2000 - revision 2.37 +% * option algo2e added: change the name of environment +% algorithm into algorithm2e. So allow to use the package +% with some journal style which already define an algorithm +% environment. +% +% - September 13 2000 - revision 2.36 +% * option slide added: require package color +% * Hack for slide class in order to have correct +% margins +% +% - November 25 1999 - revision 2.35 +% * revision number match RCS number +% * Thanks to David A. Bader, a new option is added: +% noend: no end keywords are printed. +% +% - November 19 1999 - revision 2.32 +% * minor bug on longend option corrected. +% +% - August 26 1999 - revision 2.31 +% * add an option : figure +% this option makes algorithms be figure and so are numbered +% as figures, have Figure as caption and are put in +% the \listoffigures +% +% - January 21 1999 - revision 2.3 beta +% add 2 new environments: procedure and function. +% These environments works like algorithm environment but: +% - the ruled (or algoruled) style is imperative. +% - the caption now writes Procedure name.... +% - the syntax of the \caption command is restricted as +% follow: you MUST put a name followed by 2 braces like +% this ``()''. You can put arguments inside the braces and +% text after. If no argument is given, the braces will be +% removed in the title. +% - label now puts the name (the text before the braces in the +% caption) of the procedure or function as reference (not +% the number like a classic algorithm environment). +% There are also two new styles : ProcNameSty and +% ProcArgSty. These style are by default the same as FuncSty +% and ArgSty but are used in the caption of a procedure or a +% function. +% +% - November 28 1996 - revision 2.22 +% add a new macro \SetKwInParam{arg1}{arg2}{arg3}: +% it defines a macro \arg1{name}{arg} which prints name in keyword +% style followed byt arg surrounded by arg2 and arg3. The main +% application is to a function working as \SetKwInput to be used +% in the head of the algorithm. For example +% \SetKwInParam{Func}{(}{)} allows +% \Func{functionname}{list of arguments} which prints: +% \KwSty{functioname(}list of arguments\KwSty{)} +% +% +% - November 27 1996 - revision 2.21 : +% minor bug in length of InOut boxes fixed. +% add algorithm* environment. +% +% - July 12 1996 - revision 2.2 : \SetArg and \SetKwArg macros removed. +% +% \SetArg has been removed since it never has been +% documented. +% \SetKwArg has been removed since \SetKw can now +% take an argument in order to be consistent with +% \SetKwData and \SetKwFunction macros. +% +% - July 04 1996 - revision 2.1 : still more LaTeX2e! Minor compatibility break +% +% Macros use now \newcommand instead of \def, use of \setlength, +% \newsavebox, ... and other LaTeX2e specific stuff. +% The compatibility break: +% - \SetData becomes \SetKwData to be more consistent. So the old +% \SetKwData becomes \SetKwInput +% - old macros \titleofalgo, \Freetitleofalgo and \freetitleofalgo +% from LaTeX209 version which did print a warning message and call +% \Titleofalgo in version 2.0 are now removed! +% +% - March 13 1996 - revision 2.0: first official major revision. +% +% +%%%%%%%%%%%%%% +% +% Known bugs: +% ----------- +% - no more known bugs... all are corrected! +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% for more complete informations you can see algorithm2e.tex +% +% +%%%%%%%%%%%%%%%%%%%%%%%% Identification Part %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +% +\ProvidesPackage{algorithm2e}[2008/00/00 v3.10 algorithms environments] +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%% Initial Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\@makeother\*% some package redefined it as a letter (as color.sty) +\def\@firstword#1 #2\@nil{#1}% an useful fonction +% +% definition of commands which can be redefined in options of the package. +% +\newcounter{AlgoLine}% +\setcounter{AlgoLine}{0}% +% +\newcommand{\algocf@algocfref}{\relax}% +\newcommand{\listalgorithmcfname}{}% +\newcommand{\algorithmcfname}{}% +\@ifundefined{algorithmautorefname}{\newcommand{\algorithmautorefname}{algorithm}}{\renewcommand{\algorithmautorefname}{algorithm}}% +\newcommand{\algorithmcflinename}{}% +\newcommand{\algocf@typo}{}% +\newcommand{\@algocf@procname}{}\newcommand{\procedureautorefname}{}% +\newcommand{\SetAlgoProcName}[2]{\renewcommand{\@algocf@procname}{#1}\renewcommand{\procedureautorefname}{#2}}% +\newcommand{\@algocf@funcname}{}\newcommand{\functionautorefname}{}% +\newcommand{\SetAlgoFuncName}[2]{\renewcommand{\@algocf@funcname}{#1}\renewcommand{\functionautorefname}{#2}}% +\newcommand{\@algocf@titleofalgoname}{\algorithmcfname}% +\newcommand{\@algocf@algotitleofalgo}{% + \renewcommand{\@algocf@titleofalgoname}{\algorithmcfname}}% +\newcommand{\@algocf@proctitleofalgo}{% + \renewcommand{\@algocf@titleofalgoname}{\algocf@procname}}% +% +\newcommand{\algocf@style}{plain}% +\newcommand{\@ResetCounterIfNeeded}{}% +\newcommand{\@titleprefix}{}% +% +\newcommand{\algocf@numbering}[1]{\newcommand{\algocf@within}{#1}}% +% +\newcommand{\defaultsmacros@algo}{\algocf@defaults@shortend}% +% +\newcommand{\algocf@list}{loa}% +\newcommand{\algocf@float}{algocf}% +% +\newcommand{\algocf@envname}{algorithm}% +\newcommand{\algocf@listofalgorithms}{listofalgorithms}% +% +% +%% redefine chapter so that it adds a vspace in the loa as the original does for lof and lot +\let\algocf@original@chapter=\chapter% +\def\chapter{\expandafter\addtocontents{loa}{\protect\addvspace{10\p@}}\algocf@original@chapter}% +% +%% if@restonecol is defined in article and book but some other classes don't define it and we need it, so we do +\ifx\if@restonecol\relax\else\newif\if@restonecol\fi% +% +% +%%%%%%%%%%%%%%%%%%%%%% Declaration of Options %%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\RequirePackage{ifthen}% +% +\newboolean{algocf@nokwfunc}\setboolean{algocf@nokwfunc}{false}% +\DeclareOption{nokwfunc}{% + \setboolean{algocf@nokwfunc}{true}% +}% +% +\newboolean{algocf@oldcommands}\setboolean{algocf@oldcommands}{false}% +\DeclareOption{oldcommands}{% + \setboolean{algocf@oldcommands}{true}% +}% +% +\newboolean{algocf@leftlinenumber}\setboolean{algocf@leftlinenumber}{true}% +\newcommand{\setLeftLinesNumbers}{\setboolean{algocf@leftlinenumber}{true}}% +\newcommand{\setRightLinesNumbers}{\setboolean{algocf@leftlinenumber}{false}}% +\DeclareOption{rightnl}{% + \setRightLinesNumbers% +}% +% +\newboolean{algocf@endfloat}\setboolean{algocf@endfloat}{false}% +\DeclareOption{endfloat}{% + \setboolean{algocf@endfloat}{true}% + \newcounter{postalgo}\setcounter{postalgo}{0}% +}% +% +\newboolean{algocf@procnumbered}\setboolean{algocf@procnumbered}{false}% +\DeclareOption{procnumbered}{% + \setboolean{algocf@procnumbered}{true}% +}% +% +\DeclareOption{algo2e}{% + \renewcommand{\algocf@envname}{algorithm2e}% + \renewcommand{\algocf@listofalgorithms}{listofalgorithmes}% +}% +% +\newboolean{algocf@slide}\setboolean{algocf@slide}{false}% +\DeclareOption{slide}{% + \setboolean{algocf@slide}{true}% +}% +% +\DeclareOption{figure}{% +\renewcommand{\algocf@list}{lof}% +\renewcommand{\algocf@float}{figure}% +}% +% +\newboolean{algocf@optonelanguage}\setboolean{algocf@optonelanguage}{false}% +\DeclareOption{onelanguage}{\setboolean{algocf@optonelanguage}{true}}% +% +\newcommand{\algocf@languagechoosen}{english}% +% +\DeclareOption{english}{% +\renewcommand{\listalgorithmcfname}{List of Algorithms}% +\renewcommand{\algorithmcfname}{Algorithm}% +\renewcommand{\algorithmautorefname}{algorithm}% +\renewcommand{\algorithmcflinename}{line}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedure}% +\renewcommand{\@algocf@funcname}{Function}% +\renewcommand{\procedureautorefname}{procedure}% +\renewcommand{\functionautorefname}{function}% +\renewcommand{\algocf@languagechoosen}{english}% +}% +% +\DeclareOption{french}{% +\renewcommand{\listalgorithmcfname}{Liste des Algorithmes}% +\renewcommand{\algorithmcfname}{Algorithme}% +\renewcommand{\algorithmautorefname}{algorithme}% +\renewcommand{\algorithmcflinename}{ligne}% +\renewcommand{\algocf@typo}{\ }% +\renewcommand{\@algocf@procname}{Procédure}% +\renewcommand{\@algocf@funcname}{Fonction}% +\renewcommand{\procedureautorefname}{procédure}% +\renewcommand{\functionautorefname}{fonction}% +\renewcommand{\algocf@languagechoosen}{french}% +}% +% +\DeclareOption{czech}{% +\renewcommand{\listalgorithmcfname}{Seznam algoritm\v{u}}% +\renewcommand{\algorithmcfname}{Algoritmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Radek}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedura}% +\renewcommand{\@algocf@funcname}{Funkce}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{czech}% +}% +% +\DeclareOption{german}{% +\renewcommand{\listalgorithmcfname}{Liste der Algorithmen}% +\renewcommand{\algorithmcfname}{Algorithmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Zeile}% +\renewcommand{\algocf@typo}{\ }% +\renewcommand{\@algocf@procname}{Prozedur}% +\renewcommand{\@algocf@funcname}{Funktion}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{german}% +}% +% +\DeclareOption{portuguese}{% +\renewcommand{\listalgorithmcfname}{Lista de Algoritmos}% +\renewcommand{\algorithmcfname}{Algoritmo}% +\renewcommand{\algorithmautorefname}{algoritmo}% +\renewcommand{\algorithmcflinename}{linha}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedimento}% +\renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}% +\renewcommand{\procedureautorefname}{procedimento}% +\renewcommand{\functionautorefname}{fun\c{c}\~{a}o}% +\renewcommand{\algocf@languagechoosen}{portuguese}% +}% +% +\DeclareOption{italiano}{% +\renewcommand{\listalgorithmcfname}{Elenco degli algoritmi}% +\renewcommand{\algorithmcfname}{Algoritmo}% +\renewcommand{\algorithmautorefname}{algoritmo}% +\renewcommand{\algorithmcflinename}{riga}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Procedura}% +\renewcommand{\@algocf@funcname}{Funzione}% +\renewcommand{\procedureautorefname}{procedura}% +\renewcommand{\functionautorefname}{funzione}% +\renewcommand{\algocf@languagechoosen}{italiano}% +}% +\DeclareOption{slovak}{% +\renewcommand{\listalgorithmcfname}{Zoznam algoritmov}% +\renewcommand{\algorithmcfname}{Algoritmus}% +\renewcommand{\algorithmautorefname}{\algorithmcfname}% +\renewcommand{\algorithmcflinename}{Radek}% +\renewcommand{\algocf@typo}{}% +\renewcommand{\@algocf@procname}{Proced\'{u}ra}% +\renewcommand{\@algocf@funcname}{Funkcia}% +\renewcommand{\procedureautorefname}{\@algocf@procname}% +\renewcommand{\functionautorefname}{\@algocf@funcname}% +\renewcommand{\algocf@languagechoosen}{slovak}% +}% +% +% OPTIONs plain, boxed, ruled, algoruled & boxruled +% +\newcommand{\algocf@style@plain}{\renewcommand{\algocf@style}{plain}}% +\newcommand{\algocf@style@boxed}{\renewcommand{\algocf@style}{boxed}}% +\newcommand{\algocf@style@ruled}{\renewcommand{\algocf@style}{ruled}}% +\newcommand{\algocf@style@algoruled}{\renewcommand{\algocf@style}{algoruled}}% +\newcommand{\algocf@style@boxruled}{\renewcommand{\algocf@style}{boxruled}}% +\newcommand{\algocf@style@tworuled}{\renewcommand{\algocf@style}{tworuled}}% +\newcommand{\RestyleAlgo}[1]{\csname algocf@style@#1\endcsname}% +\DeclareOption{plain}{\algocf@style@plain}% +\DeclareOption{boxed}{\algocf@style@boxed}% +\DeclareOption{ruled}{\algocf@style@ruled}% +\DeclareOption{algoruled}{\algocf@style@algoruled}% +\DeclareOption{boxruled}{\algocf@style@boxruled}% +\DeclareOption{tworuled}{\algocf@style@tworuled}% +% +% OPTIONs algopart,algochapter & algosection +% +\DeclareOption{algopart}{\algocf@numbering{part}}% %algo part numbered +\DeclareOption{algochapter}{\algocf@numbering{chapter}}% %algo chapter numbered +\DeclareOption{algosection}{\algocf@numbering{section}}% %algo section numbered +% +% OPTIONs resetcount & noresetcount +% +\DeclareOption{resetcount}{\renewcommand{\@ResetCounterIfNeeded}{\setcounter{AlgoLine}{0}}}% +\DeclareOption{noresetcount}{\renewcommand{\@ResetCounterIfNeeded}{}}% +% +% OPTION linesnumbered +% +\newboolean{algocf@linesnumbered}\setboolean{algocf@linesnumbered}{false}% +\newcommand{\algocf@linesnumbered}{\relax}% +\DeclareOption{linesnumbered}{% + \setboolean{algocf@linesnumbered}{true}% + \renewcommand{\algocf@linesnumbered}{\everypar={\nl}}% +}% +% +% OPTION linesnumberedhidden +% +\DeclareOption{linesnumberedhidden}{% + \setboolean{algocf@linesnumbered}{true}% + \renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}% +}% +% +% OPTION commentsnumbered inoutnumbered +% +\newboolean{algocf@commentsnumbered}\setboolean{algocf@commentsnumbered}{false}% +\DeclareOption{commentsnumbered}{\setboolean{algocf@commentsnumbered}{true}}% +\newboolean{algocf@inoutnumbered}\setboolean{algocf@inoutnumbered}{false}% +\DeclareOption{inoutnumbered}{\setboolean{algocf@inoutnumbered}{true}}% +% +% OPTIONs titlenumbered & titlenotnumbered +% +\DeclareOption{titlenumbered}{% + \renewcommand{\@titleprefix}{% + \refstepcounter{\algocf@float}% + \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\ \expandafter\csname the\algocf@float\endcsname\algocf@typo: }% + }% +}% +% +\DeclareOption{titlenotnumbered}{\renewcommand{\@titleprefix}{% + \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\algocf@typo: }}% +}% +% +% OPTIONs algonl +% line numbered with the counter of the algorithm +% +\DeclareOption{algonl}{\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname.\arabic{AlgoLine}}}% +% +% OPTIONs lined, vlined & noline +% +\DeclareOption{lined}{\AtBeginDocument{\SetAlgoLined}}% \SetAlgoLined +\DeclareOption{vlined}{\AtBeginDocument{\SetAlgoVlined}}% \SetAlgoVlined +\DeclareOption{noline}{\AtBeginDocument{\SetAlgoNoLine}}%\SetAlgoNoLine (default) +% +% OPTIONs longend, shotend & noend +% +\DeclareOption{longend}{\AtBeginDocument{\SetAlgoLongEnd}}% \SetAlgoLongEnd +\DeclareOption{shortend}{\AtBeginDocument{\SetAlgoShortEnd}}%\SetAlgoShortEnd +\DeclareOption{noend}{\AtBeginDocument{\SetAlgoNoEnd}}% \SetAlgoNoEnd +% +% OPTION dotoc +% +\newboolean{algocf@dotocloa}\setboolean{algocf@dotocloa}{false}% +\DeclareOption{dotocloa}{% + \setboolean{algocf@dotocloa}{true}% +} +% +% OPTION comments +% +\newboolean{algocf@optfillcomment}\setboolean{algocf@optfillcomment}{true}% +\DeclareOption{nofillcomment}{% + \setboolean{algocf@optfillcomment}{false}% +}% +\DeclareOption{fillcomment}{% + \setboolean{algocf@optfillcomment}{true}% +}% +% +% OPTION sidecommments +% +\newboolean{algocf@scleft}\setboolean{algocf@scleft}{false}% +\DeclareOption{scleft}{% + \setboolean{algocf@scleft}{true}% +}% +\DeclareOption{sright}{% default + \setboolean{algocf@scleft}{false}% +}% +% +% OPTION norelsize +% +\newboolean{algocf@norelsize}\setboolean{algocf@norelsize}{false}% +\DeclareOption{norelsize}{% + \setboolean{algocf@norelsize}{true}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%% Execution of Options %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\ExecuteOptions{english,plain,resetcount,titlenotnumbered,lined,shortend}% +% +\ProcessOptions% +% +\@algocf@algotitleofalgo% fix name for \TitleOfAlgo to \algorithmcfname by default +% +%%%%%%%%%%%%%%%%%%%%%%%%%% Package Loading %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +\RequirePackage{xspace}% +% +\ifthenelse{\boolean{algocf@endfloat}}{% + \RequirePackage{endfloat}% +}{\relax}% +% +\ifthenelse{\boolean{algocf@norelsize}}{% + \newcommand{\relsize}[1]{\scriptsize}% +}{% + \RequirePackage{relsize}% +}% +% +\ifthenelse{\boolean{algocf@slide}}{\RequirePackage{color}}{}% +% + +\AtEndOfPackage{% + \ifthenelse{\boolean{algocf@dotocloa}}{% + \renewcommand{\listofalgorithmes}{\tocfile{\listalgorithmcfname}{loa}}% + }{\relax}% +}% +% +% if loa in toc required, load tocbibind package if not already done. +\ifthenelse{\boolean{algocf@dotocloa}}{% + \ifx\@tocextra\undefined% + \RequirePackage{tocbibind}% + \fi% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcommand{\algocf@name}{algorithm2e}% +\newcommand{\algocf@date}{december 14 2009}% +\newcommand{\algocf@version}{Release 4.01}% +\newcommand{\algocf@id}{\algocf@version\space -- \algocf@date\space --}% +\typeout{********************************************************^^JPackage `\algocf@name'\space\algocf@id^^J% + - algorithm2e-announce@lirmm.fr mailing list for announcement about releases^^J% + - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J% + subscribe by emailing sympa@lirmm.fr with 'subscribe '^^J% + - Author: Christophe Fiorio (fiorio@lirmm.fr)^^J********************************************************}% +%% +%% +%% +%% +%% +%% +%%%% hyperref compatibility tricks: Hyperref package defines H counters from + % standard counters (i.e \theHpage from \thepage) and check some particular + % counters of some packages, unfortunately it doesn't do the same for + % algorithm2e package but act as Hcounter was defined. To avoid errors we + % defined \theHalgocf ourself +%%%% +% +\@ifundefined{theHalgocf}{\def\theHalgocf{\thealgocf}}{}% +\@ifundefined{theHAlgoLine}{\def\theHAlgoLine{\theAlgoLine}}{}% +\@ifundefined{theHalgocfproc}{\def\theHalgocfproc{0}}{}% +\@ifundefined{theHalgocffunc}{\def\theHalgocffunc{0}}{}% +\@ifundefined{toclevel@algocf}{\def\toclevel@algocf{0}}{}% +% +% autoref from hyperref needs an autorefname, so we give it. +\def\AlgoLineautorefname{\algorithmcflinename}% +\def\algocfautorefname{\algorithmautorefname}% +\def\algocfprocautorefname{\procedureautorefname}% +\def\algocffuncautorefname{\functionautorefname}% +%% +%% +%% +\newcommand{\@defaultskiptotal}{0.5em}% +\newskip\skiptotal\skiptotal=0.5em% +\newskip\skiplinenumber\skiplinenumber=\hsize\advance\skiplinenumber by-\skiptotal% +\newskip\skiprule% +\newskip\skiphlne% +\newskip\skiptext% +\newskip\skiplength% +\newskip\algomargin% +\newskip\skipalgocfslide\skipalgocfslide=1em% +\newdimen\algowidth% +\newdimen\inoutsize% +\newdimen\inoutline% +\newdimen\interspacetitleruled\setlength{\interspacetitleruled}{2pt}% +\newdimen\interspacealgoruled\setlength{\interspacealgoruled}{2pt}% +\newdimen\interspacetitleboxruled\setlength{\interspacetitleboxruled}{2\lineskip}% +% +\newcommand{\@algoskip}{\smallskip}% +\newcommand{\SetAlgoSkip}[1]{\renewcommand{\@algoskip}{\csname#1\endcsname}}% +\newcommand{\@algoinsideskip}{\relax}% +\newcommand{\SetAlgoInsideSkip}[1]{\renewcommand{\@algoinsideskip}{\csname#1\endcsname}}% +% +\newsavebox{\algocf@inoutbox}% +\newsavebox{\algocf@inputbox}% +%% +%% +\newcommand{\arg@e}{}% +\newcommand{\arg@space}{\ }% +\newcommand{\BlankLine}{\vskip 1ex}% +%% +\newcommand{\vespace}{1ex}% +\newcommand{\SetInd}[2]{% +\skiprule=#1% +\skiptext=#2% +\skiplength=\skiptext\advance\skiplength by \skiprule\advance\skiplength by 0.4pt}% +\SetInd{0.5em}{1em} +\algomargin=\leftskip\advance\algomargin by \parindent% +\newcommand{\IncMargin}[1]{\advance\algomargin by #1}% +\newcommand{\DecMargin}[1]{\advance\algomargin by -#1}% +\newcommand{\SetNlSkip}[1]{% + \renewcommand{\@defaultskiptotal}{#1}% + \setlength{\skiptotal}{#1}}% +%% +\newskip\AlCapSkip\AlCapSkip=0ex% +\newskip\AlCapHSkip\AlCapSkip=0ex% +\newcommand{\SetAlCapSkip}[1]{\setlength{\AlCapSkip}{#1}}% +\newcommand{\SetAlCapHSkip}[1]{\setlength{\AlCapHSkip}{#1}}% +\SetAlCapHSkip{.5\algomargin}% +%% +%% +\newcommand{\Indentp}[1]{\advance\leftskip by #1}% +\newcommand{\Indp}{\advance\leftskip by 1em}% +\newcommand{\Indpp}{\advance\leftskip by 0.5em}% +\newcommand{\Indm}{\advance\leftskip by -1em}% +\newcommand{\Indmm}{\advance\leftskip by -0.5em}% +%% +%% +%% Line Numbering +%% +%% +% number line style +\newcommand{\algocf@nlrelsize}{-2}\newcommand{\SetAlgoNlRelativeSize}[1]{\renewcommand{\algocf@nlrelsize}{#1}}% +\newcommand{\NlSty}[1]{\textnormal{\textbf{\relsize{\algocf@nlrelsize}#1}}}% default definition +\newcommand{\SetNlSty}[3]{\renewcommand{\NlSty}[1]{\textnormal{\csname#1\endcsname{\relsize{\algocf@nlrelsize}#2##1#3}}}}% +% +% nl definitions +% +\newsavebox{\algocf@nlbox}% +\newcommand{\algocf@printnl}[1]{% + \ifthenelse{\boolean{algocf@leftlinenumber}}{% + \skiplinenumber=\skiptotal\advance\skiplinenumber by\leftskip% + \strut\raisebox{0pt}{\llap{\NlSty{#1}\kern\skiplinenumber}}\ignorespaces% + }{% + \sbox\algocf@nlbox{\NlSty{#1}}% + \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip\advance\skiplinenumber by-\skiptext% + \advance\skiplinenumber by\algomargin\advance\skiplinenumber by.3em\advance\skiplinenumber by-\wd\algocf@nlbox% + \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\NlSty{#1\ignorespaces}}}\ignorespaces% + }% +}% +\newcommand{\algocf@nl@sethref}[1]{% + \renewcommand{\theHAlgoLine}{\thealgocfproc.#1}% + \hyper@refstepcounter{AlgoLine}\gdef\@currentlabel{#1}% +}% +\newcommand{\nl}{% + \@ifundefined{hyper@refstepcounter}{% if not hyperref then do a simple refstepcounter + \refstepcounter{AlgoLine}% + }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href + \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% + }% now we can do the line numbering + \algocf@printnl{\theAlgoLine}% +}% +% +\newcommand{\nllabel}[1]{\label{#1}}% +% +\newcommand{\enl}{% + \@ifundefined{hyper@refstepcounte}{% if not hyperref then do a simple refstepcounter + \refstepcounter{AlgoLine}% + }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href + \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}% + }% now we can do the line numbering + \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip% + \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\strut\NlSty{\theAlgoLine}}}\ignorespaces% +} +%% nlset +\newcommand{\nlset}[1]{% + \@ifundefined{hyper@refstepcounter}{\protected@edef\@currentlabel{#1}}{\algocf@nl@sethref{#1}}\algocf@printnl{#1}% +}% +% +%% lnl definitions +\newcommand{\lnl}[1]{\nl\label{#1}}% +% +%% lnlset +\newcommand{\lnlset}[2]{\nlset{#2}\label{#1}}% +% +% set char put at end of each line +% +\newcommand{\algocf@endline}{\string;} +\newcommand{\SetEndCharOfAlgoLine}[1]{\renewcommand{\algocf@endline}{#1}} +% +% end of line definition +% +\newcommand{\@endalgocfline}{\algocf@endline}% default definition: printsemicolon +\newcommand{\DontPrintSemicolon}{\renewcommand{\@endalgocfline}{\relax}}% +\newcommand{\PrintSemicolon}{\renewcommand{\@endalgocfline}{\algocf@endline}}% +\newcommand{\@endalgoln}{\@endalgocfline\hfill\strut\par}% +% +% line numbering +% +\newcommand{\LinesNumbered}{\setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar={\nl}}}% +\newcommand{\LinesNotNumbered}{% + \setboolean{algocf@linesnumbered}{false}% + \renewcommand{\algocf@linesnumbered}{\relax}% +}% +% +\newcommand{\LinesNumberedHidden}{% + \setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}}% +\newcommand{\ShowLn}{\nlset{\theAlgoLine}\ignorespaces}% display the line number on this line (without labelling) +\newcommand{\ShowLnLabel}[1]{\lnlset{#1}{\theAlgoLine}\ignorespaces}% display the line number and label this line +% +%% +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Styling text commands +% +\newcommand{\AlFnt}{\relax}% default definition +\newcommand{\SetAlFnt}[1]{\renewcommand{\AlFnt}{#1}}% +\newcommand{\AlTitleFnt}{\relax}% default definition +\newcommand{\SetAlTitleFnt}[1]{\renewcommand{\AlTitleFnt}{#1}}% +% +\newcommand{\AlCapFnt}{\relax}% default definition +\newcommand{\SetAlCapFnt}[1]{\renewcommand{\AlCapFnt}{#1}}% +\newcommand{\AlCapNameFnt}{\relax}% default definition +\newcommand{\SetAlCapNameFnt}[1]{\renewcommand{\AlCapNameFnt}{#1}}% +% +\newcommand{\ProcFnt}{\relax}% default definition +\newcommand{\SetProcFnt}[1]{\renewcommand{\ProcFnt}{#1}}% +\newcommand{\ProcNameFnt}{\relax}% default definition +\newcommand{\SetProcNameFnt}[1]{\renewcommand{\ProcNameFnt}{#1}}% +\newcommand{\ProcArgFnt}{\relax}% default definition +\newcommand{\SetProcArgFnt}[1]{\renewcommand{\ProcArgFnt}{#1}}% +% +\newcommand{\AlTitleSty}[1]{\textbf{#1}\unskip}% default definition +\newcommand{\SetAlTitleSty}[1]{\renewcommand{\AlTitleSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\AlCapSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition +\newcommand{\SetAlCapSty}[1]{\renewcommand{\AlCapSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\AlCapNameSty}[1]{\textnormal{#1}\unskip}% default definition +\newcommand{\SetAlCapNameSty}[1]{\renewcommand{\AlCapNameSty}[1]{\textnormal{\csname #1\endcsname{##1}}\unskip}}% +% +\newcommand{\ProcSty}[1]{\AlCapSty{#1}}% +\newcommand{\SetProcSty}[1]{\renewcommand{\ProcSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ProcNameSty}[1]{\AlCapNameSty{#1}}% +\newcommand{\SetProcNameSty}[1]{\renewcommand{\ProcNameSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ProcArgSty}[1]{\AlCapNameSty{#1}}% +\newcommand{\SetProcArgSty}[1]{\renewcommand{\ProcArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +% +\newcommand{\KwSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition +\newcommand{\SetKwSty}[1]{\renewcommand{\KwSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\ArgSty}[1]{\textnormal{\emph{#1}}\unskip}%\SetArgSty{emph} +\newcommand{\SetArgSty}[1]{\renewcommand{\ArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\FuncSty}[1]{\textnormal{\texttt{#1}}\unskip}%\SetFuncSty{texttt} +\newcommand{\SetFuncSty}[1]{\renewcommand{\FuncSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\DataSty}[1]{\textnormal{\textsf{#1}}\unskip}%%\SetDataSty{textsf} +\newcommand{\SetDataSty}[1]{\renewcommand{\DataSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\CommentSty}[1]{\textnormal{\texttt{#1}}\unskip}%%\SetDataSty{texttt} +\newcommand{\SetCommentSty}[1]{\renewcommand{\CommentSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}% +\newcommand{\TitleSty}[1]{#1\unskip}%\SetTitleSty{}{} +\newcommand{\SetTitleSty}[2]{\renewcommand{\TitleSty}[1]{% +\csname#1\endcsname{\csname#2\endcsname##1}}\unskip}% +% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Block basic commands +% +\newcommand{\algocf@push}[1]{\advance\skiptotal by #1\moveright #1}% +\newcommand{\algocf@pop}[1]{\advance\skiptotal by -#1}% +\newcommand{\algocf@addskiptotal}{\advance\skiptotal by 0.4pt\advance\hsize by -0.4pt}% 0.4 pt=width of \vrule +\newcommand{\algocf@subskiptotal}{\advance\skiptotal by -0.4pt\advance\hsize by 0.4pt}% 0.4 pt=width of \vrule +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% group of instructions definition +% +\skiphlne=.8ex% +\newcommand{\SetVlineSkip}[1]{\skiphlne=#1}% +% +%% block with a vertical line end by a little horizontal line +\newcommand{\algocf@Vline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% move to the right before the vertical rule + \hbox{\vrule% + \vtop{\algocf@push{\skiptext}%move the right after the rule + \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}\Hlne}}\vskip\skiphlne% inside the block + \algocf@pop{\skiprule}%\algocf@subskiptotal% restore indentation + \nointerlineskip}% no vskip after +% +%% block with a vertical line +\newcommand{\algocf@Vsline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% move to the right before the vertical rule + \hbox{\vrule% the vertical rule + \vtop{\algocf@push{\skiptext}%move the right after the rule + \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}}}% inside the block + \algocf@pop{\skiprule}}% restore indentation +% +\newcommand{\algocf@Hlne}{\hrule height 0.4pt depth 0pt width .5em}% +% +%% block without line +\newcommand{\algocf@Noline}[1]{% no vskip in between boxes but a strut to separate them, + \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it + \algocf@push{\skiprule}% + \hbox{% + \vtop{\algocf@push{\skiptext}% + \vtop{\advance\hsize by -\skiplength #1}}}% inside the block + \algocf@pop{\skiprule}% + % \nointerlineskip% no vskip after +}% +% +%% default=NoLine +% +\newcommand{\algocf@group}[1]{\algocf@Noline{##1}}% group: set of instruction depending from another (ex: then part of the If) +\newcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\par}% block: group with a end keyword. +\newcommand{\algocf@block}[2]{\algocf@@block{#1}{#2}}% command that will be used and redefined accordingly to noend option +\newcommand{\algocf@setBlock}{% + \ifthenelse{\boolean{algocf@optnoend}}{% if no end option + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% block will be a group + }{% else + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% block stays a block + }% +}% +% +\newcommand{\Hlne}{}% little hrizontal line ending a block in vline mode +% +\newcommand{\@algocf@endoption}[1]{#1}% +\newboolean{algocf@optnoend}\setboolean{algocf@optnoend}{false}% +% +\newcommand{\SetAlgoLongEnd}{%%%%%%%%%%%%%%%%%%%%%%%%% Long End + \setboolean{algocf@optnoend}{false}% + \renewcommand{\@algocf@endoption}[1]{##1}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoShortEnd}{%%%%%%%%%%%%%%%%%%%%%%%% ShortEnd + \setboolean{algocf@optnoend}{false}% + \renewcommand{\@algocf@endoption}[1]{\@firstword##1 \@nil}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoNoEnd}{%%%%%%%%%%%%%%%%%%%%%%%%%%% NoEnd + \setboolean{algocf@optnoend}{true}% + \renewcommand{\@algocf@endoption}[1]{}% + \algocf@setBlock}% +% +\newcommand{\SetAlgoNoLine}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\strut\par}% +\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% +\renewcommand{\Hlne}{}}% +% +\newcommand{\SetAlgoVlined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Vline +\renewcommand{\algocf@@block}[2]{\algocf@Vline{##1}}% +\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% +\renewcommand{\Hlne}{\algocf@Hlne}}% +% +\newcommand{\SetAlgoLined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Line +\renewcommand{\algocf@@block}[2]{\strut\algocf@Vsline{##1}\KwSty{##2}\strut\par}% no skip after a block so garantie at least a line +\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}% +\renewcommand{\Hlne}{}}% +% +\newcommand{\SetNothing}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline +\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\par}% +%\long +\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}% +\renewcommand{\Hlne}{}}% +% +%% +%% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ``Input :'''s like command +% +%%% +% text staying at the right of the longer keyword of KwInOut commands +% (text of KwInOut commands are all vertically aligned) +% +\newcommand{\algocf@newinout}{\par\parindent=\wd\algocf@inoutbox}% to put right indentation after a \\ in the KwInOut +\newcommand{\SetKwInOut}[2]{% + \sbox\algocf@inoutbox{\KwSty{#2}\algocf@typo:}% + \expandafter\ifx\csname InOutSizeDefined\endcsname\relax% if first time used + \newcommand\InOutSizeDefined{}\setlength{\inoutsize}{\wd\algocf@inoutbox}% + \else% else keep the larger dimension + \ifdim\wd\algocf@inoutbox>\inoutsize\setlength{\inoutsize}{\wd\algocf@inoutbox}\fi% + \fi% the dimension of the box is now defined. + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% + {\let\\\algocf@newinout\hangindent=\wd\algocf@inoutbox\hangafter=1\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~##1\par}% + \algocf@linesnumbered% reset the numbering of the lines + }}% +% +%% allow to ajust the skip size of InOut +%% +\newcommand{\ResetInOut}[1]{% + \sbox\algocf@inoutbox{\hbox{\KwSty{#1}\algocf@typo:\ }}% + \setlength{\inoutsize}{\wd\algocf@inoutbox}% + }% +% +% +%%% +% text staying at the right of the keyword. +% +\newcommand{\algocf@newinput}{\par\parindent=\wd\algocf@inputbox}% to put right indentation after a \\ in the KwInput +\newcommand{\SetKwInput}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \sbox\algocf@inputbox{\hbox{\KwSty{#2}\algocf@typo: }}% + \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}% + {\let\\\algocf@newinput\hangindent=\wd\algocf@inputbox\hangafter=1\unhbox\algocf@inputbox##1\par}% + \algocf@linesnumbered% reset the numbering of the lines + }}% +\newcommand{\SetKwData}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\DataSty{#2(}\ArgSty{##1}\DataSty{)}}% + \expandafter\algocf@mkcmd\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% + }% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% tallent: +% +% Add following macros: +% \SetKwHangingKw: [kw] ------------ <= hanging determined by [kw] +% ------------ +% Should act like a combination of \SetKwInput and \SetKw. +% Based on \SetKwInput: +% - remove ':' at end of keyword +% - do not reset numbering +% - use separate savebox +\newsavebox{\algocf@hangingbox} +\newcommand{\algocf@newhanging}{\par\parindent=\wd\algocf@hangingbox}% to put right indentation after a \\ in the KwInput +\newcommand{\SetKwHangingKw}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname#1\endcsname[1]{% + \sbox\algocf@hangingbox{\hbox{\KwSty{#2}\algocf@typo\ }}% + {\let\\\algocf@newhanging\hangindent=\wd\algocf@hangingbox\hangafter=1\unhbox\algocf@hangingbox##1\;}% + }% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Comments macros +% +%%%% +% comment in the text, first argument is the name of the macro, second is +% the text put before the comment, third is the text put at the end of the +% comment. +% +% first side comment justification +\newcommand{\SetSideCommentLeft}{\setboolean{algocf@scleft}{true}}% +\newcommand{\SetSideCommentRight}{\setboolean{algocf@scleft}{false}}% +\newcommand{\SetNoFillComment}{\setboolean{algocf@optfillcomment}{false}}% +\newcommand{\SetFillComment}{\setboolean{algocf@optfillcomment}{true}}% +% +% next comment and side comment +% +\newcommand{\algocf@endmarkcomment}{\relax}% +\newcommand{\algocf@fillcomment}{% + \ifthenelse{\boolean{algocf@optfillcomment}}{\hfill}{\relax}}% +% +\newcommand{\algocf@startcomment}{% + \hangindent=\wd\algocf@inputbox\hangafter=1\usebox\algocf@inputbox}% +\newcommand{\algocf@endcomment}{\algocf@fillcomment\algocf@endmarkcomment\ignorespaces\par}% +\newcommand{\algocf@endstartcomment}{\algocf@endcomment\algocf@startcomment\ignorespaces}% +% +\newboolean{algocf@sidecomment}% +\newboolean{algocf@altsidecomment}\setboolean{algocf@altsidecomment}{false}% +\newcommand{\algocf@scpar}{\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\par}}% +\newcommand{\algocf@sclfill}{\ifthenelse{\boolean{algocf@scleft}}{\algocf@fillcomment}{\relax}}% +\newcommand{\algocf@scrfill}{\ifthenelse{\boolean{algocf@scleft}}{\relax}{\hfill}}% +\newcommand{\algocf@startsidecomment}{\usebox\algocf@inputbox}% +\newcommand{\algocf@endsidecomment}{\algocf@endmarkcomment\algocf@scpar}% +\newcommand{\algocf@endstartsidecomment}{% + \algocf@sclfill\algocf@endsidecomment% + \algocf@scrfill\algocf@startsidecomment\ignorespaces}% +% +\newcommand{\SetKwComment}[3]{% + % newcommand or renewcommand ? + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + %%% comment definition + \expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{% + \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% + \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% + {\renewcommand{\algocf@endmarkcomment}{#3}% + \let\\\algocf@endstartcomment% + \algocf@startcomment\CommentSty{% + \strut\ignorespaces##1\strut\algocf@fillcomment#3}\par}% + \algocf@linesnumbered% reset the numbering of the lines + }% + %%% side comment definitions + % option or not? + \expandafter\algocf@mkcmd\csname algocf@#1@star\endcsname{% + \@ifnextchar [{\csname algocf@#1@staropt\endcsname}{\csname algocf@#1@sidecomment\endcsname}% + }% + % manage option + \expandafter\def\csname algocf@#1@staropt\endcsname[##1]##2{% + \ifthenelse{\boolean{algocf@scleft}}{\setboolean{algocf@sidecomment}{true}}{\setboolean{algocf@sidecomment}{false}}% + \ifx##1h\setboolean{algocf@altsidecomment}{true}\SetSideCommentLeft\fi% + \ifx##1f\setboolean{algocf@altsidecomment}{true}\SetSideCommentRight\fi% + \ifx##1l\setboolean{algocf@altsidecomment}{false}\SetSideCommentLeft\fi% + \ifx##1r\setboolean{algocf@altsidecomment}{false}\SetSideCommentRight\fi% + \csname algocf@#1@sidecomment\endcsname{##2}% call sidecomment + \ifthenelse{\boolean{algocf@sidecomment}}{\setboolean{algocf@scleft}{true}}{\setboolean{algocf@scleft}{false}}% + \setboolean{algocf@altsidecomment}{false}% + }% + % side comment + \expandafter\algocf@mkcmd\csname algocf@#1@sidecomment\endcsname[1]{% + \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}% + \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}% + {% + \renewcommand{\algocf@endmarkcomment}{#3}% + \let\\\algocf@endstartsidecomment% + % here is the comment + %\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\algocf@endline\ }% + \ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\@endalgocfline\ }% + \algocf@scrfill\algocf@startsidecomment\CommentSty{% + \strut\ignorespaces##1\strut\algocf@sclfill#3}\algocf@scpar% + }% + \algocf@linesnumbered% reset the numbering of the lines + } + \expandafter\algocf@mkcmd\csname#1\endcsname{\@ifstar{\csname algocf@#1@star\endcsname}{\csname algocf@#1\endcsname}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Kw +% +\newcommand{\SetKw}[2]{% + \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% + \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\KwSty{#2} \ArgSty{##1}}% + \expandafter\algocf@mkcmd\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\KwSty{#2}\xspace}}% + }% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwFunction +% +\newcommand{\SetKwFunction}[2]{% +%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc + \expandafter\gdef\csname @#1\endcsname##1{\FuncSty{#2(}\ArgSty{##1}\FuncSty{)}}% + \expandafter\gdef\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\FuncSty{#2}\xspace}}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwTab +% +\newcommand{\SetKwArray}[2]{% +%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc + \expandafter\gdef\csname @#1\endcsname##1{\DataSty{#2[}\ArgSty{##1}\DataSty{]}}% + \expandafter\gdef\csname#1\endcsname{% + \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% KwBlock +% +\newcommand{\SetKwBlock}[3]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%Begin + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2{% \Begin(){} + \KwSty{#2} ##1\algocf@block{##2}{\@algocf@endoption{#3}}% + \@ifnextchar({\csname algocf@#1end\endcsname}{\par}}% +% without side text at the beginning +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{% \Begin{} + \KwSty{#2}\algocf@block{##1}{\@algocf@endoption{#3}}\@ifnextchar({\csname algocf@#1end\endcsname}{\par}}% +% side text at the end +\expandafter\def\csname algocf@#1end\endcsname(##1){% \Begin{} + \ ##1\par}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% For Switch +% +\newcommand{\SetKwSwitch}[8]{% #1=\Switch #2=\Case #3=\Other #4=swicth #5=case #6=do #7=otherwise #8=endsw +%%%% Switch +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%Switch + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Switch(){}{} + \KwSty{#4} \ArgSty{##2} \KwSty{#5} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Switch{}{} + \KwSty{#4} \ArgSty{##1} \KwSty{#5}\algocf@block{##2}{\@algocf@endoption{#8}}}% +% side text at the end +\expandafter\def\csname algocf@#1end\endcsname(##1){% \Switch{}{}() +}% +% +%%%% Case +\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#2\endcsname{%Case + \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}% +\expandafter\def\csname u#2\endcsname{%uCase + \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}% +\expandafter\def\csname l#2\endcsname{%lCase + \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \Case(){}{} + \KwSty{#6} \ArgSty{##2} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}% +\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uCase(){}{} + \KwSty{#6} \ArgSty{##2} ##1\algocf@group{##3}}% +\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lCase(){}{} + \KwSty{#6} \ArgSty{##2} ##3\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \Case{}{} + \KwSty{#6} \ArgSty{##1}\algocf@block{##2}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uCase{}{} + \KwSty{#6} \ArgSty{##1}\algocf@group{##2}}% +\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lCase{}{} + \KwSty{#6} \ArgSty{##1} ##2}% +%%%% Other +\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#3\endcsname{%Other + \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}% +\expandafter\def\csname l#3\endcsname{%Other + \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Other(){}{} + \KwSty{#7} ##1\algocf@block{##2}{\@algocf@endoption{#8}}}% +\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \Other(){}{} + \KwSty{#7} ##2\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% default + \KwSty{#7}\algocf@block{##1}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% ldefault + \KwSty{#7} ##1}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% If macros +% +\newcommand{\SetKwIF}[8]{% #1=\If #2=\ElseIf #3=\Else #4=if #5=then #6=elseif si #7=else #8=endif +% +% common text +\@ifundefined{#1@ifthen}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #1@ifthen\endcsname[1]{% + \KwSty{#4} \ArgSty{##1} \KwSty{#5}}% +\expandafter\algocf@mkcmd\csname #1@endif\endcsname[1]{\algocf@block{##1}{\@algocf@endoption{#8}}}% +\expandafter\algocf@mkcmd\csname #1@noend\endcsname[1]{\algocf@group{##1}}% +\expandafter\algocf@mkcmd\csname #1@else\endcsname[1]{\algocf@group{##1}\KwSty{#7}}% +\@ifundefined{#2@elseif}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #2@elseif\endcsname[1]{% + \KwSty{#6} \ArgSty{##1} \KwSty{#5}}% +\@ifundefined{#3@else}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +\expandafter\algocf@mkcmd\csname #3@else\endcsname{\KwSty{#7}}% +%%%% If then { } endif +% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{% + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \If(){}{} + \csname #1@ifthen\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \If{}{} + \csname #1@ifthen\endcsname{##1}\csname #1@endif\endcsname{##2}}% +% +%%%% If then {} else {} endif +% +% side text or not? +\expandafter\def\csname e#1\endcsname{% + \@ifnextchar({\csname algocf@e#1thenopt\endcsname}{\csname algocf@e#1then\endcsname}}% +% with side text after if +\expandafter\def\csname algocf@e#1thenopt\endcsname(##1)##2##3{% \eIf() + \csname #1@ifthen\endcsname{##2} ##1\csname #1@else\endcsname{##3}% + \csname algocf@e#1thenelse\endcsname}% +% without side text after if +\expandafter\def\csname algocf@e#1then\endcsname##1##2{% \eIf() + \csname #1@ifthen\endcsname{##1}\csname #1@else\endcsname{##2}% + \csname algocf@e#1thenelse\endcsname}% +% side text after else or not ? +\expandafter\def\csname algocf@e#1thenelse\endcsname{% + \@ifnextchar({\csname algocf@e#1elseopt\endcsname}{\csname algocf@e#1else\endcsname}}% +% else with a side text +\expandafter\def\csname algocf@e#1elseopt\endcsname(##1)##2{% + ##1\csname #1@endif\endcsname{##2}}% +% else without side text +\expandafter\algocf@mkcmd\csname algocf@e#1else\endcsname[1]{% + \csname #1@endif\endcsname{##1}}% +% +%%%% If then +% +% side text or not? +\expandafter\def\csname l#1\endcsname{% lif + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +\expandafter\def\csname u#1\endcsname{% uif + \@ifnextchar({\csname algocf@u#1opt\endcsname}{\csname algocf@u#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lIf(){}{} + \csname #1@ifthen\endcsname{##2} ##3\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#1opt\endcsname(##1)##2##3{% \uIf(){}{} + \csname #1@ifthen\endcsname{##2} ##1\csname#1@noend\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lIf{}{} + \csname #1@ifthen\endcsname{##1} ##2}% +\expandafter\algocf@mkcmd\csname algocf@u#1\endcsname[2]{% \uIf{}{} + \csname #1@ifthen\endcsname{##1}\csname#1@noend\endcsname{##2}}% +% +%%%% ElseIf {} endif +% +\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#2\endcsname{% ElseIf + \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \ElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \ElseIf{}{} + \csname #2@elseif\endcsname{##1}\csname #1@endif\endcsname{##2}}% +% +%%%% ElseIf +% +% side text or not? +\expandafter\def\csname l#2\endcsname{% lElseIf + \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}% +\expandafter\def\csname u#2\endcsname{% uElseIf + \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##3\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uElseIf(){}{} + \csname #2@elseif\endcsname{##2} ##1\csname #1@noend\endcsname{##3}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lElseIf{}{} + \csname #2@elseif\endcsname{##1} ##2}% +\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uElseIf{}{} + \csname #2@elseif\endcsname{##1}\csname #1@noend\endcsname{##2}}% +% +%%%% Else {} endif +% +\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#3\endcsname{% Else + \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Else(){} + \csname #3@else\endcsname\ ##1\csname #1@endif\endcsname{##2}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% \Else{} + \csname #3@else\endcsname\csname #1@endif\endcsname{##1}}% +% +%%%% Else +% +% side text or not? +\expandafter\def\csname l#3\endcsname{% lElse + \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}% +\expandafter\def\csname u#3\endcsname{% uElse + \@ifnextchar({\csname algocf@u#3opt\endcsname}{\csname algocf@u#3\endcsname}}% +% with side text +\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \lElse(){} + \csname #3@else\endcsname\ ##2\algocf@endline\ ##1\par}% +\expandafter\def\csname algocf@u#3opt\endcsname(##1)##2{% \uElse(){} + \csname #3@else\endcsname\ ##1\csname #1@noend\endcsname{##2}}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% \lElse{} + \csname #3@else\endcsname\ ##1}% +\expandafter\algocf@mkcmd\csname algocf@u#3\endcsname[1]{% \uElse{} + \csname #3@else\endcsname\csname #1@noend\endcsname{##1}}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% For macros +% +\newcommand{\SetKwFor}[4]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{%For + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +\expandafter\def\csname l#1\endcsname{%For + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \For(){}{} + \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##1\algocf@block{##3}{\@algocf@endoption{#4}}}% +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lFor(){}{} + \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##3\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \For{}{} + \KwSty{#2} \ArgSty{##1} \KwSty{#3}\algocf@block{##2}{\@algocf@endoption{#4}}}% +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lFor{}{} + \KwSty{#2} \ArgSty{##1} \KwSty{#3} ##2}% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Repeat macros +% +\newcommand{\SetKwRepeat}[3]{% +\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}% +% side text or not? +\expandafter\def\csname#1\endcsname{% Repeat + \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}% +\expandafter\def\csname l#1\endcsname{% lRepeat + \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}% +% with side text +\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Repeat(){}{} + \KwSty{#2} ##1\algocf@group{##3}\KwSty{#3} \ArgSty{##2}% + \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}% +}% +\expandafter\def\csname algocf@#1optopt\endcsname(##1){% \Repeat(){}{}() + ##1\@endalgoln}% +\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lRepeat(){}{} + \KwSty{#2} ##3 \KwSty{#3} \ArgSty{##2}\algocf@endline\ ##1\par}% +% without side text +\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Repeat{}{} + \KwSty{#2}\algocf@group{##2}\KwSty{#3} \ArgSty{##1}% + \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}% +}% +\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lRepeat{}{} + \KwSty{#2} ##2 \KwSty{#3} \ArgSty{##1}}% +}% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%% Environments definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%% +%% Caption management +%% +% for the following macros: +% #1 is given by caption and is equal to fnum@algocf +% #2 is the text given in argument by the user in the \caption macro +% +%%%%% text of caption +\newcommand{\algocf@captionlayout}[1]{#1}% +\newcommand{\SetAlgoCaptionLayout}[1]{% + \renewcommand{\algocf@captionlayout}[1]{\csname #1\endcsname{##1}}}% +\newcommand{\algocf@capseparator}{:}% +\newcommand{\SetAlgoCaptionSeparator}[1]{\renewcommand{\algocf@capseparator}{#1}}% +\newcommand{\algocf@captiontext}[2]{% + \algocf@captionlayout{\AlCapSty{\AlCapFnt #1\algocf@typo\algocf@capseparator}\nobreakspace% + \AlCapNameSty{\AlCapNameFnt{}#2}}}% text of caption +% +%%%%% default caption of algorithm: used if no specific style caption is defined +\newcommand{\algocf@makecaption}[2]{% + \addtolength{\hsize}{\algomargin}% + \sbox\@tempboxa{\algocf@captiontext{#1}{#2}}% + \ifdim\wd\@tempboxa >\hsize% % if caption is longer than a line + \hskip .5\algomargin% + \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}% then caption is not centered + \else% + \global\@minipagefalse% + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% else caption is centered + \fi% + \addtolength{\hsize}{-\algomargin}% +}% +% +\newsavebox\algocf@capbox% +\newcommand{\algocf@makecaption@plain}[2]{% + \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}}% +\newcommand{\algocf@makecaption@boxed}[2]{% + \addtolength{\hsize}{-\algomargin}% + \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}% + \addtolength{\hsize}{\algomargin}% + }% +% +\newcommand{\algocf@makecaption@tworuled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@algoruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@boxruled}[2]{\algocf@makecaption@ruled{#1}{#2}}% +\newcommand{\algocf@makecaption@ruled}[2]{% + \global\sbox\algocf@capbox{\hskip\AlCapHSkip% .5\algomargin% + \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}}% then caption is not centered +}% +% +\newlength{\algoheightruledefault}\setlength{\algoheightruledefault}{0.8pt}% +\newlength{\algoheightrule}\setlength{\algoheightrule}{\algoheightruledefault}% +\newlength{\algotitleheightruledefault}\setlength{\algotitleheightruledefault}{0.8pt}% +\newlength{\algotitleheightrule}\setlength{\algotitleheightrule}{\algotitleheightruledefault}% +\newcommand{\algocf@caption@plain}{\vskip\AlCapSkip\box\algocf@capbox}% +\newcommand{\algocf@caption@boxed}{\vskip\AlCapSkip\box\algocf@capbox}% +\newcommand{\algocf@caption@ruled}{\box\algocf@capbox\kern\interspacetitleruled\hrule height\algotitleheightrule depth0pt\kern\interspacealgoruled}% +\newcommand{\algocf@caption@tworuled}{\box\algocf@capbox\kern\interspacetitleruled}% +\newcommand{\algocf@caption@algoruled}{\algocf@caption@ruled}% +\newcommand{\algocf@caption@boxruled}{% + \addtolength{\hsize}{-0.8pt}% + \hbox to\hsize{% + \vrule%\hskip-0.35pt% + \vbox{% + \hrule\vskip\interspacetitleboxruled% + \hbox to\hsize{\unhbox\algocf@capbox\hfill}\vskip\interspacetitleboxruled% + }% + %\hskip-0.35pt% + \vrule% + }\nointerlineskip% + \addtolength{\hsize}{0.8pt}% +}% +% +% +%%%% set caption for the environment +\newcommand{\algocf@captionref}{% + \renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\algocf@algocfref}}% + \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value + \let\old@thealgocf=\thealgocf\renewcommand{\thealgocf}{{\relsize{\algocf@refrelsize}\algocf@algocfref}}% + \gdef\@currentlabel{\algocf@algocfref}% let the label use the new ref +}% +% +% Unfortunatly, we also need our own caption to set some specific stuff for special references. But after these +% settings, we call the original caption. +% +\long\def\algocf@caption@algo#1[#2]#3{% + \ifthenelse{\equal{\algocf@algocfref}{\relax}}{}{\algocf@captionref}% + \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... + \ifthenelse{\equal{\algocf@algocfref}{\relax}}{\renewcommand{\theHalgocf}{\thealgocf}}{% take algocf as Href + \renewcommand{\theHalgocf}{\algocf@algocfref}}%else if SetAlgoRefName done, take this name as ref. + \hyper@refstepcounter{algocf}%set algocf as category of ref + }% + \algocf@latexcaption{#1}[#2]{#3}% call original caption +}% +% +% beamer define is own caption overrinding latex caption! +% as we need it, we have put here the original definition +% to handle manual ref, unfortunately we have to add one line to handle algocf@algocfref +\long\def\algocf@latexcaption#1[#2]#3{% original definition of caption + \par% + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% + \begingroup% + \@parboxrestore% + \if@minipage% + \@setminipage% + \fi% + \normalsize% + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par% + \endgroup% +}% +% +% \ifx\beamer@makecaption\undefined% +% \else% beamer detected +\ifx\@makecaption\undefined% +\newcommand{\@makecaption}[2]{\relax}% +\fi% +%% + +% +% more and more packages redefine \@caption instead of just \@makecaption which makes algorithm2e +% caption not works since based on standard \@caption. So we force the definition of \@caption to be +% the standard one (the one from LaTeX) inside algorithm environment. +% +% unfortunately, makecaption is called with \ignorespace #3 so +% we can't do the @currentlabel definition inside \algocf@captionproctext +\long\def\algocf@caption@proc#1[#2]#3{% + \ifthenelse{\boolean{algocf@nokwfunc}}{\relax}{% + \SetKwFunction{\algocf@captname#3@}{\algocf@captname#3@}% + }% + % we tell hyperref to use algocfproc as category and to take the appropriate ref. + \ifthenelse{\boolean{algocf@func}}{\def\@proc@func{algocffunc}}{\def\@proc@func{algocfproc}}% + \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else... + \ifthenelse{\boolean{algocf@procnumbered}}{% + \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%if procnumbered, take \thealgocf as ref + }{% + \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%else take procedure or function name + }% + \hyper@refstepcounter{\@proc@func}% + }% + \ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% + \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value + \gdef\@currentlabel{\algocf@captname#3@}% let the label be the name of the function, not the counter + }% + \ifthenelse{\equal{\algocf@captparam#2@}{\arg@e}}{% if no paramater, we remove the () + \algocf@latexcaption{#1}[\algocf@procname\nobreakspace\algocf@captname#2@]{#3}% + }{% else we give the complete name + \algocf@latexcaption{#1}[\algocf@procname\nobreakspace#2]{#3}% + }% +}% +%% +%%% setcaption +\newcommand{\algocf@setcaption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment, caption text must be changed + \let\algocf@oldcaptiontext=\algocf@captiontext% + \renewcommand{\algocf@captiontext}[2]{% + \algocf@captionproctext{##1}{##2}% + }% + }{}% + \let\algocf@savecaption=\@caption% + \ifthenelse{\boolean{algocf@procenvironment}}{\let\@caption=\algocf@caption@proc}{\let\@caption=\algocf@caption@algo}% + \let\algocf@oldmakecaption=\@makecaption% + \renewcommand{\@makecaption}[2]{% + \expandafter\csname algocf@makecaption@\algocf@style\endcsname{##1}{##2}% + }% +}% +% +%%%%% reset caption +% +% since we have force the LaTeX caption for algorithm environment, we must go back to the caption +% used in the text. +\newcommand{\algocf@resetcaption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment + \let\thealgocf=\old@thealgocf% restore normal counter printing + \let\algocf@captiontext=\algocf@oldcaptiontext% restore normal caption text + }{}% + \let\@caption=\algocf@savecaption% now restore caption outside algo/proc/func environment + \let\@makecaption=\algocf@oldmakecaption% and restore makecaption outside outside algo/proc/func environment + \algocf@resetfnum% +}% +% +%%%%% nocaptionofalgo and restorecaptionofalgo -- +\newcommand{\NoCaptionOfAlgo}{% + \let\@old@algocf@captiontext=\algocf@captiontext% + \renewcommand{\algocf@captiontext}[2]{\AlCapNameSty{\AlCapNameFnt{}##2}}% +}% +\newcommand{\RestoreCaptionOfAlgo}{% + \let\algocf@captiontext=\@old@algocf@captiontext% +}% +% +% ---------------------- algocf environment +% +\newcounter{algocfline}% % new counter to make lines numbers be internally +\setcounter{algocfline}{0}% % different in different algorithms +\newcounter{algocfproc}% counter to count all algo environment (proc, func), just used by hyperref to avoir "same +\setcounter{algocfproc}{0}% identifier" error caused by algocf being set to '-' for procedure or function or not + % changed if no caption is given. +% +\expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist +\newcounter{algocf}% % just define a new counter +\renewcommand{\thealgocf}{\@arabic\c@algocf}% and the way it is printed +\else% else +\newcounter{algocf}[\algocf@within]% % counter is numbered within \algocf@within +\renewcommand\thealgocf{\csname the\algocf@within\endcsname.\@arabic\c@algocf}% +\fi% +% +\def\fps@algocf{htbp}% % default +\def\ftype@algocf{10}% % float type +\def\ext@algocf{\algocf@list} % loa by default, lof if figure option used +\newcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}% +\newcommand{\algocf@resetfnum}{\renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}}% +\newenvironment{algocf}% % float environment for algorithms + {\@float{algocf}}% + {\end@float}% +\newenvironment{algocf*}% % float* environment for algorithms + {\@dblfloat{algocf}}% + {\end@dblfloat}% +% +\def\algocf@seclistalgo{}% +\ifx\l@chapter\undefined\let\algocf@seclistalgo=\section\else\let\algocf@seclistalgo=\chapter\fi% +\@ifundefined{if@restonecol}{\newif\if@restonecol}\relax% +\newcommand\listofalgocfs{% + \ifx\algocf@seclistalgo\chapter% + \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi% + \fi% + \algocf@seclistalgo*{\listalgorithmcfname}% + \@mkboth{\MakeUppercase\listalgorithmcfname}% + {\MakeUppercase\listalgorithmcfname}% + \@starttoc{loa}% + \ifx\algocf@seclistalgo\chapter% + \if@restonecol\twocolumn\fi% + \fi% +} +% +\newcommand*\l@algocf{\@dottedtocline{1}{1em}{2.3em}}% line of the list +% +% ---------------------- algorithm environment +% +%%%%%%% +%% +%% Algorithm environment definition +%% +%%%%%%% +%% +% +\newsavebox\algocf@algoframe% +\def\@algocf@pre@plain{\relax}% action to be done before printing the algo. +\def\@algocf@post@plain{\relax}% action to be done after printing the algo. +\def\@algocf@capt@plain{bottom}% where the caption should be localized. +\def\@algocf@pre@boxed{\noindent\begin{lrbox}{\algocf@algoframe}} +\def\@algocf@post@boxed{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% +\def\@algocf@capt@boxed{under}% +\def\@algocf@pre@ruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% +\def\@algocf@capt@ruled{top}% +\def\@algocf@pre@algoruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@algoruled{\kern\interspacealgoruled\hrule height\algoheightrule \relax}% +\def\@algocf@capt@algoruled{top}% +\def\@algocf@pre@tworuled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}% +\def\@algocf@post@tworuled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}% +\def\@algocf@capt@tworuled{top}% +\def\@algocf@pre@boxruled{\noindent\begin{lrbox}{\algocf@algoframe}}% +\def\@algocf@post@boxruled{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}% +\def\@algocf@capt@boxruled{above}% +% +\newcommand{\noalgocaption}{\def\@algocf@capt@ruled{none}} +% +%% before algocf or figure environment +\newcommand{\@algocf@init@caption}{% + \ifthenelse{\boolean{algocf@procenvironment}}{% if we are inside a procedure/function environment + \@algocf@proctitleofalgo% set Titleofalgo to Procedure: or Function: + % accordingly to the environment + \let\old@thealgocf=\thealgocf\ifthenelse{\boolean{algocf@procnumbered}}{\relax}{% + \renewcommand{\thealgocf}{-}}% + }{% else inside environment algorithm + \@algocf@algotitleofalgo% fix name for \Titleofalgo to \algorithmcfname + }% + \algocf@setcaption% set caption to our caption style +}% +% +\newcommand{\@algofloatboxreset}{\@setminipage} +\newcommand{\@algocf@init}{% + \refstepcounter{algocfline}% + \stepcounter{algocfproc}%to have a different counter for each environment and being abble to make the difference + %between href of algoline in different algorithms. + \ifthenelse{\boolean{algocf@optnoend}}{% + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% + }{% + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% + }% +}% +%% after the end of algocf or figure environment +\newcommand{\@algocf@term@caption}{% + \algocf@resetcaption% restore original caption +}% +% +\newcommand{\@algocf@term}{% + \setboolean{algocf@algoH}{false}% no H by default + \ifthenelse{\boolean{algocf@optnoend}}{% + \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% + }{% + \renewcommand{\algocf@block}[2]{\algocf@group{##1}}% + }% + \SetAlgoRefName{\relax}% +}% +% +%%%%%%%%%%%%%%%%% +%% makethealgo: macro which print effectively the algo in its box +%% +\newsavebox\algocf@algobox% +\newcommand{\algocf@makethealgo}{% + \vtop{% + % place caption above if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{above}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % + % precommand according to the style + \csname @algocf@pre@\algocf@style\endcsname% + % place caption at top if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{top}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % + \box\algocf@algobox% the algo + % place caption at bottom if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{bottom}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + % postcommand according to the style + \csname @algocf@post@\algocf@style\endcsname% + % place caption under if needed bye the style + \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{under}}% + {\csname algocf@caption@\algocf@style\endcsname}{}% + }% +}% +%%%%%%%%%%%%%%%%%%% +% +%% at the beginning of algocf or figure environment +\newcommand{\@algocf@start}{% + \@algoskip% + \begin{lrbox}{\algocf@algobox}% + \setlength{\algowidth}{\hsize}% + \vbox\bgroup% save all the algo in a box + \hbox to\algowidth\bgroup\hbox to \algomargin{\hfill}\vtop\bgroup% + \ifthenelse{\boolean{algocf@slide}}{\parskip 0.5ex\color{black}}{}% + % initialization + \addtolength{\hsize}{-1.5\algomargin}% + \let\@mathsemicolon=\;\def\;{\ifmmode\@mathsemicolon\else\@endalgoln\fi}% + \raggedright\AlFnt{}% + \ifthenelse{\boolean{algocf@slide}}{\IncMargin{\skipalgocfslide}}{}% + \@algoinsideskip% +}% +% +%% at the end of algocf or figure environment +\newcommand{\@algocf@finish}{% + \@algoinsideskip% + \egroup%end of vtop which contain all the text + \hfill\egroup%end of hbox wich contains [margin][vtop] + \ifthenelse{\boolean{algocf@slide}}{\DecMargin{\skipalgocfslide}}{}% + % + \egroup%end of main vbox + \end{lrbox}% + \algocf@makethealgo% print the algo + \@algoskip% + % restore dimension and macros + \setlength{\hsize}{\algowidth}% + \lineskip\normallineskip\setlength{\skiptotal}{\@defaultskiptotal}% + \let\;=\@mathsemicolon% +}% +% +%%%%%%%%%%%%%%%%%%%% +%% basic definition of the environment algorithm +%% +% +\newboolean{algocf@procenvironment}\setboolean{algocf@procenvironment}{false}% +\newboolean{algocf@func}\setboolean{algocf@func}{false}% +\newboolean{algocf@algoH}\setboolean{algocf@algoH}{false}% +\newboolean{algocf@algostar}\setboolean{algocf@algostar}{false}% +% +%%% environment for {algorithm}[H] +\newenvironment{algocf@Here}{\noindent% + \def\@captype{algocf}% if not defined, caption exit with an error + \begin{minipage}{\hsize}% +}{% + \end{minipage}%\par% +}% +%%% real algorithm environment which manages H and * option +% \let\algocf@originalfloatboxreset=\@floatboxreset% +% \let\@floatboxreset=\@algofloatboxreset% +\newenvironment{algocf@algorithm}[1][htbp]{ + \@algocf@init% + \ifthenelse{\equal{\algocf@float}{figure}}{% if option figure set + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option + \begin{figure*}[#1]% call figure* + }{% else algorithm environment with figure option + \begin{figure}[#1]% call figure + }% + }{% else normal algorithm environment + \@algocf@init@caption% + \ifthenelse{\equal{#1}{H}}{% if [H] algorithm + \if@twocolumn\@latex@error{[H] in two columns mode is not allowed for algorithms}\fi% TODO: SCREAM if H in two colums! + \setboolean{algocf@algoH}{true}\begin{algocf@Here}% call corresponding environment + }{% else floating algorithm environment + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* + \begin{algocf*}[#1]% call algocf* + }{% else algorithm environment + \begin{algocf}[#1]% call algcf + }% + }% + }% fin test option figure ou pas + \@algocf@start% + \@ResetCounterIfNeeded% + \algocf@linesnumbered\ignorespaces% +}{% + \@algocf@finish% + \ifthenelse{\equal{\algocf@float}{figure}}{% + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option + \end{figure*}% call figure* + }{% else algorithm environment with figure option + \end{figure}% call figure + }% + }{% + \@algocf@term@caption% + \ifthenelse{\boolean{algocf@algoH}}{% if [H] algorithm + \end{algocf@Here}\par% call corresponding environment + }{% else floating algorithm environment + \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* + \end{algocf*}% call algocf* + }{% else algorithm environment + \end{algocf}% call algocf + }% + }% + }% + \@algocf@term\ignorespacesafterend% +}% +% +%%% user algorithm environment +\newenvironment{\algocf@envname}[1][htbp]{% + \setboolean{algocf@algostar}{false}% + \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +%%% user algorithm* environment +\newenvironment{\algocf@envname*}[1][htbp]{% + \setboolean{algocf@algostar}{true}% + \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +% +%%%%%%%%%%%%%%%%%%%%%%% +%%% +% +\expandafter\newcommand\csname\algocf@listofalgorithms\endcsname{% + \ifthenelse{\equal{\algocf@float}{figure}}{\listoffigures}{\listofalgocfs}% +}% +%%% +%%% +% +% ---------------------- procedure and function environments +% +% +% -- new style (used in particular in the caption of function and procedure environments) +% +% three macros to extract parts of the caption +\gdef\algocf@captname#1(#2)#3@{#1} % keep characters before the first brace +\gdef\algocf@captparam#1(#2)#3@{#2} % keep character in between the braces +\gdef\algocf@captother#1(#2)#3@{#3} % keep character after the braces +% +%%% Text of caption for Procedure or Function +\newcommand{\algocf@captionproctext}[2]{% + {% + \ProcSty{\ProcFnt\algocf@procname\ifthenelse{\boolean{algocf@procnumbered}}{\nobreakspace\thealgocf\algocf@typo\algocf@capseparator}{\relax}}% + \nobreakspace\ProcNameSty{\ProcNameFnt\algocf@captname #2@}% Name of the procedure in ProcName Style. + \ifthenelse{\equal{\algocf@captparam #2@}{\arg@e}}{}{% if no argument, write nothing + \ProcNameSty{\ProcNameFnt(}\ProcArgSty{\ProcArgFnt\algocf@captparam #2@}\ProcNameSty{\ProcNameFnt)}%else put arguments in ProcArgSty: + }% endif + \algocf@captother #2@% + }% +}% +% +% +% -- procedure and function environments are defined from algocf@algorithm environment +% +\newenvironment{procedure}[1][htbp]{% + \setboolean{algocf@algostar}{false}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% + \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +\newenvironment{function}[1][htbp]{% + \setboolean{algocf@algostar}{false}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% + \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +% +\newenvironment{procedure*}[1][htbp]{% + \setboolean{algocf@algostar}{true}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}% + \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +\newenvironment{function*}[1][htbp]{% + \setboolean{algocf@algostar}{true}% + \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}% + \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}% + \begin{algocf@algorithm}[#1]\ignorespaces% +}{% + \end{algocf@algorithm}\ignorespacesafterend% +}% +% +% +%%%%%%%%%%%%%%%%%%%% +%% definition of algondfloat environment +%% +\ifthenelse{\boolean{algocf@endfloat}}{% if endfloat option then +\newcommand{\algoplace}{% macro which is used to writhe algorithm about there + \begin{center}% + [\algorithmcfname~\thepostfig\ about here.]% + \end{center}% +}% +\newcommand{\algoendfloat}{% use as a \begin{algoendfloat} environment to start scanning of line +% \immediate\openout\@mainfff\jobname.fff% + \efloat@condopen{fff} + \efloat@iwrite{fff}{\string\begin{\algocf@envname}}% + \if@domarkers% + \ifthenelse{\equal{\algocf@list}{lof}}{% + \addtocounter{postfig}{1}% + }{% + \addtocounter{postalgo}{1}% + }% + \algoplace% + \fi% + \bgroup% + \let\do\ef@makeinnocent\dospecials% + \ef@makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \ef@xalgocfendfloat}% +}{\relax}%%%% end of endfloat option ifthenelse +%% some macros useful for endfloat option that cannot be defined inside the ifthenelse +%scan algoendfloat algorithm and write the text into .fff file +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\ef@xalgocfendfloat#1^^M{% scan the lines inside algoendfloat environment being read by latex + \def\test{#1}% test is the line being currently scan by latex + \ifx\test\ef@endalgocftest% if it is \end{algoendfloat} + \def\next{% define next as to not continue the scan and write \end{algorithm} into .fff file + \egroup\end{algoendfloat}% + \efloat@iwrite{fff}{\string\end{\algocf@envname}}% + \efloat@iwrite{fff}{\string\efloatseparator}% + \efloat@iwrite{fff}{ }% + }% + \else% else write the current line being scanned by latex and set next to continue the scan + \efloat@iwrite{fff}{#1}% + \let\next\ef@xalgocfendfloat% + \fi% endif + \next}% next is continue if it was else condition, else it does not continue the scan and write end to file +}% +% test if the scan is finish by looking at the string \end{algoendfloat} +{\escapechar=-1% + \xdef\ef@endalgocftest{\string\\end\string\{algoendfloat\string\}}% +}% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +\newcommand{\TitleOfAlgo}[1]{\@titleprefix\ + \TitleSty{#1}\par\smallskip}% +% +\newcommand{\SetAlgorithmName}[3]{% + \renewcommand{\listalgorithmcfname}{#3}% + \renewcommand{\algorithmcfname}{#1}% + \renewcommand{\algorithmautorefname}{#2}% +}% +% +\newcommand{\algocf@refrelsize}{-2}\newcommand{\SetAlgoRefRelativeSize}[1]{\renewcommand{\algocf@refrelsize}{#1}}% +\newcommand{\SetAlgoRefName}[1]{% + \renewcommand{\algocf@algocfref}{#1}% +}% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% ------------------------- Default Definitions +% +%% +%% +% +\SetKwComment{tcc}{/* }{ */}% +\SetKwComment{tcp}{// }{}% +% +%\newcommand{\algocf@defaults@common}{ +% +% +% french keywords +% +%\SetKwInOut{AlgDonnees}{Donn\'ees}\SetKwInOut{AlgRes}{R\'esultat} +\SetKwInput{Donnees}{Donn\'ees}% +\SetKwInput{Res}{R\'esultat}% +\SetKwInput{Entree}{Entr\'ees}% +\SetKwInput{Sortie}{Sorties}% +\SetKw{KwA}{\`a}% +\SetKw{Retour}{retourner}% +\SetKwBlock{Deb}{d\'ebut}{fin}% +\SetKwRepeat{Repeter}{r\'ep\'eter}{jusqu'\`a}% +% +\SetKwIF{Si}{SinonSi}{Sinon}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwSwitch{Suivant}{Cas}{Autre}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}% +\SetKwFor{Pour}{pour}{faire}{fin pour}% +\SetKwFor{PourPar}{pour}{faire en parallèle}{fin pour}% +\SetKwFor{PourCh}{pour chaque}{faire}{fin pour chaque}% +\SetKwFor{PourTous}{pour tous les}{faire}{fin pour tous}% +\SetKwFor{Tq}{tant que}{faire}{fin tq}% +% +% english keywords +% +\SetKwInput{KwIn}{Input}% +\SetKwInput{KwOut}{Output}% +\SetKwInput{KwData}{Data}% +\SetKwInput{KwResult}{Result}% +\SetKw{KwTo}{to} +\SetKw{KwRet}{return}% +\SetKw{Return}{return}% +\SetKwBlock{Begin}{begin}{end}% +\SetKwRepeat{Repeat}{repeat}{until}% +% +\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{end if}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end switch}% +\SetKwFor{For}{for}{do}{end for}% +\SetKwFor{ForPar}{for}{do in parallel}{end forpar} +\SetKwFor{ForEach}{foreach}{do}{end foreach}% +\SetKwFor{ForAll}{forall the}{do}{end forall}% +\SetKwFor{While}{while}{do}{end while}% +% +% --- German keywords +% +\SetKwInput{Ein}{Eingabe}%KwIn +\SetKwInput{Aus}{Ausgabe}%KwOut +\SetKwInput{Daten}{Daten}%KwData +\SetKwInput{Ergebnis}{Ergebnis}%KwResult +\SetKw{Bis}{bis}%KwTo +\SetKw{KwZurueck}{zur\"uck}%KwRet +\SetKw{Zurueck}{zur\"uck}%Return +\SetKwBlock{Beginn}{Beginn}{Ende}%Begin +\SetKwRepeat{Wiederh}{wiederhole}{bis}%Repeat +% +\SetKwIF{Wenn}{SonstWenn}{Sonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwSwitch{Unterscheide}{Fall}{Anderes}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch +\SetKwFor{Fuer}{f\"ur}{tue}{Ende f\"ur}%For +\SetKwFor{FuerPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar +\SetKwFor{FuerJedes}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach +\SetKwFor{FuerAlle}{f\"ur alle}{tue}{Ende f\"ur}%ForAll +\SetKwFor{Solange}{solange}{tue}{Ende solange}%While +% +% --- Czech keywords +% +\SetKwInput{Vst}{Vstup}% +\SetKwInput{Vyst}{V\'{y}stup}% +\SetKwInput{Vysl}{V\'{y}sledek}% +% +% --- Portuguese keywords +% +\SetKwInput{Entrada}{Entrada}% +\SetKwInput{Saida}{Sa\'{i}da}% +\SetKwInput{Dados}{Dados}% +\SetKwInput{Resultado}{Resultado}% +\SetKw{Ate}{at\'{e}} +\SetKw{KwRetorna}{retorna}% +\SetKw{Retorna}{retorna}% +\SetKwBlock{Inicio}{in\'{i}cio}{fim}% +\SetKwRepeat{Repita}{repita}{at\'{e}}% +% +\SetKwIF{Se}{SenaoSe}{Senao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwSwitch{Selec}{Caso}{Outro}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}% +\SetKwFor{Para}{para}{fa\c{c}a}{fim para}% +\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para} +\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}% +\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}% +\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}% +% +% --- Italian keywords +% +\SetKwInput{KwIng}{Ingresso}% +\SetKwInput{KwUsc}{Uscita}% +\SetKwInput{KwDati}{Dati}% +\SetKwInput{KwRisult}{Risultato}% +\SetKw{KwA}{a}% +\SetKw{KwRitorna}{ritorna}% +\SetKw{Ritorna}{ritorna}% +\SetKwBlock{Inizio}{inizio}{fine}% +\SetKwRepeat{Ripeti}{ripeti}{finché}% +% +\SetKwIF{Sea}{AltSe}{Altrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}% +\SetKwFor{Per}{per}{fai}{fine per}% +\SetKwFor{PerPar}{per}{fai in parallelo}{fine per}% +\SetKwFor{PerCiascun}{per ciascun}{fai}{fine per ciascun}% +\SetKwFor{PerTutti}{per tutti i}{fai}{fine per tutti}% +\SetKwFor{Finche}{finché}{fai}{fine finché}% +% +% --- End +%} +% +%\algocf@defaults@common +% +% option onelanguage redefinition +% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{french}}{% +\SetKwInput{KwIn}{Entr\'ees}% +\SetKwInput{KwOutSortie}{Sorties}% +\SetKwInput{KwData}{Donn\'ees}% +\SetKwInput{KwResult}{R\'esultat}% +\SetKw{KwTo}{\`a}% +\SetKw{KwRet}{retourner}% +\SetKw{Return}{retourner}% +\SetKwBlock{Begin}{d\'ebut}{fin}% +\SetKwRepeat{Repeat}{r\'ep\'eter}{jusqu'\`a}% +% +\SetKwIF{If}{ElseIf}{Else}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwSwitch{Switch}{Case}{Other}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}% +\SetKwFor{For}{pour}{faire}{fin pour}% +\SetKwFor{ForPar}{pour}{faire en parallèle}{fin pour}% +\SetKwFor{ForEach}{pour chaque}{faire}{fin pour chaque}% +\SetKwFor{ForAll}{pour tous les}{faire}{fin pour tous}% +\SetKwFor{While}{tant que}{faire}{fin tq}% +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{german}}{% +\SetKwInput{KwIn}{Eingabe}%KwIn +\SetKwInput{KwOut}{Ausgabe}%KwOut +\SetKwInput{KwData}{Daten}%KwData +\SetKwInput{KwResult}{Ergebnis}%KwResult +\SetKw{KwTo}{bis}%KwTo +\SetKw{KwRet}{zur\"uck}%KwRet +\SetKw{Return}{zur\"uck}%Return +\SetKwBlock{Begin}{Beginn}{Ende}%Begin +\SetKwRepeat{Repeat}{wiederhole}{bis}%Repeat +% +\SetKwIF{If}{ElseIf}{Else}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwSwitch{Switch}{Case}{Other}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch +\SetKwFor{For}{f\"ur}{tue}{Ende f\"ur}%For +\SetKwFor{ForPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar +\SetKwFor{ForEach}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach +\SetKwFor{ForAll}{f\"ur alle}{tue}{Ende f\"ur}%ForAll +\SetKwFor{While}{solange}{tue}{Ende solange}%While +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{portugues}}{% +\SetKwInput{KwIn}{Entrada}% +\SetKwInput{KwOut}{Sa\'{i}da}% +\SetKwInput{KwData}{Dados}% +\SetKwInput{KwResult}{Resultado}% +\SetKw{KwTo}{at\'{e}} +\SetKw{KwRet}{retorna}% +\SetKw{Return}{retorna}% +\SetKwBlock{Begin}{in\'{i}cio}{fim}% +\SetKwRepeat{Repeat}{repita}{at\'{e}}% +% +\SetKwIF{If}{ElseIf}{Else}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwSwitch{Switch}{Case}{Other}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}% +\SetKwFor{For}{para}{fa\c{c}a}{fim para}% +\SetKwFor{ForPar}{para}{fa\c{c}a em paralelo}{fim para} +\SetKwFor{ForEach}{para cada}{fa\c{c}a}{fim para cada}% +\SetKwFor{ForAll}{para todo}{fa\c{c}a}{fim para todo}% +\SetKwFor{While}{enquanto}{fa\c{c}a}{fim enqto}% +}{}% +\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{italiano}}{% +\SetKwInput{KwIn}{Ingresso}% +\SetKwInput{KwOut}{Uscita}% +\SetKwInput{KwData}{Dati}% +\SetKwInput{KwResult}{Risultato}% +\SetKw{KwTo}{a}% +\SetKw{KwRet}{ritorna}% +\SetKw{Return}{ritorna}% +\SetKwBlock{Begin}{inizio}{fine}% +\SetKwRepeat{Repeat}{ripeti}{finché}% +% +\SetKwIF{If}{ElseIf}{Else}{se}{allora}{altrimenti se}{allora}{fine se}% +\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}% +\SetKwFor{For}{per}{fai}{fine per}% +\SetKwFor{ForPar}{per}{fai in parallelo}{fine per}% +\SetKwFor{ForEach}{per ciascun}{fai}{fine per ciascun}% +\SetKwFor{ForAll}{per tutti i}{fai}{fine per tutti}% +\SetKwFor{While}{finché}{fai}{fine finché}% +}{}% +% +%%%% old commands compatibility +% +\ifthenelse{\boolean{algocf@oldcommands}}{% +\newcommand{\SetNoLine}{\SetAlgoNoLine}% +\newcommand{\SetVline}{\SetAlgoVlined}% +\newcommand{\SetLine}{\SetAlgoLined}% +% +\newcommand{\dontprintsemicolon}{\DontPrintSemicolon}% +\newcommand{\printsemicolon}{\PrintSemicolon}% +\newcommand{\incmargin}[1]{\IncMargin{#1}}% +\newcommand{\decmargin}[1]{\DecMargin{-#1}}% +\newcommand{\setnlskip}[1]{\SetNlSkip{#1}}% +\newcommand{\Setnlskip}[1]{\SetNlSkip{#1}}% +\newcommand{\setalcapskip}[1]{\SetAlCapSkip{#1}}% +\newcommand{\setalcaphskip}[1]{\SetAlCapHSkip{#1}}% +\newcommand{\nlSty}[1]{\NlSty{#1}}% +\newcommand{\Setnlsty}[3]{\SetNlSty{#1}{#2}{#3}}% +\newcommand{\linesnumbered}{\LinesNumbered}% +\newcommand{\linesnotnumbered}{\LinesNotNumbered}% +\newcommand{\linesnumberedhidden}{\LinesNumberedHidden}% +\newcommand{\showln}{\ShowLn}% +\newcommand{\showlnlabel}[1]{\ShowLnLabel{#1}}% +\newcommand{\nocaptionofalgo}{\NoCaptionOfAlgo}% +\newcommand{\restorecaptionofalgo}{\RestoreCaptionOfAlgo}% +\newcommand{\restylealgo}[1]{\RestyleAlgo{#1}}% +% +\newcommand{\Titleofalgo}[1]{\TitleOfAlgo{#1}}% +\SetKwIF{gSi}{gSinonSi}{gSinon}{si}{alors}{sinon si}{sinon}{fin si}% +\SetKwIF{gIf}{gElsIf}{gElse}{if}{then}{else if}{else}{end if}% +\SetKwIF{gIf}{gElseIf}{gElse}{if}{then}{else if}{else}{end if}% +\SetKwIF{gWenn}{gSonstWenn}{gSonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf +\SetKwIF{gSe}{gSenaoSe}{gSenao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}% +\SetKwIF{gSea}{gAltSe}{gAltrimenti}{se}{allora}{altrimenti se}{allora}{fine se}% +}{% + \relax% +}% +% +% +% +%% +%%% +%%%% END \ No newline at end of file diff --git a/PeCO-EO/amsbsy.sty b/PeCO-EO/amsbsy.sty new file mode 100644 index 0000000..4fa1ae6 --- /dev/null +++ b/PeCO-EO/amsbsy.sty @@ -0,0 +1,98 @@ +%% +%% This is file `amsbsy.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsbsy.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsbsy.dtx", +%%% version = "1.2d", +%%% date = "1999/11/29", +%%% time = "14:26:42 EST", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "08988 251 1238 9625", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, bold symbol, pmb", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that provides a command +%%% for producing bold math symbols when appropriate +%%% fonts exist, and a `poor man's bold' command that +%%% can be applied when no appropriate bold font +%%% is available.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\ProvidesPackage{amsbsy}[1999/11/29 v1.2d] +\RequirePackage{amsgen} +\DeclareRobustCommand{\boldsymbol}[1]{% + \begingroup + \let\@nomath\@gobble \mathversion{bold}% + \math@atom{#1}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#1$}}% + {\hbox{$\m@th\textstyle#1$}}% + {\hbox{$\m@th\scriptstyle#1$}}% + {\hbox{$\m@th\scriptscriptstyle#1$}}}% + \endgroup} +\def\math@atom#1#2{% + \binrel@{#1}\binrel@@{#2}} +\DeclareRobustCommand{\pmb}{% + \ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@} +\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}% + \dimen@-\wdz@ + \kern-.5\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\box\z@ +} +\newdimen\pmbraise@ +\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}% + \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@ + \binrel@{#2}% + \dimen@-\wd8 % + \binrel@@{% + \mkern-.8mu\copy8 % + \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 % + \kern\dimen@\mkern.4mu\box8 }% +} +\def\binrel@#1{\begingroup + \setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu + \setbox\tw@\hbox{$#1\m@th$}\kern-\wd\tw@ + ${}#1{}\m@th$}% + \edef\@tempa{\endgroup\let\noexpand\binrel@@ + \ifdim\wdz@<\z@ \mathbin + \else\ifdim\wdz@>\z@ \mathrel + \else \relax\fi\fi}% + \@tempa +} +\let\binrel@@\relax +\endinput +%% +%% End of file `amsbsy.sty'. diff --git a/PeCO-EO/amsfonts.sty b/PeCO-EO/amsfonts.sty new file mode 100644 index 0000000..50e334c --- /dev/null +++ b/PeCO-EO/amsfonts.sty @@ -0,0 +1,190 @@ +%% +%% This is file `amsfonts.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsfonts.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsfonts.dtx", +%%% version = "2.2f", +%%% date = "2001/10/25", +%%% time = "11:51:34 EDT", +%%% checksum = "12894 459 2125 19071", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 2001 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, amsfonts, msam, +%%% msbm, eufm, blackboard bold", +%%% supported = "yes", +%%% abstract = "This file is part of the AMSFonts distribution. +%%% It provides easy access in \LaTeXe{} to certain +%%% math fonts for extra math symbols, fraktur +%%% letters, and blackboard bold letters. See the +%%% AMSFonts user's guide for more information.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must be December 1994 or later +\ProvidesPackage{amsfonts}[2001/10/25 v2.2f] +\DeclareOption{psamsfonts}{% + \ifnum\cmex@opt=7 \def\cmex@opt{10}% + \else \def\cmex@opt{0}\fi + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{<-6>msam5<6-8>msam7<8->msam10}{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{<-6>msbm5<6-8>msbm7<8->msbm10}{}% + \DeclareFontFamily{U}{euf}{}% + \DeclareFontShape{U}{euf}{m}{n}{<-6>eufm5<6-8>eufm7<8->eufm10}{}% + \DeclareFontShape{U}{euf}{b}{n}{<-6>eufb5<6-8>eufb7<8->eufb10}{}% +} +\@ifundefined{cmex@opt}{\def\cmex@opt{1}}{} +\ProcessOptions\relax +\ifnum\cmex@opt=1 \relax + \DeclareFontShape{OMX}{cmex}{m}{n}{<-8>cmex7<8>cmex8<9>cmex9% + <10><10.95><12><14.4><17.28><20.74><24.88>cmex10}{}% + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax +\else + \ifnum\cmex@opt=10 % need to override cmex7 fontdef from amsmath + \begingroup + \expandafter\let\csname OMX+cmex\endcsname\relax + \fontencoding{OMX}\fontfamily{cmex}% + \try@load@fontshape + \endgroup + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \def\cmex@opt{0}% + \fi +\fi +\providecommand*{\@mathmeasure}[3]{% + \setbox#1\hbox{\frozen@everymath\@emptytoks\m@th$#2#3$}} +\@ifundefined{@emptytoks}{\csname newtoks\endcsname\@emptytoks}{} +\DeclareSymbolFont{AMSa}{U}{msa}{m}{n} +\DeclareSymbolFont{AMSb}{U}{msb}{m}{n} +\@ifundefined{yen}{% + \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55} +}{} +\@ifundefined{checkmark}{% + \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58} +}{} +\@ifundefined{circledR}{% + \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72} +}{} +\@ifundefined{maltese}{% + \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A} +}{} +\begingroup \catcode`\"=12 +\DeclareMathDelimiter{\ulcorner}{\mathopen} {AMSa}{"70}{AMSa}{"70} +\DeclareMathDelimiter{\urcorner}{\mathclose}{AMSa}{"71}{AMSa}{"71} +\DeclareMathDelimiter{\llcorner}{\mathopen} {AMSa}{"78}{AMSa}{"78} +\DeclareMathDelimiter{\lrcorner}{\mathclose}{AMSa}{"79}{AMSa}{"79} +\xdef\widehat#1{\noexpand\@mathmeasure\z@\textstyle{#1}% + \noexpand\ifdim\noexpand\wd\z@>\tw@ em% + \mathaccent"0\hexnumber@\symAMSb 5B{#1}% + \noexpand\else\mathaccent"0362{#1}\noexpand\fi} +\xdef\widetilde#1{\noexpand\@mathmeasure\z@\textstyle{#1}% + \noexpand\ifdim\noexpand\wd\z@>\tw@ em% + \mathaccent"0\hexnumber@\symAMSb 5D{#1}% + \noexpand\else\mathaccent"0365{#1}\noexpand\fi} +\DeclareMathSymbol{\dabar@}{\mathord}{AMSa}{"39} +\xdef\dashrightarrow{\mathrel{\dabar@\dabar@ + \mathchar"0\hexnumber@\symAMSa 4B}}% +\xdef\dashleftarrow{\mathrel{\mathchar"0\hexnumber@\symAMSa 4C\dabar@ + \dabar@}}% +\global\let\dasharrow\dashrightarrow +\global\let\rightleftharpoons\undefined +\DeclareMathSymbol{\rightleftharpoons}{\mathrel}{AMSa}{"0A} +\global\let\angle\undefined +\DeclareMathSymbol{\angle} {\mathord}{AMSa}{"5C} +\global\let\hbar\undefined +\DeclareMathSymbol{\hbar} {\mathord}{AMSb}{"7E} +\global\let\sqsubset\undefined +\DeclareMathSymbol{\sqsubset} {\mathrel}{AMSa}{"40} +\global\let\sqsupset\undefined +\DeclareMathSymbol{\sqsupset} {\mathrel}{AMSa}{"41} +\global\let\mho\undefined +\DeclareMathSymbol{\mho} {\mathord}{AMSb}{"66} +\endgroup +\DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n} +\SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n} +\DeclareSymbolFontAlphabet{\mathbb}{AMSb} +\DeclareFontEncodingDefaults{\relax}{\def\accentclass@{7}} +\DeclareRobustCommand{\frak}[1]{% + {\@subst@obsolete{amsfonts}\frak\mathfrak{#1}}} +\DeclareRobustCommand{\Bbb}[1]{% + {\@subst@obsolete{amsfonts}\Bbb\mathbb{#1}}} +\DeclareRobustCommand{\bold}[1]{% + {\@subst@obsolete{amsfonts}\bold\mathbf{#1}}} +\begingroup \catcode`\"=12 \relax +\gdef\newsymbol#1#2#3#4#5{% + \@obsolete{amsfonts}\newsymbol\DeclareMathSymbol + \@ifdefinable#1{% + \edef\next@ + {\ifcase #2 \or + \hexnumber@\symAMSa\or + \hexnumber@\symAMSb\fi}% + \ifx\next@\@empty + \PackageError{amsfonts}{\Invalid@@\newsymbol}\@ehd% + \else + \global\mathchardef#1"#3\next@#4#5 + \fi}} +\endgroup +\long\def\@gobblethree#1#2#3{} +\if@compatibility + \let\@obsolete\@gobblethree +\else + \def\@obsolete#1#2#3{\PackageWarning{#1}{% + Obsolete command \protect#2; \protect#3 should be used instead}}% +\fi +\def\@subst@obsolete#1#2#3{\@obsolete{#1}#2#3\gdef#2{#3}#2} +\begingroup \catcode`\"=12 +\DeclareMathSymbol{\square} {\mathord}{AMSa}{"03} +\DeclareMathSymbol{\lozenge} {\mathord}{AMSa}{"06} +\DeclareMathSymbol{\vartriangleright} {\mathrel}{AMSa}{"42} +\DeclareMathSymbol{\vartriangleleft} {\mathrel}{AMSa}{"43} +\DeclareMathSymbol{\trianglerighteq} {\mathrel}{AMSa}{"44} +\DeclareMathSymbol{\trianglelefteq} {\mathrel}{AMSa}{"45} +\DeclareMathSymbol{\rightsquigarrow} {\mathrel}{AMSa}{"20} +\@ifpackageloaded{latexsym}{\@tempswafalse}{\@tempswatrue} +\if@tempswa + \global\let\Box\square + \global\let\Diamond\lozenge + \global\let\leadsto\rightsquigarrow + \global\let\lhd\@@undefined + \global\let\unlhd\@@undefined + \global\let\rhd\@@undefined + \global\let\unrhd\@@undefined + \DeclareMathSymbol{\lhd} {\mathbin}{AMSa}{"43} + \DeclareMathSymbol{\unlhd} {\mathbin}{AMSa}{"45} + \DeclareMathSymbol{\rhd} {\mathbin}{AMSa}{"42} + \DeclareMathSymbol{\unrhd} {\mathbin}{AMSa}{"44} +\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F\mkern-13.8mu% + \mathchar"0\hexnumber@\symAMSb 6E}} +\fi +\endgroup +\endinput +%% +%% End of file `amsfonts.sty'. diff --git a/PeCO-EO/amsmath.sty b/PeCO-EO/amsmath.sty new file mode 100644 index 0000000..8d22f7a --- /dev/null +++ b/PeCO-EO/amsmath.sty @@ -0,0 +1,2670 @@ +%% +%% This is file `amsmath.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsmath.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amsmath.dtx", +%%% version = "2.13", +%%% date = "2000/07/18", +%%% time = "08:16:41 EDT", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 2000 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% checksum = "38084 5829 21569 202795", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, math, amsmath", +%%% supported = "yes", +%%% abstract = "This is a \LaTeX{} package that provides a variety of +%%% extra mathematical features, largely derived from +%%% AMS-\TeX{}.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must be December 1994 or later +\ProvidesPackage{amsmath}[2000/07/18 v2.13 AMS math features] +\edef\@temp{\catcode 96=\number\catcode 96 } +\catcode\string `\`=12 +\def\do#1{\catcode\number`#1=\number\catcode`#1} +\edef\@temp{% + \noexpand\AtEndOfPackage{% + \@temp + \do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\.% + \do\/\do\<\do\=\do\>\do\[\do\]\do\^\do\_\relax + }% +} +\@temp +\def\do#1{\catcode\number`#1=12 } +\do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\. +\do\/\do\<\do\=\do\>\do\[\do\] +\catcode`\^=7 \catcode`\_=8 +\DeclareOption{intlimits}{\let\ilimits@\displaylimits} +\DeclareOption{nointlimits}{\let\ilimits@\nolimits} +\DeclareOption{sumlimits}{\let\slimits@\displaylimits} +\DeclareOption{nosumlimits}{\let\slimits@\nolimits} +\DeclareOption{namelimits}{\PassOptionsToPackage{namelimits}{amsopn}} +\DeclareOption{nonamelimits}{% + \PassOptionsToPackage{nonamelimits}{amsopn}} +\newif\ifctagsplit@ +\newif\iftagsleft@ +\DeclareOption{leqno}{\tagsleft@true} +\DeclareOption{reqno}{\tagsleft@false} +\DeclareOption{centertags}{\ctagsplit@true} +\DeclareOption{tbtags}{\ctagsplit@false} +\DeclareOption{cmex10}{% + \ifnum\cmex@opt=\@ne \def\cmex@opt{0}% + \else \def\cmex@opt{10}\fi +} +\@ifundefined{cmex@opt}{\def\cmex@opt{7}}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\if@fleqn +\newskip\@mathmargin +\@mathmargin\@centering +\DeclareOption{fleqn}{% + \@fleqntrue + \@mathmargin = -1sp + \let\mathindent=\@mathmargin + \AtBeginDocument{% + \ifdim\@mathmargin= -1sp + \@mathmargin\leftmargini minus\leftmargini + \fi + }% +} +\DeclareOption{?}{} +\ExecuteOptions{nointlimits,sumlimits,namelimits,centertags} +\ProcessOptions\par +\@ifpackagewith{amsmath}{?}{% + \typeout{^^J% +Documentation for the amsmath package is found in amsldoc.dvi^^J% +(or .pdf or .tex).^^J% +^^J% +See also http://www.ams.org/tex/amslatex.html.^^J% +^^J% +Note: Using the first edition of The LaTeX Companion (1994) without^^J% +errata as a guide for amsmath use is not recommended.^^J% + }% +}{% + \typeout{% +For additional information on amsmath, use the \lq ?\rq\space option.% + }% +} +\ifnum\cmex@opt=7 \relax + \DeclareFontShape{OMX}{cmex}{m}{n}{% + <-8>cmex7<8>cmex8<9>cmex9% + <10><10.95><12><14.4><17.28><20.74><24.88>cmex10% + }{}% + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax +\else + \ifnum\cmex@opt=\z@ % need to override cmex7 fontdef from amsfonts + \begingroup + \fontencoding{OMX}\fontfamily{cmex}% + \expandafter\let\csname OMX+cmex\endcsname\relax + \try@load@fontshape + \endgroup + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \def\cmex@opt{10}% + \fi +\fi +\RequirePackage{amstext}[1995/01/25] +\RequirePackage{amsbsy}[1995/01/20] +\RequirePackage{amsopn}[1995/01/20] +\def\@amsmath@err{\PackageError{amsmath}} +\providecommand{\AmS}{{\protect\AmSfont + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +\newcommand{\AmSfont}{% + \usefont{OMS}{cmsy}{\if\@xp\@car\f@series\@nil bb\else m\fi}{n}} +\def\@mathmeasure#1#2#3{\setbox#1\hbox{\frozen@everymath\@emptytoks + \m@th$#2#3$}} +\@ifundefined{inf@bad}{% + \newcount\inf@bad \inf@bad=1000000 \relax +}{} +\DeclareRobustCommand{\tmspace}[3]{% + \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} +\renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +\let\thinspace\, +\renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +\let\negthinspace\! +\renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +\let\medspace\: +\newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +\renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +\let\thickspace\; +\newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +\newcommand{\mspace}[1]{\mskip#1\relax} +\def\@tempa#1#2\@nil{% + \ifx\delimiter#1\@tempcnta#2\relax\else\@tempcnta\z@\fi +} +\@xp\@tempa\vert\@empty\@nil +\ifnum\@tempcnta>\z@ + \advance\@tempcnta "4000000 + \xdef\lvert{\delimiter\number\@tempcnta\space } + \advance\@tempcnta "1000000 + \xdef\rvert{\delimiter\number\@tempcnta\space } +\else + \ifx\@@undefined\lvert + % Fall back to cmex encoding since we don't know what else to do. + \DeclareMathDelimiter{\lvert} + {\mathopen}{symbols}{"6A}{largesymbols}{"0C} + \DeclareMathDelimiter{\rvert} + {\mathclose}{symbols}{"6A}{largesymbols}{"0C} + \fi +\fi +\@xp\@tempa\Vert\@empty\@nil +\ifnum\@tempcnta>\z@ + \advance\@tempcnta "4000000 + \xdef\lVert{\delimiter\number\@tempcnta\space } + \advance\@tempcnta "1000000 + \xdef\rVert{\delimiter\number\@tempcnta\space } +\else + \ifx\@@undefined\lVert + \DeclareMathDelimiter{\lVert} + {\mathopen}{symbols}{"6B}{largesymbols}{"0D} + \DeclareMathDelimiter{\rVert} + {\mathclose}{symbols}{"6B}{largesymbols}{"0D} + \fi +\fi +\@saveprimitive\over\@@over +\@saveprimitive\atop\@@atop +\@saveprimitive\above\@@above +\@saveprimitive\overwithdelims\@@overwithdelims +\@saveprimitive\atopwithdelims\@@atopwithdelims +\@saveprimitive\abovewithdelims\@@abovewithdelims +\DeclareRobustCommand{\primfrac}[1]{% + \PackageWarning{amsmath}{% +Foreign command \@backslashchar#1;\MessageBreak +\protect\frac\space or \protect\genfrac\space should be used instead% +\MessageBreak + } + \global\@xp\let\csname#1\@xp\endcsname\csname @@#1\endcsname + \csname#1\endcsname +} +\renewcommand{\over}{\primfrac{over}} +\renewcommand{\atop}{\primfrac{atop}} +\renewcommand{\above}{\primfrac{above}} +\renewcommand{\overwithdelims}{\primfrac{overwithdelims}} +\renewcommand{\atopwithdelims}{\primfrac{atopwithdelims}} +\renewcommand{\abovewithdelims}{\primfrac{abovewithdelims}} +\DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}} +\newcommand{\dfrac}{\genfrac{}{}{}0} +\newcommand{\tfrac}{\genfrac{}{}{}1} +\DeclareRobustCommand{\binom}{\genfrac()\z@{}} +\newcommand{\dbinom}{\genfrac(){0pt}0} +\newcommand{\tbinom}{\genfrac(){0pt}1} +\DeclareRobustCommand{\genfrac}[4]{% + \def\@tempa{#1#2}% + \edef\@tempb{\@nx\@genfrac\@mathstyle{#4}% + \csname @@\ifx @#3@over\else above\fi + \ifx\@tempa\@empty \else withdelims\fi\endcsname} + \@tempb{#1#2#3}} +\def\@genfrac#1#2#3#4#5{{#1{\begingroup#4\endgroup#2#3\relax#5}}} +\def\@mathstyle#1{% + \ifx\@empty#1\@empty\relax + \else\ifcase#1\displaystyle % case 0 + \or\textstyle\or\scriptstyle\else\scriptscriptstyle\fi\fi} +\begingroup +\edef\@tempa{\string\mathchar"} +\def\@tempb#1"#2\@nil{#1"} +\edef\@tempc{\expandafter\@tempb\meaning\coprod "\@nil} +\ifx\@tempa\@tempc + \global\let\coprod@\coprod + \gdef\coprod{\DOTSB\coprod@\slimits@} + \global\let\bigvee@\bigvee + \gdef\bigvee{\DOTSB\bigvee@\slimits@} + \global\let\bigwedge@\bigwedge + \gdef\bigwedge{\DOTSB\bigwedge@\slimits@} + \global\let\biguplus@\biguplus + \gdef\biguplus{\DOTSB\biguplus@\slimits@} + \global\let\bigcap@\bigcap + \gdef\bigcap{\DOTSB\bigcap@\slimits@} + \global\let\bigcup@\bigcup + \gdef\bigcup{\DOTSB\bigcup@\slimits@} + \global\let\prod@\prod + \gdef\prod{\DOTSB\prod@\slimits@} + \global\let\sum@\sum + \gdef\sum{\DOTSB\sum@\slimits@} + \global\let\bigotimes@\bigotimes + \gdef\bigotimes{\DOTSB\bigotimes@\slimits@} + \global\let\bigoplus@\bigoplus + \gdef\bigoplus{\DOTSB\bigoplus@\slimits@} + \global\let\bigodot@\bigodot + \gdef\bigodot{\DOTSB\bigodot@\slimits@} + \global\let\bigsqcup@\bigsqcup + \gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@} +\fi +\endgroup +\newcommand{\leftroot}{\@amsmath@err{\Invalid@@\leftroot}\@eha} +\newcommand{\uproot}{\@amsmath@err{\Invalid@@\uproot}\@eha} +\newcount\uproot@ +\newcount\leftroot@ +\renewcommand{\root}{\relaxnext@ + \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else + \ifx\@let@token\leftroot\let\next@\nextiii@\else + \let\next@\plainroot@\fi\fi\next@}% + \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% + \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else + \DN@.{\FN@\nextv@}\fi\next@.}% + \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else + \let\next@\plainroot@\fi\next@}% + \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% + \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% + \def\nextvii@{\ifx\@let@token\@sptoken + \DN@. {\FN@\nextviii@}\else + \DN@.{\FN@\nextviii@}\fi\next@.}% + \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else + \let\next@\plainroot@\fi\next@}% + \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% + \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} +\def\plainroot@#1\of#2{\setbox\rootbox\hbox{% + $\m@th\scriptscriptstyle{#1}$}% + \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} + {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} + +\@ifundefined{sqrtsign}{\let\sqrtsign\@@sqrt}{} +\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrtsign{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}% + \advance\dimen@ by1.667\wd\@ne + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\mkern\leftroot@ mu\boxz@} +\@ifundefined{varGamma}{% + \DeclareMathSymbol{\varGamma}{\mathord}{letters}{"00} + \DeclareMathSymbol{\varDelta}{\mathord}{letters}{"01} + \DeclareMathSymbol{\varTheta}{\mathord}{letters}{"02} + \DeclareMathSymbol{\varLambda}{\mathord}{letters}{"03} + \DeclareMathSymbol{\varXi}{\mathord}{letters}{"04} + \DeclareMathSymbol{\varPi}{\mathord}{letters}{"05} + \DeclareMathSymbol{\varSigma}{\mathord}{letters}{"06} + \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{"07} + \DeclareMathSymbol{\varPhi}{\mathord}{letters}{"08} + \DeclareMathSymbol{\varPsi}{\mathord}{letters}{"09} + \DeclareMathSymbol{\varOmega}{\mathord}{letters}{"0A} +}{} +\@saveprimitive\overline\@@overline +\DeclareRobustCommand{\overline}[1]{\@@overline{#1}} +\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} +\newcommand{\implies}{\DOTSB\;\Longrightarrow\;} +\newcommand{\impliedby}{\DOTSB\;\Longleftarrow\;} +\def\And{\DOTSB\;\mathchar"3026 \;} +\newcommand{\nobreakdash}{\leavevmode + \toks@\@emptytoks \def\@tempa##1{\toks@\@xp{\the\toks@-}\FN@\next@}% + \DN@{\ifx\@let@token-\@xp\@tempa + \else\setboxz@h{\the\toks@\nobreak}\unhbox\z@\fi}% + \FN@\next@ +} +\renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript + \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} +\let\ifgtest@\iffalse % initial value +\def\gtest@true{\global\let\ifgtest@\iftrue} +\def\gtest@false{\global\let\ifgtest@\iffalse} +\let\DOTSI\relax +\let\DOTSB\relax +\let\DOTSX\relax +{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h + \uppercase{% + \gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2% + \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true + \fi\fi\fi\fi\fi}}} +{\uccode`7=`c \uccode`8=`h \uccode`9=`\" + \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false + \ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}} +\newcount\classnum@ +\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096 + \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or + \gdef\thedots@{\dotsb@}\fi} +{\uccode`4=`b \uccode`5=`i \uccode`6=`n + \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@ + \def\nextii@##1\mathbin@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathbin@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`4=`r \uccode`5=`e \uccode`6=`l + \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@ + \def\nextii@##1\mathrel@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\mathrel@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +{\uccode`5=`m \uccode`6=`a \uccode`7=`c + \uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false + \ifx 5#1\ifx 6#2\ifx 7#3\gtest@true + \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}} +\def\macro@@#1->#2\macro@@{#2} +\newcount\DOTSCASE@ +{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S + \uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}% + \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@ + \fi\fi\fi\fi\fi + \next@}}} +{\uccode`3=`B \uccode`4=`I \uccode`5=`X + \uppercase{\gdef\DOTS@@#1{\relaxnext@ + \def\nextii@##1\DOTS@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \DN@{\FN@\nextii@}% + \ifx 3#1\global\DOTSCASE@\z@\else + \ifx 4#1\global\DOTSCASE@\@ne\else + \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}% + \fi\fi\fi\next@}}} +{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t + \uppercase{\gdef\not@#1#2#3#4{\relaxnext@ + \def\nextii@##1\not@{\ifx\@sptoken\@let@token\gtest@true\fi}% + \gtest@false\DN@##1\not@{}% + \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi + \fi\next@}}} +\def\keybin@{\gtest@true + \ifx\@let@token+\else\ifx\@let@token=\else + \ifx\@let@token<\else\ifx\@let@token>\else + \ifx\@let@token-\else\ifx\@let@token*\else\ifx\@let@token:\else + \gtest@false\fi\fi\fi\fi\fi\fi\fi} +\@ifundefined{@ldots}{\def\@ldots{\mathellipsis}}{} +\DeclareRobustCommand{\ldots}{% + \ifmmode \mathellipsis \else \textellipsis \fi +} +\DeclareRobustCommand{\dots}{% + \ifmmode \@xp\mdots@\else \@xp\textellipsis \fi +} +\def\tdots@{\leavevmode\unskip\relaxnext@ + \DN@{$\m@th\@ldots\, + \ifx\@let@token,\,$\else\ifx\@let@token.\,$\else + \ifx\@let@token;\,$\else\ifx\@let@token:\,$\else + \ifx\@let@token?\,$\else\ifx\@let@token!\,$\else + $ \fi\fi\fi\fi\fi\fi}% + \ \FN@\next@} +\def\mdots@{\FN@\mdots@@} +\def\mdots@@{\gdef\thedots@{\dotso@}% + \ifx\@let@token\boldsymbol \gdef\thedots@\boldsymbol{\boldsymboldots@}% + \else\ifx,\@let@token \gdef\thedots@{\dotsc}% + \else\ifx\not\@let@token \gdef\thedots@{\dotsb@}% + \else\keybin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\xdef\meaning@{\meaning\@let@token..........}% + \xdef\meaning@@{\meaning@}% + \@xp\math@\meaning@\math@ + \ifgtest@ + \@xp\mathch@\meaning@\mathch@ + \ifgtest@\@xp\getmathch@\meaning@\getmathch@\fi + \else\@xp\macro@\meaning@@\macro@ + \ifgtest@ + \@xp\not@\meaning@\not@\ifgtest@\gdef\thedots@{\dotsb@}% + \else\@xp\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}% + \or\gdef\thedots@{\dotsi}\else\fi + \else\@xp\math@\meaning@\math@ + \ifgtest@\@xp\mathbin@\meaning@\mathbin@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \else\@xp\mathrel@\meaning@\mathrel@ + \ifgtest@\gdef\thedots@{\dotsb@}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \thedots@} +\def\boldsymboldots@#1{% + \bold@true\let\@let@token=#1\let\delayed@=#1\mdots@@ + \boldsymbol#1\bold@false} +\def\@cdots{\mathinner{\cdotp\cdotp\cdotp}} +\newcommand{\dotsi}{\!\@cdots} +\let\dotsb@\@cdots +\def\rightdelim@{\gtest@true + \ifx\@let@token)\else + \ifx\@let@token]\else + \ifx\@let@token\rbrack\else + \ifx\@let@token\}\else + \ifx\@let@token\rbrace\else + \ifx\@let@token\rangle\else + \ifx\@let@token\rceil\else + \ifx\@let@token\rfloor\else + \ifx\@let@token\rgroup\else + \ifx\@let@token\rmoustache\else + \ifx\@let@token\right\else + \ifx\@let@token\bigr\else + \ifx\@let@token\biggr\else + \ifx\@let@token\Bigr\else + \ifx\@let@token\Biggr\else\gtest@false + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\extra@{% + \rightdelim@\ifgtest@ + \else\ifx\@let@token$\gtest@true + \else\xdef\meaning@{\meaning\@let@token..........}% + \@xp\macro@\meaning@\macro@\ifgtest@ + \@xp\DOTS@\meaning@\DOTS@ + \ifgtest@ + \ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false + \fi\fi\fi\fi\fi} +\newif\ifbold@ +\def\dotso@{\relaxnext@ + \ifbold@ + \let\@let@token\delayed@ + \def\nextii@{\extra@\@ldots\ifgtest@\,\fi}% + \else + \def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}% + \fi + \nextii@} +\def\extrap@#1{% + \DN@{#1\,}% + \ifx\@let@token,\else + \ifx\@let@token;\else + \ifx\@let@token.\else\extra@ + \ifgtest@\else + \let\next@#1\fi\fi\fi\fi\next@} +\DeclareRobustCommand{\cdots}{\DN@{\extrap@\@cdots}\FN@\next@} +\let\dotsb\cdots +\let\dotsm\cdots +\DeclareRobustCommand{\dotso}{\relax + \ifmmode \DN@{\extrap@\@ldots}% + \else \let\next@\tdots@\fi + \FN@\next@} +\DeclareRobustCommand{\dotsc}{% + \DN@{\ifx\@let@token;\@ldots\,% + \else \ifx\@let@token.\@ldots\,% + \else \extra@\@ldots \ifgtest@\,\fi + \fi\fi}% + \FN@\next@} +\renewcommand{\longrightarrow}{% + \DOTSB\protect\relbar\protect\joinrel\rightarrow} +\renewcommand{\Longrightarrow}{% + \DOTSB\protect\Relbar\protect\joinrel\Rightarrow} +\renewcommand{\longleftarrow}{% + \DOTSB\leftarrow\protect\joinrel\protect\relbar} +\renewcommand{\Longleftarrow}{% + \DOTSB\Leftarrow\protect\joinrel\protect\Relbar} +\renewcommand{\longleftrightarrow}{\DOTSB\leftarrow\joinrel\rightarrow} +\renewcommand{\Longleftrightarrow}{\DOTSB\Leftarrow\joinrel\Rightarrow} +\renewcommand{\mapsto}{\DOTSB\mapstochar\rightarrow} +\renewcommand{\longmapsto}{\DOTSB\mapstochar\longrightarrow} +\renewcommand{\hookrightarrow}{\DOTSB\lhook\joinrel\rightarrow} +\renewcommand{\hookleftarrow}{\DOTSB\leftarrow\joinrel\rhook} +\renewcommand{\iff}{\DOTSB\;\Longleftrightarrow\;} +\renewcommand{\doteq}{% + \DOTSB\mathrel{\mathop{\kern0pt =}\limits^{\textstyle.}}} +\newif\if@display +\everydisplay\@xp{\the\everydisplay \@displaytrue} +\renewcommand{\int}{\DOTSI\intop\ilimits@} +\renewcommand{\oint}{\DOTSI\ointop\ilimits@} +\def\intkern@{\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}} +\def\intdots@{\mathchoice{\@cdots}% + {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}% + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}} +\newcommand{\iint}{\DOTSI\protect\MultiIntegral{2}} +\newcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}} +\newcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}} +\newcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}} +\newcommand{\MultiIntegral}[1]{% + \edef\ints@c{\noexpand\intop + \ifnum#1=\z@\noexpand\intdots@\else\noexpand\intkern@\fi + \ifnum#1>\tw@\noexpand\intop\noexpand\intkern@\fi + \ifnum#1>\thr@@\noexpand\intop\noexpand\intkern@\fi + \noexpand\intop + \noexpand\ilimits@ + }% + \futurelet\@let@token\ints@a +} +\def\ints@a{% + \ifx\limits\@let@token \ints@b + \else \ifx\displaylimits\@let@token \ints@b + \else\ifx\ilimits@\displaylimits \ints@b + \fi\fi\fi + \ints@c +} +\def\ints@b{% + \mkern-7mu\mathchoice{\mkern-2mu}{}{}{}% + \mathop\bgroup + \mkern7mu\mathchoice{\mkern2mu}{}{}{}% + \let\ilimits@\egroup +}% +\newbox\Mathstrutbox@ +\setbox\Mathstrutbox@=\hbox{} +\def\Mathstrut@{\copy\Mathstrutbox@} +\def\resetMathstrut@{% + \setbox\z@\hbox{% + \mathchardef\@tempa\mathcode`\(\relax + \def\@tempb##1"##2##3{\the\textfont"##3\char"}% + \expandafter\@tempb\meaning\@tempa \relax + }% + \ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@ +} +\addto@hook\every@math@size{\resetMathstrut@} +\newbox\strutbox@ +\def\strut@{\copy\strutbox@} +\def\reset@strutbox@{% + \global\setbox\strutbox@\hbox{% + \lower.5\normallineskiplimit + \vbox{\kern-\normallineskiplimit\copy\strutbox}}} +\addto@hook\every@math@size{\reset@strutbox@} +\AtBeginDocument{\reset@strutbox@} +\renewcommand{\big}{\bBigg@\@ne} +\renewcommand{\Big}{\bBigg@{1.5}} +\renewcommand{\bigg}{\bBigg@\tw@} +\renewcommand{\Bigg}{\bBigg@{2.5}} +\def\bBigg@#1#2{% + {\@mathmeasure\z@{\nulldelimiterspace\z@}% + {\left#2\vcenter to#1\big@size{}\right.}% + \box\z@}} +\addto@hook\every@math@size{% + \global\big@size 1.2\ht\Mathstrutbox@ + \global\advance\big@size 1.2\dp\Mathstrutbox@ } +\newdimen\big@size +\def\accentclass@{7} +\def\noaccents@{\def\accentclass@{0}} +\DeclareFontEncoding{OML}{}{\noaccents@} +\DeclareFontEncoding{OMS}{}{\noaccents@} +\newcommand{\dddot}[1]{% + {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont ...}\vss}}}} +\newcommand{\ddddot}[1]{% + {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\normalfont....}\vss}}}} +\def\set@mathaccent#1#2#3#4{% + \xdef#2{\@nx\protect\@nx\mathaccentV + {\@xp\@gobble\string#2}\hexnumber@#1#4}% +} +\def\@tempa#1{\@xp\@tempb\meaning#1\@nil#1} +\def\@tempb#1>#2#3 #4\@nil#5{% + \@xp\ifx\csname#3\endcsname\mathaccent + \@tempc#4?"7777\@nil#5% + \else + \PackageWarningNoLine{amsmath}{% + Unable to redefine math accent \string#5}% + \fi +} +\def\@tempc#1"#2#3#4#5#6\@nil#7{% + \chardef\@tempd="#3\relax\set@mathaccent\@tempd{#7}{#2}{#4#5}} +\@tempa{\hat} +\@tempa{\check} +\@tempa{\tilde} +\@tempa{\acute} +\@tempa{\grave} +\@tempa{\dot} +\@tempa{\ddot} +\@tempa{\breve} +\@tempa{\bar} +\@tempa{\vec} +\@ifundefined{mathring}{% + \DeclareMathAccent{\mathring}{\mathalpha}{operators}{"17} +}{% + \@tempa{\mathring} +} +%%\@tempa\widetilde +%%\@tempa\widehat +\newcommand{\acc@check}{} +\newcommand{\acc@error}{} +\def\acc@check{\@ifnextchar\@empty\relax\acc@error} +\def\acc@error{% + \@amsmath@err{% + Improper argument for math accent:\MessageBreak + Extra braces must be added to prevent wrong output% + }\@ehc +} +\newcount\macc@depth +\long\def\@gobblethree#1#2#3{} +\def\mathaccentV#1#2#3#4#5{% + \ifmmode + \gdef\macc@tmp{\macc@depth\@ne}% + \setbox\z@\hbox{% + \let\mathaccentV\macc@test + \let\use@mathgroup\@gobbletwo \let\select@group\@gobblethree + \frozen@everymath{}$#5$% + }% + \macc@tmp + \ifnum\macc@depth=\@ne + \global\let\macc@nucleus\@empty + \mathaccent"\accentclass@ + \else + \@xp\macc@nested + \fi + #2#3#4{#5}% + \macc@nucleus + \else + \@xp\nonmatherr@\csname#1\endcsname + \fi +} +\def\macc@test#1#2#3#4{\xdef\macc@tmp{\macc@tmp\advance\macc@depth\@ne}} +\def\macc@group{-1} +\def\macc@nested#1#2#3#4{% + \begingroup + \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar + \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}% + \macc@set@skewchar\relax + \let\mathaccentV\macc@nested@a + \macc@nested@a\relax#1#2#3{#4}% + \endgroup +} +\let\macc@palette\mathpalette +\def\macc@nested@a#1#2#3#4#5{% + \ifnum\macc@group=\mathgroup + \else \macc@set@skewchar\relax \edef\macc@group{\the\mathgroup}% + \fi + \mathchardef\macc@code "\accentclass@ #2#3#4\relax + \macc@palette\macc@a{#5}% +} +\def\macc@set@skewchar#1{% + \begingroup + \ifnum\mathgroup=\m@ne \let\@tempa\@ne + \else + \ifnum\skewchar\textfont\mathgroup=\m@ne \let\@tempa\@ne + \else \let\@tempa\mathgroup + \fi + \fi + \count@=\skewchar\textfont\@tempa + \advance\count@"7100 + \edef\@tempa{\endgroup + \mathchardef\noexpand\macc@skewchar=\number\count@\relax}% + \@tempa + #1% +} +\def\macc@a#1#2{% + \begingroup + \let\macc@style#1\relax + \def\macc@palette##1{##1\macc@style}% + \advance\macc@depth\m@ne + \ifnum\macc@depth=\z@ + \gdef\macc@nucleus{#2}% + \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}% + \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}% + \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@ + \xdef\macc@kerna{\the\dimen@\relax}% + \setbox4\hbox{$#1#2\acc@check\@empty$}% + \global\setbox\@ne\hbox to\wd4{}% + \ht\@ne\ht4 \dp\@ne\dp4 + \xdef\macc@kernb{\the\wd4\relax}% + \mathaccent\macc@code{\box\@ne\kern\macc@kerna}% + \else + \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}% + \macc@adjust + \fi + \endgroup +} +\def\macc@adjust{% + \dimen@\macc@kerna\advance\dimen@\macc@kernb + \kern-\dimen@ +} +\def\Hat{\hat} +\def\Check{\check} +\def\Tilde{\tilde} +\def\Acute{\acute} +\def\Grave{\grave} +\def\Dot{\dot} +\def\Ddot{\ddot} +\def\Breve{\breve} +\def\Bar{\bar} +\def\Vec{\vec} +\def\nonmatherr@#1{\@amsmath@err{\protect + #1 allowed only in math mode}\@ehd} +\renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin + {\operator@font mod}\penalty900 + \mkern5mu\nonscript\mskip-\medmuskip} +\newcommand{\pod}[1]{\allowbreak + \if@display\mkern18mu\else\mkern8mu\fi(#1)} +\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +\newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu + \else\mkern12mu\fi{\operator@font mod}\,\,#1} +\newcommand{\cfrac}[3][c]{{\displaystyle\frac{% + \strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}% + \kern-\nulldelimiterspace} +\newcommand{\overset}[2]{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}} +\newcommand{\underset}[2]{\binrel@{#2}% + \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}} +\newcommand{\sideset}[3]{% + \@mathmeasure\z@\displaystyle{#3}% + \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@ + \setbox\tw@\box\@ne + \@mathmeasure4\displaystyle{\copy\tw@#1}% + \@mathmeasure6\displaystyle{#3\nolimits#2}% + \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@ + \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}% +} +\renewcommand{\smash}[1][tb]{% + \def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + \edef\finsm@sh{\csname mb@#1\endcsname\z@\z@ \box\z@}% + \ifmmode \@xp\mathpalette\@xp\mathsm@sh + \else \@xp\makesm@sh + \fi +} +\mathchardef\std@minus\mathcode`\-\relax +\mathchardef\std@equal\mathcode`\=\relax +\AtBeginDocument{% + \mathchardef\std@minus\mathcode`\-\relax + \mathchardef\std@equal\mathcode`\=\relax +} +\def\relbar{\mathrel{\mathpalette\mathsm@sh\std@minus}} +\def\Relbar{\mathrel\std@equal} +\def\arrowfill@#1#2#3#4{% + $\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip + \relax#4#1\mkern-7mu% + \cleaders\hbox{$#4\mkern-2mu#2\mkern-2mu$}\hfill + \mkern-7mu#3$% +} +\def\leftarrowfill@{\arrowfill@\leftarrow\relbar\relbar} +\def\rightarrowfill@{\arrowfill@\relbar\relbar\rightarrow} +\def\leftrightarrowfill@{\arrowfill@\leftarrow\relbar\rightarrow} +\def\Leftarrowfill@{\arrowfill@\Leftarrow\Relbar\Relbar} +\def\Rightarrowfill@{\arrowfill@\Relbar\Relbar\Rightarrow} +\def\Leftrightarrowfill@{\arrowfill@\Leftarrow\Relbar\Rightarrow} +\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr + \noalign{\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}} +\renewcommand{\overrightarrow}{% + \mathpalette{\overarrow@\rightarrowfill@}} +\renewcommand{\overleftarrow}{% + \mathpalette{\overarrow@\leftarrowfill@}} +\newcommand{\overleftrightarrow}{% + \mathpalette{\overarrow@\leftrightarrowfill@}} +\def\underarrow@#1#2#3{% + \vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr + \noalign{\nointerlineskip\kern1.3\ex@}#1#2\crcr}}} +\newcommand{\underrightarrow}{% + \mathpalette{\underarrow@\rightarrowfill@}} +\newcommand{\underleftarrow}{% + \mathpalette{\underarrow@\leftarrowfill@}} +\newcommand{\underleftrightarrow}{% + \mathpalette{\underarrow@\leftrightarrowfill@}} +\def\ext@arrow#1#2#3#4#5#6#7{% + \mathrel{\mathop{% + \setbox\z@\hbox{#5\displaystyle}% + \setbox\tw@\vbox{\m@th + \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + \hbox{$\scriptstyle\mkern#3mu{#7}\mkern#4mu$}% + \copy\z@ + }% + \hbox to\wd\tw@{\unhbox\z@}}% + \limits + \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi + #7\if0#2\else\mkern#2mu\fi}}% + \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi + #6\if0#2\else\mkern#2mu\fi}}}% +} +\newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}} +\newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}} +\newenvironment{subarray}[1]{% + \vcenter\bgroup + \Let@ \restore@math@cr \default@tag + \baselineskip\fontdimen10 \scriptfont\tw@ + \advance\baselineskip\fontdimen12 \scriptfont\tw@ + \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ + \lineskiplimit\lineskip + \ialign\bgroup\ifx c#1\hfil\fi + $\m@th\scriptstyle##$\hfil\crcr +}{% + \crcr\egroup\egroup +} +\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} +\newenvironment{smallmatrix}{\null\,\vcenter\bgroup + \Let@\restore@math@cr\default@tag + \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip + \ialign\bgroup\hfil$\m@th\scriptstyle##$\hfil&&\thickspace\hfil + $\m@th\scriptstyle##$\hfil\crcr +}{% + \crcr\egroup\egroup\,% +} +\renewenvironment{matrix}{% + \matrix@check\matrix\env@matrix +}{% + \endarray \hskip -\arraycolsep +} +\def\env@matrix{\hskip -\arraycolsep + \let\@ifnextchar\new@ifnextchar + \array{*\c@MaxMatrixCols c}} +\newcount\c@MaxMatrixCols \c@MaxMatrixCols=10 +\def\matrix@check#1{% + \@xp\ifx\csname\@currenvir\endcsname#1% + \else\matrix@error#1% + \@xp\@gobble + \fi +} +\def\matrix@error#1{% + \@amsmath@err{% +Old form `\string#1' should be \string\begin{\@xp\@gobble\string#1}% + }{% +`\string#1{...}' is old Plain-TeX syntax whose use is +ill-advised in LaTeX.% + }% +} +\renewenvironment{pmatrix}{% + \left(% + \matrix@check\pmatrix\env@matrix +}{ + \endmatrix\right)% +} +\newenvironment{bmatrix}{\left[\env@matrix}{\endmatrix\right]} +\newenvironment{Bmatrix}{% + \left\lbrace\env@matrix +}{% + \endmatrix\right\rbrace +} +\newenvironment{vmatrix}{\left\lvert\env@matrix}{\endmatrix\right\rvert} +\newenvironment{Vmatrix}{\left\lVert\env@matrix}{\endmatrix\right\rVert} +\let\hdots\@ldots +\newcommand{\hdotsfor}[1]{% + \ifx[#1\@xp\shdots@for\else\hdots@for\@ne{#1}\fi} +\newmuskip\dotsspace@ +\def\shdots@for#1]{\hdots@for{#1}} +\def\hdots@for#1#2{\multicolumn{#2}c% + {\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@ + \xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}% + \hfill + \mkern-#1\dotsspace@}% + } +\renewenvironment{cases}{% + \matrix@check\cases\env@cases +}{% + \endarray\right.% +} +\def\env@cases{% + \let\@ifnextchar\new@ifnextchar + \left\lbrace + \def\arraystretch{1.2}% + \array{@{}l@{\quad}l@{}}% +} +\newcounter{parentequation}% Counter for ``parent equation''. +\@ifundefined{ignorespacesafterend}{% + \def\ignorespacesafterend{\global\@ignoretrue}% +}{} +\newenvironment{subequations}{% + \refstepcounter{equation}% + \protected@edef\theparentequation{\theequation}% + \setcounter{parentequation}{\value{equation}}% + \setcounter{equation}{0}% + \def\theequation{\theparentequation\alph{equation}}% + \ignorespaces +}{% + \setcounter{equation}{\value{parentequation}}% + \ignorespacesafterend +} +\newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}% +} +\newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}} +\newcount\dspbrk@lvl +\dspbrk@lvl=-1 +\interdisplaylinepenalty\@M +\newcommand{\allowdisplaybreaks}[1][4]{% + \interdisplaylinepenalty\getdsp@pen{#1}\relax +} +\def\getdsp@pen#1{% + \ifcase #1\@M \or 9999 \or 6999 \or 2999 \or \z@\fi +} +\newcommand{\displaybreak}{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}} +\chardef\dspbrk@context=\sixt@@n +\def\dspbrk@[#1]{% + \ifmeasuring@ + \else + \ifcase\dspbrk@context % case 0 --- OK + \global\dspbrk@lvl #1\relax + \or % case 1 --- inside a box + \nogood@displaybreak + \else % other cases --- outside of a display + \@amsmath@err{\Invalid@@\displaybreak}\@eha + \fi + \fi +} +\def\nogood@displaybreak{% + \@amsmath@err{\protect +\displaybreak\space cannot be applied here}% +{One of the enclosing environments creates an + unbreakable box\MessageBreak +(e.g., split, aligned, gathered, ...).}% +} +\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi + \@ifstar{\global\@eqpen\@M\math@cr@}% + {\global\@eqpen + \ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty + \else -\@getpen\dspbrk@lvl \fi + \math@cr@}} +\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}} +\def\math@cr@@[#1]{\ifnum0=`{\fi \iffalse}\fi\math@cr@@@ + \noalign{\vskip#1\relax}} +\def\Let@{\let\\\math@cr} +\def\restore@math@cr{\def\math@cr@@@{\cr}} +\restore@math@cr +\newcommand{\intertext}{\@amsmath@err{\Invalid@@\intertext}\@eha} +\def\intertext@{% + \def\intertext##1{% + \ifvmode\else\\\@empty\fi + \noalign{% + \penalty\postdisplaypenalty\vskip\belowdisplayskip + \vbox{\normalbaselines + \ifdim\linewidth=\columnwidth + \else \parshape\@ne \@totalleftmargin \linewidth + \fi + \noindent##1\par}% + \penalty\predisplaypenalty\vskip\abovedisplayskip% + }% +}} +\newhelp\tag@help + {tag cannot be used at this point.\space + If you don't understand why^^Jyou should consult + the documentation.^^JBut don't worry: just continue, and I'll + forget what happened.} +\def\gobble@tag{\@ifstar\@gobble\@gobble} +\def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag} +\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}} +\def\default@tag{\let\tag\dft@tag} +\default@tag +\def\maketag@@{\@ifstar\maketag@@@\tagform@} +\def\maketag@@@#1{\hbox{\m@th\normalfont#1}} +\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}} +\iftagsleft@ + \def\@eqnnum{\hbox to1sp{}\rlap{\normalfont\normalcolor + \hskip -\displaywidth\tagform@\theequation}} +\else + \def\@eqnnum{{\normalfont\normalcolor \tagform@\theequation}} +\fi +\newcommand{\thetag}{\leavevmode\tagform@} +\let\df@tag\@empty +\def\make@df@tag{\@ifstar\make@df@tag@@\make@df@tag@@@} +\def\make@df@tag@@#1{% + \gdef\df@tag{\maketag@@@{#1}\def\@currentlabel{#1}}} +\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{#1}% + \toks@\@xp{\p@equation{#1}}\edef\@currentlabel{\the\toks@}}} +\let\ltx@label\label +\def\label@in@display{% + \ifx\df@label\@empty\else + \@amsmath@err{Multiple \string\label's: + label '\df@label' will be lost}\@eha + \fi + \gdef\df@label +} +\toks@\@xp{\@arrayparboxrestore \let\label\ltx@label}% +\edef\@arrayboxrestore{\the\toks@} +\let\df@label\@empty +\def\make@display@tag{% + \if@eqnsw \incr@eqnum \print@eqnum + \else \iftag@ \df@tag \global\let\df@tag\@empty \fi + \fi + \ifmeasuring@ + \else + \ifx\df@label\@empty + \else + \@xp\ltx@label\@xp{\df@label}% + \global\let\df@label\@empty + \fi + \fi +} +\def\tag@in@align{% + \relax + \iftag@ + \DN@{\invalid@tag{Multiple \string\tag}}% + \else + \global\tag@true + \nonumber + \let\next@\make@df@tag + \fi + \next@ +} +\newcommand{\raisetag}[1]{\skip@#1\relax + \xdef\raise@tag{\vskip\iftagsleft@\else-\fi\the\skip@\relax}% +} +\let\raise@tag\@empty +\newcommand{\notag}{\nonumber} +\renewcommand{\nonumber}{% + \if@eqnsw + \ifx\incr@eqnum\@empty \addtocounter{equation}\m@ne \fi + \fi + \let\print@eqnum\@empty \let\incr@eqnum\@empty + \global\@eqnswfalse +} +\def\print@eqnum{\tagform@\theequation} +\def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty} +\newif\ifinalign@ +\newif\ifingather@ +\@xp\def\@xp\@arrayparboxrestore\@xp{\@arrayparboxrestore + \ingather@false\inalign@false \default@tag + \let\spread@equation\@spread@equation + \let\reset@equation\@empty + \def\print@eqnum{\tagform@\theequation}% + \def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty}% +} +\newif\iftag@ +\newif\ifst@rred +\newif\ifmeasuring@ +\newif\ifshifttag@ +\newcount\row@ +\newcount\column@ +\def\column@plus{% + \global\advance\column@\@ne +} +\newcount\maxfields@ +\def\add@amp#1{\if m#1&\@xp\add@amp\fi} +\def\add@amps#1{% + \begingroup + \count@#1\advance\count@-\column@ + \edef\@tempa{\endgroup + \@xp\add@amp\romannumeral\number\count@ 000q}% + \@tempa +} +\newhelp\andhelp@ +{An extra & here is so disastrous that you should probably exit^^J +and fix things up.} +\newdimen\eqnshift@ +\newdimen\alignsep@ +\newdimen\tagshift@ +\newcommand{\mintagsep}{.5\fontdimen6\textfont\tw@} +\newcommand{\minalignsep}{10pt} +\newdimen\tagwidth@ +\newdimen\totwidth@ +\newdimen\lineht@ +\def\tag@width#1{% + \ifcase\@xp#1\tag@lengths\fi +} + +\def\savetaglength@{% + \begingroup + \let\or\relax + \xdef\tag@lengths{\tag@lengths\or \the\wdz@}% + \endgroup +} + +\def\shift@tag#1{% + \ifcase\@xp#1\tag@shifts\fi\relax +} + +\let\tag@shifts\@empty +\def\saveshift@#1{% + \begingroup + \let\or\relax + \xdef\tag@shifts{\or#1\tag@shifts}% + \endgroup +} +\def\spread@equation{\reset@strutbox@ + \openup\jot \let\spread@equation\@empty} +\let\@spread@equation\spread@equation +\def\displ@y{\@display@init{}} +\def\@display@init#1{% + \global\dt@ptrue \spread@equation + \everycr{% + \noalign{% + #1% + \ifdt@p + \global\dt@pfalse + \vskip-\lineskiplimit + \vskip\normallineskiplimit + \else + \penalty\@eqpen \global\dspbrk@lvl\m@ne + \fi + }% + }% +} +\def\displ@y@{\@display@init{% + \global\column@\z@ \global\dspbrk@lvl\m@ne + \global\tag@false \global\let\raise@tag\@empty +}} +\def\black@#1{% + \noalign{% + \ifdim#1>\displaywidth + \dimen@\prevdepth + \nointerlineskip + \vskip-\ht\strutbox@ + \vskip-\dp\strutbox@ + \vbox{\noindent\hbox to#1{\strut@\hfill}}% + \prevdepth\dimen@ + \fi + }% +} +\def\savecounters@{% + \begingroup + \def\@elt##1{% + \global\csname c@##1\endcsname\the\csname c@##1\endcsname}% + \xdef\@gtempa{% + \cl@@ckpt + \let\@nx\restorecounters@\@nx\@empty + }% + \endgroup + \let\restorecounters@\@gtempa +} +\let\restorecounters@\@empty +\def\savealignstate@{% + \begingroup + \let\or\relax + \xdef\@gtempa{% + \global\totwidth@\the\totwidth@ + \global\row@\the\row@ + \gdef\@nx\tag@lengths{\tag@lengths}% + \let\@nx\restorealignstate@\@nx\@empty + }% + \endgroup + \let\restorealignstate@\@gtempa +} + +\let\restorealignstate@\@empty +\def\savecolumn@{% + \edef\restorecolumn@{% + \global\column@\number\column@ + \let\@nx\restorecolumn@\@nx\@empty + }% +} +\let\restorecolumn@\@empty +\newtoks\@envbody +\def\addto@envbody#1{\global\@envbody\@xp{\the\@envbody#1}} +\def\collect@body#1{% + \@envbody{\@xp#1\@xp{\the\@envbody}}% + \edef\process@envbody{\the\@envbody\@nx\end{\@currenvir}}% + \@envbody\@emptytoks \def\begin@stack{b}% + \begingroup + \@xp\let\csname\@currenvir\endcsname\collect@@body + \edef\process@envbody{\@xp\@nx\csname\@currenvir\endcsname}% + \process@envbody +} +\def\push@begins#1\begin#2{% + \ifx\end#2\else b\@xp\push@begins\fi +} +\def\collect@@body#1\end#2{% + \edef\begin@stack{\push@begins#1\begin\end \@xp\@gobble\begin@stack}% + \ifx\@empty\begin@stack + \endgroup + \@checkend{#2}% + \addto@envbody{#1}% + \else + \addto@envbody{#1\end{#2}}% + \fi + \process@envbody % A little tricky! Note the grouping +} +\def\math@cr@@@aligned{% + \ifodd\column@ \let\next@\@empty + \else \def\next@{&\kern-\alignsep@}% + \fi + \next@ \cr +} +\newcommand{\start@aligned}[2]{% + \RIfM@\else + \nonmatherr@{\begin{\@currenvir}}% + \fi + \savecolumn@ % Assumption: called inside a group + \null\,% + \if #1t\vtop \else \if#1b \vbox \else \vcenter \fi \fi \bgroup + \maxfields@#2\relax + \ifnum\maxfields@>\m@ne + \multiply\maxfields@\tw@ + \let\math@cr@@@\math@cr@@@alignedat + \alignsep@\z@skip + \else + \let\math@cr@@@\math@cr@@@aligned + \alignsep@\minalignsep + \fi + \Let@ \chardef\dspbrk@context\@ne + \default@tag + \spread@equation % no-op if already called + \global\column@\z@ + \ialign\bgroup + &\column@plus + \hfil + \strut@ + $\m@th\displaystyle{##}$% + \tabskip\z@skip + &\column@plus + $\m@th\displaystyle{{}##}$% + \hfil + \tabskip\alignsep@ + \crcr +} +\def\math@cr@@@alignedat{% + \ifnum\column@>\maxfields@ + \begingroup + \measuring@false + \@amsmath@err{Extra & on this line}% + {\the\andhelp@}% "An extra & here is disastrous" + \endgroup + \fi + \global\column@\z@ + \cr +} +\def\alignsafe@testopt#1#2{% + \relax\iffalse{\fi\ifnum`}=0\fi + \@ifnextchar[% + {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1}% + {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1[#2]}% +} +\newenvironment{aligned}{% + \let\@testopt\alignsafe@testopt + \aligned@a +}{% + \crcr\egroup + \restorecolumn@ + \egroup +} +\newcommand{\aligned@a}[1][c]{\start@aligned{#1}\m@ne} +\newenvironment{alignedat}{% + \let\@testopt\alignsafe@testopt + \alignedat@a +}{% + \endaligned +} +\newcommand{\alignedat@a}[1][c]{\start@aligned{#1}} +\newenvironment{gathered}[1][c]{% + \RIfM@\else + \nonmatherr@{\begin{gathered}}% + \fi + \null\,% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup + \Let@ \chardef\dspbrk@context\@ne \restore@math@cr + \spread@equation + \ialign\bgroup + \hfil\strut@$\m@th\displaystyle##$\hfil + \crcr +}{% + \endaligned +} +\def\start@gather#1{% + \RIfM@ + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \else + $$% + #1% + \ifst@rred \else \global\@eqnswtrue \fi + \let\next@\gather@ + \fi + \collect@body\next@ +} +\newenvironment{gather}{% + \start@gather\st@rredfalse +}{% + \math@cr \black@\totwidth@ \egroup + $$\ignorespacesafterend +} + +\newenvironment{gather*}{% + \start@gather\st@rredtrue +}{% + \endgather +} +\def\gather@#1{% + \ingather@true \let\split\insplit@ + \let\tag\tag@in@align \let\label\label@in@display + \chardef\dspbrk@context\z@ + \intertext@ \displ@y@ \Let@ + \let\math@cr@@@\math@cr@@@gather + \gmeasure@{#1}% + \global\shifttag@false + \tabskip\z@skip + \global\row@\@ne + \halign to\displaywidth\bgroup + \strut@ + \setboxz@h{$\m@th\displaystyle{##}$}% + \calc@shift@gather + \set@gather@field + \tabskip\@centering + &\setboxz@h{\strut@{##}}% + \place@tag@gather + \tabskip \iftagsleft@ \gdisplaywidth@ \else \z@skip \span\fi + \crcr + #1% +} +\def\gmeasure@#1{% + \begingroup + \measuring@true + \totwidth@\z@ + \global\let\tag@lengths\@empty + \savecounters@ + \setbox\@ne\vbox{% + \everycr{\noalign{\global\tag@false + \global\let\raise@tag\@empty \global\column@\z@}}% + \let\label\@gobble + \halign{% + \setboxz@h{$\m@th\displaystyle{##}$}% + \ifdim\wdz@>\totwidth@ + \global\totwidth@\wdz@ + \fi + &\setboxz@h{\strut@{##}}% + \savetaglength@ + \crcr + #1% + \math@cr@@@ + }% + }% + \restorecounters@ + \if@fleqn + \global\advance\totwidth@\@mathmargin + \fi + \iftagsleft@ + \ifdim\totwidth@>\displaywidth + \global\let\gdisplaywidth@\totwidth@ + \else + \global\let\gdisplaywidth@\displaywidth + \fi + \fi + \endgroup +} +\def\math@cr@@@gather{% + \ifst@rred\nonumber\fi + &\relax + \make@display@tag + \ifst@rred\else\global\@eqnswtrue\fi + \global\advance\row@\@ne + \cr +} +\def\calc@shift@gather{% + \dimen@\mintagsep\relax + \tagwidth@\tag@width\row@\relax + \if@fleqn + \global\eqnshift@\@mathmargin + \ifdim\tagwidth@>\z@ + \advance\dimen@\tagwidth@ + \iftagsleft@ + \ifdim\dimen@>\@mathmargin + \global\shifttag@true + \fi + \else + \advance\dimen@\@mathmargin + \advance\dimen@\wdz@ + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \fi + \fi + \fi + \else + \global\eqnshift@\displaywidth + \global\advance\eqnshift@-\wdz@ + \ifdim\tagwidth@>\z@ + \multiply\dimen@\tw@ + \advance\dimen@\wdz@ + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \else + \ifdim\eqnshift@<4\tagwidth@ + \global\advance\eqnshift@-\tagwidth@ + \fi + \fi + \fi + \global\divide\eqnshift@\tw@ + \iftagsleft@ + \global\eqnshift@-\eqnshift@ + \global\advance\eqnshift@\displaywidth + \global\advance\eqnshift@-\wdz@ + \fi + \ifdim\eqnshift@<\z@ + \global\eqnshift@\z@ + \fi + \fi +} +\def\place@tag@gather{% + \iftagsleft@ + \kern-\gdisplaywidth@ + \ifshifttag@ + \rlap{\vbox{% + \normalbaselines + \boxz@ + \vbox to\lineht@{}% + \raise@tag + }}% + \global\shifttag@false + \else + \rlap{\boxz@}% + \fi + \else + \ifdim\totwidth@>\displaywidth + \dimen@\totwidth@ + \advance\dimen@-\displaywidth + \kern-\dimen@ + \fi + \ifshifttag@ + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \boxz@ + }}% + \global\shifttag@false + \else + \llap{\boxz@}% + \fi + \fi +} +\def\set@gather@field{% + \iftagsleft@ + \global\lineht@\ht\z@ + \else + \global\lineht@\dp\z@ + \fi + \kern\eqnshift@ + \boxz@ + \hfil +} +\newif\ifxxat@ + +\newif\ifcheckat@ + +\let\xatlevel@\@empty +\def\start@align#1#2#3{% + \let\xatlevel@#1% always \z@, \@ne, or \tw@ + \maxfields@#3\relax + \ifnum\maxfields@>\m@ne + \checkat@true + \ifnum\xatlevel@=\tw@ + \xxat@true + \fi + \multiply\maxfields@\tw@ + \else + \checkat@false + \fi + \ifingather@ + \iffalse{\fi\ifnum0=`}\fi + \DN@{\vcenter\bgroup\savealignstate@\align@#2}% + \else + \ifmmode + \if@display + \DN@{\align@recover}% + \else + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \fi + \else + $$% + \let\split\insplit@ + \DN@{\align@#2}% + \fi + \fi + \collect@body\next@ +} +\def\align@recover#1#2#3{% + \endgroup + \@amsmath@err{% +Erroneous nesting of equation structures;\MessageBreak +trying to recover with `aligned'% + }\@ehc + \begin{aligned}\relax#1\end{aligned}% +} +\newenvironment{alignat}{% + \start@align\z@\st@rredfalse +}{% + \endalign +} +\newenvironment{alignat*}{% + \start@align\z@\st@rredtrue +}{% + \endalign +} +\newenvironment{xalignat}{% + \start@align\@ne\st@rredfalse +}{% + \endalign +} +\newenvironment{xalignat*}{% + \start@align\@ne\st@rredtrue +}{% + \endalign +} +\newenvironment{xxalignat}{% + \start@align\tw@\st@rredtrue +}{% + \endalign +} +\newenvironment{align}{% + \start@align\@ne\st@rredfalse\m@ne +}{% + \math@cr \black@\totwidth@ + \egroup + \ifingather@ + \restorealignstate@ + \egroup + \nonumber + \ifnum0=`{\fi\iffalse}\fi + \else + $$% + \fi + \ignorespacesafterend +} +\newenvironment{align*}{% + \start@align\@ne\st@rredtrue\m@ne +}{% + \endalign +} +\newenvironment{flalign}{% + \start@align\tw@\st@rredfalse\m@ne +}{% + \endalign +} +\newenvironment{flalign*}{% + \start@align\tw@\st@rredtrue\m@ne +}{% + \endalign +} +\def\align@#1#2{% + \inalign@true \intertext@ \Let@ \chardef\dspbrk@context\z@ + \ifingather@\else\displ@y@\fi + \let\math@cr@@@\math@cr@@@align + \ifxxat@\else \let\tag\tag@in@align \fi + \let\label\label@in@display + #1% set st@r + \ifst@rred\else \global\@eqnswtrue \fi + \measure@{#2}% + \global\row@\z@ + \tabskip\eqnshift@ + \halign\bgroup + \span\align@preamble\crcr + #2% +} +\def\math@cr@@@align{% + \ifst@rred\nonumber\fi + \if@eqnsw \global\tag@true \fi + \global\advance\row@\@ne + \add@amps\maxfields@ + \omit + \kern-\alignsep@ + \iftag@ + \setboxz@h{\@lign\strut@{\make@display@tag}}% + \place@tag + \fi + \ifst@rred\else\global\@eqnswtrue\fi + \global\lineht@\z@ + \cr +} +\def\math@cr@@@align@measure{% + &\omit + \global\advance\row@\@ne + \ifst@rred\nonumber\fi + \if@eqnsw \global\tag@true \fi + \ifnum\column@>\maxfields@ + \ifcheckat@ + \begingroup + \measuring@false + \@amsmath@err{Extra & on this line}% + {\the\andhelp@}% "An extra & here is disastrous" + \endgroup + \else + \global\maxfields@\column@ + \fi + \fi + \setboxz@h{\@lign\strut@{% + \if@eqnsw + \stepcounter{equation}% + \tagform@\theequation + \else + \iftag@\df@tag\fi + \fi + }}% + \savetaglength@ + \ifst@rred\else\global\@eqnswtrue\fi + \cr +} +\let\field@lengths\@empty + +\def\savefieldlength@{% + \begingroup + \let\or\relax + \xdef\field@lengths{% + \field@lengths + \ifnum\column@=0 + \or + \else + ,% + \fi + \the\wdz@ + }% + \endgroup +} + +\def\fieldlengths@#1{% + \ifcase\@xp#1\field@lengths\fi +} +\let\maxcolumn@widths\@empty +\def\maxcol@width#1{% + \ifcase\@xp#1\maxcolumn@widths\fi\relax +} +\def\measure@#1{% + \begingroup + \measuring@true + \global\eqnshift@\z@ + \global\alignsep@\z@ + \global\let\tag@lengths\@empty + \global\let\field@lengths\@empty + \savecounters@ + \global\setbox0\vbox{% + \let\math@cr@@@\math@cr@@@align@measure + \everycr{\noalign{\global\tag@false + \global\let\raise@tag\@empty \global\column@\z@}}% + \let\label\@gobble + \global\row@\z@ + \tabskip\z@ + \halign{\span\align@preamble\crcr + #1% + \math@cr@@@ + \global\column@\z@ + \add@amps\maxfields@\cr + }% + }% + \restorecounters@ + \ifodd\maxfields@ + \global\advance\maxfields@\@ne + \fi + \ifnum\xatlevel@=\tw@ + \ifnum\maxfields@<\thr@@ + \let\xatlevel@\z@ + \fi + \fi + \setbox\z@\vbox{% + \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox + }% + \global\totwidth@\wd\@ne + \if@fleqn \global\advance\totwidth@\@mathmargin \fi + \global\let\maxcolumn@widths\@empty + \begingroup + \let\or\relax + \loop + \global\setbox\@ne\hbox{% + \unhbox\@ne \unskip \global\setbox\thr@@\lastbox + }% + \ifhbox\thr@@ + \xdef\maxcolumn@widths{ \or \the\wd\thr@@ \maxcolumn@widths}% + \repeat + \endgroup + \dimen@\displaywidth + \advance\dimen@-\totwidth@ + \ifcase\xatlevel@ + \global\alignsep@\z@ + \let\minalignsep\z@ + \@tempcntb\z@ + \if@fleqn + \@tempcnta\@ne + \global\eqnshift@\@mathmargin + \else + \@tempcnta\tw@ + \global\eqnshift@\dimen@ + \global\divide\eqnshift@\@tempcnta + \fi + \or + \@tempcntb\maxfields@ + \divide\@tempcntb\tw@ + \@tempcnta\@tempcntb + \advance\@tempcntb\m@ne + \if@fleqn + \global\eqnshift@\@mathmargin + \global\alignsep@\dimen@ + \global\divide\alignsep@\@tempcnta + \else + \global\advance\@tempcnta\@ne + \global\eqnshift@\dimen@ + \global\divide\eqnshift@\@tempcnta + \global\alignsep@\eqnshift@ + \fi + \or + \@tempcntb\maxfields@ + \divide\@tempcntb\tw@ + \global\advance\@tempcntb\m@ne + \global\@tempcnta\@tempcntb + \global\eqnshift@\z@ + \global\alignsep@\dimen@ + \if@fleqn + \global\advance\alignsep@\@mathmargin\relax + \fi + \global\divide\alignsep@\@tempcntb + \fi + \ifdim\alignsep@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \ifdim\eqnshift@>\z@ + \if@fleqn\else + \global\eqnshift@\displaywidth + \global\advance\eqnshift@-\totwidth@ + \global\advance\eqnshift@-\@tempcntb\alignsep@ + \global\divide\eqnshift@\tw@ + \fi + \fi + \fi + \ifdim\eqnshift@<\z@ + \global\eqnshift@\z@ + \fi + \calc@shift@align + \global\tagshift@\totwidth@ + \global\advance\tagshift@\@tempcntb\alignsep@ + \if@fleqn + \ifnum\xatlevel@=\tw@ + \global\advance\tagshift@-\@mathmargin\relax + \fi + \else + \global\advance\tagshift@\eqnshift@ + \fi + \iftagsleft@ \else + \global\advance\tagshift@-\displaywidth + \fi + \dimen@\minalignsep\relax + \global\advance\totwidth@\@tempcntb\dimen@ + \ifdim\totwidth@>\displaywidth + \global\let\displaywidth@\totwidth@ + \else + \global\let\displaywidth@\displaywidth + \fi + \endgroup +} +\iftagsleft@\if@fleqn + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \@tempdima\@mathmargin\relax + \advance\@tempdima-\mintagsep\relax + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@lf + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@lf{% + \ifdim\eqnshift@=\z@ + \global\eqnshift@\@mathmargin\relax + \alignsep@\displaywidth + \advance\alignsep@-\totwidth@ + \global\divide\alignsep@\@tempcntb + \ifdim\alignsep@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \fi + \fi + \ifdim\tag@width\row@>\@tempdima + \saveshift@1% + \else + \saveshift@0% + \fi + } +\fi\fi +\iftagsleft@\else\if@fleqn + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@rf + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@rf{% + \column@\z@ + \@tempdimb\z@ + \@tempdimc\z@ + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@rcalc@width + }% + \begingroup + \advance\column@\m@ne + \divide\column@\tw@ + \ifnum\@tempcntb>\column@ + \advance\@tempcnta-\@tempcntb + \advance\@tempcnta\column@ + \@tempcntb\column@ + \fi + \tagwidth@\tag@width\row@\relax + \@tempdima\eqnshift@ + \advance\@tempdima\@tempdimc\relax + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\alignsep@\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\@tempdima + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \divide\dimen@\@tempcnta + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \else + \global\alignsep@\dimen@ + \fi + \fi + \fi + \endgroup + } +\fi\fi +\iftagsleft@\else\if@fleqn\else + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>0 + \ifdim\tag@width\row@>\z@ + \x@calc@shift@rc + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@rc{% + \column@\z@ + \@tempdimb\z@ + \@tempdimc\z@ + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@rcalc@width + }% + \begingroup + \advance\column@\m@ne + \divide\column@\tw@ + \ifnum\@tempcntb>\column@ + \advance\@tempcnta-\@tempcntb + \advance\@tempcnta\column@ + \@tempcntb\column@ + \fi + \tagwidth@\tag@width\row@\relax + \@tempdima\@tempdimc + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \ifnum\xatlevel@=\tw@ \else + \advance\dimen@\mintagsep\relax + \fi + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\eqnshift@ + \advance\dimen@\@tempdima + \advance\dimen@\@tempcntb\alignsep@ + \advance\dimen@\tagwidth@ + \ifdim\dimen@>\displaywidth + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \divide\dimen@\@tempcnta + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \eqnshift@\displaywidth + \advance\eqnshift@-\@tempdima + \advance\eqnshift@-\@tempcntb\alignsep@ + \global\divide\eqnshift@\tw@ + \else + \ifdim\dimen@<\eqnshift@ + \ifdim\dimen@<\z@ + \global\eqnshift@\z@ + \else + \global\eqnshift@\dimen@ + \fi + \fi + \ifdim\dimen@<\alignsep@ + \global\alignsep@\dimen@ + \fi + \fi + \fi + \fi + \endgroup + } +\fi\fi +\iftagsleft@\else + \def\x@rcalc@width{% + \ifdim\@tempa > \z@ + \advance\@tempdimc\@tempdimb + \ifodd\column@ + \advance\@tempdimc\maxcol@width\column@ + \@tempdimb\z@ + \else + \advance\@tempdimc\@tempa\relax + \@tempdimb\maxcol@width\column@ + \advance\@tempdimb-\@tempa\relax + \fi + \else + \advance\@tempdimb\maxcol@width\column@\relax + \fi + } +\fi +\iftagsleft@\if@fleqn\else + \def\calc@shift@align{% + \global\let\tag@shifts\@empty + \begingroup + \loop + \ifnum\row@>\z@ + \ifdim\tag@width\row@>\z@ + \x@calc@shift@lc + \else + \saveshift@0% + \fi + \advance\row@\m@ne + \repeat + \endgroup + } + \def\x@calc@shift@lc{% + \column@\z@ + \@tempdima\z@ % ``width of equation'' + \@tempdimb\z@ % ``indent of equation'' + \edef\@tempb{\fieldlengths@\row@}% + \@for\@tempa:=\@tempb\do{% + \advance\column@\@ne + \x@lcalc@width + }% + \begingroup + \tagwidth@\tag@width\row@\relax + \@tempdima\totwidth@ + \advance\@tempdima-\@tempdimb + \advance\@tempdima\tagwidth@ + \dimen@\minalignsep\relax + \multiply\dimen@\@tempcntb + \advance\dimen@\mintagsep\relax + \ifnum\xatlevel@=\tw@ \else + \advance\dimen@\mintagsep\relax + \fi + \advance\dimen@\@tempdima + \ifdim\dimen@>\displaywidth + \saveshift@1% + \else + \saveshift@0% + \dimen@\alignsep@ + \multiply\dimen@\count@ + \advance\dimen@\eqnshift@ + \advance\dimen@\@tempdimb + \ifdim\dimen@<2\tagwidth@ + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \ifnum\xatlevel@=\tw@ + \advance\dimen@-\mintagsep\relax + \fi + \ifnum\@tempcnta>\z@ + \divide\dimen@\@tempcnta + \else \dimen@\z@ + \fi + \ifdim\dimen@<\minalignsep\relax + \global\alignsep@\minalignsep\relax + \dimen@\displaywidth + \advance\dimen@-\@tempdima + \advance\dimen@-\@tempcntb\alignsep@ + \global\divide\dimen@\tw@ + \else + \ifdim\dimen@<\alignsep@ + \global\alignsep@\dimen@ + \fi + \fi + \ifnum\xatlevel@=\tw@ + \dimen@\mintagsep\relax + \fi + \advance\dimen@\tagwidth@ + \advance\dimen@-\@tempdimb + \advance\dimen@-\count@\alignsep@ + \ifdim\dimen@>\eqnshift@ + \global\eqnshift@\dimen@ + \fi + \fi + \fi + \endgroup + } + \def\x@lcalc@width{% + \ifdim\@tempdima = \z@ + \ifdim\@tempa > \z@ + \@tempdima\p@ + \ifodd\column@ + \advance\@tempdimb \maxcol@width\column@ + \advance\@tempdimb-\@tempa + \fi + \count@\column@ + \advance\count@\m@ne + \divide\count@\tw@ + \advance\@tempcnta-\count@ + \advance\@tempcntb-\count@ + \else + \advance\@tempdimb \maxcol@width\column@\relax + \fi + \fi + } +\fi\fi +\def\place@tag{% + \iftagsleft@ + \kern-\tagshift@ + \if1\shift@tag\row@\relax + \rlap{\vbox{% + \normalbaselines + \boxz@ + \vbox to\lineht@{}% + \raise@tag + }}% + \else + \rlap{\boxz@}% + \fi + \kern\displaywidth@ + \else + \kern-\tagshift@ + \if1\shift@tag\row@\relax + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \boxz@ + }}% + \else + \llap{\boxz@}% + \fi + \fi +} +\def\align@preamble{% + &\hfil + \strut@ + \setboxz@h{\@lign$\m@th\displaystyle{##}$}% + \ifmeasuring@\savefieldlength@\fi + \set@field + \tabskip\z@skip + &\setboxz@h{\@lign$\m@th\displaystyle{{}##}$}% + \ifmeasuring@\savefieldlength@\fi + \set@field + \hfil + \tabskip\alignsep@ +} +\def\set@field{% + \column@plus + \iftagsleft@ + \ifdim\ht\z@>\lineht@ + \global\lineht@\ht\z@ + \fi + \else + \ifdim\dp\z@>\lineht@ + \global\lineht@\dp\z@ + \fi + \fi + \boxz@ +} +\edef\split@err#1{% + \@nx\@amsmath@err{% + \string\begin{split} won't work here% + }{% + \@xp\@nx\csname + Did you forget a preceding \string\begin{equation}?^^J% + If not, perhaps the `aligned' environment is what + you want.\endcsname}% +} +\newenvironment{split}{% + \if@display + \ifinner + \@xp\@xp\@xp\split@aligned + \else + \ifst@rred \else \global\@eqnswtrue \fi + \fi + \else \let\endsplit\@empty \@xp\collect@body\@xp\split@err + \fi + \collect@body\gather@split +}{% + \crcr + \egroup + \egroup + \iftagsleft@ \@xp\lendsplit@ \else \@xp\rendsplit@ \fi +} +\let\split@tag\relax % init +\def\gather@split#1#2#3{% + \@xp\endgroup \reset@equation % math@cr will handle equation numbering + \iftag@ + \toks@\@xp{\df@tag}% + \edef\split@tag{% + \gdef\@nx\df@tag{\the\toks@}% + \global\@nx\tag@true \@nx\nonumber + }% + \else \let\split@tag\@empty + \fi + \spread@equation + \vcenter\bgroup + \gather@{\split@tag \begin{split}#1\end{split}}% + \def\endmathdisplay@a{% + \math@cr \black@ \totwidth@ \egroup + \egroup + }% +} +\def\insplit@{% + \global\setbox\z@\vbox\bgroup + \Let@ \chardef\dspbrk@context\@ne \restore@math@cr + \default@tag % disallow use of \tag here + \ialign\bgroup + \hfil + \strut@ + $\m@th\displaystyle{##}$% + &$\m@th\displaystyle{{}##}$% + \hfill % Why not \hfil?---dmj, 1994/12/28 + \crcr +} +\def\rendsplit@{% + \ifinalign@ + \global\setbox9 \vtop{% + \unvcopy\z@ + \global\setbox8 \lastbox + \unskip + }% + \setbox\@ne\hbox{% + \unhcopy8 + \unskip + \global\setbox\tw@\lastbox + \unskip + \global\setbox\thr@@\lastbox + }% + \ifctagsplit@ + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}% + }% + \else + \global\setbox7 \hbox{\unhbox\tw@\unskip}% + \gdef\split@{% + \global\@tempcnta\column@ + &\setboxz@h{}% + \savetaglength@ + \global\advance\row@\@ne + \vbox{\moveleft\wd\thr@@\box9}% + \crcr + \noalign{\global\lineht@\z@}% + \add@amps\@tempcnta + \box\thr@@ + &\box7 + }% + \fi + \else + \ifctagsplit@ + \gdef\split@{\vcenter{\boxz@}}% + \else + \gdef\split@{% + \boxz@ + }% + \fi + \fi + \aftergroup\split@ +} +\def\lendsplit@{% + \global\setbox9\vtop{\unvcopy\z@}% + \ifinalign@ + \setbox\@ne\vbox{% + \unvcopy\z@ + \global\setbox8\lastbox + }% + \setbox\@ne\hbox{% + \unhcopy8% + \unskip + \setbox\tw@\lastbox + \unskip + \global\setbox\thr@@\lastbox + }% + \ifctagsplit@ + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vcenter{\vbox{\moveleft\wd\thr@@\box9}}% + }% + \else + \gdef\split@{% + \hbox to\wd\thr@@{}% + &\vbox{\moveleft\wd\thr@@\box9}% + }% + \fi + \else + \ifctagsplit@ + \gdef\split@{\vcenter{\box9}}% + \else + \gdef\split@{\box9}% + \fi + \fi + \aftergroup\split@ +} +\def\split@aligned#1#2{% + \iffalse{\fi\ifnum0=`}\fi + \collect@body\split@al@a} +\def\split@al@a#1#2#3{% + \split@warning + \endgroup + \toks@{\begin{aligned}}% + \if@fleqn \split@al@tagcheck \fi + \the\toks@\relax#1\end{aligned}% + \ifnum0=`{\fi\iffalse}\fi +} +\def\split@al@tagcheck{% + \ifctagsplit@ + \else + \iftagsleft@ \toks@\@xp{\the\toks@ [t]}% + \else \toks@\@xp{\the\toks@ [b]}% + \fi + \fi +} +\def\split@warning{% + \PackageWarning{amsmath}{% +Cannot use `split' here;\MessageBreak trying to recover with `aligned'}% +} +\newskip\multlinegap +\multlinegap10pt +\newskip\multlinetaggap +\multlinetaggap10pt +\def\start@multline#1{% + \RIfM@ + \nomath@env + \DN@{\@namedef{end\@currenvir}{}\@gobble}% + \else + $$% + #1% + \ifst@rred + \nonumber + \else + \global\@eqnswtrue + \fi + \let\next@\multline@ + \fi + \collect@body\next@ +} +\newenvironment{multline}{% + \start@multline\st@rredfalse +}{% + \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi + \ignorespacesafterend +} +\newenvironment{multline*}{\start@multline\st@rredtrue}{\endmultline} +\def\multline@#1{% + \Let@ + \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}% + \chardef\dspbrk@context\z@ + \restore@math@cr + \let\tag\tag@in@align + \global\tag@false \global\let\raise@tag\@empty + \mmeasure@{#1}% + \let\tag\gobble@tag \let\label\@gobble + \tabskip \if@fleqn \@mathmargin \else \z@skip \fi + \totwidth@\displaywidth + \if@fleqn + \advance\totwidth@-\@mathmargin + \fi + \halign\bgroup + \hbox to\totwidth@{% + \if@fleqn + \hskip \@centering \relax + \else + \hfil + \fi + \strut@ + $\m@th\displaystyle{}##\endmultline@math + \hfil + }% + \crcr + \if@fleqn + \hskip-\@mathmargin + \def\multline@indent{\hskip\@mathmargin}% put it back + \else + \hfilneg + \def\multline@indent{\hskip\multlinegap}% + \fi + \iftagsleft@ + \iftag@ + \begingroup + \ifshifttag@ + \rlap{\vbox{% + \normalbaselines + \hbox{% + \strut@ + \make@display@tag + }% + \vbox to\lineht@{}% + \raise@tag + }}% + \multline@indent + \else + \setbox\z@\hbox{\make@display@tag}% + \dimen@\@mathmargin \advance\dimen@-\wd\z@ + \ifdim\dimen@<\multlinetaggap + \dimen@\multlinetaggap + \fi + \box\z@ \hskip\dimen@\relax + \fi + \endgroup + \else + \multline@indent + \fi + \else + \multline@indent + \fi + #1% +} +\def\endmultline@math{$} +\def\lendmultline@{% + \hfilneg + \hskip\multlinegap + \math@cr + \egroup + $$% +} +\def\rendmultline@{% + \iftag@ + $\let\endmultline@math\relax + \ifshifttag@ + \hskip\multlinegap + \llap{\vtop{% + \raise@tag + \normalbaselines + \setbox\@ne\null + \dp\@ne\lineht@ + \box\@ne + \hbox{\strut@\make@display@tag}% + }}% + \else + \hskip\multlinetaggap + \make@display@tag + \fi + \else + \hskip\multlinegap + \fi + \hfilneg + \math@cr + \egroup$$% +} +\def\mmeasure@#1{% + \begingroup + \measuring@true + \def\label##1{% + \begingroup\measuring@false\label@in@display{##1}\endgroup}% + \def\math@cr@@@{\cr}% + \let\shoveleft\@iden \let\shoveright\@iden + \savecounters@ + \global\row@\z@ + \setbox\@ne\vbox{% + \global\let\df@tag\@empty + \halign{% + \setboxz@h{\@lign$\m@th\displaystyle{}##$}% + \iftagsleft@ + \ifnum\row@=\@ne + \global\totwidth@\wdz@ + \global\lineht@\ht\z@ + \fi + \else + \global\totwidth@\wdz@ + \global\lineht@\dp\z@ + \fi + \crcr + #1% + \crcr + }% + }% + \ifx\df@tag\@empty\else\global\tag@true\fi + \if@eqnsw\global\tag@true\fi + \iftag@ + \setboxz@h{% + \if@eqnsw + \stepcounter{equation}% + \tagform@\theequation + \else + \df@tag + \fi + }% + \global\tagwidth@\wdz@ + \dimen@\totwidth@ + \advance\dimen@\tagwidth@ + \advance\dimen@\multlinetaggap + \iftagsleft@\else + \if@fleqn + \advance\dimen@\@mathmargin + \fi + \fi + \ifdim\dimen@>\displaywidth + \global\shifttag@true + \else + \global\shifttag@false + \fi + \fi + \restorecounters@ + \endgroup +} +\iftagsleft@ + \def\shoveright#1{% + #1% + \hfilneg + \hskip\multlinegap + } +\else + \def\shoveright#1{% + #1% + \hfilneg + \iftag@ + \ifshifttag@ + \hskip\multlinegap + \else + \hskip\tagwidth@ + \hskip\multlinetaggap + \fi + \else + \hskip\multlinegap + \fi + } +\fi + +\if@fleqn + \def\shoveleft#1{#1}% +\else + \iftagsleft@ + \def\shoveleft#1{% + \setboxz@h{$\m@th\displaystyle{}#1$}% + \setbox\@ne\hbox{$\m@th\displaystyle#1$}% + \hfilneg + \iftag@ + \ifshifttag@ + \hskip\multlinegap + \else + \hskip\tagwidth@ + \hskip\multlinetaggap + \fi + \else + \hskip\multlinegap + \fi + \hskip.5\wd\@ne + \hskip-.5\wdz@ + #1% + } + \else + \def\shoveleft#1{% + \setboxz@h{$\m@th\displaystyle{}#1$}% + \setbox\@ne\hbox{$\m@th\displaystyle#1$}% + \hfilneg + \hskip\multlinegap + \hskip.5\wd\@ne + \hskip-.5\wdz@ + #1% + } + \fi +\fi +\@saveprimitive\leqno\@@leqno +\@saveprimitive\eqno\@@eqno +\def\eqno{\@@eqno\let\eqno\relax\let\leqno\relax} +\def\leqno{\@@leqno\let\leqno\relax\let\eqno\relax} +\let\veqno=\@@eqno +\iftagsleft@ \let\veqno=\@@leqno \fi +\@ifundefined{SK@@label}{% + \let\SK@@label\relax \let\SK@equationtrue\relax +}{} +\let\reset@equation\@empty +\let\alt@tag\@empty +\def\tag@in@display#1#{\relax\tag@in@display@a{#1}} +\def\tag@in@display@a#1#2{% + \iftag@ + \invalid@tag{Multiple \string\tag}\relax + \else + \global\tag@true \nonumber \reset@equation \st@rredtrue + \if *\string#1% + \gdef\alt@tag{\def\SK@tagform@{#2\@gobble}% + \ifx\SK@@label\relax \let\tagform@\SK@tagform@ \fi + }% + \make@df@tag@@{#2}% + \else + \make@df@tag@@@{#2}% + \fi + \fi +} +\let\restore@hfuzz\@empty +\def\mathdisplay#1{% + \ifmmode \@badmath + \else + $$\def\@currenvir{#1}% + \let\dspbrk@context\z@ + \let\tag\tag@in@display \let\label\label@in@display \SK@equationtrue + \global\let\df@label\@empty \global\let\df@tag\@empty + \global\tag@false + \let\mathdisplay@push\mathdisplay@@push + \let\mathdisplay@pop\mathdisplay@@pop + \if@fleqn + \edef\restore@hfuzz{\hfuzz\the\hfuzz\relax}% + \hfuzz\maxdimen + \setbox\z@\hbox to\displaywidth\bgroup + \let\split@warning\relax \restore@hfuzz + \everymath\@emptytoks \m@th $\displaystyle + \fi + \fi +} +\def\endmathdisplay#1{% + \ifmmode \else \@badmath \fi + \endmathdisplay@a + $$% + \global\let\df@label\@empty \global\let\df@tag\@empty + \global\tag@false \global\let\alt@tag\@empty + \global\@eqnswfalse +} +\def\endmathdisplay@a{% + \if@eqnsw \gdef\df@tag{\tagform@\theequation}\fi + \if@fleqn \@xp\endmathdisplay@fleqn + \else \ifx\df@tag\@empty \else \veqno \alt@tag \df@tag \fi + \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi + \fi + \ifnum\dspbrk@lvl>\m@ne + \postdisplaypenalty -\@getpen\dspbrk@lvl + \global\dspbrk@lvl\m@ne + \fi +} +\let\too@wide\@ne +\def\endmathdisplay@fleqn{% + $\hfil\hskip\@mathmargin\egroup + \ifnum\badness<\inf@bad \let\too@wide\@ne \else \let\too@wide\z@ \fi + \ifx\@empty\df@tag + \else + \setbox4\hbox{\df@tag + \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi + }% + \fi + \csname emdf@% + \ifx\df@tag\@empty U\else \iftagsleft@ L\else R\fi\fi + \endcsname +} +\def\emdf@U{% + \restore@hfuzz + \ifodd\too@wide % not too wide: just need to swap the glue around + \hbox to\displaywidth{\hskip\@mathmargin\unhbox\z@\unskip}% + \else % M+B > displaywidth + \emdf@Ua + \fi +} +\def\emdf@Ua{% + \hbox to\columnwidth{% + \ifdim\displayindent>\z@ + \hskip\displayindent minus\displayindent + \fi + \hskip\@mathmargin \unhbox\z@ \unskip + }% + \displayindent\z@ \displaywidth\columnwidth +} +\def\emdf@R{% + \setbox\tw@\hbox to\displaywidth{% + \hskip\@mathmargin \unhcopy\z@\unskip\hfil\hskip\mintagsep\copy4 + }% + \restore@hfuzz + \ifnum\badness<\inf@bad \box\tw@ \else \emdf@Ra \fi +} +\def\emdf@Ra{% + \skip@\displayindent minus\displayindent + \displayindent\z@ \displaywidth\columnwidth + \spread@equation \everycr{}\tabskip\z@skip + \halign{\hbox to\displaywidth{##}\cr + \relax + \ifdim\skip@>\z@ \hskip\skip@ \fi + \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr + \noalign{\raise@tag}% + \hfil\box4 \cr}% +} +\def\emdf@L{% + \@tempdima\@mathmargin + \advance\@tempdima-\wd4 \advance\@tempdima-\mintagsep + \skip@\@tempdima minus\@tempdima + \setbox\tw@\hbox to\displaywidth{% + \copy4\hskip\mintagsep + \ifdim\skip@>\z@ \hskip\skip@\fi + \unhcopy\z@\unskip + }% + \restore@hfuzz + \ifnum\badness<\inf@bad \box\tw@ \else \emdf@La \fi +} +\def\emdf@La{% + \spread@equation \everycr{}\tabskip\z@skip + \halign{\hbox to\displaywidth{##}\cr + \box4 \hfil \cr + \noalign{\raise@tag}% + \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr}% +} +\newtoks\mathdisplay@stack +\let\mathdisplay@push\@empty +\def\mathdisplay@@push{% + \begingroup + \toks@\@xp{\df@label}\@temptokena\@xp{\df@tag}% + \toks8\@xp{\alt@tag}% + \edef\@tempa{% + \global\if@eqnsw\@nx\@eqnswtrue\else\@nx\@eqnswfalse\fi + \global\iftag@\@nx\tag@false\else\@nx\tag@true\fi + \gdef\@nx\df@label{\the\toks@}\gdef\@nx\df@tag{\the\@temptokena}% + \gdef\@nx\alt@tag{\the\toks8}% + \global\mathdisplay@stack{\the\mathdisplay@stack}% + }% + \global\mathdisplay@stack\@xp{\@tempa} + \endgroup +} +\let\mathdisplay@pop\@empty +\def\mathdisplay@@pop{\the\mathdisplay@stack} +\renewenvironment{equation}{% + \incr@eqnum + \mathdisplay@push + \st@rredfalse \global\@eqnswtrue + \mathdisplay{equation}% +}{% + \endmathdisplay{equation}% + \mathdisplay@pop + \ignorespacesafterend +} +\newenvironment{equation*}{% + \mathdisplay@push + \st@rredtrue \global\@eqnswfalse + \mathdisplay{equation*}% +}{% + \endmathdisplay{equation*}% + \mathdisplay@pop + \ignorespacesafterend +} +\DeclareRobustCommand{\[}{\begin{equation*}} +\DeclareRobustCommand{\]}{\end{equation*}} +\endinput +%% +%% End of file `amsmath.sty'. diff --git a/PeCO-EO/amssymb.sty b/PeCO-EO/amssymb.sty new file mode 100644 index 0000000..4d0ac08 --- /dev/null +++ b/PeCO-EO/amssymb.sty @@ -0,0 +1,285 @@ +%% +%% This is file `amssymb.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amssymb.dtx +%% +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "amssymb.dtx", +%%% version = "2.2d", +%%% date = "2002/01/22", +%%% time = "10:06:53 EST", +%%% checksum = "51146 363 1168 18275", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 2001 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amslatex, ams-latex, math symbol, +%%% amsfonts, msam, msbm", +%%% supported = "yes", +%%% abstract = "This file is part of the AMSFonts distribution. +%%% It is a \LaTeX{} package that defines symbol +%%% names for all the math symbols in the fonts +%%% MSAM and MSBM, of the AMSFonts (2.0+) collection.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must be December 1994 or later +\ProvidesPackage{amssymb}[2002/01/22 v2.2d] +\DeclareOption{psamsfonts}{\PassOptionsToPackage{psamsfonts}{amsfonts}} +\ProcessOptions\relax +\RequirePackage{amsfonts}[1995/01/01] +\let\square\relax \let\rightsquigarrow\square \let\lozenge\square +\let\vartriangleright\square \let\vartriangleleft\square +\let\trianglerighteq\square \let\trianglelefteq\square +\begingroup \catcode`\"=12 +\DeclareMathSymbol{\boxdot} {\mathbin}{AMSa}{"00} +\DeclareMathSymbol{\boxplus} {\mathbin}{AMSa}{"01} +\DeclareMathSymbol{\boxtimes} {\mathbin}{AMSa}{"02} +\DeclareMathSymbol{\square} {\mathord}{AMSa}{"03} +\DeclareMathSymbol{\blacksquare} {\mathord}{AMSa}{"04} +\DeclareMathSymbol{\centerdot} {\mathbin}{AMSa}{"05} +\DeclareMathSymbol{\lozenge} {\mathord}{AMSa}{"06} +\DeclareMathSymbol{\blacklozenge} {\mathord}{AMSa}{"07} +\DeclareMathSymbol{\circlearrowright} {\mathrel}{AMSa}{"08} +\DeclareMathSymbol{\circlearrowleft} {\mathrel}{AMSa}{"09} +%% In amsfonts.sty: +%%\DeclareMathSymbol{\rightleftharpoons}{\mathrel}{AMSa}{"0A} +\DeclareMathSymbol{\leftrightharpoons} {\mathrel}{AMSa}{"0B} +\DeclareMathSymbol{\boxminus} {\mathbin}{AMSa}{"0C} +\DeclareMathSymbol{\Vdash} {\mathrel}{AMSa}{"0D} +\DeclareMathSymbol{\Vvdash} {\mathrel}{AMSa}{"0E} +\DeclareMathSymbol{\vDash} {\mathrel}{AMSa}{"0F} +\DeclareMathSymbol{\twoheadrightarrow} {\mathrel}{AMSa}{"10} +\DeclareMathSymbol{\twoheadleftarrow} {\mathrel}{AMSa}{"11} +\DeclareMathSymbol{\leftleftarrows} {\mathrel}{AMSa}{"12} +\DeclareMathSymbol{\rightrightarrows} {\mathrel}{AMSa}{"13} +\DeclareMathSymbol{\upuparrows} {\mathrel}{AMSa}{"14} +\DeclareMathSymbol{\downdownarrows} {\mathrel}{AMSa}{"15} +\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16} + \global\let\restriction\upharpoonright +\DeclareMathSymbol{\downharpoonright} {\mathrel}{AMSa}{"17} +\DeclareMathSymbol{\upharpoonleft} {\mathrel}{AMSa}{"18} +\DeclareMathSymbol{\downharpoonleft}{\mathrel}{AMSa}{"19} +\DeclareMathSymbol{\rightarrowtail} {\mathrel}{AMSa}{"1A} +\DeclareMathSymbol{\leftarrowtail} {\mathrel}{AMSa}{"1B} +\DeclareMathSymbol{\leftrightarrows}{\mathrel}{AMSa}{"1C} +\DeclareMathSymbol{\rightleftarrows}{\mathrel}{AMSa}{"1D} +\DeclareMathSymbol{\Lsh} {\mathrel}{AMSa}{"1E} +\DeclareMathSymbol{\Rsh} {\mathrel}{AMSa}{"1F} +\DeclareMathSymbol{\rightsquigarrow} {\mathrel}{AMSa}{"20} +\DeclareMathSymbol{\leftrightsquigarrow}{\mathrel}{AMSa}{"21} +\DeclareMathSymbol{\looparrowleft} {\mathrel}{AMSa}{"22} +\DeclareMathSymbol{\looparrowright} {\mathrel}{AMSa}{"23} +\DeclareMathSymbol{\circeq} {\mathrel}{AMSa}{"24} +\DeclareMathSymbol{\succsim} {\mathrel}{AMSa}{"25} +\DeclareMathSymbol{\gtrsim} {\mathrel}{AMSa}{"26} +\DeclareMathSymbol{\gtrapprox} {\mathrel}{AMSa}{"27} +\DeclareMathSymbol{\multimap} {\mathrel}{AMSa}{"28} +\DeclareMathSymbol{\therefore} {\mathrel}{AMSa}{"29} +\DeclareMathSymbol{\because} {\mathrel}{AMSa}{"2A} +\DeclareMathSymbol{\doteqdot} {\mathrel}{AMSa}{"2B} + \global\let\Doteq\doteqdot +\DeclareMathSymbol{\triangleq} {\mathrel}{AMSa}{"2C} +\DeclareMathSymbol{\precsim} {\mathrel}{AMSa}{"2D} +\DeclareMathSymbol{\lesssim} {\mathrel}{AMSa}{"2E} +\DeclareMathSymbol{\lessapprox} {\mathrel}{AMSa}{"2F} +\DeclareMathSymbol{\eqslantless} {\mathrel}{AMSa}{"30} +\DeclareMathSymbol{\eqslantgtr} {\mathrel}{AMSa}{"31} +\DeclareMathSymbol{\curlyeqprec} {\mathrel}{AMSa}{"32} +\DeclareMathSymbol{\curlyeqsucc} {\mathrel}{AMSa}{"33} +\DeclareMathSymbol{\preccurlyeq} {\mathrel}{AMSa}{"34} +\DeclareMathSymbol{\leqq} {\mathrel}{AMSa}{"35} +\DeclareMathSymbol{\leqslant} {\mathrel}{AMSa}{"36} +\DeclareMathSymbol{\lessgtr} {\mathrel}{AMSa}{"37} +\DeclareMathSymbol{\backprime} {\mathord}{AMSa}{"38} +\DeclareMathSymbol{\risingdotseq} {\mathrel}{AMSa}{"3A} +\DeclareMathSymbol{\fallingdotseq}{\mathrel}{AMSa}{"3B} +\DeclareMathSymbol{\succcurlyeq} {\mathrel}{AMSa}{"3C} +\DeclareMathSymbol{\geqq} {\mathrel}{AMSa}{"3D} +\DeclareMathSymbol{\geqslant} {\mathrel}{AMSa}{"3E} +\DeclareMathSymbol{\gtrless} {\mathrel}{AMSa}{"3F} +%% in amsfonts.sty +%% \DeclareMathSymbol{\sqsubset} {\mathrel}{AMSa}{"40} +%% \DeclareMathSymbol{\sqsupset} {\mathrel}{AMSa}{"41} +\DeclareMathSymbol{\vartriangleright}{\mathrel}{AMSa}{"42} +\DeclareMathSymbol{\vartriangleleft} {\mathrel}{AMSa}{"43} +\DeclareMathSymbol{\trianglerighteq} {\mathrel}{AMSa}{"44} +\DeclareMathSymbol{\trianglelefteq} {\mathrel}{AMSa}{"45} +\DeclareMathSymbol{\bigstar} {\mathord}{AMSa}{"46} +\DeclareMathSymbol{\between} {\mathrel}{AMSa}{"47} +\DeclareMathSymbol{\blacktriangledown} {\mathord}{AMSa}{"48} +\DeclareMathSymbol{\blacktriangleright} {\mathrel}{AMSa}{"49} +\DeclareMathSymbol{\blacktriangleleft} {\mathrel}{AMSa}{"4A} +\DeclareMathSymbol{\vartriangle} {\mathrel}{AMSa}{"4D} +\DeclareMathSymbol{\blacktriangle} {\mathord}{AMSa}{"4E} +\DeclareMathSymbol{\triangledown} {\mathord}{AMSa}{"4F} +\DeclareMathSymbol{\eqcirc} {\mathrel}{AMSa}{"50} +\DeclareMathSymbol{\lesseqgtr} {\mathrel}{AMSa}{"51} +\DeclareMathSymbol{\gtreqless} {\mathrel}{AMSa}{"52} +\DeclareMathSymbol{\lesseqqgtr} {\mathrel}{AMSa}{"53} +\DeclareMathSymbol{\gtreqqless} {\mathrel}{AMSa}{"54} +\DeclareMathSymbol{\Rrightarrow} {\mathrel}{AMSa}{"56} +\DeclareMathSymbol{\Lleftarrow} {\mathrel}{AMSa}{"57} +\DeclareMathSymbol{\veebar} {\mathbin}{AMSa}{"59} +\DeclareMathSymbol{\barwedge} {\mathbin}{AMSa}{"5A} +\DeclareMathSymbol{\doublebarwedge} {\mathbin}{AMSa}{"5B} +%% In amsfonts.sty +%%\DeclareMathSymbol{\angle} {\mathord}{AMSa}{"5C} +\DeclareMathSymbol{\measuredangle} {\mathord}{AMSa}{"5D} +\DeclareMathSymbol{\sphericalangle} {\mathord}{AMSa}{"5E} +\DeclareMathSymbol{\varpropto} {\mathrel}{AMSa}{"5F} +\DeclareMathSymbol{\smallsmile} {\mathrel}{AMSa}{"60} +\DeclareMathSymbol{\smallfrown} {\mathrel}{AMSa}{"61} +\DeclareMathSymbol{\Subset} {\mathrel}{AMSa}{"62} +\DeclareMathSymbol{\Supset} {\mathrel}{AMSa}{"63} +\DeclareMathSymbol{\Cup} {\mathbin}{AMSa}{"64} + \global\let\doublecup\Cup +\DeclareMathSymbol{\Cap} {\mathbin}{AMSa}{"65} + \global\let\doublecap\Cap +\DeclareMathSymbol{\curlywedge} {\mathbin}{AMSa}{"66} +\DeclareMathSymbol{\curlyvee} {\mathbin}{AMSa}{"67} +\DeclareMathSymbol{\leftthreetimes} {\mathbin}{AMSa}{"68} +\DeclareMathSymbol{\rightthreetimes}{\mathbin}{AMSa}{"69} +\DeclareMathSymbol{\subseteqq} {\mathrel}{AMSa}{"6A} +\DeclareMathSymbol{\supseteqq} {\mathrel}{AMSa}{"6B} +\DeclareMathSymbol{\bumpeq} {\mathrel}{AMSa}{"6C} +\DeclareMathSymbol{\Bumpeq} {\mathrel}{AMSa}{"6D} +\DeclareMathSymbol{\lll} {\mathrel}{AMSa}{"6E} + \global\let\llless\lll +\DeclareMathSymbol{\ggg} {\mathrel}{AMSa}{"6F} + \global\let\gggtr\ggg +\DeclareMathSymbol{\circledS} {\mathord}{AMSa}{"73} +\DeclareMathSymbol{\pitchfork} {\mathrel}{AMSa}{"74} +\DeclareMathSymbol{\dotplus} {\mathbin}{AMSa}{"75} +\DeclareMathSymbol{\backsim} {\mathrel}{AMSa}{"76} +\DeclareMathSymbol{\backsimeq} {\mathrel}{AMSa}{"77} +\DeclareMathSymbol{\complement} {\mathord}{AMSa}{"7B} +\DeclareMathSymbol{\intercal} {\mathbin}{AMSa}{"7C} +\DeclareMathSymbol{\circledcirc} {\mathbin}{AMSa}{"7D} +\DeclareMathSymbol{\circledast} {\mathbin}{AMSa}{"7E} +\DeclareMathSymbol{\circleddash} {\mathbin}{AMSa}{"7F} +%% Begin AMSb declarations +\DeclareMathSymbol{\lvertneqq} {\mathrel}{AMSb}{"00} +\DeclareMathSymbol{\gvertneqq} {\mathrel}{AMSb}{"01} +\DeclareMathSymbol{\nleq} {\mathrel}{AMSb}{"02} +\DeclareMathSymbol{\ngeq} {\mathrel}{AMSb}{"03} +\DeclareMathSymbol{\nless} {\mathrel}{AMSb}{"04} +\DeclareMathSymbol{\ngtr} {\mathrel}{AMSb}{"05} +\DeclareMathSymbol{\nprec} {\mathrel}{AMSb}{"06} +\DeclareMathSymbol{\nsucc} {\mathrel}{AMSb}{"07} +\DeclareMathSymbol{\lneqq} {\mathrel}{AMSb}{"08} +\DeclareMathSymbol{\gneqq} {\mathrel}{AMSb}{"09} +\DeclareMathSymbol{\nleqslant} {\mathrel}{AMSb}{"0A} +\DeclareMathSymbol{\ngeqslant} {\mathrel}{AMSb}{"0B} +\DeclareMathSymbol{\lneq} {\mathrel}{AMSb}{"0C} +\DeclareMathSymbol{\gneq} {\mathrel}{AMSb}{"0D} +\DeclareMathSymbol{\npreceq} {\mathrel}{AMSb}{"0E} +\DeclareMathSymbol{\nsucceq} {\mathrel}{AMSb}{"0F} +\DeclareMathSymbol{\precnsim} {\mathrel}{AMSb}{"10} +\DeclareMathSymbol{\succnsim} {\mathrel}{AMSb}{"11} +\DeclareMathSymbol{\lnsim} {\mathrel}{AMSb}{"12} +\DeclareMathSymbol{\gnsim} {\mathrel}{AMSb}{"13} +\DeclareMathSymbol{\nleqq} {\mathrel}{AMSb}{"14} +\DeclareMathSymbol{\ngeqq} {\mathrel}{AMSb}{"15} +\DeclareMathSymbol{\precneqq} {\mathrel}{AMSb}{"16} +\DeclareMathSymbol{\succneqq} {\mathrel}{AMSb}{"17} +\DeclareMathSymbol{\precnapprox} {\mathrel}{AMSb}{"18} +\DeclareMathSymbol{\succnapprox} {\mathrel}{AMSb}{"19} +\DeclareMathSymbol{\lnapprox} {\mathrel}{AMSb}{"1A} +\DeclareMathSymbol{\gnapprox} {\mathrel}{AMSb}{"1B} +\DeclareMathSymbol{\nsim} {\mathrel}{AMSb}{"1C} +\DeclareMathSymbol{\ncong} {\mathrel}{AMSb}{"1D} +\DeclareMathSymbol{\diagup} {\mathord}{AMSb}{"1E} +\DeclareMathSymbol{\diagdown} {\mathord}{AMSb}{"1F} +\DeclareMathSymbol{\varsubsetneq} {\mathrel}{AMSb}{"20} +\DeclareMathSymbol{\varsupsetneq} {\mathrel}{AMSb}{"21} +\DeclareMathSymbol{\nsubseteqq} {\mathrel}{AMSb}{"22} +\DeclareMathSymbol{\nsupseteqq} {\mathrel}{AMSb}{"23} +\DeclareMathSymbol{\subsetneqq} {\mathrel}{AMSb}{"24} +\DeclareMathSymbol{\supsetneqq} {\mathrel}{AMSb}{"25} +\DeclareMathSymbol{\varsubsetneqq} {\mathrel}{AMSb}{"26} +\DeclareMathSymbol{\varsupsetneqq} {\mathrel}{AMSb}{"27} +\DeclareMathSymbol{\subsetneq} {\mathrel}{AMSb}{"28} +\DeclareMathSymbol{\supsetneq} {\mathrel}{AMSb}{"29} +\DeclareMathSymbol{\nsubseteq} {\mathrel}{AMSb}{"2A} +\DeclareMathSymbol{\nsupseteq} {\mathrel}{AMSb}{"2B} +\DeclareMathSymbol{\nparallel} {\mathrel}{AMSb}{"2C} +\DeclareMathSymbol{\nmid} {\mathrel}{AMSb}{"2D} +\DeclareMathSymbol{\nshortmid} {\mathrel}{AMSb}{"2E} +\DeclareMathSymbol{\nshortparallel} {\mathrel}{AMSb}{"2F} +\DeclareMathSymbol{\nvdash} {\mathrel}{AMSb}{"30} +\DeclareMathSymbol{\nVdash} {\mathrel}{AMSb}{"31} +\DeclareMathSymbol{\nvDash} {\mathrel}{AMSb}{"32} +\DeclareMathSymbol{\nVDash} {\mathrel}{AMSb}{"33} +\DeclareMathSymbol{\ntrianglerighteq}{\mathrel}{AMSb}{"34} +\DeclareMathSymbol{\ntrianglelefteq}{\mathrel}{AMSb}{"35} +\DeclareMathSymbol{\ntriangleleft} {\mathrel}{AMSb}{"36} +\DeclareMathSymbol{\ntriangleright} {\mathrel}{AMSb}{"37} +\DeclareMathSymbol{\nleftarrow} {\mathrel}{AMSb}{"38} +\DeclareMathSymbol{\nrightarrow} {\mathrel}{AMSb}{"39} +\DeclareMathSymbol{\nLeftarrow} {\mathrel}{AMSb}{"3A} +\DeclareMathSymbol{\nRightarrow} {\mathrel}{AMSb}{"3B} +\DeclareMathSymbol{\nLeftrightarrow}{\mathrel}{AMSb}{"3C} +\DeclareMathSymbol{\nleftrightarrow}{\mathrel}{AMSb}{"3D} +\DeclareMathSymbol{\divideontimes} {\mathbin}{AMSb}{"3E} +\DeclareMathSymbol{\varnothing} {\mathord}{AMSb}{"3F} +\DeclareMathSymbol{\nexists} {\mathord}{AMSb}{"40} +\DeclareMathSymbol{\Finv} {\mathord}{AMSb}{"60} +\DeclareMathSymbol{\Game} {\mathord}{AMSb}{"61} +%% In amsfonts.sty: +%%\DeclareMathSymbol{\mho} {\mathord}{AMSb}{"66} +\DeclareMathSymbol{\eth} {\mathord}{AMSb}{"67} +\DeclareMathSymbol{\eqsim} {\mathrel}{AMSb}{"68} +\DeclareMathSymbol{\beth} {\mathord}{AMSb}{"69} +\DeclareMathSymbol{\gimel} {\mathord}{AMSb}{"6A} +\DeclareMathSymbol{\daleth} {\mathord}{AMSb}{"6B} +\DeclareMathSymbol{\lessdot} {\mathbin}{AMSb}{"6C} +\DeclareMathSymbol{\gtrdot} {\mathbin}{AMSb}{"6D} +\DeclareMathSymbol{\ltimes} {\mathbin}{AMSb}{"6E} +\DeclareMathSymbol{\rtimes} {\mathbin}{AMSb}{"6F} +\DeclareMathSymbol{\shortmid} {\mathrel}{AMSb}{"70} +\DeclareMathSymbol{\shortparallel} {\mathrel}{AMSb}{"71} +\DeclareMathSymbol{\smallsetminus} {\mathbin}{AMSb}{"72} +\DeclareMathSymbol{\thicksim} {\mathrel}{AMSb}{"73} +\DeclareMathSymbol{\thickapprox} {\mathrel}{AMSb}{"74} +\DeclareMathSymbol{\approxeq} {\mathrel}{AMSb}{"75} +\DeclareMathSymbol{\succapprox} {\mathrel}{AMSb}{"76} +\DeclareMathSymbol{\precapprox} {\mathrel}{AMSb}{"77} +\DeclareMathSymbol{\curvearrowleft} {\mathrel}{AMSb}{"78} +\DeclareMathSymbol{\curvearrowright}{\mathrel}{AMSb}{"79} +\DeclareMathSymbol{\digamma} {\mathord}{AMSb}{"7A} +\DeclareMathSymbol{\varkappa} {\mathord}{AMSb}{"7B} +\DeclareMathSymbol{\Bbbk} {\mathord}{AMSb}{"7C} +\DeclareMathSymbol{\hslash} {\mathord}{AMSb}{"7D} +%% In amsfonts.sty: +%%\DeclareMathSymbol{\hbar} {\mathord}{AMSb}{"7E} +\DeclareMathSymbol{\backepsilon} {\mathrel}{AMSb}{"7F} +\endgroup +\endinput +%% +%% End of file `amssymb.sty'. diff --git a/PeCO-EO/articleeo.aux b/PeCO-EO/articleeo.aux new file mode 100644 index 0000000..b8ad0f7 --- /dev/null +++ b/PeCO-EO/articleeo.aux @@ -0,0 +1,117 @@ +\relax +\citation{akyildiz2002wireless,puccinelli2005wireless} +\citation{yick2008wireless} +\citation{anastasi2009energy} +\citation{rault2014energy} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}} +\newlabel{sec:introduction}{{1}{1}} +\citation{ChinhVu} +\citation{xu2001geography} +\citation{Idrees2} +\citation{li2013survey} +\citation{Misra} +\citation{yang2014novel} +\citation{HeShibo} +\citation{kim2013maximum} +\citation{Deng2012} +\citation{Huang:2003:CPW:941350.941367} +\@writefile{toc}{\contentsline {section}{\numberline {2}Related Literature}{2}} +\newlabel{sec:Literature Review}{{2}{2}} +\citation{wang2011coverage} +\citation{ling2009energy} +\citation{jaggi2006} +\citation{chin2007} +\citation{yan2008design} +\citation{pc10} +\citation{zhou2009variable} +\citation{Tian02,yangnovel,ChinhVu,qu2013distributed} +\citation{cardei2005improving,zorbas2010solving,pujari2011high} +\citation{berman04,zorbas2010solving} +\citation{cardei2005energy,5714480,pujari2011high,Yang2014} +\citation{castano2013column,rossi2012exact,deschinkel2012column} +\citation{Zhang05} +\citation{huang2005coverage} +\@writefile{toc}{\contentsline {section}{\numberline {3} The P{\scshape e}CO Protocol Description}{4}} +\newlabel{sec:The PeCO Protocol Description}{{3}{4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Assumptions and Models}{4}} +\newlabel{CI}{{3.1}{4}} +\newlabel{pcm2sensors}{{1}{5}} +\newlabel{expcm}{{2}{5}} +\newlabel{my-label}{{1}{5}} +\newlabel{ex4pcm}{{3}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}The Main Idea}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}PeCO Protocol Algorithm}{6}} +\newlabel{fig2}{{4}{7}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Perimeter-based Coverage Problem Formulation}{7}} +\newlabel{cp}{{4}{7}} +\citation{0031-9155-44-1-012} +\citation{Idrees2} +\@writefile{toc}{\contentsline {section}{\numberline {5}Performance Evaluation and Analysis}{8}} +\newlabel{sec:Simulation Results and Analysis}{{5}{8}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Simulation Settings}{8}} +\newlabel{table3}{{2}{8}} +\citation{varga} +\citation{AMPL} +\citation{glpk} +\citation{ChinhVu} +\citation{xu2001geography} +\citation{Idrees2} +\citation{idrees2014coverage} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Simulation Results}{10}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}\bf Coverage Ratio}{10}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}\bf Active Sensors Ratio}{10}} +\newlabel{fig333}{{5}{11}} +\newlabel{fig444}{{6}{11}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3}\bf Energy Consumption}{11}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.4}\bf Network Lifetime}{11}} +\newlabel{fig3EC}{{7}{12}} +\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion and Future Works}{12}} +\newlabel{sec:Conclusion and Future Works}{{6}{12}} +\newlabel{fig3LT}{{8}{13}} +\newlabel{figLTALL}{{9}{13}} +\bibstyle{gENO} +\bibdata{biblio} +\bibcite{akyildiz2002wireless}{{1}{2002}{{Akyildiz et~al.}}{{Akyildiz, Su, Sankarasubramaniam, and Cayirci}}} +\bibcite{anastasi2009energy}{{2}{2009}{{Anastasi et~al.}}{{Anastasi, Conti, Di~Francesco, and Passarella}}} +\bibcite{berman04}{{3}{2004}{{Berman and Calinescu}}{{}}} +\bibcite{cardei2005improving}{{4}{2005}{{Cardei and Du}}{{}}} +\bibcite{cardei2005energy}{{5}{2005}{{Cardei et~al.}}{{Cardei, Thai, Li, and Wu}}} +\bibcite{castano2013column}{{6}{2013}{{Casta{\~n}o et~al.}}{{Casta{\~n}o, Rossi, Sevaux, and Velasco}}} +\bibcite{Deng2012}{{7}{2012}{{Deng, Jiguo~Yu, and Chen}}{{}}} +\bibcite{deschinkel2012column}{{8}{2012}{{Deschinkel}}{{}}} +\bibcite{AMPL}{{9}{November 12, 2002}{{Fourer, Gay, and Kernighan}}{{}}} +\bibcite{HeShibo}{{10}{2014}{{He et~al.}}{{He, Gong, Zhang, Chen, and Sun}}} +\bibcite{Huang:2003:CPW:941350.941367}{{11}{2005{a}}{{Huang and Tseng}}{{}}} +\bibcite{huang2005coverage}{{12}{2005{b}}{{Huang and Tseng}}{{}}} +\bibcite{idrees2014coverage}{{13}{2014{a}}{{Idrees et~al.}}{{Idrees, Deschinkel, Salomon, and Couturier}}} +\bibcite{Idrees2}{{14}{2014{b}}{{Idrees et~al.}}{{Idrees, Deschinkel, Salomon, and Couturier}}} +\bibcite{jaggi2006}{{15}{2006}{{Jaggi and Abouzeid}}{{}}} +\bibcite{kim2013maximum}{{16}{2013}{{Kim and Cobb}}{{}}} +\bibcite{0031-9155-44-1-012}{{17}{1999}{{Lee et~al.}}{{Lee, Gallagher, Silvern, Wuu, and Zaider}}} +\bibcite{li2013survey}{{18}{2013}{{Li and Vasilakos}}{{}}} +\bibcite{ling2009energy}{{19}{2009}{{Ling and Znati}}{{}}} +\bibcite{glpk}{{20}{2012}{{Makhorin}}{{}}} +\bibcite{Misra}{{21}{2011}{{Misra, Kumar, and Obaidat}}{{}}} +\bibcite{pc10}{{22}{2010}{{Padmavathy and Chitra}}{{}}} +\bibcite{puccinelli2005wireless}{{23}{2005}{{Puccinelli and Haenggi}}{{}}} +\bibcite{pujari2011high}{{24}{2011}{{Pujari}}{{}}} +\bibcite{qu2013distributed}{{25}{2013}{{Qu and Georgakopoulos}}{{}}} +\bibcite{rault2014energy}{{26}{2014}{{Rault, Bouabdallah, and Challal}}{{}}} +\bibcite{rossi2012exact}{{27}{2012}{{Rossi, Singh, and Sevaux}}{{}}} +\bibcite{Tian02}{{28}{2002}{{Tian and Georganas}}{{}}} +\bibcite{varga}{{29}{2003}{{Varga}}{{}}} +\bibcite{ChinhVu}{{30}{2006}{{Vu et~al.}}{{Vu, Gao, Deshmukh, and Li}}} +\bibcite{chin2007}{{31}{2009}{{Vu}}{{}}} +\bibcite{wang2011coverage}{{32}{2011}{{Wang}}{{}}} +\bibcite{5714480}{{33}{2010}{{Xing, Li, and Wang}}{{}}} +\bibcite{xu2001geography}{{34}{2001}{{Xu, Heidemann, and Estrin}}{{}}} +\bibcite{yan2008design}{{35}{2008}{{Yan et~al.}}{{Yan, Gu, He, and Stankovic}}} +\bibcite{yang2014novel}{{36}{2014{a}}{{Yang and Chin}}{{}}} +\bibcite{yangnovel}{{37}{2014{b}}{{Yang and Chin}}{{}}} +\bibcite{Yang2014}{{38}{2014}{{Yang and Liu}}{{}}} +\bibcite{yick2008wireless}{{39}{2008}{{Yick, Mukherjee, and Ghosal}}{{}}} +\bibcite{Zhang05}{{40}{2005}{{Zhang and Hou}}{{}}} +\bibcite{zhou2009variable}{{41}{2009}{{Zhou, Das, and Gupta}}{{}}} +\bibcite{zorbas2010solving}{{42}{2010}{{Zorbas et~al.}}{{Zorbas, Glynos, Kotzanikolaou, and Douligeris}}} +\endpage{16} +\questionmark{} diff --git a/PeCO-EO/articleeo.bbl b/PeCO-EO/articleeo.bbl new file mode 100644 index 0000000..2a04a26 --- /dev/null +++ b/PeCO-EO/articleeo.bbl @@ -0,0 +1,237 @@ +\begin{thebibliography}{42} +\newcommand{\enquote}[1]{``#1''} +\providecommand{\natexlab}[1]{#1} +\providecommand{\url}[1]{\normalfont{#1}} +\providecommand{\urlprefix}{ } +\expandafter\ifx\csname urlstyle\endcsname\relax + \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else + \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup + \urlstyle{rm}\Url}\fi +\providecommand{\eprint}[2][]{\url{#2}} + +\bibitem[Akyildiz et~al.(2002)Akyildiz, Su, Sankarasubramaniam, and + Cayirci]{akyildiz2002wireless} +Akyildiz, Ian~F, Weilian Su, Yogesh Sankarasubramaniam, and Erdal Cayirci. + 2002. ``Wireless sensor networks: a survey.'' \emph{Computer networks} 38 + (4): 393--422. + +\bibitem[Anastasi et~al.(2009)Anastasi, Conti, Di~Francesco, and + Passarella]{anastasi2009energy} +Anastasi, Giuseppe, Marco Conti, Mario Di~Francesco, and Andrea Passarella. + 2009. ``Energy conservation in wireless sensor networks: A survey.'' \emph{Ad + Hoc Networks} 7 (3): 537--568. + +\bibitem[Berman and Calinescu(2004)]{berman04} +Berman, P., and G.~Calinescu. 2004. ``Power Efficient Monitoring Management in + Sensor Networks.'' In \emph{Proceedings of IEEE Wireless Communication and + Networking Conference (WCNC'04),} 2329--2334. + +\bibitem[Cardei and Du(2005)]{cardei2005improving} +Cardei, Mihaela, and Ding-Zhu Du. 2005. ``Improving wireless sensor network + lifetime through power aware organization.'' \emph{Wireless Networks} 11 (3): + 333--340. + +\bibitem[Cardei et~al.(2005)Cardei, Thai, Li, and Wu]{cardei2005energy} +Cardei, Mihaela, My~T Thai, Yingshu Li, and Weili Wu. 2005. ``Energy-efficient + target coverage in wireless sensor networks.'' In \emph{INFOCOM 2005. 24th + Annual Joint Conference of the IEEE Computer and Communications Societies. + Proceedings IEEE,} Vol.~31976--1984. IEEE. + +\bibitem[Casta{\~n}o et~al.(2013)Casta{\~n}o, Rossi, Sevaux, and + Velasco]{castano2013column} +Casta{\~n}o, Fabian, Andr{\'e} Rossi, Marc Sevaux, and Nubia Velasco. 2013. ``A + column generation approach to extend lifetime in wireless sensor networks + with coverage and connectivity constraints.'' \emph{Computers \& Operations + Research} . + +\bibitem[Deng, Jiguo~Yu, and Chen(2012)]{Deng2012} +Deng, Xiu, Dongxiao~Yu Jiguo~Yu, and Congcong Chen. 2012. ``Transforming Area + Coverage to Target Coverage to Maintain Coverage and Connectivity for + Wireless Sensor Networks.'' \emph{International Journal of Distributed Sensor + Networks} 2012. + +\bibitem[Deschinkel(2012)]{deschinkel2012column} +Deschinkel, Karine. 2012. ``A Column Generation based Heuristic to Extend + Lifetime in Wireless Sensor Network..'' \emph{Sensors \& Transducers Journal} + 14-2: 242--253. + +\bibitem[Fourer, Gay, and Kernighan(November 12, 2002)]{AMPL} +Fourer, Robert, David~M. Gay, and Brian~W. Kernighan. November 12, 2002. + \emph{AMPL: A Modeling Language for Mathematical Programming}. 2nd ed. + Cengage Learning. + +\bibitem[He et~al.(2014)He, Gong, Zhang, Chen, and Sun]{HeShibo} +He, Shibo, Xiaowen Gong, Junshan Zhang, Jiming Chen, and Youxian Sun. 2014. + ``Curve-Based Deployment for Barrier Coverage in Wireless Sensor Networks.'' + \emph{Wireless Communications, IEEE Transactions on} 13 (2): 724--735. + +\bibitem[Huang and Tseng(2005{\natexlab{a}})]{Huang:2003:CPW:941350.941367} +Huang, C.-F., and Y.-C. Tseng. 2005{\natexlab{a}}. ``The Coverage Problem in a + Wireless Sensor Network.'' \emph{Mobile Networks and Applications} 10 (4): + 519--528. + +\bibitem[Huang and Tseng(2005{\natexlab{b}})]{huang2005coverage} +Huang, Chi-Fu, and Yu-Chee Tseng. 2005{\natexlab{b}}. ``The coverage problem in + a wireless sensor network.'' \emph{Mobile Networks and Applications} 10 (4): + 519--528. + +\bibitem[Idrees et~al.(2014{\natexlab{a}})Idrees, Deschinkel, Salomon, and + Couturier]{idrees2014coverage} +Idrees, Ali~Kadhum, Karine Deschinkel, Michel Salomon, and Rapha{\"e}l + Couturier. 2014{\natexlab{a}}. ``Coverage and Lifetime Optimization in + Heterogeneous Energy Wireless Sensor Networks.'' In \emph{ICN 2014, The + Thirteenth International Conference on Networks,} 49--54. + +\bibitem[Idrees et~al.(2014{\natexlab{b}})Idrees, Deschinkel, Salomon, and + Couturier]{Idrees2} +Idrees, Ali~Kadhum, Karine Deschinkel, Michel Salomon, and Rapha{\"e}l + Couturier. 2014{\natexlab{b}}. \emph{Distributed Lifetime Coverage + Optimization Protocol in Wireless Sensor Networks}. Tech. Rep. DISC2014-X. + University of Franche-Comte - FEMTO-ST Institute, DISC Research Department. + +\bibitem[Jaggi and Abouzeid(2006)]{jaggi2006} +Jaggi, N., and A.A. Abouzeid. 2006. ``Energy-efficient Connected Covereage in + Wireless Sensor Networks.'' In \emph{Proceeding of 4th Asian International + Mobile Computing Conference AMOC2006,} . + +\bibitem[Kim and Cobb(2013)]{kim2013maximum} +Kim, Hyunbum, and Jorge~A Cobb. 2013. ``Maximum lifetime of reinforced + barrier-coverage in Wireless Sensor Networks.'' In \emph{Networks (ICON), + 2013 19th IEEE International Conference on,} 1--6. IEEE. + +\bibitem[Lee et~al.(1999)Lee, Gallagher, Silvern, Wuu, and + Zaider]{0031-9155-44-1-012} +Lee, Eva~K, Richard~J Gallagher, David Silvern, Cheng-Shie Wuu, and Marco + Zaider. 1999. ``Treatment planning for brachytherapy: an integer programming + model, two computational approaches and experiments with permanent prostate + implant planning.'' \emph{Physics in Medicine and Biology} 44 (1): 145. + \urlprefix\url{http://stacks.iop.org/0031-9155/44/i=1/a=012}. + +\bibitem[Li and Vasilakos(2013)]{li2013survey} +Li, Mo, and Athanasios~V Vasilakos. 2013. ``A Survey on Topology Control in + Wireless Sensor Networks: Taxonomy, Comparative Study, and Open Issues.'' + \emph{Proceedings of the IEEE} 101 (12). + +\bibitem[Ling and Znati(2009)]{ling2009energy} +Ling, Hui, and Taieb Znati. 2009. ``Energy efficient adaptive sensing for + dynamic coverage in wireless sensor networks.'' In \emph{Wireless + Communications and Networking Conference, 2009. WCNC 2009. IEEE,} 1--6. IEEE. + +\bibitem[Makhorin(2012)]{glpk} +Makhorin, Andrew. 2012. ``The GLPK (GNU Linear Programming Kit).'' + \emph{Available: https://www.gnu.org/software/glpk/} . + +\bibitem[Misra, Kumar, and Obaidat(2011)]{Misra} +Misra, S., M.~P. Kumar, and M.~S. Obaidat. 2011. ``Connectivity preserving + localized coverage algorithm for area monitoring using wireless sensor + networks.'' \emph{Computer Communications} 34 (12): 1484--1496. + +\bibitem[Padmavathy and Chitra(2010)]{pc10} +Padmavathy, T.V., and M.~Chitra. 2010. ``Extending the Network Lifetime of + Wireless Sensor Networks Using Residual Energy Extraction-Hybrid Scheduling + Algorithm.'' \emph{Int. J. of Communications, Network and System Sciences} 3 + (1): 98--106. + +\bibitem[Puccinelli and Haenggi(2005)]{puccinelli2005wireless} +Puccinelli, Daniele, and Martin Haenggi. 2005. ``Wireless sensor networks: + applications and challenges of ubiquitous sensing.'' \emph{Circuits and + Systems Magazine, IEEE} 5 (3): 19--31. + +\bibitem[Pujari(2011)]{pujari2011high} +Pujari, Arun~K. 2011. ``High-Energy-First (HEF) Heuristic for Energy-Efficient + Target Coverage Problem..'' \emph{International Journal of Ad Hoc, Sensor \& + Ubiquitous Computing} 2 (1). + +\bibitem[Qu and Georgakopoulos(2013)]{qu2013distributed} +Qu, Yipeng, and Stavros~V Georgakopoulos. 2013. ``A distributed area coverage + algorithm for maintenance of randomly distributed sensors with adjustable + sensing range.'' In \emph{Global Communications Conference (GLOBECOM), 2013 + IEEE,} 286--291. IEEE. + +\bibitem[Rault, Bouabdallah, and Challal(2014)]{rault2014energy} +Rault, Tifenn, Abdelmadjid Bouabdallah, and Yacine Challal. 2014. ``Energy + efficiency in wireless sensor networks: A top-down survey.'' \emph{Computer + Networks} 67: 104--122. + +\bibitem[Rossi, Singh, and Sevaux(2012)]{rossi2012exact} +Rossi, Andr{\'e}, Alok Singh, and Marc Sevaux. 2012. ``An exact approach for + maximizing the lifetime of sensor networks with adjustable sensing ranges.'' + \emph{Computers \& Operations Research} 39 (12): 3166--3176. + +\bibitem[Tian and Georganas(2002)]{Tian02} +Tian, Di, and Nicolas~D. Georganas. 2002. ``A coverage-preserving node + scheduling scheme for large wireless sensor networks.'' In \emph{Proceedings + of the 1st ACM international workshop on Wireless sensor networks and + applications,} WSNA '02. 32--41. ACM. + +\bibitem[Varga(2003)]{varga} +Varga, A. 2003. ``OMNeT++ Discrete Event Simulation System.'' \emph{Available: + http://www.omnetpp.org} . + +\bibitem[Vu et~al.(2006)Vu, Gao, Deshmukh, and Li]{ChinhVu} +Vu, Chinh, Shan Gao, Wiwek Deshmukh, and Yingshu Li. 2006. ``Distributed + Energy-Efficient Scheduling Approach for K-Coverage in Wireless Sensor + Networks.'' \emph{MILCOM} 0: 1--7. + +\bibitem[Vu(2009)]{chin2007} +Vu, C.~T. 2009. ``Distributed energy-efficient solutions for area coverage + problems in wireless sensor networks.'' Ph.D. thesis. Georgia State + University. + +\bibitem[Wang(2011)]{wang2011coverage} +Wang, Bang. 2011. ``Coverage problems in sensor networks: A survey.'' \emph{ACM + Computing Surveys (CSUR)} 43 (4): 32. + +\bibitem[Xing, Li, and Wang(2010)]{5714480} +Xing, Xiaofei, Jie Li, and Guojun Wang. 2010. ``Integer Programming Scheme for + Target Coverage in Heterogeneous Wireless Sensor Networks.'' In \emph{Mobile + Ad-hoc and Sensor Networks (MSN), 2010 Sixth International Conference on,} + 79--84. Dec. + +\bibitem[Xu, Heidemann, and Estrin(2001)]{xu2001geography} +Xu, Ya, John Heidemann, and Deborah Estrin. 2001. ``Geography-informed energy + conservation for ad hoc routing.'' In \emph{Proceedings of the 7th annual + international conference on Mobile computing and networking,} 70--84. ACM. + +\bibitem[Yan et~al.(2008)Yan, Gu, He, and Stankovic]{yan2008design} +Yan, Ting, Yu~Gu, Tian He, and John~A Stankovic. 2008. ``Design and + optimization of distributed sensing coverage in wireless sensor networks.'' + \emph{ACM Transactions on Embedded Computing Systems (TECS)} 7 (3): 33. + +\bibitem[Yang and Chin(2014{\natexlab{a}})]{yang2014novel} +Yang, Changlin, and Kwan-Wu Chin. 2014{\natexlab{a}}. ``Novel Algorithms for + Complete Targets Coverage in Energy Harvesting Wireless Sensor Networks.'' + \emph{Communications Letters, IEEE} 18 (1): 118--121. + +\bibitem[Yang and Chin(2014{\natexlab{b}})]{yangnovel} +Yang, Changlin, and Kwan-Wu Chin. 2014{\natexlab{b}}. ``A Novel Distributed + Algorithm for Complete Targets Coverage in Energy Harvesting Wireless Sensor + Networks.'' In \emph{IEEE ICC 2014- Ad-hoc and Sensor Networking Symposium,} + 361--366. IEEE. + +\bibitem[Yang and Liu(2014)]{Yang2014} +Yang, Mengmeng, and Jie Liu. 2014. ``A Maximum Lifetime Coverage Algorithm + Based on Linear Programming.'' \emph{Journal of Information Hiding an + dMultimedia Signal Processing, Ubiquitous International} 5 (2): 296--301. + +\bibitem[Yick, Mukherjee, and Ghosal(2008)]{yick2008wireless} +Yick, Jennifer, Biswanath Mukherjee, and Dipak Ghosal. 2008. ``Wireless sensor + network survey.'' \emph{Computer networks} 52 (12): 2292--2330. + +\bibitem[Zhang and Hou(2005)]{Zhang05} +Zhang, H., and J.~C. Hou. 2005. ``Maintaining Sensing Coverage and Connectivity + in Large Sensor Networks.'' \emph{Ad Hoc {\&} Sensor Wireless Networks} 1 + (1-2). + +\bibitem[Zhou, Das, and Gupta(2009)]{zhou2009variable} +Zhou, Zongheng, Samir~R Das, and Himanshu Gupta. 2009. ``Variable radii + connected sensor cover in sensor networks.'' \emph{ACM Transactions on Sensor + Networks (TOSN)} 5 (1): 8. + +\bibitem[Zorbas et~al.(2010)Zorbas, Glynos, Kotzanikolaou, and + Douligeris]{zorbas2010solving} +Zorbas, Dimitrios, Dimitris Glynos, Panayiotis Kotzanikolaou, and Christos + Douligeris. 2010. ``Solving coverage problems in wireless sensor networks + using cover sets.'' \emph{Ad Hoc Networks} 8 (4): 400--415. + +\end{thebibliography} diff --git a/PeCO-EO/articleeo.blg b/PeCO-EO/articleeo.blg new file mode 100644 index 0000000..2b789ce --- /dev/null +++ b/PeCO-EO/articleeo.blg @@ -0,0 +1,47 @@ +This is BibTeX, Version 0.99d (TeX Live 2012/Debian) +Capacity: max_strings=35307, hash_size=35307, hash_prime=30011 +The top-level auxiliary file: articleeo.aux +The style file: gENO.bst +Database file #1: biblio.bib +Reallocated wiz_functions (elt_size=4) to 6000 items from 3000. +You've used 42 entries, + 3679 wiz_defined-function locations, + 971 strings with 13580 characters, +and the built_in function-call counts, 29688 in all, are: += -- 2410 +> -- 1554 +< -- 4 ++ -- 763 +- -- 421 +* -- 2082 +:= -- 4323 +add.period$ -- 96 +call.type$ -- 42 +change.case$ -- 281 +chr.to.int$ -- 49 +cite$ -- 42 +duplicate$ -- 2258 +empty$ -- 2213 +format.name$ -- 528 +if$ -- 6084 +int.to.chr$ -- 4 +int.to.str$ -- 1 +missing$ -- 407 +newline$ -- 137 +num.names$ -- 168 +pop$ -- 1204 +preamble$ -- 1 +purify$ -- 279 +quote$ -- 0 +skip$ -- 1044 +stack$ -- 0 +substring$ -- 1169 +swap$ -- 1044 +text.length$ -- 2 +text.prefix$ -- 0 +top$ -- 0 +type$ -- 375 +warning$ -- 0 +while$ -- 225 +width$ -- 0 +write$ -- 478 diff --git a/PeCO-EO/articleeo.dvi b/PeCO-EO/articleeo.dvi new file mode 100644 index 0000000..1842eb6 Binary files /dev/null and b/PeCO-EO/articleeo.dvi differ diff --git a/PeCO-EO/articleeo.log b/PeCO-EO/articleeo.log new file mode 100644 index 0000000..c387b60 --- /dev/null +++ b/PeCO-EO/articleeo.log @@ -0,0 +1,1106 @@ +This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.9.3) 13 FEB 2015 14:40 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**articleeo.tex +(./articleeo.tex +LaTeX2e <2011/06/27> +Babel and hyphenation patterns for english, dumylang, nohyphenation, lo +aded. +(./gENO2e.cls +Document Class: gENO2e 2013/04/29 v4.1 Engineering Optimization LaTeX2e documen +t class +\draftrule=\dimen102 +\trimrule=\dimen103 +\draftrule=\dimen104 +\trimheight=\dimen105 +\trimwidth=\dimen106 +\typeheight=\dimen107 +\typewidth=\dimen108 +\normaltextheight=\dimen109 +\blindfoliodrop=\dimen110 +\tempdimen=\dimen111 +\rhdraftruleheight=\dimen112 +\tempbox=\box26 +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/cmr/m/n on input line 226. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/cmr/m/it on input line 227. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/cmr/m/n on input line 228. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/cmr/m/n on input line 229. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/cmr/bx/n on input line 230. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' +(Font) OT1/cmss/m/n --> OT1/cmss/m/n on input line 231. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal' +(Font) OT1/cmr/m/n --> OT1/cmr/m/n on input line 232. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' +(Font) OT1/cmtt/m/n --> OT1/Courier/m/n on input line 233. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/cmr/bx/n on input line 235. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/cmr/bx/n on input line 237. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/cmr/bx/n on input line 238. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/cmr/bx/n on input line 239. +LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' +(Font) OT1/cmss/bx/n --> OT1/cmss/bx/n on input line 240. +LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/cmr/bx/n on input line 241. +LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' +(Font) OT1/cmtt/m/n --> OT1/Courier/bx/n on input line 242. +LaTeX Font Info: Overwriting math alphabet `\mathbb' in version `normal' +(Font) OT1/ams/bx/n --> OT1/ams/bx/n on input line 259. +LaTeX Font Info: Overwriting math alphabet `\mathbb' in version `bold' +(Font) OT1/ams/bx/n --> OT1/ams/bx/n on input line 260. +\c@mv@upright=\count79 +\c@mv@boldupright=\count80 +LaTeX Font Info: Overwriting symbol font `letters' in version `upright' +(Font) OML/cmm/m/it --> OML/eur/m/n on input line 292. +LaTeX Font Info: Overwriting symbol font `letters' in version `boldupright' +(Font) OML/cmm/m/it --> OML/eur/b/n on input line 293. +\c@part=\count81 +\c@chapter=\count82 +\c@section=\count83 +\c@subsection=\count84 +\c@subsubsection=\count85 +\c@paragraph=\count86 +\c@subparagraph=\count87 +\LabelSep=\dimen113 +\TopSep=\skip41 +\enumbox=\box27 +\enumwd=\dimen114 +\unnummargin=\dimen115 +\abovecaptionskip=\skip42 +\belowcaptionskip=\skip43 +\c@figure=\count88 +(/usr/share/texlive/texmf-dist/tex/generic/epsf/epsf.sty +This is `epsf.tex' v2.7.4 <14 February 2011> +\epsffilein=\read1 +\epsfframemargin=\dimen116 +\epsfframethickness=\dimen117 +\epsfrsize=\dimen118 +\epsftmp=\dimen119 +\epsftsize=\dimen120 +\epsfxsize=\dimen121 +\epsfysize=\dimen122 +\pspoints=\dimen123 +) +\figheight=\dimen124 +\figwidth=\dimen125 +\c@table=\count89 +\c@newtable=\count90 +\tabledim=\dimen126 +\bibindent=\dimen127 +\bibleftmargin=\dimen128 +\bibitemsep=\dimen129 +\bibparsep=\dimen130 +\bibtext=\dimen131 +\biblabelsep=\dimen132 +\bibleftmargini=\dimen133 +\drafttextwidth=\dimen134 +\trimrule=\dimen135 +\varypageheight=\dimen136 +\c@theorem=\count91 +\c@remark=\count92 +\c@algorithm=\count93 +\c@remark=\count94 +\c@algorithm=\count95 +\c@example=\count96 +\c@theorem=\count97 +\c@lemma=\count98 +\c@proposition=\count99 +\c@property=\count100 +\c@corollary=\count101 +\c@definition=\count102 +\c@notation=\count103 + (./amsfonts.sty +Package: amsfonts 2001/10/25 v2.2f +\@emptytoks=\toks14 +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 132. +LaTeX Font Info: Redeclaring math alphabet \mathbb on input line 133. +) (./amsmath.sty +Package: amsmath 2000/07/18 v2.13 AMS math features +\@mathmargin=\skip44 + +For additional information on amsmath, use the `?' option. +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 + +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 +\@emptytoks=\toks15 +\ex@=\dimen137 +)) (./amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d +\pmbraise@=\dimen138 +) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 1999/12/14 v2.01 operator names +) +\inf@bad=\count104 +LaTeX Info: Redefining \frac on input line 211. +\uproot@=\count105 +\leftroot@=\count106 +LaTeX Info: Redefining \overline on input line 307. +\classnum@=\count107 +\DOTSCASE@=\count108 +LaTeX Info: Redefining \ldots on input line 379. +LaTeX Info: Redefining \dots on input line 382. +LaTeX Info: Redefining \cdots on input line 467. +\Mathstrutbox@=\box28 +\strutbox@=\box29 +\big@size=\dimen139 +LaTeX Font Info: Redeclaring font encoding OML on input line 567. +LaTeX Font Info: Redeclaring font encoding OMS on input line 568. + + +Package amsmath Warning: Unable to redefine math accent \check. + +\macc@depth=\count109 +\c@MaxMatrixCols=\count110 +\dotsspace@=\muskip10 +\c@parentequation=\count111 +\dspbrk@lvl=\count112 +\tag@help=\toks16 +\row@=\count113 +\column@=\count114 +\maxfields@=\count115 +\andhelp@=\toks17 +\eqnshift@=\dimen140 +\alignsep@=\dimen141 +\tagshift@=\dimen142 +\tagwidth@=\dimen143 +\totwidth@=\dimen144 +\lineht@=\dimen145 +\@envbody=\toks18 +\multlinegap=\skip45 +\multlinetaggap=\skip46 +\mathdisplay@stack=\toks19 +LaTeX Info: Redefining \[ on input line 2666. +LaTeX Info: Redefining \] on input line 2667. +) (./amssymb.sty +Package: amssymb 2002/01/22 v2.2d +) (./epsfig.sty +Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) + (./graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks20 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: pdftex.def on input line 91. + +(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count116 +)) +\Gin@req@height=\dimen146 +\Gin@req@width=\dimen147 +) +\epsfxsize=\dimen148 +\epsfysize=\dimen149 +) +(./natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip47 +\bibsep=\skip48 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count117 +) (./rotating.sty +Package: rotating 1997/09/26, v2.13 Rotation package + +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +) +\c@r@tfl@t=\count118 +\rot@float@box=\box30 +) (./subfigure.sty +Package: subfigure 2002/07/30 v2.1.4 subfigure package +\subfigtopskip=\skip49 +\subfigcapskip=\skip50 +\subfigcaptopadj=\dimen150 +\subfigbottomskip=\skip51 +\subfigcapmargin=\dimen151 +\subfiglabelskip=\skip52 +\c@subfigure=\count119 +\c@lofdepth=\count120 +\c@subtable=\count121 +\c@lotdepth=\count122 + +**************************************** +* Local config file subfigure.cfg used * +**************************************** +(/usr/share/texlive/texmf-dist/tex/latex/subfigure/subfigure.cfg) +\subfig@top=\skip53 +\subfig@bottom=\skip54 +)) +(./articleeo.aux) +\openout1 = `articleeo.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7. +LaTeX Font Info: ... okay on input line 7. + (/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count123 +\scratchdimen=\dimen152 +\scratchbox=\box31 +\nofMPsegments=\count124 +\nofMParguments=\count125 +\everyMPshowfont=\toks21 +\MPscratchCnt=\count126 +\MPscratchDim=\dimen153 +\MPnumerator=\count127 +\makeMPintoPDFobject=\count128 +\everyMPtoPDFconversion=\toks22 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 452. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) + +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <13> not available +(Font) size <12> substituted on input line 20. + + +LaTeX Font Warning: Font shape `OT1/cmr/bx/n' in size <13> not available +(Font) size <12> substituted on input line 20. + + +LaTeX Font Warning: Font shape `OT1/cmr/bx/it' in size <13> not available +(Font) size <12> substituted on input line 20. + +LaTeX Font Info: Try loading font information for OML+cmr on input line 20. +(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd +File: omlcmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <10> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 20. +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <7> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 20. +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <5> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 20. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 20. + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <7> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <5> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20. +LaTeX Font Info: Try loading font information for OMX+cmr on input line 20. +LaTeX Font Info: No file OMXcmr.fd. on input line 20. + + +LaTeX Font Warning: Font shape `OMX/cmr/m/n' undefined +(Font) using `OMX/cmex/m/n' instead on input line 20. + +LaTeX Font Info: Try loading font information for U+msa on input line 20. +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2009/06/22 v3.00 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 20. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2009/06/22 v3.00 AMS symbols B +) +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <8> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 20. +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <6> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 20. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <8> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <6> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20. +LaTeX Font Info: Calculating math sizes for size <11> on input line 44. + + +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <5.5> not available +(Font) size <5> substituted on input line 44. + +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <11> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 44. +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <7.69997> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 44. +LaTeX Font Info: Font shape `OML/cmr/m/it' in size <5.5> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 44. + +LaTeX Font Warning: Font shape `OML/cmm/m/it' in size <5.5> not available +(Font) size <5> substituted on input line 44. + +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <11> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 44. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <7.69997> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 44. +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <5.5> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 44. + +LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <5.5> not available +(Font) size <5> substituted on input line 44. + + +Overfull \vbox (2.87917pt too high) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} + + +] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [2] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [3] + +LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined +(Font) using `OT1/cmr/bx/n' instead on input line 239. + + +! LaTeX Error: Unknown graphics extension: .tiff. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.292 ...ncludegraphics[width=75mm]{figure1a.tiff} + & \raisebox{3.25cm}{(a)} \\ +? + +! LaTeX Error: Unknown graphics extension: .tiff. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.293 ...ncludegraphics[width=75mm]{figure1b.tiff} + & \raisebox{2.75cm}{(b)} +? + +Underfull \vbox (badness 1127) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [4] + +! LaTeX Error: Unknown graphics extension: .tiff. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.338 ...ludegraphics[width=127.5mm]{figure2.tiff} + +? + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [5] + +! LaTeX Error: Unknown graphics extension: .tiff. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.388 \includegraphics[width=62.5mm]{figure3.tiff} + +? + +! LaTeX Error: Unknown graphics extension: .tiff. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.427 \includegraphics[width=80mm]{figure4.tiff} + +? + +LaTeX Warning: Reference `alg:PeCO' on page 6 undefined on input line 459. + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [6] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [7] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [8] + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 716. + + + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 731. + + + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 744. + + + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 751. + + + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 753. + + + +LaTeX Font Warning: Command \scriptsize invalid in math mode on input line 755. + + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [9] +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:02 +(epstopdf) size: 29526 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:35 +(epstopdf) size: 12638 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 812. +Package epstopdf Info: Output file is already uptodate. + + +File: figure5-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure5-eps-converted-to.pdf used on input line 812. +(pdftex.def) Requested size: 242.40503pt x 175.15395pt. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:02 +(epstopdf) size: 29515 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:35 +(epstopdf) size: 12695 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 836. +Package epstopdf Info: Output file is already uptodate. + +File: figure6-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure6-eps-converted-to.pdf used on input line 836. +(pdftex.def) Requested size: 242.40503pt x 175.15395pt. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [10] +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:02 +(epstopdf) size: 24136 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:36 +(epstopdf) size: 8179 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 859. +Package epstopdf Info: Output file is already uptodate. + + +File: figure7a-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure7a-eps-converted-to.pdf used on input line 859. +(pdftex.def) Requested size: 234.5788pt x 166.39838pt. +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:02 +(epstopdf) size: 24138 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:36 +(epstopdf) size: 8180 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 860. +Package epstopdf Info: Output file is already uptodate. + + +File: figure7b-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure7b-eps-converted-to.pdf used on input line 860. +(pdftex.def) Requested size: 234.5788pt x 166.39838pt. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [11 <./figure5-eps-converted-to.pdf> <./figure6-eps-converted-to.pdf>] +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:03 +(epstopdf) size: 24103 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:36 +(epstopdf) size: 8351 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 891. +Package epstopdf Info: Output file is already uptodate. + + +File: figure8a-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure8a-eps-converted-to.pdf used on input line 891. +(pdftex.def) Requested size: 234.5788pt x 166.39838pt. +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:03 +(epstopdf) size: 24855 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:36 +(epstopdf) size: 8466 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 892. +Package epstopdf Info: Output file is already uptodate. + + +File: figure8b-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure8b-eps-converted-to.pdf used on input line 892. +(pdftex.def) Requested size: 234.5788pt x 166.39838pt. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + +Package epstopdf Info: Source file: +(epstopdf) date: 2015-02-06 11:42:03 +(epstopdf) size: 27000 bytes +(epstopdf) Output file: +(epstopdf) date: 2015-02-13 14:33:37 +(epstopdf) size: 7927 bytes +(epstopdf) Command: +(epstopdf) \includegraphics on input line 914. +Package epstopdf Info: Output file is already uptodate. + +File: figure9-eps-converted-to.pdf Graphic file (type pdf) + + +Package pdftex.def Info: figure9-eps-converted-to.pdf used on input line 914. +(pdftex.def) Requested size: 242.40503pt x 175.15395pt. + + +LaTeX Warning: `!h' float specifier changed to `!ht'. + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [12 <./figure7a-eps-converted-to.pdf> <./figure7b-eps-converted-to.pdf>] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [13 <./figure8a-eps-converted-to.pdf> <./figure8b-eps-converted-to.pdf> <./fig +ure9-eps-converted-to.pdf>] (./articleeo.bbl +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [14] +Underfull \hbox (badness 4024) in paragraph at lines 121--123 +[]\OT1/cmr/m/n/10 Makhorin, An-drew. 2012. ``The GLPK (GNU Lin-ear Pro-gram-min +g Kit).'' \OT1/cmr/m/it/10 Avail-able: + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 168--170 +[]\OT1/cmr/m/n/10 Varga, A. 2003. ``OM-NeT++ Dis-crete Event Sim-u-la-tion Sys- +tem.'' \OT1/cmr/m/it/10 Avail-able: + [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [15]) +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (36.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (650.43pt too high) has occurred while \output is active [] + + +Overfull \vbox (29.0pt too high) has occurred while \output is active [] + + +Overfull \vbox (701.0pt too high) has occurred while \output is active [] + + [16] +(./articleeo.aux) + +LaTeX Font Warning: Size substitutions with differences +(Font) up to 1.0pt have occurred. + + +LaTeX Font Warning: Some font shapes were not available, defaults substituted. + + +LaTeX Warning: There were undefined references. + + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +Here is how much of TeX's memory you used: + 3683 strings out of 495059 + 47132 string characters out of 3182031 + 116201 words of memory out of 3000000 + 6794 multiletter control sequences out of 15000+200000 + 14560 words of font info for 56 fonts, out of 3000000 for 9000 + 14 hyphenation exceptions out of 8191 + 41i,14n,27p,1448b,355s stack positions out of 5000i,500n,10000p,200000b,50000s + +Output written on articleeo.pdf (16 pages, 342756 bytes). +PDF statistics: + 179 PDF objects out of 1000 (max. 8388607) + 125 compressed objects within 2 object streams + 0 named destinations out of 1000 (max. 500000) + 36 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/PeCO-EO/articleeo.pdf b/PeCO-EO/articleeo.pdf new file mode 100644 index 0000000..f655260 Binary files /dev/null and b/PeCO-EO/articleeo.pdf differ diff --git a/PeCO-EO/articleeo.tex b/PeCO-EO/articleeo.tex new file mode 100644 index 0000000..0acbf9b --- /dev/null +++ b/PeCO-EO/articleeo.tex @@ -0,0 +1,962 @@ +% gENOguide.tex +% v4.0 released April 2013 + +\documentclass{gENO2e} +%\usepackage[linesnumbered,ruled,vlined,commentsnumbered]{algorithm2e} +%\renewcommand{\algorithmcfname}{ALGORITHM} +\begin{document} + +%\jvol{00} \jnum{00} \jyear{2013} \jmonth{April} + +%\articletype{GUIDE} + +\title{{\itshape Perimeter-based Coverage Optimization to Improve Lifetime in Wireless Sensor Networks}} + +\author{Ali Kadhum Idrees$^{a}$, Karine Deschinkel$^{a}$$^{\ast}$\thanks{$^\ast$Corresponding author. Email: karine.deschinkel@univ-fcomte.fr}, Michel Salomon$^{a}$ and Rapha\"el Couturier $^{a}$ +$^{a}${\em{FEMTO-ST Institute, UMR 6174 CNRS, University of Franche-Comte, + Belfort, France}};} + + +\maketitle + +\begin{abstract} +The most important problem in a Wireless Sensor Network (WSN) is to optimize the +use of its limited energy provision, so that it can fulfill its monitoring task +as long as possible. Among known available approaches that can be used to +improve power management, lifetime coverage optimization provides activity +scheduling which ensures sensing coverage while minimizing the energy cost. In +this paper, we propose such an approach called Perimeter-based Coverage Optimization +protocol (PeCO). It is a hybrid of centralized and distributed methods: the +region of interest is first subdivided into subregions and our protocol is then +distributed among sensor nodes in each subregion. +The novelty of our approach lies essentially in the formulation of a new +mathematical optimization model based on the perimeter coverage level to schedule +sensors' activities. Extensive simulation experiments have been performed using +OMNeT++, the discrete event simulator, to demonstrate that PeCO can +offer longer lifetime coverage for WSNs in comparison with some other protocols. + +\begin{keywords}Wireless Sensor Networks, Area Coverage, Network Lifetime, Optimization, Scheduling. +\end{keywords} + +\end{abstract} + + +\section{Introduction} +\label{sec:introduction} + +\noindent The continuous progress in Micro Electro-Mechanical Systems (MEMS) and +wireless communication hardware has given rise to the opportunity to use large +networks of tiny sensors, called Wireless Sensor Networks +(WSN)~\cite{akyildiz2002wireless,puccinelli2005wireless}, to fulfill monitoring +tasks. A WSN consists of small low-powered sensors working together by +communicating with one another through multi-hop radio communications. Each node +can send the data it collects in its environment, thanks to its sensor, to the +user by means of sink nodes. The features of a WSN made it suitable for a wide +range of application in areas such as business, environment, health, industry, +military, and so on~\cite{yick2008wireless}. Typically, a sensor node contains +three main components~\cite{anastasi2009energy}: a sensing unit able to measure +physical, chemical, or biological phenomena observed in the environment; a +processing unit which will process and store the collected measurements; a radio +communication unit for data transmission and receiving. + +The energy needed by an active sensor node to perform sensing, processing, and +communication is supplied by a power supply which is a battery. This battery has +a limited energy provision and it may be unsuitable or impossible to replace or +recharge it in most applications. Therefore it is necessary to deploy WSN with +high density in order to increase reliability and to exploit node redundancy +thanks to energy-efficient activity scheduling approaches. Indeed, the overlap +of sensing areas can be exploited to schedule alternatively some sensors in a +low power sleep mode and thus save energy. Overall, the main question that must +be answered is: how to extend the lifetime coverage of a WSN as long as possible +while ensuring a high level of coverage? These past few years many +energy-efficient mechanisms have been suggested to retain energy and extend the +lifetime of the WSNs~\cite{rault2014energy}. + +This paper makes the following contributions. +\begin{enumerate} +\item We have devised a framework to schedule nodes to be activated alternatively such + that the network lifetime is prolonged while ensuring that a certain level of + coverage is preserved. A key idea in our framework is to exploit spatial and + temporal subdivision. On the one hand, the area of interest is divided into + several smaller subregions and, on the other hand, the time line is divided into + periods of equal length. In each subregion the sensor nodes will cooperatively + choose a leader which will schedule nodes' activities, and this grouping of + sensors is similar to typical cluster architecture. +\item We have proposed a new mathematical optimization model. Instead of trying to + cover a set of specified points/targets as in most of the methods proposed in + the literature, we formulate an integer program based on perimeter coverage of + each sensor. The model involves integer variables to capture the deviations + between the actual level of coverage and the required level. Hence, an + optimal scheduling will be obtained by minimizing a weighted sum of these + deviations. +\item We have conducted extensive simulation experiments, using the discrete event + simulator OMNeT++, to demonstrate the efficiency of our protocol. We have compared + our PeCO protocol to two approaches found in the literature: + DESK~\cite{ChinhVu} and GAF~\cite{xu2001geography}, and also to our previous + work published in~\cite{Idrees2} which is based on another optimization model + for sensor scheduling. +\end{enumerate} + + + + + + +The rest of the paper is organized as follows. In the next section we review +some related work in the field. Section~\ref{sec:The PeCO Protocol Description} +is devoted to the PeCO protocol description and Section~\ref{cp} focuses on the +coverage model formulation which is used to schedule the activation of sensor +nodes. Section~\ref{sec:Simulation Results and Analysis} presents simulations +results and discusses the comparison with other approaches. Finally, concluding +remarks are drawn and some suggestions are given for future works in +Section~\ref{sec:Conclusion and Future Works}. + +% that show that our protocol outperforms others protocols. +\section{Related Literature} +\label{sec:Literature Review} + +\noindent In this section, we summarize some related works regarding the +coverage problem and distinguish our PeCO protocol from the works presented in +the literature. + +The most discussed coverage problems in literature can be classified in three +categories~\cite{li2013survey} according to their respective monitoring +objective. Hence, area coverage \cite{Misra} means that every point inside a +fixed area must be monitored, while target coverage~\cite{yang2014novel} refers +to the objective of coverage for a finite number of discrete points called +targets, and barrier coverage~\cite{HeShibo}\cite{kim2013maximum} focuses on +preventing intruders from entering into the region of interest. In +\cite{Deng2012} authors transform the area coverage problem into the target +coverage one taking into account the intersection points among disks of sensors +nodes or between disk of sensor nodes and boundaries. In +\cite{Huang:2003:CPW:941350.941367} authors prove that if the perimeters of +sensors are sufficiently covered it will be the case for the whole area. They +provide an algorithm in $O(nd~log~d)$ time to compute the perimeter-coverage of +each sensor, where $d$ denotes the maximum number of sensors that are +neighbors to a sensor and $n$ is the total number of sensors in the +network. {\it In PeCO protocol, instead of determining the level of coverage of + a set of discrete points, our optimization model is based on checking the + perimeter-coverage of each sensor to activate a minimal number of sensors.} + +The major approach to extend network lifetime while preserving coverage is to +divide/organize the sensors into a suitable number of set covers (disjoint or +non-disjoint)\cite{wang2011coverage}, where each set completely covers a region of interest, and to +activate these set covers successively. The network activity can be planned in +advance and scheduled for the entire network lifetime or organized in periods, +and the set of active sensor nodes is decided at the beginning of each period +\cite{ling2009energy}. Active node selection is determined based on the problem +requirements (e.g. area monitoring, connectivity, or power efficiency). For +instance, Jaggi {\em et al.}~\cite{jaggi2006} address the problem of maximizing +the lifetime by dividing sensors into the maximum number of disjoint subsets +such that each subset can ensure both coverage and connectivity. A greedy +algorithm is applied once to solve this problem and the computed sets are +activated in succession to achieve the desired network lifetime. Vu +\cite{chin2007}, \cite{yan2008design}, Padmatvathy {\em et al.}~\cite{pc10}, propose algorithms +working in a periodic fashion where a cover set is computed at the beginning of +each period. {\it Motivated by these works, PeCO protocol works in periods, + where each period contains a preliminary phase for information exchange and + decisions, followed by a sensing phase where one cover set is in charge of the + sensing task.} + +Various centralized and distributed approaches, or even a mixing of these two +concepts, have been proposed to extend the network lifetime \cite{zhou2009variable}. In distributed algorithms~\cite{Tian02,yangnovel,ChinhVu,qu2013distributed} each sensor decides of its +own activity scheduling after an information exchange with its neighbors. The +main interest of such an approach is to avoid long range communications and thus +to reduce the energy dedicated to the communications. Unfortunately, since each +node has only information on its immediate neighbors (usually the one-hop ones) +it may make a bad decision leading to a global suboptimal solution. Conversely, +centralized +algorithms~\cite{cardei2005improving,zorbas2010solving,pujari2011high} always +provide nearly or close to optimal solution since the algorithm has a global +view of the whole network. The disadvantage of a centralized method is obviously +its high cost in communications needed to transmit to a single node, the base +station which will globally schedule nodes' activities, data from all the other +sensor nodes in the area. The price in communications can be huge since +long range communications will be needed. In fact the larger the WNS is, the +higher the communication and thus the energy cost are. {\it In order to be + suitable for large-scale networks, in the PeCO protocol, the area of interest + is divided into several smaller subregions, and in each one, a node called the + leader is in charge of selecting the active sensors for the current + period. Thus our protocol is scalable and is a globally distributed method, + whereas it is centralized in each subregion.} + +Various coverage scheduling algorithms have been developed these past few years. +Many of them, dealing with the maximization of the number of cover sets, are +heuristics. These heuristics involve the construction of a cover set by +including in priority the sensor nodes which cover critical targets, that is to +say targets that are covered by the smallest number of sensors +\cite{berman04,zorbas2010solving}. Other approaches are based on mathematical +programming formulations~\cite{cardei2005energy,5714480,pujari2011high,Yang2014} +and dedicated techniques (solving with a branch-and-bound algorithm available in +optimization solver). The problem is formulated as an optimization problem +(maximization of the lifetime or number of cover sets) under target coverage and +energy constraints. Column generation techniques, well-known and widely +practiced techniques for solving linear programs with too many variables, have +also been +used~\cite{castano2013column,rossi2012exact,deschinkel2012column}. {\it In the PeCO + protocol, each leader, in charge of a subregion, solves an integer program + which has a twofold objective: minimize the overcoverage and the undercoverage + of the perimeter of each sensor.} + +%\noindent Recently, the coverage problem has been received a high attention, which concentrates on how the physical space could be well monitored after the deployment. Coverage is one of the Quality of Service (QoS) parameters in WSNs, which is highly concerned with power depletion~\cite{zhu2012survey}. Most of the works about the coverage protocols have been suggested in the literature focused on three types of the coverage in WSNs~\cite{mulligan2010coverage}: the first, area coverage means that each point in the area of interest within the sensing range of at least one sensor node; the second, target coverage in which a fixed set of targets need to be monitored; the third, barrier coverage refers to detect the intruders crossing a boundary of WSN. The work in this paper emphasized on the area coverage, so, some area coverage protocols have been reviewed in this section, and the shortcomings of reviewed approaches are being summarized. + +%The problem of k-coverage in WSNs was addressed~\cite{ammari2012centralized}. It mathematically formulated and the spacial sensor density for full k-coverage determined, where the relation between the communication range and the sensing range constructed by this work to retain the k-coverage and connectivity in WSN. After that, a four configuration protocols have proposed for treating the k-coverage in WSNs. + +%In~\cite{rebai2014branch}, the problem of full grid coverage is formulated using two integer linear programming models: the first, a model that takes into account only the overall coverage constraint; the second, both the connectivity and the full grid coverage constraints have taken into consideration. This work did not take into account the energy constraint. + +%Li et al.~\cite{li2011transforming} presented a framework to convert any complete coverage problem to a partial coverage one with any coverage ratio by means of executing a complete coverage algorithm to find a full coverage sets with virtual radii and transforming the coverage sets to a partial coverage sets by adjusting sensing radii. The properties of the original algorithms can be maintained by this framework and the transformation process has a low execution time. + +%The authors in~\cite{liu2014generalized} explained that in some applications of WSNs such as structural health monitoring (SHM) and volcano monitoring, the traditional coverage model which is a geographic area defined for individual sensors is not always valid. For this reason, they define a generalized coverage model, which is not need to have the coverage area of individual nodes, but only based on a function to determine whether a set of +%sensor nodes is capable of satisfy the requested monitoring task for a certain area. They have proposed two approaches to divide the deployed nodes into suitable cover sets, which can be used to prolong the network lifetime. + +%The work in~\cite{wang2010preserving} addressed the target area coverage problem by proposing a geometric-based activity scheduling scheme, named GAS, to fully cover the target area in WSNs. The authors deals with small area (target area coverage), which can be monitored by a single sensor instead of area coverage, which focuses on a large area that should be monitored by many sensors cooperatively. They explained that GAS is capable to monitor the target area by using a few sensors as possible and it can produce as many cover sets as possible. + +%Cho et al.~\cite{cho2007distributed} proposed a distributed node scheduling protocol, which can retain sensing coverage needed by applications +%and increase network lifetime via putting in sleep mode some redundant nodes. In this work, the effective sensing area (ESA) concept of a sensor node is used, which refers to the sensing area that is not overlapping with another sensor's sensing area. A sensor node and by compute it's ESA can be determine whether it will be active or sleep. The suggested work permits to sensor nodes to be in sleep mode opportunistically whilst fulfill the needed sensing coverage. + +%In~\cite{quang2008algorithm}, the authors defined a maximum sensing coverage region problem (MSCR) in WSNs and then proposed an algorithm to solve it. The +%maximum observed area fully covered by a minimum active sensors. In this work, the major property is to getting rid from the redundant sensors in high-density WSNs and putting them in sleep mode, and choosing a smaller number of active sensors so as to be sure that the full area is k-covered, and all events appeared in that area can be precisely and timely detected. This algorithm minimized the total energy consumption and increased the lifetime. + +%A novel method to divide the sensors in the WSN, called node coverage grouping (NCG) suggested~\cite{lin2010partitioning}. The sensors in the connectivity group are within sensing range of each other, and the data collected by them in the same group are supposed to be similar. They are proved that dividing n sensors via NCG into connectivity groups is a NP-hard problem. So, a heuristic algorithm of NCG with time complexity of $O(n^3)$ is proposed. +%For some applications, such as monitoring an ecosystem with extremely diversified environment, It might be premature assumption that sensors near to each other sense similar data. + +%In~\cite{zaidi2009minimum}, the problem of minimum cost coverage in which full coverage is performed by using the minimum number of sensors for an arbitrary geometric shape region is addressed. a geometric solution to the minimum cost coverage problem under a deterministic deployment is proposed. The probabilistic coverage solution which provides a relationship between the probability of coverage and the number of randomly deployed sensors in an arbitrarily-shaped region is suggested. The authors are clarified that with a random deployment about seven times more nodes are required to supply full coverage. + +%A graph theoretical framework for connectivity-based coverage with configurable coverage granularity was proposed~\cite{dong2012distributed}. A new coverage criterion and scheduling approach is proposed based on cycle partition. This method is capable of build a sparse coverage set in distributed way by means of only connectivity information. This work considers only the communication range of the sensor is smaller two times the sensing range of sensor. + +%Liu et al.~\cite{liu2010energy} formulated maximum disjoint sets problem for retaining coverage and connectivity in WSN. Two algorithms are proposed for solving this problem, heuristic algorithm and network flow algorithm. This work did not take into account the sensor node failure, which is an unpredictable event because the two solutions are full centralized algorithms. + +%The work that presented in~\cite{aslanyan2013optimal} solved the coverage and connectivity problem in sensor networks in +%an integrated way. The network lifetime is divided in a fixed number of rounds. A coverage bitmap of sensors of the domain has been generated in each round and based on this bitmap, it has been decided which sensors +%stay active or turn it to sleep. They checked the connection of the graph via laplacian of adjancy graph of active sensors in each round. the generation of coverage bitmap by using Minkowski technique, the network is able to providing the desired ratio of coverage. They have been defined the connected coverage problem as an optimization problem and a centralized genetic algorithm is used to find the solution. + +%Several algorithms to retain the coverage and maximize the network lifetime were proposed in~\cite{cardei2006energy,wang2011coverage}. + +%\uppercase{\textbf{shortcomings}}. In spite of many energy-efficient protocols for maintaining the coverage and improving the network lifetime in WSNs were proposed, non of them ensure the coverage for the sensing field with optimal minimum number of active sensor nodes, and for a long time as possible. For example, in a full centralized algorithms, an optimal solutions can be given by using optimization approaches, but in the same time, a high energy is consumed for the execution time of the algorithm and the communications among the sensors in the sensing field, so, the full centralized approaches are not good candidate to use it especially in large WSNs. Whilst, a full distributed algorithms can not give optimal solutions because this algorithms use only local information of the neighboring sensors, but in the same time, the energy consumption during the communications and executing the algorithm is highly lower. Whatever the case, this would result in a shorter lifetime coverage in WSNs. + +%\uppercase{\textbf{Our Protocol}}. In this paper, a Lifetime Coverage Optimization Protocol, called (PeCO) in WSNs is suggested. The sensing field is divided into smaller subregions by means of divide-and-conquer method, and a PeCO protocol is distributed in each sensor in the subregion. The network lifetime in each subregion is divided into periods, each period includes 4 stages: Information Exchange, Leader election, decision based activity scheduling optimization, and sensing. The leaders are elected in an independent, asynchronous, and distributed way in all the subregions of the WSN. After that, energy-efficient activity scheduling mechanism based new optimization model is performed by each leader in the subregions. This optimization model is based on the perimeter coverage model in order to producing the optimal cover set of active sensors, which are taken the responsibility of sensing during the current period. PeCO protocol merges between two energy efficient mechanisms, which are used the main advantages of the centralized and distributed approaches and avoids the most of their disadvantages. + +\section{ The P{\scshape e}CO Protocol Description} +\label{sec:The PeCO Protocol Description} + +\noindent In this section, we describe in details our Perimeter-based Coverage +Optimization protocol. First we present the assumptions we made and the models +we considered (in particular the perimeter coverage one), second we describe the +background idea of our protocol, and third we give the outline of the algorithm +executed by each node. + +% It is based on two efficient-energy mechanisms: the first, is partitioning the sensing field into smaller subregions, and one leader is elected for each subregion; the second, a sensor activity scheduling based new optimization model so as to produce the optimal cover set of active sensors for the sensing stage during the period. Obviously, these two mechanisms can be contribute in extend the network lifetime coverage efficiently. +%Before proceeding in the presentation of the main ideas of the protocol, we will briefly describe the perimeter coverage model and give some necessary assumptions and definitions. + +\subsection{Assumptions and Models} +\label{CI} + +\noindent A WSN consisting of $J$ stationary sensor nodes randomly and uniformly +distributed in a bounded sensor field is considered. The wireless sensors are +deployed in high density to ensure initially a high coverage ratio of the area +of interest. We assume that all the sensor nodes are homogeneous in terms of +communication, sensing, and processing capabilities and heterogeneous from +the energy provision point of view. The location information is available to a +sensor node either through hardware such as embedded GPS or location discovery +algorithms. We assume that each sensor node can directly transmit its +measurements to a mobile sink node. For example, a sink can be an unmanned +aerial vehicle (UAV) flying regularly over the sensor field to collect +measurements from sensor nodes. A mobile sink node collects the measurements and +transmits them to the base station. We consider a Boolean disk coverage model, +which is the most widely used sensor coverage model in the literature, and all +sensor nodes have a constant sensing range $R_s$. Thus, all the space points +within a disk centered at a sensor with a radius equal to the sensing range are +said to be covered by this sensor. We also assume that the communication range +$R_c$ satisfies $R_c \geq 2 \cdot R_s$. In fact, Zhang and Zhou~\cite{Zhang05} +proved that if the transmission range fulfills the previous hypothesis, the +complete coverage of a convex area implies connectivity among active nodes. + +The PeCO protocol uses the same perimeter-coverage model as Huang and +Tseng in~\cite{huang2005coverage}. It can be expressed as follows: a sensor is +said to be perimeter covered if all the points on its perimeter are covered by +at least one sensor other than itself. They proved that a network area is +$k$-covered if and only if each sensor in the network is $k$-perimeter-covered (perimeter covered by at least $k$ sensors). +%According to this model, we named the intersections among the sensor nodes in the sensing field as intersection points. Instead of working with the coverage area, we consider for each sensor a set of intersection points which are determined by using perimeter-coverage model. +Figure~\ref{pcm2sensors}(a) shows the coverage of sensor node~$0$. On this +figure, we can see that sensor~$0$ has nine neighbors and we have reported on +its perimeter (the perimeter of the disk covered by the sensor) for each +neighbor the two points resulting from the intersection of the two sensing +areas. These points are denoted for neighbor~$i$ by $iL$ and $iR$, respectively +for left and right from a neighboing point of view. The resulting couples of +intersection points subdivide the perimeter of sensor~$0$ into portions called +arcs. + +\begin{figure}[ht!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[width=75mm]{figure1a.tiff} & \raisebox{3.25cm}{(a)} \\ + \includegraphics[width=75mm]{figure1b.tiff} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{(a) Perimeter coverage of sensor node 0 and (b) finding the arc of + $u$'s perimeter covered by $v$.} + \label{pcm2sensors} +\end{figure} + +Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the +locations of the left and right points of an arc on the perimeter of a sensor +node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the +west side of sensor~$u$, with the following respective coordinates in the +sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can +compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert + u_x - v_x \vert^2 + \vert u_y-v_y \vert^2}$, while the angle~$\alpha$ is +obtained through the formula: + \[ +\alpha = \arccos \left(\frac{Dist(u,v)}{2R_s} +\right). +\] +The arc on the perimeter of~$u$ defined by the angular interval $[\pi + - \alpha,\pi + \alpha]$ is said to be perimeter-covered by sensor~$v$. + +Every couple of intersection points is placed on the angular interval $[0,2\pi]$ +in a counterclockwise manner, leading to a partitioning of the interval. +Figure~\ref{pcm2sensors}(a) illustrates the arcs for the nine neighbors of +sensor $0$ and Figure~\ref{expcm} gives the position of the corresponding arcs +in the interval $[0,2\pi]$. More precisely, we can see that the points are +ordered according to the measures of the angles defined by their respective +positions. The intersection points are then visited one after another, starting +from the first intersection point after point~zero, and the maximum level of +coverage is determined for each interval defined by two successive points. The +maximum level of coverage is equal to the number of overlapping arcs. For +example, +between~$5L$ and~$6L$ the maximum level of coverage is equal to $3$ +(the value is highlighted in yellow at the bottom of Figure~\ref{expcm}), which +means that at most 2~neighbors can cover the perimeter in addition to node $0$. +Table~\ref{my-label} summarizes for each coverage interval the maximum level of +coverage and the sensor nodes covering the perimeter. The example discussed +above is thus given by the sixth line of the table. + +%The points reported on the line segment $[0,2\pi]$ separates it in intervals as shown in figure~\ref{expcm}. For example, for each neighboring sensor of sensor 0, place the points $\alpha^ 1_L$, $\alpha^ 1_R$, $\alpha^ 2_L$, $\alpha^ 2_R$, $\alpha^ 3_L$, $\alpha^ 3_R$, $\alpha^ 4_L$, $\alpha^ 4_R$, $\alpha^ 5_L$, $\alpha^ 5_R$, $\alpha^ 6_L$, $\alpha^ 6_R$, $\alpha^ 7_L$, $\alpha^ 7_R$, $\alpha^ 8_L$, $\alpha^ 8_R$, $\alpha^ 9_L$, and $\alpha^ 9_R$; on the line segment $[0,2\pi]$, and then sort all these points in an ascending order into a list. Traverse the line segment $[0,2\pi]$ by visiting each point in the sorted list from left to right and determine the coverage level of each interval of the sensor 0 (see figure \ref{expcm}). For each interval, we sum up the number of parts of segments, and we deduce a level of coverage for each interval. For instance, the interval delimited by the points $5L$ and $6L$ contains three parts of segments. That means that this part of the perimeter of the sensor $0$ may be covered by three sensors, sensor $0$ itself and sensors $2$ and $5$. The level of coverage of this interval may reach $3$ if all previously mentioned sensors are active. Let say that sensors $0$, $2$ and $5$ are involved in the coverage of this interval. Table~\ref{my-label} summarizes the level of coverage for each interval and the sensors involved in for sensor node 0 in figure~\ref{pcm2sensors}(a). +% to determine the level of the perimeter coverage for each left and right point of a segment. + +\begin{figure*}[t!] +\centering +\includegraphics[width=127.5mm]{figure2.tiff} +\caption{Maximum coverage levels for perimeter of sensor node $0$.} +\label{expcm} +\end{figure*} + +%For example, consider the sensor node $0$ in figure~\ref{pcmfig}, which has 9 neighbors. Figure~\ref{expcm} shows the perimeter coverage level for all left and right points of a segment that covered by a neighboring sensor nodes. Based on the figure~\ref{expcm}, the set of sensors for each left and right point of the segments illustrated in figure~\ref{ex2pcm} for the sensor node 0. + + + + \begin{table} + \tbl{Coverage intervals and contributing sensors for sensor node 0 \label{my-label}} +{\begin{tabular}{|c|c|c|c|c|c|c|c|c|} +\hline +\begin{tabular}[c]{@{}c@{}}Left \\ point \\ angle~$\alpha$ \end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ left \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ right \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Maximum \\ coverage\\ level\end{tabular} & \multicolumn{5}{c|}{\begin{tabular}[c]{@{}c@{}}Set of sensors\\ involved \\ in coverage interval\end{tabular}} \\ \hline +0.0291 & 1L & 2L & 4 & 0 & 1 & 3 & 4 & \\ \hline +0.104 & 2L & 3R & 5 & 0 & 1 & 3 & 4 & 2 \\ \hline +0.3168 & 3R & 4R & 4 & 0 & 1 & 4 & 2 & \\ \hline +0.6752 & 4R & 1R & 3 & 0 & 1 & 2 & & \\ \hline +1.8127 & 1R & 5L & 2 & 0 & 2 & & & \\ \hline +1.9228 & 5L & 6L & 3 & 0 & 2 & 5 & & \\ \hline +2.3959 & 6L & 2R & 4 & 0 & 2 & 5 & 6 & \\ \hline +2.4258 & 2R & 7L & 3 & 0 & 5 & 6 & & \\ \hline +2.7868 & 7L & 8L & 4 & 0 & 5 & 6 & 7 & \\ \hline +2.8358 & 8L & 5R & 5 & 0 & 5 & 6 & 7 & 8 \\ \hline +2.9184 & 5R & 7R & 4 & 0 & 6 & 7 & 8 & \\ \hline +3.3301 & 7R & 9R & 3 & 0 & 6 & 8 & & \\ \hline +3.9464 & 9R & 6R & 4 & 0 & 6 & 8 & 9 & \\ \hline +4.767 & 6R & 3L & 3 & 0 & 8 & 9 & & \\ \hline +4.8425 & 3L & 8R & 4 & 0 & 3 & 8 & 9 & \\ \hline +4.9072 & 8R & 4L & 3 & 0 & 3 & 9 & & \\ \hline +5.3804 & 4L & 9R & 4 & 0 & 3 & 4 & 9 & \\ \hline +5.9157 & 9R & 1L & 3 & 0 & 3 & 4 & & \\ \hline +\end{tabular}} + + +\end{table} + + +%The optimization algorithm that used by PeCO protocol based on the perimeter coverage levels of the left and right points of the segments and worked to minimize the number of sensor nodes for each left or right point of the segments within each sensor node. The algorithm minimize the perimeter coverage level of the left and right points of the segments, while, it assures that every perimeter coverage level of the left and right points of the segments greater than or equal to 1. + +In the PeCO protocol, the scheduling of the sensor nodes' activities is formulated with an +integer program based on coverage intervals. The formulation of the coverage +optimization problem is detailed in~section~\ref{cp}. Note that when a sensor +node has a part of its sensing range outside the WSN sensing field, as in +Figure~\ref{ex4pcm}, the maximum coverage level for this arc is set to $\infty$ +and the corresponding interval will not be taken into account by the +optimization algorithm. + +\begin{figure}[h!] +\centering +\includegraphics[width=62.5mm]{figure3.tiff} +\caption{Sensing range outside the WSN's area of interest.} +\label{ex4pcm} +\end{figure} +%Figure~\ref{ex5pcm} gives an example to compute the perimeter coverage levels for the left and right points of the segments for a sensor node $0$, which has a part of its sensing range exceeding the border of the sensing field of WSN, and it has a six neighbors. In figure~\ref{ex5pcm}, the sensor node $0$ has two segments outside the border of the network sensing field, so the left and right points of the two segments called $-1L$, $-1R$, $-2L$, and $-2R$. +%\begin{figure}[ht!] +%\centering +%\includegraphics[width=75mm]{ex5pcm.jpg} +%\caption{Coverage intervals and contributing sensors for sensor node 0 having a part of its sensing range outside the border.} +%\label{ex5pcm} +%\end{figure} + +\subsection{The Main Idea} + +\noindent The WSN area of interest is, in a first step, divided into regular +homogeneous subregions using a divide-and-conquer algorithm. In a second step +our protocol will be executed in a distributed way in each subregion +simultaneously to schedule nodes' activities for one sensing period. + +As shown in Figure~\ref{fig2}, node activity scheduling is produced by our +protocol in a periodic manner. Each period is divided into 4 stages: Information +(INFO) Exchange, Leader Election, Decision (the result of an optimization +problem), and Sensing. For each period there is exactly one set cover +responsible for the sensing task. Protocols based on a periodic scheme, like +PeCO, are more robust against an unexpected node failure. On the one hand, if +a node failure is discovered before taking the decision, the corresponding sensor +node will not be considered by the optimization algorithm. On the other +hand, if the sensor failure happens after the decision, the sensing task of the +network will be temporarily affected: only during the period of sensing until a +new period starts, since a new set cover will take charge of the sensing task in +the next period. The energy consumption and some other constraints can easily be +taken into account since the sensors can update and then exchange their +information (including their residual energy) at the beginning of each period. +However, the pre-sensing phases (INFO Exchange, Leader Election, and Decision) +are energy consuming, even for nodes that will not join the set cover to monitor +the area. + +\begin{figure}[t!] +\centering +\includegraphics[width=80mm]{figure4.tiff} +\caption{PeCO protocol.} +\label{fig2} +\end{figure} + +We define two types of packets to be used by PeCO protocol: +%\begin{enumerate}[(a)] +\begin{itemize} +\item INFO packet: sent by each sensor node to all the nodes inside a same + subregion for information exchange. +\item ActiveSleep packet: sent by the leader to all the nodes in its subregion + to transmit to them their respective status (stay Active or go Sleep) during + sensing phase. +\end{itemize} +%\end{enumerate} + +Five status are possible for a sensor node in the network: +%\begin{enumerate}[(a)] +\begin{itemize} +\item LISTENING: waits for a decision (to be active or not); +\item COMPUTATION: executes the optimization algorithm as leader to + determine the activities scheduling; +\item ACTIVE: node is sensing; +\item SLEEP: node is turned off; +\item COMMUNICATION: transmits or receives packets. +\end{itemize} +%\end{enumerate} +%Below, we describe each phase in more details. + +\subsection{PeCO Protocol Algorithm} + +\noindent The pseudocode implementing the protocol on a node is given below. +More precisely, Algorithm~\ref{alg:PeCO} gives a brief description of the +protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN. + + +\iffalse +\begin{algorithm} + % \KwIn{all the parameters related to information exchange} +% \KwOut{$winer-node$ (: the id of the winner sensor node, which is the leader of current round)} + \BlankLine + %\emph{Initialize the sensor node and determine it's position and subregion} \; + + \If{ $RE_k \geq E_{th}$ }{ + \emph{$s_k.status$ = COMMUNICATION}\; + \emph{Send $INFO()$ packet to other nodes in subregion}\; + \emph{Wait $INFO()$ packet from other nodes in subregion}\; + \emph{Update K.CurrentSize}\; + \emph{LeaderID = Leader election}\; + \If{$ s_k.ID = LeaderID $}{ + \emph{$s_k.status$ = COMPUTATION}\; + + \If{$ s_k.ID $ is Not previously selected as a Leader }{ + \emph{ Execute the perimeter coverage model}\; + % \emph{ Determine the segment points using perimeter coverage model}\; + } + + \If{$ (s_k.ID $ is the same Previous Leader) And (K.CurrentSize = K.PreviousSize)}{ + + \emph{ Use the same previous cover set for current sensing stage}\; + } + \Else{ + \emph{Update $a^j_{ik}$; prepare data for IP~Algorithm}\; + \emph{$\left\{\left(X_{1},\dots,X_{l},\dots,X_{K}\right)\right\}$ = Execute Integer Program Algorithm($K$)}\; + \emph{K.PreviousSize = K.CurrentSize}\; + } + + \emph{$s_k.status$ = COMMUNICATION}\; + \emph{Send $ActiveSleep()$ to each node $l$ in subregion}\; + \emph{Update $RE_k $}\; + } + \Else{ + \emph{$s_k.status$ = LISTENING}\; + \emph{Wait $ActiveSleep()$ packet from the Leader}\; + \emph{Update $RE_k $}\; + } + } + \Else { Exclude $s_k$ from entering in the current sensing stage} + } +%\caption{PeCO($s_k$)} +\label{alg:PeCO} +\end{algorithm} +\fi + +In this algorithm, K.CurrentSize and K.PreviousSize respectively represent the +current number and the previous number of living nodes in the subnetwork of the +subregion. Initially, the sensor node checks its remaining energy $RE_k$, which +must be greater than a threshold $E_{th}$ in order to participate in the current +period. Each sensor node determines its position and its subregion using an +embedded GPS or a location discovery algorithm. After that, all the sensors +collect position coordinates, remaining energy, sensor node ID, and the number +of their one-hop live neighbors during the information exchange. The sensors +inside a same region cooperate to elect a leader. The selection criteria for the +leader, in order of priority, are: larger numbers of neighbors, larger remaining +energy, and then in case of equality, larger index. Once chosen, the leader +collects information to formulate and solve the integer program which allows to +construct the set of active sensors in the sensing stage. + +%After the cooperation among the sensor nodes in the same subregion, the leader will be elected in distributed way, where each sensor node and based on it's information decide who is the leader. The selection criteria for the leader in order of priority are: larger number of neighbors, larger remaining energy, and then in case of equality, larger index. Thereafter, if the sensor node is leader, it will execute the perimeter-coverage model for each sensor in the subregion in order to determine the segment points which would be used in the next stage by the optimization algorithm of the PeCO protocol. Every sensor node is selected as a leader, it is executed the perimeter coverage model only one time during it's life in the network. + +% The leader has the responsibility of applying the integer program algorithm (see section~\ref{cp}), which provides a set of sensors planned to be active in the sensing stage. As leader, it will send an Active-Sleep packet to each sensor in the same subregion to inform it if it has to be active or not. On the contrary, if the sensor is not the leader, it will wait for the Active-Sleep packet to know its state for the sensing stage. + +\section{Perimeter-based Coverage Problem Formulation} +\label{cp} + +\noindent In this section, the coverage model is mathematically formulated. We +start with a description of the notations that will be used throughout the +section.\\ +First, we have the following sets: +\begin{itemize} +\item $S$ represents the set of WSN sensor nodes; +\item $A \subseteq S $ is the subset of alive sensors; +\item $I_j$ designates the set of coverage intervals (CI) obtained for + sensor~$j$. +\end{itemize} +$I_j$ refers to the set of coverage intervals which have been defined according +to the method introduced in subsection~\ref{CI}. For a coverage interval $i$, +let $a^j_{ik}$ denotes the indicator function of whether sensor~$k$ is involved +in coverage interval~$i$ of sensor~$j$, that is: +\begin{equation} +a^j_{ik} = \left \{ +\begin{array}{lll} + 1 & \mbox{if sensor $k$ is involved in the } \\ + & \mbox{coverage interval $i$ of sensor $j$}, \\ + 0 & \mbox{otherwise.}\\ +\end{array} \right. +%\label{eq12} +%\notag +\end{equation} +Note that $a^k_{ik}=1$ by definition of the interval. +%, where the objective is to find the maximum number of non-disjoint sets of sensor nodes such that each set cover can assure the coverage for the whole region so as to extend the network lifetime in WSN. Our model uses the PCL~\cite{huang2005coverage} in order to optimize the lifetime coverage in each subregion. +%We defined some parameters, which are related to our optimization model. In our model, we consider binary variables $X_{k}$, which determine the activation of sensor $k$ in the sensing round $k$. . +Second, we define several binary and integer variables. Hence, each binary +variable $X_{k}$ determines the activation of sensor $k$ in the sensing phase +($X_k=1$ if the sensor $k$ is active or 0 otherwise). $M^j_i$ is an integer +variable which measures the undercoverage for the coverage interval $i$ +corresponding to sensor~$j$. In the same way, the overcoverage for the same +coverage interval is given by the variable $V^j_i$. + +If we decide to sustain a level of coverage equal to $l$ all along the perimeter +of sensor $j$, we have to ensure that at least $l$ sensors involved in each +coverage interval $i \in I_j$ of sensor $j$ are active. According to the +previous notations, the number of active sensors in the coverage interval $i$ of +sensor $j$ is given by $\sum_{k \in A} a^j_{ik} X_k$. To extend the network +lifetime, the objective is to activate a minimal number of sensors in each +period to ensure the desired coverage level. As the number of alive sensors +decreases, it becomes impossible to reach the desired level of coverage for all +coverage intervals. Therefore we use variables $M^j_i$ and $V^j_i$ as a measure +of the deviation between the desired number of active sensors in a coverage +interval and the effective number. And we try to minimize these deviations, +first to force the activation of a minimal number of sensors to ensure the +desired coverage level, and if the desired level cannot be completely satisfied, +to reach a coverage level as close as possible to the desired one. + +%A system of linear constraints is imposed to attempt to keep the coverage level in each coverage interval to within specified PCL. Since it is physically impossible to satisfy all constraints simultaneously, each constraint uses a variable to either record when the coverage level is achieved, or to record the deviation from the desired coverage level. These additional variables are embedded into an objective function to be minimized. + +%\noindent In this paper, let us define some parameters, which are used in our protocol. +%the set of segment points is denoted by $I$, the set of all sensors in the network by $J$, and the set of alive sensors within $J$ by $K$. + + +%\noindent \begin{equation} +%X_{k} = \left \{ +%\begin{array}{l l} + % 1& \mbox{if sensor $k$ is active,} \\ +% 0 & \mbox{otherwise.}\\ +%\end{array} \right. +%\label{eq11} +%\notag +%\end{equation} + +%\noindent $M^j_i (undercoverage): $ integer value $\in \mathbb{N}$ for segment point $i$ of sensor $j$. + +%\noindent $V^j_i (overcoverage): $ integer value $\in \mathbb{N}$ for segment point $i$ of sensor $j$. + +Our coverage optimization problem can then be mathematically expressed as follows: +%Objective: +\begin{equation} %\label{eq:ip2r} +\left \{ +\begin{array}{ll} +\min \sum_{j \in S} \sum_{i \in I_j} (\alpha^j_i ~ M^j_i + \beta^j_i ~ V^j_i )&\\ +\textrm{subject to :}&\\ +\sum_{k \in A} ( a^j_{ik} ~ X_{k}) + M^j_i \geq l \quad \forall i \in I_j, \forall j \in S\\ +%\label{c1} +\sum_{k \in A} ( a^j_{ik} ~ X_{k}) - V^j_i \leq l \quad \forall i \in I_j, \forall j \in S\\ +% \label{c2} +% \Theta_{p}\in \mathbb{N}, &\forall p \in P\\ +% U_{p} \in \{0,1\}, &\forall p \in P\\ +X_{k} \in \{0,1\}, \forall k \in A +\end{array} +\right. +%\notag +\end{equation} +$\alpha^j_i$ and $\beta^j_i$ are nonnegative weights selected according to the +relative importance of satisfying the associated level of coverage. For example, +weights associated with coverage intervals of a specified part of a region may +be given by a relatively larger magnitude than weights associated with another +region. This kind of integer program is inspired from the model developed for +brachytherapy treatment planning for optimizing dose distribution +\cite{0031-9155-44-1-012}. The integer program must be solved by the leader in +each subregion at the beginning of each sensing phase, whenever the environment +has changed (new leader, death of some sensors). Note that the number of +constraints in the model is constant (constraints of coverage expressed for all +sensors), whereas the number of variables $X_k$ decreases over periods, since we +consider only alive sensors (sensors with enough energy to be alive during one +sensing phase) in the model. + +\section{Performance Evaluation and Analysis} +\label{sec:Simulation Results and Analysis} +%\noindent \subsection{Simulation Framework} + +\subsection{Simulation Settings} +%\label{sub1} + +The WSN area of interest is supposed to be divided into 16~regular subregions +and we use the same energy consumption than in our previous work~\cite{Idrees2}. +Table~\ref{table3} gives the chosen parameters settings. + +\begin{table}[ht] +\tbl{Relevant parameters for network initialization \label{table3}}{ +% title of Table +\centering +% used for centering table +\begin{tabular}{c|c} +% centered columns (4 columns) +\hline +Parameter & Value \\ [0.5ex] + +\hline +% inserts single horizontal line +Sensing field & $(50 \times 25)~m^2 $ \\ + +WSN size & 100, 150, 200, 250, and 300~nodes \\ +%\hline +Initial energy & in range 500-700~Joules \\ +%\hline +Sensing period & duration of 60 minutes \\ +$E_{th}$ & 36~Joules\\ +$R_s$ & 5~m \\ +%\hline +$\alpha^j_i$ & 0.6 \\ +% [1ex] adds vertical space +%\hline +$\beta^j_i$ & 0.4 +%inserts single line +\end{tabular}} + +% is used to refer this table in the text +\end{table} +To obtain experimental results which are relevant, simulations with five +different node densities going from 100 to 300~nodes were performed considering +each time 25~randomly generated networks. The nodes are deployed on a field of +interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a +high coverage ratio. Each node has an initial energy level, in Joules, which is +randomly drawn in the interval $[500-700]$. If its energy provision reaches a +value below the threshold $E_{th}=36$~Joules, the minimum energy needed for a +node to stay active during one period, it will no more participate in the +coverage task. This value corresponds to the energy needed by the sensing phase, +obtained by multiplying the energy consumed in active state (9.72 mW) with the +time in seconds for one period (3600 seconds), and adding the energy for the +pre-sensing phases. According to the interval of initial energy, a sensor may +be active during at most 20 periods. + +The values of $\alpha^j_i$ and $\beta^j_i$ have been chosen to ensure a good +network coverage and a longer WSN lifetime. We have given a higher priority to +the undercoverage (by setting the $\alpha^j_i$ with a larger value than +$\beta^j_i$) so as to prevent the non-coverage for the interval~$i$ of the +sensor~$j$. On the other hand, we have assigned to +$\beta^j_i$ a value which is slightly lower so as to minimize the number of active sensor nodes which contribute +in covering the interval. + +We introduce the following performance metrics to evaluate the efficiency of our +approach. + +%\begin{enumerate}[i)] +\begin{itemize} +\item {\bf Network Lifetime}: the lifetime is defined as the time elapsed until + the coverage ratio falls below a fixed threshold. $Lifetime_{95}$ and + $Lifetime_{50}$ denote, respectively, the amount of time during which is + guaranteed a level of coverage greater than $95\%$ and $50\%$. The WSN can + fulfill the expected monitoring task until all its nodes have depleted their + energy or if the network is no more connected. This last condition is crucial + because without network connectivity a sensor may not be able to send to a + base station an event it has sensed. +\item {\bf Coverage Ratio (CR)} : it measures how well the WSN is able to + observe the area of interest. In our case, we discretized the sensor field as + a regular grid, which yields the following equation: + +%\begin{equation*} +\[ + \scriptsize + \mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100 +\] +% \end{equation*} + + where $n$ is the number of covered grid points by active sensors of every + subregions during the current sensing phase and $N$ is total number of grid + points in the sensing field. In our simulations we have set a layout of + $N~=~51~\times~26~=~1326$~grid points. +\item {\bf Active Sensors Ratio (ASR)}: a major objective of our protocol is to + activate as few nodes as possible, in order to minimize the communication + overhead and maximize the WSN lifetime. The active sensors ratio is defined as + follows: + %\begin{equation*} +\[ + \scriptsize + \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R \mbox{$|A_r^p|$}}{\mbox{$|S|$}} \times 100 +\] + %\end{equation*} + where $|A_r^p|$ is the number of active sensors in the subregion $r$ in the + current sensing period~$p$, $|S|$ is the number of sensors in the network, and + $R$ is the number of subregions. +\item {\bf Energy Consumption (EC)}: energy consumption can be seen as the total + energy consumed by the sensors during $Lifetime_{95}$ or $Lifetime_{50}$, + divided by the number of periods. The value of EC is computed according to + this formula: + %\begin{equation*} +\[ + \scriptsize + \mbox{EC} = \frac{\sum\limits_{p=1}^{P} \left( E^{\mbox{com}}_p+E^{\mbox{list}}_p+E^{\mbox{comp}}_p + + E^{a}_p+E^{s}_p \right)}{P}, +\] + % \end{equation*} + where $P$ corresponds to the number of periods. The total energy consumed by + the sensors comes through taking into consideration four main energy + factors. The first one, denoted $E^{\scriptsize \mbox{com}}_p$, represents the + energy consumption spent by all the nodes for wireless communications during + period $p$. $E^{\scriptsize \mbox{list}}_p$, the next factor, corresponds to + the energy consumed by the sensors in LISTENING status before receiving the + decision to go active or sleep in period $p$. $E^{\scriptsize \mbox{comp}}_p$ + refers to the energy needed by all the leader nodes to solve the integer + program during a period. Finally, $E^a_{p}$ and $E^s_{p}$ indicate the energy + consumed by the WSN during the sensing phase (active and sleeping nodes). +\end{itemize} +%\end{enumerate} + +\subsection{Simulation Results} + +In order to assess and analyze the performance of our protocol we have +implemented PeCO protocol in OMNeT++~\cite{varga} simulator. Besides PeCO, two +other protocols, described in the next paragraph, will be evaluated for +comparison purposes. The simulations were run on a DELL laptop with an Intel +Core~i3~2370~M (2.4~GHz) processor (2 cores) whose MIPS (Million Instructions +Per Second) rate is equal to 35330. To be consistent with the use of a sensor +node based on Atmels AVR ATmega103L microcontroller (6~MHz) having a MIPS rate +equal to 6, the original execution time on the laptop is multiplied by 2944.2 +$\left(\frac{35330}{2} \times \frac{1}{6} \right)$. The modeling language for +Mathematical Programming (AMPL)~\cite{AMPL} is employed to generate the integer +program instance in a standard format, which is then read and solved by the +optimization solver GLPK (GNU linear Programming Kit available in the public +domain) \cite{glpk} through a Branch-and-Bound method. + +As said previously, the PeCO is compared to three other approaches. The first +one, called DESK, is a fully distributed coverage algorithm proposed by +\cite{ChinhVu}. The second one, called GAF~\cite{xu2001geography}, consists in +dividing the monitoring area into fixed squares. Then, during the decision +phase, in each square, one sensor is chosen to remain active during the sensing +phase. The last one, the DiLCO protocol~\cite{Idrees2}, is an improved version +of a research work we presented in~\cite{idrees2014coverage}. Let us notice that +PeCO and DiLCO protocols are based on the same framework. In particular, the +choice for the simulations of a partitioning in 16~subregions was made because +it corresponds to the configuration producing the best results for DiLCO. The +protocols are distinguished from one another by the formulation of the integer +program providing the set of sensors which have to be activated in each sensing +phase. DiLCO protocol tries to satisfy the coverage of a set of primary points, +whereas the PeCO protocol objective is to reach a desired level of coverage for each +sensor perimeter. In our experimentations, we chose a level of coverage equal to +one ($l=1$). + +\subsubsection{\bf Coverage Ratio} + +Figure~\ref{fig333} shows the average coverage ratio for 200 deployed nodes +obtained with the four protocols. DESK, GAF, and DiLCO provide a slightly better +coverage ratio with respectively 99.99\%, 99.91\%, and 99.02\%, compared to the 98.76\% +produced by PeCO for the first periods. This is due to the fact that at the +beginning the DiLCO protocol puts to sleep status more redundant sensors (which +slightly decreases the coverage ratio), while the three other protocols activate +more sensor nodes. Later, when the number of periods is beyond~70, it clearly +appears that PeCO provides a better coverage ratio and keeps a coverage ratio +greater than 50\% for longer periods (15 more compared to DiLCO, 40 more +compared to DESK). The energy saved by PeCO in the early periods allows later a +substantial increase of the coverage performance. + +\parskip 0pt +\begin{figure}[h!] +\centering + \includegraphics[scale=0.5] {figure5.eps} +\caption{Coverage ratio for 200 deployed nodes.} +\label{fig333} +\end{figure} + +%When the number of periods increases, coverage ratio produced by DESK and GAF protocols decreases. This is due to dead nodes. However, DiLCO protocol maintains almost a good coverage from the round 31 to the round 63 and it is close to PeCO protocol. The coverage ratio of PeCO protocol is better than other approaches from the period 64. + +%because the optimization algorithm used by PeCO has been optimized the lifetime coverage based on the perimeter coverage model, so it provided acceptable coverage for a larger number of periods and prolonging the network lifetime based on the perimeter of the sensor nodes in each subregion of WSN. Although some nodes are dead, sensor activity scheduling based optimization of PeCO selected another nodes to ensure the coverage of the area of interest. i.e. DiLCO-16 showed a good coverage in the beginning then PeCO, when the number of periods increases, the coverage ratio decreases due to died sensor nodes. Meanwhile, thanks to sensor activity scheduling based new optimization model, which is used by PeCO protocol to ensure a longer lifetime coverage in comparison with other approaches. + + +\subsubsection{\bf Active Sensors Ratio} + +Having the less active sensor nodes in each period is essential to minimize the +energy consumption and thus to maximize the network lifetime. Figure~\ref{fig444} +shows the average active nodes ratio for 200 deployed nodes. We observe that +DESK and GAF have 30.36 \% and 34.96 \% active nodes for the first fourteen +rounds and DiLCO and PeCO protocols compete perfectly with only 17.92~\% and +20.16~\% active nodes during the same time interval. As the number of periods +increases, PeCO protocol has a lower number of active nodes in comparison with +the three other approaches, while keeping a greater coverage ratio as shown in +Figure \ref{fig333}. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.5]{figure6.eps} +\caption{Active sensors ratio for 200 deployed nodes.} +\label{fig444} +\end{figure} + +\subsubsection{\bf Energy Consumption} + +We studied the effect of the energy consumed by the WSN during the communication, +computation, listening, active, and sleep status for different network densities +and compared it for the four approaches. Figures~\ref{fig3EC}(a) and (b) +illustrate the energy consumption for different network sizes and for +$Lifetime95$ and $Lifetime50$. The results show that our PeCO protocol is the +most competitive from the energy consumption point of view. As shown in both +figures, PeCO consumes much less energy than the three other methods. One might +think that the resolution of the integer program is too costly in energy, but +the results show that it is very beneficial to lose a bit of time in the +selection of sensors to activate. Indeed the optimization program allows to +reduce significantly the number of active sensors and so the energy consumption +while keeping a good coverage level. + +\begin{figure}[h!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[scale=0.475]{figure7a.eps} & \raisebox{2.75cm}{(a)} \\ + \includegraphics[scale=0.475]{figure7b.eps} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{Energy consumption per period for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.} + \label{fig3EC} +\end{figure} + +%The optimization algorithm, which used by PeCO protocol, was improved the lifetime coverage efficiently based on the perimeter coverage model. + + %The other approaches have a high energy consumption due to activating a larger number of sensors. In fact, a distributed method on the subregions greatly reduces the number of communications and the time of listening so thanks to the partitioning of the initial network into several independent subnetworks. + + +%\subsubsection{Execution Time} + +\subsubsection{\bf Network Lifetime} + +We observe the superiority of PeCO and DiLCO protocols in comparison with the +two other approaches in prolonging the network lifetime. In +Figures~\ref{fig3LT}(a) and (b), $Lifetime95$ and $Lifetime50$ are shown for +different network sizes. As highlighted by these figures, the lifetime +increases with the size of the network, and it is clearly largest for DiLCO +and PeCO protocols. For instance, for a network of 300~sensors and coverage +ratio greater than 50\%, we can see on Figure~\ref{fig3LT}(b) that the lifetime +is about twice longer with PeCO compared to DESK protocol. The performance +difference is more obvious in Figure~\ref{fig3LT}(b) than in +Figure~\ref{fig3LT}(a) because the gain induced by our protocols increases with + time, and the lifetime with a coverage of 50\% is far longer than with +95\%. + +\begin{figure}[h!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[scale=0.475]{figure8a.eps} & \raisebox{2.75cm}{(a)} \\ + \includegraphics[scale=0.475]{figure8b.eps} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{Network Lifetime for (a)~$Lifetime_{95}$ \\ + and (b)~$Lifetime_{50}$.} + \label{fig3LT} +\end{figure} + +%By choosing the best suited nodes, for each period, by optimizing the coverage and lifetime of the network to cover the area of interest and by letting the other ones sleep in order to be used later in next rounds, PeCO protocol efficiently prolonged the network lifetime especially for a coverage ratio greater than $50 \%$, whilst it stayed very near to DiLCO-16 protocol for $95 \%$. + +Figure~\ref{figLTALL} compares the lifetime coverage of our protocols for +different coverage ratios. We denote by Protocol/50, Protocol/80, Protocol/85, +Protocol/90, and Protocol/95 the amount of time during which the network can +satisfy an area coverage greater than $50\%$, $80\%$, $85\%$, $90\%$, and $95\%$ +respectively, where the term Protocol refers to DiLCO or PeCO. Indeed there are applications +that do not require a 100\% coverage of the area to be monitored. PeCO might be +an interesting method since it achieves a good balance between a high level +coverage ratio and network lifetime. PeCO always outperforms DiLCO for the three +lower coverage ratios, moreover the improvements grow with the network +size. DiLCO is better for coverage ratios near 100\%, but in that case PeCO is +not ineffective for the smallest network sizes. + +\begin{figure}[h!] +\centering \includegraphics[scale=0.5]{figure9.eps} +\caption{Network lifetime for different coverage ratios.} +\label{figLTALL} +\end{figure} + +%Comparison shows that PeCO protocol, which are used distributed optimization over the subregions, is the more relevance one for most coverage ratios and WSN sizes because it is robust to network disconnection during the network lifetime as well as it consume less energy in comparison with other approaches. PeCO protocol gave acceptable coverage ratio for a larger number of periods using new optimization algorithm that based on a perimeter coverage model. It also means that distributing the algorithm in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is the most relevant way to maximize the lifetime of a network. + + +\section{Conclusion and Future Works} +\label{sec:Conclusion and Future Works} + +In this paper we have studied the problem of Perimeter-based Coverage Optimization in +WSNs. We have designed a new protocol, called Perimeter-based Coverage Optimization, which +schedules nodes' activities (wake up and sleep stages) with the objective of +maintaining a good coverage ratio while maximizing the network lifetime. This +protocol is applied in a distributed way in regular subregions obtained after +partitioning the area of interest in a preliminary step. It works in periods and +is based on the resolution of an integer program to select the subset of sensors +operating in active status for each period. Our work is original in so far as it +proposes for the first time an integer program scheduling the activation of +sensors based on their perimeter coverage level, instead of using a set of +targets/points to be covered. + +%To cope with this problem, the area of interest is divided into a smaller subregions using divide-and-conquer method, and then a PeCO protocol for optimizing the lifetime coverage in each subregion. PeCO protocol combines two efficient techniques: network +%leader election, which executes the perimeter coverage model (only one time), the optimization algorithm, and sending the schedule produced by the optimization algorithm to other nodes in the subregion ; the second, sensor activity scheduling based optimization in which a new lifetime coverage optimization model is proposed. The main challenges include how to select the most efficient leader in each subregion and the best schedule of sensor nodes that will optimize the network lifetime coverage +%in the subregion. +%The network lifetime coverage in each subregion is divided into +%periods, each period consists of four stages: (i) Information Exchange, +%(ii) Leader Election, (iii) a Decision based new optimization model in order to +%select the nodes remaining active for the last stage, and (iv) Sensing. +We have carried out several simulations to evaluate the proposed protocol. The +simulation results show that PeCO is more energy-efficient than other +approaches, with respect to lifetime, coverage ratio, active sensors ratio, and +energy consumption. +%Indeed, when dealing with large and dense WSNs, a distributed optimization approach on the subregions of WSN like the one we are proposed allows to reduce the difficulty of a single global optimization problem by partitioning it in many smaller problems, one per subregion, that can be solved more easily. We have identified different research directions that arise out of the work presented here. +We plan to extend our framework so that the schedules are planned for multiple +sensing periods. +%in order to compute all active sensor schedules in only one step for many periods; +We also want to improve our integer program to take into account heterogeneous +sensors from both energy and node characteristics point of views. +%the third, we are investigating new optimization model based on the sensing range so as to maximize the lifetime coverage in WSN; +Finally, it would be interesting to implement our protocol using a +sensor-testbed to evaluate it in real world applications. + +\bibliographystyle{gENO} +\bibliography{biblio} + + +\end{document} diff --git a/PeCO-EO/articleeo.tex~ b/PeCO-EO/articleeo.tex~ new file mode 100644 index 0000000..45982a2 --- /dev/null +++ b/PeCO-EO/articleeo.tex~ @@ -0,0 +1,962 @@ +% gENOguide.tex +% v4.0 released April 2013 + +\documentclass{gENO2e} +%\usepackage[linesnumbered,ruled,vlined,commentsnumbered]{algorithm2e} +%\renewcommand{\algorithmcfname}{ALGORITHM} +\begin{document} + +%\jvol{00} \jnum{00} \jyear{2013} \jmonth{April} + +%\articletype{GUIDE} + +\title{{\itshape Perimeter-based Coverage Optimization to Improve Lifetime in Wireless Sensor Networks}} + +\author{Ali Kadhum Idrees$^{a}$, Karine Deschinkel$^{a}$$^{\ast}$\thanks{$^\ast$Corresponding author. Email: karine.deschinkel@univ-fcomte.fr}, Michel Salomon$^{a}$ and Rapha\"el Couturier $^{a}$ +$^{a}${\em{FEMTO-ST Institute, UMR 6174 CNRS, University of Franche-Comte, + Belfort, France}};} + + +\maketitle + +\begin{abstract} +The most important problem in a Wireless Sensor Network (WSN) is to optimize the +use of its limited energy provision, so that it can fulfill its monitoring task +as long as possible. Among known available approaches that can be used to +improve power management, lifetime coverage optimization provides activity +scheduling which ensures sensing coverage while minimizing the energy cost. In +this paper, we propose such an approach called Perimeter-based Coverage Optimization +protocol (PeCO). It is a hybrid of centralized and distributed methods: the +region of interest is first subdivided into subregions and our protocol is then +distributed among sensor nodes in each subregion. +The novelty of our approach lies essentially in the formulation of a new +mathematical optimization model based on the perimeter coverage level to schedule +sensors' activities. Extensive simulation experiments have been performed using +OMNeT++, the discrete event simulator, to demonstrate that PeCO can +offer longer lifetime coverage for WSNs in comparison with some other protocols. + +\begin{keywords}Wireless Sensor Networks, Area Coverage, Network Lifetime, Optimization, Scheduling. +\end{keywords} + +\end{abstract} + + +\section{Introduction} +\label{sec:introduction} + +\noindent The continuous progress in Micro Electro-Mechanical Systems (MEMS) and +wireless communication hardware has given rise to the opportunity to use large +networks of tiny sensors, called Wireless Sensor Networks +(WSN)~\cite{akyildiz2002wireless,puccinelli2005wireless}, to fulfill monitoring +tasks. A WSN consists of small low-powered sensors working together by +communicating with one another through multi-hop radio communications. Each node +can send the data it collects in its environment, thanks to its sensor, to the +user by means of sink nodes. The features of a WSN made it suitable for a wide +range of application in areas such as business, environment, health, industry, +military, and so on~\cite{yick2008wireless}. Typically, a sensor node contains +three main components~\cite{anastasi2009energy}: a sensing unit able to measure +physical, chemical, or biological phenomena observed in the environment; a +processing unit which will process and store the collected measurements; a radio +communication unit for data transmission and receiving. + +The energy needed by an active sensor node to perform sensing, processing, and +communication is supplied by a power supply which is a battery. This battery has +a limited energy provision and it may be unsuitable or impossible to replace or +recharge it in most applications. Therefore it is necessary to deploy WSN with +high density in order to increase reliability and to exploit node redundancy +thanks to energy-efficient activity scheduling approaches. Indeed, the overlap +of sensing areas can be exploited to schedule alternatively some sensors in a +low power sleep mode and thus save energy. Overall, the main question that must +be answered is: how to extend the lifetime coverage of a WSN as long as possible +while ensuring a high level of coverage? These past few years many +energy-efficient mechanisms have been suggested to retain energy and extend the +lifetime of the WSNs~\cite{rault2014energy}. + +This paper makes the following contributions. +\begin{enumerate} +\item We have devised a framework to schedule nodes to be activated alternatively such + that the network lifetime is prolonged while ensuring that a certain level of + coverage is preserved. A key idea in our framework is to exploit spatial and + temporal subdivision. On the one hand, the area of interest is divided into + several smaller subregions and, on the other hand, the time line is divided into + periods of equal length. In each subregion the sensor nodes will cooperatively + choose a leader which will schedule nodes' activities, and this grouping of + sensors is similar to typical cluster architecture. +\item We have proposed a new mathematical optimization model. Instead of trying to + cover a set of specified points/targets as in most of the methods proposed in + the literature, we formulate an integer program based on perimeter coverage of + each sensor. The model involves integer variables to capture the deviations + between the actual level of coverage and the required level. Hence, an + optimal scheduling will be obtained by minimizing a weighted sum of these + deviations. +\item We have conducted extensive simulation experiments, using the discrete event + simulator OMNeT++, to demonstrate the efficiency of our protocol. We have compared + our PeCO protocol to two approaches found in the literature: + DESK~\cite{ChinhVu} and GAF~\cite{xu2001geography}, and also to our previous + work published in~\cite{Idrees2} which is based on another optimization model + for sensor scheduling. +\end{enumerate} + + + + + + +The rest of the paper is organized as follows. In the next section we review +some related work in the field. Section~\ref{sec:The PeCO Protocol Description} +is devoted to the PeCO protocol description and Section~\ref{cp} focuses on the +coverage model formulation which is used to schedule the activation of sensor +nodes. Section~\ref{sec:Simulation Results and Analysis} presents simulations +results and discusses the comparison with other approaches. Finally, concluding +remarks are drawn and some suggestions are given for future works in +Section~\ref{sec:Conclusion and Future Works}. + +% that show that our protocol outperforms others protocols. +\section{Related Literature} +\label{sec:Literature Review} + +\noindent In this section, we summarize some related works regarding the +coverage problem and distinguish our PeCO protocol from the works presented in +the literature. + +The most discussed coverage problems in literature can be classified in three +categories~\cite{li2013survey} according to their respective monitoring +objective. Hence, area coverage \cite{Misra} means that every point inside a +fixed area must be monitored, while target coverage~\cite{yang2014novel} refers +to the objective of coverage for a finite number of discrete points called +targets, and barrier coverage~\cite{HeShibo}\cite{kim2013maximum} focuses on +preventing intruders from entering into the region of interest. In +\cite{Deng2012} authors transform the area coverage problem into the target +coverage one taking into account the intersection points among disks of sensors +nodes or between disk of sensor nodes and boundaries. In +\cite{Huang:2003:CPW:941350.941367} authors prove that if the perimeters of +sensors are sufficiently covered it will be the case for the whole area. They +provide an algorithm in $O(nd~log~d)$ time to compute the perimeter-coverage of +each sensor, where $d$ denotes the maximum number of sensors that are +neighbors to a sensor and $n$ is the total number of sensors in the +network. {\it In PeCO protocol, instead of determining the level of coverage of + a set of discrete points, our optimization model is based on checking the + perimeter-coverage of each sensor to activate a minimal number of sensors.} + +The major approach to extend network lifetime while preserving coverage is to +divide/organize the sensors into a suitable number of set covers (disjoint or +non-disjoint)\cite{wang2011coverage}, where each set completely covers a region of interest, and to +activate these set covers successively. The network activity can be planned in +advance and scheduled for the entire network lifetime or organized in periods, +and the set of active sensor nodes is decided at the beginning of each period +\cite{ling2009energy}. Active node selection is determined based on the problem +requirements (e.g. area monitoring, connectivity, or power efficiency). For +instance, Jaggi {\em et al.}~\cite{jaggi2006} address the problem of maximizing +the lifetime by dividing sensors into the maximum number of disjoint subsets +such that each subset can ensure both coverage and connectivity. A greedy +algorithm is applied once to solve this problem and the computed sets are +activated in succession to achieve the desired network lifetime. Vu +\cite{chin2007}, \cite{yan2008design}, Padmatvathy {\em et al.}~\cite{pc10}, propose algorithms +working in a periodic fashion where a cover set is computed at the beginning of +each period. {\it Motivated by these works, PeCO protocol works in periods, + where each period contains a preliminary phase for information exchange and + decisions, followed by a sensing phase where one cover set is in charge of the + sensing task.} + +Various centralized and distributed approaches, or even a mixing of these two +concepts, have been proposed to extend the network lifetime \cite{zhou2009variable}. In distributed algorithms~\cite{Tian02,yangnovel,ChinhVu,qu2013distributed} each sensor decides of its +own activity scheduling after an information exchange with its neighbors. The +main interest of such an approach is to avoid long range communications and thus +to reduce the energy dedicated to the communications. Unfortunately, since each +node has only information on its immediate neighbors (usually the one-hop ones) +it may make a bad decision leading to a global suboptimal solution. Conversely, +centralized +algorithms~\cite{cardei2005improving,zorbas2010solving,pujari2011high} always +provide nearly or close to optimal solution since the algorithm has a global +view of the whole network. The disadvantage of a centralized method is obviously +its high cost in communications needed to transmit to a single node, the base +station which will globally schedule nodes' activities, data from all the other +sensor nodes in the area. The price in communications can be huge since +long range communications will be needed. In fact the larger the WNS is, the +higher the communication and thus the energy cost are. {\it In order to be + suitable for large-scale networks, in the PeCO protocol, the area of interest + is divided into several smaller subregions, and in each one, a node called the + leader is in charge of selecting the active sensors for the current + period. Thus our protocol is scalable and is a globally distributed method, + whereas it is centralized in each subregion.} + +Various coverage scheduling algorithms have been developed these past few years. +Many of them, dealing with the maximization of the number of cover sets, are +heuristics. These heuristics involve the construction of a cover set by +including in priority the sensor nodes which cover critical targets, that is to +say targets that are covered by the smallest number of sensors +\cite{berman04,zorbas2010solving}. Other approaches are based on mathematical +programming formulations~\cite{cardei2005energy,5714480,pujari2011high,Yang2014} +and dedicated techniques (solving with a branch-and-bound algorithm available in +optimization solver). The problem is formulated as an optimization problem +(maximization of the lifetime or number of cover sets) under target coverage and +energy constraints. Column generation techniques, well-known and widely +practiced techniques for solving linear programs with too many variables, have +also been +used~\cite{castano2013column,rossi2012exact,deschinkel2012column}. {\it In the PeCO + protocol, each leader, in charge of a subregion, solves an integer program + which has a twofold objective: minimize the overcoverage and the undercoverage + of the perimeter of each sensor.} + +%\noindent Recently, the coverage problem has been received a high attention, which concentrates on how the physical space could be well monitored after the deployment. Coverage is one of the Quality of Service (QoS) parameters in WSNs, which is highly concerned with power depletion~\cite{zhu2012survey}. Most of the works about the coverage protocols have been suggested in the literature focused on three types of the coverage in WSNs~\cite{mulligan2010coverage}: the first, area coverage means that each point in the area of interest within the sensing range of at least one sensor node; the second, target coverage in which a fixed set of targets need to be monitored; the third, barrier coverage refers to detect the intruders crossing a boundary of WSN. The work in this paper emphasized on the area coverage, so, some area coverage protocols have been reviewed in this section, and the shortcomings of reviewed approaches are being summarized. + +%The problem of k-coverage in WSNs was addressed~\cite{ammari2012centralized}. It mathematically formulated and the spacial sensor density for full k-coverage determined, where the relation between the communication range and the sensing range constructed by this work to retain the k-coverage and connectivity in WSN. After that, a four configuration protocols have proposed for treating the k-coverage in WSNs. + +%In~\cite{rebai2014branch}, the problem of full grid coverage is formulated using two integer linear programming models: the first, a model that takes into account only the overall coverage constraint; the second, both the connectivity and the full grid coverage constraints have taken into consideration. This work did not take into account the energy constraint. + +%Li et al.~\cite{li2011transforming} presented a framework to convert any complete coverage problem to a partial coverage one with any coverage ratio by means of executing a complete coverage algorithm to find a full coverage sets with virtual radii and transforming the coverage sets to a partial coverage sets by adjusting sensing radii. The properties of the original algorithms can be maintained by this framework and the transformation process has a low execution time. + +%The authors in~\cite{liu2014generalized} explained that in some applications of WSNs such as structural health monitoring (SHM) and volcano monitoring, the traditional coverage model which is a geographic area defined for individual sensors is not always valid. For this reason, they define a generalized coverage model, which is not need to have the coverage area of individual nodes, but only based on a function to determine whether a set of +%sensor nodes is capable of satisfy the requested monitoring task for a certain area. They have proposed two approaches to divide the deployed nodes into suitable cover sets, which can be used to prolong the network lifetime. + +%The work in~\cite{wang2010preserving} addressed the target area coverage problem by proposing a geometric-based activity scheduling scheme, named GAS, to fully cover the target area in WSNs. The authors deals with small area (target area coverage), which can be monitored by a single sensor instead of area coverage, which focuses on a large area that should be monitored by many sensors cooperatively. They explained that GAS is capable to monitor the target area by using a few sensors as possible and it can produce as many cover sets as possible. + +%Cho et al.~\cite{cho2007distributed} proposed a distributed node scheduling protocol, which can retain sensing coverage needed by applications +%and increase network lifetime via putting in sleep mode some redundant nodes. In this work, the effective sensing area (ESA) concept of a sensor node is used, which refers to the sensing area that is not overlapping with another sensor's sensing area. A sensor node and by compute it's ESA can be determine whether it will be active or sleep. The suggested work permits to sensor nodes to be in sleep mode opportunistically whilst fulfill the needed sensing coverage. + +%In~\cite{quang2008algorithm}, the authors defined a maximum sensing coverage region problem (MSCR) in WSNs and then proposed an algorithm to solve it. The +%maximum observed area fully covered by a minimum active sensors. In this work, the major property is to getting rid from the redundant sensors in high-density WSNs and putting them in sleep mode, and choosing a smaller number of active sensors so as to be sure that the full area is k-covered, and all events appeared in that area can be precisely and timely detected. This algorithm minimized the total energy consumption and increased the lifetime. + +%A novel method to divide the sensors in the WSN, called node coverage grouping (NCG) suggested~\cite{lin2010partitioning}. The sensors in the connectivity group are within sensing range of each other, and the data collected by them in the same group are supposed to be similar. They are proved that dividing n sensors via NCG into connectivity groups is a NP-hard problem. So, a heuristic algorithm of NCG with time complexity of $O(n^3)$ is proposed. +%For some applications, such as monitoring an ecosystem with extremely diversified environment, It might be premature assumption that sensors near to each other sense similar data. + +%In~\cite{zaidi2009minimum}, the problem of minimum cost coverage in which full coverage is performed by using the minimum number of sensors for an arbitrary geometric shape region is addressed. a geometric solution to the minimum cost coverage problem under a deterministic deployment is proposed. The probabilistic coverage solution which provides a relationship between the probability of coverage and the number of randomly deployed sensors in an arbitrarily-shaped region is suggested. The authors are clarified that with a random deployment about seven times more nodes are required to supply full coverage. + +%A graph theoretical framework for connectivity-based coverage with configurable coverage granularity was proposed~\cite{dong2012distributed}. A new coverage criterion and scheduling approach is proposed based on cycle partition. This method is capable of build a sparse coverage set in distributed way by means of only connectivity information. This work considers only the communication range of the sensor is smaller two times the sensing range of sensor. + +%Liu et al.~\cite{liu2010energy} formulated maximum disjoint sets problem for retaining coverage and connectivity in WSN. Two algorithms are proposed for solving this problem, heuristic algorithm and network flow algorithm. This work did not take into account the sensor node failure, which is an unpredictable event because the two solutions are full centralized algorithms. + +%The work that presented in~\cite{aslanyan2013optimal} solved the coverage and connectivity problem in sensor networks in +%an integrated way. The network lifetime is divided in a fixed number of rounds. A coverage bitmap of sensors of the domain has been generated in each round and based on this bitmap, it has been decided which sensors +%stay active or turn it to sleep. They checked the connection of the graph via laplacian of adjancy graph of active sensors in each round. the generation of coverage bitmap by using Minkowski technique, the network is able to providing the desired ratio of coverage. They have been defined the connected coverage problem as an optimization problem and a centralized genetic algorithm is used to find the solution. + +%Several algorithms to retain the coverage and maximize the network lifetime were proposed in~\cite{cardei2006energy,wang2011coverage}. + +%\uppercase{\textbf{shortcomings}}. In spite of many energy-efficient protocols for maintaining the coverage and improving the network lifetime in WSNs were proposed, non of them ensure the coverage for the sensing field with optimal minimum number of active sensor nodes, and for a long time as possible. For example, in a full centralized algorithms, an optimal solutions can be given by using optimization approaches, but in the same time, a high energy is consumed for the execution time of the algorithm and the communications among the sensors in the sensing field, so, the full centralized approaches are not good candidate to use it especially in large WSNs. Whilst, a full distributed algorithms can not give optimal solutions because this algorithms use only local information of the neighboring sensors, but in the same time, the energy consumption during the communications and executing the algorithm is highly lower. Whatever the case, this would result in a shorter lifetime coverage in WSNs. + +%\uppercase{\textbf{Our Protocol}}. In this paper, a Lifetime Coverage Optimization Protocol, called (PeCO) in WSNs is suggested. The sensing field is divided into smaller subregions by means of divide-and-conquer method, and a PeCO protocol is distributed in each sensor in the subregion. The network lifetime in each subregion is divided into periods, each period includes 4 stages: Information Exchange, Leader election, decision based activity scheduling optimization, and sensing. The leaders are elected in an independent, asynchronous, and distributed way in all the subregions of the WSN. After that, energy-efficient activity scheduling mechanism based new optimization model is performed by each leader in the subregions. This optimization model is based on the perimeter coverage model in order to producing the optimal cover set of active sensors, which are taken the responsibility of sensing during the current period. PeCO protocol merges between two energy efficient mechanisms, which are used the main advantages of the centralized and distributed approaches and avoids the most of their disadvantages. + +\section{ The P{\scshape e}CO Protocol Description} +\label{sec:The PeCO Protocol Description} + +\noindent In this section, we describe in details our Perimeter-based Coverage +Optimization protocol. First we present the assumptions we made and the models +we considered (in particular the perimeter coverage one), second we describe the +background idea of our protocol, and third we give the outline of the algorithm +executed by each node. + +% It is based on two efficient-energy mechanisms: the first, is partitioning the sensing field into smaller subregions, and one leader is elected for each subregion; the second, a sensor activity scheduling based new optimization model so as to produce the optimal cover set of active sensors for the sensing stage during the period. Obviously, these two mechanisms can be contribute in extend the network lifetime coverage efficiently. +%Before proceeding in the presentation of the main ideas of the protocol, we will briefly describe the perimeter coverage model and give some necessary assumptions and definitions. + +\subsection{Assumptions and Models} +\label{CI} + +\noindent A WSN consisting of $J$ stationary sensor nodes randomly and uniformly +distributed in a bounded sensor field is considered. The wireless sensors are +deployed in high density to ensure initially a high coverage ratio of the area +of interest. We assume that all the sensor nodes are homogeneous in terms of +communication, sensing, and processing capabilities and heterogeneous from +the energy provision point of view. The location information is available to a +sensor node either through hardware such as embedded GPS or location discovery +algorithms. We assume that each sensor node can directly transmit its +measurements to a mobile sink node. For example, a sink can be an unmanned +aerial vehicle (UAV) flying regularly over the sensor field to collect +measurements from sensor nodes. A mobile sink node collects the measurements and +transmits them to the base station. We consider a Boolean disk coverage model, +which is the most widely used sensor coverage model in the literature, and all +sensor nodes have a constant sensing range $R_s$. Thus, all the space points +within a disk centered at a sensor with a radius equal to the sensing range are +said to be covered by this sensor. We also assume that the communication range +$R_c$ satisfies $R_c \geq 2 \cdot R_s$. In fact, Zhang and Zhou~\cite{Zhang05} +proved that if the transmission range fulfills the previous hypothesis, the +complete coverage of a convex area implies connectivity among active nodes. + +The PeCO protocol uses the same perimeter-coverage model as Huang and +Tseng in~\cite{huang2005coverage}. It can be expressed as follows: a sensor is +said to be perimeter covered if all the points on its perimeter are covered by +at least one sensor other than itself. They proved that a network area is +$k$-covered if and only if each sensor in the network is $k$-perimeter-covered (perimeter covered by at least $k$ sensors). +%According to this model, we named the intersections among the sensor nodes in the sensing field as intersection points. Instead of working with the coverage area, we consider for each sensor a set of intersection points which are determined by using perimeter-coverage model. +Figure~\ref{pcm2sensors}(a) shows the coverage of sensor node~$0$. On this +figure, we can see that sensor~$0$ has nine neighbors and we have reported on +its perimeter (the perimeter of the disk covered by the sensor) for each +neighbor the two points resulting from the intersection of the two sensing +areas. These points are denoted for neighbor~$i$ by $iL$ and $iR$, respectively +for left and right from a neighboing point of view. The resulting couples of +intersection points subdivide the perimeter of sensor~$0$ into portions called +arcs. + +\begin{figure}[ht!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[width=75mm]{figure1a.tiff} & \raisebox{3.25cm}{(a)} \\ + \includegraphics[width=75mm]{figure1b.tiff} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{(a) Perimeter coverage of sensor node 0 and (b) finding the arc of + $u$'s perimeter covered by $v$.} + \label{pcm2sensors} +\end{figure} + +Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the +locations of the left and right points of an arc on the perimeter of a sensor +node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the +west side of sensor~$u$, with the following respective coordinates in the +sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can +compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert + u_x - v_x \vert^2 + \vert u_y-v_y \vert^2}$, while the angle~$\alpha$ is +obtained through the formula: + \[ +\alpha = \arccos \left(\frac{Dist(u,v)}{2R_s} +\right). +\] +The arc on the perimeter of~$u$ defined by the angular interval $[\pi + - \alpha,\pi + \alpha]$ is said to be perimeter-covered by sensor~$v$. + +Every couple of intersection points is placed on the angular interval $[0,2\pi]$ +in a counterclockwise manner, leading to a partitioning of the interval. +Figure~\ref{pcm2sensors}(a) illustrates the arcs for the nine neighbors of +sensor $0$ and Figure~\ref{expcm} gives the position of the corresponding arcs +in the interval $[0,2\pi]$. More precisely, we can see that the points are +ordered according to the measures of the angles defined by their respective +positions. The intersection points are then visited one after another, starting +from the first intersection point after point~zero, and the maximum level of +coverage is determined for each interval defined by two successive points. The +maximum level of coverage is equal to the number of overlapping arcs. For +example, +between~$5L$ and~$6L$ the maximum level of coverage is equal to $3$ +(the value is highlighted in yellow at the bottom of Figure~\ref{expcm}), which +means that at most 2~neighbors can cover the perimeter in addition to node $0$. +Table~\ref{my-label} summarizes for each coverage interval the maximum level of +coverage and the sensor nodes covering the perimeter. The example discussed +above is thus given by the sixth line of the table. + +%The points reported on the line segment $[0,2\pi]$ separates it in intervals as shown in figure~\ref{expcm}. For example, for each neighboring sensor of sensor 0, place the points $\alpha^ 1_L$, $\alpha^ 1_R$, $\alpha^ 2_L$, $\alpha^ 2_R$, $\alpha^ 3_L$, $\alpha^ 3_R$, $\alpha^ 4_L$, $\alpha^ 4_R$, $\alpha^ 5_L$, $\alpha^ 5_R$, $\alpha^ 6_L$, $\alpha^ 6_R$, $\alpha^ 7_L$, $\alpha^ 7_R$, $\alpha^ 8_L$, $\alpha^ 8_R$, $\alpha^ 9_L$, and $\alpha^ 9_R$; on the line segment $[0,2\pi]$, and then sort all these points in an ascending order into a list. Traverse the line segment $[0,2\pi]$ by visiting each point in the sorted list from left to right and determine the coverage level of each interval of the sensor 0 (see figure \ref{expcm}). For each interval, we sum up the number of parts of segments, and we deduce a level of coverage for each interval. For instance, the interval delimited by the points $5L$ and $6L$ contains three parts of segments. That means that this part of the perimeter of the sensor $0$ may be covered by three sensors, sensor $0$ itself and sensors $2$ and $5$. The level of coverage of this interval may reach $3$ if all previously mentioned sensors are active. Let say that sensors $0$, $2$ and $5$ are involved in the coverage of this interval. Table~\ref{my-label} summarizes the level of coverage for each interval and the sensors involved in for sensor node 0 in figure~\ref{pcm2sensors}(a). +% to determine the level of the perimeter coverage for each left and right point of a segment. + +\begin{figure*}[t!] +\centering +\includegraphics[width=127.5mm]{figure2.tiff} +\caption{Maximum coverage levels for perimeter of sensor node $0$.} +\label{expcm} +\end{figure*} + +%For example, consider the sensor node $0$ in figure~\ref{pcmfig}, which has 9 neighbors. Figure~\ref{expcm} shows the perimeter coverage level for all left and right points of a segment that covered by a neighboring sensor nodes. Based on the figure~\ref{expcm}, the set of sensors for each left and right point of the segments illustrated in figure~\ref{ex2pcm} for the sensor node 0. + + + + \begin{table} + \tbl{Coverage intervals and contributing sensors for sensor node 0 \label{my-label}} +{\begin{tabular}{|c|c|c|c|c|c|c|c|c|} +\hline +\begin{tabular}[c]{@{}c@{}}Left \\ point \\ angle~$\alpha$ \end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ left \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ right \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Maximum \\ coverage\\ level\end{tabular} & \multicolumn{5}{c|}{\begin{tabular}[c]{@{}c@{}}Set of sensors\\ involved \\ in coverage interval\end{tabular}} \\ \hline +0.0291 & 1L & 2L & 4 & 0 & 1 & 3 & 4 & \\ \hline +0.104 & 2L & 3R & 5 & 0 & 1 & 3 & 4 & 2 \\ \hline +0.3168 & 3R & 4R & 4 & 0 & 1 & 4 & 2 & \\ \hline +0.6752 & 4R & 1R & 3 & 0 & 1 & 2 & & \\ \hline +1.8127 & 1R & 5L & 2 & 0 & 2 & & & \\ \hline +1.9228 & 5L & 6L & 3 & 0 & 2 & 5 & & \\ \hline +2.3959 & 6L & 2R & 4 & 0 & 2 & 5 & 6 & \\ \hline +2.4258 & 2R & 7L & 3 & 0 & 5 & 6 & & \\ \hline +2.7868 & 7L & 8L & 4 & 0 & 5 & 6 & 7 & \\ \hline +2.8358 & 8L & 5R & 5 & 0 & 5 & 6 & 7 & 8 \\ \hline +2.9184 & 5R & 7R & 4 & 0 & 6 & 7 & 8 & \\ \hline +3.3301 & 7R & 9R & 3 & 0 & 6 & 8 & & \\ \hline +3.9464 & 9R & 6R & 4 & 0 & 6 & 8 & 9 & \\ \hline +4.767 & 6R & 3L & 3 & 0 & 8 & 9 & & \\ \hline +4.8425 & 3L & 8R & 4 & 0 & 3 & 8 & 9 & \\ \hline +4.9072 & 8R & 4L & 3 & 0 & 3 & 9 & & \\ \hline +5.3804 & 4L & 9R & 4 & 0 & 3 & 4 & 9 & \\ \hline +5.9157 & 9R & 1L & 3 & 0 & 3 & 4 & & \\ \hline +\end{tabular}} + + +\end{table} + + +%The optimization algorithm that used by PeCO protocol based on the perimeter coverage levels of the left and right points of the segments and worked to minimize the number of sensor nodes for each left or right point of the segments within each sensor node. The algorithm minimize the perimeter coverage level of the left and right points of the segments, while, it assures that every perimeter coverage level of the left and right points of the segments greater than or equal to 1. + +In the PeCO protocol, the scheduling of the sensor nodes' activities is formulated with an +integer program based on coverage intervals. The formulation of the coverage +optimization problem is detailed in~section~\ref{cp}. Note that when a sensor +node has a part of its sensing range outside the WSN sensing field, as in +Figure~\ref{ex4pcm}, the maximum coverage level for this arc is set to $\infty$ +and the corresponding interval will not be taken into account by the +optimization algorithm. + +\begin{figure}[h!] +\centering +\includegraphics[width=62.5mm]{figure3.tiff} +\caption{Sensing range outside the WSN's area of interest.} +\label{ex4pcm} +\end{figure} +%Figure~\ref{ex5pcm} gives an example to compute the perimeter coverage levels for the left and right points of the segments for a sensor node $0$, which has a part of its sensing range exceeding the border of the sensing field of WSN, and it has a six neighbors. In figure~\ref{ex5pcm}, the sensor node $0$ has two segments outside the border of the network sensing field, so the left and right points of the two segments called $-1L$, $-1R$, $-2L$, and $-2R$. +%\begin{figure}[ht!] +%\centering +%\includegraphics[width=75mm]{ex5pcm.jpg} +%\caption{Coverage intervals and contributing sensors for sensor node 0 having a part of its sensing range outside the border.} +%\label{ex5pcm} +%\end{figure} + +\subsection{The Main Idea} + +\noindent The WSN area of interest is, in a first step, divided into regular +homogeneous subregions using a divide-and-conquer algorithm. In a second step +our protocol will be executed in a distributed way in each subregion +simultaneously to schedule nodes' activities for one sensing period. + +As shown in Figure~\ref{fig2}, node activity scheduling is produced by our +protocol in a periodic manner. Each period is divided into 4 stages: Information +(INFO) Exchange, Leader Election, Decision (the result of an optimization +problem), and Sensing. For each period there is exactly one set cover +responsible for the sensing task. Protocols based on a periodic scheme, like +PeCO, are more robust against an unexpected node failure. On the one hand, if +a node failure is discovered before taking the decision, the corresponding sensor +node will not be considered by the optimization algorithm. On the other +hand, if the sensor failure happens after the decision, the sensing task of the +network will be temporarily affected: only during the period of sensing until a +new period starts, since a new set cover will take charge of the sensing task in +the next period. The energy consumption and some other constraints can easily be +taken into account since the sensors can update and then exchange their +information (including their residual energy) at the beginning of each period. +However, the pre-sensing phases (INFO Exchange, Leader Election, and Decision) +are energy consuming, even for nodes that will not join the set cover to monitor +the area. + +\begin{figure}[t!] +\centering +\includegraphics[width=80mm]{figure4.tiff} +\caption{PeCO protocol.} +\label{fig2} +\end{figure} + +We define two types of packets to be used by PeCO protocol: +%\begin{enumerate}[(a)] +\begin{itemize} +\item INFO packet: sent by each sensor node to all the nodes inside a same + subregion for information exchange. +\item ActiveSleep packet: sent by the leader to all the nodes in its subregion + to transmit to them their respective status (stay Active or go Sleep) during + sensing phase. +\end{itemize} +%\end{enumerate} + +Five status are possible for a sensor node in the network: +%\begin{enumerate}[(a)] +\begin{itemize} +\item LISTENING: waits for a decision (to be active or not); +\item COMPUTATION: executes the optimization algorithm as leader to + determine the activities scheduling; +\item ACTIVE: node is sensing; +\item SLEEP: node is turned off; +\item COMMUNICATION: transmits or receives packets. +\end{itemize} +%\end{enumerate} +%Below, we describe each phase in more details. + +\subsection{PeCO Protocol Algorithm} + +\noindent The pseudocode implementing the protocol on a node is given below. +More precisely, Algorithm~\ref{alg:PeCO} gives a brief description of the +protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN. + + +\iffalse +\begin{algorithm} + % \KwIn{all the parameters related to information exchange} +% \KwOut{$winer-node$ (: the id of the winner sensor node, which is the leader of current round)} + \BlankLine + %\emph{Initialize the sensor node and determine it's position and subregion} \; + + \If{ $RE_k \geq E_{th}$ }{ + \emph{$s_k.status$ = COMMUNICATION}\; + \emph{Send $INFO()$ packet to other nodes in subregion}\; + \emph{Wait $INFO()$ packet from other nodes in subregion}\; + \emph{Update K.CurrentSize}\; + \emph{LeaderID = Leader election}\; + \If{$ s_k.ID = LeaderID $}{ + \emph{$s_k.status$ = COMPUTATION}\; + + \If{$ s_k.ID $ is Not previously selected as a Leader }{ + \emph{ Execute the perimeter coverage model}\; + % \emph{ Determine the segment points using perimeter coverage model}\; + } + + \If{$ (s_k.ID $ is the same Previous Leader) And (K.CurrentSize = K.PreviousSize)}{ + + \emph{ Use the same previous cover set for current sensing stage}\; + } + \Else{ + \emph{Update $a^j_{ik}$; prepare data for IP~Algorithm}\; + \emph{$\left\{\left(X_{1},\dots,X_{l},\dots,X_{K}\right)\right\}$ = Execute Integer Program Algorithm($K$)}\; + \emph{K.PreviousSize = K.CurrentSize}\; + } + + \emph{$s_k.status$ = COMMUNICATION}\; + \emph{Send $ActiveSleep()$ to each node $l$ in subregion}\; + \emph{Update $RE_k $}\; + } + \Else{ + \emph{$s_k.status$ = LISTENING}\; + \emph{Wait $ActiveSleep()$ packet from the Leader}\; + \emph{Update $RE_k $}\; + } + } + \Else { Exclude $s_k$ from entering in the current sensing stage} + } +%\caption{PeCO($s_k$)} +\label{alg:PeCO} +\end{algorithm} +\fi + +In this algorithm, K.CurrentSize and K.PreviousSize respectively represent the +current number and the previous number of living nodes in the subnetwork of the +subregion. Initially, the sensor node checks its remaining energy $RE_k$, which +must be greater than a threshold $E_{th}$ in order to participate in the current +period. Each sensor node determines its position and its subregion using an +embedded GPS or a location discovery algorithm. After that, all the sensors +collect position coordinates, remaining energy, sensor node ID, and the number +of their one-hop live neighbors during the information exchange. The sensors +inside a same region cooperate to elect a leader. The selection criteria for the +leader, in order of priority, are: larger numbers of neighbors, larger remaining +energy, and then in case of equality, larger index. Once chosen, the leader +collects information to formulate and solve the integer program which allows to +construct the set of active sensors in the sensing stage. + +%After the cooperation among the sensor nodes in the same subregion, the leader will be elected in distributed way, where each sensor node and based on it's information decide who is the leader. The selection criteria for the leader in order of priority are: larger number of neighbors, larger remaining energy, and then in case of equality, larger index. Thereafter, if the sensor node is leader, it will execute the perimeter-coverage model for each sensor in the subregion in order to determine the segment points which would be used in the next stage by the optimization algorithm of the PeCO protocol. Every sensor node is selected as a leader, it is executed the perimeter coverage model only one time during it's life in the network. + +% The leader has the responsibility of applying the integer program algorithm (see section~\ref{cp}), which provides a set of sensors planned to be active in the sensing stage. As leader, it will send an Active-Sleep packet to each sensor in the same subregion to inform it if it has to be active or not. On the contrary, if the sensor is not the leader, it will wait for the Active-Sleep packet to know its state for the sensing stage. + +\section{Perimeter-based Coverage Problem Formulation} +\label{cp} + +\noindent In this section, the coverage model is mathematically formulated. We +start with a description of the notations that will be used throughout the +section.\\ +First, we have the following sets: +\begin{itemize} +\item $S$ represents the set of WSN sensor nodes; +\item $A \subseteq S $ is the subset of alive sensors; +\item $I_j$ designates the set of coverage intervals (CI) obtained for + sensor~$j$. +\end{itemize} +$I_j$ refers to the set of coverage intervals which have been defined according +to the method introduced in subsection~\ref{CI}. For a coverage interval $i$, +let $a^j_{ik}$ denotes the indicator function of whether sensor~$k$ is involved +in coverage interval~$i$ of sensor~$j$, that is: +\begin{equation} +a^j_{ik} = \left \{ +\begin{array}{lll} + 1 & \mbox{if sensor $k$ is involved in the } \\ + & \mbox{coverage interval $i$ of sensor $j$}, \\ + 0 & \mbox{otherwise.}\\ +\end{array} \right. +%\label{eq12} +%\notag +\end{equation} +Note that $a^k_{ik}=1$ by definition of the interval. +%, where the objective is to find the maximum number of non-disjoint sets of sensor nodes such that each set cover can assure the coverage for the whole region so as to extend the network lifetime in WSN. Our model uses the PCL~\cite{huang2005coverage} in order to optimize the lifetime coverage in each subregion. +%We defined some parameters, which are related to our optimization model. In our model, we consider binary variables $X_{k}$, which determine the activation of sensor $k$ in the sensing round $k$. . +Second, we define several binary and integer variables. Hence, each binary +variable $X_{k}$ determines the activation of sensor $k$ in the sensing phase +($X_k=1$ if the sensor $k$ is active or 0 otherwise). $M^j_i$ is an integer +variable which measures the undercoverage for the coverage interval $i$ +corresponding to sensor~$j$. In the same way, the overcoverage for the same +coverage interval is given by the variable $V^j_i$. + +If we decide to sustain a level of coverage equal to $l$ all along the perimeter +of sensor $j$, we have to ensure that at least $l$ sensors involved in each +coverage interval $i \in I_j$ of sensor $j$ are active. According to the +previous notations, the number of active sensors in the coverage interval $i$ of +sensor $j$ is given by $\sum_{k \in A} a^j_{ik} X_k$. To extend the network +lifetime, the objective is to activate a minimal number of sensors in each +period to ensure the desired coverage level. As the number of alive sensors +decreases, it becomes impossible to reach the desired level of coverage for all +coverage intervals. Therefore we use variables $M^j_i$ and $V^j_i$ as a measure +of the deviation between the desired number of active sensors in a coverage +interval and the effective number. And we try to minimize these deviations, +first to force the activation of a minimal number of sensors to ensure the +desired coverage level, and if the desired level cannot be completely satisfied, +to reach a coverage level as close as possible to the desired one. + +%A system of linear constraints is imposed to attempt to keep the coverage level in each coverage interval to within specified PCL. Since it is physically impossible to satisfy all constraints simultaneously, each constraint uses a variable to either record when the coverage level is achieved, or to record the deviation from the desired coverage level. These additional variables are embedded into an objective function to be minimized. + +%\noindent In this paper, let us define some parameters, which are used in our protocol. +%the set of segment points is denoted by $I$, the set of all sensors in the network by $J$, and the set of alive sensors within $J$ by $K$. + + +%\noindent \begin{equation} +%X_{k} = \left \{ +%\begin{array}{l l} + % 1& \mbox{if sensor $k$ is active,} \\ +% 0 & \mbox{otherwise.}\\ +%\end{array} \right. +%\label{eq11} +%\notag +%\end{equation} + +%\noindent $M^j_i (undercoverage): $ integer value $\in \mathbb{N}$ for segment point $i$ of sensor $j$. + +%\noindent $V^j_i (overcoverage): $ integer value $\in \mathbb{N}$ for segment point $i$ of sensor $j$. + +Our coverage optimization problem can then be mathematically expressed as follows: +%Objective: +\begin{equation} %\label{eq:ip2r} +\left \{ +\begin{array}{ll} +\min \sum_{j \in S} \sum_{i \in I_j} (\alpha^j_i ~ M^j_i + \beta^j_i ~ V^j_i )&\\ +\textrm{subject to :}&\\ +\sum_{k \in A} ( a^j_{ik} ~ X_{k}) + M^j_i \geq l \quad \forall i \in I_j, \forall j \in S\\ +%\label{c1} +\sum_{k \in A} ( a^j_{ik} ~ X_{k}) - V^j_i \leq l \quad \forall i \in I_j, \forall j \in S\\ +% \label{c2} +% \Theta_{p}\in \mathbb{N}, &\forall p \in P\\ +% U_{p} \in \{0,1\}, &\forall p \in P\\ +X_{k} \in \{0,1\}, \forall k \in A +\end{array} +\right. +%\notag +\end{equation} +$\alpha^j_i$ and $\beta^j_i$ are nonnegative weights selected according to the +relative importance of satisfying the associated level of coverage. For example, +weights associated with coverage intervals of a specified part of a region may +be given by a relatively larger magnitude than weights associated with another +region. This kind of integer program is inspired from the model developed for +brachytherapy treatment planning for optimizing dose distribution +\cite{0031-9155-44-1-012}. The integer program must be solved by the leader in +each subregion at the beginning of each sensing phase, whenever the environment +has changed (new leader, death of some sensors). Note that the number of +constraints in the model is constant (constraints of coverage expressed for all +sensors), whereas the number of variables $X_k$ decreases over periods, since we +consider only alive sensors (sensors with enough energy to be alive during one +sensing phase) in the model. + +\section{Performance Evaluation and Analysis} +\label{sec:Simulation Results and Analysis} +%\noindent \subsection{Simulation Framework} + +\subsection{Simulation Settings} +%\label{sub1} + +The WSN area of interest is supposed to be divided into 16~regular subregions +and we use the same energy consumption than in our previous work~\cite{Idrees2}. +Table~\ref{table3} gives the chosen parameters settings. + +\begin{table}[ht] +\tbl{Relevant parameters for network initialization \label{table3}}{ +% title of Table +\centering +% used for centering table +\begin{tabular}{c|c} +% centered columns (4 columns) +\hline +Parameter & Value \\ [0.5ex] + +\hline +% inserts single horizontal line +Sensing field & $(50 \times 25)~m^2 $ \\ + +WSN size & 100, 150, 200, 250, and 300~nodes \\ +%\hline +Initial energy & in range 500-700~Joules \\ +%\hline +Sensing period & duration of 60 minutes \\ +$E_{th}$ & 36~Joules\\ +$R_s$ & 5~m \\ +%\hline +$\alpha^j_i$ & 0.6 \\ +% [1ex] adds vertical space +%\hline +$\beta^j_i$ & 0.4 +%inserts single line +\end{tabular}} + +% is used to refer this table in the text +\end{table} +To obtain experimental results which are relevant, simulations with five +different node densities going from 100 to 300~nodes were performed considering +each time 25~randomly generated networks. The nodes are deployed on a field of +interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a +high coverage ratio. Each node has an initial energy level, in Joules, which is +randomly drawn in the interval $[500-700]$. If its energy provision reaches a +value below the threshold $E_{th}=36$~Joules, the minimum energy needed for a +node to stay active during one period, it will no more participate in the +coverage task. This value corresponds to the energy needed by the sensing phase, +obtained by multiplying the energy consumed in active state (9.72 mW) with the +time in seconds for one period (3600 seconds), and adding the energy for the +pre-sensing phases. According to the interval of initial energy, a sensor may +be active during at most 20 periods. + +The values of $\alpha^j_i$ and $\beta^j_i$ have been chosen to ensure a good +network coverage and a longer WSN lifetime. We have given a higher priority to +the undercoverage (by setting the $\alpha^j_i$ with a larger value than +$\beta^j_i$) so as to prevent the non-coverage for the interval~$i$ of the +sensor~$j$. On the other hand, we have assigned to +$\beta^j_i$ a value which is slightly lower so as to minimize the number of active sensor nodes which contribute +in covering the interval. + +We introduce the following performance metrics to evaluate the efficiency of our +approach. + +%\begin{enumerate}[i)] +\begin{itemize} +\item {\bf Network Lifetime}: the lifetime is defined as the time elapsed until + the coverage ratio falls below a fixed threshold. $Lifetime_{95}$ and + $Lifetime_{50}$ denote, respectively, the amount of time during which is + guaranteed a level of coverage greater than $95\%$ and $50\%$. The WSN can + fulfill the expected monitoring task until all its nodes have depleted their + energy or if the network is no more connected. This last condition is crucial + because without network connectivity a sensor may not be able to send to a + base station an event it has sensed. +\item {\bf Coverage Ratio (CR)} : it measures how well the WSN is able to + observe the area of interest. In our case, we discretized the sensor field as + a regular grid, which yields the following equation: + +%\begin{equation*} +\[ + \scriptsize + \mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100 +\] +% \end{equation*} + + where $n$ is the number of covered grid points by active sensors of every + subregions during the current sensing phase and $N$ is total number of grid + points in the sensing field. In our simulations we have set a layout of + $N~=~51~\times~26~=~1326$~grid points. +\item {\bf Active Sensors Ratio (ASR)}: a major objective of our protocol is to + activate as few nodes as possible, in order to minimize the communication + overhead and maximize the WSN lifetime. The active sensors ratio is defined as + follows: + %\begin{equation*} +\[ + \scriptsize + \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R \mbox{$|A_r^p|$}}{\mbox{$|S|$}} \times 100 +\] + %\end{equation*} + where $|A_r^p|$ is the number of active sensors in the subregion $r$ in the + current sensing period~$p$, $|S|$ is the number of sensors in the network, and + $R$ is the number of subregions. +\item {\bf Energy Consumption (EC)}: energy consumption can be seen as the total + energy consumed by the sensors during $Lifetime_{95}$ or $Lifetime_{50}$, + divided by the number of periods. The value of EC is computed according to + this formula: + %\begin{equation*} +\[ + \scriptsize + \mbox{EC} = \frac{\sum\limits_{p=1}^{P} \left( E^{\mbox{com}}_p+E^{\mbox{list}}_p+E^{\mbox{comp}}_p + + E^{a}_p+E^{s}_p \right)}{P}, +\] + % \end{equation*} + where $P$ corresponds to the number of periods. The total energy consumed by + the sensors comes through taking into consideration four main energy + factors. The first one, denoted $E^{\scriptsize \mbox{com}}_p$, represents the + energy consumption spent by all the nodes for wireless communications during + period $p$. $E^{\scriptsize \mbox{list}}_p$, the next factor, corresponds to + the energy consumed by the sensors in LISTENING status before receiving the + decision to go active or sleep in period $p$. $E^{\scriptsize \mbox{comp}}_p$ + refers to the energy needed by all the leader nodes to solve the integer + program during a period. Finally, $E^a_{p}$ and $E^s_{p}$ indicate the energy + consumed by the WSN during the sensing phase (active and sleeping nodes). +\end{itemize} +%\end{enumerate} + +\subsection{Simulation Results} + +In order to assess and analyze the performance of our protocol we have +implemented PeCO protocol in OMNeT++~\cite{varga} simulator. Besides PeCO, two +other protocols, described in the next paragraph, will be evaluated for +comparison purposes. The simulations were run on a DELL laptop with an Intel +Core~i3~2370~M (2.4~GHz) processor (2 cores) whose MIPS (Million Instructions +Per Second) rate is equal to 35330. To be consistent with the use of a sensor +node based on Atmels AVR ATmega103L microcontroller (6~MHz) having a MIPS rate +equal to 6, the original execution time on the laptop is multiplied by 2944.2 +$\left(\frac{35330}{2} \times \frac{1}{6} \right)$. The modeling language for +Mathematical Programming (AMPL)~\cite{AMPL} is employed to generate the integer +program instance in a standard format, which is then read and solved by the +optimization solver GLPK (GNU linear Programming Kit available in the public +domain) \cite{glpk} through a Branch-and-Bound method. + +As said previously, the PeCO is compared to three other approaches. The first +one, called DESK, is a fully distributed coverage algorithm proposed by +\cite{ChinhVu}. The second one, called GAF~\cite{xu2001geography}, consists in +dividing the monitoring area into fixed squares. Then, during the decision +phase, in each square, one sensor is chosen to remain active during the sensing +phase. The last one, the DiLCO protocol~\cite{Idrees2}, is an improved version +of a research work we presented in~\cite{idrees2014coverage}. Let us notice that +PeCO and DiLCO protocols are based on the same framework. In particular, the +choice for the simulations of a partitioning in 16~subregions was made because +it corresponds to the configuration producing the best results for DiLCO. The +protocols are distinguished from one another by the formulation of the integer +program providing the set of sensors which have to be activated in each sensing +phase. DiLCO protocol tries to satisfy the coverage of a set of primary points, +whereas the PeCO protocol objective is to reach a desired level of coverage for each +sensor perimeter. In our experimentations, we chose a level of coverage equal to +one ($l=1$). + +\subsubsection{\bf Coverage Ratio} + +Figure~\ref{fig333} shows the average coverage ratio for 200 deployed nodes +obtained with the four protocols. DESK, GAF, and DiLCO provide a slightly better +coverage ratio with respectively 99.99\%, 99.91\%, and 99.02\%, compared to the 98.76\% +produced by PeCO for the first periods. This is due to the fact that at the +beginning the DiLCO protocol puts to sleep status more redundant sensors (which +slightly decreases the coverage ratio), while the three other protocols activate +more sensor nodes. Later, when the number of periods is beyond~70, it clearly +appears that PeCO provides a better coverage ratio and keeps a coverage ratio +greater than 50\% for longer periods (15 more compared to DiLCO, 40 more +compared to DESK). The energy saved by PeCO in the early periods allows later a +substantial increase of the coverage performance. + +\parskip 0pt +\begin{figure}[h!] +\centering + \includegraphics[scale=0.5] {figure5.eps} +\caption{Coverage ratio for 200 deployed nodes.} +\label{fig333} +\end{figure} + +%When the number of periods increases, coverage ratio produced by DESK and GAF protocols decreases. This is due to dead nodes. However, DiLCO protocol maintains almost a good coverage from the round 31 to the round 63 and it is close to PeCO protocol. The coverage ratio of PeCO protocol is better than other approaches from the period 64. + +%because the optimization algorithm used by PeCO has been optimized the lifetime coverage based on the perimeter coverage model, so it provided acceptable coverage for a larger number of periods and prolonging the network lifetime based on the perimeter of the sensor nodes in each subregion of WSN. Although some nodes are dead, sensor activity scheduling based optimization of PeCO selected another nodes to ensure the coverage of the area of interest. i.e. DiLCO-16 showed a good coverage in the beginning then PeCO, when the number of periods increases, the coverage ratio decreases due to died sensor nodes. Meanwhile, thanks to sensor activity scheduling based new optimization model, which is used by PeCO protocol to ensure a longer lifetime coverage in comparison with other approaches. + + +\subsubsection{\bf Active Sensors Ratio} + +Having the less active sensor nodes in each period is essential to minimize the +energy consumption and thus to maximize the network lifetime. Figure~\ref{fig444} +shows the average active nodes ratio for 200 deployed nodes. We observe that +DESK and GAF have 30.36 \% and 34.96 \% active nodes for the first fourteen +rounds and DiLCO and PeCO protocols compete perfectly with only 17.92~\% and +20.16~\% active nodes during the same time interval. As the number of periods +increases, PeCO protocol has a lower number of active nodes in comparison with +the three other approaches, while keeping a greater coverage ratio as shown in +Figure \ref{fig333}. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.5]{R/ASR.eps} +\caption{Active sensors ratio for 200 deployed nodes.} +\label{fig444} +\end{figure} + +\subsubsection{\bf Energy Consumption} + +We studied the effect of the energy consumed by the WSN during the communication, +computation, listening, active, and sleep status for different network densities +and compared it for the four approaches. Figures~\ref{fig3EC}(a) and (b) +illustrate the energy consumption for different network sizes and for +$Lifetime95$ and $Lifetime50$. The results show that our PeCO protocol is the +most competitive from the energy consumption point of view. As shown in both +figures, PeCO consumes much less energy than the three other methods. One might +think that the resolution of the integer program is too costly in energy, but +the results show that it is very beneficial to lose a bit of time in the +selection of sensors to activate. Indeed the optimization program allows to +reduce significantly the number of active sensors and so the energy consumption +while keeping a good coverage level. + +\begin{figure}[h!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[scale=0.475]{R/EC95.eps} & \raisebox{2.75cm}{(a)} \\ + \includegraphics[scale=0.475]{R/EC50.eps} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{Energy consumption per period for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.} + \label{fig3EC} +\end{figure} + +%The optimization algorithm, which used by PeCO protocol, was improved the lifetime coverage efficiently based on the perimeter coverage model. + + %The other approaches have a high energy consumption due to activating a larger number of sensors. In fact, a distributed method on the subregions greatly reduces the number of communications and the time of listening so thanks to the partitioning of the initial network into several independent subnetworks. + + +%\subsubsection{Execution Time} + +\subsubsection{\bf Network Lifetime} + +We observe the superiority of PeCO and DiLCO protocols in comparison with the +two other approaches in prolonging the network lifetime. In +Figures~\ref{fig3LT}(a) and (b), $Lifetime95$ and $Lifetime50$ are shown for +different network sizes. As highlighted by these figures, the lifetime +increases with the size of the network, and it is clearly largest for DiLCO +and PeCO protocols. For instance, for a network of 300~sensors and coverage +ratio greater than 50\%, we can see on Figure~\ref{fig3LT}(b) that the lifetime +is about twice longer with PeCO compared to DESK protocol. The performance +difference is more obvious in Figure~\ref{fig3LT}(b) than in +Figure~\ref{fig3LT}(a) because the gain induced by our protocols increases with + time, and the lifetime with a coverage of 50\% is far longer than with +95\%. + +\begin{figure}[h!] + \centering + \begin{tabular}{@{}cr@{}} + \includegraphics[scale=0.475]{R/LT95.eps} & \raisebox{2.75cm}{(a)} \\ + \includegraphics[scale=0.475]{R/LT50.eps} & \raisebox{2.75cm}{(b)} + \end{tabular} + \caption{Network Lifetime for (a)~$Lifetime_{95}$ \\ + and (b)~$Lifetime_{50}$.} + \label{fig3LT} +\end{figure} + +%By choosing the best suited nodes, for each period, by optimizing the coverage and lifetime of the network to cover the area of interest and by letting the other ones sleep in order to be used later in next rounds, PeCO protocol efficiently prolonged the network lifetime especially for a coverage ratio greater than $50 \%$, whilst it stayed very near to DiLCO-16 protocol for $95 \%$. + +Figure~\ref{figLTALL} compares the lifetime coverage of our protocols for +different coverage ratios. We denote by Protocol/50, Protocol/80, Protocol/85, +Protocol/90, and Protocol/95 the amount of time during which the network can +satisfy an area coverage greater than $50\%$, $80\%$, $85\%$, $90\%$, and $95\%$ +respectively, where the term Protocol refers to DiLCO or PeCO. Indeed there are applications +that do not require a 100\% coverage of the area to be monitored. PeCO might be +an interesting method since it achieves a good balance between a high level +coverage ratio and network lifetime. PeCO always outperforms DiLCO for the three +lower coverage ratios, moreover the improvements grow with the network +size. DiLCO is better for coverage ratios near 100\%, but in that case PeCO is +not ineffective for the smallest network sizes. + +\begin{figure}[h!] +\centering \includegraphics[scale=0.5]{R/LTa.eps} +\caption{Network lifetime for different coverage ratios.} +\label{figLTALL} +\end{figure} + +%Comparison shows that PeCO protocol, which are used distributed optimization over the subregions, is the more relevance one for most coverage ratios and WSN sizes because it is robust to network disconnection during the network lifetime as well as it consume less energy in comparison with other approaches. PeCO protocol gave acceptable coverage ratio for a larger number of periods using new optimization algorithm that based on a perimeter coverage model. It also means that distributing the algorithm in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is the most relevant way to maximize the lifetime of a network. + + +\section{Conclusion and Future Works} +\label{sec:Conclusion and Future Works} + +In this paper we have studied the problem of Perimeter-based Coverage Optimization in +WSNs. We have designed a new protocol, called Perimeter-based Coverage Optimization, which +schedules nodes' activities (wake up and sleep stages) with the objective of +maintaining a good coverage ratio while maximizing the network lifetime. This +protocol is applied in a distributed way in regular subregions obtained after +partitioning the area of interest in a preliminary step. It works in periods and +is based on the resolution of an integer program to select the subset of sensors +operating in active status for each period. Our work is original in so far as it +proposes for the first time an integer program scheduling the activation of +sensors based on their perimeter coverage level, instead of using a set of +targets/points to be covered. + +%To cope with this problem, the area of interest is divided into a smaller subregions using divide-and-conquer method, and then a PeCO protocol for optimizing the lifetime coverage in each subregion. PeCO protocol combines two efficient techniques: network +%leader election, which executes the perimeter coverage model (only one time), the optimization algorithm, and sending the schedule produced by the optimization algorithm to other nodes in the subregion ; the second, sensor activity scheduling based optimization in which a new lifetime coverage optimization model is proposed. The main challenges include how to select the most efficient leader in each subregion and the best schedule of sensor nodes that will optimize the network lifetime coverage +%in the subregion. +%The network lifetime coverage in each subregion is divided into +%periods, each period consists of four stages: (i) Information Exchange, +%(ii) Leader Election, (iii) a Decision based new optimization model in order to +%select the nodes remaining active for the last stage, and (iv) Sensing. +We have carried out several simulations to evaluate the proposed protocol. The +simulation results show that PeCO is more energy-efficient than other +approaches, with respect to lifetime, coverage ratio, active sensors ratio, and +energy consumption. +%Indeed, when dealing with large and dense WSNs, a distributed optimization approach on the subregions of WSN like the one we are proposed allows to reduce the difficulty of a single global optimization problem by partitioning it in many smaller problems, one per subregion, that can be solved more easily. We have identified different research directions that arise out of the work presented here. +We plan to extend our framework so that the schedules are planned for multiple +sensing periods. +%in order to compute all active sensor schedules in only one step for many periods; +We also want to improve our integer program to take into account heterogeneous +sensors from both energy and node characteristics point of views. +%the third, we are investigating new optimization model based on the sensing range so as to maximize the lifetime coverage in WSN; +Finally, it would be interesting to implement our protocol using a +sensor-testbed to evaluate it in real world applications. + +\bibliographystyle{gENO} +\bibliography{biblio} + + +\end{document} diff --git a/PeCO-EO/biblio.bib b/PeCO-EO/biblio.bib new file mode 100644 index 0000000..e25c404 --- /dev/null +++ b/PeCO-EO/biblio.bib @@ -0,0 +1,1107 @@ +\iffalse + +@INPROCEEDINGS{Moore99, + AUTHOR = "R. Moore and J. Lopes", + TITLE = "Paper templates", + BOOKTITLE = "TEMPLATE'06, 1st International Conference on Template Production", + YEAR = "1999", + publisher = "SCITEPRESS", + file = F +} + +@BOOK{Smith98, + AUTHOR = "J. Smith", + TITLE = "The Book", + PUBLISHER = "The publishing company", + YEAR = "1998", + address = "London", + edition = "2nd", + file = F +} + + +@inproceedings{vashistha2007energy, + title={Energy efficient area monitoring using information coverage in wireless sensor networks}, + author={Vashistha, Sumit and Azad, Amar Prakash and Chockalingam, Ananthanarayanan}, + booktitle={World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007. IEEE International Symposium on a}, + pages={1--10}, + year={2007}, + organization={IEEE} +} + + +@ARTICLE{Torkestani, + author = "J. A. Torkestani", + title = "An adaptive energy-efficient area coverage algorithm for wireless sensor networks ", + journal = {Ad Hoc Networks}, + volume = {11}, + number = {6}, + pages = {1655-1666}, + year = {2013}, + } + +@ARTICLE{Zhang, + author = "L. Zhang and Q. Zhu and J. Wang", + title = "Adaptive Clustering for Maximizing Network Lifetime and Maintaining Coverage ", + journal = {JOURNAL OF NETWORKS}, + volume = {8}, + number = {3}, + pages = {616-622}, + year = {2013}, + } + +@ARTICLE{pc10, + author = "T.V. Padmavathy and M. Chitra", + title = "Extending the Network Lifetime of Wireless Sensor Networks Using Residual Energy Extraction-Hybrid Scheduling Algorithm", + JOURNAL = {Int. J. of Communications, Network and System Sciences}, + VOLUME = {3}, + NUMBER = {1}, +PAGES = {98-106}, +YEAR = {2010}, + } + + + +@ARTICLE{Zhixin, + author = "Z. Liu and Q. Zheng and L. Xue and X. Guan", + title = "A distributed energy-efficient clustering algorithm with improved coverage in +wireless sensor networks", + JOURNAL = {Future Generation Computer Systems}, + VOLUME = {28}, + NUMBER = {5}, + PAGES = {780-790}, + YEAR = {2012}, + } + +@ARTICLE{Bang, + author = "B. Wang and H. B. Lim and D. Ma ", + title = "A coverage-aware clustering protocol for wireless sensor networks", + JOURNAL = {Computer Networks}, + VOLUME = {56}, + NUMBER = {5}, + PAGES = {1599-1611}, + YEAR = {2012}, + } + + + +@book{Akyildiz02, + author = {I. F. Akyildiz and M. C. Vuran}, + title = {Wireless Sensor Networks}, + publisher = {John Wiley and Sons Ltd.}, + year = {2010}, +} + +@book{Sudip03, + author = {S. Misra and I. Woungang and S. C. Misra}, + title = {Guide to Wireless Sensor Networks}, + publisher = {Springer-Verlag London Limited}, + year = {2009}, +} + +@book{Nayak04, + author = {A. Nayak and I. Stojmenovic}, + title = {Wireless Sensor and Actuator Networks: Algorithms and Protocols for Scalable Coordination and Data Communication}, + publisher = {John Wiley and Sons, Inc}, + year = {2010}, +} + + + +@ARTICLE{Huang:2003:CPW:941350.941367, + author = "C.-F. Huang and Y.-C. Tseng", + title = "The Coverage Problem in a Wireless Sensor Network", + JOURNAL = {Mobile Networks and Applications}, + VOLUME = {10}, + NUMBER = {4}, + PAGES = {519-528}, + YEAR = {2005}, + } + + +@ARTICLE{Zhang05, + author = {H. Zhang and J. C. Hou}, + title = {Maintaining Sensing Coverage and Connectivity in Large Sensor Networks}, + journal = {Ad Hoc {\&} Sensor Wireless Networks}, + volume = {1}, + number = {1-2}, + year = {2005}, + +} + +@ARTICLE{HeinzelmanCB02, + author = {W. B. Heinzelman and A. P. Chandrakasan and H. Balakrishnan}, + title = {An application-specific protocol architecture for wireless microsensor networks}, + journal = {IEEE Transactions on Wireless Communications}, + volume = {1}, + number = {4}, + pages = {660-670}, + year = {2002}, +} + + +@inproceedings{pedraza2006, + author = {F. Pedraza and A. L. Medaglia and A. Garcia}, + title = {Efficient coverage algorithms for wireless sensor networks}, + booktitle = {Proceedings of the 2006 Systems and Information Engineering Design Symposium}, + pages = {78-83}, + YEAR = {2006}, +} + +@PhDThesis{chin2007, +author = {C. T. Vu}, +title = {Distributed energy-efficient solutions for area coverage problems in wireless sensor networks}, +school = {Georgia State University}, +year = {2009}, +} + +@ARTICLE{varga, +author = {A. Varga}, +title = {OMNeT++ Discrete Event Simulation System}, +journal = {Available: http://www.omnetpp.org}, +year = {2003}, +} + + +@ARTICLE{die09, + author = {Isabel Dietrich and + Falko Dressler}, + title = {On the lifetime of wireless sensor networks}, + journal = {TOSN}, + volume = {5}, + number = {1}, + year = {2009}, + ee = {http://doi.acm.org/10.1145/1464420.1464425}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + + + +@ARTICLE{mulligan2010coverage, + title={Coverage in Wireless Sensor Networks: A Survey.}, + author={Mulligan, Raymond and Ammari, Habib M}, + journal={Network Protocols \& Algorithms}, + volume={2}, + number={2}, + year={2010} +} + + +@phdthesis{vu2009distributed, + title={Distributed energy-efficient solutions for area coverage problems in wireless sensor networks}, + author={Vu, Chinh Trung}, + year={2009}, + school={GEORGIA STATE UNIVERSITY} +} + + +@ARTICLE{raghunathan2002energy, + title={Energy-aware wireless microsensor networks}, + author={Raghunathan, Vijay and Schurgers, Curt and Park, Sung and Srivastava, Mani B}, + journal={Signal Processing Magazine, IEEE}, + volume={19}, + number={2}, + pages={40--50}, + year={2002}, + publisher={IEEE} +} + +@ARTICLE{ChinhVu, +author = {Chinh Vu and Shan Gao and Wiwek Deshmukh and Yingshu Li}, +title = {Distributed Energy-Efficient Scheduling Approach for K-Coverage in Wireless Sensor Networks}, +journal ={MILCOM}, +volume = {0}, +isbn = {1-4244-0617-X}, +year = {2006}, +pages = {1-7}, +doi = {http://doi.ieeecomputersociety.org/10.1109/MILCOM.2006.302146}, +publisher = {IEEE Computer Society}, +address = {Los Alamitos, CA, USA}, +} + + +@ARTICLE{ghosh2008coverage, + title={Coverage and connectivity issues in wireless sensor networks: A survey}, + author={Ghosh, Amitabha and Das, Sajal K}, + journal={Pervasive and Mobile Computing}, + volume={4}, + number={3}, + pages={303--334}, + year={2008}, + publisher={Elsevier} +} + + + +@ARTICLE{yang2014novel, +author={Changlin Yang and Kwan-Wu Chin}, +journal={Communications Letters, IEEE}, +title={Novel Algorithms for Complete Targets Coverage in Energy Harvesting Wireless Sensor Networks}, +year={2014}, +month={January}, +volume={18}, +number={1}, +pages={118-121}, +keywords={energy harvesting;linear programming;secondary cells;telecommunication power supplies;wireless sensor networks;MUA;WSN;activation schedule;complete targets coverage;energy conservation;energy harvesting wireless sensor networks;linear programming based solution;maximum utility algorithm;network lifetime maximization problem;recharging opportunities;sensor nodes;sleep state;time interval;wake-up schedule;Batteries;Energy harvesting;Erbium;Monitoring;Schedules;Sensors;Wireless sensor networks;Wireless sensor network;energy harvesting;targets coverage}, +doi={10.1109/LCOMM.2013.111513.132436}, +ISSN={1089-7798},} + +@ARTICLE{HeShibo, +author={He, Shibo and Gong, Xiaowen and Zhang, Junshan and Chen, Jiming and Sun, Youxian}, +journal={Wireless Communications, IEEE Transactions on}, +title={Curve-Based Deployment for Barrier Coverage in Wireless Sensor Networks}, +year={2014}, +month={February}, +volume={13}, +number={2}, +pages={724-735}, +keywords={Algorithm design and analysis;Approximation algorithms;Approximation methods;Educational institutions;Sensors;Wireless communication;Wireless sensor networks;Barrier coverage;curved-based deployment;deployment algorithms;optimal deployment curve}, +doi={10.1109/TWC.2013.121813.130198}, +ISSN={1536-1276}, +} + + + +@inproceedings{Zorbas2007, + author = {D. Zorbas and D. Glynos and P. Kotzanikolaou and C. Douligeris}, + title = {B\{GOP\}: an adaptive coverage algorithm for wireless sensor networks}, + booktitle = {Proceedings of the 13th European Wireless Conference}, + series = {EW'07}, + year = {2007}, + location = {Paris, France}, + +} + +@ARTICLE{zorbas2010solving, + title={Solving coverage problems in wireless sensor networks using cover sets}, + author={Zorbas, Dimitrios and Glynos, Dimitris and Kotzanikolaou, Panayiotis and Douligeris, Christos}, + journal={Ad Hoc Networks}, + volume={8}, + number={4}, + pages={400-415}, + year={2010}, + publisher={Elsevier}, +} + +@INPROCEEDINGS{Slijepcevic01powerefficient, + author = {S. Slijepcevic and M. Potkonjak}, + title = {Power Efficient Organization of Wireless Sensor Networks}, + booktitle = {IEEE International conference on Communications}, + year = {2001}, + pages = {472-476} +} + +@ARTICLE{cardei2006energy, + title={Energy-efficient coverage problems in wireless ad-hoc sensor networks}, + author={Cardei, Mihaela and Wu, Jie}, + journal={Computer communications}, + volume={29}, + number={4}, + pages={413-420}, + year={2006}, + publisher={Elsevier} +} + +@inproceedings{cardei2005energy, + title={Energy-efficient target coverage in wireless sensor networks}, + author={Cardei, Mihaela and Thai, My T and Li, Yingshu and Wu, Weili}, + booktitle={INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE}, + volume={3}, + pages={1976-1984}, + year={2005}, + organization={IEEE} +} + +@ARTICLE{cardei2005improving, + title={Improving wireless sensor network lifetime through power aware organization}, + author={Cardei, Mihaela and Du, Ding-Zhu}, + journal={Wireless Networks}, + volume={11}, + number={3}, + pages={333-340}, + year={2005}, + publisher={Springer-Verlag New York, Inc.} +} + +@inproceedings{abrams2004set, + title={Set k-cover algorithms for energy efficient monitoring in wireless sensor networks}, + author={Abrams, Zo{\"e} and Goel, Ashish and Plotkin, Serge}, + booktitle={Proceedings of the 3rd international symposium on Information processing in sensor networks}, + pages={424-432}, + year={2004}, + organization={ACM} +} + +@ARTICLE{pujari2011high, + title={High-Energy-First (HEF) Heuristic for Energy-Efficient Target Coverage Problem.}, + author={Pujari, Arun K}, + journal={International Journal of Ad Hoc, Sensor \& Ubiquitous Computing}, + volume={2}, + number={1}, + year={2011} +} + +@INPROCEEDINGS{berman04, + author = {P. Berman and G. Calinescu}, + title = {Power Efficient Monitoring Management in Sensor Networks}, + booktitle = {Proceedings of IEEE Wireless Communication and Networking Conference (WCNC'04)}, + year = {2004}, + pages = {2329--2334} +} + +@inproceedings{Gallais06, + author = {Gallais, Antoine and Carle, Jean and Simplot-Ryl, David and Stojmenovic, Ivan}, + title = {Localized Sensor Area Coverage with Low Communication Overhead}, + booktitle = {Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications}, + year = {2006}, + pages = {328-337}, + +} + +@inproceedings{Tian02, + author = {Tian, Di and Georganas, Nicolas D.}, + title = {A coverage-preserving node scheduling scheme for large wireless sensor networks}, + booktitle = {Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications}, + series = {WSNA '02}, + year = {2002}, + pages = {32-41}, + publisher = {ACM}, +} + +@inproceedings{Ye03, + author = {Ye, Fan and Zhong, Gary and Cheng, Jesse and Lu, Songwu and Zhang, Lixia}, + title = {PEAS: A Robust Energy Conserving Protocol for Long-lived Sensor Networks}, + booktitle = {Proceedings of the 23rd International Conference on Distributed Computing Systems}, + series = {ICDCS'03}, + year = {2003}, + pages = {28-37}, +} + + +@INPROCEEDINGS{Berman05efficientenergy, + author = {P. Berman and G. Calinescu and C. Shah and A. Zelikovsky}, + title = {Efficient energy management in sensor networks}, + booktitle = {Ad Hoc and Sensor Networks. Nova Science Publishers}, + year = {2005}, + publisher = {Nova Science Publisher} +} + +@inproceedings{lu2003coverage, + title={Coverage-aware self-scheduling in sensor networks}, + author={Lu, Jun and Suda, Tatsuya}, + booktitle={Computer Communications, 2003. CCW 2003. Proceedings. 2003 IEEE 18th Annual Workshop on}, + pages={117--123}, + year={2003}, + organization={IEEE} +} + +@incollection{prasad2007distributed, + title={Distributed algorithms for lifetime of wireless sensor networks based on dependencies among cover sets}, + author={Prasad, Sushil K and Dhawan, Akshaye}, + booktitle={High Performance Computing--HiPC 2007}, + pages={381-392}, + year={2007}, + publisher={Springer} +} + +@inproceedings{cardei2005maximum, + title={Maximum network lifetime in wireless sensor networks with adjustable sensing ranges}, + author={Cardei, Mihaela and Wu, Jie and Lu, Mingming and Pervaiz, Mohammad O}, + booktitle={Wireless And Mobile Computing, Networking And Communications, 2005.(WiMob'2005), IEEE International Conference on}, + volume={3}, + pages={438--445}, + year={2005}, + organization={IEEE} +} + +@inproceedings{garg98, + author = {Garg, Naveen and Koenemann, Jochen}, + title = {Faster and Simpler Algorithms for Multicommodity Flow and other Fractional Packing Problems.}, + booktitle = {Proceedings of the 39th Annual Symposium on Foundations of Computer Science}, + series = {FOCS '98}, + year = {1998}, + pages = {300-309}, +} + +@article{wang2010clique, + title={A clique base node scheduling method for wireless sensor networks}, + author={Wang, Lei and Wei, Ruizhong and Lin, Yaping and Wang, Bo}, + journal={Journal of Network and Computer Applications}, + volume={33}, + number={4}, + pages={383--396}, + year={2010}, + publisher={Elsevier} +} + +@article{yardibi2010distributed, + title={A distributed activity scheduling algorithm for wireless sensor networks with partial coverage}, + author={Yardibi, Tarik and Karasan, Ezhan}, + journal={Wireless Networks}, + volume={16}, + number={1}, + pages={213--225}, + year={2010}, + publisher={Springer} +} + +@article{conti2014mobile, + title={Mobile ad hoc networking: milestones, challenges, and new research directions}, + author={Conti, Marco and Giordano, Silvia}, + journal={Communications Magazine, IEEE}, + volume={52}, + number={1}, + pages={85--96}, + year={2014}, + publisher={IEEE} +} + +@inproceedings{idrees2014coverage, + title={Coverage and Lifetime Optimization in Heterogeneous Energy Wireless Sensor Networks}, + author={Idrees, Ali Kadhum and Deschinkel, Karine and Salomon, Michel and Couturier, Rapha{\"e}l}, + booktitle={ICN 2014, The Thirteenth International Conference on Networks}, + pages={49--54}, + year={2014} +} + +@inproceedings{xu2001geography, + title={Geography-informed energy conservation for ad hoc routing}, + author={Xu, Ya and Heidemann, John and Estrin, Deborah}, + booktitle={Proceedings of the 7th annual international conference on Mobile computing and networking}, + pages={70--84}, + year={2001}, + organization={ACM} +} + +@article{zhou2009variable, + title={Variable radii connected sensor cover in sensor networks}, + author={Zhou, Zongheng and Das, Samir R and Gupta, Himanshu}, + journal={ACM Transactions on Sensor Networks (TOSN)}, + volume={5}, + number={1}, + pages={8}, + year={2009}, + publisher={ACM} +} + +@article{wang2009parallel, + title={Parallel energy-efficient coverage optimization with maximum entropy clustering in wireless sensor networks}, + author={Wang, Xue and Ma, Junjie and Wang, Sheng}, + journal={Journal of Parallel and Distributed Computing}, + volume={69}, + number={10}, + pages={838--847}, + year={2009}, + publisher={Elsevier} +} + +@article{yan2008design, + title={Design and optimization of distributed sensing coverage in wireless sensor networks}, + author={Yan, Ting and Gu, Yu and He, Tian and Stankovic, John A}, + journal={ACM Transactions on Embedded Computing Systems (TECS)}, + volume={7}, + number={3}, + pages={33}, + year={2008}, + publisher={ACM} +} + +@article{he2012leveraging, + title={Leveraging prediction to improve the coverage of wireless sensor networks}, + author={He, Shibo and Chen, Jiming and Li, Xu and Shen, Xuemin and Sun, Youxian}, + journal={Parallel and Distributed Systems, IEEE Transactions on}, + volume={23}, + number={4}, + pages={701-712}, + year={2012}, + publisher={IEEE} +} + +@article{esnaashari2010learning, + title={A learning automata based scheduling solution to the dynamic point coverage problem in wireless sensor networks}, + author={Esnaashari, Mehdi and Meybodi, Mohammad Reza}, + journal={Computer Networks}, + volume={54}, + number={14}, + pages={2410--2438}, + year={2010}, + publisher={Elsevier} +} + + +@ARTICLE{Misra, + author = "S. Misra and M. P. Kumar and M. S. Obaidat", + title = "Connectivity preserving localized coverage algorithm for area monitoring using +wireless sensor networks ", + JOURNAL = {Computer Communications}, + VOLUME = {34}, + NUMBER = {12}, + PAGES = {1484-1496}, + YEAR = {2011}, +} + + + + +@article{rizvi2012a1, + title={A1: An energy efficient topology control algorithm for connected area coverage in wireless sensor networks}, + author={Rizvi, Sajjad and Qureshi, Hassaan Khaliq and Ali Khayam, Syed and Rakocevic, Veselin and Rajarajan, Muttukrishnan}, + journal={Journal of Network and Computer Applications}, + volume={35}, + number={2}, + pages={597--605}, + year={2012}, + publisher={Elsevier} +} + +@article{tran2009novel, + title={A novel gossip-based sensing coverage algorithm for dense wireless sensor networks}, + author={Tran-Quang, Vinh and Miyoshi, Takumi}, + journal={Computer Networks}, + volume={53}, + number={13}, + pages={2275--2287}, + year={2009}, + publisher={Elsevier} +} + +@ARTICLE{wang2011coverage, + title={Coverage problems in sensor networks: A survey}, + author={Wang, Bang}, + journal={ACM Computing Surveys (CSUR)}, + volume={43}, + number={4}, + pages={32}, + year={2011}, + publisher={ACM} +} + + +@article{luo2014parameterized, + title={Parameterized complexity of max-lifetime target coverage in wireless sensor networks}, + author={Luo, Weizhong and Wang, Jianxin and Guo, Jiong and Chen, Jianer}, + journal={Theoretical Computer Science}, + volume={518}, + pages={32--41}, + year={2014}, + publisher={Elsevier} +} + +@article{jarray2013lagrangean, + title={A Lagrangean-based heuristics for the target covering problem in wireless sensor network}, + author={Jarray, Fethi}, + journal={Applied Mathematical Modelling}, + volume={37}, + number={10}, + pages={6780--6785}, + year={2013}, + publisher={Elsevier} +} + +@article{naderan2013sensing, + title={Sensing task assignment via sensor selection for maximum target coverage in WSNs}, + author={Naderan, Marjan and Dehghan, Mehdi and Pedram, Hossein}, + journal={Journal of Network and Computer Applications}, + volume={36}, + number={1}, + pages={262--273}, + year={2013}, + publisher={Elsevier} +} + +@article{erdelj2013multiple, + title={Multiple point of interest discovery and coverage with mobile wireless sensors}, + author={Erdelj, Milan and Loscri, Valeria and Natalizio, Enrico and Razafindralambo, Tahiry}, + journal={Ad Hoc Networks}, + volume={11}, + number={8}, + pages={2288--2300}, + year={2013}, + publisher={Elsevier} +} + +@article{tian2014distributed, + title={Distributed Multitarget Probabilistic Coverage Control Algorithm for Wireless Sensor Networks}, + author={Tian, Ying and Ou, Yang and Hamid, Reza Karimi and Liu, Yan Tao and Han, Jian Qun}, + journal={Mathematical Problems in Engineering}, + volume={2014}, + pages={1--8}, + year={2014}, + publisher={Hindawi Publishing Corporation} +} + +@article{castano2013column, + title={A column generation approach to extend lifetime in wireless sensor networks with coverage and connectivity constraints}, + author={Casta{\~n}o, Fabian and Rossi, Andr{\'e} and Sevaux, Marc and Velasco, Nubia}, + journal={Computers \& Operations Research}, + year={2013}, + publisher={Elsevier} +} + +@article{yu2013cwsc, + title={CWSC: Connected< i> k-coverage working sets construction algorithm in wireless sensor networks}, + author={Yu, Jiguo and Deng, Xiu and Yu, Dongxiao and Wang, Guanghui and Gu, Xin}, + journal={AEU-International Journal of Electronics and Communications}, + volume={67}, + number={11}, + pages={937--946}, + year={2013}, + publisher={Elsevier} +} + +@article{cheng2014achieving, + title={Achieving Asymmetric Sensing Coverage for Duty Cycled Wireless Sensor Networks}, + author={Cheng, Long and He, Tian and Niu, Jianwei and Du, David HC}, + journal={IEEE Transactions on Parallel and Distributed Systems}, + pages={1--11}, + year={2014}, + publisher={IEEE} +} + +@article{yang2013energy, + title={Energy-Efficient Probabilistic Area Coverage in Wireless Sensor Networks}, + author={Yang, Qianqian and He, Shibo and Li, Junkun and Chen, Jiming and Sun, Youxian}, + journal={IEEE Transactions on Vehicular Technology}, + year={2013}, + publisher={IEEE} +} + +@inproceedings{kim2013maximum, + title={Maximum lifetime of reinforced barrier-coverage in Wireless Sensor Networks}, + author={Kim, Hyunbum and Cobb, Jorge A}, + booktitle={Networks (ICON), 2013 19th IEEE International Conference on}, + pages={1--6}, + year={2013}, + organization={IEEE} +} + + + +@inproceedings{chang2012joint, + title={Joint energy-balanced and full-coverage mechanism using sensing range control for maximizing network lifetime in WSNs}, + author={Chang, Chih-Yung and Yu, Gwo-Jong and Lin, Chih-Yu and Wang, Tzu-Lin}, + booktitle={Ubiquitous and Future Networks (ICUFN), 2012 Fourth International Conference on}, + pages={34--39}, + year={2012}, + organization={IEEE} +} + + + +@inproceedings{al2013energy, + title={Energy-efficient k-coverage scheduling algorithm for sensor networks with adjustable sensing range}, + author={Al-Shalabi, Ahmed Abdullah and Manaf, Mazani}, + booktitle={Wireless Technology and Applications (ISWTA), 2013 IEEE Symposium on}, + pages={316--321}, + year={2013}, + organization={IEEE} +} + +@inproceedings{kim2012sleep, + title={On sleep-wakeup scheduling of non-penetrable barrier-coverage of wireless sensors}, + author={Kim, Donghyun and Kim, Jiwoong and Li, Deying and Kwon, Sung-Sik and Tokuta, Alade O}, + booktitle={Global Communications Conference (GLOBECOM), 2012 IEEE}, + pages={321--327}, + year={2012}, + organization={IEEE} +} + +@article{li2013survey, + title={A Survey on Topology Control in Wireless Sensor Networks: Taxonomy, Comparative Study, and Open Issues}, + author={Li, Mo and Vasilakos, Athanasios V}, + journal={Proceedings of the IEEE}, + volume={101}, + number={12}, + year={2013} +} + + +@inproceedings{wang2007energy, + title={Energy efficient coverage with variable sensing radii in wireless sensor networks}, + author={Wang, Jiong and Medidi, Sirisha}, + booktitle={Wireless and Mobile Computing, Networking and Communications, 2007. WiMOB 2007. Third IEEE International Conference on}, + pages={61--61}, + year={2007}, + organization={IEEE} +} + +@inproceedings{vu2009delaunay, + title={Delaunay-triangulation based complete coverage in wireless sensor networks}, + author={Vu, Chinh T and Li, Yingshu}, + booktitle={Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on}, + pages={1--5}, + year={2009}, + organization={IEEE} +} + +@article{yang2014energy, +author={Yang, Q. and He, S. and Li, J. and Chen, J. and Sun, Y.}, +journal={Vehicular Technology, IEEE Transactions on}, +title={Energy-Efficient Probabilistic Area Coverage in Wireless Sensor Networks}, +volume={PP}, +number={99}, +pages={1-1}, +year={2014}, + +} + +@inproceedings{ling2009energy, + title={Energy efficient adaptive sensing for dynamic coverage in wireless sensor networks}, + author={Ling, Hui and Znati, Taieb}, + booktitle={Wireless Communications and Networking Conference, 2009. WCNC 2009. IEEE}, + pages={1--6}, + year={2009}, + organization={IEEE} +} + +@inproceedings{diongue2013alarm, + title={ALARM: An energy aware sleep scheduling algorithm for lifetime maximization in wireless sensor networks}, + author={Diongue, Dame and Thiare, Ousmane}, + booktitle={Wireless Technology and Applications (ISWTA), 2013 IEEE Symposium on}, + pages={74--79}, + year={2013}, + organization={IEEE} +} + + +@INPROCEEDINGS{shi2009, +author={Qinghua Shi and Xiaozhen Wei and Yu Peng and Shiqian Li}, +booktitle={Computer Network and Multimedia Technology, 2009. CNMT 2009. International Symposium on}, +title={An Energy-Efficient Central-Scheduling Scheme in Wireless Sensor Networks}, +year={2009}, +month={Jan}, +pages={1-4}, +} + +@inproceedings{qu2013distributed, + title={A distributed area coverage algorithm for maintenance of randomly distributed sensors with adjustable sensing range}, + author={Qu, Yipeng and Georgakopoulos, Stavros V}, + booktitle={Global Communications Conference (GLOBECOM), 2013 IEEE}, + pages={286--291}, + year={2013}, + organization={IEEE} +} + +@inproceedings{xin2009area, + title={The area coverage algorithm to maintain connectivity for WSN}, + author={Xin, He and Ke, Yin and Xiaolin, Gui}, + booktitle={Computer and Information Technology, 2009. CIT'09. Ninth IEEE International Conference on}, + volume={2}, + pages={81--86}, + year={2009}, + organization={IEEE} +} + +\fi + +@article{huang2005coverage, + title={The coverage problem in a wireless sensor network}, + author={Huang, Chi-Fu and Tseng, Yu-Chee}, + journal={Mobile Networks and Applications}, + volume={10}, + number={4}, + pages={519--528}, + year={2005}, + publisher={Springer-Verlag New York, Inc.} +} + + +@techreport{Idrees2, + author = {Idrees, Ali Kadhum and Deschinkel, Karine and Salomon, Michel and Couturier, Rapha{\"e}l}, + institution = {University of Franche-Comte - FEMTO-ST Institute, DISC Research Department}, + title = {Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}, + number = {DISC2014-X}, + month = {Octobre}, + year = {2014} +} + +@article{puccinelli2005wireless, + title={Wireless sensor networks: applications and challenges of ubiquitous sensing}, + author={Puccinelli, Daniele and Haenggi, Martin}, + journal={Circuits and Systems Magazine, IEEE}, + volume={5}, + number={3}, + pages={19--31}, + year={2005}, + publisher={IEEE} +} + +@article{akyildiz2002wireless, + title={Wireless sensor networks: a survey}, + author={Akyildiz, Ian F and Su, Weilian and Sankarasubramaniam, Yogesh and Cayirci, Erdal}, + journal={Computer networks}, + volume={38}, + number={4}, + pages={393--422}, + year={2002}, + publisher={Elsevier} +} + +@article{anastasi2009energy, + title={Energy conservation in wireless sensor networks: A survey}, + author={Anastasi, Giuseppe and Conti, Marco and Di Francesco, Mario and Passarella, Andrea}, + journal={Ad Hoc Networks}, + volume={7}, + number={3}, + pages={537--568}, + year={2009}, + publisher={Elsevier} +} + +@article{yick2008wireless, + title={Wireless sensor network survey}, + author={Yick, Jennifer and Mukherjee, Biswanath and Ghosal, Dipak}, + journal={Computer networks}, + volume={52}, + number={12}, + pages={2292--2330}, + year={2008}, + publisher={Elsevier} +} + +@article{rault2014energy, + title={Energy efficiency in wireless sensor networks: A top-down survey}, + author={Rault, Tifenn and Bouabdallah, Abdelmadjid and Challal, Yacine}, + journal={Computer Networks}, + volume={67}, + pages={104--122}, + year={2014}, + publisher={Elsevier} +} + +@article{zhu2012survey, + title={A survey on coverage and connectivity issues in wireless sensor networks}, + author={Zhu, Chuan and Zheng, Chunlin and Shu, Lei and Han, Guangjie}, + journal={Journal of Network and Computer Applications}, + volume={35}, + number={2}, + pages={619--632}, + year={2012}, + publisher={Elsevier} +} + +@article{ammari2012centralized, + title={Centralized and clustered k-coverage protocols for wireless sensor networks}, + author={Ammari, Habib M and Das, Sajal K}, + journal={Computers, IEEE Transactions on}, + volume={61}, + number={1}, + pages={118--133}, + year={2012}, + publisher={IEEE} +} + +@article{rebai2014branch, + title={A Branch and Bound Algorithm for the Critical Grid Coverage Problem in Wireless Sensor Networks}, + author={Rebai, Maher and Le Berre, Matthieu and Hnaien, Faicel and Snoussi, Hichem and Khoukhi, Lyes}, + journal={International Journal of Distributed Sensor Networks}, + volume={2014}, + year={2014}, + publisher={Hindawi Publishing Corporation} +} + +@inproceedings{rebai2013linear, + title={Linear models for the total coverage problem in wireless sensor networks}, + author={Rebai, Maher and Snoussi, Hichem and Khoukhi, I and Hnaien, Faicel}, + booktitle={Modeling, Simulation and Applied Optimization (ICMSAO), 2013 5th International Conference on}, + pages={1--4}, + year={2013}, + organization={IEEE} +} + +@article{nayak2010wireless, + title={Wireless sensor and actuator networks}, + author={Nayak, Amiya and Stojmenovic, Ivan}, + journal={John-Whiley \& sons}, + year={2010}, + publisher={Wiley Online Library} +} + +@article{li2011transforming, + title={Transforming complete coverage algorithms to partial coverage algorithms for wireless sensor networks}, + author={Li, Yingshu and Vu, Chinh and Ai, Chunyu and Chen, Guantao and Zhao, Yi}, + journal={Parallel and Distributed Systems, IEEE Transactions on}, + volume={22}, + number={4}, + pages={695--703}, + year={2011}, + publisher={IEEE} +} + +@inproceedings{liu2014generalized, + title={A generalized coverage-preserving scheduling in WSNs: A case study in structural health monitoring}, + author={Liu, Xuefeng and Cao, Jiannong and Tang, Shaojie and Guo, Peng}, + booktitle={INFOCOM, 2014 Proceedings IEEE}, + pages={718--726}, + year={2014}, + organization={IEEE} +} + +@inproceedings{wang2010preserving, + title={Preserving target area coverage in wireless sensor networks by using computational geometry}, + author={Wang, San-Yuan and Shih, Kuei-Ping and Chen, Yen-Da and Ku, Hsin-Hui}, + booktitle={Wireless Communications and Networking Conference (WCNC), 2010 IEEE}, + pages={1--6}, + year={2010}, + organization={IEEE} +} + +@inproceedings{cho2007distributed, + title={A Distributed node scheduling protocol considering sensing coverage in wireless sensor networks}, + author={Cho, Jaekyu and Kim, Gilsoo and Kwon, Taekyoung and Choi, Yanghee}, + booktitle={Vehicular Technology Conference, 2007. VTC-2007 Fall. 2007 IEEE 66th}, + pages={352--356}, + year={2007}, + organization={IEEE} +} + +@inproceedings{quang2008algorithm, + title={An algorithm for sensing coverage problem in wireless sensor networks}, + author={Quang, Vinh Tran and Miyoshi, Takumi}, + booktitle={Sarnoff Symposium, 2008 IEEE}, + pages={1--5}, + year={2008}, + organization={IEEE} +} + + +@inproceedings{lin2010partitioning, + title={Partitioning sensors by node coverage grouping in wireless sensor networks}, + author={Lin, Chow-Sing and Chen, Chih-Chung and Chen, An-Chi}, + booktitle={Parallel and Distributed Processing with Applications (ISPA), 2010 International Symposium on}, + pages={306--312}, + year={2010}, + organization={IEEE} +} + +@inproceedings{zaidi2009minimum, + title={On minimum cost coverage in wireless sensor networks}, + author={Zaidi, Syed Ali Raza and Hafeez, Maryam and Khayam, Syed A and McLernon, Desmond C and Ghogho, Mounir and Kim, K}, + booktitle={Information Sciences and Systems, 2009. CISS 2009. 43rd Annual Conference on}, + pages={213--218}, + year={2009}, + organization={IEEE} +} + +@article{dong2012distributed, + title={Distributed coverage in wireless ad hoc and sensor networks by topological graph approaches}, + author={Dong, Dezun and Liao, Xiangke and Liu, Kebin and Liu, Yunhao and Xu, Weixia}, + journal={Computers, IEEE Transactions on}, + volume={61}, + number={10}, + pages={1417--1428}, + year={2012}, + publisher={IEEE} +} + +@article{liu2010energy, + title={Energy conservation algorithms for maintaining coverage and connectivity in wireless sensor networks}, + author={Liu, L and Hu, B and Li, L}, + journal={IET communications}, + volume={4}, + number={7}, + pages={786--800}, + year={2010}, + publisher={IET} +} + +@inproceedings{aslanyan2013optimal, + title={Optimal node scheduling for integrated connected-coverage in wireless sensor networks}, + author={Aslanyan, Levon and Aslanyan, Hakob and Khosravi, Hamid}, + booktitle={Computer Science and Information Technologies (CSIT), 2013}, + pages={1--13}, + year={2013}, + organization={IEEE} +} + +@article{0031-9155-44-1-012, + author={Eva K Lee and Richard J Gallagher and David Silvern and Cheng-Shie Wuu and Marco Zaider}, + title={Treatment planning for brachytherapy: an integer programming model, two computational approaches and experiments with permanent prostate implant planning}, + journal={Physics in Medicine and Biology}, + volume={44}, + number={1}, + pages={145}, + url={http://stacks.iop.org/0031-9155/44/i=1/a=012}, + year={1999} +} + +@BOOK{AMPL, + AUTHOR = "Robert Fourer and David M. Gay and Brian W. Kernighan", + TITLE = "AMPL: A Modeling Language for Mathematical Programming", + PUBLISHER = "Cengage Learning", + YEAR = "November 12, 2002", + edition = "2nd", + +} + +@article{Deng2012, + title={Transforming Area Coverage to Target Coverage to Maintain Coverage and Connectivity for Wireless Sensor Networks}, + author={Xiu Deng and Jiguo Yu, Dongxiao Yu and Congcong Chen}, + journal={International Journal of Distributed Sensor Networks}, + volume={2012}, + year={2012}, + ee = {http://dx.doi.org/10.1155/2012/254318} +} + +@inproceedings{jaggi2006, + title={Energy-efficient Connected Covereage in Wireless Sensor Networks}, + author={N. Jaggi and A.A. Abouzeid}, + booktitle={Proceeding of 4th Asian International Mobile Computing Conference AMOC2006}, + year={2006} +} + +@inproceedings{yangnovel, + title={A Novel Distributed Algorithm for Complete Targets Coverage in Energy Harvesting Wireless Sensor Networks }, + author={Yang, Changlin and Chin, Kwan-Wu}, + booktitle={IEEE ICC 2014- Ad-hoc and Sensor Networking Symposium}, + pages={361--366}, + year={2014}, + organization={IEEE} +} + +@INPROCEEDINGS{5714480, +author={Xiaofei Xing and Jie Li and Guojun Wang}, +booktitle={Mobile Ad-hoc and Sensor Networks (MSN), 2010 Sixth International Conference on}, +title={Integer Programming Scheme for Target Coverage in Heterogeneous Wireless Sensor Networks}, +year={2010}, +month={Dec}, +pages={79-84}, +keywords={energy conservation;integer programming;wireless sensor networks;ETCA;clustered configurations;clusterheads;energy first algorithm;energy-efficient target coverage algorithm;heterogeneous wireless sensor networks;integer programming;network lifetime;polytype target coverage;sensor node;Algorithm design and analysis;Clustering algorithms;Energy consumption;Logic gates;Sensors;Simulation;Wireless sensor networks;Heterogeneous wireless sensor networks;network lifetime;optimization;target coverage}, +doi={10.1109/MSN.2010.18},} + +@article{Yang2014, + title={A Maximum Lifetime Coverage Algorithm Based on Linear Programming}, + author={Mengmeng Yang and Jie Liu}, + journal={Journal of Information Hiding an dMultimedia Signal Processing, Ubiquitous International}, + volume={5}, + number={2}, + pages={296-301}, + year={2014} +} + +@article{rossi2012exact, + title={An exact approach for maximizing the lifetime of sensor networks with adjustable sensing ranges}, + author={Rossi, Andr{\'e} and Singh, Alok and Sevaux, Marc}, + journal={Computers \& Operations Research}, + volume={39}, + number={12}, + pages={3166--3176}, + year={2012}, + publisher={Elsevier} +} + +@ARTICLE{glpk, +author = {Andrew Makhorin}, +title = {The GLPK (GNU Linear Programming Kit)}, +journal = {Available: https://www.gnu.org/software/glpk/}, +year = {2012}, +} + +@article{deschinkel2012column, + title={A Column Generation based Heuristic to Extend Lifetime in Wireless Sensor Network.}, + author={Deschinkel, Karine}, + journal={Sensors \& Transducers Journal}, + volume={14-2}, + pages={242--253}, + year={2012} +} diff --git a/PeCO-EO/epsfig.sty b/PeCO-EO/epsfig.sty new file mode 100644 index 0000000..bdc2117 --- /dev/null +++ b/PeCO-EO/epsfig.sty @@ -0,0 +1,100 @@ +%% +%% This is file `epsfig.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% epsfig.dtx (with options: `package') +%% +%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz +%% +%% This file is part of the Standard LaTeX `Graphics Bundle'. +%% It may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.3 or, at your option, any later version. +%% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{epsfig} + [1999/02/16 v1.7a (e)psfig emulation (SPQR)] +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}} +\ProcessOptions +\RequirePackage{graphicx} +\def\psfig#1{% + \let\Gin@ewidth\Gin@exclamation\let\Gin@eheight\Gin@ewidth + \def\Gin@req@sizes{% + \def\Gin@scalex{1}\let\Gin@scaley\Gin@exclamation + \Gin@req@height\Gin@nat@height + \Gin@req@width\Gin@nat@width}% + \begingroup + \let\Gfigname\relax + \@tempswafalse + \toks@{\Ginclude@graphics{\Gfigname}}% + \setkeys{Gin}{#1}% + \Gin@esetsize + \ifx\Gfigname\relax\ErrorNoFile\else + \the\toks@ + \fi + \endgroup} +\define@key{Gin}{figure}{\def\Gfigname{#1}} +\define@key{Gin}{file}{\def\Gfigname{#1}} +\define@key{Gin}{prolog}{\typeout{epsfig: header files are not needed}} +\define@key{Gin}{silent}[]{} +\def\psdraft{\Gin@drafttrue} +\def\psfull{\Gin@draftfalse} +\def\pssilent{\typeout{epsfig option `silent' ignored}} +\def\psnoisy{\typeout{epsfig option `noisy' ignored}} +\let\epsfig\psfig +\def\psfigdriver#1{\makeatletter\input{#1.def}\makeatother} +\newdimen\epsfxsize +\newdimen\epsfysize +\epsfysize\z@ +\epsfxsize\z@ +\def\epsfsize#1#2{\epsfxsize} +\def\epsfbox{% + \@ifnextchar[% + {\Gin@bboxtrue\epsf@bb@box}% + {\Gin@bboxfalse\epsf@box}% +} +\def\epsf@bb@box[#1#2]{% + \expandafter\Gread@parse@bb#1#2 \\ + \epsf@box} +\def\epsf@box#1{% + \bgroup + \def\Gin@req@sizes{% + \epsfxsize\epsfsize{\Gin@nat@width}{\Gin@nat@height}% + \ifdim\epsfxsize=\z@ + \ifdim\epsfysize=\z@ + \Gin@req@height\Gin@nat@height + \Gin@req@width\Gin@nat@width + \else + \let\Gin@scalex\Gin@exclamation + \Gin@req@height\epsfysize + \Gscale@div\Gin@scaley\Gin@req@height\Gin@nat@height + \Gin@req@width\Gin@scaley\Gin@nat@width + \fi + \else + \Gin@req@width\epsfxsize + \Gscale@div\Gin@scalex\Gin@req@width\Gin@nat@width + \ifdim\epsfysize=\z@ + \let\Gin@scaley\Gin@exclamation + \Gin@req@height\Gin@scalex\Gin@nat@height + \else + \Gin@req@height\epsfysize + \Gscale@div\Gin@scaley\Gin@req@height\Gin@nat@height + \fi + \fi + }% + \Ginclude@graphics{#1}% + \egroup + \epsfysize\z@ + \epsfxsize\z@ +} +\let\epsffile\epsfbox +\def\epsfclipon{\Gin@cliptrue} +\def\epsfclipoff{\Gin@clipfalse} +\def\epsfverbosetrue{\typeout{epsf verbose option ignored}} +\def\epsfverbosefalse{\typeout{epsf verbose option ignored}} + +\endinput +%% +%% End of file `epsfig.sty'. diff --git a/PeCO-EO/figure1a.tiff b/PeCO-EO/figure1a.tiff new file mode 100644 index 0000000..c772d15 Binary files /dev/null and b/PeCO-EO/figure1a.tiff differ diff --git a/PeCO-EO/figure1b.tiff b/PeCO-EO/figure1b.tiff new file mode 100644 index 0000000..c19c96a Binary files /dev/null and b/PeCO-EO/figure1b.tiff differ diff --git a/PeCO-EO/figure2.tiff b/PeCO-EO/figure2.tiff new file mode 100644 index 0000000..32c6113 Binary files /dev/null and b/PeCO-EO/figure2.tiff differ diff --git a/PeCO-EO/figure3.tiff b/PeCO-EO/figure3.tiff new file mode 100644 index 0000000..96fe77e Binary files /dev/null and b/PeCO-EO/figure3.tiff differ diff --git a/PeCO-EO/figure4.tiff b/PeCO-EO/figure4.tiff new file mode 100644 index 0000000..fc0ef19 Binary files /dev/null and b/PeCO-EO/figure4.tiff differ diff --git a/PeCO-EO/figure5.eps b/PeCO-EO/figure5.eps new file mode 100644 index 0000000..7c055d8 --- /dev/null +++ b/PeCO-EO/figure5.eps @@ -0,0 +1,1472 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 536 402 +%%HiResBoundingBox: 54 53.5 535 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:07:58 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:07:58 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +539 352 M +63 0 V +4239 0 R +-63 0 V +stroke +473 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MRshow +1.000 UL +LTb +539 664 M +63 0 V +4239 0 R +-63 0 V +stroke +473 664 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MRshow +1.000 UL +LTb +539 975 M +63 0 V +4239 0 R +-63 0 V +stroke +473 975 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MRshow +1.000 UL +LTb +539 1287 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1287 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MRshow +1.000 UL +LTb +539 1598 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1598 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MRshow +1.000 UL +LTb +539 1910 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1910 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MRshow +1.000 UL +LTb +539 2222 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2222 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MRshow +1.000 UL +LTb +539 2533 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2533 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MRshow +1.000 UL +LTb +539 2845 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2845 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MRshow +1.000 UL +LTb +539 3156 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3156 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MRshow +1.000 UL +LTb +539 3468 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MRshow +1.000 UL +LTb +539 352 M +0 63 V +0 3053 R +0 -63 V +stroke +539 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MCshow +1.000 UL +LTb +886 352 M +0 63 V +0 3053 R +0 -63 V +stroke +886 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MCshow +1.000 UL +LTb +1233 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1233 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MCshow +1.000 UL +LTb +1580 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1580 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MCshow +1.000 UL +LTb +1927 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1927 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MCshow +1.000 UL +LTb +2274 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2274 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MCshow +1.000 UL +LTb +2621 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2621 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MCshow +1.000 UL +LTb +2968 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2968 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MCshow +1.000 UL +LTb +3314 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3314 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MCshow +1.000 UL +LTb +3661 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3661 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MCshow +1.000 UL +LTb +4008 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4008 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +4355 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4355 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 110)] +] -36.7 MCshow +1.000 UL +LTb +4702 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4702 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 120)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Coverage Ratio \(%\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2690 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Periods)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +4382 3351 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 4448 3351 M +327 0 V +574 3440 M +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 2 V +34 1 V +35 4 V +35 -1 V +34 -3 V +35 2 V +35 1 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 1 V +35 0 V +35 0 V +35 2 V +34 2 V +35 -1 V +35 -1 V +34 -2 V +35 0 V +35 -1 V +34 0 V +35 0 V +35 1 V +34 0 V +35 -1 V +35 -1 V +35 -4 V +34 0 V +35 1 V +35 -4 V +34 -5 V +35 -9 V +35 -16 V +34 -5 V +35 -6 V +35 -3 V +34 -4 V +35 -2 V +35 -3 V +35 -2 V +34 -6 V +35 -15 V +35 -21 V +34 -29 V +35 -46 V +35 -64 V +34 -74 V +35 -49 V +35 -100 V +34 -61 V +35 -34 V +35 -68 V +35 -31 V +34 -20 V +35 -47 V +35 -95 V +34 -88 V +35 -104 V +35 -122 V +34 -182 V +35 -143 V +35 -145 V +34 -190 V +35 -107 V +35 -100 V +35 -110 V +34 -63 V +35 -83 V +35 -53 V +34 -77 V +35 -25 V +35 -75 V +34 -57 V +35 -87 V +35 -46 V +35 -86 V +34 -58 V +35 -48 V +35 -55 V +34 -25 V +35 -7 V +35 -14 V +34 -9 V +35 -24 V +35 -8 V +34 -22 V +stroke 4112 410 M +35 0 V +35 -7 V +35 -9 V +34 -7 V +35 -7 V +35 -6 V +34 -7 V +35 0 V +35 0 V +34 0 V +35 -8 V +35 -7 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +574 3440 TriUF +747 3440 TriUF +921 3440 TriUF +1094 3447 TriUF +1268 3446 TriUF +1441 3446 TriUF +1615 3449 TriUF +1788 3447 TriUF +1961 3447 TriUF +2135 3442 TriUF +2308 3403 TriUF +2482 3385 TriUF +2655 3312 TriUF +2829 2979 TriUF +3002 2765 TriUF +3176 2309 TriUF +3349 1542 TriUF +3523 1133 TriUF +3696 812 TriUF +3870 519 TriUF +4043 440 TriUF +4217 394 TriUF +4390 367 TriUF +4563 352 TriUF +4737 352 TriUF +4611 3351 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +4382 3241 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 4448 3241 M +327 0 V +574 3468 M +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 -1 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 -1 V +35 0 V +34 -6 V +35 -6 V +35 -5 V +34 -5 V +35 -5 V +35 -1 V +34 0 V +35 -1 V +35 0 V +34 -1 V +35 -9 V +35 -5 V +35 -20 V +34 -32 V +35 -121 V +35 -64 V +34 -169 V +35 -105 V +35 -188 V +34 -138 V +35 -82 V +35 -125 V +34 -227 V +35 -237 V +35 -291 V +35 -416 V +34 -469 V +35 -205 V +35 -122 V +34 -21 V +35 -38 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +stroke 4112 352 M +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +574 3468 DiaF +747 3468 DiaF +921 3468 DiaF +1094 3468 DiaF +1268 3467 DiaF +1441 3467 DiaF +1615 3466 DiaF +1788 3439 DiaF +1961 3436 DiaF +2135 3249 DiaF +2308 2585 DiaF +2482 1623 DiaF +2655 390 DiaF +2829 352 DiaF +3002 352 DiaF +3176 352 DiaF +3349 352 DiaF +3523 352 DiaF +3696 352 DiaF +3870 352 DiaF +4043 352 DiaF +4217 352 DiaF +4390 352 DiaF +4563 352 DiaF +4737 352 DiaF +4611 3241 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +4382 3131 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 4448 3131 M +327 0 V +574 3467 M +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 -1 V +35 0 V +34 -2 V +35 0 V +35 -2 V +35 -1 V +34 1 V +35 1 V +35 0 V +34 1 V +35 -5 V +35 5 V +34 -4 V +35 0 V +35 -5 V +35 -1 V +34 -1 V +35 -11 V +35 -16 V +34 -4 V +35 -18 V +35 11 V +34 -30 V +35 -6 V +35 20 V +34 -10 V +35 -9 V +35 14 V +35 -15 V +34 -9 V +35 -31 V +35 -17 V +34 -30 V +35 -66 V +35 -70 V +34 -121 V +35 -72 V +35 -88 V +34 -57 V +35 -47 V +35 -18 V +35 -16 V +34 -11 V +35 -28 V +35 -3 V +34 -42 V +35 -59 V +35 -147 V +34 -151 V +35 -116 V +35 -187 V +34 -274 V +35 -175 V +35 -141 V +35 -96 V +34 -82 V +35 -55 V +35 -68 V +34 -25 V +35 -36 V +35 -44 V +34 -33 V +35 -55 V +35 -66 V +34 -54 V +35 -42 V +35 -56 V +35 -64 V +34 -25 V +35 -29 V +35 -19 V +34 -14 V +35 -2 V +35 -3 V +34 -21 V +35 -4 V +35 -9 V +35 -22 V +34 -11 V +35 -8 V +35 -18 V +34 -12 V +35 -36 V +35 -16 V +34 -6 V +35 0 V +35 -6 V +34 0 V +stroke 4112 366 M +35 -9 V +35 1 V +35 1 V +34 -7 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +574 3467 Star +747 3467 Star +921 3467 Star +1094 3466 Star +1268 3461 Star +1441 3459 Star +1615 3454 Star +1788 3404 Star +1961 3389 Star +2135 3339 Star +2308 3035 Star +2482 2753 Star +2655 2653 Star +2829 1993 Star +3002 1225 Star +3176 997 Star +3349 747 Star +3523 554 Star +3696 510 Star +3870 442 Star +4043 372 Star +4217 359 Star +4390 352 Star +4563 352 Star +4737 352 Star +4611 3131 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +4382 3021 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 4448 3021 M +327 0 V +574 3429 M +34 0 V +35 0 V +35 0 V +34 1 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 -1 V +34 0 V +35 -6 V +35 5 V +34 -4 V +35 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 0 V +35 0 V +35 0 V +34 -1 V +35 -4 V +35 1 V +35 -1 V +34 0 V +35 -10 V +35 0 V +34 -9 V +35 -2 V +35 -4 V +34 2 V +35 0 V +35 0 V +34 2 V +35 -4 V +35 1 V +35 -3 V +34 -3 V +35 -5 V +35 -10 V +34 -7 V +35 -7 V +35 -14 V +34 -7 V +35 -9 V +35 0 V +34 -4 V +35 -2 V +35 0 V +35 -5 V +34 -15 V +35 -10 V +35 -12 V +34 -18 V +35 -39 V +35 -26 V +34 -33 V +35 -37 V +35 -18 V +34 -28 V +35 -27 V +35 -32 V +35 -9 V +34 -20 V +35 -11 V +35 -19 V +34 -23 V +35 -27 V +35 -34 V +34 -49 V +35 -41 V +35 -26 V +34 -57 V +35 -60 V +35 -77 V +35 -53 V +34 -60 V +35 -38 V +35 -49 V +34 -24 V +35 -2 V +35 -35 V +34 -46 V +35 -50 V +35 -70 V +35 -90 V +34 -107 V +35 -79 V +35 -73 V +34 -81 V +35 -98 V +35 -64 V +34 -20 V +35 -34 V +35 -31 V +34 -78 V +stroke 4112 1389 M +35 -67 V +35 -74 V +35 -38 V +34 -51 V +35 -96 V +35 -93 V +34 -90 V +35 -43 V +35 -123 V +34 -90 V +35 -15 V +35 -69 V +34 -67 V +35 0 V +35 -16 V +35 -35 V +34 -26 V +35 -44 V +35 0 V +34 0 V +35 0 V +574 3429 CircleF +747 3430 CircleF +921 3430 CircleF +1094 3423 CircleF +1268 3424 CircleF +1441 3424 CircleF +1615 3419 CircleF +1788 3398 CircleF +1961 3398 CircleF +2135 3384 CircleF +2308 3339 CircleF +2482 3324 CircleF +2655 3264 CircleF +2829 3111 CircleF +3002 2995 CircleF +3176 2881 CircleF +3349 2648 CircleF +3523 2371 CircleF +3696 2214 CircleF +3870 1795 CircleF +4043 1498 CircleF +4217 1210 CircleF +4390 837 CircleF +4563 473 CircleF +4737 352 CircleF +4611 3021 CircleF +% End plot #4 +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure6.eps b/PeCO-EO/figure6.eps new file mode 100644 index 0000000..46e075d --- /dev/null +++ b/PeCO-EO/figure6.eps @@ -0,0 +1,1472 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 536 402 +%%HiResBoundingBox: 54 53.5 535 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:06:45 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:06:45 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MRshow +1.000 UL +LTb +473 664 M +63 0 V +4305 0 R +-63 0 V +stroke +407 664 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 5)] +] -36.7 MRshow +1.000 UL +LTb +473 975 M +63 0 V +4305 0 R +-63 0 V +stroke +407 975 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MRshow +1.000 UL +LTb +473 1287 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1287 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 15)] +] -36.7 MRshow +1.000 UL +LTb +473 1598 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1598 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MRshow +1.000 UL +LTb +473 1910 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1910 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 25)] +] -36.7 MRshow +1.000 UL +LTb +473 2222 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2222 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MRshow +1.000 UL +LTb +473 2533 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2533 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 35)] +] -36.7 MRshow +1.000 UL +LTb +473 2845 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2845 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MRshow +1.000 UL +LTb +473 3156 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3156 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 45)] +] -36.7 MRshow +1.000 UL +LTb +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MRshow +1.000 UL +LTb +473 352 M +0 63 V +0 3053 R +0 -63 V +stroke +473 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MCshow +1.000 UL +LTb +825 352 M +0 63 V +0 3053 R +0 -63 V +stroke +825 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MCshow +1.000 UL +LTb +1178 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1178 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MCshow +1.000 UL +LTb +1530 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1530 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MCshow +1.000 UL +LTb +1882 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1882 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MCshow +1.000 UL +LTb +2234 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2234 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MCshow +1.000 UL +LTb +2587 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2587 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MCshow +1.000 UL +LTb +2939 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2939 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MCshow +1.000 UL +LTb +3291 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3291 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MCshow +1.000 UL +LTb +3643 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3643 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MCshow +1.000 UL +LTb +3996 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3996 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +4348 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4348 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 110)] +] -36.7 MCshow +1.000 UL +LTb +4700 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4700 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 120)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Active Sensor Ratio \(%\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Periods)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +4316 3350 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 4382 3350 M +327 0 V +508 1469 M +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 4 V +35 32 V +36 30 V +35 29 V +35 36 V +35 25 V +36 8 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 2 V +35 6 V +36 16 V +35 11 V +35 19 V +35 20 V +35 20 V +36 9 V +35 12 V +35 1 V +35 8 V +36 0 V +35 0 V +35 0 V +35 1 V +35 1 V +36 -1 V +35 -4 V +35 6 V +35 0 V +36 3 V +35 -23 V +35 -6 V +35 -7 V +36 -23 V +35 -2 V +35 -10 V +35 -10 V +35 -6 V +36 -2 V +35 -7 V +35 -13 V +35 -21 V +36 -26 V +35 -29 V +35 -48 V +35 -44 V +35 -73 V +36 -45 V +35 -51 V +35 -44 V +35 -31 V +36 -39 V +35 -22 V +35 -20 V +35 -23 V +35 -54 V +36 -41 V +35 -57 V +35 -56 V +35 -69 V +36 -47 V +35 -47 V +35 -69 V +35 -41 V +36 -33 V +35 -28 V +35 -18 V +35 -22 V +35 -15 V +36 -22 V +35 -11 V +35 -20 V +35 -16 V +36 -23 V +35 -12 V +35 -19 V +35 -12 V +35 -9 V +36 -13 V +35 -5 V +35 -1 V +35 -2 V +36 -3 V +35 -5 V +35 -1 V +35 -4 V +stroke 4101 363 M +35 0 V +36 -1 V +35 -3 V +35 -1 V +35 -1 V +36 -1 V +35 -2 V +35 0 V +35 0 V +36 0 V +35 -1 V +35 -1 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +508 1469 TriUF +684 1469 TriUF +860 1469 TriUF +1037 1535 TriUF +1213 1633 TriUF +1389 1633 TriUF +1565 1687 TriUF +1741 1749 TriUF +1917 1758 TriUF +2093 1760 TriUF +2270 1704 TriUF +2446 1674 TriUF +2622 1578 TriUF +2798 1317 TriUF +2974 1161 TriUF +3150 930 TriUF +3326 657 TriUF +3502 541 TriUF +3679 449 TriUF +3855 384 TriUF +4031 368 TriUF +4207 359 TriUF +4383 354 TriUF +4559 352 TriUF +4735 352 TriUF +4545 3350 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +4316 3240 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 4382 3240 M +327 0 V +508 2244 M +35 0 V +36 0 V +35 1 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 -1 V +35 3 V +36 -3 V +35 1 V +35 -22 V +35 41 V +36 -8 V +35 20 V +35 -44 V +35 -73 V +36 -7 V +35 -1 V +35 0 V +35 2 V +35 0 V +36 0 V +35 0 V +35 3 V +35 13 V +36 3 V +35 -19 V +35 -22 V +35 -30 V +35 -7 V +36 -34 V +35 -33 V +35 -1 V +35 1 V +36 3 V +35 -5 V +35 3 V +35 -6 V +35 6 V +36 -39 V +35 -34 V +35 -85 V +35 -159 V +36 -133 V +35 -134 V +35 -100 V +35 -98 V +36 -61 V +35 -61 V +35 -57 V +35 -88 V +35 -106 V +36 -125 V +35 -150 V +35 -145 V +35 -56 V +36 -29 V +35 -6 V +35 -10 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +stroke 4101 352 M +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +508 2244 DiaF +684 2245 DiaF +860 2247 DiaF +1037 2256 DiaF +1213 2151 DiaF +1389 2153 DiaF +1565 2131 DiaF +1741 2026 DiaF +1917 2022 DiaF +2093 1711 DiaF +2270 1185 DiaF +2446 748 DiaF +2622 362 DiaF +2798 352 DiaF +2974 352 DiaF +3150 352 DiaF +3326 352 DiaF +3502 352 DiaF +3679 352 DiaF +3855 352 DiaF +4031 352 DiaF +4207 352 DiaF +4383 352 DiaF +4559 352 DiaF +4735 352 DiaF +4545 3240 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +4316 3130 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 4382 3130 M +327 0 V +508 2531 M +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 -29 V +36 -57 V +35 -49 V +35 -56 V +35 -49 V +36 -49 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 -17 V +35 -23 V +35 -40 V +35 -66 V +35 -75 V +36 -106 V +35 -85 V +35 -60 V +35 -46 V +36 -31 V +35 -10 V +35 0 V +35 0 V +35 0 V +36 -1 V +35 -15 V +35 -22 V +35 -44 V +36 -60 V +35 -66 V +35 -82 V +35 -92 V +36 -78 V +35 -77 V +35 -59 V +35 -35 V +35 -33 V +36 -11 V +35 -10 V +35 -3 V +35 -7 V +36 -13 V +35 -16 V +35 -29 V +35 -52 V +35 -49 V +36 -49 V +35 -62 V +35 -73 V +35 -44 V +36 -32 V +35 -25 V +35 -19 V +35 -13 V +35 -10 V +36 -7 V +35 -7 V +35 -10 V +35 -10 V +36 -10 V +35 -11 V +35 -11 V +35 -9 V +36 -13 V +35 -11 V +35 -5 V +35 -6 V +35 -4 V +36 -1 V +35 -1 V +35 -2 V +35 -2 V +36 -1 V +35 -3 V +35 -2 V +35 -3 V +35 -2 V +36 -3 V +35 -2 V +35 -7 V +35 -2 V +36 -1 V +35 0 V +35 -2 V +35 0 V +stroke 4101 354 M +35 -1 V +36 0 V +35 0 V +35 -1 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +508 2531 Star +684 2531 Star +860 2531 Star +1037 2445 Star +1213 2242 Star +1389 2242 Star +1565 2162 Star +1741 1770 Star +1917 1683 Star +2093 1601 Star +2270 1223 Star +2446 1008 Star +2622 959 Star +2798 718 Star +2974 525 Star +3150 478 Star +3326 427 Star +3502 388 Star +3679 381 Star +3855 368 Star +4031 356 Star +4207 353 Star +4383 352 Star +4559 352 Star +4735 352 Star +4545 3130 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +4316 3020 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 4382 3020 M +327 0 V +508 1608 M +35 3 V +36 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 0 V +35 0 V +36 0 V +35 0 V +35 -4 V +35 3 V +36 0 V +35 -10 V +35 8 V +35 -5 V +36 -10 V +35 0 V +35 -2 V +35 0 V +35 0 V +36 0 V +35 0 V +35 0 V +35 -1 V +36 -14 V +35 -12 V +35 -10 V +35 -10 V +35 -27 V +36 -15 V +35 -1 V +35 -10 V +35 -7 V +36 -2 V +35 -2 V +35 0 V +35 1 V +35 -6 V +36 -5 V +35 -4 V +35 -7 V +35 -18 V +36 -12 V +35 -18 V +35 -1 V +35 -12 V +36 -11 V +35 -13 V +35 -9 V +35 -7 V +35 -5 V +36 0 V +35 -5 V +35 -10 V +35 -1 V +36 -19 V +35 -21 V +35 -30 V +35 -15 V +35 -21 V +36 -29 V +35 -22 V +35 -20 V +35 -15 V +36 -16 V +35 -8 V +35 -15 V +35 -9 V +35 -11 V +36 -16 V +35 -10 V +35 -20 V +35 -17 V +36 -22 V +35 -18 V +35 -26 V +35 -28 V +36 -34 V +35 -22 V +35 -15 V +35 -10 V +35 -17 V +36 -4 V +35 -1 V +35 -10 V +35 -17 V +36 -17 V +35 -20 V +35 -25 V +35 -30 V +35 -22 V +36 -18 V +35 -20 V +35 -23 V +35 -15 V +36 -8 V +35 -8 V +35 -9 V +35 -16 V +stroke 4101 568 M +35 -18 V +36 -12 V +35 -9 V +35 -12 V +35 -22 V +36 -17 V +35 -19 V +35 -10 V +35 -25 V +36 -17 V +35 -3 V +35 -15 V +35 -12 V +35 0 V +36 -3 V +35 -7 V +35 -6 V +35 -9 V +36 0 V +35 0 V +35 0 V +508 1608 CircleF +684 1611 CircleF +860 1611 CircleF +1037 1610 CircleF +1213 1593 CircleF +1389 1591 CircleF +1565 1554 CircleF +1741 1491 CircleF +1917 1481 CircleF +2093 1441 CircleF +2270 1387 CircleF +2446 1353 CircleF +2622 1297 CircleF +2798 1180 CircleF +2974 1106 CircleF +3150 1040 CircleF +3326 929 CircleF +3502 831 CircleF +3679 782 CircleF +3855 667 CircleF +4031 593 CircleF +4207 529 CircleF +4383 449 CircleF +4559 377 CircleF +4735 352 CircleF +4545 3020 CircleF +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure7a.eps b/PeCO-EO/figure7a.eps new file mode 100644 index 0000000..25a32bc --- /dev/null +++ b/PeCO-EO/figure7a.eps @@ -0,0 +1,882 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 545 402 +%%HiResBoundingBox: 54 53.5 544.5 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:10:03 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:10:03 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +605 352 M +63 0 V +4173 0 R +-63 0 V +stroke +539 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1250)] +] -36.7 MRshow +1.000 UL +LTb +605 698 M +63 0 V +4173 0 R +-63 0 V +stroke +539 698 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1500)] +] -36.7 MRshow +1.000 UL +LTb +605 1044 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1044 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1750)] +] -36.7 MRshow +1.000 UL +LTb +605 1391 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1391 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2000)] +] -36.7 MRshow +1.000 UL +LTb +605 1737 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1737 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2250)] +] -36.7 MRshow +1.000 UL +LTb +605 2083 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2083 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2500)] +] -36.7 MRshow +1.000 UL +LTb +605 2429 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2429 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2750)] +] -36.7 MRshow +1.000 UL +LTb +605 2776 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2776 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 3000)] +] -36.7 MRshow +1.000 UL +LTb +605 3122 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3122 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 3250)] +] -36.7 MRshow +1.000 UL +LTb +605 3468 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 3500)] +] -36.7 MRshow +1.000 UL +LTb +605 352 M +0 63 V +0 3053 R +0 -63 V +stroke +605 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 75)] +] -36.7 MCshow +1.000 UL +LTb +1029 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1029 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +1452 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1452 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 125)] +] -36.7 MCshow +1.000 UL +LTb +1876 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1876 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MCshow +1.000 UL +LTb +2299 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2299 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 175)] +] -36.7 MCshow +1.000 UL +LTb +2723 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2723 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 200)] +] -36.7 MCshow +1.000 UL +LTb +3147 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3147 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 225)] +] -36.7 MCshow +1.000 UL +LTb +3570 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3570 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 250)] +] -36.7 MCshow +1.000 UL +LTb +3994 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3994 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 275)] +] -36.7 MCshow +1.000 UL +LTb +4417 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4417 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 300)] +] -36.7 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 325)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Energy Consumption Per Period \(Joules\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2723 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Wireless Sensor Nodes)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +1163 3261 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 1229 3261 M +327 0 V +1029 563 M +847 202 V +847 180 V +847 216 V +847 268 V +1029 563 TriUF +1876 765 TriUF +2723 945 TriUF +3570 1161 TriUF +4417 1429 TriUF +1392 3261 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +1163 3151 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 1229 3151 M +327 0 V +1029 1285 M +847 513 V +847 372 V +847 465 V +847 594 V +1029 1285 DiaF +1876 1798 DiaF +2723 2170 DiaF +3570 2635 DiaF +4417 3229 DiaF +1392 3151 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +1163 3041 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 1229 3041 M +327 0 V +1029 1408 M +847 77 V +847 59 V +847 169 V +847 151 V +1029 1408 Star +1876 1485 Star +2723 1544 Star +3570 1713 Star +4417 1864 Star +1392 3041 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +1163 2931 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 1229 2931 M +327 0 V +1029 449 M +847 128 V +847 174 V +847 233 V +847 311 V +1029 449 CircleF +1876 577 CircleF +2723 751 CircleF +3570 984 CircleF +4417 1295 CircleF +1392 2931 CircleF +% End plot #4 +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure7b.eps b/PeCO-EO/figure7b.eps new file mode 100644 index 0000000..8953c78 --- /dev/null +++ b/PeCO-EO/figure7b.eps @@ -0,0 +1,882 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 545 402 +%%HiResBoundingBox: 54 53.5 544.5 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:08:57 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:08:57 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +605 352 M +63 0 V +4173 0 R +-63 0 V +stroke +539 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1000)] +] -36.7 MRshow +1.000 UL +LTb +605 698 M +63 0 V +4173 0 R +-63 0 V +stroke +539 698 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1250)] +] -36.7 MRshow +1.000 UL +LTb +605 1044 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1044 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1500)] +] -36.7 MRshow +1.000 UL +LTb +605 1391 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1391 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 1750)] +] -36.7 MRshow +1.000 UL +LTb +605 1737 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1737 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2000)] +] -36.7 MRshow +1.000 UL +LTb +605 2083 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2083 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2250)] +] -36.7 MRshow +1.000 UL +LTb +605 2429 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2429 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2500)] +] -36.7 MRshow +1.000 UL +LTb +605 2776 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2776 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 2750)] +] -36.7 MRshow +1.000 UL +LTb +605 3122 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3122 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 3000)] +] -36.7 MRshow +1.000 UL +LTb +605 3468 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 3250)] +] -36.7 MRshow +1.000 UL +LTb +605 352 M +0 63 V +0 3053 R +0 -63 V +stroke +605 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 75)] +] -36.7 MCshow +1.000 UL +LTb +1029 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1029 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +1452 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1452 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 125)] +] -36.7 MCshow +1.000 UL +LTb +1876 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1876 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MCshow +1.000 UL +LTb +2299 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2299 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 175)] +] -36.7 MCshow +1.000 UL +LTb +2723 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2723 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 200)] +] -36.7 MCshow +1.000 UL +LTb +3147 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3147 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 225)] +] -36.7 MCshow +1.000 UL +LTb +3570 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3570 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 250)] +] -36.7 MCshow +1.000 UL +LTb +3994 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3994 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 275)] +] -36.7 MCshow +1.000 UL +LTb +4417 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4417 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 300)] +] -36.7 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 325)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Energy Consumption Per Period \(Joules\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2723 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Wireless Sensor Nodes)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +1163 3275 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 1229 3275 M +327 0 V +1029 603 M +847 263 V +847 201 V +847 210 V +847 260 V +1029 603 TriUF +1876 866 TriUF +2723 1067 TriUF +3570 1277 TriUF +4417 1537 TriUF +1392 3275 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +1163 3165 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 1229 3165 M +327 0 V +1029 1513 M +847 293 V +847 327 V +847 578 V +847 522 V +1029 1513 DiaF +1876 1806 DiaF +2723 2133 DiaF +3570 2711 DiaF +4417 3233 DiaF +1392 3165 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +1163 3055 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 1229 3055 M +327 0 V +1029 1133 M +847 122 V +847 117 V +847 130 V +847 141 V +1029 1133 Star +1876 1255 Star +2723 1372 Star +3570 1502 Star +4417 1643 Star +1392 3055 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +1163 2945 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 1229 2945 M +327 0 V +1029 491 M +847 76 V +847 121 V +847 123 V +847 215 V +1029 491 CircleF +1876 567 CircleF +2723 688 CircleF +3570 811 CircleF +4417 1026 CircleF +1392 2945 CircleF +% End plot #4 +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure8a.eps b/PeCO-EO/figure8a.eps new file mode 100644 index 0000000..d9217cf --- /dev/null +++ b/PeCO-EO/figure8a.eps @@ -0,0 +1,882 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 545 402 +%%HiResBoundingBox: 54 53.5 544.5 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:12:31 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:12:31 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MRshow +1.000 UL +LTb +473 698 M +63 0 V +4305 0 R +-63 0 V +stroke +407 698 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MRshow +1.000 UL +LTb +473 1044 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1044 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MRshow +1.000 UL +LTb +473 1391 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1391 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MRshow +1.000 UL +LTb +473 1737 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1737 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MRshow +1.000 UL +LTb +473 2083 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2083 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MRshow +1.000 UL +LTb +473 2429 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2429 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MRshow +1.000 UL +LTb +473 2776 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2776 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MRshow +1.000 UL +LTb +473 3122 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3122 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MRshow +1.000 UL +LTb +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MRshow +1.000 UL +LTb +473 352 M +0 63 V +0 3053 R +0 -63 V +stroke +473 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 75)] +] -36.7 MCshow +1.000 UL +LTb +910 352 M +0 63 V +0 3053 R +0 -63 V +stroke +910 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +1347 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1347 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 125)] +] -36.7 MCshow +1.000 UL +LTb +1783 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1783 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MCshow +1.000 UL +LTb +2220 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2220 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 175)] +] -36.7 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 200)] +] -36.7 MCshow +1.000 UL +LTb +3094 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3094 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 225)] +] -36.7 MCshow +1.000 UL +LTb +3531 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3531 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 250)] +] -36.7 MCshow +1.000 UL +LTb +3967 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3967 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 275)] +] -36.7 MCshow +1.000 UL +LTb +4404 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4404 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 300)] +] -36.7 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 325)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Network Lifetime \(Hours\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Wireless Sensor Nodes)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +1062 3275 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 1128 3275 M +327 0 V +910 1425 M +873 520 V +874 484 V +874 416 V +873 346 V +910 1425 TriUF +1783 1945 TriUF +2657 2429 TriUF +3531 2845 TriUF +4404 3191 TriUF +1291 3275 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +1062 3165 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 1128 3165 M +327 0 V +910 1356 M +873 139 V +874 415 V +874 277 V +873 173 V +910 1356 DiaF +1783 1495 DiaF +2657 1910 DiaF +3531 2187 DiaF +4404 2360 DiaF +1291 3165 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +1062 3055 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 1128 3055 M +327 0 V +910 1010 M +873 485 V +874 484 V +874 277 V +873 346 V +910 1010 Star +1783 1495 Star +2657 1979 Star +3531 2256 Star +4404 2602 Star +1291 3055 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +1062 2945 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 1128 2945 M +327 0 V +910 1391 M +873 519 V +874 415 V +874 277 V +873 312 V +910 1391 CircleF +1783 1910 CircleF +2657 2325 CircleF +3531 2602 CircleF +4404 2914 CircleF +1291 2945 CircleF +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure8b.eps b/PeCO-EO/figure8b.eps new file mode 100644 index 0000000..a6955be --- /dev/null +++ b/PeCO-EO/figure8b.eps @@ -0,0 +1,942 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 545 402 +%%HiResBoundingBox: 54 53.5 544.5 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:11:36 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:11:36 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +539 352 M +63 0 V +4239 0 R +-63 0 V +stroke +473 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MRshow +1.000 UL +LTb +539 560 M +63 0 V +4239 0 R +-63 0 V +stroke +473 560 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MRshow +1.000 UL +LTb +539 767 M +63 0 V +4239 0 R +-63 0 V +stroke +473 767 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MRshow +1.000 UL +LTb +539 975 M +63 0 V +4239 0 R +-63 0 V +stroke +473 975 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MRshow +1.000 UL +LTb +539 1183 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1183 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MRshow +1.000 UL +LTb +539 1391 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1391 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MRshow +1.000 UL +LTb +539 1598 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1598 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MRshow +1.000 UL +LTb +539 1806 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1806 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MRshow +1.000 UL +LTb +539 2014 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2014 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MRshow +1.000 UL +LTb +539 2222 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2222 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MRshow +1.000 UL +LTb +539 2429 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2429 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MRshow +1.000 UL +LTb +539 2637 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2637 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 110)] +] -36.7 MRshow +1.000 UL +LTb +539 2845 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2845 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 120)] +] -36.7 MRshow +1.000 UL +LTb +539 3053 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3053 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 130)] +] -36.7 MRshow +1.000 UL +LTb +539 3260 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3260 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 140)] +] -36.7 MRshow +1.000 UL +LTb +539 3468 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MRshow +1.000 UL +LTb +539 352 M +0 63 V +0 3053 R +0 -63 V +stroke +539 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 75)] +] -36.7 MCshow +1.000 UL +LTb +969 352 M +0 63 V +0 3053 R +0 -63 V +stroke +969 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MCshow +1.000 UL +LTb +1399 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1399 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 125)] +] -36.7 MCshow +1.000 UL +LTb +1830 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1830 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MCshow +1.000 UL +LTb +2260 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2260 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 175)] +] -36.7 MCshow +1.000 UL +LTb +2690 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2690 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 200)] +] -36.7 MCshow +1.000 UL +LTb +3120 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3120 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 225)] +] -36.7 MCshow +1.000 UL +LTb +3550 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3550 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 250)] +] -36.7 MCshow +1.000 UL +LTb +3981 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3981 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 275)] +] -36.7 MCshow +1.000 UL +LTb +4411 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4411 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 300)] +] -36.7 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 325)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Network Lifetime \(Hours\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2690 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (Number of Wireless Sensor Nodes)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +2.000 UL +LT0 +0.00 0.55 0.55 C LCb setrgbcolor +1112 3288 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO)] +] -36.7 MRshow +LT0 +0.00 0.55 0.55 C 1178 3288 M +327 0 V +969 1349 M +861 312 V +860 311 V +860 270 V +861 208 V +969 1349 TriUF +1830 1661 TriUF +2690 1972 TriUF +3550 2242 TriUF +4411 2450 TriUF +1341 3288 TriUF +% End plot #1 +% Begin plot #2 +1.000 UP +2.000 UL +LT1 +0.00 0.39 0.00 C LCb setrgbcolor +1112 3178 M +[ [(Helvetica) 110.0 0.0 true true 0 (DESK)] +] -36.7 MRshow +LT1 +0.00 0.39 0.00 C 1178 3178 M +327 0 V +969 1017 M +861 249 V +860 229 V +860 103 V +861 125 V +969 1017 DiaF +1830 1266 DiaF +2690 1495 DiaF +3550 1598 DiaF +4411 1723 DiaF +1341 3178 DiaF +% End plot #2 +% Begin plot #3 +1.000 UP +2.000 UL +LT2 +0.50 0.00 0.00 C LCb setrgbcolor +1112 3068 M +[ [(Helvetica) 110.0 0.0 true true 0 (GAF)] +] -36.7 MRshow +LT2 +0.50 0.00 0.00 C 1178 3068 M +327 0 V +969 1079 M +861 332 V +860 312 V +860 270 V +861 249 V +969 1079 Star +1830 1411 Star +2690 1723 Star +3550 1993 Star +4411 2242 Star +1341 3068 Star +% End plot #3 +% Begin plot #4 +1.000 UP +2.000 UL +LT3 +0.00 0.00 0.55 C LCb setrgbcolor +1112 2958 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO)] +] -36.7 MRshow +LT3 +0.00 0.00 0.55 C 1178 2958 M +327 0 V +969 1391 M +861 498 V +860 416 V +860 394 V +861 250 V +969 1391 CircleF +1830 1889 CircleF +2690 2305 CircleF +3550 2699 CircleF +4411 2949 CircleF +1341 2958 CircleF +% End plot #4 +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/figure9.eps b/PeCO-EO/figure9.eps new file mode 100644 index 0000000..67ca46d --- /dev/null +++ b/PeCO-EO/figure9.eps @@ -0,0 +1,1000 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 53 53 536 402 +%%HiResBoundingBox: 54 53.5 535 401.5 +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Mon Feb 2 16:16:10 2015 +%%EndComments +% EPSF created by ps2eps 1.68 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (ali) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Mon Feb 2 16:16:10 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +539 352 M +63 0 V +4239 0 R +-63 0 V +stroke +473 352 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 0)] +] -36.7 MRshow +1.000 UL +LTb +539 456 M +31 0 V +4271 0 R +-31 0 V +539 560 M +63 0 V +4239 0 R +-63 0 V +stroke +473 560 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 10)] +] -36.7 MRshow +1.000 UL +LTb +539 664 M +31 0 V +4271 0 R +-31 0 V +539 767 M +63 0 V +4239 0 R +-63 0 V +stroke +473 767 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 20)] +] -36.7 MRshow +1.000 UL +LTb +539 871 M +31 0 V +4271 0 R +-31 0 V +539 975 M +63 0 V +4239 0 R +-63 0 V +stroke +473 975 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 30)] +] -36.7 MRshow +1.000 UL +LTb +539 1079 M +31 0 V +4271 0 R +-31 0 V +539 1183 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1183 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 40)] +] -36.7 MRshow +1.000 UL +LTb +539 1287 M +31 0 V +4271 0 R +-31 0 V +539 1391 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1391 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 50)] +] -36.7 MRshow +1.000 UL +LTb +539 1495 M +31 0 V +4271 0 R +-31 0 V +539 1598 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1598 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 60)] +] -36.7 MRshow +1.000 UL +LTb +539 1702 M +31 0 V +4271 0 R +-31 0 V +539 1806 M +63 0 V +4239 0 R +-63 0 V +stroke +473 1806 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 70)] +] -36.7 MRshow +1.000 UL +LTb +539 1910 M +31 0 V +4271 0 R +-31 0 V +539 2014 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2014 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 80)] +] -36.7 MRshow +1.000 UL +LTb +539 2118 M +31 0 V +4271 0 R +-31 0 V +539 2222 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2222 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 90)] +] -36.7 MRshow +1.000 UL +LTb +539 2325 M +31 0 V +4271 0 R +-31 0 V +539 2429 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2429 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 100)] +] -36.7 MRshow +1.000 UL +LTb +539 2533 M +31 0 V +4271 0 R +-31 0 V +539 2637 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2637 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 110)] +] -36.7 MRshow +1.000 UL +LTb +539 2741 M +31 0 V +4271 0 R +-31 0 V +539 2845 M +63 0 V +4239 0 R +-63 0 V +stroke +473 2845 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 120)] +] -36.7 MRshow +1.000 UL +LTb +539 2949 M +31 0 V +4271 0 R +-31 0 V +539 3053 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3053 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 130)] +] -36.7 MRshow +1.000 UL +LTb +539 3156 M +31 0 V +4271 0 R +-31 0 V +539 3260 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3260 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 140)] +] -36.7 MRshow +1.000 UL +LTb +539 3364 M +31 0 V +4271 0 R +-31 0 V +539 3468 M +63 0 V +4239 0 R +-63 0 V +stroke +473 3468 M +[ [(Helvetica) 110.0 0.0 true true 0 ( 150)] +] -36.7 MRshow +1.000 UL +LTb +1256 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1256 242 M +[ [(Helvetica) 110.0 0.0 true true 0 (100)] +] -36.7 MCshow +1.000 UL +LTb +1973 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1973 242 M +[ [(Helvetica) 110.0 0.0 true true 0 (150)] +] -36.7 MCshow +1.000 UL +LTb +2690 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2690 242 M +[ [(Helvetica) 110.0 0.0 true true 0 (200)] +] -36.7 MCshow +1.000 UL +LTb +3407 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3407 242 M +[ [(Helvetica) 110.0 0.0 true true 0 (250)] +] -36.7 MCshow +1.000 UL +LTb +4124 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4124 242 M +[ [(Helvetica) 110.0 0.0 true true 0 (300)] +] -36.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 110.0 0.0 true true 0 (Network Lifetime \(Hours\) )] +] -36.7 MCshow +grestore +LTb +LCb setrgbcolor +2690 77 M +[ [(Helvetica) 110.0 0.0 true true 0 (The Number of Wireless Sensor Nodes)] +] -36.7 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.62 0.69 0.87 C LCb setrgbcolor +1156 3330 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO/50)] +] -36.7 MRshow +LT0 +0.62 0.69 0.87 C 1.000 1222 3303 327 55 BoxColFill +1.000 938 352 50 998 BoxColFill +1.000 1655 352 50 1310 BoxColFill +1.000 2372 352 50 1621 BoxColFill +1.000 3089 352 50 1891 BoxColFill +1.000 3806 352 50 2099 BoxColFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1156 3220 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO/50)] +] -36.7 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1222 3193 327 55 BoxColFill +1.000 1003 352 50 1040 BoxColFill +1.000 1720 352 50 1538 BoxColFill +1.000 2437 352 50 1954 BoxColFill +1.000 3154 352 50 2348 BoxColFill +1.000 3871 352 50 2598 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT2 +1.00 0.75 0.80 C LCb setrgbcolor +1156 3110 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO/80)] +] -36.7 MRshow +LT2 +1.00 0.75 0.80 C 1.000 1222 3083 327 55 BoxColFill +1.000 1069 352 49 728 BoxColFill +1.000 1786 352 49 1081 BoxColFill +1.000 2503 352 49 1414 BoxColFill +1.000 3220 352 49 1704 BoxColFill +1.000 3937 352 49 1912 BoxColFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +1.00 0.00 0.00 C LCb setrgbcolor +1156 3000 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO/80)] +] -36.7 MRshow +LT3 +1.00 0.00 0.00 C 1.000 1222 2973 327 55 BoxColFill +1.000 1134 352 50 749 BoxColFill +1.000 1851 352 50 1268 BoxColFill +1.000 2568 352 50 1580 BoxColFill +1.000 3285 352 50 1912 BoxColFill +1.000 4002 352 50 2182 BoxColFill +% End plot #4 +% Begin plot #5 +1.000 UL +LT4 +0.54 0.17 0.89 C LCb setrgbcolor +1156 2890 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO/85)] +] -36.7 MRshow +LT4 +0.54 0.17 0.89 C 1.000 1222 2863 327 55 BoxColFill +1.000 1199 352 50 707 BoxColFill +1.000 1916 352 50 1040 BoxColFill +1.000 2633 352 50 1351 BoxColFill +1.000 3350 352 50 1642 BoxColFill +1.000 4067 352 50 1871 BoxColFill +% End plot #5 +% Begin plot #6 +1.000 UL +LT5 +0.18 0.55 0.34 C LCb setrgbcolor +1156 2780 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO/85)] +] -36.7 MRshow +LT5 +0.18 0.55 0.34 C 1.000 1222 2753 327 55 BoxColFill +1.000 1264 352 50 707 BoxColFill +1.000 1981 352 50 1081 BoxColFill +1.000 2698 352 50 1455 BoxColFill +1.000 3415 352 50 1788 BoxColFill +1.000 4132 352 50 1954 BoxColFill +% End plot #6 +% Begin plot #7 +1.000 UL +LT6 +1.00 0.00 1.00 C LCb setrgbcolor +1156 2670 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO/90)] +] -36.7 MRshow +LT6 +1.00 0.00 1.00 C 1.000 1222 2643 327 55 BoxColFill +1.000 1329 352 50 687 BoxColFill +1.000 2046 352 50 998 BoxColFill +1.000 2763 352 50 1310 BoxColFill +1.000 3480 352 50 1580 BoxColFill +1.000 4197 352 50 1808 BoxColFill +% End plot #7 +% Begin plot #8 +1.000 UL +LT7 +0.00 0.55 0.55 C LCb setrgbcolor +1156 2560 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO/90)] +] -36.7 MRshow +LT7 +0.00 0.55 0.55 C 1.000 1222 2533 327 55 BoxColFill +1.000 1395 352 49 687 BoxColFill +1.000 2112 352 49 1019 BoxColFill +1.000 2829 352 49 1330 BoxColFill +1.000 3546 352 49 1621 BoxColFill +1.000 4263 352 49 1788 BoxColFill +% End plot #8 +% Begin plot #9 +1.000 UL +LT8 +0.50 1.00 0.83 C LCb setrgbcolor +1156 2450 M +[ [(Helvetica) 110.0 0.0 true true 0 (DiLCO/95)] +] -36.7 MRshow +LT8 +0.50 1.00 0.83 C 1.000 1222 2423 327 55 BoxColFill +1.000 1460 352 50 645 BoxColFill +1.000 2177 352 50 957 BoxColFill +1.000 2894 352 50 1247 BoxColFill +1.000 3611 352 50 1497 BoxColFill +1.000 4328 352 50 1704 BoxColFill +% End plot #9 +% Begin plot #10 +1.000 UL +LT0 +0.50 0.00 0.00 C LCb setrgbcolor +1156 2340 M +[ [(Helvetica) 110.0 0.0 true true 0 (PeCO/95)] +] -36.7 MRshow +LT0 +0.50 0.00 0.00 C 1.000 1222 2313 327 55 BoxColFill +1.000 1525 352 50 624 BoxColFill +1.000 2242 352 50 936 BoxColFill +1.000 2959 352 50 1185 BoxColFill +1.000 3676 352 50 1351 BoxColFill +1.000 4393 352 50 1538 BoxColFill +% End plot #10 +1.000 UL +LTb +539 3468 N +539 352 L +4302 0 V +0 3116 V +-4302 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF diff --git a/PeCO-EO/gENO.bst b/PeCO-EO/gENO.bst new file mode 100644 index 0000000..772af5e --- /dev/null +++ b/PeCO-EO/gENO.bst @@ -0,0 +1,1847 @@ +%% +%% This is file `gENO.bst', +%% generated with the docstrip utility. +%% ---------------------------------------- +%% +%% *** BibTeX style for Engineering Optimization *** +%% + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + % Copyright 1994-2011 Patrick W Daly + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al. 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith 1990) + % \citep[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al. 1990) + % \citep[e.g.][32]{key} ==>> (e.g. Jones et al. 1990, 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + doi + edition + editor + eid + eprint + howpublished + institution + journal + key + lastchecked + location + month + note + number + numpages + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ". " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds" } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed" } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "In" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {format.url} +{ + url + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ +} + +FUNCTION {format.lastchecked} +{ lastchecked duplicate$ empty$ 'skip$ + { + "Accessed~" swap$ * %"." * + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{ff~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, ff}{, jj}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #7 + #1 + = + numnames #0 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor +% capitalize +% "(" swap$ * ")" * + * + } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { + "\doi{" doi * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "``" swap$ * + ".'' " * + } + if$ +} +FUNCTION {format.plaintitle} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "" swap$ * + ". " * + } + if$ +} +FUNCTION {format.title.dot} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "``" swap$ * + "''. " * + } + if$ +} +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} +FUNCTION {end.quote.btitle} +{ booktitle empty$ + 'skip$ + { editor empty$ + { before.all 'output.state := } + 'skip$ + if$ + } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + nameptr #7 + #1 + = + numnames #0 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { " " } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ": " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ + } + if$ +} + +FUNCTION {format.vol.num} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + " (" swap$ * ")." * + } + if$ * + } + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + " (" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {bt.emph} +{ duplicate$ empty$ 'skip$ + { "\emph{" swap$ * + non.stop + { ",} " * } + { "}, " * } + if$ + } + if$ +} +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + bt.emph +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { " " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + " " * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {format.institution.address}%added for use in FUNCTION {techreport}% +{ institution "institution" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.location} +{ location empty$ + { "" } + { location "location" bibinfo.check} + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month "month" bibinfo.check + "" swap$ * "." *} + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.edition output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.btitle + format.number.series output + format.edition output + format.chapter.pages output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + end.quote.btitle + format.location output + format.number.series output + format.pages output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.month output + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output%added% + %format.doi output + new.sentence + format.note output + format.eprint output + format.lastchecked output + format.url output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors output + author format.key output + format.title output + end.quote.title + format.organization.address "organization and address" output.check + month "month" output.check + year "year" output.check + new.sentence + format.note output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + %format.doi output + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + format.tr.number output.nonnull + format.institution.address output%added in place of next two lines% + %address "address" bibinfo.check output% + %institution "institution" bibinfo.warn output% + new.sentence + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + %format.doi output + new.sentence + format.note "note" output.check + format.eprint output + format.lastchecked output + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + nameptr #2 = + numnames #3 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\normalfont{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{ }" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `gENO.bst'. diff --git a/PeCO-EO/gENO2e.cls b/PeCO-EO/gENO2e.cls new file mode 100644 index 0000000..6b21f4d --- /dev/null +++ b/PeCO-EO/gENO2e.cls @@ -0,0 +1,1630 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +% This is file `gENO2e.cls' +%% +% Version : 4.1 +%% +% gENO - Engineering Optimization +%% +% This file is part of the LaTeX2e system. +%% +% 'Rotating.sty' to be used for rotating tables and figures +%% +% Suitcase: +%% CMR family +%% +% History of Changes: +% v2.0 - First released 1998/04/09 +% v3.1 - First released 2004/07/01 +% 1. Provision for subject classification after the Keywords using \classcode, +% e.g. "AMS Subject Classification: F1.1; F4.3" +% v3.2 - First released 2006/07/22 +% 1. Inclusion of \jvol{} \jnum{} \jyear{} \jmonth{} optional (defaults to 'Vol. 00, No. 00, Month 20XX') +% 2. Inclusion of \received optional (defaults to 'Received 00 Month 20XX; final version received 00 Month 20XX') +% 3. Page width 42pc +% 4. Upright lc Greek, etc. available +% 5. First page footnote available for gENO articles +% v3.3 - First released 2006/11/08 +% 1. Abstract, keywords and classcodes indented left and right +% v3.4 - First released 2008/01/04 +% 1. Page width 32.65pc +% 2. Converted style to new Style 2 (2008) with Refs Style X +% 3. Provision for \articletype above \title (e.g. ORIGINAL ARTICLE, RESEARCH ARTICLE, EDITORIAL, +% BOOK REVIEWS, BRIEF COMMUNICATION) +% v3.5 - First released 2008/08/03 +% 1. Definition style brought in line with Daniel Hartley's exemplar PDF +% 2. Removed call for mathbbol.sty so as to default to AMS openface style fonts +% v3.6 - First released 2008/09/19 +% 1. Hacked Remark and Algorithm numbering to remove bug +% v3.7 - First released 2008/09/25 +% 1. Table and figure spacing above and below adjusted +% v3.8 - First released 2008/09/30 +% 1. Lists unindented +% v3.9 - First released 2009/05/17 +% 1. Example style implemented +% v4.0 - First released 2010/12/10 +% 1. DOI style updated +% 2. \articletype now defaults to blank +% v4.1 - First released 2013/04/29 incorporating the following provisions: +% 1. Converted to Chicago author-date reference style +% 2. Text width 35pc +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{gENO2e}[2013/04/29 v4.1 Engineering Optimization LaTeX2e document class] +\newif\if@restonecol +\@twosidetrue\@mparswitchtrue +\@twocolumnfalse +%% +\def\jobtag{Engineering Optimization} +\newdimen\draftrule +\draftrule=0pt +\newif\ifdraft +\draftfalse +\newif\ifprinter +\newif\ifappendix\appendixfalse +% +\newdimen\trimrule +\trimrule=.1pt +% +\newdimen\draftrule +\draftrule=0pt +% +\DeclareOption{draft}{\setlength\overfullrule{5pt}\draftrule0.1pt\global\drafttrue} +\DeclareOption{printer}{\setlength\overfullrule{0pt}\trimrule0pt\global\printertrue} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +% +\ExecuteOptions{legalpaper,onecolumn,final} +\ProcessOptions +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Boxes & Dimensions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newdimen\trimheight +\newdimen\trimwidth +\newdimen\typeheight +\newdimen\typewidth +\newdimen\normaltextheight +\newdimen\blindfoliodrop +\newdimen\tempdimen +\newdimen\rhdraftruleheight +\rhdraftruleheight\draftrule +% +\newbox\tempbox +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Boxes & Dimensions %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\editedfont{\normalfont\fontsize{11}{12}\selectfont\itshape\raggedright\leftskip1pc\rightskip5pc plus 1fill{}} +\def\abstractfont{\normalfont\fontsize{9}{10}\selectfont\leftskip2pc\rightskip2pc}% +\def\authorfont{\normalfont\fontsize{10}{13}\selectfont\centering} +\def\affilfont{\normalfont\fontsize{9}{10}\selectfont\centering}%\itshape% +\def\receivedfont{\normalfont\fontsize{8}{12}\selectfont\centering\itshape} +\def\bibliofont{\fontsize{10}{12}\selectfont}% +\def\dropfoliofont{\fontsize{8}{10}\selectfont}% +\def\extractfont{\fontsize{10}{12}\selectfont\leftskip12pt\rightskip12pt}% +\def\figcaptionfont{\fontsize{8}{9}\selectfont}% +\def\fignumfont{\fontsize{8}{9}\selectfont}% +\let\foliofont\dropfoliofont +\def\indexfont{\normalfont\fontsize{9}{12}\selectfont\raggedright}% +\def\keywordfont{\normalfont\fontsize{9}{10}\selectfont\leftskip2pc\rightskip2pc plus1fill}% +\def\listfont{}% +\def\rhfont{\fontsize{8}{12}\selectfont\itshape}% +\def\rffont{\fontsize{8}{10}\selectfont\itshape}% +\def\sectionfont{\fontsize{11}{13}\selectfont\bfseries\raggedright\boldmath}% +\def\subsectionfont{\fontsize{11}{13}\selectfont\bfseries\itshape\raggedright\boldmath}% +\def\subsubsectionfont{\fontsize{11}{13}\selectfont\itshape\raggedright}% +\def\paragraphfont{\fontsize{11}{13}{\selectfont\itshape}}%\itshape% +\def\subparagraphfont{\fontsize{11}{13}\selectfont\itshape}% +\def\tablefont{\fontsize{8}{9}\selectfont}% +\def\tablecaptionfont{\fontsize{8}{9}\selectfont\leftskip\tabledim\rightskip\tabledim}% +\def\tablenumfont{\fontsize{8}{9}\selectfont}% +\def\tabnotefont{\fontsize{8}{9}\selectfont}% +\def\articletypefont{\fontsize{13}{16}\selectfont\bfseries\centering\uppercase}% +\def\titlefont{\fontsize{13}{16}\selectfont\bfseries\centering}% +\def\thanksfont{\fontsize{8}{9}\selectfont} +\def\sluglinefont{\fontsize{6}{8}\selectfont}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@xpt{10} +\def\@xiiipt{13} +\def\@xivpt{14} +\def\@xvipt{16} +\def\@xipt{11} + +\def\@xviiipt{18} +% +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xipt\@xiiipt + \abovedisplayskip 13\p@ \@plus2\p@ minus.5pt + \abovedisplayshortskip \abovedisplayskip + \belowdisplayskip 13\p@ \@plus2\p@ minus.5pt + \belowdisplayshortskip\belowdisplayskip + \let\@listi\@listI} +\normalsize +% +\newcommand\small{% + \@setfontsize\small\@xpt{11}% + \abovedisplayskip 8.5\p@ \@plus3\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ + \def\@list1{\leftmargin\leftmargin1 + \topsep 6\p@ \@plus2\p@ + \parsep 2\p@ \@plus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip\setSmallDelims} +% +\def\setSmallDelims{% +\def\big##1{{\hbox{$\left##1\vbox to7.5\p@{}\right.\n@space$}}}% +\def\Big##1{{\hbox{$\left##1\vbox to10.5\p@{}\right.\n@space$}}}% +\def\bigg##1{{\hbox{$\left##1\vbox to13.5\p@{}\right.\n@space$}}}% +\def\Bigg##1{{\hbox{$\left##1\vbox to16.5\p@{}\right.\n@space$}}}% +\def\biggg##1{{\hbox{$\left##1\vbox to19.5\p@{}\right.\n@space$}}}% +\def\Biggg##1{{\hbox{$\left##1\vbox to22.5\p@{}\right.\n@space$}}}% +} +% +\newcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{10}% + \abovedisplayskip 6\p@ \@plus2\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus\p@ + \parsep 2\p@ \@plus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip\setFootnotesizeDelims + } +% +\def\setFootnotesizeDelims{% +\def\big##1{{\hbox{$\left##1\vbox to6.5\p@{}\right.\n@space$}}}% +\def\Big##1{{\hbox{$\left##1\vbox to9.5\p@{}\right.\n@space$}}}% +\def\bigg##1{{\hbox{$\left##1\vbox to12.5\p@{}\right.\n@space$}}}% +\def\Bigg##1{{\hbox{$\left##1\vbox to15.5\p@{}\right.\n@space$}}}% +\def\biggg##1{{\hbox{$\left##1\vbox to18.5\p@{}\right.\n@space$}}}% +\def\Biggg##1{{\hbox{$\left##1\vbox to21.5\p@{}\right.\n@space$}}}% +} +% +\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} +\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\newcommand\large{\@setfontsize\large\@xipt{13}}%16/19 +\newcommand\Large{\@setfontsize\Large\@xviipt{18}}%18/18 +\newcommand\LARGE{\@setfontsize\LARGE\@xviiipt{22}} +\newcommand\huge{\@setfontsize\huge\@xxpt{25}} +\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} +%%%%%%%%%%%%%%%%%%%%%%%%%%% Fonts family definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\capsdefault{caps}% All CAPS +\DeclareRobustCommand\capsshape + {\not@math@alphabet\capsshape\mathrm + \fontshape\capsdefault\selectfont} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Front Matter Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareOldFontCommand{\bi}{\bfseries\itshape}{\bfseries\itshape} +\newcommand{\cal}{\protect\pcal} +\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}} +\newcommand{\mit}{\protect\pmit} +\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}} +% +\renewcommand\rmdefault{cmr} +\newcommand\rmmathdefault{cmr} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Front Matter Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DeclareFontFamily{OT1}{Clearface}{} +\DeclareFontShape{OT1}{Clearface}{m}{n}{ <-> Clearface-Regular }{} +\DeclareFontShape{OT1}{Clearface}{m}{it}{ <-> Clearface-RegularItalic }{} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Bold Math %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\encodingdefault{OT1}% +\fontencoding{OT1}% +% +\SetSymbolFont{operators}{normal}{\encodingdefault}{\rmdefault}{m}{n} +\SetSymbolFont{letters}{normal}{OML}{\rmmathdefault}{m}{it} +\SetSymbolFont{symbols}{normal}{OMS}{\rmmathdefault}{m}{n} +\SetSymbolFont{largesymbols}{normal}{OMX}{\rmmathdefault}{m}{n} +\SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{\rmdefault}{bx}{n} +\SetMathAlphabet{\mathsf}{normal}{\encodingdefault}{\sfdefault}{m}{n} +\SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{m}{n} +\SetMathAlphabet{\mathtt}{normal}{\encodingdefault}{Courier}{m}{n} +% +\SetSymbolFont{operators}{bold}{OT1}{\rmdefault}{bx}{n} +%\SetSymbolFont{letters}{bold}{OML}{cmmib}{bx}{it} +\SetSymbolFont{symbols}{bold}{OMS}{\rmmathdefault}{bx}{n} +\SetSymbolFont{largesymbols}{bold}{OMX}{\rmmathdefault}{bx}{n} +\SetMathAlphabet{\mathbf}{bold}{\encodingdefault}{\rmdefault}{bx}{n} +\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{bx}{n} +\SetMathAlphabet{\mathrm}{bold}{\encodingdefault}{\rmdefault}{bx}{n} +\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{Courier}{bx}{n} +%% +\def\boldmath{\mathversion{bold}} +\def\bm#1{\mathchoice + {\mbox{\boldmath$\displaystyle#1$}} + {\mbox{\boldmath$#1$}} + {\mbox{\boldmath$\scriptstyle#1$}} + {\mbox{\boldmath$\scriptscriptstyle#1$}}} +% +% define blackboard font if needed +\def\bb#1{\mathchoice + {\mbox{\fontfamily{ams}\fontsize{\tf@size}{\tf@size}\selectfont\bf#1}} + {\mbox{\fontfamily{ams}\fontsize{\tf@size}{\tf@size}\selectfont\bf#1}} + {\mbox{\fontfamily{ams}\fontsize{\sf@size}{\sf@size}\selectfont\bf#1}} + {\mbox{\fontfamily{ams}\fontsize{\ssf@size}{\ssf@size}\selectfont\bf#1}}} +% +\DeclareMathAlphabet{\mathbb}{OT1}{ams}{bx}{n} +\SetMathAlphabet\mathbb{normal}{OT1}{ams}{bx}{n} +\SetMathAlphabet\mathbb{bold}{OT1}{ams}{bx}{n} +\def\bb{\mathbb} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Macro for changing \mathversion's +\providecommand{\mathch}[2]{% Derived from AMSBSY.STY + \begingroup + \let\@nomath\@gobble \mathversion{#1}% + \math@atom{#2}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#2$}}% + {\hbox{$\m@th\textstyle#2$}}% + {\hbox{$\m@th\scriptstyle#2$}}% + {\hbox{$\m@th\scriptscriptstyle#2$}}}% + \endgroup} +% +% The following changes encoding from U to OML +% This allows to use eurm/b as (more or less) a math italic font. +% +\DeclareFontFamily{OML}{eur}{\skewchar\font'177} +\DeclareFontShape{OML}{eur}{m}{n}{ + <5> <6> <7> <8> <9> gen * eurm + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> eurm10 + }{} +\DeclareFontShape{OML}{eur}{b}{n}{ + <5> <6> <7> <8> <9> gen * eurb + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> eurb10 + }{} +% +\DeclareMathVersion{upright} +\DeclareMathVersion{boldupright} +\SetSymbolFont{letters}{upright} {OML}{eur}{m}{n} +\SetSymbolFont{letters}{boldupright}{OML}{eur}{b}{n} +\DeclareRobustCommand{\mathup}[1]{\mathch{upright}{#1}} +\DeclareRobustCommand{\mathbup}[1]{\mathch{boldupright}{#1}} + +% lower-case Greek +\newcommand\ualpha{\mathup{\alpha}} +\newcommand\ubeta{\mathup{\beta}} +\newcommand\ugamma{\mathup{\gamma}} +\newcommand\udelta{\mathup{\delta}} +\newcommand\uepsilon{\mathup{\epsilon}} +\newcommand\uzeta{\mathup{\zeta}} +\newcommand\ueta{\mathup{\eta}} +\newcommand\utheta{\mathup{\theta}} +\newcommand\uiota{\mathup{\iota}} +\newcommand\ukappa{\mathup{\kappa}} +\newcommand\ulambda{\mathup{\lambda}} +\newcommand\umu{\mathup{\mu}} +\newcommand\unu{\mathup{\nu}} +\newcommand\uxi{\mathup{\xi}} +\newcommand\upi{\mathup{\pi}} +\newcommand\urho{\mathup{\rho}} +\newcommand\usigma{\mathup{\sigma}} +\newcommand\utau{\mathup{\tau}} +\newcommand\uupsilon{\mathup{\upsilon}} +\newcommand\uphi{\mathup{\phi}} +\newcommand\uchi{\mathup{\chi}} +\newcommand\upsi{\mathup{\psi}} +\newcommand\uomega{\mathup{\omega}} +\newcommand\uvarepsilon{\mathup{\varepsilon}} +\newcommand\uvartheta{\mathup{\vartheta}} +\newcommand\uvarpi{\mathup{\varpi}} +\let\uvarrho\varrho % don't exist in eurm. +\let\uvarsigma\varsigma +\newcommand\uvarphi{\mathup{\varphi}} +\newcommand\ubalpha{\mathbup{\alpha}} +\newcommand\ubbeta{\mathbup{\beta}} +\newcommand\ubgamma{\mathbup{\gamma}} +\newcommand\ubdelta{\mathbup{\delta}} +\newcommand\ubepsilon{\mathbup{\epsilon}} +\newcommand\ubzeta{\mathbup{\zeta}} +\newcommand\uboldeta{\mathbup{\eta}} +\newcommand\ubtheta{\mathbup{\theta}} +\newcommand\ubiota{\mathbup{\iota}} +\newcommand\ubkappa{\mathbup{\kappa}} +\newcommand\ublambda{\mathbup{\lambda}} +\newcommand\ubmu{\mathbup{\mu}} +\newcommand\ubnu{\mathbup{\nu}} +\newcommand\ubxi{\mathbup{\xi}} +\newcommand\ubpi{\mathbup{\pi}} +\newcommand\ubrho{\mathbup{\rho}} +\newcommand\ubsigma{\mathbup{\sigma}} +\newcommand\ubtau{\mathbup{\tau}} +\newcommand\ubupsilon{\mathbup{\upsilon}} +\newcommand\ubphi{\mathbup{\phi}} +\newcommand\ubchi{\mathbup{\chi}} +\newcommand\ubpsi{\mathbup{\psi}} +\newcommand\ubomega{\mathbup{\omega}} +\newcommand\ubvarepsilon{\mathbup{\varepsilon}} +\newcommand\ubvartheta{\mathbup{\vartheta}} +\newcommand\ubvarpi{\mathbup{\varpi}} +\newcommand\ubvarrho{\boldsymbol{\varrho}} % don't exist in eurb. +\newcommand\ubvarsigma{\boldsymbol{\varsigma}} +\newcommand\ubvarphi{\mathbup{\varphi}} +\newcommand\upartial {\mathup{\partial}} +\newcommand\ubpartial{\mathbup{\partial}} + +%%%%End of upright lc Greek etc. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\trimheight9in +\trimwidth6in +\typeheight200mm +\typewidth130mm +%\advance\trimheight2pc +%\advance\trimwidth2pc +% +\setlength\parindent{10pt} +\setlength\headheight{5\p@}%8pt size +\setlength\headsep {19pt}% +\setlength\topskip {7\p@} +\setlength\footskip{32pt}% 18pt + 2 line space on opening page +\setlength\maxdepth{4\p@} +\setlength\@maxdepth\maxdepth +\setlength\textwidth{\typewidth} +\setlength\textheight\typeheight +\advance\textheight-\headheight +\advance\textheight-\headsep +\setlength\normaltextheight{\textheight} +%\advance\textheight-2pc +% +\setlength\topmargin{.625in}%% 5/8" +\setlength\oddsidemargin{.435in}%% 1" +\evensidemargin\trimwidth +\advance\evensidemargin-\textwidth +\advance\evensidemargin-\oddsidemargin +% +\blindfoliodrop\trimheight +\advance\blindfoliodrop-\typeheight +\advance\blindfoliodrop-\topmargin +\advance\blindfoliodrop1pc +% +\setlength\marginparwidth {18pt} +\setlength\marginparsep{0.5pc} +%\setlength\marginparpush{5\p@} +\setlength\footnotesep {7pt}%12\p@}% \@plus 5\p@}% +\setlength{\skip\footins}{26\p@ \@plus 8\p@ minus8pt}% +\setlength\floatsep {13\p@ \@plus 6\p@} +\setlength\textfloatsep{13\p@ \@plus 6\p@} +\setlength\intextsep {13\p@ \@plus 6\p@} +\setlength\dblfloatsep {12\p@ \@plus 2\p@} +\setlength\dbltextfloatsep{20\p@ \@plus 2\p@} +\setlength\@fptop{0\p@} +\setlength\@fpsep{18\p@ \@plus 2fil} +\setlength\@fpbot{0\p@ \@plus 1fil} +\setlength\@dblfptop{0\p@ \@plus 1fil} +\setlength\@dblfpsep{8\p@ \@plus 2fil} +\setlength\@dblfpbot{0\p@ \@plus 1fil} +\setlength\partopsep{2\p@ \@plus 1\p@} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{1} +\setlength\parskip{0\p@} +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +% +\setlength\columnsep{12\p@} +% +\setlength\columnseprule{0\p@} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Title commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\articletype#1{\gdef\@articletype{{#1}}\uppercase} +\def\title#1{\gdef\@title{{#1}}} +\def\author#1{\gdef\@author{#1}} +\def\received#1{\gdef\@received{#1}} +\gdef\@received{Received 00 Month 20XX; final version received 00 Month 20XX} +% +\def\thanks#1{\begingroup +\def\protect{\noexpand\protect\noexpand}\xdef\@thanks{\@thanks% + \protect\footnotetext[\the\c@footnote]{\thanksfont#1}}\endgroup} +% +\newcommand\maketitle{\par + \renewcommand\thefootnote{}% + \begingroup + \@maketitle% + \thispagestyle{plain}% + \endgroup + \@thanks + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@articletype{}% + \renewcommand\thefootnote{\arabic{footnote}}% + \@afterheading} +% +\def\@maketitle{\thispagestyle{plain} + \clearpage + \null + \bgroup + \parindent0pt + \vspace*{48pt} + {\articletypefont{\@articletype}\par}% + \vskip13pt + {\titlefont\uppercase{\@title}\par}% + \vskip13pt + {\authorfont\@author\par}% + \vskip6pt + {\receivedfont{\rm(}\@received{\rm)}\par}% + \vskip17pt + \egroup} +% +\def\affil#1{\par\vskip10pt{\affilfont#1\par}\vskip15pt} +% +%%%%%%%%%% abstract +% +\newenvironment{abstract}{% + \abstractfont + \noindent\ignorespaces}{% + \par}\addvspace{32pt} +% +\newenvironment{keywords}{\global\keywordstrue% + \par\addvspace{11pt}% + \keywordfont + \noindent{{\bf{Keywords:}} }\ignorespaces +}{% + \par\addvspace{26pt plus 4pt}\@afterheading} +% +\newif\ifkeywords +\newenvironment{classcode}{% + \par\ifkeywords\addvspace{-20pt}\else\addvspace{11pt}\fi% + \keywordfont + \noindent{\itshape AMS Subject Classification{\rm{:}}\ }\ignorespaces +}{% + \par\addvspace{26pt plus 4pt}\@afterheading} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Title commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sectioning commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\setcounter{secnumdepth}{3} +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\renewcommand\thepart {\arabic{part}} +\renewcommand\thesection {\arabic{section}} +\renewcommand\thesubsection {\thesection.\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}} +% +\newif\ifBhead +\Bheadfalse +\newif\ifChead +\Cheadfalse +\newif\ifDhead +\Dheadfalse +\newif\ifEhead +\Eheadfalse +% +\newcommand\section{\@startsection {section}{1}{\z@}{-26pt \@plus-4pt minus-2pt}{13pt}{\sectionfont}} +\newcommand\subsection{\global\Bheadfalse\@startsection{subsection}{2}{\z@}{-24pt \@plus-3pt minus-2pt}{7pt}{\subsectionfont}} +\newcommand\subsubsection{\global\Cheadfalse\@startsection{subsubsection}{3}{\z@}{6pt \@plus2pt minus2pt}{6pt}{\subsubsectionfont}} +%\newcommand\subsubsection{\global\Cheadfalse\@startsection{subsubsection}{3}{\z@}{24pt \@plus2pt minus2pt}{-6pt}{\subsubsectionfont}} +%\newcommand\paragraph{\global\Dheadfalse\@startsection{paragraph}{4}{\z@}{6pt \@plus2pt minus2pt}{-6pt}{\paragraphfont}} +\newcommand\paragraph{\global\Dheadfalse\@startsection{paragraph}{3}{\z@}{24pt \@plus1pt minus1pt}{-6pt}{\paragraphfont}}% +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}{3.25ex \@plus1ex}{-1em}{\reset@font\normalsize}} +% +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \ifnum#2=3 + \vskip4pt + \fi + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +% +\newcommand\appendixname{Appendix} +\def\@sseccntformat#1{\csname the#1\endcsname\quad} +\def\@appseccntformat#1{\appendixname\ \csname the#1\endcsname.\ } +\def\@seccntformat#1{\csname the#1\endcsname.\quad} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \let\@svsec\@empty\else + \refstepcounter{#1}% + \let\@@protect\protect + \def\protect{\noexpand\protect\noexpand}% + \ifnum#2>\@ne\edef\@svsec{\@sseccntformat{#1}}\else\edef\@svsec{\@seccntformat{#1}}\fi% + \let\protect\@@protect\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \ifnum#2=1 + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty \@M {#8}\par}% + \else + \ifnum#2=2 + \@hangfrom{\hskip #3\relax{\em\@svsec}}% + {\interlinepenalty \@M #8\par}% + \else + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty \@M #8\par}% + \fi + \fi + \endgroup +% \ifappendix +% \csname #1mark\endcsname{Appendix \thesection: #7} +% \markright{Appendix \thesection: #7} +% \else + \csname #1mark\endcsname{#7} +% \fi + \addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}% + \else% + \def\@svsechd{#6\hskip #3\relax + \em\@svsec #8.\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}\fi + \@xsect{#5}} +% +%%\def\appendix{% +%% \setcounter{chapter}{0} +%% \setcounter{figure}{0} +%% \setcounter{table}{0} +%% \setcounter{equation}{0} +%% } +% +%%%%%%%%%%%%%%%%%%%%%%%%%%% End Sectioning commands %%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\AA{\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex% + \rlap{\raise.97\dimen@\hbox{\hskip2pt\char'27}}A} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newdimen\LabelSep +\LabelSep.5em +\newskip\TopSep +\TopSep 6\p@ %\@plus2\p@% \@minus1\p@ +% +\def\@listI{\leftmargin\leftmargini + \listparindent\parindent + \parsep \z@\labelsep\LabelSep + \topsep\TopSep + \itemsep0\p@} +% +\let\@listi\@listI +\@listi +% +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \listparindent\parindent + \parsep \z@\labelsep\LabelSep + \topsep 0pt%6\p@ \@plus2\p@ \@minus1\p@ + \parsep\z@\itemsep\z@} +\def\@listiii{\leftmargin\leftmarginiii + \listparindent\parindent + \labelwidth\leftmarginiii + \topsep 0pt + \parsep \z@ + \partopsep0pt + \itemsep0pt} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +% +\setlength\leftmargini{3pc} +\setlength\leftmarginii{2.2em} +\setlength\leftmarginiii{1.87em} +\setlength\leftmarginiv{1.7em} +\setlength\leftmarginv{1em} +\setlength\leftmarginvi{1em} +\setlength\leftmargin{\leftmargini} +\setlength\listparindent{\parindent} +\setlength\labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\renewcommand\theenumi{(\arabic{enumi})} +\renewcommand\theenumii{(\alph{enumii}} +\renewcommand\theenumiii{(\roman{enumiii}} +\renewcommand\theenumiv{(\Alph{enumiv}} +\newcommand\labelenumi{\theenumi} +\newcommand\labelenumii{\theenumii)} +\newcommand\labelenumiii{\theenumiii)} +\newcommand\labelenumiv{\theenumiv)} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi(\theenumii)} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\newcommand\labelitemi{$\m@th\bullet$} +\newcommand\labelitemii{$\m@th\circ$} +\newcommand\labelitemiii{\normalfont\textendash} +\newcommand\labelitemiv{$\m@th\ast$} +% +\newbox\enumbox +\newdimen\enumwd +\def\enummax#1{\setbox\enumbox=\hbox{#1\hskip\labelsep}% + \expandafter\global\csname leftmargin\romannumeral\the\@enumdepth\endcsname\wd\enumbox +} +% +\def\enumerate{\@ifnextchar[{\@enumerate}% + {\@enumerate[\csname label\@enumctr\endcsname]}} +% +\def\@enumerate[#1]{\listfont\ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne\edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \setcounter{\@enumctr}{1}\enummax{#1}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{##1}}}\fi} +% +\let\Item\item +\newenvironment{enumeroman}{% + \def\theenumi{\roman{enumi}}\def\theenumii{\roman{enumii}}% + \def\labelenumi{(\theenumi)}\def\labelenumii{(\theenumii)}% + \let\item\Item + \begin{enumerate}% +}{% + \end{enumerate}} +% +\newenvironment{sequence}{% + \def\theenumi{\alph{enumi}}\def\theenumii{\alph{enumii}}% + \def\labelenumi{(\theenumi)}\def\labelenumii{(\theenumii)}% + \let\item\Item + \begin{enumerate}% +}{% + \end{enumerate}} +% +\newdimen\unnummargin +\unnummargin12pt +% +\newenvironment{unnumlist}{% + \let\item\Item + \advance\@enumdepth \@ne + \list{}{\leftmargin\unnummargin\itemindent-12pt\topsep6pt plus2pt + \def\makelabel##1{\hss\llap{##1}}}% +}{% + \endlist\advance\@enumdepth \m@ne} +% +\def\Itemize{% + \ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\ifnum \@itemdepth>1\topsep0pt\fi\leftmargin22.5pt\rightmargin1pc\labelsep6pt\def + \makelabel##1{\hss\llap{##1}}}\fi} +% +\def\endItemize{\endlist} +% +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} +% +\newenvironment{quote}{% + \par\addvspace{13pt plus2pt minus1pt} + \extractfont\noindent\ignorespaces +}{% + \par\addvspace{13pt plus2pt minus1pt} + \@endparenv} +% +\renewenvironment{quote}{% + \par\addvspace{6pt}\let\itemize\Itemize\let\enditemize\endItemize + \extractfont\noindent\ignorespaces +}{% + \par\addvspace{6pt} + \@endparenv} +% +\let\extract\quote +\let\endextract\endquote +% +\def\itemize{% + \ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\ifnum \@itemdepth>1\topsep0pt\fi\leftmargin11pt\labelsep6pt\def\makelabel##1{\hss\llap{##1}}}\fi} +% +\def\enditemize{\endlist} +% +\newenvironment{notes}{% +\par\let\listfont\footnotesize% +\begin{enumerate} +}{% +\end{enumerate}} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Floats %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\setcounter{topnumber}{4} +\renewcommand\topfraction{.9} +\setcounter{bottomnumber}{4} +\renewcommand\bottomfraction{.9} +\setcounter{totalnumber}{8} +\renewcommand\textfraction{.1} +\renewcommand\floatpagefraction{.91} +\setcounter{dbltopnumber}{5} +\renewcommand\dbltopfraction{.9} +\renewcommand\dblfloatpagefraction{.9} +% +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{7\p@} +\setlength\belowcaptionskip{\z@} +% +\def\FigName{figure}% +% +\long\def\@caption#1[#2]#3{\par\begingroup + \@parboxrestore + \normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} +% +\long\def\@makecaption#1#2{% + \ifx\FigName\@captype + \vskip5pt + \setbox\tempbox\hbox{\figcaptionfont{\fignumfont#1}\hskip4pt#2}% + \ifdim\wd\tempbox>\hsize + {\figcaptionfont\noindent{\fignumfont#1}\hskip7pt\ignorespaces#2\par} + \else + \centerline{\box\tempbox} + \fi + \else + {\tablecaptionfont + {\tablenumfont#1}\hskip7pt\ignorespaces{#2}\par}% + \vskip\belowcaptionskip + \fi} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcounter{figure}[chapter] +\renewcommand\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure~\thefigure.}% +\newenvironment{figure}{\figcaptionfont\@float{figure}}{\end@float} +\newenvironment{figure*}{\figcaptionfont\@dblfloat{figure}}{\end@dblfloat} +% +\def\ArtDir{art/}% +\input epsf.sty +% +\def\ArtPiece{\@ifnextchar[{\@ArtPiece}{\@ArtPiece[]}}% +\def\@ArtPiece[#1]#2{\def\@tempa{#1}% + \hbox{\ifx\@tempa\@empty\else\epsfscale#1\fi + \noindent{\epsfbox{\ArtDir#2}}}}% +% +\newdimen\figheight +\newdimen\figwidth +% +\let\figformat\centerline +% +\def\figurebox#1#2#3#4{% + \global\figheight#1\global\figwidth#2 + \def\@tempa{#4}% + \leavevmode + \ifx\@tempa\empty + \figformat{\figbox}% + \else + \figformat{\ArtPiece[#3]{#4}}% + \fi\par} +% +\def\figbox{\hbox{\vbox{\hsize\figwidth + \hrule + \hbox to\figwidth{\vrule\hss + \vbox to \figheight{\vfill}% + \vrule}\hrule}}}% +% +\def\figformat#1{\centerline{\footnotesize#1}} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcounter{table} +\newcounter{newtable} +\renewcommand\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table~\thetable.} +\newenvironment{table} + {%\refstepcounter{newtable}\def\@currentlabel{\p@table\thenewtable}% + %\refstepcounter{newtable}\def\@currentlabel{\string\thetable}% + \@float{table}} + {\vskip5pt\end@float} +\newenvironment{table*} + {%\refstepcounter{newtable}\def\@currentlabel{\p@table\thenewtable}% + %\def\@currentlabel{\noexpand\thetable}% + \@dblfloat{table}} + {\end@dblfloat} +% +\newdimen\tabledim +% +\long\def\tbl#1#2{% + \setbox\tempbox\hbox{\tablefont #2}% + \tabledim\hsize\advance\tabledim by -\wd\tempbox + \global\divide\tabledim\tw@ + \caption{#1} + \centerline{\box\tempbox} + }% +% +\newenvironment{tabnote}{% +\par\vskip5pt\tabnotefont +\@ifnextchar[{\@tabnote}{\@tabnote[]}}{% +\par\vskip-5pt} +\def\@tabnote[#1]{\def\@Tempa{#1}\leftskip\tabledim\rightskip\leftskip%\hspace*{9pt}% +\ifx\@Tempa\@empty\else{\itshape #1:}\ \fi\ignorespaces} +% +\def\Hline{% + \noalign{\ifnum0=`}\fi\hrule \@height 2\arrayrulewidth \futurelet + \@tempa\@xhline} +% +\def\x{@{\extracolsep{\fill}}} +\def\toprule{\\[-5.5pt]\Hline\\[-3.5pt]} +\def\colrule{\\[-7.5pt]\hline\\[-5pt]} +\def\botrule{\\[-7.7pt]\Hline} +\def\crule#1{\\[-9.5pt]#1\\[-2.5pt]} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Math %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}} +\def\Biggg#1{{\hbox{$\left#1\vbox to23.5\p@{}\right.\n@space$}}} +% +\setlength\arraycolsep{1.5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.5\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\@addtoreset{equation}{chapter} +\renewcommand\theequation{\arabic{equation}}% +%\def\@eqnnum{{\reset@font\rmfamily [\theequation]\hskip-1.1pt}} +% +\def\bstrut{\vrule width0pt depth6pt} +\def\tstrut{\vrule width0pt height10pt} +\jot=6pt +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Math %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\appendices{\appendix\global\appendixtrue} +\newcommand{\appendix}{% + \global\appendixtrue + \let\@seccntformat\@appseccntformat + \setcounter{equation}{0}\renewcommand\theequation{\thesection\arabic{equation}} + \setcounter{section}{0}\renewcommand\thesection {\Alph{section}} + \setcounter{subsection}{0}\renewcommand\thesubsection {\thesection.\arabic{subsection}} + \setcounter{table}{0}\renewcommand\thetable{\thesection\@arabic\c@table} + \setcounter{figure}{0}\renewcommand\thefigure{\thesection\@arabic\c@figure} + \setcounter{theorem}{0}\renewcommand\theremark{{\itshape\thesection\arabic{remark}}\reset@font} + \setcounter{remark}{0}\renewcommand\theremark{\thesection\@arabic\c@remark} + \setcounter{algorithm}{0}\renewcommand\thealgorithm{\thesection\@arabic\c@algorithm} + \renewcommand\theproposition{\thesection.\arabic{theorem}} + \renewcommand\theproperty{\thesection.\arabic{theorem}} + \renewcommand\thecorollary{\thesection.\arabic{theorem}} + \renewcommand\thedefinition{\thesection.\arabic{theorem}} + \renewcommand\thelemma{\thesection.\arabic{theorem}} + \renewcommand\theexample{\thesection.\arabic{theorem}} + \renewcommand\thetheorem{\thesection.\arabic{theorem}} + \@addtoreset{remark}{section} + \@addtoreset{algorithm}{section} + \@addtoreset{equation}{section} + \@addtoreset{table}{section} + \@addtoreset{figure}{section} +} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Begin Footnote %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\renewcommand\footnoterule{\kern2pt\hrule width \textwidth height.25pt\kern4pt}% +\renewcommand\thefootnote{\fnsymbol{footnote}} +\@addtoreset{footnote}{page} +% +\def\@makefnmark{\hbox{$^{\@thefnmark}\m@th$}}% +\long\def\@makefntext#1{% + %\hspace*{12pt} + \@makefnmark\ignorespaces#1\par}% +% +\long\def\@makefntext#1{\parindent0pt% + \leavevmode\@makefnmark\ignorespaces#1\par} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Footnote %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%% Bibliography Section %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newdimen\bibindent +\newdimen\bibleftmargin +\newdimen\bibitemsep +\newdimen\bibparsep +\newdimen\bibtext +\newdimen\biblabelsep +\newdimen\bibleftmargini +% +%%%%% TRUE FOR CHAPTER TITLE AND FALSE FOR SECTION TITLE %%%%%%%% +\newif\ifbibchapter +\global\bibchaptertrue +%%%%%%%% Unnumbered References %%%%%%%%%%% +\setlength\bibleftmargin {18pt} +\setlength\bibitemsep {0pt} +\setlength\bibparsep {0pt} +%%%%%%%% Numbered Within Square Bracket %%%%%%%%%%% +\newif\ifnumsqure +\global\numsquretrue +\setlength\biblabelsep {5pt} +\setlength\bibleftmargini {5.75pt} +%%%%%%%% Numbered With Dot %%%%%%%%%%%%%%% +%\setlength\bibtext {18pt} +% +\newenvironment{thebibliography}[1] + {\bibliofont% + \def\@tempa{#1}% + \ifbibchapter + \ifnum\@tempa=1 + \section*{Reference}% + \else + \section*{References}% + \fi + \vspace*{-10pt}% + \fi% + \ifx\@tempa\@empty + \list{}% + {\labelwidth0pt\labelsep0pt + \leftmargin\bibleftmargin%12 + \itemindent-\bibleftmargin + \itemsep\bibitemsep + \parsep\bibparsep + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% + \else + \setbox\tempbox\hbox{\@tempa.} + \tempdimen\wd\tempbox + \ifnumsqure + \else + \def\@biblabel##1{{\hbox to \tempdimen{\hfill##1.}}}\fi% + \list{\@biblabel{\arabic{enumiv}}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \labelsep3pt\leftmargin\labelsep + \advance\leftmargin\bibtext + \advance\leftmargin\labelwidth + \ifnumsqure +% \advance\leftmargin\labelwidth + \fi + \itemindent0pt + \itemsep\bibitemsep + \parsep\bibparsep + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\arabic{enumiv}}}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand\newblock{} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End references %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\mark{{}{}} +% +\def\endpage#1{\gdef\@endpage{#1}} +\endpage{}% +\def\jname#1{\gdef\@jname{#1}} +\jname{Engineering Optimization} +\def\jvol#1{\gdef\@jvol{#1}} +\gdef\@jvol{00} +\def\articletype#1{\gdef\@articletype{#1}} +\gdef\@articletype{\ } +\def\jnum#1{\gdef\@jnum{#1}} +\gdef\@jnum{00} +\def\jmonth#1{\gdef\@jmonth{#1}} +\gdef\@jmonth{Month} +\def\jyear#1{\gdef\@jyear{#1}} +\gdef\@jyear{20XX} +\def\doi#1{\gdef\@doi{#1}} +\def\@doi{} +% +\def\ps@plain{% + \let\@mkboth\@gobbletwo + \let\@oddfoot\@evenfoot + \def\@oddhead{\hbox to \textwidth{{\small\begin{tabular}[t]{@{}l@{}} + \\ %[14.9pt] + {To appear in \itshape \@jname} \\Vol. \@jvol, No. \@jnum, + \ifx\@jmonth\empty\else\@jmonth\ \fi\@jyear, \thepage--\@endpage\\ + \doi\\ + \end{tabular}}% + \hfill% + }}% + \let\@evenhead\@oddhead +} +% +\def\markboth#1#2{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \let\it\rm\let\textit\textup% + \unrestored@protected@xdef\@themark {{#1}{#2}}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +% +\def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@oddhead{\hfil{\rhfont\rightmark}\hfil\llap{\foliofont\thepage}}% + \def\@evenhead{\rlap{\foliofont\thepage}\hfil{\rhfont\leftmark}\hfil}% + \let\@mkboth\markboth + \def\sectionmark##1{}} +% +\def\ps@empty{% + \let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{} + \def\@oddfoot{\hfill\lower\blindfoliodrop\hbox{\thepage}\hfill} + \let\@evenfoot\@oddfoot} +% +\def\ps@Empty{% + \let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{} + \def\@oddfoot{\hfill\lower\blindfoliodrop\hbox{\thepage}} + \def\@evenfoot{\lower\blindfoliodrop\hbox{\thepage}\hfill} + } +% +% SIDE MARGINS: +\setlength\oddsidemargin{7.5pc} +\setlength\evensidemargin{7.5pc} +\setlength\marginparwidth{4pc} +\setlength\marginparsep{0.5pc} +% +% VERTICAL SPACING: +\setlength\topmargin{\z@} +\setlength{\headheight}{14pt} +\setlength{\headsep} {15pt} +\setlength{\topskip} {9pt} +\setlength{\footskip} {22pt} +% +% DIMENSION OF TEXT: +\setlength\textwidth{35pc} +\setlength\textheight{672pt} +% +%\if@landscape + %\setlength\textwidth{\textheight} + %\setlength\textheight{\textwidth} +%\fi +% +\setlength\columnsep{2pc} +\setlength\columnseprule{0pt} + +% FOOTNOTES: +\setlength\footnotesep{6pt} +\setlength\skip{\footins 19.5pt plus 12pt minus 1pt} + +% FLOATS: +\setlength\floatsep{ 12pt plus 5.5pt minus 1pt} +\setlength\textfloatsep{ 12pt plus 7.5pt} +\setlength\intextsep{ 12pt plus 5.5pt minus 2pt} +\setlength\dblfloatsep{ 12pt plus 5.5pt minus 2pt } +\setlength\dbltextfloatsep{ 15pt plus 4.5pt minus 3pt} +\setlength\@fptop{ 0pt plus 0fil} +\setlength\@fpsep{ 12pt plus 0fil } +\setlength\@fpbot{ 0pt plus 0fil } +\setlength\@dblfptop{ 0pt plus 0fil} +\setlength\@dblfpsep{ 12pt plus 0fil} +\setlength\@dblfpbot{ 0pt plus 0fil} +\setlength\marginparpush{ 5pt } +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Page styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Trimmarks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newcommand\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +% +\ifprinter + \def\draftnote{} + \def\floatqtoa{} + \def\Qauthor#1{} +\else + \def\draftnote{{\footnotesize\today\qquad\jobtag\qquad\jobname}\hfill} + \def\floatqtoa#1{\vbox to 0pt{\vskip-20pt%\hskip\textwidth + \llap{\vbox{\hsize6pc\bf \footnotesize\raggedright#1}}}\vskip-12pt} +% + \def\Qauthor#1{\marginpar{\footnotesize\bf\raggedright #1}} +\fi + \let\qtoa\Qauthor +% +\newdimen\drafttextwidth +\drafttextwidth\textwidth +% +\setlength\typeheight\textheight +\advance\typeheight\headheight +\advance\typeheight\headsep + +\setlength\typewidth{\textwidth} +\global\newdimen \trimrule + \trimrule.1pt +% +\def\trimmarks{% + \vbox to 0pt{\vskip-17pt + \draftnote\offinterlineskip + \parindent0pt + \leftskip0pt\rightskip0pt}% + \ifdraft + \vbox to 0pt{\hsize\trimwidth\offinterlineskip + \parindent0pt\leftskip0pt\rightskip0pt + \vbox to \trimheight{\offinterlineskip\parindent0pt + \hbox to \trimwidth{\vbox to 2pc{\vskip-3pc\hbox{\vrule height2pc width\trimrule}}\raisebox{2pc}{\hbox{\hskip-3pc\vrule width2pc height\trimrule}}\hfill + \raisebox{2pc}{\vrule width2pc height\trimrule\hskip-3.25pc} + \vbox to 2pc{\vskip-3pc\hbox{\vrule height2pc width\trimrule}}% + }\vfill + \hbox to \trimwidth{\hbox{\hskip-3pc\vrule height\trimrule width2pc}\vbox to 3pc{\vspace*{4pc}\hbox{\hskip1pc\vrule width\trimrule height2pc}}\hfill + \vbox to 3pc{\vskip4pc\hbox{\vrule height2pc width\trimrule}}\rlap{\hskip1pc\vrule width2pc height\trimrule}}}}% + \else + \trimrule.0pt + \vbox to 0pt{\hsize\trimwidth\offinterlineskip + \parindent0pt\leftskip0pt\rightskip0pt + \vbox to \trimheight{\offinterlineskip\parindent0pt + \hbox to \trimwidth{\vbox to 2pc{\vskip-3pc\hbox{\vrule height2pc width\trimrule}}\raisebox{2pc}{\hbox{\hskip-3pc\vrule width2pc height\trimrule}}\hfill + \raisebox{2pc}{\vrule width2pc height\trimrule\hskip-3.25pc} + \vbox to 2pc{\vskip-3pc\hbox{\vrule height2pc width\trimrule}}% + }\vfill + \hbox to \trimwidth{\hbox{\hskip-3pc\vrule height\trimrule width2pc}\vbox to 3pc{\vspace*{4pc}\hbox{\hskip1pc\vrule width\trimrule height2pc}}\hfill + \vbox to 3pc{\vskip4pc\hbox{\vrule height2pc width\trimrule}}\rlap{\hskip1pc\vrule width2pc height\trimrule}}}}% + \fi +% +\insidedraftrules} +% +\def\insidedraftrules{% +\vbox to 0pt{% + \offinterlineskip\parindent0pt + \vskip \topmargin + \@tempdima\typeheight + \moveright\@themargin + \ifodd\c@page + \vbox to\@tempdima{\hrule height\draftrule + \vbox to 0pt{\vskip\headheight\vskip\headsep%\vskip-6pt + \noindent\hbox{\vrule height\draftrule width\textwidth}}%26pc + \hbox to \typewidth{\vrule width\draftrule\hskip\textwidth + \vrule height\@tempdima width\draftrule\hfill\vrule height\@tempdima width\draftrule}% + \hrule height\draftrule}% + \else + \hbox to \textwidth{\hss\hbox to \typewidth{% + \vbox to \@tempdima{\hrule height\draftrule + \vbox to 0pt{\vskip\headheight\vskip\headsep%\vskip-6pt + \hbox{\vrule height\draftrule width\textwidth}}% + \hbox to \typewidth{\vrule width\draftrule + \hfill\vrule height\@tempdima width\draftrule%%\hskip\textwidth\vrule height\@tempdima width\draftrule +}% + \hrule height\draftrule}}}% + \fi}} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Version Control %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\document{\endgroup + \ifx\@unusedoptionlist\@empty\else + \@latex@warning@no@line{Unused global option(s):^^J% + \@spaces[\@unusedoptionlist]}% + \fi + \@colht\textheight + \@colroom\textheight \vsize\textheight + \columnwidth\textwidth + \@clubpenalty\clubpenalty + \begingroup\@floatplacement\@dblfloatplacement + \makeatletter\let\@writefile\@gobbletwo + \global \let \@multiplelabels \relax + \@input{\jobname.aux}% + \endgroup + \if@filesw + \immediate\openout\@mainaux\jobname.aux + \immediate\write\@mainaux{\relax}% + \fi + \process@table + \let\glb@currsize\@empty %% Force math initialization. + \normalsize + \everypar{}% + \ifx\normalsfcodes\@empty + \ifnum\sfcode`\.=\@m + \let\normalsfcodes\frenchspacing + \else + \let\normalsfcodes\nonfrenchspacing + \fi + \fi + \@noskipsecfalse + \let \@refundefined \relax + \let\AtBeginDocument\@firstofone + \@begindocumenthook + \ifdim\topskip<1sp\global\topskip 1sp\relax\fi + \global\@maxdepth\maxdepth + \global\let\@begindocumenthook\@undefined + \ifx\@listfiles\@undefined + \global\let\@filelist\relax + \global\let\@addtofilelist\@gobble + \fi + \gdef\do##1{\global\let ##1\@notprerr}% + \@preamblecmds + \global\let \@nodocument \relax + \ignorespaces} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Version Control %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Output Routine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newif\ifspreadlong +\spreadlongfalse +\newdimen\varypageheight +\varypageheight0pt +% +\def\spreadlong#1{% + \global\varypageheight#1 + \ifodd\c@page\else + \spreadlongtrue\enlargethispage{#1}% + \fi}% +% +\def\leaflong#1{\enlargethispage{#1}} +% +\def\@outputpage{% +\let\firstmark\botmark +\begingroup % the \endgroup is put in by \aftergroup + \let \protect \noexpand + \@resetactivechars + \@parboxrestore + \shipout \vbox{% + \set@typeset@protect + \aftergroup \endgroup + \aftergroup \set@typeset@protect + % correct? or just restore by ending + % the group? + \if@specialpage + \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% + \fi + \if@twoside + \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot + \let\@themargin\oddsidemargin + \else \let\@thehead\@evenhead + \let\@thefoot\@evenfoot \let\@themargin\evensidemargin + \fi + \fi + \reset@font + \normalsize + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ + \@begindvi\trimmarks + \vskip \topmargin + \moveright\@themargin \vbox {% + \setbox\@tempboxa \vbox to\headheight{% + \vfil + \color@hbox + \normalcolor + \hb@xt@\textwidth{\@thehead}% + \color@endbox + }% + \dp\@tempboxa \z@ + \box\@tempboxa + \vskip \headsep + \box\@outputbox + \baselineskip \footskip + \color@hbox + \normalcolor + \hb@xt@\textwidth{\@thefoot}% + \color@endbox + }% + }% + \global \@colht \textheight + % \endgroup + \stepcounter{page}% + \ifspreadlong\enlargethispage{\varypageheight}\global\spreadlongfalse\varypageheight0pt\fi +% \let\firstmark\botmark +} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End Output Routine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\gray{\special{color CMYK 0 0 0 0.5}} +\def\@questionmark{\vbox to 0pt{\vskip13pc\hskip-5pc + \hbox to \textwidth{\special{color push}\gray\fontsize{570}{570}\selectfont ? + \special{color pop}\hss}}} +\def\questionmark#1{\xdef\@questionmark{#1}}% +% +\def\enddocument{% + \@enddocumenthook + \@checkend{document}% + \immediate\write\@mainaux{\string\endpage{\thepage}} +% + \clearpage + \begingroup + \if@filesw + \immediate\write\@mainaux{\string\questionmark{}}% + \immediate\closeout\@mainaux + \let\@setckpt\@gobbletwo + \let\@newl@bel\@testdef + \@tempswafalse + \makeatletter \input\jobname.aux + \fi + \@dofilelist + \ifdim \font@submax >\fontsubfuzz\relax + \@font@warning{Size substitutions with differences\MessageBreak + up to \font@submax\space have occurred.\@gobbletwo}% + \fi + \@defaultsubs + \@refundefined + \if@filesw + \ifx \@multiplelabels \relax + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right}% + \fi + \else + \@multiplelabels + \fi + \fi + \endgroup +% \gdef\endpage{\thepage} + \deadcycles\z@\@@end} +% +\def\longpage{\enlargethispage{\baselineskip}} +\def\shortpage{\enlargethispage{-\baselineskip}} +% +%%%%%%%%%%%%%%%%%%%%%%%%%% Theorem-like environments %%%%%%%%%%%%%%%%%%%%%%%%%% +% +\newif\ifTheorem +\global\Theoremfalse +\newif\ifremark\global\remarkfalse +\newif\ifalgorithm\global\algorithmfalse +% +\newcounter{theorem}[section] +\renewcommand\thetheorem{\thesection.\arabic{theorem}} +% +\newcounter{remark}[chapter] +\renewcommand\theremark{\@arabic\c@remark} +\def\fnum@remark{Remark~\theremark:} +% +\newcounter{algorithm}[chapter] +\renewcommand\thealgorithm{\@arabic\c@algorithm} +\def\fnum@algorithm{Algorithm~\thealgorithm:} +% +\newif\ifExample +\global\Examplefalse +% +\newif\ifrunon\runonfalse +% +\def\newtheorem#1{\@starthm{#1}\@ifnextchar[{\@othm{#1}}{\@nthm{#1}}} +\def\@starthm#1{\@namedef{#1*}{\@beginstarthm{#1}}% + \@namedef{end#1*}{\@endstarthm{#1}}} +% +\def\@starthm#1{\@namedef{#1*}{\@beginstarthm{#1}}% + \@namedef{end#1*}{\@endstarthm}} +% +\def\@beginstarthm#1{\@ifnextchar[{\@opargbeginstarthm{#1}}{\@opargbeginstarthm{#1}[]}} +% +\def\@opargbeginstarthm#1[#2]{\list{}{\topsep6pt plus2pt + \def\@tempaa{#2}% + \labelwidth0pt\labelsep9.5pt + \leftmargin0pt + \listparindent\parindent + \edef\@Tempa{\csname #1name\endcsname} + \def\makelabel##1{##1.}} + \item[\hskip \labelsep{\csname#1headfont\endcsname \@Tempa{}\ifx\@tempaa\@empty\else\ (#2)\fi}] + \csname#1font\endcsname} +% +\def\@endstarthm{\endlist} +% +\def\THEOREM{theorem} +\def\ALOGORITHM{algorithm} +\def\REMARK{remark} +\def\check#1{\gdef\@check{#1}}\check{} +% +\def\@xnthm#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@thmcountersep + \@thmcounter{#1}}% +% \refstepcounter{#1}% + \stepcounter{theorem} + \check{#1} + \ifx\REMARK\@check% + \global\@namedef{#1}{\@thm{#1}{#2}{#1}}% + \else% + \ifx\ALOGORITHM\@check% + \global\@namedef{#1}{\@thm{#1}{#2}{#1}}% + \else% + \global\@namedef{#1}{\@thm{theorem}{#2}{#1}}% + \fi\fi% + \global\@namedef{end#1}{\@endtheorem}}} +\def\@ynthm#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% +% \stepcounter{theorem} + \refstepcounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \check{#1} + \ifx\REMARK\@check% + \global\@namedef{#1}{\@thm{#1}{#2}{#1}}% + \else% + \ifx\ALOGORITHM\@check% + \global\@namedef{#1}{\@thm{#1}{#2}{#1}}% + \else% + \global\@namedef{#1}{\@thm{theorem}{#2}{#1}}% + \fi\fi% + \global\@namedef{end#1}{\@endtheorem}}} +\def\@othm#1[#2]#3{% + \@ifundefined{c@#2}{\@nocounterr{#2}}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}}% + \global\@namedef{#1}{\@thm{#2}{#3}{#1}}% + \global\@namedef{end#1}{\@endtheorem}}}} +\def\@thm#1#2#3{% +% \stepcounter{theorem} +\refstepcounter{#1}% + \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}} +% +\def\@xthm#1#2#3{% + \@opargbegintheorem{#2}{\csname the#1\endcsname}{}{#3}\ignorespaces} +\def\@ythm#1#2#3[#4]{% + \@opargbegintheorem{#2}{\csname the#1\endcsname}{#4}{#3}\ignorespaces} +% +\def\@endtheorem{\par\addvspace{6pt plus2pt}\endlist}% +% +\def\@opargbegintheorem#1#2#3#4{\par\addvspace{6pt plus2pt}% +% \renewcommand\labelenumi{{\itshape(\theenumi)}}% +% \def\labelenumii{{\upshape(\theenumii)}}% + \def\@tempa{#3}% + \check{#1}% +% \hangindent\parindenta + {\csname #4headfont\endcsname\ifx\@tempa\empty\noindent#1\ #2\hskip6pt\else\noindent#1\ #2\ {\reset@font#3}\fi}% + \csname #4font\endcsname\ignorespaces}% +% +\def\@endtheorem{\par\addvspace{6pt plus2pt}}% +% +%%%%%%%%%% +% +\def\remarkname{Remark}% +\newtheorem{remark}{\global\remarktrue{\remarkname}}[chapter]% +\def\theremark{{\arabic{remark}}} +\def\remarkfont{\hbox{\hspace{-4pt}$\,\,\,\,\,$}} +\def\remarkheadfont{\itshape} +% +\def\algorithmname{Algorithm} +\newtheorem{algorithm}{\global\algorithmtrue{\algorithmname}}[chapter] +\def\thealgorithm{{\arabic{algorithm}}} +\def\algorithmfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}} +\def\algorithmheadfont{\itshape} +%%%%%%%%%% +% +\def\examplename{Example} +\newtheorem{example}{\scshape\examplename}[section] +\def\theexample{\thesection.\arabic{theorem}} +\def\examplefont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +% +\def\theoremname{\scshape Theorem} +\newtheorem{theorem}{\theoremname} +\def\thetheorem{\thesection.\arabic{theorem}} +\def\theoremfont{\hbox{\hspace{-4pt}$\,\,\,\,\,$}\itshape} +%\def\theoremheadfont{\bfseries} +% +\def\lemmaname{Lemma} +\newtheorem{lemma}{\scshape\lemmaname}[section] +\def\thelemma{\thesection.\arabic{theorem}} +\def\lemmafont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +%\def\lemmaheadfont{\bfseries} +% +\def\propositionname{\scshape Proposition} +\newtheorem{proposition}{\propositionname}[section] +\def\theproposition{\thesection.\arabic{theorem}} +\def\propositionfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +%\def\propositionheadfont{\bfseries} +% +\def\propertyname{\scshape Property} +\newtheorem{property}{\propertyname}[section] +\def\theproperty{\thesection.\arabic{theorem}} +\def\propertyfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +%\def\propertyheadfont{\bfseries} +% +\def\corollaryname{\scshape Corollary} +\newtheorem{corollary}{\corollaryname}[section] +\def\thecorollary{\arabic{theorem}} +\def\corollaryfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +%\def\corollaryheadfont{\bfseries} +% +\def\definitionname{\scshape Def{}inition} +\newtheorem{definition}{\definitionname}[section] +\def\thedefinition{\thesection.\arabic{theorem}} +\def\definitionfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +%\def\definitionheadfont{\scseries} +% +\def\notationname{Notation} +\newtheorem{notation}{\notationname}[section] +\def\thenotation{\thesection.\arabic{theorem}} +\def\notationfont{\hbox{\hspace{-5pt}$\,\,\,\,\,$}\itshape} +\def\notationheadfont{\scseries} +% +%%\def\assumptionname{Assumption} +%%\newtheorem{assumption}{\assumptionname}[section] +%%\def\theassumption{\arabic{theorem}} +%%\def\assumptionfont{\hbox{\hspace{-5pt}$\bm{:}\,\,\,\,\,$}} +%%\def\assumptionheadfont{\itshape} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Proof %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\font\QEDlogofont=msam10 at 10pt +\def\QEDlogo{\hbox{\QEDlogofont\char'003}} +\def\QEDblogo{\hbox{\QEDlogofont\char'004}} +\newif\ifnologo\nologofalse +\newif\iflogo +\newif\ifblogo\blogofalse +\newif\iftopprhead\topprheadfalse +\def\prheadfont{\it\leftskip-1pt plus1fill\rightskip0pt plus1fill} +\def\prhead#1{\par%\addvspace{6.5pt plus2pt} +\noindent{\prheadfont #1\par}} +\def\prooffont{\normalsize} +\newenvironment{proof}{\par\addvspace{6pt plus2pt}%\topprheadtrue\par\iftopprhead\vspace*{-13pt}\else% +\par%\addvspace{6.5pt plus2pt}%\fi% +\noindent\prooffont{\itshape Proof}\hskip6pt\ignorespaces}{% + \ifblogo\hskip1.2pt + %\QEDblogo + %\blacksquare$ + \else + \ifnologo + \else + \hfill + %\QEDlogo + $\blacksquare$ + \fi\fi +\par\addvspace{6pt plus2pt}\global\topprheadfalse}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\pagestyle{empty} +\pagenumbering{arabic} +\frenchspacing +\sloppy +\onecolumn +\ifprinter +\voffset-54pt +\hoffset-1in +\else +\voffset-54pt +\hoffset-1in +\fi + +\usepackage{amsfonts,amsmath,amssymb,amsbsy,epsfig,graphicx,natbib,rotating,subfigure} + +\bibpunct[, ]{(}{)}{;}{a}{}{,} +\let\bibfont\relax +\def\bibfont{\fontsize{10}{12}\selectfont} + +\endinput diff --git a/PeCO-EO/gENOguide.bib b/PeCO-EO/gENOguide.bib new file mode 100644 index 0000000..139da5e --- /dev/null +++ b/PeCO-EO/gENOguide.bib @@ -0,0 +1,333 @@ + +@PHDTHESIS{Agu95, + author = {A. J. Agutter}, + title = "The Linguistic Significance of Current {B}ritish Slang", + school = {Edinburgh University}, + type = {Unpublished doctoral dissertation}, + address = {UK}, + month = {}, + year = {1995}, + note = {},} + + +@TECHREPORT{aiex00, + author = {Renata M. Aiex and Ian F. Pierce and Giacomo Donizetti and Carlo Maria {{v}on~Weber} and Georges Bizet and Carl Philipp Emanuel Bach and Richard Strauss and Ludwig {{v}an~Beethoven} and Wolfgang Amadeus Mozart and Paul Dukas and Joseph Haydn}, + title = "Computing Tools for Modelling Orchestral Performance", + institution = "University of Cambridge", + department = "Department of Applied Mathematics and Theoretical Physics", + type = "", + number = "DAMTP 2000/NA10", + address = "Cambridge, UK", + month = "", + year = 2000, + note = "",} + + +@UNPUBLISHED{aiex02, + author = {Renata M. Aiex and Mauricio G. C. Resende and Celso C. Ribeiro}, + title = {Probability Distribution of Solution Time in {GRASP}: An Experimental Investigation}, + year = {Preprint 2002}, + note = {To appear in Advances in Mathematics}, + url = {www.graspintime.com}, + lastchecked = {23 October 2002}, + month = {},} + + +@ARTICLE{Bar91, + author = "D. H. Barlow", + year = "1991", + title = "Diagnoses, Dimensions, and {DSM-IV} [Special issue]", + journal = "Journal of Abnormal Psychology", + volume = "100", + number ="3", + month = {}, + doi = {},} + + +@ARTICLE{ber73, + author = "K. N. Berk", + title = "Comparing Subset Regression Procedures", + journal = "Technometrics", + year = "1973", + volume = "20", + number = "", + pages = "1--6", + month = {}, + doi = {}, + note = {}, } + + +@BOOK{Ber83, + author = {J. Bertin}, + chaptertitle = {Semiology of Graphs}, + volume = {}, + series = {}, + publisher = {University of Wisconsin Press}, + address = {Madison, WI}, + edition = {}, + month = {}, + year = {1983}, + translator = {W.J. Berg}, + note ="",} + + +@ARTICLE{ed84, + author = "D. M. F. Edwards and Paul A. Madden and Ian R. McDonald", + title = "Parallel {GRASP} with Path-relinking for Job Shop Scheduling", + journal = "Molecular Physics", + year = "1984", + volume = "51", + number = "", + pages = "1141--1151", + month = sep, + doi = {}, + note = {}, } + + +@BOOK{Eri1984, + title = {Protocol Analysis: Verbal Reports as Data}, + publisher = {MIT Press}, + year = "1984", + author = {K. Anders Ericsson and Herbert A. Simon}, + address = {Cambridge, MA}, + isbn = {9780262550239},} + + +@ARTICLE{ev94, + author = "W. A. Evans", + title = "Approaches to Intelligent Information Retrieval", + journal = "Information Processing and Management", + year = {1994}, + volume = "7", + number = "2", + pages = "147--168", + month = {}, + doi = {}, + note = {}, } + + +@BOOK{GloRib51, + editor = "Fred Glover and Raymond Smith and C. C. Ribeiro", + title = "Lessons of the {B}ritish War Economy", + volume = {5}, + pages = "1--24", + publisher = {Greenwood Press}, + edition = {2nd}, + year = {1951}, + address = {Westport, CT},} + + +@PHDTHESIS{glov86, + author = {Fred Glover}, + title = "Hilbert Modular Forms and the {G}alois Representations Associated to {H}ilbert--{B}lumenthal Abelian Varieties", + school = {Harvard University}, + type = {}, + address = {Cambridge, MA}, + month = {}, + year = 1986, + note = {},} + + +@INCOLLECTION{glov00, + author = {Fred Glover}, + title = {Multi-start and Strategic Oscillation Methods---Principles to Exploit Adaptive Memory}, + editor = {Manuel Laguna and Jos\'{e} Luis Gonz\'{a}les-Velarde}, + booktitle = {Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and Operations Research}, + number = {}, + series = {}, + volume = {2}, + chapter = {}, + type = {}, + pages = "1--24", + publisher = {Kluwer Academic}, + address = {Boston, MA}, + edition = {2nd}, + month = {}, + year = {2000}, + note = {},} + + +@UNPUBLISHED{GHGsoft, + author = {T. G. Golda and P. D. Hough and G. Gay and Giacomo Donizetti and Carlo Maria {{v}on~Weber} and Georges Bizet and Carl Philippe Emanuel Bach}, + title = {{APPSPACK} (Asynchronous parallel pattern search package)}, + journal = "", + month = {}, + year = "", + note = "software available at http://software.sandia.gov/appspack",} + + +@TECHREPORT{HogEtAl73, + author = "R. V. Hogg and J. Smith and L. Jones and S. Smith", + title = "A New Sample Adaptive Distribution-Free Test", + institution = "University of Iowa", + department = "Dept. of Statistics", + number = "24", + address = "", + month = "", + year = "1973", + note = "",} + + +@UNPUBLISHED{Holl04, + author = {M. Holland}, + title = {Guide to Citing Internet Sources}, + publisher = {Bournemouth University, Poole, UK}, + address = {}, + month = {}, + year = "2004", + url = {http://www.bournemouth.ac.uk/library/using/guide\_to\_citing\_internet\_sourc.html}, + lastchecked = {November 4, 2012}, + note = "", } + + +@INPROCEEDINGS{hk97, + author = "Hudson Kern", + title = "The Resurgent {J}apanese Economy and a {J}apan--{U}nited {S}tates Free Trade Agreement", + editor = "C. Lambert and G. Holst", + booktitle = "4th International Conference on the Restructuring of the Economic and Political System in {J}apan and {E}urope", + location = "Milan, Italy, 21--25 May 1996", + number = "", + series = "", + pages ={147--156}, + address = "Singapore", + organization = "", + publisher = "World Scientific", + month = "", + year = {1997}, + note = {},} + + +@ARTICLE{Kor95, + author = "K. B. Korb", + title = "Persons and Things: Book Review of {B}ringsjord on Robot-consciousness", + journal = "Psycholoquy", + year = {1995}, + volume = "6", + number = "15", + pages = "", + month = {}, + url = {http://psycprints.ecs.soton.ac.uk/archive/00000462/}, + lastchecked = {May 29, 2004}, + doi = {}, + note = {}, } + + +@ARTICLE{Kra92, + author = "S. J. Kraus", + year = "1992", + title = "Visions of Psychology: A Videotext of Classic Studies [Review of the Motion Picture {\em {D}iscovering {P}sychology}]", + journal = "Contemporary Psychology", + volume = "37", + pages = "1146--1147", + doi = {},} + + +@PHDTHESIS{lam96, + author = {Leslie Lamport}, + title = "Efficient Algorithms for Layer Assignment Problems", + institution = "Florida State University", + department = "Dept. of Statistics", + type = {unpublished Ph.D. dissertation}, + address = {}, + school = {}, + month = {}, + year = 1996, + note = {},} + + +@BOOK{Maz91, + author = "J. Mazzeo", + year = "1991", + title = "Comparability of Computer and Paper-and-Pencil Scores", + address = "(College Board Rep. No. 91). Princeton, NJ", + publisher = "Educational Testing Service",} + + +@BOOK{Mil93, + author = "M. E. Miller", + year = "1993", + title = "The Interactive Tester (Version 4.0) [Computer software]", + publisher = "Psytek Services", + address = "Westminster, CA",} + + +@INCOLLECTION{cwm73, + author = {Charles W. Misner}, + title = {Efficient Algorithms for Layer Assignment Problems}, + editor = {Ignatius Gottlob}, + booktitle = {Gravitation in a Collapsing {U}niverse}, + pages = {63--83}, + volume = {5}, + series = {Einstein's Legacy}, + publisher = {Freeman}, + address = {San Francisco, CA}, + edition = {2}, + month = {}, + year = {1973}, + note = {},} + + +@ARTICLE{neu83, + author = "Martin Neumann", + title = "Parallel {GRASP} with path-relinking for job shop scheduling", + journal = {Molecular Physics}, + year = "1983", + volume = "50", + number = "4", + pages = "841--843", + month = {}, + note = {}, } + + +@BOOK{fwp02, + author = {F. W. Patel}, + title = {Banking Technology in an Age of Cynicism}, + volume = {XIII}, + series = {Monographs on Technical Aspects}, + publisher = {Dover}, + address = {New York}, + edition = {}, + month = {}, + year = {2002}, + note = {},} + + +@INCOLLECTION{PeaEtAl76, + author = {Ian F. Pierce and Fred Glover and A. T. Ogilvy and A. R. S. Clements}, + title = {A Model of Output, Employment, Wages and Prices in the {UK}}, + editor = {Manuel Laguna and Jos\'{e} Luis Gonz\'{a}les-Velarde}, + booktitle = {Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and Operations Research}, + number = {}, + series = {}, + chapter = {}, + type = {}, + pages = "1--24", + publisher = {Cambridge University Press}, + address = {Boston, MA}, + edition = {2nd}, + month = {}, + year = {1976}, + note = {},} + + +@ARTICLE{rEG90, + author = "A. A. Regier", + year = "1990", + title = "The Epidemiology of Anxiety Disorders", + journal = "Journal of Psychiatric Research", + volume = "24", + number = "Suppl. 2", + pages = "3--14", + doi = {},} + + +@TECHREPORT{Une93, + author = "Unesco", + title = "General Information Programme", + institution = "Unesco", + type = "", + number = "", + address = "Paris", + month = "", + year = {1993}, + note = "PGI-93/WS/22",} diff --git a/PeCO-EO/gENOguide.dvi b/PeCO-EO/gENOguide.dvi new file mode 100644 index 0000000..90aed57 Binary files /dev/null and b/PeCO-EO/gENOguide.dvi differ diff --git a/PeCO-EO/gENOguide.pdf b/PeCO-EO/gENOguide.pdf new file mode 100644 index 0000000..9942e9e Binary files /dev/null and b/PeCO-EO/gENOguide.pdf differ diff --git a/PeCO-EO/gENOguide.ps b/PeCO-EO/gENOguide.ps new file mode 100644 index 0000000..82bdb3a --- /dev/null +++ b/PeCO-EO/gENOguide.ps @@ -0,0 +1,18495 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software +%%Title: gENOguide.dvi +%%CreationDate: Mon Apr 29 16:53:38 2013 +%%Pages: 17 +%%PageOrder: Ascend +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: CMR8 CMR10 CMTI10 CMBX12 CMBXTI10 CMBX9 CMMI7 CMSY7 +%%+ CMTI8 CMR9 CMTI9 CMR6 CMTT9 CMMIB9 CMSY6 CMBX10 CMMI10 CMTT10 +%%+ CMCSC10 CMSY10 CMTT8 CMSY8 CMMI8 CMMIB8 CMMI6 MSAM10 CMEX10 MSBM10 +%%+ CMMIB10 CMMIB5 CMSSBX10 EURM10 CMSS8 CMTI7 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips.exe gENOguide.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2013.04.29:1653 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup +/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY10 def +/FontBBox {-29 -960 1116 775 }readonly def +/UniqueID 5096651 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 15 /bullet put +dup 39 /similarequal put +dup 50 /element put +dup 56 /universal put +dup 102 /braceleft put +dup 103 /braceright put +dup 104 /angbracketleft put +dup 105 /angbracketright put +dup 106 /bar put +dup 107 /bardbl put +dup 120 /section put +dup 121 /dagger put +dup 122 /daggerdbl put +dup 123 /paragraph put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 +3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 +91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 +E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A +11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 +C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 +D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 +B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 +93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F +10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D +7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF +B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B +491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB +F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 +019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 +915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 +356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 +5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D +9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 +3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 +FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 +720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 +D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 +BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 +7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 +DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 +AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 +A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E +0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 +AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 +CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 +0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD +5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B +5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F +E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB +54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 +E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F +A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 +4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 +4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 +038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 +B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 +5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC +B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 +A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD +2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D +CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 +455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE +FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 +16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C +16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F +483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 +67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 +3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 +1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 +93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA +051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B +8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 +8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 +6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 +06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 +84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 +D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 +DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB +0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD +8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC +C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 +754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 +1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 +CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 +1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F +153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 +905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 +617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 +8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A +98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 +53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B +888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D +052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A +CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 +A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F +07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 +B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 +10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 +CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D +3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 +D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F +849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 +648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE +84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA +2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD +2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 +9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 +B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B +D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 +135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE +EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 +C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 +7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 +4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 +9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 +050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 +3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 +C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 +843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 +CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B +B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 +3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 +19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 +FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 +17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 +8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B +CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 +F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 +1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E +4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 +2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 +9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 +E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB +8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB +BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 +04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 +C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 +ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C +4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 +84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 +C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 +09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 +D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 +56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF +035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB +FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 +CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 +B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A +F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD +CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B +0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C +B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 +33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 +4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D +F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E +2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A +CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 +88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 +17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 +55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A +A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 +2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 +406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 +AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B +60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 +C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 +5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 +822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E +94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 +D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA +343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE +894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 +DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 +DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F +8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 +A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA +DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 +E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 +DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC +4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 +5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 +02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 +88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0 +657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE +D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808 +AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2 +3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E +7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B +A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0 +2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25 +CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D +9E592159338E1293F449380E13C21AE42E6AE8EFBA5AB27966A9D7E303EB7B79 +0C65B75B247BC99113F1C05DD676E57E0A60E1ED9E7DFC5EBC99B0DB795F88EE +9F0C0732C2C7E93AFB5F2BF0AA18CA658D7B7F464F7E2E84A286D73C3B9026DE +3D36F43A4629F4992111BCBE1FEDCF8DACF984DE5999C0CBA453B63F9669D8ED +34CF97579618D49A2B62BF68EF83C651A52592C53078E7B69594A253FB8A389C +00DB37E95F5D6193B4A3EDDE1ED9673B14370F894261545EBA9A52A093582A66 +25A0A459210185C7A77B3A49A57B1933C6A1EB4A3C05092495DCF923B8B05CAD +ED39F15130E0771F62282135F7F38015C2B7A256097C0F5031ABA471E111CAB6 +643251D0EFE15BC849A233864CCEF22545A79ED9C09222C44BCB510462C2899B +F1EDFD61F47EA46CFA0E36F73421C7865443DC704AD9EAAB7B878D26837362D9 +D09F522114FF24C22C81046A95DB01DC669C55E1972D3847BAAA59D9EB71F195 +09019C37277813A5152EE84A19530C20351DF3136F188AD14A822B8897C2BFE1 +11FBDD313AF9187B6E0D6633FC5706E1E732FC84CF768E75AC90637F731778BA +B92B6C5FAD7EE6D8201D904C39F72C4BDEBF0A81D81B8D8A0410190094DC42B8 +72BEA3C54ECCA53BAFE59127ED4F5D823593BD5F05BFD532F37DE1694B408603 +A0449DEBEF33B9AE83C09973177033A4357C7F85A97A7775F00DE685F113A67C +55C4796EC653F72E5406EECFE7C4A1D5E7DB9211325811959E4FE3322D1199A4 +72424AD4CCFFE477FBAFA039BC83F98C611C4240D2180470A0C28275B40D9DFA +A2DB6825DED0C397959FDCA9E595921436B7C4C67A1F7B1843C5A57D3F64332E +788658C0CC05B5D3F9CAB22AE3BD24E7B0CD94175003EA2D674AA9E58C12FEAE +111B3FBFD8FD2E72307CBA14904B6012233D1A6C87D440AA92EEF0013288AFED +18E988FAD5BBD34F223923CD86FD94F9FFAEF2CD96E349076BA0859BF7707429 +49BCBA340C8D39F069AE6A46A6FDE76F19B853057EB7280B580CEE1500522B26 +DFF823DE96B2A608B64B0D3BC30AEE57D43592BE4560BC058AF59D7B707ECFAE +BA0A594C843B3D5F0B6A8980AB01C007DC4CC6DBB241C24A90017C38EE733B48 +701891DCD212C9FB1C68E2E0ADCB7F07CEAB90DD075542F9CF4F4F2901EEC8EC +874B7B40D8DD2D6124E51443E3841486ABB0625D4F472BFFFCCCD63889464EF8 +2D73810D82E3664241DA8856203F9323A0E9F6D57874B881364E6A6CF8FDFDB8 +C7F3420782169BD3B68BFE4B3B8CFED84D97A8FE559E0734F8DF748BA57926EA +1CF006EE3C156D0E87306B0EA3FC1D02DDC381F715324DAF57E11CD5CF1B7791 +ECB147C4E1438758D59E56DDB48D87D630A0E611E9D7F5A097663DAE1830EE84 +79800FE6E90EE833DFE14BBA53AEEEAB4FD602C4F3B73E3A6B99FDE5DCFE7ACD +898258E3DC6878E43DBD517A29792B0DE7AF71B926C436F5CFAF321E2C483E18 +7D37869A383B85DE0BE277D8D56813951D2F1912C2A298C83F5D65C06AFDC3AA +2EE4DC15EC93B9ECEC375AD43BA6F64547C9E5D8760436FA781737EE0E126195 +A52E9527873EE892ED698A839720FF5D2F83F7351FF86897C5DBC9FFE74DB746 +5B022FAA7CD25408033AF30778452808CC3DDD0AF0293D2F8B84FEDE9864C2CF +6ECBD0EC0EFA4B0AF1F18C79F3447E39CD3052B23F978CE88E25B44B217852BB +82ADEE3AF1A76E526C6FDFCDC3E15F953B7D12C492154644FC4742674FAA2C36 +6F6ECA496D96A373CAD79F70959D04F288A23EC226B9DCC0DA83B55B1E259F41 +E858B61E4B3414FED291147FE91F51CC41C10D821C92952DC1F1655CBE6A59D6 +A2D92BDA0558672C3ACD78D93468DA2B92D361E6691C7BD90D735DC082324F3A +E11C17C4F073181050B15DE58622CCBB3CC1853ECBB7E1C5A629AAB122A85B9A +98BEFF1532263F239A11E3B295C953DCE006A4DD88450630A9B431090D6A14A9 +0865D1124E019B988B1352CF625A1B59E5DE01357443337502428A9565B3FE17 +A0B4843F7DAC19AFBC3E48ACC50BE1CAA1FA17A612E450339C0FBD6FB998F515 +59B92AD3BE13056617D1361A2D37963AC43BB7FDF9551B73EA449F6C7BF880AD +9F5C4CF5CFCCBE383C5C60464F4D5303D1170DDEB42F3AEF944B2D29A9699041 +49E25A370107C7BBC4DCD81C1A7FE7D2298F0FA1314A0C851A7179810264C6F9 +2CD74B48605E25029B0FEF7F913A0C2A1BDC8AD844A94FCCE3D560109AB04C1F +8E13CF57A00BE43089F92AB6B3E21FE40CBDCCF573F3F8168D200F73DD0103D0 +F570D2683A06E8429A3EA7A3172B38C65D7463936D7D77E0162B8B13A7E26D04 +3300B962402C279C6B677879EFFD552316B0CF5323BD93D10889D6F49887A55A +3ECEDB7F8A411434558D15F67BF7C822D3FDBB27BC9992941EDD0C09394C789C +9AC5B7EDCA34DC935BBD2D6190920316E8B7699110F3286AF7944A01D54F84F4 +7B3CA80FB8720A597A9230CF6673AEF35B7254005D92FAAC0591C4979B6A644F +0A654301A15C3CE43C57986AB11095DF46C2E4BBAA10293A92DB657D33C43AB1 +7F96391710FAC47BBA997191D42D234D7F487C4E09974CBEC9932B9698597A9F +EC61EFE7A6D3CF4182EC3D1BDB63D06E28058D1BA55030C71C13CAC2B1BD42F7 +A57A9A086580444BA37F8C8FDC0B60C920B81E4EA3499C565155EE5363853E5A +AD45037CB8CD8E2FF64A2F7E4AA22E2C3AAFB5B0CCAAB37E86ACA7D2E61AD93D +9AFA055CA0A8F4A99FE8BBD2CC8BD72444A5857CB5E4B4DB171DAD0C1DA17CB1 +F13B83C3F6371DD68EB88C807F2C85815D59998D4A67DAB7D11856AEBD7A832F +0CD42DC05EC58FAB40FF01F4B18B8754944625320DB4A6639D4658455A6C8D06 +F7C4F14C8D191E559267590B783F459BAED63A2F50B88BA8B10B9812D4E48E2C +CA8FBE0EA63BA95853C9765B29FBFF6894DF9CE8869DA4E35B6F6E037B490E4F +F5B4C2312628E3F6720B13945DDA5B0230BA3C74702199211E543A821283B2AE +52CFB6992281B5A49075409BD120C26C5C31CA20A691AB40C964A3F7224CBAE7 +EFA674D421E94398F69710B656991CDADA8F5DFCEB46E4A650C8A46883AB6A33 +6CF2AD44F896EA55CC2630D19198128F8B7C65D2E210F3CFA9B9C9AB977B8178 +12FA0ED2432C086588EE957D2D20FDD7084FF99EE2113957129E00BA3BD9CC08 +7032865C36C347A94727179E7A0919F92BF53C5D18FABDDD805BD6C00AFCEFAC +980421EA7A8BC6DFD35D1D5514CF95284F07EFA5866E5E38C02C19537DE397F5 +651D4AB6A924F843A4E90580E41FDA8F6827730C32BBFA0E179E66835C94033D +A4D73D155AA37A6626A694C732EF7D439EDBB7A741799A0D0E5C9AA866B515AC +905B4706290B81D1135B98BFBF9B959852F1482CBA2C4531564821B9F6BA5B15 +B68BA918DEB13B58CF25E79A18A1D133FF9FD2C13A30242209 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI7 +%!PS-AdobeFont-1.0: CMTI7 003.002 +%%Title: CMTI7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI7 known{/CMTI7 findfont dup/UniqueID known{dup +/UniqueID get 5000825 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI7 def +/FontBBox {-27 -250 1268 750 }readonly def +/UniqueID 5000825 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI7.) readonly def +/FullName (CMTI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 65 /A put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C525641D2B175DB6E +FE5425043CA62CE886B802B23F41D33FF06CB9EAB7DCFEE2AB63C1333D9B042F +B0A32D7634E2BC65BD7B7C53695C585079EBE138B40ED4BC7D06B30C88B5E0C8 +E93FF20138D513B24866986C4A633304FC4945EA8A6C6BFFBA1FDCC8F7474BA3 +D997548C23060E15A15687E9B58A8D2E2D749776BA364A2E28FB03DA767645CF +34BC9E787E5D3A5B05F67D169D710592108F4647A0004F71159950253FCF9A25 +028DBDB4FCDB2AB5F17E49A5DEE3C366C693E0784A4D036F92FC97F1C0A0C08D +E3FD9FB57AA80ADCBF047193DC787C35FB3237AB63613A9244727FB93754EDFC +323A8B936100717C26AFD2A4EC3F66C438FECC2D6EC4C2728ED313AFE51896DE +9BB5E98049A4940FE2EC90074C0EF991AD2073AE06B7AA62C2D6A1E74E72D3D3 +739BF7461E7AD856263A57673F6C7E33C07E330A9486B20BC9FE4D2908DBAE9C +1078C36AD01B070C267BE3A1C8D1212DEC9CB71683F464783AA3503DD646FFF8 +C0D859A4356E4995246790E5A2FFE5D46CDCE889E32516264498AE92D769897C +A8E5FCA9C15392A3AC0BEE3573EE14EABE243E07F10E33BCFB4CDFC7AEFEAB6C +F62C21EE29CFAA994A575D56C692C6E040FABBFBC5C0C79A23174E728658C967 +A64D87103716B3D29D724DAFFFD2DB429F9C60EA4CE589C3B5FDFC57297CE277 +80E9A72FFED79394E57C4CE22C5CD55433B3BB329F78F35B25BB3F635DD11897 +75C1BE2A808F26E0840D95A04FE7FE0A85B2513745D1FCA46A54BC1EABF596B4 +F0344BE1A8297EC0E7932E1C82051868BF9A463ABFE0C63ED8F0760A44DEB196 +4643D15E499017B5BCC3D28C576A2E0523BC3C282FC3D078B4F944B22506D29D +8EADCD89A7E73BBA812C34E4D2728C387AFFD3BC4776236A1DD646ACF4ABD7FF +6A09AFC5EEDFC35F3E9A3C0BE49425D85B0E1A935DD5C076062888DA3B4DBD7C +72BD35B29BBF1042EC8A64E64AC472D3E446FFC36FE86ED8B95B65E6756EBF02 +FFB1FA08D7CDD1A5104AFDDBAB721951E5BB5D091BE3F827DE1D2667ABFF201F +AFEFEC030C90440D358259A25A2BC111BB56B3E53E5BE0AC8E366CF112C289A5 +48442A1E48C0115DF1119349ACB1FE6983D805071DC20D576D9267AACA497EFE +CEF2593A4AC5AF2167627B00C5EA97D125EB8A47E58CD9B213D74F2D37F8E474 +D9E3EFE626E138F6B09EC1B90E207C2DE0539CF5AAB4A5CDC331B295D8202562 +8482DA317D4BA1404A291D299E0A0F6024696EA9225E4C7B15839F733EC4BFFD +E85B7CE1F0883A5A0B4544E534015E25DF3BF5305682C20B1625C3C6A5700087 +72969CBE2D79712C8EBB9F9776DA3D6A7A35C79C6508F8962B1E34007F4F9EB3 +E4BBED40B4C76C56974838F6296ACFE974A249F80FFD668AA8159841E46DE0D2 +6A5BA7E19B006D7DECFE918E0B792F4D0C04FA774F6B399E165F7687B4962646 +2595E5B24DAAA8BB1BF33B972776A258F3D039FFA6CAC49B3274F193070D95EF +B96B07A2C5A413FE43C59F6D8F843795472ABE1F73107C0F5A5B9274CFF2346E +7627355D5E7B3B3451C89DF5572F4E9BDCAF526425B34D71875B515E62DA8609 +B45B1BEA5002053BC1F0896E9FBFC00A83FC660BBC5258426108155DA6C00024 +AAF2DA69949B5DB8D9EA06A599F2B277E45DB331C6BC2F40660A33BB33FA468C +9F8C6B65CB2E273BE3E076B0C57680E227163C6183C06A4308A0285526E98445 +8763C550EE9422B987AF5EA62E89630C007C63E4BB5FFF01BC59793A20DDD35C +BFB5C79B5416EF06B967B572F3C58ECB0A3798C438778F42DCE24943ED290743 +6CD8F32177192AD8EF12373CA6E493DA0F045C1CFDDCD49F6E4C067324CA0A3B +389CFF8E2C408D8A4083427D4DD8CE33ACB202800A75E581404334E3A910EE37 +9B6DBD1D296C8C164B7B9E1B744A09AAB39963E396F5EAF36D7A02FAC04A666F +6184E9CD0BC31B6C3ECD327960336FB1F9F9EB3B63284E0BEFF29DF468916260 +15E6DC9206DDD65F43D75762520C3D6D221FBCBC530EA8ACD715995411F785DD +212848B1DAF379667F67763E6E4AEDE090130D1632153135992A292A12541702 +3CCECE5CC690C755E8D6F4FEB9D0C1F5C7BE9E5388520CFB9F705F227E131FD2 +ECF6FAEAF05ADC9D7343FCB8CDA6CACF0A89DA6E2F0F58DD74ACD2A670F3AAAC +51C82B11ACF98BBCD1D1DC49E6A8B9815116137E9DE4E3975D3363779165F11A +4EE8B49058750A45DF8D3548CB628EF51A05B36FE8317A864CC5126C073A056F +A1F3DFC27F4A5516782E58C26CDBB2C24693F66FA7BDE6430184675C5BDE38B8 +FB08777618A8057F0B8102B14A9122214037FB150322003A0B4EC789F94863C4 +7DB0F028D37EBE23863834060E0E7A557B97E9C83B3D1765C08A86A5BC59EAF9 +356A0B1A4652044F5757B3CAF077A53D09FAC644D69B3C8FF220E23AC9461FAF +3EDCE217FC3222278BFBFAE76E8A3BE95920C58711CE421E21B3208438871E76 +468EABB998E3B8C5A914F2E6D8F3A8390A3F3802843FF261BD4629F369E1E5ED +9A94C4B2724D31091117DBF20F6857873BFCCFEC228FDF1F42DE699A5B3F6633 +00EFE62983F273CF97E171823BD3A4B2275D0D7B4980357B1CA613F8383C90FC +080A28C3CA09B30FB156C508C88DA67EA995A4805C0F56A0169CE2F4F165BC67 +75D9256A9A182D17804CC75DC09E4195DADA5AB7410132B32AC9FFBD8E91F0EC +5E16F90B4845926B31240ED66CF7E7B30B09A2F0A8B5321E1D41A85C5BC9592B +81E62AB9E1C7689F5F3DD004B32D2F2DFCFF536FA73B708EEB1EC50431F01831 +497CF6907E3E0AE42240C1F95CF761BD7C6D063805D473C94371C07CA1065F38 +B6B75779F8B4B08993CD240F4ECA804E083034BA706FC89997A900A368D1F65C +E4D4035CA5F16EE160DA90FE84F81DFDD7B89928BBA041CE048841E96F90934B +877CC64D608B2AEC9BEE8B80A0E5181EB32F93463F93E7A2EA94AE70A60CFB8E +94FB7B11A47D9F8CD338296F9B8993BCE0B89AECB520FCE80452B8C5668A7BE1 +65484C4F33340EAE118D1DD35772DCA7EE26E9D3097832357431FA2EC7AB1FC9 +50E5C8CF1AC6CE26AC96066F5E1141461BC4E9B5D9E8238D6344C201FE1AB5A9 +EA45B0714D1BE5DC27C06046BA9A3715129D41065DA246AA3CA2B2C81B1AD030 +1218981023F8F5C0C500FCA63C4F745CEC91A8DA9B80BDB28DFC525950F82EC2 +E7867CA9E096DA38FF5CE0DE0DDF7033F4CD1EBE11273B1373B76168930EBBFD +0A80E139FA67DAD2DE2F3F5A8233BBEB24354254171B18D4195F613047E63686 +90FE10D47434A7DD0C619F2514DC5A46A4075E7B8BA6677E38956368F84158A0 +CB37CF43C2E48A3856C0BA0F69BCD63F6782D8475D955566104C34C0453E01F0 +9AA0091C9BEB71FCF385D90027C0E69AD0EB7C91B61B2976E31BF9D9AAE65588 +498881E5F9AD116E6D4DEAE2182FB848DCED82868355E08D395E1AD26EDB5C24 +9B92294E3DF2D11314DA237CDF52A5689AA1FA4E49C4A82381E5C8638B9186CB +633333610FF4112D7D02C3CA9AA6B44F5CAC4582EA66542B552A88598A759F3B +E3DBC0443A40B25DEFC7DC0114E5465FEBC3543E82494CA44FF09613103941F4 +6BA67CE6FFA9BE0FE7A71A1BC60ED190BED3C0B3E7A7702520631D0A730231E5 +F3B53095017F80525DC287F0A8400E1630A3D92F076A13E5E3D947F9F0277FCB +890123AF04932938C6938D7533D2429E580566681049AFD0AC057B59708BADF0 +8FC7E5DF40CBD80F49503331A81A5C56375F5BFB4C4BCA6FC94B7C6FAFAEF6DA +93C704F907BF8558173DAAA78588CD8C7D1B13F838AE94C4E5152C29CBC171C5 +B8B3146FB0CE369F0B0CEAE5EC657E60E74321BAA347D2307CC55DCFE06E47BF +FFDB7A813FC6D30C0FCE5BD3E77393CFC51B38EF275C84C866E69CA9C74C9AB4 +A6A6DC7D12DB626552D87856DDD69AD28AECDC9756A00A0D32257A43D6E9CDAB +C8127E06C4FB513129926FF0395F0CC1C2D808C97635D33BA2F8C833F2F84F66 +3B05BDE41F950EEDEE73DF90F644ECD7A72CB2CFEC1FCF17A867E0B0C0F5A7AA +59AF4501570A50EB302F85E542BD29ABA6D74332400F4C8365C3C9E988752F99 +B839B7A0F630C740BE32D1486981D8000FF636C90F694FE379FC0709EE7CC746 +F883810903E238C932073A90AC78E8F7DF9583C1152C559A6CCD3E5C7C0BCAB9 +73AF3DFA8615A7F299FCF7CE7206D5F4B9040D387CD3C52DBD08E0E9A80C9616 +5EA0EB493768C53E93FCE41BCCE064A047BE8C050266583ABAFED74E2B968BF8 +6CE1507105B9503D6FC29CE61BF07ED568B0F1497796B6CF781E7262762C1675 +F25E86F56CBD7E68B03350481DEFD02438DCFBB7EE50FF276387740E79E5CFB2 +CD7A6FA367377707DF63029ECDEC47A4EAD2C87CF75E4A9112444FB2B5BE55B6 +C25515FF648509AD54D739CDF040FCC34B6A88788E0372528E9B112FDB8C7843 +5D557151B6FCEE99F53BD5FFF13026B95ECBAC75A0EF4F856D2F150817B0CC7E +20AB39ACEDC30E1B777C6F06D3B893DAC73FAEEDD93EFE3346C6255DEE89E26D +E279834A7C2FF9FC63E5BB9AF74295CC5F8C6CEE33046B00DAB455A40FD74A3F +B7D9B4251448507F2463443E9141E68D6C244EE00D1E009E7F739AA650C7A651 +4901CBF31A83D7A188F7980E74F75BE0EBBDAF01F106293F5E56FE9A440E5CF5 +89C2C6FD9026198136C5F0B51DC53C878577C932E2B2B549B3FEA7B8D12CAC8F +B975965E6805C79A02A08779D78D582548412620F69F70908E351852CBE389B8 +A2084B98B072902E74E59ABE2E32531475866B3C5E515DD140B3BD06F77FE41F +8D7ABAD142B5DD71CE0FB171D93C72C1C113397D5C6BCA124297997581284FDF +3655C15DEF9EBEFB6EBA58153BAB51631CF70FF79180B28411419303B349E7B5 +CFB24E53E6383A11041562E4F938100EA504B10FE0B58D0036273D44AEA380C8 +D14901EACF5B826685E27B15D9C81F0C6E4581DFA876650C6F708A65937DBC9E +D53DA2057F6796D4CF06F7ACDAA3858386DB21B6E14CE1A4351C9B190BE38A5D +2A59CABDAA767FCE533243C6129DBC22634E979EDADD3B8E9B6C9407ADED11CB +E7DE1E57DA279A804612FF97E38F78A88B9A65186D33DE5043F2681518036CB6 +05F77954E61B7231819803D8DB4FF8DB67F56A47893D2A65549AA44BB38739F9 +C34A17A00ED72D004C627212B84D5B521CE8160C0F4D6836F02F7FBDA4F7B159 +94A7A9719AFF6F28060D6798C25325F9B383F7BEFB70397BF0720C9D4DEE43CE +5A278D83310ACE58573A5C3A8B5CBBF50727556FED673F0E6D3D362B9A406127 +A35F11282B39178A7157A0AD5E3F6B324D8C83805C6F12659EC333C89B849631 +4CBAECBD29AAB3075239D0D3840D49EE57C23AE53DEEFA123810371BA2F44EBF +C8DC4BD214933E60B17971AFA46F64389621AE2037946772D7357164850C7EEF +9454DC7000DBA7F66EBF61BC00C46ACFE18C346C984477181FD298E5A2EA60C8 +BDCAED5006C6DAE30796D7FE32FFB67EA010C68701A0310C07F97F04B928AA48 +7964C458ECC4EC69A47DE4035AA97F97DD83E0BB9013833154D013E84204D9B7 +FCFD0804760635839FB6CAD93935654EE8C9B7AC136DEE00EDD88D693A50FE11 +2FE74E9B91DF1B2B4CD1E0E4AB2533A56CC0AD18305753A244620CD879ECB18D +473DABE960D6ACDFC3FC0ACB06A42DCCA04D73E18CD6E53123869411140CC9BB +06F7B54717E6437979E88248F7364602F4117968131676F4B8B05AE44FB24B2A +517FD4A7E3FAC0848F01788425C9497445B09F50FAA7DD10718F74DD7EAE0435 +83AA8BB6BB68247DF6862EA85923F1FB13EB660D9F361989AE7D2F6E4C720D80 +7B3D28C17D150ED27A89B5DD2C53DB1C1FCFC9DDE0AAF18FEF819FCF7EB75616 +610CA0101EBDFE9FBF4A9A2A0687071331B07DB41E666F7186E5AA42BBA3D76D +9E2C0A1172F00DA496C9145ECB1CC5C900593C5BBFDB66C73B65A69B8E9887CB +7E8E4D4137123E9E22D1F08CB3B7CBDBE40A36D4C51FDEAB241B7C00BD0D2B7B +D493700B99FD83DAEBBA8E35A1B01105FEED52E133271E1F9FF215DA20CEAF59 +FFB2D74563ED4317B3C56E3F58F367FA2D285916CA08CE517EDD722E8B06CDA5 +F59F90BB13E2579B133C2D645F5DF5EEAE8A18D6115DB17DBADE038B8DEC5D71 +B71F9203ADBDAC8CDE2A75ED88219E4D32847F1D5B1C0B74D6E03B74CF27DBC2 +B4A0A1828F238B498664555F6DCB51A05ACB5F4669BFFF59D90ED267113C3CE4 +BB7AA57C660229728175C2E11D451C4F132572CA8895D3963528AB7F4B65E4B7 +F359DFC14A05E2211538FB21B4D0DC4AAB98F06AED736CCA3662CCBA0D937B3E +DEC8B155790F5A37CEC51BF0A85A309871028A67C2C3C451FED7FA0D45FE2437 +B1C1550DBE4A512AFEA4679A30FA62B0BD33925AB97798CCC88AF9F5066ED9A0 +818B1FD2A2954709907475074CAAC88363706F7C4AF74800974BFA1F0A080B34 +8438DCD198325C68E88D3579FD298ED4F6C747E0335D2A4218BF03D95E6ECBC2 +80A094FB09A5FB86923D79197F001EB06D4640CEEC20FD2340926619393DE5CA +EEDB2FEBE0818CE00B01ECB5834DB9395671C985FADC459805E29A7E640049C7 +E70F06036015E4C4D1F6EF105AA6D1414F6DDF186D2B751F3DAB51F03819A8BC +1BF747716A4B3150E2FD10C1FF5009739F7FDF01980167219D33534D77945B09 +1A12A93E748613E9998276569D1D97134980ABADCE4511795EA176B1F5358235 +909E52F8512E6BDFB95AE41ABE56D672FA606B69D8361438805548ADFBB35F1E +CCF286DD2C100E646AB14FD73A283903D0DDD8CD8DC214A665B117C9D263C716 +DA3460FC43621B9176D2E7E4920C4A068D6C13DBD4BCC1D4E7F790A8F9FFD349 +EB48FFDB1B70376756E41C75EB4956CC901C6901BDC7F3F4AE48660E59B7B3F9 +818F4D87D4D9DAAF84B4D947F0DA57CCDF44D2C03FC9BDC48B2D2311B140DA11 +3485996DEC121F96567B91F2FD7AA9B39DE9504C23A6BD69A07E00C52A5A8B80 +A42C8D10E764C3F9ACF723D221D29CF701E8CB168B50699BC434EB3793C19457 +78EBBD462218F249BC2CB3B97315EDF9A1209C817EE4BFAFEDFDA894B8808B26 +CA587CB7739FB7A91B9FFF302E727AD2EFE0BA46EF95A1F21A9C32B2B4F4FAA2 +1F7036CCAA6ACAF7440FCD1E571DA4AED838F9EF1007EF7B8248981B8B15165F +733A0B6FB8D697B5758FF0E632246938A19BA25F3D5594C7EEE79D45A48972A6 +8F66701041F42F42563CF2C57E9E9C173C365EBB414895045085951648719AC4 +CFD520A335DE30DE06E7D13107EDEA3C4BEA82335E6063F2C47953AB23288ACA +F9A9010EBB8BC97EF4B1A21FC6670A8DCBF67943B672F7782D3EF1BC773C95E1 +3523B5197F0E8920EDA0A2A4A857DF028AC0399DF5BB1E95642D39F8FF740370 +3C8E4E80F6E4A00CC55A13A6C722A77268F33FA16B94230CDF2109F52AC97282 +65ABE9C3BD2AA33CAFB4A15659737A36081C13D02F8FBBA8AA1CE951FD498D47 +3FF1E448D7655E28E1D3F07B0EA05F5A756073B85FEACB5E957EFA5E03C8ABED +088D7F3118CC190632BDEA2B646DABE0CB35B69369C888AAB955C1C41F01D4B9 +8559AD18A4180053B7E9268CF93B9763BA70C77A829AE89EF45B04602E42C6C0 +B9768CC5723E28652053FE405016E1B8F6DBAA629B78A8211BCD40FAEB10782D +5B82ECFE97A524374BCB3721B63707254C53A523120636C294C00F85B09FC649 +0E2B44BD08F8EF9F9AEBB3E81E96F921AEEEAA6CBBD95228CC6A5AED354CCC47 +34D8606F88420E963EF20049FFB86DDA1C41E625A80D55975AC5DA348656E87D +F959F4D94FA23125502C9CCBDE79158D00FF6B8AFF1E0C2B43F5314E693CDCBA +9D643E9DF2801F52835E8586284247634E941D0079BAA75740D33A15E776E27D +7356C1062654690D2B2896781AD675273E4E179894830561351EBE2054280EFB +4BA5EDD3FB10763911AB574C7FAB6920079A4C7104DA53F564F40376D068DFCD +60003A21D7EF05203396667443355ED6D755FDD063A5835079C8B7FB2AFA58CC +21A892FD89DDDBFDA976C49A83D3439EFB7CB42AE298DF55AA04FA236DD4C84E +7E2BF19EC08A12612B7804B3A1CED52922E0AB7F80025FB2BC7CC7220C7E66F4 +F2FFFE2DC97711C85D2A854B379BC82A29939C500DB209860593F6A7E9035D06 +B4780E45489510921809980AA0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSS8 +%!PS-AdobeFont-1.0: CMSS8 003.002 +%%Title: CMSS8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSS8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSS8 known{/CMSS8 findfont dup/UniqueID known{dup +/UniqueID get 5000801 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSS8 def +/FontBBox {-65 -250 1062 761 }readonly def +/UniqueID 5000801 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSS8.) readonly def +/FullName (CMSS8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C6258F0D99DCD775 +734480114DD0CD2931DC18782C4CCB90B6906CE08BF4CAEC2D4283CD44730A2C +28919598227F98FC5524B0CC92540E349C5B190DF5F2317AE46FFB97221BDFA5 +114C21D5E8FB0D1C298EDFF8836AD72A9B2AA132F52DD5D3F30427563C97CC46 +D241B7024B4CD9F1E0037FFABCC88D8CCFDF3BC6EED778074F9590733CD147B2 +5B68387E0F19E6A81961077BB7640A3C0E27ADD72556CF84ECD981ECCB64184C +EAB8BD9B96A873D80E3E0D5B4F5925983C80EBC3A8A12FBC452582A0B37D3C42 +4DFD22E9BADDCD2E69644AA271EECF366D63FCC29522FD72D6C1EFDB3597E866 +61443179872395E99024F152F6D6A4FD71BF1C7383BC1CC27AFD2DE3DAEFC06B +6BA837BBEBD0BE09F6AEA31A83B1B45255DFD6FF33362AF8BCABEBB0D944B3FA +B85FFBA0B370B9035460905432EE87395E518B4B670246FAFD535774467C059F +DC30EA01C95EFBA4ABB41711818E23D7E69D32BD63243A6D98666BD46E234155 +BD6ABC76F551C31B6CE2E52323A9DAD5C003FB116AC8A82B46ACFC45EECCCAA9 +E12C2C8E3CEEFD98D49ECFB824E8677BC9CE9B682BB5A7117174E4B2A0B925EE +553713780CDF3A3A4AF1560343A8A448C0B5DCC4E11EDF5ACBBA0BA8E5B899A3 +7321AA7D4B283AC9234978C2DD81813653A96F2BD129FA5F355D56C4E50310D2 +0FAA8F304D8BF333F97A6CD20CA4BA7BE6DC1446759683933BB1F1617AEAD131 +1C9EF2212EE7EA9B64E5ABFF45E1727EE82C00FD371BE1387987236F9BDBA4ED +A966658ADF028B5DAD1F0878064221D0469BF17CB4E738258FB5D92E9D380C64 +16E95BBA6A2BD9EEB1A187A7231C53BD8ABC9BAC46CA4AFA94A4920FA805F67A +A0C61940F6826CC4539A6CD1F9900EDC3F720AE4FA097F1D7510746BCE2E67B6 +EA2F2046613785AAB89915655408AC9D03201838BBA44F421D5F25CFD88E56E8 +1CA23CBEE9C2E323DF1866D31F309C92281E514A87A9631F33B238AC6520A20A +346DD6A206C3CAF2830FE244F2AC5D894686CAD5F4BD1CC51EC0B547603BFFC4 +F008FDAEBC93542A43B7C907CC85046313348CC8A017C585CC370604E40AC820 +8B9D8F57A01868FDC93551DE10FA83DDA3E49E44C32118ED90FA67AB1C66B3F9 +F80CF71131977ACCF4DB44CF1EC26AB363C5F95FC2523B5DFBF4D60647EB23AC +89CB971DCDAB3BA26846BA9317C051011C37468B21B159412E69DCB84A9F5876 +F418908678F38880B95A4BFD3566A6EDE93AE05BBDCB3C4E240A5C0A06301896 +69FCCC0B65BB269F2E10609B6446A68E2DECA905FC26D4F502CAF0EE9AB15E60 +CF42CEB376D92D80A6AEE55BCAB006999BF4415815D0F5BA3B1FF9D2E60201B5 +833FABE8B883847ADACF9B032721DEEE7FEBB583B89066ED9608F1EFBCDD09D4 +3F3C2B7B03154676151753DFF53815F2EC1517C094B0D2CC5EC483AA93772D24 +AD3B0084537B91BE1913A31C70750C6DD707761DD733F9ECA552D3F26825B2B8 +3EA263488892C929DEC07E2F988B7F7657D53CFA5542CE336D35B462E5E8649E +05973AA54C0A4E63552004E3C77E5FA77F821D820B1620CC8CB3EC5B1D7BA751 +16CC155DEDD4DB0FFD3009729F365670DF9472435557201D8E82341B4056D2FC +5D2F7C57599249DA2A99A522868716B076320350FA7415C3B10D77A6E1DC77EE +2D929A038DE3EB4735A4D4F5C8C340D6D293D57E83C2F379ED0EEB16AA3A2A2C +ECD664E526D918A3D0A934170B6E1493843E6AAE87E850D70DE65D34AA2A36DE +8687D57A6B6B1447F9A4380CC3D4D11D54CBE762258426C46B8DE6059E6A2F31 +E748549310FF4362129080CD98E70817A06422743780B86E11101BED14BB6569 +D36903BA8BEBC24A478CD430801082CCF49382D6F04DE270D51CA5BAFEBD0F8D +901CDBCF10DB97E2B059C8CF7CDB45BF931203D5F8CA4622DF19682DE2BA7924 +47F78908BDA23C4E21C0ACD2DA259B23648B6F233EEE830E7B82DF4371F55C30 +71993EC2BCC7BD6411690B9B1621903F358450976D6B6EC6B505A593A9FB7D92 +7223E2424DD5AABEFF254FBCEF934A4D51949BA0E8CD614AAA3AE6C3ED7B37BF +5324BD4998D8D5DA95E4741B753AEE580FB3913770C00277C9F609B4DF3D618F +148E0EC7A75218AD788F98D35989F3DB94413E70955EF586C0995A450BC75820 +F5490EB55E5D0D21343565E1FA94FA64A74377F87E55EE0EDDC8F4286951A4EC +ED6FB3B444206D89BA71A9723E41E93A9F6C80240437019F3C23DFC2491A19D5 +29762876AC60A14404493D04B5537C1E6FCA67B69DC1CD859F9C956FECF4461E +EC8B6CD5B5A89A8A838660A6C3F47B79ACE3B05C0AA2F17CF2DA947B893B42FF +749E2CD5E7B56823A119629931B1ECF65C51000A10412668877178F589B4DBCD +24D39F9219C46BDDD6F101C6AECFD3876056CBB858FE0C4BA2BD0B5FC26AD5BC +7FA9E295E72BEEEC721300567B6894FC48FFE5E3067C538CBB3B77E386F50D22 +F8DCFDD0E335060CDFA49231D157981925F1CB36110809C12BA28D2D116116DE +01898E311FAACEE0E5402CA30B64D3D5A0CA33E417FC322F2F0BB7AD3FEE2039 +56A15DD6D1E86971AD3A5A9A27F33AB62A5A3BF5660B59235398926D6BDA33BA +BC43B062EEF199E4ED991518A62AC374EE21E8F1E1C954BA6D1493388F708D0C +961612444BAE019E1DC18BDE900BD7A781835580A74DC696BC512F7BBDBA2D0C +ECE5D83A049F7A3286B94FC446DB5C3F33CA2CD3DDE2D0E774A579831CFDAC37 +9612858EA613AE6939CED001EE662DB17642D0357B80BA0F82ED306218DA8505 +A613CD622FA998EBCDFB7BC70F4E4C8F1F43241FC22FC5BB208F4B20311A98B2 +73F30E4DFCEC93875CBD1ABD29ACF80585F59947F23A96D218C0CB8BDC1C49F5 +70DF3D49704CBA9A23294A88A2AD61811450921B1E5C3C86435C55AF87AAF6A3 +A13709082DA9C47D372A4226116342DECB14E4A4ADB7598321516DD637B64148 +12AB17AC5B2EB25718856D50BFC8D64C78DA6E5C145187DB0325C30A42013A81 +590E58E74094610207FC70BBF1A497395939B42A6EFCFABFD9D43221DE484753 +DFE5311F1845592B4484B1CDFCC32B4E068B11A82BA189D2268D88FE63B9C6E9 +20C9E40B543B5C401265D92A932476DAEADD4D3E2BD6E4DBEC0B30FA90A1924B +41D2EE9D8AF2D8CA79D15518141665B542C696C2507DD2F4D987EE5E22397FA8 +FD80743186872DD67BE58103321467CF3F4B8898E66584DBB9688B9C78873CA2 +9B72AD7406CDFE8B58FACA2904869FB0EF126DE299CAC08CB89F60561939D75C +2722CA57853372C14F5BCCA5C4FEBCEB0728BF9E30140E6B0D6C034195FCCC89 +291CD818CF66757EAEB0AB5A9D5710988EBB052850DDE97BA0DC0B054BDF5172 +2002AD6FFA44AA5D9D4EBDB6B2C04E8EF38660D9BC4C995BF37DE078C279328F +4C360B8EB337D798962CACBBDEA517A5EDFAADF0D445FBD1099837F9D689CD2C +E330CF587246387EDDED64A2F4C397C1B2BFC325B39114609EF57DDCD7B93C53 +811ADEFA323C59441ABC447F683B5EC43870C057463DD502E9B9DA7084C3BBFB +2FB864D26DF1BA41ACC815F2A71E96D2C6F572E1F7E4A224FE57CD605682F98B +AC7BDE4B85A4C11D58981E981E9FC43B87A368BAEF78AD87B7DA0FE403AABFD1 +CF414CBE75C0E9E257DADCBA035E1BF05C4E17FE92309F18633D93DF885956A9 +6C27E77540F888B8336B61598CAB04F3B5A1767C1ACFE15D32A25E5B1BF51FFB +CF3CFB25CEE7DC95203CC44805A935D5A9154A89FBD4E465F0E599EED4033365 +0A31612F37BDAE8CC85BBC67F7E375EA68C2982FFD89284B027501184C4D2232 +CE0FE4E905C4B504EAD009F047FE627C79AF9EEDD65D00A3858F88E699E5EB45 +4957086CB22776AD06C317DEA41880D88F0EDCF71B4ED76BEE665B7937D5D0F0 +E568C7615025172086BDBD69670EA154CC52C85CBFFE88C1A4D1AFB6624EE667 +1B5BE2A31FCE8B2A4B03BC5DC57280199CC0970EBB636DDF8DF54C4A8CC8805C +AD63CE866FB20C64725AE4BC9F0EB275BD83EC89F2F9CE23A084B45694D8C3E9 +3F3D3C1A678690877E8B1B77ED85D4F6E03DBF1F3B1D177E330475F172E0E729 +63EAD8034E6100B2A5773E2605180629972DE6BAC0A8C2F9580E9F1D2E77791F +E1D33C2DBED3FAC47DDF1B74FD02583C3CFDBB2D1CC2B735C02B14B7AD3733CA +1682944ECFAD673A9AD5E80B6248FBB6E5036EA7FE5CA8C34FBCA6DBD0E76EB6 +C2CB89D9815DB3C45742170DA926E03493AD86BB19A1D3FC623BDF1C920684FB +7414EF69CF39713A9495D8CB678BD4592B53C36BC6CF93505B8E32311D42532B +5661051B855F01A9B3D77AE38879853AF0FFE2448368DDFA3EF1DEB88AA055B7 +91459586DD2DFEDA192306DF7143F998CC5D67C1CED313430E5CC3F9CE265747 +8582102111E7AF9FB94D95B82D8E1DF01F04F2A2C22A20207B59C8976D56833F +E3B79DCB727EE7537476A052E92F7C3D6A625AAED8F026F22AB59EC0F86E541F +BC082D8E35234A18192862EFD232C9950B1FE0BCB91209FB540DC5729B9E36B9 +94D0913A8F01FB6CB16DE85E6B89F144111B1D911DC527C24917D909F1CF501C +1AF2923EF71530F21F9BF049A56C7AB3249A420C28954E981EC464F61FA167A5 +C6084661808089EE7DBD80A2D92FF4040B37B2D81A2F5A568D461BE1C62B0FD1 +BF6D1063D2B5DB9CD48BB2B2AC9CEFA543E0AC5C86C462399C1E82F25A157282 +D32D538029ED22CC5935E63FA076BE22D3F53B7D7CCDD344D68B4E73F87A5F2C +691FE68C981FF7CCFB124506FEF93F36F7181075D7BC6FEEC0E35AF57855BAB2 +44AF021C7AD8912D884424E8BAEC68A5562B881793A1B47FD338B1EE4C0B8583 +2867C78DBC2EFC8BA1431DB1C8622C99BB2C2D4D5475BFCE87B11762427867B5 +7253463C6F2E1CF5F1DC1F7851F2EF6A957CAB0C0A55076C59A6FF9237917C08 +5F97C2CB4B5CC903B76BE8C057018CD962EF90E1C0CCEECD52F2AE35A94C6EF2 +D99DF4DA88247C920623978A1DBB81D8F171B588D617AFA8285F6147E889523F +CF11EF4BE498842D3BF8E811B4B33131416658E03293AD911516D8AED556F7E8 +0181391AF36D862F5F8B4588BC99585BFF0F1ADE4BF73320158DBACB2784768D +D9794E2B0F2C0696E5ECE5C7A7DE78EB5CAE85EEA244D43D0280D4C87B6B93F4 +803718596FBCDB61A0BFC2DC666128E56F3133B9D4F16305940B50ECF66D80BA +06C0A73C02F689314F1B4FAC22D16BB1E414C6F0A1A548AAB1364D2CD9DDFE5E +C8887964D26BE84986A6B1246BC306E6343CA376F990B77BE8D68A4E54304C3F +250B2311586A1D1EAD2C0221FE1828CE8396DEDEF13E70E0AA75FFB6089DBA9E +9FC3FAB43B3633C8EE7598619A0C6FAE2F25274787348E3660D0EB7212F5CB38 +032A41A54FDF14B32E721819AEEC54E8FDE3AB8F0ACEA267B01081F284B008C0 +5861CEB5C236729AA17DC78E92FE1EF9F047B53A59F2D1D6A6734D0413D1A51F +75B03234F4775523A55978C73D5BF9031EE8BC6BF9E2637DAC07F5AAF2A6C41F +77620B272300A78E86F71F16EBCE2DBFEF4920BD3F16C282E0BA4C872E5F7E52 +7ED2B663FE45D4A36A588D228D32E2861F26AA6FA8DDBC8110F4417D0DF29285 +F06B57B1720D0D13828A4DD68D57BD530FEB9C3CF305594B70E4394BD60C82DE +A64EC17661977B18199BA661C48860919CBEB56AB6C32848D51733F1E959EA35 +DFFD823D92F11065C643AA69776F71163A60D4941B753BBB4A4C0C47BB1D965D +06C9BA1FDAE47926F37C0C5B591058F68FC1DF3933B2BE014F99A53A617A19CD +8BE011234D48CB7E14D31B02B1FC47C8BFBF04C4409D32CB454E8FA0EF9AF16B +8AFE9FDDC41F6A23D700D4AA922A0316A895D240C5595F21FEBA98FE0E74B762 +77FCC80F4950A8C55B4A008FD381E9C0EDF4427CB324BE4ABFC790CEB53E8BBE +AA90163A7BB19E2840FDA404E830F5478DD69B85C5E69573D8CDBBDFF41A8126 +24A6AB66333C749C35BE314777CC222D54FF2C4C75717FB938724EEDDFC2EC1A +8DA77B5482E760B68F0A2D240332BD48803004BC157C6E8E192D512CE83D5572 +D388BAE80AAF5E7240A73CDA7CFF7F8CDAA4ABE1D3BF6ECC3641B6BD1C2CC703 +275D48D62A15E5A85F003E76D1EA7DB65E3476CCCF6B504514AEB1FF1263FDB9 +81FBF1A1873FC287FC6B6DB11F0FB463637D4F3280EBD19976588F900B956FB4 +36AAA8C1F040300CAB9C4F624B22C1D3D6414B7CAD36B5AEEC90105B5A5C2129 +4CD540B9D0129813BE7E20870365F8C46FEC92DDB64D0A6C7C5B9867A4592B7C +124B1B47899CE2D1C03811AD1B8BA253B0D29DAF2B53E312827478DBA274010F +C919D122DF24C1E372F7F3CA77A2C0EDCDB2635F4136EA0C202D4011346902E5 +1524609DC031656660302CA36D376245A64135890C13A11C0085861792384787 +D0831FA01C11F1E7B4429DDAA0B3A7EC1DC3CFEA24C34DA4BC993300F12A953E +80C8BDA360789FCB0F1AEEA7AAC310D0C3C56F43F7914C3B037DA02C31EB740F +2B1A696E0E5553656942BA567DC9C4D3CA06E45EA615B7B5674016DCFA07C0B4 +285BFD9D551117A357F4BEFD58BCE60661187A5FF20D27D685B24BEEF563F0C2 +B2CFA2565112F7F49023CDD405AF3E54FF994630BE678B0D6E1CED514FC93F7F +63710D289026CEE4B074253E7E0AB1DCCAB57DA7A1E2050D2B8D3D75F2AD7423 +0B0A7081DB1FA44055620B0A2CAA54666C5EEE3C01540D96ACAAE98644E1D210 +E0E020214550D723431813C031DC7DF0D177E82AE49798F8E0E5AE0BB8FF664E +4793F857BA380297AFB977065B7500E4C0AA1735AF4E15703C860A016F19E593 +319D14C497F24ED8E42F3FFEBE976DF33D697656DC11A8A7C6A60219BF63F186 +E0FFE55594B31E5C312DBCCA08E84E94E8BF57CD5F5B70EBE59F0D41DD3F6B05 +F7635EA92FA9E082C80075A5A5F684160AADAD501BBFA7746327E3E606D1FAC8 +EF7AE7C612371BB52FFF41A97A349D111E861A83C9C48B0145ABC3582FCE43C5 +D121F0EB6F5D219E52E2BB660AA1DA5551D6B66A732628D640BF9D8BDE2BB3BA +046FBFE2E28DB31AEA2ED8F9405A39C16C3800E9B5611B460BE0F6716F2BF79C +902AD4FA3B6656E13E9DD7A785C17F28BD4D646D66058721610CD756E0D18D32 +F09C740B6023DFAD45A718BBFB2E65544D4754A5DB23CC7988A3EF45CD3786F9 +E100D9684549A16BC2DB736D43C293097E082A968C27F0C120C41A53E3464381 +F7DCFA8B36344EDA85F53FF65BCDACCDE7EAA41A6D38C1F420F8F2E287AB0F98 +A0DF7D8A6CF2E4C78D606569BFB7C51495493FACED57CF2D507DDD366247D807 +28D73CBBDE2F4F666099411B1FD2CF7B93D0E9AA161024C58892285BCAA65E55 +9FB37468777706D2C57A0DF6D520844B56D62CD10F2D7B02D17F97E4F87C16F3 +9BA09013FBD7ED8C2DBBB432288E598241369B9DA6E3EE324290D73BDBFB5448 +E9D7142036C0FE538F18E866A50DD23152E2C096E1045E7777888AF5CEFB83B1 +C6FCA18A26E83D75AB66291A5A5A285DBB1B9525919564600D71A767BB03A8BC +7BF24CC3B318BBC0F40C79835DE62366A937B938AD46D69C26DD0B38A2B21A60 +104698E9BC23BDC80D270FAF3C4DFF677E60CFD7F9AFB62B4BC36E171C079402 +E2BD9735E69C47AB8322FB722E8DBA6CDEA87DF40A827AB2618F74F1C441DFC5 +171FA17A96860BDD648B85699CC06CC8F3C38638084F8F4F7DA8B4AEEED92199 +14290A07373ACE6F9ED34CF5FD1C81292D7ECE91DB3F7B7E87BD9D405F2E29BF +660674457A70FD024FB9194EB0FD85A1955EF983606F5D58FB6BFB03A0FD7DCC +0F4E58304AAC2D9AD27F8A67E78A4A413A276F5D3160BB73DB27646EA4213C00 +A70E288F036EA3BD1FB35B49B9AE0C2465A0565E91E89D2FD72C7802C1F4AB38 +1D4A8DA1D0AEE7CAD19D325B92D4A4D63EC9131ADB2503521B69B90ECD48D44A +2F6F59FC689CBA73699AD4804910ED7B65C50060C35C72743413D41A56566E51 +11ED7DCD009BB3E463612661F780459D9932AF482B5E2351E3BADBEFFF2F2A42 +C02E3D1C41FD46552E7CA1B36B02C66505D76B0FCEBF315BCBC1B4C0737EBB62 +3F79B3C763CEF76DC1A456DAD044021E04D419C671C0EB19A35AF14BAF80F267 +D03B570897C7A52CD607D7584656F3B1BB08D4200991466FCEB625B68F73B0C3 +6B9F5DE721328D1D198AB7060BD6CBDB363827CA133671E9FD34808CB5475BA2 +811A8964FD3D3AEBB672905E7A4222EDE4287F870A4F30771A2DE1990D9479C5 +140E3851D25DAABC3563D56EF78B84FC09AB16B4CD7A7BFBC2159D81744B1235 +5CAF0C7758EB11F1518CFCFE7F822A4A1E308D890929628D14ABDC5DFAC70950 +7FF8DD243D14F5FB2E9951D28B806C78CE5CEB603495861E65F30322C0C79E89 +5F9E1345498121AF81CA9E34DDBD452E3616F3C9E9A11DA4C50CB5FE229C7417 +418DF0BFA2096671FFEE9B7CA075EBC6EB457DE9E20A4F44C9B139F9C54585C0 +DF512DC5C232C99C0894BFD60DDBB27259916D963D0A065291F53B8EF731C890 +6DA52C40B462B8517878BE08A7FBD58BB9B949096DCDE90A65960BB12724A45D +37606E2E931DEBA9BE34815AB8420A2DFE419DA6E07C17ADDE77132A720B37C4 +B2DCB75327527ED317EA27280AFE6E4D0C20376FB0489CDF62BE75D12025C34A +EDBDE01052131C8B4D361F35B1A44D07352B44464BBD76F031B2F4092B7CB6DC +2374F41A84157EC992A531E039DCF9A5E34AAE9C32DF00309FE6C08172E743F5 +5F8ECCCD80BA8B49D4F8317A287733031776918EBAB82CD0CF3476438098453D +8C1BB1A80C91A9982F9BA7C5BC0E9707E511DE4B4A9104BD17CFAC53C73A52BE +129C97F25FAE6037921DDEE7B39EC3E4C7AFBE0920B0BF90C726A553C38A6207 +B85934C72BFAD8A4CA823BBF74264E3646BA861B49D218897C5F6F299ABB918F +F662A54C9FAD0D571BBE65C6FF30CF2D8D22C144DA7E97EB5DA581407D2F5DD7 +A90F2F29B736A419244D5953DC52DCDF11CD42B4A93DE185FF66AB678AA98087 +8D17A5A986F322E5205AE12CDC2E8F9C56DC40ED8308C5A9A3B4360D88C07D3B +BFD098ABE690BBA9C83595EBEBAFCD39FDAF23562BA2EBFFB0F95AEAC693B0EF +8A8FE02404A8E799125B45B2436E77F5F892FC02CC055216BDF8120619C01607 +B9EF322C99DDA0F8DC664492877564DF2995647966CA97777568E6D3AE90E20C +7B2D93D0C553D615F947E2A1CBD1B4249A56B184F34B0A6C31F0B2B959A91BCE +F06D768E9AA45D9A9023DDB86C096D660F525B4303B48E8AB08113D0FC750EE9 +FC3D7E44524D8A5F93D366700E55E874AEBD44E3B529E453B9BBB07D2C5BFB3B +DCE240ED0225D2C91AFD50D0B05AD6DD68C0C9E112FE99477ADC3F69274A48D7 +B57ACB2FC332907045666492B0D2C61A739FEFCE35D3DC2A2247A3E13B50E195 +EEEDB413E06D4E3A5D9B158C2884FECC5DAA1CF35819691FF95162DC3EBA184C +04E3D4205E39DEF5ABA914BD99CE983EA462DBC248B1B9544C6E858C572CAB5B +A6CF8C1467220ED0F5EF65ED43C8B5B16B8866CE0479689E806FD52308880098 +968747C3C176E4886FFC810A1DF64029B5A377CAC00F30BF9A5FD4A927F72E82 +47FBF334BE515F956FA7186986B1E3FDE39F2D99CAD8E16F65254616DE2CA03C +235FBD689E5FDC0BDAAEED8A612F14D6F93E7458C306CC003C5F0560F9B8CC80 +733969C84F8BF83099BDA8E3826C3133470EDFB6A1B7D7BB1A2C56FF219B755E +10F654D9E825F1FC4490F1190BDDF353EBAB92A20C301A0DB7BCC35651D15117 +6533E13110164F080A751EBEC8A4DB71F7D07F420F63E61A884513A3DCA915DB +844F26978D6B41077AF4BEA61E764BC5B9C1A209D139C85CB7DB0FB2CB85CC4F +7AD95F8FD379F2197F1272DA4BEC4D98BB861A2D07611158D110ED437B23DE30 +9A36E44DC4FBC3BAAC6046EEF18EF01FF7FC416BF40C970B50BC9BD81224884F +980CD1CB6EB071FE75217D06EA9F8525F2EFD1E0F1A6E4F29A62511E5B64F8D5 +D4903874F18D2D4D8F8F595A3574CFF15F0ADAD063E52DBE48DA49EAAB2D56E6 +D5B87A19C8F99F77891A30FB7E507875E601E6C0BCF05A1EB002D3ED10F8D71C +A6E7194D6C775E9B448E7933BF8686949647B3268E207C461CFAEEBAAB7F2987 +E60E12F485720DC92F1389C2E96CE2FDD0986C76336D7F7AF8DD2C2C68B0E357 +293DD10E3A531A45DCE7B4F40CCAE9B525CEE6619B36FD9C6806BDAFA66B5BB4 +4DA1A35CEA82651CD1E9FD2A735A77B4537E437B33CC020DD22032B97F1D9F05 +160FF5668DF5C315C4CD831AF4A5C8AA82BAB19F795B0D64BA1A1CF14497DA60 +3B4C6EF6F573082C58B70F691076789FB8378062A8B9A403985C9B2E4D0EC33E +ECCEC90B036F77AEE46D37CB9FA0FE820CA8BD1B266CB16175E998423005103D +E84A52E0EEF0925761F8DB9B83C1A50011B57CC33854F3018F0C9E61059B659C +FFC77BD829B900C63F7898D817AF71D3E35BA0DA0A9F1FAD28033534ECD6D0CA +544386D20940C506DB846F32D751D934934E22D6D21A613B31EB5435775545EC +45B85FDA12C88B350AB756B322A660CCA355635470979026D6F1EBE0AE3393C2 +7239DE2AC82E51209ADEC4BBDB4E770540F478500F9AC17A9FE0895871693A2C +42CA9878031E0496389164996E694A9D664CF88389EA8F572862ED1432939B64 +8557E25BF2B354DF5FEFB4A476A72E78BC2F42636A2EF92A3A50460AEA78E1DD +6F6FE073B9233AC858AF070722CC5F65E33CC6F7D15CC6709352AD52EFA28AC2 +12481CAB1C5CE45D355B5C1D244EDEB479581391455E3E8E954B1BDC5F9AB4A7 +41D34C16354C090E780C4C0CC60B94657019EDD567639E303DC61C88277ABD8A +6236D1E52546D3A01C79BE0758F2E102564FA6D9099B69FB5C67BFD9B8867A75 +20B3007F112AE906CF6560485F230F2BDEF0F4ED5FE750EBAEF61C98308396B9 +EA290FF0CA252266E9408E725527E833F4C1CA14F9A78C4864C748839389 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: EURM10 +%!PS-AdobeFont-1.0: EURM10 003.003 +%%Title: EURM10 +%Version: 003.003 +%%CreationDate: Mon Jun 13 12:00:00 2011 +%%Creator: American Mathematical Society +%Copyright: Copyright (c) 1997, 2009, 2011 American Mathematical Society +%Copyright: (), with Reserved Font Name EURM10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +%%VMusage: 120000 150000 +11 dict begin +/FontInfo 15 dict dup begin +/version (003.003) readonly def +/Notice (Copyright \050c\051 1997, 2009, 2011 American Mathematical Society \050\051, with Reserved Font Name EURM10.) readonly def +/FullName (EURM10) readonly def +/FamilyName (Euler) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Weight (Medium) readonly def +end readonly def +/FontName /EURM10 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 22 /mu put +dup 25 /pi put +dup 64 /partialdiff put +readonly def +/PaintType 0 def +/FontType 1 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox {-32 -243 1060 720} readonly def +currentdict end +currentfile eexec +D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 +1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 +204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 +429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 +FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 +C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD8F41F8A25 +49C1ADDE0F25E4C2E5C990C47FF040F896D567264EF5C3F584F56F343C2737E9 +EBBB4521049C78FA1A7314E86D532BBC544FE600AB25D177ED8281150D633906 +8BA0DAB861A70FA9DB57EF3CE0D91C6A618A0082E595C1EA7E42B3C16842A9CC +7B8D943FA5D2384E3A8E797C334EEA52719AF615796D2EC131ABFB18606909F5 +6192412A0320AD88B47D26C2D51FF38411F77DA84D5176BFB243447977173EAA +EDFE34ADC06154B053A3D5620C5F9A35B6BB5FD64B5EBDD13DEE096EC7543A55 +DD9D1438D1746D8BE4DCD1D4A173DF9943C66B5128C3FA98E15C0C94FE411BAD +E810EDB7B7273FDEE769E94B6C49F09E74A5D89D5F6D776BA691DA3C5D59F573 +5F1BF23A503258D642835A52BEAD40E16329D85497362275CE42FE13DAA19CAB +2C81DCF4644C65D988C1A27AB4E0EEA3D97D1076913836CB837FE42F98D80DA8 +6A792B3CBE7587CCA83AA8A0722A7460A6A20D8EC0A70789C0CF4689C4113AA3 +D42EDE01909AAA83450597B2D62195C5FC6B85075B31722E4919C9255D450036 +BC434E6C05F32F0AECECE4CCA9AB7372C14BA99F8EEF9A240F0A537E75ED2CD6 +B884FFE9BA738EFF3883E754E8C9A4647EC368E7C9E6CE86D8CD5C94B0FFAD7C +8C3C95053EE6DC3BADE68D985D9AAEA241F2BEF8576A74B6E46C635C20A5FE3B +BE83FD7FEBA6A21114FE25CC22437163B3504F62A1A1E3B9D81CEBA885B23678 +8C1EF18A1B7FF384B08E6C857BF0AC2DE0AB368C5C6658E743AB02998152F9D5 +29C8A78A2D7A62395617F5D533F38A68C2F94CB35E68DDBE2B94487C26E16241 +531924C936DEDCD9B5DBBE867BFA34243DFE8C08F1CF1DBC72C01399DFE33EE3 +F5A26DBD9409CC8E4A077A6576B662AE7BE7BC9D7D1A4465FD0E819964F62EC5 +B0ADC909F6DA228DE32F694FD027CE76F45C623709187300E6484980A062C05C +9B352F6AF5BD52FE1D7944260036DD3A631F076DC1B3D3933900D3F1D794EDE4 +DB65719A00D03B33502E1F59F53F8A02D005A3124555C19DBC80FDE4CD173B0E +3FCE02D064A6435322199C983565E8D4445637ABE216E1F84089E6E0A57A6AD5 +25B4FB46B776DB2F8385EDF530FE6CC403B268CE34B1BA0BFFD785EC722EF06E +EC76A46FF03E9C1D20EC553A8F51F7A39141223901A2CDC005CE38BD1FA735FA +4A9883715A293F6308DC0830E8DEB6024341A7BA745D8FDDE88CBA00622E86DF +F68DF9C33DA8BCA56DCB47C003112DECE762CF1649F2D78657F1A3E90FA0233D +968D8C631F8951BD46CEAC1132AB1D33675A932E6F117F3B057578FF4E34494F +5B56C5942EC22A8900414C853048F3782C4375AB454507BC44D8C6773FE49340 +8A7E5DA69B9BCA6226CE4FC10B035204A616D879AA7E1E2CF4FD9C4C7484965C +023B40B9A5FBC0137D11E7CAFF41DE36CE5F3F441D363EDB8405D34F46BE3B35 +AA222BCA351A5EC765DDD16AFFF9DF0EC1FB7C3039E2A9B410A7A4BB83558E4E +1D4D15CEB84AB154AA0AB4634E6AA4CABAE375D5F27A797DE6D7ED2177FF351F +678F3B06FF1B4B32B4AD9E308E75063A35ECA86195540727FC17E6EF5F7585BE +286EBCBBCFF4CF75107F1F886369CA58A5CB98CECEDF1FEF5C5E54C0AEB0E185 +D4926C118BF9AB86D8F440E36DEF18908D24D1A1F8C193728902344CD8E2B4BA +34C22BB2AD9CC904901FB2087E00774D10018B2D95A32E84E7754C102E7DB9C5 +AC69A34B5F546058182D32869193B3F9ECC1BFDEC4981D00D345C5024E941DD7 +0B4FF6F51C51616AB36F83BE33ECEB97767D6B95A3F691D9E81FB745AC3B90E2 +1B0DDB31B0BB336C2E0B63BDB5B032E8F7D9CA85B13384D3709F3D4DADB90C06 +C0B6DB52398FB8172BE9545D9845FDA5928A5CF968A3C446BE43199BDA11D613 +BC693300F30D782983211F67735882EFABF4B9ED74C51B6AD58DBFEFAB0608BB +4739543B229703F48F02C6B1945F5F537129288B7289BC2FEB1FF89281E7ECBA +C9A7B7F29E45EFA1A3F5005F712FD99DA2D9F1FF07CB29A2AC9D7C86F8DBB28D +9E9F7245B6773FED420C3438939921EBD98FFA81EE8A781D0604A54E1175 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMSSBX10 +%!PS-AdobeFont-1.0: CMSSBX10 003.002 +%%Title: CMSSBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSSBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSSBX10 def +/FontBBox {-71 -250 1099 780 }readonly def +/UniqueID 5000806 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSSBX10.) readonly def +/FullName (CMSSBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 76 /L put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7 +02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E +FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F +5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD +E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C +6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080 +DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB +5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA +B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264 +BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D +F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC +5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA +3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902 +8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076 +1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4 +0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B +50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E +D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD +DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB +B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78 +33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389 +C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649 +4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A +90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B +847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3 +A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844 +3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2 +BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2 +58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460 +9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0 +7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15 +ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1 +C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0 +0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4 +513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2 +71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91 +82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3 +B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7 +5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81 +59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE +BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3 +026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753 +D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE +99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0 +9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195 +6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3 +00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21 +1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445 +FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF +59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358 +24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6 +954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5 +9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA +48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F +527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629 +1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6 +DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215 +BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D +4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8 +9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418 +19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6 +B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A +21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8 +4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3 +2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38 +68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A +E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9 +FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4 +09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7 +847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82 +C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879 +E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB +C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8 +FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222 +64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D +282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A +84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633 +C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF +17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8 +AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18 +FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D +8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A +566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9 +4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C +4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD +87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5 +F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5 +93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042 +69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A +D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509 +02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C +DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E +8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F +2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72 +9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5 +A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9 +F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184 +6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F +8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0 +EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD +BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F +4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404 +5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80 +E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20 +FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05 +3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F +0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D +66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6 +E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7 +1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658 +51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253 +31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E +139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC +E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F +17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9 +3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2 +6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1 +7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072 +61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5 +EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7 +0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679 +6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD +8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4 +3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3 +7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D +D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6 +77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD +1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909 +970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE +24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD +B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0 +449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4 +97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB +B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2 +8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562 +88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105 +8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699 +469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C +E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57 +B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB +7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B +1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6 +A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F +8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED +1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0 +0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F +80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5 +5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606 +C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8 +A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1 +C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F +3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123 +B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3 +2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45 +6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409 +B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8 +06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD +928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328 +1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA +2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3 +61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA +AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7 +4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C +1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146 +171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583 +C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E +1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE +06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16 +898823B8E2739B4428E62CE0E41C2914F1AF38B8E28459AD71A3EA6A065A8E80 +2A47C2278F2BD588E15C8E60C46CF6F66D7ABD0EBF5662FCBE698328566B94BD +126B9CEEF1FF916E394F7D60AF299F7A6109C306A2B47BF1CC0D4E406EE3BEFA +EA58EA82E98341B6BA6B0997A8A62296A2D3EE7B2B79BF7494BD885EA23864F1 +766C73B6798EAE89FCD73A582224D9878101F17F520243ADDDEA19CCCBD20729 +0FBBEBB5010065A477A335951934700371469A49A9408E5F4EAF8977CB7D669D +55EF9F942B3C03C01091F22074E30433F3216F08A8C89AE4B516F4890FA08924 +F2E46A920E6BB6C5272ACB9C6B00EE2D11B282DEE1D18B1093AF81A952F6B745 +6E2E32E3113523CD899AA5C0870D28521F33D5F61021928C927777A78B7F9C97 +AF5C8E65FDD0B34820C26E9B9A9DB0A7FFA96F87CCC1F09DF3C7CD5A0BD1AC65 +B657A68964328F62F9DCA235BACE0FF041504EDE64D00249C7114B0BEE57CABC +7B1BC4 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMIB5 +%!PS-AdobeFont-1.0: CMMIB5 003.002 +%%Title: CMMIB5 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMIB5. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMIB5 known{/CMMIB5 findfont dup/UniqueID known{dup +/UniqueID get 5087387 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMIB5 def +/FontBBox {14 -250 1537 751 }readonly def +/UniqueID 5087387 def +/PaintType 0 def +/FontInfo 8 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMIB5.) readonly def +/FullName (CMMIB5) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 117 /u put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23F201C372DACBD0110BCBA44 +085BC3413AE5727833CCF999E480AB7E26FF93BA61FAA5AA2B814745B112BAD2 +9F15419DB6D4E34A7AD48D00C3B4AFC8F5323A75EF82BFD723190DCD418D6E93 +F01823EEAE77D198B237FFB3F51B92AA33F419E21BDAE34FD196B51833EA2228 +1DD0D08A3BAC1909537B96462C5E8ED9F10DC3FAAA29AFFE3DE5E856D3938E87 +D783F791D05C117DA45EDAEDBC58AE2B85B22C990988EE2E0D5CC03A173B9AB8 +C1AA42DB2AFFB044B1541D8A3A8C4D1340FCC83F1A0C403276487AD644B53B11 +343D8BE34D40FE006A5ACF722BC70F5B59C268ADFB742C576E237D2C390B28C8 +13D944258B11BE073BD365AD209FD17D7E39F973A2255ECD7A1C4FF6944058CD +BEC3D1BE55BC74ECEE8067A43C46AB0B66CDE8CD66093B91A942FEE3F9160489 +2D29C92C282885E5D926AFAC6EE143F5226A3E3C3029F7FF7384EE60857D95E4 +798D9CE11BD8D8F87E95B0E41E33CCC9405E1827F6CED5546D15AEA7C32A06EE +6A23A2CB6F27A899FD5CA9F1888195C5E2FAFB070EA6E5ACFD2E1F3CB992B17F +006CFA6FAE7E713D3ECF3018A8E1FD14B93EF98D277E2549E359B090B63DF41F +A4A99DCBD528C4314EF55D2B2C39F8BEB8C33B2750258E42EBC2119C08060947 +6FF4B195DF9A65A91A8AC8B90C2C62CDCC525A3EB9AAB69CD4C560C3D3FEE4F7 +03840483D4B9DBB003B17CF58E20381E536E5616AEB56D03EDD1165D51FE4629 +1F1AB838A3654FEFAD08A6FB0B7EC987B4ECAC10F447A9D02A7F9B7240DE5A65 +A905362C054FC426D157C172B4BF88278B5D521817DE4E8D7573589CEB1A2BC9 +365D6042981A1BE65D7DB5970B85E115404D107864434FDA3ED76DF020B4EC5B +DCEAE4D7C9815F9F077E5BFB0B64DCF984A9B31C5B5AA397B99BAE47331A1998 +3A1E77EA434B89CEDB403934C848ADCF117FB1AC3465221B1DD5E631CD28E6F4 +D4CFBE317A637943EAFAD4117DA18289C0E553626D1FA8C1BE06C2BDD389ECEA +87ABDC5233AC095E6CF0DE1D6319A7F8E2B10D931A1E6A70A772936FC1A1C4A4 +1E2BDC7278E3AB2A8D42AD843202250796C146B06D9D416ADCA2FBCEA0C5C2F0 +EC05CD99DF04B47A40AFF68574285ACFD891FC0E6A83080FBF9D509B9DA3766B +F66703E950F2A206D3E672D59737CEAA516024F45004D078B437B3DADE81526C +F6CD4E84251BE13F44223ED69D93040339D344055487A5780A58D7C930C35C07 +A546D54808166FA63538827A10681C69B0529A0FF9B9F478DBB9CA5226B5AF4F +FDA9444BDDC80930AF6417D040D09D67458AA94F8F9D9EA575241E0129283D8D +375AB77A6060DFE85A69380118E43573681828D07637FBA14AE82B621714D8F9 +E1E9778122E2CF4D9E371740DA66948C4DB2EFA5CB76F00DDAD41411C06ACFAB +5A34BDEA827A9F91136DBFAB8E2B48CBB83F9B2305BAFFBDD0F408467E7146E5 +ADB15EEC31956CD1517CBDA342BAD287DF32AAA5F825117C1CE5F26F8544EBD5 +1359E9FFF1E10AF42DAC7C8DE617565225545F6043C7096CB6D570273D59CBE2 +67FD984E246BCE4DDB191C7D17224827161EB71DFA58E8893B93FC097974A389 +A6C2D3E90AB26FC896740F3D313744B7457A07048A16EC683A60EA0201E16E88 +F43E2CD9AB7ED8A9B04B8CC7D106B938EBE1C0E5EEBDB4F1A656D17AA25550EF +1611353D1F368764F7F05ADBB7EB7FFB56DB414032EA9A8AB9265D4F37433E59 +DE5B783D846521E4A24B58D15CC710ED4D1CED16FE6D9C42E7992FB0EEFD1D44 +531E16C0AF10A5BA6B4B6CC4E112B9549523764EB8F94720238D471FB0B82E3F +DABCE6D3124C05E908C4C64285CF362ED20547B66F31E4877BF66DE02A6F99F2 +04F9D49788CE60E91043E3409B35782143A3951A5A5679EDC55EDA6116086012 +B7F0940FD3DCDE96343CB87A9683A639ED9FF36E021E70D7F13A0FB090F1A6C5 +AA25F3367ED0F987F1998EAAF0E84445F5D5261CD0902864D6CFA840E60243A1 +E89C5E70059E7F30E5AE40037805B020D6EA88772F6676659CDB3A29FFE62F76 +5683BC29DF486A3C691790C160DE16F8BA0BFEE1D1CB57661E58973DEB968F6C +ECB5FFAB0E9F2F2A6BD1D91A30C30EFED864C40C83B76AD1FFB36FC9F871CA36 +DBEABF05084D8E66085488C49483B60F095A59A2202AC22226DB05E6D3F5DC36 +D2DEBCE6A8BD550AA80817E02BAA570D1304128ED583139FCD8C7F4BB19633B8 +CBF2AF3FFFD87BB2010C99E0D91F3CCA1AF33D5852A1AAAA0DA8FC7E5A366128 +5E71B76D74D4663476F77F0BD0E9C51039E23AB1B6650F739270865AEF1ABC5C +08C33B3C937DD5F47CC2831C2AC769B39250BC81C887B6FE59C59502F13084C1 +C37BEEFE26128B06E601EC975D7A24B895B4FC446A174BC000F8C3BB8FD50C14 +4F854A9382B6763D1B7A593915E89A8542C1B584DA4FE5DCBF34FE40910385F1 +2F7E3E0180D3A526F531D90B3E2E8B0A300DFF809FBF2FF2E8C823D03562DACC +BE144712D51C049693F8619C3F0716C553E44107BED0642EA7D2EEB6D93E7208 +00669C18898A799AEAA3869AAD318F7AD56FA2C8CE70FDE77F215D18CF460528 +3F60CD7BE60F8091EB3329EAAB6022F8DBF9544BFFFBD83801A94CBCFF6D9CC0 +BEF851AE329F0B013A8E7CD23E9F347FF94A7497DFA23A2EB0200429002CFA7A +C14BE74EA832718E8575FBC877C78B5CBEC787B1CDA23E6662F96C8EE62E890F +00A92836CF45DA6F93E5C8A80066E4A4A13E2F51B890070AA423E203525F869A +FED356DAB44C58A51E6A5FBEA0A9284BD0BA0D3E0162A0D47C52FBBA35FC673D +103689F6EB14BDAC7397F86A8CF094B7208CAAE01D4578F2F0720F13D3C5655A +0812C2E41F54DFCB15743B50BD8318461A6766916AF2CC15B378B5E1568E6D2D +E66DC047080FE0D71CBDD4186B82C16A6B8DF6F86AAE991963C391AA692D0C98 +D561FE3DB71A9EAEE807F1C065CC5424C7473A8E22691751E9FA0C5E565F6783 +7934B8FD2C8456E0A6A2A94324A08D10B00CFA8DB837D4A49E1AE125F363DACF +FE8790FF37986941FF8FEB865B10D2A09B19133097BB230020488BFFE80D50B8 +7362990FFD14960992CEAC19436146527E71A456E134860F56A552C883BC3794 +4A7645D45E2B760E79E3B7CA9D08891E6FB8EA04A4046ECC6E9495A9F1EB3A09 +0A4543204AC2BF34C31C9B4981F2023F17F7331B927D99C4DB9C7A75CE0BF133 +EFCB651C1EE1351ECBDAFA19AC1E2921B4CE33B40FE970A15634CCC94CC02B02 +BA61A3FD7F97C2AE1897852705B1BFE40C6137DB8939B0332163590F75698288 +B61B101DCEB73F3569B4E1001FF99B1A72EB2F5444C9A5B911E98AAA54EBF0EC +70F9FF988919D17BF18129FD1CD43CB3EEA9524C5524DED24AFCE07B5532B2F4 +1C4AEEE7E97DB6D259BB92CB7BFA4D1BF4BDFB2DF8B88776E977D8BBA0DD5643 +65B1D10DBA35282679ACE82E127E9512A33FD28266EC29D06E8013828A5D6C47 +81D36277E4A28F2BAA2BE54A666B8405CA70ECE2DF3004A72B7AD23073E1CB82 +69E2F873606D478CBC32B5A6CCD562CDF86BA838A17D68F3F7CA1D50DB44B56B +C14FB982AAB7B332F0D707CC208844FB4C949AE33517CB62BC9FF531DDA6056A +D65845453BE67DBF4BD0D005469F4B6C0E981CBC7D7114313B5824BEEEE93816 +CEAFE5A1295AB55652FB0DDA2346F8C7F43F08D55E9648EBB097DBA9679576FA +B59F8E6047BF0A8E3ECDE3142E6FDE79CCA1D94BE795F7890BC29A7C657B6481 +CB3E5F08F58BBC3467F0AC8EB90704C7F6704258A277038A58ECB97EA6958C7E +6E8651B9424AE5DEF8072F371CC8AF67B7311212D4E178A120C8E95B2722354C +D01B91B28AD3117CBAADE5A5FBAA2DCAB7634D7877F72D5C0F30103B934A155D +6C074B7AF44ED84FF749D3C38301D9B0565919E2F507227DD8411064F20CF197 +10478581AA83059FAC8C734E89331A85209309E2DB73524ECC07F93BCAA05B88 +F22889C36C6338CFD980BCE20F4F0C93A7BF520F29DA0256F88F36FF521285C8 +0F59B6533E8C8343DF26501FF706BD1B8748FA041925F4614868A18834FBF8A3 +EE06F64A30A1FD94FD5EB3C17BC1104B0E758B6781BEA5E13FBDEE13AA764A35 +BF7785B6FF534C985ADE54CADC56C5E5B6C96B81CCA56419499B69416D4A1187 +7BE6295916D7969A11837FB130D50EC04E88A2F34CF04453BD400B2AAFBA6261 +26F4A018C2F879BF7EECA8985BFF84A87C71F2BDCD9702A9BD5CB925C72A3575 +EE5536B94464B9DBA594E395291111EF73A113A2048077E305D6763EF04DC46B +80B89BE1ED7DFC21EEF3B3EB0F447036396F7A1373E8321D833C7CA03273F1C5 +05A8FEB6A0C7889EF2DE6A0DE4C2AF97B607649EEAD9F35A21FD16A9CBD817F5 +8AA9C56426D723AF9581DAA7F744BACDA8CDBABCE40A7245DE758A59E9D11AD5 +86D9C1CFE200EFB6D52F2928C0192B5A8CB2E47D396044C1B58C46028F55EEFC +F34314037D3ACD6693C941E84DD96849F77BEC68B265132A9DF7EA6551FC46D5 +55F880AA7E3E82FFEDA167210E7184ACA91ABC85F1FE74EF2F54266310DCE9EC +B84874B320FCC9FCA2202448D82233A3E6FCF978033965B1B95F77E6EA23AA0F +DC7DBCCBF5875BE0D52858C0B881183A362B558DDB2ABC9BD4B8D1371B4931E1 +BC2D24533F142AE495C32CF7BB4FCCFD5D33147C49F011EFDA4A6673EB0A8CE0 +3203A223BF07E266A0A050B0073AC746CD8E98AB7F180027BD178137C993E224 +4C24F9101DEE4A45F78EA668B0DB364A2BE928B14397E8ECE800699CE322E86E +C85478AA05B582B1ACDA8E4C9D8710610BD7DCB8BD1AD46285B072275C5EB5A8 +78EDE5FF0DB7161D78085C717785BA870C38CB293E96CD468AFD5DCE89906A8B +143D0A91D3491E12131CF6C65B0BA33459BEA77587336FA851E4171C23217DD9 +59FE428E630CD7A43D18FD9B5EDBAE38DA0787C113B4B164712DC77E420ADF59 +2505B5493558F742FB7E3919F4723FC229C2481B4EB8101DBA4B87D874B2A4C2 +E419AAE01932FAA3256A863FA5D1A95671295533B6842DD0A77D25C575290AFE +A2925E05365D5786B746F08EF3FE3CD96B5AB2B3CAB34410933DCDCD8B58EA59 +2507E45D15A1AA86D31C43F30629CADE99D351DC9ECC874227DEE7E8B6CB5D13 +76B4B5364FCF801C0C8BF5497ED066CF1CE0F0ED17D56CE8BB61FE494568CE53 +77204F27E1E419A98693DB417311265EF0861FAD836339FA045AF35C1BA06D22 +F02C2A452302AE3570CD630BCE95F8BFDC90DDE9264B6C8CE2ABD45A11AC6123 +99EE39C3849CC3BBCB3C0CA5329728AED18F984A1BFD152DC988F2651DFFE468 +4B07A163A0142D0A19B5AC253A5F4DFDAC0A0C8EA09AD589EA5E9FDE9FD02225 +9B37A22A2E667ACBAEE490755C29B7D1495DF11BD2EB9907F8DDB364EDA1A6BA +E7CA5094E1DAF16EB0D5818554843EE88B38B9D0F63A5B0E55207B4CD1FAC2A1 +A6FBE21E9AE1D68B8F4296596FA8848F203F0316BCE710F6076E47593F75CF9D +55E56A54CF432316CD1C6FA828193E86ADEC948322E82F81B7076A872A5526EC +48F9743FF7E0FB52855D2086CB3B623612CF8E3B46A8C7601C74FF55BBC93261 +4E99B21DF4FBAA59B1CB0DBFE1CC29D27277F4128D39F7682F8044D554484B6C +59DE2F4A99007FA22A338D1EF1213EE64C4B289E5A12BCF4FDAC044B3D938E0F +1A6CE5AB6C69D0306929008E14DB76FB61041F020FDBEE17ED14EDBEA33DFCA7 +4D68B32FD846A5A2EFB3F2D979006C8570DFD0499FDACF5C1064A0C76C94C241 +68D7BE7E4456222E9BCDEE123F32588AAA911D00E7C67E49478E76DC772F717A +675EBF69628E21DF5B9869784ACEF2A44593F5A366F4E5C08DC82AC059A52D5C +9E1DBBECC3B97CCAC95C87744DAE62669EC4D9DDEC851876FC8442BDD39F8891 +2BE2A789B41278F614C79810062E166A61F5192F146AC0D52838AFDF2E314F93 +FA8D526962E7448D831246453AF00EF1C595D6C74BF42D140924AD45F9257DA4 +067A8DD982460FB8CD122A551D8F24083CA64E330943986FDF00EB6412617A92 +EDFC66F3213C18BEFE4B4B1C7167BFAF425ADA3CF01E865A2FB94D1A3C985D54 +89204D65F08C2223B1CC048F51A3E2BC2B1C827BF98E918DFECE47CEB51F17C4 +5DFEAF1A0CB110C34360E2046C5E1731B6F38EAF7FDFAB6F3CAE746131D206CE +BBC8A21A3990BB65950D326E35BEB828C3E7D3BF880183D6852D22EF9D1BFD6E +0A0BA5B9C7178760BEE50A7FCA744C3F4013BE90E4249769ED0E1DF570E8DCAD +1D757DDA1CFAE4A945E0F1C2712F3A7F2E82D88B656ED451AFA7DE8E49CBFC6D +EEC204BE32002FE6955DF8F3E3F44DD70155E16B682AAE19FBE691B21C5F2047 +3D57114DF303F7EB8691C5FCE38CF5DB8716C9CDE6EEA6EBF1CCEE610631AAD0 +AB6E9AA3E103381F0A86AC06D2FA121866BDEC3AFB70C73DC70D11A268FC256A +D2E3CA98E45E674CE99A759365396E56153FCABAE5D2003AA416047E176208D7 +AB4D759D09BE54EF9652A14A77EA5E669DBE3D482732F25996158BA73C4C6AF9 +A563E8A226321B18FEA2AAC0C21925F1FA542F2F9AC09BC51C7A7D9611F4E11F +DD9EAE0EF82087887C02F9354713692272BB95F334D8E5B4C3393A5695B97E8A +7931E68C374A43E7638400EA23F4F1F750F070AD622D48935F8C8178F2CBB4BE +FE14388284015637A47AE5232C6D3AB7CEA16A73DE698D7A9F78BC1F77AD01C6 +62945ADFA33D74851399DFE33EE3F5A2309AF301955CE05E8B2D3E8F22FE5BF9 +0D7E2B56338DCC1269F0B491A8206A9053CCADF1CEA836EC1F99AC130249BCCA +B8437BD0072E0E058991898EED8B3A1C27E2A4B6D13C84BBBD518B660BBC4B4B +6DA8A13ADDF4CEF48A119326F0EAE83A1E029B71E6D71EFF6581DEED841B7DD3 +C1B193C1DB9DF241B5EC50F1A105FAC06CC1EC21B039B4F02F00589C91923039 +034FC9C49C01E0C64064E1FF008867EE755646B2A956D6722B5D1AE045F221FC +DFC80FB0A367CA477529E05D5C105609B25A9D870C7AE35C86D68EDDC00F78DA +4F14C000F33FC121ED11FDB7551F053223A42D71E6821DED74DD31DCB62E1EAC +D19FC89EA0DCD1587B75F459A359FD0F5550B73BA5371754A9AD1B6C72E9C796 +9BC3F772EEEF788664A876B040F6EC602443ADFE00AEC2BA8B735490237D7AB5 +FBAEC9E766CA7E0ABEEED2F82510324F1BBD88144E3D94DDBF39F157E6394653 +4DA81C018B1C01B9F10DDB55E0A98F7E5B9665378CCA6899E9A07EBC2EBB06E9 +F8DA1DEEAE71F25F2B758B06B966E9045161DF33FCBAECEB2A8A6F134D45B2E0 +6FD60618FD67BD04D7694FD3E673604D21B614E42C3BB7931C3F3A74C9BE5620 +AB9CB7483371FAA6119684BE4DA2EF4B51170293A646F41B99E1A7FFB34DC8CC +0D15822440D3CD04815179A30F992F561BD7D3B17BEA7091C4E68EA750390F0C +FC43A100A1B5FFA39FA12E67205572A75C22A40E3D5C2B5CB67D2F3EF2B4CA8D +110308408E9F8D8166A57E17D77BBAEFD42953E97B451F7C0B4125ED0675538D +6714259A48571FCA21B807C46BCAD3D07040BA873DA5990B1FC1D2045BCCDBE0 +3C107CCD13EB825C44530B33095755FDE905B63845BD042EE90B6808E2427CE9 +5C6756DD5D25D068A1B54326FCABD7868A1AA52DAC77E1A758EC0F8CCFB7E060 +FC724B0190424C7B39DB1DD6D775BD8D36F3DE102A7FDCF101C2203E4332E8B7 +BC76D60B171E0D805EE67C88DAE02A46ADB120A95A022C1DA295AFCA2AEFD997 +AD21C556376D21FB706D26251A2E036A4B32B3491B7D4E0731012EF40527BF0A +A0F1CD712EC46352ED1B976706A6AE560AD6A82C3B026E6DA17D2763E1E13016 +4942DA5F704DE35D983FF77FD3C2604EF52210F343C793DEDEFB0A2B195538D6 +045F576D9C446DD56ECEEA07228F0B0DD14607112C6DB1BFB84FA980E06FE4DB +4778ED1E2057402F97D63A907195803AE02D1A6A8F255D8E2922761A4B3D4CAA +4C9145042A3AAC758995A7355F79D06964067EB4F4A56DE196CDE1258B3797F5 +1DE7D002AB3BFE00928A286C4E76A6B2EAEDFE2FDB17FF267D0F21C35BE7A92A +3A310D956421EB00D5E9FA2169518A8C7577A4A28063EA72DB6C8E32FA349461 +C1A8946B78E05C198DACFF31C8191A2A9F42EE8C9E9A2200C8EE611BB7D7E0CA +1DC96A72C881E694C4C5F6A2E9ACDE3B3356B9C70B20180D686B2FD1CE008D5B +DBDDFE4BD693E68F3348CB30D76BDAA84D2E933C94C99D13E74F1A4D0D4EE4F7 +AC5252F4EF69BBA047FBA2599562C5062432A59B9D4E948DAFC6D574A33B9CE6 +7A5639E34BDB402D4C33567EF3C4E04F3775A8D9D46A50C126D9258E6D8497C8 +889F77AA9337C267FB5482E70985D14EE28807FA1928BBB2E6C2F219AAD63568 +B6B2F3D378F38E9ED1AF30488219EFD5FB94E8C012073C0C309D57C85DE0838F +B8478B1B94A3F1AF5D53AC484C564F01CC9F0831780165A337F3CCDAC46BF915 +273C6A919D9B7C6C2CE48910D18041571B8D78EC12E8AA4F633A135A270FB3E8 +3D87F3A394FC38E69967833C0A146DD123FAB23AA37B36092D3F6CE83BE0B858 +CEE312B21FF5BBADD8023AB9D1FCF2AC39103594EC513CBBC0B0BED28A8EFEE4 +08340C3F96875DB71619059F4945112EB2514544F9411401FEF77C14FA64B966 +511C85F8E759760BCF5D5152D45E91FAD6A3E7B3FE99CA1E8635EC99CF31C670 +AC326493BFE78A4B3D1807CBB25D9E59C14863D38148F0F7F963A4AFDAA2C9B6 +DCD461FD91C88AD7CE0DFB5E45C649F44580845F08EEA94E1642B0216F3FBF94 +75529E5DB9407FDE0D0B5EB75FD346019D2B86EB21FC2BC6F585B621FC39F3E2 +D3078192F37463DF15E7FD87D172622D47714FCC0E661B25AB58E9494F503B4C +B5024B73C130A7853CD33F1A0044B5A38537EA95461EEA1A3CC7BC94693DED09 +D678C2C287675D73154A460057914C456336C8397A1F365467D56D210B185F12 +F8DC154E4B79B1621D8C4F4CD1931F0531799091E33346B8D187E6ABADC19E0A +3E879CB5A38461B33987CD0A5FC97C0B77623282228BE7F075CE96A53614ADDA +732F0927DAABC7FFF0AB674FDA64DA4E9A6A6573D011AD64547D68315286C2BD +B0D1D481F6C7958033322676DD613C270138367ACCACF67E6300AC1D1506D1AD +16258593B2399792A07F8462E3027B1A5A6E010156745C6FAA107505A1FE6FA6 +1A1B3F44687041F37ADD6989E85FCA25F1A7DB9D25F0BA34EA859BF991D0354B +CAB97DA3A9CF2666D2BCC82B4DA8AC924829C2BF2C24F464D9A58BC492E89022 +8316162A20AF3D8CA197EB10B290F20BE6229ACA69DC5C39CA9646AB87B6D287 +1360B1A29AD78D3B32C58C0430B4A46FAEFFCFBE7A8BF2E063B16F88C2E08549 +559A6EE27A69E5EFFD102D3336AE784001C8EB2663BB6CF6C4D01FCEC54087A5 +156C326FE177587B2C53F00400A2D9A6FF48E949748725589FB14A049808D39A +75D55CC384B263A54E1393B4D7BD59E92911EC556EA11F4FB7C5CB80DE7BC6AE +6F7C0642DDA30F199765E1245C57DFD58FB51F200FF282B39D11DAA18D60F93B +2D67B3B727D8D66A306973E5E4387A098ECC5B47DB3F7B409C794A9AC6C0D8DB +2DED0D0443155BF16A0650D63A787337187425DFE30E3E8026AFF25F061BE0CE +AF4C7BC11D65EED94EB48B0DB0F6DF81C1883EC1A1702BB05ACD213E4B137525 +E50D4AA7DF286B328368BC11D25F459955821822140D83BAA6AB1BEC25C3DD3F +CE2DFD0A1FDE329F730906ECE31C349AF12E69A200E2FA4BE4EA73209E4ADF1F +2D63C2E395BAA43F4213020FA6185CF7B9771DD2086CA56F9C5141215D6627A4 +E2935902A884FE4BF80987F3DF73B6CF02EC300BF4C95DAD357708FA822F1184 +DE746F7D3096205185AB57D28A1C833B26AAF7D2F86AC3BD391A8EADCC15FD03 +DDAB3A63B57CEF +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMIB10 +%!PS-AdobeFont-1.0: CMMIB10 003.002 +%%Title: CMMIB10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMIB10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMIB10 known{/CMMIB10 findfont dup/UniqueID known{dup +/UniqueID get 5087392 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMIB10 def +/FontBBox {-15 -250 1216 750 }readonly def +/UniqueID 5087392 def +/PaintType 0 def +/FontInfo 8 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMIB10.) readonly def +/FullName (CMMIB10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /alpha put +dup 13 /gamma put +dup 14 /delta put +dup 20 /kappa put +dup 88 /X put +dup 107 /k put +dup 115 /s put +dup 118 /v put +dup 120 /x put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943569C4269F4A3F32986A7D15 +50483BA7C04CAE03D8C22F6F9A1827004DE75B70455207585BCDA37DB2ECD162 +363518DA08026AD9B621422303A6D262158CFFCC48946A47FE42911F1A43CF10 +7CE85E61151664036FCF591A1CFF0E7AAF263909A6A4A50DF0CDB60C91A75327 +8C011FC63A462B0598140B4357EAEA08DC2C5445E1F8C2C913B721D5A1B67941 +77BB66689F330A22D1DE5D86B2C4712DE9EEB66EF95D1E68BE947672CBEA966B +3E26531084152B1412F48697A965C85B0338CAD1EE054DD4445A9726A72E959A +B5B74F0E0A5A8F630116FB8342254BC455EC3667E184A9954E0B76EF54015BDF +F3DB7D1FAF44EEEF38E5F07E9589B85ADCB9B529CE9C889CB4C43D1C7F5C676C +DFE91F37CD6CD338DF774DBBAB9A1493C7384ECD4B588506F23A024487CE4903 +0B8C9D1483536BF7CBC05E9326211B9211F11FC8B2B098A0C5F89F19106978D5 +84C9134F45A542D914AE56D73299B3FDC93C2E8F4D271B54F7EC0FB05C1DA397 +E9A2036EA69C903EB95485765BB05BBD2E021ADD7B5D83555E490EAA81157819 +A2AE883E39B4254EAA5C4FF60087C4875CDB9E4A85A54955EEF5DD5B15F8C970 +8E22FDBBE98CCD8E49C27F55616F3588E6699202AE58B0D9A3E398A350D90CA8 +D3BF920E504EFAF93B5CCBB336B072F2B3EFEA907599A95774F4870B6656257A +29ED37ABFBFDAA41ED08161F473C20CADE82D6F7531110CE680EB172A2024F8D +6F02DDD49350CB0BCC97C657BEC9A7A92A7C1E623E8B0E409A74B01DD0A470DC +94ED4CA0B6BD786EE287B753ACB1C10BD826A84D8FF92424FF1A2418A6EF9BF8 +0B3D0F708E2F52E4557F497E749CA9F2E513F33D6D489612C68B68CDBBB4CE24 +E53AC2AB756F64B838CD2B0D9402620B0903B8A357D8020DA8B4DEF15AA06A1D +D4D78057167B901643CFC357D7283A850C139E1BBF6E4079F375EAF63C7C4F7B +F630FB23A70A90178560B1A2C7F64A2B8796D60826F3B10BEFF755CB59DC26AB +FE5E0630FA1E16D083C8A5ADE0345F783D771AFE185F3DB251C33AD86127C0CC +548400D92F559737FD421E6D1A807AF696A22C1779AB236BDD37F7BC467570BD +4C1981D141680DC78513430DE03DCA87134EE46E90471F4DDFB4D5AF445433D9 +FF6F9700904F274A610E5978C0C14110C00C0D49891AB4BC8690BC93418E9EF6 +DF7A3BA8AF0BD66C17DA2694FF55528771B28262917CFFE822E973DA4B55AFC4 +AE9F6C28994E25F88612E804C918278040097C028E15C6B7FB53332908842185 +10217D7AF376DC438FE712CDE9C50040E0B79F4BD67DEA70C6C2FD34FDA699EB +0F6047A613FC8485CFAEC294FAA0214F0639603A00F19A5D92A3BE89E5FEFFDF +CBE800B960AFAC6EF1B85F4B74D8830266D0FDF78081F6DF0F596C90E1954C09 +631D98F44A8F0C2394AEDF98EF8BB4D21AA7905B3703D76FC4E104389E61377F +92CA0B2A9CABDAF99CD194E473FA0104ABA283C76C20F003C604199E6D4D2A5F +C72FC32D84A1F4EAEE4E20660BA4C14C244AB65F000B6D896054B2B52F19F708 +CB80929D9F98AEDC99365FABB6FC42D9337653ED45D2A2B802017BDFB8D28F62 +745B5D74F4411CFDA724189030854D6D578DCADFB37B73AE15E80EE20EFBBFD7 +959AEA06EE4A93DCE0D30B894D811EA3033FE26358EDEB614DA60CA8F9DE9855 +F26F1B7FE1EC8DF0E6983ADDE63E3DC55C1088EA3091C21FBEA4C39E59BBF3C2 +7C4EE5AE85C89FAECDBE6BED7B789D390EF78674F41A8104BC970E81FA9CCB45 +DF6B8C2C2DBE4DACD0FD66877529BADA909675A761460C3F6B6F122ABF3C4F3C +C2B74804989359C5C127B69CE1D89AF4A74BE3B8499014942319D03AA740596D +863F0ECEFB11825FACEACB3E6971762E5BD8CB9D0055C620F4E276C3339B31C1 +C321D785E1FD9D7AE53725AAEF68C258D2AB7F8DA4F9B95DD5CE20C35F3E9908 +964C6CEC56D0AB5B34FE2AFE412455C971881B144FD7D979BB6C8B721A6499EE +D39109FDC63E5DDE7CAF6559CEDD080A1624690BB6565FB0828D5025D153145A +E8885E5D37301BC1ECF95161DD88ED99FCD11B77BBAD6BF1E1D1BB265817AD2F +40B223CD712D48CFD86428661D191D0DE40CEE65272A90AE80C134307D575808 +57CCE5A72EE709196847F25EC20775359490CD96F818E135A4770A5D477FACE1 +18C3E44F1C1F60D1B6BA8B206F107DF7FB7167870392CCB34357F9E4499A4164 +0FD3EE38365F9F16642FA5D4BBCCD53E9680174838110C2F341E8856923D67FB +17F77E3C9EEA8B51509ADDFD595784714495BB36BF6331697025D64718C37131 +782349E44FFFF0CC73A9A01D0F41D89A433D01D82267B25B15774CD010594C91 +A5FE2AB68455420213D78D44D0D29DCBB7C27381182947FBA133FA137B8B7A78 +9A1514A411497C4EAE49ABF00971280276284E642036ACE628F142181CAEC3E2 +2FA3B8B74109C3317B8A0DCF444A2D7CD40B56A6A0FB571F29020C10467F8E5D +56DFF57F4B067C7115CE624EC693759F6C93F10C4BF79C1083D72390CF06110B +6A909581DCF8D72361238801670A67DBF1A2C831DBED6740191FB43F325AEEA2 +7CBFF48305A64AD9FF4EAE3A6F71596DB0E5A1F5B6BA2B6869F4F65156E823C6 +4FA7BEA68663C5A539F7609EFFB902DA29DB1AEC8D477051840A9AA16FC5389A +121D76409D28E23E7908DBBD8FF823B62036C9526C3B10375A9385A4AF991B59 +88BF2D51C62FABFF359AAF056DB79D13260016F6217B32DFED2938DF6A313D9A +F4852580D0C5357C413D5E06C883D19CC2E6968A5902DC3E4CA25FF06C6F76A6 +9E15D2395CAE81EA10644263244B15EAA5A40C6E3D66C0B6AC3AF60FE4C1F473 +6D4C2A110EDC509210E58B4A5E5B8408170535D1321825986A1B998D105991AF +CBD6A46610E58EB90C9ECDF50BC0D26C7A681F6670ECCBE1B091808E4016D871 +E3E4123FB6B1927307950B814B19D665E8CE2D5E5A77BF59108B2D9E183A1BEF +7D229985E5D326571C07E94A68EC0C495E8DA0DF16C11F6DA761BDF810195971 +3EA07F0BAD9E1118239673FAFECDB14C685427B9FBF3D309C726D9AF11FBE3F8 +9BBA94E8331845E2CD62549F90EDA5482053354CFFED5185ECBEB1305057F699 +3FF0F6B568B180A1690C5734054B8903D637F31F3255526DCB44C8549B7E7AE8 +65EDDA8AC5A34FF63EC3DEE34A9EA6F7FEF817CEFA9D7B22B603ABCEC4A45A17 +4A5FE48105B99857693DF7C56F148FD13F085EB821CBD3F3DDB49138B1875A98 +6D6E48B2C2C124EC0BC9164989AAB1F5AE8C0F21E63193C70038DE654D67F565 +431FC9CE4B58D283A2DAA40287616409DBB7F7E94DCCACDF68CD8ECB19B98BA7 +BD00C1499731B7959DF35899DEF7F684CAA993990B6239B66BB2220919C36185 +A3BB431DCD9197A67852D137C00BF45AF3698C115A41CEBA5D3F1E2FF32717A1 +69307623AEAF8287EFB7A7019B181C30F2CF4584351E8176E17A42BB48C5F521 +B4538474B2724B5DB5CEA51E783E870AA97FC47401CA0FC0DFC4998613F2946B +B827C2F7E874267DD7BE63ECC00AB0E2448E7951EEC5DB4095F9915085A97AB3 +812A376AC0101429983921C76C8E686A52A669E8BABBE21354C4A74A6EBD99E9 +E2DCCE027FF45D75DFA6547FA60F2A63243D5A3AE3A808C75A99F3D42839A080 +557C7DE6628F353F57B704B809F249DF208245612B47221653F42ADF0AA26CF8 +57000DD580F6BEFC12E654AB4C4317490832055B92EE69CC2CF85A0232986CC3 +819877F3DBAE3AACB1F431C216077B528B1D863CCD0BC6860C97009B90F33779 +4DD77D702A114565F58A1DF4B7FDDCA0157CB0A7E74A116033212D83C1C2699D +65BBB42025622243B1A25E399014D0C0582DC50561373C8631D79148CAC3DB86 +DAA8CF5E39387115637865FCC04676592C3365F2130852EDA3FD572A353F4B02 +497576CE8B5E7BC90A46E02E20536AD5DC1F3EA2B832253D1D1A819B0BDAFE91 +893067A21AABFF14BF0485EFF09F6256A58772FF91877896F54582EA274F32DD +CB96295DBA8BA6FAD260A71766FBAA4865CACCB938D96A7F35884B2F80DE838A +532F64A69274B1E648E6B18333465A3B89E8EC4ECED5855F6188825DC2D232AA +88283656765F0F957E152D46620E0001C4B0713F7D9AC4E887B649593353DFEE +334A3C8A3DF606AD48E286A7962ED8F7B0F382373CF35DBAFBAAD8B1B4B564FB +D421EC6183B7051E3F3022E09818EA7DA564EE44E054C995F112E33DF2A7C38E +B5BB24A172F51B5FEA5D11A81957A075AF1CC2D7C9041F85E46709ABE201426C +244C07EEA7550E78D3866493E451937C404152E4B9E081F52653EF379AFC7F85 +D00FDB5360563EABFF210F4D46574091A6FBADE205D15BC7A0EAC7C25BCF58CE +479497AFAD121023BF24D9737C42F4566B3CE3E0DDE592E02A4088354A4D5799 +02EB0EBA57C13A27BBA913EB949A144FC4F913E3A06FDF1C7C88AB50BD994F8E +08A5837496483EE06EDABEF4381339B1007CDB8D888A2770536EB20DFFC71327 +B768DE076F35D951034F4E09E18359837D2D5B80339885FC6FB6E6CE88BC0C7F +465D36783E58902AF41670D0E01656E2983B45459BA7D7822DCA1D505E36F554 +4625A1684579A20F7B9491B949E2FE69F32A016E62A979EB9C4A05944001CC9F +CAC4B8E45CF45726B6BF10811DB74CCABA5EA5E5F2AAAD3D24B2CBCA416F2BF5 +C86B6495C5C820757C4743F1464B300F47EC054EA29215AD2F2F17F55AB92016 +9919577ADF4BACE5695986055FC4730E531FE82E9D926B1B03A8C204F6FB4A39 +1C94C310E6D5F2F53D41BBDF76848CC247C89D4CCE56EE40FADFF0FBB48804C0 +1823A8A70992C265A469576F47CA341810FFC1B8B58ABE8EB762567DA328B25B +A9D4F3472428AE0FC180543D29B8E4376D7EC48D25A411991924FFC2DF520BF6 +90A7B08513D2A6B42F2AA51B0E3E5F2F6FD57E63BD1736482F303A13D6E0EAED +1761211598B1F2AB26DDD5D45ED477172287BDA7062E8AF61D232473EC060F68 +31A225E0AF2E6A5BE2D8604384359C53F880B0A503B5DF5C98D2D657D1466390 +6736B42A24D1DBE55ACAEF4C5058DE5ACCE069D39746488D6AA244BEFE1F32D1 +BF65D0EC3FADF515EE45E672AAC72040A1E1065DB5A52FC889E1650487BC4C79 +77D55ACD9D726C74B6249277B0DF721ADB3293098639658F6796F7A012416C14 +7C694BA55C734A527ABA0C9E6363C2C00633058B69261961658CDC29A477784C +90517818017B6BF89580BC66BF15757490F131D9470A323287091DF45DF490B1 +9328CCAE434A9637E0E7D3A63A418989384C98463294D25CB07883B8637AC816 +57A0AB17C4BB9891599D2B8398DC08A13B73A2DCBB9A79218C161AEF14D238A0 +8D00C90ABDCC18B11AF05A54621B19294D09A4B533A7F1D4F0BF2E637BF5E723 +53AAC5785828293988797F37B8F14C7CD165E8587E48A876C96D701F46438349 +0DDF52FB12DE623F786F13D9BCF2D5BFBBB9D5A16E3FBBB5E6A9C34494FA3F6D +B81C12FF86521554113D1AED9A894E5BE1E7225A9B98D4980AE902A8DB3DF1AB +5D48B334C4476EE4FAE42C2CFFFD1BCFD99D82AB3992D3CE1F8642FCF7BBEE3D +5840F516EE8F6E87B5294DC8BF2DF4A0B7A380CF7A2BECF45CE0B0F8A996A463 +E6193879C8E25724BF182AEF116B7FFE8BF1A1C7FB6FEDCA86965D325538AE1F +2863A49700469ECD3BEC3D75AC255984373E4A5A621AFE445A10B8D97EF1BCBB +61263A4A2009650770801C386AC6F95F02870DEC62FD6C556A084FD4C165AB0C +A52DF2633B01DCAC757F614FFBE09CE217092414A7C0FDC43FB02DD311A70063 +2E594A67C9F8D8CD037020C074BFE24168E810C8804EB53F16CB67ABD8C9F99F +80D65C981C4221E857378C4EA79E5CF88CD53B841C2CEB7C58581AD1C3EE79FF +6B07BD35895A8843393EA65FD48BD248DE0E7799845B1B568189EE76445A58E1 +42ADE3CC51747B8B97E031CD51E90C75880B6EB5D7729BC29EC0AFA8690955C4 +AA5E809DE62E0AC18C5F1A6FE5E5F767B70C8DC44C965E7E2E8077938B4EA3CE +F119F7F824DAB88946A3BD00FEE7D8CF68B5A35614F864473C24A95F13C7BDC2 +00F018B5BD313629E0BF5A5E35D0A34000BA338653FEB7040C3D5A43DEFC7FB2 +5999A596BB7A701E8E03E8D3D35FDE11BC8421E8283EBC327F7C9F6D457E573D +073755A97EC24BCC4C33D93D72F62790E732CE02320F8D7B385DFE2230418B1E +70AFA7DF7D83D7E04A2F657CA6C2410A63F9B45C562B7736A272349BBB18E462 +A02BCF7CBCD049B2FA692445C13C4B28C1762DD4A632CD41A8196DBB26075B7E +9708EA316266289D910151A6F7FD5F4755E7A41DCC3AADEFEFA2F28D241DC4D7 +0AD828E18F7541FAD3C51FF4938FFD048E1EFFA5A6E443049FCA2472FD9CD0D3 +00A0AB032E36C43ACE958C75B2772BEEE4327A53F279FA49DF38E5A3BEC64EBF +7677CCD8EC1B972B65FC2643DC5064EB8A66A777124B70F2DC6FE62030EA59CF +9E328396317798C1074AF49EE9698EC5B3A0DF1112669CB2EB0E2B6948DE7DB4 +B136C23C5D0B2DEB49808EDCD5A3B68E161ACCDFA41C8FEDDA50942F8D2E75EC +EC36EB127AA8656B0EFCDEE65748D32220E16F296B8D06AEF513E272CAE380EC +17A1A2B0F235FC70D479A606B33AFF70D324C6FF178A38DBFF6F2BA86115FC2B +7237BCD1325690F655B912C30BC069B20095279D01D4AFDADEA0E9FBFAC0B22E +60E377515AF3012FD9069DE25DC4FA527AB6B2EA9CA5420243D815C95E0F4D51 +FD84FDC5341F20BA6BF1520C684788BA2801A7CF3B95932EDB3D8693ECE35D70 +3666A19F6348D59155A89FF25E119B37D5AF6635843E4FDCBBC413F4A6031F4C +615AA55A257FDF806FD0CC1A65FC78F1427DEDFBC1FC71408978F46E3F32E8C9 +96FFE6AB284538B37213D6B88AEA47E99DD73D9AD4369B428EC913CBB75FF2BE +D9D9C51701D2D0559632530D6231586A667F3A530FF2F6227EA4CDC10BAB9FE0 +E313D378C933138BEFE6D0639DE34F45A5CE2049F5DB6E28A70246877C55DDF2 +079FB885DDA5C02313345CE0D2373638BA9990A6911978264D314CF74DF63517 +57EE8699DEECC391365AFED7C1329813024B3ADC3565E28D754217B5B1EE6BF7 +AF11791FC1BEB8E6835BE35B05CCF2992ED7EB12909C9D10E89DDF362036ECA9 +FFDA4DCA0A6B1485F4C4B8A9BA588C708DEE0286A83FBBC77B9E9B8DEA69E54C +D7DA907064DFD9C45D3CEA56AE7503493D5F4BE359D3F1669F0B4722B2171811 +C8C58B922FB5A692314BBE92730DD235964A7CE0DA5F79507D659EF04BAAA9ED +372D08CA888C6640CDDF10C3811BF9679C6340418C89C8A56E50467C11FD1BF7 +D7A58A97F117F511B5BDA0F10AA18F32C4A6A2B7AD54974DA8E693381243AC52 +1BF222A8CF93A087FCA2CBF3C036E803B2A5FE026072BDEF9A6AB04B50A9AF0B +C78CB24EAD3C4C6C1043F6701FBEDC2B16C73B0220B1226E8CF1C4AE76A77D50 +A4F2FB0D95866FC447A648A6E95481134C882B3CFC3CD9CD8BE6B0D25A1CEAC0 +E1CA4591E98EACE52EE14B5FE74A4A729CD3E5580A9B0D0473AA2ECE3C05B9D3 +F253C0B613BA7CE0AC4D16FD02C19C536AAC90E5511DFABD5837A3B800C49239 +871F61F40EBB75EE3024F37818ECDA106D09D2647CCC4E6AC34F49B8FFF4238E +DC8441F3D1D77EE6722F42D149F61C9FD1D0395249CC707492A2B2B6703A3CD3 +80633AFACDF6EF4E8A818E994C147EF515AB8DE7E518D3F263335E42172D12B6 +548A0EF52E75D25BF84E958A4313ECA0FB924B542C3F05793AE651CE9F217AD5 +FD78BA9D2B2F4AB463F4A712BB35854DED6D933398502397D974070EFC918EEA +BDAB069B433327B0E93283CDF156893221158F0958E22E56CCE42DCB4F878A58 +6B600538D51FB31295F4DEC9816798A5BF0CD11B1B4139463F2FC4D624DF3E37 +C6336D807735E2F95A3DCEEB68449C7B9D36EB26082144567CC7DAE8270B788D +B095AB67A3B4E37E0C6A617D3F860A27AA146A1E2BF9D2C7F8370D8DC2177951 +8F7CC943375E28DD72948670524CA4C738EB1013A7DA06D5BA6F9EC4F869A49A +A88C1B87F03F8413939F9AFABBAC79A8914B619170FBAC1F5710E77319CB6DB9 +8CB13483357EC07722F425A0604A5E4C1664832E92D6A00E720C008E51F7CE8D +25CF64AA579A1F1C295F2375302EFACE27DAC40C3B85A3FA4438D9ADFBC4A8EF +BAB2993F773749B891047E9619B9D76E2B23091CD5FB1AC876D34374E9AD02FB +3E992D2DED6093AACAE3AAD005D42215F7C2717D7899FDAC5856DB3306529FDE +E7AC5D35E33FC2B122934756CA34601FC167DE69819ED1F6DBE0BE49E19B095A +42A6570E9F7440FBE310E87AD8DA548559256A9B440F50496AA8DCCC8905D563 +7C1ED2C4E451734E319F64CE2087DAE267F65EB2069C04927915BF6340A990FE +730768AB33F0E09F348EC22804ECC863E63EE464EBE71CAE1C08A6CDB78465E3 +F71B9C715E5A675C0CF52A0303881922D7B610C99C2501329839F37826630954 +0C9E896F342A392131FB96C14C7D4AFAB3D195F5B53E4719A66D5D58272E4ACB +C171AC66FA7F6694421964B2CAD93C66BBBA3211B1918751286A9FED2D402D15 +EB2CAB432C22D14A6C62C54EF147FE6A902624ABA331C7E1294587AF24ACDFBA +00AB8247516F6DBF234509D82D1B0E397509B376D06E4E5C82792D16B3562C43 +BFDA011519A264B2D8D4AAFC1B9B45EA103DD42EDB9B91D50A23D95C95B868F4 +FCFADBD1B6D38093E82E98110F5E6CDBFC7CEE62F36E8243E276BEAC39402B11 +D50338C94316C78D688FFE8AF94E60860B9FADA0445180E3A1887A1A7CABE313 +7C38A2470D39DD52A79C695180E97F638EDBFB9D720B72ADA6335DD91A05C16C +3D77B37F5F6F49968B65026C9E0368C0C65A3D9548753FF5DDCBEDC0E8447FEC +DD88E126B5EA537DEFCFB8BE1E342B9D01944D43919BC0E446D099EAAF2399DC +6DC0C7C8AB5AF062FA26A8FF5AB37A1F89B6E35E1DC1EEF6D7F532D3489B2A89 +03DD03AA812209094196844A8C2F544F4E22FE32117531A0723525EA57FEC886 +12344FB1B5FAFA36E689ED04CE758631D4E59C05B50EC962FBD61D4F5FC7329C +D096D0E1E87D761DCE53C0CA86A77A38F4DA004930E0B356BA9CC77E2CDE85C9 +4CB6623BD66DE668BF88148444EED424B1764EF2A570FFE212F847ED6D79B34D +519962F50F999D1DDE7663EDDCC048B18463190BBD0EB96E91393EA3DC71409E +929391268E6792AA7792E2EA3325D1DD18FA0D65AA4D34630A7275874E08DF9E +8C2C1B0A7B9F568BCB6403547863D90F685D1C2B7A5AEF0EED9186FA514D96CB +A5AD2ADA910BDD516ABB07CAA9595DAF1E8D9F070AD348419F0C8043515BF764 +583A6E895F758FCA17492A9D6FED07AE78F148ED910D4A42360B8D55934DDC90 +0AC60DD0972DA79A6DB092474CED9A16101F3EF577150E52674326282972C456 +2480B2F176A27460B09B8BC9F3A2770718C9FCC2E3DFF4F87EED665C367C809F +F08E76CF7B30DC9DFBDD1D7CC07AA21A4CC169C6250B537E0F1D950D17BC9FC5 +1A824BBA6EB5280943D7D1D1597B9F0B25BD91AB8D01015A6CE39F07C3421D28 +D152D9F5DB4468A46733438762034844B296F804E8B6B4C13A5FF1CC548A6E89 +0F43C32DC792BF0775AD5C4F1B31B5D016FB95AA4DD591B2B71593FBC535D4D2 +2B18B537A0BB5064887390BC6548427F7E12888378368E25C944736ECDADB2A9 +06911507850AF08C888CFF37639E0761179BC8544C58E77563F0AF13EEAABED5 +BE978ECC763ED19F30EA0ABF4F5E505333F2F54DD426F0EAAF879F07F5580BD6 +BB90B7E6F3719B9350E170EB0F4BBC7BC5FA2A33EC9C9728F99F6F7A2F761818 +8D03EFA1E8AD9FFC8FAFDEE56D52246853D1AC3EE99935B2DBC519942C6DE02E +61A22AA6ABC509D875BB9628C91A1BF755EE93D04549DF082B2F7A0EB4EBC395 +7330A55B0E8DB6D19A77FB0A035FDE5E404A98FDE5E2ED439FD1EF3E55C29BE4 +EA6E062CCE94292292F5E131A693ABE09078682ACA1058C0A07DF41C82995AE5 +C4C1C5967694194D3FC1213B7CCFF0F83AC562B389584936DCF72437E0F02C35 +8D41EB86803ACE53BA7D3E12AA34B5302DF7D7EC4408FE3D8987A211812D5780 +73E2941A369882074AA772EED3CAEC2A338DE437836811E9422ABF24B1FD203D +BB5551EAD6E768013373204E661901192AB0E237408F7D9DB44C10FDEBB3CD89 +AFAEDEDB0B01C6D6809A248016F98DEBE5A81E4F42BF065575314E84C34266EE +D98985ECF67FFB1B16C27C2531819A5C13D9E2DE22EDF3916E511A2D954E0B44 +97762262B8B88823BADFF104E9CB1E0FFC2A33E27CEA54B22F725B2D401EFC40 +50F74068E526177612CF96B0D098B33A0FD53FEF32A68E0ACD5A3995F6661065 +472888CB4465646218AC1FAB9243B85E787DF7C476B99A1B33E21DE721182707 +B6D9DAEAF1BA5740D2A7697E3AFC3DA22EF66CBFA14BFBD62D4B4F270A10FE8A +C50E805AA80D21970ECEA98FD96854300DBD599A0023E7CF112151B4B4F09C7B +991E62A476EF9396AE91ED43910213671B7DB3C560E6A419D40515C2D99E59B7 +415A9EE52A909FD5B89079EC9AA755B2051BAEED91EBE7C7769C56 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: MSBM10 +%!PS-AdobeFont-1.0: MSBM10 003.002 +%%Title: MSBM10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name MSBM10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/MSBM10 known{/MSBM10 findfont dup/UniqueID known{dup +/UniqueID get 5031982 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /MSBM10 def +/FontBBox {-55 -420 2343 920 }readonly def +/UniqueID 5031982 def +/PaintType 0 def +/FontInfo 7 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name MSBM10.) readonly def +/FullName (MSBM10) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 82 /R put +dup 90 /Z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943E919FB4E3240FEEED78EE63 +0677FAF39AB2543D18C08A2B98B97451CD42CB7893DA8601CC0F45A65BEAFC64 +EF72554395DA801CF2E9E3B03F65F1BD98F8C5F8EA06D7457842303C1A817E7D +69821807328AF426B9DDBC188A79A66FBB9E6193B4A3EDFE3136C6574B9C4C94 +E2CBA4FE7997F949BB2DAC0D329C2AD8E4095BD18A037AC9F77B794FC389E5CD +56CC4C0B74D64FB0D02C92B88942C18B6DA84D4CF482DAF3A01E80BE483AC6ED +AE98F5F3E49BC762EF6BA937D528E751D9588B0A1E82EF0A5998150EC3854472 +5A91EB983915BC1D6E2C3E615E0267B39D6937ECE0EC16162FE76676E5B69F3C +BC1AD934BECA284B89F0613B70876247D768BCD246883CFF4D819D6265302730 +7E4BE6B2FFE7E91CCB8C6D2AFACDB4C5DB9688153E1D6B2DE136BF7068418A4F +2D1C0CA301B1B97290B46EE14B8286A81E709980F67382A5132F01B2D44DCFF0 +9753E776AEAE2141D580E64C82598DAA6DA4057FFA9D02C3B77AE15A50AB457F +3FA5A10A3C986B22F8E154C1E564A55D3BE4487677613DCF793F7E1B57C9A925 +BC57746C25FE567719A9EAA9CC44F1D0FF8F92C03132B205F57E3AFE9FB66632 +D3FB3EF5BDFB9848030527FE759A5273CB81DBA2719611355F43E34F8FD7D0EC +9BE47685A2D122C9B60198A430C5F5E3F972376F0FF4BA52BAFF64095F7ABCBA +022622692231FF87514FD912B80C07A0EDCEECFA629E2734B5EFE2604E8DCB24 +32A4C691DB4CCCF19EF897A9F4EA5B2B5AFCDF87AC06B93669F3007C1295E016 +FF0A99324B80E37020B1080E80949525B3278DF111ABEA48E7182B6F4DE2DC90 +B8D31A953343D5DB78B1F2CC6CE631EC7E3D0041A823DF2A4702AAC0F0A2F018 +E5ADCD42EF2EC8AFF6F4705D30042BE7B6F866C14AEA1CEE04DFF82BF14931B8 +D297C38E6DA6E587C23EF0864F69BB0DBC9C1EFBBB97B92BADC336A4AFAC6A91 +0A6B158DC42E975CB5D8D2054CEF367FB112456AF50684C41F80B1E7ACAEA852 +EABAEAAADE1EFD16DA13E367A6FD05F6C5D61A321B185BD0D596400C8422C933 +BF332800160813A68AFB7152FCFAA4AEB9B5B81AFC43E9A300ACDD1427BDE5B8 +0D5893CCBC0591F9F5CE793D0E1F724351C5C5C9A3A1CCEBF7FF3714E6583082 +A36EF53DEB9B1B1A3B7727286F9D44570BD8EC91F9F0FA8582A30E6C46B3B7A8 +3DDA07BBFFBC518DEEDB5696E3C8D0FC88E54BD0FC54C60DAEA0B344BCFB186E +E214640DAEB7F010A75680A3C15376F4F7D0B2E42110941575991A64DFC40439 +39C3BC080A089F21FA3908F12425FDB664D6BD53DC1D31F58E2DD0AC3264B0BE +1D609D058A09F8F110AC4CA81D9A737B3CA879CEF1F4C1BD0D8B544FDAB25C64 +686BCA1A7BA63A455D3BDE025B5DC251AE1748B790BCD307FDF8341B4706FB26 +D62AE2E4D33DE35A8EAEBCBAC4C90704498E500DEB4C2CF96C331A60C8838288 +EF65DC7B65B4591B37A14D09A5CA4B607FA077160ABA270123A72697AFDE8DCF +CAD3DD1EBBE5E79C53C00D98603E14A0B61FD99C4A6D8AC8138B2C0FB6C7F03E +D13E4D4407A04B727E8DF0B45697DC409EED6D354D17449F769AAC79E028B9C8 +BC62E59A72F2999AD5EF909942C19F6EAD23F35F97E5713B2F358847726D3FFC +C0E7944696484EB8C25B51A882CC9A041E4E7D45DE9958C2F8344716C0BE99BB +61B87E74152B25C8069EB5036FFAC3DB4A8F9F407AF8F40634E326C360762A4D +AF354F609B6DA61C429791600D3A5FE9A8E128EA357F21BEA1AA23ED92EDEEA2 +91CD4AADC45099E62D0EDB437B3A2C03D34B8B7D370D36ACA398451DC17A8C76 +E01E537D1CD1E229E6ED42EE703C1FFB852ED974325012D973A6FC079EAF9617 +31EAB278A9FF15D1A397B7541239DF020EFD56A0D5CE62D17BC0D92406697044 +A2C322D9 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMEX10 +%!PS-AdobeFont-1.0: CMEX10 003.002 +%%Title: CMEX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMEX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMEX10 known{/CMEX10 findfont dup/UniqueID known{dup +/UniqueID get 5092766 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMEX10 def +/FontBBox {-24 -2960 1454 772 }readonly def +/UniqueID 5092766 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMEX10.) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 18 /parenleftbigg put +dup 19 /parenrightbigg put +dup 88 /summationdisplay put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23E7BC2A6E71BCF95FF3DA948 +1A27320759222BD7BC7C1A533E90058824F06942F0234C68671083E0E4708398 +D246C94F9C16DAB6563651BA33D86273FD2DB3C50C106F3CA95B1C79778D0BEB +B99D9CFB38E41BDCB4261A86A23E2CDEE4837D9B6F0E85ACEAA984C344A63709 +EA35B61F08821338D363D172BD185A3658F43052AE1E61D879C99DED7F6D726E +FAFEBD881BDDEA91FB09DB75675FC74AA2BEA8771027C7A51BF849F8E765B870 +8F7CC0871F301ADEF9B71EC3C607B2F51325AA5B3DD74A2C5426E7B329FAE84E +94A159C8C9C35E27A0FC93FB98A4D616750DAD50068A5F0EB96B8228946E5CC6 +B69E93D262C92E3BC7161313156E380A2ABE27BE400A23DF95E65A4F76B3FFE4 +CF3CD141B006C487EBC73A5A101466D4388FB2CF1D9439D0714720BB58537B7D +B3EE1F04AE117222CA5F0E5942F7A875D55D91D63958B1A02405D9DE08109B8C +7104F2D109EF7074852DFD74CBE02E0F3704F2BACA14E05EB1D0D9021EFAC23F +76C2389F8EA237D2E2AB6AFA83A725E16AECCAF025E05F1B1B5699D761F62A46 +EC6F31B0FE4769BD0D66821592ADBAEFA9EB454CF1402FE870F5F96D09980C1B +8B6D2FE88BE56032C1959E6C3DC319B6A7353F3AC629CE5BCB947B4B235426E9 +4769302817AEC1ADF50E50265AB488017634AF824D44D3C8423FC7CAD97F6D6E +6B34313637687FBDE3BDF6FC951CB41277D8EF49D14767B59656D214C9724DC4 +0523EF896F4E48434FCC5D8423F07194C54D48C62AC29001B10C9C8B514B24C5 +CEB60FF68D36749711E108DBB52738760FCF6571D5B04E58F24CC0247834B412 +D0F6F8D7F1573F23E3E399D5A3A3A37FCFFEAFA044A5694D2458EFF2BC1F7650 +8FB0A27C505A20C16776EDF94BEF9DF702F3C64DBC1939BEC0399B6AB283F832 +DD8FB358F701CC075C596FA7B0ED7A9304DC73274C8169337D55124CB748CE26 +A635B2704D8F65E23CC0FDA3C57ED451F8FDE7B6FBFCE2746F5AEA11B065A6DC +C3D200D962A034DD6757991BA62D8DC0408F49083D48799B6097B61343365A5B +30FB02E9CDFB5104FB751BE8A268EE55C1208DD8B29D5635014EDE9D0D94BB64 +ED5643B3049027925BF2FD7EFCB631E01269B731AE12AA6226B2656F035C7E92 +959C4A21BE40D7C138C8FF28C9FD4B768CF25F08859AE84FEE6EA18C033B3659 +D9EE250BA5FF2568E8BF7684A93BED7852251D1ADE5DB815AF3AAC36D1A500C9 +41D1BF3A1926828CD1F9E501ABE441A07B1B96612CF0728AD5FECF7480421F46 +0B18E06D2FF1A5B1183459C59517976474698BCE18A728515CD489A83C001AFA +47BDA929F60D0FABCD8786AE16EE18615C37D18703571936A365D334BACA9BA3 +08E2523132887B5EE95ABCE8581C78C3E858DBF35ADD56A1F6C2489AFA73D1B2 +379C5064DAFD30FDA84581FDE268B470636EE35F21648955513714F6EAA08AF0 +249C937721DB0E93D95C4DDDFB0948051953F39C6D2D811D3FFDC25F786E072B +2A8A1F4830F9CFC34666A1D3F13268980E9A26682CAB64817318A1E266F3D2D2 +DE4EBB3EDAF0E7B526C838CBD7F37E74A35B1C3EB96DA4099DE689A53970D4CB +9AB355E93EB294B07DD09356C338BB4A61C147BEDC152E58DC92FA69846E4829 +551A5330006793CD88523F7B3AF7B4475C531C67A4B66A603597EE72C4ADA491 +BF13706F341125CABF37FADA554FDA0BA5534C7AC35F1829E250C885D9A9983C +5D1FE8CE24458A8B13E5C7EA22BF1608AFA96B83C700889A2A6C9C4052DCB892 +6CAEEAA9E7D7F3E215019719B36A5DAFCCF2396FA0C04AD99A7C23772A7BAA64 +D1FABE8E476EAE9FC1A3E08CD6D1DDC6E087934E676BDFD1528652B6B9A50A35 +2029466364300AF4CA3C5883F6293A7104617D0858B3E43D43752F814654A938 +A44C33410BA0E5EA7BF55D4F1D57E27921DB05C059DE29BAC1BFC9B607D2C5CB +1DDC47793984FBB18BD99E1DF7776B563A55E15DF024D6D8E6ADF62F16F602A6 +7DDE1C68637672AA9C7A1250161502ADDDC1B4F6011A9BD5605B73AEDC37CE4E +4467C838B7692C4D541EF87DB41123F9DCCFFA971553A5D9B0E7EC539A28750C +8554383585CD8B93DF731A301D85BA9ADC95B4A3A237794C30230A82300B6756 +AE5A46A090958109C5565EF60B0B16D6C0A16A56644B05D3371DABBB67ED9BB8 +9BD3983575D371419C7568B2556649402AFB9843106729E4EA87B3F9038218A1 +F820B098A1271E330708432567297CCDA332B555A40C62BAEB16330175D28AA6 +13AE6939CEFA2334E3E890B66A73277F0B63B1FA59F856ABECC5FC0A50571F5B +0747FA554F5FC72A51E215304B2E44701A13E41D91397B204C66AAB3D101004C +7FEF2D87DA558EA057BD492CD6EF93601CB63F78426B502CDC5C8E9EF4FF3692 +376601B1FAADD801602668370B5ACEFFDBACA8F8B3F4E850D07A20F6F47440FC +FD39504F0FDFCA35AF2ED0DA8BAB63AD42EA8CDA912CE17F5E62192DDD912333 +3E9FA0884117F07221642490044A72E359D5F25D9591A8FAD568A3DEE435C354 +11995C0EFCFEA21735DF44A30F79F747510E28767A4266461D1394F81344F6DB +1FA8D0B0D9E5F52FBB663C8F1E91192E5608FFEAA178B93F8298F70510A65BEE +12ECB5D675311B5B3B19205476512D92B1D16262720484049370A76F78D9BDC3 +02EB96AC1E5B3CB078D2F219988FD0F36B043ABBF347B22D36CF541A8F80F791 +8E4F92D900B7E7B64DFD500882EFBBF23565FA470103B2E0D2D14E3E4D7827D1 +BAA0F84713A8CDE5904FFF2794850871DEADDDC53B77A502F5CA98B0744BB656 +2FC40ED2AEBCC5CACE2301E983E6C18CF16AFB9FD8CA49DE51B22F4259D43076 +DDC1BD4974CDF2E733EAB6334B1D5614288CC81FDCC722CEE193635D1088FB29 +F80AD5CB96394AE89D920DF8E1F271585AF019190F17DB51FEC9064B54C3A53E +3FD33C3B553FC79F743BEC9674743BF0A821051261DE4527A2BEF4A04E293E97 +02B181EC5F5EED3E26060F2C9EF6852B7433CA1BC1690C30424B03C522A087EE +92016EBDAC4B787133B4A22BFEF0B6CA564C6EB910E1DBF983CB4CFC3A1F8A26 +45329CED7F5A8704ACE9D4233583365A5A97342A053EF403F0567E9D0A62EBCD +84B5D7145BBB11D31046BC2CF5B450CC68B85DA0E78EF8902F8D37DAAA9D4242 +455288C0D73748F9BFEB1B1769D6FB84B94993D5F7C2B9CBDF75AEF2C930F277 +210B3CCB8A0299F50AFE2548A4B8DF5ABB52F098ECDD56FCB8D3A406EFD95088 +92D7EC39FDC7EB1824ECA24D0CBC6EC6F4C6A7F9590D593B269D2CC0BFBD961C +AA8BB4296B4E4411B54367A341A5EDA97288DAC370A015FDE6D7FB0A4CECEFBD +1A67DF3A3703E922BEF2C414FDDA42482EB35D5DBB206B44C76C412A435A0842 +6845EAD204BDF87065CE2C99B05D2D4080D5D11CFC3316967472C7DA44CC1F9D +51B83B4BE9B882D6E9ECB482F9855D024ABFBA502CCD624E0F88164A6F13CED4 +85F20DC01BB15C7D78B1C79FD9FF71F4B043F59DB5C297768115542BC7C8A99E +ACE39A268D32122541FB441FF1364FCBA2B7627F12C49ED038BC044B6D9D533B +A72D35317A5AB8D91A9AC56CA90D1DAE9F967605C63BC9F406FB3D5BAEB4B38F +4934EE3D2F5FE434B45CF5C2D0E5E417EC279DCEC4F16504EE40E837B11620B7 +7526AFF23381ED3E9A92DA4DBF4EA2BE4FE444B9A74AB60EFC818E20DD8B852B +DF8CB659C0A3956D0DA61F49A9DD467726E57E9B32EFF540D551A67213D40273 +AEAA6E319D92B4B406377D36DAB85662C755D76ADF5795C52D54ECCF0DE81E30 +B84F951233A0A400CB063911837F0AACF44AD2441A7CE08818D64705E1ACF7E0 +F59AEFC5DD812981C5508385274817056B2CDCCA4C9F3103C92838917EBFEC94 +21D5737AC634B23B6F7F63B166D60C6BAA8F33AF44379C5A7337E737190EB3EE +14272B905D08C01EA118964D3444A03676FF3B62E7626168FA1DC6220699780A +0BD5776DDFA26BF0BB335B3C978CDD5CF1A419D4B5C562B3974FECFCF0118199 +E547EB287CD92E32E881F344420FA3CD97333BFEF5D7E1BA31FD20622E5B4F95 +692DD0ACAF01D413B21C8608FA87B470191C3CC5AD333263C955B4ADF4370FCE +D6667FC93495003F4B6AEE4F83603D55F19EFBF56F955FC9CC01E494804952CD +D426FE706C13D41F87C5C668D8B6BE50AE0370E07F52AC0534ECAB1C19851099 +FC0BB1EC2A649795A62299F73CA606EDFB1D28183DC63ADF67294553115E8C57 +7CB603CC491A6065802B925E6DFBF42917EE6E44C714228AE452851D61BF70AC +844B5D800EF029357FD659B8A648445CED0ECAE1474E443124F4B3644F54C556 +A330D92EABEC7F607C6B13FACF69CA928F835056BD1A8ADA20EFE6BD5CF4A1A0 +8B9E415E4A5FC6F209EF05ABF2E0C55F6E3060D1C72967E1E68791499F303C8B +3960C5A1F2DF6306710DFA98C8D0815A06B5590374554DCCDBDC4C295B3BA6B8 +8BE3200CD4421A521C06BE39D4CA495BC63F3F982CAE3C82AD38DCB537E617D3 +34BD96EFDA7C6A0F6D97A6BC9F084645390E194E7A11399FCE4EEB9A965909BA +6EC69D34DBA081BB3F18BD1ADB1AE1B7FBF96E4C546498667690857EB6931841 +46C427A5B7C7D99FF889582C4AD11A7D267B301C5A5AAD9DA99D5BFD438238DA +62DEB899FF0F7B7997F781315B2CC328BE3572A3903A33EC901AC6BCC7F152A9 +8A6865C6CB17189A4EEB699006A5F9D4482D53A76E88438E444F9302C79F0DC4 +B3033D29D303B38F5959F020337EE6619DC8A8C3912101B02CF8AD113BF4BC29 +8C6B9D25AF6B6A787F222C05964475B49B6751E3A3A6EBBEA03677D5B136B9DC +6D9AC20193BFB0759E89831C9E2AF68BD45ECC81175DFE80DC0879069ADFA8E5 +24CF3C84121CD9739A28BACB9891945FA4E72EC07136682E18FCA81938FA6A3B +8CEFBAED60121530E33C1C0E698B5923D6AFC4E907A99B1367C3D435CAEDEF5F +878237453B8DB2FE53073CF3319FD096343F42D68F097759D051AEE17E4FCFC9 +86E17099799DE82A38F22D870BF7AB90890E3B5264976700BAE594C8563A218C +C985D9A5A7D7BD959F7E4E66286833C86E89203ECECD6FC4C6FE1F04010218FA +A5714881C4C846E85F13BD68AC250CD0E488DBF60BB10B2CD7AE2E30F9C21DFA +0E84F76B4E996AA1C5C056E64BAC85622C160B56DEFD4DEF86887C1201F7C20C +076D4A27BA69572BE9C89FF3A9D3BAA5CAE0A6F2187AD01ED497798A305E3BD8 +422DBFBF45E3F4AD35240B07285128B59FA9E83D9F6A2E620CAF6DB05129D930 +44CB241CFF84E776315114C3AB61FBC0A8368D9154CC5066E2B162E89DA51165 +F9CC075F2524F9A8624D2B56ABE64AF93B9F0407CC770C1F2C76CCDC06345D03 +7B173C2FAA201D8E1F6C0315987A7A13902F4AA5ADF081C2B0A01C77E4F7A3E7 +6A4AAEDDC577E855D69D38AF6A1D271B02AB496D94D81996FB078FBED17F833D +C6C0BCE141BCDE277D530951DD6574B9CB3CF0370D74211E9AC00C7CD3A67842 +0B4B72ED517E4906409DEA7993D0B8E92D418139960EBC86BE63A1B1D417C451 +8BA13C230DAE1EC4E466F23351D410D9FC4A7BBD477D5FA07659B71CE9921B1B +6755C67AB3D4988064004CF75948879D16174E8097C91F7544352474C2D9A1F8 +A1813BC6F4BA13E952678F5707F19B4799ADB3BD186DF650821DF58CF3C78D67 +84E4E1DF8DACEC50D15647C3DBBC3C4355E602D3A03171FE1CB36FEB940211EE +0A5300841DD7B7CF91C02B3FC5D89C691156BFF8A38C6C72789DF260B868AAA1 +895046E405661D97FA9A0048AF114A89E3ADAEBCE541753E4FFCD902391B5372 +6A97E32F0257FA9FA1DC15BD3140EC7F0CA5A68AABCEDBE73C38B35FDF195F96 +0F9DB0F592C188D72D73512F4DD92D2371D1A59254BC477CA084E68184AEAB6C +266BB21DC3AAF874DE999AD2A17C79621AE322612EE4B6D5BDAC511418EDE90A +AE75066AF19662C4AD855E4200A5D67BEE4ADA9A399192C74D35E59B15FB61E7 +BB167282D32D538029ED22CC5C9860C1F6B7BA7F33D5CF108D4BEEFAE7B37E67 +39391F9934DE17956303532ABB011540645DB8420749C9B9A019C3CE86ACD566 +1EE8D8D5E0D8D0DEAB33B5413EF10D4EE650F82417002E436E0B3B628A657F84 +074098C2E9F897D9AB692E0FB9F268E6728F94A79CF4D6B0A07C8DFDC1D67FD5 +EDD5863EA8949D180B1596D0009D662FC429449D76BF13D83F0D0CF165982443 +E9CC288CF7C5F2E17EB7F3736D1FB814196CCEAB8C833720E3733BF594E1B536 +BC0063080BC751F9DA1741522B2967D07DDDA169E7D3417B4A39EFAC15EA5E8E +DE3473CC9DF991FAD2A971F44B09635085DB02D692F149F144F3DCDB69B72C53 +A2AF34C65DF0D5F35E82102E67B733750646EC03A4FF47138F7998607BD93AB2 +B63A0B82E8E225FFAD5DC468077FBE8C8C8E5B4BB10A8FE836B07367D742BD6B +D36DF5304B9DF363120504C279453452EB177FBCDAA6F6FB78A24848F4A1D94D +1E49F6C46CB36796F3F4C9739346381F28AF085C5EBDB2A02DC0570C7A21E097 +77522D4947B51182431BCBF3E55CCDDE93A916AA40CEB577277FA512380816DF +9111C56F36341381D62368E70462577D0C135BB3CB4462B269AA8E0F03245BFA +D01DB8E23F2DFD5DAA88FCAFDD51D48E562EC649DB1FFDA0FD8CC8C48E6A9207 +260ABE35733D75630053CC74A07E5AF6FE87BD5FEA69CB6AA20122276AD92853 +6B225BC9E3350D1B1362E04C7795D473F1266852B02C83D02D938C55D8F0C671 +7A9205F8CD058304DFA034D99A6BC16C582F02484A089602D42DF30D7A5716C1 +D42A4CE56C19E40C01DC7DED931FA13679CFD2700B3826A1E6539AAC12293DA8 +664DE251C5D1761BB45FE364CE3F7F7E9B67F86EB31D9626CCACE4DCE03EF3C1 +0D2FD1B12B5774510D46C5C5CBF0A34847418B9A1DF0C67789422D0EC2D49576 +9DDE72D63A4A98613461A6F730A05336C691583F96C3CAD2AF7C4BFD3AEB3814 +D909858B6598FE19397006C8C4D549AA1635968F47144E7861A2BCE8AB4CA7F0 +4D253949AA0127559FAE3161C810A8CE22A3079602E747C9398F9C8B2A868F23 +D77D7AD6B980FEB038E0557E58E1D7AE471036CBB96B83595D9C96A4895971CD +C2A810651A045F876A1F5AE470BEF39F856808B1F8D736030A722E1576BDB3B4 +4DF06F73D38D313C8A0D3504EFBC774750C9F6E687ABCB1927FA1BB3882AABC1 +2306A030CEBB259AECAA646C6497712F6C1E9DB7E1365A60EEC5AEDD5147A77B +1E3A10D73C477876D54FEE853D953EE75F7EDFB287550B93CFA8250D1FE2FE7D +D34441F1224F3DB1D355188819EBB98A94DB193B9CA23803869DD10776647BF5 +5BB42031AC44A7339DC036AD0292AB9B732E6FB79BEE852A103C3788BB0F4B72 +EF37BB62356F9B2DF7F5899A26F1FE0A3D6469C1034B8AB14F52555EBF6DC592 +3F24D6DB395A3A182ED4B8ECEE8254661C19CC942F236CA40BAABE818EC312D8 +7F5762C210FCE8A3CB9A23A24D0A751A09F4FCFB72DD0FB3AAE0575CF97D126E +1669203BE1C8F8FF626F49E8AFA7B29EF26618C6D8336D4471314D5D009BEC8C +D914E74D0BE7D7C3A2511C0DDEB6FE04360D54FB3283AD67D9DCDE211FAFD19C +449E201F2913232DDAFB2043F674EA73C9F043EB73CC9A96289B3CF819DB3E56 +5FE403D8C387C99979ED9F8EB2F3DC7D72BFCD70D2998C697029D149A6BF560D +B13E1063FA336E66B267581833A721D1F474D7361CA1D448637464F5CC53C479 +FDD548EB4F3D641F461BCDA9672BDF53567466C41353BCC7AECCB18B5A8B44E8 +6248022ACDBF549725A61DFCD1C4BE72B09D96FAB2AD26B0E4D5956ADCFF5D8A +D4E7311C3BC327EB9D2A0A6C307F4E200F19DC87E22A2000288954E1C5492196 +55CAA0F6E2084D9D72626B129EA59BEF210BDACDE2C9F2140FF6384341E3C7B5 +5AED0EF176D54F653437899B913BC50F89FC9955878ACE712DC34CCE432A7B4F +28F999C2CA26B2B9B988513E19DB077BA99AE776E482E3977A70D79638745E77 +D82F642428B24D7B9FCCB16DDCC5246A7EA120B5066DD14AA83E7D8B9A3FC459 +7FB4EDAE51A93D03BAFD313AE854785CA37132061A28967D34734EE96A6C8FB0 +384F9FAD94D808165E5F0FACCF8EF1BEE3BD7608B9FC6A6CEC90F3875E7E0125 +D03784BEC98BAC5743078759C98171BF69EC65DE65101E5E605957EAF5A2B162 +1AD079F47C15294471F5B01C92C3BF283FEAE93574F654F27464C3E04E8383DA +91913A174402D61C9BE712C6297499433434264B6ABEE03589606A604F928FC3 +35B593C460C3C0D5C585F74F64C65F8C2758599EB662BEABE5F3B9CFC612A28B +94B2920EF538B76DD673A0FBDA0E3862399D41AAAD4508BF4C5399C7870F7917 +27DC6C8FB0BD8648B99C3450FECD3C6569C03E1578775B3E7BCB5A09FF142119 +4623705CEAA41E65DE4AD6539AE7C0023BF7BFDC66A5C989E1864709072AC30E +3A80A47001B89D1E0CF0A8EC912FE9746B22DEC8ED3EF4DB6E60156206CD26BB +58B1121EF37B4F827904A98B310BA95A2B6E64F50263D56D9DC7C3CCF8383918 +5EA5656F7BBA6C1E3F97303D7D0575A809646F04 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: MSAM10 +%!PS-AdobeFont-1.0: MSAM10 003.002 +%%Title: MSAM10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name MSAM10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/MSAM10 known{/MSAM10 findfont dup/UniqueID known{dup +/UniqueID get 5031981 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /MSAM10 def +/FontBBox {8 -463 1331 1003 }readonly def +/UniqueID 5031981 def +/PaintType 0 def +/FontInfo 7 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name MSAM10.) readonly def +/FullName (MSAM10) readonly def +/FamilyName (Euler) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 4 /squaresolid put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE2340939CE40EE9186A0DCC3D3 +D661293EC5BB40766B73935EB54125526067D631E1E3D1D6569AB3546CB257C3 +4C12CA4AE98C3F99898F1448AC0B416B8E5C3EEF3D74B5FD6A1BE3C23B160E78 +79A9E0AC4FC82364F946003C1B2E0EF3CEA944727E7502B65BA1331D36C159E2 +1D107580F28A32E04CB876822CEF478BF4464CE4F7AE824FC786E099A1BE2A3C +7D2BFE2A748AB092AEBC2021DBFD5C40E912BC5856F3EF8615147350E75D2BF9 +E428D7948E2128053FDB1F90CA9C7D6581E25A6645879F50577FE7F0B32B873F +13F97C524E19F1CFE3883C0DE1DF80FB61111978B0C2D028A99A712D3DC27D8F +C83C4EC335F0DB9912DD2AF009FAA56C5BD5855BA92851629EF6C47E6AC303A6 +1A231558746ED8A78C76E476ED71246A2E15C51F465AB21A22ACACB03014B06F +201876D3C6F49E2D38D8C4FE8011F7BB148FC3227E0BFA51C0F9AAD64F0C6095 +77B3D875476B666F9FB9A46763C49272FC504CC0E817A1533409D293D6D62CC8 +DFDA666BC9DC70C4510BFB0DD2BC94B33D457EACFD754761B696163DB4C547B5 +FF8994977A7C9910AF486487CE0320FA1E705BAF4B14FB937229D80F58D01E6E +9D9716EA3EDA84840B5D6BDE216A25814ABC4DE4C6818266C33CD4C3DA4F23BF +DAE6ABDC6D64E7EC7DE918DDB0B05D8413D32D99D15FE112C1D393D21806E0C9 +7CE0F0977AA36617B8DD50937C5B0B5698947B0A71A167072FE1B3AD6F274D97 +484926DF52CE7D9D2A4928A188E1F867C298E6DB475C0CBE09F0523D8BC6FE24 +E1CED78178EE1E9D66A906B72505339E62499C0E4B6B5A2D596C4F8F4312F582 +9413DC88D6EDFEAAE0C86BEE44CBDDD79BC02C844B80324B1FE3512E73C213BF +ECD22E7E13F98AB56E4D693B1D6045045E2F01DCC2AA1F70A4699B7D718A743F +D749133029EAD1870DF0B00EDEEDFD33642A88EB10DDF4CBBF8A7D8F7781179F +A91CF398747D52769A054CDACAEDC330FB79ECC96CF43C29515F5895D3A8C1E6 +828F776844C88090405F868A872EF54467B72825B001B46F6496817A9B928BEC +ED212D4368368778F2D1B66D005F2D6E3DF4AB9B9791AF2CECCA3AE524781A41 +5052FD21CB81D934F0F12CF8C8FFC656BAFBE897C5E86A21D3F42A38F7916693 +ADD1DBF48F534DA16099FFCF3E3DBCB254BF49D8F72FAC2F9548477F9AFA414E +65A29F24FA16A9E0955A9A6CCC47198E6332ECD1A791F2E36E6656852179A94C +E3CF4477A9A6CF507B8184ECA5C0304FA15ABD8B0C379EAC19B9D16A630D96DB +A6DA819C2E481AE4870BCAB5963C0F9D837C97E207F7ED58B776799586B9F755 +B705AC31C09C3F74AFBCDACF092B05F9E2B072C1B17EE6347523D3D5E1D404AC +636C33DD94121C3711C3D05F48E12DF8489F894E4913263176E81927BF5E3A94 +99D124F64D00BCC288F03FD14F89E6352083333EC6C2044E2F81C477DD4CA9A9 +55135915C27654B09BC9099FA966AD440417945879399B39C7BF20385456878F +9AAE7343912927476C2C88A445C03E3B77381F3F9A82FEECADCCF8C307144775 +144279EB14E0F0443F8200C0FABD54A075EDCB83EAB07A7CAF6EAB17C6CDB239 +077DC62173A54E93BE2911F4A45F72B80DD9C41B301B292EFA78D361AD74BD7D +2E94D44A2D79BB7B89708E094A21CCB28D80E0FCA707D742CC02BB81FE4B0E06 +4A5E93DF0414BAC27ADDB044A0D444692973994CD028E1C62F1FFA4776554914 +2D55B0F81C06A2633A4AE42AD00422A619E339F2E6F0C6FC74F70552974509A0 +812F1007FD7055E9ABB8CB39F799F847993DB9593A76C388F9BC883D4A0DE2CD +BFD0F7F2A5F1C50791EB4363104B49088E6EA2C5E61EF256A9FF232357D62D78 +0C876D200E4136F7B0570A3B0988F3E23443081591DDB861745B4F6F0FF7D854 +8F558F995A283B346E266DB6FFB54E0761046152A864F710113B6BF12967D022 +2947517E1CE2079849CF8EB01BB2B96EEC2575AAAD1AA1E019D7E72BCFDF2979 +8E2A6EE0C1525389C16411E5DBD416467B9900F07223117A77E0B4C3B0D49A96 +C2E3A61AF9C9B1CEB80AC6357FC0CA446FF87BA0CCCD81924F6209198BD6E1A6 +9EECEF233B17CC4E9F0654024F7E857EAB409F4B9B9ADE4090F2B715443A80EA +130369A193A32A4DA3730F13E3C9E717CCC9E74611D787277B73EFCE14FCC3B8 +6B11AD88F42705F65E9C747B472F379ECDCB7F8F9C3FEA64402972623EA0998F +255892C43CEFD7ED08957C495AAACDA59E9398B43788DF27F7433F72377C8F88 +F54F5E3A5564244827EBF92227B94F4FE896FEC6519769AAD567E618DFF61B7D +B93EE0FFA2EA58BE1FDAA0025259789FDB31A1019661C18080567EB5C6306596 +F97F039E3C9ABF9E40B4725A96F8170B49B73B68E308786FE99B0C005DE01894 +7CC93C196E1F830570D51F0AD29BF27CCE45AD7D3B4332C9D50F1E9C2D04E033 +1E197DB9BE1D44566F738CD26A13B8EBC8FD49E999D35F042E8A24F025414F14 +D9D11ED702250F1295722F68A022196A0E38B9ADDDBA997283ABAA62898EF32B +C765387E238CA3475ED5C6EF2803CE32B5A90A8287C70386F46B84C332E8C00F +85A8CC2DE78D433A325B7862AD4D93B3EE2CABC4B688833BF263E26879AF213C +934FAFEBE8D804E2BC8433B81ED5DA99F08C2C11B93019D3D9C1C952F20C68A7 +E141DEA2CB983DAC5A2B9426A98262FEB13C420EAA315C890F0B907BEA099C1A +10B0AB255AF99694C722166DCDA72FD58CFBA3328FC5EF83A52A750C5E613E74 +A8572CB8B78ABDAC27B798E727E3E5AF9451416493FE3F4E95157B4ABDF3A910 +64369E34A2B40176A5E0E30F472E33A41B8C7BA4CB1BFB9173783909161370AA +EA40C83C60AAE242358688CE13193C9DDC3544A959A1E6A16FCC4BFAA65A63C7 +5AEF208FC201F88DD047B5E6EFBD4BB256F973269BA1B06CCFC186D48BCCB4F6 +A0F512B1D6541417BB6045045CBE72B72AA2549C345B1BB466335226A0E76A10 +9645C25A0FB4CD8455C7C10C0F4E7E9914D2010BA1C95C6BAE4E62C8B6A8BDB4 +92281B366208ABD9C010B3660C5E150D63D6927255CF9081C0898E9B206FAB57 +B306669AB87AF405C537CA7D3411DBC41C53EEFD8071C094486158E97BAFE90E +BA29BEB83BA60776D33BF9CAF9C7FEB66D4B93DA27E499B006D243FF59CB33F6 +AFC65D10B74CC522BF4AD45E3451B395AD5029B148A1C9B710D5CF02B65F9189 +0822C0A33C4D07F2DEFDD5B4F6E063891F0456F1BCA4540F9DCD3B0F9F39696A +52336AFCF0A33A029AEEB448CE120B9D939487EC8274AD4E1D5F5AF4C14EC910 +680C5E312735DFA3A5B1835370A76DFA63A05379021A64EE55E25AD5218398A3 +6DD66D1B474A2E7C6E236E0E4A9BD0E4F7AD1807C6478225C58327BFE1822000 +26713D01CAD6951F456504D79867D523605ECD78F2D5DA05994BA4812BF65E7E +34ACB732150ECB3D212D03387C71677F617D76A9A42C708C89D61614F280A5FB +0BFA84A17CF9DF333C9E13DEE82A5ADC9D2E588338D247889ECFB090CC63CF9B +8D92B1CB784B65BE80E3B57998F9ABEE702E07BC127D272C67B0A97734E405C1 +FAA87E6B9DDB8ECAD2B9DCD56D687DFF71BDF29BBDA0A0812695F81C5EBB83F8 +0A810D6560F28D7CA1F89A11F253E1B3B4EBAF511454E4BF2C46A333BC186558 +8D73374455A32DE993526063AE70EAA647454ECC62BFC5A53357F2955E4A8A02 +E20AA64AB6511CEFC5A32874C8F2BC2424C6B85BAE80191216A22D93BF2813EA +18A1A961543D7C58C4F4B263D76AD6C61270F2A77468B3E59BA9D861E5AA6CE1 +B7A9C4C2A13E80C4052283DF3529210B3F6E90C2EFF205866865E7E96F34513B +05A45939728619E02FF1410C0D220F6D615718893E7370A0B91675BCF681B2D9 +56112D9D37ECB819017472DCD38FE4724834869F82985A69E33BF862DB420DEB +AA1CDF83099114501C037873E86E0D33FC954E12D40038FBDC78E7159B738516 +A078AA386D9424B8D4913B7848D8439D2ACAFB7C81C9AB192D77F316D299D11B +24F67141B1E0FDB564B70FE68070BE6BC00F22C11A1291BA6401C722487BFE19 +D7869DA874C9059677DBEF958B7AA06EB924A17B3EFE9014493EA1FA8C4C67B2 +B5DC483ACFAAE88F2DFF9FAAA7825854671ECFD522540C9F6C3817C11D3B63CA +8ECF710EAC4F27506B67B972633D0821BD15F4511F305A5677F2919DEBF7DE88 +4F60E36360A7856B6B6A8A866832534279AF45B4232877F45C92ABDFE0910F7C +F86825A1B6012FF93479BDC9639C01CF2C783356B33127AEC7039D40529EE54A +756D8B7524E069DA60A38AFE592B8B228ABE22B7BC9CD9B23277FBB567B1377C +77E21AE6F55ADF4F8864F4260562F0384165444385D5A8C5966EBF191900B898 +85240634EBE8A5DA382E0EE3583B1B5D102B6EBFAD60AB9C335919EFBAA55A6E +36CE4887299E395EB5766080FC0B6F93B1247F28842FB817084C9C090616AA72 +25F4ED6996D36CD9675009C615BA26BD4904F3130991023E4116A7E6BCB26C10 +7106241DE039BA7F26E137040BAF587AE03A476526F025C70F16EF23474C0EEB +6E27D8562C7C733CF470EA198494A505A8F871E8EBA31D4F0D9F0AEB9D0EF63B +738B582F7BD73DEFD5D83707BBC7854B6FC7FA6E2636F0B68C4858B247F70C4D +F602764B9465975E9AF28C2046EAD743CC350E747D6524B9CD7F325946B9287B +F7D46E4342A71B0409B2BF5FA4D340DD549F6A5B05D2784EC5A248560F4E214B +C5304217B3AF8451C190FE1C312527746E45DE39D8D43CBEED9A19FFE143CA61 +3B65344C26E189D790A0211556C609F107C78F55CA120F3449A697D1305DAD2C +D3EAB88E2CBDC022A4E036E232237C1C16ECFA62D6CF8EA3B6610B58C75EEEE9 +676201206E4A8B8C7CF5EF409F2C0544DAAC926497B1FBCDEA07DF042ED870D3 +9D74709FDB8CD2CAC4726655371EDDAE78A5D9E0811ED4DCE8C23DAE1ED44D06 +F4DF09BD9A00C1DE178E766E05CD3CA64301C592BC01EA4F6D1973586547B170 +A3338C60FA1148DC5F3F7B7DB5EAC870239BD137CC85AD54380379F5C30B0754 +D0A0FD8DDDC7CE725B58F37DE7DF077916C912F2808D0E4CA32808D0439A148E +3B1E18B9C88C8B4DF23FF5C53B2881D7C23D1C239F08137BBD8FEA326E7CD1BC +C80027A40463BD58758F4402D3DCDFED46C2E3C405E1B1E8DD0062E1272AB5C8 +91953946FBB4B9EB0A74D0F7F4FAAD798571EEDBF0CD4C92A6916909297F27B7 +5135990685B849E8244D2EE73D5C7BEF1D3042CA8353210EB4293A2B2F1BCCEA +7FF2AA91F52D343BFBF5E91F2381AE5B6803C46605D471B7BD122153E87D872D +EBF37727370BB683A194C4C4DE13F54AECB116BEB3E0750E10AF272E0C015641 +0F9264A21BA79821B29D8CB78746C314E6893765AB9BB7BB1730D758F687E615 +D2AEED695331E99591AFA000AA540ABD36ACA911E91E20912AB819A80D5183A4 +CB88E08E0E9911612639C05043942AC8EA0072E9CB7154C415C0FB37DFE3F01E +638D5052C87A8359DD979C44B730F06019191C5BED15E6E79FAF312ED8EB0B02 +3E712A0F6C89A6F7C122A561F133FB4D2A98EE09B11ADEA53702C92C210334E6 +8D5F3E1BCC0E81CE178ED749B00FF4089C1AC412DC5F6696C9D8B9D2EB24B35C +3C1F8F63EA348A95622AF76CDD5C4DFE06A8C7534A55FAF937777E864C98062C +CEAA3ECB5E518C75FEAA240910646EF782303BF34FBF8162C8650D5A6F0EADB4 +FAD9AED7994003F74E09A3CFD8900A33160CD1D49AA1C7BB5E42A2B0AB5A9D20 +A5AEE02435D84A2622ED87454A2867E112A9AC72653A7865E2DDB9C236384228 +94DE4A396FA798ED1F370AE5247E0E703D4D4225ACC1EF410631555D7DBC814F +F84353CD407284FBEA1D371CA578165B888D771ABEF7C3ADE33DF899E55FB0C6 +A99A97A474739D07FF17DDBA267EC6C0A6154094D6E7354FEEF9723F23CA6E86 +D8467D66FC5DEA43D700C9712BCDBCB15EDB628F4B840A76D761CC213376A0CF +3F137F399AF2F349C1D7FC9EE28CE88F416F1069D6907C3E917AECDD245A1BBF +4375A03755C145042232F87BD3F097746E41A70FAE7761AB26D1FDBABBFB56FE +D8C80879557D3849CBFC7D25D84D137ADBB5FD4F6FEF8CC9D54824EC85DDF553 +FC992F823952FC7591D08F035BDAFC9317F144C94E828F09E29A02F0D6639DF5 +08D32902957CF0BE88694AA031FA8BCA9E73D48A60FBEF090FEFF955FEF964DA +F53A9B58D2732F986DD20814A1C11963E4FF24011CB93D616CF4A6DEA6ACC5B5 +354626A142D85BFC4F03DBC32F26253B97414C9CFDF3C3EBDD68FE0B7908AF88 +1961CDBB6A94155524361C0B95E42AF0DC1542752B2129938BCD020CA19D64E1 +0EB5DE254B638D700EF4BA620D924D65E95A329AC2657D2CCA597A4FEF7F1347 +05419CFB59A93578682671B9A2910BBAF099C877288C19A4EBEBCB3C64415248 +C00D0295332B6388384F27779F0B0A2D05A9F3BBCB3C1F587EAE05AE4D2C5319 +478E8D848ED75B368FF45ED8B2D572AAE502493D2A3660F8400E1AAF9B27AB35 +99FA7E39E250E91A67101F20FAE8BFC13A07FD2F7FD3A45002C02AD891458739 +10D221602C35139358B1F23E0DDEADDF0AC07B1689EE95DB17A3B6888D9BEB65 +C7A9BA2CD903B2F8348489A57F5A7191D1627A2C76A856C9E178B17A40293F98 +E9CACD819DBAFBD0FFEC6EF5BAA6D8AFF764786470A5B02860DA35A5B3A2BBE7 +45E6E4882CCF3A980B0C35F6C170D7269F7263FBBBF4051A51437A218711AA18 +A408F16E7C9FD7D61AC4E859A91CA4B18D5BC3B0F6EF0287298B75C11FBD9FA4 +1BF203A988C21BC2C550839E432350ECB4471F8553F7B4E42128DCA6B1239DAF +6C9D4A8B8AB7FA8AB013EC3060F02D6DB609F59E0BDE4D05891811A41F7E47EE +7166D88DDCFF5BFE1AB84D873C38009A857DB436100CACD8DEB98548A2FD3770 +B44D6194717757468A9C84238E5B83AD19921E31485ACC168C25DA73D95767E2 +27EDA7FBEC3FA6C8C58DED3649994CC965F81327D8547181CE06A73A6D696552 +6A6EB8009B1C40A46791E8DD0AD66E125F61CA6810BB4B74E266703F9DE0E322 +41D93C72DF010EE7DF3B7AF46CAAA9463E68D5C8B792D3197C4EED52CD16D5E4 +493C1F8944901537C4E6AC73E5D6621CBD177B50CFD7F86E786D6E6EC176F6C1 +3D7E9346C2859A185793A764E960F236A1798FF5E3A740ADDEF422FDA93FE058 +53A9989A0A7252337DDCE50B6A040E49421069081644A51C80D37BF73CB30254 +BC1D8A551F71FFE93F068070448334307A87526A86A3A7D53AEABC3506E78DD1 +849BFF403701D6059D6CC2CCFCBAC8BEBF440B8D3152C63908C6882E56EAAF71 +2984E440F40B5F355DAC74EB02738BCB094E40A55A48A26BA9970D09EF48EDB9 +C0C6BA95EC2A5E98325594AC418DFF541515964C77B8D2C8E953703063F17F36 +D042EFFB97936DA27FC3601DDD601709B71382EC67BB58C8D07254A6BBF7FFF4 +EADB3B735D143E4654A5F06ECF67F0305606CD0619022A5DE90E2E58DD79C8E6 +05F0CC17918DF52A858BC442594669827B3F6435993DDAF84BAB036E6146853B +EE469B081200810521522008CC7E3A396A8EE1FB14C976112B9DE60C281DC528 +69148DBAC1EA4812B8F9C8854B7FC03D43F47C6F522C225B67573891636ABDE2 +3319EA7DCFD8E88682C130E0EF728A401986C50D3DEF377CAEF216A5A0DEB8ED +C0BB83249CF414967A020E5B8B0F4C985C1D242C1D066E165BF330F4D3A0A807 +DA8C72ECC5BE7BD4241CB4AF9E7DBE74C7DAB52EF2E3DC5AC531F8B5061C0CBC +620D7CCAA0E331EB7AB0AF62C71B8B7879B21FDC78BAB3C944BCDCD6A65B67F3 +692DAEF4DEF28B5FC78F9B26E111583C71D31F7D8FF558416B79718F7C53E34C +5057880AB32CF15942D364A4E16C5BF382CC68A690BF42586C7D5DF306BD03A5 +AB4E8AC7F70BCD0AEE3C4CCE6E1793589423B942DBBCFF3CD0CCA2ECFB00F9F0 +98AE65B317C6D0B0C4604B614685B523515EC158884E26A6EE6CFA5EEA25F6D5 +47FD647E044206E1567BD589C6D37033A588A77C2963BBB0094D7548BD0A4FEB +6C2A94DCC5EDA5EE5281207597AEC31B363640D8A3D1AF3BF4DF95EA544F4F78 +48B1397CF782683EE76A15AE0A5B86A60C9E5C077DA4594E9CD62CB3BB1AE0D0 +ADC2B18C7B8C10FEBCB0901B7344D343AC5B13DDDF62E0D2C62329A19C700457 +4F1D3AEF396AC0DE08E400F3DBA346E0D9D8A235F8278E0B7CA284D2D531A139 +484D8E124CE3A67BFB77BFB9FDCE085732E3ABD6AF50450AA98A1CD755B1B15F +D6898D56A1A04CBA8CA9F6EFF55C304AE62A71EA684359261D379C99518D766E +D931DC2594192696E87FE03408E9B2D9063FBD8466562C6DEA47CB3C10123321 +DA0CC671D35D8B57758689C8B9176D49054F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI6 +%!PS-AdobeFont-1.0: CMMI6 003.002 +%%Title: CMMI6 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI6. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI6 known{/CMMI6 findfont dup/UniqueID known{dup +/UniqueID get 5087381 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI6 def +/FontBBox {11 -250 1241 750 }readonly def +/UniqueID 5087381 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI6.) readonly def +/FullName (CMMI6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 99 /c put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFB83E8A2A6085DA11 +61B1632328B94B21D3CBF2E7752D441A2C9A03F6681FDAB37C4B67D5857720F7 +0C4BCEE266586738012A2237A85FCD0425DA7E8E8632543F5BD5D50F9DBAAE69 +9E053AECA6027559DE42F7291EB381D866F1293107553809861D43508C6F2341 +5E4FCC431AF4A9B3660386AE63E877DCF5E513D0D5702B98D58B34897FEE163A +75CD6F5A2196F91CE5060CA5E72F9C5F79D18F242EEE58135BFAB02D5CA430B6 +D1B9A376849751A45E52577B1810C4F0C7F6C8196071D5B08FDB731C5384CCBF +03B460347E0CAC959E4A12620B6C2ED62E06A241D1637F418B5599A7FF3C1390 +7AF66A00F7C31B4EDF249C56C268EC9D546CD0489DA51B734C8292CE7B3D9E30 +71448C85ACC64FA99B2DEA91AA4CBCBBB9DE20833700AF96395DEEDA3FEB7D6E +D6E3BE4A62CBFA18BD0471C14F3A2FD025C88E8166A9830C5B5B94624A3D6482 +D1A1D83805D0EDAC1C79EA858A523D9FA3356DF42BC01886E77F6AA6B04E4E3F +AD107D861FC626F0A439BC3F125D48649E5101BF79C71507FDACACBBB4C4335B +C41A5C15ADF1DF69E1D68C3EB9BE30BDD5385F81D26EC8F2F206C1C7032B9EB7 +0392BBCA23B4693686AF8D2E1ACB2FBEE81D75667CD1DDB906BC5B675660ABA4 +E63429F16623F20B6A040E4942107CCA26CF6C1F52DEED9EC7EB15BE4F18F2E3 +9ABDEEAAEA9AC41E9F20C37C54B33F609F5835AE5A1EC9D674DC50FAFF6D3511 +2198195590F62B3B8A6FC8C3431BB8895A2F910F0361062DE32CDA9A7F41E761 +B09BD8545CAA2D7124B5688B54705AA52E4716E36C0303FEAD38E0510B3CB496 +6C30B115C37E02043D47B4ED796C671E30360800EC13F0F0FF3E0DBF5A642396 +EB0F39A9DAF0974678EA1D041F08BD73867065DA91B044EF2AB15FAA6546031E +189936C1FD302BCFBE55EAF369DBA4895DD0996BF7292762551A86C8A3604E9A +8AD29E38BF6FD40172051EBE7C694249F3378ED0139D37EEA3ADB66F3A80A1D9 +9C3655F054CACE93BA4AD42DC78A03F42455ED1BD5C122F234F21ACEB8FEFF9E +3BFE0DB2DA6D368478299ED63912A234ADB1DCCF1E519AD20772B71F8522B5DB +24E9658BDC1333D76F07F63D81F7A51D12C445ABF698092A24E5E5C36A52206C +0C41F7DCA529BB0A4D146DB6B4B341459FC17FFA357CA5F93DBCF30B61374613 +4846D619423BCAC59B7EB40C14C70ABD985754A0094C98350D01FE9FA371B0F4 +38884690DC7700C49236EF68BD6E806E8937AD8B77648F552C0C907007465A76 +1475BDD3FBE1CF69C706E703226471C249A3448F81C240ADBE4B5474216D0235 +6B0816BB6935A2704E851E20C002F85B653BB0700915B358DDC168ED3FAE3D91 +8280A5CA5C2708D622B03DC47A70E5FFCAD5A7C8D9AD563857BBEF92A3BDB588 +8B5B55CC9B960F20CA4AEB598DA8488004DEDBC9671488011E836D9D8B6251BF +256D08E6F1808E9D498449DF1F18E48B310D561D4DD3146C2BA64D960E66447F +6DA8B07194E3BFAF662C00737BB7222B55A5CC206A1C46F252ACF93D2063BABE +2BAB874C01AEC438D3F86AE37C9D7FCE4077F5B5785E12C1E0B685134CE2E8A2 +2E4DCDDAED2D53D13014E428FAAE22447763D4693E82600F850CA4A49E1ADC5D +C8DFC16E97B9F6164095CF7F31373B591F815621F45DFF77BFBF89EF60C9F50F +0C2FBBA4EA9602E197B9447FAB6AB57B19B1C801DAB66BF7D263F6572B9EEF88 +E06744C1FE197B8EAA71E1EB67716B7CAB30C859A2D1B2DB95ECED02B83FBA32 +E62F97EE4403FADEC936CC8DAA161F7B509B2723BA2B735572A80D7D087E6395 +6A9D34D5963E3C6E37F307C66D1CE551D2F055BFCC7360FBE93ACAFDE2B1A849 +37FD373F62BB23C1A2E3DF61C9452A8C995B03D44D6210A968C6293B4A3BE662 +C7B0B59E6EF6D53FD293B2C290436B0C448E7D15A63533DE321643E53C85EF8B +060C434E46A736EA617EA00D185323460E77B95C49070B035194A2E7693C3B15 +104ED7F56FCADABE49F27F9A576B354C574B5BAFFFC57FE9AF02FBD87B8874A1 +24C53826659BEB1EC50446AC26EF3A95877ED3D81D33A8BC1BF7473FB9C11ABA +0F27B38EEBDF77D3D3EA63AE6022DB0D4F1125DF274B86EF0A4A263E108D6044 +7A885F5E87362293A53F457CBA6C911D23653DA7CE4BB7D4FF4481AB97C0DD81 +C13515F0E3BF8A7E8DE2CE69B25BA9C185D9BF31A65DD290B0D4FDF40B61E2D9 +AF92BC6468B3F5AB5D5B88710C489ACC69198D697055B39AB3DE8B3733825C5E +6E763E2698574381A01352A7042A36EA96D17DD2EEEAFF04ABF7BF7D877B0FC7 +B6BA51BA994D431F472B6EC4B4C327399576470A1773BCBAC61CDBF0F95DA6A5 +0BE5239B7E9CD39E1E4D27EF6695D1FB56D4CA2C2370509547D6D01273CBE6E0 +66A696C35D2D0282CB8C85D7B1C51453A0AD0BC80E1D183D11AA78879643D9D9 +A3D0B2BD8EE3EDF29483CC5871426232A20CB058EEBDAAED85378B163425C270 +B0F7BB46B7D1B89CF84E6A06791195FB17F11F34A2548FE424DE10E376B39A2F +DD9B0BA2F2FDF3ED4AACBD0D60E67C0749D6DCBDE6E79041398DF3FC8D9B6CFC +693B870683CC425C52705902DFD324E157C9829F25B14A057AA92AFA17F156FB +0BA949698EAA0657B03D9538288D887959EF24A427EE7EDE47F304A1A6A715FA +2966273831B5B3A9C11021C153E67A73FA606FE3233C3DB217404C6AED6A4C59 +DD4C2A98B31AF5604D8DE8354448B4CEC66022E756B0056CD32E9B002ADC712C +0545C2C16D9457E271D98A4ED7DDE01BBD1856F5C3DA28794D2C7951FE2FE6D9 +18643CEEC41CA4A3464D3D3A102653CD6EAADA59CDD44918523B8811C2ECCABA +AC0D188F5E07B37AFD56006B10B32EDD179F4DA693EEBF4DF5425D996585F21C +8780A4D23D24FB0618C12DE65CAD42A0138E28A100257978EDCAD168C55C6F07 +78A067F0299890356C2A184820A554FB07448395ECE36C45211757552E288ED3 +7DFE46CB92EB2070442AFC85864A45000C4854D728096AD3D4C552EFC26DB6B9 +C340358451B50AF9F1B35C2E32D495DE85B5848D78940270DEFC07A14D960730 +878B5B55916FB40FD805116C9C2AC8C6D4645DA67A978F1C6FE705EC188DBF7B +FE7AD6769F2EEC4A9B05306D5BCD6EC3A240D6A29ED07D1D82E697DC8CC391AA +015DB6BCD1DA5C9A5A7BE3C5936681215E859E9837027D108A54F42AB24E38C2 +4A7D8CF3264AE049D4B1AF48BBC564BCC88AF19D37DD81CCC431D0C554DF29A6 +94ABDF8126EE4FE1DFB78559B9BF36FAFEC9791049C865694F9E2FFB7A308FEB +EF0195FAA6BFE7A081B65C5125623903828372F117EE17E588B2FA26DC9AE37D +9A6F0043C019624D3D87AFDB4B90C46AEA78919CEF5D7ACEE316F30EA0229742 +55E02E0E2533CAD78CE9BD6E0260A695D776ABA229D89CF9BEA92CE0397821A8 +830A557021B3B90CE0B07A4B34C24337FA3FA4A3728B6E013BA01071CA7FA667 +6FFB4BA3A28B5D5614ACD4E80E00938C2589CC6CF885A260AF7589240BF8987B +20A19FDAC73FAEEDD93EBCB3D46F735214164AFAF1A7828FE96E2BF7CE1EA46E +FC1FC4527A0ADF2B81CA51E3D96F3E786511AF00FDDD9764CD3178362CF9DEE5 +F05D100EC21A301F40FEFC3EF05AFEC140A9466AE68FCFD6CAC1A143BAF2B7BF +D0DF808F0CF87FE2399CD9D2DD424227CA7D4073ED002CD555FBE8057A797B60 +313D18ECDD779FA7289D4E7BF82D95A7535CE3F0F4164AF239AC666653736654 +C13E436B526EC5A1DC97E1D85C4EB563C7061AE1E81F0B38BC45B17C15FDB0DA +E5F6332721A925D4DD5A97BFF3E3F11D4F4F43BAE4E73A294D314527397F03CE +AFD12DDF9D07DAD8D6C8EFAFC2F52E20FBF62026810C0C31A1EF71FBD612654D +C68B7A24112F0ABDD20EFF3DADBE447AF9CE568F873ACE72B63283CB26B89BED +4B3315F26084453B1EB0877065A76E7B704B27F93DBEB365574A78E92FDB4B82 +D6ED91A1728F571FC9CAB636A6E81D0C1C4F5E3F6F4574B6EED48BB61EFDDC80 +1831E2AB9327B37881F0CA5D5265575F210BF4BCD8653B4193F74E3FF65028F9 +2968B8127C68CA2919DDF529EC882EE99901146CA629A07B4DC59E7868DBE083 +6E546C5769655EF6628FE2EA78AC891D130108192053D5056A7BD06C09592AF9 +6310B3586A2609DB94CB0079550358F5547B9FBB2B77917A327EFE3F972C7263 +54076627B4DD74638C3105FB25DA246484799D5326EE80503F18672B893289CB +1FFF8D3F662FB33E93025D86803551A8A1DE363D1534BFA3EF968871B19FB189 +DAD841C177E2AC98B6B69A78048221C5EBBBB86511939D3A9963B3BF021185AB +0B26CA7D0A779DC2F7693C7E48286BD60EE46615E31B93FB0E6992AE20C792A4 +72AD6FFAD6682D0F606807D7AE63A6280B5967FAB889DCDF0F76347CE302FAED +A59E1B1AB785D9D0ED695A0D05DD3DF0EF0B275AFCF9EC7031E1357E99A3DB85 +B4D137567875F7580E2BEC96B08C97ECB40876000B610E0BFE81E7884C9BBAE6 +6BE9C2C612475396BC10EC7FFBD1118A7971FE1971DFD0CB677ECA65DD837B5E +C7D36FE9F20A15A941F1E77C11093C902DF5B7639580B9C0E4AAD13518E1901C +1162FA095F301848770C6C618E371A0AC3463D0D94221EFCC0884B21300194B5 +97E03BCD5C4878CEBF352EDD1D2173B56C9B6A08BF3F33419DF226E1633CC5CA +A88A57AA85E21657569916E9B4B79E51B5535A57B2D6FA3EED1D0AA32DC0165B +12F8F5A681040B456D8DF175AD6053A2954F327F4EB4CD453A056FB1701242C2 +59755058640C62632C764E002CE928E6B908BB137C28630A3CDBC7C34CF2B643 +FFAFF20E345A86F31756C78A8EE2B9B1C5DAB2C863B29A44190770FD90BC6AED +0C25942BBD6A370C21650947B49AC8EB6825BE65DEFAFDDA32007754DFE0273F +B995B8986E505F95E58A3F8873545DDA6F3FFAADE992F3FF7B2DAB76D663280E +CF2BA18BC8871A7C361AA3600B192948CB918FEB0F2900AF2BCF169576828325 +449CBF0C7AEDC299FCBB061F491469B9ED1D56771A03F9F202550E17FDB15B51 +4772B2F06E6AABA4027D13E8730999532DB2475630D2F8EB98242E36F5B45A94 +2D8083014B63A806BB9A01906143482C614B5CFBE8C5354A3F2438B2160F6DC0 +81AFCEB201EC67F66DC5808C907A3C6CB664F444D24095D9A11D4978A7B57037 +87C67552FD59F5713D0FE03462F9A1A323BB3EFF0AAD61B1792CB109CA9AE4D4 +D7F7FBD3FB91258DCFFB4634669FA13E03C0AF699165311CBF37D24378022787 +87D1320ECF878F859149B2F994E700A32CB7253297AC58753E4583A08A1F83D5 +CBFF10F2D26D71CDB20E1C69A666E9C4D23BB0E6BF1097FBBB204EB736E61FF0 +C3FDE1986938F8099694B9F998B3C735770FF21F73B1A6B750498BFD21184F11 +5E6AF0F1FBB08EAD436C4AADE1E6B815F5E58988C113B4B2335A340798BFB201 +40586D0BCD6AF5A08CE9AA042910197F47D98CBB4411A6D435A46F46B3964F85 +032D7F8D880732276A8FD24DA772F642F06C9F3EB4C9090AE4A3AAE67D8768A1 +7B2A57E15B7FC626450372F40E3EE28D8D997CCC8CC89C644461D1110740407E +F6D884A0503E05AF830994AD0CEEA924D935749F6EE9F2DD65A58ECD59229918 +A303C90E19E9C411FAF24AD5E9B786178F8182692CDD508A4755123B4A594AF1 +A8E7287456C1CE2CA485CF4CF9DEE5238AA7328DA204816F98B7EF49EDB30875 +3CF8C48E0465BFFA8F2A1CFB6A8F165B63CC80F54C669D02BFD9A0EA0FDE2B40 +D69F0101AE4D2C10185AB10953019FE7D373BF40C2F6D4E36693F118866D1267 +12BA7987ED4313E8635DA02A4FC1F7815105F8EDFE8004A8801CC1AFA8D123FD +1768A6C39E838BD489C6BEFFD3BDF650DF48D5F8D99DD5A2E8AD235F2CAE8BC9 +C13AE9B214CF3FBFAC7BDFA54CB6E675273330608BD35600775FFB2A96FF648E +DF55A78B43CF54CABC0DA8D574CC5C5C62E9D658EC62035EA5028767749E48D5 +658212BD39C7E76ED0C6F3E0A1D138A0DB8BE574987AF1E43070F1F12C560009 +F48993FAC935EB56A5793BA13C28293601D268B4880F9BC33D553FF3B6A7900D +37900BD3B4B558C84BBAB09B4BC2B14D32E49596DA090E586E28D560903B9744 +7D014EF2A6AC4F711A025DBBC841F1C1C93BA1F8327DFE33C803A0993050D590 +C7AE262261DB7D04B9DD91F89927161A69E14BB2A48D29578410E312A4793101 +B6CD65B298988AB798F45B76E1F58BE24DB207C7E07014E17525B436D41FDB28 +D1072CBEB526E17C72DDA00ECDD06394940DEE8BD02CD3C81BFD12BE0568A459 +0F53010A0655942C932905FEE87183CE357887E2ED286DC1E89F2F401CDDDFA9 +B418F218D4115043892882C09F2E3749D4671E75AB1AD01C78F59FE3F54276D2 +A91512C21C68180CCC0E147E834002D7799FF393842CE88BEA714672E1952C9F +7CEF2FD0115B0E292079909A7775769341A7888CE6063537ACFF225B4F396972 +41BF46C599D278906F3BCFF81DF941BF5888DE8A53CB0A2D71610CDCDCC1760A +7844F89FCBB892AEA853CF5D967648995559EFE852C95D2EFDA2CF063500F88D +2C83B615618831267BD8F5438DC53C6433CE7347E9C55E103B450EBED6229219 +20E979C00B0B9D86345FC3A8EA2B049B7E148A7AA1C859AFE93381DA74CA578F +8FAAB28175D5B57F6A74F9869B2F530009E953913C6925D0045CB2E817A17742 +3C5B7574E9BF3BA7B769C161C2496EA2D346B4E19E434120FE92A0ED3F4A9ACC +A8BFE55F04D17DF035D01FC0B06182D8C27B6D32F36551B9AA56D61FB6A34254 +D0DF918C6716D8D05B973C8BAD5AD52C06EF3C6503D4E0F7F791511C79AE74E4 +4B707612149D583C5D96E534CB45F1E7CA5B23642B1BDBC881FD8E4F66CCEE96 +7CC0509B5CFB0B3596682A81E682DAF6AE58F605FD7A1F414F62572298AD8491 +B76D0A23B4AC731FB8E7682F506B5CC02F7029827FFD866EF4DBF56E07E7743A +D42CE65B38EBDEA193CE5B172E87DC88452C3DE192E363EB9DBEC4EC65F53002 +BE9E94180F73B53CE1E8EE9333DC86DF5FB2561FA1F9B2511962CBEFACA739CC +38A286651CEFBF451FF6568CFFBA8AA68555181147C1CDBA18C4F5C77BA8548D +2B1BA37E05EAF7F69879C3ECBD02783028CB1A8649842EB71023F89CEB36CEEF +A9B04E9ECB0577536B88ECE7C1D81B0D6D5A478F8E92DF83D194759437088D7B +E93C6AFD0CC6D568E60E2F1265A6613F97A6C4068C8EEBA70F6CC4E88A80F65D +EA7B498395390A74BA57221B86611D3EE5DC4632F139CA8A15E5B9D2DC97088D +7CC65197CD93F4803BE4246394F40EDC2CB4904BC273C597F13C8DC680245A3F +F1AF2D7BCE5D69E9CFC81E5E9F46927C5F55C719AFDB2CB1AF2E4D55B0E3ACA8 +6BBBCF253CCFF8F02B8542F296CED0EB8A06A88549DC959E22C3D6C48F310452 +22B32C44B046A61A4F7F8AED613DCD3C464DB2280D56E517CFD16DC32C83EACC +D3E936D2F3A883B265444D818393E30EE3AA59E6FA73DDC421F5A0FC8442F89D +CCE98189ECADC080F1973E14012C2B87F6A8289D7E1B8958E2220FA1C68EF82D +01A2B3516F320EE84950A6A54963ECD6F606EB5693F6A0BC74CE2B5AEF26AFE6 +7BF5D5357C3D53CFF50F60599F2165B6E742A331B47F46D977FC721867EC9CE3 +7E9BFA2149C9E3A47AF0D0EDBF29C1E6D92BFBBEB52F816EFDBA9CFF83AC072C +5FD264F8F24CD5A1C0F68399FF4B29FD77C4A54D8296523413DCE938ABBAEACF +072AE89B1CAE513DF9810B85613549445F8E854424603C5A41EDBB163CB453EB +25FA6960DDB47A5B787783CFA90832EB0661A95033F68516AA39839AB81BD3CF +ED34DA97E51C3DBB84E971A9D7BFD2CDAC7759837FAC26728EC548015914FAFF +39A291D659F6101A9EDF0E0DEB10280B2B06F840C0D54006AE195EE14C6F0B17 +1BAD8F53BF5A183D8310BE19F4F3CF226E6411E8950CFBDB634DF944A13D2F27 +0BFA39457329E027DE6D955A67DFE6C27475FEC1A8183B4D8F8D7842A8A32633 +69A1C3D8FCA727506210863DA946D4B858534458482F341E8FB09FC1050A2AC6 +11355396D482D8730A4DD2F0CE502F313DB07FA43BB034F214F309A414975852 +9127C182FE +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMIB8 +%!PS-AdobeFont-1.0: CMMIB8 003.002 +%%Title: CMMIB8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMIB8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMIB8 known{/CMMIB8 findfont dup/UniqueID known{dup +/UniqueID get 5087390 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMIB8 def +/FontBBox {-15 -250 1281 750 }readonly def +/UniqueID 5087390 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMIB8.) readonly def +/FullName (CMMIB8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +dup 100 /d put +dup 102 /f put +dup 104 /h put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 115 /s put +dup 116 /t put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943569C4269DEDF1D3B06E73B0 +B74894306131514B208B9A57FCCD3847667CC9CC9C7829C1C829CB834536BDCB +127EA457B62FF74FD7CA15E41ED4623531A42365FB88DD1891D5A993EDB11279 +71A814F42F948097461627AD9AAF6434D5C17645588F0DCB18B55E207687845D +8DC36AF2073D77A8A8EB05D607DBA9E0526827ACE118E9409848972432A83B79 +E41FC776FA2B2DF7ECE03DEC18AB9D27591ED8ED135843AD9D624637C3C532EE +BEF0F248479252570C09098095DEAEEE53F3EE8CC9DFE3A30C5794828B4BFF23 +5CAF5742069F7FF36BF744721C0E57592F04E8D8BF02465A83EAD65BBEE10FDA +306FFAB93E3DF71662E4277641DCFF1B7E6727F143BCE4CB818E2B9EA8FB484F +C47A02BE1B94713ABF4BB4C5BF8E4B88F2D9774199C1067326D84C506A49F947 +1220DACB94C3D3959259B03024EBC5337F2AF3EFADDB7BA16C1B4DA2F438A6AA +CDF7C322483C8C1A95163D97A8F627729A130F9E04E026250EA77642344B8560 +599271E6C891DC0B32BB1ED5FFFC7C03611A7C0F3B42B2AE80E7C1BCBDBCD548 +ACCE78E06C7D57DA082BD3E4561103B9322C2657499D3B3665938B6433F19B70 +BD6EAFB79EDA9F7C733CBD352BC15B06C85BFB4A96994291C72A0EAE84FB010F +1B0E9652ED4449553DDC6CD84B58648D003908790EF4815D54359A4765E47832 +77B00E8B7F4F9193B14FDC6C9AAF77ECAEBD1BEEA012AD706C5EAF4DDEE1FC89 +D548DE6B2FBF432CC86DE12947EA454C3D6CABDA58E8554B43EFF68D534DE9B4 +5ED9CAA7B58684DF5EC37E177F8DE0E71A06707B45A742475C9C6A6DC74B3440 +FF721196F0AD340668F00D659A5A9962779B6925F5E792D2C8A00F00D009F45B +73B418B7A03B27EF7ABD5F0DBF2A9D1953278995AD8BA7B8E791EA99B2090A92 +8583B54760483FB9F72F513B878165CF003EF2298E78CAC9952BD186374DFBAD +237A6080073B411FA8E72A107DA08F96A39866D27B7FAC0F538AD22035DDF492 +65B094B5CC653EED5A1D648F1E934409A9578FA25624FDBFDCBA8321F9C93D64 +2EC4A164A10EAF9B78E1A61FA4AA0DCB6FA82D683B031E7B70C65DF8A3F6702A +6273A12E86D78CA1BCEF565E76E6A37BEF1041E2623F43D0D431B7DA661B9218 +75CBEECA8DAF7381965497930EE7F6ECD865E8254E3682604B95360BE55D8C09 +87F6C0135869FBCCB77C4A48D4085675E5D5A639D17FE3A9D5FF285571E0C14B +BA3EFB8FBCD0285E6CA408671BF068E1B9F1C040926407EF7B57E76C8E946D19 +3A4CC08C18064A68B48B4B5375F034CEDD6975EB2E8407FAAE7071BF646AC58A +C3BB7B2424C609567B3CD4F2E0BAD042E501A0D3EB53D7F782EE8AE67738CC53 +790C5B35ADA202B937DA03ECC0CB86F2393B7E88FF7B76935CEF77D306C69F46 +E8BCB28F3F97B511B5E602EB3ABE324C1DB9C9B99AF93F1E089F699DD51E2F22 +93FCB2F4F3DAB763101E4C37E7E5B56EF3D4DC10C45191A53CAF2E61DBF03294 +75C707CE9587E609C891E82D224C7B1B0ACB90B5EDCA6E2C1310B09F39F61739 +C620DDA0630504134E024B6503530987BB1B88E0644483DD257344B36FB0E0A1 +25BBE8427F6AF5180F9F40772459C58F15FA8BD5FDBB7676602FD7C7FC515CDA +605A719EC3ACB078EC381B7801160A9B48A7EA4D25398E1638EC83B7EA2708D5 +1163C0E760828570E8DF66747DA6C75B2C1501FB96769CF0CAC50861EBFD4DB2 +04D92561A961F44D7B0D1001FA798A078D2F969F890D3008481743FD2136AC38 +9EDAE09DA49A8280CDC41C649FE7A3EB286ECFE1AC9E275837D4DABF0DC21581 +7CF8D7FB46C40EEC02DB638A80F62BBF1AA7A186AB08E5BA31CBDC83EDCB0560 +D0ED86C574C1587A21EDF20E1E92A2D4E93C11E1DEC8006F180A087810B30289 +A76E82BA559B7D71C2BB3980D291833CADA7F1E138C65860AF9A5B042947BCA0 +5473B1120D61E6671B1B02575BC171F175B6079B23689DBC858BE49A3A30A594 +B743CEF0036CB3783738F604DBDC01CACA81184F76DF99E14D1E4A307230612D +0C8914291FF2AE1002956B78FB863CF0131AE36EF045305207B19BC55CAB18F3 +3D21E6327E23F624B29D4C503AAA8F8491C5E19910A0DDA24A31DB8B24A7DAAB +C3428DD8BDE111031906AA5F9C0F2507851FC446C30A8CBAC46357228E3D9747 +7B999DFDC48C3A8BA5680138CD473B52E8F21BF9882E2C80CB13CC9EA275B65B +337A5A51F693C99254F68D5347C6212E97C9A221B652036501F0D65ACE46917A +8B3DF0B3E4C29D5BE4F2B45F8061BEF3F59E70D62C64434B3B978C6EAB14DEB2 +D13F363969A32190F8D7D2C23A803237161D116158C3D4382B220CF1C05D14D4 +611AF4DD10A5DC52E3D04E0E5ABA1D4E43304DDB4C4007E1AC26A3CDAC24ACCC +013000670B408749FC2200DE3A67BA0718F70DF3BF2DD40762A432B0ED3845D2 +FC49F9FD3F72D17F41A113A416FC3270B3750F4E57FA84599C36CEAD36F5A57A +31865B91C13DC02F8DF136558E0300A4083EECFCD3502BC2270149017421B0F8 +880CC181307387AD89653FD1A54D903F3708C7ACB08F489DFEEEE9D88B37FF40 +CECA4DB6C95FEB527055DA34BA3B982E36DD02AE06D7B84AC06323DB5E034CC3 +C8BA5B16479CDA9983649F3F15FE61AA8ACCF3EC8F4C8B4C18E48C81AEC35542 +1E66E2CE5C356A1F9BE9B96331BE68AAD82A04AD992CAA0D9FB182FD94795B7A +CD9FF0B64C417E6023AE98FA906F79EA80EECA91C2BA7B42C641402632CAA5B0 +B6B3B3C4DE6FEF981F7B74D868D89ECB62FEBCB569C011E6E02A39F7AD592370 +ED17F1C84F36F3C73068D908D8B0BA66867D3207FA535628C0A57025226839CC +18726127480A015C66DAA2AD2F3E4FCB095EE507C343186C51A9EC4ECFA72D27 +815022CD526B7995DBA79A69368A52F3903A41C3BC65A9CFB7A90FB41E943B5C +802849F983C139E4D3A95736F8174017D5A65A52DDAE40673CE6F836DD45C355 +4E616A23592FE744A99660D62A4321F4F052118FEEA55336CA6882E06452BADA +0A649F3A32A1DCC20E6949D0561CB06DA7973C99A6AA3A3FDB12CA1658122644 +7B3507153A9F43826C711F4776E98C921CCDA5E2FC2EC839204AFBF82DFBD889 +3A81E31349FD656B00B84FE683738F72951DC232AAFE9DF250C5719D8B410E79 +A002233A0D73A0F44A0533374A79410C080999B66264536087D4C7CC8F608AD7 +AF9D73CEC46EBB622629D23CB9322B118A06CA79B08A0D16A64705F08615DBF5 +9FB4D897047EAD2A6F0EB4800B46460D68B3D5859AFFDCB7DC85B962E01D1A66 +3217CE2A7786AA648BFAD8C4F96BCEB18E93D260B1BA2C81D953BDEAA375A7AE +6D9E72FE4E7FE23E3AE1D856A7F401F3624D3D45FD5C70443F4F14AD781DF7CB +50054E4C7CD24C6D3007BDFB4B1F89790379F3965F9DF850FA7BA2FB0CB9B82A +B72E4CF839DB53E405B828D06B313FFF0D42CDF9B38156FDD4813B4E300C4FA9 +C2783C58809189D6B6D805F41F2AC4AC457B26CB660A80BBB860833973E1F89E +15328266B8BEEF76D3261BF9DDDDE4972F7EDAF790110DB0916A61E2A0A6703C +CAED2074228C2C0D9706A52721365717AB217498C97C6891A20214F3310EBE50 +95CD368DCBD293A0DE4AC7098998A8EBEEA0F39278C4890DCE6BBC8404DF942E +61C149FCDBFD2BAF3420DC0D67B3FCDD524AD5059D67D587B7E0651C85663C35 +676E91F6776C4618FB4E03F657D04E622609D15ABD7C3DB7F0E28183E2B29560 +81D11729CFE1F531CA766B6B1B1660B3C2C4EBC5FBC4E4A811780D2C2058DFEA +083A531EBF85FFBDA2F806D2FE0A5BB73A96A61C28FD3175781DF6BF415E0368 +E02A3E3190ADA61D5AB22FE38A205BC2453967C2729F4D591D8B7FF38721ED0B +6CF0D6E716023021966F638841D707709D7C414DBDD6758803AB48E228F48958 +31167E7E98B8DE364A5F0BB9E1ADE11B217CD0B23798DEA834159434C9F90E94 +1FA726B1CA82013BFE580716D4B2889A55B31C663093FF628C264D19352DCC1D +A9D61728BCAFA46F34E7AE98240FB8AE4FE50A85A8018299D2476B63F2BBFF96 +42E3151C0FAB2E2D4DBCCA06BE751756CF92501C08297E046FB275AA470CB0EA +DC3F14EEA4C3146815E3AB62180579A86039208870AD36D1AB7E5F00FDDA4C78 +31EAE802ACFAD1224934C2889B928331ACC83DE5F8D1AF90239A14D65067C3B3 +F5463A2B7C7FB36112B6A67BC9CC6E3A6B4008B62B748E05CBF80365E5610A86 +5A55F30027A44FA4AB0BDF6316FB26FA74806F6C88F2971B24F23B7F1B08181D +00F7414F3AE5D53E070AC075E83C5B2BC47458524B6D09267AD331F2F0B88F34 +5EF3E7946FB7ECE31901BEAE5D66F8A87C214918005748D40FDEB3901CFF1844 +E2A3D8383312E949AE9EE53A945A9332BEF3E3838AE44FE9584EBE2A97330450 +40A83031149ED4A6B0BAAE73F787FE528C79D5F6E2A5BE14A4F3F8AC8599F744 +02E9E5F7F0DDBBFEEFF8E5557A3D1E68D80DCDAA4F144CA5D2237B28372278E3 +F836EA467A4AA76923A0D76DE1B223F1967A3E7E8DAC815BEAAFF9845F55D810 +0A02AE72BD311FA95C495D89D1EB54CC4FB9ABD040305943D99B47EDC51B3CDB +F16238E1A8EE0BE48EFE6DFD78A42020E99EBA84ED513DDA3A358434416846B4 +E8A8FD41E5E566AD9A90EFB70F60DBB9546B08C58FE19375B47CE34B35ED7B21 +E6ECC0B7FF69E08E46FABCDDB89EAD93C32F295F23C70F148BDE2F4F21C8265E +69ACE2233394041DDD2121D1C64FF265A17297507222CBC126B24F267DEFD5CD +C4FA06543AE1D6FB7606879CF456F0CE8DC4DD1E82AFEA23A3A2707C2E40B957 +A216D70ACABFFB720B4E8FE60CCCF0668F848A1BA4BB7E3285D7E44B674077A9 +5C1DDEB8B2BC6B87C7ECF7C05C3A788D5C2AEC12B1ACF2108250A852706E6C37 +2F20118BD9F2A4AA4FCE05C0758D83A64148615FC74363DBE1C7171759740FE6 +2858AD8E317672CAC5DFC8B1F73C7E844FBD02A7D96D1739EECF516C35AA2974 +59D3D21433EF480D5BEBCEB67E3DA559CC879637009A7E2E4B0D3949D016E886 +7D62B0B89837E8644B9AB583A904FCC650BD004B34A3B6612466E758E1A84390 +8DE39E2F3BACB7DDF6294E38B496D452EF135C673CED98A26578D4A99A7AAC04 +CEFF2378F28140F09DCDF48A3BF036946FFBEB8DCFBC1238177B4EA230D46211 +B5A40003D0DA8B7CF61C1BA320387A20C1ED4B2B4CF1015CBE1F0060D7A49585 +02843D85A095222DCD136F6BC76B2B20CC1DB6CA235A165EADB6E259F62EA679 +27AAF35BAB17F64BEB72E9F514803D6F0C4465453F84EB988056C2D76217ABF4 +8289046E47BD3ADD5A8DD0BC96FA8E4D082441DBDAF260367131F841ACE328E3 +E148093AC2818E28E8140AC365C51AFE1E379421977241DC7F0BA4F2CB8EA090 +1D5A4B6A59415BCFF558352DD6DAED220668121CE072DE7F53D259CB7C46C2C6 +A066BC5B3B26A53EDDFBAF827697DF4A27BA4BA7933B17402B181D4DE7B4391E +211B0B5CD9D567B532786CC57E30B0D6678E9D1758EF2F3D48A6D286AC81E1C2 +F878473754151F9265195E74D6902E54A378A035ED420FC0F4937315B5F505EA +F7EE81FA75FEC271B26ADD63456D8E23166847F6FDBFCB37584CC82D743DC96D +CB41BCDE34E9778800F3B73C05DD78BC161C3C67EFC92870693A359F604D0E08 +63AB0DF6167DAD9B93EE342A8D28A416A5912B3533264C0FD2831AB20EB5F7E1 +B4043B2A7B117AD76128EDC5E8757C97970C451B056CEBDAA76EE658EA96B586 +3827F008BE6BA64B8846D0E8925572CB779CD4CC6AB71130A907BE9E569DE4C7 +D4B0A93117EEF7B95424C66F2178054C4243BF25CD00A0004024B2B51CDFDF5F +E5762406005B28DD0E9E917EB98EA8EBC6F57A81830171DF1567D6ADB2F86AF1 +5A996B361E1D8682AAFE89BFB28D450773AF4A60EA7554CB591ED286ED36DEF5 +A58CAF23FDDFF453C22F1E9CDF62B99ACEB78BE6F1E6A0F2FFB11D7E886E3008 +62D9C8068A62825648D2C53C60340BD87350E50202323620C52391811DD11715 +0985260584CB5C9ECAD0BE3DEB26817E13244B5F4D3A75F70ED783566DEA521F +F430084E7F5F9E9AAB1C0BEB93B5020195B7E813CCCE407ADD04AB4CC22FB654 +5828265AC115266A5BF852009601F8CC4578AFB0A1959BD88284C0876D2E84CB +C26F8484A67A82F9AE92B9111C374CA629152B6389C479297CCB9AB018D8FC7A +E187157B992B5F9B62C4DD3C7ABE9D68E376033C576EB1D78F25A661E01354D8 +6A418F388611FFDF2E22EB3A32B8BA1405CA598050CB5D396241431A8517B2C6 +D71FCF202B44921A714529D848772DD13C47F344791196E6D8CA5E9D78A04242 +5E80155347B8A7E02A84EE58FA0A278E30C68DDF02953E979F6E465600AB051D +8F853D6C46D214FA9EA8134EFA14BAD3FE0D935A635A29E49AB0ECE0976D605F +A8D26023FB49DFD48DC252C1CC43757E41FFA0FE6D2B50FE90618616C982CA3A +D77F5C94C5AED1C25E12512E05E600E42B085762F39AF54C430216FFC7DD23BA +64EEE4F52568DAC7866FE5E37AEE0C1A02C8BCDF9D8B3DC447365F260BF65013 +34BD206724FC2E4231A884A6F6A6D9D46181C6DACCA050B4D30503BD10BB7BCC +80CC819FD0B578EE51B37F95F5423B97F3F5163A6DDADC6AC3ADF629A48011AE +A142EED2DDD1EE396AEE0AD4DC83EC5DAE3E0F3453C38483F2EF7874724F265E +C1114B7E49B5705EA923EC1A045484C361B91C320F7790083D9525D4F139A1A8 +8BA0A3474783CCEF9A4B65EE649580918951AC0C438C2B0413761A253A43579B +0B4E810991B89E49AAA2BF3ECA1B632A05E106294E945229EDA1F984E4B34DBD +CA13D716BCF0EBC7839D9C209745ABF5DD04A0DE7FBBD0DA10F74CB1B290A054 +5E462284433E6FAB623D976427C198F43AE7A3EAA0AEFC1C2E3BF19C22AE415D +E00D3C32FEA8406DFC96D818C0EB22D20F43823C6BE2C359AF0B3E8A19BD48D3 +E28008BE6ABFA1E8EB7C78CC83911F0135D83A8EDC5FB27DC47BED3A81B7CE80 +FDBD1B9341857BF53B043200A74EB033EEA2AB0217A4B0D2FDCFE5F90B7DE689 +ABAFB2D47CD3EF42192855C59B2E358EA7C829BA6F25F1A235B7D33F1695A5AE +FA97111522880FFF0CF6DC99D57C9C0FC4C7CCCC240182B12388AC75794524E5 +7D5DC783B05A3A50C7650D899E91770834ED76E582468E299D3B7008C8F80FEA +A4F0F4F3456C52BB92BA805364E7DB9D530D784A2F24964F8E9AE72535D2DA4D +789E3666DCE32E0E5FD84753361FF5D15709DDFDF7B173F87B3E272D4C8E5384 +69FCF7FBF8C4ED2CFE62101E0BCC65C561B74DA005AC37BE76BDA64FD8B0AE05 +3BB5BAC685C96D5D38E8D03B3074AD2C8DB917F4C5891E514D4F32106CBA9E6D +AD5F4E71500B93BDA117CE8E25FF91531A7CB9B678C65989DCAF09462006E40F +076939CA5703136C3B267CFD13E4207F970C68AD15C9CD0685484B85C1F204B6 +509D528405326D92D67F66D9FBDA01BA4EAE81E70AE1626F45A4D1681D45410B +FBD05083AD901F6C724A435B996173A8B83A65AA522E7EF3FCE1F6FA451BAC01 +D7726ECB9315F67B19F9F1C64AE9850B3680A200EFA84D8A8CB84C429B0281AF +D54AE529CED2B82315CFED4FE0AD11DC28BA9B79BB8CD267FB65EE43CC1365C2 +107A7122C89F95074EC63B9A1D56DABD05379F236290266F0C60508C8B527018 +DD43E91706ADA1B5B77790311EEA45FDDA27325869C782CC78F0513D688EE90D +2A2F6D1D84DCF02A69B1C84D5160CD3220566233F651CA081946E2EED037B99A +4A6092ADAC95F96B0CCB1638A601AE666A2EC934C582CC07AECA3795B950F8B9 +3E0CCE9EB311CE885E513EB36E71ACC06D6582163800FC39062CB3F73CEEA5F8 +16ED6B061E2F09A4425C81342A6423A92837CAFEF1A88599F2584E687C47E484 +C0015B5267EBEB0CD8DB51980E9915A2E59321B0E4F7F3C15296DDB13A3D469C +3D7E691018E23F4DEA37FB5666E3482A13D18F9E55578A7211F5D491F1125630 +49E0329F4CA4478FD49286244168BE3A66953A61B587FF4A398B8D38A4971FC5 +9DBC6090E20906156355622D335EA5EEBEDF8A735D94B10D60918F487B722903 +E55844F3A47AED3AF9684EB6E76DBEF52E69BDB11F6D703C9DF5A31BA83CBC87 +17F6B57F5BDC310F8EB3E969C83645AA3D3109F02990449467A8F528501D9506 +77F3C61B2005770EA1EB58822AA2F2C52E15EC20052DAB57DCB8C9A0133C47BA +595FBB3A5D59058AA96CA5F302AC3CC5E2297A5D0356A7993EB2B6CD706BC111 +B1B83684EEEBADA204D8A2BD4118486448B2EB1A941CCDFF5D3683F66EFB41DE +BDF8D0BA85698E75F9AC40E21E58C8015D481790860BC662CCF5D36EE9BD8D16 +A316974E3C42CB3C9CCA48CE6963A3A18C79E9BDB731E47291EF3EFC9954E2EA +C4C6B2205D78B3575BF6BAB422952ACDE6C6951AC4382CC25F7345E5ED88AF2A +69D23A9E10EF5B93B48F3E6744F0EA27A104E4F2B0ADBEFC44ECF6E08A0FA05E +D388527EE4B7681DE258A36FD301377A5C47C1C62E9EE2D45C0BFC1C006D5427 +07E0F32A0234AFD89EC0A84392C45AA7652450F11F76893752089F8CB0937F0D +D9E8EF221632D46E0A0AB355A9A9826D7D263C0CFFC6FB13E43D8983CFE212EE +D32231F206F692AF97391E033258A874C392873F97B15101CCF1FCBE896C8496 +F025E6D440F3C616C07685A7F7CA528A290D7552D858547370922ABD356BCC90 +98C3035752AD4F7BCD2AE6061F00DEC22AB23258E1C1F0B4A91B878011DFA4EB +7A6B51731FB0B71D3134095042390C1C5E24B8A583758F4B543CA53985C7C199 +C8C72C4B7FE808B5332515C600D254B65228B3D13F726737CDA8234B90896498 +1E431F3BB1F078BBB1CB3530EF7650B15EC0BE69C44D35D36843BCE0100A16C0 +E2C8B4069800FDBC709F95919C90DB496C8E60383BB3858C3575B67422D2813F +1935F27242142D400DAE03DAA9A13E7B54B6A2B7ADC57D6DB2F7DA4D528B8097 +AFC53137309F0A6D62B3ED61B6081589D6B482ACFF0C4461A46859A495F86CF7 +97EEFDF4165B2E0752B5F16B641496B557C4F777319F68836E980CAA511FA1B6 +A11B768515A252607C3E807E4C2283A53B081A08EE3907E6892C7FFF041A1EEF +D2F2C07803FA49C0F0FDC1C5B6EC3AA9F63FE6BBE19EB79134EB5379830E400A +823ACDFE2076841D664EB6BDFF6803DA65894463F14E1FFA31ED772D35758AA4 +2E0F6CBD0C5CDFD86285EF750122F3B1879AB586BDF770849E073FB157BB23AD +78C26BF234C160888A7EBF4F65984D46F08C40862E876F94E99294C3444F0A84 +B2B2E5E2AC4F3B84537C1B1AFDA22E3476FC2357E9D9D65FD98D823CCD258896 +A43968A8EC5AA660826A8637CEC71E7747CA54595FBC0E50F30496355505F471 +339905CC1849F190B419D7B8626818762888CCFDC70D6D0B49B0FFDF5A051153 +F0EBAB86F5E38CDD95145E233F13D129108391120B82F8D2B09450F4A9A5773B +80C1AAD11DAFDDDC1A666ABBFF51188015FE30DB2DEE408836CBDAD853FF9E60 +28AA39197F3D311DA906A3BB1A70810CCD9F163CAA3BBD994C46DED920DD83BB +620BCCAD772222563057D95924EABB83D2F8FDC23A7BAB1D7EF108ACF08E4511 +8AA35185BA8EFAD3ACBA91D4B189EBF5B8E0D175F5703D18A8E22235647FB454 +9FAEA5D6999209C67914EC4A6F1992AEA7047F544699F834E805937CF2AF551C +1109D8FA7A17FF3BBE6CFDFC22888D0460C5A65446F63242B55AE66209953843 +73691772A120BE41B54FA6EFEA5D8A5860F5ADB8F1B68AABCE8CF1EE56CAE86F +624107BD2C8B973DE5917CAA65D8149C755A43CA1CC85D63A769359D962DAC2D +D27F1262786A68589D077B5875A3B06C142211FCF8B77CF91E43F78F05E3DDF5 +DD1D1FE7F944559F4AA6AD8D2754E27D894BFD7A2E3C80E0700B331C991ACA97 +9B8523CF0DB17170F6CB02530AAEAFF84A2262CC6DF06D72C261C8FA5376E568 +8B17E338DCC1C05F501154A108F3D066B789E624249028CB1625B0DBE509ADAA +1E68CA088CACC78A72EC0E3387CD9AD00C672C98C555B003785568E95FDB1971 +BDE1A628B9EF7E48086FA4FA850395D7F2AFC460CE59AE6EBF9B34C54ACE378A +580AED1EA04A78510CFC3C415DDAC30292742C2B2087C04C7DEB557835A7F140 +A9064014CFFECFC606A8641F7857E26DC8AD0D787957FAB90A5D743B21831DD7 +5B00351134BB5F9591A132BD9EDADEEC25FED689829F5F44AD02EE83A494FA6F +7BDE67D141E02CC5E81342A797D1D629BE988857CA41D38813C8F4DCA30417CB +B305904EA143A16C2888476C9504DB84C05F7FF64CFB41F039BFBF598504CBDF +280BA47133BF46446EBB89800F2AF8F31E81378CDD553C508AF751FDF3C22B91 +32C4073B5A9ED4A61B1460EA1FE06DD377FDC2CCF196582A6673404CAD342762 +9A87A476A34F2E52FF76A13166917B3DE91C273C54E949AAB713B44F3B654130 +8E9C116361D12879D78AC6972985C642A9488BEF5C7917D6B5E3D0A36AEB8EF8 +4098FAD83BA45D43C56A379BBD64016FB2FB688A827121DEE8FA5D7E638C4BB8 +2D923EC385ECBA0C5FFF9FC44242B91D67004BD56293877FF5BA3B8E65C030CF +393049C52AEB21E3079D282011CA131F135279CE9E36F38E4568DC01293DF0D9 +60699EA39A2AF1B76FE232E2A013170AA3595F18B60FCB4759684F09238DCEBD +82AE6AAF9D1CE61A586DF3FFAB7AC4A302EF8C410C07C9B27F641E95621D2172 +0989ED870C35F76F4EEA9BCF98BE93731083B9C6181FF21B6A752872EE3CE4DA +5D696C6AA63639C464CEC3534CE613659C60C8E51D86C898BEEAD074B6047428 +0AD9EE77EF468A8136061CC094CBEF79230905ECAF07C96FFA617EA5CC8AFA91 +76984F65702A32D0C8E7C544129A34D1C8B74B87B4DD83FDA23EDAB7751C18F9 +B16FB5F22EC7E764ACBDF4B0CAEDE83AA14BF4F33082D77C577C740F3558A747 +E0FE1688CC3A5B4ABAE00F0EBDFFB8AE313990442CE5D2AC6461FD349CF0C391 +D8456B0602761FBF81343B0F766AD1CD87A35E64D6A608DE2968168177B736DB +58099A6C3138342F67273E77A151BA9962CE63D659566259EC9D8F0F0D019B98 +F50ED1F44F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI8 +%!PS-AdobeFont-1.0: CMMI8 003.002 +%%Title: CMMI8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI8 known{/CMMI8 findfont dup/UniqueID known{dup +/UniqueID get 5087383 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI8 def +/FontBBox {-24 -250 1110 750 }readonly def +/UniqueID 5087383 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI8.) readonly def +/FullName (CMMI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 13 /gamma put +dup 18 /theta put +dup 34 /epsilon put +dup 58 /period put +dup 71 /G put +dup 105 /i put +dup 112 /p put +dup 115 /s put +dup 116 /t put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBA9B440A6DD72BF8 +97084C906B05FAD969086ED21AF0AA1471613182B26117D7494DD9F9270EF3ED +8DA4D957225F75D060237B6DAAD5A0AE3E702B3D1C437835B93B8AF1F9E7D966 +E739CF3AD5E256F90286A34069E5BB4122F94F18F3485658D0D25B938522A879 +8215A417CA2CBD20F71C5C5FCDE21EEA7BB27876D93BA667868A419287FE59BC +F538980597DBBA743DBBDBEBC61E3286DA7977833DC8BFC5E52FF5DF5EFD9A92 +D070EB769E31E760A50FDE012DC0057835E8B9B046FCC83F1A0C40326AFB4E3A +0CC3BFA35FCC64E32854F32EB7DF10A19F95830136BBB8139DE1663B7FD790CE +464EA431AC109FCA0E03F3E0D355FAE20AC8774D6B1CE233C27680C77DDA7356 +560A27C75993E8C980CD1E3B0683F7E8A05119B3AD567DAB4851B66E418687B7 +F9B21B3BEF607918D5973421B68E65DFD8B6C8DFDCF1CAFE2637D365148EBCE3 +FA4CC00052A2A522205EA3AE3461CEE02042E1A3F11467CB6C8C849B200CCE3D +0BC188EC7B934CBBC0AE2BF5DEA228181DBF0F774119F313516E7D97FF532621 +9278F856C166CA6547504F34991D588A0631A5CD06363F3FEE9FA0772C783447 +ECD0A200929CB58EBFB6B72008E4082B5D14AA560C24915B9463A92F38237886 +C35CBB2D4DD6D0CA8C1D4EC46093041C6181C2F6586EE3E7D4E647A107B6DB23 +DAD9AB5A0C2905455FE58075EFF6B48597078BFCCDD84812B98986F34987CE49 +7EFB19814F2A58B0233A59331F6F8EB66401F04EE7B1ECAD9BC90A2BCEBE213D +DDDB1F75C83609ED6A669A0CED58B2E269E76ECF73616D94F13CF827C9BF354A +E82202988DCFE856786B8AE569AFF3105B55C72C58D310FFC0E10B2ABAC8DB06 +40D5F72E54770E9DED1AF4616008595B8481E3D9AF4191CC9A5BFD9DDD01C9F1 +FE7165D21E488DB40879E863D470CB31CA06E5B5F1F8C3CCE04B697CEB0F3557 +ECAA358D2EC2B370519CE06138FA702314BA01F1F33881825EAE1230098BB3C9 +59666983275CA4E8D9DB34979F86535577E79393A72F84B0F768FE8C92692907 +15E9FE9894E98A0EBEA490CBC8C7E5A9F3E43B24C2C5A4BCD71DAAD3CC0B8B82 +AC13933543E295C163F61C9FD18371CB514493F90BF7FB460C029B8DD2E2BF05 +FD66B451DF277864DE1EE42100BF29E01A50258C2758F3EDE211BB3457B8243C +20BE72983FD6FA2581C5A953D94381E32E80D6D6095F2E93A5455C101BA71E8C +E560D4694E4C167EFA25FB1E9D214AEA745CE34CAA5468FAEF8F6BDB6C6BE8F4 +3D58836C26A2392E4C4DECE284A90DDB3858A16D6135FED655A600929DE71605 +6CA32F6851A2A6F71A9DF3D5D657593BB729CBCA2F4B059365B7263DC08AB211 +9C547096E6427F6AA53CB2EB87DF0AFE2ABCDBD15D7EF228D3396413B83C6B4A +79E41F9BA55A2688F62A10472675E5658F151F9FD6634EC94EC0682C17448024 +CC1633077C07A93E4DA8749D974FB8F4332B5DECF97D749C10DB60D4C90ACBFA +E65AE928C88BAE19234690EEABDB30BEDCEF2660D7464D5071058C30C572A2BC +7DEE5384BD7614A4BEC4C84E18CF7EC81C810256E8CE6520466C033E2A36D3D3 +5D6074B3857415011D8D9D49A474D994571CDBB89AF92BEA879BEBAF67663F5C +17ACAE809C2231EDD0A76641BA52FA7B19A2798D54A4A9B62C42F9905851229F +2CEE0191C8AA5AC12BB0CE9E5E3E862683AB57DBB4AAD6AC0FA8BA4F408D41E0 +755F72B82B7C18EC6B13995BF7AFD66AF4BA0EA7523DA8B75EE751744EBA9CA4 +4E8BC1FB37734503A5B24FB9F2C2D07A47CFC477F02413D55BD7DC180B0344E8 +50248801FA6BE26C97F397797F5F9DF762967E7CD92CCB8B2E587C92177619A4 +BF8046CBC72C6E69DC78B8CB6B7381A290080EF59F5B9F29C1167B261C932E9D +010D2D14BB425D157F22BC0305770AECC5BC80000F8CCFB9930255A68F299ED9 +D3B5B83A2CC00E3305EB281E1A7054734661B175C6CA0AF168790985F173DF03 +A8693B677BAFE23C3CF833FF6463B136FC370E4F0C29E322DBEF637F62C33CD9 +B0A8338FD67EC628E3BF2FCBF7CF0347D5CBA1DBE6DE878DD670176B85F69EF2 +3C5CCA1BD2B8A385F113EF1CE522F5A6AE053B9C1E39408C9459DE3E7FE2C4ED +77F026B0081BB80D40185458139C16333EA27F43EF1204BFBF80BC5301B2A3AD +B10F7EFBB4F5B7E04DA1167F68BB6D4049440B0F57385FF0A95E72760C6A12F8 +1335BB31CB74081FBAA319180DC00113CF50CC5A41D2E751E055DA1429CD75BB +0060C21CED634FDA106C49A12B356129D010E29F2919301AA7F80222AF3905ED +672FF85C9897A70241E8DDB9A53034B6BB44E140D9E739848E7A782F24B98AC8 +00DA09EBE4532787E5CF3ED815705F659D8E52DC2C2D4949374A3BF192BEEB99 +1D9A90A4F3250BF8A1FD40D91F5B34AF2CC561FD02FED712500B24330D87DA9E +4AA46B6E34BCB40B1F73A1DDE07E002B9478E9651D2BF85E67585B6ED812BE03 +A594874A235B1C1840C4BF4BA6D863583D8C12DB49EF7F8CC24DCBB6B21FBCA9 +378F3E2DC406291AB324571F76E0805DF8826090F0E8B50599CA58D124653D16 +16C782B01C91A6F3DA6346482E3163D28D95EA49866360147296838A3FD0CC53 +920F91D895F839CB61FFD2FBA296CA4C6304EEE579782AE5FD33D0FA652BA7E2 +CEC7C01DD0D3E0D56E6177EE5F609A396F7FC8EADABB465DBA7F384E215C4DCB +E64F807A50A461545107F9C3F7D7CC7D33E6EBD6D9228B1DCBFEF160703E6129 +0DCED8D45DD54E2A36E698A616E7906A50901E453BDB2A363EB77144E9EA6F2B +6BD927495EB0EBA5755165707CCFBF8759CE5856881117C7F3EF6D494EDDA7EF +E499BCA56C86467AC573DA9C2724FCC74BEB331E736FB093DCB67DAD42296655 +415D110F2729BD1D55E5C9CCE2E724116F45FB2E66AE0F790258851A5C808762 +68B8A110BD326F8D3EC45004E7CC08DA42F6CB80A6B6E7C286F139534A275BCD +2F812993DD9C9A1AEB5E7E4BDB4805DFF3A7030263AB060C9B74F0C25C5B9005 +965284884450CC2815DF28D5F9B0496DC7A3AA85E1E42741E1538797175C28D9 +FD904699C771FB066397FFDEE8E8DD1ABBDF67E6BFEF95BB700A7C1BA91354C5 +42EC3864F6E19B379E79A1CC3C786C0DA146C6B0B8E507ED58DBB1F12F613A98 +0E1F8967991427A22ED323901C4B83336CD343212131E8B59C2F5D232702ACC5 +7891BFD4EBA5D0FA35AEF9F3520CA82D121BF6885BBDAF15248A9E4649ADB94D +0735CC4D14E1D7275427D00C8E709579612F7F74DB6FC218C10C278CC63E2AE2 +37EC996B10C0229D687F0DB5E38A8C4DAFB3DD8A9E7ED37186FEFC97790A1EA6 +636A88FA9FB4D282234BAAD301A1F3AD33F252C5EEC49410562FC52809CEC466 +A0F6D148E9AF19D6DA2337C8283FBFF6005C37AAEB0B7F7217A8DC6F949B9984 +72DEF163E4D5ECE4288404448C96A7FF0AC76F732D50AD63A1D286C9180E80E7 +C218B1F48E3034FCABA6BF262CEECC284AC29E9F3CA1CFC1639A681ED66C1FBA +666F073D45C84A286E05FF809D4764FE819B6A330E73695CCF2F448B4D4EB4B3 +F63E94EC289807A2F9A1159CF328C002B467B19D6E9454CCE36FC19E0A214190 +B251818DD456EF658B0398E275514B72D9C1DA5F806EABCF1DD56BC025D69FC8 +A0C2FAAC1892B64D2AF79EA2F57F103CA623E440307600D50E783FAA998EBD40 +51D23A0CEFF8D8649B48B982DC38D613F882DCCAE5F51233A641B3CFD783F830 +D984F116DEA3ED8F0D3369AE629A006BAD4523F8E3C7C6B39A6C972508B67AE9 +32613F28CCFFC4BBC86CF31A0C25C786554F7A1F3DE97F5CFD1A941F775067A4 +784385E2D02EE1FF886701B1E87D966D3F500E15591A5012E645837FE2DBE3E6 +A3D375C6CA0ADBF96B33EC3FCFFFD888D7344B31D40427B8A8BED0FEC6FBE038 +1FB5F0714C4B5A0E607E215B5B7F76ACF0FEAA4C9790EB7E13C0E3933B7C63FE +5B934EA34F4B741C3667BF1735C685CECA63507E6FB9EB06AA010311F12AC1AB +4CE3FE8D1EA1EDB3C700BEBA516FC71D740B1CA1A60D4578003973CC3EE21DB1 +58FB1CF7E2EAEB2A4A6C742EBC3575EE6378531C6EFA6E6986E68B8E25CEEA67 +A59623FC1ED2ADDA9D72DBA627D179E47DC7F5551E07EA4D54ADB6CC8109D340 +7279F288E552EFD79C17DA3431E53EED66D16F24BF86468C2FE7EFF421560500 +12FB048D6CE2F370BE4E560F8B4AA12362ACFEBC839351C1D5100C625B14CFDC +747B66082D4AD5474A63EA0054E9C3E6295AF6B133348487B0471395857F4B73 +4BF8337DCE2FE2E1A4EAD7E7BEDC822BDDCE42B79B308C11897C98E3ADE253CD +09CEEEC0CB1DB66AB072E36E1E04911F40B535B0FD85982C21B8A587D65C38D2 +DBC5A07A0A26DFFF7460F10781069490AC1B611CF7312A14B4AA6005A4582C5D +336BCC30EB47749193BE8D457A43F54204B070DF5AC2057B6437E23705C7FE8F +7BB150560F7044BE3E48EFDDA539FEEFB0D2A7856CD4E405FCE0F5EB190D91AE +578E2EDEB9ECA218573BB1A8EF116043A27DD17A4047BCCC7C5F3C563A910778 +45ABCA32C7347E6180ACC86F9D665FF025DD8AF514FC3724B5C3510F3C37E0AC +5101D1667C6ED4E8F37F06CC2BDF66CB5A9FB7C52CAD26344FD1557571336A1E +1E340EBA149B4EB99016D1A411FB874914AAB2A415CE3F5FDFBBF5AFD7959B9F +CB127BDC68D2A2F3F07FF3D4FF32046C0371CD2E68A6471E46B08413FC3C7A80 +A107EEE57979DB387B2206D2810DB310B7232B2DAA385256C8A58964B512003F +A0C24ED21809E2576229627278118107B9C32345C1EE8C0CFB452CA362379369 +31320DEB5371037AFAD093B61E8AC7A6DCF7D49C7F8EC32DC0ECEAFD7E892810 +039570D2956289B15E078C2545911BF535F72F7DAC619BBDEEFA855BBAA81704 +18F7D351B0936357085A32157AD8E27438A58B2397D69264E748B0B8D01B33F4 +D04DC59326A7DED39E247A1C1A1AE49382BDBDE9478A1CB48F88BDF14A268B40 +A40B9FBFC4C87FD3DF1EB2464C3C14E36CA41E09EE0A9B75FEB0769F9ECEB1BA +EBF73B818427FACDBC33BB95B9654F31C59A766E931C698A8608F15290FCDBD3 +5C535D9036A19CB7B55BF54E96F9B2206DC71624E2E55FE632FDFDEC8757AEA3 +1D83D190ABED5E7A7AAE2F41FCEBC7C18626BF58F9E9F02FBAE0C8AA85E9DB21 +A3D8907522DCBAE4923C6A2A09FD2F08FE32215C544AB577B337D929E625E704 +E041C2381AFCFEA37F3133B6CA20093EFD457C772E428325E56C9CBCC447EF9A +05A8C3F28017DD4FFACC51B38E4896C5044266EAB4EB7C13FE855E790DCF8A17 +B61B1D30DD866BC57397EF6297C4891451FD6A5C6AD6D7446F58F56A68650908 +224D9F4C31C6906FD29BB51DC947465B808438E6260325752808963C808A4AAD +60422ADD62CAF315F6AE92FACEC55D5B682089AC0BC051CE1E2C06A3874736CF +0DB5F7C8F178479E4F11665402781D80397C75456F5CDF0A4F382A19EC6AD64F +71A9275264800E178F212269154DD8352167C57EBC0A38BE794AAD1601C8E541 +7E1AB8E969A76E1EB4092644958FEA2AD29635E70C4DFE2EB0D9B3E1644FAAD9 +B27AD5466EFAC724718962B62E7B8C32F412B69DFFEB792587D571FB5C591D95 +4CD441662CD1B07595E245FA537FA9EB5A20A97E5C9251EED22C9961B48B25ED +85BB7524F635F9CBA3714C6D60A6BF920C45A64F4C366C1F9D22F53084997C9A +EFE2D79FBE3347111F5093E271DB7E3770B35D253DAF93653F6A23FA145AD775 +AF11E188EA0428137D9A14542E3EDA6F7B2E5AA86C9F3D3649A85ED2F020C696 +01A339FE6D7E42BC548C8F92A4E3809C67A986C99418772403D16D0E8662595A +1F37563671D6DA0F36CAC99DAA8FEA215DF7D45E61314915A30A22FCA86A50D5 +2FF2EF08E240F9FAC030D92BDFBE40F1972DF413E6B452024CD11792BFDAA2D7 +C82716528AD4B3D637BB43E748336DCC86A952BE96F1EA423E31340FCACDC1EB +02EE932F58734AF3A5B2279361B63F1D824EE3BA9F4D2EC7B33A300A1CE8CA43 +24616444176DB8099D85AC68329B1F85E4B5B16F3B396FE2AE7774F3065D0203 +AA140DC128D6F935C44733EF585F89E8639A2096A225A2E5E49D447D8AF9FD44 +CF6C1BAD5C5E5262AECC5543EC8199B00B72BE32A0F110F64A1D0D5CCEF38FD1 +155D6198E9A343702F8ECF5052333272CAC2FE016681E12745CBE14E1065EFD5 +407DA3686080989F6F6D650A9F1EB3A813B070C30C0D3B4A1E9C206E2E4DFD51 +D8DCBE9AECF956640A2E79F1B4FD0EB8E0449AE1B8FFEBC43275743B4D7F6605 +0673B61EB3189E74F51F3780A91E6A5C6464C8CF7D563D9958D46F39B1A12087 +6BBD4898BA9ABA468AE1F24115891FD3CBC2195F75958E26DF8BF1B93F7B521A +C12112237AB23A8E5A7B7D0DC4C53692B35F3CD813EB463C0BD3A6486B0476C6 +3B36DA71FE512E5745D097FD4AF5D056E434DEE2AF926B2EE79F7FC4FEFD4130 +BB4B4BE01E5C720325A4884507CB51CBA4FFB615B78A4182444F0ECBE4161A58 +E86FE1DA2E39C2BECBCF1F1D7B9B776A26078FC252128FA8108CB83F673CFD37 +CCDA493234FB93E1550EF8D2DC049ED95B00A8A57834B024B277D3DF062E748C +B61F183F2D72AD075474F8165528CE75E4F40B38B0FAAE45751C1907F8D31619 +E88EAB02EEED415F3EE3BC5BECC6AF565D34E0BA2958FF337A2B06012DD1858E +C53DE52C108BD5AAB76C882198C72CDCC958D68EA8FD26F76F04EC1A08B2AC3F +A6D0E8724D2656555DBC0C8C42A3E22ACA7E1BC8E9F897D9AB692E0FB9EC32EC +59E31CCA4516A3C3BFD5411BAC3DEDCE374D48681CE7D67DEAB93F5B5C5290AC +FEB29C5EA2C98095692873D36C7DA24847B66F31E4CA4C7AE5C79D7CE4F0532B +78620582E3731A2A6533A03E7155B33E7CD142FE79F72721862EDB24959B9783 +F834CB616FFCB2A23497BA6D99AE34DC459A2F7B3E4DA2B54BED118ADCD92178 +66C40F4E60F6E1327D5DBCA645A2A7C770807E6D7E47E1265C753F8793BD2D1E +BDCD749CC24D4AF9315A93F01180A0F9A7F420DA1B87664DA5FD967131273271 +9DCC45C3D57EB9B8AF14771E8E751D88B98D2FFDC72F5011D402EC34FD010ACF +D3B0660304725191D64FEE106253FCB3470F1A16EB7B45C1489D3534BF94F740 +C2781DAFA5E8A9E7B25A85BD7935DF3ADDE08C960E283D8FC3976FDB4085DBB4 +B6B35FB239C28C785B18BE4FC98F3A5F410F562DB5FCA04E8074E4E790F4265E +F88117B3D0833AFAE6E8B8A71D7731BA6F14FD6F217EDA3F8CC687A494FC3914 +B84FDC37C8C335AB1E7E0BEC7FB6B7A595C50CF8F0080C8D461BCB8B579A5155 +F963B6587873FA31C3A6572740C63EFBE58A2EBB723B7517D2A243F6CB08A038 +54F4DF0F6692022B2EE8C6F6B73735ED3166BAC58D9216A06EA6FC7B63B20031 +D0F0F99D83D9030B413C2360DD2C553E34BD67851B743C3FDA676AD63C5BD759 +9131358C6BCDF05FCC048F4EBB9005899ACDD8E9EC9BB8C5A08E83485047D263 +0ED69B4D1869A38068FDA03524022A1D32FA2AE0BF7785FCA8F089152A57EB8D +5467C28AD44E890380CEA0B0E0CD0F6427F2C3BC1A5257BF03D902BE94A449C5 +EB8F33DD607BB4E0A1A7A24431E1DC2F03596EB2039CC1A9D524E10B374E34A6 +4DFE6694F9E158DD6678BCB0B56BFF435FC4F5EC442E14391B45178DDA235B7A +07AB6EA76230B60456344BDB08C929F9453553452C97E016C26C11B68186024C +D1AF6C638EF54E26AA88856FAF1FA9A0DC5A9EFB7130EE72EB3313510EDB1DF4 +8D8E512036A986387D8E96689E912149A342974F559E7CA473A1FD2E01CB1197 +990EDF8444CC83F1AF738200D6B01348FC84249D77FD2C3792BE507B455AA8C4 +8A47C53FF9832AE74389132337E4FEB6F45B5BB29D6F597BA179C6592145F301 +A46ACFAB07818BBBF40FFCBD118D4DD0F87D65E1D0E9B88EC830AFE34BAD1526 +2CE90D193D88877AE17FF093AFF181232A335E7A2B13520FE2DFDF2600CDDAC6 +68C0665D9A85BE2D2CB92AA47DBC9DC58C73FE498C0188AB7FECB942C019740E +545F68F084A1647A8FC265B6BF3D382D1A8FF0E18051D17DBE4C56CF50FE1709 +2D3D96A3CE36F0B780CAEEA563E72D0DBF7D7B16D2CFA2A4AF820189656726A6 +B409C09934C90572ECF2D3777412304A835882BB614A34F11A0FB55CCEDFB998 +B894E1D2AED9352AEC3D106823350D49A58957A5B0D6B2AD5CBD1E88B711F20D +81FDE78E72169C077B2D9E431BE081F2CB698AA0385ED23E3366D7A8C9256785 +39C8D13CB90E074EE4F7A75290CE92B61367964B680660A0670399284F5053D7 +07E7E299F9B3ACFEFFED0EE71F6057A59839FB1F184E0AB1499600EC500AD6EB +4904195761266732B7F3021E57282A83D1C39351E354821E5412D85E5F67D121 +A1B644E671327C18354A3F61F6F3547217913A835A478B782BDF502CAC670E75 +5AE9BA017EDD0C294668084C1057B857E608B9702196A9010CDA74A8C0B1CA4E +07D23E6C5CB654B859EA6BC077C440C70CFF342C8BE2338B8D671CA0C53166DB +4CF4C42D75D661F33493AD7124562422D0203EEEE402BD67D7AA13F3A072D3B4 +27228DEAC9996A728E187F17D27D73CC6CA8309BD7C6FF0AB5317812898BFEF6 +F5BA45C7B9426937284CC63CD86A309269EB852B6B142CDFF49AA1EDF98BA3FF +6FD169CF0CC1180C757A086C698C5033E8E5AA392CE8EFEEF3F9760B25EEBD42 +A99C5CD209FF68D596162528D0A849231574B70621BDBCB1643CCE2E99E81C9A +3F6F46359EC21C9C4305D301827EB48170422998FF36F2EC59035022881EDEDE +ACF2547F689B73C5D71F6811955BF9B74E9F358AF50B159983432203E34ADDDA +17371D616CC087373121996377BF3FA233E27CF1A3B01826D23BF2DB47534238 +A9FAD1C6A92A11968EFB4D8893330C2C7EE36BE297B478BCD9E9B6AAF63DB364 +16F4D2FB96BB308CCC13B19401B6638968423856903A469EEDF2CB378E3AA77C +1C41CF0C665C51A023C70AEDCC13AADBF32587AD01BD88665BBD5D01CB7F611D +A3998D56F9A8E54CD66C28461E2EB82D91629A474898935DB24A8BA84D476B49 +2818E08292D7638F14C5119C440F326B591A7A9B9E0D6AFCA706E3554FAB8679 +688920BCE79B23AE77D7AE04E248166B00C3493E0640D92067FC760A935E8AF5 +D6DAF7A47165BE3675918BBA8A2BEC1E4E6004EF5D28C498CA35F8DCA7450622 +3A0B207AB8D73F4C79E9F14FABF993AF8C45BF637C8AADAA526AB48C82A37C7C +8A81B4EDAE6EF83A57FAFFBF1B231B917BF8A877C5E8910EAF782A3DD97E9D3E +44B42F12A2739155D5CE3A89F846EEB7AC7FD6D839F1A9B8DA374E0053CA9086 +0693B29BD32EC17E3976639837111B6195514482C5B6CC0326A32232F5906B66 +596D1FF41C00075B1F9579B4DB51CFD5AF0311A23DA20DE4C55B262423B8B9FB +08E7FE59301D674965151607BE69F624C593D4B2B7F015C50668144A35B4F228 +B1C5EE7C98F571F6AA2A532BD497E550F7CFFA05DBD1A09BA6DFEA7CE257F8DD +9F3000587A6D00F1C4C07A67A59B1C83D86DC09425FA8D241D8598DD567AEBF8 +2C8F563F30A8390B8DE57AAA9128F6AD0B9CFFC47BE14ED3EEFFF10149EF452E +4FF1C81C91851F842C4FA3A8088D2BF6F7B85B471FBE8EA841A6FD714C044003 +356D720734138F37CFBF839FE6AB8656635560F6458405CE57BA7DF2582E5FBE +6AA5D9EDB5DD861F645EC66D38378C66E401DA0DAA01D39C4B645CFE793149F8 +827D04D3D49F5F31B06BA582F257B517D21FE65254C99A9A1BAEED7C06E75E6B +5474937A9FE4199D3B8407262C6B1828B305E4F67E6E35C953ADBADF1A54B68B +8A4694488200A24153663D26A12B85B1E4ED5A9DA2173DAE99EFF56736E234DD +8865FAA53A4E3B0151DB7AC3442EB82A877B8D409EB8B8D07AE33CD86E8E9117 +76D7F6714AFA72BC37982A5A9D207169E2BF23F075A2D93FDE89688A3CBF7934 +E461B92642BBAA3B83FE5050C2DC819C6A3552760C1998BBFB88A59DCDFD5390 +399EBF2AB999221DCA09E6EDA015C1BFBC85AB712568AB31D80C24AB7747D271 +07AA206709C8A9651FA4E204886B62D421FE2D7D0524BE95A355BF26F835BAF3 +07BB9A182667C061C9BFE48562C3EEF5754C42266F9D436E1643B0CAB1A6DA58 +44C0D786428C1974E52130784901A4F00E05C78A6165DAE761953EB0D2CC7BF4 +390ED27424D75E73C2CD9A14C53968D3FF627B6F4AE58F017BC59B6FA99D7EE3 +666E2BF421BD534FB809B27D7CE38D25A68F40D50CE74EF59899E34F12505849 +5EDE4C7A633B2E6508B4D19E50D688202B21B7EB00367D670336369AD03F88FF +22C6A40786EDE132BA7DBDE39AC0CC19E5503A82593C0C211FF3587713AAC102 +A2028A60EA6CD9A618165C96D64681679FA1F201EDF75C7266945DA95B8EE25D +EFFD14CD7D50F138D370A084B5FF167924B9ABD93A92EB91BE98985393199EC2 +9C143E40FD7DCCBE3573E4BC75E41C22F237B6CAE19B17FA2BF3C9B33DE6993B +5AA0A5B65DF8DF99AC31FB311B100E6692E7E1277EA57EB6C8F2F209C4EF0763 +168B24BBC343A6CB20B80A1F6857B5EEEF4F53F4A5AD1C714CB0CF99DDCDA314 +E652573551166975B7D245266B467992868E3700084E0389D0F66A467D481C9E +A7FAB16B5EFFCF71B63FD47AB7F44CAE4142AA318A3ABB7C21AD7F4B7B9673B5 +8A703ADA8B95849C37388FD18370861952FF56EAC4DCEDC92AED83C8E70DF1D8 +A3A83E4E43E5BB49FBC1DE91882E5CC502CD6F090FA666BEF3159FE7FA6676F4 +9D7DF4494FF221A6E928F040E33B4197ADD5B100C353C4CBEADD0BFAB43740B4 +B753255E5CDB4741DFF39E3F8CA12499A439BB50A4B8C110C45C91CD3CF3C838 +D34513ACEE7207A8E466CF80C6DBA2F1F38DE5E9BA60117F6BE3D9A6ADA35F50 +F3402BC35622353CD62E94E17EF5FDB524C355ACC92FF69B89C76CC32C9AF756 +6830230EB00E +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 2 /multiply put +dup 14 /openbullet put +dup 102 /braceleft put +dup 103 /braceright put +dup 104 /angbracketleft put +dup 105 /angbracketright put +dup 106 /bar put +dup 110 /backslash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EEA2 +557F8D2FE98B65685700673A9F840C8578B6D7B384C4A0B2A77C61096081F6EA +8AE970FB31850DAC38AE12D2E458850E6C6CF9E5CAA86DBEF5298290123A8B67 +E6AE0B5105EA2AF7D1E5EC95BAED8CAA8399708D4C043017B3ED93F64B37B48C +6DAFB92FC1F21A4EC7894E2A0D724A524696A0FAE044D3C8ED6C393BADB09536 +AE22A4FF834DFA815E1F3765392D2DB2F4AB03FD01A2656D715EBA1C3063499F +2468B192BA1CC682212B97EB81FD61322F1FB69E5C5D1EA498A138CD5AED49DA +28411430C42A3D1366F57F0124EE7C8370B7A537DE55B277110EC87721D864EF +9C47AFF828B76F90CCF6758EEA4132F47399C1D8FF6795F21C209B25AF3BDEA9 +B7239556A29427EC5F15889792AF24609C504CF2133506A5A20E99C49D3BACED +D5CB3A6304B44D1E9607E65DDBFF4D4B012A9A566838E2CB11C7D19CBE79EB2A +C79B952443ECFA65DFA7A0E86C8EB19DA983DC1B587448712CC9A9E08B0DF673 +A6A5E71B0F3C4A5DD8B5903521CA4B64DE818606BF15150B0821058603E0821A +6FA90B66AC9D637588C5FD22197DD76521CEFDF42E979440A641F1897AB3ED08 +8C3927BB8545F765C725ADD7B0D38A4B7F83825E87A6CED91AF9ED97C670680F +6C3B3D851E0F8F1CC325D4B9FA3E9AACA6212D33611FF581F2AA6B2602D0799C +21CD04842C987431DAE35EB5D22AC1EAEE53DFCA637C8F647A4987880CBCD9C7 +B370E8F1A6BB3B78DBB155C323D133ECDBE8070A3A0D91D837116CB8F1E64A90 +C15794D03E7FB809ABCFE1AF43E06273284E16E8E96B04EAD7EFF11244CEE5CD +8E8C0BE83BC74686D1F3082339FA96FA3367468007CB12BBD565B8BC89EE0049 +1DE7BECD5F5FE42AEE5709647E2B81FC2CEFACE957AE5684EB355BCACF45AE02 +A48B0F60A529731612386A422A06B977496FA04EF1E489ADCFE75AB6288B531D +09DA76AE4EC574095E4B213F0BCB0BD8E4FEDA6A42E7C663D1C9FDD617F14072 +000049A8CD875D14B9C3A518FB1E37DEDC144FCF48E6C3305152D78535F6EE4C +0C31C97060F2AA287F8E5ED4955BCAC6705FE9A7333FA7D31DCCB39CFE012FCB +3A6131C4CE0F27C84C56EECAD25BC1FD75EE1D77947495F5A5160FEA6ECCD84B +35A41999F24F16A54CDA2A0CFE7BEC4285CBA28FF8514B9BE73060ED7E590AEA +6DBB62A3E88345ED0E459436D40E28E16C0D1C7B43885D827EA9CE1F7B9FD3B3 +507406CC627AA06BADBC9A00E8B39BC963462ADE38DC430FFC8F51B608AAB963 +0B997EE99CDE1CAD999F33391321E8ECE4617D580AB8FDF1B56F5D2438E5C621 +B3E9A2C146CEF8F1FDFB64B7F1C4BD91D8B3BC08CC272E10F22282567208D83E +CA1F208F70DB5474AF9ACB4919832BE4838E87114B48397C6E3ACA8B6882B51A +0CF3C81285DDEA24A355A7159D741BAAF62BE44F3E8A67259A6EAA2FF5943FD2 +DCCB71E3D83EFD15D78CDCA0E14AD0AD495B680A3361B26574117ECCF5DF7E2E +57722A7FAC52BA1B67264850D7B434FFD472783C2D0ED715A1ACD73AA24A7BA0 +529C2DF3D9E7E54BC1B14766E52FA5320F8A611659F5F84A3AF28748049141B7 +5B9BEC44EBCE18B245C060F4E2A67FAD5DEF3E22AAC5F269A5600AF7D8F14FA7 +56D35EA0FE508C9B92B7250898DD3035CB2A22A5F556B05BC0662DAD5445181E +D6C9090CFBA943C5E9D8B1D87572E5D8EECD278A09795BB846383DF8BF4306AF +12BA88F220AF306B9BD52A2253B01921085BF66950BE8DF81707AAC7707D204A +7C1DC58A87BCCE1D0B02E3E69BE35BA219BD1D72C29221117853052940B5CD4E +AE7C67F600C7A48C03EFB41476E4FADF907AA8E068157DE8F67B5A6A24C345FC +84C5B851F210E27400F79FA403F7A8F6A8FD3B1895D1083FE4BE34A5C5BC1025 +A0A8F151AE5AA159168EBB2C378A005C579308D68D9A1783D912D4A3631250B2 +368630D724A77A52831A0A51967BEFE2663B31CE160AA588B2744E04286082B1 +3013C7AAA5782378A73FA9C76D12FCB66B4CE9C97526B9F29725FCD6551756AB +096AEC4C71F80822538352F80C1D508B5E54F7795EFC98B75E807CFE8681F1E0 +D995DFEBE2D2291DD072088E1616CA29E72E46493A3DB8FD068D2B5EB3FB345D +C501E16725895F8087FC934F2C06B6DF7B139F173E2844311F241A71B2A36375 +3D2907E0165DC20657E53459F9800083168EF16B7334FA81013FE19E11B69338 +B36FD86811C4FC446C89BB1E1F9B5AE45FC6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT8 +%!PS-AdobeFont-1.0: CMTT8 003.002 +%%Title: CMTT8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup +/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT8 def +/FontBBox {-5 -232 545 699 }readonly def +/UniqueID 5000830 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT8.) readonly def +/FullName (CMTT8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 100 /d put +dup 101 /e put +dup 110 /n put +dup 111 /o put +dup 115 /s put +dup 116 /t put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8 +C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D +24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570 +BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357 +08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F +298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C +9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6 +7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033 +2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C +FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6 +F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191 +CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F +2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE +32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092 +D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C +3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4 +97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E +951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF +F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D7D91 +D93C5C0B1E4BC9C5097DA97E893335D6F25B0215755AE271340453DCF8252782 +8607B0F972DB969DB772EB7BEEB185D4E20EAEE6BC04104F3D484B0A702514C1 +55113C7286CDADFF3B72732ACEE29B3711F5B1AD864B05DC35F1472686B200B2 +3FCE6AC13FAE056EA1993EC64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49 +F41F8578B8B9951E3DCA5AE9D7B7E0F99CD8BDBE64D95C7A854101BD195D2F25 +778C99A0CE11157E01C8E1748B21B256C0E031A01F8487932A162C6ABBFDFE93 +4CCE768D97C972BA405C9741EBCE932AFAF65B6D968B700B9DA5EADB7D666AF0 +65546369F698FE04EA2F1E2ED8B703B1634EF6E177E9B04DB48910C3CD33D910 +4A51ED66C562088AA02649E33253C4794D21AB678AA1C309A481298EC5343940 +BC3DB128D001C163AAC542A18F4B449089BE5E9EDFDFDF4F063D3E310E02C023 +572AE49002D43E0B379B27A73DB844CFA60B1AFD1CD83D7C3B3278EB67218E13 +153DCE12DC2499155AFFD0CD83633DBAA6A4E9DD73B695290CEBE1D8F643C0B0 +3AE03F882D56460D7DAB33FD692EE2CFB5C2AEB5CD825D1196B4C5A0624485CE +DDA8DE5968FA25ACD029BBE22100F7B730929216CA39CFCCF516E0907300DED6 +A5D946F5877F3341D8CBF3F29AA655E47E245B5CF04CF42210BF2A54D25171B5 +C1FF41D369A1BE4A9612B34E4E17D64909417068A177B6FB63242B352DA209D3 +1E43C4602ED38BB1F9730E9D6C604C6FD581E85DFF5433211214FC697F41AFA3 +A52B26063C7050B32B353261CEA8F105FDA5285D6B2D60A0190130F1453489C6 +4EC4D79208C8246D6798BAB74BB26FD7837618BCE1A3D1AD9771A6287444B7AC +E75DA6D0B31E8C687033D9368127A5F8DC57D142C5D49AC3B3519930EA165AEC +6A1F73E3DEF833CA9FD6B7CCCB123125F3E808CB9C39C88DFCA0AEEB288B84AC +E52B85FAE82D0C93B83FDD3AC592F6281F1192BFFEDB3A3A0E4AE05E51453C4D +1C6EB3749E7BE0FFA3E1F5E3459CD8A1F9B4D8869CC760D99C65CB6C5CDCEF72 +0EBEF125C4A1730A661A7C50B661B2FF94428F648996D435CA9F904941EFC029 +E46D5F6036BA7B72673DEE910DB0D030712A81AD6626D9060942702FCA45D09A +B32C44067EDEF517D65650B32A48659D93AA940B154EB716B011E95F92F57F61 +080A1D0C7FB6F20C5C5B6385D71C177069A328471D7D5C51A7CC2C91CA9BDF68 +52EF296F939F20BDE33F8A19FA742CFD6735B36BEDCDC4557B2AD695028C2DB0 +F04E6015ACCA93260B72B0E1C1C326BD51B7630E5F23792727B5448C91A5B37E +2C26239C2CD902F9DEC50455099C40B2739B5F530C8725FFC3FCA81AFEA4C10F +98374BE9BD5F991DE18936DDF76E425ACDA0D69BD90BDEC35E47E9B5659655C8 +EE088839E36FF57681DE622B52109871DED9E1BAB19EA03D47A3E2CC3365A826 +F268ED0B2836735384057D5F610CBA467CC8A4BEE8FCB1AFBF78B30894AAE7CD +79360D8030E91D6578891A2AD8428416B17C08B282 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBXTI10 +%!PS-AdobeFont-1.0: CMBXTI10 003.002 +%%Title: CMBXTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBXTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBXTI10 known{/CMBXTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000771 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBXTI10 def +/FontBBox {-29 -250 1274 754 }readonly def +/UniqueID 5000771 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBXTI10.) readonly def +/FullName (CMBXTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 58 /colon put +dup 65 /A put +dup 69 /E put +dup 70 /F put +dup 72 /H put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 86 /V put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA61972029CF9B4E1F6A +FFF97E53D6378FFF9043566D67519B5C031015C0D52A7B292D219A2BEE49FA56 +820ED09A28447A71C5CC595AB286EE693EC741AEABDAB0688F7B46D9D584CB99 +DEB048F0C0723F0D7FB57C896218D2AA0AA4DE241ABD632E25F0B47243CB7DA2 +EE53CCAF1682D9B580006432DD7D53D06E90B3457FDBE18179DE415DACAF00EB +4E01CB49CE25429F8BD45069477DE90EDC87EAC15285D321569F8C19AB5100B1 +DF31636EF29DDEB4BFA2AD85B83CC7112220D70E69D5A39BC3558F067A93C6D8 +7A78976F7B93A589F0271A034D1A8BBBF082841719E2901720E89568E9376AEF +8D41ABE4BAF9E79809F5BCACF29858F8675E37804758D58F8909027A00CCCC32 +5441C72BCB031D09077BA9F778BDF52F172C2EE62F0B98EF852ACE037C6240B2 +671C0F01B7D4A9276A8F6DE3B6BFC2C34DC309E5888E249E398CD60549DDB61E +7E36890B1E37E26126485E49114B7CB938E2733D9A14288C3A763D326D7D9183 +46B970D455050FB97612BDB2EB29E7D71C909B10CA1D479176652712C112376B +085E9F99C9A488C8876954EFB7520CF97D08AD84341FB55764879C5CDF8EEFF7 +DD31DB564110A07119E52453B778531FE181D09D1A9799D7AF4773AAF77EFF2C +2091194E301CD88C97CCA29AAED2CD68ACCD8CCE44B9F24889A83048B7208BAA +84E136C58F9DAAF73815C6025DB64C45014BC472358DC014D243D189ECB1EEB3 +267345D1FF4B6A01246CCF5FA90BB355E3734A7C774DE68C01B5F356D645C4E0 +1D0B7734E05EA28AC6A9BB2123EF3C6E27F52982A7612A352213C6AE3E80A819 +2304A70DB8A2441DC5321ACE962C6480AF736920B64A2B433DCC3519EC8B577A +30B0819700A2281212CAC280A0DCC50E78295B98B2DF97A78BDA1879E6B70C10 +7BD15FE29C4EB1D5A33037F0AC9BF8CC1FE88C52CD114EB33F1C6F8ED88EF98F +DD0C3913DFB36147F581C91CE83CD73A0D012F3D0FFB162C0F4597ADC8D93911 +0DC6D68F9FE702FD0EAC5039D462756551C379C5F4DBFE05AD2D1BE0EB389AE2 +391E461DC4455E0D3C3E46F3FE9BEF488730D71ACAA63BEE72367C52C4F84766 +C24E13D1E63791B4838161AEF8D0134145BBFA4D848CFFF1DED6814A7215F4F3 +3E2D654C27F3279DBB22A568B7BD1D5A9D75C7778D36C36BDBE32C8FAE4A9209 +20AF8B705A77CFF4AA9ECCF6011F0A359556ADBEBDAF5BB706FE6FF4A745D841 +102279B66CE0C842DF8C2673ADAE354B2811C48DB05994388AE4053F4651A884 +48DBEBF20FD05DB617F8FECB667B748BB5741D6EB62DDDD0FC58537EAAD6FC22 +A11ED24D34827C3446C8FB81E4A0E904206A1053AA9E718B0405C6A7B8B893E9 +30E7A31B9AF8A56B5EFE72FB5AEEA79D56E19E037BB4ABCEE079ADB53CA546CF +D98F7B38973CE3A6DFB315E87DD1E60C34344656D76C16E1DDA43C2ED276458B +11D7F4CF3692525C0D8B6307A2993F400760275A8648A0048E0C406279D48045 +D77A92E99F9CB5C05E8202416EB6FF308C4C979895211450BCA82B19B33E7240 +CEC18204C09AB3D7F8025C0C909BC03A1851287ABDB975A32C3FD8A1C99DD90D +4B1CE2F5DDCF140D4D5A19F33241D27E8EBEF4ED569AAC255E47813F31B30109 +7075766D5BC1731B082531F3D132A937717EF67F496813139E8E263C088F62D3 +DE0EA4ADAF3C088F562B0BACDC184DA3BD0D5A8A4B8EB487D0B6F1B74A969942 +91CE8CC7A33670BBDB3F1E1D791F7F1D3A3F3183F2410DEF99EB932CA80FD931 +C62D09A0ECF271B5BA043C9A214CE631CF8239ED0640BD134737A3E31B851DBA +912B507F72B80DD9CDD23A697F91D66E59346FA3A75726C386827D910714C989 +5464B041E69F4B87290BAD381600AE0A976148CBEC8DADBFDF0CBD7148C3AAA1 +7AE2EB15686E1AF68B4C90130F795E86C9AB88556E429EC943147DF363029B81 +4C637900FBA19DD98792F4CC9888AEFBF9F7765B817ABE83494CA3FBDC79CA03 +86CB628F75612209DE9CA4D585565E9509D5DDB8C00A229F07918B062265AB29 +176657CBBF2382A219E573667B14687647DAA7E9203FEB4CC94B10B57F4B1143 +C4962B6A888D62093A1D49E2C7D65C29C500B61E810BFB94DC2DDBCCD8B6C61A +911C2643F55E9E2101B1DC7D7176F7743492AE7CB84D460E8C00E91E5486117B +D9ABA9E16D1606705A0F698EDED5AA877A2CE7EEF25ED1D97EB348115CE5BF26 +8A48BE961CDFC6F543BC89DAF665A681908ECD8CAD545D0A72C9C184CE67F6BD +7B51399925DE379BC59E9155A30C67D73D01BCBB1886F8276AAE58B2422DEBA8 +266CADC83429DAF4F80CB25E0BF455CD7863CFFEA9E318FD043908D427CC07DD +683F6D977680E9B4F6333D4BE7E729F4D15C07C917862B47F0DB2E31500ED372 +A556A8B617FADDA12A2F62DA2D9AB46479FFBE4FA42D9B8D597CCF4E6D04B418 +8A9B523F4678DB40E7F325F81C1EB345D71849E57B059653CAAC7D9D56CB2E3D +D4F532A2D674BDBDE970D9211A3EEEB005128BBB5E0C313B42554F058EA1D180 +BFBC9521FADB7DE03EAFE314CDA873C3532CDDB83EB0A6A7454EE85A4C36AF2E +895BE8309FEA168B73C6AEB2D454B234F1E2EB554C7406B79A859F6B303BE795 +B6B4DBF104E75838F3EFBCF85E0B865779B016AC38272F8BBACDEB13164EB282 +B59BFEB1E3392885916FEEF86A8A975DB9BFFF17B9E2173CD18264BB14CF5633 +FD4BA46D7692CF7CEAB7EAE80385566061315F8DB8A7F495E68D4008B09BAF99 +DF4275727F08C5FC58BE9A084B267D0BA62A907F22C466A3A79CEA6C207177AE +B1254F0810E6092DE5DB1BD3F238EF705DD4E806E0EB1988F2AC92EFB8843064 +3CC3CA506D9AAA0CA559AE7157603D34BEC19D6019F0566974BB835DA172FE37 +C15C0367C8FC164184648BAB678D37871F7F610EDAFE3F49289C6320F9CC113D +44775EDE28FEF4E14EB5B426C06058FD32AD12B42A2FFA0D9CF0C7BDFB6D7C4D +72F4FDB716D7C8E7DE84F614487ADF4DF5F304370043B25E07445F8C65109708 +EB771F62E01350B7C9B659D05305CC3E4D94378BFADFD8D94E5704FEB2BAF58A +5B874C7EBCED806F068E93D4DB888B325CE246D02D1220ABF55CE646DFB45F07 +CB8488F229A5562968B079C2CE2067B22B98904D977E3EAA82A6BD44135A6F07 +36E3252FDCE218EB5DB8773E2DAFFD1DAD53671EB3D83A275D011BF5D501A22D +407AE09257CD21297B617E0443FBDAA297D37F66AC436DB78B410E79A002233A +0D7DA619CCA9DA4714325A51CB0BBE9EB6CEA352BB1A0A2FF83610B2A17E1948 +0E9285E1570CFCB8EC7E1D691A72611D336DE5C6626A1D1D2DF363A1D781DBE6 +1235F1D1805CC2A8C670005F84FD468167F8640B12929CF347538B94EB37DA39 +904D4763D93E757AE2B4C775D98E23BA983E35992A292A04976544EC462CA656 +E5EC37EE8EE46BF1C3B0B4C912DF05AE1535CC654000B06BCDC95D9C6B5F36F8 +FD8A0EB31A02C2B863DEBF8FEDBC57D5F93D2604321FA66070D14FED60441E09 +999B90A5FB715347583A35314381554031BCE4E6E73AD3FCBB61ED0D4C015863 +119C1D945E981AF3F38C81EB3A350A70A63EB06119965C90D7EBA669359FCBDF +A87C4DB920F8F3D99C73A0DF7E10D3C410696D679CBFAE831E3E99FEF6C038F6 +69C58E1EB6F60FF587F5EC561629EF429734CB886AF914AC3E6BC04F21D73F18 +4CA12D7E033B301C181D15101A986BB95132DABEE082A617520CF95EC9069499 +A02F073D7DBE41726B51FC05A9348953495B4CDE8D0A8F8C04D07ABEB3BA0076 +3A80F2E3B5804947E690DB3A7B3BC6C48A67F5D45F5C658FECFF28790B709385 +D24D02FC3B0C9F9AB04E168BAC78F0837D9BD402C1ABFA84148FD815240108CD +511E50FB8E64F20058EE54E4ED45181AD9BB777DEE3303C4991EF8EC56B6C278 +CE63F6C2FF92308A25B9AFDB4585A808AB3F03D8A15A20FFE399DEE429C959F8 +B3DFDF81433C41CEAC874479A2C51F9FAEAAD5B7B23230B99523FB256896A85A +8C48C057A70DE745F753B4183AAA6F84B4ACAB090F33CC2C31186D1D8A0218A7 +4E1987D86B9C3602BA294CD29FEECE4187523CF511FD075692B1C080A5A22281 +BAAA4EA701D7573D083E2F6EDEA3D49FEAFF2CBF989703E83828E6C7E324558A +FB73E3388F0B0E6A97EDED5A9553DD33DBBBBAF2174A562AE2B8A4B6E7D13E90 +FF9B7D650231CBF9EE48DBDB00AEE2E0FEBF8D6778F19CBCB8766A0ACC9BCE26 +59771BFA97CE7BA811A3A6C8CBEE899839E525DA2ECDF66CD99FCED902AA102D +92CD9A279453BA74EF8C0CF32C11A412A05CFA2C187833F885F359DCEA34EE24 +E90F7F107A23D9EE269C15A647916F56C32543AD5F81D90C84B8305E5BFEF1F3 +B356CEEB5BAC54AA00DC9C6F03B4AFCF7AA4D31964377525A661FBB743D39964 +47AFBF76C8FA874BCBB374B02C538AC626004EC8E1E9030D60C4A097CDAFC143 +732FB7431008CF28ABEC4529F4689720D4EF580676CA855FFEDDC66B7C1DF07D +B89EE98C0DB6FAA5551ADE4D674B51E4E3FA4B24A3DB5196E01C6CA1DF5D669A +3C0FC57DC1F576C2BA14D5DE284614AF3276E3A1159CBF8D40426A60E8C5DD42 +6F1307222DAA8AA78BEE55C27E26013120FB5471CB33CA4FB642B1C386018EE3 +D4424CA411F49CD569CDACB51AB9BB5E66E1E13ED5F8BE0E912BC13C7B23E10C +042C33DA19656264D7473B4E0C3DABE14F9F94450D1113C88EEC18CFEE640A6D +9A40DA9CCED6EC5E2E9F1B357DA635C3A2C5A23874E496B868FD0260D30F1780 +878A900B90637A1237C63D83335A3FD4A664321C048BF2273F9C4AE3161E1F06 +E6EA5F3F15CFED43C622E0D7E245EDFB866398DFF2EC994674767B7F3DD853CA +356A3607C7BF8F9C6889EB9942ABE469EF88368742FB5C41D06125D2042EEA41 +4B344AC718FEAEB308302F5607C06852A30CF778D236EC90CA10934C629FD598 +90176264DBF9C1AEB33A6028B9EF09B06BCB182DA58ECCAA4E2E1FBB13868C98 +CEB61223E9658EBF003AC67493587A156EFBE73EC88CCDD55C9C10CDFC52F7A7 +B274D631DBB5D629F41AC8760741953A6B90C6E9E4D2C79702C59EECDC65D894 +8317D67808CFBD81953AD32837A42EBBE48F77D6B387E272855E54ACD32D3377 +E19724B3BB370A71C633C3A41A0523FC219EFD5310EB3CB5FC93F0F9E6BFB115 +17E2B901016CE8DD44BFA8590EDEA88F5229FFDB83E401034C826F038D58C19E +54704A4E2E36B7738FC6F80DF4D82A5285853C49F9689363392536C3BA25C00B +7885E7DC3951E9B5D22414C9E9A264954CCCFAF8BCE70CFFD4F726263EBEBB70 +D52A58B3D6BD029F555A630D687C7E7103C8B8F2B33EA41732D6FB7FA999CCA0 +185A13C8BD80A2762AB9919C3E9FC07556BA8C7149B4CC5B58DBE84297E3E8D2 +B34591D9FCAC659C0FE115F34ABA807DD94410AF8F532418382EF8F7980E1598 +A97A61926B809FD771B2795C69E6B1F15FF0EED329FB793FA3FAF0580ED07F51 +B0E1BC1401EA5026897990CF09F9750268AF812E89DA551EC14B457836CD38E5 +C07179A3EE0ABD3A85C693ACA829A5E492FD4F1BF12725544FBC81FAA2004784 +DB367184315C68BEE9FBB1D68F91C9D0901BAD3BDA4FFFC203C232276A495EF1 +B2B82F36FE36716733F0E993B19407744C067324BDD2D5641977B1A118DBB844 +104397F963CA2E01B7155CB84BB642FC315C028FE4502335F761A9DDBEF7ADE1 +ABE87D31AF848A5285BD8328ED3E8A2A608590DA11968AA8C0D8010329A9E172 +AAC2C7D0061B14EDAD1142FEBD3DDC0ED20023CF06BB146B3F58A6A197DDA1CB +2533B236FAF2825E8DFE70B79A0938D79664C1D26B4412FD10C76729CB22392E +8976960ABED0A03D5FDDC7C5C2C6221BA1FA08020B88FD9AA0CE8B5FD26D58A6 +79339A2AE6730746B8413B6E05361755FBF11FBFA4974CC1AF36136803DB8282 +A7F5429327B875D0FD222835C7AB82049CBDA6AD1731F6D06AD2A20027765CF6 +2F7E4BE9521465A7C3E968DBCF95F2C62EB3829CE6DFE845EE20E8EA89CA6C46 +BA14E5A920D8E28A4008C210F747622AE31F5F9036C70FA52BFFF08A4BAB3D5E +A2EF6E8656F89058F4A67933AF30E9A16467D563B2782268E2568868F677650A +74F415289CBAC0DECDF828485066AC07C011623DE9643DDE39840B1A739B33ED +3EC705C13DFB191472987059E5017002D278168B5280FA2E26C6D51CA663B384 +F5CFF4A6232F5F68E185231EEA239904319E180F91DA98A63B38E16E138D2DCB +CFEFA5F3E5AC6FE764A3A9F3EB622117662AFD26A124933CB1E04AAB53923AF5 +D9DD972536C4904A1602040545A9AD4904D867C1D0AB907D733EDC19EC093391 +3B0EE96E8578527FD3D1204A25982635CCA01A9B101A843F6C373AC4C8E39E39 +BB13AE6A0EA170B59987488481D38806D429E902801F9CE25EEDEB6012CC9EBA +0736820F82C640CD8C7D852D9EFFE6F769D7FDE1DD628861FF628BC0BA8EF127 +26F83D7FCE6ED8785DBCE502DD0571A76D88B7FAC1E2DB24DB97394937A1EA17 +031078EE07D00B554B9C892C68B624D3900266E8850287243BE44F11F86E95DC +00E89C5C47F573C0A7F1CD0CCD26498334C7D37A3AF4457CA805446A74344597 +8D8C3D25FBA2350A878E23DE65D49E9E5F819484DC1B85ED2BDFF923216C101F +D8F411C1443AD7BCF5E90FDD6BD29899C86EB3ECC82832FE75A59EB3FA696F26 +96A450E2504A473123A8D24956ABEF5ADAF5B3BB57FFA5364214AC0E9E245CCF +431DFB8A7A5104BD97D5E5104CA9A05774D0FCA9EC0458BD7289794FF19FD00E +2D05086336902514F5CF8141307C037E5D2E30B62D1C8A5A7682BC941A5445D8 +A17F5670554AD4AE24EB95524CEBF2599D5D00AEDEE2B5537F869A46BF093296 +C77F86ED5658C3DD3AB9C25850624A53F6573A51C7AD9F43EB8320DFA31F7F58 +E0FDFA9FF640DB5B55FB5C4E014A8C50E062F13D573C845231F98CDE7414BD44 +0AD4CE9E00FB39BC93C3D1C8F5FEC652FC28AD9EF814CD964DEFC5813828B0A3 +8AB0E0BE6E3CD60259B8A50F95CB02EB685DDE048D73DB0460985EB16DA749DE +3EE1625182EDC552F104E547D22E62501D9D4EABC09531E6457B7AB148FFBAC7 +927318F8BE99EAE5AC9E6AE81081E236187C2D384A92494DE6BD1FDCC5A79413 +609F865C6067EB60B83B1E0D49D2CABF88F252377787534037AEA74A842CF21A +5514F3A89A00EEA33793D63040EC2E1231C04026B8DFE67E0E0B460E3BC6E60F +71AB1C05F295F617829255BBBAD68D6D7E5AEE12DAD835A693A661AD9923BB65 +C781B9085640D3A5317C312DD3C6159C15D8DAA3A592C9F4B4AB648B160E4B3B +D2E3DD475573570F5EE110AE5BCA3C499513061F202DB76ECBB5316F21F04195 +4B9EFF754A628ECC2B68077CD6072C630CB99421BA3D0D1DA24CC09B8D42E8EC +B52EBAA0E16DE13F0F2E235292A0063ED390D9A8E685160134E931F924D150C3 +B1E315CCC86F2AC29D02D0D98DEB83DFC7531128E0AB55B5F7D161A44DE01547 +38DE065666440E46D94CC4AC21C42F362D222A5CEB4FE9FAC0892ABAA08F3A3A +B76A22CF73E343BADA5C89355A821C67A626C0FA6F8742178B9562543607FA64 +8F9FC0971734B99E476E36E9127419F27469DD3BA6A1D82680155B4603D1DD68 +CCFB5D5B1A90CE7C6B780BBFFE12723ACF7CED4649DCD6D61EF7DA60248130F8 +1F4E5CFA74752E4536F09B9A7586998356818DE1C894766BC679AFDA95EF3F0F +964390B570A41F2EB01A30F2DFC89F98A1FF138D395130E7310A05ABDFB4F51C +2E02EDF9D742EEFF2C755E4C1D19CE476848430A7A0484D174958D6492C0C50F +ECEDC3A3B494F3809BC27661FA6BC47DAC3E6C3C0C49DF2635B3B531BF606238 +F2B828032861AC2BB4A456FEDC8CEAA8083E667B042899BD0A2D327EEFA1BC13 +FB31B0EF2B5029467C5A89408B4B0278019C199843B0F1DC4836B77FAC6DE21D +691E165FA2543AF474ACFD024D9047A9C2D48EA7EE529F2010141AC87EBBA68E +94139A3CBD70BBF61AE48FCAC8ED6FC800B833B0DB747885BDBB088CD2939FFE +4765E32596B81B957DF6391153F939F8F013EADAEE4D3417DD8BA24927ADD0E4 +F43F93C1FBAA86837AC264310CEF9DF9112187CA1F9C67869C387DDA5DFC521A +C793BD28FCA5B8642474DCDFC2D707133692F8E31D4C0B2BBAC3A56A1F64F245 +3376BFF3E30E3F3B99210CD4D7694F73703304FDA797F63F6D7651702FB638C0 +24DA2892F967AFADC233008AF4E96DF86FA693F3493511BEEFACAB9F782FF95E +59E4022155A02BB54AD37A173C19F6F6144555B294B0C3D2D23CBD8F545E0EB5 +BC879E22A3016D1766E718AD8D7AD811398FB266A788D2098D50190DA852F354 +2899A8C18F8DC28D2CE4607AC1DA9EDB3A2ED52E9F93ACA2C55D91910078FDA4 +CF1B4623114A93F6FC32895EE790A897516AD7481D1D9E776FAF80F9C5FB9874 +8BBC25F15880DEFFC0DA7B34FD355C3DFA4B8C068B2846A35D573AA910A4E167 +1CE9E29F332FFD5540EEB45029DEEC7A2CDEC5555E3847E1AEF80382DDA50E1F +796DEEB94F391674ABC940586E625182981BB24438989E15A777342CC52F95BC +68E4824102F06ABEC0C604735BB9BF003138AA1925DA019C983BB58F79A6C7D8 +E33A0B6B4168970A5F0375EC69DA28CC7FDECBA33958FF066F1A2FB92A9D0696 +E11C14DCA5A257BE9F6DB7AA38219DEA50F37F8A8B66E6C16783DD11A384F3B9 +91D4D56176B193A61BB48FBBB0B4CD0AC49FEB8287468CD75F3AE0140ADB5815 +1BA8685EA40A7EBDAABBDC5BC0031AADFCC83F69033E5B095EED32FD7BD573F4 +F66D358B052EE4AF6391C2BBEB00835E4D776409990051E2A325964CC9C1E3C2 +CCF165C5E959DD3B57DDC47B5A3314FB83E8E02BA2430DECF23A3BD4A9BA8A0F +79BD019EB83E6530B7AEDE6705AF31D24C8A566664A6BBD5DE708E38C076C9BB +4DA25C3FB2D051890B548322875241867CBF64C5307E65ECE7AB9F5720815FAB +B645BC83B3B148D97493F29E005B340BC3D0D93F3118BA9E60AE85AA44CB2D20 +9929C5BD05889DAFF09F0013EAF8152EDD3AD002FF5421797C1CD97D3E1CC377 +B56AE10EA3488342FDF34C8895BC32F9987F427874208F915261A697DD84583B +E825D3134463F8A59028311BD870E55925A426730DC4C7B7CE5CF0D88A1CA385 +F4CA91A2DB7DCA6D0A6E004F61DB311F6A16128C6EF0C06AECB9536914C56696 +BB9333FEA928F36D25BBDBBA0A2BC53AC55916557CDD330EA31A84A1082F4775 +198B551C2886709E1C70894A055240E9014590AF57791BD9AB8522E3C07915C0 +78F0472BE2B11FCBC14B7F3E70ECD1E12A9365E22E996276070A54CCA59F21F2 +B24CF9B3F1F69AF78D47DF1FFF7B142B16D27CD64C9C0D5077D498A46705F99B +7A094D962BD93C99227AE79F37F0B78AC893ABB52081AB5A1689DDD7675B508C +078340F5B6875946A912108C6C848C84F53F8CF6F267B35735E55AA02AAB759F +52791291D4D72E36170CD94DF3E49BD5F65BA50E9E746C35EC3B2D326F063A87 +F94EE5D086C281F85AF5A7CE45BF8D8F2CCFE1555D2DF5329B2C5A76AE71BA2F +BDF14C53E871E03CE0A18726CDA928B15348FAFA6691195A657B7B9298810B8A +130D11916E0883FE1FA0A1A4419AB57D7ADDB3547E89B10C7F3694917AC8D0D4 +87534C44094A6605EB2BAC34BAB6184CC7231C597F651800260B0B19EF850307 +134292D608132637439922C8E9E409BECC534BED6C7FC8388A08107AC82187EB +B097EE4AD77A293EF859399629395BDE9C472F826DF966F5E9858F0241968893 +2B6313E162F6F7D93137CBBD2048A62293E5275CCCEFC31CD85D1E3160760077 +B31F4F743B1C4AFAE67E60D1C110400BD2F3596B16582A2758AF3CCD4B627EDB +8121C249FADFFBB6531B209364079F6D7BC4725D7E6D9CB7446A43CD0576BDDF +E51517B1A52EC6A20C3DBC63347740E69D279A87BD4B06422879A64735B611A6 +1E03A0897FC232086681773A89DB63D8E0AA60D402113396CC6CC766FD2ABB53 +8313C152E32CBEEA2049ED9CFD8E600A398152896756F67B1CC298578AB1BBA7 +86C284EE9D848362885C466DCD193F6CA4CD9DE2BA9F344D233F5BE820441BFE +F61B08146EF5DAEA0554BA19326A86E135FE53FBC9767CB0A816DDECECB619C9 +790776DF31D61305A17C0890C4A376A42B188067C8E173E56158599E4B623461 +06B9BB47F878F58D416EA2717D62F0C5B2DA98B849F1825E9053438601E8F232 +6465F273F717D0E8CBE8A8BBF8796EC489D7883321A8C3A50147357C664EC965 +B51B5E0A0BBBF4997B34AD21096285DCC25CDBFE8D264B789846B3CBCDBC9EAB +EC810CC14484372B7C95F979032786CD96D273031BB0C019C3DBFADF47B02E4E +EFE4AB05928CED1AD1E71635DDF8F9AB39B7968F5C2D32B6830E12E76D67ECB3 +A719267F4BE94F036135DEC795578B1D9AB283C8D766F28CBC63D43E060C0256 +A3F3D9C443E1716FFCF57DD8A612D34BB27F444AB0B5DF83C6B915484B0BFF90 +7D9D6F600CAE86EBBCC86D0A8002BB5FDD6D7A71E89C1230AF5558F60CDB6275 +D3C31B20084D89ADA04011026C700DC553C6C9117727E59BCE82AD280AE02F9B +9B8774237E31BBE271FF5C53786E08BBEB5B99CA0B66B0B7CE317733DC1E2828 +098BED15E08077ADE9219437843A47955A6608908218AF6272C81806E05A3706 +4E6A4C92441E00E12D55E50FAA5270F03F15D86BF0C385640E88EC70A16D2344 +DB36034207B486C5F2227BC2152D5B309A872BE97C0B66EB3A63BDCAE6DC957E +4FC9ACBD4BFC0752EBE20E5AD8B1290B5CD20DC8FF44E39E80D72DFEEE741C85 +2A835FAA8A31DCEF31A42975C3D3F4089F774A1BE6814DFF99D8084F9D54D309 +F020B7E1B654888201210B9ECB4B668DD2F075A5CCCFEB16E81D81B3ACD24907 +85C6DD53D6FAD075724209C104EECC6CC8C3EE5ADBA93692093689C0B954A0E2 +38AD11B013A0D064AD6E9ACB3A0501A68A72683C54B45F8133CCE02FE9B4AAA9 +5E8B082B3EE144103F0FC561DDC893114B1A25C8B6F0AF42441A2F4D5917536A +7C3ACC978F29311047A5457A9752E99423CFE383FE5F10AA86E86744175BC100 +13C931A522A4C8BFFC7A96C0315F620563083AE398755B649B3EE412DEEE5870 +99D46AB87EDB82BFA4CC630CF55FAFE0319A3330F416655001F0E2E5EC56313E +B2916E9885088DEA239D7022320C8644C52A6D8BA495323D9C586D2F4D4A2433 +D316331FBE6D1C7C3CF534236552CA482C1080E48A0354F5B6C08BECBDFFC337 +CB9C3C4F46CAA1C6C3672C1C773C046D27D81CC65944D17305EAADA7C0538EA9 +BAD5AA46B3E1D78F9E4BB9C633287F9A649CFBD8F95E797C71F29280563E4B56 +4E26057DF5609766988EA9E9ACAD542813C29B5F86B1740E06BEA45AEDF8ADA2 +E55105DF5A9027761A16D9B8A2D06557869BA140689EB5C6EEDE6C8F4F52694F +EC9BCFEB5F57929DD024F0E0393EFB83143B7B7EED69F0B8C19C490A41A636E4 +36D0BA4FFA1B4023889160C9B65D032594E1D8BB4EDBACB6FA0ECB57B79E4425 +38A1C7B774209DEA556E921ED317A96E86F969D738DF2063CF8F1BCB0BD6973A +CFA4F79B4A6E7AA74CCD6DB859FC1AEF3809FFB15CEB6FBB5722E9729599A7D2 +8210D23D588C944217F9AF72F73FF82687B9FCAE7F81E195CC54204CD5E4B117 +C748BC512632219AC4B6C46C7701953802A96D9FB86D4BF92D7C229486DC0BBC +7F67A3FA0B9B4B7B5F9CA803BB5AC7F2717604A609DFB262F714DB1AFD202773 +EA32977AD9AFC5145A972D2705610630B08FB2EE42D939BA3E4F9490A1F10E20 +60C0BE95B132B901195DCC29C9B62EE4ADD46C9584A4209566A795164582CDF7 +130719EB35102F2D4A24F67D9508E4AC3D908F628833C08AE2D48F403468CED3 +BD26125CCF37E9EAACAC7324A0D5CC57EEC62C1D7BD220BF3D33FA5DEC4D784A +1C72677D47E208462B0832192E7BBDE63534EFA8F5F3C1D511614B56A1C28E45 +87BE6EA3D91A1DD61C15E3D0FB107A57A1425FF599291CA4D7263FDE90CCFACD +9AE114E7E4ED86856A626CE00CB3FD8B20C03EE1D6EEA3AD36238A4BB8A9A433 +33C889550442473D819F23A192BAAD9B680C92665AACC9E3AC7EF66ABA2AF1C6 +DB2E269866DC46DC3C28779B407171DA296E5231ABF136B584D7573ECCCBB082 +73A836BA11DFBE4DBC8E32977042D5601EE207DFABA267BF431FA8595A97C82F +E6BD2DD5F57459B04088C4AEE7339E063239AFA6CA2F00A7E9EE3774B57E61F3 +B8E5E5D24A84496C354CFBB3BB89F9D2044FD817A0D6D0944E6C55873624E49F +1CBC2CE6F6CC6517B3288CC6BE0F0AD7CD0107D6764592D20F490A157BCFD2EB +D11296AD67FAEBECA18DCA9FF8EB3C52F9A90DA696D370C7BA0CFFF09103940C +F4E7ECC69D71D881BD7859B96B2CBC9D5E36AA23FE857382B1C89ECBE99815F8 +486B24B0CCE285E56EAD72845ABF37F2A00F35081A979BE92574FE34C582989E +D16C301761334C949E606FFA2AD81E6B4DEE4538E71C3BD0AD3AB984E405A9E1 +A32D6EBA7BCE9B7D60D12302AF97FB975C0A64D3285A715DEDAC0662694D9606 +1508322C6D6CEAA71A9324B7CD5267F70CD828C36AF735F62BA0FE7AED268986 +B789FFB5279F1253D8D174AB20BF378C49215F82D9742BBF1C59F4AF92B52C2A +5114156794516FA8EB5C2426F5B6EA9E0D817DFBB2F481E3BFFE29397D159FF8 +15A2DB82B8C119D7DF1C9F6CE176588D765BF420A14F288C646A7B9105EEE763 +8E2A06B110F97A537BD3BFB37D7C5C88C65C2D40FC285A233548FE4AF19E0A36 +FBE6352425889A95A598F00BD3AB06ECEB9D3DA2BEA079307546682B2AE8A69D +4808312F76B6BCC30C346B8DABD328375E071E0E50C01C16BFA67B7B23C9A12A +F92D2D7E9E918A9E530E5633D3D82AEB6CF1958ED63194883FD58CFF486CF23C +6EB8D1EE394EF8E49FBCE727A0B7456B6FB257A4A1D6CE7C02E2E336D3DDF307 +05F2B8EF69E877BBD2F220B6E25DF11527C0908B8334BD4FE842293959534CD6 +1631F01EE6E8B0221BE7A3DB9B42599E1BE98F4E3CDD889BA2585D4717A21C83 +9718F649AE24F51D4DF3254E24D1179C5A995393511F2A1AE358E1B7A6B62435 +FA10A194D35ED4C5093A7C28B80A26C38D627D5EA67871444B870DD90173A8B1 +0AE6AFB9E7DE1258E84C0253D9F8EB833E10CA05C302332A0048EECD08BED283 +1AD3214530569CF736F13EDEBD7E8CBDB577E4A1689ADCC882F20C41FC80C8AD +B8FB75A83A9A87449B36FAB4587EFD41C21C01ABE2AB76D1BE2CD52B653FD8EF +7A54EF15907F96A2956A0CB0BB60289009D0208AD50F7BC19E76CF7A73DF815D +0065E4EE96972E9C5BAF30F23001F0BCFD1E1DC605D59B0EB3BD203BC541D65B +9193D190B5074DDF7092B57C0A949E53718E7380A25FE799FA8283B7CC1514F7 +C00232ED458B0F63D886DDE2532F089F3CDF3E6F94E8034C7D1D58C6F31EE589 +392C97FC0C79143B1B0E94828D0848AFCBE2FE2B23978367829C7752A06F2783 +EB5E1A24CECCB8DB1F796CD4709983E0DF44803E42428439F4BDEBA4A74AAE8C +C65C83DAE92A5FE612F7228F7221CAF74104AA4511F5D64A6AD54774723F7A2C +A078E32C78A8B5CE810048D95DE24E697066DA8F318DA6899352E746E601E36A +083531B12554C7B0E5CDA232B23ECC3C6AC160AD9AB86A16E6F69D542CC72CC5 +1EEC6CCD2EBBE477C38B4501C5E644B37AE74F1F97D186259A50404847050714 +9D3DB91D7F9A3A50EF621335E9AB309653A13A345B56B77F05E87CB315F0FA44 +5B904B75C267EBD1A0F95946279B9307B0936623FF8E58E99945DDCCEDF8F29E +F661F1231380200D72C9B0BC4F7482FADF29CED9A233CB03DC79CE7E252E3577 +7AEF23FA5116178530AA79B2A5ED614BD82F626329A4621F6010D559971AC488 +C66DD8E167A5D7FC965F2C4BAA8EE3E2201EE08707CD6948A46737C2A61A3B8F +A4D84EB46B0919365A163A293023DD7A8E261F9DB1093159427816E9EAF448DC +B59DDA3D111071C5DE74F6177C2520FDBEEC891516C166CAF1D30DE91009DAD8 +18D1BE91D3E52B512B21396C9A75A8C04EA91C49D3F54E37CFB989366F264562 +1E98CDC0351C5B2CF269F7B4BA2088A86B90D6081C45066172F685D3B40CBD51 +878B87F3FFC62F15EF57E762940228259AF50117EA3E9E2B511F280824989D50 +89E0881ECFBB405D27A20F1ECD7C86FFA48AECBD788AFC70CAE75686CDBF7963 +16D47DC63B24010FF041BA567C8D24CD9BF3FEE24590C27AE8E3A0B71223CB27 +8DBE285E673273EB11C5DE72C7A928ED2523FB1A061F7CB390EF78EBAEC1E6EF +F031B35E8781D6C04D7E0F64704CE250B22A5C63A0F348E48AD613A82AC9B79C +DA83DB7CE81EEAA9BD43F0AD2CB50FA18E8BC17DEE51DBEF649FF1D02C80391D +855A43F2455D5BB3768B3FFEDEA0C45AA491B7E9A5E4504FEAF3FE7290FCAF10 +1964DAB71E36D2392E5D4F5A847A9FDD22F42C04A837EC760FF6B490AEB66688 +1FB583F76309D8F8A5AF2B857126A907E7403910E5053AADD9774D2B712CEC43 +6EEAED0A289FB10E2CF1F5DF47E5242167ACBB7E9B9F25C2440CFD2BBD917F57 +3470D4BF02CAD78CCFAF1C9401FF961C4A20C8362781A084F6721D92A07EC20B +0DBE03E3F58F8729E35C9A693ABD828FE34D33486CB53202F12A69BB91D48F46 +78D426D0DA76D7ED73BC07CB86EBCA2D1B3BCC6CB7D3404CD133543018DF2579 +D717C2BDEED70A41C070E853DB2F1DD95FAC1E26DF296811DCD6D108EC92B3A8 +2A872F6F4EC38AE83211817E84CA5256150260E1D6111D19534BCB819FF525EF +A98C5BAE8D6232E9A939D80F28487115306CB9930FDCACA20E72000D30976E1C +473046409C9171974436FFE8C0F379B54F02CC98D5A99070C0FE888F9645A02D +5FADE79C4B2ED0DC1F96C27CDD857CE72CA18C69453D1698A568570831CC383E +EE0C28DD14C27FE8076E0A79334CA25E841EABF8D3C217538D88B86F4AAEF7E7 +0A4A9869E28D488830135C5B676C8A9CDABFB5A1839EAFBF55586CA4A9E57BE0 +D9A8A2D170E13472C7F0C0ABB28EDD312D6FAF18E3166E7BFFC120415CEC090C +9C65B48CC9AF1B20AA0F69AB7ACF0C690B0640BE68073E793BBCF9ACC1435A29 +D84F778730B104B7FEA44C9FB0920D2C0DA049153EA92C50ACD2C0A6AEB4B0BE +5CE51D10D54F84A6D2FABF3017ECC12EF5E0FD00566A29BE2EB6A05D674C336E +473A815B3C9B5D0E6A72D1A205FB94AE6F23C64275F24F8D0F2E2EEC4BC30081 +BD52A1A75AE21FBB97E4DB26C7789CE38B4F0022123634A0B68107E9B15DA303 +18575DC8EDA79C04141B84C4AE2DEF9757311229483BBCDD6A5905933981915A +31F2190AB10E53DC04212758B542AD8CFDA1E2FE840C230C4BEB06AFA003ECAD +8A5EC17E389788595BDDCB6FC5B246570C5E9CADCB3DAF471154C240A1F5109A +7251B9E2456BB80D62E15893AF8B652DFCF0637CD57AA74935D5095834F5E470 +76A725D582C7B9ACFA356FE5BFFA16A4AF2F4C13D65C5F143B01489AA63D6A03 +5C12047281655879253464781ED7C4248E36BD7113EF9CBAC117CA46B8894357 +BA7E4DEE80CE6FEA4348570184C57727E74B89BA658CB47227E4642BAFBD88FE +7AEC0242D5A0CC31E2D5F7AAA3024428959952888FD2997802EB42C8661DB9A7 +93C5B9534234AA56941C610F98546025838A45FC608F766AEEC63A1D26EB2F65 +24E1B02841851BFBBCEF759BDDAAB52375A47FC8EDFDCD2E37913A7F62C59591 +DA035A5CABC479336A1F295EF8CC11FCC350D3A3E2648E0C568916BA8E05BC61 +3F6964A399F23E82FC4646F07377B821F260683E6CCC89ACF2A1DED1C0D5ABB9 +5599D618CA6CBBBF30A4D86BCFD7A25031C16ADD811A7D41E0DFEA04328FF0B1 +5BFE54C42CEC8EFCF7D98505AEBD1971B69F564DB94AC759D94E01CBF8805391 +43D8A28ADEAB3F26D97AF6BFEC4F3175A68ECF06E9CD38A09E80C8B6A46BBAAF +AC59C3D78B61A5381B5612E477866689E31C990069547A232CA815805C72C11B +6151DF866002F065D91CFFCADD800653786098D4EE31FD4065D6633EB234EA2A +C527C51C6DD1C901C0F3DF5DADB232CF9A4AFA72EBEB9CE00BD21DA597083F1A +9D523F47A61B8B3A46157A371D67506B2D93B64EF2E47CC2B2E5448B836D15C4 +CEC88F307706BBA91F1CF5B7CA90B7010D01EE9FEE35E050D8E3C2B6B0CE9E10 +E9379397876077A7CEE051773FD8358CC27548C79A361B4FF14900888D3E0996 +51F10CA5E7F9C4491E1845A22D07E896C3DE291A2B2BB5745E73E89E2BCB4128 +A487B2454E81E556BEB807BA9FFE696B64BCBDE260E80491AB4171FA0102B8CB +ED21BB425D5337674A7A1EC917A21C8EE3438DA06D150D335266ACAB70679722 +90643EA49CC882A51E890C242A81BB19D379DC72347F89D69B1FB743DD703CCA +0C7D84E42CF5F6E6A6302C2D773D6F2D515D94AFD0D0716C8830C18BD14C537D +99790BDEEC3B007F71B74D5D01CE027D69E71539C8BE6BF98BBF2F772928CEAE +03934156F791F80D92C5BFA3CC76306F93BE61E802E7F88694298FF8A5AFE987 +23E910C1395136B545089361410DB6B1D8D1BD9B34FE92BD6E2B7868B00CA67D +FE2FBAE66DACB6DE0B219CED1323E1FBFEC03E8EFBD5D18F6D8FC27ED2B71226 +326FFBEED50C03C9A0525955059EF1B6142D34EB92B36C4EB8EB236F83EB636D +035CE1D7E39284A5F1B782600A0C9C20251E727A70DDC7444488A21F32F38746 +08CD951DC47201D2A0838B5A863F51F41C8A1C31014F7C6461DB6B5EC33F3264 +DA88C45ACC8E30319B517B51679755CCEAE28F9334265CE63EC3B5BBDB2F3D6C +7A4CFD5F080C6CBC237C31754A7378EBA1C134997D89A2B412E372DF6AB0682C +3F3FB2C3770628BBB7CF1E4EE780F74ECFC82E25162CAA143661070A923FADFE +836703AB5536492F1846810485466C135B16A6BA8111257CEF3512296D2ADED1 +D35A8ADC9007C57CC9C4C0D71EB9595768777811A39ED3D2645D1DB512188157 +B9189BB42776688E934EB3CD885C145C417B21986402105399425F5BB4B3DF45 +9C3A24DED1DC96D1D69027F5DDE914004577EA5DA2182ABFC82BE5323686B34E +290199FDC9C42D1B136B106E54BF92629DA96EBCC97801FE28773F4416457E39 +72AA698A0972719DA63F39CCE24E1DF5AE20FE82EBB107767151E93007F3E250 +208485F573C064B6A86809D792B308EE9DB3A2480CC8717B80649332CB2A75F4 +79DD167C44A255EAAE02EDA3F0A1B4275272164A3F4CBEACDB73233EA80D23E1 +EFA7CB7CA7908D394F678BCA7E901882E4FF1E4857392F29E683438A3091DC30 +6C6083597291489C550D89C9BD4673F3B0DC85FE2FBB157B6677C1B0669CA20E +F1DC4FFF19F783173EBEDCAF37ABA5D2554CFAE67EB5CE8858973DF9BD726CF1 +EE4F2E7BAD272233B43A3E0828238D08CD8BC8A6CF8F0720EB59E522BA39066E +26A4FD3A34DCDE01D58C9309FA5DE107BBACC9EC03EB728673E7715BF410A1B4 +E549D4D658A7E68F1FA022D8FBFD9DEC311F44449B5065CB603856A086D28AAC +AF14874CBCB646F713056B4CEE50D6B95CF5A1CE1790BA2CDF850F9E1A80F3F8 +0851D5A94B10AC6B28180575C944C849DBFDDCEF3E04C3BA57AFAD61B7C59E11 +CD3F7A26B7C83C3038C7DF1CC28DBD2AAD9819EC6FB8F96F130A7475BAB79913 +060C36E41DED866EF964A6AC112FE4DA2B8F1A46A0249A72DCDB173F6C5E1E2A +F774DBA39F8F06E5D4A4B4081A72085A5121FD61FE3C2683D71D3C4604B66569 +7AB4A2EFDB7030FDF6647C69A7D783F743767AD3C5A1D0258483EA3CFD373F79 +9C686AE32A23AD8D45C590C7EF259025CC2A840920FF184BFEDBBF380528119D +9A904F6B8BD34CEED919F24A6CE79FC25045992BEE8EA34D86B010EE03180A2C +90B1B8A36267095277E30331BA5522AF77227D256620D556E3AAE3C6CDCD14FD +EE50DCABC40581BC63A619DF34065C8C087F00E0393EEDDB975B6A918FA7E0AD +921ED2BFC53E3D88C13BCCF063589586F0B09214AF5FB22C535F13CA124B6714 +B237BF02173FB3BCF684733D2302F6AFA7F3491FF3D3BBCA6501235B82CE87AC +313AC5DEB89D64194594453D3D1C1DDCED88C316D6EDDFF57ECA307076024D1C +50894B3D6961D4B3519CF160F202732CA1FDAD755959AA21C5BF465ECD8AD169 +FA714E529EED22657CEF074F5C2A3D5E746847E88C8E2CA61DB3BDC018B32083 +24F3528A0FAC0417A84CFA305F518E7FB7E652E8E8A1A468A780C72175436C34 +35C249F7F46E09051817DA04DB9EEC079A14EAA771D98A7934CF8C19F7E9D544 +30C9232647B1CCA00066ADF020AC4CC468440DFC74E976320A996EDE2D77B251 +AC8A134210AEC32F332E1CBCD1EB199FDD0A989D2ACD895C948E4F92CBF8A06E +608BF458FCFFEA4F9A3003EC749F562F98A5EDFC571B9EB575FE53EEF207926E +3AB84EBEB5120B262BB9BF537AAD2EE359E7AD449F39A2C9EF92634696851DB7 +7C61F7C86A12D77A973743521EA5B01734B96D33E1AD5D245207DDD7183088E4 +BBCC9B4C25C0F8B6AF9511D9E925329152980478957D413175DA1D38B592A3BF +D5ED49565B6A3453D379CDAC8B6EDE7EA63F3DB69711BFCBF72E4006FB3ABF36 +DEB2B1DFFF7593F1473276953638A3FDE698ECC61FA0A156ED0D80B0F46E25EE +F2176086FC09B307D45330A0AABEE57C09BAE8604870A9C381CD499B8049E121 +BABDA0FD27577A79822873CC65D17C898FE3CE404CE7AB87D71EEA6AC14C38CE +17D4F242F3CB17386ADFE89EB387BBDF27BB9273AFE5819BE1D310BD6068C484 +B3953F7FDCEDD22FB851C356926AE22906E7376534F2EB1BD212B896B4C1F8E4 +CA16D6783751C255F1BB7DE208BD798CC6A87D2CE8186F7C0E8010C347272E88 +B6667BB453932F13312FB282174FC019F5FDA44F91597F6FAC5B50EA39A213F5 +F5A78D10EEDCAE71AED79A2812BAA355BE42374F57148B1C7DE984CE03099395 +206301C55A6A60587BA8EC2B002C71D0236EA4EF709662512A65156394ACECAC +4480B16E99A262AEC6F8A518F32A0BF5AA7057AF2ED7FEEA2992FAEC542B884D +401E0535C14AA4C205CDC3CEBFEB5349ECFB26CD16711F5BBDDCFCEE4404EB16 +4C4D1DC8EDB9A3BB5DDB47D363DA61F79C3D3EC71FC679D9FEB7F001127A48AD +CFF757065C9200F17D12A29DFC84DCF33D4E06A58928C63E1A4B6A976F8A64E6 +E1C7FA65DABB63E76620704CA3A8AEC1DE8A7CFDECFE4CEE9558A7B340FD6708 +E5B5094CB2616FDE5147918BFA5DAEBBF17F5A4D79EB75A555971A4707440885 +B302F6F24F6FA4FD574F36AAFDAA70D8AB3D76D3633152CD51D16E803FF71007 +C9EDB65EB9D7F11CC990B117B56DFD4A6338854D858C94BAA1749199C031FB9C +BB30F84F587D270FD9C0E9C99C1689D562B8CF8ADBA664808AF63AFFCB00232E +7BBEB57CAB791438EF49F050F26229BF3888DE2BEA4847A5739E43EDF8B388C5 +3696FE5CD47D167853CFD11237A880AA79AB86D943CD72F284DC32607DF8618B +FA5574C6703749BCB3365353AEEF2AAAF0364C6B49523358EFC64C1D474A16C2 +FCF2C03359889C445E7CD77CA9568A2B64CA53CED42BA4A4BA3FA68715717178 +153AEC356F50060DD6824E3EEFAFC2D8F3654F1DD361004B9FDF2BA084BBDA1F +4202EA8D260F9D797147749926D1E637D457ABB04835BB0C4FFEB4A7277E902F +D2B93F6DC10CB041EA9F0DBC5472D4FD0C1B27EB6C98F6070C8595635AE7CC9B +772ED0CEB45329EC76E3E493FBE528880C7B9F951099B1E3F815C1DDA95F2C76 +8DAF271377FA7A0BD686AE5318A75B452DADFEC9B4678C1028A59994F254852D +F376DF431D19C5ABE3AF803D63CAAE3B0E537963023EED78229EB975FC84D627 +4131F0150B6B8FBACD9F41DB7CC124256FE9101AC161A72C7B3FDED77338849B +C8631E5D5DB8C8C51E164B264989E0085F55F2843941FAB6DC1DEF73AF7CF532 +8B8401685F1D8B6783A8834643295A670BF7F626F1B4C3BFCB5CED948B805403 +A784DE427ADE125D6115B36673745D7B56A441228ACDF198C855872C76C2902F +D6F95D1B05FA8EE9A3CB8F94925C189CD2496843DD614BB239E8B0442F2BE2BC +8A8184B9F77B5406A7EE07972C08F81267D953DE64DC59F5F6D7C82E5E0F0C81 +70ABD21DB7F62039EF3F925BC416206ECA7300586129EF2047437CEDAAB20FE0 +625133F43CF903422FEAC219425EB51FF10A31238E976A18BF16DF8B1282C0AB +6685014A5C52613FBA95BC72C130F9F641A23BCD6EA335ED29FE64CCE02F1F79 +C366F50C049948F5707BFD86240692633B1D06CDE65BBE9BF0146639783D737A +98C4EE33535CDC6D859EE7876EDDDD20EA36F58F1092B59C2F5886BE14DC46B7 +9D7061507D5D1288A6B26A64783DEEDECD4EFCD73FA52C5E294084A422F638D7 +C26E6A21C3CAA977027A99E23345466F1E6274280CA45D3D3F3DB8445334ABE3 +A6E66CBE6879C1701F6063C01772BBF6547420882730D79345E9F2D2116EFA03 +DB5A96CC4CDDC39935D1EAFD4894A6D3CE490A5CE522DDAD2C1D21FF2642E82C +D6457EB727F6E626BDA1A8DE84BE354D1E203FC7EBA54F3160E2DF2B57CA99C3 +3D2DEE48F1A6C0CDE7B0BB5AF03411309E7206C50585097512258273603F2716 +7F382DC43C15F863B83D4B7706383336C1DAA3C6390B931BAC89F60022BAB712 +7A6B79D6343D41122863557DF2AB4A89B39956EBD6A113E94B7B15EC8B5E9437 +397B6E92CEEDC55E5EF0873D107823ED49679CD3B6D09A4035EB8B994002A1FA +540E6E7EE42DC88FD00BAF6A851B7BC354582D29737C02A146BC701BD1C3CB2A +091859A7CF94260B0EB00ED7B958990ABBB3068D0E089B2BA2CED753C5E11137 +C66F00A00746F3B1B203EF2D564F5D946C07944D19AAF963B248CFABA642DD3D +F3BCC5AFAFF506DA34BC2161BC52D2325A68A8110D43BE94D4B2F4D6C84E3A6B +80BC238356C9FF86EFE204B0D295E3E1B754F8AE582D208A18969CFE0FE92978 +7B6A23E16528BF0E273BE72803E926A492B4A8C062AD6673F7CD06FFAE7A8757 +B9618F1A852E49F25D3213CE1B93AE948DA75F6A58496DD69AA906D635BCC34C +8A6E9BC1F4AB62F152F8352870FEE30A790DB26CA2329087E99639EA45FEAD96 +9475AE8C571B03FDD8490990C31B3CAE938F82DFC519859D85557E2C1A022963 +4A1AFEF3C98823349A006962745741F20CACA03624AD94669E3417BC4D9FD399 +4B6510870559901A65A9C620091D5FEE782AD2E385EE12B033B5FCAA105185CF +0D49402B530F4042ADBB5D936DBE7EE750F5E03A4C6A984D3C74C8E283B15298 +0C3174A73C28150E55CA69A33E5B586392DD02A4AF2E35889C9653DB7CF66B40 +7D119CA032CB2999CF71809E6816DD2F86130F1B26824E607A9B280E6420AAE1 +FB0D3206AB02C88BD59381CE66752CE01C67775E8CCA85CEBE4203B86B556FA3 +2808AEEA5C09BBF97DEA8C81375AB2C119DE997B4F98B3DBCA6F85CE5047476F +2034FEB1E046AB34522081424D591ABB4F3F4FFB6B2D4996E59059E94011CBA2 +E74C1932574522B1F46DACE147130B04F8503DED1B18968A707567BEB632B4BE +B3556747F4A11B34208503ADBCC8D1580EAC96F252246D321D8F1FD57F6352D9 +0F1EE664AF947CC17F00758A13A3DFEB29224E6420F630887F7ACCC5635E44C0 +C7E8B7452D1B0BC474E173BFF1EFBE098173070A610EA8937D0E51FD41E26B05 +977F25F28FBC4E6C798598AD52C332F0440241E6221F288E13950483271CDF18 +72C747AA477274BEC0844342991EFAFCB4A8B60D1C974589A35C92DB29E18C3F +F6A0410DB57492B73567FCED49820170DDD3F05F9E114FCB1AFB3683E8DA1790 +2F3CB86F75D9BBD4F2E06525218FE3394CD865C715FA1A0759BF7155CA3902BD +CE58 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMCSC10 +%!PS-AdobeFont-1.0: CMCSC10 003.002 +%%Title: CMCSC10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMCSC10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMCSC10 known{/CMCSC10 findfont dup/UniqueID known{dup +/UniqueID get 5087402 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMCSC10 def +/FontBBox {14 -250 1077 750 }readonly def +/UniqueID 5087402 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMCSC10.) readonly def +/FullName (CMCSC10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 76 /L put +dup 80 /P put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 101 /e put +dup 102 /f put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BB89566A9BDEC70EB4F2 +048A6EB631F05C014D372103E37FC3FA317EBC9973565A638403DA02E48B7D31 +CFF6C241DC5CDB470561002FF46437C06EF93BC99352DF04393C661FFFBF4BA2 +0723ABD9B3E9CA9E63BA57EFDBAE684655CBBDBA15ADAE43E1A2C98A3CF060A3 +D16AF8FE3A49B50A24C20EEED716E49AF6013D4D38CD9CC41A91C17E4D04D79D +567E1EF49110AA9C34464E95D81A730ECEB2C9AF38FBA6B45E253288438B4CB3 +DC75B3A906D4357293BA41E59C35223A6C9CBD6FF5FC90C2D07CBB376C7320FF +435A6251822BFCBB612CE630EDF826C37E95F541C21B93FCE127591D5E38165E +2B58A34AAE37712BC58B63FFD70AB80F4F24612CFD2F1466BAAF3CA2BCB45148 +D0DEA0E9B8FBA4C4FF5B8B3CB02E461355051842BD1C94F41066B9B909DB83B1 +DCDCBEF7CD00A43E4C0B8191A29600CA197F0BA227FB8309BB539D2A620BAC70 +8A1AB2DFA51ADC9873B8E5582DCD3ED154E5D727D1665F99BD89883D69E6CC2F +DB3A57AEB612171A88E22F038461DE03FC357F771675E34E90D4D19B4B36891C +9D2333960400E97494F4FC4DBCE6A73C34A0409E433BBDC0AAAEBA7D3555066E +1CFBB4515C8B573C9B9DD12ED5B6ECEBE35AD0DDEA9DB004FC6CB540B5117B49 +59CABE5FD74C6F5B6482B42C20B5FF0467D1DBD7CED2CC651CA57852B6FBB402 +A6764DB342889132C911CAA713A7F2FDD8A5E849345D6C81025E02F5B8B682BA +90CC9B467FBC37362436EA6BF8EB62D784B01D5430147945BC09D1F49EE89F2E +3E2B8E6D439248A56F82F2E03EA5C7A922F2813BE6538A3A423BEBC55B345AFB +3B3C125306749E137C647D78028AE1FBF3E1A82C260132832A9668F454D39C41 +736717DED0A99F6B11F005F0E1D07FE84713AAB4C042FDC166AA146D7B5E9198 +E4F485BE5B135EA281FF1C1E616B5AAF02771F58C5840CB5A427FF9794F93E94 +17FD799C78AED1DC4810BCEF4C6C51D3C1504EA2C6F2B29805B7ECF97B5F637D +FE92E168CB9029E90404CB54FB312FC7AA8A9F2F524C03E61F03B1E31D4F061E +1677B39D5D30C9FD4673E1723F4AE3CCF38593AD6D7F61E9DF3C010E51F25085 +35D51105E1464BA146A78D7297D4D310AD91342A0BB942034A3EC0696B467367 +3E39D202D637E6B14D0EBCA6AD3CF22B07D4CA69C0FCBB6C93782B2F0DFC5AC1 +5D8A16CB5EDB671A0C1BA9D10F63CEAFCD0E06E42C730C8EF769CCFD57937245 +658F486036D37E8BDDE5670A212FB488A8753322A5B170C9662750AA958C0BBD +8E97D8239D2A08B30416504DEEC4E506013E037C91785C674F8A6A44E23FEE6F +CCC00CC5E4D355B0871FDB8ECD64F70EE32449BB5D6F84F8C8AA2D5B1A489BA9 +D7FF2DBAA8D0B84054E93D64D3E77850A3724824914A0F821EEC3D605DD851A7 +606936B8B9E24D6E932E16C448140FE94DD96C75AECB73850035ED9C04A1D93C +64B21E7D4657E030483EC5C3554AEF8BE4D0FE5B9743B875340B09E01273DAE8 +F256C50A1A8F2E0417440A8BB0173F59E11523E1CEF2593A4AC5AF2167627B00 +C5EA97D125EB8A4BD4C372877ABF10F5B7B149D73787E0834BFB3084E9508DF7 +072DD71637019599252059738D4D6BC57A9358E4B14F6AF9C4B31DB8E25C29B3 +7A15F9953BD73ACDE5F0445A5DC406BB4635FAE51C1D8202AE31730E6F355317 +1DC197DB0B6177307C60E5D38F4487363EE051B2E609A52BC4D45B14B6558B6B +5E1618748794B8340752CDBE7756C068975B559615D4CD5A97CE30BAA7B2B1A3 +2FEF2E055232B24FD8A21BECDE1B6A479A28EC80AE2CD16DB50B30B4A6CFCF06 +491C7CD5AC29FB964D4846415233947522676DEABDA0D9535F8507D33693930C +B4E4240A02B0CE7EA288516B8A6EF908D7F8BAF9012D052C6AC96D9F8F6ADB07 +8984F3559C5E7E3022A957982155FC9CD599C74E18328D3AB46F9DD15D1C4C3F +9B93ADB4489BA02CFCF57DE6270F3AD2F8597BE71786510EF08142F430EE5568 +4F9DDB792B7C46B6135E341DBBF062FBC50FABA80CD4A384157BAE57CBEA9781 +AA4416323265168AC097DE7E30A0D4750143A4FCE70A863A31876A8FA5327C3E +36E89589E363AA2B1A6E8B09F5AEB8FFFD0396067173465B6503383DE517A6EA +88C0FC08578398C2A721E5AEB29F4AC9BC990A50CD87BD35A11F9E81F68E7B85 +5E5B95A4F9A5D30379EF90D78E1E466DEF867BAEFC4F5ED2C762BFF099C1C2B3 +5E0DA1C2FB33BE1379413CDDB1EE6BB3A495331F72F2FAEB8152E8AD5FD334A8 +AAB0082A71D5574B618EA8D487B8FAF1B445F3395B1E21224F5492A0E06F5152 +7726835C900E2E52BE3B7B654183AEDEC68053DD0AF19EF6DBC10B6FC08EC7D0 +CC0E2C8FAF8C9A4C21FB7C34E074BBA4EE64226BEC8C928A784C1BEE35B72EC8 +E9295240B29DDC2539CD118BAC38DB3917D14CD33AB45FE47E827F2A2B193AFF +53C5396C52CEA4F43F06AC2D08C74CC85D608CBA267175EC31311EE25AB48DD9 +FE811B411AE426C9FC0B6044D1EBF130231623F1566CEA4D1C06D8032FD9808A +94479C842BC41B675CF6B90113BD681F8D43F51D5016D80EDC11D7640FB950D4 +E709A46184406ED90D0892A4CD9062938A8205697A200DBE1F38EB166EFEA0EC +4FCB45CDAF82EA103DD6FDD03D146F3E42EDA6496064DB3F4FC1C5280C9E604B +D5EBCA08BF2AAC90156C11EF68137DC76502EBF216F3AF3EE30DD2676D218428 +F41C655093F8B530FCA378B5769F262A6FDB4B66B83F18F050E77227E28D71F4 +5F4425CB8D51B3DAE872CD86D7804F870BC564A6DA1CA13EDB00D131CE4F6460 +7021661B99612629DCC20C85CF155EDC5111E015A77B0B82A8FC1EBB374B7EF2 +361419BA93B857D5C9944BB5B4AEDD86ABCC261542077FE09701C96370168579 +5F89D5AAA08D700E2643E88C2FB8D1D56D37AAA9744872E7C050B4CE046B47A7 +83F224FA9FD311C955EFBF173042C8FC66524135F579B1397828870D5C9DC71F +8615FADE2A1CFAEA90F732B6C266E2F3048FC43EDA7A6B6D98E9DB793CF457B3 +F5877E7A055C92B0246FEA8C72B3B3456F93BF36E2651D32CD614C3AECC0B4BC +F824C8363E593A6458D37408FC5B09883B280005DD24123E2D4B1B85F4113327 +EEDD9186A4AF2CD6439B46C5C168C125CA80F9EE9E68906620EE126CFBF26E15 +B269838A54224EDCFE2A373EB750D4829BFA410DE5F1541E428BB1E024AF496D +F5F1C151F5A645C8622F2EF9088D57A2811868A8A8BFCDBFCE3ACB8463AC35B4 +8B6F44E1C1232805842F56FA468F81FF37D5D55B81CA56058558544C142EB3BE +07CFB1F75DECB1E48C14D6AFDD455989AA6FFE8B8DC54F462B3C20E31D270BCE +8E68E2B43A6625AC7E9792704FAAD6CE8BBE0B341DA7189EBB3E9D5375B27FD4 +12506D5BCA50AEDC6955E6C3C7BAA84BACAF7ABDF3A270C7734EC3C6EC22793B +E67B0E288F99699D38DA8B79F2D21DD97945FBDDD132A8F0BF947950D3C0B4AA +EB7B2C435AFE54489E1930610311D718AC610C21A644F34CB2D1959B3066F39B +EADEAB5CFC6AF4D191D86B02402B00D1C5262707861C5308730579795EB53207 +A291A27A8B5C4DAE0A87A0C6A260026CA3CB620E1002E066A515D7990F3DEA29 +0FAC962E0B82B7A6C86B1EDC54007822BAECED673FAAEF88C8109777EB79A53F +AF3C58546974F2F56E70E9B5CB59ACB5C27CB01895557B2D82134D7F02029B24 +3331621F38E68717F5CB68A8892D0B9C0A8ED4F8BB56E80505170D44C6856128 +2DED0254ADA4875CF56B4D97372AAE730D4C77A2940DC8C178274DF88A9EE037 +215C6FE7B9D481EE4DE809B124C0270782411ACCCF89906A8B143D0BA8B2CEDE +E9B90465C3E57A4FD9AD2702323450256ABD09A1F8C26F08480317C08B75B720 +70A161C99715A35A94DD5C9647ED0F8A5337B774C8E54F9653AC859485A1FED5 +37B725A7E4BA58711CBCDA6054E34CBD8E9F9460179DA7DBD243D81A1531FDDE +BF2BD425BD9DBE75EAA333B1F5793669A215549A774597E6ADA16D323FE5601A +EDA41092730009A99BF5B5AAE281844A6BF3292D4D4EDE36B4FD8BCAEB6EB72F +AC5D3CD53D0D621CA9EA8D254FDCB2B5161EE9E80B266563F669805A3A15271A +0753983004A1ECC7FBADF62AFEA4DAB49A178C231759857DB910668BDB07CB3F +7E8EC24901863088B3231EE3FA563924032C91CA9D68DB398F9BD9AC0C651EC8 +9051C9F709CD784F3FF5951DECD7E869ACC34B83AECDB011E6594347855EE7F5 +28811F744A4BD70D4E9077EA7EC19FFCF612689F12B34332857AE41F13E6D16A +962DB9B6AAAC167B9FBDF0068EA13412F318384134B29F3F0C399F1973A3564E +F9C3C39B5BDD4C98D81A6CB476E565860B50704BD65ABD630A5F1372F2D826F3 +3AD47C08B8AD3176A170C369EF3CEEB190134006D6135C5B8CCDBE1C11FFF1EC +3F6D8C46E15C4F5EB9ED9F31A129594D542D40DC3815CD075A0DBB648D868AF5 +15A05C4BDB28BF23653A3AD96CF6AFC065DCCCB23D5D9A945F8CBB539DD3BFA8 +DB8F1FBF9B6F25B41EB4309995CA3D5D6ABD70CBB4A2F0C6364E5439AD1045FF +72F6B45A30BD3A548CFAADDCC6C15D46F6D783D3E520215751DC98335A4ED512 +D7D19235CDF911CC69F3CF4365B678EBF3E87C456A4E77339C74930083445588 +462529C22A96A28C5CE87AFA0C981F26CAED5A1C8DBCDDA612624DBE0373F026 +465185A4D8C73CCD8D71EE97116F8F7D341B87FD78F9CCB9FBDA2A7799711607 +6BBA855AE9D5C505870DC85FDFAAA130A351D56AADBFBD6A7D52055E3200F8B7 +8AE9A00092B55DEA8BDE224B4BA7FD4A191CB1FFC4CB995FEE1AC2883AB69E1A +AFFC09AB5B9AE311A030A5BA05E2213F9BBF016C8FA80689C069314D91274B20 +53FCC65C7D7B3A7504887525BFFA060304931672A078BCD7F269595686310E34 +E1ECA868899BC402D17EC36CE40D5041D7CEDA77F7764C9D98793F5334F574DF +E93CB10A5E8ADAE95CE63D2339557091B4B4911A4987CF21B7F1DBADBC2DD605 +8EB72473C1F2EABCC44E0D0339EECB55DA74085606C3F89D57ACFBF5755A5395 +CA8D4BD47E4EE8D8B882D3AB31A1F0C62E74654C7E041E4FF2693A38A9796064 +46526B0A37E6B5BF8E48E80EDEF81E34DA8F6CC9025936A4D0E6D709D61B7B5C +AB550397117F3F9D2F5A542A64DEA8E1178F7337124D6B56BA92F659AAD694D7 +391028731E01284BFEA635314A8DA8DF7A34EA3B6B2F8803BE6DCB423A9E8015 +55EBD90EBAE8A00298B3B6B1C02BA516AF528122C1F2B07EF69F5466C2C36643 +0D665D6561705509B7582D8301AF3C32E2F3B9433E3E04D62117C7E8A368BDE1 +0D4DAA1C415B2A6573116D2A169AFEF700A83F55D88813585E89C94C07802BA8 +3AE8F9BC3CDBFD9C2E35D062B1FD6E79E1EF104FC70B0AB09D12CA027F33F85A +22F0ECBB4AD55FE8C616B82C46CE69A600E4F767BD7A9C5F9B37A3196B038384 +5DEF76A8884425FE598A63AEB19FA698C2AF7CAA4983CEC789268E22BA051EE0 +20A40633D22D8F707626ED30E8273EAAD1C065F0B2E1718B5AC853ABE09330C3 +B0082A71D557169BC1559B6D285A3499D41C4CCF1F74884EC3917EB9C574371E +AFE8578DDCA459B8D22C0188A8D150437B05FB92022C95EB6FBCC954216B5FED +CBC7C90B9A1F061376A9840FB64390A6BA99CFC8279A86A730C6DBFD14C53C4B +7277D676BD42203677E9ABEEC8C97E13DAA626474513B06F8734DD784F2FBBB9 +B3B448B8E8221E380AB4A86D3A683B86A54129519D50DD4FE63B30954D805CED +A9A5D9A39C58B65B08E1C19555E927C6DBF7FD07252B2B57F62B905D6B488201 +213D106A41033B26FFBAC2E616DA6ADA6D560BADF10E68872806CFD6F6E19D7B +57CF1F7A030A7BAD374F16A977E0ECB8742D034ADAF9C247DA19C8AEA74EF6CE +DAFD6B1DC562FD3B77E4D008BDE4D8C7FCA9895DA1AC9EAA01C32A0DA712B082 +9438E77230D38FC4153E1711417B918BA6CC03203A5FF082AF880F48518D8271 +C1121E4F1386B30A7F1BC6F10EA98443F8A65C867A109336B808BC9A8E2A75AC +F950835AA84B56F59DA4C8A18859C3B68F6B6DE09A6675F639EA9107BDB67B0F +54EBC564BC2D781B61C14363A54956BA78A2BB89C9F966C94EEFC29EE9F4E23E +C0BF750144DC289F0DEE1F8A25BB52E54F656FAFEE4BD2DA57E1306BBE648051 +1D0CFD6A23A3DF082E3CF13197BF1B7FB22B2CD427BB78F455C9634DF989DC90 +7BB2AE247B1C99AB2062855B2948341B0F857ACD750B59E370A6698C6A1F5287 +72A4A9628A592E313956C242DF8277EDD2F1FDFB07CDC104275FFBF796D7518A +DF49FF3CDEC3BDFF1D290C382F244DF18005ECDABF0C5C2C64EEC4383E2E07DC +5C82587C071E59B46B7BEF31D268F39D9B12D534344FBA515E9DE8F166FAD1E2 +7D1558967AAAD3829D3F7EC6938D20E5379F414532976ABA844D97A5E9078901 +EAE4D0ED1F4C7EE7A2D80D891A5013D6409A38ACFA497F5A169EB7F9F4890DC4 +62FA6A89EA48267331F086992B9CA9305E16611E6AEE67DCDD588A25D37F45B1 +0DE75C802EE021E574B64B3969DE2E5061ED9364B646C38D4BBA86802CA6338A +94E135D2256920EBFB1AA22D9E90C7D16853F0DF9F2D942748EE540E4FCE63C6 +5380D7AB4ADD6CB00FE8F7867E4862D8DB432F28331428CC350CDF7F447A65ED +D7683ECA35A22ADD06E9FE6BAF060913AEEE7B2B8EE4798E437698CC9EB2428E +74CE73F84D0D2292DE709D71FFF8901C3505370E6F1D4E28E6B7372492C65A88 +159371B1D60D77CEC93B272B6C5394EE1D2EF9969DB2838B8E128553879A1BA5 +2884B0A596E8FC3D1E648B7E26A4AC57DF09B9CE09B2F91D8CA618CA52AB3DBD +D005A56A420366069B73146A6F58E88BA49671A1AB7C2070C3D42AA770285143 +40AE7D7868C0E1993506B07C086AD7D4F28CE2D15853FC5FBCBF9425D8012B9E +DB6E1E5002517659C8DA69DCEACA94F368537668843D281FC11782F1C5F71977 +CA215349EE6F20565DE3D8D8212A40E1227A4B22965FA64A0B02C62BFDE97E6F +C3C54FED4057EF9D258C42D7440C78C5E0CC58A40DD74ECED4152F70A93CE71A +1B3A57C46F74A6D27BF98C97CCD31A8EA487260F224A3E40F52C65490AB4098A +7B9EEB54A5A415C8C88568F7D9EFE74BBB785FA18AA27D9201F28BBC477A20A5 +D1307AA78EB8C7CAD409AB64B29E4115E45F5FADDCC80CA74B296C4265A40614 +37F2ACD8386AC0202D6FDB6711E8CB06442F209D781E940ADDD6D881D4F8E874 +357C533115923B90138FFE31D3577C6AAE60D768970FAAB682CD0DCA3E9A9A68 +6393E4B772691C1013ADFFC90C508D51B02D2518ADCC7E79F7DE5DF9D18B8435 +6129064DD1A3995E5A6F45D78287CC10A0EAFBF47223494C5EA934B1BC2F7C53 +686C5880303F9E3ADC8B100D441D944686E1FD811C646C6DD0224F6CF55FA87F +D132EF50450879A25242A18683BD6D0266F8F333F3768D1952B0F32AA75106D8 +EC0AB703F287E847CB91FFB88CD9DA174B49171822BDE34621CF41EA772230A6 +3088F8D19CF2364A329162D39E166AC728B267758341630B00398D64538FCC4D +E3E6CF103794C29AEF7F7E56970F6B1ABA87DC8D23E280EDC77556593D02DFF3 +154883CFE4EF04E07E7539A4750FA1CF1A994E99B656E728D140C83AE1F196AD +9F049188A4184C84556C0476BE46DDA8ED86888DDA3065C5091D99EEEAC43092 +40B97ECF9E6EC8F51ACB40869E5A6E08A0BAB6B7892A232A3A1E688B81077DDB +844137AB35E862CECB9761D4FD3514C707D6C00DF5F2109C43785B93336E939E +B40A8E211CA36120572EEE2EA522F9BB1A60FCCF768D4D6E62F4F6521A7490A0 +7CE1F14CD451B5A1D6149A6AE7D0F27B7E0E31F556E2E06F41340ADE94AF27C9 +C8C0CEB284B103EF6D31C8DB0FE731362CB594A3D6D3F6FB52DA232DCFB65F66 +B2FF61B4380D93ACBB9EEFD298C721836FAA01D50CBB9BB1893DF18058C3E806 +6F38A5A43D246318AB662082852738821A8489436ADF0A8E8DB81897A0F984F4 +40B9BBB3098151F57E2B00F69EAA6B079B0964706C97E65FF25A6BE176934B60 +63AC35E81BCFCC2F1656A3CD8FDD30D635702D55069A4912F08F7C0DEE1DC288 +DEBDCDC98A2AADE487FFE6FCBBFADDE0787EBC433F9B2CA0DF3DB5931C7628E0 +3957ECB6FF8D8C3177A7CAEF8D06FF6A73AEC37849D624C32AA407ECF1BD24B4 +42988AE5D9409FB381D71265DBE5375B06FFCD490B11631704A069B9A52A92AE +C75AC0AADD0C1120CAF8D24E5D467AE411905FA5E26B1125F282CBC367FE5707 +BA6044AC6378A24BE69FE23AF2D5DCE46DEFB5C1F10F5CC4E832B925E7B28C44 +8BA606E716995E46A7DBCD302988D5643ACDB4EFD760D0B2389145FB9D857FC2 +272060104439D08EE93C424875646C0D84C8F105CE3C36B840D95F0C13A8A047 +D254E458BFA999AB393D639CD3DC58144ED58B59117A4E7B7BAC1C377C500793 +DDC3A6100BA306C16057B88B0393EE69355541810FEA870F3749FF44A1C13F92 +6EA8E01E94BFACA608B735C47FC3F97A4DA5C3BB2DEA9CA5968260D346A8AC7A +7520BCEA480B269ABBFE532E688793A86D21B17753B5583F089317228C8F105C +C8886FB9F3F99AD5BC75B910C3E5633C33C8E48236813E06F5053E815E0BD2BA +5522DF80EF4C9B335FF23645207DB4635EEF433321450CF0F0796C3A080B2AC1 +42A5AC6D7AA3754FF962880CE2389ADB0F783FA10A9253AF8DB1CFD0367CB957 +8A5DE0AB723F08172F1B33C7BB1920FE78CABB4DF877CAE230EB2630996BA797 +A7E75BA754F559F4BC2FCBC480519482911108F4F8B4BC90DD7534CC68A4BF6D +2E4DA4909FF8BA402D6E1D408C8E6D7527E53274FBB194E9F2D2CBFFA77D8882 +B4DDF33236AF575A44CA83B263760A88762CC1F7B8BBEBC68C7C44C0E4C501F3 +694E74BB63798C2908A9FE1EA3A0B258B06D1D83D4412BEDBE43800409C9B847 +311C68FDE6C15ADC1526736AE3BA40E7727D2154919D01D1B6F4E2A1A57ABC64 +4A34CD2466FF65E0C59FFBE6ACEA6C5BC113231BC48768E66BDBA08269634705 +1FCB50BE242CF13282BEF8DF18E9432AF3836231A2AA4C9F07CCE2C1B99B8FF8 +1BD61AA1F7C7B87B2A62B6EEE18CF5C48BEF8C2F73646DFB1E36E195EB4A365F +A71D33778DDAFF84964464BE3DCB1814C2EED16AF5897EE689B08A22FF70483F +1D46AB3A7F024786771B308F462C212103028135A3BDF1C2056A6B5FC2915D2B +30E4F5F497933677D0E46EC4E4FB78B597AFBB3454FC00B9AA76598C710B1DA6 +8CEC3228B88E910E9107A7E542A44FF1525A1C28D94CC6B377A0E43E842983D5 +69B9ECE500D3106881C31FE579E378FBD57904DB7396934E724FDCF2F668C21D +95A3BC693E500D0ABC597AD3295ABD69EAAE8CAE89A1FE2DA0FA1845E57B745B +272B5E3A106A02C7F863A7401E0F82BB4A8B23B0346753D37D8EC3E0E522387E +A834734DB9A8AF943D504C2CE2EC0C7B7391812317C4DE43A7122826CC24CFAC +A5EACC139479EA173C41B944D28E218297816A32D4032F8CA5DCD7ADD87F5762 +C22511C0A87277D5A015AFAE3F3C1C0B6741E01243BEB3A309345F099C642DBA +6480AB0581CF5B4A117EF2D13445D67BF7F429CABEA42FD230EF353C7F627126 +1C72659CB21A759EA449CE2D1182927BB29316DC1F54411A11A31293532C64E8 +581CA2D10B8136D708304D0118ED70250F85749DA57A8E48FE2FDA9411929EA4 +72D2466628DDCE3F111F06974B7E1ABE9DBD6E854985F190004AE30C25A557C1 +166F8002267C35E700BAB6847DC387FCFDADD2B6E965C1BFEB27969B1DF76F4A +1AF73A0FFD71A4EAFCA6DFC711FA3D366295B553440A1C6840B5B910E41AF4F9 +C17A890D93DF8770D3CACF44CC3AB40A5ADB7E753B131DD06EC36BB528A4D6CE +1521A3F4E04332831A706DCAECFF190428BAAFF74E6F1F08A369A179B8F57631 +3D6716B1FEE860213889433B73DECFEE220D941470288BD9F49905B4274257E7 +F72D96C4CBA4067811B4FB65F9CC00B675044B4AA2477953044BFF0DC54564FE +FD1C7DF1D339B1ED890207361428E0C0A142AAA5F6565B966BF6505B8A26FD8B +CD188843923BDF6C6CF3A1F0EDCE6AB2769C367D991739A0D399A107CAA78092 +C6E069AF442FF8E20E7805ED2382B5682929099DD551D5A181D06C9B4AF52256 +B54F0ECD41384D158932D47FF667A9FF260DE2FFED690B92C2AD57C27E05ADB3 +D2B311AA793A1134F8121CA87E08EEF0E88621DEB0F0686023B69D8972BD0975 +40FE804931E6747B0DD70A427D6A1D899BE6C5E194F124E1099E17FA6B9FF1F8 +2F989EA37307D7B12BD1D235A293EE3E92F9A7AB5E77245F9AA91CE845D77B4F +70EEEF8614098538888CC7D0BC617E29321AED382037607652C5CA9E9340B894 +63329317C542D9763D369CF511142280E8C31B305339AA5C0B4D49884F274C1A +AA834E6C5667082CEEFF21D0EB7CCE2D711A218FC35C820D364BD6786F464F8F +BF7AE7A818A7CBEF6144AB31CE021422563CA8DF703651F1062E0773761947E5 +1EE328899B07099D749B3018DAC91075122FC75127AD4BF84E154A0592C5F908 +A7090C61A97C54CC866B5B000C4EC326CB108B1CF64A47484E5AD518787E6C6B +EA3438A43F01F256C7C26DEB60749103397D1410219FBB536AFC7CFA6701591D +65C0E691988FC5C5A85982B60E63E2498BB4EAB5CB4B70D2359BE6F03161C9BA +251C1DCDA44A500E6B352BE6D48E2D33AFBDCB3567C80B5C740A2F5E96FB8224 +8ACF72135E282CB71CBD53DB1FC8709432ED5D2A8C6213C1CAFF5634640F3F3F +5008E89B921F1055C28753CA376EC4D626DF149D493A9C911FD60F13F2DCAFAC +D4E05807B18B4A611E102179E048FB746CBBA791CC672024377E655BA0CDC2B7 +55835781D1407E2D2E8D08D68E19600C77B761AD9F77EAC2C71DA00D90C54F68 +4BE4D1E04B9F28D624B3F50607B79A24C8514B8E68117903A83538DBB4F2180A +DAEA206043291EFF34FA8C336C3B447CA7D143F0B3B2379221124F4ED3A2CDCC +A75A3CB4EEACD03BD023B58D141AF79979468F02F2D23E86B29253B504B22AF3 +9D464B3BFA185BA629A1D71E74492BC38DCD0A66DF582F0263990025F7607B32 +04E772303BB0005FAA6FE3D21E5C198ED5759D70935917DB1B0506EFD4BB1A99 +823CC5745399C7E05B91FA183AD45F5430176F05457BE466FCD3F96662E9D34F +4514B5F70D1EDE7F65616FECDAB4F5564216DBFAF2F430D58C612A4C9F279996 +41F484A7FE8CDF480B0E97B8E3CF2766726A9DC7016F1090F756A587DF0B8D63 +9BC0646B0E93E93C76FAE1AF2953A3A5802B6108E4D49CC824CFAAF857A0D3FD +345E791680E2CF2C3208225F610AEEF3BF432814436CF24F89066C8271B4353C +405A7A2881F1CAA835A2BA0EC807E3A12B78C585AB9A574FE233FAD6F73A7850 +7EE6EF317C3942C7474219C49B4590D7714B5C9074C26762FEEE7E64955E6F00 +A6A688A2FCA1EB61AAC96596CCB46257BF12264F949EE12E5952BD376E74BB7F +321A1D6151239266BC0673E89978ADC63269322157B07FC69E9A42005B5BF8B1 +8A7EA479CE0A5A752FC48047A41B652ABC6FE31786DB53EF553FA5274337DC87 +CDEC99E22789B6F248EE20BC15E5DFAC150F55FBCA0669FE3E691713CF0AB864 +8143A1F3F0E6989C3195B1F43A1BCCB878838F15E0467E0068DB01DC331669BE +D521869065724C478AC55E1E91939BDB2ADA789E1798D0ACE9FF7C528038B8EE +54E4A509F462636803BE6BDE9B24C3D72C71054655F4CB77EF9623C3A7B58F89 +8F4CC5F9EE1700D0499DBA393691BB86302B4D062B01E8F384B1D47091EA476E +88A666F0D3829CF43A1191E790A3C7D13E15755DD592654E93BF0341160ACC5C +86A8BCA3C84A982AAECC639C1D691998654BA2EFC9037A94C740B7E1FC609F78 +5E98E2186094AF4BC47A5F02028C73B749FE9747C738B719A6257C09E1490823 +1854A20B0AF9D6C26D5BC765480B832E3C74B84302FB0F68165A649644022B04 +568F08FE47A440E325E89903CD5B5F8303569CDD4A3CC522E936BA3439447C06 +5D555CB217F885C24DF0ACAFCF36D3392F53B4253D57C377E148894F3EA2C1AC +80A79F88CBB3DD39D88AF90D0494386F1D6C6FF2A505FE975235824C2E2AFF8F +ED963871134306B7BA4333343FE022B0E1B6D33D4E6DE58718D6E0B6F8B5EB69 +4DFD6B42FD7C91B82F43EC2AC24437464CD269A8CFE1BC2300C8285DA66DEF2C +7ED46C5223AB0D2D8B3B79F1D9EC1CD22421FEEEC708924818EAFB4A811291DE +AC900A34E4E3320B39650FF7ED4F080859B4F5B2AB96CB379C1A5D5D06ECEBCF +1F7606EDE72D05D794470D052CF4EEAC30E5C2E26C4482F80CF9C02A4A144E9C +807D73A9F7BFCEB551452003A01F1020D8DF01A9236493645D58FD816E00A587 +6C9E841834BA869C5238905143B8E1F7256EB0A27D37F39E4CC6DE79B1348763 +95DA641752F3AAA6AC4183730B8197C4233126D01FC8AA0D2C784F6EA0BF9620 +C85DD0CA4B23A9872BA621F27BDBA3CC152D04B9634A3E67B0F76186FBD62706 +BEF0B32BFC74A943B3226F13FDA3532FAADE9BDAC2300495F8520160CB663057 +97984FE1D6B41D26BFAB8E9C1466C3BD2735697AEBD7904AEE81FD569F2CF667 +92C9EDE2DE71E98B8E6261E4E6B4638CB997DD117C5626A83D7C0062F547AD1F +142820C246233C5715AC31A37563F5B6D8AF3997AE3BFABAFE773F095B15F2E1 +DD0A55FA798E9EEDC31513DCD90BD17891CC98D45A93A5389F675D42DF9253C6 +21D80926325C8190ACAA6F1FAB970E242659781CF5B2666F647A8C9845E47CF9 +6FCA7DC18FDB1B7452132BF7095A5EE6B6102F8F0062DA387C0774EA8252477B +F54D2283CCB9D3C9B1D15769CC91D291B8AF6A8C38E0E30B549A48A91A01522E +A73591A759A6CC25574CDC270C032B22D1F6052EA2858F07F6E2ED0B93820C23 +17A225A4C6681DF6E41290AD718DC66581AD6CFA524F65398F85A9CA903C3664 +D4DC1E1DC4395F6098B15A18BFD4A8A2EE46A90900CCE1B466FF5F69D6B1A6FD +0FA963615D5CAB6156695713B71E9D24CD14EBAB6DD0ADB9EB89567E9F2CBF7D +70E113C390ACC8FA44E36F30DF07C880AFD26134B19E5CFC01FF7338F21552DD +7CAA7D88623A9F95CAF9BF154893732A38564A544A0BB7699C02392185471F2E +B7A48E45860A5F8B06FEA47521D16FB3F160C4684E488E62DEF2731CBC4E6B60 +A7E3F3AD201443DAB2E24421FF4AB890E2FB62C10BF87CBE82E971EA8A16B39F +30352B4E3FEEBC06E34207BC7D073967D43E795E7D98422C63836F7723BBA993 +118F8EE10D997A23D7BD018476B5F981D3D3AFA46F73CCE5E95F78CBB1381E82 +0D4560AE5808A22E18AA15F53C3BEFD16A065FEF8ACC60734BAD61B82ECB8C2F +1B65DAB29FC86DD216AF31324A1BDFE8024DDECB7EAD5950E27C819A6164CF6D +DA98A2061248D9CD5694D61E3BDDA14A900A943AED30CB9381F11E4A98364679 +D43D785B03765046AE4CCC91211A761F3AF6C6564EAF88FD173A1BB95CE98D96 +6F7D0CC60A70E5009CA22E075D10AABD1A533E565E70C18DDE06905B9D80F5EB +0E3D6B976A26223F6ADA830D7C593E92D3DCC247B0AB9C8BD481E628D6FDAFF1 +B81FFE38D9BD6EA4B55E325FD131DE9610DA5AFF5EAA5967EAD427CF067DA821 +56C01922AB95AD48A6683AFE469F25804D8F29F746AF1802AD5872EFB72BC587 +BA1448D33D8E79B4C628C999E6184B26E2BB09D72656FA21D4B304FF29F918C4 +E0A0A2181AD07870867AED7CB9A76C26018E03532F31B7523E7B9AD2890E9602 +DEC70A574E0EAE26D8A89D1890747DAD6CE971FB6892F74ECDA3E920D939A596 +CCBFB9D78D0F05965C5E777A0FC9DC414A8B6EEBA3C0D3F7133E3E4C776E6587 +2A4DC297CB1F984A05A6887FC1734227CACA982FBCE9B55C4943AFE7986B348E +D1DC1E003DB93F84FD4E93F63249121230D74285B0627CB4085D076E1EE168B6 +E606EFA8B9B83C8745DD96C1B5062B03DF30D91689168D547AC1A77DE7217557 +E47E8A11CB9D2D3330ADFD72F43799B393A8628B8E20F27B5FFE83E165FB1C73 +4272CFCEE26C367B50CB58F0EF5B4BD3A0BA4D730FF79C1272E447423DEA031E +D496C4D6A3A49BEE12B857487C49D11D89A9EF9BF18478E172FA91B8E37DAA48 +A7E435C0FDD534DE69FA24F5C733A0717E31C1F525F9106AC1AABF8644FACF7A +7F9E9A5FAF1A2504D1B80E9553330AA8DA545336DAC8575D84A8EF71D9FD40E7 +D655B9135648B0BD54B3644F39AD56D4CC56653C044555E085FCE6678E2B8051 +B0A9A4D391A7728D51B18A9BA384BD514F44A1F298CC925AB139AE6EEAB211CC +9CEF5C21B9EDB63C33A6CC7FF3867D61D312409537C77C08B82C27034EADF010 +651E3A64D578B4529C8994F83EA65E24DB9E6C69BBA5E34CBB9F2DE0653A177D +CAFE100445DD6F58276C364354AC31B74F645958C2F48254FDFFA88543C2ECD4 +7C1307D1F7684BD88E78BC65C0174CF920D9AB4A599A114881EED632A3B7E4D9 +76A12EE92A1C1CC91E6E91D38567163EBDF8BA3A0466FF82149CE7710F9F68C7 +6FC9DE81B5AE23DCA2101D95724EC69750CE51130F6D608A3B36F9F335A87E8A +45555D586F56CE6E2F53BC3C16D62BBA08B906B15F165BDED8A81B66ACD3A425 +1DF254AE4413E648CF2AE44A7067851491542201DB63F00597F5D3494ABCFC0B +2A5AB4226407F9B24B73427B9BD6DF72EFC24BF38890E4D924059747041F2680 +2822C8E5137E0205D75B76775BDB625CE110B642 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT10 +%!PS-AdobeFont-1.0: CMTT10 003.002 +%%Title: CMTT10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup +/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT10 def +/FontBBox {-4 -233 537 696 }readonly def +/UniqueID 5000832 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT10.) readonly def +/FullName (CMTT10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 33 /exclam put +dup 34 /quotedbl put +dup 36 /dollar put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 42 /asterisk put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 62 /greater put +dup 64 /at put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 91 /bracketleft put +dup 92 /backslash put +dup 93 /bracketright put +dup 94 /asciicircum put +dup 95 /underscore put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /braceleft put +dup 124 /bar put +dup 125 /braceright put +dup 126 /asciitilde put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3 +7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260 +6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89 +14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0 +0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397 +3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4 +BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F +D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0 +FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB +556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F +8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E +F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB +B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673 +125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787 +A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77 +4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC +56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178 +E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F +15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385 +2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9 +05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390 +6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD +04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728 +C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4 +70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA +4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A +A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473 +62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364 +240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D +69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2 +ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84 +121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4 +0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB +D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A +0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157 +D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C +550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844 +CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A +9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4 +FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F +7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06 +E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6 +50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A +2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05 +9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2 +44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE +49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9 +385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091 +8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011 +6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C +EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0 +E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB +C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE +484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29 +4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0 +0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C +6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F +5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C +1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3 +909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8 +BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506 +CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0 +2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0 +CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08 +EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811 +0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6 +9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A +D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4 +21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0 +7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F +52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A +FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD +AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7 +F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429 +067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E +E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431 +C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937 +5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B +0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD +CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC +2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD +E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714 +56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957 +F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F +E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F +0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D +67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046 +EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7 +CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8 +9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5 +9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0 +C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861 +327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203 +F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC +60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD +A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4 +B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5 +0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F +1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1 +DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D +55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C +7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E +75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5 +E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149 +8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E +F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB +8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F +D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914 +54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0 +49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9 +CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0 +34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276 +1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA +6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A +DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4 +E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD +4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD +2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC +ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934 +3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE +97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C +FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570 +A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF +639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4 +D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615 +E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2 +1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E +A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3 +F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780 +5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5 +4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50 +664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844 +4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8 +35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04 +1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6 +01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A +5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82 +2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0 +DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C +BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507 +39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1 +C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665 +99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481 +7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE +D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8 +6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184 +5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38 +6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B +F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81 +E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9 +39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81 +7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5 +ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77 +6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882 +2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230 +1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41 +06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE +5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A +288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E +7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F +759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF +E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E +03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A +6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859 +314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266 +74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D +906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36 +673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E +A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901 +931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B +CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390 +E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1 +4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136 +2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE +F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B +E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE +E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE +251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71 +7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 +46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C +E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 +DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 +F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 +507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025 +46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F58392F2F3BD650E49 +2E3AD5A14984874DF4572816931885CE8A448EC95BBF40DDF4F85653AD90A88C +C4A879C0C7596E61997B972E8A55E57B17F802C738E5C7A8FBF6424F8B131B23 +CEE3EA3747DB066246C250EAD335A76FA166ABF75120CECB59076AB31A51F176 +57176CBE8C802A97B0542A5CFD6D5E6D7EC848B923012E45D9F065BFFA0D03E6 +788B68BA4DE51DA37994948F859D41C28BA939C3A82BFDB44DA585AE80B8CD7B +A6EEA79B70BFB4864E06F06A9751BD2D2A209D150D7135E0A25D67263EDD2A7C +C63B5B76ADB05D44BD5BC0BB3EBCE2E74E1AE5F7DE07A59D90C932DAA2553505 +27F2AFC05F7CEB39E1C7E54F69FB0BBB069959F2FBD11709F8E81F6E7CA06DBA +1CBDD8E7A78487462596DA288B50B295E46F4C3D9BA862688C68859734B232A7 +4B371D2BD786924F186524765E789EEAA30B20C069322D42C893A30BF1BD2C46 +F8F3732DDFE80B8FC1789239345944D8B457824FD80D11184E73FBA30EB80A9F +2FD466826D4E666E3A835B98A1D4AE5D17053A6A648E26E77BD08F9A3E02956A +AE82C4929E9666F539079846527D0E326FE7CBBF86E3722BA3E53F8A5121080B +ACF8D3C67A2A1DF624B9DB92105D3C833F5A6ECEC108E026E1D3D968967A1447 +15CEFDD09123D56606134BC3449404ADAB1330C9238DE48F3CDFBC91EB86D7B3 +8B85B5BA97376A0673E434DBFF19798EA90BFBD94493E2D21976F8106FC0C276 +C81C9B9885F7A063D99B451BFD666E82909A1D8257272FE1D422DC5B6D2629ED +8A93225B7A50361D743D9CAFC3B054F4DB65684D6CD4AEA47C3FA13A6E7805CF +AA4A0794AC016409EBD90B0E23678322EBA23081CB878B4619BE05CF8B9128DD +71CD833ED502C5E084783A5B4E64B9536C3ECCADDC8A013BEBF58058F65CF340 +E43A7EA1495801B2A653FF57A78F54FEB6EF07418184B93D084429BBC6703546 +24C31C68A7AE969455F4F303CB1D43978B1B064CA979CD7BB29C37D0E9262BBB +55C96AC1596DFCD5940FB75B0BFB3A2D301EF97A217A1CBE5F047EE68288BFBD +0F115453084448547D85FF2FDFD5E35764D09E1995B982450EEF4D1102CA1D44 +6D95674836F18A3A1CB8A85877A99E2E7B0F7E6FBCDFA20A253F0C369CAEE40E +EDF6588A320C483D7F115E637AA56E4BE0FF069DD38912A98A634190E9BDF3F0 +0159C0AECD0B0C93B6508CF9AFA3BC3CDCB01B1CDC99FD86A83C0FB059C1AC93 +5B62E9E58477426945F4383020829462604E0C0F4AA22629FC1A003859F382E1 +89BCA593C95F42C6CCAA8281D85408835CA33861E640A1BFB8817CEBB6072BA8 +57413323BC8250901DE5A87CB9C42D6B6CBC2426D341BF6984D90593170598C4 +E94B5A824F39C7893D07EE7D9EBB4B412140835472E69F598D00F410A7E6E2EE +83A718BFC83445EC95D6B59D20D56A1AF89782A6B454893AC1860D8C9613AFDF +E10B3B1DF0DCC3424389D10F8008633BCACB1FF8C62185471D220AA648F5E0E4 +31F5745C5BCFE6571958DCAABB93524A33AB072B17C975B875A2AAE505935906 +A3F382ACA7B4667704107304FD0A456ABFCF03293409601BAE9048AC2E1265B5 +B05C531CB96F1D8A2CEA2111F06336C394289E4763F61FD0CAE9DDB70662BB91 +45402C3D4184CFE66E4C75F90B9F4A9E56F33F5224C40CD458FFCE01B00377E7 +A2C132EBA267362CC9FA700CAD34E125F582D350773E040312AA0240DAE7E9DC +7566DF1E02BF6E5037F37D757AB27636723A3D319225C3C8EE4E5270E29D66E6 +01908A101027FD08EC9C500F754F00ECA9A4693DF0370A9804AE51C1EB36BDB7 +62C7896AC6646AD3B2930BFB1D34B257F666D26BA31AEDED9A2A1841400C3A12 +E720D8078517696443853A97912E7A58D1CC858BC7B4D76940D49B2C7FD9A30D +9E8FFA6DEE15F14583074C4AD29962F8203CA2590BF80484EFBF74859197831E +CF5056018D10C6698B028783A0CDD8728C0C717C1F9D25C94AAB1F71EDB16B1E +C17403B22A37A1896B97443C692249430BFCBD229B02BA38D99F9A0A3B3FE662 +D6408C006F302CB1578B0EDD5DEC1169F6528EE862FF17A34790A7867FC5903B +C35C08E4CB031695DDDD28D8ECB34302DF9C9D4CF6632404047C91637E104E6E +8E228854A2A9530A29786616C618A04CEC0F3A909C9E8EC4F2F371E86206D78D +05B29615AA6A0FB93AA2A62E556433EA3ED527C12EBA31479C7175C0A7E0AC89 +7AE05761B5334EC76474E2637C297111BAF676A32C9FEC87113CCE04F91B54A0 +6D57CA54137F685ECBC86A5ECF1706A74143A283F5DE4895846D034082F1A84C +CD34430F91B297578C0D126509EBA53AA70B901CD5D2C491C47500A260116A76 +3E959E889718509A171F8B340312939F66900A73028F25132450F9540D78D510 +FEEBA8792AD3C87BC779081577CE1ABE416B7B9BE2DAF7E2B66EE0D1D8FE5639 +2710BFC35873FB0E18AFC68372B75AF9B3BCF9275F027D92A0AFDDC4852663D5 +6BAE0BF64D386BBFE01AD0CA8F7C209BBB365B9C04596C8FED28F07755AFBEC9 +2B04F359CB44732509954BE1911E4DE05E1E31B4B71D32404CFAF40EDA07278D +A541BF3B7F6FA3E714F7C2A423A60D129B57DC384054531198CDAA0EB710EBEC +CEC5B24B93A548AE01286E113EBA77A94CC7B6954F8C2AD72FE19B58A407F8FB +A824540B79150E4DAA8577F11448F2DA3B490834E748CABD1F60C993BD3E5C78 +F498344F548FC4E0A0969C7C2AC9B7020950DA860CB7E995D3321EFFF29C95F9 +0E0F8ADA806335BB75117D3AA2A55A628F17C6D459F87F93CF5E6968FE8EC83D +BE0891D0F79B15142FCED17909357DFB4C6FB6E533F65D5ECA55CD7080503A74 +E135F76095326A224EB3222AF00C61D63D795DB260B31BA213A6B00F1B6E275C +FF6F6278FA5F8D1B7E4C7BDA1A1CF019F968856AFFBF6CB7E33875B819AE10ED +5199A36EA784FDF788C4E3ECC35EAC412AA0243999753B32C296861695FC8066 +AC43C26ADA353026B4574519606AEF2CE201857628D85AD110130264EFF560D9 +8EC1E542418C245C1CDACAF0517858C28A24F9341B5F50FE65755150ABFC0F29 +F4D82ED9B8ABF08745181279AF82D0D732AE2F23B6FBBBCDBDD6EBD8F02BE39E +92A423EA8BF7AE91239DA0EADCCFC57F7C00D39011BBBCF110D15D7F35242569 +39E494DF1E2AA5FBDF9F4A3BA797E65DC2E7EEE6D14EBFB6B2448424F212AEF7 +10C921B4329C22F56A13B059F2DDB73B72A145C4B0D41098ECCF1F6450D2CC0B +32189CA52718E953418CDBA396A7A06481A7E22B0EE77CBE83DF949ACD75BFA9 +31103D1B8E43F1CD2D36E475B1D4FF71919117DEA7655F878595745F0590ACD4 +4DD08472A01E04F60E028EF25F47CD6A5B2ED1DC998D35B7E5801E921532DE1F +0205DC4E80BB439DC493B1F9BF95ECEB79B1B453D481E6DD9CE1960E2175C102 +9FF760E84CA0BDA9A53384EFA4D2EA56B1FF59AD33B98C75CCFF90AA84295D30 +0E6B4D5CB842C606C69ECCB450673876FE743C209E861E678D01486E55880DF0 +D0C00480D7B3CD92894B9877B8FC282756CA05DB1B9D09491763AFBC4ACA00CF +491C0551AF23979D75499DBC17C8F8676188458100D65F2BDDAFF7168681C055 +D562FCFA0EAEA5A8DBF4811D177022265A0B9202F4328E909FB7A3B01C3D4926 +4A341F6D12040F8A288F453F6C57B1B79988D50232F399AF330F92D079978C6F +07172BE15885B7BCDED846E75E69CFD8A8BFDDB049D72560F7837F5C6B532696 +BE39AFDF824E3F0F9E3F0124A3121883ACDCCBE5904B24F5ADD6552298C6B600 +069611D58880A3D87003A64F3BE81FBE567A43D7B99B878685B3608B255E31A9 +0B82615EA4BA9A99F613502815B68B0F227B1ACDDBDC8E562DF640138EBA9070 +DB61383457B1461FF4C0049FE08118D800F3B2A7B54634D4F6A254B701583FB7 +79945F95F55CE601C791622359675B7C95EEC9A9DAAE8876B3B7A280CDA183C7 +4C08C236EA9A37EE9CA305FC0F873A4585CA3A11A62A30D1833E97B522EC7A88 +B8D23F18EA69192030746CD9496DF0FF3256BDA504310C754D48DD377734C5E5 +7E3B98D929C3F183C8305F24817CB8264ECF1FE91E7C44BA190462C24EF739E5 +9CE71708F48516AC6AF55B8890875F9FE7B5EC1689B4F36CE45D7FB44DA26461 +EF4B8A140D6A521A303A2B95733C3496584E9C2FE3A0EA57403E288BD2DFE3EC +F31828C92D875396FE805AE4E45E107B8B00D3545D5A2BE7364EBAE41223F1F9 +BCA0708E71953CAFD7E7211E588180BB9A0F5F072E7235E9B1BAE5F7FD2BDF45 +A3F7E2466C67382E9EFA513B5A6B93B29207455FC542E361046CA692CD11A85C +F0A5AE3B9D3A61A4B5A1E48123A2E30B3213C6A05357618E24B42D309A69E478 +49BAA7D80D05D475EC2685118A951B183955048D8089E90C3BC27B80F8E7E589 +A21F3CE190FDE10BC0D706A2BBEB1B5EF3884D123248013B96F0904FE5391A00 +865B5151ED5A65A1FD2455704762E39DF9AFB7DF855999832EC4FBE98A107672 +791B45A88FEF1A5F06072139D3CFC0760870FB3DCE1F7C7895246D2BC57354E8 +0422F5B5B56F6DC6215FF57D10645893087D2A6FDAA37C4C4ACE270ACA9F4448 +522A42FC6D0F9FCCCB1D7FB7886C6951D4CEFB92A0373E576D2868F3B06E64C2 +06D274A7B0A6596FE80502609FC2A38BB7E440A516355EF7E0E3C1F8797B43E4 +52A07AC31300301FE8171F5C5345026F9141C06772C69C0351EB5590551C1A5C +A309A850C32504EA426826FAABC4C195D67A1DB042496AEBDE1FD60EACE9C0EC +EF8D22E8461645B79B17AB8169CE81862058553D97956BA06AA094B3C5E0DF85 +19D32D6FE95C23020B629E5FDB7CF373DCD7DA03428DB0FF7AA402C78EC751C9 +A039F2835298C4C2B7A738219B15B15F0277FC823507119598D92033BC4CA2ED +F609B768241EBD7DA8E00B1133F866EBD04AEA48944C0E5A780A90A0C92D158E +F46F38C26BC8B5E4C8DFEC0195E921B224964746CBE434FE19E9ACD137213F27 +09A75FC293DA3D7D5A97A95BD386E7244FB1BA945DDE9C03934A4F29A92CFF44 +E8E8DB8941406247DD54CDC66572A91720227E9ED08AD43DCC972C9B3C81C43A +3FCA5CA564CD1673AC17B96F62D95CD69690F94EF054A7FEFBAC9A66D27314B1 +550F2C9BE8DA37887666DF77A81206CE534F80A39893CEBC9D21C9FC342583F6 +E8BA8055F127EE8517CA25E5F5D7C328CB2D21E5007D94591B0143AA9399BFE9 +3F4DBA53957EFA5E03C8ABED40809AAE7E797E0F279FED7C0E2C58D5802CCC48 +32174200A14AE90097F7B7EF00A17459F115741BF4FA14C72111D5B4D28B5599 +482749B5EF4D9CD3990316F9E18A42CF3A2769C60DBA16936796E59409AB7B0C +503CA980495F8C22D1893C0E06D8259ADC428FBE737B98B712E26FA67EE34105 +977A708537DB825C28570D0F452C85ECCF64A256F437417EB64C4832356320EE +3051512AC3D0CC1B44B5435B4703E2EA572859F23AE11B2FF5C68A28F7D4E0B6 +B11B3B34FD6936621DD14440AB4335C1F98C647A95A46AEA2D1BCA45796F8C64 +8C4EC63464D2A6926884219F2EBAC9DC0BE59A929ABCA8DEE598A79870D3459A +68DCD0977260E1CB376E8417783187B1BE5EFCE623D03462F022AEC92E52EF84 +73333629D44CC8FCDBC22FF4090BDA1E669EE3158E3A7C45F71F44BBBDC09788 +1FC8B8A3754E18C97FFA7224629B825491874CFF56C78CD23FE9DD07D5167E9C +F0826227E886C2A9E6853E885B4AD25E302776B75CD0C063931FFA928B439C7A +C0A5D43B6F25643429C1358EC3FA22E15FC6BAC9CDC3AD6722BA76FDA87BECA5 +B4AF0D03756CAD98FFBC0538C060F3CF3E1C32A2963CB923B2DCE0705EC7E821 +899BF32C9AAA7C5EFDAB52907323757C84307C96E4FF6A2CD674563A07818500 +FDF2F752C6C67A662FAACA1595F28B82215D0F33001A2B19471C27CB556FD3B0 +07AA83F595C1721B56B7381F4A98E5F07A632F828547FBBA7121C7A3A8D01276 +AEBA56B1603D168E57FA5E137D25A63201901DEF76F72F93B57C9C2E1A8D319C +0193DF136DBDB16AA7A0F885CF42D31C1444F3C4AC5108FD88AE16C0C3DF2D96 +49D5B99A7BE4FF825C4A6B92F95E45CC68632A1D7F516E5491B387F71F1509E3 +2733532E821621531E931B5ADD05F286D96394B3E506C53019DAF327F6B13133 +13A65D8C00971B64D916E35C974DC6FAF55B3583DF7B093EB02EDDDD47ABAF43 +200A1B89D50AEC19145216884506063F206F2AFAE8AE3C10D56BDCF974161944 +B7E5DA00DCDC5BC1D3740F3CE6D4576B5EB0839FA095BEAEDF3144021FF6F58C +1CFFEE9E83DB08544966CA861FEDA5A04CDBEDD9974BF7EC917262BBA20F9505 +71F32019F83D96C5A9122B7A3B042A51E3AA2279F6EADC6503C8C57B179C6307 +5E49F6F80EC4E1151DA662B0B6411CBD053900359010AD52479A808926A426F3 +7BB4691DD35BA6BEB7FD9ABAD99A6C19FA21F2AB8001F20E0D53E4C9D587F4D3 +C9608D2250A30ED398F8A1CDEAA47C84CF68915851524D27C9383379A511F767 +63F4BE4FF81EA3EA997DA7D57A79BE9BEBAC0F8DCC3B89DFEB80908C4253C773 +E9BBE59993FE89B75C397F0056D431F09FECE9B7DD257C9F2DD8227DEB826671 +C3EF09A8817294EFF9C89A7CD291D01D6144CEAED5DDDA6747F6BA36210712C0 +6FB573CC82ADD41FA00AE80B45321F6AF001AE4A5AE829DE2B26451CDFFBA845 +1F2F667B3B20E505DB51013CA750C44EEB72D56214A470DB0CF4898C3122E5E4 +A920CFE397B47C832B817180394808DF7D0A722E9604F03C9FA8F3C63872AD16 +E719671622ADFEE1122D0BD025F17F773EBCC6082E900142D022BD4011C50D9D +5019249FDDBCDFAFCA2D336F3EBA9452D80CF08FB49D937B137FC4376A430552 +4360A2AD29D1D6094B657EAAE7BA1CCAD90A5717E0754A7D7C45A2494557F199 +69C9B210D0A8F4EC227539CD1046374F85DFB684631FBD5E421F34EFA3BA6597 +A840056CEF19CACCA69822709A772A4F865499D19FF85B981D76E2BDB17876A0 +91F36CD6CE7535EAD7EEE0AD65168CF4FEDC6F260C431651F490F607DC902525 +B29CC828ADD9B25890C31FC15FADD80DB54000162E8477D63899E59F0A1C6056 +A3D89A9AE9492A06C2448DC43B73582A864BD1AA700E5256D87E64E124CCCDE4 +9F7B639D0F6F1B7B32997DB7ED67513DF89B805758845B076CE9A2A011096367 +FB4C8B0216EC1FE15EEAE1EB86B4FCAD7D71658D7F67E95C2EB0DC3AB2BB75EC +4C11B81F678367B00ECC1EF8DB5AA29D60B2240229D14ABC26A96E614260D397 +6E26C6EC876629DC74925A910330172B4DAE2EF855955BCB858DC8A9E1B0F4CE +242B3C86F72612577BCE817612A3F39BE2089268A63B010EC3CCCA54A72EE42D +9970C98E1707F47951DDF8A03AAEAE5B9DE923DA2BD80CDD272EC036D1054C41 +C0B6206B07F2FED69522CA21EEB30110187519C3302F79920979501D5B8F6607 +7D658810251482D86BCCB67654EA90C5349F494200A88F26266310C10AFE441A +8A593D11A7F28F47469BA3AD42EB1E20262AA761F876D3E286454591E3671CC1 +7CD0DFA25FEE05160740F68F4364E1D15D33D8D1DB7CFA88FB2C48B42440754F +853050C6288D3F2F26770CA413C9DA1D23CA54470CDDC1562D9CD88FDA352112 +EE0FBC79605890400BA502A86EE2074B9F3E17AAE163FB18AC6A468E3A176D83 +87CA420AFE69EC18406077D150FF697DD8ED87A372842A7672FA24FB3167AFCF +9CB64BC1A9D2BD94A5A54DF78DD35AE0A64BB726FE31A8622009ED7481FB39D8 +4924F19FBEE2AE9D782D805B1A9AA1D7A0EC5E75EC34C1FAC6EDD18018BB3D81 +5E7369EBCB3CCE037C0A2AEA0BFB9C1694449CD7D89EA5685DB74913F235AB7D +3B4E8272AAA221984F820ADF9A07A3FF715741296A9C5DDB732BF0D3F0251A12 +EFBA0279CB201E64519C49E0F2DACDD1F7E9A7D711CB1021C22439ADB20B49AE +A3B289B4EBE3BC921D1D6EA9C5E4B14BF26AE1EE66E7D986CD09B8F3AA2C620F +EC11531C03D8C636B7734FB56D52E2754FCB9E961798D09CC0AFCEEB9B2B4310 +1D90AF012FBC9661E759450764AC34DF6FCE91CD930F25AFB840F35C9A224B53 +F307D74BFFA7A81FA2E0BF8EAB339E0C9008EAFB1A8F26109B63815405FD11AA +7B026A2C022F6EA5583DF509D4A57FE6A67828424B026605875191EC03B89980 +72BA857E777304F75EF3147C2B3E94670F712E8E7BE9B23E235F1B8C2881C0B5 +8081CF865C4AA2C12B9A3119F5E137C737E0EC0E9E4442099ACD0E35115EC0E0 +AD2962FDFA7972D0939D0973E9021A3A2506D6FD88BCF4B53AC9A2778EEE5378 +931A96F3BA237064545348AFDA2A31D7564EA4501144DED156676394C2905B78 +0E469C1CF8FAAAAB55D410AC95DDC3817794662FE0AA8A431199A47D60A97430 +2530C4B60C7B1E33EFCFF3ADE007AC2BD2E5BA6E9CF44D7AB0ADB0ED401DE5DD +BD58022FB2277BF3F5251ED52629872DFF21501F1C925AFF232285E03D147CA8 +F1C229A3F6123D590977A60426389D686399FF391E539A245812DD441B87417C +59A22F33593B360DBDF5D1A98BBE080158BBC8DABECEC9CF8472446A30D8E76C +62304E9E66614F632D374F729A62917E84C76DDFE667718D18BD2AD151059FA2 +5C8D8CC3AA651D72AA1A548C1A9740EA2EA814D6E18BE10880A4102E6F3EFBC0 +42C93851EC19714C876E0323D279F89EC5CEAFEB5BB2EED6D31EAF9610239158 +92076023C582F23532B9FB9381478C7341238C93F11FE6A6BE0736344FAE7024 +336C7CD5842864E5DF11C2BB9D1EE85D59FDDBB531B4373CE2B7B65BA06DB29B +10D06B1D8819E9564A9D3E07106EE94EE4A9ACF41E9CBE0D101F3A6FE0488C37 +D1C0A4B19AE237E1A609678E8CD7D7B059351928516718ED3570BF990041A53B +2BE40286B07D69F11391D00489840A9DB10A93331A06202A6EC4EDDAE81BE3E8 +35CA48ABF67B19A87BE9CA4B9BAE0FE35344C4B6E15B89393F5090E748679849 +A8879ECCE5376B9C5303E2289E54091B29D0210754835F9CC78309F929EA7C7E +8AE7A1D4BE11E6496366649381F26BBE9640082E041863916FEE6564F7398EB8 +E93D9B409C6E5F6BAD8B98801ABE258CC013599713F006A798F98FC9A5E2BB0E +D6157664DBD08CEB47924E8CA662A5334540559FFC93F00C058F1C141591D4D5 +F7E44C05244811B8C82EA079623B0DB6EB7AD0141BA5C967542094AEDCC5557B +C92A04B7E34E172EA034A143790ADA0E58ED58E2A3E6EACD4535534E5090A22B +1991FCB4DC5955E8D65FD99D7EBB42D63615A54B9DA46F2453C415D184FC70F3 +4213476A9934111680D1AF8EA340430BB45D857CF46917B2D984BFF5F8302092 +77780A8437945CA0158374AD8599F5596FC1F989A0A377454EEA500C2C5AF142 +71975444400E63734365A27E3A4A25EC6B47A5A0289E804C960141DC628FF11A +4016DA51A70287282B769F91E996E5982526F226F7663830B1AE6C68958B37E0 +6CB6E07F32CF7210FD6372677365F6809BDA2F6E45D16884E79ACEF5F80352C8 +F5B59A9196CB96E4EDEAD5AA97C2F49399B5089D224C19B5EF8B2E96BC6616B9 +CA1B353AE1D7FC17B29CB7A126791A14384DAC63649B84E5200C4A73D40AE281 +99500C0B57ED78FE3316E33685763762C0C4B8B43940B1DB61973C6209898224 +1065C99AC3308F8D688E304B9EAA8A93387D1EDFD1622482967AA2981A713D7F +69D38982FF9755D9ABE96B2AEF994745CF385B081D1F02AA3D98A5470FDD718F +B8D1CC6D000A184143B208DF05A1BD673668A69571DC83A6F9918007EE243DC4 +8B54CF2BEF5EBAFEC550916D39CAC64DBB3C162FC61B89A396F5310F9512B6EE +2CD731C0811CB88A37BDD4E0DFFB29B3BE856C8B7E685B0ECE27AE6C544A09BC +01A7ACE13AFAADB41296E59EF8C7A8120E623DC26B71AE43F73AA9989C583DF4 +ADA40324EC7384E0A17EA610BF71716BFE4F86E424E25A331926B4B9C49C8028 +44329CD94984BE037D0B22ACFE216F376216FC6C38C050E3F02A9636E8472495 +A04BF6F0F37A1E1A362DB56F6413C8878BBF74953FC342E7EC83B4DAE79821AE +E13A5A4839ACD4FD4A88D29EEB206EFE1B29E929A9CD3DCDA8E4D68ABF40E77D +861CAF2BD960F1782B5F033EBA70F8D6EB834C2587B3757430473014A1C4416D +E081DB76FC8AD3D0959B08F66B27323602C79A1F417BA4B9CC7012FF3D15AEA0 +12C8AF5CF8BAA7DAD0033F3AB0E15198DFC64F791F407C2E28CA1130503D06ED +15494BF079A26E80544C281AD4733E021E3916299555F061637C976BAE5AAC06 +CF9DC34B6B4038193BB8992552107253F56C32E53393B30B5014836FF2C94DCA +E2D0EE7912FB33D5F98AF9076E9D41D392EC6093B6CBC1FBFC098965D3D844DA +99F34FF4573C3DF4A88800F80716100EF59438A73C41793C3C5482578D057368 +D0B5B69C492057C61EC27042722D02C0302A043228D3AAF0B160A4A47DAEF8DA +F9DFDF1D1576E450A6B11E41AB598C029835DCEBB9E5F7567D82483935C3FDDC +49D5EA1C592CAB47F4609C686B88D0F4871EE389A4A54101C8A0D2901F57E05B +A8B4D829480D6486498125589B7602C74A05799F3039D57183F7D230091B9948 +BC3491F5CDD7B8CBCEE5EE03DE0F7049A2212B7BBD1C25D2BDC657052744F8CE +7CB503D7C4482AB8D8906D7EB923390E716B06ACC36B7448F9AE2DFBC13D8FA8 +482DECC5C38F7F327A30B51B332777EBFBD609CA009D1094DABD347DE45DB3AA +750982444166ED16F40633728117684CA1FD3CE6952C7D1A2B938FE5A91BA19F +51CB063C57E40781F3CF53F9B20FE16DB1CD2634D127E56F61CB78D7FFF664C0 +546DC15F6E5BA686EB82950E9AC70CF5BFD98A6AAC12AB40EC14F60704071849 +B649AE86A4D6C327872B5DAB665BDF482E54B0E650562BAA918F00071192794B +E1C5689832A9583D1CB456B07DB755B642F72F56B737A3E0F6804DC6CACFD3FF +78340FA5C85B39573974B70ED547E00C1C7086FE221612EA319A297BF267EB35 +406C9B3606609A863BFA3E389EE748FA0A273CE994F3D7BCEB50B7E52DEBB6A8 +B9AB6799334E6B2748F416066FABB06C2E9040957DA6790110ED4008896737F3 +CF2AA2184E142BAA065BA3D87C0788DA5D253B7FB77E0002DB7A95216D43BFD0 +5020814F1662ADB6B8D98FD225A450C533585F2B81169A41CC6714DE1072F20E +397BB6A37006BB78A98EA8FBFE8AC4F76BB9D1E7DA12E50244000B970C1858C7 +E77BABDCF67AD6A8859457D3821698E6F6B2D1D1590071FCC73E3C4424BBD009 +778B8014BFE19C131D77B9FCAC88EE37F07522959F25F557C66833F801935B42 +1F668E89A1D6F05892429C4F4D49080920F6D09AE4D63C2C3B275A0C8E3B8660 +DF4FC881B1B258BAC4512357CED7B708C68966FFC41DA0CA19044A98B2B1160E +ACEECF6B38FF660F85A2F69ED291E4076FE770F9BD93B48754A1ADC71AB00806 +7874574ED9A91FAA8A8A6F1FF53C506A2EA9DF7463B4AB02CBE799FA2EA1166E +37D2679A2C1F80E57F66BDDA89E79C3BD7C04A9C4C4904B00429165CFF65A596 +AAB22D974520A8B9E0AE9BC877B96C85E0CAE624054CC16BD51B94EB8DEBE7C7 +0CDA1E3435FA3C280E9358537E3E11B449495325D4767F1EE6078F6DD3382027 +6A0C63F1F23DE0BDFA3C932D3B9A492B777A08AE77929777E2791FB3571414C8 +A10FF4980BF0EF44AD2128693BE5CB9FB40CD4ECDC40DAE5B7FD237C615B263E +E15D600771FE1C3FCF0B7550490B1D859CFEC64E1B1BCD8B24C8B8938368E89E +7E2411502399C1ABA7F4ED538EC2D20971ECA64C580B91F7C9C25E5505594814 +2C23DA4A96C77861F2B7752F6733955A11D206E4270235315774091D08FA013B +52BB0F6FB42A122965206D973353C633F3008DF1A929D9AFE04F5FEC28D55D92 +D1AE3A01ACB1E7F0998740F693EBDE85C3CB06ACE342D5AE9813992EDF0D8A2D +DE86FAA2A08083378EF57759A4E34C0397A75F70688B95514A91AD687A1C3C25 +C26BFFB499E3065931E244F67A20DD0A1815A1C25B0C52CAD242927A592A91D2 +68D80641D35E1467DD1B110201D0B06428679C6240662D6A8925593BA8FFDF9A +7BB21A8966B5C8DCE6F0DE4BFF01F6D969F6EAA28B83587FCA56AD572E1F374E +EA9950FDD5237003E58529DFFFF7152F3F962C2AD760EF8B053C961061854B52 +3E66335AD09FCC0AE79806808157F9D1FA718F2C33DDDAB111E155236AE8C004 +796A17B58DB0B9DBAE81610356DFA27C48EE67749A8DE33AEF7017D1EEE61CB5 +44844074FFA56791707793C0E37B185DB3DFF568E4EE85E504A2A4A30794AED0 +A17F6DCCA12998AA4020699CCF0042AFEEF552349D168B0244281179FF16876B +716D51A0118A1831DD51342E3ADE0F54980E4356C341FEB66615CCFC74DB13E6 +9103FDC3FCF8A2B787182DF36E0A2D21F5BC7D50EADCB0A179FDDD006943CBFA +318A4CD97C90D09027C129F4F9F49CBC4D876A69E4B32837539D3B6CA47E992C +D2A5368905C9513A074D6083C0A08A3B4B97EFB2797C7EB0DB52E7D7C9AFBE78 +8849D33D8E79B4C628C9BC55B0A97ECC2CAE5AF0837D22F8245FE3629D7A5FE6 +FED7E9FE4DB90DBE030EED821F2767813591B138B4CDF4CB2E2B4163B25463D4 +2A78B258893D840CA99713D2883AE33C34698E656929F4D44E6ECC59A015A6CD +8944A1B645EBCFB1BC353EBA1EDD1889C20985DEEE6DF02FDE456F0857ED3F26 +5C7C733B68DF793BC4FBE44E4B9B53BD874D9891C02BE6DBA85073CCE66A18CA +F30E36B73115C2E07E1A7DC8B1CB4E19E5A71B0FBAAC8F4F02E2E232AED292F8 +399291F1D88370C201A59EF862FB2E92B9B1CD6597C67968699C9BB326B379BA +B2234F314EFF6102E89B2345F6C1C93EBC280C44A901583F60773E210EE208BB +08E9FBBB51BA37C3E50E19B03AAD542911197CF18018F811D471C523F32F23F6 +01A4C809F51F05F725DA9854D9745AE8100A720D27C618A6D7265E57A13F7609 +2BF2CFEF30F59597A77C647A6DFCBE5BF8339640AB2F8F5A9EF732A83BEDB62A +86CBAB3BAD2C8EF00C36FFEC0266E6076641F935DAD89DFDF6D60463CFF18A69 +1ED297DBE8AD3322383B67972BD7EF8B679B9176D777C663645051022078D330 +FB7FD315594762283687D808F4CA6611FDEFAD881C453A701860DDB1FD542E08 +6B9D848E392464F22561A7F4908D91845C1082375F4A108784E451ADFACA0D1C +E7CA74F3648A1C4900FD21320F271C96BF6DA0D7FA2FA025A32666386FCF2929 +30815B21CD38C259F7B0F38CDD1B50D3EB7F8E0347D045F95FCA7126BF967F55 +8DAEC81BF85D58CE57D39887BE23C4D13E0EC42AAE958B099DD259EF54C2A643 +37A0482BD5BA4E1364C914DEDCBACC7DAFB91B9DA7D50B17254E6D298C9C63FC +C0715221943B76F2FF473B4C846DC6FA783E7EE99AA1219EE874A2CF35299BDE +509DFDDA7ACB6FD3182848C1FA69040D88524FCEF4AC70066DB5DA2C0B738AB8 +6A7DC71B1B70C011712F51E18C6AFD8262D180AE2A7514B8F6DCC7DA3B120BC1 +8B459D840B8C0BE23AEE3C3792D10DA15D0609D408883C1997B0740BD1C2EEF6 +4F7C7DA8933720FE3CA6DC3E3261FDCFCEFE3507A4C89288D42D9641FA96FF81 +4187866E7217260BC808B8037306FC40376739E8B514229ABC0EDD0DAD658A4E +20B65DD300FE27ED17C97388C7660351A40099782B3BAEC0868B2BBCFBBFC5A8 +4A74F2DB3FDFCD157D0FA2F562503996BE44AEB0F42C0876ABDE449640B6AE0C +1272C0FF54B3E3EBCF02CBDA5C91740EA2350F2805E4022E78E0E876DB7BD633 +B37FDE2574020BF74C9F9890C7928EB1B216B0BC878FD134D1ED823AC2D0B895 +9B2B18B9961EC9198BC03CE04AF3E9B85267717C455AC3B642152ACD9FB300B2 +7ADDBFD78CBD4D66D2FC3F212CAD0981480B3E55D7943BC0E3048B65FEB78876 +82077153E2960FDC336F55BC30237DC959C8631D56F2F8692E107CE5ADC833BD +C7BA6A8DDA718000532A8C128E8E36FBA5C802728F019B8C869787E9BA2E6315 +CA18A94839DF132114E4E517C3284B3BFC9100F9942ED32917835FFEA1E63ADB +7C6958B5B188C7351C1FAD94EDD22B59FEE764C2AD75FE1B506A1890B54BF7FA +414ED318C4062FBDF4FF1AFD5713F9F86F6757FA25DBA04C8B6C208868D55D01 +8F7797D11E9B91E2D7FE130CBFE308D98976FB5495BED7E6D689EBFDCA976E96 +7EED2C7EB60031FA66C6F3F0BFB6128C27A137B9440E1D9D4A091AD5ED6D91D3 +442000D18C4CF50A0EE99C9C708049D18ECB1E5B81EF6EFFDBB34340D58823B6 +77570F98480F62CFB8B7CF4BC569E408A87A756236B65C9213E0FC69FCB1C918 +F30C956E87672FC22E150CEA2A7D13A1D8876B9FDE5378679F09833F1973860F +73B956801F82224CE911C12560043708F74B3FCFE27C4547F6F251B2141EC6BF +97ACFB432FBBDBE5972D646202EA819986E46BCB99B0745B3804D865D6B78438 +CE6696E3F98047BC88DC3EA01896B6D3A71A9F711747DF82A8E30CA1A111B586 +8F6164395624ED0ABFEB155453EBAA06F7663541F1553E9A567092BA6C40582F +248236BD1A1F346C30BF3823F00637338DCF791E75848E937A12F4594FDEBE2A +06D4A1D9609D7513E982954955706BCBA027ABD96BFE81D41DD52FB296CD1BAC +F0F8A127775455B3D54670106BEADA631511EB9D3A4F3E012F55A4E3C79D78CE +136D59DCE99C6E4FF010E03873E80777AD2E2AE60B05B105EBEB7ABD9894717E +C2E4826004188504FE3D7661DFE5A8019D615E1A1F86F90F6F5EEEE623C1097C +0A62AE78E00887B94525493E9433C3F8E9273DFEDB853394384583AFE03097CD +16181374F12A988FF42C8581C1607CB8A2AF8897177FC8540E4533A2426386B7 +1AB9450303D9FF151328C5C1E034184BC20D38FCA2E50CF924031CC37AB24A15 +8877D9A9FCC05E8B263DFC01CB97022B5085F763DD2B6B73CE08DEE88BF1848C +76CF5A0A18AE9BB163BA529379E5F2B305E1486884CF6B508D655229C3F7D228 +21134E5CCAD6E9230156934C05F27DB01A542A6CE7201C11728017435EFF9264 +E74236068015A2A13948D03C4969A66C1F0199ECC666D23AF71BAE6A930CD088 +805E4BE964179AF1EBB8A57A1AE3D7B006D93AAD9B8A07ACEAD8B2971D46DB1F +C7B699538C1643639A57CB53B4439B9E00325FD23BF504E4B802791D4DD5A199 +2BEF4EAFC06BE08D7740A94E4B92DAC5116784A795C1B68CC6C9047CBBBFCCDC +90F1AF9245E87A4098E7B16FCD5307CDBF76E1C38EA0EDAA985724339B280E22 +BFB01905A34144FEE4593F6B8160F3186C24D6968631612DFD01F06D82DD207B +510FAAE158051D4CBC81642D0CD00AD58F673C88DCAE1120FD9A20B2FE001BC9 +BE4C2747FD34959A4FE872CE2A70207F8F9B109D74F4968FD04ED134BBB0B4D6 +5E9F805A526ACA9E132D1D7DF3C37E357E1C6B27ADF4BF425A0726E7C7973CD8 +DA6ECBB002F94FA7D5D656F1D16EABBC1197B1A15FB26AC269682691242EC15B +1E5E308CC77670552D8616DF2FCEDECCA5B42551ECBDD16DE5C848CDDEA386C4 +80F73A79BC325651197DB6B120982769B78DD9C220D797C73C94ECB67385E806 +670AA413EC9A3BFF7BFB5C88BE0BAEBC55EF1EBE65DD4336BD9A13C5D8F49329 +28A2CC54B4C09D26E18DDD62FCFD4897F60F3C1177B346F219A0AD0D24F4D1F2 +912A2A4EAA84D069B5DBF0D3698FB728D5DBCC19B8A954E9DF9A12468D059E64 +2EF55B1D0F9221B26084FB1E8AF6DAB7897420FB22C933BF3303B677AEDC69A5 +FC40C9DD29AD49BD188772B492B401122DA4AA8C6B39D646C829FCD6EAE0AAA2 +208ADFC1549B3A3907362B31DA1D5F14C3424021FAF4D6BE468E8E874540B9EE +4D7D5AFBA5417F7955E298AD0D2DE419E1CC82FA5B7522569C8B8E6202A45756 +540EE77FEBDE0D26727054117E029B05C1121C7629C20BBF3F790D2F227EB37E +781FBFDEA2B75CF219F0115CA89846E4B0EBB11BCD4A3C6D7C7C3F523B2AEC18 +ABB918CD2E8AE6CE1A90BFD19F0F613E1811B3D9DFB2094136F3D90FBEFB5D6C +2BB9DDDCB9888D1150A1F9E3EBF0B72BFC02B1A0CF9405BAC9452F455ACED019 +3DF32B0A4C0FD5A22B7F87E2EE66F7485D278421707869C5FD40D940243BD5AA +EE44B5445502F009D3D0DC5FB0DEB93BDBC5D4ACCDB6AE08DCAC849E3F30BF34 +D34DB04E6CD83A940D51027CA857E7B2FE0061A3F6EAA8DD889E656C7ABA07BD +D33699C7342FAFB4E8C787A392D385D35D186F8D01E1F0A2867BB708C22E4CFA +E9961F039D50F66A3AF9FA67E7EF10E57EDC974E63CD5DEB02D78E16B7158017 +4196BF91CD5B9A831952AF9BCD5D871FF66B350BB756866B3E490E13E296BD94 +3BBD2D3A8E0CF441F2448C51783594587B54C834E05C08BB84DA4704BA9E952B +4A2573A1E6B60DAC43D292467164BCAE5805E56977FF2FBB078E816E57AED91C +CE69B93B000B547415FAA82912D550C3CE662C5A4FC2AF69871D403ADBFBE67F +827F33D95CEA77C152465A8649B8ED462C8B8DEDA9F9C00206897F1F74300D5C +1312C085E2A1A940EA80CE5BBD8FE658658131167A272AE452A07AC31DA38324 +707A748CC977851783790518131C6EFC76BA396CB6BEAC2FA852B5F7DFC962B1 +9651D678B397633D2EF0EA8CC0DA515AEDC9B1600BB0768FF173CBBC224E7A73 +A584F81B8B8E15CA6A018EAF1C1E694A101BCAD340CA5882BD26B23C5AAE5AEA +9A3222121B24B97DB71ACF09D3CC75F458A5FA705595F2F5DD7F95F59C80D714 +B5127663D804A838BC9B7A5B4126A17367F33B6AA2AC27AB938C9FAFFE548668 +D53AD7255E0D11FAEF32D23EC8A93A2209A6DE68AD52D1639B02980BC8C0453D +776959E298DFEA54E476E2F5C6F99E5ACF0268B3DFC582384B860AE90642FF98 +5BBFC026EF67DA426319D720E3C79EDB588EBBD15520841C3BF8AB6F9AFE9CD9 +5C63F4F9E29EBC9661937703AD6B9CA89E384FEAFD3EA2D59BA0E55D5FB19D4D +99BC243193ED1B7BA14C9C0555085DF5B50428D622D0C4E18E330B1E76EEBE26 +3E0A34FFE2E5B5391513ABD7393448EAD555736798B0E2DEC2BEB7E731AC8F4E +C0828CD25FD5B37C28EEAD124B96047BF67E5B0D87FC7861180133E0AA2C7C23 +906969656E0ABE2089A62A55D4D11AAAA987315380210EB5E3440807DFDE7EBB +5B052035E5065C38A44DD4D838055E950CBBB0538ED8253CCEBB3F5CB7A08B6D +F8B0C419228D02AD45B4385DC5B96B294244E2EF921AA3933212C29EB90C25B3 +EA40AA05731FA295EB3592E7EB5D8B7370D2279D1D650D1591AB6F9CF14BAD41 +4847039E08F0D63A13CCB8807AE7D43FA764760AF0E9A717C64A945871209166 +DC2AE289F9953AEFD096886F7B7DA094D8253C91B7B73A397E7A7D74A9CFECFE +A4DCFB34D043675093E9E4C9B6C6158B85CFE31FD11729AD30521AA087EE84AF +B1933151C7350FB52DCA4BD4F2B5D0EF5F751CFFE44636E3BCBC9C2999A626BC +68B64A355FC8E43AC3FE83ACCB1BAFFBBCE44567459203AD3EBF5F39A41D2E0C +84AB7D5BECAEB69917525FBF3555B880CA1496D97028AA165B7604FFA49314C7 +E3DE3C8DD82B74B89A8F8C26D9A14206A25FD8C319022B8A42AE67689134A32E +746678FA98AF7D77D21320B4A7EDAC480ACCFF14A1DD3117FFB6CEB2EC3E45F3 +8765B92DBE80EE89DAD74B36AE7158F7268BCB7522449514B7FD71E602D9D0C1 +280E27B6F255D90306F29CBCD6590E7CC0E4840F73C2D1343718ED2DAA2AFE6D +A1F9DBC4618A4C01CEB5539330AB4559D897F0AF99DF2DF6F99D328D8A491E95 +AEFFD2D7EF9B12777D83FAB24D2B8A4D56097E269D30A0A510C6643524D92C90 +98C273721781CC6C320511B0A795B1E7CDBD788E47E231D119B77C47B80849C0 +A77BED0DB8850825492393516F6B9C0E49F38198DA97EABAC600A9CAF5E4235F +C38C8CA2370373613DCF2BE0AD7024777F2820EB5CAEC52FDDF0B17ADCF3E41E +30E999B0CD0B77CB405E1F0166B573342B07745F89226A41E589DC6E34E7A07B +7B3FAD2EE3ED64E916D3E0E7B4F555BDBF489D0E6E71870E99EED3D74C0E4CF5 +E9BDD8B938A66393717DFB589483E796CCC10E288EA0E666FA1A56F076775A8A +4137F28F6DCC92C57329A7518575F88C5C260B0AA1E0821034DEB6D34CA08F8C +D94B4C732D202D091A4717A598EAF401D2B42C0898879CA97FC9CF9C0274555D +2CC7266BC1CF9E33A97AC125D95A9D7FDE2695B3B378E499B1AD5C76125DA9A0 +D1D10F60B33F1554A7C7B4A3708E3C94638A53A3D20ABA0A7DD892B0131815F0 +DE84FAAD1D0857799D6DB91A20CF39C6C3E084658607D300DF982A21D95AE557 +2F219E8316E72FFF8EF626D32F05608D20EF174CC5A17E829B40A72C16E41E86 +A1BADA5AF70DC03715BFEAD4A52C21ADFF7EDF730923B16CBD7F9BCBB9AAED18 +D2B347F7F76DDB2E428B3395793628A037D26D53339D60D019529DB43308D662 +745B63F87E79FCE9F6607A25FEF5A7B604215C2493B412215DF4AE3716B691CB +43D9782FBC506B8B90B8A6D5DA501969F25C31EAE7FEEFAE014C26BF75ADEA87 +DA15121FC8AEC8D3476448FE021B0746D8ED2F1ECAB8188D46E619BD90DA43FA +043F459A2EEDCC889AC0769109AE172BE45AD74042BE379F773C254C8DFE686C +E349386222E2DF3CD364468DFF6F80215B9705824B053154283B19D0792AAE76 +7C1C5249F2F75A541829C2DAD04322377D6D52F72E02CB9C563618093EDDB157 +FB230947D20E24EA8DDC51EB426B5B05CC328F2327D77E698C3F17773AD889F6 +81E4FDDA13128CCEBF8943967A949D4B27A2236DD7AD7E92CBCAAE0517165F38 +BF64D1FC812C4A93AC5B6D05B6EE109E508DDA7D94FA7D5EC6EA5653DC09AB66 +A31F248115CDFD24579CFC9F461C55A908C77F155154F03318A3A8C19B369192 +11B3D34DBE54EFA83FD46A8A07258A9B84FFC3FA411C0618D6E3446841CFB656 +B54582B78A617C36FEFACED5AFB51E8444C8B14C17322726CB9CFAAD6EF1E181 +0DFE1F6FA53356C015FA0C31BF518F5EA4A6CA6CEB9F9003AF2F403BA422E946 +93D8C6234173D55F0E7FC3C84A5333807695F35F331B641E501F7C89504C8D1C +9C1EC118A4DD2155E8AFF91C38B6C03ABF123E2FBBCAD941A38EC9B214458200 +D422AF9AAE2D00E6E2AD7DAA5ACAF8F7A4A376D5E004BB1BE68EBFC125815595 +ABC32143420B8682A6DA3FA9693E95118D426E978CB8E88E1DDF4E009A9F4656 +16E40FDF711C89389232F19455E6FFB46AF85047B5D7B0E89E26F7EA3026A94C +66C6D46C22DF360E2CC844BEC00ADFEE20D2DD73F2C0E6AA445A6DCD864A1AA9 +5CADBE84E3C60207BBEF3737EE5F30CCB224D68284E15EEEC85998B675DC77A6 +48A3D4DE34FCB79A5C4AEF92E53EF494B8D70472A9E5823B8DDB9916464F11BF +8FC16B7F1109ABDCA984BC016D0EFB7F50DBBC8549386150A3FB0A9C6D78C2B9 +BA7D166BF3B477D0C3484F8AD3EBB0EEF2E39F95EC507F85F70D4D5C7CABD760 +3F9A24F3E4E4127BEA64E71400870E0C307927FB233783327BB0CA6A5A0F8C14 +697169F2F506E3DB3D67A238AD7559937D7A1BAE67F7CA12F26D20932B5D2252 +AA662804F0DEA6604FDF62FE5B24EEC39CAE0CB27088B5332AF69CD086903E91 +23414F192BDD221E1573AE4033FEE5439147B46CA2121D1EA34A1B061D297183 +0789815FB63FCF980053C19082FBE9C645C02469DF892CA70430E83CA4DAAEF8 +CBDFF12E0AA952E7CD0AE8021EAB8C613C0884D8F7D7A4ECCB0E9CB4A6C314F7 +B307CBEA8BEC0B4F05E78D1058F4CDDBCC33DEAF4847E9D5C8B451D8ED7AC12C +5B5972DACE6E2BD70DBF51EBFD60A92364BFDBB6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 21 /lambda put +dup 26 /rho put +dup 27 /sigma put +dup 33 /omega put +dup 34 /epsilon put +dup 58 /period put +dup 59 /comma put +dup 61 /slash put +dup 62 /greater put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 77 /M put +dup 78 /N put +dup 82 /R put +dup 84 /T put +dup 86 /V put +dup 104 /h put +dup 105 /i put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 +1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C +7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B +0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 +EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 +404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 +78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF +A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE +88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 +C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC +BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 +98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 +E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 +143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 +981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 +88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 +4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 +FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F +347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F +FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB +C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 +B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 +F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA +29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 +36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 +048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 +80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C +9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B +75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E +4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC +74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B +D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 +E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 +EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D +543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 +710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 +EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F +7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 +03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 +01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 +500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F +F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 +AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE +1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 +85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C +4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 +6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F +55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 +085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 +BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 +2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D +CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E +BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E +D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 +991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 +6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 +E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 +E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 +B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 +4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 +1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB +B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 +8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA +FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 +AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E +BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 +E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD +38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 +7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 +2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 +DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D +22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 +8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB +44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 +D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A +42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF +C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E +0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE +66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 +E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 +6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E +1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 +B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B +897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E +EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 +A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 +F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA +A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 +2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 +51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 +598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F +87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE +178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 +4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 +7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 +AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 +3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 +337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 +C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 +DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA +7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD +6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC +98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 +821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 +C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 +7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 +B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 +A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 +23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF +C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 +969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 +3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B +9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 +1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 +B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 +95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 +FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE +44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 +FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 +E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA +633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D +6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F +FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD +375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 +6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 +EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C +E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D +F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 +DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 +D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 +D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 +9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B +9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 +B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 +D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF +8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 +FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 +B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F +00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 +909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 +5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF +7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA +BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 +C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 +BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 +BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D +4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 +94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 +F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 +E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA +92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 +63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A +CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 +B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 +5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E +86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 +AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 +3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC +35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD +155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 +AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 +E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F +226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 +9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B +8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B +919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE +A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 +9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 +523BFF5E279508A98568CD5CFD18FABBE9D17265A9042537872831BF5F1F340A +8D3E6DEA1D9675E87B3425FAA0172DBEFD7C28E30906B9FBA65517C9B58FB6BD +E0D474E69BB90B0D130A32C4130974A1C961CF064A5BE8EC1056858553FFCF7C +0D78627BDE04E5D0B9F6F72F92B61A915DFF7AFE7DC3807891D039AECEAC3F50 +0A09579E661D3DC3022206061E0250B09A05CF198DF82D4F28FCD2A85F717630 +90740F78F242019C349B65C2A455596FD630BF9FA4967FAD0D848DE7F7DC36D8 +B3E4AE909CF3893CB2E0B4C75AEDBBA228A6153D8E14CF85D69C13F84CC37AF6 +D05DEE8D9DD494595AFE735E87FA1D6780C1F84FB83E0A2D5086611075E3A016 +F785A92DFB5FBD099953805D03ACA6D23E5EF556554328C9BC2AB97C2982EEB8 +A8DC00247C0778E947C4EF7D042669C7D5EED03CBC5245BFF3CA08418D9532CA +DAD907076117A8072F3F7AC69D1CD266B8F48AFDAD2FD3E6379B91272ABBD3AC +11EF7069A4B01D70FDBFCFF0D9F2D7C219771A939DBD3AC036A7FFB12F2C8EA3 +195775A5920B661819E3666E60BAB6412D2582A3B79DE04D5E3E9E2929B1AE58 +4FE987CB9D74556603C7CD683C97898DFBAA29007EE9BF9D8691A65EF8CD1DAE +074E750AD70E1D93678AECD6D7995A8EA811D49CB8C87FC795809E2B76362A1E +221CAD9CF8495D273485E5CF1FAF07E71210E375440700473B1FEACBA83BFB4F +8156EA8755F7F71830682C9A5FB37CE08A266D880ED1E28861C2D286B09E21BC +24DF15E866A9775C8713C5D2DCB42AAF11C5FD01B6846808EF5E17011D27C4DA +C705DFCD8DAFB85D68E29BECF8BCA6F88F583A3B3B152E153834E951C13B9D6A +D531EB5383EFDEB80C5524969D06957488C34C4AD06CA458C16B0D80AE5CB702 +F629ABD989C96A080DC2EF19FC1441971050FC1F990878AE6B4605FC52FACA5E +BC5674C5803F60CD8846C0A79568A01616A77BD77068078E37CB4C08EB2BD4FE +16942D66B518792400B9AB732FB46694DAF3700873D242DB58F28BF671FE778C +C80E8CD4FE81D645A006D642370990DDE226420FE95CA5F133296E3FE93EA295 +04AAB57A5874C7062EC7F07A12D17B0151D558AE4217246BB23F35610BBD80E3 +DCE88CAE28177809F2E1D3BF92F4EFFE4A71C7A5296B165202FBC1240982E619 +4765FC7D16FF244F5D8D905689B39E399F9274E79D36C136FD1A81FB89B16FC5 +12CC7851950F149D036BAADC94B7CEB5F33F8C6CF2B0A16773C7BF993FC6228B +40705998012F6363822BDB452CECE963496CC116E23347771730F2C796EE276E +62E83D8325268BD844EB2BDEE3848BBA8909B0A75EBACB11970D3C9ED2E2CE69 +C4FF465B69DB172E800AD94EAC258CA1BB642C9B21A4DCFE77CFD25A25138C3A +EEB39DE289A507040CA02DC446605839BDD6EAD47F2AF5B4DE4D5A3909EB39CB +E289C3AB2742A2F385A84BB64B277406F639C570AEF7E8AD3C7D659C0F206073 +5B7387D271DA6F1CD896F679CDB8EA97A106330DA49392F9D2BF28366AC9FEE0 +271D77F0B2ABB7262444D1E9CBCAFB9161B0AC7599D30B3BF3B829610B105D1F +3D2329A8B62C28CA3E0AC57319F5C3965FD08245AAFDB0025108F46A0DC9C507 +47310C224AC66CD78A59026276C3C86EC1C72C3F642C7D6CE658B00DE9BE9C2C +1371916B82ECF9AFB84FA3C5B5D8ECD19BBFD658E261ACB37391F0CA931D5603 +A74EFB63874AADF6ECF0A6546F72CA7DBD4F888BA765AB9C06D1FF3412D50494 +D879CAD61917A728EB3D5435D41AFE03C4A93470B3FA3204DDB0E04BCD0453AF +49EEEDB812FF692F98DA236A5B99EBF3DEF3AED93DB4833DA75DBB0CCEE5338E +BB6391AF96FCE34401A2E20882037CA023747612F2E69520CEE44F13A3D54C66 +FF23740B992D6135AB5FE946B041EDD0F0CF5E095FC3982D8185DDAC81B9BC42 +548F3F3E4D66824A91DADCA7961655301AAF959029639EAC0FB97010ECC767AA +703AD61092032B0B3D8BDBF9F5CAA1AF1FB3E85843478B410861CCF56B4DC9ED +B125B56674389759D3B0C32C8FD50B42E657F8D61A5B56009F6176DD854688AC +43A642B7F4004F8C56EC3F2D4D0231B33AA21715C20EFFB00FCA28D6121398FB +5390BBCB76C6B65DDAD9B7F08025DADFCD2ADCE9CF278F0A93DA28A113493C79 +65A42BAF6DF4027E757225649388A221E028536DFA271BAD8F3DFBA6D9177959 +5CF925A21980285921C17AF4C5B98069B12CC062B60750791425A4C8D3CFF130 +52DA963194C459E218DD91EA6BAC8645DABB47450D56299FFC73D3A1C72335C6 +F02C4401E572D831FD5519657BEF19D05D0EC827B1FA087230EA1562E5ED2C99 +43DB6ACB9376BEFD30EFE92DD95BBB43639F32E452B7F86CF42BEDD54D27A72E +F13B5ABEF0A97EF05C5A664641B10992B5D6F964EF3FCB0CDCAA92799905C330 +1B970E7443BFA90200C6CF41ED3EF726553B786FE96646967C9B4D61BDBE2D81 +13736CBF3D8E909C52719BC041B2E47301FEBEA095573E3EEF7A05B983D08E0D +CFE446BAA02CF81F75B86B0C0CF9E8CF81208922B8D5E8353EFE53AD45E6A065 +815757F1ADB76B0204DD363D0D65B3A3E609263D604E53091F7B29405BA31892 +CF4D1FBA53C0CA81BB73550030D172517214D2FBE84C1589A7848D615D56B5BA +717EDA9E051AF4C728F92B98F0E6BBEEDAE748A6D1F45350EA3E2C4A4D438968 +3776A852F2478DDF34E6C468AA8551121CD106AA42B84EACD66248DA3908DE75 +CA71E666AF2A80481393407802CC03C45FD516EA63D4214B32F66DFA3CF54F67 +70BDF1546853466CA8B67F12D26F8CDEA15B61B355DBAE3B2F578EDB3609031A +F93D8884025CA015326C7E4258A3FA6D170B711C95C2CD1B3B64A5BE309D5D92 +6AE57050A5EB9652A04722F683EAC84DC5E849A95D7B4F73733A3653671E08A6 +7DC751FAE31315DD27857DD602B6E496998D991D04865C7F6260D45BCAB7F7E1 +EE071455B5C8ED2B88995E9DADB7ADBC88D3AA6F1DC5AD66135D32ED4AC4ABDF +A88FF514457DCD34053FBE897A6389DE049D27E6F3439105C1E6ED8463513EAC +BDA7FA59D4CDFC2BCAE4448337E5B00E61A537D1A98C13431E65800A24B663E4 +73799855334DAC3760546DEA2FDDCE332F45B42FD95ECF518E4845561AF9B0FD +62DE8D232EEAAD308AC1AA808877C0B6CB1967F41667DC6287543862C37F9653 +AEF56D1E73435CB2B7F01A544CE881F59785E9C9CB52088FD50ADF0EE39C9729 +9878F3EA9186FF227A4B3E219E11D1F85FB46E3CF5757ECBBFD3AB1FCAFBB064 +7781173323D1D0E6E9477AFFCE55CF932C767919E46963590CB8FEB6AB058AD5 +DC121826860C39DA22C2AB035E16A178B791D1E3282197B29BF9D3BDAC6F6E84 +C49B7F3827A016E44C491EDE89375BB27EB8B5DF65AB80DA47127DFA156F050D +2ED624DB095A3E46269D2A70ECCE256DDDA817E5AA2248A825B662CFDB0CC8CD +D575EC671DD6EA8EA20A86E1D5667FF0AEF45650EA825B179B136291D4126F62 +1BB2142F39CB1D7190EE4FE26AFD0B4E9AE767EEBA5E223EC370B36E5DB665AF +B46B8DD7C69616952258C047E0B0B70DDDB4DC10EA2F9A898A3E3FF57421B6A7 +6F010AD963E236DE4B0A643FD58E8FA92BE5EA6047506877CCEB379330F86802 +6C159B7588A1AF701FD1834E4E82AF5171C68B0E2DB666E2F3376EAA6D9DFF19 +13F7E95C17CF4BA58E1E68E4B8F0C0677F1C0663EBEE7A7055FB58D07FE891B1 +DFF35E6F2497966018F386AB4539B5137F17D32CD20798023BE5E723AB015E8A +7A7E471AF2E616DB4EA2CB068A3586B19F617E11E90175A731BDDEEEFBF13B64 +E7B65B5B0DFB1513F6BAB0CA824DA6B390602A09C127CAC202CDBD8D8CC0CF50 +0178DD92891095F68DB3991BA55A6E085AF0AE6609D4A997D0732A1DCB3A3E34 +13D45B4C45A3C096582171CCE930709C6F5843E9C865F1A683A83C9AD337F4CD +4017943017D424FD5727FE441CAAF986386BF8AE7510281A4833FA0BE31EAE17 +B0FF7E8E3E775578B1B3130DB6803F5BDC4E679DEFF6D1CB111244288EF0AA33 +9C8FD7F623128747CE19884405915B9DF03614D382C97F31FC916AF9C1A8C378 +31A5A5B4110965667E4D4D69A790CA3DB81ABF92A539520887E1B771B669AA1B +62034E68367567437FEC51BBDEE304E50F97FD43BFBF52DE48CDA88FE5429EE5 +59161BCAC2F580CF2A83C6CC112E1B946219D6D0BFA6A6B8138A394AD573C88D +425276E1EB4AF86B896774CAE8328DADAE93C7E268C963EC13D0DD4B5C67A0B4 +EAC0B80E3FCF1C30861B479C67C6816BD6A6467F1A50105E053D74B4EC896480 +DB24A7383D8C6C87290E79EFDDF9C7C9327E14705306DCE3820921ED02D3DCB8 +62C8B4BB6B50C681C20C8DC0AC447C7EA00C3BF24A9F25FC3F1F55EA72466E9B +C0C8435DB62B19CB3A38FDBB7C7F8D7A22E548C5CBC70F020D9CD3BBFD3977FB +DA6EB0A6EA0668814C8EFEF1AA6B2393C5E6E0527BF9DCEF7D6AE443AA08DD49 +6637241E8DD21030E81D073DDE8E1943D35BF2DAF64B265F7754F58E01A7F32C +960EFC8CF4C4D9DE7E1853A673B1A3CBB0ED2E3BBB801A966733C5F1897559AB +1D40AD70A3AFDB1063C20257E2A0402BE6D590007FF69F8E6EF0D90D2418189A +612E1641847B9C7473BB4340C82502F7EAC4B4DA4143B37D58F8C5D7D7DA0414 +40F18140A79F6014851BB2F89BFBE41DA909941C6AC4D9A56F7C66560BDBB7A6 +BD32371374F21F880FBDB736BFDBDD061D31F4B8D04A49D0F9F9C71B704E4CB0 +DA7B73F2F5A2474EB20491BA48A9DF830F345076F39C33E156B7C85C8C2A5481 +D2CCD47466DBBA3AB5489B9C722395DDBFBCAE87F4075E2852003DE4EF351693 +26DADFED909BC0AAC06925825C868B3D902B528EEF422A8132329EE923837CEE +BEDC97C5252B0A787C6AD79F5C87390FAE0CDCBFC6C23545A5E8042FFF2BA02B +06179E79744B63008DC87DA7B9A74EA41A830A9D4343E618218CC4FE91CCD98B +58B496477BE69583C80B5109A37AE8C9472A5CA685D85CB6B1D49FF43AE8CCFC +ED4D5C551010865BE4FD8CA809B74AB3BF912C1BFE0A743B27D46B6E99A3F410 +3A51936855F6AACECFB44899F981D3BD24931D0B150E8C1B2D95AA5171763811 +5534CFB2299669DEAFD39956EE5E4D5302DE303124095EA3B8F74542D29D9B72 +996E627831709BA6D5C1B8F8C886AF4608DCD3A3342DE5B22CE41260E26B5A05 +08245B498E3F800E9FA7C16D4AF2A33AE3FDEC581C09CADB647F60CE3DFA544A +D037A5A554908127336F3A039207D4D894A0ED0AD563D6502F4F25EB1D81C835 +3C4EFD34C683CAA197E11A35F0AE32202BE1088BFAFDAA793324C4B64DA42412 +5D1735CD6C1255A56775314AE0A4E1912414377E8B8AE740DD3CF6C0B1CD360C +9827FD7196BC139113CD66554501FFB4454611E26D49BC7A04C43E804F96BC28 +A0E200AB5D24C872D6B5CCE3E7AAF9B81C31A10803053BA9DF9919CE71AC896C +F7957774188E95C42E271ACC73542A284C09182C6D704CE6F6504ED9C07DE563 +4E7336B74E9D6DFDDCCE786CD0D38510497D65E2F530F07BEE0DB9695689161E +7B8DFF5B96D628938E13E8FA6A0B9120A23FDCD6433B806F9642697FE37B4D6A +8564A74D1005070107C2F585F1479380D5ADD77E5755622E8EDF68BCED0E6C91 +FBB694C08C39D3A2B2F46AA5215459E1AE95C5602770C3B23BAAA38700327EE1 +E3440F09237D6AA953D98EDF0C3D1EB031BAB3C164FD06A8FEECA6E21088B0AD +FC6BF73D2418FE8EC815A0121A335090B50B991DE46B8F60A65AB962A8CAE8CA +4DCAF8C04AF775336B6F20BFC258C6C674291A92DB6F812FB567E36589921DE2 +F6304983D85F104D9D6E5333CDECED7EB35741B1B80A4D399071FBC91584BCC1 +E0941EF0CA8EEB2DF0B3BD2744F23EE4D155F84A0EA666DF51D5B38DE3F879A0 +0837C7DFC6CB04F7890CCA933B1690546363DBC3FAD0F30C7D43AD65A074CBBB +97BB6397AB33E6A34840BE237BA767F88F048EEEE9139A64B60CFE83B7B0D346 +DCC7764912564A809E1ADF8B6723218443895375CF0A7B8891A2424FA2D92D77 +998CBFA71473F9ECA138BB95F7D141D48AD4A78F9506DF52677F1699FC6B5BB6 +03BD851EDBDD9E9B8A0426A8EFE18630BACF47165362C143F41303AA3E370EDF +1A572C796389738323B53111C80B5DC26041143AF4908C6BF967F4081A93B41C +7D28909AF3BF68D373540EF0B4BD88EC394CA821121D8715739515C94DE09ADF +70F42363DDC6BD459F116900800908D9F886FDA26454B5285E7537CC0254F7FB +773FF1D52C70A9B43D2B11BE7C70AB6DEDE392334BFB9E4258A885BDDC3B6C70 +6E00884D5E561E3E4E7614812FA270BCDF5A12F2413A820848C4D4B60AE7F988 +C8DE07AB2860C78DD9E3C9972E1478596A21D49BBF03CFF64DF9F5678EB32D58 +5E6D5151F8BD308571C783E4CD2F6F88ECF7BAEC3F16F0EDAF6361F8E958CF97 +11127665ED1AF741C42B9C2475A595ECE0F10A2CBC8AC3C09DF8D435B72291CA +08172F07CF7A4D10FBB28E7B1392CE05FDAF12EF1D61CF0D908DD160AD986064 +3449673D0D594BDB64FF2D2737A342A072DE27D1F0770DED0BF0F916529DDBAD +F2CD03F84724B12A01880EC37C87612D10563C38B6DA4D4625A12ACA3469CD82 +3C02D97D6909F52197E09F3230B717DDAB1494801FA22699DC4045E53B3FB91F +81FF8E6D4D1A8F7FCFB11C735D9CC59167FE6FAC8BED4DC0F2CEDF886E16EE89 +6AC808ED61A9BC1CD257CFBA409EF3C2411E2CD61CA38DC3DF1E1E1957AA2AC5 +4B0F84AEBE9EA95A222D12177BA6BD433C96DFDFD5B673846D146D967212A490 +2AED7F7F68C7BC0337CC605BAC97400357A2E45E9AA153620C5BEB9D59BEF42E +63F04FDF14D56EE1E015A6299E87419803A469D6E4556BB516E42E6DB42EB01A +6BB1F58E1822A8D0D255F6991ABAF2D0E0E09F4AEF4C121126752FE49274C491 +692DBC5D70DEC2650087A1B4AD13E74955C79EA70AA5F1D43B0EEA92619EFAAE +253C6F93E79876A494C09BC5E80AF2A7BEE252F72C9E03072879C129579B4999 +C1498D94D885574985F8DD30C832FC405E31DBE3168EF0DD703F77532AAB32D6 +C9CBF710920471BBB868B749FA3A563DABE9AA32404ACD33187D7DF03FAC5066 +C56FB7AFF064D10A0E2F88E579D16900C228FD70D449D999788E45EF0329A9A8 +191114288620A880774F0429347581F3A088BFE4E25C974F6F4AD3A953168367 +56FCC5A4DEF41585EA656F5B5BE8D53721FB58C4D2521272143C7340F7242549 +E62B2A8DA8DAAF161DBC68872806FCD2B39FE969EF3D5AD1CF73E35C31C7F43F +14287368EF7246A1AF37AA1899A31C074A14D5BE87EB87C0AAE5BCDE3E9135A4 +DC52784B5B9A6495F4719F2DBB55828DCAE17B6C3BA22046B18AB7A4EF4C726D +585275F5465BC87BF08DC96BD240B1E0A16398C470EFAF92C62989E05CA42A61 +D39ABA6BFAA77AD0FD +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI10 +%!PS-AdobeFont-1.0: CMTI10 003.002 +%%Title: CMTI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup +/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI10 def +/FontBBox {-35 -250 1124 750 }readonly def +/UniqueID 5000828 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI10.) readonly def +/FullName (CMTI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 14 /ffi put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 56 /eight put +dup 58 /colon put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 91 /bracketleft put +dup 93 /bracketright put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 127 /dieresis put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E +2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A +EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD +8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF +CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 +7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC +32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 +482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF +118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 +1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC +C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA +8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 +61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 +C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 +3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 +9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A +D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 +125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 +34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A +30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 +39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 +9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 +2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF +0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 +3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D +9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 +802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 +FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 +98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 +5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF +AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD +A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 +5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 +DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 +4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC +8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B +A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 +E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F +42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 +3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 +A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F +7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 +49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 +D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C +0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 +CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 +1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB +8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 +6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 +83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 +60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 +42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 +1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A +21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA +206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 +D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 +7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B +55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 +6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 +4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 +871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E +9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 +DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 +41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 +2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F +220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 +A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D +981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F +337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 +139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B +1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC +100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A +1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 +F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB +72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 +A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D +310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 +7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 +1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 +8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 +80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 +3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C +C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 +4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB +865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B +301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 +3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 +1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B +E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 +0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 +30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E +2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 +C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 +14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A +44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC +CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 +DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 +9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 +4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 +2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 +21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 +47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 +F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 +D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F +03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 +886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 +352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD +9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 +9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 +92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F +821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 +3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 +47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 +F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B +9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 +AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 +C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 +B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED +D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD +F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E +81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 +970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C +6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 +97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 +A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE +AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 +971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 +514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 +8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C +392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 +3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F +464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE +C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E +F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 +911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 +261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED +D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA +147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D +C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 +C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB +61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD +FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 +F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C +2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C +7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 +11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C +9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 +C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 +1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 +5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 +6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 +EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E +F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 +AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D +8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 +376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 +B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B +02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 +4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF +9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD +751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 +3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A +40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 +2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 +D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A +0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E +8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 +AFFD0B2B724EF0F28393F2034B2E69DA5061426805353EB4D80E20739BC4C510 +6C45275B8261DCBA10DE1D104B12F46ACD230977EE7D7D1D35D2814139E38C4B +CA6937CCFA653349B1EF64A98457F7B4B5D8F2978F16ECCEF7054905863AA46E +DD524CB33459220C71E9EFA7845A3A760A507B3D3ABC525B35930B613710A13D +098832C58EBBC8B0CA6AD516E6385792C59220331D0922A1F6F838A8DE13C337 +900462F952EABBDC2EB1FBF94A66186C177501453CD3FE3582073DD86F04406B +41B6AEB440DA475E13240445D46726A6D45185D56BAB8807CEC8A8F7CE1AD149 +7CE2E1BB5DE4E5B9592241DD136479A65905FD0062C91DFF7349874BFEA5D9EA +2F610ADB9AE7757B2307A1BB9D6797D9F9C4844A59841C7C7682105E23A374BC +A91885E7410F56F1126D6062165B9EE0BAFF28C2B54AB563630AFE4B69FF032E +7EAFC808A831EB41785EE4E3C12C9811617774408CD94DB0AA8DD8DA1FAEBC92 +63DBB3C52FCF345D7BC202236296A90523F67CDB5A61E1ACED53BD1516DCEF3B +551577E7F11E3827F465279870CA80EA5D9FBF65DBA894F62D4F97FDD32FA210 +7822C03144E0A07554DD1E3A2908129D592215A0832A9406021F0B0AD971DDAA +B6F2BA7A29B3CD95F342FCE1032955669B0469E3561D038C6FC92E4D81CB7723 +A14C83E11A4E961F1FC986C55B7155B85EDE07CFAC982102B9CC9B91EFE137C2 +AF41206F504F14DD921D63C229C8B7CE8F110BC23ADB5DFCE07CD6B383450430 +CF867408666C11C1BF88C463998811CE2124971A52A5FF779385EB4DA75B2372 +84C99F5B28FF8772D7252FAFA6739687225705994813636710D9ED94A70C0FB7 +BE007E12DBE00E91A5AAB4B2CFD7E622EC22111C2438849F220A096D9891279F +0DDCC564D440B4FF85F92448D42014DF2B231BD755943368A9554B60AA09E892 +F91A4B3291F21C9266CEC6204748B39BBE76D3A9D3A4E9215781046F041AF5F1 +2F6C7E3D3A8E987C451BBA393B474D059DB20905E27D47F0E239E6CF72D53EE3 +1793F2E5B4F5DA2AD0AD6CA9233144A052F688CFDEFF949914C4B69F50F6628F +9EEC6842B79F79C4ED61B502E510A24171D3E508B67D68BAF10B957E7AA7E5A6 +787E86813FAA0CD4BF07E9BCBEAED71484770355873C2EA9DAF365763EC4B45D +37BAB2B33776CC55ABFB0CC50AAB34D0AE5B36980E076FA181EC8EEC2D80FC67 +A306D0B094243BB5413AF1E242AB5653413406006826DC05E8EA239C7B126ED6 +50D659B91756AD1171ED3E37FF013F76EF232F76C9D0C0897C9ACF66BCB85D47 +74C7F0F9ECB7A6046A3B82898E01228F3224DACE17363D61A759C707BD7DB971 +AC601A2D95C2E2502096E1E9B72DB4151DAF79875F36487D54CF0F34A6A2FB60 +733DE9DB8F7D59435F5CE9ECDA268E09BE04CA90AEFBF8417DB14DF4082A5477 +8E81A1A69152E89EDD1922C10A3CA1DC2B0BD7BA4A858298BD9A3A98C5081C21 +E0936519A99620B27509883AA432D7AF3FB95A99A92195FE746895A05363F265 +8A59E2D8AA987F7555ECDD0183604BCB1609A7926218F9945A0E6E1CF675F16D +72489D757EF699E3B61D15FD79362FD02DA64574098F0627B7980C2FE0ACB1C1 +ED3E55B4E5E9868BE0ACB7EF94DD2B66B1B0A2525920B8115FB3A6E15D83C6AB +BB537BFBE3857AF495A7F2B6D1E4F1DA3120E618BBA0C7F2F1E803C9AC006225 +29A57FD0FD3586034C7EA3390C0A9DEC65CE4A345F755D545D38C702BC634995 +A712AB2EEDEB0CDFD58AD8DB1D6CD21493AD564FFF9A40E6A0E1B3B021B6720C +0266552DFCE85F6037F0180333B6DF29F365502610F810536A999BDA2A2E8937 +27C0F9A49BF3DDAB74B39A05E698F34AAADC5329426DEC42D12C28431FE2AD30 +BF7483F59A8DDC9038494FCBBA52742EB3E699B91EB2AD7D9BBB999E2B1439AE +29332F9DC86FB078E04658E87C8265825FE44A5A922D11C85EC79C80DCE87504 +F07A83A8534D2F7EFA27C53D2C979D0ABEFA11CE987CC81F848795C2BC29B689 +EEFD40F525663D0225B4FC11E2BAEF99FD6AC36D436B89F0747BAC764D58B247 +5B952A11317A05EA2CBE7E78E23C168D4FEC5568C363597B83B9145A039F7A67 +72CDEA24917E57B9D2A308A499450162B7373CCA76A8B599222D0C72AE259AD5 +44562254C6BBA11A9CB3FC8784D22095134B5A65C177C92D61843F365B396970 +80BA4E5DA5FD605D08D0D8C0BEE7B2EE7D3880CFD3B00782E9DA1E05406F8E32 +157CEABB3D29645B35D6F1172A0F8128D7387BB6D9B273850E2199B8D101C855 +CA4D3A46912402BBAA2BEEE40B4551CB51A630AD2BED0D04D3332D7B19A496E2 +6E0B680FB004DDC92737D31B828D9A9D731D50FAE5F322EADE40E7595551D643 +5AB8D63AE2F4E6D63AB12AA1143705EC32268B178127331FCB7C52B7B6D47042 +3A569A92A7E39126C3D65570BDC7E731A1F14E5D738894A010A8A4BDC410AC80 +F0212BACFB1BFBADB3545F4476638225472842078F4647D9DAE27309FCF750F7 +61E2AAEEF7CD03BA232CB63F9D8DBE3577BC53575113CFE5F50CA24697C60B7A +3DBF23696BC99EA0B1D2D24F62FEDCE93A17014B5ACDA21138712C8608CEDD4F +5D819DE8E8AD38D9632C16C21F327DE6E98ACFD85B47B79876F5A9CE1DCB4315 +75CE04B0FD290DE67214D906DCEEA177DB232153F77823D955846EC310902196 +177B709C2C31A34742229690882379835AEE3BBCE6AC8479904BC79BB65C6E2C +E210F1E3EAEFC9B149361D05B29AD5B2574025ADA708324B8C326077E8C337D5 +214044B8DC0DA58EFF69725B4834757BC2A15C307C8C80DA17A5DFE2C7B636C3 +22763BE8583AD7AC96B68F19E9C61C72272BA0D1922B89DCA0E3E91ED71B3C49 +F14B7149184B7CBD3714315C9299350C42EFB14E9A78691CACC98A76C372309B +70486BC14CF1EBCE82BE0B2D7D88C69BF4C29982A446DDADA75FC2577CE48BFE +E9F03F264C5F3207C0662C9CD2D7D0498EED10C155D1022B59A044CA632C7DC0 +D1F59B33F6CCAB09B36C392AA77B9DB7D7B19C490462E5CF89A31524BAEAAAAF +ABCEFBB31398B5B66A24E143FE14709734A5E8FBD153075377129AA4C071D41B +5CFAE698DA6E5D355A5D7DC77930DB3E9A756F5DC5C246FF2CB6FD92FF98C8E4 +E4DF2707614D4818D13D41019D72A82F1B48664D4854ECE98CB9D2AF3134416E +57A040A1D1FC5E09BB72C7D315EB2DD9DD99F9EDD19BF0E393113DBFD7D71F34 +1E438FF8B525BEDC8B403AF835E62357802658C239F445380DD4CFBDDED654D9 +F46B0CC75A5CA12D866C4152CD7F5E1292C0BAACBF08E303B9803F608DF5B186 +030D7EF6C01BFA37D6E0FB167F4812776EEDDD7CDE2EE766B364543A12930206 +42B1DC022AAED33621E2CD70469FC4F5554B9230E8E8373E54A25E981C9C5FAD +EECEC3CBA92092B32D8622C44833F5EDB2A7D949FDF1A1DC2C7BE24C81485E6B +4B02EC4228B2394D9647FC6BF30FBC6E48B3D871FE4C2199F2ADB67BA5F99160 +5D50ACFC2C07BA6CA9C47F51C7A0B9DCC5C7FE80307B6A466B34637D8F748D2C +A7EA932D68E38EF518B53B87CD1A0707C41924E7D023089B73198CB56FC4C899 +E05838712FC12E896C36B537361B08A01EE5727F9DE3D4FB4CD074E72C49EA4F +B83457BF5D5B5E8BE9AB51D72A895C5018C5C99F204D4957B4D010283B617A54 +950EB891F4C3253BC3AE24C8C289F331D4D96396E0B8217B1A0C2C61DB115866 +5405CA07C29E299BB262BC9F66AC3A2189A45657E70D0022F922A731E1125C0D +12987030D76F125D6779D98FFAE83DCDA0557118BFEB026DD3793B0798DBF2D5 +E40D4D863391BE6BEA673213E48C7096506988BA5AD7C1C684F6DBC594084341 +A1BDAA817C30BC7A030BDAB21D18F3DF0ABA15499BD7C6E06DEDEC2215CA8D79 +2A74EBEA888076EDF9B80FDAB53BB2C018CB6CAFEBC3B2A03A4659989BCD6CAB +C84197B3E586CEFF83EE903FCC406787C033B8066150771C9878038F952D7284 +41784AC73B709C235B8F0F1A81739C98C398B6EF6577F37216189F904383714D +481161C6981B294B1BE4D69B038D3104645D7BC4607B905EE2967CE7730E2148 +AD363D4000A9EC6E1637F6061E8710F19E7590B857A8B2899629E85E6F1568FA +E00CC889EAF02C70029E461EEE571E004AEC85AA395142EBB919F84D9AACE9E4 +3093C154BD09796B8C1759E4544E4187034F2E34251C21C2AE6F2CC75AADECED +3E7FC704A59C885D2F08326F91A929C74FA6156216FBD94B0E98E518680AAD2C +D4E5B589BD7C11FEA504F60E3FA8D8C93CC0EEC93FF3CF7996355A7BA06E3FB0 +F04D389E05FDBB885DCEC8ABF4207E405A89B0E4FAFAFA794CC2E7A5DBB40213 +14B5C4C13A9219F794C2B8AC427C25B3B2537E314BF6083179DFB537262CDB58 +854102C3E6964B5490083A7177336CEBCEEAFB3D82AA6E37DDC73E69E0F0AD2C +BF0BDA94453CAE58D1757931A0F307B8D5DBCAAFC343D4FCD8B54A576545A9DF +EFC92CD24453F58D45A204B62774B9057132311D619ADD0C193CD3CB3CF50959 +457001E3D97206CEC98C42B1E201573458A3559FEEE205631772ADA932400F49 +45FE118160003F7432D4D3F6E7EAE7E5FC166ECC5C25440C6BA0BFA6176BF596 +23059C511F512C7C40D7EF46D1C80323E7BE090682CB057FE1DB587C8B2D86AF +C2A144E5168EDAF87977E68E09D7F85C5FC74D7D7A969B7C0B977A2C5F12B6D0 +8A048929769572D0A83397D1A9AF2ACF1BA331298F436EBE1759DCE599E25647 +2385CB4E64D5E694D44DE4A82E419644D38F9AB816420206B1E50A0DFABF4DE9 +F8FE0009FA524FA64086C35193067DEBA0427339A05F4ED8B4CF494277EE7563 +2E1387BD302832DAC7A6566F3045B9679F4C0951994FAFA6A82F627CD6D699D7 +BD9CEC67EA5733B783CEF85CBFBC431B1B6E7BD735F9315FB694C257709EEF82 +42E9EAF60FFCF7919CBCE7A8C3568175A8F288CF72F1AEC9BD5290DCC249E5EF +6E69561F230DFB22EB2C8B3900CCCF2AC2B3777ACB8C6E73A0A1878D93D8FB85 +36102BFB2B6157EAE0CAD7B07FC6BF7601EECBA4204C754C9F4D348BD300CA59 +1CA1E3C4B2DCEA17796EDC92E9D00EBDDD6978413021CF923FB51F88391C671D +6471E07D4BA4F69CB7E9916B564ED1394CEA8784F7B15428DAE99E25E237429D +202CF47356A859DC0C94714DABA01EABB8105B8DDBA1C8A1729EE4F36CC7C551 +BC20FECDCAA59CF80C7151AF1AAEA614825C109468C9BA8F8B4DE5D8B43F4562 +05C9E17C984BF0EA39C55BD4954A2056121B0566D5E44BCAAAEDE06E2DE2A740 +73FB28F24E2445DCC1E572A9B2504F133B720848FDA886F9997F512B864038D0 +BC1945D414403E339CDA0E5B565543B241E3253D45AAAFD551B53EB95A22FBB2 +24820D7356E16715255E900AC17E917D343B11FCA43ADFA71FD0FE35D80839DE +3FCCCB963C316BC83BD735E4B994B9ABC352BE2CDD01A6B2626B680F5B951998 +2FAF05F70486767D52DBE50F72FACC6B1031825B84D576D5C00DBFCD38D120C1 +225741A44AFEE56F86F9B10A9237BC193EEE6854F3A336E6700A8382B5B39A0A +4AE1B41F80EE4014B6D8506453307B7CBE6AA5E0AFE8EFBADCDF811F916EF2C3 +C5DE2E30865D5E364EDBC017558FEC9D53504C416855A5D86BBD2DBB236270BC +62F1B72065AE3D306E37FCA8AF87B8FD390D869D86CE0C3C19DD58EB6C06B7BA +5C295E13CCDD2F3FEA730E21389DA6CE5176CFC61652512D2CB198F482EE4195 +7667DFAFDE862152656722B3C7839E20196C16595542D84F6ADDE02B999DB1D2 +A3980BF49A216412B177D91C8F3B7686DCE3021BB3D94E067E3A7BEC1F8CFA82 +21FEE6DD9EE03C547A040FCA39AB5E83F9ADD64A2A42FCEA4095B41D39F035F4 +B42BC7FA947E8638202D07F5242F080698977F5B7BD169CA81EDA19317DB534B +158ABE6F31A6526955713175C29C9E4F1B155A82DEE1EFB243F3ED86B449C4D2 +A65117FE9977364011E35DE993176C88CDE7E13E851CFAA68348A67F2022976B +EA360597B9850CD775492FC4EFC3A2A106D6EA3FB1C5D0996FD2254ED3ECE732 +AD53EA23F3CA03620D85A0FBD5CEB86EE3661F5FA5A652320C1798C0B921F4E6 +3C41D8C6953A5C3B4BF28647542DCAA4F3579CB0ECDF4F9B1C8C5A7E94196DE6 +11E63421F23715ACEFEA17E562639EA39600A31233FCB29D567C13CBC651FBE3 +F834291FE0A81B0008761B7B6DE7C16425BCE587B05C226CCFECDC652F17FC36 +09D8CEFA6E2E73305F09777220A9C07AD04946E8CF42FEF8441E18D4768235AF +F838911FC984A9CD6618309381D916E9D01352B0F3DF878EC618AA2338E7DE9C +F30A6EB3DC0B8BAD1A5BED32B51BC7332BE3B14D318D82B344CF9CB8D711EF6D +6FF94E536C108085ABEF23842890E75E70AADB5255D3A98967303C35FE96C186 +4A46BC72048A63FDBFD917BB96B3B2703DB91088662BFB93A162F782199A9AAE +321FE7942028FB12F768C67BF04028AC51EAF62FAA8CB4FF4565AEDF88975FDE +10075013342201E65FBC173D881F078B28B9FEE19E56ED470094D6C314A00377 +BE9064905181AD964A70A528282930DD71D741BC5A0A5120F8B43B6E57187FD9 +B6D626404FADCA335D9617753D74DB5D489CBCB737F2B664ABA879C216120129 +79AC3C85D5F497656A4C9A3078BCF354D35DC0F01B34590FF7C8CECAFD6341FC +891C28C9434998F9BB2A4D0E0A3501EE4E89585272D63CD8503AE0464027870C +B22458CE4774B70C5D841AF76E112A36AF199035F24DA4FC021DD665FE081B0E +23320395C8E50657227FA1285C776D0BF35D1B61445DF29C17691C324AB79613 +D8ECD13FB4C425360C9B0936679E8325652AC8D6C96B470C6300CFA5018A2A77 +81C7D792DEE1E6F5496DCC654DAEDF88E87F8D44118C6A333C5627B3A7E0AEB5 +9F381FB6851AC5DF632BD83F60F5DB6905BBCA737F25ABA36C3EF34324C09F51 +2BEE533EC4016A7678F9A8EBD144FFF794568907D00D9727CB00111BDA7168D5 +3C361666E08F2066317EA20747C0911A251135156778D8A8CCF414613D2FD6CE +7C49B627B2EEFBA520A28AA23B4DCE90FF6965C8BFB31A4B0C2D3113068FBE22 +F91B3D0D6E79725AA1213263C4059BA6731B2D2B6F7075B329AF5C9A9F185651 +08770786F4F3070B234B321B3495510C9D3E6E5EDB980B00BD963B60E80D8D10 +84E2AE88063A48128896D9CA8789A771232194C49E946CD2E5B8A1010C0D377A +AC0A8EE6180F463AC193DBF3AEB9EB13DDC34506A328901B59CB982C907AA0E3 +051E862BF69443B58FE839125D73686AE1B2F5D4F75E9886E004023CC9D24C8C +983E76CDD769F70B3264178D0143C7A9809F3D7A2CA5BF14A5D39DE3A7AB22FF +9898A387C8D1475C8F575C1AB1E7683EB4BDC6BACC3D6989631091AF5A23D400 +0F9A7ACBF89AEAAEAE7BB82A32A68467B4040A91BA917E3F29B96FFED9A301C8 +AC6C8F2A3E7B2B69AE1593543F51B0EB8380C1EEE137DA5CFD640F90C1CC4CBF +1D568FD48FD15AA937BC0450BD16E2192521E9FED47C13881BC771B657646EEE +52B1B33204938EB3A9FFAD793506E926476BF72D54308EAF513D47C127C2FE7C +47BC9A5911CFD2731C67638222523C3558236232DF562FFE228E8186473DB174 +F7C511B9F97932F0E68D4C5DCCA5594BE19ECA5331D1A43F7FE08C4C316EE934 +56019151559484883D6239CFE5B7DED2BDE60C49CCC4C64BE6BE5A41865A3D1E +859D191C46D5E1FA370B0C7FBCF7E401393BA9FCD28B2CDDE7B315F6446954AE +E61E22C9579586E94EE7C79850BDDDEE9E39BC775F2784B3ECFC17486AEBC50A +EA0B741B486431F89BA845736842CBE0A1C72BE6C595DC848A880D92BD83CDE9 +DFAA123EA414EF4D0B1888AEDB45CFE3679FDE79BA8955955858141F1EA8ADB0 +4E26F4DFBCAF5DE62DE5D9652BE5E83BC6809F90BD14B584190BA18F12AB26AC +34C458CE0B7C2DE620E2367E8AC0307E4D5F060B103AC49D75C747C428ABFDE5 +D65B597866D030FE9248EDE22C87873B00A659710B2AC0EB5C5E43DFC54634E7 +F20DFE294B2BC0CF8755C88541101834CB4614580CFBCCF436D4B784B16A36C1 +A5E2A50E263DB7A3F1394D0059AAB0A041DA342D631E316F299835ADD693B4C9 +D5197DDC6CD86B913EA77423ABE917DB16329F95C750F8F84A03D253339BB91C +8A8097E9C1A87241D9F5F6931255E4DE7E6240A997613BD0481A415B90D85383 +49384F039FE6FC9EDF0DB7C913467D265DCEAAD26767B1D3C7277307E813CE8E +9FA4AFCB73A55F1810F98C658205D64B8139074E878AAA7AB0E3CA19D11CF260 +1410C84710DEC9B6B572EB1AF633F18B1ED58205F32DE64D4581C22BD6270099 +69684B4BBA0C103D76E779CDC95960BE5DD3AE407C6945103B3A5FF30EB566FF +BB9EFC6767197C0C8DF1C3E89FA557D6065A0DF035B649C9B6B6FD84FB3502B9 +AEA9775764189014A80DF6F4D6FF58FDB725B05E9D203FE56C2D7643B279887F +EEC2DCE0DB6F25FB14A94D80C3EE59418F2E5297BC32FDB16BC90EE24CCCD779 +0884550870B7268A808A6425FF88AA2E75E37D7A87700C8738B33E5A75664484 +BCF4365E2F32B18536E69469D0B4C017CDA27A6A949876DB35DBA0AC237B7444 +AA59C57F83BE342B7298712CB20257474099DCF93D34DD065EEDFEDD618BD4B8 +B9D720E6790F6628040E2B873901CEE7025D40E2850F65F20B16AA8879126782 +A78D1CB0C880384AC09BAD84F04040046032B743B6815F47A372247D87C4281A +E458708F43AB5F1FAEFFDC3ABC025237B157CA3248069DC811AD1B98809131B1 +CBC57DED9D4A18F286C66CB8133290FADBD087F6B761C053234CCE05400687BE +C9A62E2700FC4860D6E1D3E23380C25C4A556E3E9BC06536EB82F67EC35DA315 +222EFDDA2852CBEDB65B5672C96C6EC57274F44CDC0100A2B09FB2012717ACF3 +ABC9F4CB15D48DAD090C2B2C29A38E8EA850B17EBB051296F774830898A6D5D8 +E889BE5FDC1B9BB35F051FA7C312C625FA9EED2C8F2B5B1E8B7000EE3F1075B2 +04377C22A593AC551C697B9196EDAB0F7CB88758A166CA9E0C2788CDC4F9D3F9 +F282D2DCDB1B5CE3C8ADB4E9AB6137A361789CCCE0E29742FDFE1CE00D62CA2C +122EE56C5CEA0805DE5CD765F0BB3FC202559BD71FE589F755A4040507296E05 +21A276FA3B4504F2FEC87FE4E05B5F26B5D3112AF2A54D6E1C4BA426C3DBB16D +FEC37FFF447D01B50188BAB74CD0B46A97C588208B5EDBE92178C2C4529B85F6 +947DF3A2DD79536C3D1CF29BDE0FF25D5B207602D37A808FDFFDBF67BE39B731 +AB4BD589249A6701293D5CBAA46D7B8A76F7AC1EA2933E50C69BBBFB07CF6DF6 +A3DA989B0ABCB374AE23541BD2A6082484685F02495A1F100555F4BCCD75B705 +C0FB34F71BD268CC323B7F172FA5F823A81D9667EAB2C0AF907A519E1ABCE58B +98FDAB41F5B8AE79F66ED2F8596A74C179BF2C6667DF71DE6CE644FA4CFC4D88 +4579788E13BB41B3A634F3FF7824578B62E23FB7533E9FCD2773A9F50728228D +9572907C3DD0AE81AD16DD1596A5164D7F21577163686374E0DC31BE941C4F7E +CD18392EE08F0A7F37AD84F1CB1130AADD79F7F5D8E95BF5639B0EBCAD5F9025 +6E9F62DC262A6D268E9C3F88F1E99C6FC48D882FB846153A90BD9D8146A60805 +06BC1EF9889AD4AC713DDC406DA866AF8FD683ABC63A7E7E6D1D61FE5CC0E035 +96EF95A2AE19817F0F5BD2E3A8E1E45C2B732A478BF5605A23458C6C6965FB68 +A2E080C60B8E69E0817B6940EFC1B2EF164B16041D7FFEFCBC67849CE29F2A57 +85D4CCEC6497FC7B41678B0E695C98BCD70B90D5744D93D3586F9F201100977A +AEFA166816E3BB17C549655E05E4A7E730DA76CA8944DCEE74E7F6D1DAB62F9F +7000491CD5A03978E9B8886C0978D98AA53DF34352E7F3233258546C35CD0348 +CA10B815D3F4BFE2034607D6B6B7FD6681046A1DCCFC80F41C1FE7EE2DB23928 +16B8FF13833E468220B797652EDD50ACD77E2290BA8A20087F6BDAE37B33AA6E +75E369B01B75A500497FC6108EBCAF9DA97745429C5DF142281284C0BFE9C46A +E189463D4C939967DC8400476EC7BA82A60ED48A272D579E64DFB4A169FF7D3C +3F13B94A13F43861A8B614FF696427485720BF5E910EF2A0AD71639D5A308446 +6F869E2B158B116FB75D509100B557DCE4E8119762B6E6F95E0B9FE96466F93B +448C0F0D6586DCA83CACAC2F395DE7526A9E8042C723990FB3131CF3E690C4D1 +0355C7E8216BAF71E85B5741144D0C2FF5B5C4357CBBE833ABEA44686331A22A +8B75F658B830A16C5523CB541413ED50EAF07E63516666E09642FB0F420B7E0B +425F1B8DA5260133008098862481EB809E21824659AC0F48A62553667940853E +041CFBE3C2BACE26BC72AA30BE51DA5442AE2E277885DC1629F9D0D3249898EB +706EBCCFB4BA8C2525DECB96A8FC9DE4CE3C61BC6C16B300017C593EE0445167 +8B8BE228209E2464A2B98C3E5A24DD0774EFA693BAF59BBED9C0E9943A297202 +1288E606311D2F8DCE9CA697379DAE52A1CD2AF464321CDB59B49F2A9BE7D9F1 +CB512D8CA897A8E33E24C4EBD59905BC788302CA01678E008C9686B7A76AA340 +017BE2F57C219B1394F96BF20B0190DAEA14F2C48B143CF7E1EBC62E96A4D2D8 +18A10AFE9B45B98D808D6990B6770AEFB3D6BC3D566869B272C5C39A33A007A5 +FF07430E45D3905FFF1EB3A24DDA0CDAEA23A11BF7F6203BE37080AF47826BEB +70078233A976811484F273550E44333399DF060113932574AD3F2AD5A5FDCBF5 +D1FA91C6C22DDCCA17197063B1F2970CFEE58072EC52F958115690F4254E2D8A +E79D2974E6A8157C2BC96B907F43E5838D7D886B11ACBD9D10F2027A3B433C6B +E4D0A04E3DC3C0F0968BE17311BCC94335EF42B537515489666E069C34ADBF5D +38DAC87DD66BB9D8FC21AE38E066CAD12E966BF9F9D1D04AE941D343A4556713 +822F5EBA35BE20833263D8E7DCAC985957F1449552CF29748673142D2625683A +093542CF48A83D17636F1669AC63E09A39B73A25B5FE82CBD5F1CD0D4C553734 +1654E56456329A9648CC90ED3DA36AA2D9CEC59C2EB5BCFF974CA40B503EAA21 +E4E7C1A5F222A372CB22F57D3CD1B861CF2B8381CE94D2C487FEA029E286A485 +AD5E5D056FE56EB5D792E3AD0D14A05AA43E19A08900A0BDE3F411E01C32E610 +011E3DA7AE134145C94340D2CD2C3DC4DC826C3DE248F02F0073227022170519 +209327DAFDA83EB8EEB8311FF97BA0EB6CD96B883EA5294482F6616CBDE912CF +00F5C863836F2059A5B089AA65C07FD229F4CA4664D1C008E4953DF3FDE96191 +08E83F0FA487B723FCD694B7195F4B25A332459E1FFC770442BEDAB575D69C05 +432BAC50FB068710A7538A5507625A80F29B639A5B6A4247316DCCCEC19C5BD3 +69FB96BDEBF1EDEA3F24CC88DD4F32B83684761A3D54C2010FFF830FB5621466 +5EB0C75A9282AC65B411C71D90BCCE84D1861FA31FEFAD30F800C1F058E6ACA6 +890A711AD3FCCA68ABFC7EEF359BB62D1A813ED77551352E58923DFBBFA8150A +8183C31971E0551F269205FEB760E67C040A1AED8E9BB48DC23696B35B595B9D +3ABCA1135E963C89817A1AF8A0CDF3C47FC4A2E83BEB468EAA8FAFADD19E49AE +2274D84F44D6ADEDDE45DF92315DBB5743DAF3CFBE84735E5943691268E487A9 +D47BCCD397A6AC740A6CA52894FEE261114AA26C8430E357FAF31F8AA5FC369B +A58446162C56456E1CE41C91BE6E2E4FB29F9F0495ACD5901E27576F2226FA09 +5B85D948C6E91ECFF204F4698412F3F2A7631097F9D27D0AC133D5E8C7D20EEF +6B20C7DBDDEF7EF90B9F2B17E4A6FA4DBD1BAAE1F8972D58370EF8400DEC0CF5 +AA8DB06006D8411083CCE4ACA28C7500E1A79332D25EDCFBCAC250A8DBAECFFC +56FB07ACD7616B76F6CCBB6E79E670BE5EF317EB0EE6BA437A5FEAC6152D1BC1 +D9E5BFD137D24B62D4C069A83C0ABC88BF25678416D3DB71A098E3E1CB4A984B +8B5109388BCF8C4363ADF24C0B8583284DE777D5587855709D9B95B8C8CABDA7 +2C46083DD427291D6B3172DACFFAAD8A20977F83F241C76CE0F61159ECF7433C +B6F72C39C6EB5B2FDB39930C869789240FA9A418709BB9B75491D0EA09B2ADB9 +E2C04DDC78743BE8883485CBC978F01D95E18A8604A68E2F9F4EEC9A543D5572 +8AAF454A80E03FB995AF95C8D2B29515F1A5964741CC36FDC2B505526B6402A8 +946B5CB48D71936D00B3F3EC25CE1D1826A81AA9CED847B8292F7717341D1467 +ABDBD2860BD9C58AE0C183C189D4C783E0CC0001AA712B94946FA65FE3E6E73E +FB4ACC19EF51F578995A06FFFEB717E1C7A2D095888F2150942CB53593078870 +19A6F6EABEBCBD6E028AEBEE5358B27C5FE628966EFEBA860123B5A3A5D025B3 +C0CA9868A1B44C402E14CFCF5B1054897CE7E4210D59F3301BCF1C36686CC89A +51F23CA4A17C4C5B7D976D01E3122226CC35CA008E2F182273F524EBB597F743 +16A44448889C3FD2A4EABFFC4BDFC415F9E00B42B23F70B745DF10BD7E3A14ED +F9FC97EC80E3F2246A124209C0ADA55249C21358CAFB513CAC78C822E8CC6974 +7A910AF65A3D1C0E149ED18C2E83519FD53A3CD1031282DDCE36303488873CAC +2EF4E6CD91F89F3B79E469C883397F0D03F38FBB2040AEB4EAA2F894EEB770D4 +DA08894328F6ED8A047490247BD7E8A73246254786A2BDA17E228684245FB721 +1391FABA84BB8250CDD373BFEC712F31E4FA5BFF0F354F9D7167199808D28C1F +123C6179C42DCCF1E6C128A31DBF93F0AAFF2C88DC56FD68D824E5A594140DA4 +9C701F28E3D4A516EDE46A0815ED9E38D522D0E30F5CC011216483B742724E56 +886E9227FC7041E7327FE75FD679DDE0660526001E139BC1E50EE9077C9B0F21 +E18BA36F5ED19FE7B767D778B4B34E011B6BEA186C3C83179FDB77C03D3CFD93 +C4954B57C8EEA40745360808F418C67C4094B9E77D8B2D309A5BCD5B08FCC12C +889CF552335B4547C003201AAD9E5D39D7F30CA3BB790F6CC151AAB60D6782E9 +0D462F768FB412957844AF923D6B1E73BBF1816D9493D916EEE2B871A7F534F9 +26C566CAD091CAB402AF23B1C0E590788C494E78FEB364BB3FBF01D4D0D31ECB +E2A7057AB1CE563F78E79D1D6F818997E2F841AC1F60D78689ED6355612986ED +22A314CDBCEA69C3291D5FE0F15893445690DA81192E3DC6AB5504D8FC35A2BB +30D335FFB840697567872D39DD7B1E582BA3D3DECCC4B67A0C8517069BB0ADFF +4182A491CEACAD4E0D2C3DD4DA8D5FD17D5CBC402CF0703E6EC8E5208D142FE7 +6A74656E59D35B15FBF570C25A95B679C42DC3CFE3E55BC94395FA2B99A32B95 +3F841570B44887E07CA25D80C5F324B100606B68C607836E23B8504F880FF385 +C64408ACB7E74AF2E90312E24EE56056A6961ED88EE9003C1D9A93E6AD7EB366 +75DCEF17DD1E1111B1E9D81C84AE360B998A03CABE7D4A6162BB7E3CA934F06A +27C78CADF2E447772F0C5DF83360289A58261613C219D9E8F1FAFA93591CC5CE +CE4D1F3E7CA673A5DC1C9DCDB95DE81551740AFD3D736590C09E87968C3CC6EC +47BDC6DAF4C57C5D4CD13541EF161CAE52BF516F2660EB2BCC10886E0B5B7045 +8E1696437DE52EE2D2DA0604CC336F3EDD212BAC3B34378C2A3EAF35EB280FD0 +59B70404A942056F4DC26B0698B556EC79BB4F530C526F46D372E1A0B6A36274 +7C9122E896AD4BF0A981B1FB86AFF12F706A018D17F91EFB123991F3A52D77E1 +B007854CFDD0DE07AE6E9D45D0BD8D4E8E2055AC3CC1488B6C0AF6E5B5E53F96 +BA4D76730194D1420898B970D2DA9C6D7B1B8D0CBC909B86ACC4A000A26670D5 +2FF5077818747495615073F1EC67B575F84E569BC8F8C01CA58440DA488D22F5 +FE3BC7C93BA2E61D003D327178D8A1FFE173423B458B46C96070EBCA474D4A55 +66047A79C1E40658F35307E2B45AFAED18A512ACE77EA54DEEB34433D673945B +9F66C181997330C1BEE538A41E490633E3D82BACA4E255612EC8FBD26A95F8C7 +574154908D942A9087767AEBE7592DA88F2B633F9D04C15BCB02325E3AD3C57B +A3232C7857A9950EFBA2BAA0663D34A9987E5DD713E189F9A168075EE5FDA8A4 +E368A1E6D9FAB6287FB4174F6D2CCBDAF5E24BD52DDC8930668742ABB25D93D6 +E0A2511AEF6A101EE396C900CCC94ED1C77A64AD2D8624BE2159F8BFCAED4253 +9E8E7E4FF99436663273AF8CE7476468A715D7606FA7CDCECFC6F1C1B70140B5 +5F57AB80C190A222F46BB4B7AA2848F6C57A0045CF90081814EE0F446903B362 +0200E0BFA9762129578C6712BF07580B976A65020DA6EAA7EB3D93D1F8DA6E3B +52BB5427F83BDB672EA98224F88A50A7F9662986B5F0F6AD5209EAB5E6F60577 +54972E530F00977F6EB5E7AC407764618D73FDEC691507DA0210BA590A182EAB +CAAF2374A3A8BA4E4E4337BB7AA32934E0946823DAD34A9AB7EF84C3A35F8501 +15C30879453A9C07A1A61435C5F59B97162293D2948F2D31945629F76C8DDA12 +6F09823F66C85E4D129A50FFB3195A28D1B44C063D039D17923F038DD5748C02 +A8C0CB962D472CFFD53BCAC38651418D6E93F0297E4D9D38482A42ABE5126E80 +34DBEBC18195D4BA3FF222784428EED4FDFEFED0B2577F0BD73F6F58DD42D27B +C0E518CCC3C104F2DA2EF0453C79C1AFDCB1B83A710E43E5E5E9E6178523E986 +E7DEB74E2E21D815359260A31F98CC6A946840FA7B91F3FDA69603CCC502332A +08504D3C4004CEF2F0097D5178D3ACA8DE91F0DD94C4E5F172BB229BFDD81093 +22DF7ABAA25547454033548D33B6729839544272D3E160EDFA0DBECE7641F478 +583909D9BD5A980D3AF0E1227FC9CEF0A1DD09C296FA602A4A35563062424643 +79FF8509B6592F8ED2D9AB51A8FCD8183A9AA38C2A433E4AF481DDB093684CF3 +A78D6D4A4263B54D2BD31BC49F3F6D36A5053E198316290BAB2339E08AC37C68 +84FFD791712ECC7DC93AF8C71FF89CC9A448B6D997600157F1A57E551E8A203D +048E309431AC50C8C5CAA72C0591C5963300A3FE1980B021534997525DAF12E1 +5536149EDB5CEEC9FA4F6B9A2047A1011D677B7CE6C41B625BA56D2C76F4F21D +F74812162CC2B1461A15A2AFC58655B6F6AA3F2EDF21BAAFB557BD22A51D80DE +E33DF8A432A545200D2D9F46736EADE8572B236EA570864302EE39C0F4F2E9AD +E15B8E8DE1DA5DF97D448F3FC6021988FD3FFA4EA77D8E9F70A246F0D2D66113 +DA0ECB77140EA2374B05C72C6922F7518273D3A00F29A873FD53AC5ECF865442 +8EF9E6DF4DDFA95D275E9AD353B698ADEF1F910D65C9B33119BC00099204DD9E +48DCF4AB36928AEDC90AE0F861C32AD5E11AFE9ED472A9E2CA0BC39FCC8E0611 +5049163D90834C761A81BA556E0AB33B03C18CD588BA4456F98E513A9417B30C +57950252E173DE88E8851AE4B31C56F50A4FC78B9A57FCCD085EAB79436B978E +EFC2D2AE5B28DFED01326234F58B91EB0BD3C05DDE77446C876593E19D4EEA91 +693567C07DED826FD98C085AE8426EAC64221BF537809BF64AFE2D0858198B1E +B20B899D441F777566E748B4B98AC9A580DF2B16A8375564A470CCDD763DD773 +3852BFB800850EDB0DD05AC4ED84FBE2E6D7635BE59BABD023C6618E1E3B4FF8 +D8CA6F9C4CB71AC037AECD6942192217A369E5DA2C9BBC15D4B497FA17AD58C7 +3619FE8A3468F685217EB8F7DD7A1AF07844B390C39F6455F1D031A8D5E3C879 +675E54FA5ECE78C16AEEF85B3A19FAA5ADD47A5DB599CA67F572119130B4AB31 +4DC1DDC7F4F070C3767F6A201A4A2F7D10249A7DC8209395A3CDADB7D720E2F3 +9F7DB1B43E862FAFAA64001B6FFF182179D3B510EC841E6B90159D88E1C5CF0D +81A7CE0A84A45EC48CBC602B77CB6456891DBA6155554E6CF4F59D1B156E5067 +6ADB21AB89A8AE01E942F15A267D8AF844070B6300DB9F56C142F2452587C0AF +F914CA73B48206BA22E89F307D3A0AB5F0CC1B58C5377D0B595CD7C977A7A808 +8C949282577283BFD814934BF35DBFCC8A517A18ED43354C06EDD631BD0838F9 +A0E50B042B3065A90884B3DD7EF6B3DB74D3C4BBE217FA8D029A6129EB65DB03 +A2DACAA5E129D876F5D5A2FDA8A6CE82849BBC19A478E13055D8E417C47B373A +FAD3B64CEE8FD17E242C72E961536865B31DD15539B73DF1400E9C54F3617267 +121DA37B8A5D017ADB97488D18DCF65B64B2D7CBD371F2998CBEBB4A44768F97 +32DD8473CA660BDFC503498A6B571F5477BE93BDC05F1DF18D9D8E0D51233A94 +A39636DE2BA33885C45E6D80339CE9FFEF38671085F4B462FBFC012BDABC341F +528B768EF927FCA61D9F36C40DFF8E62457051A3DC52468D601280CC392BF1D8 +9C2D7D80B7A52501CAEFA2A20B54EE058112361D817E21D8FE04C7858C8FA923 +2E6BB0BE5D800D2F62145686C9FD729A1E6EF7423DF12799CADCAD662C98BF7F +6FA12F75C5DE1A22469D73771210EEE0701CE2E2FBD3F354C37388AD404392FA +603C7EA5227160F0C8B6B33719A46BCE96E89664E58405BEB7C031C7DB028649 +85F691A06330DA49CB91CED3DBFA95A4F1C348ED5C3E1DA393A4F0905344844C +1B63F7545864D8F6EFC16930AA23B442161164F857668B29F798C708551EF4AD +60D7D76F9EA3120C89C680C70A1ABDFF0451C9769A4F9E81524D21CE658978E1 +34CC579F2D68EA87E1EE483BBE67B72B8BDF26C41F6510BECC44F5D0F59F7056 +F04121955283D91D6E782F95A19A3F23465236193AB6F5E2B7513F1457B14591 +1B1419BCE4B5A60220317299744E1E013CCE815F71F51126593EF44CA616D384 +F5AD1C22E29C5670FA2A34D2FC674675F751DD5F829A0DF2A6A8EA09E466DDC2 +7242253A13CAD26053321010F375E4E363818E1FDC4ECBCEDB62F035DE9655AE +DB95B2B8469306BFC35F90EA983679E51753599F3C0EC0EB4228AFACBA963296 +80A08FCAC484E17F4D87716AB2E5389258CEB1587670906C61AA5ABA3C5F2DF6 +00529C7A3D52A38F105283AA255F73D80B0B707C2E728E8E63DE70415DF7A5C9 +EE9C0C48A7298527B7803B55488DEE1D1C19F954ACA306829611C325B8C59AF1 +FD4971153C767F958C836EE9ABCD458D72177DBF9F1403EAD2754EDD39D3575F +3C7DCA360D50B6F0D2D04B0A7B2BDDD76531B013CDA34B4A5770A60C48D41375 +A9EF62987B535598534BC1F2C1FC947077AC0ECFEE208577F7DEAE22B105D77C +618EF38632B88804720D09BC92306F73289B2EB5CC88E0B8168EA30FA8B23899 +BA80E0C60AC8AD188F07E819556006198E72CEA9B85E05E9FAD3C699C26893D7 +95381C79535B7BE7C26DCF0942C19EAEFB2C900A6796B629651EAC2F34EF307A +264E2DAA1C183ABD8C447C7E482C4F377445B534AF770AC7EC4C553F0CE984D3 +7EAC39E66E8786F1F753D9A89BA13F4D60080A4C7FC4641A2A953865587C6BC1 +BC15ADA69AD79FB289DFC0E66327FE91340ABC065AE04A777E6CFBD612FB28B6 +2D2D42425D288D1FDBD16C97FEB69361D7B81C1DB49CCEC0766C2F1A71DB2415 +93BCE2D507C7A452210F4256466812E69AAFE129BA0A729B643F2B83A8DA2699 +9C977FA45E0929E5568996B2DE7FAE70167B1B2801B23B2D4094CBD18FC28C86 +0E72795ADA87F68B6894B08FDBB5F4CFA248EA424B3953ADD61B70A3A2E219AE +B52F5F3647C899A1695C909682C5255142A38225D46CE248B2ADCFF46D258A5D +7AC7A2AEB0E321BC75CE4E17D91C59C16CCB6B9BFC38780B9F1271CB741989D3 +3B05371372B5A2E06F41B31E50457F36C0D7EC41C1005C98FCA0421AEA5AC252 +26E40E477EA8C2975C847A5B12723591045C84CF71EB22CFA07174F7E8C28770 +CC7445CE7B87EC5CA18CC56B33912F684DF4EDA4DE819A9CA369AF50AE2992AC +69B63467DFB1B39175C761CE77743736ED671DAD764E0736D95A978AB860E93E +93775C778A108D70C38EF460243C18927E4A2811BA65562DB1057D4C83A0BDF7 +D4FA1D54272077926962B0FE46A2E0EF90A275E3842032572909C194CF4DDA3C +22A8584DC862A54F43D32993D3AA26770AEF75C09772522BDEA35E042E650991 +77163D2ACAF6C73B7401DA64834D964D5A6D1422EFEC8325EB03B723DAA4CAC1 +C522CB6C63882166D43BD85523D2F7E3FE3BBFE71DA7D53C7BD04874E9E5CDD9 +035D1B74C55728629F7B9188E168A3FD62A8111BD4270E811C121658A641B86F +CDDEDDED227217D448D53030D8EC711F38631511E198C13A456FE1F2F1E42DD7 +8E7675AE8EDF20BE0B32666715FE53134D829ABF5CC9E3480AE7E59D6B544DFB +6EEDA5AB9F2F653D9AE1CD198ECC72372B4EABAD9F2F62CF4B56605C066915C6 +278C9B0C389773E2A2224493E9920F13E33196056BC687F87A9680E2C3BB9043 +4579B13F9836D0B81850CA7157A3A2428AB307A5579782CE304CD7D5EA82F659 +4FA777B3A2948C7946CF6606500A73EC7BD12E8BF4CE9C6A0F9A25FACA204C5A +F2BA0A638CEAE697DF7087B15DFBCC5F97CC5C5BE4CA406578FF31034FEDC317 +FF46A8EBB289ABED3B1422A124E734A667923760BBF9F00F1BCF10A0C1213204 +58FB4D73B6A1EE155F6B941952B4DF5E9F681F4F3D87D369B900269D0DAFE8D0 +3991AE4F7A2FA4FCE8C722BFC9F40DD0C90BF003B9399023748DC9760B84E734 +C0BF397302CB2199E1377FFCFCA1014100358E5751D7E5586C3EF4E0D5028519 +9659F8C6C1CA86E5C6BF6CD0D6C196F221F288ABDC00F302F38D7B11DBBE5E2A +56DE90D35F00AC8915C6F6899259E7DA711C6DA4C19254F7BEE6CCBB114DE58C +FA6D6658DBE69BD86073DF8E27CAA8E273DADB9FA437F1E981FB9816A091AAAC +A9F685D626B6268ED137789673CF5267508751131B9BD60782C9B78F21F7AC68 +B62E2CA8E867D68BA9DEAAC1942C15EFC41E0BB56C0AF6647C4E4BCED0405918 +00B23B654BEEFA8A5D8047BD759DC1E3F7DFDB1E8F9981B39162D263AB143445 +6B6EC7B10B6690A4A57C28FA8F14411F41279420D830E596ED96E5BA008CF792 +23ADDEBD721CBC18B65AD5FFD22971D50FD2C6B28219568EB11835D758A4277D +56B6916753D4C0E06F5EDA7E8C374F97FF5B94503A08DC75B02D0FBBC43EF671 +775D4771D15D9DA60070D9B43A4DB5ABE0A6E6B8C3AF2D6AEA8017B43A9DBCAE +E0CD0A2705B41AC1B2B710FEE187CE4F4F4462E7AB94BC3E3EB0BAE5F1B60687 +C0ABE94D50AA47CB73A3A7278B6B70F012AE6E20ED0FB0AF236200CE04F0FDFF +167B89C073464C49E48F64A686A1BD906383DCDD18A6BBC4525111A9FED4A7EB +FAE59A70FBCACE97A7B271F430173916E0672B5E7D2C3B60FA8F77DDBDA01E12 +284AA73DC3DD026AFA640D3056692AA6427DE8386D62D01D25F29BD6F86C067B +4D3E4FCE17E8A9BEB9FB6ACC348C422267FB08BB50A0F6C6B2269224036E6B87 +30AB0C7987E47DB3B3D6BDF34F98AA7058C4C63D7293C1969564C94E28A13943 +BD149AC4B6F0E0CF3B9F7C49C28F7F40C91580D15BBDBE45A23A92ED7117AC73 +CCC982CA500C23DE1887B126171167B2ED37B5874BA99416B095AC47D4BA7305 +56EC3B53A0B0988971E778D66A8B013B3DF8BF4306AF12BAA81DF3166D1A644F +F0E364D0B61113030FCC64F85AB7B2E6DB7E7096E964D72B83AC05DCD100C497 +93DD2D1D6E4E2FACA18CBE359D1063946D443DEBDB57D3C17216BAF2E4010D59 +5F0D05F9FDB22A253AF92B6EFAC41CA5F24ECD73F586981D75483E094C8B6492 +4AE6096BBC9BF5564C567D915521FAB91C5DB327E9585F7035AC271C4B150627 +46CF47108756BD6FDEAF2A75E2CFC5232EBD9DF0CD5BADF4C7BE51090791C4CA +7326467B0B902E9FBF57335B376F6A69D9BBD25547B66182502CC108371C9022 +C2CE41BAFF670753DF7298CEED48635F8B14B85BCF6F895523035727CD9EF9CD +6E25C7587BDA865FDD0B90248B89A2962046720032E3B8B918799BF8038147B7 +385F290831F70159E1E7966EF6481B13D36D31BDC466A6EDA4475A4ACEE8D48E +3DAF6E2226B0C85B79B0B18E4BA8417293B2E05BC2C234D882B9D63675E80B8B +210193BD62F4D88B31BE26079DDAE79576B8DCC02BFBB31160A213D0048E23B1 +DD05C85C463A3ECA99D8BDFE0A1D3B19D25038219C411CB10B44FD730A11FD23 +B94B170ABAEA14CD9A6CAE626A06408A50BD19BECE59C49879403FEDE2B54DBF +6FFCAD96CD29B685B2339C7731DA69534641E0B7E074108B6FF03D1AF7D34E3A +A9FD72BFA554A09EC6C73DD7AF2A443E8C92895DA50B711864979B366B3E3E37 +03613B23AFD5A394E1633102540636AB7834848648E56026062A2C9E76BC80DB +5166BB217DA58C031164000327F10DF08A9B6AADAC86BB6093742E532DC8E091 +599D9B1399334777A96C58F2A6AF208992F6F80CB770724E6DA6FAC5EBC56279 +EC0CC57B8EA8FBA0EA1BDEDC211B42916F7D1636217663648F1857397F781701 +13A9F3887C4D44CDEAA3489EEB70E5504643721E6999AED4A095B5A348E30459 +4E780A12A81EDDBB61DA8460147F438B0DF470C4148E05E09D37DE9C2DD9C99E +3011144AD2F3779FA2C699E86464077D8B6744BFEE57B86A624C2D0B40A9D5F4 +49D7B228BB45825B669A2CF8E531766951DAAA42A8540C1A5015996E1F80331E +DC716454F4049D70C43A708A287BA2444DD1B0EFDA3D12A60C2B65F357A6B566 +D736822065A617ADAC0E022E20A8FA9FB6A55A6B67668AAF1B3EF600C4A9BE89 +38716D6550132CBE10610FEB028E918A226F11292B22459A53020DD180A82BE7 +0878718116576B397244363D46BA5005B47ED893BAF0DA46248F613E8C5E484B +32D19B3D8044F91D90068A3192261FF94CE6A657BE19C17730414F81D2DB229A +51B72F9CFE877B335BA219B39A8B2090E7E5459E573EDEC4EFA210DC77F0166D +3100DA544D90C0C80EF79BA74D40D01A725878470F0F189EA835D45DBB4C6CED +BC871E8AC85CDCBF8978ECDBAA09834D178FA2D431D32B45218FF0D674B9BEE9 +F6F7BE2923D63D5D9904C88AAFF5EBA44661D9EC0E732C4D187C61267162EBDF +DF17E8B155E8537D9B40098C946EA7026CB73513FD2AB058030F9F6F8C7A7D50 +3C8CCB0B6ACCA21FF265638EF08691FFA6E1EA7070B145779857F9DC81044E85 +D97F9C2962584F7E55435BE9CD05F33E805EC253A49C7E6CB679F0874D8A2A2B +611EF23DC7DC2BDC2F68690DD3A1030587678DC57BD907DF3CC3DD44D14F2884 +BE65327B83D8A1D195CAEC19829D7EA236E230A82CB7C2CD1EBF2FDF8890B37C +77CF69165BF75291EF6E744B7662FA63EE3390817948568B5E4EF4B8A9A92F67 +48653954CF2AFDEFEA8AF0C145E02AA6A7C6C869BF1696D0771DEF991EC41950 +04F47EE974CC8C26E6BA136D85DA63161E692024512E447EE24733961786B572 +074132053EA7F88ADD2980E121FF9A2167B26AD6D6FCD55DBF33F65A9EAA02FA +49630EF6DB82474AB04B29C5B3C14788E8CE7DE99F6C186BD5E4BD48AF53A0A7 +FC73DD482F463D7326C7F1D1FBD1D00079658C19935D865BB9C7ED45C3F43885 +13AC6BAE98490C4D7BA8527D05533AEB792FA76DDFA0D6C512BF75D9ED2AF4CF +4E3A7D13742B0C86FD8E07ED8B0B6F5B1D4AF52095EBD8DEA4085BC206C93052 +AEBB9D243D88EF1A871164E2818158678E25641EB1BA3C1F37FD88D426E0CCAA +F2A74D6FF3CAF315F0071FE42644721B387531ACFBB7ED72B8E27F418009B9BE +C511AC517A72CED33A8490722E751C1C4987C76225F1EA184A0B935BE34E8893 +F36F1FBFFB0365E452FA85032F2892564960BBADBD7CC1BB031D849476AF04EA +58AAC787AE95FD96DAD6AC2773092CE5B4ACC29BBCB8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX10 +%!PS-AdobeFont-1.0: CMBX10 003.002 +%%Title: CMBX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup +/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX10 def +/FontBBox {-56 -250 1164 750 }readonly def +/UniqueID 5000768 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX10.) readonly def +/FullName (CMBX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /Gamma put +dup 12 /fi put +dup 44 /comma put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 65 /A put +dup 66 /B put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB +B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A +6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 +39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 +407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 +F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF +285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 +DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 +53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 +74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D +ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 +2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 +8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D +718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 +C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B +03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 +767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 +FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 +547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A +3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 +57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 +9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 +1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 +822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB +1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B +28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A +B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 +9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B +80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 +D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 +582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 +4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB +323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D +CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC +2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 +0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C +E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 +9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F +9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 +E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 +9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF +A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 +8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 +BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 +5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 +6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 +86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 +0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 +6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 +64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 +879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B +63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE +2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 +9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 +47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F +F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 +9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F +C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB +6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 +BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 +4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 +125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E +37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 +EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E +7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD +A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 +410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E +8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 +064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 +28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B +3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 +8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 +E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 +EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 +A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 +0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 +24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 +73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 +213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 +3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 +B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 +FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E +E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 +42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE +4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B +8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 +CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D +13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D +52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 +FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 +760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 +5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D +C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 +0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 +E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 +A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED +16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C +25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 +B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B +45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E +C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE +4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 +05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A +D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 +63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B +35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC +DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 +BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 +70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F +BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 +169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A +BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 +EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 +FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC +6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 +05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C +EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 +69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D +813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 +EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 +19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 +1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 +D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D +8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 +17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 +96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 +14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 +4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 +5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE +027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 +A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 +BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 +66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD +92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F +93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 +83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 +093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 +30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C +1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 +DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E +D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE +6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F +9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 +BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 +5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB +6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 +BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 +DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A +5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 +913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E +243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 +51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A +A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 +C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 +E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 +942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 +3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 +A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D +BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 +6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB +926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 +E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D +08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 +8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E +42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 +C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 +BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 +6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D +DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1 +E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9 +CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B +22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665 +C2A63A837E4CAB38F8DF37DBAB5DC80C0AB25B56BCA5D899F1575E61ADF75676 +F48EE26C054AD9A75FD88A3E17498AC26FD4DC8000A125D6DD423540B8A98779 +B28CE97C9CAFAC45693FF43249E4B559E7F19FB349F94B60AAAAF05B5FBF244E +982B4B51D997DA5811CD43E1917DA885DD96133A5CE1A290DBBFD88AF285A879 +D3136C41C839FD2276760A7B4F21F4026AADCDAB3F113FCCCA9588C7FB72643E +AB8F6D8AEAD1DC3DCA6E436B3DF24E7DC6AD37137B49327871EA80F3B8AEE932 +D20D9A5B4779DFFAD7B3E5D447023D6433575F8F5AF589D7E094DA3786555D0C +046A427ADF128E00AC7B458D5A131A130D6F49A7ABF47833791F172D69FE6393 +EAE0E90E7FF7BC2333D4E0215D5201E4B209591782F8A664335F67B9DDE36DBA +793EC77E5EB405862D14EAB6A99218B3F66F11EA2F345629C402BD8FD9CA0AC8 +FB5A2E119DAA9F80083C9BC54F4586C44320993CB5D9CBDC8F8522001F82A16C +E307F175B794F4426E5D273581A6D2844444D82093FB03482B270D693391DEA7 +CB26D4A418E48A2989167B7DCE251F0D53D5C9B29D359A568FEDB965DF31CBF3 +900392FE739A2B43BFA2363CA74FA72668FC761D1A17B9C0B56D666F94E090DE +EA37CAAB4E066201D6164118B5A5DB3FDF0B15175392AC33785AB5DF23A71731 +265FC02CA542376BEA19619D331286D44EA395793E3909D01A16D0CC46B67F73 +ADF61251D85C9744AC6334EC8DF8E5C93474AFDFF399F5F3C9451E14281069DE +FCD9281FD8978DAF08680C2CB6C279519A46159751BF3CD0E36B7BCD9C831E65 +52ED07652914BF06C32743D8544A636A804D2FD67CA10F0E3B6AFB289DD1CEDD +4E94BB26AA4C9DF1353EB7C9BF95F544E3FCF67EA5E0B2FEDC7F622FF3C96C68 +D4FFED9073979E1F49C984D0D8731F93868E8F137226777551D4DE437AE5E27D +9AC6340013620938885263EE631BE20CC17D597484A978624783C2003885B830 +269AD74A047F2E1EFF2906517BD765EE9BA27728A753A1BBF0615D7AC52C9370 +6D730166015B5579401DB7D251E1367B190DE298114926B34AE0824F8054FE40 +2799EA3E8DBDF999FA98E9FC634677BEB7E2A5062ECA0C2EB86A038754504AE3 +5AA17151913D7B8071150521CBE040A2AEFCBEC1E0DCAE4EA5592F134CADA707 +93FA57B02177BC98406E9FD02CDD47B8B2DEADDD475CAFF235D5879EA3D51A22 +D4359129F80A9A705ECC2042E5419A6064CD69D506E7D3C910FA9DF6DB85E1D0 +E5068ED5F4A464382F8EAF5EA8248AEFCE2C57F12368A2494F7970B396F508C9 +99AFEDE6F666CB3DE7FCC667A5B810B665519E7E1450E00BB9D0279E7306279C +91938C746FFB2F9BB1859B9E19B54C00F323B79291780BE365DCAE0F0CFD1C19 +02CA2E7BEE10F6ECB0658FF099EE65B791C63EC6AF40656D93D61FB7DAE0C845 +09C5E1537974E0CAF7DAEC080E933811655BABEF23430F28DB530F7EE522ED28 +10C5CB1928B187FD918D3B0ACAB4DD394F6FA4728AF2CEED07C5F473334549D0 +F9F9C71B704E04D0E72D235A8D5D1C97096A2308AE1E55B85CBC2DD258113B70 +2B2C13F34434EA594F46C3BB844048F77885219C54974E7DF47A96C96D8F3BE8 +779580A9273DD50EFF343B69F77A375F54EBC467EBCC77E61F50F82E80A2E7F4 +900D8C60A35245155D618B1BC0038D57020ADEEA3F5BEE429EC9803F5EA7210E +DADE29D28FD293D39AF4FE3842E48BA66469C08A8FD90D643F270AFDAFA10DAA +B8ED7B95B8A79FA0DBEDBCEC5599C6CD91A0C2FF65B4E3B215E5DC46CC789671 +BC4C978FC383CD901BA68772C1CAEB0A3EA7DC95317628F3D39E0D60348B4538 +5B6C780DBC70A1E0FB6343781A92146F55AF0856C955BC9874A9A38D3DAD511E +F22CD122067C92094F00C582E7F497BC7CB2DFBEE9DCCEE4085A402FF2607DBF +FDFABDFCE6EA7FA3E91DB1CAB70F0E305DF5C2CE6C9AD3A9E175C23AA444FFF1 +4A9CFA7584BDA4090134E33FD00255BBA271A4EF003AFF094650AE016810E417 +95633202D1391D3AF0861323F6AEDD0DD902F01A09CBAB8A730C0E99E1D5E7EE +AF7A16401295C6F139211F880A2C104BEF8CB936A82E25AD6B4176B3BA04B798 +89807B2461AB528877F380254E9E6F03CFF0563BC67348C28449A3DDC98B3FD4 +BAF26C1556CA23743106475C9649C7ABC6136B4B4AFD1F64315127F8500E97CE +2414B2695FEF7304AC59AB1A27BCB2A25D5724AC1139A5F3332699713A9368A9 +3AE4D9A81DCD148F82A4C13F7D0D4DDDDE3E298AB3F54B995885FACBD8584525 +36D090A4E2F757AF9985EE435F0868B8E190616E7E4D07DFC31F833E3018F1C9 +2103F42A72FC7A3F3286D03DCB55AA78962C12920C00EFED65FE8CBF2E39D52E +A68158FE4B00A9E60E7D5DF243A1FFB4C6FFB8F559CA683A3E78C404540ED702 +157D69CAEC86B5F92CAB736E7A47B22136CD2517B8BB71E8891F0804758861A2 +05D49A14EF6A289C01AB88876D92BD1DAB1F6758ADEA4A64BAE8FACEB26B2D9E +1D8974465D740CCA11DF380F91122011DFF6C62D83149B03B5398A0FE2A465F2 +3917EFCDC1AC5EB4FA4A2163FB04B20374599222AD756837D351D4A88908E165 +AC702EC7C7AF5386BFCF1DA54CC408F0D01EF4BECD91AB1E9CB07B3C01732D18 +A9B4687989157E6B7A59E3B762B2D3EAB497B97DEEBFBD0285B34A8233ECCD5B +3FE94019AE54B1FA088B3A9F470B5B2BFD7EA47439ED28FF3BE81BE2654ACBED +EFCD6264F44E944CD8468B69251342522D4C33567EF3C4E04FB706313499D17D +7C5949D075E4898A7D5D243D071E84AC0600329C607B729D911ADC6C5E1A644D +9C19E8A9142CB94764A60FEA61A4433BA070DB70DB119DDB66E0D67549FBF083 +3BDDE6C58F0891E10C66EF859ED8F6F9C224362EAAD30FC86C2E6897B4451E72 +BC01C639A25CD1AEBFC76DAD321A778F6A7F4B43E426E4B9502F0E4C0AD0395D +DA6B74BB0E5BDC9A304FA60B5D14FA6D8E621902C64E72635EBED268DA0416C2 +EF9E02737600215301619DD37FBD110C4FDCCA3F1B81FD0F5F95543E6F5CCBC5 +7809367265D79AB886E4AF8EA02F849D623ACBB88274342DB0CF034D3EA18109 +0DEF278869B75DCB34FEC581E50D94DC9B2CCEB8F35AD411BCAEF9885C8CDBF1 +9DD7A9FA5413F98DBDD9435C9B29EE244542BFD2849D497CAA3EED758370E1C5 +BDB260A4A6F3F1450A5C42D0BE5B5A768FE14AA8B1755643518589228B6D6D2C +999E727C35C7B089AC58B500C467107EFE49008ABDA7A9B5200FA8A86996DF42 +02CA456F51F990380C78016E462821812C81E7630907399ECBB6BBE53ADC954B +9B3D956BE288688CD0FACC7802A204D2AD52FF65F55270FB758D23C7E89EBA1A +F456752CA3532A3A55A4F41B387AE7E4D6ED4C23D18B49077A128CB1AE4804CF +3BA4B16662C5D741717CF12FEA0980F2197A5002738F1730F8A77FC655366C83 +29E62345FE94C9970B0B09BA37237B982AB88F865144FC8798D2B6E2392C0377 +7C85DDB0D67AA83176063A3C406A098835E130519E94493D12D7367371EAF1BC +BEBF03F18C2C839AB44CDE6AF93DE35FB61FDFA5A4C78E426D6F68DFE42F76B4 +531A463D7CFC60FB3DEBD243FD6E0D93E2921FDA87A2981B64E5948858F31FE2 +A38BE31AF46E4045991F2114229D3C1902159C5F032848990C3C68F7CFE3CB6A +966BB2027F84441347442A5082E12ABD371F75F8E4BC40BA76DE4AF1CCC45CCE +9134E120F80B35B9D468C023C5131A28820D3C7864DC08B1C61CA8F0B5322AAF +E8E5E42E6455E058882DDBE3E9DFF01B9CA8EB71586FCF4B71A7CCEDB09D2DAD +3C63AA5DBCA302F04050CCF0A912D06D7C952B12E6646662A651EE4185C57256 +07FD91E0A87D8B918D946E250F56A3A712FB9D8592843C31B0C3CB5A60476849 +E08D208899C7AA78251241B46296B4E3A10523D0D3A10238FAF971633F0FE9A9 +BEAB7E5F86A2ED82D15FCC3FDA97D5DB0C39392E35E6518F509E5CD1768470D8 +A13609B66B1B21C0668DEA86B3748549A2EEAA996F4CECA9D43A2BAFA4423177 +A26F150EE6D363C7296984A298FD4F2E9EE6B0F93AE08F110549488BF9495C64 +D134253B97F2F707E1A2BB9F683D02462EE0B08AAD81B880670E58D225FB2024 +8E6155A528FED5BDA9C816A9D0584B3F525372BDE229F13C18C3E418DBA53CE7 +5B5CBE72CD034CF98B6FA654E56E66BB882EDEF46A4A724DC3B3504F781FD064 +85DAFF99B76470D110D978CDC01A9EBAEFBE9B1BCF74B100C7BBA6EB5965F9F9 +3E0FC8D9536885A137904C7424AA76453F4E90E168CCFEEEE28F98DA38CC1B89 +2223D5B0691549E4E51099D73ADE70C1DFAC16D743B24AC7643DA4AD77BC7FC5 +73FD04AF587B201F370B76F1C228FEDF1E2C50A9776CFB6EF22B7F53B3DF6AB3 +1FC3964921ADE87B3FC94FBCE058D7EAC185A4E3E82FC974443A7C8D40AAB496 +614DC6311E6DF60CF3B28D9702925242C37BED122E8EDA12150F2511932BD156 +125BC864885B52D2D427C109AE1620C4270DE8F6D698AB5812FBC719978699B1 +9BDD7BFC4DB398921BBFC4036BAAC81D0F6516ECB39D38AEAD4A8A7622823611 +EE5B270AADB278FE0946FE769331E33E15DE1FE05907A2D1C6D40A779482AA40 +5A5C9473967C9AA5A685B5C477D579C02CB492CA6B671668C5400922479A1830 +591404EA9E5813319C1801F3890286C64F328339EED2CA63E5009BDEAC564E60 +B40B183D1290FB7B11A504B3F70B198FE8EA7FCD11C3CA2FADF9AD36DCAC7E8E +278E526D617347592823B9FEF622BA4379525CEB723436B41F411D6781641CEB +877E23CEF2A923C8DFC338A3524EFB45066B4F979EA5BEBF9FA6302F3DC0D644 +13D72E76DA8ED7D60BA3FDB5915208CA9DEA060D831E903F50BDD951A18A1C92 +BFD0A4115A3557635FDF95CC4E6D4252DD8FC375112677E2A2605064E5549136 +EB1EB49FF1E15D7BF26CCBC63388EC8E57C8F9C662C087FA78DCC18B8D49F411 +DB79429AC862BF5A47987CBAF95602D41FC0AE2D939003CDEE9CA1AD8DF74101 +944E38C903020286A34069C81BD7F86C348FA3817DE8E54F71FA2E3869888C56 +E691B81E1B2E7565AB3BD1F42A8342E8631B343AD3FD30661FBC3FC1459CD0B4 +09F574DDF4D059338347B77F6C220B04B44B7511ED052AECF4C6D09F45E8EB46 +7B0B66419B91EF3D301C02598C7D4E556F67E7E7AAE7B9C51FE760E27C3591C0 +F7CC96C1DC6F4A54F87FC88DD1E96066FDF3FC41C0F19CE053C1A249B8BADD51 +0C8226F056328501A95D0E73140449CE88D3E18EB92A37CC1D8562EF78EC089B +DEC40A9D08209F1C4E9E042C160FAC6FCD95CF3E3FA5E7118D5DCD088F50D083 +5045184BC4AC7FBCE859D9E094A71FCED06A26A55B14CA5EFC4543B0B422842B +6E3F1E2B628AD75CC97F7E0D05D36B59B5A71F84DA9A19F83EC935C14B50A59B +9F7285D58F21BE676A012D30005B5A39DC50D5BB63A41EC23B34833BD3B60F0F +0A76F2558706A18373105F04C8E879B70293F681F52B1F596C0F4B5C4236E9C6 +2340B66275C77F049AC9D0A7E357A6F8E0CBF8801FF694A35F3888B51C9A4249 +0289BBDB4FF85A5CA4BED0A50134A98CCAA8FAC65D8ACEAD86AB8AF6A9D2EC73 +2682A2508C49EFA2810D3CC43F3D4452D8C51992C8282EA7E3F256CDEC2784EF +779CF660BA406B65F0F9DA07D0A7646B46CD2500E965A1C42E1822ED24F9C19F +C0DFED78B30DFD071C1E0D1982D1E653D83AD221E9AC716538B43ACB64535ADD +B1356D0CFDB5EE12F282C601B2BF5D096E7183A36F887E20E5CF560ADC91F35C +CC98279964EA1E669EA04E00986BCD3EE25FFBAF740E6C64CD5F994665982A04 +9E1DC5EB37AD01423C63C76DC430AE6B966524DDB0FF57879F9782F35D5CF84D +D881AF985364D8328F3E1F16A119C30EBBF8877CE70582E2E3F286E04ABE3DAF +C809701980645A0B2D686DA82B5062AE092533483E9074556B8C749DE3ED5C3A +BBABAD350FF305BAC128BE168E8A0EB7E6D1BF1D087E66EAA536ACA99EA75012 +35E41BBE3295D53102F5E9C4BCE9A8356AFE415F7A4AAD4B454B82EB03B93FC6 +99FB2B8CD04AE940364A54D845EE5E5BDA98EF648EC9B5FE71FD77AF0F0C7C3B +AFB44CD828024D8E28C651E7E8227B3C194B60B33D530610D8F167B6C23D992B +D8B0D21FD583B706F4A2FDCB3001A415D6978EC8BC02AAC843A4CF53CA18C418 +F58B0203B2D3A5F1A0237375492AC02EF2004F5B0972DCD7AE18D4F300E723C4 +55E04EEE9A3CD73EDD7653909E542F3E0B3562DF439B6FCBEDA7D5C208AF6662 +3511C5C66E13B71806468D7F0ADCB73250698DFC131B543E1F2CECD0C90CDA7D +D2A5AD325F0BB78BF841A73EBD63A7BE3EBF157CBD08165C2BA822A169A1AC41 +DFBB6D92FA2057DD42423A64CF2E3A28A7134EC0CAF0220DBD010B6E938067DC +D229EDEFBF8E3EE0BF2C9B84F94EC8CE4D1EF81BD4A8B3346B355044D0464943 +0CF938092480B600482A781C7C9F1AC17AE77696768028566B341936788A1FA1 +14A13C4B4ED169F502D37DB5804B145B4DAC2541B28D20C9D3FBFC105C5D87C9 +EAE6D1206C578942D85028154A8D107525BD8A3C6783D9D302F75EB2069CFA2C +9917F00EC65CD33F3804F70E2C74E5EC3F040C517F10A9E960357334B7D087D1 +E820764791F13E1581AC97C4101AD5B6E7216594D0D723C4AB9028268BD1B674 +0B6469FC03D570A96F61E6B919C166B00EBD55CA4ED2C40B216C2FFCE893CCA1 +F266CA9649A4A49B6DAB3055D77889C9662821478BA1BD720978223FF9E52570 +DC0A67F023A8995D2F18E5C9E2A6264C1B93A12AA7E069A932A0752AAF92BFBA +C68A38DCBB3844AFFD619BAE6D17DDBB5B7E322098558EFDB19B12E0A68AB8AA +8E26368CD856CC2D02FE177FE7046A9C423B7C5BD201510B4A1E7D094ED81A01 +FFC4BDE90E30860888B3547D8F535DCCCC77E3B0530D9EAB37D3FA509ADFBE23 +3EC05F8C127D9E966674CA72D243E30626D93A9364F53803A3321DD6AB7DF669 +9C2C84E73C83C0A3132BBFA54237C75BD201096966C1D73A8143C8A2F3FAD7BF +042E8820AEE20FC03BF012AC5B0624A754946C72C8095526449FC1542CFFDD54 +3404BF663F2CFA67A5FFD2E680B194510873665A4C347F3458ED699190987EC1 +36C287A5D0FBAA47F01D79FF78FF9A53AA701A51D41B1CFF1007938D35818AED +7849939AA6EFD160FD0D2014D4C9FF06F71D3D5A91A956E1E31E0B05C4E6ABAA +369669A02FB45AA0990598DFBFD5C0DB0E163D4B031512FAACCC6A6A328588B7 +F264A5CFAF28E789D856C93FB30AD816DD6EBD86059D4398BB0EEF857E69CEB3 +BDCA9398471F4A64DF3F74F36E778366053A62DB651FF600DA8BD0366BF5235F +7B211C006A4A979873C9453088B1AB70D9FC6A18959BEB747FE1A5FFBC94F192 +FCE8B753D073B7E76693D08F90BF873DA75EFAEBD562894BFEBD2D19D7715979 +8412B248275C92E9FEF6E84DE0078423A9A4C87F8D1E5888DB76113A7D224429 +8DA3E4BE148C4655D5603DA66D4838D61C80F2B2BB2C716809A0647855ED553A +F2B6DED2249B86786D6B5E7F430AF8AD0CC98A6FA37CB98C5BFA566E7E1D4407 +4E9DA13D3AC3F6296D89B4CE04B0A1BE16058B75D5753957631190DAD424CAA7 +368F7F761F8E3D671AA0EB6C47C5E63DB73A0E5707E6E8273226EF068EA13C54 +5A51503B9912F17C59A807AE448DD34E85D92DFE733657030F7323F2E39BD473 +092CCF32D5A4402F86533E4D0E946EB89D53CA62019CFAC7A96900B4033B87CF +DF3DDBBADD37BFEBE82A8F33CD0BEC579217B5B6174A6F66CF36256714588064 +40EAAA0BA167323B231A762AE5C4E4756283D8CCB8896CB3DB3B2AA3BA0B0961 +FA5D000123F9A67FFF3FC8E8BFD795FB6CC00905E5BD36B99B1EB05C4091F31F +E2AEBA666F4E37ADAAA7504E71D55FEF361211E1B064A2B55B7A18266A819746 +DA74F066955B33246990C9B51A424525C3E669063B77F299667421ED5A22F87C +00821F573FCBB2778F8739DEE6BE5008E80FC455E3922C7820FA702F622C34C4 +F50BFCCC627F9F81D73C29983E18DB8595BE8356B26F40BDDAC25BAF2F71C780 +2B208F30AF599C4122EDB789D627B2F2F99D23B12131F951C3F2D467BEA9F053 +8580AD05A9FABD9AB1A287C243393FBF61A305332407E8398E735BE50B3A4FDF +5C6F773B4CFB707D61E14F419AD31655BC2024C9CD404B872C174C99AACD1CB9 +F0E293CFE0CA002AD05EC5D60CA67B9534E2D2508337811BA638BF36C87803AC +EE7E36C03BF62D0D8B56C66C591E1FE26D0DC87754CF1182278A7F125B96EAF4 +C988A4B5EDCC290BDFC900DC574BD17A4EA8E8A0A419A2CC059339F4C588D506 +0C449BE3851283761A5F1AF68A400BF54DB879BAD8B10C86AB98134ED134AA5A +17CFF6F0F899BE7BBC2B3968E11A069B9903466E47F1FBD1A292CC65437D88C2 +70ABE2D12081B0D46E2791D1EAA60966EE581FF670F800DDE95E41515206E38C +2008DA995CDC64C658208417A87C2F039AFFAAE98F0F9CEBB93E69BBAC6A85FA +32784F15625E4A4D099BEDE6FDDD32D59BB37802DE150F377BFD838B227F9677 +A7F8C4929419ADC4E39186BC0C75861C48892E1DE1FA8BA04FFED04FBEB7D591 +A168D2265ECB915DA382DA7633839401F7A2023C4B88777F963E2F4E8A0CAA51 +A41D006F168EB9DE076235B5D602186ECFFE7DFF91F44F3D38A62A4EC5622632 +F02D6BBF3E55E1A37B5D6297E4303A3D2A4A73B708815B18736D7BD82884742A +2DD0574DD055DBECA3E07B3A51D12B5D0BA6FA8190675DA94FAF44FCF86961B4 +A4B45C6994A587D485F4736E21A536FABB6460966C085016053581E4627222B1 +8191B2CCA2197E41FFECEC4E8D5FDF29913F71CE1CF072DA0FF5F7BD0F256C4B +07F565CEAF6D33628B7F7576BC8F756CE7CCF737D0B80A8D609BA5C9BD5F1D37 +5F6231484F8E57531DBABB84FDED746756E26C30675A6E6CD20DE87829056920 +4EF42681597629440134EC1BDC756A044162B0E6326FB2A6DDB1D950C67CD438 +F678E615EECAB0E99CDA6EDB414AF314D6E590F87131F367943298A218A6944F +1D66DEC96D048A19A634A39D1FAB2DCC14EB1161A31D0EAA9D18D93702240924 +65482D6EDF893B3C3A9A6A064D5232A592866327786B90E8AF85E5CD62EB9F79 +7F7B2B4519634BEEE63DBBCF7598937F8EB7BD6FBE8C2F8BB8C12830F9B67110 +C5EDD014B3D4613BD0DB2A70E5BC5E6582B3E2D27460AB59F09356E5DD24F12D +C237C46EAB741ED12D727C855AACA4286E9B3F20E5D3DDEF876EE65176F9B0A0 +EA70301C0AB80881D3ED2641EAE39D5E1845F9970A69251AF011149C6BE4912F +99EB5E1C5E92D79DDB7D74B4B12CB0955F87801D03CACF4CD671D0EF69FC9852 +40633DC0D92DF3A4248528BA27D9568B8254C453BDAFFEF696F87CC12AFEE7DC +73403F5CB7DEFE708C794EC595E7A26A1C4C842BB8EC975AFB77B5968B8B3163 +AB5A31737E717E5AD547F161AF1DF8937366FBA821A61827E16D994AA3E31DD8 +7F0FED0EB0D15DC3E118994210CAE639B0E6A27A6B57D166CA1321E416A2B35A +8645EA1F3993EEC8BE091526846033E83DD093B293705971E9CFE4B3BD8B34DC +3D93EB4228FE86E232716A9F36F1BF30004DBA29053CA72EC21909401233CA6F +D19FE7D7485DE729CAE64628F26C81D6C8BDA240E7014E6A03BF568769E1528B +ADBE27878E698202A1AE2EB7290E20119108B194FB2BD7BE03074665C19AFC29 +72838B845CB573F3DDFC81DCEBA382464E8AE3990AF5A402100B50CDD8E14BD6 +48578F3B48ABDB89F684DB39EB96932FC4C223551D4F301D03FB6CABD9C31334 +379FCBD795D20E9836DE3CF40A8370512D128F00C5C5A7A3098C02FC3300752D +33F4E4D2957B019D03A8A32229AD61152BC9E3DE5A19E553A60AC89C309887AD +F665EEA1C355E1F053D997251867985F73A28458F16760E295308C526335AD14 +9ED4E1489F502D1C75C046C09152BE88D518DA00DC49A7096BD5A632089C355A +FE21CC1C8A16EB314AFA3022C1B36EAE7ABE61633C8EA83D515E78F8078D5F74 +784975B3E547E8B5A1ADA71C35CE6DA1C4AA3A1A4635BD3D9E89D7E19277D0BB +66DB8AE11C8641673B1AB0B14E176ABEBEC7A3F334DDAAFA282AD5109550757A +0A60EFE2ED86CFA6C25273D9AAD20508DCF8A2B443DBA4BEBC67B5778FB842A7 +86BD16692AC9207231D137204BE2EB789ED41C8FB0381DB84A9EA4B7C4250D7D +77A5AF4F649030FF184EDD8443D9C1E1E16C29B7DC710FCB660DD5FA5BB93B42 +F8A134EC45AFAE70DBF6413458ADEAFCCEB38BCE45FD075AAA012F7FC4C69AFE +46D8284E7FC4413293EEB78F0AC31076D129A091247067E614D05D851E6EC747 +5767A8DB7D8BDBB39A31FD8045673DFAAB02DDEC8CD1A647D482EB856C122B52 +5DA156244968E18A8F9033FF294240965836BE3B6C985E61066CE48FEA382F87 +FF1B5332AF455BFEADFE3C77253B42404B843DC1F313BF13F3C62AE60E4FB0C8 +FAC1712B4BE4896D169F7D1C4C901E916429D2F4BEFECEAC5D761B92DA74F3E1 +EC22166DB87F85D0967D4F7B204B053112E96535E115061E80319133520EC3DB +EC5B15A551F1470C8AE2BF2AD921142B29F5FA4D9672570FF4F3139909454F40 +1D1B7FBBAF07293C0F39656071D9543E715071366231B535B5B333AEDD002010 +40B55E1D19C475C52621C20BB63C2C5F59659D40A449F07D64AD683832362487 +FCC6E57EDADE568BCE4B97C14D14EDAFB58191F66CBB45C1229BECB52C67ACE9 +BD7F00F828BB0A22EF2B0BF4D704CD82D5F2A269040C0A3549809AC7FCA2B431 +A6D651E865F4E25B03452580584796AD85E36AE7926A85546ADE22E46D3AFDB6 +ECBCC55BD6753B9C3243CFBA329D305F3CD446A6B1CBDE1115B9D2F9D0DEEB21 +99DEA7A7E7974679C1D482C02134E39E151C5CB206F84E5BBCD5D9FB8C99CAA6 +EDC2F0821009F5685D93274133236A87EC60F5E9B8CA82E32D507726536A0134 +773B9AAFEDD6F1248EFD5FF6954C7613371E7CCD0EFF56B5904FF44BADA5FD2E +FE3A2D201F8700F688C06683A504F33049F3E4A539942D0389EE4F0E95B9E8D7 +AA663A8C87C47716343B130F0553E356D651BA9BA87F29A82DA25877F8F32035 +C359C3357BCA2054BA1990F1C3B7643A3B19EF8A89E3F6D7AF89455888598F0C +6BA398E9D4915F52352F6F888B3B1F7A5EB5E36125D2AF7802624A825EE1C549 +846C60DD99AC758645D4F50B3D0F6D62AB30FBDBA411D4E73008FB190D3292A1 +BF6414EB86EDD5DF082F2D051FE51C072F2BD8A9A5C989EC2847DFD5444CE6F5 +2DDCC068DDD978F3032D2FC6BDEE569F4DD9324B9DE41D76D7CBBEE71F6392B6 +4BDAA928EE583DC3E1B40BCE3F9BFA354316FA99D64183998C5C5FC0C756D0AE +BA199EC4A73B6E3D615B20D687CFDE8426C659DC78D5A551D769A48512968FF6 +D47B9DE6EA5EA067C429EC82B6F6FC0F21DED53D0A561EA7478E1E45F1239E38 +11C06F59A6C45EE6C8B17BE47638795D653EC04001FEC42D167533C655BB1CD3 +6AE6444676BD72DBABA9AB79DE0C5F4BA25FB050C5EBF75AD9A615DAF5213883 +90F569A559495366FCBDB834BFEC1F8E01E2CC198EDDFA7CF39D7C1103E0911D +900BD5EFED9AB036BCD7FBC93F2C8C6ACCFAB824860F00C25FFBE62F8711D4EB +F5DB03FAF6F6DBE35E3ED8F3202555A136BE324A777DF96B48E99E0AC88121A2 +791165462830BDF184ED1B6F74B79C1E5A2BCAD279FB561E78083121A3269D3A +FB4BF0D0633BE296AE63F7F14010F07D6812AD8D5C0D198B31E24D15A3BC3575 +BB0F442A5C01E761B9EE45EFAE076A6A6C650D3DDECA1838CF3E68D954448775 +202A254BDB0CB97D71EB470524E20D337DC44386F5E91BF871D84C55C88A7763 +EF1E60E6F63F6CBDB693F751CFDEF843454EADCD060C992B32806BC50FB70534 +647A4C09D8155C40E2E6A636DB50F1AB5C4DBCA9A611D8A3FA579C1F40CF02E4 +91D50C1267BAD175577CD9403C5570D49BBBE96593F38263D1904243DEC17D67 +C24032E7061464D69A2B3A6ED0EDD7E326D9CBE8FE48D144D7C34D376C53A5B4 +CFC83127729B0E4C8BB15CAA63D57EEF0179C46D41173D400B41E8B1D3616A79 +D94F2D71ED5EC3EF42EBB4DD87FF09D804F4BBF6CCE348EEAEA9B53956121E49 +FF714C15D36577D7A833FDA6A2E05A1E476D26CD789B30462298A129658D0E18 +437575D5D8C6D6C1EED00E0BA08A956B7A2E201B564E6C2A19EFF00C6CCF58BB +B98764B16C80395DD51A52BF0D97B34C2F4F083881944937190B72158DB300DA +8F20DE68487B5349C9BBD62A4270E5EC6E1D911BA7CD2696D6CB45E414D5BF6B +EB997F459688281E8FD856383EBDFF1627ED08071E4820873082E6E851BC174F +1D0961EDE2CC429A4FC851FC4373D372C3AE4794F5B04DCB22F8E056E9B6858C +3CCB870C7B0726FBD01A1490B549FF74D2D5F3132099A528F81DE3B55DFB0F3E +808F1473AADB9442F5C6E2650C3FA71EF41E23DB335772D97480BE04F6B7AE89 +E6CE902B28A487BD4EA6C2AEB514713586695C0726937228A35F22AA0DC71D83 +6E5F9D3A0D8FED671C52FE712C2250D9B05C6AA382FB31C2E7359DC13C02975B +721F7C43FA2763A86FC10413A373A9E0857F24EEEDF0804D59883020C6AF4C6F +93CD5654D59A87C13E9DD4F9CEC5549D2A95304933BD4F17215C3CA39059D9E9 +49D7A72A1988E3BA5053B1957056A24E6A2ECCAA9BE4C089E617A869D0E35F57 +3D3F5594535AE8C68782A7F25933B140792AF8E2BFA93E48172E3E2E5D438992 +6911BDA5E881D36FD859154D344001EC9F9CE8558202C171D6260332D5499BDD +E2D59FC6C9E9F52C8263ED0173FF06FB17B03962B6DB4A1DD70AE68C3BC4DE28 +8D00370FCC7B47AA3731AD1022F474BFEE36A76C2E3207BC1273AA4DBEE4B611 +295619E1F3A7D27FDC52CF4372138FC94E4925D921ABE410A8AA4FD5954F0BB3 +46D61430F0D6961971CB422A0F44A99DE08D3120662F06926B3AB79B1C17DC86 +23F9344E2AE748B3D7145F9773DAD68D7B57EDC038C9BD8B10A4F766E04C0955 +3BFD0F1E1E456B0B9AEA775DFAAD6062E78D89BCF3427B44C585809AAAE6FAAC +BACBDDDDD9182F252F9FCE6CEE8F3AEF85AA579533A8CE38D796FECCA18E8C02 +E17F8BAC38A9C9EF622AB0B8E356EB25154EED7C1096D44F61AFCCFB475B7DE4 +C1551489FB99076CB5D922E2098E2C3FCC4E35D819BBDFF8420908ABC782DDB2 +422FFD309C5936069F7EBCE7390872D5495E283E0BF206059DF3DEB6E5C31347 +F27B67C93B31E47728EDACD476F4E24C94691B2FEFE7FBA08D9C93A26BF26118 +BB61D26925BD6978175D716F161DCCAFCF98F150AF5825DF6B551590FFD0F1D4 +2DDE541B4E7EF0EA1C90208A9874FB8AB3B3900ACDA914C7D7175664B63F8BA3 +0C652F3E5F9E7B325F4EFE33C8B416E6AA0A72B0F87874CBEE9EC62BD781CF41 +254B1A2BE5CEA7A62D5A2158C7C0E330D26380F80FC60384084CC90211717061 +1398F739E67D02E41A94C996E0E4EE632AA13F3D2977BD59E48A8DB2E35E3B38 +8C43EAA85A29F0FD475D2FE405EF79D3AC1B714E23B756046091E7E005089E98 +1FC45D3DAE8A8121CC41AA1A62C771842633FBC9B87E596F7715C10530D3C309 +DA9E440E39627E5EF76EA32B4B643781CFE191A498E159AB66D8473C71862FE8 +74D699EA71B711A7BD976A147E4356BAF61C851D749F4E118AD28DF57D99652C +58AB92F691528E190792E02E8A620FAF638C82B43727085DEEF6CA96BFC5E7E5 +C0C01705CE402E6BB37DD293119CBBB221C2C379E069012ADFA81AD98DD0F16D +23BE75D5DAE8BE1062B23A254850E8E6E911CD5E6711CF1D84DB7E468028EB3C +D1144F249C8D72D8F0B7E03E8EFD13CC6874B9C6F9EF5F5069D4BD0C71CC6407 +CF7E1B103ACEB645FEE18297A6F061C1089683F2D44B996F30951B44243FAE50 +9F064FE7D9AA62825DD2F4ADF6646B1FFF1B1C2EDE77FEE8EB19EA914E2AB6EB +FEE1F502A178E3EC641E8104AA222468DFAF10E5E01C5EE2E2359F886559337A +6D58B1356E21B846974AA86E2C30FF95C1FA1E6C89911491A7F0E730397BC714 +5740AE4941F52EB8465EF861EFFF32F2B314D2350236CBBB26E61AA774ED3193 +9A4D0F57B22C906DA435121B6B498D9BABF8E8EFA8C7A60C463CEA994CF62D80 +146A83986380E956471E0D4DE2546323E5DD83F6649D24B3178EEE6C3459E6C4 +ED946899F3F427C22D66D1271B74DDFEF1E47302C690E26D406DB68C21D09D77 +90651F381E4ABB1B1AB207705089FF656E81EC18D02B894DE8BC57B866CD263A +1F81A208C7F6CAA5D0A2C1FF1EBCA75170E1CD6F32D8A3FA869E5B434267F9EB +8E7583DD3F9397F1337E977CE65D040465B74981F4B4E456B67FC53B8F91EA5D +B71B1CCF243C0981E698ACA3122707A3504F86FB3E79455CF009B71FDD3F4736 +39F782F48CCDC150B3CB6ED683C8317DDCF3E6A199201A82BA84000ED6027C79 +754D11BD87FDF18767B5B23AE8DF7EFFAEFF16EA4D9035572198D3AB0073A40B +06D2BC810D06750B2B9ACF77CE600A9D30A04747753E10FB6B2489DFD9A29E3F +04BA4C736BF6CCFFD2679391ED26C60EFB5276D9D43A2630FE5489BA7E458AEB +7AE2094CC9123FD9CFD63DF3E1CDFB123D28E558020C55345ADC8BD5991C263A +0B11C7D838FBDB284699349E30866B188AD86C50309288DAF1893DD13F72BEBC +00D4EDE3A3F9B4E1A1FA4ED0C44C0F6560CBC2D8CCA9BA87152E0A16BB2A2A51 +FED67479E0A199A859B2D8099B64634F6576F205E899A860DE8EE70394F66C45 +71EFDB3B22C1BCD9DB14A3A175BAB2F19E3A36351B40AECAE85A3A8B7BBDA570 +44C5534226C005E9664221EE669C79278556FFD54CC0C5AB95A76AA40D541663 +8DBA127202CF99B9B90AD61157A59365F317303044732A4ED4F559B8139100E5 +39C2382994403D0C8D1FEDAFC388B29D1962310FD53B63D161FC7FEB3C0A4442 +6C689AA84F9E98F81F48EF96B9C481EB8C60E950589E2073769A3FD0EBD1A158 +4C76200C2ABF9DDF60E030856E7CD06E4DA813A689DF7FEC42685A6B0C7D5724 +62ADE7B824DCB6753D7E4280AFF5692B9AA714AF8249033D65A9AA8A8F8FA830 +5F4A34ED51BE7B18BB1171958DB8474B63733DA083B180FB32DD60369A459523 +3DC4D379BCBA88B3900EB84E3D10DC8A649DC409541241FE1DDDD87BA78252E5 +0FB41DDC8FB57C9C53C32D1877C3D424555938942AB3E18254EECC6BA1C2F49F +52897188C2F5660550828C5177103411499F3788B49B72F2956707AE8BD04DA1 +4C977D5E7F1C01693A2B73760B287E3C01E8E5D38AB7F35DF9AFF643323177BF +3C05445B141EFBD47CB636167FC7CF4C58D0E134775433969082E4754E08480D +082D09B9D05BCA924774C2863CCD7302650EF29604C515B95B6100F51E8B544C +02F8309BAC02323AC59405D89C47043C66DE71B20D5BFB03D3CD486945DD4BCF +67DFFDFF35865E8E99B6A625861D2D1BDC02E98D957B8598BC7D0FAC1E21FB83 +ECAEAC11FAA72DB6EB1CEE6EFECBAA7B0BD37CE3D8504164E69097B01474DC8A +E4B2BF410B219983FAD5FC6C1BD660393A9B51A7F6A8C40C734BBCC9E132E3EA +3FFACBC54E7759C223A13DBE118FF12279F40A827596D9B0B09AE369431F3BA3 +769163377A41686616985FA6EF7DFA82CF31763346D82914D467D97B571F4118 +3B2324F9D9A4E6C7969682BE745FFE6ADF998840E764D2903B6B23DAC54ECF20 +495B115DE46D4C0AAE992070BC2B468609091396BAB6FD127810120370B6E37E +5CEC3E12BCE8A8ABF05FDD027D3D73C2CB050F64AD53D22F87482DFC8A9323DF +F4CBCFF0E3509D05486D796C7BA08F5BD5352BE3823551BF49B16A768ADE19D1 +1D4124374B958332C2B802CFE4FF716B5D8D54F212773B5B0B724EB33FB021D8 +64267635F4CE66652DE54BC7B39B628E5EBE87BED38EE1FDCF75DD8E7D4553EF +46DDDF1DA7F8E148C6861323D25CB721B199640FA451AC015D6532882CF2E95B +91A16DE1C96A86088F3673863C2E5E56E347DCF13BADB60026B7D060E81FDA52 +5F2C34045263DDBE04063E238454AECC11A18F8B298AE55ABA9F4D7352AA60A0 +8E89F5E676A16E250B2B926D72442912B349F487FFC45DCEA4DA6F3E60CB2D84 +A4A2CCB99A013BABA0B21F70603A77B5FDD25F107C1C5023113C2CCBDF94F57A +36EDB20C87C7E002234A6508501D7FEB238034C19080EDEBE3289A182D421CF3 +A7EDF08DFAFD39A9510D81A8CBD4BF76980484D4504D6A93F7CF2C9AE41FA705 +4B82553619ADFA477CF61CBB7C54AF1EA8C494DC1D31DE241B7B190B0C1083D6 +966AF6A2DEEC2251D620A7A112E61453A78ADF1A3210D1EACD27CD1720D7D576 +3D1EE23FD18CE221A2AC1268A0DDF12A03B807276436B6CF840DF8B543DB7723 +FEE1D26CFEB9638883D02DD37A21EB36DCF4132625051984E3C20521F0ADB850 +7A9E898AB2609F148A9B326751485ED7931C0678B2C2259A9ACF3FD7109CF494 +60185BFABBCF4F4C0E9E7B30C52D712D470827DA52117C67E8893A8E0B7709A7 +FA07111E1CA45C98AB4B5DF9727813AE15243EBCA4B3897926EE6B4100E5712F +7C1041D96BF0154D7ED519C1172954DC7C2A53450ADCB63267A9A7701D75F81C +F32C116EC740FF2A9250CAB0937FE09D40384FF900C56FCDC39FAEFB1A510B54 +899E2A8A2C8204A88D0889418F8901084E44BBB730A247EBD08980252B213393 +7DB28A189C759FD388C50AA8BF14D9836455DA074AC6D26D132D48F9516FD7F1 +F5875061E9AF3C9B374D7375075FDBDD14E01F8796B80CCC350077373A192FB9 +B5F848318CF0C274C6CB71A55E7494ED0017BAD0D19CBC92CA5E178064F934F9 +27A7C4D6C1CF14BCD29453674EA83F13787A59344DDAE6E8DE2219F8AD332967 +754E69F139CAA089066357E6DF8B76EFBB9F7288C018CF8FC172F8CEE179B8B4 +5A50 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 12 /fi put +dup 13 /fl put +dup 14 /ffi put +dup 19 /acute put +dup 34 /quotedblright put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 47 /slash put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 74 /J put +dup 75 /K put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 91 /bracketleft put +dup 92 /quotedblleft put +dup 93 /bracketright put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +dup 124 /emdash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 +89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 +7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 +AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3 +3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E +61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B +F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F +D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6 +652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA +07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11 +6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB +EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2 +BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77 +2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDB693AFE84 +246AB18279A2B24E5B50A2FF6337B7B1039FFDD4B00ED3667B5F2F7BC2786D2F +525A0E82234B30711AA835EAEAC2E404915FC7EC0081B194765032708B5E11CE +EF6868298CD26E5B9EF345BFA3EC2911E2B96A0B40AEAB95BDCCEE38F5EC170D +3BFB792D2DDA7E57BD2FB7669484EF9322A1BEE009594901095DE2BA9A15A0EE +4DD77404CEF16EA6C31FC04A8FBDEF27B9FC1AD3264388B0B12D8E476305B912 +30B51624D4605C45B514473F327DC3EE8BA69032A95301CF714F225A92C253D0 +D943C80B9CD0524C5B87A8D052D2E47A9725EF869D3B89097CC13CA9BC695FF8 +A9468004450A76A13B7EE78A03CC18917EC44036C2DD237344E594569B8F2DDB +21F7619180B8C760741961CCBE54FD6DD07C4CF73B346099234A1EFFEFC88574 +6324E4232BA18A38EC9F0B780C298877EF0AF42C1EBC2EB52DB64A1E1E352503 +36AA29953A073B864FCB31BA938A4163D000A159ED4D345331FA1EB4009CFF67 +1D107BABA6AAA48075C6C50BC7683929EC146594E55B01D4F5B582328284068B +2AB05CE92EEE1DF4557DFC8FEF287CB7F961F4F1828EA48B0ACF5C63E1EEC8FB +6A0EFF132268B7DDF7B465D4A21B05993F4A4CFD168A700D04A7303BC2C00391 +392C3FF97E770E6FAFFFE501242B20B4F7B6C17331C64BDBA3E59695E176CC79 +E7632AC6D2E920AA048BD1EBCF9909D8C314D2EF3CFC5CF88D8570BAA814D467 +96D86CF4415C5B739FA6FE7B4C228F06268D28EE33381982E7B005C26D2604B3 +AA363CA4732B9BB0E4D4EE50556D777258A7BC232087C9F00B0D5EF70270B40D +3071E14E4E5AB5AF1C686C5A7C268D36A0787DC9300D4CFA004F89A73FFEF780 +E6BBC957E31B764159C3ADF752E6E1A6C3B5B855F8A483497A347B601E3C8DE0 +362D76B715916113CBD2D3765197074104C7E17B87670CDD5C227A1467BD678A +BE442F196034B02132850CCB77143C2873447FDB8767C462C63916D9D4A13198 +B7910E1B274B27644DFB2E8372C8CD55E6E2AA5CA952A079E1E6389927495921 +CA39D69ECB4DF382FD2DC213EE382BA1A48CA886CB6AEF2B0C50CAB47B1FC40B +2C95E13190C92480439E3C56188D162C294F24987AAF4E15E8FF7ABBFF2A12FD +AEB884FCFFD671EEB94CC075B815C6A45549EC23DB85923F4C37221641B75CE0 +C5C8FA8403C2C9FFCB66CC74C5160D6C7042DDFF33A954DD01C8E21B21F8F364 +F6FC735507D0DB5F68F2D8B520AAA7E0F1D503211339F9466006E9A148F39874 +A1488F1F0458409D442D2BF5935A655AD4656A8411543F58C63DFF9C4FE56256 +7F9F876B56BEB208F9DCA363D2E0F7DF3CCAFD5F9674675BF622CBFC2D1CEFA2 +7A5323971101D3641E99D84197B00D67436843EB9CF74C273062159C361A07C6 +E3F1E0E4666ABFD5C9AA8F914F05D02EE1906FCB66E421C73243257170617FEC +2F02D5A7F3347CC0D290E52FA815C4D5D2A16A4D4A5E0B50165B0C5C77B675F1 +0EF343D70813346EC4D7384A9D9A091984AF29C810F8C3D4247D37F91C5DA967 +747890DFFB25E67F6FB766168487AE8BD8E49C55BC1B68B831E3F510BA1DA3A3 +9F810B865FA98AF89696CF7489BACBC1033A1C92902529AFCC3F1A325AA9776B +33CEB0A96B24304322C14C541A79AB344653C18DDDF57E5E5435E5A6F73B3CA3 +2E6B02C0965CDC0D91A1E78493969420A2BD6FCC320B6455314FEE7CEF7D4511 +81A14D5C2F627DF258673F9EFD645265013E717B40C552744BE378E68ADE9EEF +DF717505C650ADBFCA778DF04A11D21FDD7B944ADB0582A6757196F6E31C48BF +614B8334A7C7520EB3278ED7B9428590F9EDEB1A2EFD5F17BFFC6692DCE08401 +59356D2B2CD44371AE7219DEE4AC50C5C8C2730E178BC967386F2284702C5F6F +2108B53A8EFA75CE6EB448EDB68FCCA5D363B1EA5D7B2CD94593A180E9E0A3B0 +AA10767F27E1F7D1545119B0531DA2401BB75F78792C6CCEB0188A1309F391A4 +B4FC1241FA866C16F903639DA9FAC172EE1E46D3092E55B43E757DB21764DA21 +B244EA7EFCB02B512A19AC808CB3B02D920FAC0556666931ED44C0E62BE1052B +F4B2F6178505C51D9D58A18922429D7CF7EB4BFC8540484835B9C5B1DCC73C33 +8C52104213598C47BA8323EF29580719CDD06926331AF2EA0A248016BCEFF3AB +46222126B2F695F1A76247A7C0A301B5D3D7206329DD76C23CE36B9F28BB2F8D +B988718ECBC442CF2B8E552AA4CA3F840E40361B65537DB66A384152FFD06706 +3131C1BC2263FAF831B150E960A7642F2CCA3A0D44585E55AF524245F8CC3968 +8B0B679FBB6299BA5E670A2D84D49061E9685FE4ED8BA25B5233212B4E4CA2D2 +035EFCAA6955D99AFA82A22DE0C870695EE57D4292A1F7EE43181ACD17B66675 +C22F6BF7A4521B2155CBF3EC55075B1E891C6228C7802A3021B61C3769B76313 +CAC04F35C36643BFA1B34189E5C5ABCFEC5A5010892F2EF65A1482D7705AB738 +F2B5469A9640B3121AC66E9884612C8B19437ACDBC56D765E24C87A569EBD287 +AD59E8A2F530CAE77822C90045A27AFD62C31DD41BC9DA76416E455B01C64FB8 +9EF96E458628B8CA72900CB7EB40E59005BC811543DA5E5547E88021B4604130 +CEE05FB023A6E44AEC9661287463B2713742D112A666DFC06C0383E07C23823C +8F4E500B2C6B96E9ED756FCA82CD617F58241B9F91FB0604DD7AE28AD9AF504D +8764B4B36BB5BCAF02942BAA45FB3FA1B359F98A79F25C60A606A06FAEEB5562 +F40D56A25289831AC9E7423049294A80508FEA5F1B9276992A3011D630801222 +9289FD1287A4DC3C39C0388A870D484D365D6FE15308F34A93F6FF4574EEA2B1 +7ED5076A898099D1CAF25B3F58533E3EF1BA82147B55C9BCEA40B02E24CBFEA2 +E59C1192D1D95E498FA4F44A0E1B560C39B093FED8AF1342C465D4C7DD4EE672 +418CEC6CB110ED270550BC38D9B423B6D764189B89472592D6A186FFE87542DA +5F9F33C1280EBBC8C68247ECC5F36D8892A3272AEAC5464B0CB8B5EADD62963C +F069618F8D8A3F36DCBB53D23AD34904E42069FE71CB032A6B70919CFA4EB3B1 +8C87BC21D80781B98B71A0EB4A84E947B0554FD815F7635516C6776C0D65F54F +9F291F98C0B5DDF3DD20BA196F1680A18BB3DF60DF1D1C925F14D2494B2E0EE3 +EC0321783B3CDE0E64DB4231848C36F038C67CF4E8A2006B7CF38307154015DE +7038AF4F7449CDD9EC96E93D3D3612B3EB27C2D853064F4FE179C3E93DD73B69 +63AB02A0F72E65CCB97A5B59AF603891B5A9184EFC3A4BC2515A46A3FCF6079D +A0E54D4359CD47A000607FC48DF5EA845ABF6901661771F383E688D85B83BB0F +FC9D031B2308029B6D8B839EADD20F9A8937B4CE78E55ABC27BFCEEF3A69FD80 +FD55B486B6CA0A1F9487A7C4B3F0192B0A8ABEB2D27D8ED7FB31AF810788B691 +B5C75DB1012A40CCA3CCFC7792A18449B15F682289D930AB8C79E320B141E50E +8EEBC8C40C452F332B32390B93326F7C3655261C4AD72DCE441097A638B4620E +485A125A93864968C33E95B32D060CEA3CA540D6A8F6527DD6B7DDF3C781E15C +91AD9BBAA15404B611B929796F32F0559DE960DF5C67BFF44901AA672AFE3102 +DB25209A16487327DC3C27177ECCE5D4DECFCC774466131484EDB4BC5837513F +9548B027C03FA13BD08D044EF5A40B4AA89B235A6D7438867001A644F64B9268 +E1F3D065E8B7E13C4A91948FCAE03F3DF3E6963455CFB22972CD6910928A84A7 +C6104A8983F9D9EC9FAB7366CE3E22ECC6AE7C163BA8BA9DEE2DE07AA6D6FA8D +62E8118888F2E7D8E9CE3E696375B828208DE3B01B6906341FAD254541A3FE47 +12B120E233701FDF072E9D62CD98324DA65015736B05A312B0DCD270262488B1 +D7F7C4BECFEB1F07E54C0E9B4CBFCC5CDF192CA8295936A18BB2E9EBB7C79EE7 +467823A4E2C9BB0EC5DE23723D298B991E6F735A45C380D06430513B79BF7A67 +B59496348EFE03FE0A9AFF97E21E8D8A146D8E306E8D9090C6D7ECD3211A6558 +8ADD5BC27CCEE5476B68B43C657A71E228D7319ABCDFA4A2EBFA694E37B5BA4C +7255F25E0813E48440ABD9BE5BFB864C3FF2BCD704EE41433460FD444E00BBBF +050B570E15724D3DADD528E6FD83910637F299A053213EDB5356101446BA8DF3 +2E30062BC9CD9533DB03DDFF8512A76DC06A2DEB505DA944FDB07FB46F7A38E5 +BA456B84B02EE32F5001CCF87CE8E7310748221F5BDFDC293B23881B5E8D34EB +46F04E8A701FB6E79CABA84EA90C176B4A8FA66ED4927CAF3063CD103A4B9A0F +91CAF2D00F20EB19C83BDC653EC64E26CAEF32B93B57796D9B489D1B1EC18270 +0ED332EFBED44A2D79EE099DB8419642F9E1FD36D119C88AB055748322071E3B +01E0F8616FC43482D75DAE52EF19F0C04DA0849F4C5677613BEA94BA0F1899FD +75304F9A5C8286AC9553E07B71D0D69DCF0276BFF353AA3B4749A15C5870141D +372F79F44D4C0428409D6785E231B41CE7E074053F1FE2C3FBFA3EB5D8F6911D +09C3FA16B49A55044A55AB970C2E64AEB8FB7CD7FAF692F9CFA48CA5E0A5E9D3 +A124F00C78B77DBFBB6F4E279B2C58C31B9A84C2A64D96C830CC8E4776F067AC +B5592F82440E22E9E35A76CD17F53F0D0C4D28BB788E1AD666CC4A5294258156 +FB30BA45C417A3D02B044993108E3A017C964F387D348449AEA380A8A8861B75 +61442B0E9043CD16131CB2ED1927A5B14466118C09ECC8F320C579DED5D977AE +E43DB083FE94E98877D2413E5C696491F2BA14D2DAE00DA641D2796FB1599102 +0E288EE471A9564FE74632D462B90D2777DFB634BDB3B7110E9A8065671B497E +0A23B1C0E27D3BF6A216663BE181B29553E640D27AFC50EA79D745F53AE3EA65 +FA11FCD00DE5A885CDBBE1D50952F0070BB080E97E991BA37CC11ADFBC11021E +911740260332DEC7D31A7BCF360F1E6FB91D9691D4641A2FA15DCC740A44CA2E +93D88C0EC67F2845BD00D2C7E1FAEB912504088AA608FFD92EF4489986DB32BB +806FB55DE105F76BE575FEDBE13837014DC576456CF89A31E3DC558FCE976DEE +B19F2E8EB9EA7278A447938E302AD5CCF497679F1C4949A40C855BB26743FCCC +0EE62DC622868921AF5438A78007A37BCBFD31A4A32AB9E6906465D8A128BCAD +B50798F4DFFCA8370406EDBF64EDA999FB59533C428C7C6931E0BB34AD447198 +D1AD43F14A32C922CF8DC16F020E0FD55BDEC42F642380851848162EED0BC084 +88BC114243FED3D1373DDA7A309A33B326CE38B478C1AA9C986BAF206A2AADF5 +234C528408F68F0F41F56094D85A7AEDAE3F0515C6AE3A9D6B356B961BAA8931 +A1D244E6374E62CC2CB06658107A8B9BB53092BBC1406BEAAB59C76B6BD94AB3 +A6DE38741341AC5DB716CC3FBC1C7E3DA06E95BAACDEF9A5A72EE6D36D7DDED6 +3D332C6EB3444AD7F5C6D833A862D2D8ECE90565F78909039DB32D4D817D360A +69C5DA9BFC8BB82CA2579C0EC13CA61E6DE4668CBA10109CD4BC8D014BE6AA5A +C0F8DDC60E56D154413A141CB659637F2F170A77F88187F59DC0D4965D90A4BA +36DE13138284E8E217B33895C17B8A5C6AB308F8943B8D5CA4148A2E92E4F2D2 +87A8EFDCFB9246773A6E0AE9331D518802109BF9DF48B96E58E151331E0F76BA +AB7F041C17704DA0303B59668AE1D8CAD4AB9B1D523348BD31717D4AEA10520A +EF1DF53706F3587CB341AEA241AF3ACCEB2B8F28EB09F5DC29164CDD16949C55 +BEE4B131F09CF2DFF49E3A3792609242FC99927505E50CB3FDFEEB06F04F210F +6DCBEA01D2405E90528FDE0AD821DA5F3EC1F1906C0676EA6029B7012B404B89 +3D59756E18C8EE3E71091ED8580993328FEFC53867449F85717B250AA27A4C8D +B0CDFCB45C55093F34A01FADF0D96FC40DE4EFBC07472560F5E7592111A0C5BA +A1D766EE749E0852CD44EBA3CC8648927DC6A3D2FE43E5AD945E9A6107EE0CDB +875593BB913B22A4A3565713CC818BAF3384370503C459E6AB37B8C79450E885 +738BF7F1298B119D4C9CE5BD4A3F1860658BDD5404D410AA167822DB1F41AEE7 +AA4574BE1938E06FF26C8FC1F3ECEABEAB60C87A769261097B646DB64173DA70 +E3750DCEF0630560E3174D5800CEF20ADF319D7BAAECA51CE51D785357B5A5D6 +F1F6F5329002DFAE1420676B151C2C4C36F2BAFC7396C3AD17BDEAF3170C076F +4541A2700072A54AAEA86286F1470277608F2861A30EE1B50920E2BB176FE542 +35EE05DC8373C7A6B171ECBF2C2A96108382D4DE7CDC975D48A45D50EF351BE7 +D56B331CFBEAA255550AA7158EFD22B7758757B0494603F07D1202F9CBF79CC1 +61C8EA54C7CAB2B935FD5C671D8EDE990B1DAF4225570979C084A3C6A182563F +A85FE5ABC745DB910E713EA3C22A12E2B42128D5B5BF0B169AB8FFFC70A10739 +B6D4F65E834BFA5EECBE80F4F0307A78BDECD39EFF22EE431410116A6ED03791 +C9D2B1B524FF44C4839FCEB559C1107E5C1F7D3E875693375FE852E52586FAAE +C91E8A8E7BBA97458A9416DEB2EE823E68E3CAB0BB71E3D1F511FB8ED1ACF763 +9B70834914C09BC86423359A449B2CBEA559FF6D328230E8501A9AFBB012C3EC +ABA6181ED5A1986F6FC59E8D89981DE4C84B0B17EF7D43FFE9C6D333786A383B +69180FA51CBF856270DEA3E9B47D4BC241ABC5FF89A0B92FFCAB51749C76D5DA +26B4102A1CC40D387664A24505833C16AFB1544A51B6C857B59F9C51D5F72552 +F0F192F69927AF8ED0AB9C38CE2EF96E66B5F9192A0973EF93EC4E7DEF8F826E +8B2F541E5E70D5ED8398309E9301A89D0969BE7946AA46D79E15312176231E66 +EB9F623108D5224D02C2FEB27865B26A2B905FB8E060412836CC7D879D4F9E88 +35DC9A951F0AD1BE960F8C6D13B1BA284CDD9D91A4A95D8199D0EEB9742EB013 +5ECBBEBF9F434D2F498B3AC05C602F73378547DD1359E7552A20D733E23C7174 +3BBD6A1DE41F812E836DFB32F494505C6C39E3FAF64FC67ED65B323820AD580D +FB2E485752758C3D605189431A283AE6E9035D700F0C1EB5FAED2E2E8DC88E38 +90AEF26B72ECD7066C5A63539F2CE98C783D90F5E86C9B31A138323C4E3200FF +33B59B3E0C73DB65D649EB3BF94EEDCC3E923801F828040FDCCB5A59B409B467 +BBFE1F88D5B097E514AEAF77D449ED1A72E7E6E7C9B7772153B9D0E18CD0998B +F162CCC093C3A0E17BAA4D204251D44815EF7D9EBB463E815B7C8EBDB65D751A +763DA5B5E74FA5B1637EF6B70C58302BDA1F733EC51463B1EFDF27026380EA4E +DE27A85406943A23A7E6DE5FEF5E96EEA83ABD0A17539FCB793B1454D9A907A9 +C599DDFC99F01FB46D89BC9E058A7FA50E58B55531541EE8CE13A1F962CB2865 +E56A559CD2C884ABF8B7941051D8508CE0C5B73FD1C208FD185C1CA2B0714002 +FAD60CB84393359360EBD192F3BA4AB0F7471EE5A369288DDAD79D83B877B2F6 +B3F12DD58454342F40CBD2E12BFB165B1D886ED049AE86974CDF2747484A85A9 +1A3B5C717E88D95D2EC2A64EB623203DE397FE31BFB7BD08539BFEA00B80A2FF +ACB3A08072A12B086AC1332C2D91A3DBC2E8CEA7BB1DDDA794F5587090A83E6B +2F3182127E10F30EFEEA695BA5434FE74A3EEE7F642B7853FC9DC9BE9915BF04 +D8C79E85883ACB2BC1154373161987F419575C8B62322464D61D77A248899A53 +DFFE22E122A13B2637838621CA91A3A2C3496BE6A41668832A8804681E1AD788 +C38FC545AFE7E2F0BD402A46D64726D07805397EF9ACF6F6C458F71A65063B65 +B26A95C303C8A21869394C409B499C16C01E7C40E51F91B4777B31544E52903A +B2205577F67D7778ADA9C119CCD5B8EF0911BDBF4B3E787654DB0E4B5AE1F9FD +501A59E23791ECC00E70DAA97E84D601BC06A7325ECD2D57D53956B25B524BA0 +000ED3D75A4B72B25041F698E1199218ADF54D21D3E4AB547EC41D413478305E +BCDDFF1F2688A22AD6F3FC6B4719E3B808DA2D9893BEB49E75DD415F63625278 +CBA961BA44F2B0A5FC93D2BB2A1C7E7B6750FAAB5B1B21759E6B9450D3A9D711 +A02EA67E0389DF515D0B7AD6BFA91917595F3DA24FB19493C0BA56FB1A93D2D8 +DEB2F83F4B9567FCE6B1B115745DCF0662A875559EE47B1880FAC27B67AB68BE +6F85D0CD76944FFFA1492F11810323ED6E0D9BF3ADEF27EE00428734ED4B3832 +FC4D1A384ADEECB4262E8BBFE6255FF1C3766AD88ECC26554D73F3A99A866BFE +DB286490F9F2B41EC87A92242FB718382BAB442A7A17D8EAEC8FD872C5E80B4B +1EA9A95993BCA3D6F67BE77CC766911E64C70C1D2BB7890E72324F8BF0FA01C6 +ACE17A3BE5F3C9E3A80DD77E0F589810E2E2B614C6EF581CC2AA4239E1EA5071 +D8FE81AF336E169A556215B9870AA615E02723D58A63520748CD5C83F5F7FA81 +6576BAE5E2AB2EC6075503D6CA3DB0E953D8E21C00C05290676AC26BCD0B68FC +061B4C540BF2CC4E4C4E03751EE962F5449B47DCA47769ABA5BECEB3AB82321B +2B815A1BE8A2551CCB13B9EDBB5FB3CD63362D4F76DBF2CB1B98C3813F336DBC +B83F19BAF4CC3DE73EE48542BDEC32714506EE29460989451BF1C49B1884CE3E +3DA15CD9469AACF381A9DF866D5A18C4FA9120F4AFAEA471B9AA119B65AF1AD1 +50F70634FD5D93F73406A340BB2920B73D36A76BFC7B69DB7553D93B4C2E743A +64350591DE667FF50EEB0C897F9FEBB8C7FD4A61E8F3A160D66F118E5BC43F98 +747BCC3EE055C45FB2EA757FD9A36B4BE0D9629D27FA313AE69CF5705512D78E +1188612DE864D44A4B04185E0C8BF2727942C06BB2693E8633D0383F590C492B +665D83AAEACACB3153C7315C115FF9C0747B6837E8CF0FBBFFE585B2474643F5 +3A56EC6390E958CD88C4DD267CA13EA51F0830A3E5D50CF47A64065212578C41 +7C63C3D2ABDAB4474C86D59A3E81C351278CF5EC358DC1FF9B197EB5932126E8 +DF0F55364656F74ECC7334954A90EF85E62CD028DB1318F4601FB35091E46EC8 +4CFB4A39F448408FC700383CF7DCF57C1DDECEE23B4C1242D507654E32FE7621 +28DE85B8A7862D11FEF8A733014DB5344BE2BD12AAAFE79DD5FD67FE5917AF98 +80B23D8336FAE2F9277178EEF929374153AB8E4A1AFA78FA11F5690B85046042 +E8FCB5924E01F73A2BF14C4CB82D3FE19D8F48379A4798E2733006AE5D10391D +FDAA54C99DB4278F46CBD6084592E4F5D24E07E3F9C133D3921CBB76C9C21B02 +6518D9023A03BDCF65C1EC3D85919892D8C7FA80FC4C4A96F22CFC1590E29CBF +1EE6F5BDD8503C3FA854F2D0C2E22398C4900BEDF902BFD33AB222610191F0CA +6B70EC298CDB14C92AB7437FA982DE74CAAE0E514FC68F0B6DC8C0C02930A1FF +090A1248F7B7BDFA633EAD07643CB20B14780696345B2D1A26C1BCB8BAC42365 +BA7B81A38B583F57C4C35CCD64DC14A57C6BD8D2F5181D9E47B7021D7C295764 +7329FCC84FFB2D6FB58EAB8BCC021D8FD868B46C492236705D4AA082C5266CDD +910EBE3C8E47965FD24F466B28875E51AD0DD99A77BF8965BDED1BECA466C054 +DBA59B799283CCD1608D3E4793CD027EB52EA2DC3C4022A1E6FF11B5E2C3C257 +61F8DDD6E038572D4C4592E5F3ED99E197CCEA36D3BB38061483FAEBDDDED031 +6E68343929CFEE61496E154066BC546DE19C91D11C5EEE5AB4120D62356494D0 +075F1D9FEDAA5DD993072F4CA04F1BC5478BCEEC9E81B92896A4BAB287BF94FA +2AAB7DEAB67B317CD28FF9C4D43E59A8F5DF1DB6B44E741C67BD4E06B46E1642 +1C021D91C171440DFE5FF66E9B1A8838AD07317657BBCACC62FB19AB2543B57E +E6FEC27EE8F178FF0D96609BCFC9D6ED20FE4A9C733126F9482ED5C2452B9DC6 +ACFB5F443125EC48875D11CFE75AF95E2558EE5BC7C46F19D4643655345FF830 +907BC6ACD9FE2A45D004536C890D171963FA88F5BC4B2EB37FFD85F326AD3697 +9BD1BE98E62A0E32093F8F63A264EC3277F19CD8F7E5CDB1E38E6FA149F5F515 +BB80B82189352DF30E9F0423FAD87CFAA15143CD3654FBB7C878BAE1B1255B13 +9AA1CE6DC597221CBA146953253463F239A4AEF7E4152E103D9653BC0F48FF2B +B058757AFAF90497BE8F6D8B0B37511CF3AB6B7E3178317EC9C7F7E850D03C51 +44A4FF4B636DC66A55AA1AF131AE551F967EC1478041C0D0E4850CAA3358DDEC +F997208A78D481120C90146F7FA7FCC57875E958A37DA6DC830E0255AD00F336 +C79FB4F7F3C43E7AB69167B93BD159D01BFF4511CD0C0CA9701D92C08D3A6501 +37161015EE31267F6F91A6EDE9468247C792E3083FF7B42DF8356E9376BFA852 +0BD0133DA5E1844134777350A4F873DDCA39B9458090A9657923A7F38526ACA1 +BD8E89F50AA505E7DEBC3067B327601606A675E4A934789230141C3D2B6AB823 +95E97AE488A4D4F5F56A3B267D2106CAC3073CF5ED1BA5DAC6879C9746AAD0E4 +E845C6CF5B61D9B58AE6CB996183BE59DF5D9D596ABBA15D0952E01B85D72141 +D59C1322A48C47657CCA4A516ACF8EACE16EA266310B56E12D9B6F2EAD8298D9 +B5B3DBB9397A89EB7CAF3E6221C737458ED56FF76B998F935988A07058C5CFE7 +5E2D1AE706C1FEA14611264E20C67863F0D885BD41033BDAA480C39CB683CDEC +B85683B44F210DB23E6851A7253D7C232B02D340EB583B1F0817BF2387371348 +A80902E38771BCB2DA12388F17FB9C8895B4FC0BD22D340BCB8AE5F5034AF540 +C44811BDD2662865F71F83C77630AE3090C5065FDCD3FA85D24A7DABCA80FFC3 +47FBAFAD5C7C5D416933110AC3985D93F3A7814FBD8F850500F6F8816569EE2F +72FFDC93D656B69840F2C8C252D6EB425F3379E23F6CAE4DEDAA774F44426067 +814C7BC1A1EF33FEF4DAE21BFF5C4284375E954EE12599D9F56419F959EE20C3 +56B29F9D2E297F0D0E17DB3BD23F3D8ED2D8BF34D13D941833D584BE36E64DC2 +A673407583F7A598ACFFB1F87BD642FD37CC50840CFC4E8398AF672AE26C66A7 +DE2904C846C08931B2157E5CBBC9B22F6BD3D3D545FF2883A88CCDDE48BCEE31 +195427BE0437C1CF6E868B0389FFC94DC38C9974CE799A4D00C664D7F7354244 +30CCF2C8758906E7AF58EE448BBB24E1B4E96E0952A3C4AAD45850A8FEA43137 +AC8575994488D65366D2DFEF8220ED33B7336C9E5DFD31B4779473878907064D +6CA44E1C12157CD7ABFF81C328EE527D488DC02DE2DC457C1BB32454C738BCD5 +B3AE86E0D5E3A9A751EB3FCFD9644500F268718DF94ABB84D3EA00231DC50298 +4F60FB9471D6F40D71F9F88DDF2824D0AE624CB648EFADEE6C96862F780A8A6E +3461468F61B10659859D01AC0E8B7E17A2BB6C41E71B068391A05A116FC59BE2 +B6E24672BB78ABD802B68EBF8EA9760B50C91B5FFC2FBE4D3C5932F80FB8E681 +2D1A478DC83758F13FDA7F3F0CF86CE932139ED0484F7A9B4584DDABAF92F0B5 +123F30C18D52E8B59BF3DCDF7D84520C42BFAAA974A579ED7A90BDE2BA856748 +AAC6E6C066940ED136F05CD244D867B5E5496804BE2AABCD6506DF1BE33D2235 +32952C47419B9C29C43A98E2FF1AFDD3B8ABE484CC90A598FC0BFC8CD673DCF5 +F68CD732B3CEBF8EC0C8E7E48CC3D893178DD18754B351B3E2A8B124C6D8B66B +3DB09CDAEAB363A33CFBC582AD7DF62041BD818B3A5BC0201EC87B40600C9CFF +DCF1012E58BBD00456C6B31E6C48DDA9FEC444BA9BB6355DB9B3E27D59AAFD7B +D51A4ABE204E9114876C8A445322B4CF1AB51AA3F0E669411F1575FE83CF79E2 +B4C514CC3FCBB8318775393FDCF22AEE5C5408A27FCDB35CAD00A24D6A00BD03 +E4F9877EB78D0A0160DFAD19CE867FA4E305531CFAE660D49A31951E47006E8F +1C976385AC306EB7781888DCA57343C5DC91AE811DA77616E88ACD03D7744432 +12A2401F835ED81C987C5DC658CD780861CAF6C830CB4F52065535C1001169FF +59F9C5F23763E8C4EFE2A0943EFA9AD9A5AC9FCA8AE5796A571B9B9F2BA77D1A +5547402D43E98D8AFA408EA3F2C91EA6B78C5D973CA9EE8E4343046649A46A40 +95C9761127F2236D6934FF5D8C935FDAEEB2CE9F5CDCB5C9FE676000892AFC15 +628E63D49EB219CCB1992D2D8D5562B1BD14E94E30FBBEE14E04D5C673648A73 +CAC2848BCB567B520F0AB587D604B70E31084A40DF9187AC2ABA0694F7D6A1C3 +456773A57BA32DCF3F01E1E9BEA0DE2B87D07554F6F8A0707F582B56E2B2B222 +5F4787E287D47288972474915F1EDF088CBFE3CCBD0D4B91D04A179460BFC967 +340030047E04E142D7FF347E46B00AD1C6F3798824E9A078DD118AB78DD02855 +D099F02ADCD480F1CDE7285FE27A121A6BDA5EC27373EA15103CE0816A898D72 +7442E3F406176C85777BA76B3FD020BD08DC093AC6D46824E84097CC46A4616E +F4E3F5885400115F8E13463EB766C744E5C8E9E05588F18A6BD39F83E2253C3E +251B8F5BB36625561DC97BFF073F06BC91CB914FD7F4D6D2A86CCCD8ED5924E9 +3EF30706C80B42BB3717292775093D242A67C45D2C56936F27B4F63B0B10461A +FCD9B2595C245C96FC8E5108F0F9E4156FB9E0CF52F4C7AF232559AD87A50BD0 +8F68AE97B53631906A50011C3E6A5498FC2AFE6B51EFE29E468C81B25DFFB31A +959A445F6800B541BB02839719F21068A396A6FCDA4B9D3BC113091FD8B67322 +4302F201F7337A1F1CC51DF606B1A488BAB2CDB7559FD01A3FB1EB9267578C7B +98DA4BCA466D17BA50B3FE43574FB0FCA1D202570540432E8539235860E1C39E +2864C0AA4647ED6BD3F95E729C346CD5D2B1EBDB39815FFB99F3F39EA52DB1CE +02697F87396643535F68D6D721407E572AF8BA5087F9F8F30DF84B211514889C +61F14ADD6DFC986836E96CC3C98577103E51FA6894B7740A814CDE92DE3B346F +B5A3B171EED921CDDD1863AD940178C6D8681AE2D79ADC1C40129E59287BE1C0 +FBA7A2652BBCD0CCB2D3480F00DFDC22CC2841C885173FB4878879C67DF8429A +AAA8E55D15F2592296FCE8971959FE18D0B526648771817143263BF1A136820A +F94AF23C2CBCD1D6E5F12FFF8853E035A0085AD6E1859FD46428C51B0F3C4E03 +89268D732C9D4EE49AA59074331F6ED664C10B888BCA2B3C0B35EA430BAA0014 +6718E86EB33D51E5D17E687CA11E65B592DEFE133CFB1D690DB55A6EDDB778FA +BB056C24903E91F4D2841A3D2B3F464878C1554BB49E2E20C1C2C7A0B99534F1 +498E62037C81A779234D0832AEC6B0ECBFAFFB7E1F5921A3259447C83BF5E636 +1EE4068DF992ADA0C11EA8083866A2682E615F7C72977B2C1C90F22034AA19CE +C63704998BCFAFFFEEACCFA913DC341CAAA0330BEAB33B9AB49198BC8B8C71B6 +055177881B0DF03D380EA68C6302361258DE31B34A1DBC92F572121556E0986C +6532521A15812C5E435B20C95CBC5F5F692DD724463DD07C26FF176903856DA4 +B68E4EEA1AE0C3E221BBE761D06BB10160470038C5DC71ABBFEFDE3A73B8C614 +0B6561750E86B211B27D241BA0813AB31BCB075F689AF4C1BEF351EC61B49D06 +C41160D679FAFF5B3DB6A74F224AE91F435215718930A70AFB2FB92C39958195 +C64ED3F5AA839777E8F9C992B2706D87E1A705F7F23A4158DA8795166B4B1109 +003DF404331383B8FFC69B77AFA3E93B62A8F493AF8BD1C1A6ED407F18A283FD +C5537BE3819A8F06154FFF8B0748C2A0959804C4B0810B327928B3BDB49AB701 +999C55F837793046133E2F29CA6500AC95EA9A2BE3D53771A8DC817FDD65E4D5 +21001F033E619E73083F0F80EB3A56FF6F76287C754D3BD6EF022B74438C48A5 +0902C8EB4588AE1131C8BB0C580E719D221864321FD206576F310DDF277BD0AB +CE7922FF5DEC0EA195188B448CFCD100104563935EA0142F4178C79C09088CA5 +863D926C53F4F7CB8B2942568D6BA5C5C31B1F9D4CCE89BE0F19DC274059D9B1 +4DF7A886763018F616BFDE3FEB569740F5CBFA2BE45CD8DCD5C9E8ECB69E7A5D +0E31726E649657CA0D5787C6DD40589137108A54DEEEA72D4B742A7DB8623D35 +68651079C5C51899B62E7201B040C8D72B9EA277B36C8667BD280BA9F6C97F8C +5E5F7EF395664F95226CB084C52979D646679C70DC09F6B6C0CA5C0695F898CD +9A7872E84DF9E9B3F834AFF0B71CD01BFA731614A30C12F8C1E0FD9F391638F2 +A6239106620CBB2E261AFE24A566DCD841A7471B29458F2AC312D8D1811DDF8C +6C4A8E241BFFD399570876C85AD23DECBAF1FCA16AD8CDE4500CCE07E45889EB +7A68A53EC74BBCF3BD2CA3CB175AC30AC0198451D09E5F1150B0148DCB9A85A6 +56F04779C4151B108E1D9A2B40CBAE566BFF4B6FE67AD605BFE46B0039A7952C +1A6D655BB2A9A92E8A34F23AE8AFCF56BA0E2B6CE2E8451D83B86F8968F245E5 +411F1C0F773999FC1A896BA64439D3A6C47F0C58405CB65B18A29603CDB2DC51 +564BECEF6FDAF3CC873166EEC205351CB0A810C4379B7ADA9C1E86DD5D39D01E +F29D979A3D9E0F9CCC393CBCA1839E5F4570FA152B671D65C9F205F4A8D7AAE4 +A8A974F678A8A0250319BF7E2BA023486876850E65CF6127081CF0CB88A61C93 +CA2046D00227072F1CA4C75E830D1A4001E4C5C1F4170860E27D2B93AA54DC15 +8259742241BC854CF9CF287CE9B7F12261A4E2260E0BF7CA0B74E1607E2758E2 +5A855E7D3355B3CF2EE4F115F72E4C0BEF420A5AA3BE7BEC117559C6FB5D8053 +8DDD5455D4BC767CD8A053FAD993731EC1BA1071E379954041AF8624440CB131 +334B51FF3C04D1C216DE3E90D3565B32D1BD073591FDC9D56D61C7889C308B8A +A6BF880E2D672DF147A50F7FD93B40DD08C1FE43EBB033696038C4010F2BD94E +014C4728FD4085952E6A1EABCE8A6F011F511D24E230DB7B41323F33B3B3824E +87E6F5C1156E23D8B4C5E00A30844278ADC6971112B500A5DE0938391D61941A +066A3DCBDEB84974A0A65E8AD149C11BACF524D3F296494AFF671D320FC54E61 +BCB7FEEE9AFB17E88100CE28C982E3F34A3F1AD2187E99E563ADB04AE6EF34D1 +012CD4945C968F8C09E76DB723C20B508035406BC9AEF40D47C4F05B2E7B9E00 +681073F8601BFFC2378162D626E5B8CAF24D3294E471D59DF178BD1FD4D244B6 +633F17E664FD40060232CF7C23C1DF3421BDCB854C9A6152E9B740A1DDB5E7EE +EEC5C3D364F4E0E0AC2B253916B0AC0DB88B7C095005F77A9DD0F6EEE9BC447B +4004B57EE8D7DBCD34CD650D3037489007BBFAB89A9880CE3DEF6BFC3C929A4B +46E8200188A6DEE70686A16BB8BFD4B130E3CCCEA5DEEF944FACB3133ACEBDD7 +D84824A7A5431169BF8D5D083B1E2A971BC45EEA7D34BAAC0745BADFEFF74EB6 +B478D0AB00E69544CE78796F301AF89931554B5071C63EC30AB82411A0F12A4C +000F0EE269B384F31D27F5E4545273B4F757C9F5C94E50524AB09FB173C734F6 +EB6CD2F149CEB6DD9F182372609771187731AE4C5BBCAD2156E9A2D5DA22B3C6 +58D1A623440671E1CFA7AD955BF0FB31CB0DDF750091C265A4DA835914F02B4B +362D9DDB163BA6709959221BFDFF9D9A17317656E9C0633FFF5D04612551540B +F47F1FA22DC5199B41EDF47161C94B9D3DD87909B92B5C03C4464E6127DADB5D +27B32B2C1F2B43B3291971451D5E3560B1A01FAACD1C8A40275E6579A4F91C86 +797903AEA1185D5B10E1CBE30A4B29C0476D6D49BE5F7288441E31CE9D14B756 +067A3027B973118A33787D7864373009458310B1387F8A126F4D0E46C5D640D1 +2B594BA89544405F7CDB33AD0797A64D785D79A8CF2442D81257220BF28BAAB0 +DDCA8B3D68C62447FB63BCE2ECCE26D2536CA8696DD77372304395F264A08F74 +35489216FE1E4CFF27AA7E27DBC7F48059C5B564635B1DB27FEB9F0457C5A609 +9EEF6FBD3EE0CFB753E388400AE609ABD03FADFC97B396C708D97E78314B7A61 +02F8748A8DA260D0D10378CB0524C149642F701E2F525D8F4FDFE9CEE908577D +4ADF698CB718DB0A869A98818911F05C683AC48FBC80C1A9498E1D68C3347051 +0EB9E1F35F92264C825DCFEC739E3AF1293616478CC2230D20196E044D3BF278 +9DE989C0317770D689D99B206DCB7E6603A345AC87B1B1D09A2D0FCA46171AB4 +0FA880980119B5FBA4DBC8A3D34EE409AAB8A1A14712F0A8E608190755137B03 +AA9ED7526E1DD0B72B8C90556E4A4F4E8A8AD39EB4E3BE718AFB1CFA10D56F67 +9E88AFD26D2B51002C556D00878B71470D2DCD404DB7691630552E8FB921F486 +F93A2269CAA5EA0DA1718D1198EE4751DE32F25575F3F3A74E4301F95358C3D0 +96D8BFFCA197AA1F7B26F6F87BACF20AD18842E46CDC1BC715E20C74ED6E66C3 +297559FC380E6CD4B6BD11316D7B0EA6FF39C54E8BD19590039F104FD62B8FB4 +E0F18A37915323A260B8914A4831214731AB46A46C546777C1AE362BC2C68C1B +20D34ED21DADE5818DA3B8040E023DDB1D9039960245C7D5C0CB289B959AA763 +99B243AC8E81369E799D62FA4ED8D023DED85AA852DFFC91DD618D3DE2C601AC +97FAB6ADA389DE062305BE6D755D02B20685EE452FB8EC45E5F326A3FEEFD6EC +9B4591AADD8C8E50AABDCAEBD6081D98C10869FC0028A181E7686500C5B5A079 +998BB3B3436EFDF1382FF1A247C57A9B13FDF8E704F28AF5D304F1A949312585 +76F2D27FE4B25F9CB88CF85F0473C3022DA9C0FF943455F3C2AB749AA0280E39 +59196E847D7CA674553D235D4BC0CD1D84CFE3725855CFA9EB2F6134049B3E75 +2414EC7DF23E1FDDA62BB8D0B2A1E6EF36D465289E4CAD65C403017505086F7D +F239C47C2E3E81CD175DB11329AF71D14032831C5520B5FF51C2C60250DB96C1 +3CD04DAA07A57BFD00B99CD352BA878856D5D14FA552F880D58EAE29B2AF9733 +9918E629FA3F3D34C7EA2E1BC02D2B909350E1BD855729B559B14C1EAFA694DC +F5709EDCD464D41B8C6D685FF2B00028DCB62F74FF1624D9F8C55E2B12AA429D +30349A4CB8955126A00694BF1AE9E27C8551D043922EF68F5BD18FE54A77BBF3 +6CD7C2C92F53D0EEAA743AD82B943C108B82BF534E18631E29862380BFD3F7FD +1D7C0398C7520631ED391AEFB4AEEFFDA512C957AA2DA166F9C782BBA823301F +029C1C5324377E8048B434C25E43ECB554FF76449B38FB74676827748A5C4052 +DEEF3E70ACCA4E9CDAFA1A5C6C7DDCEFE2A91532F9F854AD448C9E9114DEFA30 +6C1C06A5DCE0FA9A939D3A2D8D7F8A7B101619141F6F6C9A01B24AEEC76AAF21 +6FAD1E9918A0BB7EA6D6C4D530D44AD488DCC32A3C93BA707C2130625AB93219 +F538ACC10E16E855AB3B7E4697B84DC98F8BAC6DCBC4C0F42CADC2B62F099FCA +FFCF992F0A870293EC9E8D09563CF176549068B27C1F440CD96BFF681D193023 +9A64B0D282E72DD4F77AD547629D1B7AD78AA608B71DCB9651BDA29640F7990D +A538D7A2680BA8C4FFBCE03A8E365AC6E1B521BA8097E908EA172FF442591D74 +88854CFADE5803E73A283501212AEBEE0682238B1A13D18037CACB4BF45A8501 +EB6291D5AA1C0BFB9FEA5733EFEB23121A088ED33DC052A37F18E1168616F99C +2E2E40EEFC1E750005BD640A87919130C084C5F2C7E8BB0EADC2DD4BF2483BA3 +B854C245569A48973F3BA02693689E0A594DCE16E31FB89E8354D1FF8408978A +435E45EBB4FC804F687F908C75567D7DE167BFDEE769288C4E7835F50E58A74F +4E5D1F69A9FA909951FD501A9C77A8F9523BBF71E2422C4A258B66572F4998CB +559929FD0D5E8AADB840BC2D7F8280073537CE63097235E095E5B2E6080E896A +F6E4EC39EDBC28E2B3E2732892CBBD3627F02DAE41551D956C59FAE8CDA5930D +D02E9C43D8C19D7CA9CB32C0FACE2E1C34A28286AC9256C0116F61C063D57BE6 +CE92F970172DE9DA5F4A094E94FBB98FB9F10274D567CC4C8B151C45DF29E91C +E933A34F1F12442C6D1E3AE42A36B6C20160452330789AF4A24D7CF0C24D880A +A773B70073D0C8CD6382226C92B9537D547736D6147E74222716370ADF790FE2 +EE3CC1D8C8A194ED36990B39BA1FBF594E44E532EA40B0337AFDEC54FEB6003A +3EE2E66BE4E22B4517A6B948EA5B63DB65F1DCECE06ED0F2A08D895448AED8FB +6D6A138F9A6D163851A13C8351E762E47F1E6C162404FCD066DA96AB0125E077 +759A3166AAFA816C819074AA984B579D22871EE8A55CD3E6A086856E075D8E8D +FF191DAB99A669F70EBC490179BC61F198A8DB0A569CA441B82D3027C456B121 +690862A366EF0D511DED1BBA9F6A11EA69C17CE7D806B6175F857988E21A8AAD +504F13822DB62D6B7264C8557518930EEB66F2CA85C9980D5915990383FBA7ED +022639288E5517A15AF3C30E264E7C8A4625B5505A43483994B88A719D7F6F63 +DB11FC552CC70F4E3C2070001098252F3A87268031DA3A67C50C32D355C8C0A6 +23A63D863C9019BC3B1E8CEA96E6AF2EA81E65066A90971B1E22BB1FA3409F43 +C3BB6A72C8F87722D58AD8CFEF8A0714CA383970E2FEEB1DE421EDCEE9CA9E5D +76EDBC47FC229C1E2599C9796C7802B4468DC271AB2D99102991FD2ED9A38CB9 +E591921D3ACD85AE47EEDA03652D116D1B694D873D60C2CB4F6DF96C7906DC4D +3F2D797DBDAB537849119C4254F64EF5C567E124BB00031EBD6049E44E41D438 +510118F514304E8A8FC77069D2AE084AD0DF5332949D74A2A1893920D5AF385E +3DBEA86BF5A869183BEBCC70721E9D7249E6CD8AB529189555BCD05FB95B1685 +FCCEBB55C2FCB3348053DDEAEE8B8B634CCBDC28850415D9AFC16F59B3474C60 +3A2066A873A63E8D95D1FD37E262CAE4D27E1026A59AA5F8D33B8312D984D661 +753A8B457180CE5C6C41034642A3AB006D510197FB3D8DC6C2BC91E5A37C4A1F +B4135FA36B74333008A56647815AE00A596270129AF1AEFA76156F2DC329F465 +0FDED289A7A52B46A70C01166AA968AADCA187A558B7DD7A463AF5915E6FE428 +48D4DFE32349B043C615CED66875F55EA435DC24E09E8A39E67AC24083F14FE1 +00B8B78ECC15D33F017C7E1C1CE9EE73E630E8E27812D875D3342F0A920C57F7 +3EEF5F22958E51453B38355700A9F11505C709535419093C3FED76960ADFBA7C +226E6F2BDF74A991A692E3A70161B1278162D9A0548FB848023CA4DB2A25E584 +211D8E2D805E6CA5F00C78E809711CB2E6CB2ED3DA6FBB1B07FFA528D8BD273C +2B2E18D8B52A6DE180CE4CD8AE19490783219E24F96A199FAB827178761A311F +8C1ECE05D86F68A2BCBCD41CD3947A29E406B868E49841C61CFFED9BC3243476 +92C9147D1842E57D87AEAB74E84CAF530349B445065D99BBA59751925B10A291 +693CF87B568AB9456C9253AD7BC30774EF0D3ABB40840A21BE5BB64B73308559 +B55ACAF787C842A25D5E4D599FFF70ADCA399992154B2713A820A5880E0F7833 +00EB9079D2B6652429072C27FCBEB1B81F14DE4E55ACF47A9A31EA4594945F94 +80DF5CFDE2E8F53A9C397A728B1C72ADCB92186973C683B97E9EA9A64FD9C00A +CD9624D5E318F35C97012EAE13F887AA70E267E1D6C6D37766A2D0D49A4D66D2 +EA3A2C918E35DDE663BAE1AB3B5FDA089DFD4872B6CAC83178246257C1828ADF +4C817F24C21084F42689F138B2784CD196B0FF21D166DEF33F83C4C31EDA8221 +C3E2C9963773C0873B953669665D9A74B1F401F1CC8E4295085CE7E682B6A859 +D8F5FC88CFB71B4AD25DEACD8C2FEACF4C01554833C578460AB4AD970A18FB88 +94A3052FC0A7F43B201909883D50E03C38F1CC27059974CA6F28A5541AAEEA14 +6C6B17496E2D9C495BE48D13185A34954E5AF2A184DE760B1FD57819BBADD7B3 +63AAEF5CA4DAA3D18A83BC5F6A30C87E757D8F71F5856BE7151811B01767BE2C +DF511004499CBCCE089DA50A18F64508FD32178B1068269D5064350B1ADBD99D +625B0C658B73A521ECA033088EB359ED991FD491F91CCA95F42FAD3831D9EE75 +1F49FABC04C020AA1135D00CC3736A64BF62F167AD7CACF1E66A43FA9E4850CF +1404F095B4FFBDB02E9DF606048E4072720C771A6606324758F64074D44BA849 +5F0C7DDCA9C58F662FDA107E68372409ACC403132B55B190AE815B6841E0A403 +C9924D808F135D3DB9AD8E5A245763C37895BFCEB46270CA8626BB12F12E5AE3 +EE246A32CEED55D1532BB3A4D2CB10D702CFF12508A88A12B9948339C14CB539 +43B9C26D870B6F31092FEB2D02E4BCA4B5610BB9C2B636562C5C7C1A0350F80F +44864EE074D0AE35E373CAE6C134D3B691B3F0F42FC0D723006D04C6862DCE9E +44AF9927741D9B65124D43D9F50198511EB7C6F004F9A072BFE4FA391BC653D0 +D1F0D4388ECC80ACAFCFA2A8B722320C015831C9670EC265CD5FCEA5851E14EC +92087991F13B71F527D485E1FC5BC28C06D2FAB4BA2CAB73C3C628E0A618CC61 +1BBCC9EFF0D91499A6270CE7692EA42FD6B38E5A3FB889D5B43781942D2E35D8 +B7227208F0C6C22918C4600D2D90B453E44D2BF708387FB516D32A3C331CE37D +AE9F0B96142DDD8BF0A26CA3ACA2F7D6E3BBF394C90E517CA8CE331F78ED5A25 +0ED56592D31AA2F87FAD23AB10F3C8E400FF381FB70C899347B1B4C522413707 +12862D815AE8DF97F32E12BFD4C8E4AE4B0689A53660DDB732588EB7154EDD75 +85579B114594DE54241D16C7099F82890195F193366877A56BC464B49824CFAD +F69BC1969D895B359920AD5702FF5860C375BAD4CA1C838895E06EDB17BAF60E +CC33F15044DCD77E4E2B9387400A632FD80B4F80C9EC7D0DFB3B28CF20E86B4A +799AB04932732EBAA16537D2D880778F1569DA98A30AF4B2617E787590B51AB9 +331477B94674CDCAB5A30D0869546C058934C738F972E57987074BE61CFA3063 +A26250020262D6016072438AE6E71D496E9D04469E7C411C7763892BEFF93A79 +4E50D37A5D8A9A329CFA419FCFD83F98BD0921922196947F4F5870EA148A7480 +45B7E2F36A3CB98E2EFA6A491F4EAADDADCDE721C158EF1A6AFC066803CB17AD +36C4EAFED40355A12920038E2AB455F656319AD435C8516C46E63BB0937F8B70 +28DB9EDC750C896F15A0A8CDE7A466FEF9F3A673C8B62F82F71EE259ED3979D6 +AFA297DF9E72050386C32C322E116189CCC54E6B925FE7A412333B48D5FBC36E +61643DD40832AB594D1C108DA13A5080CFA83D04C367F2879D91F25096EC4723 +93DDF26B1EA68EA63A81B5113C21CA9D3A70D2621752D9662E8690DCEF9C51D7 +8DA262AD64922AFEBE21C2EF381DB07FAEE60EB413D11FF08EDA67A92B90A9B4 +E817CDB6C3953367779FC2A0884A86F2D6E1EDBC670D061AA3F84181CDC63041 +625605FF5CAD21AE3071E886B901EDA4790AEFB657CAED68090B67BCB2514D0F +79A8311D70E16D0273CC3851ECCC9FB6ED987A916A207E4CA5027CAD56EEF7ED +0F57C182620DA8210064D4B21ED73B3D599CBAD195F7DB382ED38B245B1C059F +A6FB916B23A6C539B23A579B66044000443685F71219213894D1D45790061F9E +62D1AF2F90410109F9C2D0092048BF6013916F01BDF21BFFB63A8B9FE792A6C9 +42E40882DCF4B682AD6334085C1360827A789C5023283007F279A1807D83F401 +806889113184FCFF2AEB20FCCA463C5DE7A37BF0F0B3E9336EACD9E753E33F2E +C7E13D37FE8B13EED0D328727C98D04F00D4324F6F5DA14DFEB2751D59F67499 +E27D7F7E1C54022CD5A4E42331CE24DE6E220BEC4142AA9CDEAE08E7123984F0 +8494A8B34A935B8E0CD986710E5B730099B730CB83799656AE99859CE15E6559 +8F8B11F1B3F3B1EF2497E19C65C10FFE3203A235353D06CFEADB8E18CF96D0C6 +7FEFEFB0B00DB5FFCCFF0E6A31189ECF8764EB15E7B02D4C2DEC728A7DBD3936 +929BC05D33AA775FD404E97A15D64F31B88CCC4D22C130C1426F2FA55BE480B6 +190E0DA9B425E0DDDE283192EC353F25CC541EFBF93D2EF12E81F3B00C053483 +C22B8F35F6B189396C6B8797CA10DD3311D9A3E01B7AD6F54961B35CFD198A9C +74FDE54BE1956BF9A8BADB3B75830965D1BF4092C257D994F4C850A0449919AA +D6E3DEC06832732AC17D7AB47472D871E1037B5DB9446825345529D795266C06 +5CA7BDA46CE4C030044687DFD66893ED7F11DE538A47B68FFD9562832608A430 +0AAD5025C9211DC521ABFE92739C4B45A4DB8B1AC629ADD111D5DB746CA2B4C2 +9E8528CABD7A36D0E9C3918AE831E999D9BB8D87691672AD280879B48101A226 +BB8739D3D7EB2E44D0146D9C90C892BAF9269FC9319B55018098CF5E8CEB1C78 +C479180E059C974AD599597E5FA7397D57E8FA1132C1A407A2A8203622BBC58B +67A16D7FFF76925CA981F28CC2FD62CFED23022E477EBF802710236E399C8987 +DF12D91748E8FC611A5CA3BCB87D0101C8ED4547C1D0D5511EE969621AF9A38B +4D93FBBDD026FEA0E45E2481FDB3133E5A5D0B5019F94175B1742B08439900EA +3498D5C657BBDB9001A374F51802E9A88615C029E90CA07670BA065F25385BEF +17B1090FC8812846A8CAF41EA20FBDF5E6FB062394B2B4C35C3ADC453E76A635 +529B8C0096DD684EDAFF10747BFF9B014E9835AD1965E23ABC49D87043C4686B +2224D5BF5827FA82EB110A38B50A0FC80A4B202925E86BDFEAC6CD2D80ED65FE +39C3691C7E67459289DF6605E1F0DECFC088756D95C8DADA164577F911BA1C13 +9D79F768032782C81CDBBD27D6B8BDDA7C69D096B7E185A31E78B844253E6810 +C08F89856931B515003E69EFCE2E15490A5BE224CFF01C8BC55783956CC6CE6D +40F76B41CA5CAB74FEE856B5B821AF4478B5699609A718214D89575C33431FCA +39BFE776C4CB97814478856B4139EC698D2A7160DAAEE360B5C0DC6A0C63F1F2 +18CA4F3626EB7D3F8A7C29ADFB78232B1E49FDD1B33F06A78777A540B11F2561 +4ECEB5BCE6F6875A02FDD534F6EA213C32C431358C4F7737132C74E01F68BE1D +2656F05E9F6E82BAEB93EDDD415EB9E7834118DFF4AA866AA9547A70AC05D4A8 +0ADC8A169299C2F96E3E100CF0ED84DE7EDB353FBCEAAA502C9553E6100F951F +C88E7574C7F840CCFC86D729A088D696F6957EC09541144498066EC0AF61E850 +04CD27E20A9D4DE18107E6BBE539CCE1462F7E38BAEDCB7794ED0B183EDA9E14 +4CA1BD9A6FA2404C89E51B74071AB9D3AB38F55385B529FCF5788655CE241AC9 +25CB7F839DD6F137A52600653CA7CCEC013CE24EDDEEC35565E70D906D4E4807 +49B887B3AB7C685FF9DFA9C30DEA0A2EB318227FDA75B8074833E22F565CED5F +CD80D6A77A6034CB8EE71D516F3E533D37974856BB845EF7213C1D22AB8C5F24 +40C46CEB297C23215167F490DB0DF6A8E7EE3FFCC2A226693B90B1CE452DCDAB +856D07632C74F747261C697EC0E867AA1B384C2D53F6E50DD56D9DBB016D5764 +FC1079EA550660E6FC2DFB5D50CD880DB29016A8687054748281795555D4D3CB +BC94E34D7C79F479EDB1E255072894138BDA6754F9DE32355EBD37F06C532381 +B617EF2F6CE281307F637B5B7D7F077E8229924D64D124B8A8099B1A649E8DA4 +E80714EBDD2DBB3E494497FC685C4B6D878F9DA9E2D2FBCFE074F1F86D051786 +BD67441782E0D66B4D8E1A1881365F296D6B6A5503AF15543E5163C915879DF1 +FB9E7B3CEE79B58A4880C9B833229A349426949C7CBA9ADAA8DCDB5BEBB890A5 +6F0EE0752B952BC1CABEC719F446DE50BDF0C412484B651569F14859FC85EAD0 +B384D48C5A954961D681C3811FF60E9B1794A9F47062E0E642A804B4084B179D +51003CD6437D36A6953C7EFD467F4BEAEAAEA58EA5A7A9654A25EAA8342ADF63 +103E8F299A0D4664915D2CA2D48D7A88B164253C0D8E98A48993E22AD12D75DC +BDD2B2E1E78FC2DAE3E3EABD288DEE57DCF3716B4A2DBD37DC1891A3BA01A461 +10DCF481BE99DC83B5B47D3DD7BF6BBF258A3D8FC5388055E1CD56C6E5AC79E5 +EBE7984EB9DB1909D5C34E95222830562930F74AA6786F0481BA008DC4EA42DF +0D13C4619EA0F93742811DBBE95BCA015DCFBDB7981016ACD416CD3C45DAE294 +69F79BB544FE501DB6DC4D8DD367CEF6D9E0A40929B70199C3A400AE41F9ABAA +2DD3FBE3B93B4F981E94D7A6CC98D5D9E5B67C9065E61E053B77A2B0E5B30852 +80F99595AF845CC75E191DE569E423BF1F626FD5B3DC1BF1B8C422521A67DA00 +6F32B14BCE633196C65806A467006EB370AD738DB648B94843A74A97F11A0CFC +F4D6F86A8CC0A6C60F880C4896D5CB567BCBBD7A96B2D2C035852B4235BEEAAD +D48D339EE71521AB47AFE4F4BD6F4307DBBB5B8A0DB0EA0084F245BB28992D59 +B66FFCDA9E2154BA0F687E6003013983B27B60D133AFD42C3D59E502DF8FF093 +A46E1C63B69BF99C8690A40EF8F51D96BD10B0647DB93E2979127B41B941D09F +D58A83F5132A3D12E6C149BC0956C1AC04FCFDBCA72620A23FBF0CD7B899AA2E +19F32DC7AD9DA25296EBAE3DECC27B13BF32EF99C7F927F5F817837739566907 +B273921870A735BE9E88EAC83196526F620614AE8AF32C504DD5B72776A9129C +4880 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY6 +%!PS-AdobeFont-1.0: CMSY6 003.002 +%%Title: CMSY6 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY6. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY6 known{/CMSY6 findfont dup/UniqueID known{dup +/UniqueID get 5096647 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY6 def +/FontBBox {-4 -948 1329 786 }readonly def +/UniqueID 5096647 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY6.) readonly def +/FullName (CMSY6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 3 /asteriskmath put +dup 14 /openbullet put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D6AE353EAB9DBA0D +4335868937E3A2D0F9C8A4FBEAE138AE56EF84665582DDEF7B546714518D224A +F91D19409EC600924626D79F58E272E3657E631C06412F9D42732B6AE0A93D81 +E2B13A81C76CC37FCA6DB35A1C6A572EFFEC7E1581C57B1D22EAE9C407771F40 +71D002A06A6AC249FCB7605C902A76EB298B05E39D543A63332A91B8A1ACE05B +F902540FEC1024680B8D5857E4931D00781747C87ADCC45430B5462EA480BE50 +D07C5C9EA0D8D6447324434CF0D637BB13037B6E1C48F191C52CF2B9511690B5 +405280D5C825BD376EF12429837CD44BEA223DC8E199D8F85856C0FD551471CA +B30481FAE99B71FAA56B639F549F449F2CA6F5450AADEAD4C09595A7A8530D12 +B23E012978225E112D23BD1D48DB097994A9D5EC707216D2BF5DF8B69E66ADBF +DBDA4737737F51EB7A38A4207BB46456A8117067748659D654B1D14849F14920 +E57462ECFF602A181700A346C1E95131C6F1C66132915FFD999FD4105AFFE7D6 +7DA46DFCC4FE53265B14D7326F5A44A3E97902CCB106AE99ED6434AA9EEE7E6F +60B8034EF80DF885FC63DFACB0AD1C00BE56F79B1AD41B065C59A35073B450F3 +7E6BC7B90C9D9337F9636943ED701398E6886947E126F1E12D74C5E4B5CF06EA +E60F9B121B9B15E6752B127CCB9C26017A84BE6DD918AFE46DBF27BC06E66AD9 +830BF2D6CA9E24A0199DD3E732405F3210C97C9BD21545B5E4DC10E17C1A2C71 +851ED2B272055831A6F95864137C218E555B054BE3616820FE671E5BC08E7A48 +D683ACDB91E05F469C0C8919D71027E179F4911E878F8D13F999C63C4EC2C21D +ADE1A11979B539C4C5746AA157A4EB4A7A153BC5D966197A7FF6A2DA3FDB161A +EF43C2D906C617868617E72163D5B0BC29C36A60867C120A02E08264231FD46C +1D3B62622A05129188D818E2AE83FB2770DF1D466CA38A49D15F9056BB7AB8BF +D7DEB2E3B3A8157B59D138787B21CE3B3A456E230CFEC1374AC66B7DBBE788FD +5182DA23264093CEF60D5BB0073AEDB68A61ECF1C69669244A1FA0CBA44DB83F +352AEE6012082B8A3FD62F4497B1BE0E4FF77FF94BF221212D63BC1E35B9758F +2D7F8FA002751DC0380AB954331E9AABA6C122F8F3D7E69CE8A6B359184F0531 +6B158ACF34C64C32F4671D430820B36C9A9397E9C877D734B17C3BBD8A88CE2B +9F96D7AC5B8D55415E942D6C05392D03DAE53449F8FBE2225C91F228704BE9A1 +ECC568FB2E90C73F2F7AFA62859C35F0FB26756DE719BEA5A3EB81A6481507F1 +813CD1680EBFCF612FD9D3AA4B90688521446FABD5C54CAFE7B879F24B54449D +2B30738B137B5E212B34BC5384BC2216A5D13F761D6E13A043DB2AABC0276705 +5C80CA394A8179D60DCA4651CE8B0A477165FF48A31BEC6B7C0852C9D72E11BE +FEC5E4B984DFDE90218C105999E070FC83F1716D13389B5EEAE3F26C82FE9A7D +3C67A98027D15DAD791348A21DD922C71145D287C7EA83B225377744BBB0082C +22FD44E1B0DF60956DB9C4790F4E2F81C477DD4CA9F4BBB4287914EBBB4F6E36 +976C9E573496A2311E5C7677FBC4BB755B8BF925F291DE0442FBB8921402A487 +ECF23EC556C3FD66158727B10B74C778FA91EC16629F6E949624D265FA6FDF1F +772E965A2C30C80AEEDC4A1867AE3D6D116BCE0F96D1A0C5138F294CC7C2AD72 +8BE152B314E26422FA2DDDFA89A054CEFC6607D932FACB035FC9FD9959C4A468 +CAC0F4DD41DFB83297EFFE36C352CA0A6B1485BF8433522BBBCCF9C73FB7334D +1CFC92348F91C4D0EAD90B22BAC6B27D21CDF5AE65C056BDE3B30424F76C8EFE +D7CDBC854B13EAEE0485CC348AC52F5345B7545B4FFC60B6E7CEF8D32354B233 +8DF503A03F5201EC012AA67157F4A47B902D269A060A5B8E10A37CA7CAAFD417 +1A13EED9533BD4A6E8845D7D236CB254D40930C273EA4372E0B13912B2CE9261 +275D51D202D461FD69AE352E95F72D61683267D4951BB602A0BACEAFF9516F3A +C30EFFF3ACC08AD374A730287B148FE8E168089D239E1084E0F7D83CB9815031 +5428874FA4640E1C216514AA16C74BD2B9A95EFD7B6B0C575A5D5B3AD1086CE7 +E8EEE33490CDCF2E3FBAEDC984FE53D033987580E75E74E455E44496E186349A +DE4B5125F69BF79936565986B3D91E6A25CE6E1C4527FE22580A39805A91BF6B +90EFC8AD31FBA71FCC90EA04875B5A7ED05BA2FFD1C04774E1ECE84B4105ABBA +798C339FB61ABF75C6FD3F24BC775A7FDBDD87BACCB9A86B4D928917CA62C0B8 +56343CAE0051A1172E7F234001A5FAA947CAF382FBF23E57F1144425713423E4 +4FC1AE1D096D10D6FECAA6A9186B0D519F51D06CC976A65A37E9219492E6218A +FE9F99700C0D0D18BC48632268DA0F0CC24BE660E30645E7F63B0AD49CCA26EA +CEDE4DED685DBD38F5C4BB6AD6CDFEBED1B14A456C27C448C91CBF6337FB3632 +7B9A565874F9849FC5E22C5A0437AF29E2B7FA405CF6B7AFEF66AE7449E89746 +66ED2D4C15A36C45C0F64E6F185B808FC788984C230B4BA63204B38C309F2DE2 +2937A92C184077F5252C9D6171EC6378273C32B61CF65E4DC124B321A4049294 +BB6CDD064D4E07605DA5FFB7B3B0A55A09D26C8624F03D8C197885BFF0A20B77 +257637447F628A4A642F6F92019F9ECA5B2DBCEDA63C05E5258C9DF131EDD1B2 +B4B04E7A5441035163BC2769B79C89ECFDF071E3517C59A45C9E97800724E1F5 +FDF504E2798FA9074A37B210B1C24DCC0B78263E2297ECA31D5C258BDD92D2DD +8C53DD3B3BC3835E5AF52311EF0AACD6DCD159C45743B1AE7EE5A0111DCC9193 +441FB81F945D219DFF26BF50D80606DD3392CE941242CBAEA45077FBE6AD78E3 +0DF4FA54CC33CAC27A337FF307F14E60D1FA48FB8368E307441D6811676CFD38 +094A558CBF0B92503014BB169E345C27C74543CDA9E8134F85AA0DCE45EAF612 +1AB1D86FFB5E13CBDE8E0F68B19E30D0D9F5F0A3EF2A84AEE4D7F1F63A045297 +3F5C3080F313B32066E0C209C2708636C33A6531F1A483F3AFDFEA62305EF41E +C55594660133146B24184070B87C22EE5B80D66C409076D733245FD100E936D4 +E844D8A15CF45C0CD6AB04F3B5FCB0BC7B1517BAF21CED4D6CCC3F19D21BABC5 +FFA9768D77A41BC3F5C4595D868F2FCA88D6E41558FA5A70FB562E4EB22651A3 +886F0ED1B46BFFF297A28ED67BAA28A1302BC866AA7A73418BADE0870872CE0A +305A5E46BE0CF6B5794539B8509F1E2DB4E40124D72201589BC4B55ABA2F5C40 +E167175C7F7378203C949B8967E8CCC40F44A2D1D555A4273733874265542C0A +3C47FF7144C4DB276320150FD5CF453A505BD3BC1E98738A1CBE175574037D47 +8EF9F80622F57DF4DAB8FB13004ED1DBBFB4664F8D7ADCCBD529B22235740EB1 +216799B2D8CEC7CC4D16D8273B6AEEA427D480AA6E3C463F46763864856713DB +05307CE674714CAC8351410627B8D1087155F3788E744158F3428A767CDC9769 +CFBE28A30D635D7C4FC44E43E7F13128A867389FD66CFAE939AE2745055BE71A +AA7A7817E24D38773771C77328F4A755C872AA977C062A3BF7EBCD6DEBC7746E +70346293A661684D3988A5D0B29860E6789FA8911E0C0749ADCB9A6B053B0E31 +3D490B9A2982CFC167001648FDF96D040BEFDB75A4EB90E2974927BF38F10E78 +17FFB9DF2A65CF56C1F63544662CEA0E88A5141F990DF6B5DA79CEB5B4744083 +C4697EB37422BF120332AB934D292CE8A3624E2C8FE6862C2211254558459BAB +D8F1D8C76C604098701163703FAED0BB298396C86A0427106C007A7CDBB0AC8E +35F39B240F8D9D43C1BCECAB622C02E721A323383973B61DB81115E3552E4260 +9F252F18E01C1EA2B0A1DED4BA50A5822D10AC7ABD664C460A4022BA910804E2 +2094A3AE0F2AE375FB22CBD35CE9C2542C240A79BC6A79F1135E58985837E1CC +1E5D6666BC5D61FE6EF590316F9D1E80C42B9A7B6106D8B7F575447AACBB2660 +2C96D7F024FFE3292611E82CFE62D95646B92CEF6F03EEFCB3F6950A22B0997E +52C38B55B77C2EE7A4D047F27ADEC6BF0BC639589FD0D1E0A47C948AB5BADA43 +9846CBB5B1CE53E96622B59133303AA0F559A481E50382A2A38C98C1A56D9AD1 +1668FDDBB1FE8068DCE68E5DA13C2D9918D1FEC7F69A6DDD3A29E31A57B7BDDA +EAC616202162DCC7B9DC52AF821A9C1D2D7F860A2F294904A55499432C7098CA +BF79B1B0A1527B99A4C57673AF54297BA822AF200FFBDEC475158AD6ECB55F87 +555012ACFBDD0EA527CB5793CA7CACE2FD956F30D7A8AC7F6A98979BE4BD744F +BB84A87668E3DE62A814B92D3139981200D5ADA86C5D733CF5107DF6CB5C999F +F6F63ABEBC9694F0F67EC632BA8C58E715D92FD6BDD056F29753BCC3E54B0A7E +63EC33F7A29740EF0D8351B5897B126FB6C33E9A33CC83DAB91691690B8B9598 +FD3F397FAD45555CF5FB9CD80879A0CAC1CD8E8D536F05134B21FA4065452DE4 +BC8F63C82A3C34A01D00F4BB254F2AD7F6171EFFF6D7BE1213C9456AB383C568 +BEC17694C545B98E8AD734D0522FEC92EB3182DDDAC54740AD352E7645D08B4D +CB4DA9B381D36C920C77869619855B4CF730E590B0405CD25884D6DB4D49F1E3 +D79EC4D0489514359CABED492BD751104091A661A510F268EC681F818780F304 +D960A15E583F354DD574767B860C57CC9CCA991E710576C626EA909C6677057A +C409AEE846B4D5C0535F849F33470FA395CCF5C05CBB9A1FB62CF656F7A2AA42 +34730F786153A9856C337112F6A555A70EFA76404E2B88DA2DB91E8A2BC5A05C +CC339DCA364A87738B60497CB790EF16875CBC506695DC7D70C6ACCDB2A00555 +3877A013482D55281C83BB630CB3EFB0657E5490176CF23420B97265B22B4CFE +1DF9E0B294F064F5160540EF3A452641C82E347A96514E4063A7FF16832736A8 +6F21F6881E269CA09FB66DF37CAE7FF46D6B9AE42B6396EBF9A7A06453A81EBD +808B047421B0F88F62B3FF217542FBDA872D03A476FBC7C0D658C03AF70ABB40 +03F1A3027E0FE186A22AD461835877ECF843C0E8B8340306092FBC5E91783A48 +E010EBD29F114BC273BDC53D2C94275F8956A74561813AA6C2D896CB3F6E13E3 +30F6C230C00917A40EC6F4689B65BEE32F5722BB1D1147585AB3B3D2D5EB8273 +CBE30D1C6CA1BCC4BEA9B87A014E7ED3CE53D13ACC8D426267CD3BFB8497E1DC +C51CEB14F9CFB4D4BC9D6EA5A49DC3871DE59C89F855F079299F45D363F78634 +493829329E3F370D117DEAA18E7A6989C515667C2229779B9A5494DF0B4109E7 +71D79D379FA7B408A4675FA3DE17ED0ED632F9A443527CDA8E960411AD4070EE +173ABBFAF9101BE92BE59707F98419503A85AC58B949E8595D66D7B13B8FD4EF +11B28FCB5955C5F147BD7FA141AE0CA2ABCB1CAF82FE22D3281852205087CF45 +549F4D5B47F52AF50E8F6FA0AEC0F95FD0B1EBDCF965BC8A924CE0F4598AC546 +C15CEE4EDE7E6DD0E5FEC3A531B944CEA406DBEE21C4CF3384A79D0D5CD51BD8 +AA5B8B1FC987AEB57E86D3C6FDFADF998A6D6043449FA5B88BB2DCBF2945A513 +AD7ECD01B39BE46A577437E1774C3FEA176287C51ACCA15909E987B5AC2CA664 +709AA5605EA89A8DCE6B4014CFA781E822E8B05F377BD0187D5EAA0585A98E2D +6726C471578295D824D1FBFE89F04A67F1A360D799CDF92C1218F29C24DE22CB +C6B625D044404C22C89C433715BD77D0BF171030BA84E292B7A81E2FD99D4E67 +BA702C2EFA11D4461D833E74E97C9E295C6D170DB6BD73D615D03E678B0296C0 +F8BF99321767684127625942B4C3241BD0608460C81D97FA658BC179917B5065 +74A4D1F729CEB1D51C82F9C90F0C712917AC482D413ED7CAAFD545508652DACC +1A03842E354F734C5FCEC8C7BEA4C69B066DBC83BFAA473D0A632DA2CEDF20B7 +6C7C83B4AE2AF7E05AA2C081BB6870AE38848F3870DD62C7D56EF1CCDD4BA3B0 +32C61ABE629BBC464BBAB06AA0202772C16D82427ABAB4830ACEA267B0109A81 +BA5D832731D1E9C9F0552BEF7A9B7AAA73760C6A09B910009BA9D93F1A56298B +A43A32D43CAA3988643DE373FF47C176CE92D7931601F0034E6CC303876498AC +026BB32D2F656A3541815697CBA2B6D527B69816161B2E13171E073D7CD85435 +3D32708391F63D592B71D98805CD19978C2BAF780CB124372EEA0A3DAB537683 +DC74F9E9EF98843F170FB086AEFD526CB81A7CC88046C52E1E56EB40F6F5C75A +FE9D5ADE49E82078858072F68BCD02487EBAF4E3F7F309628C1FDCD4B01F7D00 +E1AE0A7CD3455953FFC77EEDCC5B5ECB1FA583064EC17132A3C12C0153C4B87D +AA57FF73AD33C22C81C545F0593DC7EF438FF7A5F76A04E52848E00CF2C8CB06 +F295B1CD3BDB1D9E4EDD765D3753EA8DB76DAACAD75CEAC866FC4CA41501200F +F12998E8DA573786AA9A7232287A6D19A12536026BA4423EF0B6D81D38BDCD9D +2BEF15BCF32824F8EE802B461F52BD926A5BEB2E6CB31AF83E98E849D4339FFF +95419941B12D2F3B76CCD34D6B78B91BDFA5DB4D4879501DF3E514A5EA8F1713 +E96330C5B4F1B7BA42D42F05E229FC303AE00E954A81F9BD43016F5930A0C490 +6C753157E4355F6ED3C5D1963779EB27402522B5E9D459206B3A06E594DF198B +785F96B96E13045594EB42EF4A8BFE0DFCB4C5A2DA9594431FBE72A5AE18991A +36FEB5FD9E8B238B3A095939B6ECAF5644BCE7DFFD8EA3E723F66B305F142B71 +B26F34E0538E4B58C4B5984883C6B08F3D1F596B56578FFB0EDFFE3F95E3B6AB +63CEFA183A5A49F07F0F7559994F56D7305139D06AC8DF9466E715D90AECB1E2 +C35E3CD3F387579B3C9CA6F5BD741A7A5D7B63FC0130AF374124DC8C6AFA4FAC +E40BD5923FE889E87126FB22C1AC4FFBD351F884D70803BBE1BD0D40D3CDA0DA +F6984C373D3174358BC41C8DD4A215283ECCBC24F345FE65E316F24940198A6C +3B5483129706AEB60D6C0CCE0DF9C130593475C72A92662A323EA5B689E5AD0F +C949536875C37AA2517281A36A1C1D5650AC96E0CC00C03266E279B54232A1E6 +E6697196A4270E1DC794D8DBDF0690372AE19121B85FFD357E965228C66BBE6B +D2E55533F7A1BF30B2EABBAC98CE35C619556CF9F0A522E8EFE4BE3EC61FDFE4 +E364608963C928AA8B302B1636DE15C83711C8FA060C5BBB1BCB8E02215A4F4D +560DBC4A235F6F07EFD20ABAFEDE0795AA3932556D6AE3F6EB8FD0C1C509FAA2 +55CCC2703661C9F48233B429F020E01C1F3B8090D331C3B925DD5D1CF9D19F95 +6B192C593225B5186109D3E6636E87BA6F24EFEACD1F06A29DB1D1F4DE0D0253 +87641AA4A1113755D0DDA6EE4234CD9AF550DF63A46FC6F698E623BBF6F05278 +858904B415033C1A33B7770D99247815E2A8F1216EB42EF9742EEB4E1D90EC3E +F2C0661DFDD996CE1FD66F946B9D4FFADF86861CF8EDCD570CB400D181697747 +83F38B92B1803874C24AF99C66E5F966B0E72B725FFBC6172341596D8AE51C3C +4676A65E4D32F499FB1ED170554DA7AFD79DE5953988516A8B2B123FA207BC49 +D80645DFB16A79549BD5E41606D80424DBFD6F5BA1DF0EC271C596EBB4FD0E3E +3A69D8A74BC3AEA0F49A0201AFB2BEFF5427C034CF01285A3881CA1AD2F38DCF +5620106C43E65C93925D9ACC4943C27621FDBA80952598CA8E2B35D2D8A39676 +8284C16D18E2A8D7197B0F7D20CD41D4A057E2FC9541C8344D35776824976B79 +0F553FB24087CD6504E6961B63F20BD8E3CF7729009495AF32699904D4229F79 +7E793B4957485E52C2815090CA3B1221A12F749E5C41949EFC192B0A503A8D8A +D8DDD7FDBF80711A37764D2B367FF14E72129ACE0590E1B613AAB89F20B39091 +1CF3E0CF8648D24473A7B6BFE9313BF8FB4E5B724D54AE7F8F34E0A1E814732B +48245056238427286B638F95A285BE2D0678B07700CE15EF4F63CFCDD0E9DEB5 +750A19D4788E38DDF6BB044A8A04B44DB4E8A2C898B23D69A6005CAFFC7A800A +2A40A9D08C748CF78E9EFFEFE217296DBF2193FBDAEE7C76DFE5B0CA7F345A81 +25AE5509C75A46EC442D2E487C9425C51E91F2E78DE2EFB03ECEC5ED1A977ACD +CAD5ADBAF79C8E66A6F2824A24DC60F165CFDF9289592E62C6CA7A1183FC81D6 +D6ED88513894388FB80BED7078E85ECDA23987DF4C6F93DE8508027D7442D755 +28D36C5D36C19A899F7ADFC2557425963BA6CAAADCA02A765298FFDA932A92E4 +045594D7756B435899AF62F3AAD1381CFBA7E00F761BEB826FBD88770EFE218B +610AB285D8D4A762DB7D4D7914A097BE4758F64905A712FB3F91F2179B061B64 +315E28B0813848F5504D6F769C32E429A28065C50B3829E1CBF04D4DEF232A83 +61EB67484568E89E4DC52DAE8A7E8BDF0EE74609538953E66DBB747A569A854B +38E2AFD608B07E046EE0B195749FFE5376BDE85AEEC546D3323C184A97BA795D +7E09280B00AD6E2ED516497452BBA0A3D521DB4AE34844F419EDCE33BF2D8AE0 +A78F5DDDA57CD8599606C1C9246C02292411E193E473C9210572E1E9435D8935 +68C27CCFCE354C4351AFB1AA914223648ABBBCC5FC25597DA42678FE86A1042B +A185CAD8FA585EE9A4307C1F1E89C256891FC32E2D8698D11331A442289B7FD1 +A3F3CDD07B6B692854A54EBBA653DBBD549BFC6066CCDBEF2E73F929CACD0586 +F204C5E3247F083A97F3027F605544D2310CF470380D6D7A93F31BA4874DAB78 +0912F6F914446A6D690E9CE6190F6E97FC7E404BF5 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMIB9 +%!PS-AdobeFont-1.0: CMMIB9 003.002 +%%Title: CMMIB9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMIB9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMIB9 known{/CMMIB9 findfont dup/UniqueID known{dup +/UniqueID get 5087391 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMIB9 def +/FontBBox {-14 -250 1241 750 }readonly def +/UniqueID 5087391 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMIB9.) readonly def +/FullName (CMMIB9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 20 /kappa put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943569C4269CDFD511D5DDD361 +94FC9E8CC2887AB134CFE87537D3027DB3B5FFDA71204D62927AF2C6B5C4E82D +65B704633EE8957031F4CDBF204625C620F9C76342ED799801E2451073910A55 +6CE0AB358359FF431DCC9C3FBBC32CB18B4E39B14E00562C4537CAA6DA7D7025 +CEE0D68787276B6118AAA9A172ECCBE30461DFBE4A886F621ADCEB94802A7F06 +3125090678446DECD394CED29587DBFF3CA56367E342A86C9646967D246678B9 +5659601FA2A1942B448742A56FBD41585593A9B02D04B4502C2B85DC3175DB68 +1E9FCD4A9D63EC259327FAAD76735D2E6ECB033B1E1E7D69712A6C6F8BBC0554 +56FD811FE6201B9A2CFCB77A965809B6FD27917F425881E060638F995E08EDA2 +1B39579EDD2CAC36D432B6DB103EB9433C556A88D466905CD3EB69CB61DB9EB8 +B4D7F2FBB7E0A65B88E7B4127E93EDE9840E3CCC6BE3A35B96279AFAC4791143 +8ECFB46273E898C063DA69569512F4FD75B6EB7E0001C91FD71CBD5FF5C720B3 +18D306BF23EB5F703918FE52921F35331B2D5644E58C8D174984A25604EBA202 +4F2AC61B3BE32CA5CE745149B2AB32FF733DFC8835F3E1C22FE235C1707955BF +630EDC37B0965AD78EF666E7FF9D7FEF2812F9719F89A68B75E79ED32515065D +03C153D0296C6E85AB507355B659DFE1ACD36038C9D1212DECB6F43E4CD33C23 +18D1E4A174D77364265003472A08BD58ABA4438F0AD37B2834182757126A4005 +A48CE98D2ADC677CA969199EE72FA1DD94006511F562B53769CE77806442193D +7E2ED07FA3DA893C416D4F70F94DAB635E15F1A97223361D3968C89DFC9296A1 +F93E6460E43504659785289C372CC5D5EF207C0D54FA55F1FAAA1898AEC04A44 +F9BC7F25BC4F57B5B4F3E713B1FB957CE1DEE7F8EFB1607E9B08AFBA322AAF49 +7FC7490BF377C4781DD6F4EF3F6240FCD3E8A7803C82D2C38957C5BBA085441A +080675CD638FD4D3FF2B249593F5E91D40B2451D953003E20C7F60DDBE2C488B +F2869A7BCB859BE97816CEE3460617D10EF8C79209D6F7A78EC428E9DDE8283E +1F935A6B4419957752466F72F7AF9EED4B23B91D8F960510F14FEED489FFA40E +9068DC4CBFFD86F62FB5FD96045EF6C06325D29734DB573E4B849DE40308D1F1 +857B317CF8B637AAB1E82BD599067B71D9E4F287ED6D47A7104F3EBBD1D27547 +4F7E5E5F8D8623F82B1F2B263885E22279AC269429CB26F836290926F0482972 +B6D5344F00A9B7B92C8FC30899A174120EECC2B944F8A90D504D3DA758054668 +30FEF1B4BAD191D902ABF4E4FAE7AB0021729FF6C8180FD1532E584934374FBB +72BD59C4AA2686F03ACE667D554E92C7D16551BEDEA14FEF817EEBD963735807 +2A85AE7C24A821881AC6544A2C7AD6D2B235523835F97D3FE9B8F9C5EF0E4E1D +E965D40199DC837148492A6476DF4E18FF31D8AAB945F5BD19E96012524B450D +E49F5DFCBB81C1B8F66E0EDF1531A2EC7E2E0A2D533737CC37C566316BC1A3F6 +C7FE2A2AF62CD3B1FACCEA530EB4F0E368EF73081FEF85C03F1681B4468BD72A +A8D16D48CF8983278705BC614C956230031F36ABB54E0DBE4C4F6285C0690066 +663973448A2E3C1F557C96A7C276FEA41C3130FB86B43A0AD9636499FB167ECF +D05032C4A5AF1BC02C87291C1BE54E7149AF65F472E8FE6652D39A50F9D55E35 +AC5CF74429E5BAEEE8B5FCB472B4A7D632E1A8939A41D283ADD44D61C883EAD1 +4F75E691E1426EEF95FB4E0E5567E3759F783AD3210D6715063FC426D8CFC813 +E92044ED4EBBDC4256DE04E6F1C7C184ECE4C3EC1AEE26BF75299A51F406E704 +4D535F8C56B201B8208B10CAB107CDEC338755B5022EF45126783A764DFB5EDA +9080FF5986EA2934986C35BA17885332B3CD885167E40B3758E9E5A10FB5BA96 +DA3EC88D3D3B073259050789FD6714132AB7E51883EACE2771ADD344A18751BC +33F145ED5D27490FF436CF2EC46C323A4117D0E6BC77C6381FBAF4C19159CC3D +CEC20ED012D4CDDDB75193CD2BAC70D1155D2BF12490E5F776C0C6DB75DCC493 +0BFDE41EE1F687B3ADAE45F40365082913A180A5051081463075423905ADE49B +5D2E74994A18516CD84724D3F8BC02B658E1B91D71A46657829F7185A1F90563 +1833D5E14594A0FEC76E59EAFB2559D936EBAAB0B4F3C1BD66507E12965D4269 +EF6E42C89A6F40A4BD122C70E4450ED800F30A608BAB8268FD1AAE90509BB224 +307B78904DADDA38B2B30B0E4881C65AFCC1637F33CC2AE66CE519089FAD1106 +D94FE3ADB8C269751069B5A3BA515261864860387B5D7E6DF29C51126C623EE7 +EC59545D681289C6E8ED4C5CC88ABDBE046A3B2C0C38756CCCC3C76348D0C2F2 +27630928DF5070E1983DC28B94DABA5E78D5F62FBAAED57ECC793E5CFF527EA7 +6579156E13DBF0C063B3470DAE93C7BA364BBD931BE3A0DB8E2A109F8BB605A5 +E704410A5AE27C72A42EC98B7E187DB25D48ABC838E83411C5A17A4A330E76A4 +1547B62810CD197CE4EE76D3D5DC84953BA62DDD947B35162E831BF9F223900F +CADC25EE324A3025863DC25DD1B82265780EE409D19620F735759E88DE49ABC1 +B43E3B4356865D6FA50C165FAF24E5ED80DA8EBBA381F4371970950FC6EA9DEF +32E462A17305F1C3EDD49E80B3CC7A3557190548220A2C2F3BFD0B6359ED94ED +D91C633BC41F7CE35D35CC4ADDD6FABAC34337EC39BAD517839D5E1201B1625A +A3D25E9BC7D5758AD292FD9DCC173B7ECC9A0353E826E49997BCCE66B6320520 +3EBE40B0C6B0A57731E986C68FFC680E7821C879D5BBDBCFC17992601ACC0F8E +2C6A1038E6861DA69F5F0D0AC6BFE48EDCDD5FA8C46B429BC726A4F34934EDE7 +0B15C59332627B6F2E23BCD580B6DC50DBAF7ED3CBB55BC54AD9A561D5FF1CCC +23DB1EE28DC491361F10CD21B91094918529D1887A486302AF6F3178016FAE81 +A19C1F9AF646C5CFAF90764290C91E8A594B57B4974E78A09C99691815DD2F11 +C6FB84668BEF4D3E7A28EF15663927966960E996F22D297EAF8FD746DD6E5FBE +478B5991E2B71A8574F75BA57282043E5520F264EEA816ED5ED7297814DAA1E8 +ADEB19FD3963A7538F8CDE47D9C18AB9545FC84950934ED73E951A800AAB02AC +D08AC2ED2C066BE7947F86D158497D50113C661603BC6E808A441C949AC599E9 +1C4CC100847CEA04E7A71BA50DAE75F8EE1D0AB92683DC9FBCD3AA47E42079AD +0C1E686106A07AC694C5908C174FF9178DBA86B8C803EFB64FD0DDA63A6F9EC2 +5F67B6D6339462F50E522F70526087C035C2C19F6BE208E8406925C793D38A13 +8AB3939520B0D6D2B4256F23AFC2401FA9F93BB8EBC18B16784277F77360039D +FB9C89CB77E1F7DCC34D027963E7588D0E111D12B57EF751FE697CD3CFEABBC7 +87B241306FC6D078C9F98E8FF17D8F2AD8ED814F65A4110D0B88A6B1D7D9E26D +89DC44F67CB1C9F70DC431605DFBE22CBD3B4BF49A1229A0D0B9DE9A8CE62C54 +B4FC4ECA3352C5229AC2C4F739CFDD22B324B36A7AD296AE97060D602BFE4197 +6C9B6735B14B00BEBDBDEA39DC8384D294AEAF034BDBE8EF4362F28EAB9ECCC4 +A60EE6EA5BF18F1D49D8B5DE274AA2BD017451A5FA27FD46B1AC596C9C702C5A +775A50ADEDDB9F7853C6401BFFC62FC4113823619AADC47B9A55448DE554D4E4 +ADACDE6143E6AFAAD26A5523533FC1E6B70A7C748762B9A5297E1D10789B7DAA +C988660180662782CC17B67D271CAC3BE37F06992060906B0A451FE40A9BC789 +EDB062C53EBB78D3955ADCBDCFFE7068C9FA381413F0B7DB7B1C0F4FB9049FD0 +F7EC44ED7FE85C1AD5969961B272705300F8C8ADEB620081B326246869FAF024 +D2E3CBD71E877783C56293A5F4255D7649B361FD75F213606A699CDF2D1D9A17 +87A89A66C8C2F637E2ACAF3104833AC034996F1CD7471CE70EE499D63EE41169 +F865C7476FB37A69E0C0FB5C1EEF0E8A4FA4414EF90886E3F7EB47073B20E9F2 +CF21AAD15C44CDDDAEE7F9AC45CE31742E522B90D4661B7B5E9C2BB37EF27510 +9ADD80804019D8E7FB065E7FCCDAFA3C1E2D99D87755368688B0F67E675F5CEF +667BB3C439022645D6A7367001E27756C138157C6D57EFB0A0B92E123181CB44 +8243168428EEECA22CE951ADF9BF4D0F9B7E84F70F79F734B062183D0E6A4F98 +D722D4C56E808825DE123505E818E08D9D98F6C0DED0845C819522D8DA26A5B4 +EA9B6F187448ECC6FD15E37A0D00564634A4002E51CDAFB401EC2EC43C095A12 +A79D7F06FC39FADBA7202C03248949682F8CE75C055A2AA2EB47C1509EE43659 +BA342864F4C955D0B565B46762CC8C139AA46C7759D8B3436E2B3C8D97E15A74 +E9C20190E2FFD74D37531E4E9962F138D0C1054C00B6BAB9B74A34BA639616AE +DC45ED9C58B5BE2D472062E8BEE86F54824A1405C42931794531B6E5039E11DA +C0AD9B76D62BC85B0D8AB297C4DB52856E47C8B9AA13B94E0DC137C9A84CC8D1 +005F8784F4B91447E8942A63A567A71508F750D748E2AD1BE48E12DB7E6D61B8 +D63E97AB768B61E713F88EBF5BEBDE3A675CF4FA371A4026A2963CAA746FDA33 +C9C30A252E7EFDDEF5840C9DA9B271296131AD2929A34E42D0F7B8A24D6299D4 +C9046A5E04E82D1ABFE3920097E6C0DF7965872B3100A76713CB5B7EBB0A440F +F796821018BAE9E4DEA3856436EDD53B7B03C7F55D833FB3EF1A22DF0620BE73 +A750895AC5FFFB1716296CF794740AB84E31AFCE0AD613DF78934F94F30A85DC +84E650D166A761189037609050929B70A420CCC0BEE4B179DCF75784043448F1 +A3EBFF991B2C8F5D4FC2C70FE5BF70267E5C9A9E6A89F26F842EBCCD3B91011E +8D2F293BCAB0B2217D72C1B77CF6A56CF6D209681EA8D0AB96FB9AFC21696FD1 +E114030E2C83CFC152930D35F4E726A62C138824DDEF1E35D05AD4BC4D191749 +09B30FD8FB0821B9C41286078CF164724A03A61EC83DC1AAFA1D9AB7AF5F1B9C +F13A931E0661A9DB662665A60669B224221FC5883F8490515824F68C71B37553 +9A07293973D9A03E116A211EDB5B47DCAA25D934CD3763E3F961FF298B78D4D1 +62DFE2FA77081EC2C06C9800D0D7DB365A17A1D6A3984D19E42D1CB5A0F83E7C +1B2F8502175918FD7E84DBC629305DB174EC2A6DF93489C15BBA4127632D9B05 +AD402806DB62ADE8AB9B22BEE3AE58BBB481BB98F48BBD8DE5706F13BEAF584F +75C0F5DC1A24727BF38AA7A873BD8869F318C69325063B13957CB81EB34E65AE +6ACA458B070E973AE092634DC6AEEAF63A5846EB6677E7FC5B991B9FBB064DC1 +F5EBC854817A4688BA261290343A59B22CEB542CD109654C18495E2E0CF0ABC9 +80B48C6E7806D5962DFE925358ED58A03CCF88493B43C345B8EF03EF65659E23 +CBC6E35A1CFF6E066A879F2A9FD3054661C7C2785219D47444E7468B125FB8C1 +3A98A76C2B58DF053EE137CFD560479439BA1C30048835E69A21EEC7D32CE4BD +DD211332BE66653A45C44647977111C55C92B751D428F882EDF359F1FD127633 +95FD8BCAECB15E50128D0BE6A929DA5772D1E142252F25E17C6A370CEC9BDCF4 +CAD618788DD08DF92A8A84A918B81C2982B676D738F5F57ED9320AE970667AE7 +7B0288AF6F59E016CA7D79096AE8CFACF6BA4B8F9EE3CE154B2544AAFA29779C +75DCAF9AB0829F65F680BC3D9F1E556FA35DCCA50CF5CBB819E5691FBEBAEDD6 +781B422A1DE085FEC4E09542C9D75DCB8A3D28E9E892812BA92DA10C2571E14C +A92DF064376917C88D47F5C264D7B043C6B4F3BFE10DEF3FFF334E47A73169A6 +38F14AC07753600F60C4CFF3E2DA6AD342D84578AF4FBDE153162A79E43DEFEC +B0FCE0A3BB289661969A1C230FF44981B1CC6C6A56D72ACD1F2B89DDFE7B93E9 +8BEB962812908CDC4026215BDE53195A40CA548BFBA2E407BFE0286BC1BD756C +F1988D66A5A347E5B657F85E6CA4F6B86018BA6EFE452891EFFC735019E04497 +EF865BB9C38C4D9A5AC8C11C41E3AC0AF4D8CBF1082DCCBDA42DB43785E00D41 +75CE529CFC67F6966AD4B7890920565476273C6DA5E2B8DC45641EEDBBDC17CC +E28D45F290EC7E0A77F3C1A05C30561501AAEEBD50829899F75CF5BE1F9D2A1B +67115059DD95AC18F8269B2F48B323830E6CCBF6B49E6B157CAC30223FFA4912 +1330E0B552588F15BE5D8312C37C56B2C3481CC388BC876FD732BC9D5DFA18D2 +34EB187E8AA319038CAA98FA1CA47E2B0CFF6ADDA58625C8B9BD740478284FBB +4A1E049EC38F2A91536F7D19E5609E904AE5308088704F2992F63B549C09C353 +DC8040C6FCB7BC6C38F3340F947BE8A1EBE5D6F94D9C7EAA95E5DA3B2E36A9FA +F7988E38FEE6B425700E07A6A123143675F9F96FD010428D501E6B2C04B1432C +6AFD16751ACCB0A0BBD959B876FB54D43A08976A27CD4E1356BCEC51FABF8C16 +81C64BA1D5267B027B74B233D8D0ED68CF40FE0D595D94D5D2FB992E1478927B +565A0C19948B08B064CCC57F0CC442E26CCDBCD526E39E51AD2521F517EC7C2D +FD962E734EB9BB3930DCF7AF02A7228E2FFAE0A1F7F97A1CC71E99FD5A73C8B5 +C69FDB6A1F1D17A1F3AD3E162C87656623EB36E8DA0F2E75EEDEED9C2720C095 +E990C9FA39E24F06C3840FE95EE3EDD31F78557946A556AA4DDA12250FE9A2B8 +A34BD9C3BE758FA951E23D833DE92552C5E8101B0A0B332EE955C3096A7312FE +00543B6B523BFE42A1AEE47F15DA0A391E1F8F66264A585BCC81FA04D80E87F4 +1C98A11B5FA5D3EC58B66304A2A82D9B706A73AE703097BF6A638552FA60591A +33D1911CD3B12C9F64CEE7668F02F1D485877265DEB290503C825A8E3BC47E07 +97D0036ED33CDFBF05BDC88A6A1B107E407E610C991C7CF7522779CDBB67722E +09774AE83E94730F7664D610DDE76CF9DEAB3B2F32CE97CEE2BC5BAEF02CF9AC +2B97D6F47D337CEDE3D821A77312A1BC4FA1E19B5C733DCAEEC52963850212AE +142E388D91520921484E64922E397F8A3B6538691B781D858DCEDC9A18E12EA5 +F547C99CE546ACC68DC81F1F78C6E3CBC23C4CDCCD5802D779CEA24FA4E40EFD +4A71C6246A2FEE4F2170F2FF6DB2C7727D60B668C6C7BFE74FFD47012A4EE949 +97DAE8CA57FC5F2ABC62EAA3CA63AA06566C8DB1C038EB936362F9C949290A15 +82D9AF9C5D3DB358515D199817ED8AF5FA427D649D91CADA988537F1C2043248 +CB820626BC38395E9C5A425551D0E64132B394640414FD6857E8119A90608EE0 +A01FDF85E8F99A9A90E1B3CA4963394AEA753FAEF54787298D30F5166BB161A8 +00FDE6F30A8826EA543357B02EAD08C60168BEB003942740C1D7B595FB6413C5 +84BE1C7DFF9D3F09C351570898CE4B5F8C4755F1503F0D73A0F44A0533374A6F +576A59CFBED5B23E374CF297FA0BCDE5303AE7D201637D6044ABD2E70D0BF2D5 +5B6E420969FA54E61FC3F733E0453546FA92EB17366DCB94796070ABC6B61C1D +E09D46221ACF6A7A76C459480B57B8B1583F74E1D0680715BB24F57CFA5CCB84 +8593AAB1151C300B3A623F13AB315347A11607EC857B4DE3BF339018ABFE4B14 +2ECD06D9BABFE9D5BF6A01FCEF250A85ADD1C81D68908B09C54CA02A8FA41DBF +BFB965C82A66AA2403E336CF151B90D2D0BC98529DED99E28E433243355C2B4E +8CB63FC6409E1FC08778E6C69570B8148890F25C781B0672B3F731C8DA353174 +C07E6F74E969FD9F6745358526E6669D6A9896741BF0921202771E35F82D13D1 +B80ABA06286039E75042D55B1CEED40729FD277C2E6D95022FED0230F149B524 +BE85BD087BFA09C968728AD2CF97FC16362E0F946195A6C270E7A73045671849 +93A895E9CD585DCDA7EA3891A011962301C4D3BB10E0F456DB74C52CBE8791E9 +FD43E64890F3F689B1C8BD3C68CD0E1FEBEB4872E786665A1EDD6220BAEF04F7 +95D403A8011ACB5EBD89716354FB00FDBF08026D9C83667C85FE88DAF9B38C08 +E17C629D120A3441086C29F08AC3FA56E25D7A4F130EDDF1DF569471FCD6364A +AE6FEF9BB5CF8B216AF57C84242002E7343E0B46B82A763A9082623D57E2AFDC +E24D9593781AA002A9CFB776AC46947716943557E050B9FEF09387DD8C40DCB8 +23B5D1C138E3322F687CC8E644986EBD62BEE6F957CABC7987D69F376A77423B +85B4211C632DA77530262D2E55EE81A4458CE92A5ABBF142AD54E12FC5 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTT9 +%!PS-AdobeFont-1.0: CMTT9 003.002 +%%Title: CMTT9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTT9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup +/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTT9 def +/FontBBox {-6 -233 542 698 }readonly def +/UniqueID 5000831 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTT9.) readonly def +/FullName (CMTT9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch true def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 50 /two put +dup 69 /E put +dup 78 /N put +dup 79 /O put +dup 99 /c put +dup 101 /e put +dup 103 /g put +dup 108 /l put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0 +42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259 +4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457 +689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521 +0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA +610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8 +3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735 +C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933 +995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE +EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723 +2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0 +4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC +B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014 +D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE +510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5 +BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF +93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC +F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385 +45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757 +4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47 +088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8 +9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A +09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988 +E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C +0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A +FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C +94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741 +03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF +409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71 +45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95 +39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971 +58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85 +84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A +0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F +F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD +B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD +D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B +3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B +7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D +8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737 +712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E +C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3 +E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA +A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC +2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467 +757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C +54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981 +DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9 +08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD +6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2 +A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5 +336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D +E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB +3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A +E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627 +1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903 +FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72 +A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6 +465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0 +3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32 +CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF +573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA +9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D +15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D +D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5 +15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1 +64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789 +D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C +D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8 +576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540 +ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135 +EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC +9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099 +3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A +1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD +FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598 +C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA +4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0 +CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7 +3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D +D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9 +BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6 +1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D +4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442 +C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D +80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C +AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6 +59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647 +3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6 +14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59 +B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34 +F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8 +54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588 +34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191 +825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439 +BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54 +4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F +66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E +2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF +F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A +1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416 +37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6 +741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1 +39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC +887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49 +B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD +15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526 +5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1 +80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839 +A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404 +BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048 +2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B +B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598 +F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B +9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483 +CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91 +DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62 +6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B +7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7 +D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B +9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9 +EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12 +0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2 +1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10 +85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0 +EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F +D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518 +E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0 +88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842 +E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8 +01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68 +54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A +97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78 +B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2 +D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9 +18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE +A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13 +1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62 +31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5 +408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF +1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E +29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33 +BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B +AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8 +0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D +99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE +480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC +D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481 +FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB +587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51 +A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C +C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C +AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D +AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4 +48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367 +385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56 +8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38 +4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C +839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C +320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63 +7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E +DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D +DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F +461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A +BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449 +1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A +3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500 +0ABE197ED3737A65F7BAE601C91DB3983EAE11DBCCBA7192898F91A912C5C0DA +C1257ACE67CBE6928F02D221DD8EA18E2928CBC0CDCC74250E026264EA6B19DB +5449D43DC9D1545A8DF4938B8F446F3F924AD3D83219C3A167F64173AA1D106C +D43DBB80B0100A9099638BA429F042255634DF0E134FBF59212F1F589806F5A9 +586A76CEEDCDBFE9250FC166EF726FC65FDA29EDFB3AD6DC2B388DDAF66FD4ED +E710B8E01C10FDC551ACB1AEE8B1A68DE6E3D2647E8BCBD9FE74114B520BB3A7 +E40316FF7A74B59798A8AB7E8D07D3EBAA9988D4A26FB7E1C09ED409A37537DE +FEC58AF2BD0F43B7F57C29EE7053D34AC69CD1CA62B2A6816864434BECF5E39A +E0AA03D3F856A17DD732F65370585EB76E2CE6100C362812916988B5EBE3EBA0 +C7901A362981D05A5AA40640038468C406E4D95578B4C5A9BA10884C31535448 +C20AD8227C9814C9F50119CE994EB691FA38948F3C1F7E395305CCBD1A74230C +180CC48CB472A72E18C165EAE667E61ED0F42BCF89D905FD4FFF6B4F0A7780A9 +33118C12E73E977202C8A1FD0F3353EE5811C0AE8AE4FC86394D1DB91B85539A +A945FA75523C604B17940908F1B99BC67453FBC453A3582885260114FD31AC45 +D1F3949C862E196D4613DEE7BE2B0C0CCADB597E64EC260418184C433DC8C496 +37B59554A5FC8431045BCEA44DF1710EB35EFBABFE03C5DE5384AEF8B6736750 +67775DC08D75CB5D82594144D6B3447CCB4DCDFA2D2610CDF471D42B09860218 +C2F13CE2C0D386DD28351FD6F87CFEE02E49CDE41496EAE822D4BEF361B262E5 +43CB58BE2E90BAB43349A7687B359A0E9210FA3FCC748F65E8B5195BBE9E0CBE +D83BA3D8EAEFB2CF121C623E6F127C055D760A6B613BF65D2585C20A61033B13 +591955B78C0CD5DECD78335E9C70F7E80AE5BC36521792F9FD2313ACDB469E33 +E8FC2C2C726B6431F156F83619E089BAEC61F3BFEF5ECED1FF50B5A8010F81A2 +804586F4C89396299D80A004BB35CA6454D3BE34CE98B8893106F35BC4CD9D1A +ADDC4921386C111E2CE7E6C35B598E8664FDF29F24EFD4FE34FFCFB18213CB70 +979780508C7114594C8805BC7ABB1AE8A216744CFA02126411BCF19F634152EF +3F9C4B3893DF4E251808181C74F9D7086242CB09B351B49BA16300FD73B14639 +88DC038B9197E7AC618DE8507639C2956C3257768460AD3112A04B580467956D +9BB7BD5A6FFF8594C2C1E265D42E26D12797E8F2FF63C9E27593815B8D8C1CD6 +9079FBF9117BE94320D8088F8E80B92579DC97F5BBCE4435ADBE470F32898B15 +C835EC1DDA2A980974E8EEDAF240ADE8A72B084F0E8CB0AAC6CC87B690D371E3 +9489F8C3288FBC0046ABE6DE2DDDFED19BA138F58A8DE9BC3DABF23D526D80DC +7AA4BD8E10456DC52D9952B11A5807EA727F053F3290CA196E4EA65365EECF8A +8757B984A7A276C01C494CCBDB1FA40BE909370F471CD9A327A3242CE64C2910 +0AB2A7D7FE362F28815B7D1CA1B96D5745C10D2C3BD5B939A33C1B3A56830961 +58E34C419106C331D53C65C5037AC43A661121064D44AC463263D13593FEDC7E +34EDB086495A93567853203F5B6EAAC1EE31DF4C84DC1CE4DD98DD1324A89494 +7DB3057ADA9113D53C1FA86C012B12DEA0DAE0C82F704AA8252C8591BD44EA4F +D7534BEB77A6D2883314883EDD882A7A6A0674EF185E9F80439D6441505A4EC3 +4B2C9FF851FA288D45045292B84F3F45F3A7DE4166F9430A7A660F1DACED2848 +B98622316BB43DDF4560DFC7BE55F63D5C243FE3A20E585C30E2AA9905DABBCE +281CECCEF9BA7CAC2F2BDA3A21EC17B4DA7EB5F7FBFC3F38C41805C3333B03F8 +E1E182F8BA524CA5AF7D1406F8023F874E27BAF2570AF75807B57C14ADB613DF +A9696C51560DBD861D130F98A946041A20DF43FDBBA9E52A3AAAA0BAA6E1F1DC +BCB682CC72381DB78CD0FFCEC81B9A8BEB45BC7495B71232715C7BF627E4552E +0B8786DC2BBF5EFC977BA8AA69ED5243739F5A34F8CD40A534C818AA8C392B9A +01524BB7EBAF4954C8F072E9C4ED7FAE2D9554330B08BD6F7BEC36E032DA3292 +BF3ECEB195111495E2BC4666365B358ADAB66D58F0B8DA034E31996945AC9F0D +ED9494A264FFF5E898239636925E3C66DA3D0D993CA1A415AFF1B0DD3006436D +F1051FD7B6AA5890C371CD5D8DE7D879C99DED7F4360754AFEC77739437A5250 +95F8D3A785ADCE3F13BF1C68D611CB8EB4E39557EC7FD8EA6B705720C112F1DC +2D3319A3DE9CB22A45F791D4DD61E10D547309F7044E885E3BA109E9EE1A2A3B +7926CC84D3A274D7D62E695C893D5F4B38DBE59539E91F9D0922CBE43C6D8A5C +6848756BA72942165F125B743D08AC17E98505A9F9385293059FADDAD176C0D2 +3F72B03F4F3F5EC43ECA5D0C391008C93D464B2E70F24FFF9BB7A06B7EC8D900 +BDAFC3C9E2F3F6340C5AB88F4E7AF54A585CEC69CDFBAC6FECE07D0878557E4B +D06BB8B48D6905779A86E6E6E0746224DC54A15DE14328EE8F5B05DB3502DB16 +0F1AE7BB2F1BEA0FDF266826ED9C722E6418D5E5557CF224D7FE08E1339D4115 +CAE350CF2DC4AB0CD5BB9DE1484590E7EFB123E23126FFE995AB5E2196E4E55A +3210CF1A2BB77CBFA6C52CF753D69529C7FCAE8B172A28C03AE85666C0CA3DBA +187690AA3E233ACF5987D4378AC06DE12FA4467FE85C36012616C9265158621D +5F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR6 +%!PS-AdobeFont-1.0: CMR6 003.002 +%%Title: CMR6 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR6. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR6 known{/CMR6 findfont dup/UniqueID known{dup +/UniqueID get 5000789 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR6 def +/FontBBox {-20 -250 1193 750 }readonly def +/UniqueID 5000789 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR6.) readonly def +/FullName (CMR6) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 65 /A put +dup 97 /a put +dup 98 /b put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE339BA29C1C6F656 +1DEF13780383DAE38A868377CC7D396B2A05F341AEE0F8BD0A0191F51AD11A4D +2E927B848A1EF2BA15CFBE57A51E3AF07598275195C9613041F71C1AF39E61F9 +EFD5F6512FBDA76E29DE6B508F62F5CF9F73F5288DF1C7B0B82C92D3B6358BAD +EC3CA20BDE55DAA7CC58004AA86B6CBF8C410D8287E88BF20588A39309C2B703 +CED322F030AA6069869064486CA651DA054FF3F5E56534CA358B0829A6B954D8 +9103436E6B06DAD1658BD4A95AB41343B01F5866FC87C4EDFC71F1477C98F8E1 +1DCF27EF743FF90BF918AB8C4E5AC35841E2F745480E5EDE1C1DEAFAD8D0018D +2C1F1CFCAD9F6609859DEDFD1648A6CD23D8ABB80747F94899F17C8F3E6CA55A +E176F19CDFDAA0D7C920B3A72051A4745560AC81978C92459EEE5AFE85AB247A +32981139CBE352B248F4BE5F73503A084A3E91F05328EE521D9669E44E202584 +5407E7846F9FEE3D54EA18FFB144BF2D6803BF65AE402034B3CDBB40DD24217A +3CE0E95E2717CACD603A958187C42B3558AA38D6B6390EEEDD396F96E6041FCF +6F8888221AFA87EAD79F46E0E32CAED91E6C8500879AB6E580C581E8C8CE9B68 +2BB5EFE2604E8DCB2432D39D75EE556969F1B2FBDF6A4BC72D106AA7CF22C268 +464027898B311613E06E1584707F262F71D9F49D2149306A88E02BC60BBD6BDB +EF41D90F19197BA9AEF32B5E63D5B9FF41B5602F9F786E76621DA54D574981AB +87A72081EA05D6C6BA940EFEBD0904EA4E77BBCE17E20B42E1722617E0F6EF32 +F1ACDE9D758594E9C81049CCC10605A27C2A06872FBA9F159CB155609B496ADA +4886F478E44029B5E620DE8319E257697E93E1CDFD27D560E2E4D34507020E2C +D9FF06BFA14E056D81DF701FAC3ACE4BE6C098AE116E079F0044391EC1661F6E +7A93B9320BD7F91E8FD2E8EB3F5CAE997D5CDD35107A1D35302260D1499B8B65 +39625B7925F97D917B66BAFEEA992873F07220714F192839948CEA080BDB9A03 +77B9DD032273DDB5629CB28B5D8797EDEFDBC601823E038384C90C79012A7D96 +8F27784DA15BACE21501C26E3AFA5DCCE81B52B0ABAF71A35D33103EA86F2415 +A39A830D559C5C6CA7423945BD3DFA942B20A06D7A8D8671F9831DBB52907AB4 +4E54776D29C6085CD9970B6DD21DD3EA8EB09C49CBEC6CDCEEB0BBB1B8827109 +3BDE64DDA024D67F098D6C1998506DDFF7907ABAADA1C39C759C850E0C6F8E89 +A392D1C9329ACFFA92D361218D75E115F70A47C53B73B356D703E9C499AAD098 +AA9C8119EE9E9708A9EA3049E976FA19AD04210D5F6092C7903FD155113F3A3F +269B746560F70970AC9F8D09956E0E84DACE4112C4E7C7F6B3F0B63D26EFF95E +2B2E9699D16BC8AFC4AD9113AA3A974C9E82E877288CF71E9169D2DCC61AAAA6 +C536E5604EF0716F6487292BBB677518504B52C63822BED3BD5FD14EB41EE6A8 +AD4B6CF90D39F98E12A765B645CBA3E8552FB9A986390212CE119E7C3DD675AC +17BD006144BEC534DA2A860188619F17589008409C5A309CB83FBA70F6446B6E +2B56991B6A03B1DE10C621591CEE45BECA27C54BC8B4F1754A9E8F660812710E +117850E1BB6FD89BB13F8CE391C43DA89EA67E9C3E7A4697790EA26B0E4E2E80 +DCA508873A7AFFC11B8C02EF86C2316E8D8B6BCEA37F81A3A87546705F070C3B +9D4D28C366CEBC1EE485B8E2357DBE46E86C87B9939DADA60888AA9F1B92FECC +CC1C198DDB594BB70A8FE690ECAC21A414BAC89BF019F34D2A130F485EAE35B7 +2A10C67EA3A48A4D9734759CC93AD85C6A570500AE5AC9973FC76EFA06BF5DDC +26E20E28D16B50957EE01AF2653F8D860817967AA5A9BF9BF7ABCDA710E9F34F +4F0EBCC32B3C9C2971F6225D2DAA6A451366B83F32B2ACB83E746D365B2DE38D +C1AB7447FE7B37F9630E410E5D8F0ECE74DF46C538947B3A167AD9F3E4A7EB3D +60F5425AE75AC3A27D39311DA35696C3DC7282AF1532E7AECE63D13DDA0296A2 +01487185FDF1875AEF55A36C17D6A8DD329279D229259463A2F05CB7A874374B +E2320E1F6CFECB9C1CE62FF468C29751ACD9754AF1EABE8E7696C2888914416E +235B6766F20FFBEFF285277B639A51EA2F2E30D207BC891B00F0436008F980E0 +9EEE7FB375BB069B9E0BA11DA951A99D8E60B4F920A0495C247FA7DE904765AB +DB5C3B2D634757E43EDD6FAA4DB3C67F82D6853E1170F0B2D8CE496DD4E72B0D +28277BEF172F1402959F64527F9B640619F04416DDB9D05FB2ACD019CB9C119E +E544D24EA6DAC5C69785394EA50E6EC9AAA9E14B904EAF29A733C6D7942B63F4 +85729686742F26DEF78DF0DA1CA7CEFBB684F4CAD99021A3B3D1FE03B9C5A4B1 +BD04CAC89BB91B11952A2B17A61789BEE0C54B46C03FE9A1AE73D17CF94BA30A +237C29D414C3BCE8E3E2DDF83C0BD59DCB66C4D2C3DE73DA8378F3C6C8035D28 +7464399857E57651A53E9C4AA68DFCA91B2376CF98AC5290FDB9BDAD9EF1604E +9B0A70EDDA1E564B6D2456E7BC722454ACA8C4950FDD44B6EB9AD01169A9F845 +B06A0DDB7897C847A5B1F42258AECF3807AE936C8F52C3A7A0A85D68160AE442 +FE81543DA6702D76AB6E8701F80DFC1D87C961E350D0E52AB2A298B9E5908600 +7E14D2A87309043CBF13F69AEAAB1BC239DEA88EB5176624F6046664B1D2691F +FBB2071D3706F97DCCA355A6DCC4D09FD35DC078FBAAF672FFDECEC61050A120 +10B5A96629041303FD01ACCC7686165DED6AA712FF8E5E85DE33C4E7D877C49C +6C469A90410BAF60BE65ECD91CDC2EE7AC0CA8BA7B53865F26092BFCAA0BCA77 +B80DC51DAD09C93C8DD8E43502B4B68F3D5918C3492196292447732BA90F5AB4 +9F5E1D634ADE1CCAAD028DE5EBA9535F6FC5908DBD2D643E0A7E059C8C386FDC +E72659C0033F535C0D7F6B98D0335552D0BF3C6E302B672A5EAADFCEF81912E3 +8F54E6FB7EC2B325125159713D0AC50DEE3673B9B148643727E94C80971A2E73 +5E1E13237BE69C84FC039DCE02ECE2668AFD047F21A61BB94A9F498C9FE5CDEA +B274B40728B6F6CA9B6C15BAAF92F465B0D7311B46545CBA90D874839443CCB9 +3110F052EB247B24B45A3D2FA6FBC7EB2A4BEC2A5892914B3C5EA3F4F9B9DCBF +6F932D95700E045B49E4B1F2C9D2A42CF39CA2F5A2654E6E8E6E92473D28AACD +5E35C6705EA728F704F5996D286BED433F976AB7E018621A577AED7C0AC0A84E +A032FE1869F603E6F20386E3A190A30A21EA886249ECF8CDDE2C33D73BA8647A +3DCA7A8DD9E8EC8D9A415D126BA38B6771C489DFC419303EE9C1B83FBFB3A0B8 +97D64F30E4BCBEC24DF603FF3BF541E00D5804B6B6543D3D2B661CC551D497A9 +9DFFF535AF424B2F3150BB39AAE8CDB306AAD37767BA10BADB031DC2FAB16955 +EE78342CCC0E8B5976BF98F215461A8C6F63EBE6E2F1A1104662DDE53388CB51 +8B44F3534853B8095F3B746A2459C2EF800FB1EF7F235EBAA9731E3AB3BE4369 +1D3636E3ADD5BDF0C34FA80E90D8A1DDE770943FD196E0A7C5F1FAF6970B34C6 +4673AACA6B2B5C12B9608521AE736C1F4B97209B063D991300ED5AF3D7F27E76 +68E0B858FD8BFF86581E2B9548C691E3E5D9EC4D39C9715CDE86C7D22223CCEB +8A38C776A30AF14912390A7546DBECECD7A687D4F08646E57A12C80DCA022B7A +33399761A50B8E0ABEFA1163EDEC3DFB5DA3248792EEEDD894872D4E6814B4C3 +548BAFCDE0CABBCDB97EC6D1BA47F2E77CC1389BF19D73661749AC33F46A618E +A665A85776545BF9662F2179D7BFD604FA8EF4700591AF3AEC647E27B24B76F3 +133F9198DC15C1AED830E737909E43EB91C334C44BA35810007A3888E33F5DA5 +B3B2C35481C648AFE630CC3E08F77744E401B2934E407D1EC17ECE737606B076 +F8DE8EF3344F57495EF49D11580D6FB28AE0B1422521B320843B13467501CAE2 +3DB93D7BB779F73B6AA30050DA74BDBC3F8DBB30F32EAFD07734A151BB2BAED5 +C9B1F790059339B64BB4146470F30928C9A49AE88906BD6FDB7431A4B50809CE +0F67ABA01CDCC2320B0B097187B9299E3D80CDD7BB5DD5BFA7B28D924C5633C5 +45A23CCEE097C41C3759C1FA8DBA0DD95034BCA89BD23FAC18C70093F40FF2F8 +0FAC5DD4835F2DFD40540E9A9E9FD951A8AF2CB766597DE00147B163BACFB7E6 +EFDA4DED594F1C746D8B46A1145E0E4058F5917B3F21E9BEBDE745EE72CDCA64 +FB31EF7A2E55265F32559480E2B6726D3DE26FFC97EB4E3160F117E890C4B2E5 +8DF310E6A728ABA85540F571C024F8DD58E1D7827FE97CED5EB31547EBC36415 +02B8C0E10B7E37D816F01D56A364B8552CBFAAA95BC4BDDCFDE91CE0EF005B4B +7AB56FFB47A093AEDF0DE1EA48FC8103CA3CA1470864D2693E360006D05668A8 +AA422CCCED20DCEEBEA5CE0DA1EFB00FB93E922B18124FA11A88D0F6E0F719DA +57603DD5DA42E1C56C2FD9E5415AA199D4F334C151C1157E75C107FBBFCEB706 +5F4EA47A29B54ED8CAEB8DDA2F53D2A703B95487619780A52DA1270011648A28 +AA64338E04AA5B92C1EDF3D8DA34FA6D227A0325EA6F22E9B38B6338C657BB21 +CD4C582DC04010330F62923F817E4EDC6E5C0E6500F2A975A8A95BAA30C4A134 +BB31B5AC45A2E7F6E9CDFC810D41344C4F606049445F8E93D74271C1E29DF7CB +5459593BA28AECF64D903D3E4D77CF5C04B06DE44A41EE4D9FC769854503AC85 +69E4A5106E84016DE3D59865D4AB30BD6C9E45C45DCB5408421CC50CD6179C85 +34E55CC70FBD8FEFE9F1D5160664981716E3BC7F24B6F54E0323D9BC4B692971 +24419EE62D8B0BA726E2B4294A9A76F328B8101DA29E78BD5C4AC383350FE196 +4D42DB1653637D19530124858950C22F1E9CF5BC07D46B7A58CDE19CC88DCD2E +7FE4EEFD8AA6047E919823C8CAB2EF5274F45E861E6508CC11A8AA90AED2403A +B2BF1315C2157B3B50A3685205D93E40906EEE9DE5985405974BCE0B84BB37DB +080A45C5237B269B93C0A7CF294A18B45464A41F604C494CBEF829A381155CFD +71CEEA54CC39EEDB6DF58A9896246B09F95DC6BC40BA6916AAB5ED3D24F66154 +3662F8978FC63DA9280FF7ADB09EA5BA79D3B66E0C88BEC1EDD78DA93839073A +A4D7B0E627000C4ABA76C47CCFEE92E319315333A5584A951E34C55412049C4A +A5569FE65A006F77B416E0530AB6A8E7AD6C72340AD4CE25937158FABB2153EA +281E1D840206F5DA38E00815E9081F81DAB9FAA8F4DAB305867AC84735DB4F52 +A36129929BD2084A8EA37BB6889695204BF7290B68D5E722540BF8A276F8BB6D +451D582EE59D2FF03F6B97DDE05FA00C3D375D2D0AAC8FE298F85CC067B15481 +48D70B6A0354C705715B891915FE8EA45244677B9FCE81E72D66177E309F3F83 +F744B9EA9E55C3B30DEC6E5E03B3988FD526A82A5E8E1DC79127FC62B2FA7949 +B3AD3148868DE22BD4B5708E32CEAAE6ADEED1F463EAB9692411E18F8D6BF391 +126B2700B4CF3B59D02E3F8795130C96285A63FCD1E0F647ACB1D35E9C58BD01 +1DD06BABA00CA4343BEBEDBE677E053E9732B33A7495DF51782A07DA07F5646C +770C957AD915CC70BA8E08BE7A1F4E6BA5BB9C603E38F6FB0A2578471C4D02F4 +283069856D926B9076EC73AA39CEB0A061AFF1575C7093FDAC9F89C3DC06EA45 +06F3C2A3BC9FF21128B10CB758DF0F099B459A5264A8C24C098110D2BA1A8532 +8FAE146A91BA7D033F591AB1A94B8A6FE0FFB610F698D216D58B4EF6C87B1524 +8037CBB7E23D8550A620341C6625A1A2ECE7CEE2598D66277F857231A36155E3 +984F147783E9B93975AC38A29F2FBCF704C8A04AD84C3E04A12D2321FA56811A +5B6744813CCC187968C5C26BB8D3E6615A912FA5369C01CCF8C0DB790593B190 +1A90CFB5339B8771F325C5FC448D36C7312B11A15A8635BAB59CF3CAD176131E +026F6E141B2619EF7F3048750CC9291397F141591EEC8B612D6656DD34DB54D6 +DBDD303CED74BE76664E7DC86FCFEEF2001C9DBA56418FB61F589566A47AF36E +C94671C5E8939AF9F4D53C0DE7142B7B63C86AAFA65877EBBB48C64589AFB2CB +1280AC099FC48058855CBDEB6C2D2A0D092267996591DC3B5EC8252984E9B27D +2E9EDE8CD8303F0905DBFCAE497DE1B755B924452CDE11CF4F20893DD6FF7251 +427F520FE00580DAF1703FD968E0F8ECCDE618E1EA5820EE6CFED97C78864EF6 +26FAFEEE194A268F24249D44829AA360D731C34DC285501E966A959180718F72 +6330E4CC060588A2F65AE64A720DCAA818D49D4440F5D0B6C1F6C3A107E12445 +F1BED2D3FCBB87A9597F01C7332AA79143564056219BF87D4B907A04F77621AD +054935E883B2B137D3D1C4BC792E8335CA08B6D83227F35736C41312A0BB077A +60FC6488C5E02FD51A10AC113D4EF70038C649C1677B2204A77F2ECBE9B3C341 +F4126BECBCA61E3F3801F9188A3775924A62D30FB096B440286FA655EBA00A74 +9A4162904BEA07CE68EE76018346DEEE20839C9A2FF71179B58E1D4AB30856B5 +F5D97295A097174467010B15D733AAC5813CAA633746B430B1AAF9F997FDAAFD +436844D1A56B8E25A89D2CC4BA6EE7ABD167818FD4F6C747E07B262C99EE2C35 +323F0B471586CA50F54C6381B052B15B0C58C19DEA82C0CA29F00400B727419B +2379979CDCBFA966AD513FA903160C571C3BF1BA239540B11EF2371A3880837C +6D6CA2F374280CFA1586427AE975A2AEC34244874E4D441DBAC6CD1828841C91 +069AA87FAE849C5DC7C9EC1B9876E59F3CCDF8BB23D939F5348D7486934BFB02 +CC5A22541ED352616830A510DE7732E5D8F7E785BBD31C2BC9D348CE5632654D +2C1740F89D57FB2AA1FD8FA3304EA03F757BB8F498ED98E48485722E78D97B12 +A05F3A28438084D1CF90AC4C3FFCD7B3365941C45E1E02CB13CA1E99F7FA1D00 +1C9D489D5C95F019AB4CE89FA3B6604473DBD2CE8E278969E0A0FCBCE68C23F6 +9381882443D3FC16966555FC222F3FC4B1207522201AB7A15A7A6F22CDC9D392 +360BF4C95DAD35770E0AC7E5EFF015F2C74ED7391F40EC94B8D1C163B5DEE5B3 +911A20C2625AD3B24BD94D2A42405E655DA47D3F94F882CA2F479437B4E0BE71 +8AFA4482C6FB270F8D05B4599A01403DAAA90C01DF3AA7C2BC7E66AB6AA833AD +FB6E5EE13E45CC7CE7E200FBFE639F9CFFF5D08512C02764997FD28368969BFB +0876F236EF6189BE73AD827332DF1B2EADEAC0ED3B939CE5BC3CEC78975FC636 +44FCBC2CCF4396AC7343EC62E0E4F3DFFA2B880BF31D93ADFE201BE9CCEC8BA5 +0B9B919E05B851E0909968DA259EECC6AA0743F25247978CC09C28C4F878E29A +5070E4023BCE95FE0ACCCC01D0EE219FA8344E8F6D7D4347563BF8AC030B9097 +41F24D4BC9494915A82EE9FD37FBB6A46BF077B728FB569B1258CEA5F51F36BE +4F4D0F890D782E44748CA3FE8C8A515998371D9C7D2311F192B4B7E7C68FC6EE +3F7136714C282A2570FE591F247A08319CE9EF1E43274E4E57166E31A2ECA506 +85350DA31AA4C33C9687F5210BA225EA1007C444FBFA2126769767E47A967884 +9F68589E4BAA9ED32A7A466DE35554C132810C68ABDAE536D9D884352F28EA02 +8A555D2CE11F30598F44A65E2D86B43ECCBDEED9E4E5B5B7DCDA20EAA09D9FF7 +422FC91F2201431A9E8FC624FF44D26C0100183D77BC7E6B1A6CFBD3FA8BABC1 +AE4CB0FD382E26BE0A83169B46D91429DCB746A0326243E212F802AF6A56C709 +6E70C6C7CE7014AE937686E11622D5EDA1906A9BBFA359FFD53199E2E99D6A32 +FF6D53076BCA828F8F0F312F9E68D51F64C2D9355174AC7B29EDDFD33475FBC1 +4140531F5272D645DD03CE9A7BA88674E0C531579494BC12F1E952ADBCFD8450 +318099A104353C8F2C45186B8B4FE789C953D788099A872B16D6D8F774BE3F43 +FA6BA70F4ED9AD065C03A51CD354FD0261200EFB1AC5FC2FF76E6C081BC24E38 +C36CAE9349D58311F7EABD5BF9BDD6F709533C9706D9ECFAE28C5A3BAE16A82F +64A29C7CE76BED0B3DC8F374BF49EC60822D054B83A068D7CAEDD3B800BA9158 +394678023119A22726BA1024180F40C68BDA8A1DEF6290E36B489BE25B6A5E58 +8BDA343FEDC153CA0A7EE03B1466E05A138AA671A035A21517C00A0CA33EFF02 +CF147958C3C5ADEF34843F640817AB8145B175532F06C0BE488BE836608F32FF +24CFA9DE22E984FCBE141347D1B643E36D5563659E33793CACC75583FEE61600 +385460B3E22E173536D2B445887482A7E37D2D954F2252C1516B7264C995DC57 +237D3C8A26AF62207BD74D5C6278E5517020FBCAEABEB5904D81D40CB2636EA5 +2E93DA1C4C1EA6FED55EDF44E0E00C9059A600079FBA8790531F2CEC40E17908 +2B451958B548447D5560C5BA27356C79A9299B734EB085B90354FF0607C94100 +3BFA3BA99D12C1D900B0ADDFE760E107D407436381380E5BF042535DAA873F1F +48B800BC8F46F49A02762D1FF24C966B73E40DD6795C120DE2B7D6CA457E1694 +1136A49C43B2E5DA7473D2ED1D491AD71BEA93204E6AD3AA1A105A84CC40CCAA +F29AF684B29CAA9A7CAB2889A7382FA8ECB96CE09530E4E3C0D914224507DBA3 +F755C837B6CE52FB0116C325F04F357738F21D6594C8F5C363479E8DA3351B0E +B37A7C5A50AEF881DC036EEF672AF178782413C647798FD0E61E6A6713036A8A +50029FEAE5C31F7E9E8D9CA24750D792BAB943B09C4DA48CCFE695BA264D5E52 +D8630CDC59590FF42C0CFC02DDFDB861C4BC219360AE2A9F538358246B146315 +8512EA1BAE98873DFE028AD48C6FFA74359079C8D3F4D2BF62E49EFFCCDE57AE +8DAEE6767C1526AB60A0416E03191CB24D61807FA72FAB2CB6D06FECADB84DFB +ED312AB9D1B5478FCAF96271B470AAF0599AB27CBCC3B870F9455141DBFCEF2D +7EDD445F8328871638FD20BCB8D2B187F08C98A285DEB0D72642D1B7CA2E20ED +C9E0B724E90FE680506B499036008C82864FDC05631E15761BB1A76A0BE9459A +F2D27FA863A89E48686638BEDD98C0CF5741721C84387593D77D05BF23B5E559 +33FB545D4F9BB512165A0DA9E4353BEF05F2D16C28673CB79D7F6E09F3DA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI9 +%!PS-AdobeFont-1.0: CMTI9 003.002 +%%Title: CMTI9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI9 known{/CMTI9 findfont dup/UniqueID known{dup +/UniqueID get 5000827 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI9 def +/FontBBox {-35 -250 1148 750 }readonly def +/UniqueID 5000827 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI9.) readonly def +/FullName (CMTI9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 45 /hyphen put +dup 69 /E put +dup 78 /N put +dup 79 /O put +dup 97 /a put +dup 99 /c put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 116 /t put +dup 122 /z put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C50F9043B95BDF77C +1450E422362CCD41FB4AF30F73B66A85AC8DDEAFA65B4FCF0033D034E111830C +ACB981C2AC41AC32863D02E6D9CA81F8D407DE4AB20B4CB6418B8067D694DA02 +6E76FF50A7197281B7E8E700C4A8824220374DE1CA077D50A8B751391E35FAAE +E0AB0604164A16D476EDD5E33B08639DCA14796F27A20EAA52D0BD8B61065AAD +083E4AAF626C2575C56F87AAC636FDC2E5ABF623F2D916D3CF5CE8703D297151 +0A664F40B144A2F3900D053B709210AB8678EF35301AEF3696CF17A5B41B588F +539243F32FD78B62A0D80B17F1028CBD7234BA7513A4809B584092B95583CF1B +664929C33846E8F59A43220F79D8BE0DA051D17D09C1E9DBA6C60BCF99BAE773 +3E9439791901546793B3CDF014E6AD9AA169483DB87A6CE4104A8B25AC117504 +8D6DF6052EF491D510F67D730CA315915E77290A40D3F8EB8F004114BB64C5EE +9F1E18A47A785A04D4EE3FCEA794EB3438CBCAE35242782053277EFD6B67F6AF +97D892DA958EDBFAFDDEBEAC4451EF8E00D6D0E7E60C112F74999096428AFC5F +507D0DEAC778A81F8F47FBB1FD8C22FD22DF2AD0C9BDEFF2633F180E0186A9AB +B0680E661CF083B8DC5635D7DBD69A17E6BF1E86F7C19FF7E48EAE8D35F0B698 +F990DC16CAE9D6E9D1C323FDD183096BE0EF3BCE379CE5E5CB0F58E4516C01B1 +55004C20A6F2BF430D59368AD4F6D398B9A27B89DBCF70BB8A36AA24496CA621 +0D28748646257C95B113209FA00B4525C582A8B223C64B658DA11CA08CB64F12 +8BF230A57B4DC2FD0AA8C486D7B151C9713B12ABDF174ABDF52EC8034B0858CC +6D389B503A320AE42AF3BBE33135032FE83E6B7AE0D713BA6A56230A50C22FB8 +597A5F21CDF98D70423E8AF8E3CBCE4756DEB5695D3A5E7C47E6EE62F4D06BC6 +C9978DEFFF773BA6CB9B92D2B2638FA3A1D92806EAF9A9A9D6DE09D81FBD8622 +AA7AE1FE01A1390427D270287D4A436A544D4F568640100F94518C113CCAA34B +28791F62F1C5B6207165A847AE2A9F1E3AF8B96203DDAEC2AF8F3450CA2FFB5D +E55DA538F39D6A5F13963857E2CE6D75E510E8287D4DDFE5FF5CDCC0FF51E346 +B8717B28181DC56315751FC861DE7CAFECE8E350CECE6B324879ABC8D8206ED7 +51D1D299BACD2F7F6EC2F8D3836EED6CCF09C205A7A76B82FE1AAFE0833C7693 +FC7E22D373C10C34BC0B57382312646763F593AA91D90F6CBDB096CAF9F52C12 +CB6E75237566C5D528DB58B92D0C7E16D6BB2D097C1FE565A07076209AC4DEE2 +BB6147D06D65F403B6919D65D1C3D9D0FFFC0CEA7FE0EE002AA0EFBFC120A724 +CCE85B3419C44ED7216E4C714FC85F72CA933D3707D2EDC6AC02335D4770B48E +0B64716C0E1B9DC8A4DA1BCF7B47FE7B37F9630E55E9868AD41AC770C5036E78 +4D8B24AF41E90CE8358F97CCC43295371B73EF7E86BD1647EAB2E493EE912F74 +EBDBB5CAC34EC1044114FDFEEE2FA8E3574F4D1E3EFB38C3BCDC341A0E53044C +0A19D619CB789E8C10100E413B8057373E6D77709B8019841DF04C8B27700FA8 +B21E2955C9ADD9CBCECB52727BFF0E48029D46C695028CB3A7EA779EA69C8763 +2BA38F274B4217F4D5C942042ABC9E4C1627D63C0BA9B1E03E9E3C7C8CB2812F +503564C0C02A6F2041D4CD59BFD6E465CD060D655C38FC5499F06E0323A4F359 +37061EA5248B3AD809D16446E67B0267A3A929FBEB0A93DFEFEA3E8D5B7C564B +95AA458F532CBA8770DD90AE6D3A0BED3BA140A4AB6261CE41967038861D947F +20BCD353B32618537EACA0F1CA5C2708D67D46B6F9B6D4F12081485AF0699628 +05AE00F008AA816DB07710E06AE2DBFA830C34851E5C63A7E9E02404ADF1DCA7 +2185507F0CEAF858389E4F8DC3A1283FBEC373FB4A1720BA71F993D432425C2E +D0FB5A6FBC1E1904B959838FCCD085AF1778A5E3EF29166C6660B797C8ADAFF7 +1EEDE9BD371E11CEE77D70008706E0BF2B6DA250F9C6A92BF91ADB7D32CA17D9 +776CE695179FC5D1686E86E2B4C3E34D2741CDA86C0F343E7CDD52AD3059A8C8 +134C7DAE20076E5EE5990CC56EF8AF66131243212C40480BBFDEA97FE0558ED5 +7AECD669BA1AD9A50F1C0B21D75AD5A11FF9F577153C12F9789EDDF81FB683B1 +F66244F6FB2DC1FF2B3BC8CDC6990E6C4CB835E552E2AC9A7540DDCFAD1F931C +44815C59118C7EB3C4CED4DE0D45C311D69576D5E6DAE9DF8265EC6E566DDBA7 +22655E765C074082F346AB496F08F4E598D6D35472629273128157FA8608DD96 +0CC4A3B97B430B1DF8EA4851CD54E742AC0170215F86D4612129F2CC3874D047 +F485BE77D2FF57B8899E1E667D41E519948F0E60C5247F5483D20CB108BDDDA4 +27F15C14A35FDC3CEA924E051D711D8D4EE36E7735E6DB443DBBD000A4CE0635 +2727EF9C1AFC95E876A46FE001EFF903D64A2C1F00D734D32FF4A6C8E3956DF5 +5E676815AA165DAA9E0AF2D56EFFF32BEC9897F45E40909F2F39BAF85A354420 +5E6CBBC6626B98FF1A9BCC1F76D9AB0348C8E7540E42EEF3F3351006CDBFEB01 +0FED065EBE147B5E36BB659D6AA429E6BF8121F147554BC0959E6F45C6990AE4 +66A74CEBDEDD67A559C3E4937F50D3B51E7DACCA53A2DB98306E7AA86D21977A +A4CB7592590C94C8479530239945471408FA1F774CAD14F58AFFB59D8CE596B0 +8DDC2E8CEAC94156D5FC69D70F2F779774503F168C48594C63F3180E8C93F423 +7F1F1D44CCC5E5F766D7BECC470F880611C545FB3F4C0E171A30516DBD6477C6 +2C478B4E3C2AC2241C68124C4570D476B1A18E7D093C97D16999E06CC1C8C485 +15AFA4836718A40733ED145DFA4B80D3FC3AA074665316786E65706DA958BB71 +67A4EE35FA629FE738CEC51D4F51431BCF8B14804F2C83453566253847077644 +257AFB4D3D13CE77C9CD592F6C913F5AA3064E88779966EDCA52B2D9469FE48A +C8F6E5036AC9B0671508DA664E3F24BCE551D22434DBDF58196254D7D2C7C308 +1A6822F2F21BDAE029F7F776C1FA7BA9CD94CA7D919B4E7BCB9B885FD767CD9E +96CC1604B95F0A8715837D7C27BBA08663FBC0DA33C2962577451DB48A4B76F4 +8A4B66E7D2A2E465789D1E6B6D5F20413D84A47E5788CFA97BE43ED05FA176B1 +F535C65F8FE60C72BE326737154602688AB71A8F12622648031414AB80C46289 +1EAE582B933C87122DBDF3E3F1C4F4F5175E88AD0EC90B33CFC13DA07CBE8C49 +EB1E86E0DCA68AF0BE3814595A4B2A4113FC8654A032BF00DAE293B4F2CCECC6 +C0E804B658720C67DC156B4785D9A15274F2BF38748FAC7936275CDF42915CBD +FB21A739B80CE81B3897539492F113D589DA8A6C7B38621C8354625DC8B40FC0 +7CFF21FD2D09E41AC9E99CB18FB9C92BB735C16FDEE7A8BB75A2258E76195AD2 +1A88B0D64C130BE88CB2FEE3C723A46516DCE8DC6692EE27C6D8469FF511B7EA +F1B7EBA054708112981C79CFDCDD40BC55A1778FB3FDFC0AAA7EDC425FC2938D +694802705011B724423608C7BC1E803D344C9B5BDE13005D06C3F27DE0371EA4 +0F836D5C0D6C0BE2D27700B08ABD09783D329EDD00415387C97C04F89607DCAB +62463E6A37E36C3A1CD92158353D45B443428177D1AE501F1CC0B50C100166B2 +98C4824CAD58B3A396D097E2850B39130E743CF3CF59259A174586B9361D8F23 +6DFDDAAC5B40CBA0495A3971399A95BAAC66CE5B472669E2C31ED0F2BE60E787 +503EB379D332055EBF839B25802E076B1BA8DE3EC59782335AC80D1CB950948A +5EEA00C5F5829EB5293E05B982032207D41DDA035B3CAF26802A61751B17D0E5 +170C99F6A0EE0EABB1576814EC3B4317A89C7F11022A0695FA3C2B2B80A2F73F +6A3FBD3A2B8C4820E7705CCEE368CE580434F3EBD2E9DBC162CB482278531546 +74355C299E321C47D1C4C6D48C5100A4B8B2A16DD422AC3365B37A79D936FB24 +786E9AD00E8E2666438B096BEF243BEC5C1AE35A9612D08CF7776E458265FC58 +0D67659A4D5AB175ADB10F662536C8A9447DCF5173E620320A43B2AA5D5B5C34 +78265F88656D2125C6E694AE4750193B05ED2A6DB4CD5A81E48B9912E25710DF +C66A0FCB7920479DBBF739D4BC746BB03C2F1FF89288DD807E805957EFB929CB +248F64A431C995F0300C0F836EBE1678C28DEA1F45034A4057520D17A25180A8 +693BB0FE3FE6308A332A7E54A674B497471E2D13756CB0B991C4A4F9F4851A9C +49DDFB13416722223559BF7BBE8F1499BC93DC8BAC757E42E25369B182811ABC +FE4F1CBA5E5BC15ACB6344EBC575C2F443A508A46ADDEBF7C34D88702FE46A8E +D96C91AEA3EB989909A2B22E86FA80721E68A1385239B4883DC065A0C08ECCB3 +693B0D13CA411A78C13BEE866D8AF8A634B81283B77FF62EEF25C5D48CCB10DB +BFA10E3066C116662395A6AF0B71D23C4047EE0352F4E02CCF28F959FD4394EF +43F0761B73B8D726B69D5111CF94B720D461E0AE42C974F2EDA6F7883BCC35FD +093304225534D8043D934772B0FEEE6427D0481A6CD8BD614669B875E1DCC6E8 +EC423D9A0DA290D8571E97CB6CAEF274DF823767AF4E0576588CF2ADC239FDC6 +437910EC0C2F01B4DC773E73C7FDE6E37D3E784E0E5B655600FBF3FBCC1FDCB4 +CF356017BE2A663DD7983A46482A4C1B42A067381D58AB1B332CAB8E5C83FC78 +1F0D9DBACEAAD372991BE3074D9911CBAA95E776008644F203D6B2EEAAFCDC57 +C53DE48816934BF9D70F90F4186F6268522D260512492305533C1B0FB23D4726 +6ACE20B872517CA01EF5EE275CCDC3BFE45C19FF225550E4E73B15E9BEE3CF21 +1594CC1773CDAF0C659F3EDC2EA43C25D00AA68DA8D39DC46A1676099496DFD7 +1155BCBC439742A80EC917BDB6E7593639CF1217C0265BA3183209DDDAF50E71 +FA061C8978583D93EBD97C70A890230AA7123947B197E9536F0DA91373DECFD9 +BD4E1C12B086B12077EBA19BA50B786AAE9244C60020F406AFF705CF029B43E8 +D70CDD5DC7A61A75858E03657264392D9CAEA8C515DD98C2CB9E84BDBC6A62D2 +36CA59D774BD889D64E6C9A0E043D04744D3D807D3A1B1B25266F0D9953266DC +662424A93FFEF40F47097F48D1904A1CC00030155AA3D9B07D281E055E6D033D +745856D9465D7349797A07396AE9026EE96DB8BAAA081D64EE4D86ADD8C4D1C1 +CE8EDA25CF3242047E18E4C9870320052ADF3EA543D32E6EDC93264DCC2E5A1F +458369CC5CD73DDE165D5BF594C81FC992F35DF29A57464A0C6D72D5E7A92535 +3CA14943640A67B23935409206FAAA6A11F598BE24373E7BF54A2B3C34551080 +1B4DB4E3135AD0B61CB1C12A5154013E11B33393A1C16D74B16BB4D8E7B893FA +E6AA0C843BA5DC50FBE07407D8B16ED2963E36D021EB433609053BD19ACA31AC +53B1360A48F71D972E669D5357C22A33A7211F3380DF41069AFC7ABCB3300D72 +FA1E9D6F2291E147988003554D2DCE165B5F316A390500D0273E83453381B13A +95D6E6F3300F36155573B8FB32A1691F6A9AAFC39541BAE0A4153C9F6B181B89 +43D246EFEB5A2B5F66FC60A44E2E1A6D972C53B1E930CAA18A5B58820D8D2EF6 +C1E798E9B744A31FB980C77D36728AEE6E682EA668F32E0C3EC70BCADC32A8D9 +A2597F1A4AB9565FEE420056E8A8B0004C006AD981E94A84CB30ED6FC9642D65 +0FADC7C9950BD962E0D86543EED6DE476E29A525183E52A8C97769E2FBC4149C +53A13C54341A9F554F0178211FA1E4731BFB84C11E6B776335F1F42864C70E9F +4C3F71F7DED7FB704A05FAEF7A2186B2C9C2AE9A3BEA55EC7F3334699BCD3D70 +A675D3D1EBD9958BFE62267CAC06FA97421994C17D60879D8B847B39D5379B2C +079AD7BDB6FDDC56106127147297932F788184B0BBBEA5657DC92E4D6B097F30 +97149A14677113EC8929C69FC93CCE56C068C015F46029110C7DB91DFE31E06C +CBB475E860D068ED6BE3B15B5C6F6F0D1D5FE6E7E4E47392C46FAA9CE932F928 +FF628944653962EBFE4EE5AF7522BACB33ED77387B0247C146B81F7A860B84D0 +D372252C89556DABA34913010DBA3576A6E13E3A184CD18D53FC758DDA762338 +AF195F1F261D5F10AE0E733ECB98BA2F81F7B456A75D862C69D623CBDC50BE99 +E3D1ED35ED4AEBD6CE39723F459AD508863C020FEE61980A17D41BBE0A54E120 +1EB69BE8C1198663596A3678F11BB8F28D7BF5F713AAF61866B6C172EAD9D25F +02289C719F2C121A09DE6D8E47001FA41002DE821E739567F5D45F5C65D2A0D2 +65D011472F8AA705C7BC3E0580BF4E2E007EA98AEAF9AFD2F25FB20B08EE26E2 +E8F94A39F6240409F44E85FFAC9A46A2EA23A5A5F8BB0DBE50A7A1A9A6034D32 +B777C38B88F25D392E59AFEC304C13CB1407C70B7DEC884B5B7AC97440CC198A +A949ABBCBABD1442C67E1828CE582D77F616A49BA12BD006CD541F707ED05737 +FEDED2D912D3C1083AA726C21C396EC6A36EB6B9219F2BE7EF62D09E487B3FD0 +9748121C531F7CD54DD98622C4C945E5B04ED2FD66D20873BB42C5391627B074 +7DF90B81ECC6AA0743F25247978CC09C28C4F878E29A5070E4023BCE95FE0ACC +CC01D0EE219FA8344E8F6D7D43475678DEC28FCA370A417D2192DD293B13E507 +F20AEEC2B825BD73A6678698858CC4B3DFA40DC96536735CFBBC2CEB5CA6A396 +C8D387BCB4D6031DD45563921409C33F3BFFE220D7A255AD2B422AC9DDFE7A13 +AFFAE4D39E8F285A4877D1FD83FF8BB9BAAD29C4C4DC7CEEB139D4CC253859B7 +24221EBA02F074C94543E32176588F50D0ABB9B0AB449E21E01377E96A487B39 +E45385A6A12DE9067750598BD5A12DEE276612012DC4226B14B0B289C9C8EB08 +49B5FBCA42865EE9ADECA117AF8B2BE60A2F825F51B3FF32DE769AF8A9F0708D +7BA0C614E8B1CAFB429B6407B3BDB582FC49D3794A0BA6932824A1FE44429731 +5F1C8D2DEE93EFEE11C29B1C020196EEC515336D8FD1FBD73FA4F2B454066970 +1657B1EF286BB2DE8E5ACBBF40C992F9A22255B3D842E68346CF43C568E1DC7E +389CB45E387321424D7950AD8834BA43A128309ACFB55FA8D30C0A4E13A06862 +0BA93765AD3744B7F0502EFE5D457D7CA7E988968EF34E2AEF0D1C5C1252BA48 +E4AFEBD828CD1DCB34738801458A8E4F9970DFDDF7973961E756ED7DAD161736 +0F774F441671DB46F07E28F57A1EC5FAFA529685CC5D419FA0ADDF1030B3F21F +AF395EF405CFC8FDD30B79B80CFC1708602680E9985C38474971F5A24FD0C415 +CAF1F98938F27BB1C805F0617DFB86783BE6F3AE6265DE523D2781E94B042D16 +36DCBA12FAC0BA0B2CAB48F31FE24BCC5B032D3987DE21BE7E191D578E9E5644 +81BC38C95513F04C8F1BB7DD82DA3909DC75CD509C0A5EF8226E0EAC4BAD4D64 +FD2D6BD98699B1B147B03FB3235F4F16F367D9EF10EEEF02093C40B9C6905716 +E43CBE3B6814EC7DC6358B72A2DBDB3A22F65E1B9CDDD4A639ED9FF36E021E07 +F5C45A74E31E755CD1F75CD2432D2E369537D3D738D643624E43CB52A1675A2A +2501397B11A902B26BFA828E9A744AB40CE3C143C758C6969350BA53BB8CDE8C +B21FF1336AAB3DA651DA4E822AC8E7B26B484955D115689E5B47F1FC0A88D9E1 +C58559306D908BEFBAAC4411B52396F19D4585B4DA54EA8929B11DC4428F158C +AA3AB1B6C5736A7F52A3424F1B7995A97253C8F822C11204E340635D13BBEF95 +108334977E7FE842A2159F2B9C855580379599035BFF29D6477BD0D3F6AF2F16 +A21536FE92A20CFB4006B743599D744919557B111518B64B7A1D52851A1DE934 +8FBDC32A12A86BE914E85449C9A85CBCE97B93F8C30619D97D35B1ADA1AEF315 +ECBA6F412D9ED54A37ECA7E502C9A4D35280ADFE489B1648526A6EA53B42DBB9 +0FECA2428C1E535970201D7C490A836956CED972788FB275E3A5DFBBE016A7F7 +8A0E5C28A19B04EC50A19D4F27BEE9DA759581BB58714BDAA1E83BD9DF1C1910 +7140E71438AFDF5E01556E9262F214712F001078CE95F86EB0E0B34512888B67 +CE482A44888ADA3DCF5A465E9F002FA79AD452E2CCE8D95B6A5382CE371F980C +C66EAFB9E1E20A8CD88D9A4D14DE3E37C0E8DFFA513410C319D4B21848204F1A +DB186D6894C72CC25D6CB8820BFF5C9E0C239034988ABE4475896991269F30FE +D66BD929918A29501B77161586A6D4F9C52FE65532DB267008022C1DDC0F82F2 +1CD0C6E3214C87890C9DA4E53930BBDB54CA2AEF866BDC2078E8AE616C8DF7D5 +1C4905B01A35E85D91CC8DA0EB3473080644E2324535CAB763237E3890CDEB3E +F36502BA1660DAAFC921510DF4E8CE3DCDF8E23166F8F435DEBF2AD4CB7B64BD +71C502EB27879F06EC5F49754B3745C5C1403EFA631ACCDEEADA882609ED4C18 +2C1E417C6B38EE24B62FFAB0707D875AFF4ED19EFA562E85869E844A89F95C18 +1227D0ADF92820ACC76143F475F6133B3DA1CF282437F7A9D6E14405E3384392 +A0B27C19C50EACB3438B6BF9DDAD0C9A117D0E17634654086F4A09EF39C76815 +DA84CD69DCF47EC7B2582D3F428AC6DE71969CB55D7695256368E0D7CFFFB906 +DCA03122059E1B0E2865D93D14413F19DC68845A9AF19461D3455222293F9636 +EFDED51807ADEE265B065721F628CB4D5DBBFB4C18D6FCB013FCB454E0867489 +7D279B97D9554B42739433099B6614FD356E9FF576A0CAA378DF7FEB99B9F6A9 +006BFD23CB3A9C503C3759C4F2B7B945F6C8D2B8BC682B220559E57D7F16395D +FC50827E7D3A5A82828FBF891694754F9709404A08BE0C6B200DF8ED46667639 +B9DBC9A910341DFB1153758E470F8C2639B8B1ADCBED32F824DB882C838ADBAE +F9663CCA9DAB518738A3C5C9415479ED66618053D5B3A4614EF122CC18469B39 +A78E4A49B81EF5DCED75A412C49FEAF28DDF55C181197482B900B7D9A903DAC7 +364A529BBFFC3C5ABEA60E40209553C7A713A1BB4B74014E199DCB5580CBE5C1 +C384C42576DF5FA72E174A0C29F2E53968CF7212259AE2BB6BFC2BD29D515315 +27F21DD86148A09D17B9B7CEE37EC8894D488D5D9A99DE0D45320CEC18E32F08 +58F9C675F26A254A00FC04C47B47A56893DA8F000C62CFB83002712EBBB1DB97 +DF80DDCB61100085237EAAF46F43E3466EC5DB2C1C5B4D4A5DFC9B938A71BB2A +8355FB6A70B575E4677AAFB982228EEEA2D700CBD18483EE67BA8A9B2FCDA3F0 +D548F22112C54C59C332A9D64F32EEDC8152F6BAF64C1C187AAA4FD26F31AF06 +B096A7F7F2835BB4E5D0D74DEE11C94AB03CA1F761A1D13A88AD19B9AFCB5AA9 +80A5433B5951014D1B7EB644D8E032E425E99EB4BA765C4AE103698256BFE2AF +8A032077B20C3411E8566395C44C6DD0004105B085DABA15FBA50162361A2389 +A305539A000A9E1495F42F60968812D6BF7180E75F12A1BC783970AB1A2B1324 +04EB6C3BD3973C02C69C8C024154BD85F721CD2B22663840E157B1C2DEE7C75D +4C2F2FAE1C9225D9E0F20F4BC3D9FE621FC709E2BCACAB23124A9091F38508AB +22B4273F3696D53C0CBB4AE651CDA19E1DAD4CD50447463B5F8852CDA6C6BEBA +228474FCC6E9FF67A853EB63C4D1B35FE782E5040F6515229FCDB2DA546E8785 +4C1CCED78771856A8B203E6C8524E1F89D17E00B16EBFB1560DD179A80355C59 +CF04647CE06C8CDA1867B8A5F38054CD7FD9D2261C07908614AE9A43EE228CAD +F00AD4EE280B89591096A3EF3BC15328C1D4E7CB63F36673CC996D1843F7B4C2 +72147F8C64496DFBB43177FA9FAA3F5F9D4FFB315895C1AAB56594AF47E39809 +F30562D1F20EEBAAE1BD6C38420AD8C721A26A183D30FC4C48851DB529A353E1 +B0D4D73D982667A7EDB6B89EA1F5233729E99D483778DF624D18E414F84D895D +45D51339B3816D042C3704E36CCB187F8F3B93F42D41839D42E9840DECCAB099 +BDF245723FA5E8BF1445EEC480FB45116B6764D7EB89840C4CFF871233DF5F37 +491ECDCF4D362761345D1767A11F7CD5CF8FD09B0D2CC9FAD64FCDD5AC96775C +05480C2F6738DC2E9F2816BA58C8DBE7553FA63D3B1166D9E0083F6F0FB87138 +47FA06D8980FBD1D0614E504D65B346E2C788F478CB4CE7C5F3AEF7625779ECF +97EC2664334B125A093023066964A7D05B34E5CC362CF15293B408BAF19CE015 +F14F9A5F1A2FE55193A41895B4F88AF1497A27046DE81E25A1C7D3E4FD833B98 +0710B6ACD0693F3A729958BF2980E468CA7D0E97EC2AE808B1C2B0EE4666A237 +C220D4A77712FFC574588DEC1E18D4A93F23CC1D5784C81118873AFCDE838BA7 +9C1200F5C31425771A0A2BA337488886C429BA07A2AA820554D2438322D46A6D +F549DB112557B869DF06A50E9F213E481E0B0BF46B098035162539300894C505 +C89DB9E02F06F953EB5FA034F739045F1E35160F0B624F7BDEF34752312DD3CC +6BCFE7A1E6CC8D1CFACB5491E0D4B032E83AF6C30FCE0D7B37B3D2CF267FB21C +81272E1E024121896F1BE4DEE745E05695C802674D7E99A20C373A7D13E12F09 +9BA8689FEDBC02D0129F1925C64798E2A0F47768F8A7A2D2F21568608796FCDC +D85BDAB9ED39C89D8D5B942B48DEE9B179CE1747B33356B82D81752EBA862C53 +246EC962091AA7DBCB8F76FA5DE2FADA1C7A3CC7B940FE45C0631F8DA1368054 +FB16EE9C4E19C54D4EC6A6D423243E57650A67C490A5F53D70B9E53BBAA639E2 +A6DA5E1EEAF104A991874A8A0E644DE710047490523F7F21E6C1B836650903F2 +F50020984005D2E8E78C3148AE2CD503A68CB96903F087CD11A17F11E96A15A1 +4EE26D3CC7DFD842656829BF68D32F33E58EE77DFE35621D8A18BE8471E263A5 +AC2BF65797A982E0B0E1E8C1E0A0D5FD1CF774C36E905A393E33ACE7ACBB66E7 +84F5486A782E50589171C0974765FAF3FA115CD33E16A1589A38D555E4211B01 +AA6B46D3AF39C4FF7283D7087C69343A859018C5059ABC00E8D0B96F44520EE8 +4BA5B3E4524480C40D97DC42C781963830BA29E211E4191F8168D91EAE94BB1C +31FEB47559B1E58CE6B73B483872D168C3E748A0EB5A36F9F417F671AEC997A8 +39D68E3D12D46C4C047C06AAD2A9F621CFE944D1391F2623CF7F072BDA519FB5 +DD3B6DAAD341BEC2C6DFD5AD406A277695007B1A593E8540D654C77491D50B9E +5DF25513B09486A687B76DBE364F5D1A28F1175E85799CF2FFC14B88610F09C4 +4B7C4AF0B71FDB8EFDDC89DEC4872E91530468B3F13A93623E86E0621B21C7E2 +AFF44CA12ED890B69A485A78E435A22AA6512E653265D4817BDD7B7A53232065 +4697C77883EF0B48504DC7F2F69873047640443F94BF2CC52C35BC24395EDD95 +8A0CA148F6EB51BE582733373C5D70C0CDEF28A996EBD86758DE995D4108EDAD +C567C1B9D64572210694C12EF7993CCAAC528CC2A40896434BBA30A78DDD3C3A +120028B9FE0F977626FFA8D1BCA93D2DFB884DDF839E2E71972579447052320A +B4F3E3A84E4BF058731DD821D0E6876CEA97F7B7164024E5CA7B53903558FF16 +4A3E7C340F6724E5CD4B75B848FCEF618C3BA4216D51C03B14EE570D438E340E +2BC6BF14F253FB67215E54BCB8B15C272F153FB0D5D8B4B138B245DE19C758A0 +AB292DCBECEEBB7A34F5685DB6277A1566F0D28E48B9D4090F8CAA93C9333E0F +7472F9532AE7C9A728B141217913079E96A4326D461D95A8534A2F14ADA11A86 +97F7022E33D58B0C4DB2D5861B3A49865916177A9C6383420BDEA3E0662AFA94 +98592437FB9BDD4853A5AA0A7732912F8507B336377DBA8AE0D6BA6076428D96 +472E178808931925DF1AD316DFB30E334DCCD3BF754343C9BB7D1410C2827A35 +B8F04FFC7E3A5643F63B1C1767A866F12EADAB8CE29C0368DFAF319AA0B3DFB0 +F5D7DA5EF9BA330E0045FBFB57403E0EC056FFE5CE0991C3553CA243C067EA98 +1BC2BB6A2C95D18AAD64EBF094E17B3E2058483AF70D45F9C90A1D9E23D537DF +006068038552C2EE3FC51A217A00B6AE4726F910757A4FC75F098AFA9591EB23 +730C11D7A3376E3386BCB7C0C7765CE4C13168CA0CF70CA1B9A3C01FDAE6719D +C72AAA7A29B0F4CC2BC0390A0C33941C9A87FBBA40F787DA8729308E24C8436A +EF1D8D7E77272965971362944FAEF4EF6CA9F69ABBAFE074782DCF039AAE30B8 +3E0F3186CDE5DF49454E243537481CDABEA613669643ED4FD796A553774D2BD4 +45693F573361E316E8239F109E182447CBB5F86AF817297C505929EDD0B7FC8F +9D2552600152B1A21C024927BBC6A85EC3C83EC86B64192793FDC92EA11EA9C0 +D030F2F68C452FEF7E8100BAA975853E773DA64985EBF723D971CB14F7A2907A +D28053E18FB929DD44A2EAD7CAC32821D242ED32F0415E503F6CC64E5AC2F72E +1333A29C7350800B0B57C759F728D0066DAD72C476FC7BD372FBCDEFDF921F02 +73F858B3A0DFE693B6CFAACDDA152AB9AE6DB878192658228EE29AA686207698 +1C76D0748A298083FAA0215F76B3CF377C9F04EA628729CE8566F77703FA9F71 +7DD46E8396F80531CDC28BB7056B413101A8A86196A580B256C19825F62FAC23 +5D0B4DCDADD0341B481AF77F430899C52709A7C784378EB2813EA37C23E1BBE8 +5AF03D0DA5873CA36CC03A45CF48610067837CF7F4B0E3114D00929CC37B123D +0AA5FBC8EAEE06A8B53FB2309464BA9C4F6F039488E0AC751AB6FB72BA43733F +578CB97C7EEDE6E4739646347F1563C959 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR9 +%!PS-AdobeFont-1.0: CMR9 003.002 +%%Title: CMR9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup +/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR9 def +/FontBBox {-39 -250 1036 750 }readonly def +/UniqueID 5000792 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR9.) readonly def +/FullName (CMR9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 38 /ampersand put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 59 /semicolon put +dup 65 /A put +dup 66 /B put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 71 /G put +dup 72 /H put +dup 73 /I put +dup 76 /L put +dup 77 /M put +dup 78 /N put +dup 79 /O put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 86 /V put +dup 88 /X put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340 +15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E +ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4 +B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029 +85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C +DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955 +F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D +2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5 +B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7 +78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7 +E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3 +41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277 +B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072 +55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA +700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9 +8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A +F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4 +FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4 +3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15 +B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2 +AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013 +461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC +CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85 +CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C +4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F +291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223 +D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181 +C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115 +D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9 +9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405 +2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380 +A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB +2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E +2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6 +AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577 +9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB +B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67 +0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D +9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B +42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0 +C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35 +623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6 +B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4 +E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97 +CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D +07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7 +53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350 +EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9 +52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88 +F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC +D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3 +81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D +B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6 +B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A +31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF +E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293 +846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733 +46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E +44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08 +A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A +BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5 +1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4 +D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344 +6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A +E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E +24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E +75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D +EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51 +C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0 +5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034 +099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281 +7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE +53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84 +7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F +7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C +D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933 +CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD +866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B +B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826 +ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B +B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64 +FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B +40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643 +D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8 +2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787 +39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2 +1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4 +F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9 +253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B +14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085 +6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E +E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B +9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E +EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339 +FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F +289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3 +A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5 +5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46 +5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652 +152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE +67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3 +BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59 +3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88 +713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF +2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5 +D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143 +6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB +A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9 +F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95 +26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A +C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970 +350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700 +70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5 +F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95 +F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8 +9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2 +DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473 +F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D +064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF +1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325 +A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E +E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF +01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C +40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C +72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645 +24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1 +EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775 +D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311 +83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483 +5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448 +1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69 +AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC +4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3 +7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9 +65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063 +B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6 +FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6 +4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490 +8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6 +1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3 +10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B +C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4 +8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A +C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0 +7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F +852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C +3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997 +648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD +855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE +1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C +1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0 +B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7 +D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99 +24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C +552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733 +6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0 +800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8 +6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659 +E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4 +5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2 +00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F +E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4 +82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7 +6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3 +128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D +744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507 +84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF +AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86 +5D239CDECAAD9AE5D95377E0D3F61C2AB7EC99ED28D2B4A7B6004A566B43CECF +7E35419EBC2A47CC76393F4778DA801EA75B4C1FC38062AA77CC4EF0E6CB0C81 +9A797C01F89BB58A957D3DAE33E4256B1F5A7D66C8989C512DA066D6DC771548 +F2DA3B490834E7B4CECD9293A5DD581A3171DB1C41F348377A602A2DDB80C0CD +7B960942967BF3983FCE91203F8C465362CA8E91B3C759943797C24CC83176CE +2D044CC07FCD6CF9DD7FCE413A0B2CF777529685866C7855509CD57489F07108 +D995887AEA9D20B3CDA77BCA95B6F655020E2964AD82AD77382DFF4903C680FB +2C666FA0A35C4C85E87189C909F4B6A0C788077270ED2C2B0D838488F9DAC159 +7864727A4F21FDF43764C2E9B8BA9A8416FCC45247C82FE6FAEBCE13C1E3A49E +269A4690D0AE927362CA09840E5D802CFE2BD403D853D4FF9DB92D17AF722C95 +20AE6E9BC0C1E5143A5DB4A439B103686497DE2461BB90D37C89627BECC0AC55 +70A57C2909F2E640F991D6F12358B5B114CA693BEB191961BD78FF2392DFF4CB +1D7AB6A7B88149FC49EE895DCB134D1F38F37B025300E6ECA15FE23197600C24 +AD4BD6B59C91D0CF4083BBC7957EDE6DFA56299A52802A64B2E1FD8F680CDD53 +397B02197B6FD6BF35BE9B41605C32BDF1D475B1288CE0F5FEAEDAA325B40BB4 +85BBF060B969D4438A98DB4BA2BA2CD8A143B14BF7586AF40263AF65D5BF84D8 +E2205AFBF3D4BC3AACD79A48157258DF2BA832668C9E6A59AB334F22CB8124BC +827B78EEED11AD7CA7924F6E7333901B8625E9546365F9F845E184CC0594188D +C4771B8904EEEBCC24FFA0D5EA576DC9E9AB838AFEECEED5B387AD8459786AB6 +73EFFDF8F0815D7853C6F61278341A10182865672A065760CD6959497D1C4530 +08AF26856BDD3C2F8ABD40C09C59C2F18FF32DE5ABBED403E7DB8ABDA22E2E4D +127E01A968961E4D5BA9D189BC8EEC733FDF10B6C08AF8A15F4A4DF393B4B155 +330A6619428D352CD07F338778AE87B1A0D986D709320930C0D150AB7E396F1F +CBC05A0CED81E5613B96F2F0993120F65822D457A787523C0591B53CBD3D2B90 +3A94A98F3A100BEC19E13A656F1E41834518EC17624F994B0DC7CB53C8808F38 +CA57A2D497B50B23D1B47007EFF7027AF9017AD7FDF8E7D69B3C996102B83ABA +B6D3CF9B39D9B5FE0B715AF98BBDA7E4D8F38D88DEEE5FB8325FFFBAC2E0F8AC +20FE028DD0F5B714FB4F975A2F7AE055165C148CA55C7A1D7F655E1457D69CEE +D6B679794CFBC557F2BA9C091FF033EFFD2B365CAAA03C4BD9808AD5DC309B6A +998E83E5365136AC77328C93AD17F446D0C53FD075C959C375C735028B31B843 +2CE3891C6DB6CF97066AF9A7BBF817F372EA9C62D2845D9AE8659D3813AEC6F9 +5B13516290627535806DAAF3E5F1EC2E2B1DF4DB93E67D2159925E34CA70B551 +92B6A29EBC2AAB197E5EA6EA88F4804462ED7EE4BF25653E7AE0478444AFD16D +EBF1C38D5F6037F0180333B6D84A171FA7E9D10D4B47F75D054E4C14E018849F +A837008DD757D753118CCB16686869E6DA6414CB729A60B13FEFEEA3132FFADD +E29A676726FA4DE9AA2588449379BE9D9F1C391D08AFAEFAB484948D1AB28292 +C0EFBA5BE1F043F38CEE52097AB9BAB6E1CE2962DBD7C026A7B5F1164E926592 +45514FB48444BBE75B07B02C711B0608188DA753BA5DB1BCE14966468B12920C +9C8B0E3205458D6A172A4D0586A0E4762C0C0CBCCB4E8949AAAA31AB615C7DB6 +127C31D5945C8C5CF84EDE0C0C64A45E3F43E8A27FE7C391BD788D8F26196234 +782B3EF26745E8E648804A46ED1AFAEDAA738B59D64A9E5F3597ADC2EB6BBE1A +D828DC28023397C9BCA84894B1A1FF77413727B341BE13F628CBBCAC784B54B1 +7BF3510521588C00538DDB3F5B33C291C78C668B79EBBDD441EA5EB5A1FB805A +D0F205090A037EE1DAF46CD3472CD9D70672DB654B7766492BF0DD969FC293CB +DF7584CBD554F80DDCB485D18FBD2E0F65805890EC3793A2A7D29321C4CBC0C8 +C5076876ABF67E6AE86BA44396F2237620EFA9C4AC0BE2D1AA25CA25226F6997 +FBB0C61260CEFBADE0741097552BC996315700669D9D8A3D136FB6119F1C0E7B +BE7FBB900FDEA9B4CD50903AE04590771DF5DB3DBB07679EB2ABDE89DEF2B282 +876822DAD40F11628096D0DA958829F3C7D61F30D048D7A184D03E7415C80F01 +6C7BF0C4C93072A49F12408447D1605DFEBEAE228D06E4CB676FF24CB721EFD0 +79AEC65C4084D725BB08927B936A128B938D2430674841E82261237A2792983B +25B8B8CCAAFCF568BF66A41F3B3AB8D7E33C4FEDDD970231A28228E225871B2C +50F5B279CA5BB58DACEB48078DA9C312B2498DABB5E8E16ED08C9A794E1E12FE +6F8C7D44E0C46FAE7148F928DD9C9780C2D3FEC3DB7DFF9FDA1009D04330ECC1 +94D7AE3B05FF9A5F5D52E49CE9E74581E2EE54F4DE3B8049FC166FBF82C392C1 +3DF648A7386E5501AB5623F1CB866049379032547DE1BBCEC7D015551B07AAD8 +C85C6196DC28076CF4C4A1C12A506130241A41A2AEB1DE9DACA140794A41B54A +F9FA49189D45C42487EA33ACF838451B2B5A1C0E2129DF80F8F5DF40D0252347 +30EE3C51EA2515F4618602B548CD78AA6A6FCF0A1CE02D73750D3891D7D34474 +21462670CD4AC312064C8633825769F85DE3E623FA23578F66A7A9237B1E1817 +25D415C1F54476B8F4A016346C85C37281C3CF5C583C09ED32979E5029B6979E +8766567DFC24EBFB6663BCA6B62A1FD771A2F4F50BD1450C23F007DCE22B2177 +BB524255D9E22B95ECCF029A6B1809B9D27AF893710E4463068BC3150123F638 +60648F03A61243B839C2FA888D072B5304B90018DF561DB88167EA93099E384D +CA7FB274BA74D6E0C3EA0FF194A1B958733AD28BC6117E71A903930EFC40F680 +809EC572B36B171A2C8AACCE7794DAA032356F9E978C513F164E9F5C93FDD873 +36E105B22AFB9C547A587A916A31592A8D73823AF2210D4247B6D9AD1EDABB42 +28AEC1862B03A05372BDA729BA974805B00C06812440DB119DFFED92BD8B6155 +6CE34D26D81AB2CC46980C4AD7D0C67FA1C622315E5FC4AA50699BD9EFE83843 +FFB46822B89D4A9DC524533CA853366B23C613E5B5F5C67A56B35292590AC052 +E74AB6F521C9BC6BA7A3A7DCBC29FD0A6B0F8CA07C3EB9888587883880252E51 +43A34BF745D7E1D2FCBD6D6FB7452C56F36F657A66F1CC0EE00B4464A96AC074 +42742E9B182DED76EA66A4536D25C7A4C51FC6152D803B87AEEA48599EEF591E +214ECD789FBB44EA39D4E729993B5F54D907EAB4DF706E79ACE4492681F7B6DD +4C4AEE78E2772A2C5E11CCEE68B50488D55209BE0E3D3333732A374C709ED56E +10475C3220274074F5B98B01F40B5F2BAA2D0AE8F7A0738EFC96FF991D4A8F14 +F2F478423EAA51DBFCC27FC69AB60134A9104644EA9AA6C159E51823161B5DFE +4A876D13986926AF39068B29ECDEE5DC5C34ADFFCD7F359F1F7B74D63B21FDF6 +45BF73A088B5E19BD0121FF06204E9A43F08ED67BB1E3DE3C06427CBCB3FBE36 +97EA6F877F6C68803266E509D6BB52A30EDC35BB920AA275A1198C2FC26E7F7C +2F36650265ABCCAB7C7C4FB1BCC88F78109EC6BCC5047FC2C81B137F95A17847 +4D13EF0ECAA91ECC3460ED1E4BCD68D6563014063AC1C10A94DDEB860065971E +567A79257687ADB8F91E7FF3E4735BD813CC94BC7E8B9F4A23809543E2358BF3 +85BA5B351949FE7558A7606E8F0D6161DFABAB60FEE8C43C2B27A9471C514B75 +777CDC6BFA9FAE70B8F5BC806BF6CFAE7EDFAFFFCF5E4A213D4DC76B861095F2 +D48903CF994AB2C49E14B8574DC7F2F6987304767232A4098BB831674FED7AB5 +056C14AEE10473B0AEDD3F6305E7A42E9355628AB4A63E386AB4E00FE2F252E1 +86A1C468A0F44FA345C5E35DF6B7376A2C1A84978C85DEDFCA17766C0B36EB12 +2FE4447FD8B8F045FE085957816088025D8A688E045A828B0218847F95DD875E +720A69E1E04F6C8F2641A0331A1BFA22E1CCFFDBC38A4171206C857E69490656 +5166CEDD02B7E9B33268C46BD2540B932C80472C9627915EB86F09BD8C5E0FA3 +763A54D5210C9FD833E30A8E539FF196EBD5367F9B48CDFF5A52F1B5D0607BB4 +E0A1A7A2442CE3504EEB3F39F4A85B54C68038B1097001D63C555171BA40BAB1 +24F8C27B3E2CAF8F151CA288979D9099E47B9AB0A3E9ACDD46E924F2965AFE13 +44757B94D6133009DA14356A62E1403C5D21BE08BB792A24D2A7A0D539C776B6 +2FB22BF6CDBBE8A4DA3FB2D4023B77D4D9727F9C6683A5682C5418EEA6F86EFA +D8E9B23465B7CFE233AD277878EBDAB438A059D572961DB0208C02601438D203 +7E9649EC82EF90E2C3E60D9D10BB9841BEA8EFFBDE1C24AD67E588084F0CDADC +C694CDFBCCD23316737EBEA1B1CE973EF90B229679AC882DF0C97C1092008A84 +311E01566A29D5E52B74D6808D1219FF79A310584EFE77037671FAAFEB20047D +3694E89DAF70EC20FE32C9741D29A579DF04DD711762C8F1437E9B00DA8E2FC4 +7D6892A15655F02E6A38846CCC23B29CB9E4CAB92EFAEDD8E304E3387EC18B5D +B7C6A652FB3A4BC7F858007E349C8E90969E905F7BBAB147E9DFC55B175C1D0D +9841298052EF7C1619C1A7371C5A3F8DCDB63EA35D0936BE0D460129D4968AAD +CE6C9B6A15FE60AB573D3C8DE0A5C8E5582AE7CD81689B0C9B98CE8F419754B7 +B8A551D6A222EE6143E42BD43E6D237BDEAFD48AEE07804241374263CA8ADA8E +D5F6E6BA614ECC56BA3113BC0786712495004AC7BA42FE12A2739635BCF32589 +8E2729A00B99983453D3D0A10CDBB2F61780C2A35E181FB1462A9F4E4DDE1351 +8E4E0FF3C404159E774C44EA09B02354FF0785CFE2C17B426080E13D6E19BFFA +ADE943F4D5FFB21876EB9B21B436624F985EC2D01B46D82EA9358BB128E15A47 +63964A2F1652E7E0C4BC14C12F46756EEB13CE910B425C2C53997B9E57089B74 +426530A8DEC89549E64EAC413ECF2E6AA16A9D716C526ACC4C77D39CCFBA1EEA +B95F8556E88C171F03AE30DC3C5569A669021ABB8C5A8A2CC9E42D36F19F630E +C947EB610BE8003EA522BE37017D7585BC830A34022B66D43E38DE557188DC28 +0F58363656FE8E419CD2D12C13466C9148FDCF7B7A2BC4C89AFF485B8020639A +4F84B2D9A818FB18765D7EDD163FECC99028AA4BECC17C94BDD0A0C658DB4939 +81FCF2F80A41C6861956073DBDA65594BC31D24BF1A94D445786BA611042D4EC +C5E07686713F0234B3E69D39EB95738D669F40AD62C3521E6034394F77BAFF06 +FC6B40C3EEB4AF83ADE1FF443BB363485F8793C574A33D7CCD039D4BB8621692 +E9CDC4857FD2A4E9B7E4BBE250593A8AC70D742F689150C0A4B42B22C3482138 +AF771ECB360FC4822C9A53BA221574C05C9B8642BC976617267FB2F263F79301 +5DA93CAB91F956F313C1AA1AC394D3A93EA21CD0418A349C0F510010E87CD85C +CD6B4363196161E775AA345633E8FE39C79767688EC627F7E45DEC58A0326CC0 +76F19954654B79D5E1CD27DE4B3D1D1F35A92DCE92DA5F529ED00BD11708CD2A +4660AB25EEEE437DE0FAC116ECB74F4AF44FD6F161CD9450AF9AFFF1D32170A9 +DF0ED814B5D2DC2552FF0C3CBA776F422264A264387ECC7F779D9BC1D9691A80 +14F5CC7885E2156DA8030808444CE12A448FA18F42B191C4398E512D6453C16D +07CADA0A64947DC8E83D2EDFE68E42C24BD8835282EE83D2E0EAE8DB807DC91D +22FAC5C29F84B055BE8ACFFCD2C789AB05333372B0C98852CD1EAA588E55FB22 +0DE876089C71BEA4FC58EF49681760B91C11AC0D765800646FD175329DD7A216 +18A53B56E4196A69A71D15B23E59C215E93AF0F87A37C3EEF2B51BFEE7A7CA0B +1F78A87623A1C14A9AA9A2A6DF69B16406C8C716A2CAD30869EE1FCA23725C3D +8E6ED519AA668258047B8C139E4BB4706E543232EA2134A88CA0706FA1F092BA +E41B99F135478F702ACA2EE7B0E75B857DEF941D721F147344B29A4F752CAF4F +7477C330A7F787F24F3418F9B6CC9A08E2C51DC2E6DF3CEA73DC415E1683BEF8 +88246094F0B8B4A47A0065D604A8BEBE8C25DD16B3FFE5AB76B29E2B049DF506 +C9D21756684FB08B09447692033E2AAEEF5CDED888540B613F7F8337AB7EA18A +ACF0B49BF310FCF5D9F371E541D80F930198E40E3099F28C137FD041149529CA +7C8AD5AE00D18E8A70BECCF76FED1136BA5105C1F71320A97AD2C24926C1A0DA +3BE5AA9FA083FE6E0FD46A76333D3B376B4C4637AE5866E87D396746CB9D1BD5 +8E4E8F42A8B91728A98EF24080D8653C0EBFD8F1C54C64D0731DBC35B402983D +DA51DEF6E09CFC2FAFFB4B975203F9D327ECDD9D76D77C8BC602C7671AE535E2 +1CB5CAA7188BA724504659234B98A37F4227F7432EED2AB481F595EFD059D6CC +F518BB657B8CE9F43C804964E7FA12ED045F4A54720FAE58F37F07EEFD8B40D0 +3F1E4D32387B55D9C60F95618FB2049609D7FA550BD5D16808F2767C05F93292 +9227C09427781F97A0D91D0DDDB3D7A4B4F06282239F2E12AE9F388BAEF3AF01 +BD471AC24B42B3C34859C99A15FAA066C5C357051D916DC706E85DD0F460CD77 +8FF30209F61F9FF4B85C3F4F71A8C901D781812BEA838F37CEA6D8FE5DB3743D +73F39AD1F730DB5F0069F7C23D172C512407D5A35AA139CF8F472AC7D21A6CAF +BDBFC7E60E9539DCC652FF1525AA9BD97488E31C60FF57A9037EF44A3A4D8468 +1216BECC68104B1025CA63E33729B7F57DD4EF9A85906EC3F2FC104489EF416A +3C16A09387F186D66729A942087F705607FDBAEC4DA5BE9CF549A4E4E7450518 +7DE8272B1B8CC811BFE3E8C95E7E00DD7C1D0C1016A6CDE6CA02FC2CA32C9C7A +1CD32543566F6BFCF96FC833F102DF6828E68217528426CA850B63FEE87DE1B2 +982165C4AE77EB31F4D41A39F104972F6CE94F4AA94D1471EF938EC38AC1F7D7 +25BCFE2C3467AD98DF4CA0B66B231D4DED40F5ABDC0306BB5364F80ECD1A41CF +0453C153FD62D27D3129ABFFC2B1FA770E2018A4F24059DF775E316289787898 +4F2CECD60C1843443F0D85F3950139284EBC8567655268ECE1D8FF25DE6BC42C +91D15B48748B1C1AF6367F609DCD2998285E09721E0F8856A106178A3B476CA8 +294E4EE2BC899DBEA23B3A71B4C23DC40447A26AA46BC5928751593B10751818 +C01FA546D35F823E40B00046F5C6AABF9E79CC3B8262F16544D0A93E23E68614 +B60852E82C12659D25805372AD9D4C589263BDB1231473BB3EAA0673081DC867 +923D4F91D04483BF6AD7929A16D4A08AD3AC4C064D939D33775D69476D50E5BF +51ABFEC2FC61C6BD96BB067E51B6BD58D66AD12BE81304B891B3D7385898BD46 +C115C6D14BA2C30C01BB59A956AC320ADCA7D09E0511ED0FC8002551ED532372 +C4D405D953FB96CC714424D39E15521338581ABA7720A56E42117991BF2AA0E0 +8EFCC8AF4240CE0DDF8C87B18175279A41F00A5A0E868DB3B74885AEB449DB27 +D5C7AE0A284F680BA3DDA82754206009EE01A76607B014E940915858AB5C6B33 +279F61DA43B1A2A57542AFCB73EEA841C985C2D148CBE2390F95696F81073731 +5BE84E65337B6A2E74385B477E6E4CEB615B8A744D43A630533B090086A939C6 +8F80B57193F671A39D3491CB29E44A54BFA2C022382BE2B6361F40DAC7D3FC86 +BFCC0DE1DF9B7B5490B2C9CB13AA9BF0E788750CC91F7112D9B6F3EB8023879A +FA056BC5345946DD8C2A01808FFBCB755DAF980FCFA046430F5CDC7C7FE5F9C6 +D3B41A3EFE99728F192585C36AC725601404214F7C009E4C9944485F01914451 +AD33DF356F240A6BFEFD9E81A9199C201851C06F711B08EC0C9939447CAF3336 +F7B7265779465101ADCC4085B8957D9B7195C5FDDD9690406210DC25A469F8E0 +BEF8535EB702C972BCF8B5EE067594CB08A58D1BFEB639C252ED8E9D5B3432D5 +FD8160559D7B7C5D14BAD2AFB53D6372FA8D5A8590C7C873CF5839DB46C3CD92 +8EA38C86AE09EEF16FF031986106C88C3BFFC7C9259231AD9BCB6494933ECC16 +4149D606A1BE32093EEEC96AFC7C250E13C670CE12F043D3FFC41FE517081B41 +66CD821AF3AAE894E736E4C59380F48E24F0C4C9157723D1E969899FDA6B46D7 +E3DE5640B2E9C2D34B7B989750E5ED3A54B132BF61B5C79CB19FF31F725B94D8 +29ABBECC73A6E2340C060B4F8A70007E3233B06F24ECF033019847791B8B12F1 +EFB6806A80E01066665711E3084C9A7B8125F2D3C0C2402ED667C92463FE2381 +7B50042321E8AD23E13C9628A73031FF608946C38D1DFF8B2300309326CEC616 +B265A8550150C6F7A9375C95348CB9FA078C2D2533F42F9238C5F90D561B4D7E +28FBA9B2E72DB8EE4FF3EDD82FF14DFE579EF3C5057549242C5B8FA94F4FFAC8 +F4D9AD766D2C5B607B0EF1977C4C21A1EE02742A0DB5BC7A77D266D91141F333 +55D277968F17484960ACC43006918DC4669F93F19327EEA87702D07715465E78 +5C758B7D262C417C99737750BE5FF0742976859450C2206A3B092582CFD5991E +AFF6938C0ECF90F9E35D11756C16CC9B184403C698EAB79E51EDB312099FA226 +5F589A57804C59E3AE3692FEE984D5D5D140F39FACACE5D511452323A1A03327 +291544E2124605CD30D3CF12938AB23AA3944D445E6CDA85FEF2C859E26202CF +27205EF4A8DD8E64B422D2E2A7AA5B1B3ED91C2791A66DDEBDD2C95DFEDCBDAC +A9460C6BD94D066D85851979463EC273CDE23AC76BE20714F0CC4A6198CB5F94 +20E1C76C615CEEBACAA228078ED9603276940FF8FBEA63AFDD3CF375A84E861E +C67B16845966571A8F20569B2496BBD1F8975618B7990F49D0CFA158F4BD3025 +AEE194C8E5AA4AF9004A3D256EA18A50F226AA624D143D5C690832926ABEB249 +EBB4E425DF44D8AD651DA3CB3493712437F996F8F4839BA6BC60CB1F4864CDF3 +ED1CF95CE2D126E619F491290EA2F25A65E786D800FF2403F3A9C61DE09EC795 +6A7ABB36AE7AA4AD04269DF58715B79C9326628FF8AC25E9D1A0B70B3E622E93 +E174132759DBE97B81F5A46F99826E8BA0C266B3465825F691C0294AD3E9E462 +9E2C22BCD73558334BA7537C5BB12A24E8A0239294F7A961E9C0787DA171285D +6606E12A72F4AA5EC754049FC7598AEBEE144BD4ACD1210AF8A5C561E37B63F3 +DA0E027FC953F363F8EDBB0DBC498A3871EA1CCE1E7F5662FA143C75D5DB1C72 +883ED85929EE45BD9301858A3652AF4C843358FD7B8EC87ABBAFEA0C711F8A2D +123429E01624E87D9960DCE49715BEA4312C71CE3E680011CCD46E3E75A3DEFC +7B84DF0957BCDA3F84655751F2BAC4AF890526DCB016620630B55ACCD9A4B85F +975A6B886136A69D33105EF4756C3CE85108EA79380E38D643AA9906DA4B19A6 +73078EB9B446804E77694E09862849991ECF5A6C4E2936C6707B4AD0BD858C86 +7BB66296EF83F58891E6E5C0036684C9D376D0565FCACB15BE00351D83FC45E7 +74791FB3E37DA393959E63BF8A07F6DD8ABCDC7A0060B6B27626DFDEAD047D1E +6C3D742CB4FA9D45BEE5D890F9D9F554B7571CF9C3188562B7D1702437C00472 +84254C82AC20193FAC418DC3ABA288FA9382DE53A8CA9FF21F396EBA0B03AEC4 +A4A1155C160506551939095F8D6E1FADABDACAC0CB515BC283D526A208C4D148 +49CE19C3C47F7E72E1D5C95909171E8148D8DF91B585A4EB1FD611CD6BAFC45B +796DD56E10D359B27F1E6F35820FDCD31533C32C365D1FE7477B00E3393ED0A1 +55E406F7068BAF245F9EE93A6D7682893562245D709B65E020CACBE1D6149D4E +8CF67E6111B65E62F47457E90EDD804D90E1AD019DC32E6F9D97CDFE6EE3A8D4 +803ADC72BA723ED210BF91F3D2CD51B9EE59EF13FD8C5418E29D61F5BEAD85A7 +4EF9608B4AF86AB54065F01BE9768A9C923B732BFC4A365CC49502DA706A4FE1 +433CAD37FC5DD67C9811D43570C55A1E072780BF79FA2F4B2A2B61AEFAF24811 +4DA7EFD38C0EA6F025E773BE338FAF99F7BEF97E6D2ECA883749859F706F3F1C +DED791DDD1B99F97D66B107D2E71865D5FAECA706D1B769B321852D49D8D3353 +FC7DF3BD121AB52068FE8AD92F697D9F0DE9F73209F15A8501F6270B996FC0C0 +1FCAE4D23B012B63194C045E2E94EFC2EFF256E846580F313B87D3DCA252B872 +5DF29518B864F2F21B80A7CCA4EE04B43277A4EC09F11FF089B7C3BA8183A2F2 +CE1509AA1591018B6E5E2511C2241CAB216C2C9E12819436104A79FB2F933AC0 +4C663149716FAD9976A4541CDD6F17BEDED9152903C29B43B5FEAB09A8F96826 +B3ABB4554ECC4E6EA699318601A9CFE1141D3778119F4F0597B4FA2ED13D550B +63C39D1C9A0524AC188E09856C4259F787D0D961AFC767E702F142062D0258C0 +8AF0AEA168D09B8BBF89B0BD8688630103C92CE8EA304D474A1384ADFE771F66 +F2D3C7B0F1CAB2866C1488780AA9167F9A6AEFEC93EC7C1AC57F342882548E19 +BE69DAC558C9751436EA812A195FCD04868D933E97590C8F468F4D1715297772 +26DA701D4876ED7F10430BD2F0EB01F88C361D7881AF3FE33C2EDFC7B65A51B3 +3B59468CC3C2714514BE5918424F892FB3A2E695B9C6B8F9824934159D0FE289 +B93568177386BD885D30A04202424ED9559DAB776E2B873CEE674189152F8D91 +9BF83D709A992D78346B0DC39B75EB1675D1F485EF04B1E3381BFADBEBAAC2E8 +42FCDC63802B0308C8A33B61B711ADD4F05747B77DBD604828A3CDA60D62F54B +2A278585987FC1A41556AE689C1013B300DD3554793B25364E97ED9B7DDE9723 +B68B6F62961B357B83CFB9E7DCD33756978F27FDA6297C27CB2110B43E1298F9 +C400879575C7A5ACF1862A5046ACC1BA75A0E12C2C4C61D0E6FB62E31E46E922 +BBC7901AE5237BAB09A56736E66D332AE73A57671DE2835538749B7C97B004A4 +73D38FD88BE03E0BCD9A12BBC48C07B2A26A304DCA519ED13A6B5809BC0514B9 +7EE00C16F070BA7AED9EC48766342AF315EBEECEE8F658715B3BBF8FE8610F9D +EB51CCC6C19172C8DD5C90F43312700A2113D04C3F932E86AE8B77667E918213 +019EA8DEF56EF3C374808653C44BCC477AD2DAD51892496D4DE4EA5D8BBBEAAD +163EA29DA560D79FDD3C9233F7C7A46292C3F68F3D2809F49C9D806ACD318259 +8C0F8FAE2CA362FC41DCCBBC3D9265047E4A765848C7880D07E42434B2AC6014 +EB022D19B4024A127DCCD9941E1332BCBD00E77B03D0F7D987EE9B0FCF5D13C9 +E29BF83E93EA754815D28E62216A4B8CBEB5AA5F45114405E26623C5D0FF09B9 +ED28D84D287EC99F317B2FD8A06E98E2B5F1AEF4A7A62E2C3643D3511BFDE26D +13C0A66F46C912888BE404FB78BD123F9CBA22B6C173DD485FB08E8D687097A8 +1D249D6B962867E8E4DC17ED783D2A499B3BA200C9ABE2154A25CF7459C5FA8B +3A0AA3FDD75E8685E0E7FCF4DA49D30906FB8C681F52154C8DFB1DE4B5D6B8D9 +4B12DBD0CDCDBC7E6B24E6FACF528B0D15079C4D8FF8A6930408F7DADB614900 +2883A5244C10017D875B4E292B39BCB758A1E5E8DB78F1513D4D31856574C92A +8CFB2330A519303DFD03DDA7EF783DE92300E9368338EF5759A4184E50448E29 +075EE0693C4C89EE9920B970E26CC105F2B7AE72D2657A9B5D6CCF677D0F99BF +A7D2D64B76B5B4B2F808D3AEE0B7F05724D4A7E5A2D253AC63AF83436E8FDA7F +F9F050521B92492D0659AA217DB413E723C43DD32AA957E143D0C6204DF051C5 +42BFC687271269818676EE92CF3DDD4E46BDB016C6EBB8B49DE5DBB965F60B1F +DBB8B71DE46A239195FEE027D3D126ABC5C7062B554CF26A5BD2D5A75A1A14EE +35EAA10448D3CFBFFDA782F499E4B9F6EBDD7A4EF5D1D6F9447CE88711CDBDE0 +BFAF8E03C1832084BC38710429C9B727C9A4FA58E7F4411AC07A2590F7CE2162 +80187059B0BBA060DB0982CE2186A86CDB7B11D93A88D116E250C65FC47CC080 +BF7327F2212AC560E7BA8A3092985CF3CF443BD5E152DF7F160918FBFA6E41AB +D7E5B7E30388499008F7A9EB61653BA0C029349540E4FFF0436F49C3FF9CEBF0 +317EDF4D205AE76CE26C711940A28CD19F70128963B6384C6833DFE9415D882B +BE02550F5A663C1042D7878165E5F9E5AD6C0D954C453B7D9E4B5583F9AD764F +24C093142C3D37B80FEA896024CF064D13A4075D5360DB87B5A0B7A1B01B5871 +C8D5B7B7021D9C3A83131D2952B5C4FF64D1FD7BC635B05BF1752FB4A248E6F7 +C7DE985085798EA28609EBE71E7499B896A8E93DCA8DED8AB929B2BB1F80F062 +1601220A60B47AB88C68AFCA7C936EA40B070524C7C13D1DA962B23BAD35C5E8 +D7304530DCB4B84E08136BFBDA3DE764DEF4069859F612D104A97DDD4A3FC3CE +CE45A3396A45D72BD4F36F5E94CD7F947BE1819659A7B056FA608DBD2BA9B1AE +23761796EBD094A5AA1967A16CF25CA79DA7BE13E224722E1E79A978E83C9437 +75620FCFC4DA3C8C05192349E6B1947B3E6B583CA883C9E1F3E230BDC164F164 +2C85E94022640582C97265FDE9EEF1FB93FE07FBD278F8EC3BAE410203E9AB33 +74A29AE048D7DC21EE0489A2CA8797728B058E3B0717905760A035AAF9A85D85 +00A11714B73CFC8FB250352884EFA0D7D796CF13BC4ADCD0E9B0A3C9AD4C4983 +B4C528562EACE54275DDA538FD5ECC4284B8DF979C483766ACDD0666F34C861E +DCB945A536D096EE2A4B19361233DC9D26BD9D6E0875223B2F92AE6F63F5A603 +22596941603E0214DB65E0CFC27199EB4504C7062E39DAE8C1858B2380475360 +618ACE0668BEAD4139D663EA58324198C421A262D2857F22EF7BFCCEBCCFE083 +0772BBE4228059A79154EE2D8FF9DBC677ADEF2510C80307370B8381F44B8D85 +6768C3AEAFC36CD98F312A885664870CEE01C41A2E261C3F1C4712DF0AC79599 +439C8094A2E9CD4B0A4F5934E8062647D8C7EBBE4E95D96CB2454DE9FD468CC8 +9B8F14B0DCDBD652F58E463CF084B383AB8171DFB5BA1D25A214192B4513F2DD +45F4C0B62212C1436C2D2B02B931CA9519096FCE97DA6E8676CCAE4D4D8728C1 +C5912CEB7249A3AFE3A475F98D864710D106601B4E142CC25B5453E09838681B +6818660C9B60EEDE93F2770ED0997A1EC5235510A1189089D8A8759A53BACBB3 +808D3553F8A316A6132CA85080BAE646292E1B4E3835C009BB7C5ED5924A5A9F +085D6B18E75FAF576512684B81DD64D149D067DD8703794BBEB3261148BB5070 +68B06A765B21B24D41A3FE0AF0A045479BE7CE2FDEB26E4F7BE7675B6FDCDC27 +D205B687D9DB1EC506732689F64A73C80881D7AEE918D82FAB770A63E3C5779F +D76E54B20393B96D0EE5F299D99DA195620F6371476BE9BE76AEBECEF5698A2F +D4DA3E4423D21233F8899AAF62BDB67EA9D2E445AF7FE7F0429563F3AE584A45 +F72D7463EC22A83C5D893072756151B80FC55C1AFCC939C35DDAEEC6E19475BE +A155960039A21E264ECF313A4E86541C2D23112CB6EB2BDBA564A5CD6950B0D1 +43D8EAAA49A139EA33E9489F559A4E9396F11B7F6C81D8AABD8DECF2D3546F26 +05587E05ECC4327C9A180A2B1787EEBDC31BCB85B85DA5F5BAA550AC816D4A17 +F2C55F6D9E8EC335F2E11F7B1CABB84D2439BE2C2239A4426CE40E1FDC3788B6 +E34981608DD46AC4DF1B813507F52904235519E8AB45781B404ED4C5E29FBB2B +355B7B1809A84910429120CAE0489F05826759661AC1DF1D12C66E126B2E1776 +AD215733FC44733C81CCDF6C6B3BF99E416AD38FE8DE5D36FDB03500C35CA8DA +9AA8753A58CE072741A4B6D522B00F420209A2ED5CD0752849B1C28BBD63BC3F +37C970D2C3C7382C6ACC7204AEB970C1FF0B932BCB957497516E662271820F2C +A7CD68AF6826A8499A076FAE3ADB8F17EDF77865B9B9E7415BCE29423F4A463A +4693E886AA2CEBE94BA82C79E9E395F5CAB8B4C123C2A2447015F267291C28ED +989254F1C62D7E27CB608D5ADA4355319CB30C348BE0C9C6E43F0BD4D7BFE7E7 +33169241C3664F06BED75070911209F830AF9924764C18FF87669B51A0BE3877 +6B44C34B222C1314B8BD0FBC23B893DC976844ACB7BD866A72EBACACFC3CDFCF +8F8405922C93B7C2634D792DEF6EF365A8B5BFD41E9A59D5D967363D70641618 +2997C6596E4AE0EF32A7FE1469D27A6B23D2625E9BCC1435F98A6318A346A340 +8A5929083CED634C9D6947A201F4701416025D8C40D07E427BD138C508B909C8 +BB3FC3F2E5B776568CAE2B96B8D7976D3DA52B7F5E76DAB7EA6CB3D096877771 +F5108821A6B1ACCB567C6E244B9710F92F61BE2E2040CD2F7BF079E4557A4E1E +9BB239E830F60DDF663E3B9F4E93EB6DCE42DE62A7F7954BAAC0097E779320B6 +7FBAB7ED3996F607EE444CD379A6D4D98A6C3EC679F559CFB64E21C36BF9AFB4 +DAB6DA49D9D80B5B88A93211089425C91B8BC9EE1FAD8B8FFD56A0699AB639A2 +737AE01BAA1E6E22EE5A58C7B310402D6FBB55F95ACF899C78C7BA33AA20F8F3 +86F504C88A940D48F09E25C2A15DD005A66F3D713FB9887B8AE6CF479089D391 +BF497D10566819F3ED85DAAC13000BE4ABA8DBAABCE9F622BE2901D6291DE978 +315BAE55DA76F28F93B1555B0F53FEDD15D25572BF063F8F885A36A0D846E057 +297BE4796D64FAA7758F29C2FD2FAA179B4BA4A84388369CAC63E9224CB0811B +178AEA5385C529373A6DEED635850FC623857E8AB62AF2E0116D1592EA118481 +1812F034B53FEFADC0AC1D1545630A45D34A58128A00FF25EAAD0C131C1C4C0F +E8D3963D5E37AB71863FFA667D85584E78600A781D0ACD394F47C6DE6172D253 +CC2AC6AF237C7721089A232D13995272C612DE5A2600861EB0152E4452499183 +07A713D82020223E4057B83CB1632E53E9BF2BCB01902D2755D2347EE9DD41C7 +7E7E00133121F6E6F0A6C3034503BA83B119F4846201D47E23977F0A0570BD7A +B5607CFA6CD1262BE1E8FD0536B558894BBA8529BA2C84375F10FF3107384E5A +B6D8B63F7AB3CF22112782915641340134E00A05AAB5A44D6DD020DAAA2AE2DB +993813B719EDF9E6376CF9D0E5B757CE385AFEC506E5103BAC1C121798B211C0 +729BBF0CE8F85601E006C69A6BD95642FD10498CF456E762E15CE0D2EB8D4ED4 +7D5725A5B8FBF5428F605B9D7B68F69FF00A73DF6066D0D304524196E741A056 +64BCB5A71663B81362E0EF1A58FDEA99D7BF168325B6E8081E36019B816C6352 +AE06E7F40CC72912D4181666959C788600EE919B1ACA3516053282219A05504D +3EF6483144C4C24041E8D30E6A0BB09398BF59E9EFBD31114F46CC76F6685D4B +5FBADAA46A9B15DB2036AE837C28C9B5C53E7DEE003C398975249BF2E13A3FAA +A496E9336554718809A601E57077C873D240C2DA09745AA99053B73B3D473844 +C4410696B7DFCD906B0242B08EE28DCD3DF401B52983C65337292DA56B7DE898 +1882B42F513D3529B4F10712FCEEBC9E081A62214635A5629F9F2A8CD4D0CF97 +86EFD0D40836F33E6D8D8F9E85717BB68CBBA5662084FA4046D601C7B6DCDE59 +573DA9D1975ADCF8329E2DD7972885398D33D35460CADC391A66C8D7D6348FFE +8144CE3A7C574E4F30701143DF58AE5691F08FDCEFB765BADFD5E675AA9E9883 +383A55558F6AC995705796EB8CCE56411604C03FA7053957776B0E4481441D2C +A2D012F69034C2EC9389288D58693669867136AB674F6EB91DD09BB2BE6DD517 +5D6DE70799AA7A8B497A2149A36A92B2827B5E1A1FCAFBFF5BA5226C27EB59A7 +CC9ABF5B8E4CA25CD12291DE08EADD94ACAC6A70A411C67DAF50D7099831146C +B302588563D0420657EBC13ADF5D5249AC0B64049C87FFEF59F4FCD172D4CEF4 +40C42AA717AE1F5C503A9E657D6A3FA3B1F8FD1DB5C4E6BC6434A6DF8F82929F +EF3ECAE28BDEE0567FE75A7CB7993B8AA272B5E46F1AD1F7B8CBEE084D633A9A +51214EC8CEE55570C6ADFC88F0FA07FD9488794ECDB11D99165FA73C7A7B7CAA +D100CC1569AE8328CA7918EB3D1FBF1159855771E89D4DB4A2E2F82A222811B7 +3520EBBAAB8F8C51F4496BA70975B8DFC4330B3BE556330A7F1DB287ABF60E3B +5CB062E42013E628176B77E97EF4838F67CC5FAD625F812902A5D6C5B7D1CEBC +F39B3A36569E87B4B5A1A87A6440DEA468480356D325711A5E47053E0B01FF91 +67B57D9014B71F2EE94EBB869A7DEFB4D6EC7C6AC6A2207A1E343C6F7CAA0274 +FBB3C1BFB480EA437B657C9525C6C270F8A5BE987998DC56BFBE3098DC87BB93 +31797889A65947BD6CF3A3559D060E11002FDC8AB6F4EB292E1C8A8C2F955A91 +F15E2319BCBA5CD6E7524B9BAAFC6B8B76487FF61AB5B8C2CC37C1707CFB5305 +E152E24F055E517EC316F9EA054396B1171EC8419B3F22ABC2D75A6B27CA781A +417C0234A7C09D539EE5EA6AF96D236BA47C5C52A8A82B5FAC494A93F9C33E90 +CC2673423FBA15AF6A2D7076EE570D786018587CE7939B6D5D79C48263292D66 +1DD948D14DEB8F197BFAA1028A0D840BB55792D76F11B1733E8404648982EE99 +4B1B81CC3BA20E87ACE670E00C0A613A740BEBF5EC78FB3FFFDFD299C074FE44 +6692E6F2D6B56720D53378C12D9A2BA10E90E3116E783A9C8A99DD56E9108750 +D18D2CD714F989A2A06AB2A78BBD8A85CF375ED44CA1BC7360974A4188303DF0 +00BD5ECD88DEB37A78037E97800BCDED2A9E455CC8B59868DA7A91F1ED536615 +B33265B40935239EFAC06D9EDE24A9EB00358E5524F2EB0CBBDC0EAAE8EBE053 +CDF3133CEC7BB42D6FC09546FEC1A28AAFC7D0C01ECA3E89977FC96792B1D255 +4112F249A3ED1F6CFA49D4BDF41C61B988E63D3FD7E2F9FA55BF5EA2C121089A +EDFD95275AC5EA685D942CB35B963D11BE6BA86DD7AF6CC814F3BFB7C27D5771 +BF822F54A00C429B6E476397B05D55FBE4720FBAD18D25E0AB339C683B9E359A +AF41919E7381E87995CBD347C6281E92258BFC490CDF8CA92DED47EE8B0A29F3 +8E1447E88C6B961D41EA4A15710D7BD80151A3B6CEF4DBD49758044A1F846622 +C0BA139742C07C81E4E316ED3A851EB756FDFCC78FE3A2D9DA054F6DF3263734 +155372602B6EC860186AA4C67B6B235540D9D1D2D2F7A0AEF48EBAE533435A6F +AF0FB880E548F236D794F0B0309C5A4629FD49BBD089B189203DF7B14BF52563 +B0344415CA128A088E35FAFB7EFDD6E85F2C72E418BE88EFB6ECE6CF167B5746 +4B33462705DA2766FE6EEF53F8F94471C3FFA0FCA34A34BD9DE20531CDECAADA +1D4BC183EFC52FA157255B84FEBF7E13E71AF5C41EF51541DA1FB9FA805C47BD +AC8044DFB6729CAD52934D6013465F216A18200CF37028E2ACECBA8FF44355BC +41F752B55742CB3206B1527EC74CDCBB94A5BB88C9AB18B862842DE185A49D3A +385B275A576C2D30644333B949DB75868DB4F14ED050E2E41541D067AA1D0C51 +AE15FC1B08CEA3FFCE0DF6C48F4F5FAA934626F3755EC25321DAC763407BE7A5 +4F08C961EA79F622621ADC5982A372FFB3318DCD54BFAA3F7904B752B37DC617 +62518D2E66952D22582E51967166EDA84EAD2571DAF08036EC811295D13DDB0C +C31FDFCEA2B3FAFF3EFA3B1CEC4E9FB2E12F8D601963543618B2784238B18C18 +06691D873EC4C2FB624D2E2FE2EFD25BFD74EE49DAFFE001EECF257B1E9BA41C +242321C134A7224CB7828DD01C0A3C22961A2CD2A901998C7A5FC825A9D11D97 +804E129479A9A75CD2C8A507E0FA2A18DBCB0357E6CBBAC88376252BEFF9BE7A +6B7ADB0E9B116D06ECB5225640530D2D1AFCC3A3E9EADA73708E51C5FF7F9E0F +E91736E32487596A00CD2A82AD3234A6A59DD266E5748460875084314FF790C0 +F392619B732BD9796F5A037E21AE5AF618E075FCD73CEB14A4EA110E864E1626 +2D8CA3408A0D795DDE9F3373AF815EE12036845F3FB9371B986B86B53A885431 +B676A415246AF642AD2782BD7CCF19F55858F8096FD2B1E103415D4AF671FEB9 +292F6EA47E78D8D7D403F0170F39DE40761631D0257420B105205F80DE0D1534 +01F38C12E26BFDC054271A0DBF9AC30572DDC1F31EC6603C7AD768441288C8F2 +A4788E0C53789BA9343930154931BE28B11BC1EB75E5ED62583B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMTI8 +%!PS-AdobeFont-1.0: CMTI8 003.002 +%%Title: CMTI8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMTI8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMTI8 known{/CMTI8 findfont dup/UniqueID known{dup +/UniqueID get 5000826 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMTI8 def +/FontBBox {-35 -250 1190 750 }readonly def +/UniqueID 5000826 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMTI8.) readonly def +/FullName (CMTI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 58 /colon put +dup 65 /A put +dup 66 /B put +dup 68 /D put +dup 69 /E put +dup 76 /L put +dup 78 /N put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 88 /X put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 +5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 +8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 +EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C +02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D +46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A +4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5188B8F2AEA89F6B +B9F27709B9A6F7FA0D2B5A522C8FFAC1E14B3F5FD04513BB94F52F432B304636 +6AE8FADAAF2CD49830BAF2AB6E4BE9BD0BBB46BCDF190BD729750493D407FFBC +E0AF4FF2457B984427D29E386D7D003DE9F46C90DDB2052542599275C0B2AF3D +5782F71AA076172B764888EE754083308056CE0FFD39135F0CA6359948C049FD +63EBF553A84FB9B32845354B27A32CB1398F49E0A331193E0A858DD240483727 +07F041E6D75C1378445A58E2B31F146BAE8BE3BBDBFAEF873B44F245604F69FE +376E57A404A743550B10A450B9C8413069E2E00F0C304EAA7CF987E7F4577A04 +77F67F4B845BAE635E0639F6E98C3DB615F4376F878495FFD22D7A49FA424EC2 +823C1587925820B548400B53B5513AE97A366A87B4FA8C886467766986F80174 +047CEE583365F828D13C1DC83280388C21E7822EA28E715C1C071B4DCA6F19BD +1ECD540DE11C990D6AF7D52495E5882E8E4FD30B3C4E33BB91B30BDBE07DCE04 +3DA11D0A2E0DE87AA3FC65A92B11CD3F8A601536AC29992E7219A6E21E6F6DA8 +8B98EF41DBC1D19CD926D2888EFB42BBFA73C8ECFAC12E368E92598AA943FA70 +9D02829DB25AB9A0109C6361752223FE5E054C1E21CEF35E48979979A0DDDEF1 +5EFD7BBF989B7C7D3437DBCE1669341264E290646F2C8C564B6640D0DE9ECE1F +71724CAD66C37C8EC298848C43387CD3F4488229EE5C7E68668B2D39471ACE31 +D502B7C9560ACDE008E84D99FD379D13C6AE62FCA484B7BADF5B8A92E69790E5 +8240C3E5C78A83E2600B0EADEB020DC3A7B2066E895AEA5A9A1E606E14818DF3 +56EFBF8876EDC25C14D6DAA1B7A80E8F667738D8D5040BDCA080A6A284C25651 +40E7A230582EA0204276217571168BF11644A7DF209C22E3748AAD3A90A2BFBE +8C3BE010FE3BF7932B36DF91858583EFB3BB212E9F66A09F525981477AC03967 +95C70DC6BF8498F80B7F92B748560C07A583B14D5DB2E48718E2D5B118386AC0 +30DB1283D2842392655AD117A75B4425C51ABAE1EE122E68D24A35406B73CC2C +A839EEE18F626494A7C781310FE182DBBE6EB9AB532E32EA64534ED6224450AE +25E1C2DBD245F76936FDC8BD65775F5FB281330BE2F7E21E34FCA486106A8385 +BDE975E225E68DCA7CE41C0A882075D128AD32E4D0B0E2E2AAC9F40D272003FA +C804774131EA9C190CCB741D688284EE32CD2C7790AA683F56E33D571100C12E +F753258FBF6749FAED4540FD7BC73429B4C9C93BC9D2D482444C50FC35DEAF0D +D65136129D220DF8B9CF961F93D4D0E6D6B8E0240B9DB73B2B81617E0A708DA4 +F9B95DFFF22A1EB794B5C2F4E7F2159471F9631DD4B7959B8D87BED8B70B67E2 +BF7D6DCD58A336E3A6E97DB53D94268910CC212EEBE18B4898A56E16F97C7C4D +A34EB6E1E6AA0154FFEBB13000ED9A4DC26FFBF0481D95F5481A72F480EB7A04 +DCA9A6143D19B604F8502F25000352AE50C33C53657A4F6118EE324246191316 +DBB6635CBA9047F911F0799942C5F46782A8EB3F500BCC68948E58EB0CBEE0D0 +9BA12584C79AAEA795F4EFC3B04169FDB8EF672F6126BB7BA9497CF58CFCB0D5 +CD03BB351D07943B8D0FBFB7DEBA03E833D591660F31EA7BA55A9167766A26D6 +A156EAD371941D319D95FBE43260C19DD649BF80B44C9C695EB927095421DA01 +0D422AE17F547FDDFE09D3D867AD4A1C79014FABF12E69A547B73EC7DF70E3D9 +24D5E8012C5ED4917E2A5E7E830573F44CDBFDEFECDB5CD4BBE0C4DD6A458E31 +A7410FF8C89E1F04775713BC812C34E4D22D375927552B305FDE786B14AC3347 +6695364B2A8F5727B3A202ED392573AD67FC899007EE380485384D10CD55664A +A7D6AEAD020002AD45B46C9273D50BED3387A0C1D11F894004CBC61C6A8A3166 +E68FF692B25063926DE2F698CD0A0141A4685DCF0FC0A785BB2FCBECCA57771E +7031DAD19207691B2F1A9F00485D746765B4AF02A9606522D8C75BC14998D68B +8208773F4D2635EB9502DDA4825EC7DD185DD098B953B086C9B9F99E0BDD7ACD +058E3D2A02DD2B2C6959BB3D961E27D234189D23088DAC6B2204C4A9E0F76DCE +394E2E4670346A37E7FA9402E40C20F3C40138C6C7CC90A5A8B9ED3104750118 +4AA57EA814ABC985B0796C3EEB88017C0F69BC5F268F7BA1B700E75A851B79B4 +FB5C715F3792340341D74B45D70D1651814D8847E02B814D47CD8172EB87619E +5D66CF55CF11D1A877276DFFEA9028B507FA173E1A846D1C42C9662D79766315 +2619DC94A4E331F6B70E5ABA692A96E842D43B05362DA4546427CB890123AF04 +93293AA38FE8CEDB20D325E4E820137206A23DE2E8E3A5663638F74A89D5563E +1BDA0CAF151F6BA70C4A22AF26E0AC3F2B9F8C45523A53AC4F25A2389F4980CE +44A118CF1679CC860B075EBE32E52489F75FD6C747BE2E6996714FB61498B05A +66C01A15D93BBC7C745CE0E923712BB3BF889239D7E9FA4CF6BFD3A48ADC1B62 +AA0D91BEC7F7C836F2AF0BDD8967BE0D63C5EBFA9BB4545AFCE1CBDE408F5DDB +EAADB00BE93D21DCAECBC937212E64C17C742B77551A7486725DC5B6968B89B7 +71DDC6FF46B31DFE19C5F3FF92CAF32ABA409AEF643E4D8B672E5A4AF5923B10 +08389AEB65A68D4DDD8D8034EE1345D4A357E27A3A0CFBE376748764598912B1 +D29B80102831F3EAF20A854F9B13F3BBD61F69605AEC1B6ED1AB066F8A13D87A +63A4008A3EEDA327F8541CD5F105D8A5EE4A79B9283820B195D8CEC1E00116EC +DD4276E99B39A38EB9EB7D2B6FE23EE248EFB9095484930A1B8E68FFE5199643 +D9213A1789D8068E444F4814B88B0389D83C9F1F29572BDB7FFD034B33DC9AC1 +D271CEA82F4EADA3BC91F9E5E7DA608D8567EB4D8A605130E0045F722AD3A0CE +CDEA22B9CCA878E88EC5E9C8D0B6142B281D99BF7F32D1CA8CED728DBE57C270 +D3636F62D06A97A245B5E7C84BE2B15987A2A4AAAB7C54479A14669B47F26C54 +034F20C1146AEC8295F995C1AE7C03D11F7257BE65803D8582ADA8257BC27F4C +0459D9B41274267D50CE7C88C42987631D29869AB4EFB1F439D8808BEDBEFBCD +DCE341F58196C6BBAACE9D924671C1B82E82CD6D394FB092FAEC820660D09767 +F14ED82B17FC5C7AA5C376A63AB05A4B4C6E21FC5A76185D3038591334DEDAFB +D09146B80D3A0E5D0A171BD83313C9C49B569F42824FC8BF2E1C1DCC8B126E17 +FE92C679853C1EA00FD376A7C12142FB7EBC911168F98BBB77CD5673D038BED1 +677A498EFD3AF478A0E9F0F468310BB304E38BFBA27E35E329779BF4AADD96D5 +7D83517EB68BF45DEB72327924F3DF5FB0434E153C2B4A01BFBD77C6F1DF56C3 +19BCAF94457B781EE43E4F1D69434D96475880591A492100FA85E6AC6BF70299 +3FDCC4F27C49AAB1C339A841A571CE65C1E6C1133409236C0B2AF151A423E4FF +7C84F42A41E472A5B18EB93DF182BBF8675AA3C0EE971808CC67B83E17FFB475 +CD041D9F5C69F907BC2E1699B9A516E048F1778C8EC1C50E7455B9BC6802E871 +E6EA5B6D6E92BC0048BFA7FCCE18DB433EB037D7D7081F00CF4020C07FFC871A +C486338D2F8437040DAC75AC1E1114569C60CCF03792360B420F195F2383E51F +D028FB342CADE9A8B13099A21C2603C7859188784D857D4950F4D82D15F025DC +6D015BCB9626AB339674589595384AB6CF067820E908493AAEEA2F16D0FC91EA +C797F6BCDC5963BA1B213CBC050661C84334FD7E643E978594B2E9979C25A9C3 +AD0F3E7AE0445CA0B106C97F962E5B314050AB826F8D01B3C3CB08E3795FAE53 +1C2E0D7A174A2A968AC06A53FD98F807C38CCB35BB57C39FA945D27153CF8C12 +4DD344A2F1FB3F777834716CB86D96C11C1BA9E1CE79DC7FFC1520067CC76AA8 +E4CA100D74C9C26DAC68F6E16C84365B8EB104CD382C5188423A3193C0BAF143 +CACB03DC0EFE64611C71C0BB65C2DB29CC8F9DF85B05CE69C685F54AE506DE41 +7225D2C3EC3021219C84392AE00D862EEC9D4FFD6E520E6245924A16A58D4B9E +7050013BCA1D24C5C9FC8CC596220BFAF8F9A58D53396106230DD64C19F561A5 +462741FA6B99FC44A23493489E5DC251E63CF2A5629963F356789F78F3117F0F +2B22F7EFB47D93B92A16F5951DEE257FFFC7E6F8E94BA6E73B3F2216186F3612 +4A276778340698C5C12ED370CF2D2FBAAAE66579A85351B509F73163C459C002 +0D6DA5E9018D6AF35E978779236104086149F79B914111202708B4FB7558F098 +4EC8C44BACC28CC8F20CA53726A73DF040976341CD72FFD434670AD09A62C5D2 +873E0A89A16FB8BB94B25FAD9DA42549758FAE38531D1BF13B2D4E51585C8E9A +EFEACF6F368BD564FAC6784FB264BEFEC0C133A9F6AE59F53EEC61F03B9F6D46 +17E615CB7AC40DE1C29E1DBF2515A6462CE1278AD5E7C7D616B4D1F61C4092BB +83FE68173BB8AD591B189106C69F30CA946AB505B955148A9C64F7E767DE1D32 +D19A9CF799F2F005D7E3D912E8351373CA6926D4D9BF2881198F3F92508B0F1C +9E32E86304261D57A9FB7CE2CBB1DA95F42C728E876DAE97175B7684E1DED2EB +F6353EF742AA647EA82CCBB8213238A4498C652B0020BBE09DF9248D2B0D7939 +D5D99B1AA7CE785B5979EE2E1EE199856BD2E03ABE8F2916C2A3ED3895AD6F32 +5B3E3C46493C37014B6F339268080FD6FA8B5CFA5527FD21AFF7098021762797 +3A3B7A778B16C138719535225E1C0FFD38E1DFD29E5128442D6FEFB2A9DC568E +CCB4F97F808B485303A3DF9A7283E14900FEB5E75A0359E9AC87BD47B4E7DB71 +1D155DAB0441EB966240B3FA2F5AE8C5D6C61E156A959B6F0E1B104684A51023 +942121A09D119F830D312A3B23AF98AA065BCD631EFA0BB945442CDA214FA193 +995A49B79600D2AE25085BCBF58BA6A663037FAC029B9D75C7D3D862003DC968 +285FE22C8BCA86583F305C4250442843B2DFF5CDD4736168C668042864DF6C89 +F9719A52ABA0C611F280FFEEA603E4B9C8EB744D1542EDE8BDAFB30740B09788 +E825C550291039A4020367130E66BD2B8E1C04B02C1853F37F07FF529394D18B +01106058E3C30412F79FF5E4DDC9CD06C77BEADAC904432DCF41C2667E85F89B +E980DC692E1E396514B6DD04CE197D3B6BF3B059F0F74CAB342B984BBCA7551F +A19EC31DF2A8F2923318A74269024BF26D7AED42E748B6B67721CE33B2B27A0E +04C1E92E3B3F97BA524DB97E9C6D3291231DE3D48F7D78A6CC2FD49E98117A1B +B39418F0DFD8FAFE4A374B337224B935E2827CF69102E30BDC6DE8448562F813 +3AAB07044FAF7324EEBB01DD182969963FE036A483EA0B5EBF59A52200685EDC +B733F81996FF22E99E772495A82AE6CE4BAC947B819A9250C1E7BAB86C06C3D2 +C9180763BAE247CD41EC46883DA3E98C2C947A2F2E515A0C9593CBC5B7D6CF08 +AB2101C1209AF33851314D4578B0B711888FC3BA0EF3A9480FF16B1DEF59BAE7 +3FAD030F9F0F81014B0960C2B234854FF290473010B011ED96016519D2A3AA57 +5F40CD98C367DBA14AF270965CA1FCFB66295A2DA89F0FBB8AF87B013760D85F +BD03F8AEDB62221C29746B7195C88D777EBB552D388D79F98A8472615C06F4D2 +DB9045B66BD7CF4A984C7C5A1642FBF92C821B9E74870C129F0E76FB23B27E12 +E88EF9194AB96BEF8846248DE86F31E6DDAD25BB4F86FE0E024A65FC6FBAF2D7 +E172453E3F9C5B5497C10045A0683BB3DA8B5A4EFAEEF4631E9E0042227002F4 +D9025797967F9F143189F30F6A89B4B26E4D274EFAA19677ABE18F75358168F1 +5D5106765AACB1F8338C0A221B5895C660D68EA1864577F8D3B2BD2FA3B7EA21 +A604274B6937DFCE6EB90D0C6F87D987DF0F7DB37E3219DAEC27C500B705C2A1 +D635405DDFD87C99299249281210DA7D0CF6C519389ECC166D99EC9C11EE000F +96C180A20466E4D9D3F803E0F9562AD09FE2289B5A0F72ACDCDB700158C150B0 +01BC38D269742A8B62E8C005535374F10134162AADD690D40556FF6621E41001 +D530D47D29CB33294D0CD50A4428B8C74C9FE425DF4455A7B283350A112C7721 +565C68084184AA06B8D2FC631080885DA36A9BCC09F8C9AEB8C79D72C2DCBFDD +BAADF34FA92449ABAAF510196620FF6693E252D31A6C2A4ACB3A198FE3278A25 +2ACCD4B665B5A62CAA65D60C1FFE196825927C922EED2EA130C945F1502263AC +4D364DF0476BD7F79A6F7B75E217155FB7E9E5CC967B94ACAE72455C709DA98A +0BA10E1F8851355190C17B6B6211D7610845B16D0FDDF9E12F55FFCAF2CD677B +FDF3BDEAADAEAE4CADD0334DF5CDA9C737C3A04CAFBAF6C002C26CF29895C11A +0C744C8738D1A720716272B4025DD975523DA33FC0B4EFBE48CE761B938D9530 +643C26E779566314BD72FDE97A88C62A94B4FE5CDB88C14952F739B5030A2A5E +ADA78AA3EE7971299E4FBB93404E91DDA9CC799933E7C3B32DC630FCFA9C4F48 +B42B33DD10F5F23B79C539B5B0B645F34DA8D8DF9BF2A052140CD52CC5079D94 +33EB60C17ABE3756BD28A384D91BDF9D655FFEE546B49E98FA3C48243C291B6A +FC5E352B2EBC82E2104BF7FF5B158847DF59B7B18CF808149DA8C6E55F357E22 +9B78BA28D7DF56A0CA7B55BCBC04307B5E2C811BDAC9815F70DC7671704699EF +59855418FBFDEF36AE436B74A4447554B39D9362E30D50597C0061C1E4BD6F81 +5856620DC330EA0FA77EAEC9E087341C4BC808CAB056591CB4C5EE5DE3E6A198 +F86A0081801F197142D986047DAB4677A862AAD48DD9EC4BA033FFB00DDEA8A3 +6D8BDFA7EBE4743BB134B6AD5A014B084978DA46D117CEE5BBE5E0BBDF13CB5C +EFFB4762D2400E5C0E15DAFB986DE0639D7547EC244B38F93EDF3D0C359594E7 +979A0E908E750C7C6BB9E65A9179CE5F2666103C493E84B165A3F08DA5F214A8 +A5E5B1ED447635BF3FCBD6577968E01745F81983DDF961336F79A6404DE6BD1F +DC9039005742F0D3C45314A7BD52FB4E16727D439746DD5500DA19E0F89914E5 +73E52CE753649DB28FD70F7AC5726BDBAD3F715FD3611D9D27D304E2BA58C32B +BFE69F9836D0AE72839A4B116CBDEEA9CDD5D6061782BBD53F7905B98A587AD7 +31C6DF8F3673AB9D6F5ABB9376D78137E8377EECB661B6CC8418438D510E6481 +ACC726178F7B86CB1EDD6B12CFA3E0AD19AF7096B7E75B753E06981B2BBC4BB0 +8F7BA4495FF84A571BDB84E280EE393419343F2FD0122C2D6E3C5DD7736E2374 +E41140B2B64EA6AA25D2D198799A2CDE0E7B3EFE8534815C7AE82D31577E8BC7 +73645A02780D46BE9F62A701B585FDBE40A8FABBF35A757B181C4F3070F208A3 +F3318CA3076C2878DDFD4BDEBB547BDBFECA4D5952491768306465317CB31A97 +DCB565FF8391CA4E1FA19533D7AD57332BD149910417E3E2025C86CC62591C4E +F3C3B0A8C9CB69C788FFEB3945CD080EEA26332EE79D87259B08AD2CE83AD63E +E90DA927AFAEBE9CE84F7A22CD13DDCB7E75C282537ACE01A31AF410A6ED11D9 +D2C6B6AA40D7CCAA092E9557F905DD1FF4CBEB5632AF3BF5A5898D94854212C9 +219CAA6900478F18909A10B834282FF1810458E2756AEA0AC692E809E0C72380 +B9AF1D01183DE5B1F2620B814FA2A23BC572F44474CB357380F46FD0BDC3CDC3 +016406B2BE245F88EC70E89A7B24032854B34F5FFF1B2283621D7A234D7EE7AF +00BC8DA24B5DBA872B606D8DEC5A97128D0C9D92CE1AC3301B7E99A4A14404AF +24867A1965DF6D1B4F7AEBAFD456DD376E010D766FC97B525087A3D4C45B1563 +02AD8E00151D7215F8782DFF34118C0F08D8FB7CCDB5F6724B2A7BCEDDB050DA +47D7210117160E813F2C217744E488663386B16FD06B69192A21DE9DA94D8411 +2E51E8F4B36CB6129F60AE21940424AB5338E0371CD8EEA50830DB2A81AF7EBA +F0F388AE4A8B028589D27D8763B0E9B0B08D77FD74672B9CE579BB1DCD2425BA +FA86C4AB9F1DBDEFC1FD7486F60854837AB13E406597A301175D5657D531F1BE +5FE3AE7C89088E3B0088EE25B7E152E1BAD8C1A223DBDCC2C11E8644590A27DE +7E1AFAEF792660158797BACFBD7CD6FBB41FF7B8D75E427C2DF89FFC8F337C8C +D0510F06A63566E4E2EEA49491AC5D74D10EB5BBDE08E85D1B8A8416D5BE64C3 +0E63807AB1FE93C2AED54F75BEB59268F0EAE6D1CA959EC5474049A693CBEBA4 +E07CB9B5D8DE5E0B1FB1A3F2F275F62E72049D10010E8F4C57E668F3594FEA4D +3FF741D019829AFE8637CF5EE06ACE734BD73740CDDFA345A32D3066F695BB37 +98BD9A7AF9AC1809C8990334A806981006E3B5B2C989F9D833B1758E8FC74B3D +6BF96D2E4077AEBB641AF0FF0BE3149F340E1EEC2C5212BD3FE3F2E918EAD744 +A6DBC643D39EECF98D758E1F58080B11722192BBD34FD3255821808C5FABF7D8 +A912A492F5F4B1F0A6DFC9595D7051D042B064B89C0E6073A3265C71112CA3A6 +A30B38A044B2C4C7A851C2E9A5ABF40025431153E1B4BA1BC15395724CC06574 +FECD70AAEED51E170AF3E82315539C3AA2BEAD2B380EA6F5397A9BEACCFB8268 +FDF83396446E33D3D5859F6340EA58E1E6BCF993A8A2725C89ABEB554ED0B8A8 +B0099824C7E5B02B65959D536756AD62C577B7559419A4C6DFA20604C957C592 +AC236B9191FACFDEF6134F401ADF0A60F8ECE06784169DC6ECDB5EB8352371E1 +7B525566EBFBC348F149E5B2343315B150672155D7AF210283E6D5C98F16DBA0 +78D06E3D94819CD698960D85B609B633EE9D006EF31E4C7897367FC60A2BE4EF +977A5056BF21220D6A60597DEF433E087D8BB70F0B99988917DCB83FB6F64C6A +930B79E8FB8C5AAD52FCC5F4E586B7F468BD5CEAA5BF90B1E738C3B345EDD42B +5B665F59ED1037C3A1827BE76713E4C1E3CA927B0A77DD6FAE9113F3D8561B4B +1BE93819F9006BC07F37C140AA3440FB2FE13BC0C9D2450EE7EA78DD70C1FD62 +60967EE60113614B27C8F9F9B4C0F9AB393EF7356B94EEE1BF3FCE493A1B2A53 +DF788F04EF0636EC3D88FAC7872EB58FFEE2D12BEE5B730205CAE15E9089A182 +90C4D3D9F5527E4569848BA7BF110198253BD656DF11867B5D082847DD1142FC +C376EFC76305EACC6EE2D4722F2AC028D4A2850D105C787C754B720642557C29 +8FE35D9AA0FDC51EDE8334923738FFFD8AEF0B47E4F68623BA4FA6F9CA6D120C +115606AA958D58E8FC34F432B8E0EFB8D70AEA9865557D7E0CE71127B585D54F +0160AE7148F928DD9C9780E7C71AA0DE0FD11BD7462569B1D67CCF29E617E557 +4CF376A12E4B497468D5D319D39B555175C66A372B3EF85CAAA79D3104F4F27F +43C84B4169EEB0FBDA55A7C8B33CD97FFAEE50334D0F251D74FC736CC40BC4AC +D805EFC3F17D20BBF5614F3991997F12678B20CB9E3D7EAD402BD058F86A8D8D +CAFEDB2A64DC2CD99677EDAC41DCE76F21309D4F3DF8BFD10741BC184E962DDF +38CA0D74E59075B6C0ACCC8B02FDAF24B95E6CF67D8CA5ABCD1CDD210BCD5279 +729F37D3D45E592026F66F035F93195551F8A7046FE6F7BE6B7198ABA63A892A +E7E81745005104F49A5722A06D9C774A981ED56C6C94677B6D2C1B7E7B1E76BA +218E0960F45E01F65519F76FB8A5D2C2BE429BF6F2805031FD14339DDE498F52 +C9FACC8DB4275C1B041B8BCF7D64B40FB81CADFBD43A427F2E8DC6D5FB250274 +86FCA3AE0459440ACD7E86D094696BCF41B3A78D49B4C885EF2D4EFE4B0274E5 +513D0E3946454FA28B7957FBB1651A1A6E5E4AB0792B3E80DA5475BADFE1F8AB +F66AC5AF2DCA292CAEBE8D7ECEAFB044A2BA15792CC63492FB5BC38BA8199523 +25519C399216A5E613FC66773E8CAC40539184F0E2BB9980D45F9A1C1B397781 +32987304B928B7D7C85F46681D98477B08E81681137698EC58686D6552B61FD1 +D2BC9951DB54A6ABA5596F96B33F185DC6A9CA2E33489A6F230359E26B21F069 +B1F1B808D5F58E66CAC3DFE8A83BA3DB0BD08E13CB31B33EF94CD01438A1AEAB +8B5AB004B065B2EEB42B25BD4FA66024EC20220B4B7D9CCD7ABEECAD2AB5B0F3 +1BB70774422EB0EF6C97613F3C257EFEEDFFEB0AE26237D32E07BD6622E74E34 +7DCAF8CDA93E02384713288D491FFFAB8D5935FD46196CF43BBC8568CB83F034 +66F6FF8FB1E676A714F20081E277C63D5C840094D5D05FA9CC9F0BDD31120119 +9680BE5C4CA7A91C3D3CEA7E556D94255D85E5532368AD60B8969828EFFF8FD1 +F10BA13B35B6328E4619AE15CB123BB59454BEE831703425B8485430DA42C665 +EF5D8C199F71C9B3616A0FA716792ABBB19E3C1C4B2F1A86D454C0F2DE8262A5 +836D013E7F4401CA86E2A3671448387D1262D8920B23D3A9F6775DDF99A54FD0 +13E57C2A7784D7F1A2D2C99E24EF0FD5061C985331F67419029C6E1C9158D5EF +E1CD5F15ECF3CE3176A4FA8584639FA9C95D16246CE5CB650BFD69793030AE7B +1CE8051DDFC2803E9AC7ED7DC029D4315F0A5327D94101A4BCE12A6D853A2630 +760B08ED9DA3C31A0B62BDF0CBDC096F8D832DBA9F9D0AB0BF25D86E74DB81F6 +69BC2ABB44BE5F5E6902FD7A873F848C7A476F5054C8C313F531217848664801 +D9E99ECF6A18426C17C9BB5A0327BAF486AEFD7355DDDFD2BACF29F8B85C05A5 +1D825230EC9EDA1561295853210A04AE9E82935CD1C353B009260DD51EB85AB9 +DFD002282CF27159BB1C455B88052E0F8F0EC2E181F8895657A1089D134F6AC5 +1FE801B73FF9FB62BC1F21F69BD43931EAA0BBE9201267E825C3F5D1A052E3FF +6E2A0E05549CE6A83A049DDE12369CCE838A9172793036EDC164556097FFD3AE +752CA3268B4205AA41270CF1B696E0A893E2413131B58CEBF3D5AE5C06C8F3C8 +32C0C0A73C2738CB9CD1F0554CEFF711CDFEAADF29507605285BC0B89335BE12 +1DCB7A5EF9311E899F1615E27F4D04D9B5B74196AAFF63F0D2479D6A15920A8C +D9EF35056B8E90CFE0200256AE7E3D2D08F3427B413416EDA50BC7E1B5851816 +3599DBA4DBB88807F7028631A3B84950A6749C18259BE5D62C4FA823B8C440F7 +EC199C865C66C1BE8BEBE434A61B22871F918F9C4BCF5C90AADC4755F835CD9D +1AA0B58DE84273F52DFC68FD407BE460209CBFB5B84A2321C5918C588F3F0311 +55D32D57D0AC1341F03261663A7D0E5CD8A9A1B33F1AC5132136FBD2DB09AA9C +26122A414D3405F059AD455E0F72C99AD2C2D9C20734250F14F604DE8CFD0046 +256DD8ADA4D7C92BDEB0165F54B88CD337308A62B392BE3CAD59793FB27A133B +273C7460D0717AE4B0AEFEE7B8E09E8E03D87881CE51AB745F000A1ED4EC2D50 +41149E97D8036F3AE8C9058FAE3C988518C6C97256DE5F9F53808808CB5CE77E +F4ACC2E9C62D1860FFFB8E62FD059038ACA98327A8B9525132C289175EDEB2FF +C9D1B1D2F636962915A9D76CDCC9B57918AB3F49B37ECA995E7B52E02F74B4B0 +18C895951E3F775C0884C906D866243E08062EA33D289D2A5652AA955D4163FD +E6D45DCC9A4E21A96C3880FFBE929BAF13EF0286C217B67877690A715FC21343 +E64F83E93493A923829C9634D4CB3E0A44543456216C8432CDA7A6ECC958EA34 +97934221D4071BD0FA7DE617977C8FCD595E53E90E8DF830D088EC9BAFF4508D +303F2702ED8EE400920119138586D65D9752D6CFEB6CF8358CFEE463BFC5024E +E009C236369B5616EF0BD5EF4DBAD0BA4D6967E886653886623BDF3D58E663C4 +CE94A483BF4432BAA404382F1213B77B2C5846BF032F45341BA0BC0502CC4D2E +F60F94D9DCDC1A7E6B5755FDA2C2889DB47FE18F2C6126BB4D04463130FF6EAF +97F7FA7910D7BFF18D8677539A3439020A681E69FB7AA03FD1616064E8B4495C +6581E918523FBD3C5A1B7B97C1ED5AB2C97271C35515720CFFC829EF920FA6DC +68C8545CED9FC8E724A3BEEE6190EB1E8810F444EC4946749CDC9810DEC72EF6 +6523EA56277F39B4DA1852B8EF370DF32CB10237F1C0DA8BEDD5827174609ACD +AC5C9DEA914CD9BD84F9BAC0DC0D5962F3B051F2CA05B57D93E189B16EFFCDC7 +E83C5E8CD4E7BF2A0620644B87F66E3E38BDB2D3B447B04833844ACAF5DE0DCD +6EEA88E358208EEF75AF7DC132BFC76343348F0BF6E71F7F112E6CC4B165BA36 +BF9E611E1C9A8D952D2691CEA785926EEBF5855832A4B7708B241EFB9DFCB741 +7F727552FEBA92862BB73472074E1C95F4A4B7B1024513158DFC39269BE1219B +5797C8B9FCADE71A6AFACD9BC8844E25203A20341962940D94490B2C019AAD51 +0089232382D6CC80B592192C5AA28C30797F2314960BD5336D38A8937D0E6C6C +DB65EDE615998380D8350336FAF477F5A8CC2CF9BF283D565C6E4B3DC1FDC3A5 +0F6054F58ED83F054F2981CC4244461F1D02C56708CDB4EAF999E7312552EC4D +18664A27D42A82CE93A3CB0B8274227514A0BAEE23118F6AE2C6CF7EE9ECA418 +8252B6142045BCB98E8BB84CC27A8D12B3FD22934E1632FFA45810637CCF400E +AF9BC0CCEDA377B483CFC933587790D51CEE474F67A1D52F3BED314527A827D0 +8C985F1FE9E7603EEE9F63E516E9C52D406AB395DCB9F9F11F42FB4CB3051802 +E3E699BCF7913FB9555E81FD5B73A46506458DBEFE33B07BC26F3599D28B74F6 +966646B69CFD18EEBAA1A45A50BFE1DC419C325C885A227D2FB4C35B9C69E4E0 +70448AAB9D4FE51B90CF515EF5BC2904C1B640F7C01B0FC6ADFCC45F98A90319 +C06C6A999F0A6A78C4536363682788034BFFDEBCE2C4E5C3BAA718424B42BDF5 +EA4F8C65C6CE8E317C2562BADE01FF6336A29504B6F2E46A7C9F509F2CD85779 +B4C2171776D4E42DB75B6F9E4774EFF7AFE265F0EBCBDED30346CB119E5BFE1B +30ACA983EC376B8DFB09463FE15EF2152F4059635AF7DD3A9F28C4E5FDF320C2 +7CE615BCA11AC4DEC2CC8A74ABB03B38238BC9118DFF6134F604DEF381C2B84F +63392BC50949014ACF1DD49AF7736AE120CF0999E9C3EC0CE23B8AE50126F01E +D137B751127DFD4E4BA467E6F1E24113A338458C7425C6C3F01A9F80965008C0 +08FDF7DC319465230E7C9CB7ADB1FE208C3E81E1DC52379303711D2EEE137F62 +C376FC4B0BB914CCC7F4CDF9A234F7182D53E3553699EC1AB84A979CC5CBC4F1 +4F8BC5FBE06EA511D2D8346D99AB7BEF00B4682D77EB4B67E4798006D4140585 +2B6932C40B8969DEF6AE6CE6902FE71EB49E06BB3E9EE8DFE75AA1DDB636D092 +92E8FE69EFC2D7F3276F351526F5EB4EC79FE679F3EC4264885EE7A103AB3D64 +951ADF7083F60A4C17412DFAFB1F49DBF96034219524F36FF2BE5F142636B071 +A50653CFF663F27AB904D44D1A4C30D989AFCCEC24AA12EB2A7FF08D25881B24 +130D62F2E07686E172AC581023766BFB92D64B459D6CAE3E9A2C15C4E2BC99B6 +008755FA1034BA491A97B31C5274A8E63E56DB6ADA6E65F430C1ADAF261D38A8 +3733962957C2D6C850924804A45E3C9898D78A6DCA6DD1F5E61093F3FBD296A5 +8A4EED3ABACFC2C4A5DD698F6C6B483E82961E210881192424EA1B18835C30A5 +725FF82E79F3E44E18633E910B82E9FFBC2D6203DE8B0920D8CDB7E688C68C77 +771CEE77DEC33B082EE8BBA4E2CB326E328B01A0D1A78A6E8DDCA1A59D8EAA9F +19451E450F2A190AE3BE716E360E6D45498CDD345677B5BF9B06B379CA9CABF1 +BD8E8E6182FBCD02B1397E32E2D63C35F882E5D222718D1267E849A5B3E2A867 +D2B697F708548FDCC85C306592B578F5A8073B69356A7C47BC9C73257B5923B3 +CE3C8E0818B721E8810A42F1CA1206BC0A3F71C4B1B9578687B01E8E11A47B7F +3C4C217810AF4C3BEAB88E9BB8CA3EE75DCD3975D9E57A84F0E79F426903A1CC +01A0483A7120747044E42D728CD4AF54FF0F25A13DAD43DF0A4CB7E98051F7D3 +3226324A699855D70C660996C14BD5F60AAF3C394F31ACA542D4FEA243F103B2 +F4EA6C47A704B6CE45844087C0949550A40E4966926357E01EF435680A375A58 +D8E1B7984357F7F9F5DB31C58BC8D0282B3410EE0FD1255848A05F985DF3CD4E +BAA58EBF2647BE889222CA9C6749D31DE5846AF2DD746D64A1595382EB029876 +1A41A6B7D9FC3D7E6303231439943F044363AEFEE5CC5256D43D07B4A59DE316 +7E4031624FF69BF0DB4F906A12A919D3143394CB7F5DD792969B2F54922FB986 +2BB1C19210A787CE77E41C2F67185FE171C4191686D2832FEC73E05C91DC0BCD +6823BCD886564F7586DE9C9FF2C8E1A6C7CDA3F8EF2B7F7E05A9A446A42988E9 +3F4D4D32CCBBD5425CD80032A96B8A2175C95151B2D4D001D67A0521D7C8905F +4AEDAC4EAF1F31FD28893F5DFAEB00D8314F6F9E3D2CA9273AB86B650D928158 +894678266E27D67CD2B46A3438FBF213314C6435F4F62C36FDF61423622156FF +5303C00BD3B90BA5A6C2C5985BA52997F4EAF468F7DC234EB87912D148070963 +841686BC45BF75E44E184BB269885AC004E01FDAB99A29ACA58D96E5A185754C +A7FAC1CB6F256E357F97C616405C16525F6E8EEE1D2D35D15D258DDDFC6C5D02 +89E9D1091540F5EC735DBE74E28966558D59F9DE0A1E030B7A8AAE83FA2E492A +FCBEF4C8E90F31EB71B976338A6B06AAFCF8634B74771BE37FE4F4CB46D73711 +4EBDBCB9575904FF7331012ED1A8D0F6667C0D2BF2F40994CB0929E396B81841 +A35C37F4BD29140034E4126833F69641C606BA564591E902D7EA06E44C54CA62 +DBD6B41ADF1F504C871D78C18325C8AD0399FB1BBC3503D1F05C4F046ED93966 +494EAD54FB446536166B81E07F9B97493B658A62A7436A9708A7827B4E153562 +768E7381D06434BF602D3C54F67DEEBA2C806412AF2DB9544C969914B7EBA697 +0B1A2EA1DF300893893790697A98842602986728D71A0A352490B6CCE0AEADBE +9EB54CD1931F239A597685B7F6148FFC8B34CB704EBDA2D5CBCE8E4994F32ACE +77D3D9877FB59154D121B1B9D1208DAD32ADD724802A555ABF12964FC8DCD248 +C09B326F64EFEB7EE467DD3FB9837BFCE868E0F55EEB5F970BDAB5E28E5B4757 +DD76D7B0F446AB48AD34A04905113272B383A8F4A498A9C31AB7D90E2BD08F71 +17D5C45165A77A8BDA2650F58BE16B068155D8AFFC460F8E4D1C092917BFE4C6 +8EBBA7B8D7B45ACE646652CE797FD30F150B0E13F1F01DB2388D171582F1D9B6 +AD72314A62EEEDC48F95EECDAD31D497F5F2C21EB911EDA617754882C53CE7CB +3E984C206CB08DC5AF6C36876BFA254941EF3B5AD20050C881FEBF9B024B9F9C +34445EE1611ADFF2A35012C2AC2C86E7BB57C19423E8AC695BEB86B3B7676D2E +0F923321D903A53621C83C861DA659EE409B6814DC8752BC20FDB54A7979380A +0218EF3F2F297EB6DC26F3B9B5CE640862365DCD0FDA861ADAF46DF109794BB0 +3E123F1B5048AB5B004512AEEEE7891DD3A6EFBB2BFA27187728B3B817796458 +894287F4D8C8CAA6A4285F38565ECB29AAB1CF1A35C5CA5D0CE6FE50904C69C2 +A50F2D4BE29D8C7DBFE677B10A3F1C8B7EDBE7FA8750FEA24730176FCFA1C6F5 +C10443F973D3E81B5CD8BA005138F68A5C0D2648B181D2943267C1587CAB9234 +B0F65A741304A70C3A84AFC3551A185FDF965DB602A8C6CE6014168CD252D33C +12B0B44BE2F550AC55F39E9C08939CA764B28CC45876DD7A38B0B951CD005A77 +3DED365C9C7CDC6619C8474BD16E6897C3CB272B5D0EB5682DEF5C6286D4A2EE +0FACD082738608C27666822C919B5C35F87AABF9161B3A9B72BADE2223C56082 +7FDF7EF57C7C275D79D5AE4A6884C25855438C4635613FD32E5D1A419C7E5B06 +ACC65B8FAB530C2C47BFDC6A8480101B345EB710D942B79465FDEFA8771A5FCD +B45EBDEC419C92B7D11224F1FA053FBAD13C40AACE761A7A545DC9A1E80A9BC8 +619176C6999CBA36FF5B469AF315648AC0D5E63D6510291EF7402953BAE3B497 +FD77778465FDC358D80EBECF8888AB132549F4BFB0901CB8AF275093DA620B2E +22056DCEDFC0DA07E4D241663C1F4CFC0C7D3B3E003BF03FF45F86CED4938844 +AC8F97C6A0DB98EE67484A9AF1D028ACC5A2106F3AD019B566C71044BC0A7EE5 +C8BC4257323AD690536352ECC40622249B258716E23E5A95234F02C205662DFB +E36E2352012CB45100189A90781A557E347498C9CDA54789C7C18F6B1E514840 +58098B81CF77A7C2ACCC1197A94EEDC8F28EA0FC9BB0E159F2CE96FE34429A98 +AE18880C105E3FB727F3B947CB5A249E9123B08DFD7004DECAA64DD838EA97C8 +A8C1939B122D60332954B6D28651F4E110F9C02996701ADB354A3D1B1619B5EE +CD90917E4A016C5B0D775E2284E31EC0D659CC157CC570487BFCF84B2BC5E150 +452862190DA2A0B89CF2AE31400B37C388A2F070679915A519FBC9327A0E951B +A6E855406A8DAA77B3B0C915E77B5E858D7B5E74C4113D625BEE62D32955F5C1 +D8ECDA67FE92C523B9C3B3E4022FBFA17CDE724B093C20C17A201E21DB8536F4 +62FD905462CCDF172024A1A9837F018F3E252715A2F86F174A3A16DBE0AFFC89 +00A0A789364EBF19FCAA325505ED20A8876FE6CE7D2F7447EE7FAA786C8DE782 +EBFB9C39323CBDB02BA166107E47CBA70D0A1E38E79154EA50248F48460C5259 +220DB4BC1E6D058C0A4C0EA29D1772390813475D5A1B9FA616D10127F2AD000B +E2A71AA362A72C2810BC36BC2FE53A66E50F65393A3299F7BD77AB97C76FB032 +381B93029D9ED2653226268FD92E978F5E7B08C50D809647377447661B8555FA +85030453C00D439680E785666BD2EC7974E512AB1694EAC15F8FBAC270619BC0 +B77D3BBF6BCCAF2CDEBEE7F9B8D9F5B3E91DCBCCF993BB3E6B8ECD0120F4830E +FED869C786F9C17098DA4793D10CD300CD731B295604142FBA9E17F5E6263FB5 +FDAB9FA31ACD35043CA3D22BB7A6A6054E3766B613EFC6C62A4E78D1295DC6C2 +3FA3E5290DEBB2475E4BC9D57CB52D4BAAF1D07AD6323A0AE31BB81C2894625A +AE62B07EF627CD9D3ECEBA778640F978B1CC617073135D18EBC8B948C6B7FC17 +D409514A8D943D1593965A0E8FD2B5D37A2A1A0DB7E434AACE140744DB916CA7 +E353EE69E75C0020B748C567B5A99300EF447A85D79AA574AD42742FD4ABFB43 +AE46BDE49F93969B25A612F70B4AAFF286B6DF18E7417CF1DB05563CA992151B +1CBF3B330C54FC19484631D7666234CCDB1DD539362B698A9A7874012245F341 +4ABA53DB2487945C5689E64945DC1727C1CFFC9F283D9B8BCCA3004B2CBEFCB0 +73ED518559720193818DD42AED8E35068D7329EB2A7E4DB77E92C9C7147C9256 +E3666AF7FA888F5689FBC7DAE082AFF277FC4B4340D0E3D4E8088BE2A5B484DD +F64798A9291970935E1A168AB64160B44B65C6389C31F6824D90347E545FAF69 +6887635F18BB77F6017FCD68E97531EB85BA35DBFFC30CFE507EF0139949B93C +B4DB0F85969036644C853C5F1AB6DA6AF9A15EBAC0D237B30ADA8EB41D8BC515 +9A0A3BD3B848DFF07F8829804A2AADE5FA84CF951EF8C45A6F56988E5FCA6F75 +FF39227479D568289ED1E0681686D808BBC30E8CD3105D8E276D32870959D391 +EE0623AA6EC87E5CFA3BE0FAA39A6C07EB242ED6A1F026C5B76065623455F373 +19BF83DD09036F15495E123F4AA74D36C5E243792B2F0FBEBA99E48BBC0558EF +2563CF884AB3913DBED6984172597559872DCF36898F27042766E0A752C96F4E +0C5A63E720870614C6EB10ABACF01AE9918FF2394535C404DC5950628ECD5C7C +408BF62F9213D7E3F750985AB4C5C64FC765556A5C72ED9ACA2505E16B4E32C5 +9542619A4F016EA3FDDE97D722C886058FB9D219D3C7F0C690580AE9228D3C52 +3E7EDF62371128527CD072C770E7C58AB613F9ADB3D7CD751ACF26686371D285 +4E7019687032DF1BF0C670E946004D9F7CF93B1F7AA41908C2F26EFF66D65BEF +5144FF385758ED51676EBC849AB3F20C9E0FFE3B04F4D002E6C70B01C9AC352E +0298DE2A32588CF2AD12B8244E7DA1290EB5395E94D1A5EB614F1933A13A3DC4 +FAE0E34E98A931B5378B98237FB322C1D486350524CF6DA4EAB6E08DBABB4FA9 +277B18B9A26A7A5D40954A971852D6A07C655011C4E88194A70E04EF27647587 +DF468EAC4E462538C25EB8134C65EADCE646A1AFD7E8331E67C6E7C695270ABF +6950B66061A812C5433497A2ECBEC6A548CC0EC4D4562E7291815D969810AF27 +7F9E6E19807AF32E275D96DE005AB7E8801B554E2084D7B6FF541D8E24FDB560 +76779E292D5D601659339C19D8530062E534D7CFCF2FBF9BE0A917831B323CA6 +A1194ACDAF57141CEF28D87C117A1F4DFE209BBD0ADA0D90DAA9706957B9298F +55467E301873776CD3B5338701288E4F99E543F4725197C56615739B7DDEB694 +F3C65E27300BB5F27814AA565B79195E8E7E2F8E2771C3C0A66E1BBFD21D87 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMSY7 +%!PS-AdobeFont-1.0: CMSY7 003.002 +%%Title: CMSY7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY7 known{/CMSY7 findfont dup/UniqueID known{dup +/UniqueID get 5096648 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY7 def +/FontBBox {-15 -951 1251 782 }readonly def +/UniqueID 5096648 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY7.) readonly def +/FullName (CMSY7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 3 /asteriskmath put +dup 14 /openbullet put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D9DAFF1B3EA76067 +C5493B69F73B89C8B61804A34FCEC826343337CCDFFCE17BF343EA8034BF95AA +14C56862C2C052569AFB236E1F1795F05150C8F28DFEF6BF4BCBACB678D00036 +30EE84FEB44B1A8438185EB45654E6853C1159B073E54292D135F0961A64E8A5 +AAE49C4BA9C44156C123426212120F99F3E8B7425752A5FE384AAEF755A8464B +51F015F9E2967477D57B22627D75CEF8AAAF0AEBD504EB46D0289DFC8D86C972 +F042BD88A90A53613DD93D8A7A8460E63D85F6C15C000C0AAEE4BD5130B6E668 +8C9B3F3FFD804745DA1D5EC0AB85C96E1724FA67F9324C59275415182AB48D57 +9722DCF602396AD4B5C075A5A89A5D005C9FE11273E5FBDDD1800F11BBDF6AEC +6711C5633A73AC5DF038BA521AC492E138F7FFC7C5438FFD32FEAA1128C66E83 +0D3AA40665F05E62D7EF00B1B0596162C402A34B6BAE6300D43F3DFCC84860F5 +C0F0F1CE28FC60642BBFE9BC9102E80146774CDC88F9C250DE762D24A3484BCD +1D26B6D9FE981CA5AAB2A4BEDC528115043DC18D7105735D7528C2C5DD89A812 +75B5D7B2E5A586FBB0C061E708F92C1552F64A296490BD0F20243986A4707FF9 +8AB3C917B8DB92F19DCA6B9D4A1DB57515E51DD85D5C9D2CAF7A036AA3F9E9B1 +5B5E099CC05A9126AB274C17D75CB4FAF78052366D2F21EDAADF84B22A2D645A +3E65C4BC0F540B5D9609D88DD0E4CBEEF87C16447D43A5F98528FD45ADD10DE6 +41AEC411FD6929308F0E4F48A8D9C9EE386E920D41C1CC98A52073011DF5BD28 +5683F280B5CF7F27DC50930C81D344FF5A8A9258A207D2531AC21A735B14155B +C22C752DD22AA33C52D6D4D053B3E46FD4C9129068DFF52695A3A9184D04E8EC +93696A3FEC3AEB3814D9015EC14C22EC3ABD5070E8C28A3B42F5596D948212B4 +AFB9978A0A361135C9E18CBDC98E0D1E8BDC17E25DDB3D52E86127E5AAECC55D +FEE61693190E378978EF1BBD4D1AF005D511C7607CCFA4BCBD3EC427CAD82809 +B725B25AE8A03EE88F80A7732A571A2317E0B6A0D072EE8CE2EB9E033CDCC899 +B64CF4FA1C708A885442062F08D3D8DAF44C066EE278714D1486EB709D327865 +A483F62709E89D08291F044325208EBA758DD459481334F5D9AE3BB61B3020F2 +A4538CFC2C94BE84C920BE80806FDCEE394230730E049333A7E16509207514FD +695B5E0AEA9E4A9737311AA0B33B15F6769FF865D1ACB63DC6201C3F1062A3FD +1B446C1857460745917A36289DD57C94FE6240F4A40FBDFC10E91B91B79029D9 +9F1B9C74E8E5AA011A0ECBEC660230AD5929F01D0325D15FDC0040406F124021 +02AE176F4C98BAC1706F03C2B5B40F325A50CA4683B2BB4605E68E72D0CBDC2D +96B3BBCDD01201B650A7E7744D58D1E36D81FBF72E0A875FF29B4C109A1950FC +9621B18D58806392EEE9841794DFD39E3C4E20D45384FE07F9D445F143B922D1 +AB350AA6DFC51FCF767B141A392D6A8B633AACBCEC9F56A0CF40AB08020EE63E +08CC0BE01B40E86388A65F5869F2F4D022DD4B912031CB8CEDEDFC2473772569 +5B28F66AB74CD7902A0061AA3547D13C7F0C6EEEA7B0BD316694A94E4D672520 +EA044AB28D8D01076C486CE456EDA1811F7ACA75D27473080D27D3E681E35FC6 +447046120C6CC4C17674F0F051570A79DCA74848F3F300B58B19018430D99858 +CA5504084D6BB74CFDB635B6866974A9AF05DF201C69352B2663B0623E7828B9 +5EC5FFA8D8F10A7C28000F8C679B180067D5481D6315BF1C4194EB171C8F3CE2 +4CE319975B9E948D907F9F7EEAF07089844391555F329E331D52FF114668B8A4 +80704B3C6AC0CCAA2F5D043CE44E65EDA89A0CA854CFDCB11D549B7FA72EDB90 +D35353C34A771B1FAF96F83FCA5258AAB65384BAFFCE448690C1432A1F749C20 +5817205185F973FA098BA856584753E75EBEBF387FC155202885F5B67117DD7E +70D1CD887183C5573B6FB607D4F6CC9F8B94B09B3F3AEC2EF1E6A320CF6D0112 +63046321941D1FB3F2140B59370AA9387E24D579D389A166A10C989497FE9549 +34E1AC2E546CC06C5308460DBEF3E1AEEB6CBB0FFDAC458E61DE3391480CF5CD +34A647D4DE15B81131B7D1F9EED4C6837A32E89B0EAAD6A05F5F67518655E5DB +224D4833CEC60D5DBBDB8A03FB1A9730589BB4F0FF56191D17E73B9562E0C356 +B188882B36F9505F6F42EB2644FEE125C2A7D12227ABC8ADB924E88B0A9E8DC2 +79762523B0B88DBBE6AC7968A46BD9E9F0C3F03F5F64724CA07782195F01F130 +30DBE895C212E0EE20162D863F46A674D85232FA0DEE69A8DF019794AF6873AD +9CC2A5EEEF9393313CA519BF95C08ADF7A75B6F53EDCDC39851D20E58B97CA57 +A7523717AA1821DEA94C8A9F8B82346B16D92D15AEDC16F0011A45A44B09DE47 +08CBA46E8511D0C5CC83F952EEFA4ACFA7F3D7FA5E113EF6B70E5ABA6F1AD3B1 +E4D3B15AC6D5C3BC70A3946F411A7D965D6FA9D7B6C6ECE19B2C29A2FF476251 +EBF0CF3BF658A1D896323706172746F58B2DE49F8B7E431E20304A42694CCF73 +11C4E9E96260CC442E2938A1E27EE6744C7CAB01634C8210CE40488B9CBD757C +4277B5E3E43C7560291D945F9128AF1F85924003418F96458ADDC5BB8EC431D5 +AC9093D20DEA69B92454613BC1A82DAD4FBF8E56084494D9D2FFABD82A7C9847 +171FE36B265B546F3072B0923840E6C6BB12CA53E05A99F0E8FD4F5109782746 +7CAB9B35B68050230736AE624B7862D1244C7D9BE4D1CAAE21B123D1E8372377 +F1FEF269A9A2EDF02CE0CC8BF92FD7EF09556987B8A3BF6D8C0A663DB6B9742B +E9AC61A449106AF1EA7ACAD40AC6F59427CC51865E6A90CF2AEED8D6037BA70E +4ADDAF622CDE877C98C3B2006B4721FC9BA18E30F0752BD4ACE36221F5CD1497 +8FEDA5D643BE2EE007970A68E53D85975116E6CC09F0039A09EBAF0CA4B0EED6 +A485CC0B69E526033FD1C1190BC5686739CE13D1AE8EBCABC01FCFF26141867C +44ED291196E546369129B9F759FDD7DC21BAF0A528FC34BA9FA8937813953644 +C539F9DA4E55E83DB3D6DA309C562DA1330B157957B18F7618544AB738E25F16 +F0517CD13C1F11BB8EA056BDC575D77CDC526EF497639DD89C2098660C5C45B2 +D7CF715AC5E76847E0D3178360DAC1BAF6ACAEE72453B845B9F86621C166857B +029CEF5AFE29D1EDB4CA3AD7D008B7550A779E0066D7312DD6C7AFE1C0BFFF25 +7B062B0DF30032EA2A2FE3CC46C96A3A0BA1888D1D2B05424A59ABE3EE928ED8 +B67F507EFA78AE128F58B54634C7F534B3D0F4AFC23E38FB56EB39CFA425FD37 +848545EAD03EDC5A9E796CEFB345F527615C785963F536972EBD9CFC4A6A4A07 +5A31A508CA147FBB762ADD198CE36DF86730FCE2B643D1E7DF0BDE800DE7AF89 +44A36B04193E44231E08919EE91A8B559646DC4DFAFF0AD891890A0A88FFA8EF +B066BCB7AFCA409C51889E7FEB33F19A3CB1268BD0EA74AF29C1401BABD16F87 +ACF7DD65A8513DA9995C5092C36A774BC4260113360D29AF7ADF5D22B5B58E7E +A9BEFC33B9A91D2C397B27A81087376CB623318A8362C3FA9CBE3026675723C2 +E711910DDB328E0EE3FCE219F44FE528B70E58B8E6CDB4AAB48237DD933D9639 +E9D4F9EADAA8D46537D964D75C27F210B0C2473CB60D65F61BBD91ADE01576BF +77C49E31936138B0FBA066BE910DE1B1F0E4FFB5E81038E8656ABFF08DFD923E +6BA2AFEDCE6998BBF7045393C34811501586A4846E5B942C8E99D4C481D3AE60 +2796ADBB5242D59F1116EBB828014BD903EF58B223DFD18BFBAAE4D348876B06 +CAC10B7AF0DC270E6702A3F75D4DCEF872F2CDB9470AC9A1DC1ABCB55636D26F +9CB6BF27A0DAEB1F62AFEC12F55F78C9B59AC6DA9DB4B45444B0C582DB4DB8A4 +B31EF4AFB77988E92FC0B257374B4408406490D9AFCC495316D6C08BEC9A76C7 +12371E14417711EF802FB7151B3F6A2580C97527C9C3A0FAAB8D62FD992AA18F +EBEB36F7910186CD5F70A55DFE932757C299D9D2289796769A00A0C6ABD18F82 +E0D4E95D6477E67B4C012DBBD098FE20E2F15C412DD2AD5471A65EACE05B3A1A +0C9C430BAEF4887F2CCE668116B87FFD9DAB4B9B3605CD26E6B12488058AFA30 +8843791A95BB322DF5C47387F3EC72343855D6B23D72144EB5EB5157B8B238FD +6C71DDDA64C9539F66A7DD569FFF43DBE4A8F0608A3CBD354DD9BAB5E3C756DD +92C3C1B3E169D86A2230299432488BC04A87E08A80809F9968676DF9157B1C91 +27C664ABCCBA9997FAD8966F766B325086899D1FE44581FE07C97688B3E15B0C +234A22646C32BB965B9BFD2CD34854D1488AAF021E169BF9CA9665CF040E25A8 +16156C80A2F47397CD370AAEDA731E0D14FBEE1E51A17DB972D96DBCCE33F937 +5CDBF1A650BF1D3536BA4CB7A1CACFD5CB457E2368A660A62AC26E64A631B2BA +6B08EBE42E02D9B1B2E95BF9F0A6B59C96A122968FD46A4D17BA3D018CCBA0F9 +80BA3C1E6C683111AFF79303CF64F1D2CCBD7571C6E09DD9B27B8E101BE219F0 +E075880A0E367885AC94143E777DAE455B990383100EADF786300602C2CE28F2 +4F44662FDF03BD39A5181912D8F1243C36FF88882CFC4B34C1D4EBBC01D96A7D +9CE5303042D1B21042E4FEAA455F22A01333FCAD7E4AACA5D3A5386331985F6B +9B247EC6310BB07507321BEF3E4ECFC3B915AAA6E029B3999644C987640863B0 +5DCF58CE479497AFAD1208FEFD1796E74467E9F7867C313A3412E6923F4C9144 +C69EFA17965056DF043DB465BF2F1E191706D3AAB47E6AD5C9767E4A73B29F2D +E2E579D0262237568F82B360ADB6D0219B7535EFD02DD0688CDD23D84FC4F308 +5D2D0010B1A9F4F0321A00C154672D21708B66B91ADCF98BAC7A2F94848E9A4E +86CC82EDD0399BD9F13E43359E71F80086B9B0C3B6D08831D4479ED83E7892C4 +90C477BD1F06DFEBBF60F26516EECDEFE4787EEA8683754F2B257D0BAA607DBA +35EC6D1618C2FDF3881827F92D793ECF152D761F2423A96210F582DC9B90120F +26A33025414716A5E6F56D712E31BABE5047EC4855B767AC63D793995C9E074B +6E35C7E5255FBF4C3F17E7AD7B2A6C5F7459794FC94306B581536910F244BF5A +3158E821CE75F4B0565EBE985DF24DAA92F9C1D848EEC6B88E21FB6C51125872 +1752F7352291960E5BD36F78AABBCF6DAA4D07AF56E4B6058AAB13D41BCDAA14 +C0D63C6807FCD0E2B4B9CC892F224843173A75DC53A8F0FA396959C2E2CFE3F5 +9B1C8B62797F34E7A0BFCF0787C73FEF98442234A617CF161829498035D30B29 +ADFEAABD0B496E8A2E764D22DB7737F950FC5982F1C5F4FD414C1B0202F40FBA +62C81B8F0E836CD73D79366FD62388B437B81FC673442EE34BF27454F72A08F3 +389E60CE28A050601A42FB4491C60DC02EC008E6B9DD2495522BBEC7293E2923 +120584E88412DA7137397B41A28706B1CC6BB0C80709A2A4BA79822D245757A4 +3EE454198942ED2316FAEB981F7615E642167620EBDDC5B271E273216EB119C6 +4F2F0412F0BA6E3BA396217597575C6739194E1F839232FF088FDDFD3695A5CB +9A0E220389938596D8BDB183138E1F73F64512E4FAB5E1328F9B42364E3113B8 +004BE2CA0B074EE271BBE0260D31CE555D535C16EBB528747EBAFFF253E659DA +3A377CBE0B296276AACF0294CF90FDAADB4EAD5E2F600E5B2A018DEFB86FF61C +84296480A425687CCE37D671472537E897AFD4B8C6A6175E1ADDF9AD24DFC5C3 +A73E18AC2D9B28BDA2F17D51DB3521945850DAF0EE48B0FAC271544C1B4F3B2D +53BFC8DE32BA366FB1FEC0DD6C0B1FEA374CBE2B96F5B235A1D83A240DB442C7 +1460980A3E5B96AE3D5784DE2C2DFFA671E0A856DB2FF4130E5905F3D5338856 +C11A468D867D0C6EC585F1AD3E7164B8598BB59973B9A952FAE819F052A6554D +EDC342BCCB0525905D1D27ECB9EE43847B69AE116F494CB2DBBAFB2773F1A3E1 +C75FBDF8D66FA5AB4005757D631A0D9424FCDA91A1D2AC6FCE7CC7A23E84C65B +3E92BC684F23467DCF8521E0E27CF1441C487EC6E3BCA0AB54BB137E83776009 +833D772FD225E88A8BD992FD69819B3BA90BAAD1DDF16E4326190CC4BF9C30F2 +AF7CA1FB38E6387D9745FC5E176B248B1581BF7A4CA2FCA8E423DF340EAE29AA +7E07A25FF838F67378F9A6A9A0B404E01E86E64FEF71DD3D540D4711AEB1974D +E2E0D485DAFFC74BA6B8E9AFDA245BC8997BB39BB6BD52B496A09C68F7A8E900 +8DB3007643416040FCEC85B407EA0A946827771FBBEE49A3DA5542CC5173A31A +0280AB8E922C23C1BDD88D70627EF124633C318E7C9ACBC14AE216BFD41C0B6B +3A0161757913CA1F7B6626963C09936A52E73DD9B3D86DEEE73C0293A646FCF1 +21D4C33DFF1671DA7A53E77E20233EDE51571549AACB7968602CD03EE67ACACA +B231661CA9DA2BEC5795A83DFAF675E9B052C8BDD51490F7874C91EF5ED2E0A6 +BE9CBABB98A950F7E55DDA3823036437C11F614E27DA5BB8BC6D955FFE54B825 +0201275C2C49A3908BEF1DB3D87792DDFFED23DE7FD9CFC284F6255C77E54A39 +C2FDBCD28F2938E4CC135829AC1867CAA5705674062C9639FEEFBE49D6108091 +7C58585B80464F7E69966D7933C7019BF336B88B9E0E7073A85EAF297B71B303 +31EEE9121347A482D28CCE942AF53E94F88A97EF2F1860A92CE29A14495D67B7 +D37E207D42F3891E0423F5BCFFCAAC057FEC683696ED6FEEFA65C8FB6F1312C5 +24A1130192B4179F3B08DA1C951D988894E7FE7CFC28C56992A1CA82BF8BDBDA +E021F16E630FF67201BA4DF5F3F4D6AA65B8347FC1575C142C6C1868E8472BD2 +CF191137AE1B36F32FD84DCAD50644AD55EBA2694C93BDF984A5C9E7C92B73A0 +26769F00831537266FD2E711AB3F8AFC5F3FDA3C9E6439FFC48C3D1B5527FC56 +1FEDE991E66E8465C0E395EAD0A22A2FDC001E449AB9C5E0EF187A1DE9B74696 +BEB6A525DBF3A60DA2FBF1579150DEE1C5D1B6F55FF2708CE23289803CE123BD +C81E25DB96551A13AD713D5C7BFDD3F2E1D5C12463A195442B51909CC1724E50 +A1F6F4EADB3B7355908F36F88521F333C4E7C70B094209D1F883B961DFAC32BC +8C5A2CAF77CA5E6AAB714CC0AF2B42FFF6F73301FC71AFFA9B33A2153F55C2DB +C1C111874DEC37CB746BEC9A3A9A37A2DD098CE7C66B0FE38460ACD77A47D53C +1550F857FFB733B5A8D02FB56790A09190B29CCB4F4A3058B1C82F0CC5E1B2EB +2F8E06F2DE531E1EB81326A8EF0F82843A4AC59D267EEE45730895752820BA93 +A129C22A78C1AB28BCF67AD5DF372FECC9EE6719A02E499FD5CA866688E86089 +7EE8E5912087E0C4588DE38428114785E0CFEDB1E2EE24CC067D107DFDF1E2BD +B1C4F9C6B740F3DEA0BD315581004E851ED5A9F66C4F9E95DE97D355DB06F482 +A43B565F1255A85710B15A281E2F034B1C23FEE6CDF3A043780CB6AB18A016F1 +9EAFE545CA5A5B5AAE2459D69D2151E99D029FB5C1649B9DA784BFDF7D177385 +4D8B16B9922D149FFF6B4F99311D52BEC9A9FC098E7192180DBB38767DA9B9C6 +E8CFC98615219EF3AD4A8157D14C72BA3F91C8B78381383E0BCA1A5319749B8D +07C9A8BBB76C74F0F05157151B418C385F2ECADE863C977BC1D0592216FF2843 +DC1BB8509D9BB8356D008D7449147F456517EDB169678E28B2C0EDBD271BEC30 +6E181064988515BD2B3AACC6D45DADEBD4DECAD9AC58CA06A6C9014B780C53D4 +67D0FE46560B44CA4FF989A4D77F1B8828BB42507B524B622F10AC8781B19CE8 +AA275F9FEDFB3036079F4F10ADC8CA8FAF5F5DA7088996FB632CEBD691C1F29A +FD52CB18BD258ADFB0B4B8B80F857B543BC64BE31FC83D5ED0A4866444501B5C +C98E1CF0A452E886EF57A241A093B769BB09B19B125F334D9D374A9C1B6CFFD6 +FFED42F77C7624F8094CA624F45801B960F6E145D9623ADCB90F36C0C273C5B0 +6E0AA4E0C95CDA1561529F446FE5489523B6E793FFF58C9DE13394F56D51A060 +706034A5592D0217346967E1E05EC709B9FE89083402BF6CB44B26C3CDDB0708 +E41E076335157998967A937EDA4BE55D4102AFAC87878ABAD0E20B2DC4BA63D2 +0AEEE390BDBB13E9BB39106416BA136FE7FA03747EBF7CF00DA957A524AF82B6 +AF5AF13B84AF6C66036480DA999F6FB9CE74913C387500C610A16628DFD03EB6 +E8CAE224BB95532AAEC86FAABCF2CE2B2F2FB9C79EDB53BA95969247EBC1B860 +08BC15D0A7DE0DE9496FB122CABA10F7589FC9C9E76FA77BC51B57BA66EFCE6D +E5173B77FF3E2232E9403ED77331BA3E30884093565DC4AFCB115A8E10DB554D +06747E2D27663322FC4651CCB373EE95177094F8EB432A1B4E233806349519D6 +1C2FFA76D408AC963BA7581F2DB3B549BB128053BC845A93F2810F86E7152E52 +8BB5A45FFD82CBED0B4C324E75DC2763434DD30950F27B8AB42ABDE97A332634 +1D79D56CCE2BBDE119335D7E97906A273FC4D4B662F3CC32F52B47DECA45428B +0A1B46808B1A97FE8844AC20968DC0BFA2A247A556E57A64DD03E9193A16CF7C +3F24849A5E58B1CDD52AE8F21A200ADB483BAE61D114F23723DF525D1360C1BA +C39173C41159 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMMI7 +%!PS-AdobeFont-1.0: CMMI7 003.002 +%%Title: CMMI7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI7 known{/CMMI7 findfont dup/UniqueID known{dup +/UniqueID get 5087382 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI7 def +/FontBBox {-1 -250 1171 750 }readonly def +/UniqueID 5087382 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI7.) readonly def +/FullName (CMMI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 97 /a put +dup 98 /b put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBBAAB71645535A2B +6F0F22458E1429F4A67307E01F0BCF6F337E0E2AD89658D880B04C26306F8179 +C8121B958459B923AC3B05B594D8AB95F75870019130442FD29578D44F5690BC +7281357A5041C8A809A59D0DEE108E2A07D406656BC74A9F3317CB887E712318 +46B2ECAA341F8692ACC2D14ABABDFBCAC6F35858355F1D3228B0223EC73AC56F +3C987464DB829F243E304F4C59CDE3EF6EB53A4EF9BA91510CB89A3407261F58 +A2AE66880BA98FC1EF546112892494C85A2C39F9DCCAC5766725894A7AA148E9 +42360AE64BF3A4F1F9F0A0D0C1AAFDC4D50C52233AA595B7D0CE557D4A010D86 +6E6B76A7E9523E8A6633DA9348BC3F59302F72F492A30782AE7EF220516893D3 +DE836CDE311DED9262AF01C506040541EE84AAC539B404B23033EF56D4BCE6BE +B05F79CD633FE75C6728114D2749E39FD7454050F67763AB636377BA8E1867C3 +996C7D7D4A4A02BC49D1AD7FF174C1F49F1F205BC9D5AE42BCB02CF8554E8F5A +D1876C9285B6CCD7B8C165F75843B0AA11D8462B57077AFE75BAD086E9D9F91E +30ACFF91776132F3CACAD1CA5E08B17B36A0E45ACBAC52393B9AF9089BD821D9 +CD5A9CD9BECA59F7445D63DECC1B4502D299DB85B6E2EE7C69A1DAB91E22A3A5 +89B524FA20AF6005E7A586B90A2C6E5A93C9EFA4ABEF5F7E4C7B81363FE8D2B3 +0AD637FA863DE787581ADD7CBE463F7866C40F4E280260ED0E9C8453E5C7E668 +FFF058B9742DD3F131C264F8FA102CD0DA05F3114D13D34D422799181453FE23 +2FC6EFB01BE420C930B879D671F3DFB036197874725220644A5A52DFB467BB75 +8089E4F40CE9401777B9FE1D0AEE02E782A6EB2A185A454AE9394094CDFE7CFA +C03C23A78EAF242E4F811E4C83B59EF4DC5ACE4AD37B41616B46C263358710B2 +6137314545CA6CE89119B42A3518EC85C68DC07D26839C68B1FF55C4A9CD518B +A1FB32F9C475BB6110839FCCB94156E7B3648F27245A00D2966FC4DDE3996BFA +F463A663CB6935B596B1582ED0ABBC648AAA8A86068BF0038001C753C8BAFA0D +2058041DFA720B528E2D4B16196DB1CF30C779D3F4800FE662D5B60B208341F2 +A66EFCB8448C2FCD12DF0DD899911A8BD96C9B670054D328790E5D388518B146 +8CE92E368EB1DB3CAAFCA4834CC9D9D9DCC80FB1F34F39DACDE643052C977A7E +A95C5FA8DFED9B4DCE769E4E46256D6DA8FB18FD7FA4E4CED5D486803538F3B4 +6D3F5B3C03184F5C26C66DBB4C724918EBB6A89C4602E4EDDA81EEE2BD18B683 +FDB459F2CE0A9CED23DC208EAA8BEDB304B00E093DEE926A7B32FDB2EC70DD85 +94B9137856DDDABB402B2C76DBA87149051ADC6007018EBDD571BE1D092EBD95 +76D4E063AD7D5F62E6C26EDB88D38678F2806A1F4900B0ABC4ED034A818119A4 +E618F1A902315BC98F26775E59555A3DCEA1D0F8B20A9084920ECBE3F7F245AC +1182A40B518B194669D95DE968542BFF80FDC89669BC256C44CB66A2AB8CD7A9 +E42C69956CCB6BDE8C09AD22EF3196939B3B84EB23A6E071A36D702909E019FF +058F27562441EB5CAE87A4407F67C4390810BE89BBE867D636468E73677B84C8 +5A1228DD7DC8EADA221B1BAD5F43E832F20ADE7ADBFF170AB306F5B711816FD1 +39B7882556E30F002977FB88D8B28826A75DE0D20354A2D41F2DA8578376F7DD +F27B0F59D4DDDF5790E11E3957491DC74EEB7625CA49FAD90FA47AD8E0BDE824 +FF326A84846A47A21B70FA549BEE307F9C6970009F963B49A504F0115777826F +1D81203F655C242FFF15BA97E3BDDFBF435B10E74CE8543C98966223818839B3 +6BF3BC63F882B0AD0FDACA8C56A570277952E1D83F18BEDF084D2AC004E2B09D +70DE1740D7D220E92B54D2FD0DDEAF1E08C41FD321A8D474982DD105B23166A7 +AA9E0129DC88065B1E0F9382BEB4B4E1DAAE3EA5489BDCA921AD5A8175F2841F +9400478DFA99C5E5553F383882664D73FBDFA29BF32E52C28DCE80DAF4839434 +022FA515679DBC13FE98968D2894DF5DD69C49BD23D00F5D858B69D1F220F968 +F0700E13873579B3CFB658972098DC61F1DD580105BC27795DB4AF11A871CCD6 +2E1B9AF7F0DAAD4CE315379A7B42CECB983DAC5A2B9426B4E5E0A7F7978504C1 +DD7E30063AE3CBDFB24EA2BCCDC478AB82084FD30A4793F4707D9F8F9647B413 +F8A5C5AC6D5EA0E35628CE1096A434FB8286F4617CB4D0AD30A4A0B255A5A356 +25AA5A947FD3C4FA44B4AA80BAB44C48CC1E2C6D0A711365A37A58C3483D07ED +301A83D2650A2E8CBA9EE62FF5C2736EC82C1402959F64527F9B640619F112D9 +8E0F4A8A3078C72ACF3F34AD855AA4008C96E30D9E8C414607C34E06E29AC5B9 +2EE5DDB823E8C3EEE6A8DE228313D476A7F39B5DFBFBDEDDF7C45C1C88EE6D01 +7FB4F7BB2CBBD5DF7F0CBD98DC287FA6940FBFE1B3B136613A3CF16634CA7B90 +53D5FD5776515EFF5D37F8FCC62D8BEC8EE2216503D54D6F2032D3C2BF861E15 +FD1B45B71576F15852EEA65DD372E911EF4CC18283CD2FF4196A3F1A9D81137F +F1820EC604D6C61AF318C6C5AB6DA1EDF305CADEF7CC0183B86D31310A09972C +A4BC37D110C77ECCA614D1A281EE1C2040B4A5ECB31A3FC61760F608E44332D1 +D2C53C7891B505A3020E9E4915F3618588FCEC80B9ECC5E637D8D0F3C94B1F2A +C53FC46CAE0AFAA7E12266C212A73AAE60199752C042BD55A5DF1CD07FBDB830 +C83E7832D8554AD9C9CAEEC7CED1DAEE622090897641CF2E5B34A353D83264D4 +4687522DB290D3BA927BA315EA5D25B0D7B69350C6C180AB0C322B05E01F7C7D +F2F48651567F0C1B49AF3950E43C94D78F7B184BF2946B924BC4279AED28F3A0 +17A7D8B235698A516D3FB5DF0B18A422B2410C385E7E9439C6D60917EB3299AD +E31471616251FA40C9FA098109BB31A54D9C03B2F12947E4E9252A0851B81C4D +F39E7FC44752504B589C3911571B1D3EC3BD1E1807F99CED1DB20270E483A805 +CA2A016E7283550D1B1D35C226FAB63F983CED41A4D02A2F228FA9EF065027B3 +CC69D6F2E278C0A2D238D3A37154B0D22281F62C61D9182A69657B027BBDED64 +11E261E47620602F865221A534C5A32E2BF5B93A187911A146F2E96538B47DBB +7BFA7EF406FE940F4DAD17E6E4B80C4F031D71F65657C2F5C8233EEAC68DE8A7 +E1FC3055C122C1795D0C71A0284F89A9BF04837F61C9E08DB42644A490C97D34 +A5D3CEE475B8D578205005A0D68AF94AD27C0E855BB8EDB74775690A4EDD6543 +BCC10CF13283D6FA8A7CF3FE6C4F96470A11FF0B0160D3F9816B13B0BAE0D8F9 +B84C7631063FE658D13D108D6FE24A89799FABA72E6A6D1C943922CBE676C1B6 +11A4106ECB4F1A7F8A84B2783C2E6A109C58D63FC0B74D8C8A1CB62D527441AE +E656D94B1AA8581B4F07B653ED6486AAE1F8ADB30FA8D8914AF24721C74B0908 +D84F2EBB91144ED4BD7EF533F2584048DEE37E17CDE5FBC2992A6F924FEBAF07 +B626F988599DECDAB43C931CFECF99FC6EBB72F8E542765C26295902DFF60B7C +7B9ADDB4858BC9D808B7F0909690CF8DFBC59A786D48B891937C31A219842A43 +234425B4963062DB4C4E9F534C77F4243408805B5A6B8BBF428632CA4AC03A7A +E336DD181CE0CF3E742079E2919EAFABE16A63299771BF276EFA8D85C920F995 +5B9D4E8F1ADFCC5C29AA89BF90C186C5DE7679906B2FD4DB279D245D27D08837 +D3A8D541FE37415B706EC585C05804108C1D938E543B8B63E275EE85CE9DD843 +0A8B9163144B77DA1A552A25D5E77E94F29CF252BE9950F4E627D5F72536B6F3 +3278D4A45D10759F16AE42BAE8460865FEE84537F8EC9BF4813570E883B826FD +1ABF3F4E66DB6FEF8366E07BCF290EA67D39C9D81B2A7EA48E0A228FE3D5AA50 +1A56CCBF229C9AF2537A8FA70EEF41096ACED34CC7BEECA4EA1F23B39FBC39D8 +CCEA93E63F508CBE6722C11467A3D0D5C4C52031DE43C449333E4295104651CE +E13B821D7904653346067E971BE0042C571ABF40C3A1079A675FE4264B784D46 +1B8FAA4CDE9851C4EBF69ADF51A7B68CC8706C08D13A44909D4C1D78DB0E0B2D +0E0318304B229DD2FDC968027CDFF65722059C62154304D6F9C3F06DE22914EE +928B7D1BF1FC7E74B4D882998D59BC086AA2D4EAD0AE39F6B75B5A3FB9994506 +E21731E1A15F0F2D12F88724BA72898197A80FDAC00243A3038871EBD2F2BAB1 +C616278BB78490CB86F552CBE5DD0862F3793D72C68AC16AF8E38FE1A523A5FA +9B0428745B1455671CFA1F6BFBCCF9CA23C833113C2948E7A6AEFFF1A83509FF +C559BB5EE7F92BB43F7F37A371E661C826F63DD0C1B25E34A8119E71EC82FB66 +23C7B126FB6554E7560B1B69F2EDBB742F3B20D1648C151C37A8570CBD330A9E +7592A8607D2D727F3AAA0FF2057DF4E2A4C7D3B658C6CED38824A770420D89E7 +F6AD385DBCE9C9A9095CF0042052A67AB804A6675BB9373A99390CBDFB715984 +A069DE543E4C6ADD7F1EC7A15392EF834EAB4584679A43443953427DB13E6959 +0F2F5061C99C6D00FA5327FDB5330AEDE19A53DE3AE092634DC6AEEAF63A5BED +990F8A117AEB1CA0E7F7DBE02CB3D86465F1613B976D1CF6F3A1E69740A2FDC8 +062ACC45EDA6B863B60015F276860FB79C31D28F97A799568E66D0A8757B2C41 +E939337B467303041D0F4C59390B2E41E5F298F275DCC699D27C459ED4D5ADBD +02539F00095D7E1872862142B46BE06513D3EB1A406E6BAA64BE795122100F09 +C37E5D1834218EC1D11B031C7DFC9F5AB071A8F4DC08203821366959E9191D4B +289682D915AF28CE5858F83338DC51B6B0DD052A181D9133FBA50CF18F70EE65 +C33726A0450EBA9D0E0C3662AF6C2121AB7911AA9880D6BB6811D6D7515888E7 +199A0E632104059A88C9D85B19BB35EDF4AB95E1515BB2339572928BD5FE8CBD +2D4DAF55DCFE29FBC4C3D56336277BA0C9A889A129F9FA7052AD1420B8705163 +1A808EC1284C888D78CEA2B4BAB71AD76289F5F4986008FA9BF328E8537E6C91 +E11DBDD8447E1C9ACE18DB0EC3D5742C264C8EFA445C5D16C2930FB43669774F +A2CA52144D99EFA8FC427DB4128CD4C036A8C611B087335C780740FAA419D39B +5DD68EA89C95275F9254D947EB3683D0130255269B10C6CFF29EA0BE484C9949 +96188FCB747618A8044E2E37DFFD2DB8ABB621B34DC024259340677095B6937A +78EDCF508AC91D4CEFD872AD73F50582DC8807143CEB9F109C84DC5DA30B64E2 +E56DE973088A9D32583D6946DB4F3523902FB1781D993B89D5F56D79D5D98CC1 +7FEE73FC3A7D1BCCE90179AE450829E228B4DEAD3B2B4C79A400CFF899AB26F9 +048B0875EBC871AD23BA96F88CDA8B87FE5809A13889A6AC349ABB25E54ACAA9 +C213C5DE2D01BCB9CC0D7BBD384D23AE12E289FF8FDF1F611F5E14D4B20B15A3 +42D9B3B37A83A9CA39B5DB6C8316C51B70F211530A56CFE54D63E88169CF5233 +D1A7B2388025B3EBD2BEE0716C3A2D589EBC7A42B3DA602AC4E2FD9C9052C922 +711E44408DEEA1FE0C9FD50A39AD46D437F61F284A2EFD42EF158EDD71A1486D +4865D6B5E20E60F4F4FC3D646909FF1EE2D7573665E4CD8340A1B232CAC0202C +C35BA9BB3D2267C7E78518F6711633F888EBEF72DC750AC2CB362D528CFC8B2E +A1AE1C05456F50EED8CAA768DEF47FF85C4322F02D7F9D188C6F285C674EF589 +251B0B913339FD701FDB281338D96704ED7ED908BC113B4275A24D058955890B +12CCDD5572D63688426B0E1E9A40D6AAECFA5555C1CF9DBEF8C04CE1E5A63F14 +969D39B6DAE8A91F6AF4CD1E2DA89A4661DA34E272B6032C442C031F081F5DF5 +858F4620885773D8A2B2F5EB6DDA74C1408DF279900450E4A3E80BA9A9B1295E +F24EDC3F6EFD81A741EF74B0202820516C4FB720687BDD915EB2396128C3B262 +20E3075DA153D6FD36E1C05B855929DAA4DE694B6F15EF2145C63250B24B031A +4CF0AFDB225E91D99828B83BD90F1702D3906D45872587A3A116B138AD9627CE +E778A949C392202823C670FDBC56F1896FFFFBCF52C4B400F67BA36B5FCE44A5 +F18EEB8ADFC088C99DFF8E0A593E81A5ACA2E3693005F723C7D3E0AE2BDD3805 +8C6007A00542DEB2539709558A88B21003CE4B2C7817AF207ED576B25A41DEA0 +FC55A459BEB00ADB01309B35920F04F84B7B64F95AA99EBCB843A06CED900D99 +97BEFD7CCB9F4D85876F10160C8D63E2FDE82B7A8D945F37CC9933ABE0FD1D76 +268296B1A5AB06B2E814691128771694224781171DC6266BCC290FCE1AB59416 +85530368115BABD4F1DE45952918D1945D51EB713C283DAE8EDD559F437CD886 +A4B1DA6120D685C284673A3EE489FC1AE4297A3623B339B7D886B6B4B8F9F4A3 +7BF85E320A52FDC6323B51879B98A14C33C567BC069D9B44616514EE1BE36F90 +EC5FA33E1B6B0A46945D876EF0085E74935DF2560A03321861A752E59742B9FC +5C501FBC64BFB1602459885B63873DC857ED37F8BE1A9C6E9517B9BF5A6161BD +DEB6DB0381FFB34A8A96AB4AD48BEC40D4C198ABC599C3758AFF638AA75BBDA4 +8545D5F95FA426FB25587301A43E176F6CED7851E815AD907F2443E70740DD2D +4FBD5D978B9B37F59D6DCF0ADD0F90825DD23558FCB858513602C8BC82BFA383 +7AA6DCEA4009961D06DF233C5381A7F9541259926446B2F03664BC5978A1B6CD +EA6EBC9FE6100A65959513EEE32E69D47B55BAF30A893D77142F943982019C01 +715CE29923795EA01C58A798979939B507C5B29A32881877EF7EF0C5CB3DE591 +6B9A6C3F3FFA847F396A396F078860B59850BA4CA3115CA2376AEE6B30C05DC1 +6F9DB6781ED0F9D45D10E096C33B1B7CD12A9D57C6E49AD833C4B093DC82811F +16B3BD902BE764A1680831EC5A6C1CED84AE0DC0A65678EA5270BF20931E6409 +7AA44EACB22CCA11098F8A51096BE83A1ABA56C9EED4195D5CCF24FDAD92E823 +C439DAAFBFD652157D728F2754F28304710D3CB33763156D76A259D446647A11 +493FAC70DD28063A4CDDA162F72542368E1AC2826C4BFF7109208F66371910C1 +068F21779FC39DE03AECF1C9FB2F417930C22791961D801284DCC89B0833B6A8 +D63F153ACBFB7B7D547924613BBCCAED37D90BAC5B0264ED31C7B9DA5A2BC620 +9B20CA48424D0FF58905BCD6190BF4B5FC6ECCA1BCEF13426920197CAB41C4E6 +E82E8EE7BCB23C6BA6F8B58001533B225ED721D6CE3D6E89116EC33CAA6E905A +649F8C6A1AA187A48E20DB864596481976216DB78F0F57543DFAE3CDC0A6FC77 +2CAA49442527A5D94DC54BE93C875690CBE52EAA4EDD9F2A511361BC0F0807EE +96AD0D26B62D809E82EC14EDB158EF48A748A6FE0C3A7EE5D4479B35425F35AD +3EC7444F6FA75CEA5011AD571078293448A33C7647611CAEE87974B0A756DAC9 +4E1BA78DEE477FA59AD50BF5C52E068A5E044A4A4994D5B24CC5045F768A3C51 +D4F65E2A5AFD271A7666C6835E28C60751EE528C0742433165AFBE71562A3016 +F59676D56B0B5F7E4984D664BC3ADDAF24B4205752EE21D4B57057A943018466 +09C3FA5D2C5BCBFC22A643586BC9E7A965DC34C0A7DA95C0C30CF6E8EF8FC4C3 +E12157FBDFFF78EBD97F40F1B342B86F9949E9DF2598416DCCED04122D1FFF56 +B8E4774C3C632ECD4C850CD7B9DF80A451894A8DD97D278678946E01C7DA9C84 +6205E5A28ECA9B0179CC2556BFAD8971BFCB64471AA58488620156738617681E +0A664D22803DD2D59238A6ABB6DB6354661340033C94E7B936B523A27F53933C +6B62D8AA75F2D6D1DAEE7C768BE46B5A66BCB6C210AF684333A64BAC551A3C5B +C13FE2F29D25BC8614D6C29F336C5E9F60656D2F756E840B06E7682033B43765 +9DA7B748C803EA777FFA39B5D3878FBF8F328797BCE4EB51950BBA22EF0DEA0F +1E9244C91BCAE6ED470581496A493CD681DA2CCE7A75787C413EC9FAF2756E6B +E46242A22D9E2C0953971AE4ABEC4668B1BDE5B30DDED9DF3E2902476E402EB9 +639E85D7C0A258D2193B8BC36A6C267B4887100A730B7F76D3DF8659E9CB0055 +AF1446D3C9A1A0A8EA51C9DC0661726F57106E59453F21D75D19717CE5F31EC3 +EC0F36DE6C09A9D5295CC3A3CE31F6C9BACFE2ABB75CBFFDF1D4EF8E27ADF0AA +5DB5FFB991C839301101797D8E7DB137948C49FF6E4C59470C3C7AC7BA7AB1EE +DBE93E0A71132845D26CEE15EC0F800B73CB57B6A022D643EDDDDA73C8719C59 +665102B4761A263AF48F5537C0825DDB75E8C15B44AE48DEB3874138C7E04994 +0A765104BB313623ED88D00E0E8CC5869BF71BEAC88940693211AF6E9FA4B726 +35722144C82F216E861DFDBFD24994C2611D6E0197235C2D3A86D9DCD384327B +7A4AB3410FEB79A84BDFA434E27D043C8DCED175590246F3E88F47F98279546D +04EE0D203B8D3381AD7ECCA570D14A8B7293DE6E3159A77E9832B9B1D5E3CE51 +E9F02323FF8B61431AA9129CCFCE5E9E9FD80B45D6246BA0868BE79250E2C298 +F16792EF300E61E525F7D6698F5117E0ECA58FA0877A0AEE9E1DEC1AFC735A76 +19285570768BA8696C5C5BC74028975A3EE6144C6E90EF506C40DFBF00950F0F +3908FE2E66B0EA4A2FDC76992708D742A9D8B32981CF8799F81312C6896B7010 +2045252A73 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX9 +%!PS-AdobeFont-1.0: CMBX9 003.002 +%%Title: CMBX9 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX9. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX9 known{/CMBX9 findfont dup/UniqueID known{dup +/UniqueID get 5000767 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX9 def +/FontBBox {-58 -250 1195 750 }readonly def +/UniqueID 5000767 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX9.) readonly def +/FullName (CMBX9) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 12 /fi put +dup 40 /parenleft put +dup 58 /colon put +dup 65 /A put +dup 73 /I put +dup 75 /K put +dup 80 /P put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4347EE3E5AFBE73BA +31023D79A7299D8F662042A8D8B6A7B4E86F48AE98EF848E83FFDE68E17A0832 +A181C126D15EC79861796F03957F5A51462C817DF752097718413D012D19C9D4 +423A5EAE1EFD4EA7A9651BAE6E45CC194BDCD03FF43F255E58EB5E50CA26BB98 +B8B11E21DBFF2BBB04D039E63C453EEDFCD9378F5E7AAE3A93E8691DED5865B2 +B78F540F8AA3224BE372B18904651D057608DE4DD729FAC398A80CB904410451 +90D66C44E943517A8F4969673B985D9D244FFC743E0AEE309EFD224F7029D37A +F6EDD96E2F88C9D071FF16EDF055955D31DEF10808B343E948BB4F6393D275D0 +44C4DABB75332DD716E8127283E8D70511F8EAF4D1A5F72E2F8503A2F964E5F9 +39304CC17ACCF531A8C0B6A9D58DBA6F24A4ECA62EECC939E8111E4BF79BDF77 +D656F9998F1EFD2ECE3E61CA526106662273D5AD3E74D08E9D4453569B359C2B +E2455F2136B4DB54ADDC3C0256EB7A11E1615AB9323ECCBB6EB48ACD469A2020 +A873E88B28AEAACAA01826C1C18120774FD5324DF9AD36FC256706DB24FEDF34 +0FCDF04B12ADB66876EC7AEC183A1EA8BABD38BADDCD0EBDE11A5A1BEADD0F7B +83585C3BA141A8B296872F712EC42C625DBEE9EBD2C414E57CC1378CAEFD00E8 +DB4B84F51967F2968329B8503C4B37A56F6136DA89167FE3AAA93257140FE94D +D96C7F85C6F82AE1596511ADFEFDEBC1B41B0395E66D2074B39B5565AD4687FC +89BB4BAFF0F7568D9EAF069CCBA2DFF61C59E2CB2F4274459792C5D097FDE6DE +0E40AAD8DD8F64C28D04EE50AB79EA7D3420CE42D39FA9080E9E046A4F22B5AE +AAA17FE750BFAF7BFF097E4A6E9362412C55E25767C311832C1C0C76005C733F +E046FCFD4CF49C6181C24BD299E90F20A0A0ADC868C11A8AB7F610186D0483A1 +B3BC4FAFFFE12FD746777209B4DCEF0E4ED15D90F19BF2FB2B56231FFDE5D40B +146E3FAEDDBAB365D88CED98629B9855AD6E57FB01BB82659BD320D248E5F7D7 +B584DD43E1F5DD2C91945DDB772E5A62AEB7080AF36A83D2BA8533E7E6FD287A +924F616F8090E9FFAA607A21F38718D668FBD6BA3434500BD01EDCEC00354F68 +E1D0E9A921DACFB83FB61C1A5C27D027CAB348C4B7E2781013B68CC5A2BC8703 +2809A49A0C2E9E004D56844EFAB4A8763B103CF7CFF980C9CF7F6BE28814CBDC +348E2486D9379DFFCC0E9329854D518B49B98F582972B0D1D18A3319EC00DDF2 +F64C2CD2DCDBA287B279F98D16ABD1D140246E8B66C759571981FE7402F14C94 +18394A4C426AEE4B0688D86D08B408763DA3537E5BA0D6A6796C316FDB0193E6 +77C6F257BEDDE17F2CA5E661F434964BAC9834BFF36F563637872FCDDE94CF22 +F076D1C2DF6357D8A26D305D52C9086CE36F49CD92ADFB4306705A0887407C9D +59B6BFDB82379111C9E33692BA9E2ED9782CE4334C6125933A2F210684642DF5 +3B129F955BADA1E86D6B80CE299FA0D1C0AED1AD61686AF1052A188881E2125C +98083BA8255B92B9CA0B48EB57F936790DEFA6E6947C0FF4083FEC296FF3034D +AD657C64F2675EED2B4EED1E88F0B1338762CB4C64C79F111CDE9777A000F65A +F9979943ED7C445815BB59052B91F0FEF7219E3DF27E1D5155B9C42B7BBB06EB +1815997FC3471CF963A15B1C5E4653C84236CC5BF55A31B94E394C635B95D847 +69E8134F4FFEAE836CD6AE71F58F48AA2F95BDB1E2CB89DEE590EFF3AB7097DF +AC185303E647628F5D87E0D82E6685DB467A0F8B7D3AB2B7F3F11BCC99BD48A6 +FA5D4D75698454CB74451B486CDA6B65547C0CBAA563EC3574364540AE7B11B8 +F9E86BFA655CDE88DE2E7D41851FD208649E9C011E04C78ED9209FD56E2447BC +E1AAA0A3D36F6406C60F6B19347CCB7D56A84D961E17E361F92C5542109D9BFC +FEA2FF9775230EABE3333EB25A40E29016E9A8255713AC8336B8F7DEB89FEFEF +4006DAAEA26C6BA1EF494AB99C2BC960D9E07981BABE909B5C121F2CAD48C938 +A36129D10D38AE8F5C64879F61138FA9F7479341F5C5DE86376B65A642B9622B +E58DBBFAFE07EEE1D11DE9DC34309572868586CD92D39FADB711883AA85210E5 +C82842EF225E55370FE0AC600A170687C60C8091B0625A1C5589186F3C7C1218 +B15B5CC3A5CDBA7085338D963D929A18A651EC7CC39B8500899DE9220A1BA363 +78698E414607C34E06E29AC5BCBAB98A70DC2BDE0FDDCCE22D4717EDA7D95397 +33420EDEC2F1D6E7072FEA85945378A6BE9C7F68DB4FDA6B5BBC0032B3C02519 +F4168C804B6A101AA60EF4FC40C2428AFEEF5A80F9B76D561C8A21B3633E13C5 +215A14D54B8A1E6143A9CA0B5794D20DF97C35B3C9E9A4673AC2123E7DD8E216 +044269B1D6AEEA46757F8D9AC5C8A92BDC1EF22EE0575C80CA7895722CDD2BA6 +F9A208E6BEE5319E63B3B3CA197D9739A4498AAAC9C7484D61418ED2BEBF63A7 +F5283A075D1DFD4B2702E1551A0D1A90DBBBEFB6A55B5F29C869763A856C4E61 +EEB3C8E14E3376B7D01A4E265C6C8056ED23931DCF669A0EC9427F74A147AD8E +82E172FA6C13DB1281651BF3D14163D963EFC7384BFC4B3B9274274DCEF647FD +D6DF0CC146BE8AA660D709526B394CE253369281FDB45AE071319E8FAE4EDF10 +2867A431E22779EE40D885E95AFBF62916D9900016805D004C0375D29130CA14 +F3E466AF350D1A5D181816EE1C4BC75DC09E4195DADA5AB09CE9EF2C4D5F7CEC +6C16BB6EC791E2870DB46B6B06DF421E7A2781D82A07D92316B553D068A1DF5A +8B19041F96ED637B932DE184F8B856FE1947F5FC8AE505F0E3953B325E0FD6FA +825EAD072AF06E258BD35607A1F082DFBC2BA5251DEDCAF68B4D03086CCF84BC +DF70BB8D2EEEE3E0EAEACC8440AA130273E5C7E78A15EEF66A9A1E0D5E022188 +0AFA50FA55C6C461C743E1845FED77378D639839F548D6827CF371AD3DFCE592 +B7F6E29FFEB6CB92B33E24E34875A5A92C08806F67E18AEAD86447A977890AE2 +30A452F33B609DE5B792D9CABF39A086C0936AECC081CBBC810B3EE1D35F9717 +260E76132661E3A8170759084AFAB04A6E773E9714A6D486E0BF46F336A7CDB5 +C325E28E747295CB0E8FFB289F4907BAEC213D4D0B495A246A3DC359B995E9C0 +C5322D750E13159B7242E4C4DD27932AAA130BC6B0400428B5E6F928CB8F7658 +EF02F7522779CDBB67722E09774C419489192FDAD3DF272C95BD9BD64DDF0BDE +999FC72607F52805DCCA5EC17150EEE38B866E3D5199E5A6CC262785EEB11D51 +80E79545DA191071487EF70C7FAC0CA345955F797912C1268924DD79D0FCA3BA +460F43E74975C04296E34423BD366A4EF7EE9463ECEF08F7E7BC8BEC570F812B +066383C2EF5375FB1504537D902818D63B30385421FF81AD92A1C153852B1427 +A39685A76DD636DC4ADCC53F2A78F795F48EFB23807E5751023FE324CB401281 +60F8A8DA779A245DBC26E73B61A1450F25AC276E1B5240578E85E1CDF5A784F7 +D4F5BAFA76F70300972E4B130C685189C4010B9035A5CBF0562EB3B387FD89F5 +C53A25D3E883B506E0B477389DA5CFA82CB157D8C30F287678B0F9A17F5A8704 +ACB5DC57D7CAD21A4EBA49248F277F929D3E49B17463EA5F31A4FC11B0836E34 +3A5FDDC6B9A45113590F114B99566D18C21464E7FC1D9AAA9B1133E5E8E2D14B +8E143E1E16595C42376694A83684E3B217A17F158DE89549ECCCB443701B520B +E20B972CA5EC6405C479C5054663D48A22D105AC98AF094340B5964D0C26D9CE +241D2706D3444C1405B2C9F7C912CDFC87EE8FBA01C0020D1AED1A6205A8A45F +8504B42431DB5409BA8AC472F2FCB4CE698F6DA92C4C8BF1293C2C998B771540 +3D933EB5E976B7D2252DAE9584E5C6864B29C3048EE159BCB7638CA956E07F81 +F76391380AAD2F1DC2DC201BAC657A1BC93F5569A5F612A4EB6B01F136F41B87 +E20D4DD6ABD7ACF1275FD80D9BBB87A45572979BDFEF59212F1F6D9423FEC976 +1228499D626A328569B4BA2755B1ACD20796398AEEC5F3C61122D52124996535 +D0813227F549FCF59C6182D6514A70F9E38565C8C98D5F797318FB531B5DA58E +EC60235B6F1D97CA5D495CF689C3F9B3260998ADA1204AC00135C7C72700DB00 +7C06798A46E897875BE619508DFA2201FDCF689E51C3D85342247B059C0DDA14 +766A31E3E25E792F090DF3EA0C45C3F64AFB918BDFF92FF0ADA2F71866CA190B +87B2FF90C872284652619F084E2259F044E2980101A62004AE9F4BBF675C5279 +BA3437ADDF2D552A033D2301A669EE8BBC840C0028275D077B8E9977D447B396 +F1D82608E030FA43511BA01C345078986B8C35B6C6990D018C2DD2CBC7774450 +D8482DBB262BB816E6A26A1FEB084FC2027C62D17790C80C65A9183F23BB2458 +34FDC5D566C1B667EE801D0521BBA520A15C0C923EDAD84AD6A83DB23806711B +0AC2631C15EB1D33C26F8D65852EC37A3479152557366929A63B753226059870 +45CE6403CA23FF95BCFB6F0C8DF8CAFCC0BF27C59414217CC6552F5945D9E6DA +AF83F4AB1917742F7502B069DE44A6ED3BEC966F59A84FAA2F8DE441C11FB122 +DEF1768D250C0CA5F2DDE6FC4E24FD3AE4386B91ED2A492A959BF7E4C0AABEAA +5BC2D933147A4A21FC5E5CF3B2AF5C0A768A8B79337FA3934A43E24F9F7DF24D +22C5BFE4DF1FD57289A6E1C9AA48D32D20F613AE94B4308E0D3BE4D1BC95B33E +A9911B82EFF461D295C5462EE2B12A3E40B89E0BC778FB76F8B847B6AA99E061 +3444A55D83FF839B926985B0F4E562D726FD99C5DC86DA24BA7AF38B93C90F51 +A937E7C35793010F351594465B39BA5276F223DD3CAE1868B969D8EC93AA50C1 +4C7E51D0D7F5E9F0EDBE1BE24BA5A977163BEC724D575749C56C4F39BD60F3AC +47B930C9E07A2D59642C9DE85EA6FAD1E7D8817812C049FDAEE148E8AB207B89 +B2324191F1A82A7C499E7BF09CF1299F0ECF55EB0A2A32C5BB89411B4AF2A401 +074718859CDC27C2FA78BC5269D5A38DBCAE55F6CB669DEED2C36E5B0D590504 +B6162391FACA9F20224E6AD24B86CCAC0048EC7A618B3263F82A317B3969F0FA +9D5EA4676B27F371785FFF6599B61A6D32E82DD9D511B04E03F14C95A4CA6CD9 +5B59A8A7BFB2AE32E9357C7766528E9F74BB8D0B9317F02EDACE2033B7918D6B +8616F1C1B3E113B0F77B0A1292E41F8353DB55EBD872290491AE1FBE95EC034F +DAC1394928930EE297693598D97EBD0720A0A7B4A5DF4EF4BE0E2E0968E64CB8 +167CA1B8C40A779023AB6F74E0F1626D8BFFA96EA09CA88524837B18DA6152A4 +3F0DC3C3958EFFF86B07581B416720FADFFC4AD35F1553A18944A6DB8FAB0AE0 +A8118C09DC8E905CA32904B44E0541FCC7EE555335E61108D8346B4EF697DE67 +7F67E1E4CF0EE2F6D89D10FF2D115C6F8163B8180378018F58C148EAD188E969 +C60B83C7B295F30614B93FF925BBB2974B0B9C68C2BBA6E973DBFB5500A574A4 +F7348BD31C735A1E57519990582D8F7D97F8B63D9DCD488DC569D5B392FF26FE +F06F9762956D64E9C258EB9B90733BAA8F1912F3B9AE88C6D14DB46B7131BCBB +D47CE60D9C63FE0B9620D03F615EEDAA3C76A7285F9897A0D476F35F5CC158D2 +D148CA1E5A96D16253B360F34336D476FABE9A434AAD5FCF65A27F48C5BC3519 +DCBC35DC1D324A270996B8DEC6D3833E76A434E05074C7E3FC8E5633D6B25B7D +69D9BF7039DE4E755A7E3BEC8A4E5929A98FE265E742B269666C75644E53E6A4 +C5AC907F7DEB319BC88CD1A7F29A0A4D43D471892A674D50C70BB6EFE5740F97 +50522F2EF056E208C0134EAF15DC9F85C7C06066782B715A5EBC22AD414A169D +86A2F606150B6F903D3AAAF44E75649DC410C3B8C845909BFC8235E573A2D291 +19440D724C960014917EC802414651E298160EA70FD54BE4EAA1A1007ABDA8B6 +085A89221C3DD5E9C759C19BAD6EFB91360CFDEE6C4876AC19B4BF67A38BBD5E +0BA20996BEFC1F8C427EBDD666B30DF5A2389F1F3BCA17132FEFFD3231570AD2 +61CB33381A0D2E2FDFF470FAC3A60E61E99C76A3F4A6BF32FD4B2B6DB6B27F2A +76A5C35E24E78F7DF28AE1B7D04A71097881CB67E060DE537C1A318B95964FAA +1455264E48DAC7689EF10905E381C569DD65825089EF325595388FA5BA6A1EA2 +E2536872DE92D46AF3BB3F1DD920FBAA4481034DF831FD15C01798AB04A73B50 +1461BA7298B2EAD460D6E645A9ED41EE0E0282C335AA716D7563AD7CFE2841B7 +0C782ED3F6D31871350A12A41AEFE21E9A03DF676671E4C953E51F801CBEE091 +BE0B7B413B7EA2479E2529DE9E49C03CBE8159DB1B28D2E290826B6D01B35DDD +083F85E9CAE378C1A3B7065280D9FFEB04A02B76F1F0E547328F005CBD39936A +5063812D1C958FD4EA6BE9FF87E5FAAD483055819D1DC39D31B8417B44F30B50 +EC95E26103A0DC2241B56DC62D424438A5FDBA8AD4D9B417F0DC31CD82DD772E +FEA23036A719927A4654876985FF4AC2D28A180969A76F3584D001A2EFAA2BB3 +7F0CC228CAD9A485F3FEE3E0F0059D3BD8484FB97593A6EF08F9D352E3860613 +2617ED6138ABE551DBC67F0151D0F9CD83A613C245E23FEE6FCC8858592AB43F +8E66FDC5A27F9312091478D102BF867B320431F7A6EA42EA763C51FF7E0E0FED +A6A830AC95600C837033968174A9406D0DFA72FD65ADF153E5CB3420CEC76A3B +43DA6743F24C6CFE0E9A7E78D540385B657CCB379BF5E238A07B836F907017D9 +C0CBA503FCF625536E27B77A262A0EA1C3DFAB015EC859FFE5BB26197A05F4F9 +87046F3AFD3387CF1B040DA7B7CFB1EE92816C7C172164CBAE3E9204559C2A74 +87E4A41AFB16E7789686047067947F41C82A26E3F343E7359804BFB3B7904F4A +12FBB7EA0E8C26801ACE0E9093D7E2C3E288F781E3E6A53B8C121625CEE7354F +B1A059AFE21AB4DD2B43A9DA710F2D811F63DC41699FCC43330DC7AB9CD10F00 +C959F73155E9D63EE7B20970C7AB1B9A8A51D0DA0ECDB917291FBD57CFAFD9F0 +E1636B9DEC48FA7FE5B225283546B01ACF3036F1B5F399688F1657E41A5F4EEC +2CB1324C136CFE6C6B92958597B952552EB7A8D58BA7773CF685FED451D89392 +C290D38D67FA7519ABD024B85D3002D8592C5D30B50726C7BD17577FDBA79E38 +3D99B3A08797696E593C0BEDC50706C986E6BD05AEF30108F4BA192E956D2942 +72F59E1A025FC31568C2EAA1D5942A479203EC01B37626F1EC334DC3C6527C06 +41162B68D66E7923911921E861FECF78F36E4BA60B4FB8554E83AB554054B2C5 +8C05D3FBA010846BC5B32E9ED62C6A0E8D92B8F3546CE0406A87634E2D96F5E1 +F007DA0161E75DA55FEC10F7564CD7CB9AA0A016438D082D9A9FD107CEFA7B27 +BA3C61B3A13D9A30E4BAD25B2FAE3ECE3FEBC9722B448E3AC5DD9FF784718F6D +DF58A8A7DA91086BD86AC776CAF3F4F2DBC2F0AA81600D53D2A0EB178568DD96 +1ED459E1CD3D897776901284DE5673813ABA0CA7ED342130B261727DBAE566E5 +F57FA86A7B4EE5F48F039FB95D318DC142E26022D7F85B34558E99078C5E6467 +FB2ECE5B519F7F42C0A29B5C062C6CE6F2E1B611B4C6033E677C436D2D22121D +35E02B314EC425871A9760C80B1EB6A04A6B96EA9E36FFFA2CB830EC3EB2E839 +D0751AA4AB1244C1A154ADE5803272A4D03EB18A47B9D091234019D2E2248398 +D0BEA2FCD4557D0D226934EECFDDC7D0B0B71B47A6A323AB6C18D6544248F253 +F9761EADA629C41FFA0DA6ED4BD6582E0925DDC2C0F2F0DA63D0CB41BA53BB8C +DE8CB21FF1B63CE28927FC98B3BF605F6B316C147E4148F43F68B433E736D2E1 +5CBE3466FB2E3AB8CE7FECFE016537A52FD1A6086DFCDE15F7D4A0689DF68098 +DC2A5596CBD0C8B621DCDDDDFF1D94F0F773B7D545F7521C2C0B0340F42BAC74 +929636BA68231730C7F28137AC3A0D90E781E785AA1D946487E546C6E433A5C5 +B9FB7D5B97F2B4B202FCEF769E545928DDD1FBC289A18A4B9627E833A471E860 +28CB978D3FC2737DC5A99B9BF2F55A8A2A7E3EF5003E1BE46D4C38D855CC53AB +2DF7A7B3CE139462466A9B59AFB28FCC05D7466017882938D436C3B46D66197A +31D171B6C996C44E712F8215FC4849FBE45CACE31E94B852279265B9C3025BBF +95065BC191E32D544E020CD2700696462410211B2FE02BA0516ED44C8B2A5675 +ACF310FAEEC94194395F50ABF1F14D0AD0AB4F8E6ABBDADF34955795B8B5F076 +1C7557CDF0561EB4F31BDBCB5C64CB9616F03050016897C740F4D499F0DF560B +15EAFEF5CE50F3B0DA0E70C6EB825007F6F80226373D7AC9AC14695D8065E004 +F63E3E9C2973BF9ECBAA8B575F6F1074A8E306093965F15498ADAFFDDFC7312E +616E3641BAC7C0E30643DB5AB9AFB8864990BE6C786F7C6A39E46898443E7631 +80AC0ACCE1D3736D1272F2DF8397947C9E90D41D1CEE45C0FEFD3BDFB8C3268A +1B4E229184BCF06CD3BDE24643503CF6F321E6F0B714EC0B0348B5751F82DA24 +441EE5BC9971EB0C864AFF8EE99DA3A1421727D57B81605903D13E8094A67B85 +B1A8830A225FC4FD1EA98A29AA91B95BEC3322B63CFBBFE3E8CBA986D1CEC277 +BD125BD6CE702255BE42C0D469F56A76E41901939A1B5F3D4CD88806379BA575 +C3EFAE037ECF1BCC45754EF984DC1DA3358D2999B9696E78B327014AB0E23D56 +4D5B656AB703241C305E87FD1791750901E576DAA338AF6029BD0B2233CAC976 +0B5EB4A3A5A90D8992DD177F5524A972BDDEE58B8E6DC7E20E8BF95C3AF8DFE2 +56F6F36D757708B4C074CD719A31AB6F802BFC897FE87486FDBE2E576ACF8A97 +73E3A039788D9B440F7D02E10CF72E8A045489489D680E106F684E7629016567 +BDA35DBBB47E51B39A668EE0F0BB79BBE57E0B5FDFAF7520BFBE920341C81FC4 +128F3ED841B783583878C3058BC783B20535CF44930F21804DCE489820DDFF79 +599649AB33E7F1E4EFB25D81A5342F667E0E6E4E90F595F16F15B45FD24330F2 +E836D3368838A9A71A872B2E37F90C83D1238FC6E0312BBC61BC985D3C1F4D01 +7471A4D5B9142AC1329A5F326266419400172B3E082B83DA6BEE4971564A7552 +8835054A63EC61F98B29F91EC1A72BA380E01772E9BE307B5CFAF7B5202023CD +C13DF9EDB36676824D343633CE03CBA666905B8F8A26F881B8B782498947A577 +6EC820BFDB5D85E03F785BDB9B2ED0CFBE7E8169D8DBA94376F59EA71DD445C2 +EE8835ED070F1EEA33556AC702091F9A2C61C0520E9AEA8F8E240FB79FC408D2 +0C33DC3096467142064F62E0DB32265CD87492AC375C6D1F2BC716B240802F87 +3C15CA544E7A6CF355C588E4BB5CF8123A410ECDF33E39D0879C14CD58E49951 +5496C142D484638AFB204D9E1D1F44A4F39DE3DC22E840207BA2C1E0799C0E6A +2AFAC2199588B6EF35D13A33EA8B75CBD1958A4593486A2006464DDB4DCF04DD +B7B444C167B975C1F41BDAA93EE0D26DD7A40DC688CF8F1CDCA1BD27EF424868 +C57869313EDFE2F0AEE3A5E2EA9D6EF8ED0BF715DB6514CB817D88D4CEB20795 +C7F3877E7B419A99C60B4C8D8E2974DA700D3D28BE8767B301611B0EB5E01918 +63DCC0D7CF050D5ED0FA21399391D4437ED5FD83D3D820D2892B2B478182C087 +3AB4C5000DCC0344023839ECD46549BF1F2F1C80C2C3653B6C61047F10599848 +CB6D6CF663F5A35CBE10EDC5F93158F754DE99D16799FCE090CD528E539153C0 +F37D0D5324327711CA55B7146C86231B0C4D3899A860DACF0D29B4416E06CA62 +7AA4F747E48DE57961988FD3A8DCB1640C7095484FD1270493806264980DE6ED +74FCE37B42323B3173CFE2E8BE0B580F4BCC02275336119D1FCF3F6F30478AF4 +905CD08322094E558FEAF975DE3EFEDF90ED0C8ADFDE6DD424026286040D5BE1 +9696D151DA7F84C2CD5AC44AA3FE10E18DF45FE0D84F733B8FC7E9E3655AB775 +85363085FCFE9B8CEEA4F5D016FD53954C6B50C0946F06EE873968DB81B159B9 +E1391B41E31658B24163A2B87E284FE973B322AA825D57E092D1952E61017A72 +0161EA2C42BF935258FB7C83D496FF0CE524BF162EE160DF48AA16D27A18CEE8 +D56583133CEC9BF366834DC63F9E1E1A454A1EB437397E12D7BB869B430EACC7 +8E7DFD3DE378FB0207DA10991ABD5300EA3040F8CFDDC52C84031B4B7CABB7EC +1F1D3CE4E8D931B281970F0870BE95D816AFFC0B84D2D0A638F75158F9958ADB +9191D4B645E71B272AE2B976F30C666541B6469CD36B9D2B324B3533660EB28F +D20AF1751ACA282D44E99019F9EF82295422EA9CD8BE03B7BF1AB4C0E1D06A1D +6D9736C9609762ADFA33F5992131C012B671DB4DB8A29F2E3191A594E31D5C2B +9B58946ACBA656EC2F7CAB4B8F5F5781D7AAE96961FE4CB8EC6A59E81FDC0F25 +6E39F9203A78999C35A19C8C7BAA61EB91D0BDA49EB98B1139A95628A9D714AC +D58E20F504AABE3FE1A945C50778EDDB5E0A2135F16DCC1583B059B549C899EB +ACD4F8D91C05BC9A0D6F7CA8BA7CDA5FA432660A8F12487E5FEFD6FC14112D18 +6FA185E2D67D34730819A9CF90CCB99F4C9D811AAEEC9F6C93F0D5A4B6FB773B +1D03AE0213021BCA938E7E2EB162B3D155F9EF4104C6318079C51B4D353EFE11 +952D4971718A5D71B9CEA257B4211A6741D05B94DD2E27F38B373153E69D68E5 +7589A490D8E0CE8A5EED9F5254FB13289018296A017549AB3645448AB004471A +E7780AB02E2305C1478134C73C1A7F32E3CD5E10CDC6B1CE6A6DE092D82A1BAB +5CBA0371C5C8C7A2D51573C3EB8D7E5BD74D322C17ABCDA7383F1D649D6EAFFE +AA373C7965C2D6AB244FF0202BD68BB1602C50715B9E43B8A6D12824D5CDC7A8 +56CD8BAF27A0AFA9C36AF24CBD4FA5E98EDEBB05A878CE20DA36B1BC446146D2 +9ABB03E372ED3DBD95322BD4F74A1F5145E36978019B814317C2652B5473302C +C3E06ED3A0A465D6A160F813722B242DEC69C28C493FDC91309C14A2573EA6F7 +9866F0455391D89FAC18AE19D3CD1B5080ABAF38C7CC1BADAAF0EB148DF5C317 +341CFD281F9572396A7F87FFD38C448063E7C60DDDB051C5A3BDBD323D1D8BA0 +EF447761C34D1CA1D629C35D55195909B820B431993BF37959B1066364306937 +2CC62398211A066B4D91D227E590418F0278452E41BE81749A900FD148C12403 +09CBBCA6CA432F2138B690C67294255B57E311A9A9DFCA1E4E80C90919069996 +A925CE54DC170944C50CE4447BED4BA7BA4E1F7364A0728341F3A68B99CC9335 +C98DBE300F9817760FE525D57EC07178A8EA1BE36F17BD698A67FFCA64DFE93C +2EA29545C5661B80ED1E5E9C3F6BAFF2908B8C163C93B910595486EF07527FFD +6DD666F7DBBD36EC65C42734AC60D74FA3D137B1BEC09DA7DC83056CB0CC825F +949B088456D6A8CE28EE03B902CA01EA5F771478A4E08C6028194B95BE6AA8F6 +30DB693B9120BCC4203099F5D1460C56D8EB68A39260A26B2E030F0115F06C80 +3CEBEBD0401FFFF7FCC9AA4DFDF6AE28871ED4C9A323D905ABB437645B327EC0 +65D76FE08C210A108A8C734D6D6F7B40E5EAE6440550F0A001C24D00BB6822C3 +563411A7532C2D58AD2DF03F7A72BBD66F5823DE2E21C01AFFD97C404499155E +12064BCB796E0B2F84E8742325AEA3357F8835E3FF6FC4588490C56006D98A5D +FB98D83DD1FA63055E5F69735C9CD70658ED61479403628893A6C6F4A36F877C +3B521EAF9216BF0AAA1967BC40979F9B86E096C807EB498B8CCD7C8B483FA4BA +2DCAF2E26722A60A158FD3EE945D985B6B1AE2358A7D1B86B20042484490BC29 +2D2402F2A539B29EEF9A8B06E3F6C86F5E7E73FD3B97EDE492080A38DE8B9BAA +A9DD1AD629056EC0CE8CE9F9042167F7D7DB1CCE5EC7534A26BA4C1581C92A75 +2D1A3E1444A4BEC2450A3D77FD51BAC8C8678E913EE027C4A7E1C8DABB3A3FF1 +A3B0AA840EDD4955B79B08BBE2B3263BD40D37E9C07C21C6CE7E67A639165701 +EA09B1C7E91ED02A9C0E5739E8F624413F505ABE382F8AF574ABCEF0BF26F8CA +82F98611FEC56B05F5ED3A413BF874EE22D943C53E8B4368601D8D8743ED0F77 +9D855BD81142B2D23992DC1A911DD49CD0866BE2D1F23C0CBB65F2C9211711EF +18A4975418D8C59604762A2E4A8F6940CBD6F6C240345A0D121AC2804AA51DD1 +A192D03585D72AE9D76D826C1385750BB17F18441F8F4E917B777FBD704E7A0C +6416C0BF90352D06E4E5193BC857C6034886308AE413C679A65CB95F2F3F4BDD +5D20402BC195B77F246ABEC2EA2EB86D606D3A4D039056065706F853F447D44E +968A8B9D50CAF63A1368567D2C16D137A5E1BDF3715DE5C3DA1B6BFCD4271F8A +178670F645DB5972DCDD61968008633D8E4C0AC07FF4598B1EB693DC9EE7D93C +3EAD812994F0E5A07EEB14BFC7F8B3C2E0B5E3F20469BB1D44F7E48D6F483457 +15DEB57266C1B358E0D52FFB82AA1FFEABBE080B8D0D47AF51790A74F306A256 +0457B4823AFF7F231C0783FF2BBBC6386322805A5BBCAD489B3341B53C7CE7DE +08EAA2E664827B2E8E28EDB69D2501516A9F3DD4964ADDB5DE04D2071A835902 +18BA47D7B3F8676C79402C0F835ED2BBEDAFAB02C74E601149453EE6C78F0EAD +D894CAC8025D00FB18F799BCEDE03BBD497E5B71A3C7727B16EA404018FEF5C0 +66356F4124B3793954743EE618BB10A31C1701CCA3DC2063D9B031C21A8384EE +B02EA1278118E97FD7BB6101949FD05EF127CA74EC78FE72B60C8DBF1F54296B +FFA426FABDB197E1E82BA6986C15EF6A4649F026129D00D6A3A9F1BDA6629F57 +135402E60AA5D29341E813B2AB5C48EC10634EC6A6D7FEBB961431524236FEED +2C70D125317E14B83714679DEFD2EB4EC987A18B66A72C837A9EDE8A02D56506 +7F4D9D7BEC5BF3EA0FFD1E1B16A21B192F4BA6DA3404CFE14A7CBFDB18216A83 +DDC3F1A727BD9465FC5340EE884629ADE973EAF75AF4AD10EDFB35C26C538A4A +1627339062FF451C0B85BB56B59798300FABD14DE9348E9D6B928ABE82BCF3D6 +FF24C6F3BF91CB8827E2A7F7C3B6803BBCB949294856CE88C04556787F3B5C3E +2D81D43FB4FD73ED719EBE2F7290FE0E7C9A92A6AEC211D2381F606031E78E2E +9FB0A6325A0C83DD7BC14D5A7A87D0A399BD92377D4259966EC496ED4596C4BC +8E76ABE23C5481624BCD13E220675CCF1D15D2C79FF08D2E866BD3A8E8968886 +32BBB904455C30413F43D19C9E3D44CC2EEFA52A833AD62521F7C1EFBD4C33BD +717B8CDB05263AC300490D20DB51099EF9B7CB7F1D174B9161D75264F988AD30 +0E3D6C5775F6F66ADFB787A8F38140869550658D6927A05F72854847EB133CC9 +8A713B358932E18AC41CE442ECCED7C5FD63B3D625AED59DECA8812794FC437C +2BB78267D2EC3607C1E1FF007607C35661558CD153AAC486BB360B608E63AFBA +6ECB15906D707692A574BB59DDBAC9CD75871C377F17A060FF62E96FFE942978 +D092AD08E79A670FFE146801D122BDC1D1F327116E6C6D703DBBA5637978EA28 +8CB6AFD258FF198D6F552D8C939362D7875DFA7D1CAEAC1F04C6B98CFEA2D1DA +194782C6F3B1180EF9A115D8267425FD27B4397981923459AAEBA169B4AC535B +0E665C6668BF4B59E37C18FFCA1D7849ACCAE132C2366BF8F928A1C405B33930 +ED71246FC1516E83E80FD97FE0C3A8B6A020DB2C89D681A360E107A2B13AFEFC +386944AB7A4ACAEBC8B0CDA56E7640D08E3057AB91F647560827B2ECBAC42C8C +09089C49A0B137708F4F0756286EA0D378DA87C399950ED7A0FB176E9F8BD4C6 +2EF4F6A95550503B45CC5B412E0434EA62A93D6A1C027B0AC3D427F6993E4B3F +26C12995C88DE1021D6398E475C71F16FC308EF5B9713360529CBF2B4A547382 +94447D5D410CC7D17095A905DAB46495953376471E605F4842B4AA8B650506E3 +F25F76F333EF07F69C07E726B69217C5E33C6E8BCFA46D4A5283E12681457612 +8CEC362A677A640944F8EDB2BDE23345B708BA265723B5E36423B2E7BC6EDB0E +09F82247F1A937E2B97CAE5115CF39F4535D4EA3377792C466ECEF841005FB8F +E40E5BB9A4DDEF9B0E7511266364CDAD20875A376A0A9FE21F5C66529FBF1280 +69F975C73A310638F0366B66DEA3840CEF75EB531D6289E194F4CA15AA96F9F8 +48D9DA309EC266D096E1A4D74FFFFEE6CE6F9EF42799179A0FEFC23FBFA08CD6 +84EDA2D7BDC7889227F15A13B91E40F01604743EAB73877820EF71B06E916B5C +A6052F2D034DBDFA19BCEED24DEB9CBE9402ECCE6D8851C0F785F3CCC59C0D30 +C3BC90521E0388AC223370462544959653513BC23A2AEB4652CD834FB5081E41 +24877AB4B60D9686FE79CE39F76D2F1350299ACC087CB7E3C85EDA2F12E4AEE2 +5CE5165A9D2A9B37CBE80C1809E56563819AEBEAFE2972D5DA414AEAA840BC91 +E935BF3682AE14F87D80663F889F406F9A475EB711B1FE6C5174BCF5BA39EEEE +297AF039229CF56B812C615B1AF1E105BC21C73CEC66ED4E455D6145FBECBDD1 +9BDF3DE9070FA3C9606E364FBDDF7351A95038B4EC85985F822314E059EC4F23 +77472D9AB08AB62CDF620EF95475925587C916B79214797A7A9D52AEE5058558 +F103CE16B152667F1A9556F2035908BD220A1344137028B28253CA3C2521F835 +5969B6E05CB6E9462D487BAD666B6C18B5BF72A0C34D7DC628320EC372E396AE +8C1059A0EF8DEE46CA504ACB4A4A217E95E6C64967753D1052A21D0BAC2776C1 +3007D9B4F5CF621E492C4883F005FB6199E8908A32101D41A59884114E351F08 +46F7D7543395512099E1F91DA0CEDAD524A40F2D757DB846B8744B181ADB85D6 +B83192A125277C6702582CB19CAECE61F83C2DD48D49B246E13A4E1E0D882EA2 +D3CE75B536FF9DECA116431B4446AC334A6619F6B09B4CBCC8D92104B39192F1 +20CD4E80B5310C7BFECF7D7D58B42FB2C95A509827CC26E463BFD258F9661BD6 +5F869D2D389D1E02E14115BDF06D1DFF2CA44001610A443E42BB2CD3635329B1 +44847353A0D6F5F253FE10831AD4ADC1453A0E6C0A77122FAC5F5CC8E9AB204E +DBDD75FBB0DD163A44DFF06E90DE369D756FBCCBA01B129E96157EC9F91ADA58 +9B6AA1283006790DEDDC6756B0AC9CE683219B90B5733D7C57D1A2268A46037B +3A29E023498288CBB009EBBD5F0411ACC8DA2A5BAD7812387957CEA0F3139C7C +1BCC4A7B61B195653909AA59A3519AD26175D77B1C08F9353B49EEF77575B8FD +28FCFF4294DC7D64893FBB5A865A45F288991FFF7F4B77FCCABE442A53C54D80 +8F4900E27FE60D5C66A71D3F5FB2D68C9A7A6402D0C942FB9D924C9EDA171F01 +B49D90E710C75CF074C3397DA291BA0D12644E44BCC2BAC28B094E0AFB617FAD +4C8D9F161A1276F469047B3FE1143CC1ADADE7039D04B9005A499D4CDBE69B4A +7C820413923572B7A55B341DAA5766CB4476869D4B920A070FA526FACD88680F +AC50F1D3E82F0E875DE21F6083A192B1B8E4691D1CCC9E43E614BBECC48B2C60 +F4B9904642CCA374DDB922A28442613ED7F809DC5DE885EC53F25F583A7DCA8D +B84E76921CD5B6F1B3348B417A7CD26EC5ED18DED87A9021A517A95320C2C95C +EF6C6B55C671DD5493CE6ECB471EFA016150F09E60C6EB8A4E38DA782AD500EA +DE4645A9B66B88E17711AF0C6DEF808AD6BD7135E602D979BE8FAC21E63457AF +517D6FB3CB9B5B687B64E1F1096E466980571D2101A47FFD3391BDA8D5B5C72C +7F9C17D1996B8B061F57EA4D3B809CA5DFA01D709DF25ABBA72D3E06AF5CD0D2 +D9676116FE9B7DCCDEEB4F18C8212D676886395FB6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 45 /hyphen put +dup 50 /two put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 71 /G put +dup 73 /I put +dup 76 /L put +dup 83 /S put +dup 84 /T put +dup 85 /U put +dup 88 /X put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 121 /y put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFD24DCEE2BCDDC10690C4BBD7C09503FEE760A8C80ABA4CB4F2E137B9D +E84C2A7C62046C9466BF2240E2A71CD2B05928AE68403AC7D2971DF67836191E +EE8E5518B94CAB77651C1EA94240333902BD6E97FBB8D37CA8CF48FBF19FD247 +FF5C6B8AB3C0920302DECDF87278C13FCFF6B78E16C2BC75772E05F668E49118 +2D78018466DB26F751D90AAC7CEC8EEDAA8D41F2612CC8FB2AEEDDADA08CAAC8 +4AB583421E5C08469D8D97C290149C02F18C584BF5F2330AFCE8FF92E2DF9B35 +F469A1C0D61E05B8B32000D4F6A0D9B74E591BADA348B0874360F8EBF20EEC39 +C37C6FC2087779FCA72E244C4B5390076A43C82C91B982B19D7AA8B61516F4BB +913C46D2F7BF945125B3C95B1D9E1C889376D26BE7933DEE23FCEBEFDB600F32 +9705E66D0BBF112BA75F2AD81160B6A5A4468B2B2585EEEF01CD882063EAF647 +6812E5CE5BDDA7CB599B4D270D7ED365779D880F3B795EE7EB1592E90541B636 +F58F52C4B15C725E317D4086D5635E73E1762FD68245CD49F97B51DE73377A9F +2D93B53BE2084C4E229825DEB94AC84E717DC761AD4D30F21595C5D06BB25076 +FD057A6D1B1152994A3EB3CBCD1624540A9E17004607D74D9D11F49D99CDCD58 +6F83AE4F87B8E4838A9D721A9F4E83163E93D2C3D2E23450EF4416AF57C77A05 +3EA6647D5F395E938C1D7D596FB31C40878857344C0E117FFD776718A63EEFF9 +C0EF477C9C28A8DFD0F1C4F9593A958B74DAA7035842743456D50201D867F1E6 +3BC8DBF31534A8695EB4E6DF9B754E6A0AB8B3F2D148CE210083762627D29AFE +EF78F3C0E150E35BEAFCE0EF7D636073A9ADD8B02FB4EB65B2F026E4E2104A41 +771C6C391AF970C21DFF205D7A85A2AA47456459F4DE52F9D6906E387D7AC5A4 +6E9CB1D41501DAD2665B208ED16DC7902D442A6F5E899600C1A50474156DCECA +D22F240BBF282511A8DAD5FA8F085EFAA2846032FCBD04F2A4100F7D6DCE1D81 +3589E55F993B2FEB4493F2FCD707E4DACC004300B9C38B099381DFDB3D6878D0 +FC504D2F8D82112ECDAA2CB14572F0DBAF579FB8C35778429C6AD80E1BFEA6CE +6EEE94AE8F7E1E9719FFB73318C84C1F57A0DBA0D30617B08B34E749176999DB +46FD8C1F5C238845451CE8B4371E7D38137AA6AA7E0689EFA8B75FB63FB2BE72 +F5B4C8033AACBCBF00297000CFBD203191BC2329FD7F1BBC6B5729BAFBBEA4DB +73DD8E4D92707003DDDCAD5D303B5A15BAB9EA7A74DBDBA057C4CBDE88F828B2 +1491D115A74ABD9B344A1CFCD76C90FC8F79C9C76BAC6DDD7A5A1E80B1DBA0D6 +2C3E7EF777D7649693AE90F5A6D99ABDC563F68C7BCAEF6E92E2DCADE0C0ADA2 +9F5D077BA3288C64C2297D4DA7B0713FE37BEB996A958C31BF4E32ECF1455DBC +3E52DA8F5CBD1E233A65A2A988511573941055822B4C769D5B7768245916654B +CD123C69244169B8AEB0DBD6D2D27E887EDC1838DCF0DCDFAB56CAEAB9018D7D +8E1D432C39A4B02C20D4F2FA968D7C7A84A111E1809CDF07F39DBD7F9BB7D63D +AD4F6FC914BD8C9179DCA10C9B1472F98FB10A125A0685B791BF629B33033580 +535313682DBAF15FBA9F7AEF8A26C4F02974072D3C803A6D62FA13EB656EEDD3 +BF6DDE186C33CEA86502D55CA3E0E0D59E8D6A835486805D1ECC48E90C5CB383 +E97BC3B47875F169DBA03054D71D805D2ECA7B1907059A1B4CB27F7EF7D9B53C +0302F14F8BA290E7F8B5363F191F83172209369887B34E04BA14A8BABD70DF7F +557E2192A49E318657FBFFDA7CA60582B42D91BC1D8766A4FEFD1189FBE22C78 +35A338ECEC46D986863D5B2EAB72EA33888A4B53DC7F82804D2A720C175C4A8E +EB1BCACEF68C7E4659DF8629C166E47125828D8F3BFEADAAF66A51E622BFBB9F +1BA40C8D7F5DD6583069D7F5FB9E821E557A5D5534C7FED354A74709CD069691 +74E4376703CFEC73B497346E2563764B051961AEFFCB84142FAA2D7BE52A1D47 +28DD27EFE62124855F47F9E2327A76A883D1191FC12D33D505FCF72EA04B2B1A +350E5451995AAE02D7E10B44144643B1A2906BECAAEBEB04B86DE2657444D50A +9F3337E8F4F126F9A22194351E6AF17E1FEC87DDA381002C556B76CAFD0A3BC9 +B58567ECC952FECF0DCB85B9C05BE7D44E9C8FCA53DF3545CDF80CB457A6037D +8E6540D7267453CEF9FA6066E2B12601BB823747A7C1E72812AFBDEF686B3331 +9E5DF45AC88A83155F4D65EDBC8EB64ECBABC13309919ABA182A15C3C94B0578 +A95590C0E5B88E2E9FB0A61469041A1A8C78E4B9A0F49AFFBA24BC38446829AB +ED856A37DB15F240DD03D72D4FA940FA70F3C707807A628AA2F5A162EF39B7C1 +F0DC85A3D62D5FDB473A5A1205EE659A8107CA04793ED0B08B9B63D1A81A3DF7 +57C866520716304A2EEDC4D39714F053EB14E7CF873437C255F62ADC28BE9DF9 +3AC568D1529F17B1C07B6C4504263E7DFB77DDBECD2EA0A2ECB66E441147DA41 +69FF2F99971279E77BFC84DCE9B493838FE1B19C46B5F3CE16D3ECCEC8BF9BC0 +5A0D2711E2DFD159E9E565E5930A5EDE2F36540F3C6AC9DFAB9EE405EDF4535A +543BF53CA0EEEFBCB0006F61CB6FDD8C419E2EB5B23EA3AD08CADAF9B1DB1367 +262A396F3E18FC883A6132EE13467B59E04FE52315E44C154A663F5193A8F9B8 +712D02C9F70AA43390728AB2BCCF115B08EC49FF55338A7F194CD64056F4A531 +FE41509AA35D1E035FA8741A3E2C553DD45E1A0C9893FADD3E764E42631B38A3 +7AA8B8FD18C34A1C15FD86767EE761F4BE202B25D02AF8F201AB835B71743BBB +4BEA15AD30BC5222C91F74E2348185B2F21489253AA480C4C463464FC6ED941B +6C98ECFA0C92243BE5B3FE02CFBA637CB376BB6D9A873CC65FCDEC8EAFA973C0 +E809B32BD575D89246302506500E53E3EE30F8B271C8FE5E34364064435BFC77 +BCA6FEC7F9E9EA3218867CD1967A7591912980707299900A5BB3EBE2E899DD4B +1DF6C01971301992A47B5EFC95BF9CBA5D38C4E74AC5BDD1F9363AA1E2E48D57 +E9FA27F6D099E6586664D7B6724E6852BF1C6D401FFE34AEEF4E3AF6FF6ED36D +4BC04271CF8BE1C06AD3FAAE911161120C36DDA83C4B720FAF12DC2ECBD3B11C +D7C88EAFFA9BCCCA5621AB87EA6EC532D8466FDCA72D7A5ECA274083237775C0 +0C58DDE157AA185B31065F5C3279E7A3BADE1313B80590F3DEB00A02214B41F7 +21DBF36F6AD3607E548D10B498112FDCF43B78EAA1CED0C90EEF26F8EF370536 +BD25B1264C347979603DF4641083648C4C75D14B091E1E186254E10BD8F5F832 +5AF1C578D6E2DEBFFA3DCB928ECADF0C5530A91D270A6B626D18EB43A28C43BB +5A72D95516FF207ABFFDEE0387EBAB141BC952F6BE45F186FD67E0D28A1C3514 +DF0A79D012C29D43690AD0089D95F2E8612D8228F542E53A1EE01E848ACFE68A +E2D12689846887DEA749FCA3A092BB14C2C9AEDDF9F3D989A1C3B6133D1C2621 +BB151B5CEB6FA076DC874D9A8F50641741E0B3622B6BA20CCDF8CAE59754B16C +9300D5D297F134D391168987A113236B4DE53F75367A5E07FD54F82EAE387F87 +DDAF328D34A203A5C70B94E14246C55CE3E89FBE86A261FA000B6F4539DDD627 +1E2FBB3689ED0EB6375B70E1C6DD570DE67FFEB7C0846DF3DD6CB77DCD9FA4A6 +46230072B387738FA12D9D01C227027889FBF5536B6954BD678B158925BE78CA +6246C787F5F4C000B41AD2F4D5F7FD3F34B8E21727E2AA81F687057EA09AB925 +DBA226BF44E0451AB32A8CFA4FA3F437773A6F18D846A5D2262B47E77D105C6E +73D9F4474C5B8839E07BA3917E7EAB5B1D5B37282A2031866A638476021E94A5 +94EA7972EBA667D91F5B0A903D3A7F8E8B6D1F1115F5D97F76EED4F4855478ED +469402D6017EF3FEA9D2F3AA7736A664FD0E6D6C486459F923474FAE0B9B6D1A +60E5C6C2595DA89F814552C89A7921FD829362C9ED406ACF9D2D3D18B63AE756 +EF4B7539804E1189B3BA92293419856A51790BFE678BA44E913D3CD8181D0C83 +BDAC4DC08FFC40A4CCB4890B252C7D21D49B24DFC1D24811A5CF9F3FF507C80D +96585EA85CF7D0017C3E86B26B1A814821017C76464C3BF35E45A108156EC69C +0F4D40B6D1A9F2C70DE03ABAA6D2AE715ABCF620A0139D762DCEEB2E2CAE67FE +0B2B0D8EF7D1740E79C9DA2625D919AB58E22909D00F71B42F83A6B7F498E021 +DEF734BFCA09319167F37CFD39C27DE7FD1338775D3C931CBA7C8643000BC228 +5C9B81D05F43E09BF9481C5A4D2D6548203B219F7CFCD860A2A63DC5378FDF86 +0BB84AA4DB2FFD9806958E7C61D9573E9BBC78A0ED1C6E9FBA4E30B7F299551C +6477D2E557FAAE93A05F357188EC6E2ECE1072B4A651DEAA4FBD86BD54FD8FD0 +EABD647AD6F36E9F5611C5DF7D7FE457AAFF0125A04430321E7410F567385934 +46F442BEB4FCCE17F5B3DE492FE818613476BF2DBCB7F5831AF09A9275E699C1 +F5CA5DBDD3A04152BD0F1EC49C43F7ACD7EEDBF8ABF5F2DA12734227511D4C7D +6629DBF4A7DE91A5C1AABDCEDA355F4FDF49329EB6D0B43FF01C96E240B1DA3F +6B89973FF0BFC985D739992E694B7F8ECC0DBA2721118EB70F7E87D5665A2479 +B095253AD807650C60A531C4C8AF61E6A9B31FD1234CF504A087F2AC56A6C035 +240443CF3E6D42880BB488A3AD593A6500BD38A3C4DDCEBD7B053DF692FC9C24 +267D47563BFA32F08D9951DB54A68CA6B6AE5C3BBA722CA46E21F62E292B126E +01F03B2BBD9CB41EA11B5503178FFA50E08C8A73182C02BF36656AED114CD5C4 +A7EA4D64835BF21488F6DDB4715B0163B8DB8E35673F4D3A1ADC1ABEC841ABFC +6012FEBF64A1B87F41CA7CB23D658EAB6AD1D4022D450A10D19F1A29EAEBAB81 +BD9D7F22C8B8A34C221D00E0637307CAEF6D7208B5AF41272BE11B1C419692D2 +D95B605EC64305A28297B935E6A63AE3A4A4AC78620253A72E63479DBF41CA32 +C994D707E429AD83059E91A62D7B0D1DAA87B69083066E288D57349D175AF5A3 +DD14010E01A3D382E7541A82FC2D264C17072C37946839E4035A0DDE0D86ED03 +E6483F77AFE48621F14380954F571801CACE8426752CA26D83BEA20B699C3A5A +AFD204D87345FA98074C24744050A8023CB496064EF3E5CF51536D02155F30A9 +E371461FF83B98E09972FFED5536500E234A6682E5AB38E6085B6BAA60E5AD4D +12A438EF4D2DF5BA7C9A9BC0DA5316FE404EF77B42F23CFDFEA3A3E427C0C03E +A335C7B2E5EBDEA0E9DD91D7E40DF9784D434290F0B94D5011269F5EDC6F5FB2 +9665C4FE43C252DF6F28638FF40DA1A789EAE744D80392A4B8C7AF5A7B7506CE +C4D424B927A82F773C9F28196DBBE204EC84701152FD133EDF80037584E74B40 +F691EF435EA142C28011BC2AF576017ADDAA2ACF886B808099F23045D729455A +30E902B3ABA6E4DF67201E3D3E629272D7909321968D4C5F56E76673DC2CA031 +709AEFAD1F5F616A398140FBB18EA9B0DFF91170A5C8787C4C3E78A0F2D7F0F8 +087426EAB9AAB2EF1599387605870D6CD5EDF5EDEFD68F47AAA40C0DD2E0EEC1 +A8D843ADD7702B07F23E1BDEE962787E638B5B43B7870B26D1E3FBE028D514C8 +7AD4F5E27E2A3E5A6C3A27C6FC2233D39423DAD47271357065E89A757CA0A999 +D8F679159A729AB737A8231EFB2E730E1FEE5AF5A9735307EFC696496F371C4B +D5591AF726DC48C2CADFE192E684F3D50DAB9758C8223CC69FAEA05F19DFFB41 +CE8A8D637BCB9DED97746E2A6074AB64BC4C9C13CE811683E7CD9DB69F9A62B7 +304D5E3C794C800E1405B4A58FB2F8E6AD07E701CD30E9CDD1C88F3C18B53BE6 +F8B6BBA006F12F7C3A12684AF9A79DA42B50CCEFDF78C884045CE714A6FD2C82 +91757ECB0D5AFE94EC64ED6EC28DEDA9F757B576E46A9FD8D26FBF41D1D85981 +4FC54EC5B32A7D5C064734F8E130512D48C45BD0B393BEDC78976EBC10D88B46 +10C7895DBD0D5DF50EC733415C5638C98C263EE4610AA7DAC919ABB14C2C8B4C +24EC0444FAEC4584F42BA64EA74742F0C809AC3928C0599D6263B21A91290376 +8A5D68101C9FB072C3CF99B26DE4418E857B4BDE749B0DE7D7E9CB8F4D69318F +2D5B0336FA8BC222F7D9CFBBE1106E25B3D674259ABECED0093D48AFB7F113BB +28ECCD0F7DC51FB20A2610927118874851DEFD61EE4AA0A02A62E69F081BBBCF +4678E8287115351A5E6824494091111FEF38733C3527F0C71F80F1C7198DF38E +B8640AC8364C308A14248DF65BCA5B1F07EDF3CBB92A8CA547DD5F9FF56AE4FD +FAE39E8AE587271F2826B67FD0AB34E6087788DB7140687AC48318A36F39E821 +916FA93F3E38201C38AB1ED4702DC7B4288233D8772FE46B506DB7AE680CF899 +4B083FEC3B50DACE41047A2A4284D705857E8E13E1FD56F106394A3CD20069B7 +FFAF3B28B808A9965B3928A7721F4933971E7E8816DA5BA47D54E5E11B36648C +C2C86369FC3B399F994031CFA28303641AB17E77F78A8B3B07E5E36E36760BB8 +73CF256CF0D26CEA4F5A88ABF9234A1AB62AEB398C2E34C4C3DA9666CDA302FB +DED4E3317BCD6892CFAFED33B97A722AB742B24B31939B21F91C56E22CA11763 +A97B8040F541454C0F4C34AA8AC244C5DDDB31721EDBCFE059BC28F85785C690 +111BF52CA21B83EF7CA069EE5197985B492475BE49CA382BD871C00A1F24B561 +23E2DE72F3EEB6F490D9934B5A7864DD93DCB97F1C45F92AF21F4EE1C4344300 +3D04516DAB8E7F517B642D7B79B4BB001110CEF25B44474A51CE9C69AC3640A6 +38C04D3A0E5678A922E3CE44E2060087732BBDE8969469915DA0435193EFF48D +52F3464FF58784A6EF472EFEFFF34B390C166E9B698ACEA818B4857AB6BB46AB +A36B15B91593D8DFC48E82757FD322B2162BD462D66CE8FD71AF2EF670863471 +832E1001E112C4754A34A3483E6945641FA806288D42FD75F8A4A688D5CDE798 +12830806122DAED551B58D00D0098DA02AC40BCFE6B12A3874E7400B7A398507 +724B15B02BCCC6E32FC6AD5BEB9EDE6D2CB22589C6C514B3AD25B7FD5A50747D +649D9F21C7A9B3C7C97CFCAD4CE1AA72846CA668815CCF90B24EBE21105D0719 +87B733D7EB0B47C5885598023D7039ACDA1494B30814D4ED7E0DE021EA097B11 +0BF2B4820B01966CF8DEF6BA5E8A695F6A9DCC8B4F49F42BB9F387FB03FAA5AD +1286531C917ECCE7ED09CA163FBCA36924DBBD33D3495AD5F78FF380E0F5B238 +7A191A64D57E0A07F1E31D4D26C1002DAAD0DADFD47C81D324EDAFF5F6483D5C +DEFC0C592F238212BD05DB85A3AFFB164692A813CD68DD183043CC01A1186A9A +31B4AEEC12EE5B108BC17894CB7D673C152775E8CFC0B3C0258F91BD686A6156 +4EA5A8C788F21F737139839E6FA6B0EA6C7BC686C797304D8CCB560B0736FCF1 +097972CDB672379C2669814D24D8A87477E876483FD0463C2443179BB181309C +1868AA1B0B5EA2237E2BF13359B206AD90F98BDC82641E2DED78CBD806B282EC +8A74067FB563434F667D155789CAF1DAB4A89934DB6A8BF5B8A91A863AD413DB +35EBE436E0A99E96E6F158F5A8263EFAA1CC9BF2720B486EE2804B48CA56E545 +DBADAAED37F80A46B08D6EED61 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 11 /ff put +dup 12 /fi put +dup 13 /fl put +dup 39 /quoteright put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 45 /hyphen put +dup 46 /period put +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 55 /seven put +dup 56 /eight put +dup 57 /nine put +dup 58 /colon put +dup 59 /semicolon put +dup 61 /equal put +dup 64 /at put +dup 65 /A put +dup 66 /B put +dup 67 /C put +dup 68 /D put +dup 69 /E put +dup 70 /F put +dup 73 /I put +dup 75 /K put +dup 76 /L put +dup 78 /N put +dup 79 /O put +dup 81 /Q put +dup 82 /R put +dup 83 /S put +dup 84 /T put +dup 87 /W put +dup 88 /X put +dup 89 /Y put +dup 96 /quoteleft put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 106 /j put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +dup 120 /x put +dup 121 /y put +dup 122 /z put +dup 123 /endash put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2AE30625F691465E941BD639BCBD939747D8B480F14B9D9A5BA5F868FBCA5461 +7237C8E49DF60B75AFE80A3F9F98DF24279612DA5AE02B2DB29716A1BF2E2F5C +26BCB2EF1612A9D9EA2F610ADB9AE7F52C2A2E4AEF09FEBC37824CC08C206027 +B020024CB98169C9FAF20B76D6CDD0DBAC7ACDB204CB4FE1C4F7A53B0915D05D +D8797D263214B80D797AB7E394B29523A3E2876BEF80C096036DD4C95B6B6EF4 +147D163B7D007B43C1294747F3ADD403E3C9F6D68EAA001B33374888A6584744 +E9D93FDF6BB4317AC50DEB778953DD522E0329DACE804AF7D8D7983121C21344 +DD2EAC6651D18A644CD5661A6CEA3704CE1F313FB4B57FBA49F54FD4D3C97E30 +8B9AF0A6E0F662104C8DA6055F23702BE0D79C81597DB54FDAE573662C48BDD0 +60C83CFB31C4FC4DA30E957320AEF84ECD9CAA63259283FA30B1EFB1AC1CD25B +319DE2507612AA379A62EDFB1378A82FA82511BF1887387A293093EDDFB064BB +5E6F16A2C5B87A779636760C9A55D083BDF3697A1363DB3004BFD2A9E46AC646 +7952AC94F43BB212D57C3275BEE1FC851A1D8EE864F047E748D8DA5D1064AE2E +2B676CF42977E3C7A962AE6A4BF4C285A2D8EEC6E2A18E4AC4B42F81DB73914A +1F2AF8786E14A6C63794EEAAAB9A2AAB5DBC6B4D224F07EA02F4172E040A2243 +24CEA4FD5A951827A2249E7EBF7F59869CC9A2D540973E7CAAAEAFE0630FF43D +6268AC73F7E25673338A8CD6208492E7A448B9ADC22C30EA308E6A5C8EEB5921 +F493C8F5B7691CD0C45447060E2F1A2F16C98F3FEFE2DFA75A5E5A34CE402D25 +B239D9B179F816ACD71A7BBBE78152CE312FFEDD19C8C5BB020383E63FBA9E30 +09601EB90249C444D2959174E822FA71635073D66DA42BC11A31B16AD29268FE +B992433127A083671A9F6D9793AF233DD08A9BCA4DA0DC9BB497E28E1BBD16A1 +1DFD7D48F47ED2C428DAB6BADD771427220013621EDA518E1D24BB7F3DC97C58 +231B74F3375C5C2B7213B8DB4A7C2E8269E329D5836B2B412EB48E2664259992 +5E517D83EDC7039AA29A4835C35C388E4374FF405B30D6D510E0215D81B312A8 +6EB411139EB7FC15573F4CF73F936AD234834BC6145D2C48D136DBEF4D6CF40E +12D21477AE8804F97C415DF7F93CBF869E502199583C9DBCED5475A320AE1225 +36BE2FB03A50A4D4E460B34C3F89692145DC1D6780F366636BAE05E7A1A433D1 +432FEE0FEDB21B4C6B1019D15AFFDD1BA5E050CD777AEB1D79105C073B0D6372 +74DEA9060BCDCF62EC23518C5887A79F34BAE9C461A782099F6DAA48EC123BDA +37663EE6A7018ADA18256EF6D32C481A33A30DB38F0C9DDAF790035836DF00A6 +26E391347A90C861742CEDA11DE788C276AE1957BC13AD80DF19268660092685 +B3FE84B7D6CA5327DB81FA5DE47FB7AEB79218CBAAF8E1060D47370565650485 +C62F384E0E33E3126A9A3D0BA8D0351C397A6670CFF395F0464CE1A78A87B3E8 +62F62E5DC9792605E66A74654EC0C210D68DAB3E01588D3700C76814587AB37B +F29F93793100031A989D3B88D5356331D33FDBB3958CCDF42A9E3AC6FF427A4E +F800AD296125D5E2C3CEC07B82CC8769415B8696543B9617A9DFA26BC02BF16D +DB35C789FEE7467E4058953B46B7C4F38BEFF0BF6F967CA6314EFCAE79744179 +B05C0E1B43AEA71E4F3B120BBD468A487B79FCCE49D42F21F6F7504B9CBB95EB +49247C1456405694C008AE5BFA5D00583A14E20CBEB91DF90DD1BC6F02214258 +AD8FF8C9D5FFE44F8C791CE4E4651540770F328F7F74D5D9C9EE9D4608216093 +BBD02EE480CBB484B801557F8391A8AC41D877CF5F5833BA562ADD33B25843CF +CC3F9373FF8BDB10DDA7FCDE2E8BF22523756C7B291157992FE0FE00E962C1D1 +28890EA8A460115EE57280DC225E15C113F1A77C9C873303F6F6E3DC0966BBFB +B5B7D414F60E9129A25B8B59BDB0DD2ED4F0872E3706EDA0A75C367F7893B83C +7F9CDF9C35A9BA4992B2DD92C218E21A62224A49886F1DF2682D14312D0F1D4B +D4D9F0A03A3D89135672C536C5DD09C3B5FF0B7F2D7FA8A013FD094B24D9DD43 +190AB1A757F987B653121F2A6C6C2370E2FC8121E12FB023BD952393403257F4 +2CB50C5D841AF76E112A17A1F940787E654885A8EC5963597CA601A50C66F682 +63FBD5ACCF31910EF89A3716D536E65A7ABF0531B1C2CBB35B44E5D0171B2F5C +55068429645A234E6A5AFC9E70277C5B46D3E53E8A346F17E450CFD459BC21D4 +3285F34B99F2102612447C1932B2EEE98F9850E903BADD6F98D365C19D705F20 +9DF65E0D34745E2CD094BB3605CECA388A211A0DA2C53E2FEA5E0E7C7010FBC4 +7884F438049A6F596912E659860155B96B4CD17DE94EC97C003F45F6E6E246FA +7426DF0D546B0D9666D6FD9CE2819DDACDA32CC656808BB592A30731A588B294 +535B390B552921A005E2D1AEA32F73DE15A50BA91C4243AC8A91B94249C0AC56 +3197726C24BAEAD95826B0B8F213ABC7A442098F688136AF7B2C749BFD5CD040 +E8A665C64A68D8F28E58E376E2CF18FCA953C818BA33E3FEBC23ED82776584F3 +8528486DBFAE6EC475230954F45ACA727889EF8287AFC23E5EA597EE87F5D86C +A09A6480892B13FD4487885A09D59474F44AD31F349F0A7C572698252F9498F6 +8077E0118B0B970230289357B3C33B2475CE964EEC7D778266A3DC92CC4B756A +4E5CBE85134C3A4918FE07519A5526F787B5DC1D290EDC8978BFDE9FF33F7E8A +3BB4A158F43672CDA2A679EB9B6ECA8154455982631047678177CC8EEF25AC34 +A5D4A8D74F5E6B19B39DB051C696BD4AE37A3E27AE5D6F4241151706C67BDE85 +5567529B3A02E446F680AE308ACED78401FCBECA0F2D666AE8228ED2624755CE +2DABEC22D2B550518DBE27D1691A5FE3C4148EB2FD8320CC6F07F466B3A290A6 +364C1CC0449459755962F589EE4E1885220F022311C2366E55A3EFC1710A7FA0 +73A6A0982CE5EAE9D7AB6C24D0A6C09739E4A403D908C4798C4A051C0097A2D5 +C6EC79CF5E39AF72BFACC6A6B930F22EC76F947FF4C0C8C405272D87CCC81963 +4CCD268EA0E0F2A4B7CA2F2224A87AD6F3AD22A011B1EDE641746F52D346BA98 +8773694A7689816943020CD9B6051C0B45E9A71400E9735BCF537E111195FD59 +EA7095361C748ABEDF54EEAE6AA8354680A7F43CE7500089C22AB4E710CD8433 +27B1F3ABA5CE9881B21B64FC74F728894FAB7C9E0D98E12302B23FDCA6B41D63 +1F32E888B1ACD3C177852826791098BCCAEEEEB95C7D00A90964F864B16A9459 +86177B2F973E1F1EFF788EF642E0176FF2DB8638A555178D51B54A3961BF43D1 +D72592CA436CAC72951D25F4B11B1C7E2DC35E3243994C32B4C74CD951D32A31 +4E5456FB56204594215569CC163349FE4B7453EA8FCE8009D30DFE0DC67C8207 +389B61B8A5565127C340CF45CC8005173962EEFD996FD1CE1EBF07FF63939686 +F9C2E85E86CC12013D3FEF00BB07C51319AD8831F41E84809FD5A70387C1A8F8 +91E46AD7FEEA4B254182B26B472012FBF5EB57597DEA725B9ED6EAA1049AFB1F +8C7239ED635D295FE30F2006EBF4868FCFE816705DD6FD540517F08E974AA5EB +EEDA12242306634ACE9399F9AA5C38EBBEB9CCD43CB6E27CFF62C99F043C5EEC +23169C3A76EFAF5381161659AC6BA750B1407A918CDD565D11CFD9EAE76073FB +2A07BF3BEC6A58D8DD9E977AC9ED4C78802B352FE29AAEE7E75094C9501B82E8 +CA2B076D14D4364A5620F78780985DFB8B5EE1F75B4D6D778E41E2BDEF6CB463 +36EED2F5358FF1C616578950BD9CAC3A0B1D9E0DE632CA6AFDECE3C82702E9B1 +1E6AC9F5C9200E9E8D69B137BB7729562D7B233163B9B3C3DAA490A64D05543B +AF5C0E25FB7196841FE6B15B6BEC34AC5CE84848F3077E11DE197468D2EF8446 +D7D9FD77E77D498B4C6194CF476AF149ABA574BE242012FF0800CD8824F85C08 +A5D0A24413EB0D177052BBB6EA1681B52D40DB61341A5B6357DE73283F9750E9 +17D3ED4CDA7786F1C1E9FDDE78CD5FC1D6C23ECEF775F62B732B0B962DF29332 +4CE220E9CB430DD1503A26C15E074C890CC295D197DDCC92F13D5D6469CD96BE +F678ED40DBB1F889D9078BF516112F0E153CE00AB97CE94B9CDC91876B5795CF +D5A6D617918864206B8C83285F4FC992C23248C812BD4323EB02219F8DBF1CC1 +4708CFFFA863459AE047A3F614E7F047B580B465F7507690569FBCCA17B049C5 +584CEB275D6ED02B050BC65294D012525F59C3FF07E24AD2B3CC7059829A542B +00A31CE96B7E43FB1F56F5183F821D22E07714562FB62C2936485A96E378A380 +784BB3858B59434DC840BB4E7F8C3F4A42611F4D065E248A9CECCDB73B324F38 +B920C7DC5C74F32E5D82F9682BAA181DF482E1281C05BD55670BED3822734A41 +86A69FFDD0D61F77FB4943F2BDCE44D0D470345ED18E974B39A53B5D00D7D84F +762275ECBC16F66ECFFBCDFCE3D0789C7871CEDC1EF7FC444813A32FD80A88CD +445355EDD967345908B13C495B1D0832EC847E395C25C14A61846034230893FC +FDF3FAF7AC71DE4D59193C5BF84F26AB1F2097ACAFB0E91E070C6594ECE8804B +0CA3ED9B3A699CC0059D4991DBFBE7690CD60A18AC91FB0425F5169291029FE6 +2B3DA6F5B0780F34254D3E969A68F7B2D30411F84B87D7834E56B197E940A93C +53BF3B8DBFED958BA5674FED5D6C4D1476DCD73A62BC59391565A2A8DA4C2E80 +544E712C7F44BE97EE9311BFEB7BC76FFF6FDE293DE819FCB707CEC2A25D2D37 +B69646DB00F46A4C71D91F337BE983A8FB174853FB991328861CFE158262810D +D5F21E7029644C888C34969EF3DCC060CE461593F3EF8C25090847C66495CB45 +0D0AFCBFA68C864C0C026F94EE078C9CD251AC52ED7238E89A2C67A836CB63D5 +A1A3BA3B5231F1BD75179B35A3CB623C19F9AB7E935662E5FFE34F952515FAC3 +6BC9F669C8DCFC15B541357070755C3D60F4B37855CF9A823540B4AA741CCFE7 +F34BA3F4283C75ADE3DACB14059C93D80AAECB2111C2F834F5C4F4C2727F44DC +59D4BAA4A19BA1D67D0DB05E30334AB6EC93CB9FF218DF49057E1E52BAACE6CE +C0DCDF75C05DDD1D60747E4BFB88BAEB5F9134967B7C5AA9B055B7EEA71A0DDC +E149E75AC44BB94DFF83093EA6BC2B4E9F92C40F78BCDE831055D1C2561DBFC0 +C6713CCF9CC57ED6E6E9BC05F5CD49E2E2F008D9A6DEB8F502FFB26A71EFA1DE +F78766B6E8997E634B256294024A64439DC9667F35436D0BDE4C5C381CE4ED65 +CA6AA8C43B984134573EFF41CA1B3D4C4E293B573EC3279D782E452725C4FCE3 +C92179E91B0DFD8F8B35FE5BD0E17220CD7ABF0F6E7BD02A265F1A6352547539 +4D60911658E71068C2252D0F9E5EE88B942C67A2FEECEFEB553928C2E9FCB202 +A8643CDE7E2ABA18FBA335016DF43DB324217B4C453DE2349553520C810D9A2E +6177BF813C54C4992647C93BBDCAF87FECF6356D4AC6E749176999DB46FDDD4D +9E38EDB420CCE609A9A76220EF1FA59FE00F6179BC5944277FACA99C8F8A8FED +580FD0E7136ED6ADA13647844A584ED23FFABF95A6E674F95D4F1099039A53CA +D5F3AB9B4856A6AC0C30EEC00D451280A68BBFCECB8A0CD2A2E93E1CA948C608 +C2CDEDC78CA81FDEC9016B22496273258079419CF2247DAC519CA325E6184B36 +7B67EC0EB368038CE19C792620A09E80CEE472B77150FB1402345109100D744A +409C2B778E14F20A6BD6319FD98A55ECF14ECBA90ED784E7B84D4190420F50B1 +29C44EA88DC263F91297379FFA47E9629270A43C182A6FD570EC46249BD34684 +62914C2B91B7D380EAC8913D54F8BC617F5F9EC291CD5DF9CCDE6D04770D04FD +040D2A59300A68A94975D4BD2C7E9FA9B30C9FC64C58ECF8A254E971054F1835 +04DA8C0E88C67B2BFC603F41B2F3A4F8F18EE682159556BD0E44007F39D4153C +480277159C796D5F901935B0E067B6D9F626A6CFCBE4F87353BBCDD3A76B536E +5E96738B10FA43D59AB273F5926B264400B27698D8F58F6A620262970B6AD117 +A878F9038AC5FBE0D0EAC625D4EE6C022DA2A1BC2503CAAD94E80E02A2EA9C8D +B3C8AC5DA7C3A4E5A9B28102FECCE2DBDBD216EFA8F61E7C5A6267DDCF390214 +83EAC2603D2612FF260A0921E01F851865EF1E13AA97507A289426C92E63788F +160BD5F14F5DE822B47B89355B4AC19BCA545D646CA758E353537BEF22A3EBD2 +79287C0B92221E71478938EB2D3CC4B5D1390BCBED39B159C8B07C020A74C93F +8A57BC833B14B36B4119D9A989497E020E479C21C7402E9AD1DC16C1B226614D +8DC82131558411862EF401F069CC29EB2E4BACC32EE8A2E68E90AEEEC563BF96 +B9DED370B3DE13CFE5B559AA42CBBA8C137B9FDFBEB36D5EE814B521D98D1159 +557ADBDAE98E96A534708999EAD4A55A5580028E72168DA28199BE65B187455D +336F8561159B7FAA5E9E1A11F4E2CF1C679F993B9C7CFE1E25317BC23E93962C +CA4A9DC239F5BACE449E97C1E90A19AFBFBA6C1C4FB78DB4EA8088759739D633 +2CECD1945DA6979C7B00C0A5F39B313487FD85E85DDC2F326DC8A84971EBB895 +4C3A90EE70C4356FC3F4C69624120FB1D7BB0748D1CCAE1A119EACB92BB76AC9 +71810C301213142EC7F54D3E2302DED7C2A82D948D2D018C708A3129E8817D04 +62AC16E70A605AF3321F2CF371CDA09D0E76A45C3BA1D1560D37DA17FE5B7136 +30DF73B6CA03EBE5FB8B2D1565417D5FEBD5C201E8E71CDBD3D90B64E77458A4 +F4C4FCBCE04F3C65EA2DBEBD520D655376B3D8DC16745703CA46D7E7EB2800AE +EFEA3D8A99B6409299404E23BAA4F3B2AC7423892C7DF1036059B70A5834E3D1 +DE11CF342955E5B8ED8CD4707C4F41D6A0EE4E89DB3604C22C5DA1FAB779CC14 +55B33E40A2D70933DAB48481ACD230AE5CF898B79CF68A39AD5CDF6069424F8F +772CD2940062EF19146CFDA2D3BA164D69BF65497EDD1465AAB1B960D82A4200 +05E5709A4BF1900A89A6C72B3FFF929CBBB38E6327651153223B00B54FE560A9 +BF0403A7CB3FFD4E358F487F8823A3B70E1BD7E5CE9A79EA44183BC1CBCF37E0 +1354CB56C461533FE4DBF335411D276E4476946C4AE367D4B6AED5C3F53D13F6 +C14386F8795044011CEF88A70C8F2D559F556E105CA4B0A9C2DD2459628E9F3D +F92FDCE5539F94CF13973791CB78B915D3E5D7290260F14A23FA327A316832E8 +31497A0B73D3BD8376658BE7A8CEF9A60D1A4B9F043756A1D0079D9CDD3C4A1F +ABC512EF14595B303E28231732E76EFC8E1193A417A0C6A6B1DA014EC490D6DD +247BAE66DCD9D40C98396AA26EF7D0E2DAB1BA62FC6FEB2BECF1D1697D8880F6 +AD98ADD77B5BA311F71596B3A9D58DD9E28B8FB7ECDBEF36033610472D9CF1B8 +3F0A2398C9A61FC93CA8583B656ABF00E010EF8FD7B42600D22193C2D044F347 +6B96EA9E36FFFA2C8425DD35702B09A2D8E05D978446F15FD8DD205A1A3FE1C4 +34DAEF60C36707CF82107414B74989E73FFDAB539A06A71613F167F43B2EC418 +7389D8F06687F9105BB43853FEBFE441AC68DF8D348508542E06DF0C70D322A4 +59D9239779A4AF05BC661A9BC279EA25D3EC11DCDA5AC56AC2087695CB717E99 +A292346A09EA5964587B741FE4FDC5B39B8CA320B35BBBB9F53E205455148F3A +6EE4819218DCCBFEB1D695C9CED02EB3AEC0E5C3E8882B484DF4A4A994F1C291 +79982F8A7DFC7CDDB4DC00CEDEE6BCA90484B3F3AF3B03F96853E75CB6D4B2EE +B93EC2785F3100BCF205C84D430EB4F19A83CA9A2871EB242420D55957186C0B +EEB0582B86360D7FF96727E0CBC9808A0AC8F563CE7F5B018B155A5605D1C49B +8D26C3BAFEFF6C5DAB3E3143D57300DFB51870DB69A7876A606D7967BF07EF85 +C26EBB8DBF68BFD206BDF393ABD5FDB441CB1786936F02B889E3C9E598BBBA96 +F75829DED2DAFA268C07B43FEA98111BD988D89C170BD3642E391B52E2352B68 +F505F2783BBDE9383B442A1338DAC43FB37D36400F48A317C5EE30F3665CB6F9 +B9119F743E30F650DF5B2C0C58D0857DD2A7EA309F2DD7B2D7668243687B3D53 +E33E7C5F6E2A9B3A18271F80CC24570D5F7FA183793198838A24AAC3190A5800 +6C2ACF335EF0072ED52AFA769D61638997D0D9A35CAD4D23A67F72CB62049F44 +9018E31A7695899258AD24D289B4442188B6912C706D011C376190CB74628651 +4EB2F8BA4A5B22CA5D2236BB357650DB01EC8868C2A551936AF6DFE031365564 +E472C7E041FCB1D42568F424E95B70806D987AB4D97BA1E587F29651AF994437 +F10DE08D7C231916086DA3DED902379A58DAA12DE4A3612F7A53D566F90E20AE +02CD23FAA9983EFD257CF14958F163C4F3836FEF57E68F245E1EC4BAD4CB3D73 +21A5DE6AD860C5083606B524702B8A8B07AC59CE6E83C23A9EFD7EEC8B6AA64F +C8A7E13FE70BCB28E34277E85642B7D9DAB2814C04F085861BDFBB60B4B8075C +A13AD142A6D02C81334C56AE10047914CC4E89B3D2A82381601853385E15C2FF +341B0C4B30718CDB2E35D05F8BEA988FA465E49D5B7D4508594A786DC0EFDC0E +F9965BB338D53AF47F5287E868F15299C0DE6944371D8131E595B58F39D830AA +DBEFF7C278F70EC86CFFAC8E33B81CF24B4DEB01F51720F81B4573C8458AC5E8 +52B8209E75BEEC7FAE636BBB18A8CC7DC52AB2806C8D3E39691B2CE238BB8A3A +23EE3E03527706930E2E0C065D7236B8B03EB00C5A2236804E3147C820A985AA +EFF4C53627FC93D0B3C5F502466B627781960F4250DC2B532F51FA8A11E140D3 +5BA1B36A731C5882CA88188815F090343CA2B2C65D824626A934185C68A03BAB +8B51DA7895F60430453EABAEB44B199EFC1C7CC03B375ECA6D731331F81BDEF7 +1A641DFF3E44902D0BB08B2D8C226E2E0FE684AE4E1105AD2BF219151F21FFC4 +491627F2335D2F12CE4FCE8D6910FF85296497866D58646B3801810F652459F8 +8354C5C6F37E04AA3805ECE3C76E1EBF60A80B0AEEEC0E20F30636585BFBE829 +22AE7DE81380F3B644C40C6E3692C5450FDAD1F41868D061AF92D91EB8ECF188 +E4CA8BAB658E0EACF85EC2895E552C734A08D49E6077B1349A435F699790D2A0 +872603107C4831429D74656C3AEFB6FD955C1C101B1896F933A1CBD2CBD5B257 +5E528D23E10CF982826AEA7D38726F2A1891F970FAE216D944159917830976E3 +07CCF259B6E9739454C48F6B1622AD412FC62FF3A7CA405762F5C73830AFFB23 +62487E51B508718108B40DA6378100FF3D3098E5A1E8A23C6CFD2706FA8143A1 +B5E3B13AF59FF794C75ED9152B309DDAEE42B602D84217478EF81DD6F8452BDA +B1A8179307C828CA619E0E3A58D36840FEC40DA421DBF36FD15DE352AE5BE6FD +C4D8D6335DA7182D6EB285C4DD47851667CF609F5EB1981F018B745F42818F68 +46F01D44C006D09AE770F590B25C50837452F825115DBBCF583EFBE1FF385665 +AA7061A693971F2AF1C8F342CF71D335432DDC667D7894F37ADBDB4907D984B3 +1DC62AAC19A494F45F3004EA783A340D648AFC7C3022981C19C35D1A601CC00B +7B3C6B1D3B8EC333D0D9777B290F56129A969A5678C8BB234C85D233E27DF1E8 +0FBFEEFA9DBA718E6246DA6E87F387FD3D9EBBA3DD6F9FA15BB4AF48BEB8D3F3 +349F992F75D7F108D406B5B720B8F1FC5167D054EEB9A27DDA806A6469B37DD0 +EE68DC28EC3E021F8F409320CEC3498B9B7B0E4072D09954A848B6D953CAA6BC +9B612154472AE0F35BE54A0CBD6EBF7BF98F45A3B3F7C0C40B4A60948AAB05E8 +D613130EA1F55267D05349D49EB640B93816F76207E6575BDF8E065144799EBC +07E9857489D3C58C41BF1B89678997036014F576CD4B4CA8F226566535B1E0B0 +0B25FA237C7F62F908C00C77058C7E1FDF419682476B0EC13A0021FDE9DAC444 +D0B65D9781223B8A6D53BA1FF88A2D8C4359AE27635F4F5302A412CBE62EEA7D +F548A457896CB7F1B465D30A864F26B559CA90E4FB8BE20A8D6A3EDFF39C78D9 +BA6BB8CF09D3C77664E5323E7C8AD0674FBABEC2228C0BCEEAABC678CAC67F37 +790B31CD480D1D0370020A5CBCB72475EC4203372A3C314EC61D1A298C0AD3CF +16CAF83594472B62366BBD84D4F799B032C6E400415619D16DF8D921F0CA89AB +BEE51B0E626094D932226AD5F4AEEC21BDEC811BD45C5CCD6313D554DA6AB341 +61DF50BA54D62FD4AB422457AAE6D671549DF4C58F99B3F196D525847587691D +913AC8722A0F4AB29FB1F03666C9FCF871A4D23B4497809BB3AA5EAE5208369A +5070966325CD329A611631EF133FE30A2F2AB82730775D1DE6752FB1270ED1B2 +907F4B7953904C0E989DE4B1CC6D9729278D31C1F1DC0BD3701FC5EBC7EDB4C2 +711BEE0EAD778DB344F435D69429C9153BCE31CFAB52FCE8BC9FBE9055131C18 +00204FDE157161CE20CE92C940319CB205DA816364949D58C09E7EAFDB96B7A5 +B019F2FDFD59F8BDB433615F8F50F9412C8AA490B8F37C6ABA3991232DE8B59D +F4497D3BE4F7E4FE3C9D99F9D72B022FDF7559924BC581E2686C0DEFC951151F +37E99BC23CEB4BC4D88B46E32BB7BD1BA4A4BEB54DE097BF3875F4DEFADE97CC +E3D61113ADB95D03893402C34F5925A76CCDA7D00B66C76BD2C9016445144AC2 +F094C5EE42CBBCA14FAF51BD82411B9DFE6BDB7EC06DFE6594E3D635E2CAC645 +295D79D304EF243538631B3555722554E7B1DF934F9DFC490475F05B35DC0F64 +6F6186463748641D0293DF659F0EE6777E0A01AA05718A95AB79A45AB0351B07 +81C7279BAA8AA740CB8D504EC9EB1E7E0F4687B6CA50D5BBB25A4FF7DA800F2D +216E8AB539CD7A3300F61286CB5E8633C155095A04CA3A40721684C33E16A9C2 +CC1CAA563FB0717A07AAC47B595D40AF17B514FDF3081EFF4A66A7F399A3774F +B2BC1F7FAE66F43B590EEB2AFF1BAFA880FC368543E4D202C17249E98237E171 +CE6500AA6DF494509954DDAC2CF951D4CD35AC689EB3ED271304E7141B84A804 +E830A266FD4038BA75602EBB0DACBAC0C0C6725D089AAB850E8B36386FD3A3DF +8A74C4D08465BEFD9B53896B25E90BB62A03F77E450266AE28F973F4B745BF45 +6A67005C2CE5FB140ABF1FCA0E5C5C2A84D32EA6995FC9CB98FB6014A82065B1 +A2EB74F5D5B79A15F78B8EF49D6E62FD98E269194713175E44E8FD02FA1D9C00 +55A183C8E70B9412609E5D6060092BACC905704F4E32F918B93CB2081EAA19CB +E7E9266DDB579EED36D63418D113AF71EF96D516DCD8BAF5C1504784E9CD4EA3 +AAFA4450582EC06D48BC386195876B4A8EF99EFCA0D89C7957C48FD5DB2CB067 +25B74798336614EF9BD20BA9C5BA7171CE1F0921098EB98702CD5F866C50B456 +5BF32910DB7FE06FE45AAED45DB7A94746D9C11F93A3104FA2FC5085685E2ECC +D7D9CDB7F1B7C29E6B4C224393A22B0B1BCDD6CAA9129B45C4D64722EE2CD8D8 +6A3472B2949E7786EF63A9AB683F600EBA7E07ECB36BA6B118E0DE784F5C20F3 +5E5BC02EBA3DFF599738436388BB42AE2FB4DB095C56B3D62783960725052428 +2791466C89991FCAC619329F00D228E01AB7AFDC1CF0316EBA0AF99F3D328DB0 +3C9137B8D83987D701F0BD624516C67C739FC007263045B53BBACE0B0EE53E50 +EF5F6B613742843407B1E99576F632D7B87A6D2F45CBED66BEA4CB7D8807349B +D072021F54308111CB949AA87C6E6FA500FF64BF7C499D0018976CCB04C29B87 +1FF1E829762DD5925B9AFA7BFDD0A4C46E32AFC9B498F3507610EC5768457238 +344F7FF86B5FC488C1BB97CD3A126AC6688DB1832DC53A9BD27DFAEA81363B9F +3FD9F5EFDEB1416A596FE6DE3C1FB2A25FE6C580307BC0B9F225612F493FCC9B +BE899D654186246F39E3AF0A73C5750526EFC8E53FA6C80E744CAF15741FCFF0 +EB8418E30449022BCB3CC4EAB93E56609D1F54C201E4F62781CEE36D30F1BBB3 +741BBC18129026C9074F1490C3D02C9A260980AE8ABA4F3E4E381D3D0AF1179F +613F8143FCB4F730C39BF431FECF01379532A4CFCE26436C3D12C9A2539E0C18 +ED46656E132EAA1A76B83BE5ED43685FD8E9C1449501DD34901B1259F75EFCF5 +5E2CC14903280231EA19A7512C3BDB28934FBE6A27496F7EA8624C034C343D4F +43987C1449A1453F41A40284CADAD90D102979477A5F03B2C5886597E62B2A36 +6EB4E6E8F072098B705CABEC6D7C81E649CE6A233DA39C8CE05BF37A6565AD83 +6411EC591204AAB2AAA9BD28211B907FE7F6A5ECFD3EE7DB776C7B4E60A52465 +0D2FCEFF38828D68AE11FCCE4778680DEC6E97CB3B73806743CEFEF9813EC742 +447441D9FA652B9F0EB55A976A825B66667BB2CEA45D1E6CECD23DBFBA1E6EA3 +E08747D5705F44B882CCD263BFFACF4FA3A1F51CF09E8527B554B5D8AFED5C14 +AF0BF85E8F640E632021DA94703FD712630752C287106A6283785D4DD0802C4D +E37133659E8344630950007FDBE140946D619E8965EA429DBFA78BC3945BBF83 +35787857672F737A60BA249C06F9EB182782D38210A197E88142B66CD3ED84A2 +9D7505EDB03A1C577B49ADDA95A2AE73AB900E1C171E49D0E3A080E059740912 +128F4A2B1E4E253409F5879A8FA6032348F7ECC16B5D372CFE65BF74FFBDBC6D +0CD53AB541067A413A7FC31E16C0E0BC1B4ED514DBC1245D83995688818FA6AF +CFB9CDA296980021BBB60A9ECC61A67831E03D56829988EB0B22C29DB14A5ED9 +C1AB5B6E22B801EF925BC247D91BA535FF1DB51E50435FFB3764D5CB5ADFEB15 +1A5430EC17851A8D00F686FC8133EC042CF8B35DC9446F16AE0E844D47ED087A +4F59F143FABA626E1A01E129C77FFE42FCFF599B9E665D86B03B737870949F01 +6ECE16E5A4AAD993235F1DE20AD9E328AF47F758B5F33F5F208882F950CEA9F2 +E217EBC9C4E3DA1F19B0EC915382BF0682372825745882B6343A1198EA5C27E5 +D6112E6279BE5679E06A9FE8821ED0912496103A3BEF64E8A5754756BB6E79DB +074C35C7322E3133170826D30B6083A6B6A8BA69142FE488F9EA5C41F3C300A5 +D0BAA9DC3443DEEEEB3649592DF0FBC578CFA61B6A3BDC77F07F2A8B9691E4A4 +E80D7FEEDD144B2A37FDD5E51D1AEB73CB046426A69C0E9D5E4CA3EAB816A304 +E309421AE0F741AB7314ACE8EE1510812BBF3D1E52F2DBD1FC0FB9E8091CD0F2 +FDC43F3C46784A0E503096505E7D010DC763CCE8CC76D763BA62BA54EC9FC0A2 +C7C042E823D2F3B73EE5C81EB00014C20212EC975BB98A7B46C6A1C027C1884C +AF50A91A3A982DE2E09734C1B9EB5E41D79086C1D1A43F38F63A9F84DC4339B0 +725EB03C8BCD9CF73D40A4FBB05D437E4C2B3C20CCC2014E3E1BAEAD18AF8F29 +28867540C599EDCF5D450CFBE935130C3C3D31D70554FABDD2FC4749289D0599 +84DEC1EE34F30ED20E24091FC716F9C68DD4D50912C9CAAEF9EBE4F15C9A269E +B482F7FA3FC2F90E2B34F432D2EDEEEC90010551872510BD688EE8C8B5B6A467 +A111FCBF6AF36BCCE3ACBFD8B1954D37BDAC1A6FB41519CE4D1600F170CC5DCF +FA396DEEF7663C8B7EABD7EF70E27C62EC1C295678F9702815C9B782E9505733 +4E7D1C1B3A0F3416B96FFF4A93C8122D94EDF0642E232E7E7E18F536725DDF14 +5BE07B90A1EE16A76486FF2E9D0D53C62D964055FD9384E53568EF90FA277C21 +5886B1D7666A64D5A5D9BCDF202E8872F180A1A4557BAD7E2138D64CB35DB0A5 +F95D20705AE67665537DAF0DCCE4CCA5AA8A02C4B24B3510A6872DA44CD30B25 +921D39A61445C347FE0A7B5BD37B77818F9A651394CCC742D0485D8C0B1D1631 +EE265D345282A9DB51BF38F13C1667F3F09CEAF56158F549721B32645B27FED6 +CA06ABC8C3C195F7B7BE024B99D9CE33A58E024972CD143CCC0E8C315D2EE248 +794DB46FF7DC55B7A3B2E4176376930A64182114E463B2ED58BA55E7B7B704AA +2214EED3E50445B7E8070278962C869196EA75185E135672373BC7F671952A7C +FC6AE0F3546D9F916FAB44CCF45C6B1A08960CA29C55DDEE89798242C1065094 +8E0C94895CC88D37346988CE17A5BB3F50FB158F79CFE440509F83C2242C7F56 +281A3F01FCD52D4E12C4D904E8DC46F0BBC6F835592624A00BE50EE402BACFBF +9630DFB62C5851E3360B23E66DF739740DD706AABC71AC1E246DC18E62CFBC85 +CF56449FF7B956CDCA71023B766370149B962E57AE46AB05BE160BA58E30DBE8 +B54917F03777DC6ABEE0D1151D7255DDE5B51EAEBB61AF3A36B2028CA5F00525 +1E6CC9DA862B58CAB4038A7451552DA1E8C72EFF4AD69E66D8647BAC7B8A3850 +A6864AEF6C423AF38285DBEC9E79DDEF7C9A8C362B935F844586221389E81383 +9ACBBA205E6068357592362CC036695A3B1B73F017C3DCF6D2EB4E3EB0367D6A +F1C4E0DEF1B5AD1DA6D741B32885754B99849F77E0839E0837EC8F78BC8B0760 +1CB85A7ABDA93915D3D4B4FCE5905B84D60A52CECA5B74D8298A171800D45BA4 +6C91636A44B514068EE26E7DFC2C8942991A3E94F69A0EF9A1D06072F068B500 +74A3C13ADF06E56397C74CD7B9D1D70DE11F912C4765CC42D302F5DE13BB22DA +22DFDC0EB015476F7EDD19D0E8DF72A5983FD4C4A44649481CC87F25B857FCC8 +6260D73B690A310FC8BEF024ED3A3BB8414340FBE995E47B866F2FE7FD329453 +D9763EF0DDF106E41780F9594F3BFC7C12F18708D692397F15C6CFF5699D6686 +543C5F19FB4A8AF05331C2BC3456A637782FE0D19C48CACC65906CFF09BA0459 +708A65299C7D7A20B294660E063D3E3C36F76141DC42C991E52D1BF23D6957E3 +8C01BDA07F60925E4894EFDAB8B4A1C00C23B0BF53430D341BB1A3B219123CC5 +A830B5C5D5EDD690E7127D0E2FBB9318C2EA05105D3447AD3ED4E004A08E0829 +B271AEBCC5284A5C2219E4FE95F08E39DDD9CACE8CD074A1A45938FA4DE1513C +475BAB95846920A71298696F0233784BE3A13C98AE887BE7267A7E5B63CBC0DD +4FB314D6AECB9FBCC5D5A320C866361750EDF8872EC827C844A61C49B527E325 +DBD5823887F77F9D77389215EE28CC30A95BB074CCC81D222DC8305B975C5603 +D29AA0D077AE84B4347C6856C67C8C67A4DE6F015D194DE69CD638ADF1AB49D6 +51BA461AC5AB64E1767A5C2234AECAEB495060D796A76868E59E83139D85DCEC +31422CF837B2C7B78C5EC62C50E42461E830089FAE1890DA6870FA6CA90AE093 +3B183EEC48D1479BE2C2511B248815D26280E9F8C3935C8ED6D896EB16FA2572 +E3EF9CD68FE18AB7EB45C9A7AD53F82807EFDD44AC0C63B37CF48F1E1244796A +6A83D9EB0DCADBCAEBA07595901FC7EA58D18704F0B5E76CC0FBD7BDE11F15D3 +00A942D9C5D3DD2F7D87F1D18E2AF082C4D9837C6922C448E4FA32D453E998F8 +0A23ED87F0243DDF1961026F8D3C074EDC8D8B266A4ED4F016521394A243D834 +4F1ADF4DC9F2FDF4D89136163E730003ADFC8BE6E65BD821B9D8828CFB45E4C6 +1F407F23667E98AF7E6AAC124209473B393D9E59686692B79D16427CDF174C71 +43E9D3378A94B8ABCE861D66672A0E2CBC0E604D513DFDEE3F3B3EEBBC204717 +AE084B418D0D6DD525017B6BBE30F6565DFC12942E77A12261303A530D10951F +B0E7608B097631AD6F0A468693268E4DF9E0587E0958BDCB91158358C63231FF +7DC4F23E280F39D5F8B96352C5B9C6FC84B6DE0C4FCBDD0AF23A8DD8EF373ACC +90E11B027DADE80B09FF8C56BC6B91C1E7BB9C1C978A055EC57D7E1E9F809AF6 +26C9223EAFCAF7CE332D962BEA8EF6D526BDEE9E88667A141EB93C96D9BF6401 +94943FDAF20E61AD4BF078D9DB47027D6D1EFD67063952E822B26BEC0AF2136C +1DC665CC58DA4D6D85AF3AC9985985FB4771C37082D5B83A6C619784B982E53B +07D56BB398DA8950263B206877D88CEAEDECB8EB0B22C29DAFED9845728CB11E +B869023129637CC2F7C4C0A2F3419C4152EF15BA4E0ECEF2AD6438B9B31E76A2 +6DF00CEC740DC24120C97EF624790C9C130550565A1FA26682255CF233C9B51D +075CD0748DB28B9B572BC2018CA83D1F0C5BB9225CB4BE75D005766B00EDDA8D +429AC75BFA3D7FFFE12D634F6B35FAC5E35DAB5F266D796BBBEA3AECA70F5CA3 +19D2C158FEA7D188C795687BF2D22A4E2D4BD7FFB20E067D920153E03997BE7D +794BBEEE18831283E09BA78EAE5D1B0774C059B859ADE2E39AF2E3FF2CAA36F4 +B99BC37BB6A412094938952793C09488B18B6C15DC40643D62586E42A6D55D14 +2087FD015B8D3A624B8C172833315015EF5217ED8D4BAF7D2D1F499311ABFBF5 +8FA2FFB1A24A9A89D6FB174B69E44EFCD3BE268E8C97691FE6866A64B4AC7364 +BCB7B0DE449EDFF8DC12DDA6E41BCBF5D1A7058712127CA10F5AE5B8D456129F +11E5FA3AD072A44AA60D1CE7F15F481893D91D0C28E526617B57B5D0DBF6EB0D +F92BA5920BE84DDC37D1B5C6B2609D468303B0141F1EE529247A6FD0314AE08B +3D28A6D556DE106D82CE0C8768E8D4CB798B95EBF4F11CE5B4767DBDC2B2048C +C0C62B6526F50C9EFF1ECB07F6B0CDFCE019C3E8F6787CF655B92FC3678BF08A +E0EBBE0D059B1D13503A66A0A0FEAED37809F475F3E046191937718EACF545D0 +CEABC41EFD4EA7A94EC350096E0B10EEBE23B5D3EA56E0B7DFA49CDB00E36C31 +2A98F1C22B552F1EC384B0AED03C76B220689A0BE44EFFC005618EDE84539B70 +C031E204971D97C788D70EE554E3560C6C22F25A2458CC5BEEC420AFA5D4E7B1 +0833576277EA58DDAEBBE5F3B6D668C55676710346516F322BE8FB62F30A81A1 +1BE1D1D23BE07CE2C689E1A383FC6D1548D0C51CD40AE3E379E3E75A49775B7C +EC914A6C83D3B04462AFFD8C9FC39D023F489CAE170581947B7FEB29FB47DFE8 +A99D00F46DA04EDB7E29799BF6EB1EDBD7EBBC268D2A3A20CA51FE92643B7A15 +D8DA15893DABBFAC9134D9C4D17EF6F83B4FAA81929FFDDF44E824548F977F14 +8072773A8C0AB7A69CE10F2BADC9E9D41B91CDE74E49EC45FF1A4D7DC86D2DFD +5E1E0D01EA1E9270983AB57537099B85F8A6BBC372BE5D248F94EC4714904DE3 +4B4FAD1ABA5CEA9E626E4575ABBEEB79516FC10C7CF4AE334C63722673D1546A +CE8D7F8AEF58EC30952C5E3D708B235A423F36BB1AABB16C4BD1BF59CB492E6B +D1B49163CE175FA041366798D9CD02B2C7D66D7AB519CCA05437720F34FF51E9 +5496092BB518660FF0CF84E213361388921A69D7AC9554E6DBC96B562B5E7B4B +FF299B9D84A5C4B42096AA5909F8FAF63EFE06A94A35CDBE0EBD53935673A9FA +E1539BE415D8E9F959630915241A365FE6D85328DE0F18B6C0FB8BB9AD0EC60F +465B3531A739DDA8BEE1861791BC7D8477A76585DC6252825C0250CD4760593B +379A761FFC4C2F84F90C03750338D12908D030DA30946B27CDC8F66D5A496182 +65D7635385905A1CB7E6B2B198EBCDEB9BEFDBB17839DEC6C68A9848D8537B3A +805FC35D69D4D564F447DBE19A9363F1E06857D939A89F6E3369C03D2D9DEE89 +3EAC21710C7C6FC9DEAF30B4CFF484D22D0B1E2463CCDB434DB24B95B5638373 +6AA8A28B4C7303358798EC6717F98140C60BCF47D248B270CF107E8F35C40C19 +B9A2AAF7233A1813CCB5E505A7FEDA40AFC01FF42369BCABF1226629FD8317E5 +9C1ED5FAC2107F529378F43A9955488EDF6FFB815B5D6FEF281875A58AE027E2 +870E647232D31EADD9111016CC3A3E4D138B25F0DD0A276AD569E4A68298B292 +F73F04FE1C6A9A3034ABDD1D0F60CF15891FE73FB2F1CE +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 39139632 55387786 1000 600 600 (gENOguide.dvi) +@start /Fa 255[65{}1 83.022 /CMSY10 rf /Fb 190[43 65[{}1 +49.8132 /CMTI7 rf +%DVIPSBitmapFont: Fc ecxc1095 10.95 6 +/Fc 6 116 df<0000007C0000000000007C000000000000FE000000000000FE00000000 +0001FF000000000001FF000000000003FF800000000003FF800000000003FF8000000000 +07FFC00000000007FFC0000000000FFFE0000000000F7FE0000000001F7FF0000000001E +3FF0000000001E3FF0000000003C3FF8000000003C1FF8000000007C1FFC00000000780F +FC00000000F80FFE00000000F007FE00000001F007FF00000001E003FF00000001E003FF +00000003E003FF80000003C001FF80000007C001FFC00000078000FFC000000F8000FFE0 +00000FFFFFFFE000000FFFFFFFE000001FFFFFFFF000001FFFFFFFF000003E00003FF800 +003C00001FF800007C00001FFC00007800000FFC0000F800000FFE0000F0000007FE0000 +F0000007FE0001E0000007FF0003F0000003FF00FFFF00007FFFFEFFFF00007FFFFEFFFF +00007FFFFEFFFF00007FFFFE372F7DAE3F>97 D<000001FFC001C000001FFFF803C00000 +FFFFFE07C00003FFFFFF8FC0000FFFC01FFFC0001FFC0003FFC0007FF00001FFC000FFC0 +00007FC001FF8000003FC003FF0000001FC007FE0000001FC00FFC0000000FC00FFC0000 +0007C01FF800000007C03FF800000007C03FF000000003C07FF000000003C07FF0000000 +03C07FF000000000007FE00000000000FFE00000000000FFE00000000000FFE000000000 +00FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000 +FFE000000000007FE000000000007FF000000000007FF000000000007FF000000003C03F +F000000003C03FF800000003C01FF800000003C00FFC00000007C00FFC000000078007FE +0000000F8003FF0000000F0001FF8000001F0000FFC000003E00007FF00000FC00001FFC +0001F800000FFFC00FF0000003FFFFFFC0000000FFFFFF000000001FFFFC0000000001FF +C0000032317CAF3C>99 D108 DI112 D<000FF00380007FFF078001FFFFCF8007FFFFFF800F +F00FFF801FC001FF803F8000FF803F00003F807F00003F807E00001F80FE00000F80FE00 +000F80FE00000F80FF00000780FF00000780FF80000780FFE0000000FFFC0000007FFFC0 +00007FFFFE00003FFFFFC0003FFFFFF0001FFFFFFC000FFFFFFE0003FFFFFF0001FFFFFF +80007FFFFFC0000FFFFFC000007FFFE0000003FFE00000007FF00000003FF00000001FF0 +F000000FF0F000000FF0F0000007F0F0000007F0F8000007F0F8000007E0FC00000FE0FC +00000FE0FE00001FC0FF80001F80FFE0007F80FFFC01FF00FFFFFFFC00F8FFFFF800F03F +FFE000E003FF000024317CAF2E>115 D E +%EndDVIPSBitmapFont +/Fd 134[33 33 2[36 25 27 24 1[36 35 36 56 17 2[17 36 +35 1[31 36 1[36 34 97[{}18 66.4176 /CMSS8 rf /Fe 191[51 +38[55 2[56 22[{}3 90.9091 /EURM10 rf /Ff 179[53 76[{}1 +90.9091 /CMSSBX10 rf /Fg 138[40 117[{}1 41.511 /CMMIB5 +rf /Fh 135[60 1[52 2[48 7[55 18[86 67[61 5[47 54 1[69 +11[{}9 90.9091 /CMMIB10 rf /Fi 165[61 7[66 82[{}2 91.3242 +/MSBM10 rf /Fj 167[131 68[67 67 18[{}3 90.9091 /CMEX10 +rf /Fk 251[71 4[{}1 91.3242 /MSAM10 rf /Fl 156[28 99[{}1 +49.8132 /CMMI6 rf /Fm 134[42 4[30 37 3[41 51 74 25 3[47 +1[40 1[43 1[37 45 97[{}12 66.4176 /CMMIB8 rf /Fn 134[35 +40 3[25 33 2[36 6[24 33[55 12[20 23[33 15[33 4[36 13[{}11 +66.4176 /CMMI8 rf /Fo 145[35 3[20 27 27 35 35 87[35 11[55 +1[55{}9 66.4176 /CMSY8 rf /Fp 139[35 35 3[35 35 8[35 +35 100[{}6 66.4176 /CMTT8 rf /Fq 132[56 40 40 40 12[45 +25 35 35 45 45 45[51 5[61 10[71 23[45 14[71{}15 90.9091 +/CMSY10 rf /Fr 135[37 3[26 14[35 35[57 65[{}4 66.4176 +/CMBXTI10 rf /Fs 134[51 1[70 48 56 35 44 46 1[54 54 59 +86 27 48 32 32 54 48 36 48 54 48 48 54 8[79 1[79 1[72 +59 78 2[78 81 98 63 2[43 81 1[66 69 3[79 6[32 12[38 32 +2[43 43 32 81 25[61 12[{}45 90.9091 /CMBXTI10 rf /Ft +134[56 4[54 42 55 1[51 58 56 68 47 2[27 56 1[49 51 2[53 +56 12[71 3[67 3[62 7[75 71 70 12[50 50 50 50 50 2[29 +46[{}27 90.9091 /CMCSC10 rf /Fu 129[48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 48 48 2[48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 1[48 1[48 48 33[{}88 90.9091 +/CMTT10 rf /Fv 134[45 52 65 44 1[33 43 41 8[31 52 17[53 +1[53 1[69 3[73 88 9[65 69 68 2[71 45 1[25 25 23[42 57 +5[52 47 4[53 21[{}26 90.9091 /CMMI10 rf /Fw 133[37 44 +42 60 42 49 30 37 38 1[46 46 51 74 23 42 1[28 46 42 28 +42 46 42 42 46 8[68 2[68 65 1[66 1[62 70 68 82 5[70 1[62 +69 65 64 68 8[46 2[46 46 46 46 46 2[28 33 28 29[80 1[51 +12[{}49 90.9091 /CMTI10 rf /Fx 132[52 46 55 55 76 55 +58 41 41 43 55 58 52 58 87 29 55 32 29 58 52 32 48 58 +46 58 51 11[80 73 58 78 1[71 79 82 4[40 82 82 66 69 2[74 +79 7[52 52 52 52 52 52 52 52 52 52 1[29 1[29 31[58 11[63{}55 +90.9091 /CMBX10 rf /Fy 131[91 45 40 48 48 66 48 51 35 +36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 +45 25 2[25 1[25 1[68 68 93 68 68 66 51 67 1[62 71 68 +83 57 71 47 33 68 71 59 62 69 66 64 68 3[71 1[25 25 45 +45 45 45 45 45 45 45 45 45 45 25 30 25 71 1[35 35 25 +71 23[76 51 51 53 11[{}81 90.9091 /CMR10 rf /Fz 241[32 +10[32 2[48{}3 49.8132 /CMSY6 rf /FA 235[51 20[{}1 74.7198 +/CMMIB9 rf +%DVIPSBitmapFont: FB eccc0900 9 6 +/FB 6 116 df<000018000000003C000000003C000000003C000000007E000000007E00 +000000FF00000000FF00000001FF800000019F800000019F800000030FC00000030FC000 +00070FE000000607E000000607E000000C03F000000C03F000001C03F800001801F80000 +1801F800003000FC00003000FC00007000FE00007FFFFE00007FFFFE0000C0003F0000C0 +003F0001C0003F800180001F800180001F800300000FC00300000FC00700000FE00F8000 +0FE03F80000FF0FFE0007FFFFFE0007FFF28267DA52E>97 D<0000FF80180007FFF03800 +1F807838007C001E7800F80007F803F00003F807E00001F80FC00000F80F800000781F00 +0000783F000000383E000000387E000000387E000000187E00000018FC00000018FC0000 +0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000 +007E000000187E000000187E000000183E000000183F000000381F000000300F80000070 +0FC000006007E00000E003F00001C000F8000380007C000F00001F807C000007FFF00000 +00FF800025277CA52D>99 D108 DI112 D<00FF018003FFE3800F80F7801E003F803C000F80 +7800078078000780F0000380F0000380F0000180F8000180F8000180FC000000FE000000 +7F8000007FF800003FFFC0001FFFF0000FFFFC0007FFFF0000FFFF80000FFF800000FFC0 +00001FC000000FE0000007E0000003E0C00003E0C00001E0C00001E0C00001E0E00001C0 +E00003C0F0000380F8000780FE000F00F7C03E00E1FFF800C03FC0001B277CA523>115 +D E +%EndDVIPSBitmapFont +/FC 140[39 6[39 4[39 1[39 1[39 19[39 39 8[39 18[39 3[39 +46[{}10 74.7198 /CMTT9 rf /FD 157[34 30 31[45 14[30 30 +49[{}5 49.8132 /CMR6 rf /FE 133[31 5[25 1[32 1[39 39 +43 63 20 2[24 1[35 1[35 1[35 1[39 17[59 57 8[52 23[27 +45[{}17 74.7198 /CMTI9 rf /FF 134[41 41 55 41 43 30 30 +30 1[43 38 43 64 21 41 23 21 43 38 23 34 43 34 43 38 +8[58 1[58 58 55 43 57 2[60 58 70 48 2[28 58 60 50 52 +59 1[54 58 5[21 1[38 38 38 38 38 38 38 38 38 38 1[21 +26 21 2[30 30 21 60 25[43 12[{}61 74.7198 /CMR9 rf /FG +134[35 2[33 38 24 29 30 1[36 36 40 58 18 33 1[22 36 33 +1[33 36 33 1[36 8[53 3[51 40 2[48 55 53 1[45 6[48 54 +1[50 53 6[22 5[36 36 36 36 36 1[22 46[{}37 66.4176 /CMTI8 +rf /FH 241[34 10[34 3[{}2 58.1154 /CMSY7 rf /FI 157[29 +36 97[{}2 58.1154 /CMMI7 rf /FJ 134[47 47 64 47 49 34 +35 36 1[49 44 49 74 25 47 1[25 49 44 27 41 49 39 1[43 +16[60 4[69 1[33 7[67 6[25 17[34 27[49 12[{}29 74.7198 +/CMBX9 rf /FK 133[49 5[38 1[50 1[59 59 65 94 3[35 1[53 +1[53 3[59 17[85 9[75 69[{}13 99.6264 /CMBXTI10 rf /FL +134[59 3[62 44 44 46 2[56 62 1[31 2[31 62 56 34 51 62 +50 1[54 8[85 2[86 78 62 6[67 2[42 1[88 1[74 86 81 16[56 +4[37 1[87 1[44 44 40[{}31 99.6264 /CMBX12 rf /FM 128[42 +4[34 40 1[55 38 45 28 34 35 38 42 42 47 68 21 38 1[25 +42 38 25 38 42 38 38 42 3[25 1[25 3[83 62 62 59 47 61 +1[56 64 1[74 52 64 44 32 1[64 54 56 63 59 58 62 6[25 +5[42 3[42 1[25 30 25 2[34 34 25 64 38[{}57 83.022 /CMTI10 +rf /FN 131[83 42 37 44 44 60 44 46 32 33 33 1[46 42 46 +69 23 44 25 23 46 42 25 37 46 37 46 42 3[23 42 23 2[62 +85 62 62 60 46 61 1[57 65 62 76 52 65 43 30 62 65 54 +57 63 60 59 62 5[23 23 42 42 42 42 42 42 42 42 42 42 +42 23 28 23 2[32 32 5[42 14[42 4[69 1[46 12[{}75 83.022 +/CMR10 rf /FO 132[35 31 37 37 51 37 39 27 28 28 1[39 +35 39 59 20 37 22 20 39 35 22 31 39 31 39 35 20 6[53 +53 72 2[51 39 52 55 1[55 53 1[44 55 1[25 2[46 48 54 51 +50 53 55 2[55 1[20 20 35 35 35 35 35 35 35 35 35 35 1[20 +24 20 2[27 27 20 25[39 39 41 11[{}68 66.4176 /CMR8 rf +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%PaperSize: A4 + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -228 +y FN(T)-7 b(o)27 b(app)r(ear)g(in)h FM(Engine)l(ering)i(Optimization) +147 -137 y FN(V)-7 b(ol.)28 b(00,)f(No.)g(00,)g(Mon)n(th)g(20XX,)h +(1{17)1703 411 y FL(GUIDE)515 652 y FK(Engine)-6 b(ering)42 +b(Optimization)d FL(L)1870 635 y FJ(A)1920 652 y FL(T)1979 +674 y(E)2039 652 y(X)e(st)m(yle)g(guide)h(for)g(authors)725 +785 y(\(St)m(yle)f(2)h(+)f(Chicago)h(author-date)h(reference)f(st)m +(yle\))1229 1001 y FN(A.N.)28 b(Author)1688 971 y FI(a)t +FH(\003)1794 1001 y FN(and)g(I.T.)f(Consultan)n(t)2519 +971 y FI(b)278 1128 y(a)318 1159 y FM(T)-6 b(aylor)31 +b(&)f(F)-6 b(r)l(ancis,)30 b(4)g(Park)h(Squar)l(e,)f(Milton)g(Park,)h +(A)n(bingdon,)g(UK)p FN(;)2632 1128 y FI(b)2665 1159 +y FM(Institut)d(f)q(\177)-43 b(ur)30 b(Informatik,)1037 +1267 y(A)n(lb)l(ert-Ludwigs-Universit\177)-42 b(at,)30 +b(F)-6 b(r)l(eibur)l(g,)30 b(Germany)1490 1416 y FO(\()p +FG(v4.1)c(r)l(ele)l(ase)l(d)h(April)f(2013)p FO(\))346 +1640 y FF(This)k(guide)f(is)g(for)h(authors)f(who)g(are)h(preparing)f +(articles)h(for)g(the)e(T)-6 b(a)n(ylor)30 b(&)e(F)-6 +b(rancis)30 b(journal)f FE(Engi-)346 1723 y(ne)l(ering)k(Optimization)e +FF(\()p FE(gENO)p FF(\))f(using)h(the)f(L)1744 1706 y +FD(A)1777 1723 y FF(T)1819 1739 y(E)1863 1723 y(X)g(do)r(cumen)n(t)g +(preparation)h(system)g(and)f(the)g(class)346 1806 y(\014le)c +FC(gENO2e.cls)p FF(,)i(whic)n(h)d(is)h(a)n(v)l(ailable)g(via)g(the)f +(journal's)h(homepage)g(on)g(the)f(T)-6 b(a)n(ylor)25 +b(&)g(F)-6 b(rancis)26 b(w)n(eb-)346 1889 y(site.)g(Authors)e(planning) +h(to)g(submit)f(articles)i(in)f(L)1840 1872 y FD(A)1873 +1889 y FF(T)1915 1905 y(E)1959 1889 y(X)f(are)h(advised)f(to)h(use)g +FC(gENO2e.cls)i FF(as)e(early)g(as)346 1972 y(p)r(ossible)i(in)f(the)f +(creation)i(of)f(their)g(\014les.)346 2147 y FJ(Keyw)n(ords:)f +FF(submission)i(instructions;)f(source)g(\014le)g(co)r(ding;)h(en)n +(vironmen)n(ts;)e(references)i(citation;)346 2230 y(fon)n(ts;)g(n)n(um) +n(b)r(ering)e FJ(\(Please)k(pro)n(vide)f(three)i(to)g(\014v)n(e)f(k)n +(eyw)n(ords)f(tak)n(en)g(from)i(terms)g(used)f(in)346 +2313 y(y)n(our)h(man)n(uscript)p FF(\))1031 2679 y FJ(Index)f(to)h +(information)g(con)n(tained)f(in)h(this)f(guide)355 2853 +y FF(1.)e(In)n(tro)r(duction)430 2936 y(1.1.)g(The)f +FE(gENO)g FF(do)r(cumen)n(t)f(class)430 3019 y(1.2.)i(Submission)f(of)h +(L)1085 3002 y FD(A)1118 3019 y FF(T)1160 3036 y(E)1203 +3019 y(X)f(articles)571 3102 y(to)g(the)f(journal)346 +3185 y(2.)i(Using)f(the)f FE(gENO)h FF(class)h(\014le)346 +3269 y(3.)g(Additional)f(features)429 3352 y(3.1.)i(F)-6 +b(o)r(otnotes)26 b(to)g(article)h(titles)571 3435 y(and)f(authors')g +(names)429 3518 y(3.2.)i(Abstracts)429 3601 y(3.3.)g(Lists)429 +3684 y(3.4.)g(Landscap)r(e)e(pages)346 3767 y(4.)h(Some)f(guidelines)g +(for)h(using)422 3850 y(standard)e(features)429 3933 +y(4.1.)j(Sections)429 4016 y(4.2.)g(Illustrations)e(\(\014gures\))429 +4099 y(4.3.)i(T)-6 b(ables)429 4182 y(4.4.)28 b(Theorem-lik)n(e)e(en)n +(vironmen)n(ts)430 4265 y(4.5.)h(T)n(yp)r(esetting)f(mathematics)571 +4348 y(4.5.1.)i(Displa)n(y)n(ed)d(mathematics)571 4431 +y(4.5.2.)j(Bold)e(math)g(italic)h(sym)n(b)r(ols)571 4514 +y(4.5.3.)h(Bold)e(Greek)571 4597 y(4.5.4.)i(Uprigh)n(t)d(Greek)h(c)n +(haracters)762 4680 y(and)g(the)f(uprigh)n(t)g(partial)762 +4763 y(deriv)l(ativ)n(e)g(sign)2124 2936 y(4.6.)i(Ac)n(kno)n(wledgemen) +n(ts)2124 3019 y(4.7.)g(Notes)2124 3102 y(4.8.)g(References)2265 +3185 y(4.8.1.)h(References)e(cited)g(in)f(the)2472 3269 +y(text)2265 3352 y(4.8.2.)j(The)e(list)g(of)h(references)2124 +3435 y(4.9.)g(App)r(endices)2124 3518 y(4.10.)g FE(gENO)f +FF(macros)2040 3601 y(5.)g(Example)g(of)h(a)f(section)g(heading)2116 +3684 y(including)f FB(small)k(caps)p FF(,)c FE(italic)p +FF(,)2116 3767 y(and)g(b)r(old)h(Greek)f(suc)n(h)h(as)g +FA(\024)2040 3850 y FF(6.)g FE(gENO)g FF(journal)h(st)n(yle)2123 +3933 y(6.1.)g(Hyphens,)e(n-rules,)g(m-rules)h(and)2264 +4016 y(min)n(us)g(signs)2123 4099 y(6.2.)h(References)2123 +4182 y(6.3.)g(Maths)f(fon)n(ts)2040 4265 y(7.)g(T)-6 +b(roublesho)r(oting)2040 4348 y(8.)26 b(Fixes)g(for)h(co)r(ding)f +(problems)2040 4431 y(9.)g(Obtaining)g(the)f(gENO2e)h(class)i(\014le) +2123 4514 y(9.1)f(Via)f(the)f(T)-6 b(a)n(ylor)26 b(&)g(F)-6 +b(rancis)2264 4597 y(w)n(ebsite)2123 4680 y(9.2)27 b(Via)f(e-mail)p +147 5229 3487 3 v 151 5289 a Fz(\003)187 5312 y FO(Corresp)r(onding)e +(author.)g(Email:)f(latex.help)r(desk@tandf.co.uk)1868 +5967 y Fy(1)p eop end +%%Page: 2 2 +TeXDict begin 2 1 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fx(1.)105 b(In)m(tro)s(duction)147 96 y Fy(In)31 b(order)g(to)i +(assist)f(authors)f(in)h(the)f(pro)s(cess)h(of)f(preparing)g(a)h(man)m +(uscript)g(for)f Fw(Engine)-5 b(ering)33 b(Op-)147 204 +y(timization)h Fy(\()p Fw(gENO)p Fy(\),)d(the)i(journal's)e(la)m(y)m +(out)j(st)m(yle)g(has)d(b)s(een)h(implemen)m(ted)g(as)h(a)f(L)3105 +187 y FO(A)3144 204 y Fy(T)3195 223 y(E)3245 204 y(X)14 +b(2)3372 218 y Fv(")3451 204 y Fy(class)147 312 y(\014le)31 +b(based)f(on)h(the)f Fu(article)f Fy(do)s(cumen)m(t)h(class.)i(A)e +Ft(Bib)p Fy(T)2152 331 y(E)2203 312 y(X)g(st)m(yle)i(\014le)f(is)f +(also)i(pro)m(vided)e(to)h(assist)147 420 y(with)f(the)h(formatting)g +(of)g(y)m(our)f(references)h(in)f(a)g(st)m(yle)i(appropriate)e(to)i +(that)f(of)f(the)h(journal.)230 528 y(Commands)j(that)h(di\013er)g +(from)f(or)h(are)g(pro)m(vided)g(in)f(addition)h(to)h(the)f(standard)f +(L)3179 511 y FO(A)3218 528 y Fy(T)3269 547 y(E)3319 +528 y(X)14 b(2)3446 542 y Fv(")3528 528 y Fy(in-)147 +636 y(terface)37 b(are)e(explained)g(in)g(this)g(guide.)g(The)g(guide)g +(alone)h(is)f(not)g(in)m(tended)g(as)g(a)g(substitute)g(for)147 +744 y(an)30 b(appropriate)h(L)788 727 y FO(A)827 744 +y Fy(T)878 763 y(E)928 744 y(X)14 b(2)1055 758 y Fv(")1132 +744 y Fy(man)m(ual.)230 851 y(The)38 b Fu(gENOguide)p +Fy(.tex)f(\014le)i(can)g(also)h(b)s(e)e(used)f(as)i(a)g(template)h(for) +f(comp)s(osing)f(an)h(article)h(for)147 959 y(submission)i(b)m(y)h +(cutting,)i(pasting,)e(inserting)h(and)e(deleting)j(text)f(as)g +(appropriate,)f(using)g(the)147 1067 y(L)171 1051 y FO(A)210 +1067 y Fy(T)261 1087 y(E)312 1067 y(X)30 b(en)m(vironmen)m(ts)h(pro)m +(vided)f(\()p Fw(e.g.)g Fu(\\begin{equation})p Fy(,)c +Fu(\\begin{enumerate})p Fy(\).)230 1175 y Fx(Please)37 +b(note)f(that)g(the)g(index)g(follo)m(wing)h(the)f(abstract)g(in)h +(this)f(guide)h(is)f(pro)m(vided)147 1283 y(for)f(information)h(only)-9 +b(.)35 b(An)g(index)g(is)h(not)e(required)i(in)f(submitted)f(articles.) +147 1603 y(1.1)105 b Fs(The)38 b(gENO)h(do)-5 b(cument)37 +b(class)147 1769 y Fy(The)d Fw(gENO)e Fy(class)j(\014le)f(preserv)m(es) +g(the)g(standard)f(L)1940 1752 y FO(A)1979 1769 y Fy(T)2030 +1788 y(E)2081 1769 y(X)14 b(2)2208 1783 y Fv(")2288 1769 +y Fy(in)m(terface)36 b(suc)m(h)d(that)i(an)m(y)f(do)s(cumen)m(t)147 +1877 y(that)22 b(can)g(b)s(e)f(pro)s(duced)f(using)h +Fu(article.cls)e Fy(can)j(also)g(b)s(e)f(pro)s(duced)f(using)h(the)h +Fw(gENO)e Fy(do)s(cumen)m(t)147 1985 y(class.)33 b(Ho)m(w)m(ev)m(er,)i +(the)d(measure)g(\(the)h(width)e(of)h(the)h(text)g(on)f(a)g(page\))h +(is)g(sligh)m(tly)g(narro)m(w)m(er)f(than)147 2093 y(the)g(default)g +(for)f Fu(article.cls)p Fy(,)e(therefore)j(line)g(breaks)f(will)h(c)m +(hange)h(and)e(some)h(long)g(equations)147 2201 y(ma)m(y)f(need)f(to)h +(b)s(e)f(reformatted)h(accordingly)-8 b(.)230 2308 y(If)26 +b(y)m(our)h(article)h(is)f(accepted)g(for)g(publication)g(in)f(the)h +(journal,)f(it)h(will)g(b)s(e)f(t)m(yp)s(eset)h(in)f(Monot)m(yp)s(e)147 +2416 y(Times.)g(As)g(most)h(authors)e(do)h(not)g(o)m(wn)g(this)g(fon)m +(t,)h(it)f(is)g(lik)m(ely)i(that)f(the)f(page)g(mak)m(e-up)h(will)f +(alter)147 2524 y(with)32 b(the)f(c)m(hange)i(of)f(fon)m(t.)g(F)-8 +b(or)33 b(this)e(reason,)h(please)h(ignore)f(details)h(suc)m(h)e(as)h +(sligh)m(tly)h(long)f(lines)147 2632 y(of)i(text,)i(page)e(stretc)m +(hing,)i(or)e(\014gures)f(falling)i(out)f(of)g(sync)m(hronization)h +(with)f(their)g(citations)h(in)147 2740 y(the)h(text:)g(these)g +(details)g(will)g(b)s(e)f(dealt)h(with)f(b)m(y)g(the)h(t)m(yp)s +(esetter.)g(Similarly)-8 b(,)36 b(it)g(is)g(unnecessary)147 +2848 y(to)30 b(sp)s(end)d(time)i(addressing)f(w)m(arnings)h(in)f(the)h +(log)h(\014le|if)f(y)m(our)f(.tex)i(\014le)f(compiles)h(to)f(pro)s +(duce)f(a)147 2956 y(PDF)k(\014le)g(that)g(correctly)h(re\015ects)f(ho) +m(w)g(y)m(ou)g(wish)f(y)m(our)g(article)j(to)e(app)s(ear,)f(suc)m(h)g +(w)m(arnings)h(will)147 3064 y(not)f(prev)m(en)m(t)g(y)m(our)f(source)h +(\014les)f(b)s(eing)g(imp)s(orted)g(in)m(to)h(the)g(t)m(yp)s(esetter's) +g(program.)147 3384 y Fx(1.2)105 b Fs(Submission)40 b(of)e(L)1091 +3367 y Fr(A)1133 3384 y Fs(T)1187 3404 y(E)1242 3384 +y(X)g(articles)g(to)g(the)f(journal)147 3550 y Fy(Man)m(uscripts)d(for) +g(p)s(ossible)f(publication)h(in)g(the)g(journal)f(should)g(b)s(e)g +(submitted)h(to)g(the)g(Editors)147 3658 y(for)f(review)f(as)h +(directed)g(in)f(the)h(journal's)f(Instructions)g(for)h(Authors,)f +(whic)m(h)g(ma)m(y)h(b)s(e)f(found)f(at)147 3766 y Fu +(http://www.tandf.co.uk/jo)o(urna)o(ls/)o(auth)o(ors/)o(gen)o(oaut)o +(h.as)o(p)p Fy(.)230 3873 y(Man)m(uscripts)e(created)h(using)e(L)1322 +3857 y FO(A)1361 3873 y Fy(T)1412 3893 y(E)1462 3873 +y(X)h(should)e(b)s(e)h(con)m(v)m(erted)i(to)g(PDF)f(format)g(prior)f +(to)h(submis-)147 3981 y(sion.)d(The)e(L)560 3965 y FO(A)599 +3981 y Fy(T)650 4001 y(E)701 3981 y(X)h(source)g(\014les)h(and)e(an)m +(y)i(graphics)f(\014les)g(will)h(b)s(e)e(required)h(in)g(addition)g(to) +h(the)f(\014nal)147 4089 y(PDF)31 b(v)m(ersion)g(when)e(\014nal,)i +(revised)f(v)m(ersions)h(of)f(accepted)i(man)m(uscripts)e(are)h +(submitted.)230 4197 y(`Op)s(en-source')38 b(L)836 4180 +y FO(A)875 4197 y Fy(T)926 4217 y(E)977 4197 y(X)14 b(2)1104 +4211 y Fv(")1189 4197 y Fy(should)38 b(b)s(e)g(used)f(in)i(preference)f +(to)i(proprietary)e(systems)h(suc)m(h)f(as)147 4305 y(TCILaT)-8 +b(eX)29 b(or)h(Scien)m(ti\014c)g(W)-8 b(orkPlace;)32 +b(similarly)-8 b(,)30 b(class)g(\014les)g(suc)m(h)f(as)g(REVT)-8 +b(eX4)30 b(that)g(pro)s(duce)147 4413 y(a)45 b(do)s(cumen)m(t)f(in)f +(the)i(st)m(yle)g(of)f(a)h(di\013eren)m(t)f(publisher)f(and)g(journal)h +(should)f(not)h(b)s(e)g(used)f(for)147 4521 y(preference.)230 +4629 y(Authors)c(who)g(wish)g(to)h(incorp)s(orate)g(Encapsulated)g(P)m +(ostScript)g(art)m(w)m(ork)h(directly)f(in)f(their)147 +4737 y(articles)d(can)f(do)f(so)h(b)m(y)f(using)g(T)-8 +b(omas)34 b(Rokic)m(ki's)j Fu(EPSF)c Fy(macros)i(\(whic)m(h)f(are)h +(supplied)e(with)h(the)147 4845 y(D)m(VIPS)g(P)m(ostScript)f(driv)m +(er\).)h(See)f(Section)h(3.4,)g(whic)m(h)f(also)h(demonstrates)g(ho)m +(w)f(to)h(treat)g(land-)147 4953 y(scap)s(e)c(pages.)g(Please)g(remem)m +(b)s(er)f(to)h(supply)e(an)m(y)i(additional)g(\014gure)f(macros)g(y)m +(ou)h(use)f(with)g(y)m(our)147 5061 y(article)39 b(in)e(the)g(pream)m +(ble)h(b)s(efore)e Fu(\\begin{document})p Fy(.)d(Authors)k(should)f +(not)h(attempt)h(to)g(use)147 5169 y(implemen)m(tation-sp)s(eci\014c)32 +b Fu(\\special)p Fy(s)c(directly)-8 b(.)230 5277 y(Ensure)35 +b(that)i(an)m(y)f(author-de\014ned)f(macros)h(are)h(gathered)g +(together)g(in)f(the)g(source)g(\014le,)h(just)147 5384 +y(b)s(efore)30 b(the)h Fu(\\begin{document})26 b Fy(command.)1868 +5967 y(2)p eop end +%%Page: 3 3 +TeXDict begin 3 2 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)230 -120 +y Fy(Please)44 b(note)g(that)f(if)g(serious)g(problems)f(are)h(encoun)m +(tered)g(with)g(the)g(co)s(ding)g(of)g(an)f(article)147 +-12 y(\(missing)24 b(author-de\014ned)e(macros,)i(for)g(example\),)g +(it)g(ma)m(y)g(pro)m(v)m(e)h(necessary)f(to)g(div)m(ert)g(the)f +(article)147 96 y(to)31 b(con)m(v)m(en)m(tional)j(t)m(yp)s(esetting,)e +Fw(i.e.)d Fy(it)i(will)g(b)s(e)f(re-k)m(ey)m(ed.)147 +403 y Fx(2.)105 b(Using)36 b(the)e Fs(gENO)i Fx(class)f(\014le)147 +619 y Fy(If)i(the)h(\014le)g Fu(gENO2e.cls)c Fy(is)k(not)g(already)g +(in)f(the)h(appropriate)f(system)h(directory)g(for)f(L)3320 +603 y FO(A)3359 619 y Fy(T)3410 639 y(E)3460 619 y(X)14 +b(2)3587 633 y Fv(")147 727 y Fy(\014les,)32 b(either)f(arrange)h(for)f +(it)g(to)h(b)s(e)f(put)f(there,)i(or)f(cop)m(y)h(it)f(to)h(y)m(our)f(w) +m(orking)h(folder.)f(In)g(order)f(to)147 835 y(use)g(the)h +Fw(gENO)e Fy(do)s(cumen)m(t)h(class,)i(replace)f(the)g(command)f +Fu(\\documentclass{article})24 b Fy(at)31 b(the)147 943 +y(b)s(eginning)f(of)g(y)m(our)h(do)s(cumen)m(t)f(with)g(the)h(command)f +Fu(\\documentclass{gENO2e})p Fy(.)230 1051 y(The)g(follo)m(wing)i(do)s +(cumen)m(t-class)f(options)g(should)e Fw(not)40 b Fy(b)s(e)30 +b(used)f(with)h(the)h Fw(gENO)e Fy(class)i(\014le:)143 +1209 y Fq(\017)51 b Fu(10pt)p Fy(,)29 b Fu(11pt)p Fy(,)g +Fu(12pt)p Fy(|una)m(v)-5 b(ailable;)143 1317 y Fq(\017)51 +b Fu(oneside)p Fy(,)28 b Fu(twoside)p Fy(|not)h(necessary)-8 +b(,)31 b(oneside)g(is)f(the)h(default;)143 1425 y Fq(\017)51 +b Fu(leqno)p Fy(,)29 b Fu(titlepage)p Fy(|should)e(not)j(b)s(e)g(used;) +143 1533 y Fq(\017)51 b Fu(onecolumn)p Fy(|not)28 b(necessary)i(as)h +(it)g(is)f(the)h(default)f(st)m(yle.)147 1690 y(The)41 +b Fu(geometry)e Fy(pac)m(k)-5 b(age)43 b(and)e(commands)g(asso)s +(ciated)i(with)e(it)h(should)e(also)i Fw(not)51 b Fy(b)s(e)41 +b(used)f(to)147 1798 y(adjust)30 b(the)h(page)g(dimensions.)147 +2106 y Fx(3.)105 b(Additional)35 b(features)147 2322 +y(3.1)105 b Fs(F)-8 b(o)j(otnotes)38 b(to)f(article)h(titles)h(and)e +(authors')h(names)147 2488 y Fy(The)i Fu(\\thanks)f Fy(con)m(trol)k +(sequence)e(ma)m(y)g(b)s(e)f(used)g(to)i(pro)s(duce)e(a)h(fo)s(otnote)h +(to)f(either)h(the)f(title)147 2595 y(or)47 b(authors')g(names.)g(F)-8 +b(o)s(otnote)49 b(sym)m(b)s(ols)e(for)f(this)h(purp)s(ose)e(should)h(b) +s(e)g(used)h(in)f(the)h(order:)147 2703 y Fq(y)i Fy(\(co)s(ded)f(as)h +Fu(\\dagger)p Fy(\),)e Fq(z)h Fy(\()p Fu(\\ddagger)p +Fy(\),)f Fq(x)i Fy(\()p Fu(\\S)p Fy(\),)f Fq({)g Fy(\()p +Fu(\\P)p Fy(\),)h Fq(k)f Fy(\()p Fu(\\|)p Fy(\),)h Fq(yy)g +Fy(\()p Fu(\\dagger\\dagger)p Fy(\),)147 2811 y Fq(zz)31 +b Fy(\()p Fu(\\ddagger\\ddagger)p Fy(\),)c Fq(xx)k Fy(\()p +Fu(\\S\\S)p Fy(\),)f Fq({{)g Fy(\()p Fu(\\P\\P)p Fy(\),)g +Fq(kk)h Fy(\()p Fu(\\|\\|)p Fy(\).)230 2919 y(Note)39 +b(that)f(fo)s(otnotes)h(to)f(the)g(main)f(text)h(will)g(automatically)j +(b)s(e)36 b(assigned)i(the)g(sup)s(erscript)147 3027 +y(sym)m(b)s(ols)30 b(1,)h(2,)g(3,...)h(b)m(y)e(the)h(class)g(\014le,)g +(b)s(eginning)e(afresh)h(on)g(eac)m(h)i(page.)2760 2994 +y FO(1)230 3135 y Fy(The)26 b(title,)h(author\(s\))f(and)g +(a\016liation\(s\))i(should)d(b)s(e)g(follo)m(w)m(ed)i(b)m(y)f(the)g +Fu(\\maketitle)d Fy(command.)147 3243 y(If)g(preparing)g(an)h(anon)m +(ymized)g(v)m(ersion)g(for)f(p)s(eer)g(review,)h Fu(\\maketitle)d +Fy(ma)m(y)j(follo)m(w)h(directly)g(after)147 3351 y(the)31 +b(title)h(in)e(order)g(to)h(shield)f(the)g(authors')h(iden)m(tities)h +(from)d(the)i(review)m(ers.)147 3642 y Fx(3.2)105 b Fs(A)m(bstr)-5 +b(acts)147 3808 y Fy(A)m(t)28 b(the)f(b)s(eginning)f(of)h(y)m(our)g +(article,)i(the)e(title)h(should)e(b)s(e)h(generated)h(in)e(the)h +(usual)g(w)m(a)m(y)g(using)g(the)147 3916 y Fu(\\maketitle)k +Fy(command.)j(Immediately)h(follo)m(wing)g(the)f(title)h(y)m(ou)f +(should)f(include)g(an)h(abstract.)147 4024 y(The)22 +b(abstract)i(should)d(b)s(e)h(enclosed)i(within)e(an)g +Fu(abstract)f Fy(en)m(vironmen)m(t.)i(F)-8 b(or)23 b(example,)h(the)f +(titles)147 4132 y(for)30 b(this)h(guide)f(w)m(ere)h(pro)s(duced)e(b)m +(y)h(the)g(follo)m(wing)i(source)f(co)s(de:)147 4289 +y Fu(\\title{{\\itshape)44 b(Engineering)g(Optimization})g(\\LaTeX\\)i +(style)h(guide)147 4397 y(for)g(authors)f(\(Style)g(2)h(+)h(Chicago)e +(author-date)e(reference)i(style\)})147 4613 y(\\author{A.N.)f +(Author$^{a}$$^{\\ast}$\\t)o(hank)o(s{$)o(^\\as)o(t$Co)o(rre)o(spon)o +(ding)147 4721 y(author.)h(Email:)g(latex.helpdesk@tandf.co.u)o(k)c +(\\vspace{6pt}})i(and)j(I.T.)147 4829 y(Consultant$^{b}$\\\\\\vspace)o +({6pt)o(})89 b($^{a}${\\em{Taylor)44 b(\\&)j(Francis,)147 +4937 y(4)h(Park)e(Square,)g(Milton)g(Park,)h(Abingdon,)e(UK}};)h +($^{b}${\\em{Institut)p 147 5130 3487 3 v 147 5195 a +FD(1)182 5218 y FO(These)23 b(sym)n(b)r(ols)g(will)e(b)r(e)j(c)n +(hanged)g(to)g(the)g(st)n(yle)f(of)g(the)h(journal)e(b)n(y)h(the)h(t)n +(yp)r(esetter)h(during)e(preparation)g(of)g(y)n(our)g(pro)r(ofs.)f(If) +147 5301 y(preferred,)f(the)h Fp(endnotes)i FO(pac)n(k)l(age)f(ma)n(y)f +(b)r(e)g(used)g(instead)g(to)g(set)g(the)g(notes)h(in)e(consecutiv)n(e) +j(order)d(at)h(the)g(end)g(of)f(y)n(our)h(text,)147 5384 +y(b)r(efore)i(the)h(bibliograph)n(y)-6 b(.)1868 5967 +y Fy(3)p eop end +%%Page: 4 4 +TeXDict begin 4 3 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fu(f\\"{u}r)46 b(Informatik,)f(Albert-Ludwigs-Universi)o(t\\"{)o +(a}t,)c(Freiburg,)147 -12 y(Germany}}\\\\\\received{v4.1)g(released)46 +b(April)g(2013})g(})147 204 y(\\maketitle)147 420 y(\\begin{abstract}) +147 528 y(This)h(guide)f(is)h(for)g(authors)f(who)h(are)g(preparing)e +(articles)h(for)h(the)g(Taylor)147 636 y(\\&)g(Francis)f(journal)g +({\\em)h(Engineering)d(Optimization})h(\({\\it)h(gENO}\\,\))147 +744 y(using)h(the)f(\\LaTeX\\)g(document)g(preparation)f(system)h(and)h +(the)f(class)h(file)147 851 y({\\tt)g(gENO2e.cls},)d(which)j(is)g +(available)e(via)i(the)g(journal's)e(homepage)147 959 +y(on)i(the)g(Taylor)f(\\&)i(Francis)d(website.)h(Authors)g(planning)f +(to)i(submit)147 1067 y(articles)f(in)h(\\LaTeX\\)f(are)h(advised)e(to) +j(use)f({\\tt)f(gENO2e.cls})f(as)i(early)147 1175 y(as)g(possible)f(in) +h(the)g(creation)f(of)h(their)f(files.)147 1283 y(\\end{abstract})147 +1590 y Fx(3.3)105 b Fs(Lists)147 1756 y Fy(The)32 b Fw(gENO)f +Fy(class)i(\014le)g(pro)m(vides)f(n)m(um)m(b)s(ered)g(and)f(unn)m(um)m +(b)s(ered)f(lists)j(using)f(the)h Fu(enumerate)d Fy(en-)147 +1864 y(vironmen)m(t)h(and)f(bulleted)g(lists)h(using)f(the)g +Fu(itemize)f Fy(en)m(vironmen)m(t.)230 1972 y(The)h(en)m(umerated)h +(list)g(n)m(um)m(b)s(ers)e(eac)m(h)i(list)g(item)g(with)f(arabic)h(n)m +(umerals)g(b)m(y)f(default,)h Fw(e.g.)147 2130 y Fy(\(1\))47 +b(\014rst)29 b(item)147 2238 y(\(2\))47 b(second)30 b(item)147 +2346 y(\(3\))47 b(third)29 b(item)147 2504 y(w)m(as)i(pro)s(duced)e(b)m +(y)147 2661 y Fu(\\begin{enumerate})243 2769 y(\\item)46 +b(first)g(item)243 2877 y(\\item)g(second)g(item)243 +2985 y(\\item)g(third)g(item)147 3093 y(\\end{enumerate})147 +3251 y Fy(Alternativ)m(e)25 b(n)m(um)m(b)s(ering)c(st)m(yles)i(can)g(b) +s(e)e(ac)m(hiev)m(ed)j(b)m(y)f(inserting)f(an)g(optional)i(argumen)m(t) +e(in)g(square)147 3359 y(brac)m(k)m(ets)42 b(to)g(eac)m(h)f +Fu(\\item)p Fy(,)f Fw(e.g.)g Fu(\\item[\(i\)])45 b(first)h(item)39 +b Fy(to)j(create)g(a)f(list)g(n)m(um)m(b)s(ered)e(with)147 +3467 y(roman)30 b(n)m(umerals.)230 3575 y(Unn)m(um)m(b)s(ered)f(lists)i +(are)g(also)g(pro)m(vided)f(using)g(the)g Fu(enumerate)e +Fy(en)m(vironmen)m(t,)j Fw(e.g.)309 3732 y Fy(First)g(unn)m(um)m(b)s +(ered)d(inden)m(ted)i(item)h(without)f(lab)s(el.)309 +3840 y(Second)g(unn)m(um)m(b)s(ered)e(item.)309 3948 +y(Third)h(unn)m(um)m(b)s(ered)f(item.)147 4106 y(w)m(as)j(pro)s(duced)e +(b)m(y:)147 4264 y Fu(\\begin{enumerate})243 4372 y(\\item[])45 +b(First)i(unnumbered)e(indented)g(item)i(without)f(label.)243 +4479 y(\\item[])f(Second)i(unnumbered)e(item.)243 4587 +y(\\item[])g(Third)i(unnumbered)e(item.)147 4695 y(\\end{enumerate})230 +4853 y Fy(Bulleted)32 b(lists)e(are)h(pro)m(vided)f(using)g(the)h +Fu(itemize)d Fy(en)m(vironmen)m(t.)j(F)-8 b(or)31 b(example,)143 +5011 y Fq(\017)51 b Fy(First)30 b(bulleted)h(item)143 +5119 y Fq(\017)51 b Fy(Second)30 b(bulleted)g(item)143 +5227 y Fq(\017)51 b Fy(Third)28 b(bulleted)j(item)147 +5384 y(w)m(as)g(pro)s(duced)e(b)m(y:)1868 5967 y(4)p +eop end +%%Page: 5 5 +TeXDict begin 5 4 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fu(\\begin{itemize})243 -12 y(\\item)46 b(First)g(bulleted)g(item)243 +96 y(\\item)g(Second)g(bulleted)g(item)243 204 y(\\item)g(Third)g +(bulleted)g(item)147 312 y(\\end{itemize})147 605 y Fx(3.4)105 +b Fs(L)-5 b(andsc)g(ap)g(e)37 b(p)-5 b(ages)147 771 y +Fy(If)42 b(a)g(table)g(or)g(illustration)h(is)f(to)s(o)g(wide)g(to)g +(\014t)g(the)g(standard)f(measure,)h(it)g(m)m(ust)g(b)s(e)f(turned,)147 +879 y(with)c(its)h(caption,)h(through)e(90)1292 846 y +Fo(\016)1369 879 y Fy(an)m(ticlo)s(c)m(kwise.)k(Landscap)s(e)c +(illustrations)h(and/or)g(tables)g(can)147 987 y(b)s(e)e(pro)s(duced)g +(directly)h(using)f(the)h(gENO2e)h(st)m(yle)g(\014le)f(using)g +Fu(\\usepackage{rotating})31 b Fy(after)147 1095 y Fu +(\\documentclass{gENO2e})p Fy(.)20 b(The)26 b(follo)m(wing)i(commands)d +(can)i(b)s(e)e(used)h(to)g(pro)s(duce)f(suc)m(h)h(pages.)147 +1253 y Fu(\\setcounter{figure}{2})147 1361 y(\\begin{sidewaysfigure}) +147 1469 y(\\centerline{\\epsfbox{fig1)o(.eps)o(}})147 +1576 y(\\caption{This)44 b(is)k(an)f(example)f(of)h(a)g(figure)f +(caption.})147 1684 y(\\label{landfig})147 1792 y +(\\end{sidewaysfigure})147 1967 y(\\setcounter{table}{0})147 +2075 y(\\begin{sidewaystable})243 2183 y(\\tbl{The)f(Largest)h(Optical) +g(Telescopes.})338 2290 y(\\begin{tabular}{@{}llllcl)o(l})338 +2398 y(.)338 2506 y(.)338 2614 y(.)243 2722 y +(\\end{tabular}\\label{tab)o(1})147 2830 y(\\end{sidewaystable})147 +3004 y Fy(Before)33 b(an)m(y)g(\015oat)f(en)m(vironmen)m(t,)h(use)f +(the)g Fu(\\setcounter)d Fy(command)j(as)h(ab)s(o)m(v)m(e)g(to)g(\014x) +e(the)i(n)m(um-)147 3112 y(b)s(ering)j(of)h(the)g(caption.)g(Subsequen) +m(t)f(captions)h(will)g(then)f(b)s(e)g(automatically)k(ren)m(um)m(b)s +(ered)35 b(ac-)147 3220 y(cordingly)-8 b(.)147 3530 y +Fx(4.)105 b(Some)35 b(guidelines)h(for)f(using)h(standard)e(features) +147 3746 y Fy(The)f(follo)m(wing)h(notes)g(are)f(in)m(tended)g(to)h +(help)e(y)m(ou)i(ac)m(hiev)m(e)h(the)e(b)s(est)g(e\013ects)h(with)f +(the)g(gENO2e)147 3854 y(class)e(\014le.)147 4147 y Fx(4.1)105 +b Fs(Se)-5 b(ctions)147 4313 y Fy(L)171 4297 y FO(A)210 +4313 y Fy(T)261 4333 y(E)312 4313 y(X)14 b(2)439 4327 +y Fv(")516 4313 y Fy(pro)m(vides)30 b(\014v)m(e)h(lev)m(els)h(of)e +(section)i(headings)e(and)g(they)h(are)g(all)g(de\014ned)e(in)h(the)h +(gENO2e)147 4421 y(class)g(\014le:)124 4579 y(\(A\))47 +b Fu(\\section)128 4687 y Fy(\(B\))g Fu(\\subsection)127 +4795 y Fy(\(C\))f Fu(\\subsubsection)123 4903 y Fy(\(D\))h +Fu(\\paragraph)131 5011 y Fy(\(E\))f Fu(\\subparagraph)147 +5169 y Fy(Num)m(b)s(ering)34 b(is)h(automatically)j(generated)e(for)e +(section,)j(subsection,)e(subsubsection)f(and)g(para-)147 +5277 y(graph)g(headings.)g(If)g(y)m(ou)h(need)f(additional)h(text)g(st) +m(yles)g(in)f(the)h(headings,)f(see)h(the)g(examples)f(in)147 +5384 y(Section)d(5.)1868 5967 y(5)p eop end +%%Page: 6 6 +TeXDict begin 6 5 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)504 1038 +y + currentpoint currentpoint translate 0.73828 0.73828 scale neg exch +neg exch translate + 504 1038 a @beginspecial 91.562500 @llx 3.187500 @lly +321.937988 @urx 190 @ury 2303 @rwi @setspecial +%%BeginDocument: senu_gr1.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 91.5625 3.1875 321.938 190. +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 193.188 translate 1 -1 scale +gsave +150 dict begin +/Mfixwid true def +/Mrot 0 def +/Mpstart { + MathPictureStart +} bind def +/Mpend { + MathPictureEnd +} bind def +/Mscale { + 0 1 0 1 + 5 -1 roll + MathScale +} bind def +/Plain /Courier findfont def +/Bold /Courier-Bold findfont def +/Italic /Courier-Oblique findfont def +/MathPictureStart { + /Mimatrix + matrix currentmatrix + def + gsave + newpath + Mleft + Mbottom + translate + /Mtmatrix + matrix currentmatrix + def + Plain + Mfontsize scalefont + setfont + 0 setgray + 0 setlinewidth +} bind def +/MathPictureEnd { + grestore +} bind def +/MathSubStart { + Momatrix + Mgmatrix Mtmatrix + Mleft Mbottom + Mwidth Mheight + 9 -2 roll + moveto + Mtmatrix setmatrix + currentpoint + Mgmatrix setmatrix + 11 -2 roll + moveto + Mtmatrix setmatrix + currentpoint + 2 copy translate + /Mtmatrix matrix currentmatrix def + /Mleft 0 def + /Mbottom 0 def + 3 -1 roll + exch sub + /Mheight exch def + sub + /Mwidth exch def +} bind def +/MathSubEnd { + /Mheight exch def + /Mwidth exch def + /Mbottom exch def + /Mleft exch def + /Mtmatrix exch def + dup setmatrix + /Mgmatrix exch def + /Momatrix exch def +} bind def +/Mdot { + moveto + 0 0 rlineto + stroke +} bind def +/Mtetra { + moveto + lineto + lineto + lineto + fill +} bind def +/Metetra { + moveto + lineto + lineto + lineto + closepath + gsave + fill + grestore + 0 setgray + stroke +} bind def +/Mistroke { + flattenpath + 0 0 0 + { + 4 2 roll + pop pop + } + { + 4 -1 roll + 2 index + sub dup mul + 4 -1 roll + 2 index + sub dup mul + add sqrt + 4 -1 roll + add + 3 1 roll + } + { + stop + } + { + stop + } + pathforall + pop pop + currentpoint + stroke + moveto + currentdash + 3 -1 roll + add + setdash +} bind def +/Mfstroke { + stroke + currentdash + pop 0 + setdash +} bind def +/Mrotsboxa { + gsave + dup + /Mrot + exch def + Mrotcheck + Mtmatrix + dup + setmatrix + 7 1 roll + 4 index + 4 index + translate + rotate + 3 index + -1 mul + 3 index + -1 mul + translate + /Mtmatrix + matrix + currentmatrix + def + grestore + Msboxa + 3 -1 roll + /Mtmatrix + exch def + /Mrot + 0 def +} bind def +/Msboxa { + newpath + 5 -1 roll + Mvboxa + pop + Mboxout + 6 -1 roll + 5 -1 roll + 4 -1 roll + Msboxa1 + 5 -3 roll + Msboxa1 + Mboxrot + [ + 7 -2 roll + 2 copy + [ + 3 1 roll + 10 -1 roll + 9 -1 roll + ] + 6 1 roll + 5 -2 roll + ] +} bind def +/Msboxa1 { + sub + 2 div + dup + 2 index + 1 add + mul + 3 -1 roll + -1 add + 3 -1 roll + mul +} bind def +/Mvboxa { + Mfixwid + { + Mvboxa1 + } + { + dup + Mwidthcal + 0 exch + { + add + } + forall + exch + Mvboxa1 + 4 index + 7 -1 roll + add + 4 -1 roll + pop + 3 1 roll + } + ifelse +} bind def +/Mvboxa1 { + gsave + newpath + [ true + 3 -1 roll + { + Mbbox + 5 -1 roll + { + 0 + 5 1 roll + } + { + 7 -1 roll + exch sub + (m) stringwidth pop + .3 mul + sub + 7 1 roll + 6 -1 roll + 4 -1 roll + Mmin + 3 -1 roll + 5 index + add + 5 -1 roll + 4 -1 roll + Mmax + 4 -1 roll + } + ifelse + false + } + forall + { stop } if + counttomark + 1 add + 4 roll + ] + grestore +} bind def +/Mbbox { + 0 0 moveto + false charpath + flattenpath + pathbbox + newpath +} bind def +/Mmin { + 2 copy + gt + { exch } if + pop +} bind def +/Mmax { + 2 copy + lt + { exch } if + pop +} bind def +/Mrotshowa { + dup + /Mrot + exch def + Mrotcheck + Mtmatrix + dup + setmatrix + 7 1 roll + 4 index + 4 index + translate + rotate + 3 index + -1 mul + 3 index + -1 mul + translate + /Mtmatrix + matrix + currentmatrix + def + Mgmatrix setmatrix + Mshowa + /Mtmatrix + exch def + /Mrot 0 def +} bind def +/Mshowa { + 4 -2 roll + moveto + 2 index + Mtmatrix setmatrix + Mvboxa + 7 1 roll + Mboxout + 6 -1 roll + 5 -1 roll + 4 -1 roll + Mshowa1 + 4 1 roll + Mshowa1 + rmoveto + currentpoint + Mfixwid + { + Mshowax + } + { + Mshoway + } + ifelse + pop pop pop pop + Mgmatrix setmatrix +} bind def +/Mshowax { + 0 1 + 4 index length + -1 add + { + 2 index + 4 index + 2 index + get + 3 index + add + moveto + 4 index + exch get + show + } for +} bind def +/Mshoway { + 3 index + Mwidthcal + 5 1 roll + 0 1 + 4 index length + -1 add + { + 2 index + 4 index + 2 index + get + 3 index + add + moveto + 4 index + exch get + [ + 6 index + aload + length + 2 add + -1 roll + { + pop + Strform + stringwidth + pop + neg + exch + add + 0 rmoveto + } + exch + kshow + cleartomark + } for + pop +} bind def +/Mwidthcal { + [ + exch + { + Mwidthcal1 + } + forall + ] + [ + exch + dup + Maxlen + -1 add + 0 1 + 3 -1 roll + { + [ + exch + 2 index + { + 1 index + Mget + exch + } + forall + pop + Maxget + exch + } + for + pop + ] + Mreva +} bind def +/Mreva { + [ + exch + aload + length + -1 1 + {1 roll} + for + ] +} bind def +/Mget { + 1 index + length + -1 add + 1 index + ge + { + get + } + { + pop pop + 0 + } + ifelse +} bind def +/Maxlen { + [ + exch + { + length + } + forall + Maxget +} bind def +/Maxget { + counttomark + -1 add + 1 1 + 3 -1 roll + { + pop + Mmax + } + for + exch + pop +} bind def +/Mwidthcal1 { + [ + exch + { + Strform + stringwidth + pop + } + forall + ] +} bind def +/Strform { + /tem (x) def + tem 0 + 3 -1 roll + put + tem +} bind def +/Mshowa1 { + 2 copy + add + 4 1 roll + sub + mul + sub + -2 div +} bind def +/MathScale { + Mwidth + Mheight + Mlp + translate + scale + /yscale exch def + /ybias exch def + /xscale exch def + /xbias exch def + /Momatrix + xscale yscale matrix scale + xbias ybias matrix translate + matrix concatmatrix def + /Mgmatrix + matrix currentmatrix + def +} bind def +/Mlp { + 3 copy + Mlpfirst + { + Mnodistort + { + Mmin + dup + } if + 4 index + 2 index + 2 index + Mlprun + 11 index + 11 -1 roll + 10 -4 roll + Mlp1 + 8 index + 9 -5 roll + Mlp1 + 4 -1 roll + and + { exit } if + 3 -1 roll + pop pop + } loop + exch + 3 1 roll + 7 -3 roll + pop pop pop +} bind def +/Mlpfirst { + 3 -1 roll + dup length + 2 copy + -2 add + get + aload + pop pop pop + 4 -2 roll + -1 add + get + aload + pop pop pop + 6 -1 roll + 3 -1 roll + 5 -1 roll + sub + dup /MsaveAx exch def + div + 4 1 roll + exch sub + dup /MsaveAy exch def + div +} bind def +/Mlprun { + 2 copy + 4 index + 0 get + dup + 4 1 roll + Mlprun1 + 3 copy + 8 -2 roll + 9 -1 roll + { + 3 copy + Mlprun1 + 3 copy + 11 -3 roll + /gt Mlpminmax + 8 3 roll + 11 -3 roll + /lt Mlpminmax + 8 3 roll + } forall + pop pop pop pop + 3 1 roll + pop pop + aload pop + 5 -1 roll + aload pop + exch + 6 -1 roll + Mlprun2 + 8 2 roll + 4 -1 roll + Mlprun2 + 6 2 roll + 3 -1 roll + Mlprun2 + 4 2 roll + exch + Mlprun2 + 6 2 roll +} bind def +/Mlprun1 { + aload pop + exch + 6 -1 roll + 5 -1 roll + mul add + 4 -2 roll + mul + 3 -1 roll + add +} bind def +/Mlprun2 { + 2 copy + add 2 div + 3 1 roll + exch sub +} bind def +/Mlpminmax { + cvx + 2 index + 6 index + 2 index + exec + { + 7 -3 roll + 4 -1 roll + } if + 1 index + 5 index + 3 -1 roll + exec + { + 4 1 roll + pop + 5 -1 roll + aload + pop pop + 4 -1 roll + aload pop + [ + 8 -2 roll + pop + 5 -2 roll + pop + 6 -2 roll + pop + 5 -1 roll + ] + 4 1 roll + pop + } + { + pop pop pop + } ifelse +} bind def +/Mlp1 { + 5 index + 3 index sub + 5 index + 2 index mul + 1 index + le + 1 index + 0 le + or + dup + not + { + 1 index + 3 index div + .99999 mul + 8 -1 roll + pop + 7 1 roll + } + if + 8 -1 roll + 2 div + 7 -2 roll + pop sub + 5 index + 6 -3 roll + pop pop + mul sub + exch +} bind def +/intop 0 def +/inrht 0 def +/inflag 0 def +/outflag 0 def +/xadrht 0 def +/xadlft 0 def +/yadtop 0 def +/yadbot 0 def +/Minner { + outflag + 1 + eq + { + /outflag 0 def + /intop 0 def + /inrht 0 def + } if + 5 index + gsave + Mtmatrix setmatrix + Mvboxa pop + grestore + 3 -1 roll + pop + dup + intop + gt + { + /intop + exch def + } + { pop } + ifelse + dup + inrht + gt + { + /inrht + exch def + } + { pop } + ifelse + pop + /inflag + 1 def +} bind def +/Mouter { + /xadrht 0 def + /xadlft 0 def + /yadtop 0 def + /yadbot 0 def + inflag + 1 eq + { + dup + 0 lt + { + dup + intop + mul + neg + /yadtop + exch def + } if + dup + 0 gt + { + dup + intop + mul + /yadbot + exch def + } + if + pop + dup + 0 lt + { + dup + inrht + mul + neg + /xadrht + exch def + } if + dup + 0 gt + { + dup + inrht + mul + /xadlft + exch def + } if + pop + /outflag 1 def + } + { pop pop} + ifelse + /inflag 0 def + /inrht 0 def + /intop 0 def +} bind def +/Mboxout { + outflag + 1 + eq + { + 4 -1 + roll + xadlft + leadjust + add + sub + 4 1 roll + 3 -1 + roll + yadbot + leadjust + add + sub + 3 1 + roll + exch + xadrht + leadjust + add + add + exch + yadtop + leadjust + add + add + /outflag 0 def + /xadlft 0 def + /yadbot 0 def + /xadrht 0 def + /yadtop 0 def + } if +} bind def +/leadjust { + (m) stringwidth pop + .5 mul +} bind def +/Mrotcheck { + dup + 90 + eq + { + yadbot + /yadbot + xadrht + def + /xadrht + yadtop + def + /yadtop + xadlft + def + /xadlft + exch + def + } + if + dup + cos + 1 index + sin + Checkaux + dup + cos + 1 index + sin neg + exch + Checkaux + 3 1 roll + pop pop +} bind def +/Checkaux { + 4 index + exch + 4 index + mul + 3 1 roll + mul add + 4 1 roll +} bind def +/Mboxrot { + Mrot + 90 eq + { + brotaux + 4 2 + roll + } + if + Mrot + 180 eq + { + 4 2 + roll + brotaux + 4 2 + roll + brotaux + } + if + Mrot + 270 eq + { + 4 2 + roll + brotaux + } + if +} bind def +/brotaux { + neg + exch + neg +} bind def +/Mabsproc { + 0 + matrix defaultmatrix + dtransform idtransform + dup mul exch + dup mul + add sqrt +} bind def +/Mabswid { + Mabsproc + setlinewidth +} bind def +/Mabsdash { + exch + [ + exch + { + Mabsproc + } + forall + ] + exch + setdash +} bind def +/MBeginOrig { Momatrix concat} bind def +/MEndOrig { Mgmatrix setmatrix} bind def +/sampledsound where +{ pop} +{ /sampledsound { +exch +pop +exch +5 1 roll +mul +4 idiv +mul +2 idiv +exch pop +exch +/Mtempproc exch def +{ Mtempproc pop } +repeat +} bind def +} ifelse +% Here are the short operators +/g { setgray} bind def +/k { setcmykcolor} bind def +/m { moveto} bind def +/p { gsave} bind def +/r { setrgbcolor} bind def +/w { setlinewidth} bind def +/C { curveto} bind def +/F { fill} bind def +/L { lineto} bind def +/P { grestore} bind def +/s { stroke} bind def + +/MFill { + 0 0 moveto + Mwidth 0 lineto + Mwidth Mheight lineto + 0 Mheight lineto + fill +} bind def + +/MPlotRegion { + 3 index + Mwidth mul + 2 index + Mheight mul + translate + exch sub + Mheight mul + /Mheight + exch def + exch sub + Mwidth mul + /Mwidth + exch def +} bind def + +/Mcharproc +{ + currentfile + (x) + readhexstring + pop + 0 get + exch + div +} bind def + +/Mshadeproc +{ + dup + 3 1 + roll + { + dup + Mcharproc + 3 1 + roll + } repeat + 1 eq + { + setgray + } + { + 3 eq + { + setrgbcolor + } + { + setcmykcolor + } ifelse + } ifelse +} bind def + +/Mrectproc +{ + 3 index + 2 index + moveto + 2 index + 3 -1 + roll + lineto + dup + 3 1 + roll + lineto + lineto + fill +} bind def + +/_Mcolorimage +{ + 7 1 + roll + pop + pop + matrix + invertmatrix + concat + 2 exch exp + 1 sub + 3 1 roll + 1 1 + 2 index + { + 1 1 + 4 index + { + dup + 1 sub + exch + 2 index + dup + 1 sub + exch + 7 index + 9 index + Mshadeproc + Mrectproc + } for + pop + } for + pop pop pop pop +} bind def + +/_Mimage +{ + pop + matrix + invertmatrix + concat + 2 exch exp + 1 sub + 3 1 roll + 1 1 + 2 index + { + 1 1 + 4 index + { + dup + 1 sub + exch + 2 index + dup + 1 sub + exch + 7 index + Mcharproc + setgray + Mrectproc + } for + pop + } for + pop pop pop +} bind def + +/Mimage { + 4 index + 4 index + mul 1600 gt + { image } + { _Mimage } + ifelse +} def + +/Mcolorimage { + 6 index + 6 index + mul 1600 gt + { colorimage } + { _Mcolorimage } + ifelse +} def +/Mnodistort true def +1.000000 1.000000 scale +91.562500 190.000000 translate +1.000000 -1.000000 scale +0.000000 0.000000 translate +/Mleft 0.000000 def +/Mbottom 0.000000 def +/Mwidth 230.375000 def +/Mheight 186.812500 def +0 setgray +0 setlinewidth +/Courier findfont 12 scalefont setfont +/Mfontsize 12 def +/Plain /Courier findfont def + +%! +%%Creator: Mathematica +%%AspectRatio: .81114 +MathPictureStart +/Mabs { +Mgmatrix idtransform +Mtmatrix dtransform +} bind def +/Mabsadd { Mabs +3 -1 roll add +3 1 roll add +exch } bind def +%% SurfaceGraphics +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10 scalefont setfont +% Scaling calculations +5.55112e-017 1.04977 -0.0679587 1.04977 [ +[.02757 .24618 -6 -8.70276 ] +[.02757 .24618 0 .29724 ] +[.14598 .19958 -17.886 -9 ] +[.14598 .19958 .11404 0 ] +[.27013 .15073 -17.1354 -9 ] +[.27013 .15073 .86461 0 ] +[.40046 .09948 -16.3848 -9 ] +[.40046 .09948 1.61518 0 ] +[.53743 .04564 -15.6343 -9 ] +[.53743 .04564 2.36575 0 ] +[.68156 -0.01098 -4.96123 -9 ] +[.68156 -0.01098 1.03877 0 ] +[.29165 .07573 -9.31117 -12.5625 ] +[.29165 .07573 .68883 0 ] +[.70096 -0.00478 0 -6.26206 ] +[.70096 -0.00478 6 2.73794 ] +[.76745 .09703 0 -6.16187 ] +[.76745 .09703 18 2.83813 ] +[.82812 .18993 0 -6.07246 ] +[.82812 .18993 18 2.92754 ] +[.88369 .27502 0 -5.99218 ] +[.88369 .27502 18 3.00782 ] +[.93478 .35327 0 -5.9197 ] +[.93478 .35327 18 3.0803 ] +[.98191 .42546 0 -5.85393 ] +[.98191 .42546 6 3.14607 ] +[.91861 .21225 0 -8.41865 ] +[.91861 .21225 10 4.14385 ] +[.02267 .27415 -18 -2.74995 ] +[.02267 .27415 0 6.25005 ] +[.01456 .32496 -24 -2.79293 ] +[.01456 .32496 0 6.20707 ] +[.00619 .37747 -18 -2.8375 ] +[.00619 .37747 0 6.1625 ] +[-0.00248 .43177 -24 -2.88374 ] +[-0.00248 .43177 0 6.11626 ] +[-0.01144 .48795 -18 -2.93176 ] +[-0.01144 .48795 0 6.06824 ] +[ 0 0 0 0 ] +[ 1 .81114 0 0 ] +] MathScale +% Start of Graphics +1 setlinecap +1 setlinejoin +newpath +0 g +.25 Mabswid +[ ] 0 setdash +.03716 .25514 m +.68874 0 L +s +.03716 .25514 m +.04196 .25962 L +s +[(0)] .02757 .24618 1 .93395 Mshowa +.1552 .20892 m +.15981 .21359 L +s +[(0.2)] .14598 .19958 .98733 1 Mshowa +.27893 .16047 m +.28333 .16533 L +s +[(0.4)] .27013 .15073 .90393 1 Mshowa +.40878 .10962 m +.41294 .11469 L +s +[(0.6)] .40046 .09948 .82054 1 Mshowa +.54521 .0562 m +.54911 .06148 L +s +[(0.8)] .53743 .04564 .73714 1 Mshowa +.68874 0 m +.69233 .00549 L +s +[(1)] .68156 -0.01098 .65374 1 Mshowa +.125 Mabswid +.06616 .24378 m +.06901 .2465 L +s +.09549 .2323 m +.09832 .23504 L +s +.12517 .22067 m +.12797 .22345 L +s +.18558 .19702 m +.18832 .19985 L +s +.21633 .18498 m +.21903 .18784 L +s +.24744 .1728 m +.25012 .17569 L +s +.3108 .14799 m +.31341 .15094 L +s +.34306 .13535 m +.34564 .13834 L +s +.37572 .12257 m +.37826 .12558 L +s +.44225 .09652 m +.44471 .09959 L +s +.47614 .08324 m +.47856 .08635 L +s +.51046 .06981 m +.51284 .07294 L +s +.58041 .04242 m +.5827 .04562 L +s +.61605 .02846 m +.6183 .03169 L +s +.65216 .01432 m +.65436 .01759 L +s +gsave +.29165 .07573 -70.3112 -16.5625 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(t) show +1.000 setlinewidth +grestore +.25 Mabswid +.68874 0 m +.96935 .42924 L +s +.68874 0 m +.68263 .00239 L +s +[(0)] .70096 -0.00478 -1 .39157 Mshowa +.75514 .10158 m +.74899 .10385 L +s +[(0.2)] .76745 .09703 -1 .3693 Mshowa +.81573 .19425 m +.80953 .19642 L +s +[(0.4)] .82812 .18993 -1 .34944 Mshowa +.87123 .27915 m +.865 .28122 L +s +[(0.6)] .88369 .27502 -1 .3316 Mshowa +.92227 .35722 m +.91601 .35919 L +s +[(0.8)] .93478 .35327 -1 .31549 Mshowa +.96935 .42924 m +.96306 .43113 L +s +[(1)] .98191 .42546 -1 .30087 Mshowa +.125 Mabswid +.70593 .0263 m +.70226 .02771 L +s +.72272 .05198 m +.71904 .05338 L +s +.73912 .07706 m +.73543 .07845 L +s +.7708 .12553 m +.7671 .12688 L +s +.78611 .14895 m +.78241 .15028 L +s +.80108 .17185 m +.79737 .17317 L +s +.83006 .21617 m +.82633 .21745 L +s +.84407 .23761 m +.84035 .23888 L +s +.8578 .2586 m +.85407 .25986 L +s +.88439 .29928 m +.88065 .3005 L +s +.89727 .31899 m +.89353 .3202 L +s +.9099 .3383 m +.90615 .3395 L +s +.93439 .37576 m +.93063 .37693 L +s +.94627 .39394 m +.94251 .3951 L +s +.95792 .41176 m +.95416 .41291 L +s +gsave +.91861 .21225 -61 -12.4187 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(x) show +1.000 setlinewidth +grestore +.25 Mabswid +.03716 .25514 m +0 .48963 L +s +.0349 .26939 m +.04102 .26701 L +s +[(0.1)] .02267 .27415 1 -0.3889 Mshowa +.02683 .3203 m +.03297 .31798 L +s +[(0.15)] .01456 .32496 1 -0.37935 Mshowa +.01849 .37292 m +.02465 .37065 L +s +[(0.2)] .00619 .37747 1 -0.36944 Mshowa +.00987 .42733 m +.01605 .42512 L +s +[(0.25)] -0.00248 .43177 1 -0.35917 Mshowa +.00095 .48363 m +.00715 .48147 L +s +[(0.3)] -0.01144 .48795 1 -0.3485 Mshowa +.125 Mabswid +.03331 .27944 m +.03698 .27802 L +s +.03171 .28956 m +.03538 .28814 L +s +.03009 .29974 m +.03377 .29833 L +s +.02847 .30999 m +.03215 .30858 L +s +.02519 .33069 m +.02887 .3293 L +s +.02353 .34114 m +.02722 .33976 L +s +.02186 .35167 m +.02555 .35029 L +s +.02018 .36226 m +.02387 .36089 L +s +.01679 .38366 m +.02049 .3823 L +s +.01508 .39447 m +.01878 .39312 L +s +.01336 .40535 m +.01706 .404 L +s +.01162 .4163 m +.01532 .41497 L +s +.00811 .43844 m +.01182 .43712 L +s +.00634 .44962 m +.01005 .4483 L +s +.00456 .46088 m +.00827 .45957 L +s +.00276 .47222 m +.00647 .47091 L +s +.03648 .2594 m +.04015 .25797 L +s +.25 Mabswid +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.39787 .81114 L +s +.39787 .81114 m +.40529 .59895 L +s +.40529 .59895 m +.03716 .25514 L +s +.68874 0 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.68874 0 m +.03716 .25514 L +s +.40529 .59895 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.39787 .81114 L +s +.39787 .81114 m +.40529 .59895 L +s +0 0 m +1 0 L +1 .81114 L +0 .81114 L +closepath +clip +newpath +.5 Mabswid +.737 .721 .837 r +.37496 .77944 .39806 .80578 .43728 .78226 .41454 .75583 Metetra +.734 .723 .841 r +.41454 .75583 .43728 .78226 .47677 .75934 .45439 .7328 Metetra +.731 .724 .844 r +.45439 .7328 .47677 .75934 .51656 .73694 .49455 .71025 Metetra +.728 .724 .847 r +.49455 .71025 .51656 .73694 .55667 .71498 .53504 .68813 Metetra +.725 .725 .85 r +.53504 .68813 .55667 .71498 .59713 .69341 .57589 .66636 Metetra +.723 .726 .852 r +.57589 .66636 .59713 .69341 .63795 .67216 .61711 .64491 Metetra +.72 .726 .855 r +.61711 .64491 .63795 .67216 .67917 .65119 .65874 .62371 Metetra +.718 .727 .857 r +.65874 .62371 .67917 .65119 .7208 .63046 .70078 .60272 Metetra +.716 .727 .859 r +.70078 .60272 .7208 .63046 .76286 .60991 .74327 .5819 Metetra +.714 .727 .86 r +.74327 .5819 .76286 .60991 .80537 .58952 .78621 .56122 Metetra +.713 .727 .862 r +.78621 .56122 .80537 .58952 .84834 .56924 .82963 .54064 Metetra +.711 .727 .863 r +.82963 .54064 .84834 .56924 .8918 .54905 .87354 .52013 Metetra +.709 .727 .864 r +.87354 .52013 .8918 .54905 .93575 .52891 .91796 .49965 Metetra +.708 .727 .865 r +.91796 .49965 .93575 .52891 .98022 .50881 .96291 .47919 Metetra +.736 .721 .838 r +.35133 .75249 .37496 .77944 .41454 .75583 .39127 .72878 Metetra +.733 .722 .841 r +.39127 .72878 .41454 .75583 .45439 .7328 .43149 .70562 Metetra +.73 .723 .845 r +.43149 .70562 .45439 .7328 .49455 .71025 .47202 .68292 Metetra +.727 .724 .848 r +.47202 .68292 .49455 .71025 .53504 .68813 .5129 .66061 Metetra +.724 .725 .85 r +.5129 .66061 .53504 .68813 .57589 .66636 .55414 .63865 Metetra +.722 .725 .853 r +.55414 .63865 .57589 .66636 .61711 .64491 .59576 .61696 Metetra +.72 .726 .855 r +.59576 .61696 .61711 .64491 .65874 .62371 .6378 .59552 Metetra +.717 .726 .857 r +.6378 .59552 .65874 .62371 .70078 .60272 .68027 .57426 Metetra +.715 .726 .859 r +.68027 .57426 .70078 .60272 .74327 .5819 .72318 .55316 Metetra +.714 .727 .86 r +.72318 .55316 .74327 .5819 .78621 .56122 .76657 .53217 Metetra +.712 .727 .862 r +.76657 .53217 .78621 .56122 .82963 .54064 .81044 .51127 Metetra +.71 .727 .863 r +.81044 .51127 .82963 .54064 .87354 .52013 .85481 .49041 Metetra +.709 .727 .864 r +.85481 .49041 .87354 .52013 .91796 .49965 .89971 .46958 Metetra +.708 .727 .865 r +.89971 .46958 .91796 .49965 .96291 .47919 .94514 .44874 Metetra +.734 .721 .839 r +.32714 .72491 .35133 .75249 .39127 .72878 .36745 .70109 Metetra +.731 .722 .842 r +.36745 .70109 .39127 .72878 .43149 .70562 .40804 .67778 Metetra +.728 .723 .845 r +.40804 .67778 .43149 .70562 .47202 .68292 .44895 .65491 Metetra +.726 .724 .848 r +.44895 .65491 .47202 .68292 .5129 .66061 .49022 .63241 Metetra +.723 .724 .851 r +.49022 .63241 .5129 .66061 .55414 .63865 .53185 .61022 Metetra +.721 .725 .853 r +.53185 .61022 .55414 .63865 .59576 .61696 .57389 .5883 Metetra +.719 .725 .855 r +.57389 .5883 .59576 .61696 .6378 .59552 .61634 .56659 Metetra +.717 .726 .857 r +.61634 .56659 .6378 .59552 .68027 .57426 .65923 .54505 Metetra +.715 .726 .859 r +.65923 .54505 .68027 .57426 .72318 .55316 .70259 .52364 Metetra +.713 .726 .86 r +.70259 .52364 .72318 .55316 .76657 .53217 .74642 .50233 Metetra +.711 .726 .862 r +.74642 .50233 .76657 .53217 .81044 .51127 .79075 .48109 Metetra +.71 .726 .863 r +.79075 .48109 .81044 .51127 .85481 .49041 .83559 .45987 Metetra +.708 .726 .864 r +.83559 .45987 .85481 .49041 .89971 .46958 .88097 .43867 Metetra +.707 .726 .865 r +.88097 .43867 .89971 .46958 .94514 .44874 .92689 .41743 Metetra +.733 .721 .839 r +.30239 .69668 .32714 .72491 .36745 .70109 .34306 .67273 Metetra +.73 .722 .843 r +.34306 .67273 .36745 .70109 .40804 .67778 .38403 .64927 Metetra +.727 .723 .846 r +.38403 .64927 .40804 .67778 .44895 .65491 .42532 .62621 Metetra +.725 .723 .849 r +.42532 .62621 .44895 .65491 .49022 .63241 .46698 .60349 Metetra +.722 .724 .851 r +.46698 .60349 .49022 .63241 .53185 .61022 .50902 .58107 Metetra +.72 .724 .853 r +.50902 .58107 .53185 .61022 .57389 .5883 .55146 .55889 Metetra +.718 .725 .856 r +.55146 .55889 .57389 .5883 .61634 .56659 .59434 .5369 Metetra +.716 .725 .857 r +.59434 .5369 .61634 .56659 .65923 .54505 .63766 .51506 Metetra +.714 .725 .859 r +.63766 .51506 .65923 .54505 .70259 .52364 .68146 .49333 Metetra +.712 .726 .861 r +.68146 .49333 .70259 .52364 .74642 .50233 .72575 .47168 Metetra +.711 .726 .862 r +.72575 .47168 .74642 .50233 .79075 .48109 .77054 .45008 Metetra +.709 .726 .863 r +.77054 .45008 .79075 .48109 .83559 .45987 .81586 .42849 Metetra +.708 .726 .864 r +.81586 .42849 .83559 .45987 .88097 .43867 .86173 .40688 Metetra +.707 .726 .865 r +.86173 .40688 .88097 .43867 .92689 .41743 .90816 .38523 Metetra +.732 .72 .84 r +.27705 .66778 .30239 .69668 .34306 .67273 .31808 .64369 Metetra +.729 .721 .844 r +.31808 .64369 .34306 .67273 .38403 .64927 .35943 .62004 Metetra +.726 .722 .847 r +.35943 .62004 .38403 .64927 .42532 .62621 .40111 .59678 Metetra +.724 .723 .849 r +.40111 .59678 .42532 .62621 .46698 .60349 .44317 .57384 Metetra +.721 .723 .852 r +.44317 .57384 .46698 .60349 .50902 .58107 .48561 .55116 Metetra +.719 .724 .854 r +.48561 .55116 .50902 .58107 .55146 .55889 .52848 .5287 Metetra +.717 .724 .856 r +.52848 .5287 .55146 .55889 .59434 .5369 .57178 .50641 Metetra +.715 .725 .858 r +.57178 .50641 .59434 .5369 .63766 .51506 .61554 .48425 Metetra +.713 .725 .859 r +.61554 .48425 .63766 .51506 .68146 .49333 .65979 .46219 Metetra +.712 .725 .861 r +.65979 .46219 .68146 .49333 .72575 .47168 .70453 .44018 Metetra +.71 .725 .862 r +.70453 .44018 .72575 .47168 .77054 .45008 .7498 .4182 Metetra +.709 .725 .863 r +.7498 .4182 .77054 .45008 .81586 .42849 .79561 .39621 Metetra +.707 .725 .864 r +.79561 .39621 .81586 .42849 .86173 .40688 .84197 .37419 Metetra +.706 .725 .865 r +.84197 .37419 .86173 .40688 .90816 .38523 .88891 .35211 Metetra +.73 .72 .841 r +.2511 .63818 .27705 .66778 .31808 .64369 .2925 .61392 Metetra +.728 .721 .844 r +.2925 .61392 .31808 .64369 .35943 .62004 .33423 .59009 Metetra +.725 .722 .847 r +.33423 .59009 .35943 .62004 .40111 .59678 .3763 .5666 Metetra +.723 .723 .85 r +.3763 .5666 .40111 .59678 .44317 .57384 .41876 .54341 Metetra +.72 .723 .852 r +.41876 .54341 .44317 .57384 .48561 .55116 .46161 .52047 Metetra +.718 .724 .854 r +.46161 .52047 .48561 .55116 .52848 .5287 .5049 .49771 Metetra +.716 .724 .856 r +.5049 .49771 .52848 .5287 .57178 .50641 .54863 .47511 Metetra +.714 .724 .858 r +.54863 .47511 .57178 .50641 .61554 .48425 .59284 .45261 Metetra +.713 .724 .859 r +.59284 .45261 .61554 .48425 .65979 .46219 .63754 .43019 Metetra +.711 .724 .861 r +.63754 .43019 .65979 .46219 .70453 .44018 .68276 .4078 Metetra +.709 .725 .862 r +.68276 .4078 .70453 .44018 .7498 .4182 .72851 .38542 Metetra +.708 .725 .863 r +.72851 .38542 .7498 .4182 .79561 .39621 .77481 .36301 Metetra +.707 .725 .864 r +.77481 .36301 .79561 .39621 .84197 .37419 .82168 .34056 Metetra +.706 .725 .865 r +.82168 .34056 .84197 .37419 .88891 .35211 .86913 .31802 Metetra +.729 .72 .842 r +.22451 .60786 .2511 .63818 .2925 .61392 .26629 .58342 Metetra +.726 .721 .845 r +.26629 .58342 .2925 .61392 .33423 .59009 .3084 .55937 Metetra +.724 .722 .848 r +.3084 .55937 .33423 .59009 .3763 .5666 .35087 .53565 Metetra +.721 .722 .85 r +.35087 .53565 .3763 .5666 .41876 .54341 .39373 .5122 Metetra +.719 .723 .852 r +.39373 .5122 .41876 .54341 .46161 .52047 .437 .48896 Metetra +.717 .723 .854 r +.437 .48896 .46161 .52047 .5049 .49771 .48071 .46589 Metetra +.715 .723 .856 r +.48071 .46589 .5049 .49771 .54863 .47511 .52489 .44295 Metetra +.713 .724 .858 r +.52489 .44295 .54863 .47511 .59284 .45261 .56955 .4201 Metetra +.712 .724 .859 r +.56955 .4201 .59284 .45261 .63754 .43019 .61471 .39729 Metetra +.71 .724 .861 r +.61471 .39729 .63754 .43019 .68276 .4078 .6604 .37451 Metetra +.709 .724 .862 r +.6604 .37451 .68276 .4078 .72851 .38542 .70663 .35171 Metetra +.708 .724 .863 r +.70663 .35171 .72851 .38542 .77481 .36301 .75343 .32886 Metetra +.707 .724 .864 r +.75343 .32886 .77481 .36301 .82168 .34056 .80082 .30594 Metetra +.705 .724 .864 r +.80082 .30594 .82168 .34056 .86913 .31802 .8488 .28292 Metetra +.728 .72 .843 r +.19726 .57679 .22451 .60786 .26629 .58342 .23942 .55215 Metetra +.725 .72 .846 r +.23942 .55215 .26629 .58342 .3084 .55937 .28192 .52787 Metetra +.723 .721 .848 r +.28192 .52787 .3084 .55937 .35087 .53565 .32479 .50389 Metetra +.72 .722 .851 r +.32479 .50389 .35087 .53565 .39373 .5122 .36806 .48015 Metetra +.718 .722 .853 r +.36806 .48015 .39373 .5122 .437 .48896 .41175 .4566 Metetra +.716 .723 .855 r +.41175 .4566 .437 .48896 .48071 .46589 .45589 .4332 Metetra +.714 .723 .857 r +.45589 .4332 .48071 .46589 .52489 .44295 .50051 .40991 Metetra +.713 .723 .858 r +.50051 .40991 .52489 .44295 .56955 .4201 .54563 .38667 Metetra +.711 .723 .859 r +.54563 .38667 .56955 .4201 .61471 .39729 .59126 .36347 Metetra +.71 .723 .861 r +.59126 .36347 .61471 .39729 .6604 .37451 .63743 .34026 Metetra +.708 .724 .862 r +.63743 .34026 .6604 .37451 .70663 .35171 .68416 .31702 Metetra +.707 .724 .863 r +.68416 .31702 .70663 .35171 .75343 .32886 .73147 .29371 Metetra +.706 .724 .863 r +.73147 .29371 .75343 .32886 .80082 .30594 .77938 .27031 Metetra +.705 .723 .864 r +.77938 .27031 .80082 .30594 .8488 .28292 .8279 .24678 Metetra +.727 .719 .843 r +.16933 .54494 .19726 .57679 .23942 .55215 .21187 .52008 Metetra +.724 .72 .846 r +.21187 .52008 .23942 .55215 .28192 .52787 .25476 .49555 Metetra +.722 .721 .849 r +.25476 .49555 .28192 .52787 .32479 .50389 .29803 .47129 Metetra +.719 .721 .851 r +.29803 .47129 .32479 .50389 .36806 .48015 .34172 .44725 Metetra +.717 .722 .853 r +.34172 .44725 .36806 .48015 .41175 .4566 .38584 .42337 Metetra +.715 .722 .855 r +.38584 .42337 .41175 .4566 .45589 .4332 .43042 .39961 Metetra +.714 .723 .857 r +.43042 .39961 .45589 .4332 .50051 .40991 .47549 .37594 Metetra +.712 .723 .858 r +.47549 .37594 .50051 .40991 .54563 .38667 .52107 .35231 Metetra +.711 .723 .86 r +.52107 .35231 .54563 .38667 .59126 .36347 .56717 .32868 Metetra +.709 .723 .861 r +.56717 .32868 .59126 .36347 .63743 .34026 .61384 .30503 Metetra +.708 .723 .862 r +.61384 .30503 .63743 .34026 .68416 .31702 .66107 .28132 Metetra +.707 .723 .863 r +.66107 .28132 .68416 .31702 .73147 .29371 .70889 .25752 Metetra +.706 .723 .863 r +.70889 .25752 .73147 .29371 .77938 .27031 .75733 .23361 Metetra +.705 .723 .864 r +.75733 .23361 .77938 .27031 .8279 .24678 .8064 .20955 Metetra +.725 .719 .844 r +.14069 .51228 .16933 .54494 .21187 .52008 .18362 .48718 Metetra +.723 .72 .847 r +.18362 .48718 .21187 .52008 .25476 .49555 .2269 .46238 Metetra +.721 .721 .849 r +.2269 .46238 .25476 .49555 .29803 .47129 .27058 .43782 Metetra +.718 .721 .852 r +.27058 .43782 .29803 .47129 .34172 .44725 .31468 .41345 Metetra +.716 .721 .854 r +.31468 .41345 .34172 .44725 .38584 .42337 .35923 .38922 Metetra +.715 .722 .855 r +.35923 .38922 .38584 .42337 .43042 .39961 .40426 .36509 Metetra +.713 .722 .857 r +.40426 .36509 .43042 .39961 .47549 .37594 .44978 .34102 Metetra +.711 .722 .858 r +.44978 .34102 .47549 .37594 .52107 .35231 .49583 .31696 Metetra +.71 .722 .86 r +.49583 .31696 .52107 .35231 .56717 .32868 .54242 .29289 Metetra +.709 .723 .861 r +.54242 .29289 .56717 .32868 .61384 .30503 .58958 .26876 Metetra +.707 .723 .862 r +.58958 .26876 .61384 .30503 .66107 .28132 .63733 .24456 Metetra +.706 .723 .862 r +.63733 .24456 .66107 .28132 .70889 .25752 .68568 .22025 Metetra +.705 .722 .863 r +.68568 .22025 .70889 .25752 .75733 .23361 .73465 .1958 Metetra +.705 .722 .864 r +.73465 .1958 .75733 .23361 .8064 .20955 .78428 .17119 Metetra +.724 .719 .845 r +.11132 .47878 .14069 .51228 .18362 .48718 .15463 .45342 Metetra +.722 .72 .848 r +.15463 .45342 .18362 .48718 .2269 .46238 .19832 .42833 Metetra +.72 .72 .85 r +.19832 .42833 .2269 .46238 .27058 .43782 .24241 .40345 Metetra +.718 .721 .852 r +.24241 .40345 .27058 .43782 .31468 .41345 .28693 .37873 Metetra +.716 .721 .854 r +.28693 .37873 .31468 .41345 .35923 .38922 .33192 .35413 Metetra +.714 .721 .856 r +.33192 .35413 .35923 .38922 .40426 .36509 .37739 .32959 Metetra +.712 .722 .857 r +.37739 .32959 .40426 .36509 .44978 .34102 .42338 .30509 Metetra +.711 .722 .858 r +.42338 .30509 .44978 .34102 .49583 .31696 .4699 .28059 Metetra +.709 .722 .86 r +.4699 .28059 .49583 .31696 .54242 .29289 .51698 .25604 Metetra +.708 .722 .861 r +.51698 .25604 .54242 .29289 .58958 .26876 .56465 .23143 Metetra +.707 .722 .861 r +.56465 .23143 .58958 .26876 .63733 .24456 .61291 .20671 Metetra +.706 .722 .862 r +.61291 .20671 .63733 .24456 .68568 .22025 .66179 .18186 Metetra +.705 .722 .863 r +.66179 .18186 .68568 .22025 .73465 .1958 .71132 .15684 Metetra +.704 .722 .863 r +.71132 .15684 .73465 .1958 .78428 .17119 .76151 .13164 Metetra +.723 .719 .846 r +.08118 .44441 .11132 .47878 .15463 .45342 .12488 .41877 Metetra +.721 .719 .848 r +.12488 .41877 .15463 .45342 .19832 .42833 .16897 .39336 Metetra +.719 .72 .85 r +.16897 .39336 .19832 .42833 .24241 .40345 .21348 .36813 Metetra +.717 .72 .852 r +.21348 .36813 .24241 .40345 .28693 .37873 .25843 .34304 Metetra +.715 .721 .854 r +.25843 .34304 .28693 .37873 .33192 .35413 .30386 .31804 Metetra +.713 .721 .856 r +.30386 .31804 .33192 .35413 .37739 .32959 .34979 .29308 Metetra +.712 .721 .857 r +.34979 .29308 .37739 .32959 .42338 .30509 .39624 .26814 Metetra +.71 .721 .859 r +.39624 .26814 .42338 .30509 .4699 .28059 .44325 .24316 Metetra +.709 .722 .86 r +.44325 .24316 .4699 .28059 .51698 .25604 .49083 .21811 Metetra +.708 .722 .861 r +.49083 .21811 .51698 .25604 .56465 .23143 .539 .19298 Metetra +.707 .722 .861 r +.539 .19298 .56465 .23143 .61291 .20671 .58779 .16771 Metetra +.706 .722 .862 r +.58779 .16771 .61291 .20671 .66179 .18186 .63722 .14229 Metetra +.705 .721 .863 r +.63722 .14229 .66179 .18186 .71132 .15684 .6873 .11668 Metetra +.704 .721 .863 r +.6873 .11668 .71132 .15684 .76151 .13164 .73807 .09086 Metetra +.722 .718 .846 r +.05025 .40914 .08118 .44441 .12488 .41877 .09435 .38318 Metetra +.72 .719 .849 r +.09435 .38318 .12488 .41877 .16897 .39336 .13884 .35743 Metetra +.718 .72 .851 r +.13884 .35743 .16897 .39336 .21348 .36813 .18376 .33184 Metetra +.716 .72 .853 r +.18376 .33184 .21348 .36813 .25843 .34304 .22915 .30635 Metetra +.714 .72 .855 r +.22915 .30635 .25843 .34304 .30386 .31804 .27502 .28093 Metetra +.712 .721 .856 r +.27502 .28093 .30386 .31804 .34979 .29308 .32141 .25552 Metetra +.711 .721 .857 r +.32141 .25552 .34979 .29308 .39624 .26814 .36834 .2301 Metetra +.71 .721 .859 r +.36834 .2301 .39624 .26814 .44325 .24316 .41584 .20462 Metetra +.708 .721 .86 r +.41584 .20462 .44325 .24316 .49083 .21811 .46392 .17905 Metetra +.707 .721 .861 r +.46392 .17905 .49083 .21811 .539 .19298 .51262 .15336 Metetra +.706 .721 .861 r +.51262 .15336 .539 .19298 .58779 .16771 .56194 .12752 Metetra +.705 .721 .862 r +.56194 .12752 .58779 .16771 .63722 .14229 .61192 .1015 Metetra +.704 .721 .862 r +.61192 .1015 .63722 .14229 .6873 .11668 .66258 .07526 Metetra +.704 .721 .863 r +.66258 .07526 .6873 .11668 .73807 .09086 .71392 .0488 Metetra +.721 .718 .847 r +.01849 .37292 .05025 .40914 .09435 .38318 .06298 .34663 Metetra +.719 .719 .849 r +.06298 .34663 .09435 .38318 .13884 .35743 .10789 .32052 Metetra +.717 .719 .851 r +.10789 .32052 .13884 .35743 .18376 .33184 .15323 .29453 Metetra +.715 .72 .853 r +.15323 .29453 .18376 .33184 .22915 .30635 .19905 .26862 Metetra +.713 .72 .855 r +.19905 .26862 .22915 .30635 .27502 .28093 .24538 .24274 Metetra +.712 .72 .856 r +.24538 .24274 .27502 .28093 .32141 .25552 .29224 .21686 Metetra +.71 .72 .858 r +.29224 .21686 .32141 .25552 .36834 .2301 .33965 .19093 Metetra +.709 .721 .859 r +.33965 .19093 .36834 .2301 .41584 .20462 .38764 .16492 Metetra +.708 .721 .86 r +.38764 .16492 .41584 .20462 .46392 .17905 .43624 .1388 Metetra +.707 .721 .86 r +.43624 .1388 .46392 .17905 .51262 .15336 .48546 .11253 Metetra +.706 .721 .861 r +.48546 .11253 .51262 .15336 .56194 .12752 .53533 .08608 Metetra +.705 .721 .862 r +.53533 .08608 .56194 .12752 .61192 .1015 .58587 .05943 Metetra +.704 .721 .862 r +.58587 .05943 .61192 .1015 .66258 .07526 .63711 .03254 Metetra +.704 .72 .863 r +.63711 .03254 .66258 .07526 .71392 .0488 .68905 .00539 Metetra +0 g +.25 Mabswid +.68874 0 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.68874 0 m +.03716 .25514 L +s +.03716 .25514 m +.68874 0 L +s +.03716 .25514 m +.04196 .25962 L +s +[(0)] .02757 .24618 1 .93395 Mshowa +.1552 .20892 m +.15981 .21359 L +s +[(0.2)] .14598 .19958 .98733 1 Mshowa +.27893 .16047 m +.28333 .16533 L +s +[(0.4)] .27013 .15073 .90393 1 Mshowa +.40878 .10962 m +.41294 .11469 L +s +[(0.6)] .40046 .09948 .82054 1 Mshowa +.54521 .0562 m +.54911 .06148 L +s +[(0.8)] .53743 .04564 .73714 1 Mshowa +.68874 0 m +.69233 .00549 L +s +[(1)] .68156 -0.01098 .65374 1 Mshowa +.125 Mabswid +.06616 .24378 m +.06901 .2465 L +s +.09549 .2323 m +.09832 .23504 L +s +.12517 .22067 m +.12797 .22345 L +s +.18558 .19702 m +.18832 .19985 L +s +.21633 .18498 m +.21903 .18784 L +s +.24744 .1728 m +.25012 .17569 L +s +.3108 .14799 m +.31341 .15094 L +s +.34306 .13535 m +.34564 .13834 L +s +.37572 .12257 m +.37826 .12558 L +s +.44225 .09652 m +.44471 .09959 L +s +.47614 .08324 m +.47856 .08635 L +s +.51046 .06981 m +.51284 .07294 L +s +.58041 .04242 m +.5827 .04562 L +s +.61605 .02846 m +.6183 .03169 L +s +.65216 .01432 m +.65436 .01759 L +s +gsave +.29165 .07573 -70.3112 -16.5625 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(t) show +1.000 setlinewidth +grestore +% End of Graphics +MathPictureEnd + +%%PSTrailer +end +grestore + + +%%EndDocument + @endspecial 504 1038 a + currentpoint currentpoint translate 1 0.73828 div 1 0.73828 div scale +neg exch neg exch translate + 504 1038 a 556 1229 a FO(\(a\))41 +b(An)e(example)h(of)f(an)h(individual)e(\014gure)556 +1312 y(sub-caption.)2013 1038 y + currentpoint currentpoint translate 0.73828 0.73828 scale neg exch +neg exch translate + 2013 1038 a @beginspecial +91.562500 @llx 3.187500 @lly 321.937988 @urx 190 @ury +2303 @rwi @setspecial +%%BeginDocument: senu_gr2.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 91.5625 3.1875 321.938 190. +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 193.188 translate 1 -1 scale +gsave +150 dict begin +/Mfixwid true def +/Mrot 0 def +/Mpstart { + MathPictureStart +} bind def +/Mpend { + MathPictureEnd +} bind def +/Mscale { + 0 1 0 1 + 5 -1 roll + MathScale +} bind def +/Plain /Courier findfont def +/Bold /Courier-Bold findfont def +/Italic /Courier-Oblique findfont def +/MathPictureStart { + /Mimatrix + matrix currentmatrix + def + gsave + newpath + Mleft + Mbottom + translate + /Mtmatrix + matrix currentmatrix + def + Plain + Mfontsize scalefont + setfont + 0 setgray + 0 setlinewidth +} bind def +/MathPictureEnd { + grestore +} bind def +/MathSubStart { + Momatrix + Mgmatrix Mtmatrix + Mleft Mbottom + Mwidth Mheight + 9 -2 roll + moveto + Mtmatrix setmatrix + currentpoint + Mgmatrix setmatrix + 11 -2 roll + moveto + Mtmatrix setmatrix + currentpoint + 2 copy translate + /Mtmatrix matrix currentmatrix def + /Mleft 0 def + /Mbottom 0 def + 3 -1 roll + exch sub + /Mheight exch def + sub + /Mwidth exch def +} bind def +/MathSubEnd { + /Mheight exch def + /Mwidth exch def + /Mbottom exch def + /Mleft exch def + /Mtmatrix exch def + dup setmatrix + /Mgmatrix exch def + /Momatrix exch def +} bind def +/Mdot { + moveto + 0 0 rlineto + stroke +} bind def +/Mtetra { + moveto + lineto + lineto + lineto + fill +} bind def +/Metetra { + moveto + lineto + lineto + lineto + closepath + gsave + fill + grestore + 0 setgray + stroke +} bind def +/Mistroke { + flattenpath + 0 0 0 + { + 4 2 roll + pop pop + } + { + 4 -1 roll + 2 index + sub dup mul + 4 -1 roll + 2 index + sub dup mul + add sqrt + 4 -1 roll + add + 3 1 roll + } + { + stop + } + { + stop + } + pathforall + pop pop + currentpoint + stroke + moveto + currentdash + 3 -1 roll + add + setdash +} bind def +/Mfstroke { + stroke + currentdash + pop 0 + setdash +} bind def +/Mrotsboxa { + gsave + dup + /Mrot + exch def + Mrotcheck + Mtmatrix + dup + setmatrix + 7 1 roll + 4 index + 4 index + translate + rotate + 3 index + -1 mul + 3 index + -1 mul + translate + /Mtmatrix + matrix + currentmatrix + def + grestore + Msboxa + 3 -1 roll + /Mtmatrix + exch def + /Mrot + 0 def +} bind def +/Msboxa { + newpath + 5 -1 roll + Mvboxa + pop + Mboxout + 6 -1 roll + 5 -1 roll + 4 -1 roll + Msboxa1 + 5 -3 roll + Msboxa1 + Mboxrot + [ + 7 -2 roll + 2 copy + [ + 3 1 roll + 10 -1 roll + 9 -1 roll + ] + 6 1 roll + 5 -2 roll + ] +} bind def +/Msboxa1 { + sub + 2 div + dup + 2 index + 1 add + mul + 3 -1 roll + -1 add + 3 -1 roll + mul +} bind def +/Mvboxa { + Mfixwid + { + Mvboxa1 + } + { + dup + Mwidthcal + 0 exch + { + add + } + forall + exch + Mvboxa1 + 4 index + 7 -1 roll + add + 4 -1 roll + pop + 3 1 roll + } + ifelse +} bind def +/Mvboxa1 { + gsave + newpath + [ true + 3 -1 roll + { + Mbbox + 5 -1 roll + { + 0 + 5 1 roll + } + { + 7 -1 roll + exch sub + (m) stringwidth pop + .3 mul + sub + 7 1 roll + 6 -1 roll + 4 -1 roll + Mmin + 3 -1 roll + 5 index + add + 5 -1 roll + 4 -1 roll + Mmax + 4 -1 roll + } + ifelse + false + } + forall + { stop } if + counttomark + 1 add + 4 roll + ] + grestore +} bind def +/Mbbox { + 0 0 moveto + false charpath + flattenpath + pathbbox + newpath +} bind def +/Mmin { + 2 copy + gt + { exch } if + pop +} bind def +/Mmax { + 2 copy + lt + { exch } if + pop +} bind def +/Mrotshowa { + dup + /Mrot + exch def + Mrotcheck + Mtmatrix + dup + setmatrix + 7 1 roll + 4 index + 4 index + translate + rotate + 3 index + -1 mul + 3 index + -1 mul + translate + /Mtmatrix + matrix + currentmatrix + def + Mgmatrix setmatrix + Mshowa + /Mtmatrix + exch def + /Mrot 0 def +} bind def +/Mshowa { + 4 -2 roll + moveto + 2 index + Mtmatrix setmatrix + Mvboxa + 7 1 roll + Mboxout + 6 -1 roll + 5 -1 roll + 4 -1 roll + Mshowa1 + 4 1 roll + Mshowa1 + rmoveto + currentpoint + Mfixwid + { + Mshowax + } + { + Mshoway + } + ifelse + pop pop pop pop + Mgmatrix setmatrix +} bind def +/Mshowax { + 0 1 + 4 index length + -1 add + { + 2 index + 4 index + 2 index + get + 3 index + add + moveto + 4 index + exch get + show + } for +} bind def +/Mshoway { + 3 index + Mwidthcal + 5 1 roll + 0 1 + 4 index length + -1 add + { + 2 index + 4 index + 2 index + get + 3 index + add + moveto + 4 index + exch get + [ + 6 index + aload + length + 2 add + -1 roll + { + pop + Strform + stringwidth + pop + neg + exch + add + 0 rmoveto + } + exch + kshow + cleartomark + } for + pop +} bind def +/Mwidthcal { + [ + exch + { + Mwidthcal1 + } + forall + ] + [ + exch + dup + Maxlen + -1 add + 0 1 + 3 -1 roll + { + [ + exch + 2 index + { + 1 index + Mget + exch + } + forall + pop + Maxget + exch + } + for + pop + ] + Mreva +} bind def +/Mreva { + [ + exch + aload + length + -1 1 + {1 roll} + for + ] +} bind def +/Mget { + 1 index + length + -1 add + 1 index + ge + { + get + } + { + pop pop + 0 + } + ifelse +} bind def +/Maxlen { + [ + exch + { + length + } + forall + Maxget +} bind def +/Maxget { + counttomark + -1 add + 1 1 + 3 -1 roll + { + pop + Mmax + } + for + exch + pop +} bind def +/Mwidthcal1 { + [ + exch + { + Strform + stringwidth + pop + } + forall + ] +} bind def +/Strform { + /tem (x) def + tem 0 + 3 -1 roll + put + tem +} bind def +/Mshowa1 { + 2 copy + add + 4 1 roll + sub + mul + sub + -2 div +} bind def +/MathScale { + Mwidth + Mheight + Mlp + translate + scale + /yscale exch def + /ybias exch def + /xscale exch def + /xbias exch def + /Momatrix + xscale yscale matrix scale + xbias ybias matrix translate + matrix concatmatrix def + /Mgmatrix + matrix currentmatrix + def +} bind def +/Mlp { + 3 copy + Mlpfirst + { + Mnodistort + { + Mmin + dup + } if + 4 index + 2 index + 2 index + Mlprun + 11 index + 11 -1 roll + 10 -4 roll + Mlp1 + 8 index + 9 -5 roll + Mlp1 + 4 -1 roll + and + { exit } if + 3 -1 roll + pop pop + } loop + exch + 3 1 roll + 7 -3 roll + pop pop pop +} bind def +/Mlpfirst { + 3 -1 roll + dup length + 2 copy + -2 add + get + aload + pop pop pop + 4 -2 roll + -1 add + get + aload + pop pop pop + 6 -1 roll + 3 -1 roll + 5 -1 roll + sub + dup /MsaveAx exch def + div + 4 1 roll + exch sub + dup /MsaveAy exch def + div +} bind def +/Mlprun { + 2 copy + 4 index + 0 get + dup + 4 1 roll + Mlprun1 + 3 copy + 8 -2 roll + 9 -1 roll + { + 3 copy + Mlprun1 + 3 copy + 11 -3 roll + /gt Mlpminmax + 8 3 roll + 11 -3 roll + /lt Mlpminmax + 8 3 roll + } forall + pop pop pop pop + 3 1 roll + pop pop + aload pop + 5 -1 roll + aload pop + exch + 6 -1 roll + Mlprun2 + 8 2 roll + 4 -1 roll + Mlprun2 + 6 2 roll + 3 -1 roll + Mlprun2 + 4 2 roll + exch + Mlprun2 + 6 2 roll +} bind def +/Mlprun1 { + aload pop + exch + 6 -1 roll + 5 -1 roll + mul add + 4 -2 roll + mul + 3 -1 roll + add +} bind def +/Mlprun2 { + 2 copy + add 2 div + 3 1 roll + exch sub +} bind def +/Mlpminmax { + cvx + 2 index + 6 index + 2 index + exec + { + 7 -3 roll + 4 -1 roll + } if + 1 index + 5 index + 3 -1 roll + exec + { + 4 1 roll + pop + 5 -1 roll + aload + pop pop + 4 -1 roll + aload pop + [ + 8 -2 roll + pop + 5 -2 roll + pop + 6 -2 roll + pop + 5 -1 roll + ] + 4 1 roll + pop + } + { + pop pop pop + } ifelse +} bind def +/Mlp1 { + 5 index + 3 index sub + 5 index + 2 index mul + 1 index + le + 1 index + 0 le + or + dup + not + { + 1 index + 3 index div + .99999 mul + 8 -1 roll + pop + 7 1 roll + } + if + 8 -1 roll + 2 div + 7 -2 roll + pop sub + 5 index + 6 -3 roll + pop pop + mul sub + exch +} bind def +/intop 0 def +/inrht 0 def +/inflag 0 def +/outflag 0 def +/xadrht 0 def +/xadlft 0 def +/yadtop 0 def +/yadbot 0 def +/Minner { + outflag + 1 + eq + { + /outflag 0 def + /intop 0 def + /inrht 0 def + } if + 5 index + gsave + Mtmatrix setmatrix + Mvboxa pop + grestore + 3 -1 roll + pop + dup + intop + gt + { + /intop + exch def + } + { pop } + ifelse + dup + inrht + gt + { + /inrht + exch def + } + { pop } + ifelse + pop + /inflag + 1 def +} bind def +/Mouter { + /xadrht 0 def + /xadlft 0 def + /yadtop 0 def + /yadbot 0 def + inflag + 1 eq + { + dup + 0 lt + { + dup + intop + mul + neg + /yadtop + exch def + } if + dup + 0 gt + { + dup + intop + mul + /yadbot + exch def + } + if + pop + dup + 0 lt + { + dup + inrht + mul + neg + /xadrht + exch def + } if + dup + 0 gt + { + dup + inrht + mul + /xadlft + exch def + } if + pop + /outflag 1 def + } + { pop pop} + ifelse + /inflag 0 def + /inrht 0 def + /intop 0 def +} bind def +/Mboxout { + outflag + 1 + eq + { + 4 -1 + roll + xadlft + leadjust + add + sub + 4 1 roll + 3 -1 + roll + yadbot + leadjust + add + sub + 3 1 + roll + exch + xadrht + leadjust + add + add + exch + yadtop + leadjust + add + add + /outflag 0 def + /xadlft 0 def + /yadbot 0 def + /xadrht 0 def + /yadtop 0 def + } if +} bind def +/leadjust { + (m) stringwidth pop + .5 mul +} bind def +/Mrotcheck { + dup + 90 + eq + { + yadbot + /yadbot + xadrht + def + /xadrht + yadtop + def + /yadtop + xadlft + def + /xadlft + exch + def + } + if + dup + cos + 1 index + sin + Checkaux + dup + cos + 1 index + sin neg + exch + Checkaux + 3 1 roll + pop pop +} bind def +/Checkaux { + 4 index + exch + 4 index + mul + 3 1 roll + mul add + 4 1 roll +} bind def +/Mboxrot { + Mrot + 90 eq + { + brotaux + 4 2 + roll + } + if + Mrot + 180 eq + { + 4 2 + roll + brotaux + 4 2 + roll + brotaux + } + if + Mrot + 270 eq + { + 4 2 + roll + brotaux + } + if +} bind def +/brotaux { + neg + exch + neg +} bind def +/Mabsproc { + 0 + matrix defaultmatrix + dtransform idtransform + dup mul exch + dup mul + add sqrt +} bind def +/Mabswid { + Mabsproc + setlinewidth +} bind def +/Mabsdash { + exch + [ + exch + { + Mabsproc + } + forall + ] + exch + setdash +} bind def +/MBeginOrig { Momatrix concat} bind def +/MEndOrig { Mgmatrix setmatrix} bind def +/sampledsound where +{ pop} +{ /sampledsound { +exch +pop +exch +5 1 roll +mul +4 idiv +mul +2 idiv +exch pop +exch +/Mtempproc exch def +{ Mtempproc pop } +repeat +} bind def +} ifelse +% Here are the short operators +/g { setgray} bind def +/k { setcmykcolor} bind def +/m { moveto} bind def +/p { gsave} bind def +/r { setrgbcolor} bind def +/w { setlinewidth} bind def +/C { curveto} bind def +/F { fill} bind def +/L { lineto} bind def +/P { grestore} bind def +/s { stroke} bind def + +/MFill { + 0 0 moveto + Mwidth 0 lineto + Mwidth Mheight lineto + 0 Mheight lineto + fill +} bind def + +/MPlotRegion { + 3 index + Mwidth mul + 2 index + Mheight mul + translate + exch sub + Mheight mul + /Mheight + exch def + exch sub + Mwidth mul + /Mwidth + exch def +} bind def + +/Mcharproc +{ + currentfile + (x) + readhexstring + pop + 0 get + exch + div +} bind def + +/Mshadeproc +{ + dup + 3 1 + roll + { + dup + Mcharproc + 3 1 + roll + } repeat + 1 eq + { + setgray + } + { + 3 eq + { + setrgbcolor + } + { + setcmykcolor + } ifelse + } ifelse +} bind def + +/Mrectproc +{ + 3 index + 2 index + moveto + 2 index + 3 -1 + roll + lineto + dup + 3 1 + roll + lineto + lineto + fill +} bind def + +/_Mcolorimage +{ + 7 1 + roll + pop + pop + matrix + invertmatrix + concat + 2 exch exp + 1 sub + 3 1 roll + 1 1 + 2 index + { + 1 1 + 4 index + { + dup + 1 sub + exch + 2 index + dup + 1 sub + exch + 7 index + 9 index + Mshadeproc + Mrectproc + } for + pop + } for + pop pop pop pop +} bind def + +/_Mimage +{ + pop + matrix + invertmatrix + concat + 2 exch exp + 1 sub + 3 1 roll + 1 1 + 2 index + { + 1 1 + 4 index + { + dup + 1 sub + exch + 2 index + dup + 1 sub + exch + 7 index + Mcharproc + setgray + Mrectproc + } for + pop + } for + pop pop pop +} bind def + +/Mimage { + 4 index + 4 index + mul 1600 gt + { image } + { _Mimage } + ifelse +} def + +/Mcolorimage { + 6 index + 6 index + mul 1600 gt + { colorimage } + { _Mcolorimage } + ifelse +} def +/Mnodistort true def +1.000000 1.000000 scale +91.562500 190.000000 translate +1.000000 -1.000000 scale +0.000000 0.000000 translate +/Mleft 0.000000 def +/Mbottom 0.000000 def +/Mwidth 230.375000 def +/Mheight 186.812500 def +0 setgray +0 setlinewidth +/Courier findfont 12 scalefont setfont +/Mfontsize 12 def +/Plain /Courier findfont def + +%! +%%Creator: Mathematica +%%AspectRatio: .81114 +MathPictureStart +/Mabs { +Mgmatrix idtransform +Mtmatrix dtransform +} bind def +/Mabsadd { Mabs +3 -1 roll add +3 1 roll add +exch } bind def +%% SurfaceGraphics +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10 scalefont setfont +% Scaling calculations +5.55112e-017 1.04977 -0.0679587 1.04977 [ +[.02757 .24618 -6 -8.70276 ] +[.02757 .24618 0 .29724 ] +[.14598 .19958 -17.886 -9 ] +[.14598 .19958 .11404 0 ] +[.27013 .15073 -17.1354 -9 ] +[.27013 .15073 .86461 0 ] +[.40046 .09948 -16.3848 -9 ] +[.40046 .09948 1.61518 0 ] +[.53743 .04564 -15.6343 -9 ] +[.53743 .04564 2.36575 0 ] +[.68156 -0.01098 -4.96123 -9 ] +[.68156 -0.01098 1.03877 0 ] +[.29165 .07573 -9.31117 -12.5625 ] +[.29165 .07573 .68883 0 ] +[.70096 -0.00478 0 -6.26206 ] +[.70096 -0.00478 6 2.73794 ] +[.76745 .09703 0 -6.16187 ] +[.76745 .09703 18 2.83813 ] +[.82812 .18993 0 -6.07246 ] +[.82812 .18993 18 2.92754 ] +[.88369 .27502 0 -5.99218 ] +[.88369 .27502 18 3.00782 ] +[.93478 .35327 0 -5.9197 ] +[.93478 .35327 18 3.0803 ] +[.98191 .42546 0 -5.85393 ] +[.98191 .42546 6 3.14607 ] +[.91861 .21225 0 -8.41865 ] +[.91861 .21225 10 4.14385 ] +[.02102 .28449 -30 -2.75869 ] +[.02102 .28449 0 6.24131 ] +[.01238 .33864 -30 -2.80453 ] +[.01238 .33864 0 6.19547 ] +[.00343 .39471 -30 -2.85216 ] +[.00343 .39471 0 6.14784 ] +[-0.00583 .45281 -30 -2.90171 ] +[-0.00583 .45281 0 6.09829 ] +[ 0 0 0 0 ] +[ 1 .81114 0 0 ] +] MathScale +% Start of Graphics +1 setlinecap +1 setlinejoin +newpath +0 g +.25 Mabswid +[ ] 0 setdash +.03716 .25514 m +.68874 0 L +s +.03716 .25514 m +.04196 .25962 L +s +[(0)] .02757 .24618 1 .93395 Mshowa +.1552 .20892 m +.15981 .21359 L +s +[(0.2)] .14598 .19958 .98733 1 Mshowa +.27893 .16047 m +.28333 .16533 L +s +[(0.4)] .27013 .15073 .90393 1 Mshowa +.40878 .10962 m +.41294 .11469 L +s +[(0.6)] .40046 .09948 .82054 1 Mshowa +.54521 .0562 m +.54911 .06148 L +s +[(0.8)] .53743 .04564 .73714 1 Mshowa +.68874 0 m +.69233 .00549 L +s +[(1)] .68156 -0.01098 .65374 1 Mshowa +.125 Mabswid +.06616 .24378 m +.06901 .2465 L +s +.09549 .2323 m +.09832 .23504 L +s +.12517 .22067 m +.12797 .22345 L +s +.18558 .19702 m +.18832 .19985 L +s +.21633 .18498 m +.21903 .18784 L +s +.24744 .1728 m +.25012 .17569 L +s +.3108 .14799 m +.31341 .15094 L +s +.34306 .13535 m +.34564 .13834 L +s +.37572 .12257 m +.37826 .12558 L +s +.44225 .09652 m +.44471 .09959 L +s +.47614 .08324 m +.47856 .08635 L +s +.51046 .06981 m +.51284 .07294 L +s +.58041 .04242 m +.5827 .04562 L +s +.61605 .02846 m +.6183 .03169 L +s +.65216 .01432 m +.65436 .01759 L +s +gsave +.29165 .07573 -70.3112 -16.5625 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(t) show +1.000 setlinewidth +grestore +.25 Mabswid +.68874 0 m +.96935 .42924 L +s +.68874 0 m +.68263 .00239 L +s +[(0)] .70096 -0.00478 -1 .39157 Mshowa +.75514 .10158 m +.74899 .10385 L +s +[(0.2)] .76745 .09703 -1 .3693 Mshowa +.81573 .19425 m +.80953 .19642 L +s +[(0.4)] .82812 .18993 -1 .34944 Mshowa +.87123 .27915 m +.865 .28122 L +s +[(0.6)] .88369 .27502 -1 .3316 Mshowa +.92227 .35722 m +.91601 .35919 L +s +[(0.8)] .93478 .35327 -1 .31549 Mshowa +.96935 .42924 m +.96306 .43113 L +s +[(1)] .98191 .42546 -1 .30087 Mshowa +.125 Mabswid +.70593 .0263 m +.70226 .02771 L +s +.72272 .05198 m +.71904 .05338 L +s +.73912 .07706 m +.73543 .07845 L +s +.7708 .12553 m +.7671 .12688 L +s +.78611 .14895 m +.78241 .15028 L +s +.80108 .17185 m +.79737 .17317 L +s +.83006 .21617 m +.82633 .21745 L +s +.84407 .23761 m +.84035 .23888 L +s +.8578 .2586 m +.85407 .25986 L +s +.88439 .29928 m +.88065 .3005 L +s +.89727 .31899 m +.89353 .3202 L +s +.9099 .3383 m +.90615 .3395 L +s +.93439 .37576 m +.93063 .37693 L +s +.94627 .39394 m +.94251 .3951 L +s +.95792 .41176 m +.95416 .41291 L +s +gsave +.91861 .21225 -61 -12.4187 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(x) show +1.000 setlinewidth +grestore +.25 Mabswid +.03716 .25514 m +0 .48963 L +s +.03326 .27976 m +.03938 .27739 L +s +[(-0.08)] .02102 .28449 1 -0.38696 Mshowa +.02466 .33401 m +.0308 .3317 L +s +[(-0.06)] .01238 .33864 1 -0.37677 Mshowa +.01576 .3902 m +.02192 .38794 L +s +[(-0.04)] .00343 .39471 1 -0.36619 Mshowa +.00653 .44842 m +.01271 .44622 L +s +[(-0.02)] -0.00583 .45281 1 -0.35518 Mshowa +.125 Mabswid +.03114 .29315 m +.03481 .29173 L +s +.029 .30665 m +.03267 .30525 L +s +.02684 .32027 m +.03052 .31888 L +s +.02246 .34787 m +.02615 .34649 L +s +.02025 .36186 m +.02394 .36049 L +s +.01801 .37597 m +.02171 .3746 L +s +.01348 .40456 m +.01718 .40321 L +s +.01119 .41905 m +.01489 .41771 L +s +.00887 .43367 m +.01257 .43234 L +s +.03536 .26649 m +.03903 .26506 L +s +.00417 .46331 m +.00788 .462 L +s +.00179 .47833 m +.00551 .47703 L +s +.25 Mabswid +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.39787 .81114 L +s +.39787 .81114 m +.40529 .59895 L +s +.40529 .59895 m +.03716 .25514 L +s +.68874 0 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.68874 0 m +.03716 .25514 L +s +.40529 .59895 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.39787 .81114 L +s +.39787 .81114 m +.40529 .59895 L +s +0 0 m +1 0 L +1 .81114 L +0 .81114 L +closepath +clip +newpath +.5 Mabswid +.166 .632 .932 r +.38272 .59295 .40512 .60371 .44146 .61018 .41938 .59865 Metetra +.248 .673 .962 r +.41938 .59865 .44146 .61018 .47871 .61513 .45697 .60287 Metetra +.313 .702 .979 r +.45697 .60287 .47871 .61513 .51683 .61871 .49545 .60575 Metetra +.365 .721 .988 r +.49545 .60575 .51683 .61871 .55582 .62102 .53481 .60739 Metetra +.406 .735 .992 r +.53481 .60739 .55582 .62102 .59566 .62218 .57503 .60791 Metetra +.44 .745 .992 r +.57503 .60791 .59566 .62218 .63634 .62227 .61611 .60738 Metetra +.467 .752 .991 r +.61611 .60738 .63634 .62227 .67785 .62138 .65805 .6059 Metetra +.489 .757 .99 r +.65805 .6059 .67785 .62138 .72019 .61959 .70082 .60352 Metetra +.507 .76 .987 r +.70082 .60352 .72019 .61959 .76335 .61696 .74445 .60031 Metetra +.522 .763 .984 r +.74445 .60031 .76335 .61696 .80734 .61354 .78892 .59633 Metetra +.536 .765 .982 r +.78892 .59633 .80734 .61354 .85217 .60938 .83425 .59163 Metetra +.547 .766 .979 r +.83425 .59163 .85217 .60938 .89784 .60454 .88044 .58624 Metetra +.556 .767 .976 r +.88044 .58624 .89784 .60454 .94435 .59904 .92749 .5802 Metetra +.565 .768 .974 r +.92749 .5802 .94435 .59904 .99172 .59293 .97543 .57355 Metetra +.201 .651 .946 r +.35962 .58164 .38272 .59295 .41938 .59865 .39662 .58656 Metetra +.276 .687 .97 r +.39662 .58656 .41938 .59865 .45697 .60287 .43455 .59005 Metetra +.336 .712 .984 r +.43455 .59005 .45697 .60287 .49545 .60575 .47339 .59222 Metetra +.383 .729 .99 r +.47339 .59222 .49545 .60575 .53481 .60739 .51313 .59318 Metetra +.421 .74 .992 r +.51313 .59318 .53481 .60739 .57503 .60791 .55375 .59305 Metetra +.452 .749 .992 r +.55375 .59305 .57503 .60791 .61611 .60738 .59525 .59189 Metetra +.477 .755 .991 r +.59525 .59189 .61611 .60738 .65805 .6059 .63761 .58979 Metetra +.497 .759 .989 r +.63761 .58979 .65805 .6059 .70082 .60352 .68084 .58682 Metetra +.514 .762 .986 r +.68084 .58682 .70082 .60352 .74445 .60031 .72494 .58303 Metetra +.529 .764 .983 r +.72494 .58303 .74445 .60031 .78892 .59633 .7699 .57848 Metetra +.541 .766 .981 r +.7699 .57848 .78892 .59633 .83425 .59163 .81574 .5732 Metetra +.551 .767 .978 r +.81574 .5732 .83425 .59163 .88044 .58624 .86246 .56725 Metetra +.56 .768 .975 r +.86246 .56725 .88044 .58624 .92749 .5802 .91008 .56066 Metetra +.568 .769 .973 r +.91008 .56066 .92749 .5802 .97543 .57355 .95859 .55346 Metetra +.234 .668 .957 r +.33579 .56975 .35962 .58164 .39662 .58656 .37313 .57389 Metetra +.303 .699 .977 r +.37313 .57389 .39662 .58656 .43455 .59005 .41142 .57663 Metetra +.357 .72 .987 r +.41142 .57663 .43455 .59005 .47339 .59222 .45063 .57808 Metetra +.401 .735 .992 r +.45063 .57808 .47339 .59222 .51313 .59318 .49076 .57837 Metetra +.435 .745 .993 r +.49076 .57837 .51313 .59318 .55375 .59305 .53179 .57757 Metetra +.464 .752 .992 r +.53179 .57757 .55375 .59305 .59525 .59189 .57371 .57577 Metetra +.487 .757 .99 r +.57371 .57577 .59525 .59189 .63761 .58979 .61651 .57305 Metetra +.506 .761 .988 r +.61651 .57305 .63761 .58979 .68084 .58682 .66021 .56946 Metetra +.521 .764 .985 r +.66021 .56946 .68084 .58682 .72494 .58303 .70479 .56507 Metetra +.535 .766 .982 r +.70479 .56507 .72494 .58303 .7699 .57848 .75026 .55993 Metetra +.546 .767 .98 r +.75026 .55993 .7699 .57848 .81574 .5732 .79662 .55407 Metetra +.556 .768 .977 r +.79662 .55407 .81574 .5732 .86246 .56725 .84389 .54755 Metetra +.565 .769 .974 r +.84389 .54755 .86246 .56725 .91008 .56066 .89207 .54038 Metetra +.572 .77 .972 r +.89207 .54038 .91008 .56066 .95859 .55346 .94118 .53261 Metetra +.265 .683 .967 r +.31121 .55726 .33579 .56975 .37313 .57389 .34889 .56061 Metetra +.328 .71 .982 r +.34889 .56061 .37313 .57389 .41142 .57663 .38754 .56259 Metetra +.377 .728 .99 r +.38754 .56259 .41142 .57663 .45063 .57808 .42714 .56332 Metetra +.417 .741 .993 r +.42714 .56332 .45063 .57808 .49076 .57837 .46767 .56291 Metetra +.449 .749 .993 r +.46767 .56291 .49076 .57837 .53179 .57757 .50911 .56143 Metetra +.475 .756 .992 r +.50911 .56143 .53179 .57757 .57371 .57577 .55147 .55898 Metetra +.496 .76 .989 r +.55147 .55898 .57371 .57577 .61651 .57305 .59473 .55562 Metetra +.513 .763 .987 r +.59473 .55562 .61651 .57305 .66021 .56946 .63889 .55141 Metetra +.528 .765 .984 r +.63889 .55141 .66021 .56946 .70479 .56507 .68397 .54641 Metetra +.541 .767 .981 r +.68397 .54641 .70479 .56507 .75026 .55993 .72995 .54066 Metetra +.551 .768 .978 r +.72995 .54066 .75026 .55993 .79662 .55407 .77686 .5342 Metetra +.561 .769 .976 r +.77686 .5342 .79662 .55407 .84389 .54755 .82469 .52708 Metetra +.569 .77 .973 r +.82469 .52708 .84389 .54755 .89207 .54038 .87346 .51932 Metetra +.575 .77 .971 r +.87346 .51932 .89207 .54038 .94118 .53261 .92318 .51095 Metetra +.294 .697 .974 r +.28583 .54413 .31121 .55726 .34889 .56061 .32387 .54668 Metetra +.351 .72 .986 r +.32387 .54668 .34889 .56061 .38754 .56259 .3629 .5479 Metetra +.396 .735 .991 r +.3629 .5479 .38754 .56259 .42714 .56332 .40288 .5479 Metetra +.432 .746 .993 r +.40288 .5479 .42714 .56332 .46767 .56291 .44382 .54677 Metetra +.461 .753 .993 r +.44382 .54677 .46767 .56291 .50911 .56143 .48569 .54462 Metetra +.485 .758 .991 r +.48569 .54462 .50911 .56143 .55147 .55898 .52849 .54149 Metetra +.505 .762 .988 r +.52849 .54149 .55147 .55898 .59473 .55562 .57222 .53748 Metetra +.521 .765 .986 r +.57222 .53748 .59473 .55562 .63889 .55141 .61687 .53263 Metetra +.535 .767 .983 r +.61687 .53263 .63889 .55141 .68397 .54641 .66245 .527 Metetra +.546 .768 .98 r +.66245 .527 .68397 .54641 .72995 .54066 .70896 .52062 Metetra +.556 .769 .977 r +.70896 .52062 .72995 .54066 .77686 .5342 .75642 .51355 Metetra +.565 .77 .975 r +.75642 .51355 .77686 .5342 .82469 .52708 .80483 .50581 Metetra +.572 .77 .972 r +.80483 .50581 .82469 .52708 .87346 .51932 .8542 .49744 Metetra +.579 .771 .97 r +.8542 .49744 .87346 .51932 .92318 .51095 .90454 .48845 Metetra +.321 .709 .981 r +.25963 .53034 .28583 .54413 .32387 .54668 .29804 .53208 Metetra +.372 .728 .989 r +.29804 .53208 .32387 .54668 .3629 .5479 .33744 .53253 Metetra +.414 .741 .993 r +.33744 .53253 .3629 .5479 .40288 .5479 .37783 .53178 Metetra +.447 .75 .993 r +.37783 .53178 .40288 .5479 .44382 .54677 .41918 .52994 Metetra +.473 .756 .992 r +.41918 .52994 .44382 .54677 .48569 .54462 .46149 .52708 Metetra +.495 .761 .99 r +.46149 .52708 .48569 .54462 .52849 .54149 .50474 .52327 Metetra +.513 .764 .987 r +.50474 .52327 .52849 .54149 .57222 .53748 .54895 .51859 Metetra +.528 .766 .984 r +.54895 .51859 .57222 .53748 .61687 .53263 .5941 .51308 Metetra +.541 .768 .982 r +.5941 .51308 .61687 .53263 .66245 .527 .6402 .5068 Metetra +.552 .769 .979 r +.6402 .5068 .66245 .527 .70896 .52062 .68725 .49979 Metetra +.561 .77 .976 r +.68725 .49979 .70896 .52062 .75642 .51355 .73528 .49207 Metetra +.569 .77 .974 r +.73528 .49207 .75642 .51355 .80483 .50581 .78427 .4837 Metetra +.576 .771 .971 r +.78427 .4837 .80483 .50581 .8542 .49744 .83426 .47469 Metetra +.582 .771 .969 r +.83426 .47469 .8542 .49744 .90454 .48845 .88525 .46507 Metetra +.346 .719 .985 r +.23256 .51585 .25963 .53034 .29804 .53208 .27135 .51677 Metetra +.393 .735 .991 r +.27135 .51677 .29804 .53208 .33744 .53253 .31115 .51643 Metetra +.43 .747 .993 r +.31115 .51643 .33744 .53253 .37783 .53178 .35194 .51493 Metetra +.46 .754 .993 r +.35194 .51493 .37783 .53178 .41918 .52994 .39372 .51235 Metetra +.484 .759 .991 r +.39372 .51235 .41918 .52994 .46149 .52708 .43648 .50878 Metetra +.504 .763 .989 r +.43648 .50878 .46149 .52708 .50474 .52327 .4802 .50428 Metetra +.521 .766 .986 r +.4802 .50428 .50474 .52327 .54895 .51859 .52489 .49891 Metetra +.535 .768 .983 r +.52489 .49891 .54895 .51859 .5941 .51308 .57055 .49273 Metetra +.547 .769 .98 r +.57055 .49273 .5941 .51308 .6402 .5068 .61718 .48578 Metetra +.557 .77 .977 r +.61718 .48578 .6402 .5068 .68725 .49979 .66479 .4781 Metetra +.566 .771 .975 r +.66479 .4781 .68725 .49979 .73528 .49207 .71339 .46973 Metetra +.573 .771 .972 r +.71339 .46973 .73528 .49207 .78427 .4837 .763 .4607 Metetra +.58 .771 .97 r +.763 .4607 .78427 .4837 .83426 .47469 .81361 .45102 Metetra +.586 .771 .968 r +.81361 .45102 .83426 .47469 .88525 .46507 .86526 .44074 Metetra +.369 .728 .989 r +.2046 .50062 .23256 .51585 .27135 .51677 .24377 .50072 Metetra +.411 .742 .993 r +.24377 .50072 .27135 .51677 .31115 .51643 .28397 .49959 Metetra +.445 .751 .994 r +.28397 .49959 .31115 .51643 .35194 .51493 .32518 .49732 Metetra +.473 .758 .992 r +.32518 .49732 .35194 .51493 .39372 .51235 .3674 .49399 Metetra +.495 .762 .99 r +.3674 .49399 .39372 .51235 .43648 .50878 .41061 .48969 Metetra +.513 .765 .988 r +.41061 .48969 .43648 .50878 .4802 .50428 .45481 .48447 Metetra +.529 .767 .985 r +.45481 .48447 .4802 .50428 .52489 .49891 .5 .4784 Metetra +.542 .769 .982 r +.5 .4784 .52489 .49891 .57055 .49273 .54618 .47152 Metetra +.553 .77 .979 r +.54618 .47152 .57055 .49273 .61718 .48578 .59335 .46389 Metetra +.562 .771 .976 r +.59335 .46389 .61718 .48578 .66479 .4781 .64153 .45552 Metetra +.57 .771 .974 r +.64153 .45552 .66479 .4781 .71339 .46973 .69073 .44647 Metetra +.577 .772 .971 r +.69073 .44647 .71339 .46973 .763 .4607 .74095 .43675 Metetra +.583 .772 .969 r +.74095 .43675 .763 .4607 .81361 .45102 .79222 .42639 Metetra +.589 .772 .967 r +.79222 .42639 .81361 .45102 .86526 .44074 .84454 .41542 Metetra +.391 .736 .991 r +.1757 .48463 .2046 .50062 .24377 .50072 .21526 .4839 Metetra +.429 .748 .994 r +.21526 .4839 .24377 .50072 .28397 .49959 .25587 .48195 Metetra +.46 .755 .993 r +.25587 .48195 .28397 .49959 .32518 .49732 .29751 .4789 Metetra +.484 .761 .992 r +.29751 .4789 .32518 .49732 .3674 .49399 .34017 .47481 Metetra +.505 .764 .989 r +.34017 .47481 .3674 .49399 .41061 .48969 .38385 .46976 Metetra +.522 .767 .986 r +.38385 .46976 .41061 .48969 .45481 .48447 .42854 .46381 Metetra +.536 .769 .983 r +.42854 .46381 .45481 .48447 .5 .4784 .47423 .45701 Metetra +.548 .77 .98 r +.47423 .45701 .5 .4784 .54618 .47152 .52095 .44942 Metetra +.558 .771 .977 r +.52095 .44942 .54618 .47152 .59335 .46389 .56868 .44107 Metetra +.567 .771 .975 r +.56868 .44107 .59335 .46389 .64153 .45552 .61745 .432 Metetra +.574 .772 .972 r +.61745 .432 .64153 .45552 .69073 .44647 .66725 .42224 Metetra +.581 .772 .97 r +.66725 .42224 .69073 .44647 .74095 .43675 .71811 .41181 Metetra +.587 .772 .968 r +.71811 .41181 .74095 .43675 .79222 .42639 .77004 .40074 Metetra +.592 .772 .966 r +.77004 .40074 .79222 .42639 .84454 .41542 .82306 .38904 Metetra +.411 .743 .993 r +.14581 .46784 .1757 .48463 .21526 .4839 .18578 .46625 Metetra +.445 .752 .994 r +.18578 .46625 .21526 .4839 .25587 .48195 .2268 .46348 Metetra +.473 .759 .993 r +.2268 .46348 .25587 .48195 .29751 .4789 .26888 .45963 Metetra +.496 .763 .991 r +.26888 .45963 .29751 .4789 .34017 .47481 .312 .45476 Metetra +.514 .766 .988 r +.312 .45476 .34017 .47481 .38385 .46976 .35615 .44894 Metetra +.53 .768 .985 r +.35615 .44894 .38385 .46976 .42854 .46381 .40134 .44224 Metetra +.543 .77 .982 r +.40134 .44224 .42854 .46381 .47423 .45701 .44756 .4347 Metetra +.554 .771 .979 r +.44756 .4347 .47423 .45701 .52095 .44942 .49482 .42637 Metetra +.563 .771 .976 r +.49482 .42637 .52095 .44942 .56868 .44107 .54312 .41729 Metetra +.571 .772 .973 r +.54312 .41729 .56868 .44107 .61745 .432 .59249 .40749 Metetra +.579 .772 .971 r +.59249 .40749 .61745 .432 .66725 .42224 .64291 .39699 Metetra +.585 .772 .969 r +.64291 .39699 .66725 .42224 .71811 .41181 .69443 .38582 Metetra +.59 .772 .966 r +.69443 .38582 .71811 .41181 .77004 .40074 .74704 .37401 Metetra +.595 .772 .964 r +.74704 .37401 .77004 .40074 .82306 .38904 .80077 .36156 Metetra +.429 .749 .994 r +.1149 .45019 .14581 .46784 .18578 .46625 .15527 .44774 Metetra +.46 .757 .994 r +.15527 .44774 .18578 .46625 .2268 .46348 .19673 .44413 Metetra +.485 .762 .992 r +.19673 .44413 .2268 .46348 .26888 .45963 .23925 .43946 Metetra +.506 .766 .989 r +.23925 .43946 .26888 .45963 .312 .45476 .28284 .4338 Metetra +.523 .768 .986 r +.28284 .4338 .312 .45476 .35615 .44894 .32748 .4272 Metetra +.537 .77 .983 r +.32748 .4272 .35615 .44894 .40134 .44224 .37317 .41972 Metetra +.549 .771 .98 r +.37317 .41972 .40134 .44224 .44756 .4347 .41993 .41142 Metetra +.56 .772 .977 r +.41993 .41142 .44756 .4347 .49482 .42637 .46775 .40233 Metetra +.568 .772 .975 r +.46775 .40233 .49482 .42637 .54312 .41729 .51663 .39248 Metetra +.576 .772 .972 r +.51663 .39248 .54312 .41729 .59249 .40749 .56661 .38192 Metetra +.583 .772 .97 r +.56661 .38192 .59249 .40749 .64291 .39699 .61767 .37066 Metetra +.588 .772 .967 r +.61767 .37066 .64291 .39699 .69443 .38582 .66985 .35872 Metetra +.593 .772 .965 r +.66985 .35872 .69443 .38582 .74704 .37401 .72317 .34613 Metetra +.598 .772 .963 r +.72317 .34613 .74704 .37401 .80077 .36156 .77763 .33289 Metetra +.446 .754 .994 r +.08292 .43165 .1149 .45019 .15527 .44774 .1237 .42832 Metetra +.474 .76 .993 r +.1237 .42832 .15527 .44774 .19673 .44413 .16559 .42386 Metetra +.497 .765 .991 r +.16559 .42386 .19673 .44413 .23925 .43946 .20857 .41836 Metetra +.516 .767 .988 r +.20857 .41836 .23925 .43946 .28284 .4338 .25263 .41187 Metetra +.531 .769 .985 r +.25263 .41187 .28284 .4338 .32748 .4272 .29777 .40447 Metetra +.544 .771 .982 r +.29777 .40447 .32748 .4272 .37317 .41972 .34399 .3962 Metetra +.556 .772 .979 r +.34399 .3962 .37317 .41972 .41993 .41142 .39129 .3871 Metetra +.565 .772 .976 r +.39129 .3871 .41993 .41142 .46775 .40233 .43968 .37722 Metetra +.573 .772 .973 r +.43968 .37722 .46775 .40233 .51663 .39248 .48916 .36659 Metetra +.58 .773 .971 r +.48916 .36659 .51663 .39248 .56661 .38192 .53976 .35524 Metetra +.586 .773 .968 r +.53976 .35524 .56661 .38192 .61767 .37066 .59148 .34318 Metetra +.592 .773 .966 r +.59148 .34318 .61767 .37066 .66985 .35872 .64435 .33044 Metetra +.597 .773 .964 r +.64435 .33044 .66985 .35872 .72317 .34613 .69838 .31704 Metetra +.601 .772 .962 r +.69838 .31704 .72317 .34613 .77763 .33289 .75359 .30298 Metetra +.462 .758 .994 r +.04981 .41218 .08292 .43165 .1237 .42832 .09102 .40795 Metetra +.487 .763 .992 r +.09102 .40795 .1237 .42832 .16559 .42386 .13335 .40262 Metetra +.508 .767 .989 r +.13335 .40262 .16559 .42386 .20857 .41836 .17679 .39627 Metetra +.525 .769 .986 r +.17679 .39627 .20857 .41836 .25263 .41187 .22134 .38894 Metetra +.539 .771 .983 r +.22134 .38894 .25263 .41187 .29777 .40447 .26699 .38071 Metetra +.551 .772 .98 r +.26699 .38071 .29777 .40447 .34399 .3962 .31374 .37162 Metetra +.561 .772 .977 r +.31374 .37162 .34399 .3962 .39129 .3871 .36159 .3617 Metetra +.57 .773 .974 r +.36159 .3617 .39129 .3871 .43968 .37722 .41056 .35101 Metetra +.578 .773 .972 r +.41056 .35101 .43968 .37722 .48916 .36659 .46066 .33956 Metetra +.584 .773 .969 r +.46066 .33956 .48916 .36659 .53976 .35524 .5119 .32738 Metetra +.59 .773 .967 r +.5119 .32738 .53976 .35524 .59148 .34318 .56429 .31449 Metetra +.595 .773 .965 r +.56429 .31449 .59148 .34318 .64435 .33044 .61786 .30092 Metetra +.6 .773 .963 r +.61786 .30092 .64435 .33044 .69838 .31704 .67262 .28667 Metetra +.604 .772 .961 r +.67262 .28667 .69838 .31704 .75359 .30298 .7286 .27174 Metetra +.477 .762 .993 r +.01552 .39172 .04981 .41218 .09102 .40795 .05716 .38658 Metetra +.499 .766 .991 r +.05716 .38658 .09102 .40795 .13335 .40262 .09995 .38036 Metetra +.518 .769 .988 r +.09995 .38036 .13335 .40262 .17679 .39627 .14386 .37313 Metetra +.534 .77 .985 r +.14386 .37313 .17679 .39627 .22134 .38894 .1889 .36494 Metetra +.547 .772 .981 r +.1889 .36494 .22134 .38894 .26699 .38071 .23507 .35585 Metetra +.558 .772 .978 r +.23507 .35585 .26699 .38071 .31374 .37162 .28236 .34591 Metetra +.567 .773 .975 r +.28236 .34591 .31374 .37162 .36159 .3617 .33078 .33515 Metetra +.575 .773 .973 r +.33078 .33515 .36159 .3617 .41056 .35101 .38035 .32361 Metetra +.582 .773 .97 r +.38035 .32361 .41056 .35101 .46066 .33956 .43107 .31131 Metetra +.588 .773 .968 r +.43107 .31131 .46066 .33956 .5119 .32738 .48296 .29828 Metetra +.594 .773 .965 r +.48296 .29828 .5119 .32738 .56429 .31449 .53604 .28453 Metetra +.599 .773 .963 r +.53604 .28453 .56429 .31449 .61786 .30092 .59033 .27007 Metetra +.603 .773 .961 r +.59033 .27007 .61786 .30092 .67262 .28667 .64585 .25493 Metetra +.607 .772 .959 r +.64585 .25493 .67262 .28667 .7286 .27174 .70262 .2391 Metetra +0 g +.25 Mabswid +.68874 0 m +.96935 .42924 L +s +.96935 .42924 m +1 .6535 L +s +1 .6535 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.03716 .25514 m +0 .48963 L +s +0 .48963 m +.70298 .24544 L +s +.70298 .24544 m +.68874 0 L +s +.68874 0 m +.03716 .25514 L +s +.03716 .25514 m +.68874 0 L +s +.03716 .25514 m +.04196 .25962 L +s +[(0)] .02757 .24618 1 .93395 Mshowa +.1552 .20892 m +.15981 .21359 L +s +[(0.2)] .14598 .19958 .98733 1 Mshowa +.27893 .16047 m +.28333 .16533 L +s +[(0.4)] .27013 .15073 .90393 1 Mshowa +.40878 .10962 m +.41294 .11469 L +s +[(0.6)] .40046 .09948 .82054 1 Mshowa +.54521 .0562 m +.54911 .06148 L +s +[(0.8)] .53743 .04564 .73714 1 Mshowa +.68874 0 m +.69233 .00549 L +s +[(1)] .68156 -0.01098 .65374 1 Mshowa +.125 Mabswid +.06616 .24378 m +.06901 .2465 L +s +.09549 .2323 m +.09832 .23504 L +s +.12517 .22067 m +.12797 .22345 L +s +.18558 .19702 m +.18832 .19985 L +s +.21633 .18498 m +.21903 .18784 L +s +.24744 .1728 m +.25012 .17569 L +s +.3108 .14799 m +.31341 .15094 L +s +.34306 .13535 m +.34564 .13834 L +s +.37572 .12257 m +.37826 .12558 L +s +.44225 .09652 m +.44471 .09959 L +s +.47614 .08324 m +.47856 .08635 L +s +.51046 .06981 m +.51284 .07294 L +s +.58041 .04242 m +.5827 .04562 L +s +.61605 .02846 m +.6183 .03169 L +s +.65216 .01432 m +.65436 .01759 L +s +gsave +.29165 .07573 -70.3112 -16.5625 Mabsadd m +1 1 Mabs scale +currentpoint translate +/MISOfy +{ + /newfontname exch def + /oldfontname exch def + + oldfontname findfont + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding ISOLatin1Encoding def + currentdict + end + + newfontname exch definefont pop +} def + +0 20.5625 translate 1 -1 scale +63.000 12.813 moveto +%%IncludeResource: font Courier +%%IncludeFont: Courier +/Courier findfont 10.000 scalefont +[1 0 0 -1 0 0 ] makefont setfont +0.000 0.000 0.000 setrgbcolor +(t) show +1.000 setlinewidth +grestore +% End of Graphics +MathPictureEnd + +%%PSTrailer +end +grestore + + +%%EndDocument + @endspecial 2013 1038 a + currentpoint currentpoint translate 1 0.73828 div 1 0.73828 div scale +neg exch neg exch translate + 2013 1038 a 2066 1229 a FO(\(b\))h(An)g +(example)g(of)g(an)g(individual)f(\014gure)2066 1312 +y(sub-caption.)473 1504 y(Figure)24 b(1.)58 b(Example)25 +b(of)f(a)h(t)n(w)n(o-part)f(\014gure)h(with)g(individual)e +(sub-captions)j(sho)n(wing)e(that)i(captions)473 1578 +y(are)c(\015ush)f(left)h(and)g(justi\014ed)f(if)g(greater)h(than)g(one) +g(line)f(of)g(text,)h(otherwise)g(cen)n(tred)h(under)f(the)g(\014gure.) +147 1881 y Fx(4.2)105 b Fs(Il)5 b(lustr)-5 b(ations)38 +b(\(\014gur)-5 b(es\))147 2047 y Fy(The)28 b Fw(gENO)f +Fy(class)i(\014le)g(will)f(cop)s(e)h(with)f(most)h(p)s(ositioning)f(of) +h(y)m(our)f(illustrations)i(and)d(y)m(ou)i(should)147 +2155 y(not)41 b(normally)h(use)e(the)i(optional)g(p)s(ositional)g +(quali\014ers)f(of)g(the)g Fu(figure)e Fy(en)m(vironmen)m(t,)j(whic)m +(h)147 2263 y(w)m(ould)31 b(o)m(v)m(erride)g(these)g(decisions.)g(See)g +(`Instructions)f(for)h(Authors')f(in)g(the)h(journal's)f(homepage)147 +2371 y(on)e(the)g(T)-8 b(a)m(ylor)30 b(&)e(F)-8 b(rancis)28 +b(w)m(ebsite)h(for)f(ho)m(w)g(to)h(submit)e(art)m(w)m(ork)j(\(please)f +(note)g(that)f(requests)g(to)147 2479 y(supply)h(\014gures)h +(separately)i(from)f(text)g(are)h(for)e(the)h(b)s(ene\014t)f(of)h +(authors)f(using)g(Microsoft)i(W)-8 b(ord;)147 2587 y(authors)30 +b(using)f(L)737 2570 y FO(A)776 2587 y Fy(T)827 2606 +y(E)877 2587 y(X)h(ma)m(y)g(include)g(illustrations)g(at)h(the)e +(appropriate)h(lo)s(cations)h(in)f(their)f(PDF)147 2695 +y(\014le\).)h(The)e(original)i(source)f(\014les)g(of)g(an)m(y)g +(illustrations)g(will)h(b)s(e)e(required)g(when)f(the)i(\014nal,)g +(revised)147 2802 y(v)m(ersion)35 b(is)f(submitted.)f(Authors)h(should) +e(ensure)i(that)g(their)g(\014gures)f(are)i(suitable)f(\(in)g(terms)g +(of)147 2910 y(lettering)e(size,)g(etc.\))g(for)e(the)g(reductions)g +(they)h(in)m(tend.)230 3018 y(Figure)24 b(captions)g(should)e(app)s +(ear)h(b)s(elo)m(w)g(the)h(\014gure)f(itself,)h(therefore)g(the)f +Fu(\\caption)e Fy(command)147 3126 y(should)33 b(app)s(ear)h(after)g +(the)g(\014gure.)g(F)-8 b(or)35 b(example,)f(Figure)h(1)f(with)g +(caption)h(and)e(sub-captions)h(is)147 3234 y(pro)s(duced)29 +b(using)h(the)g(follo)m(wing)i(commands:)147 3392 y Fu(\\begin{figure}) +147 3500 y(\\begin{center})147 3608 y(\\begin{minipage}{120mm})147 +3716 y(\\subfigure[An)44 b(example)i(of)h(an)h(individual)d(figure)h +(sub-caption.]{)147 3824 y(\\resizebox*{6cm}{!}{\\incl)o(udeg)o(rap)o +(hics)o({sen)o(u_g)o(r1.e)o(ps}})o(})147 3932 y(\\subfigure[An)e +(example)i(of)h(an)h(individual)d(figure)h(sub-caption.]{)147 +4039 y(\\resizebox*{6cm}{!}{\\incl)o(udeg)o(rap)o(hics)o({sen)o(u_g)o +(r2.e)o(ps}})o(})147 4147 y(\\caption{\\label{fig2})c(Example)k(of)h(a) +h(two-part)d(figure)h(with)h(individual)195 4255 y(sub-captions)d +(showing)i(that)h(captions)e(are)i(flush)g(left)f(and)h(justified)e(if) +195 4363 y(greater)h(than)g(one)h(line)g(of)g(text,)f(otherwise)g +(centred)g(under)g(the)h(figure.})147 4471 y(\\label{sample-figure})147 +4579 y(\\end{minipage})147 4687 y(\\end{center})147 4795 +y(\\end{figure})230 4953 y Fy(The)40 b(con)m(trol)h(sequences)g +Fu(\\epsfig{})p Fy(,)d Fu(\\subfigure{})f Fy(and)i Fu +(\\includegraphics{})c Fy(require)147 5061 y(eps\014g.st)m(y)-8 +b(,)33 b(sub\014gure.st)m(y)d(and)h(graphicx.st)m(y)-8 +b(.)33 b(These)e(are)h(called)g(b)m(y)f(the)h(gENO2e)g(class)g(\014le)g +(and)147 5169 y(are)f(included)f(with)g(the)g(L)1050 +5152 y FO(A)1089 5169 y Fy(T)1140 5188 y(E)1191 5169 +y(X)g(pac)m(k)-5 b(age)32 b(for)f(this)f(journal)g(for)g(con)m(v)m +(enience.)230 5277 y(T)-8 b(o)32 b(ensure)e(that)i(\014gures)e(are)h +(correctly)i(n)m(um)m(b)s(ered)d(automatically)-8 b(,)34 +b(the)d Fu(\\label{})e Fy(command)147 5384 y(should)h(b)s(e)f(inserted) +i(just)e(after)i Fu(\\caption{})p Fy(.)1868 5967 y(6)p +eop end +%%Page: 7 7 +TeXDict begin 7 6 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)1011 +-149 y(T)-6 b(able)24 b(1.)58 b(Radio-band)24 b(b)r(eaming)g(mo)r(del)g +(parameters)g(for)1011 -74 y(FSR)n(Qs)f(and)h(BL)g(Lacs.)p +1011 -15 1760 9 v 1011 88 a(Class)1173 65 y FD(a)1367 +88 y Fn(\015)1403 97 y FD(1)1537 88 y Fn(\015)1573 97 +y FD(2)1608 65 y(b)1745 88 y Fo(h)p Fn(\015)t Fo(i)146 +b Fn(G)266 b Fo(j)p Fm(f)8 b Fo(j)241 b Fn(\022)2668 +96 y Fl(c)p 1011 127 1760 5 v 1011 216 a FO(BL)23 b(Lacs)118 +b(5)137 b(36)149 b(7)130 b Fo(\000)p FO(4)p Fn(:)p FO(0)100 +b(1)p Fn(:)p FO(0)16 b Fo(\002)f FO(10)2431 193 y Fz(\000)p +FD(2)2614 216 y FO(10)2684 193 y Fz(\016)1011 294 y FO(FSR)n(Qs)155 +b(5)137 b(40)132 b(11)112 b Fo(\000)p FO(2)p Fn(:)p FO(3)100 +b(0)p Fn(:)p FO(5)16 b Fo(\002)f FO(10)2431 271 y Fz(\000)p +FD(2)2614 294 y FO(14)2684 271 y Fz(\016)p 1011 336 1760 +9 v 1011 408 a FD(a)1045 432 y FO(This)24 b(fo)r(otnote)h(sho)n(ws)f +(what)g(fo)r(otnote)h(sym)n(b)r(ols)f(to)g(use.)1011 +524 y FD(b)1049 548 y FO(This)j(fo)r(otnote)i(sho)n(ws)f(the)h(text)g +(turning)f(o)n(v)n(er)g(when)g(a)g(long)1011 623 y(fo)r(otnote)d(is)e +(added.)147 922 y Fx(4.3)105 b Fs(T)-8 b(ables)147 1089 +y Fy(The)33 b Fw(gENO)g Fy(class)h(\014le)g(will)g(cop)s(e)f(with)h +(most)g(p)s(ositioning)g(of)f(y)m(our)h(tables)g(and)f(y)m(ou)h(should) +f(not)147 1196 y(normally)j(use)g(the)g(optional)h(p)s(ositional)g +(quali\014ers)f(of)g(the)g Fu(table)f Fy(en)m(vironmen)m(t,)i(whic)m(h) +e(w)m(ould)147 1304 y(o)m(v)m(erride)28 b(these)f(decisions.)h(The)e +(table)i(caption)g(app)s(ears)e(ab)s(o)m(v)m(e)i(the)f(b)s(o)s(dy)e(of) +i(the)g(table)h(in)e Fw(gENO)147 1412 y Fy(st)m(yle,)32 +b(therefore)f(the)f Fu(\\tbl)g Fy(command)g(should)f(app)s(ear)h(b)s +(efore)g(the)h(b)s(o)s(dy)d(of)j(the)f(table.)230 1520 +y(The)25 b Fu(tabular)f Fy(en)m(vironmen)m(t)i(can)g(b)s(e)f(used)g(as) +g(illustrated)i(here)e(to)h(pro)s(duce)f(tables)h(with)f(single)147 +1628 y(thic)m(k)30 b(and)e(thin)g(horizon)m(tal)j(rules,)e(whic)m(h)f +(are)h(allo)m(w)m(ed,)i(if)e(desired.)f(Thic)m(k)h(rules)g(should)f(b)s +(e)g(used)147 1736 y(at)j(the)g(head)f(and)g(fo)s(ot)h(only)f(and)g +(thin)g(rules)g(elsewhere.)230 1844 y(Commands)j(to)h(rede\014ne)f +(quan)m(tities)h(suc)m(h)g(as)f Fu(\\arraystretch)d Fy(should)j(b)s(e)f +(omitted.)j(F)-8 b(or)34 b(ex-)147 1952 y(ample,)h(T)-8 +b(able)35 b(1)f(is)g(pro)s(duced)f(using)g(the)i(follo)m(wing)g +(commands.)f(Note)i(that)f Fu(\\rm)e Fy(will)h(pro)s(duce)147 +2060 y(a)d(roman)g(c)m(haracter)h(in)f(math)g(mo)s(de.)f(There)h(are)g +(also)h Fu(\\bf)e Fy(and)g Fu(\\it)p Fy(,)g(whic)m(h)g(pro)s(duce)g(b)s +(old)g(face)147 2168 y(and)g(text)h(italic)i(in)d(math)g(mo)s(de.)147 +2353 y Fu(\\begin{table})147 2461 y(\\tbl{Radio-band)44 +b(beaming)i(model)g(parameters)f(for)i({FSRQs)f(and)h(BL)g(Lacs.}})147 +2569 y({\\begin{tabular}{@{}lcccc)o(cc})147 2677 y(\\toprule)243 +2785 y(Class$^{\\rm)d(a}$)j(&)h($\\gamma)e(_1$)g(&)i($\\gamma)e +(_2$$^{\\rm)f(b}$)577 2893 y(&)i($\\langle)f(\\gamma)g(\\rangle$)577 +3001 y(&)h($G$)g(&)h($|{\\bm)e(f}|$)g(&)i($\\theta)e(_{c}$)g(\\\\)147 +3109 y(\\colrule)243 3217 y(BL)h(Lacs)f(&5)i(&)f(36)g(&)h(7)f(&)h +($-4.0$)e(&)h($1.0\\times)e(10^{-2}$)h(&)h(10$^\\circ$)e(\\\\)243 +3325 y(FSRQs)h(&)h(5)h(&)f(40)h(&)f(11)g(&)h($-2.3$)e(&)h($0.5\\times)e +(10^{-2}$)h(&)h(14$^\\circ$)e(\\\\)147 3433 y(\\botrule)147 +3541 y(\\end{tabular}})147 3648 y(\\tabnote{$^{\\rm)f(a}$This)i +(footnote)f(shows)i(what)f(footnote)g(symbols)g(to)h(use.})147 +3756 y(\\tabnote{$^{\\rm)d(b}$This)i(footnote)f(shows)i(the)f(text)h +(turning)f(over)h(when)f(a)195 3864 y(long)h(footnote)e(is)i(added.}) +147 3972 y(\\label{symbols})147 4080 y(\\end{table})230 +4266 y Fy(T)-8 b(o)34 b(ensure)f(that)h(tables)h(are)f(correctly)h(n)m +(um)m(b)s(ered)d(automatically)-8 b(,)37 b(the)d Fu(\\label{})d +Fy(command)147 4374 y(should)f(b)s(e)f(inserted)i(just)e(b)s(efore)h +Fu(\\end{table})p Fy(.)230 4482 y(T)-8 b(ables)30 b(pro)s(duced)d +(using)i(the)g Fu(booktabs)e Fy(pac)m(k)-5 b(age)31 b(of)f(macros)f +(for)g(t)m(yp)s(esetting)i(tables)f(are)f(also)147 4590 +y(compatible)j(with)e(the)g Fw(gENO)g Fy(class)h(\014le.)147 +4930 y Fx(4.4)105 b Fs(The)-5 b(or)g(em-like)38 b(envir)-5 +b(onments)147 5096 y Fy(The)30 b Fw(gENO)f Fy(st)m(yle)j(pro)m(vides)e +(for)g(the)h(follo)m(wing)h(theorem-lik)m(e)g(en)m(vironmen)m(ts.)147 +5277 y Ft(Theorem)j(4.1)93 b Fw(Mor)-5 b(e)34 b(r)-5 +b(e)g(c)g(ent)34 b(algorithms)i(for)e(solving)g(the)g(semide\014nite)g +(pr)-5 b(o)g(gr)g(amming)37 b(r)-5 b(elax-)147 5384 y(ation)34 +b(ar)-5 b(e)33 b(p)-5 b(articularly)36 b(e\016cient,)c(b)-5 +b(e)g(c)g(ause)33 b(they)g(explor)-5 b(e)34 b(the)f(structur)-5 +b(e)34 b(of)f(the)g(MAX-CUT.)1868 5967 y Fy(7)p eop end +%%Page: 8 8 +TeXDict begin 8 7 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Ft(Lemma)28 b(4.2)85 b Fw(Mor)-5 b(e)27 b(r)-5 b(e)g(c)g(ent)29 +b(algorithms)g(for)f(solving)g(the)g(semide\014nite)g(pr)-5 +b(o)g(gr)g(amming)31 b(r)-5 b(elaxation)147 -12 y(ar)g(e)34 +b(p)-5 b(articularly)35 b(e\016cient,)d(b)-5 b(e)g(c)g(ause)33 +b(they)h(explor)-5 b(e)34 b(the)f(structur)-5 b(e)33 +b(of)g(the)g(MAX-CUT.)147 150 y Ft(Cor)n(ollar)-6 b(y)38 +b(4.3)85 b Fw(Mor)-5 b(e)38 b(r)-5 b(e)g(c)g(ent)38 b(algorithms)i(for) +e(solving)g(the)g(semide\014nite)g(pr)-5 b(o)g(gr)g(amming)41 +b(r)-5 b(e-)147 258 y(laxation)35 b(ar)-5 b(e)33 b(p)-5 +b(articularly)35 b(e\016cient,)e(b)-5 b(e)g(c)g(ause)33 +b(they)g(explor)-5 b(e)34 b(the)f(structur)-5 b(e)34 +b(of)e(the)h(MAX-CUT.)147 421 y Ft(Pr)n(oposition)f(4.4)85 +b Fw(Mor)-5 b(e)32 b(r)-5 b(e)g(c)g(ent)32 b(algorithms)h(for)f +(solving)g(the)g(semide\014nite)f(pr)-5 b(o)g(gr)g(amming)35 +b(r)-5 b(e-)147 529 y(laxation)35 b(ar)-5 b(e)33 b(p)-5 +b(articularly)35 b(e\016cient,)e(b)-5 b(e)g(c)g(ause)33 +b(they)g(explor)-5 b(e)34 b(the)f(structur)-5 b(e)34 +b(of)e(the)h(MAX-CUT.)147 691 y Ft(Definition)42 b(4.5)85 +b Fw(Mor)-5 b(e)39 b(r)-5 b(e)g(c)g(ent)40 b(algorithms)h(for)f +(solving)f(the)g(semide\014nite)h(pr)-5 b(o)g(gr)g(amming)42 +b(r)-5 b(e-)147 799 y(laxation)35 b(ar)-5 b(e)33 b(p)-5 +b(articularly)35 b(e\016cient,)e(b)-5 b(e)g(c)g(ause)33 +b(they)g(explor)-5 b(e)34 b(the)f(structur)-5 b(e)34 +b(of)e(the)h(MAX-CUT.)147 962 y(Pr)-5 b(o)g(of)52 b Fy(More)37 +b(recen)m(t)h(algorithms)g(for)e(solving)i(the)f(semide\014nite)g +(programming)f(relaxation)j(are)147 1070 y(particularly)31 +b(e\016cien)m(t,)h(b)s(ecause)f(they)f(explore)h(the)g(structure)f(of)g +(the)h(MAX-CUT.)424 b Fk(\004)147 1232 y Fw(R)-5 b(emark)34 +b(1)92 b Fy(More)31 b(recen)m(t)g(algorithms)g(for)e(solving)i(the)f +(semide\014nite)g(programming)f(relaxation)147 1340 y(are)h +(particularly)g(e\016cien)m(t,)h(b)s(ecause)e(they)h(explore)g(the)g +(structure)e(of)i(the)g(MAX-CUT)f(problem.)147 1503 y +Fw(A)n(lgorithm)c(1)84 b Fy(More)22 b(recen)m(t)g(algorithms)f(for)g +(solving)g(the)g(semide\014nite)g(programming)f(relaxation)147 +1610 y(are)30 b(particularly)g(e\016cien)m(t,)h(b)s(ecause)e(they)h +(explore)g(the)g(structure)e(of)i(the)g(MAX-CUT)f(problem.)147 +1773 y(These)h(w)m(ere)h(pro)s(duced)e(b)m(y:)147 1931 +y Fu(\\begin{theorem})147 2039 y(More)47 b(recent)f(algorithms)f(for)i +(solving)f(the)h(semidefinite)d(programming)147 2147 +y(relaxation)h(are)i(particularly)e(efficient,)g(because)g(they)i +(explore)f(the)147 2255 y(structure)f(of)j(the)f(MAX-CUT.)147 +2362 y(\\end{theorem})147 2578 y(\\begin{lemma})147 2686 +y(...)147 2794 y(...)147 2902 y(\\end{lemma})147 3118 +y(\\begin{corollary})147 3226 y(...)147 3334 y(...)147 +3442 y(\\end{corollary})147 3658 y(\\begin{proposition})147 +3766 y(...)147 3873 y(...)147 3981 y(\\end{proposition})147 +4197 y(\\begin{definition})147 4305 y(...)147 4413 y(...)147 +4521 y(\\end{definition})147 4737 y(\\begin{proof})147 +4845 y(...)147 4953 y(...)147 5061 y(\\end{proof})147 +5277 y(\\begin{remark})147 5384 y(...)1868 5967 y Fy(8)p +eop end +%%Page: 9 9 +TeXDict begin 9 8 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fu(...)147 -12 y(\\end{remark})147 204 y(\\begin{algorithm})147 +312 y(...)147 420 y(...)147 528 y(\\end{algorithm})147 +947 y Fx(4.5)105 b Fs(T)-8 b(yp)j(esetting)40 b(mathematics)147 +1147 y Fw(4.5.1)94 b(Displaye)-5 b(d)34 b(mathematics)230 +1304 y Fy(The)i Fw(gENO)f Fy(class)j(\014le)e(will)h(set)g(displa)m(y)m +(ed)g(mathematics)h(cen)m(tred)f(on)g(the)g(measure)f(without)147 +1412 y(equation)c(n)m(um)m(b)s(ers,)f(pro)m(vided)g(that)h(y)m(ou)f +(use)h(the)f(L)1998 1395 y FO(A)2037 1412 y Fy(T)2088 +1432 y(E)2138 1412 y(X)14 b(2)2265 1426 y Fv(")2344 1412 +y Fy(standard)30 b(con)m(trol)j(sequences)f(op)s(en)147 +1520 y(\()p Fu(\\[)p Fy(\))f(and)e(close)j(\()p Fu(\\])p +Fy(\))f(square)f(brac)m(k)m(ets)h(as)g(delimiters.)g(The)f(equation) +1406 1700 y Fn(p)1358 1732 y Fj(X)1367 1927 y Fn(i)p +FO(=1)1505 1818 y Fv(\025)1558 1832 y Fn(i)1611 1818 +y Fy(=)25 b(trace)q(\()p Fx(S)q Fy(\))182 b Fv(i)25 b +Fq(2)g Fi(R)147 2119 y Fy(w)m(as)31 b(t)m(yp)s(eset)g(using)f(the)h +(commands)147 2276 y Fu(\\[)243 2384 y(\\sum_{i=1}^p)44 +b(\\lambda_i)h(=)j({\\rm)e(trace}\({\\textrm{\\bf)d(S}}\)\\qquad)243 +2492 y(i\\in)j({\\mathbb)g(R})147 2600 y(\\].)230 2758 +y Fy(F)-8 b(or)32 b(those)g(of)g(y)m(our)f(equations)h(that)g(y)m(ou)f +(wish)g(to)h(b)s(e)e(automatically)35 b(n)m(um)m(b)s(ered)29 +b(sequen)m(tially)147 2866 y(throughout)h(the)h(text,)g(use)f(the)h +Fu(equation)d Fy(en)m(vironmen)m(t,)j Fw(e.g.)1406 3131 +y Fn(p)1358 3163 y Fj(X)1367 3358 y Fn(i)p FO(=1)1505 +3249 y Fv(\025)1558 3263 y Fn(i)1611 3249 y Fy(=)25 b(trace)q(\()p +Fx(S)q Fy(\))182 b Fv(i)25 b Fq(2)g Fi(R)1095 b Fy(\(1\))147 +3550 y(w)m(as)31 b(t)m(yp)s(eset)g(using)f(the)h(commands)147 +3726 y Fu(\\begin{equation})243 3834 y(\\sum_{i=1}^p)44 +b(\\lambda_i)h(=)j({\\rm)e(trace}\({\\textrm{\\bf)d(S}}\)quad)243 +3941 y(i\\in)j({\\mathbb)g(R})147 4049 y(\\end{equation})230 +4225 y Fy(P)m(art)27 b(n)m(um)m(b)s(ers)d(for)i(sets)h(of)f(equations)g +(ma)m(y)h(b)s(e)e(generated)i(using)f(the)g Fu(subequations)d +Fy(en)m(viron-)147 4333 y(men)m(t,)31 b Fw(e.g.)1213 +4552 y Fv("\032w)1367 4566 y Fn(tt)1422 4552 y Fy(\()p +Fv(s;)15 b(t)p Fy(\))26 b(=)f Fv(N)10 b Fy([)p Fv(w)1903 +4566 y Fn(s)1940 4552 y Fy(\()p Fv(s;)15 b(t)p Fy(\))p +Fv(;)g(w)2231 4566 y Fn(st)2295 4552 y Fy(\()p Fv(s;)g(t)p +Fy(\)])2506 4566 y Fn(s)2543 4552 y Fv(;)905 b Fy(\(2a\))1193 +4882 y Fv(w)1258 4896 y Fn(tt)1314 4882 y Fy(\(1)p Fv(;)15 +b(t)p Fy(\))21 b(+)f Fv(N)10 b Fy([)p Fv(w)1787 4896 +y Fn(s)1824 4882 y Fy(\(1)p Fv(;)15 b(t)p Fy(\))p Fv(;)g(w)2117 +4896 y Fn(st)2181 4882 y Fy(\(1)p Fv(;)g(t)p Fy(\)])27 +b(=)e(0)p Fv(;)880 b Fy(\(2b\))147 5101 y(whic)m(h)30 +b(w)m(as)h(generated)g(using)f(the)h(con)m(trol)h(sequences)147 +5277 y Fu(\\begin{subequations})42 b(\\label{subeqnexample})147 +5384 y(\\begin{equation})1868 5967 y Fy(9)p eop end +%%Page: 10 10 +TeXDict begin 10 9 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)529 -120 +y Fu(\\varepsilon)45 b(\\rho)h(w_{tt}\(s,t\))529 -12 +y(=)529 96 y(N[w_{s}\(s,t\),w_{st}\(s,t\))o(]_{s)o(},)529 +204 y(\\label{subeqnpart})147 312 y(\\end{equation})147 +420 y(\\begin{equation})529 528 y(w_{tt}\(1,t\)+N[w_{s}\(1,t\))o(,w_{)o +(st}\()o(1,t)o(\)])c(=)47 b(0,)147 636 y(\\end{equation})147 +744 y(\\end{subequations})147 951 y Fy(This)38 b(is)h(made)f(p)s +(ossible)g(b)m(y)h(the)g(pac)m(k)-5 b(age)40 b Fu(subeqn)p +Fy(,)d(whic)m(h)i(is)f(called)i(b)m(y)f(the)f(class)i(\014le.)f(If)f(y) +m(ou)147 1059 y(put)e(the)g Fu(\\label{})e Fy(just)h(after)i(the)f +Fu(\\begin{subequations})30 b Fy(line,)37 b(references)f(will)h(b)s(e)e +(to)i(the)147 1167 y(collection)31 b(of)e(equations,)g(`\(2\)')i(in)d +(the)g(example)i(ab)s(o)m(v)m(e.)f(Or,)f(lik)m(e)i(the)f(example)g(co)s +(de)g(ab)s(o)m(v)m(e,)h(y)m(ou)147 1275 y(can)h(reference)g(eac)m(h)g +(equation)g(individually|)p Fw(e.g.)f Fy(`\(2a\)'.)147 +1499 y Fw(4.5.2)94 b(Bold)34 b(math)g(italic)f(symb)-5 +b(ols)230 1657 y Fy(T)d(o)31 b(get)h(b)s(old)d(math)h(italic)j(y)m(ou)d +(can)h(use)f Fu(\\bm)p Fy(,)g(whic)m(h)g(w)m(orks)g(for)h(all)g(sizes,) +g Fw(e.g.)147 1814 y Fu(\\sffamily)147 1922 y(\\begin{equation})290 +2030 y({\\rm)47 b(d}\({\\bm)f(s_{t_{\\bm)f(u}}\))i(=)g +(\\langle{\\bm\\alpha\({\\sf{\\t)o(extb)o(f)42 b(L}}\)})290 +2138 y([RM\({\\bm)k(X}_y)h(+)g({\\bm)g(s}_t\))f(-)h(RM\({\\bm)f +(x}_y\)]^2)g(\\rangle)147 2246 y(\\end{equation})147 +2354 y(\\normalfont)147 2512 y Fy(pro)s(duces)1025 2794 +y(d\()p Fh(s)1159 2808 y Fn(t)1184 2816 y Fg(u)1233 2794 +y Fy(\))26 b(=)f Fq(h)p Fh(\013)p Fy(\()p Ff(L)p Fy(\))q([)p +Fv(R)q(M)10 b Fy(\()p Fh(X)1939 2808 y Fn(y)2001 2794 +y Fy(+)20 b Fh(s)2140 2808 y Fn(t)2170 2794 y Fy(\))g +Fq(\000)g Fv(R)q(M)10 b Fy(\()p Fh(x)2579 2808 y Fn(y)2621 +2794 y Fy(\)])2681 2757 y FO(2)2721 2794 y Fq(i)762 b +Fy(\(3\))147 3076 y(Note)29 b(that)g(subscript,)e(sup)s(erscript,)f +(subscript)h(to)i(subscript,)e(etc.)i(sizes)f(will)h(tak)m(e)g(care)g +(of)f(them-)147 3184 y(selv)m(es)37 b(and)d(are)i(italic,)i(not)d(b)s +(old,)g(unless)g(co)s(ded)g(individually)-8 b(.)36 b +Fu(\\bm)e Fy(pro)s(duces)g(the)i(same)g(e\013ect)147 +3292 y(as)30 b Fu(\\boldmath)p Fy(.)e Fu(\\sffamily)p +Fy(...)p Fu(\\normalfont)d Fy(allo)m(ws)31 b(uprigh)m(t)e(sans)g(serif) +h(fon)m(ts)g(to)g(b)s(e)g(created)g(in)147 3400 y(math)h(mo)s(de)f(b)m +(y)g(using)g(the)g(con)m(trol)i(sequence)f(`)p Fu(\\sf)p +Fy('.)147 3624 y Fw(4.5.3)94 b(Bold)34 b(Gr)-5 b(e)g(ek)230 +3782 y Fy(Bold)77 b(lo)m(w)m(ercase)h(as)e(w)m(ell)g(as)g(upp)s(ercase) +f(Greek)i(c)m(haracters)g(can)f(b)s(e)f(obtained)h(b)m(y)147 +3890 y Fu({\\bm)47 b(\\gamma})p Fy(,)28 b(whic)m(h)j(giv)m(es)g +Fh(\015)6 b Fy(,)30 b(and)g Fu({\\bm)47 b(\\Gamma})p +Fy(,)28 b(whic)m(h)i(giv)m(es)i Fx(\000)p Fy(.)147 4114 +y Fw(4.5.4)94 b(Upright)34 b(lower)-5 b(c)g(ase)34 b(Gr)-5 +b(e)g(ek)34 b(char)-5 b(acters)34 b(and)g(the)f(upright)g(p)-5 +b(artial)35 b(derivative)e(sign)230 4272 y Fy(Uprigh)m(t)27 +b(lo)m(w)m(ercase)i(Greek)f(c)m(haracters)g(can)f(b)s(e)f(obtained)h +(with)f(the)h(class)h(\014le)e(b)m(y)h(inserting)g(the)147 +4380 y(letter)33 b(`u')e(in)h(the)f(con)m(trol)i(co)s(de)f(for)f(the)h +(c)m(haracter,)h Fw(e.g.)e Fu(\\umu)g Fy(and)g Fu(\\upi)f +Fy(pro)s(duce)g Fe(\026)i Fy(\(used,)f(for)147 4488 y(example,)e(in)g +(the)f(sym)m(b)s(ol)g(for)g(the)h(unit)f(microns|)p Fe(\026)p +Fy(m\))g(and)g Fe(\031)g Fy(\(the)h(ratio)h(of)e(the)h(circumference) +147 4596 y(to)i(the)e(diameter)i(of)f(a)g(circle\).)h(Similarly)-8 +b(,)31 b(the)f(con)m(trol)h(co)s(de)f(for)f(the)h(uprigh)m(t)f(partial) +i(deriv)-5 b(ativ)m(e)147 4704 y Fe(@)30 b Fy(is)h Fu(\\upartial)p +Fy(.)147 5110 y Fx(4.6)105 b Fs(A)-5 b(cknow)5 b(le)-5 +b(dgements)147 5277 y Fy(This)41 b(unn)m(um)m(b)s(ered)e(section,)k +Fw(e.g.)e Fu(\\section*{Acknowledgement)o(\(s\))o(})p +Fy(,)36 b(should)41 b(b)s(e)f(used)h(for)147 5384 y(thanks,)30 +b(gran)m(t)i(details,)f(etc.)h(and)e(placed)h(b)s(efore)e(an)m(y)i +(Notes)h(or)e(References)h(sections.)1845 5967 y(10)p +eop end +%%Page: 11 11 +TeXDict begin 11 10 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fx(4.7)105 b Fs(Notes)147 46 y Fy(This)35 b(unn)m(um)m(b)s(ered)e +(section,)38 b Fw(e.g.)d Fu(\\section*{Note\(s\)})p Fy(,)c(ma)m(y)36 +b(b)s(e)f(placed)h(b)s(efore)g(an)m(y)g(Refer-)147 154 +y(ences)31 b(section.)147 472 y Fx(4.8)105 b Fs(R)-5 +b(efer)g(enc)g(es)147 672 y Fw(4.8.1)94 b(R)-5 b(efer)g(enc)g(es)34 +b(cite)-5 b(d)33 b(in)f(the)h(text)230 829 y Fy(References)42 +b(should)d(b)s(e)h(cited)i(in)f(the)f(text)i(in)f(`Chicago)h +(author-date')g(st)m(yle,)g(separated)f(b)m(y)147 937 +y(semi-colons,)36 b Fw(e.g.)e Fy(\(Green)h(2002;)h(Harlo)m(w)g(1983;)g +(W)-8 b(egener)36 b(and)e(P)m(ett)m(y)i(1994\))h(or)d(`...)i(see)f +(Smith)147 1045 y(\(1985,)j(75\)'.)f(If)e(there)g(are)h(t)m(w)m(o)g +(authors)f(with)g(the)h(same)f(surname,)g(use)g(the)g(\014rst)g +(initials)h(with)147 1153 y(the)f(surnames,)g Fw(e.g.)f +Fy(\(E.)h(Johnson)f(2001;)j(L.)f(Johnson)e(1998\).)j(If)d(there)i(are)f +(three)g(authors,)g(list)147 1261 y(them)30 b(all)h(in)e(ev)m(ery)i +(citation,)h Fw(e.g.)d Fy(\(Kernis,)h(Cornell,)g(and)f(Harlo)m(w)i +(1993\).)i(F)-8 b(or)30 b(more)g(than)g(three)147 1369 +y(authors,)35 b(cite)h(the)f(\014rst)f(author's)g(name)h(follo)m(w)m +(ed)i(b)m(y)d(et)i(al.)f(F)-8 b(or)36 b(t)m(w)m(o)g(or)f(more)f +(sources)h(b)m(y)g(the)147 1477 y(same)28 b(author\(s\))g(in)f(the)g +(same)h(y)m(ear,)h(use)e(lo)m(w)m(er-case)j(letters)e(\(a,)h(b,)e +(c,...\))i(with)e(the)g(y)m(ear)h(to)h(order)147 1585 +y(the)23 b(en)m(tries)h(in)f(the)g(Reference)h(list)g(and)e(use)h +(these)h(letters)g(with)f(the)g(y)m(ear)h(in)f(the)g(in-text)h +(citations,)147 1693 y Fw(e.g.)j Fy(\(Green)g(1981a,b\).)j(F)-8 +b(urther)26 b(details)i(on)f(this)g(reference)h(st)m(yle)g(can)f(b)s(e) +g(found)f(in)g(the)h(journal's)147 1801 y(Instructions)j(for)g +(Authors.)230 1909 y(Eac)m(h)51 b(bibliographical)h(en)m(try)f(has)f(a) +h(k)m(ey)-8 b(,)52 b(whic)m(h)f(is)f(assigned)h(b)m(y)g(the)f(author)h +(and)f(used)147 2017 y(to)63 b(refer)f(to)h(that)f(en)m(try)h(in)e(the) +i(text.)g(In)e(this)h(do)s(cumen)m(t,)g(the)g(k)m(ey)h +Fu(ev94)e Fy(in)h(the)g(ci-)147 2124 y(tation)d(form)d +Fu(\\citep{ev94})e Fy(pro)s(duces)i(`\(Ev)-5 b(ans)57 +b(1994\)',)j(and)d(the)g(k)m(eys)h(in)f(the)g(citation)147 +2232 y Fu(\\citep{Eri1984,GloRib51,P)o(eaEt)o(Al7)o(6})39 +b Fy(pro)s(duce)44 b(`\(Ericsson)h(and)f(Simon)h(1984;)i(Glo)m(v)m(er,) +147 2340 y(Smith,)42 b(and)g(Rib)s(eiro)g(1951;)j(Pierce)e(et)g(al.)h +(1976\)'.)h(The)d(appropriate)g(citation)i(st)m(yle)g(for)e(dif-)147 +2448 y(feren)m(t)47 b(situations)h(can)f(b)s(e)f(obtained,)h(for)g +(example,)g(b)m(y)g Fu(\\citet{hk97})c Fy(for)k(`Kern)f(\(1997\)',)147 +2556 y Fu(\\citet{Bar91,Mil93,Maz91})f Fy(for)51 b(`Barlo)m(w)i +(\(1991\);)h(Miller)e(\(1993\);)i(Mazzeo)g(\(1991\)',)g(or)147 +2664 y Fu(\\citealt{Holl04})23 b Fy(for)28 b(`Holland)g(2004'.)i +(Optional)e(notes)g(ma)m(y)h(b)s(e)e(included)g(at)h(the)g(b)s +(eginning)147 2772 y(and)42 b(end)g(of)h(a)g(citation)h(b)m(y)f(the)g +(use)f(of)h(square)f(brac)m(k)m(ets,)i Fw(e.g.)e Fu +(\\citep[see][123]{Agu95})147 2880 y Fy(pro)s(duces)j(`\(see)i(Agutter) +f(1995,)i(123\)'.)g(Citation)f(of)e(the)h(y)m(ear)h(alone)g(ma)m(y)f(b) +s(e)f(pro)s(duced)f(b)m(y)147 2988 y Fu(\\citeyear{cwm73})p +Fy(,)26 b Fw(i.e.)k Fy(`1973',)j(or)d Fu(\\citeyearpar{glov86})p +Fy(,)25 b Fw(i.e.)30 b Fy(`\(1986\)'.)147 3153 y Fw(4.8.2)94 +b(The)33 b(list)g(of)g(r)-5 b(efer)g(enc)g(es)230 3311 +y Fy(References)40 b(should)e(b)s(e)h(listed)h(at)g(the)g(end)e(of)i +(the)f(main)g(text)i(in)e(alphab)s(etical)h(order,)f(then)147 +3419 y(c)m(hronologically)32 b(\(earliest)f(\014rst\),)d(with)h(full)f +(page)i(ranges)f(\(where)g(appropriate\))g(and)f(issue)h(n)m(um-)147 +3527 y(b)s(ers)i(\(for)h(journals)f(paginated)i(b)m(y)f(issue\).)h(If)e +(a)h(reference)h(has)f(more)g(than)f(ten)i(named)e(authors,)147 +3635 y(list)g(only)g(the)f(\014rst)g(sev)m(en,)h(follo)m(w)m(ed)h(b)m +(y)e(`et)i(al.'.)230 3742 y(The)e(follo)m(wing)i(list)f(sho)m(ws)f +(some)h(references)g(prepared)e(in)h(the)g(st)m(yle)i(of)f(the)f +(journal:)147 4081 y Fx(References)147 4289 y FN(Agutter,)22 +b(A.)g(J.)f(1995.)f(\\The)h(Linguistic)g(Signi\014cance)g(of)h(Curren)n +(t)e(British)i(Slang.")e(Unpublished)i(do)r(ctoral)238 +4388 y(dissertation,)27 b(Edin)n(burgh)f(Univ)n(ersit)n(y)-7 +b(,)27 b(UK.)147 4488 y(Barlo)n(w,)d(D.)i(H.)g(1991.)d(\\Diagnoses,)h +(Dimensions,)i(and)f(DSM-IV)h([Sp)r(ecial)g(issue].")e +FM(Journal)k(of)h(A)n(bnormal)238 4587 y(Psycholo)l(gy)38 +b FN(100)26 b(\(3\).)147 4687 y(Ericsson,)33 b(K.)i(Anders,)f(and)h +(Herb)r(ert)g(A.)g(Simon.)g(1984.)e FM(Pr)l(oto)l(c)l(ol)k(A)n +(nalysis:)h(V)-6 b(erb)l(al)36 b(R)l(ep)l(orts)g(as)h(Data)p +FN(.)238 4787 y(Cam)n(bridge,)26 b(MA:)j(MIT)e(Press.)147 +4886 y(Ev)-5 b(ans,)32 b(W.)i(A.)f(1994.)f(\\Approac)n(hes)f(to)h(In)n +(telligen)n(t)h(Information)g(Retriev)-5 b(al.")32 b +FM(Information)j(Pr)l(o)l(c)l(essing)238 4986 y(and)30 +b(Management)37 b FN(7)27 b(\(2\):)h(147{168.)147 5086 +y(Glo)n(v)n(er,)44 b(F)-7 b(red.)46 b(1986.)e(\\Hilb)r(ert)i(Mo)r +(dular)f(F)-7 b(orms)45 b(and)g(the)h(Galois)f(Represen)n(tations)f +(Asso)r(ciated)h(to)238 5185 y(Hilb)r(ert{Blumen)n(thal)28 +b(Ab)r(elian)g(V)-7 b(arieties.")26 b(Ph.D.)i(thesis,)g(Harv)-5 +b(ard)26 b(Univ)n(ersit)n(y)-7 b(,)27 b(Cam)n(bridge,)f(MA.)147 +5285 y(Glo)n(v)n(er,)19 b(F)-7 b(red,)20 b(Ra)n(ymond)g(Smith,)h(and)g +(C.)f(C.)h(Rib)r(eiro,)f(eds.)g(1951.)f FM(L)l(essons)k(of)h(the)f +(British)i(War)e(Ec)l(onomy)p FN(.)238 5384 y(v)n(ol.)k(5.)g(2nd)h(ed.) +f(W)-7 b(estp)r(ort,)28 b(CT:)g(Green)n(w)n(o)r(o)r(d)e(Press.)1845 +5967 y Fy(11)p eop end +%%Page: 12 12 +TeXDict begin 12 11 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y FN(Holland,)69 b(M.)h(2004.)e(\\Guide)h(to)h(Citing)f(In)n(ternet)h +(Sources.")e(Accessed)h(No)n(v)n(em)n(b)r(er)f(4,)h(2012.)238 +-20 y(h)n(ttp://www.b)r(ournemouth.ac.uk/library/using/guide)p +2163 -20 25 4 v 25 w(to)p 2262 -20 V 30 w(citing)p 2495 +-20 V 30 w(in)n(ternet)p 2809 -20 V 30 w(sourc.h)n(tml.)147 +79 y(Kern,)26 b(Hudson.)h(1997.)e(\\The)i(Resurgen)n(t)f(Japanese)f +(Econom)n(y)g(and)i(a)f(Japan{United)h(States)f(F)-7 +b(ree)27 b(T)-7 b(rade)238 179 y(Agreemen)n(t.")31 b(In)h +FM(4th)i(International)f(Confer)l(enc)l(e)i(on)e(the)h(R)l +(estructuring)e(of)i(the)g(Ec)l(onomic)h(and)f(Po-)238 +279 y(litic)l(al)h(System)e(in)h(Jap)l(an)g(and)g(Eur)l(op)l(e)p +FN(,)e(edited)h(b)n(y)e(C.)h(Lam)n(b)r(ert)f(and)h(G.)g(Holst.)g +(Milan,)g(Italy)-7 b(,)32 b(21{25)238 378 y(Ma)n(y)27 +b(1996.)f(147{156.)e(Singap)r(ore:)i(W)-7 b(orld)28 b(Scien)n(ti\014c.) +147 478 y(Mazzeo,)h(J.)h(1991.)d FM(Comp)l(ar)l(ability)35 +b(of)e(Computer)f(and)g(Pap)l(er-and-Pencil)i(Sc)l(or)l(es)j +FN(\(College)29 b(Board)f(Rep.)238 577 y(No.)g(91\).)f(Princeton,)f +(NJ:)i(Educational)e(T)-7 b(esting)28 b(Service.)147 +677 y(Miller,)e(M.)g(E.)g(1993.)e FM(The)29 b(Inter)l(active)g(T)-6 +b(ester)28 b(\(V)-6 b(ersion)28 b(4.0\))i([Computer)f(softwar)l(e])p +FN(.)f(W)-7 b(estminster,)26 b(CA:)238 777 y(Psytek)h(Services.)147 +876 y(Misner,)f(Charles)f(W.)h(1973.)e(\\E\016cien)n(t)i(Algorithms)f +(for)h(La)n(y)n(er)e(Assignmen)n(t)h(Problems.")g(In)h +FM(Gr)l(avitation)238 976 y(in)d(a)h(Col)t(lapsing)i(Universe)p +FN(,)21 b(V)-7 b(ol.)20 b(5)g(of)h FM(Einstein)-8 b('s)23 +b(L)l(e)l(gacy)p FN(,)f(edited)f(b)n(y)f(Ignatius)g(Gottlob.)h(2nd)f +(ed.)h(63{83.)238 1076 y(San)28 b(F)-7 b(rancisco,)26 +b(CA:)i(F)-7 b(reeman.)147 1175 y(Pierce,)32 b(Ian)h(F.,)h(F)-7 +b(red)33 b(Glo)n(v)n(er,)f(A.)i(T.)f(Ogilvy)-7 b(,)33 +b(and)g(A.)h(R.)f(S.)h(Clemen)n(ts.)f(1976.)f(\\A)h(Mo)r(del)g(of)h +(Output,)238 1275 y(Emplo)n(ymen)n(t,)29 b(W)-7 b(ages)30 +b(and)g(Prices)f(in)h(the)g(UK.")g(In)g FM(Computing)j(T)-6 +b(o)l(ols)33 b(for)g(Mo)l(deling,)h(Optimization)238 +1374 y(and)g(Simulation:)g(Interfac)l(es)g(in)f(Computer)h(Scienc)l(e)g +(and)g(Op)l(er)l(ations)f(R)l(ese)l(ar)l(ch)p FN(,)f(edited)g(b)n(y)g +(Man)n(uel)238 1474 y(Laguna)k(and)g(Jos)n(\023)-39 b(e)35 +b(Luis)i(Gonz\023)-42 b(ales-V)-7 b(elarde.)35 b(2nd)h(ed.)h(1{24.)e +(Boston,)h(MA:)i(Cam)n(bridge)d(Univ)n(ersit)n(y)238 +1574 y(Press.)147 1800 y Fy(This)30 b(w)m(as)h(pro)s(duced)d(b)m(y)j(t) +m(yping:)147 2039 y Fu(\\begin{thebibliography}{1)o(2})147 +2255 y(\\bibitem[Agutter\(1995\)]{A)o(gu95)o(})147 2362 +y(Agutter,)46 b(A.~J.)g(1995.)g(``The)h(Linguistic)e(Significance)f(of) +j(Current)f({B}ritish)195 2470 y(Slang.'')f(Unpublished)g(doctoral)h +(dissertation,)e(Edinburgh)h(University,)g(UK.)147 2686 +y(\\bibitem[Barlow\(1991\)]{Ba)o(r91})147 2794 y(Barlow,)h(D.~H.)g +(1991.)h(``Diagnoses,)d(Dimensions,)h(and)i({DSM-IV})e([Special)195 +2902 y(issue].'')g(\\emph{Journal)f(of)k(Abnormal)d(Psychology})g(100)i +(\(3\).)147 3118 y(\\bibitem[Ericsson)c(and)k(Simon\(1984\)]{Eri1984}) +147 3226 y(Ericsson,)e(K.~Anders,)g(and)i(Herbert~A.)e(Simon.)h(1984.)h +(\\emph{Protocol)195 3334 y(Analysis:)e(Verbal)h(Reports)g(as)h(Data}.) +f(Cambridge,)f(MA:)i(MIT)g(Press.)147 3550 y +(\\bibitem[Evans\(1994\)]{ev9)o(4})147 3658 y(Evans,)f(W.~A.)h(1994.)f +(``Approaches)e(to)k(Intelligent)c(Information)h(Retrieval.'')195 +3766 y(\\emph{Information)e(Processing)i(and)i(Management})e(7)i +(\(2\):)g(147--168.)147 3981 y(\\bibitem[Glover\(1986\)]{gl)o(ov86)o(}) +147 4089 y(Glover,)f(Fred.)g(1986.)h(\\emph{Hilbert)d(Modular)i(Forms)g +(and)h(the)g({G}alois)195 4197 y(Representations)d(Associated)h(to)i +({H}ilbert--{B}lumenthal)41 b(Abelian)195 4305 y(Varieties}.)k(Ph.D.)h +(thesis,)g(Harvard)g(University,)e(Cambridge,)h(MA.)147 +4521 y(\\bibitem[Glover,)f(Smith,)i(and)h(Ribeiro\(1951\)]{GloRib51)o +(})147 4629 y(Glover,)f(Fred,)g(Raymond)g(Smith,)g(and)h(C.~C.)g +(Ribeiro,)e(eds.)i(1951.)195 4737 y(\\emph{Lessons)d(of)j(the)g +({B}ritish)e(War)i(Economy}.)f(vol.~5.)f(2nd)i(ed.)195 +4845 y(Westport,)e(CT:)i(Greenwood)e(Press.)147 5061 +y(\\bibitem[Holland\(2004\)]{H)o(oll0)o(4})147 5169 y(Holland,)h(M.)h +(2004.)f(``Guide)g(to)h(Citing)f(Internet)g(Sources.'')f(Accessed)195 +5277 y(November)g(4,)j(2012.)195 5384 y(http://www.bournemouth.a)o +(c.uk)o(/li)o(brar)o(y/us)o(ing)o(/gui)o(de\\_)o(to\\)o(_cit)o(ing\\)o +(_in)o(tern)o(et\\_)o(sou)o(rc.h)o(tml.)1845 5967 y Fy(12)p +eop end +%%Page: 13 13 +TeXDict begin 13 12 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -12 +y Fu(\\bibitem[Kern\(1997\)]{hk97)o(})147 96 y(Kern,)47 +b(Hudson.)e(1997.)i(``The)f(Resurgent)f({J}apanese)g(Economy)h(and)h(a) +195 204 y({J}apan--{U}nited)c({S}tates)j(Free)g(Trade)h(Agreement.'')d +(In)j(\\emph{4th)195 312 y(International)d(Conference)h(on)i(the)g +(Restructuring)d(of)k(the)e(Economic)g(and)195 420 y(Political)f +(System)h(in)h({J}apan)f(and)h({E}urope},)e(edited)h(by)h(C.~Lambert) +195 528 y(and)g(G.~Holst.)e(Milan,)h(Italy,)g(21--25)g(May)h(1996.)g +(147--156.)e(Singapore:)195 636 y(World)h(Scientific.)147 +851 y(\\bibitem[Mazzeo\(1991\)]{Ma)o(z91})147 959 y(Mazzeo,)g(J.)h +(1991.)g(\\emph{Comparability)42 b(of)47 b(Computer)f(and)h +(Paper-and-Pencil)195 1067 y(Scores})f(\(College)f(Board)i(Rep.)f(No.)h +(91\).)g(Princeton,)e(NJ:)i(Educational)195 1175 y(Testing)f(Service.) +147 1391 y(\\bibitem[Miller\(1993\)]{Mi)o(l93})147 1499 +y(Miller,)g(M.~E.)g(1993.)h(\\emph{The)e(Interactive)g(Tester)h +(\(Version)f(4.0\))195 1607 y([Computer)g(software]}.)g(Westminster,)f +(CA:)j(Psytek)f(Services.)147 1823 y(\\bibitem[Misner\(1973\)]{cw)o +(m73})147 1931 y(Misner,)g(Charles~W.)f(1973.)h(``Efficient)f +(Algorithms)g(for)i(Layer)f(Assignment)195 2039 y(Problems.'')f(In)i +(\\emph{Gravitation)c(in)k(a)h(Collapsing)d({U}niverse},)f(Vol.~5)195 +2147 y(of)j(\\emph{Einstein's)c(Legacy},)j(edited)g(by)h(Ignatius)f +(Gottlob.)f(2nd)i(ed.)195 2255 y(63--83.)f(San)h(Francisco,)e(CA:)i +(Freeman.)147 2470 y(\\bibitem[Pierce)d(et~al.\(1976\)]{PeaEtAl76})147 +2578 y(Pierce,)i(Ian~F.,)g(Fred)g(Glover,)g(A.~T.)h(Ogilvy,)e(and)i +(A.~R.~S.)f(Clements.)f(1976.)195 2686 y(``A)i(Model)f(of)h(Output,)f +(Employment,)f(Wages)h(and)h(Prices)f(in)h(the)g({UK}.'')f(In)195 +2794 y(\\emph{Computing)e(Tools)i(for)h(Modeling,)e(Optimization)g(and) +h(Simulation:)195 2902 y(Interfaces)f(in)i(Computer)f(Science)f(and)i +(Operations)e(Research},)g(edited)h(by)195 3010 y(Manuel)g(Laguna)g +(and)h(Jos\\'{e}~Luis)d(Gonz\\'{a}les-Velarde.)e(2nd)47 +b(ed.)g(1--24.)195 3118 y(Boston,)f(MA:)h(Cambridge)e(University)g +(Press.)147 3334 y(\\end{thebibliography})147 3569 y +Fy(Eac)m(h)31 b(en)m(try)g(tak)m(es)h(the)e(form:)147 +3783 y Fu(\\bibitem[authors')43 b(names\(date)i(of)i +(publication\)]{key})c(Bibliography)i(entry)147 3998 +y Fy(where)27 b(`)p Fu(authors')46 b(names)p Fy(')26 +b(is)h(the)g(list)h(of)f(names)g(to)h(app)s(ear)f(where)f(the)i +Fu(bibitem)d Fy(is)i(cited)h(in)f(the)147 4106 y(text,)33 +b(and)d(`)p Fu(key)p Fy(')h(is)g(the)g(tag)h(that)g(is)f(to)h(b)s(e)e +(used)h(as)g(an)g(argumen)m(t)g(for)g(the)g Fu(\\cite{})e +Fy(commands)147 4214 y(in)g(the)h(text)g(of)f(the)h(article.)h +Fu(Bibliography)44 b(entry)28 b Fy(should)h(b)s(e)f(the)i(material)g +(that)g(is)g(to)g(app)s(ear)147 4322 y(in)g(the)h(list)g(of)f +(references,)h(suitably)g(formatted.)230 4430 y(Instead)g(of)g(t)m +(yping)g(the)g(bibliograph)m(y)g(b)m(y)f(hand,)g(y)m(ou)h(ma)m(y)g +(prefer)f(to)i(create)g(the)f(list)g(of)g(refer-)147 +4538 y(ences)g(using)f(a)h Ft(Bib)p Fy(T)900 4557 y(E)950 +4538 y(X)f(database.)i(Include)e(the)g(lines)147 4745 +y Fu(\\bibliographystyle{gENO})147 4853 y(\\bibliography{gENOguide})147 +5061 y Fy(where)i(the)h(list)g(of)f(references)h(should)e(app)s(ear,)h +(where)g(gENO.bst)h(is)f(the)g Ft(Bib)p Fy(T)3011 5080 +y(E)3062 5061 y(X)g(st)m(yle)i(\014le)e(for)147 5169 +y(this)25 b(journal)f(and)h(gENOguide.bib)f(is)h(the)g(database)h(of)f +(bibliographic)g(details)h(for)f(the)g(references)147 +5277 y(section)h(included)f(with)f(the)h Fw(gENO)f Fy(L)1446 +5260 y FO(A)1485 5277 y Fy(T)1536 5296 y(E)1586 5277 +y(X)h(st)m(yle)i(guide)e(pac)m(k)-5 b(age)26 b(\(to)g(b)s(e)f(replaced) +g(with)g(the)g(name)147 5384 y(of)35 b(y)m(our)h(o)m(wn)f +Ft(Bib)p Fy(T)863 5404 y(E)913 5384 y(X)g(database\).)i(The)d(L)1676 +5368 y FO(A)1715 5384 y Fy(T)1766 5404 y(E)1817 5384 +y(X)h(source)g(\014le)g(of)h(y)m(our)f(article)h(will)g(extract)h(from) +1845 5967 y(13)p eop end +%%Page: 14 14 +TeXDict begin 14 13 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)440 -149 +y(T)-6 b(able)24 b(2.)58 b FG(gENO)23 b FO(macros.)p +440 -90 2901 9 v 440 8 a Fo(n)p FO(thanks)p Fo(f)p FO(title-page)k(fo)r +(otnote)e(to)f(article)g(title)144 b FG(e.g.)23 b FO(`Corresp)r(onding) +g(author.)h(E-mail:)440 83 y(or)g(author)p Fo(g)1115 +b FO(A.N.)22 b(Author@uio)n(w)n(a.edu')440 232 y Fo(n)p +FO(b)r(egin)p Fo(f)p FO(abstract)p Fo(g)p FO(...)p Fo(n)p +FO(end)p Fo(f)p FO(abstract)p Fo(g)395 b FO(for)23 b(abstract)i(on)f +(titlepage)440 382 y Fo(n)p FO(bm)p Fo(f)p FO(math)h(and)f(sym)n(b)r +(ols)p Fo(g)669 b FO(b)r(old)24 b(italic)f Fm(math)f(and)g(sy)r(mbols) +440 531 y Fo(n)p FO(bi)p Fo(f)p FO(text)p Fo(g)1154 b +FO(b)r(old)24 b(italic)f Fr(text)440 681 y Fo(n)p FO(sf)p +Fo(f)p FO(text)i(or)f(uprigh)n(t)g(sym)n(b)r(ols)f(in)g(math)h(mo)r(de) +p Fo(g)101 b FO(sans)24 b(serif)e Fd(text)i(o)n(r)g(up)n(right)e(symb)r +(ols)e(in)g(math)g(mo)r(de)p 440 722 V 147 944 a Fy(y)m(our)40 +b(.bib)f(\014le)h(only)g(those)g(references)g(that)h(are)f(cited)h(in)e +(that)i(article)g(and)e(list)i(them)e(in)h(the)147 1052 +y(References)31 b(section)h(of)e(it.)230 1160 y(Please)42 +b(include)e(either)h(a)g(cop)m(y)g(of)g(y)m(our)f(.bib)g(\014le)g(or)h +(the)f(\014nal)h(generated)g(.bbl)f(\014le)g(among)147 +1268 y(y)m(our)31 b(source)g(\014les)g(if)g(y)m(our)g(.tex)g(\014le)g +(do)s(es)g(not)g(con)m(tain)h(a)g(reference)f(list)g(in)g(a)g +Fu(thebibliography)147 1376 y Fy(en)m(vironmen)m(t.)147 +1686 y Fx(4.9)105 b Fs(App)-5 b(endic)g(es)147 1852 y +Fy(An)m(y)23 b(app)s(endices)f(should)g(b)s(e)g(placed)h(after)g(the)g +(list)h(of)f(references,)g(b)s(eginning)f(with)g(the)h(command)147 +1960 y Fu(\\appendices)k Fy(follo)m(w)m(ed)33 b(b)m(y)d(the)g(command)g +Fu(\\section)f Fy(for)h(eac)m(h)h(app)s(endix)e(title,)j +Fw(e.g.)147 2117 y Fu(\\appendices)147 2225 y(\\section{This)44 +b(is)k(the)e(title)h(of)g(the)g(first)f(appendix})147 +2333 y(\\section{This)e(is)k(the)e(title)h(of)g(the)g(second)f +(appendix})147 2491 y Fy(pro)s(duces:)147 2650 y Fx(App)s(endix)35 +b(A.)g(This)g(is)g(the)g(title)f(of)h(the)g(\014rst)g(app)s(endix)147 +2858 y(App)s(endix)g(B.)h(This)f(is)g(the)f(title)g(of)h(the)g(second)h +(app)s(endix)230 3017 y Fy(Subsections,)f(equations,)h(\014gures,)e +(tables,)i(etc.)g(within)e(app)s(endices)g(will)i(then)e(b)s(e)g +(automati-)147 3125 y(cally)e(n)m(um)m(b)s(ered)d(as)h(appropriate.)147 +3435 y Fx(4.10)106 b Fs(gENO)38 b(macr)-5 b(os)147 3601 +y Fy(T)d(able)37 b(2)g(giv)m(es)h(a)f(list)g(of)g(macros)f(for)h(use)f +(with)g Fw(gENO)p Fy(.)f(The)h(list)h(displa)m(ys)g(eac)m(h)h(macro's)f +(co)s(de)147 3709 y(and)30 b(a)h(description/demonstration)g(of)g(its)f +(function.)147 4036 y Fx(5.)105 b(Example)35 b(of)g(a)f(section)i +(heading)f(including)h Fc(small)i(caps)p Fx(,)d Fs(italic)p +Fx(,)h(and)f(b)s(old)333 4144 y(Greek)g(suc)m(h)h(as)f +Fh(\024)147 4360 y Fy(The)30 b(follo)m(wing)i(co)s(de)f(sho)m(ws)f(ho)m +(w)g(to)h(ac)m(hiev)m(e)i(this)d(section)i(head:)147 +4518 y Fu(\\section{Example)44 b(of)j(a)g(section)f(heading)g +(including)147 4626 y({\\fontencoding{T1}\\scshap)o(e{sm)o(all)41 +b(caps}},)46 b({\\bi)h(italic},)147 4733 y(and)g(bold)g(Greek)f(such)h +(as)g(${\\bm\\kappa}$}\\label{hea)o(ding)o(s})147 5061 +y Fx(6.)105 b Fs(gENO)44 b Fx(journal)35 b(st)m(yle)147 +5277 y Fy(The)h(notes)h(giv)m(en)h(here)e(relate)i(to)g(common)f(st)m +(yle)h(errors)e(found)f(in)h(man)m(uscripts,)g(but)g(are)h +Fw(not)147 5384 y Fy(in)m(tended)30 b(to)i(b)s(e)d(exhaustiv)m(e.)1845 +5967 y(14)p eop end +%%Page: 15 15 +TeXDict begin 15 14 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)147 -120 +y Fx(6.1)105 b Fs(Hyphens,)39 b(n-rules,)f(m-rules)g(and)g(minus)g +(signs)167 46 y Fy(\(i\))47 b(Hyphens)20 b(\(one)i(dash)f(in)g(T)1219 +66 y(E)1269 46 y(X/L)1406 29 y FO(A)1445 46 y Fy(T)1496 +66 y(E)1547 46 y(X\).)h Fw(gENO)e Fy(uses)h(h)m(yphens)f(for)h(comp)s +(ound)f(adjectiv)m(es)j(\()p Fw(e.g.)309 154 y Fy(lo)m(w-densit)m(y)34 +b(gas,)g(least-squares)g(\014t,)f(t)m(w)m(o-comp)s(onen)m(t)i(mo)s +(del\))f(but)e(not)h(for)g(complex)h(units)309 262 y(or)39 +b(ranges,)g(whic)m(h)g(could)g(b)s(ecome)g(cum)m(b)s(ersome)g(\()p +Fw(e.g.)g Fy(15)h(km)e(s)2672 229 y Fo(\000)p FO(1)2805 +262 y Fy(feature,)i(100{200)i Fe(\026)p Fy(m)309 370 +y(observ)-5 b(ations\).)142 478 y(\(ii\))47 b(n-rules)31 +b(\(t)m(w)m(o)j(dashes)e(in)f(T)1267 497 y(E)1317 478 +y(X/L)1454 461 y FO(A)1493 478 y Fy(T)1544 497 y(E)1595 +478 y(X\).)i(These)f(are)g(used)f(\(a\))j(to)e(denote)h(a)f(range)h(\() +p Fw(e.g.)f Fy(1.6{)309 586 y(2.2)d Fe(\026)p Fy(m\);)f(\(b\))g(to)g +(denote)h(the)f(joining)g(of)g(t)m(w)m(o)h(w)m(ords)e(of)h(equal)h +(standing)e(\()p Fw(e.g.)h Fy(Kolmogoro)m(v{)309 694 +y(Smirno)m(v)i(test,)h(Herbig{Haro)h(ob)5 b(ject\).)117 +802 y(\(iii\))47 b(The)21 b(m-rule)g(\(three)h(dashes)f(in)g(T)1453 +821 y(E)1503 802 y(X/L)1640 785 y FO(A)1679 802 y Fy(T)1730 +821 y(E)1781 802 y(X\))h(ma)m(y)g(b)s(e)f(used)g(as)g(an)h(alternativ)m +(e)i(to)e(paren)m(theses)309 910 y(\()p Fw(e.g.)30 b +Fy(`the)h(results|assuming)e(no)i(temp)s(erature)f(gradien)m(t|are)i +(indicativ)m(e)g(of)e(.)16 b(.)f(.)g('\).)119 1017 y(\(iv\))47 +b(The)32 b(min)m(us)h(sign)g(\(one)h(dash)e(in)h(T)1537 +1037 y(E)1587 1017 y(X/L)1724 1001 y FO(A)1763 1017 y +Fy(T)1814 1037 y(E)1865 1017 y(X\))g(is)g(pro)s(duced)f(automatically)k +(in)c(math)h(mo)s(de)309 1125 y(b)m(y)d(use)g(of)h(a)f(single)h(dash,)f +Fw(e.g.)1549 1340 y Fv(y)1594 1354 y Fn(i)1647 1340 y +Fq(2)25 b(f\000)p Fy(1)p Fv(;)15 b Fy(1)p Fq(g)93 b(8)p +Fv(i)25 b Fq(2)g Fv(V)5 b(;)1125 b Fy(\(4\))309 1554 +y(where)30 b Fq(j)20 b(\000)g Fv(V)g Fq(j)26 b Fy(=)f +Fv(A)996 1521 y FO(2)1056 1554 y Fy(+)19 b Fv(B)1220 +1521 y FO(2)1259 1554 y Fv(:)309 1706 y Fy(is)30 b(pro)s(duced)f(b)m(y) +309 1880 y Fu(\\begin{equation})309 1988 y(y_{i})46 b(\\in)h(\\{-1,)f +(1)i(\\})f(\\quad)f(\\forall)g(i)i(\\in)f(V,)309 2096 +y(\\end{equation})309 2204 y(\\noindent)e(where)h($|-V|=A^2+B^2.$)147 +2505 y Fx(6.2)105 b Fs(R)-5 b(efer)g(enc)g(es)147 2671 +y Fy(It)34 b(is)g(imp)s(ortan)m(t)g(to)g(use)g(the)g(correct)h +(reference)f(st)m(yle,)h(details)g(of)f(whic)m(h)f(can)h(b)s(e)g(found) +e(in)i(Sec-)147 2779 y(tion)d(4.8)h(ab)s(o)m(v)m(e.)147 +3081 y Fx(6.3)105 b Fs(Maths)37 b(fonts)147 3247 y Fy(Scalar)g(v)-5 +b(ariables)36 b(should)f(b)s(e)g(mediumface)h(italic)i(\()p +Fw(e.g.)e Fv(s)f Fy(for)h(sp)s(eed\);)f(v)m(ectors)j(should)d(b)s(e)g +(b)s(old)147 3355 y(italic)29 b(\()p Fw(e.g.)d Fh(v)j +Fy(for)e(v)m(elo)s(cit)m(y\);)i(matrices)f(should)e(b)s(e)g(b)s(old)f +(roman)i(\(uprigh)m(t\))g(\()p Fw(e.g.)f Fx(A)p Fy(\),)h(and)f(tensors) +147 3462 y(should)h(b)s(e)h(b)s(old)f(uprigh)m(t)g(sans)h(serif)g(\()p +Fw(e.g.)f Ff(L)p Fy(\).)i(Di\013eren)m(tial)h(d,)e(partial)g +(di\013eren)m(tial)i Fe(@)p Fy(,)e(complex)h(i,)147 3570 +y(exp)s(onen)m(tial)j(e,)f(sup)s(erscript)d(T)i(for)g(`transp)s(ose',)h +(sin,)f(cos,)h(tan,)g(log,)h(etc.,)g(should)d(all)i(b)s(e)f(roman.)147 +3678 y(Op)s(enface,)39 b(or)f(`blac)m(kb)s(oard',)i(fon)m(ts)f(can)g(b) +s(e)e(used,)i(for)f(example,)h(for)g(the)g(in)m(tegers)g +Fi(Z)g Fy(and)f(the)147 3786 y(reals)f Fi(R)p Fy(.)f(Sub/sup)s +(erscripts)e(that)i(are)h(ph)m(ysical)g(v)-5 b(ariables)37 +b(should)e(b)s(e)g(italic,)k(while)d(those)g(that)147 +3894 y(are)g(lab)s(els)f(should)f(b)s(e)g(roman)h(\()p +Fw(e.g.)g Fv(C)1548 3908 y Fn(p)1587 3894 y Fy(,)g Fv(T)1700 +3909 y FO(e\013)1782 3894 y Fy(\).)h(Displa)m(y)m(ed)h(equations)e +(should)f(ha)m(v)m(e)i(end-of-line)147 4002 y(punctuation)30 +b(appropriate)h(to)g(the)f(running)f(text)i(sen)m(tence)h(of)f(whic)m +(h)f(they)g(form)g(a)h(part.)147 4320 y Fx(7.)105 b(T)-9 +b(roublesho)s(oting)147 4536 y Fy(Authors)25 b(ma)m(y)h(from)e(time)i +(to)g(time)g(encoun)m(ter)g(problems)e(with)h(the)h(preparation)f(of)g +(their)h(articles)147 4644 y(in)j(L)276 4627 y FO(A)315 +4644 y Fy(T)366 4663 y(E)416 4644 y(X.)g(The)f(appropriate)h(action)h +(to)f(tak)m(e)h(will)f(dep)s(end)e(on)i(the)f(nature)h(of)g(the)f +(problem|the)147 4752 y(follo)m(wing)k(is)e(in)m(tended)h(to)g(act)g +(as)g(a)g(guide.)167 4909 y(\(i\))47 b(If)31 b(the)g(problem)g(is)g +(with)g(L)1237 4893 y FO(A)1276 4909 y Fy(T)1327 4929 +y(E)1378 4909 y(X)g(itself,)i(rather)e(than)g(with)g(the)g(actual)i +(macros,)f(please)g(refer)309 5017 y(to)39 b(the)g(appropriate)g(handb) +s(o)s(oks)e(for)h(initial)i(advice.)2250 4984 y FO(1)2329 +5017 y Fy(If)f(the)g(solution)g(cannot)g(b)s(e)f(found,)p +147 5213 3487 3 v 147 5278 a FD(1)182 5301 y FO(T)221 +5315 y(E)260 5301 y(X:)31 b(Kn)n(uth,)h(D.,)e(1986,)i +FG(The)h(T)1121 5315 y(E)1160 5301 y(X)f(Bo)l(ok)h FO(\(New)e(Y)-6 +b(ork:)31 b(Addison{W)-6 b(esley\);)33 b(L)2420 5290 +y FD(A)2454 5301 y FO(T)2493 5315 y(E)2532 5301 y(X)11 +b(2)2631 5309 y Fn(")2668 5301 y FO(:)30 b(Lamp)r(ort,)i(L.,)e(1994,)i +FG(L)3364 5289 y Fb(A)3396 5301 y FG(T)3435 5315 y(E)3474 +5301 y(X:)g(A)147 5384 y(Do)l(cument)26 b(Pr)l(ep)l(ar)l(ation)i +(System)p FO(,)23 b(2nd)h(ed.)g(\(New)g(Y)-6 b(ork:)23 +b(Addison{W)-6 b(esley\).)1845 5967 y Fy(15)p eop end +%%Page: 16 16 +TeXDict begin 16 15 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)309 -120 +y Fy(and)33 b(y)m(ou)h(susp)s(ect)f(that)h(the)g(problem)f(lies)h(with) +f(the)h(macros,)g(then)g(please)g(con)m(tact)i(T)-8 b(a)m(ylor)309 +-12 y(&)30 b(F)-8 b(rancis)31 b(\()p Fu(latex.helpdesk@tandf.co.u)o(k)p +Fy(\).)142 96 y(\(ii\))47 b(Problems)30 b(with)f(page)i(mak)m(e-up)g +(\()p Fw(e.g.)e Fy(large)i(spaces)g(b)s(et)m(w)m(een)g(paragraphs,)e +(or)h(under)f(head-)309 204 y(ings)d(or)g(\014gures;)g(unev)m(en)g +(columns;)g(\014gures/tables)h(app)s(earing)f(out)g(of)h(order\):)f +(please)h(do)f Fw(not)309 312 y Fy(attempt)34 b(to)f(remedy)f(these)h +(y)m(ourself)g(using)f(`hard')g(page)h(mak)m(e-up)g(commands|the)g(t)m +(yp)s(e-)309 420 y(setter)26 b(will)g(correct)g(suc)m(h)f(problems.)g +(\(Y)-8 b(ou)27 b(ma)m(y)-8 b(,)26 b(if)g(y)m(ou)f(wish,)g(dra)m(w)g +(atten)m(tion)j(to)e(particular)309 528 y(problems)j(when)h(submitting) +g(the)h(\014nal)f(v)m(ersion)g(of)h(y)m(our)f(article.\))117 +636 y(\(iii\))47 b(If)31 b(a)h(required)e(fon)m(t)i(is)g(not)f(a)m(v)-5 +b(ailable)34 b(at)e(y)m(our)g(site,)g(allo)m(w)h(T)2454 +655 y(E)2504 636 y(X)f(to)g(substitute)f(the)h(fon)m(t)g(and)309 +744 y(sp)s(ecify)e(whic)m(h)g(fon)m(t)h(y)m(ou)g(require)f(in)g(the)g +(co)m(v)m(ering)j(letter)e(accompan)m(ying)h(y)m(our)e(\014le\(s\).)147 +1051 y Fx(8.)105 b(Fixes)35 b(for)g(co)s(ding)h(problems)147 +1267 y Fy(This)j(guide)h(has)f(b)s(een)g(designed)g(to)i(minimize)f +(the)f(need)h(for)f(user-de\014ned)f(macros)i(to)g(create)147 +1374 y(sp)s(ecial)26 b(sym)m(b)s(ols.)g(Authors)f(are)h(urged,)g +(wherev)m(er)f(p)s(ossible,)h(to)g(use)f(the)h(follo)m(wing)h(co)s +(ding)f(rather)147 1482 y(than)38 b(to)h(create)g(their)f(o)m(wn.)g +(This)f(will)i(minimize)f(the)g(danger)g(of)g(author-de\014ned)f +(macros)h(b)s(e-)147 1590 y(ing)h(acciden)m(tally)i(`o)m(v)m(erridden') +e(when)e(the)h(article)i(is)f(t)m(yp)s(eset)g(\(see)g(Section)g(4.5,)h +(`T)m(yp)s(esetting)147 1698 y(mathematics'\).)32 b(In)d(cases)i(where) +e(it)i(is)e(essen)m(tial)j(to)e(create)i(y)m(our)d(o)m(wn)h(macros,)h +(these)f(should)f(b)s(e)147 1806 y(displa)m(y)m(ed)i(in)f(the)h(pream)m +(ble)f(of)h(the)g(source)f(\014le)h(b)s(efore)f Fu(\\begin{document})p +Fy(.)167 1981 y(\(i\))47 b(F)-8 b(on)m(ts)28 b(in)e(section)i(headings) +f(and)f(article)j(titles.)f(The)f(follo)m(wing)h(are)f(examples)h(of)f +(st)m(yles)g(that)309 2088 y(sometimes)k(pro)m(v)m(e)g(di\016cult)g(to) +g(co)s(de.)309 2379 y Fs(A)m(rticle)38 b(titles:)309 +2545 y Fx(Generalized)d(Flory)g(theory)g(at)g Fh(\016)29 +b Fv(>)c Fx(50)1899 2512 y Fo(\016)309 2761 y Fy(is)30 +b(pro)s(duced)f(b)m(y)309 2919 y Fu(\\title{Generalized)43 +b(Flory)j(theory)g(at)691 3027 y(${\\bm\\delta)e(>)k({\\bfseries)d +(50}^\\circ}$})309 3251 y Fx(Ion{ion)35 b(correlations)h(in)f(H)17 +b Ft(i)r(i)36 b Fx(regions)309 3467 y Fy(is)30 b(pro)s(duced)f(b)m(y) +309 3624 y Fu(\\title{Ion--ion)43 b(correlations)i(in)i(H\\,{\\sc)f +(ii})h(regions})142 3782 y Fy(\(ii\))g(n-rules,)41 b(m-rules,)g(h)m +(yphens)f(and)g(min)m(us)h(signs)g(\(see)h(Section)g(6.1)h(for)e +(correct)h(usage\).)h(T)-8 b(o)309 3890 y(create)32 b(the)e(correct)i +(sym)m(b)s(ols)e(in)g(the)g(sen)m(tence)408 4039 y FN(The)22 +b(high-resolution)f(observ)-5 b(ations)20 b(w)n(ere)h(made)g(along)g(a) +h(line)g(at)f(an)h(angle)f(of)h Fa(\000)p FN(15)3090 +4009 y FH(\016)3149 4039 y FN(\(East)f(from)408 4139 +y(North\))28 b(from)f(the)h(axis)f(of)h(the)g(jet|whic)n(h)g(runs)f +(North{South.)309 4313 y Fy(y)m(ou)k(w)m(ould)f(use)g(the)g(follo)m +(wing)i(co)s(de:)309 4471 y Fu(The)47 b(high-resolution)c(observations) +i(were)h(made)h(along)f(a)i(line)f(at)g(an)309 4579 y(angle)f(of)h +($-15^\\circ$)e(\(East)h(from)h(North\))f(from)h(the)g(axis)f(of)i(the) +309 4687 y(jet---which)d(runs)h(North--South.)117 4845 +y Fy(\(iii\))h(F)-8 b(on)m(ts)32 b(in)e(sup)s(erscripts)f(and)h +(subscripts.)g(Subscripts)f(and)h(sup)s(erscripts)f(will)i +(automatically)309 4953 y(come)d(out)f(in)g(the)g(correct)h(fon)m(t)g +(and)e(size)i(in)f(a)g(math)h(en)m(vironmen)m(t)f(\()p +Fw(e.g.)g Fy(enclosed)h(b)m(y)f(`)p Fu($)p Fy(')g(de-)309 +5061 y(limiters)21 b(in)g(running)e(text)j(or)e(within)h +Fu(\\[...\\])e Fy(or)h(the)h(`equation')h(en)m(vironmen)m(t)g(for)e +(displa)m(y)m(ed)309 5169 y(equations\).)33 b(Y)-8 b(ou)32 +b(can)h(create)g(the)f(output)g Fh(k)1918 5183 y Fn(x)1994 +5169 y Fy(b)m(y)g(t)m(yping)g Fu(${\\bm)46 b(k_x}$)p +Fy(.)31 b(If)g(the)h(subscripts)309 5277 y(or)f(sup)s(erscripts)e(need) +h(to)i(b)s(e)e(other)h(than)g(italic,)i(they)e(should)f(b)s(e)g(co)s +(ded)h(individually|see)309 5384 y(\(vi\))g(b)s(elo)m(w.)1845 +5967 y(16)p eop end +%%Page: 17 17 +TeXDict begin 17 16 bop -600 -543 a FO(April)22 b(29,)i(2013)142 +b(Engineering)24 b(Optimization)142 b(gENOguide)119 -120 +y Fy(\(iv\))47 b(Calligraphic)23 b(letters)h(\(upp)s(ercase)e(only\).)i +(Normal)f(calligraphic)h(can)f(b)s(e)f(pro)s(duced)f(with)h +Fu(\\cal)309 -12 y Fy(as)30 b(usual)g(\(in)h(math)f(mo)s(de\).)145 +96 y(\(v\))46 b(Automatic)30 b(scaling)g(of)e(brac)m(k)m(ets.)j(The)d +(co)s(des)g Fu(\\left)f Fy(and)h Fu(\\right)f Fy(should)h(b)s(e)g(used) +f(to)j(scale)309 204 y(brac)m(k)m(ets)i(automatically)h(to)e(\014t)f +(the)h(equation)g(b)s(eing)f(set.)h(F)-8 b(or)31 b(example,)g(to)h(get) +1657 470 y Fv(v)d Fy(=)c Fv(x)1893 341 y Fj(\022)1970 +408 y Fv(N)30 b Fy(+)20 b(2)p 1970 449 240 4 v 2048 532 +a Fv(N)2219 341 y Fj(\023)309 735 y Fy(use)30 b(the)g(co)s(de)309 +893 y Fu(\\[)452 1001 y(v)47 b(=)h(x)f(\\left\()f(\\frac{N+2}{N})f +(\\right\))309 1109 y(\\])119 1267 y Fy(\(vi\))i(Roman)34 +b(fon)m(t)h(in)f(equations.)h(It)g(is)f(often)h(necessary)f(to)h(mak)m +(e)h(some)e(sym)m(b)s(ols)g(roman)g(in)g(an)309 1375 +y(equation)d(\()p Fw(e.g.)f Fy(units,)g(non-v)-5 b(ariable)31 +b(subscripts\).)f(F)-8 b(or)31 b(example,)g(to)g(get)1130 +1637 y Fv(\033)e Fq(')c Fy(\()p Fv(r)s(=)p Fy(13)31 b +Fv(h)1604 1600 y Fo(\000)p FO(1)1729 1637 y Fy(Mp)s(c\))1941 +1600 y Fo(\000)p FO(0)p Fn(:)p FO(9)2090 1637 y Fv(;)198 +b(!)28 b Fy(=)2504 1576 y Fv(N)i Fq(\000)20 b Fv(N)2771 +1590 y FO(s)p 2504 1616 300 4 v 2589 1700 a Fv(N)2662 +1714 y FO(R)309 1893 y Fy(use)30 b(the)g(co)s(de:)309 +2051 y Fu(\\[)452 2159 y(\\sigma)46 b(\\simeq)g(\(r/13~h^{-1})452 +2267 y(~{\\rm)g(Mpc}\)^{-0.9},)f(\\qquad)h(\\omega)452 +2374 y(=\\frac{N-N_{{\\rm)d(s}}}{N_{{\\rm)i(R}}})309 +2482 y(\\])309 2640 y Fy(The)39 b Fu(siunits)f Fy(pac)m(k)-5 +b(age)41 b(of)f(macros)g(for)g(t)m(yp)s(esetting)h(units)e(is)h(also)g +(compatible)h(with)f(the)309 2748 y Fw(gENO)29 b Fy(class)i(\014le.)147 +3072 y Fx(9.)105 b(Obtaining)35 b(the)f(gENO2e)g(class)i(\014le)147 +3288 y(9.1)105 b Fs(Via)38 b(the)g(T)-8 b(aylor)37 b(&)g(F)-8 +b(r)j(ancis)38 b(website)147 3454 y Fy(This)20 b(Guide)h(for)f(Authors) +g(and)g(the)h(gENO2e.cls)i(class)e(\014le)g(ma)m(y)g(b)s(e)f(obtained)h +(via)h(the)f(Instructions)147 3562 y(for)30 b(Authors)g(on)g(the)h(T)-8 +b(a)m(ylor)32 b(&)e(F)-8 b(rancis)31 b(homepage)g(for)f(the)h(journal.) +230 3670 y(Please)d(note)e(that)h(the)f(class)h(\014le)f(calls)i(up)d +(the)h(follo)m(wing)i(op)s(en-source)e(L)2775 3653 y +FO(A)2814 3670 y Fy(T)2865 3689 y(E)2915 3670 y(X)g(pac)m(k)-5 +b(ages,)28 b(whic)m(h)147 3778 y(will,)45 b(for)f(con)m(v)m(enience,)i +(unpac)m(k)e(with)f(the)h(do)m(wnloaded)h(Guide)e(for)h(Authors)g(and)f +(class)i(\014le:)147 3885 y(amsbsy)-8 b(.st)m(y;)23 b(amsfon)m(ts.st)m +(y;)h(amsmath.st)m(y;)g(amssym)m(b.st)m(y;)f(eps\014g.st)m(y;)g +(graphicx.st)m(y;)g(natbib.st)m(y;)147 3993 y(rotating.st)m(y;)33 +b(sub\014gure.st)m(y)-8 b(.)147 4301 y Fx(9.2)105 b Fs(Via)38 +b(e-mail)147 4467 y Fy(This)26 b(Guide)h(for)g(Authors,)g(the)g(class)h +(\014le)f(and)f(the)h(asso)s(ciated)i(op)s(en-source)d(L)2906 +4450 y FO(A)2945 4467 y Fy(T)2996 4486 y(E)3047 4467 +y(X)h(pac)m(k)-5 b(ages)29 b(are)147 4575 y(also)c(a)m(v)-5 +b(ailable)27 b(b)m(y)d(e-mail.)h(Requests)g(should)e(b)s(e)g(addressed) +g(to)i Fu(latex.helpdesk@tandf.co.u)o(k)147 4683 y Fy(clearly)32 +b(stating)f(for)g(whic)m(h)f(journal)f(y)m(ou)i(require)f(the)h(Guide)f +(for)g(Authors)g(and/or)g(class)h(\014le.)1845 5967 y(17)p +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/PeCO-EO/gENOguide.tex b/PeCO-EO/gENOguide.tex new file mode 100644 index 0000000..ed8fa81 --- /dev/null +++ b/PeCO-EO/gENOguide.tex @@ -0,0 +1,1059 @@ +% gENOguide.tex +% v4.0 released April 2013 + +\documentclass{gENO2e} + +\begin{document} + +%\jvol{00} \jnum{00} \jyear{2013} \jmonth{April} + +\articletype{GUIDE} + +\title{{\itshape Engineering Optimization} \LaTeX\ style guide for authors\\ (Style 2 + Chicago author-date reference style)} + +\author{A.N. Author$^{a}$$^{\ast}$\thanks{$^\ast$Corresponding author. Email: latex.helpdesk@tandf.co.uk +\vspace{6pt}} and I.T. Consultant$^{b}$\\\vspace{6pt} $^{a}${\em{Taylor \& Francis, 4 Park Square, Milton Park, Abingdon, UK}}; +$^{b}${\em{Institut f\"{u}r Informatik, Albert-Ludwigs-Universit\"{a}t, Freiburg, +Germany}}\\\received{v4.1 released April 2013} } + +\maketitle + +\begin{abstract} +This guide is for authors who are preparing articles for the Taylor \& Francis journal {\it Engineering Optimization} ({\it gENO}) +using the \LaTeX\ document preparation system and the class file {\tt gENO2e.cls}, which is available via the journal's homepage on the Taylor \& Francis +website. Authors planning to submit articles in \LaTeX\ are advised to use {\tt gENO2e.cls} as early as possible in the creation of their files. + +\begin{keywords}submission instructions; source file coding; +environments; references citation; fonts; numbering {\bf{(Please provide three to five keywords taken +from terms used in your manuscript}}) +\end{keywords} + +\centerline{\bfseries Index to information contained in this guide}\vspace{12pt} + +\hbox to \textwidth{\hsize\textwidth\vbox{\hsize18pc +\hspace*{-12pt} {1.} Introduction\\ +\hspace*{7pt} {1.1.} The {\it gENO} document class\\ +\hspace*{7pt} {1.2.} Submission of \LaTeX\ articles\\ +\hspace*{24pt} to the journal\\ +{2.} Using the {\it gENO} class file\\ +{3.} Additional features\\ +\hspace*{10pt}{3.1.} Footnotes to article titles\\ +\hspace*{24pt} and authors' names\\ +\hspace*{10pt}{3.2.} Abstracts\\ +\hspace*{10pt}{3.3.} Lists\\ +\hspace*{10pt}{3.4.} Landscape pages\\ +{4.} Some guidelines for using\\ +\hspace*{6pt} standard features\\ +\hspace*{10pt}{4.1.} Sections\\ +\hspace*{10pt}{4.2.} Illustrations (figures)\\ +\hspace*{10pt}{4.3.} Tables\\ +\hspace*{10pt}{4.4.} Theorem-like environments\\ +\noindent \hspace*{7pt} {4.5.} Typesetting mathematics\\ +\hspace*{24pt} {4.5.1.} Displayed mathematics\\ +\hspace*{24pt} {4.5.2.} Bold math italic symbols\\ +\hspace*{24pt} {4.5.3.} Bold Greek\\ +\hspace*{24pt} {4.5.4.} Upright Greek characters \\ +\hspace*{47pt} and the upright partial \\ +\hspace*{47pt} derivative sign \\} +\hspace{-24pt}\vbox{\noindent\hsize18pc +\hspace*{7pt} {4.6.} Acknowledgements \\ +\hspace*{7pt} {4.7.} Notes \\ +\hspace*{7pt} {4.8.} References \\ +\hspace*{24pt} {4.8.1.} References cited in the\\ \hspace*{52pt}text \\ +\hspace*{24pt} {4.8.2.} The list of references\\ +\hspace*{7pt} {4.9.} Appendices \\ +\hspace*{7pt} {4.10.} {\it gENO} macros \\ +{5.} Example of a section heading \\* +\hspace*{6pt} including {\fontencoding{T1}\scshape{small caps}}, {\it italic}, \\ +\hspace*{6pt} and bold Greek such as ${\bm\kappa}$ \\ +{6.} {\em gENO} journal style \\ +\hspace*{10pt}{6.1.} Hyphens, n-rules, m-rules and\\ +\hspace*{27pt}minus signs\\ +\hspace*{10pt}{6.2.} References \\ +\hspace*{10pt}{6.3.} Maths fonts\\ +{7.} Troubleshooting\\ +{8.} Fixes for coding problems\\ +{9.} Obtaining the gENO2e class file\\ +\hspace*{10pt}{9.1} Via the Taylor \& Francis \\ +\hspace*{27pt}website\\ +\hspace*{10pt}{9.2} Via e-mail\\\\ + }} +\end{abstract} + + +\section{Introduction} + +In order to assist authors in the process of preparing a manuscript for {\itshape Engineering Optimization} ({\it gENO}), the journal's layout style has been implemented as a \LaTeXe\ class file based on the {\tt article} document class. A \textsc{Bib}\TeX\ style file is also provided to assist with the formatting of your references in a style appropriate to that of the journal. + +Commands that differ from or are provided in addition to the standard \LaTeXe\ interface are explained in this guide. The guide alone is not intended as a substitute for an appropriate \LaTeXe\ manual. + +The {\tt gENOguide}.tex file can also be used as a template for composing an article for submission by cutting, pasting, inserting and +deleting text as appropriate, using the \LaTeX\ environments provided (\textit{e.g.} \verb"\begin{equation}", +\verb"\begin{enumerate}"). + +{\bf{Please note that the index following the abstract in this guide is provided for information only. An index is not required in submitted articles.}} + + +\subsection{The {\bi gENO} document class} + +The {\it gENO} class file preserves the standard \LaTeXe\ interface such that any document that can be produced using {\tt article.cls} can also be produced using the {\it gENO} document class. +However, the measure (the width of the text on a page) is slightly narrower than the default for {\tt article.cls}, therefore line breaks will change and some long equations may need to be reformatted accordingly. + +If your article is accepted for publication in the journal, it will be typeset in Monotype Times. As most authors do not own this font, it is likely that the page make-up will alter with the change of font. For this reason, please ignore details such as slightly long lines of text, page stretching, or figures falling out of synchronization with their citations in the text: these details will be dealt with by the typesetter. Similarly, it is unnecessary to spend time addressing warnings in the log file---if your .tex file compiles to produce a PDF file that correctly reflects how you wish your article to appear, such warnings will not prevent your source files being imported into the typesetter's program. + + +\subsection{Submission of \LaTeX\ articles to the journal}\label{S1.2} + +Manuscripts for possible publication in the journal should be submitted to the Editors for review as directed in the journal's Instructions for Authors, which may be found at {\tt{http://www.tandf.co.uk/journals/authors/genoauth.asp}}. + +Manuscripts created using \LaTeX\ should be converted to PDF format prior to submission. The \LaTeX\ source files and any graphics files will be required in addition to the final PDF version when final, revised versions of accepted manuscripts are submitted. + +`Open-source' \LaTeXe\ should be used in preference to proprietary systems such as TCILaTeX or Scientific WorkPlace; similarly, class files such as REVTeX4 that produce a document in the style of a different publisher and journal should not be used for preference. + +Authors who wish to incorporate Encapsulated PostScript artwork directly in their articles can do so by using +Tomas Rokicki's {\tt EPSF} macros (which are supplied with the DVIPS PostScript driver). See Section~\ref{eps}, +which also demonstrates how to treat landscape pages. Please remember to supply any additional figure macros you +use with your article in the preamble before \verb"\begin{document}". Authors should not attempt to use +implementation-specific \verb"\special"s directly. + +Ensure that any author-defined macros are gathered together in the source file, just before the +\verb"\begin{document}" command. + +Please note that if serious problems are encountered with the coding of an article (missing author-defined macros, +for example), it may prove necessary to divert the article to conventional typesetting, \textit{i.e.} it will be re-keyed. + + +\section{Using the {\bi gENO} class file} + +If the file {\tt gENO2e.cls} is not already in the appropriate system directory for \LaTeXe\ files, either +arrange for it to be put there, or copy it to your working folder. In order to use the {\it gENO} document class, replace the command +\verb"\documentclass{article}" at the beginning of your document with the command \verb"\documentclass{gENO2e}". + +The following document-class options should \emph{not} be used with the {\it gENO} class file: +% +\begin{itemize} + \item {\tt 10pt}, {\tt 11pt}, {\tt 12pt}---unavailable; + \item {\tt oneside}, {\tt twoside}---not necessary, oneside is the default; + \item {\tt leqno}, {\tt titlepage}---should not be used; + \item {\tt onecolumn}---not necessary as it is the default style. +\end{itemize} +% +The {\tt geometry} package and commands associated with it should also \emph{not} be used to adjust the page dimensions. + + +\section{Additional features} + +\subsection{Footnotes to article titles and authors' names} + +The \verb"\thanks" control sequence may be used to produce a footnote to either the title or authors' names. Footnote symbols for this purpose should be used in the order:\break +$\dagger$ (coded as \verb"\dagger"), $\ddagger$ (\verb"\ddagger"), $\S$ (\verb"\S"), $\P$ (\verb"\P"), $\|$ (\verb"\|"), $\dagger\dagger$ (\verb"\dagger\dagger"),\break +$\ddagger\ddagger$ (\verb"\ddagger\ddagger"), $\S\S$ (\verb"\S\S"), $\P\P$ (\verb"\P\P"), $\|\|$ (\verb"\|\|"). + +Note that footnotes to the main text will automatically be assigned the superscript + symbols 1, 2, 3,... by the class file, beginning afresh on each +page.\footnote{These symbols will be changed to the style of the journal by the + typesetter during preparation of your proofs. If preferred, the \texttt{endnotes} package + may be used instead to set the notes in consecutive order at the end + of your text, before the bibliography.} + +The title, author(s) and affiliation(s) should be followed by the {\verb"\maketitle"} command. If preparing an anonymized version for peer review, {\verb"\maketitle"} may follow directly after the title in order to shield the authors' identities from the reviewers. + +\subsection{Abstracts} + +At the beginning of your article, the title should be generated in the usual way using the {\verb"\maketitle"} +command. Immediately following the title you should include an abstract. The abstract should be enclosed within +an {\tt abstract} environment. For example, the titles for this guide were produced by the following source code: +% +\begin{verbatim} +\title{{\itshape Engineering Optimization} \LaTeX\ style guide +for authors (Style 2 + Chicago author-date reference style)} + +\author{A.N. Author$^{a}$$^{\ast}$\thanks{$^\ast$Corresponding +author. Email: latex.helpdesk@tandf.co.uk \vspace{6pt}} and I.T. +Consultant$^{b}$\\\vspace{6pt} $^{a}${\em{Taylor \& Francis, +4 Park Square, Milton Park, Abingdon, UK}}; $^{b}${\em{Institut +f\"{u}r Informatik, Albert-Ludwigs-Universit\"{a}t, Freiburg, +Germany}}\\\received{v4.1 released April 2013} } + +\maketitle + +\begin{abstract} +This guide is for authors who are preparing articles for the Taylor +\& Francis journal {\em Engineering Optimization} ({\it gENO}\,) +using the \LaTeX\ document preparation system and the class file +{\tt gENO2e.cls}, which is available via the journal's homepage +on the Taylor \& Francis website. Authors planning to submit +articles in \LaTeX\ are advised to use {\tt gENO2e.cls} as early +as possible in the creation of their files. +\end{abstract} +\end{verbatim} + + +\subsection{Lists} + +The {\it gENO} class file provides numbered and unnumbered lists using the {\tt enumerate} environment and bulleted +lists using the {\tt itemize} environment. + +The enumerated list numbers each list item with arabic numerals by default, \textit{e.g.} +% +\begin{enumerate} + \item first item + \item second item + \item third item +\end{enumerate} +% +was produced by +% +\begin{verbatim} +\begin{enumerate} + \item first item + \item second item + \item third item +\end{enumerate} +\end{verbatim} +% +Alternative numbering styles can be achieved by inserting an optional argument in square brackets to each \verb"\item", \textit{e.g.} \verb"\item[(i)] first item" to create a list numbered with roman numerals. + +Unnumbered lists are also provided using the {\tt enumerate} environment, \textit{e.g.} +% +\begin{enumerate} + \item[] First unnumbered indented item without label. + \item[] Second unnumbered item. + \item[] Third unnumbered item. +\end{enumerate} +% +was produced by: +% +\begin{verbatim} +\begin{enumerate} + \item[] First unnumbered indented item without label. + \item[] Second unnumbered item. + \item[] Third unnumbered item. +\end{enumerate} +\end{verbatim} + +Bulleted lists are provided using the {\tt itemize} environment. For example, +% +\begin{itemize} + \item First bulleted item + \item Second bulleted item + \item Third bulleted item +\end{itemize} +% +was produced by: +% +\begin{verbatim} +\begin{itemize} + \item First bulleted item + \item Second bulleted item + \item Third bulleted item +\end{itemize} +\end{verbatim} + + +\subsection{Landscape pages}\label{eps} + +If a table or illustration is too wide to fit the standard measure, it must be turned, with its caption, through +90$^{\circ}$ anticlockwise. Landscape illustrations and/or tables can be produced directly using the gENO2e style +file using \verb"\usepackage{rotating}" after \verb"\documentclass{gENO2e}". The following commands can be used +to produce such pages. +% +\begin{verbatim} +\setcounter{figure}{2} +\begin{sidewaysfigure} +\centerline{\epsfbox{fig1.eps}} +\caption{This is an example of a figure caption.} +\label{landfig} +\end{sidewaysfigure} +\end{verbatim} +% +\begin{verbatim} +\setcounter{table}{0} +\begin{sidewaystable} + \tbl{The Largest Optical Telescopes.} + \begin{tabular}{@{}llllcll} + . + . + . + \end{tabular}\label{tab1} +\end{sidewaystable} +\end{verbatim} +% +Before any float environment, use the \verb"\setcounter" command +as above to fix the numbering of the caption. Subsequent captions +will then be automatically renumbered accordingly. + + +\section[]{Some guidelines for using standard features} + +The following notes are intended to help you achieve the best effects with the gENO2e class file. + + +\subsection{Sections} + +\LaTeXe\ provides five levels of section headings and they are all defined in the gENO2e class file: +\begin{enumerate} + \item[(A)] \verb"\section" + \item[(B)] \verb"\subsection" + \item[(C)] \verb"\subsubsection" + \item[(D)] \verb"\paragraph" + \item[(E)] \verb"\subparagraph" +\end{enumerate} +Numbering is automatically generated for section, subsection, subsubsection and paragraph headings. If you need +additional text styles in the headings, see the examples in Section~5. + + +\subsection{Illustrations (figures)} + +The {\it gENO} class file will cope with most positioning of your illustrations and you should not normally use the +optional positional qualifiers of the {\tt figure} environment, which would override these decisions. See +`Instructions for Authors' in the journal's homepage on the Taylor \& Francis website for how to submit artwork (please note that requests to supply figures separately from text are for the benefit of authors using Microsoft Word; authors using \LaTeX\ may include illustrations at the appropriate locations in their PDF file). The original source files of any illustrations will be required when the final, revised version is submitted. Authors should ensure that their figures are suitable (in terms of lettering size, etc.) for the reductions they intend. + +Figure captions should appear below the figure itself, therefore the \verb"\caption" command should appear after the +figure. For example, Figure~\ref{sample-figure} with caption and sub-captions is produced using the following +commands: +% +\begin{verbatim} +\begin{figure} +\begin{center} +\begin{minipage}{120mm} +\subfigure[An example of an individual figure sub-caption.]{ +\resizebox*{6cm}{!}{\includegraphics{senu_gr1.eps}}} +\subfigure[An example of an individual figure sub-caption.]{ +\resizebox*{6cm}{!}{\includegraphics{senu_gr2.eps}}} +\caption{\label{fig2} Example of a two-part figure with individual + sub-captions showing that captions are flush left and justified if + greater than one line of text, otherwise centred under the figure.} +\label{sample-figure} +\end{minipage} +\end{center} +\end{figure} +\end{verbatim} + +\begin{figure} +\begin{center} +\begin{minipage}{120mm} +\subfigure[An example of an individual figure sub-caption.]{ +\resizebox*{6cm}{!}{\includegraphics{senu_gr1.eps}}}\hspace{5pt} +\subfigure[An example of an individual figure sub-caption.]{ +\resizebox*{6cm}{!}{\includegraphics{senu_gr2.eps}}} +\caption{\label{fig2} Example of a two-part figure with individual +sub-captions showing that captions are flush left and justified if +greater than one line of text, otherwise centred under the figure.} +\label{sample-figure} +\end{minipage} +\end{center} +\end{figure} + +The control sequences \verb"\epsfig{}", \verb"\subfigure{}" and \verb"\includegraphics{}" require epsfig.sty, +subfigure.sty and graphicx.sty. These are called by the gENO2e class file and are included with the \LaTeX\ +package for this journal for convenience. + +To ensure that figures are correctly numbered automatically, the \verb"\label{}" command should be inserted just +after \verb"\caption{}". + + +\subsection{Tables} + +The {\it gENO} class file will cope with most positioning of your tables and you should not normally use the optional +positional qualifiers of the {\tt table} environment, which would override these decisions. The table caption +appears above the body of the table in {\it gENO} style, therefore the \verb"\tbl" command should appear before +the body of the table. + +The {\tt tabular} environment can be used as illustrated here to produce tables with single thick and thin horizontal rules, which +are allowed, if desired. Thick rules should be used at the head and foot only and thin rules elsewhere. + +Commands to redefine quantities such as \verb"\arraystretch" should be omitted. For example, Table~\ref{symbols} +is produced using the following commands. Note that \verb"\rm" will produce a roman character in math mode. There +are also \verb"\bf" and \verb"\it", which produce bold face and text italic in math mode. + +\begin{table} +\tbl{Radio-band beaming model parameters for\\ {FSRQs and BL Lacs.}} +{\begin{tabular}[l]{@{}lcccccc} +\toprule + Class$^{\rm a}$ & $\gamma _1$ & $\gamma _2$$^{\rm b}$ + & $\langle \gamma \rangle$ + & $G$ & $|{\bm f}|$ & $\theta _{c}$ \\ +\colrule + BL Lacs &5 & 36 & 7 & $-4.0$ & $1.0\times 10^{-2}$ & 10$^\circ$ \\ + FSRQs & 5 & 40 & 11 & $-2.3$ & $0.5\times 10^{-2}$ & 14$^\circ$ \\ +\botrule +\end{tabular}} +\tabnote{$^{\rm a}$This footnote shows what footnote symbols to use.} +\tabnote{$^{\rm b}$This footnote shows the text turning over when a long footnote is added.} +\label{symbols} +\end{table} + + +\begin{verbatim} +\begin{table} +\tbl{Radio-band beaming model parameters for {FSRQs and BL Lacs.}} +{\begin{tabular}{@{}lcccccc} +\toprule + Class$^{\rm a}$ & $\gamma _1$ & $\gamma _2$$^{\rm b}$ + & $\langle \gamma \rangle$ + & $G$ & $|{\bm f}|$ & $\theta _{c}$ \\ +\colrule + BL Lacs &5 & 36 & 7 & $-4.0$ & $1.0\times 10^{-2}$ & 10$^\circ$ \\ + FSRQs & 5 & 40 & 11 & $-2.3$ & $0.5\times 10^{-2}$ & 14$^\circ$ \\ +\botrule +\end{tabular}} +\tabnote{$^{\rm a}$This footnote shows what footnote symbols to use.} +\tabnote{$^{\rm b}$This footnote shows the text turning over when a + long footnote is added.} +\label{symbols} +\end{table} +\end{verbatim} + +To ensure that tables are correctly numbered automatically, the \verb"\label{}" command should be inserted just before \verb"\end{table}". + +Tables produced using the {\tt booktabs} package of macros for typesetting tables are also compatible with the {\it gENO} class file. + + +\subsection{Theorem-like environments} + +The {\it gENO} style provides for the following theorem-like environments. + +\begin{theorem} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the structure +of the MAX-CUT. +\end{theorem} +\begin{lemma} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the structure +of the MAX-CUT. +\end{lemma} +\begin{corollary} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the +structure of the MAX-CUT. +\end{corollary} +\begin{proposition} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the structure +of the MAX-CUT. +\end{proposition} +\begin{definition} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the structure +of the MAX-CUT. +\end{definition} +\begin{proof} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the structure +of the MAX-CUT. +\end{proof} +\begin{remark} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the +structure of the MAX-CUT problem. +\end{remark} +\begin{algorithm} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the +structure of the MAX-CUT problem. +\end{algorithm} + +\noindent These were produced by: +\begin{verbatim} +\begin{theorem} +More recent algorithms for solving the semidefinite programming +relaxation are particularly efficient, because they explore the +structure of the MAX-CUT. +\end{theorem} + +\begin{lemma} +... +... +\end{lemma} + +\begin{corollary} +... +... +\end{corollary} + +\begin{proposition} +... +... +\end{proposition} + +\begin{definition} +... +... +\end{definition} + +\begin{proof} +... +... +\end{proof} + +\begin{remark} +... +... +\end{remark} + +\begin{algorithm} +... +... +\end{algorithm} + +\end{verbatim} + + +\subsection{Typesetting mathematics}\label{TMth} + +\subsubsection{Displayed mathematics} + +The {\it gENO} class file will set displayed mathematics centred on the measure without equation numbers, provided +that you use the \LaTeXe\ standard control sequences open (\verb"\[") and close (\verb"\]") square brackets as +delimiters. The equation +\[ + \sum_{i=1}^p \lambda_i = {\rm trace}({\textrm{\bf S}})\qquad + i\in {\mathbb R} +\] +\normalfont was typeset using the commands +% +\begin{verbatim} +\[ + \sum_{i=1}^p \lambda_i = {\rm trace}({\textrm{\bf S}})\qquad + i\in {\mathbb R} +\]. +\end{verbatim} + +For those of your equations that you wish to be automatically +numbered sequentially throughout the text, use the {\tt{equation}} +environment, \textit{e.g.} + +\begin{equation} + \sum_{i=1}^p \lambda_i = {\rm trace}({\textrm{\bf S}})\qquad + i\in {\mathbb R} +\end{equation} +% +was typeset using the commands + +\begin{verbatim} +\begin{equation} + \sum_{i=1}^p \lambda_i = {\rm trace}({\textrm{\bf S}})quad + i\in {\mathbb R} +\end{equation} +\end{verbatim} + +Part numbers for sets of equations may be generated using the +{\tt{subequations}} environment, \textit{e.g.} +\begin{subequations} \label{subeqnexample} +\begin{equation} + \varepsilon \rho w_{tt}(s,t) + = + N[w_{s}(s,t),w_{st}(s,t)]_{s}, + \label{subeqnpart} +\end{equation} +\begin{equation} + w_{tt}(1,t)+N[w_{s}(1,t),w_{st}(1,t)] = 0, +\end{equation} +\end{subequations} +which was generated using the control sequences + +\begin{verbatim} +\begin{subequations} \label{subeqnexample} +\begin{equation} + \varepsilon \rho w_{tt}(s,t) + = + N[w_{s}(s,t),w_{st}(s,t)]_{s}, + \label{subeqnpart} +\end{equation} +\begin{equation} + w_{tt}(1,t)+N[w_{s}(1,t),w_{st}(1,t)] = 0, +\end{equation} +\end{subequations} +\end{verbatim} +This is made possible by the package {\tt{subeqn}}, which is called +by the class file. If you put the \verb"\label{}" just after the +\verb"\begin{subequations}" line, references will be to the +collection of equations, `(\ref{subeqnexample})' in the example +above. Or, like the example code above, you can reference each +equation individually---\textit{e.g.} `(\ref{subeqnpart})'. + + +\subsubsection{Bold math italic symbols} + +To get bold math italic you can use \verb"\bm", which works for +all sizes, \textit{e.g.} +% +\begin{verbatim} +\sffamily +\begin{equation} + {\rm d}({\bm s_{t_{\bm u}}) = \langle{\bm\alpha({\sf{\textbf L}})} + [RM({\bm X}_y + {\bm s}_t) - RM({\bm x}_y)]^2 \rangle +\end{equation} +\normalfont +\end{verbatim} +% +produces\sffamily +\begin{equation} + {\rm d}({\bm s_{t_{\bm u}}}) = \langle {\bm\alpha({\sf{\textbf L}})}[RM({\bm X}_y + + {\bm s}_t) - RM({\bm x}_y)]^2 \rangle +\end{equation}\normalfont +Note that subscript, superscript, subscript to subscript, etc. +sizes will take care of themselves and are italic, not bold, +unless coded individually. \verb"\bm" produces the same effect as +\verb"\boldmath". \verb"\sffamily"...\verb"\normalfont" allows +upright sans serif fonts to be created in math mode by using the +control sequence `\verb"\sf"'. + + +\subsubsection{Bold Greek}\label{boldgreek} + +Bold lowercase as well as uppercase Greek characters can be +obtained by \verb"{\bm \gamma}", which gives ${\bm \gamma}$, and +\verb"{\bm \Gamma}", which gives ${\bm \Gamma}$. + + +\subsubsection{Upright lowercase Greek characters and the upright partial derivative sign}\label{upgreek} + +Upright lowercase Greek characters can be obtained with the class file by inserting the letter `u' in the control +code for the character, \textit{e.g.} \verb"\umu" and \verb"\upi" produce $\umu$ (used, for example, in the symbol for the +unit microns---$\umu{\rm m}$) and $\upi$ (the ratio of the circumference to the diameter of a circle). Similarly, +the control code for the upright partial derivative $\upartial$ is \verb"\upartial". + +\subsection{Acknowledgements} + +This unnumbered section, \textit{e.g.} \verb"\section*{Acknowledgement(s)}", should be used for thanks, grant details, etc. +and placed before any Notes or References sections. + +\subsection{Notes} + +This unnumbered section, \textit{e.g.} \verb"\section*{Note(s)}", may be placed before any References section. + + +\subsection{References}\label{refs} + +\subsubsection{References cited in the text} + +References should be cited in the text in `Chicago author-date' style, separated by semi-colons, \textit{e.g.} (Green 2002; Harlow 1983; Wegener and Petty 1994) or `...~see Smith (1985,~75)'. If there are two authors with the same surname, use the first initials with the surnames, \textit{e.g.} (E. Johnson 2001; L. Johnson 1998). If there are three authors, list them all in every citation, \textit{e.g.} (Kernis, Cornell, and Harlow 1993). For more than three authors, cite the first author's name followed by et al. For two or more sources by the same author(s) in the same year, use lower-case letters (a, b, c,...) with the year to order the entries in the Reference list and use these letters with the year in the in-text citations, \textit{e.g.} (Green 1981a,b). Further details on this reference style can be found in the journal's Instructions for Authors. + +Each bibliographical entry has a key, which is assigned by the author and used to refer to that entry in the text. In this document, the key \verb"ev94" in the citation form \verb"\citep{ev94}" produces `\citep{ev94}', and the keys in the citation \verb"\citep{Eri1984,GloRib51,PeaEtAl76}" produce `\citep{Eri1984,GloRib51,PeaEtAl76}'. The appropriate citation style for different situations can be obtained, for example, by \verb"\citet{hk97}" for `\citet{hk97}', \verb"\citet{Bar91,Mil93,Maz91}" for `\citet{Bar91,Mil93,Maz91}', or \verb"\citealt{Holl04}" for `\citealt{Holl04}'. Optional notes may be included at the beginning and end of a citation by the use of square brackets, \textit{e.g.} \verb"\citep[see][123]{Agu95}" produces `\citep[see][123]{Agu95}'. Citation of the year alone may be produced by \verb"\citeyear{cwm73}", \textit{i.e.} `\citeyear{cwm73}', or \verb"\citeyearpar{glov86}", \textit{i.e.} `\citeyearpar{glov86}'. + + +\subsubsection{The list of references} + +References should be listed at the end of the main text in alphabetical order, then chronologically (earliest first), with full page ranges (where appropriate) and issue numbers (for journals paginated by issue). If a reference has more than ten named authors, list only the first seven, followed by `et al.'. + +The following list shows some references prepared in the style of the journal: + +\begin{thebibliography}{12} + +\bibitem[Agutter(1995)]{Agu95} +Agutter, A.~J. 1995. ``The Linguistic Significance of Current {B}ritish + Slang.'' Unpublished doctoral dissertation, Edinburgh University, UK. + +\bibitem[Barlow(1991)]{Bar91} +Barlow, D.~H. 1991. ``Diagnoses, Dimensions, and {DSM-IV} [Special issue].'' + \emph{Journal of Abnormal Psychology} 100 (3). + +\bibitem[Ericsson and Simon(1984)]{Eri1984} +Ericsson, K.~Anders, and Herbert~A. Simon. 1984. \emph{Protocol Analysis: + Verbal Reports as Data}. Cambridge, MA: MIT Press. + +\bibitem[Evans(1994)]{ev94} +Evans, W.~A. 1994. ``Approaches to Intelligent Information Retrieval.'' + \emph{Information Processing and Management} 7 (2): 147--168. + +\bibitem[Glover(1986)]{glov86} +Glover, Fred. 1986. ``Hilbert Modular Forms and the {G}alois Representations + Associated to {H}ilbert--{B}lumenthal Abelian Varieties.'' Ph.D. thesis, + Harvard University, Cambridge, MA. + +\bibitem[Glover, Smith, and Ribeiro(1951)]{GloRib51} +Glover, Fred, Raymond Smith, and C.~C. Ribeiro, eds. 1951. \emph{Lessons of the {B}ritish War + Economy}. vol.~5. 2nd ed. Westport, CT: Greenwood Press. + +\bibitem[Holland(2004)]{Holl04} +Holland, M. 2004. ``Guide to Citing Internet Sources.'' Accessed~November 4, + 2012. + http://www.bournemouth.ac.uk/library/using/guide\_to\_citing\_internet\_sourc.html. + +\bibitem[Kern(1997)]{hk97} +Kern, Hudson. 1997. ``The Resurgent {J}apanese Economy and a {J}apan--{U}nited + {S}tates Free Trade Agreement.'' In \emph{4th International Conference on the + Restructuring of the Economic and Political System in {J}apan and {E}urope}, + edited by C.~Lambert and G.~Holst. Milan, Italy, 21--25 May 1996. 147--156. + Singapore: World Scientific. + +\bibitem[Mazzeo(1991)]{Maz91} +Mazzeo, J. 1991. \emph{Comparability of Computer and Paper-and-Pencil Scores} + (College Board Rep. No. 91). Princeton, NJ: Educational Testing Service. + +\bibitem[Miller(1993)]{Mil93} +Miller, M.~E. 1993. \emph{The Interactive Tester (Version 4.0) [Computer + software]}. Westminster, CA: Psytek Services. + +\bibitem[Misner(1973)]{cwm73} +Misner, Charles~W. 1973. ``Efficient Algorithms for Layer Assignment + Problems.'' In \emph{Gravitation in a Collapsing {U}niverse}, Vol.~5 of + \emph{Einstein's Legacy}, edited by Ignatius Gottlob. 2nd ed. 63--83. San + Francisco, CA: Freeman. + +\bibitem[Pierce et~al.(1976)]{PeaEtAl76} +Pierce, Ian~F., Fred Glover, A.~T. Ogilvy, and A.~R.~S. Clements. 1976. + ``A Model of Output, Employment, Wages and Prices in the {UK}.'' In + \emph{Computing Tools for Modeling, Optimization and Simulation: Interfaces + in Computer Science and Operations Research}, edited by Manuel Laguna and + Jos\'{e}~Luis Gonz\'{a}les-Velarde. 2nd ed. 1--24. Boston, MA: + Cambridge University Press. + +\end{thebibliography} + +\bigskip +\noindent This was produced by typing: +\medskip + +\begin{verbatim} +\begin{thebibliography}{12} + +\bibitem[Agutter(1995)]{Agu95} +Agutter, A.~J. 1995. ``The Linguistic Significance of Current {B}ritish + Slang.'' Unpublished doctoral dissertation, Edinburgh University, UK. + +\bibitem[Barlow(1991)]{Bar91} +Barlow, D.~H. 1991. ``Diagnoses, Dimensions, and {DSM-IV} [Special + issue].'' \emph{Journal of Abnormal Psychology} 100 (3). + +\bibitem[Ericsson and Simon(1984)]{Eri1984} +Ericsson, K.~Anders, and Herbert~A. Simon. 1984. \emph{Protocol + Analysis: Verbal Reports as Data}. Cambridge, MA: MIT Press. + +\bibitem[Evans(1994)]{ev94} +Evans, W.~A. 1994. ``Approaches to Intelligent Information Retrieval.'' + \emph{Information Processing and Management} 7 (2): 147--168. + +\bibitem[Glover(1986)]{glov86} +Glover, Fred. 1986. \emph{Hilbert Modular Forms and the {G}alois + Representations Associated to {H}ilbert--{B}lumenthal Abelian + Varieties}. Ph.D. thesis, Harvard University, Cambridge, MA. + +\bibitem[Glover, Smith, and Ribeiro(1951)]{GloRib51} +Glover, Fred, Raymond Smith, and C.~C. Ribeiro, eds. 1951. + \emph{Lessons of the {B}ritish War Economy}. vol.~5. 2nd ed. + Westport, CT: Greenwood Press. + +\bibitem[Holland(2004)]{Holl04} +Holland, M. 2004. ``Guide to Citing Internet Sources.'' Accessed + November 4, 2012. + http://www.bournemouth.ac.uk/library/using/guide\_to\_citing\_internet\_sourc.html. + +\bibitem[Kern(1997)]{hk97} +Kern, Hudson. 1997. ``The Resurgent {J}apanese Economy and a + {J}apan--{U}nited {S}tates Free Trade Agreement.'' In \emph{4th + International Conference on the Restructuring of the Economic and + Political System in {J}apan and {E}urope}, edited by C.~Lambert + and G.~Holst. Milan, Italy, 21--25 May 1996. 147--156. Singapore: + World Scientific. + +\bibitem[Mazzeo(1991)]{Maz91} +Mazzeo, J. 1991. \emph{Comparability of Computer and Paper-and-Pencil + Scores} (College Board Rep. No. 91). Princeton, NJ: Educational + Testing Service. + +\bibitem[Miller(1993)]{Mil93} +Miller, M.~E. 1993. \emph{The Interactive Tester (Version 4.0) + [Computer software]}. Westminster, CA: Psytek Services. + +\bibitem[Misner(1973)]{cwm73} +Misner, Charles~W. 1973. ``Efficient Algorithms for Layer Assignment + Problems.'' In \emph{Gravitation in a Collapsing {U}niverse}, Vol.~5 + of \emph{Einstein's Legacy}, edited by Ignatius Gottlob. 2nd ed. + 63--83. San Francisco, CA: Freeman. + +\bibitem[Pierce et~al.(1976)]{PeaEtAl76} +Pierce, Ian~F., Fred Glover, A.~T. Ogilvy, and A.~R.~S. Clements. 1976. + ``A Model of Output, Employment, Wages and Prices in the {UK}.'' In + \emph{Computing Tools for Modeling, Optimization and Simulation: + Interfaces in Computer Science and Operations Research}, edited by + Manuel Laguna and Jos\'{e}~Luis Gonz\'{a}les-Velarde. 2nd ed. 1--24. + Boston, MA: Cambridge University Press. + +\end{thebibliography} +\end{verbatim} +\medskip +\noindent Each entry takes the form: +\medskip +\begin{verbatim} +\bibitem[authors' names(date of publication)]{key} Bibliography entry +\end{verbatim} +\medskip +\noindent where `\texttt{authors' names}' is the list of names to appear where the \verb"bibitem" is cited in the text, and `{\tt key}' is the tag that is to be used as an argument for the \verb"\cite{}" commands in the text of the article. {\tt Bibliography entry} should be the material that is to appear in the list of references, suitably formatted. + +Instead of typing the bibliography by hand, you may prefer to create the list of references using a \textsc{Bib}\TeX\ database. Include the lines \vspace{12pt} + +\noindent\verb"\bibliographystyle{gENO}" +\newline\verb"\bibliography{gENOguide}" +\vspace{12pt} + +\noindent where the list of references should appear, where gENO.bst is the \textsc{Bib}\TeX\ style file for this journal and gENOguide.bib is the database of bibliographic details for the references section included with the {\itshape gENO} \LaTeX\ style guide package (to be replaced with the name of your own \textsc{Bib}\TeX\ database). The \LaTeX\ source file of your article will extract from your .bib file only those references that are cited in that article and list them in the References section of it. + +Please include either a copy of your .bib file or the final generated .bbl file among your source files if your .tex file does not contain a reference list in a {\tt{thebibliography}} environment. + + +\subsection{Appendices}\label{appendices} + +Any appendices should be placed after the list of references, beginning with the +command \verb"\appendices" followed by the command \verb"\section" +for each appendix title, \textit{e.g.} +% +\begin{verbatim} +\appendices +\section{This is the title of the first appendix} +\section{This is the title of the second appendix} +\end{verbatim} + +\noindent produces:\medskip + +\noindent \textbf{Appendix A. This is the title of the first appendix}\vspace{12pt} + +\noindent \textbf{Appendix B. This is the title of the second appendix} + +\medskip +Subsections, equations, figures, tables, etc. within appendices will then be automatically numbered as appropriate. + + +\subsection{{\bi gENO} macros} + +Table~\ref{macros} gives a list of macros for use with {\it gENO}. The list displays each macro's code and a +description/demonstration of its function. + +\begin{table} \tbl{{\it gENO} macros.}{\begin{tabular}{@{}ll}\toprule +$\backslash$thanks\{title-page footnote to article title & \textit{e.g.} `Corresponding author. E-mail:\\ +or author\} & A.N. Author@uiowa.edu'\\\cr + +$\backslash$begin\{abstract\}...$\backslash$end\{abstract\} & for +abstract on titlepage\\\\ $\backslash$bm\{math and symbols\} & +bold italic $\bm{math\;and\;symbols}$\\\cr $\backslash$bi\{text\} +& bold italic \bi{text}\\\cr $\backslash$sf\{text or upright +symbols in math mode\} & sans serif \sf{text} or +$\sf{upright\;symbols\;in\;math\;mode}$ +\\\botrule +\end{tabular}} +\label{macros} +\end{table} + +\section{Example of a section heading including {\fontencoding{T1}\scshape{small caps}}, + {\bi italic}, and bold Greek such as ${\bm\kappa}$}\label{headings} +% +The following code shows how to achieve this section head: +% +\begin{verbatim} +\section{Example of a section heading including +{\fontencoding{T1}\scshape{small caps}}, {\bi italic}, +and bold Greek such as ${\bm\kappa}$}\label{headings} +\end{verbatim} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\section{{\textit{gENO}} journal style} + +The notes given here relate to common style errors found in manuscripts, but are {\itshape not\/} +intended to be exhaustive. + +\subsection{Hyphens, n-rules, m-rules and minus signs}\label{dashes} + +\begin{enumerate} +\item[(i)] Hyphens (one dash in \TeX/\LaTeX). {\it gENO} uses hyphens for compound adjectives (\textit{e.g.}\ low-density gas, least-squares fit, +two-component model) but not for complex units or ranges, which could become cumbersome (\textit{e.g.}\ 15~km~s$^{-1}$ +feature, 100--200~$\umu$m observations). + +\item[(ii)] n-rules (two dashes in \TeX/\LaTeX). These are used (a) to denote a range (\textit{e.g.}\ 1.6--2.2~$\umu$m); +(b) to denote the joining of two words of equal standing (\textit{e.g.}\ Kolmogorov--Smirnov test, Herbig--Haro object). + +\item[(iii)] The m-rule (three dashes in \TeX/\LaTeX) may be used as an alternative to parentheses (\textit{e.g.}\ `the results---assuming no temperature gradient---are indicative of \ldots'). + +\item[(iv)] The minus sign (one dash in \TeX/\LaTeX) is produced +automatically in math mode by use of a single dash, \textit{e.g.} +\begin{equation} +y_{i} \in \{-1, 1 \} \quad \forall i \in V, +\end{equation} +\noindent where $|-V|=A^2+B^2.$\medskip + +\noindent is produced by + +\begin{verbatim} +\begin{equation} +y_{i} \in \{-1, 1 \} \quad \forall i \in V, +\end{equation} +\noindent where $|-V|=A^2+B^2.$ +\end{verbatim} + +\end{enumerate} + + +\subsection{References} + +It is important to use the correct reference style, details of which can be found in Section~\ref{refs} above. + +\subsection{Maths fonts} + +Scalar variables should be mediumface italic (\textit{e.g.} $s$ for +speed); vectors should be bold italic (\textit{e.g.} $\bm v$ for velocity); +matrices should be bold roman (upright) (\textit{e.g.} $\bf A$), and +tensors should be bold upright sans serif (\textit{e.g.} {\sffamily{\textbf +L}}). Differential d, partial differential $\upartial$, complex i, +exponential e, superscript T for `transpose', sin, cos, tan, log, +etc., should all be roman. Openface, or `blackboard', fonts can be +used, for example, for the integers $\mathbb Z$ and the reals +$\mathbb R$. Sub/superscripts that are physical variables should +be italic, while those that are labels should be roman (\textit{e.g.}\ +$C_p$, $T_{\rm eff}$). Displayed equations should have end-of-line +punctuation appropriate to the running text sentence of which they +form a part. + + +\section{Troubleshooting} + +Authors may from time to time encounter problems with the preparation +of their articles in \LaTeX\/. The appropriate action to +take will depend on the nature of the problem---the following is +intended to act as a guide. +% +\begin{enumerate} +\item[(i)] If the problem is with \LaTeX\ itself, rather than with the +actual macros, please refer to the appropriate handbooks for +initial advice.\footnote{\TeX: Knuth, D., 1986, {\it The \TeX\ +Book} (New York: Addison--Wesley); \LaTeXe: Lamport, L., 1994, +{\it \LaTeX: A Document Preparation System}, 2nd ed. (New +York: Addison--Wesley).} If the solution cannot be found, and you +suspect that the problem lies with the macros, then please contact +Taylor \& Francis ({\tt latex.helpdesk@tandf.co.uk}). + +\item[(ii)] Problems with page make-up (\textit{e.g.}\ large spaces between paragraphs, or under headings or +figures; uneven columns; figures/tables appearing out of order): +please do {\itshape not\/} attempt to remedy these yourself using +`hard' page make-up commands---the typesetter will correct such +problems. (You may, if you wish, draw attention to particular +problems when submitting the final version of your article.) + +\item[(iii)] If a required font is not available at your site, allow \TeX\ +to substitute the font and specify which font you require in the +covering letter accompanying your file(s). +\end{enumerate} + + +\section{Fixes for coding problems} + +This guide has been designed to minimize the need for user-defined macros to create special symbols. Authors +are urged, wherever possible, to use the following coding rather than to create their own. This will minimize +the danger of author-defined macros being accidentally `overridden' when the article is typeset (see +Section~\ref{TMth}, `Typesetting mathematics'). In cases where it is essential to create your own macros, +these should be displayed in the preamble of the source file before \verb"\begin{document}". + +\begin{enumerate} +\item[(i)] Fonts in section headings and article titles. The following are examples +of styles that sometimes prove difficult to code. + + +\subsection*{Article titles:} + +\hsize380pt\bf{\noindent Generalized Flory theory at ${\bm\delta > +{\bf + 50}^\circ}$}\\ + + \noindent\normalfont is produced by +\begin{verbatim} +\title{Generalized Flory theory at + ${\bm\delta > {\bfseries 50}^\circ}$} +\end{verbatim} +\bigskip + +{\bf{\noindent Ion--ion correlations in H\,{\sc ii} regions}}\\ + +\noindent\normalfont is produced by +% +\begin{verbatim} +\title{Ion--ion correlations in H\,{\sc ii} regions} +\end{verbatim} + + +\stepcounter{enumi} + +\item[(ii)] n-rules, m-rules, hyphens and minus signs (see Section~\ref{dashes} for +correct usage). To create the correct symbols in the sentence +% +\begin{quote} +The high-resolution observations were made along a line at an +angle of $-15^\circ$ (East from North) from the axis of the +jet---which runs North--South. +\end{quote} +you would use the following code: +% +\begin{verbatim} +The high-resolution observations were made along a line at an +angle of $-15^\circ$ (East from North) from the axis of the +jet---which runs North--South. +\end{verbatim} + +\item[(iii)] Fonts in superscripts and subscripts. Subscripts and superscripts will automatically come out in the correct font +and size in a math environment (\textit{e.g.} enclosed by `\verb"$"' +delimiters in running text or within \verb"\[...\]" or the +`equation' environment for displayed equations). You can create +the output ${\bm k_x}$ by typing \verb"${\bm k_x}$". If the +subscripts or superscripts need to be other than italic, they +should be coded individually---see (vi) below. + +\item[(iv)] Calligraphic letters (uppercase only). +% +% +Normal calligraphic can be produced with \verb"\cal" as usual (in +math mode). + +\item[(v)] Automatic scaling of brackets. The codes \verb"\left" and +\verb"\right" should be used to scale brackets automatically to +fit the equation being set. For example, to get +\[ + v = x \left( \frac{N+2}{N} \right) +\] +use the code +% +\begin{verbatim} +\[ + v = x \left( \frac{N+2}{N} \right) +\] +\end{verbatim} + +\item[(vi)] Roman font in equations. It is often necessary to make some +symbols roman in an equation (\textit{e.g.}\ units, non-variable +subscripts). For example, to get +\[ + \sigma \simeq (r/13~h^{-1}~{\rm Mpc})^{-0.9}, + \qquad \omega = \frac{N-N_{\rm s}}{N_{\rm R}} +\] +\noindent use the code: +% +\begin{verbatim} +\[ + \sigma \simeq (r/13~h^{-1} + ~{\rm Mpc})^{-0.9}, \qquad \omega + =\frac{N-N_{{\rm s}}}{N_{{\rm R}}} +\] +\end{verbatim} +The {\tt siunits} package of macros for typesetting units is also compatible with the {\it gENO} class file. +\end{enumerate} + + +\section{Obtaining the gENO2e class file}\label{FTP} + +\subsection{Via the Taylor \& Francis website} + +This Guide for Authors and the gENO2e.cls class file may be obtained via the Instructions for Authors +on the Taylor \& Francis homepage for the journal. + +Please note that the class file calls up the following open-source \LaTeX\ packages, which will, for convenience, +unpack with the downloaded Guide for Authors and class file: amsbsy.sty; amsfonts.sty; amsmath.sty; amssymb.sty; epsfig.sty; graphicx.sty; natbib.sty; rotating.sty; subfigure.sty. + +\subsection{Via e-mail} + +This Guide for Authors, the class file and the associated open-source \LaTeX\ packages are also available by +e-mail. Requests should be addressed to {\tt latex.helpdesk@tandf.co.uk} clearly stating for which journal you +require the Guide for Authors and/or class file. + +\label{lastpage} + +\end{document} diff --git a/PeCO-EO/genolatex.zip b/PeCO-EO/genolatex.zip new file mode 100644 index 0000000..bc13a68 Binary files /dev/null and b/PeCO-EO/genolatex.zip differ diff --git a/PeCO-EO/graphicx.sty b/PeCO-EO/graphicx.sty new file mode 100644 index 0000000..1ff76dd --- /dev/null +++ b/PeCO-EO/graphicx.sty @@ -0,0 +1,238 @@ +%% +%% This is file `graphicx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% graphicx.dtx (with options: `package') +%% +%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz +%% Copyright (C) 1995 1996 1997 1999 David Carlisle +%% +%% This file is part of the Standard LaTeX `Graphics Bundle'. +%% It may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{graphicx} + [1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)] +\DeclareOption{unknownkeysallowed} + {\PassOptionsToPackage\CurrentOption{keyval}} +\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}} +\ProcessOptions +\RequirePackage{keyval,graphics} +\define@key{Gin}{bb} + {\Gin@bboxtrue\Gread@parse@bb#1 \\} +\define@key{Gin}{bbllx} + {\Gin@bboxtrue\Gin@defaultbp\Gin@llx{#1}} +\define@key{Gin}{bblly} + {\Gin@bboxtrue\Gin@defaultbp\Gin@lly{#1}} +\define@key{Gin}{bburx} + {\Gin@bboxtrue\Gin@defaultbp\Gin@urx{#1}} +\define@key{Gin}{bbury} + {\Gin@bboxtrue\Gin@defaultbp\Gin@ury{#1}} +\define@key{Gin}{hiresbb}[true]{% + \edef\Gread@BBox{% + \@percentchar\@percentchar + \csname if#1\endcsname HiRes\fi + BoundingBox}} +\let\KV@Gin@natwidth\KV@Gin@bburx +\let\KV@Gin@natheight\KV@Gin@bbury +\define@key{Gin}{viewport} + {\let\Gin@viewport@code\Gin@viewport\Gread@parse@vp#1 \\} +\define@key{Gin}{trim} + {\let\Gin@viewport@code\Gin@trim\Gread@parse@vp#1 \\} +\def\Gread@parse@vp#1 #2 #3 #4 #5\\{% + \Gin@defaultbp\Gin@vllx{#1}% + \Gin@defaultbp\Gin@vlly{#2}% + \Gin@defaultbp\Gin@vurx{#3}% + \Gin@defaultbp\Gin@vury{#4}}% +\def\Gin@viewport{% + \let\Gin@ollx\Gin@llx + \let\Gin@olly\Gin@lly + \let\Gin@ourx\Gin@urx + \let\Gin@oury\Gin@ury + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@ + \edef\Gin@urx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@ + \edef\Gin@ury{\strip@pt\dimen@}% + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ + \edef\Gin@llx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ + \edef\Gin@lly{\strip@pt\dimen@}} +\def\Gin@trim{% + \let\Gin@ollx\Gin@llx + \let\Gin@olly\Gin@lly + \let\Gin@ourx\Gin@urx + \let\Gin@oury\Gin@ury + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ + \edef\Gin@llx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ + \edef\Gin@lly{\strip@pt\dimen@}% + \dimen@\Gin@urx\p@\advance\dimen@ -\Gin@vurx\p@ + \edef\Gin@urx{\strip@pt\dimen@}% + \dimen@\Gin@ury\p@\advance\dimen@ -\Gin@vury\p@ + \edef\Gin@ury{\strip@pt\dimen@}} +\let\Gin@vllx\Gin@llx\let\Gin@vlly\Gin@llx +\let\Gin@vurx\Gin@llx\let\Gin@vury\Gin@llx +\define@key{Gin}{angle} + {\Gin@esetsize + \@tempswatrue + \edef\@tempa{\toks@{\noexpand\Gin@erotate{#1}{\the\toks@}}}% + \@tempa} +\define@key{Gin}{origin}[c]{% + \def\Gin@erotate{\Grot@box@kv[origin=#1]}} +\define@key{Gin}{width}{\def\Gin@ewidth{#1}} +\define@key{Gin}{height}{\def\Gin@eheight{#1}} +\define@key{Gin}{totalheight}{% + \def\Gin@eresize{\totalheight}\def\Gin@eheight{#1}} +\define@key{Gin}{keepaspectratio}[true]{% + \lowercase{\Gin@boolkey{#1}}{iso}} +\define@key{Gin}{scale}{% + \if@tempswa + \edef\@tempa{\toks@{\noexpand\Gscale@box{#1}[#1]{\the\toks@}}}% + \@tempa + \else + \def\Gin@req@sizes{% + \def\Gin@scalex{#1}\let\Gin@scaley\Gin@exclamation + \Gin@req@height\Gin@scalex\Gin@nat@height + \Gin@req@width\Gin@scalex\Gin@nat@width}% + \fi + \@tempswatrue} +\define@key{Gin}{draft}[true]{% + \lowercase{\Gin@boolkey{#1}}{draft}} +\define@key{Gin}{clip}[true]{% + \lowercase{\Gin@boolkey{#1}}{clip}} +\define@key{Gin}{type}{% + \def\Ginclude@graphics##1{% + \begingroup + \def\Gin@base{##1}% + \edef\@tempa{{#1}{\Gin@eread}{\Gin@ecom{##1\Gin@eext}}}% + \expandafter\Gin@setfile\@tempa + \endgroup}} +\define@key{Gin}{ext}{\def\Gin@eext{#1}} +\let\Gin@eext\@empty +\define@key{Gin}{read}{% + \def\Gin@eread{#1}% + \def\@tempa{*}\ifx\@tempa\Gin@eread\def\Gin@eread{\Gin@eext}\fi} +\let\Gin@eread\@empty +\define@key{Gin}{command}{\def\Gin@ecom##1{#1}} +\let\Gin@ecom\@firstofone +\def\Gin@boolkey#1#2{% + \csname Gin@#2\ifx\relax#1\relax true\else#1\fi\endcsname} +\def\Gin@eresize{\height} +\def\Gin@esetsize{% + \let\@tempa\Gin@exclamation + \if@tempswa + \edef\@tempa{\toks@{\noexpand + \Gscale@@box\noexpand\Gin@eresize + {\Gin@ewidth}{\Gin@eheight}{\the\toks@}}}% + \@tempa + \else + \ifx\Gin@ewidth\@tempa + \ifx\Gin@eheight\@tempa + \else + \let\Gin@@eheight\Gin@eheight + \def\Gin@req@sizes{% + \Gscale@div\Gin@scaley\Gin@@eheight\Gin@nat@height + \let\Gin@scalex\Gin@exclamation + \setlength\Gin@req@height\Gin@@eheight + \Gin@req@width\Gin@scaley\Gin@nat@width}% + \fi + \else + \ifx\Gin@eheight\@tempa + \let\Gin@@ewidth\Gin@ewidth + \def\Gin@req@sizes{% + \Gscale@div\Gin@scalex\Gin@@ewidth\Gin@nat@width + \let\Gin@scaley\Gin@exclamation + \setlength\Gin@req@width\Gin@@ewidth + \Gin@req@height\Gin@scalex\Gin@nat@height}% + \else + \let\Gin@@ewidth\Gin@ewidth + \let\Gin@@eheight\Gin@eheight + \def\Gin@nosize##1{% + \KV@Gin@natwidth\Gin@@ewidth + \KV@Gin@natheight\Gin@@eheight}% + \def\Gin@req@sizes{% + \Gscale@div\Gin@scalex\Gin@@ewidth\Gin@nat@width + \Gscale@div\Gin@scaley\Gin@@eheight\Gin@nat@height + \ifGin@iso + \ifdim\Gin@scaley\p@>\Gin@scalex\p@ + \let\Gin@scaley\Gin@scalex + \else + \let\Gin@scalex\Gin@scaley + \fi + \fi + \Gin@req@width\Gin@scalex\Gin@nat@width + \Gin@req@height\Gin@scaley\Gin@nat@height}% + \fi + \fi + \fi + \let\Gin@ewidth\Gin@exclamation + \let\Gin@eheight\Gin@ewidth} +\newdimen\Gin@req@height +\newdimen\Gin@req@width +\let\Gin@outer@scalex\relax +\let\Gin@outer@scaley\relax +\let\Gin@angle\relax +\let\Gin@ewidth\Gin@exclamation +\let\Gin@eheight\Gin@ewidth +\def\Gin@scalex{1} +\let\Gin@scaley\Gin@exclamation +\def\Gin@i{% + \def\Gin@req@sizes{% + \Gin@req@height\Gin@nat@height + \Gin@req@width\Gin@nat@width}% + \@ifnextchar[\Gin@ii{\Gin@ii[]}} +\def\Gin@ii[#1]#2{% + \def\@tempa{[}\def\@tempb{#2}% + \ifx\@tempa\@tempb + \def\@tempa{\Gin@iii[#1][}% + \expandafter\@tempa + \else + \begingroup + \@tempswafalse + \toks@{\Ginclude@graphics{#2}}% + \setkeys{Gin}{#1}% + \Gin@esetsize + \the\toks@ + \endgroup + \fi} +\def\rotatebox{% + \@ifnextchar[\Grot@box@kv\Grot@box@std} +\def\Grot@box@std#1#2{% + \Grot@setangle{#1}% + \setbox\z@\hbox{{#2}}% + \Grot@x\z@ + \Grot@y\z@ + \Grot@box} +\def\Grot@box@kv[#1]#2#3{% + \@begin@tempboxa\hbox{#3}% + \Grot@x\width \divide\Grot@x\tw@ + \Grot@y\height \advance\Grot@y-\depth \divide\Grot@y\tw@ + \setkeys{Grot}{#1}% + \setbox\z@\box\@tempboxa + \Grot@setangle{#2}% + \Grot@box + \@end@tempboxa} +\define@key{Grot}{origin}[c]{% + \@tfor\@tempa:=#1\do{% + \if l\@tempa \Grot@x\z@\else + \if r\@tempa \Grot@x\width\else + \if t\@tempa \Grot@y\height\else + \if b\@tempa \Grot@y-\depth\else + \if B\@tempa \Grot@y\z@\fi\fi\fi\fi\fi}} +\define@key{Grot}{x}{\setlength\Grot@x{#1}} +\define@key{Grot}{y}{\setlength\Grot@y{#1}} +\define@key{Grot}{units}{% + \def\Grot@setangle##1{% + \dimen@##1\p@ + \dimen@ii#1\p@ + \divide\dimen@ii360\relax + \divide\dimen@\dimen@ii + \edef\Grot@angle{\number\dimen@}}} +\let\Gin@erotate\Grot@box@std +\endinput +%% +%% End of file `graphicx.sty'. diff --git a/PeCO-EO/natbib.sty b/PeCO-EO/natbib.sty new file mode 100644 index 0000000..ddc4f2c --- /dev/null +++ b/PeCO-EO/natbib.sty @@ -0,0 +1,1256 @@ +%% +%% This is file `natbib.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% natbib.dtx (with options: `package,all') +%% ============================================= +%% IMPORTANT NOTICE: +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +%% +%% This is a generated file. +%% It may not be distributed without the original source file natbib.dtx. +%% +%% Full documentation can be obtained by LaTeXing that original file. +%% Only a few abbreviated comments remain here to describe the usage. +%% ============================================= +%% Copyright 1993-2010 Patrick W Daly +%% Max-Planck-Institut f\"ur Sonnensystemforschung +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@mps.mpg.de +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{natbib} + [2010/09/13 8.31b (PWD, AO)] + + % This package reimplements the LaTeX \cite command to be used for various + % citation styles, both author-year and numerical. It accepts BibTeX + % output intended for many other packages, and therefore acts as a + % general, all-purpose citation-style interface. + % + % With standard numerical .bst files, only numerical citations are + % possible. With an author-year .bst file, both numerical and + % author-year citations are possible. + % + % If author-year citations are selected, \bibitem must have one of the + % following forms: + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}... + % \bibitem[Jones et al., 1990]{key}... + % \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones + % et al.}{1990}]{key}... + % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... + % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... + % \bibitem[\protect\citename{Jones et al., }1990]{key}... + % \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}... + % + % This is either to be made up manually, or to be generated by an + % appropriate .bst file with BibTeX. + % Author-year mode || Numerical mode + % Then, \citet{key} ==>> Jones et al. (1990) || Jones et al. [21] + % \citep{key} ==>> (Jones et al., 1990) || [21] + % Multiple citations as normal: + % \citep{key1,key2} ==>> (Jones et al., 1990; Smith, 1989) || [21,24] + % or (Jones et al., 1990, 1991) || [21,24] + % or (Jones et al., 1990a,b) || [21,24] + % \cite{key} is the equivalent of \citet{key} in author-year mode + % and of \citep{key} in numerical mode + % Full author lists may be forced with \citet* or \citep*, e.g. + % \citep*{key} ==>> (Jones, Baker, and Williams, 1990) + % Optional notes as: + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.,][]{key} ==>> (e.g., Jones et al., 1990) + % \citep[see][pg. 34]{key}==>> (see Jones et al., 1990, pg. 34) + % (Note: in standard LaTeX, only one note is allowed, after the ref. + % Here, one note is like the standard, two make pre- and post-notes.) + % \citealt{key} ==>> Jones et al. 1990 + % \citealt*{key} ==>> Jones, Baker, and Williams 1990 + % \citealp{key} ==>> Jones et al., 1990 + % \citealp*{key} ==>> Jones, Baker, and Williams, 1990 + % Additional citation possibilities (both author-year and numerical modes) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Williams + % \citeyear{key} ==>> 1990 + % \citeyearpar{key} ==>> (1990) + % \citetext{priv. comm.} ==>> (priv. comm.) + % \citenum{key} ==>> 11 [non-superscripted] + % Note: full author lists depends on whether the bib style supports them; + % if not, the abbreviated list is printed even when full requested. + % + % For names like della Robbia at the start of a sentence, use + % \Citet{dRob98} ==>> Della Robbia (1998) + % \Citep{dRob98} ==>> (Della Robbia, 1998) + % \Citeauthor{dRob98} ==>> Della Robbia + % + % + % Citation aliasing is achieved with + % \defcitealias{key}{text} + % \citetalias{key} ==>> text + % \citepalias{key} ==>> (text) + % + % Defining the citation mode and punctual (citation style) + % \setcitestyle{} + % Example: \setcitestyle{square,semicolon} + % Alternatively: + % Use \bibpunct with 6 mandatory arguments: + % 1. opening bracket for citation + % 2. closing bracket + % 3. citation separator (for multiple citations in one \cite) + % 4. the letter n for numerical styles, s for superscripts + % else anything for author-year + % 5. punctuation between authors and date + % 6. punctuation between years (or numbers) when common authors missing + % One optional argument is the character coming before post-notes. It + % appears in square braces before all other arguments. May be left off. + % Example (and default) \bibpunct[, ]{(}{)}{;}{a}{,}{,} + % + % To make this automatic for a given bib style, named newbib, say, make + % a local configuration file, natbib.cfg, with the definition + % \newcommand{\bibstyle@newbib}{\bibpunct...} + % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to + % be called on THE NEXT LATEX RUN (via the aux file). + % + % Such preprogrammed definitions may be invoked anywhere in the text + % by calling \citestyle{newbib}. This is only useful if the style specified + % differs from that in \bibliographystyle. + % + % With \citeindextrue and \citeindexfalse, one can control whether the + % \cite commands make an automatic entry of the citation in the .idx + % indexing file. For this, \makeindex must also be given in the preamble. + % + % Package Options: (for selecting punctuation) + % round - round parentheses are used (default) + % square - square brackets are used [option] + % curly - curly braces are used {option} + % angle - angle brackets are used