[adegenet-commits] r895 - in pkg: inst/doc man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue May 31 15:07:26 CEST 2011


Author: jombart
Date: 2011-05-31 15:07:26 +0200 (Tue, 31 May 2011)
New Revision: 895

Modified:
   pkg/inst/doc/adegenet-genomics.Rnw
   pkg/inst/doc/adegenet-genomics.pdf
   pkg/inst/doc/adegenet-genomics.tex
   pkg/man/genlight.Rd
Log:
Moving forward...


Modified: pkg/inst/doc/adegenet-genomics.Rnw
===================================================================
--- pkg/inst/doc/adegenet-genomics.Rnw	2011-05-31 10:57:11 UTC (rev 894)
+++ pkg/inst/doc/adegenet-genomics.Rnw	2011-05-31 13:07:26 UTC (rev 895)
@@ -9,7 +9,7 @@
 
 \usepackage[utf8]{inputenc} % for UTF-8/single quotes from sQuote()
 \newcommand{\code}[1]{{{\tt #1}}}
-\title{Analysing genomic-wide SNP data using adegenet}
+\title{Analysing genomic-wide SNP data using  \textit{adegenet} \Sexpr{packageDescription("adegenet", fields = "Version")}}
 \author{Thibaut Jombart}
 \date{\today}
 
@@ -39,7 +39,8 @@
 
 \begin{abstract}
   Genome-wide SNP data can quickly be challenging to analyse using standard
-  computer. \textit{adegenet} implements representation of these data with unprecedented efficiency
+  computer. The package \textit{adegenet} \cite{tjart05} for the R software \cite{np145}
+  implements representation of these data with unprecedented efficiency
   using the classes \texttt{SNPbin} and \texttt{genlight}, which can require up to 60 times less RAM than usual
   representation using allele frequencies.
   This vignette introduces these classes and illustrates how these objects can be handled and
@@ -107,13 +108,13 @@
 @
 
 The slots respectively contain:
-\begin{description}
+\begin{itemize}
   \item \texttt{snp}: SNP data with specific internal coding.
   \item \texttt{n.loc}: the number of SNPs stored in the object.
   \item \texttt{NA.posi}: position of the missing data (NAs).
   \item \texttt{label}: an optional label for the individual.
   \item \texttt{ploidy}: the ploidy level of the genome.
-\end{description}
+\end{itemize}
 
 New objects are created using \texttt{new}, with these slots as arguments.
 If no argument is provided, an empty object is created:
@@ -165,15 +166,15 @@
 @
 The advantage of this storage is therefore being extremely compact, and allowing to analyse big
 datasets using standard computers.
-Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
-However in most cases, we can proceed by only converting one or two genomes back to numeric values
-at a time, therefore keeping RAM requirements low, albeit at a possible increase in computational time.
-This however is minimized by two ways: i) conversion routines are optimized for speed using C code
-ii) smaller objects are handled, therefore decreasing the possibly high computational time taken by memory allocation.
+%% Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
+%% However in most cases, we can proceed by only converting one or two genomes back to numeric values
+%% at a time, therefore keeping RAM requirements low, albeit at a possible increase in computational time.
+%% This however is minimized by two ways: i) conversion routines are optimized for speed using C code
+%% ii) smaller objects are handled, therefore decreasing the possibly high computational time taken by memory allocation.
 \\
 
-While \texttt{SNPbin} objects are the very mean by which we store data efficiently, in practice one
-wishes to analyze several genomes at a time.
+While \texttt{SNPbin} objects are the very mean by which we store data efficiently, in practice
+we need to analyze several genomes at a time.
 This is made possible by the class \texttt{genlight}, which relies on \texttt{SNPbin} but allows for
 storing data from several genomes at a time.
 
@@ -190,8 +191,8 @@
 getClassDef("genlight")
 @
 As it can be seen, these objects allow for storing more information in addition to vectors of SNP frequencies.
-More precisely, their content is:
-\begin{description}
+More precisely, their content is (see \texttt{?genlight} for more details):
+\begin{itemize}
   \item \texttt{gen}: SNP data for different individuals, each stored as a \texttt{SNPbin}; loci
     have to be identical across all individuals.
   \item \texttt{n.loc}: the number of SNPs stored in the object.
@@ -204,9 +205,9 @@
   \item \texttt{pop}: (optional) a factor grouping individuals into 'populations'.
   \item \texttt{other}: (optional) a list containing any supplementary information to be stored with
     the data.
-\end{description}
+\end{itemize}
 
-\noindent Like \texttt{SNbin} object, \texttt{genlight} object are created using the constructor \texttt{new},
+\noindent Like \texttt{SNPbin} object, \texttt{genlight} object are created using the constructor \texttt{new},
 providing content for the slots above as arguments.
 When none is provided, an empty object is created:
 <<>>=
@@ -214,15 +215,73 @@
 @
 The most important information to provide is obviously the genotypes (argument \texttt{gen}); these
 can be provided as:
-\begin{description}
-\item
-\end{description}
+\begin{itemize}
+\item a \texttt{list} of integer vectors representing the number of second allele at each locus.
+\item a \texttt{matrix} / \texttt{data.frame} of integers, with individuals in rows and SNPs in columns.
+\item a list of \texttt{SNPbin} objects.
+\end{itemize}
 
+Ploidy has to be consistent across loci for a given individual, but individuals do not have to have
+the same ploidy, so that it is possible to have hapoid,
+diploid, and tetraploid individuals in the same dataset; for instance:
+<<>>=
+x <- new("genlight", list(indiv1=c(1,1,0,1,1,0), indiv2=c(2,1,1,0,0,0), toto=c(2,2,0,0,4,4)))
+x
+ploidy(x)
+@
 
+As for \texttt{SNPbin}, \texttt{genlight} objects can be converted back to integers vectors, stored
+as matrices or lists:
+<<>>=
+as.list(x)
+as.matrix(x)
+@
 
+\noindent In practice, \texttt{genlight} objects can be handled as if they were matrices of integers
+as the one above returned by \texttt{as.matrix}.
+However, they offer the advantage of efficient storage of the information; for instance, we can
+simulate 50 individuals typed for 1,00,000 SNPs each (including occasional NAs):
+<<>>=
+dat <- lapply(1:50, function(i) sample(c(0,1,NA), 1e6, prob=c(.5, .499, .001), replace=TRUE))
+names(dat) <- paste("indiv", 1:length(dat))
+print(object.size(dat),unit="auto")
 
+x <- new("genlight", dat)
+print(object.size(x),unit="auto")
 
+object.size(dat)/object.size(x)
+@
+here again, the storage if the data is much more efficient in \texttt{genlight} than using integers: converted data occupy
+\Sexpr{round(object.size(dat)/object.size(x))} times less memory than the original data.
+\\
 
+The advantage of this storage is therefore being extremely compact, and allowing to analyse very large
+datasets using standard computers.
+Obviously, usual computations demand data to be at one moment coded as numeric values (as opposed to bits).
+However, most usual computations can be achieved by only converting one or two genomes back to numeric values
+at a time, therefore keeping RAM requirements low, albeit at a possible cost of increased computational time.
+This however is minimized by three ways:
+\begin{enumerate}
+\item conversion routines are optimized for speed using C code.
+\item using parallel computation where multicore architectures are available.
+\item handling smaller objects, thereby decreasing the possibly high computational time taken by memory allocation.
+\end{enumerate}
+
+While this makes implementing methods more complicated.
+In practice, routines are implemented so as to minimize
+the amount of data converted back to integers, use C code where possible, and use multiple cores
+if the package \textit{multicore} is installed an multiple cores are available.
+Fortunately, these underlying technical issues are oblivious to the user, and one merely needs to
+know how to manipulate \texttt{genlight} objects using a few key functions to be able to analyze data.
+
+<<echo=FALSE>>=
+rm(dat)
+@
+
+
+
+
+
 %%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%
 \section{In practice}
@@ -233,9 +292,59 @@
 \subsection{Using accessors}
 %%%%%%%%%%%%%%%%
 
+In the following, we demonstrate how to manipulate and analyse \texttt{genlight} objects.
+The phylosophy underlying formal (S4) classes in general, and \texttt{genlight} objects in
+particular, is that internal representation of the information can be complex as long as accessing
+this information is simple.
+This is made possible by decoupling storage and accession: the user is not meant to access the
+content of the object directly, but has to use \texttt{accessors} to retrieve or modify information.
+\\
 
+Available accessors are documented in \code{?genlight}.
+Most of them are identical to accessors for \texttt{genind} and \texttt{genpop} objects, such as:
+\begin{itemize}
+  \item \texttt{nInd}: returns the number of individuals in the object.
+  \item \texttt{nLoc}: returns the number of loci (SNPs).
+  \item \texttt{indNames}$^*$: returns/sets labels for individuals.
+  \item \texttt{locNames}$^*$: returns/sets labels for loci (SNPs).
+  \item \texttt{alleles}$^*$: returns/sets alleles.
+  \item \texttt{ploidy}$^*$: returns/sets ploidy of the individuals.
+  \item \texttt{pop}$^*$: returns/sets a factor grouping individuals.
+  \item \texttt{other}$^*$: returns/sets misc information stored as a list.
+\end{itemize}
+where $^*$ indicates that a replacement method is available using \texttt{<-'}; for instance:
+<<>>=
+dat <- lapply(1:3, function(i) sample(0:2, 10, replace=TRUE))
+dat
+x <- new("genlight", dat)
+x
+indNames(x)
+indNames(x) <- paste("individual", 1:3)
+indNames(x)
+locNames(x)
+locNames(x) <- paste("SNP",1:nLoc(x),sep=".")
+as.matrix(x)
+@
 
+\noindent
+In addition, some specific accessors are available for \texttt{genlight} objects:
+\begin{itemize}
+  \item \texttt{NA.posi}: returns the position of missing values in each individual.
+  \item \texttt{chromosome}$^*$: returns/sets the chromosome of each SNP.
+  \item \texttt{chr}$^*$: same as \texttt{chromosome} --- used as a shortcut.
+  \item \texttt{position}$^*$: returns/sets the position of each SNP.
+\end{itemize}
+
+
+
+
 %%%%%%%%%%%%%%%%
+\subsection{Subsetting the data}
+%%%%%%%%%%%%%%%%
+
+
+
+%%%%%%%%%%%%%%%%
 \subsection{Data conversions}
 %%%%%%%%%%%%%%%%
 
@@ -258,5 +367,18 @@
 
 
 
+\begin{thebibliography}{9}
 
+\bibitem{tjart05}
+  Jombart, T. (2008) adegenet: a R package for the multivariate
+  analysis of genetic markers. \textit{Bioinformatics} 24: 1403-1405.
+
+\bibitem{np145}
+  R Development Core Team (2011). R: A language and environment for
+  statistical computing. R Foundation for Statistical Computing,
+  Vienna, Austria. ISBN 3-900051-07-0.
+
+\end{thebibliography}
+
+
 \end{document}

Modified: pkg/inst/doc/adegenet-genomics.pdf
===================================================================
--- pkg/inst/doc/adegenet-genomics.pdf	2011-05-31 10:57:11 UTC (rev 894)
+++ pkg/inst/doc/adegenet-genomics.pdf	2011-05-31 13:07:26 UTC (rev 895)
@@ -57,277 +57,536 @@
 37 0 obj
 << /S /GoTo /D [38 0 R  /Fit ] >>
 endobj
-49 0 obj <<
-/Length 1647      
+40 0 obj <<
+/Length 982       
 /Filter /FlateDecode
 >>
 stream
-xÚÕXKoÛF¾ûWðH!Ã}ð•›ê4A$0õ”ô@S´¤V$]QŠàSÿzæµ$%1pง$ísvæ›ofgy+/òÞ^Eüþ¶¸zùÆÄžJC­bë-î<•äaœ/Qqhrí-–ÞgÞÌ”_Àgû _|68²š&ŠüUmì·õ¾KUþR¶ìî&vâüw÷"ªýì¯Å»—oTî)æq¬Q)«ÃF…Y®X§Å…ÁçVÂö WÇþ»¶žé¬ŸÙ¹™„ºxÎ’þÕ´Žõ”IÃ<Ò^…6Íùœÿx&4‘ñFÃ_"! ,g¾9Õ’–YÂq ±	Mó–÷*õÀ;î~Ám’¤èCÆ[í)›ñjçÆ †,“ó¯[²Ä€eUßêpÿ•ßFÞnåqãã[p²M½<ÌP	$F €«R¥fAŽX€íï¬ÝCDPËý†CáŽ:Þç@'Q®Yç‰3ûS2>Eó)×Z°wUÇdÚGáwØ4Ô¼‰öÿF0K±h|¨‰Óô»‡¾|“ìsk@b’¨8ã‡Å9fA-û«>ÀçF¶q œž`€Ú¸M¯fµÆïö!âX ¯cÀ.´Ðí6¿նâ‘UÅ‘SQxœ›§ÚAhž?öC4ýüþ9SB%ÊîF'¼Ä6Ô&°“ØúQ°Wèkf+`ãØšâöt«Â4±?:ä‚”ˆŒ²÷(ü^:²³Ïw|`lü?á|ºòõäQÔÏâ:Hó0Ñú4ºMÝlhú®(	‰²ºé<³O‰.q¸áè
-T¤ÿçÀvƹ(K‚¸#W] (ólh>«k~|ÉSœˆ‰rœ¡
-cø	½§Š ,Û/‘¯HiÄr×I¼´Í%žù¯‹ç³iÈ›Ëâ¥4î‹-ç‡ë¶¦œ ¦-!„ñžgçM©‚
-Ÿ
-%þÅxkß\Ï¡¥ÎõÍTökñÍŽø¶AN•¯ÚqÑ ézTpd(N¹†®ÍSÀïi}8¢œ }Šëk›ß\Ok’è§ÙsYdI63p3é¤/Œ”ÂÜÙXh–G‡{Cetš¹øÉ")~ÞsQøQ¹»ƒd§	AWý‹eV5ff³Â锎«¨¢†kº£Ší
-aõ„2¨|ÀGÞTÿ vÏ–µ\v,Ž†ûªC„ÔtsÊäqãÊr&>´Ñiž‡LÎ*HPÜnEUpAY.ÎAœU¹ßáÕ{{fªP	猾ö 1G†ÃH%«Ý뢚1ú›’g—£¼ˆ«$z;9FJ”·¦ØÝ2Ëð™!™ÓÔ$TÐúº;±T¢ƒÔPš\Å%ÆèRÉ¢Ybª•‚pÞÙÜ·®¸=(Å¿N¡¿·ã’;:¦f½Hô¾§O»íxˆüó•<Mœ` *~ÚR¸]
-E×ñbqÂZæ1Ežr65 "âôډ‡`˜+Ü„€B&øH‰Žl­¶£ÊNhˆ)¿Œ*v0('|¢Em#ÇÉ
-¾wbjjÉN8éNÙ7Ç­Uoe ïK
-,Ô<Ž
-y§:C5ÁGÍ6Bò#wÛ[ü•—
-?1qx6”ƒäeoàž»¤€x7Ž-ëB4ÚŽsA<Ô¨¸/˜2£–aK²>"ÜÝÅŽ0­é«aUš»tûéf쎲-§Ö,­v/wr™+¨kžÜ÷2³äò¦«õxÕëð0œüºó÷.ÇŸ[´ëSÆF®“ªÝ폧
-ÑÅuDT•åìNS±Œ»-ÏNøF×
-øêR)ŒÜ2ª†»yñßo/#G¿š|÷äa¬ÔS^™Úmz„ÈýCç(Ê8
-AsxUüW„Nã0MÓ©@ç'O0¦Ž…»MØÀ;J"r#Ó.»-7”‚œçÁO”m1¯•%^b rÆÉO=þÌ<ë¸î–d#PsÈØ.+Âà^$‹)]Q;”L Ÿ¡D–Ž³ï‹m¨ ñ¸‹múÇé°ui¬gÏNcvàDLL ~¥¥rc¸j¶»«>=Í^ð›îȯZIÙ”x<¾g{™tkW<P
-ëù&ŸÀÂýSf8û®]ëQ݁ý^üreÑpCâ†WÑ¿€Õ’gzøú7øøšÇËñÛ§h\C1~Vëá¿—&‰ÑŒ<„‚ÖÕqãE¿/®¾×9Í
+xÚ…VÉŽãF½÷Wè(£êZTZŽ“ =˜&h$¾%9häò’x™‘än8_n%ÉÝrÅ*²Xäã#el|zÐÿóþiõðøä\b*e/’Õ&1Ωª¬“Òx囬ÖÉéÇSfÒžÃ~xö¸³Ír[5ð2iÀõùˆš~òW”àY£Ìjþâ¯Ï|d-þÆ–×—·>ÛxvrÆì¯Õ—Ç'Ó$ƨÆ{KáÚJUUÀ
+ªn‡»ÚÉíßäš^•åÎúôiëIÓ“'ª?N¹Ê³Ÿ¯-š^ù 3`úe«A6ôÀÑw°>>:©US–©jê2ɝWu)®?bt˜ôØc]ãž/¿ð•cUí¼*MÍÞ>M€çrø}] _ؒчç—þ¦ …-Ò'ÖýÄ ’¶IÿᲓæ'z$í.ãCØ
+öRL<6Rd$¶¢iÑþ:Ìñ]n‰…ɸÚ8xk¨wé£Üx’ü¨ŠkpR7#Að}*:\Ð+fŽ_¥®•µ &¯D·y—nÃ)2íx×(7Ûï‘éx	¥}„Ä‹‘R @ú€Ê>Œ
+*[	±9#Òuž7l>"Œ!¢Ñè¹<ôf0€éÞß‚AEF›]–{g)å“DÖäUˆ,˜"k´…÷ŸÚ”D•ÃÅuv4,ªˆ8HÖw’:Æ8gŒí3«²ÚFÐf
+rg²ÿ;P[Ͳ4\ë÷˜FùÆEKb}ÿ[Gšëí= (ô¥œþÀ0ÛÆ(WØ78ǁ"œÏmáé\Þ?.bØãÐ+
+ò;Š6vÚ– j#%ŽP~Ú8D*ìá7qZ|íwË›¥X—؈1šwŒ”ÚK“HÜwOßf?÷÷AêŠtÓJvbÑhPY^?¦	<°õK¬OòqöÃ$Àøú3M—µ´nÇ8QLzjØëfþ-,g¶LÞ)tÊÝô±­Âp/ׁἂm7Þ8ys_¦SƒÅ¦×vIˆB›Å°ÝîÍÔ:	t˘õl6}oÿ•®Eå^œ#+ÿÌ·è	³ΓµTþ>¸w ÀÁvFö:o¦¯ðKæ«)®NÂAƒ
+¦ÑŽâéFÛÒŘí"‹Ÿ?£¬)Üû™_‡vš5ìª9°—W)Ã>6 :’¬¯l4ŽJ*xØ\¸%p‡ûo™²|=i>¾ £p8s¿ºB¨Š_R\ZhÐLf`„’¬â‰!¢RLÝ…¢MŒ…Ý,ùÓ	uóé|ªáßHSÚ’f\Q¨B…Ó^ù²ä˜oÿxü²zøˆuPÝ
 endstream
 endobj
 38 0 obj <<
 /Type /Page
-/Contents 49 0 R
-/Resources 48 0 R
+/Contents 40 0 R
+/Resources 39 0 R
 /MediaBox [0 0 612 792]
-/Parent 59 0 R
-/Annots [ 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R ]
+/Parent 50 0 R
 >> endobj
+41 0 obj <<
+/D [38 0 R /XYZ 132.768 705.06 null]
+>> endobj
+42 0 obj <<
+/D [38 0 R /XYZ 133.768 667.198 null]
+>> endobj
 39 0 obj <<
+/Font << /F33 43 0 R /F19 44 0 R /F40 45 0 R /F45 46 0 R /F50 47 0 R /F52 48 0 R /F8 49 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+62 0 obj <<
+/Length 637       
+/Filter /FlateDecode
+>>
+stream
+xÚÕ•ÁrÓ0†ïy
+åƒ\I+Ë·Ò˜„Sá`\ׄIâLl˜áíÙ•ìÇɤáÐƒíµ¼þWúvW’¬b’ÝOd÷|½˜ÜÜ%Ž)ƒ±š-ž˜ˆS›1›¤±†„-ÙŸÕ‘â›o˽ÕD_ï&
+…$ÛU,îQÑæbgµ%AÉ„V±SiR‘p:áoQCóv‡ju$@òG´~àU´ËŒÄûy²¡­tšÃ™˜û(Yˆ¢C”*­òïMÙ`˜Ls"¼ù5Vóïh•E·¢Ã ¤éÙ 7wÙÁ:‘¡3†	…ÓH:n:FaE¿#wà¬5ÎÕ Œwûˆ^ïñšû	)¾ì#€ŠACÿÓ«H¼i	!q̫׸.ZÒm‚ŽâÕª#UI¯õš’8Z¬K5QÔ¹KDÊ+¸„ÇÑ$”U=ð~ôD¶Eb°8Ó¶=€­/®(טU›Æ¾áÕŽ¡…í`ž}éÔ2i·$¾í^:ÇÊ?“0Éâ<ôS·<¹@ý¨¯Eêb«õ°»aßݾÙh黼ð$ŠrÜÒ.3<ûûîê¡»„’ø§?Õ8çEá7>U#ÒVÁÕh^55Ïw9•ÄìRëÈá¡iÃ[*h*í< ,êM¤3þ“JšXîš®_ê͘§{¹<¯:ó]¿‹±ÍWa˜Õk¿'dZS¹–žq¾N79m¿¨p—~ƒðße"é|˜MÑRÇóÍTö²êÍÔÛ’jªèy­û&Î7Tt{*4²òTÂ/~8l¹àÍ!ð­÷ß'Úv@{Èõ–ƦóÙ)¸`å?WÏþ«ÂsËhÅ„CÖ\ç7‹Éo[àO
+endstream
+endobj
+61 0 obj <<
+/Type /Page
+/Contents 62 0 R
+/Resources 60 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+/Annots [ 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R 57 0 R 58 0 R 59 0 R ]
+>> endobj
+51 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 497.323 212.801 506.19]
+/Rect [132.772 634.321 212.801 643.188]
 /A << /S /GoTo /D (section.1) >>
 >> endobj
-40 0 obj <<
+52 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 473.473 237.867 484.272]
+/Rect [132.772 610.471 237.867 621.27]
 /A << /S /GoTo /D (section.2) >>
 >> endobj
-41 0 obj <<
+53 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 461.518 321.094 472.357]
+/Rect [147.716 598.516 321.094 609.355]
 /A << /S /GoTo /D (subsection.2.1) >>
 >> endobj
-42 0 obj <<
+54 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 449.284 342.813 460.402]
+/Rect [147.716 586.281 342.813 597.4]
 /A << /S /GoTo /D (subsection.2.2) >>
 >> endobj
-43 0 obj <<
+55 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 427.645 203.925 438.444]
+/Rect [132.772 564.643 203.925 575.442]
 /A << /S /GoTo /D (section.3) >>
 >> endobj
-44 0 obj <<
+56 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 415.69 239.511 426.339]
+/Rect [147.716 552.687 239.511 563.337]
 /A << /S /GoTo /D (subsection.3.1) >>
 >> endobj
-45 0 obj <<
+57 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 405.667 246.455 414.384]
+/Rect [147.716 542.665 246.455 551.382]
 /A << /S /GoTo /D (subsection.3.2) >>
 >> endobj
-46 0 obj <<
+58 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 391.221 338.09 403.082]
+/Rect [147.716 528.219 338.09 540.08]
 /A << /S /GoTo /D (subsection.3.3) >>
 >> endobj
-47 0 obj <<
+59 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 379.266 420.061 391.127]
+/Rect [147.716 516.264 420.061 528.124]
 /A << /S /GoTo /D (subsection.3.4) >>
 >> endobj
-50 0 obj <<
-/D [38 0 R /XYZ 132.768 705.06 null]
+63 0 obj <<
+/D [61 0 R /XYZ 132.768 705.06 null]
 >> endobj
-51 0 obj <<
-/D [38 0 R /XYZ 133.768 667.198 null]
+65 0 obj <<
+/D [61 0 R /XYZ 133.768 647.382 null]
 >> endobj
-55 0 obj <<
-/D [38 0 R /XYZ 133.768 510.385 null]
+60 0 obj <<
+/Font << /F59 64 0 R /F64 66 0 R /F8 49 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
+70 0 obj <<
+/Length 2655      
+/Filter /FlateDecode
+>>
+stream
+xڝÉrãÆõ>_ÁÒ	¬Ûh Ë’L”Øqj<IÍ('Û„HyHBHËJ~>om $4Éä ±—ׯ߾4âÅv/¾{Ëïïß|ó­/Ö™ÔeÉâþaaÓÔäY±È|n’Ô/î7‹#»\Y›øèû¥ŽËÔF'tír•ÆÑæ\ãì±¥½ŸïÿúÍ·Å¢4e–dˆ/^¬kŠ¸`L? œKòhÓ Žãråó,êaÜüþqõX#Blq;§ëp£^ÂÁn´{D´E ¦gGB
+ Ï|èP}^&œ£Ýº=< k-o:vP$‡¶6Ÿ=щÇ^9äÇZSz‘LU×L‚z„^ï…T³\屋îwŒÎÙ2êÏpÁ*|âýꀤœH5’Øórû ¿I¤"<þ#y×¼»q…C=‘pÛ^®…•ñíª½roANRæ!I¹?ôsœ6!U!hÛñY@ÆÕqƒwá*¶¿ Ás»†Çá·° 6…úÔŽ t́é"Ô§`>í¾ç%Òϯ¤i²	@CŒ°ð¸!T=i§ ˜nÙ.ÈRp•‚(‘”ª³ëíyErf1óB… ҝE™¶=ñÚ¨EŠ
+À)ÙgWÕª`<Z­¾alg¼çQÄI÷’øHØUÇ§¤p´hÄvVÇéz2ÉFß¡šÀîÊû„<Yð>%55âÍ¢fûtê™Oµkü~Á%f‚@F"oبÚ
+Û±ØãLTÇÞ;&„øۏ#œgghÉ6V¾2æ‹}—%œÁ/Ø‘­ø9Êh‡€ý ò2ú)ö1L?}ø;.ÂÌòú³êkÇت	Rúð™´ÙUO²³áÒiMÜ÷r¾	4¼7„é»èÖMu!p jšØŸ5^°‚!˜—ÎAØMMiùèý3’ˆBµŽCêÌzõ
+t¾=ïΨVw"øUã)¬¬Ùš#OY Ñý5]¤ç·œ²r”’¤4ÞZ`”¨ü`àe¿V}_g”Ôš4IôÐ-ÚƒøY£Ãþ¤6$0oò<Ÿóö–´²[Žƒ'ÆÀ“Š$	Då£lkˆÛ<RRŃš(äbpK–x-[:ã3§ìlÅa£8±%»Cû»’…³¬Ó‘,ð®ç]ˆZ”.‰Ì!lkh„Å“`Vúê RJ3ò…”ˆÓ‘Åh”jÁW²lpp@ÍŸ÷£@ÆfÁ»„f#$0’…bSª³è{Áø6½Šú¤nÐæ&Ì!Ì)87ÏÉÈŽ_Bdo­Z¤8úòv.¢´¤8ëbì“Óª–””aw0˜ÔÕQÏpf¢ÉÈ07¼"&ãŒÇ•«)ÈYËÍ© *96s-îK’af™þ"…ÞÏ^Ü‘m΄™	¾4õ×]ô`R—àz%•Á„SÝ3Ê¡¶†ë^xá§ØzÜþMDJ¦[ÜÏ‚–d—¦Žƒm-A#OÛU§á5'À6]ð!®­ðü~Z%PÓÌH€êÄVÝ©.¡8“4ÞótÞëϪ5R}‘,ÔɤÔ"d¼=¨R܇º¨×Z•èz#”‹”‚m¨ZH8 ʳÞùðÓ¥ÇüWpÎÏåvç²™d«Áö;­Êqa7ªÒq®â¤ж¢½©*‘ö'ç5ñ™‡³DƒÁ‡+Š7{u6çie†ñº²–ŒÀP°¶9#rg8O{'@–&¦HSF–H×t¤D2âŽ%Í]ÔR„ƒ¡§!ð“%"ãS?\@ôéÕ‹XÒzb Ö2`>Lc“Ù|’X)«ŽRê3Äû"À¿©!ª¢–Aˆ~à_6^µ\är×9Ávê*WA™c\9¥0i¡•I菊!p]gIç+‹¯-ðP¨.Ô[l1jC
+¶µN&iedyš€$Ý!07DÅ—RìÙËÝÏ;ÉÌÔ,à
+ŸŸhl9±)‹r¦$2ÅGñ1ÔÖÚú؏CÌ¥ôOŽµ–g“j ˆ¥’ú¨Mcý²,£ÒAqÚ÷"
+Ú-´Ð#jÀ­SË¿µ<„"íÂ)×ZlW!‹Ø!ÅâäØ’ŸJ㕸²³
+ýÏ-ï­ÏÀp¬ðk•’ .eõ’$´>Ý¥1Ð…ÜIì'T`Ÿª5Àð㘂d(ź×Ä W@Œà§NÛ¶H¸CŽš
+rRd`»Ç½E  «
+µrÅ¿y¯o”
+Z°¢h†[kg$’ó …ëjE"WjN<O)D"ãµß§6XQ~¥ã¯ôؤ~»HègÅ´JÔyG¬R“Ë‘!ÔU!VÆò¼ƒD7}ÇyÔw›žõÍðÜñÊ^ûÜí¹ÚÊëQ	ÝËYX¯52›ÞZ9˜3ôÚ”BšVjž_Ì&
+.®Ã;	öp¸BeöF¶{11?h¬B§ñ²U}žÛ^´ÚØ´§ÜL†zº¦‚ËÄÕò&p[³|’"lŽM¦ã§¼ß^ó”IùÐI9MïL½:èYÚ3‡RÚ¥¨žÚ!GàÚUL–—'¯T’Ž<Þ
+/ÍlÓ›Ÿþ¹,KB£7W’;	&‚	Å[²OµYÞäÞÎÆfö²æ¥¢šŸÅ‚…½ú ðÁäl†ÅØäI1×Ò†²y†ÃÔd™žy½]†Ú!ÏæP?‘Áâï—QÏ)s&ðd&Nò¯UÒøí.¡ù¨ðǏ›Ù=oÜ,±>Dìî‹ÅXk ~́B †4Ô0°vðݥݒVmiMÚœ¶¬hÌù¨Ï§zf
+(C‘ÍvÕ£6h›è8B,8_yÒÃ-âùHñt+ÐôÒ6c:>6I„ø{|Œû…ŸÐ#ÅÑ¢Ì;áIÁiLR(2“gEÖ¬Ó§ñÐúÉëk­¹1–Ú*0Ž¿PÕÚÆÉ×ô>ðšpª£Òë€Í”¬~Ïá˜Ã3l\}½Ð×f ž¾6ÇN™ºfce3g’<Êïפ&Šø«rªíÐâÁO&…üõv0‹°ÐGûNÊo\’ÝG)ùÆðå$¯À´§02ѯxDÍfFûáa—wYÒÅÈ Šñ{ŒXå­”ö$Žéç¤ðö‘r•Ü\kÙäšMßUßÄÆ£ÏÄ‹n»ãß½ùÇ‹Ü”9¶ŒÔ?ZoÊ2çÛ~‡åšŽkÒC÷"«Èýõ³ÀøI©žž§(|ºãBÙüSóÀÌÆ7Üþp£ ŠÃ§È˜)FÊu”S¯ëMâßu§R¤
+óæ“ô³Hß
+“ñ#Å—ú³F‚›òü*gl)ò{F¯
+ûÂ释ºZlŒó¼ˆzˆePd>::	Ö–ØÄ‘ÿ¾3O-;‚d\Ü­¹/‹‡²^CÛÇÍø£bnⲸ`‰ÎÚæü!
+LŽo!<5[ù06^#f;f¾Þ!ÕÝß:¤êïßd
+ŠõE]L½5¤}K)wÒ®£	öÔ¶ž†Æ‡»Qqëð+4 û›ºs¥õvBÊÂzg\U
+ÄÈ¢ɤ˜?ß¿ù‡qb
+endstream
+endobj
+69 0 obj <<
+/Type /Page
+/Contents 70 0 R
+/Resources 68 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+>> endobj
+71 0 obj <<
+/D [69 0 R /XYZ 132.768 705.06 null]
+>> endobj
 2 0 obj <<
-/D [38 0 R /XYZ 133.768 365.269 null]
+/D [69 0 R /XYZ 133.768 667.198 null]
 >> endobj
-48 0 obj <<
-/Font << /F35 52 0 R /F19 53 0 R /F42 54 0 R /F47 56 0 R /F8 57 0 R /F54 58 0 R >>
+6 0 obj <<
+/D [69 0 R /XYZ 133.768 439.267 null]
+>> endobj
+10 0 obj <<
+/D [69 0 R /XYZ 133.768 410.631 null]
+>> endobj
+68 0 obj <<
+/Font << /F59 64 0 R /F8 49 0 R /F69 67 0 R /F79 72 0 R /F80 73 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-62 0 obj <<
-/Length 494       
+76 0 obj <<
+/Length 1655      
 /Filter /FlateDecode
 >>
 stream
-xÚ…TKÓ0¾÷Wøèìõ;1·ÒeP%º'ØCi(j“ª	Hü{fÆN7 ²ìØñø{ÌØV¬cŠ½]©ü}½[Ý=8ô“ÖÃv{¦­•e¨Xð¥4Ö³ÝWö‰›Bhm<ßš¡Õ#tØÚ±¶t|€ñ‡ž†_
-ÿŽÍ4O»÷‰FËè=Ñ(&Œ•U†—©SXPË0«dÐ%DSÜGû°Eütý-\duU#'ˆ.¨Z×fÉûô	«C[mrÐá°G§–Ä3Jé W%aÏBµù¿ê‡™C&œ}›nIwQjÚ½R”äòýsÆ?Vóh`B†ó1;ìfT¬+ãs­EeY°ÿ|.†Íµ~G)&®óLÞAÓ¾PQ¥3Lª)b9þˆ6}—tRÓÒB—Ya`†íÃdŒ{Ü6Õ	¢Høþ‰:¼ýÿÌ-ÀlÛ^HPCùª	tCÙ:ÃDñ¡o	~JKë¾ÎGÿѐbÊÍgå̶x5Ö0Ñÿ4âf#„hHÁ‰dÔ³`ÓÊû%2e:ZÂcƒ¿-P8.º¤£Me6““§ÐVF—«Ž6îkøï×f6r})î*e&¤G¢’%lN)éBœ_‰åŽ7»Õoo݆
+xÚÍX[oÛ6~ï¯0
+˜%%Š’ÚuX¬CökÞÖ=(²œº-ÏŠ“æßïÜ(QJœ¥k;ì!1ER‡çú}‡Ò³«™žýòLùýéâÙ‹·®˜ªp±›]¬f&ÉU–Î\š©8IgËÙQ77Ñþvó?/~}ñ6·§Ê9²hãËùÂÚ$zwv>_$I-á¥òÿásÝ®a|ý»Ý|»¨†©
+çßkc+^ZӁqá»õ^Ž/^­Zx1#ákœ¿R¨×=Û&†-DÕ…)Tç¬0¾®à¯¿¹oaì”ÑñÄBÔëCÍꐢ˜Øàà’ÚóZ»â_ôˆ?’Н( Ý£íKžd“is(¼yi}D?TòÞÓ̽GæžÁÛoÄ䝘ŒÚ¬ï›8•ÚdböŽßò+¬ÌºÝŽM
+µßà®®[K ¯ØÔe˜ïuªáéìMG)š'(ŽlH°(J¬æ‰ñ,·¬M»óf¡w¶>ãH¬DV¦Ví>°—Žâ¸	7ø‹Nß/‰Ý.HÓ5卉QIüXºîHÈ ´nÄ_7˜Âì¸ ¨ÉÔÈ+ܲm7µ·T†siœ&F²­¾…ãSIb}¤R¿æBÀùrÏ"mšD˜ÜôHÉQ/yú-H²vWV+í¼¹[1ãöŸ€êÄç1ì_²mt\ofç˜"…Zw¬1iE…_äôv§æ‹\›ètÅ›·-»ÇdÎOa`T‘:ÖB$lð0‘ÐçP'ÑÚSÈ!*7>î'¼\JñÕN\qw8YEnøå½ä¼T)úRÏö—~ü;æg®g™*2mЗÌpJ'bÆpRÂ!ªo¥žŸ3â]@?§º'¾æð ?†ƒfX?¶ÊXËâ_¿¯ùŒwuT5eÇN¢YĵóKPœ‘wÐõ l¦t!U¤å
+„œóN„µKb\*eörÍ1d,ãœ+ˆÊç%¿töÆïËU\ˆ_b^œnW,ø;ò-…øxÅSL™åÈ[ãL^xecaèS°;N§KIñ^AHN´Í®wÜ7Ôóý’ÊsU˜Aã~°5îKŠŒX­aI”Šò‘% "ë8YŽXÝÜÓ³ó(ñe®cpÑ(ž?<P6¯¤u¦L’Œ«ñfŽZîIç'WìòˆMÚøNFfË=žä2pv…’w}%…oñø1g›ÔAó§y;I¬ßXµÚF®Ü bÛâœÝzàÂ+Aäù÷oÝ
+ׁ‘üsƒ’ûî¬D³*s±øPòùÂ;ià娋ëx+cMtO´ƒ²–W	><›V}Na±  Ïk8&û“ex:2¡Å4ÄG¢c2¾°ÇÉkþ­¹Œ@Öžh$Ѳ¨:0ÌK½‡Ö_ù ¶ß¾K•6î)ÁŸ²—ï’…ŸwžœòžÜ륰i¿­99¨ëÍ©…¶­0•W†}àÿ–‡}áµå›Å}ƒ G*—eÄ#‰IG<ò‰aòûÅ”VžÏM4¢•ÞQqç¨õ	¿idÞÈs,Ïší§¡ßŠ©æÙiB½:ŸM\é7 ®ìKˆ+?J\qÈ[Ùˆ#…·ä©g-
+¬ÕÑ
+€)K÷ýüqÊ2ZefJY˜ºq!‰ƒ£9,Y«‡6Vv7£6&©»_rËußúô×,M¸L‡l‘¾jõ䪙´Æ‰Ý(b^,,—ÝHCH«
+èaFA‰=µÏš'nåTZÜ~ãÝ"·ý¥0·#EûÀ
+x”$8}í9ZѴȢ߈c㜩©[ƒž-\x1¡ò‹­(c	'=|
+St«oäÒ€µ¢‡Š ²¤Øþ…Õ7¡k—‡¡]ݍ؟WV1¶¡^T-YßþŠ€Tíû{‡ÿÌÜ»ËUX†£%ýjr×#7ùë{¹¥öê³;gÈ—~)ÄØÿÄOƒ÷õ æ˜Ë‡?ae#O¨q‡‡òh•)GGÉWc¼%å_3TÅ7eƒä?aƒ‡.0¾u²Î<òõWトiêòœ	q’¦§×àn8C†ôåáN¾ˆJTF¶ CäRÜH¸f˜\—þºîlyèœèF·ƒ®ãÈ< „dÇ>ü¼×p@þªØIªšèÇ®o(Q³+T‚&âB幤†}ôôŸ/žý
+A[&
 endstream
 endobj
-61 0 obj <<
+75 0 obj <<
 /Type /Page
-/Contents 62 0 R
-/Resources 60 0 R
+/Contents 76 0 R
+/Resources 74 0 R
 /MediaBox [0 0 612 792]
-/Parent 59 0 R
+/Parent 50 0 R
 >> endobj
-63 0 obj <<
-/D [61 0 R /XYZ 132.768 705.06 null]
+77 0 obj <<
+/D [75 0 R /XYZ 132.768 705.06 null]
 >> endobj
-6 0 obj <<
-/D [61 0 R /XYZ 133.768 667.198 null]
+74 0 obj <<
+/Font << /F69 67 0 R /F8 49 0 R /F80 73 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-10 0 obj <<
-/D [61 0 R /XYZ 133.768 644.599 null]
+80 0 obj <<
+/Length 1619      
+/Filter /FlateDecode
+>>
+stream
+xÚ¥XKÛ6¾çW{’Ñ5CêAJAÒCÛ¤EA8è!Ùƒ,kmµ¶XÚf7¿¾ó¢(Å^$›`!‹âc8œoæ›áj•Ù™†¿ãf¦}ûõ¯ô¾gðþÒ8v`?Žû6Œÿ´|ôøE®gNN›Ùòzf’D9›ÏlæTœd³åzö.z÷nn"su5¿Zþ«Né"—!CWóE–˜Hç~‚I•)ÜhqüÅÅiA­Y¡
+[Ô
+–ÅFFÖ½˜çiÔ{X}Ïž?êüÜáàå|‘$I´ö#%—GœÅíºìࣁgw‡=qTA»=Ìcý7ó¨ÆÉ$vÍã+Táø¿ÜÑÐæð³Z+}yÔ×Ðڐî	Ÿí”>ƒ ígUšðYdó”(F‘ð¾Þ RÇ÷:Óи…·™Øî>´ÉŒ`=¿¾4¿ ´Ñ˜Sî‡	`/Òt¶H3•Ç‚ÕrëMžGû’­C
+[‰Ž‚?Y›†Úk~ã .o:þ¦yàgXP³¸aøX8š+4{i#$ïµ±UCJ.yÌ0Q–v¸É¾›jÔÒ8RnjE.½ð§6à¡Y6ñбK^\b«BùvŠLi›O¼Bü›ÚO¡½àfWîáãÃŽ›iýã÷ÒGÿ=ÇJϱ¦Ù%+F]Ïóåë·ÐùÜ{j‘«ØG¶(A€4x¬7k1Lþ©Ñ°½¢ûäõXN(Mv¦èmzÞì÷] 7}¿sm°ObXµDÁòœþµšŠ¸Çà$È)N'§»e垊iñ˜õG<Ì´Þ¼|¿+:üÅ哱ÉFŒ÷`“ÝÖÒÑÍ¡á‚]q·òÊZktT#E«œ·ùcõõL¼—×F‘knW-Eç92µÌÈ6ÚË"ØFo ýòUǁT=Ñ: Z>~a‹1åF%Y
+Z’v$IäxÙøLIª¬Kü" c‘¥ †îçO¶Ååj±åÊ?GÜÜ×Þ‡eAS[/È(Ä1p»ŽÝ”. Ú4¶b¿/½9ÀfЛ
+4Ô¾kn¡b:¬¥îøÔ|ábýÖ"0‚ŽAL¸qä¦i>ë)ëšäï'üÆOˆs§’Üy[’ü‰Ñ
+4ý4âÄõ9qZA‘Y·§B
+•Z?Ì”O6÷8µ1±¯·»óÜÏ™|]Ó9Í"(¾?y³t
+÷¦B{ì0´')k…qJ— œù½9~ùÚoŸEp»i궢mM^“e–"¤@Äìh5ÄVR/öwóíQ¦Úh4*þ&ÙüšæÉ,1&"’Üð‚úVäÑ‚} ÄQªÞö¨F“°µ.ùaƒaÅë|œqhÎØ£zŽÖÓÔ».žMd>ƒTvµ(Øq7¦·Î‡’L
+EÀšªÑ5wí‰ÌÉ,¸×¾Äˆ@‡µÿÛÛš˜â\ìÊ|º¬¸—	ñXiªè4úmhR¹ã¬Bjd-üXá¨|ÜúÃέtúÔ[ÏÙLh%eJ™Díè@Làr•C0NˆÀ×yZòpYÉfM%g‘AhjŸ·´\C#Šìð|’©ä"!á!'ZChߺ“•=÷ãyt<ð
+¹4v
+±ô&’%¼Ñ¦åºöúC°GmG5Ãjìƒ³Ë¡W¨‘	˜A»Ú‘ãvg(KUlcï_1rõFÓzO
+\#‡œzÉ›1ì!…ÆÉ(Ñä÷·ç’‹K Ìâ’{È!+0Òæ³øï¸÷š«v3*õ3é¬åµpQ»—Ü®S•éxJ3äÛ±KÀÚ‰KÀ7¹¾…ÈÐ(ŠÏaÉxÆž©Ê…¨c¬vcžç&ó­¬qÞÜ„^Nz
+Ôhà	° øjIIêHé	0,Vêx=rðXÔï(ÑÉ
+„úá°­÷ï+”sì–Cõ ÷'Jø—ìvŽÝп²‡úT‡ñÈ)OÅZàÌü[]>S&qÓr„.i1ÔR;®_ߤÜ]‰ô²ë$ú­™Üš;òÑ>Èó—ÑæÌ¥²c¡'7è04ޏï¯àµ‰ûŒ$Çÿ)YûÛvudžAÒ	ÿAbùþ‰ŒÝÿŒÊ±%~¡’€nZì·Á†Œîªsö¶P	¸	8°Êµ8V6Yø|ùèGð|±
+endstream
+endobj
+79 0 obj <<
+/Type /Page
+/Contents 80 0 R
+/Resources 78 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
 >> endobj
+81 0 obj <<
+/D [79 0 R /XYZ 132.768 705.06 null]
+>> endobj
 14 0 obj <<
-/D [61 0 R /XYZ 133.768 624.69 null]
+/D [79 0 R /XYZ 133.768 198.947 null]
 >> endobj
+78 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R /F59 64 0 R /F79 72 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+84 0 obj <<
+/Length 2121      
+/Filter /FlateDecode
+>>
+stream
+xÚÍXKoÛF¾çW¾˜"šË7¸E[4
+7	b=$9Ð"-1‘DU¤ãêßw^»\R”­=†)îrwvæ›÷z“ÅÄ›¼~æ™_øs£x²Ã±¼¿ýì×›g¯Ro’¸Yâ©ÉÍÝD›Äé$Ž×¢ÉM1ùèü¶š*'ošé,
+<çlQn`¼ªð\¶g<ûq›ÃpþŸ‹ç”s†ƒ¢Äu妄g{öyúùæà`¦BWe1Ó¿FúuÛÀóEï{Âßß uù¨¦¡çàù³ÐgãÒÎùtæ+?t*l
+ŸùÏkäêFÞ\dÛ|TëHµÒG'®—eÉ‘³Y˜$ȍû[!@G¶,ân:SQ8sÄ%ßÁóíî
+<?\]Ñß™/ñ¤ÝÑix¾ùpÏ«1˜:@(8f¹Cî×5rWƒX3?ŽBgKãªEÎj *HTâlQÀ§Š=éÆ£©zK@¦j—ˆÌîIP³w9
+ÙÖ!‰¯jÓòìäÊÖMûO0ˆ’žãŽº@m`ÊX3˜ì$s³ØÑbU_¹™J™×_PµpŠ Û|÷ÀHâ”<hJ²Ix<ljÔAHþFVÔ°>Šœ/¸Žd«„s„ƒo
+xòŽ$ê,ªXðŠ5M
+y‚ãN/[ç¸Ãh,¸xi^ Ú*áAió É#ñR:¶ÄómJ¢‚iNþRßñï5"ýŽßïHí çßð¸×ÀÌñ¤uBçO¢Sòž­ÞCËpU‰ˆì§iH&^i…°Ä 
+àÛg¨Ky£ùªáßO^ä¥Å»xg–šý,v?¡IØŸ	WEBnD•Ì-	*"aÊL“è¡fô–†â– žW+T:FY±U[eßÐÍRŽ‚_Žêø=àMEn+-†š8r®IAaàd9,Cƒ÷B¤þä©€œ—Ƀò[ÞY	<d>ßdu:&#nPUaì”àЏ%SmDðšÈ<™7L1ÓMâ»fŸlþßÁÿ­œ9"s ÜÀ7›^"ùLÜ
+=‹\’è0ñ
+Y,™¶utz¾ëù}¥¢¯Ç´6`
+fhÎÐ
+
+f;Š›Ì°‹“!pV‘m„a!~’¯Ø=N0mü+}C»u,Až@òcWy¾m ‰xqGB!3k|Áwüœ~ѐŒh‡Ú
+n`±M|,ž&®ðݳcŒ"6¥câœý¢9?ŒÁ‚ø'(yYñ•AîI|S¾,Vè¯÷Ŭ4W•qÔ0»Èiò
+£=y;µþÏä]‰‡	¹ÿNÂ\Œy5âí±…ß/™Éµ$WÙɦmû¨\4Ó”˜¨¨£Z<‹Î²ç÷s˜¿8çwa¨Da.3yž_àÖs)dÇâbnÍ”­FArÄi˜
+(½ 0—¶l×òÛXãòßÈw}/´ñU¾ºx|u.´|Ì+ø#%˜ÎôßÜ”(RÒø‰".
+pÃQ%Þkâºáª4ñum‚¯KiµùnÒ‹| ’%Ùh€'ûÛ,~ ­n¯ÂOY¡‚æèûØ’MwKÌ×Í ¤ë™µ•‘S­ã7áÚRAE6C›;=Pg€z`£>ÉÏYƘ´¯ëð¸*£ÿ8<rXÅÇôRá’0.§æ=Yîy 6Ší)uÚiQ¬‹Çº×áÒÐýV»ÖÂÖïñ²Í^%uÍsçb\Hñ~¥Ã3…F~~¢¯°œ=#¨Å\—ˆw§T+Ðh!bÆBPëbŠcSÆcíÇ¡irˆF‰öl$Šã …#·:Q¬KN¾Û3=Êôœ×Žö=$¡ƒða
+H+&ŠJ i’ôƒÒCeb»¶ŒºÐªÈ])[¡dö’>ÂWHà+—¹cU6$5,²/°ýÈhƒj¹ÐùbÚÂç#g‰å
+–“,¬Tpä¼Y¤bNÄx9¤8K &1ãŠûÆêšq™ô.¶äv'®®êP•¦n虞q#â<<å×Ï%ñ„(W·VpØÕ܏ˆ_ZI1Uµ¹!˜ƒ®ÆB«jÁ÷†o¿Ø¯‘€TrµÝôÐ|ÃÅÅýÚ:€êÔYÁè/×†o09ªêÙšOÑA½,´aoriÊ5û1»?Ö$pln$‘ÎYÉxŠtÏx‰W‘x#©ßß¿^G"±%ñð_‘$¬ÜFJTéG¹ñëOhÒý ôëG®(>ãò(\òA×!ßmÎW¹ô†8» — ‹©Å²å—°íðÞÌ“
+¤
+Ÿûm)m·òbŸxÎ-<)ZÕÏ‘;¯™f/¾ä’ôF¼$	¹ly€Œ®%-ì(i«L‚øxDÄ­ñuÄî»óP×ø¦ ”õ‚šœyµçƒ´Éã:†°+RR•MÏðÄáDÏÚè­FþÐáCðw•†¯'ü]jö—½ŽB®¾ÏÍ¥ÜêÝ,ô}H—ºÇÈ›ñ‹¢É,ÊÀF±ì^%;5ñÛ¤ÆñàÙ!ìJS,—ü(ë—å‚Ó6}áÀÒ•üxU¥‘·;ÝkuñÅ$^ØkWë0¤5÷ƒû$Æ\¤@†ÃvÁÃaOGDò–?v…/ÎZ×A÷Ç›q*ã¼am?†hæ¦]}²–Žµ5¢ˆÿŒv®ªë\/ž¢ZXTsé‹õ
+kþHÿ––þÂÔ”xIO@"_õ*³ÜÔË›"¼†é>È·5„/ÜoôvPFÌ|7
+Uϼ^I"^oSÑؘÔÅvÕ'ÅþHi ß{źqx´ °:é¨_°áTDÕ¸·ä÷›gÿ¸h!
+endstream
+endobj
+83 0 obj <<
+/Type /Page
+/Contents 84 0 R
+/Resources 82 0 R
+/MediaBox [0 0 612 792]
+/Parent 50 0 R
+>> endobj
+85 0 obj <<
+/D [83 0 R /XYZ 132.768 705.06 null]
+>> endobj
+82 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+88 0 obj <<
+/Length 1761      
+/Filter /FlateDecode
+>>
+stream
+xÚ­XIoÛF¾ûWB
+ˆ4žîi Ò´j‰{r| %Zf*‹†H9V}ß6\d9‰ƒÄÙÞ|ó–™·H{KO{´¿ÿžy¹Ê›xçמ‰2•ë%qªl{çïÂ?Œ¿ª+ø.à·f67þMÑp§…¹»Ö¿‚&ñKÌq~ÝÀ·Â’•ëÀfУ}Å|ƒÀ¬&õçÏ\ã̆Á
+žZV÷ˆPÂÊš*êgعÇÃp°…OˆS¤Êý«-q@´c!”÷Nª-‘7Áåù_ÞÌD*"hÊcQÂBø‹4W#Z˜`Y¸‚™¼Óto
+YOy=£õ¡EÅ·2¸DÄÓ.È"b?Ný¦î¡	³åq%RjEÜj±F짯w?dÈ_Ç?M
+†ÓŽðAJ¾݆)iLuUE‚Y†lwül×ÉHËvÏØ’5È~Í€¤»aQpØ©V|¼í¯¼ÛÝ"BB¾¢ÁÞé^¡ GZÅ	H¡½
+<×ÿð_‡öR•§Úàó@9c•e"ç›`‡ÆÀFû¯g<DèòË'ë	ô–%ŽWÕYo'¬L$[‘ÉZ¤c%/ž0äWM¿ÇLy^Œ5Â7àÚǸvh¾LÙ<e©^â+Žcÿ+çê~Iwçi¿­åruGrtšÐزÉ8BH‘„ºÂcªtžíižŒ×y5ÍÆC#º>Ñ‹À—Yn·ÊtÄ ''AÇâÇH´²*~F8»$/CVZÞ´LqÛ3Êòp5Þ½Ýnn@£ë'¼ûŠî_±ÙñðãéYçrÆ8sO„¼-b7m¸ìI«yÏ%ªöŸÍú¾·%Y»àAñ J|%Väsy$7âXt€
+Ý7ú…,B{n«†ÜûzÉã?¿±MžxXÞÌ%QY<¶êÀÃìðp'Æ÷d°±JØGt-ò¶*ö7ø$L!ÄÝZT€5ÊÀΡuaWh²õmÌšê؇ÏY¢¬IÂ%¼ÿm3rD°ùø÷$l²Ðµ ùG ;…ß™xnö~´kxRhThC·iz 6QÆB at wSBåJP—âLÛÇèQ¬tjÜæâzùŸ`ÞòÝC‰æìH©ß…~·P¯¼+,=f Hò/NtiDïðaÉíY–›þT†œKJQošÎÍŒMUYË(5L†PrvÑpĸucƒ'"b)+.`8UFóìP©ØF£«¯¸QË®zÏ»Û'öb8;¦ô¢—ƒÇßù }xÒÅòHç^Œ‚È×Ï°#8ã}ß<u™¨­¿ÞŽD&¸±o;Ÿ=12ß
+ºÏ÷>𘼈0Eß#2\àmµ—ÌíÅ4ìzQ/'mˆ‡’K¾à”òoÖØh¯
+QEOÌ?Ö÷ Î
+¹ÝÛæ`ô¨=×R8¬{J”ö	„HÆ_s±zì]ÿÄ: ᘱ)œW YòŠ±QqdÔ-F*ì}ê!·ˆ¬Ìá©/‡ ¸qYçb%®I
+Ùƒ_s·Ëqw<þµˆWò„\Pa—’XA©¢’:@(‹ÙH]“Ç*7FÜ£(œ¡P»Ô†õºï,H=¬dBh6¥¨{»’‡…•+¤ÚP¿œÁ³Ò‹ƒŸ
+D,tÂ=°A¢ò,r *˜E‘õÿ Þ¾Pdàø°áô²“¬ä\ŠDû¤MˆÌn˜YWa¿XÜq‚†ÂÅR¦A±`RÈV230%à%h‰jX↚Ë;Ž>ŒSh"l‡ê†!=;κ¨T‘
+°Œ1i_Æ輫y‡•ÊjBwYˆŒî¡c£"
+Ã"–V«¢í†Ô³À™‘+£÷êâ½*¯EIwTÎäŠJÍ7¬¹ÌTkôgZk^¤çL‚y‰9 TѼ$ÑÉ7Ç£·®8Ä,“b3ÿI€ë”®³š€M<}ÛHõðìh¨(
+GAJJ꿆¾x+*cïV;)m ¿íª˜ë-ñÞVèúÖ®¼sY3è/ùíy\uRWÓõ…ÑéÛq=‡KåKTQ2íSå
+9¢½â‰T<*ï’qyGQß|P’)­ÍøPÊœˆÝ|
+—A¼rþ&ÿy·_¦
+*ˆ7}EŒu:¼-è™÷¨öŽ<B[ŠN&’|àœ”ðjE^{I¯ˆ ÉRßæ„ôE7²¯ÓÐÏœL*ºLÿ¹£¹˜èκjG˜ »[
+r“ÎâÂc·Šùï«ç¥0?ៈ=~‚âl×òÕà<¸Ø’[œ<¿ªc¦téàžÂöþÏLrÙ1eNY&II*õîüè
+ÿËÑ
+endstream
+endobj
+87 0 obj <<
+/Type /Page
+/Contents 88 0 R
+/Resources 86 0 R
+/MediaBox [0 0 612 792]
+/Parent 90 0 R
+>> endobj
+89 0 obj <<
+/D [87 0 R /XYZ 132.768 705.06 null]
+>> endobj
+86 0 obj <<
+/Font << /F8 49 0 R /F80 73 0 R /F69 67 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+93 0 obj <<
+/Length 1867      
+/Filter /FlateDecode
+>>
+stream
+xڝXIÛ6¾çWø(±F$µöP`:iº EƒÀEi²¬±X–kÉIf~}ß*Q3¤èÁE>>¾å{-¢E&éâ²Ãßÿô*Zà7¾¿±Žß¸€ë:†õÖ¯nÞæÑ"‹,2‹õýÂ8fi¾H“,´.Y¬·‹Á÷ËUâLÐ.M°ùXóêÃ^‡Güø+J¢m	ƒFæí@ÏîðÏ©¾2µYþ½þõ›²Ãpe³0²Ž…H
+ìSÏ8rø‘¸žyŒÏ”EÜ< u79T\a‘Ú5D¶&,LÎl÷(ÜËUœ¦A¹+ðu‚ßk˜)Š ‡á~$@Åqª½”;šJÜpÏÃ~ L‚m‰t%oCšŽç›¥Í‚+{™l=!ج&­4‡â e?žvBoÞ¦…§˜Í²0Ž,(HŠí†­&8¢³à·UzÞî›%Nas¬›Iç’NY¬œua¥‹•»%‚‰+¹ùï–+—;‹ÄäƒwdÖî;ðLU‹yð´@d[Þ»E;‰±ð»]‚냪ÂCθãçS‹ï˜öâyMÍVÅ5Ô±îä£Á6©lU/‚R“ïZN¼}Ôõå‘T¦:³˜eHk&‹809 “a‚õà} DêÏË$Å#Å,‚˜(hïùMRЈ‚Ž‘å“:t ë=Ñ	ÉÌ QoàTýULLÔd§#X"N
+ðDsƪ^1nQDê‘»U1_óò((jQ•/ƒß1<Z~—'" ìjžýÀHP^pnyŽïj¸ã•_„[š£ÐQ‘Ñ–¹V(étíÕ@H.W) ïwL[Œ=@MKŒYR@Òë9?É•a°²E®&»Òù
+¾öÄÒZaKV&xmy‹i+Y¤å¡¸‹?€†è‰[Íã¦mü '	d{lkÒŸfK9žBëÚ¨òÊ-´Â Du¯+3êbj&`¤&A{>“€m''ᤈŸÄ)ˆ'ôbcJçdjå&ø™ñzô>€,Aµ œNlŒ`cŒö«ÀÀ3³ÈUaèâ`°~”’D™XÝΩ¹‘D’XÐñÄ ÙÔ¤OÐâÚyáw/Šæd ÚÕ'¡¤$œÚP˜!á'Ýd”œ]F9Ìs®x.£”Æ['ôf¢1Nœzù»Öð’…‹ˆ‚jâÚÙ/òþö7&¡Mÿˆ Ht©é(’YbéÆ„ð'Dj/õLWÒÛRv‡s΄ã¶ÓßHn©y¹R˜àVL”øVQ+’­ì¸xÌxùe!Ðœ³žé µ1ð^+zP-çLÏpL¶¤åÒ
+‰EÌðñ¨%
+–6¸÷a<q‘²X3â]2UI¿cYš<Í @[ÑÌ„Sšԝ<o'¹‰N¾´WÏõ¨dyeiÏJÔ壪ÁÐa²Žª1ú®ö½v^´ Ù¿žd¬'ÂGSÝì¬nÏXŸµ~”Ç£˜óè6Ö ?I“”_8jñ›v`È¥çØӁe:bÌ+ÚÐPÁ¼j8ÌØ‘ÜÉá{æå†}A{‰V7«ý~¨tG/PM'Nœ°$À„i}7$‡$øˆ'VZN!4ÉžöšiU¯JZm-jGKÏBWÒ(-jíöÜ Ù0³öÿG'Û”È>ižxR¥'_RÝm/òéu*ÔCzGp߶ž×Má÷§¶a’†â"Ÿ¶fR½PF¿L’¤gÅ¢—!‡^wRk³ãÁc:týc—¡Í:‹^o¥€:Žu1üV=) {¹uƒ›—qd!ÉÜI”¶ªdVšÙŒ}â™íPO[íÕqZkX”
+ØÃ8qr(=p&vC-ƒ™v£ þ¬Î¹vϸ{:~^™% Òv‘ÆÁ/§¹ü¼”Šþ D®à–Ce­½öžÈ$PšAŒcv©b¡aƒ WµšN¤L¹Ãw?NÍU…‘hOcÈý
+åfmòp
+‹’y½ãLmù&eâiˁ"—3zq€Ö;²eÇèr&WÓ®;Þ1Éá´ðÅ¿/ãÄl1¯G®’Ĉ–òyͬêŽ^u:G®ÇEÇ_|¿žq¶ÚÿŒjç 6¦ß]-7\ç]q“8´Q¦WÜF’ùQòb±ÐÁ³ž¹Ãĝ^« @¢{ېz´4–’®¦å橺Z½ÿsUѲzó6)ð>
+-˜EqWEF0„›»Wd°@ù‹¤Ñ,	Δ@¨²‘
+ê‘Ùêÿ%xÿ7C­2!^qðhªÎYÌœªš ÐJï9\8lºÌy<¬ðxC•Ì¢jI:‡™Á±†ÑÍO™Å3'ÌÞQ/}¢ÿMÎTR€é]Ë!½’ÿ°N5Ðóêí©«>t^æ‘{Ñ»;xÜêÿV³ºÄªË¡Ó•[)â­§™Š³wœ†L'Kþ0xª79°wÔåpöD¶‹ÂÔd$
+A>^ïÞ,Ž·ï€þîÙpS¨—‡l]›‡p(óÈ';~\¿ú¾Lê®
+endstream
+endobj
+92 0 obj <<
+/Type /Page
+/Contents 93 0 R
+/Resources 91 0 R
+/MediaBox [0 0 612 792]
+/Parent 90 0 R
+>> endobj
+94 0 obj <<
+/D [92 0 R /XYZ 132.768 705.06 null]
+>> endobj
+95 0 obj <<
+/D [92 0 R /XYZ 133.768 482.824 null]
+>> endobj
+96 0 obj <<
+/D [92 0 R /XYZ 133.768 462.899 null]
+>> endobj
+97 0 obj <<
+/D [92 0 R /XYZ 133.768 442.974 null]
+>> endobj
 18 0 obj <<
-/D [61 0 R /XYZ 133.768 603.982 null]
+/D [92 0 R /XYZ 133.768 332.339 null]
 >> endobj
 22 0 obj <<
-/D [61 0 R /XYZ 133.768 576.067 null]
+/D [92 0 R /XYZ 133.768 303.703 null]
 >> endobj
 26 0 obj <<
-/D [61 0 R /XYZ 133.768 556.157 null]
+/D [92 0 R /XYZ 133.768 283.793 null]
 >> endobj
 30 0 obj <<
-/D [61 0 R /XYZ 133.768 538.103 null]
+/D [92 0 R /XYZ 133.768 265.739 null]
 >> endobj
 34 0 obj <<
-/D [61 0 R /XYZ 133.768 514.741 null]
+/D [92 0 R /XYZ 133.768 242.377 null]
 >> endobj
-60 0 obj <<
-/Font << /F42 54 0 R /F60 64 0 R /F8 57 0 R >>
+91 0 obj <<
+/Font << /F80 73 0 R /F8 49 0 R /F69 67 0 R /F83 98 0 R /F59 64 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-65 0 obj
+99 0 obj
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/adegenet -r 895


More information about the adegenet-commits mailing list