csit-15-vsc-exp

git clone https://git.igankevich.com/csit-15-vsc-exp.git
Log | Files | Refs

commit 536e578c3ce76981aeb49be792ee41ab5a9f1aa0
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Sun,  7 Aug 2016 16:08:50 +0300

Initial

Diffstat:
CSITproc.cls | 1248+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
containers.tex | 148+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fullvirt.tex | 4++++
graphics/fig-tests1.pdf | 0
graphics/fig-vcluster.pdf | 0
graphics/imb-1.eps | 659+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphics/imb-2.eps | 635+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphics/openfoam-1.eps | 607+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphics/openfoam-2.eps | 581+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphics/ping-1.eps | 703+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphics/ping-2.eps | 4866+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
header.tex | 26++++++++++++++++++++++++++
main.tex | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
samples.tex | 37+++++++++++++++++++++++++++++++++++++
vsc.bib | 416+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
15 files changed, 10012 insertions(+), 0 deletions(-)

diff --git a/CSITproc.cls b/CSITproc.cls @@ -0,0 +1,1247 @@ +% CSITproc.CLS - VERSION 0.1 + +\typeout{Document Class 'CSITproc' <1th. Febrary '11>} + +\usepackage{epsfig} + +\usepackage{graphics} + +\oddsidemargin -0.24 cm +\evensidemargin -0.24 cm +\textwidth 165mm + +%\oddsidemargin 5.5pc +%\evensidemargin 5.5pc +%\advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness +%\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness +\marginparwidth 0pt % Margin pars are not allowed. +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note + + % Top of page: +\topmargin 4.5pc % Nominal distance from top of page to top of + % box containing running head. +\advance\topmargin by -1in % Correct for LaTeX gratuitousness +\headheight 0pt % Height of box containing running head. +\headsep 0pt % Space between running head and text. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing foot + % to baseline of last line of text. +\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e +\footheight 12pt % Height of box containing running foot. + + +%% Must redefine the top margin so there's room for headers and +%% page numbers if you are using the preprint option. Footers +%% are OK as is. Olin. +\advance\topmargin by -37pt % Leave 37pt above text for headers +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. + +\textheight 735pt % 9 1/4 column height +%\textwidth 42pc % Width of text line. + % For two-column mode: +\columnsep 2pc % Space between columns +\columnseprule 0pt % Width of rule between columns. +\hfuzz 1pt % Allow some variation in column width, otherwise it's + % too hard to typeset in narrow columns. + +\footnotesep 5.5pt % Height of strut placed at the beginning of every + % footnote =3D height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and + % top of first footnote. +\floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved + % to top or bottom of text page. +\textfloatsep -37pt plus 2pt minus 4pt % Space between main text and floats ********************** + % at top or bottom of page. +\intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and + % text. +\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e +\@maxsep 18pt % The maximum of \floatsep, + % \textfloatsep and \intextsep (minus + % the stretch and shrink). +\dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column + % figures in two-column mode. +\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column + % floats. +\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e +\@dblmaxsep 18pt % The maximum of \dblfloatsep and + % \dbltexfloatsep. +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be + % 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be + % 0pt plus ... ) +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +\marginparpush 5pt % Minimum vertical separation between two marginal + % notes. + +\parskip 0pt % Extra vertical space between paragraphs. + % Set to 0pt outside sections, to keep section heads + % uniformly spaced. The value of parskip is set + % to leading value _within_ sections. + % 12 Jan 2000 gkmt +\parindent 0pt % Width of paragraph indentation. +\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + +\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf' + document style.}\@eha} +\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf' + document style.}\@eha} +\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf' + document style.}\@eha} + +\@options + +\lineskip 2pt % \lineskip is 1pt for all font sizes. +\normallineskip 2pt +\def\baselinestretch{1} + +\abovedisplayskip 9pt plus2pt minus4.5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 5.4pt plus3pt minus3pt% +\let\@listi\@listI % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{9pt}\viiipt\@viiipt +\abovedisplayskip 7.6pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 3.6pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt +\abovedisplayskip 6.4pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 2.7pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\newcount\aucount +\newcount\originalaucount +\newdimen\auwidth +\auwidth=\textwidth +\newdimen\auskip +\newcount\auskipcount +\newdimen\auskip +\global\auskip=1pc +\newdimen\allauboxes +\allauboxes=\auwidth +\newtoks\addauthors +\newcount\addauflag +\global\addauflag=0 %Haven't shown additional authors yet + +\newtoks\subtitletext +\gdef\subtitle#1{\subtitletext={#1}} + +\gdef\additionalauthors#1{\addauthors={#1}} + +\gdef\numberofauthors#1{\global\aucount=#1 +\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} +\global\auskipcount=\aucount\global\advance\auskipcount by 1 +\global\multiply\auskipcount by 2 +\global\multiply\auskip by \auskipcount +\global\advance\auwidth by -\auskip +\global\divide\auwidth by \aucount} + +% \and was modified to count the number of authors. GKMT 12 Aug 1999 +\def\alignauthor{% % \begin{tabular} +\end{tabular}% + \begin{tabular}[t]{p{\auwidth}}\centering}% + +% -- Start of block B -- METAFONT +% +++++++++++++++++++++++++++++++++++++++++++++ +% Next (default) block for those using Metafont +% Gerry Murray 11/11/1999 +% *** THIS BLOCK FOR THOSE USING METAFONT ***** +% ********************************************* +\newfont{\secfnt}{ptmb7t at 12pt} +\newfont{\secit}{ptmbi7t at 12pt} +\newfont{\subsecfnt}{ptmri7t at 11pt} +\newfont{\subsecit}{ptmbi7t at 11pt} % 13 Jan 00 gkmt -- was ptmr changed to ptmbi gm 2/4/2000 + % because "normal" is italic, "italic" is Roman +\newfont{\ttlfnt}{ptmr7t at 19pt} %phvb7t +\newfont{\ttlit}{phvbo7t at 18pt} % GM 2/4/2000 +\newfont{\subttlfnt}{phvr7t at 14pt} +\newfont{\subttlit}{phvro7t at 14pt} % GM 2/4/2000 +\newfont{\subttlbf}{phvb7t at 14pt} % 13 Jan 00 gkmt +\newfont{\aufnt}{ptmr7t at 11pt} +\newfont{\auit}{phvro7t at 12pt} % GM 2/4/2000 +\newfont{\affaddr}{ptmr7t at 9pt} +\newfont{\affaddrit}{phvro7t at 10pt} % GM 2/4/2000 +\newfont{\eaddfnt}{ptmr7t at 10pt} +\newfont{\ixpt}{ptmr7t at 9pt} +\newfont{\confname}{ptmri7t at 8pt} +\newfont{\crnotice}{ptmr7t at 8pt} +\newfont{\ninept}{ptmr7t at 9pt} +% +++++++++++++++++++++++++++++++++++++++++++++ +% -- End of block B -- + +\def\email#1{{{\eaddfnt{\vskip 4pte-mail: #1}}}} + +\def\affiliation#1{{{\affaddr{\vskip 4pt#1}}}} + +\def\addauthorsection{\ifnum\originalaucount>3 + \section{Additional Authors}\the\addauthors + \fi} + +\newcount\savesection +\newcount\sectioncntr +\global\sectioncntr=1 + +\setcounter{secnumdepth}{3} + +\def\appendix{\par +\section*{APPENDIX} +\setcounter{section}{0} +\setcounter{subsection}{0} +\def\thesection{\Alph{section}} } + + +\leftmargini 22.5pt +\leftmarginii 19.8pt % > \labelsep + width of '(m)' +\leftmarginiii 16.8pt % > \labelsep + width of 'vii.' +\leftmarginiv 15.3pt % > \labelsep + width of 'M.' +\leftmarginv 9pt +\leftmarginvi 9pt + +\leftmargin\leftmargini +\labelsep 4.5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% +\topsep 7.2pt plus 2pt minus 4pt% +\itemsep 3.6pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 3.6pt plus 2pt minus 1pt + \parsep 1.8pt plus 0.9pt minus 0.9pt + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1.8pt plus 0.9pt minus 0.9pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\def\labelenumi{\theenumi.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} + +\def\labelenumiii{\theenumiii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} + +\def\labelenumiv{\theenumiv.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + +\def\theequation{\arabic{equation}} + +\arraycolsep 4.5pt % Half the space between columns in an array environment. +\tabcolsep 5.4pt % Half the space between columns in a tabular environment. +\arrayrulewidth .4pt % Width of rules in array and tabular environment. +\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. + +\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +\skip\@mpfootins =\skip\footins + +\fboxsep =2.7pt % Space left between box and text by \fbox and \framebox. +\fboxrule =.4pt % Width of rules in box made by \fbox and \framebox. + +\def\thepart{\Roman{part}} % Roman numeral part numbers. +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002 +%\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002 +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not + allowed in the `acmconf' document style.}\@eha} + +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} % space above part line + \begingroup + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ \rightskip \@pnumwidth %% \numberline + \parfillskip -\@pnumwidth + {\large \bf % set line in \large boldface + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak % Never break after part entry + \endgroup} + +\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break + \addvspace{1.0em plus 1pt} % space above toc entry + \@tempdima 1.5em % width of box holding section number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to + \hskip -\leftskip %% 25 Jan 88 change to \numberline + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} + + +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not + allowed in the `acmconf' document style.}\@eha} + +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\listoftables{\@latexerr{\listoftables: Lists of tables are not + allowed in the `acmconf' document style.}\@eha} +\let\l@table\l@figure + +\def\footnoterule{\kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} % The \hrule has default height of .4pt . +% ------ +\long\def\@makefntext#1{\noindent +%\hbox to .5em{\hss$^{\@thefnmark}$}#1} % original +\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002 +% ------- + +\long\def\@maketntext#1{\noindent +#1} + +\long\def\@maketitlenotetext#1#2{\noindent + \hbox to 1.8em{\hss$^{#1}$}#2} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{ + \vskip \baselineskip + \setbox\@tempboxa\hbox{\small{#1. #2}} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \textbf{#1: #2}\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par + \fi} + +\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e + +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e + +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +\newtoks\titleboxnotes +\newcount\titleboxnoteflag + +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox + to 0pt{$^{\@thefnmark}$\hss}} + \twocolumn[\@maketitle] +\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax + \@copyrightspace} + +%% CHANGES ON NEXT LINES +\newif\if@ll % to record which version of LaTeX is in use + +\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used +\else% LaTeX2e is used, so set ll to true +\global\@lltrue +\fi + +\if@ll + \NeedsTeXFormat{LaTeX2e} + \ProvidesClass{CSITproc} [2004/15/10 - V2.7SP - based on esub2acm.sty <23 April 96>] + \RequirePackage{latexsym}% QUERY: are these two really needed? + \let\dooptions\ProcessOptions +\else + \let\dooptions\@options +\fi +%% END CHANGES + +\def\@height{height} +\def\@width{width} +\def\@minus{minus} +\def\@plus{plus} +\def\hb@xt@{\hbox to} +\newif\if@faircopy +\@faircopyfalse +\def\ds@faircopy{\@faircopytrue} + +\def\ds@preprint{\@faircopyfalse} + +\@twosidetrue +\@mparswitchtrue +\def\ds@draft{\overfullrule 5\p@} +%% CHANGE ON NEXT LINE +\dooptions + +\lineskip \p@ +\normallineskip \p@ +\def\baselinestretch{1} +\def\@ptsize{0} %needed for amssymbols.sty + +%% CHANGES ON NEXT LINES +\if@ll% allow use of old-style font change commands in LaTeX2e +\@maxdepth\maxdepth +% +\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} +\fi +% +\if@ll + \renewcommand{\rmdefault}{cmr} % was 'ttm' +% Note! I have also found 'mvr' to work ESPECIALLY well. +% Gerry - October 1999 +% You may need to change your LV1times.fd file so that sc is +% mapped to cmcsc - -for smallcaps -- that is if you decide +% to change {cmr} to {times} above. (Not recommended) + \renewcommand{\@ptsize}{} + \renewcommand{\normalsize}{% + \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI + } +\else + \def\@normalsize{%changed next to 9 from 10 + \@setsize\normalsize{9\p@}\ixpt\@ixpt + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI + }% +\fi +\if@ll + \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}} + \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}} + \newcommand\large{\@setfontsize\large\@xiipt{14\p@}} + \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}} + \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}} + \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}} + \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}} +\else + \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt} + \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt} + \def\large{\@setsize\large{14\p@}\xiipt\@xiipt} + \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt} + \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt} + \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt} + \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt} +\fi +\normalsize + +% make aubox hsize/number of authors up to 3, less gutter +% then showbox gutter showbox gutter showbox -- GKMT Aug 99 +\newbox\@acmtitlebox +\def\@maketitle{\newpage + \null + \setbox\@acmtitlebox\vbox{% +\baselineskip 20pt +\vskip 2em % Vertical space above title. + \begin{center} + {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. + \vskip 1.5em % Vertical space after title. +%This should be the subtitle. +{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi + {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a + \lineskip .5em % tabular environment + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1.5em % Vertical space after author. + \end{center}} + \dimen0=\ht\@acmtitlebox + \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT + \unvbox\@acmtitlebox + \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} + + +\newcount\titlenotecount +\global\titlenotecount=0 +\newtoks\tntoks +\newtoks\tntokstwo +\newtoks\tntoksthree +\newtoks\tntoksfour +\newtoks\tntoksfive + +\def\abstract{ +\ifnum\titlenotecount>0 % was =1 + \insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup +\ifnum\titlenotecount=1 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=2 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=3 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=4 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=5 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}% +\fi + \color@endgroup} %g} +\fi +\setcounter{footnote}{0} +\section*{ABSTRACT}\normalsize %\the\parskip \the\baselineskip%\ninept +} + +\def\endabstract{\if@twocolumn\else\endquotation\fi} + +\def\keywords{\if@twocolumn +\section*{Keywords} +\else \small +\quotation +\fi} + + +\def\terms{ +\section*{General Terms} +} + +% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999 +\newcount\catcount +\global\catcount=1 + +\def\category#1#2#3{% +\ifnum\catcount=1 +\section*{Categories and Subject Descriptors} +\advance\catcount by 1\else{\unskip; }\fi + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}% +} + +\def\@category#1#2#3[#4]{% + \begingroup + \let\and\relax + #1 [\textbf{#2}]% + \if!#4!% + \if!#3!\else : #3\fi + \else + :\space + \if!#3!\else #3\kern\z@---\hskip\z@\fi + \textit{#4}% + \fi + \endgroup +} + +\newtoks\copyrightnotice +\def\ftype@copyrightbox{8} +\def\@copyrightspace{ +\@float{copyrightbox}[b] +\begin{center} +\setlength{\unitlength}{1pc} +\begin{picture}(20,6) %Space for copyright notice +\put(0,-0.95){\crnotice{\@toappear}} +\end{picture} +\end{center} +\end@float} + +\def\@toappear{} % Default setting blank - commands below change this. +\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}} +\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} + +\newtoks\conf +\newtoks\confinfo +\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}} + + +\def\marginpar{\@latexerr{The \marginpar command is not allowed in the + `acmconf' document style.}\@eha} + +\mark{{}{}} % Initializes TeX's marks + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + +\def\@begintheorem#1#2{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {{\it #1}\hskip 5\p@\relax#2.}% + ] + \it +} +\def\@opargbegintheorem#1#2#3{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries + \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title' + \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems + \hskip 5\p@\relax % if they occur 'around' said corollaries. + \box\@tempboxa % Gerry - Nov. 1999. + \fi.}% + ] + \it +} +\newif\if@qeded +\global\@qededfalse + +% -- original +%\def\proof{% +% \vspace{-\parskip} % GM July 2000 (for tighter spacing) +% \global\@qededfalse +% \@ifnextchar[{\@xproof}{\@proof}% +%} +% -- end of original + +% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002 +\def\proof{% +\vspace{-\lastskip}\vspace{-\parsep}\penalty-51% +\global\@qededfalse +\@ifnextchar[{\@xproof}{\@proof}% +} + +\def\endproof{% + \if@qeded\else\qed\fi + \endtrivlist +} +\def\@proof{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it Proof.}% + ] + \ignorespaces +} +\def\@xproof[#1]{% + \trivlist + \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]% + \ignorespaces +} +\def\qed{% + \unskip + \kern 10\p@ + \begingroup + \unitlength\p@ + \linethickness{.4\p@}% + \framebox(6,6){}% + \endgroup + \global\@qededtrue +} + +\def\newdef#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \global\@namedef{#1}{\@defthm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}% + }% +} +\def\@defthm#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}% +} +\def\@xdefthm#1#2{% + \@begindef{#2}{\csname the#1\endcsname}% + \ignorespaces +} +\def\@ydefthm#1#2[#3]{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #2% + \savebox\@tempboxa{#3}% + \ifdim \wd\@tempboxa>\z@ + \ \box\@tempboxa + \fi.% + }]% + \ignorespaces +} +\def\@begindef#1#2{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #1\ \rm #2.}% + ]% +} +\def\theequation{\arabic{equation}} + +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\def\thepart{\Roman{part}} +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} + +\newif\if@uchead +\@ucheadfalse + + +\setcounter{secnumdepth}{3} +\def\part{% + \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} + {4\p@}{\normalsize\@ucheadtrue}% +} + +\def\section{% + \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% + {0.5pt}{\baselineskip=14pt\secfnt\@ucheadtrue}% +} + +\def\subsection{% + \@startsection{subsection}{2}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} + {0.5pt}{\baselineskip=14pt\secfnt}% +} +\def\subsubsection{% + \@startsection{subsubsection}{3}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% + {0.5pt}{\baselineskip=14pt\subsecfnt}% +} + +\def\paragraph{% + \@startsection{paragraph}{3}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% + {0.5pt}{\baselineskip=14pt\subsecfnt}% +} + +\let\@period=. +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec %gkmt, 11 aug 99 + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa + \@afterindentfalse + \fi + %\if@nobreak 11 Jan 00 gkmt + %\everypar{} + %\else + \addpenalty\@secpenalty + \addvspace\@tempskipa + %\fi + \parskip=0pt + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}} + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} + + +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \vskip -10.5pt %gkmt, 7 jan 00 -- had been -14pt, now set to parskip + \@xsect{#3}\parskip=10.5pt} % within the starred section, parskip = leading 12 Jan 2000 gkmt + + +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@svsec{% + \begingroup + %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt + \ifnum#2>2 \noexpand#6 \fi + \csname the#1\endcsname + \endgroup + \ifnum #2=1\relax .\fi + \hskip 1em + }% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ %sss + \begingroup + #6\relax + \@hangfrom{\hskip #3\relax\@svsec}% + \begingroup + \interlinepenalty \@M + \if@uchead + \uppercase{#8}% + \else + #8% + \fi + \par + \endgroup + \endgroup + \csname #1mark\endcsname{#7}% + \vskip -10.5pt % -14pt gkmt, 11 aug 99 -- changed to -\parskip 11 Jan 2000 + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + \else + \def\@svsechd{% + #6% + \hskip #3\relax + \@svsec + \if@uchead + \upercase{#8}% + \else + #8% + \fi + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + }% + \fi + \@xsect{#5}\parskip=12pt% sssection +} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par + \nobreak + \vskip \@tempskipa + \@afterheading + \else + \global\@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + \clubpenalty\@M + \hskip -\parindent + \begingroup + \@svsechd + \@period + \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi + }% + \fi + \ignorespaces +} + +\def\@trivlist{% + \@topsepadd\topsep + \if@noskipsec + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \ifvmode + \advance\@topsepadd\partopsep + \else + \unskip + \par + \fi + \if@inlabel + \@noparitemtrue + \@noparlisttrue + \else + \@noparlistfalse + \@topsep\@topsepadd + \fi + \advance\@topsep \parskip + \leftskip\z@skip + \rightskip\@rightskip + \parfillskip\@flushglue + \@setpar{\if@newlist\else{\@@par}\fi} + \global\@newlisttrue + \@outerparskip\parskip +} + +%%% Actually, 'abbrev' works just fine as the default - Gerry Feb. 2000 +%%% Bibliography style. + +\parindent 0pt +\typeout{Using 'Abbrev' bibliography style} +\newcommand\bibyear[2]{% + \unskip\quad\ignorespaces#1\unskip + \if#2..\quad \else \quad#2 \fi +} +\newcommand{\bibemph}[1]{{\em#1}} +\newcommand{\bibemphic}[1]{{\em#1\/}} +\newcommand{\bibsc}[1]{{\sc#1}} +\def\@normalcite{% + \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}% +} +\def\@citeNB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi}% +} +\def\@citeRB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi]}% +} +\def\start@cite#1#2{% + \edef\citeauthoryear##1##2##3{% + ###1% + \ifnum#2=\z@ \else\ ###2\fi + }% + \ifnum#1=\thr@@ + \let\@@cite\@citeyear + \else + \let\@@cite\@citenormal + \fi + \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}% +} +\def\cite{\start@cite23} +\def\citeNP{\cite*} +\def\citeA{\start@cite10} +\def\citeANP{\citeA*} +\def\shortcite{\start@cite23} +\def\shortciteNP{\shortcite*} +\def\shortciteA{\start@cite20} +\def\shortciteANP{\shortciteA*} +\def\citeyear{\start@cite30} +\def\citeyearNP{\citeyear*} +\def\citeN{% + \@citeRB + \def\citeauthoryear##1##2##3{##1\ [##3% + \def\reserved@a{##1}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####1}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\citeN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear +} +\def\shortciteN{% + \@citeRB + \def\citeauthoryear##1##2##3{##2\ [##3% + \def\reserved@a{##2}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####2}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\shortciteN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear % changed from "\@ifstart" 12 Jan 2000 gkmt +} + +\def\@citenormal{% + \@ifnextchar [{\@tempswatrue\@citex;} + {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00 +} +\def\@citeyear{% + \@ifnextchar [{\@tempswatrue\@citex,}% + {\@tempswafalse\@citex,[]}% +} +\def\@citex#1[#2]#3{% + \let\@citea\@empty + \@cite{% + \@for\@citeb:=#3\do{% + \@citea + \def\@citea{#1 }% + \edef\@citeb{\expandafter\@iden\@citeb}% + \if@filesw + \immediate\write\@auxout{\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb}{% + {\bf ?}% + \@warning{% + Citation `\@citeb' on page \thepage\space undefined% + }% + }% + {\csname b@\@citeb\endcsname}% + }% + }{#2}% +} +\let\@biblabel\@gobble +\newdimen\bibindent +\setcounter{enumi}{1} +\bibindent=0em +\def\thebibliography#1{% +\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi + \section*{{REFERENCES} % was uppercased but this affects pdf bookmarks (SP/GM Oct. 2004) + \@mkboth{{\refname}}{{\refname}}% + }% + \list{[\arabic{enumi}]}{% + \settowidth\labelwidth{[#1]}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \usecounter{enumi} + }% + \let\newblock\@empty + \raggedright %% 7 JAN 2000 gkmt + \sloppy + \sfcode`\.=1000\relax +} + + +\gdef\balancecolumns +{\vfill\eject +\global\@colht=\textheight +\global\ht\@cclv=\textheight +} + +\newcount\colcntr +\global\colcntr=0 +\newbox\savebox + +\gdef \@makecol {% +\global\advance\colcntr by 1 +\ifnum\colcntr>2 \global\colcntr=1\fi + \ifvoid\footins + \setbox\@outputbox \box\@cclv + \else + \setbox\@outputbox \vbox{% +\boxmaxdepth \@maxdepth + \@tempdima\dp\@cclv + \unvbox \@cclv + \vskip-\@tempdima + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht {% +\@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \vskip -\dimen@ + \@textbottom + }% + \fi + \global \maxdepth \@maxdepth +} +\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn +\global\advance\titlenotecount by 1 +\ifnum\titlenotecount=1 + \raisebox{9pt}{$\ast$} +\fi +\ifnum\titlenotecount=2 + \raisebox{9pt}{$\dagger$} +\fi +\ifnum\titlenotecount=3 + \raisebox{9pt}{$\ddagger$} +\fi +\ifnum\titlenotecount=4 +\raisebox{9pt}{$\S$} +\fi +\ifnum\titlenotecount=5 +\raisebox{9pt}{$\P$} +\fi + \@titlenotetext +}} + +\long\def\@titlenotetext#1{\insert\footins{% +\ifnum\titlenotecount=1\global\tntoks={#1}\fi +\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi +\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi +\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi +\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup + \color@endgroup}} + +%%%%%%%%%%%%%%%%%%%%%%%%% +\ps@plain +\baselineskip=11pt +\let\thepage\relax % For NO page numbers - Gerry Nov. 30th. 1999 +\def\setpagenumber#1{\global\setcounter{page}{#1}} +\pagenumbering{arabic} % Arabic page numbers but commented out for NO page numbes - Gerry Nov. 30th. 1999 +\twocolumn % Double column. +\flushbottom % Even bottom -- alas, does not balance columns at end of document +%\pagestyle{plain} +\pagestyle{empty} + +% Need Copyright Year and Copyright Data to be user definable (in .tex file). +% Gerry Nov. 30th. 1999 +\newtoks\copyrtyr +\newtoks\acmcopyr +\newtoks\boilerplate +\def\CopyrightYear#1{\global\copyrtyr{#1}} +\def\crdata#1{\global\acmcopyr{#1}} +\def\permission#1{\global\boilerplate{#1}} +% +\newtoks\copyrightetc +\global\copyrightetc{\ } % Need to have 'something' so that adequate space is left for pasting in a line if "confinfo" is supplied. + +\toappear{\the\boilerplate\par +{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc} +% End of CSITPROC.CLS+ \ No newline at end of file diff --git a/containers.tex b/containers.tex @@ -0,0 +1,148 @@ +\section{Experience with application containers} +\label{sec:cont} + +Only light-weight virtualization technologies can be used to build efficient virtual clusters for large-scale problems. This stems from the fact that on large scale no service overhead is acceptable if it scales with the number of nodes. In case of virtual clusters, scalable overhead comes from processor virtualization which means that no para- and fully-virtualized machines are suitable for large virtual clusters. This leaves only application container technologies for investigation. The other challenge is to make dynamic creation and deletion of virtual clusters take constant time. + +\subsection{System configuration} + +Test system comprises many standard components which are common in high performance computing: distributed parallel file system which stores home directories with experiment's input and output data; cluster resource scheduler which allocates resources for jobs and client programs to pre- and post-process data; non-standard component is network-attached storage exporting container's root files systems as directories. Linux Container technology (LXC) is used to provide containerization, \mbox{GlusterFS} is used to provide parallel file system and TORQUE to provide task scheduling. The most recent CentOS Linux 7 is chosen to provide stable version of LXC (greater than 1.0) and version of kernel which supports all container features. Due to limited number of nodes each of them is chosen to be both compute and storage node and every file in parallel file system is stored on exactly two nodes. Detailed hardware characteristics and software version numbers are listed in Table~\ref{fig:system-configuration}. + +%Creating virtual cluster in such environment requires the following steps. First, a client submits a task requesting particular number of cores. Then according to distribution of these cores among compute nodes a container is started on each node from the list with SSH daemon as the only program running inside it. Here there are two options: either start containers with network virtualization (using \textit{macvlan} or \textit{veth} LXC network type) and generate sufficient number of IP addresses for the cluster or use host network name space (\textit{none} LXC network type) and generate only the port number to run ssh daemon on. The next step is to copy (possibly amended) node file from host into the first container and launch submitted script inside it. When the script finishes its work SSH daemon in every container is killed and all containers are destroyed. + +\begin{table}[h] + +\caption{Hardware and software components of the system.} +\label{fig:system-configuration} + +\begin{tabular}{ll} + \toprule + Component & Details \\ + \midrule + CPU model & Intel Xeon E5440 \\ + CPU clock rate (GHz) & 2.83 \\ + No. of cores per CPU & 4 \\ + No. of CPUs per node & 2 \\ + RAM size (GB) & 4 \\ + Disk model & ST3250310NS \\ + Disk speed (rpm) & 7200 \\ + No. of nodes & 12 \\ + Interconnect speed (Gbps) & 1 \\ + \addlinespace + Operating system & CentOS 7 \\ + Kernel version & 3.10 \\ + LXC version & 1.0.5 \\ + \mbox{GlusterFS} version & 3.5.1 \\ + TORQUE version & 5.0.0 \\ + \mbox{OpenMPI} version & 1.6.4 \\ + IMB version & 4.0 \\ + \mbox{OpenFOAM} version & 2.3.0 \\ + \bottomrule +\end{tabular} +\vspace{10pt} + +\end{table} + +%For this algorithm to work as intended client's home directory should be bind-mounted inside the container before launching the script. Additionally since some MPI programs require \textit{scratch} directories on each node to work properly, container's root file system should be mounted in copy-on-write mode, so that all changes in files and all the new files are written to host's temporary directory and all unchanged data is read from read-only network-mounted file system; this can be accomplished via UnionFS or similar file system and that way application containers are left untouched by tasks running on the cluster. + +To summarize, only standard Linux tools are used to build the system: there are no opaque virtual machines images, no sophisticated full virtualization appliances and no heavy-weight cloud computing stacks in this configuration. + +\subsection{Evaluation} + +To test the resulting configuration \mbox{OpenMPI} and Intel MPI Benchmarks (IMB) were used to measure network throughput and \mbox{OpenFOAM} was used to measure overall performance on a real-world application. + +The first experiment was to create virtual cluster, launch an empty (with \textit{/bin/true} as an executable file) MPI program and compare execution time to ordinary physical cluster. To set this experiment up in the container the same operating system and version of \mbox{OpenMPI} as in the host machine was installed. No network virtualization was used, each run was repeated several times and the average was displayed on the graph (Figure~\ref{fig:ping-1}). The results show that a constant overhead of 1.5 second is added to every LXC run after the 8\textsuperscript{th} core: one second is attributed to the absence of cache inside container with SSH configuration files, key files and libraries in it and other half of the second is attributed to the creation of containers as shown in Figure~\ref{fig:ping-2}. The jump after the 8\textsuperscript{th} core marks bounds of a single machine which means using network for communication rather than shared memory. The creation of containers is fully parallel task and takes approximately the same time to complete for different number of nodes. Overhead of destroying containers was found to be negligible and was combined with \textit{mpirun} time. So, usage of Linux containers adds some constant overhead to the launching of parallel task depending on system's configuration which is split between creation of containers and filling the file cache. + +\begin{figure} +\includegraphics{ping-1} +\caption{Comparison of LXC and physical cluster performance running empty MPI program.} +\vspace{20pt} +\label{fig:ping-1} +\end{figure} + +\begin{figure} +\includegraphics{ping-2} +\caption{Breakdown of LXC empty MPI program run.} +\vspace{50pt} +\label{fig:ping-2} +\end{figure} + +%The second experiment was to measure performance of different LXC network types using IMB suite and it was found that the choice of network virtualization greatly affects performance. As in the previous test container was set up with the same operating system and the same IMB executables as the host machine. Network throughput was measure with \textit{exchange} benchmark and displayed on the graph (Figure~\ref{fig:imb-1}). From the graph it is evident that until 214 bytes message size the performance is approximately the same for all network types, however, after this mark there is a dip in performance of virtual ethernet. It is difficult to judge where this overhead comes from: some studies report that under high load performance of bridged networking (\textit{veth} is always connected to the bridge) is decreased~\cite{james2004performance}, but IMB does not have high load on the system. Additionally, the experiment showed that as expected throughput decreases with the number of cores due to synchronization overheads (Figure~\ref{fig:imb-2}). + +Another experiment dealt with real-world application performance and for this role the \mbox{OpenFOAM} was chosen as the complex parallel task involving large amount of network communication, disk I/O and high CPU load. The dam break RAS case was run with different number of cores (total number of cores is the square of number of cores per node) and different LXC network types and the average of multiple runs was displayed on the graph (Figure~\ref{fig:openfoam-1}). Measurements for 4 and 9 cores were discarded because there is a considerable variation of execution time for these numbers on physical machines. From the graph it can be seen that low performance of virtual ethernet decreased final performance of \mbox{OpenFOAM} by approximately 5-10\% whereas \textit{macvlan} and \textit{none} performance is close to the performance of physical cluster (Figure~\ref{fig:openfoam-2}). Thus, the choice of network type is the main factor affecting performance of parallel applications running on virtual clusters and its overhead can be eliminated by using \textit{macvlan} network type or by not using network virtualization at all. More experimental results are presented in \cite{gankevich-ondemand2015}. + +\begin{figure} +\includegraphics{openfoam-1} +\caption{Average performance of \mbox{OpenFOAM} with different LXC network types.} +\vspace{20pt} +\label{fig:openfoam-1} +\end{figure} + +\begin{figure} +\includegraphics{openfoam-2} +\caption{Difference of \mbox{OpenFOAM} performance on physical and virtual clusters. Negative numbers show slowdown of virtual cluster.} +\vspace{50pt} +\label{fig:openfoam-2} +\end{figure} + +To summarize, there are two main types of overheads when using virtual cluster: creation overhead which is constant and small compared to average time of a typical parallel job and network overhead which can be eliminated by not using network virtualization at all. + +\subsection{Application containers with Docker} +The next step in using containers for building virtual cluster is applying various automation and management tools that help to ease deployment and handling of virtual clusters. We investigated capabilities provided by several modern tools (Docker, Mesos, Mininet) to model and build virtualized computational infrastructure, investigated configuration management in the integrated environment and evaluated performance of the infrastructure tuned to a particular test application. Docker -- a lightweight and powerful open source container virtualization technology which we use to manage containers -- has a resource management system available so it is possible to test different configurations: from "slow network and slow CPUs" to "fast network and fast CPUs". + +Even though container-based virtualization is easy to run and use, it's not often easy and user-friendly to scale configuration or to limit resources. This is where Apache Mesos~\cite{mesos} and Mesosphere Marathon~\cite{marathon} were used. Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively. At a high level Mesos is a cluster management platform that combines servers into a shared pool from which applications or frameworks like Hadoop, Jenkins, Cassandra, ElasticSearch, and others can draw. Marathon is a Mesos framework for long-running services such as web applications, long computations and so on. + +Figure~\ref{fig:npb-tests} shows the experimental results for execution of NAS Parallel Benchmarks (NPB) suite on different configurations of virtual testbed (Class W: workstation size; Classes A, B: standard test problems, ~4X size increase going from one class to the next). With NPB results are also very different, everything depends on benchmark type. For example, for SP test smaller size system of nonlinear PDEs had better Mop/s than for bigger size. However, for lower matrices sizes in LU test results are worse than for bigger matrices. +\begin{figure} +\centering +\includegraphics[width=8cm]{fig-tests1.pdf} +\caption{Performance of different tests from NAS Parallel Benchmarks suite on different configurations} +\vspace{50pt} +\label{fig:npb-tests} +\end{figure} + + +%\begin{figure*} + +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{ping-1} +%\caption{Comparison of LXC and physical cluster performance running empty MPI program.} +%\label{fig:ping-1} +%\end{minipage} +%\hfill +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{ping-2} +%\caption{Breakdown of LXC empty MPI program run.} +%\label{fig:ping-2} +%\end{minipage} + +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{imb-1} +%\caption{Average throughput of \textit{exchange} MPI %benchmark.} +%\label{fig:imb-1} +%\end{minipage} +%\hfill +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{imb-2} +%\caption{Throughput for 16Kb messages.} +%\label{fig:imb-2} +%\end{minipage} + +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{openfoam-1} +%\caption{Average performance of \mbox{OpenFOAM} with different LXC network types.} +%\label{fig:openfoam-1} +%\end{minipage} +%\hfill +%\begin{minipage}[t]{0.49\textwidth} +%\vspace{0pt} +%\includegraphics{openfoam-2} +%\caption{Difference of \mbox{OpenFOAM} performance on physical and virtual clusters. Negative numbers show slowdown of virtual cluster.} +%\label{fig:openfoam-2} +%\end{minipage} + +%\end{figure*} diff --git a/fullvirt.tex b/fullvirt.tex @@ -0,0 +1,3 @@ +\section{Experience with full virtualisation} +\label{sec:fullvirt} +TODO (Vova's section with OpenStack etc.)+ \ No newline at end of file diff --git a/graphics/fig-tests1.pdf b/graphics/fig-tests1.pdf Binary files differ. diff --git a/graphics/fig-vcluster.pdf b/graphics/fig-vcluster.pdf Binary files differ. diff --git a/graphics/imb-1.eps b/graphics/imb-1.eps @@ -0,0 +1,659 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:12:04 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 4 2 190 129 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 47 /slash put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 56 /eight put +Encoding 57 /nine put +Encoding 66 /B put +Encoding 77 /M put +Encoding 84 /T put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 97 /a put +Encoding 98 /b put +Encoding 99 /c put +Encoding 101 /e put +Encoding 103 /g put +Encoding 104 /h put +Encoding 108 /l put +Encoding 109 /m put +Encoding 110 /n put +Encoding 111 /o put +Encoding 112 /p put +Encoding 114 /r put +Encoding 115 /s put +Encoding 116 /t put +Encoding 117 /u put +Encoding 118 /v put +/CharStrings 33 dict dup begin +/.notdef 0 def +/zero 1 def +/three 2 def +/six 3 def +/nine 4 def +/one 5 def +/two 6 def +/five 7 def +/four 8 def +/eight 9 def +/T 10 def +/h 11 def +/r 12 def +/o 13 def +/u 14 def +/g 15 def +/p 16 def +/t 17 def +/space 18 def +/bracketleft 19 def +/M 20 def +/b 21 def +/slash 22 def +/s 23 def +/bracketright 24 def +/e 25 def +/a 26 def +/l 27 def +/n 28 def +/B 29 def +/m 30 def +/c 31 def +/v 32 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa000027e4000002166670676d73d323b00000 +29fc00000705676c79660bdf94150000009c000027486865616406a2e9730000310400000036 +686865610e1f056a0000313c00000024686d74787ce807f600003160000000846c6f636191ee +9c6e000031e4000000446d61787004f3083b000032280000002070726570409b59c200003248 +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd00000002004effec03b20552000d00210061b51f100b0f48 +1bb8fff0403d0c0f48561566150211100c0f48770c01790a017806017703010e6f0023002340 +230240236023a023e02304186f40089008a008030813730b071d730519003fed3fed012f5ded +5d7110deed31305d5d5d5d2b5d2b2b0114020e0123220211101233321203342e0223220e0215 +141e0233323e0203b2356ca671d4d8d8dcd4dcb8193b63494a5f361515365f4a49633b1902a4 +a8fefcb15b01640154014d0161fea3feaf90e29b51519be29090e59f55559fe5000000010062 +ffec03b0054c003c00b0b386370134b8ffe04073080b482b20090d488c12010a20090d480503 +01083b3a4b3a023a1b863501356f205f1b6f1b027f208f20022c1b20201b2c0309156f760086 +0002003e003e403e02403e603ea03ee03e0420093009400903093a1b731c1c3210002b102b02 +2b2b25733207107305700a800a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392f +ed39012f5d5d7110de5ded1117392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e02 +232226270333171e0333323e0235342e022f0135373e0135342e0223220e020f0123113e0333 +321615140e02071e0103b04079b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c +1b3a5d431e3d383012234223464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f +092e5373444e673f1d0308520906808241614020090f130aa4010209100b07a2a83f6d54390b +15a700020058ffec03c3054c0026003600ac404b8224011414241454146414741405341c641c +741c033535953502040301042514252425842504082c6f00df130113400d1048131386000100 +38003840380240386038a038e038041f326f0ab8fff0402c0c0f48300a400a020a1f32322f74 +8622012222271a730f0014101420140314140f0727738805017905010519003f5d5ded3f332f +5d10ed12392f5ded3210c9012f5d2bed325d7110ce5d322f2b7110ed31305e5d5d5d5d5d005d +01140e0223222e01023534123e01333216171523272e0323220e02073e0133321e0201323e02 +35342623220607141e0203c3356899646ead773f538bb6624b9a3e4223122f3333174771522f +0448ab5454875e32fe6240583617677044954a1f446801a068a2703a56ab00ffaab60106aa50 +140fe7890a100c07448ad08d26302f6092fe392a557f54a4921a1890de994f00000000020042 +ffec03ac054c00280038009b406d37180c0f488927019a1f011e280c0f483b1e011b162b1602 +6a0d7a0d9a0d030a261a262a260334216f0a3a103a503a02503a703ab03af03a042c6f001414 +6f007f0002002134343174092489249924032424291c73111f162f163f160316161119297306 +058605960503080507003f5e5ded3f332f5d10ed12392f5ded3210c9012f5d332f10ed5d7110 +deed323130005d015d5d5d2b5d5d2b13343e0233321e011215140e04232226273533171e0333 +323e02370e0123222e0201220615141e0233323637342e02423c70a06472a66d352746617483 +45588f444123132f33351946795a3705429a59548c653701b28179213f5b3b42843e1c3c6203 +a4679f6b3750a7fefeb181cb9a6d441f1111e890090e0b053b84d398253033659601bab3a952 +7247201c1993df954b000000000100b4000003850548000a003e402a100c500c02500c700cb0 +0cf00c04006e40100501000540055005a005b00505080507800a060005730318003fed323f1a +cd012f5e5d711aed5d713130250515213525110535253302730112fd2f0113fef1018734501b +35351b04466135de00000001005a0000038f054c0022007f4055251e010519951902080c121c +123c124c1204890f012a0401141402096f1a22221a24002440240240246024a024e024043421 +442102213002400202020917218f1201001210120212120c7387170117060221760118003fed +323f5ded332f5d5d111239012f5d335d5d7110ce322f10ed11392f3130005d5d015d5e5d5d29 +01353e0535342623220e020f0123113e0133321615140e040721038ffccb65a9876543217686 +1e3b362f1223424c9356dcdd2b507494b16402b2935e95817680945d8288090f130aa4010212 +19b7a7528c817d86975b00010077ffec03b0053d002c007940318502010f20090d4806080105 +031503250303082626281a6f7605860502052e002e402e02402e602ea02ee02e042870230eb8 +ffc0401d090d480e221f730000152776240615730a700f800f020f0f010f0f0a19003f332f5d +5d10ed3fed12392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215140e +02232226270333171e0333323e0235342e02232206072311211521113e0301e570ac743b3976 +b3795ea94c0b422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d5e91 +655f9a6e3c1516011abc0a140f092f5678494e744e271008029999fe54040807050000020028 +000003e00544000a000e008140100c38161d483506450655060356060106b8fff04012131a48 +101050100250107010b010f010040db8ffe84031161b480d0440141948040a0a08016e0e0600 +0210022002400250027002a002b00208080208050e75000303010b07060118003f3f3312392f +33ed3232012f5e5d3333ed32322f2f2b332b5d7131302b5d71002b0111231121350133113315 +01230121032aacfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332fd5d0003 +004effec03b20552001d00310045009f40708701018503011103148600960002006f323c6f1f +140182149214021032018f329f3202143214320e1e6f86089608020847104750470250477047 +b047f04704286f890e990e02500e010e1103237341412d377305191519251985199519051907 +2d73090b190b290b890b990b05080b19003f5e5ded3f5ded12392fed3939012f5d5ded5d7110 +de5ded1139392f2f5d715d71ed10ed5d11393931305d5d011406071e03151406232226353436 +372e0135343e0233321e0203342e0223220e0215141e0233323e0203342e0223220e0215141e +0233323e0203896b5b36583f22d6e2d6d6806d576d31629464609263328b1a3d64494a603816 +1638604a49643d1a291532543e3e512f13132f513e3e54321503f66e99281440576f43bec0bd +c185af2928986f4f815b31305a81fd2349714e28284e71494a714c28284c7102d63b62472828 +47623b3c604424244460000000010025000004c1053d001701f140ff050d150d250d030a081a +0802090f1901fe0f194f195f197f198f19bf19df19ff1908f019018f199f19cf19037019010f +191f194f1903cf19df19ef1903b019019f19018019011f192f195f1903001901ce6f19af19bf +19ef19045019010f192f193f1903ff1901d01901bf1901a019013f194f197f19032019017f19 +9f19bf19cf19ff19056019014f19013019010f19019def1901d019012f196f197f19af190410 +1901bf19cf19ef19ff19049019a019027f19016019010f193f1902e019013f195f197f198f19 +bf19052019010f19016bf01901cf1901a019018f19017019010f191f194f1903f01901cf1901 +b019015f196f198f199f1904301940190240871f1901001901df19018019b019025f19010019 +3019023bff1901e01901cf1901b019014f195f198f1903301901b019e019f019038f19017019 +015f190100192019301903f01901df1901c019019f190170198019021f192f193f1903001901 +500c800cb00cc00c040c025f098f09bf09cf090409155a020d00090109091403600a0315025f +0012003fed323fed32332f5d33012ffdcc5d10cc5d5d5d5d5d5d5d5d71717171717272727272 +725e5d5d5d5d717171717171717272727272725e5d5d5d5d7171717171727272725e5d5d5d5d +5d7171717171717272725e5d5d5d5d5d5d71717171725e5d31305e5d5d213537112322060f01 +2311211123272e032b01111715013bd53383b2251b43049c441b12475e6f3a31d5351b04970c +08d1013bfec5d104060503fb6b1b3500000000010014000003e5058d002800b0b9000dffc040 +2b0810482914391402181401091401091415470f100116102aa02a01002a102ac02ae02a0439 +a02af02a022ab8ffc040142b30482f2a01102a01502a01702a802a902a032ab8ffc0b31f2248 +2ab8ffc0402b131648001f47802401002410242024c024d024e024060824255028001f151024 +501322151e050519520a10003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d717272 +2b725e5d7110dc5e5ded325e5d5d5d31302b01140e02073e0333321e02151117152135371134 +2623220e0207111715213537112735210146010103021c50575724365a412572fe6b7d51551c +3f3e36127ffe64778c013203f60e282b280d10241e131e426a4bfd96192d2d19025e53590608 +0b04fd13192d2d190502182d0000000100290000029803c50018006bb3040a0102b8ffd8402f +090f48131f016f017f010301010947000e100e200ec00ed00ee00e06080e1f1a5f1a02401a01 +561366130213031802b8ffc04010090c48020218100f50120f090e500c15003fed323fed3f33 +2f2b10c9335d0171722f5e5ded322f5d3231302b5d01152327220e0207111715213537112735 +21173e033302982b3a1c40403b16a1fe42777701120917505d5d2403c5fe6e080d120afd4219 +2d2d190320192d7513312c1e0002004effec03b203c5000b001f008c403c840a940a02050a01 +8b089b08020a08018b049b04020904018402940202060201080c480021002120210210213021 +5021e02104002120214021033b21b8ffc04016414a489f2101702101402160218021a0210460 +210121b8ffc0400e252e48164806115009101b500316003fed3fed012fed2b5d7172722b5e5d +717210deed31305e5d5d5d5d5d5d5d5d01140223222635343633321607342e0223220e021514 +1e0233323e0203b2d6e2d4d8d8dcd6dab41a3d64494a6038161638604a49643d1a01dbefff00 +fef1eefcf7f36199693737699961629a6b39396b9a0000000001001bffec03dd03ac001d0098 +405917400810480c093c09020c083c0802080f06470f0bef0b02140b1fa01f01001f101fc01f +e01f0439001f201f301f401fe01f05401f601f701fb01f04201f601f701f801fa01fb01f0600 +47b019018f199f1902c019d0190219b8ffc04014080b4819071a50091d0f0603520f14160b50 +0e15003fed3f33ed323f33ed32012f2b5d7171ed5d71725e5d7110dc5e5ded3231305e5d5d2b +011416333236371127352111171521270e0323222e02351127352101394b553878388e013377 +feee081d5057582436583f2378011e010c53590f1002e7192dfc9a192d4c10221c121e42694b +0266192d000000030058fe4603d9041b003400470059018d401779450156316631023120080c +4848315831683188310431b8ffc04009080c480218080b4832b8ffd8400e0810482428080c48 +2718080b480db8ffe04056080f481620080c481f38080d482028081048074722322e06230400 +5548252240191d482540191d482225222518870e010e4635401a1d4835354b482b0001bb0001 +040014000209005b545b01405b01345b01205b015bb8ffc04012596048805b01745b01605b01 +b45bc45b025bb8ffc0401b4d5448a05b01045b013f045b845ba45b03a45bc45bd45be45b045b +b8ffc0b34148485bb8ffc0b3353d485bb8ffc0b32b2f485bb8ffc040131e2148405b01345b01 +205b0102205b305b025bb8ffc0402e0f1a48393e491d301801180623322f042a0350481d380b +0f481f482f4803a00b01480b480b4350502a104350131c003fed3fed1239392f2f5d5d10cd32 +10ed111739012f5d33ed322b5d5f7171712b2b2b2b71725e5d5d2b5d7171712b7272727210de +5e5d5d71ed332f2bed5d1239392f2f2b2b10ed12173910ed31302b2b2b2b2b2b2b002b2b5d01 +2b5d5d01140623222627071e013321321615140e0223222e0235343e02372e0335372635343e +0233321e02173717071e0103342623210e0315141e0233323e0201323635342e0223220e0215 +141e020366c2b629531c3f034836011698933577c08c6b965e2a192d3e24122f2a1c9e9e3461 +8e5a1c3a332609dd238b2221294647fe941523190e1739624a5a835629feb36d5b152f4c3637 +4d311616304c0283a2a6090683111e8474417d613b233e5230213b37341a061b2a3722b24ad9 +4f795129060709036f2b902673fcba3940122f343519243b2a18233f5602397d7f3f5d3c1e1e +3c5d3f3f5f3f1f0000020021fe4c03b003c50021003000904065692f792f02061d0184119411 +02061101840b940b02030b01080601010922480e324032010032803202394032015032703290 +32d032f0320570329032d032034f32012b16041c47002110212021d021040821211c501e1b2e +5013162a27510409100050030f003fed3f33ed323fed3fed32012f5e5ded3232325d5d71725e +5d7210deed31305e5d5e5d5d5d5d5d5d13273521173e0333321e0215140e02232226271e031d +01171521353701342e0223220607111e01333236986b0108021539424a26588c623334689d69 +33713301030101a4fe4077026422415e3b306d262a663384780366192d37121d150c3e7bb576 +73b983460b0b0c1f211c09fe182f2f18034e66905b2a1110fd110809db0000010014ffec022d +04810019005740390238081148040601af1b01c01b013f1b4f1b020a0e470350146014021414 +07000310032003030803040c500940090e4809070b0f1511510016003fed333f33ce2bed3201 +2f5e5d33332f5d10ed325d5d7231305d2b052226351123353f01331533152311141633323637 +150e03014e605f7b7d653fd7d73b3025491f0f313b4214726702932d27d5d554fd7f41420a06 +410a140f0a00000000010098feee0260058d00070178401f070402140244025402040c020b09 +01fde40901d00901b409c40902a0090109b8ffc0400beff4481009200930090309b8ffc04012 +e8eb48b009c00902640984099409a4090409b8ff804011dde0480409140902d409f40902c009 +0109b8ffc04029d2d648600901540901300940090204091409240903cbb409d409e40903a009 +01840994090270090109b8ffc0409eb7c1489b09ab09bb09038409013b094b0902bb09db09eb +090394090109409da0480409019b7b098b09eb0903bb09cb09fb09037409012b093b0902ab09 +db090284090109406a6d4804090169f409014b095b09bb09031b092b093b095b096b098b099b +09cb09080f0901ff0901029f09af09df09ef09045009010f090139ff0901c009014009d00902 +df090180090104f001400e11480103f5020006f500002fed3fed012f2bed5d5d7172725e5d5d +5d5f5d717172725e5d2b5d5d717171725e5d2b5d5d7171712b727272725e5d5d5d5d2b5d5d71 +2b71712b722b727272725e5dcd5e5d32313013112115051105159801c8fed70129feee069f2f +29fa11292f000001003b000006e1053d001800a9402001180c114800180b114817000101000d +0d08180e175a30124012501203121a1ab8ffc040151317484f1a01710c810c910c03430c530c +630c030cb8ffe84036080b480c0202035c600880080208820d920d020c0d1c0d020d06021118 +03095f0e0c0b0303121703085f00010f011f01020815010612003f33335e5d1133ed17323f33 +33ed173212395d5d012f5ded322f322b5d5d5d2b10dc5ded323212393d2f333331305d2b2b21 +230111171521353711273521090121150711171521353711035e23fe15b4fe37acac019601b4 +01dc0180acacfde0b40481fbcf1b35351b049e1a35fc0403fc351afb621b35351b0431000000 +00020000ffec03b2058d0010002a008f40100b230108080f180f020e031e131e021eb8ffd840 +3a080b480048072017200210202c402c01002c802c0239102c902c02402c602c802c902cb02c +c02ce02c07202c602c802cc02c041a0b47df2a012ab8ffc04013080c482a0e5025161a0a0a05 +511d1011501400003fed3fed3210c93fed012f2b5ded325d71725e5d7210de5e5ded3130002b +5d015e5d005e5d01342e0223220e0207111e013332360127352111140e02073e013332161514 +0e0223222e022702fe2545613b18373632122a6c338a7cfd8b89012f010103012d814ec0cd34 +6ca5713063605a2601f0668b562504090c08fd170808d8042e182dfeb01331353518232be9ec +77bf86480b12190f000000010000ffec023905460003004cb90000ffe840271b20480a02010a +021a022a02ba02ea02fa02060902181b20480005013c6005a005024003010301b8ffb0b7080d +480102040013003f3f012f2b2f5d715e5d31302b5e5d712b17230133646401d76214055a0000 +00010054ffec02d303c5003500a140244a328a32027c158c15023a164a167a168a1604053315 +332533033c1a4c1a7c1a8c1a0402b8ffd84017090d481e18090c482540101548252513460037 +20370137b8ffc040301e21484f375f37af37032d461c0b0b1c132d052a502134264426022626 +2110105005340b440ba40b03200b010b0b0516003f332f5d5d10ed3f332f5d10ed123939012f +332f10ed5d2b7110deed332f2b31302b2b5d005d5d5d5d01140e0223222e02273533171e0133 +323635342e0635343e02333216171523272e0123220615141e0602d32754855e2f5b4e3a0d2d +311f62425d652a44575b57442a2e53734544823c2f2a1a5a3351552a45585c58452a01083f69 +4b290b0f1005e7831c28515532412c1d1e263c5a4340644423130ccd6d171850442e3b291e20 +29405c000001004afeee0212058d000701a4400f040900190049005900040c0002f007b8ffc0 +40280c11480709060916093609460904fbf60901e40901d60901b409c40902a2090174098409 +94090309b8ffc04012edf148120901040901e409f40902d6090109b8ff80b6e3e74876090109 +b8ff804033dee1482209010409140902f40901e60901c409d40902a609b60902740984090262 +09013409440954090306091609260903cb09b8ffc04019c6c948a40901960901840901720901 +01400950096009030209b8ffc0b3bbbe4809b8ff804025b7ba489f09af0902800901df09ef09 +0200099009a009c009049bc009d009027f098f090209b8ffc040648c8f48ff090140097009d0 +0903df09018009b009c009034f090100090169f00901bf09019009a009024f095f0902000910 +09025f096f09cf09039f09af09020940464c4850098009020f0901396009c009024009d00902 +df090180090104f5050001f500002fed3fed015d5d71725e5d5d2b5d7172727272725e5d5d5d +5d71712b72725e5d5d71712b2b5f725f727272722b5e5d5d5d5d5d5d5d5d71712b712b717172 +722b7272727272725e5d10de2bedcd5e5d32313013352511253521114a0129fed701c8feee2f +2905ef292ff9610000020050ffec034603c5001f002a0074402d8914019813010b138b130216 +1b261b020918191829189918040826481f0b0b1f2c002c013e802ca02cf02c032cb8ffc0b343 +4a482cb8ffc040172a2e482501488816011600502525062050191006511116003fed3fed1239 +2fed012f5ded322b2b715e5d10ce322f10ed31305e5d5d5d5d5d0115141e0233323e0237150e +0323222e0235343633321e021d0101220e021521342e020104153f725d1e42423e1a17414e58 +2d75a1642ccebf4b836239fe97385135190192112b4801d9124986673d05080a06380f1b160d +407eba79f6f2285e9e7652019c2f567b4c4c7b562f00000000020048ffec037103c1002a0036 +009740216b26011b172b17020e163e160212200b0f481d122d12020c12010d110101040103b8 +ffe0401d091148010301081c0a364706388038015f380140380180380131471427b8ffc0401f +0a0e4827274f1401142626222b501c1c003633510a0f160650091522500010003fed3fed3f33 +ed3211392fed12392f012f5d332f2b10ed5d71727210dced323231305e5d2b5d5d5d5d2b5d5d +5d01321e021511171521270e0323222e0235343e043f0135342e022322060f0123353e011307 +0e0315143332363701d1406e502d75fefe130f33485f3a445d38181e3649555f308d0e21382a +3062252238418bd6833b56381c8f44633203c1183a634bfd85192d5e0f2823182a4b673c3e5b +3e2716080104932a45321c1a1575cd0e15fe1e0402132e503eb01f180001002900000210058d +00090087402805472b00010b00013a5b006b007b009b00041b005b00bb00cb00047b009b00ab +0003000bc40b010bb8ffc0b33f46480bb8ffc0401c383b48900b0102000b100b500ba00bb00b +c00b06900ba00bf00b030bb8ffc0b32d30480bb8ffc0400c0d1048065009000005500315003f +ed323fed012b2b5d715f722b2b7210dc5d71725e5d71ed313025171521353711273521016fa1 +fe19a0a0014646192d2d190502182d0000000001002f000003e103c5002300b6b90008ffe040 +2a091048040801080f10090c480f10470b0beb0b02160b25a4250104251425c425e4250439a4 +25f4250225b8ffc040182b30482b2501142501c02501025025017025802590250325b8ffc0b3 +1f224825b8ffc0402d131648001a47801fc01f02001f101f201fc01fd01fe01f06081f205023 +0f1a100b1f500e1d1519000014520510003fed3311333f33ed3232323fed012f5e5d71ed322b +2b5d715f7172722b725e5d7110dc5e5ded322b31305e5d2b013e0333321e0215111715213537 +11342623220e02071117152135371127352101441c4d545424365a412572fe6b7d51551c3e3c +35127ffe6a7171010c036010241e131e426a4bfd96192d2d190258535f06080b04fd13192d2d +190320192d000003003bfffa04f2053d000c001d003b00ed401a9a02018b0a9b0a029a10017a +1b8a1b9a1b037a0f8a0f9a0f0327b8ffe04048080b480436019a2e01052e01082e07005b2940 +0e114829293307145a2020b0200220290d010d5b00331033303340335033b033060c333d303d +903d02703d903da03db03dd03d053db8ffc040486064482f3def3d020f3d0135003d203d303d +603dc03d053a103d503d02003d903df03d03403d503d703da03dd03de03d062e1260a0070107 +072319603812215f06602303205f1e12003fed3feded3fed11392f71ed39015d71725e5d5e5d +712b717210de5e5ded5d2f5ded3211392f2bed12395e5d5d31305d2b5d5d5d5d5d01342e022b +011133323e0213342e022b011116171e0133323e0201353711273521321e0215140e02071e03 +15140e022322262303be234e7c5acfdb5d7a471d652d5f9669f02e322b68335e825124fc18ac +ac02658dbc72302949663c578d62353b7ec68c70de5e03f83b583b1dfe05274764fdc4466643 +21fdcc020102012a4d6efec7351b049e1a352b5275493f684f350d0934537246579167390600 +0001002b0000061903c5003c03bb4085043501e435f4350205351535253503043401e434f434 +02053415342534030b2701eb27fb2702bf27cf27022720080d480b2801eb28fb2802bf28cf28 +022820080d48042601e426f4260205261526252603042501e425f42502052515252525030b17 +01eb17fb1702bf17cf17021720080d480b1601eb16fb1602bf16cf16021620080d4807b8ffc8 +400b0a1e480106110621060310b8ffd840d00810480311010803082447292938184706139613 +020a133e463e763e02293e01143e01063e01f8e43e01d23e01b43ec43e02a23e01943e01823e +01743e01623e01543e01063e163e263e463e04f23e01c43ed43ee43e03b23e01a43e01363e56 +3e663e763e963e05243e01163e01043e01f43e01d63ee63e02c43e01963eb63e02843e01763e +01593e01343e443e02263e01123e01043e01c8f63e01b43ec43ed43e03a63e01943e01863e01 +723e01643e01503e01423e01243e343e02123e01043e01f63e01e23e01d43e01c63e013eb8ff +804017afb248523e623e02443e01363e01243e01063e163e023eb8ff8040ffa4a748a23eb23e +02943e01863e01723e01643e01563e01243e343e02163e01043e0198d63ee63ef63e03a43eb4 +3ec43e03963e01843e01563e763e02443e01263e363e02023e123e02f43e01e63e01c43ed43e +02b63e01843e943e02363e563e763e03243e01063e163e02f63e01d43ee43e02c63e01a43e01 +963e01623e0101503e01443e01303e01043e143e243e0368f03e01d43ee43e02743eb43e0240 +3e01043e243e343e03f43e01db3e01b03ec03e02643e843ea43e03503e01243e343e443e0310 +3e01043e01f43e01d03e01c43e01ab3e01903e01843e013b3e6b3e02203e01043e143e0238d4 +3ee43e02603ea03e02543e01403e01143e343e02405b943ec43ee43ef43e04803e01543e743e +02403e01343e011b3e01043e01e43e01c03e0102103e503e703e803eb03e050f3e0108003347 +7038010038013839503c0f1318242933053850271636150821211c520d100032322d52051000 +3fed3210c93fed3210c93f3333ed17323fed012f5d71ed325e5d5d5f5d5d7171717171717172 +727272725e5d5d5d5d5d5d5d5d5d717171717171717172727272725e5d5d5d5d5f5d5d5d5d5d +5d717171717171717172727272727272725e5d5d5d5d5d5d5d5d5d2b71717171712b71717171 +7272727272727272727272725e5d5d5d5d5d5d5d5d5d5d5d7171717171717171727272727272 +727272725e5d5d5d5d10d45e5ded11392fed3231305f5e5d2b005d2b012b5d5d712b5d5d715d +5d715d5d712b5d5d712b5d5d715d5d715d5d71013e03333216173e0333321e02151117152135 +3711342623220e0207161511171521353711342623220e02071117152135371127352101461c +4d52542445751d205a615f2636583f2379fe558c4b551a45453f15118dfe428b55551c3d3b35 +128dfe5677770113036010241e133439122720141e426a4bfd96192d2d1902585359080a0d04 +3641fd96192d2d190258535906080b04fd19192d2d190320192d0001004effec034e03c50027 +006d40270807880702080d880d0208090101190601011d131327290029013e40298029a029d0 +29f0290529b8ffc0401f2a2d485f29af2902561d661d021d48790a890a020a1850140f102722 +510516003fed323f33ed012f5ded5d5d2b715e5d10ce322f3130005e5d015e5d5e5d5d250e03 +23222e0235343e02333216171123272e0123220e0215141e0233323e0237034e1a4852592a7a +ad6e344378a56251983e372b256939416345231e4c81632247433b1739131d130a4380b97580 +b97738130cfefaa6151a2f649a6b5a91663805090c0700010000ffec040003ac000e011b401e +5a0a6a0a8a0a035a006a0002550865080255036503020306041604020907b8ffe0b3080c4806 +b8ffe0b3080c4801b8ffc8b3090c4809b8ffe04024090c480a01520100014b090a1409090a02 +01520809084703021403030202010909011e09b8ffe040120d11480909030a0b001b002b0003 +22001010b8ffc0b74860480010014710b8ffc04011284648e01001b410c410d41003a0100110 +b8ffc040351d224810102010301003041001a410c41002801001026010701002080300080a03 +03500c050f4009010509650902f5090109010216003f33335d71713f33ed1732012f325d5f5d +5d71712b7171712b5e5d2b10ce5e5d3211393d2f2b5e5d33338718102b872bc48718102b872b +c43130012b2b2b2b5e5d5f5d5d5d5d09012301273521150709012735211503a6fe874afe7d60 +01b6950112010695015c036afc82037a192d2d1bfd77028b192d2d00058d00150048053d000f +0070053d000f000000000000000000000000000003ac001900000000ffec00000000ffec0000 +0000ffec0000fe4cfffa00000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000080000000000009800a600b4008d00d9005d00000000000000460050 +0069007500d900000000000000000000000000c100d10069000000000050005a00aa008a0000 +000000000000000000000000000000000000000000ac00b8005a0000000000500060008f0099 +000000000000000000000000000000000000000000000050009700b300c700d9000000000000 +000000000050006d007b008d00b500d9013100c90000016f00f20108008100c500b800f20131 +004d0000000000000000000000000000000000000000020e0000006600000000006600000000 +00000000000002db009b028b004a02e40000009900660000022f021000c4009c015e00000174 +0046008d0000000000000046003c000000000000000000000000000000000087007d00000053 +006800760087000000000000053dfcda0009fff3008f007d004a00820041006c000000000000 +0000000000bc019f030a00000354009f00a600c100000000002f00000000000000000748036a +02b60202fd930000009100670091006101d90000028d03410044051101b40000404559585554 +535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363531302f2e2d2c28 +272625242322211f181411100f0e0d0b0a090807060504030201002c4523466020b02660b004 +262348482d2c452346236120b02661b004262348482d2c45234660b0206120b04660b0042623 +48482d2c4523462361b0206020b02661b02061b004262348482d2c45234660b0406120b06660 +b004262348482d2c4523462361b0406020b02661b04061b004262348482d2c0110203c003c2d +2c20452320b0cd442320b8015a51582320b08d44235920b0ed51582320b04d44235920b00426 +51582320b00d44235921212d2c20204518684420b001602045b04676688a4560442d2c01b10b +0a432343650a2d2c00b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab1 +0200080d2d2c2045b00325456164b050515845441b2121592d2c49b00e23442d2c2045b00043 +60442d2c01b00643b00743650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c6423 +64615c58b00361592d2c8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c234445b0 +2b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01b005251023208af500b0 +016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f500edec2d2c4623 +46608a8a462320468a608a61b8ff8062232010238ab10c0c8a70456020b0005058b00161b8ff +ba8b1bb0468c59b0106068013a2d2c2045b0032546524bb013515b58b0022546206861b00325 +b003253f2321381b2111592d2c2045b00325465058b0022546206861b00325b003253f232138 +1b2111592d2c00b00743b006430b2d2c21210c6423648bb84000622d2c21b08051580c642364 +8bb82000621bb200402f2b59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59 +b002602d2c0c6423648bb84000626023212d2c4b53588ab004254964234569b0408b61b08062 +b020616ab00e23442310b00ef61b21238a121120392f592d2c4b535820b0032549646920b005 +26b0062549642361b08062b020616ab00e2344b0042610b00ef68a10b00e2344b00ef6b00e23 +44b00eed1b8ab00426111220392320392f2f592d2c4523456023456023456023766818b08062 +202d2cb0482b2d2c2045b0005458b040442045b04061441b2121592d2c45b1302f4523456160 +b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b515820b0032545695358441b21 +21591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d2c452320458a60442d2c +45234560442d2c4b235158b90033ffe0b134201bb3330034005944442d2cb0164358b0032645 +8a586466b01f601b64b020606620581b21b04059b001615923586559b02923442310b029e01b +2121212121592d2cb0024354584b53234b515a58381b2121591b21212121592d2cb0164358b0 +04254564b020606620581b21b04059b0016123581b6559b0292344b00525b00825082058021b +0359b0042510b005252046b0042523423cb00425b0072508b0072510b006252046b00425b001 +6023423c2058011b0059b0042510b00525b029e0b02920456544b0072510b00625b029e0b005 +25b00825082058021b0359b00525b003254348b00425b0072508b00625b00325b0016043481b +2159212121212121212d2c02b00425202046b004252342b0052508b003254548212121212d2c +02b0032520b0042508b0022543482121212d2c452320451820b00050205823652359236820b0 +40505821b04059235865598a60442d2c4b53234b515a5820458a60441b2121592d2c4b545820 +458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b5458381b2121592d2cb0 +02435458b0462b1b21212121592d2cb002435458b0472b1b212121592d2cb002435458b0482b +1b21212121592d2cb002435458b0492b1b212121592d2c208a08234b538a4b515a5823381b21 +21592d2c00b0022549b000535820b04038111b21592d2c014623466023466123201020468a61 +b8ff80628ab140408a704560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a59 +2d2cb012004b014b54422d2cb1020042b123018851b1400188535a58b910000020885458b202 +010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243 +6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080 +63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000 +020063b80400885458b202400243604259595959592d2c451868234b51582320452064b04050 +587c59688a6059442d2cb00016b00225b0022501b001233e00b002233eb10102060cb00a2365 +42b00b234201b001233f00b002233fb10102060cb006236542b0072342b00116012d2c7a8a10 +4523f5182d00000000010000000111ebae9851365f0f3cf5001f080000000000d065c68f0000 +0000d065c68ffe96fd93080e07da000000080002000000000000000100000721fe450057086b +fe96fe98080e00010000000000000000000000000000002102ec00440400004e040000620400 +005804000042040000b40400005a04000077040000280400004e04e300250400001402aa0029 +0400004e0400001b0400005804000021023900140200000002aa0098071d003b040000000239 +0000031d005402aa004a038d0050038d0048023900290400002f0556003b0639002b038d004e +040000000000002c0094014201ea028a02c2033403b2041204c405e4067a06d8075007cc0910 +09a009f409f40ac40b460bd00c040c9e0d840dfe0e980ef20f841052128612f613a400010000 +002101520054007d000500020010002f005a0000040b063900030002b10960be01070001003f +0107000100bf0104405901e0fd01cffd0120fd017ffb0150fb0180f290f202f1f0291faff0bf +f0024fef5fefafef0330ef010fef010800ed10ed50ed60ed70eda0ed060a0fec010c00eb0111 +e3e0381fdf33dd55de33dc5500dd013c50dd80ddb0dd03b8ffc0405add080b46dd010355dc03 +161f10c020c030c070c080c0d0c0e0c0f0c00880be90be02bdbc2f1f0fbc1fbc021fb34fb37f +b30360a8010fa81fa802509b609b02909c010f9c1f9c2f9c039a992e1f99471e1f9796271fe0 +96f09602b8ffc04035960d11465f95017f928f9202708680869086038085908502af76bf7602 +7350291f6f6e2b1f6e472a1f19331855073303550603ff1fb8ffc0404462252846605f401f5f +50291f5b5a301f5a47291f1333125505010355043303550f031f033f034f036f038f03bf0307 +0852501e1f51501e1fe050f050020f4f1f4f2f4f03b8ffe040614b212846604a704a804a0349 +46291f4847381f0f471f472f47cf47df47ef47065f47019f47019f46af46bf46034046292f46 +40461e21461c481b551633155510330f5502010055013300552f0fff0f020f0f5f0f7f0f030f +003f00028016010501b80190b154532b2b4bb807ff524bb008505bb00188b02553b00188b040 +515ab00688b000555a5b58b101018e59858d8d00421d4bb0325358b0601d594bb0645358b040 +1d594bb0805358b0101db1160042597373742b2b2b2b2b012b2b737374752b2b73002b75742b +2b5e732b2b2b012b2b002b2b2b2b2b2b012b2b002b73017373007373012b732b2b2b73730073 +7373017300732b017373002b2b2b735e732b2b012b5e735e73005e735e73737301732b730073 +7373737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 4 2 190 129 +%%EndPageSetup +q 4 2 186 127 rectclip q +0 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +54.398 90.961 m 48.398 90.961 l S Q +BT +10 0 0 10 37.8 41.279997 Tm +/f-0-0 1 Tf +(0)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 75.039 m 48.398 75.039 l S Q +BT +10 0 0 10 32.8 57.199997 Tm +/f-0-0 1 Tf +(30)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 59.121 m 48.398 59.121 l S Q +BT +10 0 0 10 32.8 73.119997 Tm +/f-0-0 1 Tf +(60)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 43.199 m 48.398 43.199 l S Q +BT +10 0 0 10 32.8 89.039997 Tm +/f-0-0 1 Tf +(90)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 27.199 m 48.398 27.199 l S Q +BT +10 0 0 10 27.8 105.039997 Tm +/f-0-0 1 Tf +(120)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 48.398 11.281 l S Q +BT +10 0 0 10 27.8 120.959997 Tm +/f-0-0 1 Tf +(150)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 90.961 m 54.398 96.961 l S Q +BT +10 0 0 10 51.9 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +ET +q 1 0 0 -1 0 135.199997 cm +85.039 90.961 m 85.039 96.961 l S Q +BT +10 0 0 10 80.54 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +8 0 0 8 85.54 28.279997 Tm +(6)Tj +ET +q 1 0 0 -1 0 135.199997 cm +109.602 90.961 m 109.602 96.961 l S Q +BT +10 0 0 10 103.1 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +8 0 0 8 108.1 28.279997 Tm +(10)Tj +ET +q 1 0 0 -1 0 135.199997 cm +134.078 90.961 m 134.078 96.961 l S Q +BT +10 0 0 10 127.58 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +8 0 0 8 132.58 28.279997 Tm +(14)Tj +ET +q 1 0 0 -1 0 135.199997 cm +158.641 90.961 m 158.641 96.961 l S Q +BT +10 0 0 10 152.14 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +8 0 0 8 157.14 28.279997 Tm +(18)Tj +ET +q 1 0 0 -1 0 135.199997 cm +183.121 90.961 m 183.121 96.961 l S Q +BT +10 0 0 10 176.62 23.279997 Tm +/f-0-0 1 Tf +(2)Tj +8 0 0 8 181.62 28.279997 Tm +(22)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 54.398 90.961 l 183.121 90.961 l S Q +BT +-0.000000000000001837 10 -10 -0.000000000000001837 11.76 45.603434 Tm +/f-0-0 1 Tf +[(Throughput [Mb/s])]TJ +10 0 0 10 79.569609 5.279997 Tm +[(Message)3( length [B])]TJ +2.003039 10.368 Td +(none)Tj +ET +0.12549 g +1.6 w +q 1 0 0 -1 0 135.199997 cm +65.602 23.281 m 94 23.281 l 54.398 90.961 m 60.559 90.879 l 66.641 90.801 + l 72.801 90.559 l 78.879 90.16 l 85.039 89.359 l 91.199 87.762 l 97.281 + 84.641 l 103.441 79.281 l 109.602 70.078 l 115.68 57.68 l 121.84 59.199 + l 127.922 39.199 l 134.078 21.52 l 140.238 42 l 146.32 47.359 l 152.48 +36.641 l 158.641 46.801 l 164.719 45.602 l 170.879 41.52 l 176.961 39.121 + l 183.121 37.121 l S Q +0 g +BT +10 0 0 10 99.6 96.959997 Tm +/f-0-0 1 Tf +[(macvlan)]TJ +ET +0.12549 g +[ 4 6.4] 0 d +q 1 0 0 -1 0 135.199997 cm +65.602 35.281 m 94 35.281 l 54.398 90.961 m 60.559 90.879 l 66.641 90.801 + l 72.801 90.641 l 78.879 90.238 l 85.039 89.52 l 91.199 88.16 l 97.281 +85.199 l 103.441 80.238 l 109.602 70.879 l 115.68 59.922 l 121.84 59.84 +l 127.922 45.039 l 134.078 24.078 l 140.238 43.441 l 146.32 43.84 l 152.48 + 36.801 l 158.641 46.32 l 164.719 44.801 l 170.879 42.078 l 176.961 40.398 + l 183.121 38.641 l S Q +0 g +BT +10 0 0 10 99.6 84.959997 Tm +/f-0-0 1 Tf +(veth)Tj +ET +0.12549 g +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 135.199997 cm +65.602 47.281 m 94 47.281 l 54.398 90.961 m 60.559 90.879 l 66.641 90.801 + l 72.801 90.641 l 78.879 90.32 l 85.039 89.68 l 91.199 88.32 l 97.281 85.68 + l 103.441 80.719 l 109.602 72.48 l 115.68 62.641 l 121.84 61.199 l 127.922 + 46 l 134.078 24.961 l 140.238 40.879 l 146.32 75.441 l 152.48 57.199 l +158.641 55.199 l 164.719 49.281 l 170.879 48.879 l 176.961 43.84 l 183.121 + 45.199 l S Q +0 g +0.8 w +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 54.398 90.961 l 183.121 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/graphics/imb-2.eps b/graphics/imb-2.eps @@ -0,0 +1,635 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:11:54 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 4 4 188 129 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 46 /period put +Encoding 47 /slash put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 57 /nine put +Encoding 77 /M put +Encoding 78 /N put +Encoding 84 /T put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 97 /a put +Encoding 98 /b put +Encoding 99 /c put +Encoding 101 /e put +Encoding 102 /f put +Encoding 103 /g put +Encoding 104 /h put +Encoding 108 /l put +Encoding 109 /m put +Encoding 110 /n put +Encoding 111 /o put +Encoding 112 /p put +Encoding 114 /r put +Encoding 115 /s put +Encoding 116 /t put +Encoding 117 /u put +Encoding 118 /v put +/CharStrings 34 dict dup begin +/.notdef 0 def +/one 1 def +/zero 2 def +/two 3 def +/three 4 def +/four 5 def +/nine 6 def +/six 7 def +/five 8 def +/T 9 def +/h 10 def +/r 11 def +/o 12 def +/u 13 def +/g 14 def +/p 15 def +/t 16 def +/space 17 def +/bracketleft 18 def +/M 19 def +/b 20 def +/slash 21 def +/s 22 def +/bracketright 23 def +/N 24 def +/period 25 def +/f 26 def +/c 27 def +/e 28 def +/n 29 def +/m 30 def +/a 31 def +/v 32 def +/l 33 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa0000284c000002166670676d73d323b00000 +2a6400000705676c7966c95ed5990000009c000027b06865616406a2e9730000316c00000036 +686865610e1f056b000031a400000024686d74787e03086e000031c8000000886c6f6361a1f8 +99f600003250000000466d61787004f4083b000032980000002070726570409b59c2000032b8 +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd0000000100b4000003850548000a003e402a100c500c0250 +0c700cb00cf00c04006e40100501000540055005a005b00505080507800a060005730318003f +ed323f1acd012f5e5d711aed5d713130250515213525110535253302730112fd2f0113fef101 +8734501b35351b04466135de00000002004effec03b20552000d00210061b51f100b0f481bb8 +fff0403d0c0f48561566150211100c0f48770c01790a017806017703010e6f00230023402302 +40236023a023e02304186f40089008a008030813730b071d730519003fed3fed012f5ded5d71 +10deed31305d5d5d5d2b5d2b2b0114020e0123220211101233321203342e0223220e0215141e +0233323e0203b2356ca671d4d8d8dcd4dcb8193b63494a5f361515365f4a49633b1902a4a8fe +fcb15b01640154014d0161fea3feaf90e29b51519be29090e59f55559fe500000001005a0000 +038f054c0022007f4055251e010519951902080c121c123c124c1204890f012a040114140209 +6f1a22221a24002440240240246024a024e024043421442102213002400202020917218f1201 +001210120212120c7387170117060221760118003fed323f5ded332f5d5d111239012f5d335d +5d7110ce322f10ed11392f3130005d5d015d5e5d5d2901353e0535342623220e020f0123113e +0133321615140e040721038ffccb65a98765432176861e3b362f1223424c9356dcdd2b507494 +b16402b2935e95817680945d8288090f130aa401021219b7a7528c817d86975b00010062ffec +03b0054c003c00b0b386370134b8ffe04073080b482b20090d488c12010a20090d4805030108 +3b3a4b3a023a1b863501356f205f1b6f1b027f208f20022c1b20201b2c0309156f7600860002 +003e003e403e02403e603ea03ee03e0420093009400903093a1b731c1c3210002b102b022b2b +25733207107305700a800a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392fed39 +012f5d5d7110de5ded1117392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e022322 +26270333171e0333323e0235342e022f0135373e0135342e0223220e020f0123113e03333216 +15140e02071e0103b04079b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c1b3a +5d431e3d383012234223464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f092e +5373444e673f1d0308520906808241614020090f130aa4010209100b07a2a83f6d54390b15a7 +00020028000003e00544000a000e008140100c38161d483506450655060356060106b8fff040 +12131a48101050100250107010b010f010040db8ffe84031161b480d0440141948040a0a0801 +6e0e06000210022002400250027002a002b00208080208050e75000303010b07060118003f3f +3312392f33ed3232012f5e5d3333ed32322f2f2b332b5d7131302b5d71002b01112311213501 +3311331501230121032aacfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332 +fd5d00020042ffec03ac054c00280038009b406d37180c0f488927019a1f011e280c0f483b1e +011b162b16026a0d7a0d9a0d030a261a262a260334216f0a3a103a503a02503a703ab03af03a +042c6f0014146f007f0002002134343174092489249924032424291c73111f162f163f160316 +161119297306058605960503080507003f5e5ded3f332f5d10ed12392f5ded3210c9012f5d33 +2f10ed5d7110deed323130005d015d5d5d2b5d5d2b13343e0233321e011215140e0423222627 +3533171e0333323e02370e0123222e0201220615141e0233323637342e02423c70a06472a66d +35274661748345588f444123132f33351946795a3705429a59548c653701b28179213f5b3b42 +843e1c3c6203a4679f6b3750a7fefeb181cb9a6d441f1111e890090e0b053b84d39825303365 +9601bab3a9527247201c1993df954b00000000020058ffec03c3054c0026003600ac404b8224 +011414241454146414741405341c641c741c033535953502040301042514252425842504082c +6f00df130113400d104813138600010038003840380240386038a038e038041f326f0ab8fff0 +402c0c0f48300a400a020a1f32322f748622012222271a730f0014101420140314140f072773 +8805017905010519003f5d5ded3f332f5d10ed12392f5ded3210c9012f5d2bed325d7110ce5d +322f2b7110ed31305e5d5d5d5d5d005d01140e0223222e01023534123e01333216171523272e +0323220e02073e0133321e0201323e0235342623220607141e0203c3356899646ead773f538b +b6624b9a3e4223122f3333174771522f0448ab5454875e32fe6240583617677044954a1f4468 +01a068a2703a56ab00ffaab60106aa50140fe7890a100c07448ad08d26302f6092fe392a557f +54a4921a1890de994f00000000010077ffec03b0053d002c007940318502010f20090d480608 +0105031503250303082626281a6f7605860502052e002e402e02402e602ea02ee02e04287023 +0eb8ffc0401d090d480e221f730000152776240615730a700f800f020f0f010f0f0a19003f33 +2f5d5d10ed3fed12392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215 +140e02232226270333171e0333323e0235342e02232206072311211521113e0301e570ac743b +3976b3795ea94c0b422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d +5e91655f9a6e3c1516011abc0a140f092f5678494e744e271008029999fe5404080705000001 +0025000004c1053d001701f140ff050d150d250d030a081a0802090f1901fe0f194f195f197f +198f19bf19df19ff1908f019018f199f19cf19037019010f191f194f1903cf19df19ef1903b0 +19019f19018019011f192f195f1903001901ce6f19af19bf19ef19045019010f192f193f1903 +ff1901d01901bf1901a019013f194f197f19032019017f199f19bf19cf19ff19056019014f19 +013019010f19019def1901d019012f196f197f19af1904101901bf19cf19ef19ff19049019a0 +19027f19016019010f193f1902e019013f195f197f198f19bf19052019010f19016bf01901cf +1901a019018f19017019010f191f194f1903f01901cf1901b019015f196f198f199f19043019 +40190240871f1901001901df19018019b019025f190100193019023bff1901e01901cf1901b0 +19014f195f198f1903301901b019e019f019038f19017019015f190100192019301903f01901 +df1901c019019f190170198019021f192f193f1903001901500c800cb00cc00c040c025f098f +09bf09cf090409155a020d00090109091403600a0315025f0012003fed323fed32332f5d3301 +2ffdcc5d10cc5d5d5d5d5d5d5d5d71717171717272727272725e5d5d5d5d7171717171717172 +72727272725e5d5d5d5d7171717171727272725e5d5d5d5d5d7171717171717272725e5d5d5d +5d5d5d71717171725e5d31305e5d5d213537112322060f012311211123272e032b0111171501 +3bd53383b2251b43049c441b12475e6f3a31d5351b04970c08d1013bfec5d104060503fb6b1b +3500000000010014000003e5058d002800b0b9000dffc0402b08104829143914021814010914 +01091415470f100116102aa02a01002a102ac02ae02a0439a02af02a022ab8ffc040142b3048 +2f2a01102a01502a01702a802a902a032ab8ffc0b31f22482ab8ffc0402b131648001f478024 +01002410242024c024d024e024060824255028001f151024501322151e050519520a10003fed +3311333f33ed3232323fed012f5e5d71ed322b2b5d7172722b725e5d7110dc5e5ded325e5d5d +5d31302b01140e02073e0333321e021511171521353711342623220e02071117152135371127 +35210146010103021c50575724365a412572fe6b7d51551c3f3e36127ffe64778c013203f60e +282b280d10241e131e426a4bfd96192d2d19025e535906080b04fd13192d2d190502182d0000 +000100290000029803c50018006bb3040a0102b8ffd8402f090f48131f016f017f0103010109 +47000e100e200ec00ed00ee00e06080e1f1a5f1a02401a01561366130213031802b8ffc04010 +090c48020218100f50120f090e500c15003fed323fed3f332f2b10c9335d0171722f5e5ded32 +2f5d3231302b5d01152327220e020711171521353711273521173e033302982b3a1c40403b16 +a1fe42777701120917505d5d2403c5fe6e080d120afd42192d2d190320192d7513312c1e0002 +004effec03b203c5000b001f008c403c840a940a02050a018b089b08020a08018b049b040209 +04018402940202060201080c4800210021202102102130215021e02104002120214021033b21 +b8ffc04016414a489f2101702101402160218021a0210460210121b8ffc0400e252e48164806 +115009101b500316003fed3fed012fed2b5d7172722b5e5d717210deed31305e5d5d5d5d5d5d +5d5d01140223222635343633321607342e0223220e0215141e0233323e0203b2d6e2d4d8d8dc +d6dab41a3d64494a6038161638604a49643d1a01dbefff00fef1eefcf7f36199693737699961 +629a6b39396b9a0000000001001bffec03dd03ac001d0098405917400810480c093c09020c08 +3c0802080f06470f0bef0b02140b1fa01f01001f101fc01fe01f0439001f201f301f401fe01f +05401f601f701fb01f04201f601f701f801fa01fb01f060047b019018f199f1902c019d01902 +19b8ffc04014080b4819071a50091d0f0603520f14160b500e15003fed3f33ed323f33ed3201 +2f2b5d7171ed5d71725e5d7110dc5e5ded3231305e5d5d2b0114163332363711273521111715 +21270e0323222e02351127352101394b553878388e013377feee081d5057582436583f237801 +1e010c53590f1002e7192dfc9a192d4c10221c121e42694b0266192d000000030058fe4603d9 +041b003400470059018d401779450156316631023120080c4848315831683188310431b8ffc0 +4009080c480218080b4832b8ffd8400e0810482428080c482718080b480db8ffe04056080f48 +1620080c481f38080d482028081048074722322e062304005548252240191d482540191d4822 +25222518870e010e4635401a1d4835354b482b0001bb0001040014000209005b545b01405b01 +345b01205b015bb8ffc04012596048805b01745b01605b01b45bc45b025bb8ffc0401b4d5448 +a05b01045b013f045b845ba45b03a45bc45bd45be45b045bb8ffc0b34148485bb8ffc0b3353d +485bb8ffc0b32b2f485bb8ffc040131e2148405b01345b01205b0102205b305b025bb8ffc040 +2e0f1a48393e491d301801180623322f042a0350481d380b0f481f482f4803a00b01480b480b +4350502a104350131c003fed3fed1239392f2f5d5d10cd3210ed111739012f5d33ed322b5d5f +7171712b2b2b2b71725e5d5d2b5d7171712b7272727210de5e5d5d71ed332f2bed5d1239392f +2f2b2b10ed12173910ed31302b2b2b2b2b2b2b002b2b5d012b5d5d01140623222627071e0133 +21321615140e0223222e0235343e02372e0335372635343e0233321e02173717071e01033426 +23210e0315141e0233323e0201323635342e0223220e0215141e020366c2b629531c3f034836 +011698933577c08c6b965e2a192d3e24122f2a1c9e9e34618e5a1c3a332609dd238b22212946 +47fe941523190e1739624a5a835629feb36d5b152f4c36374d311616304c0283a2a609068311 +1e8474417d613b233e5230213b37341a061b2a3722b24ad94f795129060709036f2b902673fc +ba3940122f343519243b2a18233f5602397d7f3f5d3c1e1e3c5d3f3f5f3f1f0000020021fe4c +03b003c50021003000904065692f792f02061d018411941102061101840b940b02030b010806 +01010922480e32403201003280320239403201503270329032d032f0320570329032d032034f +32012b16041c47002110212021d021040821211c501e1b2e5013162a27510409100050030f00 +3fed3f33ed323fed3fed32012f5e5ded3232325d5d71725e5d7210deed31305e5d5e5d5d5d5d +5d5d13273521173e0333321e0215140e02232226271e031d01171521353701342e0223220607 +111e01333236986b0108021539424a26588c623334689d6933713301030101a4fe4077026422 +415e3b306d262a663384780366192d37121d150c3e7bb57673b983460b0b0c1f211c09fe182f +2f18034e66905b2a1110fd110809db0000010014ffec022d0481001900574039023808114804 +0601af1b01c01b013f1b4f1b020a0e47035014601402141407000310032003030803040c5009 +40090e4809070b0f1511510016003fed333f33ce2bed32012f5e5d33332f5d10ed325d5d7231 +305d2b052226351123353f01331533152311141633323637150e03014e605f7b7d653fd7d73b +3025491f0f313b4214726702932d27d5d554fd7f41420a06410a140f0a00000000010098feee +0260058d00070178401f070402140244025402040c020b0901fde40901d00901b409c40902a0 +090109b8ffc0400beff4481009200930090309b8ffc04012e8eb48b009c00902640984099409 +a4090409b8ff804011dde0480409140902d409f40902c0090109b8ffc04029d2d64860090154 +0901300940090204091409240903cbb409d409e40903a00901840994090270090109b8ffc040 +9eb7c1489b09ab09bb09038409013b094b0902bb09db09eb090394090109409da0480409019b +7b098b09eb0903bb09cb09fb09037409012b093b0902ab09db090284090109406a6d48040901 +69f409014b095b09bb09031b092b093b095b096b098b099b09cb09080f0901ff0901029f09af +09df09ef09045009010f090139ff0901c009014009d00902df090180090104f001400e114801 +03f5020006f500002fed3fed012f2bed5d5d7172725e5d5d5d5f5d717172725e5d2b5d5d7171 +71725e5d2b5d5d7171712b727272725e5d5d5d5d2b5d5d712b71712b722b727272725e5dcd5e +5d32313013112115051105159801c8fed70129feee069f2f29fa11292f000001003b000006e1 +053d001800a9402001180c114800180b114817000101000d0d08180e175a3012401250120312 +1a1ab8ffc040151317484f1a01710c810c910c03430c530c630c030cb8ffe84036080b480c02 +02035c600880080208820d920d020c0d1c0d020d0602111803095f0e0c0b0303121703085f00 +010f011f01020815010612003f33335e5d1133ed17323f3333ed173212395d5d012f5ded322f +322b5d5d5d2b10dc5ded323212393d2f333331305d2b2b212301111715213537112735210901 +21150711171521353711035e23fe15b4fe37acac019601b401dc0180acacfde0b40481fbcf1b +35351b049e1a35fc0403fc351afb621b35351b043100000000020000ffec03b2058d0010002a +008f40100b230108080f180f020e031e131e021eb8ffd8403a080b480048072017200210202c +402c01002c802c0239102c902c02402c602c802c902cb02cc02ce02c07202c602c802cc02c04 +1a0b47df2a012ab8ffc04013080c482a0e5025161a0a0a05511d1011501400003fed3fed3210 +c93fed012f2b5ded325d71725e5d7210de5e5ded3130002b5d015e5d005e5d01342e0223220e +0207111e013332360127352111140e02073e0133321615140e0223222e022702fe2545613b18 +373632122a6c338a7cfd8b89012f010103012d814ec0cd346ca5713063605a2601f0668b5625 +04090c08fd170808d8042e182dfeb01331353518232be9ec77bf86480b12190f000000010000 +ffec023905460003004cb90000ffe840271b20480a02010a021a022a02ba02ea02fa02060902 +181b20480005013c6005a005024003010301b8ffb0b7080d480102040013003f3f012f2b2f5d +715e5d31302b5e5d712b17230133646401d76214055a000000010054ffec02d303c5003500a1 +40244a328a32027c158c15023a164a167a168a1604053315332533033c1a4c1a7c1a8c1a0402 +b8ffd84017090d481e18090c48254010154825251346003720370137b8ffc040301e21484f37 +5f37af37032d461c0b0b1c132d052a5021342644260226262110105005340b440ba40b03200b +010b0b0516003f332f5d5d10ed3f332f5d10ed123939012f332f10ed5d2b7110deed332f2b31 +302b2b5d005d5d5d5d01140e0223222e02273533171e0133323635342e0635343e0233321617 +1523272e0123220615141e0602d32754855e2f5b4e3a0d2d311f62425d652a44575b57442a2e +53734544823c2f2a1a5a3351552a45585c58452a01083f694b290b0f1005e7831c2851553241 +2c1d1e263c5a4340644423130ccd6d171850442e3b291e2029405c000001004afeee0212058d +000701a4400f040900190049005900040c0002f007b8ffc040280c1148070906091609360946 +0904fbf60901e40901d60901b409c40902a209017409840994090309b8ffc04012edf1481209 +01040901e409f40902d6090109b8ff80b6e3e74876090109b8ff804033dee148220901040914 +0902f40901e60901c409d40902a609b609027409840902620901340944095409030609160926 +0903cb09b8ffc04019c6c948a4090196090184090172090101400950096009030209b8ffc0b3 +bbbe4809b8ff804025b7ba489f09af0902800901df09ef090200099009a009c009049bc009d0 +09027f098f090209b8ffc040648c8f48ff090140097009d00903df09018009b009c009034f09 +0100090169f00901bf09019009a009024f095f090200091009025f096f09cf09039f09af0902 +0940464c4850098009020f0901396009c009024009d00902df090180090104f5050001f50000 +2fed3fed015d5d71725e5d5d2b5d7172727272725e5d5d5d5d71712b72725e5d5d71712b2b5f +725f727272722b5e5d5d5d5d5d5d5d5d71712b712b717172722b7272727272725e5d10de2bed +cd5e5d32313013352511253521114a0129fed701c8feee2f2905ef292ff961000001003b0000 +0598053d001300a0402f18075807023707011201520708075a131214131207135c0006100602 +0c06150015013f401501201501a015e0150212b8ffc840390810481208095c500e010e050815 +080203000508030f5f12021103090e5fd5130183130102601370130251130143130125133513 +0213070c12003f33335d5d5d5d5f5d5ded323f3333ed17325f5d012f5ded32322b5d71725e5d +10de5e5dfd32872b872bc4015d5d313001273521150711230111171521353711273521010483 +b401c9ac61fcc5b4fe37acac019602b204ee1a35351afb1204b6fb9a1b35351b049e1a35fc1f +000000010087ffe3017900d50013002740190096000a01000a100af00a03000a100af00a0308 +0a0f9b0513003fed012f5e5d7172ed313025140e0223222e0235343e0233321e02017913202d +191a2c201313202c1a192d20135c192c211313212c19192d201313202d000001003f000002aa +05a2002101af400d09061906290603080b2301fd23b8ffc0405ef8fb488b2301342344236423 +038423d423e423f42304702301142344235423642304542364237423b423e423f423060b231b +2302ccf02301c423d423e423038b230134236423742303a423d423e423f42304542364237423 +e423f4230523b8ffc0400ab0b3480b231b23029c23b8ffc0400c989b489b2301742384230223 +b8ffc04031898d48ab2301542364238423031b2301042301f42301bb2301642374238423031b +232b23020423016b6423842394230323b8ffc040906568484b2301042301f42301ab23bb2302 +9423012b235b23020423142302ab23bb23cb230304231423442354237423053afb2301b423d4 +2302a02301242334234423742384239423061023010200230120233023502380239023b023e0 +23f02308102320238023c02304180d0d1c470300211021202180210408211c21501f15001a50 +03190f1250095f0e010e0e0901003f332f5d10ed3f33ed323fed32012f5e5d32ed322f325d71 +725f72727272725e5d5d717171717172722b725e5d5d5d5d5d717171712b72722b5e5d2b5d71 +727272725e5d5d71717172722b5e5d31305e5d1323353735343e02333216171523272e012322 +0e021d01331523111715213537e1a2a22b5175492d461c312d10261c232c1a0afafacbfe048b +03583127426aa16d380b08cd7b0a0b1f4164469c54fcf6212d2d210000000001004effec034e +03c50027006d40270807880702080d880d0208090101190601011d131327290029013e402980 +29a029d029f0290529b8ffc0401f2a2d485f29af2902561d661d021d48790a890a020a185014 +0f102722510516003fed323f33ed012f5ded5d5d2b715e5d10ce322f3130005e5d015e5d5e5d +5d250e0323222e0235343e02333216171123272e0123220e0215141e0233323e0237034e1a48 +52592a7aad6e344378a56251983e372b256939416345231e4c81632247433b1739131d130a43 +80b97580b97738130cfefaa6151a2f649a6b5a91663805090c0700020050ffec034603c5001f +002a0074402d8914019813010b138b1302161b261b020918191829189918040826481f0b0b1f +2c002c013e802ca02cf02c032cb8ffc0b3434a482cb8ffc040172a2e48250148881601160050 +2525062050191006511116003fed3fed12392fed012f5ded322b2b715e5d10ce322f10ed3130 +5e5d5d5d5d5d0115141e0233323e0237150e0323222e0235343633321e021d0101220e021521 +342e020104153f725d1e42423e1a17414e582d75a1642ccebf4b836239fe9738513519019211 +2b4801d9124986673d05080a06380f1b160d407eba79f6f2285e9e7652019c2f567b4c4c7b56 +2f0000000001002f000003e103c5002300b6b90008ffe0402a091048040801080f10090c480f +10470b0beb0b02160b25a4250104251425c425e4250439a425f4250225b8ffc040182b30482b +2501142501c02501025025017025802590250325b8ffc0b31f224825b8ffc0402d131648001a +47801fc01f02001f101f201fc01fd01fe01f06081f2050230f1a100b1f500e1d151900001452 +0510003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d715f7172722b725e5d7110dc +5e5ded322b31305e5d2b013e0333321e021511171521353711342623220e0207111715213537 +1127352101441c4d545424365a412572fe6b7d51551c3e3c35127ffe6a7171010c036010241e +131e426a4bfd96192d2d190258535f06080b04fd13192d2d190320192d000001002b00000619 +03c5003c03bb4085043501e435f4350205351535253503043401e434f4340205341534253403 +0b2701eb27fb2702bf27cf27022720080d480b2801eb28fb2802bf28cf28022820080d480426 +01e426f4260205261526252603042501e425f42502052515252525030b1701eb17fb1702bf17 +cf17021720080d480b1601eb16fb1602bf16cf16021620080d4807b8ffc8400b0a1e48010611 +0621060310b8ffd840d00810480311010803082447292938184706139613020a133e463e763e +02293e01143e01063e01f8e43e01d23e01b43ec43e02a23e01943e01823e01743e01623e0154 +3e01063e163e263e463e04f23e01c43ed43ee43e03b23e01a43e01363e563e663e763e963e05 +243e01163e01043e01f43e01d63ee63e02c43e01963eb63e02843e01763e01593e01343e443e +02263e01123e01043e01c8f63e01b43ec43ed43e03a63e01943e01863e01723e01643e01503e +01423e01243e343e02123e01043e01f63e01e23e01d43e01c63e013eb8ff804017afb248523e +623e02443e01363e01243e01063e163e023eb8ff8040ffa4a748a23eb23e02943e01863e0172 +3e01643e01563e01243e343e02163e01043e0198d63ee63ef63e03a43eb43ec43e03963e0184 +3e01563e763e02443e01263e363e02023e123e02f43e01e63e01c43ed43e02b63e01843e943e +02363e563e763e03243e01063e163e02f63e01d43ee43e02c63e01a43e01963e01623e010150 +3e01443e01303e01043e143e243e0368f03e01d43ee43e02743eb43e02403e01043e243e343e +03f43e01db3e01b03ec03e02643e843ea43e03503e01243e343e443e03103e01043e01f43e01 +d03e01c43e01ab3e01903e01843e013b3e6b3e02203e01043e143e0238d43ee43e02603ea03e +02543e01403e01143e343e02405b943ec43ee43ef43e04803e01543e743e02403e01343e011b +3e01043e01e43e01c03e0102103e503e703e803eb03e050f3e01080033477038010038013839 +503c0f1318242933053850271636150821211c520d100032322d520510003fed3210c93fed32 +10c93f3333ed17323fed012f5d71ed325e5d5d5f5d5d7171717171717172727272725e5d5d5d +5d5d5d5d5d5d717171717171717172727272725e5d5d5d5d5f5d5d5d5d5d5d71717171717171 +7172727272727272725e5d5d5d5d5d5d5d5d5d2b71717171712b717171717272727272727272 +727272725e5d5d5d5d5d5d5d5d5d5d5d7171717171717171727272727272727272725e5d5d5d +5d10d45e5ded11392fed3231305f5e5d2b005d2b012b5d5d712b5d5d715d5d715d5d712b5d5d +712b5d5d715d5d715d5d71013e03333216173e0333321e021511171521353711342623220e02 +07161511171521353711342623220e02071117152135371127352101461c4d52542445751d20 +5a615f2636583f2379fe558c4b551a45453f15118dfe428b55551c3d3b35128dfe5677770113 +036010241e133439122720141e426a4bfd96192d2d1902585359080a0d043641fd96192d2d19 +0258535906080b04fd19192d2d190320192d00020048ffec037103c1002a0036009740216b26 +011b172b17020e163e160212200b0f481d122d12020c12010d110101040103b8ffe0401d0911 +48010301081c0a364706388038015f380140380180380131471427b8ffc0401f0a0e4827274f +1401142626222b501c1c003633510a0f160650091522500010003fed3fed3f33ed3211392fed +12392f012f5d332f2b10ed5d71727210dced323231305e5d2b5d5d5d5d2b5d5d5d01321e0215 +11171521270e0323222e0235343e043f0135342e022322060f0123353e0113070e0315143332 +363701d1406e502d75fefe130f33485f3a445d38181e3649555f308d0e21382a306225223841 +8bd6833b56381c8f44633203c1183a634bfd85192d5e0f2823182a4b673c3e5b3e2716080104 +932a45321c1a1575cd0e15fe1e0402132e503eb01f1800010000ffec040003ac000e011b401e +5a0a6a0a8a0a035a006a0002550865080255036503020306041604020907b8ffe0b3080c4806 +b8ffe0b3080c4801b8ffc8b3090c4809b8ffe04024090c480a01520100014b090a1409090a02 +01520809084703021403030202010909011e09b8ffe040120d11480909030a0b001b002b0003 +22001010b8ffc0b74860480010014710b8ffc04011284648e01001b410c410d41003a0100110 +b8ffc040351d224810102010301003041001a410c41002801001026010701002080300080a03 +03500c050f4009010509650902f5090109010216003f33335d71713f33ed1732012f325d5f5d +5d71712b7171712b5e5d2b10ce5e5d3211393d2f2b5e5d33338718102b872bc48718102b872b +c43130012b2b2b2b5e5d5f5d5d5d5d09012301273521150709012735211503a6fe874afe7d60 +01b6950112010695015c036afc82037a192d2d1bfd77028b192d2d000001002900000210058d +00090087402805472b00010b00013a5b006b007b009b00041b005b00bb00cb00047b009b00ab +0003000bc40b010bb8ffc0b33f46480bb8ffc0401c383b48900b0102000b100b500ba00bb00b +c00b06900ba00bf00b030bb8ffc0b32d30480bb8ffc0400c0d1048065009000005500315003f +ed323fed012b2b5d715f722b2b7210dc5d71725e5d71ed313025171521353711273521016fa1 +fe19a0a0014646192d2d190502182d000000058d00150048053d000f0070053d000f00000000 +0000000000000000000003ac001900000000ffec00000000ffec00000000ffec0000fe4cfffa +0000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +080000000000009800a600b4008d00d9005d000000000000004600500069007500d900000000 +000000000000000000c100d10069000000000050005a00aa008a000000000000000000000000 +0000000000000000000000ac00b8005a0000000000500060008f009900000000000000000000 +0000000000000000000000000050009700b300c700d9000000000000000000000050006d007b +008d00b500d9013100c90000016f00f20108008100c500b800f20131004d0000000000000000 +000000000000000000000000020e000000660000000000660000000000000000000002db009b +028b004a02e40000009900660000022f021000c4009c015e000001740046008d000000000000 +0046003c000000000000000000000000000000000087007d0000005300680076008700000000 +0000053dfcda0009fff3008f007d004a00820041006c0000000000000000000000bc019f030a +00000354009f00a600c100000000002f00000000000000000748036a02b60202fd9300000091 +00670091006101d90000028d03410044051101b40000404559585554535251504f4e4d4c4b4a +494847464544434241403f3e3d3c3b3a393837363531302f2e2d2c28272625242322211f1814 +11100f0e0d0b0a090807060504030201002c4523466020b02660b004262348482d2c45234623 +6120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0 +206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523 +462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320 +b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921 +212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b1 +0a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003 +25456164b050515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b007 +43650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c +8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b52584544 +1b2121592d2c4b515845441b2121592d2c01b005251023208af500b0016023edec2d2c01b005 +251023208af500b0016123edec2d2c01b0062510f500edec2d2c462346608a8a462320468a60 +8a61b8ff8062232010238ab10c0c8a70456020b0005058b00161b8ffba8b1bb0468c59b01060 +68013a2d2c2045b0032546524bb013515b58b0022546206861b00325b003253f2321381b2111 +592d2c2045b00325465058b0022546206861b00325b003253f2321381b2111592d2c00b00743 +b006430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f +2b59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648b +b84000626023212d2c4b53588ab004254964234569b0408b61b08062b020616ab00e23442310 +b00ef61b21238a121120392f592d2c4b535820b0032549646920b00526b0062549642361b080 +62b020616ab00e2344b0042610b00ef68a10b00e2344b00ef6b00e2344b00eed1b8ab0042611 +1220392320392f2f592d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045 +b0005458b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c4b5158 +b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121591b2121592d2c45b0 +1443b0006063b0016069442d2cb02f45442d2c452320458a60442d2c45234560442d2c4b2351 +58b90033ffe0b134201bb3330034005944442d2cb0164358b00326458a586466b01f601b64b0 +20606620581b21b04059b001615923586559b02923442310b029e01b2121212121592d2cb002 +4354584b53234b515a58381b2121591b21212121592d2cb0164358b004254564b02060662058 +1b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b0052520 +46b0042523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059 +b0042510b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b03 +59b00525b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d +2c02b00425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0 +022543482121212d2c452320451820b00050205823652359236820b040505821b04059235865 +598a60442d2c4b53234b515a5820458a60441b2121592d2c4b545820458a60441b2121592d2c +4b53234b515a58381b2121592d2cb000214b5458381b2121592d2cb002435458b0462b1b2121 +2121592d2cb002435458b0472b1b212121592d2cb002435458b0482b1b21212121592d2cb002 +435458b0492b1b212121592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0 +00535820b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140408a70 +4560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d2cb012004b014b5442 +2d2cb1020042b123018851b1400188535a58b910000020885458b202010243604259b1240188 +5158b920000040885458b2020202436042b12401885458b2022002436042004b014b5258b202 +0802436042591bb940000080885458b202040243604259b94000008063b80100885458b20208 +0243604259b94000010063b80200885458b202100243604259b94000020063b80400885458b2 +02400243604259595959592d2c451868234b51582320452064b04050587c59688a6059442d2c +b00016b00225b0022501b001233e00b002233eb10102060cb00a236542b00b234201b001233f +00b002233fb10102060cb006236542b0072342b00116012d2c7a8a104523f5182d0000000001 +0000000111eb114dce6a5f0f3cf5001f080000000000d065c68f00000000d065c68ffe96fd93 +080e07da000000080002000000000000000100000721fe450057086bfe96fe98080e00010000 +000000000000000000000000002202ec0044040000b40400004e0400005a0400006204000028 +04000042040000580400007704e300250400001402aa00290400004e0400001b040000580400 +0021023900140200000002aa0098071d003b0400000002390000031d005402aa004a05c7003b +0200008702aa003f038d004e038d00500400002f0639002b038d004804000000023900290000 +002c006400cc013e01ec024c02ec03940412053205c80626069e071a085e08ee094209420a12 +0a940b1e0b520bec0cd20d480d7c0e860ef60f701002123612d0137e13d80000000100000022 +01520054007d000500020010002f005a0000040b063900030002b10960be01070001003f0107 +000100bf0104405901e0fd01cffd0120fd017ffb0150fb0180f290f202f1f0291faff0bff002 +4fef5fefafef0330ef010fef010800ed10ed50ed60ed70eda0ed060a0fec010c00eb0111e3e0 +381fdf33dd55de33dc5500dd013c50dd80ddb0dd03b8ffc0405add080b46dd010355dc03161f +10c020c030c070c080c0d0c0e0c0f0c00880be90be02bdbc2f1f0fbc1fbc021fb34fb37fb303 +60a8010fa81fa802509b609b02909c010f9c1f9c2f9c039a992e1f99471e1f9796271fe096f0 +9602b8ffc04035960d11465f95017f928f9202708680869086038085908502af76bf76027350 +291f6f6e2b1f6e472a1f19331855073303550603ff1fb8ffc0404462252846605f401f5f5029 +1f5b5a301f5a47291f1333125505010355043303550f031f033f034f036f038f03bf03070852 +501e1f51501e1fe050f050020f4f1f4f2f4f03b8ffe040614b212846604a704a804a03494629 +1f4847381f0f471f472f47cf47df47ef47065f47019f47019f46af46bf46034046292f464046 +1e21461c481b551633155510330f5502010055013300552f0fff0f020f0f5f0f7f0f030f003f +00028016010501b80190b154532b2b4bb807ff524bb008505bb00188b02553b00188b040515a +b00688b000555a5b58b101018e59858d8d00421d4bb0325358b0601d594bb0645358b0401d59 +4bb0805358b0101db1160042597373742b2b2b2b2b012b2b737374752b2b73002b75742b2b5e +732b2b2b012b2b002b2b2b2b2b2b012b2b002b73017373007373012b732b2b2b737300737373 +017300732b017373002b2b2b735e732b2b012b5e735e73005e735e73737301732b7300737373 +737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 4 4 188 129 +%%EndPageSetup +q 4 4 184 125 rectclip q +0 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +54.398 90.961 m 48.398 90.961 l S Q +BT +10 0 0 10 27.8 41.279997 Tm +/f-0-0 1 Tf +(100)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 71.039 m 48.398 71.039 l S Q +BT +10 0 0 10 28.171094 61.199997 Tm +/f-0-0 1 Tf +[(1)37(10)]TJ +ET +q 1 0 0 -1 0 135.199997 cm +54.398 51.121 m 48.398 51.121 l S Q +BT +10 0 0 10 27.8 81.119997 Tm +/f-0-0 1 Tf +(120)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 31.199 m 48.398 31.199 l S Q +BT +10 0 0 10 27.8 101.039997 Tm +/f-0-0 1 Tf +(130)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 48.398 11.281 l S Q +BT +10 0 0 10 27.8 120.959997 Tm +/f-0-0 1 Tf +(140)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 90.961 m 54.398 96.961 l S Q +BT +10 0 0 10 51.9 23.279997 Tm +/f-0-0 1 Tf +(9)Tj +ET +q 1 0 0 -1 0 135.199997 cm +70.801 90.961 m 70.801 96.961 l S Q +BT +10 0 0 10 65.8 23.279997 Tm +/f-0-0 1 Tf +(16)Tj +ET +q 1 0 0 -1 0 135.199997 cm +91.84 90.961 m 91.84 96.961 l S Q +BT +10 0 0 10 86.84 23.279997 Tm +/f-0-0 1 Tf +(25)Tj +ET +q 1 0 0 -1 0 135.199997 cm +117.602 90.961 m 117.602 96.961 l S Q +BT +10 0 0 10 112.6 23.279997 Tm +/f-0-0 1 Tf +(36)Tj +ET +q 1 0 0 -1 0 135.199997 cm +148 90.961 m 148 96.961 l S Q +BT +10 0 0 10 143 23.279997 Tm +/f-0-0 1 Tf +(49)Tj +ET +q 1 0 0 -1 0 135.199997 cm +183.121 90.961 m 183.121 96.961 l S Q +BT +10 0 0 10 178.12 23.279997 Tm +/f-0-0 1 Tf +(64)Tj +ET +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 54.398 90.961 l 183.121 90.961 l S Q +BT +-0.000000000000001837 10 -10 -0.000000000000001837 11.76 45.603434 Tm +/f-0-0 1 Tf +[(Throughput [Mb/s])]TJ +10 0 0 10 94.139922 5.279997 Tm +[(No. of cores)]TJ +0.546008 7.2 Td +(none)Tj +ET +0.12549 g +1.6 w +q 1 0 0 -1 0 135.199997 cm +65.602 54.961 m 94 54.961 l 54.398 21.281 m 70.801 19.039 l 91.84 27.84 + l 117.602 29.52 l 148 31.762 l 183.121 48.32 l S Q +0 g +BT +10 0 0 10 99.6 65.279997 Tm +/f-0-0 1 Tf +[(macvlan)]TJ +ET +0.12549 g +[ 4 6.4] 0 d +q 1 0 0 -1 0 135.199997 cm +65.602 66.961 m 94 66.961 l 54.398 36.961 m 70.801 38.879 l 91.84 35.602 + l 117.602 36 l 148 41.52 l 183.121 47.922 l S Q +0 g +BT +10 0 0 10 99.6 53.279997 Tm +/f-0-0 1 Tf +(veth)Tj +ET +0.12549 g +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 135.199997 cm +65.602 78.961 m 94 78.961 l 54.398 34.16 m 70.801 32.879 l 91.84 40.398 + l 117.602 42.48 l 148 53.359 l 183.121 52 l S Q +0 g +0.8 w +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +54.398 11.281 m 54.398 90.961 l 183.121 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/graphics/openfoam-1.eps b/graphics/openfoam-1.eps @@ -0,0 +1,607 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:19:46 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 4 4 201 129 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 46 /period put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 57 /nine put +Encoding 67 /C put +Encoding 76 /L put +Encoding 78 /N put +Encoding 84 /T put +Encoding 88 /X put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 97 /a put +Encoding 99 /c put +Encoding 101 /e put +Encoding 102 /f put +Encoding 104 /h put +Encoding 105 /i put +Encoding 108 /l put +Encoding 109 /m put +Encoding 110 /n put +Encoding 111 /o put +Encoding 114 /r put +Encoding 115 /s put +Encoding 116 /t put +Encoding 118 /v put +/CharStrings 32 dict dup begin +/.notdef 0 def +/six 1 def +/zero 2 def +/nine 3 def +/one 4 def +/two 5 def +/five 6 def +/three 7 def +/four 8 def +/T 9 def +/i 10 def +/m 11 def +/e 12 def +/space 13 def +/bracketleft 14 def +/s 15 def +/bracketright 16 def +/N 17 def +/o 18 def +/period 19 def +/f 20 def +/c 21 def +/r 22 def +/n 23 def +/L 24 def +/X 25 def +/C 26 def +/v 27 def +/t 28 def +/h 29 def +/a 30 def +/l 31 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa00002638000002166670676d73d323b00000 +285000000705676c7966623878d40000009c0000259c6865616406a2e97300002f5800000036 +686865610e1f056900002f9000000024686d747876e6088600002fb4000000806c6f63619ffe +956000003034000000426d61787004f2083b000030780000002070726570409b59c200003098 +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd000000020058ffec03c3054c0026003600ac404b82240114 +14241454146414741405341c641c741c033535953502040301042514252425842504082c6f00 +df130113400d104813138600010038003840380240386038a038e038041f326f0ab8fff0402c +0c0f48300a400a020a1f32322f748622012222271a730f0014101420140314140f0727738805 +017905010519003f5d5ded3f332f5d10ed12392f5ded3210c9012f5d2bed325d7110ce5d322f +2b7110ed31305e5d5d5d5d5d005d01140e0223222e01023534123e01333216171523272e0323 +220e02073e0133321e0201323e0235342623220607141e0203c3356899646ead773f538bb662 +4b9a3e4223122f3333174771522f0448ab5454875e32fe6240583617677044954a1f446801a0 +68a2703a56ab00ffaab60106aa50140fe7890a100c07448ad08d26302f6092fe392a557f54a4 +921a1890de994f0000000002004effec03b20552000d00210061b51f100b0f481bb8fff0403d +0c0f48561566150211100c0f48770c01790a017806017703010e6f0023002340230240236023 +a023e02304186f40089008a008030813730b071d730519003fed3fed012f5ded5d7110deed31 +305d5d5d5d2b5d2b2b0114020e0123220211101233321203342e0223220e0215141e0233323e +0203b2356ca671d4d8d8dcd4dcb8193b63494a5f361515365f4a49633b1902a4a8fefcb15b01 +640154014d0161fea3feaf90e29b51519be29090e59f55559fe5000000020042ffec03ac054c +00280038009b406d37180c0f488927019a1f011e280c0f483b1e011b162b16026a0d7a0d9a0d +030a261a262a260334216f0a3a103a503a02503a703ab03af03a042c6f0014146f007f000200 +2134343174092489249924032424291c73111f162f163f160316161119297306058605960503 +080507003f5e5ded3f332f5d10ed12392f5ded3210c9012f5d332f10ed5d7110deed32313000 +5d015d5d5d2b5d5d2b13343e0233321e011215140e04232226273533171e0333323e02370e01 +23222e0201220615141e0233323637342e02423c70a06472a66d35274661748345588f444123 +132f33351946795a3705429a59548c653701b28179213f5b3b42843e1c3c6203a4679f6b3750 +a7fefeb181cb9a6d441f1111e890090e0b053b84d398253033659601bab3a9527247201c1993 +df954b000000000100b4000003850548000a003e402a100c500c02500c700cb00cf00c04006e +40100501000540055005a005b00505080507800a060005730318003fed323f1acd012f5e5d71 +1aed5d713130250515213525110535253302730112fd2f0113fef1018734501b35351b044661 +35de00000001005a0000038f054c0022007f4055251e010519951902080c121c123c124c1204 +890f012a0401141402096f1a22221a24002440240240246024a024e024043421442102213002 +400202020917218f1201001210120212120c7387170117060221760118003fed323f5ded332f +5d5d111239012f5d335d5d7110ce322f10ed11392f3130005d5d015d5e5d5d2901353e053534 +2623220e020f0123113e0133321615140e040721038ffccb65a98765432176861e3b362f1223 +424c9356dcdd2b507494b16402b2935e95817680945d8288090f130aa401021219b7a7528c81 +7d86975b00010077ffec03b0053d002c007940318502010f20090d4806080105031503250303 +082626281a6f7605860502052e002e402e02402e602ea02ee02e042870230eb8ffc0401d090d +480e221f730000152776240615730a700f800f020f0f010f0f0a19003f332f5d5d10ed3fed12 +392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215140e022322262703 +33171e0333323e0235342e02232206072311211521113e0301e570ac743b3976b3795ea94c0b +422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d5e91655f9a6e3c15 +16011abc0a140f092f5678494e744e271008029999fe54040807050000010062ffec03b0054c +003c00b0b386370134b8ffe04073080b482b20090d488c12010a20090d48050301083b3a4b3a +023a1b863501356f205f1b6f1b027f208f20022c1b20201b2c0309156f7600860002003e003e +403e02403e603ea03ee03e0420093009400903093a1b731c1c3210002b102b022b2b25733207 +107305700a800a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392fed39012f5d5d +7110de5ded1117392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e02232226270333 +171e0333323e0235342e022f0135373e0135342e0223220e020f0123113e0333321615140e02 +071e0103b04079b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c1b3a5d431e3d +383012234223464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f092e5373444e +673f1d0308520906808241614020090f130aa4010209100b07a2a83f6d54390b15a700020028 +000003e00544000a000e008140100c38161d483506450655060356060106b8fff04012131a48 +101050100250107010b010f010040db8ffe84031161b480d0440141948040a0a08016e0e0600 +0210022002400250027002a002b00208080208050e75000303010b07060118003f3f3312392f +33ed3232012f5e5d3333ed32322f2f2b332b5d7131302b5d71002b0111231121350133113315 +01230121032aacfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332fd5d0001 +0025000004c1053d001701f140ff050d150d250d030a081a0802090f1901fe0f194f195f197f +198f19bf19df19ff1908f019018f199f19cf19037019010f191f194f1903cf19df19ef1903b0 +19019f19018019011f192f195f1903001901ce6f19af19bf19ef19045019010f192f193f1903 +ff1901d01901bf1901a019013f194f197f19032019017f199f19bf19cf19ff19056019014f19 +013019010f19019def1901d019012f196f197f19af1904101901bf19cf19ef19ff19049019a0 +19027f19016019010f193f1902e019013f195f197f198f19bf19052019010f19016bf01901cf +1901a019018f19017019010f191f194f1903f01901cf1901b019015f196f198f199f19043019 +40190240871f1901001901df19018019b019025f190100193019023bff1901e01901cf1901b0 +19014f195f198f1903301901b019e019f019038f19017019015f190100192019301903f01901 +df1901c019019f190170198019021f192f193f1903001901500c800cb00cc00c040c025f098f +09bf09cf090409155a020d00090109091403600a0315025f0012003fed323fed32332f5d3301 +2ffdcc5d10cc5d5d5d5d5d5d5d5d71717171717272727272725e5d5d5d5d7171717171717172 +72727272725e5d5d5d5d7171717171727272725e5d5d5d5d5d7171717171717272725e5d5d5d +5d5d5d71717171725e5d31305e5d5d213537112322060f012311211123272e032b0111171501 +3bd53383b2251b43049c441b12475e6f3a31d5351b04970c08d1013bfec5d104060503fb6b1b +350000000002002b00000212054c0013001d009c4053004a0b0a9b0aab0a03eb0afb0a02840a +010a19470b142b14024b145b149b14fb14040b142b143b14ab14bb14eb1406101440393d4814 +1f041f141f0239f41f01901f0102501fa01fb01fc01f04901fa01f021fb8ffc0b32d30481fb8 +ffc0b3181b481fb8ffc040100d104805530f041a501d0f1419501715003fed323fed3fed012b +2b2b5d715f72725e5d10dc2b5e5d7172fdd45d5d71ed313001140e0223222e0235343e023332 +1e0203171521353711273521017b111e281616271e11111e271616281e110aa1fe19a085012b +04df16271e11111e271616281e11111e28fb51192d2d190320192d000001002b0000061903c5 +003c03bb4085043501e435f4350205351535253503043401e434f43402053415342534030b27 +01eb27fb2702bf27cf27022720080d480b2801eb28fb2802bf28cf28022820080d48042601e4 +26f4260205261526252603042501e425f42502052515252525030b1701eb17fb1702bf17cf17 +021720080d480b1601eb16fb1602bf16cf16021620080d4807b8ffc8400b0a1e480106110621 +060310b8ffd840d00810480311010803082447292938184706139613020a133e463e763e0229 +3e01143e01063e01f8e43e01d23e01b43ec43e02a23e01943e01823e01743e01623e01543e01 +063e163e263e463e04f23e01c43ed43ee43e03b23e01a43e01363e563e663e763e963e05243e +01163e01043e01f43e01d63ee63e02c43e01963eb63e02843e01763e01593e01343e443e0226 +3e01123e01043e01c8f63e01b43ec43ed43e03a63e01943e01863e01723e01643e01503e0142 +3e01243e343e02123e01043e01f63e01e23e01d43e01c63e013eb8ff804017afb248523e623e +02443e01363e01243e01063e163e023eb8ff8040ffa4a748a23eb23e02943e01863e01723e01 +643e01563e01243e343e02163e01043e0198d63ee63ef63e03a43eb43ec43e03963e01843e01 +563e763e02443e01263e363e02023e123e02f43e01e63e01c43ed43e02b63e01843e943e0236 +3e563e763e03243e01063e163e02f63e01d43ee43e02c63e01a43e01963e01623e0101503e01 +443e01303e01043e143e243e0368f03e01d43ee43e02743eb43e02403e01043e243e343e03f4 +3e01db3e01b03ec03e02643e843ea43e03503e01243e343e443e03103e01043e01f43e01d03e +01c43e01ab3e01903e01843e013b3e6b3e02203e01043e143e0238d43ee43e02603ea03e0254 +3e01403e01143e343e02405b943ec43ee43ef43e04803e01543e743e02403e01343e011b3e01 +043e01e43e01c03e0102103e503e703e803eb03e050f3e01080033477038010038013839503c +0f1318242933053850271636150821211c520d100032322d520510003fed3210c93fed3210c9 +3f3333ed17323fed012f5d71ed325e5d5d5f5d5d7171717171717172727272725e5d5d5d5d5d +5d5d5d5d717171717171717172727272725e5d5d5d5d5f5d5d5d5d5d5d717171717171717172 +727272727272725e5d5d5d5d5d5d5d5d5d2b71717171712b7171717172727272727272727272 +72725e5d5d5d5d5d5d5d5d5d5d5d7171717171717171727272727272727272725e5d5d5d5d10 +d45e5ded11392fed3231305f5e5d2b005d2b012b5d5d712b5d5d715d5d715d5d712b5d5d712b +5d5d715d5d715d5d71013e03333216173e0333321e021511171521353711342623220e020716 +1511171521353711342623220e02071117152135371127352101461c4d52542445751d205a61 +5f2636583f2379fe558c4b551a45453f15118dfe428b55551c3d3b35128dfe56777701130360 +10241e133439122720141e426a4bfd96192d2d1902585359080a0d043641fd96192d2d190258 +535906080b04fd19192d2d190320192d00020050ffec034603c5001f002a0074402d89140198 +13010b138b1302161b261b020918191829189918040826481f0b0b1f2c002c013e802ca02cf0 +2c032cb8ffc0b3434a482cb8ffc040172a2e4825014888160116005025250620501910065111 +16003fed3fed12392fed012f5ded322b2b715e5d10ce322f10ed31305e5d5d5d5d5d0115141e +0233323e0237150e0323222e0235343633321e021d0101220e021521342e020104153f725d1e +42423e1a17414e582d75a1642ccebf4b836239fe97385135190192112b4801d9124986673d05 +080a06380f1b160d407eba79f6f2285e9e7652019c2f567b4c4c7b562f00000000010098feee +0260058d00070178401f070402140244025402040c020b0901fde40901d00901b409c40902a0 +090109b8ffc0400beff4481009200930090309b8ffc04012e8eb48b009c00902640984099409 +a4090409b8ff804011dde0480409140902d409f40902c0090109b8ffc04029d2d64860090154 +0901300940090204091409240903cbb409d409e40903a00901840994090270090109b8ffc040 +9eb7c1489b09ab09bb09038409013b094b0902bb09db09eb090394090109409da0480409019b +7b098b09eb0903bb09cb09fb09037409012b093b0902ab09db090284090109406a6d48040901 +69f409014b095b09bb09031b092b093b095b096b098b099b09cb09080f0901ff0901029f09af +09df09ef09045009010f090139ff0901c009014009d00902df090180090104f001400e114801 +03f5020006f500002fed3fed012f2bed5d5d7172725e5d5d5d5f5d717172725e5d2b5d5d7171 +71725e5d2b5d5d7171712b727272725e5d5d5d5d2b5d5d712b71712b722b727272725e5dcd5e +5d32313013112115051105159801c8fed70129feee069f2f29fa11292f0000010054ffec02d3 +03c5003500a140244a328a32027c158c15023a164a167a168a1604053315332533033c1a4c1a +7c1a8c1a0402b8ffd84017090d481e18090c48254010154825251346003720370137b8ffc040 +301e21484f375f37af37032d461c0b0b1c132d052a5021342644260226262110105005340b44 +0ba40b03200b010b0b0516003f332f5d5d10ed3f332f5d10ed123939012f332f10ed5d2b7110 +deed332f2b31302b2b5d005d5d5d5d01140e0223222e02273533171e0133323635342e063534 +3e02333216171523272e0123220615141e0602d32754855e2f5b4e3a0d2d311f62425d652a44 +575b57442a2e53734544823c2f2a1a5a3351552a45585c58452a01083f694b290b0f1005e783 +1c28515532412c1d1e263c5a4340644423130ccd6d171850442e3b291e2029405c000001004a +feee0212058d000701a4400f040900190049005900040c0002f007b8ffc040280c1148070906 +0916093609460904fbf60901e40901d60901b409c40902a209017409840994090309b8ffc040 +12edf148120901040901e409f40902d6090109b8ff80b6e3e74876090109b8ff804033dee148 +2209010409140902f40901e60901c409d40902a609b609027409840902620901340944095409 +0306091609260903cb09b8ffc04019c6c948a409019609018409017209010140095009600903 +0209b8ffc0b3bbbe4809b8ff804025b7ba489f09af0902800901df09ef090200099009a009c0 +09049bc009d009027f098f090209b8ffc040648c8f48ff090140097009d00903df09018009b0 +09c009034f090100090169f00901bf09019009a009024f095f090200091009025f096f09cf09 +039f09af09020940464c4850098009020f0901396009c009024009d00902df090180090104f5 +050001f500002fed3fed015d5d71725e5d5d2b5d7172727272725e5d5d5d5d71712b72725e5d +5d71712b2b5f725f727272722b5e5d5d5d5d5d5d5d5d71712b712b717172722b727272727272 +5e5d10de2bedcd5e5d32313013352511253521114a0129fed701c8feee2f2905ef292ff96100 +0001003b00000598053d001300a0402f18075807023707011201520708075a13121413120713 +5c00061006020c06150015013f401501201501a015e0150212b8ffc840390810481208095c50 +0e010e050815080203000508030f5f12021103090e5fd5130183130102601370130251130143 +1301251335130213070c12003f33335d5d5d5d5f5d5ded323f3333ed17325f5d012f5ded3232 +2b5d71725e5d10de5e5dfd32872b872bc4015d5d313001273521150711230111171521353711 +273521010483b401c9ac61fcc5b4fe37acac019602b204ee1a35351afb1204b6fb9a1b35351b +049e1a35fc1f00000002004effec03b203c5000b001f008c403c840a940a02050a018b089b08 +020a08018b049b04020904018402940202060201080c4800210021202102102130215021e021 +04002120214021033b21b8ffc04016414a489f2101702101402160218021a0210460210121b8 +ffc0400e252e48164806115009101b500316003fed3fed012fed2b5d7172722b5e5d717210de +ed31305e5d5d5d5d5d5d5d5d01140223222635343633321607342e0223220e0215141e023332 +3e0203b2d6e2d4d8d8dcd6dab41a3d64494a6038161638604a49643d1a01dbefff00fef1eefc +f7f36199693737699961629a6b39396b9a00000000010087ffe3017900d50013002740190096 +000a01000a100af00a03000a100af00a03080a0f9b0513003fed012f5e5d7172ed313025140e +0223222e0235343e0233321e02017913202d191a2c201313202c1a192d20135c192c21131321 +2c19192d201313202d000001003f000002aa05a2002101af400d09061906290603080b2301fd +23b8ffc0405ef8fb488b2301342344236423038423d423e423f4230470230114234423542364 +2304542364237423b423e423f423060b231b2302ccf02301c423d423e423038b230134236423 +742303a423d423e423f42304542364237423e423f4230523b8ffc0400ab0b3480b231b23029c +23b8ffc0400c989b489b2301742384230223b8ffc04031898d48ab2301542364238423031b23 +01042301f42301bb2301642374238423031b232b23020423016b6423842394230323b8ffc040 +906568484b2301042301f42301ab23bb23029423012b235b23020423142302ab23bb23cb2303 +04231423442354237423053afb2301b423d42302a02301242334234423742384239423061023 +010200230120233023502380239023b023e023f02308102320238023c02304180d0d1c470300 +211021202180210408211c21501f15001a5003190f1250095f0e010e0e0901003f332f5d10ed +3f33ed323fed32012f5e5d32ed322f325d71725f72727272725e5d5d717171717172722b725e +5d5d5d5d5d717171712b72722b5e5d2b5d71727272725e5d5d71717172722b5e5d31305e5d13 +23353735343e02333216171523272e0123220e021d01331523111715213537e1a2a22b517549 +2d461c312d10261c232c1a0afafacbfe048b03583127426aa16d380b08cd7b0a0b1f4164469c +54fcf6212d2d210000000001004effec034e03c50027006d40270807880702080d880d020809 +0101190601011d131327290029013e40298029a029d029f0290529b8ffc0401f2a2d485f29af +2902561d661d021d48790a890a020a1850140f102722510516003fed323f33ed012f5ded5d5d +2b715e5d10ce322f3130005e5d015e5d5e5d5d250e0323222e0235343e02333216171123272e +0123220e0215141e0233323e0237034e1a4852592a7aad6e344378a56251983e372b25693941 +6345231e4c81632247433b1739131d130a4380b97580b97738130cfefaa6151a2f649a6b5a91 +663805090c07000100290000029803c50018006bb3040a0102b8ffd8402f090f48131f016f01 +7f010301010947000e100e200ec00ed00ee00e06080e1f1a5f1a02401a015613661302130318 +02b8ffc04010090c48020218100f50120f090e500c15003fed323fed3f332f2b10c9335d0171 +722f5e5ded322f5d3231302b5d01152327220e020711171521353711273521173e033302982b +3a1c40403b16a1fe42777701120917505d5d2403c5fe6e080d120afd42192d2d190320192d75 +13312c1e0001002f000003e103c5002300b6b90008ffe0402a091048040801080f10090c480f +10470b0beb0b02160b25a4250104251425c425e4250439a425f4250225b8ffc040182b30482b +2501142501c02501025025017025802590250325b8ffc0b31f224825b8ffc0402d131648001a +47801fc01f02001f101f201fc01fd01fe01f06081f2050230f1a100b1f500e1d151900001452 +0510003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d715f7172722b725e5d7110dc +5e5ded322b31305e5d2b013e0333321e021511171521353711342623220e0207111715213537 +1127352101441c4d545424365a412572fe6b7d51551c3e3c35127ffe6a7171010c036010241e +131e426a4bfd96192d2d190258535f06080b04fd13192d2d190320192d000001003b00000468 +053d001000e0400a05071507020903081212b8ff804030606448061216122612461256126612 +06f41201e61201d4120166127612a612b612c612055412012612461202d6120112b8ff804039 +4145486612761202441254120232120101201201141201001201391412341264129412d412e4 +12f41207001201027012014012501270120312b8ffc0b325284812b8ffc0b31a1d4812b8ffc0 +401c131748025a500ce00c020c010d5f0f030c5f0a500801080803600a12003fed332f5d10ed +3fed32012f5ded2b2b2b5d715f72725e5d5d5d5f5d5d5d2b5d717171717171722b10ce31305f +5e5d01071121323637133303213537112735210277cf01087d9e1e3e4112fbe5acac023c0508 +1afb680e060117fe7f351b049e1a350000000001002d000005a2053d001b019140426b1b014f +1b015514014a1401500d01340d014906b90602651b012a1a3a1a4a1a03bb1901bb18014a1501 +1314012a133a13020b101b10020b0f1b0f022a0e3a0e020cb8ffb840b10c0d48330c01250c01 +500b01350b450b02500a010402140202040114010208140c151b071a0013000d0c1506071a05 +0e05140d0c150c1b06071a070e015200130060050e1405050e070152150c155a1a07141a1a07 +0e6b137b13021313140d1b0604071a5f15011b15010015010c151d1f1d5f1d020f1d3f1d4f1d +7f1daf1def1d06df1dff1d02001d401d701db01d043b401d01201d801d901d03001d601d701d +a01dc01dd01de01d070c9407a4070207b8ff8840240f114853070107070005051c0c0e130307 +5f1b06140d040310090300151a03055f180312003f33ed17323f33121739ed17321101332f33 +332f5d2b5d325d71725e5d5d717210cc5e5d5d5d32111739322f5d3387102b872bc48718102b +872bc41087c0c01087c0c0108708c008c0108708c008c03130015e5d5d5d5d5d5d5d2b5d5d5d +5d5d5d5d5d5d5d005d5d5d5d5d5d5d2517152135370901273521150709012735211507090117 +1521353701013da6fe4a9401c8fe7b970229aa01160137a601b794fe8701cd98fdd7aafea050 +1b35351b025e02401a35351afe62019e1a35351afe0afd581b35351b0208000000010054ffec +04e5054c002b00684015651c01151d251d651d031518251865180325170124b8ffe8b3090d48 +12b8ffe84027090d481010262d402d011a5b30054005020540080b4805155f0a00110111110a +0426261f5f0013003fed332f3f332f5d10ed012f2b5ded5d10ce322f31302b2b5d5d5d5d0522 +242e01353412362433321e02171323272e0123220e0215141e0233323e023f0133030e030306 +a4feffb15c5db10102a6457a6f642f06421e46b96075b77e43427cb3723e71614d1a2541062a +6c7a86145caefb9eb40108ad54090e120afedbae2b2f4091edad98e1954a101c2514c8fec50c +17120a00000000010000ffec040003ac000e011b401e5a0a6a0a8a0a035a006a000255086508 +0255036503020306041604020907b8ffe0b3080c4806b8ffe0b3080c4801b8ffc8b3090c4809 +b8ffe04024090c480a01520100014b090a1409090a0201520809084703021403030202010909 +011e09b8ffe040120d11480909030a0b001b002b000322001010b8ffc0b74860480010014710 +b8ffc04011284648e01001b410c410d41003a0100110b8ffc040351d22481010201030100304 +1001a410c41002801001026010701002080300080a0303500c050f4009010509650902f50901 +09010216003f33335d71713f33ed1732012f325d5f5d5d71712b7171712b5e5d2b10ce5e5d32 +11393d2f2b5e5d33338718102b872bc48718102b872bc43130012b2b2b2b5e5d5f5d5d5d5d09 +012301273521150709012735211503a6fe874afe7d6001b6950112010695015c036afc82037a +192d2d1bfd77028b192d2d0000010014ffec022d04810019005740390238081148040601af1b +01c01b013f1b4f1b020a0e47035014601402141407000310032003030803040c500940090e48 +09070b0f1511510016003fed333f33ce2bed32012f5e5d33332f5d10ed325d5d7231305d2b05 +2226351123353f01331533152311141633323637150e03014e605f7b7d653fd7d73b3025491f +0f313b4214726702932d27d5d554fd7f41420a06410a140f0a00000000010014000003e5058d +002800b0b9000dffc0402b0810482914391402181401091401091415470f100116102aa02a01 +002a102ac02ae02a0439a02af02a022ab8ffc040142b30482f2a01102a01502a01702a802a90 +2a032ab8ffc0b31f22482ab8ffc0402b131648001f47802401002410242024c024d024e02406 +0824255028001f151024501322151e050519520a10003fed3311333f33ed3232323fed012f5e +5d71ed322b2b5d7172722b725e5d7110dc5e5ded325e5d5d5d31302b01140e02073e0333321e +021511171521353711342623220e0207111715213537112735210146010103021c5057572436 +5a412572fe6b7d51551c3f3e36127ffe64778c013203f60e282b280d10241e131e426a4bfd96 +192d2d19025e535906080b04fd13192d2d190502182d000000020048ffec037103c1002a0036 +009740216b26011b172b17020e163e160212200b0f481d122d12020c12010d110101040103b8 +ffe0401d091148010301081c0a364706388038015f380140380180380131471427b8ffc0401f +0a0e4827274f1401142626222b501c1c003633510a0f160650091522500010003fed3fed3f33 +ed3211392fed12392f012f5d332f2b10ed5d71727210dced323231305e5d2b5d5d5d5d2b5d5d +5d01321e021511171521270e0323222e0235343e043f0135342e022322060f0123353e011307 +0e0315143332363701d1406e502d75fefe130f33485f3a445d38181e3649555f308d0e21382a +3062252238418bd6833b56381c8f44633203c1183a634bfd85192d5e0f2823182a4b673c3e5b +3e2716080104932a45321c1a1575cd0e15fe1e0402132e503eb01f180001002900000210058d +00090087402805472b00010b00013a5b006b007b009b00041b005b00bb00cb00047b009b00ab +0003000bc40b010bb8ffc0b33f46480bb8ffc0401c383b48900b0102000b100b500ba00bb00b +c00b06900ba00bf00b030bb8ffc0b32d30480bb8ffc0400c0d1048065009000005500315003f +ed323fed012b2b5d715f722b2b7210dc5d71725e5d71ed313025171521353711273521016fa1 +fe19a0a0014646192d2d190502182d000000058d00150048053d000f0070053d000f00000000 +0000000000000000000003ac001900000000ffec00000000ffec00000000ffec0000fe4cfffa +0000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +080000000000009800a600b4008d00d9005d000000000000004600500069007500d900000000 +000000000000000000c100d10069000000000050005a00aa008a000000000000000000000000 +0000000000000000000000ac00b8005a0000000000500060008f009900000000000000000000 +0000000000000000000000000050009700b300c700d9000000000000000000000050006d007b +008d00b500d9013100c90000016f00f20108008100c500b800f20131004d0000000000000000 +000000000000000000000000020e000000660000000000660000000000000000000002db009b +028b004a02e40000009900660000022f021000c4009c015e000001740046008d000000000000 +0046003c000000000000000000000000000000000087007d0000005300680076008700000000 +0000053dfcda0009fff3008f007d004a00820041006c0000000000000000000000bc019f030a +00000354009f00a600c100000000002f00000000000000000748036a02b60202fd9300000091 +00670091006101d90000028d03410044051101b40000404559585554535251504f4e4d4c4b4a +494847464544434241403f3e3d3c3b3a393837363531302f2e2d2c28272625242322211f1814 +11100f0e0d0b0a090807060504030201002c4523466020b02660b004262348482d2c45234623 +6120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0 +206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523 +462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320 +b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921 +212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b1 +0a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003 +25456164b050515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b007 +43650a2d2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c +8a03458a8a87b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b52584544 +1b2121592d2c4b515845441b2121592d2c01b005251023208af500b0016023edec2d2c01b005 +251023208af500b0016123edec2d2c01b0062510f500edec2d2c462346608a8a462320468a60 +8a61b8ff8062232010238ab10c0c8a70456020b0005058b00161b8ffba8b1bb0468c59b01060 +68013a2d2c2045b0032546524bb013515b58b0022546206861b00325b003253f2321381b2111 +592d2c2045b00325465058b0022546206861b00325b003253f2321381b2111592d2c00b00743 +b006430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f +2b59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648b +b84000626023212d2c4b53588ab004254964234569b0408b61b08062b020616ab00e23442310 +b00ef61b21238a121120392f592d2c4b535820b0032549646920b00526b0062549642361b080 +62b020616ab00e2344b0042610b00ef68a10b00e2344b00ef6b00e2344b00eed1b8ab0042611 +1220392320392f2f592d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045 +b0005458b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c4b5158 +b02f2370b01423421b2121592d2c4b515820b0032545695358441b2121591b2121592d2c45b0 +1443b0006063b0016069442d2cb02f45442d2c452320458a60442d2c45234560442d2c4b2351 +58b90033ffe0b134201bb3330034005944442d2cb0164358b00326458a586466b01f601b64b0 +20606620581b21b04059b001615923586559b02923442310b029e01b2121212121592d2cb002 +4354584b53234b515a58381b2121591b21212121592d2cb0164358b004254564b02060662058 +1b21b04059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b0052520 +46b0042523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059 +b0042510b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b03 +59b00525b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d +2c02b00425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0 +022543482121212d2c452320451820b00050205823652359236820b040505821b04059235865 +598a60442d2c4b53234b515a5820458a60441b2121592d2c4b545820458a60441b2121592d2c +4b53234b515a58381b2121592d2cb000214b5458381b2121592d2cb002435458b0462b1b2121 +2121592d2cb002435458b0472b1b212121592d2cb002435458b0482b1b21212121592d2cb002 +435458b0492b1b212121592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b0 +00535820b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140408a70 +4560683a2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d2cb012004b014b5442 +2d2cb1020042b123018851b1400188535a58b910000020885458b202010243604259b1240188 +5158b920000040885458b2020202436042b12401885458b2022002436042004b014b5258b202 +0802436042591bb940000080885458b202040243604259b94000008063b80100885458b20208 +0243604259b94000010063b80200885458b202100243604259b94000020063b80400885458b2 +02400243604259595959592d2c451868234b51582320452064b04050587c59688a6059442d2c +b00016b00225b0022501b001233e00b002233eb10102060cb00a236542b00b234201b001233f +00b002233fb10102060cb006236542b0072342b00116012d2c7a8a104523f5182d0000000001 +0000000111ebf1cca3d45f0f3cf5001f080000000000d065c68f00000000d065c68ffe96fd93 +080e07da000000080002000000000000000100000721fe450057086bfe96fe98080e00010000 +000000000000000000000000002002ec0044040000580400004e04000042040000b40400005a +04000077040000620400002804e300250239002b0639002b038d00500200000002aa0098031d +005402aa004a05c7003b0400004e0200008702aa003f038d004e02aa00290400002f04e3003b +05c7002d05560054040000000239001404000014038d0048023900290000002c00d4013c01dc +02140286030403b20412053205b007e4085e085e092e09c80aae0b240b9c0bd00cda0d4a0da8 +0e3a0ecc0fca104210f0114411da127412ce000000010000002001520054007d000500020010 +002f005a0000040b063900030002b10960be01070001003f0107000100bf0104405901e0fd01 +cffd0120fd017ffb0150fb0180f290f202f1f0291faff0bff0024fef5fefafef0330ef010fef +010800ed10ed50ed60ed70eda0ed060a0fec010c00eb0111e3e0381fdf33dd55de33dc5500dd +013c50dd80ddb0dd03b8ffc0405add080b46dd010355dc03161f10c020c030c070c080c0d0c0 +e0c0f0c00880be90be02bdbc2f1f0fbc1fbc021fb34fb37fb30360a8010fa81fa802509b609b +02909c010f9c1f9c2f9c039a992e1f99471e1f9796271fe096f09602b8ffc04035960d11465f +95017f928f9202708680869086038085908502af76bf76027350291f6f6e2b1f6e472a1f1933 +1855073303550603ff1fb8ffc0404462252846605f401f5f50291f5b5a301f5a47291f133312 +5505010355043303550f031f033f034f036f038f03bf03070852501e1f51501e1fe050f05002 +0f4f1f4f2f4f03b8ffe040614b212846604a704a804a034946291f4847381f0f471f472f47cf +47df47ef47065f47019f47019f46af46bf46034046292f4640461e21461c481b551633155510 +330f5502010055013300552f0fff0f020f0f5f0f7f0f030f003f00028016010501b80190b154 +532b2b4bb807ff524bb008505bb00188b02553b00188b040515ab00688b000555a5b58b10101 +8e59858d8d00421d4bb0325358b0601d594bb0645358b0401d594bb0805358b0101db1160042 +597373742b2b2b2b2b012b2b737374752b2b73002b75742b2b5e732b2b2b012b2b002b2b2b2b +2b2b012b2b002b73017373007373012b732b2b2b737300737373017300732b017373002b2b2b +735e732b2b012b5e735e73005e735e73737301732b7300737373737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 4 4 201 129 +%%EndPageSetup +q 4 4 197 125 rectclip q +0.12549 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +43.199 79.602 m 37.199 79.602 l S Q +BT +10 0 0 10 21.6 52.639997 Tm +/f-0-0 1 Tf +(60)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 45.441 m 37.199 45.441 l S Q +BT +10 0 0 10 21.6 86.799997 Tm +/f-0-0 1 Tf +(90)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 11.281 m 37.199 11.281 l S Q +BT +10 0 0 10 16.6 120.959997 Tm +/f-0-0 1 Tf +(120)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 90.961 m 43.199 96.961 l S Q +BT +10 0 0 10 38.2 23.279997 Tm +/f-0-0 1 Tf +(16)Tj +ET +q 1 0 0 -1 0 135.199997 cm +69.441 90.961 m 69.441 96.961 l S Q +BT +10 0 0 10 64.44 23.279997 Tm +/f-0-0 1 Tf +(25)Tj +ET +q 1 0 0 -1 0 135.199997 cm +101.52 90.961 m 101.52 96.961 l S Q +BT +10 0 0 10 96.52 23.279997 Tm +/f-0-0 1 Tf +(36)Tj +ET +q 1 0 0 -1 0 135.199997 cm +139.359 90.961 m 139.359 96.961 l S Q +BT +10 0 0 10 134.36 23.279997 Tm +/f-0-0 1 Tf +(49)Tj +ET +q 1 0 0 -1 0 135.199997 cm +183.121 90.961 m 183.121 96.961 l S Q +BT +10 0 0 10 178.12 23.279997 Tm +/f-0-0 1 Tf +(64)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 11.281 m 43.199 90.961 l 183.121 90.961 l S Q +0 g +BT +-0.000000000000001837 10 -10 -0.000000000000001837 11.76 67.1757 Tm +/f-0-0 1 Tf +[(T)35(ime [s])]TJ +10 0 0 10 88.539922 5.279997 Tm +[(No. of cores)]TJ +-0.0139922 6 Td +(no LXC)Tj +ET +0.12549 g +1.6 w +[ 6.4 3.2 1.6 3.2] 0 d +q 1 0 0 -1 0 135.199997 cm +54.398 66.961 m 82.801 66.961 l 43.199 28.078 m 69.441 44.078 l 101.52 +56.641 l 139.359 58.559 l 183.121 48 l S Q +0 g +BT +10 0 0 10 88.4 53.279997 Tm +/f-0-0 1 Tf +(none)Tj +ET +0.12549 g +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +54.398 78.961 m 82.801 78.961 l 43.199 26.16 m 69.441 40.719 l 101.52 53.52 + l 139.359 57.52 l 183.121 44.961 l S Q +0 g +BT +10 0 0 10 167.2 65.279997 Tm +/f-0-0 1 Tf +(veth)Tj +ET +0.12549 g +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 135.199997 cm +133.199 66.961 m 161.602 66.961 l 43.199 20.16 m 69.441 32.801 l 101.52 + 46.801 l 139.359 47.121 l 183.121 27.199 l S Q +0 g +BT +10 0 0 10 167.2 53.279997 Tm +/f-0-0 1 Tf +[(macvlan)]TJ +ET +0.12549 g +[ 4 6.4] 0 d +q 1 0 0 -1 0 135.199997 cm +133.199 78.961 m 161.602 78.961 l 43.199 27.762 m 69.441 38.559 l 101.52 + 53.441 l 139.359 54.641 l 183.121 42.32 l S Q +0.8 w +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +43.199 11.281 m 43.199 90.961 l 183.121 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/graphics/openfoam-2.eps b/graphics/openfoam-2.eps @@ -0,0 +1,581 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:14:04 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 4 4 188 129 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 45 /hyphen put +Encoding 46 /period put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 57 /nine put +Encoding 78 /N put +Encoding 84 /T put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 97 /a put +Encoding 99 /c put +Encoding 101 /e put +Encoding 102 /f put +Encoding 104 /h put +Encoding 105 /i put +Encoding 108 /l put +Encoding 109 /m put +Encoding 110 /n put +Encoding 111 /o put +Encoding 114 /r put +Encoding 115 /s put +Encoding 116 /t put +Encoding 118 /v put +/CharStrings 30 dict dup begin +/.notdef 0 def +/hyphen 1 def +/two 2 def +/zero 3 def +/one 4 def +/five 5 def +/six 6 def +/three 7 def +/four 8 def +/nine 9 def +/T 10 def +/i 11 def +/m 12 def +/e 13 def +/space 14 def +/bracketleft 15 def +/s 16 def +/bracketright 17 def +/N 18 def +/o 19 def +/period 20 def +/f 21 def +/c 22 def +/r 23 def +/n 24 def +/a 25 def +/v 26 def +/l 27 def +/t 28 def +/h 29 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa000022a4000002166670676d73d323b00000 +24bc00000705676c796636d7c5d20000009c000022086865616406a2e97300002bc400000036 +686865610e1f056700002bfc00000024686d74786990081600002c20000000786c6f63618532 +7ca800002c980000003e6d61787004f0083b00002cd80000002070726570409b59c200002cf8 +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd00000001004c01960260022f000300614014020530050144 +0574058405a405b4050594050105b8ffc04018565b488005010200050139c005f00502400570 +0580050305b8ffc0b33b404805b8ffc0400b2327487f05010000b901bc003fed012f5d2b2b71 +725e5d5f5d2b5d717210ce3130133521154c02140196999900000001005a0000038f054c0022 +007f4055251e010519951902080c121c123c124c1204890f012a0401141402096f1a22221a24 +002440240240246024a024e024043421442102213002400202020917218f1201001210120212 +120c7387170117060221760118003fed323f5ded332f5d5d111239012f5d335d5d7110ce322f +10ed11392f3130005d5d015d5e5d5d2901353e0535342623220e020f0123113e013332161514 +0e040721038ffccb65a98765432176861e3b362f1223424c9356dcdd2b507494b16402b2935e +95817680945d8288090f130aa401021219b7a7528c817d86975b0002004effec03b20552000d +00210061b51f100b0f481bb8fff0403d0c0f48561566150211100c0f48770c01790a01780601 +7703010e6f0023002340230240236023a023e02304186f40089008a008030813730b071d7305 +19003fed3fed012f5ded5d7110deed31305d5d5d5d2b5d2b2b0114020e012322021110123332 +1203342e0223220e0215141e0233323e0203b2356ca671d4d8d8dcd4dcb8193b63494a5f3615 +15365f4a49633b1902a4a8fefcb15b01640154014d0161fea3feaf90e29b51519be29090e59f +55559fe50000000100b4000003850548000a003e402a100c500c02500c700cb00cf00c04006e +40100501000540055005a005b00505080507800a060005730318003fed323f1acd012f5e5d71 +1aed5d713130250515213525110535253302730112fd2f0113fef1018734501b35351b044661 +35de000000010077ffec03b0053d002c007940318502010f20090d4806080105031503250303 +082626281a6f7605860502052e002e402e02402e602ea02ee02e042870230eb8ffc0401d090d +480e221f730000152776240615730a700f800f020f0f010f0f0a19003f332f5d5d10ed3fed12 +392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215140e022322262703 +33171e0333323e0235342e02232206072311211521113e0301e570ac743b3976b3795ea94c0b +422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d5e91655f9a6e3c15 +16011abc0a140f092f5678494e744e271008029999fe54040807050000020058ffec03c3054c +0026003600ac404b8224011414241454146414741405341c641c741c03353595350204030104 +2514252425842504082c6f00df130113400d104813138600010038003840380240386038a038 +e038041f326f0ab8fff0402c0c0f48300a400a020a1f32322f748622012222271a730f001410 +1420140314140f0727738805017905010519003f5d5ded3f332f5d10ed12392f5ded3210c901 +2f5d2bed325d7110ce5d322f2b7110ed31305e5d5d5d5d5d005d01140e0223222e0102353412 +3e01333216171523272e0323220e02073e0133321e0201323e0235342623220607141e0203c3 +356899646ead773f538bb6624b9a3e4223122f3333174771522f0448ab5454875e32fe624058 +3617677044954a1f446801a068a2703a56ab00ffaab60106aa50140fe7890a100c07448ad08d +26302f6092fe392a557f54a4921a1890de994f00000000010062ffec03b0054c003c00b0b386 +370134b8ffe04073080b482b20090d488c12010a20090d48050301083b3a4b3a023a1b863501 +356f205f1b6f1b027f208f20022c1b20201b2c0309156f7600860002003e003e403e02403e60 +3ea03ee03e0420093009400903093a1b731c1c3210002b102b022b2b25733207107305700a80 +0a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392fed39012f5d5d7110de5ded11 +17392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e02232226270333171e0333323e +0235342e022f0135373e0135342e0223220e020f0123113e0333321615140e02071e0103b040 +79b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c1b3a5d431e3d383012234223 +464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f092e5373444e673f1d030852 +0906808241614020090f130aa4010209100b07a2a83f6d54390b15a700020028000003e00544 +000a000e008140100c38161d483506450655060356060106b8fff04012131a48101050100250 +107010b010f010040db8ffe84031161b480d0440141948040a0a08016e0e0600021002200240 +0250027002a002b00208080208050e75000303010b07060118003f3f3312392f33ed3232012f +5e5d3333ed32322f2f2b332b5d7131302b5d71002b011123112135013311331501230121032a +acfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332fd5d00020042ffec03ac +054c00280038009b406d37180c0f488927019a1f011e280c0f483b1e011b162b16026a0d7a0d +9a0d030a261a262a260334216f0a3a103a503a02503a703ab03af03a042c6f0014146f007f00 +02002134343174092489249924032424291c73111f162f163f16031616111929730605860596 +0503080507003f5e5ded3f332f5d10ed12392f5ded3210c9012f5d332f10ed5d7110deed3231 +30005d015d5d5d2b5d5d2b13343e0233321e011215140e04232226273533171e0333323e0237 +0e0123222e0201220615141e0233323637342e02423c70a06472a66d35274661748345588f44 +4123132f33351946795a3705429a59548c653701b28179213f5b3b42843e1c3c6203a4679f6b +3750a7fefeb181cb9a6d441f1111e890090e0b053b84d398253033659601bab3a9527247201c +1993df954b00000000010025000004c1053d001701f140ff050d150d250d030a081a0802090f +1901fe0f194f195f197f198f19bf19df19ff1908f019018f199f19cf19037019010f191f194f +1903cf19df19ef1903b019019f19018019011f192f195f1903001901ce6f19af19bf19ef1904 +5019010f192f193f1903ff1901d01901bf1901a019013f194f197f19032019017f199f19bf19 +cf19ff19056019014f19013019010f19019def1901d019012f196f197f19af1904101901bf19 +cf19ef19ff19049019a019027f19016019010f193f1902e019013f195f197f198f19bf190520 +19010f19016bf01901cf1901a019018f19017019010f191f194f1903f01901cf1901b019015f +196f198f199f1904301940190240871f1901001901df19018019b019025f190100193019023b +ff1901e01901cf1901b019014f195f198f1903301901b019e019f019038f19017019015f1901 +00192019301903f01901df1901c019019f190170198019021f192f193f1903001901500c800c +b00cc00c040c025f098f09bf09cf090409155a020d00090109091403600a0315025f0012003f +ed323fed32332f5d33012ffdcc5d10cc5d5d5d5d5d5d5d5d71717171717272727272725e5d5d +5d5d717171717171717272727272725e5d5d5d5d7171717171727272725e5d5d5d5d5d717171 +7171717272725e5d5d5d5d5d5d71717171725e5d31305e5d5d213537112322060f0123112111 +23272e032b01111715013bd53383b2251b43049c441b12475e6f3a31d5351b04970c08d1013b +fec5d104060503fb6b1b350000000002002b00000212054c0013001d009c4053004a0b0a9b0a +ab0a03eb0afb0a02840a010a19470b142b14024b145b149b14fb14040b142b143b14ab14bb14 +eb1406101440393d48141f041f141f0239f41f01901f0102501fa01fb01fc01f04901fa01f02 +1fb8ffc0b32d30481fb8ffc0b3181b481fb8ffc040100d104805530f041a501d0f1419501715 +003fed323fed3fed012b2b2b5d715f72725e5d10dc2b5e5d7172fdd45d5d71ed313001140e02 +23222e0235343e0233321e0203171521353711273521017b111e281616271e11111e27161628 +1e110aa1fe19a085012b04df16271e11111e271616281e11111e28fb51192d2d190320192d00 +0001002b0000061903c5003c03bb4085043501e435f4350205351535253503043401e434f434 +02053415342534030b2701eb27fb2702bf27cf27022720080d480b2801eb28fb2802bf28cf28 +022820080d48042601e426f4260205261526252603042501e425f42502052515252525030b17 +01eb17fb1702bf17cf17021720080d480b1601eb16fb1602bf16cf16021620080d4807b8ffc8 +400b0a1e480106110621060310b8ffd840d00810480311010803082447292938184706139613 +020a133e463e763e02293e01143e01063e01f8e43e01d23e01b43ec43e02a23e01943e01823e +01743e01623e01543e01063e163e263e463e04f23e01c43ed43ee43e03b23e01a43e01363e56 +3e663e763e963e05243e01163e01043e01f43e01d63ee63e02c43e01963eb63e02843e01763e +01593e01343e443e02263e01123e01043e01c8f63e01b43ec43ed43e03a63e01943e01863e01 +723e01643e01503e01423e01243e343e02123e01043e01f63e01e23e01d43e01c63e013eb8ff +804017afb248523e623e02443e01363e01243e01063e163e023eb8ff8040ffa4a748a23eb23e +02943e01863e01723e01643e01563e01243e343e02163e01043e0198d63ee63ef63e03a43eb4 +3ec43e03963e01843e01563e763e02443e01263e363e02023e123e02f43e01e63e01c43ed43e +02b63e01843e943e02363e563e763e03243e01063e163e02f63e01d43ee43e02c63e01a43e01 +963e01623e0101503e01443e01303e01043e143e243e0368f03e01d43ee43e02743eb43e0240 +3e01043e243e343e03f43e01db3e01b03ec03e02643e843ea43e03503e01243e343e443e0310 +3e01043e01f43e01d03e01c43e01ab3e01903e01843e013b3e6b3e02203e01043e143e0238d4 +3ee43e02603ea03e02543e01403e01143e343e02405b943ec43ee43ef43e04803e01543e743e +02403e01343e011b3e01043e01e43e01c03e0102103e503e703e803eb03e050f3e0108003347 +7038010038013839503c0f1318242933053850271636150821211c520d100032322d52051000 +3fed3210c93fed3210c93f3333ed17323fed012f5d71ed325e5d5d5f5d5d7171717171717172 +727272725e5d5d5d5d5d5d5d5d5d717171717171717172727272725e5d5d5d5d5f5d5d5d5d5d +5d717171717171717172727272727272725e5d5d5d5d5d5d5d5d5d2b71717171712b71717171 +7272727272727272727272725e5d5d5d5d5d5d5d5d5d5d5d7171717171717171727272727272 +727272725e5d5d5d5d10d45e5ded11392fed3231305f5e5d2b005d2b012b5d5d712b5d5d715d +5d715d5d712b5d5d712b5d5d715d5d715d5d71013e03333216173e0333321e02151117152135 +3711342623220e0207161511171521353711342623220e02071117152135371127352101461c +4d52542445751d205a615f2636583f2379fe558c4b551a45453f15118dfe428b55551c3d3b35 +128dfe5677770113036010241e133439122720141e426a4bfd96192d2d1902585359080a0d04 +3641fd96192d2d190258535906080b04fd19192d2d190320192d00020050ffec034603c5001f +002a0074402d8914019813010b138b1302161b261b020918191829189918040826481f0b0b1f +2c002c013e802ca02cf02c032cb8ffc0b3434a482cb8ffc040172a2e48250148881601160050 +2525062050191006511116003fed3fed12392fed012f5ded322b2b715e5d10ce322f10ed3130 +5e5d5d5d5d5d0115141e0233323e0237150e0323222e0235343633321e021d0101220e021521 +342e020104153f725d1e42423e1a17414e582d75a1642ccebf4b836239fe9738513519019211 +2b4801d9124986673d05080a06380f1b160d407eba79f6f2285e9e7652019c2f567b4c4c7b56 +2f00000000010098feee0260058d00070178401f070402140244025402040c020b0901fde409 +01d00901b409c40902a0090109b8ffc0400beff4481009200930090309b8ffc04012e8eb48b0 +09c00902640984099409a4090409b8ff804011dde0480409140902d409f40902c0090109b8ff +c04029d2d648600901540901300940090204091409240903cbb409d409e40903a00901840994 +090270090109b8ffc0409eb7c1489b09ab09bb09038409013b094b0902bb09db09eb09039409 +0109409da0480409019b7b098b09eb0903bb09cb09fb09037409012b093b0902ab09db090284 +090109406a6d4804090169f409014b095b09bb09031b092b093b095b096b098b099b09cb0908 +0f0901ff0901029f09af09df09ef09045009010f090139ff0901c009014009d00902df090180 +090104f001400e11480103f5020006f500002fed3fed012f2bed5d5d7172725e5d5d5d5f5d71 +7172725e5d2b5d5d717171725e5d2b5d5d7171712b727272725e5d5d5d5d2b5d5d712b71712b +722b727272725e5dcd5e5d32313013112115051105159801c8fed70129feee069f2f29fa1129 +2f0000010054ffec02d303c5003500a140244a328a32027c158c15023a164a167a168a160405 +3315332533033c1a4c1a7c1a8c1a0402b8ffd84017090d481e18090c48254010154825251346 +003720370137b8ffc040301e21484f375f37af37032d461c0b0b1c132d052a50213426442602 +26262110105005340b440ba40b03200b010b0b0516003f332f5d5d10ed3f332f5d10ed123939 +012f332f10ed5d2b7110deed332f2b31302b2b5d005d5d5d5d01140e0223222e02273533171e +0133323635342e0635343e02333216171523272e0123220615141e0602d32754855e2f5b4e3a +0d2d311f62425d652a44575b57442a2e53734544823c2f2a1a5a3351552a45585c58452a0108 +3f694b290b0f1005e7831c28515532412c1d1e263c5a4340644423130ccd6d171850442e3b29 +1e2029405c000001004afeee0212058d000701a4400f040900190049005900040c0002f007b8 +ffc040280c11480709060916093609460904fbf60901e40901d60901b409c40902a209017409 +840994090309b8ffc04012edf148120901040901e409f40902d6090109b8ff80b6e3e7487609 +0109b8ff804033dee1482209010409140902f40901e60901c409d40902a609b6090274098409 +026209013409440954090306091609260903cb09b8ffc04019c6c948a4090196090184090172 +090101400950096009030209b8ffc0b3bbbe4809b8ff804025b7ba489f09af0902800901df09 +ef090200099009a009c009049bc009d009027f098f090209b8ffc040648c8f48ff0901400970 +09d00903df09018009b009c009034f090100090169f00901bf09019009a009024f095f090200 +091009025f096f09cf09039f09af09020940464c4850098009020f0901396009c009024009d0 +0902df090180090104f5050001f500002fed3fed015d5d71725e5d5d2b5d7172727272725e5d +5d5d5d71712b72725e5d5d71712b2b5f725f727272722b5e5d5d5d5d5d5d5d5d71712b712b71 +7172722b7272727272725e5d10de2bedcd5e5d32313013352511253521114a0129fed701c8fe +ee2f2905ef292ff961000001003b00000598053d001300a0402f180758070237070112015207 +08075a131214131207135c00061006020c06150015013f401501201501a015e0150212b8ffc8 +40390810481208095c500e010e050815080203000508030f5f12021103090e5fd51301831301 +026013701302511301431301251335130213070c12003f33335d5d5d5d5f5d5ded323f3333ed +17325f5d012f5ded32322b5d71725e5d10de5e5dfd32872b872bc4015d5d3130012735211507 +11230111171521353711273521010483b401c9ac61fcc5b4fe37acac019602b204ee1a35351a +fb1204b6fb9a1b35351b049e1a35fc1f00000002004effec03b203c5000b001f008c403c840a +940a02050a018b089b08020a08018b049b04020904018402940202060201080c480021002120 +2102102130215021e02104002120214021033b21b8ffc04016414a489f210170210140216021 +8021a0210460210121b8ffc0400e252e48164806115009101b500316003fed3fed012fed2b5d +7172722b5e5d717210deed31305e5d5d5d5d5d5d5d5d01140223222635343633321607342e02 +23220e0215141e0233323e0203b2d6e2d4d8d8dcd6dab41a3d64494a6038161638604a49643d +1a01dbefff00fef1eefcf7f36199693737699961629a6b39396b9a00000000010087ffe30179 +00d50013002740190096000a01000a100af00a03000a100af00a03080a0f9b0513003fed012f +5e5d7172ed313025140e0223222e0235343e0233321e02017913202d191a2c201313202c1a19 +2d20135c192c211313212c19192d201313202d000001003f000002aa05a2002101af400d0906 +1906290603080b2301fd23b8ffc0405ef8fb488b2301342344236423038423d423e423f42304 +702301142344235423642304542364237423b423e423f423060b231b2302ccf02301c423d423 +e423038b230134236423742303a423d423e423f42304542364237423e423f4230523b8ffc040 +0ab0b3480b231b23029c23b8ffc0400c989b489b2301742384230223b8ffc04031898d48ab23 +01542364238423031b2301042301f42301bb2301642374238423031b232b23020423016b6423 +842394230323b8ffc040906568484b2301042301f42301ab23bb23029423012b235b23020423 +142302ab23bb23cb230304231423442354237423053afb2301b423d42302a023012423342344 +23742384239423061023010200230120233023502380239023b023e023f02308102320238023 +c02304180d0d1c470300211021202180210408211c21501f15001a5003190f1250095f0e010e +0e0901003f332f5d10ed3f33ed323fed32012f5e5d32ed322f325d71725f72727272725e5d5d +717171717172722b725e5d5d5d5d5d717171712b72722b5e5d2b5d71727272725e5d5d717171 +72722b5e5d31305e5d1323353735343e02333216171523272e0123220e021d01331523111715 +213537e1a2a22b5175492d461c312d10261c232c1a0afafacbfe048b03583127426aa16d380b +08cd7b0a0b1f4164469c54fcf6212d2d210000000001004effec034e03c50027006d40270807 +880702080d880d0208090101190601011d131327290029013e40298029a029d029f0290529b8 +ffc0401f2a2d485f29af2902561d661d021d48790a890a020a1850140f102722510516003fed +323f33ed012f5ded5d5d2b715e5d10ce322f3130005e5d015e5d5e5d5d250e0323222e023534 +3e02333216171123272e0123220e0215141e0233323e0237034e1a4852592a7aad6e344378a5 +6251983e372b256939416345231e4c81632247433b1739131d130a4380b97580b97738130cfe +faa6151a2f649a6b5a91663805090c07000100290000029803c50018006bb3040a0102b8ffd8 +402f090f48131f016f017f010301010947000e100e200ec00ed00ee00e06080e1f1a5f1a0240 +1a01561366130213031802b8ffc04010090c48020218100f50120f090e500c15003fed323fed +3f332f2b10c9335d0171722f5e5ded322f5d3231302b5d01152327220e020711171521353711 +273521173e033302982b3a1c40403b16a1fe42777701120917505d5d2403c5fe6e080d120afd +42192d2d190320192d7513312c1e0001002f000003e103c5002300b6b90008ffe0402a091048 +040801080f10090c480f10470b0beb0b02160b25a4250104251425c425e4250439a425f42502 +25b8ffc040182b30482b2501142501c02501025025017025802590250325b8ffc0b31f224825 +b8ffc0402d131648001a47801fc01f02001f101f201fc01fd01fe01f06081f2050230f1a100b +1f500e1d1519000014520510003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d715f +7172722b725e5d7110dc5e5ded322b31305e5d2b013e0333321e021511171521353711342623 +220e02071117152135371127352101441c4d545424365a412572fe6b7d51551c3e3c35127ffe +6a7171010c036010241e131e426a4bfd96192d2d190258535f06080b04fd13192d2d19032019 +2d0000020048ffec037103c1002a0036009740216b26011b172b17020e163e160212200b0f48 +1d122d12020c12010d110101040103b8ffe0401d091148010301081c0a364706388038015f38 +0140380180380131471427b8ffc0401f0a0e4827274f1401142626222b501c1c003633510a0f +160650091522500010003fed3fed3f33ed3211392fed12392f012f5d332f2b10ed5d71727210 +dced323231305e5d2b5d5d5d5d2b5d5d5d01321e021511171521270e0323222e0235343e043f +0135342e022322060f0123353e0113070e0315143332363701d1406e502d75fefe130f33485f +3a445d38181e3649555f308d0e21382a3062252238418bd6833b56381c8f44633203c1183a63 +4bfd85192d5e0f2823182a4b673c3e5b3e2716080104932a45321c1a1575cd0e15fe1e040213 +2e503eb01f1800010000ffec040003ac000e011b401e5a0a6a0a8a0a035a006a000255086508 +0255036503020306041604020907b8ffe0b3080c4806b8ffe0b3080c4801b8ffc8b3090c4809 +b8ffe04024090c480a01520100014b090a1409090a0201520809084703021403030202010909 +011e09b8ffe040120d11480909030a0b001b002b000322001010b8ffc0b74860480010014710 +b8ffc04011284648e01001b410c410d41003a0100110b8ffc040351d22481010201030100304 +1001a410c41002801001026010701002080300080a0303500c050f4009010509650902f50901 +09010216003f33335d71713f33ed1732012f325d5f5d5d71712b7171712b5e5d2b10ce5e5d32 +11393d2f2b5e5d33338718102b872bc48718102b872bc43130012b2b2b2b5e5d5f5d5d5d5d09 +012301273521150709012735211503a6fe874afe7d6001b6950112010695015c036afc82037a +192d2d1bfd77028b192d2d000001002900000210058d00090087402805472b00010b00013a5b +006b007b009b00041b005b00bb00cb00047b009b00ab0003000bc40b010bb8ffc0b33f46480b +b8ffc0401c383b48900b0102000b100b500ba00bb00bc00b06900ba00bf00b030bb8ffc0b32d +30480bb8ffc0400c0d1048065009000005500315003fed323fed012b2b5d715f722b2b7210dc +5d71725e5d71ed313025171521353711273521016fa1fe19a0a0014646192d2d190502182d00 +000000010014ffec022d04810019005740390238081148040601af1b01c01b013f1b4f1b020a +0e47035014601402141407000310032003030803040c500940090e4809070b0f151151001600 +3fed333f33ce2bed32012f5e5d33332f5d10ed325d5d7231305d2b052226351123353f013315 +33152311141633323637150e03014e605f7b7d653fd7d73b3025491f0f313b4214726702932d +27d5d554fd7f41420a06410a140f0a00000000010014000003e5058d002800b0b9000dffc040 +2b0810482914391402181401091401091415470f100116102aa02a01002a102ac02ae02a0439 +a02af02a022ab8ffc040142b30482f2a01102a01502a01702a802a902a032ab8ffc0b31f2248 +2ab8ffc0402b131648001f47802401002410242024c024d024e024060824255028001f151024 +501322151e050519520a10003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d717272 +2b725e5d7110dc5e5ded325e5d5d5d31302b01140e02073e0333321e02151117152135371134 +2623220e0207111715213537112735210146010103021c50575724365a412572fe6b7d51551c +3f3e36127ffe64778c013203f60e282b280d10241e131e426a4bfd96192d2d19025e53590608 +0b04fd13192d2d190502182d0000058d00150048053d000f0070053d000f0000000000000000 +00000000000003ac001900000000ffec00000000ffec00000000ffec0000fe4cfffa00000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000008000000 +0000009800a600b4008d00d9005d000000000000004600500069007500d90000000000000000 +0000000000c100d10069000000000050005a00aa008a00000000000000000000000000000000 +00000000000000ac00b8005a0000000000500060008f00990000000000000000000000000000 +00000000000000000050009700b300c700d9000000000000000000000050006d007b008d00b5 +00d9013100c90000016f00f20108008100c500b800f20131004d000000000000000000000000 +0000000000000000020e000000660000000000660000000000000000000002db009b028b004a +02e40000009900660000022f021000c4009c015e000001740046008d0000000000000046003c +000000000000000000000000000000000087007d00000053006800760087000000000000053d +fcda0009fff3008f007d004a00820041006c0000000000000000000000bc019f030a00000354 +009f00a600c100000000002f00000000000000000748036a02b60202fd930000009100670091 +006101d90000028d03410044051101b40000404559585554535251504f4e4d4c4b4a49484746 +4544434241403f3e3d3c3b3a393837363531302f2e2d2c28272625242322211f181411100f0e +0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b026 +61b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020b0 +2661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361b0 +406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a51 +582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c20 +204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323 +430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b00325456164 +b050515845441b2121592d2c49b00e23442d2c2045b0004360442d2c01b00643b00743650a2d +2c2069b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a +8a87b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b212159 +2d2c4b515845441b2121592d2c01b005251023208af500b0016023edec2d2c01b00525102320 +8af500b0016123edec2d2c01b0062510f500edec2d2c462346608a8a462320468a608a61b8ff +8062232010238ab10c0c8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d +2c2045b0032546524bb013515b58b0022546206861b00325b003253f2321381b2111592d2c20 +45b00325465058b0022546206861b00325b003253f2321381b2111592d2c00b00743b006430b +2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b002 +602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8400062 +6023212d2c4b53588ab004254964234569b0408b61b08062b020616ab00e23442310b00ef61b +21238a121120392f592d2c4b535820b0032549646920b00526b0062549642361b08062b02061 +6ab00e2344b0042610b00ef68a10b00e2344b00ef6b00e2344b00eed1b8ab004261112203923 +20392f2f592d2c4523456023456023456023766818b08062202d2cb0482b2d2c2045b0005458 +b040442045b04061441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370 +b01423421b2121592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b000 +6063b0016069442d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033 +ffe0b134201bb3330034005944442d2cb0164358b00326458a586466b01f601b64b020606620 +581b21b04059b001615923586559b02923442310b029e01b2121212121592d2cb0024354584b +53234b515a58381b2121591b21212121592d2cb0164358b004254564b020606620581b21b040 +59b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b00425 +23423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510 +b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525 +b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004 +25202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348 +2121212d2c452320451820b00050205823652359236820b040505821b04059235865598a6044 +2d2c4b53234b515a5820458a60441b2121592d2c4b545820458a60441b2121592d2c4b53234b +515a58381b2121592d2cb000214b5458381b2121592d2cb002435458b0462b1b21212121592d +2cb002435458b0472b1b212121592d2cb002435458b0482b1b21212121592d2cb002435458b0 +492b1b212121592d2c208a08234b538a4b515a5823381b2121592d2c00b0022549b000535820 +b04038111b21592d2c014623466023466123201020468a61b8ff80628ab140408a704560683a +2d2c208a2349648a2353583c1b21592d2c4b52587d1b7a592d2cb012004b014b54422d2cb102 +0042b123018851b1400188535a58b910000020885458b202010243604259b12401885158b920 +000040885458b2020202436042b12401885458b2022002436042004b014b5258b20208024360 +42591bb940000080885458b202040243604259b94000008063b80100885458b2020802436042 +59b94000010063b80200885458b202100243604259b94000020063b80400885458b202400243 +604259595959592d2c451868234b51582320452064b04050587c59688a6059442d2cb00016b0 +0225b0022501b001233e00b002233eb10102060cb00a236542b00b234201b001233f00b00223 +3fb10102060cb006236542b0072342b00116012d2c7a8a104523f5182d000000000100000001 +11eb98d65c8c5f0f3cf5001f080000000000d065c68f00000000d065c68ffe96fd93080e07da +000000080002000000000000000100000721fe450057086bfe96fe98080e0001000000000000 +0000000000000000001e02ec004402aa004c0400005a0400004e040000b40400007704000058 +04000062040000280400004204e300250239002b0639002b038d00500200000002aa0098031d +005402aa004a05c7003b0400004e0200008702aa003f038d004e02aa00290400002f038d0048 +040000000239002902390014040000140000002c006a00dc0144017c01fa02a2035003b00450 +057005ee0822089c089c096c0a060aec0b620bda0c0e0d180d880de60e780f120fc0101a106e +1104000000010000001e01520054007d000500020010002f005a0000040b063900030002b109 +60be01070001003f0107000100bf0104405901e0fd01cffd0120fd017ffb0150fb0180f290f2 +02f1f0291faff0bff0024fef5fefafef0330ef010fef010800ed10ed50ed60ed70eda0ed060a +0fec010c00eb0111e3e0381fdf33dd55de33dc5500dd013c50dd80ddb0dd03b8ffc0405add08 +0b46dd010355dc03161f10c020c030c070c080c0d0c0e0c0f0c00880be90be02bdbc2f1f0fbc +1fbc021fb34fb37fb30360a8010fa81fa802509b609b02909c010f9c1f9c2f9c039a992e1f99 +471e1f9796271fe096f09602b8ffc04035960d11465f95017f928f9202708680869086038085 +908502af76bf76027350291f6f6e2b1f6e472a1f19331855073303550603ff1fb8ffc0404462 +252846605f401f5f50291f5b5a301f5a47291f1333125505010355043303550f031f033f034f +036f038f03bf03070852501e1f51501e1fe050f050020f4f1f4f2f4f03b8ffe040614b212846 +604a704a804a034946291f4847381f0f471f472f47cf47df47ef47065f47019f47019f46af46 +bf46034046292f4640461e21461c481b551633155510330f5502010055013300552f0fff0f02 +0f0f5f0f7f0f030f003f00028016010501b80190b154532b2b4bb807ff524bb008505bb00188 +b02553b00188b040515ab00688b000555a5b58b101018e59858d8d00421d4bb0325358b0601d +594bb0645358b0401d594bb0805358b0101db1160042597373742b2b2b2b2b012b2b73737475 +2b2b73002b75742b2b5e732b2b2b012b2b002b2b2b2b2b2b012b2b002b73017373007373012b +732b2b2b737300737373017300732b017373002b2b2b735e732b2b012b5e735e73005e735e73 +737301732b7300737373737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 4 4 188 129 +%%EndPageSetup +q 4 4 184 125 rectclip q +0.12549 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +48.801 90.961 m 42.801 90.961 l S Q +BT +10 0 0 10 23.860156 41.279997 Tm +/f-0-0 1 Tf +(-20)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 71.039 m 42.801 71.039 l S Q +BT +10 0 0 10 23.860156 61.199997 Tm +/f-0-0 1 Tf +(-15)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 51.121 m 42.801 51.121 l S Q +BT +10 0 0 10 23.860156 81.119997 Tm +/f-0-0 1 Tf +(-10)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 31.199 m 42.801 31.199 l S Q +BT +10 0 0 10 28.860156 101.039997 Tm +/f-0-0 1 Tf +(-5)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 11.281 m 42.801 11.281 l S Q +BT +10 0 0 10 32.2 120.959997 Tm +/f-0-0 1 Tf +(0)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 90.961 m 48.801 96.961 l S Q +BT +10 0 0 10 43.8 23.279997 Tm +/f-0-0 1 Tf +(16)Tj +ET +q 1 0 0 -1 0 135.199997 cm +74 90.961 m 74 96.961 l S Q +BT +10 0 0 10 69 23.279997 Tm +/f-0-0 1 Tf +(25)Tj +ET +q 1 0 0 -1 0 135.199997 cm +104.801 90.961 m 104.801 96.961 l S Q +BT +10 0 0 10 99.8 23.279997 Tm +/f-0-0 1 Tf +(36)Tj +ET +q 1 0 0 -1 0 135.199997 cm +141.121 90.961 m 141.121 96.961 l S Q +BT +10 0 0 10 136.12 23.279997 Tm +/f-0-0 1 Tf +(49)Tj +ET +q 1 0 0 -1 0 135.199997 cm +183.121 90.961 m 183.121 96.961 l S Q +BT +10 0 0 10 178.12 23.279997 Tm +/f-0-0 1 Tf +(64)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.801 11.281 m 48.801 90.961 l 183.121 90.961 l S Q +0 g +BT +-0.000000000000001837 10 -10 -0.000000000000001837 11.76 67.1757 Tm +/f-0-0 1 Tf +[(T)35(ime [s])]TJ +10 0 0 10 91.339922 5.279997 Tm +[(No. of cores)]TJ +0.266008 7.2 Td +(none)Tj +ET +0.12549 g +1.6 w +q 1 0 0 -1 0 135.199997 cm +60 54.961 m 88.398 54.961 l 48.801 17.922 m 74 23.039 l 104.801 22.16 l + 141.121 14.961 l 183.121 21.922 l S Q +0 g +BT +10 0 0 10 94 65.279997 Tm +/f-0-0 1 Tf +[(macvlan)]TJ +ET +0.12549 g +[ 4 6.4] 0 d +q 1 0 0 -1 0 135.199997 cm +60 66.961 m 88.398 66.961 l 48.801 12.238 m 74 30.801 l 104.801 22.48 l + 141.121 25.039 l 183.121 31.039 l S Q +0 g +BT +10 0 0 10 94 53.279997 Tm +/f-0-0 1 Tf +(veth)Tj +ET +0.12549 g +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 135.199997 cm +60 78.961 m 88.398 78.961 l 48.801 38.961 m 74 50.879 l 104.801 45.762 +l 141.121 51.52 l 183.121 84.078 l S Q +0.8 w +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +48.801 11.281 m 48.801 90.961 l 183.121 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/graphics/ping-1.eps b/graphics/ping-1.eps @@ -0,0 +1,703 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:05:59 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 4 4 188 128 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 46 /period put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 55 /seven put +Encoding 56 /eight put +Encoding 57 /nine put +Encoding 67 /C put +Encoding 76 /L put +Encoding 78 /N put +Encoding 80 /P put +Encoding 84 /T put +Encoding 88 /X put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 99 /c put +Encoding 101 /e put +Encoding 102 /f put +Encoding 104 /h put +Encoding 105 /i put +Encoding 109 /m put +Encoding 111 /o put +Encoding 114 /r put +Encoding 115 /s put +Encoding 121 /y put +/CharStrings 31 dict dup begin +/.notdef 0 def +/zero 1 def +/one 2 def +/two 3 def +/three 4 def +/four 5 def +/eight 6 def +/six 7 def +/five 8 def +/seven 9 def +/nine 10 def +/T 11 def +/i 12 def +/m 13 def +/e 14 def +/space 15 def +/bracketleft 16 def +/s 17 def +/bracketright 18 def +/N 19 def +/o 20 def +/period 21 def +/f 22 def +/c 23 def +/r 24 def +/L 25 def +/X 26 def +/C 27 def +/P 28 def +/h 29 def +/y 30 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa00002814000002166670676d73d323b00000 +2a2c00000705676c7966e0f144c60000009c000027786865616406a2e9730000313400000036 +686865610e1f05680000316c00000024686d7478775a08fb000031900000007c6c6f636187b8 +92ac0000320c000000406d61787004f1083b0000324c0000002070726570409b59c20000326c +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd00000002004effec03b20552000d00210061b51f100b0f48 +1bb8fff0403d0c0f48561566150211100c0f48770c01790a017806017703010e6f0023002340 +230240236023a023e02304186f40089008a008030813730b071d730519003fed3fed012f5ded +5d7110deed31305d5d5d5d2b5d2b2b0114020e0123220211101233321203342e0223220e0215 +141e0233323e0203b2356ca671d4d8d8dcd4dcb8193b63494a5f361515365f4a49633b1902a4 +a8fefcb15b01640154014d0161fea3feaf90e29b51519be29090e59f55559fe50000000100b4 +000003850548000a003e402a100c500c02500c700cb00cf00c04006e40100501000540055005 +a005b00505080507800a060005730318003fed323f1acd012f5e5d711aed5d71313025051521 +3525110535253302730112fd2f0113fef1018734501b35351b04466135de00000001005a0000 +038f054c0022007f4055251e010519951902080c121c123c124c1204890f012a040114140209 +6f1a22221a24002440240240246024a024e024043421442102213002400202020917218f1201 +001210120212120c7387170117060221760118003fed323f5ded332f5d5d111239012f5d335d +5d7110ce322f10ed11392f3130005d5d015d5e5d5d2901353e0535342623220e020f0123113e +0133321615140e040721038ffccb65a98765432176861e3b362f1223424c9356dcdd2b507494 +b16402b2935e95817680945d8288090f130aa401021219b7a7528c817d86975b00010062ffec +03b0054c003c00b0b386370134b8ffe04073080b482b20090d488c12010a20090d4805030108 +3b3a4b3a023a1b863501356f205f1b6f1b027f208f20022c1b20201b2c0309156f7600860002 +003e003e403e02403e603ea03ee03e0420093009400903093a1b731c1c3210002b102b022b2b +25733207107305700a800a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392fed39 +012f5d5d7110de5ded1117392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e022322 +26270333171e0333323e0235342e022f0135373e0135342e0223220e020f0123113e03333216 +15140e02071e0103b04079b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c1b3a +5d431e3d383012234223464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f092e +5373444e673f1d0308520906808241614020090f130aa4010209100b07a2a83f6d54390b15a7 +00020028000003e00544000a000e008140100c38161d483506450655060356060106b8fff040 +12131a48101050100250107010b010f010040db8ffe84031161b480d0440141948040a0a0801 +6e0e06000210022002400250027002a002b00208080208050e75000303010b07060118003f3f +3312392f33ed3232012f5e5d3333ed32322f2f2b332b5d7131302b5d71002b01112311213501 +3311331501230121032aacfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332 +fd5d0003004effec03b20552001d00310045009f40708701018503011103148600960002006f +323c6f1f140182149214021032018f329f3202143214320e1e6f860896080208471047504702 +50477047b047f04704286f890e990e02500e010e1103237341412d3773051915192519851995 +190519072d73090b190b290b890b990b05080b19003f5e5ded3f5ded12392fed3939012f5d5d +ed5d7110de5ded1139392f2f5d715d71ed10ed5d11393931305d5d011406071e031514062322 +26353436372e0135343e0233321e0203342e0223220e0215141e0233323e0203342e0223220e +0215141e0233323e0203896b5b36583f22d6e2d6d6806d576d31629464609263328b1a3d6449 +4a6038161638604a49643d1a291532543e3e512f13132f513e3e54321503f66e99281440576f +43bec0bdc185af2928986f4f815b31305a81fd2349714e28284e71494a714c28284c7102d63b +6247282847623b3c604424244460000000020058ffec03c3054c0026003600ac404b82240114 +14241454146414741405341c641c741c033535953502040301042514252425842504082c6f00 +df130113400d104813138600010038003840380240386038a038e038041f326f0ab8fff0402c +0c0f48300a400a020a1f32322f748622012222271a730f0014101420140314140f0727738805 +017905010519003f5d5ded3f332f5d10ed12392f5ded3210c9012f5d2bed325d7110ce5d322f +2b7110ed31305e5d5d5d5d5d005d01140e0223222e01023534123e01333216171523272e0323 +220e02073e0133321e0201323e0235342623220607141e0203c3356899646ead773f538bb662 +4b9a3e4223122f3333174771522f0448ab5454875e32fe6240583617677044954a1f446801a0 +68a2703a56ab00ffaab60106aa50140fe7890a100c07448ad08d26302f6092fe392a557f54a4 +921a1890de994f00000000010077ffec03b0053d002c007940318502010f20090d4806080105 +031503250303082626281a6f7605860502052e002e402e02402e602ea02ee02e042870230eb8 +ffc0401d090d480e221f730000152776240615730a700f800f020f0f010f0f0a19003f332f5d +5d10ed3fed12392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215140e +02232226270333171e0333323e0235342e02232206072311211521113e0301e570ac743b3976 +b3795ea94c0b422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d5e91 +655f9a6e3c1516011abc0a140f092f5678494e744e271008029999fe54040807050000010087 +000003c5053d0008004f401b0020090f480506060107030a000a400a02400a600aa00ae00a04 +01b8ffc04014080d48010518040876028f000100000100000206003f332f5d5d10ed393f012f +2b5d7110ce3211392f3331302b132311211501230121c942033efdaa81024bfdb30400013d4d +fb1004a4000000020042ffec03ac054c00280038009b406d37180c0f488927019a1f011e280c +0f483b1e011b162b16026a0d7a0d9a0d030a261a262a260334216f0a3a103a503a02503a703a +b03af03a042c6f0014146f007f0002002134343174092489249924032424291c73111f162f16 +3f160316161119297306058605960503080507003f5e5ded3f332f5d10ed12392f5ded3210c9 +012f5d332f10ed5d7110deed323130005d015d5d5d2b5d5d2b13343e0233321e011215140e04 +232226273533171e0333323e02370e0123222e0201220615141e0233323637342e02423c70a0 +6472a66d35274661748345588f444123132f33351946795a3705429a59548c653701b2817921 +3f5b3b42843e1c3c6203a4679f6b3750a7fefeb181cb9a6d441f1111e890090e0b053b84d398 +253033659601bab3a9527247201c1993df954b00000000010025000004c1053d001701f140ff +050d150d250d030a081a0802090f1901fe0f194f195f197f198f19bf19df19ff1908f019018f +199f19cf19037019010f191f194f1903cf19df19ef1903b019019f19018019011f192f195f19 +03001901ce6f19af19bf19ef19045019010f192f193f1903ff1901d01901bf1901a019013f19 +4f197f19032019017f199f19bf19cf19ff19056019014f19013019010f19019def1901d01901 +2f196f197f19af1904101901bf19cf19ef19ff19049019a019027f19016019010f193f1902e0 +19013f195f197f198f19bf19052019010f19016bf01901cf1901a019018f19017019010f191f +194f1903f01901cf1901b019015f196f198f199f1904301940190240871f1901001901df1901 +8019b019025f190100193019023bff1901e01901cf1901b019014f195f198f1903301901b019 +e019f019038f19017019015f190100192019301903f01901df1901c019019f19017019801902 +1f192f193f1903001901500c800cb00cc00c040c025f098f09bf09cf090409155a020d000901 +09091403600a0315025f0012003fed323fed32332f5d33012ffdcc5d10cc5d5d5d5d5d5d5d5d +71717171717272727272725e5d5d5d5d717171717171717272727272725e5d5d5d5d71717171 +71727272725e5d5d5d5d5d7171717171717272725e5d5d5d5d5d5d71717171725e5d31305e5d +5d213537112322060f012311211123272e032b01111715013bd53383b2251b43049c441b1247 +5e6f3a31d5351b04970c08d1013bfec5d104060503fb6b1b350000000002002b00000212054c +0013001d009c4053004a0b0a9b0aab0a03eb0afb0a02840a010a19470b142b14024b145b149b +14fb14040b142b143b14ab14bb14eb1406101440393d48141f041f141f0239f41f01901f0102 +501fa01fb01fc01f04901fa01f021fb8ffc0b32d30481fb8ffc0b3181b481fb8ffc040100d10 +4805530f041a501d0f1419501715003fed323fed3fed012b2b2b5d715f72725e5d10dc2b5e5d +7172fdd45d5d71ed313001140e0223222e0235343e0233321e0203171521353711273521017b +111e281616271e11111e271616281e110aa1fe19a085012b04df16271e11111e271616281e11 +111e28fb51192d2d190320192d000001002b0000061903c5003c03bb4085043501e435f43502 +05351535253503043401e434f43402053415342534030b2701eb27fb2702bf27cf2702272008 +0d480b2801eb28fb2802bf28cf28022820080d48042601e426f4260205261526252603042501 +e425f42502052515252525030b1701eb17fb1702bf17cf17021720080d480b1601eb16fb1602 +bf16cf16021620080d4807b8ffc8400b0a1e480106110621060310b8ffd840d0081048031101 +0803082447292938184706139613020a133e463e763e02293e01143e01063e01f8e43e01d23e +01b43ec43e02a23e01943e01823e01743e01623e01543e01063e163e263e463e04f23e01c43e +d43ee43e03b23e01a43e01363e563e663e763e963e05243e01163e01043e01f43e01d63ee63e +02c43e01963eb63e02843e01763e01593e01343e443e02263e01123e01043e01c8f63e01b43e +c43ed43e03a63e01943e01863e01723e01643e01503e01423e01243e343e02123e01043e01f6 +3e01e23e01d43e01c63e013eb8ff804017afb248523e623e02443e01363e01243e01063e163e +023eb8ff8040ffa4a748a23eb23e02943e01863e01723e01643e01563e01243e343e02163e01 +043e0198d63ee63ef63e03a43eb43ec43e03963e01843e01563e763e02443e01263e363e0202 +3e123e02f43e01e63e01c43ed43e02b63e01843e943e02363e563e763e03243e01063e163e02 +f63e01d43ee43e02c63e01a43e01963e01623e0101503e01443e01303e01043e143e243e0368 +f03e01d43ee43e02743eb43e02403e01043e243e343e03f43e01db3e01b03ec03e02643e843e +a43e03503e01243e343e443e03103e01043e01f43e01d03e01c43e01ab3e01903e01843e013b +3e6b3e02203e01043e143e0238d43ee43e02603ea03e02543e01403e01143e343e02405b943e +c43ee43ef43e04803e01543e743e02403e01343e011b3e01043e01e43e01c03e0102103e503e +703e803eb03e050f3e01080033477038010038013839503c0f13182429330538502716361508 +21211c520d100032322d520510003fed3210c93fed3210c93f3333ed17323fed012f5d71ed32 +5e5d5d5f5d5d7171717171717172727272725e5d5d5d5d5d5d5d5d5d71717171717171717272 +7272725e5d5d5d5d5f5d5d5d5d5d5d717171717171717172727272727272725e5d5d5d5d5d5d +5d5d5d2b71717171712b717171717272727272727272727272725e5d5d5d5d5d5d5d5d5d5d5d +7171717171717171727272727272727272725e5d5d5d5d10d45e5ded11392fed3231305f5e5d +2b005d2b012b5d5d712b5d5d715d5d715d5d712b5d5d712b5d5d715d5d715d5d71013e033332 +16173e0333321e021511171521353711342623220e0207161511171521353711342623220e02 +071117152135371127352101461c4d52542445751d205a615f2636583f2379fe558c4b551a45 +453f15118dfe428b55551c3d3b35128dfe5677770113036010241e133439122720141e426a4b +fd96192d2d1902585359080a0d043641fd96192d2d190258535906080b04fd19192d2d190320 +192d00020050ffec034603c5001f002a0074402d8914019813010b138b1302161b261b020918 +191829189918040826481f0b0b1f2c002c013e802ca02cf02c032cb8ffc0b3434a482cb8ffc0 +40172a2e482501488816011600502525062050191006511116003fed3fed12392fed012f5ded +322b2b715e5d10ce322f10ed31305e5d5d5d5d5d0115141e0233323e0237150e0323222e0235 +343633321e021d0101220e021521342e020104153f725d1e42423e1a17414e582d75a1642cce +bf4b836239fe97385135190192112b4801d9124986673d05080a06380f1b160d407eba79f6f2 +285e9e7652019c2f567b4c4c7b562f00000000010098feee0260058d00070178401f07040214 +0244025402040c020b0901fde40901d00901b409c40902a0090109b8ffc0400beff448100920 +0930090309b8ffc04012e8eb48b009c00902640984099409a4090409b8ff804011dde0480409 +140902d409f40902c0090109b8ffc04029d2d648600901540901300940090204091409240903 +cbb409d409e40903a00901840994090270090109b8ffc0409eb7c1489b09ab09bb0903840901 +3b094b0902bb09db09eb090394090109409da0480409019b7b098b09eb0903bb09cb09fb0903 +7409012b093b0902ab09db090284090109406a6d4804090169f409014b095b09bb09031b092b +093b095b096b098b099b09cb09080f0901ff0901029f09af09df09ef09045009010f090139ff +0901c009014009d00902df090180090104f001400e11480103f5020006f500002fed3fed012f +2bed5d5d7172725e5d5d5d5f5d717172725e5d2b5d5d717171725e5d2b5d5d7171712b727272 +725e5d5d5d5d2b5d5d712b71712b722b727272725e5dcd5e5d32313013112115051105159801 +c8fed70129feee069f2f29fa11292f0000010054ffec02d303c5003500a140244a328a32027c +158c15023a164a167a168a1604053315332533033c1a4c1a7c1a8c1a0402b8ffd84017090d48 +1e18090c48254010154825251346003720370137b8ffc040301e21484f375f37af37032d461c +0b0b1c132d052a5021342644260226262110105005340b440ba40b03200b010b0b0516003f33 +2f5d5d10ed3f332f5d10ed123939012f332f10ed5d2b7110deed332f2b31302b2b5d005d5d5d +5d01140e0223222e02273533171e0133323635342e0635343e02333216171523272e01232206 +15141e0602d32754855e2f5b4e3a0d2d311f62425d652a44575b57442a2e53734544823c2f2a +1a5a3351552a45585c58452a01083f694b290b0f1005e7831c28515532412c1d1e263c5a4340 +644423130ccd6d171850442e3b291e2029405c000001004afeee0212058d000701a4400f0409 +00190049005900040c0002f007b8ffc040280c11480709060916093609460904fbf60901e409 +01d60901b409c40902a209017409840994090309b8ffc04012edf148120901040901e409f409 +02d6090109b8ff80b6e3e74876090109b8ff804033dee1482209010409140902f40901e60901 +c409d40902a609b6090274098409026209013409440954090306091609260903cb09b8ffc040 +19c6c948a4090196090184090172090101400950096009030209b8ffc0b3bbbe4809b8ff8040 +25b7ba489f09af0902800901df09ef090200099009a009c009049bc009d009027f098f090209 +b8ffc040648c8f48ff090140097009d00903df09018009b009c009034f090100090169f00901 +bf09019009a009024f095f090200091009025f096f09cf09039f09af09020940464c48500980 +09020f0901396009c009024009d00902df090180090104f5050001f500002fed3fed015d5d71 +725e5d5d2b5d7172727272725e5d5d5d5d71712b72725e5d5d71712b2b5f725f727272722b5e +5d5d5d5d5d5d5d5d71712b712b717172722b7272727272725e5d10de2bedcd5e5d3231301335 +2511253521114a0129fed701c8feee2f2905ef292ff961000001003b00000598053d001300a0 +402f18075807023707011201520708075a131214131207135c00061006020c06150015013f40 +1501201501a015e0150212b8ffc840390810481208095c500e010e050815080203000508030f +5f12021103090e5fd51301831301026013701302511301431301251335130213070c12003f33 +335d5d5d5d5f5d5ded323f3333ed17325f5d012f5ded32322b5d71725e5d10de5e5dfd32872b +872bc4015d5d313001273521150711230111171521353711273521010483b401c9ac61fcc5b4 +fe37acac019602b204ee1a35351afb1204b6fb9a1b35351b049e1a35fc1f00000002004effec +03b203c5000b001f008c403c840a940a02050a018b089b08020a08018b049b04020904018402 +940202060201080c4800210021202102102130215021e02104002120214021033b21b8ffc040 +16414a489f2101702101402160218021a0210460210121b8ffc0400e252e4816480611500910 +1b500316003fed3fed012fed2b5d7172722b5e5d717210deed31305e5d5d5d5d5d5d5d5d0114 +0223222635343633321607342e0223220e0215141e0233323e0203b2d6e2d4d8d8dcd6dab41a +3d64494a6038161638604a49643d1a01dbefff00fef1eefcf7f36199693737699961629a6b39 +396b9a00000000010087ffe3017900d50013002740190096000a01000a100af00a03000a100a +f00a03080a0f9b0513003fed012f5e5d7172ed313025140e0223222e0235343e0233321e0201 +7913202d191a2c201313202c1a192d20135c192c211313212c19192d201313202d000001003f +000002aa05a2002101af400d09061906290603080b2301fd23b8ffc0405ef8fb488b23013423 +44236423038423d423e423f42304702301142344235423642304542364237423b423e423f423 +060b231b2302ccf02301c423d423e423038b230134236423742303a423d423e423f423045423 +64237423e423f4230523b8ffc0400ab0b3480b231b23029c23b8ffc0400c989b489b23017423 +84230223b8ffc04031898d48ab2301542364238423031b2301042301f42301bb230164237423 +8423031b232b23020423016b6423842394230323b8ffc040906568484b2301042301f42301ab +23bb23029423012b235b23020423142302ab23bb23cb230304231423442354237423053afb23 +01b423d42302a023012423342344237423842394230610230102002301202330235023802390 +23b023e023f02308102320238023c02304180d0d1c470300211021202180210408211c21501f +15001a5003190f1250095f0e010e0e0901003f332f5d10ed3f33ed323fed32012f5e5d32ed32 +2f325d71725f72727272725e5d5d717171717172722b725e5d5d5d5d5d717171712b72722b5e +5d2b5d71727272725e5d5d71717172722b5e5d31305e5d1323353735343e0233321617152327 +2e0123220e021d01331523111715213537e1a2a22b5175492d461c312d10261c232c1a0afafa +cbfe048b03583127426aa16d380b08cd7b0a0b1f4164469c54fcf6212d2d210000000001004e +ffec034e03c50027006d40270807880702080d880d0208090101190601011d13132729002901 +3e40298029a029d029f0290529b8ffc0401f2a2d485f29af2902561d661d021d48790a890a02 +0a1850140f102722510516003fed323f33ed012f5ded5d5d2b715e5d10ce322f3130005e5d01 +5e5d5e5d5d250e0323222e0235343e02333216171123272e0123220e0215141e0233323e0237 +034e1a4852592a7aad6e344378a56251983e372b256939416345231e4c81632247433b173913 +1d130a4380b97580b97738130cfefaa6151a2f649a6b5a91663805090c070001002900000298 +03c50018006bb3040a0102b8ffd8402f090f48131f016f017f010301010947000e100e200ec0 +0ed00ee00e06080e1f1a5f1a02401a01561366130213031802b8ffc04010090c48020218100f +50120f090e500c15003fed323fed3f332f2b10c9335d0171722f5e5ded322f5d3231302b5d01 +152327220e020711171521353711273521173e033302982b3a1c40403b16a1fe427777011209 +17505d5d2403c5fe6e080d120afd42192d2d190320192d7513312c1e0001003b00000468053d +001000e0400a05071507020903081212b8ff80403060644806121612261246125612661206f4 +1201e61201d4120166127612a612b612c612055412012612461202d6120112b8ff8040394145 +486612761202441254120232120101201201141201001201391412341264129412d412e412f4 +1207001201027012014012501270120312b8ffc0b325284812b8ffc0b31a1d4812b8ffc0401c +131748025a500ce00c020c010d5f0f030c5f0a500801080803600a12003fed332f5d10ed3fed +32012f5ded2b2b2b5d715f72725e5d5d5d5f5d5d5d2b5d717171717171722b10ce31305f5e5d +01071121323637133303213537112735210277cf01087d9e1e3e4112fbe5acac023c05081afb +680e060117fe7f351b049e1a350000000001002d000005a2053d001b019140426b1b014f1b01 +5514014a1401500d01340d014906b90602651b012a1a3a1a4a1a03bb1901bb18014a15011314 +012a133a13020b101b10020b0f1b0f022a0e3a0e020cb8ffb840b10c0d48330c01250c01500b +01350b450b02500a010402140202040114010208140c151b071a0013000d0c1506071a050e05 +140d0c150c1b06071a070e015200130060050e1405050e070152150c155a1a07141a1a070e6b +137b13021313140d1b0604071a5f15011b15010015010c151d1f1d5f1d020f1d3f1d4f1d7f1d +af1def1d06df1dff1d02001d401d701db01d043b401d01201d801d901d03001d601d701da01d +c01dd01de01d070c9407a4070207b8ff8840240f114853070107070005051c0c0e1303075f1b +06140d040310090300151a03055f180312003f33ed17323f33121739ed17321101332f33332f +5d2b5d325d71725e5d5d717210cc5e5d5d5d32111739322f5d3387102b872bc48718102b872b +c41087c0c01087c0c0108708c008c0108708c008c03130015e5d5d5d5d5d5d5d2b5d5d5d5d5d +5d5d5d5d5d005d5d5d5d5d5d5d25171521353709012735211507090127352115070901171521 +353701013da6fe4a9401c8fe7b970229aa01160137a601b794fe8701cd98fdd7aafea0501b35 +351b025e02401a35351afe62019e1a35351afe0afd581b35351b0208000000010054ffec04e5 +054c002b00684015651c01151d251d651d031518251865180325170124b8ffe8b3090d4812b8 +ffe84027090d481010262d402d011a5b30054005020540080b4805155f0a00110111110a0426 +261f5f0013003fed332f3f332f5d10ed012f2b5ded5d10ce322f31302b2b5d5d5d5d0522242e +01353412362433321e02171323272e0123220e0215141e0233323e023f0133030e030306a4fe +ffb15c5db10102a6457a6f642f06421e46b96075b77e43427cb3723e71614d1a2541062a6c7a +86145caefb9eb40108ad54090e120afedbae2b2f4091edad98e1954a101c2514c8fec50c1712 +0a0000000002003b00000421053d000c002100a4407da411b41102051f01851a951a02051985 +1902080a021a02020e0a180c0f48005a1c230f232f236f237f238f23052f233f234f236f239f +23bf23df23070f235f236f23cf23df23ff230638bf23df23020f232f237f23bf23040f231f23 +3f237f239f23af230608070e5a5013011308600d0d110560145f16030e135f1112003fed323f +eded11392fed012f5ded325e5d71725e5d717210deed31302b5e5d5e5d5d5d5d01342e022b01 +1133323e020111171521353711273521321e0215140e0223035a234f805e62685e7f4d20fe4e +d5fdcb9fac01fa8dbd72302f6fba8a03b050744b24fd852d547afeabfe421b35351b049e1a35 +3d6b905352987446000000010014000003e5058d002800b0b9000dffc0402b08104829143914 +02181401091401091415470f100116102aa02a01002a102ac02ae02a0439a02af02a022ab8ff +c040142b30482f2a01102a01502a01702a802a902a032ab8ffc0b31f22482ab8ffc0402b1316 +48001f47802401002410242024c024d024e024060824255028001f151024501322151e050519 +520a10003fed3311333f33ed3232323fed012f5e5d71ed322b2b5d7172722b725e5d7110dc5e +5ded325e5d5d5d31302b01140e02073e0333321e021511171521353711342623220e02071117 +15213537112735210146010103021c50575724365a412572fe6b7d51551c3f3e36127ffe6477 +8c013203f60e282b280d10241e131e426a4bfd96192d2d19025e535906080b04fd13192d2d19 +0502182d000000010019fe4603f803ac00220388b9001bffe0b3080c481ab8ffe0400d080c48 +16182618020204010804b8ffd0402e0b114806010111031616171d1e1e01520100014b1d1e14 +1d1d1e1601521c1d1c471716141717160116081d011e1db8ffe040ff0911481d1d171e090029 +00022900401d21480024592469247924034b2401192429243924030b2401f8eb24fb24029924 +a924c924038b24015624014b24012440e7ea48eb2401b92401ab240179248924025b246b2402 +3d244d24021b242b2402d624e624f62403a924019b24018d24017b240159246924021624010b +2401c8fb2401ed2401b924c92402ab2401592469248924034b2401092401f92401eb2401d924 +01cb2401b92401ab240176240159246924022b243b244b2403192401d624f624029924a92402 +7b248b2402092469240298f92401db24eb2402c92401b4240176249624a62403492401362401 +1424242402062401d624f62402a92401964085240174248424025624662402022401f22401d4 +24e42402b624c6240289240174240150246024023224422402142424240206240168d624f624 +02b224c22402a42401922401742484240266240154240146240112242224322403042401f424 +01d624e62402b424c42402a62401922401842401522462247224033424442402162426240224 +b8ff804050454848c62401a424b4240292240174248424025224622402342444240226240114 +240106240138f62401d42401b224c2240284249424a424037224016624015424014624013224 +012424011224010124b8ff804009252848b424c4240224b8ffc040551e214850240134244424 +02f42401d0240102702480249024b024c024050f244f240208200c300c400c030c0c1c001720 +170240175017601703001710170209173d1d010b1d0112301dc01d02001d201d301d03491db8 +ffc04022404348051d01451d551d651d851d0401161d0323001c1e03175020190f10510c061c +003f33ed3f33ed17321117335d712b5e5d715e5d5d012f5e5d717232322f5d5e5d5d5f5d5d71 +712b712b5f72727272727272727272725e5d5d5d5d5d5d5d5d5d2b7171717171717171717272 +72727272727272725e5d5d5d5d5d5d5d5d5d7171717171717272727272727272725e5d5d5d5d +71717171717171717171727272727272725e5d5d5d5d5d5d5d5d717171717171712b72727272 +725e5d5d5d5d10ce2b5e5d3211393d2f2b5e5d33338718102b872bc48718102b872bc48708c0 +3130015f5e5d2b5e5d5d2b2b09010e0323222e02273533171633323e023f010127352115071b +01273521150396fe9120425168451a272222152f211f372b463b30161afe9a6001b494fef693 +015e036afc5b518c673b02050605cb601726455e39480370192d2d1bfd6f0293192d2d000000 +058d00150048053d000f0070053d000f000000000000000000000000000003ac001900000000 +ffec00000000ffec00000000ffec0000fe4cfffa000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000080000000000009800a600b4008d00d9005d +000000000000004600500069007500d900000000000000000000000000c100d1006900000000 +0050005a00aa008a0000000000000000000000000000000000000000000000ac00b8005a0000 +000000500060008f0099000000000000000000000000000000000000000000000050009700b3 +00c700d9000000000000000000000050006d007b008d00b500d9013100c90000016f00f20108 +008100c500b800f20131004d0000000000000000000000000000000000000000020e00000066 +0000000000660000000000000000000002db009b028b004a02e40000009900660000022f0210 +00c4009c015e000001740046008d0000000000000046003c0000000000000000000000000000 +00000087007d00000053006800760087000000000000053dfcda0009fff3008f007d004a0082 +0041006c0000000000000000000000bc019f030a00000354009f00a600c100000000002f0000 +0000000000000748036a02b60202fd930000009100670091006101d90000028d034100440511 +01b40000404559585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a3938 +37363531302f2e2d2c28272625242322211f181411100f0e0d0b0a090807060504030201002c +4523466020b02660b004262348482d2c452346236120b02661b004262348482d2c45234660b0 +206120b04660b004262348482d2c4523462361b0206020b02661b02061b004262348482d2c45 +234660b0406120b06660b004262348482d2c4523462361b0406020b02661b04061b004262348 +482d2c0110203c003c2d2c20452320b0cd442320b8015a51582320b08d44235920b0ed515823 +20b04d44235920b0042651582320b00d44235921212d2c20204518684420b001602045b04676 +688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b0282370b101283e01 +b0282370b10228453ab10200080d2d2c2045b00325456164b050515845441b2121592d2c49b0 +0e23442d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061b0008b20b12cc08a +8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0292344b0297ae418 +2d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c4b515845441b2121592d2c01 +b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b006 +2510f500edec2d2c462346608a8a462320468a608a61b8ff8062232010238ab10c0c8a704560 +20b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c2045b0032546524bb013515b58 +b0022546206861b00325b003253f2321381b2111592d2c2045b00325465058b0022546206861 +b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21210c6423648bb84000622d +2c21b08051580c6423648bb82000621bb200402f2b59b002602d2c21b0c051580c6423648bb8 +1555621bb200802f2b59b002602d2c0c6423648bb84000626023212d2c4b53588ab004254964 +234569b0408b61b08062b020616ab00e23442310b00ef61b21238a121120392f592d2c4b5358 +20b0032549646920b00526b0062549642361b08062b020616ab00e2344b0042610b00ef68a10 +b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f592d2c45234560234560 +23456023766818b08062202d2cb0482b2d2c2045b0005458b040442045b04061441b2121592d +2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b515820 +b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f45442d +2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400594444 +2d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923586559 +b02923442310b029e01b2121212121592d2cb0024354584b53234b515a58381b2121591b2121 +2121592d2cb0164358b004254564b020606620581b21b04059b0016123581b6559b0292344b0 +0525b00825082058021b0359b0042510b005252046b0042523423cb00425b0072508b0072510 +b006252046b00425b0016023423c2058011b0059b0042510b00525b029e0b02920456544b007 +2510b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b0072508b006 +25b00325b0016043481b2159212121212121212d2c02b00425202046b004252342b0052508b0 +03254548212121212d2c02b0032520b0042508b0022543482121212d2c452320451820b00050 +205823652359236820b040505821b04059235865598a60442d2c4b53234b515a5820458a6044 +1b2121592d2c4b545820458a60441b2121592d2c4b53234b515a58381b2121592d2cb000214b +5458381b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b21212159 +2d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b212121592d2c208a08234b +538a4b515a5823381b2121592d2c00b0022549b000535820b04038111b21592d2c0146234660 +23466123201020468a61b8ff80628ab140408a704560683a2d2c208a2349648a2353583c1b21 +592d2c4b52587d1b7a592d2cb012004b014b54422d2cb1020042b123018851b1400188535a58 +b910000020885458b202010243604259b12401885158b920000040885458b2020202436042b1 +2401885458b2022002436042004b014b5258b2020802436042591bb940000080885458b20204 +0243604259b94000008063b80100885458b202080243604259b94000010063b80200885458b2 +02100243604259b94000020063b80400885458b202400243604259595959592d2c451868234b +51582320452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e00b00223 +3eb10102060cb00a236542b00b234201b001233f00b002233fb10102060cb006236542b00723 +42b00116012d2c7a8a104523f5182d00000000010000000111eb2400ffce5f0f3cf5001f0800 +00000000d065c68f00000000d065c68ffe96fd93080e07da0000000800020000000000000001 +00000721fe450057086bfe96fe98080e00010000000000000000000000000000001f02ec0044 +0400004e040000b40400005a04000062040000280400004e0400005804000077040000870400 +004204e300250239002b0639002b038d00500200000002aa0098031d005402aa004a05c7003b +0400004e0200008702aa003f038d004e02aa002904e3003b05c7002d055600540473003b0400 +0014040000190000002c009400cc013e01ec024c02fe03a6042404620502062206a008d4094e +094e0a1e0ab80b9e0c140c8c0cc00dca0e3a0e980f2a102810a0112811be13bc00010000001f +01520054007d000500020010002f005a0000040b063900030002b10960be01070001003f0107 +000100bf0104405901e0fd01cffd0120fd017ffb0150fb0180f290f202f1f0291faff0bff002 +4fef5fefafef0330ef010fef010800ed10ed50ed60ed70eda0ed060a0fec010c00eb0111e3e0 +381fdf33dd55de33dc5500dd013c50dd80ddb0dd03b8ffc0405add080b46dd010355dc03161f +10c020c030c070c080c0d0c0e0c0f0c00880be90be02bdbc2f1f0fbc1fbc021fb34fb37fb303 +60a8010fa81fa802509b609b02909c010f9c1f9c2f9c039a992e1f99471e1f9796271fe096f0 +9602b8ffc04035960d11465f95017f928f9202708680869086038085908502af76bf76027350 +291f6f6e2b1f6e472a1f19331855073303550603ff1fb8ffc0404462252846605f401f5f5029 +1f5b5a301f5a47291f1333125505010355043303550f031f033f034f036f038f03bf03070852 +501e1f51501e1fe050f050020f4f1f4f2f4f03b8ffe040614b212846604a704a804a03494629 +1f4847381f0f471f472f47cf47df47ef47065f47019f47019f46af46bf46034046292f464046 +1e21461c481b551633155510330f5502010055013300552f0fff0f020f0f5f0f7f0f030f003f +00028016010501b80190b154532b2b4bb807ff524bb008505bb00188b02553b00188b040515a +b00688b000555a5b58b101018e59858d8d00421d4bb0325358b0601d594bb0645358b0401d59 +4bb0805358b0101db1160042597373742b2b2b2b2b012b2b737374752b2b73002b75742b2b5e +732b2b2b012b2b002b2b2b2b2b2b012b2b002b73017373007373012b732b2b2b737300737373 +017300732b017373002b2b2b735e732b2b012b5e735e73005e735e73737301732b7300737373 +737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 4 4 188 128 +%%EndPageSetup +q 4 4 184 124 rectclip q +0.12549 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +43.199 90.961 m 37.199 90.961 l S Q +BT +10 0 0 10 26.6 41.279997 Tm +/f-0-0 1 Tf +(0)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 77.039 m 37.199 77.039 l S Q +BT +10 0 0 10 26.6 55.199997 Tm +/f-0-0 1 Tf +(1)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 63.121 m 37.199 63.121 l S Q +BT +10 0 0 10 26.6 69.119997 Tm +/f-0-0 1 Tf +(2)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 49.199 m 37.199 49.199 l S Q +BT +10 0 0 10 26.6 83.039997 Tm +/f-0-0 1 Tf +(3)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 35.281 m 37.199 35.281 l S Q +BT +10 0 0 10 26.6 96.959997 Tm +/f-0-0 1 Tf +(4)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 90.961 m 43.199 96.961 l S Q +BT +10 0 0 10 40.7 23.279997 Tm +/f-0-0 1 Tf +(1)Tj +ET +q 1 0 0 -1 0 135.199997 cm +53.52 90.961 m 53.52 96.961 l S Q +BT +10 0 0 10 51.02 23.279997 Tm +/f-0-0 1 Tf +(8)Tj +ET +q 1 0 0 -1 0 135.199997 cm +65.281 90.961 m 65.281 96.961 l S Q +BT +10 0 0 10 60.28 23.279997 Tm +/f-0-0 1 Tf +(16)Tj +ET +q 1 0 0 -1 0 135.199997 cm +77.039 90.961 m 77.039 96.961 l S Q +BT +10 0 0 10 72.04 23.279997 Tm +/f-0-0 1 Tf +(24)Tj +ET +q 1 0 0 -1 0 135.199997 cm +88.879 90.961 m 88.879 96.961 l S Q +BT +10 0 0 10 83.88 23.279997 Tm +/f-0-0 1 Tf +(32)Tj +ET +q 1 0 0 -1 0 135.199997 cm +100.641 90.961 m 100.641 96.961 l S Q +BT +10 0 0 10 95.64 23.279997 Tm +/f-0-0 1 Tf +(40)Tj +ET +q 1 0 0 -1 0 135.199997 cm +112.398 90.961 m 112.398 96.961 l S Q +BT +10 0 0 10 107.4 23.279997 Tm +/f-0-0 1 Tf +(48)Tj +ET +q 1 0 0 -1 0 135.199997 cm +124.238 90.961 m 124.238 96.961 l S Q +BT +10 0 0 10 119.24 23.279997 Tm +/f-0-0 1 Tf +(56)Tj +ET +q 1 0 0 -1 0 135.199997 cm +136 90.961 m 136 96.961 l S Q +BT +10 0 0 10 131 23.279997 Tm +/f-0-0 1 Tf +(64)Tj +ET +q 1 0 0 -1 0 135.199997 cm +147.762 90.961 m 147.762 96.961 l S Q +BT +10 0 0 10 142.76 23.279997 Tm +/f-0-0 1 Tf +(72)Tj +ET +q 1 0 0 -1 0 135.199997 cm +159.52 90.961 m 159.52 96.961 l S Q +BT +10 0 0 10 154.52 23.279997 Tm +/f-0-0 1 Tf +(80)Tj +ET +q 1 0 0 -1 0 135.199997 cm +171.359 90.961 m 171.359 96.961 l S Q +BT +10 0 0 10 166.36 23.279997 Tm +/f-0-0 1 Tf +(88)Tj +ET +q 1 0 0 -1 0 135.199997 cm +183.121 90.961 m 183.121 96.961 l S Q +BT +10 0 0 10 178.12 23.279997 Tm +/f-0-0 1 Tf +(96)Tj +ET +q 1 0 0 -1 0 135.199997 cm +43.199 35.281 m 43.199 90.961 l 183.121 90.961 l S Q +0 g +BT +-0.000000000000001837 10 -10 -0.000000000000001837 11.76 55.1757 Tm +/f-0-0 1 Tf +[(T)35(ime [s])]TJ +10 0 0 10 88.539922 5.279997 Tm +[(No. of cores)]TJ +-0.341992 11.496 Td +(LXC)Tj +ET +0.12549 g +1.6 w +q 1 0 0 -1 0 135.199997 cm +51.121 12 m 79.52 12 l 43.199 80.801 m 44.641 80.641 l 46.16 80.32 l 47.602 + 80.32 l 49.121 80.16 l 50.559 80 l 52 79.762 l 53.52 79.68 l 54.961 48.238 + l 56.48 48.801 l 57.922 48.641 l 59.441 48.559 l 60.879 48.398 l 62.32 +48.16 l 63.84 48.641 l 65.281 48.801 l 66.801 48.48 l 68.238 48.078 l 69.68 + 47.762 l 71.199 48.238 l 72.641 48.238 l 74.16 48 l 75.602 47.602 l 77.039 + 47.84 l 78.559 47.199 l 81.52 47.199 l 82.961 47.039 l 84.398 46.961 l +85.922 46.801 l 87.359 47.602 l 88.879 46.879 l 90.32 45.922 l 91.84 46.238 + l 93.281 46 l 94.719 45.922 l 96.238 45.922 l 97.68 45.68 l 99.199 46 l + 100.641 45.84 l 102.078 45.039 l 103.602 45.922 l 105.039 45.121 l 106.559 + 45.602 l 108 45.199 l 109.441 45.199 l 110.961 45.441 l 112.398 45.121 +l 113.922 44.48 l 115.359 44.801 l 116.879 44.398 l 118.32 44.719 l 119.762 + 44.48 l 121.281 44.16 l 122.719 44.559 l 124.238 44.719 l 125.68 43.68 +l 127.121 43.762 l 128.641 43.84 l 130.078 43.602 l 131.602 43.68 l 133.039 + 43.199 l 134.48 43.359 l 136 43.121 l 137.441 42.641 l 138.961 42.879 l + 140.398 42.641 l 141.922 42.398 l 143.359 42.398 l 144.801 42.719 l 146.32 + 42.398 l 147.762 42.32 l 149.281 40.48 l 150.719 41.68 l 152.16 41.68 l + 153.68 41.52 l 155.121 41.68 l 156.641 41.602 l 158.078 41.68 l 159.52 +41.84 l 161.039 40.32 l 162.48 40.48 l 164 40.238 l 165.441 40.238 l 166.879 + 40.32 l 168.398 40.238 l 169.84 40.48 l 171.359 40.32 l 172.801 39.602 +l 174.32 39.039 l 175.762 39.281 l 177.199 39.199 l 178.719 39.281 l 180.16 + 39.281 l 181.68 39.359 l 183.121 39.602 l S Q +0 g +BT +10 0 0 10 152.72 120.239997 Tm +/f-0-0 1 Tf +(Phys.)Tj +ET +0.12549 g +[ 4 6.4] 0 d +q 1 0 0 -1 0 135.199997 cm +118.719 12 m 147.121 12 l 43.199 89.84 m 44.641 89.68 l 46.16 89.52 l 47.602 + 89.281 l 49.121 89.199 l 50.559 89.039 l 52 88.879 l 53.52 88.719 l 54.961 + 68.879 l 56.48 68.879 l 57.922 68.48 l 59.441 69.039 l 60.879 68.719 l +62.32 68.961 l 63.84 68.801 l 65.281 68.801 l 66.801 68.078 l 68.238 68.32 + l 69.68 68.238 l 71.199 68 l 72.641 68.32 l 74.16 68.32 l 75.602 68.078 + l 77.039 68.238 l 78.559 67.602 l 80 67.121 l 81.52 67.68 l 82.961 67.84 + l 84.398 67.68 l 85.922 67.602 l 87.359 67.52 l 88.879 67.441 l 90.32 67.121 + l 91.84 67.121 l 93.281 66.801 l 94.719 67.199 l 96.238 67.121 l 97.68 +67.121 l 99.199 66.48 l 100.641 67.199 l 102.078 66.398 l 103.602 66.641 + l 105.039 66.398 l 106.559 66.238 l 108 66.559 l 109.441 66.641 l 110.961 + 66.398 l 112.398 66.48 l 113.922 65.762 l 115.359 65.199 l 116.879 65.762 + l 118.32 65.922 l 119.762 65.922 l 121.281 65.762 l 122.719 65.359 l 124.238 + 65.441 l 125.68 64.961 l 127.121 64.961 l 128.641 65.359 l 130.078 65.359 + l 131.602 65.121 l 133.039 64.879 l 134.48 65.281 l 136 64.879 l 137.441 + 64.238 l 138.961 64.398 l 140.398 64.398 l 141.922 64.32 l 143.359 64.48 + l 144.801 63.84 l 146.32 64.238 l 147.762 64.078 l 149.281 62.238 l 150.719 + 62.879 l 152.16 62.238 l 153.68 63.281 l 155.121 63.121 l 156.641 62.879 + l 158.078 62.719 l 159.52 62.879 l 161.039 61.52 l 162.48 61.84 l 164 61.199 + l 165.441 61.359 l 166.879 61.84 l 168.398 62.32 l 169.84 61.68 l 171.359 + 61.922 l 172.801 58.961 l 174.32 59.199 l 175.762 59.359 l 177.199 59.602 + l 178.719 59.441 l 180.16 59.602 l 181.68 59.281 l 183.121 59.52 l S Q +0.8 w +[] 0.0 d +q 1 0 0 -1 0 135.199997 cm +43.199 35.281 m 43.199 90.961 l 183.121 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/graphics/ping-2.eps b/graphics/ping-2.eps @@ -0,0 +1,4866 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.13.1 (http://cairographics.org) +%%CreationDate: Wed Jan 28 18:10:16 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 0 4 193 128 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /LiberationSerif def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 32 /space put +Encoding 44 /comma put +Encoding 46 /period put +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 53 /five put +Encoding 54 /six put +Encoding 55 /seven put +Encoding 56 /eight put +Encoding 57 /nine put +Encoding 78 /N put +Encoding 84 /T put +Encoding 91 /bracketleft put +Encoding 93 /bracketright put +Encoding 97 /a put +Encoding 99 /c put +Encoding 100 /d put +Encoding 101 /e put +Encoding 102 /f put +Encoding 105 /i put +Encoding 109 /m put +Encoding 110 /n put +Encoding 111 /o put +Encoding 112 /p put +Encoding 114 /r put +Encoding 115 /s put +Encoding 116 /t put +Encoding 117 /u put +Encoding 121 /y put +/CharStrings 33 dict dup begin +/.notdef 0 def +/zero 1 def +/one 2 def +/two 3 def +/three 4 def +/four 5 def +/eight 6 def +/six 7 def +/five 8 def +/seven 9 def +/nine 10 def +/T 11 def +/i 12 def +/m 13 def +/e 14 def +/space 15 def +/bracketleft 16 def +/s 17 def +/bracketright 18 def +/N 19 def +/o 20 def +/period 21 def +/f 22 def +/c 23 def +/r 24 def +/p 25 def +/u 26 def +/n 27 def +/comma 28 def +/d 29 def +/t 30 def +/y 31 def +/a 32 def +end readonly def +/sfnts [ +<000100000009008000030010637674203e4240fa00002864000002166670676d73d323b00000 +2a7c00000705676c796671c561fb0000009c000027c86865616406a2e9730000318400000036 +686865610e1f056a000031bc00000024686d747876ad094f000031e0000000846c6f636199d0 +a2ee00003264000000446d61787004f3083b000032a80000002070726570409b59c2000032c8 +000002740002004400000264055500030007002eb101002f3cb2070408ed32b10605dc3cb203 +0208ed3200b103002f3cb2050408ed32b2070609fc3cb2010208ed3233112111252111214402 +20fe240198fe680555faab4404cd00000002004effec03b20552000d00210061b51f100b0f48 +1bb8fff0403d0c0f48561566150211100c0f48770c01790a017806017703010e6f0023002340 +230240236023a023e02304186f40089008a008030813730b071d730519003fed3fed012f5ded +5d7110deed31305d5d5d5d2b5d2b2b0114020e0123220211101233321203342e0223220e0215 +141e0233323e0203b2356ca671d4d8d8dcd4dcb8193b63494a5f361515365f4a49633b1902a4 +a8fefcb15b01640154014d0161fea3feaf90e29b51519be29090e59f55559fe50000000100b4 +000003850548000a003e402a100c500c02500c700cb00cf00c04006e40100501000540055005 +a005b00505080507800a060005730318003fed323f1acd012f5e5d711aed5d71313025051521 +3525110535253302730112fd2f0113fef1018734501b35351b04466135de00000001005a0000 +038f054c0022007f4055251e010519951902080c121c123c124c1204890f012a040114140209 +6f1a22221a24002440240240246024a024e024043421442102213002400202020917218f1201 +001210120212120c7387170117060221760118003fed323f5ded332f5d5d111239012f5d335d +5d7110ce322f10ed11392f3130005d5d015d5e5d5d2901353e0535342623220e020f0123113e +0133321615140e040721038ffccb65a98765432176861e3b362f1223424c9356dcdd2b507494 +b16402b2935e95817680945d8288090f130aa401021219b7a7528c817d86975b00010062ffec +03b0054c003c00b0b386370134b8ffe04073080b482b20090d488c12010a20090d4805030108 +3b3a4b3a023a1b863501356f205f1b6f1b027f208f20022c1b20201b2c0309156f7600860002 +003e003e403e02403e603ea03ee03e0420093009400903093a1b731c1c3210002b102b022b2b +25733207107305700a800a020f0a010a0a0519003f332f5d5d10ed3fed332f5d1112392fed39 +012f5d5d7110de5ded1117392f2f2f5d5d10ed5d11395d31305e5d2b5d2b2b5d01140e022322 +26270333171e0333323e0235342e022f0135373e0135342e0223220e020f0123113e03333216 +15140e02071e0103b04079b17163ba4b0b422d123a43471e5d77451a2c4d673b8f8f716c1b3a +5d431e3d383012234223464c5431d3db22486f4cb6ac016d5b8f63341813011abc0a140f092e +5373444e673f1d0308520906808241614020090f130aa4010209100b07a2a83f6d54390b15a7 +00020028000003e00544000a000e008140100c38161d483506450655060356060106b8fff040 +12131a48101050100250107010b010f010040db8ffe84031161b480d0440141948040a0a0801 +6e0e06000210022002400250027002a002b00208080208050e75000303010b07060118003f3f +3312392f33ed3232012f5e5d3333ed32322f2f2b332b5d7131302b5d71002b01112311213501 +3311331501230121032aacfdaa028f73b6fe9e05fe2001e50127fed90127850398fc728f0332 +fd5d0003004effec03b20552001d00310045009f40708701018503011103148600960002006f +323c6f1f140182149214021032018f329f3202143214320e1e6f860896080208471047504702 +50477047b047f04704286f890e990e02500e010e1103237341412d3773051915192519851995 +190519072d73090b190b290b890b990b05080b19003f5e5ded3f5ded12392fed3939012f5d5d +ed5d7110de5ded1139392f2f5d715d71ed10ed5d11393931305d5d011406071e031514062322 +26353436372e0135343e0233321e0203342e0223220e0215141e0233323e0203342e0223220e +0215141e0233323e0203896b5b36583f22d6e2d6d6806d576d31629464609263328b1a3d6449 +4a6038161638604a49643d1a291532543e3e512f13132f513e3e54321503f66e99281440576f +43bec0bdc185af2928986f4f815b31305a81fd2349714e28284e71494a714c28284c7102d63b +6247282847623b3c604424244460000000020058ffec03c3054c0026003600ac404b82240114 +14241454146414741405341c641c741c033535953502040301042514252425842504082c6f00 +df130113400d104813138600010038003840380240386038a038e038041f326f0ab8fff0402c +0c0f48300a400a020a1f32322f748622012222271a730f0014101420140314140f0727738805 +017905010519003f5d5ded3f332f5d10ed12392f5ded3210c9012f5d2bed325d7110ce5d322f +2b7110ed31305e5d5d5d5d5d005d01140e0223222e01023534123e01333216171523272e0323 +220e02073e0133321e0201323e0235342623220607141e0203c3356899646ead773f538bb662 +4b9a3e4223122f3333174771522f0448ab5454875e32fe6240583617677044954a1f446801a0 +68a2703a56ab00ffaab60106aa50140fe7890a100c07448ad08d26302f6092fe392a557f54a4 +921a1890de994f00000000010077ffec03b0053d002c007940318502010f20090d4806080105 +031503250303082626281a6f7605860502052e002e402e02402e602ea02ee02e042870230eb8 +ffc0401d090d480e221f730000152776240615730a700f800f020f0f010f0f0a19003f332f5d +5d10ed3fed12392fed32012f2bd6ed5d7110de5ded12392f31305e5d5d2b5d01321e0215140e +02232226270333171e0333323e0235342e02232206072311211521113e0301e570ac743b3976 +b3795ea94c0b422d12333c401e5d77451a1b487d623b5a1d6002a8fdb2122d374503102d5e91 +655f9a6e3c1516011abc0a140f092f5678494e744e271008029999fe54040807050000010087 +000003c5053d0008004f401b0020090f480506060107030a000a400a02400a600aa00ae00a04 +01b8ffc04014080d48010518040876028f000100000100000206003f332f5d5d10ed393f012f +2b5d7110ce3211392f3331302b132311211501230121c942033efdaa81024bfdb30400013d4d +fb1004a4000000020042ffec03ac054c00280038009b406d37180c0f488927019a1f011e280c +0f483b1e011b162b16026a0d7a0d9a0d030a261a262a260334216f0a3a103a503a02503a703a +b03af03a042c6f0014146f007f0002002134343174092489249924032424291c73111f162f16 +3f160316161119297306058605960503080507003f5e5ded3f332f5d10ed12392f5ded3210c9 +012f5d332f10ed5d7110deed323130005d015d5d5d2b5d5d2b13343e0233321e011215140e04 +232226273533171e0333323e02370e0123222e0201220615141e0233323637342e02423c70a0 +6472a66d35274661748345588f444123132f33351946795a3705429a59548c653701b2817921 +3f5b3b42843e1c3c6203a4679f6b3750a7fefeb181cb9a6d441f1111e890090e0b053b84d398 +253033659601bab3a9527247201c1993df954b00000000010025000004c1053d001701f140ff +050d150d250d030a081a0802090f1901fe0f194f195f197f198f19bf19df19ff1908f019018f +199f19cf19037019010f191f194f1903cf19df19ef1903b019019f19018019011f192f195f19 +03001901ce6f19af19bf19ef19045019010f192f193f1903ff1901d01901bf1901a019013f19 +4f197f19032019017f199f19bf19cf19ff19056019014f19013019010f19019def1901d01901 +2f196f197f19af1904101901bf19cf19ef19ff19049019a019027f19016019010f193f1902e0 +19013f195f197f198f19bf19052019010f19016bf01901cf1901a019018f19017019010f191f +194f1903f01901cf1901b019015f196f198f199f1904301940190240871f1901001901df1901 +8019b019025f190100193019023bff1901e01901cf1901b019014f195f198f1903301901b019 +e019f019038f19017019015f190100192019301903f01901df1901c019019f19017019801902 +1f192f193f1903001901500c800cb00cc00c040c025f098f09bf09cf090409155a020d000901 +09091403600a0315025f0012003fed323fed32332f5d33012ffdcc5d10cc5d5d5d5d5d5d5d5d +71717171717272727272725e5d5d5d5d717171717171717272727272725e5d5d5d5d71717171 +71727272725e5d5d5d5d5d7171717171717272725e5d5d5d5d5d5d71717171725e5d31305e5d +5d213537112322060f012311211123272e032b01111715013bd53383b2251b43049c441b1247 +5e6f3a31d5351b04970c08d1013bfec5d104060503fb6b1b350000000002002b00000212054c +0013001d009c4053004a0b0a9b0aab0a03eb0afb0a02840a010a19470b142b14024b145b149b +14fb14040b142b143b14ab14bb14eb1406101440393d48141f041f141f0239f41f01901f0102 +501fa01fb01fc01f04901fa01f021fb8ffc0b32d30481fb8ffc0b3181b481fb8ffc040100d10 +4805530f041a501d0f1419501715003fed323fed3fed012b2b2b5d715f72725e5d10dc2b5e5d +7172fdd45d5d71ed313001140e0223222e0235343e0233321e0203171521353711273521017b +111e281616271e11111e271616281e110aa1fe19a085012b04df16271e11111e271616281e11 +111e28fb51192d2d190320192d000001002b0000061903c5003c03bb4085043501e435f43502 +05351535253503043401e434f43402053415342534030b2701eb27fb2702bf27cf2702272008 +0d480b2801eb28fb2802bf28cf28022820080d48042601e426f4260205261526252603042501 +e425f42502052515252525030b1701eb17fb1702bf17cf17021720080d480b1601eb16fb1602 +bf16cf16021620080d4807b8ffc8400b0a1e480106110621060310b8ffd840d0081048031101 +0803082447292938184706139613020a133e463e763e02293e01143e01063e01f8e43e01d23e +01b43ec43e02a23e01943e01823e01743e01623e01543e01063e163e263e463e04f23e01c43e +d43ee43e03b23e01a43e01363e563e663e763e963e05243e01163e01043e01f43e01d63ee63e +02c43e01963eb63e02843e01763e01593e01343e443e02263e01123e01043e01c8f63e01b43e +c43ed43e03a63e01943e01863e01723e01643e01503e01423e01243e343e02123e01043e01f6 +3e01e23e01d43e01c63e013eb8ff804017afb248523e623e02443e01363e01243e01063e163e +023eb8ff8040ffa4a748a23eb23e02943e01863e01723e01643e01563e01243e343e02163e01 +043e0198d63ee63ef63e03a43eb43ec43e03963e01843e01563e763e02443e01263e363e0202 +3e123e02f43e01e63e01c43ed43e02b63e01843e943e02363e563e763e03243e01063e163e02 +f63e01d43ee43e02c63e01a43e01963e01623e0101503e01443e01303e01043e143e243e0368 +f03e01d43ee43e02743eb43e02403e01043e243e343e03f43e01db3e01b03ec03e02643e843e +a43e03503e01243e343e443e03103e01043e01f43e01d03e01c43e01ab3e01903e01843e013b +3e6b3e02203e01043e143e0238d43ee43e02603ea03e02543e01403e01143e343e02405b943e +c43ee43ef43e04803e01543e743e02403e01343e011b3e01043e01e43e01c03e0102103e503e +703e803eb03e050f3e01080033477038010038013839503c0f13182429330538502716361508 +21211c520d100032322d520510003fed3210c93fed3210c93f3333ed17323fed012f5d71ed32 +5e5d5d5f5d5d7171717171717172727272725e5d5d5d5d5d5d5d5d5d71717171717171717272 +7272725e5d5d5d5d5f5d5d5d5d5d5d717171717171717172727272727272725e5d5d5d5d5d5d +5d5d5d2b71717171712b717171717272727272727272727272725e5d5d5d5d5d5d5d5d5d5d5d +7171717171717171727272727272727272725e5d5d5d5d10d45e5ded11392fed3231305f5e5d +2b005d2b012b5d5d712b5d5d715d5d715d5d712b5d5d712b5d5d715d5d715d5d71013e033332 +16173e0333321e021511171521353711342623220e0207161511171521353711342623220e02 +071117152135371127352101461c4d52542445751d205a615f2636583f2379fe558c4b551a45 +453f15118dfe428b55551c3d3b35128dfe5677770113036010241e133439122720141e426a4b +fd96192d2d1902585359080a0d043641fd96192d2d190258535906080b04fd19192d2d190320 +192d00020050ffec034603c5001f002a0074402d8914019813010b138b1302161b261b020918 +191829189918040826481f0b0b1f2c002c013e802ca02cf02c032cb8ffc0b3434a482cb8ffc0 +40172a2e482501488816011600502525062050191006511116003fed3fed12392fed012f5ded +322b2b715e5d10ce322f10ed31305e5d5d5d5d5d0115141e0233323e0237150e0323222e0235 +343633321e021d0101220e021521342e020104153f725d1e42423e1a17414e582d75a1642cce +bf4b836239fe97385135190192112b4801d9124986673d05080a06380f1b160d407eba79f6f2 +285e9e7652019c2f567b4c4c7b562f00000000010098feee0260058d00070178401f07040214 +0244025402040c020b0901fde40901d00901b409c40902a0090109b8ffc0400beff448100920 +0930090309b8ffc04012e8eb48b009c00902640984099409a4090409b8ff804011dde0480409 +140902d409f40902c0090109b8ffc04029d2d648600901540901300940090204091409240903 +cbb409d409e40903a00901840994090270090109b8ffc0409eb7c1489b09ab09bb0903840901 +3b094b0902bb09db09eb090394090109409da0480409019b7b098b09eb0903bb09cb09fb0903 +7409012b093b0902ab09db090284090109406a6d4804090169f409014b095b09bb09031b092b +093b095b096b098b099b09cb09080f0901ff0901029f09af09df09ef09045009010f090139ff +0901c009014009d00902df090180090104f001400e11480103f5020006f500002fed3fed012f +2bed5d5d7172725e5d5d5d5f5d717172725e5d2b5d5d717171725e5d2b5d5d7171712b727272 +725e5d5d5d5d2b5d5d712b71712b722b727272725e5dcd5e5d32313013112115051105159801 +c8fed70129feee069f2f29fa11292f0000010054ffec02d303c5003500a140244a328a32027c +158c15023a164a167a168a1604053315332533033c1a4c1a7c1a8c1a0402b8ffd84017090d48 +1e18090c48254010154825251346003720370137b8ffc040301e21484f375f37af37032d461c +0b0b1c132d052a5021342644260226262110105005340b440ba40b03200b010b0b0516003f33 +2f5d5d10ed3f332f5d10ed123939012f332f10ed5d2b7110deed332f2b31302b2b5d005d5d5d +5d01140e0223222e02273533171e0133323635342e0635343e02333216171523272e01232206 +15141e0602d32754855e2f5b4e3a0d2d311f62425d652a44575b57442a2e53734544823c2f2a +1a5a3351552a45585c58452a01083f694b290b0f1005e7831c28515532412c1d1e263c5a4340 +644423130ccd6d171850442e3b291e2029405c000001004afeee0212058d000701a4400f0409 +00190049005900040c0002f007b8ffc040280c11480709060916093609460904fbf60901e409 +01d60901b409c40902a209017409840994090309b8ffc04012edf148120901040901e409f409 +02d6090109b8ff80b6e3e74876090109b8ff804033dee1482209010409140902f40901e60901 +c409d40902a609b6090274098409026209013409440954090306091609260903cb09b8ffc040 +19c6c948a4090196090184090172090101400950096009030209b8ffc0b3bbbe4809b8ff8040 +25b7ba489f09af0902800901df09ef090200099009a009c009049bc009d009027f098f090209 +b8ffc040648c8f48ff090140097009d00903df09018009b009c009034f090100090169f00901 +bf09019009a009024f095f090200091009025f096f09cf09039f09af09020940464c48500980 +09020f0901396009c009024009d00902df090180090104f5050001f500002fed3fed015d5d71 +725e5d5d2b5d7172727272725e5d5d5d5d71712b72725e5d5d71712b2b5f725f727272722b5e +5d5d5d5d5d5d5d5d71712b712b717172722b7272727272725e5d10de2bedcd5e5d3231301335 +2511253521114a0129fed701c8feee2f2905ef292ff961000001003b00000598053d001300a0 +402f18075807023707011201520708075a131214131207135c00061006020c06150015013f40 +1501201501a015e0150212b8ffc840390810481208095c500e010e050815080203000508030f +5f12021103090e5fd51301831301026013701302511301431301251335130213070c12003f33 +335d5d5d5d5f5d5ded323f3333ed17325f5d012f5ded32322b5d71725e5d10de5e5dfd32872b +872bc4015d5d313001273521150711230111171521353711273521010483b401c9ac61fcc5b4 +fe37acac019602b204ee1a35351afb1204b6fb9a1b35351b049e1a35fc1f00000002004effec +03b203c5000b001f008c403c840a940a02050a018b089b08020a08018b049b04020904018402 +940202060201080c4800210021202102102130215021e02104002120214021033b21b8ffc040 +16414a489f2101702101402160218021a0210460210121b8ffc0400e252e4816480611500910 +1b500316003fed3fed012fed2b5d7172722b5e5d717210deed31305e5d5d5d5d5d5d5d5d0114 +0223222635343633321607342e0223220e0215141e0233323e0203b2d6e2d4d8d8dcd6dab41a +3d64494a6038161638604a49643d1a01dbefff00fef1eefcf7f36199693737699961629a6b39 +396b9a00000000010087ffe3017900d50013002740190096000a01000a100af00a03000a100a +f00a03080a0f9b0513003fed012f5e5d7172ed313025140e0223222e0235343e0233321e0201 +7913202d191a2c201313202c1a192d20135c192c211313212c19192d201313202d000001003f +000002aa05a2002101af400d09061906290603080b2301fd23b8ffc0405ef8fb488b23013423 +44236423038423d423e423f42304702301142344235423642304542364237423b423e423f423 +060b231b2302ccf02301c423d423e423038b230134236423742303a423d423e423f423045423 +64237423e423f4230523b8ffc0400ab0b3480b231b23029c23b8ffc0400c989b489b23017423 +84230223b8ffc04031898d48ab2301542364238423031b2301042301f42301bb230164237423 +8423031b232b23020423016b6423842394230323b8ffc040906568484b2301042301f42301ab +23bb23029423012b235b23020423142302ab23bb23cb230304231423442354237423053afb23 +01b423d42302a023012423342344237423842394230610230102002301202330235023802390 +23b023e023f02308102320238023c02304180d0d1c470300211021202180210408211c21501f +15001a5003190f1250095f0e010e0e0901003f332f5d10ed3f33ed323fed32012f5e5d32ed32 +2f325d71725f72727272725e5d5d717171717172722b725e5d5d5d5d5d717171712b72722b5e +5d2b5d71727272725e5d5d71717172722b5e5d31305e5d1323353735343e0233321617152327 +2e0123220e021d01331523111715213537e1a2a22b5175492d461c312d10261c232c1a0afafa +cbfe048b03583127426aa16d380b08cd7b0a0b1f4164469c54fcf6212d2d210000000001004e +ffec034e03c50027006d40270807880702080d880d0208090101190601011d13132729002901 +3e40298029a029d029f0290529b8ffc0401f2a2d485f29af2902561d661d021d48790a890a02 +0a1850140f102722510516003fed323f33ed012f5ded5d5d2b715e5d10ce322f3130005e5d01 +5e5d5e5d5d250e0323222e0235343e02333216171123272e0123220e0215141e0233323e0237 +034e1a4852592a7aad6e344378a56251983e372b256939416345231e4c81632247433b173913 +1d130a4380b97580b97738130cfefaa6151a2f649a6b5a91663805090c070001002900000298 +03c50018006bb3040a0102b8ffd8402f090f48131f016f017f010301010947000e100e200ec0 +0ed00ee00e06080e1f1a5f1a02401a01561366130213031802b8ffc04010090c48020218100f +50120f090e500c15003fed323fed3f332f2b10c9335d0171722f5e5ded322f5d3231302b5d01 +152327220e020711171521353711273521173e033302982b3a1c40403b16a1fe427777011209 +17505d5d2403c5fe6e080d120afd42192d2d190320192d7513312c1e00020021fe4c03b003c5 +0021003000904065692f792f02061d018411941102061101840b940b02030b01080601010922 +480e32403201003280320239403201503270329032d032f0320570329032d032034f32012b16 +041c47002110212021d021040821211c501e1b2e5013162a27510409100050030f003fed3f33 +ed323fed3fed32012f5e5ded3232325d5d71725e5d7210deed31305e5d5e5d5d5d5d5d5d1327 +3521173e0333321e0215140e02232226271e031d01171521353701342e0223220607111e0133 +3236986b0108021539424a26588c623334689d6933713301030101a4fe4077026422415e3b30 +6d262a663384780366192d37121d150c3e7bb57673b983460b0b0c1f211c09fe182f2f18034e +66905b2a1110fd110809db000001001bffec03dd03ac001d0098405917400810480c093c0902 +0c083c0802080f06470f0bef0b02140b1fa01f01001f101fc01fe01f0439001f201f301f401f +e01f05401f601f701fb01f04201f601f701f801fa01fb01f060047b019018f199f1902c019d0 +190219b8ffc04014080b4819071a50091d0f0603520f14160b500e15003fed3f33ed323f33ed +32012f2b5d7171ed5d71725e5d7110dc5e5ded3231305e5d5d2b011416333236371127352111 +171521270e0323222e02351127352101394b553878388e013377feee081d5057582436583f23 +78011e010c53590f1002e7192dfc9a192d4c10221c121e42694b0266192d00000001002f0000 +03e103c5002300b6b90008ffe0402a091048040801080f10090c480f10470b0beb0b02160b25 +a4250104251425c425e4250439a425f4250225b8ffc040182b30482b2501142501c025010250 +25017025802590250325b8ffc0b31f224825b8ffc0402d131648001a47801fc01f02001f101f +201fc01fd01fe01f06081f2050230f1a100b1f500e1d1519000014520510003fed3311333f33 +ed3232323fed012f5e5d71ed322b2b5d715f7172722b725e5d7110dc5e5ded322b31305e5d2b +013e0333321e021511171521353711342623220e02071117152135371127352101441c4d5454 +24365a412572fe6b7d51551c3e3c35127ffe6a7171010c036010241e131e426a4bfd96192d2d +190258535f06080b04fd13192d2d190320192d000001004efec5017f00d30017003db4099800 +9705b8ffc0402108114805001001106019d01902069d05a86f097f098f090309601370138013 +0313002f5d335df4ed015d2f5dc42bfded313025140e0207353e0135342e0435343633321e02 +017f214974535b55141e231e1444351c342718313b6f5e4c184d1d54371219131219251c3639 +15293d000002004affec03e7058d001a0029007c4035662876280298080109088908029c0401 +8d04010c04010812002347172b002b0147002b01402b802bc02b03202b602b802bc02b042bb8 +ffc0401c2b2e481b484f05010517501a151350160027500a1023000020510316003fed3310c9 +3fed3fed3fed012f5ded2b5d71725e5d10dced323231305e5d5d5d5d5d5d250e01232011343e +02333216172e033d012735211117152101141e0233323637112e0123220602d32c8359fe7f33 +6aa26f337335020201019e014474fef8fe1f2544603b3c6a252a6e33857f46233701e175bb83 +450c0b0b2b31300ff4182dfab9192d01cd69905927171002e70809d600010014ffec022d0481 +0019005740390238081148040601af1b01c01b013f1b4f1b020a0e4703501460140214140700 +0310032003030803040c500940090e4809070b0f1511510016003fed333f33ce2bed32012f5e +5d33332f5d10ed325d5d7231305d2b052226351123353f01331533152311141633323637150e +03014e605f7b7d653fd7d73b3025491f0f313b4214726702932d27d5d554fd7f41420a06410a +140f0a00000000010019fe4603f803ac00220388b9001bffe0b3080c481ab8ffe0400d080c48 +16182618020204010804b8ffd0402e0b114806010111031616171d1e1e01520100014b1d1e14 +1d1d1e1601521c1d1c471716141717160116081d011e1db8ffe040ff0911481d1d171e090029 +00022900401d21480024592469247924034b2401192429243924030b2401f8eb24fb24029924 +a924c924038b24015624014b24012440e7ea48eb2401b92401ab240179248924025b246b2402 +3d244d24021b242b2402d624e624f62403a924019b24018d24017b240159246924021624010b +2401c8fb2401ed2401b924c92402ab2401592469248924034b2401092401f92401eb2401d924 +01cb2401b92401ab240176240159246924022b243b244b2403192401d624f624029924a92402 +7b248b2402092469240298f92401db24eb2402c92401b4240176249624a62403492401362401 +1424242402062401d624f62402a92401964085240174248424025624662402022401f22401d4 +24e42402b624c6240289240174240150246024023224422402142424240206240168d624f624 +02b224c22402a42401922401742484240266240154240146240112242224322403042401f424 +01d624e62402b424c42402a62401922401842401522462247224033424442402162426240224 +b8ff804050454848c62401a424b4240292240174248424025224622402342444240226240114 +240106240138f62401d42401b224c2240284249424a424037224016624015424014624013224 +012424011224010124b8ff804009252848b424c4240224b8ffc040551e214850240134244424 +02f42401d0240102702480249024b024c024050f244f240208200c300c400c030c0c1c001720 +170240175017601703001710170209173d1d010b1d0112301dc01d02001d201d301d03491db8 +ffc04022404348051d01451d551d651d851d0401161d0323001c1e03175020190f10510c061c +003f33ed3f33ed17321117335d712b5e5d715e5d5d012f5e5d717232322f5d5e5d5d5f5d5d71 +712b712b5f72727272727272727272725e5d5d5d5d5d5d5d5d5d2b7171717171717171717272 +72727272727272725e5d5d5d5d5d5d5d5d5d7171717171717272727272727272725e5d5d5d5d +71717171717171717171727272727272725e5d5d5d5d5d5d5d5d717171717171712b72727272 +725e5d5d5d5d10ce2b5e5d3211393d2f2b5e5d33338718102b872bc48718102b872bc48708c0 +3130015f5e5d2b5e5d5d2b2b09010e0323222e02273533171633323e023f010127352115071b +01273521150396fe9120425168451a272222152f211f372b463b30161afe9a6001b494fef693 +015e036afc5b518c673b02050605cb601726455e39480370192d2d1bfd6f0293192d2d000000 +00020048ffec037103c1002a0036009740216b26011b172b17020e163e160212200b0f481d12 +2d12020c12010d110101040103b8ffe0401d091148010301081c0a364706388038015f380140 +380180380131471427b8ffc0401f0a0e4827274f1401142626222b501c1c003633510a0f1606 +50091522500010003fed3fed3f33ed3211392fed12392f012f5d332f2b10ed5d71727210dced +323231305e5d2b5d5d5d5d2b5d5d5d01321e021511171521270e0323222e0235343e043f0135 +342e022322060f0123353e0113070e0315143332363701d1406e502d75fefe130f33485f3a44 +5d38181e3649555f308d0e21382a3062252238418bd6833b56381c8f44633203c1183a634bfd +85192d5e0f2823182a4b673c3e5b3e2716080104932a45321c1a1575cd0e15fe1e0402132e50 +3eb01f18058d00150048053d000f0070053d000f000000000000000000000000000003ac0019 +00000000ffec00000000ffec00000000ffec0000fe4cfffa0000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000080000000000009800a600b4008d +00d9005d000000000000004600500069007500d900000000000000000000000000c100d10069 +000000000050005a00aa008a0000000000000000000000000000000000000000000000ac00b8 +005a0000000000500060008f0099000000000000000000000000000000000000000000000050 +009700b300c700d9000000000000000000000050006d007b008d00b500d9013100c90000016f +00f20108008100c500b800f20131004d0000000000000000000000000000000000000000020e +000000660000000000660000000000000000000002db009b028b004a02e40000009900660000 +022f021000c4009c015e000001740046008d0000000000000046003c00000000000000000000 +0000000000000087007d00000053006800760087000000000000053dfcda0009fff3008f007d +004a00820041006c0000000000000000000000bc019f030a00000354009f00a600c100000000 +002f00000000000000000748036a02b60202fd930000009100670091006101d90000028d0341 +0044051101b40000404559585554535251504f4e4d4c4b4a494847464544434241403f3e3d3c +3b3a393837363531302f2e2d2c28272625242322211f181411100f0e0d0b0a09080706050403 +0201002c4523466020b02660b004262348482d2c452346236120b02661b004262348482d2c45 +234660b0206120b04660b004262348482d2c4523462361b0206020b02661b02061b004262348 +482d2c45234660b0406120b06660b004262348482d2c4523462361b0406020b02661b04061b0 +04262348482d2c0110203c003c2d2c20452320b0cd442320b8015a51582320b08d44235920b0 +ed51582320b04d44235920b0042651582320b00d44235921212d2c20204518684420b0016020 +45b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b4323430b2d2c00b0282370b1 +01283e01b0282370b10228453ab10200080d2d2c2045b00325456164b050515845441b212159 +2d2c49b00e23442d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061b0008b20 +b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0292344b0 +297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c4b515845441b2121 +592d2c01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d +2c01b0062510f500edec2d2c462346608a8a462320468a608a61b8ff8062232010238ab10c0c +8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c2045b0032546524bb0 +13515b58b0022546206861b00325b003253f2321381b2111592d2c2045b00325465058b00225 +46206861b00325b003253f2321381b2111592d2c00b00743b006430b2d2c21210c6423648bb8 +4000622d2c21b08051580c6423648bb82000621bb200402f2b59b002602d2c21b0c051580c64 +23648bb81555621bb200802f2b59b002602d2c0c6423648bb84000626023212d2c4b53588ab0 +04254964234569b0408b61b08062b020616ab00e23442310b00ef61b21238a121120392f592d +2c4b535820b0032549646920b00526b0062549642361b08062b020616ab00e2344b0042610b0 +0ef68a10b00e2344b00ef6b00e2344b00eed1b8ab00426111220392320392f2f592d2c452345 +6023456023456023766818b08062202d2cb0482b2d2c2045b0005458b040442045b04061441b +2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c +4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb0 +2f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3330034 +005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0016159 +23586559b02923442310b029e01b2121212121592d2cb0024354584b53234b515a58381b2121 +591b21212121592d2cb0164358b004254564b020606620581b21b04059b0016123581b6559b0 +292344b00525b00825082058021b0359b0042510b005252046b0042523423cb00425b0072508 +b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525b029e0b0292045 +6544b0072510b00625b029e0b00525b00825082058021b0359b00525b003254348b00425b007 +2508b00625b00325b0016043481b2159212121212121212d2c02b00425202046b004252342b0 +052508b003254548212121212d2c02b0032520b0042508b0022543482121212d2c4523204518 +20b00050205823652359236820b040505821b04059235865598a60442d2c4b53234b515a5820 +458a60441b2121592d2c4b545820458a60441b2121592d2c4b53234b515a58381b2121592d2c +b000214b5458381b2121592d2cb002435458b0462b1b21212121592d2cb002435458b0472b1b +212121592d2cb002435458b0482b1b21212121592d2cb002435458b0492b1b212121592d2c20 +8a08234b538a4b515a5823381b2121592d2c00b0022549b000535820b04038111b21592d2c01 +4623466023466123201020468a61b8ff80628ab140408a704560683a2d2c208a2349648a2353 +583c1b21592d2c4b52587d1b7a592d2cb012004b014b54422d2cb1020042b123018851b14001 +88535a58b910000020885458b202010243604259b12401885158b920000040885458b2020202 +436042b12401885458b2022002436042004b014b5258b2020802436042591bb9400000808854 +58b202040243604259b94000008063b80100885458b202080243604259b94000010063b80200 +885458b202100243604259b94000020063b80400885458b202400243604259595959592d2c45 +1868234b51582320452064b04050587c59688a6059442d2cb00016b00225b0022501b001233e +00b002233eb10102060cb00a236542b00b234201b001233f00b002233fb10102060cb0062365 +42b0072342b00116012d2c7a8a104523f5182d00000000010000000111ebdf7ea1385f0f3cf5 +001f080000000000d065c68f00000000d065c68ffe96fd93080e07da00000008000200000000 +0000000100000721fe450057086bfe96fe98080e000100000000000000000000000000000021 +02ec00440400004e040000b40400005a04000062040000280400004e04000058040000770400 +00870400004204e300250239002b0639002b038d00500200000002aa0098031d005402aa004a +05c7003b0400004e0200008702aa003f038d004e02aa0029040000210400001b0400002f0200 +004e0400004a0239001404000019038d00480000002c009400cc013e01ec024c02fe03a60424 +04620502062206a008d4094e094e0a1e0ab80b9e0c140c8c0cc00dca0e3a0e980f280fa41036 +107a10f8114c134a13e400010000002101520054007d000500020010002f005a0000040b0639 +00030002b10960be01070001003f0107000100bf0104405901e0fd01cffd0120fd017ffb0150 +fb0180f290f202f1f0291faff0bff0024fef5fefafef0330ef010fef010800ed10ed50ed60ed +70eda0ed060a0fec010c00eb0111e3e0381fdf33dd55de33dc5500dd013c50dd80ddb0dd03b8 +ffc0405add080b46dd010355dc03161f10c020c030c070c080c0d0c0e0c0f0c00880be90be02 +bdbc2f1f0fbc1fbc021fb34fb37fb30360a8010fa81fa802509b609b02909c010f9c1f9c2f9c +039a992e1f99471e1f9796271fe096f09602b8ffc04035960d11465f95017f928f9202708680 +869086038085908502af76bf76027350291f6f6e2b1f6e472a1f19331855073303550603ff1f +b8ffc0404462252846605f401f5f50291f5b5a301f5a47291f1333125505010355043303550f +031f033f034f036f038f03bf03070852501e1f51501e1fe050f050020f4f1f4f2f4f03b8ffe0 +40614b212846604a704a804a034946291f4847381f0f471f472f47cf47df47ef47065f47019f +47019f46af46bf46034046292f4640461e21461c481b551633155510330f5502010055013300 +552f0fff0f020f0f5f0f7f0f030f003f00028016010501b80190b154532b2b4bb807ff524bb0 +08505bb00188b02553b00188b040515ab00688b000555a5b58b101018e59858d8d00421d4bb0 +325358b0601d594bb0645358b0401d594bb0805358b0101db1160042597373742b2b2b2b2b01 +2b2b737374752b2b73002b75742b2b5e732b2b2b012b2b002b2b2b2b2b2b012b2b002b730173 +73007373012b732b2b2b737300737373017300732b017373002b2b2b735e732b2b012b5e735e +73005e735e73737301732b7300737373737301737373185e00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 4 193 128 +%%EndPageSetup +q 0 4 193 124 rectclip q +0.12549 g +0.8 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +48.078 90.961 m 42.078 90.961 l S Q +BT +10 0 0 10 31.48 41.279997 Tm +/f-0-0 1 Tf +(0)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 77.039 m 42.078 77.039 l S Q +BT +10 0 0 10 31.48 55.199997 Tm +/f-0-0 1 Tf +(1)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 63.121 m 42.078 63.121 l S Q +BT +10 0 0 10 31.48 69.119997 Tm +/f-0-0 1 Tf +(2)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 49.199 m 42.078 49.199 l S Q +BT +10 0 0 10 31.48 83.039997 Tm +/f-0-0 1 Tf +(3)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 35.281 m 42.078 35.281 l S Q +BT +10 0 0 10 31.48 96.959997 Tm +/f-0-0 1 Tf +(4)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 90.961 m 48.078 96.961 l S Q +BT +10 0 0 10 45.58 23.279997 Tm +/f-0-0 1 Tf +(1)Tj +ET +q 1 0 0 -1 0 135.199997 cm +58.398 90.961 m 58.398 96.961 l S Q +BT +10 0 0 10 55.9 23.279997 Tm +/f-0-0 1 Tf +(8)Tj +ET +q 1 0 0 -1 0 135.199997 cm +70.16 90.961 m 70.16 96.961 l S Q +BT +10 0 0 10 65.16 23.279997 Tm +/f-0-0 1 Tf +(16)Tj +ET +q 1 0 0 -1 0 135.199997 cm +81.922 90.961 m 81.922 96.961 l S Q +BT +10 0 0 10 76.92 23.279997 Tm +/f-0-0 1 Tf +(24)Tj +ET +q 1 0 0 -1 0 135.199997 cm +93.762 90.961 m 93.762 96.961 l S Q +BT +10 0 0 10 88.76 23.279997 Tm +/f-0-0 1 Tf +(32)Tj +ET +q 1 0 0 -1 0 135.199997 cm +105.52 90.961 m 105.52 96.961 l S Q +BT +10 0 0 10 100.52 23.279997 Tm +/f-0-0 1 Tf +(40)Tj +ET +q 1 0 0 -1 0 135.199997 cm +117.281 90.961 m 117.281 96.961 l S Q +BT +10 0 0 10 112.28 23.279997 Tm +/f-0-0 1 Tf +(48)Tj +ET +q 1 0 0 -1 0 135.199997 cm +129.121 90.961 m 129.121 96.961 l S Q +BT +10 0 0 10 124.12 23.279997 Tm +/f-0-0 1 Tf +(56)Tj +ET +q 1 0 0 -1 0 135.199997 cm +140.879 90.961 m 140.879 96.961 l S Q +BT +10 0 0 10 135.88 23.279997 Tm +/f-0-0 1 Tf +(64)Tj +ET +q 1 0 0 -1 0 135.199997 cm +152.641 90.961 m 152.641 96.961 l S Q +BT +10 0 0 10 147.64 23.279997 Tm +/f-0-0 1 Tf +(72)Tj +ET +q 1 0 0 -1 0 135.199997 cm +164.398 90.961 m 164.398 96.961 l S Q +BT +10 0 0 10 159.4 23.279997 Tm +/f-0-0 1 Tf +(80)Tj +ET +q 1 0 0 -1 0 135.199997 cm +176.238 90.961 m 176.238 96.961 l S Q +BT +10 0 0 10 171.24 23.279997 Tm +/f-0-0 1 Tf +(88)Tj +ET +q 1 0 0 -1 0 135.199997 cm +188 90.961 m 188 96.961 l S Q +BT +10 0 0 10 183 23.279997 Tm +/f-0-0 1 Tf +(96)Tj +ET +q 1 0 0 -1 0 135.199997 cm +48.078 35.281 m 48.078 90.961 l 188 90.961 l S Q +0 g +BT +-0.000000000000001837 10 -10 -0.000000000000001837 16.64 55.1757 Tm +/f-0-0 1 Tf +[(T)35(ime [s])]TJ +10 0 0 10 93.419922 5.279997 Tm +[(No. of cores)]TJ +-5.941992 11.496 Td +[(mpirun, destroy)]TJ +ET +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +0 126.239 28.398 -6 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +48.078 54.399 m 48.078 51.36 l 49.52 51.278 l 49.52 54.559 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +49.52 54.559 m 49.52 51.278 l 51.039 51.278 l 51.039 54.88 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +51.039 54.88 1.441 -3.602 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +52.48 54.88 m 52.48 51.278 l 54 51.278 l 54 55.04 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +54 55.04 m 54 51.278 l 55.441 51.278 l 55.441 55.2 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +55.441 55.2 m 55.441 51.278 l 56.879 51.36 l 56.879 55.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +56.879 55.438 m 56.879 51.36 l 58.398 51.278 l 58.398 55.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +58.398 55.52 m 58.398 51.278 l 59.84 51.278 l 59.84 86.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +59.84 86.962 m 59.84 51.278 l 61.359 51.36 l 61.359 86.399 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +61.359 86.399 m 61.359 51.36 l 62.801 51.278 l 62.801 86.559 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +62.801 86.559 m 62.801 51.278 l 64.32 51.278 l 64.32 86.641 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +64.32 86.641 m 64.32 51.278 l 65.762 51.36 l 65.762 86.802 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +65.762 86.802 m 65.762 51.36 l 67.199 51.278 l 67.199 87.04 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +67.199 87.04 m 67.199 51.278 l 68.719 51.36 l 68.719 86.559 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +68.719 86.559 m 68.719 51.36 l 70.16 51.278 l 70.16 86.399 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +70.16 86.399 m 70.16 51.278 l 71.68 51.278 l 71.68 86.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +71.68 86.72 m 71.68 51.278 l 73.121 51.278 l 73.121 87.122 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +73.121 87.122 m 73.121 51.278 l 74.559 51.36 l 74.559 87.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +74.559 87.438 m 74.559 51.36 l 76.078 51.36 l 76.078 86.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +76.078 86.962 m 76.078 51.36 l 77.52 51.278 l 77.52 86.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +77.52 86.962 m 77.52 51.278 l 79.039 51.278 l 79.039 87.2 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +79.039 87.2 m 79.039 51.278 l 80.48 51.278 l 80.48 87.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +80.48 87.598 m 80.48 51.278 l 81.922 51.278 l 81.922 87.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +81.922 87.36 m 81.922 51.278 l 83.441 51.278 l 83.441 88.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +83.441 88.001 1.438 -36.723 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +84.879 88.001 m 84.879 51.278 l 86.398 51.36 l 86.398 88.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +86.398 88.001 m 86.398 51.36 l 87.84 51.36 l 87.84 88.161 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +87.84 88.161 m 87.84 51.36 l 89.281 51.36 l 89.281 88.239 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +89.281 88.239 m 89.281 51.36 l 90.801 51.36 l 90.801 88.399 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +90.801 88.399 m 90.801 51.36 l 92.238 51.36 l 92.238 87.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +92.238 87.598 m 92.238 51.36 l 93.762 51.278 l 93.762 88.321 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +93.762 88.321 m 93.762 51.278 l 95.199 51.278 l 95.199 89.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +95.199 89.278 m 95.199 51.278 l 96.719 51.36 l 96.719 88.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +96.719 88.962 m 96.719 51.36 l 98.16 51.278 l 98.16 89.2 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +98.16 89.2 m 98.16 51.278 l 99.602 51.36 l 99.602 89.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +99.602 89.278 1.52 -37.918 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +101.121 89.278 m 101.121 51.36 l 102.559 51.278 l 102.559 89.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +102.559 89.52 m 102.559 51.278 l 104.078 51.36 l 104.078 89.2 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +104.078 89.2 m 104.078 51.36 l 105.52 51.52 l 105.52 89.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +105.52 89.36 m 105.52 51.52 l 106.961 51.36 l 106.961 90.161 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +106.961 90.161 m 106.961 51.36 l 108.48 51.36 l 108.48 89.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +108.48 89.278 m 108.48 51.36 l 109.922 51.36 l 109.922 90.079 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +109.922 90.079 m 109.922 51.36 l 111.441 51.278 l 111.441 89.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +111.441 89.598 m 111.441 51.278 l 112.879 51.36 l 112.879 90.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +112.879 90.001 m 112.879 51.36 l 114.32 51.278 l 114.32 90.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +114.32 90.001 m 114.32 51.278 l 115.84 51.36 l 115.84 89.759 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +115.84 89.759 m 115.84 51.36 l 117.281 51.36 l 117.281 90.079 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +117.281 90.079 m 117.281 51.36 l 118.801 51.278 l 118.801 90.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +118.801 90.72 m 118.801 51.278 l 120.238 51.36 l 120.238 90.399 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +120.238 90.399 m 120.238 51.36 l 121.762 51.36 l 121.762 90.802 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +121.762 90.802 m 121.762 51.36 l 123.199 51.278 l 123.199 90.481 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +123.199 90.481 m 123.199 51.278 l 124.641 51.438 l 124.641 90.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +124.641 90.72 m 124.641 51.438 l 126.16 51.36 l 126.16 91.04 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +126.16 91.04 m 126.16 51.36 l 127.602 51.36 l 127.602 90.641 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +127.602 90.641 m 127.602 51.36 l 129.121 51.36 l 129.121 90.481 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +129.121 90.481 m 129.121 51.36 l 130.559 51.36 l 130.559 91.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +130.559 91.52 m 130.559 51.36 l 132 51.36 l 132 91.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +132 91.438 m 132 51.36 l 133.52 51.36 l 133.52 91.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +133.52 91.36 m 133.52 51.36 l 134.961 51.36 l 134.961 91.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +134.961 91.598 m 134.961 51.36 l 136.48 51.36 l 136.48 91.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +136.48 91.52 m 136.48 51.36 l 137.922 51.36 l 137.922 92.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +137.922 92.001 m 137.922 51.36 l 139.359 51.36 l 139.359 91.841 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +139.359 91.841 m 139.359 51.36 l 140.879 51.36 l 140.879 92.079 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +140.879 92.079 m 140.879 51.36 l 142.32 51.36 l 142.32 92.559 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +142.32 92.559 m 142.32 51.36 l 143.84 51.278 l 143.84 92.321 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +143.84 92.321 m 143.84 51.278 l 145.281 51.36 l 145.281 92.559 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +145.281 92.559 m 145.281 51.36 l 146.801 51.36 l 146.801 92.802 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +146.801 92.802 1.438 -41.441 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +148.238 92.802 m 148.238 51.36 l 149.68 51.36 l 149.68 92.481 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +149.68 92.481 m 149.68 51.36 l 151.199 51.36 l 151.199 92.802 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +151.199 92.802 m 151.199 51.36 l 152.641 51.438 l 152.641 92.88 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +152.641 92.88 m 152.641 51.438 l 154.16 51.438 l 154.16 94.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +154.16 94.72 m 154.16 51.438 l 155.602 51.36 l 155.602 93.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +155.602 93.52 m 155.602 51.36 l 157.039 51.438 l 157.039 93.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +157.039 93.52 m 157.039 51.438 l 158.559 51.438 l 158.559 93.68 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +158.559 93.68 m 158.559 51.438 l 160 51.36 l 160 93.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +160 93.52 m 160 51.36 l 161.52 51.36 l 161.52 93.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +161.52 93.598 m 161.52 51.36 l 162.961 51.438 l 162.961 93.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +162.961 93.52 m 162.961 51.438 l 164.398 51.438 l 164.398 93.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +164.398 93.36 m 164.398 51.438 l 165.922 51.36 l 165.922 94.88 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +165.922 94.88 m 165.922 51.36 l 167.359 51.36 l 167.359 94.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +167.359 94.72 m 167.359 51.36 l 168.879 51.52 l 168.879 94.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +168.879 94.962 m 168.879 51.52 l 170.32 51.438 l 170.32 94.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +170.32 94.962 m 170.32 51.438 l 171.762 51.438 l 171.762 94.88 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +171.762 94.88 m 171.762 51.438 l 173.281 51.438 l 173.281 94.962 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +173.281 94.962 m 173.281 51.438 l 174.719 51.438 l 174.719 94.72 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +174.719 94.72 m 174.719 51.438 l 176.238 51.438 l 176.238 94.88 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +176.238 94.88 m 176.238 51.438 l 177.68 51.438 l 177.68 95.598 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +177.68 95.598 m 177.68 51.438 l 179.199 51.438 l 179.199 96.161 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +179.199 96.161 m 179.199 51.438 l 180.641 51.438 l 180.641 95.919 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +180.641 95.919 m 180.641 51.438 l 182.078 51.438 l 182.078 96.001 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +182.078 96.001 m 182.078 51.438 l 183.602 51.36 l 183.602 95.919 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +183.602 95.919 m 183.602 51.36 l 185.039 51.438 l 185.039 95.919 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +185.039 95.919 m 185.039 51.438 l 186.559 51.438 l 186.559 95.841 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 0 m 800 1200 l 0 -400 m 1200 800 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +186.559 95.841 m 186.559 51.438 l 188 51.438 l 188 95.598 l h +f +0 g +BT +10 0 0 10 157.6 120.239997 Tm +/f-0-0 1 Tf +(create)Tj +ET +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +123.602 126.239 28.398 -6 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +48.078 51.36 m 48.078 44.239 l 49.52 44.239 l 49.52 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +49.52 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +51.039 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +52.48 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +54 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +55.441 51.278 m 55.441 44.239 l 56.879 44.239 l 56.879 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +56.879 51.36 m 56.879 44.239 l 58.398 44.239 l 58.398 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +58.398 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +59.84 51.278 m 59.84 44.239 l 61.359 44.239 l 61.359 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +61.359 51.36 m 61.359 44.239 l 62.801 44.239 l 62.801 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +62.801 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +64.32 51.278 m 64.32 44.239 l 65.762 44.239 l 65.762 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +65.762 51.36 m 65.762 44.239 l 67.199 44.239 l 67.199 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +67.199 51.278 m 67.199 44.239 l 68.719 44.239 l 68.719 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +68.719 51.36 m 68.719 44.239 l 70.16 44.239 l 70.16 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +70.16 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +71.68 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +73.121 51.278 m 73.121 44.239 l 74.559 44.239 l 74.559 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +74.559 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +76.078 51.36 m 76.078 44.239 l 77.52 44.239 l 77.52 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +77.52 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +79.039 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +80.48 51.278 1.441 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +81.922 51.278 1.52 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +83.441 51.278 1.438 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +84.879 51.278 m 84.879 44.239 l 86.398 44.239 l 86.398 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +86.398 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +87.84 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +89.281 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +90.801 51.36 1.438 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +92.238 51.36 m 92.238 44.239 l 93.762 44.239 l 93.762 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +93.762 51.278 1.438 -7.039 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +95.199 51.278 m 95.199 44.239 l 96.719 44.239 l 96.719 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +96.719 51.36 m 96.719 44.239 l 98.16 44.239 l 98.16 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +98.16 51.278 m 98.16 44.239 l 99.602 44.239 l 99.602 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +99.602 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +101.121 51.36 m 101.121 44.239 l 102.559 44.239 l 102.559 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +102.559 51.278 m 102.559 44.239 l 104.078 44.239 l 104.078 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +104.078 51.36 m 104.078 44.239 l 105.52 44.239 l 105.52 51.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +105.52 51.52 m 105.52 44.239 l 106.961 44.239 l 106.961 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +106.961 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +108.48 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +109.922 51.36 m 109.922 44.239 l 111.441 44.239 l 111.441 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +111.441 51.278 m 111.441 44.239 l 112.879 44.239 l 112.879 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +112.879 51.36 m 112.879 44.239 l 114.32 44.239 l 114.32 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +114.32 51.278 m 114.32 44.239 l 115.84 44.239 l 115.84 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +115.84 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +117.281 51.36 m 117.281 44.239 l 118.801 44.239 l 118.801 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +118.801 51.278 m 118.801 44.239 l 120.238 44.239 l 120.238 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +120.238 51.36 1.523 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +121.762 51.36 m 121.762 44.239 l 123.199 44.239 l 123.199 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +123.199 51.278 m 123.199 44.239 l 124.641 44.239 l 124.641 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +124.641 51.438 m 124.641 44.239 l 126.16 44.239 l 126.16 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +126.16 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +127.602 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +129.121 51.36 1.438 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +130.559 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +132 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +133.52 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +134.961 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +136.48 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +137.922 51.36 1.438 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +139.359 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +140.879 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +142.32 51.36 m 142.32 44.239 l 143.84 44.239 l 143.84 51.278 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +143.84 51.278 m 143.84 44.239 l 145.281 44.239 l 145.281 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +145.281 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +146.801 51.36 1.438 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +148.238 51.36 1.441 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +149.68 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +151.199 51.36 m 151.199 44.239 l 152.641 44.239 l 152.641 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +152.641 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +154.16 51.438 m 154.16 44.239 l 155.602 44.239 l 155.602 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +155.602 51.36 m 155.602 44.239 l 157.039 44.239 l 157.039 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +157.039 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +158.559 51.438 m 158.559 44.239 l 160 44.239 l 160 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +160 51.36 1.52 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +161.52 51.36 m 161.52 44.239 l 162.961 44.239 l 162.961 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +162.961 51.438 1.438 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +164.398 51.438 m 164.398 44.239 l 165.922 44.239 l 165.922 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +165.922 51.36 1.438 -7.121 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +167.359 51.36 m 167.359 44.239 l 168.879 44.239 l 168.879 51.52 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +168.879 51.52 m 168.879 44.239 l 170.32 44.239 l 170.32 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +170.32 51.438 1.441 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +171.762 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +173.281 51.438 1.438 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +174.719 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +176.238 51.438 1.441 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +177.68 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +179.199 51.438 1.441 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +180.641 51.438 1.438 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +182.078 51.438 m 182.078 44.239 l 183.602 44.239 l 183.602 51.36 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +183.602 51.36 m 183.602 44.239 l 185.039 44.239 l 185.039 51.438 l h +f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +185.039 51.438 1.52 -7.199 re f +/CairoPattern { + q +0.12549 g +100 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 800 cm +-400 800 m 800 -400 l 0 1200 m 1200 0 l S Q + Q +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 800 /YStep 800 + /BBox [0 0 800 800] + /PaintProc { CairoPattern } +>> +[ 0.008 0 0 0.008 4.88 128.799997 ] +makepattern setpattern +186.559 51.438 1.441 -7.199 re f +0.12549 g +1.6 w +1 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 135.199997 cm +48.078 83.84 m 49.52 83.922 l 55.441 83.922 l 56.879 83.84 l 58.398 83.922 + l 59.84 83.922 l 61.359 83.84 l 62.801 83.922 l 64.32 83.922 l 65.762 83.84 + l 67.199 83.922 l 68.719 83.84 l 70.16 83.922 l 73.121 83.922 l 74.559 +83.84 l 76.078 83.84 l 77.52 83.922 l 84.879 83.922 l 86.398 83.84 l 92.238 + 83.84 l 93.762 83.922 l 95.199 83.922 l 96.719 83.84 l 98.16 83.922 l 99.602 + 83.84 l 101.121 83.84 l 102.559 83.922 l 104.078 83.84 l 105.52 83.68 l + 106.961 83.84 l 109.922 83.84 l 111.441 83.922 l 112.879 83.84 l 114.32 + 83.922 l 115.84 83.84 l 117.281 83.84 l 118.801 83.922 l 120.238 83.84 +l 121.762 83.84 l 123.199 83.922 l 124.641 83.762 l 126.16 83.84 l 142.32 + 83.84 l 143.84 83.922 l 145.281 83.84 l 151.199 83.84 l 152.641 83.762 +l 154.16 83.762 l 155.602 83.84 l 157.039 83.762 l 158.559 83.762 l 160 +83.84 l 161.52 83.84 l 162.961 83.762 l 164.398 83.762 l 165.922 83.84 l + 167.359 83.84 l 168.879 83.68 l 170.32 83.762 l 182.078 83.762 l 183.602 + 83.84 l 185.039 83.762 l 188 83.762 l S Q +q 1 0 0 -1 0 135.199997 cm +48.078 80.801 m 49.52 80.641 l 51.039 80.32 l 52.48 80.32 l 54 80.16 l +55.441 80 l 56.879 79.762 l 58.398 79.68 l 59.84 48.238 l 61.359 48.801 +l 62.801 48.641 l 64.32 48.559 l 65.762 48.398 l 67.199 48.16 l 68.719 48.641 + l 70.16 48.801 l 71.68 48.48 l 73.121 48.078 l 74.559 47.762 l 76.078 48.238 + l 77.52 48.238 l 79.039 48 l 80.48 47.602 l 81.922 47.84 l 83.441 47.199 + l 86.398 47.199 l 87.84 47.039 l 89.281 46.961 l 90.801 46.801 l 92.238 + 47.602 l 93.762 46.879 l 95.199 45.922 l 96.719 46.238 l 98.16 46 l 99.602 + 45.922 l 101.121 45.922 l 102.559 45.68 l 104.078 46 l 105.52 45.84 l 106.961 + 45.039 l 108.48 45.922 l 109.922 45.121 l 111.441 45.602 l 112.879 45.199 + l 114.32 45.199 l 115.84 45.441 l 117.281 45.121 l 118.801 44.48 l 120.238 + 44.801 l 121.762 44.398 l 123.199 44.719 l 124.641 44.48 l 126.16 44.16 + l 127.602 44.559 l 129.121 44.719 l 130.559 43.68 l 132 43.762 l 133.52 + 43.84 l 134.961 43.602 l 136.48 43.68 l 137.922 43.199 l 139.359 43.359 + l 140.879 43.121 l 142.32 42.641 l 143.84 42.879 l 145.281 42.641 l 146.801 + 42.398 l 148.238 42.398 l 149.68 42.719 l 151.199 42.398 l 152.641 42.32 + l 154.16 40.48 l 155.602 41.68 l 157.039 41.68 l 158.559 41.52 l 160 41.68 + l 161.52 41.602 l 162.961 41.68 l 164.398 41.84 l 165.922 40.32 l 167.359 + 40.48 l 168.879 40.238 l 170.32 40.238 l 171.762 40.32 l 173.281 40.238 + l 174.719 40.48 l 176.238 40.32 l 177.68 39.602 l 179.199 39.039 l 180.641 + 39.281 l 182.078 39.199 l 183.602 39.281 l 185.039 39.281 l 186.559 39.359 + l 188 39.602 l S Q +0.8 w +q 1 0 0 -1 0 135.199997 cm +48.078 35.281 m 48.078 90.961 l 188 90.961 l S Q +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/header.tex b/header.tex @@ -0,0 +1,25 @@ +\title{Experience in Building Virtual Private Supercomputer} + +\numberofauthors{2} %The number of authors + +\author{ +\alignauthor Vladimir Korkhov, Ivan Gankevich, Alexander Degtyarev, Alexander Bogdanov \\ +\affiliation{St. Petersburg State University, Russia} +\email{vladimir@csa.ru, igankevich@ya.ru, deg@csa.ru, bogdanov@csa.ru}\\ +\alignauthor Vladimir Gaiduchok, Nabil Ahmed, Amissi Cubahiro +\affiliation{St. Petersburg Electrotechnical University “LETI”, Russia} +\email{gvladimiru@gmail.com} +} + +%\alignauthor First-Name, Second-Name \\ %First author +% \affiliation{University Name\\ City, Country } +% \email{email1@email.com} +%\alignauthor First-Name, Second-Name\\ %Second author +% \affiliation{Group, Company\\ City, Country} +% \email{email2@email.com}\\ +%\alignauthor xxx\\%... +% \affiliation{xxx} +% \email{xxx}\\ +%} +% Authors ----------------------------------------------------------------------- +\date{28 September - 2 October 2015, Yerevan, Armenia}+ \ No newline at end of file diff --git a/main.tex b/main.tex @@ -0,0 +1,81 @@ +\documentclass{CSITproc} +\usepackage{booktabs} +\usepackage{url} +\graphicspath{ {graphics/} } +\input{header} + +\begin{document} +\maketitle + +\begin{abstract} +Efficient distribution of high performance computing resources according to actual application needs has been a major research topic since high-performance computing (HPC) technologies became widely introduced. At the same time, comfortable and transparent access to these resources was a key user requirement. In this paper we discuss approaches to build a virtual private supercomuputer (VPS), a virtual computing environment tailored specifically for a target user with a particular target application. Virtualization is one of the cornerstone technologies that helps shaping resources to what is needed by actual users by providing as much as needed when it is needed. However, new issues arise when working with large-scale applications that require large amounts of resources working together. We describe and evaluate possibilities to create the VPS based on light-weight virtualization technologies, and analyze the efficiency of our approach compared to traditional methods of HPC resource management. + +\end{abstract} +\keywords{Virtual cluster, application container, job scheduling, virtual network, high-performance computing.} + +\section{Introduction} +\label{sec:intro} + +Virtualization refers to the act of creating a virtual version of an object, including but not limited to a virtual computer hardware platform, operating system (OS), storage device, or computer network resources~\cite{wiki-viz}. It can be divided onto several types, and each one has its own pros and cons. Generally, hardware virtualization refers to abstraction of functionalities from physical devices. Nowadays, on modern multicore systems with powerful hardware it is possible to run several virtual guest operating systems on a single physical node. In a usual computer system, a single operating system uses all available hardware resources (CPU, RAM, etc), whilst virtualized system can use a special layer that spreads low-level resources to several systems or applications; this layer looks like a real machine for launched applications. + +Virtualization technologies facilitate creation of a virtual supercomputer or virtual clusters that are adapted to problem being solved and help to manage processes running on these clusters (see Figure~\ref{fig:fig-vc}). The work described in this paper continues and summarizes our earlier research presented in~\cite{vworkspace,gankevich-ondemand2015,vsc-csit13,vsc-iccsa14,vkorkhov-iccsa15}. + +\begin{figure} +\includegraphics[width=8cm]{fig-vcluster.pdf} +\caption{A testbed example with a set of virtual clusters over several physical resources.} +\vspace{60pt} +\label{fig:fig-vc} +\end{figure} + +In our experience, the main benefit of virtualization for high-performance computing is structural decomposition of a distributed system into unified entities -- virtual machines or application containers -- which simplifies maintenance of the system. A new entity can be created for each new version of the application with optimal configuration and set of libraries, so that multiple versions of the same software may co-exist and run on the same physical cluster. Entities can be copied or efficiently shared between different physical machines to create private cluster for each application run. + +In our experience, virtualization sometimes gives increase in application performance, however, it is not easy achievable. Allocating a separate container for each application allows compiling it for hybrid GPGPU systems which may or may not improve performance of an application. However, such optimizations are possible even without application containers. Full virtualization gives an option of choosing the right operating system for an application, but gives constant decrease in performance due to overheads, which is not tolerable for large-scale parallel applications. + +Thus, for high-performance computing virtualization is a tool that helps manage parallel and distributed applications running on physical cluster. It allows different versions of the same libraries and operating systems to co-exist and to be used as environments for running applications that depend on them. + +In this work we evaluate the capabilities given by different approaches and virtualization technologies to build a computational environment with configurable computation (CPU, memory) and network (latency, bandwidth) characteristics, which we call Virtual Private Supercomputer (VPS)~\cite{vsc-csit13}. Such configuration enables flexible partitioning of available physical resources between a number of concurrent applications utilizing a single infrastructure. Depending on application requirements and priorities of execution each application can get a customized virtual environment with as much resources as it needs or is allowed to use. + +Section~\ref{sec:relwork} gives an overview of related work in the area of virtualization applied to high-performance computing. +%Section~\ref{sec:full} describes our experience in using full virtualization for HPC problems. +Section~\ref{sec:cont} presents the approaches to use light-weight virtualization to build the virtual computing environment along with some results of its experimental evaluation. Section~\ref{sec:discussion} discusses the experience and observed experimental results; and Section~\ref{sec:conclusion} concludes the paper. + +\section{Related work} +\label{sec:relwork} + +Research works on the subject of virtual clusters can be divided into two broad groups: works dealing with provisioning and deploying virtual clusters in high performance environment or GRID and works dealing with overheads of virtualization. Works from the first group typically assume that virtualization overheads are low and acceptable in high performance computing, and works from the second group in general assume that virtualization has some benefits for high performance computing. + +In~\cite{chen2009efficient} authors evaluate overheads of the system for on-line virtual cluster provisioning (based on QEMU/KVM) and different resource mapping strategies used in this system and show that the main source of deploying overhead is network transfer of virtual machine images. To reduce it they use different caching techniques to reuse already transferred images as well as multicast file transfer to increase network throughput. Simultaneous use of caching and multicasting is concluded to be an efficient way to reduce overhead of virtual machine provisioning. + +In~\cite{ye2010analyzing} authors evaluate general overheads of Xen para‑virtualization compared to fully virtualized and physical machines using HPCC benchmarking suite. They conclude that an acceptable level of overheads can be achieved only with para‑virtualization due to its efficient inter domain communication (bypassing dom0 kernel) and absence of high L2 cache miss rate when running MPI programs which is common to fully virtualized guest machines. + +In contrast to these two works the main principles of our approach can be summarized as follows. Do not use full or para‑virtualization of the whole machine but use virtualization of selected components so that overheads occur only when they are unavoidable (i.e. do not virtualize processor). Do not transfer opaque file system images but mount standard file systems over the network so that only minimal transfer overhead can occur. Finally, amend standard task schedulers to work with virtual clusters so that no programming is needed to distribute the load efficiently. These principles are paramount to make virtualization light-weight and fast. + +%\input{fullvirt} +\input{containers} + +%\section{Experience with distributed schedulers} +%TODO (bonus section, can be omitted) + +\section{Discussion} +\label{sec:discussion} + +Light-weight container-based virtualization is the most promising technology for using as an enabling part of the virtual supercomputer concept~\cite{vsc-csit13,vsc-iccsa14} to ensure proper and efficient distribution of resources between several applications. Knowing the application demands in advance we can create appropriate infrastructure configuration giving just as much resources as needed to each particular instance of a virtual supercomputer running a particular application. In such a way, free resources can be controlled and granted to other applications without negative effect on current executions with minimal overhead. + +\section{Conclusion} +\label{sec:conclusion} + +Presented approach for creating virtual clusters from Linux containers was found to be efficient and its performance comparable to ordinary physical cluster. +%: not only usage of containers does not incur significant virtualization processor overheads but also network virtualization overheads can be totally removed if host's network name space is used and network bandwidth saved by automatically transferring only those files that are needed through network-mounted file system rather than the whole images. +From the point of view of system administrator, storing each HPC application in its own container makes versioning and dependencies control easy manageable and their configuration does not interfere with the configuration of host machines and other containers. +Usage of standard virtualization technologies can improve overall behavior of a distributed system and adapt it to problems being solved. In that way virtual supercomputer can help people efficiently run applications and focus on domain-specific problems rather than on underlying computer architecture and placement of tasks. + +\section{Acknowledgement} +The research presented in this paper was carried out using +computational resources of Resource Center ``Computer Centre of +Saint-Petersburg State University'' with support of grants of +Russian Foundation for Basic Research (project no.~\mbox{13-07-00747}) and Saint Petersburg State University (projects \mbox{9.38.674.2013}, \mbox{0.37.155.2014}). + +\bibliography{vsc}{} +\bibliographystyle{plain} + +\end{document}+ \ No newline at end of file diff --git a/samples.tex b/samples.tex @@ -0,0 +1,37 @@ +% Sample Figure ------------------------------------------------------------ +%\begin{figure}[h] +%\label{sample-figure} +%\begin{center} +%\includegraphics[width=5cm]{sample.eps} +%\caption{Sample figure} +%\end{center} +%\end{figure} + +% Sample Table ------------------------------------------------------------ +%\begin{table}[h] +%\renewcommand{\arraystretch}{1.2} +%\caption{Sample table} +%\vspace{1mm} +%\label{sample-table} +%\begin{center} +%\begin{tabular}{|c|c|c|} +%\hline +%Title 1 & Title 2 & Title 3\\ +%\hline +%item 1,1 & item 1,2 & item 1,3\\ +%\hline +%item 2,1 & item 2,2 & item 2,3\\ +%\hline +%item 3,1 & item 3,2 & item 3,3\\ +%\hline +%\end{tabular} +%\end{center} +%\end{table} + +% Sample Theorem ---------------------------------------------------------- +%\begin{theorem} +%This is the sample theorem... +%\end{theorem} +% +%\proof The proof of the theorem. +%\endproof diff --git a/vsc.bib b/vsc.bib @@ -0,0 +1,416 @@ +@article{fox2009above, + title={Above the clouds: A Berkeley view of cloud computing}, + author={Fox, Armando and Griffith, Rean and Joseph, A and Katz, R and Konwinski, A and Lee, G and Patterson, D and Rabkin, A and Stoica, I}, + journal={Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS}, + volume={28}, + pages={13}, + year={2009} +} +@inproceedings{sempolinski2010comparison, + title={A comparison and critique of {E}ucalyptus, {OpenNebula} and {N}imbus}, + author={Sempolinski, Peter and Thain, Douglas}, + booktitle={Proc. of the 2\textsuperscript{nd} International Conference on Cloud Computing Technology and Science (CloudCom)}, + pages={417--426}, + year={2010}, + organization={IEEE} +} + +@misc{awscompatibleprivatecloud, + title = {{AWS-Compatible Private Cloud}}, + howpublished = {Available online: \url{https://www.eucalyptus.com/aws-compatibility}}, + note = {Retrieved: 2015-01-21} +} +@misc{extendprivatecloudintoaws, + title = {{Extend private cloud into Amazon Web Services with OpenNebula}}, + howpublished = {Available online: \url{https://cloudbestpractices.wordpress.com/2011/11/07/extend-private-cloud-into-amazon-web-services-with-opennebula-2/}}, + note = {Retrieved: 2015-01-21} +} +@article{hamlen2010security, + title={Security issues for cloud computing}, + author={Hamlen, Kevin and Kantarcioglu, Murat and Khan, Latifur and Thuraisingham, Bhavani}, + journal={International Journal of Information Security and Privacy (IJISP)}, + volume={4}, + number={2}, + pages={36--48}, + year={2010}, + publisher={IGI Global} +} +@misc{foreigndatawrapperspostgresql, + title = {Foreign data wrappers --- {PostgreSQL} wiki}, + howpublished = {\url{https://wiki.postgresql.org/wiki/Foreign_data_wrappers}}, + note = {Retrieved: 2015-01-21} +} + +@inproceedings{chen2009efficient, + title={An efficient resource management system for on-line virtual cluster provision}, + author={Chen, Yang and Wo, Tianyu and Li, Jianxin}, + booktitle={Proc. of International Conference on Cloud Computing (CLOUD)}, + pages={72--79}, + year={2009}, + organization={IEEE} +} + +@inproceedings{ye2010analyzing, + title={Analyzing and modeling the performance in {X}en-based virtual cluster environment}, + author={Ye, Kejiang and Jiang, Xiaohong and Chen, Siding and Huang, Dawei and Wang, Bei}, + booktitle={Proc. of the 12\textsuperscript{th} International Conference on High Performance Computing and Communications (HPCC)}, + pages={273--280}, + year={2010}, + organization={IEEE} +} + +@inproceedings{james2004performance, + title={Performance evaluation of {L}inux {B}ridge}, + author={James, T Yu}, + booktitle={Telecommunications System Management Conference}, + year={2004} +} + +@inproceedings{figueiredo2003case, + title={A case for grid computing on virtual machines}, + author={Figueiredo, Renato J and Dinda, Peter A and Fortes, Jos{\'e} AB}, + booktitle={Proc. of the 23\textsuperscript{rd} International Conference on Distributed Computing Systems}, + pages={550--559}, + year={2003}, + organization={IEEE} +} + +@article{matsunaga2007science, + title={Science gateways made easy: the {I}n-{VIGO} approach}, + author={Matsunaga, Andr{\'e}a M and Tsugawa, Maur{\'\i}cio O and Adabala, Sumalatha and Figueiredo, Renato J and Lam, Herman and Fortes, Jos{\'e} AB}, + journal={Concurrency and Computation: Practice and Experience}, + volume={19}, + number={6}, + pages={905--919}, + year={2007}, + publisher={Wiley Online Library} +} + +@inproceedings{krsul2004vmplants, + title={Vmplants: Providing and managing virtual machine execution environments for grid computing}, + author={Krsul, Ivan and Ganguly, Arijit and Zhang, Jian and Fortes, Jose AB and Figueiredo, Renato J}, + booktitle={Proc. of the ACM/IEEE Supercomputing Conference}, + pages={7}, + year={2004}, + organization={IEEE} +} + +@inproceedings{nishimura2007virtual, + title={Virtual clusters on the fly-fast, scalable, and flexible installation}, + author={Nishimura, Hideo and Maruyama, Naoya and Matsuoka, Satoshi}, + booktitle={Proc. of the 7\textsuperscript{th} International Symposium on Cluster Computing and the Grid (CGRID)}, + pages={549--556}, + year={2007}, + organization={IEEE} +} + +@inproceedings{emeneker2007dynamic, + title={Dynamic virtual clustering}, + author={Emeneker, Wesley and Stanzione, Dan}, + booktitle={Proc. of International Conference on Cluster Computing}, + pages={84--90}, + year={2007}, + organization={IEEE} +} + +@inproceedings{chase2003dynamic, + title={Dynamic virtual clusters in a grid site manager}, + author={Chase, Jeffrey S and Irwin, David E and Grit, Laura E and Moore, Justin D and Sprenkle, Sara E}, + booktitle={Proc. of the 12\textsuperscript{th} International Symposium on High Performance Distributed Computing}, + pages={90--100}, + year={2003}, + organization={IEEE} +} + +@inproceedings{rodriguez2009dynamic, + title={Dynamic provisioning of virtual clusters for grid computing}, + author={Rodr{\'\i}guez, Manuel and Tapiador, Daniel and Font{\'a}n, Javier and Huedo, Eduardo and Montero, Rub{\'e}n S and Llorente, Ignacio M}, + booktitle={Euro-Par 2008 Workshops-Parallel Processing}, + pages={23--32}, + year={2009}, + organization={Springer} +} + +@article{korkhov2009user, + title={The user-level scheduling of divisible load parallel applications with resource selection and adaptive workload balancing on the {G}rid}, + author={Korkhov, Vladimir V and Moscicki, Jakub T and Krzhizhanovskaya, Valeria V}, + journal={Systems Journal}, + volume={3}, + number={1}, + pages={121--130}, + year={2009}, + publisher={IEEE} +} + +@article{smarr1992metacomputing, + title={Metacomputing}, + author={Smarr, Larry and Catlett, Charles E}, + journal={Communications of the ACM}, + volume={35}, + number={6}, + pages={44--52}, + year={1992}, + publisher={ACM} +} + +@inproceedings{malewicz2010pregel, + title={Pregel: a system for large-scale graph processing}, + author={Malewicz, Grzegorz and Austern, Matthew H and Bik, Aart JC and Dehnert, James C and Horn, Ilan and Leiser, Naty and Czajkowski, Grzegorz}, + booktitle={Proceedings of ACM SIGMOD International Conference on Management of data}, + pages={135--146}, + year={2010}, + organization={ACM} +} + +@article{barham2003xen, + title={Xen and the art of virtualization}, + author={Barham, Paul and Dragovic, Boris and Fraser, Keir and Hand, Steven and Harris, Tim and Ho, Alex and Neugebauer, Rolf and Pratt, Ian and Warfield, Andrew}, + journal={ACM SIGOPS Operating Systems Review}, + volume={37}, + number={5}, + pages={164--177}, + year={2003}, + publisher={ACM} +} + +@inproceedings{troger2007standardization, + title={Standardization of an {API} for distributed resource management systems}, + author={Troger, Peter and Rajic, Hrabri and Haas, Andreas and Domagalski, Piotr}, + booktitle={Proc. of the 7\textsuperscript{th} International Symposium on on Cluster Computing and the Grid (CCGRID)}, + pages={619--626}, + year={2007}, + organization={IEEE} +} + +@article{thain2005distributed, + title={Distributed computing in practice: The Condor experience}, + author={Thain, Douglas and Tannenbaum, Todd and Livny, Miron}, + journal={Concurrency and Computation: Practice and Experience}, + volume={17}, + number={2-4}, + pages={323--356}, + year={2005}, + publisher={Wiley Online Library} +} + +@inproceedings{bogdanov2011creation, + title={Creation of hybrid clouds}, + author={Bogdanov, Alexander and Dmitriev, Mikhail}, + booktitle={Proc. of 8\textsuperscript{th} International Conference <<Computer Science \& Information Technologies>>}, + pages={235--237}, + year={2011} +} + +@article{dean2008mapreduce, + title={Map{R}educe: simplified data processing on large clusters}, + author={Dean, Jeffrey and Ghemawat, Sanjay}, + journal={Communications of the ACM}, + volume={51}, + number={1}, + pages={107--113}, + year={2008}, + publisher={ACM} +} + +@incollection{an2003stapl, + title={{STAPL}: An adaptive, generic parallel {C++} library}, + author={An, Ping and Jula, Alin and Rus, Silvius and Saunders, Steven and Smith, Tim and Tanase, Gabriel and Thomas, Nathan and Amato, Nancy and Rauchwerger, Lawrence}, + booktitle={Languages and Compilers for Parallel Computing}, + pages={193--208}, + year={2003}, + publisher={Springer} +} + +@Inproceedings{vworkspace, +author = {A.V. Bogdanov and A.B. Degtyarev and I.G. Gankevich and V.Yu. Gayduchok and V. I. Zolotarev}, +title = {Virtual workspace as a basis of supercomputer center}, +booktitle = {Proceedings +of 5\textsuperscript{th} International Conference on Distributed Computing and Grid-Technologies in Science and Education}, +year = 2012, +pages = {60--66} +} + + + + +% Load balance + +@Inproceedings{stab, +author = {A. Degtyarev and I. Gankevich}, +title = {Evaluation of hydrodynamic pressures for autoregression model of irregular waves}, +booktitle = {Proceedings +of 11\textsuperscript{th} International Conference on Stability of Ships +and Ocean Vehicles, Athens}, +year = 2012, +pages = {841--852} +} + +@Book{autoreg0, +author = {Rozhkov V.A and Trapeznikov Yu.A.}, +title = {Stochastic models of oceanological processes}, +publisher = {Gidrometeoizdat}, +year = 1990 +} + +@Phdthesis{bukh, +author = {Boukhanovsky A.}, +title = {Stochastic wind wave modeling considering +its heterogeneity and non-stationarity}, +school = {AANII}, +year = 1997 +} + +@Inproceedings{autoreg1, +author = {Degtyarev A.B. and Reed A.M.}, +title = {Modelling of Incident +Waves Near the Ship's Hull (Application of autoregressive approach +in problems of simulation of rough seas)}, +booktitle = {Proceedings of the 12\textsuperscript{th} +International Ship Stability Workshop}, +year = 2011 +} + +@article{autoreg2, + title={Synoptic and short-term modeling of ocean waves}, + author={Degtyarev, Alexander B and Reed, Arthur M}, + journal={International Shipbuilding Progress}, + volume={60}, + number={1}, + pages={523--553}, + year={2013}, + publisher={IOS Press} +} + +@Inproceedings{csit, +author = {Degtyarev A. and Gankevich I.}, +title = {Wave Surface Generation Using {OpenCL}, {OpenMP} and {MPI}}, +booktitle = {Proceedings +of 8\textsuperscript{th} International Conference <<Computer Science \& Information +Technologies>>}, +year = 2011, +pages = {248--251} +} + + +@Book{kochin-kibel-roze, +author = {Kochin N.E. and Kibel I.A. and Roze N. V.}, +title = {Theoretical Fluid Mechanics}, +publisher = {Fizmatgiz}, +year = 1963 +} + +@article{mvc, + title={A description of the model-view-controller user interface paradigm in the smalltalk-80 system}, + author={Krasner, Glenn E and Pope, Stephen T and others}, + journal={Journal of object oriented programming}, + volume={1}, + number={3}, + pages={26--49}, + year={1988} +} + + +@article{amqp, + title={Advanced message queuing protocol}, + author={Vinoski, Steve}, + journal={Internet Computing}, + volume={10}, + number={6}, + pages={87--89}, + year={2006}, + publisher={IEEE} +} + +@article{jms, + title={Java message service}, + author={Hapner, Mark and Burridge, Rich and Sharma, Rahul and Fialli, Joseph and Stout, Kate}, + journal={Sun Microsystems Inc., Santa Clara, CA}, + year={2002} +} + +@article{gotoblas1, + title={Anatomy of high-performance matrix multiplication}, + author={Goto, Kazushige and Van De Geijn, Robert}, + journal={ACM Transactions on Mathematical Software (TOMS)}, + volume={34}, + number={3}, + pages={12}, + year={2008}, + publisher={ACM} +} + +@article{gotoblas2, + title={High-performance implementation of the level-3 {BLAS}}, + author={Goto, Kazushige and Van De Geijn, Robert}, + journal={ACM Transactions on Mathematical Software (TOMS)}, + volume={35}, + number={1}, + pages={4}, + year={2008}, + publisher={ACM} +} + +% pipeline + +@inproceedings{backfill, + title={Job-length estimation and performance in backfilling schedulers}, + author={Zotkin, Dmitry and Keleher, Peter J}, + booktitle={Proc. of the 8\textsuperscript{th} International Symposium on High Performance Distributed Computing}, + pages={236--243}, + year={1999}, + organization={IEEE} +} + +@misc{wiki-viz, + title = {{Virtualisation in Wikipedia}}, + howpublished = {Available online: \url{http://en.wikipedia.org/wiki/Virtualization}}, + note = {Retrieved: 2015-07-04} +} + +@Inproceedings{vsc-csit13, +author = {I. Gankevich and V. Gaiduchok and D. Gushchanskiy and Y. Tipikin and V. Korkhov and A. Degtyarev and A. Bogdanov and V. Zolotarev}, +title = {Virtual private supercomputer: Design and evaluation}, +booktitle = {CSIT 2013 - 9th International Conference on Computer Science and Information Technologies (CSIT), Revised Selected Papers, DOI: 10.1109/CSITechnol.2013.6710358}, +year = 2013 +} + +@Inproceedings{vsc-iccsa14, +author = {I. Gankevich and V. Korkhov and S. Balyan and V. Gaiduchok and D. Gushchanskiy and Y. Tipikin and A. Degtyarev and A. Bogdanov}, +title = {Constructing Virtual Private Supercomputer Using Virtualization and Cloud Technologies}, +booktitle = {Proceedings of International Conference on Computational Science and Its Applications (ICCSA 2014). Lecture Notes in Computer Science}, +volume = 8584, +pages = {341-354}, +year = 2014 +%pages = {1-6} +} + +@Inproceedings{vkorkhov-iccsa15, +author = {V. Korkhov and S. Kobyshev and A. Krosheninnikov}, +title = {Flexible configuration of application-centric virtualized computing infrastructure}, +booktitle = {Proceedings of International Conference on Computational Science and Its Applications (ICCSA 2015). Lecture Notes in Computer Science}, +volume = 9158, +pages = {342-353}, +year = 2015 +} + +@misc{mesos, + title = {{Apache Mesos}}, + howpublished = {Available online: \url{http://mesos.apache.org/}}, + note = {Retrieved: 2015-07-04} +} + +@misc{marathon, + title = {{Mesosphere Marathon}}, + howpublished = {Available online: \url{https://mesosphere.github.io/marathon/}}, + note = {Retrieved: 2015-07-04} +} + +@article{gankevich-ondemand2015, + title={Applications of on-demand virtual clusters to high performance computing}, + author={I. Gankevich and S. Balyan and S. Abrahamyan and V. Korkhov}, + journal={Computer Research and Modelling}, + volume={7}, + number={3}, + pages={504-509}, + year={2015} +}