From b6fb7b3ee7ef06794fb9c490fb15637c6f1ef4eb Mon Sep 17 00:00:00 2001 From: Alexandre Dulaunoy Date: Tue, 4 Mar 2014 14:53:04 +0100 Subject: [PATCH] Import from TF-CSIRT meeting presentation --- .../beamercolorthemechameleon.sty | 30 +++ slides/tfcsirt-2014/beamerinnerthemefancy.sty | 183 ++++++++++++++++++ .../beamerouterthemedecolines.sty | 166 ++++++++++++++++ slides/tfcsirt-2014/beamerthemeTorino.sty | 28 +++ slides/tfcsirt-2014/certat.png | Bin 0 -> 33596 bytes slides/tfcsirt-2014/circl-introduction.tex | 26 +++ slides/tfcsirt-2014/logo-circl.pdf | Bin 0 -> 9230 bytes 7 files changed, 433 insertions(+) create mode 100644 slides/tfcsirt-2014/beamercolorthemechameleon.sty create mode 100644 slides/tfcsirt-2014/beamerinnerthemefancy.sty create mode 100644 slides/tfcsirt-2014/beamerouterthemedecolines.sty create mode 100644 slides/tfcsirt-2014/beamerthemeTorino.sty create mode 100644 slides/tfcsirt-2014/certat.png create mode 100644 slides/tfcsirt-2014/circl-introduction.tex create mode 100644 slides/tfcsirt-2014/logo-circl.pdf diff --git a/slides/tfcsirt-2014/beamercolorthemechameleon.sty b/slides/tfcsirt-2014/beamercolorthemechameleon.sty new file mode 100644 index 0000000..27e4562 --- /dev/null +++ b/slides/tfcsirt-2014/beamercolorthemechameleon.sty @@ -0,0 +1,30 @@ +% Copyright 2007 by Marco Barisione +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + +\mode + +%\definecolor{chameleongreen1}{RGB}{129,138,143} %grey CIRCL +\definecolor{chameleongreen1}{RGB}{213,43,30} +\definecolor{chameleongreen2}{RGB}{213,43,30} %red CIRCL +\definecolor{chameleongreen3}{RGB}{30,30,30} %black CIRCL +\definecolor{chameleongreen4}{RGB}{129,138,143} + +\setbeamercolor*{palette primary}{fg=white,bg=chameleongreen2} +\setbeamercolor*{palette secondary}{fg=white,bg=chameleongreen3} +\setbeamercolor*{palette tertiary}{fg=white,bg=chameleongreen4} +\setbeamercolor*{palette quaternary}{fg=white,bg=chameleongreen1} + +\setbeamercolor*{titlelike}{bg=chameleongreen3} +\setbeamercolor*{frametitle}{bg=black,fg=black} +\setbeamercolor*{part title}{bg=black,fg=black} +\setbeamercolor*{item}{fg=chameleongreen3} + +\setbeamercolor*{separation line}{} +\setbeamercolor*{fine separation line}{} + +\mode + diff --git a/slides/tfcsirt-2014/beamerinnerthemefancy.sty b/slides/tfcsirt-2014/beamerinnerthemefancy.sty new file mode 100644 index 0000000..d71473b --- /dev/null +++ b/slides/tfcsirt-2014/beamerinnerthemefancy.sty @@ -0,0 +1,183 @@ +% Copyright 2007 by Marco Barisione +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + +\mode + +% Use alternative title page style. +\DeclareOptionBeamer{alternativetitlepage}[true]{\def\beamer@fancy@alternativetitlepage{#1}} + +% Logo to use in the alternative title page. +\def\beamer@fancy@titlepagelogo{} +\DeclareOptionBeamer{titlepagelogo}{\def\beamer@fancy@titlepagelogo{#1}} + +% Bullet shape. +\DeclareOptionBeamer{bullet}{\def\beamer@fancy@bullet{#1}} + +\ExecuteOptionsBeamer{alternativetitlepage=false,bullet=square} +\ProcessOptionsBeamer + +% Colors. +\setbeamercolor*{lineup}{parent=palette primary} +\setbeamercolor*{linemid}{parent=palette secondary} +\setbeamercolor*{linebottom}{parent=palette tertiary} +\setbeamercolor*{title page header}{parent=palette quaternary} + +% Lengths. +\newlength{\beamer@fancy@lineup} +\setlength{\beamer@fancy@lineup}{.025\paperheight} +\newlength{\beamer@fancy@linemid} +\setlength{\beamer@fancy@linemid}{.015\paperheight} +\newlength{\beamer@fancy@linebottom} +\setlength{\beamer@fancy@linebottom}{.01\paperheight} + +% Margins. +\newlength{\beamer@fancy@normalmargin} +\setlength{\beamer@fancy@normalmargin}{.06\paperwidth} +\setbeamersize{text margin left=\beamer@fancy@normalmargin} +\setbeamersize{text margin right=\beamer@fancy@normalmargin} +\setlength\leftmargini{.6\beamer@fancy@normalmargin} +\setlength\leftmarginii{.6\beamer@fancy@normalmargin} +\setlength\leftmarginiii{.6\beamer@fancy@normalmargin} + +% Normal title page. +\defbeamertemplate*{title page normal}{fancy theme}[1][] +{ + \vbox{} + \vfill + \begin{centering} + \begin{beamercolorbox}[wd=\paperwidth,sep=8pt,center,#1]{title page header} + \usebeamerfont{title}\inserttitle\par% + \ifx\insertsubtitle\@empty% + \else% + \vskip0.25em% + {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}% + \fi% + \end{beamercolorbox}% + \vskip1em\par + \begin{beamercolorbox}[sep=8pt,center,#1]{author} + \usebeamerfont{author}\insertauthor + \end{beamercolorbox} + \begin{beamercolorbox}[sep=8pt,center,#1]{institute} + \usebeamerfont{institute}\insertinstitute + \end{beamercolorbox} + \begin{beamercolorbox}[sep=8pt,center,#1]{date} + \usebeamerfont{date}\insertdate + \end{beamercolorbox}\vskip0.5em + {\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par} + \end{centering} + \vfill +} + +% Alternative title page, you should use this in a frame with the [plain] +% option. +\defbeamertemplate*{title page alternative}{fancy theme}[1][] +{ + {\parskip0pt\offinterlineskip% + \hbox{\hskip-\Gm@lmargin\hbox{\vbox{% + \@tempdima=\textwidth\textwidth=\paperwidth\hsize=\textwidth\def\\{,}\vbox{}\vskip-1.5ex% + % Title. + \begin{beamercolorbox}[wd=\paperwidth,ht=.4\paperheight,center,#1]{title page header} + \usebeamerfont{title}\inserttitle\par% + \ifx\insertsubtitle\@empty% + \else% + \vskip0.25em% + {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}% + \fi% + \vspace{.125\paperheight}% + \end{beamercolorbox}% + \vbox{}\vskip-\beamer@fancy@lineup% + \vbox{}\vskip-\beamer@fancy@linemid% + % First line. + \hbox{% + \begin{beamercolorbox}[wd=.2\paperwidth,ht=\beamer@fancy@lineup,dp=0pt]{}% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.8\paperwidth,ht=\beamer@fancy@lineup,dp=0pt]{lineup}% + \end{beamercolorbox}% + }% + \vbox{}\vskip0ex% + % Second line. + \hbox{% + \begin{beamercolorbox}[wd=.1\paperwidth,ht=\beamer@fancy@linemid,dp=0pt]{}% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.9\paperwidth,ht=\beamer@fancy@linemid,dp=0pt]{linemid}% + \end{beamercolorbox}% + }% + % Third line. + \hbox{% + \begin{beamercolorbox}[wd=.5\paperwidth,ht=\beamer@fancy@linebottom,dp=0pt]{}% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.5\paperwidth,ht=\beamer@fancy@linebottom,dp=0pt]{linebottom}% + \end{beamercolorbox}% + }% + \vskip0pt% + }}% + \hskip-\Gm@rmargin% + }}\hfil% + % + \begin{columns} + \ifx\beamer@fancy@titlepagelogo\@empty% + \column{\textwidth} + \else + \column{.5\textwidth} + % Logo. + \begin{centering} + \vbox{}\vfill + \includegraphics[scale=0.5]{\beamer@fancy@titlepagelogo}\\ + \includegraphics[scale=0.5]{certat.png} + \vfill + \end{centering} + \column{.5\textwidth} + \fi + % Authors, institute and date + \vskip1em\par + \begin{beamercolorbox}[sep=8pt,center,#1]{author} + \usebeamerfont{author}\insertauthor + \end{beamercolorbox} + \begin{beamercolorbox}[sep=8pt,center,#1]{institute} + \usebeamerfont{institute}\insertinstitute + \end{beamercolorbox} + \begin{beamercolorbox}[sep=8pt,center,#1]{date} + \usebeamerfont{date}\insertdate + \end{beamercolorbox}\vskip0.5em + {\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par} + \end{columns} +} + +\defbeamertemplate*{title page}{fancy}[1][] +{ + \def\beamer@fancy@truetext{true}% + \ifx\beamer@fancy@alternativetitlepage\beamer@fancy@truetext% + \usebeamertemplate{title page alternative}% + \else% + \usebeamertemplate{title page normal}% + \fi% +} + +% Items. +\defbeamertemplate{itemize item}{squarealt}% +{\tiny\raise.5ex\hbox{\donotcoloroutermaths$\blacksquare$}} +\defbeamertemplate{itemize subitem}{squarealt}% +{\tiny\raise.4ex\hbox{\donotcoloroutermaths$\square$}} +\defbeamertemplate{itemize subsubitem}{squarealt}% +{\tiny\raise.3ex\hbox{\donotcoloroutermaths$\blacksquare$}} + +\defbeamertemplate{itemize item}{circlealt}% +{\small\raise.2ex\hbox{\donotcoloroutermaths$\bullet$}} +\defbeamertemplate{itemize subitem}{circlealt}% +{\small\raise.1ex\hbox{\donotcoloroutermaths$\circ$}} +\defbeamertemplate{itemize subsubitem}{circlealt}% +{\scriptsize\raise.1ex\hbox{\donotcoloroutermaths$\bullet$}} + +\def\circletext{circle} +\ifx\beamer@fancy@bullet\circletext + \setbeamertemplate{items}[circlealt] +\else + \setbeamertemplate{items}[squarealt] +\fi + +\mode + diff --git a/slides/tfcsirt-2014/beamerouterthemedecolines.sty b/slides/tfcsirt-2014/beamerouterthemedecolines.sty new file mode 100644 index 0000000..5893f91 --- /dev/null +++ b/slides/tfcsirt-2014/beamerouterthemedecolines.sty @@ -0,0 +1,166 @@ +% Copyright 2007 by Marco Barisione +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + +\mode + +% String used between the current page and the total page count. +\def\beamer@decolines@pageofpages{/} +\DeclareOptionBeamer{pageofpages}{\def\beamer@decolines@pageofpages{#1}} + +% Show a line below the frame title. +\DeclareOptionBeamer{titleline}[true]{\def\beamer@decolines@titleline{#1}} + +% Image used for the watermark. +\def\beamer@decolines@watermarkorig{} +\DeclareOptionBeamer{watermark}{\def\beamer@decolines@watermarkorig{#1}} + +% Height of the watermark. +\def\beamer@decolines@watermarkheight{100px} +\DeclareOptionBeamer{watermarkheight}{\def\beamer@decolines@watermarkheight{#1}} + +% The original image height is watermarkheightmult * watermarkheight. +\def\beamer@decolines@watermarkheightmult{1} +\DeclareOptionBeamer{watermarkheightmult}{\def\beamer@decolines@watermarkheightmult{#1}} + +\ExecuteOptionsBeamer{titleline=false} +\ProcessOptionsBeamer + +% Enable/disable the watermark. +\def\watermarkon{% + \def\beamer@decolines@watermark{\beamer@decolines@watermarkorig}% +} +\def\watermarkoff{\def\beamer@decolines@watermark{}} + +% Initially enable the watermark. +\watermarkon + +% Colors. +\setbeamercolor*{lineup}{parent=palette primary} +\setbeamercolor*{linemid}{parent=palette secondary} +\setbeamercolor*{linebottom}{parent=palette tertiary} +\setbeamercolor*{page header}{parent=titlelike} + +% Lengths +\newlength{\headerheight} +\setlength{\headerheight}{.045\paperheight} +\newlength{\beamer@decolines@lineup} +\setlength{\beamer@decolines@lineup}{.025\paperheight} +\newlength{\beamer@decolines@linemid} +\setlength{\beamer@decolines@linemid}{.015\paperheight} +\newlength{\beamer@decolines@linebottom} +\setlength{\beamer@decolines@linebottom}{.01\paperheight} + +% The height of the watermark part below the 3 bottom lines. +\newlength{\beamer@decolines@watermarkheightbottom} +\addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@lineup} +\addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@linemid} +\addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@linebottom} + +% The height of the watermark part over the 3 bottom lines before shrinking. +\newlength{\beamer@decolines@watermarkheightupperorig} +\setlength{\beamer@decolines@watermarkheightupperorig}{\beamer@decolines@watermarkheight} +\addtolength{\beamer@decolines@watermarkheightupperorig}{-\beamer@decolines@watermarkheightbottom} +\multiply\beamer@decolines@watermarkheightupperorig by \beamer@decolines@watermarkheightmult + +% Footer. +\defbeamertemplate*{footline}{decolines theme} +{ + \leavevmode% + % Page number. + \hbox{% + \begin{beamercolorbox}[wd=.2\paperwidth,ht=0ex,dp=0ex,center]{}% + \usebeamerfont{palette primary}\insertframenumber{} \beamer@decolines@pageofpages{} \inserttotalframenumber% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.8\paperwidth,ht=0ex,dp=0ex]{}% + \end{beamercolorbox}% + } % + % First line. + \hbox{% + \begin{beamercolorbox}[wd=.2\paperwidth,ht=\beamer@decolines@lineup,dp=0pt]{}% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.8\paperwidth,ht=\beamer@decolines@lineup,dp=0pt]{lineup}% + \end{beamercolorbox}% + } % + % Second line. + \hbox{% + \begin{beamercolorbox}[wd=\paperwidth,ht=\beamer@decolines@linemid,dp=0pt]{linemid}% + \end{beamercolorbox}% + } % + % Third line. + \hbox{% + \begin{beamercolorbox}[wd=.1\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{}% + \end{beamercolorbox}% + \begin{beamercolorbox}[wd=.9\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{linebottom}% + \end{beamercolorbox}% + }% + % This seems to fix some alignment problems with the watermark. It has to be + % always applied if you do not want to see the footer moving up and down when + % moving from a page with watermark to a page without or vice versa. + \vskip-.5px% + % Watermark. + \if\beamer@decolines@watermark\@empty\else% + \vskip-\beamer@decolines@watermarkheightbottom% + \llap{\includegraphics[height=\beamer@decolines@watermarkheightbottom,clip=true,% + trim=0pt 0pt 0pt \beamer@decolines@watermarkheightupperorig]{\beamer@decolines@watermark}\hskip-\paperwidth}% + \fi% +} + +\defbeamertemplate*{headline}{decolines theme} +{ + \leavevmode% + \hbox{% + \begin{beamercolorbox}[wd=\paperwidth,ht=\headerheight,dp=0pt]{page header}% + \end{beamercolorbox}% + } % + \vskip0pt% +} + +\defbeamertemplate*{frametitle}{decolines theme}[1][left] +{ + \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}% + \@tempdima=\textwidth% + \advance\@tempdima by\beamer@leftmargin% + \advance\@tempdima by\beamer@rightmargin% + \vbox{}\vskip-.5\beamer@leftmargin% + \begin{beamercolorbox}[sep=\beamer@leftmargin,#1,wd=\the\@tempdima]{} + \usebeamerfont{frametitle}\usebeamercolor[bg]{framesubtitle}% + \vbox{}\vskip0ex% + \if@tempswa\else\csname beamer@fte#1\endcsname\fi% + \strut\insertframetitle\strut\par% + {% + \ifx\insertframesubtitle\@empty% + \else% + {\usebeamerfont{framesubtitle}\usebeamercolor[bg]{framesubtitle}\insertframesubtitle\strut\par}% + \fi + }% + \vskip-1ex% + \if@tempswa\else\vskip-\beamer@leftmargin\fi + \end{beamercolorbox}% + \def\beamer@decolines@truetext{true}% + \ifx\beamer@decolines@titleline\beamer@decolines@truetext% + \vskip-.5\beamer@leftmargin% + \begin{beamercolorbox}[wd=\textwidth,ht=.1ex,dp=0ex]{linemid}% + \end{beamercolorbox}% + \fi +} + +% Frame title continuations, default +\defbeamertemplate*{frametitle continuation}{decolines theme}{(\insertcontinuationcount)} + +\defbeamertemplate*{sidebar right}{decolines theme} +{ + \vskip.1\beamer@leftmargin% + \llap{\insertlogo\hskip.5\beamer@leftmargin}% + \vfill% + \if\beamer@decolines@watermark\@empty\else% + \llap{\includegraphics[height=\beamer@decolines@watermarkheight]{\beamer@decolines@watermark}}% + \vskip-\beamer@decolines@watermarkheightbottom% + \fi +} + +\mode + diff --git a/slides/tfcsirt-2014/beamerthemeTorino.sty b/slides/tfcsirt-2014/beamerthemeTorino.sty new file mode 100644 index 0000000..84b0964 --- /dev/null +++ b/slides/tfcsirt-2014/beamerthemeTorino.sty @@ -0,0 +1,28 @@ +% Copyright 2007 by Marco Barisione +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + +\mode + +\DeclareOptionBeamer{alternativetitlepage}[true]{\PassOptionsToPackage{alternativetitlepage=#1}{beamerinnerthemefancy}} +\DeclareOptionBeamer{titlepagelogo}{\PassOptionsToPackage{titlepagelogo=#1}{beamerinnerthemefancy}} +\DeclareOptionBeamer{bullet}{\PassOptionsToPackage{bullet=#1}{beamerinnerthemefancy}} +\DeclareOptionBeamer{pageofpages}{\PassOptionsToPackage{pageofpages=#1}{beamerouterthemedecolines}} +\DeclareOptionBeamer{titleline}[true]{\PassOptionsToPackage{titleline=#1}{beamerouterthemedecolines}} +\DeclareOptionBeamer{watermark}{\PassOptionsToPackage{watermark=#1}{beamerouterthemedecolines}} +\DeclareOptionBeamer{watermarkheight}{\PassOptionsToPackage{watermarkheight=#1}{beamerouterthemedecolines}} +\DeclareOptionBeamer{watermarkheightmult}{\PassOptionsToPackage{watermarkheightmult=#1}{beamerouterthemedecolines}} + +\ProcessOptionsBeamer + +\useinnertheme{fancy} +\useoutertheme{decolines} +\usecolortheme{chameleon} + +\setbeamertemplate{navigation symbols}{} + +\mode + diff --git a/slides/tfcsirt-2014/certat.png b/slides/tfcsirt-2014/certat.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8fa72866dd35f94ceab768934d5f78447e41ab GIT binary patch literal 33596 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 literal 0 HcmV?d00001 diff --git a/slides/tfcsirt-2014/circl-introduction.tex b/slides/tfcsirt-2014/circl-introduction.tex new file mode 100644 index 0000000..877eccc --- /dev/null +++ b/slides/tfcsirt-2014/circl-introduction.tex @@ -0,0 +1,26 @@ +\documentclass{beamer} +\usetheme[pageofpages=of,% String used between the current page and the + % total page count. + bullet=circle,% Use circles instead of squares for bullets. + titleline=true,% Show a line below the frame title. + alternativetitlepage=true,% Use the fancy title page. + titlepagelogo=logo-circl.pdf,% Logo for the first page. +% watermark=watermark-polito,% Watermark used in every page. +% watermarkheight=100px,% Height of the watermark. +% watermarkheightmult=4,% The watermark image is 4 times bigger + % than watermarkheight. + ]{Torino} + +\usepackage[utf8]{inputenc} +\usepackage{listings} +\author{\emph{TLP:WHITE}} +\title{Passive DNS - Common Output Format} +\subtitle{Current state of the Internet-Draft} +\institute{alexandre.dulaunoy@circl.lu\\kaplan@cert.at} +\date{February 11, 2014} + +\begin{document} +\include{content} +\end{document} + + diff --git a/slides/tfcsirt-2014/logo-circl.pdf b/slides/tfcsirt-2014/logo-circl.pdf new file mode 100644 index 0000000000000000000000000000000000000000..62c9239fbfa4e3807901e3754db322c2cb69ec09 GIT binary patch literal 9230 zcmdUVbyQUA|1KciAe{r!F*FP*Ff=ILAVUl=G(#guhcqH3jdX`}NvDJ$ASfXSNQZR& zz;it3e81=Zaqn99{&Dx3wd2|EyFd9pd(C<_qneByCl62nld*26;u4b&zzuLTv%wS- z18}K89jsif0sME61||Ri;F5#cxkBN0M>|tjs0`HH(E^GoA%W@Q3Wu87V|u1X8!5gL zXtG~eXFWu^ew{wp#+CgD^lWxhRvTonaCX*rY6>t(B+-!H-~tHy0}#vrizYKiLn|F5%Vq{v9Hb2^Kk6|J)GgLwxUKY!xG6QjD`yfc77R?F zdC%KJ%W@%N`Jn*)TmhWyX$>W9F z9?Cy0#WFmVI6fazZ7SU74QSA=Hyy0mEXC88@)H+dR2KC7DVje+Vd2?Vrq}Hm+|*UY zn0AR0nk2ESZbFaaFY2z7GFm=Z<9nU?LpxY8>!|&9=lIyg_cn%#B-N1-vr8{drmB%K zA3V*VOeGzQuMq-f4H`mNtXaEJx^BN}8F0(QVE<6lgCM)`uC9yzv#_c=ke*$<&C=vF zWP;Mdcv;A5k3Kn6LB9!4ApX1mNhb6i9TA=&ZDnd{_z^EbF9J%0K$Oqt24?dcdeM;c z3nkn@i61P_O~ct4e zHP{4MnV^gHX~{m#Vl%;k8~LP(B458%`QYls+bgbj*7P4(t>dokLd1B2tMc4o4Ym^}NzI}!$5l&ZOIzC|um?tD$Xs+1Jt8ltXu@G@N&xH} zWAS9p1n-)p$dA10md1$g-UT2{$i~MKFln9BD5}h?;?qmR;9IX!x*49V*GjU^e9z`+ zaVf;6Ge9VLxcxSK0$QqI_OKKDVDU6o8(vv3`{6U*hgY$Hc>!fXguZD3v`dMt9Q~@Z zL){`BM>8z>qNE^TBx;L|;vP5=h>iEWRa?0)z^KvYiFzCH8^(94+LV(V-1J!yj9=$9 z!PVOU=iXPJ*QmnGFj8xi%k^rKjnB3spb(BeQ_Zp*oqk!8GMj5Hj?@<~528?&d#Ctq zhpgRb-W)dxBs(PYlW@+#ZNl+OuEMw9f4Pz#5H{9U(@|tgW2IPrR{1 zy|H%dRAE-%We`c~d84cLy$U^^EvON9tf+&)%=hrER=!H@Lo)e|Y?H@KbV7%Du&47ri7}N%#Sfn45*g)9qA} z6(MP@3Jcy&p03~=H1c%f)Z9RB#AJo$GLL)*&8erTTI$I7DI`A?K-yTkfJ0aujaIB{ z)R?gmwR@;w0C{Sus#*a%e&=n%yv+t0Udd7i*$rX~182SSad9t#qEE zU81X^9i6fx^UP{d*hiZ1+@K2%(l_B!*wRq+#y6Dp!g(gta=lg$jQiaM6iDa>-5 zc+^lA_n#PhAs;%zJ%@A{$#KyLT*+&PTshs)7L~?IU_w$S(v~&pXMnHG%N6UJDyfOU6C?+%RSC4>= zNLcd#_co4WY?_SnIOF|}%y%7;If`z0S*z$Grv^S*`msM~FFcVfRoIs0iL<2S3gh8U z>}@g@!dYxP=(-AfhYv|2ja-qz0~1&k7>N87L9Hllpc5P)7xA|z*KGqG(L=%jP1LRZ zJ)Fy*T|oC+jL3;iu<>g5$}ZhjXNJOD@i zIPe|0G|2*ny3x*R;HAK%a}6C^Vd4R*rEytsjLu7 z6zolAU!8F)^J`)IX3yz-{esRX?1Zd31eICz!d!zV2sDwwz~>=%Shtf?IY_zj$~k4S zS}-X*^JIVW)1w5Z%LOVDJUqkGK_{8ReVyJ8(UbQC-cf`;OR@t|vsV@LT$$blic$-J zVh?R)T|ZAda-#juqa<^>1ti~EWbAFS*~ioa=0(Ctaf9Gl5~WhE->|Xc1%jG>WNGb2MVb zR^MDA!}Fh{NIic*Cc^gg+Q9HLLreXc5V8M20 zB20J0fkS&pg6wH@N_U&R_yl!~x!q8G!(vq!C8k^>Pnzf#B2SD{{7c7>I7qTpz2DfT ziC5$D-Cf+h&$Q7bFX-GGm&ve%7+#DHy|_?7`gj!M1TNsFjb29W0`CS@8!l--&B8(S zo|m%|beR-$SIMDO+CXqq4=ID@j}UJ z_3H@u!br2kR8=)sJw36X6SJt0CVQSI@5m$bXHx}MRbSO2tt`(tU(UrH{f-Bife$;3pZA{_9f#xk8&_T82C3+tldTYA!#&2hGt4$mkCJjb$mCBo37>~A(mUM@V zqBIGMk3yLWo?;Zwa>vWhLLuW3eo6zf-O<5b!z@ashkK&B+>U9KygeR5zyYWtJ8;cKLL2Ry&8jr zq{8^gGi>fzW7^&nc*T*gtb02ICYaEo=-P?sM5CRTLlKFf_*K?T3?5Y^KS`9Q=;F~v zU6ofAZKJAFjsw^2v!~5v07v;Sx;yDsr4Ms?n#OII%u%<6ZoDG$wRC6BOA;e{NCqCi78zky5!|maOPEcz&KAvL z?tYDr{Qc|Y&1(KS04=7vm*e7e2YnS8P19FFkp!gf)XQHOnVYy~U$vuu8p&wHfVX^} zoHx$}q1;ArA%rBEr`xQce{I7WRBTiO+8uJiuMB6^$VjJqJ)HGqqafjN5-b_4I%IEZ z8tG&sJrqnw?V6Mu(G}{tVqW**IKkfg)PPZ+DFHSeCJ$l;`Ix9=~>8>u75HH z?bw^SjnFhy8v|l=7#O3Be!oN`1EWWpbo710S_nao{DbLtxk5SR3#jt}5MQXe?UN7W z=1xJ2JWX_gI(s)#&1>Q6n1<^%*f~~&l8qXcz7`0t*@GkVKf5lSeD4~{bHmanI#j~a zJe|(tiov_h)H?%yDhaBeZKDW*zRJlD%1^pvrYAMJK0Cyn!J7qL6F9DERh zgF!$ORsJHNQGz!9cR8A}p0*%;{1bxo;QjIVOA7&LapDZi@lrco9@ckbNiB2e`IP?OI9v#gV+>SR}9VR`6R<@m&0T$x`*k(3n^2&?+`n&U#uMd4o6};ISGz zXiYWM?$XN;VNt)B7fUn5|Cy4=ovhDzIi~>`j@WBn+b9zgM%B&y{3WelX&x_06OF^; z#daW_TB+?D9Gbi=Dc4CBGLoc*WKXVayiZ6nV;^F$6X3?}N@ zv$whjq*K02+elqtk2$I@hB@d;)RUBR;*Us58u0KQ=%(3!&Gt1)vO=?G+D{%U20rs>3TDcOO zuLSZ&F`t1o$LAsbQ5Ej=5tggLMP(E+#Q3=|Ik0RqxyEhG9EGR{8j$jGCtUoTdH9D* z^vKofNfWlI#Eb$3R_fR%fsI88-7K*>yh1Ee{!Pq6EFqCi^upmzr)H|k~(azKD0T=0}cf)qF`wzc2nZGK>XX+$m6=iX$|>T5BlV~-WMrP&|9`N|SE zIe-?Iv|>W+I-Dk+7`PKo6ENGkGM<;(>)41UJVP!5QKlqB@Jg1_#nqY zBqb=8Hov-(j^=>4u?Y|v$foOG%4@WZxIAF)Wo+kKAUr{bOL)&a$;Vl%O%h1q))mo6 z(c_uWOZ2!tdf)I79B_czd`=_T%prqtKKS$l+x+>pnrKIANC+}z*RFhVR`>EH(y(Y&M_`{OBWJXnqpy~pzW9}EmV zWL|N6-rCQ!_U^xu-BYG?ZafU+cuU~8BuZk1-o}A?zQ?~)TC_f`w=sn*kUGvm3GrYOZQ!vb@3Tn$c|FdySB=r1q&FqP z6cLK7WG5`Ru*l}q0jeSzDQPI|w1b@f1H@r<(juPqAd1vI`%-TYf3ZOy&+$v^7YItd zrNP6nqu%s2%+I<8{6e|`PA4DWb?Fg^*&8?ynv|0F4NMoE699M z?_|^Q_0cBSXKVyGyBnltFj}Q;SG88JJp!KDtsk0Pv5e$4(eaz9H6Dm-$iS`rfY)MH zv(&eV#;5Q=iXM8-d=R|JdAadf)??S|sMnp>YSjkHNs3yu6YQen5rp<}ZbOXt}l&DEDOr z2aPOJNt6f4$tH@0rV2cd;y#jjo3PbPz?Rf6hwYILIqnGO?jIsBerqXfYjhf+oXBM{#C+P`y4*!%0uf;=yeTmbPGTi{efPa zK<1JrRp>dd2+s~ROrHF>N`V8FbYP`kE+A~{S24wOo@}IjAxzFaceAiT+*mwf;4Y!U zNb%DqGs{vQ&UM*{gn0VOB6n8=|*tP?(THz9=Y&A%rQ3q_Pv49-Ep?xIoEr1G{!7;+_Rr zDQLr`xRnX;nVL)7z(tGsgDb8DKtiL@x(- zy_ISAtWv=Uso+K4BN!l$+V}){O_G+5<04cf_Kp47L!Cf$3=8haqMp_4TuyWgQ?B>i zyD2mWg+b_LWx`8IWKW*&B{8a{@LYUy(okVvGxKJ+&pc?esSoxs|4xK1yBGURRBjjVBj>@o97? z$+fC*G60A3=#7d0%iYSLG)+{Gc5Y{Uu3NU@1rZV8t0SDkv1gIfN6~_aS?w^PxGC$w zc}mESNOa+&{{EHiw;8`Q15 z4UI)`yD4Z8jA|@6d~q^)s<1 zB{-uBFVyyv+9GBSq|lKEJM+t4W%T>zL_`_)pCu}WSgU!) z;$OyWdCNNbn$6de4C0u2_|-W?wh4^Lv2?fR4s(%>B^^h{(Ixd6>_-miuvofJ<~Uub zu}W;AykPkxnb`@UzHVDip$_ZgaylHp*0_=In&efrpJ`yc&PIWLt$A5|kjZDkiI3S-&Luvf`@Ai6tD?WASTfbDk89u$D--%|U0r!WvZJeKId?=8(~ z(;#`^jAD7pYO&+kQ_#~)^_m5Bblyn*VL0~g2`1>x5nkEnFFyT46+vxaM-k}*ooY12 zHH6W88IBud6xZslAc~7*v$=%8I45r?8xl*)kC#UlzUTp3(Aq-Gm-Ln6hKsT+M_#_Z z)&cYvo3YGP=3BiUSyT{CsW;`{dFPJ3UOrQPc;3&sa`$I3$a2^A(R3u2R*8XiZJ^wq z^EZ$3gy#=hrN(<)ii zc!MOj(y&%9Gt|#8f(&9-EK7u(P)bR&*1A2EF7~Zv)nTfU*aY?V*b?^Q>8#zs0@c8d zrNM>@G_&|&1GurXe~?V*7w5Hu{zscPF`h(fogwb6n#(k@jfaDDw;2z-!=Jph>&x+5 z`Von2d-0Io_At|uOf0P1+&$QPq>(90!*j&81g}oqvLy?bD|?Ic%FA=4)b>5`d<}&r zV40_~#JRoco#z10`tnB+`g#=A$9>Km&thKMR{=X9F0coJTyX6+?PVjAq}gy|{S54v zduPTk=Q9+7M#5UDVwzMPwrXGH$V0wogg6$gDn4B~V*4=h*gKm@Cz66s-`!@taP#XR zXj*+oum7~`Im)>K&LgQb{^qyqG&c#NLaowE(`og76$ zQZxOWi9$zJwc5bsr_ZaVXVz%Sxu_3>ZH>NqDCPI3TCwG{ZoX;iB*u*jYq?@F<}r!5 zIh!b`A}kYy>1AFe%1Ll+6Q>O2rFaNE+UyRCuKTf4`!RH-D%BwN(h-0{gH`gED z$c$P)@YV20@~ZezxV@B4g(@YIZUD|f9l?iZU>Q>Rt4MXVLUm=rPALGt9%48p63`u^ z!=1mOHZ@_Ps6AKedq~WN0|foeBYwSuT{?2X8xrcYMcLuvqg~pmT6kR28c*O1rek{^ z-nax3w&`pUP zK5svfJfVq>jl6%%PLZBjPOHA|K3 z|H&BqSK zuQ8qi0D*gD6u{*v2oU^rb~ozo_op?XzpMecw7i_404_CCE9fuFYNl|ggX`VHe+#Qm zpcXJwX-7|h;T^;c;N|B7a`OrEf%pI*VW2RNFi2P!VEk(;*wMlDZmtX9Ua0*;m6eA( zx;gzLhCht`LVt&)dFKM$)WOB+-mtmXZy0=s%Rt>>=1>iJ>3i_cFg2hqj&5*ss0-je zWg7no>OSK8RQ^LA7XHhT|CKy^pVU7b`ZIUGqR@0RbN!VPIY+qtFGTvE(end@x&Ms! z|7CEX-@*MQU~5NJ;~=SHgD)S4Fb^=EC;M1o%Yo>eKd2*IDhCtl)@Sa_s1=_-)UpG{ zTCeC7_gwb4vy6^~w;9^yrg{c4)l<=Bu!R_<0DmBAY{;mUVS1=UoQ|`~ni-uvZ{8t7lAKWx{(8}Yt3|Ep#^f4AQMZ$;y|Um(9) z@~^5ri5|v5;=u>+6?fr4))GckhO&|05k3!iFy0|^g3!hMSh+sy3FsO>coSyMVJ-s3 ztfXEqh4=~aSqfp>EFoe|Yn9m%8NmqDhPL-Rr_7~3Rr@*a{sjf1O){61OS$RKQWLX&)s6V-vAE3F(H2LJ9GbuadY$B5!ioX zLVTdRj`}Z5i1%*M{3izD5xh&^e_}!c_aXf!2I9Wsu76>I|MCwc!2d5_Kmxq~vH=pj zdkg&c^Fa5#_S>#2+!SU9h5zDYO_(?IK3Dg&tKsN)SO5E*|M8wsbg;au^Iwea;%W+a T{gqu1NRS_skx^Dv4)cEi-2Ec4 literal 0 HcmV?d00001