diff --git a/docs/publications/MODELS2010OCLWorkshop/.cvsignore b/docs/publications/MODELS2010OCLWorkshop/.cvsignore
index c8040c3..aa700df 100644
--- a/docs/publications/MODELS2010OCLWorkshop/.cvsignore
+++ b/docs/publications/MODELS2010OCLWorkshop/.cvsignore
@@ -1,2 +1,5 @@
 oclxtext.aux
 oclxtext.synctex.gz
+*.bbl
+*.blg
+*.out
diff --git a/docs/publications/MODELS2010OCLWorkshop/easst.eps b/docs/publications/MODELS2010OCLWorkshop/easst.eps
new file mode 100644
index 0000000..9fac895
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/easst.eps
@@ -0,0 +1,3469 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: (EASST_Logo.pdf)
+%%Version: 1 6
+%%Creator: Adobe Acrobat 7.0
+%%CreationDate: 16:06:50 09/04/06
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 3
+%ADO_ContainsXMP: MainFirst
+%%BoundingBox: 0 0 136 134
+%%HiResBoundingBox: 0.0 0.0 136.08 134.4
+%%Pages: 0
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%%DocumentSuppliedResources:
+%%+ procset (Adobe Acrobat - PDF operators) 1.2 0
+%%+ procset (Adobe Acrobat - general image support) 1.2 0
+%%+ procset (Adobe Acrobat - monochrome image support) 1.2 0
+%%+ procset (Adobe Acrobat - color image support) 1.2 0
+%%+ procset (Adobe Acrobat - indexed color image support) 1.2 0
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%BeginSetup
+%ADOPrintSettings: L3 W0 VM op crd os scsa T h ef BG UCR sf ef r b fa pr seps ttf hb EF T2 irt Drucker-/PostScript-Farbmanagement 0
+
+
+%%BeginResource: procset l3check 6.0 1
+%%Copyright: Copyright 1998,2001-2002 Adobe Systems Incorporated. All Rights Reserved.
+systemdict /languagelevel known
+{ systemdict /languagelevel get 3 lt }
+{ true }
+ifelse
+{
+initgraphics /Helvetica findfont 18 scalefont setfont
+72 600 moveto (Error: Your application needs to be configured) dup show ==
+72 580 moveto (for printing to a PostScript Language Level )dup show ==
+systemdict /languagelevel known {(2)}{(1)}ifelse dup show ==
+( printer.) dup show ==
+/Times-Roman findfont 16 scalefont setfont
+72 500 moveto (Select \252Language Level )show
+systemdict /languagelevel known {(2)}{(1)}ifelse show
+(\272 in the PostScript options section) show
+72 480 moveto (of the Advanced Print dialog.) show
+showpage
+quit
+}
+if
+%%EndResource
+/currentpacking where{pop currentpacking true setpacking}if
+%%BeginResource: procset pdfvars 6.0 1
+%%Copyright: Copyright 1987-2002 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: definition of dictionary of variables used by PDF & PDFText procsets
+userdict /PDF 162 dict put
+userdict /PDFVars 89 dict dup begin put
+/docSetupDone false def
+/InitAll 0 def
+/TermAll 0 def
+/DocInitAll 0 def
+/DocTermAll 0 def
+/_pdfEncodings 2 array def
+/_pdf_str1 1 string def
+/_pdf_i 0 def
+/_pdf_na 0 def
+/_pdf_showproc 0 def
+/_italMtx [1 0 .212557 1 0 0] def
+/_italMtx_WMode1 [1 -.212557 0 1 0 0] def
+/_italMtxType0 [1 0 .1062785 1 0 0] def
+/_italMtx_WMode1Type0 [1 -.1062785 0 1 0 0] def
+/_basefont 0 def
+/_basefonto 0 def
+/_pdf_oldCIDInit null def
+/_pdf_FontDirectory 30 dict def
+/_categories 10 dict def
+/_sa? true def
+/_ColorSep5044? false def
+/nulldict 0 dict def
+/_processColors 0 def
+/overprintstack null def
+/_defaulttransfer currenttransfer def
+/_defaultflatness currentflat def
+/_defaulthalftone null def
+/_defaultcolortransfer null def
+/_defaultblackgeneration null def
+/_defaultundercolorremoval null def
+/_defaultcolortransfer null def
+PDF begin
+[/c/cs/cm/d/d0/f/h/i/j/J/l/m/M/n/q/Q/re/ri/S/sc/sh/Tf/w/W
+/applyInterpFunc/applystitchFunc/domainClip/encodeInput
+/initgs/int/limit/rangeClip
+/defineRes/undefineRes/findRes/setSA/pl
+/? /! /| /: /+ /GetGlyphDirectory
+/pdf_flushFilters /pdf_readstring /pdf_dictOp /pdf_image /pdf_maskedImage
+/pdf_shfill /pdf_sethalftone
+] {null def} bind forall
+end
+end
+%%EndResource
+PDFVars begin PDF begin
+%%BeginResource: procset pdfutil 6.0 1
+%%Copyright: Copyright 1993-2001 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Basic utilities used by other PDF procsets
+/bd {bind def} bind def
+/ld {load def} bd
+/bld {
+dup length dict begin
+{ null def } forall
+bind
+end
+def
+} bd
+/dd { PDFVars 3 1 roll put } bd
+/xdd { exch dd } bd
+/Level2?
+systemdict /languagelevel known
+{ systemdict /languagelevel get 2 ge } { false } ifelse
+def
+/Level1? Level2? not def
+/Level3?
+systemdict /languagelevel known
+{systemdict /languagelevel get 3 eq } { false } ifelse
+def
+/getifknown {
+2 copy known { get true } { pop pop false } ifelse
+} bd
+/here {
+currentdict exch getifknown
+} bd
+/isdefined? { where { pop true } { false } ifelse } bd
+%%EndResource
+%%BeginResource: procset pdf 6.0 1
+%%Copyright: Copyright 1998-2003 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: General operators for PDF, common to all Language Levels.
+/cm { matrix astore concat } bd
+/d /setdash ld
+/f /fill ld
+/h /closepath ld
+/i {dup 0 eq {pop _defaultflatness} if setflat} bd
+/j /setlinejoin ld
+/J /setlinecap ld
+/M /setmiterlimit ld
+/n /newpath ld
+/S /stroke ld
+/w /setlinewidth ld
+/W /clip ld
+/sg /setgray ld
+/initgs {
+0 setgray
+[] 0 d
+0 j
+0 J
+10 M
+1 w
+false setSA
+/_defaulttransfer load settransfer
+0 i
+/RelativeColorimetric ri
+newpath
+} bd
+/int {
+dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul
+exch pop add exch pop
+} bd
+/limit {
+dup 2 index le { exch } if pop
+dup 2 index ge { exch } if pop
+} bd
+/domainClip {
+Domain aload pop 3 2 roll
+limit
+} [/Domain] bld
+/applyInterpFunc {
+0 1 DimOut 1 sub
+{
+dup C0 exch get exch
+dup C1 exch get exch
+3 1 roll
+1 index sub
+3 index
+N exp mul add
+exch
+currentdict /Range_lo known
+{
+dup Range_lo exch get exch
+Range_hi exch get
+3 2 roll limit
+}
+{
+pop
+}
+ifelse
+exch
+} for
+pop
+} [/DimOut /C0 /C1 /N /Range_lo /Range_hi] bld
+/encodeInput {
+NumParts 1 sub
+0 1 2 index
+{
+dup Bounds exch get
+2 index gt
+{ exit }
+{ dup
+3 index eq
+{ exit }
+{ pop } ifelse
+} ifelse
+} for
+3 2 roll pop
+dup Bounds exch get exch
+dup 1 add Bounds exch get exch
+2 mul
+dup Encode exch get exch
+1 add Encode exch get
+int
+} [/NumParts /Bounds /Encode] bld
+/rangeClip {
+exch dup Range_lo exch get
+exch Range_hi exch get
+3 2 roll
+limit
+} [/Range_lo /Range_hi] bld
+/applyStitchFunc {
+Functions exch get exec
+currentdict /Range_lo known {
+0 1 DimOut 1 sub {
+DimOut 1 add -1 roll
+rangeClip
+} for
+} if
+} [/Functions /Range_lo /DimOut] bld
+/pdf_flushfilters
+{
+aload length
+{ dup status
+1 index currentfile ne and
+{ dup flushfile closefile }
+{ pop }
+ifelse
+} repeat
+} bd
+/pdf_readstring
+{
+1 index dup length 1 sub get
+exch readstring pop
+exch pdf_flushfilters
+} bind def
+/pdf_dictOp
+{
+3 2 roll
+10 dict copy
+begin
+_Filters dup length 1 sub get def
+currentdict exch exec
+_Filters pdf_flushfilters
+end
+} [/_Filters] bld
+/pdf_imagemask {{imagemask} /DataSource pdf_dictOp} bd
+/pdf_shfill {{sh} /DataSource pdf_dictOp} bd
+/pdf_sethalftone {{sethalftone} /Thresholds pdf_dictOp} bd
+/masks [ 2#10000000
+2#11000000
+2#11100000
+2#11110000
+2#11111000
+2#11111100
+2#11111110
+2#11111111 ] def
+/addNBits
+{
+/numBits exch def
+/byte exch def
+OutBitOffset numBits add 8 gt
+{
+byte OutBitOffset 8 sub bitshift
+OutBuffer OutByteIndex get or
+OutBuffer OutByteIndex 3 -1 roll put
+/OutByteIndex OutByteIndex 1 add def
+/bitsDoneSoFar OutBitOffset def
+/OutBitOffset numBits 8 OutBitOffset sub sub def
+OutBitOffset 0 gt
+{
+byte bitsDoneSoFar bitshift
+masks numBits bitsDoneSoFar sub get and
+OutBuffer OutByteIndex 3 -1 roll put
+} if
+}
+{
+byte masks numBits 1 sub get and
+OutBitOffset neg bitshift
+OutBuffer OutByteIndex get or
+OutBuffer OutByteIndex 3 -1 roll put
+/OutBitOffset OutBitOffset numBits add def
+OutBitOffset 8 eq
+{
+/OutBitOffset 0 def
+/OutByteIndex OutByteIndex 1 add def
+} if
+} ifelse
+} bind def
+/DevNNFilter
+{
+/InBuffer Width NumComps mul BitsPerComponent mul 7 add 8 idiv string def
+AllSource InBuffer readstring pop pop
+/outlen Width NewNumComps mul BitsPerComponent mul 7 add 8 idiv def
+/OutBuffer outlen string def
+0 1 outlen 1 sub { OutBuffer exch 0 put } for
+/InByteIndex 0 def
+/InBitOffset 0 def
+/OutByteIndex 0 def
+/OutBitOffset 0 def
+/KeepArray NumComps array def
+0 1 NumComps 1 sub { KeepArray exch true put } for
+DevNNones { KeepArray exch false put } forall
+Width {
+KeepArray
+{
+{
+/bitsLeft BitsPerComponent def
+{
+bitsLeft 0 le { exit } if
+/bitsToDo 8 InBitOffset sub dup bitsLeft gt { pop bitsLeft } if def
+InBuffer InByteIndex get
+InBitOffset bitshift
+bitsToDo addNBits
+/bitsLeft bitsLeft bitsToDo sub def
+InBitOffset bitsToDo add
+dup 8 mod /InBitOffset exch def
+8 idiv InByteIndex add /InByteIndex exch def
+} loop
+}
+{
+InBitOffset BitsPerComponent add
+dup 8 mod /InBitOffset exch def
+8 idiv InByteIndex add /InByteIndex exch def
+}
+ifelse
+}
+forall
+} repeat
+OutBuffer
+} bd
+/pdf_image
+{
+20 dict copy
+begin
+/UnusedNones where { /UnusedNones get}{false} ifelse
+{
+/NumComps Decode length 2 div cvi def
+/OrigDecode Decode def
+/NumNones DevNNones length def
+/NewNumComps NumComps NumNones sub def
+/Decode NewNumComps 2 mul cvi array def
+/devNNindx 0 def
+/decIndx 0 def
+/cmpIndx 0 def
+NumComps {
+cmpIndx DevNNones devNNindx get eq
+{
+/devNNindx devNNindx 1 add dup NumNones eq {pop 0} if def
+}
+{
+Decode decIndx OrigDecode cmpIndx 2 mul get put
+Decode decIndx 1 add OrigDecode cmpIndx 2 mul 1 add get put
+/decIndx decIndx 2 add def
+} ifelse
+/cmpIndx cmpIndx 1 add def
+} repeat
+_Filters dup length 1 sub get /AllSource exch def
+/DataSource { DevNNFilter } def
+}
+{ _Filters dup length 1 sub get /DataSource exch def }
+ifelse
+currentdict image
+_Filters pdf_flushfilters
+end
+} bd
+/pdf_maskedImage
+{
+10 dict copy begin
+/miDict currentdict def
+/DataDict DataDict 10 dict copy def
+DataDict begin
+/DataSource
+_Filters dup length 1 sub get
+def
+miDict image
+_Filters pdf_flushfilters
+end
+miDict /InterleaveType get 3 eq
+{ MaskDict /DataSource get dup type /filetype eq { closefile } { pop } ifelse }
+if
+end
+} [/miDict /DataDict /_Filters] bld
+/RadialShade {
+40 dict begin
+/background exch def
+/ext1 exch def
+/ext0 exch def
+/BBox exch def
+/r2 exch def
+/c2y exch def
+/c2x exch def
+/r1 exch def
+/c1y exch def
+/c1x exch def
+/rampdict exch def
+gsave
+BBox length 0 gt {
+newpath
+BBox 0 get BBox 1 get moveto
+BBox 2 get BBox 0 get sub 0 rlineto
+0 BBox 3 get BBox 1 get sub rlineto
+BBox 2 get BBox 0 get sub neg 0 rlineto
+closepath
+clip
+newpath
+} if
+c1x c2x eq
+{
+c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse
+}
+{
+/slope c2y c1y sub c2x c1x sub div def
+/theta slope 1 atan def
+c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if
+c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if
+}
+ifelse
+gsave
+clippath
+c1x c1y translate
+theta rotate
+-90 rotate
+{ pathbbox } stopped
+{ 0 0 0 0 } if
+/yMax exch def
+/xMax exch def
+/yMin exch def
+/xMin exch def
+grestore
+xMax xMin eq yMax yMin eq or
+{
+grestore
+end
+}
+{
+/max { 2 copy gt { pop } {exch pop} ifelse } bind def
+/min { 2 copy lt { pop } {exch pop} ifelse } bind def
+rampdict begin
+40 dict begin
+background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+gsave
+c1x c1y translate
+theta rotate
+-90 rotate
+/c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
+/c1y 0 def
+/c1x 0 def
+/c2x 0 def
+ext0 {
+0 getrampcolor
+c2y r2 add r1 sub 0.0001 lt
+{
+c1x c1y r1 360 0 arcn
+pathbbox
+/aymax exch def
+/axmax exch def
+/aymin exch def
+/axmin exch def
+/bxMin xMin axmin min def
+/byMin yMin aymin min def
+/bxMax xMax axmax max def
+/byMax yMax aymax max def
+bxMin byMin moveto
+bxMax byMin lineto
+bxMax byMax lineto
+bxMin byMax lineto
+bxMin byMin lineto
+eofill
+}
+{
+c2y r1 add r2 le
+{
+c1x c1y r1 0 360 arc
+fill
+}
+{
+c2x c2y r2 0 360 arc fill
+r1 r2 eq
+{
+/p1x r1 neg def
+/p1y c1y def
+/p2x r1 def
+/p2y c1y def
+p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
+fill
+}
+{
+/AA r2 r1 sub c2y div def
+AA -1 eq
+{ /theta 89.99 def}
+{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+ifelse
+/SS1 90 theta add dup sin exch cos div def
+/p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+/p1y p1x SS1 div neg def
+/SS2 90 theta sub dup sin exch cos div def
+/p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+/p2y p2x SS2 div neg def
+r1 r2 gt
+{
+/L1maxX p1x yMin p1y sub SS1 div add def
+/L2maxX p2x yMin p2y sub SS2 div add def
+}
+{
+/L1maxX 0 def
+/L2maxX 0 def
+}ifelse
+p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+fill
+}
+ifelse
+}
+ifelse
+} ifelse
+} if
+c1x c2x sub dup mul
+c1y c2y sub dup mul
+add 0.5 exp
+0 dtransform
+dup mul exch dup mul add 0.5 exp 72 div
+0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+1 index 1 index lt { exch } if pop
+/hires exch def
+hires mul
+/numpix exch def
+/numsteps NumSamples def
+/rampIndxInc 1 def
+/subsampling false def
+numpix 0 ne
+{
+NumSamples numpix div 0.5 gt
+{
+/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+/rampIndxInc NumSamples 1 sub numsteps div def
+/subsampling true def
+} if
+} if
+/xInc c2x c1x sub numsteps div def
+/yInc c2y c1y sub numsteps div def
+/rInc r2 r1 sub numsteps div def
+/cx c1x def
+/cy c1y def
+/radius r1 def
+newpath
+xInc 0 eq yInc 0 eq rInc 0 eq and and
+{
+0 getrampcolor
+cx cy radius 0 360 arc
+stroke
+NumSamples 1 sub getrampcolor
+cx cy radius 72 hires div add 0 360 arc
+0 setlinewidth
+stroke
+}
+{
+0
+numsteps
+{
+dup
+subsampling { round } if
+getrampcolor
+cx cy radius 0 360 arc
+/cx cx xInc add def
+/cy cy yInc add def
+/radius radius rInc add def
+cx cy radius 360 0 arcn
+eofill
+rampIndxInc add
+}
+repeat
+pop
+} ifelse
+ext1 {
+c2y r2 add r1 lt
+{
+c2x c2y r2 0 360 arc
+fill
+}
+{
+c2y r1 add r2 sub 0.0001 le
+{
+c2x c2y r2 360 0 arcn
+pathbbox
+/aymax exch def
+/axmax exch def
+/aymin exch def
+/axmin exch def
+/bxMin xMin axmin min def
+/byMin yMin aymin min def
+/bxMax xMax axmax max def
+/byMax yMax aymax max def
+bxMin byMin moveto
+bxMax byMin lineto
+bxMax byMax lineto
+bxMin byMax lineto
+bxMin byMin lineto
+eofill
+}
+{
+c2x c2y r2 0 360 arc fill
+r1 r2 eq
+{
+/p1x r2 neg def
+/p1y c2y def
+/p2x r2 def
+/p2y c2y def
+p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
+fill
+}
+{
+/AA r2 r1 sub c2y div def
+AA -1 eq
+{ /theta 89.99 def}
+{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+ifelse
+/SS1 90 theta add dup sin exch cos div def
+/p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+/p1y c2y p1x SS1 div sub def
+/SS2 90 theta sub dup sin exch cos div def
+/p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+/p2y c2y p2x SS2 div sub def
+r1 r2 lt
+{
+/L1maxX p1x yMax p1y sub SS1 div add def
+/L2maxX p2x yMax p2y sub SS2 div add def
+}
+{
+/L1maxX 0 def
+/L2maxX 0 def
+}ifelse
+p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+fill
+}
+ifelse
+}
+ifelse
+} ifelse
+} if
+grestore
+grestore
+end
+end
+end
+} ifelse
+} bd
+/GenStrips {
+40 dict begin
+/background exch def
+/ext1 exch def
+/ext0 exch def
+/BBox exch def
+/y2 exch def
+/x2 exch def
+/y1 exch def
+/x1 exch def
+/rampdict exch def
+gsave
+BBox length 0 gt {
+newpath
+BBox 0 get BBox 1 get moveto
+BBox 2 get BBox 0 get sub 0 rlineto
+0 BBox 3 get BBox 1 get sub rlineto
+BBox 2 get BBox 0 get sub neg 0 rlineto
+closepath
+clip
+newpath
+} if
+x1 x2 eq
+{
+y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse
+}
+{
+/slope y2 y1 sub x2 x1 sub div def
+/theta slope 1 atan def
+x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if
+x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if
+}
+ifelse
+gsave
+clippath
+x1 y1 translate
+theta rotate
+{ pathbbox } stopped
+{ 0 0 0 0 } if
+/yMax exch def
+/xMax exch def
+/yMin exch def
+/xMin exch def
+grestore
+xMax xMin eq yMax yMin eq or
+{
+grestore
+end
+}
+{
+rampdict begin
+20 dict begin
+background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+gsave
+x1 y1 translate
+theta rotate
+/xStart 0 def
+/xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
+/ySpan yMax yMin sub def
+/numsteps NumSamples def
+/rampIndxInc 1 def
+/subsampling false def
+xStart 0 transform
+xEnd 0 transform
+3 -1 roll
+sub dup mul
+3 1 roll
+sub dup mul
+add 0.5 exp 72 div
+0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+1 index 1 index lt { exch } if pop
+mul
+/numpix exch def
+numpix 0 ne
+{
+NumSamples numpix div 0.5 gt
+{
+/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+/rampIndxInc NumSamples 1 sub numsteps div def
+/subsampling true def
+} if
+} if
+ext0 {
+0 getrampcolor
+xMin xStart lt
+{ xMin yMin xMin neg ySpan rectfill } if
+} if
+/xInc xEnd xStart sub numsteps div def
+/x xStart def
+0
+numsteps
+{
+dup
+subsampling { round } if
+getrampcolor
+x yMin xInc ySpan rectfill
+/x x xInc add def
+rampIndxInc add
+}
+repeat
+pop
+ext1 {
+xMax xEnd gt
+{ xEnd yMin xMax xEnd sub ySpan rectfill } if
+} if
+grestore
+grestore
+end
+end
+end
+} ifelse
+} bd
+/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse
+{
+/PDFMark5 {cleartomark} bd
+}
+{
+/PDFMark5 {pdfmark} bd
+}ifelse
+/ReadByPDFMark5
+{
+2 dict begin
+/makerString exch def string /tmpString exch def
+{
+currentfile tmpString readline pop
+makerString anchorsearch
+{
+pop pop cleartomark exit
+}
+{
+3 copy /PUT PDFMark5 pop 2 copy (\n) /PUT PDFMark5
+} ifelse
+}loop
+end
+}bd
+%%EndResource
+%%BeginResource: procset pdflev3 6.0 1
+%%Copyright: Copyright 1987-2001,2003 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: PDF operators, with code specific for Level 3
+/docinitialize {
+PDF begin
+/_defaulthalftone currenthalftone dd
+/_defaultblackgeneration currentblackgeneration dd
+/_defaultundercolorremoval currentundercolorremoval dd
+/_defaultcolortransfer [currentcolortransfer] dd
+/_defaulttransfer currenttransfer dd
+end
+PDFVars /docSetupDone true put
+} bd
+/_processColors
+currentpagedevice /ProcessColorModel getifknown
+{ << /DeviceGray [/Gray]
+/DeviceRGB [/Red /Green /Blue]
+/DeviceCMYK [/Cyan /Magenta /Yellow /Black]
+/DeviceCMY [/Cyan /Magenta /Yellow]
+/DeviceRGBK [/Red /Green /Blue /Black]
+>> exch getifknown {} {[]} ifelse }
+{[]}
+ifelse
+def
+/initialize {
+PDFVars /docSetupDone get
+{
+_defaulthalftone sethalftone
+/_defaultblackgeneration load setblackgeneration
+/_defaultundercolorremoval load setundercolorremoval
+_defaultcolortransfer aload pop setcolortransfer
+}if
+false setoverprint
+} bd
+/terminate { } bd
+/c /curveto ld
+/cs /setcolorspace ld
+/l /lineto ld
+/m /moveto ld
+/q /gsave ld
+/Q /grestore ld
+/sc /setcolor ld
+/setSA/setstrokeadjust ld
+/re {
+4 2 roll m
+1 index 0 rlineto
+0 exch rlineto
+neg 0 rlineto
+h
+} bd
+/rssds
+{
+/Shading get /DataSource get resetfile
+} bd
+/sh
+{ dup /DataSource known
+{ dup begin
+DataSource type /filetype eq { DataSource resetfile } if
+end
+} if
+shfill
+} [/DataSource] bld
+/concattransferfuncs {
+[ 3 1 roll /exec load exch /exec load ] cvx
+} bd
+/concatandsettransfer {
+/_defaulttransfer load concattransferfuncs settransfer
+} bd
+/concatandsetcolortransfer {
+_defaultcolortransfer aload pop
+8 -1 roll 5 -1 roll concattransferfuncs 7 1 roll
+6 -1 roll 4 -1 roll concattransferfuncs 5 1 roll
+4 -1 roll 3 -1 roll concattransferfuncs 3 1 roll
+concattransferfuncs
+setcolortransfer
+} bd
+/defineRes/defineresource ld
+/undefineRes/undefineresource ld
+/findRes/findresource ld
+currentglobal
+true systemdict /setglobal get exec
+[/Function /ExtGState /Form /Shading /FunctionDictionary /MadePattern /PatternPrototype /DataSource /Image]
+{ /Generic /Category findresource dup length dict copy /Category defineresource pop }
+forall
+systemdict /setglobal get exec
+/ri {
+/findcolorrendering isdefined?
+{
+mark exch
+findcolorrendering
+counttomark 2 eq
+{ type /booleantype eq
+{ dup type /nametype eq
+{ dup /ColorRendering resourcestatus
+{ pop pop
+dup /DefaultColorRendering ne
+{
+/ColorRendering findresource
+setcolorrendering
+} if
+} if
+} if
+} if
+} if
+cleartomark
+}
+{ pop
+} ifelse
+} bd
+/CMYKDeviceNColorspaces [
+[/Separation /None /DeviceCMYK {0 0 0}] bind
+[/Separation (Black)
+/DeviceCMYK {0 0 0 4 -1 roll}] bind
+[/Separation (Yellow)
+/DeviceCMYK {0 0 3 -1 roll 0}] bind
+[/DeviceN [(Yellow) (Black)]
+/DeviceCMYK {0 0 4 2 roll}] bind
+[/Separation (Magenta)
+/DeviceCMYK {0 exch 0 0}] bind
+[/DeviceN [(Magenta) (Black)]
+/DeviceCMYK {0 3 1 roll 0 exch}] bind
+[/DeviceN [(Magenta) (Yellow)]
+/DeviceCMYK {0 3 1 roll 0}] bind
+[/DeviceN [(Magenta) (Yellow) (Black)]
+/DeviceCMYK {0 4 1 roll}] bind
+[/Separation (Cyan)
+/DeviceCMYK {0 0 0}] bind
+[/DeviceN [(Cyan) (Black)]
+/DeviceCMYK {0 0 3 -1 roll}] bind
+[/DeviceN [(Cyan) (Yellow)]
+/DeviceCMYK {0 exch 0}] bind
+[/DeviceN [(Cyan) (Yellow) (Black)]
+/DeviceCMYK {0 3 1 roll}] bind
+[/DeviceN [(Cyan) (Magenta)]
+/DeviceCMYK {0 0}] bind
+[/DeviceN [(Cyan) (Magenta) (Black)]
+/DeviceCMYK {0 exch}] bind
+[/DeviceN [(Cyan) (Magenta) (Yellow)]
+/DeviceCMYK {0}] bind
+[/DeviceCMYK] bind
+] def
+/nzopmsc {
+6 dict begin
+/kk exch def
+/yy exch def
+/mm exch def
+/cc exch def
+/sum 0 def
+cc 0 ne {/sum sum 2#1000 or def cc} if
+mm 0 ne {/sum sum 2#0100 or def mm} if
+yy 0 ne {/sum sum 2#0010 or def yy} if
+kk 0 ne {/sum sum 2#0001 or def kk} if
+CMYKDeviceNColorspaces sum get setcolorspace
+sum 0 eq {0} if
+end
+setcolor
+} [/cc /mm /yy /kk /sum] bld
+/every? {
+true
+3 2 roll
+{ 2 index exec not {pop false exit} if } forall
+exch pop
+} bd
+/knownColorants? {
+3 dict begin
+/colorants exch def
+{
+colorants length 0 eq {stop} if
+/DeviceN /ColorSpaceFamily findresource pop
+/cpd currentpagedevice def
+/dc 10 dict def
+cpd /SeparationColorNames getifknown
+{ { dc exch 0 put } forall } if
+_processColors { dc exch 0 put } forall
+colorants {dc exch known} every?
+} stopped
+{ false }
+if
+end
+} [/colorants /dc /cpd] bld
+/getrampcolor {
+cvi
+/indx exch def
+0 1 NumComp 1 sub {
+dup
+Samples exch get
+dup type /stringtype eq { indx get } if
+exch
+Scaling exch get aload pop
+3 1 roll
+mul add
+} for
+setcolor
+} bd
+%%EndResource
+%%BeginResource: procset pdftext 6.0 1
+%%Copyright: Copyright 1987-2001,2003 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Text operators for PDF
+PDF /PDFText 78 dict dup begin put
+/docinitialize
+{
+/resourcestatus where {
+pop
+/CIDParams /ProcSet resourcestatus {
+pop pop
+false /CIDParams /ProcSet findresource /SetBuildCompatible get exec
+} if
+} if
+PDF begin
+PDFText /_pdfDefineIdentity-H known
+{ PDFText /_pdfDefineIdentity-H get exec}
+if
+end
+} bd
+/initialize {
+PDFText begin
+} bd
+/terminate { end } bd
+Level2?
+{
+/_safeput
+{
+3 -1 roll load 3 1 roll put
+}
+bd
+}
+{
+/_safeput
+{
+2 index load dup dup length exch maxlength ge
+{ dup length 5 add dict copy
+3 index xdd
+}
+{ pop }
+ifelse
+3 -1 roll load 3 1 roll put
+}
+bd
+}
+ifelse
+/pdf_has_composefont? systemdict /composefont known def
+/CopyFont {
+{
+1 index /FID ne 2 index /UniqueID ne and
+{ def } { pop pop } ifelse
+} forall
+} bd
+/Type0CopyFont
+{
+exch
+dup length dict
+begin
+CopyFont
+[
+exch
+FDepVector
+{
+dup /FontType get 0 eq
+{
+1 index Type0CopyFont
+/_pdfType0 exch definefont
+}
+{
+/_pdfBaseFont exch
+2 index exec
+}
+ifelse
+exch
+}
+forall
+pop
+]
+/FDepVector exch def
+currentdict
+end
+} bd
+Level2? {currentglobal true setglobal} if
+/cHexEncoding
+[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
+/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
+/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
+/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
+/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
+/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
+/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
+/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
+/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
+/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
+/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
+/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
+/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
+/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def
+Level2? {setglobal} if
+/modEnc {
+/_enc xdd
+/_icode 0 dd
+counttomark 1 sub -1 0
+{
+index
+dup type /nametype eq
+{
+_enc _icode 3 -1 roll put
+_icode 1 add
+}
+if
+/_icode xdd
+} for
+cleartomark
+_enc
+} bd
+/trEnc {
+/_enc xdd
+255 -1 0 {
+exch dup -1 eq
+{ pop /.notdef }
+{ Encoding exch get }
+ifelse
+_enc 3 1 roll put
+} for
+pop
+_enc
+} bd
+/TE {
+/_i xdd
+StandardEncoding 256 array copy modEnc
+_pdfEncodings exch _i exch put
+} bd
+Level2?
+{
+/pdfPatchCStrings
+{
+currentdict /CharStrings known currentdict /FontType known and
+{
+FontType 1 eq CharStrings type /dicttype eq and
+{
+CharStrings /mu known CharStrings /mu1 known not and CharStrings wcheck and
+{
+CharStrings /mu get
+type /stringtype eq
+{
+currentglobal
+CharStrings /mu1
+CharStrings /mu get
+dup gcheck setglobal
+dup length string copy
+put
+setglobal
+} if
+} if
+} if
+} if
+} bd
+}
+{ /pdfPatchCStrings {} bd }
+ifelse
+/TZ
+{
+/_usePDFEncoding xdd
+findfont
+dup length 6 add dict
+begin
+{
+1 index /FID ne { def } { pop pop } ifelse
+} forall
+pdfPatchCStrings
+/pdf_origFontName FontName def
+/FontName exch def
+currentdict /PaintType known
+{ PaintType 2 eq {/PaintType 0 def} if }
+if
+_usePDFEncoding 0 ge
+{
+/Encoding _pdfEncodings _usePDFEncoding get def
+pop
+}
+{
+_usePDFEncoding -1 eq
+{
+counttomark 0 eq
+{ pop }
+{
+Encoding 256 array copy
+modEnc /Encoding exch def
+}
+ifelse
+}
+{
+256 array
+trEnc /Encoding exch def
+}
+ifelse
+}
+ifelse
+pdf_EuroProcSet pdf_origFontName known
+{
+pdf_origFontName pdf_AddEuroGlyphProc
+} if
+Level2?
+{
+currentdict /pdf_origFontName undef
+} if
+FontName currentdict
+end
+definefont pop
+}
+bd
+Level2?
+{
+/TZG
+{
+currentglobal true setglobal
+2 index _pdfFontStatus
+{
+2 index findfont
+false setglobal
+3 index findfont
+true setglobal
+ne
+{
+2 index findfont dup rcheck
+{
+dup length dict begin
+{
+1 index /FID ne { def } { pop pop } ifelse
+} forall
+pdfPatchCStrings
+currentdict end
+}
+if
+3 index exch definefont pop
+}
+if
+} if
+setglobal
+TZ
+} bd
+}
+{
+/TZG {TZ} bd
+} ifelse
+Level2?
+{
+currentglobal false setglobal
+userdict /pdftext_data 5 dict put
+pdftext_data
+begin
+/saveStacks
+{
+pdftext_data
+begin
+/vmmode currentglobal def
+false setglobal
+count array astore /os exch def
+end
+countdictstack array dictstack pdftext_data exch /ds exch put
+cleardictstack pdftext_data /dscount countdictstack put
+pdftext_data /vmmode get setglobal
+} bind def
+/restoreStacks
+{
+pdftext_data /vmmode currentglobal put false setglobal
+clear cleardictstack
+pdftext_data /ds get dup
+pdftext_data /dscount get 1 2 index length 1 sub
+{ get begin dup } for
+pop pop
+pdftext_data /os get aload pop
+pdftext_data /vmmode get setglobal
+} bind def
+/testForClonePrinterBug
+{
+currentglobal true setglobal
+/undefinedCategory /Generic /Category findresource
+dup length dict copy /Category defineresource pop
+setglobal
+pdftext_data /saveStacks get exec
+pdftext_data /vmmode currentglobal put false setglobal
+/undefined /undefinedCategory { resourcestatus } stopped
+pdftext_data exch /bugFound exch put
+pdftext_data /vmmode get setglobal
+pdftext_data /restoreStacks get exec
+pdftext_data /bugFound get
+} bind def
+end
+setglobal
+/pdf_resourcestatus
+pdftext_data /testForClonePrinterBug get exec
+{
+{
+pdftext_data /saveStacks get exec
+pdftext_data /os get dup dup length 1 sub
+dup 1 sub dup 0 lt { pop 0 } if
+exch 1 exch { get exch dup } for
+pop pop
+{ resourcestatus }
+stopped
+{
+clear cleardictstack pdftext_data /restoreStacks get exec
+{ pop pop } stopped pop false
+}
+{
+count array astore pdftext_data exch /results exch put
+pdftext_data /restoreStacks get exec pop pop
+pdftext_data /results get aload pop
+}
+ifelse
+}
+}
+{ { resourcestatus } }
+ifelse
+bd
+}
+if
+Level2?
+{
+/_pdfUndefineResource
+{
+currentglobal 3 1 roll
+_pdf_FontDirectory 2 index 2 copy known
+{undef}
+{pop pop}
+ifelse
+1 index (pdf) exch _pdfConcatNames 1 index
+1 index 1 _pdfConcatNames 1 index
+5 index 1 _pdfConcatNames 1 index
+4
+{
+2 copy pdf_resourcestatus
+{
+pop 2 lt
+{2 copy findresource gcheck setglobal undefineresource}
+{pop pop}
+ifelse
+}
+{ pop pop}
+ifelse
+} repeat
+setglobal
+} bd
+}
+{
+/_pdfUndefineResource { pop pop} bd
+}
+ifelse
+Level2?
+{
+/_pdfFontStatus
+{
+currentglobal exch
+/Font pdf_resourcestatus
+{pop pop true}
+{false}
+ifelse
+exch setglobal
+} bd
+}
+{
+/_pdfFontStatusString 50 string def
+_pdfFontStatusString 0 (fonts/) putinterval
+/_pdfFontStatus
+{
+FontDirectory 1 index known
+{ pop true }
+{
+_pdfFontStatusString 6 42 getinterval
+cvs length 6 add
+_pdfFontStatusString exch 0 exch getinterval
+{ status } stopped
+{pop false}
+{
+{ pop pop pop pop true}
+{ false }
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+ifelse
+Level2?
+{
+/_pdfCIDFontStatus
+{
+/CIDFont /Category pdf_resourcestatus
+{
+pop pop
+/CIDFont pdf_resourcestatus
+{pop pop true}
+{false}
+ifelse
+}
+{ pop false }
+ifelse
+} bd
+}
+if
+/_pdfString100 100 string def
+/_pdfComposeFontName
+{
+dup length 1 eq
+{
+0 get
+1 index
+type /nametype eq
+{
+_pdfString100 cvs
+length dup dup _pdfString100 exch (-) putinterval
+_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval
+2 index exch cvs length
+add 1 add _pdfString100 exch 0 exch getinterval
+exch pop
+true
+}
+{
+pop pop
+false
+}
+ifelse
+}
+{
+false
+}
+ifelse
+dup {exch cvn exch} if
+} bd
+/_pdfConcatNames
+{
+exch
+_pdfString100 cvs
+length dup dup _pdfString100 exch (-) putinterval
+_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval
+3 -1 roll exch cvs length
+add 1 add _pdfString100 exch 0 exch getinterval
+cvn
+} bind def
+/_pdfTextTempString 50 string def
+/_pdfRegOrderingArray [(Adobe-Japan1) (Adobe-CNS1) (Adobe-Korea1) (Adobe-GB1)] def
+/_pdf_CheckCIDSystemInfo
+{
+1 index _pdfTextTempString cvs
+(Identity) anchorsearch
+{
+pop pop pop pop true
+}
+{
+false
+_pdfRegOrderingArray
+{
+2 index exch
+anchorsearch
+{ pop pop pop true exit}
+{ pop }
+ifelse
+}
+forall
+exch pop
+exch /CIDFont findresource
+/CIDSystemInfo get
+3 -1 roll /CMap findresource
+/CIDSystemInfo get
+exch
+3 -1 roll
+{
+2 copy
+/Supplement get
+exch
+dup type /dicttype eq
+{/Supplement get}
+{pop 0 }
+ifelse
+ge
+}
+{ true }
+ifelse
+{
+dup /Registry get
+2 index /Registry get eq
+{
+/Ordering get
+exch /Ordering get
+dup type /arraytype eq
+{
+1 index type /arraytype eq
+{
+true
+1 index length 1 sub -1 0
+{
+dup 2 index exch get exch 3 index exch get ne
+{ pop false exit}
+if
+} for
+exch pop exch pop
+}
+{ pop pop false }
+ifelse
+}
+{
+eq
+}
+ifelse
+}
+{ pop pop false }
+ifelse
+}
+{ pop pop false }
+ifelse
+}
+ifelse
+} bind def
+pdf_has_composefont?
+{
+/_pdfComposeFont
+{
+2 copy _pdfComposeFontName not
+{
+2 index
+}
+if
+(pdf) exch _pdfConcatNames
+dup _pdfFontStatus
+{ dup findfont 5 2 roll pop pop pop true}
+{
+4 1 roll
+1 index /CMap pdf_resourcestatus
+{
+pop pop
+true
+}
+{false}
+ifelse
+1 index true exch
+{
+_pdfCIDFontStatus not
+{pop false exit}
+if
+}
+forall
+and
+{
+1 index 1 index 0 get _pdf_CheckCIDSystemInfo
+{
+3 -1 roll pop
+2 index 3 1 roll
+composefont true
+}
+{
+pop pop exch pop false
+}
+ifelse
+}
+{
+_pdfComposeFontName
+{
+dup _pdfFontStatus
+{
+exch pop
+1 index exch
+findfont definefont true
+}
+{
+pop exch pop
+false
+}
+ifelse
+}
+{
+exch pop
+false
+}
+ifelse
+}
+ifelse
+{ true }
+{
+dup _pdfFontStatus
+{ dup findfont true }
+{ pop false }
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+{
+/_pdfComposeFont
+{
+_pdfComposeFontName not
+{
+dup
+}
+if
+dup
+_pdfFontStatus
+{exch pop dup findfont true}
+{
+1 index
+dup type /nametype eq
+{pop}
+{cvn}
+ifelse
+eq
+{pop false}
+{
+dup _pdfFontStatus
+{dup findfont true}
+{pop false}
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+ifelse
+/_pdfStyleDicts 4 dict dup begin
+/Adobe-Japan1 4 dict dup begin
+Level2?
+{
+/Serif
+/HeiseiMin-W3-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiMin-W3}
+{
+/HeiseiMin-W3 _pdfCIDFontStatus
+{/HeiseiMin-W3}
+{/Ryumin-Light}
+ifelse
+}
+ifelse
+def
+/SansSerif
+/HeiseiKakuGo-W5-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiKakuGo-W5}
+{
+/HeiseiKakuGo-W5 _pdfCIDFontStatus
+{/HeiseiKakuGo-W5}
+{/GothicBBB-Medium}
+ifelse
+}
+ifelse
+def
+/HeiseiMaruGo-W4-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiMaruGo-W4}
+{
+/HeiseiMaruGo-W4 _pdfCIDFontStatus
+{/HeiseiMaruGo-W4}
+{
+/Jun101-Light-RKSJ-H _pdfFontStatus
+{ /Jun101-Light }
+{ SansSerif }
+ifelse
+}
+ifelse
+}
+ifelse
+/RoundSansSerif exch def
+/Default Serif def
+}
+{
+/Serif /Ryumin-Light def
+/SansSerif /GothicBBB-Medium def
+{
+(fonts/Jun101-Light-83pv-RKSJ-H) status
+}stopped
+{pop}{
+{ pop pop pop pop /Jun101-Light }
+{ SansSerif }
+ifelse
+/RoundSansSerif exch def
+}ifelse
+/Default Serif def
+}
+ifelse
+end
+def
+/Adobe-Korea1 4 dict dup begin
+/Serif /HYSMyeongJo-Medium def
+/SansSerif /HYGoThic-Medium def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+/Adobe-GB1 4 dict dup begin
+/Serif /STSong-Light def
+/SansSerif /STHeiti-Regular def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+/Adobe-CNS1 4 dict dup begin
+/Serif /MKai-Medium def
+/SansSerif /MHei-Medium def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+end
+def
+/TZzero
+{
+/_wmode xdd
+/_styleArr xdd
+/_regOrdering xdd
+3 copy
+_pdfComposeFont
+{
+5 2 roll pop pop pop
+}
+{
+[
+0 1 _styleArr length 1 sub
+{
+_styleArr exch get
+_pdfStyleDicts _regOrdering 2 copy known
+{
+get
+exch 2 copy known not
+{ pop /Default }
+if
+get
+}
+{
+pop pop pop /Unknown
+}
+ifelse
+}
+for
+]
+exch pop
+2 index 3 1 roll
+_pdfComposeFont
+{3 -1 roll pop}
+{
+findfont dup /FontName get exch
+}
+ifelse
+}
+ifelse
+dup /WMode 2 copy known
+{ get _wmode ne }
+{ pop pop _wmode 1 eq}
+ifelse
+{
+exch _wmode _pdfConcatNames
+dup _pdfFontStatus
+{ exch pop dup findfont false}
+{ exch true }
+ifelse
+}
+{
+dup /FontType get 0 ne
+}
+ifelse
+{
+dup /FontType get 3 eq _wmode 1 eq and
+{
+_pdfVerticalRomanT3Font dup length 10 add dict copy
+begin
+/_basefont exch
+dup length 3 add dict
+begin
+{1 index /FID ne {def}{pop pop} ifelse }
+forall
+/Encoding Encoding dup length array copy
+dup 16#27 /quotesingle put
+dup 16#60 /grave put
+_regOrdering /Adobe-Japan1 eq
+{dup 16#5c /yen put dup 16#a5 /yen put dup 16#b4 /yen put}
+if
+def
+FontName
+currentdict
+end
+definefont
+def
+/Encoding _basefont /Encoding get def
+/_fauxfont true def
+}
+{
+dup length 3 add dict
+begin
+{1 index /FID ne {def}{pop pop} ifelse }
+forall
+FontType 0 ne
+{
+/Encoding Encoding dup length array copy
+dup 16#27 /quotesingle put
+dup 16#60 /grave put
+_regOrdering /Adobe-Japan1 eq
+{dup 16#5c /yen put}
+if
+def
+/_fauxfont true def
+} if
+} ifelse
+/WMode _wmode def
+dup dup /FontName exch def
+currentdict
+end
+definefont pop
+}
+{
+pop
+}
+ifelse
+/_pdf_FontDirectory 3 1 roll _safeput
+}
+bd
+Level2?
+{
+/Tf {
+_pdf_FontDirectory 2 index 2 copy known
+{get exch 3 -1 roll pop}
+{pop pop}
+ifelse
+selectfont
+} bd
+}
+{
+/Tf {
+_pdf_FontDirectory 2 index 2 copy known
+{get exch 3 -1 roll pop}
+{pop pop}
+ifelse
+exch findfont exch
+dup type /arraytype eq
+{makefont}
+{scalefont}
+ifelse
+setfont
+} bd
+}
+ifelse
+/cshow where
+{
+pop /pdf_cshow /cshow load dd
+/pdf_remove2 {pop pop} dd
+}
+{
+/pdf_cshow {exch forall} dd
+/pdf_remove2 {} dd
+} ifelse
+/pdf_xshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+_pdf_x _pdf_y moveto
+0
+rmoveto
+}
+ifelse
+_pdf_i 1 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdf_yshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+_pdf_x _pdf_y moveto
+0 exch
+rmoveto
+}
+ifelse
+_pdf_i 1 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdf_xyshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+1 pop
+{_pdf_na _pdf_i 1 add get} stopped
+{ pop pop pop}
+{
+_pdf_x _pdf_y moveto
+rmoveto
+}
+ifelse
+}
+ifelse
+_pdf_i 2 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdfl1xs {/_pdf_showproc /show load dd pdf_xshow} bd
+/pdfl1ys {/_pdf_showproc /show load dd pdf_yshow} bd
+/pdfl1xys {/_pdf_showproc /show load dd pdf_xyshow} bd
+Level2? _ColorSep5044? not and
+{
+/pdfxs {{xshow} stopped {pdfl1xs} if} bd
+/pdfys {{yshow} stopped {pdfl1ys} if} bd
+/pdfxys {{xyshow} stopped {pdfl1xys} if} bd
+}
+{
+/pdfxs /pdfl1xs load dd
+/pdfys /pdfl1ys load dd
+/pdfxys /pdfl1xys load dd
+} ifelse
+/pdf_charpath {false charpath} bd
+/pdf_xcharpath {/_pdf_showproc /pdf_charpath load dd pdf_xshow} bd
+/pdf_ycharpath {/_pdf_showproc /pdf_charpath load dd pdf_yshow} bd
+/pdf_xycharpath {/_pdf_showproc /pdf_charpath load dd pdf_xyshow} bd
+/pdf_strokepath
+{
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 false charpath
+currentpoint S moveto
+} bind
+exch pdf_cshow
+} bd
+/pdf_xstrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xshow} bd
+/pdf_ystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_yshow} bd
+/pdf_xystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xyshow} bd
+Level2? {currentglobal true setglobal} if
+/d0/setcharwidth ld
+/nND {{/.notdef} repeat} bd
+/T3Defs {
+/BuildChar
+{
+1 index /Encoding get exch get
+1 index /BuildGlyph get exec
+}
+def
+/BuildGlyph {
+exch begin
+GlyphProcs exch get exec
+end
+} def
+/_pdfT3Font true def
+} bd
+/_pdfBoldRomanWidthProc
+{
+stringwidth 1 index 0 ne { exch .03 add exch }if setcharwidth
+0 0
+} bd
+/_pdfType0WidthProc
+{
+dup stringwidth 0 0 moveto
+2 index true charpath pathbbox
+0 -1
+7 index 2 div .88
+setcachedevice2
+pop
+0 0
+} bd
+/_pdfType0WMode1WidthProc
+{
+dup stringwidth
+pop 2 div neg -0.88
+2 copy
+moveto
+0 -1
+5 -1 roll true charpath pathbbox
+setcachedevice
+} bd
+/_pdfBoldBaseFont
+11 dict begin
+/FontType 3 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/Encoding cHexEncoding def
+/_setwidthProc /_pdfBoldRomanWidthProc load def
+/_bcstr1 1 string def
+/BuildChar
+{
+exch begin
+_basefont setfont
+_bcstr1 dup 0 4 -1 roll put
+dup
+_setwidthProc
+3 copy
+moveto
+show
+_basefonto setfont
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+pdf_has_composefont?
+{
+/_pdfBoldBaseCIDFont
+11 dict begin
+/CIDFontType 1 def
+/CIDFontName /_pdfBoldBaseCIDFont def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/_setwidthProc /_pdfType0WidthProc load def
+/_bcstr2 2 string def
+/BuildGlyph
+{
+exch begin
+_basefont setfont
+_bcstr2 1 2 index 256 mod put
+_bcstr2 0 3 -1 roll 256 idiv put
+_bcstr2 dup _setwidthProc
+3 copy
+moveto
+show
+_basefonto setfont
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+/_pdfDefineIdentity-H
+{
+/Identity-H /CMap PDFText /pdf_resourcestatus get exec
+{
+pop pop
+}
+{
+/CIDInit/ProcSet findresource begin 12 dict begin
+begincmap
+/CIDSystemInfo
+3 dict begin
+/Registry (Adobe) def
+/Ordering (Identity) def
+/Supplement 0 def
+currentdict
+end
+def
+/CMapName /Identity-H def
+/CMapVersion 1 def
+/CMapType 1 def
+1 begincodespacerange
+<0000> <ffff>
+endcodespacerange
+1 begincidrange
+<0000> <ffff> 0
+endcidrange
+endcmap
+CMapName currentdict/CMap defineresource pop
+end
+end
+} ifelse
+} def
+} if
+/_pdfVerticalRomanT3Font
+10 dict begin
+/FontType 3 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/_bcstr1 1 string def
+/BuildChar
+{
+exch begin
+_basefont setfont
+_bcstr1 dup 0 4 -1 roll put
+dup
+_pdfType0WidthProc
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+Level2? {setglobal} if
+/MakeBoldFont
+{
+dup /ct_SyntheticBold known
+{
+dup length 3 add dict begin
+CopyFont
+/ct_StrokeWidth .03 0 FontMatrix idtransform pop def
+/ct_SyntheticBold true def
+currentdict
+end
+definefont
+}
+{
+dup dup length 3 add dict
+begin
+CopyFont
+/PaintType 2 def
+/StrokeWidth .03 0 FontMatrix idtransform pop def
+/dummybold currentdict
+end
+definefont
+dup /FontType get dup 9 ge exch 11 le and
+{
+_pdfBoldBaseCIDFont
+dup length 3 add dict copy begin
+dup /CIDSystemInfo get /CIDSystemInfo exch def
+/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont
+/_basefont exch def
+/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont
+/_basefonto exch def
+currentdict
+end
+/CIDFont defineresource
+}
+{
+_pdfBoldBaseFont
+dup length 3 add dict copy begin
+/_basefont exch def
+/_basefonto exch def
+currentdict
+end
+definefont
+}
+ifelse
+}
+ifelse
+} bd
+/MakeBold {
+1 index
+_pdf_FontDirectory 2 index 2 copy known
+{get}
+{exch pop}
+ifelse
+findfont
+dup
+/FontType get 0 eq
+{
+dup /WMode known {dup /WMode get 1 eq }{false} ifelse
+version length 4 ge
+and
+{version 0 4 getinterval cvi 2015 ge }
+{true}
+ifelse
+{/_pdfType0WidthProc}
+{/_pdfType0WMode1WidthProc}
+ifelse
+_pdfBoldBaseFont /_setwidthProc 3 -1 roll load put
+{MakeBoldFont} Type0CopyFont definefont
+}
+{
+dup /_fauxfont known not 1 index /SubstMaster known not and
+{
+_pdfBoldBaseFont /_setwidthProc /_pdfBoldRomanWidthProc load put
+MakeBoldFont
+}
+{
+2 index 2 index eq
+{ exch pop }
+{
+dup length dict begin
+CopyFont
+currentdict
+end
+definefont
+}
+ifelse
+}
+ifelse
+}
+ifelse
+pop pop
+dup /dummybold ne
+{/_pdf_FontDirectory exch dup _safeput }
+{ pop }
+ifelse
+}bd
+/MakeItalic {
+_pdf_FontDirectory exch 2 copy known
+{get}
+{exch pop}
+ifelse
+dup findfont
+dup /FontInfo 2 copy known
+{
+get
+/ItalicAngle 2 copy known
+{get 0 eq }
+{ pop pop true}
+ifelse
+}
+{ pop pop true}
+ifelse
+{
+exch pop
+dup /FontType get 0 eq Level2? not and
+{ dup /FMapType get 6 eq }
+{ false }
+ifelse
+{
+dup /WMode 2 copy known
+{
+get 1 eq
+{ _italMtx_WMode1Type0 }
+{ _italMtxType0 }
+ifelse
+}
+{ pop pop _italMtxType0 }
+ifelse
+}
+{
+dup /WMode 2 copy known
+{
+get 1 eq
+{ _italMtx_WMode1 }
+{ _italMtx }
+ifelse
+}
+{ pop pop _italMtx }
+ifelse
+}
+ifelse
+makefont
+dup /FontType get 42 eq Level2? not or
+{
+dup length dict begin
+CopyFont
+currentdict
+end
+}
+if
+1 index exch
+definefont pop
+/_pdf_FontDirectory exch dup _safeput
+}
+{
+pop
+2 copy ne
+{
+/_pdf_FontDirectory 3 1 roll _safeput
+}
+{ pop pop }
+ifelse
+}
+ifelse
+}bd
+/MakeBoldItalic {
+/dummybold exch
+MakeBold
+/dummybold
+MakeItalic
+}bd
+Level2?
+{
+/pdf_CopyDict
+{1 index length add dict copy}
+def
+}
+{
+/pdf_CopyDict
+{
+1 index length add dict
+1 index wcheck
+{ copy }
+{ begin
+{def} forall
+currentdict
+end
+}
+ifelse
+}
+def
+}
+ifelse
+/pdf_AddEuroGlyphProc
+{
+currentdict /CharStrings known
+{
+CharStrings /Euro known not
+{
+dup
+/CharStrings
+CharStrings 1 pdf_CopyDict
+begin
+/Euro pdf_EuroProcSet 4 -1 roll get def
+currentdict
+end
+def
+/pdf_PSBuildGlyph /pdf_PSBuildGlyph load def
+/pdf_PathOps /pdf_PathOps load def
+/Symbol eq Encoding 160 get /.notdef eq and
+{
+/Encoding Encoding dup length array copy
+dup 160 /Euro put def
+}
+if
+}
+{ pop
+}
+ifelse
+}
+{ pop
+}
+ifelse
+}
+def
+Level2? {currentglobal true setglobal} if
+/pdf_PathOps 4 dict dup begin
+/m {moveto} def
+/l {lineto} def
+/c {curveto} def
+/cp {closepath} def
+end
+def
+/pdf_PSBuildGlyph
+{
+gsave
+8 -1 roll pop
+7 1 roll
+currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse
+dup 9 1 roll
+{
+currentdict /StrokeWidth 2 copy known
+{
+get 2 div
+5 1 roll
+4 -1 roll 4 index sub
+4 1 roll
+3 -1 roll 4 index sub
+3 1 roll
+exch 4 index add exch
+4 index add
+5 -1 roll pop
+}
+{
+pop pop
+}
+ifelse
+}
+if
+setcachedevice
+pdf_PathOps begin
+exec
+end
+{
+currentdict /StrokeWidth 2 copy known
+{ get }
+{ pop pop 0 }
+ifelse
+setlinewidth stroke
+}
+{
+fill
+}
+ifelse
+grestore
+} def
+/pdf_EuroProcSet 13 dict def
+pdf_EuroProcSet
+begin
+/Courier-Bold
+{
+600 0 6 -12 585 612
+{
+385 274 m
+180 274 l
+179 283 179 293 179 303 c
+179 310 179 316 180 323 c
+398 323 l
+423 404 l
+197 404 l
+219 477 273 520 357 520 c
+409 520 466 490 487 454 c
+487 389 l
+579 389 l
+579 612 l
+487 612 l
+487 560 l
+449 595 394 612 349 612 c
+222 612 130 529 98 404 c
+31 404 l
+6 323 l
+86 323 l
+86 304 l
+86 294 86 284 87 274 c
+31 274 l
+6 193 l
+99 193 l
+129 77 211 -12 359 -12 c
+398 -12 509 8 585 77 c
+529 145 l
+497 123 436 80 356 80 c
+285 80 227 122 198 193 c
+360 193 l
+cp
+600 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Courier-BoldOblique /Courier-Bold load def
+/Courier
+{
+600 0 17 -12 578 584
+{
+17 204 m
+97 204 l
+126 81 214 -12 361 -12 c
+440 -12 517 17 578 62 c
+554 109 l
+501 70 434 43 366 43 c
+266 43 184 101 154 204 c
+380 204 l
+400 259 l
+144 259 l
+144 270 143 281 143 292 c
+143 299 143 307 144 314 c
+418 314 l
+438 369 l
+153 369 l
+177 464 249 529 345 529 c
+415 529 484 503 522 463 c
+522 391 l
+576 391 l
+576 584 l
+522 584 l
+522 531 l
+473 566 420 584 348 584 c
+216 584 122 490 95 369 c
+37 369 l
+17 314 l
+87 314 l
+87 297 l
+87 284 88 272 89 259 c
+37 259 l
+cp
+600 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Courier-Oblique /Courier load def
+/Helvetica
+{
+556 0 24 -19 541 703
+{
+541 628 m
+510 669 442 703 354 703 c
+201 703 117 607 101 444 c
+50 444 l
+25 372 l
+97 372 l
+97 301 l
+49 301 l
+24 229 l
+103 229 l
+124 67 209 -19 350 -19 c
+435 -19 501 25 509 32 c
+509 131 l
+492 105 417 60 343 60 c
+267 60 204 127 197 229 c
+406 229 l
+430 301 l
+191 301 l
+191 372 l
+455 372 l
+479 444 l
+194 444 l
+201 531 245 624 348 624 c
+433 624 484 583 509 534 c
+cp
+556 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Helvetica-Oblique /Helvetica load def
+/Helvetica-Bold
+{
+556 0 12 -19 563 710
+{
+563 621 m
+537 659 463 710 363 710 c
+216 710 125 620 101 462 c
+51 462 l
+12 367 l
+92 367 l
+92 346 l
+92 337 93 328 93 319 c
+52 319 l
+12 224 l
+102 224 l
+131 58 228 -19 363 -19 c
+417 -19 471 -12 517 18 c
+517 146 l
+481 115 426 93 363 93 c
+283 93 254 166 246 224 c
+398 224 l
+438 319 l
+236 319 l
+236 367 l
+457 367 l
+497 462 l
+244 462 l
+259 552 298 598 363 598 c
+425 598 464 570 486 547 c
+507 526 513 517 517 509 c
+cp
+556 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Helvetica-BoldOblique /Helvetica-Bold load def
+/Symbol
+{
+750 0 20 -12 714 685
+{
+714 581 m
+650 645 560 685 465 685 c
+304 685 165 580 128 432 c
+50 432 l
+20 369 l
+116 369 l
+115 356 115 347 115 337 c
+115 328 115 319 116 306 c
+50 306 l
+20 243 l
+128 243 l
+165 97 300 -12 465 -12 c
+560 -12 635 25 685 65 c
+685 155 l
+633 91 551 51 465 51 c
+340 51 238 131 199 243 c
+555 243 l
+585 306 l
+184 306 l
+183 317 182 326 182 336 c
+182 346 183 356 184 369 c
+614 369 l 644 432 l
+199 432 l
+233 540 340 622 465 622 c
+555 622 636 580 685 520 c
+cp
+750 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Bold
+{
+500 0 16 -14 478 700
+{
+367 308 m
+224 308 l
+224 368 l
+375 368 l
+380 414 l
+225 414 l
+230 589 257 653 315 653 c
+402 653 431 521 444 457 c
+473 457 l
+473 698 l
+444 697 l
+441 679 437 662 418 662 c
+393 662 365 700 310 700 c
+211 700 97 597 73 414 c
+21 414 l
+16 368 l
+69 368 l
+69 359 68 350 68 341 c
+68 330 68 319 69 308 c
+21 308 l
+16 262 l
+73 262 l
+91 119 161 -14 301 -14 c
+380 -14 443 50 478 116 c
+448 136 l
+415 84 382 40 323 40 c
+262 40 231 77 225 262 c
+362 262 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-BoldItalic
+{
+500 0 9 -20 542 686
+{
+542 686 m
+518 686 l
+513 673 507 660 495 660 c
+475 660 457 683 384 683 c
+285 683 170 584 122 430 c
+58 430 l
+34 369 l
+105 369 l
+101 354 92 328 90 312 c
+34 312 l
+9 251 l
+86 251 l
+85 238 84 223 84 207 c
+84 112 117 -14 272 -14 c
+326 -14 349 9 381 9 c
+393 9 393 -10 394 -20 c
+420 -20 l
+461 148 l
+429 148 l
+416 109 362 15 292 15 c
+227 15 197 55 197 128 c
+197 162 204 203 216 251 c
+378 251 l
+402 312 l
+227 312 l
+229 325 236 356 241 369 c
+425 369 l
+450 430 l
+255 430 l
+257 435 264 458 274 488 c
+298 561 337 654 394 654 c
+437 654 484 621 484 530 c
+484 516 l
+516 516 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Italic
+{
+500 0 23 -10 595 692
+{
+399 317 m
+196 317 l
+199 340 203 363 209 386 c
+429 386 l
+444 424 l
+219 424 l
+246 514 307 648 418 648 c
+448 648 471 638 492 616 c
+529 576 524 529 527 479 c
+549 475 l
+595 687 l
+570 687 l
+562 674 558 664 542 664 c
+518 664 474 692 423 692 c
+275 692 162 551 116 424 c
+67 424 l
+53 386 l
+104 386 l
+98 363 93 340 90 317 c
+37 317 l
+23 279 l
+86 279 l
+85 266 85 253 85 240 c
+85 118 137 -10 277 -10 c
+370 -10 436 58 488 128 c
+466 149 l
+424 101 375 48 307 48 c
+212 48 190 160 190 234 c
+190 249 191 264 192 279 c
+384 279 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Roman
+{
+500 0 10 -12 484 692
+{
+347 298 m
+171 298 l
+170 310 170 322 170 335 c
+170 362 l
+362 362 l
+374 403 l
+172 403 l
+184 580 244 642 308 642 c
+380 642 434 574 457 457 c
+481 462 l
+474 691 l
+449 691 l
+433 670 429 657 410 657 c
+394 657 360 692 299 692 c
+204 692 94 604 73 403 c
+22 403 l
+10 362 l
+70 362 l
+69 352 69 341 69 330 c
+69 319 69 308 70 298 c
+22 298 l
+10 257 l
+73 257 l
+97 57 216 -12 295 -12 c
+364 -12 427 25 484 123 c
+458 142 l
+425 101 384 37 316 37 c
+256 37 189 84 173 257 c
+335 257 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+end
+Level2? {setglobal} if
+currentdict readonly pop end
+%%EndResource
+PDFText begin
+[39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
+/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
+/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
+/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
+/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
+/guillemotleft/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
+/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
+/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
+/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
+/hungarumlaut/ogonek/caron
+0 TE
+[1/dotlessi/caron 39/quotesingle 96/grave 
+127/bullet/Euro/bullet/quotesinglbase/florin/quotedblbase/ellipsis
+/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE
+/bullet/Zcaron/bullet/bullet/quoteleft/quoteright/quotedblleft
+/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
+/guilsinglright/oe/bullet/zcaron/Ydieresis/space/exclamdown/cent/sterling
+/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
+/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus
+/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla
+/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters
+/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash
+/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave
+/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde
+/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute
+/ucircumflex/udieresis/yacute/thorn/ydieresis
+1 TE
+end
+%%BeginResource: procset pdfasc.prc 6.0 1
+%%Copyright: Copyright 1992-2003 Adobe Systems Incorporated. All Rights Reserved.
+/ASR {
+13 dict begin
+/mirV? exch def
+/mirH? exch def
+/center? exch def
+/autorotate? exch def
+/angle exch def
+/shrink exch def
+/Pury exch def
+/Purx exch def
+/Plly exch def
+/Pllx exch def
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+Dury 0 eq Durx 0 eq and Dlly 0 eq Dllx 0 eq and and
+{ shrink 0 gt { GClipBBox } { GPageBBox } ifelse }
+{ ITransDBBox }
+ifelse
+/PHt Pury Plly sub def
+/PW Purx Pllx sub def
+/DHt Dury Dlly sub def
+/DW Durx Dllx sub def
+angle 90 eq angle 270 eq or
+{
+PHt /PHt PW def /PW exch def
+} if
+autorotate? PHt PW ne and DHt DW ne and
+{
+DHt DW ge
+PHt PW ge
+ne
+{ /angle angle 90 add def
+PHt /PHt PW def /PW exch def
+}
+if
+} if
+angle 0 ne
+{
+/angle angle 360 mod def
+angle rotate
+angle 90 eq
+{ 0 DW neg translate }
+if
+angle 180 eq
+{ DW neg DHt neg translate }
+if
+angle 270 eq
+{ DHt neg 0 translate }
+if
+} if
+center?
+{
+ITransBBox
+Durx Dllx add 2 div Dury Dlly add 2 div
+Purx Pllx add -2 div Pury Plly add -2 div
+3 -1 roll add exch
+3 -1 roll add exch
+translate
+}
+{
+ITransBBox
+angle 0 eq
+{Dllx Pllx sub Dury Pury sub}
+if
+angle 90 eq
+{Durx Purx sub Dury Pury sub}
+if
+angle 180 eq
+{Durx Purx sub Dlly Plly sub}
+if
+angle 270 eq
+{Dllx Pllx sub Dlly Plly sub}
+if
+translate
+}
+ifelse
+mirH? mirV? or
+{
+ITransBBox
+mirH?
+{
+-1 1 scale
+Durx Dllx add neg 0 translate
+} if
+mirV?
+{
+1 -1 scale
+0 Dury Dlly add neg translate
+} if
+} if
+shrink 0 ne
+{
+ITransBBox
+Dury Dlly sub Pury Plly sub div
+Durx Dllx sub Purx Pllx sub div
+2 copy gt { exch } if pop
+shrink 1 eq
+{
+Durx Dllx add 2 div Dury Dlly add 2 div translate
+dup scale
+Purx Pllx add -2 div Pury Plly add -2 div translate
+}
+{
+shrink 2 eq 1 index 1.0 lt and
+{
+Durx Dllx add 2 div Dury Dlly add 2 div translate
+dup scale
+Purx Pllx add -2 div Pury Plly add -2 div translate
+}
+{ pop }
+ifelse
+}
+ifelse
+} if
+end
+} [/autorotate? /shrink? /mirH? /mirV? /angle /Pury /Purx /Plly /Pllx /Durx /Dury /Dllx /Dlly /PW /PHt /DW /DHt
+/Devurx /Devury /Devllx /Devlly /pdfHt /pdfW]
+bld
+/GClipBBox
+{
+gsave newpath clippath pathbbox newpath grestore
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+ITransDBBox
+} [/Durx /Dury /Dllx /Dlly]
+bld
+/GPageBBox
+{
+{
+currentpagedevice /PageSize get aload pop
+/Devury exch def /Devurx exch def
+/Devllx 0 def /Devlly 0 def
+ITransBBox
+}
+stopped
+{ GClipBBox }
+if
+} [/Devurx /Devury /Devllx /Devlly ]
+bld
+/ITransDBBox
+{
+Durx Dury transform matrix defaultmatrix itransform
+/Devury exch def
+/Devurx exch def
+Dllx Dlly transform matrix defaultmatrix itransform
+/Devlly exch def
+/Devllx exch def
+Devury Devlly lt {/Devlly Devury /Devury Devlly def def} if
+Devurx Devllx lt {/Devllx Devurx /Devurx Devllx def def} if
+} [/Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ]
+bld
+/ITransBBox
+{
+/um matrix currentmatrix matrix defaultmatrix matrix invertmatrix matrix concatmatrix def
+Devllx Devlly um itransform
+Devurx Devury um itransform
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+Dury Dlly lt {/Dlly Dury /Dury Dlly def def} if
+Durx Dllx lt {/Dllx Durx /Durx Dllx def def} if
+} [ /um /Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ]
+bld
+%%EndResource
+currentdict readonly pop
+end end
+/currentpacking where {pop setpacking}if
+PDFVars/DocInitAll{[PDF PDFText]{/docinitialize get exec}forall }put
+PDFVars/InitAll{[PDF PDFText]{/initialize get exec}forall initgs}put
+PDFVars/TermAll{[PDFText PDF]{/terminate get exec}forall}put
+PDFVars begin PDF begin
+PDFVars/DocInitAll get exec PDFVars/InitAll get exec
+
+[/NamespacePush PDFMark5
+[/_objdef {Metadata_In_EPS} /type /stream /OBJ PDFMark5
+[{Metadata_In_EPS} 3388 (% &end XMP packet& %) ReadByPDFMark5
+<?xpacket begin="﻿" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="3.1-702">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/">
+         <xap:CreateDate>2006-09-04T16:06:50+02:00</xap:CreateDate>
+         <xap:ModifyDate>2006-09-04T16:06:50+02:00</xap:ModifyDate>
+         <xap:MetadataDate>2006-09-04T16:06:50+02:00</xap:MetadataDate>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:FBC0119C1E3CDB1190748C71D53A1122</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:FBC0119C1E3CDB1190748C71D53A1122</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:fb342d4d-b4c9-4bcb-b043-834dcc7a7fd0</stRef:instanceID>
+            <stRef:documentID>uuid:74dad325-e4df-49ae-bec3-df08785113c6</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/eps</dc:format>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+
+% &end XMP packet& %
+
+[{Metadata_In_EPS} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT PDFMark5
+[/Document 1 dict begin /Metadata {Metadata_In_EPS} def currentdict end /BDC PDFMark5
+[/NamespacePop PDFMark5
+
+PDFVars/TermAll get exec end end
+
+%%EndSetup
+ PDF /docinitialize get exec
+PDFVars begin PDF begin PDFVars/InitAll get exec
+0.0 0.0 136.08 134.4 rectclip
+q
+0.0 0.0 m
+136.08 0.0 l
+136.08 134.4 l
+0.0 134.4 l
+h
+W
+n
+q
+136.08 0.0 0.0 134.4 0.0 0.0 cm
+q
+n
+0.0 0.0 1.0 1.0 re
+[/DeviceRGB] cs 
+<<
+/ImageType 1
+/Width 567
+/Height 560
+/ImageMatrix [567.0 0.0 0.0 -560.0 0.0 560.0] 
+/BitsPerComponent 8
+/Decode [0.0 1.0 0.0 1.0 0.0 1.0 ] 
+/_Filters [currentfile /ASCII85Decode filter dup /DCTDecode filter dup 
+] >>
+pdf_image s4IA>!"M;*Ddm8XA:OX[!!3,S!/(=\#RC\A#RgtE$kNdS$P4!^%1Nd](_RJq'+u,r
+&el#o'G;)o)]g%A)\aPF-RU8e1,UpH1-7QZ4$,Mc4$,M)%13FN$4ICQ$k<jZ%Ls'b
+%hB0]'GM)j&ePZh'GD/q'bh;q'bqGu'bqH%)B'M4)BKq@*ZcON,9nQ`-S-f"s1eUH
+#Qc[]2Zj()!!3`5!tbS6_uW1)!!*6(!<E3%!<<*"z!rr?'"9eu7#RLhG!<<-(!<E3%
+!<E0#z!!*'$!sAc3#7(VC$P3:="9AT+"9J`3"pbA7$o7na!YGM;+VHL55uD&(,&r/h
+"r*2nYsKZ\'iMkW1Gj-(d6e-bP#Ll/nRHVt(8A*e-:F%sA4=A1F>ar`<T7T\Z\66F
+FlW'_-^:E\[$ASZjRf:V`RX)C<b?N0QDV+1f&lZb7os>ILR4pJa4KMK&HDk6!<NB,
+!sAc3#6tG73ro<_&Ha12&d1Kt@<!J)"YtXk'VVcu,Jd:*n1u>!iGsO56W4_0F#<D5
+"r<r=K*N_\_U:i9<217?79)6fA`E9eKYu8]j7>a)UkQ1@`73l?V7":mjn2YdG(u<[
+[`6n\p*Vdh=(c`4Q`%=5fB;o.g&MN`!<<05!tbMt!;0<S8L5f2P"A8;,a)&g8L0Or
+P"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f
+8L5g)rrD']XS#>TR>G9HaaFW(V`DSaaE0&nH.Vi;rh"oE!#"bsV.YpHQ?\5d73)lO
+(cem3L-uX`NP+$gq:kS+rr=T&qoAFWrr>-0Z@Ctihg#.^OHS2gEIXI=pn?"-Edmr#
+dd-o5cJP^qq-eL(5IiHCg\$d1!%]c"a7h-<P4imFRud?<?LCVHQeG_pq:kS+rr=T&
+qoAFWrr>-0Z@Ctihg#.^OHNqq0Cs2`!#-s>antZ+9<\?q4+=Jbjb;T:roCiWDq7_^
+Ye0?Ggp.Pcfu<r.5N7BD\NbOMBm'FUkASpIr33g%+5E4\mJ=s)!1"FLj85-/8UEG3
+c,]`YYBMA_bO$psr9a@&rrA?$IH13frrAV)=[2Jon%=-ja@S$t(\tT@!/_NZjSen&
+V:Y_IS\J;lo"sk.Ir\of\*GF@=C(Z^mTBiBm,J$F2]qQV^"f6p0=8=j!;!\c-iR4R
+pQ+`8rc\6NrrC4M^@D0F+XFak?fpDJ-s+$EpZ;+8?iG6IAH)YQ$bl00aa_UnXIo;s
+GMYQpA0dMJMu;@[`<u?[If-q.li-t1hlNIG@<^Qm\M*d5oooCU/2$h?pFLu\p2PSO
+O8,DTmSD`,g0K4(g\$d1!%]c"a7gn[!'>Y8J)uCAGlHfdP$ZEeo5Xd1'J&"]qssVW
+YQ"SaI^4IbL#7.SjM0krekc4J]C-isZ4]g``Vsa>ie;`i5CQsRFoMI)Dq7_^Ye0?G
+gm@s+qT8a;Q5=u0qj'Q?HT8dba8Ac;G:2k&m4Q0OmJ=s)!1"FLj85#>!1gl-5Ou\[
+]ROtC8M=]mq7-G)MA>R?rV:l<fDbiA^KEel_XG-eEaSFIlR2[6?2'EJ=U?D@ir9!;
++7V\2gn2>7[(?8;o=+$5r`EJ#O7#[?G5YtO!6YbanbpWS,e]^Tk2ZFh=1a[jjn>$J
+rc\6NrrC4M^@D0DJ'QrQTD;o>hESP],aYiqr7le@$MSRir4^VIidGS<`;<fkkLr2$
+f5`lgDfG+'&m8=DcTD+Qn,2if8j@)5]j)/P%`>mX!-3PEnOr$4HTpMR8M!A38L0Hk
+;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o,a(bt
+8L0I`P"?pq,a(_J9?t;lJ+WXlpm6K\01B2ir\OQSVr<-D]Ded5j?MH4nir<C3W.+6
+a6)n`,a-f$'Tu$5V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o
+,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sRi#MY48pSqr:OMj@=LE.pm]%ieVP^S!6]kC
+rr@/Ur0R2.Z1fN,8RT-p8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"
+P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k??Q6'rrAtUJ&JtuWHp&cYOS7`
+57@H:ht9Un+o^\dOo1S,cfSg$5<"Hk,aQ?8Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&
+8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`fY[W5hsiXT
+kGo4g$i/t8`81FnSubLRr`f:2qka;mjM/V2O1?O!9*NpF8L0I`P"?pq,a(_J8L0Hk
+;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o,a(bt
+o<7\VrBC\h-/\Agd8ulgN;inBpg<PDrrB'"\I\F&I#m@)c@7W'1&8I[8L1_a`?^U<
+.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J
+8L0Hk;Fr-sP`eT`VT'GDcMmm$]Dhjo=HZcncTD+Qn,2if8jDn(i.'Q9rr=AE+7+Et
+,a)7^\roW1PbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k
+8L0HsP"?p`Uln:q.3t'J8kC:k;O<r(N;inBpg<PDrrB'*MS/9QBE%s-_Z'UmGPtFI
+aFCcGjF8KdF8;5LO3Q[I8L:V'.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f
+8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q2DDn;GPk1mq<Gn]_Z"i<
+nMbs\WtJ;0!1*Wb"9.P7q(M7;!+YFg00dSY!#\qhA6VUAW/BHo!aP,9Oq>Cucd2Uk
+\5`J.SE5tq%UeV>51&MAmg/k:p(u+S??Q8JNdcKV_Pd=p-3!t*IXh=5Vu5^&pC:^-
+8(n^PbWiah_YP`TcG/nqci4!T<;urgjM162ci4!T<;urgjM'TsId$Yq^A3QYO4[f.
+8U8qe3Vi[TpBmPaS<s48q>UHh$D6p[QeXT^h&g<3h_>'"q[;Ve009+5a$2ffiD]_s
+P5bO&5<o/+;uUj$qhHp'U[8Ecjr`GE@=8k:k?n#IkPkP;.Y#`a?higIrrCh(J'N(A
+E99B,IA("q_u%L@0;>8Tli-r)r;QcoKhqNi9E+u3r;QcoKhqNi9C<e?mZ4_*n!JTL
+rIslCQ^rWdT:c,`E2ij;3QZd2T:c,`E2ij;3QZ]eR/PG+KmiP'miSdJMN[S7r,_K0
+!:CRdk;b3nF7]D3mM.tL3A7m`+1aY_YJ+HDj7X;:;I4MG!02MXrPGK1k9^-.NdcKV
+_Pd=p-2.mZpIEpPpWPk7I_tq29?t<Bcd2Uk\5`J.SE.HTcd2Uk\5`J.SE.ECb^SdQ
+6GE8NpQ*s677hdVr]0fS!;?hmo:20H3Vi[TpBmPaS<r"kO51mk=5P_2nbW^XW@p=4
+!67;gro$fTF-?P'a$2ffiD]_sP5C"hqkNNcqrT!W5@JsT-0JY1kNDjFga[g!EaSV)
+kPkP;.Y#`a?Z>-lFFBiiI)Gj%ln>*/]^,Rt*;og:qh7iAc:e0;*;og:qh7iAc:dRF
+a6o"q/+8jTGl<?g<0s/*j.DtD!-"q;!'//Nj.DtD!-"q;!'//L_jLDMp4[qd&+:UE
+^5A*FYP`J5rrDI%5Nb$[r,_K0!:CRdk;b3*F!%tWd'(/lrT!Sfd8ulgN;inBpg<PD
+rrB&lrr=&:rrDqM:\i::Z*>8I0l&fFXuK1oGG<[;mLB^-nolN:@%Sm0A^!,A//*6A
+SJ^qZLG8ml)7^fXD<C<o01Gm@`kqoXk2$#P;Z?a:_ZTo#h>V1i^VB@>!5*ctfDD.X
+h&g<Xkp>Q.pt/u(gtTTgC1$bg@"6td^WgM#J*$\1Gl<>'F3XTWm15a5]bg\K)[m8S
+Rs4\19E+u2$kN6)GPS@6n,0rh+0_g6H,"HLU%>(HUAk5R@=eFYF)M!X25u)c@=eFY
+F)M!X25u$(!13ZEp(`#%2sua65'2t[?i4^o5ONCGk-Zl?CbS*AD;XK`0>I)X!5*ct
+YIWfodIr@@P$X(H!0)^<rQVtPeugO,oYu!%YE@:LH*O^lJG0<sEuP&8eka90@a?89
+&kEhD$Sl,3LiH*b-F\'E8L6/2P"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"
+P#@H7,a>*f8L68K^RfZI:#Gd3`0/":H/J-NJ*3jF;?$W^rr<0#l$rL^nG`Jt\qfqU
+TD7_:lADaGFV!a45Om<SeJ2@R5:H)*/^KlK8L.92P"?rK,a(_k8L0HsP"?p`Uln:q
+.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&lU]1=P+8I]K
+r]G\["m69@rrC$!r0`uQ!$4Ai!iti%pH6+/k0M0L!'EB)jS!:5P/h[oP"?pq,a(_J
+8L0Hk;Fr-sPe;q?^]#^(^,>ojkGm.:Y9Ni3rr@qHmu;hmlEtipT?g1-L\$F*T)NUl
+hYi/F8L0V&StqN@,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_n
+N%a@brr<^Vrd(gpYeQcRr(Z)ElGSp:jhJV2!4lP:9Dh$,Y+beY-iQ0QqP($k*CK[P
+:],@-ogMqXO30SN9696kP"?B;,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6
+,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0Oskl1YBa8ScVrrA*%o`9?ToRHC@
+rr=BXJ&dWHJ?&N7rQd,Oq6TXAcOV8r4dnqfZ/%8_P"@)o,a(bt8L0I`P"?pq0-^8]
+rr@qHmu;hmlF#rYaM,:d!90n<j'Ve3X^1^7o@!Wsr8Q8i^RL;Y^L;)E8L:D"W?dWu
+8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a))9$i/t8`81FnSubL7
+0B\o+!#'SUHEeb<q/>aem[*qRP5bLmp+*(k:W`V:NjJ_`Wp7W$rh#DS!$,_N;,u**
+nrG)[h"dopP!qu7,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTs
+PbaI6,q1+&8P2Q"P#@H7,a>*f8L5g35PVM`!0]3'j2_*`??!S"r)it!adJdkj8P]$
+^C^DFF3DdVD#Bps_oVgQAs,_:G>1XSP"JVD,a+CT8L1,XP"@)qaM,:d!90n<j'Ve3
+Xa9:'0<Y<Tpo2R6fDbiBX&j`fr:Ib6IlOi]n)i[/n(:kjP"BE!l:E7a;NaTsPbaI6
+,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0PQ_Z"i<nMbs\WtJ&5q<*7Gh>[JH
+X@Yq]>Po$/V>gPV^Vg#-l6"LGJ)dX1!3.N[Z.)"9jSo5#=oSJ$<HS$6UWI&U5&*Y7
+O]%?6,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k
+;NaTsPbaI6,q1+&8P3<Mr[`Q[bg6(Srr>k3S1dD4!#@fiAnV$drrAu)YJ`Z\o(*rm
+5:?Bunir>kUln@kdo&a_P*D,$,c)cL8L[4VP"JXC0<Y<Tpo2R6fDbiBX'WBMMsJ.W
+.W`<]rrD5^e_c+24YQ4Fc7N@Lq7-G)HhJ6^,a)?6HBLiFPbaI6,q1+&8P2Q"P#@H7
+,a>*f8L5f2P"A8;,a)&g8L0OrP"?rX0Ya3'r(Z)ElGSk&rd!Dk2h1"k&lJZ/QN$pe
+ronq.0C\uA@_.?er1EcM5O+-/XE>'<q*4E#J(59>5!LId=Y7sgP"?ouUln:q.3t'J
+8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k
+8L0HsQ_XQ\M]_aN1]BLde-5"CdJj3cO8PE6rr=*)l2n$V&,/3!a6(^irr>/DO6$"K
+,a-2ie<3BKV'M3q.7keJ8lA5+P*EV;lbEEKF1sO3!9^B6Y-0&Gn,EBFSF;Geq<GA3
+iLeFhqhOd$=.]D/5Ml?m_FZ#=X.H,M8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0Hs
+P"?p`Uln:q.3t'J9oLagSc8['GQ)on,d>%TGPk1mq<Gn_J*"G\rrBW;r_*/RfWLqH
+5:?FkchaB:WuXS(IS]laTCkWS:QNX\Q:l;]Uln:a.3t'J8kC:k;NaTsPbaI6,q1+&
+8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`V<Hgr^lR0Z
+K=JQ9]qK_o^XKd_<p;/`I6/V%2SpI'"&+iTk;9,_X@GH!#`o?;Ifd`E+N9F9Jj@#A
+CIrdVr:Kj3rr@,trbFah$%L8sXT&:p4oYNEZi:"JW.1Qtrq&Dsi8"5/5M_[br*Nf&
+GmF9>qTo0AF5Qt45Oo)ErG28eOCF0LXZd/qY5FQ]rf,&ZS3GF"(&.'-oO[fI(Y7#@
+>2HUb0HWA?g?@ZRk!/>\4$KlsH)PVhbbbme:]UE/6iA)ko9fO+r"JhGroF()m<r+`
+j<+!>lTb?oJ,-2G!6?Jd!'NNPrrCjKrrAM6r.7/sbeLh%a7pnJq#:>;?\e0"I3mqr
+o@*"irQfuhXT&:A-3!s.5-t7hh"UgKRa:n`?g,_K]ar0Y/+<95!-V_)nU5h2(Y=07
+<9JXErrCAFW;ckD:TXQrpHANVk-P'f+L:Sp14"[Jo(*o>]#`b!!%%\Zi]@<VPiV#N
+bfWC#(tP&/GVF2$bVMLR+Gr+]O[,($^a-_FScZFQ=X@gsRFJ?VlEN!hHs9g2r#2I#
+M:PfKn1pIq9f<=X!2>5gIs?C@iKn'J1m18=+!Vcm^8KJ.*n&rgL5tKN8L0Hk;Fr-s
+P`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L^our:@\_DZ9^_<[<tIo?R@9M7`cf4]ml.
+r3uGCpIkMdaa]*C(">IGjSo5#=oSJ$<HVfMIo"2d!04DbW2f+Pq+$UiDLBrs8KsuV
+P"@)o,a(bt8L0I`P"?pq,a(_Jli-t([5?dkEgq2gYRGdXi&FL*GcsL5T7R"BEN/s<
+[bLc(ci4!aO8Q,Frr@bfn*FABZ9BC%c=ic(jQU\m*$\4TYPUNdro6rW!,]4BP5V#(
+rr@&<rrBL^rQ;uLY8"U7IM(3irr?]iJ)"dgmC*#pEaQ0B5OLBnp=k)-=@k+oG:MPl
+K4">$#Q;Z?rnDAc-2Tn/ro6rW!,]4BQ%Y=[QZB5@fJW[/BAe9pC4GWZrr@*2:[s3?
+<;#sjQ8Z2MSV@s`7.,PVoekk2!95=(!#.$b!5d:d!7a5:pi.ZFV#7'mc@@WdqEa4@
+8L:J$.;Jf`l(>Apjt7m3f>#hE_dbjT#NHEf=\I,V`LfiWO-A+q)VTTHO7HNCH23j)
+PW[N(CCK=UW-O\(?QZhA1$Nk/K@kY!_#FDEeGfO'D>rV2BAe9pC4GWZrr@)DP/Q@H
+EpE.S_6<`#"9.=Zrr?oFqj(%/SqW/pd'B^lU:+E5I;4ZY!Sq+o1`aMg]TR@l8eR)6
+2\HYRM*`tSM$$UNJu#e<ZZOOH*H*G;U+>-d;rQuUgu#\OAZb/e:*N&>!(YS\PY=Z*
+g_s'^,`3;I0<:^D1]$SY2BT86:\1_%kJocUFSjF6W,rX'\u;diI`ma79??NKg<]..
+_H3lpN3/)B[YD&;26CPB!8mjVo=X&"qRh;<)P>jbf$>ki%)0:M]a&a'VYs?T*AO>;
+`GO09D7g5r:QN-A5!a"mX^a_#"'RYa5RGkAF.B+FE\]g*h$CkO'bCV5P"?qK[<"B9
+:$N0=c,QdQHbH)EPIV'al_!1s*lbejLAq6G^^9m$KU+^AY<%`5mF"nljtbmS#nc.+
+q\\m4a,kVA4So#[K\o5Nf0:?#L:_4IY@E4s7q.4d,Q)!B#%_4lg;aeS-j&<k5-eXH
+/LTsmDRMQQj-[h51cn6O/oGJq%*VJAE-r@ZM2@FeON^Bjc*pkbN,L!GHEYhZX4?j&
+RbYNEqW;!LhG5\2eZ9jWq4Z%(".+cYniB0`VZmg'Fg)dIkO_R?EJ[=mIp73>[-QpV
+95AI.E/-OE?"PHYl1b\s_T&U+"AN\A5;EAB.4fkWnn'g@'B.F,FKseZ1$OK84atp,
+P"IUu?H-*qa0[k)OPq=`DPd"blMgi_%PPh=(;'Jr+/9tRm2jaJ$Z.0QA=bSrObrQX
+AI-LZJ3In6rFGc"TCmSiM>KaeN&LBcg3X(6==XQ%[RCnl;#G-a$S&Q\O(5[BY8d>U
+dN?j4Xk4+0b\>s5cf\?r>(;*,]U(NtK*hJ6?2"d<CR5m<;>F#G;uKL%/GdJ?b8MGM
+pIea:+(P0_lT_`F5OLBnp=k)-Gt6B!r);O'?/P;c?G<If8<K2p:W`K,2^/:C.j(Vb
+"(1bN#Q;Z?rnDAc-2Tn/ro6rW!,]4BQ%YDT.<dAH&_Ju@!,(5>ghM?+[f6>J?aK5d
+mPR6&gOHb98M2H9.cDD#?hSpRrPkc7gMcg4q`b2^j&>sXD7BD-KTb>]Eip#,2?*Yh
+i.'NsJ*j]E!-2GQn3?=u5PEi]\QDEU.<d9#*J;I`N#YMpI]o*e9m+)"XDVf@:Zls+
+k"F4=`\7<=:],WjpZ:M;>N*Mj)ZK:*Nd!N70DH\^,a,UfCghfUn+`Beo@8[DL&CPW
+ibnbrcW2<drr=YM#Q<*N!:jLUrl'!jl1mR6epl3b?!-A6e+/"KXT&:#._:"V;<5#e
+T/@mW8?#0+P"JVD,a+CT8L1,XP"@)o,a(cH0C`QP!%VW1iG\Vj(Si]Crr<g!o!VX!
+(B4BLZ$JaWpkSa@?:4:*\Nf4HR8QU%WjWrqn*ul9<kb?XhKCleI8R'_rP]<FFE.<\
+o"G&'p?;MVa=^7=T_6?:>it\FZ42g:MC]m%:\%>3k5PEfrrC3s^\_Kdr.<N?V^Xu!
+r]0s1ETT9Nli&R24dZ./3<'!S?N1$&FFW?arrC)0+9)<khu<[oO8OUiJ*-b2?N1#J
+gqW_qchrB%o7*rnj_eH(Z"O&%0=l1pL\U'-U[K2KO8,LF4dZ./3<'!S?N1$&FFW?f
+.J9151[>9C)=40G"\l1/G42/1AmfkV*eDp.,kUH-#,I\=rrC-?$;<Rr%!(@G"kA"=
+n+BhM2Hc%XSNNlC,a+^TP8O0<g?SpfGn"F,P&p_O?UsAJl!5q]Vm\fU=DN`\o;g3^
+`32&pM:4\&p%ke8R]si8mg[0,a8*`(9@_U3`:D]YLii;31UDFja$N]fF<<psP35$>
+ou#1U_(7;+177fs)QFt,+-BF@N9-F[G:ff<@u6?#4W6n\i9#eOa<Enj_+pH0iP3BF
+9]&;u=0-1?oIW;LFLd1fBCB/S]sk+ck4N&GPLJ>$F_!1tcQ;3jPCQsfp,][nNs2\#
+/T<h(3=B'Mfm*$(*T2DKkB"0.EX<2N57kdZP#iRJVZ-XSCf]*6/]s-'7IHB;Q2oKs
+^/nLK5OiZTbBanji;;`OdQ@WIE'KV1M[u;lIjP*giR@:=H$]0m?'Mm\YFTSrU\+Ce
+e&eTb0._7]8SDe)'>Z2s5g7*`c_9"%[5R<@b8qpChr:&YEJ@$,ET2d8L%urB_GQ0K
+,\UO'*HS=fqL_!_GOKk(TDGD<I7a:oR@fd+7oafAmqFU`6o^Kh/:;N3j]ft/!#FB+
+nm.)hfVJ#`7>r<9qnMAHQMj)7SKfnmU!g->.JW?I0s@%hMbaIj+SYU^*1=?4@Knk_
+<U&K_1jo#p>#<2^@@3@dNU'(#Gs6tGoDYTZ]Bd4,f/Ec4G)ZmK:NI'?rDtrJ=\o%t
+(ggEN1q'9/.rXsC>!EP@0jqeWr)`\MbFHTd6q[BXo6j+QMXn%=`jfohjuTu4(:ZY:
+)gs?Z^<.PiWdC-%MbFkmrrB5e>$iNA]0Yf;l4NX[j^R+i\MmZRF15:fMr*h(\].4i
+c!BE+Cn/6^)2T!.YG]`)H*$M[_nl['p\t5AZdCL3S(7#5*[R-0>@'OX\8M3\[]^A.
+=Y.JV3&rl;XKNhRoAJHBEVl*2.c1rS4FO1,[`ulp%/\[T8L15n+!g1P!*VG?Dc+3_
+BX\n[luO%5:,Rc\R.kHS3d4U#J(D?Ke#aBcR;K&GeU*:7,JkKqI$^[PDlR(RXB=fZ
+W7cO.\tcONj8#V8(H\&a/*etYT:G'=1A1hM!)8r4l;jK/CR(+e,nV.IN,3qP%%P'd
+,\7i2CUc3-\"`Of]$F'FW7!S^>OH,c>Ro@EmgAXDn?IGSrDUU_-5J3tFTppPc.ul\
++:&DeXl#WFX"u!u@!u^fk,XnM(,tJ8eJ>dZ*p$bs;TUA715)?IHF9W"]a.#QOcYiD
+VcV@!$2uaMRVTe*/KWj5;"o3d2m@`@=ASeloqBjD-*5_iC9RX7_R'**eipLll1@#s
+8\2.anC#lE#67"Q`j`o_bAoVIjc2\Vd,'WFoO6(jA''a-!`jKkIh^d>YGW?*()?W\
+2O^$-(Kk7#>!7la\^2.lrrC=SKDtq;=J,<cJ,(t]M(/7\:-?IJN/4020k'3>(mp,3
+B&@D(!1Y&7rr=UT5OJ=I!:jiRc45L,!1$`ZpAKL:2<'H@J'i68!')^:14B./\3AO$
+P"?sehbpSAe9ZQMCNFNq`\.tPFcBfPG]"[-??uN,5Gd:f`S(7k<7NWRLhFjbP?3)+
+#!D\k/7r9q;qc`H%YOc]Q<9dQrI=W"^ZPhfrrC4n:]#UUr0m.DQ1+?M5L)pg%8Xa^
+pBTFK8(ZUuddoL+V\:j-q`SO3Q!25>#45j%-$d'n.pTdhbJSiCFhLuSZCKA&,.+0l
+P"J`6N%a@brr<^Vrd(gpYeQcRr(Z)ElGSp:jhJV2!4lP:9Dh$,Y+beY-iQ0QqP($k
+*CK[P:],@-ogMqXO30SN9696kP"?B;,a(_k8L0HsP"?p`Uln:q.3t'J:M'MVJ)tLM
+r%7pKIq&&(k5PG@a8T,^rrBpnp\$72=T8@4rr@.6aF6mN-iD'W.S1nN<l1"k,a>*f
+8L5V&rf;!j*VgM)YBJ"dO)O\3q%n^d088e[r#bg5O$C?Cn@rFq8KS0Mbl$0KWVUhk
+g=t`!`;GpP+9G<SV?ND/?V(1s(O\++I2(hV7@DKXkNT9Ucc/TBd'9k@`5enoOg_i'
+g=SM+d0&q`X:3bl>`tNR,PZBY*IMi"i>D7q?=3[dF8j_A7Oq0=%]6NrQN$r3^B,4L
+4mfA3Z0,n)$_1"#2(QU+NaoYTIR\DSaL0Sbll9OHP.0r9Hs%a[h&hTjZ*2JKTHj?S
+n.2UK:XB!5om71sAb@k+IuMqE'Cc&;ZFE-h@@sE09QC$dMT>Z#rrCqXGcUF<rOgU?
+9<mQ#B'&3rMC69%dmYo;qXr<%B6F)f@#D8qg)9F)di[`SIV[LN-iPiHBA32<F-n;u
+-gj4hDhbmoJtL-Gp@A9-T;;F/r)WE6q!fEqom\("o+[?ZCq5SXeR,C2qRtBAB7g%c
+J7_5ejFQr.4PIJ]$TAm#@l#bJ`nO4>>3>fOi-^lG/T-.4PGin:]\/02Pe[%J+$3ck
+jR4s)S)hS=>VqiF-2js+>FG2u1=dP2m"m8WNV12aFdBG;Zt&/Y6UepNe,5EI^.WHW
+:(kQkB+ks<kf.V0\<'44P"?qKX?[s>T^ij'=Se6/3j<\[:rLF;><iW2r2+lUq0^dZ
+P&rHT)7W5Upaq^T0iA"4(WO&\e_["mIdp`KG?"-]/(sP:rQ!#k06$2^3u=pUfn5[:
+oi`TbVmDlT(QA#^T6Eom(\IV(SI[<EhAir@iXDr,:R_0r0p\#`rZf%GbjtbT#!XR7
+$WVLseBb8HFY%jMApa5a<]2h\inueKqpEL\Y;&f(3K=S`/TXU;1a%K*1!@V)LCCO7
+jZSLF3MhI22$\-WpQV!Folp=C)VWD!\dO&^[k4=MrGfOM,OSjW*d/TQ6Mr@%I:r/P
+E--@BiFD$3nmF=7l-`iFV2mGgMi$&p<9YZkM31E=Dbe.62>T>_=*m"6Zk>P-On)ON
+6kTr]8&7RqU"/'bY^_S5NHSAhEHGr8?=a'9f%tm"qpu8=\W/4c/TXJnBb3QMJeu'P
+)uO.C?*)NPHP*kr_Ae^>qEX9!4s9&iLF:BgaC<;0oSgB=@aaCa:][.B<P3g6kK,!4
+d:k$TP"AH_,a(fkG*KZ2r+LRQ_#FCmZi6r)d+=k=N=Y8u+7XN(eMULj5MZnAQfM7/
+cfSg2r8&SBP$9PJP"?p`Uln:q2DDn;GPk1mq<Gn]_Z"i<nMbs\WtJ;0!1*Wb"9.P7
+q(M7;!+NNpo_b?VlTaZlY,laVl1mR6epl3b>s:J$nl[QjRZ^5f<2>[K,q1+&8P2Q"
+P#@H7,a>*f8L6Ndpp'i!Q*S0o\,H8`dMJDQ!/hrp>:]^R$\.'d]cgn`6iGCc+o+0(
+TCX;OW?dX,>7Zm-rGh\VbaV_YkD$D4!,Z=u'E!MJq<@REro_&oepl`rG%No#0(LNB
+o8iguqo&g,q&egmrb5T3%N6CED>U$J3AT:\cg<@"r:Kj3rr@,trbFah$%L8sXT&:p
+4oYNEZi:"JZ9HTsre^XTk*3U+OoC4;!9TMoS3Q/pr[_(;Ac;H'V:KkB0<EH5CU9Tu
+&4Y5iJ$?1T50oAjM>mS<Po&%`EP83T`.AYt#Xd[3@t2&ir0GK'Qcr%(qQX=]ppTFZ
+C$M#W.g30fRok1!/<T]c=!#&!l<d6`RF!\Bi>1L'Z"K$1k`:p96-nZdn;oT$Vs2h&
+B&rLPjThT0?btPi,aL6`K/XO5fU$%!k:r=.e[a4l*#dc?#m>4XO8Nhj&,L[goBZDV
+dOVIl8WPc'5_qtNq^e<eACaT^Sq!M`9BhuX3P"p/jLW.Y0Xf"U["f.M[C#o`TLgE^
+jIS`X11YR6QpNJA&OArj=S699>DmHhmUN;Bno02<P%Z_Okdu&V1N>"_be"5Nk9t\X
+GK$F*"g)k$)UMaP(]\;B/$AmP)'(O"h,_7a_$nOu4T>Du<t.B@@<-KmlE"QudEHQK
+pk()H%Sq9_Aic!nYN"VSLUWFC4V-K+YFp$]A(0]<6lu>cj6t^'1[:U`9-\@N\52Pn
+htj&`YL.DH.B`NkZIZGN4s@d0,0rIeanq2AG2+'j5CB*.niHcFI;#oN;VDY*=]##Z
+8PpL@lSm@qVtBSGAT+5r\sKp1_&s9hG2^:(]m4n4prM]#;:M#aR+\AdToX0[@g$T;
+BG'`0jnZ7,jS&17*$cHOYLK/%1NM?j3:Y-l%_D</-,TZ^);2*GoaFI\*SjAJBB'KY
+59fAR2qK+/et1SEYg\^%.Ca575KP%6T>"BgWA2_/gA8p,g-KFjKFu$-CqPK?K>KSY
+EOXT@%Wa0rVhfTt!#OK)<U_#Un8Y(b,55'SB`;.Jh>"#Y+GqFfFFg]3?>]Zt0j@^Z
+`li%JI61`sCNi!aK(P>k?fO?4]0?XQIE\P6,K]A)rr>lsr'(,M)XMD/C\*hXT.s\g
+aQ$Z@Al%(LmDsnbdUSmSq]MquqR-!JaP51L7-X-Ac2RdD!Hd5Y^Eb`8r%`DA/%)/K
+L!=i?=C-T]F$0*aA<nqMC:-"M0OWueQ3(Yd?0M(\5,Na?Z8UW':7gW'^\(A.QMk(b
+dElmjeQg/R[[7Q1]:6;8&CLF1cZ6^=;sP8&WcYnT%Lr*AXXAYe=FO!G69Z]Y;?B^N
+#pY?q[pH.kOamSS;W7dQ7fNHuk1DoY"7$F6%Cu/nY]dRga7Yk-rURN@TDgW#/KpZT
+)U*5Dhc]UknKZcHpocipMfGnK4mY&\>Dlh.BL*Vk20OA=%%?YdI:K2:UKTe*BPGCZ
+FI'\qqjnRH+&U'r<Xl1FQZ2)YrWI6PO[i`#r[_m.qgN*.,ia1ocQ._/J7m)cbL'?d
+1PB/Y?k%[re^2-rh11n-8sO:jMTkL\PD8TOlCQ7J82,Kbaqe:-`l5P5`Z%oqYb(pB
+?2PCVYXNJV0/Z5mVo"Tg-.'0E8L0Htmn"dfk?Xo;4T>C"+4BXCip?[FWbV/`kF^d%
+qHaF)?(^da<d>5M6p.=A((PE]R=.:YLe/kXbF#)g8L5f2P"AB,0B\o+!#'SUHEea"
+^RfZI:#Gd3`0>c5^VKjL\mPG0r'/i:U&@2'r]8C%U8t=86i)7-r,nY)79<9Gaukt_
+F699]8JN["P"A8;,a)&g8L0OrP"?rK,a(_pAc=61j_V-u/cPg#@e>B:rrD'!r`72A
+!5dXfp+Js=rr<W1!-ClTISQ4Wr5eIZ8L0R%_NIJ9PbaI6,q3e?j%KCC5P-3#!(8I4
+E*qWurprAH,Q@a3.m/miV]Y\@oLfEJr5AT,oRk9a?g4Jhoo*,mQ9F0\rr<hlF8l4?
+]q>?.%05<='Du!TbqclDK:g]Z5BH0Uodd[Npl8ZC]E;gSqOQ4.=SQn+*Th;(2H!*r
+?#)QEcBXZd9H%YeR6SE-@/g3dKi0&7LlKNMokY6b#s/0'40J3633iEP&[#i"%J>;Y
+m![!jk6F<Q!6ZohqgQ<XRdj9I,a0M=8PHM+d;]*c3A7TnIfBC$g`L>!J+J;crrD/H
+-iLeer_6M6cb[m:3*?u,L-TaTmBS*rg.LkRf)G`.I\HIQZXsl02_q*-r`t!HrrCI%
+R@E0q*]ZtN,fEtig\<G@cC)s40`VkfqJ&SIZeLKNf5@#R:[7oU7,*Xr`I:"mgcs%0
+GoHF?"+b6@K:rO[?7jd?C$@cf.fpm%]UJcNmrL_WQ)3uo[O$b%oafd(kHX=mK<M*M
+a3d)DolbHfMVL-4e):4^_"V909`<[mQV>%rTlmH.L"%!2O7")Zg<P994Lb3SYB8'h
+L"5]4R=enQ[rO\nVtXFX'aHnFS6699oM"/)l5@-+_^#@VogDlKD4tNMj6"_d>e8[4
+2@+@F,SX4C5Y*diVT/HKO3.D%(7cN$$h:F7L7c]`]FT[PqoZP!5,*.*Q$[PB^FJ@W
+jr9-1dQ<2j%=U(D1mH%LcRA:QP-=!!Ftq2"#DbWKP"@AOTXi&Be<AQPaJV&"Blf(>
+BTc,@!5*792cfm`f!7)6AuYFerr@shKCA!c\kfKD>jKM6r?%h"F`-p6A2NN/hR4L:
+'"DMPnGZPM#;!hd6D?OPm;r*IiabA&^c"uHX7^,*NfDVpo3Qo85+UT\J$bi75:,ZU
+F'd5UOBUTcNBm_m1@u*Uhcm-=1SXP8"!#C"/[*M:n1/MK+.N!NnIAgJ%'ULV.RV,N
+'?TAJ-QJ*ICjE_B8L1UrmPeAHVp[Wl]kjQ,]>0J6OrElr)l+$o@:HS@=S0E)ZS(u2
+^]lXon5j4bQ5n1d@tlc^G%6gH;`ms.-)]2f:'X;/(qi,,;^PapF.N3RETF0W,blX+
+P"?qe9(2fp"TYCCI=LPll2;LP9R#amVQ^:LZ2ESX[/$hQZe%6f6H(r&Y5uQ`:8.=H
+4q/UQGop2Sq-@o&bl"6:Zss=L@/;G^h]p;aZPb#O&NAi>?^o=q`5!HoKm<l[8L1^6
+jWp!\.JKX$8TV&_Q_&\d&*\<\nTKE420p24cgd_-0*D2+chaN>4GWg.*`Doo#<D_+
+^7Un5,a(f3bYh"XP*D,$,c8Qto?R@9M7`cf4]mkL?dCh5-L^m*@S/lUhr'"?0E2"u
+rZCK.;#[)Nrr='PrD?SFNhQD9-iQ0QqP($ga5n@8-+WVF8L01XP"?pq,a(_J8L0Hk
+;Fr-sP`eT`VfV-qed?l/k$=6p::OM0VAd;P#BO03r"i<3!02L5rPH2Ek-$g;6^*bP
+RTsoj,l!JE%V$hFnAN]E&#0((j.Co&!-#+@!'.$.j.Co&!-#+@!'.+*P"bb.0Dh[7
+/&(hKpP7BC7K3A.56LoD?2enCrrC)("9.7brc;-MS^MSjF]eD"f<L`<hcZAr6O1El
+WMo?-]Uj?VR#&ic8.pUNUN%V.:jN^FQSluPe;YNh,HL%CpugRbgag.bC1$c!i.'N4
+^WpTcUm.Kjjo5=&rM:T`c25EF&#0((j.Co&!-#+@!'.*MqVCh=O0"saoI,,0B([Ns
+#(99CM#O.3;GP9SiPcs"7#;A\4`jmlB.c`BaOiZWmJ83^cC<4m?9_1s*Nh6.hVdOU
+cZ.b#pQ^+*!$(nIqh97ic!GLT''+"&R2D)YZ`35Pc/j`]&O9C5oO%N;n3?=Uhrck-
+I:rEF='b(*Zgk<X7dCuY*;9OeCn8.e.LP678fX-&84kTp%?3uVc"3D=9XHi$!g6,$
+@>.>":!J/^l59?il>c0-Ol?Dl^G2IaP!f?W3uo"A";0&R?i5!75OK9Dk;=pjF7;E^
+(#S13H.#<ogc9l?5A=d-k&9)u@!rjk!$(nIqh97ic!7a/^:T0nK.`\<C*,m'B;]A4
+%c@c&l1$85H8#&trdgR=!$'nmPhG'8a[G9E#r0l<O'OkL6RGQAqbiLUl`fUKd^@R#
+SpsAIm6*Yr;.jq+#k2n1KR?k2,b[F9&eo<;4Uf*s<^Fe<Ch08)X8`0h5'__Y1U<AM
+3gM!BnZnJs+7idJIN`Q*r\=DU=pLuZV"``]J*J$8e>0-@/dZ=[)#jSZJ,---ETW>X
+:jh7%!1Q+BI_Pb^FO"$*Gh$]HEs`ld!6,Q"VD_Y$O$4#Te,KD@C?\Viiktb5J)cUe
+`S<J'IQug6qtGrkrr<qh9E\a3fkKg=S1>ZuDY;.pO0+sgXb0qS^6Js$"[9pJlY9),
+AU=bVCg>O27cV\Xgs47E(-1<rP=]B8Y`4+`_,=V3P+2D!ri?$BrbBFOO8f2_rr>"X
+!&f3>-1=LJ^:XCFihnlu?iGAR:WmgoH'sEm%7c<DqLR:C@aE3o&JF*_ZWgMuB@6^j
+FhWsWe%B6gh$&#G[Z:X*&E3F$9o8j*\oYY)\<g*@C+ZZ>de(]RP`tZYGVYaBUY\$_
+LGP4tKWK>X^9#ZNKCrfm:"D,BeN<d,$Ch%/I9(/R=b";hIu=C!A<^HbgcaioO5S.S
+m(K1f+6*-NrrD($lMX!E9tp5RCBHm&!'SS/>tb*,oaBJhl'UhV#>\4[e:5CB%3KRp
+@S-(M0L4M+(\`pg)_IC8RTa]Mrr@-fb0.rQ\_.jd^AD3ZhFTp@:f9kf!!,GV!cLu4
+P"?rK,a(_pUAk5RT7R"BE3B3@3N7MgT7R"BE3B3@3NLGg<PIG8ros;Q5Mn8GnG<=O
+^\I!MJ(uQhc>)Kj[f'a3lQ+XOd7`^<29d<*);IOFn5ouEA*#E(OIRL\*[du@o/SQo
+`^[f6$:uM-lq0hpP#@H7,a?rurd!Dk2h1"k&k`W.kC:G+rrAXl8Orbar"&\$rrD,p
+_u5JX+4Ke1j/i7\W[bTbe3BklrrC)Brr?"uFSPd/a^hkEC.T\5;NaTsPbaI6,q1+&
+8P2Q"P#@H7,a>*f8L5g!oF@Gh;l`cQ7+]&!^XR/(qtO=;\b^m+]f^)ASV,a<oVt-s
+Dpgj/IRTV'!#U/0rf$ViI,NRC+);\i9UZ#I\h7>ZISUKhRLqU``@iD4G'-!WFPkdm
+(=9lUA,_q,r]p2go4<31p0n%6FTm%d?Kp@QqQ<:1&Qj5Q^SpUBIdS"8rr<VE,K1)k
+!"YLK-f;oAdo"1MLP5V!DrS9?__CE@QgAeA8L<*$W_"J!;NaTsPbaI6,q1+&8P2Q"
+P#@H7,a>.h^Z*0-#&jE\J*L++01Gm@('+?[brq'2+*1G#Ljutsk!(bQ:\j5M+3EnJ
+8L9>[W?dWu8kC:k;NaTsPbaI6,q4*Uf73]tkBq(F!7+ZK?!]tmhu<Zk3StbT!;"`U
+n&%A]QhM$R(9]n!gjd$7$\X[7/QY),,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sP`eT`
+V'M3q.7keJ8lA5+P+*:qcTD+Qn,2if8R[*2n+`Beo@8[GrrC5lJc>^l^\jGnJ$E9H
+qL26<FeA=q=&qA;o_b?VlTaZlY+Hf#Gq>9Ebt01D.T/h`P*D,$,c)cL8L[4VP"JVE
+rr>[T\c$+51C:01TF8r5)t^Z<Mb!bVFmn+drnIjQ1%BaKo!o5Mr8&Dr,@"'8iu&4?
+/9ln?Er!!N-tAKml3#A.\e"Urf=u@0qf!k]!&;(ZmT'8eD?UjQJ)NWeT?I67iK=*i
+^?NjkR\/5;3[qBZlLF-YT50&r4A1V:lZa83i*k)i=4*jqPN#([k#X)+C[-q'#?,MY
+;/67_Bf1XWFM-g$i(E?;(&n7S4u8+hc%D>DElTdP;)opN*[o2Wo`"o\&cVhj\mGp.
+V2@$uiaXDU!:N;MPqG_qrr>ge1$RtgO*)hu\,*8XVr[<h]$q4`LL3lp]*dGjEsjA2
+Se&p-Yl5*XT8%Fb^GYjASRh92022BGk++V=>g>!P'_1i@:GK3:#qgl0@s.7rX8^lr
+gm@rYlef6SrO<ZBrrAtr'E8&hr4i4K+6)8Xe!U.82*\=XqFdL]!1;ShpF?1C[fTq.
++0U.T?hWDNrBKeDr(lGS!:\)0!#9q2R/[.D5Hqfs8ld[s=R+`dbU'D3l80t@6kDU+
+fISLD,a)&g8L0OrP"?rK,a(_k?B>(:J)ni"q!n@a:`#WT8,iQ)5OrE!r-85AW!]`H
+5MYi$+.GJBr:'8APM)ap9-)JZ8L0I`P"?pq,a(_J8L0Hk;XuKDrrDhncM6#k!1p5t
+]"Ese^]#^(^,>ojkGm(iL4;?>mN9_+?@2LXrr@E>(C;@M>-<178L0OrP"?rK,a(_k
+8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,rRHlSp1*,htcQUP/@3DhsiXTkGo4m
+rrAAb!!E5bJ,(berr?N>L\1M:q!100MQX%'&*`mSn^`3?'jX!f..ULmc^L"g,ZLS&
+8L5f2P"A8;,a)&g8L0PQ_Tp?hfaZ'@Ygm61NX5,nmMDOE?i&H4e\cCt,9J_$K_o-T
+6@U3NFPr6H"pi]iZ@4\2!#PH,NFVp#p@H4'4RaDci@j&KJbi;0/^<A<O/H*Ni-,+:
+q^P6pqRuRPeSW4i,e]^(-^PA=cQA&3CU'21[T)2Y3(mN*+G8G\][PlT#Nl!rS(d"5
+ks*GSNk"WjlCRsje2pbmN-rQgTQTQ6\7Cao/G<X#P"@)o,cGj7[=cl*olAsYGOor9
+=1n>>ihXDC0/JbNE'd\_9[mJOA?D)k#an56#3<6H^78r/IRDjqC_Gp@^]ADh=FRg:
+RCa!+'29H-mN1o[qkN[a4_s?fG?_Lo5+O8iUS4U>4O8lU=c:XU!WN-5nT%kscbos-
+EuW.9c&WJ,rV;MYFM6J$DrNOqE5cgP=alUMJ5Sra]#K>b8L0OrP"?rK,a(_k8L0Hs
+Q_XQ\M]_aN1]BLde-5"CdJj3cO8PE6rr=*)l2n$V&,/3!a6(^irr>/DO6$"K,a-2i
+e<3BKV'M3q.7keJ8lA5+P*EV;lbEEKF1sO3!9^B6Y-0&Gn,EBFSF;Geq<GA3iLeFh
+qhOd$=.]D/5Ml?m_FZ#=X.H,M8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`
+Uln:q.3t'J9oLagSc8['GQ)on,d>%TGPk1mq<Gn_J*"G\rrBW;r_*/RfWLqH5:?Fk
+chaB:WuXS(IS]laTCkWS:QNX\Q:l;]Uln:a.3t'J8kC:k;NaTsPbaI6,q1+&8P39,
+e-rG1Am:'B-P_mc%;/KX/H]pH/!=2Ypq4W$NL,r$dsGg7qL`ef!36J@r\iiXO5Sg@
+S7<af,68ntY#C.]I:=b^BAqd?Ae[e:-ccOq8L0Xe]?3]G`9LGBelu0$m'ZI+[K`.P
+r(!3]T9C$a1>p7\69kXj0Of/?1d/jW&eYun#k6B(^8Ie,!(_ZQe$,E&7Z5?.o!3<l
++-Dn"XL6+(kB$.`?GO4GY%)mDXCb<@)fpp-nm$Atn11dD!3Q5oIfBC.N5e'?KI7X6
+iXl<M$f6`)>jmRQ_i39L+HDf;p9[^h-/Q1)8L0HsP"?p`Uln:q.3t'J8kC:k;O=0Y
+!/hrp1Gf"mJ(+Yb$dntS`K0qbRK!7.5O&<NnIP@V]Z90\ao;?'4HJRsBdAk^FOZIF
+,c)cL8L[4VP"JVD,a+D)MsJ.W.W`<]rrD5^f<2;$qX=FaMOa-pJ,/B;GN#1?9DaM9
+McZMLDEm"VKu-D,QE-UQP"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6
+,q1+&8PP-skFMVQ'6jG%Yp?QgSp1*,htcQUP^hf0_#FDG?iE^r5M3-4rBD\/3m[Ys
+X/d7.qL26<FeA=q=&4n"4I/W]k+n/3'e(Dk8P2Q"P#@H7,a>*f8L5f2P"A8PRIrc`
+m+hab6os_dTC!:6oKZ_r!HA*S:4P!%XQ/rURomaYC9&,IZ-RUo1^:*Qr]]J2h0Dan
+!1@KDA0W*g]t!R^FgI/j*t!hu11WI92>7%M]\.Yd>>*g?>1"sB0E<-8>VFZHXmXEj
+J^W=XO7[7uBPd6XK7>AKoon]9rF*__)J[+okj[m_]DT=-!cS!?rr@p2j`if3Lr;qE
+P/Vt;*.=YIoB\ArT$*]"JXti<C-SOIra#p#o.k8?)3p$L?*)tFaF$>HDl_buEOstT
+PN&[PO*t<)r2+_"aLoViX)4TNh+NYW@GKHk_$#!7T8rpO`Vs*%GeI+<R"5-9E&A`f
+Qg[;ZVaeEOc-M]AR_\jKrZ3_tY<;[UNTg&M=:I#8CZisJccFJBriLTbX/Uj4B9?M-
+%<i8jiSa/N;uC(a:-K_$+$o=nTBhKSrh-DYr\!d>cbY+k#!Q+WJ]B=GSh'aW`/Z7g
+-hO-E!9eKfLGR'mR*CGL0+lRgd(D\:,eY5=;Fr-sP`eT`V'M3q.7keJ8lA5+P*EX%
+r)it!adJdkj8P])3*q[F/:Za)chR&1!)OD;Ljutsk!(bQ:\iu1Ij_Qo,aLNhUln:q
+.3t'J8kC:k;NaTsPbmGJ?2jop;k<H^rr>2_]leT:f73]tkBq(F!7+ZG^C:*f?edl9
+>.jV$EW5_!/eU`$[9WAMP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sP`eT`V'M3q
+.7keJ8o.pc4R`'7^[p!4-&)9g^Z'/2!7+[kU]1<GrWiDMrrDUsiVpf=&*`mSn^`3?
+'jXr,+4Ke1j/i7\W[bT-ISo13>G!buP";QD,a(bt8L0I`P"?pq,a(_J8L0HkB2,7]
+X1=l_f&6$.#AK`0O'DIuS_#D6]N7`iKe+Tb5J2A9b=P&b;[-LZq2+-jZXFK,3LrhH
+l\`8VXnQ'U:,+F8+u6;EhNX0p.@-qYP"A;u5m/#L:dWaXqTGGZ3`A(O=DaNK*%s+\
+L<Kb_Y:CbB%W52M0g&Soj,E/QIc`($RM,$!m+HK$:'*a;+@oIeE2@%P"#Ho^p3[dL
+IA*Ll)9`RdiiB5_r*01$ie?:b>0m&B-g$i;NcQ,+McM54c7qIV3M5n9lR2[5h=hHK
+9E&XRAH)YPqnD%fle'Wghs!8<\KAle[sm9HhO!0qkPWd)ao;@+pO0sVdf0<9?WfVa
+^@/R]HM01Yrr>XPrQ+t&`F!S>mn<.tF8fm%AH)YPqnD%fl$pr2XIo;qGMGErHQ#J*
+V"4NGIim[R\3p"epc^_<!&VEqJ)u+9E;oLEk*OXpr3*a#+5X\j,eqcQIr[c7nQ4Kh
+qpPBa*<-#-?WfVa^@/R]H=-8:lR2[5h=hHK?H/.8krc_k+34/WmL]?]ILhHgbqH/j
+q-S@$5J;3S;m*1d`YJ:IIDZ-0mGCi[d(,jC&gD\*fm2cUd/KA_rr<jJrDQXgbY+Lg
+_([)OCN87\Y>e.'Gu/P"P".mJ\ij^(mJ=<l!1">tkPLGB!1gl*rrDW,T=k1(Eq.)4
+TBOL+^G!M"1&_*$]-##c5Pa(,DuTeg.JqHc-3!s,I]`VMjb5pEroN0s-2rkBqssYL
+K"h6b5M_C[q]Gb'qR?J)Q5';\qi^sZS\J5*!:n"!]`.tPn\gUj!(LGrq0jF%?[n^9
+a74S=rc\6ErrC4LIe3N[J'QrPJ,*MKhLE(\i^nWp0n0&8&)aY+chCrE^;p6R4+==3
+!9Jo!H2cm>kASncr33*f5MWnk,eq`o^OBOFn5nN1qm$'+A,cP"^K1@7o"q$3rr@*2
+5HVJ@q;5:q19iAGdpZk/[t>F#Vst-<,r[L!_j?LMAKj[IBob2//C>%P$9+]B8L7f!
+8L0Hk;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+W6?dCh5-L^m*
+@S(!X4R`'7^[p!4./s:jIt@V"FMIa?pj]PS6i)7-r,nY)79<MNL\1M:q!100MQWQn
+P^+gGkKQRDOt'@$,a+CT8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sPe+'g
+DuTfp(OtCZ5O+WH<RlSWJ,E-Trr<F0rr?$;(H)-1:[XND?hr?(GWqd`8Lu5l8L0Hk
+;Fr-sP`eT`V'M3q.8.uO`eX3!&,<b$lC,BqH0=tLrg/39!#K;H;cTDVrQu-)IRSmZ
+raoM5c/K@--*lY^,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"
+P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rX0Ya3'r(Z)ElGSk&rd!Dk2h1"k&lJZ/
+QN$peronq.0C\uA@_.?er1EcM5O+-/XE>'<q*4E#J(59>5!LId=Y7sgP"?ouUln:q
+.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5g.?fKuC!#.'c!5d<:eM2*F
+WrE&7rrDhfGQ&Aari(c-C\`p]h(5)2o<A5`I6f-A=AH/b8L0OrP"?rK,a(_k8L0Hs
+Q_&\d&*\<\nTKE420p24cgd_-0*D2+chaN>4GWg.*`Doo#<D_+^7Un5,a(f3bYh"X
+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-s
+P`eT`V'M3q.7keJ8o.pc4R`'7^[p!4-&)9g^Z'/2!7+[kU]1<GrWiDMrrDUsiVpf=
+&*`mSn^`3?'jXr,+4Ke1j/i7\W[bT-ISo13>G!buP";QD,a(bt8L0I`P"?pq,a(_J
+8L0Hk;Fr-sP`eT`V'M3q.7keJ8lFrh`P;C#?2jnYXT&:#@c^Zkr[n-MnNu^B/SG#\
+'O98])*b]83Ig4#rS[O(8L1O2AL*F1.7keJ8lA5+P*D,$,c*.Vrr<rZddTK\m/I'c
+C@jCHTAr<8?3gC6TCkoZGn9X;4Jhih%WhH6I6TZH8L0VFR&#m:,q1+&8P2Q"P#@H7
+,a>*f8L5f2P"A8;,a)&g8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;NaTs
+Ph<kPH/J-NJ*3jF9+1RYJ&L1C!1p8`8,c`j&,W4'!9Co4rJKk^e+/"KXT&:#._;n7
+5H!TB!687B!)us?q#$o/A@Fa;8L0ErP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&
+8P2Q"P#@H7,a>.UIuAgS:qQ`-$X*K0<5m"_X8H3%!9/^ipfc#?VC9!Yjt_F.Z?#sF
+cGTOqo`UFL@62P&,a)&g8L0OrP"?rK,a(_k??uN,5Gd:f`S(7k<7U2JcTfF)oXk_0
+]0GSLXR[J$Lj;Ya/0*jE1AZH<&<]U:QSD&WP"JVD,a+CT8L1,XP"@)o,a(bt8L0I`
+P"?pq,a(_J8L0Hk;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L^our:@\_DZ9^_
+<[<tIo?R@9M7`cf4]ml.r3uGCpIkMdaa]*C(">IGjSo5#=oSJ$<HVfMIo"2d!04Db
+W2f+Pq+$UiDLBrs8KsuVP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sP`eT`V'M3q
+.8-]@!#GS7pn;p2(:4">Mj7RLpp^8'`='HM[@d+c;0-*gAH(h(jo5=OL\HGd#pb\N
+Fd/%\,c)cL8L[4VP"JVD,a+D)oDE9O9>LQ-MmND^X3fIiIuP!'GTZI!J(6DZj?MH3
+nsAE>3R?i!o_dPh,a)@a@Zj;.PbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g
+8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q.3t'J8kC:k;e$42kC:G+rrAXl8LuOXSc8['
+GQ)on,p2r$n3??-rrA5^!"\cRW..UbrrA(crhuj^a&)c-PQ(V'BDk\-e)U"[-'I'Z
+W?dWq8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&kcdbe"O3fqU
+cH33^0\#C]f+Tbg5Fb5q`^pKPA;PuJOJ8,`_EpV/qFCNFh'`3]jSo5,rrC0;rrA('
+8cJe#\Nf^NnnZLu<PQrZ^[@`$Z[MF(EV;SYrrA('8cJe#\Nf^NnnEU6S^N#U/l2EV
+r0m5!P5bMPo)A^$IaYF6B'qk'dQd9Iks+nY-iSo#9eZEc\ki:Dao;@7rrA6hDN\Aj
+ra5Cqg/[mkh8e1E8,bO)-iW,drrCFG!6M);!027prrBR>5P.22CX(:#r?'5^l2+)e
+q4"nk+%ZD3a#g*s!8LhOqB,Mi^[]V65PGsAreLJIH+HRsU\TDq5A=3V1NspNko]]`
+FJ&GgPQ(VMrr=CGBB-c)@MWPI_D,8K2*>DiiqRIEo_3S_$$n9"Yl93Crr=%rqNW+<
+&EP$U@K]F`<c<C&ilaMp6QSU744]m9k'uE$e\CNQ2uPu=Jm\<*ol'_mNW/uSrr=1T
++XL4g+j>E)qZC?rG^CO?o7-[SHFNjq`r?%:rrA-Rrr<uZXoABAZ+oQ'!9=rl,a\?p
+R/Q";"b"]-A+mWTrrA%><rW01=PrcN!:gGGj($WSmT):F5Q$-*KTc?8895lc5/=A4
+iTu$Fc2Re6Z0L6@.i\J[r]r48CjNShb/XG]VuHaY?BC=Wkmh4tLY*@94?\bZq7lne
+4^7pI@t2u-!6?Jd!0*%?rrBT3ht6pKndEkY9Dp$XIdm49^?:9Vqd2;^!63'[J)%,D
+qLA;D^[\SohtJW?rh'0UH9t2QUcFLm+(/1*nFf(^k5PGVf_'1[Q&YeD:]CD;Qi8m+
+>Q3_oJ(+Dta=g(U0D(#Sqnqb-qjnkLm<mgk!#lu]rr@)E^Zkauj:_Im`lG-0goPGj
+J,'94#poS4k!+*=JR<K9f_r"CrrD(he\CNQ2uPu=Jm\<*ol'_mNW/uSrr=1T+XFhN
+*67LYYUf-dHQTZeJ,F,/\,FIhrrAts!0BkR!#lu]rr@)E^Zkauj;4U;Qhj(:rSdGR
+IErF6p:bJF!0*%?rrBT3ht6pKnd0g+A(A?^<]BtAr.=QoP5bMQF!&%Y^ot<-m!dR2
+rrDSolJM=d)ucK/5qi.PHFNjq`r?%:rrA-eOHNu8%V,6gfG4-C4ce=m^]$,S>Q3_o
+J(+Dta<gidNK7-?!4c4ho`"p^$doY\r?9C6nG<:$kD->>?T7ub`lG-0goPGjJ,'5^
+nZhB:pF@3^TDh-&6:l[&3KN#=?ru.Qp-3?TrrDiHol'_mNW/uSrr=1.r\coDroIX>
+e,KEh01\YfoS50u_s@a-SfYr>I,Fr()]l-]!-5?Zl2LbE')qsOa/a^FXDdrbq$$!h
+-2s"g5BqU-?ZX-;rND^j!97S>^[>,]rBL43?hi:HDu5fZrr>jp!$Jru,eqbIa6sPC
+/+.Y/+1:^QJ+7C+Bs>;(=QC6"br>4e3J6ofP`kZ,OSea#/h7`<Yh;6_`EY67mruZq
+L\1M:q!100MQX%'&*`mSn^`3?'jYWGjW70-[m"Ou,`tuf8L0OrP"?rK,a(_k8L0Hs
+P"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8PMuG7l
+TP"3(a#F!oH.)=lnR;@u2uYhPod[F8ro]W8r7Um1kG.*f-acMkQ8>D6P"?rK,a(_k
+8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;
+,a)&g8L0OrP"?r`)q7*MjSo5#=oSJ$<HVfMIo"2d!04DbW2f0WO30ST=`/W:P"?jo
+,a(_J8L0Hk;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,X
+P"@)o,a(bt8L0I`]bgTKImD9Y!02!r9(SnC^Z*0-#&jE\J*L$OJ,R\H1&80HJ'UX+
+r_I9l8M"LK8L0Hk;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT
+8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J8L0HkHoJ!R:W`V:NjJ_`Wp7W$rh#DS!$,_N
+;,u48+-_%1ZJ>8T,a(Sg8L0HsP"?p`Uln:q.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"
+P#@H7,a>*f8L5f2P"A8;,a)&g8L0OrP"?rKH8#&trdgR=!$'nmQ01ffJ&R38%,^jB
+rrCQKh#@BOSmGpuBB9'mSr]$3T%,*L=O*@u8L0OrP"?rK,a(_k8L0HsP"?p`Uln:q
+.3t'J8kC:k;NaTsPbaI6,q1+&8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g8L0PqDc$G*
+PQ(V'BDk\-eW-@%5:?FkchaB:Y(f.hno86Oo28.*MNj8q,c)cL8L[4VP"JVD,a+CT
+8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk;Fr-sP`eT`V'M3q.7keJ8lG:gnR;@u
+2uYhPode=SUAk4O&*OnGn]h(6WE$M/!;AUga6(^irr>2(,PaL&8L1R32'e>V.7keJ
+8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L1,XP"@)o,a(bt8L0I`P"?pq,a(_J8L0Hk
+;Fr-sP`eT`V'M3q.Ic2frBD\/3m[YsX0&J\X*oEl\IW=KaE(X&a<J)Z"iUTCD#IfB
+!6XZ#qeb6G\)Weq%pX;G*-7-`I59]bEtVZ+o4RA"r`<Y1!8DDjjM0j'efXgmao;@L
+h>PFl\GlPX5A4--5M_[Y>f;r#r7UqarrA>;5PEjH\M*cbonWPI/$aZl[srF)mQ]Ti
+g(j#$pLX%70dWat!&f;1rrD/(:]7`jmS!OqrF,^+b3YbtD;X-8]8u^Hp4[j7rRlUQ
+bXlOK!6q.;5P\TKrr?oJqi^sZRm1#)o"-:KgNWB<mc49@rLmQQrr@4L@<3&bJ+I==
+&,oX@rrCekroCiVcdj39Y0$\D[b^o(Has(UIQqLI[m/]8fNc@\TD[C=_uB_%fg#2b
+^UZ#nZh9+R!%Y@)mC.Rc?LC&8O4k?9chD#E(GR56rr=s+Yl=^bG#/(Fn*WjJD#IfB
+!6XZ#qeb6GQb/=Qj7\1RF8ad?L!3,&rrC<9X?ZMdPQ(W"]DIck!1Q2TJ+C3!rnDYk
+-19glq#-mmh#@@t?X\!g>(?-VlOWtrAH)YaDZ8_3k0MU#r3"0A!4L_^aa:Pt!.I.G
+=1:EMQe5Q]QCn*.qSW=5Q.\CqgV:9Pq6TaLrr=RTJ*j^pEaJ/uhiHJ+mEbN<p(oG0
+VuH`TI^&hPj`XGu[dWWWrbVOArrC4.TDNK_gm>X6pZ(t$HZT/=I>,m:C&\1XT<(9Q
+?'G9gD7f\.rrANQ=F]nR-iVkEpEf7frV6>b?JPP\G$e[!&mBeVBBp*-=(M=2gM[#O
+^ZNkn+8i:`rrBL`rQ0Drrr@L4BNMZ-h3Zc!`0R%ng%rVd!0u5%p=m?m0DVsIL]7?)
+Z@D8NIr\l`5MqOU(%'?AAbHop-)^bC2L_n1!9JB"rO21_9E&c+@K->Mm%=/lhqXR1
+O8%].KmRn>fmSRu8SS2)c(D(%q-B3a!,]@FP5bNO5?NF+]-mU4GP<EOj8JcOTjHOS
+!-V^XEu1SN!/hBO)8G^drrB$'DuA;b_uB_%fg#2b^U\Pqiq''\FR1QeB2N8&T5.(g
+N@cC[p6AjRS0`bP8/#KB40rshONeDI7YdmoeteI%+js7[,a+CT8L1,XP"@)o,a(bt
+8L0I`P"?pq,a(_J8L0Hk;Fr-sP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD
+,a+f"f`~>
+
+n
+Q
+Q
+Q
+[/EMC PDFMark5
+PDFVars/TermAll get exec end end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/docs/publications/MODELS2010OCLWorkshop/easst.pdf b/docs/publications/MODELS2010OCLWorkshop/easst.pdf
new file mode 100644
index 0000000..e14d7ad
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/easst.pdf
Binary files differ
diff --git a/docs/publications/MODELS2010OCLWorkshop/eceasst.bst b/docs/publications/MODELS2010OCLWorkshop/eceasst.bst
new file mode 100644
index 0000000..09bdb5b
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/eceasst.bst
@@ -0,0 +1,1170 @@
+% EC-EASST bibliography style
+% Bibliography style for use in articles for the
+% "Electronic Communications of the EASST"
+
+% Fields
+% ======
+% Additional fields "doi" and "url" for information
+% on online availability
+
+ENTRY
+  { address
+    author
+    booktitle
+    chapter
+    doi
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    url
+    volume
+    year }
+  {}
+  { label extra.label sort.label }
+
+% Macros for month names
+% ======================
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+% Formatting Helper Functions
+% ===========================
+
+% Add a comma between top two stack elements if both are non-empty
+FUNCTION {format.insert.comma}
+{ duplicate$ empty$
+    'pop$                           % second empty, first left
+    { swap$ duplicate$ empty$
+        'pop$                       % second empty, first left
+        { ", " * swap$ * }          % first ", " second left
+      if$ }
+  if$ }
+
+% Short editors without punctuation (for "In" clauses)
+FUNCTION {format.editors.short}
+{ editor empty$
+    { "" }
+    { editor #1 "{ll}" format.name$
+      editor num.names$ duplicate$
+      #2 >
+        { pop$ " et~al. (eds.)" * }
+        { #2 <
+            { " (ed.)" * }
+            { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+                { " et~al. (eds.)" * }
+                { " and " *
+                  editor #2 "{ll}" format.name$ *
+                  " (eds.)" * }
+              if$ }
+          if$ }
+      if$ }
+  if$ }
+
+% Book title without punctuation (for "In" clauses)
+FUNCTION {format.booktitle}
+{ booktitle empty$
+    { "" }
+    { "\emph{" booktitle * "}" * }
+  if$ }
+
+% Date without punctuation (to be used after
+% publisher or journal, includes month and year)
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+        { "" }
+        { "there's a month but no year in " cite$ * warning$
+          month }
+      if$ }
+    { month empty$
+        'year
+        { month " " * year * }
+      if$ }
+  if$ }
+
+% Volume and number (if only one is given, printed
+% plain, if both are given, vol(num))
+FUNCTION {format.vol.num}
+{ volume empty$
+    { number empty$
+        { "" }
+        { number }
+      if$ }
+    { number empty$
+        { volume }
+        { volume "(" * number * ")" * }
+      if$ }
+  if$ }
+
+% Pages dashified
+STRINGS { rest }
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { pages 'rest :=
+      ""
+        { rest empty$
+            { #0 }
+            { #1 }
+          if$ }
+        { rest #1 #1 substring$ "-" =
+            { "--" *
+                { rest #1 #1 substring$ "-" = }
+                { rest #2 global.max$ substring$ 'rest := }
+              while$ }
+            { rest #1 #1 substring$ *
+              rest #2 global.max$ substring$ 'rest := }
+          if$ }
+      while$ }
+  if$ }
+
+% Are there multiple pages?
+INTEGERS { multi }
+FUNCTION {multiple.pages}
+{ pages 'rest :=
+  #0 'multi :=
+    { multi
+        { #0 }
+        { rest empty$
+            { #0 }
+            { #1 }
+          if$ }
+      if$ }
+    { rest #1 #1 substring$
+      duplicate$ "-" =
+        { #1 'multi := }
+        'skip$
+      if$
+      duplicate$ "," =
+        { #1 'multi := }
+        'skip$
+      if$
+      "+" =
+        { #1 'multi := }
+        'skip$
+      if$
+      rest #2 global.max$ substring$ 'rest := }
+  while$
+  multi }
+
+FUNCTION {format.series.vol.num}
+{ series empty$
+    { "" }
+    { series }
+  if$
+  format.vol.num
+  duplicate$ empty$
+    'pop$
+    { swap$ duplicate$ empty$
+        { pop$
+          "Volume~" swap$ * }
+        { "~" * swap$ * }
+      if$ }
+  if$ }
+
+FUNCTION {format.add.chapter}
+{ chapter empty$
+    'skip$
+    { chapter
+      swap$ duplicate$ empty$
+        { pop$                  % Previous empty, chapter left on stack
+          type empty$
+            { "Chapter~" swap$ * }
+            { type "t" change.case$
+              "~" * swap$ * }
+          if$ }
+        { type empty$
+            { ", chapter~" * swap$ * }
+            { ", " *
+              type "l" change.case$ *
+              "~" * swap$ * }
+          if$ }
+      if$ }
+  if$ }
+
+FUNCTION {format.add.pages}
+{ format.pages                  % Previous information and pages on stack
+  duplicate$ empty$
+    'pop$
+    { swap$ duplicate$ empty$
+        { pop$                  % Previous empty, pages left on stack
+          multiple.pages
+            { "Pp.~" swap$ * }
+            { "P.~" swap$ * }
+          if$ }
+        { multiple.pages        % Previous ", " pages left on stack
+            { ", pp.~" * swap$ * }
+            { ", p.~" * swap$ * }
+          if$ }
+      if$ }
+  if$ }
+
+% Field Output Functions
+% ======================
+
+% Helper function for writing non-empty stack content
+FUNCTION {output.nonnull}
+{ add.period$
+  write$
+  newline$ }
+
+% Helper function to test for non-emptiness and write
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$ }
+
+% Helper function for formatting author and editor names
+STRINGS { names name }
+INTEGERS { ptr left }
+FUNCTION {format.names}
+{ 'names :=
+  #1 'ptr :=
+  names num.names$ 'left :=
+    { left #0 > }
+    { names ptr "{f.~}{vv~}{ll}{, jj}" format.name$ 'name :=
+      ptr #1 >
+        { left #1 >
+            { ", " * name * }
+            { name "others" =
+                { " et~al." * }
+                { ", " * name * }
+              if$ }
+          if$ }
+        'name
+      if$
+      ptr #1 + 'ptr :=
+      left #1 - 'left := }
+  while$ }
+
+% Authors of a contribution with period and newline
+% Field: author
+FUNCTION {output.authors}
+{ author empty$
+    'skip$
+    { author format.names
+      output.nonnull }
+  if$ }
+
+% Editors of a book or proceedings with period and newline
+% Field: editor
+FUNCTION {output.editors}
+{ editor empty$
+    'skip$
+    { editor format.names
+      editor num.names$ #1 >
+        { " (eds.)" * }
+        { " (ed.)" * }
+      if$
+      output.nonnull }
+  if$ }
+
+% Minor title (article, master's thesis, ...)
+% with period and newline
+% Field: title
+FUNCTION {output.minortitle}
+{ title output }
+
+% Major title (book, PhD thesis, ...)
+% with period and newline
+% Field: title
+FUNCTION {output.majortitle}
+{ title empty$
+    'skip$
+    { "\emph{" title * "}" *
+      output.nonnull }
+  if$ }
+
+% Journal information
+% This fairly complex function does its best to put the pieces of journal
+% information together in a readable way.
+% Fields: journal, volume, number, pages, month, year
+FUNCTION {output.journal}
+{ journal empty$
+    { "" }
+    { "\emph{" journal * "}" * }
+  if$
+  format.vol.num
+  format.pages
+  duplicate$ empty$
+    { pop$                          % pages empty, journal and volnum on stack
+      duplicate$ empty$
+        'pop$                       % volnum empty, journal left on stack
+        { swap$ duplicate$ empty$
+            'pop$                   % journal empty, volnum left on stack
+            { " " * swap$ * }       % journal " " volnum left on stack
+          if$ }
+      if$ }
+    { swap$ duplicate$ empty$
+        { pop$ pop$                 % volnum empty, leave journal on stack
+          format.add.pages }        % and use format.add.pages
+        { ":" * swap$ *             % journal and volnum ":" pages on stack
+          swap$ duplicate$ empty$
+            'pop$                   % journal empty, volnum ":" pages left
+            { " " * swap$ * }       % journal " " volnum ":" pages left on stack
+          if$ }
+      if$ }
+  if$
+  format.date
+  format.insert.comma
+  output }
+
+FUNCTION {output.journal.crossref}
+{ "In \cite{" crossref * "}" *
+  format.add.pages
+  output.nonnull }
+
+% Fields: series, volume, number
+FUNCTION {output.series}
+{ format.series.vol.num
+  output }
+
+FUNCTION {output.series.crossref}
+{ format.vol.num
+  duplicate$ empty$
+    { pop$
+      "In \cite{" crossref * "}" * }
+    { "Volume " swap$ *
+      " in \cite{" * crossref * "}" * }
+  if$
+  edition empty$
+    'skip$
+    { ", " *
+      edition "l" change.case$ *
+      " edition" * }
+  if$
+  format.date
+  format.insert.comma
+  output.nonnull }
+
+% Fields: series, volume, number, type, chapter, pages
+FUNCTION {output.series.pages}
+{ format.series.vol.num
+  format.add.chapter
+  format.add.pages
+  output }
+
+FUNCTION {output.series.pages.crossref}
+{ format.vol.num
+  duplicate$ empty$
+    { pop$
+      "In \cite{" crossref * "}" * }
+    { "Volume " swap$ *
+      " in \cite{" * crossref * "}" * }
+  if$
+  format.add.chapter
+  format.add.pages
+  edition empty$
+    'skip$
+    { ", " *
+      edition "l" change.case$ *
+      " edition" * }
+  if$
+  format.date
+  format.insert.comma
+  output.nonnull }
+
+FUNCTION {output.book.crossref}
+{ ""
+  format.add.chapter
+  format.add.pages
+  duplicate$ empty$
+    { "In " * }
+    { " in " * }
+  if$
+  "\cite{" * crossref * "}" *
+  output.nonnull }
+
+% Fields: editor, booktitle
+FUNCTION {output.booktitle}
+{ format.editors.short
+  format.booktitle
+  format.insert.comma
+  duplicate$ empty$
+    'pop$
+    { "In " swap$ *
+      output.nonnull }
+  if$ }
+
+% Fields: publisher, address, edition, month, year
+FUNCTION {output.publisher}
+{ publisher
+  address
+  format.insert.comma
+  edition empty$
+    'skip$
+    { duplicate$ empty$
+        { edition "t" change.case$ *
+          " edition" * }
+        { ", " *
+          edition "l" change.case$ *
+          " edition" * }
+      if$ }
+  if$
+  format.date
+  format.insert.comma
+  output }
+
+% Fields: type, school, address, month, year
+FUNCTION {output.school}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$ }
+  if$
+  school
+  format.insert.comma
+  address
+  format.insert.comma
+  format.date
+  format.insert.comma
+  output }
+
+% Fields: howpublished, address, month, year
+FUNCTION {output.howpublished}
+{ howpublished
+  address
+  format.insert.comma
+  format.date
+  format.insert.comma
+  output }
+
+% Fields: organization, address, edition, month, year
+FUNCTION {output.organization}
+{ author empty$
+    { "" }
+    { organization }
+  if$
+  address
+  format.insert.comma
+  edition empty$
+    'skip$
+    { duplicate$ empty$
+        { edition "t" change.case$ *
+          " edition" * }
+        { ", " *
+          edition "l" change.case$ *
+          " edition" * }
+      if$ }
+  if$
+  format.date
+  format.insert.comma
+  output }
+
+% Fields: type, number, institution, address, month, year
+FUNCTION {output.techreport}
+{ type empty$
+    { "Technical report" }
+    { type "t" change.case$ }
+  if$
+  number empty$
+    'skip$
+    { "~" * number * }
+  if$
+  institution
+  format.insert.comma
+  address
+  format.insert.comma
+  format.date
+  format.insert.comma
+  output.nonnull }
+
+% Note, DOI and URL
+% Fields: note, doi, url
+FUNCTION {output.note.doi.url}
+{ note empty$
+    'skip$
+    { note
+      add.period$
+      write$
+      newline$ }
+  if$
+  doi empty$
+    'skip$
+    { "\\\doi{" doi * "}" *
+      write$
+      newline$ }
+  if$
+  url empty$
+    'skip$
+    { "\\\url{" url * "}" *
+      write$
+      newline$ }
+  if$ }
+
+% Entry Type Functions
+% ====================
+
+% Helper function for writing the bibitem
+% used in all entry types
+FUNCTION {output.bibitem}
+{ newline$
+  "\bibitem[" write$
+  label write$
+  "]{" write$
+  cite$ write$
+  "}" write$
+  newline$ }
+
+% Required: author, title, journal, year
+% Optional: volume, number, pages, month,
+%           note, doi(!), url(!)
+FUNCTION {article}
+{ output.bibitem
+  author empty$
+    { "empty author in article " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in article " cite$ * warning$ }
+    'output.minortitle
+  if$
+  crossref missing$
+    { journal empty$
+        { "empty journal in article " cite$ * warning$ }
+        'skip$
+      if$
+      year empty$
+        { "empty year in article " cite$ * warning$ }
+        'skip$
+      if$
+      output.journal }
+    'output.journal.crossref
+  if$
+  output.note.doi.url }
+
+% Required: author or editor, title, publisher, year
+% Optional: series, volume(!), number(!), address, edition, month,
+%           note, doi(!), url(!)
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    { editor empty$
+        { "empty author and editor in book " cite$ * warning$ }
+        'output.editors
+      if$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in book " cite$ * warning$ }
+    'output.majortitle
+  if$
+  crossref missing$
+    { output.series
+      publisher empty$
+        { "empty publisher in book " cite$ * warning$ }
+        'skip$
+      if$
+      year empty$
+        { "empty year in book " cite$ * warning$ }
+        'skip$
+      if$
+      output.publisher }
+    'output.series.crossref
+  if$
+  output.note.doi.url }
+
+% Required: title
+% Optional: author, howpublished, address, month, year,
+%           note, doi(!), url(!)
+FUNCTION {booklet}
+{ output.bibitem
+  output.authors
+  title empty$
+    { "empty title in booklet " cite$ * warning$ }
+    'output.minortitle
+  if$
+  output.howpublished
+  output.note.doi.url }
+
+% Required: author or editor, title, chapter and/or pages, publisher, year
+% Optional: series, volume(!), number(!), type, address, edition, month,
+%           note, doi(!), url(!)
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    { editor empty$
+        { "empty author and editor in inbook " cite$ * warning$ }
+        'output.editors
+      if$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in inbook " cite$ * warning$ }
+    'output.majortitle
+  if$
+  pages empty$
+    { chapter empty$
+        { "empty chapter and pages in inbook " cite$ * warning$ }
+        'skip$
+      if$ }
+    'skip$
+  if$
+  crossref empty$
+    { output.series.pages
+      publisher empty$
+        { "empty publisher in inbook " cite$ * warning$ }
+        'skip$
+      if$
+      year empty$
+        { "empty year in inbook " cite$ * warning$ }
+        'skip$
+      if$
+      output.publisher }
+    'output.series.pages.crossref
+  if$
+  output.note.doi.url }
+
+% Required: author, title, booktitle, publisher, year
+% Optional: editor, series, volume(!), number(!), type, chapter, pages,
+%           address, edition, month,
+%           note, doi(!), url(!)
+FUNCTION {incollection}
+{ output.bibitem
+  author empty$
+    { "empty author in incollection " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in incollection " cite$ * warning$ }
+    'output.minortitle
+  if$
+  crossref missing$
+    { booktitle empty$
+        { "empty booktitle in incollection " cite$ * warning$ }
+        'skip$
+      if$
+      output.booktitle
+      output.series.pages
+      publisher empty$
+        { "empty publisher in incollection " cite$ * warning$ }
+        'skip$
+      if$
+      year empty$
+        { "empty year in incollection " cite$ * warning$ }
+        'skip$
+      if$
+      output.publisher }
+    'output.book.crossref
+  if$
+  output.note.doi.url }
+
+% Required: author, title, booktitle, year
+% Optional: editor, series, volume(!), number(!), type(!), chapter(!),
+%           pages, (organization), publisher, address, edition(!), month,
+%           note, doi(!), url(!)
+FUNCTION {inproceedings}
+{ output.bibitem
+  author empty$
+    { "empty author in inproceedings " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in inproceedings " cite$ * warning$ }
+    'output.minortitle
+  if$
+  crossref missing$
+    { booktitle empty$
+        { "empty booktitle in inproceedings " cite$ * warning$ }
+        'skip$
+      if$
+      output.booktitle
+      output.series.pages
+      year empty$
+        { "empty year in inproceedings " cite$ * warning$ }
+        'skip$
+      if$
+      output.publisher }
+    'output.book.crossref
+  if$
+  output.note.doi.url }
+
+% Required: title
+% Optional: author, organization, address, edition, month, year,
+%           note, doi(!), url(!)
+FUNCTION {manual}
+{ output.bibitem
+  author empty$
+    { organization output }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in manual " cite$ * warning$ }
+    'output.minortitle
+  if$
+  output.organization
+  output.note.doi.url }
+
+% Required: author, title, school, year
+% Optional: type, address, month,
+%           note, doi(!), url(!)
+FUNCTION {mastersthesis}
+{ output.bibitem
+  author empty$
+    { "empty author in mastersthesis " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in mastersthesis " cite$ * warning$ }
+    'output.minortitle
+  if$
+  school empty$
+    { "empty school in mastersthesis " cite$ * warning$ }
+    'skip$
+  if$
+  year empty$
+    { "empty year in mastersthesis " cite$ * warning$ }
+    'skip$
+  if$
+  "Master's thesis" output.school
+  output.note.doi.url }
+
+% Optional: author, title, howpublished, address(!), month, year,
+%           note, doi(!), url(!)
+FUNCTION {misc}
+{ output.bibitem
+  output.authors
+  output.minortitle
+  output.howpublished
+  output.note.doi.url }
+
+% Required: author, title, school, year
+% Optional: type, address, month,
+%           note, doi(!), url(!)
+FUNCTION {phdthesis}
+{ output.bibitem
+  author empty$
+    { "empty author in phdthesis " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in phdthesis " cite$ * warning$ }
+    'output.majortitle
+  if$
+  school empty$
+    { "empty school in phdthesis " cite$ * warning$ }
+    'skip$
+  if$
+  year empty$
+    { "empty year in phdthesis " cite$ * warning$ }
+    'skip$
+  if$
+  "PhD thesis" output.school
+  output.note.doi.url }
+
+% Required: title, year
+% Optional: edtor, series, volume(!), number(!), (organization),
+%           publisher, address, edition(!), month,
+%           note, doi(!), url(!)
+FUNCTION {proceedings}
+{ output.bibitem
+  output.editors
+  title empty$
+    { "empty title in proceedings " cite$ * warning$ }
+    'output.majortitle
+  if$
+  output.series
+  year empty$
+    { "empty year in book " cite$ * warning$ }
+    'skip$
+  if$
+  output.publisher
+  output.note.doi.url }
+
+FUNCTION {conference}
+{ proceedings }
+
+% Required: author, title, institution, year
+% Optional: type, number, address, month,
+%           note, doi(!), url(!)
+FUNCTION {techreport}
+{ output.bibitem
+  author empty$
+    { "empty author in techreport " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in techreport " cite$ * warning$ }
+    'output.minortitle
+  if$
+  institution empty$
+    { "empty institution in techreport " cite$ * warning$ }
+    'skip$
+  if$
+  year empty$
+    { "empty year in techreport " cite$ * warning$ }
+    'skip$
+  if$
+  output.techreport
+  output.note.doi.url }
+
+% Required: author, title, note
+% Optional: howpublished(!), address(!), month, year,
+%           doi(!), url(!)
+FUNCTION {unpublished}
+{ output.bibitem
+  author empty$
+    { "empty author in unpublished " cite$ * warning$ }
+    'output.authors
+  if$
+  title empty$
+    { "empty title in unpublished " cite$ * warning$ }
+    'output.minortitle
+  if$
+  output.howpublished
+  note empty$
+    { "empty note in unpublished " cite$ * warning$ }
+    'skip$
+  if$
+  output.note.doi.url }
+
+FUNCTION {default.type}
+{ misc }
+
+% Alpha Label Calculation
+% =======================
+% Shamelessly stolen from the 'alpha' standard BibTeX style
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$ }
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$ }
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$ }
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$ }
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 'name :=
+  'len :=
+  name #1 len substring$ =
+    { name len #1 + global.max$ substring$ }
+    'name
+  if$ }
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used := }
+
+EXECUTE {initialize.et.al.char.used}
+
+INTEGERS { num }
+
+FUNCTION {format.lab.names}
+{ 'names :=
+  names num.names$ 'num :=
+  num #1 >
+    { num #4 >
+        { #3 'left := }
+        { num 'left := }
+      if$
+      #1 'ptr :=
+      ""
+        { left #0 > }
+        { ptr num =
+            { names ptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+                { "{\etalchar{+}}" *
+                  #1 'et.al.char.used := }
+                { names ptr "{ll}" format.name$ #1 text.prefix$ * }
+              if$ }
+            { names ptr "{ll}" format.name$ #1 text.prefix$ * }
+          if$
+          ptr #1 + 'ptr :=
+          left #1 - 'left := }
+      while$
+      num #4 >
+        { "{\etalchar{+}}" *
+          #1 'et.al.char.used := }
+        'skip$
+      if$
+      duplicate$ }
+    { names #1 "{v{}}{l{}}" format.name$
+      duplicate$ text.length$ #2 <
+        { pop$
+          names #1 "{ll}" format.name$ #3 text.prefix$
+          duplicate$ }
+        { names #1 "{ll}" format.name$ #3 text.prefix$
+          swap$ }
+      if$ }
+  if$ }
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$
+          duplicate$ }
+        { key #3 text.prefix$
+          duplicate$ }
+      if$ }
+    { author format.lab.names }
+  if$ }
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$
+              duplicate$ }
+            { key #3 text.prefix$
+              duplicate$ }
+          if$ }
+        { editor format.lab.names }
+      if$ }
+    { author format.lab.names }
+  if$ }
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+    { key empty$
+        { organization empty$
+            { cite$ #1 #3 substring$
+              duplicate$ }
+            { "The " #4 organization chop.word #3 text.prefix$
+              duplicate$ }
+          if$ }
+        { key #3 text.prefix$
+          duplicate$ }
+      if$ }
+    { author format.lab.names }
+  if$ }
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+    { key empty$
+        { organization empty$
+            { cite$ #1 #3 substring$
+              duplicate$ }
+            { "The " #4 organization chop.word #3 text.prefix$
+              duplicate$ }
+          if$ }
+        { key #3 text.prefix$
+          duplicate$ }
+      if$ }
+    { editor format.lab.names }
+  if$ }
+
+FUNCTION {calc.label}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.organization.label
+        { type$ "manual" =
+            'author.key.organization.label
+            'author.key.label
+          if$ }
+      if$ }
+  if$
+  year field.or.null purify$ #-1 #2 substring$ *
+  'label :=
+  year field.or.null purify$ #-1 #4 substring$ *
+  sortify 'sort.label := }
+
+FUNCTION {sort.format.names}
+{ 'names :=
+  #1 'ptr :=
+  ""
+  names num.names$ 'num :=
+  num 'left :=
+    { left #0 > }
+    { ptr #1 >
+        { "   " * }
+        'skip$
+      if$
+      names ptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 'name :=
+      ptr num = name "others" = and
+        { "et al" * }
+        { name sortify * }
+      if$
+      ptr #1 + 'ptr :=
+      left #1 - 'left := }
+  while$ }
+
+FUNCTION {sort.format.title}
+{ 'name :=
+  "A " #2
+    "An " #3
+      "The " #4 name chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$ }
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          "" }
+        { key sortify }
+      if$ }
+    { author sort.format.names }
+  if$ }
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              "" }
+            { key sortify }
+          if$ }
+        { editor sort.format.names }
+      if$ }
+    { author sort.format.names }
+  if$ }
+
+FUNCTION {author.organization.sort}
+{ author empty$
+    { organization empty$
+        { key empty$
+            { "to sort, need author, organization, or key in " cite$ * warning$
+              "" }
+            { key sortify }
+          if$ }
+        { "The " #4 organization chop.word sortify }
+      if$ }
+    { author sort.format.names }
+  if$ }
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+    { organization empty$
+        { key empty$
+            { "to sort, need editor, organization, or key in " cite$ * warning$
+              "" }
+            { key sortify }
+          if$ }
+        { "The " #4 organization chop.word sortify }
+      if$ }
+    { editor sort.format.names }
+  if$ }
+
+FUNCTION {presort}
+{ calc.label
+  sort.label
+  "    " *
+  type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+        'editor.organization.sort
+        { type$ "manual" =
+            'author.organization.sort
+            'author.sort
+          if$ }
+      if$ }
+  if$ *
+  "    " *
+  year field.or.null sortify *
+  "    " *
+  title field.or.null
+  sort.format.title *
+  #1 entry.max$ substring$
+  'sort.key$ := }
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #0 int.to.chr$ 'last.sort.label :=
+  "" 'next.extra :=
+  #0 'longest.label.width :=
+  #0 'last.extra.num := }
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label := }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      sort.label 'last.sort.label := }
+  if$ }
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  label extra.label * 'label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width := }
+    'skip$
+  if$
+  extra.label 'next.extra := }
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+{ et.al.char.used
+    { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+    'skip$
+  if$
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$ }
+
+EXECUTE {begin.bib}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}" write$ newline$ }
+
+EXECUTE {end.bib}
diff --git a/docs/publications/MODELS2010OCLWorkshop/eceasst.cls b/docs/publications/MODELS2010OCLWorkshop/eceasst.cls
new file mode 100644
index 0000000..0044890
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/eceasst.cls
@@ -0,0 +1,282 @@
+% *************************************************************
+% * Class file for the Electronic Communications of the EASST *
+% *************************************************************
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{eceasst}[2009/07/08 ECEASST document class v1.6]
+% Derived from the article class, fixing it to be two-sided 11pt output
+% on A4 paper
+\LoadClass[a4paper,11pt,twoside]{article}
+% =======
+% Lengths
+% =======
+\setlength{\textwidth}{420pt}
+\setlength{\headheight}{35pt}
+\setlength{\oddsidemargin}{16pt}
+\setlength{\evensidemargin}{16pt}
+\setlength{\parindent}{1em}
+\setlength{\parskip}{0pt}
+% =========
+% Footnotes
+% =========
+\renewcommand{\@makefntext}[1]{%
+  \noindent$^\@thefnmark$ #1}
+% ====================================
+% Spacing of figure and table captions
+% ====================================
+\setlength{\abovecaptionskip}{6pt}
+\setlength{\belowcaptionskip}{6pt}
+% ================================
+% Environment for acknowledgements
+% ================================
+\newenvironment{acknowledge}{%
+  \par\vspace{11pt}%
+  \noindent\textbf{Acknowledgements:}\enspace}{%
+  \par\vspace{11pt}}
+% =============================
+% Miscellaneous package imports
+% =============================
+\RequirePackage{mathptmx}
+\RequirePackage[scaled=.90]{helvet}
+\RequirePackage{courier}
+% Graphics
+\RequirePackage{graphicx}
+% Colors
+\RequirePackage{color}
+\definecolor{easstblue}{rgb}{.05,.32,.66}
+% ======================
+% Package for Hyperlinks
+% ======================
+% Hyperlinks are coloured in easstblue
+\RequirePackage[colorlinks=true,linkcolor=easstblue,citecolor=easstblue,filecolor=easstblue,menucolor=easstblue,urlcolor=easstblue,pdfpagemode={UseNone},pdfsubject={Software Science and Technology},pdfstartview={FitH}]{hyperref}
+% URLs should be in normal font
+\urlstyle{same}
+% Command for emails
+\newcommand{\email}[1]{\href{mailto:#1}{#1}}
+% Command for Digital Object Identifiers
+\newcommand{\doi}[1]{\href{http://dx.doi.org/#1}{doi:#1}}
+% Correct anchors for figures and tables to be above the float
+% ------------------------------------------------------------
+\RequirePackage[all]{hypcap}
+% =========================================
+% AMS packages for mathematics and theorems
+% =========================================
+\RequirePackage[tbtags,sumlimits,intlimits,namelimits,reqno,fleqn]{amsmath}
+\RequirePackage{amsthm}
+\RequirePackage{amsfonts}
+\RequirePackage{amssymb}
+% Custom theorem-like environments
+\newtheoremstyle{ectheorem}{11pt}{11pt}{\itshape}{}{\bfseries}{}{1em}{}
+\newtheoremstyle{ecdefinition}{11pt}{11pt}{\upshape}{}{\bfseries}{}{1em}{}
+\newtheoremstyle{ecremark}{11pt}{11pt}{\slshape}{}{\itshape}{}{1em}{}
+\theoremstyle{ectheorem}
+\newtheorem{theorem}{Theorem}
+\newtheorem{proposition}{Proposition}
+\newtheorem{lemma}{Lemma}
+\newtheorem{corollary}{Corollary}
+\theoremstyle{ecdefinition}
+\newtheorem{definition}{Definition}
+\newtheorem{algorithm}{Algorithm}
+\theoremstyle{ecremark}
+\newtheorem{remark}{Remark}
+\newtheorem{example}{Example}
+% =========================
+% Names to use in \autorefs
+% =========================
+% Names for sections and similar:
+\renewcommand{\partautorefname}{Part}
+\renewcommand{\sectionautorefname}{Section}
+\renewcommand{\subsectionautorefname}{Subsection}
+\renewcommand{\subsubsectionautorefname}{Subsubsection}
+% Names for theorem-like environments:
+\renewcommand{\theoremautorefname}{Theorem}
+\newcommand{\propositionautorefname}{Proposition}
+\newcommand{\lemmaautorefname}{Lemma}
+\newcommand{\corollaryautorefname}{Corollary}
+\newcommand{\definitionautorefname}{Definition}
+\newcommand{\algorithmautorefname}{Algorithm}
+\newcommand{\exampleautorefname}{Example}
+\newcommand{\remarkautorefname}{Remark}
+% Names for figures and tables:
+\renewcommand{\figureautorefname}{Figure}
+\newcommand{\subfigureautorefname}{Figure}
+\renewcommand{\tableautorefname}{Table}
+\newcommand{\subtableautorefname}{Table}
+% Name for the bibliography
+\renewcommand{\refname}{Bibliography}
+% ====================
+% Frontmatter commands
+% ====================
+% The volume number and title
+\newcommand{\ecvolnumber}{No \texttt{$\backslash$volume} defined!}
+\newcommand{\volume}[2]{\renewcommand{\ecvolnumber}{Volume #1 (#2)}}
+\newcommand{\ecvoltitle}{No \texttt{$\backslash$volumetitle} defined!}
+\newcommand{\volumetitle}[1]{\renewcommand{\ecvoltitle}{#1}}
+\newcommand{\ecvolshort}{\ecvolnumber}
+\newcommand{\volumeshort}[1]{\renewcommand{\ecvolshort}{#1}}
+% The volume or guest editors
+\newcommand{\eceditor}{No \texttt{$\backslash$*ed(s)} defined!}
+\newcommand{\voled}[1]{\renewcommand{\eceditor}{Volume Editor: #1}}
+\newcommand{\voleds}[1]{\renewcommand{\eceditor}{Volume Editors: #1}}
+\newcommand{\guested}[1]{\renewcommand{\eceditor}{Guest Editor: #1}}
+\newcommand{\guesteds}[1]{\renewcommand{\eceditor}{Guest Editors: #1}}
+% Title
+\newcommand{\ectitle}{No \texttt{$\backslash$title} defined!}
+\renewcommand{\title}[1]{\renewcommand{\ectitle}{#1}\hypersetup{pdftitle={#1}}}
+\newcommand{\ecshort}{\ectitle}
+\newcommand{\short}[1]{\renewcommand{\ecshort}{#1}}
+% Author(s) and institutes
+\newcommand{\ecauthor}{No \texttt{$\backslash$author} defined!}
+\renewcommand{\author}[1]{\renewcommand{\ecauthor}{#1}\setcounter{page}{0}\hypersetup{pdfauthor={#1}}}
+\newcommand{\autref}[1]{\if\thepage0\else\hyperlink{aut#1}{$^#1$}\fi}
+\newcommand{\sponsor}[1]{\if\thepage0\else\footnote{#1}\fi}
+\newcommand{\ecinstitute}{No \texttt{$\backslash$institute} defined!}
+\newcommand{\institute}[1]{\renewcommand{\ecinstitute}{#1}}
+\newcommand{\autlabel}[1]{\hypertarget{aut#1}{$^#1$}}
+% Abstract and keywords
+\newcommand{\ecabstract}{No \texttt{$\backslash$abstract} defined!}
+\renewcommand{\abstract}[1]{\renewcommand{\ecabstract}{#1}}
+\newcommand{\eckeywords}{No \texttt{$\backslash$keywords} defined!}
+\newcommand{\keywords}[1]{\renewcommand{\eckeywords}{#1}\hypersetup{pdfkeywords={#1}}}
+% ===================
+% Headers and footers
+% ===================
+% Odd page header
+% ---------------
+\def\@oddhead{\vbox{%
+  \includegraphics[width=30pt]{easst}% Logo on the left
+  \hfill%
+  \textsf{ECEASST}% ECEASST on the right
+  \vskip 3pt%
+  {\color{easstblue}\hrule height 2pt}}}
+% Odd page footer
+% ---------------
+\def\@oddfoot{\vbox{%
+  {\color{easstblue}\hrule height 2pt}
+  \vskip 3pt%
+  \textsf{\thepage\ / \pageref*{lastpage}}% Page number on the left
+  \hfill%
+  \textsf{\ecvolnumber}}}% Volume on the right
+% Even page header
+% ----------------
+\def\@evenhead{\vbox{%
+  \textsf{\ecshort}% Short title on the left
+  \hfill%
+  \includegraphics[width=30pt]{easst}% Logo on the right
+  \vskip 3pt%
+  {\color{easstblue}\hrule height 2pt}}}
+% Even page footer
+% ----------------
+\def\@evenfoot{\vbox{%
+  {\color{easstblue}\hrule height 2pt}
+  \vskip 3pt%
+  \textsf{\ecvolshort}% Short volume title on the left
+  \hfill%
+  \textsf{\thepage\ / \pageref*{lastpage}}}}% Page number on the right
+% ===========================================================
+% Making the title page and the frontmatter on the first page
+% ===========================================================
+% Define a label for the last page
+\AtEndDocument{%
+  \clearpage%
+  \addtocounter{page}{-1}%
+  \immediate\write\@auxout{\string
+  \newlabel{lastpage}{{}{\thepage}{}{}}}%
+  \addtocounter{page}{1}}
+% Head building block for the cover page
+\newcommand{\eccoverhead}{%
+  % Title box
+  \vspace*{-85pt}
+  \noindent \colorbox{easstblue}{\parbox{414pt}{\color{white}\sf
+    \vspace{6pt}
+    \hspace{6pt}{\LARGE Electronic Communications of the EASST}\\[6pt]
+    \hspace*{6pt}{\LARGE \ecvolnumber}
+    \vspace{6pt}}}
+  % EASST logo
+  \begin{flushright}
+    \includegraphics[height=80pt]{easst}
+  \end{flushright}}
+% Foot building block for the cover page
+\newcommand{\eccoverfoot}{%
+  % Information on editors, ECEASST home page and ISSN
+  \vfill
+  \colorbox{easstblue}{\parbox{414pt}{\color{white}\sf
+    \vspace{6pt}
+    \hspace{6pt}\eceditor\\
+    \hspace*{6pt}Managing Editors: Tiziana Margaria, Julia Padberg, Gabriele Taentzer\\
+    \hspace*{6pt}ECEASST Home Page: \href{http://www.easst.org/eceasst/}{\textcolor{yellow}{http://www.easst.org/eceasst/}}
+    \hfill ISSN 1863-2122\hspace{6pt}
+    \vspace{6pt}}}}
+% Introduce the maketitle command
+\renewcommand{\maketitle}{%
+  % The cover page
+  % --------------
+  \thispagestyle{empty}
+  \enlargethispage{30pt}
+  % Will be page 0, s.t. contents start on page 1
+  \setcounter{page}{0}
+  \eccoverhead
+  % Volume and article title, author(s)
+  \vspace{60pt}
+  \begin{center}
+    {\LARGE\ecvoltitle\par}
+    \vspace{44pt}
+    {\Large\ectitle\par}
+    \vspace{11pt}
+    \ecauthor\\[11pt]
+    \pageref*{lastpage} pages
+  \end{center}
+  \eccoverfoot
+  \newpage
+  % Beginning of article title on first page
+  % ----------------------------------------
+  \global\@topnum\z@ % To prevent floats above the title
+  \setlength{\parskip}{11pt}
+  % Change footnotes to symbols
+  \renewcommand{\thefootnote}{\fnsymbol{footnote}}
+  % Information on title, author(s) and institutes of authors centered
+  \begin{center}
+    {\Large\bfseries\ectitle\par}
+    {\large\bfseries\ecauthor\par}
+    \ecinstitute
+  \end{center}
+  % Reset footnote counter and change to arabic numbers
+  \setcounter{footnote}{0}
+  \renewcommand{\thefootnote}{\arabic{footnote}}
+  % Abstract and keywords as a block quote
+  \begin{quote}
+    \textbf{Abstract:} \ecabstract\par
+    \textbf{Keywords:} \eckeywords
+  \end{quote}
+  \setlength{\parskip}{0pt}}
+% Introduce the prefacetitle command
+\newcommand{\prefacetitle}{%
+  % The cover page
+  % --------------
+  \thispagestyle{empty}
+  \enlargethispage{30pt}
+  % Will be page 0, s.t. contents start on page 1
+  \setcounter{page}{0}
+  \eccoverhead
+  % Volume and article title, author(s)
+  \vspace{60pt}
+  \begin{center}
+    {\LARGE\ecvoltitle\par}
+    \vspace{44pt}
+    {\Large Preface\par}
+    \vspace{11pt}
+    \pageref*{lastpage} pages
+  \end{center}
+  \eccoverfoot
+  \newpage
+  % Beginning of article title on first page
+  % ----------------------------------------
+  \global\@topnum\z@ % To prevent floats above the title
+  \setlength{\parskip}{11pt}
+  % Preface title centered
+  \begin{center}
+    {\Large\bfseries Preface}
+  \end{center}
+  \renewcommand{\ecshort}{Preface}
+  % Footnotes as arabic numbers
+  \renewcommand{\thefootnote}{\arabic{footnote}}
+  \setlength{\parskip}{0pt}}
diff --git a/docs/publications/MODELS2010OCLWorkshop/frontmatter.tex b/docs/publications/MODELS2010OCLWorkshop/frontmatter.tex
new file mode 100644
index 0000000..baece44
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/frontmatter.tex
@@ -0,0 +1,11 @@
+% Volume frontmatter for Something 2009
+% =====================================
+\volume{36}{2010} % Volume number and year
+\volumetitle{% Title of the volume (optional)
+Proceedings of the\\
+Workshop on OCL and Textual Modelling\\
+(OCL 2010)}
+\volumeshort{% Short title of the volume (optional)
+Proc.\ OCL 2010}
+\guesteds{% Multiple guest editors
+Jordi Cabot, Tony Clark, Manuel Clavel, Martin Gogolla}
diff --git a/docs/publications/MODELS2010OCLWorkshop/oclxtext.bib b/docs/publications/MODELS2010OCLWorkshop/oclxtext.bib
new file mode 100644
index 0000000..4c4429e
--- /dev/null
+++ b/docs/publications/MODELS2010OCLWorkshop/oclxtext.bib
@@ -0,0 +1,78 @@
+@preamble{ "\newcommand{\noopsort}[1]{} "
+	# "\newcommand{\printfirst}[2]{#1} "
+	# "\newcommand{\singleletter}[1]{#1} "
+	# "\newcommand{\switchargs}[2]{#2#1} " }
+
+@MISC{ANTLR,
+   title = "ANTLR, ANother Tool for Language Recognition",
+   url = "http://www.antlr.org",
+}
+
+@Book{dragon,
+  author = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
+  title = "Compilers. Principles, Techniques and Tools",
+  publisher = "Addison Wesley",
+  year = "1986"
+}
+
+@MISC{Helios,
+   title = "Eclipse Helios release",
+   url = "http://www.eclipse.org/downloads/",
+}
+
+@MISC{IMP,
+   title = "Eclipse IDE Meta-Tooling Platform Project",
+   url = "http://www.eclipse.org/projects/project_summary.php?projectid=technology.imp",
+}
+
+@MISC{LPG,
+   title = "Sourceforge LALR Parser Project",
+   url = "http://sourceforge.net/projects/lpg",
+}
+
+@MISC{MDT/OCL,
+   title = "Eclipse MDT/OCL Project",
+   url = "http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl",
+}
+
+@MANUAL{MOFM2T,
+   title = "MOF Model to Text Transformation Language",
+   organization = "Object Management Group",
+   edition = " v1.0, OMG Document Number: formal/2008-01-16",
+   url = "http://www.omg.org/spec/MOFM2T/1.0",
+}
+
+
+@MANUAL{OCL,
+   title = "Object Constraint Language",
+   organization = "Object Management Group",
+   edition = "Version 2.2, OMG Document Number: formal/2010-02-01",
+   url = "http://www.omg.org/spec/OCL/2.2",
+}
+
+@MANUAL{OCL2.3,
+   title = "First Ballot Resolutions for Object Constraint Language version 2.3, 2009",
+   organization = "Object Management Group",
+   url = "http://www.omg.org/archives/ocl2-rtf/msg00331.html",
+}
+
+@MANUAL{QVT,
+   title = "Query/View/Transformation Specification",
+   organization = "Object Management Group",
+   edition = "Version 2.3, OMG Document Number: ptc/09-12-05, 2009",
+   url = "http://www.omg.org/spec/QVT/1.1/Beta2/PDF",
+}
+
+@MISC{TMF/Xtext,
+   title = "Eclipse TMF/Xtext Project",
+   url = "http://www.eclipse.org/Xtext",
+}
+
+@MANUAL{UML,
+   title = "Unified Modeling Language, Superstructure",
+   organization = "Object Management Group",
+   edition = "Version 2.3, OMG Document Number: formal/2010-05-05",
+   url = "http://www.omg.org/spec/UML/2.3",
+}
+
+
diff --git a/docs/publications/MODELS2010OCLWorkshop/oclxtext.pdf b/docs/publications/MODELS2010OCLWorkshop/oclxtext.pdf
index b7a6a9e..7d8cb00 100644
--- a/docs/publications/MODELS2010OCLWorkshop/oclxtext.pdf
+++ b/docs/publications/MODELS2010OCLWorkshop/oclxtext.pdf
Binary files differ
diff --git a/docs/publications/MODELS2010OCLWorkshop/oclxtext.tex b/docs/publications/MODELS2010OCLWorkshop/oclxtext.tex
index af50656..3404cd6 100644
--- a/docs/publications/MODELS2010OCLWorkshop/oclxtext.tex
+++ b/docs/publications/MODELS2010OCLWorkshop/oclxtext.tex
@@ -1,57 +1,34 @@
-\documentclass[runningheads,a4paper]{llncs}
+\documentclass{eceasst}
+% This is the source of the author documentation
+% for the ECEASST document class.
 
-\usepackage{amssymb}
-\setcounter{tocdepth}{3}
-\usepackage{graphicx}
+% Required packages
+% =================
+\usepackage{subfig}
 
-\usepackage{url}
-\newcommand{\keywords}[1]{\par\addvspace\baselineskip
-\noindent\keywordname\enspace\ignorespaces#1}
+% Volume frontmatter
+% ==================
+\input{frontmatter}
+
+% Article frontmatter
+% ===================
+\title{% Title of the article
+Re-engineering Eclipse MDT/OCL for Xtext}
+%\short{% Short title of the article (optional)
+%Re-engineering Eclipse MDT/OCL for Xtext}
+\author{% Authors and references to addresses
+Edward Willink\autref{1}}
+\institute{% Institutes with labels
+\autlabel{1} \email{ed \_at\_ willink.me.uk}, \url{http://www.eclipse.org/modeling}\\
+Eclipse Modeling Project}
+
+\abstract{
+The current tooling used for the Eclipse OCL project uses an LALR parser generator. Enhancing the tooling to support editing motivated a migration to exploit the inherently model-driven characteristics of Xtext. This paper summarizes the experiences of that migration, identifies the many benefits and discusses a few changes in implementation approach that were required. Objective performance and size comparisons between the old LALR and new Xtext approach are provided.}
+\keywords{OCL, meta-model, editor, Xtext, LALR, LPG, ASG, AST, CSG, CST}
 
 \begin{document}
-
-\mainmatter  % start of an individual contribution
-
-% first the title is needed
-\title{MODELS 2010\\Workshop on OCL and Textual Modelling:\\Re-engineering Eclipse MDT/OCL for Xtext}
-
-% a short form should be given in case it is too long for the running head
-\titlerunning{MODELS 2010 Workshop on OCL and Textual Modelling}
-
-% the name(s) of the author(s) follow(s) next
-%
-% NB: Chinese authors should write their first names(s) in front of
-% their surnames. This ensures that the names appear correctly in
-% the running heads and the author index.
-%
-\author{Edward Willink}
-%
-\authorrunning{Re-engineering Eclipse MDT/OCL for Xtext}
-% (feature abused for this document to repeat the title also on left hand pages)
-
-% the affiliations are given next; don't give your e-mail address
-% unless you accept that it will be published
-\institute{Eclipse Modeling Project,\\
-\url{http://www.eclipse.org/modeling}}
-
-%
-% NB: a more complex sample for affiliations and the mapping to the
-% corresponding authors can be found in the file "llncs.dem"
-% (search for the string "\mainmatter" where a contribution starts).
-% "llncs.dem" accompanies the document class "llncs.cls".
-%
-
-\toctitle{MODELS 2010 Workshop on OCL and Textual Modelling}
-\tocauthor{Re-engineering Eclipse MDT/OCL for Xtext}
 \maketitle
 
-
-\begin{abstract}
-The current tooling used for the Eclipse OCL project uses an LALR parser generator. Enhancing the tooling to support editing motivated a migration to exploit the inherently model-driven characteristics of Xtext. This paper summarizes the experiences of that migration, identifies the many benefits and discusses a few changes in implementation approach that were required. Objective performance and size comparisons between the old LALR and new Xtext approach are provided.
-\keywords{OCL, meta-model, editor, Xtext, LALR, LPG, ASG, AST, CSG, CST}
-\end{abstract}
-
-
 \section{Introduction}
 
 The Object Constraint Language (OCL)\cite{OCL} evolved, initially within the Unified Modeling Language (UML)\cite{UML}, to capture modeling constraints that were inappropriate to express graphically. It was recognized that the textual modeling expression language had utility beyond UML and so OCL 2.0 was separated out when UML 2.0 was proposed. The benefits of this separation have become clear in the last few years as OCL forms the basis for alternate modeling specifications such as the Model to Text transformation language MOFM2T\cite{MOFM2T}, and the Query/View/Transformation (QVT)\cite{QVT} Model to Model transformation languages.
@@ -71,7 +48,7 @@
 
 In this paper we describe this redevelopment, and since this is a redevelopment of a real language, we are able to provide realistic contrasts between the more traditional parsing approaches and the revised approaches required by Xtext and, behind the scenes, ANTLR \cite{ANTLR}. We first review the basic parsing activities and see how the old tools supported it, then we see how Xtext provides much simpler and more powerful mechanisms that do much more. The redevelopment was not always straightforward and so we then describe areas where Xtext required a different approach to be adopted. Finally we conclude with some performance metrics contrasting the traditional and the Xtext implementations.
 
-The code for both implementations is available as part of the Eclipse Helios release. The basic MDT/OCL installation provides just the old approach. Installation of the optional MDT/OCL Examples provides the new Xtext editors that use the new Xtext approach\footnote{Install the {\tt Modeling} / {\tt OCL Examples and Editors} feature from the \url{http://download.eclipse.org/releases/helios/} Update site.}.
+The code for both implementations is available as part of the Eclipse Helios release. The basic Eclipse OCL installation provides just the old approach. Installation of the optional MDT/OCL Examples provides the new Xtext editors that use the new Xtext approach\footnote{Install the {\tt Modeling} / {\tt OCL Examples and Editors} feature from the \url{http://download.eclipse.org/releases/helios/} Update site.}.
 
 \section{Background}
 
@@ -176,7 +153,7 @@
 
 So for less manual input than for LPG, Xtext provides much more auto-generated output. As will be seen in the following examples, it is not just less input, it is 80\% less input.
 
-With Xtext, the CST for CollectionRangeCS (and also CollectionItemCS) can be auto-generated from the following 3 lines rather than the 10 above:
+With Xtext, the CST for CollectionRangeCS (and also CollectionItemCS) can be generated automatically from the following 3 lines rather than the 10 above:
 
 {\small\begin{verbatim}
 CollectionLiteralPartCS:
@@ -184,7 +161,7 @@
 ;
 \end{verbatim}}
 
-Here the `action code' comprises the property assignments; \verb#expressionCS=# and \verb#lastExpressionCS=#. These cause the corresponding properties to exist in the \verb#CollectionLiteralPartCS# class in the CST meta-model.
+Here the `action code' comprises the two assignments to CST properties, as a result of which the  \verb#CollectionLiteralPartCS# in the CST meta-model class has \verb#expressionCS# and \verb#lastExpressionCS# properties.
 
 The maintenance of lists is also simplified from 16 lines to 6. 
 
@@ -227,7 +204,7 @@
 ;
 \end{verbatim}}
 
-Here an arbitrary number of \verb+Identifier '::'+ prefixes may precede an \verb+Identifier+. The prefixes are each analyzed as \verb+Namespace+ and appended to the \verb+PathNameExpCS::namespace+ feature, while the final \verb+Identifier+ is analyzed as a \verb+NamedElement+ and assigned to the \verb+PathNameExpCS::element+ feature.
+Here an arbitrary number of \verb+Identifier '::'+ prefixes may precede an \verb+Identifier+. The prefixes are each analyzed as \verb+Namespace+ and the \verb+PathNameExpCS::namespace+ feature accumulates them. The final \verb+Identifier+ is analyzed as a \verb+NamedElement+ and assigned to the \verb+PathNameExpCS::element+ feature.
 
 The \verb+Namespace+ and \verb+NamedElement+ classes are part of the ASG, and their instances may be either objects created by conversion of the CSG to the ASG or objects imported from an external model. 
 
@@ -249,11 +226,11 @@
 ...
 \end{verbatim}}
 
-A repeated term such as \verb+8/4/2+ is parsed first by reduction\footnote{The reader is referred to \cite{dragon} for a description of shift and reduce transitions.} of \verb+8+ via \verb+unaryCS+ and then via \verb+multiplicativeCS+. This is followed by reduction of \verb+4+ via \verb+unaryCS+ so that a further \verb+multiplicativeCS+ reduction gives the  \verb+multiplicativeCS+ for \verb+(8/4)+. Finally after reduction of \verb+2+ via \verb+unaryCS+, reduction of \verb+multiplicativeCS+ gives the \verb+multiplicativeCS+ for \verb+((8/4)/2)+.
+A repeated term such as \verb+8/4/2+ is parsed first by reduction\footnote{The reader is referred to \cite{dragon} for a description of shift and reduce transitions.} of \verb+8+ via \verb+unaryCS+ and then via \verb+multiplicativeCS+. This is followed by reduction of \verb+4+ via \verb+unaryCS+ so that a further \verb+multiplicativeCS+ reduction gives the  \verb+multiplicativeCS+ for \verb+(8/4)+. Finally after reduction of \verb+2+ via \verb+unaryCS+, reduction of \verb+multiplicativeCS+ gives a \verb+multiplicativeCS+ for \verb+((8/4)/2)+.
 
 This resolves precedence and associativity in accordance with typical language specifications and makes as much progress as possible with `shift' transitions along the rule before a `reduction' at the end of the rule. LALR grammars parse alternate syntax hypotheses concurrently for `shift's but require only one alternative to remain valid for the `reduction'.
 
-ANTLR, and consequently Xtext, support only right recursion and so the corresponding right recursive exposition in Xtext would incorrectly parse \verb+8/4/2+ as \verb+8/(4/2)+ rather than \verb+(8/4)/2+. This mis-parse is predictable and so could be corrected during the CSG to ASG conversion. However Xtext's extended BNF comes to the rescue for practical use cases.
+ANTLR, and consequently Xtext, supports only right recursion and so the corresponding right recursive exposition in Xtext would parse \verb+8/4/2+ as \verb+8/(4/2)+ rather than \verb+(8/4)/2+. This mis-parse is predictable and so could be corrected during the CSG to ASG conversion. However Xtext's extended BNF comes to the rescue for practical use cases.
 
 {\small\begin{verbatim}
 multiplicativeCS: unaryCS (('*'|'/') unaryCS)*;
@@ -274,7 +251,7 @@
 
 \subsection{Overlapping Syntaxes}
 
-It is difficult to create a parser for the OCL grammar for a variety of reasons. One of these is the status of names. For instance, under what circumstances may \verb+String+,  \verb+Set+,  \verb+collect+, \verb+self+ or \verb+true+ be used as ordinary names as in: \verb+java::lang::String+, \verb+values.collect+ or \verb+myTest.true+? The OCL 2.2 specification is not clear and so implementers are forced to use intuition. The resolution of Issue 14583\cite{OCL2.3} for the OCL 2.3 specification is influenced by experience extending the Eclipse MDT/OCL implementation for re-use by QVT. Iterator names are not reserved at all, avoiding any impediment to extension with new names. \verb+self+ and \verb+true+ are totally reserved. \verb+String+ and \verb+Set+ are restricted, that is they are reserved except when qualified as in \verb+mine::Set+.
+It is difficult to create a parser for the OCL grammar for a variety of reasons. One of these is the status of names. For instance, under what circumstances may \verb+String+,  \verb+Set+,  \verb+collect+, \verb+self+ or \verb+true+ be used as ordinary names as in: \verb+java::lang::String+, \verb+values.collect+ or \verb+myTest.true+? The OCL 2.2 specification is not clear and so implementers are forced to use intuition. The resolution of Issue 14583\cite{OCL2.3} for the OCL 2.3 specification is influenced by experience extending the Eclipse OCL implementation for re-use by QVT. Iterator names are not reserved at all, avoiding any impediment to extension with new names. \verb+self+ and \verb+true+ are totally reserved. \verb+String+ and \verb+Set+ are restricted, that is they are reserved except when qualified as in \verb+mine::Set+.
 
 With iterator names unreserved, the parser must use lexical structure rather than a keyword to distinguish the iterator and operator call syntaxes. In simple cases such as \verb+any()+, this is impossible and so resolution must be deferred to the semantic analysis of \verb+any+.
 
@@ -318,22 +295,25 @@
 At first sight it appears that the use of \verb+'context'+ as a keyword in the grammar precludes the use of \verb+context+ by the \verb+ID+ terminal, since the default lexer uses \verb+ID+ only when there is nothing more specific. However Xtext augments the traditional terminal and production rules with an intermediate datatype rule that can merge terminal rules. Thus in:
 
 {\small\begin{verbatim}
-terminal ID: (('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*);
+terminal ID:('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 RestrictedKeyword:   'context' | 'package';
 Identifier:           ID | RestrictedKeyword;
 \end{verbatim}}
  
 \noindent
-\verb+ID+ is a terminal rule that defines the behavior of the auto-generated Lexer. 
+\verb+ID+ is a terminal rule that defines the behavior of the auto-generated Lexer.
+
 \verb+RestrictedKeyword+ is a datatype rule identifying a list of two grammar keywords.
+
 \verb+Identifier+ is a further datatype rule merging the lexer terminal with the grammar list.
+
 The remainder of the grammar can refer to \verb+Identifier+ without worrying about whether the name overlaps a distinct token.
 
 This provides a very simple solution, but unfortunately has a very bad effect on the sizes of the generated grammar. The Complete OCL grammar has 14 keywords that need treatment in this fashion. Unfortunately only 9 can be defined this way before the generated ANTLR grammar hits the 64 kB Java method size limit. This occurs for Xtext 1.0.0. It is difficult to believe that this is a fundamental limitation of the ANTLR technology, so hopefully this problem will go away in a future release.
 
 \subsection{Complex References}
 
-In real languages, the complexity of the reference to a type as in a declaration such as \verb+name : type+, may vary from a simple string such as \verb+Boolean+ to the more complex \verb+Tuple{name:String,values:Sequence(Integer)}+. The absence of a bound on the nesting depth of Tuples and Collections leads to potentially unlimited complexity. Supporting this diversity provides a dilemma to meta-model developers. On the one hand the common use case of a simple reference is efficiently satisfied by a shared reference, while on the other hand the complex construct mandates a tree of composed objects whose root requires an owner. Identifying a suitable owner is a further dilemma.
+In real languages, the type reference in a declaration such as \verb+name : type+ may be a simple name \verb+Boolean+ or constructed \verb+Tuple{name:String,values:Sequence(Real)}+. The absence of a bound on the nesting depth of Tuples and Collections leads to potentially unlimited complexity. Supporting this diversity provides a dilemma to meta-model developers. On the one hand the common use case of a simple reference is efficiently satisfied by a shared reference, while on the other hand the complex construct mandates a tree of composed objects whose root requires an owner. Identifying a suitable owner is a further dilemma.
 
 \begin{figure}
   \begin{center}
@@ -347,7 +327,7 @@
 
 Equivalent usages in the OCL specification omit the composed reference avoiding the redundancy but the result is that complex types just magically exist without a clear specification as to how they are persisted.
 
-Since the meta-model representation is difficult, it is not surprising that the difficulty appears in an Xtext grammar as well. If a type is referenced in the grammar as \verb+type=[TypeCS|Identifier]+, a complex type cannot be accommodated. Therefore we could pursue the owned and not owned approach with \verb+(type=[TypeCS|Identifier] | ownedType=ComplexTypeCS)+, but this leaves the generated parser to resolve partial ambiguities between the two syntaxes. In practice with ANTLR technology, this means that one approach is attempted and if it fails backtracking is invoked and another alternative is attempted. At best this just costs parsing time through erroneous attempts. More of a concern arises when the first attempt succeeds because it is a prefix of the alternative; the parser then proceeds using the `wrong' parse and perhaps fails during a subsequent alternative. It is not obvious that a parser may not have a non-linear growth of backtracking alternatives to examine. With Xtext largely hiding the underlying ANTLR capabilities, it is not clear how an Xtext grammar should be written to obtain predictable and efficient results. Experience suggests that it is necessary to put more complex alternatives before simpler choices, since the complex can fail and back-track to the simple, but the converse of a false success of a simple choice does not backtrack.
+Since the meta-model representation is difficult, it is not surprising that the difficulty appears in an Xtext grammar as well. A  type reference such as \verb+type=[TypeCS|Identifier]+ in a grammar cannot accommodate a complex type. We could pursue the owned and not owned approach with \verb+(type=[TypeCS|Identifier] | ownedType=ComplexTypeCS)+, but this leaves the generated parser to resolve partial ambiguities between the two syntaxes. In practice with ANTLR technology, this means that one approach is attempted and if it fails backtracking is invoked and another alternative is attempted. At best this just costs parsing time through erroneous attempts. More of a concern arises when the first attempt succeeds because it is a prefix of the alternative; the parser then proceeds using the `wrong' parse and perhaps fails during a subsequent alternative. It is not obvious that a parser may not have a non-linear growth of backtracking alternatives to examine. With Xtext largely hiding the underlying ANTLR capabilities, it is not clear how an Xtext grammar should be written to obtain predictable and efficient results. Experience suggests that it is necessary to put more complex alternatives before simpler choices, since the complex can fail and back-track to the simple, but the converse of a false success of a simple choice does not backtrack.
 
 The UML-style double feature approach did not appear to work well and the OCL-style magical ownership has no corresponding Xtext magic. The solution was to omit the shared reference and so treat all references as complex using \verb+ownedType=TypeRefCS+ with TypeRefCS the abstract type of a family of type reference expressions.
 
@@ -357,7 +337,7 @@
 SimpleTypeRefCS: type=[Type|Identifier];
 
 ComplexTypeRefCS: type=[Type|Identifier]
-           '<' ownedParams+=TypeRefCS (',' ownedParams+=TypeRefCS)* '>';
+       '<' ownedParams+=TypeRefCS (',' ownedParams+=TypeRefCS)* '>';
 \end{verbatim}}
 
 This approach endeavors to use an appropriate meta-model representation without redundant features. This is probably a mistake, since as shown in the simplified example above, the alternative types often share a common prefix. The parser is forced to distinguish between rather similar alternatives which may contribute to some of the adverse parsing speeds reported later. Since there is very little prospect of the CSG structure for diverse references doubling up as the ASG, it is inevitable that a slight restructuring transformation is needed between CSG and ASG. The minor aesthetic benefits of compact CSG objects is probably misguided; fewer alternatives would simplify the parser, so in the above example, \verb+SimpleTypeRefCS+ could be merged into \verb+ComplexTypeRefCS+ by making the \verb+'<' ... '>'+\footnote{Although OCL 2.2 does not support UML's templated types, OCL aspires to UML alignment. This  example is part of work to achieve alignment.} terms optional in \verb+ComplexTypeRefCS+. An LALR parser would probably mandate this change in order to eliminate a shift-reduce conflict. The Xtext tooling needs stronger diagnostic capability to advise on unwise grammar formulations. 
@@ -376,7 +356,7 @@
 
 Comparison of the re-parse times is much fairer, since the re-parses use cached meta-models and grammars. During each re-parse, LPG and Xtext parsers read just the Complete OCL document. The eleven-fold speed degradation for Xtext is disappointing but not totally surprising. Both LPG and Xtext offer opportunities for improvement, but with Xtext 1.0.0 being a very new product there are hopefully a few simple improvements that can be made before Xtext considers switching to an LALR technology.
 
-Disclaimer: The above measurements were made using the Eclipse Helios release of MDT/OCL (3.0.0) and Xtext (1.0.0) projects. No thorough analysis of the performance differences has been made, so the above measurements do not distinguish whether it is the Xtext parser or the MDT/OCL configuration of the Xtext parser that is slow. Informal observations suggest that there are many opportunities for caches to avoid repeated work in both projects.
+Disclaimer: The above measurements were made using the Eclipse Helios release of Eclipse OCL (3.0.0) and Xtext (1.0.0) projects. No thorough analysis of the performance differences has been made, so the above measurements do not distinguish whether it is the Xtext parser or the MDT/OCL configuration of the Xtext parser that is slow. Informal observations suggest that there are many opportunities for caches to avoid repeated work in both projects.
 
 The test code for these speed tests is available as an attachment to \url{https://bugs.eclipse.org/320703}.
 
@@ -417,7 +397,7 @@
 
 Anyone who studies these OCL constraints soon realizes that the constraints have never been subjected to a tool that provides syntactic, let alone semantic, checking. With so many basic lexical errors, what prospect is there that the constraints actually express the required functionality?
 
-The MDT/OCL realization of these constraints is distributed throughout the LPG parser, analyzer and validator as hand-coded Java making it difficult to determine the correspondence with the specification, even if the specification was accurate.
+The Eclipse OCL realization of these constraints is distributed throughout the LPG parser, analyzer and validator as hand-coded Java making it difficult to determine the correspondence with the specification, even if the specification was accurate.
 
 The Xtext re-engineering has hand-coded scoping classes that bear a superficial resemblance to the `Inherited Attributes' specifications and, as yet, no realization of the well-formedness rules at all.
 
@@ -444,19 +424,15 @@
 
 \subsection{LPG Compatibility}
 
-Unless Xtext is able to come close to LPG speed, the Eclipse MDT/OCL project has no alternative but to support two parsers; an LPG parser for speed and an Xtext parser for use in interactive environments such as editors. The Eclipse MDT/OCL project also has a compatibility obligation to its consumers, so the LPG interface cannot easily be discontinued.
+Unless Xtext is able to come close to LPG speed, the Eclipse OCL project has no alternative but to support two parsers; an LPG parser for speed and an Xtext parser for use in interactive environments such as editors. The Eclipse OCL project also has a compatibility obligation to its consumers, so the LPG interface cannot easily be discontinued.
 
 Maintenance of two independent parsers and analyzers is not an attractive prospect. Xtext uses Xtext to define its own editor and grammar, so it should be possible to perform a Model to Model and then a Model to Text transformation on the Xtext grammar for OCL and thereby auto-generate an LPG grammar with auto-generated action code to maintain a very similar CSG model.
 
 This should give an Xtext-defined LPG grammar avoiding the adverse performance of the ANTLR tooling and preserving the general principles of the existing parser and analyzer interface. Re-expression of the Xtext grammar in LALR form may also provide the missing diagnostics of unwise parser constructs.
 
-\section{Acknowledgments}
-
-Many thanks to Sebastian Zarnekow, Adolfo S\'anchez-Barbudo Herrera and the anonymous reviewers for helpful comments on earlier versions of this paper.
-
 \section{Conclusions}
 
-Re-engineering the MDT/OCL support to use Xtext 1.0.0 rather than LPG 2.0.17 has demonstrated many of the powerful benefits that Xtext offers. Subjectively Xtext is much better for common functionality and incomparably better because of the  richer tooling and extra auto-generated functionality.
+Re-engineering the Eclipse OCL support to use Xtext 1.0.0 rather than LPG 2.0.17 has demonstrated many of the powerful benefits that Xtext offers. Subjectively Xtext is much better for common functionality and incomparably better because of the  richer tooling and extra auto-generated functionality.
 
 Objectively, the Xtext version of the OCL grammar is at least 5 times smaller, but the generated parser is 10 times larger and 11 times slower.
 
@@ -468,33 +444,16 @@
 
 With the aid of Xtext and other modern tooling it may be practical to have OCL editor and parser tooling reusing the exposition of grammars and constraints in the OCL specification.
 
+%\subsection{Manual Assembly of Bibliographies}\label{bibman}
 
-\begin{thebibliography}{4}
+%\noindent\textbf{To Do}
 
-\bibitem{ANTLR} ANTLR, ANother Tool for Language Recognition,  \url{http://www.antlr.org}
+\begin{acknowledge}
+Many thanks to Sebastian Zarnekow, Adolfo S\'anchez-Barbudo Herrera and the anonymous reviewers for helpful comments on earlier versions of this paper.
+\end{acknowledge}
 
-\bibitem{dragon} Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques and Tools. Addison-Wesley(1988) 
-
-\bibitem{Helios} Eclipse Helios release,  \url{http://www.eclipse.org/downloads/}
-
-\bibitem{IMP} Eclipse IDE Meta-Tooling Platform Project,  \url{http://www.eclipse.org/projects/project_summary.php?projectid=technology.imp}
-
-\bibitem{LPG} Sourceforge LALR Parser Project,  \url{http://sourceforge.net/projects/lpg}
-
-\bibitem{MDT/OCL} Eclipse MDT/OCL Project,  \url{http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl}
-
-\bibitem{MOFM2T} MOF Model to Text Transformation Language. v1.0, OMG Document Number: formal/2008-01-16, Object Management Group (2010),  \url{http://www.omg.org/spec/MOFM2T/1.0}
-
-\bibitem{OCL} Object Constraint Language. Version 2.2, OMG Document Number: formal/2010-02-01, Object Management Group (2010),  \url{http://www.omg.org/spec/OCL/2.2}
-
-\bibitem{OCL2.3} First Ballot Resolutions for Object Constraint Language. Version 2.3,  \url{http://www.omg.org/archives/ocl2-rtf/msg00331.html}
-
-\bibitem{QVT} Query/View/Transformation Specification. Version 1.1, OMG Document Number: ptc/09-12-05, Object Management Group (2009),  \url{http://www.omg.org/spec/QVT/1.1/Beta2/PDF}
-
-\bibitem{TMF/Xtext} Eclipse TMF/Xtext Project,  \url{http://www.eclipse.org/Xtext}
-
-\bibitem{UML} Unified Modeling Language, Superstructure. Version 2.3, OMG Document Number: formal/2010-05-05, Object Management Group (2010),  \url{http://www.omg.org/spec/UML/2.3}
-
-\end{thebibliography}
+\nocite{*}
+\bibliographystyle{eceasst}
+\bibliography{oclxtext}
 
 \end{document}
