From 4fee2718d88296a3294526d87ccb67feb3260d1b Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Mon, 22 May 2017 16:44:41 +0200 Subject: [PATCH 01/19] chapter 1 revision --- resumes/xavier_dubuc/src/cours.tex | 83 ++++++++++++++++-------------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index e75f341..f2ac1db 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -158,12 +158,16 @@ \renewcommand{\labelitemi}{$\bullet$} \begin{itemize} -\item 2016 -\begin{itemize} -\item Benoit Debled -\item Julien Delplanque (\url{julien.delplanque@student.umons.ac.be}) -\item Anthony Rouneau -\end{itemize} + \item 2016 + \begin{itemize} + \item Benoit Debled + \item Julien Delplanque (\url{julien.delplanque@student.umons.ac.be}) + \item Anthony Rouneau + \end{itemize} + \item 2017 + \begin{itemize} + \item Florent Delgrange + \end{itemize} \end{itemize} \newpage @@ -225,15 +229,14 @@ \subsection{Introduction à la matière} \end{center}\end{quote} $\longrightarrow$ Il faut en effet sacrifier un des 3 critères, c'est-à-dire -que si P $\neq$ NP, on ne peut pas avoir simultanément -\indent $ $ un algorithme qui : +que si $P \neq NP$, on ne peut pas avoir simultanément un algorithme qui : \begin{enumerate} \item trouve la solution optimale; \item travaille en temps polynomial; -\item fonctionne pour tout instance du problème (toute entrée possible). \\ +\item fonctionne pour toute instance du problème (toute entrée possible). \\ \end{enumerate} -\noindent On a donc 3 choix : +\noindent Au moins un de ces 3 points doit être relaxé : \begin{itemize} \item \textbf{Laisser tomber $3$}\\ $\rightarrow$ Ce n'est pas toujours applicable en pratique car ça donne pas une @@ -254,19 +257,21 @@ \subsection{Introduction à la matière} \subsection{Objectifs du cours} \begin{enumerate} -\item Savoir que faire pour résoudre un problème NP-difficile. -\item Découvrir et revoir des problèmes ``paradigmatiques'' \textit{(problèmes -classiques, exemplaires, simplifiés, comme le voyageur de commerce par exemple; -qui ont beaucoup d'applications}). -\item Tous les problèmes intraitables ne sont pas les mêmes. Les problèmes -\textit{NP-complet} sont identiques d'un point de vue ``résolution exacte'' mais -peuvent être très différents d'un point de vue approximabilité -\textit{(certains algorithmes peuvent donner une très bonne approximation, -d'autres une moins bonne et d'autres encore, aucune)}. L'objectif consistera à -savoir différencier ces algorithmes. -\item Apprendre des techniques de conception et d'analyse d'algorithmes -d'approximation. ($\leadsto$ avoir une ``boite à outils'', où les outils sont -des algorithmes et heuristiques applicables à un grand nombre de problèmes). + \item Savoir que faire pour résoudre un problème NP-difficile. + \item Découvrir et revoir des problèmes ``paradigmatiques'' \textit{(problèmes + classiques, exemplaires, simplifiés, comme le voyageur de commerce par exemple; + qui ont beaucoup d'applications}). + \item Tous les problèmes intraitables ne sont pas les mêmes. Les problèmes + \textit{NP-complet} sont identiques d'un point de vue ``résolution exacte'' mais + peuvent être très différents d'un point de vue approximabilité + \textit{(certains algorithmes peuvent donner une très bonne approximation, + d'autres une moins bonne et d'autres encore, aucune)}. L'objectif consistera à + savoir différencier ces algorithmes. + \item Apprendre des techniques de conception et d'analyse d'algorithmes + d'approximation. ($\leadsto$ avoir une ``boite à outils'', où les outils sont + des algorithmes et heuristiques applicables à un grand nombre de problèmes). + \item \^Etre capable de relier des nouveaux problèmes à des problèmes + connus. \end{enumerate} \subsection{Problèmes d'optimisation} @@ -280,17 +285,18 @@ \subsection{Problèmes d'optimisation} Un problème d'optimisation $P$ est spécifié par $(I_P, SOL_P, m_P, goal_P)$ tels que: \begin{itemize} - \item \term{$I_P$} est un ensemble d'instances de $P$.\\ - $\rightarrow$ e.g. pour la coloration de graphe, tous les couples + \item \term{$I_P$} est un ensemble d'instances de $P$, i.e., les données + numériques prises en entrée de $P$. \\ + $\rightarrow$ e.g., pour la coloration de graphe, tous les couples (graphe,entier). \item \term{$SOL_P$} est une fonction qui associe à chaque instance - $x \in I_P$ un ensemble de solutions réalisables de $x$ ($SOL_P(x)$).\\ - $\rightarrow$ e.g. pour la coloration de graphe, ensemble des colorations + $x \in I_P$ un ensemble de solutions réalisables de $x$, i.e., $SOL_P(x)$.\\ + $\rightarrow$ e.g., pour la coloration de graphe, ensemble des colorations légales possibles. \item \term{$m_P$} est une fonction de mesure ou fonction objectif définie - pour les paires $(x,y)$ tq $x \in I_p$ et $y \in SOL_P(x)$. Pour toute paire + pour les paires $(x,y)$ tq $x \in I_P$ et $y \in SOL_P(x)$. Pour toute paire $(x,y)$, $m_P(x,y)$ donne une valeur non-négative. - \item \term{$goal_P \in {MIN,MAX}$} spécifiant si $P$ est une problème de + \item \term{$goal_P \in \{ MIN,MAX \}$} spécifiant si $P$ est une problème de minimisation ou de maximisation. \end{itemize} $\leadsto$ Quand le contexte est clair, on peut laisser tomber le $_P$ dans les @@ -456,17 +462,17 @@ \subsubsection*{Rappels} \subsection*{Définitions} \begin{itemize} \item Un problème de décision $A$ se \textbf{réduit polynomialement} en $B$, -noté $A\propto B$, s'il existe un algorithme polynomial permettant de +noté $A\preceq B$, s'il existe un algorithme polynomial permettant de transformer toute instance de $A$ en une instance de $B$ correspondante. \item Un problème de décision $B$ est dit \textbf{$\mathcal{NP}$-complet} si -$B \in \mathcal{NP}$ et $\forall$ problème $A\ \mathcal{NP}$-complet, il existe -une réduction polynomiale $A\propto B$. -\item Une \textbf{preuve par réduction} que $A$ est $\mathcal{NP}$-complet se +$B \in \mathcal{NP}$ et pour tout problème $A\ \mathcal{NP}$-complet, il existe +une réduction polynomiale $A\preceq B$. +\item Une \textbf{preuve par réduction} que $B$ est $\mathcal{NP}$-complet se fait en 2 étapes : \begin{enumerate} -\item Prouver que $A$ est dans $\mathcal{NP}$ \textit{(il faut donc prouver que +\item Prouver que $B$ est dans $\mathcal{NP}$ \textit{(il faut donc prouver que la vérification est polynomiale)}; -\item $\exists$ un problème $B$ tel que $B\propto A$ pour un problème $B$ connu +\item Il existe un problème $A$ tel que $A\preceq B$ pour un problème $A$ connu comme étant $\mathcal{NP}$-complet. \end{enumerate} \item Soit un problème de décision ou d'optimisation $A$. On dit qu'un @@ -809,10 +815,9 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} & \leq & \sum_{j=1}^m w_j . f . x^*_j \text{ (par \textbf{(**)})} \\ & = & f \sum_{j=1}^m w_j . x^*_j \\ - & = & \text{($f$ * valeur de la fonction objective pour - la solution optimale du LP)} \\ - & = & f * Z_{LP}^* \\ - & \leq & f*OPT + % & = & \text{($f \times$ valeur de la fonction objective pour la solution optimale du LP)} \\ + & = & f \cdot Z_{LP}^* \\ + & \leq & f \cdot OPT \end{eqnarray} \cqfd \end{proof} From 83562e3fc3ea182a6a0c9621cbaca124f0bab2b7 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Thu, 1 Jun 2017 15:27:41 +0200 Subject: [PATCH 02/19] ajout de nouvelles figures --- resumes/xavier_dubuc/src/dots/optTSP.ipe | 351 +++++ .../src/pdf/optTSP-eps-converted-to.pdf | Bin 0 -> 6960 bytes resumes/xavier_dubuc/src/pdf/optTSP.eps | 642 +++++++++ .../src/pdf/ordo-eps-converted-to.pdf | Bin 0 -> 11036 bytes resumes/xavier_dubuc/src/pdf/ordo.eps | 1174 +++++++++++++++++ 5 files changed, 2167 insertions(+) create mode 100644 resumes/xavier_dubuc/src/dots/optTSP.ipe create mode 100644 resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf create mode 100644 resumes/xavier_dubuc/src/pdf/optTSP.eps create mode 100644 resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf create mode 100644 resumes/xavier_dubuc/src/pdf/ordo.eps diff --git a/resumes/xavier_dubuc/src/dots/optTSP.ipe b/resumes/xavier_dubuc/src/dots/optTSP.ipe new file mode 100644 index 0000000..ed35689 --- /dev/null +++ b/resumes/xavier_dubuc/src/dots/optTSP.ipe @@ -0,0 +1,351 @@ + + + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + +0.6 0 0 0.6 0 0 e + + + + + +0.5 0 0 0.5 0 0 e + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h + + + + + +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + + + +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h + + +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +-1 0.333 m +0 0 l +-1 -0.333 l + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +16 0 0 16 80 784 e + + +16 0 0 16 48 720 e + + +16 0 0 16 80 656 e + + +16 0 0 16 112 720 e + + +16 0 0 16 80 784 e + + +16 0 0 16 48 720 e + + +16 0 0 16 80 656 e + + +16 0 0 16 112 720 e + + +16 0 0 16 80 784 e + + +16 0 0 16 48 720 e + + +16 0 0 16 80 656 e + + +16 0 0 16 112 720 e + +a +b +c +d +a +b +c +d +a +b +c +d + +55.7613 733.991 m +70.5568 771.084 l + + +91.4922 772.868 m +101.625 732.18 l + + +57.636 707.227 m +68.502 667.126 l + + +101.289 708.114 m +91.6098 667.01 l + + +215.99 706.138 m +229.509 668.08 l + + +249.814 668.637 m +260.909 708.468 l + + +218.394 732.164 m +229.233 772.165 l + + +379.003 731.616 m +388.754 772.619 l + + +383.997 719.702 m +416.003 719.714 l + + +377.591 707.193 m +388.511 667.136 l + +OPT +w +MST +\geq +\geq + + diff --git a/resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/optTSP-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b395f72a8aedaf3c6a8d6c224e3b5692fe576c51 GIT binary patch literal 6960 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 iL^L), with Reserved Font Name CMMI12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-0-0 def +/FontBBox {-31 -250 1026 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 77 /M put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 84 /T put +dup 97 /a put +dup 98 /b put +dup 99 /c put +dup 100 /d put +dup 119 /w put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558 +f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5 +09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1 +b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9ad8c6659828649ef +3adacb33ba7f372b681014042876c3654cce44965da20b5ea176d47fba7b0dd44cfb4eb1a1426a +7a6b713e5db62a5c9a717c5e02b1ba2194c105f7ce16478e0dcd07aa1c28feaf90ab5265db6b3c +0cf5f9bb39bb3f4c59120767ae40641452e2f86af2d110c3771ddd570697abc1148adf8c48b968 +cac8a587dcbb63b109a56aad615e839b646d12dbc5d4fa7f78b33812974a8c462859538fc08a2a +517904809055cb5f1068ad101708ea1a4144f274d0241ed8ec585fff5504a1b57c7d728390a608 +21d1d51ef8f0470decc7d97c0204a4809dc697a85643b352914dc7a75b12bed89e4c0faf6c800f +2a32fab0be8e61c0679f25d41fdb28d107065a73e3beebb69b2b6aac80ee7ce255fede4b5444de +e8a3ff85f814becb6fc7510a1e9917bcf39022d7a1bf0e2df564e45a310b730027a8581ebc0371 +244f81863c691deb381feb75f29b7f9ffb014e2f92e8823a972be7418c2cfce60bc87280a1a534 +2362b389b56f51e396c76494d0cb31f6177445b1d01d0544d76bd37e89fefc79df633cc24272f7 +d67278ba0b08cba0406701af54d14da8fac6b86eb05b74d0d2c9ca96daa38cb49c3f68f4998ab8 +629ce1fe2ad91d0224800a64c6a5608a242050850c859b893a81102282a0f1a9032a27f85dc40c +dd6819c988b3a915b22be78d3c595d11d726feea7222070ead4be4841d9e7ec440379ee3462d94 +7e64082b30fecf39088073f7aa2a69631fce17bf3548029f4d57e455f4977a2d00a50f38fa1f75 +18fd84adea6c2ec0a9bc3d58ec121cb67ded8ad52ab162fe25e200083d5ea5a6cfdab5558b5c2d +4fdfd2bad0886c7921a812b86d083ae924c64aef8b9952459832feeca0491ceb3504dfc9762ea1 +2b8bbb2614614373b0ac10b2f43931d2e84d6246bfede031d07e27f2aa258aa90149bdc82337b3 +d27431a3b96c5f82bbda3cbeb744e8249f22ec63772f5b283f83724f570e0100bf0afd9e5ce250 +478a86030b4e37acd7f30ae063cd93df731b47ab6ee5c96317635726d9858f1c20ed4032aa94db +796df1facbd884af0dca21f1444c20f3a8b7fd2472f0d78091c87038f7a509a51c88a123220ebc +b89249a4e96e6ea7623bff5f4b41c700d5662aa262d04148cf55484dd32727ce4f2244e21a2b42 +e2fd671e7ad26d77ff9aeb3031fb98d6431f668fdce4bc7cf71e487de361bb55f63a7e6a7f7c18 +b8447b2dd1695683c6dbdfc02880c439696f899a350794b5d1d2b725b53b6f65ac55e139107815 +9299b23bf61b2d4da384f3747802fd7c9dd678b29b3686661abf4d999866f3f17afceefda58236 +15197bbc76c4c7542fe78528fd45ad956c9d1d15a92056e5f4a37354ab702c22781062d746f28d +033e5065f9c46e644ce59a7a366dbf689c533a9d8f7db6f21de01784dfa43c7d8c0bbbcb9712b8 +8415e531277454cce32e92ba36f70dcce72033b32f6d8c8bc13cd5b3e3ddb9df7c6ad41dbaf7fe +db5ec4a3efe119699277d96a80ac2547e512c2658313aec0f94cf4ba3dd0c6fbefb7899d4874fc +6a714f405f943ac03ac206d4550ab65d48799abe1fae5eec610c3f9f607eff612abc23a3c94b84 +2b85396e7c5d21fc4c1a2a86b585513c2a892325464ee9693941690f3267299e0548c4b354a984 +b326664184e6d0ea66404468db0d898e6054555bc00296cc7182f11e29783a4c69b66dca12a97c +a37f218dc02b52971807c8ecd629870142bd15fd4852ae10ac977781701a39473c548006324889 +5c21d12c19ffa887812bfec54b40bd8c4f29eb36431e2c6482490937dfdb4e2deef3df842241a0 +76198ea01653d3720641feadec4df1f7ea63d2e19081f54728a5f4fed9bcf94f447bf9de0ca752 +1f2ec96f2d1280f700a5fcc1386c1c29af267df423c6ca73c13e0b5abe16a276407e8da057debe +e2bd6f7f9cb247704ca13bb659936dfd4a9461f61d53fd4844e1548b1345360c75d75a7e8c0b12 +d73ec77007e74ce95026c969d3ccae02cb6de4a06da08837f0bb7367a5f0ba075807e0584e5665 +13b9ef72f64439d29045320eda26c4a2c7efb40a2ed596ccbfebf38c7c0d31c233f21b94eeb095 +564cfdd235795751109bf9a19f9d8e2d6c054c00d1a0f5217b32dfed2938df70e6d7f773648eb1 +61fe0609a4fa8410f558bf3e8630fc5059dfca81241efbd5d82aa40c052d7052b29c84037fd889 +8e9248ef9065808b00fb6f8529da8531bc85fed9780a9670cfa6ffe1804198c76a0a8e757c6687 +db3a6178d73ec34b28c275d220e5ae4f18a22d29be7412535b2eea51959661c8b662d929f7b751 +eabc5c5c07c77c9a03164e20a41f406c825bfc5d11ec549cad81bf7234c4fdfcbc4862c669b0b5 +4359cda3beffa57675714a90fab971d05238ef23dd46a041a1ce144d1267a707bbfdb27cce87ff +78c11bbb9feedf08caa51a85646dd2f81fb6800683b115e77778f580d572338e5c3f4672f824cf +178e01979ff9d2351a37d1b4a9e137e724c11cb893db16c413a6d44ebca7bef6e77e4dd476d62b +9f8351ef92a280998d09f405d4a1eb12272c285b9581cecd3e8c55dd138ed4afd57ea44ca722c6 +2ba10686f262b7dade5c89202cdedd48affecaad5bbbbee8ab87f08cd895348a8505bde159d1a5 +7843985e34bcd49363e376782c96474a89949a3ea5e15cd3cfd950886958bdca9463fd353a2e0f +d2161daf70c52113253a4bd6417587a785bb2fcbef7893e07871c65970d7444a988de568435d18 +e4768c9a1b30685ac7d8d80c0d73e1489aab61ee4e0121e796b6a87bcfb00dd825a73d1776a8a9 +f213859491a058d99c9c70740b624c9d84712a011e9359fcb2f776c1d26c28ff5674e178d82f74 +f63a52ac3c512edde9888e8da18d05f0d944dd460aa85491da9fb6bbf9432dcea652caba63694e +badc75aa64e5720b5d1526e0a8b69aea0c0bc7b214c24a2750e342810ace935446a60851d2b7fa +68cf6ca94b06538c06abc143b3b2a0713a0a82033939786563065d52d37b7a43b10387ba3f794f +ba53d62ee62be0542360fc6069aba6bd0fd0d6391c392a52ee8c03616e32a5310ed156a9f0fedc +8cc461eb9c155be6b2a3da01898d30cff70c4fceb5398a5ea60986b0527ab5a8a0b60d4c80ae5a +ad3be6dd951fe6bb04997156afb9967706057deb8bd4e4365f16e211cc9c1dcb2e181b36afe6ea +69ecbef1670fb9a077d6a2b998eb9f745f4fb60b2819254dc1013b0f31cc95eeac7ed9cf52aff0 +5ce0b4c5ad3234bf4de92474d895b1100eb46a236c4605a9dd433821ff759542c4b2349916cc38 +8d61bdc0fc8849ac4047ce46d33ddbe1e5014f99443a4273ae6fada82e1a28cf002905d9554626 +e910a630e5dcc96bb98cdde6ada26313991e9b38ffb4c3d5778d9e9e9e0bee4cb556b5ec99bcea +3c438c38ff7e6787c971efac3ce41a46da5a077e14c3e9b90dc42ba4a4ab61286a84450357b29a +b51ff8c52c0fb00504e76eef8da4db3c9643c56f0cb6456b6ce62221824b578c13a054a0b2e340 +2dbf3c2488a61346b16d348f3de6a76630e7cd118102451c5b784508fbc238a8edabeb5e7c419e +2a204bec81ebb678efabbc858b25242949e1af67ef96a3441dda3e720b9a63cab550f56ddc9543 +5dd6957b01464c4053625d266b3dc8a5de62da0e88b07d23ffe2bcd6139e2af33834fcb971e2d9 +0c12ce0859b584bd1b3fbb755a5b9e79b7c90478458d13b54bd3d2517a43c096e35337168924e4 +a0d131e6a7175c3cc5c601e173296a99e0cf1d9e4cd7ac8cc63e40666f0fde713a02273d77a610 +82fbd1a2cfcfac84091b580544d023b85b93c9526bc18b85615d0e4da274bed4536661646d279e +3aeeaf9b7a144394d6ce81174c5f8dd7500c3ac83df85075413be3a679e075149985d5c67fd4de +71652b1458629892f167391bd15550fa0b283f781b332e85650bc7aeb33fbb44dcb5e27425699e +57e4e62cec3f0df551356ab50860d73f67cbbe4ecb3b6333100305187ff292bbcfd344ac6cfa71 +c685042f25bdd689c69b960f09f67ff899e37e45b4e6f91d704a74a301061e3892aac8395f1548 +437606a323b15a908c297f8f8b2f50ea19f289989bab469d0556c85d027aca09a8b6346f6268e6 +ecad86bdb2958c42554a40562e7e7da799e8cce777d2e4739fb415d48a99bfbd6dde0405d236c1 +e08ed650da051bfc96d3a7cae1741c67cf8d483be8d070697f62621e322dc66eaef9b82e7e21ac +31768213b33efbfa4561b09fd72a69f05c1f80cb7b395568055895491b1355019557a56a138ff1 +0adc7e761baf205f9e691354bb33fb1d34de0366ec41524c405f80b1c804dac9916f65f0e64734 +aa83d67c42c55ffe962bc765db1758e22d0cd47c6b48460bba8cf8429af027635a3e7601c9de3c +93e5793248b29cbec377d08ccb66c62311eb4423a232fe03fa0c2b1dec3d815fbf02e374c0d3e0 +64535dff4d9427e1b103496ad5e13832909d3e6c63265cd2b68ab2a94901a3a7367679cf6c888f +1fd558cbc74c06ed79723b1b50155c87de4df79e5f47779a8f161825790dfc2526377a652e36b4 +5666307483488442e48223e2c3d41424c7608166c29d0e8d4ab6c956445a9d025f99dbcf9d6a74 +61a7366b8b689cfc80dbbe84142bb2de635c7d23e2bb54c165ffefdf4c2af1e45286580d589095 +8168325f4136b7af0bf24b7d5f26dafbe8906ecc59735c0f1963ec46015e034553748c2edbb056 +679270975f1dd3db6ed780a9c36bfe22ea7785abbffef2c9f9db0c4533a7fb239c2db3876ffe3d +0853fd15e4db66cfd2a7127f05ffbf49dbe0ed1c22395722c93241a77a902b3814c4827f9de5c8 +0cdb9dbe16788c2c557c5d3760b95aab89a6beb453639121a3615a31f8d1062e7b8a6ee300a325 +bb12fd5702ddd1bf684ec7b7c1241ff1aa85406f5f71d472f9d265a060a7532c0aedaf871e6bf4 +ba55f57d6963bfb9a8813ca63c76c6da52a40ef3b381efd39b8cc6c83836fa175adaa5886b303c +d7727f420d9792e79c676732ce7da08711b4241e3a9d85ec5a3871250cce2a92bf386870182349 +61c2cf041cfb2f5a021ea7625d653ea2db52f70213f159880e13e21347e4e8eca409341be8d34e +d72ee6d0bd2b6375ce4241c43fb48a4d09681028aef325f9f3d86a40b5adb0874153a8581a4195 +f1b37d3e108af270650d97637cb2ba1ec4099e99c7d1d677067e0bf9a012de956e44f4532ce46c +dcb4e1b7cfc5b888d5e4857bc6c13b2777192ccef00728228fae2c0f74310586fa647d70b19c97 +cbfc380eef64a35ffc3b2ff36264bc12487df0fce647d5f73481362242a7acd1961425007c1282 +0a69efdcff450bb6ddaa47c91fd1fe235dd38baba5b483357f42f53cba715197183b5c341ebf5c +fce7caf37258bafd818d1bca6e1eceda106594b0ea77254768141a6c6b9122ca43ec05d56e95ea +f27d62da06d02ba5aabb63079711276bb949ed46103b7c307f0e8624baa956a0f7c1923ce63399 +d2127e55b4d4701b6eda197a5e1d961a233a3972340515c51ad4ab4a5eb9e54f5beaf1c8488642 +576a5b210b2049edf5627a5bde7db4f4289277978c34c4b01aff01886e8a1d5f9deb7e65aa0a40 +affec140c9ab8dc52953ba306ce7e0cda085206ef772e0008b828b937ce6d3b23953e8991e95bf +616951654fb11c173da91d6a01c56afc521033bbc22ff41b909e73ebac3e179e2598dfc0190c53 +1be6545571eaad5d9b06e92a32370f32789aa74521de4a220a071de0603804eb0f04c041e3124d +dff23237743e036703511f0aef342dc6dc7d37e759356de5bb668e0ddb129c48ddb46939280522 +9d5e6efb3373fb4bd4ad00d0739fa2a57f44dbbfd9a0a18f3321131e5183989c563188795d69fd +1875a4ab8fd2b074801aed4de0852f6b8e1c36fd9924b7af71f24001c62aea1c0b53fb915ca4a2 +be82e56cc44c75d8036d23033491e84bf073751a1901f92c73b0e0f8bd90ad19a8ec2d876efa72 +c6c3115f1e68eb35dcf9c1ec47bfcc4f0109e763d3fd182bdd6e96de80e03b7d4b4a48cb4a674e +033ea94541ccf0d550e53cde5887235f3b26b49dbd089de70860a13c76e6c22033b7907f02ef8a +a427a89403b8d5cedb943c6299406fd8e5b048d4686ae13ea29b9c828cc5c886cf62452725a95d +829741ac7ce98ffb6b35698f14290822efbb07743401b014816098365b2b872184343f48d5b374 +61ac738fa5a8a628f9df3d74f3a9d4cf588e12fcbf749b99005591d32c3399b70e91f039194e4f +9fe996b243adc35ea3e5bc22daecaa1b06cb859a185793d8f6aced1c0b657ffdc88e73fb583f96 +61b9944365289ad1c71a1beb7bcb6155ac7ff703b86d056b608eb384b1b7127d252c1e7486a86e +5cf76f45abbe373a41f5c59ddcfcc90d8d82c7dc1e262b7731162cd03f40f60e29178a2f7a5825 +5512f23939dd3ccf2b483f1cf076d0dd225f5efecea9a7db9fea78cf9533ad3fe7a1073c933333 +678cf133e6ea750a27fe8b0ac821c2f524c42b55d2bbce8dae8cefbe2795bc5a9592ca602c13ec +5e647384de5c5e6cb7cde1f4d25a34cbec9df65b7b5684008a3f825c95e1fe222364f2424cb097 +add091dddd793ddcfea2ff97399cb3d20de7e9778de33e6f05b335b1ae243e9985b1f7c5eee3e6 +bc93eb51093fe6e74b6e3ce45d8885a1e3d14df0dbe8caa0169acb7571ce59ec2f69b2af2356a3 +bf88088ad2c7cc5ad773c148503c2f2a05c5b926a84b6f21c10ca128ec7890a0393b0ebcf82c2c +de5afcb03b2c04b8b1d0f2ed7704a27edc5f42809e0fe52cc0a7f8452e19d0c5fa09dfafdddfcd +bb8a6a679686f8beccf2e21e41e8b1ba6ac2ec95ff0b34181003cf2fb2e22430b1e4e9988d4d02 +fc8c8fdf66cc0080f2578ac1ee31ca698f9ba73fd2f337cb3ae203d6d3a9f74146d9305d44ea8d +7f043270ef76b87f2c97e3b35ee06ef0d185ad8427a62da33d26cd5eac5748ce6897ba7d62fc5f +8ff85d5038e0066fd2c2fb92340254445c3bbb41ba9dce959be5e80a5b00d53d574807b0ab2440 +5a0aa1a7f87dde936d2a1b98e6dc49218c2edf11217c96a05bab19995a0089885273bf22ed12cc +95da4afeb838c54afc853c0a83d7fabbf8d261756a8063d89869a803556184c1adcd28a22e6d82 +f627c6fcd8a19bab5c24f1e89f1e5755e2c3c0f5ff79d1dce4f63ff232d534203c778afd540f11 +48f4b6dde072c7797a18e5a1d51149070e6715fdd2ccb5555dcfcd5656db626f23018ac697b3a4 +276b0a7469a63149e37b6ec033ddef914fcb562e6e77e9d7771807e5433b84649aa3b3318814ca +54d0583baad353a1b43218e0b87df40b308151875c28c7326a30509486f9cec4a303aff74fb5b0 +5c531cbdb1ee3459f58a323471237cac9475422ca7af7010a1cb8c9d152d6c0dc98feb55ac014d +4fb55480aeb7d57d3b759d01ddbe90c7ac58cf9cbc52b6b5abda37f91a81af022fb84c17059030 +556bb6c02a43b80a127e623f3ea21c82eedcea0d07d9a5074559544330668c1a7c11e38c34694a +3d9909f5ce6d50afe89dc1966924c0fabd33553fa7965699dff68cee2c53509019da683ead1342 +0a57e20e92f072a98ae31b66d8c1d7e8da2c8628d2082867b423c50f79d9e8fe28207547267ffd +6d66a33415a9b4017d9a660e62245c8b01c55bc0a124b0b3210c740ca99e2d1a1d9994ef14eee9 +bf2b469ecf94ccf1a96c133ac3db55a9e5883980aa09ee459261c04a98e2f9dfac80ecc060d921 +83c853e1ece7258752d915419c540e5fd5922f512cf66e68c85eb829b9ad298197843799e9259e +3b208f2bb83c7a9d39e23f648bc93d35dc3b39904ac4a1a00a50dccdbe8721aac2f00df496a528 +a9541b21392e2785e8b3dca51468890697805230e18b743852ab3e9229941472bb589ccd129019 +12a5a494912ee40d550f969416d2ad80523e4deb4ca4d121867c05243f1570f23f6b23d6f1a5dc +bc17b40e84b5f4cfdc313a519a12b99b8913ef39b67d367f53db8790493d8e41e675de23299a9f +dd759e9eeba511bcbe921b6481c73033a9ef1e6f21e26cbb08b067d852ed057701634f1dfa561c +aa81f9d15bce8df0a90c0615586744103bcbe012fd1b859c318f9441ce40347be44e456a092350 +30f491a6ae67d0b71b6c5e9c8953fbdc592f4fced9a172e6abc63ef95d25ab6e82e0fe6a668adb +fd617b2a1be539e508da42db2e0a03058228671e741fb01852e6071feda785e128e98b92ed49d8 +2ab9f2e4ed7cc449b584c409ed1bc0d01fa2de88712afb66b81bba87da295701a03c7fcc6223b1 +0bf291a869887294660185941919d9831a5014c0643f6895aabc1e4caab8bef520448135287e4c +4ca6b30dc4a8b12e82681a920c9d65edb3d31e5edc76ae832992c3d07b82acf522b6da0ea34722 +67a821434c0165c6690184c0258cde6b1dd24aa25ce80f7d0bafafdf5d853dd1afb2e84338fe8a +355518c904e87438740ee82f36921c887000d33a34f96bbc5624bfa70e973b879f6b4bab69fdbf +5481a4124ec2ae4589e8b0d70934e821f221adca581fa45bec34110d0de66538c71187b3cc1e69 +626815db2c768335c1f8e97fb86e52ee9f517505f10186b3339c24ce1fff4358d875c09fed6556 +61b72d2a46dd208774a713437e8f665ff4db9fc8b52a4ae2eeeeb96871845bf5a8339b2c1ad3ef +cb16258199e38c2d29a5126a82981934058b7afda25eed3b3050aea58cfb84ecf754cfe108ca7e +53720507f3431879ebd91ca85a09c20e24a07e5789b966ed4c38031c3ac97fe1dc9a45857afc40 +09e80381ddffce058d8198a6fe468009fa553f12672f3dec157c876e823f5ccf6680d62f057001 +49823ea61aff7757417ad98095ce3fc5bb6ada64c46245ca6d151bf68b93c6cddfe0102fcb2b3e +763c2331e9f207f44bf90493a3965c142fb74af6f4ca6aa8a4b8382bf3bd38928f83ca0f40e9cd +0ca05a597ffb275f67a042751166941fd87bd2c2045fa928911dbcfb58d065a2cede823dc32543 +d13bb3f9443558ee8b81ddcefccd5bd0b876b16ce6a9d564f67cf13ed6603d73c38b2f442ce1c1 +38c6dcc972b61a4c0731769ee6c6184d5d4e39550035bc13a5940927df70ee659891ac3a554e8a +7882dc26fb86bf48cd0ccc8810c3b86b517775f3611533e5990fbc8630ac3a1d54a3485079877d +844888119465de73809ce40a4df0d74671196fba1065dc5612fce451253639c11d1219520d0254 +b0be044e591bbaec666f92eed5cded01c065810ecd2f9b64f89060d014e251302965ba566aed84 +6d84b1ee5bc3c88c4ad80aab804f82dd9286e96f00ad7a2c4043b5253c889d9a6dcff0d5a0f743 +29ce4bb08aabf884f481a5aa5c74ad5d0bc42b8c02a1f0afad9c4dc82e967e6ca91bb12a103b4e +18fd8d28edc0e19c0e472bce7ad5b568c146c4d60350746ca3b21b026e9ef2ffeb99c31fc17375 +733e64247a22badfa877a1df3c64898ade00df2b8152cf8e96808ca630f67f9b4fabddd3a2142b +50bf2d1a83717996529bfa621d1e943264284030721c4e0b85e41b3b69390fe39535fa56cf8c05 +3a99ace0912c5897c83774027bd86e3ed8c7a25c2715b2b07ca5e61375540f4192e0ecfad0e044 +840cbc93b4688cbd0490cb7cf55186cfb32b81d8bf59d92c04261b986fdd6c766e30f1167a794d +566e91eb988028a0d297b833e200c509c44690e65daf58d43b4f5bc186b27843c84561bcaed8ca +1c8982f699ac405aea3757e7540208837937ee6e9ef3ff52b369240b0406e6df6d109fbf32b036 +56438220fa78b7efee9fe73738e0655f0ca91cb4d8c4d0509ad0cd36bae28b2bbf45ce8710d436 +5bde1a0c2703f3b0abbd480e2efd1c1aade898f50d47c41006106507c8e49e12a0a8c7863e5e82 +b21c0e976ee4b823b66124203536cbbcca96391b80893fc248319d4f95e5f3947fcd9f9b059836 +28427b3500f5ae753cc4482ba881923001dae65a4fa79e1dfce803bc75cbf7c65a15e1cda2cac0 +8c296a49ddfa9152e9831c1643b8a55628b2449abc288cc37231400ba71e7aca3c3cf400c84f44 +5de290bf80bd1c71c7f361b78c37941659bee51bc8c4a2797e56e621ee399d2fa4b7f5017c5cc2 +a253c56ec5d100ddab9470b9216078df9730150d6e6a6993e5e9ed2a93c7ae2af1621058bc3841 +1f481e30bdcd5a7ac792867378d37335eda5b16b94e5524b33227acf381881d226e26e4781778e +9e2a98a7a9369a9b55cd001034ff8e31703728113d3b1a8cff235d28ad2ee1052fa4162502049f +c6e750da2b0736bef42781012774eee7ad20b56c9df39e82ed0aea8768041cab805145524a73fa +c5eca5af79399f5566bcf37550b7fbd3cf27d1ce256a7ceca22d415f8c81f0402053072f2bbfaf +e11ddeeff17d7180bf1ea73501ab5c21850bea60d371e6b32b04fc02d43c6a05d610bd5726c085 +a5130144273949ec5a2f531406ffcaddf31787e4293336f4ea70adc31005a1df7e5a5209d27668 +032446318db978733eb1aeca9eeeda4e5058b83d38b6e2e4d5ee2c9dc34371cd55debd6071dafd +24b74cd9d2a3525a498078c3e7cec0a5cb9ecbf9b210f09917151a4a518f59c74effd0f5e6f953 +7fb4c5ec37189ad3fe35778ceea7e93c7ed5a6170ec79f96367e066ce3e99ea651b9c91d8d4261 +d6649b6479ab7273f4f46a0377b21b9830c24753f02ce6c44f0c291f93a303b14e916932397e29 +7200142cce21f53137b815aad818ef6d440e5679f0d39c48854d269b359174d92775284fd95f83 +c320d71d6a9ab5352e59fd6e673cd187ef932eb3e9fd1193be860fbcef98f1440f +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-1-1 def +/FontBBox {-29 -960 1116 775 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /greaterequal put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b002413b5a82674703cf7ce9c37d14eda0d728563f1ba99 +58598f07f0713415830399237f6ec1d586178eac242c1895ab21e11663399e818fa37b5c425347 +37f913454b78ce7ff1acd6cdeead11fb4ae6b3f8a0068fde82834b462c67f14c6179b4b4bb9681 +626bd7a886d765604d09e3e127dcc90912095752d78fbb2a5901ecd2dd2395e369cf847b8205e6 +4dcbf75e7fb129b6ee831842f9dbaf1ef8ee75a08e605386c7d3a3aeba2f59347b83c9b8fa11a1 +c12997ca63c53b00fd0b0b6070a4dc7928bec2ad267c002eca80966b746765e2c0c369ef38c5f0 +4438bb5ad9bc40530ac9c40ec2d3f4ce5f31c558f5b77314dfdf8527a02fa92582d051afd7fb9e +fb7c952c3496a31f3ebcb5e15925fdb77cdd9f3239d37ca751d55b1166e641e858c6089d9e6baa +9966c9c8c96cdaf01821483b83590d30bb6d5e2b99d9cace7e18af12e9f1f78eb2477e5e386841 +d57c0d9bf03e1d299178267e93d4174d08ac361c5847b9e6af009efb72cd9a7ff4717f330ba422 +c571d25283248b42e845f69a1c061b641d4d81b95a5bd0f5659b4e8c6eb525c4c84a37340987c5 +bc6bac971074df1e4c21acd41191d7610eb5c2081219d919bbaaead4a504b0b3b53411ad3a5ae8 +217faa80b81381748df4cffda026b6801fea76a727b4b7291fb0196421c67cb4f7ecb760cec053 +983ef6524a1ac654f4a045f29a00877b07ae45f6b842fc2df2dc6ec23f8180f1da035dec8d29d1 +4c4cec402199ade9a4f00a0902d5cb61a01d6f1e7f490facd41a8301f74599858a1f6af89afc1e +ef008aaefdfdfef8e4318939f31e3087dd752c7867939dcc1db5eb56ffc6c2c3d837e68843391e +9a1357e6c13fab3dc5de6a370bde7ba65231ad6715db5e7497165def93b409211325fb26e60296 +02226ca45ffa6e5f8e2641e2b8a144065173a9956b8a8324880a8befbbe2c4b0d20aed981d75b6 +006e2eaf80c972a66f7713c83c65f66de15df8cb3183f60eddd35731e4033a5aa2981d037e3e36 +65d2c7db8b2cf0115f658cd933261f0502602239b6c5e3c4d4a7773831b661483e38fdd40afefe +787abd757aec2a236c95c685cd155ec9d72a42a9ea134d1363bfd231cdeaca87d1ccf0f162b739 +2c2bc97b8765f6ae4e5ccf6dffb7e5ff3ec5305a8c5341d441990fe20ad311566578f254ef9ffb +268e00b26f767dfd60ee59e821885a7ec6f2c971326f067d859ad23f5752044f46b54259521bb8 +e671730cd74dc29ebeaf41e2fc6a415a6d79b385959ae4648fc351fca7333d140ad9a898efeae0 +e8edecaa5e9b76d29a3ae98d49dccdc7dd06447edfbaf5a6f38ca99acf4b0a932948dbe3fd948a +b9e410c6aecec9ba9c4d9bbb1047122539a94983419dee5f141cf27a6a2760d31653927d0220b4 +e2cc440e5555ca9a21bacc3569982b513803c10e22ab8f6875f35b8291dbc4bf9d8f79ed45c8f1 +3906ed2082bf5dae095f1c9298715bfaed7c577acdc0d6a9f589d171fd7a283f377177c60b313d +34187d5b4380028841d107620b892a2b34a98bbf25c8444c7eab48bad2f883d385251c8eb71fca +21554c9cf6cb3c7bdf10ceb0348033a802e8894e8d737da6dddd57c7ba8f697f497da31bf13ed5 +ed203587257ef50e680fbb873eef35ced216621b1f4f506782bb42dc9828476612fc32a4b1d6a1 +547f61c6b9258e943090e281efd76e15ab6dba413e3ebf984544d59e3f6223ff87b2b26afdb1a0 +faa21361ef248689c721e2fa9d5f20f428a0153f71d5517e00e22d3b0b2bb15814d411a8d6aeef +b18640a87ead4a3041844042ac5adaf93f8075fc9cd599cfc0467725f6c14b43dd5ffc1b0f6c9d +0cdd84e58ae4fcd198e58ae6aecb482ddea6b0a209108992606235f07cb7d3f7f0ec31654c4c19 +ed32e9e1aa618a8015299f98c99f25a81a751ceae2f181c0858943dd674da8430da475b5c9849c +3818357033347bf3126d6afb4a02a1efb8a9b0a2ccc1c04f295e4a4fc641344aea4fe44e20dfd9 +61a40d44a5de60d2165714f04a910e1b27b26bc5665f3ab5a5966e807da10cfbd63a8e85c7ce6d +aa19b7249cb426e1936d1d114a097a461d53a37ab0432c2423c5de6c0939899f3576106b6b32a2 +6e52c54b0948700bec034a55c4d65e131f4bdb33eb107bb7b1c78759fb04a7ba030eee5455f06b +8175885cbfbff196bc90fdf72289ab2437b7311848ed198c2995cd6f82a23557eda64e49169e64 +8f48b089fea579608970bbfce38840b035b4fd645cc52dd6ce2a2b9c6c474fd073c2ad1ec75f64 +37d69e09d4c5b08f83d87f83895bc4c26243d54f92d95db57fe52fdd02748bd44dc417879c1976 +eed767538e2d9c46c4e1ed5d261e0133614f1c5ed7995bf8ec717718235a0954fdafba845ff9db +c440431e5888a1240c24a6d2897da181cd5f93d49a6ad3c07193d0c3baf731aad9b310bfd477f1 +9a692e49657535ee11e7fb6e372d69f93f0560ca4f50d2caea8d1881dcb6626d0d5bea918e350e +6f675a6c4279fc89225d9738c8792eb6221b6622c9e2f1d3eb8b83f2604e153e387da5e82ee2d2 +9f86f780048ed2e146882e479e2c68db2f788dcb07c708720b98b4855d7fa178ad1e0122ddce2c +2ac5d69dbdadfb43fd6a01e50a199086cb618efbf9d83edbf78fb50f642590a8c71e19278e3213 +a3d301397820b319e83cee89c9fc5171a4971a5d950b242c716b81dba17592e2b0e9ec8cbb9fb9 +a501013952c33fee8010bd69a271c8790c26486a87b2fb7b2374e393d07b045b6d2ef8fbe9a08f +ee0c3a4d43ba4183411b4fa7861e26c404c1c95b28e2b51da93ccc20919912a133b61cf65e4c33 +4f78f24707ed08d8a6f3d4c5c9c2484188eaeb07c3a57b37afc84bed975d216bc1cecead576371 +06bdb6d6c00c261816ea0dea601e37d35ab03f621d0312594b4f63902999d093c093785c51230e +1d2b590cbda040308109fed700bcaf80a738e59ed740734a266a5c203bf7bf90fe06430a488343 +a1413a3e3629e0a2734dafeae2e782d8b9adaa0171dab586367b7c0e07a5c42fad28174dc318c2 +ff74d46d479cd90840abc2b008290e30040ffdc2c50d839f6048003d752173879b234c7dcccd36 +4ddcf5af058a653eb0c2e10936226327530a79522eeab228d77b277ffce0e12d2b1ddeb2efe21b +3bc35dfea8e2658f5f82aecaa737b9a30d6d9a930ed05f6fe39593351eeb37099a49985b501973 +4f11e3efe47b45623d6d8feb5c8bf55e01775b341ef32f402b38a61b398b3e3fdb04cabdf630a8 +b9dee97e2db46eb4630e07f5583d2a7ef69bec877b07e18a889050d9ae75ea5f7f68d829ff0d96 +8e99e3619edd05b8a23f1afec2cca115557ffc0577abf8d080eb5498aad1e6cdb9ddf82637c51f +78d2e7d552f2f1b68d7ec1c333dd544465b7f9cfc4642b4ce4edea2a3ecafa10c4994f9b60234c +854582c6beed25c3eba39e1e79d1ab411297334199f98bd9e07a41aaeea04cb8aad62101cb70f8 +b5f48779f914fc6fa3f840ce5e741ac4b913f0abffc726cce2144f7f6c4e38abb6a893b77cab74 +044d06c577fe2ea491f1ad1cc249b0aef7e91d8bc289b97dd4bd5f7abed8d4fadb9ae9bf2a44ac +5f2853b389ffe95a6799d5b8ed4e73e9507432f758de906cf9140e18bca035164435045ab3c2cb +31c252ac4c9ec90203c939d9d6c6e7f9d14e3ef37348f00905af5380e0b8cea678c4c47fbe9284 +390559e15a5bd0a4ec0d7fe9258da994baefd7fabb7935475cca76173910ed94703e5d32139b23 +eb6b4aaa1b972bb52bc3c156838da106fc3d18f7101d51acdf1c0cf7dc1ec14771ad8e0d15f8ab +de8541f50f5c1b3c23eb9f8fa6ca92dc4751eabd3035e3b59140a4f3ef4aa53f1ff9c2872bce1c +a38099fae2f8563b522bc717f24f0a1309f414346be8c6e90f0c427e30c66b50bec309d92db6de +dde365264f069f6edfd63d2fb1d3f794bb63c1347ddcc283a53c405972be1b6644188d5a71e747 +08e348699963f7cacedd537416a9f3e10b33fefc00914efb8d7c5da8f19da6e79d85ac2476a21a +b6439593e1d20cdaa4dff0873a6abfe48e21625f048e6b093b6b58ffb1cab49fcf94254747daba +079551acd3416ff11fd1330063d5bfb924ba02e1a8c6e3008f1a3dff1898de839e6b97f42ee7bf +c47e07a7c47345335e8836f6ac3e95b4d3eee4b755ab17ee8ccc6336aa9c404336f12a20c538bd +3715537a18cea99a6246a2f13c93f30f8080dc66e3b2038cd4c9bf0d6bfa0dedaaf2c17fc8373e +d7999be26de4fb74dbf9a718806de106fe4300b239bd86617b2314ba01f1b8d956341a28893527 +ebe424ae5b9b1ee4ff5a3dbc94b9747830382fa96ab31e4d21ae01f2e3bdbc868176d9e28c084e +7652972bfe753414b020ed2c4ca233f6ae2c83c468d63ca4d8c21de882ba290aa0a58130386af6 +92c92c62c94c6da5daef8ef5e7f863bb5a311bd29be0c6a63f02eb2e711f129091fc4bfc0a4a56 +a164571c6a2c2f2edb7cc7eebc93bfbae8bdc5bdca5c0451d34226de28c2984e92b63a77616b9c +0175e920d4b9996d0b2bb8261aa07f8f76b236729e3495f2bd40b1610f777ac67e5714bd22ba68 +90d365675abfe3055a1a2f192d1c3b39ab27833b8dc2ecd8f8ae8a7308b8e35b725bac5ea044d1 +9224dd0606d668f0c05f7424096027b7b4b718969b9700a669775ef04851e76c5959a463d32456 +1582e3d654d9e7bb2fe647646b9e32bd3402eb2c3c37a623bb0175d2b6bb50961712ddc56cfe9f +8dadfcc87adc682f70b70808e26c2585426e69e2cb813245c5580f3d0704ca852aabf1d231d8f7 +ae91f26d8648c2644174d40410040f6e4a53cf2c854a1b3633c9e3c3d779fb51d4088c2611bcb3 +516959993b4ef00feb20f05c224a75dafe55174439dce89213b7bf41bd4b806952628d7743f7ab +ef193348c006cd5ae3f457c84244e205a085502520e9e49e384f9cd086ba7706f4760f4e333c26 +78dfda2e9973e3bab5d1fcb31d73ece1112dede1a01e65e97584a7f7441451f2860e015e98313f +ea79d5d2b79d56af2df070df527b4bf1d6ed47fd0033f957c0a3e7e4db3adc77a83429c452f7f1 +ee7ebf508b6a82ed5069265cd3dfcbc8d509fe7740ed722a82dfdc0babeacaf6d02f41ab2b0f28 +df67503195800fe743984509008820e9be9a5c6730ac917fad1e9e52518944efbb664070b7cee5 +b4a571bebf9f87488b728a60e601992cb4066cf3da3cba485f4f455cfb02eb28ed3dd289b72199 +518b1514d561f1ce23c4a736345d86e08e5cce1e62bd7c6aea36ab0dda6cfc79233c88ef5056f7 +3a9f485bce79a3dacb54941c322be5fd3ae7bf683a47fc08f34a6763843dc1d29f922051bac176 +1b314a4fd0bd5932d98faad6a7dfb2b99d3caff88fd7e5827771aff27c826f2ef81ab07737aca7 +734f33486c879b66c82146998fbb656d588485d6648646cca16549d146a5aebc34816bbcff79c5 +8db9b92557a09b8b9914b9a4c58e4c9eb7f083cd5e1bd8437ef561fe3d07a502c741d424cf2f11 +353d7f303fb8b78fed9c9a4b05a00126fbdd87d3443d2dbd90b18a6494bf38c8d5d6665c7eff56 +4c06878968c8b2856343668a123e41c66e5acacce149f5986319393d1d2d1da343f4b5d57149d0 +52fa1aa1082e14035154fd511e50fd483be17505ec9d4ffd6e520e6245924a168fca790a640c8a +54bc6fc5ff0846119ef4d49f409fb0ed103cb3f94689843713a1c8cf9e4694dda7ecceab785461 +291990984eed9c0f1ccd96dae92d76cbb30aee441b8cc6f0145bd9bc425eebcbd624723dc05006 +c13900efd7937b732dfe71b75d588bcdd18f889eccbd7be48fe2760b975d3fe8cc10b217fe13b0 +79e56ab1fee024326c791f0c12873349355bc9592b81e677a7efce37218e33509cbc8873ea46c0 +e73cf435229e93e7236c4d0ef8aef87249b1cc836bdd5e9a08cd6a56d692156b00041fc677534c +5ab8ab9dba648408dddd71d78310d4609bc45873fc563ba85be8d491d90290cefca96ccc24ce80 +462a418c7e9aa423d92e6d41077dfcb76b54928fa6edf6cb3cfe0efe5022c6d122576ff3f82d80 +65d952fc81c7ca98f71ef57b11b12e8df2e255c987b469fd936ec5e289d13604e2106dfabd13eb +55bafbd7e4ada7c2dd0db0a96f961ae28b3f92330230b12703aa6a548077f8e12b0ea0016074bc +4ff072a715c23f2884d1fa1254a0888bc886c3f37c55337a53e827c05ba8f8878761b12a136a31 +e20203eb926563c442a488da4f486ce8cbe59eeb4a7bc54841be391297e2c788bfe9afdc8130b1 +21959898690b0ab32286b2044258c361109a80571b0af852afe350b9b0b9b15c45c45b2c2e87f4 +2ad31870563e06e94a14af0bca7ea17a2355a703b71cc9035ee1dfb8b2700de03dff038fbafbf8 +d57135ff4b5bc66a35e1ae4092546ed5ad09ea2e0311b894bab5cd5f9a7dde0fbb6dba7b128f01 +674c24c78891fd459355d6d4b0a354bc4ecc26a7b148e595b773aebb6eb2728c0e601e375ec631 +97d364f2571321b60b6200e6827aac93e614dd827a19387bf3a8857fd7876a9a7d5c7a8baabb9d +552a8bce4790f04402e2fb450f59d173942b29ccaa681d61b8939e51bb4b8145de386943e1961c +341a53a670c67b9fbddf1c504b3e54266310dce9fa420ad143bdc654940610d98702091743cc9a +bbed7d6079381be4ff8a1c9f1b01e745f33479074bb32eaa0f475d3de6402f25736aa8594f3ef4 +6c72e685dc4b9e5c19b3578ba4c9979213a2c8713b1ba07a33b789dda22815bef26f75afddadf0 +8c8340e8c0a9aae9ff45f0b2d6fcdef12765e9764ba4b2b177c70a17ad2408bb70cb40fd93e41d +40fbe0780ae9e7c12c12863672ea5028941853a5bd3423a630a32dcd3863fa3c11b51b7d43ec32 +8141073ad7d3ba1cedd905178743aeb89f9e5da7a83315eaaaac1ce1887071917c0f25b58a51e2 +6764b985d2a4f2bca30f09ee6e81ea7d294e3d57f5522946117858f8a8ff1e6028fa8d462b5b4e +c2b4f2f14ef5f8b90394e9163a8a791552435fd9860dd0b040e147dfa02f45750dc99a618c82c6 +34d82a07420deb6bda90681e9ca80f1eb9ae44a443842ca4b7334f101019de241ffda7865dec84 +663e1935654ad9a5ba348b9959a671f893e5844c87c0abe5aae1e8846cdad77099381a06274eda +3addb68fce9274ab41e0dbc39f5973c63512c60606045843dff155b8f50c8db017bd06bea58219 +56a1bcd7f172053e8f73db2beba52d41d59596bac3c6b1a283f625b1a425e2456fac1908ab2761 +cd0c51c6b0ab6ea432b38d3248bcc8b5c7eea41397f9caf5a1abdc5cbfa504fe98f9bd21aaa95f +378c25f90d289be77f5eb301bffa7c5649d9ab7e9c7bea674e0cb1acb6a976c112c7529aa35395 +8fa6b5d7e73c53291b5991e3ee226bcf80b7a96cb375ae3c5619999e19159f01eeff944113caed +2400bb71e3d15b16ac4f76ff5afa801ff6536faefec5ead54dd81ce8216b23f88058b3eb15cc82 +7921f713d4e017188cee0286a83fff1743cd7d1113b86da4c22989bdb574d3bee750f4106004dd +283d2cb6c05fd1e609d2428304fa35d7cac07ea884bac8462da0093f31acc11c86c842faf7c40a +f45da3ea26f51fc4bbea9c9aae9a17f28132a3eee2bbb32a0cc72b6a0174c7b3f8235f2bdd6ea3 +35d899f3c7d62584012a46c14b9f5522ed20df77c7bf3559b9c7715bbc43c03ec8e16cb6432927 +00967231596a899dc476d374448477fa618d960f7c9d6736c988bc07e2bd06e8149d4db727b438 +6ae9c11ae1018628f7d7395d31e7ac565b46507d5e40bc59bc8de159ff4c20cb134af4a841ea02 +0aa3a8a2057b200a1f3193bfd4d3a408fd3a8f9fc9756be545371a03dab4a16b54198c54c902a1 +ec331edb22828091f08a979a57646a32c4451fd9a7c90bbb6b0b27e52444ae54d5c6ff28cf92d6 +1a04201664d2d13d777721723d48eb70473182818afcffaace818bfcd1f37d15b6c6036b78f502 +a3145264fd0161dc0324b6be00b45affca8482a6d3f65d7a167721ad3e6de3b1dbecd4681d7ac6 +d9868b0ca7fe1141f8bd8ec3deb09eacedbbe1ac12e78561df7663e4ff2934af711a618ce9e06d +b8411b402159de7cb82386512db6771e6cf003f7cdbc88b31a0febbd75ef4b781603ba1b658d44 +0a4e9d2484a09483442e8044f997e79b90e92e0363f0b5a77374dc8f3e44a53820af513677dbc2 +cb83529cf1606b7c87847524f64ef9f5a6862a2c588246bcc4fdec7c561e4de24fc85cd70052e0 +ef30d4ff91b689ffc2d754444430a1c50230d76560e9660e0dcee55fff627f9c2bac1ddaa0e93e +1da7fe9dbb6f51de9632649e36b982f292e5eb72e175a8c70b25dd16c661e1920fe5c8e5a12601 +f1eb5dbc82dbb4e73423e89ff51ee1e8af58a9d7fd10c4e51b3e2d788819e0077a013d2670dd99 +4d5900b936dea7f69369055a3a00cf308e13152fce +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 417 188 +%%EndPageSetup +q 0 1 417 187 rectclip q +0 g +0.4 w +0 J +1 j +[] 0.0 d +10 M 64.699 171.301 m 64.699 180.137 57.535 187.301 48.699 187.301 c 39.863 +187.301 32.699 180.137 32.699 171.301 c 32.699 162.465 39.863 155.301 48.699 + 155.301 c 57.535 155.301 64.699 162.465 64.699 171.301 c h +64.699 171.301 m S +32.699 107.301 m 32.699 116.137 25.535 123.301 16.699 123.301 c 7.863 123.301 + 0.699 116.137 0.699 107.301 c 0.699 98.465 7.863 91.301 16.699 91.301 c + 25.535 91.301 32.699 98.465 32.699 107.301 c h +32.699 107.301 m S +64.699 43.301 m 64.699 52.137 57.535 59.301 48.699 59.301 c 39.863 59.301 + 32.699 52.137 32.699 43.301 c 32.699 34.465 39.863 27.301 48.699 27.301 + c 57.535 27.301 64.699 34.465 64.699 43.301 c h +64.699 43.301 m S +96.699 107.301 m 96.699 116.137 89.535 123.301 80.699 123.301 c 71.863 +123.301 64.699 116.137 64.699 107.301 c 64.699 98.465 71.863 91.301 80.699 + 91.301 c 89.535 91.301 96.699 98.465 96.699 107.301 c h +96.699 107.301 m S +224.699 171.301 m 224.699 180.137 217.535 187.301 208.699 187.301 c 199.863 + 187.301 192.699 180.137 192.699 171.301 c 192.699 162.465 199.863 155.301 + 208.699 155.301 c 217.535 155.301 224.699 162.465 224.699 171.301 c h +224.699 171.301 m S +192.699 107.301 m 192.699 116.137 185.535 123.301 176.699 123.301 c 167.863 + 123.301 160.699 116.137 160.699 107.301 c 160.699 98.465 167.863 91.301 + 176.699 91.301 c 185.535 91.301 192.699 98.465 192.699 107.301 c h +192.699 107.301 m S +224.699 43.301 m 224.699 52.137 217.535 59.301 208.699 59.301 c 199.863 + 59.301 192.699 52.137 192.699 43.301 c 192.699 34.465 199.863 27.301 208.699 + 27.301 c 217.535 27.301 224.699 34.465 224.699 43.301 c h +224.699 43.301 m S +256.699 107.301 m 256.699 116.137 249.535 123.301 240.699 123.301 c 231.863 + 123.301 224.699 116.137 224.699 107.301 c 224.699 98.465 231.863 91.301 + 240.699 91.301 c 249.535 91.301 256.699 98.465 256.699 107.301 c h +256.699 107.301 m S +384.699 171.301 m 384.699 180.137 377.535 187.301 368.699 187.301 c 359.863 + 187.301 352.699 180.137 352.699 171.301 c 352.699 162.465 359.863 155.301 + 368.699 155.301 c 377.535 155.301 384.699 162.465 384.699 171.301 c h +384.699 171.301 m S +352.699 107.301 m 352.699 116.137 345.535 123.301 336.699 123.301 c 327.863 + 123.301 320.699 116.137 320.699 107.301 c 320.699 98.465 327.863 91.301 + 336.699 91.301 c 345.535 91.301 352.699 98.465 352.699 107.301 c h +352.699 107.301 m S +384.699 43.301 m 384.699 52.137 377.535 59.301 368.699 59.301 c 359.863 + 59.301 352.699 52.137 352.699 43.301 c 352.699 34.465 359.863 27.301 368.699 + 27.301 c 377.535 27.301 384.699 34.465 384.699 43.301 c h +384.699 43.301 m S +416.699 107.301 m 416.699 116.137 409.535 123.301 400.699 123.301 c 391.863 + 123.301 384.699 116.137 384.699 107.301 c 384.699 98.465 391.863 91.301 + 400.699 91.301 c 409.535 91.301 416.699 98.465 416.699 107.301 c h +416.699 107.301 m S +BT +17.2154 0 0 17.2154 43.736191 167.51782 Tm +/f-0-0 1 Tf +(a)Tj +-1.759204 -3.819011 Td +(b)Tj +1.806519 -3.565078 Td +(c)Tj +1.848101 3.563301 Td +(d)Tj +7.417266 3.854014 Td +(a)Tj +-1.759205 -3.819011 Td +(b)Tj +1.806515 -3.565075 Td +(c)Tj +1.848128 3.563315 Td +(d)Tj +7.407577 3.812124 Td +(a)Tj +-1.759205 -3.819011 Td +(b)Tj +1.806515 -3.565075 Td +(c)Tj +1.848128 3.563315 Td +(d)Tj +ET +24.461 121.293 m 39.258 158.383 l S +60.191 160.168 m 70.324 119.48 l S +26.336 94.527 m 37.203 54.426 l S +69.988 95.414 m 60.309 54.309 l S +184.691 93.438 m 198.207 55.379 l S +218.516 55.938 m 229.609 95.77 l S +187.094 119.465 m 197.934 159.465 l S +347.703 118.914 m 357.453 159.918 l S +352.695 107.004 m 384.703 107.012 l S +346.289 94.492 m 357.211 54.438 l S +BT +17.2154 0 0 17.2154 29.088202 5.837914 Tm +/f-0-0 1 Tf +[(O)-27(P)-136(T)]TJ +9.824397 0.0508625 Td +(w)Tj +8.705002 -0.29171 Td +[(M)-104(S)-59(T)]TJ +/f-1-1 1 Tf +-13.219781 5.989265 Td +<01>Tj +9.36061 -0.0213612 Td +<01>Tj +ET +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5226540379fdd9042c65ca61d1a427d6cd2023e9 GIT binary patch literal 11036 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

Gi#BrNr-LyU zF6BQqi!8~Iir;&@OxE9tbj2vv+?PI%u`51CiJh$6b7Opaa(RcV4aFfQfF0ow*^)Hp zQ+N2LRRPO--Cy=hQ}3+*Oeq)SUCnrVp`+Ek_dA>KQ~WEA`oyRI3N*kY+{Upur1lDS@(L?SeW;mF8H<4A(BK*WYo6B82{!NYjG5$Itgj^<0~ zQAT|6Ofa8pAsoMfVSKT%Y)!@t0T1T*!Kg6;_fOP+*2xj@A#7rLh(Iba*ON*)OjA4s zMH!(cs1b$5A{(J-C^+~AAEQtfgFG(tFGL;>vvRDTsjYw^ z<$4}GZ_O57D`22nZqy{FpJB=)+Pp;N5P7j4AW47h(`zJP8SNn5j@jr_Yg2(lYbzv?E%@GP^iC-3SRAHO%T7Y4n+_$I90_y19b>O!7^n()sd*+ zRr;qo1O-W_pXx}IpXWdjlcD|a1Tx6i{Wum6&S8J9Ly1Ii4*Fw1#DoO0*FV;wR4mW; zQyqfkB!8^KlZVnHkf=jsfTvQ1$bd*C453FrOor5vQPL3J2t@o4`BA7;klg)oeSqAM zI`kKE1}D}-`K4lc@gM2oNki!osNnkEPyI*;Wr$44V6*viKPrkP&3~MO3a)H@uak)A zAaN%Gmro(so3oq+Y!ZTL0s**Rhi!l%a3La80LkxU!A`bNfSJ9ut%;2-6`>GNJ0K?_ tN+RHiCiX;IYXZ^M-i~VVfA), with Reserved Font Name CMMI12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-0-0 def +/FontBBox {-31 -250 1026 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI12.) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 83 /S put +dup 100 /d put +dup 106 /j put +dup 114 /r put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558 +f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5 +09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1 +b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9ad8c6659828649ef +3adacb33ba7f372b681014042876c3654cce44965da20b5ea176d47fba7b0dd44cfb4eb1a1426a +7a6b713e5db62a5c9a717c5e02b1ba2194c105f7ce16478e0dcd07aa1c28feaf90ab5265db6b3c +0cf5f9bb39bb3f4c59120767ae40641452e2f86af2d110c3771ddd570697abc1148adf8c48b968 +cac8a587dcbb63b109a56aad615e839b646d12dbc5d4fa7f78b33812974a8c462859538fc08a2a +517904809055cb5f1068ad101708ea1a4144f274d0241ed8ec585fff5504a1b57c7d728390a608 +21d1d51ef8f0470decc7d97c0204a4809dc697a85643b352914dc7a75b12bed89e4c0faf6c800f +2a32fab0be8e61c0679f25d41fdb28d107065a73e3beebb69b2b6aac80ee7ce255fede4b5444de +e8a3ff85f814becb6fc7510a1e9917bcf39022d7a1bf0e2df564e45a310b730027a8581ebc0371 +244f81863c691deb381feb75f29b7f9ffb014e2f92e8823a972be7418c2cfce60bc87280a1a534 +2362b389b56f51e396c76494d0cb31f6177445b1d01d0544d76bd37e89fefc79df633cc24272f7 +d67278ba0b08cba0406701af54d14da8fac6b86eb05b74d0d2c9ca96daa38cb49c3f68f4998ab8 +629ce1fe2ad91d0224800a64c6a5608a242050850c859b893a81102282a0f1a9032a27f85dc40c +dd6819c988b3a915b22be78d3c595d11d726feea7222070ead4be4841d9e7ec440379ee3462d94 +7e64082b30fecf39088073f7aa2a69631fce17bf3548029f4d57e455f4977a2d00a50f38fa1f75 +18fd84adea6c2ec0a9bc3d58ec121cb67ded8ad52ab162fe25e200083d5ea5a6cfdab5558b5c2d +4fdfd2bad0886c7921a812b86d083ae924c64aef8b9952459832feeca0491ceb3504dfc9762ea1 +2b8bbb2614614373b0ac10b2f43931d2e84d6246bfede031d07e27f2aa258aa90149bdc82337b3 +d27431a3b96c5f82bbda3cbeb744e8249f22ec63772f5b283f83724f570e0100bf0afd9e5ce250 +478a86030b4e37acd7f30ae063cd93df731b47ab6ee5c96317635726d9858f1c20ed4032aa94db +796df1facbd884af0dca21f1444c20f3a8b7fd2472f0d78091c87038f7a509a51c88a123220ebc +b89249a4e96e6ea7623bff5f4b41c700d5662aa262d04148cf55484dd32727ce4f2244e21a2b42 +e2fd671e7ad26d77ff9aeb3031fb98d6431f668fdce4bc7cf71e487de361bb55f63a7e6a7f7c18 +b8447b2dd1695683c6dbdfc02880c439696f899a350794b5d1d2b725b53b6f65ac55e139107815 +9299b23bf61b2d4da384f3747802fd7c9dd678b29b3686661abf4d999866f3f17afceefda58236 +15197bbc76c4c7542fe78528fd45ad956c9d1d15a92056e5f4a37354ab702c22781062d746f28d +033e5065f9c46e644ce59a7a366dbf689c533a9d8f7db6f21de01784dfa43c7d8c0bbbcb9712b8 +8415e531277454cce32e92ba36f70dcce72033b32f6d8c8bc13cd5b3e3ddb9df7c6ad41dbaf7fe +db5ec4a3efe119699277d96a80ac2547e512c2658313aec0f94cf4ba3dd0c6fbefb7899d4874fc +6a714f405f943ac03ac206d4550ab65d48799abe1fae5eec610c3f9f607eff612abc23a3c94b84 +2b85396e7c5d21fc4c1a2a86b585513c2a892325464ee9693941690f3267299e0548c4b354a984 +b326664184e6d0ea66404468db0d898e6054555bc00296cc7182f11e29783a4c69b66dca12a97c +a37f218dc02b52971807c8ecd629870142bd15fd4852ae10ac977781701a39473c548006324889 +5c21d12c19ffa887812bfec54b40bd8c4f29eb36431e2c6482490937dfdb4e2deef3df842241a0 +76198ea01653d3720641feadec4df1f7ea63d2e19081f54728a5f4fed9bcf94f447bf9de0ca752 +1f2ec96f2d1280f700a5fcc1386c1c29af267df423c6ca73c13e0b5abe16a276407e8da057debe +e2bd6f7f9cb247704ca13bb659936dfd4a9461f61d53fd4844e1548b1345360c75d75a7e8c0b12 +d73ec77007e74ce95026c969d3ccae02cb6de4a06da08837f0bb7367a5f0ba075807e0584e5665 +13b9ef72f64439d29045320eda26c4a2c7efb40a2ed596ccbfebf38c7c0d31c233f21b94eeb095 +564cfdd235795751109bf9a19f9d8e2d6c054c00d1a0f5217b32dfed2938df70e6d7f773648eb1 +61fe0609a4fa8410f558bf3e8630fc5059dfca81241efbd5d82aa40c052d7052b29c84037fd889 +8e9248ef9065808b00fb6f8529da8531bc85fed9780a9670cfa6ffe1804198c76a0a8e757c6687 +db3a6178d73ec34b28c275d220e5ae4f18a22d29be7412535b2eea51959661c8b662d929f7b751 +eabc5c5c07c77c9a03164e20a41f406c825bfc5d11ec549cad81bf7234c4fdfcbc4862c669b0b5 +4359cda3beffa57675714a90fab971d05238ef23dd46a041a1ce144d1267a707bbfdb27cce87ff +78c11bbb9feedf08caa51a85646dd2f81fb6800683b115e77778f580d572338e5c3f4672f824cf +178e01979ff9d2351a37d1b4a9e137e724c11cb893db16c413a6d44ebca7bef6e77e4dd476d62b +9f8351ef92a280998d09f405d4a1eb12272c285b9581cecd3e8c55dd138ed4afd57ea44ca722c6 +2ba10686f262b7dade5c89202cdedd48affecaad5bbbbee8ab87f08cd895348a8505bde159d1a5 +7843985e34bcd49363e376782c96474a89949a3ea5e15cd3cfd950886958bdca9463fd353a2e0f +d2161daf70c52113253a4bd6417587a785bb2fcbef7893e07871c65970d7444a988de568435d18 +e4768c9a1b30685ac7d8d80c0d73e1489aab61ee4e0121e796b6a87bcfb00dd825a73d1776a8a9 +f213859491a058d99c9c70740b624c9d84712a011e9359fcb2f776c1d26c28ff5674e178d82f74 +f63a52ac3c512edde9888e8da18d05f0d944dd460aa85491da9fb6bbf9432dcea652caba63694e +badc75aa64e5720b5d1526e0a8b69aea0c0bc7b214c24a2750e342810ace935446a60851d2b7fa +68cf6ca94b06538c06abc143b3b2a0713a0a82033939786563065d52d37b7a43b10387ba3f794f +ba53d62ee62be0542360fc6069aba6bd0fd0d6391c392a52ee8c03616e32a5310ed156a9f0fedc +8cc461eb9c155be6b2a3da01898d30cff70c4fceb5398a5ea60986b0527ab5a8a0b60d4c80ae5a +ad3be6dd951fe6bb04997156afb9967706057deb8bd4e4365f16e211cc9c1dcb2e181b36afe6ea +69ecbef1670fb9a077d6a2b998eb9f745f4fb60b2819254dc1013b0f31cc95eeac7ed9cf52aff0 +5ce0b4c5ad3234bf4de92474d895b1100eb46a236c4605a9dd433821ff759542c4b2349916cc38 +8d61bdc0fc8849ac4047ce46d33ddbe1e5014f99443a4273ae6fada82e1a28cf002905d9554626 +e910a630e5dcc96bb98cdde6ada26313991e9b38ffb4c3d5778d9e9e9e0bee4cb556b5ec99bcea +3c438c38ff7e6787c971efac3ce41a46da5a077e14c3e9b90dc42ba4a4ab61286a84450357b29a +b51ff8c52c0fb00504e76eef8da4db3c9643c56f0cb6456b6ce62221824b578c13a054a0b2e340 +2dbf3c2488a61346b16d348f3de6a76630e7cd118102451c5b784508fbc238a8edabeb5e7c419e +2a204bec81ebb678efabbc858b25242949e1af67ef96a3441dda3e720b9a63cab550f56ddc9543 +5dd6957b01464c4053625d266b3dc8a5de62da0e88b07d23ffe2bcd6139e2af33834fcb971e2d9 +0c12ce0859b584bd1b3fbb755a5b9e79b7c90478458d13b54bd3d2517a43c096e35337168924e4 +a0d131e6a7175c3cc5c601e173296a99e0cf1d9e4cd7ac8cc63e40666f0fde713a02273d77a610 +82fbd1a2cfcfac84091b580544d023b85b93c9526bc18b85615d0e4da274bed4536661646d279e +3aeeaf9b7a144394d6ce81174c5f8dd7500c3ac83df85075413be3a679e075149985d5c67fd4de +71652b1458629892f167391bd15550fa0b283f781b332e85650bc7aeb33fbb44dcb5e27425699e +57e4e62cec3f0df551356ab50860d73f67cbbe4ecb3b6333100305187ff292bbcfd344ac6cfa71 +c685042f25bdd689c69b960f09f67ff899e37e45b4e6f91d704a74a301061e3892aac8395f1548 +437606a323b15a908c297f8f8b2f50ea19f289989bab469d0556c85d027aca09a8b6346f6268e6 +ecad86bdb2958c42554a40562e7e7da799e8cce777d2e4739fb415d48a99bfbd6dde0405d236c1 +e08ed650da051bfc96d3a7cae1741c67cf8d483be8d070697f62621e322dc66eaef9b82e7e21ac +31768213b33efbfa4561b09fd72a69f05c1f80cb7b395568055895491b1355019557a56a138ff1 +0adc7e761baf205f9e691354bb33fb1d34de0366ec41524c405f80b1c804dac9916f65f0e64734 +aa83d67c42c55ffe962bc765db1758e22d0cd47c6b48460bba8cf8429af027635a3e7601c9de3c +93e5793248b29cbec377d08ccb66c62311eb4423a232fe03fa0c2b1dec3d815fbf02e374c0d3e0 +64535dff4d9427e1b103496ad5e13832909d3e6c63265cd2b68ab2a94901a3a7367679cf6c888f +1fd558cbc74c06ed79723b1b50155c87de4df79e5f47779a8f161825790dfc2526377a652e36b4 +5666307483488442e48223e2c3d41424c7608166c29d0e8d4ab6c956445a9d025f99dbcf9d6a74 +61a7366b8b689cfc80dbbe84142bb2de635c7d23e2bb54c165ffefdf4c2af1e45286580d589095 +8168325f4136b7af0bf24b7d5f26dafbe8906ecc59735c0f1963ec46015e034553748c2edbb056 +679270975f1dd3db6ed780a9c36bfe22ea7785abbffef2c9f9db0c4533a7fb239c2db3876ffe3d +0853fd15e4db66cfd2a7127f05ffbf49dbe0ed1c22395722c93241a77a902b3814c4827f9de5c8 +0cdb9dbe16788c2c557c5d3760b95aab89a6beb453639121a3615a31f8d1062e7b8a6ee300a325 +bb12fd5702ddd1bf684ec7b7c1241ff1aa85406f5f71d472f9d265a060a7532c0aedaf871e6bf4 +ba55f57d6963bfb9a8813ca63c76c6da52a40ef3b381efd39b8cc6c83836fa175adaa5886b303c +d7727f420d9792e79c676732ce7da08711b4241e3a9d85ec5a3871250cce2a92bf386870182349 +61c2cf041cfb2f5a021ea7625d653ea2db52f70213f159880e13e21347e4e8eca409341be8d34e +d72ee6d0bd2b6375ce4241c43fb48a4d09681028aef325f9f3d86a40b5adb0874153a8581a4195 +f1b37d3e108af270650d97637cb2ba1ec4099e99c7d1d677067e0bf9a012de956e44f4532ce46c +dcb4e1b7cfc5b888d5e4857bc6c13b2777192ccef00728228fae2c0f74310586fa647d70b19c97 +cbfc380eef64a35ffc3b2ff36264bc12487df0fce647d5f73481362242a7acd1961425007c1282 +0a69efdcff450bb6ddaa47c91fd1fe235dd38baba5b483357f42f53cba715197183b5c341ebf5c +fce7caf37258bafd818d1bca6e1eceda106594b0ea77254768141a6c6b9122ca43ec05d56e95ea +f27d62da06d02ba5aabb63079711276bb949ed46103b7c307f0e8624baa956a0f7c1923ce63399 +d2127e55b4d4701b6eda197a5e1d961a233a3972340515c51ad4ab4a5eb9e54f5beaf1c8488642 +576a5b210b2049edf5627a5bde7db4f4289277978c34c4b01aff01886e8a1d5f9deb7e65aa0a40 +affec140c9ab8dc52953ba306ce7e0cda085206ef772e0008b828b937ce6d3b23953e8991e95bf +616951654fb11c173da91d6a01c56afc521033bbc22ff41b909e73ebac3e179e2598dfc0190c53 +1be6545571eaad5d9b06e92a32370f32789aa74521de4a220a071de0603804eb0f04c041e3124d +dff23237743e036703511f0aef342dc6dc7d37e759356de5bb668e0ddb129c48ddb46939280522 +9d5e6efb3373fb4bd4ad00d0739fa2a57f44dbbfd9a0a18f3321131e5183989c563188795d69fd +1875a4ab8fd2b074801aed4de0852f6b8e1c36fd9924b7af71f24001c62aea1c0b53fb915ca4a2 +be82e56cc44c75d8036d23033491e84bf073751a1901f92c73b0e0f8bd90ad19a8ec2d876efa72 +c6c3115f1e68eb35dcf9c1ec47bfcc4f0109e763d3fd182bdd6e96de80e03b7d4b4a48cb4a674e +033ea94541ccf0d550e53cde5887235f3b26b49dbd089de70860a13c76e6c22033b7907f02ef8a +a427a89403b8d5cedb943c6299406fd8e5b048d4686ae13ea29b9c828cc5c886cf62452725a95d +829741ac7ce98ffb6b35698f14290822efbb07743401b014816098365b2b872184343f48d5b374 +61ac738fa5a8a628f9df3d74f3a9d4cf588e12fcbf749b99005591d32c3399b70e91f039194e4f +9fe996b243adc35ea3e5bc22daecaa1b06cb859a185793d8f6aced1c0b657ffdc88e73fb583f96 +61b9944365289ad1c71a1beb7bcb6155ac7ff703b86d056b608eb384b1b7127d252c1e7486a86e +5cf76f45abbe373a41f5c59ddcfcc90d8d82c7dc1e262b7731162cd03f40f60e29178a2f7a5825 +5512f23939dd3ccf2b483f1cf076d0dd225f5efecea9a7db9fea78cf9533ad3fe7a1073c933333 +678cf133e6ea750a27fe8b0ac821c2f524c42b55d2bbce8dae8cefbe2795bc5a9592ca602c13ec +5e647384de5c5e6cb7cde1f4d25a34cbec9df65b7b5684008a3f825c95e1fe222364f2424cb097 +add091dddd793ddcfea2ff97399cb3d20de7e9778de33e6f05b335b1ae243e9985b1f7c5eee3e6 +bc93eb51093fe6e74b6e3ce45d8885a1e3d14df0dbe8caa0169acb7571ce59ec2f69b2af2356a3 +bf88088ad2c7cc5ad773c148503c2f2a05c5b926a84b6f21c10ca128ec7890a0393b0ebcf82c2c +de5afcb03b2c04b8b1d0f2ed7704a27edc5f42809e0fe52cc0a7f8452e19d0c5fa09dfafdddfcd +bb8a6a679686f8beccf2e21e41e8b1ba6ac2ec95ff0b34181003cf2fb2e22430b1e4e9988d4d02 +fc8c8fdf66cc0080f2578ac1ee31ca698f9ba73fd2f337cb3ae203d6d3a9f74146d9305d44ea8d +7f043270ef76b87f2c97e3b35ee06ef0d185ad8427a62da33d26cd5eac5748ce6897ba7d62fc5f +8ff85d5038e0066fd2c2fb92340254445c3bbb41ba9dce959be5e80a5b00d53d574807b0ab2440 +5a0aa1a7f87dde936d2a1b98e6dc49218c2edf11217c96a05bab19995a0089885273bf22ed12cc +95da4afeb838c54afc853c0a83d7fabbf8d261756a8063d89869a803556184c1adcd28a22e6d82 +f627c6fcd8a19bab5c24f1e89f1e5755e2c3c0f5ff79d1dce4f63ff232d534203c778afd540f11 +48f4b6dde072c7797a18e5a1d51149070e6715fdd2ccb5555dcfcd5656db626f23018ac697b3a4 +276b0a7469a63149e37b6ec033ddef914fcb562e6e77e9d7771807e5433b84649aa3b3318814ca +54d0583baad353a1b43218e0b87df40b308151875c28c7326a30509486f9cec4a303aff74fb5b0 +5c531cbdb1ee3459f58a323471237cac9475422ca7af7010a1cb8c9d152d6c0dc98feb55ac014d +4fb55480aeb7d57d3b759d01ddbe90c7ac58cf9cbc52b6b5abda37f91a81af022fb84c17059030 +556bb6c02a43b80a127e623f3ea21c82eedcea0d07d9a5074559544330668c1a7c11e38c34694a +3d9909f5ce6d50afef7e3ba32dea9691547d4e09d961cfa9ef6e76c023ee2b0d5728d47cb48692 +de7ff19e831961aecf14f84fd9d243ed19312e207a4ed5ab8bdc4b14a1317355e22aef0ac19c15 +27155fc7f5c67030bff3e64094e92cbff4efb16b2113dd3f9c05ec9165b1137e27ac4cc4677d73 +c8e7843665de34de7f29b481bae14b8135e36445a7185da04659ece22a20c39e3f9a4889150837 +f8f2764a51914c0f0582b7a11d78303746b7c4f2b27a3378d5436998604cfbca3dcb1ee1342588 +e5bb5ef977576b958780a86e895fc4187cba9e09c0da90e752d852f78b6f2c46b77a7de603fa06 +b9bc4e724cbe39581e586daf7fa32b08299f3a6b26f9904b560cd30ffe17b434dab20804982f2b +1dbc82f49a147b5fa859c2488bde3a9cdba1a9c574b458eb0f239982c27386a9a4c2fda824f4a4 +cd0a57a159eeb23506d5f056c62458b13f40addf3912f6369eb312e663332e59078b1f2efe4bb3 +ce7e497013dd3054b41fd0ebdb196069d49568481e4b3656eabebc97e6c0eb89cd2566c302bc81 +b5ea39255c0bf70a81f22f903448b0563e8297ac3864ed29c27e28ce49a94fee83501e12949563 +9186203daf3df0249711719b8071e55ecd1fcb4adbc57be325af3cf228e9443a535154a18bf029 +2cd25eae2284173b4b40a20b9cd79444a9f110dd2afb520bff51037e111979f212294e51b82606 +e62c51b9fc9ef3475690af27caf06e19056160df2a8425f0e11b53e2319e5ee90150aaa5227af9 +f02dd1f74749adbbaf9dc8da234b1b79df56fe4971d78918112b1a26d30dd779c4a05d0eb4e6f1 +8b81af49943f6fcec6b5b01019b5b0d6338fed10e1f7d8a5f5d3512f8c826630ba0ab1b3d7653e +d90bca20e6a1b316959a22f2c3b337ef4c7a34a65ec020549376bce99708e6aea2023edb50b7b1 +6710efa9fcfb2b33ae94e49dbd019f27ad68b055da87657fd58c2eeef4124342175f831afba92f +691923e6768cc9ed94979a28fe22790f536c070118d4fa1cd5bdbff524d35ecc9a8923e69253d4 +1e128842a7a45e9c75036691eab759d3d11e90235ce6d7a52d03f2188ad6479b5b386099934134 +c481fbe559723405370500acffa926b3323fcbbac0237a294937d82a7ba66fa0e5195622175137 +9998e9a52c72c51ae3ad9fa1f1211b4f250dd2bfd68d0e71e411be34c11c30747fb9f685eacd82 +8e60fee25968283e6432d044d2ee49184a8fe5d0af56cc3a705e065d3b247584c96143a4d92d9f +ab5a7ad6be6794c8b7ea2cc79fe065714d9270bf8e985db9d9f30440d8f6fb08a5a1fb5b85a845 +73a2fb648d0b3e943860da590bef702ebbfa63dee4cc11826497297854a43de09585652c15329b +32854deeeb84a7477bee6137b3d25f0007e6b49c82b456937bcfdfdb823afef338c365fdb9673f +fb417c6186fc2dfaf4585262acaa58ca40ffd49e0d17ef4808ecc3ff0d2be2825bb1be52934f33 +a7b4a58bdad008340376da53bec2464aaa895d7f0440eef3b3584a40e6066e3c1328d1d3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-1-0 def +/FontBBox {-32 -250 1048 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 83 /S put +dup 106 /j put +dup 112 /p put +dup 114 /r put +dup 115 /s put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f +ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd +e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646 +45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd +e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e +1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a +b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b +5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5 +bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6 +00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de +a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e +142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157 +77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c +bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d +85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e +5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87 +a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb +ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40 +31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a +fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd +8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0 +18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542 +8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6 +79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec +327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7 +9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca +ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b +9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57 +a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c +6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46 +ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a +dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e +e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28 +e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5 +785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff +ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8 +f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413 +619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee +309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35 +cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9 +38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e +8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690 +9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3 +202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9 +56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f +08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49 +f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f +5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1 +09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d +4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862 +2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024 +a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b +1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474 +366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec +eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48 +a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b +e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627 +9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1 +b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38 +8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677 +50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3 +bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223 +bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc +811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1 +805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253 +984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa +746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971 +2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4 +0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3 +57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6 +13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b +ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990 +078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a +e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550 +e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505 +b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508 +07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32 +20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37 +5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb +d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc +4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab +9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3 +77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798 +afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174 +a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04 +0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d +b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b +35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246 +7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1 +1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936 +2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d +f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b +7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb +7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db +3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605 +85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e +163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657 +6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc +acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7 +4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7 +760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8 +08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630 +5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04 +746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a +253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26 +8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0 +63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009 +8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168 +9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e +714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0 +26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14 +a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef +2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390 +e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5 +bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b +3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b +35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477 +94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b +7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8 +de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268 +4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50 +57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7 +8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c +77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c +e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd +89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78 +6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f +6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b +f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5 +b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31 +93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268 +712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29 +235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71 +5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786 +8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1 +de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce +f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8 +27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aa06f542de6dff18dedae +45ebd5df41c9716f9f265e0f76ff738e8b1365d83a50d5e6ec8124003f416efe2f6d0f7804ac7c +59f19265b3d1d20ec202d2a8f04cfaaebcf61da57b1dc67a714a16a2692ba82c5058af93c2ae5d +9d1f87b638c5b191eb96bd1ccaa8346e61cbe333984dc3dd511d8a6c7cecb703091db94f945ed9 +aed9028b9ccd24068d61f2ecc2dfaf50fb76b32fb6d3b71df1fab4ff54513822a58693adb9d89f +aeef86a945f50479c928e86c72a3ef8a138ec23a86926f7be474076bbc1b96fe1cf32be22f2fc8 +e7810c314ad39b639a9530aa740b790d598dd2b7e1aa04ed8030238abfcd5309e9f7a7fe4dcdce +8b8764515e0877b7a7850562b2ad1f603920e327299f6d2a733411b6541db854487619d51b1e17 +5fdbfd350019ba0b52a148c485655ffcfb053fa1be1f206793ae0ab8cf217fea946b4f86d491dd +0876c07551affef62188cdd092332a6bfeb6b36e2da589e63fc950716e194d657e2400f63d0782 +b5301b7e264f5bd9b8e7cc52114f411c14531c497a334c309e8d4031cb9fa9ce3e21cb114d60a5 +abba32e83444bc237f0d26b346e4de6fb7ffd1beb92e4a0d3a771bf36431ee08c4ef9dbdbfb9d9 +62f563eef75bd6f15e27be9e768f40e0f381c810778b02847a19cc8f341f14b7afdec6ce2f7f8a +00b5ead0a7ab67693cafd069bad81537f5f0228c6413de86f07e09d58bcc70479b23764291f75a +c47e7f09fa2a8cf64f57709ab764a8fb9282a289f51d969f30e3885ae17173a362c2a22297e76a +8a40b149fbd3085f373598ec418928722bf4db7fc9563ce02e9dc0ebe463ff03d0294b42f86ce4 +7eb8c66f68fd90dbd8254cdfdc26a87a288471a6469cd7f1a0436ecb9b01972213aafbdb21bc06 +f567bd489a51bc85196f69cb3152b526a1d1e910a105786881106c5cf65e410f6ddd839990b432 +95f2908fb82cf861e93bd8f745f6ad5c8af80d8eea71a9946437ebc5ec23a8b5f07deb90d9b7b6 +eefad8ad555949bef5cce77edea8dcbe0cf80a8da3a70f046fda0930067072c85dcedb2baf4c2e +e33f7dd1daf56d4e8cd54923e798ef1e6d1acb0278eb2d2da92f7cb5dde41ab5a77ae25c359b10 +89f7063a1fddbc7b219842d17e49378be1b3a664aa5a426c5edb098ab44abb02829abfac68bb6e +f9201affc99bc0615fad1253dd9d6115a87eea41041af9b62b626bd4a35eeb4afcb260e7e3ca28 +3563e41530dd128b41420193b6b06a64c0d0979d344b7ae349017eaec8c0d7a9314f7cc4839a4b +7c10e96af1ba6241e5b535771c8f6fbfaec8c79a96c05274e075676c659be04e6001add104c13d +64ec33725d0d8f37b06c2d1d512ba16b5a43ae18d31733c3653a4582fe3697740222faf035f548 +9285b4a12a3eaec85b57145865433983f9057332d6e47509e014f82b805c371ad55ad16b145a80 +2d22dfce3f5062dbb8053a616fbc0d5763b127e100c24e11daa7ac38f404065ebd1be8a469cc47 +f6ab67587c65c91eb72edf5173e5b2eccc28d39214e68ac04a3242e1e32913a50ce218f78ff984 +87d20ead1d888212172b0dbdeaacf903361d107802691a411e0f34c88f799c03dfd8d8db19ce09 +6b169c845dab46412713f822ee1bb373f8aa8eb714d77769febe4e541177dfb4f48acfbe0e9cc1 +74241fa61a9b564dd1d7cbb54866f3d7d6e202e9c7d67fde319c1c91a428422b76dfd865346fb3 +79f4dfd4466422d15f459afc3636fc8935472febf27eb137d1d4911fad172919dfc25bf8842a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-2-0 def +/FontBBox {-40 -250 1009 750 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 43 /plus put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 105 /i put +dup 109 /m put +dup 110 /n put +dup 114 /r put +dup 116 /t put +dup 117 /u put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8 +1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4 +d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65 +dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901 +d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b +0d58fe7cceea728243b0a6d07c975363fe2f68dc120d39bc1437b4ac6e91b4f1adcd675ae140b6 +f59a96ca858bbd5c861ee4d4da5cd8c0810bbf81fb77d72f04692826e26e06411cd5bf235072b9 +a22bff0b022257caea6b35a80f6584f84fb25d2b12b487b122a82e32ffef3260f9ade779b4795d +3c56adfeb29c4e258b2d9f9a28e54efd9bb6a98778a6cc09348657ae5c4f1cbd6a6657b6960225 +2e89f0dc72dc41fa2151c8680593116af44bb56979d80ae7eb28ed92dd5211a953ef3956453d15 +90fb10f8f053d924da5eedf7ba9ae7eef8e88adc91b40f9aa66111521e97affc76678b95a94c1b +10498274d41eb5dce6c800cfc2b1daaded801c27fd5b57ddf20a4e7acceb6ec82bdcc67f5ec5b6 +9221de716f66d38f37d936a4379b1ef049d22ff23aeaea253f840f67cde55a9c0449f09f5c0144 +ebd1be42eb4dc7654dea77f4821c36b37e6367f23bfd70288ebc289858ae641a75597dc3453bed +fea0eb27f30b6dfd61e07ec4ab199fea4c2f59d6f6b04bf3f8356318f0ed8e1e663838237ef143 +fee4ccc3540ea39b05197d2d9c149a2a71569b89e3526966b4860666d7394635cec4328c5e453a +59e314fb4aee07dd60c6ce98b1c7e0fa4983414f17c728d92a27a7c1402b6bc51e3a9474e312be +1e6d5b802895af8e46ae6dfe64ff5e41bc52a3648091f713c7f4021c9ee000cbfd06faae97bae0 +55c337de33c9cd0c6f45c4918db239e6e63d795f44b9d097118d083b6d6ebe2062308845affa58 +d04bfccbfa3d1f3b4d086f1e362357eda652158996fb06cf39ebc15946fd58e6040e2150803bb9 +d9156133cec43034651f6a759639393fe2cc6d608730180c4ff6fe77346eda3b4b747bdddcd33a +9c81236a22c18964c1a3dc6b47a384cf48f9dcda4481ac84ee0234b1825028609526349bd3bebd +3275055bdb3d52e2595512a9d803f68a9237ef9f933f367f4cf21bc4aa61ae6222051ca394db85 +b9bcd0c78e7cff1b38db843b76e9eb828fdefef5790cd372d971e5bb8ab00df0cc66afb0fc526d +9e6a4d1bceaf99078466dbcc1d96c22b022ee2b84ec839a896acfbc1baf7cbdbc883b8dcd3368d +579e95d20124d58a0d8e896eaa9ca2dcd4d3f084aa237af69c9a958ae0129ed065740b556cbbd6 +7695d32b1ac85b0f26bb974bd8468f058a619486ce6fc45b074a6541d409eb725ff3af49d5ae3b +d896d1d6bd78746535a61e265056b9dca3c637dbf690b539ec8fe181acf0ec5edced82868355e0 +8d64edd445413bf367c817170006d3dcc6a9a7288531311a44035d457837b97044fb3beda4503e +e5820e5532bb9304e8c83201f9c46a1d6739b2da74d046a75a60ca064cafe82168bd87e88005cf +a68f9db5faf2f75f0d7bfdba7ccedf205bb6c7361a62e619af888a9e753f1522d7094e5a9bc206 +cbce76f0b6a1d85a2b93789aa0cb3105e43acaf226d61764d6962dbb1ecb372fc27ab8e79763d8 +3df97805bc70614355bdc853942f8f4d271b54b3c475b27d7f5985dd84b14c22480a6b156b9a81 +2adc8ec155bf922fba301815ac958e68109c186984b28592719e1579e7510fc5b0429b577f83b8 +aa4e11a93291dcd14a1ff76cc5e54de58ae4b399f086c0c8283d938d5f4254f37e43aac99f49cf +259036817690e55f09e8c20ee7e627cd38a0ca9d7a574a816238478497dffedb41bc0a56b7eba0 +9b58a4d8d5711b931598873b73f54a94cb7db62a78b590a189c0b83d7bcc665ae203d5669c721b +b4c34ba9b85388afde9502da1ad77994941dfb0c8d9673fe3801ed7b646a3f7b86c87e2a5234b0 +2507e05189732e574b7f2294b59c2945666bca518a71b9b5c34f823217326b827cb5c75195caf9 +b93dfff259bf3e0ca4b2c6bee5860851ea5ecef377689a76b98c4e81e8f17067f47439f0fc5194 +d5a0a1959d1e71c88eed68a2b915e56b38c00507921917cb41bcdfcbb6e041d80b1e06a41e974c +ae2bed5381d03bb4e1f2117d109277de28efe7bebcca40d687561b073614d885440c9130c12643 +1c95e73f4c7a9d2c9ea5a86e1f9ace968bd2db67c0900ecf65dfe8eddd61a11c285867c06a4557 +ed0ad36fce2e0192435bece4fd8d7cfc355c6c019ca83dc0c9290e10d0f166ff639ee6fdef87ad +b19fdf0215f52da1ed5eb65876fb24c0ded82ec96814c0f8afbc1db375051bdabae230a873df8b +5b55e6c006e6f7b6334287820ba8f20d65b01155c9032d6393ea04d967e4106ee05423610be003 +033e86cc7f177df3e49dc911d5cad22495e430ee44d9fa74960ce44ff6867327dd3985c0f7f456 +b049bbe721f07a2eb9149a44f06086ff1391a6e2bd4a5278ff89beed802bab6f81a8d4c25f1759 +7beafb760a318ea610b5f145274a2b3aa611858529712d404991ea274f2270452da3b68d891699 +43ba7686e3019263133290796975cb035b2e6169b8621e7136990ab699d1c89fa0e94551191523 +fd1a69cda50cf8aded596f56dfa218cccc84acda3226a0451e87ff0e44fe54f52b37a59220fb13 +5473a469ea525805de37d223c18319139185b97fc2ea83356ef7799081d1e2a97d89f977de1458 +9ca8446cd692fdf2419459618475c952f389db09c0749798af8397ac3e11d4e7302e39ac34ca03 +df273851301a1ae9b226e84fe2e0b65131299516bd64aa90efe39f280591af10c90b652ae14e80 +cc1201b4109629558e83b83483d4dd57e0857ae0dfcd5a64b5cc36c1f28ddc752ac1d1bcfde5f5 +b1511a3e6b30d835186f38e35215a328d396db7c634aad187428b23f68d013bd6b8ac2d7ff93a1 +d399c360245641c2200021b9f8dd69304f74616ea2dda34144fc11ec42b09af21134c2c7fbf153 +4abd44083021d4ba466e732a1fab596e9f6afd4874ceefad852697601ad8f15aa5d59e20c11e25 +b8fcf60d6138d6e72a8f4cf154c97bf5990595c479ba3a2f96dd65396d54a42b209ca55d3eb21c +be6c44f0780d2c43fcddddea5a65ee645aacbef909a155b55247a4dbd5d59e7d0fc8c20a219344 +312a1d86cb69662d2c7cf928f6d817ba34ff554890aef5afe8b01db6537b9725b88cff02db92e7 +87b593a6491f930eda75143528147e0341763f3f8b9794a0dee7a4889530c765a8e665f58c9334 +0c99a098250ef663f3158ea3e6dccfef4212909a5c5c23e2d61189d23d69e8bc366c947019c230 +5017afc9d36c6e8c560efaa4093c944a4457698c5f5de74374ffdd24cb5e6d24a04b531793be80 +2d5ae400e2b068a62252c678f4547fba7c677e634cc76a0373124d65ce68dd5d085841569a2f8e +9c9b71ed1b3794e6f899d6f3cf7b6eee7f33a285abc190b8f17454b084c8a83a7c64cb899733eb +e3ea8d710bf15470c8699b265b4d3714870776f16ae4a5402c0a40070a16114298a51c1646f6cd +e88114626af0e4cae0ff7384d863891521eac6f31a5cd295cc0c0e7d59de52de04bf5238156f4c +e33cd4897cc482ae5ad1826628529ce5a6a5e6a55aca0b20b657cdf5e57c5a73f96f93622c6cf5 +00bcd7e6922bc3ca96bba05fea0b0ff7ddcac109be83fa8934851e9be9bd3109192202eab1c77b +0c86d1ff97e3b8732fdbb9eecd2a547e3a1cc4402d8f1d213c98890afb12ce908ea3cec9d2e7b5 +bce47c25c32ef337c45f3ee522f5cc76d1505ded96156f80bf6c8e2cf5c3f28898c2f7cedcad10 +f6dc5c45ff4979906b2fd4db0d9435bd85ff5b78e78e441d140ab53db156f4c6402f716ed7ab7c +5617ae1d1a22bfa5bbc89dddcf9f14feb699d206e1345b793185d2907babe65547a9a17f8b0ce7 +18d98db6039357616cc44be309ec11368ac4d965927773cdaf50ed2d48e692b2a3b31521bad488 +bf684f01e3506733b27eddbb5d0d6d3d8e65a5e1bc745e1eec0547984018419179b38d42e30997 +94341d97885f230300ec6fa06b18c17a1fa77dc186886492d150df1440db4efae287f2f2a4ecbc +f0683eedea3f78b1b68fc1911cbf2625185f73c141dbc9674e7affff580b4a0296073f5b6505e4 +d63a4a736bc3b794809e801860ce4691a57eb02c0947efc1de4bed3962346769c613f240db1574 +368b28f186b608bb99da33ae1b3c266e49d58ae67a462fcf2e6bfed1ac1ffcc24c9752ea793f60 +923f7579d2b8ef9860975e6a80d5f9637d594a9567f8a2d1e15ccb1edd3d502972c969ee42f57d +74500d30170904a463d659af0d96ee6fed9f4c7fa0c7800ebb2ed3b78c3f095d18068f96573a03 +3ef343c07bca94dd9897af2830b6a40086c1e8945b26f8baedb8c0af3371060ce18cf8d8693738 +c15c2eb95a4f7f7a37e82abff54ce8d19524e45379c92bee3ae74131231fb175d96fbe54274a88 +135fc74d9f429b9794912a8d157c0ce5045f3b16a4bc78811f1007c96eaef9bbd706533a7ad804 +11e4a3adb0bdbc27a94632d00a5a561df53e0c63a0c17d9df09ada247b420b524135e9e7c34699 +8993f716f41a8601099fb2cbad6f760245a1b52e1f8c45fb5379021a64ee55e368f1e2d704bc41 +76d8e1a1f034a631aa520c6039639207386175c7913af1aeeb95f1c6f995387a454c25e6f78af6 +0ec1d34e0fa0bb4bb8b9417b5d8c59d31bbd89cebd28c490d8436128eaa23c69816af90a4622b8 +2a030514aa5eb2865f5fc5247dbfef5be641da1448376de08544b9902118a5259175d547a87932 +6510c732848d4e5d6d4569021cffaf8be720fc9b73df8a0b8be87eb08c3a2cdeb28d6acc63694c +a9cbd263838f26a9f538d85fa00cb23f053094977019ff9a935d627668bf9e94eac831d09da176 +27b4a4f4b6a790273ec536a5d8f66f478bbacaf17382f7a3e9257e554ed267eb03cd70b80359ae +7667c44c0c9411a2ee41a9b0a6a12418a37e6e814069df72d0534d6bd5631f158a3fed39fe33e4 +d97f5b8d0133f8d67b92c72466cb2b82def502a67fa8a37ea4473056da8b1a1c589960957b0e1f +e2316dabbb150f8f8be2c4da45e4014cdbb22df11a9fa8b85278ac7f0a6f75996a7eba0e524eda +ab6ca54ec3b3dade7c9edd4ac5eba9087cfd542cdccdb9410202ea1c5dfd4abfc5c0e1c0ec8224 +6a93f453389bdef4fe8a94f9aa5b492ae04400c73f55f67ad0b02f092d87e10bc9f14ad36c3e8c +c6519bd9ac63f795a51f61a9877cc56e8d87e1078a1562332869ec5d52bc95be2923ce6e9ab07c +7b9ce0382a5afc60a44693aa58cfd33baa0415f5c8afc239125af4452c3a0010fef23c70df02d5 +d1fee6d23fcbd6b59137ef773e877df1e42eccd49373383b53556929650002a51973c5cb12eb66 +96f8d09086c7a0818b7372d1d17fea577704df4eaa121e0271b9459d57e1fd89a3db3d4c75c620 +79c3cadf03ef97d04c5a4cc5e608ef1599afb139ad7fe73fda41b81dc0cd9fbf93834f9ba7fb12 +38e895e9da72f1bbb8ff581c45a14a39981170d15d4e04022a9aa5a2aef9f6d38d68df4bff98a3 +71296a4e9ebdd2feb5bb616bde6c9a4647901613239b815ded225e3408799fa2f73d7be239cf11 +494c456dcdb4d618d21d19d81879bfacb55ef117fdfdd0d5f66bc97fbd7c6aeffc84d196359698 +e9f36512d6cc42775d1adabf6c99b4f4a232579106d27801f76a71f0770168e40a85403af26be1 +4ba533ec0551c3b18ea8ee97c57f9faeb4192419978ee50242ad61347104fab8f4260f518922ae +10276c55fd46ea3d4f6471207910d77c8db13e391124b50453b60fbb4e4f15855fa03ac4c3a5e0 +f6cdb7995b1118bc4c9bd2f869682bfb9be20d917cf997d4c2000abd5e11e2dbd79c9c8b7685a1 +7943a2de2ac4cc60a50cafb37baf863aa8b8350d7dbb1b52c2d3652745ce06b1193d2785073f5c +668c4a117d268d839d41e497165a50d08c3292fbd174411692a3b744da54986d1ef767d6bea6a5 +f437e5fb61f7581c72fa8df1f51909443be412c321c9e1fd626b345b705dc4a8017eb0d8cb61cf +e5f3f80f796bba6fc7502bb925a33915953141c4444698a18663eeb95e492f20542eef84b047ac +52a439bc794ccd488ee9b25bc467ed09a418256bc0c14a808f007231fbf97efc1881425ddb64fd +6c170debd330257427c9d8b53dbde875aec06196cb8f0d33bf10b681605a02e750feadb3196bb3 +ec2c251e5f549c2fb6c91fb32c1bba3c9af6ce30cb6b71cc2ba681231b1b521619b863addda93f +bae29f8c7a439415d22bb35f59608609cd13d22612cbc6aeb6601b37a6c9f09eb1eb8f60f12134 +956e456db374fdd7a93302dc2fa405641d09fe7c28314b08e4fc9de9294b2caacb8f8673647ea3 +2571bd33996045e3a3a6ebd1315c3c0c91fce65dbba1d1dc730bfbf02a1d5b16c74a8e5841450a +24fb0d87108469267cd21aea77cdd8b317629be24dca7fbaabd757acf62f5733cde3c4f6d138ac +ee93de18cb485c9178214351fa3f0a44ed41a3f7de68816b7fef6c2869af4f677f3f358533afb7 +d4f090c65f0358bb63e52d2c4878d2ea0620d1fddce9b8bc22e99bcb711de2d4086cc2950ed2fc +50508e3aa0c15b109a3221caa9cbd6be368bc6b7a7033656d9ffc85f729d4bff1c18b00e78b5eb +5c9cf181906885c45e315b2aba41d3cdf32f0cf301dd4eb4bf9b28c0a4d429fc84aa97633a6bba +6ab0f43f61d0f6fa9a35256ef7bcd8fb934fa1c035a8ae3b600920b608ebb40850e4c7e3564572 +675ccc7002cc2029bb963d87385c2aaedd472a224f92187298652ba268336df3bc28b33441c1a8 +985bfe71eb30e33ee83f738123d76f94308a1a2f2f549d40b7ff6d97ed87b1989dc12aad21ba8b +c42b2c361c50e44b74ec9db17061db171b932c910397d42c1d6a305299545952ff8ab117bff8e2 +bc2e52e7ffdf6cb64d61aef2e79481ce9a1915b207c58c4dda3d71172cd99883a27078693831a0 +7ac70c67e1eecc1dd5b3dbd0f7b445a167e77f54ecd3f88a4622771c55c53c9cb58631b60374fc +4e6ff1ff4a26dabbc2ae562a124333c2822e4b52598cf5b4d5292df4b06800d9689c04ecd895d1 +7847d93faa68b508e524b39321aff9e749343638acab6cc92af4b447b87c3798277b3e83341988 +8cda9aeeb978ffbdda27b6628fff08a55fc41f646741d092148a2e149cb295f283b9c3a6ee040a +ecf8a895dde8dd46908ff65a57f7cabe8dd42fbd82206e77cc64aba562e6d21726a63f5a75c4f7 +fce6a8bcd6523bc18679cf3730bcf4f1ecf3cd00d8bf63af271164211a34e3beb928abe1a06def +8b2de826c893604c5f375c7c254c4a2a797fc1ef11b38ce154a5b337c453a307e501929d361a66 +aa0ec59243a64f8cdc31f57ec829093184386859fe4b6792265a6b32d03cf1c81e583addc7bada +c25c98fd44a3796e33e53e9b2019d0d8c6ba3685019e67d931b5a817b2ce47a88be668bd45dac0 +5199d05b5f02de05455bf2cdd48f2b93b50edea9a5e0c871f8ac1665fedcd0bab330ee628e3df4 +514d679aa059ab3c1da74e2590354028facc543cfdbba7f90010a2aa33b7329faaa0df1c555e03 +b71f153a5cae8a5f9738bc5c53da38544cc23c785088062e05e3896956986b6210d343068b5106 +361486b7545b0547ca15f44369b663cfbb015bf312eaed766c1afb8a49609dccf84429ad244ba9 +bda8e7c8486ecfde9f4ecd69fd346986678026968855b8820383b0dc16ef600eb513433961d693 +0545f8cf0eb3b959d906c0b5b648e6ac3b2e33afbc0288b81ee909c1c6481a612e81e11ca79532 +197ad099d11a2258bb34cde121ecf57d0aa46a40f6d4ac2b193fef9c5eb75e68ea624002296a1e +feea62bdcb4cf6cacb1027a44ecd6af3959bb1ca3f3003ca6d31d2fa2797bd1341553fdcdce5b8 +451c06a05c51319b0b94e466480c39eaecdca27b7450450e07b36b3f21d91acbde566f3c6614c4 +d39682ce2673da8e430e68ddc518f5dec91db201dcab80e338db4f3f75b8774d72cec72d15645d +2180d8c19e27664fb1369aed2ae9a79c744bad89ab52f286aabfb72b6844c7b592646e47f69669 +cfd455ccad35575d5cd34292879dfb035e7373cc732b6fc20db941a67550027d8dab9fbe5bf9c5 +95efec75e3ff33a38b92f22e3ddfda2046878b476f14b129c5a3de0969f07648bfe06baef59d7a +86d619fe017051d8124a64df3f74f36e77ba65d5d6fe31a319fabb920026c9bdaacdb6ef5562bf +5aff40247a46825f500b2e3f122ba2a5a4ce742836d1d2bf9afa763329b15fe526f0c62c92f523 +2d7bf2b0150f2f0e357420a01289d985a4b7ce3651094f210df790a318c1056bf638cb4e5deef2 +fc2764f52dc679f7efd1e79a59c1f5b5677f188fa136ea018b52703d42b4c1064dd8af3b9bc6ab +3b05ccb2cb6248e11cf4d98d78eae80dd76164ed022c68b43673a80d0c572ac4293022a1b53c2a +fd10d3151622cda7a3e5f12379d75fbec220938f74e26e1f6bfe410569dd7c19df574028247397 +88689caddf03d1e23a49c6261fb5fe05d46494a56d24949a3ffcecd06f68196a2fd06250c679bc +0091e2945ec9812bbb9e1fa8715fc91ffa1244dfc2e5d8e6eb5ea71f7208065a3c0006a2003dfa +dd229e3ffd82cbea80629c8b10cebaf0e2be05309da145a55a2ceca88c0aa954113e059e229091 +c99dcbaf92057bc23828a19726eb16d7cc864b7f781e4b688fea35fcb6d96d010af4c8907da051 +c8c570486bdf183a58dc586b15cc927ab2a4a6cfb927294640bf6250f4219f5fea544d5c2ce259 +5fb387a4540dedae6de0d5a6481318521bd2853433340952c7f79d3bdacfa7eefb478579f9f925 +614f6e4b3a5784c2ff456e34c794595b227f11681812022529598d0be5d61f518febe9868581cd +5f502ccf71b417eeee37825541ecefa07c8667887231b84d868ec00c8bd6eb20abe61acb56a1a5 +6f6c31cec7a037de42f1eac01d1be65d7d6e2edce42912d0d6b22418b9bf8315a9151c54f54723 +241e83d879ac9d9c331f0237541890260b937ccec0e80fec184ede5a1b0bd1f51732e87074e727 +c5fba6d2b9381339ae42247732ae1cc4895ace21891d0e5b12fa45729137daebed1377b88c833e +3d301e8ce06bc90e41e6678e2b89d286d4946aa3e37136d428d243dd3f3dc1599a2b893c94fdef +65652109e346aa7095e4f4eef92ce81619e1a1d016c95593931b9c072ab250fb852208094b9410 +06f67836a7d20b461df0520873de2882f4d756cf8c3a06901c383dcaba284bb40636df51aa9c90 +4d9eac09086f6f82d051c284f3e08a63014f7b2d898715a08793b8904d5279819327aa7931c89e +cf6838a06018bf740f85b6de8cf89468910380f946786d9f9675f47152f2d078f6eb6a6dde6ff0 +b4a5b1f19028d5ac0d2828be68d92dd4b4c0ee97a68d6760e534722aaf91e6fb943b5c887165ad +df6fe7c4d63307b832c245827b227ca3cd4eb0c76133c87264cc7aa3ddf1fabb84f79ee7c34069 +1a607a8369f64d574795d3757a97916a36faf636488f2edf1005198cc5da225e0df420696e8948 +3924edb79841190f2371e66bac0b0e8d621d0d10d311d15938a2d6d216c859b8f07d01f4b5f0fc +f5ab60cbeb076ee4e5013c9d1722517a8736a85c81cc29d67a75e89a6f6ef32f6686aa843144ec +2a4804b83b732bbbf637d2fb12a484ae13daf30afd0190e8738e65cfe7d295e4580b8086e6442d +ebd223fc2cbef53c4703f98026ea1c6c7fddc52a34aaece51c956261ac6f7cb00e66f8ae086268 +d6293fb46426de2d2eafed09bcb52eb7410ec47e2de715b9a51565dfe7fe6ebb2007b65d1e7730 +419de9f3f2900d6bf6b26a588921cee52a7d4ebff59eee139e31d67018ac8844f9d5990a26729e +2114745a6c01bfe374b9d553888c2606ced22f703ba2d431d33732ca506be060e6eb754f8e891c +2f3bb7acf0a6d3d3481034673460b2b0bf7c7854144c357ec7cb4f88d7f07355530ab87f630fcd +d457b44439738d44b4dda7e0c44468c3a4927f09df3681577a5cca09a24bf0a12c5d1984f72b67 +6775cc3158a5cc5397475e95384515b5e5aa49fd75240bcd15355768160537df97da09905c0bec +0e19520e9dd84d8fcb234997a76f6fbeacd0c40f6fded726f0c8e5a91bebb20dc2fd88ff29bfdf +b1a0e37261d9cd115f5eab4af161dfbf4cc6e06f7f4e8238c30e466217c6ca21b3d1fcadb46568 +e33163f068f7d14fdf79a1601f49d0587fc928442f4674f4379bbbd25549fba602723b08a2bc2a +6150f44d390c2f83d186564dcdb7e42d3e94ac3601ccaa31d5ef30e24d8d8adc4e929cc58a7bfc +f3ad23a0532b45ff56368b1033c8970a2de1a5d4565751d9b5e5cb2c5d075df99c40f6a262e6e7 +c2e4164b8df97c06a46dd500246bc30a5b8174f4517024f1a4d1949d7eff2b707409f21479c2c8 +c8a415b1cf235d4807b49fee3d092c08a46b28ff9a2bd7ef02a7a80f6dc2eb9f07a2cf09fdbb4a +41f0e8f5320bf4ca6e84f8131d9c1658d9c3f3dbc7125228bdcfc02b5e3b511baf22c41b6d5d3e +ca04fe1cc5db93ef3632850ea0d6cd0c1a164c3451c57e0ef56b9601bc9b0b2628655d52b3fa5a +b67b76d9f52fea9ef89b2e5de609fc3b1b94e99dd3a38c4793fdc16a95fa816824b9d6fa38f870 +8169b8ed46a04a33131a0857d0496be68047444ec2b240f6f1b5b44f509299949886ff213d7dea +f0542932776d3fad306be1e9c07ee75b644f713e492e1dc6eac91174c4097e36fd383e0d026bcc +cfc699f5ef1d0b94b911b2d2ad0ffd089a8f628d902528970121fc35b51abe95ff58499e513476 +c85807b1dd3e48ff201affef2348900744c71b51174d5f2d07063bd7f730fba31f67798d5d8df5 +e5db1436f4d5cefe787157547e4d48979bf79f6eff3df6bd0890896f56f6dc75a5cb4b4ab1f9f2 +83c1c56b2c74b9aadc4b5e2657e118bb4d702b1521bb6ade9e5a45fd494964d898100c80170fb1 +d801ecb9983917c8efad3ea3a5ec403413a37f45b16e6c6d8eca648d7a1a9e78009dfc1626e226 +cac7843d73b06a9a64b6e91b13167ecfab70a8bd6995095addea65ac25e858fa86312a6ec0ae2b +db4067107c5ab8ebc973cd8dac6c66dd575e696d177acb0e3d4b1d037d60f91267bf9646ed899d +c40ad1bbcb75a0b524ae90becdc294963d44f29ae61299ca9aea79afd4db375f6be46dc1502f70 +a93a4f86c2b78775e59c8fbc5ed12c3abde79169be852c42fb5ffb10bbebf90bbb7dea2af9e37b +6d5da862f60fc21a246f8116565dcbba0d719e9640c0be0f93f1ef0cbee90c0cd0b577e20cd16d +c113b4d52bd1a96d8ffff311bef831ce5904ab2e69bb6680bf877c6cd5f609002899d436708bd3 +fc77e3cd8a33e94295dbafbd4f52a2c7c540f83f481f5ad032b5ab7f27bc98f28ac625ff3365c8 +0d59dd52ff89f6a93d978b666c2e12fb405ff6fcdb669dd299fdc89dcbf4c66b1b90c328768786 +4593940b798c7fd3f4ee01651249fc847db16b93d1a100 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMR12 +%!PS-AdobeFont-1.0: CMR12 003.002 +%%Title: CMR12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-3-0 def +/FontBBox {-34 -251 988 750 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR12.) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8 +1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4 +d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65 +dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901 +d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b +0d58fe7cceea728243b0a6d07c975363fe2f68dc117f6b531cf8863b555c1b4de3e609559e7374 +28935b9f1aebda05547f1fc8269db5c0d587495f4aa4038c8a18bf9918a87134333ad8ceba20e2 +89a9872fe8ee6380f829eb157aa6c092c58b437ceaf346a90e853ed5a425a9d4f72f4837896f3d +f4079017f62748c1e76dce301ecc5295ac459b5bc26115c3eef374404820afb526e5a98f7020dc +981ab8c1ec243305afceec71334a289354d4d078f99107bd038199d533977456bcc9aa7fbed608 +61a5fd052ef6f17ba1271d047c2cd30c7ee21561257ea4f4587ec2cc1650b0a77c13d8aacea78f +2014db40c24e915361442753b15b95f7f705b2d11468d5e23d7a5450993449212f69f871cc07d3 +92ee7875ed6e33b1a5c806ac02483a794baf281dd6107f12a67f05fcd3154bcefa7d35c267f877 +c748760fed7c546427edaf8a80f61887c6ff58d91023f4aa702ea4e0648c65fac419ecea81597c +ec5d5876e4af77d15ca0c8d0457626453f81fbf4eee754f64a9f65583f1d66ac0c8a1a07932a8d +9d68120174c4001322db8edef276419b6d3915a732c1d4f569385655bbdc7794c5c08b707bc7df +b4ca88f421b8783a2f2312d3929972aa7d83728712cb6a526df891a0264371d2ad02212b2c2b91 +0be1852f5835ddad58199e5c41786e072b2ace2f7c8810eaeacf52e12c84002c1b6de42a6b5d7d +b8e3937e99ed871d3f84d18f9f66371c908684e32d19462458d8af1e80d7275346ab0acd4f9fa8 +4870c763331b4a981cd7c6eec2e921e0e16f548ec2792240eb634fc11c3cf0e32f28cba7b7ae36 +13651fd46aec92e2b59feb1fc05d3bce5d316867208af61860c3204ac4161c877b48b4bdf6e5af +a762a3f15cc30f55a9ae065f083638cc2b49eca2000e547e51fc674c58f2616d1b5a5dd325948a +5b4d42bd32f07d145c38dca480e9ea71460082a6445e080b1fd53c17b4684e9e6242160014d968 +c97b8daabb0c783b5c16062838f3c676ad8917a8317fc47a4362026aac64b393f2e00c6fd0cce5 +5e0fb1b55240c9c10ee0e794a5726a9f06ee4b7710675dae1e558969c52b97d9ee80f86f8aac7c +e8601e773a98d915f0136d53412bced13664c4aeb0aed4965765c02abef3b417dbf2966b78cd25 +36ba899b5d6385913e73d87f00bc0b20f82bb72b57ade9af21aab0f899fdbf8c4e870b8b81c99e +1858d07951836fcf58e005c41b7de0d300c21c7f6998105394ba9ef33d0525ba2809354e76d77b +d9e9448725125b23a287d1492ddabff0f6d04767b5967c627a34c12c0865a97add9c09782cf415 +25122d4509cc9690225db396b2349903ee6e54322f07fca610859dd5c76576070a261360a6efa4 +25482029639d9905e52923d07f43ee718a154c4ef9655863521ff13bc441e71d44d722cf1835bf +d4f40ecb00e893ac20289bc7bb00097248298dbe4e6a3b85eeb4463377d4c909425fade524784c +2610dd64dec3efc59499fb8bf5893b7e13990f1f774c98cad0878d7e4012d69a4660da33788b50 +21df0cec3c437e01c1545857beb6f6d4fd4e36cc3ddd0be0c81b59c298f14b45e3a2c41d3bd0dd +b9cb3c12fd806ffe8dfde7f7c22b47466b9fcaa29d8db255720fdafca4f90dafe62aa417331e1f +4cf244d419483f71cc2d8fb0662b78d9368169daf70250402963e034352f56a9eb0763284471c0 +bbf488564942bb478aa5324334547a1d654eba363d64bb6aa0e417a76c34e698f38aed69dcbe56 +ff6ee22a6e1e1017d1b42341c28b60448e151176dc8df7a1a0c0416182436bb28829c776a9d741 +400043999ebf7eb881c7462bddf34e282173dde31264219aa4f2d14255b13dc5cf41c021396334 +698e35a8d8700fc512db1e24ea2f5a6c8a66b7c7fcd6cabfa81ac0aca3d1c40d9e05e8d80103f6 +6b6c1db3d53700b30fa2ccdf7caec040f02dfaad01c384322e3ad5756ef497dfb67091f9e807db +662af20e99cc66bf8f922df85173d22e196041125bdc05094724a7647f3484d0fea60c7514a2af +90dcd33176e6c3d102dcc6dde11ea1d38e21168398f8a8dfa02fd4af5bc8dc3cfca0af0d5e62ad +cb1b2a4c84f7d2c23ee3a3fa13850afc442c6765b89af2ce5e0f7db936da005cd96df40368d46d +129ccd26ba35fc8a535d9313444dccc42667d7d62213e23ce68659c15da2bc995d52a1056af617 +b0ca698b75ce4b10b57f4b1143c4962b6a8fe2218d593b9a97f0c8855287ad239bc2616b9bd731 +2c9d90c9658ce944faac67af0bf943009f5985e2a34281711db3bcf6aaaa1ef9bd63192fbcb608 +58373f567b02eb3e27bcb3cf4905ae732e69531556fea34fd4cc32558b8e5bfda9b7f6bf685b0c +e033af47cfbb10e93104b3b467148303c8a77366f990edd4947d7fbd3df26527442ad39c805a4e +89eaa05974bd8c8c28f6fdc836d8801b758d689d58bf33e4a123210fd3f56beca44fac3a574d07 +8e0c65ab4e70bdf24e4267d7dd032899a039a9bc30f4eda27cbafc13593efe916eb927d81cd37c +2f9490efd8057c7aae2f46939ea21b5dd56fa3147751786967db98c14e5fd3ced7d848f2aaf2ab +c417619d6daddb97eb866fb368e38b77dad435c9eec76975be002dd7651596792203c0c8cd0c89 +9d44c34c4c555e2ebad5b2f9aaaa7d1581bedc74d1dedb2b301d94e1dcd56d687de57de31c70a4 +6e1534c64e835fe511d291eb609ca810e01124bc525604fe8278e751aa5762d9c36dfff3149110 +735bf1ee88d54e174eedc6b410a34397d3b505bbeb72b21c58830e34bc12f01f07d4e065d12bb1 +6812bea5db62dbc318dad0c9abccbdc389dfc9eb2c73feb871ae2366f35483c28970ab52043505 +d5ce22ba4a252fc6890790177f32f2653de6e7751e4199e9b75b72293dd8af16b1dcc805bfa0f1 +b2419181370d8c0e3d45cb907b8d4c650a941520fe8455aafffaf1313b4fa171d333eb3be5c6e5 +6aadc1cb3025188660aaadfc883478f937db03e28d095300030093db23fb3474d8e7657f510d4c +4a90d8324d7d25d8ffc49dc490d00abb2fc25bb0fb0577fdce09ee83e6853240c4c9533c273478 +3ed2d67d39d3c223bc9554062eeca0fca9ab22d3f1e5614ba99b186ce20ce05f9ea43f457b20ff +95a231ad49fad35aef626bc7decfc76b5b5642b823e22010c5adc49a1dea46bd7abab4535a4742 +478114cecd22afc744cd87eca9434b1119de99688f475574af40dbb884834f0b83e03e5890cbab +f56a064134232b7b7c345c7749ae31cd2cca16c0492e5ea7203414b4d63ce3cc68500034c84691 +a3281640ab545f7dd93d5a20a478a0df7e381ad7c49df9f4b9c4b253d0a58649fade66613674ec +8c5559da713e05e5258d48c1f3daafc3d032d999f50a45fbc808996df66c09276278d3fa7de088 +ed74eea2b723bf4ea9e31ebbda6b1001b2b1957c89f6401442648f5ae19ac95db78dcb21e753e9 +a5293d86530cfb6b60d65df007218db8c6840a96b9368f95ee7ec7dda53f38584d2cc7880aa05f +0d90436d7dc64a71fc3e91d44ddbae6772421798498e35c01487dbf7d646571b5f40be098ac1c1 +81f2b9eee54ccfc23f310c1a25ff4a74b3aa8ddc75003f1c0d91a13fdb8b6ecf6df95f96131100 +4f99ae947a8f91242b18b6c862bff1480b3ead583e3435816834bd3da70e400f26ac6bbab94f23 +fd2e9a4d92f78476cbb61c022b3136d0833f5e4b6f4265edb7b8206903a28cd6defa60ec991654 +513f2f529d009ac805ee5aa6ae23263f53ec65f5dd665c4b7ed75d766602d54ce1289c7e450d3b +011df8026bb25a12547a1e0b96e7d5ec0c3f3d2965a9716c4e60aec08b21f459b3aa5561650723 +e2b7edea32bcacc965d0ac2c8bedc96a657accf538b45032de7e3ae81c8e0c1932e98637d4e36c +8507cda4dec325f22b69a6ed68926b2050487fc740036d71df2e568799a70e8625b77105c5be2e +626591011bf3bfd61c0745ca06a263e335e344686e7dd6fe3adb4ee0a7e462f3c00873c3e95d18 +16353ed0ac6b55def410e18c5dcc8a0b80b19ec7f9f4e807c1c7a4b746664e7ab2a488d97fdf51 +cc1ca9bf3f4172203a61ca29e988ed4c93db9c43e6c31aebc64eac9c5f1b5debc04c465a67e654 +6701488ee06e1f3586f626951abe226fe6b2588b40a5fa94a868075815f46a028bd35e204f4117 +534a4c80528f0fd59c38ab9e0da4565561e148b8a3a0fb7bc7b3adc7d4ed9fa0c8930f28cf364c +2b95410141fa5fb8758386c0f7f2b8f5a5c2354247d3b4bb6bc9961c507212f981c73ddfab7f4c +163a61217fea7a701377c98581dafd9c50a5801dcf7038f66fb3e980661770306dcc897f485f98 +ea68f033923dcd54e57947dbb1541cdaa4f69be7f537b037f4133e955ddc71a2460da3944a57ba +7b820ba2a3e542a1ec866fe612619e87dc85e9927eb201d8a82812ff9a2d8b7a4fcbba3d9ee4a5 +c4aad2dda9e43aa7165bcd430507d7421d48825f920f275db237db28a5d73ad3d649cb35106487 +e24cda63321076e54a2ebb3f45f5495d4f44f3a98fceaaa92a7f8a453d6e85df0fde064999a44a +b376bf7710ac356e68099b83a099f4d9be6cd9937caa4790a61e9c21500d704b90f2a990465cba +4bce808f9f4d96e7538796db2edb7149872d1b05721d068fa21de3ced2bc84f1e094398c45f879 +9475848dc83fe042dd823d370fa145e57e6441299a322951cbbf0603261d22a319927fe7d08b29 +5fd4fde5598c8744a2c722a7584d372dc9610bcf1a066a95683e9938a96b4e35b7923091d1232b +501537a307f6e9b340473b8b0aec1d6643e88e7175a24ee91a4cb1799ca4d676708929bb2ce2db +5d23b6b60c1c39a9fd17b34ce0074ef6822e3d7a5d1322e7b552073dd8acc14b2d8281836e6547 +4f2d6d6b2df400836e1c0169f399691f1143d2e8670c9568217d0088172c01cd01d5055579a90e +f5ad2b39836c3ee6df7e41e69d2ab3724d31091117c088dc224b8e0d998cd57b3f4f2f64de7082 +e65a6bc8ae23051fb005c4be9677691bf6e5326d4e003a13d819c5974b27ee14f5e764f70248de +8a5600dbf1ab65844735b554c2010034a47f5eb3d056332f4993ff74aa2dcbcab4cf3c77ae12d1 +2b3e070becd1095284b260edf10098ecc89343cff1e39379ae8919d031a715cdeb06163ebc5ec9 +9e041390280fd7ffed992f825357344c3c08da05fa77d2dd10b22cb171e450d1d27e9aa9df3588 +f736023a0f02514fcf56a1d2ac1cde9dee0adf5ad28a2ef88cdbd93f0af8c2be1257606f74d52a +a30649030ce369c3c9882f5c0900b6cd122880949b40ebd35a8c3346fb52ed1d631c33a0ea39b5 +d83f67094780690f378da8b3571062a81311a84d7460ac3b6c3324fa781b3c8ee90a518c03ff3b +ce7bb2ca7f83e2e7996a3c905eb5f43684dc6d948af9d91cad4ce62620693030a7b3f762f46e53 +23c62a7f2f5553fd1e264758b2e0e5015f72f82781a6012a64a332244d3d46c7fb34bb18189a76 +f8b1281ff0ed52a474d24858e92f7c2d55f3853272ada03bcc358b1a24a162d432f1309817a81e +3cd40690c5ecf87ad3dbbad52bea5223695dc31de9046e797267f0c501ab05ae71bf1e2949dedf +72069e8250e5ae5ce169c940a45a64f92a6b27fa249a55033cd0860d313a5b09b2b865504edd21 +a319d27145de315b2490cde9b8fded0aa532d8e18c568731a2a04c27e7e17dc75778907a39dfa9 +e9e21bd8239505220ab6c475b701a1c03038f90276747ccc6f227bc5a93fb4dab5e8541fbb40a5 +e543c2035212d79303a229cc9bf24974fef439d3d22ad845c3abeba616d92a906779c8553e4fcd +76d1e576b4e6a999ee10e4ebd040d6b403307127281acfd5fc14d4093b8c71b24bffdae83fd7c3 +602bba702056370ca079cfacac3392e473a49bdfeed1ba96b889009b57d873ceb885e5a2cbff35 +0f5da8f3d7c2293999a6e4732757bff49a00295b7affe4cc97ba9645d4ea632b837c211bbedcd1 +1aa7c0f16280ec15a2d45f8cc511c9d4792cde12e5da87a29bfea6207e05e548d2e86685cd131e +b4ba901d9065a6c65bf0b48cab2b69e1489f57d3acc19a6cc5b0b51e8b21547561c9ae67d4b8e0 +d2cae71b47a779d3d2714d551fa41465b07d2236868c4ad567f9de8d05b1c77a186870cf28f0e6 +2c988d91fb2b8035ac9dd11cd7d1424429797a8610ed8a1b2927075a0ec5f8189e0585dd1679d6 +cf70dc470ae0e42535371074c89d036f46c0e9c2cadf7686453d2971f9a35ade71248ded2657e6 +b3bfbd91671de1dcc5df2d3ab3260738c7e8720071fee9d38922b24e992619f713e242293127e9 +59ea22026a3ad173c1cb6682cb0a06096aff3962ba86c2bae58449516051af86cdb96dc2e03c41 +add78427c63bcaaeb838f32f0280de641cab306ba29eaf70edaac026e6b1a1c17540ebd90bddcb +22a6c4bdbd3e970f58f9112f3903daa4a5f317f9739cd13264109012bf294035a585851ed0a566 +8b08d669c6ef77107364df58b27bd30ca8f007b508bb0bff754b4850a84d176f8c94158c016bcb +cffd7443cf732a9108b1e0cf6df60b2f93b9853d589cb9d3ac6cc8fea189a27fe69a01c70f41dd +adf8d7d56a4eea86153445d84fddafa86715d79d324051f8b20034b0678680b3325d2301453588 +466a6fab4f70363e994ac288699d47b86f25e2480c88bb0b504df797b40256a5a03ed5864916b0 +ca56d02e932333586ea06280bb9311cde3dc9c2f9995abf9f5e6a16a08d7c6aaa522a8f0b2fb7e +f5f3ea0a7ede30d3914bfddb8f62ca24ae61902510f51661a248e143e56dd01fc0be1f1dbc46a0 +3807a1dc2b08b03ad953b3072eeea00528d23e93939c774560152b3a4450aea0d6708cebc12ac5 +936742ac6aa39c77b24a04adb11721ddae50946141b1c94198d5d9c27a12f1cbc69ab60464732e +8138197f397e052268e008d74ab25d068760e9485118ffba286462790239fb5723cd9029fc0bc2 +9ddd4a52c7437d10f58120c3d4191d788c6875ca0a1070d38661945401876b58b0992af2965e29 +a303d347bce0cc0720fe49c0e941f2cb7e43af91fd23efd60ad8daee4fad8fdb6064f3ad3ec904 +23bbfd43d81aeecfde8140a336b9eec24de53e0811be7596d4d60639dfdc8248a394bc93c5f36f +e0dc00ffc568fe9106ad6dbcc15f3ff5e42b87ed8fd719a8a5cb927ae45d2d73ed71c410a07d8e +9bf75170fa83a323a67bad8be075ec1ecb34f31fc148fc13368e1ece8ef3ef19fb8e16d059a406 +36b1b26108b91f5a3fc04136ccff24791a8b98d5883a74a93e35197c85a6260c6ad871518d10d3 +94e67425fa0fb1454552d623b6a6a9b66ef4998ab25c1d2a6d585ced5f6e74e2cca8d64344cf0e +90cca8aa3c1cbb6e299dee9ae36226057ea402a8ff424bb8ba476d9ee2065cd6998e632b3631ef +c05027b11286cf245803e79183fe37b5b4f44c52adc6c91a9534d2b29036762142d5ea000b2101 +4f4480de8a759164b576dc5d84b337483286ec37aa4563ea5ad6f28e5227e8ec3af16038be841e +d480c93506ef722cc0ca328f53216029679ef111d61aa81cea4dfb1c7c768210dbde0f2cfb8676 +25af4e39ba672c3e6a26b4f1870f5ffa5b7481050ed96f9f8e9e96d2750021aa644b7ada83d69a +b6f539560f9e0d88c5b7fe71975e7513d0156a88b5ebe3eba0c7901a3629ef0173fd836b9ff6b2 +e8075c18d03bf682e8861e19efc7bd9aab7e169496c67453927ac68a26307faeae0bcc07c1cc06 +f962fcb07e1fb15c80a2764ebbd6a24656b9f86d0c26674a1177e69ad3fc0b1e54aeea652f0879 +b86426f79454d33970cdcdfd02e4e6613ce052d94c5460ce2bdc154b8707db3597988c5bca9f0e +d678456a33b9088bfcffcbf3701ecb74272f484c14a1eaecd5d86f493fd05e3b00c6343c0a721c +f485539582a17bac36021de845f037f64aef753393bd679fab19ce1f3e25475da11f225f1da4c1 +3dc2d974d3948549355b2caf34f63762dba81528dece6ec126bb704a353b1f68261f5b522e918a +57b0743ac94bb4f0dfcc837b5980b818f756149cf3153f8f3a1d9dc3a5f536705915c1b55bfa8e +b95e8d5bf527b22cc5a7b6f446bca4152ca5756ddf92ed92fe3faa4d03ec13b47fd9ff1559ae4f +162dba6957542b270883484f283190ddab09c484aa0bdcf4fd689b0f83625f5b08b2a72e6160b6 +bc3aa2afa6b6c24497becec62fe40ab5fceb6eaf23cd351f5bc43c767193b2fe332af23549ae33 +225ad7a7245828e0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 319 175 +%%EndPageSetup +q 0 1 319 174 rectclip q +0 g +0.4 w +0 J +1 j +[] 0.0 d +10 M 8 116.242 128 -32 re S +8 68.242 128 -32 re S +8 148.242 m 8 4.242 l S +1 0 0 rg +168 148.242 m 168 4.242 l S +0 g +136 68.242 80 -32 re S +/CairoPattern { +/CairoImageData [ +(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) +] def +/CairoImageDataIndex 0 def +/DeviceRGB setcolorspace +5 dict dup begin + /ImageType 3 def + /InterleaveType 2 def + /DataDict 8 dict def + DataDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 8 def + /Decode [ 0 1 0 1 0 1 ] def + /DataSource { + CairoImageData CairoImageDataIndex get + /CairoImageDataIndex CairoImageDataIndex 1 add def + CairoImageDataIndex CairoImageData length 1 sub gt + { /CairoImageDataIndex 0 def } if + } /ASCII85Decode filter /FlateDecode filter def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end + /MaskDict 8 dict def + MaskDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 1 def + /Decode [ 1 0 ] def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end +end +image +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 32 /YStep 32 + /BBox [0 0 32 32] + /PaintProc { pop CairoPattern } +>> +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -633.756 ] +makepattern setpattern +168 68.242 48 -32 re f* +0 g +[ 4 4] 0 d +168 68.242 48 -32 re S +[] 0.0 d +200 148.242 m 200 4.242 l S +/CairoPattern { +/CairoImageData [ +(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) +] def +/CairoImageDataIndex 0 def +/DeviceRGB setcolorspace +5 dict dup begin + /ImageType 3 def + /InterleaveType 2 def + /DataDict 8 dict def + DataDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 8 def + /Decode [ 0 1 0 1 0 1 ] def + /DataSource { + CairoImageData CairoImageDataIndex get + /CairoImageDataIndex CairoImageDataIndex 1 add def + CairoImageDataIndex CairoImageData length 1 sub gt + { /CairoImageDataIndex 0 def } if + } /ASCII85Decode filter /FlateDecode filter def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end + /MaskDict 8 dict def + MaskDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 1 def + /Decode [ 1 0 ] def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end +end +image +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 32 /YStep 32 + /BBox [0 0 32 32] + /PaintProc { pop CairoPattern } +>> +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -633.756 ] +makepattern setpattern +184 116.242 80 -32 re f* +0 g +184 116.242 80 -32 re S +1 0 0 rg +BT +14.3462 0 0 14.3462 160 164.243 Tm +/f-0-0 1 Tf +(d)Tj +9.9626 0 0 9.9626 167.299 162.091 Tm +/f-1-0 1 Tf +(j)Tj +ET +0 g +BT +14.3462 0 0 14.3462 192 164.246 Tm +/f-0-0 1 Tf +(d)Tj +9.9626 0 0 9.9626 199.299 162.094 Tm +/f-1-0 1 Tf +(s)Tj +14.3462 0 0 14.3462 184 52.244 Tm +/f-0-0 1 Tf +(j)Tj +2.230556 3.345834 Td +(j)Tj +ET +208 36.242 m 208 25.578 218.668 20.242 240 20.242 c S +240 20.242 m 233 22.574 l 233 17.914 l h +240 20.242 m f* +240 20.242 m 233 22.574 l 233 17.914 l h +240 20.242 m S +BT +9.9626 0 0 9.9626 248 16.244 Tm +/f-2-0 1 Tf +[(retard)-333(minim)28(um)]TJ +/f-1-0 1 Tf +0.803003 -1.204404 Td +(r)Tj +/f-2-0 1 Tf +[()-28(\()]TJ +/f-1-0 1 Tf +(S)Tj +/f-2-0 1 Tf +[()-59(\))-222(+)]TJ +/f-1-0 1 Tf +[()-224(p)]TJ +/f-2-0 1 Tf +(\()Tj +/f-1-0 1 Tf +[(S)]TJ +/f-2-0 1 Tf +[()-59(\))]TJ +14.3462 0 0 14.3462 0 164.241 Tm +/f-0-0 1 Tf +(r)Tj +/f-3-0 1 Tf +[()-28(\()]TJ +/f-0-0 1 Tf +(S)Tj +/f-3-0 1 Tf +[()-59(\))]TJ +ET +Q Q +showpage +%%Trailer +end restore +%%EOF From 90f016691a9d5d80e5f11f9a6bdb80f0288d0d65 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Thu, 1 Jun 2017 15:28:03 +0200 Subject: [PATCH 03/19] correction 2017 : partie 1 --- resumes/xavier_dubuc/src/cours.tex | 239 +++++++++++++++++------------ 1 file changed, 137 insertions(+), 102 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index f2ac1db..1e9fc28 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1,4 +1,4 @@ -\documentclass{article} +\documentclass[12pt]{article} \usepackage{amsmath} \usepackage{amsfonts} @@ -135,23 +135,23 @@ %%%%%%%%%%%%%%%%%%%%%%%% DEBUT DU DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{sffamily} -\title{\includegraphics[scale=0.48]{approx.pdf} $ $\\ -\hbox{\raisebox{0.4em}{\vrule depth 2pt height 0.4pt width \textwidth}} $ $ \\ $ $ \\ +\title{\includegraphics[scale=0.4]{approx.pdf} $ $\\ +\hbox{\raisebox{0.4em}{\vrule depth 2pt height 0.2pt width \textwidth}} $ $ \\ \begin{Huge}\maintitlecolor{Algorithmes d'approximation}\end{Huge} \\ $ $ \\ -\begin{LARGE}\textit{Cours}\end{LARGE}} -\author{\textit{Xavier Dubuc} \\(\url{xavier.dubuc@umons.ac.be}) \\$ $ \\$ $\\$ $\\ -\hbox{\raisebox{0.4em}{\vrule depth 1pt height 0.4pt width 5cm}} \\ $ $\\$ $ \\$ $\\ +\begin{LARGE}Cours\end{LARGE}} +\author{\textit{Xavier Dubuc} \\(\url{xavier.dubuc@umons.ac.be}) \\$ $\\$ $\\ +\hbox{\raisebox{0.4em}{\vrule depth 0.5pt height 0.2pt width 5cm}} \\$ $ \\$ $\\ \includegraphics[scale=0.3]{UMONS.pdf}$\qquad \qquad$ -\includegraphics[scale=0.1]{faculte.pdf}} -%\date{} -\end{sffamily} - -\begin{document}\begin{sffamily} +\includegraphics[scale=0.075]{faculte.pdf}} +\date{} +\begin{document} \maketitle - +\begin{center} + \date{\centering\normalsize{Dernière mise à jour : \today}} +\end{center} +\thispagestyle{empty} \newpage \textbf{Contributeurs:} @@ -172,14 +172,14 @@ \newpage -\hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}} +%\hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}} \tableofcontents -$ $\\ \hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}} - +%$ $\\ \hbox{\raisebox{0.4em}{\vrule depth 1.5pt height 0.4pt width 10cm}} \newpage + \section{Introduction} \subsection*{Introduction au cours} @@ -326,7 +326,6 @@ \subsection{Problèmes d'optimisation} \end{center} \end{figure} \end{exemple} -\newpage \begin{exemple} Graphe complet à $n$ sommets, $K_n$.\\ \begin{figure}[h!] @@ -370,7 +369,6 @@ \subsection{Problèmes d'optimisation} \end{figure} \end{exemple} -\newpage \begin{exemple} Graphe biparti complet à $n+m$ sommets, $K_{n,m}$.\\ @@ -612,7 +610,7 @@ \section{Set Cover et survol des techniques} \item un poids non-négatif $w_j \geq 0$ pour chaque sous-ensemble $S_j$. \end{itemize} \item[*]\textbf{\underline{Solution}} : Une collection $I$ de sous-ensembles qui -couvrent $E$. \\ C'est-à-dire $I\subseteq \{1,2,\ldots,n\}$ telle que +couvrent $E$. \\ C'est-à-dire $I\subseteq \{1,2,\ldots,m\}$ telle que $\bigcup\limits_{j\in I}{S_j} = E$. \item[*]\textbf{\underline{Mesure}} : $\sum\limits_{j\in I} w_j$ \end{itemize} @@ -622,12 +620,14 @@ \section{Set Cover et survol des techniques} \begin{center} \includegraphics[scale=0.5]{inst_sc.pdf} \caption{Exemple d'instance de \titre{SC}} + \label{scex} \end{center} \end{figure} -$I_{OPT} = \{S_3,S_4,S_5\}$. \\ -\indent Et si $w_j = 1, \forall j$ \textit{(version non-pondérée du problème)}, -alors $I_{OPT} = \{S_1,S_2\}$. +Soit $C \in I_{SC}$, une instance de SC où $E = \{1, 2, 3, 4, 5, 6\}$ et $\sigma = \{S_1, S_2, S_3, S_4, S_5\} \subseteq \mathcal{P}(E)$ (c.f. figure \ref{scex}).\\ +$Sol^*_{SC}(C) = \{3,4,5\}$, i.e., la couverture minimale est $\{S_3, S_4, S_5 \}$.\\ +Si $w_j = 1, \; \forall j$ \textit{(version non-pondérée du problème)}, +alors $Sol^*_{SC}{C} = \{1,2\}$. \subsection{Programmation linéaire et Set Cover} @@ -656,11 +656,11 @@ \subsection{Programmation linéaire et Set Cover} \begin{propriete} Tout \textbf{\titre{IP}} peut être \textbf{relaxé}. \\ -Par exemple : $x_j \in \{0,1\} \Rightarrow_{\text{relaxation}} x_j \geq 0$\\ +Par exemple : \(x_j \in \{0,1\} \Rightarrow_{\text{relaxation}} x_j \geq 0\)\\ (le $x_j \leq 1$ n'est pas utile car dès que c'est plus $0$, on sait qu'elle n'est plus à la valeur booléenne $0$). \end{propriete} -$ $\\$ $\\$ $\\$ $\\$ $\\$ $\\ +%$ $\\$ $\\$ $\\$ $\\$ $\\$ $\\ Grâce à cette idée de relaxation on peut dégager un algorithme qui semble être un algorithme d'approximation pour résoudre un problème \textbf{IP(*)} : @@ -691,7 +691,12 @@ \subsection{Programmation linéaire et Set Cover} \item $Z^*_{LP}$ est la solution optimale pour le \textbf{LP} \item $Z^*_{IP}$ est la solution optimale pour le \textbf{IP} \end{itemize} -alors on a $\boxed{Z^*_{LP} \leq Z^*_{IP} = OPT}$. +alors on a $\boxed{Z^*_{LP} \leq Z^*_{IP} = OPT}$. \\ + +Le problème relaxé \textbf{LP({**})} s'exprime donc de la façon suivante : + + \[ \min \; \sum_{j=1}^m w_jx_j \] + \[ \textbf{s.l.c.} \sum_{j:e_i \in S_j} x_j \geq 1 \] \begin{exemple}$ $\\ $\max\ x_1+x_2$ \\ @@ -752,13 +757,12 @@ \subsection{Programmation linéaire et Set Cover} \subsubsection*{Solution pour l'arrondi \titre{SC}} -Posons $f$ comme le nombre maximum de sous-ensembles dans lesquels n'importe -quel élément apparaît, -$$f = \max_{i=1,\ldots,n}{(f_i)}\text{ où }f_i = \left| \{j : e_i \in S_j \} -\right|$$ +Posons $f$ comme le nombre maximum de sous-ensembles dans lesquels un même élément apparaît, +$$f = \max_{i=1,\ldots,n}{(f_i)} \; \text{ où } \underbrace{f_i = \left| \{j : e_i \in S_j \} +\right|}_{\text{nombre de fois qu'un élément $e_i$ \\ apparait dans un sous-ensemble sélectionné}}$$ Soit $x^* = (x_1^*, x_2^*, .. x_n^*)$ la solution optimale du \textbf{LP}, -on va arrondir en incluant $S_j$ dans la solution si et seulement si +on va arrondir (valeur entière suéprieure) en incluant $S_j$ dans la solution $Z^*_{IP}$ si et seulement si $x_j^* \geq \frac{1}{f}$. \begin{thm} @@ -769,8 +773,6 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} \titre{VC}. \end{corollaire} -\vspace{5em} - \begin{algorithm}[h!] \caption{Det\_Rounding\_SC} \begin{algorithmic}[1] @@ -790,7 +792,8 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} On va montrer que tout $e_i$ est couvert.\\ Comme $x^*$ \textit{(la solution optimale du \textbf{LP})} est une solution réalisable, on a : -$$\sum_{j : e_i\in S_j} (x^*_j) \geq 1\text{ pour un certain } e_i.$$ +$$\sum_{j : e_i\in S_j} (x^*_j) \geq 1 \; \; \forall i \in \{1, \dots, n \} \; +\text{où} \; e_i \in E$$ \begin{center}\textit{(une contrainte pour un élément donné)}\end{center} Par définition, $f_i \leq f$, on a donc au maximum $f$ termes dans la somme. \\ Donc, il y a au moins un terme $x^*_j$ qui doit être $\geq \frac{1}{f}$ car si @@ -832,11 +835,11 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} $\alpha = \frac{\sum_{j\in I}(w_j)}{Z^*_{LP}}$, de la preuve précédente on a que $\sum_{j\in I}(w_j) \leq f.Z^*_{LP}$ et donc $\alpha \leq f$ (dans certain cas, $\alpha$ peut être beaucoup plus petit que $f$). On a également -$\frac{APP}{OPT}\leq \alpha$, ce qui fait d'$\alpha$ un meilleur facteur +$\frac{APP}{OPT}\leq \alpha$, avec $APP = \sum_{j \in I} w_j$ et $OPT \geq Z^*_{LP}$, ce qui fait d'$\alpha$ un meilleur facteur d'approximation que $f$ bien qu'il ne soit calculable qu'à partir de la solution obtenue via la résolution du problème relaxé ($Z^*_{LP}$). -\vspace{4em} +%\vspace{4em} \begin{exemple}[Voir feuilles des résultats obtenus avec CPLEX]$ $\\ \textbf{\titre{SC}} : $\alpha = \frac{9}{9} = 1$ \\ @@ -878,24 +881,26 @@ \subsection{Primal $\leftrightarrow$ Dual} pour couvrir les éléments d'un ensemble $S_j$ soit supérieur au poids de cet ensemble. Le problème \textbf{dual} est défini comme suit :\\ -$\max\ \sum_{i=1}^n y_i$ \\ +$\max\ \sum_{i=1}^n y_i \quad $ {\small (on sélectionne $e_i$ dans l'ensemble $s_j$, avec + $y_i$, le ``poids" de $e_i$)}\\ \indent s.l.c. \begin{itemize} -\item $\sum_{i:e_i \in S_j}(y_i) \leq w_j\, (\forall j \in \{1,\ldots ,m\})$ \\ +\item $\sum_{i:e_i \in S_j}(y_i) \leq \underline{w_j}\, (\forall j \in \{1,\ldots ,m\}) \quad $ {\small (il ne faut pas dépasser la capacité de $S_j$)}\\ \item $\qquad\ y_i \geq 0\, (\forall i \in \{1,\ldots ,n\})$ \end{itemize} \subsubsection{Remarques et propriétés du dual} \begin{rems} +$ $ \begin{itemize} -\item On appelle le \textbf{\titre{LP}} ``original'' le -\textbf{problème primal}. -\item Le \textbf{dual} du \textbf{dual} est le \textbf{primal}. -\item A chaque variable du \textbf{dual} correspond une contrainte du -\textbf{primal}. -\item A chaque variable du \textbf{primal} correspond une contrainte du -\textbf{dual}. + \item On appelle le \textbf{\titre{LP}} ``original'' le + \textbf{problème primal}. + \item Le \textbf{dual} du \textbf{dual} est le \textbf{primal}. + \item A chaque variable du \textbf{dual} correspond une contrainte du + \textbf{primal}. + \item A chaque variable du \textbf{primal} correspond une contrainte du + \textbf{dual}. \end{itemize} \end{rems} @@ -987,17 +992,29 @@ \subsubsection{Remarques et propriétés du dual} \begin{thm} L'algorithme \textbf{Dual\_Rounding\_SC} est un algorithme d'approximation de facteur $f$. -\begin{proof}\textit{(idée)} -\noindent \begin{itemize} -\item[*] Quand on choisit un ensemble $S_j$ dans la couverture, on ``paye'' en -facturant $y^*_i$ \\ à chacun de ses éléments $i$. -\item[*] Chaque élément est facturé au plus une fois pour chaque ensemble qui -le contient \\ \textit{(et donc au plus $f$ fois, par définition de $f$)}. -\item[*] Le coût total est au plus $f$ fois le cout de la solution optimale, -c'est-à-dire \textit{(dualité forte)}: -$$\text{COUT\_TOTAL} = f.\sum_{i=1}^n(y^*_i) = f.Z^*_{LP} \leq f.OPT$$ -\end{itemize} +\begin{proof}%\textit{(idée)} +%\noindent \begin{itemize} +%\item[*] Quand on choisit un ensemble $S_j$ dans la couverture, on ``paye'' en +%facturant $y^*_i$ \\ à chacun de ses éléments $i$. +%\item[*] Chaque élément est facturé au plus une fois pour chaque ensemble qui +%le contient \\ \textit{(et donc au plus $f$ fois, par définition de $f$)}. +%\item[*] Le coût total est au plus $f$ fois le cout de la solution optimale, +%c'est-à-dire \textit{(dualité forte)}: +%$$\text{COUT\_TOTAL} = f.\sum_{i=1}^n(y^*_i) = f.Z^*_{LP} \leq f.OPT$$ +%\end{itemize} +Comme $j \in I'$ uniquement si $w_j = \sum_{i:e_i \in S_j} y_i^*$, on a +\begin{flalign*} + APP + &= \sum_{j \in I'} w_j = \sum_{j \in I'} \sum_{i: e_i \in S_j} y_i^* \\ + &= \sum^n_{i=1} \underbrace{|\{j \in I' \; : \; e_i \in S_j \} | \cdot y_i^*}_{\text{nombre de fois qu'un élément $e_i$ apparait dans un sous-ensemble sélectionné}} \\ + & \leq \sum_{i=1}^n \underbrace{f_i \cdot y_i^*}_{\text{nombre de fois que $e_i$ apparait dans tous les sous-ensembles}}\\ + & \leq f \cdot \sum_{i=1}^n y_i^* \\ + & = f \cdot Z^*_{LP} \\ + & \leq f \cdot \underbrace{OPT}_{Z^*_{IP}} +\end{flalign*} +\cqfd \end{proof} +\textit{Note} : $f$ est un facteur serré. \end{thm} \subsection{La méthode primale-duale} @@ -1092,10 +1109,12 @@ \subsection{Algorithme d'approximation glouton} \caption{Greedy\_SC} \begin{algorithmic}[1] \STATE $i\leftarrow \{\}$ -\STATE $\forall j,\ \hat{S}_j \leftarrow S_j$ \textit{// Cette variable +\STATE $\forall j,\ \hat{S}_j \leftarrow S_j$ \textit{\scriptsize // Cette variable représente les éléments non-couverts de $S_j$} \WHILE{$I$ n'est pas une couverture} \STATE $l\leftarrow arg\min_{j:\hat{S}_j \neq \{\}} \dfrac{w_j}{|\hat{S}_j|}$ +\textit{ \scriptsize // On choisi l'ensemble qui couvre le plus de sommets par rapport à son +poids.} \STATE $I \leftarrow I\cup \{l\}$ \STATE $\forall j,\ \hat{S}_j \leftarrow \hat{S}_j \setminus S_l$ \ENDWHILE @@ -1151,11 +1170,9 @@ \subsection{Algorithme d'approximation glouton} \end{tabular} \end{center} \end{interlude} - -\newpage - +$ $ \\ \begin{thm}L'algorithme \textbf{Greedy\_SC} est un algorithme -d'$H_n$-approximation où $n$ est le nombre d'éléments à couvrir. +d'$H_n$-approximation où $n$ est le nombre d'éléments à couvrir, i.e., $|E|$. \begin{proof}$ $\\ \begin{itemize} \item L'algorithme est \textbf{polynomial} car $O(m)$ itérations (à chaque @@ -1180,11 +1197,11 @@ \subsection{Algorithme d'approximation glouton} $1$, $\ldots$, $k-1$), \item[$\blacktriangle$] $\hat{S}_j$ comme l'ensemble des éléments non couverts dans $S_j$ au début de l'itération $k$, - $$\hat{S}_j = S_j - \bigcup_{p\in I_k}{S_p}$$ + $$\hat{S}_j = S_j \setminus \bigcup_{p\in I_k}{S_p}$$ \end{itemize} \item On suppose que (on le prouvera par après), pour l'ensemble $S_j$ choisi à l'itération $k$ : -$$ w_j \leq \frac{(n_k - n_{k+1})}{n_k}OPT = \frac{|\hat{S}_j|}{n_k}OPT\ +$$ w_j \leq \overbrace{\frac{(n_k - n_{k+1})}{n_k}}^{\text{\scriptsize éléments ajoutés à la couverture à l'étape $k$}} OPT = \frac{|\hat{S}_j|}{n_k}OPT\ \text{\textbf{(1)}}$$ \item Sous l'hypothèse que \textbf{(1)} est vraie, on a : $$ \begin{eqnarray} @@ -1207,9 +1224,10 @@ \subsection{Algorithme d'approximation glouton} Il ne reste donc qu'à prouver l'inégalité \textbf{(1)}. \\ -\newpage + \begin{proof}[$w_j \leq \frac{(n_k - n_{k+1})}{n_k}OPT$]$ $\\ +Dans le meilleur des cas, $\hat{S_j}$ couvre tous les éléments restants. A l'itération $k$, on a $$ \min_{j:\hat{S}_j \neq \{\}} \left(\frac{w_j}{|\hat{S}_j|}\right) \leq \frac{OPT}{n_k}\qquad \text{\textbf{(2)}}$$ @@ -1265,7 +1283,7 @@ \subsection{Conclusion du chapitre} \begin{large}Voir exercices dans l'annexe~\ref{exochap2}.\end{large} \end{flushright} -\newpage + \section{Algorithmes gloutons et de recherche locale} @@ -1285,7 +1303,7 @@ \section{Algorithmes gloutons et de recherche locale} \begin{exemple}[Chapitre 2] \textbf{Greedy\_SC} est un algorithme où le choix local consiste à prendre le sous-ensemble avec le meilleur ratio -$\dfrac{poids}{\#\text{éléments que l'on couverait en prenant le sous-ensemble} +$\scriptsize \dfrac{poids}{\#\text{éléments que l'on couverait en prenant le sous-ensemble} }$. \end{exemple} @@ -1334,7 +1352,7 @@ \subsection*{Comparaison} \end{itemize} \end{enumerate} -\newpage + \subsection{Ordonnancement de tâches sur une seule machine} @@ -1420,7 +1438,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} \end{itemize} \end{pblm} -\newpage + \noindent Pour simplifier, pour tout $j$, on émet les hypothèses suivantes : \begin{enumerate} @@ -1461,7 +1479,8 @@ \subsection{Ordonnancement de tâches sur une seule machine} \STATE $todo \leftarrow \{1,2,\ldots,n\}$ \WHILE{$todo$ n'est pas vide} \IF{au moins une tâche est disponible ($r_j \leq t$ ?)} -\STATE $j\leftarrow arg\min_j{d_j}$ +\STATE $j\leftarrow arg\min_j{d_j}$ \textit{// on prend la tâche avec la deadline + la plus proche} \STATE $t\leftarrow t+p_j$ \textit{// le temps d'exécution est ajouté au temps courant} \STATE $c_j \leftarrow t$ \textit{// le temps à laquelle la tâche est terminée @@ -1484,7 +1503,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} \item $d(S) = \max_{j\in S} d_j$ \textit{(la deadline la + éloignée)} \item $L^*_{MAX} = OPT$. \end{itemize} -\newpage + \begin{lemme} Pour tout sous-ensemble de tâches $S$, $$ L^*_{MAX} \geq r(S) + p(S) - d(S) $$ \begin{proof} @@ -1510,6 +1529,10 @@ \subsection{Ordonnancement de tâches sur une seule machine} \end{figure} \end{exemple} Soit $j$ la dernière tâche traitée dans $S$ : + \begin{figure}[H] + \centering + \includegraphics[scale=0.6]{ordo.eps} + \end{figure} \begin{itemize} \item[\textbf{(1)}] aucune tâche ne peut être exécutée avant $r(S)$, \item[\textbf{(2)}] au total on a besoin de minimum $p(s)$ unité de temps. @@ -1541,8 +1564,8 @@ \subsection{Ordonnancement de tâches sur une seule machine} \caption{Exemple général} \end{center} \end{figure} -\newpage -\noindent Sur l'intervalle $[t,c_j[$ et $S$ on sait : + +\noindent Sur l'intervalle $[t,c_j[$ et $S = \{j' \; \| \; c_{j'} \in [t, c_j] \cup \{j\}$, i.e., l'ensemble des tâches traitées dans $[t, c_j]$ on sait : \begin{itemize} \item[$\bigstar$] $r(S) = t$, en effet, juste avant $t$ il y a un repos (par définition), donc aucune tâche de $S$ n'était disponible avant $t$ (et donc @@ -1553,7 +1576,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} $$\Longrightarrow c_j = r(S)+p(S) \qquad\qquad \text{\textbf{(2)}}$$ \end{itemize} Comme $d(S) < 0$ \textit{(par les hypothèses faites précédemment)}, par le -lemme, on a $$L^*_{MAX} \geq r(S) + p(S) - d(S) \geq r(S)+p(S) = c_j\ +lemme, on a $$L^*_{MAX} \geq r(S) + p(S) - \underbrace{d(S)}_{<0} \geq r(S)+p(S) = c_j\ \text{\textit{par (2)}}\qquad\qquad \text{\textbf{(3)}}$$ Si on applique à nouveau le lemme avec $S = \{j\}$, on a : @@ -1601,7 +1624,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \textit{(inégalité triangulaire)} \end{itemize} -\newpage + \begin{exemple}$ $\\ @@ -1634,6 +1657,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \STATE $j\leftarrow arg\max_{j\in V}d(j,S)$ \STATE $S\leftarrow S \cup \{j\}$ \ENDWHILE +\STATE Calcule et retourne le rayon \end{algorithmic} \end{algorithm} @@ -1665,7 +1689,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \indent (et en fait $2$ est le facteur d'approximation). \end{exemple} -\newpage + \begin{thm} \textbf{Greedy\_$k$\_center} est un algorithme de $2$-approximation pour le problème \textbf{$k$-center}. @@ -1728,7 +1752,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \end{itemize} \end{pblm} -\newpage + \begin{exemple}$ $\\ @@ -1770,7 +1794,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \end{proof} \end{thm} -\newpage + \subsection{Ordonnancement de tâches sur des machines identiques parallèles} @@ -1823,7 +1847,7 @@ \subsubsection{Approche par la recherche locale} $\Longrightarrow$ \textbf{Optimum local.} \end{exemple} -\newpage + Notons $c^*_{MAX}$ la longueur d'un schedule optimal, on peut alors dire que ce schedule prendra au moins le temps d'exécution de la plus longue des tâches soumises : @@ -1839,8 +1863,10 @@ \subsubsection{Approche par la recherche locale} \begin{proof}$ $\\ \begin{enumerate} \item \textbf{L'algorithme s'exécute-t-il en temps polynomial ?}\\ (Voir preuve plus formelle dans livre de référence, chapitre 2) \\ -$\hookrightarrow$ Intuitivement : l'algorithme est polynomial car le nombre d'itérations est borné par une fonction polynomiale. - +$\hookrightarrow$ Intuitivement : l'algorithme est polynomial car le nombre d'itérations est borné par une fonction polynomiale en $m$ et $n$. +\'A chaque itération, soit $C_{max}$ \textbf{diminue strictement}, soit il +\textbf{reste égal}, i.e., il y avait au moins une autre machine qui se terminait en +$C_{max}$, il y en a maintenant une de moins. \begin{figure}[h!] \begin{center} \includegraphics[scale=0.5]{spm3.pdf} @@ -1862,7 +1888,7 @@ \subsubsection{Approche par la recherche locale} \end{center} \end{figure} -\newpage + Par le fait que l'algorithme est terminé, \textbf{toutes les machines sont au travail entre le temps $0$ et le début de la tâche $l$}, c'est-à-dire jusqu'en $S_l = c_l-p_l$. @@ -1923,7 +1949,7 @@ \subsubsection{Approche gloutone} pour la liste et appliquer \textbf{ListScheduling} pour chacune de ces permutations et prendre celle qui donne la valeur la plus petite. Le problème est que cet algorithme a une complexité factorielle (si liste de $n$ éléments, $n!$ permutations). -\newpage + \begin{thm} L'algorithme \textbf{ListScheduling} est un algorithme de $2$-approximation pour \textbf{\titre{SPM}}. \begin{proof}$ $\\ @@ -1981,17 +2007,25 @@ \subsubsection{Approche gloutone} calcule un schedule optimal. \end{lemme} -\newpage + \begin{thm} L'algorithme \textbf{LPT} est un algorithme de $\frac 4 3$-approximation pour \textbf{\titre{SPM}}. \begin{proof}[par contradiction]$ $\\ -Supposons que le théorème est faux, c'est-à-dire qu'il existe une instance $p_1\geq p_2\geq \ldots \geq p_n$ qui est un contre exemple. \\ +Supposons que le théorème est faux, c'est-à-dire qu'il existe une instance $p_1\geq p_2\geq \ldots \geq p_n$ qui est un contre exemple, i.e., $C_{MAX} > \frac{4}{3} C^*_{MAX}$. \\ Soit un shedule obtenu par l'application de \textbf{LPT} sur cette instance, on peut supposer que la dernière tâche de la liste, $p_n$, est également la tâche $l$ qui termine le schedule. \begin{itemize} \item[$\hookrightarrow$] Si on ne pouvait supposer cela, alors il existe un autre contre-exemple plus petit (= moins de tâches) qui respecte cette hypothèse. En effet, soit $l$ la dernière tâche du schedule, il suffit alors d'ignorer toutes les tâches $l+1$, $l+2$, $\ldots$ (on ne modifie pas la valeur de $c_{MAX}$ vu que c'est $l$ qui cause sa valeur).\\ +On différencie deux cas : +\begin{itemize} + \item $C_{MAX}$ reste le même. + \item La valeur optimale de la nouvelle instance, i.e., OPT2 ne peut pas être + plus grande que la valeur optimale sur l'instance originale (OPT1). \\ + $\implies OPT2 \leq OPT1$. Donc, on a $\frac{4}{3} < \frac{C_{MAX}}{OPT1} \leq + \frac{C_{MAX}}{OPT2}$ +\end{itemize} $\rightarrow l$ est maintenant la tâche la plus petite. \\ \textit{(ceci est vrai car $n>m$)} \begin{exemple}$ $ @@ -2017,8 +2051,8 @@ \subsubsection{Approche gloutone} Et donc on a : \begin{eqnarray} \nonumber c_{MAX} & = & S_n + p_n \\ -\nonumber &\leq & c^*{MAX} + p_n \\ -\nonumber & < & c^*{MAX} + \frac{c^*{MAX}}{3} = \frac{4}{3}c^*{MAX} +\nonumber &\leq & c^*_{MAX} + p_n \\ +\nonumber & < & c^*_{MAX} + \frac{c^*_{MAX}}{3} = \frac{4}{3}c^*_{MAX} \end{eqnarray} \item[b)] si $p_n > \frac{c^*_{MAX}}{3}$, par le lemme précédent, \textbf{LPT} donne la solution optimale. \end{enumerate} @@ -2026,7 +2060,7 @@ \subsubsection{Approche gloutone} \end{proof} \end{thm} -\newpage + \subsection{Traveling Saleman Problem (TSP)} @@ -2101,7 +2135,8 @@ \subsection{Traveling Saleman Problem (TSP)} \end{itemize} La valeur optimale du \textbf{\titre{TSP}} sur cette instance devrait être égal à $n$, cela signifiant qu'il existe un cycle hamiltonien. Sinon la solution optimale du \textbf{\titre{TSP}} $\geq (n-1)+(n+2) = 2n+1$ vu qu'il faut au moins sélectionner une arête qui n'existait -pas dans l'instance du cycle. \\ +pas dans l'instance du cycle. En effet, si $TSP < 2n+1$, alors on a affaire à un +chemin Hamiltonien. \\ Cette remarque nous dit qu'avec un algorithme de $2$-approximation pour le \textbf{\titre{TSP}}, on pourrait résoudre un problème \textbf{NP-complet} ! Ce facteur $2$ vient du cout que l'on a placé pour les arêtes inexistantes. On peut donc le faire croître @@ -2148,7 +2183,7 @@ \subsection{Traveling Saleman Problem (TSP)} \WHILE{$reste \neq \emptyset$} \STATE $i,j \leftarrow arg\min_{i\not\in reste,j\in reste} C_{ij}$ \STATE insérer $j$ dans $tour$ après $i$ -\STATE $reste\leftarrow reste\{j\}$ +\STATE $reste\leftarrow reste\setminus\{j\}$ \ENDWHILE \end{algorithmic} \end{algorithm} @@ -2238,10 +2273,10 @@ \subsection{Traveling Saleman Problem (TSP)} \begin{lemme}\label{optgeqmst} Pour toute instance du \textbf{\titre{TSP}} métrique, $OPT \geq \titre{\mathbf{MST}}$. \begin{proof} -Soit $n\geq 2$, une instance de TSP métrique et son tour optimal : +Soit $n\geq 2$, une instance de TSP métrique et son tour optimal, avec $w = OPT - 1 \text{arête}$ : \begin{figure}[h!] \begin{center} - \includegraphics[scale=0.42]{optTSP.pdf} + \includegraphics[scale=0.6]{optTSP.eps} \caption{Instance \textbf{\titre{TSP}} métrique et son tour optimal} \end{center} \end{figure} @@ -2266,7 +2301,7 @@ \subsection{Traveling Saleman Problem (TSP)} $\hookrightarrow$ Quel est le coût maximimal du tour construit par \textbf{NearestAdd} ? \begin{itemize} \item[$\rightarrow$] le premier tour sur $i_2$ et $j_2$ = $2C_{i_2j_2}$ (aller-retour). -\item[$\rightarrow$] Soit une itération où $j$ est inséré entre $i$ et $k$. La différence de coût est donnée par : +\item[$\rightarrow$] Soit une itération où $j$ est inséré entre $i$ et $k$. La différence de coût, qui correspond à la valeur à ajouter au coût courrant, est donnée par : $$C_{ij}+C_{jk}-C_{ik}\quad (\star )$$ \begin{center}\textit{(ajout des 2 nouvelles arêtes, suppression de l'ancienne)}\end{center} Par l'inégalité triangulaire, on sait que $C_{jk}\leq C_{ji} + C_{ik}$ et donc que @@ -2296,7 +2331,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{center} \end{figure} -\noindent Ce multigraphe est \textbf{Eulérien}, c'est-à-dire qu'il existe une chemin empruntant chaque arête 1 et une seule fois.\\ +\noindent Ce multigraphe est \textbf{Eulérien}, c'est-à-dire qu'il existe un chemin empruntant chaque arête 1 et une seule fois.\\ Essayons de trouver un tour sur ce graphe (en rouge) : \begin{itemize} \item on part de $1$ et on va en $2$, de $2$ à $3$, de $3$ à $4$, @@ -2305,7 +2340,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{itemize} \end{exemple} -\newpage + Revenons sur la théorie des \textit{cycles Eulériens}, via le problème de \textbf{Konïgsberg}. \begin{exemple}$ $ \\ @@ -2326,7 +2361,7 @@ \subsection{Traveling Saleman Problem (TSP)} Un graphe est \textbf{eulérien} si et seulement si tous les sommets du graphes ont un degré pair et que le graphe est connexe. \end{de} -\noindent Le problème Eulérien $\in \mathcal{P}$, on peut donc l'utiliser pour approximer \textbf{\titre{TSP}}.\\ +Le problème Eulérien $\in \mathcal{P}$, on peut donc l'utiliser pour approximer \textbf{\titre{TSP}}.\\ Pour trouver un ``bon'' tour pour le \textbf{\titre{TSP}} nous allons : \begin{enumerate} \item[a)] calculer un \textbf{\titre{MST}}, @@ -2420,7 +2455,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{figure} \end{exemple} -\newpage + Supposons qu'on groupe les sommets de degrés impairs par paires (ce qui est possible car $|0| = 2k$) : $(i_1,i_2)$, $(i_3,i_4)$ ... $(i_{2k-1},i_{2k})$. On obtient ainsi un \textbf{perfect matching}, c'est-à-dire un ensemble d'arêtes non incidentes entre elles qui @@ -2523,7 +2558,7 @@ \subsection{Traveling Saleman Problem (TSP)} $\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exoChap3}.\end{large} \end{flushright} -\newpage + \section{Programmation dynamique et arrondissement (rounding) de données} @@ -2659,7 +2694,7 @@ \subsection{Le problème du sac à dos (knapsack problem)} \item il y a beaucoup de redondance dans la recherche exhaustive, d'où l'interêt d'avoir des données entières. \end{itemize} -\newpage + \subsubsection{Programmation dynamique pour \titre{KP} (1ère version)} \begin{itemize} @@ -2681,7 +2716,7 @@ \subsubsection{Programmation dynamique pour \titre{KP} (1ère version)} \nonumber & = & \infty \text{ sinon} \end{eqnarray} -\newpage + Le tableau $A$ est donc de la forme : \begin{center}\begin{tabular}{c|cccccc} @@ -2896,7 +2931,7 @@ \subsubsection{Variation du programme dynamique} $\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exoChap4}.\end{large} \end{flushright} -\newpage + \appendix @@ -2964,7 +2999,7 @@ \subsubsection*{Cet algorithme possède-t-il un facteur d'approximation $\alpha$ Peut-être, mais on a pas prouvé que c'était le cas ni que c'était pas le cas, on a juste vu que dans ce cas là on avait un ratio de l'ordre de $\log{k}$. -\newpage + \section{Annexe B : Exercices chapitre 2}\label{exochap2} @@ -3052,7 +3087,7 @@ \subsubsection*{Formuler l'\titre{IP} du Vertex Cover} \begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap2.pdf}\end{center} -\newpage + \section{Annexe C : Exercices chapitre 3}\label{exoChap3} @@ -3065,7 +3100,7 @@ \subsubsection*{Appliquer \textbf{EDD\_SSM} à l'instance suivante} \end{enumerate} L'algorithme donne la solution optimale \textit{(ordonnancement \textbf{ABC} mais c'est un coup de chance)}. -\newpage + \section{Annexe D : Exercices chapitre 4}\label{exoChap4} @@ -3073,4 +3108,4 @@ \section{Annexe D : Exercices chapitre 4}\label{exoChap4} \begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap4.pdf}\end{center} -\end{sffamily}\end{document} +\end{document} From a8b810ec9feedd3a9874aac2d8373d12df264b02 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Thu, 1 Jun 2017 15:54:11 +0200 Subject: [PATCH 04/19] =?UTF-8?q?Correction=20des=20probl=C3=A8mes=20de=20?= =?UTF-8?q?mise=20en=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 1e9fc28..726fc15 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -9,7 +9,7 @@ \usepackage{multirow} \usepackage{pdfpages} \usepackage{vmargin} -\setmarginsrb{2.5cm}{2.5cm}{2.5cm}{2.9cm}{0cm}{0cm}{0cm}{0cm} +\setmarginsrb{2.5cm}{2.5cm}{2.5cm}{2.9cm}{0.7cm}{0.7cm}{0.7cm}{0.7cm} \usepackage[utf8]{inputenc} @@ -589,7 +589,6 @@ \subsubsection{Définitions} \end{itemize} \end{enumerate} \end{itemize} -\vspace{25em} \begin{flushright} $\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exochap1}. \end{large} @@ -1277,7 +1276,6 @@ \subsection{Conclusion du chapitre} $\alpha < 2$, alors $\mathcal{P} = \mathcal{NP}$. \end{thm} -\vspace{22em} \begin{flushright} $\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exochap2}.\end{large} @@ -2553,7 +2551,6 @@ \subsection{Traveling Saleman Problem (TSP)} pour le \textbf{\titre{TSP}} métrique. \end{thm} -\vspace{47em} \begin{flushright} $\hookrightarrow$ \begin{large}Voir exercices dans l'annexe~\ref{exoChap3}.\end{large} \end{flushright} From 6cd93f602b2c5f36a9632acdc471a0f6c954a732 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 11:29:41 +0200 Subject: [PATCH 05/19] =?UTF-8?q?figures=20mises=20=C3=A0=20jour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/dots/optTSP.ipe | 2 +- resumes/xavier_dubuc/src/dots/ordo.ipe | 337 +++++ .../src/pdf/ordo-eps-converted-to.pdf | Bin 11036 -> 16650 bytes resumes/xavier_dubuc/src/pdf/ordo.eps | 1084 ++++++++++++++--- 4 files changed, 1281 insertions(+), 142 deletions(-) create mode 100644 resumes/xavier_dubuc/src/dots/ordo.ipe diff --git a/resumes/xavier_dubuc/src/dots/optTSP.ipe b/resumes/xavier_dubuc/src/dots/optTSP.ipe index ed35689..dffe084 100644 --- a/resumes/xavier_dubuc/src/dots/optTSP.ipe +++ b/resumes/xavier_dubuc/src/dots/optTSP.ipe @@ -1,7 +1,7 @@ - + diff --git a/resumes/xavier_dubuc/src/dots/ordo.ipe b/resumes/xavier_dubuc/src/dots/ordo.ipe new file mode 100644 index 0000000..36ecbaa --- /dev/null +++ b/resumes/xavier_dubuc/src/dots/ordo.ipe @@ -0,0 +1,337 @@ + + + + +\usepackage{amsmath} + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + +0.6 0 0 0.6 0 0 e + + + + + +0.5 0 0 0.5 0 0 e + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h + + + + + +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + + + +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h + + +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +-1 0.333 m +0 0 l +-1 -0.333 l + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +64 752 m +64 720 l +192 720 l +192 752 l +h + + +64 704 m +64 672 l +192 672 l +192 704 l +h + + +64 784 m +64 640 l + + +224 784 m +224 640 l +224 640 l +224 640 l + + +192 704 m +192 672 l +272 672 l +272 704 l +h + + +224 704 m +224 672 l +272 672 l +272 704 l +h + + +256 784 m +256.1 655.224 l +256 656 l +256 656 l + + +240 752 m +240 720 l +320 720 l +320 752 l +h + +d_j +d_s +j +j +\underbrace{ }_{\text{$ $}} +r(S) + p(S) - d(S) +r(S) +avec ``trous" +sans ``trous" +retard minimum + +224 752 m +224 720 l +240 720 l +240 752 l +h + + +352 816 m +352 800 l +384 800 l +384 816 l +h + += retard de $j$ +L_j = c_j - d_j + + diff --git a/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/ordo-eps-converted-to.pdf index 5226540379fdd9042c65ca61d1a427d6cd2023e9..fdb8a16c6b7e2b7c5ee7ec92e7911f1c310d50e0 100644 GIT binary patch delta 8232 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 HMTY(dxt<*C diff --git a/resumes/xavier_dubuc/src/pdf/ordo.eps b/resumes/xavier_dubuc/src/pdf/ordo.eps index a977994..e7fe1cd 100644 --- a/resumes/xavier_dubuc/src/pdf/ordo.eps +++ b/resumes/xavier_dubuc/src/pdf/ordo.eps @@ -1,10 +1,10 @@ %!PS-Adobe-3.0 EPSF-3.0 %%Creator: cairo 1.14.4 (http://cairographics.org) -%%CreationDate: Thu Jun 1 14:51:38 2017 +%%CreationDate: Fri Jun 2 11:27:06 2017 %%Pages: 1 %%DocumentData: Clean7Bit %%LanguageLevel: 3 -%%BoundingBox: 0 1 319 175 +%%BoundingBox: 0 1 395 190 %%EndComments %%BeginProlog save @@ -318,7 +318,10 @@ cleartomark end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 76 /L put dup 83 /S put +dup 99 /c put +dup 100 /d put dup 106 /j put dup 112 /p put dup 114 /r put @@ -468,39 +471,263 @@ b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31 8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1 de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8 -27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aa06f542de6dff18dedae -45ebd5df41c9716f9f265e0f76ff738e8b1365d83a50d5e6ec8124003f416efe2f6d0f7804ac7c -59f19265b3d1d20ec202d2a8f04cfaaebcf61da57b1dc67a714a16a2692ba82c5058af93c2ae5d -9d1f87b638c5b191eb96bd1ccaa8346e61cbe333984dc3dd511d8a6c7cecb703091db94f945ed9 -aed9028b9ccd24068d61f2ecc2dfaf50fb76b32fb6d3b71df1fab4ff54513822a58693adb9d89f -aeef86a945f50479c928e86c72a3ef8a138ec23a86926f7be474076bbc1b96fe1cf32be22f2fc8 -e7810c314ad39b639a9530aa740b790d598dd2b7e1aa04ed8030238abfcd5309e9f7a7fe4dcdce -8b8764515e0877b7a7850562b2ad1f603920e327299f6d2a733411b6541db854487619d51b1e17 -5fdbfd350019ba0b52a148c485655ffcfb053fa1be1f206793ae0ab8cf217fea946b4f86d491dd -0876c07551affef62188cdd092332a6bfeb6b36e2da589e63fc950716e194d657e2400f63d0782 -b5301b7e264f5bd9b8e7cc52114f411c14531c497a334c309e8d4031cb9fa9ce3e21cb114d60a5 -abba32e83444bc237f0d26b346e4de6fb7ffd1beb92e4a0d3a771bf36431ee08c4ef9dbdbfb9d9 -62f563eef75bd6f15e27be9e768f40e0f381c810778b02847a19cc8f341f14b7afdec6ce2f7f8a -00b5ead0a7ab67693cafd069bad81537f5f0228c6413de86f07e09d58bcc70479b23764291f75a -c47e7f09fa2a8cf64f57709ab764a8fb9282a289f51d969f30e3885ae17173a362c2a22297e76a -8a40b149fbd3085f373598ec418928722bf4db7fc9563ce02e9dc0ebe463ff03d0294b42f86ce4 -7eb8c66f68fd90dbd8254cdfdc26a87a288471a6469cd7f1a0436ecb9b01972213aafbdb21bc06 -f567bd489a51bc85196f69cb3152b526a1d1e910a105786881106c5cf65e410f6ddd839990b432 -95f2908fb82cf861e93bd8f745f6ad5c8af80d8eea71a9946437ebc5ec23a8b5f07deb90d9b7b6 -eefad8ad555949bef5cce77edea8dcbe0cf80a8da3a70f046fda0930067072c85dcedb2baf4c2e -e33f7dd1daf56d4e8cd54923e798ef1e6d1acb0278eb2d2da92f7cb5dde41ab5a77ae25c359b10 -89f7063a1fddbc7b219842d17e49378be1b3a664aa5a426c5edb098ab44abb02829abfac68bb6e -f9201affc99bc0615fad1253dd9d6115a87eea41041af9b62b626bd4a35eeb4afcb260e7e3ca28 -3563e41530dd128b41420193b6b06a64c0d0979d344b7ae349017eaec8c0d7a9314f7cc4839a4b -7c10e96af1ba6241e5b535771c8f6fbfaec8c79a96c05274e075676c659be04e6001add104c13d -64ec33725d0d8f37b06c2d1d512ba16b5a43ae18d31733c3653a4582fe3697740222faf035f548 -9285b4a12a3eaec85b57145865433983f9057332d6e47509e014f82b805c371ad55ad16b145a80 -2d22dfce3f5062dbb8053a616fbc0d5763b127e100c24e11daa7ac38f404065ebd1be8a469cc47 -f6ab67587c65c91eb72edf5173e5b2eccc28d39214e68ac04a3242e1e32913a50ce218f78ff984 -87d20ead1d888212172b0dbdeaacf903361d107802691a411e0f34c88f799c03dfd8d8db19ce09 -6b169c845dab46412713f822ee1bb373f8aa8eb714d77769febe4e541177dfb4f48acfbe0e9cc1 -74241fa61a9b564dd1d7cbb54866f3d7d6e202e9c7d67fde319c1c91a428422b76dfd865346fb3 -79f4dfd4466422d15f459afc3636fc8935472febf27eb137d1d4911fad172919dfc25bf8842a +27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aa39b1e66969e7e4f9c51 +abd885e5fddffe5c9fd3ceb862c7259fa7694a0d3f23e9058558fae0ce786342875ff63284186c +c6ba6a41900cff49c4d62cc812b1a69012527605f1def0cca48faba1248d67d87edf3d43f47c6f +522c225b67573891636abde25d6552d7189d4afc07668883e67bd4eaa01b45103ce971961454c6 +7df0da607576110f2c8da07b9ac70dc2e64f1324fb778327278589b2ba951a6a1633cc42f2a3ec +0778dd01e8538903ea7822e1b941ee27e6f017440c4f830a69957b04b076a5aafa9a268e06df56 +76d9ac5de75886a24e264a167ee413a32316082ca3775b0c254683cc91a76cc845366e63142b2d +cc67b7930fc77dd8bb422b458b46fef78302ffc130db27879af2a0cfafcfea9815f6f105778659 +581ae13ce68793502d4ce92eaf54f2f04fc25b626fa1eef3ddee5e8a990acd6f855c6489b5c25a +b7dd3295da54c95159d9f2b14acc4c9089dde2987b1c5303e06c0e93f86bd57451fc805aefd8d0 +5f341235ac9320875393a4258f17966b61e16fe7b6fabaf954a6d323763ae6579a3b1d7b9da2ad +e5c69e115f2ae6dacb6a328c6fd935b6315a18ec533e9461754bf0ee0b4ac145327aa58eadcbaa +51d9d56bf45d781e69c6ff888604425991ca2e2fc9cc3e7ce5c4058b6c70b52ff3657b2298ba39 +7a28a16a343214082264608659a3d54d5ba18ae8644f8b23fb19533fd1b02be69647ac6fb6f18b +df7e1f9a11c0acd36b1c935956b58498d9b2092146c40e5a5535494a80098541134307f59da408 +bd8d2cf5122b8e008f4a2654d16a96006a6265c29d357036547a35925e541596f65a50239a8dd4 +e4ec9a18b16d7597366f45e3f8713416279120e6e60804140cb840f865cb3488e0ee5e0a0f458e +abe7093bf4ef051f0a7146b11bb44eae1e494846ed190f10b0db89e45883d8631a12f3bd70641a +723b52879eda52e6b30facc5e77ffe7d71ac0669134a0f6fd7942235c5925489a7aa9ac8b6930a +5ad766f5c4e739ca0940be93c596f5d740f02a73709dd2fc2ffe0495487f44c9ccc01bb5ee0505 +2d0a9b0c3db6d8b8350bf4ffa7f8980afa5747216ef69ec0b98ed1b79c02db77f5454767331a84 +51f66a6612008b9cc649eee882422211deae767f039f8954f817a2bdc64996054ee4fd9e87756b +3b7f8b11763804c850df0e5de35d64bdbb89fd722af048ca1ef41ad36b3ab523b4092916e75880 +3e26cbb6d3a1bb8bc21f25f210e3e54e02644c8c708c1a9850b2cdb968fec8931896b021fc2d23 +cbaf94bbd3e24fc187d1c332d229f2aa98941f64e584df42645ddb53288aef8a4c911eaf3821f5 +41a8751b3bd84a19ff72bbfb4c493cdcabe6cd66040a1b486857311d4d79d35753a5300d8ff9b2 +bd9e96dbcc474f559fa28d1c9c52dbfe0f9087536a86d63436b4117694575fa78233d2087b1251 +04822848c4267bceab9b77cb5964c40d0a51dfc4e5b1d0c7e22f197b6d3359e9289ef5251fbb44 +477d26af904540d3435ddee248eb3d0c487f7003b3f23f1323538c0d542f9dabd796e09c47833e +6dec697fad5190402f0be66b3b47ce965d5cff946ecc5f5b4f8fe4cefeb2a991dd8f74a0178641 +9dd52da70012c08491d67b2b91ada3d1a288adbb86c5fefef18075629c29e372e799598201440e +1132cf296b055401f22f8a434b4b55b588796f412088f221706148e70dff282ff142cbaa7e23f8 +2ea90f114acd00f504ff8c05a8fd606f343804e958c5f7971832bf0217f3f9b0596330e51aa3c0 +8a983f42ee7050295bcc6ad171e16abb6c2550e62331cf885145b872b81cd0cd58f2c70ac6a732 +66a4f6f825519da97d6f93dda6d7eaff7632e04c593fef7f4030da12b65804066cff8c561668f8 +ac6cfa47276727bd12a7ac5b51c0d7d7503366478071a4b01cb82e4dce3693d26858fe527cae59 +b8c381aed432101ba73ce558696a6bb0b117684642a9e732e366a5b4a8e4070183d853b12e1578 +dc8f8e781ed33c540056c5c0f9c8286bd39f9b965dc2c3a15e2f739d73d493bd81539ca0a6ec78 +32ecd1f72917bbda572f6c45c5679e18df3c8fd8dac651bfd33c3e3da798475232df911d47c327 +a74322d813784799852decaa0bccd20a5541fba1219d4b8beaaa5d4e20d0f209c84140c9c0df28 +cde89d224384f9f96342acebf36e7e610b8b5085966aa17e6261bf46fd1cd6640cc7e3bc14d30b +2b9fd5cef3830954df283844dad7a19a987ef9edf13ff9c4dfa41004909c892454c45691469d8c +d6b63def1938d9cd9e638fbb64eb1d3aa97818389631f9720704c5b92751c2375ea679812a74d3 +32211728a4a37fc682976377ca9be125425e815f63072810d00979799913a88f16929cea3a1684 +f18d58c4e429d422fe8104428798469057bf5ddd93bcb64859f92dd7c5f6c4af3285287c2be285 +94ef64873a60cb4197174b023c9e4cbba0d66b2875a3cb2796586159483fb395b45f3711b7093a +fdceeab27dad762f620608edf89c9ec05cd5fc05261ca81201ad690e69ae96bb24ccb5de495977 +1492d7bc981ca09f2c6bb52a67ee3a7e062a1da41bea2c0f34179773c9ffa82f384d6ab1f65f09 +65728f7016809a2a0163934013bfb676a8e10b06 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMEX10 +%!PS-AdobeFont-1.0: CMEX10 003.002 +%%Title: CMEX10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMEX10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-2-0 def +/FontBBox {-24 -2960 1454 772 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMEX10.) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 122 /z put +dup 123 /braceleft put +dup 124 /bar put +dup 125 /braceright put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8 +1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4 +d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65 +dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901 +d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b +0d58fe7cceea728243b0a6d07c975363fe2f68dc10b0745b0864ed2645357de0f884e6c560db5b +90bc479fb276c0e67c6aca496775a4f0a75faf28917167800890ef3c86ede7a7414bcd45e936cf +947b2e825295f827128a2fff2b753d5e3652c8b4795554cae61967ebdbbe371300075727bb795a +e304f5c14abcb350397652b5d0ea3d4d73b833a8032462e681e43cd3d78a43fa952ed710c6e663 +8885baad7de969273ee06f07b72b04ed08c21158b78de6e78e991bd249b33ef76a88735e8f7686 +ce0700b3747281e15759556ff9048a9b1a08d068b8f996d45086c1d4e3f34ff73383b31c8e1f28 +4cf111f5679604167bb9b16b1da2216bb4453aced50f10101b1f921e9a4a7ee1c8dbaad3e5178d +22f3ec573f7084b7b8d1e6119e9ae49d3102e0a2de3b052767d8576e55a556c85d0301a1f0054a +5190fa7b20803c143cfc85b17db4fffbcbfaa340dae90bccac08b034c8f413b6b58684df5ec36b +4e9035e56d518021144eac7d803e9e47047ae3a81875badc350ce68592fca852ed1d9f043b69fc +ae99cca661e5732c959c074d97acb34eb41f4b13fd5f39ad1afdd086098ea63b4e8cd38d0c435e +21ea5b145036590eeda3ea7eebf57c62574eaa09fc25266a430e676cbc64322e6f17d5c59462f5 +448c9ddb5286fa0a6a46767bde7a302121bf36fa6d9ddab70e226c4a2704164bfd970a71b6d2e5 +35d7052d8abc13a5dbb526763ca517567d5fedb1c5f52334bc83f4b4e62f8d18301b5238ff2886 +f34ee94a2fc0efaafad2d25f49c12ae1d7600637eb753ba2078375cb1ca94528f0675312aac27a +b367062f14ce2f579a94d1d54087989b8f789d4c69ae1ae7377a264138f86c8c5cfc2268e39722 +fd215b1e40f213e1c28f2b31ec529fddd314d1b8fc50c92cf13fa32c0a1383101e1c975a8ba0b2 +72e541dddf541ca9f272fdd9e268cab4d0667a82f41a648a292fce8a2c8ed4b7a425e24f685dd9 +c5d65dcaf54702101e86a91376554664d6ab8b8165bee10c7e9b7eaaf0ed50ec2106c51dd5adf8 +dfb0cec463b0ed5545c32f4b73dbea1c47818d8ede2f04fe8c0f22851083d5cc349070c1b4a011 +9d3f74865259f5e8a4e2fef199f23bcc1519ad05fc975f5494c2092e9d0fbe2fa9cf57b7c1b187 +c01f31f7062fe0e714529d5252e440a65df4508685f75d19495b53fe58f50f114ef557cfbb95f1 +6a621ac66f918696b0f48e01abc6f267199993d68dd76f27a219240ef14d3f18f2cde95e243cc1 +6625b8ee05681c866e67f2e414eb287dfff772b01053b1cab975931a185894d5676d0fbdd4c20d +46ddc16561e06fcac7cd47bfedf2f27e806ee261d40ba7c460ae004fa6cb1b0c40475c28cd4c40 +e05c5b606d6346173050a75d36b3e1e46f7dcc01304bae188ae682fce0d38d507ed0832e8cf399 +14914cd8ac4126418a9612bd1b856f86c7ac3a14a35b38f197ce4a47e53cdbea38a4a848c692bb +65c02a53233a78d50667314e7d0d8e43c2e1fdb5530d4b28e7bb19ca6f9c5fc3d117bc5e3ffe33 +a5b7a69f7f7159ca667d96b5d03e4c5e59ae171c9fb2f20cde1d442961efb6027577efc06bbc97 +b9b8ffa97ec03364355cc803fd2376db0fab381d301d05232429cbe3ce117e0ff99e47d628d116 +4437884ad964ac2de777531709f1d6c49f79b9073457fd046c5c76322afd16c1cb7f534fab4cea +1cc11ae5cf20fa53dbf43bd274a6d42fb09d671da621ebe514910177affae8b6087a84c09f8227 +a5eb5a16985b5991f07b7bc632137f3c96446ecbb9ee31bcad2e6a293c4134ad506a465abcb72c +0bbfe9b198d79d225e6a83d937920036d23adf8f062b751a148dd5c8cb11b254da5a636fdfe339 +c8b8c6b67635198fae9a4e9e894ca1fab597af5ca4db9a4bf3b44426a935bd0ccf8a0c54d6698e +bdafece8ca77f06114deadfc32d9c085ff3685c1e1d710236e291233140b298e1ac763505d146a +50c4cf0158702d7d136f3c03a7d60b789214257699255dc5b2885b496d844e016ac8d652f20791 +0deb6f43e3aee8f34924933accf93466d54f3c556e22e7e2027754015e1d0c8dfb194fa0c58ef6 +6c54d92739fe1e609b63c5f9303c66959b42f1c0e1717af82e7a269b49244182bab1c3dd615da1 +ff36f70ad9d5dd9d4700e98682f4c4d9e57b459edcdb653b8a3c1982b083bc84c55568dde68de4 +83fb1db089ebc9935815fdd7d035704986c98fcd3642367a59a8b1337dca37900cac287d01de1a +bd824a83c1c55846539077aa2fe74d4ceda53593b4a8e9586da0d258de260b4054400b8694051d +0c3152f286798c7fcaed046432748f127248e76d7f357aba6ad7a6003dead5806753585f363246 +aec4fe0c7c481c7040453f8906a90edfe154d59ccd52573a3b064b4087c4a1c78267a96180302a +fab60a365f3b5d40ab976133c374385160c53d58cd419e913cf3ceda1414e2c99028dd92cd3003 +078a32982de4113d03914f8a09c1a4ec66dfea0ae82a6887c2c50b40dbb6ca2ea81fb10d944d45 +88b21cf5cb3ffab12d79091f21e179319d53f8ee0994425cb70a283f85576a0c65cfb6e3e1f2a4 +b9312fec1a38e9165731f68c2bc3a1d3148b1bf93ee623f5542b4844e9d3a53fd8ad8e72c0336a +8cf7f490ada44965a38c2608cb025e010b2ab9f9a3a69c57c888ab06e25ab6994241693fcc2df8 +f6e2b43ada28546b3255fe623b39aed18982a1dde8346ee0996687e411c4ece195fac4ca8cee12 +34f1f1f3f35e7503f5cd84e6d420c1bb99c9ad4cf643d6420418495e293973f3fb4d2d4a51d2e2 +94c46182c8b52da287ea04930d703fcf5d3958f5b217d6873081335d649a5e45339c5d26f46dfa +f7737db5ab34db069227f5e73acd5538bf373008b7d8727569052bf63e646ad463404ca2de2c38 +57a9fa62e5485f0635e9c6fb9dde883e8e784d4b75d957c386848a83f95f2f2aea19bd80be1bd1 +22b03e27943e283355b49c847f16961047d2cfa65817e99121c57b9f32de192cb5eeddee4656b1 +7b370b496fd52dd90d8500b87251fde226d7230693236d8c1d054427e58c755e57e7808ed1ae6e +5bce4a3c691d333d192741416d86b3b716c3a7bc9e52c3ac7bdd1ac67fb18fd57fead473a4cfa1 +3248e6f166f1b78d43a0e1457801c70973f5b2fbd65c482ec76148a8bc2f4a379542c3883b9dfd +bd0728d0e3e541c1b743be8918c231d3093c4564c40153f3ff72ff24ca36481082e970b1736ed8 +664a543347fd3ea27e4f7f3fd34d1e1f97f8a21201bc6b1fe84a5a484e330307e08e0f480e3d00 +7f43e598c6ae726dd10284a294bc548775af2e1574fb86ec4b4636b87f1d6db2a4b856db018d56 +d9644c08ae8be05fcea3809e917a5953942afcbf410ce9a52ebb4b956a0a6600982547ff0597e5 +e92d05f1edb70bc78ca32ec76438a996d71f5daa012c51b95fab452486a790361c0d43641b7eb3 +b73e79e53fc56ff6ca4b361e80a18fa4a1fac5f65326aa382867e0e4999791f58d5e2c82e1bf2c +57b4da85afaa7819505834e31db2f4938053d47d0a4b98b7d64ef0aebdf9d561d4cf409b77be9b +c6a2343d18ecc7756c78132682158b123d3552d9d5ddb77042c8abc6cb4386683e9aa2ea98d873 +fe1147c89f2ec672e47dad71a3c886ec9619ba2f178c0db8af7cf15c160436e19b654c390e9cc8 +d354aeb3bc6972cbb53423c7081d2e276f69e28ca78c9e33d7451d0c9a0faaef172736e6e7c8fd +6066ee8e402e4e892a2a4fdb92846f86a59c84de87e9645bbf04108ec0d07925ed47ad7e55344f +2a5d80a8387a9570115e93d4d98889d46d33e5f382046e57a022723ddea1232f8e5a1f2504f2eb +79f712986ea426174d4163a68b805cfe9aed4abc997fde625d1b559cdc904adaef2ce75347fff7 +88aa5cc14deba6ec1aa0d412403eb26defd2db74b2f39ea174796f9a64f615518882e36344e55c +a89d0da75b39042edcb2dd9e68ac54d4c027fa8c674abd1a664c5e5642d0bfd516165d4a3d46c6 +f91f7d9393ff91b85d9b9ac3ea53335a647299f11bf73c66ac2a30717a41c456a8f3293dc3e6ea +13ab8ab869bd376a9afd5d28000252b8ef76ba80d802c0534d1926b50021e7070155dd152d2967 +715da0caf19ef202fcfffcf748be11dc56704bcf843ca76847213ccf6021d8407081e62f545573 +4651eaff0c361f29a367aa63c34543a9753990fe009fea05fb25bfa664f10fab43bba46345b859 +7009f87c37e3095e1f299e8796eda183a34fc709e3e5d801a1773ad905d4064b347bcfba53e7fc +05e137c3ddd6cec6b14a255e83cf1c0b3fb76ad8a7841fa20144f48fc192c3fd8eb1b330c72f16 +22a79887517b96a00108add788036f92ab82a8daea71b81633419ec77a37dbb520f21375793221 +d62a7d844944e2fbd9019cad883e3dccc5a7efee0f81826162073232f312b5b348f4b8bb303745 +b5b9763ce2a755b71e32151eccc2b5ac278c9bbf41ba1dec03a5edaa25b472c359569212ce744b +4ee297423bd68ac82cdbe4e907c5c8d8181742fe42882442d54f21213dee1d3036da54d0a149d3 +147a7f6d4b5719beb7aef5777029307831f13139f51332e59e2d67acb6e5e09b4d741325a9daf9 +80a33143a0ed4da984fad60b2db8d2dbbcd2273f00b2be5031b290af60b8b96f474f6d4cc34c4e +e339eaece8004320d8cbc189a9ba8d0e100759cebf6d36fc929dc076467ad29790e7f93f5c99ef +406ef93a5480e8227bb42e68727ca15061d8dd3400512519296237713ddd127b39011dff58d9ed +772f3390299ec9325c249a6b838d690a7a1ace4bd79d0159ac78f0c295e58922e5291f4fe6791e +7e7bbd7ed8e49034c70ebe43b66e02e61c59a3ab540427332cda3673fdd7a4b0a372b6032c19bc +f058df4eea3458ec71442ee1ed1c2222a4f92640067ea249e9732ae776036404ee5aa1b6b2d924 +12a6fefacb64fdc2e5abf623d7c2f7e786402772154e3b7df0496d799fda9192981ddaee995357 +0fcac4f8090bf52dd470a88a540f212129a4fd9da3d493740b013ff10b0524ed7a7dca667bb125 +dc050e65cf2a0eb06c2f92722e3a3a6824d7b40c6a8b76e8bd87f3dfecf4d5d55c7ae598f70c5c +c509cd1fc9f968f841e3f6222b4dbaf20422654c483b8961c28ec6ada75d8e1d3002ccbfa2c4e2 +ec499b493d7759e6b4ad3c5451db5a580e03ba6bdb6843e9c916d29b3bdb14f5e91d186d8847be +18d2cfa658283992633330d2c003e5323db743f8986733458f95c4ee627f462597a88934797a80 +e68ab9b48c2705f76370af955fcc77b6034e78c098cd1eab548ba92ec278d44ec952f89d0e6ebb +1227e38696afeb27e2f3fd724956f24e198f1212324c029a48807f6fc1dab83ba87d2c79490c3c +3ec287e7a80fb9fc1fcb5cf122aea90dc6f5e4dae6350c1ca830823c500a08a2c741a499ef0bdf +a7c57a4918534f8abe0d8b4382c9fff2bda6e5016659acc32ca65f3032a751a5312e51914173c9 +f62d1971aedb6a535d152697f47449260be4c105166850e659014895ae8b330f224273a22fb0c1 +5c56ea03b611d107be469e76af9d86f7de46525cf4fd87aac139f72d2ad0e6d8c211047a6539ac +5e6a198717425c681307d7fe795f983ba3025d77c8e28f9531783d05220e0831b6ad9770a71854 +6ec066b7eed90bd694a04fbcea38e4b3b23fba342d7d5629df943b151f92af1a0bb98eb5fcb794 +8db45bb53118c2b7d356daf0f99a33c26454d81b112cf073f920199e47b6c6bc30c9c789c958e1 +9e831b78fe03d1751ccab864f03ebd34f90d639f67d09de99c2147013909e3b6aa7d600c853318 +79a29705c4a6637a3e7491c754363053c8c7dcdccd5b299ca30c7b7692800c52f145c7ecfc38a4 +da32ffca53c65f1b695b9172b530c9faf9f81e5b5be40beac6a823cccafd0f0f8b534f960fcb47 +ab234e52325d928b6825fef496682e81b61180182e2a0e96bb81c436c3cc7021bbb9a769307ae9 +aa89e28f4b430223e05a38eb87783e396e6d162835876e3e9386bcd12183e9fe7cfe757df1508f +5f41141c6fc70b19feb96861b5462c1df6171277f7eda3317d14c0ab75c0949bcd276741c7a349 +d590e7a569d428efcf78ca4cd3dde1b784e5b6eb7010bf2defe16902aea01735da331cd4c229a9 +6e0cced34079d071a53172f1a18e9aff3fd6fa5805872cd798a7832c974577f664f01d30896098 +f4bd65df8f1ecd8f8e1166bbc6e20e24301aebe55a1aa14dd5a5da8aeca1e0f40c6f39c2572ca1 +50c2c4f6f5651ace4c626d5acf279eca54544a6773daf8f76d2d46e1daf432e5c1399c7482bcea +3ccc67ad742771f6d8a00e86665a9f0cd75f61ddf9e8b3688863119916a0ef97c0ea3b13f55e4a +5da911018d3588070e90827772b7e0843d9b9bf9542ec5f18ee51c51e0b8fe58d7c35ab36f1353 +dedf2c6f55a69268ddcdb8fb0a40887ff4825d2828e9f8d3828118efd3c1b9d5d5079cc1cb9e66 +b3618d67a9dbabd0454407b6de4e0aadfde0ed86296358298018681c7a937b46011f1de6e4676f +21b787f107adf90539fc3f8e72f3ab96e14feda66f3ffc83e16c83e6901ff74940b6278892ddf1 +9abe2bbac212c7a26d3e8b538c61682f6972654d0daa6adb1682086279ace1b9612e415e642d44 +2b477599a277517b9785289c3764b116ed1b10f823d49008398af3b84f44f2ef2f7301d9c2ff4d +aa5dd7eff7faf562acb6c713eae12d85a8e76eb10ad54a6a9a3b0484ca917e4d1d6afe9df4701a +0b99950113c0fbda0d03f8fcd006bc45a5569b835ca17523e401214149e7015d558639bdd613bf +685ee028fc246ecac642d5d1bae7fff05875c76840f70b6a0d50a81bd7f230e01c1342241d4064 +ee05a50c6aff48af4fbdfc7dd9f619182b66bf9a36495800c66d32907ac7bc720bfa66c88dab4c +8dac12aab1dca186fa29b3577630c95f44bf40867f60b9fe323f8718549904ee2e7a44b8ac2ae2 +374c1a424b5472c32d14519e71d6b518d6310ddcb84680a0a6b490b4854b762b7858111ed2e015 +075b2afe929240b60a99010c3bdcc3c984415cf22a9d8c3dd11face3ce54325292e8a7a1fa102d +8a76eea7fec3fd3a8f0e6d82b4628bb29d0febf0f91446abc665bdec469a56b3211ac8411de7d8 +b5f1f33721441bd5e514291deb7387c39aa3e892bd776f028b885151cdf3a2933663c62982e2d8 +76b899791a1296416ed7b3444a2e12ae432ae4be16b337c3e110c96b099fd4368d9078fd9742c7 +6a12d7e5ddd0c24374dcaf0c4f0bb1d1560d2825bfe552678b0dbea2a25f6a726a31455598b3d4 +877219cf6777ab067a5c6f782e4c8fd112aa8e99894b441453f705dfa7418f1ac37e61c46c41d1 +7e5defc7a6c3334fc890c3b0868722fbeec31912cccd057c97a1168c304a84405c9eee74d7edd0 +3fa64c7f7240829b71c7a733ac660eafc2f51cdb12770ba5d45513c3af6edc6d91ee6374eab986 +47b4c192212565e7bb223ab1a8ed2f31684afb2fe807af4bf5a695ecd041586c95e959f4d0f8e2 +b4e70acd844e3367de4d32e56d0c67af5629a1bdf78789380dc127c1a50c509e582df0dc455ad6 +5db39de25d1fd010c32ca846335fdee421e2a0cceb2afaaf89922b3e226e6adaca39820123474b +e8a196ac89067c7d0b1cf701152bf622e16540e5d06095d57f9fea04d55d9740a6dbabc66d4562 +8bdc9e135a0d603a6117a7d89730d2a5da9be63505fc3a1965e1876b223b74d59c79447aedf5c5 +b090ea530952054f76adc3dbff1de41925296af57f2c42001a8b994c6bb4a281e512ae9d0d1adb +40721bcb583e8755f86eecd5fcd7a1aef9be05ca38748d9c62fb7a7d077c86f3cc4137d6899bdc +47203807baa8c7fcf2c1df9dd8707a4932cfd40aed353ffc3ea5c9ffe1c13d5be374dc04c1a214 +59b440140439d05226d9047d50146b00f891ce0d692fcf766989298a8ffa05b2f687a81f0240a1 +230f2538c5fcd2f3cdbe120306e5daa720ac29de39d7ad62b0dcf13431d6b04d84ec272a8581c1 +21e91683624279ea17652b5034705ffc0391f100c845405b163c8940978b94389c87ddedce10d4 +65c53ffca50ec4551950b632951879a4f6d284ee707077305af19dae33ee82b68f73fb0ceff9ee +ef0c829b16f10e7643b29e58c9b866564f0ad51ddbaf1cb6b016d4f77f984b6ce46f42cae07a9e +3f47df688383684544b3dd9f16b635c3aad5d6b18290ea1a74044f7a20bad6d89b0a0a8a1b87b8 +08c5b5a94ba1aec8268a0073f740962d2876aaa35745f31ab371aade432bf46f8456404a38dedd +0d57cfe7be02eaea6adfe3feda8df97ed9320a8a14fdb55d2d218540895430a8137cb088c62ad5 +8bb8c2e9f790b7930b41066e63aa2d8264f59b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -528,7 +755,7 @@ cleartomark 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /f-2-0 def +/FontName /f-3-0 def /FontBBox {-40 -250 1009 750 }readonly def /PaintType 0 def /FontInfo 9 dict dup begin @@ -544,18 +771,25 @@ cleartomark end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 34 /quotedbl put dup 40 /parenleft put dup 41 /parenright put dup 43 /plus put +dup 61 /equal put +dup 92 /backslash put dup 97 /a put +dup 99 /c put dup 100 /d put dup 101 /e put dup 105 /i put dup 109 /m put dup 110 /n put +dup 111 /o put dup 114 /r put +dup 115 /s put dup 116 /t put dup 117 /u put +dup 118 /v put readonly def currentdict end currentfile eexec @@ -704,74 +938,305 @@ b71f153a5cae8a5f9738bc5c53da38544cc23c785088062e05e3896956986b6210d343068b5106 361486b7545b0547ca15f44369b663cfbb015bf312eaed766c1afb8a49609dccf84429ad244ba9 bda8e7c8486ecfde9f4ecd69fd346986678026968855b8820383b0dc16ef600eb513433961d693 0545f8cf0eb3b959d906c0b5b648e6ac3b2e33afbc0288b81ee909c1c6481a612e81e11ca79532 -197ad099d11a2258bb34cde121ecf57d0aa46a40f6d4ac2b193fef9c5eb75e68ea624002296a1e -feea62bdcb4cf6cacb1027a44ecd6af3959bb1ca3f3003ca6d31d2fa2797bd1341553fdcdce5b8 -451c06a05c51319b0b94e466480c39eaecdca27b7450450e07b36b3f21d91acbde566f3c6614c4 -d39682ce2673da8e430e68ddc518f5dec91db201dcab80e338db4f3f75b8774d72cec72d15645d -2180d8c19e27664fb1369aed2ae9a79c744bad89ab52f286aabfb72b6844c7b592646e47f69669 -cfd455ccad35575d5cd34292879dfb035e7373cc732b6fc20db941a67550027d8dab9fbe5bf9c5 -95efec75e3ff33a38b92f22e3ddfda2046878b476f14b129c5a3de0969f07648bfe06baef59d7a -86d619fe017051d8124a64df3f74f36e77ba65d5d6fe31a319fabb920026c9bdaacdb6ef5562bf -5aff40247a46825f500b2e3f122ba2a5a4ce742836d1d2bf9afa763329b15fe526f0c62c92f523 -2d7bf2b0150f2f0e357420a01289d985a4b7ce3651094f210df790a318c1056bf638cb4e5deef2 -fc2764f52dc679f7efd1e79a59c1f5b5677f188fa136ea018b52703d42b4c1064dd8af3b9bc6ab -3b05ccb2cb6248e11cf4d98d78eae80dd76164ed022c68b43673a80d0c572ac4293022a1b53c2a -fd10d3151622cda7a3e5f12379d75fbec220938f74e26e1f6bfe410569dd7c19df574028247397 -88689caddf03d1e23a49c6261fb5fe05d46494a56d24949a3ffcecd06f68196a2fd06250c679bc -0091e2945ec9812bbb9e1fa8715fc91ffa1244dfc2e5d8e6eb5ea71f7208065a3c0006a2003dfa -dd229e3ffd82cbea80629c8b10cebaf0e2be05309da145a55a2ceca88c0aa954113e059e229091 -c99dcbaf92057bc23828a19726eb16d7cc864b7f781e4b688fea35fcb6d96d010af4c8907da051 -c8c570486bdf183a58dc586b15cc927ab2a4a6cfb927294640bf6250f4219f5fea544d5c2ce259 -5fb387a4540dedae6de0d5a6481318521bd2853433340952c7f79d3bdacfa7eefb478579f9f925 -614f6e4b3a5784c2ff456e34c794595b227f11681812022529598d0be5d61f518febe9868581cd -5f502ccf71b417eeee37825541ecefa07c8667887231b84d868ec00c8bd6eb20abe61acb56a1a5 -6f6c31cec7a037de42f1eac01d1be65d7d6e2edce42912d0d6b22418b9bf8315a9151c54f54723 -241e83d879ac9d9c331f0237541890260b937ccec0e80fec184ede5a1b0bd1f51732e87074e727 -c5fba6d2b9381339ae42247732ae1cc4895ace21891d0e5b12fa45729137daebed1377b88c833e -3d301e8ce06bc90e41e6678e2b89d286d4946aa3e37136d428d243dd3f3dc1599a2b893c94fdef -65652109e346aa7095e4f4eef92ce81619e1a1d016c95593931b9c072ab250fb852208094b9410 -06f67836a7d20b461df0520873de2882f4d756cf8c3a06901c383dcaba284bb40636df51aa9c90 -4d9eac09086f6f82d051c284f3e08a63014f7b2d898715a08793b8904d5279819327aa7931c89e -cf6838a06018bf740f85b6de8cf89468910380f946786d9f9675f47152f2d078f6eb6a6dde6ff0 -b4a5b1f19028d5ac0d2828be68d92dd4b4c0ee97a68d6760e534722aaf91e6fb943b5c887165ad -df6fe7c4d63307b832c245827b227ca3cd4eb0c76133c87264cc7aa3ddf1fabb84f79ee7c34069 -1a607a8369f64d574795d3757a97916a36faf636488f2edf1005198cc5da225e0df420696e8948 -3924edb79841190f2371e66bac0b0e8d621d0d10d311d15938a2d6d216c859b8f07d01f4b5f0fc -f5ab60cbeb076ee4e5013c9d1722517a8736a85c81cc29d67a75e89a6f6ef32f6686aa843144ec -2a4804b83b732bbbf637d2fb12a484ae13daf30afd0190e8738e65cfe7d295e4580b8086e6442d -ebd223fc2cbef53c4703f98026ea1c6c7fddc52a34aaece51c956261ac6f7cb00e66f8ae086268 -d6293fb46426de2d2eafed09bcb52eb7410ec47e2de715b9a51565dfe7fe6ebb2007b65d1e7730 -419de9f3f2900d6bf6b26a588921cee52a7d4ebff59eee139e31d67018ac8844f9d5990a26729e -2114745a6c01bfe374b9d553888c2606ced22f703ba2d431d33732ca506be060e6eb754f8e891c -2f3bb7acf0a6d3d3481034673460b2b0bf7c7854144c357ec7cb4f88d7f07355530ab87f630fcd -d457b44439738d44b4dda7e0c44468c3a4927f09df3681577a5cca09a24bf0a12c5d1984f72b67 -6775cc3158a5cc5397475e95384515b5e5aa49fd75240bcd15355768160537df97da09905c0bec -0e19520e9dd84d8fcb234997a76f6fbeacd0c40f6fded726f0c8e5a91bebb20dc2fd88ff29bfdf -b1a0e37261d9cd115f5eab4af161dfbf4cc6e06f7f4e8238c30e466217c6ca21b3d1fcadb46568 -e33163f068f7d14fdf79a1601f49d0587fc928442f4674f4379bbbd25549fba602723b08a2bc2a -6150f44d390c2f83d186564dcdb7e42d3e94ac3601ccaa31d5ef30e24d8d8adc4e929cc58a7bfc -f3ad23a0532b45ff56368b1033c8970a2de1a5d4565751d9b5e5cb2c5d075df99c40f6a262e6e7 -c2e4164b8df97c06a46dd500246bc30a5b8174f4517024f1a4d1949d7eff2b707409f21479c2c8 -c8a415b1cf235d4807b49fee3d092c08a46b28ff9a2bd7ef02a7a80f6dc2eb9f07a2cf09fdbb4a -41f0e8f5320bf4ca6e84f8131d9c1658d9c3f3dbc7125228bdcfc02b5e3b511baf22c41b6d5d3e -ca04fe1cc5db93ef3632850ea0d6cd0c1a164c3451c57e0ef56b9601bc9b0b2628655d52b3fa5a -b67b76d9f52fea9ef89b2e5de609fc3b1b94e99dd3a38c4793fdc16a95fa816824b9d6fa38f870 -8169b8ed46a04a33131a0857d0496be68047444ec2b240f6f1b5b44f509299949886ff213d7dea -f0542932776d3fad306be1e9c07ee75b644f713e492e1dc6eac91174c4097e36fd383e0d026bcc -cfc699f5ef1d0b94b911b2d2ad0ffd089a8f628d902528970121fc35b51abe95ff58499e513476 -c85807b1dd3e48ff201affef2348900744c71b51174d5f2d07063bd7f730fba31f67798d5d8df5 -e5db1436f4d5cefe787157547e4d48979bf79f6eff3df6bd0890896f56f6dc75a5cb4b4ab1f9f2 -83c1c56b2c74b9aadc4b5e2657e118bb4d702b1521bb6ade9e5a45fd494964d898100c80170fb1 -d801ecb9983917c8efad3ea3a5ec403413a37f45b16e6c6d8eca648d7a1a9e78009dfc1626e226 -cac7843d73b06a9a64b6e91b13167ecfab70a8bd6995095addea65ac25e858fa86312a6ec0ae2b -db4067107c5ab8ebc973cd8dac6c66dd575e696d177acb0e3d4b1d037d60f91267bf9646ed899d -c40ad1bbcb75a0b524ae90becdc294963d44f29ae61299ca9aea79afd4db375f6be46dc1502f70 -a93a4f86c2b78775e59c8fbc5ed12c3abde79169be852c42fb5ffb10bbebf90bbb7dea2af9e37b -6d5da862f60fc21a246f8116565dcbba0d719e9640c0be0f93f1ef0cbee90c0cd0b577e20cd16d -c113b4d52bd1a96d8ffff311bef831ce5904ab2e69bb6680bf877c6cd5f609002899d436708bd3 -fc77e3cd8a33e94295dbafbd4f52a2c7c540f83f481f5ad032b5ab7f27bc98f28ac625ff3365c8 -0d59dd52ff89f6a93d978b666c2e12fb405ff6fcdb669dd299fdc89dcbf4c66b1b90c328768786 -4593940b798c7fd3f4ee01651249fc847db16b93d1a100 +197ad099d11a2258bb34cde121ecf57d0aa46a40f6d4ac2b193fef9ba956056a095b4d29114fdd +32ad4f1cb42968d0b36a8a923f226cb5ec7bf52767cd6e0d0d777cfec28d25f35000bb2c95ba00 +8be2e90e627777bb77aacf3eed7db4186dd84da4e877e89d0e4d6770df9f27dff818d78a93933f +19846559c91a453a8c4b0a60d746170797203c142323df81aad09f4ed3844358980e6edd133dfd +1f832aa5295ef00bceda71e1d8bf68483c3d21372d3f92d7885472a1f3180ad6cd72091ea4d285 +0e63d13424678aa9b1d3f2e1ea7f42eff3641cd49770a6786cd5b49e9d398bfdb12ea7dae363c0 +8c08213680b8bbe7ee310d3773c00049db35b46b66c43e2ee403e0acd5981de2f6896603072adb +4614d4fe5a443d6ad495341ac7510f2012c88bbbaa35e3bcaef7633aca680cbb979b0295fbb55c +31ad539d689e3e71555c10218f8e6ef6b94985459fb6f81f2408c59a4692041f6b56daea3577db +3bcc35562ef642564febe12e314602e5f4d135b62bc341084e1b1d3819a68d49c81270862b8528 +8e9a6a33b8c0d9f93e4584bbac42c06bd47fabe8fdb480085041734b8a3e87015a048ea8a5bd31 +6963d49785262777b391d311aa75ad3c4c074815e78df8dfdca58726619300cb8a2c847dbd3e2e +1ab2ea3f9bde1448ecc5aa4d2f0296182e8437e6b65ef6c017952befbfb2a3825821e02989ffc8 +9d61452333a72d7fe6561ca34b5f5bea5d456a0e93d25c50b31650cb2fe423f46e2a0dcf3c08b9 +131f06ae59690c31790c903d2fe2d30282a297beb5e7313b5274f487a92e4ee53bbe2a7b24ab19 +1ed56efb58f8f283fdc2324dd24a7cc42b1fe04034a0a9d593462cf91c9d83bbb3649d4b123671 +bfe5e55235a734fa949289dac647c4a9df6d25ac400cedba3725dc324796292aff3d09d108052f +232d32eeda3dff2e95336d4ec553e5b7b633842df8287e9ababf6663a688ad6c2dbaee35f374ae +853cb3e51005e5c46fe1cdb4cde6ceada8fdf7d18eb0312fee98a3df5caf5339f6240bff595e24 +e5946d3fc11af401d01e56b5767e3a182cdef6f5402e4b5def18a4ba9f36151c943e0ebdd58f50 +e65b249b7a07735a36f8b1ca481c0b09bace2f163df25f6f25f3585d54bbf85dc5ed83ab2987c4 +64d5a507a4845ad4fa0805bbeedccfb3709c3df7d589159792875662d674b120d43ab1b2097ded +7e35bd8b4d1f33ce44733d761c89d51f931274c30c6b87cff87993e5106c10865cb7ae7b3131ee +d046d0c477b2a9b45ed5d93b8615cda60e6e7598798d55d56bf0888a397e84845327bf1a791bcf +5b8aa1fae26e1ef0efb27394c3e277015d5a83737e50a35b56034d35d4efc713ebb34299f3daba +41d619b42d017a5a32fcfb655c048f531aaafc7abc06dc04ed26cc237d3dca55c256a3e3385a73 +37e91c213ad689c7561d0e2ceca7f65ea9f64f21b2a0585671ffe69381fba050ab4a4fc2b7a465 +9ef349b6de3f180387e2694ca97578bd962350a728bc003faa80c03045a2dbda2116f1934fb394 +a6c7ed604993c2d9c37e5e6b078f74bf6c0b4cd7e33073971740f4f879cfe170feb0b0b59ff872 +a82ec705585c9add43547da7b8bb3f6165335c2ed2033c3730414b6bcc73a6e1647e53fecb62b4 +f3fdf2abc1353694f12b6dd814af67e73bcb71a3ce556933dc24a59fe28b4c215985b32d92397d +5006cbf888d0e5dfc565cf8858ade1970110df2b322a2042fd0db5aae6fb5c3cc70ce4daee9941 +d44d8db984dbbc6adddee9cd6aafeeb79acd820cd00d1912dc389fdc5574ccb2ac0f47148d62c6 +f5a4cf72d34197a027307ed6b830f1ca7247439c0c7f7e3c49e77239011a2a41b517afc04b3b98 +632b30883d76ab7ec4c049e507937f2ee82090e0eab5e07c797dcae9bf6512bb308f437ce9af1c +c5082a2d80725a30004bdd514403dc7fae53694375ee9266c8ad29212db65561f7656b11d3ec16 +97596c1341f3129144eb56af0fea6f7664923cf9279322dc6f8e8689aee7c2412a9c148c20e739 +b429249bc22b3d382f20d0efae1e40bd985400386722ebf59a267f82735f7e2f535fecb8e1fde8 +b0e6c52094b6bdd45c4cbbc14d9a4b76ee74bb39735340d977734be9df96beee6101bced44740f +2bd44233989f3ef695ac6d594f62bdda76f4acac9e7f7500d1600385a6bc089ff3ac6cfe308faa +2f2f700046ee8b895c72ab77051ef3ab01bf5177281d6b0afda3541ac4bb3539b386b22d6032bf +0e621accadf75905ae3bb5efab2d0d1a3b08b42a94163a666eecfa0d21ec6e1ac3e750529c410f +c9f3ac5638f87727c4cf78d5c5390dd3ab614e121d9c6895ad724e4324f5524cfbe4662fde3fc3 +7fba7c2be98ab300a9e3995158cdf8f0f7a4c670e5cf92518a67dae550f452bc0c28be99a65980 +4f6e7c8340bdc528fffd46ee990a7434f5792be05468bae5b615e904219926db80790b2b1e1168 +126720697ef5dca146f3c9994931347da6eb4a8412a63f83f8015d26518f63510436c19c14bbb2 +82365413bd76bbba35bb5c0a75e22a821d5cf36e1c971abeb7074c4d8ce7d44eecd4ae25c63d7a +de163f7fb0af63e3c8b0b45e6dcd9884fd4c2e4bd1cad82c01b8cafdeb2ad15a966cc552de18a5 +68a4160914966756f07e75d1e03a98e9639b44604febc59b5514fc4904c70934e3ffc03dbd92ba +7327086e7c8b54f5300891b974e6d10265b9af769076aaf2ed9332a35c3be70d6d8dbdf04dd2f0 +6570c474b0b4b20ecfa02e60e489adbdfdf6e1d2a41e04b3e5083ebdebacb0b548a3999656a9ff +befd9c21cdeb0dc86f09270ec0bd7910bb289745eea8ab90921e8b849b1d09df98d3114f762d8b +6232de44dd46c6a0869243e6f6fae8531c74225ce660588c3fd44a4aa9ae8549316e6abaae200c +11818d3575fb130fc9cc32c9373932a48cd97de0f966ce82aabc5a5117ee56c89a1fa350462403 +9f57e7f9cd867b4d2d8f0dd78f4eeff277d6b39716429a38b777f303d7314192015ad1e8442ffe +2f67e1e7d476553465eeb8227e20692f0110ea9c070a23c087924cff683e33616185199ab6c0a0 +3c90721a341fb9ee44a77c6cda0e33b089304fc40e70d1c21e744d855cdf37117533ac09bb56e5 +a94c7c573f0711ef2bedeabf5645dcc7e9b65bd6c33b18c633975b688bb45264831b376d5a6d92 +90feaf248daddaf505f870c2f8248c6b80475ba44d261314f83e900b4bf335d426aeb3be57ae1f +77d7096eab784b2f8e495a9a1573cbe6151d27cc00fdf0e2b7ba522842aa5fd8263e309e9532d0 +5179b9bb3e05163ea4f8979a0380331891edde26af57f35179ae1937483e132a2765708d25d15c +ba5ac46e14dbd481fce426f5d49e6130d0671e325688a793e60295d3dfdd7ddfa9b07452c483ba +f52458bc58ff3963662656ede0dcc6b7ce0158e5085b30d58aa993adb08948d7ba4eb653508cf6 +55c63b61f36525a52cef251e7c879f269a29654027dd8ef182a451313fff02bf35c4490efce94e +7ecbadc2b285c8149849e073f4b49e63ed842c142d60ef41be2a037a6dd0cab00e80f2776fe581 +463f7d0de8ac6c2bd95f34163d354526ae130269972223b58a493cb440ac011944484c420211b5 +acc1c2b821e8c6879cdbbbec2d4a461f3faed8d4c8f6705768298e449a4f4ec63861f85529b4c9 +d9299368ae44cc19079ff2538b82ddcd8f07e7646f05ccbd35a7700ed50f9acb26dd0cf8560a15 +48abaa4a48844e101a67e6ea82d49856d221ab6e3900565950cfb76ce6a40417073363606c8f17 +7b986571529e0e1972ebf2ab1760caaa5a14c9ec0a58601ce9384edb64f64e9b01f2d409170b6f +38ea4ec52b19a1bf20b372eee3248e3975945015f04fcdd29a48ed3a8a1bc5af2b63eb3a09b35c +9ce11f832949cd64fee8c1e0026a204e69c116eb75b152d32ee133772bf1d7fd2e50806f5517fa +25fdf50bd548bd5835cf9594ba6316514793c89d924bc65029d709d7c30428c077fab1446e1896 +a5666c04248b76a7561120ee2fbacd7afb539dcd47da726974a56e2c146ab3149d0c1a324a1809 +17053922426e415acd6ed120e35a5f0f81b80c9d0ca52fdbe072dfa3d4b1f425e335a8791ab3b3 +f94868c65709ec330b18a4337303ce51d2edd4ba67a7d57fde7dee4cf0e99db0dca863bc236229 +f6d12081e1ac8bbdba5a1e91dec872d6f1f45611bf639aff4c33487917e6cb09dae642179bf767 +431abe3dee30b0e03b41eb3d9701876eddd953b63f9669c891b3f60938b639750ff981f565d43d +492b957217b178f2d016c4b9ce2384937ce334de8835b7561f28758d17badf89e4a1ed5e741c53 +a47881f3c2c6333de9ea65dfd5115973b4cfa800518f807552c4052ac34addfaef3d69f35b215f +f2c929296ba9b6fea48246e10532d6f2a352e8cd287c206abfd5a1704e5bed4cac463d3cb4d3aa +37deed1dad1c213a203d97027851d813c8de2d74fec70365fe619b96a61d68594f1fc860d90942 +7736dca1f88d8212aa614e240e4db5e524ce9a6a2fdaa318db86416ecb831c61c182ec82aba2ab +3b16c67ddf7163f202ee605d6caf942bf085dd29757123f127a8b154b8c295ef987088f97da081 +0f6172da6c034e3f3de785da05161f644f1a09c3b881f6ea08f6d0a09b82853e3439116edcba54 +96e345eba7687a6c9189d1328375c24786ad46e5e6326ca35ab9a0daaab222788dfdc245a0d985 +c4e91575b570c02936662e61e97b5a2cda9f99e26f9791cfe5723eb4cdae300589046d29896e8d +8d33a3de7f5f048ef4fac4da49f9d8b0b3fd738d0a3971f294b815f5e75358a898228d85822fa2 +45c4cd0cd1052ad57f246c9431b7c78725dbb07f838f949d11ead82c14328efb916cf5b9f18e37 +e79fc1ec1c042761bdcdaf1ab47b504908c9013f7ea391c8928ec105b426480efa3c31d397a071 +3012a77b5804276fa4bcd1124322ea74d52e2b5b584078e3ccce2d0f40fcd277f668c6d9927d6f +909ec84bfc3741ca85186e8956b6cb9488b5dec698206e9565eac3fb695864d54bce1a36d8bd2a +1c48defb4bd679f8f369b94ac15d157ff7a788538702c731d4ab705a55a0a696110ae5cc3fa59c +40d28bdd14edab42edaf01022fb87aff6336a1d1d71ae39f44e65bfce0d9ef1debb71550c44e5e +997d9ae4e712bdcd486e5b076d268dd589c7bf7d6ce4b1d2f558a64cd9c5e3661e7abc561b54f7 +708eb7cd45d069eea6dc372b61c778a71fd34c27efddfc7a18d8b2003cfc29bc66d78909a0e1d1 +2e61dc550f29956e8ce6cc8ba3fef61b062896c35b997f9cbb5698bf01cde181796c9416d2a669 +779bd1a7f58aad4f2568c2c42cb71447d4e6e286932c403a02d6cbb65480e19e62ee86c3021b14 +30bae06c7b94c7d2e714ef662e6262c40edc8afc228d988e91af5e686bb6f67d7694901ac6e6fe +51a58f1495df992bc820ace687790eb79b8cb2 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMSY10 +%!PS-AdobeFont-1.0: CMSY10 003.002 +%%Title: CMSY10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-4-1 def +/FontBBox {-29 -960 1116 775 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY10.) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 1 /minus put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b002413b5a82674703cf7ce9c37d14eda0d728563f1ba99 +58598f07f0713415830399237f6ec1d586178eac242c1895ab21e11663399e818fa37b5c425347 +37f913454b78ce7ff1acd6cdeead11fb4ae6b3f8a0068fde82834b462c67f14c6179b4b4bb9681 +626bd7a886d765604d09e3e127dcc90912095752d78fbb2a5901ecd2dd2395e369cf847b8205e6 +4dcbf75e7fb129b6ee831842f9dbaf1ef8ee75a08e605386c7d3a3aeba2f59347b83c9b8fa11a1 +c12997ca63c53b00fd0b0b6070a4dc7928bec2ad267c002eca80966b746765e2c0c369ef38c5f0 +4438bb5ad9bc40530ac9c40ec2d3f4ce5f31c558f5b77314dfdf8527a02fa92582d051afd7fb9e +fb7c952c3496a31f3ebcb5e15925fdb77cdd9f3239d37ca751d55b1166e641e858c6089d9e6baa +9966c9c8c96cdaf01821483b83590d30bb6d5e2b99d9cace7e18af12e9f1f78eb2477e5e386841 +d57c0d9bf03e1d299178267e93d4174d08ac361c5847b9e6af009efb72cd9a7ff4717f330ba422 +c571d25283248b42e845f69a1c061b641d4d81b95a5bd0f5659b4e8c6eb525c4c84a37340987c5 +bc6bac971074df1e4c21acd41191d7610eb5c2081219d919bbaaead4a504b0b3b53411ad3a5ae8 +217faa80b81381748df4cffda026b6801fea76a727b4b7291fb0196421c67cb4f7ecb760cec053 +983ef6524a1ac654f4a045f29a00877b07ae45f6b842fc2df2dc6ec23f8180f1da035dec8d29d1 +4c4cec402199ade9a4f00a0902d5cb61a01d6f1e7f490facd41a8301f74599858a1f6af89afc1e +ef008aaefdfdfef8e4318939f31e3087dd752c7867939dcc1db5eb56ffc6c2c3d837e68843391e +9a1357e6c13fab3dc5de6a370bde7ba65231ad6715db5e7497165def93b409211325fb26e60296 +02226ca45ffa6e5f8e2641e2b8a144065173a9956b8a8324880a8befbbe2c4b0d20aed981d75b6 +006e2eaf80c972a66f7713c83c65f66de15df8cb3183f60eddd35731e4033a5aa2981d037e3e36 +65d2c7db8b2cf0115f658cd933261f0502602239b6c5e3c4d4a7773831b661483e38fdd40afefe +787abd757aec2a236c95c685cd155ec9d72a42a9ea134d1363bfd231cdeaca87d1ccf0f162b739 +2c2bc97b8765f6ae4e5ccf6dffb7e5ff3ec5305a8c5341d441990fe20ad311566578f254ef9ffb +268e00b26f767dfd60ee59e821885a7ec6f2c971326f067d859ad23f5752044f46b54259521bb8 +e671730cd74dc29ebeaf41e2fc6a415a6d79b385959ae4648fc351fca7333d140ad9a898efeae0 +e8edecaa5e9b76d29a3ae98d49dccdc7dd06447edfbaf5a6f38ca99acf4b0a932948dbe3fd948a +b9e410c6aecec9ba9c4d9bbb1047122539a94983419dee5f141cf27a6a2760d31653927d0220b4 +e2cc440e5555ca9a21bacc3569982b513803c10e22ab8f6875f35b8291dbc4bf9d8f79ed45c8f1 +3906ed2082bf5dae095f1c9298715bfaed7c577acdc0d6a9f589d171fd7a283f377177c60b313d +34187d5b4380028841d107620b892a2b34a98bbf25c8444c7eab48bad2f883d385251c8eb71fca +21554c9cf6cb3c7bdf10ceb0348033a802e8894e8d737da6dddd57c7ba8f697f497da31bf13ed5 +ed203587257ef50e680fbb873eef35ced216621b1f4f506782bb42dc9828476612fc32a4b1d6a1 +547f61c6b9258e943090e281efd76e15ab6dba413e3ebf984544d59e3f6223ff87b2b26afdb1a0 +faa21361ef248689c721e2fa9d5f20f428a0153f71d5517e00e22d3b0b2bb15814d411a8d6aeef +b18640a87ead4a3041844042ac5adaf93f8075fc9cd599cfc0467725f6c14b43dd5ffc1b0f6c9d +0cdd84e58ae4fcd198e58ae6aecb482ddea6b0a209108992606235f07cb7d3f7f0ec31654c4c19 +ed32e9e1aa618a8015299f98c99f25a81a751ceae2f181c0858943dd674da8430da475b5c9849c +3818357033347bf3126d6afb4a02a1efb8a9b0a2ccc1c04f295e4a4fc641344aea4fe44e20dfd9 +61a40d44a5de60d2165714f04a910e1b27b26bc5665f3ab5a5966e807da10cfbd63a8e85c7ce6d +aa19b7249cb426e1936d1d114a097a461d53a37ab0432c2423c5de6c0939899f3576106b6b32a2 +6e52c54b0948700bec034a55c4d65e131f4bdb33eb107bb7b1c78759fb04a7ba030eee5455f06b +8175885cbfbff196bc90fdf72289ab2437b7311848ed198c2995cd6f82a23557eda64e49169e64 +8f48b089fea579608970bbfce38840b035b4fd645cc52dd6ce2a2b9c6c474fd073c2ad1ec75f64 +37d69e09d4c5b08f83d87f83895bc4c26243d54f92d95db57fe52fdd02748bd44dc417879c1976 +eed767538e2d9c46c4e1ed5d261e0133614f1c5ed7995bf8ec717718235a0954fdafba845ff9db +c440431e5888a1240c24a6d2897da181cd5f93d49a6ad3c07193d0c3baf731aad9b310bfd477f1 +9a692e49657535ee11e7fb6e372d69f93f0560ca4f50d2caea8d1881dcb6626d0d5bea918e350e +6f675a6c4279fc89225d9738c8792eb6221b6622c9e2f1d3eb8b83f2604e153e387da5e82ee2d2 +9f86f780048ed2e146882e479e2c68db2f788dcb07c708720b98b4855d7fa178ad1e0122ddce2c +2ac5d69dbdadfb43fd6a01e50a199086cb618efbf9d83edbf78fb50f642590a8c71e19278e3213 +a3d301397820b319e83cee89c9fc5171a4971a5d950b242c716b81dba17592e2b0e9ec8cbb9fb9 +a501013952c33fee8010bd69a271c8790c26486a87b2fb7b2374e393d07b045b6d2ef8fbe9a08f +ee0c3a4d43ba4183411b4fa7861e26c404c1c95b28e2b51da93ccc20919912a133b61cf65e4c33 +4f78f24707ed08d8a6f3d4c5c9c2484188eaeb07c3a57b37afc84bed975d216bc1cecead576371 +06bdb6d6c00c261816ea0dea601e37d35ab03f621d0312594b4f63902999d093c093785c51230e +1d2b590cbda040308109fed700bcaf80a738e59ed740734a266a5c203bf7bf90fe06430a488343 +a1413a3e3629e0a2734dafeae2e782d8b9adaa0171dab586367b7c0e07a5c42fad28174dc318c2 +ff74d46d479cd90840abc2b008290e30040ffdc2c50d839f6048003d752173879b234c7dcccd36 +4ddcf5af058a653eb0c2e10936226327530a79522eeab228d77b277ffce0e12d2b1ddeb2efe21b +3bc35dfea8e2658f5f82aecaa737b9a30d6d9a930ed05f6fe39593351eeb37099a49985b501973 +4f11e3efe47b45623d6d8feb5c8bf55e01775b341ef32f402b38a61b398b3e3fdb04cabdf630a8 +b9dee97e2db46eb4630e07f5583d2a7ef69bec877b07e18a889050d9ae75ea5f7f68d829ff0d96 +8e99e3619edd05b8a23f1afec2cca115557ffc0577abf8d080eb5498aad1e6cdb9ddf82637c51f +78d2e7d552f2f1b68d7ec1c333dd544465b7f9cfc4642b4ce4edea2a3ecafa10c4994f9b60234c +854582c6beed25c3eba39e1e79d1ab411297334199f98bd9e07a41aaeea04cb8aad62101cb70f8 +b5f48779f914fc6fa3f840ce5e741ac4b913f0abffc726cce2144f7f6c4e38abb6a893b77cab74 +044d06c577fe2ea491f1ad1cc249b0aef7e91d8bc289b97dd4bd5f7abed8d4fadb9ae9bf2a44ac +5f2853b389ffe95a6799d5b8ed4e73e9507432f758de906cf9140e18bca035164435045ab3c2cb +31c252ac4c9ec90203c939d9d6c6e7f9d14e3ef37348f00905af5380e0b8cea678c4c47fbe9284 +390559e15a5bd0a4ec0d7fe9258da994baefd7fabb7935475cca76173910ed94703e5d32139b23 +eb6b4aaa1b972bb52bc3c156838da106fc3d18f7101d51acdf1c0cf7dc1ec14771ad8e0d15f8ab +de8541f50f5c1b3c23eb9f8fa6ca92dc4751eabd3035e3b59140a4f3ef4aa53f1ff9c2872bce1c +a38099fae2f8563b522bc717f24f0a1309f414346be8c6e90f0c427e30c66b50bec309d92db6de +dde365264f069f6edfd63d2fb1d3f794bb63c1347ddcc283a53c405972be1b6644188d5a71e747 +08e348699963f7cacedd537416a9f3e10b33fefc00914efb8d7c5da8f19da6e79d85ac2476a21a +b6439593e1d20cdaa4dff0873a6abfe48e21625f048e6b093b6b58ffb1cab49fcf94254747daba +079551acd3416ff11fd1330063d5bfb924ba02e1a8c6e3008f1a3dff1898de839e6b97f42ee7bf +c47e07a7c47345335e8836f6ac3e95b4d3eee4b755ab17ee8ccc6336aa9c404336f12a20c538bd +3715537a18cea99a6246a2f13c93f30f8080dc66e3b2038cd4c9bf0d6bfa0dedaaf2c17fc8373e +d7999be26de4fb74dbf9a718806de106fe4300b239bd86617b2314ba01f1b8d956341a28893527 +ebe424ae5b9b1ee4ff5a3dbc94b9747830382fa96ab31e4d21ae01f2e3bdbc868176d9e28c084e +7652972bfe753414b020ed2c4ca233f6ae2c83c468d63ca4d8c21de882ba290aa0a58130386af6 +92c92c62c94c6da5daef8ef5e7f863bb5a311bd29be0c6a63f02eb2e711f129091fc4bfc0a4a56 +a164571c6a2c2f2edb7cc7eebc93bfbae8bdc5bdca5c0451d34226de28c2984e92b63a77616b9c +0175e920d4b9996d0b2bb8261aa07f8f76b236729e3495f2bd40b1610f777ac67e5714bd22ba68 +90d365675abfe3055a1a2f192d1c3b39ab27833b8dc2ecd8f8ae8a7308b8e35b725bac5ea044d1 +9224dd0606d668f0c05f7424096027b7b4b718969b9700a669775ef04851e76c5959a463d32456 +1582e3d654d9e7bb2fe647646b9e32bd3402eb2c3c37a623bb0175d2b6bb50961712ddc56cfe9f +8dadfcc87adc682f70b70808e26c2585426e69e2cb813245c5580f3d0704ca852aabf1d231d8f7 +ae91f26d8648c2644174d40410040f6e4a53cf2c854a1b3633c9e3c3d779fb51d4088c2611bcb3 +516959993b4ef00feb20f05c224a75dafe55174439dce89213b7bf41bd4b806952628d7743f7ab +ef193348c006cd5ae3f457c84244e205a085502520e9e49e384f9cd086ba7706f4760f4e333c26 +78dfda2e9973e3bab5d1fcb31d73ece1112dede1a01e65e97584a7f7441451f2860e015e98313f +ea79d5d2b79d56af2df070df527b4bf1d6ed47fd0033f957c0a3e7e4db3adc77a83429c452f7f1 +ee7ebf508b6a82ed5069265cd3dfcbc8d509fe7740ed722a82dfdc0babeacaf6d02f41ab2b0f28 +df67503195800fe743984509008820e9be9a5c6730ac917fad1e9e52518944efbb664070b7cee5 +b4a571bebf9f87488b728a60e601992cb4066cf3da3cba485f4f455cfb02eb28ed3dd289b72199 +518b1514d561f1ce23c4a736345d86e08e5cce1e62bd7c6aea36ab0dda6cfc79233c88ef5056f7 +3a9f485bce79a3dacb54941c322be5fd3ae7bf683a47fc08f34a6763843dc1d29f922051bac176 +1b314a4fd0bd5932d98faad6a7dfb2b99d3caff88fd7e5827771aff27c826f2ef81ab07737aca7 +734f33486c879b66c82146998fbb656d588485d6648646cca16549d146a5aebc34816bbcff79c5 +8db9b92557a09b8b9914b9a4c58e4c9eb7f083cd5e1bd8437ef561fe3d07a502c741d424cf2f11 +353d7f303fb8b78fed9c9a4b05a00126fbdd87d3443d2dbd90b18a6494bf38c8d5d6665c7eff56 +4c06878968c8b2856343668a123e41c66e5acacce149f5986319393d1d2d1da343f4b5d57149d0 +52fa1aa1082e14035154fd511e50fd483be17505ec9d4ffd6e520e6245924a168fca790a640c8a +54bc6fc5ff0846119ef4d49f409fb0ed103cb3f94689843713a1c8cf9e4694dda7ecceab785461 +291990984eed9c0f1ccd96dae92d76cbb30aee441b8cc6f0145bd9bc425eebcbd624723dc05006 +c13900efd7937b732dfe71b75d588bcdd18f889eccbd7be48fe2760b975d3fe8cc10b217fe13b0 +79e56ab1fee024326c791f0c12873349355bc9592b81e677a7efce37218e33509cbc8873ea46c0 +e73cf435229e93e7236c4d0ef8aef87249b1cc836bdd5e9a08cd6a56d692156b00041fc677534c +5ab8ab9dba648408dddd71d78310d4609bc45873fc563ba85be8d491d90290cefca96ccc24ce80 +462a418c7e9aa423d92e6d41077dfcb76b54928fa6edf6cb3cfe0efe5022c6d122576ff3f82d80 +65d952fc81c7ca98f71ef57b11b12e8df2e255c987b469fd936ec5e289d13604e2106dfabd13eb +55bafbd7e4ada7c2dd0db0a96f961ae28b3f92330230b12703aa6a548077f8e12b0ea0016074bc +4ff072a715c23f2884d1fa1254a0888bc886c3f37c55337a53e827c05ba8f8878761b12a136a31 +e20203eb926563c442a488da4f486ce8cbe59eeb4a7bc54841be391297e2c788bfe9afdc8130b1 +21959898690b0ab32286b2044258c361109a80571b0af852afe350b9b0b9b15c45c45b2c2e87f4 +2ad31870563e06e94a14af0bca7ea17a2355a703b71cc9035ee1dfb8b2700de03dff038fbafbf8 +d57135ff4b5bc66a35e1ae4092546ed5ad09ea2e0311b894bab5cd5f9a7dde0fbb6dba7b128f01 +674c24c78891fd459355d6d4b0a354bc4ecc26a7b148e595b773aebb6eb2728c0e601e375ec631 +97d364f2571321b60b6200e6827aac93e614dd827a19387bf3a8857fd7876a9a7d5c7a8baabb9d +552a8bce4790f04402e2fb450f59d173942b29ccaa681d61b8939e51bb4b8145de386943e1961c +341a53a670c67b9fbddf1c504b3e54266310dce9fa420ad143bdc654940610d98702091743cc9a +bbed7d6079381be4ff8a1c9f1b01e745f33479074bb32eaa0f475d3de6402f25736aa8594f3ef4 +6c72e685dc4b9e5c19b3578ba4c9979213a2c8713b1ba07a33b789dda22815bef26f75afddadf0 +8c8340e8c0a9aae9ff45f0b2d6fcdef12765e9764ba4b2b177c70a17ad2408bb70cb40fd93e41d +40fbe0780ae9e7c12c12863672ea5028941853a5bd3423a630a32dcd3863fa3c11b51b7d43ec32 +8141073ad7d3ba1cedd905178743aeb89f9e5da7a83315eaaaac1ce1887071917c0f25b58a51e2 +6764b985d2a4f2bca30f09ee6e81ea7d294e3d57f5522946117858f8a8ff1e6028fa8d462b5b4e +c2b4f2f14ef5f8b90394e9163a8a791552435fd9860dd0b040e147dfa02f45750dc99a618c82c6 +34d82a07420deb6bda90681e9ca80f1eb9ae44a443842ca4b7334f101019de241ffda7865dec84 +663e1935654ad9a5ba348b9959a671f893e5844c87c0abe5aae1e8846cdad77099381a06274eda +3addb68fce9274ab41e0dbc39f5973c63512c60606045843dff155b8f50c8db017bd06bea58219 +56a1bcd7f172053e8f73db2beba52d41d59596bac3c6b1a283f625b1a425e2456fac1908ab2761 +cd0c51c6b0ab6ea432b38d3248bcc8b5c7eea41397f9caf5a1abdc5cbfa504fe98f9bd21aaa95f +378c25f90d289be77f5eb301bffa7c5649d9ab7e9c7bea674e0cb1acb6a976c112c7529aa35395 +8fa6b5d7e73c53291b5991e3ee226bcf80b7a96cb375ae3c5619999e19159f01eeff944113caed +2400bb71e3d15b16ac4f76ff5afa801ff6536faefec5ead54dd81ce8216b23f88058b3eb15cc82 +7921f713d4e017188cee0286a83fff1743cd7d1113b86da4c22989bdb574d3bee750f4106004dd +283d2cb6c05fd1e609d2428304fa35d7cac07ea884bac8462da0093f31acc11c86c842faf7c40a +f45da3ea26f51fc4bbea9c9aae9a17f28132a3eee2bbb32a0cc72b6a0174c7b3f8235f2bdd6ea3 +35d899f3c7d62584012a46c14b9f5522ed20df77c7bf3559b9c7715bbc43c03ec8e16cb6432927 +00967231596a899dc476d374448477fa618d960f7c9d6736c988bc07e2bd06e8149d4db727b438 +6ae9c11ae1018628f7d7395d31e7ac565b46507d5e40bc59bc8de159ff4c20cb134af4a841ef1c +4417ea483f1eaec6446c149e9069afc52c182bdcd3601c69eb5f2048fd8841c8f2ad2469815377 +244950b430669f8630fb55701dd29852ecf742b9b00b0d294fe611df899ee8c2cd56660fa3c21d +89ceafe3e98d5590db24410eb8c957b60ae08da657b5f13c9a4beb44154632c40289b074b5cf73 +66b95d3649dc1b17e04f81b9f8017dffeaef852a501f3f5c46e0bcad3ad3cb31d9b34d7dbbf9d7 +84583f56ac930160ef525bdadad215f53390bf3a8042c2773ce38e1ec3c680bb69b7eec22012a5 +46491a2f740ab40ab48dfcecf2019b5a3b8aff286dda686b7826c7117a11e7e1451ccc1a573bae +1fdcb9556015babfde21641a44729db8f1c7e0837f78b569a48a1da359c5a1a89f7045324b4aea +ff46a4b8cc75f633605b8fe3ba5e2d03e001257f3c2f9115adbab4ef0a5dc93a08673809df4c8d +40b210165b9b1f 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -799,7 +1264,7 @@ cleartomark 11 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /f-3-0 def +/FontName /f-5-0 def /FontBBox {-34 -251 988 750 }readonly def /PaintType 0 def /FontInfo 9 dict dup begin @@ -986,25 +1451,227 @@ bc3aa2afa6b6c24497becec62fe40ab5fceb6eaf23cd351f5bc43c767193b2fe332af23549ae33 0000000000000000000000000000000000000000000000000000000000000000 cleartomark +%%EndResource +%%BeginResource: font CMMI7 +%!PS-AdobeFont-1.0: CMMI7 003.002 +%%Title: CMMI7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-6-0 def +/FontBBox {-1 -250 1171 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI7.) readonly def +/FullName (CMMI7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 106 /j put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203e4c32daabc53c5c9176259f5577f448eb04 +19fb1f995e26b695448ae1b5b4698f36e180b5f489925f090c8c7a950833922d9cc464857975f9 +f32ab824eff4584575cb2826051232924d9d3e7d73ab1273b03ec3d7c9eea9c8a55c4b66336e32 +d80401bed0debc4f965d6c4aa76d4db6713674f559788557528b2ee7e9d12075bbf0dfd327b427 +c101a932de4f1af17b4a7afd4bfd1beb04a9e165fcf9eedf112b614313b4f4c46fd95582aab8b3 +3b74fe33bcc6ce01ae4606b8199fe9e9dea40c8015c3bede3f77f31b2adf122ab542d86836f94c +683abb9ae9991ce6f9e36cf35acdefdc4618476fa5d49f444c55d10e052d62602419dad387d129 +66efaa68a6528aca9fbc2fc910db86d1482d0f54a60c409b0f340e130508c53b822d1b76997e86 +71be9537e48c1e20e3d017f40b7409141c88513ea8734a87c69af3f669e1a52367e9fa052cb5fd +31c984f11cc12432b596d9b851b87a83e10c2e201f0a98f929fe90b413b810ebd4b6be0e3354fa +249805f489868081c5d5be0739aaa4adeb88cf98457912778ef57b46563c1154c684f5b8b3ba96 +efba33ebd798baf4af3ea237690644943774eea53399c49c0a2ae78004a98b9fa3149e5f27392b +79b585e22946ee5853d5b6863d344ed72fbab2da595b54177a867a163d0f4fff1831c3d589a918 +47b2d7da4e7c1de71b807c6cbb21a7216097213a1b417d50ba3ea708bbf8197adaace2cf367f56 +34cd5be3224deaf75386e9c177f6894354a0f56d0bb788834eb4e9c12c9912f12321e17e70ae1d +eb9ebcae20462aa03fc8f6e4967a7143ab30c947146588722758be697bd10ef2d9d0a7f1682c89 +57b68f995027f1f0aa914a71f3c80d3a9cfa6e1678b4cb851b1543c3b681551c51c324b5e98004 +5ca101e13d69768ed2249ff39e8fdcf0f33c7d3dc9a9d13d24a98d1e4d79b73c34b15986ffc4ee +b66f9001888c4f7e4c43da890b62bc085171800787200358a12bfeaabbd8d18213fe827e2aa58d +1dedc5c11201b4a1473055bdf6f7afcb5d88895db6feaeedc0b352fcf1bcdc3cfec9297c347d5b +a699075f075d57d8fcf2bdb673b5980e89d31e497e38287c2dce8af698c74db56c87f8d5b5366d +2f92bf11cfdd814c1f90aa167d55274974bb5462c699505ea4a3c3f655e4010900cb5b7c4b9015 +cbcbb0426692a68dcaac3a9c935a2ab5b09b2afd24c05873a6a994ab78e1729b07e2fb31f1c32c +13e2ca8b46d24924f79a421f09594eb51dc155b86954b27ef402e2c2b398e876f20060416c4342 +38e69201f4c996fdf829926c5b66eb5beadfcde7654e95c827c7bc0bc07eaaaf3c991751ec1568 +e5ac5462b00c4caba3d09818dbad987d072147d3b7cdedd924472dde17d7fca3fc451f4e2a1176 +7370a463d6733e2c22bf29c23540e797ddcd09996b170945a2ee198991b487af6790303b808d92 +b6ff7d79f94890e1b8eed22410c62f0b7c9558543074a2b0b17c398ad692a845181dab820b2a6c +10818b77fe742ad060e7adaaca5613903f560a5adc9d3f91666dcad54958f402f7e9315d9c6866 +03779b4bac622c66f1b55ba1f089e7a5250bf1af9d97928aed8d255d9d777d6c6522bfa89a509a +b3d62a94db8a5e683838f03d035b233c9bc54f45d36679103ea250971d8a0fb7caac1eee9f998a +00d699503e1901f85467652a3f600ce79152fd73cb9c8b9cd2cfa4ecf1ff0cc0b6ce2d74d2050c +3a882090cd3cd026abda7e9a0fee819d2e72415ee599f884e09a98f4d61312f2a18eb40871ddd7 +2495c517fc56a41aee6a6b63f27524c185a086140cc6aefb66a85851e1ae975472741e15d5f0a8 +9abd0055f02438574d3c265ef08ff95a0a0c242539d3a4f823bfba37f19115609137e8d41e9771 +d0d159f9fa9d8bea4ad12329fc048f9b878f80e09e6f0a602ee1898d518ed8d3f5a61bf6bdc840 +653d9f3422896e05281332ec9a07760ef4f75e925b32630dfda0683a4ae6cb13611c17cac78c03 +94493e7c2abeb5d3cb24ff28bdcd4fb511220525474acd62afa3e66498d3e51be4c9cdd9e68250 +2f0dd62d89bc601e717ccc7d1471d3a12fbdc14507963a5c0cc980b67f5e0acbf1b752c52f3ca0 +7470e3453e44a12a0b40fbfe8da181de74d45521d9ba48731a2b4e885d5c01b324307b78904d87 +7e227117afda55e2eb038758fbeb8e20088ce203da1c6a14c700859b9cb0a3034fa87d82309a5d +3ff801773900a0072c385b4963a806bd3e1992e3e7dea99be56bb415cbad4280c85d0dc38ca0da +440e9fb1d2fb817f10a0d57c2e452ae4b17b8566ba07eee03cbff9549218909e8b63923e9219c4 +ee2a8f50d914a0a4b960f4a685781966f7eb77dac76f0963eef5b519761014af532fe5e565ec00 +e4f97d80b9257e554f9c7638eb3bb17c2f4b74f9b0cb11f6c03396771158833b27f3bf417c725e +e606ef74f8095596f4a73cf0d219e4312a52d9c06c6ae8ec0f40d726e9ecedf7409128752f75e6 +931129f4dbbde68fd333c9f64565891425fa5d47d07dbe759289617d864d10acac1b5035cadb2c +3ddefa26fdd9dfeb3d2fdf2b3a4aae6dbc9d9ff26ab4eba2138fc1df4c2f32d32d1cf3377b65e0 +e7c06cb3101e9c2d151a6bc9b456a93341ebb19b4769cd684fc4c34e4c6da53523799961a47a95 +8422545d5c67c6edd4ed12d5c61dfe7b9e42836988de2e59ed363060482accc2a6a60a12c99902 +0d981869a21e1a490f6783a1777d0678debf8ffb6b32f34128b2d3aad6a335fddaac7103c46933 +a0e2dbfd880a775363803f6fcc8c96f66901fd4ea8402ab70fc1c142b89a6068e3d29f523994cd +819265669f862e19760bb245546871387529a04f3cd3d3ec00d322926d44205a40a9d57548cf19 +e0dc3cb2586a72a5e6858677bd742e8c1887baa42b8ae6b1f437ae8f300de1f4d8d1281185134c +beefbcc4c896702098c97beb961f1cb5e1441d3a4ecd4c490880dc19fb0df736069ec3a72bd077 +93b9b4495c6a55c9692a0b21a720e7ccbba8650f3808b72283c45dfd7811f4d4e794d455a8451e +bdfe9fe294d14e2353ea9c00230c5285e9be7f32849decbff16451e79e052ccbf956383ad904c0 +9bd34a1c61423400d7cb02e88d2a908fdec9edfa90c981bd5b540233f737634906c7079e7748d3 +7e00cd7944c912311371d4189fda2b4f48645fb7914a7bc2563df97a7e431e52dbf105c33dbe79 +4bfb3efb203752d30889ce61e1362d030c23a32102faf1246a2ea80449b6a3c280835552118b20 +24a36dfe7e793ed933a675c1dfafe1de9e29d3aefb9d03195e45380ef9abf17fb624651ce0dfe3 +4b72c45d688e631b355b3fbb5c50811128a7480c0686f17e651b9ff6b869e342d882b1f216fc13 +590cb94534aa78687ce45e6d78e79ec0d5ba5496333b0c522afefb1b5dd43e468148ef57aaee3c +00ab23ab9b0d0c5da336bb363d432360f899f9dd433f84e80987c60c8091a67c4fca76db876bff +181bb618327e68c061308cefa0a3e5a794924428796f0163e4370ec3cdab1ad1e1e9041d4cca8c +e250f79f5e48ce29605c0f37c011de30599b77345accf491538336847d17d71d7d25be9a514bcb +b427a4911f963cb38eb317e183294002f8c15313e89f584a9e8a0ad7f9693f14e29b49eca94b67 +8ae0fdb4cc64ffbaebe2aef08f7d8d044a81d98056cb92b8c58e455e878493dd97eaab2b7f12f3 +36578cbd077d4943e10468a24678002c651f408e40dd6b27c32015757b4243215809df1a223cfb +6fcecca001031d668ab13dc924a14998cf2a56f06870f724921f5ebc92ef3611cc1672298fd561 +22a71c59d995987d736ec5a23f04e066ceff6a0dfdf2e39451d8643b426463d2ec42002828ad8d +230238c46ff88e1abdc857e3d836418b59cc21e9353c43e98f755f1208871d13e3bd1fc78c0d69 +0d32951099cc3cef99d26166c3f46a5f14b8c9cea1d798e5437c34ad87f4ea4ee8a8c832adbb78 +52b95dac37b3d133be93caf47b6b23fed161719a0444f1d7f7487b101a90a5acce95a06e8e8978 +8ba4f034561eb96018c32a35c34054e2746cafebfa807a77ab4b3ab095fb1e21de1c5f71c91d15 +393d7804e19f69d62fee85f48769cce52811bc991bccaa8a14caced77742c70a9ac72bbee8402e +ff12977aee4baeb2fc4415976ba7f82d9f00037c860a6c4e30b9eaf8a41b5af69d9bedda873c02 +2e46c8e3a9d66af691a39bf46911f16918d7628ff152a81faedddad44d648ddc176f656d215f39 +9c8c4958dde6c82ab15faa3988d9314d5fb7e4d2bb074e9ad8d64327ffc3c6e011bf1fa2fc7ac9 +0aeb9eaa2379b6584dcce684e0aa4be43a45d52fbd9e53920feeb0d6853dc2570d806cd85f1200 +bbad372aab1bf230c5564e79c73b032deb1c22f93b43c35d9540bde9751b88e1bec3f0e1d1ffa7 +02b8e98ef393729439e8e27b4abe89baddff4c24ee142223466c27f3b93f001334e262b3fe6936 +49ae6267977e48c8edb4c5ca6a6fa9c6b194aadaf1b7a8f90ae088a10986718b8cd7e36ebbe518 +94e43b2d82449e8cf3079bf3f819dff89421281e3f54526f0d67f6ed9554074e053579bda748de +df79471f3dc8fc2b3e83c91c77f0628cebd119820345375d442e38cbdc2106735bc44f8fe699c0 +2c8dddfe10ad9e44e3f3d1f01bf547396d95108a7338177400a1f5473cb7af7ac4576c67cd57c3 +a7e74e1fb22cd9076dff26e73c9e6f3c6b7205e4b4fdabf8ae25ab2aef0a35df4cf8d9eb5b2202 +770f8ac2fb3c40161ba70b4e25fce3fc0b3592b7cf3df1ced24dd84348fb5b81e8fc47b477e9df +9bd2b8f3a7354086ea146ccb66173d88a2bbffea215532d111fcd25e8af065e3cb03f527c0e46c +34de39e0f23946dd366e7c8f0bca6816e9e2ad2ffc4a8c31d68a57158d67525410d1ac390b88ab +48efe2f1c35a2fb30924dbb72379dd1ce2bf19c33e47bbf31c852dd2e7397895fcead90e7272cf +cedc70bd1808be257d7fd10282ebe9e5cebe3a9ac2a11695ee0639cea8085e02d1792db3643b56 +20c6b695d459f746d38af29611e0610ca79f9dd210714bcc89b4ce4528206e4180751bb47d22c7 +8282d128e1630201979413c3c4657eb33aa9773fac04fea7f8cfa3c89308fe3c07c9c06ed77e75 +da768d2d838ed2a4bc6193595c75a80d39be25eae60260dbac7d2ef6389c00d5ab594cd59604d3 +878cf6eb6a06dbcddc24ad287d087f661a846a667d49d1a7dc1a0064cd3d4ee6dc6c38117a0859 +006780828a819a2b1c1a70d520240e2fa252458696fbeacd3bd354caa3f8375bc24929ffc6694c +4b5f9c52e41c21cc1ee94e9b9855a9d5e125f11c75cd996fd31d50c0d8971222a6a2e67dedb190 +28969044b666572da630cc3676d5ce3f79b2f993ad5a90f59a4c884c5ee8d0feebfe5ad93232f6 +87d6b1536fa58be36acec7135452b34dad37224763b48be692ad3dec8708af788500cb89dbe073 +75d66b4fefde33451365fb85d8f4c3410aa458bba8637b6679f356087219dd76567ed3289601d5 +768ba93d4fc46708b36040a353d580c635b78114e03ef8825972e607deede379f4086c75d7e380 +9af3df3d28d10bdf8e89a187a175f0ddc8b552cead06afae309dfe2d1f50a7ebc526dde3abc0f9 +2ebdc6618374e63f0eb99ba419a9b8d7fc64b9859a1a37c006e0449aa8db8b89730348c71c7e00 +bbb2a5d61e7614bfcc44fa74b79dd789d9faa0f0c3797eeac73df6c79992db6925277bd3579f68 +a30edeccdc6f2f9fc811b600fc65856a5ec970e9c94f43b439eefa923cbe7b85e1400375502c75 +738f14d53d9a1b182c007cb2ecb23db28e5fa8e1cee1871accd1e8a1c576c4ef224fd77bd8bf71 +f04dbf0e9481b5c7f1b97a57d42edfc9335204fbaec1d459142b9a652ada01e8d0501066695526 +ee3687249a003d48d3bc42a59602128a203845bdd5359aae213be3c7a0b34f5bee840624e44b0a +e9b6a36e63e049c048a7e2d7e1e9b0c4323963e288f07b161ea8527b7c0997e89917643c5e9b74 +a68853db9a1815f49167c3b04b2a85ebb8e9f91148025651ce03ee31870dd62aae83715b2ea525 +f4b8821506d5e1dae2727f2e3554a9dfae92ff30b1a1d96785355e338d9878f75c601979758161 +53ec1a941f674b24d80bb6f8404807d77614171ed0aaed43a14c54cf81acd74dfb40b2e2a4555e +7f17dfd5d18bfc73a9143396203bf756e4f88808d0bcf2027504927a38ab6b63e82c2e5208387d +04ea01ecf8c190e40d05ca1e91138e332a743500b69912906c0a13beaaafa801a8a17931c47ed7 +66d49eb017b5467ec5823c68d135cee848b830c0c4e6b96d4560e5e1242dbe87f60310aa906622 +7fc10eb1f35c344fd7e8b954cffbcfc7c9b1ff5eef179e29d7ee3f3bf63834d5c19bad23aaa4cf +a660091594d228a347767af9e57b0c2c521e1fe18bcb271e899d2534f5b62de75800c9e1074666 +a85fda8f762f38c8445f259070a6d6b6b2209b77166ac471118bd2c39d228007d270fd622dfbea +29cdfa2d330c8fcc4c72eaa5771056069c831ea95b52172a4b8d136f790f27266b67a859ad2eb5 +cf5a20b6a39274baf31e02e1c487f59ea0ad622dd509438c43a4e110173268195db4b49c02fd6d +98730be322f0d727d42252c37a1b907453b9d7e789f0e1499f3edfc44554b541383ff294df1058 +a9164ed1c453cda563dea3c3fe95a66eb02f80ea4b7e28af9238176e2beadf60addda4869909be +700f2eb0d73de20b65c2e0cd2715350c4cac15aceec0a0861028c4a0f5e6b18ee47be415d88bab +fa7f7e9c6274b1a72353b128545c8955b6a61fab002b95cf69949c3beb283a30ac348e5b25476c +ce03aca0cc4a062d66bb985378da7fa79fda0d46eeeb6b792df37d9cb9e10d51bfa3c9570e33e6 +8326824e6c180c152b82545b2465aa21ce44006a5e5d986a4ad27d9eee3f9171e12294a0cfa034 +343a7ece3617291cef7c8d1591109503311c24170544c96f0bbc68dee4ae9c92ce237f94228d24 +ed46e254967016d46398f3dd645a352754015f757c913b5790e2c601f75dbd80c78f6adcd07107 +08ee348d11a4b2742e40327ebecafa44d67969eacae402b808b40f482d7b8d14c29159f0646e3e +1100cba1674478062c89801edc767a5da780f8b6a9eb941f550400895f82f1a1bd6e0769f17bca +2e7997d3a9d2a27997671791b780055211094c20f718245d5752e8364e924303f18abc6e27b983 +b2003fba4de22c818526665c3cbcc4dc65b35d61c57f851fed9b4aa7f5bc44458369cc0ead6ed6 +d1c0999e42b7f730083986f42915df5ca58b9d9a78ae9b70eb8454c834922374f26faffc48a938 +450406ceb976e87ae3d00bcf496450a4701c7784474d381791dc54ee5073a287b4d31616a822e1 +25aca839f59427abbdcdc3fe8226c3366ca1f303e16ba85a3f265b7e835828914ba5fcaf6cc00f +92bc86cbeb0e86503d533ce6dc487443f08102feecd01ee1425bef03bfff4152b42db3bc1334ea +5e1d534487cbc1f5abfd954c88c94cf3ebdcb6168565d4b026c0afd5f3eebc6f06e7855b4c847f +33e892d235e0b4b5fb1029c16fe8a1ed66ab8c00527ff9505c34982759c289c8fac60d941c2768 +d80733e4d665d512cfc9ae765b71717c6343b51553790303bc2b3446b562b2f74ce4b59f9895ec +df597bae4d4700a54726d906483c64557b68891869c430249969238fc881601b9eecd1efe20d24 +97cca6e07e9aa46418c80f124dfa19f7973699586bbf68f033cf74e938d44472c1f018037234bc +232c3e946b04bb1563eace5a74d6e6a1be3160ea9de28c5539ee636b445f72fb984be468fb5fd8 +310bb23c9ee4af2a2772ca94d2c67ead2dcda3eb1f775f6d4c47e2cdc078c464adef2cacf0d4d4 +8e9bdc06f2e7e7d3518b6dced753791fd3a326f5e013e6ae855149891dc94108f141cca631e893 +b9c09076a79a4c45ed502bf1306e375f3c7de57f0facb154c2be909edd99b3754574be6acc8473 +718102ef503e8abb939add13541f9cda7eee8029e5173ddf24d7e506789963db7a2070661a39c6 +1edace8737a1a45644427176d70de3838bc864bb2dcf80a8554c3ddb5b83ef2509f9172307836a +84595bb2a7d32fb35c410c087a8c83ee17749c8c105c5b80d6bebd1bb4126803519a9a +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + %%EndResource %%EndSetup %%Page: 1 1 %%BeginPageSetup -%%PageBoundingBox: 0 1 319 175 +%%PageBoundingBox: 0 1 395 190 %%EndPageSetup -q 0 1 319 174 rectclip q +q 0 1 395 189 rectclip q 0 g 0.4 w 0 J 1 j [] 0.0 d -10 M 8 116.242 128 -32 re S -8 68.242 128 -32 re S -8 148.242 m 8 4.242 l S +10 M 8 131.242 128 -32 re S +8 83.242 128 -32 re S +8 163.242 m 8 19.242 l S 1 0 0 rg -168 148.242 m 168 4.242 l S +168 163.242 m 168 19.242 l S 0 g -136 68.242 80 -32 re S +136 83.242 80 -32 re S /CairoPattern { /CairoImageData [ (Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) @@ -1050,14 +1717,14 @@ image /BBox [0 0 32 32] /PaintProc { pop CairoPattern } >> -[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -633.756 ] +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ] makepattern setpattern -168 68.242 48 -32 re f* +168 83.242 48 -32 re f* 0 g [ 4 4] 0 d -168 68.242 48 -32 re S +168 83.242 48 -32 re S [] 0.0 d -200 148.242 m 200 4.242 l S +200 163.242 m 200.102 34.469 l 200 35.242 l S /CairoPattern { /CairoImageData [ (Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) @@ -1103,69 +1770,204 @@ image /BBox [0 0 32 32] /PaintProc { pop CairoPattern } >> -[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -633.756 ] +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ] makepattern setpattern -184 116.242 80 -32 re f* +184 131.242 80 -32 re f* 0 g -184 116.242 80 -32 re S +184 131.242 80 -32 re S 1 0 0 rg BT -14.3462 0 0 14.3462 160 164.243 Tm +14.3462 0 0 14.3462 160 179.243 Tm /f-0-0 1 Tf (d)Tj -9.9626 0 0 9.9626 167.299 162.091 Tm +9.9626 0 0 9.9626 167.299 177.091 Tm /f-1-0 1 Tf (j)Tj ET 0 g BT -14.3462 0 0 14.3462 192 164.246 Tm +14.3462 0 0 14.3462 192 179.246 Tm /f-0-0 1 Tf (d)Tj -9.9626 0 0 9.9626 199.299 162.094 Tm +9.9626 0 0 9.9626 199.299 177.094 Tm /f-1-0 1 Tf (s)Tj -14.3462 0 0 14.3462 184 52.244 Tm +14.3462 0 0 14.3462 184 67.244 Tm /f-0-0 1 Tf (j)Tj 2.230556 3.345834 Td (j)Tj -ET -208 36.242 m 208 25.578 218.668 20.242 240 20.242 c S -240 20.242 m 233 22.574 l 233 17.914 l h -240 20.242 m f* -240 20.242 m 233 22.574 l 233 17.914 l h -240 20.242 m S -BT -9.9626 0 0 9.9626 248 16.244 Tm +9.9626 0 0 9.9626 199.661354 30.667221 Tm /f-2-0 1 Tf -[(retard)-333(minim)28(um)]TJ +(|{z})Tj /f-1-0 1 Tf -0.803003 -1.204404 Td +-0.0986685 -2.652763 Td (r)Tj -/f-2-0 1 Tf +/f-3-0 1 Tf [()-28(\()]TJ /f-1-0 1 Tf (S)Tj -/f-2-0 1 Tf +/f-3-0 1 Tf [()-59(\))-222(+)]TJ /f-1-0 1 Tf [()-224(p)]TJ -/f-2-0 1 Tf +/f-3-0 1 Tf (\()Tj /f-1-0 1 Tf [(S)]TJ -/f-2-0 1 Tf +/f-3-0 1 Tf +[()-59(\))]TJ +/f-4-1 1 Tf +[<>-223<01>]TJ +/f-1-0 1 Tf +[()-223(d)]TJ +/f-3-0 1 Tf +(\()Tj +/f-1-0 1 Tf +[(S)]TJ +/f-3-0 1 Tf [()-59(\))]TJ -14.3462 0 0 14.3462 0 164.241 Tm +14.3462 0 0 14.3462 0 179.241 Tm /f-0-0 1 Tf (r)Tj -/f-3-0 1 Tf +/f-5-0 1 Tf [()-28(\()]TJ /f-0-0 1 Tf (S)Tj -/f-3-0 1 Tf +/f-5-0 1 Tf [()-59(\))]TJ +9.9626 0 0 9.9626 301.709379 113.999295 Tm +/f-3-0 1 Tf +[(a)28(v)28(ec)-334(\\trous")]TJ +-0.0602814 -4.675596 Td +[(sans)-333(\\trous")]TJ +-10.179474 -5.125227 Td +[(retard)-333(minim)28(um)]TJ +ET +/CairoPattern { +/CairoImageData [ +(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) +] def +/CairoImageDataIndex 0 def +/DeviceRGB setcolorspace +5 dict dup begin + /ImageType 3 def + /InterleaveType 2 def + /DataDict 8 dict def + DataDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 8 def + /Decode [ 0 1 0 1 0 1 ] def + /DataSource { + CairoImageData CairoImageDataIndex get + /CairoImageDataIndex CairoImageDataIndex 1 add def + CairoImageDataIndex CairoImageData length 1 sub gt + { /CairoImageDataIndex 0 def } if + } /ASCII85Decode filter /FlateDecode filter def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end + /MaskDict 8 dict def + MaskDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 1 def + /Decode [ 1 0 ] def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end +end +image +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 32 /YStep 32 + /BBox [0 0 32 32] + /PaintProc { pop CairoPattern } +>> +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ] +makepattern setpattern +168 131.242 16 -32 re f* +/CairoPattern { +/CairoImageData [ +(Gb"0G0b"+*&AUR/:TkH?`<6SpGNmtag%2R54?e0E!!'/_.5idX~>) +] def +/CairoImageDataIndex 0 def +/DeviceRGB setcolorspace +5 dict dup begin + /ImageType 3 def + /InterleaveType 2 def + /DataDict 8 dict def + DataDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 8 def + /Decode [ 0 1 0 1 0 1 ] def + /DataSource { + CairoImageData CairoImageDataIndex get + /CairoImageDataIndex CairoImageDataIndex 1 add def + CairoImageDataIndex CairoImageData length 1 sub gt + { /CairoImageDataIndex 0 def } if + } /ASCII85Decode filter /FlateDecode filter def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end + /MaskDict 8 dict def + MaskDict begin + /ImageType 1 def + /Width 32 def + /Height 32 def + /Interpolate true def + /BitsPerComponent 1 def + /Decode [ 1 0 ] def + /ImageMatrix [ 1 0 0 -1 0 32 ] def + end +end +image +} bind def +<< /PatternType 1 + /PaintType 1 + /TilingType 1 + /XStep 32 /YStep 32 + /BBox [0 0 32 32] + /PaintProc { pop CairoPattern } +>> +[ 0.5 -0.866025 -0.108253 -0.0625 -52.535898 -618.756 ] +makepattern setpattern +300.582 189.215 32 -16 re f* +0 g +BT +9.9626 0 0 9.9626 335.891897 178.528786 Tm +/f-3-0 1 Tf +[(=)-333(retard)-334(de)]TJ +/f-1-0 1 Tf +[()-338(j)]TJ +-3.47362 -7.552062 Td +(L)Tj +6.9738 0 0 6.9738 308.065608 101.79661 Tm +/f-6-0 1 Tf +(j)Tj +9.9626 0 0 9.9626 315.030608 103.29061 Tm +/f-3-0 1 Tf +(=)Tj +/f-1-0 1 Tf +[()-279(c)]TJ +6.9738 0 0 6.9738 329.858608 101.79661 Tm +/f-6-0 1 Tf +(j)Tj +9.9626 0 0 9.9626 336.269608 103.29061 Tm +/f-4-1 1 Tf +<01>Tj +/f-1-0 1 Tf +[()-223(d)]TJ +6.9738 0 0 6.9738 351.417608 101.79661 Tm +/f-6-0 1 Tf +(j)Tj ET Q Q showpage From f50c2facb2b36e640e41e2850be5ad8f220bb508 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 12:05:56 +0200 Subject: [PATCH 06/19] Ajout de nouvelles figures --- resumes/xavier_dubuc/src/cours.tex | 37 +++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 726fc15..a45cac6 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -625,8 +625,8 @@ \section{Set Cover et survol des techniques} Soit $C \in I_{SC}$, une instance de SC où $E = \{1, 2, 3, 4, 5, 6\}$ et $\sigma = \{S_1, S_2, S_3, S_4, S_5\} \subseteq \mathcal{P}(E)$ (c.f. figure \ref{scex}).\\ $Sol^*_{SC}(C) = \{3,4,5\}$, i.e., la couverture minimale est $\{S_3, S_4, S_5 \}$.\\ -Si $w_j = 1, \; \forall j$ \textit{(version non-pondérée du problème)}, -alors $Sol^*_{SC}{C} = \{1,2\}$. +Si $w_j = 1 \; \forall j$ \textit{(version non-pondérée du problème)}, +alors $Sol^*_{SC}(C) = \{1,2\}$. \subsection{Programmation linéaire et Set Cover} @@ -644,7 +644,7 @@ \subsection{Programmation linéaire et Set Cover} \end{de} \begin{propriete} -Un \textbf{\titre{PL}} où toutes les variables sont continues peut être résolus +Un \textbf{\titre{PL}} où toutes les variables sont continues peut être résolu en temps polynomial (non pas via le simplexe mais via la méthode des points intérieurs ou via l'algorithme ellipsoïdale par exemple (il en existe d'autres)).\\ @@ -695,7 +695,7 @@ \subsection{Programmation linéaire et Set Cover} Le problème relaxé \textbf{LP({**})} s'exprime donc de la façon suivante : \[ \min \; \sum_{j=1}^m w_jx_j \] - \[ \textbf{s.l.c.} \sum_{j:e_i \in S_j} x_j \geq 1 \] + \[ \textbf{s.l.c.} \sum_{j:e_i \in S_j} x_j \geq 1 \quad \forall i \in \{1, \dots, n \}\] \begin{exemple}$ $\\ $\max\ x_1+x_2$ \\ @@ -813,12 +813,13 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} Par construction, $1 \leq f*x^*_j,\ \forall j \in I$. \textbf{(**)}\\ Ensuite, \begin{eqnarray} -\sum_{j\in I} (w_j) & \leq & \sum_{j=1}^m (w_j.1) \\ - & \leq & \sum_{j=1}^m w_j . f . x^*_j +\sum_{j\in I} (w_j)% & \leq & \sum_{j=1}^m (w_j.1) \\ + & \leq & \sum_{j \in I} w_j . f . x^*_j \text{ (par \textbf{(**)})} \\ + & \leq & \sum_{j = 1}^m w_j . f . x^*_j \\ & = & f \sum_{j=1}^m w_j . x^*_j \\ % & = & \text{($f \times$ valeur de la fonction objective pour la solution optimale du LP)} \\ - & = & f \cdot Z_{LP}^* \\ + & = & f \cdot \underbrace{Z_{LP}^*}_{\leq OPT} \\ & \leq & f \cdot OPT \end{eqnarray} \cqfd @@ -838,7 +839,7 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} d'approximation que $f$ bien qu'il ne soit calculable qu'à partir de la solution obtenue via la résolution du problème relaxé ($Z^*_{LP}$). -%\vspace{4em} +\vspace{4em} \begin{exemple}[Voir feuilles des résultats obtenus avec CPLEX]$ $\\ \textbf{\titre{SC}} : $\alpha = \frac{9}{9} = 1$ \\ @@ -1529,7 +1530,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} Soit $j$ la dernière tâche traitée dans $S$ : \begin{figure}[H] \centering - \includegraphics[scale=0.6]{ordo.eps} + \includegraphics{ordo.eps} \end{figure} \begin{itemize} \item[\textbf{(1)}] aucune tâche ne peut être exécutée avant $r(S)$, @@ -2263,8 +2264,10 @@ \subsection{Traveling Saleman Problem (TSP)} \begin{exemple} Appliquons l'algorithme de \textbf{Prim} sur l'algorithme de la Belgique. -Il va sélectionner les arêtes : -$$\text{(Ostende,BXL), (Anvers,BXL), (BXL,Charleroi), (Charleroi,Mons), (Charleroi,Liège), (Liège,Arlon)}$$ +Il va sélectionner les arêtes :\\ +\begin{center} +(Ostende,BXL), (Anvers,BXL), (BXL,Charleroi), (Charleroi,Mons), (Charleroi,Liège), (Liège,Arlon) +\end{center} soit exactement les mêmes que \textbf{NearestAddition}. \end{exemple} @@ -2299,11 +2302,23 @@ \subsection{Traveling Saleman Problem (TSP)} $\hookrightarrow$ Quel est le coût maximimal du tour construit par \textbf{NearestAdd} ? \begin{itemize} \item[$\rightarrow$] le premier tour sur $i_2$ et $j_2$ = $2C_{i_2j_2}$ (aller-retour). +\begin{figure}[H] + \centering + \includegraphics{neartestAdd1} +\end{figure} \item[$\rightarrow$] Soit une itération où $j$ est inséré entre $i$ et $k$. La différence de coût, qui correspond à la valeur à ajouter au coût courrant, est donnée par : $$C_{ij}+C_{jk}-C_{ik}\quad (\star )$$ +\begin{figure}[H] + \centering + \includegraphics{neartestAdd2} +\end{figure} \begin{center}\textit{(ajout des 2 nouvelles arêtes, suppression de l'ancienne)}\end{center} Par l'inégalité triangulaire, on sait que $C_{jk}\leq C_{ji} + C_{ik}$ et donc que $$C_{jk}-C_{ik} \leq C_{ij}\quad (\star\star )$$ +\begin{figure}[H] + \centering + \includegraphics{neartestAdd3} +\end{figure} Le coût supplémentaire de cette itération est alors : $C_{ij}+C_{jk}-C_{ik}$ qui est borné par $2C_{ij}$ par $(\star\star )$. \\ \end{itemize} From e117a4c084027b22246a7c0b63d20d03a087f04b Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 12:47:58 +0200 Subject: [PATCH 07/19] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20dernier=20cha?= =?UTF-8?q?pitre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 50 ++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index a45cac6..0777744 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -2552,9 +2552,9 @@ \subsection{Traveling Saleman Problem (TSP)} Si le tour ne prend que les arêtes vertes, on obtient la solution optimale dont le coût est : $$(n-1) + 4(1+\epsilon) + (n-2) = 2n - 1 + 4\epsilon$$ -Seulement, si l'arbre couvrant donné par l'algorithme est toutes les arêtes rouges (+ les 2 arêtes vertes extérieures), il n'y a que $2$ +Si l'arbre couvrant donné par l'algorithme est toutes les arêtes rouges (+ les 2 arêtes vertes extérieures), il n'y a que $2$ sommets de degrés impairs : $a_1$ et $a_{n+1}$. Le \textbf{perfect matching} va donc devoir les relier, on obtient alors une solution dont -la valeur est : $$ 2(1+\epsilon) + 2(n-1) + n = 3n+2\epsilon $$ +la valeur est : $$ \underbrace{2(1+\epsilon) + 2(n-1)}_{MST} + \underbrace{n}_{PM} = 3n+2\epsilon $$ Le ratio est donc : $$\dfrac{3n+2\epsilon}{2n+4\epsilon-1} \to_{n\to\infty} \dfrac{3}{2}$$ \end{exemple} @@ -2690,16 +2690,35 @@ \subsection{Le problème du sac à dos (knapsack problem)} \begin{itemize} \item[si] $taille(P) = taille(Q)$ \begin{itemize} - \item[si] $profit(P) \geq profit(Q)$ alors calculer $P$ - \item[sinon] calculer $Q$ + \item[si] $profit(P) \geq profit(Q)$ + \begin{itemize} + \item[alors] calculer $P$ + \end{itemize} + \item[sinon] $ $ + \begin{itemize} + \item[calculer] $Q$ + \end{itemize} \end{itemize} \item[sinon si] $profit(P) = profit(Q)$ \begin{itemize} - \item[si] $taille(P) > taille (Q)$ alors calculer $Q$ - \item[sinon] calculer $P$ \\ + \item[si] $taille(P) > taille (Q)$ + \begin{itemize} + \item[alors] calculer $Q$ + \end{itemize} + \item[sinon]$ $ + \begin{itemize} + \item[calculer] $P$ + \end{itemize} \end{itemize} \end{itemize} +\textbf{Intuitivement} : +\begin{itemize} + \item[Si] la taille est égale, alors prendre le sous-problème qui offre le + meilleur profit. + \item[Sinon], si le profit est égal, alors prendre le sous-problème le plus léger. +\end{itemize} + \noindent Pour \textbf{\titre{KP}} : \begin{itemize} \item la notion de sous-problème est simple et naturelle, @@ -2786,7 +2805,7 @@ \subsubsection{Programmation dynamique pour \titre{KP} (1ère version)} \subsubsection{Variation du programme dynamique} Nous allons utiliser un tableau de listes de paires : \\ -$A(j)$ pour $j = 1,...,n$ contient une liste de paires $(t,w)$ où une paire signifie qu'il existe un sous ensemble $S\subseteq I$ utilisant +$A(j)$ pour $j = 1,...,n$ contient une liste de paires $(t,w)$ où une paire signifie qu'il existe un sous ensemble $S\subseteq \{1, \dots, j\} \subseteq I$ en considérant les $j$ premiers objets avec une \textbf{taille} $t$ et un \textbf{profit} $w$. \\ En d'autres mots si $(t,w)$ est dans la liste $A(j)$, alors il existe $S\subseteq \{1,2,...,j\}$ tel que $\sum_{j\in S} s_i = t \leq B$ et $\sum_{i\in S} v_i = w$. @@ -2802,9 +2821,6 @@ \subsubsection{Variation du programme dynamique} \nonumber t_1 & < & t_2 < \ldots < t_k \\ \nonumber w_1 & < & w_2 < \ldots < w_k \end{eqnarray} -$ $\\ -$ $\\ -$ $\\ \noindent Comme pour tout $i$, $v_i$ et $s_i$ sont des entiers : \begin{enumerate} @@ -2916,14 +2932,22 @@ \subsubsection{Variation du programme dynamique} \item[b)]Le facteur d'approximation est de $1-\epsilon$, c'est-à-dire $APP \geq (1-\epsilon) OPT$.\\ Soit $S$ l'ensemble des objets utilisés dans la solution approchée (c'est-à-dire celui retourné par \textbf{FPAS\_KP}).\\ -Soit $O$ l'ensemble optimal d'objets, on sait déjà que $M\leq OPT$, de plus, $\mu v'_i \leq_{(2)} v_i \leq_{(3)} \mu (v'_i+1)$\\ +Soit $O$ l'ensemble optimal d'objets, on sait déjà que $M\leq OPT$, de plus, on a que : +\begin{flalign*} + \notag v'_i &= \lfloor \frac{v_i}{\mu} \rfloor \\ + \tag{2} \text{donc, } v'_i &\leq \frac{v_i}{\mu} \\ + \tag{3} \text{et } v'_{i} + 1 &\geq \frac{v_i}{\mu} +\end{flalign*} +Donc, $\mu v'_i \leq_{(2)} v_i \leq_{(3)} \mu (v'_i+1)$.\\ $\Longrightarrow$ par \textbf{(3)}, $\mu v_i' \geq v_i-\mu$ \textbf{(4)}\\ Dès lors, \begin{eqnarray} \nonumber APP & = & \sum_{i\in S} v_i \\ \nonumber & \geq & \sum_{i\in S}\mu v_i' \text{ (par \textbf{(2)})}\\ -\nonumber & \geq & \sum_{i\in O}\mu v_i' \text{ (parce que $S$ est optimal sur les $v_i'$ et $O$ reste réalisable sur les $v_i'$ et vu que -\nonumber c'est une maximisation,}\\ \nonumber & & \text{la valeur de $S$ est la plus grande et donc plus grande que celle de $O$ en +\nonumber & \geq & \sum_{i\in O}\mu v_i' \text{ (parce que $S$ est optimal sur les $v_i'$ et $O$ reste réalisable sur les }\\ +\nonumber & & \quad \quad \text{ $v_i'$ et vu que c'est une maximisation, la valeur de $S$ est la plus }\\ +\nonumber & & \quad \quad \text{ grande et donc plus grande que celle de $O$ en +%\nonumber c'est une maximisation,}\\ \nonumber & & \text{la valeur de $S$ est la plus grande et donc plus grande que celle de $O$ en particulier)} \\ \nonumber & \geq & \sum_{i\in O} (v_i-\mu) \text{ par \textbf{(4)}}\\ \nonumber & = & \sum_{i\in O} (v_i) - |O|\mu \\ From ff5ce3b33d794b4f4a3160eac83b71219cf2e77a Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 13:33:07 +0200 Subject: [PATCH 08/19] =?UTF-8?q?emploi=20du=20package=20geometry=20=C3=A0?= =?UTF-8?q?=20la=20place=20de=20vmargin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 0777744..798af4a 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -8,8 +8,7 @@ \usepackage{mathenv} \usepackage{multirow} \usepackage{pdfpages} -\usepackage{vmargin} -\setmarginsrb{2.5cm}{2.5cm}{2.5cm}{2.9cm}{0.7cm}{0.7cm}{0.7cm}{0.7cm} +\usepackage[top = 2cm, left = 2.7cm, right = 2.7cm ]{geometry} \usepackage[utf8]{inputenc} From b2c33e6a5ddad2bbac64bc91c9d6881a1374fbde Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 13:35:01 +0200 Subject: [PATCH 09/19] =?UTF-8?q?offsets=20supprim=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 798af4a..a8e9fb9 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -3120,7 +3120,7 @@ \subsubsection*{Formuler l'\titre{IP} du Vertex Cover} \indent $\text{\textbf{s.l.c} } x_u + x_v \geq 1,\ \forall (u,v) \in E$\\ \indent $\qquad x_v \in \{0,1\},\ \forall v\in V$ -\begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap2.pdf}\end{center} +\begin{center}\includepdf[pages={1-10}]{exoChap2.pdf}\end{center} @@ -3141,6 +3141,6 @@ \section{Annexe D : Exercices chapitre 4}\label{exoChap4} (cf pdf inclus à la page suivante) -\begin{center}\includepdf[pages={1-10},offset=60 0]{exoChap4.pdf}\end{center} +\begin{center}\includepdf[pages={1-10}]{exoChap4.pdf}\end{center} \end{document} From 222e136588af04e4c73cf38935a102dafb81805c Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 2 Jun 2017 21:45:02 +0200 Subject: [PATCH 10/19] Correction d'une erreur concernant l'ensemble S de la preuve du EDD_SSM --- resumes/xavier_dubuc/src/cours.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index a8e9fb9..7b2e6c2 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1563,11 +1563,11 @@ \subsection{Ordonnancement de tâches sur une seule machine} \end{center} \end{figure} -\noindent Sur l'intervalle $[t,c_j[$ et $S = \{j' \; \| \; c_{j'} \in [t, c_j] \cup \{j\}$, i.e., l'ensemble des tâches traitées dans $[t, c_j]$ on sait : +\noindent Sur l'intervalle $[t,c_j[$ et $S = \{j' \; | \; c_{j'} \in [t, c_j[ \} \cup \{j\}$, i.e., l'ensemble des tâches traitées dans $[t, c_j[$ on sait : \begin{itemize} \item[$\bigstar$] $r(S) = t$, en effet, juste avant $t$ il y a un repos (par définition), donc aucune tâche de $S$ n'était disponible avant $t$ (et donc -tous les $r_j$ de $S$ sont $\geq t$ (au moins une est égale à $t$, par +tous les $r_j$ de $S$ sont $\geq t$, sauf au moins une qui est égale à $t$, par définition de $t$ toujours). \item[$\bigstar$] $p(S) = c_j - t$ (vu qu'il n'y a pas de pause par construction) $= c_j - r(S)$ From 4073bce303987d347969e3c38149306ec721aed1 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sat, 3 Jun 2017 12:46:55 +0200 Subject: [PATCH 11/19] correction de la preuve de H_n-approx pour le set cover --- resumes/xavier_dubuc/src/cours.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 7b2e6c2..878c093 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1208,9 +1208,9 @@ \subsection{Algorithme d'approximation glouton} & = & OPT \sum_{k=1}^l \frac{(n_k -n_{k+1})}{n_k}\\ & = & OPT \sum_{k=1}^l \left(\frac{1}{n_k} + \frac{1}{n_k} + \ldots + \frac{1}{n_k}\right) \text{ (car $n_k > n_{k+1}$)}\\ - & \leq & OPT \sum_{k=1}^l \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots + + & \leq & OPT \sum_{k=1}^{l-1} \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots + \frac{1}{(n_{k+1}+1)}\right)\\ - & = & OPT \sum_{i=1}^l \frac{1}{i} \\ + & = & OPT \sum_{i=1}^n \frac{1}{i} \\ & = & OPT.H_l \end{eqnarray}$$ $$\Rightarrow \frac{APP}{OPT} \leq H_n$$ \begin{exemple}($n_k=6$ et $n_{k+1}=2$) \\ From 56e0be6dc1c84bb8fcb51731e06eff3b99c14a7b Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sat, 3 Jun 2017 14:36:50 +0200 Subject: [PATCH 12/19] =?UTF-8?q?Correction=20d'une=20ambiguit=C3=A9=20dan?= =?UTF-8?q?s=20l'exemple?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/pdf/spm3.pdf | Bin 10589 -> 29680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resumes/xavier_dubuc/src/pdf/spm3.pdf b/resumes/xavier_dubuc/src/pdf/spm3.pdf index 1cb3f2530893842f37c51e680d9a9df912685ccf..1942e835d65197bae0bfbf67667babacd4c0f739 100644 GIT binary patch literal 29680 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 Date: Sat, 3 Jun 2017 15:02:16 +0200 Subject: [PATCH 13/19] =?UTF-8?q?Correction=20d'ambiguit=C3=A9=20dans=20SS?= =?UTF-8?q?PM=20(preuve=20recherche=20locale=20polynomiale)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/pdf/spm3.pdf | Bin 29680 -> 25316 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resumes/xavier_dubuc/src/pdf/spm3.pdf b/resumes/xavier_dubuc/src/pdf/spm3.pdf index 1942e835d65197bae0bfbf67667babacd4c0f739..109ff53d8c726836bbf9480077af5524d49718bb 100644 GIT binary patch delta 8622 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 delta 12530 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 E0hX8Jn*aa+ From 86661143a1696efdc7b41c0b2b39948404184ca8 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sat, 3 Jun 2017 15:06:19 +0200 Subject: [PATCH 14/19] =?UTF-8?q?taille=20de=20la=20nouvelle=20image=20ada?= =?UTF-8?q?pt=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 878c093..baa2c4a 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1867,7 +1867,7 @@ \subsubsection{Approche par la recherche locale} $C_{max}$, il y en a maintenant une de moins. \begin{figure}[h!] \begin{center} - \includegraphics[scale=0.5]{spm3.pdf} + \includegraphics[scale=0.42]{spm3.pdf} \caption{Exemple où 2 machines atteignent $c_{MAX}$} \end{center} \end{figure} From b1dd7874e9d615c12da2b19aa353b091ad85379b Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sat, 3 Jun 2017 15:38:18 +0200 Subject: [PATCH 15/19] ajout des figures manquantes' --- .../xavier_dubuc/src/dots/neartestAdd1.ipe | 272 ++++++ .../xavier_dubuc/src/dots/neartestAdd2.ipe | 297 +++++++ .../xavier_dubuc/src/dots/neartestAdd3.ipe | 278 ++++++ .../src/pdf/neartestAdd1-eps-converted-to.pdf | Bin 0 -> 4722 bytes resumes/xavier_dubuc/src/pdf/neartestAdd1.eps | 517 +++++++++++ .../src/pdf/neartestAdd2-eps-converted-to.pdf | Bin 0 -> 8170 bytes resumes/xavier_dubuc/src/pdf/neartestAdd2.eps | 839 ++++++++++++++++++ .../src/pdf/neartestAdd3-eps-converted-to.pdf | Bin 0 -> 4115 bytes resumes/xavier_dubuc/src/pdf/neartestAdd3.eps | 328 +++++++ 9 files changed, 2531 insertions(+) create mode 100644 resumes/xavier_dubuc/src/dots/neartestAdd1.ipe create mode 100644 resumes/xavier_dubuc/src/dots/neartestAdd2.ipe create mode 100644 resumes/xavier_dubuc/src/dots/neartestAdd3.ipe create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd1.eps create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd2.eps create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf create mode 100644 resumes/xavier_dubuc/src/pdf/neartestAdd3.eps diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe new file mode 100644 index 0000000..dff9b3e --- /dev/null +++ b/resumes/xavier_dubuc/src/dots/neartestAdd1.ipe @@ -0,0 +1,272 @@ + + + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + +0.6 0 0 0.6 0 0 e + + + + + +0.5 0 0 0.5 0 0 e + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h + + + + + +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + + + +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h + + +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +-1 0.333 m +0 0 l +-1 -0.333 l + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +128 768 m +192 800 +256 768 c + + +256 768 m +192 736 +128 768 c + +i_2 +j_2 + + diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe new file mode 100644 index 0000000..343b9f8 --- /dev/null +++ b/resumes/xavier_dubuc/src/dots/neartestAdd2.ipe @@ -0,0 +1,297 @@ + + + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + +0.6 0 0 0.6 0 0 e + + + + + +0.5 0 0 0.5 0 0 e + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h + + + + + +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + + + +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h + + +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +-1 0.333 m +0 0 l +-1 -0.333 l + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +128 384 m +256 384 l + + +128 384 m +144 432 +192 448 c + + +192 448 m +240 432 +256 384 c + +i +k +j + +256 384 m +256 368 +240 368 +240 352 +224 352 +224 336 +208 336 +192 328 +176 336 +160 336 +160 352 +144 352 +144 368 +128 368 +128 384 c + +supprimer $(i, k)$ +ajouter $(i, j)$ et $(j, k)$ + + diff --git a/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe b/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe new file mode 100644 index 0000000..968a146 --- /dev/null +++ b/resumes/xavier_dubuc/src/dots/neartestAdd3.ipe @@ -0,0 +1,278 @@ + + + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + +0.6 0 0 0.6 0 0 e + + + + + +0.5 0 0 0.5 0 0 e + + +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e + + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h + + + + + +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h + + +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h + + + + + + +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h + + +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h + + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h + + + + +-1 0.333 m +0 0 l +-1 -0.333 l + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +192 768 m +256 704 l + + +192 768 m +144 752 +128 704 c + + +128 704 m +192 688 +256 704 c + +j +k +i + + diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd1-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ba8cc5584471f18ae35d7ad9d8bf4ae015970014 GIT binary patch literal 4722 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 D`(HBW literal 0 HcmV?d00001 diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps b/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps new file mode 100644 index 0000000..da10ab3 --- /dev/null +++ b/resumes/xavier_dubuc/src/pdf/neartestAdd1.eps @@ -0,0 +1,517 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.14.4 (http://cairographics.org) +%%CreationDate: Fri Jun 2 11:36:39 2017 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 0 1 154 34 +%%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 +%%BeginSetup +%%BeginResource: font CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-0-0 def +/FontBBox {-32 -250 1048 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 105 /i put +dup 106 /j put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f +ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd +e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646 +45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd +e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e +1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a +b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b +5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5 +bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6 +00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de +a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e +142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157 +77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c +bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d +85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e +5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87 +a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb +ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40 +31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a +fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd +8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0 +18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542 +8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6 +79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec +327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7 +9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca +ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b +9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57 +a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c +6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46 +ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a +dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e +e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28 +e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5 +785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff +ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8 +f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413 +619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee +309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35 +cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9 +38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e +8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690 +9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3 +202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9 +56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f +08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49 +f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f +5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1 +09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d +4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862 +2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024 +a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b +1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474 +366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec +eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48 +a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b +e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627 +9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1 +b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38 +8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677 +50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3 +bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223 +bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc +811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1 +805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253 +984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa +746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971 +2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4 +0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3 +57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6 +13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b +ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990 +078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a +e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550 +e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505 +b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508 +07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32 +20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37 +5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb +d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc +4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab +9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3 +77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798 +afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174 +a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04 +0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d +b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b +35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246 +7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1 +1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936 +2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d +f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b +7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb +7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db +3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605 +85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e +163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657 +6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc +acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7 +4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7 +760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8 +08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630 +5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04 +746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a +253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26 +8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0 +63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009 +8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168 +9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e +714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0 +26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14 +a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef +2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390 +e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5 +bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b +3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b +35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477 +94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b +7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8 +de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268 +4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50 +57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7 +8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c +77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c +e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd +89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78 +6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f +6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b +f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5 +b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31 +93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268 +712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29 +235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71 +5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786 +8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1 +de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce +f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8 +27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40 +f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734 +45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5 +ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89 +cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16 +94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc +e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a +9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df758 +ab83039fe25dea0efae72d8df2c90d9ee6bcf44fef9e7652caecc79d637be3d0d98bed6b458966 +e389aa3cf65347325d42d1ac4c7d1ea9f59e91a18afc7dd47bfc768f052721728afe069ac3600b +038bc11b30a7bc95118d63a315160a7942069f19eaaeb344b330b65cf0770964b719803156f950 +868eb78d4a0438b5946c3ac20a42970449cb2b657af562c40fc10c5a10a92f3e5186af7cd7851b +31dfb2b792266a246c22d0275ed99865fd32628836034ede3d5fbb750e3030143063a5b24f41bb +0e0c61c5a2fc436e6aa22c315f74f1a4b74d8bbc659adbbbeb9a300eda300aeba4504bc03bad51 +3fd0265a79f907ba13490d5b2b7678d5a53584322f49202da9d4d8a5bade29d9a277d3d580e602 +7a4bb28081bc63c7e85ac2747494ed2a26224622a895ca79f43d7f279bcef0f02112226693ed9d +242dac10b22a57875d67daf868f5f342ea32c8970ac4e56c93218166a760063fdb37b543dfc556 +f1e539b9ec64afa3f2fe622c1d6dd9e4e7c50fb91f0250 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMR7 +%!PS-AdobeFont-1.0: CMR7 003.002 +%%Title: CMR7 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR7. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-1-0 def +/FontBBox {-27 -250 1122 750 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR7.) readonly def +/FullName (CMR7) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /two put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8 +1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4 +d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65 +dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901 +d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b +0d58fe7cceea728243b0a6d07c975363fe2f68dc10b074265887a0fc21340f56f39f120ee55250 +8e298a788ce801177e19a376794686e84610dae79706c4403e70daff0206fa975187e5a396384f +0737e50b76abf5edb14b3060d7f53b7cfddfe49b75c6dff02ad1293bb8ff494018ad774ba7a7dc +e1ba6f02b468a1b2a3e4e18e7771d797c2e4ca9ddc34061c54b2b2d164da7ec923ddf81d85d323 +9b066896d85b0bb67db8d71ca7d331e1b23af9f683c1436aee05570c1a7068d43b86239b3d64f9 +c541d8a810500014b4ab130e93e9661576ade6006680a3608552c7bc09af195c022d8f7f12b008 +292036785f53a56509e793c70b125a7a10cad6f0d082c65743efd4f32f21e5d544adbf0be627d3 +5b1b93a14c80df0a4be0a1b654a877e5b8d7a2d86a7f75990b6a981812b08e9cf6d9df240631e4 +9ca0584bd57115a4a23d2940327ebed6299995397808bacd2566154a0a1cbd25372ebf67cc513a +413cff5f44ac11fdf9dd4c55f0e93c91293fdb3644e3defa308dceba74384c628b51053adb3777 +ec6c08f2016b383beba5e9a097a32cb46fafcb544b68e558617c6046504861f33572a5beafeb41 +99f4c805dd2554d818702a10ea5381c0f854bb6daf4348c689c16092cb0e6a20c7832469c98315 +a26e8c7f31583db863c8f43c7b51b197bfdf4624d1051e08a0dce2e8003cc8741b73677cb94ad0 +6194c473a61900f0067f7147ba1dcbbbbdc54e7e1bb3f8dae973e48374dd794bdf85dc4b67d024 +87bb9452c35fa1a54119bd316606ad39bb1abd0fe379884eccdc929c06cf1308945304c3d9be5e +83ce75f1f22bcba2c43281abd11393ce33fc4f08213b6c534eefff62fad7c51d42542335727056 +0eb4d239a99148ad18c11422aeed639cda0d7d3b32b98b1bd0e315b4b0bb69ffbfac125dc4e878 +00053f63d3c7f9e31dbb1244c43a5e266d3f77726fe49f53ff79f683ff30978019cb1f13992bb2 +15a8f67722b1c17ac3c973b097153f3f1ff46ff65e8e6750f326afc4c3408d56bd80c2be341243 +814e3b51e576fb1d3d5a16a438005ec9daf6c841dea703938403c80237ab8514d4e11839d7f4d6 +13dadec3aeabb0d2a7eb9bb841bf4255642abd2cbc61e9df4e6b8985cdb4f722dfaa67e775bc81 +67d5506c6d8a7d8c5db3b4b6f02e977cf02ecb5ba18526a666640b6377e3f88cdfac08204c2975 +3c6a799e86d8fefe2e962220736dfff77f2c88029606468483d77a27e70b8683ed95b2b6e14775 +72331a6030294c172bbe68b2c78e7837d6f9b18ba86d037028a819709a03a1ade46fd4c912d4b8 +587f0356bb53a42992c03158a36ba4b9456ac0b439fc5d05fa4ffd91d230ac57dd35797b5591d0 +cfbebed15809d5f654f3517f6f6427885669d0fa5ef9691ee2048cbeca73e2f48a59e54c609959 +4827ccc991023091dadb2662a6aefec4401536876f576daf1f1857bd5ba15b24b8cef3a0e7c06a +1fef4d9db5f8c271f24d0ecaf5a88c326071ff1ebd4cf11628456620ad608dc4379c18c6a6b4f9 +a7f905dd95ce541ef16fcb0a26b7567eb48a154e681c948f4c2999cfbe5ecd92d9b5f4b56228f7 +4ba739552958ff3fe3684393ca3c1c66ebf0c93a01858c6415bbf52d5345c03cb0405b86983b16 +8403f60760959d07d556f96658cd17e3e4bd1570281b32c3ce90baa23a13127a483c39a63b8b72 +1a953cbb13e0348f217a384ec17e41654f38c4750c5c20bfa9c984bb5c105bfa1d89b7f06140c3 +0b13f053bd72a2920680c1d007fae4c6466df7c2771321f8c22aa375e561807daa4297ea66e91f +3398dec44330942be8db61e198d816361b2c208384db56724dbb12281ffa1b26ac1c5a6e86bf24 +0e2ecbb55d83e21e8922b2b68cecb597cfe206232b325b8a00724b8897f0717b273637a0585978 +d91e095655ad507b914134de042d6f8f18a93be428983172e921d628ebfd54318f9694e5f6dc5f +3730a98e83cc7a1caf271e8d6526c739ea996b1fb3742ab2962c42277d52dff387c4a6b90bdfb9 +ed5ae7d1fdf4839952ed7bda493f7058dfadf674fdad1608fd57864bab0fcbf5a0d64fea1281f6 +50e1adb75b5da7169e258483109a8c343de9dd470962609c52cc1bdba22d998c2214749807a3f4 +8f713c84d61d030726d042a9c831b1ae232ebaaa301348542c76c54b4b446d055335453c74a1c3 +fa54f8f2a1152d322ad869ec20510fb81f744807b2e38d26c288a618c6d1a70bf44dc5127170e0 +384327dfc0b56cf424371bd119cbe04360d6c9325abd67cbe3c5a26468483a678caa81840c7f60 +f28f2cec9b83e65bea05899b96b3c4f251ec2b0106e77fefc28c2111d5719982378ed6bc8485f5 +2791cf0050d6fad3e14809900473c9b4e8fde806416543ccd0c9aaf05a279b70f9fadd47341801 +7ce35d3324fae6658134c77cbfdd21b9808b93470474858f7ef2a0ed218d8321230eea9e537c7f +a9dda0c53819dd47367e42cfb2cfcec0e8979c22506a4d505f6c0cb2bdd6903146a7442594549c +ea033224cb46df42e7b4fb0fa13a774bc554d7c3b68fc3dc99b225dd5a36ec3174a42ba2d15c7e +d8dc6599ac6ade3394600b2c41269eb464c4e05ced20db740b1ae7d865e728cdf40f2061ef9b85 +162d62301db6c94ce584fdf18746434f167bb78eef6be2ed49064575b13ec2e19a8d602f688748 +fc5df6835a5f3266b981f24ef03c4aca0ea5f526ecc2f4d8c2f6105017f67c1b393c2dc6fb7e63 +a68c91a482a2dd4d7c6f58263b73cb50e0581c886a574cdb31975427584e18e50d37f45319c000 +88d105a1ed7f5f2d5c287ceeb74051c3161e0ae68500abec4d907e6ee19be9476519189176af93 +026f82ad87427151edb4f3226db949a45f398b7a62b8f32bf77eb87ffb33b64a22a32bb4c6b60b +5a56cbaea0b08965c52c25ed0833abc52b4587459dc7b0e1ee7153f15d9e2c4d369a05abef2e6a +feeb8c9d31a3b033a662eaec78eaefbbce357f7cc31e2b9974719e970a9b549bd12ac7266c4546 +167e4ac4169532770137e533106a1ba4f4f3f578a03b0c5de2841496b614f6ade8e39f8e8bbcf0 +ca1e301364552fa4a6896072768b1c7de9bacc21fa88aa8ebe56ede420dd5c44b54d0d78c85aa3 +9989e150ec34e89fd362af149f340e1ee379a4d7949d587c51645c3302ef2524d23794e8f021ff +5caecb6540465fd71da7e25e8659bdb8c6e2febe3f128c945eadb46976bcaf202dbafc1ee9f643 +9ac3ad2fb2333211a06e87428076facb226db6ccb64eb60b4fc528e4531f0b0b86c3e890d7f386 +a1db6e72a7f362d4521426b8d8c399035f76ea0eac84132c9094064533d519a991a54db6e9ab61 +437d1db428d705b7dac182f167a64bb5fb94dbb581b91d9d751883e8e425910b4bce508b14a6f4 +1fc16fe4917dc4ab7d8a4f9cf29cd51cd2ecffd55cd6f3df503372f891be5c7106e5d5bff968e4 +776b750f91e5b88b7e1d0b3c597d2a94ad89538391da210d3c3db26f8657c3751e95fb0d6e9911 +9d581e16b53149aaec51aacf45458495dd7d8f2d3add67e521b97fc914d01efc7916f2c78a8150 +37b5ac4fbf8e511182d18f3bd967ab2de2b302a629f5b3ac5d84ccad8c36398ba5230fcdd1cce8 +3e52746722b8e7fcb614925f15f1c68ebaa9efe9da6bc307cf339baa9c8837daba76c8f64c69e3 +568de91f5b8bffe27bd8ee6316c015a1da7209614528ba692c3a0f44d16327f282d34e21eb53b1 +afcc0a8a3f3175e42cfbaf685a93f0584c6b52d9af562d3993e063499dad4ce315379a7a3aa807 +81def910335e1d0c1e1ca9e14580401fa21780cde5ab174b9934dd409ae9aef0594783a32dce83 +27460a05c88e1ae04384a0d4911b5dfc40e150293bbd4991a6b79c1327bf5f02f6823a3847d9c4 +5d13983fe7d193fe295747a08ff970e85c7ae9e3c851d8027f2574ac6020a06f50b47292082608 +95da8425a2ed1655eb7b31912918ee8b1ab297179278539ecac32632f7853b83d14d10edc97e93 +909da4868869d7b0e947c3470fd69b5460e30217c10cb55c460c801082820dafadb3d7bcda6f2c +b87bcf8eea71b3b73afbfb8600ecb4bfe0d658c1abfb521ae0804cdca8f43fecf9905a77fcfd2f +61e96f3092c947c390a83bc1c5f36d22b5fd549de540865e77fd4e23c981fcc606037a84511e02 +93c6eb04aa91e7295206c8d773c4ac4a241cda1dcce1e372b72766fa7e0c4d026c1af9a6404332 +0dd8536de5c8f397aa31439961fa1deafc076614b3b92cbef8655deb6cd47748c0914fff013ac0 +88a388cb719e013cb7346a904631e58f906251dd61e07d817e172879bdbfe9ef245d28acf9f017 +e3bfcd2e110dbadc02568f30e31a150ae5abaecdd756c70a9ac72bf56e54d10b5433076fe8cae8 +e8c5871b7a90f3b65e82e2655aaf6aa6270c5a8abf68d02be079da9061d37f57f401c544b7f43f +a0d2f42bcaa5177464d16970a3cad42f0dad07d86580c01618776d11d2e86b0051ebc75b69ddd2 +54050f40cb7f63b1240020c2cd68ea04d3043142cba72e182b6365b8d7cfbdec4d96fa10b5d3d3 +6dd3c49eab2001353c2574d0f608df80437002c26bfd5b5eeb6d3d2b30ee592046b254c3593e90 +96e9488bcaaa916b71900e00fb83b041e287b6e9b74f3f0de16a08d5b60b3ae766946194991309 +98af74bd8a53cb4432d3073c0065abfea0dc688019a33dacc2e6333ce0b479ec0ffcfd24990a3c +c682ef878d455d805724e0213726c099ab174c9640f7b64d6f4247fe665652131e9babd8f1daa4 +676e66fdc24d6b4c485b4edcea174a854b4061f2122db55d98ec279ffb5cdeb8f5eedf25ff1b23 +3aaf14b34e418f7ae40c71191bf35aa1057a4a448f419225df16c68f6e9e912c91563b18b98d83 +52e78e8d382b61139f6debf7bcfe5e19ea7c6f029258556a5f0ce687b0b4c13700fb8056bf9d05 +952de15e341c2e5cc35558dac81e472ec5cecb7d218ced5a658f9dda3e36c9d8e6ee28b48c16a0 +608c86cfb2bda589e128e9f4776f4128fcd785ef81ebb678efabbc85979e79f35d796d6b924220 +6898e23b32809415e181d1771290c679a0e31628f3e10e09140daea1f7ccdbd87c8bfacd1097ba +2194d9759796a3b9a0b8a2b938cd1500a8b719db204f9ce5201c319adb541d77d0f74e12209731 +a2eef25ef407643d418faf5448a7b891a295902b99d7950ac84bb12e42ddd996515c0d16e543b6 +5d3dcc601c7ec18d7b603feb8b975d4143d4579069ab86a6e4393786c07e9974cd3d5568c9c849 +48bd659cd2b91c2e026924487674ac4fab16848c2549c5cd4030ac7a790af2919dab1c78ddd772 +c70dde28251a9696aa2a6bbffdf9e30518495788c60ed9a28248b2baed87e2624ffcc770b6dccb +d101a447e95ed86581ac352ffb853332134a69ca5c0276ba3af752312e59b61b1abfda9b5aa219 +f8fc46dde55c9f596c37f97cea70cba7b2275dbb259f41a299a8bbdbc85cfbd7ab9b32d98dada7 +edcf145d7972d9cc7c6a9074786c0d1bfd1c6cfa7341ad3307ac6284680573f3dfc5d1fabb94ca +1618d8cf9ef72f0a0d00f38391f7c26e19fb06847d2e712eab385ebc0a4c31556b10e491e71bf2 +b3c70bd47351fc152b31b3a8582c999b0737d7e6db7bb175bd52013aac30719210db84573d7233 +38cf32388fa4c6929532d29f8a15145b97d40b6a5886a4379a43dc11981356a0e07765072d0820 +6e14db68501469a363e36966a9c7ca592d8f643a001900449cd0adbb7112bc8abc0de50f1b012f +3787de9bec01ef8da09d0caddab75246ab49aaa56f8648a1f8dd1f609e91b86198dedfd24dccc8 +661064d0bf68f9bda35746db4f602f04ef5b0217afbeede6755e0630c36a9eeb772969e25da52e +8755c7bb71888874e5e0cdde8f339638d943738178c43818552372287aaa0460f7034e61f13860 +a544a234b1f12add841f7f961b4984142fe996925cef18e1ce3c74d1cbeb0edee72d52412a5040 +ea0ef581a887657d817945b4e703ad7b28f1fe2eaddb1bdecf0a12b3f4633f45369a3a55ba0f5d +89b454d933abd4531a34a8cc8af1c4511d0b2f2a0ba4adb9b1853320a7c239270223e8e25eaaa6 +b4b97829833e04c4f96c6426cf48e7e9ccfcc573bd2efc8be07afe79ee8c20126f86807f266107 +81c66c0f355c0272fbbe849db7b20997c75d34b8e9b2f08d8f662042a2f69742da07ec93c3fd7a +0ff5372cd321960ad41a5e95507deef883279ab8643817c26ed0819d354d9c1a43466a9a43ccf8 +26752fe74606107c98c5c5ac29ce19edbf18d539692ae505bf8d017550d4a80df1830485cd16bd +7a3ae945b983cadaae1e2e5b068cbc1ac55e7d83e5575b8edd8d902a857c8ba035972b824c3fd4 +8f0d0894f61939a1883bc76927fae38f263223a26e3e750e865ff07b76eeae83619c65d39d4b59 +8081c0e1935fa65ba5954cfe99269c163e0f29504665c4aa5a52a94b4cdc9dad6892b8daffdee5 +d66b22b6fbb0776acd384ed33f3e77dc629e8f213843fde48bcfa2aaabad92935972afc54416df +ec545166bb0866a06db4ce2ac9e4cdf824eb31e3ede92d45f8e084291d764821838efb19b8a997 +4e13d88c3de3b81f47082de466570554f0169c9bfdc018e79ecfb9f0b0bc32f7dcdd8f2a066f6c +f59be2bbe6ec5aa94e2b21c8cd7e68222d1ef0fe1b6d395ed4049c503496f40f236b4b93a0e21e +2520680553859ca466c2cc99515580b2f9797c69ef0cbc2f43234080d70d2329aec93c25f3777f +8cbe8b299a3ce8d7769917cbcbd973748f13ef97dfe2c3e8743e1d8836c28ad2ee6d3dcc145251 +96eab6e439af7a4e35ba1b814da1047176e07fd8c1e7324b9b86d9305cc755768dcee6b8c58394 +4b9a1b7f9350aa1a6a2e57ea6280fbc0a9b19a31c50c23341c30dd0b05b989f09b8eb2d864aeb9 +1d441094bfa0554aad3ba8d5285809b63bfccff0e800ccf2c5247495091b79e30f83852eb7707d +482cc9853a0fd037ea49eef23d11d6062b771326d785c414fb336cf13b097ee43e966142ce8bdc +ad41a1ac7796514dbf700f48d5a3afef282ae4fc818abc0ac30a48cefb60385d9f6b6a7863e775 +1526439eee428dde65cb98e5153a7834c07c48c90272db1d92d200e5679ba966bececb4b773a43 +f93578db144bd8d4aa5e0d3b3a2b825ef680287f8713a93e3620bc63d42648de02469b13fb26b0 +641dde1743df42419c92101ba58eae5c49aa339a914a27acb704a8bb822e0bca27ca11e67f4bf0 +8d980d22c23f5e9852e2d5743a103f250de7ff3da117c59f63c197871ed781bd3214050594e514 +a0ed9547ec6cf8b1438391f0ad9baa9498860f4880e2f16c582c274d18ee6bee848ec731ced5a0 +58aca6a9a1f3664f30a710c0e8481c6da98ab3effbd2ce70e6c6848c9765d39aa8913540378a65 +675b3d7b5e89a0b2d9df600b499a6ae01486ab6875db2ba1593dda8843bb204052ef7b957ecc41 +062b382744979f0ff1256c838e93bbdd17f0ad907a3b62b5fff4541039d55286919768aefdeed6 +51a3e5db9e603cd08e094f4e4f63124f7c133e259fdd48c661bc11d959929aa7b88d7f19b4904f +b3ce49f48c270a1adf85a246b207246a7dc70c99b7db7a7f4daca8c27f54d9d00aedb5c7df36c9 +bdf01077572bff7414170fdc92ff8f7970ce5eef54a2aa6dacf72875a14b29d78a261d590f50b9 +4eb38efe5ce0e77ab149905b11ba173ce62e6fa074c23c52908c76364ca39d7c5fa400fd5f096f +e012d47912d89a2812baa355be421889d348c5c821c0d1a69b3daefe1c9f7df994271b1f39bbe8 +4412fc37fb445778de3c688e08fd4578232e8350ba2fe919670b46af9260d5b5259193104a275f +604642499ae31a4041f54bf49d40f12b7d47fc23ed33490935b9714978d372ac8ed5fa754b68c4 +aaeddf59b04da44700ef9dd33271591f90596869a7149779ee08091d98e6d188a34eaca459c004 +92654fcca751562d70f8f7996c001f9b2a90894ba0667bcaca28513a883b9f90b7d4a9f1119ffb +babb2bc9e8ebde094a833b2d43fcd6f26b4c7e5400851d88484ced5646a82dd57a6e192ce7e721 +b65b9cd6897b96ccb99825f372ea3e8109af873d +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 154 34 +%%EndPageSetup +q 0 1 154 33 rectclip q +0 g +143.32 17.301 m 143.32 19.699 139.719 19.699 139.719 17.301 c 139.719 14.898 + 143.32 14.898 143.32 17.301 c h +143.32 17.301 m f* +15.32 17.301 m 15.32 19.699 11.719 19.699 11.719 17.301 c 11.719 14.898 + 15.32 14.898 15.32 17.301 c h +15.32 17.301 m f* +0.4 w +0 J +1 j +[] 0.0 d +10 M 13.52 17.301 m 56.188 38.633 98.852 38.633 141.52 17.301 c S +141.52 17.301 m 136.301 22.516 l 134.215 18.344 l h +141.52 17.301 m f* +141.52 17.301 m 136.301 22.516 l 134.215 18.344 l h +141.52 17.301 m S +141.52 17.301 m 98.852 -4.035 56.188 -4.035 13.52 17.301 c S +13.52 17.301 m 18.738 12.086 l 20.824 16.254 l h +13.52 17.301 m f* +13.52 17.301 m 18.738 12.086 l 20.824 16.254 l h +13.52 17.301 m S +BT +9.9626 0 0 9.9626 0 17.304 Tm +/f-0-0 1 Tf +(i)Tj +6.9738 0 0 6.9738 3.432 15.81 Tm +/f-1-0 1 Tf +(2)Tj +9.9626 0 0 9.9626 145.734084 17.307 Tm +/f-0-0 1 Tf +(j)Tj +6.9738 0 0 6.9738 149.837084 15.813 Tm +/f-1-0 1 Tf +(2)Tj +ET +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd2-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..53bacde0704837f52c9eb1effb33a3ad3fc3b8b1 GIT binary patch literal 8170 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 literal 0 HcmV?d00001 diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps b/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps new file mode 100644 index 0000000..9d0a627 --- /dev/null +++ b/resumes/xavier_dubuc/src/pdf/neartestAdd2.eps @@ -0,0 +1,839 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.14.4 (http://cairographics.org) +%%CreationDate: Fri Jun 2 11:44:00 2017 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 0 0 146 134 +%%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 +%%BeginSetup +%%BeginResource: font CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-0-0 def +/FontBBox {-32 -250 1048 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 105 /i put +dup 106 /j put +dup 107 /k put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f +ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd +e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646 +45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd +e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e +1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a +b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b +5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5 +bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6 +00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de +a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e +142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157 +77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c +bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d +85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e +5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87 +a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb +ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40 +31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a +fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd +8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0 +18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542 +8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6 +79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec +327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7 +9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca +ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b +9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57 +a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c +6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46 +ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a +dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e +e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28 +e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5 +785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff +ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8 +f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413 +619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee +309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35 +cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9 +38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e +8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690 +9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3 +202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9 +56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f +08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49 +f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f +5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1 +09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d +4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862 +2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024 +a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b +1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474 +366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec +eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48 +a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b +e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627 +9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1 +b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38 +8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677 +50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3 +bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223 +bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc +811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1 +805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253 +984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa +746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971 +2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4 +0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3 +57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6 +13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b +ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990 +078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a +e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550 +e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505 +b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508 +07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32 +20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37 +5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb +d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc +4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab +9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3 +77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798 +afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174 +a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04 +0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d +b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b +35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246 +7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1 +1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936 +2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d +f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b +7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb +7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db +3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605 +85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e +163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657 +6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc +acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7 +4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7 +760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8 +08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630 +5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04 +746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a +253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26 +8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0 +63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009 +8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168 +9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e +714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0 +26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14 +a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef +2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390 +e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5 +bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b +3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b +35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477 +94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b +7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8 +de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268 +4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50 +57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7 +8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c +77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c +e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd +89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78 +6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f +6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b +f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5 +b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31 +93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268 +712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29 +235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71 +5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786 +8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1 +de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce +f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8 +27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40 +f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734 +45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5 +ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89 +cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16 +94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc +e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a +9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df0f3 +f651f7b5c02375c3f791cd365878e61859a3b2000425a695d4fda30485c8416e81d6363227491f +1fc422489db2578606220481175fbff11fbaba6b3ff3ec8cfff18bdd362b9aaea4b45b6675ff2c +447b0c3200f0db86bd22b5ee5b86013f1081f4c5cde1dd27de0f880fb7bdc7e0e825aeffc89a5b +77d2c3c67e71d8be2b651c695669038519887dcffac745b63d1363b754df94766a4b9450077017 +173f2806bca05781a2f7b81043c28ec2e8d43f15908ecfaee4a8e017b0a5fef15c6f3f5bdd783c +6ed1751262fd794597b6fe1a34efc893b9f4230eff01e972da15b44577f8aea623d4d950a9b10a +a615125993befd21a8330e1ca13b30d8032c4a3b4d97bb4d6b6c092293228a7d2d40769412e84a +2086eb4e9d7af9ce918802c89919a99c2ebdf696c4c97e3746321c221647e0fd3b2a28c16c0a44 +1f3ff52008a899e0268e136d944e5367fb3fa96f6e005ab918fea074a511f32d92245c3c1f56a6 +a376602e5665e59ab321e9e34da0f7ca81a483ea38baa5147d43c656020ec028c78c0990279422 +4192c2aefb2830317eb4bc13fbca3d45186b59fb77a3314e3cc255111da27e45baae009cccbc7b +c33127645868c3d22f34cceb3438c1e4c44e4192bb0e336bac4b7c2f96206e50251b04ad2c6a69 +86a8979a82e660d0b19755631c546968acbb8e7ca59d8ccda1e6e9adf52010657916e5bd469e43 +9fec1875b93c0d4f986929c2ad20f180c6edbee6f629a5c0b8bb6f16885d450430c521badbcf14 +d24e6914d6782eeea7947114cd5469ce40ba669051d5ea6d8f1c15ed27cf089551bb52854792cc +9952957203d5d2387d875466c70e7d3e3849a9321ce159a55c70aacf5e1272ad8b2518d7693285 +93bc6d58e2bf87220a79139d6ee0d5d91727bba5c3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-1-0 def +/FontBBox {-36 -250 1070 750 }readonly def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /parenleft put +dup 41 /parenright put +dup 97 /a put +dup 101 /e put +dup 105 /i put +dup 106 /j put +dup 109 /m put +dup 111 /o put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b78229ecae63571dca5d489f77bdeee69161ac65b8 +1a171acfec6a38e69dd162ea7d456fbeadb28c016db3bfa3a91b731dd3d89e31936de5e0ebbee4 +d9bf15a1d35b3bfa43ade27c55337a53e8117722f41ae71510be6095ec8fcc4480cf4d4b3c8a65 +dec16f24a875f2c200388e757c8d066a3bd39db828e62e2d3d19908b221b8f5b58f7a6a2ebb901 +d705aee915d9f92114c59f6a9124885e77bd754ad8dacd1e7fa44ef6a4733c0ef482d5f4f7788b +0d58fe7cceea728243b0a6d07c975363fe2f68dc117f6b531cf8863b555c1b4de3e609559e7374 +28935b9f1aebda05547f1fc8269db5c0d587495f4aa4038c8a18bf9918a87134333ad8ceba20e2 +89a9872fe8ee6380f82830b9b0c9dda5290b15ed7f145f09e548f3b79b67ee7f63dcbd70e98442 +69e4e45853fbfd72aa29255a49f6566d486afaad673272db23bf83b4afc5fc99d11ee04c29ca43 +39303953a9a5db7d327fb3d88914c921e5eaf63eee206955908ac5bf6c9c9ae291c2e200fa194d +2177ed040ab385ce574786a2b025ae14a507098fa274206bacfb4a0a7257d5998ee8f0fdca79cb +61dd1fc59dadd11e16bf02ecdfd706cda1e72054d4eb55af7ba9f19955886bc0bd6e0e3fe3769c +94af3581dfb2bcd67fe2892af07e858a01280194d8dd7332b3d0a585c87fab056c2eaa9b5ad48d +1c9f00cef8ef0d1408dbe1c03d04b231d7b8d5d998fe0cd7ee19828ef2f988ebf6ddbfee00f04a +4a1f4e1a55d64f1b1581b7facfec949c2f0672990c0e5c9e726d4772e11aee7fe806e4d7a5df5c +0ab78a3837daa4fa3edf154aa3682d0930c12e33ea9105692d68fe1b1b5dee9a4a0a47c24d921d +577452d862794e465656e23e048fd8c837c5fd4311873c689c67a6ab7297ba4902d86ffddf2ada +0a790ce0e3819196bff040001ba5fe0ca05be5b40e6b47e7059db5d9e8ec0edc24e52c8c1d0cda +abcf5e19c81af33dae16ea9f0a3304eafa312e46a5152e902d840122dbc55f9041a02e27a2bac6 +cb2aa33ed5a1cbbe7b8b50d9cbe981b27c0ff4f019ac9834bff36f5d9684f72c1bc8c4a37f553c +86fdf83097bf3eee7995fc4edc01fcc3d18137c403a476d50d04f4f533564d422fcb018115aaa0 +8ea4d7fe409b9fc04c7cedde45a7d94e726cfb67f92d8fd54fb2ad8e2ea062a769b949533ed7bc +d9c5729b2b1717bd4589838438b7100a7aabbf9ce97fb13e2af58d4c59e646eea4e26c16d7bd2a +2a147b0888e300fda5a32c69e1eea05adbabb3721dae1db6b3bde66fe3de9b5941699bc3e11d89 +2447649dbf6f230d707d1a9ef233b9e1b8ac569ce4ba264829cbbf878bf334483b06734de9974e +07d120288ef2010e5905b81599f6b498eda277dc75b8949ac551efda7e9a63a10700336b8c0c39 +234d3f955f3cc07e2d03d633152b43191b6e5705342c24654451748f5cff447c8a5868f1e40511 +7832d7ca299746b724058eba562ccf43cc783bffd214eaba13b4b39cf459a3c3d8c42383df77b3 +182efd03524a4044c9bcf9ac7538999cc2172388f3fbcec07f484dbc6f850121c3723cd1042748 +2853e02ec096c357cb0ac32b168955a061b317e3d4ac9d2bc444ff9638e2eb51d41c7ee6a7fce4 +b1dbd403caaad3e133f518a44562d6482ba05cb321e262d9dec2ed080f172f3e429c11e24d79e1 +77afb6aadc979fd218c9438643c7d9a332551892000e37ff9930902741965aaba0ee2a0de78d87 +3099a87972cc6f4b9555ccc7c08a098d518499956768e2cf642a5094c1767fd551676bda8d1e34 +911e66e0e08aaf99977dc6c49cc4c4598fb386701c2dd8f953c877a5efaca3cf349fa665c9db36 +cf8f8f0fbfcf44c6d79c4508125effec06ebd778f8f3b83427c6acd05b8ff95f663c2666abbd4c +5a18dad249c0d60fa557057445076fef63ffcda9a65a11a2ed2bf57eff461fef6675c73b19743d +bf03205fe74e6488ff7850fac30ff044e67904d3a89eca3b48353f6f3cb1ce6eff2ada9e3b1278 +779f886a0b1074de5cbeda7292f0bb6da69f37cd882063eae80d54d9f1637c4f3cae407fddd9ac +c517e27d7d344c63f03d3e51f8a30a6d9017c0827c1fe26f8bab90f5ea82945ffe5d03f7f7991c +bc78b40006017bf651d63f455a718b09065fb63b407970f94f0644c889578fa494b5d56fab777e +4a0f2069edbd2e146877555001496d9071585e0b43c3298d047fa7d446aee8b593bf90166fe8ae +c963479b62af30359608645773d610df6b4b70c39b861edc8d5ccfe9235e4de9e6182eec37f1a1 +f4f500647267c83f658b694909f4d3ea8e8120cfb8581f936ef4e88eaed47d943756add25e499c +569258aeab56fb5e6673f20c88dd569f42839f63c80640defe4ef239937cc0614ea4f32db35a67 +3fdae65d8062820c181bd7ec8ea31ca1881e2c3d2929a75df677b13fbef61263b727b6c90ffc7b +0bebb25b39ecdd6f9090684891dc2ca40c44e5782753bc2cec340bbae1e7be9ba67faf67b6a92e +35627dcac91ac3baea9935e309c535dcbe5bcbddfde4880086dcf18817be38230261aab2cd9ddc +12df8493130d439161b18b19a22bb461a759c59502f13084c0104ab5602fd6989015457aad4b68 +d77da6c49351a441155b6d752cb306cc9e8c20d4f05efefbd46804218816d4dfb8fbe5aa42266d +2e446765da81b76ba3c54c77ef8a8d22208980f2178f449c7ece206c6f03b220e6cc0950df506c +16fe0907b28172343003af7a28acb949b87492408ca962e344e5cf6ac5fff25af4372c346d211e +0897c68a0cad100cf58c69f7bf2fd689a8d73b6c06d0ceb4c8020e1cc77516a9f461a9b3591c3f +17d023c93e362f5ee7bb47c15cfe1642a8ae5b9239793669a0ff102cc98e7405d3303ae7831277 +b713ad228fb51e76efe065eeb352db6ab478c0d4546c5c7683ed27693b4fa12c19d65cd6d03996 +5696cf0261d1af786d0361adf6cfc13592d3a4b75c4a872bd5dc1d8251f9c4f2dc06b1bcb306b0 +55b21e43117bf739e3b27852fd6fccd5da4c28d12983609f970b0fe2d797f3c67bab419f7fc22a +228a69ac48f308af8b593c0373943e9eae34250269e7ea8024acffb4469089c0dc61165df88367 +fe9c1d687608ea35380a07ba7510c4284088351e6c4e3babf0e3753b17b7259ce82a6d467ec0ce +5265c8aaeaab8ed7bd5f7244b879aa92d4c34ab0925add59adc06883cdeca4b6a7b0133705f87e +4a8d35f679eb49ec9ee449cf390bb55fd276b65ccd6c58d64ddce154b657e2e49e33b3ee39e324 +51e481b3edf099bac609118e334b4c4c8118318552d4bae6f95f2b80a39b64e65e26e55b001cd2 +cdae29f1e61cd591dfe69368d6dca2c80cbf7bef82738adf8ff57e7ab6e46b9410ed4a26d29952 +69aa7d6e4d8a62c0ee0c5db32e865c103cc2a722276f66ddfd7428957116a6f1704aaef630d191 +a21cd150a4a768699fc814534bf6155e8ac1c4dea90a249da7c6775591f03697d1735556057baa +8ed91ad2cf033a462c30b1ac17affa27ce9aae2f40d7b69347d231789228f1ea7c4cbbe15c67ff +22aea6259a7b39fd4e561948d469d75c1320589721117ca1357f218ec31b7c48cbef335bcbdec9 +898208f793a88e4f1d602b2157bcbc0bb881b12c7e05946b806d3a549c391676ec7cfe3a72909d +fdce6a6c8fa1fafea01482276bdab1b6f18b221e0fb5a574e536737af74756074ba6cfde4c887d +41e27595a1f6d0cb570746830fb796f17958aa842e4eca9544177eefbbb96d136bb52f8c26fed3 +c282b04c91f83a839f330f61aa38c5511f0cf2182616f81fc9fe611b0366fa6321bfe2b596116e +ad4be3466e77ba8b5f161c8886dcbfa044169cad909359cbbdbdbc6925130867e4465c66c1feab +69e9357c774ca905b6c960023390bdd3ec43d263fddc723e83cf6b82c2ae53e0b888860f8095f5 +0567ae2656ce8a5cbfb7ae20fac4af89aa3a631fb16f3cc40df8593c7e0c8855c8c3c4294d9dab +c7eba031216854766a63271276ddb48b57148a2358aa52c11b024ab61b78c8fb048380b1b3e366 +4f0c8d7de71940a31901c59952e0a61b19800265c7d397b36a56b4dda897693927e3164f0ddeeb +9d4d99ef5d3a64e5ac036027bcedab4ab5b55dc77b741ce3ae1a0b2d3846ecd0118e0a9086c3a9 +a3aeeac45a9a85510cb14b853e627a26cb7ea88861423ac3dbf4c44a69db440b2ee6ec08216b90 +baed629d6cc0c82159e9e303d3294e8d6316241a37b345ef1f6e8ad6148ffc0a52230b77d51c2f +70b53c0736aec966517d48d8a003b67e33abe7865d439164a8de566965423f0d32da87bda71bd2 +7c4c1d5de732cf120bd47a404ededc0daaa140342efeede8d12b80d58a07ce0776cd65e66dc35f +1ee1cef41fe124f1e0f3e7d7e4fd189c104742a5fba1d3e3c4e290858bfda2a0f42c416243e661 +385d5262743bf2abda75562fd29350837f1a7bcd4fd2edf49d2c57d7aeb27c9319f6862a807548 +1110a5a04e138b21e0aeabb6b37109777bc51bc9a5b40a1c1721aafb55fbbf68aff87d15577a0d +5a2f29f08fb9fc016b5be9c79d7f92e5f33664d2dd75ef6bb6e20e9d395e1f8f09a56464c0fc6a +d7cad673c1b67fd71097564857e22997c3b3901992ec1e8032b7c3b31455b2bd6a65033b9ad3f3 +173774c7f84fa29698429ed453881bdb979532be16e52ca98041dac65a48497d0c8982c2c4a20e +9cb929a5afc2063b8a299e895558f8b066c4fc6fe710d94fe152bab6603478276db3c3faef4cb7 +ad95a9d27d8a28442eeaaa2163febd2a3cd33caf1297141186c1432fd9fb1dd28b021e5a4e495d +9243f1b22c0b5a2ae445e6cdd2da6de7f7168df1e076424b12abe960d6acdfc3fc208e01720cda +8ed97f07d83e0989241e4a93abdf915a594c0677451f20da2eeb68dcfc2fee8a368e36fd9a6474 +47329b4f55571a6d7e2f38e115bee6e6770548df76322cd98205a0d6c6e3aee59d63dfeeeb90b4 +b2e8769cdda8d372c679942cabd2358a503300aca110e9e3a4e2460866b98b71bb8976489c9513 +b239d325e3d347459e4d0886f760ce803d8ab5a9d3af1e6558db1a180d0d50ac3eb5a16dc24d73 +e3defeb6313ef4d18171e36c1e374dd2ff0ce0bc3fd96934af7cc9a32b4304c4730e531fe82e9d +927b6718422ae333ba929d3700fcbecd15ab9939e7d74962a55722c782839f7110463766608b9c +63d47eb69c29c39b861e884f4d3b896c2bbcc2c48a9ccafaca174a671b0c9dc0e13ae6d8a98185 +c145262177f0e84f3c931832ccce69062c37d42a0e7e69e8341e14e61e156a54b2202472082f7c +ba4765ae741e927951b0fbde29ce1a6a7a74820e4d7c4d9d0f7c31872bba532fc0568b39fe70fe +4c258f1647cf6d27e2e3df09b02ed2c308483fc34c7c74da9aea6334e0c664eef00f9546825e02 +a927f8bf51d8a53bb6bbe4b4839207dd211594b9ad631da27596c3690a526dd7f20ab8a01fdb26 +6796645e0d66dd3240249ef4755a01763999ac72bb0c9ee00866637938c48c4a87d2f74d314d78 +2d92ddc115c255e3ae862c5a5701292fd2fb3d04523d6e2f3547923bb117718dfb6e6520f0d0b5 +450c695b8c9242cc8671b7284cb2fd6c8771563eb75ecc40d438749ea97eb24fb6de2fe119ef13 +7e26c13fee380d70ffdfa6ca49f7b7b4deb5b6eabcd202c5883de7803426ee5ed10e6944b3078f +b81535ee808be6cebd3232e648093bf10185e103119ecfa4efe0e5d57cc964d823841461b85303 +811d476c5712fcad0848814ae2871353f7c1c2aa9e4019c41786bcb3bcea5ecfc2f7fb0b65d56d +6a805a47b0765436d8af34eb309262ce0f1ab7e70b845448824612be74c861571b4698e3a551b9 +477ad37b7e34b741bd66eeb9847e48fb9565865d99f05942920949ccbdebcd041d3fe4d6b6b274 +1610776db3299f80a40c9df06435fca0832c352ec42e20be44c04a6cc55225cc4987d80c0714a6 +954d0b429385fd579de0da050bb2802af53cb7c0945eb09125292f262a9738a93a443f4f14ad7e +7db572f77d2ef4c34b000a0972d3c919214dc23ec0e037c369b37a69e0834d56193bdb48fff249 +2c3f679e14aa8aba88fefad7b187886cb8cccc4aa26a749ad2abcae3b242b55a6de304ffb0cc29 +015dc7eedfb7b1868cec65ed39744af40426fbdb5a03b2deccee6a6fecc32810cccf28467a3ad0 +37b13cd84da0448b5806394b051fff82fc4c16e441305493b4bd961775d282317ecf53bedc051e +ca05d8df37cb67673476a90ff9defc7fb436c2299492c1e11ae8de4e6e6dbe4dc772e4f8584061 +6eafec144f177f3f4a8ac3229349215fc96106c49fe73d86528424e29cd1184e889aca85df2714 +137ffea7cab765de59f80118ab67155647e741e0f036f32fa7f66fc072b9672d87a79ba86e02d0 +b603f83860442a43681c28c52aed0945a4d51e856726f31f89f7bb117d530df54ed91f1a661f8d +a9f5116540c13df626e57ee968c62fa14659f7656dd8ccdc7919a466148c89e31df28d134d3689 +8da121fb1a9c7d74f62610a1cc7a69cfed312c7cdd2db3b9d4eb4a350e2fb8267107b3cb8754e1 +40332040c4aa8e9831a996da00f28fe2c9c3c8c90ffe6e7b7268cf00cdbb96e37b8f4e4be843bc +ae26bf7279bb3494cc5b27b84fc69fef8663f5e04f363cc095c38da375ef7bef6a6a68f05a43a0 +8299732719be5466e4bc7999bc75f985e527de0d72e74367db2ad13a8ce616d5c6b6195ac0701c +9dcae9e647f2e8c006613a6c0820c20516dd261a245f8f6959749a360fd629439f33c4fda0e62f +c5f2e2e1a65e521c4f4f7e49a9a4dc28ec26040c76f15e038306872d50f119ac3fe0bd5eed7db1 +6bf9349bdb2f5f6a25279c1b2378031521ca3ba634245333c50570bf96c4d827863672c65a8caa +c4cb410ee6218e6dbf0d5b05f705dbf61b9b956ac962ff1a4f4211b74a5a79487b90f80a6c5cc4 +47a083e89b157ada16742daff10bd4f94be6669c08349ae46e2a6b0286e49b1b63133e2684c4c6 +02b867c7a41ae51e0456b26f11c89c83577836d1ef766d4bcbeec46d0ba8dff9616ecc47367eaa +310af757b1360f0d6742da289d9d44490b29b7c81f586b5e363045919c20dd6bd9893be504b8ca +60b2cb11bf485ec057cd62d9e15579f6787689504d07bede8db4e5d89728f404fcf69ce9113606 +1271ffbd11bc3556a2f34c8ee777b7542aa631f889441fb756125347b2965c25956095819f64f7 +8cfb1a23e8218047d6ea80ad6b646abd23c355b7b68a41d0e30d6d6ecd3034f7a3145c57e241f7 +d9d24d886815ce4dc36008867f1a49c3b037ca92ac8030c79eb06eee835962a60fb879a45c44e3 +acdf0a76f4dca4804a82d80b3a632a06a9563d3c8fa9d22ed88d4caa625b928382ef80b2c5b961 +2ef1f59ad450c2c39a9bf86b36fe6b8e7ace91b0dd68672aea565c403a0a6b04154b53a6c43cde +adddc4ec4590845a07e39ac2a02a32b5e1443ad707e6d8c53b63d172b8245047a3d42ee3b44bbb +af17c2a1b53a9637ac984432721a60a374afdf3fbea5656971e4c413b8690de415936d1d2cea70 +b89a2d14cfd6cd38c65f7d414fd6c86f155aa2504dd6897734edfa910b3c3e1b7dd16360106234 +737d6b6123d70a14e5508a65b86237ea7a0f82839cd877527e8735888252397437930db0c4a505 +b27005fec65487bcf5594d4e92b173c5e7f67c842cf9703063e52ab27732e2fc8082435ac6da32 +ee587b50c0135d21b99b986527ea3dace7d44011d364ab14fd8c58966200df382790b2c7bdf2a9 +d564ccd225e366abf4922c8c2697a487f188ead266eedf278f26b5d50f9c8bbd4245bbb7b23666 +45da9d3c7ddc42e3039e13dd8dee22b0f0964d1fff7a9807c9716b0ae4d7eba4461b4c981b692a +cae9c6921ff496d4b7b97f7cfd4893e36ce80e3caa0ac2628860391acc350be3cb1ac94df91c71 +e3e577c8249a51747938b01df70cb23174d8f83fccf03b4d76340f9382bef95116c555b64580bf +dd56843333157bbe315b18312c8be915286f9480e466137bf871d34f8b14d534e4d5c455bc1063 +db3004bfd2d009e27d2751eb859f7b28e3e97be4404bd561b325485eddc1d1ddd601d189c6e4ea +afe3af55c9245ab80a5c66aef0fe13ee39afed71ec7ee5c44390c4fa677c23e223147d53152bdb +c1955a08b2c69ee26fd7e216bbebbce40e2c111902a3805b0df2bd92b8688c2bae8f1f4b4d1fc1 +0fecad52a56f1bfd455a46c192708343bbea600a94158a82f330982ab57eaacd9d813d3db32764 +674ed58f7bad803b2c1fddc9df20e8d9aa955082a5c61efd30ba3f02cc3fc9f9867b541c99be47 +cef4ff7d8e932df7a6206c4a3a93cd7a4685c405f6dcbc920786e86eb71eb0c7dcc0a15f1de139 +2de6e1f3b8886671e1b108a6d6400676c64660ded9126c384e41a83fd158f2b53f0c364e5755ee +d7cc91ea8ba3d80181e2c2b8c538a8948e11f71619cfccd828d7ab603a605a70490d540c5899a2 +e1f097e449423dc9c493df1f2c8fc46458f7b7aebbb2da8a5cef2843fed7746ea53b09e2a20c59 +97a2df6cd21dbc876138d516969015bd6e63dc90e9f8a7e689667c8f8a94447d5861fd03ea7410 +03b4ee3555cbaa15a12cb0cde9c919428f68ade6a55284ad768eafdf1c73917f80a0ffb7e23656 +f1cb6f50f999d04064e54e89c04361ed5219665834559731f1b848f01e4ab55fd7ad1672b08ca0 +35304c4edc98bcec68f7a134397df8c83795e49d1752747a0de8b9b6dd9d4b81df25ec39928dc5 +4a80775e35cd083bfff7c0035d5cdd22b0ea4d21660db81a75affc1f36f98289c8efc15d5d7ba5 +444e07f2658ed7ca6714161d740fed41d483ab2bc101d7816c9f19e2c846061d7f0d152b537950 +354b62d31911829eaf06009d5d542fc85a1f88015dd67f6d4c8ea654170d7f795bf9a3ff780b61 +f83ccb96b013de9d7d63b7ac669535d3197fabb717f466305c324634f5e3c587b20d1a37e43779 +e764c22a5b23500778a59dc2c810b0d57f8f63224fda1e2b53750e987d2317a78d30ec1afb55dd +00692e00c95d719b05c5b2103b4246a3a49a485a7290b4f7cab2808e3d5c8aae77270b23d18db8 +8771ee7f74ad7827021bd7e0d44eb01b62a23151071fafacc4279cd191fc014cb54df46fb29c8a +faf86c84159749413b2e3fcda4128661092771c0b08038fcf22d8406f0133da80ce6e5807f98fc +44f08a31c475d0844623c7153859f6a734a93fd64195b16e5368f5db0fa7eb94cee118000279ac +e72a25c7aba323d2a4142f0068d48c44d22c07db6001a46a76355e73ce263b6793a58c6a6fac4e +91991cea2c4d45e5410dda078e73285be49ae49ff3c21a61a3bc38559988f9916a5b0e1a7b8573 +2d54ec4ebda5112ae6c209bc3ccaaa9b5ac31b47aab7f9403feb7a65bd52528be5519b00c426a5 +e13f73f95245490c6cb082aae7bfdc3af0840a3f7c118bac4b9c1e5eaeb161e44a76c90a8178f7 +abcbc533082e5423100455051c45a40e55a0e253dab45e439da0e36b3ea3bdf09f6c4a07239e34 +bf4d04ed2acbff146f33d22449f6e2c2137f68b14508bd3a6e4b8ddbc77c6e99b87924e812c188 +1de11134cfe70c8c4ca17001de299223ddbb91eee3ea42cdd37ca0d38335bcf2a3ba19973242f6 +f93cbbf74f8b438a03c0e68b2a4115d252ac672574168746a4586170614154223a3d4b07b85c10 +bb5ed87d36400460e6465d6030ea9f2c6a585a59a9b470a6bf311baa9bfc4ae00834682904b8e5 +03d5cad4131a4f67203dc5b9170c6746ed779d062e26edd0e10d22868d652cba1dd2390a2345ca +3416720de873cd62736aa6f95bf141740ef3e03784e790d93126fe74090c264a634c3e4b9a39b1 +e4f2046a080f4717ea3fedacc0b69752bcc52c889bba2e86ac1cadda8df81c5d7fb039ad739d41 +1a18ed3608b3b8abe0cc33f071b0d9201763f50c3bf46bb695747c21e57e970fba52ae3f89b536 +81df2203fe7a5ee14dca9311869404d1735a3e85ec809dadd22f01e5794d4d8ce1e04ab40bfe9d +ad0d60e2043b9a69971648ad19deb0e02d5470ebf973334ec7ad0f22f63183f9b034bfb738e196 +4e7ead9a87abc83d742e7c807bd596f34e6c4fa44a1a5781d8fe54065b0a7786ff941ca2394130 +563fae81c3f7622e6c0f2321c83384609f95b38ac58398c5a88e5a53794cbf2fe3a69cde34ffa7 +57d121c007b922bb420aa2bb4514fb04f5f7cf46e26373fa3dc8f7d64a6c733a0d9b26c312bf6e +1e78a7cc631d21300ed4ab7c0a301c481c8046393456555f98caed6f9ac2ab5818c9b1cc41405b +2a180f79eb96573d16f841298641a7d2186d27ea7fffa56167a519cda25f00e979f1c5d88b64a8 +a2d035a55358edabe18029ca71f380dc9c41affee0cc521f370552f2156c3b648d70c7f3396c13 +ce25c02e366ee9de7917e1a7ed0977491a06467f453c2a48e4bc55f9b63c7fe3c2bc6a9e45e5f7 +ff57b2003ebcd6473d6da174e5d7301692e11ae124dd9d3e8b21e8271c5a813bd6f7842cd09837 +c4b767ca37c2d0e2f563629cf06fee11535f0b07c4b464dfcb5f09419f785931143255baefd798 +3e8b82530b4e0125441d38b88f098ada7419653d46bb86a949a238ed3dbe2b34148712f795bd8b +cf679664be53dfcfe05d81af30a87a40c4efaeb3034a4c2fd9ddd4270c46659de8d9ef8929fba4 +32579b47b8f62927762e46a1d048103acf6194af036eb309bbe921ab338358c68d1cf7ae5de8bb +cd23cbd8678555c91c899076dd0745f2356ac747234a9250ed173801ef468d28d99c4bf851531a +4d08d3cc710cc01e234e0cf81d6403af4baa57be9c1fea25ab97d79a1b469cd97b46f085023611 +8357426a2ce1633d0009666f7b316d514489a2db25b154095126658a58665dcf3d2b7186d9cbb1 +c1ece7aa622c29c2e996f250d58ec906245f0bc7329e264b075f0b2b431258d44f36e30135ec7f +8d0032786fd2568e2e7fa4eb1787 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%BeginResource: font CMMI8 +%!PS-AdobeFont-1.0: CMMI8 003.002 +%%Title: CMMI8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-2-0 def +/FontBBox {-24 -250 1110 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI8.) readonly def +/FullName (CMMI8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 59 /semicolon put +dup 105 /i put +dup 106 /j put +dup 107 /k put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203f1b2a15e6749603d63b0cbb201e4b9fb558 +f646912754942767968fa898008988333600e410be1426b8ddfe0381a0146558732991b59cf9b5 +09e40f34e7e8d364bb603b7dd9700f676b448ee17493e9b60a5deba1b074e355a6b5b981bc22d1 +b3e913e89c2f921b17b998c8777c766f504f7f79abd76571a2ff82e80534b9acc217fbcc3ac428 +97b29fff832ec6360d179b65c8f3ce1127ee4334d4bc62b88ba72d80cbdffc19b74f81b50446ce +e243d68488db7888e90bf192713b06c627ffd1d1df53de9982da5f2cd29fcc44a882ac39232429 +61908bfc9119dd4087740e2eeccbf6b9fb4b7e7bc880a7b78a5158b70bedc67acce43dca8e2377 +e6c8bf19b448d2573d4e3b2abd795f216668cbd472c84bf2a0a16bee0a5d03a5b7c3f815412bda +f2d30962f81a030a18eb33488d36b34b55d6938b6e0e32a99be0dae3fe2ede1dad84bbba59f1fe +d19497b451e6daf304bae623f379ed42481ea85f1b6cebf43d05de9e488a38a6c24ebd157e83c0 +66b45aedf6f2b0af66bca3b91b576c8a6afbe0e07331b3ab000d7700c8ac5b94cc8de627cb8b7b +028105502c93befc548885d380fdcf39bd531778d29fd3fe27f4738f0d74f889299b0d68638adf +a5d6e6406ba9d26da7dcd79ade2820164e8e24174df80f1074769738681138e226a1ffa5f07538 +0883b8edc9aa1537034328d91f79ea6237fd9339fc172146511826c6c650ca7c62ea5206c08a42 +3f3a6a6873b504e75a87279d0acde761f5eef09c325b93ab9f0fe4fb2e9369c8b63755a32f5403 +29fa0959a48e01f645df4cbbde7fb6d5dcb6f8403db96f92efe618353382b03db684c31a1b1be7 +3d5bf3fa317958dae1d8214704678fb241d15fa1b0db8350bd567341ec18864e1f1657fb5c1918 +8b016a9c79bca25d2f6b4d778b886c44e9555ad597de0c169ba728bd39c3130dac392f19172ae7 +e169f2d6178e61d941c26c297c86bdaddac055b6d670056f74f4324c1bf6cf0a0eef0932e57fbd +764579c480b92cea1bb419f5ede8b2cd134972840153b7164e9e9bcb17d5d9b1229ec69407d6c6 +11bb856f1ef4a2a92fe14ad8ab71f09a92c75d0d47e4cd3b2183b799ff2fbd467c401e67c4d9af +b3ad8ae9477d8394e2fb962c5675619119204222e88612e0077415e120665c6056e129a98b1333 +98df0e9717e08969f1e5ea88e2479b3819174bf5b77119ef6fafbc23ccc991023091dadb369fdd +a9072525a31deb49926a88bb21c7ff8e4ab6fb7a25ae11bd6d260daffca964d001f3930d5086b4 +82d28fef1aae9a1a14119ef4c9397b35aa8d0fb73f5a42ba94b355f41227e0b8ad5c42e8ce5062 +34233127966976a32279c5f6a2630d13ad9c68127d14a9d0569a82a6bbbd234fed056e733f3c7c +613be01b21ec1b1f6aa91bc226855b4c6ab30d781a79a70021d67d3051c5efb69f82c651a86490 +c85e832c66c620e925986ea64e296c5dbc97a35fd8db616fd51343e1c2b24f520a1d4ca1ac5348 +4596a30e670751303800b6f63ab61ec9a9c49499696d1c350d867c25ffb3c464651f9f233df886 +9bfc44ed9dbe8e60e4cb6c9d8afeb602b79bf76c5d17b78fcee53d821ece0553842b8b987eb02d +0c47ed55715d96371c5ae3cd61fd2e0b809c36450216ec69ce1f65af98e0c505a0c2ddd86e4ff1 +3f323e233ea6a2a0686623fd8aba2074b95d72fb1cb130ca7f3021022dfed0a91e23f028562f21 +33b48fb660a2db04bee0275b1e04b6ecc1cedb300bfae537deff7808eef27b55a1ab21cdbd123b +9b2654a976f07259dd86711c7ddd67a5ac179e32da38d3cb6f749eade5e81869f4a7ff100429ed +70e3920338004cdc393d9c0408353c58acea2f74a243bb780f6f44dea75286c7d01cf7ca45e58a +2761cf992ebf06b9615f39c1778b78f5a936db519c6c5b4acbed0fa713877f62e06adf06da6ea4 +da5feab1e1ce901bc30b4613d931a5852a03594c9c89be6930606f7962e0ee9c4e5aac6cacf786 +76e662ee1617cfccc1a5fbd21480336d23abea78ee4554a61ada796f8ee6f7ec342e11056ac651 +b471c9d05cf288211e89307a98caea410a6e562d3479b27187c3b2d5a593ef64a79bc8384e535a +44f2909b78eb108ca83829fa45e30aa7c9d7869f941d985ea58c6636970c6a2df774166ba6ed12 +8071d921254378cb677aa18e10f9426c3e4bfc8ed21db9363570bb0d24c9fae5c946f13598dba9 +6797d3b5c678bc7ec7482465bc7a82555ca2bbc7998bba7cb4d0073e13ecdf3def2938ed5dfee4 +dd98c328002b84068be7dcda22944d76dcc81ead2e09ea87ee824b590eb435eb158348aff95dd4 +d8fb02356f3171539f48a60100f14c95a4ca6cd95b59aa04c178e72db020fda38441eea4197d1c +3831c4a3e501d8b3ff4ea5ec47a6ad5070844da4d2d74223bc492fa5ae4a4b0799578594c9ea67 +e1e54498aa5cd6aba34ad3417f04f5d8d664a7eb39d41e2d17643caebbccd9c38cc5c9541641a0 +9335efbce0d276a54253efd68141807a66f1dfeb4bea5889ffa34d20bd52012206a9f8d3e0f6af +c03fdbbdf3e51506ec6336e249cefb571ab84cbdf8e471e3795c04e38a5306ba6d450d72e50910 +d1ac385bb06ccd4b8e433a325a4b7facc976bb31fcaa1e62db2c4fe06ddde7367930e336b49f47 +dad91c87359a35d80ca2e117e86b52e41e9278046ed923454989e48610acb3b1663f1971175265 +9a9d7bfa561c7ace0771794fc778675f83c5edcb132af124c7e6540a140be0a268836c73a3c746 +dc964e482e63c56c0d396515283970fbff182f9f684fe2655fd8f5d057d22246ddc3fd11b77552 +db4d90adbab77bbb1fb1592129de0aecf822d7d36e52bcdabbd560b403a5c56c5e1be789c3ac04 +9318c7fac5e5861e42fd66c3c0f46361078d7e036281682bce9bbf77983c93ecbbeba9b359769c +a44287fca1b98f4eec4935cc93b08aaaddf355c99816453587310f08c50b9ba3d1075388a1f3ae +d2ae32befadf0285da90436d1d7ea85d7b9b6df2ac4b778cfadff66eee54d1a1c5dee3cca7eff5 +7a7c2931933ceed90ca26daab45e4388ec4dc366b9e88518d6cf094861d2a59282044cc06e63ef +b390a6df4ba5eac7ce39e1ee033d84099f5be96612789af3eded07266ef10a0fc23ea1ea97040b +6baa63138b1aa9cb8f5ded781260962d7618edb200c3ed976033e8967a8cc676e9c11f74be3434 +3a7ece7ee97e8f76f7e95517a6d6163527406ef5a669535cb2bf4031f29046bb2d0fffb47a576f +5eab1d00a582965c56f28c00b3bb7be2cc8d8391f789070d775eb775437f0cd53da840bb357510 +4b63e4b0bf14e3f14b320edef65fd4caf58596da491bbcf3153ded3b718f833d106432df8db8b8 +e6b34d5308c9010a5dd07e0e53260bb84bab3ea748e8d72f75901604f80f4416920d69b4b983dc +db72c5e9928f01a4a85954fd74578ae336c782cdf81d1eb7ebcebfbae7ed8ab4862584397928f5 +02d65139ccd582cf0723c5262ee54b9d2b8c39614652a8a90e1c3b657d26b99da298fe4b9a7e98 +848f619c9bb4ff9fd215b72f99506f06355b33268937d80afd9f9acd8172cdc51fcd3a759aca0f +7d4ebb07840840ee42c2d5b8b2572c6db3a7657b75f2f0b9730a20112745703e2d0fe709436ca6 +a5f36f59e64d9e37c0a23d6d289e1ac1da273872f5fc5c3da2b127f078a4d7ab3fd7e124455817 +ddc796d54ef26a1fbfd539d3a21b86dd4477da49213259abb3ff241424f2be5f89151e02ff87e0 +bee26e85c0e518d8be7cc9214b8e9a9ea1dbb49c6c212ccf0890c0f23e9858947ee344062ebd9c +574979087439975ead4e85cd7bfad3c91cf1eff577843af1427d06cb2f3bb519ed1591974218c4 +3f0d2038665f9e2e3960b7fe68cd3cb2db6b36c7997c6b21ec11cf1de049541001fff26d14c255 +e3ae862c5a5701292fd2fb3d04523d6e2f3547923bb117718dfb6e6520f0d0b5450c695b8c9242 +cc8671b7284cb2e1e9eb097a3db1b4d5e8eeb93b4dc7e38c0a1047466554ddcbaf079b92ea494f +6fa75a84c5aafe280284d0823d7c22249a21044bb0e64062074ecd17b62e03edf4945a294bfefb +51f5fd870d9d7230fc91b83c1d85a886cddf326fc90e04362145d6e8630c50594484fb829da18f +5c078f2ee67d2f2b08dff39ae2e8c9741fa989ae494c7166f122d2c5f71b97c973b7ce8500e9f8 +7ed59c30f2e99cc4d34713dab680598f41955fbdc26a14cf1e73d6bd6b9aac8d3bb998f2d0d647 +356cd236dead6561389ed3a6746221b0cf15d6648412b35a6b546a0ef5bbb34aa376d9baf025bf +c650c1b74333ce85413d0ebb2f4d082a26a5bc3c0a25d2b12cb159f140e00e262f1cfeccb2c802 +ff94cd34da0ce9b4b3830fb1da85b9b670d5169928990a2e9cc869891ca2ffad9774e6b9254964 +4daa5fe00ca5be4f5ff91a0b6d2fd8f96121d766391ec4ed3e73dadd476b7dae1a50afcd98db7e +27e44d30416088d9bc07d4661d9ecec0806830abf14ce55aa3ca2df66e8e748b8ed46466f1eeb0 +72ac0674fe6fed231e0dda59ed7c42bc05ef00e176050ac4834d893de42474ea20db1e25059e84 +bd137ef65a02cc295b0ffde4cde958790fe88bdf2519abae7f8cc3e6386ed35e04a14f1e386192 +2645e3a3f43b48a5aa1999a5efe192515fcc625c829ff5a7b337aa422f5e920545f9bb269c869a +821d6c4c26dd2ae746ef0f0b4c1e7e9871adb5270e1ca9be28225f7a0370d4c52422e25263ee10 +1c4ec1c7811b05ad42f364844a56bb91ee72fc8ed53cc6954d2bd6f945d739be4c61e36143ce89 +0fc0cbf2f610018d678ecf7ceab18ff5a0e48f76fde2463d40a99380d679b3b76d39c664f4992d +23e5988b0d1af33dfb04894016e852efd1effe586153c0f31adbdbde3f73fb49c5ee64d0d02e15 +04248fafac3d903fd44679bb09c30288139b41b1e90a10139ca3172677250b16535a1f3e5e4b6f +4264de58896e66051fc677030a121c5a285c47b6129cb5a3998830ce070d212f093fc1b44089f6 +03a21f45f60960f134a47226874c737ef6c085634b0a4a66139420501351f737a73f39d960ec38 +420be46e5b09d298e7c16b8e32f01507d40141fc52da1de718d634ad9c8b00e46eeef843567593 +24d2b9a3473c5da38de9e30182b87f91b6a7f7bacf29a93b44c879ccdedb063f9d2e51e0f1fc9f +018fe12433d85af24b55de3a61c4d0a2da4fde933f5f6fdf17e9fa9932bfc46e2d71f6585eef5b +2e4e89e797a24b799d7f064dd1a817a53677fc9eb8cc3e7f93fe50e8d50e3191052943fd6c98b5 +73bdd1f6d70349e1f8011599e3f8fdf1d6e80a710e51e434e85801617c6fd8accf1b77b4bfccdd +35cb4c0367f4eb4d8d9de8284d5eb4f43e2f8320c2c5a9ae90ecba7e65d377e91db69fef270692 +35366ad3e126c3a73ce97f4c90ba00d206fa012c327fd69ee59af4470a315b1799cdc0539bf90e +512c8fc3befe4d1b01d969ea9e3fef976cd6e0fa4c9ecec955b265cfd58ab8e5f7371e479279ee +14b689269205c5b506940606cf3e24a1e7eff3ca96ed30ad6de243de57690c3d69a401ab3315fa +49e4bf4acd4dd1ca39272533e82efdd508e51c2cd286ccc5de1202c7c7f654521750632eb637f9 +18667e2233a43df75239ebf28f3129eb5dee2fc5bfc331ff709b0fe9b327cbbce98bca2c861c65 +47e504071218cebe6eb5f9baba4f2e11bcc6fb553a544a567b459e06375102c69f8018dfba6a22 +7cfb13e2d74e6a521e01b74f2963e9a0a1c9fd87a88ee6356e3bfabf55babc751d2bf85e6712e8 +ef57914920775906662e4ba68ffa21ad422d34e1557843ca0568b431101a1194f8ab1ef25e886b +fcdfc10f4a5ebd9530816548bc298eae4a0b6b52b8b59c644c409b4191b6f4203f52314f2675f0 +2aeb65a72c66e92a2ac703e15d8d381522c0ac30c165b822a9b8d18caecc094ede020756018dcf +51d0701b507519c4270b70d8ce94b436f640c15872f9b5b77892aa3d110e4d6a658f0815c61a51 +27ba25815378683f46e69e54a391a8675977e7df9c2d4e6fa9919f029e50cc2f266b31ee9f9f24 +452d5838905f330cb7e416b8af836c5ac26ab8be2ecc6ea4bdaa08c30995709e225c21d35db636 +9167602cbfa8db2697635925969002cd1bee745da2e56c17ef3f0c05e3847147f86963c37a221c +8827195a8a3d38993e4939ac915bfd9a212f5ff3f826f742b952018986f9fbddb69c3ac65a845f +7f33c55d4be60a1817ebbca7e1538e8087e1bd5c083a320d52953be65f31e8339c612a510b59ce +48d2ef7061560c4ad258e7dc59694493e3ac878246f37d6de89253ebc8830c6b209e818213c4ac +4cf1f391ad91d57be76fb0e2924a1407e4a949c905e44f54eaed6419f13d59942c8079336a172d +4758beb5d3e786fb933cbe4fd2eb53e4e1dac34e821eb30fd44bc6cb4298242c38f848fc23aedc +973352be6f32e31e25f18301370f8936810b0566b664b042c7ae0d78acf0a87e5bf6f9b66e3581 +68b2cea30dcd940074f3adb793cdb136161fe2522905e87b8e463f95d4dab7e14a3df7bcce8141 +c5a08fcfa2bce9f2d1b05a7642e75877eb840149aab007cd239ae47ad115929427717f219b0a89 +07f0ec79ade1b901daee87a2f839361dab43dfff69650f601b24061a9353cfd619ff9626f63275 +fd09a5b13bb48b3379ec4d147c41197e8387fc04da7be409524cef74ea91dc066808a7fd0ef395 +7a44e2503eda67b1c61827479486134e922e560a673bf314d601c66003cd0755569085afc84283 +89a140eb976ccfb8f29e27587e46c413abe2efb51af5913f53eeb74063162e0ba1e24cedca3203 +77d3e11bd374f0b44e132a5c35835b6e2cd32948ef9dc7931d104c1385709da882ded6458319f2 +1c2329938396bc074106cb9cfb9e0a915f8dbc8435f386917ac87a2ba45d857ec30eca66fb4044 +f5439ecdd556b82a0e43418d179ad883c85ac276e1190cec242e3e1d86e725adc39e46bb6c47fe +9e17e29f8ea81e870302a00d91434f3b7a05f243176e6ef1082541a1b9052191ee5c2b8e94a2e0 +2db65fc769653ca8d1c07a13cb853544aec7fc35c5218de3128aa31952dce19c55c23fd69bcea2 +c661f57b11b8f9e86bfa718d15213346e78c701a5e51923d6d937e62fde3669b214d240538f069 +a100a542720a8631de88116de775f7acc2a49ea6c02a24408271a846990669f2af60afab4c16f9 +7f4e88e917f0ffdce68f22998ac0af2a60a73258c3a4bbc42a2f918123128195196d0e150d79ac +3cf4628503d1f3fc528265ed8324e56849a47b3b07c29940b91bc270071e221d355ea51e9942d3 +bd7f99816304fffc8f5b036c953b38759341ed5d7b9c8e6b70c409dd8362fd291201cc385e4a98 +d73e8518a4c0e54415256382032fbd2fcb6e403d34b85ed4053a8cb619bdd4de001f4c3007b1f3 +17579651e6d6662189cc2d95ab85d7473f65c5d7b4ac63b0fe928f3400035d5a9d443d0df3532b +99f3ac26cb25ea3cd64c341159061e02efbc7c033c05cd919bbd827a6abad7e9f6da288a5ca0d7 +41e384b269d97dad55fc6bcf596a5c512b11255c388674fc4022c57cb4689fc0ff8b4365c8cd11 +c377c294dcac8c7bf8d4e45e633d5573badf96251f60394c911e30a21a1e2090106825e363007f +b213a9ddcf2d7fa77ae29f556e6bae07dec4257e7a99ea0b4a4ae8f1acecd133f454c2f504ea4e +8456ade4c5a312666bbf8bbfbd7aff5e52151c417348a9f4305de84ef28e07bbd4689a059fa9d9 +4d2af1883872c216288de853c248dcd85b122e775e2611b3beb2179b66a0daa43722ae49963797 +eaf24f909e4fac448a19dbc21ee5a59436feb52c60487ae7dd3e07b9d432b68f396dc38935cabf +a6357269002a26b241af82f137894f2b9b40c68d34d2425bc5904b334f0a98cec7b922ee5b3ff6 +2a0b04e82d8b2b3129a2d94c7258d26c4f9866acefbc82f45dd5bbdbbe987f6c8e35c2492920c4 +654d654d39d47512061184dbe126dce173da613908c205196742c6eeb591d3bd306bd6d940222b +0723fa7509f4107ad17457528c96736f87b29dcb7db8e8338ca4a48de333c7fad37dbc511b9ce7 +102f8ad1c2293b79e613402cb85386f51d0d4fe7bc4f5b60542f1872c8d64f82b4c1bd3efff46d +38b3c0b5caa1a1de5e801c342ae24794a47561ebeb6306d082fbb2b3163a7d70420e8d5ca65037 +cd017f6af8e8d7bcd12a65140f64f98cb091b751a5fb02aa1fc72349fa5cf2369e0d87616c79be +63d7e3df02701ba1310b0f9427caf076d292b96245c9d9641e8aab802b454ffdbe0852405a0b93 +b8b2f815b8a5281cce8369e5e7b24c989f65786176f3ef8723655e6676464ffa3ff5de75b47346 +11f9016979dee94075a8c8d53faa74e20d86c4e179aafc8d8679eb778b568b1c45b8890bc02c83 +7345b5b19b844dcd3441cf513fe9fd73435cd31987fee0a4281a6a501336e204ee168bd37b871c +b269011ece361226afbefd809cbcdb5948cb4ffe375c1c80c2b6cc313cbf4ad2a34b457621b6dc +3d8d629e9ec27eb5d06e13a01ceda6ea53a401108cb6a53d534d6c17b7b09583a6e64beb558b89 +97a78b5623ac23ed5eda3ee830fe66a28cf47a7768287564ecf2b0059da8d71976a6cf4635f2b9 +5885e41e1b9b6b824ddba6c828356b27badd9c14ece37f3ede3e147d7511a58a96aac3f757fde5 +7607dabe33b995aad2ccf3c9e94fea87b1c849588b018464e3edbfecd36c00c329aa64a9da0edb +7836120e0a93bb63fd8596da7f1618fa3e66621a21589313920af03ddf9e7bef6f1208eca8010e +1e8c50c8483c76364f889f96da79158ebe121e40a9b4ae92b19486a0fd29d85d57f8a5ccf145f3 +5ed4e2a1f09fdeec4ca1e14e186ee4940fb3d7902926435b9dcec34aaf5d5c143a1f3cfe4cace0 +a9744be6d4d91303b34626c5d91008d5ed732deb91dc005c08568c990539 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 0 146 134 +%%EndPageSetup +q 0 0 146 134 rectclip q +0 g +9.801 54.422 m 9.801 56.82 6.199 56.82 6.199 54.422 c 6.199 52.023 9.801 + 52.023 9.801 54.422 c h +9.801 54.422 m f* +137.801 54.422 m 137.801 56.82 134.199 56.82 134.199 54.422 c 134.199 52.023 + 137.801 52.023 137.801 54.422 c h +137.801 54.422 m f* +73.801 118.422 m 73.801 120.82 70.199 120.82 70.199 118.422 c 70.199 116.023 + 73.801 116.023 73.801 118.422 c h +73.801 118.422 m f* +0.4 w +0 J +1 j +[ 4 4] 0 d +10 M 8 54.422 m 136 54.422 l S +136 54.422 m 129 56.754 l 129 52.09 l h +136 54.422 m f* +[] 0.0 d +136 54.422 m 129 56.754 l 129 52.09 l h +136 54.422 m S +8 54.422 m 18.668 86.422 40 107.754 72 118.422 c S +72 118.422 m 64.621 118.418 l 66.098 113.996 l h +72 118.422 m f* +72 118.422 m 64.621 118.418 l 66.098 113.996 l h +72 118.422 m S +72 118.422 m 104 107.754 125.332 86.422 136 54.422 c S +136 54.422 m 135.996 61.801 l 131.574 60.324 l h +136 54.422 m f* +136 54.422 m 135.996 61.801 l 131.574 60.324 l h +136 54.422 m S +BT +9.9626 0 0 9.9626 0 54.422 Tm +/f-0-0 1 Tf +(i)Tj +14.052557 0 Td +(k)Tj +-6.825527 7.227732 Td +(j)Tj +ET +136 54.422 m 136 38.422 128 38.422 124 35.754 c 120 33.09 120 27.754 117.332 + 25.09 c 114.668 22.422 109.332 22.422 106.668 19.754 c 104 17.09 104 11.754 + 101.332 9.09 c 98.668 6.422 93.332 6.422 88 5.09 c 82.668 3.754 77.332 +1.09 72 1.09 c 66.668 1.09 61.332 3.754 56 5.09 c 50.668 6.422 45.332 6.422 + 42.668 9.09 c 40 11.754 40 17.09 37.332 19.754 c 34.668 22.422 29.332 22.422 + 26.668 25.09 c 24 27.754 24 33.09 20 35.754 c 16 38.422 8 38.422 8 54.422 + c S +8 54.422 m 5.668 47.422 l 10.332 47.422 l h +8 54.422 m f* +8 54.422 m 5.668 47.422 l 10.332 47.422 l h +8 54.422 m S +BT +7.9701 0 0 7.9701 44 42.425 Tm +/f-1-0 1 Tf +[(supprimer)-354(\()]TJ +/f-2-0 1 Tf +[()-3(i;)-177(k)]TJ +/f-1-0 1 Tf +[()-28(\))]TJ +-1.338916 -1.505627 Td +[(a)-59(jouter)-354(\()]TJ +/f-2-0 1 Tf +[()-3(i;)-177(j)]TJ +/f-1-0 1 Tf +[()-59(\))-354(et)-354(\()]TJ +/f-2-0 1 Tf +[(j;)-177(k)]TJ +/f-1-0 1 Tf +[()-28(\))]TJ +ET +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf b/resumes/xavier_dubuc/src/pdf/neartestAdd3-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03975ece94e0b6ee5daf8ea6aefcb6e021936e2f GIT binary patch literal 4115 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 Q;USf3IT8^OpPGRD8(=), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments + +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /f-0-0 def +/FontBBox {-32 -250 1048 750 }readonly def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 105 /i put +dup 106 /j put +dup 107 /k put +readonly def +currentdict end +currentfile eexec +f983ef0097ece61cf3a79690d73bfb4b0027b6f3b53cc32be64063d04d328b49c17a62c396cfc8 +17b9fcb732c3b0aeb6264b2a70f62fbfc397eea8d069af80a71b775145f9842057f969d124e630 +1a760710a5c51e8981851fbcf7f1cd1f2ab78db91af2a6f264e41cc2cdecf450a3a33c89fa447b +8bad4068cb8d7d37adaa4caab8f72cc26b024348ef8708a0ab6ee56d73f035ac9b506c91fcafc2 +40791cc10b1b0ca42c87a24a69e83f61a20432744f7d79437b93825d955cee80718831f56e0254 +0ae4b3a70b9dda35ca4fbcabfbc50a4cafca7423203cf03b8e9eafb091f06b2741ada33c61933f +ab98ef2fd54411c6564b030947ac99cf02f4194b6e0af84cefdc23c1b2886506402a156f0946dd +e0f96a087eea2ac27fe5bdf35b5340fc78f4deda8c9d11d98c0f5e55a92c96eda070164da36646 +45cf37d0d548891f41c633b2cf39f3681ca5b295c862e21d4e3d461f0604fc3557ead3f103b7cd +e8788062ee55dd643ebf68f02de9509a711b769bbaa2f977c0c79c626050e6cc409496ca36999e +1ff008ca97815500e97752078d0286a73dfc1d55e84337b5eccb366bbff2cba70847a15deffc9a +b9465907d667d2583fc8cc9a1b753fb839c71d02786b206edb49d1f1e1222f15e35c63c1308f9b +5a012747cde52cb2b9eb0c6805b3b05040b32dbc7e380ce5ed54283fdc2eb2b9eb0c6805a609d5 +bc292019eb65c765ddae5d9f5a6193a059c6d7674fd34664fff5fc0442f1fab44943e0f74ea3c6 +00960734464cdc627ab1f56d3b620c7d61e434c0469999ad8a683b008d4318a044a01a6ee5c4de +a893d727949247b65a100468185591755ad88509374ea309c172fa8fae1f28ce2d6b478e29984e +142bd328cb3db08eb3c0798faa3c961089be48cd68ef446a7e7486cdf303862f2c49a504f01157 +77979c3cdf97f2fda864e361612983097ae515ccdd43cc4e7c2832837b2730cedbc00213c1640c +bd6db49d0d729017e5a45b2eb6c10992f4274c8fa188470c82b5623f4607dff4afd5892cb6cd5d +85a03022b4d80fc1c3e271c4a3d53241988b6c9c1dcef7a0f9f19281c2a01c858d43fcd28c360e +5aab9ba5d4dea4db85e3a26cc0e8d7defad8c9976dd7d45d9879880dec2766c6d613450cdb6c87 +a690dca9298b59923709795bce1cb2a7f1e3c7888ad49ad9f12090fc5371ea8016b7c0da013dcb +ae8ee5985b69391d249998fdba8da313ec5788b0abdeefaa9239c4edcbb4b311939899a0646a40 +31ef6d0f32a9642bb52ea218982daa9fb54679a769dd0ce17187f09b1dec550179a9f8ba81883a +fe662ef681b2811e81e3e459cbc8e5a6ed948602df36cb16ac7dc8197ef5d0123780e1f4e614fd +8d60f5f6c69ad7377806b6f64aeaa409fbb41dd3ccead8d56e06ee86cac471c474e1e1b727a0b0 +18c82b41297c09366a3f891de3b9807b62b6b3823d7636f6df7ba6884d206dd39e8c56bc07e542 +8d35af43481b160d66572f2eeea2971e9a4744fd79897ba8f917018578e438f98aedcb8a073cf6 +79cd7e52f77385a5b336fa80be78fff9705ef282270f7b516eb7d163181c4cffed31a5553007ec +327cef977efeded1342c72944f456f78d41d031fa614a8eb118a653e1a77fbff5c0e58f38d44a7 +9124a9328900d44e67cf410869f1c45f1012079ab637f81356d9cf0e9b3dfa9e84fe0f296b85ca +ef4ed92097e52b9e71c17c6f8f7637f23fb60abe23521a3907d3442ef45562aee24aecab21b42b +9b24e22a0e58b33aad59fd9ceb08743b270c653b372650e67ab556369259ec5356c846ffe63e57 +a421bd03c0e25a4c2a2abe0cc24d234b41fd269deeb6af086c4f12794dcd5e2485a4831d60ce1c +6305e0ce6b18fba63a71c3c1a88b4aa621cf9c1a2c5c235d433725d14acd1d0a7fe0c8dbd88a46 +ca104f08806a8b0fc6a315fe9e4ab19ffd534cd281ddfe35664c24b7a6e4b9c1d6faab46c4b81a +dadfd591a3cae35e7684a2ee95ab6881a9ca351704023561d3d9b4214137112bd8b64d9085474e +e78cb85ae23d179c21f8efe8baf050d88ecf0f422bf0c15f102b5ec92484ae51d50e5705fb8b28 +e62db9f8c32d691cf9cb209a50494acd6e55990d15c6a130ca5a094503712a5db0655f4383cbe5 +785702c3b95e6acff0d6d1bb86c5562b71d366c068e0df346ea2fdce1d673a78d04a3dc88377ff +ae336a2ab2cde346d17e7962de2438f4b5e608cc9707f2d560dbb9c4786970d8df05b47c81eed8 +f26573b38e1dca64f4b772f49554f24bf63e95b6b2b952f2807f3b35ce45c689a9fc7bc36e6413 +619bcf52bb1cd0c752640dd4dc6104390a7546dbeceb7a2ef1a04bbdd5ed4b730fbc610bc590ee +309c3c49b5e3c9be27369fbfb0526ebcab6bde96c9ffb87eb7bc4361381e0f4472f87b4c17fe35 +cb93ea3fd8ec25f49c92476875986527b7dc4093ac056e5821c44d7fd4e2cc32423ea320d5f6c9 +38e04ccc1c259fc57282a2a876ae3062aeebd3efcf06b72d8bc51eeaa8cabaff8961327318f53e +8e0136d64c169cb4190942dcc3d7af79ee0575101ea563a9fe85dbc6f3611a926f77f33af26690 +9cf5647f64a55b285cf54b5b334d0d0011dba80af1eb7c37b0410072d90429b7db7db6ada180d3 +202c6ad7057c7b5fd5f59578a17ce04b12d8b8de2c55fef874bfea8d9825b5ee233a8ad91cd8c9 +56234b1dd4407eea57d4bf78b89f124d0637e3a9a7223b6c73fd93a687528e38c608f62298a60f +08c11b62a9fa39068feeb9b5646e84d422aa835556761d1459386adeba9fed5b74e2d78f695c49 +f9d829dd85b9641fab34cbaa49e3f306ebb3687b1bb5c764495943074e2dab0c4513bd1d14ea2f +5fc1069df238f0b38cfdcc7ab9e945374cb6f45c740dc95f8e6c82fc3247e14bf27443e4c0ecc1 +09873c1e51f325d8d52338d5cbc8982fff68fb5fb92f11783bd6cf9b2307a2802eb9e68321a10d +4431ec6a9e4b6d5ae394f2ec0e8b53385143802f018edb580ebfa5d0406bbaf8dc681185582862 +2626125e293c47204bf307b1bcd649ebf20be0ae42b0364b37300da60de0649e2150e70614d024 +a3d2f75bd9a886f78c71b59b6754a0bf7aa2f76f920ab9c0f1cd1bd531dd25e6c2a3e3bc8da49b +1c1ef82b4737cb81b0510d551f844adfc80a55301c8310f9d103c489c90a44f84f47b6f1b8d474 +366071ca1522215ace0d842767ab2c961d1c9b32bb886714945aafccfe513743f5f5c44dc1cfec +eca538472511896c85b2c9126173c12d4b2b36c4b62cae0e746c0211eefb8a8fccb473bc50fb48 +a3c3e6946016908e5f4f4914fdfeedf1186f12a39f13131629ab408fb2e0dd186c257ca3dac07b +e9a7528c725db8a93d52ae0c10e4d290aef73c7fb2ca6bf922423eb71a8c59526e3d73e057d627 +9630dde8906b795562f4396c0869a20694370f2696b00fe2f96369b26d56b34a0fe7ad376519d1 +b8a50598b2d5a60004a3b7c89218aa9ffc1e5e74ecc4885c517c0627b58b60b136f651c1d48f38 +8fb9351fc5c46dd3c4bbcb7dcfd01e6ddd4063bff55a34d64c55599a82417717eb593ed428b677 +50972bba8252c31507bdd7435abe4b4edbe81b312cc5f91a1f9237ee9c278d11b51833f65260e3 +bd0410699d0a0b8c613152578fac985028eec5f10e8b9bfd680cb0bb53b8e93ad0fa3a749cc223 +bd356319fb1b6c6ec397d22248f0891ec1b60e84e89886212fe1b41d5c2b6345d4ba2340306efc +811586e06ab7ee765e93c50b873fd48870769d1d218a10952a9856b4b51445fb82a7928dce5fe1 +805b19b99d5378cc9271c4722e47a09a9278ff244bb280cca6a828cd0901ae75f5ba1f87e73253 +984d7ae66515141e34d90e770992a0736e3d042b304271e207db1f282b2dff4388e48eaad733aa +746fda33c9d9c7c9fdc090b4b2876fe4645c0bb822ce40d581c7625f9ec0de5dc6a0669412e971 +2507139fc3652c35523afaff01d3bd63a1e2c8a53b9ee0543fc505902e8fe0c23f72d824e951c4 +0a6483cd8a12a5b29f7c799309d17386917861acc27c200aaa34cb2a104dba07eb4ddf5e4099e3 +57d625394728dc83e1d722f3cc1ae7598f169e9c9a2c1e7250715dae8660ae119d8e29323faea6 +13c0d31c0c1d4005f2bfcc2d7913f8a0e18d1da390e2f1d3e28d6eddd09c93d019d608911baf7b +ce79557b1397975e38e906b695b6ae1c22af047dbc1d7d08744f182b2263e14a75b843ddd8f990 +078410973d7cff56e897245a224a1ddbfaed2d848ded109648d42da10219fa6358bce77565464a +e52af167fabc06c11e6726fc233d0144d35ab68c7269ed2778017ab4ac15639d2588952fa22550 +e273df724abf514d1f0364a1e2a7d9cdb4e356494de3af6125d3cc6d2ddba01ab92d36216a0505 +b4c0fbe46ad4674d8bb51e7520fb4403bbae43bd6a69e475eff0ed4f71d865f6d3bf6e3ed57508 +07de076c0b1f59083d488ad5fefe10d1cb93a0f4f110e45a80bbb00bf408c96bc6347922332f32 +20cf474b66fe1904fab3e58c9ed0b4cc7215665ea72ea2f7212e7927877fe71070d4ebfbe97a37 +5a8784640dec93f6d6eedb7224873e8fbef31c40622d385f6ee43cc6c5720d3df72065155d58eb +d21f2c93f323e9e0cdc35ac43330f9ccbcebd9415173e5304db65d3dcc4a8158b8a838ce7e0bcc +4f4bffeb9333eb9a28cdab15cf3256ae784884eb1fec9b65328a0a26d0c8edfd3213384b367fab +9829a4a1823e223a3fab405e51593700fadd42352144f1b648bf7bdd217172ca43066e2632ddf3 +77a535b0d855ae8120a97e0c907967c36e88b9da5596676c9bc1fe9449bdae8ed6ed101ca70798 +afb9b9ee1b357fbd0846af20d3f4e64ad7793501a0f52ca0710d5588c8a7900f9f58164d8e5174 +a413764ed0b2630585c09c66a62e3ac562e06f2572fba273f8f2f62b50f2fb21040d12f607db04 +0076159fa283a42c653614cac50f6d929c6d69b7ba331f2bae21b1e25c2937b5404f6ff789b73d +b70cd06e32f5658dc2ccd53d40acea5b19e4019263058c333d81e6f99741a86d21bda9c6a6680b +35fdc036ae2379b16e7549afa7ede71c3e23df721ea9f4580d8c516832677fde26b79ce1a92246 +7086e293b003c9f725663ff089da8855c5fd232612fc0434c25b759debaa039a658a8f291261a1 +1e58460247bd0a03d3cbaa7b005d605030d42daeb1914ec78ffa012e5a416ba91a877872a48936 +2909cb20cc859f032e305be4e1e2510803c3f475ceda2c3dc8ef409faf1e260240d9eeaeae853d +f289471f6206a91d7e7a24b3568ecfff34269dc13fb9cc71850093db85bea6c890ed3ba5f8220b +7516353a9b9a7ae11bb69b37827e6036602b536a8142d4524afe7b951125c1243d3c8845a38afb +7bba584219487cd88b302487e502d5911d79eab6cc2070ab47d5bd927b0a835cdcf0362c8bc0db +3b45ad85aa6434de49b32bbb5bd180ab18c98b8e9538089552b3600a532fd24769c35281f3d605 +85e75988a305f1278f6f2a5ee0405d0f30b6770af0364f4d982c07d607ffa4d55cb773d92f9b0e +163934e801ccd9a23b47930a57cae509c9e021d67c3e08ba173f8274b6b1fc1a53305dc998c657 +6ef045e84fc0bb391e971d75d69cf507daf86967bfca7f098be6f9f19ae1b72c433826094601fc +acae2fdfe2773bdffc19616ad0e1da13b6575b5e949bee16f4198ce82df7bdb5a0e5411acca8d7 +4cfa1f7fb2f0b696de35d3810e090f2bb036bf80aa77d8e71140005a3014d736d4338ead5b3ce7 +760b0008c418c80508c44b9e5e8b58b6b770cfbd7aff85631cca1eacb7836580f3d889d9055ff8 +08f29cef9ebff7ff904f89d6655dd9a7097e2a27c19a0c47e710fe7143a2ee1e642da6af560630 +5c2abca4db9ae966057c124757b094b5b1226702b1a7fa4f082f8f1bbf841abbc29f760ed72e04 +746ec76895d4d5d78d2e09b73e0b6cad2cbf7b2583c1b6aed6b208dd582795177df4976908582a +253ce329af84db80d2ddb23c02c659f99c0bd70849b40c4bee2c41c3118e5444cbe7de1e57da26 +8c9c6e0da8f2fc33d7193f0f4ecb83dfbb9bec8d0098c10134fc5c2700a90a9f0707ad75762fb0 +63f620b691c478ff88f78b486e7fa772c06e3f86b94555d981ed92fdf2ab8df1b9c1f9aca18009 +8d876e0b5a1f44d53a4341ad0c3c0837b8a595932efbeceba6bdeffbee967e474e173f99907168 +9c1a7e23255d793557a022726053b5bdbc9c333926d714ff8d6261e492df9c905dd66dd1b7e17e +714a44c1e073deadf6a250b765872bf96e047b297580c27ad1714d8a2ce93346d0a972cba8bae0 +26bc1646f8fed5c9a3366e73a2a65fe7fbed4a8447ba4cef3f25e20eec13f5448dab2b1768be14 +a2f1fe90117079de58883a86e7759a3f8723901e70ed76dfdab6db2a2597f3cded02e1418e33ef +2fc5eb86072ba97db0b4a87bf21354eb8fa680bd07fbafcf8cb2fa44a9bad1ec8d5692b12a0390 +e550e272449546a95aea075538359df87234050bf5b6fa86634e628dce90f5947772b834d3dcb5 +bbfef9f5faccac5ea302813fa76a0c7e8d4a6904110e7d164fdda1f2f9e867052945e5697f3e7b +3f3e44a159fdbb940d942c43520b6760dad2d26e5568604eaf88278a7842315d062bc8b723d19b +35d5913264c3313d68f88a1f063d0c1b5d51296c7c2878c5a016c6adb672f6148ea484b4356477 +94900efc313ca6fb90d3165695c194440f715875b1817b511a9255d75a7ec5343baf3115503e2b +7b7550688caa306b175b35f1a17d821f4168e5f8caa50058e5700eca8751c8446a91c1ef58e6d8 +de3dc3d7f89facf39e5063c470f80c7d740fc48d67a51eb34adb4bf49f04166e3c8cc5edba3268 +4d760cf5de8e3b15fb7c922bb6866719f75f5e4b35fe0bcfc50117e820a707a9d45377bcbb9b50 +57c58d4d9ed248becb7d749ceaa982166f4e8fb3617654d46da66f2766ffd0404adc348bbe5cb7 +8623985f7bfe0b05c802f028d9f4a944f3077e85eb1e953656f07be40f600f17273a582064e98c +77b6ed4f49b086e2e83e8e7dbe8cd9da174b49171822ca13ecd8ed6cadad41e56bae142c7ea81c +e7041b17ce25ecc4e7b836a6d2831da602b8e74347810ee746cff2019ac296c137e34d2078d6cd +89d12714fa8056c200294b7d43a678eec4b09c0dfbebc9899763b21f281a278d4a67701db89d78 +6acabde84a78a9647f68ca1f1d96237ba5496e840c270c2dc9320668eb83864c340dc520d9de1f +6c6035efd0273406a14dba72d0d484cf006f559c114020aca0bc9e1822efdfec07866913956d0b +f90c5b0f96b6c17799153e59603fb415cbac3aad5512eda753de8ea7b4ffe9135a8c70416899f5 +b6d1765b03acac1f8f970bf2d937ae6bcb694dbd3df0db2b53fcfdb8eedfbc7bb80246f7173b31 +93c0fd9bb5c1f2c3b3a9aa1b4ea166322660dd848c4922fa4fee272ba1ae64beeeb19cc875b268 +712aff8d4f245c2f081ede4e619321f341b217198e7a7b6b39b5a13807cb970ad03277fdbdbf29 +235c600e20ccd4d4153a4601248829f857509717222c2c9535e05debdede4dade6ddcb343c2e71 +5573b2182af3875528120b42dfda773ced4e091f4e99fc1c8f33832569adb8233c781b31ff3786 +8723d053307300f1e113e908473fbe39ed75a931c290e7efaf4c89d4cd22f63852ec30831d61d1 +de3815a6d18fbcd15f28eea75ae50bd0b237e8cb0870cac5ddc13da58dbd060d3193fc92e6c4ce +f3bcfd81ce6b3679bfc5855796cdfa8a26d63a659a2ff7a1a7e318a7f76ff80e846a2d647d38e8 +27ffaf54bd5a9221eeb416a475eabf4ef0409b1ca55a851c245bf7207aacdc37e6632eded54b40 +f95493b63f24daa8dbd8e81d9d7beadd4c1cbe4f6f264415c8973a8225cbd20f29027dea8af734 +45f2b3d12f115c30ed09f289b1a0960cd0c51b7c55e3ed89e370a6a0a699963470f1b0af793af5 +ac7fb715f0c8d4f478d007cef09c0f7d604cb840fed753fdd26c83fc50615b4ee4ca5383c6eb89 +cf5b4a7f5506e6a03c7a805cc63b8c77227f04241a0ffd8b3bef7d5bc4085be9ee0a5d2720cf16 +94b5298f0580aeb19a63d672cdc77f8c635a3b3026b79a4dead059cd8b203c680a4313e7446ddc +e7d5c0b0471340bb2b21c51cb14aedd48200b8db4745bf6861a8afeb3f74d99866d8d5b92dea9a +9d565da3b3ed4f83d5fc3db4598f8b89dbd1df998c0e7c6166809af3f6ff2cfac3626f572df0f3 +f651f7b5c02375c3f791cd365878e61859a3b2000425a695d4fda30485c8416e81d6363227491f +1fc422489db2578606220481175fbff11fbaba6b3ff3ec8cfff18bdd362b9aaea4b45b6675ff2c +447b0c3200f0db86bd22b5ee5b86013f1081f4c5cde1dd27de0f880fb7bdc7e0e825aeffc89a5b +77d2c3c67e71d8be2b651c695669038519887dcffac745b63d1363b754df94766a4b9450077017 +173f2806bca05781a2f7b81043c28ec2e8d43f15908ecfaee4a8e017b0a5fef15c6f3f5bdd783c +6ed1751262fd794597b6fe1a34efc893b9f4230eff01e972da15b44577f8aea623d4d950a9b10a +a615125993befd21a8330e1ca13b30d8032c4a3b4d97bb4d6b6c092293228a7d2d40769412e84a +2086eb4e9d7af9ce918802c89919a99c2ebdf696c4c97e3746321c221647e0fd3b2a28c16c0a44 +1f3ff52008a899e0268e136d944e5367fb3fa96f6e005ab918fea074a511f32d92245c3c1f56a6 +a376602e5665e59ab321e9e34da0f7ca81a483ea38baa5147d43c656020ec028c78c0990279422 +4192c2aefb2830317eb4bc13fbca3d45186b59fb77a3314e3cc255111da27e45baae009cccbc7b +c33127645868c3d22f34cceb3438c1e4c44e4192bb0e336bac4b7c2f96206e50251b04ad2c6a69 +86a8979a82e660d0b19755631c546968acbb8e7ca59d8ccda1e6e9adf52010657916e5bd469e43 +9fec1875b93c0d4f986929c2ad20f180c6edbee6f629a5c0b8bb6f16885d450430c521badbcf14 +d24e6914d6782eeea7947114cd5469ce40ba669051d5ea6d8f1c15ed27cf089551bb52854792cc +9952957203d5d2387d875466c70e7d3e3849a9321ce159a55c70aacf5e1272ad8b2518d7693285 +93bc6d58e2bf87220a79139d6ee0d5d91727bba5c3 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark + +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 0 146 88 +%%EndPageSetup +q 0 0 146 88 rectclip q +0 g +73.574 72.719 m 73.574 75.117 69.973 75.117 69.973 72.719 c 69.973 70.316 + 73.574 70.316 73.574 72.719 c h +73.574 72.719 m f* +9.574 8.719 m 9.574 11.117 5.973 11.117 5.973 8.719 c 5.973 6.316 9.574 + 6.316 9.574 8.719 c h +9.574 8.719 m f* +137.574 8.719 m 137.574 11.117 133.973 11.117 133.973 8.719 c 133.973 6.316 + 137.574 6.316 137.574 8.719 c h +137.574 8.719 m f* +0.4 w +0 J +1 j +[] 0.0 d +10 M 71.773 72.719 m 135.773 8.719 l S +135.773 8.719 m 132.473 15.316 l 129.176 12.02 l h +135.773 8.719 m f* +135.773 8.719 m 132.473 15.316 l 129.176 12.02 l h +135.773 8.719 m S +71.773 72.719 m 39.773 62.051 18.441 40.719 7.773 8.719 c S +7.773 8.719 m 12.199 14.621 l 7.777 16.098 l h +7.773 8.719 m f* +7.773 8.719 m 12.199 14.621 l 7.777 16.098 l h +7.773 8.719 m S +7.773 8.719 m 50.441 -1.949 93.109 -1.949 135.773 8.719 c S +135.773 8.719 m 128.418 9.281 l 129.551 4.758 l h +135.773 8.719 m f* +135.773 8.719 m 128.418 9.281 l 129.551 4.758 l h +135.773 8.719 m S +BT +9.9626 0 0 9.9626 69.52846 80.429 Tm +/f-0-0 1 Tf +(j)Tj +7.1479 -7.469723 Td +(k)Tj +-14.126848 -0.0341695 Td +(i)Tj +ET +Q Q +showpage +%%Trailer +end restore +%%EOF From 343045813255f0d35a7461158e2b4be622df1a45 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sat, 3 Jun 2017 15:56:44 +0200 Subject: [PATCH 16/19] Correction d'une erreur dans la preuve 2-approx pour SPM recherche locale --- resumes/xavier_dubuc/src/cours.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index baa2c4a..7aa789b 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1892,7 +1892,7 @@ \subsubsection{Approche par la recherche locale} \begin{itemize} \item Le temps pris dans la \textit{(partie 1)} est égal à $p_l$ et par \textbf{(1)} ce temps est $\leq c^*_{MAX}$. -\item Le temps pris dans la \textit{(partie 2)} est égale à $m.S_l$ car toutes les machines sont au travail. Et on sait que $m.S_l \leq +\item Le temps total pour réaliser le travail de la \textit{(partie 2)} est égal à $m \cdot S_l$ car toutes les machines sont au travail. Et on sait que $m \cdot S_l \leq P$ \textit{(plus petit que le travail total)} et donc $$S_l \leq \frac{P}{m} \leq c^*_{MAX} \qquad\qquad \text{\textit{(par \textbf{(2)})}}$$ \end{itemize} From 1e72c85b07d9993f36bd8eaabbc153d8b61608fc Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Sun, 4 Jun 2017 15:12:49 +0200 Subject: [PATCH 17/19] =?UTF-8?q?Correction=20d'une=20erreur=20sur=20la=20?= =?UTF-8?q?d=C3=A9finition=20de=20DynProg=5FKP=20n'utilisant=20qu'un=20sim?= =?UTF-8?q?ple=20tableau=20de=20taille=20n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 7aa789b..037591c 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -2549,7 +2549,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{figure} Si le tour ne prend que les arêtes vertes, on obtient la solution optimale dont le coût est : -$$(n-1) + 4(1+\epsilon) + (n-2) = 2n - 1 + 4\epsilon$$ +$$(n-1) + 4(1+\epsilon) + (n-2) = 2n + 1 + 4\epsilon$$ Si l'arbre couvrant donné par l'algorithme est toutes les arêtes rouges (+ les 2 arêtes vertes extérieures), il n'y a que $2$ sommets de degrés impairs : $a_1$ et $a_{n+1}$. Le \textbf{perfect matching} va donc devoir les relier, on obtient alors une solution dont @@ -2826,7 +2826,7 @@ \subsubsection{Variation du programme dynamique} \item[a)] dans chaque liste, il y a au plus $B+1$ paires ($+1$ car il y a la taille $0$) \item[b)] dans chaque liste, il y a au plus $V+1$ paires ($+1$ car il y a le profit $0$) \item[c)] pour tout sous-ensemble $S\subseteq \{1,...,j\}$ réalisable (i.e $\sum_{i\in S}(s_i) \leq B$), la liste $A(j)$ contient une paire -$(t,w)$ qui donne la paire ($\sum_{i\in S}(s_i)$,$\sum_{i\in S}(v_i)$). +$(t,w)$ qui domine la paire ($\sum_{i\in S}(s_i)$,$\sum_{i\in S}(v_i)$). \end{enumerate} \begin{algorithm}[h!] From 55caa8a2ff26e2da697a9999034423a858874527 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Wed, 7 Jun 2017 18:01:32 +0200 Subject: [PATCH 18/19] correction de l'erreur dans le cours d'aa 2017 (pour jerem) --- resumes/xavier_dubuc/src/cours.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index 037591c..eaf2cfa 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -1208,7 +1208,7 @@ \subsection{Algorithme d'approximation glouton} & = & OPT \sum_{k=1}^l \frac{(n_k -n_{k+1})}{n_k}\\ & = & OPT \sum_{k=1}^l \left(\frac{1}{n_k} + \frac{1}{n_k} + \ldots + \frac{1}{n_k}\right) \text{ (car $n_k > n_{k+1}$)}\\ - & \leq & OPT \sum_{k=1}^{l-1} \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots + + & \leq & OPT \sum_{k=1}^{l} \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots + \frac{1}{(n_{k+1}+1)}\right)\\ & = & OPT \sum_{i=1}^n \frac{1}{i} \\ & = & OPT.H_l From 07773be777e81f86464156e37e0cc82fdc890f44 Mon Sep 17 00:00:00 2001 From: radioGiorgio Date: Fri, 9 Jun 2017 10:14:05 +0200 Subject: [PATCH 19/19] =?UTF-8?q?Probl=C3=A8mes=20li=C3=A9s=20au=20placeme?= =?UTF-8?q?nt=20des=20figures=20corrig=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resumes/xavier_dubuc/src/cours.tex | 148 ++++++++++++++++------------- 1 file changed, 82 insertions(+), 66 deletions(-) diff --git a/resumes/xavier_dubuc/src/cours.tex b/resumes/xavier_dubuc/src/cours.tex index eaf2cfa..ea491f7 100644 --- a/resumes/xavier_dubuc/src/cours.tex +++ b/resumes/xavier_dubuc/src/cours.tex @@ -315,7 +315,7 @@ \subsection{Problèmes d'optimisation} \begin{exemple} Graphe étoile à $n$ sommets, $S_n$.\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{g1.pdf} \caption{$S_n\ (n=5)$, exemple pour VC} @@ -327,7 +327,7 @@ \subsection{Problèmes d'optimisation} \end{exemple} \begin{exemple} Graphe complet à $n$ sommets, $K_n$.\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{g2.pdf} \caption{$K_n\ (n=4)$, exemple pour VC} @@ -344,7 +344,7 @@ \subsection{Problèmes d'optimisation} \begin{exemple} Chemin à $n$ sommets, $P_n$.\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{pn.pdf} \caption{$P_n\ (n=5)$, exemple pour VC} @@ -357,7 +357,7 @@ \subsection{Problèmes d'optimisation} \begin{exemple} Cycle à $n$ sommets, $C_n$.\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{cn.pdf} \caption{$C_n\ (n=5)$, exemple pour VC} @@ -371,7 +371,7 @@ \subsection{Problèmes d'optimisation} \begin{exemple} Graphe biparti complet à $n+m$ sommets, $K_{n,m}$.\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{knm.pdf} \caption{$K_{n,m}\ (n=5,\ m=3)$, exemple pour VC} @@ -614,7 +614,7 @@ \section{Set Cover et survol des techniques} \end{itemize} \end{pblm} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{inst_sc.pdf} \caption{Exemple d'instance de \titre{SC}} @@ -662,7 +662,7 @@ \subsection{Programmation linéaire et Set Cover} Grâce à cette idée de relaxation on peut dégager un algorithme qui semble être un algorithme d'approximation pour résoudre un problème \textbf{IP(*)} : -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{RelaxationApprox} \begin{algorithmic}[1] \STATE Résoudre le problème relaxé (\textbf{LP(**)}) @@ -702,7 +702,7 @@ \subsection{Programmation linéaire et Set Cover} \indent $\qquad 2x_1 + 5x_2 \leq 10\ (2)$ \\ \indent $\qquad\ x_1, x_2 \in \N$ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \setlength{\unitlength}{1.0cm} \begin{picture}(6,5)(0,0) @@ -771,7 +771,7 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} \titre{VC}. \end{corollaire} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Det\_Rounding\_SC} \begin{algorithmic}[1] \STATE Résoudre le \textbf{LP} pour \textbf{\titre{SC}} @@ -843,12 +843,28 @@ \subsubsection*{Solution pour l'arrondi \titre{SC}} \begin{exemple}[Voir feuilles des résultats obtenus avec CPLEX]$ $\\ \textbf{\titre{SC}} : $\alpha = \frac{9}{9} = 1$ \\ \textbf{\titre{VC}} : $APP = 5$, $Z^*_{LP} = 2.5 \Rightarrow \alpha = 2$. \\ -\begin{multicols}{2} -\includegraphics[scale=1]{vcSol.pdf} -$ $\\$ $\\$ $\\$ $\\ -$OPT = 3$\\ -$5 \leq 2*3=6$ -\end{multicols} +\begin{figure}[H] + \begin{minipage}{0.5\linewidth} + \centering + \includegraphics[scale=1]{vcSol.pdf} + \end{minipage} + \begin{minipage}{0.5\linewidth} + \centering + \begin{flalign*} + OPT &= 3\\ + 5 \leq 2*3&=6 + \end{flalign*} + \end{minipage} +\end{figure} +%\begin{multicols}{2} +%\begin{figure}[H] +% \includegraphics[scale=1]{vcSol.pdf} +%\end{figure} +%\begin{flalign*} +%OPT &= 3\\ +%5 \leq 2*3&=6 +%\end{flalign*} +%\end{multicols} \end{exemple} \begin{corollaire} @@ -924,7 +940,7 @@ \subsubsection{Remarques et propriétés du dual} $$ \sum_{i=1}^n y^*_i = \sum_{j=1}^m x^*_j.w_j$$ \end{exemple} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Dual\_Rounding\_SC} \begin{algorithmic}[1] \STATE Résoudre le \textbf{dual} pour \textbf{\titre{SC}} @@ -1023,7 +1039,7 @@ \subsection{La méthode primale-duale} \indent $\Rightarrow$ On va utiliser la preuve du lemme de la section 2.2 \textit{(dual rounding)} pour en tirer un algorithme. -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Primal\_Dual\_SC} \begin{algorithmic}[1] \STATE $\forall i,\ y_i \leftarrow 0$ @@ -1104,7 +1120,7 @@ \subsection{La méthode primale-duale} \subsection{Algorithme d'approximation glouton} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Greedy\_SC} \begin{algorithmic}[1] \STATE $i\leftarrow \{\}$ @@ -1211,7 +1227,7 @@ \subsection{Algorithme d'approximation glouton} & \leq & OPT \sum_{k=1}^{l} \left(\frac{1}{n_k} + \frac{1}{(n_k-1)} +\ldots + \frac{1}{(n_{k+1}+1)}\right)\\ & = & OPT \sum_{i=1}^n \frac{1}{i} \\ - & = & OPT.H_l + & = & OPT.H_n \end{eqnarray}$$ $$\Rightarrow \frac{APP}{OPT} \leq H_n$$ \begin{exemple}($n_k=6$ et $n_{k+1}=2$) \\ $\frac{n_k - n_{k+1}}{n_k}=\frac{6-2} 6 \leq \frac 1 6 +\frac 1 6 +\frac 1 6 + @@ -1375,7 +1391,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} Quel ordonnancement est optimal ? ($ABC$, $ACB$, $BAC$, $BCA$, $CAB$ ou $CBA$ ?) -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.2]{ordo.pdf} \caption{Ordonnancement optimal \textit{(Job $1 = A$, Job $2 = B$, @@ -1470,7 +1486,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} $\rightarrow$ on commence par celle la plus en retard dans le cas où il y a des deadlines négatives. -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{EDD\_SSM} \begin{algorithmic}[1] \STATE $t\leftarrow 0$ @@ -1509,7 +1525,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} simplement comme un ordonnancement pour $S$. \begin{exemple} (exemple précédent) -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.2]{ordo.pdf} \caption{Ordonnancement optimal \textit{(Job $1 = A$, Job $2 = B$, @@ -1518,7 +1534,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} \end{figure} Si on prend $S = \{A,C\}$ : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.2]{ordoPart.pdf} \caption{Ordonnancement optimal concentré sur $S$ \textit{(Job $1 = A$, @@ -1556,7 +1572,7 @@ \subsection{Ordonnancement de tâches sur une seule machine} plus tôt tel que la machine est utilisée sans interruption pour toute la période $[t,c_j[$, c'est-à-dire la situation suivante : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.25]{ssm.pdf} \caption{Exemple général} @@ -1626,7 +1642,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \begin{exemple}$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[width=0.6\textwidth]{inst_kcentre.pdf} \caption{Exemple de solution optimale d'une instance avec $k=3$} @@ -1646,7 +1662,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} nous introduisons une notation : soit $S$ l'ensembles des centres, on note $d(i,S) = \min_{j\in S}(d_{ij})$, on a donc : $$rayon = \max_{i\in V} d(i,S)$$ -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Greedy\_k\_center} \begin{algorithmic}[1] \STATE Choisir $i\in V$ au hasard. @@ -1754,7 +1770,7 @@ \subsection{Le problème ``$k$-\textit{centre}''} \begin{exemple}$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{inst_ds.pdf} \caption{Exemple d'instance du \textbf{\titre{DS}}} @@ -1823,7 +1839,7 @@ \subsection{Ordonnancement de tâches sur des machines identiques parallèles} \subsubsection{Approche par la recherche locale} \begin{exemple}[$m=5$ et $n=10$]$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{spm1.pdf} \caption{Exemple de solution d'une instance du \textbf{\titre{SPM}}} @@ -1835,7 +1851,7 @@ \subsubsection{Approche par la recherche locale} simplifier en déplaçant la tâche vers une machine permettant de diminuer $C_{MAX}$. Imaginons que cette tâche est la tâche $l$, on va la déplacer vers une machine qui se termine avant $c_l-p_l$. Appliquons l'algorithme (une seule itération) : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{spm2.pdf} \caption{Exemple de solution d'une instance du \textbf{\titre{SPM}}} @@ -1865,7 +1881,7 @@ \subsubsection{Approche par la recherche locale} \'A chaque itération, soit $C_{max}$ \textbf{diminue strictement}, soit il \textbf{reste égal}, i.e., il y avait au moins une autre machine qui se terminait en $C_{max}$, il y en a maintenant une de moins. -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.42]{spm3.pdf} \caption{Exemple où 2 machines atteignent $c_{MAX}$} @@ -1879,7 +1895,7 @@ \subsubsection{Approche par la recherche locale} Soit une solution produite par \textbf{LocalSearch\_SPM}, soit $l$ la tâche se terminant en dernière, càd que $c_l = c_{MAX}$. On est donc dans un cas comme suit (l'algorithme est terminé) : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.45]{spm4.pdf} \caption{Exemple de solution donnée par l'algorithme} @@ -1914,7 +1930,7 @@ \subsubsection{Approche gloutone} Si on les place selon l'ordre dans lequel les tâches sont données \textit{(``ListScheduling'')}, on obtient : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{spm5.pdf} \caption{Résultat du ListScheduling} @@ -1924,7 +1940,7 @@ \subsubsection{Approche gloutone} On remarque rapidement que cela dépend de l'ordre dans lequel on donne les tâches. \\ Par exemple, l'ordre $3$, $1$, $2$ donne la solution optimale : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{spm6.pdf} \caption{Résultat du ListScheduling avec l'ordre $3$, $1$, $2$} @@ -1933,7 +1949,7 @@ \subsubsection{Approche gloutone} \end{exemple} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{ListScheduling} \begin{algorithmic}[1] \STATE $todo$ $\leftarrow$ liste des tâches (liste = séquence ordonnée) @@ -1953,7 +1969,7 @@ \subsubsection{Approche gloutone} \begin{proof}$ $\\ Soit une solution donnée par l'algorithme \textbf{ListScheduling}, notons $l$ la tâche qui termine ce scheduling, càd $$c_l = c_{MAX}$$ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.45]{spm4.pdf} \caption{Exemple de solution donné par l'algorithme} @@ -1992,7 +2008,7 @@ \subsubsection{Approche gloutone} \begin{exemple} Appliquons l'algorithme \textbf{LPT} sur l'exemple précédent.\\ $\Rightarrow p_1 = 4$, $p_2 = 3$, $p_3 = 2$ (on a retrié) -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{spm6.pdf} \caption{Solution donnée par l'algorithme} @@ -2027,7 +2043,7 @@ \subsubsection{Approche gloutone} $\rightarrow l$ est maintenant la tâche la plus petite. \\ \textit{(ceci est vrai car $n>m$)} \begin{exemple}$ $ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{spm8.pdf} \caption{Situation considérée} @@ -2040,7 +2056,7 @@ \subsubsection{Approche gloutone} \begin{enumerate} \item[a)] si $p_n \leq \frac{C^*_{max}}{3}$ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.45]{spm7.pdf} \caption{Situation considérée} @@ -2079,7 +2095,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{rem} \begin{exemple}$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.65]{TSPex1.pdf} \caption{Exemple d'instance de \textbf{\titre{TSP}} sour forme de graphe pondéré} @@ -2105,14 +2121,14 @@ \subsection{Traveling Saleman Problem (TSP)} \end{pblm} \begin{exemple} Existe-t-il un cycle hamiltonien dans un cube ? \\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{cube.pdf} \caption{Cube} \end{center} \end{figure} $\Longrightarrow$ oui, voir figure~\ref{chcube}. -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.3]{cubehc.pdf} \caption{Chemin hamiltonien dans un cube} @@ -2172,7 +2188,7 @@ \subsection{Traveling Saleman Problem (TSP)} Nous allons construire la solution $S$ en ajoutant à chaque itération la ville la plus proche de l'ensemble des villes déja construite.\\ Voici cet algorithme, il est polynomial. -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{NearestAddition} \begin{algorithmic}[1] \STATE $i,j \leftarrow arg\min_{i,j\in S} C_{ij}$ @@ -2187,7 +2203,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{algorithm} \begin{exemple}Les villes de Belgique\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{belgique.pdf}$ $\\$ $\\ \begin{tabular}{r|c|c|c|c|c|c|} @@ -2217,7 +2233,7 @@ \subsection{Traveling Saleman Problem (TSP)} La valeur de la solution est : \textbf{867}. \\ \textit{(La valeur optimale est de \textbf{757}, en prenant $S^* = [Anvers,Bruxelles,Liege,Arlon,Charleroi,Mons,Ostende]$)} \end{exemple} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{belgiqueNA.pdf} \includegraphics[scale=0.5]{belgiqueOPT.pdf} @@ -2231,7 +2247,7 @@ \subsection{Traveling Saleman Problem (TSP)} l'algorithme de \textbf{Prim} est un algorithme exact polynomial permettant de le résoudre. \begin{exemple}$ $ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{spanningtree.pdf} \caption{Graphe et arbre couvrant} @@ -2248,7 +2264,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{itemize} \end{pblm} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Prim (pour \titre{MST})} \begin{algorithmic}[1] \STATE $S\leftarrow\{v\}$ où $v$ est un noeud arbitraire. @@ -2274,7 +2290,7 @@ \subsection{Traveling Saleman Problem (TSP)} Pour toute instance du \textbf{\titre{TSP}} métrique, $OPT \geq \titre{\mathbf{MST}}$. \begin{proof} Soit $n\geq 2$, une instance de TSP métrique et son tour optimal, avec $w = OPT - 1 \text{arête}$ : -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.6]{optTSP.eps} \caption{Instance \textbf{\titre{TSP}} métrique et son tour optimal} @@ -2336,7 +2352,7 @@ \subsection{Traveling Saleman Problem (TSP)} arêtes (ici $2$) entre $2$ sommets. \begin{exemple}$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.45]{multig.pdf} \caption{Exemple de multigraphe} @@ -2356,7 +2372,7 @@ \subsection{Traveling Saleman Problem (TSP)} Revenons sur la théorie des \textit{cycles Eulériens}, via le problème de \textbf{Konïgsberg}. \begin{exemple}$ $ \\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.4]{konigsberg.pdf}$\qquad\qquad$ \includegraphics[scale=0.5]{konig.pdf} @@ -2395,7 +2411,7 @@ \subsection{Traveling Saleman Problem (TSP)} \cqfd \end{thm} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Double Tree} \begin{algorithmic}[1] \STATE $MST\leftarrow PRIM(G)$ @@ -2413,7 +2429,7 @@ \subsection{Traveling Saleman Problem (TSP)} On obtient donc l'arbre couvrant avec les arêtes données par $F$. $\Rightarrow$ 3 raccourcis apparaissent : $$Arlon-Mons\qquad Mons-Ostende\qquad Ostende-Anvers$$ On obtient le tour $Anvers-Bruxelles-Charleroi-Liege-Arlon-Mons-Ostende = 801km$. -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.28]{belgiqueDT.pdf} \includegraphics[scale=0.5]{belgiqueOPT.pdf} @@ -2458,7 +2474,7 @@ \subsection{Traveling Saleman Problem (TSP)} \item $4$ sommets de degrés impairs et la somme de leur degré $\rightarrow 1+3+1+1 = 6$, c'est pair. \item $O = {2,3,4,7}$ et $|O| = 2*k$ (par 5)) pour un entier $k$ non négatif (ici $k=2$). \end{itemize} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{degre.pdf} \caption{Graphe G} @@ -2482,7 +2498,7 @@ \subsection{Traveling Saleman Problem (TSP)} $\rightsquigarrow$ Il existe un algorithme polynomial pour résoudre ce problème, l'algorithme d'\textbf{Edmonds} en $O(n^4)$.\\ \textit{(voire $O(n^3)$ avec des SDD particulières)} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{Christophides (informel)} \begin{algorithmic}[1] \STATE $MST\leftarrow PRIM(G)$ @@ -2499,7 +2515,7 @@ \subsection{Traveling Saleman Problem (TSP)} \end{rem} \begin{exemple} Appliquons \textbf{Christophides} sur l'exemple de la Belgique. \\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.28]{belgiqueCHRIS.pdf} \includegraphics[scale=0.5]{belgiqueOPT.pdf} @@ -2522,7 +2538,7 @@ \subsection{Traveling Saleman Problem (TSP)} villes, il suffit de prendre des shortcuts sur ce tour optimal pour obtenir un tel tour. Et via les arguments déjà cités (inégalité triangulaire), le tour ainsi créé est $\leq OPT$. \item[b)]$ $ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{pmO.pdf} \caption{Exemple de tour sur $6$ villes $\in O$} @@ -2541,7 +2557,7 @@ \subsection{Traveling Saleman Problem (TSP)} Ce facteur d'approximation est serré, nous allons le montrer sur l'exemple suivant. \begin{exemple}$ $\\ -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{factserre.pdf} \caption{Exemple serré pour le facteur d'approximation} @@ -2624,7 +2640,7 @@ \subsection{Le problème du sac à dos (knapsack problem)} cet ordre dans le sac. Nous allons envisager plusieurs ordres et montrer qu'à chaque ordre il existe une instance où on peut faire aussi mauvais que possible. \\ -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{GloutonKPGeneral} \begin{algorithmic}[1] \STATE Trier les objets selon une certaine règle. @@ -2653,7 +2669,7 @@ \subsection{Le problème du sac à dos (knapsack problem)} l'objet $i$ dans le sac ?". \end{itemize} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.5]{arbredec1.pdf} \caption{Arbre de décision type} @@ -2674,7 +2690,7 @@ \subsection{Le problème du sac à dos (knapsack problem)} \end{itemize} \end{rems} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.4]{arbredec2.pdf} \caption{Arbre de décision relatif à l'exemple} @@ -2829,7 +2845,7 @@ \subsubsection{Variation du programme dynamique} $(t,w)$ qui domine la paire ($\sum_{i\in S}(s_i)$,$\sum_{i\in S}(v_i)$). \end{enumerate} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{DynProg\_KP} \begin{algorithmic}[1] \STATE $A(1)\leftarrow \{(0,0),(s_1,v_1)\}$ @@ -2877,7 +2893,7 @@ \subsubsection{Variation du programme dynamique} de schéma d'approximation complet (\textbf{FPAS}). \end{de} -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{FPAS\_KP} \begin{algorithmic}[1] \REQUIRE $\epsilon > 0$ @@ -2978,7 +2994,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc \begin{itemize} \item[] -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{MonAlgorithme} \begin{algorithmic}[1] \STATE sommetsPris $\rightarrow 0$ @@ -2988,7 +3004,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc \end{algorithmic} \end{algorithm} \item[] -\begin{algorithm}[h!] +\begin{algorithm}[H] \caption{AlgorithmeMélot} \begin{algorithmic}[1] \STATE Trouver un sommet $v$ de degré maximum @@ -3000,7 +3016,7 @@ \subsubsection*{Donner un algo/une heuristique qui va donner une solution approc \subsubsection*{Essayer l'algo sur l'exemple et trouver un facteur d'approx} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[width=\textwidth]{exo_1_5.pdf} \caption{Exemple pour le Vertex Cover} @@ -3043,7 +3059,7 @@ \subsection*{Montrer par un exemple que \titre{VC} est un cas particulier de \ti \begin{itemize} \item Instance de $VC$ : $G=(V,F) \rightarrow F$ qui doit être couvert. -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[width=0.15\textwidth]{annexBEx.pdf} \caption{$OPT = C = \{1,3,4\}$} @@ -3095,7 +3111,7 @@ \subsubsection*{Écrire un problème \textbf{\titre{SC}} sous la forme d'un \tex \subsubsection*{Formuler l'\titre{IP} de l'exemple ci-dessous} -\begin{figure}[h!] +\begin{figure}[H] \begin{center} \includegraphics[scale=0.4]{ens_1.pdf} \caption{Exemple d'instance de \titre{SC}}