summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/sistyle
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/sistyle
Initial commit
Diffstat (limited to 'macros/latex/contrib/sistyle')
-rw-r--r--macros/latex/contrib/sistyle/README60
-rw-r--r--macros/latex/contrib/sistyle/SIstyle-2.3a.pdfbin0 -> 323567 bytes
-rw-r--r--macros/latex/contrib/sistyle/figs/fig1.eps1902
-rw-r--r--macros/latex/contrib/sistyle/figs/fig1.mps257
-rw-r--r--macros/latex/contrib/sistyle/figs/fig2.eps1888
-rw-r--r--macros/latex/contrib/sistyle/figs/fig2.mps239
-rw-r--r--macros/latex/contrib/sistyle/sistyle.dtx2191
-rw-r--r--macros/latex/contrib/sistyle/sistyle.ins76
-rw-r--r--macros/latex/contrib/sistyle/sistyle.sty373
9 files changed, 6986 insertions, 0 deletions
diff --git a/macros/latex/contrib/sistyle/README b/macros/latex/contrib/sistyle/README
new file mode 100644
index 0000000000..ceeffcd35c
--- /dev/null
+++ b/macros/latex/contrib/sistyle/README
@@ -0,0 +1,60 @@
+ The SIstyle package
+ for SI units and number typesetting
+
+ Author: Danie Els
+ Copyright (c) 2004-2008 Danie Els
+ Licence: LaTeX Project Public License
+
+DESCRIPTION
+===========
+
+ The SIstyle package typeset SI units and numbers according
+ to the ISO requirements. Care is taken with font requirements.
+ The emphasis is on ease of use, but it is the users
+ responsibility to know the rules and how to use SI units.
+
+ e.g.: \SI{1}{N}=\SI{1}{kg.m/s^2}
+
+
+
+INSTALLATION
+============
+
+ The most basic installation is to copy sistyle.sty to your
+ working directory or to a directory where TeX can find it.
+
+ For a full installation, copy the following files to you
+ (local) TEXMF tree and into the specified directories.
+
+ -- STYLE FILES --
+
+ <texmf>\tex\latex\SIstyle\sistyle.sty
+
+ The style file was obtain by running "latex sistyle.ins"
+
+ -- SOURCE FILES --
+
+ <texmf>\source\latex\SIstyle\sistyle.dtx
+ sistyle.ins
+ fig1.(mps/eps)
+ fig2.(mps/eps)
+
+ graphs_src\fig1.mp
+ graphs_src\fig1.mp
+ graphs_src\MPfig.bat
+ graphs_src\readme_figs.txt
+ graphs_src\unitstep.m
+ graphs_src\grphset.m
+
+ -- USER DOCUMENTATION --
+
+ <texmf>\doc\latex\SIstyle\SIstyle-2.3a.pdf
+
+ The user manual for SIstyle package was produced by executing:
+
+ pdflatex sistyle.dtx
+ pdflatex sistyle.dtx
+ makeindex -s gglo.ist -o sistyle.gls sistyle.glo
+ makeindex -s gind.ist -o sistyle.ind sistyle.idx
+ pdflatex sistyle.dtx
+ pdflatex sistyle.dtx
diff --git a/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf b/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf
new file mode 100644
index 0000000000..d03bb641ab
--- /dev/null
+++ b/macros/latex/contrib/sistyle/SIstyle-2.3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/sistyle/figs/fig1.eps b/macros/latex/contrib/sistyle/figs/fig1.eps
new file mode 100644
index 0000000000..5233edb692
--- /dev/null
+++ b/macros/latex/contrib/sistyle/figs/fig1.eps
@@ -0,0 +1,1902 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software
+%%Title: fig1.dvi
+%%CreationDate: Thu Dec 14 12:08:44 2006
+%%BoundingBox: 148 504 385 668
+%%DocumentFonts: LMRoman10-Regular CMMI10 CMR10
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: DVIPS -Ppdf -G0 -E -o fig1.eps fig1.dvi
+%DVIPSParameters: dpi=8000
+%DVIPSSource: TeX output 2006.12.14:1208
+%%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: alt-rule.pro 0 0
+%!
+% Patch by TVZ
+% Makes dvips files draw rules with stroke rather than fill.
+% Makes narrow rules more predictable at low resolutions
+% after distilling to PDF.
+% May have unknown consequences for very thick rules.
+% Tested only with dvips 5.85(k).
+TeXDict begin
+/QV {
+ gsave newpath /ruleY X /ruleX X
+ Rx Ry gt
+ { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
+ { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
+ ifelse
+ setlinewidth 0 setlinecap stroke grestore
+} bind def
+end
+
+%%EndProcSet
+%%BeginProcSet: lm-ec.enc 0 0
+% This file belongs to the Latin Modern package. The work is released under
+% the GUST Font Source License. See the MANIFEST.txt and README.eng files
+% for the details. For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+
+/enclmec[
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase
+/guilsinglleft
+/guilsinglright
+/quotedblleft
+/quotedblright
+/quotedblbase
+/guillemotleft
+/guillemotright
+/endash
+/emdash
+/cwm
+/perthousandzero
+/dotlessi
+/dotlessj
+/ff
+/fi
+/fl
+/ffi
+/ffl
+/visiblespace
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/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
+/hyphen.alt
+/Abreve
+/Aogonek
+/Cacute
+/Ccaron
+/Dcaron
+/Ecaron
+/Eogonek
+/Gbreve
+/Lacute
+/Lcaron
+/Lslash
+/Nacute
+/Ncaron
+/Eng
+/Ohungarumlaut
+/Racute
+/Rcaron
+/Sacute
+/Scaron
+/Scedilla
+/Tcaron
+/Tcedilla
+/Uhungarumlaut
+/Uring
+/Ydieresis
+/Zacute
+/Zcaron
+/Zdotaccent
+/IJ
+/Idotaccent
+/dcroat
+/section
+/abreve
+/aogonek
+/cacute
+/ccaron
+/dcaron
+/ecaron
+/eogonek
+/gbreve
+/lacute
+/lcaron
+/lslash
+/nacute
+/ncaron
+/eng
+/ohungarumlaut
+/racute
+/rcaron
+/sacute
+/scaron
+/scedilla
+/tcaron
+/tcedilla
+/uhungarumlaut
+/uring
+/ydieresis
+/zacute
+/zcaron
+/zdotaccent
+/ij
+/exclamdown
+/questiondown
+/sterling
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Adieresis
+/Aring
+/AE
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Edieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Idieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Odieresis
+/OE
+/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
+/oe
+/oslash
+/ugrave
+/uacute
+/ucircumflex
+/udieresis
+/yacute
+/thorn
+/germandbls
+] def
+
+%%EndProcSet
+%%BeginProcSet: lm-ts1.enc 0 0
+% This file belongs to the Latin Modern package. The work is released under
+% the GUST Font Source License. See the MANIFEST.txt and README.eng files
+% for the details. For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+
+/enclmts1[
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase.ts1
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/quotedblbase.ts1
+/.notdef
+/.notdef
+/twelveudash
+/threequartersemdash
+/cwmcapital
+/arrowleft
+/arrowright
+/tieaccentlowercase
+/tieaccentcapital
+/tieaccentlowercase.new
+/tieaccentcapital.new
+/.notdef
+/cwmascender
+/blanksymbol
+/.notdef
+/.notdef
+/.notdef
+/dollar
+/.notdef
+/.notdef
+/quotesingle.ts1
+/.notdef
+/.notdef
+/asteriskmath
+/.notdef
+/comma
+/hyphendbl
+/period
+/fraction
+/zero.oldstyle
+/one.oldstyle
+/two.oldstyle
+/three.oldstyle
+/four.oldstyle
+/five.oldstyle
+/six.oldstyle
+/seven.oldstyle
+/eight.oldstyle
+/nine.oldstyle
+/.notdef
+/.notdef
+/angleleft
+/minus
+/angleright
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/mho
+/.notdef
+/bigcircle
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/ohm
+/.notdef
+/.notdef
+/.notdef
+/dblbracketleft
+/.notdef
+/dblbracketright
+/arrowup
+/arrowdown
+/grave.ts1
+/.notdef
+/born
+/divorced
+/died
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/leaf
+/married
+/musicalnote
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/tildelow
+/hyphendbl.alt
+/breve.ts1
+/caron.ts1
+/hungarumlaut.ts1
+/dblgrave.ts1
+/dagger
+/daggerdbl
+/dblverticalbar
+/perthousand
+/bullet
+/centigrade
+/dollar.oldstyle
+/cent.oldstyle
+/florin
+/colonmonetary
+/won
+/naira
+/guarani
+/peso
+/lira
+/recipe
+/interrobang
+/gnaborretni
+/dong
+/trademark
+/permyriad
+/paragraph.alt
+/baht
+/nomero
+/discount
+/estimated
+/openbullet
+/servicemark
+/quillbracketleft
+/quillbracketright
+/cent
+/sterling
+/currency
+/yen
+/brokenbar
+/section
+/dieresis.ts1
+/copyright
+/ordfeminine
+/copyleft
+/logicalnot
+/published
+/registered
+/macron.ts1
+/degree
+/plusminus
+/twosuperior
+/threesuperior
+/acute.ts1
+/mu
+/paragraph
+/periodcentered
+/referencemark
+/onesuperior
+/ordmasculine
+/radical
+/onequarter
+/onehalf
+/threequarters
+/Euro
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/multiply
+/.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
+/divide
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: finclude.pro 0 0
+%!
+/fstore{dup dict exch{dup 4 2 roll put}repeat def}bind def/fshow{gsave
+72 TeXDict/Resolution get div -72 TeXDict/VResolution get div scale 1
+DVImag div dup scale get cvx exec show grestore}bind def
+
+%%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: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 109 /m put
+dup 115 /s put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEE09555C11E6E295
+71B219B380EE9E5BB17AD84B4E8AED35880BD88E5AC7D9FE25C46889CD093396
+F0E34A62F93E64C8E7975CFD617121244AB09FF9A4F73F8166197D0CDE2EEBB3
+81AB9BD8329579C2122368F56DEB89BA6E42C5D9E20F2789CC4A89E4AD9B877F
+8A0ACB84936F109D86211169257C19756A97E682601F4D1E7ED950A351C14DAC
+4BEA7FB0E58FB5AEB55BC09B1253748B61B4E00C448F263458BF958D3986BF18
+9636037E95FB425AAC96FCED5B4C766F93041FAA0DBB196B0A220B8E3A9FCA6E
+B4F5C0C775C25AFF4F5099CD3A2FA59ACA735718F8E90B351B015320794A89E8
+4C34F32B465E201008CCC0A15C2DEE572BDA14D8BDDFCF2743A15F8A93386861
+828F6251F206B9131C951D1ED4364A9CCE507E2959A1DA04A777B592888D38ED
+E68FFB3EFE83870BA8E04B88C9EEEB2DB80D4D07B52CE914D9DADF825A5301AC
+C64063909D6C1DC84C274C90004F41A1FAFD450805C5DD2A8E4F4C23E114246F
+C103EB63B58F33E44DD04F6367E04C3CBB3400BA3C1943B874CFB7DBF6A3EB5A
+3F665C5A98F578A03948821E40D1608FB70C5915CA0DE369A0D7112BFF6CAE56
+CB9BF699DAF3859F2B46DF97AE05915E791F1CE849154C53C4403EFD6F1A44EF
+78C167190F3326BA35B2A0F95CD03492DBA2903489ABB6B2EB9F977F3F4D690B
+31E8F6E32F83D91F721ABD116A40698F26610853E7FD075478979BEF42166C1B
+312E8C20CB3F080B08A69416DA402D336C627BABC4737FC72F8F4F6BB7D73551
+EE33D3CEA901C3369B93301EEE2C3475A9F5B96239829EA2EE6A4F6A047A230D
+44CE6210E275C4AAC7931329F161948073F4086B4FB7C98DE9FE8F04DAD394CB
+6AF09FAEA10C3B9470D051054C65297A1E2DA99EB13C1BED09001F68B04377E9
+DAD87BCD6759B3DDBACBD0BB8FD64D2068C3DE2065A772019C474B0514299334
+55E6079A8BC565D2CEB7E3B896593D720DBF66CDB2697926FE4101CEE9D13430
+435E66EB92DB66EF26948040DC4B233A18AD9323E51DF9363D788F73419A8625
+7D9BA441C82B2E70BE926CCD72052D4F839274FFDA9116B4E8CBED2FB8719044
+CFAD402ABF220656062D8E062552AB41688EB7E6869190C0E77E0EF850479581
+DEF6C117C0FC3E2F617807E129EAF9B11C0E9AC14934B8C23B21A7AEF7373CD3
+296D97BAD6FA3AACCFC8102DD314B33A85ED022C64985DF1B3B448F4B1B1B69D
+875F0423773C5701B5409F14B5DAC3B87293BCD94E0CBBC6FC3D0B0C3B0BDBF7
+538EACBD8AF0C21785BD38D4135E72507C09FD564CC83BF6A8B14A234E9E082A
+0B9DA23ECFD02C961A58144BDF2FA72CC2764AEF0EA6EF384065950C69007F35
+EB1D9EA0AE6C95E38D1218A6F3B34D2A2AA54B7C0E75B0B2E421E9D1B9970A9D
+FB1DDC015409B8E408683F204D768563208B3F70FBCBC87230EAE9C40236D2A8
+61672EBEB2D8E332816619AEFB139F9A6877F95D2D4C26F059E7E8E634B7933E
+EF2B79F9C7E994B30A507C94E9DD8CC59EA7EF25865D24DFD3EE62BAF88E394E
+565253A758BA3E4DDA76FA846BAF73FAB1899D40AAAD3E8A7B01795A035866C8
+796A18621FA015AFE95B076EBC274C69DD5D4E4B6658AC5EBC2A08531BA9355F
+9688D7F9110F95243B880C7171157DDCC806684D16928487770B1A9BD9FDDB80
+3B325A1FBB05D047B05D1607B6C3E750BC4E5B9BDA764C362CB2C833105473AD
+6FBA7C6CA9B293BCDBFBEE420979DAC7E3FB0CDF85840B7A002BC4C3FF2E2477
+B4156D6D305B45A03DB85FC8C33CF365B29153B5C6B8C24B3805469DB3FB1532
+F4E365A84D5A1966556A822E6A075044FF531835FD5ECE41A46CCA65994B64BE
+9357D3391A3E0DAD0ECEED1FE4CB4B3F1BC1152C1DDEAABED93FAAA5C5343017
+6A7B3C34F97BB6A7C8EDB381562180F6983B8A98EFD47F1C43B46DC022F29FAB
+FF05B002FEEFC5B5741C407B882FD17F31E9F134BDFD2F0E7AAA105B491353E6
+53824F42214A5F047D4B71596BA49AAE975C3D8B0A3926954399194BA3D2C57A
+19B9F9D9065DE7E506F6F3E0EF2FD285
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: LMRoman10-Regular
+%!PS-AdobeFont-1.0: LMRoman10-Regular 1.00
+%%CreationDate: 13th April 2006
+% Generated by MetaType1 (a MetaPost-based engine)
+% Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).
+% Supported by CSTUG, DANTE eV, GUST, GUTenberg, NTG, and TUG.
+% METATYPE1/Type 1 version by B. Jackowski & J. M. Nowacki
+% from GUST (http://www.gust.org.pl).
+% This work is released under the GUST Font Source License.
+% For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+% This work has the LPPL maintenance status "maintained".
+% The Current Maintainer of this work is Bogus\l{}aw Jackowski and Janusz M. Nowacki.
+% This work consists of the files listed in the MANIFEST.txt file.
+% ADL: 806 194 0
+%%EndComments
+FontDirectory/LMRoman10-Regular known{/LMRoman10-Regular findfont dup/UniqueID known{dup
+/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+17 dict begin
+/FontInfo 9 dict dup begin
+/version(1.00)readonly def
+/Notice(Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).)readonly def
+/FullName(LMRoman10-Regular)readonly def
+/FamilyName(LMRoman10)readonly def
+/Weight(Normal)readonly def
+/isFixedPitch false def
+/ItalicAngle 0 def
+/UnderlinePosition -146 def
+/UnderlineThickness 40 def
+end readonly def
+/FontName /LMRoman10-Regular def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/StrokeWidth 0 def
+/FontMatrix[0.001 0 0 0.001 0 0]readonly def
+%/UniqueID 0 def
+/FontBBox{-220 -290 1417 1127}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC
+1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE
+B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9
+4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA
+DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9
+2AD360A28616CB4A0670C1BF13E4018CA53FFC8B28E49B3AF8134528F971DEDA
+55E9075B8973BD0B1C001D7F241CAA67472027935C0A16779AC34D17950388CF
+0E0191A473BE7581A249D043279E83EA19B511D1D8FA3933F37C594054DB8297
+45ECDBC2E8976B243A996D477A529B8667BB3FB7783D0B773B952A4520909BA1
+EB4AB2FA4D38CD9B2CF575F8E0FDB2E85A6D59CB0AFEE208F8B5D960088A941E
+6A5D13330AADAFA7D538980AF303C475BC59C6240759D913DFD615F18D7FB830
+118F7BE4A02E93EED65678B88EE5638D9F04CD6EA68B23AA18C95F0B8FC5437D
+29F52672B551189CFC2DCF689C76B4529CC6483F7232EC7EEE93A3F6FB7CAF7E
+918C305756FDADEE60B1EBBCCE2869AF9E02E405BAF381E1E5326B09167F69EF
+5A052BBD6377D67FBBEEBF28F945EE53CF4122168C8547077AC0A7D557AA3DB7
+162AD512E149ACC5205743CAC9C2DC86A7A032EABFB00E5F0D4977BE2ADB4182
+217310FD4197B1001CF75C78D9C9D9265593B363C8D4627325B7E989B602B80E
+98302ABC62C115ECAC3D2A9370B554CA8CFD2731D0C291F80EBEA1E7A5525D3C
+60355A0EE95BB80A121AACF617D5C42290E2817D48337DEF0DAC4BB1D089A0BB
+33C5D1E9A154672BA2C2AAF2AE92844C5F396DCE41EB8C8408A931385C7AEBFF
+027E755D0630941A625F29201C718468A889CC711F55A5BB42A8073D51BEC52D
+F50FE2890822E4A7DCB96A8D072F79EADDD624BFE5FA77C0203D09EC991F7C10
+B00093F89707E2A445AD033CC927663E5D5C6AC95FDBAFC504DDF506BC4610E5
+46381B076E926CA73F060B64060F302825290C4DA7DCEA32CF94A57F502C1512
+5768B7F270C4B32EAC5C784FA365DD5A61E508C9AF78EEC487BC525BB2B2E27F
+8076275DD0E56F155370E0E415CA49122B7CB178F7BE2C45F43BD9D2826AAB84
+A11C60C8A784873862B47EF248585A72DD53DA7FA6306C5FD17F7A065D92847C
+3C3F9B766F22717373D06A54D5BD47623E3BA269E1818F6F1CA03614CB504793
+522591E0052B708901CB4DD29EC6D54536E316D1600D7F622123847A31F2E6F7
+B83102B09B5FAF077B5C691FED64CF37920196E22FD45086F515FD5ABC49D4B2
+22DCF1755737BA53954971173E8A833359F48570AFB66310F41FD95821C03C40
+52442EB8974AB96FC19C2AB76B8D3187B6CCB4A57AC0CEA9F3215D3CD6DDCB1B
+E272B237DC61765D9741A0CD5F871F03C22DA4FB0F4B3811E907177CA545CF4E
+B0B7A6727F0884A95E1E790BEAFCC3113D5658ABD70FCE958A9AF541192ADB7F
+A7A3F7D8CE6FF643375D7E96477DC4E6C0A09369D0C1EEFCB46E6DD65747A981
+438EAD81C85FA3CF7A58AE1E83C41C6AB175C3200BE7F1396F9CAF46C80BB063
+9CC4A9200AC342D2CD79E14C39DA6BE2D42186EAD7ACD77C30FB52A523A63E52
+94B8EAB30ADC515B6640DF30F4D117235385BD69D068F1BB3C6B565D24C963E6
+1EAE3FBA7645AB573A5E5EBF40C14681BAD1AC7489097EC382B0687A8D701D86
+BDA16B44FAC0B9F2EE8D2B2380848306F12A275DE016D08DF4EEA409ED1C1057
+846B76616532B79C929723445D51E55F2901DFB074E222B6426D8AF577A5B7F2
+B019500E8FBE4DDA2E708ACC998C1BB5EDE3A45AB78996EB94C76911139F6187
+7B66CD0DF79C3AE123796DEDAD425BDDCCC3913293D99529B8F9EAC85FE54840
+6DE5D90A0EC03425FD0B0E5186F6949A70C40B3E6AAB5B0440DC15229E8FF040
+BFD4CD3B9F79F1BF79818A68219E86BAEF2C97CBCEA2B828E6F56DB195EA47DA
+1051E1EC1CB9B015F2CA593A2DD89199120346AB81E636CD886100498CA25084
+B8F3F8F2614882C88512C172900666F0F1C54F38D882DDE8DEE28A07A9E0A421
+43E0FD47E192338977159D77AC6BF76682B29B82D49241BBE072C730016968AA
+3FCF6D4C15FC110A14C6B17D81FDFAD8EA305C71530FD9173A18E079156D9573
+0D300E07FB786ABB0F9A79907A37B4A5F808BDAA3699013C19D6934F2F8E0A5C
+ADD280D5BD782A22718D4EEC9DDBC17E8CDAF6DD7B3F01AE728211B0CCB196A4
+60C5D529C5B2F5AA944765B7D49D7C68A5870CA8EF1CC0BF5D498496818C2444
+67171449C73BABBAB53F4A733712685E241C592703315E6CA03D39DCE4DE2125
+D8A79577580F5799C825BD4B9786473E2C20F6F8C83244EBC7FB4F3C9FFC8023
+DE1604FD41C754EA86877663ACE221E3BBF2A45CE39B80FB268D543A28FD4097
+9CDA6AD12BE81304B8910956B479E189047C61C200327257D9BEB1BC43CE6265
+86FD77921C79F575F855F4BE79651FE79FC065EC14246AE06156B8DFF94E835F
+E70E091803D9D14037AC4AA8C4D17EBB62ACEAF93E6F861A0A32EE23534ECAB1
+259C875ED86B498B32D54D210461A17DF138F3D9F5C7AF9CED42432718A7678B
+23A7EBCAF98097861710D733B5510790EB1507947AEAD6D9670DD996AA9FE4D4
+268A3FDBF8F1AA40E28BFF45165E55F75184B73917E43FF456B5C43410CFD976
+54CB959F9AB2CCB8752C341604BF43CC71919635B7CE630194962E4183C3838D
+9401260A74300CCF70AB808FB5463133418C76C371F9FADA0222F6800D084673
+6F0649DCA8FCCCB124E1FADDFAF3D595E5376EE46E7E218A3868A1F35192B6A2
+9EBC2AAB1F1552CBA6B2046A89887F2C60A24A1694517F78471B3C99F6B78D81
+ABE86B754F6E599939B1432225CA439E0B3FE18721C03286E3A95529C1052361
+DE380EBCA14518248C6E80E617710006DC9620F12013C029B9CD88691D35FDF7
+B2A3B17C6456A86FF9C72B59ABF9CB2FDFDC9F3D23CA188DAC0F9ACBAE773FC5
+C3E2184FE3EF30AFC0D06BD5518758D36F783EC76D0124CC64D7F036B7A36FEB
+D489C0E4B284FFA332B3D433EBE2C54C0555DF2D2D3ADB4C7ABE81EE545B39C0
+6FD8775EDD6395239B7C1CC552A6EC2A8A76E87AE3D012528A87444532769CDE
+9A96856F620850D625FE73C2DBF79AC2200622A13BA8321863578E15C7B59E6B
+DB866EB67AF788FDFF37ACDEA67110CE092C31968B92E3AF25260F2E92C7807C
+74EFED2B132A2915E04548D615F31D64C36E7FC9BF48ADB04BEE66877A7912E1
+65909226DE954C56B5DFBE90C804C68A75B2C92CBA439BF079A64E39E02C98CF
+BED9D1B87A8DC71DD685A2E7A942DBE072F2BD0DCF8346DE27FA98D21C0F6F56
+2F531D461A1FFA9FD3D5CCC64D6788FA447CA76FEE2D9C03B22996536F2532F2
+9BB6C55AF7087BA48FBCA5CD32D55AA3E61DCAE5E57A9D3AD3DED4F1EB870695
+5FD8B9DF74AA62D786A28F95223B0DC0A674409CD2875EE7E519052DA057ECE9
+E445A03C052D4A7128E6821291164B14DA11FB16C0E671A610408294D544C40F
+9C260A53DBD3433E9BA4350E69BFF385EFD0B7AF9223BFFC63A514AF6BF4AE2B
+867B9CF1B3A17CEC7CC51890A13715B7B5CCB828EB08D9A9538E1F4213953BFC
+6CCA78DB0C094BC82EC4F0BC92833AEBC85E95137A61DB977EC7BDC3F755DB66
+93581C5B4EC95473A554034710B4A9DA4C7B3F15FECBC036634F69A0751C4084
+6188611E976891A2BDFC66EE858D35EF96A891BFF21A5669B73153DF85531821
+C23E4DE1DD4C0532420A41CF958B1DDE1BEAF9868F31824A89DC94B5C6DAA746
+81BE30C4E671CD96973F8D37C19E1C99B0F3DD668BDF76A5F474B850CE6400C5
+44CDB7094616F41B02982895820AB47D0BEB5D5BBE6577DA766734A59AE1DBB0
+0D7356FA17421E7259543464ADC1515926B7EE1D90B03C9F7F7634AD8337803D
+11CF01D0E046E06C9E9FF99BC9B3B43313EBD812D550227C0665E7B5096FF965
+3BCEBC952F2AD0FAD8B198DD4BBC90179FE9329D97AFDB3F1E97C7101BABC80F
+C6726396B20DFA40ED6AC6C13C593EDD00A965E58A75759041EF377B9C8FEE1D
+BFD8B2F40A08BBEBADC84A7E00A389D5DB40B69F81A07B80046884B781D64B60
+75D35E411613E01A9961261DC3D90A35BB1AFFFDF087F0B4C62F58C1E729F224
+EC05FB4EC009EF48E7E56CAD56A297FF423AF24B9E1D2443EF397EE0AB134571
+C2917069E8F87271EBD508D02DF0D47145BF586978AF64E2E45D3CE6524CBF56
+223468C987C1883B80126A31ED27039B0EFA4F3DBBA7D50C464E3F297A0F2C1A
+C23885124F9AE5827A5B89299EC09650AEAD8210F7AC1858ED0711E50E0EF6EF
+D917EE28E980A062580B9FA11ECF82E0A16DB051E930FA7ECCA082ACB5CB8542
+AE65A90DA4E4EE222D4B369FC3919EE24B8CB02E12CFFC2AF1BD174BB1E4EFD2
+9ABDCA377484BE281D4412B860BD929B1F9A515FAE8AB259EB719E1F850331D5
+0EF2E7C281D7B7B4EDA6757BBFABA93EFAB83803A78F22D80EDA1C25201B9F8B
+0F4C80FD9ED2073D21FF50B841774BC20AAD8F84CC2B509E9D70AA5F53D932C7
+1EA76AC75EE6B681AB6A4134BEA5C8986EF4AB4C97092A1D17169AE6FABF3A46
+11BF6D56A1F0B72D203A7C5FF3017508DF9821E563EF0DAA18A96E78E95F2D64
+DF693B5E51D15A9B58023B012956E4B83456C246AA84F284B5F4E57BFFFE3002
+DD98969A0D6C120A6621BD68991FD5593F3197223C9BCF490BC01C7FEB8A6BF1
+82467ACFE3B05FE61A64BF5DDA8492C5DC2E76D6E4580021301BFEA3CDA3FDE4
+A4BD2124C4F11DD771EFB1ED519E2252A8110547FD775353EA0A701A10570D63
+FA6FAE3C75627720146C67EE26A369D66FCE75148C516079A8DD6A1D6984C65E
+12F2561D2B6A1C79BB3D11F2E85043560FF3ED1C64D62E796ABAD51FA0CA8E19
+2532476CD8EA1F5AF507CB853A32E8C1FE284659D3409002CAE1C90459BD2209
+3A222AF420A9AD8BE54DCF5364857EA20DB515C86F99D9F39C0C4E36878A218B
+BA826D0881E6FB959DCBA34B5F5BEA5D456CEA78660C06E7682033B4376512D8
+5F65AD30E430DCA0C4A3C7A579B470A9E340A6985189FF8B6AF914A6B0ECF869
+99E8D38E95145F61A7C343605A2CE164FE263401D468D1E19C06F9E6851A64BE
+C3F7869EE3181CE8AA1E1BD06DFD1D671C08E1E75F7795C33E885EDDC5A75360
+3297A894F5308780C78C427E8E051B99E95D205AD9D649606A904300CF179607
+A73EEFC602B26191B61BEC3EAE13C720B0CAF9C20C967E0EEB1C7C304449084A
+11FD353EAD79429321A8F96E2E1F02AD70E2FDBEEE625BB7435BF7BFF995DC20
+E067EE6B3F7DFE0ABCEA24D63DBB3B266EC37BD89C5CF33F50F0BAF05732C17F
+FB56DB5FA6FB1C22AC891A13A81C3D479855407B719AC4CFD53E32034252A18A
+DD5626450A2914B9892E0147A245EE08401808D1BEA397E35C7F91ACC5982763
+EFA34A171A42891DEF931EBBFD8FEEC4E60F4D0691654349BB1B586B1ABEBD24
+0FB7E694DCFE132CC1F6E0EAE7BB26824CCDB9AFE856783857077CCD79A9DE2B
+73A934084B0429E177EC6DFC9CFBED73EBD70DE13443F8CD56E8D3510D397B24
+39AB8E8E2C82F96700D866AD30BB0427BE89D480BFF5A0044C3BCE04556B6A6F
+524CDA3E22965E2FA5A875AC7E5F142C781072CFAF2D3371632319B253DBB32A
+718CBEBB427E01E60CCE30B0F2B691E3A8C1DD510CAEF4852A67033816D6BB0C
+B3B1B5A5C3D0DCB573C959BD86A8715B00D1495B99CBA96ABA9147ECEF29D69B
+D3081301ADCBADBC2933C1D0DAC1035A5A6B41BE612088E211EBD9E779009AAB
+A3309476E9AC9103B3B7F0FF5CF8D48214AF3F36DF5FD7E3659796103F5B013D
+89DC6BB3966D42FB35256D93962CEBB584381E580898746A333BF92ED09E8201
+2484AF7649C3FA87A3AE44D93FB7A0D1A41FF503119DC1D91DC405030D93365A
+941D51720E5CD94895B78CCDDCBCB213F2702DD37EAB12B0EBAFFE521DBCEF22
+2CAC2C775B6964AEA57F562C969C92D66E143F2A006BCD91A3BB5F43BFB1535C
+CD1672FBD40A3D1B156F032E94AA7E699152CA8A979DD0407F40E90051CAE73A
+64AD63E04E8EBAC26CE3FE8DDE8F6C30A2362BC44492E91BFC10A5D5010758C6
+BEB975610A063D6DEE014BC3CCB9D463C6CE5579B4A0FB0E228A23BFBD557191
+686829FDF3DD6C73C55A1E990A07F8B008FCFEF55C2C4517D420CDFB43CD103E
+D7A1B9C2E885C88F882E29F7545AD93625C5D2D7209315F9E358DC4BEB66160A
+8FA01A823CFE0F9AF5A1E173349F287CBDAA4BBB6CDD4D9FB786B8DAB677BC1A
+E4BBD043BA99CF39FDA56C856E0A28222A420EC9F149FD6A55F1A51A895E2858
+85972113C6702D1FDF88FA9735C944C04B919B7BB6A60DD4DDFC4138BADFA0C6
+E2C7FAE2B6477320DAF01FC329D22DDAB86A96DCEE3CBFD5DB2D469ECBDD4D11
+C29B962A65F8E3C73D66DCCF26D4DFBE5464B96C81A85C09163A6B5046F27B4E
+039CFB556F43AEDEA439FBF139A16A55342EEE53E944D47992413B4D7D1EB9E0
+3780803A4FF311D78C4FE8540110BAE01E67A6F35ADBD95933B9929DB4DE28AA
+D40AFFA292D1BA24E033458D3727ED4B961BF04CABD121E0B7682D0FB7097EC5
+DD812DC7AE3950B73A9166D375AB3D8F141B95F3251B6DABD584F17C7524786A
+C1515F8DD5FC1640FCB2723544574BE6FE1505687BC3BC3A5BBEC50DF592E162
+946CDD5354700714659BE1E1119A07AE61797E86542E15D9A43C1B3AB84ACCE6
+EC12953861CD892B5DE3777908625E1A91DDE6077E98045B0584DB93E58BCB9B
+E047B377F3A50872C1EBA2304FDD042C1D1AE7D3E07FA1D5584AC1051A3CA7F3
+4164660413E66E1FB5B051B7D6BAF6591C2B0912B5D9486B5C8F6CD5238CB94A
+0C807F4BA98314759EE22D9F51DAEDF5873816653E5215E436CFC0C50B531653
+49CA83A68837067805FAB4B56970CD156EC61D17524DC09852F5B47B4FBF8156
+B78ABC9E6FC08892A24B28FF68957942DB5BD93FB36D52A5B2708D4DF27C14E2
+CDEE9BEE0507016F7651418558D452E7313749445764886D46FD31A07B390F3C
+E60CCD246ED0E1CAD5509683F30843D1331FE27588D083CF577A6BEBD379D13D
+5C4238EE4FF7811FD69BC4C78D51F0A7E2578EA61424F26F44A44A50D3E481E9
+74C31F1A8A7C9993B44C78892985C063B7700EFFAFBF71BEC6112447E98EC55B
+DA4775EBF5BC24A892B0E55396D3BB6E8B7E28A1ED57CB36EC875339EB25DADA
+A0E1A671E9ECD67D82340086FC36FAA3B8FADF3BA47E66E3B89327F889B0177E
+6DC6B89FD204E5235E57CC6849A365F9AB482427E36BB6C87F39D0505579B2D0
+FF4DA9D4AA971DBC5A070A96D7EA238A39BCABCE3A344BA4B9BE1FD2FC5D972E
+117BA5B6802B119B88B06E588651F5BFFAC431F0713DFD2C68CB4E6F0E2497DC
+98C64AD1B5758927CDB6327E76A8D8C8454C7E9ABCDA29CC095BC98810F43B98
+66180F9D58D0497793CD79087D9F2E239BF77FCCB5ABDC0569B8D6D5611FB2E9
+ADFC46860BE8BF278B612A84F1B4B0FEDADF4E23A07F6C0E1387DD54F5C8BD07
+1C4E994575BA9C7A580D605929D6D790A340847DD751CF51F1457EC029FB2DA7
+C9803DD7A0DD88F0C6F1CD390F5DB88FC29D1328CCB4CE026622460A1EFD5A50
+F83C296A616481A16770B47D01CEA50E0D6555854323FE00320EE80A3119D35D
+09615E225407058E642B3F3829CF75DF156C2DAA676AF73508E9704D6E01E3FC
+943AA32D2E5C8BC49A385600773A0ACAE6D25FAA0A36D430519C2A613FCE5FD8
+DC1A188FE10A825C38395E5CBDCED6A7D376AD65614619A4EE1A5CA99AD4D51F
+F975CD8ADBE47F6AB56C0BEB70F7261093F8A8E52BAA1E6DDBDBBB387CAE5403
+0476164D7B4054DD4FED1E8DB315795037F147ACA3D2D8E45BBB76C8EC67F713
+2885ED7689F4D0D4F5A7B12158B6CA9944962E09541FBB7A00956D1ACA7D8C23
+5652C6036D3FAB60D3E81A470BDDC46AA93CB8B89B768BA135986D70C6D02EBA
+1FD4BF2EC6DCCB7B5F7ABCBA1F855E8A3A8F913D84D86273C5839A1220D9B2CC
+A344FF3204E873FFCFEEE3F93284581CD708A692D0F738EBC0A49268020D41EA
+A7F6C1A9B682B344B7DC94AAEDADFEC83E367894076F16EA2A629E87A1AF908C
+49FC0FCBC63943DB00FE7A2187D2562E08382F94973EE4F7F6CB9038A00259A9
+ADBDD053FFE120C493DFF9FD4972DAE07A8CB577319C3433A852EB0B3E5A1B05
+28FA9F8BCF9EB3E0BF612A2097BB921884273804403A19B6A3A946C63191445A
+0C143F7D89F5A7906D76138611002FE7E92828BB840F2A87F5A4D9DE2BF18489
+8D2E790305F97BFFD2E34C6FEA7C1D4EAD89507E04EFB96476A3B4A2511E2109
+77B6A97267F4C63D4093BEA8A34B315CEE932B40ABC9FEE76C57B6AA7F5B3BF9
+B315C9C46AA3B83C633E460DE4079A8BC565D2CEB7E3B896593D720DBF66CDB2
+684E8B31554F4EA2D4B57ED13A8A07C06F3A5AA580306734680D4DE107CCC21D
+CE943E8B785DF3D782CC5EA81B9223C03818954DBD2C212D2C708E9C9661587C
+8EA6D23DB9645BE24281BDC1FD61013AB7602079B3C763CEF4C3521960E5FB11
+FDD2174E1F9269DF8A84A1E7B30B6DB0E7444C6CDC7C6263B93715BDEFB35439
+8CAF586AA23B46EADCFA06318AAEAF9C26338369F6829987C0FB83953632A0F0
+8DC7B007337B680C9E0CF3E5440B37DFEDCAB7DA43267DA860345F4E5EE1A0E9
+9E8AB406FB94F1A668374A2272E6511BD0987B6E4A1FBAD528ADB4433BCDB078
+59B61CE89F8184AD6842FF56F27AA97073B3EC21845B235B64B1A23A802278ED
+6635F3A42DEEE11D4769FE469301F9501BD996B8DD12FA1DE3618681CAA89E2B
+67B424A262AE0E744AE5D60CD3A8379888E6847DF0344B61FDB2572E1DD4EE78
+D24DACF418B6AC1E4520E251A16C74018DA28222985FAED74687C2027300424A
+97A392D8180E8013E922561CB95A6CCA15257938562B2203565F59EF517018D5
+C5CE419AEBE72FABF48DA20F1AD234E29CEF890F413F8D6DDC59C6DA3DB906DC
+0E85E4F8D133208269330C24A4E0B3CB2FD7302A3EFF9E93534A6EF3A9B3D6D1
+70AF9B1F33A0377B8306B8463247F1E5412905D67A473BCBE4830AB55944F07D
+E38907B58D17AC3FFB1027D141234E6CA6A30546260103133D05A388B0D91A7C
+F33A7B5905412A63F288F85645B0DE47D1FF03B245E6D36223AB972791081FE5
+9397EF9D69415C6A4088D89AB8A2F81D9A9D3BAA712A0A56D9636B62813B81A1
+8E183D32A58D3C67AD87A413F6D9746B6BCFE2EA15B6A0E6DA6D26A37041D7DC
+B8DA4571C709A9B2FC14ECF61496B5A04CC340DB897299C8D313270378D817B9
+892CFD36DE08A63AB714709C14EB85869A09552C199E3FABA32A4C5D3EF840B9
+639CB10B78508923FB4AF9CDB906C72AACDAAF2CF94A6DFE0713DB9B8CBDC0D1
+46C603AF99C30A5438CFA2F9D3270AD44DC4EB4988B9CDA3335634B8F7DCF916
+6B6CACB6D328D5AC5A070CC1EB3C8221173ECB2A2DBDBCE57EFF45E30DEB3091
+C42F7AC301DFE5EEAD68F99F8E35E5A8BA66C0F8D4A12FE6896505879EB480EB
+559729BAFB508171FD33CD22FA7701FFA3E89936B8E7ECB5B20EBAC9B6FBC076
+C3056A22F8DE627B86AA9032575B2891FE7BB08E2B6EF58B741F6458E2618422
+8ACBA46F5DDF43D3CA439B4506CCFE90F24F8FD3A7C08ECDD2D12DC0BC5DF243
+3F9D5D1004E5B7FFF5B51BA78335CFAFB9E1AB382D2E56E5EFFB1B3DB781B525
+D76EE0D2C62329A19C7084F6844963608ED2BD587D35E995E273148590FBB65F
+18CAB4A1A3A66A05004D2D3C68667D61D91219C131EE556BCC9C4374EA6B2CC9
+D46DB9A1F80A7662D4F231FD969C7AD4DAACB1EC98EBEA7E35C53DF6B0138A28
+4A29A37284134AB99755852C14281E8DA94598691F774407905226AC4AA63AFB
+215329F858FD194A85A9C6F9FD68182F7348F5F6823C509D38539CEA7AE03F6F
+7368F422D979AD3B768B7F6B8C3381BF4903A735B7746BB6812FE53AC7F90219
+48AC9FB8410A3DE22E0A01E367C524702A8F0CB05C2A504B014DCE8D922CA473
+ADFBFF85285CFE48EFF5C559ED8F7F8B7866E6D3AB07968275204BB347F7015B
+37BE323E2DD2566059ECBFE65551927772803D96B3817848C9EC8D98FD54FA95
+EF36B456B0FA852538DEFA7234E0CF214C9C7494568BA189D2EBA4FBDB82C06A
+AEBA407F1E7BB6D8AFFDC6C6849C9019819639E9CD00753BA5417368085E864B
+29147A2253EBDEF475BD7A8CE7124D1C97A638B4620E485A996CC84306CDD2D6
+B4B54F07685D86F7A7BB423D1A7C21531E2C5151279BFF187E1FD15B8FB58275
+287714443015F3694580C475723709CE19B2B72268C40F772CFA2CD7A598A024
+222D41328DAD7B22B0C55EB698ADDBB0F8ED15C971AEF113C74D62D2904F3C5C
+0D1D4B4F510F70351551583A0E4944DEE03BD513E6E1B82614FA1BA15276039A
+09CE60CDB0103FE88580D8518F86D5368897BB038CF07FC21678FCBD3E13D037
+6CEDD099A0F9CF438E5DBCFF3FF93592A4D22D6B173BCDA83B45C36FD67DCB66
+F7FDDC8C9FA22A0DC3112E78036AD4A44F4A0A6906EDCE2DF801513DA89A38A4
+C935C8D025AB5C1D66866465AD9DFD2D25D7026D8483CADDD891B2A95767D181
+42144D77BAB2ED0A4447580C3A67A908C1D6B8CA4A70F9961A02B350A76F697E
+285BFA294490E066EC82C0BA3D2AF8649CE5AADCD3CC336BC012FD2C4D07E10D
+F0E9641DBB70577AE828DD3CAE98FA9E1A74F5D3932E15D629638EDE89741C64
+AB1DFFDAD7476498A1CBD0C64D459276BF2D8F25F13137C7F1CC459CB3B498F1
+49CFB1A8C60E56234CFD61340010CE1C184163D20E4AB39F9188EC6821B09BD0
+66FF5C0D2087231C4858B9DE5039CE4A1534233A0FBEC8AE57A7597F604B5C36
+465B70DB907B2A19150135B79C455291553EFA10D2AA6F638F184A66D911FDA9
+633767CC89A787F82D8BDC14ECC847E706C508835CB5ACF60BA71FF3419336AA
+668E13B6C0EDB1A574BB7925D7A941014B105752CFDE450532BCC7D0902E5F8B
+A2960305836E8B4BFB953AED79A3B7FDDBC9F587FA9AD60FF1DD01D820488450
+336225C141A9F47D149B38A0D7E4E4342CFDD22C780278D973C81EC52CA2782B
+418578622E6A3313CB79B6746E856EDDAD386892C857A51A8D59DE97F8A01E89
+0DA5008479343C1D658E1B06DCA548D41AC58850911D4D3A68BFC49EA3A94D97
+F417492DAA7D861E3890863A249FCF4E88F59095B358F252BB5005EE6F47DE5D
+892813AF0BA074FAFFE0BF35ADBFCF366596F5E3DC4BEC30136B8BBA284B8CA6
+C17AFD41A10B04A6B12B744AEB2A91C1D8993B422C56A2C2166A0E4EE6272EC1
+F39BB7E05C36CD0DE61B3D77DFD7561D55C9E03EBB587B340A358A65ADDBE9E8
+552EC9ABBC0323617AFE301047C9646BA848529E3D9614FA1DD1D68FAFF1AF62
+A48B92A023EC0FDA8B73C48F069545B188B00469201930BE3BAA9104DFEA7D36
+3CCC1E571326B7A7A5FE7216BCE081EF42F0846374B50FFF96215293EDC8320D
+DD37D9C6D844D85BB710E508ABD1E4822A938FF436B01AB54EE1CE32BA926E34
+A8F8C31A75DEF46A74AC94A09D60E190C548172D2E1D8F21295A29F4BE0CBB44
+5E9DC99DE3BF32B95CA40F19FE0EEEAC83D083189F38A0A6C8F8F7A097889999
+67CF3BC505F1234CA710AEEE4E7A6AA128E365EC9C9B48CA6D6D9C5DB887330F
+3CF3E6698EE25EF3C6D9BF8BC7619F7250204F12A0313F667360FF48673C8AF8
+EC7D3A808EEFEB8600E35CA1F3D3EE2B04DC4CBE12FC99DA94FB2648B84433B4
+B27DE9E8127325C87E3842D1ED01722E83609866F7751273DC120969CAAF54CD
+5F89FD89D153C58F0D60B4B447627DB6DD020C5B28A5F5867F1D07E70480CDC5
+E134C9717D85D4C4E2E941026C25847C739B6EEAD71E6EB2C34E8AE8162B8FB4
+D09237C2396A5A7BD8631FB6ADC8C51CC2CF1FB9573924D8613BE48CC4826515
+D0226CC3757CF9FAD6765476339E4E87983023D5A21A2942F0C5AADA19797B2A
+3AAC758995A7355F79D06964067CD00454EA2E91D9940D8CA147C1035893E2D1
+C6AD44491A7EFD530C5B437E27E5E435083606FC3B43F0240E006045A1D6ED04
+51C01DCC92B8A4010A5FB94633C8EA92916A5471C3ED727BE7E559B6E54B0C7A
+64D4A2C86BEC7DD1F21A7676678D879ED994F9220B23631D60DD4F01749C944D
+B5C206999107D67FF7C8989C512DA066D6DC62024C5C0694D0F15976CFF33899
+E6EC7F3B3E52F6644D44C0B5F7B1FF17874AA7CC620939F3BA8AA5ABC54778EC
+FDAD510D721956F7200EAE8F93ED95AE429D7CCAA4497E56A90079CA7DA18D25
+F3681DD0131C46E14DC6055FA7FF5F8BF26006164709596C0E78321C9CB5060A
+E6AAD011C03BFC4D497466C7F09105A287FB8C8D308155722F983D6B19A9B435
+B32E268C5C50DA95EF3F0F93CED893FDECF3CB07A25182E3F9AA50DD12801DD2
+9A7E27EFA2F26A639CF1C441BFA42B5EB6D2DC10C1B440B5B316FA8F6565B7C7
+220F23282E63CE45DF7361876A760A4D5A7D58A469526B3F99463EC5DA4EABBF
+EBE23FAAC12BA68C2622BA308B7885B6F0D4D325D8F2CF7D6A8E7FFE556472E7
+DEB80450CC3D3CC3A173A7346B4A33C99BBA62EE86C30D08FACC67BA4BEDF859
+2C876A83CF48E4A2F7E92558E57B0A58D7F9E14B1DABCDA48C539701A25DB30E
+22B0EE39F3B583825D1B428F0698672E8720A77B1E74ABF75AAB509C361AE04D
+572FB04D48E69939FDF48DF49CBE4C7BF0F59F7E0D39884C8625CB19AC00356E
+030FFD1FEABB6DE8214D8C12C157E9272C09D25038F29F5128D4644B4DF29BD5
+A8404282D7AF68279457739633DB5CBBA6E33F8011CD6EBF9453B2F632E36A15
+B373FF3FAE535328C580548DB7D37F18CA0AEEC4C4A57FC7997D3EC9C309D024
+68376FE7063FFFFEB8C51B57F75ECFE7238BDE6C637F6609D033D80A82CC481E
+AD70AADE0E2676CAC466E07401BFD2FC1051E592D42311903407023C9720B782
+8207265AA60FD4998773A095A03EC1FDBE3250BCD22AF967CD40D03EF76649A6
+AC929DCD3FF06B9FBF62FB139A192C6D351853990FD81536DBBEE2ADCC6EA159
+97715D3EECA9329513ECA625CC1C5FC3AFB291A6B75A593939D1CC1A7DD25006
+5F3ECA5C4583845A6E0F89C9EDC01793D8CDFC66887FF3C563185662EEE213EC
+8671211A732A32D92BD20A3E2112F44701EB6466C1DE8DF646DE1EC2E4FB1687
+A50867043566AC7938C812D690765D2163DFE6C3F4EC3510619779B08A737545
+2187D66B2A4445B4EF5FDF14155487DC65939F04DF25603E4E215533B6445008
+F1D4D2C9D54B1BCD10DD7958F06FC41A77CEA6A6E905277DAFB8BC1543CC1E8E
+B8BDB43518BC2CD6033E3E4219E0EF172C72ADE99EA91ED60447A31981FE999D
+79D906CCE3DD6D2642911FB5137597F9697B34F914DB5A8CE52E360EFB5E0ECF
+810FFBA9BDE380B680E5F0D1B28ABA82980EAAC6131940026E3C2297E197FB8D
+BD23E278CFCD460AA15777BFBE815955AEB9C37A06902CE60B8F95A399DFD3C6
+2C04AAB48F6BD8C8BD63D8461CD450695EA35917AA672E6D9215D742F7206D3F
+2AB56F755DFB3BE539628048029307D8249FEAAB72F6E1CDD2F82FEF089A4789
+357324B3FD9B04D3B5FAD58C121FA3FDF2438217BA5121CC668458620DB3D381
+D567701C541CD15A0EBF2C8F288214125072AE15C467502382EAE4FFEBF2CC78
+49276A1AAA5F1598EC7A9A573A79CCD67EFBCD712EC46352ED1B976706A6AE56
+0AD6A82C3B0FF9775DF836C1C62F7C09A0AB81C8E8D447D5FF7EA0CE2999B8C4
+E12D9F9E97E5DBAA2871665E9B2C0C88320E31FA512BB3B7862EAE8E10393D19
+87095FCA5160EB07BA729B82A625B0F2987083E1BEC613BCCB763A23259813F2
+349BF23EBFD6F7D9D4618054064D0A6D0235ED4CFF9EF00F910ECD8C5D6D3D39
+4304194538BD8434FB04A2D68E969FB1F684291242494E52311C02C8A34C0A5B
+398AD835221447A44807B5D89D0FE464663AF7A14D554D608E26E1676A8CC9AA
+4B720B9068649C2FBC1FA4ED5AC2569E58941EC067EC4C03A2F8D4D19690C2AF
+C60B60C0998C1290727A9E2960C608C0E9A1EE967B95EFB81109F7F3371CC1F3
+3591F2A81E947884D1E3DD1A8970E40EFF0AF48A56ABD34136479D929405FE67
+FE24FDF7FAB748F7712C064081A7EC21FD1F6781D44DC2D138829A9D3D0EDA0F
+4F7211B5B5CC0A348F325F3E45531782248134362CA0C6A066ABEA6C1D3B8F40
+238DE24F302A6788013C8ABDCA62FA6E2F80DE35A2338CD8D5C4A23FE31C9E7A
+09327BEB82BEC7BB8F1C1D8540FA065E4DE025161426C498D274ADC1D97A1035
+30EFB969DD821150DEEBCCB618A61188C03BAC8D65BB79B73DF988E4DF9D7A5B
+294747AC9860D99A71E821D8F966478C97F5D32E66ACEFF7022D08BA44B97EBA
+36863832373E5D5C3D5479812487F80F4DEE34DCE95E75ABA3A85139790DAC99
+266AFAE54A5D3FD3AB69E247AC2F1758689851A9537B1EB428255F11CFFB5B12
+FD40B33BDD959EAAA11CB03A69FA324CA6EEEEE7B4FA88BA66620BB08F65A08B
+F76FEA69E8793F1C76C3A2577467242CC0BA47B411DF2A9CEB0512DE5D58BA93
+34E274E26C9B301BAAEE8A0237BD685B6A9BB3489FBF70088277714B8AE8CA8C
+2BE32600C30A587EE5AE0B439EFC837C99B422FCEF96B5C7F91CD91D0FDFDF3F
+6E03A90ED01EDD1A46782159CD55630127CAB4C9249E4FF166644F70925D7FBA
+D1F5BEB2A178DBD6CB21E1D3D968967A1447E5C9D5156F2043E9B57232CD51B5
+2BE00F21532431D428B1076EF38DF09636DDF33F771DC0346FB0B2BE60F45ADB
+075D21522955F05658E23FE5F40AC5A42258DC11796E8F834E7FCC4C523CE5DE
+A7918073D89DA1A5EF78FCD1F235F32A62F24152014C0250B12E20239252CADD
+4C97377315695C92C8F66FFCC77B2D7410BD44BAB276A22A7F706EA676E3B326
+8EEC5A38478C0F43CE39C9A9EB8F8FA55020FEB0FDA41F43DB0FE6EC50B444E7
+BE8F8EEAA651DCCEC032C7FD8C0B1EFEB789F812D0565F4BC740AEF26EFE447E
+2C65DF37FCD49CE071C3737E44B9E00D437F3DDCFAF43196A7389BC28711ABCC
+CB06EB5A36E90C1F95286B0C5DB893173A5780E71276C60EAB7E25C124964778
+296D06C85D109F58C78C3514CF2FB460C3623CA94748172F64695E5EFC356991
+1E100A036EF590EE09FFD84314D9394BFAA9FB9D679B921F0616F272F26E0BDB
+8D5F6FA9E78387F3C3D217AB69A6E25B87D4414045A3317968C12BF719C4E2A2
+1F09F3A1B09E7962FA39BA2114DE79D2D8C304D53F1A0044B5A38537EA95461E
+EA1A3CC7BC94693DEEC359CFCCD4D9D8EA663BB0FCA9AF7097C51628150B52F8
+2CD1C5811F86578F44E5BEB7F997758232B7EFE00D1CD51EE1D8B35EC2E6B2BB
+0314FD0E2835FB97FF4E6A195041696C183D62872AA2923D802D94278A2835C9
+1E1AD8E481CFAB40DBAB63E602D113C81A461ED958FCE4B697269BF4593E30CF
+027EF28C6B0553B63380AB39B9EFF0CC8AC64DAD8AB403005A838C298F8762C2
+E5F97D8A902C209BFF0F7D37498A6E2F8AC2E4CE7FF33F6FC55C5C21638900C3
+AF88825D444E3C0B1C0983B448D4C21544A1EABF0254FBF5D937372278CD8942
+5AC6A92C36E145DD1BE65EBB4F6F2AC454F58EDCC6B7AB68072FB6209F540767
+0A26DB1F7F5D67C4D22790BCD0F1E86976698115A2DEBF8CDAAF3BBEDB05DE5B
+CB73C7BDB049F2D9AFFF0D1623C49F3A52C4EDA18B7B6BE5C494D3BF1A8022EB
+E619598C6FB61C68169211790027B87A0F02EEEFC6A7FECBAAB4B15C12C70309
+D5E26382850017B448059DD5A6892643F78B7CD6D91DE5FD6796E198D7C30530
+73445ADC0F6EA36C6DA9CBD276DC4FAACAD5A172C123F51BA75F725249C5FD6F
+D166C835E1CE79E47B2F76729AA8A46B6A7C759B64D7CFBDD25F22AA73784987
+728DA53B5D5FCE9161F188077CC0963A83396A250BA7A270371D5466B8FF9402
+9D622FF29E2C8B4244E4E16E85C9D0C4166E42246934DD00C08EF218B03254F3
+561F5E3E41DB2B2DB1BCD88F7FDE6F59961B6BE0AB7233364524268F6FC80A05
+E2CAD6D430204F12EE6C72352173DCD3C8170187CDF780CAF45A8E0C2D394A26
+B50F8BE7E44415CCEA5FE4C0CF761E921D7D2992EB24625547D3E5AACE78232A
+361060B3AA3D532005EBE263002D398265C8AE6C99D80E14D8E02C1D3C4CD54D
+CCA57CA4B5378B538D66103E6455B244B9BF9C400BC802A021411BFADAB77A90
+9E2842E0AC5D9D07D01A4BABBDE2AC70FE5265D00BF27D33F234424570C58327
+093E1BBFCA3FB51909984D98AF0C5B1C80F749FD6237A23144481761D0CAD86A
+455B580A4BBE440839A54B385C9E4571C466AF1AA688CDBC0A6BFF8EF29877FA
+13D418CAED879EBB382DA7F8B23C07EDE4EA5BEC2AA85224F7C29A671F032192
+B962B51E71CE4F9FA406446C3F30BDB2FCE712EB0B9A379645BDF78DA0213499
+02332707106BBB5D307960E9735ED5A2215F25778D228E428BBFDE658A8BAFF9
+2184EC4F491A182F4ECDED721EE35E33C0B69B8068D5D3E49D52BF0708D97515
+CB6CF112C2A89D2D44816E907410DDAEF58665A2B2A2399C57BE1BA0D45CDD15
+1E01EA0DF20D458F5319E19372F8A8F5DFE7CEA77826A5D0246EE9FC5A348681
+AA246047CA29CA6B442FEADE254C7587D4E7EEF44A34F5404C7F799FC22BD819
+7B11E1B0AAD491AF467D96C2EFA24E139633A0AFA816EC666651DB44341E7283
+CACA75B3E1991251AF9DDBCEC84F40FBD93CC8D361A136876F2FB93A5BDDCDE8
+08C7E66BE894C84600096B30AF73CA72C9EB2C7F36E27D00D4347DFBB8BF2E8A
+23CC9AD1A901D6705C0B8ED3F0313696F1B71E644AC44EB4F81E8848CB5D53D7
+6AAE7582AA3AE49DF09617B21ED1D5903D85F35CBF7640218CBB724E745DA73B
+4C8B5730D1EE3D88940F645CC893A8ABF5E1A2260C9BEB2E919298D7E8EC3D47
+A1B7110B8BE409368684A13A7C9ED9F62493B0CB7FEAFC9BAF90B7025D2E35EC
+C22DA1F2904196A398C3FED62118BDA046C0DE4BFF9AA2F9772605D04C031216
+BABBF999D8532747C9160EE28352DCB95131565720F61FF5AC827C2A08537531
+3DCF0514149B7EF38084D649289E4600F5A67256788F406EFD37B13654F84888
+CA17948C9FB31CF86E555B4815AA6C858DBCECF2CB5C7C49D40D8F7CF28DC096
+0B055900D32516B39FEB7B66B0473396CC9E439029D8912AD08CC15B657490DB
+00FB53FCFBA5AAD92F9492013D09D9DB48ED299C49744D7F48C9E39E6A99ADE7
+AE908D2D4339EF98819CC2F3E4EF7005FAA7AF98AFDF7500359B651D485FD03F
+069395B41D5BB131FCDAFB5CB678DA317AA3082F03FCCADA7CA565352D8CA24A
+715AD961790D552E9D7685497ACC5DE6C22DF58627399F63ECFF4FE661FD5B57
+F1F992CD5354D18730FCD42C30B95AA1BB44B6BDCB3F66C3CE2347CFF75FBA92
+ABD47A5E71EC269E52AF42C4CCBEBBB94A5BC3C2CA0CB73CC17E930B62C13466
+DEEE44B3F89EBF770924801E0E333EE9568673B2F52D1D58BCF447C5B61E5F66
+6815162CF27B89A4D29FE3251AC5830FDBC20927EECF2B3508E2EC1CA419B691
+A2784BDCB4504EF0AC1C00D5E1D21A7DFAEEAEFA9F72D5A603ED89EBB990D4AA
+98F4A3FDCCF881D82CC875B1AAF3E7D136D5F64A21F7629A735214279CF668B9
+F5C990DE3196B84BE792F51E17583FD2C63BDCB47B5C404D62BF45C7F684E59B
+9AA6628DE75F6388B109278BCECF4B659DBABB4AC20EB75E7EF41A4D598A439B
+C8E1F55749C832D6FE26E1653DD01511DD562B227AE02B2539F6DACD88AD99A2
+B686FBEC34A6F9EAD22D41732EC66D4BB0A88B525B2DA2E5894BB6597DE4F24F
+D96A27DC8A782878684E7FFA7C6EA84F44E072E2D1DCDF2C7817E9E1BF3011EE
+34B5A69B095A883AEF275CE677BEC2F1F03C8B055DBFF479AFCAA7FFA8BBCA0C
+BF20EE6A72E0B19837156D85598CAB7147F61DBDB7B4064C0266F3CB9021235E
+56922D3FDE6C0328F4351CB09EB08DFD8593B1F549F66E4CDDAB90460EF5591E
+E20CD2BF7A9DFEF4B00101DE772079478DBE76790278EEA746DFCE6559CD37C5
+479B0824B87C47EA56CF5C7FD74B5E4EF480988AA30EAC8CD07D10E5195C253F
+2338CDFCE1F3CB0E7863E79AA792B335CB8D729023F4F605D78E5DA833999F9D
+8865568D6D6F6F2E67F0A7174C707B8F0B73F975B17BBFB0CF89739AB0426E9A
+F0F22D738C719920C770B166E1A5550FF046C82F37F0609209271F4CD93EDEEE
+9F560561E5BB3B5FE9543C0C259B642DBA92F0A46A49DA660CEC3E7099B2CD07
+B8AAD1F5A167DAEE9FFB7959B5AB14698FB6BA165191DD7EF61055DD54C1DFC3
+E44012F8821FCF8039040F4DD94813A3403894775B2DF1F871924CE2C0479EA8
+C8C3375048C1A49CA02B5877B53747D33126D4E427FD7ABAFE5A706DC951E1C3
+12D6188D585FFA65F1B9EC81442B2266DC64586B2D41C54C50D263F6BE4E8478
+28EF874F28F29DD37974C072F84DC47B5496C03BF3DDFA1BF32D8F4B0815CE63
+E3B442ABB2794D20E516EF5F2D36C499301E82650E7E52BD3AD604072B3A0852
+AC1B0E36160BC30D7D79C90259D2E5453816A0AA0C07BB645BF6A308A869CF1E
+87865BB4BD765AEB0C8459127B13F28AC3F8ADF10535E3C1C1748F8BFF336C2F
+828328C0294940C433C92CE278185427F68098FB5941E03892943BD41ECACE4E
+2E123AC89F962ED29973CE26568F78981B480F688646A5C8C563B8FAABC7414E
+3E8B5854442C5FB9B7C287E2FA10D86AB5C6B078D3A83B5BDAD51725CE38479A
+8CA61A5985F7D9A1C38C9617A4CEF30634C7107FF9847C634E68611C1C54AB15
+29C116D193A3BC7B6EC649B9923A92343BFEB7CC1F7D7EC4EC2DF9FF5831F242
+B8B5A0FB902F9B2355F42B53DF1DD94D3A6457369A57F0B9ECE37C79DEF7342F
+870279979EB7850AB4020DE478A1737A36870CCB24CCCED271FD5F7B547B77F8
+1BAD985C73B05A79D3C8661A9E8E68C0468667C02B9DAB14A4120648C8937FA1
+BACEED127806EA9D61F8465CA31D883BC8D9BC6BBB5ACD78AE44AD97C493B6A7
+5D7BD09FFFB75ECD79644D1E630C968ECF06D7ED2A82BA4DC9CE787D2F09401C
+79F1D5C66569028381FEDD8889F3BD611F8CC596F700150BDC4D233F105F079E
+E6DBBABD310247B9BED3277F15D4F8BAC0544715156A99395CC93B6189189FDF
+D3AB62C75EB26ED50908B89BA75466127A0DB5F4A5A1D91B228143A49D0E9976
+1E066F7FCA3E57C46F3F924AD3D83219C465A187E7C0F083740C18191F515E47
+FDD5BAFB1ACF90DAC3704166CD3DD128179D7720635059049FC2FE518793014A
+D5E004FC3414502FD8BC997C6B5AB50B0F6062CD391CECA3DEBEB081964C6150
+ABBD5B3A4B88B8F21369AA59B9C795F62C5C29BB006DF099E1885CDF9DD6B876
+D38FD4EBB6F38FA41E805ABA69E62D6F82D4A44466747E846BA4365B3E03FD71
+0069E27741C44CE723969366BF8DFAE370DC04A694C5E5C3677CACB7D3ABF9D7
+C9D5BB053BA390154EC4B23F69A63BA054E109DA90DCEEB0091DD92F63279C4B
+6483C249B654F1E695951C726032A58DB404A3B51AB7386DEC1D155329904388
+5CBFBFF18CBE592D192FA4ABF53BD1A28704B84939C7E339BA3F4037264F36A0
+1DFAC57E35F30F533077FDFA6DB83CBE3A67B226BFCBCD1624540A9E17FC3579
+42D126EA5B0D8048C39AB0CCEC832D418F137198942E87D4BC7ADA4DC8E73FDF
+111B23918EF93CE8C1147B93A7EE8AAB6F15B42C0D0D2512D7931EBC886B0527
+17039570A75CB813B32A0D2F96C1AB2C7AFBFD69EB36665C7E12F29EC4BB75C9
+1EBF4DAA942280A326B0C4356B774DAE57D209909B8548AEB76731EE262D6846
+27DC8F839EECED8A0313F774F803A3C3D74B91EA0194689021B4AB52911C6170
+4C76571A411C06A05C51319B0B1F5603D01750BC683CD95D29E6321DA20C3D09
+2BE8CEC412D7448B318C421083026BB2002E68A7EC2AC67823AFEEA015219123
+08EE964241D8D1ABFDDAE449FE68185327170B046B27F59EF671A4C3E378E64B
+4D449EFC540FF793F2F12357B7A661925440090876EFF1E89A9D4497CEEE9946
+E7B535CBAA4980A4A6CA18EF96572A03F1A79EA528049E7D123668E21339990C
+BE9FD9DE57CC35175E78F1D4DBAAA13CBB93874433B04EB8D0AC3511A660F890
+19257B334B648E11C3659B24D8FA804D52164DEA4DA88D0AAE1F0B28330E00E9
+D210D7B972D494AFA5BEA06C7B86D91C9FA2FE4F84BD87FBB390B65362AD2B23
+E0ADBE4E27F6AE19EE8D7572AA6ABD408BD9C0E8653A8292AE93807490AE8F1F
+598B619C5ED0F36B9D30ECB1BD00A429B1A39A6D5A637A28A1A9236744BC166B
+91015CF80354A5FD2DA591F742DF0159CC8BA919398751D8E4D6F8C0C7B3D1CC
+D423718AA4352155EE7C5B20A9A4C08855A1EE03A2CA61DE42D78AEF01674987
+35295CFFA3405507B7093D9CE3EB8C164A42676C4C753AFBE1C003A8E3801B59
+5AF117F9B54A53FBD5378E48DFFBC68DFC14A4E823B29DE32EA6B940596E0225
+1EEDA8600201A86F7CE1C67BDE0D385104C7C0730BEF94DF3D9BB2161F965FEA
+BDD6EA2816A459C8B82D140344608E6AA9578B2CE81242B2A36DB0E19710EC27
+BBEDDD25AFFDE220C1625115D9521283139769F56B466B95CF4D412DF23AB1A9
+4600B4E36A89586CE50FC9C168281F59F45D49BE8338A8BFC707E48457134BD4
+E40FBF297E85C3F343EF97CFFBD941EF5C3B1C10287CB787EFF59E86B4A72A19
+98B936D21DE023EFEC3EAB42278DA9E391EA173B346DDDB948E7D211EB024576
+53F21CCCFBC9E1FFF4C3304223F906C325EC1CFDEF3AE91E163A19846B3BCE5D
+3168251074A8B534173F947839FB3654757E4DFDCE1FC1024434D195964D1D20
+D0D4385F17600E1E43F5EA1F88493D1DAAEF40DC6A813F173B2FAC2CFF37D2FA
+754CFF14256BC57F3A4929757B8FE19B61CEDD734624CEDF0FAD348095682BFF
+0737C02739DB44C20B069105A287FB8C8D3084FBC681646E30ABD086CF9C09A6
+B0FEE7416646141CCF01188858FD994787FD2F1FD5B46B5FAC77CE35CF57356E
+95D4090954392AF6E9F4038CE1ED6F82BB418528EC3E9BA9597ACE2FA8F5AAE9
+1606BC8FB9FE50103F0103CCC8CE5866A2B146A9A3B873938F7874C50D301871
+6E7DE31606AB2B516787BD4341B92479E72AACF9ACC43C0A5EEAEF9D3EE785E8
+63E59BFA94A109026D51F307DCABFC281CB7AD124FAD88841498F5BB3F6CEDAD
+F04FE4590EB482F40362CEC29A918CCB798C30DA069C1E3F35AD6B673538755F
+135C333B87D339E8C580C44EC9A7A4331DA5E3052A639AF351AD71750A793AF0
+49CDBACD75CBC6ECA33F35F17BC136551AB9E354C905FC9C5EC74726E14FA3DA
+82088F2191103AD4C2D47E952C56DBC242A4E8AD0DE2514FB118396A7A9C3D50
+F45DA7B7AC84DFEEF47FDC2B9D64684E50A322FE625BC7D1AFB7A7ED9D2E31EC
+9553C3EC0EE8DDC9546D4F64411F413D11D4F97437F7506D60017B4E5A7B06FF
+E76B8FAAB57438215F35E66B6BC0638BEF00D6640F53F8F10E30C344664A53CD
+B094413B74D18783BE6673B8F5EA4542CD4F39D0A5609F00AFA9B68B53A4058D
+E7406C29AA6CD71CE5EC69F97CCF3F5D8A621A69BCC42ADF231AF58032B8A905
+FABBEB68A404961A7DBF1AB5613C04521104E0141075B747F4D4E3584D4712F4
+D39B6D5FC5E1BB8B4577EC7C6587DB9F671FAABEEBEFE1884B4E02BD2CBF5DD0
+075DDD3FF457643E9B7FA3D8A7F5A6FE5B7DA4A263813EE06ED5DB1DC80645A5
+DFBEDC32C58223FB032506BA80D412BC1371BF8A5B0B825DB940B2125C16F982
+248B4768202C789B363F4B77BB6F513F2D1CF82BE364B0469D7C5A98FD2B4B36
+2D9DDB163B01F60CFB6D04978EF48F9154286FBD511C388D8E5A1679DE7B5B44
+0C24318B21B898E18D4175AC6BE1B3456541FEB1FAEA78347962578458200466
+66AD30B65C11C377B8756144A925E5C1793CE99718EA4F30EEE3A578921580C7
+A2F06577BFFDDAF8CB59CD95FEDFB910B6371422CDD07263005CD5709DC4DB4C
+7A578E3F27DF88EED64EC5AEAB6729DCDC2FF18C470C3767F14B0E835AE731BD
+1CB199AA7081EBCE71ECC0A533F557AB1EC3653E23420B95476B498CCED07147
+F459F299DBB3A403B26056CCEDF294BF5042ADCDF0B0AF2F35E7B3325C9D97BC
+1D32360ECFB378192605E726A3DDA7E5B78960BE89617CC9B46FBF2F7279FD6A
+1A1A68C4191BBBC7830B83A62A0D2D3A7BB0659B58E3E4F021F638EAE0108AC6
+ED1F473C705AB25634F19770334684CD70084D755DE0EA0612B985AA1BB8A7F7
+09BDBA6705D80FBF0D30A38E19BE0B99F0EACAA52EC073331BABC2B016D4494B
+919E49AA24CD46FC03CFA9F7FA4985EF3243D6377C8DB09782A8AED71723859A
+F26AFBB736DA74068843214442B6CB1AF0CDE7B27ED2707252504B6C74D1B121
+593C161EF64D57F39DA7E5CA0A68D62BF6FC705468B2FBEDB082DBE4730B36A9
+B89006981089FFA13034B8CFFF37415CF6FB58654E826205926D24E166AA1BD7
+0D4F179DCBD9B37E0C4A117BBD21E6691069272A6AE455B139EDC65CDEB55E33
+E66A5461DE6CE070923A7263346180106CED1441166D7781D4D80C42DF15FA0C
+223FEB058D8200D78A4D5A13A5294A43A57869D21A83C2C94DAC76445E612D95
+316D7B5C4F86F1DB7BD35DA951CC34EED499BA9B2A0BD76D2FE72FBCF8374E83
+32B98D6953FFDFA8A4FBC27D932CBB65408DEEBB298E1EA6E3E3EEAF3479A3FC
+51887E252E8CA463340490CA6634BFA6F5B744042434F273E1C58A786564ABF1
+C6ECDA857DEF705119500FC326EFBE9E02C61D74DE137A8A0D6BBAC6FD78FA35
+974D652D776150D7BF0974F5981679567566BA4052AECB6F30ADCFD2D364E623
+338F48591719102119E94671DDBEC5D0C7C8B6147928A0CCDB842F2F84219987
+AF7B7D0A29D43472147FD04D8B9B9E40C1E604CDAAE140EAE9870B692CD09700
+5D1500BF926CBB9146855D0C7DE9ECB22525A6012729A4006203BC8A46C7A6A6
+0DA0F1647FE95F23639AF5C05AB13D5A1C28A17DDC8EFA3F3FFEDC64A46A32B0
+E9E51DCA922C9A5303228F6823D5B9BF10D3CDFF8645F0BE1E25404BF8131379
+A057266486B958F566C1B6345A9FD75F123B9D58A04D880971F6973CE66BDBDC
+2FDC38E3993120E92684EDBCA030B5FE10E5D3EC16D4BDC35EC16E0A0F1C1991
+D0F3058956C0CDECCBF604E5F5FC71490ADD5DF4A0743E8296350CA438220012
+4B7C22AD75592BE8CE7D259DBFF1CF4487E0A932F474ED91EFDF386E7DB94B38
+5D93762A7A83FD2F1415C012F74E253D45C14DFEE37AA8C8698AE746147056CC
+F2A0DCD7035A43FCF36671805F0BAE1E6F8B7F840771BB764DB8D1C842E89EB7
+742CFC5B2E565CFA592C54A42801A142883EBF015FA81E881D3A8A01E1FA253D
+089243715F21EB9601217D77EEBB0D305A12A4E70A501393786FCDCC0A5CEB3F
+C42CEA3EE91C47094617BB0EF98074CE6116ACEF6302E40AD25CDD4C780BB7B6
+AD8195784DE96BECF95B625F9BE81A434B2E6044F41E0A37951CF078F09A9616
+E5E09932E881E9AB6364E2FA747EE9A89161F93F178D7A24AB2C7783CC4F798B
+2719D9BAF6807337B8BBE3F3002874511B22551808E50151C166892AA2415303
+D2ABD61EAD6A41F3F54F0E2EBBEC84C9D839CF9231D4DE942B7951DF1BA5A7D9
+809CCFB180F8017A84BA6BFC1BA5940ECA3071CFC7A49BBEB1B913570A51B2F9
+6D302EF8913C6BB60C0315DDC3B41D526D99AA5755841BA8D28860C3CC71E65E
+54921FAB9ED7F964ED314D50CDC06341481153D90F4211BB8964D3312AFB9189
+8526FC628BD2AA4BE6827F36311CE0730E2148AD363D40FC75EB3F94FDF3A730
+7B1CDC5FD4B7B6E0580904A27FB07FF02D4882FEEC8C902751B664CFCFF3CC0B
+052242C1533D2376DF3EE5C4D9E6CE9F3FD3A30F4F015CDE9893D5D66C804F03
+0B04DF3E63CCC959A59D93608E66A61B5B69129D74C011E17D29116942BAE47F
+67EBB46550B21E66E656235F280A1EA57882058278B09BFF9FEF74B02066AA5A
+0148B1C3DE08F019FC9090192F172D05BA3046172E87402DF3168B3765BCBDC4
+1758B4122E88E548D22E15A2087B61FD6EE87D4B60F6343B92F1B67E0B8B99DC
+D7EBB4E08F06C1CCEE242DD9DFD4EA2DA553162A2DB3EFD07706D953C664D15B
+E0E19437423672A26B560AA588C1F1CDEAF6F9797EA440F3987FBFC0689BE4C0
+407E9819FE68FC2C4FC53DB8575A607D19E71AF5CD302837BA49E58F8E0BF807
+385A4540A35CF347DAD4613F91AEE64B11F62A03FC714372E1FF727EDA4DB5C6
+87282A10D31D881F6C47B03DF8DD02C934EC6F25EBEDE4E7E701EE1DCC450CEC
+A2832CEA18B2B166D045A17525FA1748F15FD5AF90B8D4563F3239990248171E
+C037B8D0E4544BD0B9F026702E30198E883BA755643AB0BB89428A16AB106653
+0BA1C89585BE48BB8BDC382839AE8C789A6339F7D36DAFE163824896DC2A9F31
+39C772AB771A74EB93E3DAC78B1A952BCB3C63AD1BDB31260FB1758BAC67E142
+34D25747F1E68E0C36FB53A4A7ECBA85BAD11E560633221700A5D79FD0452BAD
+2E9F25E46C51D541D23F9D2633D0ADDAF128E4E336E2BA5DB2A6B8B8195337FC
+A53EE1174424C26B9F11A27299EE02E1EDA87B8C246F89A0EB22D1C6FDB17142
+AF029C3AB13D89860528B5728B7942163227EE715A2BE644EF49AD23F49087E3
+B4F7B2017CC4DAB7563CDD7BB8549B2C24B0727ED9A42949C0DB281F577FEB3F
+A5D85CB3AD07FE1FCCCA6BC89C2B640350DA641882E8CF028D9AA9EEB26A165B
+F75291EF6E74899AB3A9D824CE570B04A10F3045B175021256F3966F8C6973E4
+254B3E605D891686B26DCA26247A2D23E1068AA8DC7910808480E6921ABB2153
+29E8C329CD0EE5FD1938C3476C22F9DAA5081AB3221E95E5B7278B3AA17B2533
+A0F1B6CE3B19EA988238563F21B2AB6FA1AE122A3004B41BC98501FD21BEA832
+DA9F7D9260E89443A3941E74A7B6EAEF6F0AAE5F86D15292F55716550613A12A
+08727F3D9A8D93A300D23554B72F830EEF021FA259BEEDB8E53DF62FC14593FB
+1040C4B8000F5AD372CD4F290E84611217ECA70B2B6B818151C068CE7A4C9CDC
+63226D68B6DF0E4167A1A8C656D9F4C784C1C89C0B70F7654DB9EDF8305228BA
+8CC8209181E5F9EF398C700948FADE7A6E4B2335E903D3CCD64DA9C60FBFBCAA
+75969712B8F49B644367248FBEF392A687C72148538F83E41AA6E52A13B5158A
+C5667F8941D783611E1008B05E8F31B235ACA40C12BDD72980787CC86DE6B251
+7A10432575088796B78BB3C129F66885C49BC822603DAB6480C092C81F4C9AF8
+71A1A462A81BD4B4834041239220EFB97306A6B0B1DF3BF3AF690E1AD2E1C89A
+662CD201FBEFD6DE3A2FD8163972726EEDD9A4F527AB12B9EA634D92189D2B65
+0E0B1FB2925BD613B78CEE8C67EB46729178CCCA5D312E8E0B4078AC80930080
+7CFE4BF7CAB2D45405C897B2DAF5748CC962C2E032AD6D106CAECCB7E2EFF2B4
+D90FFB8BE2F427D339D1EEBAAD58B0946C6AD5B8D1D335D2BE126B6AD9BDA8A4
+6FF9260E54AC35162AD89236BDDF5936B95A2DB43452C78FB25F02D3C223CAA4
+36E0CF740BE6D85F8F6F8631BDB1D0AC05ABE2E98F09BB22DD1B68A0A278E026
+84B907CEF368DD836DE3F8B9D043797EDC00F6DF91C9A02958EA01F55F00D570
+164575164E1697AAFCCF124AF3AEFA50A02990447C249FEC94EF94D9F2096E76
+F1C558F40812444C6F0F4DAC39A86BECFF82024F043B8A1F226BDB844639C5C1
+AAB3CC7383A85BEF5F37D69CC9C71C59A0D0F33022188CAF84326C26BF3F435E
+6A6E9147BC1B68EA135225157DBAEF77E340AD3A923D8C7BCCBE3D2F962C2514
+671FBE40417C2EA0F236C7462C608A5F169BBC1FDDB8DCDDCE916D730C61CA24
+EFE8AF8F9056AC944D776AD1AB10289EF60D240F532087DBEF11B1FDB1281D97
+6A2120A6C46C22A26D8651341B0180318EA6F8F74453C82F5F25F7B5F12F8B51
+C5A80C5C7238AB883E083EA59959A3000F6100669790106065F2F956E07BB110
+F1D7FF4A5199B53909D691D0CF9CB9086D116D56152BCE329695FE8A830F5C21
+3E4499C14B7B552BDCEC37E745415462F2538DA07FCA272BE4D277E12829BC46
+E495118969616EE7776AA49801C9A84A76F6A2812AF0DEB6AAA7984479B2CDD4
+CB3D87952E5A701E0F825B35DBBF865F372CC051A9D010CFD6D02CBFF67018A5
+65B949A243A214842D16062151AAE13D9A8D6890F4E2E9F09632FDA612B34B33
+A9ABA74A55561D2C07AA0A48FA9399079C6104B24B8FA2F392F023B8A9F279B7
+DF18CD7C63EA3C15D4AF10098C3955706709BF990E9FB252D7C7806F1AA59FE7
+7425FE62C24ACF71C2701BEF1C215BB3F41BDACF4B2D094D0B4149A5E09C9015
+11F0F4FF29D43DE342018E67F6B116ECD19D0A6E00AB3917128DE2205D27D2ED
+7271F16CE4826618615E56C87C30CAFCE21C74ED943A4EED0C1B3BD32479CB4E
+886304D305815128532889B531170C4B10ECD0C976C18F6001A18D466E40C5FE
+FE679B57DC9F4E79BE368D7C013F1C006B5BFAE924378845EFFE3E8BFF97F1B6
+024AF136572B623E3EDD7B4C069F185DE218554B7A51DDC1C0FA2E595E1EE2ED
+F7BD08F2EFD59C7EA11F70FA5E66B488F2FF6A4C39417962E0DE97861AD72DEF
+9AED159F92452F2792469D4BC8FF30DF62EC6EF7FF5542CE8F9921DBD3DF632A
+9B2B3308C641EFC16613B8AD5D886B7BA368DEB5AE7DFBB73FD1A0039F86E848
+9003F84951D921901B7D738B10F304E91752899F9A3C1AA557285C8A9E937B47
+C02DA468E1B1405446D985B9E75A108B79353B3209C01DC47D2CA3D7E500C9BE
+47338665F1538F2B21C0E5BCE6D4AF2E318F2058F294D236578CFFBE68A01267
+7CFC3848BB5760CBA1D313DC83B5E924BD35B37D5B0B305A12A4E70A50139378
+6FCDCC0A5CEB3FC42CEBE02476298D2A06C327B5710803A5212C8CDE88DB132B
+45A97D18DE71422038125927A1E63836A1EC53E443C0AD70EAEDA71AD36A1E14
+22A76D86F602E1FA74D8AD1DB0D918F124929CAAF9701057B34D94BB8BC0A27D
+0FD08B6C4DDD168E78817B72CDDF15B11F1F4383D669A5495EADC0D6D1559DE1
+6723BFEE1B4FBA65ABFF7C516F5C3042443E6C931F6CC6ED108E765C879314E5
+32D888A1F622AE3AD612DAD9059A3D7F3BD63827E28F17D57CE9A481B68DDE13
+F0F9671B2E7E4B03C30FD2970B441E285F741FA0C386F50D2C9FC7F252AD669B
+B39A194929255FDAEFBF0B0679C941C32D841D4A55DECE2558496E6EA5991AEB
+A592BABA2DB6F3D663808C2BB6B3BE5B62FEC3609DA59FB6E803A0A99CABA828
+2926A96C261ECA284FDF9EFDF3F9A86A36F79C2751E13EF76818DF4B04DDEFD8
+17355D4F877256023ADE33D6EE10BE2C79698115A2DEBF8CDAAF3BBEDB05DE5B
+CB73C7BDB04AAB7F46B3F3001A3D0E8A24476C4AD49E132249D0F334797CFE7B
+3C2F216F350BC6570BA60A15B635942EDA2F5B354E5E0D381F4C3F5A3DDB5381
+CFCC78F31123A59E84A773A3D8D6EB13077BABA4E019BE121E24F0B4BA11F6D5
+EE1BA38B76CD8FD94E2F8F2607FEE1B55382A62B35FA16C62D3C021BFF7D1D58
+076DF9DEE1C88F784545DE39EB9AAD915049FDDA2BA27F1274FEAA290215293D
+B3556C05BBFB3BEB72E10BA808BC0FD76273E59F0822FC8F6D2CD80571E964DF
+B2D573197D70F660851E71C8BDA874F3E2D1DE3A9C4D5F98EB75FFE015214E9C
+FD6FFAB1BE62FD91C88AD7CE0DFBE01F693C28B2D58BEFF526ABC2504024C85A
+5A0CCDC4B5776FB2064AD9ADFF13751459A43100BD792AC66456CB69D6839672
+419C798894BC1F4011928268564054DABD9EC00B403AD47A076896AF88CD71A6
+F9A2565C497B979CD122D36A2780C4953A2DE4FB007EACA9985BCBE259E5669E
+ACE3B551EEC3CE13B1FEA2D88E1679901E8744DC215EFE417DBA1A7B4C1C64F0
+A2496CC56FA3D3124D025C2D6410C56F5878278646903FBB184E7917E6719BED
+90A5AC3D26BE9618DC456B84D91A6C7B84D04CAEE53756F2D6370EF51DB674AF
+26BD33895DA140B5DF4EBB34A266BA433841EE944935BCB8AC2CF68371A04B26
+24925C12C34A471C77EB2CE8EF6F006E6FD708ED39091E301F077FE7AE2463F4
+0DA83FD594F68D55F610196542E9274F2DBA8255D6C63A0B4688F425DBE5F28D
+56BAEEFC0E0DB0CC1A1556F178DFEF912B921D440330492FCE24FA56717B7FC9
+FDD93F6E9C02980D753E431CA00C25B9F93AE20C066D24CDB7FB40299C56B388
+1B6F30FF54779FA02B8F777E295C8C73F227FD6AD12E25B1198FCA1434536C8E
+38DEA96A9F9537DE2D79DDDFB2E80D58B526E64776C41B0C603420E5F2423C2B
+0148AD264567FC44367C28A4106C4A482A647C8E2DB6AA0FA61D612B85773578
+30A0F27E935C97232CA97D98E7C1AFD1728773ABCF5095DF52827F92E209D0D5
+1EB056F44EC9CB1760961D62D7E6A47E9DAECDA2CB048C46A094A831CDB00F32
+3365D6BE6D90B9BD17FF9E052A0B3A18B20FC54FBF0524A61F98668745C48DA4
+AD6F0A46EF92547A8DE6565606336E6BC04B5CF02812D1337AA060FF82C5B18A
+364954831522B714EB9B17C83AE0AF35989489779D050EC8E53897C3E6794A2B
+3B231D5B7FF2BD6A1CBC3A17FF5DF62035287BCDF0332C546BF48C5C5ADC8820
+A6913088E942012938D2DA978DE082B818201E2078F23792CD4EAE6CD0D9EF3A
+23B452ED77443D2E7102592E101C0F82A309B5AFA7D2F9188D12D9ECA1C93810
+B69C96759AA42C744FB85EF3D91F4B57AB6EB42ADD5650B463B162918D340FF4
+4300111EAA102FB4A472CFC427003D314642129B03E454B28821A8E7A593C3B6
+0490CA4B351AE075DECB67A202B131F55E12D5473BA0A1FE1124C99699FE9D04
+E79A7AAC4DAFA504BFCC28470D632ADE409C4FE6FFADFE670FCDDE4F4AA04B89
+0D2353ECC91122C559A126081CB9421DE1DD7BC57599C926D09EA6BB90A7E7C3
+D9906472DF11E519E5867FF4618DA0CE348EA9388C84A9360E83745D534B7841
+F83C126C22DC91997074CCF3526E58D17A3A1286E31285BD320CABDA36491A29
+D5D0056115A25CE175EEF7EE88EF4F3CD5F868A27A67439B4A68FF1DBB085086
+0612ACE414F3E98809B95E7AE149C993BA9DE108532115545FDD8E7A508FA857
+CCE2AA87F09476E3EBF0BE4E30453C54FC94A6A76AAEB8DEA6DD4B5F3110E0E0
+EA37DF8D06391B8450282DC16E8C1550BD87E033EC7E123B26366D3CE2011B25
+C5447209
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 48 /zerooldstyle put
+dup 49 /oneoldstyle put
+dup 50 /twooldstyle put
+dup 52 /fouroldstyle put
+dup 56 /eightoldstyle put
+dup 58 /period put
+dup 116 /t put
+dup 120 /x put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+956017667D1074FE5415F315CFC941447D57558E64B9C26DB3D1F046957DF72E
+4BCE361A0F6CD2CFF2A35E09A39C60BE9C86648521318652B1E1375010DC199F
+82ACCA5056AE0181F1B80604DE5F69B8A01FBD271E8EE9B1A446AACDB22B3805
+E72DD2F922164CEB64E1E610748B61BB5FF47CA5C2EBBA5E738613CC0DCA95B1
+7CC9332B7E57B9BC5082AB1CB05E4FA97EBE03F1B2CE5C1E4FF84CB26671F739
+FD4D3AAE03D605B0C4CD017605D6EF9BFDD4B00EB6343E2EE687F6F8D0BC4D44
+8BDB2126E85CA8CD95E3B93F56091DF374C4E4B4F3717C114E27DAB6179AD2C2
+26635D00BA66D409361D6240D753B2634C5E48FC07068EC9FE7F8306A5E4F34C
+5AAD2E0B0A9AF5256F1076E2DC82A16424ADDBFE1BF66DED7BA10DE22A4919DF
+86850EB2A10523B46C05C07804305FA0285320041C46F4B64622597638056428
+1C8D165195FBF9A36A948F75EEF7802D7AC9270C50768F0C81B078D2A656BF6E
+68A0D2A79F58EAAEBFD6092DBCCD8B1658215EF0725006A21C00FF55C96EBB0E
+D52EAE7B583BA19CE81CCC471C1B7FECD2CBCDFF9B33D49FBAD097227A9F7457
+418C90F9088290F10ABCC5970138C6368445059A2718B0A02E83BCBD9628E6A4
+64DC39B281167DC13E250330C573FA7FE63D82BEDD651EFC1F2D16A1893CEED1
+8BA316418F6D6D1480C33B5BE0BD8B297704B4187F1A0DA43B3C1C808E64403E
+66E2B1523B5E15252D3CE6B615D5DD6715929D7ED26BEF4F069375F143E63B0C
+D771313BFEEC31475E788A98D7CB3A8F1F1B74F399DC9CA398CB6CB43BD82476
+E692AFB0A60ED00C6E606A985B4C0B28CDB7CAE53A26512D441AB10CFA4F1B6D
+D2C8734CA076FD332A94139085DB09D2E0228AFCF166EA834D29C1745D32C8E5
+EE15521563BC500CD9577620B9E8A887F3EEA6AC42DBBD9B21454CB736FCCE23
+947DDFE02DEB129B5D6B0B489FE292F7D2A8584255FD45AD3E751BA3AFE4A341
+CD8A2EC11F6FEE15B9780DABD282526636D7E22A68A4D94F8D18D69DF867CE8C
+D55CFE2A5169578E303E08C3558B541911A2C6030AF2F683A1332565B7CE08AC
+34A9B915A1CC506890E052C4B2EA9F90F3AA5967CB17F88635E045B552F377B6
+AD549500472DCED3D9E4F408CF6697A55A023FF97A83ACC74D09C9967CE33E99
+55AB255A4864C813191710A4B79CE8986F42B8CF77C577146B96BF3B4F454142
+DA6F4B18021D91B0361DEC3542F619DEBF2AA61E1382DB29ED1E267A144F2D79
+CA274C24B68AD70E34ACC83449D9E35D68A85F6FAC224BB839A68B7BAD83CF40
+E6503C52ABF298E1D53C934E63C082FBD84535FB1E323C172C528E1672D9FCB2
+8E2F4A5B337523E79AAF5C3335C57F63D5A4F855816E60DA934BE925DE10DE6D
+46F6D8D587D755088CD6DA213209621BA3DD60FAB2A19FF02AE6E1B981198FD0
+1F462950BC0BC8824BE7172A091E0A85BF13DFBC0C4891F687676370A95ED746
+608096E52777E69FF89BB47CBBD68BE3CC2AE01A4F32312057B8FD589764E0EB
+1E65FBE3FCC66462D74482A75B36DB0FCF93FA9B4055234F3F48063FC5799B84
+FBB10B09E1A69DD6E4860482C0F57DFED886E48F433C8C4662E62D3A88F9A709
+2991CB3B367C35CB419D95509423BAF86581B8E56A015EC420ED5EF29AAAD262
+A83351D633D7625762A3D8F388EFBE5733D71FBC0E3BBFEDFAFC9035B1144D86
+FC7665406970FE18CB2E0C5685DBFB64D57E68F214C3EC3862A16CA102AA4915
+ED40E22AE2EB32293955B535750941B48A5287D758EB5C406185785992F2BF5F
+F7F89664395579F2D70142440C36158FA26B2A0B58D1549E82F13923D6E30569
+FE776E0A0BD95BC5A57B44F8216127F86B43DD272F93E668A8D4B189F8B47FCA
+74DBF9AE62C6B6698AFB320FE30BF214EBF04B5C701F52B82220C92B32173565
+B7A20D7DEE0EEAF2FAEE60A63DAB1AA5FEA261480635FD807B35
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+TeXDict begin 40258437 52099154 1000 8000 8000 (fig1.dvi)
+@start /Fa 140[437 5[922 109[{}2 1106.96 /CMR10 rf /Fb
+74[667 181[{ enclmts1 ReEncodeFont }1 1106.96 /LMRoman10-Regular
+rf /Fc 135[633 3[400 57[307 1[553 3[553 1[553 553 553
+48[{}8 1106.96 /CMMI10 rf /Fd 139[430 437 2[615 1[615
+922 307 2[307 3[492 1[492 1[553 12[799 15[846 23[307
+44[{ enclmec ReEncodeFont }13 1106.96 /LMRoman10-Regular
+rf(ec-lmr10)cvn 9.96265 /Fd 1 fstore(cmmi10)cvn 9.96265
+/Fc 1 fstore(ts1-lmr10)cvn 9.96265 /Fb 1 fstore(cmr10)cvn
+9.96265 /Fa 1 fstore end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 8000dpi
+TeXDict begin
+ end
+%%EndSetup
+TeXDict begin 1 0 bop 8524 23867 a @beginspecial 67 @llx
+280 @lly 302 @urx 442 @ury 2350 @rwi @setspecial
+%%BeginDocument: _@temp.1
+%!PS
+%%BoundingBox: 67 280 302 442
+%%HiResBoundingBox: 67.13551 280.6355 301.02805 441.5
+%%Creator: MetaPost 0.901
+%%CreationDate: 2006.12.14:1208
+%%Pages: 1
+%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98
+%*Font: cmmi10 9.96265 9.96265 30:e8a0000000000000088
+%*Font: ts1-lmr10 9.96265 9.96265 b5:8
+%*Font: cmr10 9.96265 9.96265 6d:82
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 114.5 302.584 moveto
+114.5 441.25 lineto
+290.25 441.25 lineto
+290.25 302.584 lineto
+114.5 302.584 lineto stroke
+186.18599 282.5727 moveto
+(Time,) ec-lmr10 9.96265 fshow
+214.96638 282.5727 moveto
+(t) cmmi10 9.96265 fshow
+gsave [0 1 -1 0 73.9273 336.8714 ] concat 0 0 moveto
+(Displacemen) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 73.9273 391.306 ] concat 0 0 moveto
+(t,) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 73.9273 401.26869 ] concat 0 0 moveto
+(x) cmmi10 9.96265 fshow grestore
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 114.5 302.584 moveto
+114.5 304.334 lineto stroke
+newpath 114.5 441.25 moveto
+114.5 439.5 lineto stroke
+106.2126 295.2945 moveto
+(0) cmmi10 9.96265 fshow
+112.8547 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+118.8577 295.2945 moveto
+(s) cmr10 9.96265 fshow
+newpath 143.833 302.584 moveto
+143.833 304.334 lineto stroke
+newpath 143.833 441.25 moveto
+143.833 439.5 lineto stroke
+newpath 173.083 302.584 moveto
+173.083 304.334 lineto stroke
+newpath 173.083 441.25 moveto
+173.083 439.5 lineto stroke
+164.7956 295.2945 moveto
+(4) cmmi10 9.96265 fshow
+171.4377 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+177.44069 295.2945 moveto
+(s) cmr10 9.96265 fshow
+newpath 202.417 302.584 moveto
+202.417 304.334 lineto stroke
+newpath 202.417 441.25 moveto
+202.417 439.5 lineto stroke
+newpath 231.667 302.584 moveto
+231.667 304.334 lineto stroke
+newpath 231.667 441.25 moveto
+231.667 439.5 lineto stroke
+223.37961 293.1636 moveto
+(8) cmmi10 9.96265 fshow
+230.02171 293.1636 moveto
+(\265) ts1-lmr10 9.96265 fshow
+236.0247 293.1636 moveto
+(s) cmr10 9.96265 fshow
+newpath 261 302.584 moveto
+261 304.334 lineto stroke
+newpath 261 441.25 moveto
+261 439.5 lineto stroke
+newpath 290.25 302.584 moveto
+290.25 304.334 lineto stroke
+newpath 290.25 441.25 moveto
+290.25 439.5 lineto stroke
+279.47194 295.2945 moveto
+(12) cmmi10 9.96265 fshow
+291.09544 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+297.09834 295.2945 moveto
+(s) cmr10 9.96265 fshow
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 114.5 302.584 moveto
+116.25 302.584 lineto stroke
+newpath 290.25 302.584 moveto
+288.5 302.584 lineto stroke
+88.2534 301.43924 moveto
+(0) cmmi10 9.96265 fshow
+94.89551 301.43924 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 322.417 moveto
+116.25 322.417 lineto stroke
+newpath 290.25 322.417 moveto
+288.5 322.417 lineto stroke
+newpath 114.5 342.167 moveto
+116.25 342.167 lineto stroke
+newpath 290.25 342.167 moveto
+288.5 342.167 lineto stroke
+80.5047 340.99084 moveto
+(0:4) cmmi10 9.96265 fshow
+94.8956 340.99084 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 362 moveto
+116.25 362 lineto stroke
+newpath 290.25 362 moveto
+288.5 362 lineto stroke
+newpath 114.5 381.834 moveto
+116.25 381.834 lineto stroke
+newpath 290.25 381.834 moveto
+288.5 381.834 lineto stroke
+80.5047 378.6238 moveto
+(0:8) cmmi10 9.96265 fshow
+94.8956 378.6238 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 401.667 moveto
+116.25 401.667 lineto stroke
+newpath 290.25 401.667 moveto
+288.5 401.667 lineto stroke
+newpath 114.5 421.417 moveto
+116.25 421.417 lineto stroke
+newpath 290.25 421.417 moveto
+288.5 421.417 lineto stroke
+80.5047 419.27225 moveto
+(1:2) cmmi10 9.96265 fshow
+94.8956 419.27225 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 441.25 moveto
+116.25 441.25 lineto stroke
+newpath 290.25 441.25 moveto
+288.5 441.25 lineto stroke
+ 0 1 dtransform truncate idtransform setlinewidth pop
+newpath 145.25 398.917 moveto
+146.75 403.167 lineto
+148.167 407 lineto
+149.667 410.583 lineto
+151.083 413.75 lineto
+152.583 416.5 lineto
+154.083 419 lineto
+155.5 421.083 lineto
+157 422.833 lineto
+158.416 424.25 lineto
+159.916 425.333 lineto
+161.333 426.083 lineto
+162.833 426.583 lineto
+164.333 426.75 lineto
+165.749 426.666 lineto
+167.249 426.416 lineto
+168.666 425.916 lineto
+170.166 425.25 lineto
+171.582 424.333 lineto
+173.082 423.333 lineto
+174.582 422.167 lineto
+175.999 420.917 lineto
+177.499 419.583 lineto
+178.915 418.167 lineto
+180.415 416.667 lineto
+181.832 415.167 lineto
+183.332 413.667 lineto
+184.832 412.167 lineto
+186.248 410.667 lineto
+187.748 409.167 lineto
+189.165 407.75 lineto
+190.665 406.334 lineto
+192.081 405.084 lineto
+193.581 403.834 lineto
+195.081 402.584 lineto
+196.498 401.501 lineto
+197.998 400.501 lineto
+199.414 399.584 lineto
+200.914 398.751 lineto
+202.414 398.001 lineto
+203.831 397.418 lineto
+205.331 396.834 lineto
+206.747 396.334 lineto
+208.247 396.001 lineto
+209.664 395.668 lineto
+211.164 395.501 lineto
+212.664 395.335 lineto
+214.08 395.252 lineto
+215.58 395.252 lineto
+216.997 395.335 lineto
+218.497 395.418 lineto
+219.913 395.585 lineto
+221.413 395.835 lineto
+222.913 396.085 lineto
+224.33 396.335 lineto
+225.83 396.668 lineto
+227.246 397.001 lineto
+228.746 397.334 lineto
+230.163 397.751 lineto
+231.663 398.084 lineto
+233.163 398.501 lineto
+234.579 398.834 lineto
+236.079 399.25 lineto
+237.496 399.584 lineto
+238.996 400 lineto
+240.412 400.333 lineto
+241.912 400.667 lineto
+243.412 401 lineto
+244.829 401.333 lineto
+246.329 401.583 lineto
+247.745 401.833 lineto
+249.245 402.083 lineto
+250.662 402.333 lineto
+252.162 402.5 lineto
+253.662 402.666 lineto
+255.078 402.833 lineto
+256.578 402.916 lineto
+257.995 402.999 lineto
+259.495 403.083 lineto
+260.995 403.166 lineto
+262.411 403.249 lineto
+263.911 403.249 lineto
+265.328 403.249 lineto
+266.828 403.249 lineto
+268.244 403.249 lineto
+269.744 403.166 lineto
+271.244 403.166 lineto
+272.661 403.083 lineto
+274.161 402.999 lineto
+275.577 402.916 lineto
+277.077 402.833 lineto
+278.494 402.75 lineto
+279.994 402.666 lineto
+281.494 402.583 lineto
+282.91 402.5 lineto
+284.41 402.333 lineto
+285.827 402.25 lineto
+287.327 402.167 lineto
+288.743 402.083 lineto
+290.243 402 lineto stroke
+newpath 114.5 302.584 moveto
+116 303.084 lineto
+117.417 304.417 lineto
+118.917 306.667 lineto
+120.333 309.667 lineto
+121.833 313.25 lineto
+123.25 317.417 lineto
+124.75 322.083 lineto
+126.25 327.167 lineto
+127.666 332.583 lineto
+129.166 338.25 lineto
+130.583 344.083 lineto
+132.083 349.999 lineto
+133.499 355.916 lineto
+134.999 361.916 lineto
+136.499 367.749 lineto
+137.916 373.499 lineto
+139.416 379.082 lineto
+140.832 384.416 lineto
+142.332 389.582 lineto
+143.832 394.415 lineto
+145.249 398.915 lineto stroke
+showpage
+%%EOF
+
+%%EndDocument
+ @endspecial eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/macros/latex/contrib/sistyle/figs/fig1.mps b/macros/latex/contrib/sistyle/figs/fig1.mps
new file mode 100644
index 0000000000..256d83d7b2
--- /dev/null
+++ b/macros/latex/contrib/sistyle/figs/fig1.mps
@@ -0,0 +1,257 @@
+%!PS
+%%BoundingBox: 67 280 302 442
+%%HiResBoundingBox: 67.13551 280.6355 301.02805 441.5
+%%Creator: MetaPost 0.901
+%%CreationDate: 2006.12.14:1208
+%%Pages: 1
+%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98
+%*Font: cmmi10 9.96265 9.96265 30:e8a0000000000000088
+%*Font: ts1-lmr10 9.96265 9.96265 b5:8
+%*Font: cmr10 9.96265 9.96265 6d:82
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 114.5 302.584 moveto
+114.5 441.25 lineto
+290.25 441.25 lineto
+290.25 302.584 lineto
+114.5 302.584 lineto stroke
+186.18599 282.5727 moveto
+(Time,) ec-lmr10 9.96265 fshow
+214.96638 282.5727 moveto
+(t) cmmi10 9.96265 fshow
+gsave [0 1 -1 0 73.9273 336.8714 ] concat 0 0 moveto
+(Displacemen) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 73.9273 391.306 ] concat 0 0 moveto
+(t,) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 73.9273 401.26869 ] concat 0 0 moveto
+(x) cmmi10 9.96265 fshow grestore
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 114.5 302.584 moveto
+114.5 304.334 lineto stroke
+newpath 114.5 441.25 moveto
+114.5 439.5 lineto stroke
+106.2126 295.2945 moveto
+(0) cmmi10 9.96265 fshow
+112.8547 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+118.8577 295.2945 moveto
+(s) cmr10 9.96265 fshow
+newpath 143.833 302.584 moveto
+143.833 304.334 lineto stroke
+newpath 143.833 441.25 moveto
+143.833 439.5 lineto stroke
+newpath 173.083 302.584 moveto
+173.083 304.334 lineto stroke
+newpath 173.083 441.25 moveto
+173.083 439.5 lineto stroke
+164.7956 295.2945 moveto
+(4) cmmi10 9.96265 fshow
+171.4377 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+177.44069 295.2945 moveto
+(s) cmr10 9.96265 fshow
+newpath 202.417 302.584 moveto
+202.417 304.334 lineto stroke
+newpath 202.417 441.25 moveto
+202.417 439.5 lineto stroke
+newpath 231.667 302.584 moveto
+231.667 304.334 lineto stroke
+newpath 231.667 441.25 moveto
+231.667 439.5 lineto stroke
+223.37961 293.1636 moveto
+(8) cmmi10 9.96265 fshow
+230.02171 293.1636 moveto
+(\265) ts1-lmr10 9.96265 fshow
+236.0247 293.1636 moveto
+(s) cmr10 9.96265 fshow
+newpath 261 302.584 moveto
+261 304.334 lineto stroke
+newpath 261 441.25 moveto
+261 439.5 lineto stroke
+newpath 290.25 302.584 moveto
+290.25 304.334 lineto stroke
+newpath 290.25 441.25 moveto
+290.25 439.5 lineto stroke
+279.47194 295.2945 moveto
+(12) cmmi10 9.96265 fshow
+291.09544 295.2945 moveto
+(\265) ts1-lmr10 9.96265 fshow
+297.09834 295.2945 moveto
+(s) cmr10 9.96265 fshow
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 114.5 302.584 moveto
+116.25 302.584 lineto stroke
+newpath 290.25 302.584 moveto
+288.5 302.584 lineto stroke
+88.2534 301.43924 moveto
+(0) cmmi10 9.96265 fshow
+94.89551 301.43924 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 322.417 moveto
+116.25 322.417 lineto stroke
+newpath 290.25 322.417 moveto
+288.5 322.417 lineto stroke
+newpath 114.5 342.167 moveto
+116.25 342.167 lineto stroke
+newpath 290.25 342.167 moveto
+288.5 342.167 lineto stroke
+80.5047 340.99084 moveto
+(0:4) cmmi10 9.96265 fshow
+94.8956 340.99084 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 362 moveto
+116.25 362 lineto stroke
+newpath 290.25 362 moveto
+288.5 362 lineto stroke
+newpath 114.5 381.834 moveto
+116.25 381.834 lineto stroke
+newpath 290.25 381.834 moveto
+288.5 381.834 lineto stroke
+80.5047 378.6238 moveto
+(0:8) cmmi10 9.96265 fshow
+94.8956 378.6238 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 401.667 moveto
+116.25 401.667 lineto stroke
+newpath 290.25 401.667 moveto
+288.5 401.667 lineto stroke
+newpath 114.5 421.417 moveto
+116.25 421.417 lineto stroke
+newpath 290.25 421.417 moveto
+288.5 421.417 lineto stroke
+80.5047 419.27225 moveto
+(1:2) cmmi10 9.96265 fshow
+94.8956 419.27225 moveto
+(mm) cmr10 9.96265 fshow
+newpath 114.5 441.25 moveto
+116.25 441.25 lineto stroke
+newpath 290.25 441.25 moveto
+288.5 441.25 lineto stroke
+ 0 1 dtransform truncate idtransform setlinewidth pop
+newpath 145.25 398.917 moveto
+146.75 403.167 lineto
+148.167 407 lineto
+149.667 410.583 lineto
+151.083 413.75 lineto
+152.583 416.5 lineto
+154.083 419 lineto
+155.5 421.083 lineto
+157 422.833 lineto
+158.416 424.25 lineto
+159.916 425.333 lineto
+161.333 426.083 lineto
+162.833 426.583 lineto
+164.333 426.75 lineto
+165.749 426.666 lineto
+167.249 426.416 lineto
+168.666 425.916 lineto
+170.166 425.25 lineto
+171.582 424.333 lineto
+173.082 423.333 lineto
+174.582 422.167 lineto
+175.999 420.917 lineto
+177.499 419.583 lineto
+178.915 418.167 lineto
+180.415 416.667 lineto
+181.832 415.167 lineto
+183.332 413.667 lineto
+184.832 412.167 lineto
+186.248 410.667 lineto
+187.748 409.167 lineto
+189.165 407.75 lineto
+190.665 406.334 lineto
+192.081 405.084 lineto
+193.581 403.834 lineto
+195.081 402.584 lineto
+196.498 401.501 lineto
+197.998 400.501 lineto
+199.414 399.584 lineto
+200.914 398.751 lineto
+202.414 398.001 lineto
+203.831 397.418 lineto
+205.331 396.834 lineto
+206.747 396.334 lineto
+208.247 396.001 lineto
+209.664 395.668 lineto
+211.164 395.501 lineto
+212.664 395.335 lineto
+214.08 395.252 lineto
+215.58 395.252 lineto
+216.997 395.335 lineto
+218.497 395.418 lineto
+219.913 395.585 lineto
+221.413 395.835 lineto
+222.913 396.085 lineto
+224.33 396.335 lineto
+225.83 396.668 lineto
+227.246 397.001 lineto
+228.746 397.334 lineto
+230.163 397.751 lineto
+231.663 398.084 lineto
+233.163 398.501 lineto
+234.579 398.834 lineto
+236.079 399.25 lineto
+237.496 399.584 lineto
+238.996 400 lineto
+240.412 400.333 lineto
+241.912 400.667 lineto
+243.412 401 lineto
+244.829 401.333 lineto
+246.329 401.583 lineto
+247.745 401.833 lineto
+249.245 402.083 lineto
+250.662 402.333 lineto
+252.162 402.5 lineto
+253.662 402.666 lineto
+255.078 402.833 lineto
+256.578 402.916 lineto
+257.995 402.999 lineto
+259.495 403.083 lineto
+260.995 403.166 lineto
+262.411 403.249 lineto
+263.911 403.249 lineto
+265.328 403.249 lineto
+266.828 403.249 lineto
+268.244 403.249 lineto
+269.744 403.166 lineto
+271.244 403.166 lineto
+272.661 403.083 lineto
+274.161 402.999 lineto
+275.577 402.916 lineto
+277.077 402.833 lineto
+278.494 402.75 lineto
+279.994 402.666 lineto
+281.494 402.583 lineto
+282.91 402.5 lineto
+284.41 402.333 lineto
+285.827 402.25 lineto
+287.327 402.167 lineto
+288.743 402.083 lineto
+290.243 402 lineto stroke
+newpath 114.5 302.584 moveto
+116 303.084 lineto
+117.417 304.417 lineto
+118.917 306.667 lineto
+120.333 309.667 lineto
+121.833 313.25 lineto
+123.25 317.417 lineto
+124.75 322.083 lineto
+126.25 327.167 lineto
+127.666 332.583 lineto
+129.166 338.25 lineto
+130.583 344.083 lineto
+132.083 349.999 lineto
+133.499 355.916 lineto
+134.999 361.916 lineto
+136.499 367.749 lineto
+137.916 373.499 lineto
+139.416 379.082 lineto
+140.832 384.416 lineto
+142.332 389.582 lineto
+143.832 394.415 lineto
+145.249 398.915 lineto stroke
+showpage
+%%EOF
diff --git a/macros/latex/contrib/sistyle/figs/fig2.eps b/macros/latex/contrib/sistyle/figs/fig2.eps
new file mode 100644
index 0000000000..e03edd8828
--- /dev/null
+++ b/macros/latex/contrib/sistyle/figs/fig2.eps
@@ -0,0 +1,1888 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software
+%%Title: fig2.dvi
+%%CreationDate: Thu Dec 14 12:06:32 2006
+%%BoundingBox: 148 504 362 668
+%%DocumentFonts: LMRoman10-Regular CMMI10 CMR10
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: DVIPS -Ppdf -G0 -E -o fig2.eps fig2.dvi
+%DVIPSParameters: dpi=8000
+%DVIPSSource: TeX output 2006.12.14:1206
+%%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: alt-rule.pro 0 0
+%!
+% Patch by TVZ
+% Makes dvips files draw rules with stroke rather than fill.
+% Makes narrow rules more predictable at low resolutions
+% after distilling to PDF.
+% May have unknown consequences for very thick rules.
+% Tested only with dvips 5.85(k).
+TeXDict begin
+/QV {
+ gsave newpath /ruleY X /ruleX X
+ Rx Ry gt
+ { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
+ { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
+ ifelse
+ setlinewidth 0 setlinecap stroke grestore
+} bind def
+end
+
+%%EndProcSet
+%%BeginProcSet: lm-ec.enc 0 0
+% This file belongs to the Latin Modern package. The work is released under
+% the GUST Font Source License. See the MANIFEST.txt and README.eng files
+% for the details. For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+
+/enclmec[
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase
+/guilsinglleft
+/guilsinglright
+/quotedblleft
+/quotedblright
+/quotedblbase
+/guillemotleft
+/guillemotright
+/endash
+/emdash
+/cwm
+/perthousandzero
+/dotlessi
+/dotlessj
+/ff
+/fi
+/fl
+/ffi
+/ffl
+/visiblespace
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/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
+/hyphen.alt
+/Abreve
+/Aogonek
+/Cacute
+/Ccaron
+/Dcaron
+/Ecaron
+/Eogonek
+/Gbreve
+/Lacute
+/Lcaron
+/Lslash
+/Nacute
+/Ncaron
+/Eng
+/Ohungarumlaut
+/Racute
+/Rcaron
+/Sacute
+/Scaron
+/Scedilla
+/Tcaron
+/Tcedilla
+/Uhungarumlaut
+/Uring
+/Ydieresis
+/Zacute
+/Zcaron
+/Zdotaccent
+/IJ
+/Idotaccent
+/dcroat
+/section
+/abreve
+/aogonek
+/cacute
+/ccaron
+/dcaron
+/ecaron
+/eogonek
+/gbreve
+/lacute
+/lcaron
+/lslash
+/nacute
+/ncaron
+/eng
+/ohungarumlaut
+/racute
+/rcaron
+/sacute
+/scaron
+/scedilla
+/tcaron
+/tcedilla
+/uhungarumlaut
+/uring
+/ydieresis
+/zacute
+/zcaron
+/zdotaccent
+/ij
+/exclamdown
+/questiondown
+/sterling
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Adieresis
+/Aring
+/AE
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Edieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Idieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Odieresis
+/OE
+/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
+/oe
+/oslash
+/ugrave
+/uacute
+/ucircumflex
+/udieresis
+/yacute
+/thorn
+/germandbls
+] def
+
+%%EndProcSet
+%%BeginProcSet: lm-ts1.enc 0 0
+% This file belongs to the Latin Modern package. The work is released under
+% the GUST Font Source License. See the MANIFEST.txt and README.eng files
+% for the details. For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+
+/enclmts1[
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase.ts1
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/quotedblbase.ts1
+/.notdef
+/.notdef
+/twelveudash
+/threequartersemdash
+/cwmcapital
+/arrowleft
+/arrowright
+/tieaccentlowercase
+/tieaccentcapital
+/tieaccentlowercase.new
+/tieaccentcapital.new
+/.notdef
+/cwmascender
+/blanksymbol
+/.notdef
+/.notdef
+/.notdef
+/dollar
+/.notdef
+/.notdef
+/quotesingle.ts1
+/.notdef
+/.notdef
+/asteriskmath
+/.notdef
+/comma
+/hyphendbl
+/period
+/fraction
+/zero.oldstyle
+/one.oldstyle
+/two.oldstyle
+/three.oldstyle
+/four.oldstyle
+/five.oldstyle
+/six.oldstyle
+/seven.oldstyle
+/eight.oldstyle
+/nine.oldstyle
+/.notdef
+/.notdef
+/angleleft
+/minus
+/angleright
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/mho
+/.notdef
+/bigcircle
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/ohm
+/.notdef
+/.notdef
+/.notdef
+/dblbracketleft
+/.notdef
+/dblbracketright
+/arrowup
+/arrowdown
+/grave.ts1
+/.notdef
+/born
+/divorced
+/died
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/leaf
+/married
+/musicalnote
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/tildelow
+/hyphendbl.alt
+/breve.ts1
+/caron.ts1
+/hungarumlaut.ts1
+/dblgrave.ts1
+/dagger
+/daggerdbl
+/dblverticalbar
+/perthousand
+/bullet
+/centigrade
+/dollar.oldstyle
+/cent.oldstyle
+/florin
+/colonmonetary
+/won
+/naira
+/guarani
+/peso
+/lira
+/recipe
+/interrobang
+/gnaborretni
+/dong
+/trademark
+/permyriad
+/paragraph.alt
+/baht
+/nomero
+/discount
+/estimated
+/openbullet
+/servicemark
+/quillbracketleft
+/quillbracketright
+/cent
+/sterling
+/currency
+/yen
+/brokenbar
+/section
+/dieresis.ts1
+/copyright
+/ordfeminine
+/copyleft
+/logicalnot
+/published
+/registered
+/macron.ts1
+/degree
+/plusminus
+/twosuperior
+/threesuperior
+/acute.ts1
+/mu
+/paragraph
+/periodcentered
+/referencemark
+/onesuperior
+/ordmasculine
+/radical
+/onequarter
+/onehalf
+/threequarters
+/Euro
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/multiply
+/.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
+/divide
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: finclude.pro 0 0
+%!
+/fstore{dup dict exch{dup 4 2 roll put}repeat def}bind def/fshow{gsave
+72 TeXDict/Resolution get div -72 TeXDict/VResolution get div scale 1
+DVImag div dup scale get cvx exec show grestore}bind def
+
+%%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: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 109 /m put
+dup 115 /s put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEE09555C11E6E295
+71B219B380EE9E5BB17AD84B4E8AED35880BD88E5AC7D9FE25C46889CD093396
+F0E34A62F93E64C8E7975CFD617121244AB09FF9A4F73F8166197D0CDE2EEBB3
+81AB9BD8329579C2122368F56DEB89BA6E42C5D9E20F2789CC4A89E4AD9B877F
+8A0ACB84936F109D86211169257C19756A97E682601F4D1E7ED950A351C14DAC
+4BEA7FB0E58FB5AEB55BC09B1253748B61B4E00C448F263458BF958D3986BF18
+9636037E95FB425AAC96FCED5B4C766F93041FAA0DBB196B0A220B8E3A9FCA6E
+B4F5C0C775C25AFF4F5099CD3A2FA59ACA735718F8E90B351B015320794A89E8
+4C34F32B465E201008CCC0A15C2DEE572BDA14D8BDDFCF2743A15F8A93386861
+828F6251F206B9131C951D1ED4364A9CCE507E2959A1DA04A777B592888D38ED
+E68FFB3EFE83870BA8E04B88C9EEEB2DB80D4D07B52CE914D9DADF825A5301AC
+C64063909D6C1DC84C274C90004F41A1FAFD450805C5DD2A8E4F4C23E114246F
+C103EB63B58F33E44DD04F6367E04C3CBB3400BA3C1943B874CFB7DBF6A3EB5A
+3F665C5A98F578A03948821E40D1608FB70C5915CA0DE369A0D7112BFF6CAE56
+CB9BF699DAF3859F2B46DF97AE05915E791F1CE849154C53C4403EFD6F1A44EF
+78C167190F3326BA35B2A0F95CD03492DBA2903489ABB6B2EB9F977F3F4D690B
+31E8F6E32F83D91F721ABD116A40698F26610853E7FD075478979BEF42166C1B
+312E8C20CB3F080B08A69416DA402D336C627BABC4737FC72F8F4F6BB7D73551
+EE33D3CEA901C3369B93301EEE2C3475A9F5B96239829EA2EE6A4F6A047A230D
+44CE6210E275C4AAC7931329F161948073F4086B4FB7C98DE9FE8F04DAD394CB
+6AF09FAEA10C3B9470D051054C65297A1E2DA99EB13C1BED09001F68B04377E9
+DAD87BCD6759B3DDBACBD0BB8FD64D2068C3DE2065A772019C474B0514299334
+55E6079A8BC565D2CEB7E3B896593D720DBF66CDB2697926FE4101CEE9D13430
+435E66EB92DB66EF26948040DC4B233A18AD9323E51DF9363D788F73419A8625
+7D9BA441C82B2E70BE926CCD72052D4F839274FFDA9116B4E8CBED2FB8719044
+CFAD402ABF220656062D8E062552AB41688EB7E6869190C0E77E0EF850479581
+DEF6C117C0FC3E2F617807E129EAF9B11C0E9AC14934B8C23B21A7AEF7373CD3
+296D97BAD6FA3AACCFC8102DD314B33A85ED022C64985DF1B3B448F4B1B1B69D
+875F0423773C5701B5409F14B5DAC3B87293BCD94E0CBBC6FC3D0B0C3B0BDBF7
+538EACBD8AF0C21785BD38D4135E72507C09FD564CC83BF6A8B14A234E9E082A
+0B9DA23ECFD02C961A58144BDF2FA72CC2764AEF0EA6EF384065950C69007F35
+EB1D9EA0AE6C95E38D1218A6F3B34D2A2AA54B7C0E75B0B2E421E9D1B9970A9D
+FB1DDC015409B8E408683F204D768563208B3F70FBCBC87230EAE9C40236D2A8
+61672EBEB2D8E332816619AEFB139F9A6877F95D2D4C26F059E7E8E634B7933E
+EF2B79F9C7E994B30A507C94E9DD8CC59EA7EF25865D24DFD3EE62BAF88E394E
+565253A758BA3E4DDA76FA846BAF73FAB1899D40AAAD3E8A7B01795A035866C8
+796A18621FA015AFE95B076EBC274C69DD5D4E4B6658AC5EBC2A08531BA9355F
+9688D7F9110F95243B880C7171157DDCC806684D16928487770B1A9BD9FDDB80
+3B325A1FBB05D047B05D1607B6C3E750BC4E5B9BDA764C362CB2C833105473AD
+6FBA7C6CA9B293BCDBFBEE420979DAC7E3FB0CDF85840B7A002BC4C3FF2E2477
+B4156D6D305B45A03DB85FC8C33CF365B29153B5C6B8C24B3805469DB3FB1532
+F4E365A84D5A1966556A822E6A075044FF531835FD5ECE41A46CCA65994B64BE
+9357D3391A3E0DAD0ECEED1FE4CB4B3F1BC1152C1DDEAABED93FAAA5C5343017
+6A7B3C34F97BB6A7C8EDB381562180F6983B8A98EFD47F1C43B46DC022F29FAB
+FF05B002FEEFC5B5741C407B882FD17F31E9F134BDFD2F0E7AAA105B491353E6
+53824F42214A5F047D4B71596BA49AAE975C3D8B0A3926954399194BA3D2C57A
+19B9F9D9065DE7E506F6F3E0EF2FD285
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: LMRoman10-Regular
+%!PS-AdobeFont-1.0: LMRoman10-Regular 1.00
+%%CreationDate: 13th April 2006
+% Generated by MetaType1 (a MetaPost-based engine)
+% Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).
+% Supported by CSTUG, DANTE eV, GUST, GUTenberg, NTG, and TUG.
+% METATYPE1/Type 1 version by B. Jackowski & J. M. Nowacki
+% from GUST (http://www.gust.org.pl).
+% This work is released under the GUST Font Source License.
+% For the most recent version of this license see
+% http://www.gust.org.pl/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt or
+% http://tug.org/fonts/licenses/GUST-FONT-SOURCE-LICENSE.txt
+% This work has the LPPL maintenance status "maintained".
+% The Current Maintainer of this work is Bogus\l{}aw Jackowski and Janusz M. Nowacki.
+% This work consists of the files listed in the MANIFEST.txt file.
+% ADL: 806 194 0
+%%EndComments
+FontDirectory/LMRoman10-Regular known{/LMRoman10-Regular findfont dup/UniqueID known{dup
+/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+17 dict begin
+/FontInfo 9 dict dup begin
+/version(1.00)readonly def
+/Notice(Copyright 2003--2006 by B. Jackowski and J.M. Nowacki (on behalf of TeX USERS GROUPS).)readonly def
+/FullName(LMRoman10-Regular)readonly def
+/FamilyName(LMRoman10)readonly def
+/Weight(Normal)readonly def
+/isFixedPitch false def
+/ItalicAngle 0 def
+/UnderlinePosition -146 def
+/UnderlineThickness 40 def
+end readonly def
+/FontName /LMRoman10-Regular def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/PaintType 0 def
+/FontType 1 def
+/StrokeWidth 0 def
+/FontMatrix[0.001 0 0 0.001 0 0]readonly def
+%/UniqueID 0 def
+/FontBBox{-220 -290 1417 1127}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC
+1B1844A0E222653FA481B8809B26A46F4C483A5D7E95816EA6582584156CFEDE
+B994ADCFF4645140E3617E4D7E1B0E4541CB9F562E55829B4DD880AABE2229E9
+4A9FA259A734D29BBA91BA1E2055CBEA4339BCBFF98D32CEFF11F296225CAABA
+DCA10577A5D431B714726C1278D8101ABD1BD8D0BD0174FFF9148F8C61C241D9
+2AD360A28616CB4A0670C1BF13E4018CA53FFC8B28E49B3AF8134528F971DEDA
+55E9075B8973BD0B1C001D7F241CAA67472027935C0A16779AC34D17950388CF
+0E0191A473BE7581A249D043279E83EA19B511D1D8FA3933F37C594054DB8297
+45ECDBC2E8976B243A996D477A529B8667BB3FB7783D0B773B952A4520909BA1
+EB4AB2FA4D38CD9B2CF575F8E0FDB2E85A6D59CB0AFEE208F8B5D960088A941E
+6A5D13330AADAFA7D538980AF303C475BC59C6240759D913DFD615F18D7FB830
+118F7BE4A02E93EED65678B88EE5638D9F04CD6EA68B23AA18C95F0B8FC5437D
+29F52672B551189CFC2DCF689C76B4529CC6483F7232EC7EEE93A3F6FB7CAF7E
+918C305756FDADEE60B1EBBCCE2869AF9E02E405BAF381E1E5326B09167F69EF
+5A052BBD6377D67FBBEEBF28F945EE53CF4122168C8547077AC0A7D557AA3DB7
+162AD512E149ACC5205743CAC9C2DC86A7A032EABFB00E5F0D4977BE2ADB4182
+217310FD4197B1001CF75C78D9C9D9265593B363C8D4627325B7E989B602B80E
+98302ABC62C115ECAC3D2A9370B554CA8CFD2731D0C291F80EBEA1E7A5525D3C
+60355A0EE95BB80A121AACF617D5C42290E2817D48337DEF0DAC4BB1D089A0BB
+33C5D1E9A154672BA2C2AAF2AE92844C5F396DCE41EB8C8408A931385C7AEBFF
+027E755D0630941A625F29201C718468A889CC711F55A5BB42A8073D51BEC52D
+F50FE2890822E4A7DCB96A8D072F79EADDD624BFE5FA77C0203D09EC991F7C10
+B00093F89707E2A445AD033CC927663E5D5C6AC95FDBAFC504DDF506BC4610E5
+46381B076E926CA73F060B64060F302825290C4DA7DCEA32CF94A57F502C1512
+5768B7F270C4B32EAC5C784FA365DD5A61E508C9AF78EEC487BC525BB2B2E27F
+8076275DD0E56F155370E0E415CA49122B7CB178F7BE2C45F43BD9D2826AAB84
+A11C60C8A784873862B47EF248585A72DD53DA7FA6306C5FD17F7A065D92847C
+3C3F9B766F22717373D06A54D5BD47623E3BA269E1818F6F1CA03614CB504793
+522591E0052B708901CB4DD29EC6D54536E316D1600D7F622123847A31F2E6F7
+B83102B09B5FAF077B5C691FED64CF37920196E22FD45086F515FD5ABC49D4B2
+22DCF1755737BA53954971173E8A833359F48570AFB66310F41FD95821C03C40
+52442EB8974AB96FC19C2AB76B8D3187B6CCB4A57AC0CEA9F3215D3CD6DDCB1B
+E272B237DC61765D9741A0CD5F871F03C22DA4FB0F4B3811E907177CA545CF4E
+B0B7A6727F0884A95E1E790BEAFCC3113D5658ABD70FCE958A9AF541192ADB7F
+A7A3F7D8CE6FF643375D7E96477DC4E6C0A09369D0C1EEFCB46E6DD65747A981
+438EAD81C85FA3CF7A58AE1E83C41C6AB175C3200BE7F1396F9CAF46C80BB063
+9CC4A9200AC342D2CD79E14C39DA6BE2D42186EAD7ACD77C30FB52A523A63E52
+94B8EAB30ADC515B6640DF30F4D117235385BD69D068F1BB3C6B565D24C963E6
+1EAE3FBA7645AB573A5E5EBF40C14681BAD1AC7489097EC382B0687A8D701D86
+BDA16B44FAC0B9F2EE8D2B2380848306F12A275DE016D08DF4EEA409ED1C1057
+846B76616532B79C929723445D51E55F2901DFB074E222B6426D8AF577A5B7F2
+B019500E8FBE4DDA2E708ACC998C1BB5EDE3A45AB78996EB94C76911139F6187
+7B66CD0DF79C3AE123796DEDAD425BDDCCC3913293D99529B8F9EAC85FE54840
+6DE5D90A0EC03425FD0B0E5186F6949A70C40B3E6AAB5B0440DC15229E8FF040
+BFD4CD3B9F79F1BF79818A68219E86BAEF2C97CBCEA2B828E6F56DB195EA47DA
+1051E1EC1CB9B015F2CA593A2DD89199120346AB81E636CD886100498CA25084
+B8F3F8F2614882C88512C172900666F0F1C54F38D882DDE8DEE28A07A9E0A421
+43E0FD47E192338977159D77AC6BF76682B29B82D49241BBE072C730016968AA
+3FCF6D4C15FC110A14C6B17D81FDFAD8EA305C71530FD9173A18E079156D9573
+0D300E07FB786ABB0F9A79907A37B4A5F808BDAA3699013C19D6934F2F8E0A5C
+ADD280D5BD782A22718D4EEC9DDBC17E8CDAF6DD7B3F01AE728211B0CCB196A4
+60C5D529C5B2F5AA944765B7D49D7C68A5870CA8EF1CC0BF5D498496818C2444
+67171449C73BABBAB53F4A733712685E241C592703315E6CA03D39DCE4DE2125
+D8A79577580F5799C825BD4B9786473E2C20F6F8C83244EBC7FB4F3C9FFC8023
+DE1604FD41C754EA86877663ACE221E3BBF2A45CE39B80FB268D543A28FD4097
+9CDA6AD12BE81304B8910956B479E189047C61C200327257D9BEB1BC43CE6265
+86FD77921C79F575F855F4BE79651FE79FC065EC14246AE06156B8DFF94E835F
+E70E091803D9D14037AC4AA8C4D17EBB62ACEAF93E6F861A0A32EE23534ECAB1
+259C875ED86B498B32D54D210461A17DF138F3D9F5C7AF9CED42432718A7678B
+23A7EBCAF98097861710D733B5510790EB1507947AEAD6D9670DD996AA9FE4D4
+268A3FDBF8F1AA40E28BFF45165E55F75184B73917E43FF456B5C43410CFD976
+54CB959F9AB2CCB8752C341604BF43CC71919635B7CE630194962E4183C3838D
+9401260A74300CCF70AB808FB5463133418C76C371F9FADA0222F6800D084673
+6F0649DCA8FCCCB124E1FADDFAF3D595E5376EE46E7E218A3868A1F35192B6A2
+9EBC2AAB1F1552CBA6B2046A89887F2C60A24A1694517F78471B3C99F6B78D81
+ABE86B754F6E599939B1432225CA439E0B3FE18721C03286E3A95529C1052361
+DE380EBCA14518248C6E80E617710006DC9620F12013C029B9CD88691D35FDF7
+B2A3B17C6456A86FF9C72B59ABF9CB2FDFDC9F3D23CA188DAC0F9ACBAE773FC5
+C3E2184FE3EF30AFC0D06BD5518758D36F783EC76D0124CC64D7F036B7A36FEB
+D489C0E4B284FFA332B3D433EBE2C54C0555DF2D2D3ADB4C7ABE81EE545B39C0
+6FD8775EDD6395239B7C1CC552A6EC2A8A76E87AE3D012528A87444532769CDE
+9A96856F620850D625FE73C2DBF79AC2200622A13BA8321863578E15C7B59E6B
+DB866EB67AF788FDFF37ACDEA67110CE092C31968B92E3AF25260F2E92C7807C
+74EFED2B132A2915E04548D615F31D64C36E7FC9BF48ADB04BEE66877A7912E1
+65909226DE954C56B5DFBE90C804C68A75B2C92CBA439BF079A64E39E02C98CF
+BED9D1B87A8DC71DD685A2E7A942DBE072F2BD0DCF8346DE27FA98D21C0F6F56
+2F531D461A1FFA9FD3D5CCC64D6788FA447CA76FEE2D9C03B22996536F2532F2
+9BB6C55AF7087BA48FBCA5CD32D55AA3E61DCAE5E57A9D3AD3DED4F1EB870695
+5FD8B9DF74AA62D786A28F95223B0DC0A674409CD2875EE7E519052DA057ECE9
+E445A03C052D4A7128E6821291164B14DA11FB16C0E671A610408294D544C40F
+9C260A53DBD3433E9BA4350E69BFF385EFD0B7AF9223BFFC63A514AF6BF4AE2B
+867B9CF1B3A17CEC7CC51890A13715B7B5CCB828EB08D9A9538E1F4213953BFC
+6CCA78DB0C094BC82EC4F0BC92833AEBC85E95137A61DB977EC7BDC3F755DB66
+93581C5B4EC95473A554034710B4A9DA4C7B3F15FECBC036634F69A0751C4084
+6188611E976891A2BDFC66EE858D35EF96A891BFF21A5669B73153DF85531821
+C23E4DE1DD4C0532420A41CF958B1DDE1BEAF9868F31824A89DC94B5C6DAA746
+81BE30C4E671CD96973F8D37C19E1C99B0F3DD668BDF76A5F474B850CE6400C5
+44CDB7094616F41B02982895820AB47D0BEB5D5BBE6577DA766734A59AE1DBB0
+0D7356FA17421E7259543464ADC1515926B7EE1D90B03C9F7F7634AD8337803D
+11CF01D0E046E06C9E9FF99BC9B3B43313EBD812D550227C0665E7B5096FF965
+3BCEBC952F2AD0FAD8B198DD4BBC90179FE9329D97AFDB3F1E97C7101BABC80F
+C6726396B20DFA40ED6AC6C13C593EDD00A965E58A75759041EF377B9C8FEE1D
+BFD8B2F40A08BBEBADC84A7E00A389D5DB40B69F81A07B80046884B781D64B60
+75D35E411613E01A9961261DC3D90A35BB1AFFFDF087F0B4C62F58C1E729F224
+EC05FB4EC009EF48E7E56CAD56A297FF423AF24B9E1D2443EF397EE0AB134571
+C2917069E8F87271EBD508D02DF0D47145BF586978AF64E2E45D3CE6524CBF56
+223468C987C1883B80126A31ED27039B0EFA4F3DBBA7D50C464E3F297A0F2C1A
+C23885124F9AE5827A5B89299EC09650AEAD8210F7AC1858ED0711E50E0EF6EF
+D917EE28E980A062580B9FA11ECF82E0A16DB051E930FA7ECCA082ACB5CB8542
+AE65A90DA4E4EE222D4B369FC3919EE24B8CB02E12CFFC2AF1BD174BB1E4EFD2
+9ABDCA377484BE281D4412B860BD929B1F9A515FAE8AB259EB719E1F850331D5
+0EF2E7C281D7B7B4EDA6757BBFABA93EFAB83803A78F22D80EDA1C25201B9F8B
+0F4C80FD9ED2073D21FF50B841774BC20AAD8F84CC2B509E9D70AA5F53D932C7
+1EA76AC75EE6B681AB6A4134BEA5C8986EF4AB4C97092A1D17169AE6FABF3A46
+11BF6D56A1F0B72D203A7C5FF3017508DF9821E563EF0DAA18A96E78E95F2D64
+DF693B5E51D15A9B58023B012956E4B83456C246AA84F284B5F4E57BFFFE3002
+DD98969A0D6C120A6621BD68991FD5593F3197223C9BCF490BC01C7FEB8A6BF1
+82467ACFE3B05FE61A64BF5DDA8492C5DC2E76D6E4580021301BFEA3CDA3FDE4
+A4BD2124C4F11DD771EFB1ED519E2252A8110547FD775353EA0A701A10570D63
+FA6FAE3C75627720146C67EE26A369D66FCE75148C516079A8DD6A1D6984C65E
+12F2561D2B6A1C79BB3D11F2E85043560FF3ED1C64D62E796ABAD51FA0CA8E19
+2532476CD8EA1F5AF507CB853A32E8C1FE284659D3409002CAE1C90459BD2209
+3A222AF420A9AD8BE54DCF5364857EA20DB515C86F99D9F39C0C4E36878A218B
+BA826D0881E6FB959DCBA34B5F5BEA5D456CEA78660C06E7682033B4376512D8
+5F65AD30E430DCA0C4A3C7A579B470A9E340A6985189FF8B6AF914A6B0ECF869
+99E8D38E95145F61A7C343605A2CE164FE263401D468D1E19C06F9E6851A64BE
+C3F7869EE3181CE8AA1E1BD06DFD1D671C08E1E75F7795C33E885EDDC5A75360
+3297A894F5308780C78C427E8E051B99E95D205AD9D649606A904300CF179607
+A73EEFC602B26191B61BEC3EAE13C720B0CAF9C20C967E0EEB1C7C304449084A
+11FD353EAD79429321A8F96E2E1F02AD70E2FDBEEE625BB7435BF7BFF995DC20
+E067EE6B3F7DFE0ABCEA24D63DBB3B266EC37BD89C5CF33F50F0BAF05732C17F
+FB56DB5FA6FB1C22AC891A13A81C3D479855407B719AC4CFD53E32034252A18A
+DD5626450A2914B9892E0147A245EE08401808D1BEA397E35C7F91ACC5982763
+EFA34A171A42891DEF931EBBFD8FEEC4E60F4D0691654349BB1B586B1ABEBD24
+0FB7E694DCFE132CC1F6E0EAE7BB26824CCDB9AFE856783857077CCD79A9DE2B
+73A934084B0429E177EC6DFC9CFBED73EBD70DE13443F8CD56E8D3510D397B24
+39AB8E8E2C82F96700D866AD30BB0427BE89D480BFF5A0044C3BCE04556B6A6F
+524CDA3E22965E2FA5A875AC7E5F142C781072CFAF2D3371632319B253DBB32A
+718CBEBB427E01E60CCE30B0F2B691E3A8C1DD510CAEF4852A67033816D6BB0C
+B3B1B5A5C3D0DCB573C959BD86A8715B00D1495B99CBA96ABA9147ECEF29D69B
+D3081301ADCBADBC2933C1D0DAC1035A5A6B41BE612088E211EBD9E779009AAB
+A3309476E9AC9103B3B7F0FF5CF8D48214AF3F36DF5FD7E3659796103F5B013D
+89DC6BB3966D42FB35256D93962CEBB584381E580898746A333BF92ED09E8201
+2484AF7649C3FA87A3AE44D93FB7A0D1A41FF503119DC1D91DC405030D93365A
+941D51720E5CD94895B78CCDDCBCB213F2702DD37EAB12B0EBAFFE521DBCEF22
+2CAC2C775B6964AEA57F562C969C92D66E143F2A006BCD91A3BB5F43BFB1535C
+CD1672FBD40A3D1B156F032E94AA7E699152CA8A979DD0407F40E90051CAE73A
+64AD63E04E8EBAC26CE3FE8DDE8F6C30A2362BC44492E91BFC10A5D5010758C6
+BEB975610A063D6DEE014BC3CCB9D463C6CE5579B4A0FB0E228A23BFBD557191
+686829FDF3DD6C73C55A1E990A07F8B008FCFEF55C2C4517D420CDFB43CD103E
+D7A1B9C2E885C88F882E29F7545AD93625C5D2D7209315F9E358DC4BEB66160A
+8FA01A823CFE0F9AF5A1E173349F287CBDAA4BBB6CDD4D9FB786B8DAB677BC1A
+E4BBD043BA99CF39FDA56C856E0A28222A420EC9F149FD6A55F1A51A895E2858
+85972113C6702D1FDF88FA9735C944C04B919B7BB6A60DD4DDFC4138BADFA0C6
+E2C7FAE2B6477320DAF01FC329D22DDAB86A96DCEE3CBFD5DB2D469ECBDD4D11
+C29B962A65F8E3C73D66DCCF26D4DFBE5464B96C81A85C09163A6B5046F27B4E
+039CFB556F43AEDEA439FBF139A16A55342EEE53E944D47992413B4D7D1EB9E0
+3780803A4FF311D78C4FE8540110BAE01E67A6F35ADBD95933B9929DB4DE28AA
+D40AFFA292D1BA24E033458D3727ED4B961BF04CABD121E0B7682D0FB7097EC5
+DD812DC7AE3950B73A9166D375AB3D8F141B95F3251B6DABD584F17C7524786A
+C1515F8DD5FC1640FCB2723544574BE6FE1505687BC3BC3A5BBEC50DF592E162
+946CDD5354700714659BE1E1119A07AE61797E86542E15D9A43C1B3AB84ACCE6
+EC12953861CD892B5DE3777908625E1A91DDE6077E98045B0584DB93E58BCB9B
+E047B377F3A50872C1EBA2304FDD042C1D1AE7D3E07FA1D5584AC1051A3CA7F3
+4164660413E66E1FB5B051B7D6BAF6591C2B0912B5D9486B5C8F6CD5238CB94A
+0C807F4BA98314759EE22D9F51DAEDF5873816653E5215E436CFC0C50B531653
+49CA83A68837067805FAB4B56970CD156EC61D17524DC09852F5B47B4FBF8156
+B78ABC9E6FC08892A24B28FF68957942DB5BD93FB36D52A5B2708D4DF27C14E2
+CDEE9BEE0507016F7651418558D452E7313749445764886D46FD31A07B390F3C
+E60CCD246ED0E1CAD5509683F30843D1331FE27588D083CF577A6BEBD379D13D
+5C4238EE4FF7811FD69BC4C78D51F0A7E2578EA61424F26F44A44A50D3E481E9
+74C31F1A8A7C9993B44C78892985C063B7700EFFAFBF71BEC6112447E98EC55B
+DA4775EBF5BC24A892B0E55396D3BB6E8B7E28A1ED57CB36EC875339EB25DADA
+A0E1A671E9ECD67D82340086FC36FAA3B8FADF3BA47E66E3B89327F889B0177E
+6DC6B89FD204E5235E57CC6849A365F9AB482427E36BB6C87F39D0505579B2D0
+FF4DA9D4AA971DBC5A070A96D7EA238A39BCABCE3A344BA4B9BE1FD2FC5D972E
+117BA5B6802B119B88B06E588651F5BFFAC431F0713DFD2C68CB4E6F0E2497DC
+98C64AD1B5758927CDB6327E76A8D8C8454C7E9ABCDA29CC095BC98810F43B98
+66180F9D58D0497793CD79087D9F2E239BF77FCCB5ABDC0569B8D6D5611FB2E9
+ADFC46860BE8BF278B612A84F1B4B0FEDADF4E23A07F6C0E1387DD54F5C8BD07
+1C4E994575BA9C7A580D605929D6D790A340847DD751CF51F1457EC029FB2DA7
+C9803DD7A0DD88F0C6F1CD390F5DB88FC29D1328CCB4CE026622460A1EFD5A50
+F83C296A616481A16770B47D01CEA50E0D6555854323FE00320EE80A3119D35D
+09615E225407058E642B3F3829CF75DF156C2DAA676AF73508E9704D6E01E3FC
+943AA32D2E5C8BC49A385600773A0ACAE6D25FAA0A36D430519C2A613FCE5FD8
+DC1A188FE10A825C38395E5CBDCED6A7D376AD65614619A4EE1A5CA99AD4D51F
+F975CD8ADBE47F6AB56C0BEB70F7261093F8A8E52BAA1E6DDBDBBB387CAE5403
+0476164D7B4054DD4FED1E8DB315795037F147ACA3D2D8E45BBB76C8EC67F713
+2885ED7689F4D0D4F5A7B12158B6CA9944962E09541FBB7A00956D1ACA7D8C23
+5652C6036D3FAB60D3E81A470BDDC46AA93CB8B89B768BA135986D70C6D02EBA
+1FD4BF2EC6DCCB7B5F7ABCBA1F855E8A3A8F913D84D86273C5839A1220D9B2CC
+A344FF3204E873FFCFEEE3F93284581CD708A692D0F738EBC0A49268020D41EA
+A7F6C1A9B682B344B7DC94AAEDADFEC83E367894076F16EA2A629E87A1AF908C
+49FC0FCBC63943DB00FE7A2187D2562E08382F94973EE4F7F6CB9038A00259A9
+ADBDD053FFE120C493DFF9FD4972DAE07A8CB577319C3433A852EB0B3E5A1B05
+28FA9F8BCF9EB3E0BF612A2097BB921884273804403A19B6A3A946C63191445A
+0C143F7D89F5A7906D76138611002FE7E92828BB840F2A87F5A4D9DE2BF18489
+8D2E790305F97BFFD2E34C6FEA7C1D4EAD89507E04EFB96476A3B4A2511E2109
+77B6A97267F4C63D4093BEA8A34B315CEE932B40ABC9FEE76C57B6AA7F5B3BF9
+B315C9C46AA3B83C633E460DE4079A8BC565D2CEB7E3B896593D720DBF66CDB2
+684E8B31554F4EA2D4B57ED13A8A07C06F3A5AA580306734680D4DE107CCC21D
+CE943E8B785DF3D782CC5EA81B9223C03818954DBD2C212D2C708E9C9661587C
+8EA6D23DB9645BE24281BDC1FD61013AB7602079B3C763CEF4C3521960E5FB11
+FDD2174E1F9269DF8A84A1E7B30B6DB0E7444C6CDC7C6263B93715BDEFB35439
+8CAF586AA23B46EADCFA06318AAEAF9C26338369F6829987C0FB83953632A0F0
+8DC7B007337B680C9E0CF3E5440B37DFEDCAB7DA43267DA860345F4E5EE1A0E9
+9E8AB406FB94F1A668374A2272E6511BD0987B6E4A1FBAD528ADB4433BCDB078
+59B61CE89F8184AD6842FF56F27AA97073B3EC21845B235B64B1A23A802278ED
+6635F3A42DEEE11D4769FE469301F9501BD996B8DD12FA1DE3618681CAA89E2B
+67B424A262AE0E744AE5D60CD3A8379888E6847DF0344B61FDB2572E1DD4EE78
+D24DACF418B6AC1E4520E251A16C74018DA28222985FAED74687C2027300424A
+97A392D8180E8013E922561CB95A6CCA15257938562B2203565F59EF517018D5
+C5CE419AEBE72FABF48DA20F1AD234E29CEF890F413F8D6DDC59C6DA3DB906DC
+0E85E4F8D133208269330C24A4E0B3CB2FD7302A3EFF9E93534A6EF3A9B3D6D1
+70AF9B1F33A0377B8306B8463247F1E5412905D67A473BCBE4830AB55944F07D
+E38907B58D17AC3FFB1027D141234E6CA6A30546260103133D05A388B0D91A7C
+F33A7B5905412A63F288F85645B0DE47D1FF03B245E6D36223AB972791081FE5
+9397EF9D69415C6A4088D89AB8A2F81D9A9D3BAA712A0A56D9636B62813B81A1
+8E183D32A58D3C67AD87A413F6D9746B6BCFE2EA15B6A0E6DA6D26A37041D7DC
+B8DA4571C709A9B2FC14ECF61496B5A04CC340DB897299C8D313270378D817B9
+892CFD36DE08A63AB714709C14EB85869A09552C199E3FABA32A4C5D3EF840B9
+639CB10B78508923FB4AF9CDB906C72AACDAAF2CF94A6DFE0713DB9B8CBDC0D1
+46C603AF99C30A5438CFA2F9D3270AD44DC4EB4988B9CDA3335634B8F7DCF916
+6B6CACB6D328D5AC5A070CC1EB3C8221173ECB2A2DBDBCE57EFF45E30DEB3091
+C42F7AC301DFE5EEAD68F99F8E35E5A8BA66C0F8D4A12FE6896505879EB480EB
+559729BAFB508171FD33CD22FA7701FFA3E89936B8E7ECB5B20EBAC9B6FBC076
+C3056A22F8DE627B86AA9032575B2891FE7BB08E2B6EF58B741F6458E2618422
+8ACBA46F5DDF43D3CA439B4506CCFE90F24F8FD3A7C08ECDD2D12DC0BC5DF243
+3F9D5D1004E5B7FFF5B51BA78335CFAFB9E1AB382D2E56E5EFFB1B3DB781B525
+D76EE0D2C62329A19C7084F6844963608ED2BD587D35E995E273148590FBB65F
+18CAB4A1A3A66A05004D2D3C68667D61D91219C131EE556BCC9C4374EA6B2CC9
+D46DB9A1F80A7662D4F231FD969C7AD4DAACB1EC98EBEA7E35C53DF6B0138A28
+4A29A37284134AB99755852C14281E8DA94598691F774407905226AC4AA63AFB
+215329F858FD194A85A9C6F9FD68182F7348F5F6823C509D38539CEA7AE03F6F
+7368F422D979AD3B768B7F6B8C3381BF4903A735B7746BB6812FE53AC7F90219
+48AC9FB8410A3DE22E0A01E367C524702A8F0CB05C2A504B014DCE8D922CA473
+ADFBFF85285CFE48EFF5C559ED8F7F8B7866E6D3AB07968275204BB347F7015B
+37BE323E2DD2566059ECBFE65551927772803D96B3817848C9EC8D98FD54FA95
+EF36B456B0FA852538DEFA7234E0CF214C9C7494568BA189D2EBA4FBDB82C06A
+AEBA407F1E7BB6D8AFFDC6C6849C9019819639E9CD00753BA5417368085E864B
+29147A2253EBDEF475BD7A8CE7124D1C97A638B4620E485A996CC84306CDD2D6
+B4B54F07685D86F7A7BB423D1A7C21531E2C5151279BFF187E1FD15B8FB58275
+287714443015F3694580C475723709CE19B2B72268C40F772CFA2CD7A598A024
+222D41328DAD7B22B0C55EB698ADDBB0F8ED15C971AEF113C74D62D2904F3C5C
+0D1D4B4F510F70351551583A0E4944DEE03BD513E6E1B82614FA1BA15276039A
+09CE60CDB0103FE88580D8518F86D5368897BB038CF07FC21678FCBD3E13D037
+6CEDD099A0F9CF438E5DBCFF3FF93592A4D22D6B173BCDA83B45C36FD67DCB66
+F7FDDC8C9FA22A0DC3112E78036AD4A44F4A0A6906EDCE2DF801513DA89A38A4
+C935C8D025AB5C1D66866465AD9DFD2D25D7026D8483CADDD891B2A95767D181
+42144D77BAB2ED0A4447580C3A67A908C1D6B8CA4A70F9961A02B350A76F697E
+285BFA294490E066EC82C0BA3D2AF8649CE5AADCD3CC336BC012FD2C4D07E10D
+F0E9641DBB70577AE828DD3CAE98FA9E1A74F5D3932E15D629638EDE89741C64
+AB1DFFDAD7476498A1CBD0C64D459276BF2D8F25F13137C7F1CC459CB3B498F1
+49CFB1A8C60E56234CFD61340010CE1C184163D20E4AB39F9188EC6821B09BD0
+66FF5C0D2087231C4858B9DE5039CE4A1534233A0FBEC8AE57A7597F604B5C36
+465B70DB907B2A19150135B79C455291553EFA10D2AA6F638F184A66D911FDA9
+633767CC89A787F82D8BDC14ECC847E706C508835CB5ACF60BA71FF3419336AA
+668E13B6C0EDB1A574BB7925D7A941014B105752CFDE450532BCC7D0902E5F8B
+A2960305836E8B4BFB953AED79A3B7FDDBC9F587FA9AD60FF1DD01D820488450
+336225C141A9F47D149B38A0D7E4E4342CFDD22C780278D973C81EC52CA2782B
+418578622E6A3313CB79B6746E856EDDAD386892C857A51A8D59DE97F8A01E89
+0DA5008479343C1D658E1B06DCA548D41AC58850911D4D3A68BFC49EA3A94D97
+F417492DAA7D861E3890863A249FCF4E88F59095B358F252BB5005EE6F47DE5D
+892813AF0BA074FAFFE0BF35ADBFCF366596F5E3DC4BEC30136B8BBA284B8CA6
+C17AFD41A10B04A6B12B744AEB2A91C1D8993B422C56A2C2166A0E4EE6272EC1
+F39BB7E05C36CD0DE61B3D77DFD7561D55C9E03EBB587B340A358A65ADDBE9E8
+552EC9ABBC0323617AFE301047C9646BA848529E3D9614FA1DD1D68FAFF1AF62
+A48B92A023EC0FDA8B73C48F069545B188B00469201930BE3BAA9104DFEA7D36
+3CCC1E571326B7A7A5FE7216BCE081EF42F0846374B50FFF96215293EDC8320D
+DD37D9C6D844D85BB710E508ABD1E4822A938FF436B01AB54EE1CE32BA926E34
+A8F8C31A75DEF46A74AC94A09D60E190C548172D2E1D8F21295A29F4BE0CBB44
+5E9DC99DE3BF32B95CA40F19FE0EEEAC83D083189F38A0A6C8F8F7A097889999
+67CF3BC505F1234CA710AEEE4E7A6AA128E365EC9C9B48CA6D6D9C5DB887330F
+3CF3E6698EE25EF3C6D9BF8BC7619F7250204F12A0313F667360FF48673C8AF8
+EC7D3A808EEFEB8600E35CA1F3D3EE2B04DC4CBE12FC99DA94FB2648B84433B4
+B27DE9E8127325C87E3842D1ED01722E83609866F7751273DC120969CAAF54CD
+5F89FD89D153C58F0D60B4B447627DB6DD020C5B28A5F5867F1D07E70480CDC5
+E134C9717D85D4C4E2E941026C25847C739B6EEAD71E6EB2C34E8AE8162B8FB4
+D09237C2396A5A7BD8631FB6ADC8C51CC2CF1FB9573924D8613BE48CC4826515
+D0226CC3757CF9FAD6765476339E4E87983023D5A21A2942F0C5AADA19797B2A
+3AAC758995A7355F79D06964067CD00454EA2E91D9940D8CA147C1035893E2D1
+C6AD44491A7EFD530C5B437E27E5E435083606FC3B43F0240E006045A1D6ED04
+51C01DCC92B8A4010A5FB94633C8EA92916A5471C3ED727BE7E559B6E54B0C7A
+64D4A2C86BEC7DD1F21A7676678D879ED994F9220B23631D60DD4F01749C944D
+B5C206999107D67FF7C8989C512DA066D6DC62024C5C0694D0F15976CFF33899
+E6EC7F3B3E52F6644D44C0B5F7B1FF17874AA7CC620939F3BA8AA5ABC54778EC
+FDAD510D721956F7200EAE8F93ED95AE429D7CCAA4497E56A90079CA7DA18D25
+F3681DD0131C46E14DC6055FA7FF5F8BF26006164709596C0E78321C9CB5060A
+E6AAD011C03BFC4D497466C7F09105A287FB8C8D308155722F983D6B19A9B435
+B32E268C5C50DA95EF3F0F93CED893FDECF3CB07A25182E3F9AA50DD12801DD2
+9A7E27EFA2F26A639CF1C441BFA42B5EB6D2DC10C1B440B5B316FA8F6565B7C7
+220F23282E63CE45DF7361876A760A4D5A7D58A469526B3F99463EC5DA4EABBF
+EBE23FAAC12BA68C2622BA308B7885B6F0D4D325D8F2CF7D6A8E7FFE556472E7
+DEB80450CC3D3CC3A173A7346B4A33C99BBA62EE86C30D08FACC67BA4BEDF859
+2C876A83CF48E4A2F7E92558E57B0A58D7F9E14B1DABCDA48C539701A25DB30E
+22B0EE39F3B583825D1B428F0698672E8720A77B1E74ABF75AAB509C361AE04D
+572FB04D48E69939FDF48DF49CBE4C7BF0F59F7E0D39884C8625CB19AC00356E
+030FFD1FEABB6DE8214D8C12C157E9272C09D25038F29F5128D4644B4DF29BD5
+A8404282D7AF68279457739633DB5CBBA6E33F8011CD6EBF9453B2F632E36A15
+B373FF3FAE535328C580548DB7D37F18CA0AEEC4C4A57FC7997D3EC9C309D024
+68376FE7063FFFFEB8C51B57F75ECFE7238BDE6C637F6609D033D80A82CC481E
+AD70AADE0E2676CAC466E07401BFD2FC1051E592D42311903407023C9720B782
+8207265AA60FD4998773A095A03EC1FDBE3250BCD22AF967CD40D03EF76649A6
+AC929DCD3FF06B9FBF62FB139A192C6D351853990FD81536DBBEE2ADCC6EA159
+97715D3EECA9329513ECA625CC1C5FC3AFB291A6B75A593939D1CC1A7DD25006
+5F3ECA5C4583845A6E0F89C9EDC01793D8CDFC66887FF3C563185662EEE213EC
+8671211A732A32D92BD20A3E2112F44701EB6466C1DE8DF646DE1EC2E4FB1687
+A50867043566AC7938C812D690765D2163DFE6C3F4EC3510619779B08A737545
+2187D66B2A4445B4EF5FDF14155487DC65939F04DF25603E4E215533B6445008
+F1D4D2C9D54B1BCD10DD7958F06FC41A77CEA6A6E905277DAFB8BC1543CC1E8E
+B8BDB43518BC2CD6033E3E4219E0EF172C72ADE99EA91ED60447A31981FE999D
+79D906CCE3DD6D2642911FB5137597F9697B34F914DB5A8CE52E360EFB5E0ECF
+810FFBA9BDE380B680E5F0D1B28ABA82980EAAC6131940026E3C2297E197FB8D
+BD23E278CFCD460AA15777BFBE815955AEB9C37A06902CE60B8F95A399DFD3C6
+2C04AAB48F6BD8C8BD63D8461CD450695EA35917AA672E6D9215D742F7206D3F
+2AB56F755DFB3BE539628048029307D8249FEAAB72F6E1CDD2F82FEF089A4789
+357324B3FD9B04D3B5FAD58C121FA3FDF2438217BA5121CC668458620DB3D381
+D567701C541CD15A0EBF2C8F288214125072AE15C467502382EAE4FFEBF2CC78
+49276A1AAA5F1598EC7A9A573A79CCD67EFBCD712EC46352ED1B976706A6AE56
+0AD6A82C3B0FF9775DF836C1C62F7C09A0AB81C8E8D447D5FF7EA0CE2999B8C4
+E12D9F9E97E5DBAA2871665E9B2C0C88320E31FA512BB3B7862EAE8E10393D19
+87095FCA5160EB07BA729B82A625B0F2987083E1BEC613BCCB763A23259813F2
+349BF23EBFD6F7D9D4618054064D0A6D0235ED4CFF9EF00F910ECD8C5D6D3D39
+4304194538BD8434FB04A2D68E969FB1F684291242494E52311C02C8A34C0A5B
+398AD835221447A44807B5D89D0FE464663AF7A14D554D608E26E1676A8CC9AA
+4B720B9068649C2FBC1FA4ED5AC2569E58941EC067EC4C03A2F8D4D19690C2AF
+C60B60C0998C1290727A9E2960C608C0E9A1EE967B95EFB81109F7F3371CC1F3
+3591F2A81E947884D1E3DD1A8970E40EFF0AF48A56ABD34136479D929405FE67
+FE24FDF7FAB748F7712C064081A7EC21FD1F6781D44DC2D138829A9D3D0EDA0F
+4F7211B5B5CC0A348F325F3E45531782248134362CA0C6A066ABEA6C1D3B8F40
+238DE24F302A6788013C8ABDCA62FA6E2F80DE35A2338CD8D5C4A23FE31C9E7A
+09327BEB82BEC7BB8F1C1D8540FA065E4DE025161426C498D274ADC1D97A1035
+30EFB969DD821150DEEBCCB618A61188C03BAC8D65BB79B73DF988E4DF9D7A5B
+294747AC9860D99A71E821D8F966478C97F5D32E66ACEFF7022D08BA44B97EBA
+36863832373E5D5C3D5479812487F80F4DEE34DCE95E75ABA3A85139790DAC99
+266AFAE54A5D3FD3AB69E247AC2F1758689851A9537B1EB428255F11CFFB5B12
+FD40B33BDD959EAAA11CB03A69FA324CA6EEEEE7B4FA88BA66620BB08F65A08B
+F76FEA69E8793F1C76C3A2577467242CC0BA47B411DF2A9CEB0512DE5D58BA93
+34E274E26C9B301BAAEE8A0237BD685B6A9BB3489FBF70088277714B8AE8CA8C
+2BE32600C30A587EE5AE0B439EFC837C99B422FCEF96B5C7F91CD91D0FDFDF3F
+6E03A90ED01EDD1A46782159CD55630127CAB4C9249E4FF166644F70925D7FBA
+D1F5BEB2A178DBD6CB21E1D3D968967A1447E5C9D5156F2043E9B57232CD51B5
+2BE00F21532431D428B1076EF38DF09636DDF33F771DC0346FB0B2BE60F45ADB
+075D21522955F05658E23FE5F40AC5A42258DC11796E8F834E7FCC4C523CE5DE
+A7918073D89DA1A5EF78FCD1F235F32A62F24152014C0250B12E20239252CADD
+4C97377315695C92C8F66FFCC77B2D7410BD44BAB276A22A7F706EA676E3B326
+8EEC5A38478C0F43CE39C9A9EB8F8FA55020FEB0FDA41F43DB0FE6EC50B444E7
+BE8F8EEAA651DCCEC032C7FD8C0B1EFEB789F812D0565F4BC740AEF26EFE447E
+2C65DF37FCD49CE071C3737E44B9E00D437F3DDCFAF43196A7389BC28711ABCC
+CB06EB5A36E90C1F95286B0C5DB893173A5780E71276C60EAB7E25C124964778
+296D06C85D109F58C78C3514CF2FB460C3623CA94748172F64695E5EFC356991
+1E100A036EF590EE09FFD84314D9394BFAA9FB9D679B921F0616F272F26E0BDB
+8D5F6FA9E78387F3C3D217AB69A6E25B87D4414045A3317968C12BF719C4E2A2
+1F09F3A1B09E7962FA39BA2114DE79D2D8C304D53F1A0044B5A38537EA95461E
+EA1A3CC7BC94693DEEC359CFCCD4D9D8EA663BB0FCA9AF7097C51628150B52F8
+2CD1C5811F86578F44E5BEB7F997758232B7EFE00D1CD51EE1D8B35EC2E6B2BB
+0314FD0E2835FB97FF4E6A195041696C183D62872AA2923D802D94278A2835C9
+1E1AD8E481CFAB40DBAB63E602D113C81A461ED958FCE4B697269BF4593E30CF
+027EF28C6B0553B63380AB39B9EFF0CC8AC64DAD8AB403005A838C298F8762C2
+E5F97D8A902C209BFF0F7D37498A6E2F8AC2E4CE7FF33F6FC55C5C21638900C3
+AF88825D444E3C0B1C0983B448D4C21544A1EABF0254FBF5D937372278CD8942
+5AC6A92C36E145DD1BE65EBB4F6F2AC454F58EDCC6B7AB68072FB6209F540767
+0A26DB1F7F5D67C4D22790BCD0F1E86976698115A2DEBF8CDAAF3BBEDB05DE5B
+CB73C7BDB049F2D9AFFF0D1623C49F3A52C4EDA18B7B6BE5C494D3BF1A8022EB
+E619598C6FB61C68169211790027B87A0F02EEEFC6A7FECBAAB4B15C12C70309
+D5E26382850017B448059DD5A6892643F78B7CD6D91DE5FD6796E198D7C30530
+73445ADC0F6EA36C6DA9CBD276DC4FAACAD5A172C123F51BA75F725249C5FD6F
+D166C835E1CE79E47B2F76729AA8A46B6A7C759B64D7CFBDD25F22AA73784987
+728DA53B5D5FCE9161F188077CC0963A83396A250BA7A270371D5466B8FF9402
+9D622FF29E2C8B4244E4E16E85C9D0C4166E42246934DD00C08EF218B03254F3
+561F5E3E41DB2B2DB1BCD88F7FDE6F59961B6BE0AB7233364524268F6FC80A05
+E2CAD6D430204F12EE6C72352173DCD3C8170187CDF780CAF45A8E0C2D394A26
+B50F8BE7E44415CCEA5FE4C0CF761E921D7D2992EB24625547D3E5AACE78232A
+361060B3AA3D532005EBE263002D398265C8AE6C99D80E14D8E02C1D3C4CD54D
+CCA57CA4B5378B538D66103E6455B244B9BF9C400BC802A021411BFADAB77A90
+9E2842E0AC5D9D07D01A4BABBDE2AC70FE5265D00BF27D33F234424570C58327
+093E1BBFCA3FB51909984D98AF0C5B1C80F749FD6237A23144481761D0CAD86A
+455B580A4BBE440839A54B385C9E4571C466AF1AA688CDBC0A6BFF8EF29877FA
+13D418CAED879EBB382DA7F8B23C07EDE4EA5BEC2AA85224F7C29A671F032192
+B962B51E71CE4F9FA406446C3F30BDB2FCE712EB0B9A379645BDF78DA0213499
+02332707106BBB5D307960E9735ED5A2215F25778D228E428BBFDE658A8BAFF9
+2184EC4F491A182F4ECDED721EE35E33C0B69B8068D5D3E49D52BF0708D97515
+CB6CF112C2A89D2D44816E907410DDAEF58665A2B2A2399C57BE1BA0D45CDD15
+1E01EA0DF20D458F5319E19372F8A8F5DFE7CEA77826A5D0246EE9FC5A348681
+AA246047CA29CA6B442FEADE254C7587D4E7EEF44A34F5404C7F799FC22BD819
+7B11E1B0AAD491AF467D96C2EFA24E139633A0AFA816EC666651DB44341E7283
+CACA75B3E1991251AF9DDBCEC84F40FBD93CC8D361A136876F2FB93A5BDDCDE8
+08C7E66BE894C84600096B30AF73CA72C9EB2C7F36E27D00D4347DFBB8BF2E8A
+23CC9AD1A901D6705C0B8ED3F0313696F1B71E644AC44EB4F81E8848CB5D53D7
+6AAE7582AA3AE49DF09617B21ED1D5903D85F35CBF7640218CBB724E745DA73B
+4C8B5730D1EE3D88940F645CC893A8ABF5E1A2260C9BEB2E919298D7E8EC3D47
+A1B7110B8BE409368684A13A7C9ED9F62493B0CB7FEAFC9BAF90B7025D2E35EC
+C22DA1F2904196A398C3FED62118BDA046C0DE4BFF9AA2F9772605D04C031216
+BABBF999D8532747C9160EE28352DCB95131565720F61FF5AC827C2A08537531
+3DCF0514149B7EF38084D649289E4600F5A67256788F406EFD37B13654F84888
+CA17948C9FB31CF86E555B4815AA6C858DBCECF2CB5C7C49D40D8F7CF28DC096
+0B055900D32516B39FEB7B66B0473396CC9E439029D8912AD08CC15B657490DB
+00FB53FCFBA5AAD92F9492013D09D9DB48ED299C49744D7F48C9E39E6A99ADE7
+AE908D2D4339EF98819CC2F3E4EF7005FAA7AF98AFDF7500359B651D485FD03F
+069395B41D5BB131FCDAFB5CB678DA317AA3082F03FCCADA7CA565352D8CA24A
+715AD961790D552E9D7685497ACC5DE6C22DF58627399F63ECFF4FE661FD5B57
+F1F992CD5354D18730FCD42C30B95AA1BB44B6BDCB3F66C3CE2347CFF75FBA92
+ABD47A5E71EC269E52AF42C4CCBEBBB94A5BC3C2CA0CB73CC17E930B62C13466
+DEEE44B3F89EBF770924801E0E333EE9568673B2F52D1D58BCF447C5B61E5F66
+6815162CF27B89A4D29FE3251AC5830FDBC20927EECF2B3508E2EC1CA419B691
+A2784BDCB4504EF0AC1C00D5E1D21A7DFAEEAEFA9F72D5A603ED89EBB990D4AA
+98F4A3FDCCF881D82CC875B1AAF3E7D136D5F64A21F7629A735214279CF668B9
+F5C990DE3196B84BE792F51E17583FD2C63BDCB47B5C404D62BF45C7F684E59B
+9AA6628DE75F6388B109278BCECF4B659DBABB4AC20EB75E7EF41A4D598A439B
+C8E1F55749C832D6FE26E1653DD01511DD562B227AE02B2539F6DACD88AD99A2
+B686FBEC34A6F9EAD22D41732EC66D4BB0A88B525B2DA2E5894BB6597DE4F24F
+D96A27DC8A782878684E7FFA7C6EA84F44E072E2D1DCDF2C7817E9E1BF3011EE
+34B5A69B095A883AEF275CE677BEC2F1F03C8B055DBFF479AFCAA7FFA8BBCA0C
+BF20EE6A72E0B19837156D85598CAB7147F61DBDB7B4064C0266F3CB9021235E
+56922D3FDE6C0328F4351CB09EB08DFD8593B1F549F66E4CDDAB90460EF5591E
+E20CD2BF7A9DFEF4B00101DE772079478DBE76790278EEA746DFCE6559CD37C5
+479B0824B87C47EA56CF5C7FD74B5E4EF480988AA30EAC8CD07D10E5195C253F
+2338CDFCE1F3CB0E7863E79AA792B335CB8D729023F4F605D78E5DA833999F9D
+8865568D6D6F6F2E67F0A7174C707B8F0B73F975B17BBFB0CF89739AB0426E9A
+F0F22D738C719920C770B166E1A5550FF046C82F37F0609209271F4CD93EDEEE
+9F560561E5BB3B5FE9543C0C259B642DBA92F0A46A49DA660CEC3E7099B2CD07
+B8AAD1F5A167DAEE9FFB7959B5AB14698FB6BA165191DD7EF61055DD54C1DFC3
+E44012F8821FCF8039040F4DD94813A3403894775B2DF1F871924CE2C0479EA8
+C8C3375048C1A49CA02B5877B53747D33126D4E427FD7ABAFE5A706DC951E1C3
+12D6188D585FFA65F1B9EC81442B2266DC64586B2D41C54C50D263F6BE4E8478
+28EF874F28F29DD37974C072F84DC47B5496C03BF3DDFA1BF32D8F4B0815CE63
+E3B442ABB2794D20E516EF5F2D36C499301E82650E7E52BD3AD604072B3A0852
+AC1B0E36160BC30D7D79C90259D2E5453816A0AA0C07BB645BF6A308A869CF1E
+87865BB4BD765AEB0C8459127B13F28AC3F8ADF10535E3C1C1748F8BFF336C2F
+828328C0294940C433C92CE278185427F68098FB5941E03892943BD41ECACE4E
+2E123AC89F962ED29973CE26568F78981B480F688646A5C8C563B8FAABC7414E
+3E8B5854442C5FB9B7C287E2FA10D86AB5C6B078D3A83B5BDAD51725CE38479A
+8CA61A5985F7D9A1C38C9617A4CEF30634C7107FF9847C634E68611C1C54AB15
+29C116D193A3BC7B6EC649B9923A92343BFEB7CC1F7D7EC4EC2DF9FF5831F242
+B8B5A0FB902F9B2355F42B53DF1DD94D3A6457369A57F0B9ECE37C79DEF7342F
+870279979EB7850AB4020DE478A1737A36870CCB24CCCED271FD5F7B547B77F8
+1BAD985C73B05A79D3C8661A9E8E68C0468667C02B9DAB14A4120648C8937FA1
+BACEED127806EA9D61F8465CA31D883BC8D9BC6BBB5ACD78AE44AD97C493B6A7
+5D7BD09FFFB75ECD79644D1E630C968ECF06D7ED2A82BA4DC9CE787D2F09401C
+79F1D5C66569028381FEDD8889F3BD611F8CC596F700150BDC4D233F105F079E
+E6DBBABD310247B9BED3277F15D4F8BAC0544715156A99395CC93B6189189FDF
+D3AB62C75EB26ED50908B89BA75466127A0DB5F4A5A1D91B228143A49D0E9976
+1E066F7FCA3E57C46F3F924AD3D83219C465A187E7C0F083740C18191F515E47
+FDD5BAFB1ACF90DAC3704166CD3DD128179D7720635059049FC2FE518793014A
+D5E004FC3414502FD8BC997C6B5AB50B0F6062CD391CECA3DEBEB081964C6150
+ABBD5B3A4B88B8F21369AA59B9C795F62C5C29BB006DF099E1885CDF9DD6B876
+D38FD4EBB6F38FA41E805ABA69E62D6F82D4A44466747E846BA4365B3E03FD71
+0069E27741C44CE723969366BF8DFAE370DC04A694C5E5C3677CACB7D3ABF9D7
+C9D5BB053BA390154EC4B23F69A63BA054E109DA90DCEEB0091DD92F63279C4B
+6483C249B654F1E695951C726032A58DB404A3B51AB7386DEC1D155329904388
+5CBFBFF18CBE592D192FA4ABF53BD1A28704B84939C7E339BA3F4037264F36A0
+1DFAC57E35F30F533077FDFA6DB83CBE3A67B226BFCBCD1624540A9E17FC3579
+42D126EA5B0D8048C39AB0CCEC832D418F137198942E87D4BC7ADA4DC8E73FDF
+111B23918EF93CE8C1147B93A7EE8AAB6F15B42C0D0D2512D7931EBC886B0527
+17039570A75CB813B32A0D2F96C1AB2C7AFBFD69EB36665C7E12F29EC4BB75C9
+1EBF4DAA942280A326B0C4356B774DAE57D209909B8548AEB76731EE262D6846
+27DC8F839EECED8A0313F774F803A3C3D74B91EA0194689021B4AB52911C6170
+4C76571A411C06A05C51319B0B1F5603D01750BC683CD95D29E6321DA20C3D09
+2BE8CEC412D7448B318C421083026BB2002E68A7EC2AC67823AFEEA015219123
+08EE964241D8D1ABFDDAE449FE68185327170B046B27F59EF671A4C3E378E64B
+4D449EFC540FF793F2F12357B7A661925440090876EFF1E89A9D4497CEEE9946
+E7B535CBAA4980A4A6CA18EF96572A03F1A79EA528049E7D123668E21339990C
+BE9FD9DE57CC35175E78F1D4DBAAA13CBB93874433B04EB8D0AC3511A660F890
+19257B334B648E11C3659B24D8FA804D52164DEA4DA88D0AAE1F0B28330E00E9
+D210D7B972D494AFA5BEA06C7B86D91C9FA2FE4F84BD87FBB390B65362AD2B23
+E0ADBE4E27F6AE19EE8D7572AA6ABD408BD9C0E8653A8292AE93807490AE8F1F
+598B619C5ED0F36B9D30ECB1BD00A429B1A39A6D5A637A28A1A9236744BC166B
+91015CF80354A5FD2DA591F742DF0159CC8BA919398751D8E4D6F8C0C7B3D1CC
+D423718AA4352155EE7C5B20A9A4C08855A1EE03A2CA61DE42D78AEF01674987
+35295CFFA3405507B7093D9CE3EB8C164A42676C4C753AFBE1C003A8E3801B59
+5AF117F9B54A53FBD5378E48DFFBC68DFC14A4E823B29DE32EA6B940596E0225
+1EEDA8600201A86F7CE1C67BDE0D385104C7C0730BEF94DF3D9BB2161F965FEA
+BDD6EA2816A459C8B82D140344608E6AA9578B2CE81242B2A36DB0E19710EC27
+BBEDDD25AFFDE220C1625115D9521283139769F56B466B95CF4D412DF23AB1A9
+4600B4E36A89586CE50FC9C168281F59F45D49BE8338A8BFC707E48457134BD4
+E40FBF297E85C3F343EF97CFFBD941EF5C3B1C10287CB787EFF59E86B4A72A19
+98B936D21DE023EFEC3EAB42278DA9E391EA173B346DDDB948E7D211EB024576
+53F21CCCFBC9E1FFF4C3304223F906C325EC1CFDEF3AE91E163A19846B3BCE5D
+3168251074A8B534173F947839FB3654757E4DFDCE1FC1024434D195964D1D20
+D0D4385F17600E1E43F5EA1F88493D1DAAEF40DC6A813F173B2FAC2CFF37D2FA
+754CFF14256BC57F3A4929757B8FE19B61CEDD734624CEDF0FAD348095682BFF
+0737C02739DB44C20B069105A287FB8C8D3084FBC681646E30ABD086CF9C09A6
+B0FEE7416646141CCF01188858FD994787FD2F1FD5B46B5FAC77CE35CF57356E
+95D4090954392AF6E9F4038CE1ED6F82BB418528EC3E9BA9597ACE2FA8F5AAE9
+1606BC8FB9FE50103F0103CCC8CE5866A2B146A9A3B873938F7874C50D301871
+6E7DE31606AB2B516787BD4341B92479E72AACF9ACC43C0A5EEAEF9D3EE785E8
+63E59BFA94A109026D51F307DCABFC281CB7AD124FAD88841498F5BB3F6CEDAD
+F04FE4590EB482F40362CEC29A918CCB798C30DA069C1E3F35AD6B673538755F
+135C333B87D339E8C580C44EC9A7A4331DA5E3052A639AF351AD71750A793AF0
+49CDBACD75CBC6ECA33F35F17BC136551AB9E354C905FC9C5EC74726E14FA3DA
+82088F2191103AD4C2D47E952C56DBC242A4E8AD0DE2514FB118396A7A9C3D50
+F45DA7B7AC84DFEEF47FDC2B9D64684E50A322FE625BC7D1AFB7A7ED9D2E31EC
+9553C3EC0EE8DDC9546D4F64411F413D11D4F97437F7506D60017B4E5A7B06FF
+E76B8FAAB57438215F35E66B6BC0638BEF00D6640F53F8F10E30C344664A53CD
+B094413B74D18783BE6673B8F5EA4542CD4F39D0A5609F00AFA9B68B53A4058D
+E7406C29AA6CD71CE5EC69F97CCF3F5D8A621A69BCC42ADF231AF58032B8A905
+FABBEB68A404961A7DBF1AB5613C04521104E0141075B747F4D4E3584D4712F4
+D39B6D5FC5E1BB8B4577EC7C6587DB9F671FAABEEBEFE1884B4E02BD2CBF5DD0
+075DDD3FF457643E9B7FA3D8A7F5A6FE5B7DA4A263813EE06ED5DB1DC80645A5
+DFBEDC32C58223FB032506BA80D412BC1371BF8A5B0B825DB940B2125C16F982
+248B4768202C789B363F4B77BB6F513F2D1CF82BE364B0469D7C5A98FD2B4B36
+2D9DDB163B01F60CFB6D04978EF48F9154286FBD511C388D8E5A1679DE7B5B44
+0C24318B21B898E18D4175AC6BE1B3456541FEB1FAEA78347962578458200466
+66AD30B65C11C377B8756144A925E5C1793CE99718EA4F30EEE3A578921580C7
+A2F06577BFFDDAF8CB59CD95FEDFB910B6371422CDD07263005CD5709DC4DB4C
+7A578E3F27DF88EED64EC5AEAB6729DCDC2FF18C470C3767F14B0E835AE731BD
+1CB199AA7081EBCE71ECC0A533F557AB1EC3653E23420B95476B498CCED07147
+F459F299DBB3A403B26056CCEDF294BF5042ADCDF0B0AF2F35E7B3325C9D97BC
+1D32360ECFB378192605E726A3DDA7E5B78960BE89617CC9B46FBF2F7279FD6A
+1A1A68C4191BBBC7830B83A62A0D2D3A7BB0659B58E3E4F021F638EAE0108AC6
+ED1F473C705AB25634F19770334684CD70084D755DE0EA0612B985AA1BB8A7F7
+09BDBA6705D80FBF0D30A38E19BE0B99F0EACAA52EC073331BABC2B016D4494B
+919E49AA24CD46FC03CFA9F7FA4985EF3243D6377C8DB09782A8AED71723859A
+F26AFBB736DA74068843214442B6CB1AF0CDE7B27ED2707252504B6C74D1B121
+593C161EF64D57F39DA7E5CA0A68D62BF6FC705468B2FBEDB082DBE4730B36A9
+B89006981089FFA13034B8CFFF37415CF6FB58654E826205926D24E166AA1BD7
+0D4F179DCBD9B37E0C4A117BBD21E6691069272A6AE455B139EDC65CDEB55E33
+E66A5461DE6CE070923A7263346180106CED1441166D7781D4D80C42DF15FA0C
+223FEB058D8200D78A4D5A13A5294A43A57869D21A83C2C94DAC76445E612D95
+316D7B5C4F86F1DB7BD35DA951CC34EED499BA9B2A0BD76D2FE72FBCF8374E83
+32B98D6953FFDFA8A4FBC27D932CBB65408DEEBB298E1EA6E3E3EEAF3479A3FC
+51887E252E8CA463340490CA6634BFA6F5B744042434F273E1C58A786564ABF1
+C6ECDA857DEF705119500FC326EFBE9E02C61D74DE137A8A0D6BBAC6FD78FA35
+974D652D776150D7BF0974F5981679567566BA4052AECB6F30ADCFD2D364E623
+338F48591719102119E94671DDBEC5D0C7C8B6147928A0CCDB842F2F84219987
+AF7B7D0A29D43472147FD04D8B9B9E40C1E604CDAAE140EAE9870B692CD09700
+5D1500BF926CBB9146855D0C7DE9ECB22525A6012729A4006203BC8A46C7A6A6
+0DA0F1647FE95F23639AF5C05AB13D5A1C28A17DDC8EFA3F3FFEDC64A46A32B0
+E9E51DCA922C9A5303228F6823D5B9BF10D3CDFF8645F0BE1E25404BF8131379
+A057266486B958F566C1B6345A9FD75F123B9D58A04D880971F6973CE66BDBDC
+2FDC38E3993120E92684EDBCA030B5FE10E5D3EC16D4BDC35EC16E0A0F1C1991
+D0F3058956C0CDECCBF604E5F5FC71490ADD5DF4A0743E8296350CA438220012
+4B7C22AD75592BE8CE7D259DBFF1CF4487E0A932F474ED91EFDF386E7DB94B38
+5D93762A7A83FD2F1415C012F74E253D45C14DFEE37AA8C8698AE746147056CC
+F2A0DCD7035A43FCF36671805F0BAE1E6F8B7F840771BB764DB8D1C842E89EB7
+742CFC5B2E565CFA592C54A42801A142883EBF015FA81E881D3A8A01E1FA253D
+089243715F21EB9601217D77EEBB0D305A12A4E70A501393786FCDCC0A5CEB3F
+C42CEA3EE91C47094617BB0EF98074CE6116ACEF6302E40AD25CDD4C780BB7B6
+AD8195784DE96BECF95B625F9BE81A434B2E6044F41E0A37951CF078F09A9616
+E5E09932E881E9AB6364E2FA747EE9A89161F93F178D7A24AB2C7783CC4F798B
+2719D9BAF6807337B8BBE3F3002874511B22551808E50151C166892AA2415303
+D2ABD61EAD6A41F3F54F0E2EBBEC84C9D839CF9231D4DE942B7951DF1BA5A7D9
+809CCFB180F8017A84BA6BFC1BA5940ECA3071CFC7A49BBEB1B913570A51B2F9
+6D302EF8913C6BB60C0315DDC3B41D526D99AA5755841BA8D28860C3CC71E65E
+54921FAB9ED7F964ED314D50CDC06341481153D90F4211BB8964D3312AFB9189
+8526FC628BD2AA4BE6827F36311CE0730E2148AD363D40FC75EB3F94FDF3A730
+7B1CDC5FD4B7B6E0580904A27FB07FF02D4882FEEC8C902751B664CFCFF3CC0B
+052242C1533D2376DF3EE5C4D9E6CE9F3FD3A30F4F015CDE9893D5D66C804F03
+0B04DF3E63CCC959A59D93608E66A61B5B69129D74C011E17D29116942BAE47F
+67EBB46550B21E66E656235F280A1EA57882058278B09BFF9FEF74B02066AA5A
+0148B1C3DE08F019FC9090192F172D05BA3046172E87402DF3168B3765BCBDC4
+1758B4122E88E548D22E15A2087B61FD6EE87D4B60F6343B92F1B67E0B8B99DC
+D7EBB4E08F06C1CCEE242DD9DFD4EA2DA553162A2DB3EFD07706D953C664D15B
+E0E19437423672A26B560AA588C1F1CDEAF6F9797EA440F3987FBFC0689BE4C0
+407E9819FE68FC2C4FC53DB8575A607D19E71AF5CD302837BA49E58F8E0BF807
+385A4540A35CF347DAD4613F91AEE64B11F62A03FC714372E1FF727EDA4DB5C6
+87282A10D31D881F6C47B03DF8DD02C934EC6F25EBEDE4E7E701EE1DCC450CEC
+A2832CEA18B2B166D045A17525FA1748F15FD5AF90B8D4563F3239990248171E
+C037B8D0E4544BD0B9F026702E30198E883BA755643AB0BB89428A16AB106653
+0BA1C89585BE48BB8BDC382839AE8C789A6339F7D36DAFE163824896DC2A9F31
+39C772AB771A74EB93E3DAC78B1A952BCB3C63AD1BDB31260FB1758BAC67E142
+34D25747F1E68E0C36FB53A4A7ECBA85BAD11E560633221700A5D79FD0452BAD
+2E9F25E46C51D541D23F9D2633D0ADDAF128E4E336E2BA5DB2A6B8B8195337FC
+A53EE1174424C26B9F11A27299EE02E1EDA87B8C246F89A0EB22D1C6FDB17142
+AF029C3AB13D89860528B5728B7942163227EE715A2BE644EF49AD23F49087E3
+B4F7B2017CC4DAB7563CDD7BB8549B2C24B0727ED9A42949C0DB281F577FEB3F
+A5D85CB3AD07FE1FCCCA6BC89C2B640350DA641882E8CF028D9AA9EEB26A165B
+F75291EF6E74899AB3A9D824CE570B04A10F3045B175021256F3966F8C6973E4
+254B3E605D891686B26DCA26247A2D23E1068AA8DC7910808480E6921ABB2153
+29E8C329CD0EE5FD1938C3476C22F9DAA5081AB3221E95E5B7278B3AA17B2533
+A0F1B6CE3B19EA988238563F21B2AB6FA1AE122A3004B41BC98501FD21BEA832
+DA9F7D9260E89443A3941E74A7B6EAEF6F0AAE5F86D15292F55716550613A12A
+08727F3D9A8D93A300D23554B72F830EEF021FA259BEEDB8E53DF62FC14593FB
+1040C4B8000F5AD372CD4F290E84611217ECA70B2B6B818151C068CE7A4C9CDC
+63226D68B6DF0E4167A1A8C656D9F4C784C1C89C0B70F7654DB9EDF8305228BA
+8CC8209181E5F9EF398C700948FADE7A6E4B2335E903D3CCD64DA9C60FBFBCAA
+75969712B8F49B644367248FBEF392A687C72148538F83E41AA6E52A13B5158A
+C5667F8941D783611E1008B05E8F31B235ACA40C12BDD72980787CC86DE6B251
+7A10432575088796B78BB3C129F66885C49BC822603DAB6480C092C81F4C9AF8
+71A1A462A81BD4B4834041239220EFB97306A6B0B1DF3BF3AF690E1AD2E1C89A
+662CD201FBEFD6DE3A2FD8163972726EEDD9A4F527AB12B9EA634D92189D2B65
+0E0B1FB2925BD613B78CEE8C67EB46729178CCCA5D312E8E0B4078AC80930080
+7CFE4BF7CAB2D45405C897B2DAF5748CC962C2E032AD6D106CAECCB7E2EFF2B4
+D90FFB8BE2F427D339D1EEBAAD58B0946C6AD5B8D1D335D2BE126B6AD9BDA8A4
+6FF9260E54AC35162AD89236BDDF5936B95A2DB43452C78FB25F02D3C223CAA4
+36E0CF740BE6D85F8F6F8631BDB1D0AC05ABE2E98F09BB22DD1B68A0A278E026
+84B907CEF368DD836DE3F8B9D043797EDC00F6DF91C9A02958EA01F55F00D570
+164575164E1697AAFCCF124AF3AEFA50A02990447C249FEC94EF94D9F2096E76
+F1C558F40812444C6F0F4DAC39A86BECFF82024F043B8A1F226BDB844639C5C1
+AAB3CC7383A85BEF5F37D69CC9C71C59A0D0F33022188CAF84326C26BF3F435E
+6A6E9147BC1B68EA135225157DBAEF77E340AD3A923D8C7BCCBE3D2F962C2514
+671FBE40417C2EA0F236C7462C608A5F169BBC1FDDB8DCDDCE916D730C61CA24
+EFE8AF8F9056AC944D776AD1AB10289EF60D240F532087DBEF11B1FDB1281D97
+6A2120A6C46C22A26D8651341B0180318EA6F8F74453C82F5F25F7B5F12F8B51
+C5A80C5C7238AB883E083EA59959A3000F6100669790106065F2F956E07BB110
+F1D7FF4A5199B53909D691D0CF9CB9086D116D56152BCE329695FE8A830F5C21
+3E4499C14B7B552BDCEC37E745415462F2538DA07FCA272BE4D277E12829BC46
+E495118969616EE7776AA49801C9A84A76F6A2812AF0DEB6AAA7984479B2CDD4
+CB3D87952E5A701E0F825B35DBBF865F372CC051A9D010CFD6D02CBFF67018A5
+65B949A243A214842D16062151AAE13D9A8D6890F4E2E9F09632FDA612B34B33
+A9ABA74A55561D2C07AA0A48FA9399079C6104B24B8FA2F392F023B8A9F279B7
+DF18CD7C63EA3C15D4AF10098C3955706709BF990E9FB252D7C7806F1AA59FE7
+7425FE62C24ACF71C2701BEF1C215BB3F41BDACF4B2D094D0B4149A5E09C9015
+11F0F4FF29D43DE342018E67F6B116ECD19D0A6E00AB3917128DE2205D27D2ED
+7271F16CE4826618615E56C87C30CAFCE21C74ED943A4EED0C1B3BD32479CB4E
+886304D305815128532889B531170C4B10ECD0C976C18F6001A18D466E40C5FE
+FE679B57DC9F4E79BE368D7C013F1C006B5BFAE924378845EFFE3E8BFF97F1B6
+024AF136572B623E3EDD7B4C069F185DE218554B7A51DDC1C0FA2E595E1EE2ED
+F7BD08F2EFD59C7EA11F70FA5E66B488F2FF6A4C39417962E0DE97861AD72DEF
+9AED159F92452F2792469D4BC8FF30DF62EC6EF7FF5542CE8F9921DBD3DF632A
+9B2B3308C641EFC16613B8AD5D886B7BA368DEB5AE7DFBB73FD1A0039F86E848
+9003F84951D921901B7D738B10F304E91752899F9A3C1AA557285C8A9E937B47
+C02DA468E1B1405446D985B9E75A108B79353B3209C01DC47D2CA3D7E500C9BE
+47338665F1538F2B21C0E5BCE6D4AF2E318F2058F294D236578CFFBE68A01267
+7CFC3848BB5760CBA1D313DC83B5E924BD35B37D5B0B305A12A4E70A50139378
+6FCDCC0A5CEB3FC42CEBE02476298D2A06C327B5710803A5212C8CDE88DB132B
+45A97D18DE71422038125927A1E63836A1EC53E443C0AD70EAEDA71AD36A1E14
+22A76D86F602E1FA74D8AD1DB0D918F124929CAAF9701057B34D94BB8BC0A27D
+0FD08B6C4DDD168E78817B72CDDF15B11F1F4383D669A5495EADC0D6D1559DE1
+6723BFEE1B4FBA65ABFF7C516F5C3042443E6C931F6CC6ED108E765C879314E5
+32D888A1F622AE3AD612DAD9059A3D7F3BD63827E28F17D57CE9A481B68DDE13
+F0F9671B2E7E4B03C30FD2970B441E285F741FA0C386F50D2C9FC7F252AD669B
+B39A194929255FDAEFBF0B0679C941C32D841D4A55DECE2558496E6EA5991AEB
+A592BABA2DB6F3D663808C2BB6B3BE5B62FEC3609DA59FB6E803A0A99CABA828
+2926A96C261ECA284FDF9EFDF3F9A86A36F79C2751E13EF76818DF4B04DDEFD8
+17355D4F877256023ADE33D6EE10BE2C79698115A2DEBF8CDAAF3BBEDB05DE5B
+CB73C7BDB04AAB7F46B3F3001A3D0E8A24476C4AD49E132249D0F334797CFE7B
+3C2F216F350BC6570BA60A15B635942EDA2F5B354E5E0D381F4C3F5A3DDB5381
+CFCC78F31123A59E84A773A3D8D6EB13077BABA4E019BE121E24F0B4BA11F6D5
+EE1BA38B76CD8FD94E2F8F2607FEE1B55382A62B35FA16C62D3C021BFF7D1D58
+076DF9DEE1C88F784545DE39EB9AAD915049FDDA2BA27F1274FEAA290215293D
+B3556C05BBFB3BEB72E10BA808BC0FD76273E59F0822FC8F6D2CD80571E964DF
+B2D573197D70F660851E71C8BDA874F3E2D1DE3A9C4D5F98EB75FFE015214E9C
+FD6FFAB1BE62FD91C88AD7CE0DFBE01F693C28B2D58BEFF526ABC2504024C85A
+5A0CCDC4B5776FB2064AD9ADFF13751459A43100BD792AC66456CB69D6839672
+419C798894BC1F4011928268564054DABD9EC00B403AD47A076896AF88CD71A6
+F9A2565C497B979CD122D36A2780C4953A2DE4FB007EACA9985BCBE259E5669E
+ACE3B551EEC3CE13B1FEA2D88E1679901E8744DC215EFE417DBA1A7B4C1C64F0
+A2496CC56FA3D3124D025C2D6410C56F5878278646903FBB184E7917E6719BED
+90A5AC3D26BE9618DC456B84D91A6C7B84D04CAEE53756F2D6370EF51DB674AF
+26BD33895DA140B5DF4EBB34A266BA433841EE944935BCB8AC2CF68371A04B26
+24925C12C34A471C77EB2CE8EF6F006E6FD708ED39091E301F077FE7AE2463F4
+0DA83FD594F68D55F610196542E9274F2DBA8255D6C63A0B4688F425DBE5F28D
+56BAEEFC0E0DB0CC1A1556F178DFEF912B921D440330492FCE24FA56717B7FC9
+FDD93F6E9C02980D753E431CA00C25B9F93AE20C066D24CDB7FB40299C56B388
+1B6F30FF54779FA02B8F777E295C8C73F227FD6AD12E25B1198FCA1434536C8E
+38DEA96A9F9537DE2D79DDDFB2E80D58B526E64776C41B0C603420E5F2423C2B
+0148AD264567FC44367C28A4106C4A482A647C8E2DB6AA0FA61D612B85773578
+30A0F27E935C97232CA97D98E7C1AFD1728773ABCF5095DF52827F92E209D0D5
+1EB056F44EC9CB1760961D62D7E6A47E9DAECDA2CB048C46A094A831CDB00F32
+3365D6BE6D90B9BD17FF9E052A0B3A18B20FC54FBF0524A61F98668745C48DA4
+AD6F0A46EF92547A8DE6565606336E6BC04B5CF02812D1337AA060FF82C5B18A
+364954831522B714EB9B17C83AE0AF35989489779D050EC8E53897C3E6794A2B
+3B231D5B7FF2BD6A1CBC3A17FF5DF62035287BCDF0332C546BF48C5C5ADC8820
+A6913088E942012938D2DA978DE082B818201E2078F23792CD4EAE6CD0D9EF3A
+23B452ED77443D2E7102592E101C0F82A309B5AFA7D2F9188D12D9ECA1C93810
+B69C96759AA42C744FB85EF3D91F4B57AB6EB42ADD5650B463B162918D340FF4
+4300111EAA102FB4A472CFC427003D314642129B03E454B28821A8E7A593C3B6
+0490CA4B351AE075DECB67A202B131F55E12D5473BA0A1FE1124C99699FE9D04
+E79A7AAC4DAFA504BFCC28470D632ADE409C4FE6FFADFE670FCDDE4F4AA04B89
+0D2353ECC91122C559A126081CB9421DE1DD7BC57599C926D09EA6BB90A7E7C3
+D9906472DF11E519E5867FF4618DA0CE348EA9388C84A9360E83745D534B7841
+F83C126C22DC91997074CCF3526E58D17A3A1286E31285BD320CABDA36491A29
+D5D0056115A25CE175EEF7EE88EF4F3CD5F868A27A67439B4A68FF1DBB085086
+0612ACE414F3E98809B95E7AE149C993BA9DE108532115545FDD8E7A508FA857
+CCE2AA87F09476E3EBF0BE4E30453C54FC94A6A76AAEB8DEA6DD4B5F3110E0E0
+EA37DF8D06391B8450282DC16E8C1550BD87E033EC7E123B26366D3CE2011B25
+C5447209
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 48 /zerooldstyle put
+dup 49 /oneoldstyle put
+dup 50 /twooldstyle put
+dup 52 /fouroldstyle put
+dup 56 /eightoldstyle put
+dup 58 /period put
+dup 61 /slash put
+dup 116 /t put
+dup 120 /x put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+95601766758C197F327101A9C9BF396ED625E27A7791ADEE8352741B8CF42DCE
+E8F5D03B9E088903BEE40AF455AFAAA34F47A128D0060335549D25EC2818217D
+0E3D43FAD9D0977F34AD09444CE2A46C8205425CE4F3D3BBCE003B34BD3B462C
+06BB44CBC5442229D09291A50A9802B96655F8CC6DEB068EE16722426D0122E4
+90B571266BBAB023D0C9AC9760C8C8DAA837B237BD070D0BE11890934F5B4063
+94500FA4087F5DD6D31F2B895A25628BA2553ECD27D6937B91CE59E9208E8839
+5172ECD9E2734C68EE866BFBB1E31CABD533DEA79379D18F693431587E7899B4
+FC6A509E8C8341E4365C48E9AE8984247D6579B0B33819B484157B015BAA810B
+8BC022BF97479D989F8FFD09A7AF1A6A5314AB2E812EC6D8CCC85AE15AD20B32
+545DC78656BF97A15CF918CFC66D1D7404821445026572D100DA69B3F0D4EF94
+D5C9DF710FFAF2E4B966CF1860114B6044EC262586B736A2DBFE5DD908307E30
+D84CC0D5F9E3626F8CE0377B3A4D3752F386E2BA79E2DDA279B594F9167CEE5D
+C9FD4644D5E73F0C4B083CDBE47F776D6D1CFC61CAA9CC3DC5C00167AFE58C2B
+93CDB5A0F6BC57B4C2EA0D1365C3370D4470A9D1616720B5E2F2661495AFAE2F
+462882E23DEC6DFF3175DB6B344CFEAA9DA349B92654EB3E477EBA8AC40081A8
+FAF146F17A158AF89B768856B1899B29CBB5F32BCD9DD63C0CBD9D68E1846FE4
+D27B818F5C1DF0D84AED2224A880BACD26449DE34DB881B15472314B9A0D7EEB
+B58E34B85B2265DDDC1384E316626C7584CA8B349E802269508884AC1B60E7C4
+173D914E62C802A0AABD0C9283A6169A988A7E7AF0A1F0AEC74A169239233581
+60F535A938409B7670A9F34A67C3D53E24AD4E607FB005B1B925D4A1D50ACBC0
+A46A82F0C7147FF0F2109DF3A50DE27DE8DDBB37C30A0F9D5EC5F87863F353ED
+08C67DCC5B419BDE6E2B57F58E7557DF61CBD5859CC4EDF71B0BD24FBBB01A00
+BC5846B40CB7950AD74655D9811ED7A6C861D6C237A634B40C9839CA0679A387
+779C737932E1D2283B7A65829AD9F0C0D6B12151EA7C024A95F73C0942BC6426
+E24DA1D5B0AE0918C38269623F9BC71B9639E7BA07D9869942128D366159C049
+CCE0DD8A263061E09B7B48F0F33AE5DBA6E1AA94326575273267FBF05F0F9145
+D1B98C8EB7A6CFD59EEBA781C6D4D4320026BB4363CB43AAE2ACAF180E24E936
+68683DB24312015C8B59E1F5EBBD4B59C9E0BCCE4602D0DA940F518253A95A69
+C338C10446107246231FB5663E337B9C3D8FD145678C2415F00A4E821ED6CF3B
+D3CA8B3513F5BF0F8AAB26367A3671515C34037AF093A818403356B4C07A359B
+AE0D8DF96F8D729208358D98A460787DAEE72A40E2E77A924B4E54DC9B55E70D
+84FC1A97BAF2B872AC6B418C4D0AAF872771AF32A5F332E0F69FA5C7BE4F5534
+D3718E1F6B59E25E08E5B56C0A0AD87B10E38FA9B5FCD6F889E5EDCB8678CC69
+426C6CE82A754A6DE4A750FC67C5B6ACAAF681472FCBAAEBB44A7FDCFCDE5564
+933B3C10C1F910D87F6FDFC63A8C7E20CBD6C4E1A08EC310B1FBF9CFBEFBC712
+4FA9CD3ED59AE744B16723F8D230D79DAD7B433430246B41C23C44C254CFAB9A
+256A516FA0435C96DCACA8649B22DD474A6B7F17551DEF319E958B8D8CD6A6AB
+9E0C5C6461F2474F88AF2434943F53A8F2F81CA30EE422E1C050B940AACB6AD3
+BF676842A85AD94662611668FC7F991D6A766C0BAE50F54E08453AD309976E4C
+FF1FC3D1746AC57707A667532F9A720F695E78E12DC4112BC8304E13F86DB058
+7C06C24FF9176919128EC7942019B11E523DE96B93617F8289D69D5C38A73304
+2C884940B4E1D1FF419622B0DB1518B4F8DE434D0A6038AB64418ECD8054227F
+794B8D34FB56DC165457D00D5FAC4315BCCEAE5FA300611398373C4DE151FA3B
+7A8BAAF9C8130BBEB670C41441D0DA1678F6DF5B7670A1CD15147F2B8A32F30D
+4D8085BB408165C9427053520DC3BB68E905F157863868650D930A3056727C3C
+EA5F2C33CE02C075E45DFF3BB303CCF5650A4E75883185DEB33D3AD7A41D4060
+38B8178167752A3A164A2857AD3EAC08A7D8
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+TeXDict begin 40258437 52099154 1000 8000 8000 (fig2.dvi)
+@start /Fa 140[437 5[922 109[{}2 1106.96 /CMR10 rf /Fb
+74[667 181[{ enclmts1 ReEncodeFont }1 1106.96 /LMRoman10-Regular
+rf /Fc 135[633 3[400 54[553 2[307 1[553 3[553 1[553 553
+553 48[{}9 1106.96 /CMMI10 rf /Fd 139[430 437 2[615 1[615
+922 307 2[307 3[492 1[492 1[553 12[799 15[846 23[307
+44[{ enclmec ReEncodeFont }13 1106.96 /LMRoman10-Regular
+rf(ec-lmr10)cvn 9.96265 /Fd 1 fstore(cmmi10)cvn 9.96265
+/Fc 1 fstore(ts1-lmr10)cvn 9.96265 /Fb 1 fstore(cmr10)cvn
+9.96265 /Fa 1 fstore end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 8000dpi
+TeXDict begin
+ end
+%%EndSetup
+TeXDict begin 1 0 bop 8524 23867 a @beginspecial 84 @llx
+280 @lly 296 @urx 442 @ury 2120 @rwi @setspecial
+%%BeginDocument: _@temp.1
+%!PS
+%%BoundingBox: 84 280 296 442
+%%HiResBoundingBox: 84.51865 280.01865 295.23135 441.5
+%%Creator: MetaPost 0.901
+%%CreationDate: 2006.12.14:1206
+%%Pages: 1
+%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98
+%*Font: cmmi10 9.96265 9.96265 30:e8a4000000000000088
+%*Font: ts1-lmr10 9.96265 9.96265 b5:8
+%*Font: cmr10 9.96265 9.96265 6d:82
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 114.5 302.584 moveto
+114.5 441.25 lineto
+290.25 441.25 lineto
+290.25 302.584 lineto
+114.5 302.584 lineto stroke
+178.72899 282.50935 moveto
+(Time,) ec-lmr10 9.96265 fshow
+207.50938 282.50935 moveto
+(t=) cmmi10 9.96265 fshow
+216.0884 282.50935 moveto
+(\265) ts1-lmr10 9.96265 fshow
+222.0913 282.50935 moveto
+(s) cmr10 9.96265 fshow
+gsave [0 1 -1 0 91.99065 326.0785 ] concat 0 0 moveto
+(Displacemen) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 380.5131 ] concat 0 0 moveto
+(t,) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 390.4758 ] concat 0 0 moveto
+(x=) cmmi10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 401.15111 ] concat 0 0 moveto
+(mm) cmr10 9.96265 fshow grestore
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 114.5 302.584 moveto
+114.5 304.334 lineto stroke
+newpath 114.5 441.25 moveto
+114.5 439.5 lineto stroke
+112.00935 295.2945 moveto
+(0) cmmi10 9.96265 fshow
+newpath 143.833 302.584 moveto
+143.833 304.334 lineto stroke
+newpath 143.833 441.25 moveto
+143.833 439.5 lineto stroke
+newpath 173.083 302.584 moveto
+173.083 304.334 lineto stroke
+newpath 173.083 441.25 moveto
+173.083 439.5 lineto stroke
+170.59235 295.2945 moveto
+(4) cmmi10 9.96265 fshow
+newpath 202.417 302.584 moveto
+202.417 304.334 lineto stroke
+newpath 202.417 441.25 moveto
+202.417 439.5 lineto stroke
+newpath 231.667 302.584 moveto
+231.667 304.334 lineto stroke
+newpath 231.667 441.25 moveto
+231.667 439.5 lineto stroke
+229.17636 293.1636 moveto
+(8) cmmi10 9.96265 fshow
+newpath 261 302.584 moveto
+261 304.334 lineto stroke
+newpath 261 441.25 moveto
+261 439.5 lineto stroke
+newpath 290.25 302.584 moveto
+290.25 304.334 lineto stroke
+newpath 290.25 441.25 moveto
+290.25 439.5 lineto stroke
+285.26865 295.2945 moveto
+(12) cmmi10 9.96265 fshow
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 114.5 302.584 moveto
+116.25 302.584 lineto stroke
+newpath 290.25 302.584 moveto
+288.5 302.584 lineto stroke
+106.5187 300.43924 moveto
+(0) cmmi10 9.96265 fshow
+newpath 114.5 322.417 moveto
+116.25 322.417 lineto stroke
+newpath 290.25 322.417 moveto
+288.5 322.417 lineto stroke
+newpath 114.5 342.167 moveto
+116.25 342.167 lineto stroke
+newpath 290.25 342.167 moveto
+288.5 342.167 lineto stroke
+98.7699 340.99084 moveto
+(0:4) cmmi10 9.96265 fshow
+newpath 114.5 362 moveto
+116.25 362 lineto stroke
+newpath 290.25 362 moveto
+288.5 362 lineto stroke
+newpath 114.5 381.834 moveto
+116.25 381.834 lineto stroke
+newpath 290.25 381.834 moveto
+288.5 381.834 lineto stroke
+98.7699 378.6238 moveto
+(0:8) cmmi10 9.96265 fshow
+newpath 114.5 401.667 moveto
+116.25 401.667 lineto stroke
+newpath 290.25 401.667 moveto
+288.5 401.667 lineto stroke
+newpath 114.5 421.417 moveto
+116.25 421.417 lineto stroke
+newpath 290.25 421.417 moveto
+288.5 421.417 lineto stroke
+98.7699 419.27225 moveto
+(1:2) cmmi10 9.96265 fshow
+newpath 114.5 441.25 moveto
+116.25 441.25 lineto stroke
+newpath 290.25 441.25 moveto
+288.5 441.25 lineto stroke
+ 0 1 dtransform truncate idtransform setlinewidth pop
+newpath 145.25 398.917 moveto
+146.75 403.167 lineto
+148.167 407 lineto
+149.667 410.583 lineto
+151.083 413.75 lineto
+152.583 416.5 lineto
+154.083 419 lineto
+155.5 421.083 lineto
+157 422.833 lineto
+158.416 424.25 lineto
+159.916 425.333 lineto
+161.333 426.083 lineto
+162.833 426.583 lineto
+164.333 426.75 lineto
+165.749 426.666 lineto
+167.249 426.416 lineto
+168.666 425.916 lineto
+170.166 425.25 lineto
+171.582 424.333 lineto
+173.082 423.333 lineto
+174.582 422.167 lineto
+175.999 420.917 lineto
+177.499 419.583 lineto
+178.915 418.167 lineto
+180.415 416.667 lineto
+181.832 415.167 lineto
+183.332 413.667 lineto
+184.832 412.167 lineto
+186.248 410.667 lineto
+187.748 409.167 lineto
+189.165 407.75 lineto
+190.665 406.334 lineto
+192.081 405.084 lineto
+193.581 403.834 lineto
+195.081 402.584 lineto
+196.498 401.501 lineto
+197.998 400.501 lineto
+199.414 399.584 lineto
+200.914 398.751 lineto
+202.414 398.001 lineto
+203.831 397.418 lineto
+205.331 396.834 lineto
+206.747 396.334 lineto
+208.247 396.001 lineto
+209.664 395.668 lineto
+211.164 395.501 lineto
+212.664 395.335 lineto
+214.08 395.252 lineto
+215.58 395.252 lineto
+216.997 395.335 lineto
+218.497 395.418 lineto
+219.913 395.585 lineto
+221.413 395.835 lineto
+222.913 396.085 lineto
+224.33 396.335 lineto
+225.83 396.668 lineto
+227.246 397.001 lineto
+228.746 397.334 lineto
+230.163 397.751 lineto
+231.663 398.084 lineto
+233.163 398.501 lineto
+234.579 398.834 lineto
+236.079 399.25 lineto
+237.496 399.584 lineto
+238.996 400 lineto
+240.412 400.333 lineto
+241.912 400.667 lineto
+243.412 401 lineto
+244.829 401.333 lineto
+246.329 401.583 lineto
+247.745 401.833 lineto
+249.245 402.083 lineto
+250.662 402.333 lineto
+252.162 402.5 lineto
+253.662 402.666 lineto
+255.078 402.833 lineto
+256.578 402.916 lineto
+257.995 402.999 lineto
+259.495 403.083 lineto
+260.995 403.166 lineto
+262.411 403.249 lineto
+263.911 403.249 lineto
+265.328 403.249 lineto
+266.828 403.249 lineto
+268.244 403.249 lineto
+269.744 403.166 lineto
+271.244 403.166 lineto
+272.661 403.083 lineto
+274.161 402.999 lineto
+275.577 402.916 lineto
+277.077 402.833 lineto
+278.494 402.75 lineto
+279.994 402.666 lineto
+281.494 402.583 lineto
+282.91 402.5 lineto
+284.41 402.333 lineto
+285.827 402.25 lineto
+287.327 402.167 lineto
+288.743 402.083 lineto
+290.243 402 lineto stroke
+newpath 114.5 302.584 moveto
+116 303.084 lineto
+117.417 304.417 lineto
+118.917 306.667 lineto
+120.333 309.667 lineto
+121.833 313.25 lineto
+123.25 317.417 lineto
+124.75 322.083 lineto
+126.25 327.167 lineto
+127.666 332.583 lineto
+129.166 338.25 lineto
+130.583 344.083 lineto
+132.083 349.999 lineto
+133.499 355.916 lineto
+134.999 361.916 lineto
+136.499 367.749 lineto
+137.916 373.499 lineto
+139.416 379.082 lineto
+140.832 384.416 lineto
+142.332 389.582 lineto
+143.832 394.415 lineto
+145.249 398.915 lineto stroke
+showpage
+%%EOF
+
+%%EndDocument
+ @endspecial eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/macros/latex/contrib/sistyle/figs/fig2.mps b/macros/latex/contrib/sistyle/figs/fig2.mps
new file mode 100644
index 0000000000..2369aa4eb7
--- /dev/null
+++ b/macros/latex/contrib/sistyle/figs/fig2.mps
@@ -0,0 +1,239 @@
+%!PS
+%%BoundingBox: 84 280 296 442
+%%HiResBoundingBox: 84.51865 280.01865 295.23135 441.5
+%%Creator: MetaPost 0.901
+%%CreationDate: 2006.12.14:1206
+%%Pages: 1
+%*Font: ec-lmr10 9.96265 9.96265 2c:8000008000800544e98
+%*Font: cmmi10 9.96265 9.96265 30:e8a4000000000000088
+%*Font: ts1-lmr10 9.96265 9.96265 b5:8
+%*Font: cmr10 9.96265 9.96265 6d:82
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath 114.5 302.584 moveto
+114.5 441.25 lineto
+290.25 441.25 lineto
+290.25 302.584 lineto
+114.5 302.584 lineto stroke
+178.72899 282.50935 moveto
+(Time,) ec-lmr10 9.96265 fshow
+207.50938 282.50935 moveto
+(t=) cmmi10 9.96265 fshow
+216.0884 282.50935 moveto
+(\265) ts1-lmr10 9.96265 fshow
+222.0913 282.50935 moveto
+(s) cmr10 9.96265 fshow
+gsave [0 1 -1 0 91.99065 326.0785 ] concat 0 0 moveto
+(Displacemen) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 380.5131 ] concat 0 0 moveto
+(t,) ec-lmr10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 390.4758 ] concat 0 0 moveto
+(x=) cmmi10 9.96265 fshow grestore
+gsave [0 1 -1 0 91.99065 401.15111 ] concat 0 0 moveto
+(mm) cmr10 9.96265 fshow grestore
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 114.5 302.584 moveto
+114.5 304.334 lineto stroke
+newpath 114.5 441.25 moveto
+114.5 439.5 lineto stroke
+112.00935 295.2945 moveto
+(0) cmmi10 9.96265 fshow
+newpath 143.833 302.584 moveto
+143.833 304.334 lineto stroke
+newpath 143.833 441.25 moveto
+143.833 439.5 lineto stroke
+newpath 173.083 302.584 moveto
+173.083 304.334 lineto stroke
+newpath 173.083 441.25 moveto
+173.083 439.5 lineto stroke
+170.59235 295.2945 moveto
+(4) cmmi10 9.96265 fshow
+newpath 202.417 302.584 moveto
+202.417 304.334 lineto stroke
+newpath 202.417 441.25 moveto
+202.417 439.5 lineto stroke
+newpath 231.667 302.584 moveto
+231.667 304.334 lineto stroke
+newpath 231.667 441.25 moveto
+231.667 439.5 lineto stroke
+229.17636 293.1636 moveto
+(8) cmmi10 9.96265 fshow
+newpath 261 302.584 moveto
+261 304.334 lineto stroke
+newpath 261 441.25 moveto
+261 439.5 lineto stroke
+newpath 290.25 302.584 moveto
+290.25 304.334 lineto stroke
+newpath 290.25 441.25 moveto
+290.25 439.5 lineto stroke
+285.26865 295.2945 moveto
+(12) cmmi10 9.96265 fshow
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 114.5 302.584 moveto
+116.25 302.584 lineto stroke
+newpath 290.25 302.584 moveto
+288.5 302.584 lineto stroke
+106.5187 300.43924 moveto
+(0) cmmi10 9.96265 fshow
+newpath 114.5 322.417 moveto
+116.25 322.417 lineto stroke
+newpath 290.25 322.417 moveto
+288.5 322.417 lineto stroke
+newpath 114.5 342.167 moveto
+116.25 342.167 lineto stroke
+newpath 290.25 342.167 moveto
+288.5 342.167 lineto stroke
+98.7699 340.99084 moveto
+(0:4) cmmi10 9.96265 fshow
+newpath 114.5 362 moveto
+116.25 362 lineto stroke
+newpath 290.25 362 moveto
+288.5 362 lineto stroke
+newpath 114.5 381.834 moveto
+116.25 381.834 lineto stroke
+newpath 290.25 381.834 moveto
+288.5 381.834 lineto stroke
+98.7699 378.6238 moveto
+(0:8) cmmi10 9.96265 fshow
+newpath 114.5 401.667 moveto
+116.25 401.667 lineto stroke
+newpath 290.25 401.667 moveto
+288.5 401.667 lineto stroke
+newpath 114.5 421.417 moveto
+116.25 421.417 lineto stroke
+newpath 290.25 421.417 moveto
+288.5 421.417 lineto stroke
+98.7699 419.27225 moveto
+(1:2) cmmi10 9.96265 fshow
+newpath 114.5 441.25 moveto
+116.25 441.25 lineto stroke
+newpath 290.25 441.25 moveto
+288.5 441.25 lineto stroke
+ 0 1 dtransform truncate idtransform setlinewidth pop
+newpath 145.25 398.917 moveto
+146.75 403.167 lineto
+148.167 407 lineto
+149.667 410.583 lineto
+151.083 413.75 lineto
+152.583 416.5 lineto
+154.083 419 lineto
+155.5 421.083 lineto
+157 422.833 lineto
+158.416 424.25 lineto
+159.916 425.333 lineto
+161.333 426.083 lineto
+162.833 426.583 lineto
+164.333 426.75 lineto
+165.749 426.666 lineto
+167.249 426.416 lineto
+168.666 425.916 lineto
+170.166 425.25 lineto
+171.582 424.333 lineto
+173.082 423.333 lineto
+174.582 422.167 lineto
+175.999 420.917 lineto
+177.499 419.583 lineto
+178.915 418.167 lineto
+180.415 416.667 lineto
+181.832 415.167 lineto
+183.332 413.667 lineto
+184.832 412.167 lineto
+186.248 410.667 lineto
+187.748 409.167 lineto
+189.165 407.75 lineto
+190.665 406.334 lineto
+192.081 405.084 lineto
+193.581 403.834 lineto
+195.081 402.584 lineto
+196.498 401.501 lineto
+197.998 400.501 lineto
+199.414 399.584 lineto
+200.914 398.751 lineto
+202.414 398.001 lineto
+203.831 397.418 lineto
+205.331 396.834 lineto
+206.747 396.334 lineto
+208.247 396.001 lineto
+209.664 395.668 lineto
+211.164 395.501 lineto
+212.664 395.335 lineto
+214.08 395.252 lineto
+215.58 395.252 lineto
+216.997 395.335 lineto
+218.497 395.418 lineto
+219.913 395.585 lineto
+221.413 395.835 lineto
+222.913 396.085 lineto
+224.33 396.335 lineto
+225.83 396.668 lineto
+227.246 397.001 lineto
+228.746 397.334 lineto
+230.163 397.751 lineto
+231.663 398.084 lineto
+233.163 398.501 lineto
+234.579 398.834 lineto
+236.079 399.25 lineto
+237.496 399.584 lineto
+238.996 400 lineto
+240.412 400.333 lineto
+241.912 400.667 lineto
+243.412 401 lineto
+244.829 401.333 lineto
+246.329 401.583 lineto
+247.745 401.833 lineto
+249.245 402.083 lineto
+250.662 402.333 lineto
+252.162 402.5 lineto
+253.662 402.666 lineto
+255.078 402.833 lineto
+256.578 402.916 lineto
+257.995 402.999 lineto
+259.495 403.083 lineto
+260.995 403.166 lineto
+262.411 403.249 lineto
+263.911 403.249 lineto
+265.328 403.249 lineto
+266.828 403.249 lineto
+268.244 403.249 lineto
+269.744 403.166 lineto
+271.244 403.166 lineto
+272.661 403.083 lineto
+274.161 402.999 lineto
+275.577 402.916 lineto
+277.077 402.833 lineto
+278.494 402.75 lineto
+279.994 402.666 lineto
+281.494 402.583 lineto
+282.91 402.5 lineto
+284.41 402.333 lineto
+285.827 402.25 lineto
+287.327 402.167 lineto
+288.743 402.083 lineto
+290.243 402 lineto stroke
+newpath 114.5 302.584 moveto
+116 303.084 lineto
+117.417 304.417 lineto
+118.917 306.667 lineto
+120.333 309.667 lineto
+121.833 313.25 lineto
+123.25 317.417 lineto
+124.75 322.083 lineto
+126.25 327.167 lineto
+127.666 332.583 lineto
+129.166 338.25 lineto
+130.583 344.083 lineto
+132.083 349.999 lineto
+133.499 355.916 lineto
+134.999 361.916 lineto
+136.499 367.749 lineto
+137.916 373.499 lineto
+139.416 379.082 lineto
+140.832 384.416 lineto
+142.332 389.582 lineto
+143.832 394.415 lineto
+145.249 398.915 lineto stroke
+showpage
+%%EOF
diff --git a/macros/latex/contrib/sistyle/sistyle.dtx b/macros/latex/contrib/sistyle/sistyle.dtx
new file mode 100644
index 0000000000..c9eccae8d2
--- /dev/null
+++ b/macros/latex/contrib/sistyle/sistyle.dtx
@@ -0,0 +1,2191 @@
+% \iffalse meta-comment
+%
+% sistyle.dtx
+% Copyright (C) 2004--2008 Danie Els
+%
+% -------------------------------------------------------------------
+% The SIstyle package
+% for SI units and number typesetting
+% -------------------------------------------------------------------
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status 'maintained'.
+%
+% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za)
+%
+% This package consists of the files: sistyle.dtx
+% sistyle.ins
+% and the derived file: sistyle.sty
+% -------------------------------------------------------------------
+% \fi
+%
+%
+%
+% \CheckSum{830}
+%
+% \CharacterTable
+% {Upper-case \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
+% Lower-case \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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%<*dtx>
+\ProvidesFile{sistyle.dtx}
+%</dtx>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{sistyle}
+%<driver>\ProvidesFile{sistyle.drv}
+%\ProvidesFile{sistyle.dtx}
+ [2008/07/16 v2.3a SI units and numbers (DNJ Els)]
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage{calc}
+\usepackage{amsmath}
+%\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+%\usepackage{lmodern}
+\usepackage{sistyle}
+ \SIdefaultNfam{\mathnormal}
+ \SIdefaultMfam{\mathrm}
+ \SIthousandsep{\,}
+ \SIunitsep{\;}
+ \SIunitdot{\cdot}
+ \SIproductsign{\times}
+ \SIobeyboldfalse
+% \newcommand*{\micro}{\ensureupmath{\mbox{\textmu}}}
+\usepackage{array}
+\usepackage{graphicx}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\setlength\hfuzz{15pt}
+\hbadness=7000
+\begin{document}
+ \DocInput{sistyle.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \changes{v1.0}{2004/02/01}{Initial version}
+% \changes{v2.0}{2004/07/12}{Better display math detection with \cs{displaywidth}}
+% \changes{v2.1}{2006/07/09}{Add user definable commands for \cs{mathrm}, \cs{mathsf}, \cs{mathtt}}
+% \changes{v2.2}{2006/12/14}{Correct bug in \cs{ang} when French package is loaded}
+% \changes{v2.3}{2006/12/20}{Make \cs{ang} work in side commands when ; is active}
+% \changes{v2.3a}{2008/07/16}{Final version}
+%
+%
+% \DoNotIndex{\,}
+% \DoNotIndex{\., \;}
+% \DoNotIndex{\@car, \@empty, \@firstofone, \@firstoftwo, \@ifstar,
+% \@ifundefined, \@nameuse,\@nil, \@nnil, \@onlypreamble,
+% \@secondoftwo, \@undefined}
+% \DoNotIndex{\AtBeginDocument}
+% \DoNotIndex{\begingroup, \bfseries, \bgroup, \boldmath}
+% \DoNotIndex{\catcode, \cdot, \chardef, \check@mathfonts, \circ,
+% \csname}
+% \DoNotIndex{\DeclareMathSymbol, \DeclareRobustCommand, \def}
+% \DoNotIndex{\edef, \egroup, \else, \endcsname, \endgroup, \ensuremath,
+% \ensureupmath, \expandafter}
+% \DoNotIndex{\f@family, \f@series, \fam, \fi}
+% \DoNotIndex{\gdef, \GetMathFontFams, \global}
+% \DoNotIndex{\if, \ifinner, \ifmmode, \ifnum, \ifx}
+% \DoNotIndex{\kern}
+% \DoNotIndex{\let, \long, \lowercase}
+% \DoNotIndex{\math@version, \mathcode, \mathord, \mathrm, \mathsf,
+% \mathtt, \mbox, \mdseries}
+% \DoNotIndex{\NeedsTeXFormat, \newcommand, \newif, \newtoks, \noexpand}
+% \DoNotIndex{\Omega}
+% \DoNotIndex{\PackageError, \prime, \providecommand, \ProvidesPackage}
+% \DoNotIndex{\relax, \renewcommand, \RequirePackage, \rmfamily}
+% \DoNotIndex{\sbox, \scriptspace, \sfdefault, \sffamily}
+% \DoNotIndex{\text, \textsuperscript, \the, \times, \ttdefault,
+% \ttfamily}
+% \DoNotIndex{\unboldmath, \upshape}
+% \DoNotIndex{\zap@space}
+%
+%
+% \makeatletter
+%
+%^^A==== Temporaries ================================================
+%
+% \newsavebox{\tboxa}
+% \newsavebox{\tboxb}
+% \newlength{\tdima}
+%
+%^^A==== Doc Environments ===========================================
+%
+% \newenvironment{Item}[2][\textsl]{^^A
+% \begin{list}{}^^A
+% {\renewcommand{\makelabel}[1]{\mbox{#1{##1:}}\hfill}^^A
+% \settowidth{\labelwidth}{#1{#2:}}^^A
+% \setlength{\labelsep}{1em}^^A
+% \setlength{\leftmargin}{\labelwidth}^^A
+% \addtolength{\leftmargin}{\labelsep}^^A
+% \addtolength{\textwidth}{-\leftmargin}^^A
+% \addtolength{\textwidth}{-\rightmargin}}^^A
+% \item[#2]^^A
+% }{\end{list}}
+%
+% \newenvironment{cmddef}[1][l]^^A
+% {\nopagebreak\par\small
+% \addvspace{3.2ex plus 0.8ex minus 0.2ex}^^A
+% \vskip -\parskip
+% \noindent^^A
+% \begin{tabular}{|#1|}
+% \hline\rule{0pt}{1em}\ignorespaces}^^A
+% {\\\hline
+% \end{tabular}
+% \par\nopagebreak\addvspace{3.2ex plus 0.8ex minus 0.2ex}^^A
+% \vskip -\parskip}
+%
+%^^A==== Indented Environments ======================================
+%
+% \newlength{\mytab}
+% \setlength{\mytab}{\parindent}
+% \newcommand{\tab}{\hspace*{\mytab}}
+%
+% \newenvironment{IndentPara}
+% {\list{}{\setlength{\leftmargin}{\mytab}^^A
+% \setlength{\labelwidth}{0pt}^^A
+% \setlength{\labelsep}{0pt}^^A
+% \setlength{\itemindent}{\parindent}^^A
+% \setlength{\listparindent}{\parindent}^^A
+% \setlength{\parsep}{\parskip}^^A
+% }^^A
+% \item[]}^^A
+% {\endlist}
+%
+% \newenvironment{Ipara}[1][\small]^^A
+% {\begin{IndentPara}\noindent#1\ignorespaces}^^A
+% {\end{IndentPara}}
+% \newenvironment{Itabb}[1][\small]
+% {\begin{IndentPara}#1\ignorespaces\begin{tabbing}\ignorespaces}^^A
+% {\end{tabbing}\end{IndentPara}}
+%
+%^^A==== Headings ===================================================
+%
+% \newcommand{\@headfamily}{\normalfont}
+%
+% \renewcommand*{\partname}{Part}
+%
+% \def\@part[#1]#2{^^A
+% \ifnum \c@secnumdepth >\m@ne\relax
+% \refstepcounter{part}^^A
+% \addcontentsline{toc}{part}{\partname\ \thepart.
+% \protect\enspace\protect\noindent #1}^^A
+% \else
+% \addcontentsline{toc}{part}{#1}^^A
+% \fi
+% \begingroup
+% \centering
+% \@headfamily
+% \ifnum \c@secnumdepth >\m@ne\relax
+% {\large\bfseries \partname\ \thepart}
+% \vskip 1em
+% \fi
+% \Large \bfseries #1^^A
+% \markboth{}{}\par
+% \endgroup
+% \nobreak
+% \vskip 2em
+% \@afterheading}
+%
+% \@addtoreset{section}{part}
+% \renewcommand{\thepart}{\arabic{part}}
+% \renewcommand{\thesection}{\thepart.\arabic{section}}
+%
+%^^A \renewcommand{\@seccntformat}[1]{^^A
+%^^A \protect\makebox[0pt][r]{\@nameuse{the#1}\quad}}
+%
+% \def\section{^^A
+% \@startsection {section}{1}{\z@}^^A
+% {-3.5ex plus -1ex minus -.2ex}^^A
+% {2.3ex plus .2ex}^^A
+% {\noindent\@headfamily\raggedright\large\bfseries}}
+%
+% \def\subsection{^^A
+% \@startsection{subsection}{2}{\z@}^^A
+% {-3.25ex plus -1ex minus -.2ex}^^A
+% {1.5ex plus .2ex}^^A
+% {\noindent\@headfamily\normalsize\bfseries}}^^A
+%
+%^^A==== TOC setup ==================================================
+%
+%\newcommand\tableofcontentsX{^^A
+% \begin{center}
+% \large\bfseries\contentsname
+% \end{center}
+% \@mkboth{\MakeUppercase\contentsname}^^A
+% {\MakeUppercase\contentsname}^^A
+% \@starttoc{toc}}
+%
+% \renewcommand\tableofcontents{%
+%^^A \section*{\contentsname}^^A
+% \centerline{\Large\bfseries\contentsname}
+% \medskip
+% \@mkboth{\MakeUppercase\contentsname}^^A
+% {\MakeUppercase\contentsname}^^A
+% \@starttoc{toc}}
+%
+% \renewcommand*\l@part[2]{^^A
+% \ifnum \c@tocdepth >-2\relax
+% \addpenalty\@secpenalty
+% \bigskip
+% \setlength\@tempdima{3em}^^A
+% \begingroup
+% \parindent \z@ \rightskip \@pnumwidth
+% \parfillskip -\@pnumwidth
+% {\leavevmode
+% \large\bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
+% \nobreak
+% \if@compatibility
+% \global\@nobreaktrue
+% \everypar{\global\@nobreakfalse\everypar{}}^^A
+% \fi
+% \endgroup
+% \smallskip
+% \fi}
+%
+% \renewcommand*\l@section[2]{^^A
+% \ifnum \c@tocdepth >\z@
+% \addpenalty\@secpenalty
+%^^A \smallskip
+% \setlength\@tempdima{2em}^^A
+% \begingroup
+% \parindent \z@ \rightskip \@pnumwidth
+% \parfillskip -\@pnumwidth
+% \leavevmode
+% \advance\leftskip\@tempdima
+% \hskip -\leftskip
+% #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+% \endgroup
+% \fi}
+%
+% \renewcommand*\l@subsection{\@dottedtocline{2}{2em}{3em}}
+%
+%^^A==== Lists ======================================================
+%
+% \renewcommand{\theenumi}{\alph{enumi}}
+% \renewcommand{\labelenumi}{(\theenumi)}
+%
+%^^A==== Misc =======================================================
+%
+% \def\meta@font@select{\slshape}
+%
+% \newcommand{\myemph}[1]{\textsl{#1}}
+% \newcommand{\xnum}[1]{\ensuremath{\SI@defaultNfam{#1}}}
+%
+% \newcommand{\pkg}[1]{\textsf{#1}}
+% \newcommand{\RA}{\>$\rightarrow$\quad}
+% \newcommand{\RAt}{\quad$\rightarrow$\quad}
+% \newcommand*{\tlde}{\text{$\mathtt{\scriptstyle\sim}$}}
+%
+% \makeatother
+%
+%^^A==== Titling ====================================================
+%
+% \GetFileInfo{sistyle.dtx}
+%
+% \title{The \pkg{SIstyle} package\thanks{This file has
+% version number \fileversion,
+% last revised \filedate.}}
+% \author{D.N.J.\ Els\\[1ex]
+% \texttt{(dnjels@sun.ac.za)}}
+% \date{\filedate}
+% \maketitle
+%
+%^^A==== Abstract ===================================================
+%
+% \begin{abstract}
+% \noindent
+% The \pkg{SIstyle} package provides macros to type
+% numbers and units in a consistent way according to SI
+% requirements. The following commands are provided:
+% \begin{Itabb}
+% \cmd{\SI}\marg{number}\marg{unit}\hspace{3em}\=$\rightarrow$~ Setting numbers with units\\
+% \cmd{\num}\marg{number} \>$\rightarrow$~ Setting a number\\
+% \cmd{\ang}|{|\meta{degs}|;|\meta{mins}|;|\meta{secs}|}| \>$\rightarrow$~ Setting an angle
+% \end{Itabb}
+% The requirements for formatting and typesetting of SI units and
+% numbers listed in this document, were extracted verbatim from the
+% \textit{NIST Special Publication 811} (SP 811):
+% \begin{Ipara}
+% |http://physics.nist.gov/cuu/Units/rules.html|
+% \end{Ipara}
+% It is not a full list of all the requirements, but only those
+% relevant to font type and spacing formatting.
+%
+% It is the responsibility of the user to use the correct units and
+% prefixes, because the purpose of this package is only to typeset
+% the SI units and numbers properly. It is therefore recommended
+% that the user makes a thorough study of SP 811 or the equivalent
+% specification for his or her country.
+% \end{abstract}
+% \vspace{1cm}
+%
+% \begin{center}
+% \begin{tabular}{|p{0.6\hsize}|}
+% \hline
+% \texttt{SIstyle v2.3} is the final version of this package.
+% No new features will be added in the future. The packages
+% will be maintained and bugs will be fixed.\\ \\
+%
+% All future development will be done in the \texttt{siunitx}
+% package.\\
+% \hline
+% \end{tabular}
+% \end{center}
+%
+%
+%^^A==== Contents ===================================================
+%
+% \clearpage
+% \tableofcontents
+%
+%^^A==== Main Document ==============================================
+% \clearpage
+% \part{Using The \pkg{SIstyle} Package}
+%
+% \section{Loading the \pkg{SIstyle} Package}
+%
+% The \pkg{SIstyle} package is loaded in the document preamble with
+% \begin{Ipara}
+% |\usepackage{sistyle}|
+% \end{Ipara}
+%
+% \section{The Typesetting Commands}
+% \subsection{SI numbers with units}
+%
+% The \cmd{\SI} command typeset SI numbers with units and it
+% conforms to the rules as given in Part \ref{prt:SI}.
+%
+% \begin{cmddef}
+% \cmd{\SI}\marg{number}\marg{unit}
+% \end{cmddef}
+%
+% \noindent Inside the \cmd{\SI}\ command the point, ``.'',
+% is make active and redefined to \cmd{\SIunitdot}. The hard space,
+% ``\tlde'', is redefined to \cmd{\SIunitspace}. This makes for
+% convenient shorthand in that by typing \texttt{N.m} you obtain
+% ``\SI{}{N.m}'' or \texttt{N\tlde m} gives ``\SI{}{N~m}''.
+%
+% \begin{cmddef}
+% \cmd{\pnt}
+% \end{cmddef}
+%
+% \noindent The point can now not be used as a decimal point as part
+% of a unit and the symbol \cmd{\pnt}\ is defined as substitute. It
+% is however recommended to use the \cmd{\num} command to ensure
+% uniform formatting of numbers.
+%
+%
+% \begin{Item}{Example}\small^^A
+% \begin{tabular}[t]{@{}l@{\RAt}l}
+% |\SI{}{m.kg/(s^3.A)}| & \SI{}{m.kg/(s^3.A)}\\
+% |\SI{}{(MPa)^{0\pnt 5}}| & \SI{}{(MPa)^{0\pnt 5}}\\
+% |\SI{}{(MPa)^{\num{0.5}}}| & \SI{}{(MPa)^{\num{0,5}}}\\
+% |$v=\SI{10}{m.s^{-1}}$| & $v=\SI{10}{m.s^{-1}}$\\
+% |$v=\SI{10}{m/s}$| & $v=\SI{10}{m/s}$\\
+% |$v=\SI{10}{\tfrac{m}{s}}$| & $v=\SI{10}{\tfrac{m}{s}}$\\
+% |$\tau=\SI{3}{N|\tlde|m}$| & $\tau=\SI{3}{N~m}$
+% \end{tabular}
+% \end{Item}
+%
+% \noindent^^A
+% The numbers and units are set inside a math environment with an
+% upright font. When the \cmd{\SI}\ command is used in normal text
+% or inside inline maths, it follows the surrounding fonts. Display
+% maths on the other hand will follow the active math fonts. When
+% different text and math fonts are used, it can be problematic,
+% because unit that are typed inside normal text will have a
+% different font from the units inside display maths.
+%
+% \begin{Item}{Example}
+% The velocity is \SI{15.3}{m/s} at the ...\\
+% \textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...}\\
+% \textsf{The velocity is \SI{15.3}{m/s} at the ...}\\
+% \texttt{The velocity is \SI{15.3}{m/s} at the ...}
+% \end{Item}
+%
+% \noindent The typesetting of SI units obeys the surrounding bold
+% text depending on the following switches:
+%
+% \begin{cmddef}
+% \cmd{\SIobeyboldtrue}\\
+% \cmd{\SIobeyboldfalse}\quad(default)
+% \end{cmddef}
+%
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% \cmd{\SIobeyboldtrue}
+% &\SIobeyboldtrue\textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...}\\
+% \cmd{\SIobeyboldfalse}
+% &\textbf{\itshape The velocity is \SI{15.3}{m/s} at the ...}
+% \end{tabular}
+% \end{Item}
+%
+%
+% \subsection{Numbers}
+%
+% Numbers can be formatted with the \cmd{\num} command.
+%
+% \begin{cmddef}
+% \cmd{\num}\marg{decimal number}\\
+% \cmd{\num*}\marg{decimal number}
+% \end{cmddef}
+%
+% \noindent Numbers may only consist of:
+% ``\xnum{+-0\,1\,2\,3\,4\,5\,6\,7\,8\,9\,.\,,\,}e\,E''\@. The input
+% decimal separator can be either a point ``|.|'' or a comma
+% ``|,|''. The output is formatted according to the
+% \cmd{\SIdecimalsign} setting. No thousand separators are allowed
+% in the argument (spaces are ignored).
+% ``$\mathtt{E}\,x$'' or ``$\mathtt{e}\,x$'' is
+% converted to $10^x$.
+%
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\num{1.2e3}| & \num{1.2e3}\\
+% |\num{1,2E3}| & \num{1,2E3}
+% \end{tabular}
+% \end{Item}
+%
+% \noindent The \cmd{\num} command simplifies the input of numbers
+% and typeset them correctly.
+%
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\num{E1.5}| & \num{E1.5} \\
+% |\num{ - e -.5}| & \num{ - e -.5}\\
+% |\num{+1e-.5}| & \num{+1e-.5} \\
+% |\num{1.23456e5}| & \num{1.23456e5} \\
+% |\num{+1.234}| & \num{+1.234} \\
+% |\num{-.12345}| & \num{-.12345} \\
+% |\num{1.}| & \num{1.} \\
+% |\num{1}| & \num{1} \\
+% |\num{123}| & \num{123} \\
+% |\num{1234}| & \num{1234} \\
+% |\num{12345}| & \num{12345} \\
+% |\num{-123456}| & \num{-123456}
+% \end{tabular}
+% \end{Item}
+%
+% \noindent The grouping of the four digits can be switched on or of
+% --- e.g., in a table --- with the following switches :
+%
+% \begin{cmddef}
+% \cmd{\SIgroupfourtrue}\quad(default)\\[1ex]
+% \cmd{\SIgroupfourfalse}
+% \end{cmddef}
+% \noindent Please make sure that changes are kept local to ensure
+% uniformity throughout a document.
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |{\SIgroupfourtrue\num{1234.5678}}| & \SIgroupfourtrue\num{1234.5678}\\
+% |{\SIgroupfourfalse\num{1234.5678}}| & \SIgroupfourfalse\num{1234.5678}
+% \end{tabular}
+% \end{Item}
+%
+%
+% \noindent The starred form, \cmd{\num*}, typeset the number in the normal
+% active \LaTeX{} font. This is needed when numbers are inserted in
+% headings, etc. The unstarred version uses the same upright math
+% font as the SI units.
+%
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\textit{There were \num{123} of them}|
+% & \textit{There were \num{123} of them}\\
+% |\textit{There were \num*{123} of them}|
+% & \textit{There were \num*{123} of them}
+% \end{tabular}
+% \end{Item}
+%
+%
+%
+% \subsection{Angles}
+%
+% The \cmd{\ang} command is supplied by the \pkg{SIstyle} package to
+% typeset angles. Note the degrees, minutes and seconds are
+% separated with a semi-colon ``|;|''.
+%
+% \begin{cmddef}
+% \cmd{\ang}|{|\meta{degs}|;|\meta{mins}|;|\meta{secs}|}|\\[1ex]
+% \cmd{\ang}\marg{decimal degrees}
+% \end{cmddef}
+% \begin{Item}{Example}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\ang{10}| & \ang{10} \\
+% |\ang{10; 12}| & \ang{10;12} \\
+% |\ang{10; 12; 4}| & \ang{10;12;4}\\
+% |\ang{10; 12; 4,01}| & \ang{10;12;4,01}\\[1ex]
+% |\ang{; ; 4}| & \ang{; ; 4}\\[1ex]
+% |\ang{10.2011}| & \ang{10.2011} \\
+% |\ang{+10}| & \ang{+10} \\
+% |\ang{-10}| & \ang{-10}
+% \end{tabular}
+% \end{Item}
+%
+%
+% \section{Additional Units Symbols}\label{sec:AddUnits}
+%
+% Most of the SI unit symbols are characters from the Latin
+% alphabet, except for the few listed in table \ref{tab:symbs} and
+% which are provided by the \pkg{SIstyle} package. Note
+% that the commands are only provided if the user do not
+% define the command in the preamble.
+%
+% If the user redefines or supplies his own commands for
+% units, than all the symbols must be available in math mode. For
+% symbols that are only available in text mode, e.g., from the
+% \pkg{textcomp} package, the symbol must be placed inside a
+% \cmd{\mbox} command. The best way to define a new unit command
+% is with the aid if the \pkg{SIstyle} internal command
+% \cmd{\ensureupmath}.
+%
+% \subsubsection*{\mdseries\itshape Symbols available in math mode:}
+% \newcommand*{\mps}{\ensureupmath{m/s}}
+% \begin{Item}{Example}
+% |\newcommand*{\mps}{\ensureupmath{m/s}}|
+%
+% which can be used in text and math mode
+% \begin{Itabb}
+% |$v/(\mps)=\num{10}$| \=\kill
+% |\SI{10}{\mps}| \>\RAt \SI{10.2}{\mps}\\
+% |The unit \mps\ ...| \>\RAt The unit \mps\ ...\\
+% |$v/(\mps)=\num{10}$| \>\RAt $v/(\mps)=\num{10}$
+% \end{Itabb}
+% \end{Item}
+%
+% \subsubsection*{\mdseries\itshape Symbols only available in text mode (\pkg{textcomp})}
+% \renewcommand*{\micro}{\ensureupmath{\mbox{\textmu}}}
+% \newcommand*{\microsec}{\ensureupmath{\micro s}}
+% \begin{Item}{Example}
+% |\renewcommand*{\micro}{\ensureupmath{\mbox{\textmu}}}|\\
+% |\newcommand*{\microsec}{\ensureupmath{\micro s}}|
+%
+% which can be used in text and math mode
+% \begin{Itabb}
+% |The prefix \micro\ ...| \=\kill
+% |\SI{5}{\micro s}| \>\RAt \SI{5}{\micro s}\\
+% |The prefix \micro\ ...| \>\RAt The prefix \micro\ ...\\
+% |$t/\microsec =\num{5}$| \>\RAt $t/\microsec =\num{5}$
+% \end{Itabb}
+% \end{Item}
+%
+% \begin{table}[h]
+% \centering
+% \caption{Additional SI symbols}
+% \label{tab:symbs}
+% \smallskip
+% \begin{tabular}{@{}lcc@{}}
+% \hline\noalign{\vskip3pt}
+% Command && Symbol \\
+% \cline{1-1} \cline{3-3}
+% \noalign{\vskip3pt}
+% \cmd{\angstrom}\hspace{1cm} && \angstrom \\
+% \cmd{\micro}$^a$ && $\mu$ \\
+% \cmd{\ohm} && $\Omega$ \\[1ex]
+% \cmd{\degC} && \ensureupmath{{}^{\circ}\kern-\scriptspace C}\\
+% \cmd{\degF}\,$^b$ && \ensureupmath{{}^{\circ}\kern-\scriptspace F} \\[1ex]
+% \cmd{\arcdeg} && ${}^{\circ}$ \\
+% \cmd{\arcmin} && \arcmin \\
+% \cmd{\arcsec} && \arcsec \\
+% \hline
+% \noalign{\vskip3pt}
+% \multicolumn{3}{@{}p{9cm}@{}}{\footnotesize\textsc{Note:}
+% Contrary to the common practice in many countries,
+% is the correct SI symbol for litre a capital L
+% or lowercase l, and \emph{not} the
+% script l, $\ell$ (\cmd{\ell}).}\\[2ex]
+% \multicolumn{3}{p{9cm-\tabcolsep}@{}}{\footnotesize\makebox[0pt][r]{$^{a}\,$}^^A
+% Some fonts have an upright Greek \textmu\ character available
+% in the TS1 encoding (\pkg{textcomp} package).
+% Fonts such as Lucida and Adobe Symbol also supply upright
+% Greek math characters. See also the \pkg{upgreek} and
+% \pkg{gensymb} packages.}\\[2ex]
+% \multicolumn{3}{p{9cm-\tabcolsep}@{}}{\footnotesize\makebox[0pt][r]{$^{b}\,$}^^A
+% Not a standard SI symbol.}\\
+% \end{tabular}
+% \end{table}
+%
+%
+%
+% \section{Configuring The Output}
+% \subsection{Configuring commands}
+%
+% The output of the \cmd{\SI} command can be formatted by the user
+% by setting the following commands:
+%
+% \begin{cmddef}[ll]
+% \cmd{\SIunitsep}\marg{spacing cmd} & |[|default: |{\,} ]|\\
+% \cmd{\SIunitspace}\marg{spacing cmd} & |[|default: |{\,} ]|\\
+% \cmd{\SIunitdot}\marg{cmd} & |[|default: |{\cdot} ]|
+% \end{cmddef}
+%
+% \vspace{-\topsep}
+% \begin{itemize}
+% \item The spacing between the number and the unit is set with
+% \cmd{\SIunitsep}.
+%
+% \item Inside the \cmd{\SI}\ command the point, ``.'', is make
+% active and redefined to \cmd{\SIunitdot}.
+%
+% \item The hard space, ``\tlde'', is redefined to
+% \cmd{\SIunitspace}.
+% \end{itemize}
+%
+%
+%
+% \noindent The user can change the number format with the following
+% commands:
+%
+% \begin{cmddef}[ll]
+% \cmd{\SIdecimalsign}\marg{cmd} & |[|default: |{.} ]|\\
+% \cmd{\SIthousandsep}\marg{spacing cmd} & |[|default: |{\,} ]|\\
+% \cmd{\SIproductsign}\marg{cmd} & |[|default: |{\times}]|
+% \end{cmddef}
+%
+%
+% \noindent The default fonts to be selected by the \pkg{SIstyle}
+% package can be changed. The following commands are provided:
+%
+% \begin{cmddef}[ll]
+% \cmd{\SImathrm}\marg{math font command} & |[|default: |{\mathrm} ]|\\
+% \cmd{\SImathsf}\marg{math font command} & |[|default: |{\mathsf} ]|\\
+% \cmd{\SImathtt}\marg{math font command} & |[|default: |{\mathtt} ]|
+% \end{cmddef}
+%
+% \vspace{-\topsep}
+% \begin{itemize}
+% \item\cmd{\SImathrm}: Sets the default math serif font.
+% \item\cmd{\SImathsf}: Sets the default math sanserif font.
+% \item\cmd{\SImathtt}: Sets the default math typewriter font.
+% \end{itemize}
+% \vspace{-\topsep}
+%
+% \begin{cmddef}[ll]
+% \cmd{\SIdefaultMfam}\marg{math font command} & |[|default: |{\mathrm} ]|\\
+% \cmd{\SIdefaultNfam}\marg{math font command} & |[|default: |{\mathrm} ]|\\
+% \cmd{\SIdefaultTfam}\marg{text font family} & |[|default: |{\rmfamily}]|
+% \end{cmddef}
+%
+% \vspace{-\topsep}
+% \begin{itemize}
+% \item\cmd{\SIdefaultMfam}: Sets the default math font of the units.
+% \item\cmd{\SIdefaultNfam}: Sets the default math font of the numbers.
+% \item\cmd{\SIdefaultTfam}: Sets the default text font when text
+% components are included with the units (e.g., from the
+% \pkg{textcomp} package)
+% \end{itemize}
+%
+% \begin{Item}{Note}
+% An interesting side-effect can be obtained when you are using
+% Computer Modern fonts by setting the \cmd{\SIdefaultNfam} to
+% \cmd{\mathnormal}. The result is that all the numbers are then in
+% lowercase: \xnum{0123456789} as oppose to 0123456789.
+% This document was formatted with this setting.
+% \end{Item}
+%
+%
+% \subsection{Examples formats}\label{sec:ExmplFmt}
+%
+% \paragraph{USA:}
+%
+% NIST Special Publication 811 -- \textit{Guide for the Use of the
+% International System of Units (SI)}
+%
+% \begin{Ipara}
+% |\SIdecimalsign{.} |\\
+% |\SIthousandsep{\,} |\\
+% |\SIproductsign{\times}|\\
+% |\SIunitsep{\,} |\\
+% |\SIunitspace{\cdot} |\quad(give \tlde\ and |.| the same output) \\
+% |\SIunitdot{\cdot} |
+% \end{Ipara}
+% {^^A------------------
+% \SIdefaultNfam{\mathrm}
+% \SIdecimalsign{.}
+% \SIthousandsep{\,}
+% \SIproductsign{\times}
+% \SIunitsep{\,}
+% \SIunitspace{\cdot}
+% \SIunitdot{\cdot}
+%^^A
+% \noindent This will format a number and unit:
+% \begin{Ipara}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\SI{-1.23456e^3}{N.m}| & \SI{-1.23456e^3}{N.m}
+% \end{tabular}
+% \end{Ipara}
+% \noindent To obtain tighter numbers, put the multiplication and
+% half high dot signs inside braces
+% \begin{Ipara}
+% |\SIproductsign{{\times}}|\\
+% |\SIunitspace{{\cdot}} |\\
+% |\SIunitdot{{\cdot}} |
+% \end{Ipara}
+% \SIproductsign{{\times}}
+% \SIunitspace{{\cdot}}
+% \SIunitdot{{\cdot}}
+%^^A
+% \noindent This will then format the number and unit:
+% \begin{Ipara}
+% \begin{tabular}[t]{@{}l@{\RAt}l@{}}
+% |\SI{-1.23456e^3}{N.m}| & \SI{-1.23456e^3}{N.m}
+% \end{tabular}
+% \end{Ipara}
+% }^^A------------------
+%
+%
+%
+% \section{Locales}
+%
+% The \pkg{SIstyle} package provides a number of style setup commands
+% for the formatting conventions in different countries
+% (or your own pivate setting).
+%
+% \begin{cmddef}
+% \cmd{\AddToSIstyle\ }\marg{locale}\\
+% \cmd{\AddToSIstyle*}\marg{locale}\\[1ex]
+% \cmd{\SIstyle}\marg{locale}\\[1ex]
+% \cmd{\SIstyleToLang}\marg{language}\marg{locale}
+% \end{cmddef}
+%
+% \noindent The \cmd{\AddToSIstyle} appends formatting commands to a
+% locale. The starred form clears the list before appending. As an
+% example for the USA (see \S\ref{sec:ExmplFmt})
+%
+% \begin{Ipara}
+% |\AddToSIstyle{USA}{% |\\
+% | \SIdecimalsign{.}% |\\
+% | \SIthousandsep{\,}% |\\
+% | \SIunitsep{\,}% |\\
+% | \SIunitdot{\cdot}% |\\
+% | \SIunitspace{\;}% |\\
+% | \SIproductsign{\times}%|\\
+% | \SIobeyboldfalse |\\
+% | \SIgroupfourtrue} |
+% \end{Ipara}
+%
+% \noindent See table \ref{tab:locales} for a list of predefined
+% settings.\footnote{Any contribution shall be appreciated.}
+% A predefined setting can then be activated with the \cmd{\SIstyle}
+% command, for example:
+%
+% \begin{Ipara}
+% |\SIstyle{USA}|
+% \end{Ipara}
+%
+% \noindent Locales can also be linked to the language setup
+% commands of \pkg{babel} with the \cmd{\SIstyleToLang} command,
+% for example:
+%
+% \begin{Ipara}
+% |\SIstyleToLang{english}{USA}|
+% \end{Ipara}
+%
+% \noindent The settings of |USA| will then be activated every
+% time \pkg{babel} makes |english| the active languge. This
+% command is provided because a number formatting are not linked
+% to languages (nearly every English speaking country has a
+% different number format).
+%
+% \begin{table}[h]
+% \centering
+% \caption{Predefined styles}
+% \label{tab:locales}
+% \small
+% \smallskip
+% \begin{tabular}{@{}llclcl@{}}
+% \hline
+% \noalign{\vskip3pt}
+% \multicolumn{2}{@{}l}{\bfseries Style} &&
+% \multicolumn{1}{c}{\bfseries Locale} &&
+% \multicolumn{1}{c}{\bfseries Example} \\
+% \cline{1-2} \cline{4-4} \cline{6-6}
+% \noalign{\vskip3pt}
+% Germany & && |German| && \SIstyle{German}\SI{-1.23456e^3}{N.m}\\
+% South Africa& (SABS M 33a:1992) && |S-Africa| && \SIstyle{S-Africa}\SI{-1.23456e^3}{N.m}\\
+% USA & (NIST SP811) && |USA| && \SIstyle{USA}\SI{-1.23456e^3}{N.m}\\
+% \hline
+% \noalign{\vskip3pt}
+% \end{tabular}
+% \end{table}
+%
+%^^A Einheiten und Formelzeichen
+%^^A
+%^^A DIN 1301-1 (12/93) Einheiten, Einheitennamen, Einheitenzeichen
+%^^A DIN 1302 (12/99) Allgemeine mathematische Zeichen und Begriffe
+%^^A DIN 1304-1 (03/94) Formelzeichen; Allgemeine Formelzeichen
+%^^A DIN 1313 (12/98) Physikalische Größen und Gleichungen
+%^^A DIN 1338 (08/96) Formelschreibweise und Formelsatz
+%
+%^^A=================================================================
+% \changes{v2.0}{2004/07/09}{Documentation of interface with other packages}
+% \section{Other packages}
+% \subsection{\pkg{textcomp}}
+%
+% The \pkg{SIstyle} package defines a number of unit
+% symbols that are not available as standard characters.
+% If the \pkg{textcomp} package is loaded, the symbols in the
+% righthand column of table~\ref{tab:textcomp} automatically used.
+%
+% \begin{table}[h]
+% \centering
+% \caption{SI symbols defined by \pkg{textcomp} package}
+% \label{tab:textcomp}
+% \smallskip
+% \begin{tabular}{@{}lcccc}
+% \hline\noalign{\vskip3pt}
+% Command && Symbol &&\pkg{textcomp}\\
+% \cline{1-1} \cline{3-3} \cline{5-5}
+% \noalign{\vskip3pt}
+% \cmd{\angstrom}\hspace{1cm} && \angstrom && \capitalring{A} \\
+% \cmd{\micro} && $\mu$ && \textmu \\
+% \cmd{\ohm} && $\Omega$ && \textohm \\[1ex]
+% \cmd{\degC} && \ensureupmath{{}^{\circ}\kern-\scriptspace C}
+% && \textcelsius \\
+% \cmd{\degF} && \ensureupmath{{}^{\circ}\kern-\scriptspace F}
+% && \textdegree F \\[1ex]
+% \cmd{\arcdeg} && ${}^{\circ}$ && \textdegree \\
+% \hline
+% \noalign{\vskip3pt}
+% \end{tabular}
+% \end{table}
+%
+%
+% \subsection{\pkg{SIunits}}
+%
+% The \pkg{SIunits} package provides commands for all the SI units and
+% prefixes. It can be used together with \pkg{SIstyle}, but care must be
+% taken to ensure that both the packages have identical configurations.
+%
+% \begin{Item}{Example}
+% \begin{Itabb}
+% |\usepackage{textcomp}|\\
+% |\usepackage[cdot,textstyle]{SIunits}|\\
+% | \let\ohm\relax|\\
+% |\usepackage{sistyle}|\\
+% | \SIunitspace{\cdot}|\\
+% | \SIunitdot{\cdot}|
+% \end{Itabb}
+% Inside the document \pkg{SIunits} can then be used as
+% \begin{Itabb}
+% |\SI{30}{\watt\per\square\metre\usk\kelvin}| ~~$\rightarrow$~~ \SI{30}{W/m^2.K}
+% \end{Itabb}
+% As the author of \pkg{SIunits}, I prefere to write
+% \begin{Itabb}
+% |\SI{30}{W/m^2.K}| ~~$\rightarrow$~~ \SI{30}{W/m^2.K}
+% \end{Itabb}
+% \end{Item}
+%
+% \subsection{\pkg{mathcomp}}
+%
+% The \pkg{mathcomp} package provided the \pkg{textcomp} symbols in
+% math mode. Unfortunately it is only available in the \cmd{\mathrm}
+% math alphabet and is therefore of little use to \pkg{SIstyle}.
+%
+% \subsection{\pkg{upgreek}}
+%
+% The \pkg{upgreek} package can be used to redefine the \cmd{\micro}
+% and \cmd{\ohm} commands.
+%
+% \begin{Item}{Example}
+% \begin{Itabb}
+% |\usepackage{sistyle}|\\
+% |\usepackage[Euler]{upgreek}|\\
+% | \newcommand*{\micro}{\ensureupmath{\upmu}}|\\
+% | \newcommand*{\ohm}{\ensureupmath{\upOmega}}|
+% \end{Itabb}
+% \end{Item}
+%
+% \subsection{\pkg{gensymb}}
+%
+% The \pkg{gensymb} package provides generic commands \cmd{\degree},
+% \cmd{\celsius}, \cmd{\perthousand}, \cmd{\micro} and \cmd{\ohm}
+% which work both in text and math mode. Note that \pkg{SIstyle} typeset
+% all its symbols in math mode which will cause \pkg{gensymb} to provide
+% only math symbols. The result is that only the \cmd{\mathrm} versions
+% of the symbols are then output in a document, thereby ignoring the
+% font changing mechanism of \pkg{SIstyle}.
+%
+%
+%
+% \subsection{\pkg{arev}}
+%
+% The \pkg{arev} sanserif font has a slanted math sanserif font. To get an upright
+% math font the \cmd{\mathrm} font must be used in place of \cmd{\mathsf}. The
+% package \pkg{textcomp} is included inside \pkg{arev}, but it do not give the
+% proper symbol for \pkg{arev}. We can use the \cmd{\textmu} symbol from the
+% BeraSans typewriter font loaded internaly by \pkg{arev}
+%
+% \begin{Item}{Example}
+% \begin{Itabb}
+% |\usepackage{arev}|\\
+% |\usepackage{sistyle}|\\
+% | \SImathsf{\mathrm}|\\
+% | \SIdefaultTfam{\sffamily}|\\
+% | \newcommand*{\micro}{\ensureupmath{\text{\ttfamily\textmu}}}|\\
+% | \newcommand*{\ohm}{\ensureupmath{\Omega}}|\\
+% | \newcommand*{\degC}{\ensureupmath{{}^{\circ}\kern-\scriptspace C}}|\\
+% | \newcommand*{\degF}{\ensureupmath{{}^{\circ}\kern-\scriptspace F}}|
+% \end{Itabb}
+% \end{Item}
+%
+%
+%
+%^^A=================================================================
+% \clearpage
+% \part{Typesetting SI Units}\label{prt:SI}
+%
+% \section{SI Units}\label{sec:1}
+% \subsection{Typeface}
+%
+% Unit symbols are printed in normal roman (upright)
+% type regardless of the type used in the surrounding text.
+%
+% \begin{Item}{Example}
+% {\bfseries\itshape A torque of\/ \SI{10}{N.m} was applied.}
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |{\bfseries\itshape A torque of\/ \SI{10}{N.m} was applied.}|
+% \end{Item}
+%
+%
+%
+% \subsection{Unit symbols obtained by multiplication}
+%
+% Symbols for units formed from other units by multiplication are
+% indicated by means of either a half-high (that is, centered) dot
+% or a space. However, the half-high dot is preferred, because it is
+% less likely to lead to confusion.
+%
+% \begin{Item}{Example}
+% \SI{}{N~m} or \SI{}{N.m}
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |\SI{}{N~m} or \SI{}{N.m}|
+% \end{Item}
+%
+% \begin{Item}{Notes}
+% \end{Item}
+% \begin{enumerate}
+% \item A half-high dot or space is usually imperative. For example,
+% \SI{}{m.s^{-1}} is the symbol for the metre per second while
+% \SI{}{ms^{-1}} is the symbol for the reciprocal millisecond
+% (\SI{1e3}{s^{-1}}).
+%
+% \item The ISO 31-0 specification suggests that if a space is used
+% to indicate units formed by multiplication, the space may be
+% omitted if it does not cause confusion. This possibility is
+% reflected in the common practice of using the symbol
+% \SI{}{kWh} rather than \SI{}{kW.h} or \SI{}{kW~h} for the kilowatt
+% hour. Nevertheless, is the position taken that a
+% half-high dot or a space should always be used to avoid
+% possible confusion; and that for this same reason, only one
+% of these two allowed forms should be used in any given
+% manuscript.
+% \end{enumerate}
+%
+%
+%
+% \subsection{Unit symbols obtained by division}
+%
+% Symbols for units formed from other units by division are
+% indicated by means of a solidus (oblique stroke, \texttt{/} ), a
+% horizontal line, or negative exponents.
+%^^A
+% \begin{Item}{Example}
+% \SI{}{m/s},~ \SI{}{\dfrac{m}{s}},~ or~ \SI{}{m.s^{-1}}
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |\SI{}{m/s}, \SI{}{\dfrac{m}{s}}, or \SI{}{m.s^{-1}}|
+% \end{Item}
+%^^A
+% \noindent However, to avoid ambiguity, the solidus must not be
+% repeated on the same line unless parentheses are used.
+%^^A
+% \begin{Item}{Examples}
+% \begin{tabular}[t]{@{}lll@{}}
+%^^A \SI{}{m.kg/(s^3.A)}~ or~ \SI{}{m.kg.s^{-3}.A^{-1}}~~~\=\kill
+% \SI{}{m/s^2}~ or~ \SI{}{m.s^{-2}}~
+% & \myemph{but not:}
+% & \SI{}{m/s/s} \\
+% \SI{}{m.kg/(s^3.A)}~ or~ \SI{}{m.kg.s^{-3}.A^{-1}}
+% & \myemph{but not:}
+% & \SI{}{m.kg/s^3/A}
+% \end{tabular}
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |\SI{}{m.kg/(s^3.A)} or \SI{}{m.kg.s^{-3}.A^{-1}}|
+% \end{Item}
+%^^A
+% \noindent Negative exponents should be used in complicated cases.
+%
+%
+%
+%
+% \section{Rules for Expressing Values of Quantities}
+% \subsection{Value and numerical value of a quantity}
+% \label{sec:numval}
+%
+% The \myemph{value} of a quantity is its magnitude expressed as the
+% product of a number and a unit, and the number multiplying the
+% unit is the \myemph{numerical} value of the quantity expressed in
+% that unit.
+%
+% More formally, the value of quantity $A$ can be written as $A
+% {=}\{A\}[A ]$, where $\{A\}$ is the numerical value of $A$ when the
+% value of $A$ is expressed in the unit $[A]$. The numerical value
+% can therefore be written as $\{A\}{=}A/[A]$, which is a convenient
+% form for use in figures and tables. Thus, to eliminate the
+% possibility of misunderstanding, an axis of a graph or the heading
+% of a column of a table can be labeled ``$t/\SI{}{\degC}\,$''
+% instead of ``$t\,(\SI{}{\degC})$'' or ``Temperature
+% $(\SI{}{\degC})$.''
+%
+% \begin{figure}[!b]
+% \sbox{\tboxa}{\includegraphics{figs/fig1}}^^A
+% \sbox{\tboxb}{\includegraphics{figs/fig2}}^^A
+% \setlength{\tdima}{\wd\tboxa}^^A
+% \addtolength{\tdima}{\wd\tboxb}^^A
+% \addtolength{\tdima}{1em}^^A
+% \centering^^A
+% \makebox[0pt][c]{
+% \begin{minipage}[t]{\tdima}
+% \begin{minipage}[t]{\wd\tboxa}
+% \usebox{\tboxa}
+% \caption{Units included with the scale of the graph. This
+% form is usually difficult to obtain with most
+% graphing software.}
+% \label{fig:1}
+% \end{minipage}
+% \hfill
+% \begin{minipage}[t]{\wd\tboxb}
+% \usebox{\tboxb}
+% \caption{The graph labels includes the units and the scales
+% are dimensionless. Notice that there is no
+% ambiguity with this form of labeling, because
+% everything makes mathematical sense.}
+% \label{fig:2}
+% \end{minipage}
+% \end{minipage}}
+% \end{figure}
+%
+%
+% \begin{Item}{Example}
+% \end{Item}
+% \begin{enumerate}
+% \item In the SI, the value of the velocity of light in vacuum is
+% $c = \SI{299792458}{m/s}$ exactly. The number
+% \num{299792458} is the numerical value of $c$ when $c$ is
+% expressed in the unit \SI{}{m/s}, and equals $c/(\SI{}{m/s})$.
+%
+% \begin{Item}{Listing}\small
+% |$c = \SI{299792458}{m/s}$|\\
+% |$c/(\SI{}{m/s})$|
+% \end{Item}
+%
+% \item The ordinate of a graph is labeled $t/\SI{}{\micro s}$,
+% where $t$ is the symbol for time and \SI{}{s} is the unit
+% symbol for second, and has scale marks at \num{0}, \num{4},
+% \num{8}, and \num{12}. If the ordinate
+% value of a point on a curve in the graph is estimated to
+% be \num{3.2}, the corresponding time is ~
+% $t/\SI{}{\micro s}=\num{3.2}$ ~ or ~ $t =\SI{3.2}{\micro s}
+% = \SI{3.6e-6}{s}$. Notice
+% the lack of ambiguity in this form of labelling compared
+% with ``Time $(\SI{}{\micro s})$.'' See figures
+% \ref{fig:1} and \ref{fig:2} for examples.
+%
+% \item An expression such as $\ln(p/\SI{}{MPa})$, where $p$ is the
+% quantity symbol for pressure and \SI{}{MPa} is the unit symbol
+% for megapascal, is perfectly acceptable because $p/\SI{}{MPa}$
+% is the numerical value of $p$ when $p$ is expressed in the
+% unit \SI{}{MPa} and is simply a number.
+% \begin{Item}{Listing}\small
+% |$\ln(p/\SI{}{MPa})$|
+% \end{Item}
+% \end{enumerate}
+%
+%
+%
+% \begin{Item}{Notes}
+% \end{Item}
+% \begin{enumerate}
+% \item For the conventions concerning the grouping of digits, see
+% section~\S\ref{sec:digits}.
+%
+% \item An alternative way of writing $c/(\SI{}{m/s})$ is
+% $\{c\}_{\SI{}{m/s}}$, meaning the numerical value of $c$ when
+% $c$ is expressed in the unit \SI{}{m/s}.
+%
+% \begin{Item}{Listing}\small
+% |$\{c\}_{\SI{}{m/s}}$|
+% \end{Item}
+% \end{enumerate}
+%
+%
+% \subsection{Space between numerical value and unit symbol}
+%
+% In the expression for the value of a quantity, the unit symbol is
+% placed after the numerical value and a \myemph{space} is left
+% between the numerical value and the unit symbol. Note that this
+% rule includes the persentage sign \%.
+%
+% The only exceptions to this rule are for the unit symbols for
+% degree, minute, and second for plane angles: \arcdeg, \arcmin, and
+% \arcsec, respectively, in which case no space is left between the
+% numerical value and the unit symbol.
+%
+% \begin{Item}{Examples}
+% $x = \SI{10}{mm}$\\
+% $q = \SI{25}{\%}$\\
+% $\theta = \ang{30;22;8}$
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |$x = \SI{10}{mm}$|\\
+% |$q = \SI{25}{\%}$|\\
+% |$\theta = \ang{30;22;8}$|
+% \end{Item}
+%
+% \noindent This rule means that:
+%
+% \begin{enumerate}
+% \item The symbol \degC\ for the degree Celsius is preceded by a
+% space when one expresses the values of Celsius temperatures.
+%
+% \begin{Item}{Example}
+% $t = \SI{30.2}{\degC}$~~
+% \myemph{but not:}~~
+% $t = \num{30.2}\degC$ ~~or~~
+% $t = \num{30.28}\mathrm{{}^{\circ}~C}$
+% \end{Item}
+% \begin{Item}{Listing}\small
+% |$t = \SI{30.2}{\degC}$|
+% \end{Item}
+%
+% \item Even when the value of a quantity is used in an adjectival
+% sense, a space is left between the numerical value and the
+% unit symbol. (This rule recognizes that unit symbols are not
+% like ordinary words or abbreviations but are mathematical
+% entities, and that the value of a quantity should be
+% expressed in a way that is as independent of language as
+% possible.)
+%
+% \begin{Item}{Examples}
+% a \SI{1}{m} end gauge
+% \myemph{but not:}
+% a \num{1}-\SI{}{m} end gauge
+%
+% a \SI{10}{kV} resistor
+% \myemph{but not:}
+% a \num{10}-\SI{}{kV} resistor
+% \end{Item}
+%
+% However, if there is any ambiguity, the words should be
+% rearranged accordingly. For example, the statement ``the
+% samples were placed in \SI{22}{mL} vials'' should be
+% replaced with the statement ``the samples were placed in
+% vials of volume \SI{22}{mL}.''
+%
+% \begin{Item}{Note}
+% When unit names are spelled out, the normal rules of
+% English apply. Thus, for example, ``a roll of
+% \num{35}-millimetre film'' is acceptable.
+% \end{Item}
+% \end{enumerate}
+%
+% \subsection{Clarity in writing values of quantities}
+%
+% The value of a quantity is expressed as the product of a number
+% and a unit (see section~\S\ref{sec:numval}). Thus, to avoid
+% possible confusion, this \myemph{Guide} takes the position that
+% values of quantities must be written so that it is completely
+% clear to which unit symbols the numerical values of the quantities
+% belong. Also to avoid possible confusion, this \myemph{Guide}
+% strongly recommends that the word ``to'' be used to indicate a
+% range of values for a quantity instead of a range dash (that is, a
+% long hyphen) because the dash could be misinterpreted as a minus
+% sign. (The first of these recommendations once again recognizes
+% that unit symbols are not like ordinary words or abbreviations but
+% are mathematical entities --- see section~\S\ref{sec:numval}.)
+%
+% \begin{Item}{Examples}
+% \end{Item}
+% \begin{tabbing}
+% \hskip1pc\=\hskip15pc\=\kill \>
+% $\SI{51}{mm}\times\SI{51}{mm}\times\SI{25}{mm}$ \>
+% \myemph{but not:} ~
+% $\num{51}\times\num{51}\times\SI{25}{mm}$ \\[1ex]
+%
+% \> \SI{225}{nm} to \SI{2400}{nm} or
+% $(\num{225}\text{ to }\num{2400})\,\SI{}{nm}$ \>
+% \myemph{but not:} ~
+% \num{225} to \SI{2400}{nm}\\[1ex]
+%
+% \> \SI{0}{\degC} to \SI{100}{\degC} or
+% $(\num{0}\text{ to }\num{100})\,\degC$ \>
+% \myemph{but not:} ~
+% $\SI{0}{\degC} - \SI{100}{\degC}$\\[1ex]
+%
+% \> \SI{0}{V} to \SI{5}{V} or (\num{0} to \num{5})\,V \>
+% \myemph{but not:} ~
+% $\num{0} - \SI{5}{V}$ \\[1ex]
+%
+% \> (\num{8.2}, \num{9.0}, \num{9.5}, \num{9.8},
+% \num{10.0})\,\SI{}{GHz} \>
+% \myemph{but not:} ~
+% \num{8.2}, \num{9.0}, \num{9.5}, \num{9.8}, \SI{10.0}{GHz}\\[1ex]
+%
+% \> $\SI{63.2}{m} \pm \SI{0.1}{m}$ or $(\num{63.2} \pm
+% \num{0.1})\,\SI{}{m}$ \>
+% \myemph{but not:} ~
+% $\num{63.2} \pm \SI{0.1}{m}$ or $\SI{63.2}{m} \pm \num{0.1}$ \\[1ex]
+%
+% \> $\SI{129}{s} - \SI{3}{s} = \SI{126}{s}$ or
+% $(\num{129}-\num{3})\,\SI{}{s} = \SI{126}{s}$ \>
+% \myemph{but not:} ~
+% $\num{129} - \SI{3}{s} = \SI{126}{s}$
+%
+% \end{tabbing}
+%
+% \begin{Item}{Note}
+% For the conventions concerning the use of the multiplication sign,
+% see section~\S\ref{sec:mult}.
+% \end{Item}
+%
+%^^A==========================================================
+%
+% \section{Printing Numbers}
+%
+% \subsection{Typeface for numbers}
+%
+% Arabic numerals expressing the numerical values of quantities are
+% generally printed in lightface (that is, regular) roman type
+% irrespective of the type used for the surrounding text. Arabic
+% numerals other than numerical values of quantities may be printed
+% in lightface or bold italics, or in bold roman type, but lightface
+% roman type is usually preferred.
+%
+% \subsection{Decimal sign or marker}
+%
+% The sign or marker being used depends very much on the practices
+% of a country (and/or language), e.g., in the United States is the
+% dot on the line, while in Germany it is the comma.
+%
+% For numbers less than one, a zero is written before the decimal
+% marker. For example, \SI{0.25}{s} is the correct form, not
+% \xnum{.25}\,s.
+%
+% \subsection{Grouping digits}\label{sec:digits}
+%
+% Because the comma is widely used as the decimal marker, it should
+% not be used to separate digits into groups of three (there are
+% exceptions for certain countries). Instead, digits should be
+% separated into groups of three, counting from the decimal marker
+% towards the left and right, by the use of a thin, fixed space.
+% However, this practice is not usually followed for numbers having
+% only four digits on either side of the decimal marker except when
+% uniformity in a table is desired.
+% \begin{Item}{Examples}
+% \begin{tabbing}
+% \xnum{8012.5947} or \xnum{8\;012.594\;7}~\= \myemph{is highly preferred to:}~~\=\kill
+% \num{76483522} \> \myemph{but not:} \>\xnum{76{,}483{,}522}\\
+% \num{43279.16829} \> \myemph{but not:} \>\xnum{43{,}279.168\;29}\\
+% \xnum{8012} or \xnum{8\;012} \> \myemph{but not:} \>\xnum{8{,}012}\\
+% \num{0.4917223} \> \myemph{is highly preferred to:} \>\xnum{0.4917223}\\
+% \xnum{0.5947} or \xnum{0.594\;7} \> \myemph{but not:} \>\xnum{0.59\;47}\\
+% \xnum{8012.5947} or \xnum{8\;012.594\;7}\> \myemph{but not:} \>\xnum{8\;012.5947} or \xnum{8012.594\;7}
+% \end{tabbing}
+% \end{Item}
+%
+% \begin{Item}{Note}
+% The practice of using a space to group digits is not usually
+% followed in certain specialized applications, such as engineering
+% drawings and financial statements.
+% \end{Item}
+%
+%
+% \subsection{Multiplying numbers}\label{sec:mult}
+%
+% When the dot is used as the decimal marker (USA convention), the
+% preferred sign for the multiplication of numbers or values of
+% quantities is a cross (that is, multiplication sign) ($\times$),
+% not a half-high (that is, centered) dot ($\cdot$).
+%
+% \begin{Item}{Examples}
+% \begin{tabular}[t]{@{}lll@{}}
+% $\num{25}\times\num{60.5}$ &\myemph{but not:}& $\num{25}\cdot\num{60.5}$\\
+% $\SI{53}{m/s}\times\SI{10.2}{s}$ &\myemph{but not:}& $\SI{53}{m/s}\cdot\SI{10.2}{s}$\\
+% $\num{15}\times\SI{72}{kg}$ &\myemph{but not:}& $\num{15}\cdot\SI{72}{kg}$\\
+% \end{tabular}
+% \end{Item}
+%
+%
+% \begin{Item}{Notes}
+% \end{Item}
+% \begin{enumerate}
+% \item When the comma is used as the decimal marker, the preferred
+% sign for the multiplication of numbers is the half-high dot
+% (German convention).
+% \begin{Ipara}[\normalsize]
+% \xnum{3{,}645\;98 \cdot 10^2} ~ or ~
+% \xnum{2{,}58 \cdot 31{,}2}
+% \end{Ipara}
+% The comma is also used together with the cross for the
+% multiplication of values of quantities (South African Convention).
+% \begin{Ipara}[\normalsize]
+% \xnum{3{,}645\;98 {\times} 10^2} ~ or ~
+% \xnum{2{,}58 \times 31{,}2}
+% \end{Ipara}
+%
+% \item The multiplication of quantity symbols (or numbers in
+% parentheses or values of quantities in parentheses) may be
+% indicated in one of the following ways: $ab$, $a\;b$, $a\cdot b$,
+% $a\times b$.
+% \end{enumerate}
+%
+%
+%^^A=================================================================
+% \StopEventually{\PrintChanges\PrintIndex}
+% \clearpage
+% \part{Implementation: \pkg{SIstyle}}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \section{Utilities}
+%
+% We need the \cmd{\text} command from the \AmS\ package
+% \pkg{amstext} for the typesetting of text in math mode.
+% \begin{macrocode}
+\RequirePackage{amstext}
+% \end{macrocode}
+%
+% \subsection{Test for $\varepsilon$-\TeX}
+% \begin{macrocode}
+\newif\ifSI@eTeX
+\SI@eTeXfalse
+\ifx\eTeXversion\@undefined
+\else
+ \ifx\eTeXversion\relax
+ \else
+ \ifnum\eTeXversion>\z@
+ \SI@eTeXtrue
+ \fi
+ \fi
+\fi
+% \end{macrocode}
+%
+% \subsection{Test for empty argument}
+%
+% \begin{macro}{\SI@ifempt}
+% Test for a empty argument (Wilson, Arseneau in
+% \pkg{ifmtarg.sty}).\\
+% Usage: \cmd{\SI@ifempt}\marg{arg}\marg{true}\marg{false}
+%
+% \begin{macrocode}
+\begingroup
+ \catcode`\Q=3
+ \long\gdef\SI@ifempt#1{\SI@xifempt#1QQ\@secondoftwo\@firstoftwo\@nil}
+ \long\gdef\SI@xifempt#1#2Q#3#4#5\@nil{#4}
+\endgroup
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Font test commands}
+%
+% \begin{macro}{\GetMathFontFams}
+% There exists no hook to test for the current active
+% math font. Get the different families at the beginning
+% of the document. We only look for \cmd{\mathsf} and
+% \cmd{\mathtt}. The others are set with the default
+% math font (\cmd{\mathrm}).
+% \begin{macrocode}
+ \newcommand{\GetMathFontFams}{%
+ \sbox{0}{$%
+ \@ifundefined{mathsf}
+ {\global\chardef\SI@sffam=99}%
+ {\mathsf{\global\chardef\SI@sffam=\fam}}%
+ \@ifundefined{mathtt}
+ {\global\chardef\SI@ttfam=99}%
+ {\mathtt{\global\chardef\SI@ttfam=\fam}}%
+ $}%
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\AtBeginDocument{\GetMathFontFams}
+% \end{macrocode}
+%
+% \begin{macro}{\IfTbold}
+% Test if bold text (\cmd{\bfseries} or \cmd{\bxseries}) is
+% active.\\
+% Usage: \cmd{\IfTbold}\marg{true}\marg{false}
+% \begin{macrocode}
+\newcommand{\IfTbold}[2]{%
+ \if b\expandafter\@car\f@series\@nil%
+ #1\else #2\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\IfMbold}
+% Test if \cmd{\boldmath} is active.
+% Usage: \cmd{\IfMbold}\marg{true}\marg{false}
+% \begin{macrocode}
+\newcommand{\IfMbold}[2]{%
+ \edef\temp@bm{bold}%
+ \ifx\math@version\temp@bm
+ #1\else #2\fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Font user setup commands}
+%
+% \begin{macro}{\SIobeybold}
+% User flag to obey bold text and math bold setting for
+% SI units and numbers.
+% \begin{macrocode}
+\newif\ifSIobeybold
+\SIobeyboldfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SI@mathrm}
+% \begin{macro}{\SI@mathsf}
+% \begin{macro}{\SI@mathtt}
+% \begin{macro}{\SImathrm}
+% \begin{macro}{\SImathsf}
+% \begin{macro}{\SImathtt}
+% Make user commands to override \cmd{\mathrm}, \cmd{\mathsf}
+% and \cmd{\mathtt},
+% \begin{macrocode}
+\newcommand*{\SI@mathrm}{\mathrm}
+\newcommand*{\SI@mathsf}{\mathsf}
+\newcommand*{\SI@mathtt}{\mathtt}
+\newcommand*{\SImathrm}[1]{\renewcommand*{\SI@mathrm}{#1}}
+\newcommand*{\SImathsf}[1]{\renewcommand*{\SI@mathsf}{#1}}
+\newcommand*{\SImathtt}[1]{\renewcommand*{\SI@mathtt}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\SIdefaultMfam}
+% \begin{macro}{\SI@defaultMfam}
+% The default upright math font for typesetting SI units. This
+% is normally the \cmd{\mathrm} command, but the user may select
+% a different font.
+% \begin{macrocode}
+\newcommand*{\SI@defaultMfam}{\SI@mathrm}
+\newcommand*{\SIdefaultMfam}[1]{\renewcommand*{\SI@defaultMfam}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\SIdefaultNfam}
+% \begin{macro}{\SI@defaultNfam}
+% The default upright math font for typesetting numbers. This
+% is normally the \cmd{\mathrm} command, but the user may select
+% a different font, for example \cmd{\mathnormal} to obtain
+% old-style digits.
+% \begin{macrocode}
+\newcommand*{\SI@defaultNfam}{\SI@mathrm}
+\newcommand*{\SIdefaultNfam}[1]{\renewcommand*{\SI@defaultNfam}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIdefaultTfam}
+% \begin{macro}{\SI@defaultTfam}
+% The default text font for units set inside a \cmd{\mbox},
+% such as symbols from the \pkg{textcomp} package. It sets the
+% font when the surrounding text font is not \cmd{\sffamily} or
+% \cmd{\ttfamily} or if it is set inside display math.
+% \begin{macrocode}
+\newcommand*{\SI@defaultTfam}{\rmfamily}
+\newcommand*{\SIdefaultTfam}[1]{\renewcommand*{\SI@defaultTfam}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIupmath}
+% This command set units and numbers in an upright font.
+% When called inside a normal text paragraph or inside
+% inline math |$...$|, it will follow the surrounding
+% text font: sansserif or typewrite otherwise it will
+% default to the roman font. Inside display math it will
+% follows the active math font.
+%
+% The prerequisite to toggle the \cmd{\boldmath} math version
+% results in setting the argument inside the \AmS\ \cmd{\text}
+% command. It has the added benefit of scaling with the active
+% math style.
+%
+% Usage: \cmd{\SIupmath}\oarg{math font}\marg{argument}
+%
+% \begin{macro}{\ifupmath}
+% Flag to indicate whether we are inside \cmd{\SIupmath}.
+% \begin{macrocode}
+\newif\ifupmath
+\upmathfalse
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*{\SIupmath}[2][\SI@defaultMfam]{%
+\begingroup
+ \upmathtrue
+ \edef\temp@sf{\sfdefault}%
+ \edef\temp@tt{\ttdefault}%
+ \let\SI@bold=\relax
+ \ifmmode
+ \ifdim\displaywidth>0pt\relax%--- DISPLAY MATH ------------
+ \ifnum\the\fam=\SI@sffam
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else \ifnum\the\fam=\SI@ttfam
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfMbold{\def\SI@bold{\bfseries}}%
+ {\def\SI@bold{\mdseries}}%
+ \else%--- INLINE MATH ----------
+ \ifx\f@family\temp@sf
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else\ifx\f@family\temp@tt
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfTbold{\def\SI@bold{\boldmath}}%
+ {\def\SI@bold{\unboldmath}}%
+ \fi
+ \else%----- NORMAL TEXT --------------
+ \ifx\f@family\temp@sf
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else\ifx\f@family\temp@tt
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfTbold{\def\SI@bold{\boldmath}}%
+ {\def\SI@bold{\unboldmath}}%
+ \fi%----- END OF TEST --------------
+ \text{%
+ \ifSIobeybold\SI@bold\else\unboldmath\mdseries\fi
+ \upshape\SI@tfam
+ $\SI@mfam{#2}$}%
+\endgroup
+\check@mathfonts}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ensureupmath}
+% A user command to use the \cmd{\SIupmath} command.
+% \begin{macrocode}
+\DeclareRobustCommand{\ensureupmath}{%
+ \ifupmath
+ \expandafter\@firstofone
+ \else
+ \expandafter\SIupmath
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{Typeset Numbers}
+%
+% \subsection{Setup for typesetting numbers}
+%
+% \begin{macro}{\SIdecimalsign}
+% \begin{macro}{\SI@decsign}
+% User command to set decimal sign.
+% \begin{macrocode}
+\newcommand*{\SI@decsign}{{.}}
+\newcommand*{\SIdecimalsign}[1]{\renewcommand*{\SI@decsign}{{#1}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIthousandsep}
+% \begin{macro}{\SI@thousandsep}
+% User command to set thousands separator.
+% \begin{macrocode}
+\newcommand*{\SI@thousandsep}{{\,}}
+\newcommand*{\SIthousandsep}[1]{\renewcommand*{\SI@thousandsep}{{#1}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIproductsign}
+% \begin{macro}{\SI@prod}
+% User command to set product sign.
+% \begin{macrocode}
+\newcommand*{\SI@prod}{\ensuremath{{}\times{}}}
+\newcommand*{\SIproductsign}[1]{\renewcommand*{\SI@prod}{\ensuremath{{}#1{}}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifSIgroupfour}
+% User flag for the grouping of four digits.
+% \begin{macrocode}
+\newif\ifSIgroupfour
+\SIgroupfourtrue
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Number parser}
+%
+% \begin{macro}{\SI@num}
+% Main command for typesetting numbers. Zap all input spaces and
+% make E's lowercase.
+% \begin{macrocode}
+\def\SI@num#1{%
+ \SI@ifempt{#1}{}{%
+ \edef\SI@tmpa{\lowercase{\noexpand\SI@@num{\zap@space#1 \@empty}}}%
+ \SI@tmpa}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SI@@num}
+% \begin{macro}{\SI@numsplit}
+% Split of the exponential part (Downes, Oberdiek on c.t.t)
+% \begin{macrocode}
+\def\SI@@num#1{\SI@numsplit#1ee\SI@numexp\SI@realp\@empty}
+\def\SI@numsplit#1e#2e#3#4#5{#4{#1}{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SI@p@tst}
+% \begin{macro}{\SI@m@tst}
+% Temporaries to test for $+$ and $-$.
+% \begin{macrocode}
+\def\SI@p@tst{+}
+\def\SI@m@tst{-}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SI@numexp}
+% Type the exponent if the argument contains an ``E'' or ``e''.
+% \begin{macrocode}
+\def\SI@numexp#1#2{%
+ \SI@ifempt{#1}{}{%
+ \def\SI@tmpb{#1}%
+ \ifx\SI@tmpb\SI@p@tst\ensuremath{+}\else
+ \ifx\SI@tmpb\SI@m@tst\ensuremath{-}\else
+ \SI@realp{#1}{}\SI@prod%
+ \fi\fi}%
+ \ifmmode
+ 10^{\SI@realp{#2}{}}%
+ \else
+ 10\textsuperscript{\SI@realp{#2}{}}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\SI@realp}
+% \begin{macro}{\SI@realpsplit}
+% Split of the integer and decimal part (for decimal point).
+% \begin{macrocode}
+\def\SI@realp#1#2{\SI@realpsplit#1..\SI@realfrc\SI@realc\@empty}
+\def\SI@realpsplit#1.#2.#3#4#5{#4{#1}{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SI@realc}
+% \begin{macro}{\SI@realcsplit}
+% Split of the integer and decimal part (for decimal comma).
+% \begin{macrocode}
+\def\SI@realc#1#2{\SI@realcsplit#1,,\SI@realfrc\SI@signedint\@empty}
+\def\SI@realcsplit#1,#2,#3#4#5{#4{#1}{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\SI@realfrc}
+% Type the number if it contains a fraction part. Insert a zero
+% if the integer is empty (no sign either).
+% \begin{macrocode}
+\def\SI@realfrc#1#2{%
+ \SI@ifempt{#1}{\SI@int{0}}%
+ {\SI@signedint{#1}{}}%
+ \SI@decsign\SI@dec{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SI@signedint}
+% Split the plus and minus from the integer.
+% \begin{macrocode}
+\def\SI@signedint#1#2{\SI@@signedint#1 }
+\def\SI@@signedint#1#2 {%
+ \if +#1\ensuremath{+}%
+ \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}%
+ \else
+ \if -#1\ensuremath{-}%
+ \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}%
+ \else
+ \SI@int{#1#2}\fi \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\SI@not@v}
+% \begin{macro}{\SI@@not@v}
+% Test for a fifth digit.
+% \begin{macrocode}
+\def\SI@not@v#1{\SI@@not@v#1\@empty\@empty\@empty\@empty\@empty\@nil}
+\def\SI@@not@v#1#2#3#4#5\@nil{%
+ \ifx\@empty#5\@empty
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\SI@int}
+% Set the integer. If \cmd{\ifSIgroup} is true and the number has
+% four or less digits, then set the number. Otherwise pass it
+% on to the formatting command.
+% \begin{macrocode}
+\def\SI@int#1{%
+ \ifSIgroupfour
+ \SI@not@v{#1}{#1}{\SI@intfmt{}#1\@empty\@empty\@empty}%
+ \else
+ \SI@intfmt{}#1\@empty\@empty\@empty%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\SI@intfmt}
+% \begin{macro}{\SI@intfmtafterfi}
+% \begin{macro}{\SI@addthousandsep}
+% Finally typeset the integer in groups of three. (From a macro
+% to typeset Dollar amounts by Donald Arseneau on c.t.t.)
+% \begin{macrocode}
+\def\SI@intfmt#1#2#3#4{%
+ \ifx\@empty#2\@empty%
+ \SI@addthousandsep#1\relax
+ \else
+ \ifx\@empty#3\@empty%
+ \SI@addthousandsep\@empty\@empty#1#2\relax
+ \else
+ \ifx\@empty#4\@empty%
+ \SI@addthousandsep\@empty#1#2#3\relax
+ \else
+ \SI@intfmtafterfi{#1#2#3#4}%
+ \fi
+ \fi
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\SI@intfmtafterfi#1\fi\fi\fi{\fi\fi\fi\SI@intfmt{#1}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\SI@addthousandsep#1#2#3#4{#1#2#3%
+ \if\relax#4\relax
+ \else
+ \SI@thousandsep\expandafter\SI@addthousandsep\expandafter#4%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SI@dec}
+% \begin{macro}{\SI@decfmt}
+% Set the decimal part (from \pkg{frenchb.ldf} by by Johannes L. Braams)
+% \begin{macrocode}
+\def\SI@dec#1{%
+ \ifSIgroupfour
+ \SI@not@v{#1}{#1}{\SI@decfmt#1\@empty\@empty\@empty\@empty}%
+ \else
+ \SI@decfmt#1\@empty\@empty\@empty\@empty%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\SI@decfmt#1#2#3#4{#1#2#3%
+ \ifx\@empty#4\@empty%
+ \else
+ \SI@thousandsep\expandafter\SI@decfmt\expandafter#4%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+%
+% \subsection{Number commands}
+%
+% \begin{macro}{\SInum}
+% Command to typeset a number in upright math font
+% with \cmd{\SIupmath}
+% \begin{macrocode}
+\newcommand*{\SInum}[1]{{%
+ \let\SI@unitdot=\pnt%
+ \SIupmath[\SI@defaultNfam]{\SI@num{#1}}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\num}
+% The robust user command to typeset a number.
+% The starred form gives a number in the normal active
+% font.
+% \begin{macrocode}
+\DeclareRobustCommand*{\num}{\@ifstar{\SI@num}{\SInum}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{Typesetting Angles}
+%
+%
+% \begin{macro}{\ang}
+% \begin{macro}{\SI@ang}
+% \begin{macro}{\SI@@ang}
+% \begin{macro}{\SI@ang@xii}
+% \begin{macro}{\SI@@ang@xii}
+% \begin{macro}{\SI@ang@xiii}
+% \begin{macro}{\SI@@ang@xiii}
+% The robust user command to typeset angles. Note that we
+% have to make provisions for packages such as French that
+% make the semicolon (;) active
+% \begin{macrocode}
+\ifSI@eTeX
+ \DeclareRobustCommand{\ang}{%
+ \begingroup
+ \catcode`;=12\relax
+ \catcode`@=11\relax
+ \SI@ang}
+ \def\SI@ang#1{%
+ \scantokens{\SI@@ang#1;;;\@nil}%
+ \endgroup}
+ \def\SI@@ang#1;#2;#3;#4\@nil{%
+ \SI@@@ang{#1}{#2}{#3}}%
+\else
+ \DeclareRobustCommand{\ang}[1]{%
+ \@nameuse{SI@ang@\romannumeral\catcode`\;}{#1}}%
+ \begingroup
+ \catcode`\;=12\relax
+ \gdef\SI@ang@xii#1{\SI@@ang@xii#1;;;\@nil}
+ \gdef\SI@@ang@xii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}}
+ \catcode`\;=\active\relax
+ \gdef\SI@ang@xiii#1{\SI@@ang@xiii#1;;;\@nil}
+ \gdef\SI@@ang@xiii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}}
+ \endgroup
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SI@degs}
+% \begin{macro}{\SI@mins}
+% \begin{macro}{\SI@secs}
+% \begin{macro}{\SI@@@ang}
+% Scratch commands to hold definitions and typeset angles.
+% \begin{macrocode}
+\let\SI@degs=\relax
+\let\SI@mins=\relax
+\let\SI@secs=\relax
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand*{\SI@@@ang}[3]{{%
+ \SI@ifempt{#3}{}{\def\SI@secs{\SInum{#3}\SIupmath{\arcsec}}%
+ \def\SI@mins{\SInum{0}\SIupmath{\arcmin}}%
+ \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}%
+ \SI@ifempt{#2}{}{\def\SI@mins{\SInum{#2}\SIupmath{\arcmin}}%
+ \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}%
+ \SI@ifempt{#1}{}{\def\SI@degs{\SInum{#1}\SIupmath{\arcdeg}}}%
+ \SI@degs\SI@mins\SI@secs}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \section{Typesetting Units}
+% \subsection{Unit setup commands}
+%
+% \begin{macro}{\SIunitsep}
+% \begin{macro}{\SI@unitsep}
+% User command to set unit separation width from the number.
+% \begin{macrocode}
+\newcommand*{\SI@unitsep}{\,}
+\newcommand*{\SIunitsep}[1]{\renewcommand*{\SI@unitsep}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIunitspace}
+% \begin{macro}{\SI@unitspace}
+% User command to set the spacing between units when
+% ``\tlde'' is issued.
+% \begin{macrocode}
+\newcommand*{\SI@unitspace}{\,}
+\newcommand*{\SIunitspace}[1]{\renewcommand*{\SI@unitspace}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\SIunitdot}
+% \begin{macro}{\SI@unitdot}
+% User command to set the unit dot when ``.'' is
+% given between units.
+% \begin{macrocode}
+\newcommand*{\SI@unitdot}{{\cdot}}
+\newcommand*{\SIunitdot}[1]{\renewcommand*{\SI@unitdot}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\pnt}
+% Supply \cmd{\pnt} command for ``.'' in mathmode.
+% Define the point ``.'' as a command when active
+% (|\mathcode`.="8000|) inside math environment.
+% \begin{macrocode}
+\DeclareMathSymbol{\pnt}{\mathord}{letters}{58} %(\pnt = .)
+{\catcode`\.=13 \gdef.{\SI@unitdot}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Commands for units}
+%
+% \begin{macro}{\SIunit}
+% Command that sets the environment for typesetting units.
+% The ``.'' is made active and the ``\tlde'' is redefined.
+% \begin{macrocode}
+\newcommand*{\SIunit}[1]{%
+\begingroup%
+ \mathcode`.="8000%
+ \def~{\SI@unitspace}%
+ \SIupmath{#1}%
+\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SI}
+% Command to typeset numbers with units.
+%
+% Usage: \cmd{\SI}\marg{number}\marg{unit}
+% \begin{macrocode}
+\DeclareRobustCommand*{\SI}[2]{%
+ \SI@ifempt{#1}{}{\SInum{#1}\SI@unitsep}%
+ \SIunit{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Additional Units}
+%
+% \noindent
+% Additional non Latin user symbols are defined:
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{textcomp}{%
+ \providecommand*{\micro}{\ensureupmath{\mbox{\textmu}}}%
+ \providecommand*{\ohm}{\ensureupmath{\mbox{\textohm}}}%
+ \providecommand*{\degC}{\ensureupmath{\mbox{\textcelsius}}}%
+ \providecommand*{\degF}{\ensureupmath{\mbox{\textdegree F}}}%
+ \providecommand*{\arcdeg}{\ensureupmath{\mbox{\textdegree}}}%
+ \providecommand*{\angstrom}{\ensureupmath{\mbox{\capitalring{A}}}}%
+ }{%
+ \providecommand*{\micro}{\ensureupmath{\mu}}%
+ \providecommand*{\ohm}{\ensureupmath{\Omega}}%
+ \providecommand*{\degC}{%
+ \ensureupmath{{}^{\circ}\kern-\scriptspace C}}%
+ \providecommand*{\degF}{%
+ \ensureupmath{{}^{\circ}\kern-\scriptspace F}}%
+ \providecommand*{\arcdeg}{\ensureupmath{{}^{\circ}}}%
+ \providecommand*{\angstrom}{\ensureupmath{\mbox{\AA}}}%
+ }%
+ \providecommand*{\arcmin}{\ensureupmath{{}^{\prime}}}%
+ \providecommand*{\arcsec}{\ensureupmath{{}^{\prime\prime}}}%
+}
+% \end{macrocode}
+%
+% \section{Locales}
+% \subsection{Macros}
+%
+% Temporary tokens.
+% \begin{macrocode}
+\newtoks\ttoks@A
+\newtoks\ttoks@B
+% \end{macrocode}
+%
+% \begin{macro}{\SIstyle}
+% The main command to activate a spesific style.
+% \begin{macrocode}
+\newcommand{\SIstyle}[1]{%
+ \@ifundefined{SIstyle#1}%
+ {\PackageError{SIstyle}{Style `#1' is not defined}%
+ {See SIstyle package documentation}}%
+ {\@nameuse{SIstyle#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\AddToSIstyle}
+% \begin{macro}{\SI@s@addto@stl}
+% \begin{macro}{\SI@addto@stl}
+% Append the command list in |#2| to the style command |\SIstyle#1|.
+% The starred form clears the list before appending.
+% \begin{macrocode}
+\newcommand{\AddToSIstyle}{%
+ \@ifstar{\SI@s@addto@stl}{\SI@addto@stl}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\SI@s@addto@stl}[1]{%
+ \expandafter\let\csname SIstyle#1\endcsname\relax
+ \SI@addto@stl{#1}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\SI@addto@stl}[2]{%
+ \expandafter\SI@addto@list\csname SIstyle#1\endcsname{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macrocode}
+\@onlypreamble\AddToSIstyle
+% \end{macrocode}
+%
+% \begin{macro}{\SIstyleToLang}
+% Links a locale to the \pkg{babel} language changing
+% |\extras|\meta{lang}.
+%
+% \begin{macrocode}
+\newcommand*{\SIstyleToLang}[2]{%
+ \expandafter\SI@addto@list
+ \csname extras#1\expandafter\endcsname
+ \csname SIstyle#2\endcsname}
+% \end{macrocode}
+% \begin{macrocode}
+\@onlypreamble\SIstyleToLang
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\SI@addto@list}
+% The general macro to append to a list
+% (stolen for \pkg{varioref}).
+%
+% \begin{macrocode}
+\newcommand{\SI@addto@list}[2]{%
+ \ttoks@A{#2}%
+ \ifx#1\@undefined
+ \edef#1{\the\ttoks@A}%
+ \else
+ \ifx#1\relax
+ \edef#1{\the\ttoks@A}%
+ \else
+ \ttoks@B\expandafter{#1}%
+ \edef#1{\the\ttoks@B\the\ttoks@A}%
+ \fi
+ \fi
+ \ttoks@A{}\ttoks@B\ttoks@A}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Country spesific setup}
+%
+% \paragraph{USA:}
+% NIST Special Publication 811 -- \textit{Guide for the Use of the
+% International System of Units (SI)}
+%
+% \begin{macrocode}
+\AddToSIstyle{USA}{%
+ \SIdecimalsign{.}%
+ \SIthousandsep{\,}%
+ \SIunitsep{\,}%
+ \SIunitdot{\cdot}%
+ \SIunitspace{\;}%
+ \SIproductsign{\times}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+% \end{macrocode}
+% \paragraph{Germany:}
+% \begin{macrocode}
+\AddToSIstyle{German}{%
+ \SIdecimalsign{,}%
+ \SIthousandsep{\,}%
+ \SIproductsign{\cdot}%
+ \SIunitsep{\,}%
+ \SIunitspace{\,}%
+ \SIunitdot{\cdot}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+% \end{macrocode}
+% \paragraph{South Africa:}
+% SABS M 33a:1992 -- \textit{The international metric system (SI).
+% Guide to the use of the SI in South Africa.}
+% \begin{macrocode}
+\AddToSIstyle{S-Africa}{%
+ \SIdecimalsign{,}%
+ \SIthousandsep{\,}%
+ \SIproductsign{\times}%
+ \SIunitsep{\,}%
+ \SIunitspace{\,}%
+ \SIunitdot{\cdot}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% The end of this package.
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/sistyle/sistyle.ins b/macros/latex/contrib/sistyle/sistyle.ins
new file mode 100644
index 0000000000..5c5e15ff47
--- /dev/null
+++ b/macros/latex/contrib/sistyle/sistyle.ins
@@ -0,0 +1,76 @@
+% sistyle.ins
+% Copyright (C) 2004--2008 Danie Els
+%
+% -------------------------------------------------------------------
+% The SIstyle package
+% for SI units and number typesetting
+% -------------------------------------------------------------------
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status 'maintained'.
+%
+% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za)
+%
+% This package consists of the files: sistyle.dtx
+% sistyle.ins
+% and the derived file: sistyle.sty
+% -------------------------------------------------------------------
+
+
+\def\batchfile{sistyle.ins}
+\def\filedate{2008/07/16}
+\input docstrip.tex
+\keepsilent
+
+\declarepreamble\DNJEpreamble
+
+Copyright (C) 2004--2008 Danie Els
+
+-------------------------------------------------------------------
+ The SIstyle package
+ for SI units and number typesetting
+-------------------------------------------------------------------
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status 'maintained'.
+
+This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za)
+
+This package consists of the files: sistyle.dtx
+ sistyle.ins
+ and the derived file: sistyle.sty
+-------------------------------------------------------------------
+
+\endpreamble
+
+\generate{%
+ \askforoverwritefalse
+ \usepreamble\DNJEpreamble
+ \file{sistyle.sty}{\from{sistyle.dtx}{package}}}
+
+\obeyspaces%
+\Msg{*********************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* sistyle.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file sistyle.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{*********************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/sistyle/sistyle.sty b/macros/latex/contrib/sistyle/sistyle.sty
new file mode 100644
index 0000000000..fa774b060d
--- /dev/null
+++ b/macros/latex/contrib/sistyle/sistyle.sty
@@ -0,0 +1,373 @@
+%%
+%% This is file `sistyle.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% sistyle.dtx (with options: `package')
+%%
+%% Copyright (C) 2004--2008 Danie Els
+%%
+%% -------------------------------------------------------------------
+%% The SIstyle package
+%% for SI units and number typesetting
+%% -------------------------------------------------------------------
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status 'maintained'.
+%%
+%% This Current Maintainer of this work is Danie Els (dnjels@sun.ac.za)
+%%
+%% This package consists of the files: sistyle.dtx
+%% sistyle.ins
+%% and the derived file: sistyle.sty
+%% -------------------------------------------------------------------
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{sistyle}
+ [2008/07/16 v2.3a SI units and numbers (DNJ Els)]
+\RequirePackage{amstext}
+\newif\ifSI@eTeX
+\SI@eTeXfalse
+\ifx\eTeXversion\@undefined
+\else
+ \ifx\eTeXversion\relax
+ \else
+ \ifnum\eTeXversion>\z@
+ \SI@eTeXtrue
+ \fi
+ \fi
+\fi
+\begingroup
+ \catcode`\Q=3
+ \long\gdef\SI@ifempt#1{\SI@xifempt#1QQ\@secondoftwo\@firstoftwo\@nil}
+ \long\gdef\SI@xifempt#1#2Q#3#4#5\@nil{#4}
+\endgroup
+ \newcommand{\GetMathFontFams}{%
+ \sbox{0}{$%
+ \@ifundefined{mathsf}
+ {\global\chardef\SI@sffam=99}%
+ {\mathsf{\global\chardef\SI@sffam=\fam}}%
+ \@ifundefined{mathtt}
+ {\global\chardef\SI@ttfam=99}%
+ {\mathtt{\global\chardef\SI@ttfam=\fam}}%
+ $}%
+ }
+\AtBeginDocument{\GetMathFontFams}
+\newcommand{\IfTbold}[2]{%
+ \if b\expandafter\@car\f@series\@nil%
+ #1\else #2\fi}
+\newcommand{\IfMbold}[2]{%
+ \edef\temp@bm{bold}%
+ \ifx\math@version\temp@bm
+ #1\else #2\fi}
+\newif\ifSIobeybold
+\SIobeyboldfalse
+\newcommand*{\SI@mathrm}{\mathrm}
+\newcommand*{\SI@mathsf}{\mathsf}
+\newcommand*{\SI@mathtt}{\mathtt}
+\newcommand*{\SImathrm}[1]{\renewcommand*{\SI@mathrm}{#1}}
+\newcommand*{\SImathsf}[1]{\renewcommand*{\SI@mathsf}{#1}}
+\newcommand*{\SImathtt}[1]{\renewcommand*{\SI@mathtt}{#1}}
+\newcommand*{\SI@defaultMfam}{\SI@mathrm}
+\newcommand*{\SIdefaultMfam}[1]{\renewcommand*{\SI@defaultMfam}{#1}}
+\newcommand*{\SI@defaultNfam}{\SI@mathrm}
+\newcommand*{\SIdefaultNfam}[1]{\renewcommand*{\SI@defaultNfam}{#1}}
+\newcommand*{\SI@defaultTfam}{\rmfamily}
+\newcommand*{\SIdefaultTfam}[1]{\renewcommand*{\SI@defaultTfam}{#1}}
+\newif\ifupmath
+\upmathfalse
+\newcommand*{\SIupmath}[2][\SI@defaultMfam]{%
+\begingroup
+ \upmathtrue
+ \edef\temp@sf{\sfdefault}%
+ \edef\temp@tt{\ttdefault}%
+ \let\SI@bold=\relax
+ \ifmmode
+ \ifdim\displaywidth>0pt\relax%--- DISPLAY MATH ------------
+ \ifnum\the\fam=\SI@sffam
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else \ifnum\the\fam=\SI@ttfam
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfMbold{\def\SI@bold{\bfseries}}%
+ {\def\SI@bold{\mdseries}}%
+ \else%--- INLINE MATH ----------
+ \ifx\f@family\temp@sf
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else\ifx\f@family\temp@tt
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfTbold{\def\SI@bold{\boldmath}}%
+ {\def\SI@bold{\unboldmath}}%
+ \fi
+ \else%----- NORMAL TEXT --------------
+ \ifx\f@family\temp@sf
+ \let\SI@mfam=\SI@mathsf
+ \let\SI@tfam=\sffamily
+ \else\ifx\f@family\temp@tt
+ \let\SI@mfam=\SI@mathtt
+ \let\SI@tfam=\ttfamily
+ \else
+ \let\SI@mfam=#1%
+ \let\SI@tfam=\SI@defaultTfam
+ \fi\fi
+ \IfTbold{\def\SI@bold{\boldmath}}%
+ {\def\SI@bold{\unboldmath}}%
+ \fi%----- END OF TEST --------------
+ \text{%
+ \ifSIobeybold\SI@bold\else\unboldmath\mdseries\fi
+ \upshape\SI@tfam
+ $\SI@mfam{#2}$}%
+\endgroup
+\check@mathfonts}
+\DeclareRobustCommand{\ensureupmath}{%
+ \ifupmath
+ \expandafter\@firstofone
+ \else
+ \expandafter\SIupmath
+ \fi}
+\newcommand*{\SI@decsign}{{.}}
+\newcommand*{\SIdecimalsign}[1]{\renewcommand*{\SI@decsign}{{#1}}}
+\newcommand*{\SI@thousandsep}{{\,}}
+\newcommand*{\SIthousandsep}[1]{\renewcommand*{\SI@thousandsep}{{#1}}}
+\newcommand*{\SI@prod}{\ensuremath{{}\times{}}}
+\newcommand*{\SIproductsign}[1]{\renewcommand*{\SI@prod}{\ensuremath{{}#1{}}}}
+\newif\ifSIgroupfour
+\SIgroupfourtrue
+\def\SI@num#1{%
+ \SI@ifempt{#1}{}{%
+ \edef\SI@tmpa{\lowercase{\noexpand\SI@@num{\zap@space#1 \@empty}}}%
+ \SI@tmpa}}
+\def\SI@@num#1{\SI@numsplit#1ee\SI@numexp\SI@realp\@empty}
+\def\SI@numsplit#1e#2e#3#4#5{#4{#1}{#2}}
+\def\SI@p@tst{+}
+\def\SI@m@tst{-}
+\def\SI@numexp#1#2{%
+ \SI@ifempt{#1}{}{%
+ \def\SI@tmpb{#1}%
+ \ifx\SI@tmpb\SI@p@tst\ensuremath{+}\else
+ \ifx\SI@tmpb\SI@m@tst\ensuremath{-}\else
+ \SI@realp{#1}{}\SI@prod%
+ \fi\fi}%
+ \ifmmode
+ 10^{\SI@realp{#2}{}}%
+ \else
+ 10\textsuperscript{\SI@realp{#2}{}}%
+ \fi}
+\def\SI@realp#1#2{\SI@realpsplit#1..\SI@realfrc\SI@realc\@empty}
+\def\SI@realpsplit#1.#2.#3#4#5{#4{#1}{#2}}
+\def\SI@realc#1#2{\SI@realcsplit#1,,\SI@realfrc\SI@signedint\@empty}
+\def\SI@realcsplit#1,#2,#3#4#5{#4{#1}{#2}}
+\def\SI@realfrc#1#2{%
+ \SI@ifempt{#1}{\SI@int{0}}%
+ {\SI@signedint{#1}{}}%
+ \SI@decsign\SI@dec{#2}}
+\def\SI@signedint#1#2{\SI@@signedint#1 }
+\def\SI@@signedint#1#2 {%
+ \if +#1\ensuremath{+}%
+ \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}%
+ \else
+ \if -#1\ensuremath{-}%
+ \SI@ifempt{#2}{\SI@int{0}}{\SI@int{#2}}%
+ \else
+ \SI@int{#1#2}\fi \fi}
+\def\SI@not@v#1{\SI@@not@v#1\@empty\@empty\@empty\@empty\@empty\@nil}
+\def\SI@@not@v#1#2#3#4#5\@nil{%
+ \ifx\@empty#5\@empty
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\def\SI@int#1{%
+ \ifSIgroupfour
+ \SI@not@v{#1}{#1}{\SI@intfmt{}#1\@empty\@empty\@empty}%
+ \else
+ \SI@intfmt{}#1\@empty\@empty\@empty%
+ \fi}
+\def\SI@intfmt#1#2#3#4{%
+ \ifx\@empty#2\@empty%
+ \SI@addthousandsep#1\relax
+ \else
+ \ifx\@empty#3\@empty%
+ \SI@addthousandsep\@empty\@empty#1#2\relax
+ \else
+ \ifx\@empty#4\@empty%
+ \SI@addthousandsep\@empty#1#2#3\relax
+ \else
+ \SI@intfmtafterfi{#1#2#3#4}%
+ \fi
+ \fi
+ \fi}
+\def\SI@intfmtafterfi#1\fi\fi\fi{\fi\fi\fi\SI@intfmt{#1}}
+\def\SI@addthousandsep#1#2#3#4{#1#2#3%
+ \if\relax#4\relax
+ \else
+ \SI@thousandsep\expandafter\SI@addthousandsep\expandafter#4%
+ \fi}
+\def\SI@dec#1{%
+ \ifSIgroupfour
+ \SI@not@v{#1}{#1}{\SI@decfmt#1\@empty\@empty\@empty\@empty}%
+ \else
+ \SI@decfmt#1\@empty\@empty\@empty\@empty%
+ \fi}
+\def\SI@decfmt#1#2#3#4{#1#2#3%
+ \ifx\@empty#4\@empty%
+ \else
+ \SI@thousandsep\expandafter\SI@decfmt\expandafter#4%
+ \fi}
+\newcommand*{\SInum}[1]{{%
+ \let\SI@unitdot=\pnt%
+ \SIupmath[\SI@defaultNfam]{\SI@num{#1}}}}
+\DeclareRobustCommand*{\num}{\@ifstar{\SI@num}{\SInum}}
+\ifSI@eTeX
+ \DeclareRobustCommand{\ang}{%
+ \begingroup
+ \catcode`;=12\relax
+ \catcode`@=11\relax
+ \SI@ang}
+ \def\SI@ang#1{%
+ \scantokens{\SI@@ang#1;;;\@nil}%
+ \endgroup}
+ \def\SI@@ang#1;#2;#3;#4\@nil{%
+ \SI@@@ang{#1}{#2}{#3}}%
+\else
+ \DeclareRobustCommand{\ang}[1]{%
+ \@nameuse{SI@ang@\romannumeral\catcode`\;}{#1}}%
+ \begingroup
+ \catcode`\;=12\relax
+ \gdef\SI@ang@xii#1{\SI@@ang@xii#1;;;\@nil}
+ \gdef\SI@@ang@xii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}}
+ \catcode`\;=\active\relax
+ \gdef\SI@ang@xiii#1{\SI@@ang@xiii#1;;;\@nil}
+ \gdef\SI@@ang@xiii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}}
+ \endgroup
+\fi
+\let\SI@degs=\relax
+\let\SI@mins=\relax
+\let\SI@secs=\relax
+\newcommand*{\SI@@@ang}[3]{{%
+ \SI@ifempt{#3}{}{\def\SI@secs{\SInum{#3}\SIupmath{\arcsec}}%
+ \def\SI@mins{\SInum{0}\SIupmath{\arcmin}}%
+ \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}%
+ \SI@ifempt{#2}{}{\def\SI@mins{\SInum{#2}\SIupmath{\arcmin}}%
+ \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}%
+ \SI@ifempt{#1}{}{\def\SI@degs{\SInum{#1}\SIupmath{\arcdeg}}}%
+ \SI@degs\SI@mins\SI@secs}}
+\newcommand*{\SI@unitsep}{\,}
+\newcommand*{\SIunitsep}[1]{\renewcommand*{\SI@unitsep}{#1}}
+\newcommand*{\SI@unitspace}{\,}
+\newcommand*{\SIunitspace}[1]{\renewcommand*{\SI@unitspace}{#1}}
+\newcommand*{\SI@unitdot}{{\cdot}}
+\newcommand*{\SIunitdot}[1]{\renewcommand*{\SI@unitdot}{#1}}
+\DeclareMathSymbol{\pnt}{\mathord}{letters}{58} %(\pnt = .)
+{\catcode`\.=13 \gdef.{\SI@unitdot}}
+\newcommand*{\SIunit}[1]{%
+\begingroup%
+ \mathcode`.="8000%
+ \def~{\SI@unitspace}%
+ \SIupmath{#1}%
+\endgroup}
+\DeclareRobustCommand*{\SI}[2]{%
+ \SI@ifempt{#1}{}{\SInum{#1}\SI@unitsep}%
+ \SIunit{#2}}
+\AtBeginDocument{%
+ \@ifpackageloaded{textcomp}{%
+ \providecommand*{\micro}{\ensureupmath{\mbox{\textmu}}}%
+ \providecommand*{\ohm}{\ensureupmath{\mbox{\textohm}}}%
+ \providecommand*{\degC}{\ensureupmath{\mbox{\textcelsius}}}%
+ \providecommand*{\degF}{\ensureupmath{\mbox{\textdegree F}}}%
+ \providecommand*{\arcdeg}{\ensureupmath{\mbox{\textdegree}}}%
+ \providecommand*{\angstrom}{\ensureupmath{\mbox{\capitalring{A}}}}%
+ }{%
+ \providecommand*{\micro}{\ensureupmath{\mu}}%
+ \providecommand*{\ohm}{\ensureupmath{\Omega}}%
+ \providecommand*{\degC}{%
+ \ensureupmath{{}^{\circ}\kern-\scriptspace C}}%
+ \providecommand*{\degF}{%
+ \ensureupmath{{}^{\circ}\kern-\scriptspace F}}%
+ \providecommand*{\arcdeg}{\ensureupmath{{}^{\circ}}}%
+ \providecommand*{\angstrom}{\ensureupmath{\mbox{\AA}}}%
+ }%
+ \providecommand*{\arcmin}{\ensureupmath{{}^{\prime}}}%
+ \providecommand*{\arcsec}{\ensureupmath{{}^{\prime\prime}}}%
+}
+\newtoks\ttoks@A
+\newtoks\ttoks@B
+\newcommand{\SIstyle}[1]{%
+ \@ifundefined{SIstyle#1}%
+ {\PackageError{SIstyle}{Style `#1' is not defined}%
+ {See SIstyle package documentation}}%
+ {\@nameuse{SIstyle#1}}}
+\newcommand{\AddToSIstyle}{%
+ \@ifstar{\SI@s@addto@stl}{\SI@addto@stl}}
+\newcommand{\SI@s@addto@stl}[1]{%
+ \expandafter\let\csname SIstyle#1\endcsname\relax
+ \SI@addto@stl{#1}}
+\newcommand{\SI@addto@stl}[2]{%
+ \expandafter\SI@addto@list\csname SIstyle#1\endcsname{#2}}
+\@onlypreamble\AddToSIstyle
+\newcommand*{\SIstyleToLang}[2]{%
+ \expandafter\SI@addto@list
+ \csname extras#1\expandafter\endcsname
+ \csname SIstyle#2\endcsname}
+\@onlypreamble\SIstyleToLang
+\newcommand{\SI@addto@list}[2]{%
+ \ttoks@A{#2}%
+ \ifx#1\@undefined
+ \edef#1{\the\ttoks@A}%
+ \else
+ \ifx#1\relax
+ \edef#1{\the\ttoks@A}%
+ \else
+ \ttoks@B\expandafter{#1}%
+ \edef#1{\the\ttoks@B\the\ttoks@A}%
+ \fi
+ \fi
+ \ttoks@A{}\ttoks@B\ttoks@A}
+\AddToSIstyle{USA}{%
+ \SIdecimalsign{.}%
+ \SIthousandsep{\,}%
+ \SIunitsep{\,}%
+ \SIunitdot{\cdot}%
+ \SIunitspace{\;}%
+ \SIproductsign{\times}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+\AddToSIstyle{German}{%
+ \SIdecimalsign{,}%
+ \SIthousandsep{\,}%
+ \SIproductsign{\cdot}%
+ \SIunitsep{\,}%
+ \SIunitspace{\,}%
+ \SIunitdot{\cdot}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+\AddToSIstyle{S-Africa}{%
+ \SIdecimalsign{,}%
+ \SIthousandsep{\,}%
+ \SIproductsign{\times}%
+ \SIunitsep{\,}%
+ \SIunitspace{\,}%
+ \SIunitdot{\cdot}%
+ \SIobeyboldfalse
+ \SIgroupfourtrue}
+\endinput
+%%
+%% End of file `sistyle.sty'.