apcluster/0000755000176200001440000000000013527172536012267 5ustar liggesusersapcluster/NAMESPACE0000644000176200001440000000174413527026237013510 0ustar liggesusersuseDynLib(apcluster) import("methods") importFrom("graphics", "plot", "axis", "frame", "layout", "legend", "lines", "pairs", "par", "points", "segments", "title") importFrom("grDevices", "dev.flush", "dev.hold", "rainbow", "heat.colors") importFrom("stats", "cutree", "heatmap", "as.hclust", "as.dendrogram", "cor", "median", "order.dendrogram", "quantile", "rnorm", "runif") importFrom("Rcpp", "evalCpp") import("Matrix") export("apclusterDemo", "negDistMat", "expSimMat", "corSimMat", "linSimMat", "linKernel", "sparseToFull") exportClasses("APResult", "AggExResult", "ExClust") exportMethods("show", "plot", "heatmap", "labels", "cutree", "[", "[[", "similarity", "as.hclust", "as.dendrogram", "length", "apcluster", "apclusterL", "apclusterK", "aggExCluster", "preferenceRange", "as.SparseSimilarityMatrix", "as.DenseSimilarityMatrix") S3method("sort", "ExClust") apcluster/README.md0000644000176200001440000000202613527026237013542 0ustar liggesusers# APCluster - An R Package for Affinity Propagation Clustering Implements Affinity Propagation clustering introduced by Frey and Dueck (2007; [DOI:10.1126/science.1136800](http://dx.doi.org/10.1126/science.1136800)). The algorithms are largely analogous to the 'Matlab' code published by Frey and Dueck. The package further provides leveraged affinity propagation and an algorithm for exemplar-based agglomerative clustering that can also be used to join clusters obtained from affinity propagation. Various plotting functions are available for analyzing clustering results. This is the source code repository. The package can be installed from [CRAN](https://CRAN.R-project.org/package=apcluster). Further information and installation instructions are also available from http://www.bioinf.jku.at/software/apcluster/. The package is maintained by Ulrich Bodenhofer. The package itself has grown over the years in which multiple students have contributed significant parts: Johannes Palme, Chrats Melkonian, Andreas Kothmeier, and Nikola Kosticapcluster/man/0000755000176200001440000000000013527065147013041 5ustar liggesusersapcluster/man/ExClust-class.Rd0000644000176200001440000001063013527026237016017 0ustar liggesusers\name{ExClust-class} \docType{class} \alias{ExClust-class} \alias{ExClust} \alias{exclust} \alias{[,ExClust,index,missing,missing-method} \alias{[[,ExClust,index,missing-method} \alias{length,ExClust-method} \alias{similarity,ExClust-method} \title{Class "ExClust"} \description{S4 class for storing exemplar-based clusterings} \section{Objects}{ Objects of this class can be created by calling \code{\link{cutree}} to cut out a clustering level from a cluster hierarchy of class \code{\linkS4class{AggExResult}}. Moreover, \code{\link{cutree}} can also be used to convert an object of class \code{\linkS4class{APResult}} to class \code{ExClust}. } \section{Slots}{ The following slots are defined for \link{ExClust} objects: \describe{ \item{\code{l}:}{number of samples in the data set} \item{\code{sel}:}{subset of samples used for leveraged clustering} \item{\code{exemplars}:}{vector containing indices of exemplars} \item{\code{clusters}:}{list containing the clusters; the i-th component is a vector of indices of data points belonging to the i-th exemplar (including the exemplar itself)} \item{\code{idx}:}{vector of length \code{l} realizing a sample-to-exemplar mapping; the i-th entry contains the index of the exemplar the i-th sample belongs to} \item{\code{sim}:}{similarity matrix; only available if the preceding clustering method was called with \code{includeSim=TRUE}.} \item{\code{call}:}{method call of the preceding clustering method} } } \section{Methods}{ \describe{ \item{plot}{\code{signature(x="ExClust")}: see \code{\link{plot-methods}}} \item{plot}{\code{signature(x="ExClust", y="matrix")}: see \code{\link{plot-methods}}} \item{heatmap}{\code{signature(x="ExClust")}: see \code{\link{heatmap-methods}}} \item{heatmap}{\code{signature(x="ExClust", y="matrix")}: see \code{\link{heatmap-methods}}} \item{show}{\code{signature(object="ExClust")}: see \code{\link{show-methods}}} \item{labels}{\code{signature(object="ExClust")}: see \code{\link{labels-methods}}} \item{cutree}{\code{signature(object="ExClust", k="ANY", h="ANY")}: see \code{\link{cutree-methods}}} \item{length}{\code{signature(x="ExClust")}: gives the number of clusters.} \item{sort}{\code{signature(x="ExClust")}: see \code{\link{sort-methods}}} \item{as.hclust}{\code{signature(x="ExClust")}: see \code{\link{coerce-methods}}} \item{as.dendrogram}{\code{signature(object="ExClust")}: see \code{\link{coerce-methods}}} } } \section{Accessors}{ In the following code snippets, \code{x} is an \code{ExClust} object. \describe{ \item{}{\code{x[[i]]}: Returns the i-th cluster as a list of indices of samples belonging to the i-th cluster. } \item{}{\code{x[i]}: Returns a list of integer vectors with the indices of samples belonging to this cluster. The list has as many components as the argument \code{i} has elements. A list is returned even if \code{i} is a single integer. } \item{similarity}{\code{signature(x="ExClust")}: gives the similarity matrix. } } } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\link{aggExCluster}}, \code{\link{show-methods}}, \code{\link{plot-methods}}, \code{\link{labels-methods}}, \code{\link{cutree-methods}}, \code{\linkS4class{AggExResult}}, \code{\linkS4class{APResult}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(25, 0.7, 0.08), rnorm(25, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix (negative squared Euclidean) sim <- negDistMat(x, r=2) ## run affinity propagation aggres <- aggExCluster(sim) ## extract level with two clusters excl <- cutree(aggres, k=2) ## show details of clustering results show(excl) ## plot information about clustering run plot(excl, x) } \keyword{classes} apcluster/man/apcluster-package.Rd0000644000176200001440000000541613527026237016726 0ustar liggesusers\name{apcluster-package} \alias{apcluster-package} \docType{package} \title{APCluster Package} \description{ The apcluster package implements affinity propagation according to Frey and Dueck and a method for exemplar-based agglomerative clustering. It further offers various functions for plotting clustering results. } \details{The central function is \code{\link{apcluster}}. It runs affinity propagation on a given similarity matrix or it creates a similarity matrix for a given data set and similarity measure and runs affinity propagation on this matrix. The function returns an \code{\linkS4class{APResult}} object from which the clustering itself and information about the affinity propagation run can be obtained. Leveraged affinity propagation clustering \code{\link{apclusterL}} allows efficient clustering of large datasets by using only a subset of the similarities. The package further implements an exemplar-based agglomerative clustering method \code{\link{aggExCluster}} that can be used for computing a complete cluster hierarchy, but also for joining fine-grained clusters previously obtained by affinity propagation clustering. Further functions are implemented to visualize the results and to create distance matrices. } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. } \keyword{package} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(100, 0.7, 0.08), rnorm(100, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix (negative squared Euclidean) sim <- negDistMat(x, r=2) ## run affinity propagation apres <- apcluster(sim, details=TRUE) ## show details of clustering results show(apres) ## plot information about clustering run plot(apres) ## plot clustering result plot(apres, x) ## employ agglomerative clustering to join clusters aggres <- aggExCluster(sim, apres) ## show information show(aggres) show(cutree(aggres, 2)) ## plot dendrogram plot(aggres) ## plot clustering result for k=2 clusters plot(aggres, x, k=2) ## plot heatmap heatmap(apres, sim) ## leveraged apcluster apresL <- apclusterL(s=negDistMat(r=2), x=x, frac=0.2, sweeps=3) ## show details of clustering results show(apresL) ## plot clustering result plot(apresL, x) } apcluster/man/aggExCluster-methods.Rd0000644000176200001440000001577413527026237017401 0ustar liggesusers\name{aggExCluster} \docType{methods} \alias{aggExCluster} \alias{aggexcluster} \alias{aggExCluster-methods} \alias{aggExCluster,matrix,missing-method} \alias{aggExCluster,matrix,ExClust-method} \alias{aggExCluster,Matrix,missing-method} \alias{aggExCluster,Matrix,ExClust-method} \alias{aggExCluster,missing,ExClust-method} \alias{aggExCluster,function,ANY-method} \alias{aggExCluster,character,ANY-method} \title{Exemplar-based Agglomerative Clustering} \description{ Runs exemplar-based agglomerative clustering } \usage{ \S4method{aggExCluster}{matrix,missing}(s, x, includeSim=FALSE) \S4method{aggExCluster}{matrix,ExClust}(s, x, includeSim=FALSE) \S4method{aggExCluster}{Matrix,missing}(s, x, includeSim=FALSE) \S4method{aggExCluster}{Matrix,ExClust}(s, x, includeSim=FALSE) \S4method{aggExCluster}{missing,ExClust}(s, x, includeSim=TRUE) \S4method{aggExCluster}{function,ANY}(s, x, includeSim=TRUE, ...) \S4method{aggExCluster}{character,ANY}(s, x, includeSim=TRUE, ...) } \arguments{ \item{s}{an \eqn{l\times l}{lxl} similarity matrix or a similarity function either specified as the name of a package-provided similarity function as character string or a user provided function object} \item{x}{either a prior clustering of class \code{\linkS4class{ExClust}} (or \code{\linkS4class{APResult}}) or, if called with \code{s} being a function or function name, input data to be clustered (see \code{\link{apcluster}} for a detailed specification)} \item{includeSim}{if \code{TRUE}, the similarity matrix (either computed internally or passed via the \code{s} argument) is stored to the slot \code{sim} of the returned \code{\linkS4class{AggExResult}} object. The default is \code{FALSE} if \code{aggExCluster} has been called for a similarity matrix, otherwise the default is \code{TRUE}.} \item{...}{all other arguments are passed to the selected similarity function as they are.} } \details{\code{aggExCluster} performs agglomerative clustering. Unlike other methods, e.g., the ones implemented in \code{\link{hclust}}, \code{aggExCluster} is computing exemplars for each cluster and its merging objective is geared towards the identification of meaningful exemplars, too. For each pair of clusters, the merging objective is computed as follows: \enumerate{ \item{An intermediate cluster is created as the union of the two clusters.} \item{The potential exemplar is selected from the intermediate cluster as the sample that has the largest average similarity to all other samples in the intermediate cluster.} \item{Then the average similarity of the exemplar with all samples in the first cluster and the average similarity with all samples in the second cluster is computed. These two values measure how well the joint exemplar describes the samples in the two clusters.} \item{The merging objective is finally computed as the average of the two measures above. Hence, we can consider the merging objective as some kind of \dQuote{balanced average similarity to the joint exemplar}.} } In each step, all pairs of clusters are considered and the pair with the largest merging objective is actually merged. The joint exemplar is then chosen as the exemplar of the merged cluster. \code{aggExCluster} can be used in two ways, either by performing agglomerative clustering of an entire data set or by performing agglomerative clustering of data previously clustered by affinity propagation or another clustering algorithm. \enumerate{ \item{Agglomerative clustering of an entire data set can be accomplished either by calling \code{aggExCluster} on a quadratic similarity matrix without further argument or by calling \code{aggExCluster} for a function or function name along with data to be clustered (as argument \code{x}). A full agglomeration run is performed that starts from \code{l} clusters (all samples in separate one-element clusters) and ends with one cluster (all samples in one single cluster).} \item{Agglomerative clustering starting from a given clustering result can be accomplished by calling \code{aggExCluster} for an \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}} object passed as parameter \code{x}. The similarity matrix can either be passed as argument \code{s} or, if missing, \code{aggExCluster} looks if the similarity matrix is included in the clustering object \code{x}. A cluster hierarchy with numbers of clusters ranging from the number of clusters in \code{x} down to 1 is created.} } The result is stored in an \code{\linkS4class{AggExResult}} object. The slot \code{height} is filled with the merging objective of each of the \code{maxNoClusters-1} merges. The slot \code{order} contains a permutation of the samples/clusters for dendrogram plotting. The algorithm for computing this permutation is the same as the one used in \code{\link{hclust}}. If \code{aggExCluster} was called for an entire data set, the slot \code{label} contains the names of the objects to be clustered (if available, otherwise the indices are used). If \code{aggExCluster} was called for a prior clustering, then labels are set to \sQuote{Cluster 1}, \sQuote{Cluster 2}, etc. } \note{Similarity matrices can be supplied in dense or sparse format. Note, however, that sparse matrices are converted to full dense matrices before clustering which may lead to memory and/or performance bottlenecks for larger data sets.} \value{ Upon successful completion, the function returns an \code{\linkS4class{AggExResult}} object. } \author{Ulrich Bodenhofer & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{AggExResult}}, \code{\link{apcluster-methods}}, \code{\link{plot-methods}}, \code{\link{heatmap-methods}}, \code{\link{cutree-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(50, 0.2, 0.05), rnorm(50, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute agglomerative clustering from scratch aggres1 <- aggExCluster(negDistMat(r=2), x) ## show results show(aggres1) ## plot dendrogram plot(aggres1) ## plot heatmap along with dendrogram heatmap(aggres1) ## plot level with two clusters plot(aggres1, x, k=2) ## run affinity propagation apres <- apcluster(negDistMat(r=2), x, q=0.7) ## create hierarchy of clusters determined by affinity propagation aggres2 <- aggExCluster(x=apres) ## show results show(aggres2) ## plot dendrogram plot(aggres2) plot(aggres2, showSamples=TRUE) ## plot heatmap heatmap(aggres2) ## plot level with two clusters plot(aggres2, x, k=2) } \keyword{cluster} \keyword{methods} apcluster/man/coerce-methods.Rd0000644000176200001440000001334113527026237016230 0ustar liggesusers\name{coerce-methods} \docType{methods} \alias{as.hclust} \alias{as.dendrogram} \alias{as.hclust,AggExResult-method} \alias{as.hclust,ExClust-method} \alias{as.dendrogram,AggExResult-method} \alias{as.dendrogram,ExClust-method} \title{Coercion of cluster hierarchies} \description{ Functions for coercing clustering object to hclust and dendrogram objects } \usage{ \S4method{as.hclust}{AggExResult}(x, base=0.05) \S4method{as.hclust}{ExClust}(x, base=0.05, ...) \S4method{as.dendrogram}{AggExResult}(object, base=0.05, useNames=TRUE) \S4method{as.dendrogram}{ExClust}(object, base=0.05, useNames=TRUE, ...) } \arguments{ \item{x}{a clustering result object of class \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, or \code{\linkS4class{AggExResult}}} \item{object}{a clustering result object of class \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, or \code{\linkS4class{AggExResult}}} \item{base}{fraction of height used for the very first join; defaults to 0.05, i.e. the first join appears at 5\% of the total height of the dendrogram (see details below).} \item{useNames}{if \code{TRUE} (default), the labels of the dendrogram are the sample/cluster names (if available); otherwise, the labels are indices.} \item{...}{all other arguments are passed on to \code{\link{aggExCluster}} (see details below).} } \details{ If called for an \code{\linkS4class{AggExResult}} object, \code{as.hclust} creates an \code{\link[stats:hclust]{hclust}} object. The heights are transformed to the interval from \code{base} (height of lowest join) to 1 (height of highest join). If called for an \code{\linkS4class{ExClust}} or \code{\linkS4class{APResult}} object, \code{\link{aggExCluster}} is called internally to create a cluster hierarchy first. This is only possible if the pairwise similarities are included in the \code{sim} slot of \code{x} (see \code{\link{aggExCluster}} on how to ensure this). If \code{x} is an \code{\linkS4class{AggExResult}} object obtained by clustering an entire data set, \code{as.hclust} produces a complete hierarchy. If, however, \code{x} is an \code{\linkS4class{ExClust}} (or \code{\linkS4class{APResult}}) object or an \code{\linkS4class{AggExResult}} obtained by running \code{\link{aggExCluster}} on an \code{\linkS4class{ExClust}} or \code{\linkS4class{APResult}} object, then \code{as.hclust} produces a hierarchy of clusters, not of samples. If called for an \code{\linkS4class{AggExResult}} object, \code{as.dendrogram} creates an \code{\link[stats:dendrogram]{dendrogram}} object. Analogously to \code{as.hclust}, the heights are transformed to the interval ranging from \code{base} (height of lowest join) to 1 (height of highest join). So, any information about heights of merges is lost. If the original join heights are relevant, call \code{\link[apcluster:plot]{plot}} on the original \code{\linkS4class{AggExResult}} object directly without coercing it to a \code{\link[stats:dendrogram]{dendrogram}} object first. If called for an \code{\linkS4class{ExClust}} or \code{\linkS4class{APResult}} object, \code{\link{aggExCluster}} is called first to create a cluster hierarchy. Again this is only possible if the pairwise similarities are included in the \code{sim} slot of \code{object}. If \code{object} is an \code{\linkS4class{AggExResult}} object obtained by clustering an entire data set, \code{as.dendrogram} produces a complete dendrogram. If \code{object} is an \code{\linkS4class{ExClust}} (or \code{\linkS4class{APResult}}) object or an \code{\linkS4class{AggExResult}} obtained by previously running \code{\link{aggExCluster}} on an \code{\linkS4class{ExClust}} or \code{\linkS4class{APResult}} object, then \code{as.dendrogram} produces a complete dendrogram of all samples, too, but with the difference that entire clusters of the previous \code{\linkS4class{ExClust}} or \code{\linkS4class{APResult}} object are not further split up hierarchically. Consequently, if \code{x} is not a complete cluster hierarchy, but a hierarchy of clusters, \code{as.dendrogram(as.hclust(x))} produces a dendrogram of clusters, whereas \code{as.dendrogram(x)} in any case produces a dendrogram of samples (with the special property mentioned above). } \value{ see details above } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{AggExResult}}, \code{\linkS4class{ExClust}}, \code{\link{heatmap-methods}}, \code{\link{apcluster}}, \code{\link{apclusterL}}, \code{\link{aggExCluster}}, \code{\link{cutree-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05)) x <- rbind(cl1, cl2) ## run affinity propagation apres <- apcluster(negDistMat(r=2), x, q=0.7, details=TRUE) ## perform agglomerative clustering of affinity propagation clusters aggres1 <- aggExCluster(x=apres) ## compute and plot dendrogram dend1 <- as.dendrogram(aggres1) dend1 plot(dend1) ## compute and show dendrogram computed from hclust object dend2 <- as.dendrogram(as.hclust(aggres1)) dend2 plot(dend2) ## perform agglomerative clustering of whole data set aggres2 <- aggExCluster(negDistMat(r=2), x) ## compute and plot dendrogram dend3 <- as.dendrogram(aggres2) dend3 plot(dend3) } \keyword{cluster} \keyword{methods} apcluster/man/apclusterK-methods.Rd0000644000176200001440000001610713527035663017113 0ustar liggesusers\name{apclusterK} \docType{methods} \alias{apclusterK} \alias{apclusterK-methods} \alias{apclusterK,matrix,missing-method} \alias{apclusterK,Matrix,missing-method} \alias{apclusterK,dgTMatrix,missing-method} \alias{apclusterK,sparseMatrix,missing-method} \alias{apclusterK,character,ANY-method} \alias{apclusterK,function,ANY-method} \title{Affinity Propagation for Pre-defined Number of Clusters} \description{ Runs affinity propagation clustering for a given similarity matrix adjusting input preferences iteratively in order to achieve a desired number of clusters } \usage{ \S4method{apclusterK}{matrix,missing}(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE) \S4method{apclusterK}{Matrix,missing}(s, x, K, ...) \S4method{apclusterK}{dgTMatrix,missing}(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE) \S4method{apclusterK}{sparseMatrix,missing}(s, x, K, ...) \S4method{apclusterK}{function,ANY}(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE, ...) \S4method{apclusterK}{character,ANY}(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE, ...) } \arguments{ \item{s}{an \eqn{l\times l}{lxl} similarity matrix in sparse or dense format or a similarity function either specified as the name of a package-provided similarity function as character string or a user provided function object.} \item{x}{input data to be clustered; if \code{x} is a matrix or data frame, rows are interpreted as samples and columns are interpreted as features; apart from matrices or data frames, \code{x} may be any other structured data type that contains multiple data items - provided that an appropriate \code{\link[base:length]{length}} function is available that returns the number of items} \item{K}{desired number of clusters} \item{prc}{the algorithm stops if the number of clusters does not deviate more than prc percent from desired value K; set to 0 if you want to have exactly K clusters} \item{bimaxit}{maximum number of bisection steps to perform; note that no warning is issued if the number of clusters is still not in the desired range} \item{exact}{flag indicating whether or not to compute the initial preference range exactly (see \code{\link{preferenceRange}})} \item{maxits}{maximal number of iterations that \code{\link{apcluster}} should execute} \item{convits}{\code{\link{apcluster}} terminates if the examplars have not changed for \code{convits} iterations} \item{lam}{damping factor for \code{\link{apcluster}}; should be a value in the range [0.5, 1); higher values correspond to heavy damping which may be needed if oscillations occur} \item{includeSim}{if \code{TRUE}, the similarity matrix (either computed internally or passed via the \code{s} argument) is stored to the slot \code{sim} of the returned \code{\linkS4class{APResult}} object. The default is \code{FALSE} if \code{apclusterK} has been called for a similarity matrix, otherwise the default is \code{TRUE}.} \item{details}{if \code{TRUE}, more detailed information about the algorithm's progress is stored in the output object (see \code{\linkS4class{APResult}})} \item{nonoise}{\code{\link{apcluster}} adds a small amount of noise to \code{s} to prevent degenerate cases; if \code{TRUE}, this is disabled} \item{seed}{for reproducibility, the seed of the random number generator can be set to a fixed value, if \code{NA}, the seed remains unchanged} \item{verbose}{flag indicating whether status information should be displayed during bisection} \item{...}{for the methods with signatures \code{character,ANY} and \code{function,ANY}, all other arguments are passed to the selected similarity function as they are; for the methods with signatures \code{Matrix,missing} and \code{sparseMatrix,missing}, further arguments are passed on to the \code{apclusterK} methods with signatures \code{Matrix,missing} and \code{dgTMatrix,missing}, respectively.} } \details{ \code{apclusterK} first runs \code{\link{preferenceRange}} to determine the range of meaningful choices of the input preference \code{p}. Then it decreases \code{p} exponentially for a few iterations to obtain a good initial guess for \code{p}. If the number of clusters is still too far from the desired goal, bisection is applied. When called with a similarity matrix as input, the function performs the procedure described above. When called with the name of a package-provided similarity function or a user-provided similarity function object and input data, the function first computes the similarity matrix before running \code{apclusterK} on this similarity matrix. The similarity matrix is returned for later use as part of the APResult object depending on whether \code{includeSim} was set to \code{TRUE} (see argument description above). Apart from minor adaptations and optimizations, the implementation is largely analogous to Frey's and Dueck's Matlab code (see \url{http://genes.toronto.edu/affinitypropagation/}). } \value{ Upon successful completion, the function returns a \code{\linkS4class{APResult}} object. } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\link{apcluster}}, \code{\link{preferenceRange}}, \code{\linkS4class{APResult}}} \examples{ ## create three Gaussian clouds cl1 <- cbind(rnorm(70, 0.2, 0.05), rnorm(70, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) cl3 <- cbind(rnorm(60, 0.8, 0.04), rnorm(60, 0.8, 0.05)) x <- rbind(cl1, cl2, cl3) ## run affinity propagation such that 3 clusters are obtained apres <- apclusterK(negDistMat(r=2), x, K=3) ## show details of clustering results show(apres) ## plot clustering result plot(apres, x) ## create sparse similarity matrix cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05)) x <- rbind(cl1, cl2) sim <- negDistMat(x, r=2) ssim <- as.SparseSimilarityMatrix(sim, lower=-0.2) ## run apcluster() on the sparse similarity matrix apres <- apclusterK(ssim, K=2) apres } \keyword{cluster} apcluster/man/apcluster-methods.Rd0000644000176200001440000002017013527035734016772 0ustar liggesusers\name{apcluster} \docType{methods} \alias{apcluster} \alias{apcluster-methods} \alias{apcluster,matrix,missing-method} \alias{apcluster,dgTMatrix,missing-method} \alias{apcluster,sparseMatrix,missing-method} \alias{apcluster,Matrix,missing-method} \alias{apcluster,character,ANY-method} \alias{apcluster,function,ANY-method} \title{Affinity Propagation} \description{ Runs affinity propagation clustering } \usage{ \S4method{apcluster}{matrix,missing}(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA) \S4method{apcluster}{dgTMatrix,missing}(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA) \S4method{apcluster}{sparseMatrix,missing}(s, x, ...) \S4method{apcluster}{Matrix,missing}(s, x, ...) \S4method{apcluster}{character,ANY}(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, ...) \S4method{apcluster}{function,ANY}(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, ...) } \arguments{ \item{s}{an \eqn{l\times l}{l x l} similarity matrix or a similarity function either specified as the name of a package-provided similarity function as character string or a user provided function object. \code{s} may also be a sparse matrix according to the \pkg{Matrix} package. Internally, \code{apcluster} uses the \code{\linkS4class{dgTMatrix}} class; all other sparse matrices are cast to this class (if possible, otherwise the function quits with an error). If \code{s} is any other object of class \code{\linkS4class{Matrix}}, \code{s} is cast to a regular matrix internally (if possible, otherwise the function quits with an error).} \item{x}{input data to be clustered; if \code{x} is a matrix or data frame, rows are interpreted as samples and columns are interpreted as features; apart from matrices or data frames, \code{x} may be any other structured data type that contains multiple data items - provided that an appropriate \code{\link[base:length]{length}} function is available that returns the number of items} \item{p}{input preference; can be a vector that specifies individual preferences for each data point. If scalar, the same value is used for all data points. If \code{NA}, exemplar preferences are initialized according to the distribution of non-Inf values in \code{s}. How this is done is controlled by the parameter \code{q}.} \item{q}{if \code{p=NA}, exemplar preferences are initialized according to the distribution of non-Inf values in \code{s}. If \code{q=NA}, exemplar preferences are set to the median of non-Inf values in \code{s}. If \code{q} is a value between 0 and 1, the sample quantile with threshold \code{q} is used, whereas \code{q=0.5} again results in the median.} \item{maxits}{maximal number of iterations that should be executed} \item{convits}{the algorithm terminates if the examplars have not changed for \code{convits} iterations} \item{lam}{damping factor; should be a value in the range [0.5, 1); higher values correspond to heavy damping which may be needed if oscillations occur} \item{includeSim}{if \code{TRUE}, the similarity matrix (either computed internally or passed via the \code{s} argument) is stored to the slot \code{sim} of the returned \code{\linkS4class{APResult}} object. The default is \code{FALSE} if \code{apcluster} has been called for a similarity matrix, otherwise the default is \code{TRUE}.} \item{details}{if \code{TRUE}, more detailed information about the algorithm's progress is stored in the output object (see \code{\linkS4class{APResult}})} \item{nonoise}{\code{apcluster} adds a small amount of noise to \code{s} to prevent degenerate cases; if \code{TRUE}, this is disabled} \item{seed}{for reproducibility, the seed of the random number generator can be set to a fixed value before adding noise (see above), if \code{NA}, the seed remains unchanged} \item{...}{for the methods with signatures \code{character,ANY} and \code{function,ANY}, all other arguments are passed to the selected similarity function as they are; for the methods with signatures \code{Matrix,missing} and \code{sparseMatrix,missing}, further arguments are passed on to the \code{apcluster} methods with signatures \code{Matrix,missing} and \code{dgTMatrix,missing}, respectively.} } \details{Affinity Propagation clusters data using a set of real-valued pairwise data point similarities as input. Each cluster is represented by a cluster center data point (the so-called exemplar). The method is iterative and searches for clusters maximizing an objective function called net similarity. When called with a similarity matrix as input (which may also be a sparse matrix according to the \pkg{Matrix} package), the function performs AP clustering. When called with the name of a package-provided similarity function or a user-provided similarity function object and input data, the function first computes the similarity matrix before performing AP clustering. The similarity matrix is returned for later use as part of the \code{\linkS4class{APResult}} object depending on whether \code{includeSim} was set to \code{TRUE} (see argument description above). Apart from minor adaptations and optimizations, the AP clustering functionality of the function \code{apcluster} is largely analogous to Frey's and Dueck's Matlab code (see \url{http://genes.toronto.edu/affinitypropagation/}). The new argument \code{q} allows for better controlling the number of clusters without knowing the distribution of similarity values. A meaningful range for the parameter \code{p} can be determined using the function \code{\link{preferenceRange}}. Alternatively, a certain fixed number of clusters may be desirable. For this purpose, the function \code{\link{apclusterK}} is available. } \value{ Upon successful completion, the function returns an \code{\linkS4class{APResult}} object. } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\link{APResult}}, \code{\link{show-methods}}, \code{\link{plot-methods}}, \code{\link{labels-methods}}, \code{\link{preferenceRange}}, \code{\link{apclusterL-methods}}, \code{\link{apclusterK}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix and run affinity propagation ## (p defaults to median of similarity) apres <- apcluster(negDistMat(r=2), x, details=TRUE) ## show details of clustering results show(apres) ## plot clustering result plot(apres, x) ## plot heatmap heatmap(apres) ## run affinity propagation with default preference of 10% quantile ## of similarities; this should lead to a smaller number of clusters ## reuse similarity matrix from previous run apres <- apcluster(s=apres@sim, q=0.1) show(apres) plot(apres, x) ## now try the same with RBF kernel sim <- expSimMat(x, r=2) apres <- apcluster(s=sim, q=0.2) show(apres) plot(apres, x) ## create sparse similarity matrix cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05)) x <- rbind(cl1, cl2) sim <- negDistMat(x, r=2) ssim <- as.SparseSimilarityMatrix(sim, lower=-0.2) ## run apcluster() on the sparse similarity matrix apres <- apcluster(ssim, q=0) apres } \keyword{cluster} \keyword{methods}apcluster/man/sort-methods.Rd0000644000176200001440000000732413527026237015763 0ustar liggesusers\name{sort-methods} \docType{methods} \alias{sort} \alias{sort-methods} \alias{sort,APResult-method} \alias{sort,ExClust-method} \title{Sort clusters} \description{ Rearrange clusters according to sort criterion } \usage{ \S4method{sort}{ExClust}(x, decreasing=FALSE, sortBy=c("aggExCluster", "size", "nameExemplar", "noExemplar"), ...) } \arguments{ \item{x}{object of class \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}}} \item{decreasing}{logical indicating if sorting should be done in decreasing order, see details below} \item{sortBy}{sort criterion, see details below} \item{...}{further arguments are ignored; only defined for S3 method consistency} } \details{ The function \code{sort} takes an \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}} clustering object \code{x} and creates a new clustering object of the same class, but with clusters arranged according to the sort criterion passed as argument \code{sortBy}: \describe{ \item{\dQuote{aggExCluster}}{(default) order clusters as they would appear in the dendrogram produced by \code{\link{aggExCluster}}. This is also the same ordering in which the clusters are arranged by \code{\link{heatmap}}. Note that this only works if the similarity matrix is included in the input object \code{x}, otherwise an error message is produced.} \item{\dQuote{size}}{sorts clusters according to their size (from small to large).} \item{\dQuote{nameExemplar}}{sorts clusters according to the names of the examplars (if available, otherwise an error is produced).} \item{\dQuote{noExemplar}}{sorts clusters according to the indices of the examplars.} } If \code{decreasing} is \code{TRUE}, the order is reversed and, for example, \code{sortBy="size"} sorts clusters with such that the larger clusters come first. Note that the cluster numbers of \code{x} are not preserved by \code{sort}, i.e. the cluster no. 1 of the object returned by \code{sort} is the one that has been ranked first by \code{sort}, which may not necessarily coincide with cluster no. 1 of the original clustering object \code{x}. Note that this is an S3 method (whereas all other methods in this package are S4 methods). This inconsistency has been introduced in order to avoid interoperability problems with the \pkg{BiocGenerics} package which may overwrite the definition of the \code{sort} generic if it is loaded after the \pkg{apcluster} package. } \value{ returns a copy of \code{x}, but with slots \code{exemplars} and \code{clusters} (see \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}}) reordered. } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(50,0.2,0.05),rnorm(50,0.8,0.06)) cl2 <- cbind(rnorm(50,0.7,0.08),rnorm(50,0.3,0.05)) x <- rbind(cl1,cl2) ## run affinity propagation apres <- apcluster(negDistMat(r=2), x, q=0.7) show(apres) ## show dendrogram plot(aggExCluster(x=apres)) ## default sort order: like in heatmap or dendrogram show(sort(apres)) ## show dendrogram (note the different cluster numbers!) plot(aggExCluster(x=sort(apres))) ## sort by size show(sort(apres, decreasing=TRUE, sortBy="size")) } \keyword{cluster} \keyword{methods} apcluster/man/apclusterL-methods.Rd0000644000176200001440000002001713527035705017104 0ustar liggesusers\name{apclusterL} \docType{methods} \alias{apclusterL} \alias{apclusterL-methods} \alias{apclusterL,matrix,missing-method} \alias{apclusterL,character,ANY-method} \alias{apclusterL,function,ANY-method} \title{Leveraged Affinity Propagation} \description{ Runs leveraged affinity propagation clustering} \usage{ \S4method{apclusterL}{matrix,missing}(s, x, sel, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, nonoise=FALSE, seed=NA) \S4method{apclusterL}{character,ANY}(s, x, frac, sweeps, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, nonoise=FALSE, seed=NA, ...) \S4method{apclusterL}{function,ANY}(s, x, frac, sweeps, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, nonoise=FALSE, seed=NA, ...) } \arguments{ \item{s}{an \eqn{l \times length(sel)}{l x length(sel)} similarity matrix or a similarity function either specified as the name of a package provided similarity function as character string or a user provided function object for similarity calculation. If \code{s} is supplied as a similarity matrix, the columns must correspond to the same sub-selection of samples as specified in the \code{sel} argument and must be in the same increasing order. For a package- or user-defined similarity function, additional parameters can be specified as appropriate for the chosen method and are passed on to the similarity function via the \code{...} argument (see below). See the package vignette for a non-trivial example or supplying a user-defined similarity measure.} \item{x}{input data to be clustered; if \code{x} is a matrix or data frame, rows are interpreted as samples and columns are interpreted as features; apart from matrices or data frames, \code{x} may be any other structured data type that contains multiple data items - provided that an appropriate \code{\link[base:length]{length}} function is available that returns the number of items} \item{frac}{fraction of samples that should be used for leveraged clustering. The similarity matrix will be generated for all samples against a random fraction of the samples as specified by this parameter.} \item{sweeps}{number of sweeps of leveraged clustering performed with changing randomly selected subset of samples.} \item{sel}{selected sample indices; a vector containing the sample indices of the sample subset used for leveraged AP clustering in increasing order.} \item{p}{input preference; can be a vector that specifies individual preferences for each data point. If scalar, the same value is used for all data points. If \code{NA}, exemplar preferences are initialized according to the distribution of non-Inf values in \code{s}. How this is done is controlled by the parameter \code{q}. See also \code{\link{apcluster}}.} \item{q}{if \code{p=NA}, exemplar preferences are initialized according to the distribution of non-Inf values in \code{s}. If \code{q=NA}, exemplar preferences are set to the median of non-Inf values in \code{s}. If \code{q} is a value between 0 and 1, the sample quantile with threshold \code{q} is used, whereas \code{q=0.5} again results in the median. See also \code{\link{apcluster}}.} \item{maxits}{maximal number of iterations that should be executed} \item{convits}{the algorithm terminates if the examplars have not changed for \code{convits} iterations} \item{lam}{damping factor; should be a value in the range [0.5, 1); higher values correspond to heavy damping which may be needed if oscillations occur} \item{includeSim}{if \code{TRUE}, the similarity matrix (either computed internally or passed via the \code{s} argument) is stored to the slot \code{sim} of the returned \code{\linkS4class{APResult}} object. The default is \code{FALSE} if \code{apclusterL} has been called for a similarity matrix, otherwise the default is \code{TRUE}.} \item{nonoise}{\code{apcluster} adds a small amount of noise to \code{s} to prevent degenerate cases; if \code{TRUE}, this is disabled} \item{seed}{for reproducibility, the seed of the random number generator can be set to a fixed value before adding noise (see above), if \code{NA}, the seed remains unchanged} \item{...}{all other arguments are passed to the selected similarity function as they are; note that possible name conflicts between arguments of \code{apcluster} and arguments of the similarity function may occur; therefore, we recommend to write user-defined similarity functions without additional parameters or to use closures to fix parameters (such as, in the example below);} } \details{Affinity Propagation clusters data using a set of real-valued pairwise similarities as input. Each cluster is represented by a representative cluster center (the so-called exemplar). The method is iterative and searches for clusters maximizing an objective function called net similarity. Leveraged Affinity Propagation reduces dynamic and static load for large datasets. Only a subset of the samples are considered in the clustering process assuming that they provide already enough information about the cluster structure. When called with input data and the name of a package provided or a user provided similarity function the function selects a random sample subset according to the \code{frac} parameter, calculates a rectangular similarity matrix of all samples against this subset and repeats affinity propagation \code{sweep} times. A new sample subset is used for each repetition. The clustering result of the sweep with the highest net similarity is returned. Any parameters specific to the chosen method of similarity calculation can be passed to \code{apcluster} in addition to the parameters described above. The similarity matrix for the best trial is also returned in the result object when requested by the user (argument \code{includeSim}). When called with a rectangular similarity matrix (which represents a column subset of the full similarity matrix) the function performs AP clustering on this similarity matrix. The information about the selected samples is passed to clustering with the parameter \code{sel}. This function is only needed when the user needs full control of distance calculation or sample subset selection. Apart from minor adaptations and optimizations, the implementation of the function \code{apclusterL} is largely analogous to Frey's and Dueck's Matlab code (see \url{http://genes.toronto.edu/affinitypropagation/}).} \value{ Upon successful completion, both functions returns an \code{\linkS4class{APResult}} object. } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\link{show-methods}}, \code{\link{plot-methods}}, \code{\link{labels-methods}}, \code{\link{preferenceRange}}, \code{\link{apcluster-methods}}, \code{\link{apclusterK}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(150, 0.2, 0.05), rnorm(150, 0.8, 0.06)) cl2 <- cbind(rnorm(100, 0.7, 0.08), rnorm(100, 0.3, 0.05)) x <- rbind(cl1, cl2) ## leveraged apcluster apres <- apclusterL(negDistMat(r=2), x, frac=0.2, sweeps=3, p=-0.2) ## show details of leveraged clustering results show(apres) ## plot leveraged clustering result plot(apres, x) ## plot heatmap of clustering result heatmap(apres) ## show net similarities of single sweeps apres@netsimLev ## show samples on which best sweep was based apres@sel } \keyword{cluster} apcluster/man/similarities.Rd0000644000176200001440000002011713527026237016024 0ustar liggesusers\name{similarities} \alias{similarities} \alias{negDistMat} \alias{expSimMat} \alias{linSimMat} \alias{corSimMat} \alias{linKernel} \title{Methods for Computing Similarity Matrices} \description{ Compute similarity matrices from data set } \usage{ negDistMat(x, sel=NA, r=1, method="euclidean", p=2) expSimMat(x, sel=NA, r=2, w=1, method="euclidean", p=2) linSimMat(x, sel=NA, w=1, method="euclidean", p=2) corSimMat(x, sel=NA, r=1, signed=TRUE, method="pearson") linKernel(x, sel=NA, normalize=FALSE) } \arguments{ \item{x}{input data to be clustered; if \code{x} is a vector, it is interpreted as a list of scalar values that are to be clustered; if \code{x} is a matrix or data frame, rows are interpreted as samples and columns are interpreted as features; in the case that \code{x} is a data frame, only numerical columns/features are taken into account, whereas categorical features are neglected. If \code{x} is missing, all functions return a function that can be used as similarity measure, in particular, as \code{s} argument for \code{\link{apclusterL}}.} \item{sel}{selected samples subset; vector of row indices for x in increasing order (see details below)} \item{r}{exponent (see details below)} \item{w}{radius (see details below)} \item{signed}{take sign of correlation into account (see details below)} \item{normalize}{see details below} \item{method}{type of distance measure to be used; for \code{negDistMat}, \code{expSimMat} and \code{linSimMat}, this argument is analogous to the \code{method} argument of \code{\link[stats:dist]{dist}}. For \code{corSimMat}, this argument is analogous to the \code{method} argument of \code{\link[stats:cor]{cor}}.} \item{p}{exponent for Minkowski distance; only used for \code{method="minkowski"}, otherwise ignored. See \code{\link[stats:dist]{dist}}.} } \details{\code{negDistMat} creates a square matrix of mutual pairwise similarities of data vectors as negative distances. The argument \code{r} (default is 1) is used to transform the resulting distances by computing the r-th power (use \code{r=2} to obtain negative squared distances as in Frey's and Dueck's demos), i.e., given a distance d, the resulting similarity is computed as \eqn{s=-d^r}. With the parameter \code{sel} a subset of samples can be specified for distance calculation. In this case not the full distance matrix is computed but a rectangular similarity matrix of all samples (rows) against the subset (cols) as needed for leveraged clustering. Internally, the computation of distances is done using an internal method derived from \code{\link[stats:dist]{dist}}. All options of this function except \code{diag} and \code{upper} can be used, especially \code{method} which allows for selecting different distance measures. Note that, since version 1.4.4. of the package, there is an additional method \code{"discrepancy"} that implements Weyl's discrepancy measure. \code{expSimMat} computes similarities in a way similar to \code{negDistMat}, but the transformation of distances to similarities is done in the following way: \deqn{s=\exp\left(-\left(\frac{d}{w}\right)^r\right)}{s=exp(-(d/w)^r)} The parameter \code{sel} allows the creation of a rectangular similarity matrix. As above, r is an exponent. The parameter w controls the speed of descent. \code{r=2} in conjunction with Euclidean distances corresponds to the well-known Gaussian/RBF kernel, whereas \code{r=1} corresponds to the Laplace kernel. Note that these similarity measures can also be understood as fuzzy equality relations. \code{linSimMat} provides another way of transforming distances into similarities by applying the following transformation to a distance d: \deqn{s=\max\left(0,1-\frac{d}{w}\right)}{s=max(0,1-d/w)} Thw parameter \code{sel} is used again for creation of a rectangular similarity matrix. Here \code{w} corresponds to a maximal radius of interest. Note that this is a fuzzy equality relation with respect to the Lukasiewicz t-norm. Unlike the above three functions, \code{linKernel} computes pairwise similarities as scalar products of data vectors, i.e. it corresponds, as the name suggests, to the \dQuote{linear kernel}. Use parameter \code{sel} to compute only a submatrix of the full kernel matrix as described above. If \code{normalize=TRUE}, the values are scaled to the unit sphere in the following way (for two samples \code{x} and \code{y}: \deqn{s=\frac{\vec{x}^T\vec{y}}{\|\vec{x}\| \|\vec{y}\|}}{s=(x^T y)/(|x| |y|)} The function \code{corSimMat} computes pairwise similarities as correlations. It uses \code{link[stats:cor]{cor}} internally. The \code{method} argument is passed on to \code{link[stats:cor]{cor}}. The argument \code{r} serves as an exponent with which the correlations can be transformed. If \code{signed=TRUE} (default), negative correlations are taken into account, i.e. two samples are maximally dissimilar if they are negatively correlated. If \code{signed=FALSE}, similarities are computed as absolute values of correlations, i.e. two samples are maximally similar if they are positively or negatively correlated and the two samples are maximally dissimilar if they are uncorrelated. Note that the naming of the argument \code{p} has been chosen for consistency with \code{\link[stats:dist]{dist}} and previous versions of the package. When using leveraged AP in conjunction with the Minkowski distance, this leads to conflicts with the input preference parameter \code{p} of \code{\link{apclusterL}}. In order to avoid that, use the above functions without \code{x} argument to create a custom similarity measure with fixed parameter \code{p} (see example below). } \value{ All functions listed above return square or rectangular matrices of similarities. } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Micchelli, C. A. (1986) Interpolation of scattered data: distance matrices and conditionally positive definite functions. \emph{Constr. Approx.} \bold{2}, 11-20. De Baets, B. and Mesiar, R. (1997) Pseudo-metrics and T-equivalences. \emph{J. Fuzzy Math.} \bold{5}, 471-481. Bauer, P., Bodenhofer, U., and Klement, E. P. (1996) A fuzzy algorithm for pixel classification based on the discrepancy norm. In \emph{Proc. 5th IEEE Int. Conf. on Fuzzy Systems}, volume III, pages 2007--2012, New Orleans, LA. DOI: \href{http://dx.doi.org/10.1109/FUZZY.1996.552744}{10.1109/FUZZY.1996.552744}. } \seealso{\code{\link[stats:dist]{dist}}, \code{\link{apcluster}}, \code{\link{apclusterL}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(100, 0.7, 0.08), rnorm(100, 0.3, 0.05)) x <- rbind(cl1, cl2) ## create negative distance matrix (default Euclidean) sim1 <- negDistMat(x) ## compute similarities as squared negative distances ## (in accordance with Frey's and Dueck's demos) sim2 <- negDistMat(x, r=2) ## compute RBF kernel sim3 <- expSimMat(x, r=2) ## compute similarities as squared negative distances ## all samples versus a randomly chosen subset ## of 50 samples (for leveraged AP clustering) sel <- sort(sample(1:nrow(x), nrow(x)*0.25)) sim4 <- negDistMat(x, sel, r=2) ## example of leveraged AP using Minkowski distance with non-default ## parameter p cl1 <- cbind(rnorm(150, 0.2, 0.05), rnorm(150, 0.8, 0.06)) cl2 <- cbind(rnorm(100, 0.7, 0.08), rnorm(100, 0.3, 0.05)) x <- rbind(cl1, cl2) apres <- apclusterL(s=negDistMat(method="minkowski", p=2.5, r=2), x, frac=0.2, sweeps=3, p=-0.2) show(apres) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} apcluster/man/apclusterDemo.Rd0000644000176200001440000000513113527026237016134 0ustar liggesusers\name{apclusterDemo} \alias{apclusterDemo} \title{Affinity Propagation Demo} \description{ Runs affinity propagation demo for randomly generated data set according to Frey and Dueck } \usage{ apclusterDemo(l=100, d=2, seed=NA, ...) } \arguments{ \item{l}{number of data points to be generated} \item{d}{dimension of data to be created} \item{seed}{for reproducibility, the seed of the random number generator can be set to a fixed value; if \code{NA}, the seed remains unchanged} \item{...}{all other arguments are passed on to \code{\link{apcluster}}} } \details{\code{apclusterDemo} creates \code{l} \code{d}-dimensional data points that are uniformly distributed in \eqn{[0,1]^d}. Affinity propagation is executed for this data set with default parameters. Alternative settings can be passed to \code{\link{apcluster}} with additional arguments. After completion of affinity propagation, the results are shown and the performance measures are plotted. This function corresponds to the demo function in the original Matlab code of Frey and Dueck. We warn the user, however, that uniformly distributed data are not necessarily ideal for demonstrating clustering, as there can never be real clusters in uniformly distributed data - all clusters found must be random artefacts. } \value{ Upon successful completion, the function returns an invisible list with three components. The first is the data set that has been created, the second is the similarity matrix, and the third is an \code{\linkS4class{APResult}} object with the clustering results (see examples below). } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\link{plot-methods}}, \code{\link{apcluster}}, \code{\link{apclusterL}}} \examples{ ## create random data set and run affinity propagation apd <- apclusterDemo() ## plot clustering result along with data set plot(apd[[3]], apd[[1]]) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} apcluster/man/apcluster-deprecated.Rd0000644000176200001440000000124713527026237017431 0ustar liggesusers\name{apcluster-deprecated} \alias{apcluster-deprecated} \alias{sparseToFull} \title{Deprecated functions in package \sQuote{apcluster}} \description{ These functions are provided for compatibility with older versions of \sQuote{apcluster} only, and will be defunct at the next release. } \details{ The following functions are deprecated and will be made defunct; use the replacement indicated below: \itemize{ \item{sparseToFull: \code{\link{as.DenseSimilarityMatrix}}}} } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} apcluster/man/AggExResult-class.Rd0000644000176200001440000001312413527026237016623 0ustar liggesusers\name{AggExResult-class} \docType{class} \alias{AggExResult-class} \alias{AggExResult} \alias{aggexresult} \alias{[,AggExResult,index,missing,missing-method} \alias{[[,AggExResult,index,missing-method} \alias{length,AggExResult-method} \alias{similarity,AggExResult-method} \title{Class "AggExResult"} \description{S4 class for storing results of exemplar-based agglomerative clustering} \section{Objects}{ Objects of this class can be created by calling \code{\link{aggExCluster}} for a given similarity matrix. } \section{Slots}{ The following slots are defined for \link{AggExResult} objects: \describe{ \item{\code{l}:}{number of samples in the data set} \item{\code{sel}:}{subset of samples used for leveraged clustering (empty for normal clustering)} \item{\code{maxNoClusters}:}{maximum number of clusters in the cluster hierarchy, i.e. it contains clusterings with 1 - \code{maxNoClusters} clusters.} \item{\code{exemplars}:}{list of length \code{maxNoClusters}; the \code{i}-th component of the list is a vector of \code{i} exemplars (corresponding to the level with \code{i} clusters).} \item{\code{clusters}:}{list of length \code{maxNoClusters}; the \code{i}-th component of \code{clusters} is a list of \code{i} clusters, each of which is a vector of sample indices.} \item{\code{merge}:}{a \code{maxNoClusters-1} by 2 matrix that contains the merging hierarchy; fully analogous to the slot \code{merge} in the class \code{\link{hclust}}.} \item{\code{height}:}{a vector of length \code{maxNoClusters-1} that contains the merging objective of each merge; largely analogous to the slot \code{height} in the class \code{\link{hclust}} except that the slot \code{height} in \code{AggExResult} objects is supposed to be non-increasing, since \code{\link{aggExCluster}} is based on similarities, whereas \code{\link{hclust}} uses dissimilarities.} \item{\code{order}:}{a vector containing a permutation of indices that can be used for plotting proper dendrograms without crossing branches; fully analogous to the slot \code{order} in the class \code{\link{hclust}}.} \item{\code{labels}:}{a character vector containing labels of clustered objects used for plotting dendrograms.} \item{\code{sim}:}{similarity matrix; only available if \code{\link{aggExCluster}} was called with similarity function and \code{includeSim=TRUE}.} \item{\code{call}:}{method call used to produce this clustering result} } } \section{Methods}{ \describe{ \item{plot}{\code{signature(x="AggExResult")}: see \code{\link{plot-methods}}} \item{plot}{\code{signature(x="AggExResult", y="matrix")}: see \code{\link{plot-methods}}} \item{heatmap}{\code{signature(x="AggExResult")}: see \code{\link{heatmap-methods}}} \item{heatmap}{\code{signature(x="AggExResult", y="matrix")}: see \code{\link{heatmap-methods}}} \item{show}{\code{signature(object="AggExResult")}: see \code{\link{show-methods}}} \item{cutree}{\code{signature(object="AggExResult", k="ANY", h="ANY")}: see \code{\link{cutree-methods}}} \item{length}{\code{signature(x="AggExResult")}: gives the number of clustering levels in the clustering result.} \item{as.hclust}{\code{signature(x="AggExResult")}: see \code{\link{coerce-methods}}} \item{as.dendrogram}{\code{signature(object="AggExResult")}: see \code{\link{coerce-methods}}} } } \section{Accessors}{ In the following code snippets, \code{x} is an \code{AggExResult} object. \describe{ \item{}{\code{x[[i]]}: Returns an object of class \code{\linkS4class{ExClust}} corresponding to the clustering level with \code{i} clusters; synonymous to \code{\link{cutree}(x, i)}. } \item{}{\code{x[i]}: Returns a list of \code{\linkS4class{ExClust}} objects with all clustering levels specified in vector \code{i}. So, the list has as many components as the argument \code{i} has elements. A list is returned even if \code{i} is a single level. } \item{similarity}{\code{signature(x="AggExResult")}: gives the similarity matrix. } } } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\link{aggExCluster}}, \code{\link{show-methods}}, \code{\link{plot-methods}}, \code{\link{cutree-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(50, 0.2, 0.05), rnorm(50, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix (negative squared Euclidean) sim <- negDistMat(x, r=2) ## compute agglomerative clustering from scratch aggres1 <- aggExCluster(sim) ## show results show(aggres1) ## plot dendrogram plot(aggres1) ## plot heatmap along with dendrogram heatmap(aggres1, sim) ## plot level with two clusters plot(aggres1, x, k=2) ## run affinity propagation apres <- apcluster(sim, q=0.7) ## create hierarchy of clusters determined by affinity propagation aggres2 <- aggExCluster(sim, apres) ## show results show(aggres2) ## plot dendrogram plot(aggres2) ## plot heatmap heatmap(aggres2, sim) ## plot level with two clusters plot(aggres2, x, k=2) } \keyword{classes} apcluster/man/cutree-methods.Rd0000644000176200001440000000473613527026237016267 0ustar liggesusers\name{cutree-methods} \docType{methods} \alias{cutree} \alias{cutree-methods} \alias{cutree,AggExResult-method} \alias{cutree,APResult-method} \title{Cut Out Clustering Level from Cluster Hierarchy} \description{ Cut out a clustering level from a cluster hierarchy } \usage{ \S4method{cutree}{AggExResult}(tree, k, h) \S4method{cutree}{APResult}(tree, k, h) } \arguments{ \item{tree}{an object of class \code{\linkS4class{AggExResult}} containing a cluster hierarchy; may also be an object of class \code{\linkS4class{APResult}}} \item{k}{the level (i.e. the number of clusters) to be selected} \item{h}{alternatively, the level can be selected by specifying a cut-off for the merging objective} } \details{ The function \code{cutree} extracts a clustering level from a cluster hierarchy stored in an \code{\linkS4class{AggExResult}} object. Which level is selected can be determined by one of the two arguments \code{k} and \code{h} (see above). If both \code{k} and \code{h} are specified, \code{k} overrides \code{h}. This is done largely analogous to the standard function \code{\link[stats:cutree]{cutree}}. The differences are (1) that only one level can be extracted at a time and (2) that an \code{\linkS4class{ExClust}} is returned instead of an index list. The function \code{cutree} may further be used to convert an \code{\linkS4class{APResult}} object into an \code{\linkS4class{ExClust}} object. In this case, the arguments \code{k} and \code{h} are ignored. } \value{ returns an object of class \code{\linkS4class{ExClust}} } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{AggExResult}}, \code{\linkS4class{ExClust}}} \examples{ ## create two simple clusters x <- c(1, 2, 3, 7, 8, 9) names(x) <- c("a", "b", "c", "d", "e", "f") ## compute similarity matrix (negative squared distance) sim <- negDistMat(x, r=2) ## run affinity propagation aggres <- aggExCluster(sim) ## show details of clustering results show(aggres) ## retrieve clustering with 2 clusters cutree(aggres, 2) ## retrieve clustering with cut-off h=-1 cutree(aggres, h=-1) } \keyword{cluster} \keyword{methods} apcluster/man/labels-methods.Rd0000644000176200001440000000515013527026237016231 0ustar liggesusers\name{labels-methods} \docType{methods} \alias{labels} \alias{labels-methods} \alias{labels,APResult-method} \alias{labels,ExClust-method} \title{Generate label vector from clustering result} \description{ Generate a label vector from an clustering result } \usage{ \S4method{labels}{ExClust}(object, type="names") } \arguments{ \item{object}{object of class \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}}} \item{type}{specifies which kind of label vector should be created, see details below} } \details{ The function \code{labels} creates a label vector from a clustering result. Which kind of labels are produced is controlled by the argument \code{type}: \describe{ \item{\dQuote{names}}{(default) returns the name of the exemplar to which each data sample belongs to; if no names are available, the function stops with an error;} \item{\dQuote{enum}}{returns the index of the cluster to which each data sample belongs to, where clusters are enumerated consecutively from 1 to the number of clusters (analogous to other clustering methods like \code{\link{kmeans}});} \item{\dQuote{exemplars}}{returns the index of the exemplar to which each data sample belongs to, where indices of exemplars are within the original data, which is nothing else but the slot \code{object@idx} with attributes removed.}} } \value{ returns a label vector as long as the number of samples in the original data set } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, \code{\link{cutree}}} \examples{ ## create two simple clusters x <- c(1, 2, 3, 7, 8, 9) names(x) <- c("a", "b", "c", "d", "e", "f") ## compute similarity matrix (negative squared distance) sim <- negDistMat(x, r=2) ## run affinity propagation apres <- apcluster(sim) ## show details of clustering results show(apres) ## label vector (names of exemplars) labels(apres) ## label vector (consecutive index of exemplars) labels(apres, type="enum") ## label vector (index of exemplars within original data set) labels(apres, type="exemplars") ## now with agglomerative clustering aggres <- aggExCluster(sim) ## label (names of exemplars) labels(cutree(aggres, 2)) } \keyword{cluster} \keyword{methods} apcluster/man/show-methods.Rd0000644000176200001440000000551213527026237015751 0ustar liggesusers\name{show-methods} \docType{methods} \alias{show} \alias{show-methods} \alias{show,APResult-method} \alias{show,ExClust-method} \alias{show,AggExResult-method} \title{Display Clustering Result Objects} \description{ Display methods for S4 classes \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, and \code{\linkS4class{AggExResult}} } \usage{ \S4method{show}{APResult}(object) \S4method{show}{ExClust}(object) \S4method{show}{AggExResult}(object) } \arguments{ \item{object}{an object of class \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, or \code{\linkS4class{AggExResult}} } } \details{ \code{show} displays the most important information stored in \code{object}. For \code{\linkS4class{APResult}} objects, the number of data samples, the number of clusters, the number of iterations, the input preference, the final objective function values, the vector of exemplars, the list of clusters and for leveraged clustering the selected sample subset are printed. For \code{\linkS4class{ExClust}} objects, the number of data samples, the number of clusters, the vector of exemplars, and list of clusters are printed. For \code{\linkS4class{AggExResult}} objects, only the number of data samples and the maximum number of clusters are printed. For retrieving a particular clustering level, use the function \code{\link{cutree}}. For accessing more detailed information, it is necessary to access the slots of \code{object} directly. Use \code{\link{str}} to get a compact overview of all slots of an object. } \value{ \code{show} returns an invisible \code{NULL} } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, \code{\linkS4class{AggExResult}}, \code{\link{cutree-methods}} } \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix (negative squared Euclidean) sim <- negDistMat(x, r=2) ## run affinity propagation apres <- apcluster(sim) ## show details of clustering results show(apres) ## apply agglomerative clustering to apres aggres <- aggExCluster(sim, apres) ## display overview of result show(aggres) ## show clustering level with two clusters show(cutree(aggres, 2)) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} \keyword{methods} apcluster/man/heatmap-methods.Rd0000644000176200001440000002242313527026237016410 0ustar liggesusers\name{heatmap} \docType{methods} \alias{heatmap} \alias{heatmap-methods} \alias{heatmap,ExClust,missing-method} \alias{heatmap,ExClust,matrix-method} \alias{heatmap,ExClust,Matrix-method} \alias{heatmap,ExClust,sparseMatrix-method} \alias{heatmap,AggExResult,missing-method} \alias{heatmap,AggExResult,matrix-method} \alias{heatmap,missing,matrix-method} \alias{heatmap,matrix,missing-method} \title{Plot Heatmap} \description{ Functions for Plotting of Heatmap } \usage{ \S4method{heatmap}{ExClust,missing}(x, y, ...) \S4method{heatmap}{ExClust,matrix}(x, y, ...) \S4method{heatmap}{ExClust,Matrix}(x, y, ...) \S4method{heatmap}{ExClust,sparseMatrix}(x, y, ...) \S4method{heatmap}{AggExResult,missing}(x, y, ...) \S4method{heatmap}{AggExResult,matrix}(x, y, Rowv=TRUE, Colv=TRUE, sideColors=NULL, col=heat.colors(12), base=0.05, add.expr, margins=c(5, 5, 2), cexRow=max(min(35 / nrow(y), 1), 0.1), cexCol=max(min(35 / ncol(y), 1), 0.1), main=NULL, dendScale=1, barScale=1, legend=c("none", "col"), ...) \S4method{heatmap}{matrix,missing}(x, y, ...) \S4method{heatmap}{missing,matrix}(x, y, ...) } \arguments{ \item{x}{a clustering result object of class \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, or \code{\linkS4class{AggExResult}}; for compatibility, \code{x} may also be a similarity matrix (see details below).} \item{y}{a similarity matrix} \item{sideColors}{character vector of colors to be used for plotting color bars that visualize clusters of the finest clustering level in \code{x}. This is done in a fashion similar to using \code{RowSideColors} or \code{ColSideColors} in the standard \code{\link[stats:heatmap]{heatmap}} function. However, color bars are plotted either on both sides or not at all. The \code{sideColors} argument determines the coloring of both horizontal and vertical bars. If \code{sideColors} is shorter than the number of clusters in the finest clustering level, \code{sideColors} is recycled. In any case, a minimum number of two colors (two elements of sideColors) is required. If \code{NA}, no color bars are plotted. If \code{NULL} (default), color bars are only plotted if the finest cluster level does not only consist of single samples. In this case, the \code{\link{rainbow}} function is used to compute the vector of colors which is shuffled such that dissimilar colors are placed next to each other in the color bar.} \item{col}{color ramp used for the heatmap image; see \code{\link[graphics:image]{image}}} \item{Rowv}{determines whether or not a row dendrogram should be plotted. If \code{FALSE} or \code{NA}, no row dendrogram is plotted. In any other case, a row dendrogram is plotted unless the number of clusters in the finest clustering level is less than 2. Note that, in the latter case, the actual values in \code{Rowv} are ignored, so this argument cannot be used to supply a previously computed dendrogram or re-ordering of elements as in the standard \code{\link[stats:heatmap]{heatmap}} function.} \item{Colv}{determines whether or not a column dendrogram should be plotted. Fully analogous to \code{Rowv}, except that column dendrograms are never plotted if the similarity matrix \code{y} is non-quadratic.} \item{base}{fraction of height used for the very first join in dendrograms; see \code{\link[apcluster:coerce-methods]{coerce-methods}}.} \item{add.expr,margins,cexRow,cexCol,main}{largely analogous to the standard \code{\link[stats:heatmap]{heatmap}} function; to omit row/column labeling, set \code{cexRow}/\code{cexCol} to \code{0}. The default for \code{margins} is a vector of length 3, where the third element is the right-hand side margin for the color legend (see \code{legend} argument). It remains unused (and can also be omitted) if no color legend is plotted.} \item{dendScale}{factor scaling the width of vertical and height of horizontal dendrograms; values have to be larger than 0 and no larger than 2. The default is 1 which corresponds to the same size as the dendrograms plot by the standard \code{\link[stats:heatmap]{heatmap}} function} \item{barScale}{factor scaling the width of color bars; values have to be larger than 0 and no larger than 4. The default is 1 which corresponds to half the width of the color bars plot by the standard \code{\link[stats:heatmap]{heatmap}} function} \item{legend}{if \code{"col"}, then a color legend similar to \code{\link[graphics:filled.contour]{filled.contour}} is added on the right-hand side of the heatmap plot; if \code{"none"} (default), no such legend is added.} \item{...}{see details below} } \details{ The \code{heatmap} functions provide plotting of heatmaps from several different types of input object. The implementation is similar to the standard graphics function \code{\link[stats:heatmap]{heatmap}}. Plotting heatmaps via the \code{\link{plot}} command as available in previous versions of this package is still available for backward compatibility. If \code{heatmap} is called for objects of classes \code{\linkS4class{APResult}} or \code{\linkS4class{ExClust}}, a heatmap of the similarity matrix in slot \code{sim} of the parameter \code{x} is created with clusters grouped together and highlighted in different colors. The order of clusters is determined by running \code{\link{aggExCluster}} on the clustering result \code{x}. This variant of \code{heatmap} returns an invisible \code{\linkS4class{AggExResult}} object. If \code{heatmap} is called for an \code{\linkS4class{AggExResult}} object that contains all levels of clustering, the heatmap is displayed with the corresponding clustering dendrogram. If the \code{\linkS4class{AggExResult}} object is the result of running \code{\link{aggExCluster}} on a prior clustering result, the same heatmap plot is produced as if \code{heatmap} had been called on this prior clustering result, however, returning the cluster hierarchy's \code{\link{dendrogram}}. In the latter case, color bars are plotted to visualize the prior clustering result (see description of argument \code{sideColors} above). All variants described above only work if the input object \code{x} contains a slot \code{sim} with the similarity matrix (which is only the case if the preceding clustering method has been called with \code{includeSim=TRUE}). In case the slot \code{sim} of \code{x} does not contain the similarity matrix, the similarity matrix must be supplied as second argument \code{y}. All variants described above internally use \code{heatmap} with signature \code{AggExResult,matrix}, so all arguments list above can be used for all variants, as they are passed through using the \code{...} argument. All other arguments, analogously to the standard \code{\link[stats:heatmap]{heatmap}} function, are passed on to the standard function \code{\link[graphics:image]{image}}. This is particularly useful for using alternative color schemes via the \code{col} argument. The two variants with one of the two arguments being a matrix and one being missing are just wrappers around the standard \code{\link[stats:heatmap]{heatmap}} function with the aim to provide compatibility with this standard case. } \note{Similarity matrices can be supplied in dense or sparse format. Note, however, that sparse matrices are converted to full dense matrices before plotting heatmaps which may lead to memory and/or performance bottlenecks for larger data sets.} \value{ see details above } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}.} \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{AggExResult}}, \code{\linkS4class{ExClust}}, \code{\link{apcluster}}, \code{\link{apclusterL}}, \code{\link{aggExCluster}}, \code{\link{cutree-methods}}, \code{\link{plot-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(50, 0.2, 0.05), rnorm(50, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## run affinity propagation using negative squared Euclidean apres <- apcluster(negDistMat(r=2), x, p=-0.1) ## plot heatmap clustering run heatmap(apres) ## rerun affinity propagation ## reuse similarity matrix from previous run apres2 <- apcluster(s=apres@sim, q=0.6) ## plot heatmap of second run heatmap(apres2, apres@sim) ## with alternate heatmap coloring, alternating color bars, and no dendrograms heatmap(apres2, apres@sim, Rowv=NA, Colv=NA, sideColors=c("darkgreen", "yellowgreen"), col=terrain.colors(12)) ## perform agglomerative clustering of affinity propagation clusters aggres1 <- aggExCluster(apres@sim, apres2) ## plot heatmap heatmap(cutree(aggres1, 2), apres@sim) ## perform agglomerative clustering of whole data set aggres2 <- aggExCluster(negDistMat(r=2), x) ## show heatmap along with dendrogram heatmap(aggres2) } \keyword{cluster} \keyword{methods} apcluster/man/plot-methods.Rd0000644000176200001440000002123213527026237015744 0ustar liggesusers\name{plot} \docType{methods} \alias{plot} \alias{plot-methods} \alias{plot,APResult,missing-method} \alias{plot,ExClust,missing-method} \alias{plot,ExClust,matrix-method} \alias{plot,ExClust,data.frame-method} \alias{plot,AggExResult,missing-method} \alias{plot,AggExResult,matrix-method} \alias{plot,AggExResult,data.frame-method} \title{Plot Clustering Results} \description{ Functions for Visualizing Clustering Results } \usage{ \S4method{plot}{APResult,missing}(x, y, type=c("netsim", "dpsim", "expref"), xlab="# Iterations", ylab="Similarity", ...) \S4method{plot}{ExClust,matrix}(x, y, connect=TRUE, xlab="", ylab="", labels=NA, limitNo=15, ...) \S4method{plot}{ExClust,data.frame}(x, y, connect=TRUE, xlab="", ylab="", labels=NA, limitNo=15, ...) \S4method{plot}{AggExResult,missing}(x, y, main="Cluster dendrogram", xlab="", ylab="", ticks=4, digits=2, base=0.05, showSamples=FALSE, horiz=FALSE, ...) \S4method{plot}{AggExResult,matrix}(x, y, k=NA, h=NA, ...) \S4method{plot}{AggExResult,data.frame}(x, y, k=NA, h=NA, ...) } \arguments{ \item{x}{a clustering result object of class \code{\linkS4class{APResult}}, \code{\linkS4class{ExClust}}, or \code{\linkS4class{AggExResult}}} \item{y}{a matrix or data frame (see details below)} \item{type}{a string or array of strings indicating which performance measures should be plotted; valid values are \code{"netsim"}, \code{"dpsim"}, and \code{"expref"} which can be used in any combination or order; all other strings are ignored (for the meaning see \code{\linkS4class{APResult}})} \item{xlab, ylab}{labels for axes of 2D plots; ignored if \code{y} has more than two columns} \item{labels}{names used for variables in scatter plot matrix (displayed if \code{y} has more than two columns). If \code{NA} (default), column names are used. If no column names are available, labels such as \code{x[, 2]} are displayed.} \item{limitNo}{if the number of columns/features in \code{y} is too large, problems may occur when attempting to plot a scatter plot matrix. To avoid problems, the \code{plot} method throws an error if the number of columns exceeds \code{limitNo}. For special applications, users can increase the value (15 by default). If \code{limitNo} is set to \code{NA} or any other non-numeric value, the limit is ignored entirely. Please note that attempting to plot scatter plot matrices with too many features may corrupt the graphics device. So users are making changes at their own risk. If plotting of many features is necessary, make sure that the graphics device is large enough to accommodate the plot (e.g. by using a sufficiently large graphics file device).} \item{connect}{used only if clustering is plotted on original data, ignored otherwise. If \code{connect} is \code{TRUE}, lines are drawn connecting exemplars with their cluster members.} \item{main}{title of plot} \item{ticks}{number of ticks used for the axis on the left side of the plot (applies to dendrogram plots only, see below)} \item{digits}{number of digits used for the axis tickmarks on the left side of the plot (applies to dendrogram plots only, see below)} \item{base}{fraction of height used for the very first join; defaults to 0.05, i.e. the first join appears at 5\% of the total height of the dendrogram.} \item{showSamples}{if \code{TRUE}, a complete cluster hierarchy is shown, otherwise, in case that \code{x} is a hierarchy of clusters, the dendrogram of clusters is shown. For backward compatibility, the default is \code{FALSE}.} \item{horiz}{if \code{TRUE}, the dendrogram is plotted horizontally (analogous to \code{\link[stats:plot.dendrogram]{plot.dendrogram}}). The default is \code{FALSE}.} \item{k}{level to be selected when plotting a single clustering level of cluster hierarchy (i.e. the number of clusters; see \code{\link{cutree-methods}})} \item{h}{cut-off to be used when plotting a single clustering level of cluster hierarchy (see \code{\link{cutree-methods}})} \item{...}{all other arguments are passed to the plotting command that are used internally, \code{\link[graphics:plot]{plot}} or \code{\link[stats:heatmap]{heatmap}}.} } \details{ If \code{plot} is called for an \code{\linkS4class{APResult}} object without specifying the second argument \code{y}, a plot is created that displays graphs of performance measures over execution time of the affinity propagation run. This only works if \code{\link{apcluster}} was called with \code{details=TRUE}. If \code{plot} is called for an \code{\linkS4class{APResult}} object along with a matrix or data frame as argument \code{y}, then the dimensions of the matrix determine the behavior of \code{plot}: \enumerate{ \item{If the matrix \code{y} has two columns, \code{y} is interpreted as the original data set. Then a plot of the clustering result superimposed on the original data set is created. Each cluster is displayed in a different color. The exemplar of each cluster is highlighted by a black square. If \code{connect} is \code{TRUE}, lines connecting the cluster members to their exemplars are drawn. This variant of \code{plot} does not return any value.} \item{If \code{y} has more than two columns, clustering results are superimposed in a sort of scatter plot matrix. The variant that \code{y} is interpreted as similarity matrix if it is quadratic has been removed in version 1.3.2. Use \code{\link{heatmap}} instead.} \item{If \code{y} has only one column, an error is displayed.} } If \code{plot} is called for an \code{\linkS4class{ExClust}} object along with a matrix or data frame as argument \code{y}, then \code{plot} behaves exactly the same as described in the previous paragraph. If \code{plot} is called for an \code{\linkS4class{AggExResult}} object without specifying the second argument \code{y}, then a dendrogram plot is drawn. This variant returns an invisible \code{\link{dendrogram}} object. The \code{showSamples} argument determines whether a complete dendrogram or a dendrogram of clusters is plotted (see above). If the option \code{horiz=TRUE} is used, the dendrogram is rotated. Note that, in this case, the margin to the right of the plot may not be wide enough to accommodate long cluster/sample labels. In such a case, the figure margins have to be widened before \code{plot} is called. If \code{plot} is called for an \code{\linkS4class{AggExResult}} object along with a matrix or data frame \code{y}, \code{y} is again interpreted as original data set. If one of the two arguments \code{k} or \code{h} is present, a clustering is cut out from the cluster hierarchy using \code{\link{cutree}} and this clustering is displayed with the original data set as described above. This variant of \code{plot} returns an invisible \code{\linkS4class{ExClust}} object containing the extracted clustering. } \value{ see details above } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}.} \seealso{\code{\linkS4class{APResult}}, \code{\linkS4class{AggExResult}}, \code{\linkS4class{ExClust}}, \code{\link{heatmap-methods}}, \code{\link{apcluster}}, \code{\link{apclusterL}}, \code{\link{aggExCluster}}, \code{\link{cutree-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(50, 0.2, 0.05), rnorm(50, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## run affinity propagation apres <- apcluster(negDistMat(r=2), x, q=0.7, details=TRUE) ## plot information about clustering run plot(apres) ## plot clustering result plot(apres, x) ## perform agglomerative clustering of affinity propagation clusters aggres1 <- aggExCluster(x=apres) ## show dendrograms plot(aggres1) plot(aggres1, showSamples=TRUE) ## show clustering result for 4 clusters plot(aggres1, x, k=4) ## perform agglomerative clustering of whole data set aggres2 <- aggExCluster(negDistMat(r=2), x) ## show dendrogram plot(aggres2) ## show heatmap along with dendrogram heatmap(aggres2) ## show clustering result for 2 clusters plot(aggres2, x, k=2) ## cluster iris data set data(iris) apIris <- apcluster(negDistMat(r=2), iris, q=0) plot(apIris, iris) } \keyword{cluster} \keyword{methods} apcluster/man/preferenceRange-methods.Rd0000644000176200001440000000603713527026237020067 0ustar liggesusers\name{preferenceRange} \alias{preferenceRange} \alias{preferenceRange-methods} \alias{preferenceRange,matrix-method} \alias{preferenceRange,Matrix-method} \alias{preferenceRange,dgTMatrix-method} \alias{preferenceRange,sparseMatrix-method} \title{Determine Meaningful Ranges for Input Preferences} \description{ Determines meaningful ranges for affinity propagation input preference } \usage{ \S4method{preferenceRange}{matrix}(s, exact=FALSE) \S4method{preferenceRange}{Matrix}(s, exact=FALSE) \S4method{preferenceRange}{dgTMatrix}(s, exact=FALSE) \S4method{preferenceRange}{sparseMatrix}(s, exact=FALSE) } \arguments{ \item{s}{an \eqn{l\times l}{lxl} similarity matrix in sparse or dense format} \item{exact}{flag indicating whether exact ranges should be computed, which is relatively slow; if bounds are sufficient, supply \code{FALSE} (default)} } \details{Affinity Propagation clustering relies on an appropriate choice of input preferences. This function helps in finding a good choice by determining meaningful lower and upper bounds. If the similarity matrix \code{s} is sparse or if it contains \code{-Inf} similarities, only the similarities are taken into account that are specified in \code{s} and larger than \code{-Inf}. In such cases, the lower bound returned by \code{preferenceRange} need not correspond to one or two clusters. Moreover, it may also happen in degenerate cases that the lower bound exceeds the upper bound. In such a case, no warning or error is issued, so it is the user's responsibility to ensure a proper interpretation of the results. The method \code{\link{apclusterK}} makes use of this function internally and checks the plausibility of the result returned by \code{preferenceRange}. } \value{ returns a vector with two entries, the first of which is the minimal input preference (which would lead to 1 or 2 clusters) and the second of which is the maximal input prefence (which would lead to as many clusters as data samples). } \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \seealso{\code{\link{apcluster}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## create similarity matrix sim <- negDistMat(x, r=2) ## determine bounds preferenceRange(sim) ## determine exact range preferenceRange(sim, exact=TRUE) } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} apcluster/man/APResult-class.Rd0000644000176200001440000001334613527026237016136 0ustar liggesusers\name{APResult-class} \docType{class} \alias{APResult-class} \alias{APResult} \alias{apresult} \alias{similarity} \alias{[,APResult,index,missing,missing-method} \alias{[[,APResult,index,missing-method} \alias{length,APResult-method} \alias{similarity,APResult-method} \title{Class "APResult"} \description{S4 class for storing results of affinity propagation clustering. It extends the class \code{\linkS4class{ExClust}}.} \section{Objects}{ Objects of this class can be created by calling \code{\link{apcluster}} or \code{\link{apclusterL}} for a given similarity matrix or calling one of these procedures with a data set and a similarity measure. } \section{Slots}{ The following slots are defined for \link{APResult} objects. Most names are taken from Frey's and Dueck's original Matlab package: \describe{ \item{\code{sweeps}:}{number of times leveraged clustering ran with different subsets of samples} \item{\code{it}:}{number of iterations the algorithm ran} \item{\code{p}:}{input preference (either set by user or computed by \code{\link{apcluster}} or \code{\link{apclusterL}})} \item{\code{netsim}:}{final total net similarity, defined as the sum of \code{expref} and \code{dpsim} (see below)} \item{\code{dpsim}:}{final sum of similarities of data points to exemplars} \item{\code{expref}:}{final sum of preferences of the identified exemplars} \item{\code{netsimLev}:}{total net similarity of the individual sweeps for leveraged clustering; only available for leveraged clustering} \item{\code{netsimAll}:}{vector containing the total net similarity for each iteration; only available if \code{\link{apcluster}} was called with \code{details=TRUE}} \item{\code{exprefAll}:}{vector containing the sum of preferences of the identified exemplars for each iteration; only available if \code{\link{apcluster}} was called with \code{details=TRUE}} \item{\code{dpsimAll}:}{vector containing the sum of similarities of data points to exemplars for each iteration; only available if \code{\link{apcluster}} was called with \code{details=TRUE}} \item{\code{idxAll}:}{matrix with sample-to-exemplar indices for each iteration; only available if \code{\link{apcluster}} was called with \code{details=TRUE}} } } \section{Extends}{ Class \code{"ExClust"}, directly. } \section{Methods}{ \describe{ \item{plot}{\code{signature(x="APResult")}: see \code{\link{plot-methods}}} \item{plot}{\code{signature(x="ExClust", y="matrix")}: see \code{\link{plot-methods}}} \item{heatmap}{\code{signature(x="ExClust")}: see \code{\link{heatmap-methods}}} \item{heatmap}{\code{signature(x="ExClust", y="matrix")}: see \code{\link{heatmap-methods}}} \item{show}{\code{signature(object="APResult")}: see \code{\link{show-methods}}} \item{labels}{\code{signature(object="APResult")}: see \code{\link{labels-methods}}} \item{cutree}{\code{signature(object="APResult")}: see \code{\link{cutree-methods}}} \item{length}{\code{signature(x="APResult")}: gives the number of clusters.} \item{sort}{\code{signature(x="ExClust")}: see \code{\link{sort-methods}}} \item{as.hclust}{\code{signature(x="ExClust")}: see \code{\link{coerce-methods}}} \item{as.dendrogram}{\code{signature(object="ExClust")}: see \code{\link{coerce-methods}}} } } \section{Accessors}{ In the following code snippets, \code{x} is an \code{APResult} object. \describe{ \item{}{\code{x[[i]]}: Returns the i-th cluster as a list of indices of samples belonging to the i-th cluster. } \item{}{\code{x[i]}: Returns a list of integer vectors with the indices of samples belonging to this cluster. The list has as many components as the argument \code{i} has elements. A list is returned even if \code{i} is a single integer. } \item{similarity}{\code{signature(x="APResult")}: gives the similarity matrix. } } } \author{Ulrich Bodenhofer, Andreas Kothmeier & Johannes Palme \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. } \seealso{\code{\link{apcluster}}, \code{\link{apclusterL}}, \code{\link{show-methods}}, \code{\link{plot-methods}}, \code{\link{labels-methods}}, \code{\link{cutree-methods}}} \examples{ ## create two Gaussian clouds cl1 <- cbind(rnorm(100, 0.2, 0.05), rnorm(100, 0.8, 0.06)) cl2 <- cbind(rnorm(50, 0.7, 0.08), rnorm(50, 0.3, 0.05)) x <- rbind(cl1, cl2) ## compute similarity matrix (negative squared Euclidean) sim <- negDistMat(x, r=2) ## run affinity propagation apres <- apcluster(sim, details=TRUE) ## show details of clustering results show(apres) ## plot information about clustering run plot(apres) ## plot clustering result plot(apres, x) ## plot heatmap heatmap(apres, sim) } \keyword{classes} apcluster/man/conversions.Rd0000644000176200001440000001077113527026237015703 0ustar liggesusers\name{conversions} \alias{conversions} \alias{as.SparseSimilarityMatrix} \alias{as.DenseSimilarityMatrix} \alias{as.SparseSimilarityMatrix-methods} \alias{as.DenseSimilarityMatrix-method} \alias{as.SparseSimilarityMatrix,matrix-method} \alias{as.DenseSimilarityMatrix,matrix-method} \alias{as.SparseSimilarityMatrix,sparseMatrix-method} \alias{as.DenseSimilarityMatrix,sparseMatrix-method} \alias{as.SparseSimilarityMatrix,Matrix-method} \alias{as.DenseSimilarityMatrix,Matrix-method} \title{Conversions Between Dense and Sparse Similarity Matrices} \description{ Converts a dense similarity matrix into a sparse one or vice versa } \usage{ \S4method{as.SparseSimilarityMatrix}{matrix}(s, lower=-Inf) \S4method{as.SparseSimilarityMatrix}{Matrix}(s, lower=-Inf) \S4method{as.SparseSimilarityMatrix}{sparseMatrix}(s, lower=-Inf) \S4method{as.DenseSimilarityMatrix}{matrix}(s, fill=-Inf) \S4method{as.DenseSimilarityMatrix}{Matrix}(s, fill=-Inf) \S4method{as.DenseSimilarityMatrix}{sparseMatrix}(s, fill=-Inf) } \arguments{ \item{s}{a similarity matrix in sparse or dense format (see details below)} \item{lower}{cut-off threshold to apply when converting similarity matrices into sparse format. All similarities lower than or equal to \code{lower} will be omitted from the result. The default is \code{-Inf}), i.e. only \code{-Inf} values are removed.} \item{fill}{value to fill in for entries that are missing from sparse similarity matrix 's' (defaults to \code{-Inf}).} } \details{ The function \code{as.SparseSimilarityMatrix} takes a matrix argument, removes all diagonal elements and all values that are lower than or equal to the cut-off threshold \code{lower} and returns a sparse matrix of class \code{\linkS4class{dgTMatrix}}. If the function \code{as.DenseSimilarityMatrix} is called for a sparse matrix (class \code{\linkS4class{sparseMatrix}} or any class derived from this class), a dense matrix is returned, where all values that were missing in the sparse matrix are replaced with \code{fill}. \code{as.DenseSimilarityMatrix} can also be called for dense \code{\link{matrix}} and \code{\linkS4class{Matrix}} objects. In this case, \code{as.DenseSimilarityMatrix} assumes that the matrices have three columns that encode for a sparse matrix in the same way as the Matlab implementation of Frey's and Dueck's sparse affinity propagation accepts it: the first column contains 1-based row indices, the second column contains 1-based column indices, and the third column contains the similarity values. The same format is also accepted by \code{as.SparseSimilarityMatrix} to convert a sparse similarity matrix of this format into a \code{\linkS4class{dgTMatrix}} object. Note that, for matrices of this format, \code{as.DenseSimilarityMatrix} replaces the deprectated function \code{sparseToFull} (see \code{\link{apcluster-deprecated}}). Note that \code{as.SparseSimilarityMatrix} and \code{as.DenseSimilarityMatrix} are no S4 coercion methods. There are no classes named \code{SparseSimilarityMatrix} or \code{DenseSimilarityMatrix}. } \value{returns a square similarity matrix in sparse format (class \code{\linkS4class{dgTMatrix}} or in dense format (standard class \code{\link{matrix}}).} \author{Ulrich Bodenhofer & Andreas Kothmeier \email{apcluster@bioinf.jku.at}} \references{\url{http://www.bioinf.jku.at/software/apcluster} Frey, B. J. and Dueck, D. (2007) Clustering by passing messages between data points. \emph{Science} \bold{315}, 972-976. DOI: \href{http://dx.doi.org/10.1126/science.1136800}{10.1126/science.1136800}. Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. \emph{Bioinformatics} \bold{27}, 2463-2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. } \examples{ ## create similarity matrix in sparse format according to Frey and Dueck sp <- matrix(c(1, 2, 0.5, 3, 1, 0.2, 5, 4, -0.2, 3, 4, 1.2), 4, 3, byrow=TRUE) sp ## perform conversions as.DenseSimilarityMatrix(sp, fill=0) as.SparseSimilarityMatrix(sp) ## create dense similarity matrix cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06)) cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05)) x <- rbind(cl1, cl2) sim <- negDistMat(x, r=2) ssim <- as.SparseSimilarityMatrix(sim, lower=-0.2) ## run apcluster() on the sparse similarity matrix apres <- apcluster(ssim, q=0) apres } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{cluster} apcluster/TODO0000644000176200001440000000025213527026237012752 0ustar liggesusers- adapt aggExCluster() to sparse matrices - shift refinement of exemplars to C++ side (for dense similarity matrices) - predict() function - include similarity-based VAT apcluster/DESCRIPTION0000644000176200001440000000311713527172536013777 0ustar liggesusersPackage: apcluster Type: Package Title: Affinity Propagation Clustering Version: 1.4.8 Date: 2019-08-20 Depends: R (>= 3.0.0) Imports: Rcpp (>= 0.11.1), methods, Matrix, stats, graphics, grDevices Suggests: Biostrings, kebabs (>= 1.5.4), knitr Author: Ulrich Bodenhofer, Johannes Palme, Chrats Melkonian, Andreas Kothmeier, Nikola Kostic Maintainer: Ulrich Bodenhofer Description: Implements Affinity Propagation clustering introduced by Frey and Dueck (2007) . The algorithms are largely analogous to the 'Matlab' code published by Frey and Dueck. The package further provides leveraged affinity propagation and an algorithm for exemplar-based agglomerative clustering that can also be used to join clusters obtained from affinity propagation. Various plotting functions are available for analyzing clustering results. License: GPL (>= 2) Collate: AllClasses.R AllGenerics.R access-methods.R coerce-methods.R show-methods.R labels-methods.R length-methods.R revDend.R heatmap-methods.R plot-methods.R cutree-methods.R sort-methods.R aggExCluster-methods.R apcluster-methods.R apclusterL-methods.R apclusterK-methods.R apclusterDemo.R preferenceRange-methods.R similarity.R simpleDist.R conversions.R URL: http://www.bioinf.jku.at/software/apcluster/ https://github.com/UBod/apcluster VignetteBuilder: knitr LinkingTo: Rcpp LazyLoad: yes Repository: CRAN NeedsCompilation: yes Packaged: 2019-08-20 21:53:22 UTC; ulrich Date/Publication: 2019-08-21 07:40:14 UTC apcluster/build/0000755000176200001440000000000013527065717013370 5ustar liggesusersapcluster/build/vignette.rds0000644000176200001440000000040613527065717015727 0ustar liggesusersuQj0 u.M/0 ~/!a"S6J۾|$A䣣#c,fI80ِ^"%kU{(\^.߶q|+ pB满m-ABCI:Oc:8%Ɓ=^PLY@xVneqθT5Ab}WxObè gi3]>܍NhՂ]ՀKG~P$apcluster/src/0000755000176200001440000000000013527065722013054 5ustar liggesusersapcluster/src/R_init_apcluster.cpp0000644000176200001440000000164013527026237017065 0ustar liggesusers#include "apclusterCppHeaders.h" extern "C" { #include "distanceL.h" #include "aggExClusterC.h" } #include #include #include static const R_CallMethodDef callMethods[] = { {"aggExClusterC", (DL_FUNC) &aggExClusterC, 13}, {"apclusterC", (DL_FUNC) &apclusterC, 5}, {"apclusterLeveragedC", (DL_FUNC) &apclusterLeveragedC, 5}, {"apclusterSparseC", (DL_FUNC) &apclusterSparseC, 8}, {"preferenceRangeC", (DL_FUNC) &preferenceRangeC, 2}, {"preferenceRangeSparseC", (DL_FUNC) &preferenceRangeSparseC, 5}, {"CdistR", (DL_FUNC) &CdistR, 4}, {NULL, NULL, 0} }; extern "C" { void attribute_visible R_init_apcluster(DllInfo *info) { /* Register routines, allocate resources. */ R_registerRoutines(info, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(info, FALSE); } void R_unload_apcluster(DllInfo *info) { /* Release resources. */ } } apcluster/src/preferenceRangeC.cpp0000644000176200001440000000376113527026237016763 0ustar liggesusers#include #include #include #include "apclusterCppHeaders.h" using namespace Rcpp; RcppExport SEXP preferenceRangeC(SEXP sR, SEXP exactR) { NumericMatrix s(sR); bool exact = as(exactR); int N = s.nrow(); double dpsim1 = R_NegInf, pmin = R_NegInf, pmax = R_NegInf; NumericVector colS(N); for (int j = 0; j < N; j++) { double sumOfCol = R_NegInf; for (int i = 0; i < N; i++) { if (s(i, j) > R_NegInf) { if (sumOfCol == R_NegInf) sumOfCol = s(i, j); else sumOfCol += s(i, j); if (s(i, j) > pmax && i != j) pmax = s(i, j); } } if (sumOfCol > dpsim1) dpsim1 = sumOfCol; } if (dpsim1 == R_NegInf) pmin = R_NaN; else if (exact) { double dpsim2 = R_NegInf; for (int j21 = 0; j21 < N - 1; j21++) { for (int j22 = j21 + 1; j22 < N; j22++) { double tmpSum = R_NegInf; for (int k = 0; k < N; k++) { double maxi = R_NegInf; if (s(k, j21) > s(k, j22)) maxi = s(k, j21); else if (s(k, j22) > R_NegInf) maxi = s(k, j22); if (maxi > R_NegInf) { if (tmpSum == R_NegInf) tmpSum = maxi; else tmpSum += maxi; } } if (tmpSum > dpsim2) dpsim2 = tmpSum; } } pmin = dpsim1 - dpsim2; } else { double sumM = R_NegInf, sm1 = R_PosInf, sm2 = R_PosInf; for (int i = 0; i < N; i++) { colS[i] = R_NegInf; for (int j = 0; j < i; j++) if (s(i, j) > colS[i]) colS[i] = s(i, j); for (int j = i + 1; j < N; j++) if (s(i, j) > colS[i]) colS[i] = s(i, j); if (colS[i] > R_NegInf) { if (sumM == R_NegInf) sumM = colS[i]; else sumM += colS[i]; if (colS[i] < sm1) { sm2 = sm1; sm1 = colS[i]; } else if (colS[i] < sm2) sm2 = colS[i]; } } if (sm2 == R_PosInf || sumM == R_NegInf) pmin = R_NegInf; else pmin = dpsim1 - sumM + sm1 + sm2; } return NumericVector::create(pmin, pmax); } apcluster/src/apclusterC.cpp0000644000176200001440000001300213527026237015657 0ustar liggesusers#include #include #include #include "apclusterCppHeaders.h" using namespace Rcpp; RcppExport SEXP apclusterC(SEXP sR, SEXP maxitsR, SEXP convitsR, SEXP lamR, SEXP detailsR) { NumericMatrix s(sR); int maxits = as(maxitsR); int convits = as(convitsR); double lam = as(lamR); bool details = as(detailsR); int N = s.nrow(); IntegerMatrix e(N, convits); IntegerVector E(N); IntegerVector I(N); IntegerVector se(N); NumericMatrix A(N, N); NumericMatrix R(N, N); NumericVector tmpidx(N); NumericVector netsimAll; NumericVector dpsimAll; NumericVector exprefAll; NumericMatrix idxAll; if (details) { netsimAll = NumericVector(maxits); dpsimAll = NumericVector(maxits); exprefAll = NumericVector(maxits); idxAll = NumericMatrix(N, maxits); } bool dn = false, unconverged = false; int i = 0, j, ii, K; while (!dn) { // first, compute responsibilities for (ii = 0; ii < N; ii++) { double max1 = -DBL_MAX, max2 = -DBL_MAX, avsim; int yMax; for (j = 0; j < N; j++) // determine second-largest element of AS { avsim = A(ii, j) + s(ii, j); if (avsim > max1) { max2 = max1; max1 = avsim; yMax = j; } else if (avsim > max2) max2 = avsim; } for (j = 0; j < N; j++) // perform update { double oldVal = R(ii, j); double newVal = (1 - lam) * (s(ii, j) - (j == yMax ? max2 : max1)) + lam * oldVal; R(ii, j) = (newVal > DBL_MAX ? DBL_MAX : newVal); } } // secondly, compute availabilities for (ii = 0; ii < N; ii++) { NumericVector Rp(N); double auxsum = 0; for (j = 0; j < N; j++) { if (R(j, ii) < 0 && j != ii) Rp[j] = 0; else Rp[j] = R(j, ii); auxsum += Rp[j]; } for (j = 0; j < N; j++) { double oldVal = A(j, ii); double newVal = auxsum - Rp[j]; if (newVal > 0 && j != ii) newVal = 0; A(j, ii) = (1 - lam) * newVal + lam * oldVal; } } // determine clusters and check for convergence unconverged = false; K = 0; for (ii = 0; ii < N; ii++) { int ex = (A(ii, ii) + R(ii, ii) > 0 ? 1 : 0); se[ii] = se[ii] - e(ii, i % convits) + ex; if (se[ii] > 0 && se[ii] < convits) unconverged = true; E[ii] = ex; e(ii, i % convits) = ex; K += ex; } if (i >= (convits - 1) || i >= (maxits - 1)) dn = ((!unconverged && K > 0) || (i >= (maxits - 1))); if (K == 0) { if (details) { netsimAll[i] = R_NaN; dpsimAll[i] = R_NaN; exprefAll[i] = R_NaN; for (ii = 0; ii < N; ii++) idxAll(ii, i) = R_NaN; } } else { int cluster = 0; for (ii = 0; ii < N; ii++) { if (E[ii]) { I[cluster] = ii; cluster++; } } for (ii = 0; ii < N; ii++) { if (E[ii]) tmpidx[ii] = (double)ii; else { double maxSim = s(ii, I[0]); tmpidx[ii] = (double)I[0]; for (j = 1; j < K; j++) { if (s(ii, I[j]) > maxSim) { maxSim = s(ii, I[j]); tmpidx[ii] = (double)I[j]; } } } } if (details) { double sumPref = 0; for (j = 0; j < K; j++) sumPref += s(I[j], I[j]); double sumSim = 0; for (ii = 0; ii < N; ii++) { if (!E[ii]) sumSim += s(ii, (int)tmpidx[ii]); } netsimAll[i] = sumSim + sumPref; dpsimAll[i] = sumSim; exprefAll[i] = sumPref; NumericMatrix::Column idxLocal = idxAll(_, i); idxLocal = tmpidx; } } i++; } List ret; ret["I"] = I; ret["K"] = K; ret["it"] = IntegerVector::create(i - 1); ret["unconv"] = LogicalVector::create(unconverged); if (details) { ret["netsimAll"] = netsimAll; ret["dpsimAll"] = dpsimAll; ret["exprefAll"] = exprefAll; ret["idxAll"] = idxAll; } return(ret); } apcluster/src/preferenceRangeSparseC.cpp0000644000176200001440000000737313527026237020144 0ustar liggesusers#include #include #include #include "apclusterCppHeaders.h" using namespace Rcpp; RcppExport SEXP preferenceRangeSparseC(SEXP iR, SEXP jR, SEXP valuesR, SEXP nR, SEXP exactR) { IntegerVector s_i(iR), s_j(jR); NumericVector s_values(valuesR); int N = as(nR), M = s_i.length(); bool exact = as(exactR); IntegerVector ind1(M), ind1s(N), ind1e(N); IntegerVector ind2(M), ind2s(N), ind2e(N); int i, j, ii, K, temp1, temp2, length; // build ind1e for (i = 0; i < M; i++) { ind1e[s_i[i]]++; // count ind. occurance. ind2e[s_j[i]]++; } temp1 = 0; temp2 = 0; for (i = 0; i < N; i++) // cumsum { temp1 += ind1e[i]; ind1e[i] = temp1 - 1; temp2 += ind2e[i]; ind2e[i] = temp2 - 1; } //build ind1s ind1s[0] = 0; ind2s[0] = 0; for (i = 1; i < N; i++) { ind1s[i] = ind1e[i - 1] + 1; ind2s[i] = ind2e[i - 1] + 1; } temp1 = 0; temp2 = 0; //build ind1 for(i = 0; i < M; i++) { temp1 = s_i[i]; ind1[ind1s[temp1]] = i; ind1s[temp1] += 1; temp2 = s_j[i]; ind2[ind2s[temp2]] = i; ind2s[temp2] += 1; } //rebuild ind1s changed when build ind1 ind1s[0] = 0; ind2s[0] = 0; for(i = 1; i < N; i++) { ind1s[i] = ind1e[i - 1] + 1; ind2s[i] = ind2e[i - 1] + 1; } double dpsim1 = R_NegInf, pmin = R_NegInf, pmax = R_NegInf; NumericVector colS(N); for (int j = 0; j < N; j++) { double sumOfCol = R_NegInf; for (int i = ind2s[j]; i <= ind2e[j]; i++) { if (sumOfCol == R_NegInf) sumOfCol = s_values[ind2[i]]; else sumOfCol += s_values[ind2[i]]; if (s_values[ind2[i]] > pmax) pmax = s_values[ind2[i]]; } if (sumOfCol > dpsim1) dpsim1 = sumOfCol; } if (dpsim1 == R_NegInf) pmin = R_NaN; else if (exact) { double dpsim2 = R_NegInf; IntegerVector Index(N, -1); for (int j21 = 0; j21 < N - 1; j21++) { double j21sum = R_NegInf; for (int k = ind2s[j21]; k <= ind2e[j21]; k++) { Index[s_i[ind2[k]]] = ind2[k]; if (j21sum == R_NegInf) j21sum = s_values[ind2[k]]; else j21sum += s_values[ind2[k]]; } for (int j22 = j21 + 1; j22 < N; j22++) { double tmpSum = j21sum; for (int k22 = ind2s[j22]; k22 <= ind2e[j22]; k22++) { if (Index[s_i[ind2[k22]]] >= 0) { if (s_values[ind2[k22]] > s_values[Index[s_i[ind2[k22]]]]) tmpSum += (s_values[ind2[k22]] - s_values[Index[s_i[ind2[k22]]]]); } else { double maxi; if (s_i[ind2[k22]] == j21) { if (s_values[ind2[k22]] > 0) maxi = s_values[ind2[k22]]; else maxi = 0; } else maxi = s_values[ind2[k22]]; if (tmpSum == R_NegInf) tmpSum = maxi; else tmpSum += maxi; } } if (Index[j22] >= 0 && tmpSum > R_NegInf && s_values[Index[j22]] < 0) tmpSum -= s_values[Index[j22]]; if (tmpSum > dpsim2) dpsim2 = tmpSum; } for (int k = ind2s[j21]; k <= ind2e[j21]; k++) Index[s_i[ind2[k]]] = -1; } pmin = dpsim1 - dpsim2; } else { double sumM = R_NegInf, sm1 = R_PosInf, sm2 = R_PosInf; for (int i = 0; i < N; i++) { colS[i] = R_NegInf; for (int j = ind1s[i]; j <= ind1e[i]; j++) if (s_values[ind1[j]] > colS[i]) colS[i] = s_values[ind1[j]]; if (colS[i] > R_NegInf) { if (sumM == R_NegInf) sumM = colS[i]; else sumM += colS[i]; if (colS[i] < sm1) { sm2 = sm1; sm1 = colS[i]; } else if (colS[i] < sm2) sm2 = colS[i]; } } if (sm2 == R_PosInf || sumM == R_NegInf) pmin = R_NegInf; else pmin = dpsim1 - sumM + sm1 + sm2; } return NumericVector::create(pmin, pmax); } apcluster/src/aggExClusterC.cpp0000644000176200001440000002003013527027700016245 0ustar liggesusers#include #include "aggExClusterC.h" using namespace Rcpp; IntegerVector concat(IntegerVector x, IntegerVector y) { IntegerVector res(x.size() + y.size()); std::copy(x.begin(), x.end(), res.begin()); std::copy(y.begin(), y.end(), res.begin() + x.size()); return res; } NumericMatrix subsetMatrix(NumericMatrix x, IntegerVector col, IntegerVector row) { NumericMatrix res(col.length(), row.length()); for (int i = 0; i < col.length(); i++) { for (int j = 0; j < row.length(); j++) { res(i,j) = x(col[i] - 1, row[j] - 1); } } return res; } NumericVector subsetMatrixToVec(NumericMatrix x, int col, IntegerVector row) { NumericVector res(row.length()); for (int i = 0; i < row.length(); i++) { res[i] = x(col - 1, row[i] - 1); } return res; } NumericVector colMeans(NumericMatrix x) { NumericVector res(x.ncol()); for (int i = 0; i < x.ncol(); i++) { res[i] = mean(x(_, i)); } return res; } int which_max_NoNA(NumericVector x) { int index; double max = R_NegInf; for (int i = 0; i < x.size(); i++) { double value = x[i]; if(R_IsNA(value)) { continue; } if(value > max) { max = value; index = i; } } return index; } RcppExport SEXP aggExClusterC(SEXP sR, SEXP KR, SEXP actClustR, SEXP actExemR, SEXP objMatR, SEXP exeMatR, SEXP actLabelsR, SEXP selR, SEXP clustersR, SEXP exemplarsR, SEXP mergeR, SEXP heightR, SEXP preserveNamesR) { NumericMatrix s(sR); int K = as(KR); List actClust(actClustR); IntegerVector actExem(actExemR); NumericMatrix objMat(objMatR); IntegerMatrix exeMat(exeMatR); IntegerVector actLabels(actLabelsR); IntegerVector sel(selR); List clusters(clustersR); List exemplars(exemplarsR); IntegerMatrix merge(mergeR); NumericVector height(heightR); bool preserveNames(preserveNamesR); IntegerVector colInd(s.nrow()); if (sel.length() > 0) { for (int i = 0; i < sel.length(); i++) { colInd[sel[i] - 1] = i + 1; } } List ret; // compute complete matrices before starting joining for (int i = 0; i < K - 1; i++) { for (int j = i + 1; j < K; j++) { IntegerVector joint = concat(actClust[i], actClust[j]); if(sel.length() > 0) { IntegerVector inters = intersect(sel, joint); IntegerVector ci = colInd[inters - 1]; if(ci.length() > 0) { NumericVector cM = colMeans(subsetMatrix(s, joint, ci)); int ex = inters[which_max(cM)]; exeMat(i, j) = ex; objMat(i, j) = (mean(subsetMatrixToVec(s, ex, colInd[ intersect(sel, IntegerVector(actClust[i])) - 1])) + mean(subsetMatrixToVec(s, ex, colInd[intersect(sel, IntegerVector(actClust[j])) - 1]))) / 2; } else { // joining not possible - no similarities available ret["error"] = 1; return(ret); } } else { NumericVector cM = colMeans(subsetMatrix(s, joint, joint)); int ex = joint[which_max(cM)]; exeMat(i, j) = ex; objMat(i, j) = (mean(subsetMatrixToVec(s, ex, IntegerVector( actClust[i]))) + mean(subsetMatrixToVec(s, ex, IntegerVector( actClust[j])))) / 2; } } } // agglomeration loop for (int k = K - 1; k > 0; k--) { int tojoin = which_max_NoNA(objMat); int I = tojoin % K; int J = std::floor(tojoin / K); IntegerVector newClust = concat(actClust[I], actClust[J]); IntegerVector newClustNM = MAYBE_REFERENCED(newClust) ? clone(newClust) : newClust; newClust.names() = CharacterVector(newClustNM); LogicalVector rem(actClust.length(), true); rem[I] = false; rem[J] = false; actClust = actClust[rem]; if (actClust.length() < (k - 1)) { actClust[k - 1] = newClust; } else { actClust.insert(k - 1, newClust); } actExem = actExem[(actExem != actExem[I]) & (actExem != actExem[J])]; actExem.push_back(exeMat(I, J)); clusters[k - 1] = actClust; merge((K - k - 1), 0) = actLabels[I]; merge((K - k - 1), 1) = actLabels[J]; actLabels = actLabels[(actLabels != actLabels[I]) & (actLabels != actLabels[J])]; actLabels.push_back(K - k); height[K - k - 1] = objMat(I, J); exemplars[k - 1] = actExem; if (preserveNames && !Rf_isNull(colnames(s)) && (Rf_length(colnames(s)) > 0)) { IntegerVector(exemplars[k-1]).names() = ifelse( actExem <= as(colnames(s)).length(), CharacterVector(actExem), NA_STRING); } if (k == 1) { break; } // rearrange matrices objMat and exeMat // put values for unchanged clusters in the first k-1 rows/columns IntegerVector indexVec = seq_len(k + 1); indexVec = indexVec[(indexVec != indexVec[I]) & (indexVec != indexVec[J])]; for (int i = 0; i < k - 1; i++) { for (int j = 0; j < k - 1; j++) { exeMat(i,j) = exeMat(indexVec[i] - 1, indexVec[j] - 1); objMat(i,j) = objMat(indexVec[i] - 1, indexVec[j] - 1); } } // wipe out k+1-st column for (int i = 0; i < exeMat.nrow(); i++) { exeMat(i, k) = NA_INTEGER; objMat(i, k) = NA_REAL; } // update k-th column with objective values and joint exemplars of // unchanged clusters and the newly joined cluster for (int i = 1; i < k; i++) { IntegerVector joint = concat(actClust[i-1], actClust[k-1]); if(sel.length() > 0) { IntegerVector inters = intersect(sel, joint); IntegerVector ci = colInd[inters - 1]; if(ci.length() > 0) { NumericVector cM = colMeans(subsetMatrix(s, joint, ci)); int ex = inters[which_max(cM)]; exeMat(i - 1, k - 1) = ex; objMat(i - 1, k - 1) = (mean(subsetMatrixToVec(s, ex, colInd[ intersect(sel, IntegerVector(actClust[i - 1])) - 1])) + mean(subsetMatrixToVec(s, ex, colInd[intersect(sel, IntegerVector(actClust[k - 1])) - 1]))) / 2; } else { // joining not possible - no similarities available ret["error"] = 2; return(ret); } } else { NumericVector cM = colMeans(subsetMatrix(s, joint, joint)); int ex = joint[which_max(cM)]; exeMat(i - 1, k - 1) = ex; objMat(i - 1, k - 1) = (mean(subsetMatrixToVec(s, ex, IntegerVector(actClust[i - 1]))) + mean(subsetMatrixToVec(s, ex, IntegerVector(actClust[k - 1])))) / 2; } } } ret["exeMat"] = exeMat; ret["objMat"] = objMat; ret["merge"] = merge; ret["height"] = height; ret["clusters"] = clusters; if(sel.length() > 0) ret["colInd"] = colInd; return(ret); } apcluster/src/distanceL.h0000644000176200001440000000021413527026237015126 0ustar liggesusers#ifndef __DISTANCE_L_HEADERS__ #define __DISTANCE_L_HEADERS__ SEXP CdistR(SEXP x, SEXP sel, SEXP smethod, SEXP p); #endif apcluster/src/apclusterSparseC.cpp0000644000176200001440000003031013527026237017036 0ustar liggesusers#include #include #include #include "apclusterCppHeaders.h" using namespace Rcpp; RcppExport SEXP apclusterSparseC(SEXP iR, SEXP jR, SEXP valuesR, SEXP maxitsR, SEXP convitsR, SEXP lamR, SEXP nR, SEXP detailsR) { IntegerVector s_i(iR), s_j(jR); NumericVector s_values(valuesR); int maxits = as(maxitsR); int convits = as(convitsR); double lam = as(lamR); int N = as(nR), M = s_i.length(); bool details = as(detailsR); IntegerVector ind1(M), ind1s(N), ind1e(N); IntegerVector ind2(M), ind2s(N), ind2e(N); NumericVector A(M); NumericVector R(M); IntegerVector se(N); IntegerMatrix e(N, convits); IntegerVector E(N); IntegerVector I(N); NumericVector netsimAll; NumericVector dpsimAll; NumericVector exprefAll; IntegerMatrix idxAll; double tmpnetsim, tmpdpsim, tmpexpref; IntegerVector tmpidx(N); bool dn = false, unconverged = false; int i, j, ii, K, temp1, temp2, length; if (details) { netsimAll = NumericVector(maxits + 1); dpsimAll = NumericVector(maxits + 1); exprefAll = NumericVector(maxits + 1); idxAll = IntegerMatrix(N, maxits + 1); } // build ind1e for (i = 0; i < M; i++) { ind1e[s_i[i]]++; // count ind. occurance. ind2e[s_j[i]]++; } temp1 = 0; temp2 = 0; for (i = 0; i < N; i++) // cumsum { temp1 += ind1e[i]; ind1e[i] = temp1 - 1; temp2 += ind2e[i]; ind2e[i] = temp2 - 1; } //build ind1s ind1s[0] = 0; ind2s[0] = 0; for (i = 1; i < N; i++) { ind1s[i] = ind1e[i - 1] + 1; ind2s[i] = ind2e[i - 1] + 1; } temp1 = 0; temp2 = 0; //build ind1 for(i = 0; i < M; i++) { temp1 = s_i[i]; ind1[ind1s[temp1]] = i; ind1s[temp1] += 1; temp2 = s_j[i]; ind2[ind2s[temp2]] = i; ind2s[temp2] += 1; } //rebuild ind1s changed when build ind1 ind1s[0] = 0; ind2s[0] = 0; for(i = 1; i < N; i++) { ind1s[i] = ind1e[i - 1] + 1; ind2s[i] = ind2e[i - 1] + 1; } temp1 = 0; temp2 = 0; int count_loop = 0; while (!dn) { // first, compute responsibilities for (ii = 0; ii < N; ii++) { double max1 = -DBL_MAX, max2 = -DBL_MAX, avsim; int yMax = 0; for (j = ind1s[ii]; j <= ind1e[ii]; j++) { temp1 = ind1[j]; avsim = A[temp1] + s_values[temp1]; if (avsim > max1) // determine second-largest element of AS { max2 = max1; max1 = avsim; yMax = j; } else if (avsim > max2) max2 = avsim; } for (j = ind1s[ii]; j <= ind1e[ii]; j++) { temp1 = ind1[j]; double oldVal = R(temp1); double newVal = (1 - lam) * (s_values[temp1] - (j == yMax ? max2 : max1)) + lam * oldVal; R(temp1) = newVal; } } // secondly, compute availabilities NumericVector rp(M); for (ii = 0; ii < N; ii++) { double auxsum = 0; temp2 = ind2e[ii]; for(j = ind2s[ii]; j <= ind2e[ii]; j++) { temp1 = ind2[j]; if (R(temp1) < 0 && j != temp2) rp[j] = 0; else rp[j] = R[temp1]; auxsum += rp[j]; } for (j = ind2s[ii]; j <= ind2e[ii]; j++) { temp1 = ind2[j]; double oldVal = A(temp1); double newVal = auxsum - rp[j]; if (newVal > 0 && j != temp2) newVal = 0; A(temp1) = (1 - lam) * newVal + lam * oldVal; } } // find exemplars temp2 = 0; unconverged = false; K = 0; for (j = (M - N); j < M; j++) //loop through the diagonal { int ex = (A(j) + R(j) > 0 ? 1 : 0); se[temp2] = se[temp2] - e(temp2, count_loop % convits) + ex; if (se[temp2] > 0 && se[temp2] < convits) unconverged = true; E[temp2] = ex; e(temp2, count_loop % convits) = ex; K += ex; temp2++; } if (count_loop >= (convits - 1) || count_loop >= (maxits - 1)) dn = ((!unconverged && K > 0) || (count_loop >= (maxits - 1))); // ******storage of details********** if (details) { if (K == 0) { tmpnetsim = R_NaN; tmpdpsim = R_NaN; tmpexpref = R_NaN; for (ii = 0; ii < N; ii++) tmpidx(ii) = R_NaInt; } else { length = 0; tmpnetsim = 0; tmpdpsim = 0; tmpexpref = 0; double maxSim = 0; int discon = 0; IntegerVector I_temp(N); for (ii = 0; ii < N; ii++) { if (E[ii]) // if it is exemplar { tmpidx[ii] = ii; I_temp[length] = ii; // I = find(E) length++; } else // non-exemplar points { tmpidx[ii] = R_NaInt; temp1 = 0; temp2 = 0; length = 0; IntegerVector ee(N); NumericVector temp_ss(N); NumericVector temp_j(N); for(j = ind1s[ii]; j <= ind1e[ii]; j++) { temp1 = ind1[j]; temp_ss[temp2]= s_values[temp1]; temp_j[temp2]= s_j[temp1]; if (E[temp_j[temp2]]) { ee[length] = temp2; // I = find(E(temp_j)) length++; } temp2++; } if (length == 0) discon = 1; else { maxSim = temp_ss[ee[0]]; tmpidx[ii] = temp_j(ee[0]); for (int jj = 1; jj < length; jj++) { temp1 = ee[jj]; if (temp_ss(temp1) > maxSim) { maxSim = temp_ss[temp1]; tmpidx[ii] = temp_j(temp1); } } tmpdpsim = tmpdpsim+maxSim; } } } I=I_temp; // preference sum if (discon == 1) { tmpnetsim = R_NaN; tmpdpsim = R_NaN; tmpexpref = R_NaN; for (int jj = 0; jj < N; jj++) tmpidx[jj] = R_NaInt; } else { temp1 = 0; for (ii = (M - N); ii < M; ii++) { for(j = 0; j < K; j++) if (temp1 == I_temp[j]) tmpexpref += s_values(ii); temp1++; } tmpnetsim = tmpdpsim + tmpexpref; } } } if (details) { exprefAll[count_loop] = tmpexpref; dpsimAll[count_loop] = tmpdpsim; netsimAll[count_loop] = tmpnetsim; for (ii = 0; ii < N; ii++) idxAll(ii, count_loop) = tmpidx[ii]; } count_loop++; } // end of AP main loop // final refinement temp2 = 0; K = 0; for (j = (M - N); j < M; j++) // I think is not needed (exists in matlab) { int ex = (A(j) + R(j) > 0 ? 1 : 0); E[temp2] = ex; K += ex; temp2++; } if (K > 0) { tmpnetsim = 0; tmpdpsim = 0; tmpexpref = 0; double maxSim = 0; // first loop finds the tmpidx if the user ask for details we can // skip this step and take the last tmpidx which already is computed for (ii = 0; ii < N; ii++) { if (E[ii]) { tmpidx[ii] = ii; } else { tmpidx[ii] = R_NaInt; NumericVector temp_ss(N); NumericVector temp_j(N); IntegerVector ee(N); temp1 = 0; // store the idx through loop temp2 = 0; // just counter length = 0; for(j = ind1s[ii]; j <= ind1e[ii]; j++) { temp1 = ind1[j]; temp_ss[temp2] = s_values[temp1]; temp_j[temp2] = s_j[temp1]; if (E[temp_j[temp2]]) { ee[length] = temp2; // I = find(E(temp_j)) length++; } temp2++; } maxSim = temp_ss[ee[0]]; tmpidx[ii]=temp_j(ee[0]); for (int jj = 1; jj < length; jj++) { temp1 = ee[jj]; if (temp_ss(temp1) > maxSim) { maxSim = temp_ss[temp1]; tmpidx[ii] = temp_j(temp1); } } } } IntegerVector E_new(N); //********************* for (ii = 0; ii < N; ii++) { if (E[ii]) { IntegerVector temp_II(N); length = 0; for (int jj = 0; jj < N; jj++) { if (tmpidx[jj] == ii) { temp_II[length] = jj; // I = find(E) length++; } } NumericVector ns(N); NumericVector msk(N); for (int jj = 0; jj < length; jj++) // loop only over exemplars { temp1 = 0; temp2 = 0; NumericVector temp_j(N); NumericVector temp_ss(N); for (j = ind1s[temp_II[jj]]; j <= ind1e[temp_II[jj]]; j++) { temp1 = ind1[j]; temp_ss[temp2] = s_values[temp1]; temp_j[temp2] = s_j[temp1]; msk[temp_j[temp2]] += 1; ns[temp_j[temp2]] += temp_ss[temp2]; temp2++; } } IntegerVector II(length); IntegerVector III(length); int newcounter = 0, minuslength = 0; for (int jj = 0; jj < length; jj++) { if (msk[temp_II[jj]] == length) { II[newcounter] = jj; III[newcounter] = temp_II[II[newcounter]]; newcounter++; } else minuslength++; } maxSim = ns[III[0]]; int index_max = 0; for (int jj = 1; jj < length - minuslength; jj++) { temp1 = III[jj]; if (ns(temp1) > maxSim) { maxSim = ns[temp1]; index_max = jj; } } E_new[III[index_max]] = 1; } } // ************************************** E = E_new; length = 0; int lengthI = 0; tmpnetsim = 0; tmpdpsim = 0; tmpexpref = 0; maxSim = 0; IntegerVector I_tempfinal(N); for (ii = 0; ii < N; ii++) { if (E[ii]) { tmpidx[ii] = ii; I_tempfinal[lengthI] = ii; // I = find(E) final lengthI++; } else { tmpidx[ii] = R_NaInt; NumericVector temp_ss(N); NumericVector temp_j(N); IntegerVector ee(N); temp1 = 0; temp2 = 0; length = 0; for(j = ind1s[ii]; j <= ind1e[ii]; j++) { temp1 = ind1[j]; temp_ss[temp2] = s_values[temp1]; temp_j[temp2] = s_j[temp1]; if (E[temp_j[temp2]]) { ee[length] = temp2;// I = find(E(temp_j)) length++; } temp2++; } //find max and update idx maxSim = temp_ss[ee[0]]; tmpidx[ii] = temp_j(ee[0]); for (int jj = 1; jj < length; jj++) { temp1 = ee[jj]; if (temp_ss(temp1) > maxSim) { maxSim = temp_ss[temp1]; tmpidx[ii] = temp_j(temp1); } } tmpdpsim = tmpdpsim+maxSim; } } // preference sum temp1 = 0; for (ii = (M - N); ii < M; ii++) { for(j = 0; j < K; j++) if(temp1 == I_tempfinal[j]) tmpexpref += s_values(ii); temp1++; } I = I_tempfinal; tmpnetsim = tmpdpsim + tmpexpref; } else { tmpnetsim = R_NaN; tmpdpsim = R_NaN; tmpexpref = R_NaN; for (ii = 0; ii < N; ii++) tmpidx(ii) = R_NaInt; } if (details) { exprefAll[count_loop] = tmpexpref; dpsimAll[count_loop] = tmpdpsim; netsimAll[count_loop] = tmpnetsim; for (ii = 0; ii < N; ii++) idxAll(ii, count_loop) = tmpidx[ii]; } List ret; ret["I"] = I; ret["E"] = E; ret["tmpidx"] = tmpidx; ret["tmpnetsim"] = tmpnetsim; ret["tmpdpsim"] = tmpdpsim; ret["tmpexpref"] = tmpexpref; ret["K"] = K; ret["it"] = IntegerVector::create(count_loop - 1); ret["unconv"] = unconverged; if (details) { ret["netsimAll"] = netsimAll; ret["dpsimAll"] = dpsimAll; ret["exprefAll"] = exprefAll; ret["idxAll"] = idxAll; } return(ret); } apcluster/src/aggExClusterC.h0000644000176200001440000000125013527026237015721 0ustar liggesusers#ifndef __AGG_EX_CLUSTER_C_HEADERS__ #include #define __AGG_EX_CLUSTER_C_HEADERS__ RcppExport SEXP aggExClusterC(SEXP sR, SEXP KR, SEXP actClustR, SEXP actExemR, SEXP objMatR, SEXP exeMatR, SEXP actLabelsR, SEXP selR, SEXP clustersR, SEXP exemplarsR, SEXP mergeR, SEXP heightR, SEXP preserveNamesR); #endif apcluster/src/apclusterCppHeaders.h0000644000176200001440000000235013527026237017164 0ustar liggesusers#ifndef __APCLUSTER_CPP_HEADERS__ #include #define __APCLUSTER_CPP_HEADERS__ /* * note : RcppExport is an alias to `extern "C"` defined by Rcpp. * * It gives C calling convention to the rcpp_hello_world function so that * it can be called from .Call in R. Otherwise, the C++ compiler mangles the * name of the function and .Call can't find it. * * It is only useful to use RcppExport when the function is intended to be called * by .Call. See the thread http://thread.gmane.org/gmane.comp.lang.r.rcpp/649/focus=672 * on Rcpp-devel for a misuse of RcppExport */ RcppExport SEXP apclusterC(SEXP sR, SEXP maxitsR, SEXP convitsR, SEXP lamR, SEXP detailsR); RcppExport SEXP apclusterLeveragedC(SEXP sR, SEXP selR, SEXP maxitsR, SEXP convitsR, SEXP lamR); RcppExport SEXP apclusterSparseC(SEXP iR, SEXP jR, SEXP valuesR, SEXP maxitsR, SEXP convitsR, SEXP lamR, SEXP nR, SEXP detailsR); RcppExport SEXP preferenceRangeC(SEXP sR, SEXP exactR); RcppExport SEXP preferenceRangeSparseC(SEXP iR, SEXP jR, SEXP valuesR, SEXP nR, SEXP exactR); #endif apcluster/src/distanceL.c0000644000176200001440000002355613527026237015137 0ustar liggesusers/* * R : A Computer Language for Statistical Data Analysis * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka * Copyright (C) 1998-2016 The R Core Team * Copyright (C) 2002, 2004 The R Foundation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, a copy is available at * https://www.R-project.org/Licenses/ */ #ifdef HAVE_CONFIG_H # include #endif /* do this first to get the right options for math.h */ #include #include #include #include //#include "stats.h" #ifdef _OPENMP # include #endif #define both_FINITE(a,b) (R_FINITE(a) && R_FINITE(b)) #ifdef R_160_and_older #define both_non_NA both_FINITE #else #define both_non_NA(a,b) (!ISNAN(a) && !ISNAN(b)) #endif static double R_euclidean(double *x, int nr, int nc, int i1, int i2) { double dev, dist; int count, j; count= 0; dist = 0; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { dev = (x[i1] - x[i2]); if(!ISNAN(dev)) { dist += dev * dev; count++; } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; if(count != nc) dist /= ((double)count/nc); return sqrt(dist); } static double R_maximum(double *x, int nr, int nc, int i1, int i2) { double dev, dist; int count, j; count = 0; dist = -DBL_MAX; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { dev = fabs(x[i1] - x[i2]); if(!ISNAN(dev)) { if(dev > dist) dist = dev; count++; } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; return dist; } static double R_manhattan(double *x, int nr, int nc, int i1, int i2) { double dev, dist; int count, j; count = 0; dist = 0; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { dev = fabs(x[i1] - x[i2]); if(!ISNAN(dev)) { dist += dev; count++; } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; if(count != nc) dist /= ((double)count/nc); return dist; } static double R_canberra(double *x, int nr, int nc, int i1, int i2) { double dev, dist, sum, diff; int count, j; count = 0; dist = 0; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { sum = fabs(x[i1] + x[i2]); diff = fabs(x[i1] - x[i2]); if (sum > DBL_MIN || diff > DBL_MIN) { dev = diff/sum; if(!ISNAN(dev) || (!R_FINITE(diff) && diff == sum && /* use Inf = lim x -> oo */ (dev = 1.))) { dist += dev; count++; } } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; if(count != nc) dist /= ((double)count/nc); return dist; } static double R_dist_binary(double *x, int nr, int nc, int i1, int i2) { int total, count, dist; int j; total = 0; count = 0; dist = 0; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { if(!both_FINITE(x[i1], x[i2])) { //warning(_("treating non-finite values as NA")); Rprintf("Warning: treating non-finite values as NA"); } else { if(x[i1] || x[i2]) { count++; if( ! (x[i1] && x[i2]) ) dist++; } total++; } } i1 += nr; i2 += nr; } if(total == 0) return NA_REAL; if(count == 0) return 0; return (double) dist / count; } static double R_minkowski(double *x, int nr, int nc, int i1, int i2, double p) { double dev, dist; int count, j; count= 0; dist = 0; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { dev = (x[i1] - x[i2]); if(!ISNAN(dev)) { dist += R_pow(fabs(dev), p); count++; } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; if(count != nc) dist /= ((double)count/nc); return R_pow(dist, 1.0/p); } static double R_discrepancy(double *x, int nr, int nc, int i1, int i2) { double dev, dist, psum, mini, maxi; int count, j; count = 0; psum = 0; maxi = -DBL_MAX; mini = DBL_MAX; for(j = 0 ; j < nc ; j++) { if(both_non_NA(x[i1], x[i2])) { dev = x[i1] - x[i2]; if(!ISNAN(dev)) { psum += dev; if (psum > maxi) maxi = psum; else if (psum < mini) mini = psum; count++; } } i1 += nr; i2 += nr; } if(count == 0) return NA_REAL; dist = maxi - mini; if(count != nc) dist /= ((double)count/nc); return dist; } enum { EUCLIDEAN=1, MAXIMUM, MANHATTAN, CANBERRA, BINARY, MINKOWSKI, DISCREPANCY }; /* == 1,2,..., defined by order in the R function dist */ void R_distance(double x[], int sel[], int *nr, int *nc, int *nsel, double *d, int *diag, int *method, double *p) { int dc, i, j; size_t ij; /* can exceed 2^31 - 1 */ double (*distfun)(double*, int, int, int, int) = NULL; #ifdef _OPENMP int nthreads; #endif switch(*method) { case EUCLIDEAN: distfun = R_euclidean; break; case MAXIMUM: distfun = R_maximum; break; case MANHATTAN: distfun = R_manhattan; break; case CANBERRA: distfun = R_canberra; break; case BINARY: distfun = R_dist_binary; break; case MINKOWSKI: if(!R_FINITE(*p) || *p <= 0) error("distance(): invalid p"); break; case DISCREPANCY: distfun = R_discrepancy; break; default: error("distance(): invalid distance"); } dc = (*diag) ? 0 : 1; /* diag=1: we do the diagonal */ #ifdef _OPENMP if (R_num_math_threads > 0) nthreads = R_num_math_threads; else nthreads = 1; /* for now */ if (nthreads == 1) { /* do the nthreads == 1 case without any OMP overhead to see if it matters on some platforms */ ij = 0; for(j = 0 ; j < *nr ; j++) for(i = j+dc ; i < *nr ; i++) d[ij++] = (*method != MINKOWSKI) ? distfun(x, *nr, *nc, i, j) : R_minkowski(x, *nr, *nc, i, j, *p); } else /* This produces uneven thread workloads since the outer loop is over the subdiagonal portions of columns. An alternative would be to use a loop on ij and to compute the i and j values from ij. */ #pragma omp parallel for num_threads(nthreads) default(none) \ private(i, j, ij) \ firstprivate(nr, dc, d, method, distfun, nc, x, p) for(j = 0 ; j < *nr ; j++) { ij = j * (*nr - dc) + j - ((1 + j) * j) / 2; for(i = j+dc ; i < *nr ; i++) d[ij++] = (*method != MINKOWSKI) ? distfun(x, *nr, *nc, i, j) : R_minkowski(x, *nr, *nc, i, j, *p); } #else if (*nsel==NA_INTEGER) { ij = 0; for(j = 0 ; j < *nr ; j++) for(i = j+dc ; i < *nr ; i++) d[ij++] = (*method != MINKOWSKI) ? distfun(x, *nr, *nc, i, j) : R_minkowski(x, *nr, *nc, i, j, *p); } else { int s1 = 0; int imap[*nr]; for (i=0; i<*nr; i++) imap[i] = (s1<*nsel && i==sel[s1]) ? s1++ : -1; for (j = 0 ; j < *nr ; j++) { for (i = j ; i < *nr ; i++) { if (imap[j] != -1) { d[i+*nr*imap[j]] = (*method != MINKOWSKI) ? distfun(x, *nr, *nc, i, j) : R_minkowski(x, *nr, *nc, i, j, *p); if (imap[i] != -1) { d[j+*nr*imap[i]] = d[i+*nr*imap[j]]; } } else { if (imap[i] != -1) { d[j+*nr*imap[i]] = (*method != MINKOWSKI) ? distfun(x, *nr, *nc, i, j) : R_minkowski(x, *nr, *nc, i, j, *p); } } } } } #endif } #include #include "distanceL.h" /* all attribute handling has been removed */ SEXP CdistR(SEXP x, SEXP sel, SEXP smethod, SEXP p) { SEXP ans; int nr = nrows(x), nc = ncols(x), method = asInteger(smethod); int nsel; int N, diag = 0; double rp = asReal(p); int seli = asInteger(sel); if (seli==NA_INTEGER) { nsel = NA_INTEGER; // allocate space for lower diag part without diagonal N = (double)nr * (nr-1)/2; /* avoid overflow for N ~ 50,000 */ } else { nsel = length(sel); // allocate space for full rectangular matrix N = (double)nr * nsel; } PROTECT(ans = allocVector(REALSXP, N)); R_distance(REAL(x), INTEGER(sel), &nr, &nc, &nsel, REAL(ans), &diag, &method, &rp); UNPROTECT(1); return ans; } apcluster/src/apclusterLeveragedC.cpp0000644000176200001440000000722113527026237017504 0ustar liggesusers#include #include #include #include #include "apclusterCppHeaders.h" using namespace Rcpp; RcppExport SEXP apclusterLeveragedC(SEXP sR, SEXP selR, SEXP maxitsR, SEXP convitsR, SEXP lamR) { NumericMatrix s(sR); IntegerVector sel(selR); int maxits = as(maxitsR); int convits = as(convitsR); double lam = as(lamR); int M = s.ncol(); int N = s.nrow(); IntegerMatrix e(N, convits); IntegerVector I(N); IntegerVector se(N); NumericMatrix A(M, N); NumericMatrix R(M, N); NumericVector auxsum(M - 1); bool dn = false, unconverged = false; int i = 0, j, ii, K; while (!dn) { // first, compute responsibilities for (ii = 0; ii < N; ii++) { double max1 = -DBL_MAX, max2 = -DBL_MAX; double avsim; int yMax; // determine largest and second largest element of A + S for (j = 0; j < M; j++) { if (j < M - 1 && sel[j] == ii) continue; avsim = A(j, ii) + s(ii, j); if (avsim > max1) { max2 = max1; max1 = avsim; yMax = j; } else if (avsim > max2) max2 = avsim; } for (j = 0; j < M; j++) // R update including self responsibilities { if (j < M - 1 && sel[j] == ii) continue; double newVal = (1 - lam) * (s(ii, j) - (j == yMax ? max2 : max1)) + lam * R(j, ii); R(j, ii) = (newVal > DBL_MAX ? DBL_MAX : newVal); if (R(j, ii) > 0 && j < M - 1) auxsum[j] = auxsum[j] + R(j, ii); } } // correct auxsum with diag elements for (ii = 0; ii < M - 1; ii++) auxsum[ii] = auxsum[ii] + R(M - 1, sel[ii]); // secondly, compute availabilities for (ii = 0; ii < M - 1; ii++) { for (j = 0; j < N; j++) { double newVal = auxsum[ii]; if (R(ii, j) > 0) newVal -= R(ii, j); if (sel[ii] == j) { // update diagonal element back in last col A(M - 1, j) = (1 - lam) * (newVal - R(M - 1, j)) + lam * A(M-1, j); newVal = 0; // set real diag elmenent to 0 - oldval is 0 } else { if (newVal > 0) newVal = 0; } A(ii, j) = (1 - lam) * newVal + lam * A(ii, j); } auxsum[ii] = 0; } // determine clusters and check for convergence unconverged = false; K = 0; for (j = 0; j < N; j++) { int ex = (A(M - 1, j) + R(M - 1, j) > 0 ? 1 : 0); se[j] = se[j] - e(j, i % convits) + ex; if (se[j] > 0 && se[j] < convits) unconverged = true; e(j, i % convits) = ex; if (ex) I[K] = j; K += ex; } if (i >= (convits - 1) || i >= (maxits - 1)) dn = ((!unconverged && K > 0) || (i >= (maxits - 1))); i++; } List ret; ret["I"] = I; ret["K"] = K; ret["it"] = IntegerVector::create(i - 1); ret["unconv"] = LogicalVector::create(unconverged); return(ret); } apcluster/vignettes/0000755000176200001440000000000013527065717014301 5ustar liggesusersapcluster/vignettes/apcluster.Rnw0000644000176200001440000021617013527065612016774 0ustar liggesusers\documentclass[article]{bioinf} \usepackage{amsmath,amssymb} \usepackage{hyperref} \hypersetup{colorlinks=false, pdfborder=0 0 0, pdftitle={APCluster - An R Package for Affinity Propagation Clustering}, pdfauthor={Ulrich Bodenhofer}} \title{{\Huge APCluster}\\[5mm] An R Package for Affinity Propagation Clustering} \author{Ulrich Bodenhofer, Johannes Palme, Chrats Melkonian, and Andreas Kothmeier} \affiliation{Institute of Bioinformatics, Johannes Kepler University Linz\\Altenberger Str. 69, 4040 Linz, Austria\\ \email{apcluster@bioinf.jku.at}} \newcommand{\APCluster}{\texttt{apcluster}} \newcommand{\KeBABS}{\texttt{kebabs}} \newcommand{\R}{R} \newcommand{\Real}{\mathbb{R}} \renewcommand{\vec}[1]{\mathbf{#1}} %\VignetteIndexEntry{An R Package for Affinity Propagation Clustering} %\VignetteDepends{methods, stats, graphics, utils} %\VignetteEngine{knitr::knitr} \begin{document} <>= options(width=72) knitr::opts_knit$set(width=72) set.seed(0) suggestedPackages <- c("Biostrings", "kebabs") if (all(sapply(suggestedPackages, requireNamespace, quietly=TRUE))) { library(kebabs, quietly=TRUE) } else { knitr::opts_chunk$set(eval=FALSE) } library(apcluster, quietly=TRUE) apclusterVersion <- packageDescription("apcluster")$Version apclusterDateRaw <- packageDescription("apcluster")$Date apclusterDateYear <- as.numeric(substr(apclusterDateRaw, 1, 4)) apclusterDateMonth <- as.numeric(substr(apclusterDateRaw, 6, 7)) apclusterDateDay <- as.numeric(substr(apclusterDateRaw, 9, 10)) apclusterDate <- paste(month.name[apclusterDateMonth], " ", apclusterDateDay, ", ", apclusterDateYear, sep="") @ \newcommand{\APClusterVer}{\Sexpr{apclusterVersion}} \newcommand{\APClusterDate}{\Sexpr{apclusterDate}} \manualtitlepage[Version \APClusterVer, \APClusterDate] \section*{Scope and Purpose of this Document} This document is a user manual for the \R\ package \APCluster\ \cite{BodenhoferKothmeierHochreiter11}. It is only meant as a gentle introduction into how to use the basic functions implemented in this package. Not all features of the \R\ package are described in full detail. Such details can be obtained from the documentation enclosed in the \R\ package. Further note the following: (1) this is neither an introduction to affinity propagation nor to clustering in general; (2) this is not an introduction to \R. If you lack the background for understanding this manual, you first have to read introductory literature on these subjects. \newpage \vspace{1cm} \newlength{\auxparskip} \setlength{\auxparskip}{\parskip} \setlength{\parskip}{0pt} \tableofcontents \clearpage \setlength{\parskip}{\auxparskip} \newlength{\Nboxwidth} \setlength{\Nboxwidth}{\textwidth} \addtolength{\Nboxwidth}{-2\fboxrule} \addtolength{\Nboxwidth}{-2\fboxsep} \newcommand{\notebox}[1]{% \begin{center} \fbox{\begin{minipage}{\Nboxwidth} \noindent{\sffamily\bfseries Note:} #1 \end{minipage}} \end{center}} \section{Introduction} Affinity propagation (AP) is a relatively new clustering algorithm that has been introduced by Brendan J.\ Frey and Delbert Dueck \cite{FreyDueck07}.\footnotemark[1]\footnotetext[1]{% \url{http://genes.toronto.edu/affinitypropagation/}}\stepcounter{footnote} The authors themselves describe affinity propagation as follows:\footnote{quoted from \url{http://genes.toronto.edu/affinitypropagation/faq.html\#def}} \begin{quote} ``{\em An algorithm that identifies exemplars among data points and forms clusters of data points around these exemplars. It operates by simultaneously considering all data point as potential exemplars and exchanging messages between data points until a good set of exemplars and clusters emerges.}'' \end{quote} AP has been applied in various fields recently, among which bioinformatics is becoming increasingly important. Frey and Dueck have made their algorithm available as Matlab code.\footnotemark[1] Matlab, however, is relatively uncommon in bioinformatics. Instead, the statistical computing platform \R\ has become a widely accepted standard in this field. In order to leverage affinity propagation for bioinformatics applications, we have implemented affinity propagation as an \R\ package. Note, however, that the given package is in no way restricted to bioinformatics applications. It is as generally applicable as Frey's and Dueck's original Matlab code.\footnotemark[1] Starting with Version 1.1.0, the \APCluster\ package also features {\em exemplar-based agglomerative clustering} which can be used as a clustering method on its own or for creating a hierarchy of clusters that have been computed previously by affinity propagation. {\em Leveraged Affinity Propagation}, a variant of AP especially geared to applications involving large data sets, has first been included in Version 1.3.0. \section{Installation} \subsection{Installation via CRAN} The \R\ package \APCluster\ (current version: \APClusterVer) is part of the {\em Comprehensive R Archive Network (CRAN)}% \footnote{\url{http://cran.r-project.org/}}. The simplest way to install the package, therefore, is to enter the following command into your \R\ session: <>= install.packages("apcluster") @ If you use R on Windows or Mac OS, you can also conveniently use the package installation menu of your R GUI. \subsection{Manual installation from source} Under special circumstances, e.g. if you want to compile the C++ code included in the package with some custom options, you may prefer to install the package manually from source. To this end, open the package's page at CRAN% \footnote{\url{https://CRAN.R-project.org/package=apcluster}} and then proceed as follows: \begin{enumerate} \item Download \texttt{apcluster\_\APClusterVer.tar.gz} and save it to your harddisk. \item Open a shell/terminal/command prompt window and change to the directory where you put {\ttfamily apcluster\_\APClusterVer.tar.gz}. Enter \begin{quote} \ttfamily R CMD INSTALL apcluster\_\APClusterVer.tar.gz \end{quote} to install the package. \end{enumerate} Note that this might require additional software on some platforms. Windows requires Rtools\footnote{\url{http://cran.r-project.org/bin/windows/Rtools/}} to be installed and to be available in the default search path (environment variable \verb+PATH+). Mac OS X requires Xcode developer tools% \footnote{\url{https://developer.apple.com/technologies/tools/}} (make sure that you have the command line tools installed with Xcode). \subsection{Compatibility issues} All versions downloadable from CRAN have been built using the latest version, \R\ \Sexpr{R.version$major}.\Sexpr{R.version$minor}. However, the package should work without severe problems on \R\ versions $\geq$3.0.0. \section{Getting Started} To load the package, enter the following in your \R\ session: <>= library(apcluster) @ If this command terminates without any error message or warning, you can be sure that the package has been installed successfully. If so, the package is ready for use now and you can start clustering your data with affinity propagation. The package includes both a user manual (this document) and a reference manual (help pages for each function). To view the user manual, enter <>= vignette("apcluster") @ Help pages can be viewed using the \verb+help+ command. It is recommended to start with <>= help(apcluster) @ Affinity propagation does not require the data samples to be of any specific kind or structure. AP only requires a {\em similarity matrix}, i.e., given $l$ data samples, this is an $l\times l$ real-valued matrix $\mathbf{S}$, in which an entry $S_{ij}$ corresponds to a value measuring how similar sample $i$ is to sample $j$. AP does not require these values to be in a specific range. Values can be positive or negative. AP does not even require the similarity matrix to be symmetric (although, in most applications, it will be symmetric anyway). A value of $-\infty$ is interpreted as ``absolute dissimilarity''. The higher a value, the more similar two samples are considered. To get a first impression, let us create a random data set in $\Real^2$ as the union of two ``Gaussian clouds'': \begin{center} <>= cl1 <- cbind(rnorm(30, 0.3, 0.05), rnorm(30, 0.7, 0.04)) cl2 <- cbind(rnorm(30, 0.7, 0.04), rnorm(30, 0.4, .05)) x1 <- rbind(cl1, cl2) plot(x1, xlab="", ylab="", pch=19, cex=0.8) @ \end{center} The package \APCluster\ offers several different ways for clustering data. The simplest way is the following: <>= apres1a <- apcluster(negDistMat(r=2), x1) @ In this example, the function \verb+apcluster()+ first computes a similarity matrix for the input data \verb+x1+ using the {\em similarity function} passed as first argument. The choice \verb+negDistMat(r=2)+ is the standard similarity measure used in the papers of Frey and Dueck --- negative squared distances. Alternatively, one can compute the similarity matrix beforehand and call \verb+apcluster()+ for the similarity matrix (for a more detailed description of the differences, see \ref{ssec:memeff}): <>= s1 <- negDistMat(x1, r=2) apres1b <- apcluster(s1) @ The function \verb+apcluster()+ creates an object belonging to the S4 class \verb+APResult+ which is defined by the present package. To get detailed information on which data are stored in such objects, enter <>= help(APResult) @ The simplest thing we can do is to enter the name of the object (which implicitly calls \verb+show()+) to get a summary of the clustering result: <>= apres1a @ The \APCluster\ package allows for plotting the original data set along with a clustering result: \begin{center} <>= plot(apres1a, x1) @ \end{center} In this plot, each color corresponds to one cluster. The exemplar of each cluster is marked by a box and all cluster members are connected to their exemplars with lines. A heatmap is plotted with \verb+heatmap()+: \begin{center} <>= heatmap(apres1a) @ \end{center} In the heatmap, the samples are grouped according to clusters. The above heatmap confirms again that there are two main clusters in the data. A heatmap can be plotted for the object \verb+apres1a+ because \verb+apcluster()+, if called for data and a similarity function, by default includes the similarity matrix in the output object (unless it was called with the switch \verb+includeSim=FALSE+). If the similarity matrix is not included (which is the default if \verb+apcluster()+ has been called on a similarity matrix directly), \verb+heatmap()+ must be called with the similarity matrix as second argument: \begin{center} <>= heatmap(apres1b, s1) @ \end{center} Suppose we want to have better insight into what the algorithm did in each iteration. For this purpose, we can supply the option \verb+details=TRUE+ to \verb+apcluster()+: <>= apres1c <- apcluster(s1, details=TRUE) @ This option tells the algorithm to keep a detailed log about its progress. For example, this allows for plotting the three performance measures that AP uses internally for each iteration: \begin{center} <>= plot(apres1c) @ \end{center} These performance measures are: \begin{enumerate} \item Sum of exemplar preferences \item Sum of similarities of exemplars to their cluster members \item Net fitness: sum of the two former \end{enumerate} For details, the user is referred to the original affinity propagation paper \cite{FreyDueck07} and the supplementary material published on the affinity propagation Web page.\footnotemark[1] We see from the above plot that the algorithm has not made any change for the last 100 iterations. AP, through its parameter \verb+convits+, allows to control for how long AP waits for a change until it terminates (the default is \verb+convits=100+). If the user has the feeling that AP will probably converge quicker on his/her data set, a lower value can be used: <>= apres1c <- apcluster(s1, convits=15, details=TRUE) apres1c @ \section{Adjusting Input Preferences}\label{sec:ipref} Apart from the similarity matrix itself, the most important input parameter of AP is the so-called {\em input preference} which can be interpreted as the tendency of a data sample to become an exemplar (see \cite{FreyDueck07} and supplementary material on the AP homepage\footnotemark[1] for a more detailed explanation). This input preference can either be chosen individually for each data sample or it can be a single value shared among all data samples. Input preferences largely determine the number of clusters, in other words, how fine- or coarse-grained the clustering result will be. The input preferences one can specify for AP are roughly in the same range as the similarity values, but they do not have a straightforward interpretation. Frey and Dueck have introduced the following rule of thumb: ``{\it The shared value could be the median of the input similarities (resulting in a moderate number of clusters) or their minimum (resulting in a small number of clusters).}'' \cite{FreyDueck07} Our AP implementation uses the median rule by default if the user does not supply a custom value for the input preferences. In order to provide the user with a knob that is --- at least to some extent --- interpretable, the function \verb+apcluster()+ provides an argument \verb+q+ that allows to set the input preference to a certain quantile of the input similarities: resulting in the median for \verb+q=0.5+ and in the minimum for \verb+q=0+. As an example, let us add two more ``clouds'' to the data set from above: \begin{center} <>= cl3 <- cbind(rnorm(20, 0.50, 0.03), rnorm(20, 0.72, 0.03)) cl4 <- cbind(rnorm(25, 0.50, 0.03), rnorm(25, 0.42, 0.04)) x2 <- rbind(x1, cl3, cl4) plot(x2, xlab="", ylab="", pch=19, cex=0.8) @ \end{center} For the default setting, we obtain the following result: \begin{center} <>= apres2a <- apcluster(negDistMat(r=2), x2) plot(apres2a, x2) @ \end{center} For the minimum of input similarities, we obtain the following result: \begin{center} <>= apres2b <- apcluster(negDistMat(r=2), x2, q=0) plot(apres2b, x2) @ \end{center} So we see that AP is quite robust against a reduction of input preferences in this example which may be caused by the clear separation of the four clusters. If we increase input preferences, however, we can force AP to split the four clusters into smaller sub-clusters: \begin{center} <>= apres2c <- apcluster(negDistMat(r=2), x2, q=0.8) plot(apres2c, x2) @ \end{center} Note that the input preference used by AP can be recovered from the output object (no matter which method to adjust input preferences has been used). On the one hand, the value is printed if the object is displayed (by \verb+show+ or by entering the output object's name). On the other hand, the value can be accessed directly via the slot \verb+p+: <>= apres2c@p @ As noted above already, we can produce a heatmap by calling \verb+heatmap()+ for an \verb+APResult+ object: \begin{center} <>= heatmap(apres2c) @ \end{center} The order in which the clusters are arranged in the heatmap is determined by means of joining the cluster agglomeratively (see Section \ref{sec:agglo} below). Although the affinity propagation result contains \Sexpr{length(apres2c@exemplars)} clusters, the heatmap indicates that there are actually four clusters which can be seen as very brightly colored squares along the diagonal. We also see that there seem to be two pairs of adjacent clusters, which can be seen from the fact that there are two relatively light-colored blocks along the diagonal encompassing two of the four clusters in each case. If we look back at how the data have been created (see also plots above), this is exactly what is to be expected. The above example with \verb+q=0+ demonstrates that setting input preferences to the minimum of input similarities does not necessarily result in a very small number of clusters (like one or two). This is due to the fact that input preferences need not necessarily be exactly in the range of the similarities. To determine a meaningful range, an auxiliary function is available which, in line with Frey's and Dueck's Matlab code,\footnotemark[1] allows to compute a minimum value (for which one or at most two clusters would be obtained) and a maximum value (for which as many clusters as data samples would be obtained): <>= preferenceRange(apres2b@sim) @ The function returns a two-element vector with the minimum value as first and the maximum value as second entry. The computations are done approximately by default. If one is interested in exact bounds, supply \verb+exact=TRUE+ (resulting in longer computation times). Many clustering algorithms need to know a pre-defined number of clusters. This is often a major nuisance, since the exact number of clusters is hard to know for non-trivial (in particular, high-dimensional) data sets. AP avoids this problem. If, however, one still wants to require a fixed number of clusters, this has to be accomplished by a search algorithm that adjusts input preferences in order to produce the desired number of clusters in the end. For convenience, this search algorithm is available as a function \verb+apclusterK()+ (analogous to Frey's and Dueck's Matlab implementation\footnotemark[1]). We can use this function to force AP to produce only two clusters (merging the two pairs of adjacent clouds into one cluster each). Analogously to \verb+apcluster()+, \verb+apclusterK()+ supports two variants --- it can either be called for a similarity measure and data or on a similarity matrix directly. \begin{center} <>= apres2d <- apclusterK(negDistMat(r=2), x2, K=2, verbose=TRUE) plot(apres2d, x2) @ \end{center} Now let us quickly consider a simple data set with more than two features. The notorious example is Fisher's iris data set: <>= data(iris) apIris1 <- apcluster(negDistMat(r=2), iris) apIris1 @ AP has identified \Sexpr{length(apIris1)} clusters. Since Version 1.3.2, the package also allows for superimposing clustering results in scatter plot matrices: \begin{center} <>= plot(apIris1, iris) @ \end{center} The heatmap looks as follows: \begin{center} <>= heatmap(apIris1) @ \end{center} Now let us try to obtain fewer clusters by using the minimum of off-diagonal similarities: <>= data(iris) apIris2 <- apcluster(negDistMat(r=2), iris, q=0) apIris2 @ AP has identified \Sexpr{length(apIris2)} clusters. If we again superimpose them in the scatter plot matrix, we obtain the following: \begin{center} <>= plot(apIris2, iris) @ \end{center} Finally, the heatmap looks as follows: \begin{center} <>= heatmap(apIris2) @ \end{center} So, looking at the heatmap, the \Sexpr{length(apIris2)} clusters seem quite reasonable, at least in the light of the fact that there are three species in the data set, {\em Iris setosa}, {\em Iris versicolor}, and {\em Iris virginica}, where {\em Iris setosa} is very clearly separated from each other (first cluster in the heatmap) and the two others are partly overlapping. \section{Exemplar-based Agglomerative Clustering}\label{sec:agglo} The function \verb+aggExCluster()+ realizes what can best be described as ``exemplar-based agglomerative clustering'', i.e.\ agglomerative clustering whose merging objective is geared towards the identification of meaningful exemplars. Analogously to \verb+apcluster()+, \verb+aggExCluster()+ supports two variants --- it can either be called for a similarity measure and data or on matrix of pairwise similarities. \subsection{Getting started} Let us start with a simple example: <>= aggres1a <- aggExCluster(negDistMat(r=2), x1) aggres1a @ The output object \verb+aggres1a+ contains the complete cluster hierarchy. As obvious from the above example, the \verb+show()+ method only displays the most basic information. Calling \verb+plot()+ on an object that was the result of \verb+aggExCluster()+ (an object of class \verb+AggExResult+), a dendrogram is plotted: \begin{center} <>= plot(aggres1a) @ \end{center} The heights of the merges in the dendrogram correspond to the merging objective: the higher the vertical bar of a merge, the less similar the two clusters have been. The dendrogram, therefore, clearly indicates two clusters. Heatmaps can be produced analogously as for \verb+APResult+ objects with the additional property that dendrograms are displayed on the top and on the left: \begin{center} <>= heatmap(aggres1a, s1) @ \end{center} Once we have confirmed the number of clusters, which is clearly 2 according to the dendrogram and the heatmap above, we can extract the level with two clusters from the cluster hierarchy. In concordance with standard \R\ terminology, the function for doing this is called \verb+cutree()+: \begin{center} <>= cl1a <- cutree(aggres1a, k=2) cl1a plot(cl1a, x1) @ \end{center} \subsection{Merging clusters obtained from affinity propagation} The most important application of \verb+aggExCluster()+ (and the reason why it is part of the \APCluster\ package) is that it can be used for creating a hierarchy of clusters starting from a set of clusters previously computed by affinity propagation. The examples in Section \ref{sec:ipref} indicate that it may sometimes be tricky to define the right input preference. Exemplar-based agglomerative clustering on affinity propagation results provides an additional tool for finding the right number of clusters. Let us revisit the four-cluster example from Section \ref{sec:ipref}. We can apply \verb+aggExCluster()+ to an affinity propagation result if we run it on the affinity propagation result supplied as second argument \verb+x+: <>= aggres2a <- aggExCluster(x=apres2c) aggres2a @ The result \verb+apres2c+ had \Sexpr{length(apres2c)} clusters. \verb+aggExCluster()+ successively joins these clusters until only one cluster is left. The dendrogram of this cluster hierarchy is given as follows: \begin{center} <>= plot(aggres2a) @ \end{center} If one wants to see the original samples in the dendrogram of the cluster hierarchy, the \verb+showSamples=TRUE+ option can be used. In this case, it is recommended to reduce the font size of the labels via the \verb+nodePar+ parameter (see \verb+?plot.dendrogram+ and the examples therein): \begin{center} <>= plot(aggres2a, showSamples=TRUE, nodePar=list(pch=NA, lab.cex=0.4)) @ \end{center} The following heatmap coincides with the one shown in Section \ref{sec:ipref} above. This is not surprising, since the heatmap plot for an affinity propagation result uses \verb+aggExCluster()+ internally to arrange the clusters: \begin{center} <>= heatmap(aggres2a) @ \end{center} Once we are more or less sure about the number of clusters, we extract the right clustering level from the hierarchy. For demonstation purposes, we do this for $k=5,\dots,2$ in the following plots: \begin{center} <>= par(mfrow=c(2,2)) for (k in 5:2) plot(aggres2a, x2, k=k, main=paste(k, "clusters")) @ \end{center} There is one obvious, but important, condition: applying \verb+aggExCluster()+ to an affinity propagation result only makes sense if the number of clusters to start from is at least as large as the number of true clusters in the data set. Clearly, if the number of clusters is already too small, then merging will make the situation only worse. \subsection{Details on the merging objective} Like any other agglomerative clustering method (see, e.g., \cite{JainMurtyFlynn99,MichalskiStepp92,Ward63}), \verb+aggExCluster()+ merges clusters until only one cluster containing all samples is obtained. In each step, two clusters are merged into one, i.e.\ the number of clusters is reduced by one. The only aspect in which \verb+aggExCluster()+ differs from other methods is the merging objective. Suppose we consider two clusters for possible merging, each of which is given by an index set: \[ I = \{i_1,\dots,i_{n_I}\} \text{ and } J = \{j_1,\dots,j_{n_J}\} \] Then we first determine the potential {\em joint exemplar} $\mathop{\mathrm{ex}}(I,J)$ as the sample that maximizes the average similarity to all samples in the joint cluster $I\cup J$: \[ \mathop{\mathrm{ex}}(I,J) =\mathop{\mathrm{argmax}}\limits_{i\in I\cup J} \frac{1}{n_I + n_J}\cdot \sum\limits_{j\in I\cup J} S_{ij} \] Recall that $\mathbf{S}$ denotes the similarity matrix and $S_{ij}$ corresponds to the similarity of the $i$-th and the $j$-th sample. Then the merging objective is computed as \[ \mathop{\mathrm{obj}}(I,J)=\frac{1}{2}\cdot\Big(\frac{1}{n_I}\cdot \sum\limits_{j\in I} S_{\mathop{\mathrm{ex}}(I,J)j}+\frac{1}{n_J}\cdot \sum\limits_{k\in J} S_{\mathop{\mathrm{ex}}(I,J)k}\Big), \] which can be best described as ``{\em balanced average similarity to the joint exemplar}''. In each step, \verb+aggExCluster()+ considers all pairs of clusters in the current cluster set and joins that pair of clusters whose merging objective is maximal. The rationale behind the merging objective is that those two clusters should be joined that are best described by a joint exemplar. \section{Leveraged Affinity Propagation}\label{sec:lever} Leveraged affinity propagation is based on the idea that, for large data sets with many samples, the cluster structure is already visible on a subset of the samples. Instead of evaluating the similarity matrix for all sample pairs, the similarities of all samples to a subset of samples are computed --- resulting in a non-square similarity matrix. Clustering is performed on this reduced similarity matrix allowing for clustering large data sets more efficiently. In this form of clustering, several rounds of affinity propagation are executed with different sample subsets --- iteratively improving the clustering result. The implementation is based on the Matlab code of Frey and Dueck provided on the AP Web page\footnotemark[1]. Apart from dynamic improvements through reduced amount of distance calculations and faster clustering, the memory consumption is also reduced not only in terms of the memory used for storing the similarity matrix, but also in terms of memory used by the clustering algorithm internally. The two main parameters controlling leveraged AP clustering are the fraction of data points that should be selected for clustering (parameter \verb+frac+) and the number of sweeps or repetitions of individual clustering runs (parameter \verb+sweeps+). Initially, a sample subset is selected randomly. For the subsequent repetitions, the exemplars of the previous run are kept in the sample subset and the other samples in the subset are chosen randomly again. The best result of all sweeps with the highest net similarity is kept as final clustering result. When called with a similarity measure and a dataset the function \verb+apclusterL()+ performs both the calculation of similarities and leveraged affinity propagation. In the example below, we use 10\% of the samples and run 5 repetitions. The function implementing the similarity measure can either be passed as a function or as a function name (which must of course be resolvable in the current environment). Additional parameters for the distance calculation can be passed to \verb+apclusterL()+ which passes them on to the function implementing the similarity measure via the \verb+...+ argument list. In any case, this function must be implemented such that it expects the data in its first argument \verb+x+ (a subsettable data structure, such as, a vector, matrix, data frame, or list) and that it takes the selection of ``column objects'' as a second argument \verb+sel+ which must be a set of column indices. The functions \verb+negDistMat()+, \verb+expSimMat()+, \verb+linSimMat()+, \verb+corSimMat()+, and \verb+linKernel()+ provided by the \APCluster\ package also support the easy creation of parameter-free similarity measures (in R terminology called ``closures''). We recommend this variant, as it is safer in terms of possible name conflicts between arguments of \verb+apclusterL()+ and arguments of the similarity function. Here is an example that makes use of a closure for defining the similarity measure: \begin{center} <>= cl5 <- cbind(rnorm(100, 0.3, 0.05), rnorm(100, 0.7, 0.04)) cl6 <- cbind(rnorm(100, 0.70, 0.04), rnorm(100, 0.4, 0.05)) x3 <- rbind(cl5, cl6) apres3 <- apclusterL(s=negDistMat(r=2), x=x3, frac=0.1, sweeps=5, p=-0.2) apres3 plot(apres3, x3) @ \end{center} The function \verb+apclusterL()+ creates a result object of S4 class \verb+APResult+ that contains the same information as for standard AP. Additionally, the selected sample subset, the associated rectangular similarity matrix for the best sweep (provided that \verb+includeSim=TRUE+) and the net similarities of all sweeps are returned in this object. <>= dim(apres3@sim) apres3@sel apres3@netsimLev @ The result returned by leveraged affinity propagation can be used for further processing in the same way as a result object returned from \verb+apcluster()+, e.g., merging of clusters with agglomerative clustering can be performed. For heatmap plotting either the parameter \verb+includeSim=TRUE+ must be set in \verb+apcluster()+ or \verb+apclusterL()+ to make the similarity matrix available in the result object or the similarity matrix must be passed as second parameter to \verb+heatmap()+ explicitly. The heatmap for leveraged AP looks slightly different compared to the heatmap for affinity propagation because the number of samples is different in both dimensions. \begin{center} <>= heatmap(apres3) @ \end{center} Often selected samples will be chosen as exemplars because, only for them, the full similarity information is available. This means that the fraction of samples should be selected in a way such that a considerable number of samples is available for each expected cluster. Please also note that a data set of the size used in this example can easily be clustered with regular affinity propagation. The data set was kept small to keep the package build time short and the amount of data output in the manual reasonable. For users requiring a higher degree of flexibility, e.g., for a customized selection of the sample subset, \verb+apclusterL()+ called with a rectangular similiarity matrix performs affinity propagation on a rectangular similarity matrix. See the source code of \verb+apclusterL()+ with signature \verb+s=function+ and \verb+x=ANY+ for an example how to embed \verb+apclusterL()+ into a complete loop performing leveraged AP. The package-provided functions for distance calculation support the generation of rectangular similarity matrices (see Chapter \ref{sec:DistMat}). \section{Sparse Affinity Propagation}\label{sec:sparse} Starting with Version 1.4.0 of the \APCluster\ package, the functions \verb+apcluster()+, \verb+apclusterK()+, and \verb+preferenceRange()+ can also handle similarity matrices as defined by the \verb+Matrix+ package. While all dense matrix formats are converted to standard R matrices, sparse matrices are converted internally to \verb+dgTMatrix+ objects. For these sparse matrices, special implementations of the \verb+apcluster()+, \verb+apclusterK()+, and \verb+preferenceRange()+ are available that fully exploit the sparseness of the matrices and may require much less operations if the matrix is sufficiently sparse. In order to demonstrate that, consider the following example: <>= dsim <- negDistMat(x2, r=2) ssim <- as.SparseSimilarityMatrix(dsim, lower=-0.2) str(ssim) @ The function \verb+as.SparseSimilarityMatrix()+ converts the dense similarity matrix \verb+dsim+ into a sparse similarity matrix by removing all pairwise similarities that are -0.2 or lower. Note that this is only for demonstration purposes. If the size of data permits that, it is advisable to use the entire dense similarity matrix. Anyway, let us run sparse AP on this similarity matrix: \begin{center} <>= sapres <- apcluster(ssim, q=0) plot(sapres, x2) @ \end{center} The functions \verb+preferenceRange()+ and \verb+apclusterK()+ work in the same way as for dense similarity matrices: <>= preferenceRange(ssim) apclusterK(ssim, K=2) @ The functions \verb+aggExCluster()+ and \verb+heatmap()+ have been extended to be able to handle sparse matrices. Note, however, that these functions are not yet exploiting sparsity properly. Instead, they convert all inputs to dense matrices before processing them, which may lead to memory and/or performance issues for large data sets. \begin{center} <>= heatmap(sapres, ssim) @ \end{center} The above heatmap illustrates that values that are not stored in the sparse similarity matrix are filled up with low values (see the red areas between some pairs of samples that belong to different clusters). Actually, each missing value is replaced with \[ \min(s)-(\max(s)-\min(s))=2\cdot\min(s)-\max(s), \] where $\min(s)$ and $\max(s)$ denote the smallest and the largest similarity value specified in the sparse similarity matrix $s$, respectively. The same replacement takes place when \verb+aggExCluster()+ converts sparse similarity matrices to dense ones. \section{A Toy Example with Biological Sequences}\label{sec:bioseq} As noted in the introduction above, one of the goals of this package is to leverage affinity propagation in bioinformatics applications. In order to demonstrate the usage of the package in a biological application, we consider a small toy example here. The package comes with a toy data set \verb+ch22Promoters+ that consists of sub-sequences of promoter regions of 150 random genes from the human chromosome no.\ 22 (according to the human genome assembly hg18). Each sequence consists of the 1000 bases upstream of the transcription start site of each gene. Suppose we want to cluster these sequences in order to find out whether groups of promoters can be identified on the basis of the sequence only and, if so, to identify exemplars that are most typical for these groups. <>= library(Biostrings) filepath <- system.file("examples", "ch22Promoters.fasta", package="apcluster") ch22Promoters <- readDNAStringSet(filepath) ch22Promoters @ Obviously, these are classical nucleotide sequences, each of which is identified by the RefSeq identifier of the gene the promoter sequence stems from. In order to compute a similarity matrix for this data set, we choose (without further justification, just for demonstration purposes) the simple {\em spectrum kernel} \cite{LeslieEskinNoble02} with a sub-sequence length of $k=6$. We use the implementation from the \KeBABS\ package \cite{PalmeHochreiterBodenhofer15} to compute the similarity matrix in a convenient way: <>= library(kebabs) specK6 <- spectrumKernel(k=6) promSim <- getKernelMatrix(specK6, ch22Promoters) promSim[1:4, 1:4] @ Now we run affinity propagation on the similarity matrix: <>= promAP <- apcluster(promSim, q=0) promAP @ So we obtain \Sexpr{length(promAP@exemplars)} clusters in total. The corresponding heatmap looks as follows (note that we have to supply the similarity matrix, as it is not included by default if \verb+apcluster()+ is called with the similarity matrix; the reason is that, for large data sets, it is more memory-efficient not to make multiple copies of the similarity matrix; see also \ref{ssec:memeff}): \begin{center} <>= heatmap(promAP, promSim, Rowv=FALSE, Colv=FALSE) @ \end{center} Let us now run agglomerative clustering to further join clusters. <>= promAgg <- aggExCluster(promSim, promAP) @ The resulting dendrogram is given as follows: \begin{center} <>= plot(promAgg) @ \end{center} The dendrogram does not give a very clear indication about the best number of clusters. Let us adopt the viewpoint for a moment that 5 clusters are reasonable. <>= prom5 <- cutree(promAgg, k=5) prom5 @ The final heatmap looks as follows: \begin{center} <>= heatmap(prom5, promSim, Rowv=FALSE, Colv=FALSE) @ \end{center} \section{Similarity Matrices}\label{sec:DistMat} Apart from the obvious monotonicity ``the higher the value, the more similar two samples'', affinity propagation does not make any specific assumption about the similarity measure. Negative squared distances must be used if one wants to minimize squared errors \cite{FreyDueck07}. Apart from that, the choice and implementation of the similarity measure is left to the user. Our package offers a few more methods to obtain similarity matrices. The choice of the right one (and, consequently, the objective function the algorithm optimizes) still has to be made by the user. All functions described in this section assume the input data matrix to be organized such that each row corresponds to one sample and each column corresponds to one feature (in line with the standard function \verb+dist+). If a vector is supplied instead of a matrix, each single entry is interpreted as a (one-dimensional) sample. \subsection{The function \texttt{negDistMat()}} The function \verb+negDistMat()+, in line with Frey and Dueck, allows for computing negative distances for a given set of real-valued data samples. If called with the first argument \verb+x+, a similarity matrix with pairwise negative distances is returned: <>= s <- negDistMat(x2) @ The function \texttt{negDistMat()} provides the same set of distance measures and parameters as the standard function \verb+dist()+ (except for \verb+method="binary"+ which makes little sense for real-valued data). Presently, \verb+negDistMat()+ provides the following variants of computing the distance $d(\vec{x},\vec{y})$ of two data samples $\vec{x}=(x_1,\dots,x_n)$ and $\vec{y}=(y_1,\dots,y_n)$: \begin{description} \item[Euclidean:] \[ d(\vec{x},\vec{y})=\sqrt{\sum\limits_{i=1}^n (x_i-y_i)^2} \] use \verb+method="euclidean"+ or do not specify argument \verb+method+ (since this is the default); \item[Maximum:] \[ d(\vec{x},\vec{y})=\max\limits_{i=1}^n |x_i-y_i| \] use \verb+method="maximum"+; \item[Sum of absolute distances / Manhattan:] \[ d(\vec{x},\vec{y})=\sum\limits_{i=1}^n |x_i-y_i| \] use \verb+method="manhattan"+; \item[Canberra:] \[ d(\vec{x},\vec{y})=\sum\limits_{i=1}^n \frac{|x_i-y_i|}{|x_i+y_i|} \] summands with zero denominators are not taken into account; use \verb+method="canberra"+; \item[Minkowski:] \[ d(\vec{x},\vec{y})=\left(\sum\limits_{i=1}^n (x_i-y_i)^p\right)^{\frac{1}{p}} \] use \verb+method="minkowski"+ and specify $p$ using the additional argument $\verb+p+$ (default is \verb+p=2+, resulting in the standard Euclidean distance); \item[Discrepancy:] \[ d(\vec{x},\vec{y})=\max\limits_{1\leq\alpha\leq\beta\leq n}\left|\sum\limits_{i=\alpha}^{\beta} (y_i-x_i)\right| \] use \verb+method="discrepancy"+ \cite{Weyl16}. \end{description} The function \verb+negDistMat()+ then takes the distances computed with one of the variants listed above and returns $-1$ times the $r$-th power of it, i.e., \begin{equation}\label{eq:negDistMat} s(\vec{x},\vec{y})=-d(\vec{x},\vec{y})^r. \end{equation} The exponent $r$ can be adjusted with the argument \verb+r+. The default is \verb+r=1+, hence, one has to supply \verb+r=2+ to obtain negative squared distances as in the examples in previous sections. Here are some examples: <>= ex <- matrix(c(0, 0.5, 0.8, 1, 0, 0.2, 0.5, 0.7, 0.1, 0, 1, 0.3, 1, 0.8, 0.2), 5, 3, byrow=TRUE) ex @ Standard Euclidean distance: <>= negDistMat(ex) @ Squared Euclidean distance: <>= negDistMat(ex, r=2) @ Maximum norm-based distance: <>= negDistMat(ex, method="maximum") @ Sum of absolute distances (aka Manhattan distance): <>= negDistMat(ex, method="manhattan") @ Canberra distance: <>= negDistMat(ex, method="canberra") @ Minkowski distance for $p=3$ ($3$-norm): <>= negDistMat(ex, method="minkowski", p=3) @ If called without the data argument \verb+x+, a function object is returned that can be supplied to clustering functions --- as in the majority of the above examples: <>= sim <- negDistMat(r=2) is.function(sim) apcluster(sim, x1) @ Depending on the application, it might be advisable to center and/or scale the data in order to equalize the influence of all features/columns. This makes sense for standard vector space distances like the Euclidean distance and can easily be accomplished by the \verb+scale()+ method. The discrepancy distance, in contrast, is strongly dependent on the order to feature/columns and is rather aimed at comparing signals. For this measure, therefore, row-wise centering can be advisable \cite{BauerBodenhoferKlement96c}. This is easily done with the \verb+sweep()+ function: <>= ex2 <- matrix(c(0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1), 3, 8, byrow=TRUE) matplot(t(ex2), ylab="") matlines(t(ex2), type="s") negDistMat(ex2, method="discrepancy") ex2Scaled <- sweep(ex2, 1, rowMeans(ex2)) ex2Scaled matplot(t(ex2Scaled), ylab="") matlines(t(ex2Scaled), type="s") negDistMat(ex2Scaled, method="discrepancy") @ \subsection{Other similarity measures} The package \APCluster\ offers four more functions for creating similarity matrices for real-valued data: \begin{description} \item[Exponential transformation of distances:] the function \verb+expSimMat()+ works in the same way as the function \verb+negDistMat()+. The difference is that, instead of the transformation \eqref{eq:negDistMat}, it uses the following transformation: \[ s(\vec{x},\vec{y})=\exp\left(-\left(\frac{d(\vec{x},\vec{y})}{w}\right)^r\right) \] Here the default is \verb+r=2+. It is clear that \verb+r=2+ in conjunction with \verb+method="euclidean"+ results in the well-known {\em Gaussian kernel / RBF kernel} \cite{FitzGeraldMicchelliPinkus95,Micchelli86,SchoelkopfSmola02}, whereas \verb+r=1+ in conjunction with \verb+method="euclidean"+ results in the similarity measure that is sometimes called {\em Laplace kernel} \cite{FitzGeraldMicchelliPinkus95,Micchelli86}. Both variants (for non-Euclidean distances as well) can also be interpreted as {\em fuzzy equality/similarity relations} \cite{DeBaetsMesiar02}. \item[Linear scaling of distances with truncation:] the function \verb+linSimMat()+ uses the transformation \[ s(\vec{x},\vec{y})=\max\left(1-\frac{d(\vec{x},\vec{y})}{w},0\right) \] which is also often interpreted as a {\em fuzzy equality/similarity relation} \cite{DeBaetsMesiar02}. \item[Correlation:] the function \verb+corSimMat()+ interprets the rows of its argument \verb+x+ (matrix or data frame) as multivariate observations and computes similarities as pairwise correlations. The function \verb+corSimMat()+ is actually a wrapper around the standard function \verb+cor()+. Consequently, the \verb+method+ argument allows for selecting the type of correlation to compute (Pearson, Spearman, or Kendall). \item[Linear kernel:] scalar products can also be interpreted as similarity measures, a view that is often adopted by kernel methods in machine learning. In order to provide the user with this option as well, the function \verb+linKernel()+ is available. For two data samples $\vec{x}=(x_1,\dots,x_n)$ and $\vec{y}=(y_1,\dots,y_n)$, it computes the similarity as \[ s(\vec{x},\vec{y})=\sum\limits_{i=1}^n x_i\cdot y_i. \] The function has one additional argument, \verb+normalize+ (default: \verb+FALSE+). If \verb+normalize+ is set to \verb+TRUE+, values are normalized to the range $[-1,+1]$ in the following way: \[ s(\vec{x},\vec{y})=\frac{\sum_{i=1}^n x_i\cdot y_i}% {\sqrt{\big(\sum_{i=1}^n x_i^2\big)\cdot% \big(\sum_{i=1}^n y_i^2\big)}} \] Entries for which at least one of the two factors in the denominator is zero are set to zero (however, the user should be aware that this should be avoided anyway). \end{description} For the same example data as above, we obtain the following for the RBF kernel: <>= expSimMat(ex) @ Laplace kernel: <>= expSimMat(ex, r=1) @ Pearson correlation coefficient: <>= corSimMat(ex, method="pearson") @ Spearman rank correlation coefficient: <>= corSimMat(ex, method="spearman") @ Linear scaling of distances with truncation: <>= linSimMat(ex, w=1.2) @ Linear kernel: <>= linKernel(ex[2:5,]) @ Normalized linear kernel: <>= linKernel(ex[2:5,], normalize=TRUE) @ All of these functions work in the same way as \verb+negDistMat()+: if called with argument \verb+x+, a similarity matrix is returned, otherwise a function is returned. \subsection{Rectangular similarity matrices} With the introduction of leveraged affinity propagation, distance calculations are entirely performed within the \APCluster\ package. The code is based on a customized version of the \verb+dist()+ function from the \verb+stats+ package. In the following example, a rectangular similarity matrix of all samples against a subset of the samples is computed: <>= sel <- sort(sample(1:nrow(x1), ceiling(0.08 * nrow(x1)))) sel s1r <- negDistMat(x1, sel, r=2) dim(s1r) s1r[1:7,] @ The rows correspond to all samples, the columns to the sample subset. The \verb+sel+ parameter specifies the sample indices of the selected samples in increasing order. Rectangular similarity calculation is provided in all distance functions of the package. If the parameter \verb+sel+ is not specified, the quadratic similarity matrix of all sample pairs is computed. \subsection{Defining a custom similarity measure for leveraged affinity propagation}\label{ssec:leverSim} As mentioned in Section \ref{sec:lever} above, leveraged affinity propagation requires the definition of a similarity measure that is supplied as a function or function name to \verb+apclusterL()+. For vectorial data, the similarity measures supplied with the package (see above) may be sufficient. If other similarity measures are necessary or if the data are not vectorial, the user must supply his/her own similarity measure. The user can supply any function as argument \verb+s+ to \verb+apcluster()+, \verb+apclusterK()+, or \verb+apclusterL()+, but the following rules must be obeyed in order to avoid errors and to ensure meaningful results: \begin{enumerate} \item The data must be supplied as first argument, which must be named \verb+x+. \item The second argument must be named \verb+sel+ and must be interpreted as a vector of indices that select a subset of data items in \verb+x+. \item The function must return a numeric matrix with similarities. If \verb+sel=NA+, the format of the matrix must be \verb+length(x)+$\times$\verb+length(x)+. If \verb+sel+ is not \verb+NA+, but contains indices selecting a subset, the format of the returned similarity matrix must be \verb+length(x)+$\times$\verb+length(sel)+. \item Although this is not a must, it is recommended to properly set row and column names in the returned similarity matrix. \end{enumerate} As an example, let us revisit the sequence clustering example presented in Section \ref{sec:bioseq}. Let us first define the function that implements the similarity measure: <>= spectrumK6 <- function(x, sel=NA) { if (any(is.na(sel))) s <- getKernelMatrix(specK6, x) else s <- getKernelMatrix(specK6, x, x[sel]) as(s, "matrix") } @ Now we run leveraged affinity propagation on the \verb+ch22Promoters+ data set using this similarity measure <>= promAPL <- apclusterL(s=spectrumK6, ch22Promoters, frac=0.1, sweeps=10, p=promAP@p) promAPL @ So we obtain \Sexpr{length(promAPL@exemplars)} clusters in total. \subsection{Defining a custom similarity measure that creates a sparse similarity matrix} Since Version 1.4.0, similarity matrices may also be sparse (cf.~Section~\ref{sec:sparse}). Correspondingly, the similarity measures passed to \verb+apcluster()+ and \verb+apclusterK()+ may also return sparse similarity matrices: <>= sparseSim <- function(x) { as.SparseSimilarityMatrix(negDistMat(x, r=2), lower=-0.2) } sapres2 <- apcluster(sparseSim, x2, q=0) sapres2 str(similarity(sapres2)) @ Note that similarity measures passed to \verb+apclusterL()+ may not return sparse matrices. Instead, they must accept a \verb+sel+ argument and return a rectangular dense matrix (see Subsection~\ref{ssec:leverSim} above). \section{Miscellaneous} \subsection{Convenience vs.\ efficiency}\label{ssec:memeff} In most of the above examples, we called a clustering method by supplying it with a similarity function and the data to be clustered. This is undoubtedly a convenient approach. Since the resulting output objects (unless the option \verb+includeSim=FALSE+ is supplied) even includes the similarity matrix, we can plot heatmaps and produce a cluster hierarchy on the basis of the clustering result without the need to supply the similarity matrix explicitly. For large data sets, however, this convenient approach has some disadvantages: \begin{itemize} \item If the clustering algorithm is run several times on the same data set (e.g., for different parameters), the similarity matrix is recomputed every time. \item Every clustering result (depending on the option \verb+includeSim+) usually includes a copy of the similarity matrix. \end{itemize} For these reasons, depending on the actual application scenario, users should consider computing the similarity matrix beforehand. This strategy, however, requires some extra effort for subsequent processing, i.e.\ the similarity must be supplied as an extra argument in subsequent processing. \subsection{Clustering named objects}\label{ssec:names} The function \verb+apcluster()+ and all functions for computing distance matrices are implemented to recognize names of data objects and to correctly pass them through computations. The mechanism is best described with a simple example: <>= x3 <- c(1, 2, 3, 7, 8, 9) names(x3) <- c("a", "b", "c", "d", "e", "f") s3 <- negDistMat(x3, r=2) @ So we see that the \verb+names+ attribute must be used if a vector of named one-dimensional samples is to be clustered. If the data are not one-dimensional (a matrix or data frame), object names must be stored in the row names of the data matrix. All functions for computing similarity matrices recognize the object names. The resulting similarity matrix has the list of names both as row and column names. <>= s3 colnames(s3) @ The function \verb+apcluster()+ and all related functions use column names of similarity matrices as object names. If object names are available, clustering results are by default shown by names. <>= apres3a <-apcluster(s3) apres3a apres3a@exemplars apres3a@clusters @ \subsection{Computing a label vector from a clustering result} \label{ssec:labels} For later classification or comparisons with other clustering methods, it may be useful to compute a label vector from a clustering result. Our package provides an instance of the generic function \verb+labels()+ for this task. As obvious from the following example, the argument \verb+type+ can be used to determine how to compute the label vector. <>= apres3a@exemplars labels(apres3a, type="names") labels(apres3a, type="exemplars") labels(apres3a, type="enum") @ The first choice, \verb+"names"+ (default), uses names of exemplars as labels (if names are available, otherwise an error message is displayed). The second choice, \verb+"exemplars"+, uses indices of exemplars (enumerated as in the original data set). The third choice, \verb+"enum"+, uses indices of clusters (consecutively numbered as stored in the slot \verb+clusters+ --- analogous to the standard implementation of \verb+cutree()+ or the \verb+clusters+ field of the list returned by the standard function \verb+kmeans()+). \subsection{Customizing heatmaps} With Version 1.3.1, the implementation of heatmap plotting has changed significantly. The method now allows for many more customizations than before. Apart from changes in the argument list (see \verb+?heatmap+), the behavior of the method has changed as follows: \begin{itemize} \item Dendrograms are always plotted if possible. To switch off plotting of dendrograms, set \verb+Rowv+ and \verb+Colv+ to \verb+FALSE+ or \verb+NA+. If a dendrogram should only appear to the left of the heatmap, set \verb+Colv+ to \verb+FALSE+ or \verb+NA+. Analogously, set \verb+Rowv+ to \verb+FALSE+ or \verb+NA+ if a dendrogram should only be plotted on top of the plot (not possible if the similarity matrix is non-quadratic). \item Previously, \verb+rainbow()+ was used internally to determine how the bars illustrating the clusters are colored. Now users can determine the coloring of the color bars using the \verb+sideColors+ argument. For \verb+sideColors=NULL+, a meaningful color coding is determined automatically which still uses \verb+rainbow()+, but ensures that no similar colors are placed next to each other in the bar. \item The default font sizes for displaying row/column labels have been changed to make sure that they do not overlap. This can result in quite small labels if the number of samples is larger. In any case, the user can override the sizes by making custom settings of the parameters \verb+cexRow+ and \verb+cexCol+. Row and column labels can even be switched off entirely by setting \verb+cexRow+ and \verb+cexCol+ to 0, respectively. \end{itemize} Moreover, with Version~1.4.3, the possibility to add a color legend has been integrated. Here is an example with the vertical dendrogram switched off, an alternate color scheme, custom margins, and a color legend: \begin{center} <>= heatmap(apres2c, sideColors=c("darkgreen", "yellowgreen"), col=terrain.colors(12), Rowv=FALSE, dendScale=0.5, margins=c(3, 3, 2), legend="col") @ \end{center} The following example reverts to the default behavior prior to Version 1.3.1: consecutive rainbow colors, no dendrograms, and traditional sizing of row/column labels: \begin{center} <>= heatmap(apres2c, sideColors=rainbow(length(apres2c)), Rowv=FALSE, Colv=FALSE, cexRow=(0.2 + 1 / log10(nrow(apres2c@sim))), cexCol=(0.2 + 1 / log10(nrow(apres2c@sim)))) @ \end{center} \subsection{Adding a legend to plots of clustering results} As shown above, \verb+plot()+ called for an \verb+APResult+ object as first and a matrix or data frame as second argument plots the clustering result superimposed on a scatter plot (or a scatter plot matrix if the number of columns in the second argument exceeds 2). The clusters are shown in different colors, but it may not be clear which cluster is shown in which color. Therefore, it may be useful to show a legend along with the plot. The current implementation of \verb+plot()+ does not show a legend, since it is hard to determine where to actually place the legend such that no important cluster information gets occluded by the legend. Therefore, the user has to add legends manually. Actually, colors are always chosen according to a simple rule: \verb+plot()+ uses \verb+rainbow()+ to create a vector of colors that is exactly as long as the number of clusters in the \verb+APResult+ object. The following example shows how to plot a legend manually (with the clusters enumerated in the same way as in the \verb+APResult+ object): \begin{center} <>= plot(apres2a, x2) legend("bottomleft", legend=paste("Cluster", 1:length(apres2a)), col=rainbow(length(apres2a)), pch=19) @ \end{center} Note that this method is only meaningful for plotting clustering results superimposed on a 2D data set. For scatter plot matrices, this does not work in a meaningful way. In such a case, the user is rather recommended to create a legend separately (in a separate graphics device/file) and to display it along with the scatter plot matrix. To create only the legend, code like the following could be used: \begin{center} <>= plot.new() par(oma=rep(0, 4), mar=rep(0, 4)) legend("center", legend=paste("Cluster", 1:length(apres2c)), col=rainbow(length(apres2c)), pch=19) @ \end{center} It still may be necessary to strip off white margins for further usage of the legend. \subsection{Implementation and performance issues}\label{ssec:perf} Prior to Version 1.2.0, \verb+apcluster()+ was implemented in R. Starting with version 1.2.0, the main iteration loop of \verb+apcluster()+ has been implemented in C++ using the Rcpp package \cite{EddelbuettelFrancois11}, which has led to a speedup in the range of a factor or 9--10. Note that \verb+details=TRUE+ requires quite an amount of additional memory. If possible, avoid this for larger data sets. The asymptotic computational complexity of \verb+aggExCluster()+ is $\mathcal{O}(l^3)$ (where $l$ is the number of samples or clusters from which the clustering starts). This may result in excessively long computation times if \verb+aggExCluster()+ is used for larger data sets without using affinity propagation first. For real-world data sets, in particular, if they are large, we recommend to use affinity propagation first and then, if necessary, to use \verb+aggExCluster()+ to create a cluster hierarchy. \subsection{Using APCluster in Conjunction with KeBABS} The example in Section~\ref{sec:bioseq} makes use of the \KeBABS\ package \cite{PalmeHochreiterBodenhofer15}. In previous versions, the two packages defined the \verb+heatmap()+ methods as S4 generics in conflicting ways. For this reason, the order in which the two packages were loaded mattered, and the \verb+heatmap()+ methods of the package that was loaded first was no longer available. This conflict has been resolved with \KeBABS\ development version 1.5.4. The first official release solving this issue was 1.6.0, which was released as part of Bioconductor 3.3 on May 4, 2016. \section{Special Notes for Users Upgrading from Previous Versions} \subsection{Upgrading from a version older than 1.3.0} Version 1.3.0 has brought several fundamental changes to the architecture of the package. We tried to ensure backward compatibility with previous versions where possible. However, there are still some caveats the users should take into account: \begin{itemize} \item The functions \verb+apcluster()+, \verb+apclusterK()+, and \verb+aggExCluster()+ have been re-im\-ple\-ment\-ed as S4 generics, therefore, they do not have a fixed list of arguments anymore. For this reason, users are recommended to name all optional parameters. \item Heatmap plotting has been shifted to the function \verb+heatmap()+ which has now been defined as an S4 generic method. Previous methods for plotting heatmaps using \verb+plot()+ have been partly available in Versions 1.3.0 and 1.3.1. Since Version 1.3.2, they are no longer available. \end{itemize} \subsection{Upgrading to Version 1.3.3 or newer} Users who upgrade to Version 1.3.3 (or newer) from an older version should be aware that the package now requires a newer version of Rcpp. This issue can simply be solved by re-installing Rcpp from CRAN using \verb+install.packages("Rcpp")+. \subsection{Upgrading to Version 1.4.0} The function \verb+sparseToFull()+ has been deprecated. A fully compatible function \verb+as.DenseSimilarityMatrix()+ is available that replaces and extends \verb+sparseToFull()+. \section{Change Log} \begin{description} \item[Version 1.4.8:] \hfill \begin{itemize} \item correction of \verb+aggExCluster()+ C++ code \item correction of link to Affinity Propagation website at University of Toronto \item removed obsolete help file \verb+ch22Promoters.Rd+ \end{itemize} \item[Version 1.4.7:] \hfill \begin{itemize} \item correction of \verb+aggExCluster()+ C++ code to avoid compilation error on Solaris \end{itemize} \item[Version 1.4.6:] \hfill \begin{itemize} \item \verb+aggExCluster()+ now implemented in C++ instead of R in order to improve speed \item further correction of conditional loading of package suggested by vignette \end{itemize} \item[Version 1.4.5:] \hfill \begin{itemize} \item loading of suggested Bioconductor packages now performed conditionally to avoid problems when building the package on some platforms that do not have the Bioconductor packages installed \end{itemize} \item[Version 1.4.4:] \hfill \begin{itemize} \item changed dependency to suggested package \verb+kebabs+ to version of at least 1.5.4 for improved interoperability \item bug fix in \verb+as.dendrogram()+ method with signature `\verb+AggExResult+' \item added discrepancy metric to distance computations and updated \verb+src/distanceL.c+ to new version \item registered C/C++ subroutines \item minor change in the vignette template \item moved \verb+NEWS+ to \verb+inst/NEWS+ \item added \verb+inst/COPYRIGHT+ \end{itemize} \item[Version 1.4.3:] \hfill \begin{itemize} \item added optional color legend to heatmap plotting; in line with this change, some minor changes to the interface of the \verb+heatmap()+ function \item corresponding updates of help pages and vignette \end{itemize} \item[Version 1.4.2:] \hfill \begin{itemize} \item switched sequence kernel example in vignette from \verb+kernlab+ to \KeBABS\ package \item workaround to ensure that all \verb+apcluster*()+ methods are able to process \verb+KernelMatrix+ objects (cf. \KeBABS\ package) \item replaced data set \verb+ch22Promoters+ by plain text file (FASTA format) in \verb+inst/examples+ \item bug fix in the \verb+heatmap()+ method \item vignette engine changed from Sweave to knitr \end{itemize} \item[Version 1.4.1:] \hfill \begin{itemize} \item fixes in C++ code of sparse affinity propagation \end{itemize} \item[Version 1.4.0:] \hfill \begin{itemize} \item added \verb+apcluster()+ method for sparse similarity matrices; as a consequence, the package now imports the \verb+Matrix+ package and is now also able to handle non-sparse matrix classes defined by the \verb+Matrix+ package. Moreover, similarity functions supplied to the \verb+apcluster()+ method may now also return any matrix type defined by the \verb+Matrix+ package. \item fix of \verb+apcluster()+ for dense matrices to better support \verb+-Inf+ similarities \item added \verb+apclusterK()+ method for sparse similarity matrices \item \verb+preferenceRange()+ is now an S4 generic; re-implementation in C++ to speed up function; changed handling of \verb+-Inf+ similarities for consistency with sparse version. \item added \verb+preferenceRange()+ methods for sparse matrices and dense matrix objects from the \verb+Matrix+ package. \item new conversion methods implemented for converting dense similarity matrices to sparse ones and vice versa; consequently, \verb+sparseToFull()+ is marked as deprecated. \item adaptation of \verb+heatmap()+ function for improved handling of \verb+-Inf+ similarities \item adaptations of signatures of \verb+[+ and \verb+[[+ accessor methods \item renamed help page of methods for computing similarity matrices to `similarities' in order to avoid confusion with the accessor method \verb+similarity()+. \item corresponding updates of help pages and vignette \end{itemize} \item[Version 1.3.5:] \hfill \begin{itemize} \item memory access fixes in C++ code called from \verb+apclusterL()+ \item minor updates of vignette \end{itemize} \item[Version 1.3.4:] \hfill \begin{itemize} \item added \verb+sort()+ function to rearrange clusters according to sort criterion; note that this is an S3 method (see help page for explanation) \item improvements and bug fixes of \verb+apclusterL()+ method for signature (\verb+s="matrix"+, \verb+x="missing"+) \item performance optimizations of \verb+apcluster()+ and \verb+apclusterL()+ \item plotting of clustering results superimposed in scatter plot matrices now also works for `\verb+AggExResult+' objects \item improvements of consistency of error and warning messages \item according adaptations of documentation and vignette \item adapted dependency and linking to Rcpp version 0.11.1 (to avoid issues on Mac OS) \item minor correction of package namespace \end{itemize} \item[Version 1.3.3:] \hfill \begin{itemize} \item adapted dependencies and linking to Rcpp version 0.11.0 \item cleared up package dependencies \end{itemize} \item[Version 1.3.2:] \hfill \begin{itemize} \item plotting of clustering results extended to data sets with more than two dimensions (resulting in the clustering result being superimposed in a scatterplot matrix); the variant that \verb+plot()+ can be used to draw a heatmap has been removed. From now on, \verb+heatmap()+ must always be used. \item improved \verb+NA+ handling \item correction of input check in \verb+apcluster()+ and \verb+apclusterL()+ (previously, both functions issued a warning whenever argument \verb+p+ had length $> 1$) \item corresponding updates and further improvements of help pages and vignette \end{itemize} \item[Version 1.3.1:] \hfill \begin{itemize} \item re-implementation of \verb+heatmap()+ method: dendrograms can now be plotted even for \verb+APResult+ and \verb+ExClust+ objects as well as for cluster hierarchies based on prior clusterings; color bars can now be switched off and colors can be changed by user (by new \verb+sideColor+ argument); dendrograms can be switched on and off (by \verb+Rowv+ and \verb+Colv+ arguments); \item added \verb+as.hclust()+ and \verb+as.dendrogram()+ methods \item added new arguments \verb+base+, \verb+showSamples+, and \verb+horiz+to the \verb+plot()+ method with signature (\verb+x="AggExResult"+, \verb+y="missing"+); moreover, parameters for changing the appearance of the height axis are now respected as well \item streamlining of methods (redundant definition of inherited methods removed) \item various minor improvements of code and documentation \end{itemize} \item[Version 1.3.0:] \hfill \begin{itemize} \item added Leveraged Affinity Propagation Clustering \item re-implementation of main functions as S4 generic methods in order to facilitate the convenient internal computation of similarity matrices \item for convenience, similarity matrices can be stored as part of clustering results \item heatmap plotting now done by \verb+heatmap()+ which has been defined as S4 generic \item extended interface to functions for computing similarity matrices \item added function \verb+corSimMat()+ \item implementation of \verb+length()+ method for classes \verb+APResult+, \verb+AggExResult+, and \verb+ExClust+ \item added accessor function to extract clustering levels from \verb+AggExResult+ objects \item correction of exemplars returned by \APCluster\ for \verb+details=TRUE+ in slot \verb+idxAll+ of returned \verb+APResult+ object \item when using data stored in a data frame, categorical columns are now explicitly omitted, thereby, avoiding warnings \item all clustering methods now store their calls into the result objects \item updates and extensions of help pages and vignette \end{itemize} \item[Version 1.2.0:] \hfill \begin{itemize} \item reimplementation of \verb+apcluster()+ in C++ using the Rcpp package \cite{EddelbuettelFrancois11} which reduces computation times by a factor of 9-10 \item obsolete function \verb+apclusterLM()+ removed \item updates of help pages and vignette \end{itemize} \item[Version 1.1.1:] \hfill \begin{itemize} \item updated citation \item minor corrections in help pages and vignette \end{itemize} \item[Version 1.1.0:] \hfill \begin{itemize} \item added exemplar-based agglomerative clustering function \verb+aggExCluster()+ \item added various plotting functions for dendrograms and heatmaps \item extended help pages and vignette according to new functionality \item added sequence analysis example to vignette along with data set \verb+ch22Promoters+ \item re-organization of variable names in vignette \item added option \verb+verbose+ to \verb+apclusterK()+ \item numerous minor corrections in help pages and vignette \end{itemize} \item[Version 1.0.3:] \hfill \begin{itemize} \item Makefile in \verb+inst/doc+ eliminated to avoid installation problems \item renamed vignette to ``\verb+apcluster.Rnw+'' \end{itemize} \item[Version 1.0.2:] \hfill \begin{itemize} \item replacement of computation of responsibilities and availabilities in function \verb+apcluster()+ by pure matrix operations (see \ref{ssec:perf} above); traditional implementation \`a la Frey and Dueck still available as function \verb+apclusterLM+; \item improved support for named objects (see \ref{ssec:names}) \item new function for computing label vectors (see \ref{ssec:labels}) \item re-organization of package source files and help pages \end{itemize} \item[Version 1.0.1:] first official release, released March 2, 2010 \end{description} \section{How to Cite This Package} If you use this package for research that is published later, you are kindly asked to cite it as follows: \begin{quotation} \noindent U.\ Bodenhofer, A.\ Kothmeier, and S.\ Hochreiter (2011). APCluster: an R package for affinity propagation clustering. {\em Bioinformatics} {\bf 27}(17):2463--2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. \end{quotation} Moreover, we insist that, any time you cite the package, you also cite the original paper in which affinity propagation has been introduced \cite{FreyDueck07}. To obtain Bib\TeX\ entries of the two references, you can enter the following into your R session: <>= toBibtex(citation("apcluster")) @ \bibliographystyle{plain} \bibliography{apcluster} \end{document} apcluster/vignettes/apcluster.bib0000644000176200001440000001036013527026237016753 0ustar liggesusers@inproceedings{BauerBodenhoferKlement96c, author = {P. Bauer and U. Bodenhofer and E. P. Klement}, title = {A fuzzy algorithm for pixel classification based on the discrepancy norm}, booktitle = {Proc. 5th IEEE Int. Conf. on Fuzzy Systems}, volume = {{III}}, address = {New Orleans, LA}, pages = {2007--2012}, month = {September}, year = 1996, doi = {10.1109/FUZZY.1996.552744} } @article{BodenhoferKothmeierHochreiter11, author = {U. Bodenhofer and A. Kothmeier and S. Hochreiter}, title = {{APCluster:} an {R} package for affinity propagation clustering}, journal = {Bioinformatics}, volume = 27, number = 17, pages = {2463--2464}, year = 2011, doi = {10.1093/bioinformatics/btr406} } @article{DeBaetsMesiar02, author = {B. {De Baets} and R. Mesiar}, title = {Metrics and {$T$}-equalities}, journal = {J. Math. Anal. Appl.}, year = 2002, volume = 267, pages = {531--547} } @article{EddelbuettelFrancois11, author = {D. Eddelbuettel and R. Fran\c{c}ois}, title = {Rcpp: seamless {R} and {C++} integration}, journal = {J. Stat. Softw.}, volume = 40, number = 8, pages = {1--18}, year = 2011 } @article{FitzGeraldMicchelliPinkus95, author = {C. H. FitzGerald and C. A. Micchelli and A. Pinkus}, title = {Functions that preserve families of positive semidefinite matrices}, journal = {Linear Alg. Appl.}, year = 1995, volume = 221, pages = {83--102} } @article{FreyDueck07, author = {B. J. Frey and D. Dueck}, title = {Clustering by passing messages between data points}, journal = {Science}, volume = 315, number = 5814, pages = {972--976}, year = 2007 } @article{JainMurtyFlynn99, author = {A. K. Jain and M. N. Murty and P. J. Flynn}, title = {Data clustering: a review}, journal = {ACM Comput. Surv.}, year = 1999, volume = 31, number = 3, pages = {264--323} } @article{KaratzoglouSmolaHornikZeileis04, title = {kernlab -- An {S4} Package for Kernel Methods in {R}}, author = {A. Karatzoglou and A. Smola and K. Hornik and A. Zeileis}, journal = {J. Stat. Softw.}, year = 2004, volume = 11, number = 9, pages = {1--20} } @incollection{LeslieEskinNoble02, author = {C. Leslie and E. Eskin and W. S. Noble}, title = {The spectrum kernel: a string kernel for {SVM} protein classification}, editor = {R. B. Altman and A. K. Dunker and L. Hunter and K. Lauderdale and T. E. D. Klein}, booktitle = {Pacific Symposium on Biocomputing 2002}, pages = {566--575}, publisher = {World Scientific}, year = 2002 } @article{Micchelli86, author = {C. A. Micchelli}, title = {Interpolation of scattered data: Distance matrices and conditionally positive definite functions}, journal = {Constr. Approx.}, year = 1986, volume = 2, pages = {11--22} } @incollection{MichalskiStepp92, author = {R. S. Michalski and R. E. Stepp}, title = {Clustering}, editor = {S. C. Shapiro}, booktitle = {Encyclopedia of artificial intelligence}, publisher = {John Wiley \& Sons}, address = {Chichester}, year = 1992, pages = {168--176} } @article{PalmeHochreiterBodenhofer15, author = {J. Palme and S. Hochreiter and U. Bodenhofer}, title = {{KeBABS}: an {R} package for kernel-based analysis of biological sequences}, journal = {Bioinformatics}, year = 2015, volume = 31, number = 15, pages = {2574--2576}, doi = {10.1093/bioinformatics/btv176} } @book{SchoelkopfSmola02, author = {B. Sch\"olkopf and A. J. Smola}, title = {Learning with Kernels}, year = 2002, publisher = {MIT Press}, series = {Adaptive Computation and Machine Learning}, address = {Cambridge, MA} } @article{Ward63, author = {J. H. {Ward Jr.}}, title = {Hierarchical grouping to optimize an objective function}, journal = {J. Amer. Statist. Assoc.}, volume = 58, pages = {236--244}, year = 1963 } @article{Weyl16, author = {H. Weyl}, title = {{\"U}ber die {G}leichverteilung von {Z}ahlen mod. {E}ins}, journal = {Math. Ann.}, volume = 77, pages = {313--352}, year = 1916 } apcluster/vignettes/JKU_EN_noName.pdf0000644000176200001440000001166213527026237017304 0ustar liggesusers%PDF-1.5 % 4 0 obj << /Length 32 /Filter /FlateDecode >> stream x+2T0Bk˥kO4 endstream endobj 1 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./JKU_EN_noName.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 7 0 R /BBox [0 0 557 180] /Resources << /ProcSet [ /PDF ] /ExtGState << /R8 8 0 R >>/Properties << /R5 9 0 R >>>> /Length 2912 /Filter /FlateDecode >> stream xuZK$ ) [K^j!m|~rȖLr=ߟޅ?Ƿ_}PZrw-H Z/ZHֵȿICp9>.?) V+~KQXUvojW%TJu+I鄜|??$'.a]P8R-Dkr"RRsqjΟU?<"eJӾxq"‰,dIi$ } 4wYIqmBKe ] 8jX{K.{h--v-o2\#6k> 1\wEvKԥ3kOm1x^~Ku_5Z&Pե|JrkLؤJϹ̹< .Y_WC!#ѥJ4qq,A3ău4Z:Cpt"k06(5fƅQltH>U f&Ӳb,ҜRm0oiH5 P̈4Ig JJl9TsjPܥ-8oWF hە@P/j͕9&q]alӨ/jO QCѥNC XŻj` )/ZPq J Ϊ o?-ƆiЬ/in$Dq`6V(~!pr 62rRs yvB4i%jyٵݽ{WZ{ -vG'wJ4 8![t Sp$I'nd;W,PyAL^(HEOC❥Lc6bm2hs) `+mҎ RkZ\ L:exڄ|( 0XꟜł{?Vy"[a#yz[fPS6ϥmu M Z'vz(KWӛsED$\NBC4]57\X9y(iNQWdCӑ5?U\5 Fi@ 2%zZ0xi%c7`E$N+D1f0MKOx(PA Q ^mOljoJz/(S<=Z PSa^a6~g&8k&4hUR:!{TTbw`Ÿ/4ΌB}=or;*=_pXl0ń X|8Z{>n򏠽]њDFj%(,ocyO Z(o45axT\{o~{nP~E? yӚ!ՑqE+seGB M,BW@D (!Y$1k3oOMنX~SC8mƟ􉧗%D> |*͝ϳ'$Mhq|羁2J=A}fٮȢY,@J۬Oٍ H ZʍʄY:Ԫ2|ʩ1CQDXvȆϾ1-&ղQ>?p{Sjă7[5eZԇosT=dJk-jL@XA.6 _4TmT9gSK5wT]eb3i&FmɬɾW{hq.9~=pi<ʋDְr+cpK(8[]Ak@ E@>H+SLǬuf`,U^26+|Ti3}E9<>Zowj-}drԍt"N2 q.&LȯٖY=|lrcC7nm~F DœhfBefy~ʹ6 AGen5Dv޾>m5 ZxfKxE6+AYZ~xז endstream endobj 10 0 obj << /Filter /FlateDecode /Subtype /XML /Type /Metadata /Length 602 >> stream xWn0WXZ [,(Ͷ4%T-&b0%k= 5Y*S.7x;Jܦy4<~?Q\uy[5ޱO擰!MVdBSd2HY -A]dG|NT) ! |^p0(fnY Kŧ"kuA l6sTy qum\ΫW-Eϱ+B*mLW֑eMZU0A!T4qx=l/RvUrueRp7ExDYˋ`VfX4_P-"o#ƳkɿE G VRR֕.߯/;{xbu[":pyr`#>c6 Y{/3敦9$̨>- 2^mTKE9Pmmd56 _ξ|<\~b -(9;>8$ #VG9P?ϔspsR!yh 8ONh`40 F7 "7M"LD endstream endobj 12 0 obj << /Producer (pdfTeX-1.40.16) /Creator (TeX) /CreationDate (D:20160217113431+01'00') /ModDate (D:20160217113431+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) kpathsea version 6.2.1) >> endobj 5 0 obj << /Type /ObjStm /N 7 /First 40 /Length 322 /Filter /FlateDecode >> stream xڅ[k0)ΛAӋmG:\gQ6vFT'o>Drpz! p^ Tl445xT0g\պrUStH,ĭ>= Z3WJ&Wt'#L6u^{+Z0.G(n=`z]sp!_eavdx>|kH)΄ZaИmgZr)3L=K(#0~~e@}$ 2"̣;Xi-"a?!#߰?Ȋ endstream endobj 13 0 obj << /Type /XRef /Index [0 14] /Size 14 /W [1 2 1] /Root 11 0 R /Info 12 0 R /ID [<5D14B58E5EB27A34475C89E5AE54310F> <5D14B58E5EB27A34475C89E5AE54310F>] /Length 53 /Filter /FlateDecode >> stream x;ѹ~DXSbb! ;;Z6~$F endstream endobj startxref 4740 %%EOF apcluster/vignettes/bioinf-bar.png0000755000176200001440000020330613527026237017020 0ustar liggesusersPNG  IHDR6 ` pHYs  tIME5;:itEXtCommentCreated with The GIMPd%n IDATxy^W}sfm,˖l!/`iWVhKR6K_@B)BҐ pFƖe[ޭwk4F۬33Yf4%͌~svοR !ͳ|q?)EQN n_{E(#!k?eD!1Fu(#-ǎn<DUI*hMk:T%Fw:Pўy7C_DFsX|G%*J)-0rOuGRZgOvcL!DCN `ڶgJui>"Z`i9~c=L%F|a6C!Bu/DyǾ=2J#WJKrE!0Bڃ_{pZjF/{GpD5K?H)gTR"ZB'WX2MD \?ǿb1eɊdD(tH'Oph M>t+ś'.)?Y!.) ݻoz;ڴrK[b1==J;&,!MmCyJ! $v%JgJD cxhܷZ;B,ƬX !c !b )t1U5KD W~Ы[w\tu(>.&t]RHZJh'V߻Ǐn}&s1B,f 1s\2 Z#Dpg{xsc&`%vVj,m>9KD D]c\rJ%_}+]M>Lh(Oc'?_״D9O!\9R/#'6G۸⼭;?UWWeDP[ZھoCHx%ܲZGPID 'hZkqxO1%f.R6eZ 0̥lc[VIl7?=C'[Sbn:Pm =-4%V-[4sJD 'OeΖ}=+HJ#Vz*ž[b۸k\z苈8Z}uooz )*ŻT-Ki!B1T5%30=C)^?Z9$}R8O|c+6ĶcPr\ !CH} Q?+}RW>'8D7#Rjjxp?Ϗl}&|lYb梲CwlaƘ|Kch7`둧vx/[?47»~y-p|{WǮǷ>{ġ\q_r&S8]'m敏m}}nurO,,̈hٱ'g76okS[[;\0]/?3Lv2#JL)BJ)ͭ-+0sI LJ!׌=a3j/to?GKZ!b )!j{:[0qG)K4s×?7=CGc JN)Z-%R!R&80G !B)l8K !TFF]3k.igMLiji~_?#C =1Qb!8[ODJJ!SwJ!y%%JV+IcaX8avCݍ1&5zw,ƫ&L/ JgMi?}=wRѣd$˧7v`gwe[WG%+=*1ԓCHb|JNg)dBc&%g !5R\1s]aV1 B"8߾s'߻zj2bؾ;=Mm=Mޘ2R֜yT6KeK-Ē Kc,}pE Y.@"Z3Y_@[)=Nr!4OԆ-q3JD 0mnn2eR':Z75o3coQ_;)?kc- - זmR>o8uۇHI !~O)s+O9֑CD 0~qkC$+wǛ]==~e9)Ǧd^vFiR !℺}oSOv#|B ᅽ뮛}\Hֵ6߷7?zNbƓ AH٫w2C13U|fKblo=²s5p$8b6b#ק~kjjfK)k~tdz?X{+AՏG}L*c#rB.gU?3j(;bhK1 #P+temӖoӊ#'ePb鹧x`Itb pؒXf`+J n9=N-(rdw< eZ״ןzjK;ZҳMJ=+TdƦC&8.f9˂`Ba21w,x띍7\7)8Y`4Nt~~]%F;u}[wvKWto6J !4bJw~JOJ)hYKX4dz7~.4nTåHD 0b2'w+˷ }ozWzi߱c!b#'3%TJC k^W{+{ΩgZRyڇQEұe}~_y%mrY8%- +ވԟ}]3QJk?87{q`8Bjmc{ǿwi 91ƯѢ YL5ο|>tз<ЖM'ua\B.ic&ʕw>8_N`PEr'tk?9iָutuum<Éζ8:)1tZzwCn錅}/\:cAΗ3#DټBK N>iԹ޾жW߽B,?P1cEJ*bC=K1TS"f-Ia.Ϧd\6ڏ.yo]] BF,mĞtsgΎ1Y[6оg񎓽BJpӛSE'4%lK1)*1_f[ !/dBXK,ĔF-~/׍kyD#ƞbjKbxy'߾L8Eή#?۞[=A!Dx4RAf:m9fSf{ۓ;yD)F6~-m̾| ΗED 0 M'}fŗ~ڏ-{ʝ-=Ozm]>xF'X8yNbzos墉78\.-0>?!k6Ƿ}T7`ˡu>ec۞Ka&1&Տ_:}O]|F[K)p>q駿[g0pLmr/^{w?䎖]uNh}u^xEc/|1yZ!NsΓ_}w|0Z*@ƳOw 7j'o[]3qu/皈`Lixܖ|z`7=GoD*ٿ56=G7?tp:UO|]>m o⛦5LrΗ#T8ϾoYH !B*rBmZtBŬu/|#1>J}CH!ƐguNSETz<@1?zՇkb.|9j8̅cwG!BKOG ~R|֖_~sͿucvRJ-zs'PbXJO93K!9%cb!3Jc3 IeKÍ}?^`)%Uο 1ftdS--=-'we節L);WpÏ߻+URƲږ4*ϔ\8Te1+WO)rZxv+0j՟EOH I坶3ЮwG6Ԍ2Z֧*ZNY8KyXDs!VdѵL)W}mPSJ?zϿmyRGQh>g7ͺ)GBg{}EӘBVЛtϥc|`@:D'JC b!$eZBߍi 5¬c/Ժuvu8׾ں:©jDOR~ }LUϿzɔi0h͟|/8)B)pu_/8atVm'~}?–;T԰!}]\/_&eKE04hgp IDAT޻.2﷯ՎN>Gzq8_'P3ݗ|7];r UD 0>?镁!vNqo__?6alٱ聧v5qyEQM͙0oм[H L'[OmiLGYKmwb2اzso_q k;?m>y+39x欮6^ոޱlҢi z|Gg i,ňl K6lP3m;r|CCM.7kRv7*}8X+{:1E.^2WL7ϰ#|_!cH%i,DʈJR!ұ\1qu-llA-]kׯپ=BL)wL!Ē8XC,ddeWJYcHǐMr)4%o|KD 0$|VId)$TAR)2a$|BH!~^|>Ooyɓ1Ē*PFySH1SPR1O*b'w]5y} w"Z!᱗_~uPrZ+x7_dɼcGVPK+{OEN;Co"+ߴ{}{gxN2yv'ڼq]흝[14ต3{+e[FL3vɼy.H Zn]zEm.>qSm !KCb*SHpCJٞ=1Ɣ213S1|-G&dy&5Ξ~/|C߷{STbiLJ lҖx4*ZMh֬EgP9 5+׭[]HiɄdMZBiJILI5e3ܒUG1iv躁EgG#knyБc'JaλSS*VR**ʗ+s1~Les^qѼ8iDCԏyvi#*3DXun14u &O8߳+w:pD[[ )I` *=~:SŸTތIj~Ѣ\.dd ]oxvƒHP)PXuHYϲT(`2zԨ/U gL3DRJ5ɓ2yS0kvܰkwk{{ŒbSBB!1WLcPQ_.%= qZZ"\GUG9R?aѬY^߻oOc?{+R93Շ43X"p‹̝;s$_ih׶l['bi@t'stV93$Ť c_p4$6z wϖc!"˥bǍ㊥s/J &\+u?㰕B$o&% l8&7u„-xV 'N^ptg|iώG,$2аR~~gN^uL,)o.74\ss7۱jJU=SsXCeEszeGrp>Umصk;қ+eX. Z\? -1BaΞ}E9V8?D}=KGTUIhG{( ZLclώJ}fBi˜ɓ1k"Z [wk{ӑ#guw 6qs玛hw~ja񉫙'S h>#ߎY_/R3 eq6z$8u%uYutcLj1$~=":Ui?WVb[q'#NBCy\T$j!$s3TNu$$jNW$!@K_~K>%-#ҥk?>X,X;$ne윆Bb+RFu ]fS.5C8{oɣ>-w+Ob%TtUԛ'}!׼u Փgiu) !-/?v̈o"ZG׮V Kq_Z>6ҙ3QvkfR|bM ឞFGG)g G_{}iekds?N}V˷ǻڟ=yQ< ŋoV Ű61$1nNcP'ekΘd90pfe}:Uյ{1ZI$u[Ԙ-w99008pyrutRrQ{9h_oza!2064|pwskssS&h/ &~5:d$["Zh߿zc*B$IeHR)NRxo=pOwS.YR*.ݺ}ŕ}*T:_~/e# !BsC}*!-s?xR) TZbyHEKR\穙ig4rL_$IBX<.-ռENrRY:ֹKue'?6ݭD\. tم|hÑǏ<7v*r{GoY*%!$~ƒZ'{bdD9!8\?sTCHa=6 IB.jj© v+kwJam#=F=.K9k^[=mŰؐ<{jc*<-!l!: !$ĸs\6,5L==x{憆;N:P/^3=5?_X/CU[0_ävBC 18=<864z?{ 7nlIJI%5Ih!jobdd}wuembf.],KkT?|Zq鸚]橙TͳtS'ۛU21"ZCar~~$!IuIӞ8nơ=d1 ~+W/߾](ce'T^*sb+*[8ʕ UY/!Fz{dž9 ~BUH:Hjٶ{Θ$ўSCCm}>~efTb|z+/Eh*=8T5:9/jki>sjp`Om_,,MT/Bz::5w}j,uX__=sqnJ{I4TWyhG7o^lб#=]-m͇sA$s{yw_/,Caɣ#GT;%/νqgH55/o7:r!Y2>څ $ĊW-n_=<-Arzq=>SIHbt{(OfI%L&~ inm~V&t<{Ѷ#Ox/CjBc3ILuK<1 I1$lޢl@R>2P(o̎νr?̫V8(?*[g""d+%l匔$!"IJ$yn#1GwJZ֝vaRHI^Pg͓K*޴QRl `wןOOD p`'"ݣNȦVnH uwr#ϲRIBX[___im|a{_!ٷ| f"Z~bvnvPK:e;Υ+$==_|Lߑ#uK/Ν[+cHBekRz!vcurvKҩYu/O|}N"Z?"<%$Te|ԋh!ܐ?O?W*&g~{bX*[귯h4R#j//9fU4V=Ho79P?ϮZ,*c$R!~'O2; |Xή U)V@JR+&Ժz.BUNƾ#/yhOoCBD p0G?^/?<1_ʑbk?ybT$aeihmj|1pD8FBk΀|N 666Xյյ[3'oLO/Y5eUvl&{Ao4! tNWc:;3%ݶ^X_\]:9sK{EljunܖTS1[Օ$T4wl&2}oorHk^+C6Ǟ=fb3-u:ZZKffVVTqƚ_,%3 K&_^llhH",:UN+=]1g>ݝɊza}im;]snsbI !|X($2157 vu=;8w?r8V`G<<۷OZ |#\{sho^1=P#*%CR9 ՒQV&KEo +!I./ܽ{czzlh 'O464e̫VO^;ɏC5Ybq*Pdlh3775ZOT*n\}TImd!5۫DŽP^s=}'G/`}ai Ixǟd2H$ ꫿O:lܽVsڽ$Iƿ<$\6-W>˟~GFbVS1Nu/.]]ԕg+LQko\8ug%ookIzcExfUIzβ#e? |{gzzgfW !N}c,Oq*[\ov|Gz{/F{=^ʚ;bOw ԙL&cMKKӱ޾$֊R$U(抟 vu}BɖU IDAT\6ndr8A !rr`ӧug|npopozr3 bl7lOrzv5&Ɛ$*R)3wνyc#C=v"81DxĪ8ljmPɞKn_Z+oQ !e(1 Z5 I%eX+ &մ3Ow?){w]rS ύ_`:- wYdZ[Z[ڏLt}0u{bjamc϶CQ63Yb=nL yS$qꉕy/[mk7.}O?v.'-A($őG ZCadt{报b Uz?cUܧoiyu ߿z}sw`x -* :urĢN M M z٩n߸9=V(lF:J@!֚0>$ K++o޺tk|zǏBm"ZS-M<{6X,ߐZ)}<9kKKU;[OSĤ6]ghLR11鰘]vJǏ}̙|.k 8p1c_r>/ ѐfZMO>1:^_[X,$FJuJ!bILG*1Ǯa5g3%n ێ}پW 0~s֟_S'IHB[I<[b>/Bs I>PVKLo%T(a3oFA,3=b\/G?no{!KͯZG#;?rgjSBH%Ocbհ΅U.uߙ9/=7va;9|*wc:{ꄕlhhlxd~-4dWג$RC[?QoLB(_|zttϭ%D !:_ =/cGgWS˷gzTI$M$;>!ư3C*e%T]!P~zq.ܼy6@D pG,Dpo=30+7gf T|\^|k\~϶̫V=OC"=Q379kd;tCH$IV++]Yڛ?趜%^-BHadu/f6hRe$F]o;z$X}Po:71f[NL4L/4^^z̾~h]9u-W)Wo_o_x̕;ՒMq3>%BBXʋ-&!Hhٸz$PO6ص;r1yg=6DD bL!yĵs_!k7n';^jYq+q'w% !6UʮlOGTk!Ӹ}smkO]m;s}Wf:B^?rDf;K Vg&{wlnh[詈I*TvS|iݝxJ=|s}GC+7m -xL,ulǮ5g 1BCIgU>8\1`㠢=a'&u|J3[65SZ>${$ IJC7hU[-.Ͽ䏾4˷ UBJzz\=U1[O}w}i_dW%|Rnnr+WsG':x7Te쑺CLje]Zb\jƻ zl%8X1$&]_ys/'y=JLzsMˮάl6n5t.;n6rw~{zh[ !nTİUc=/Z"O]:r} ױ484:سٳcH7*0*pYIqoJw&.dsNo51lϵBLBɄLSx#PA -'Ɨ>>'Wʮu,ε/^ͷ/u}\J܉d(ugNV!$q;%$wInٞ?\ɏc&/ % B-dB+Ʀe'/B0sd_˷$]q{ĖL5G{䍞oc;-KRU ]K]/W>W +#3?xi(I({J fNC!M?uu1qD.C[qq/ltkv$oͻ醾#A-RD" X0ÒrRaca0$۽ogr$Gll^^Uq d+ʥzҷ؜'BiycfLG0XV gTT['Wad So>1/8RQq7r[O[*b,:S- 6h5fۓcoaY`m9وHRIyEB ٦W>k[^|TH֐%ɬMMt/{ytĭޅSY' ˾jLqO\_xΛoAX`ݽ2B1IS|v,E6t>q ukCK+MKM7 wIR^[UQ̻ C%c!Ɛm.tw\si=6ZJ"륦TTkt|w|bCY+q;e#x%Z=f3#neJCcnemw1Y-36~j.!nj*wy=}=&t>3UKh87Z\[+g >Vpd9BkuZ*3udypNݏmB#K=/}\6qd{kbɅ.,ν~&ܫ%S)![ 1l>t={e[o?y%wd"b(g䅉>7wlk5k>: dCczމhGåFVNDuDzb&V;vjl\Rvmc?}~Z*6%g .*Z-;QF-Csݯ d$[>D*%f!߲o;󉧆OY䥕=u^}lF}VkUk1^>QLD+ٟ{Z8L.Is&6OcY}TLh8f[^^xԚsLqmŋÍ}wNl9:K%oW}Ll#V{5쒊;JD(;28Pq浱P+Q;o%c͟|Seh#O^4/[wK&0i ]銎VQb߈1D)Xdml ;-[x, !Z[1RTRjcfcCϗ5Y|] !JٵΙ=u_s~8.uj|ƷCkJOɄwۘ]hKe1,e!&;ʼTE:"'5&/m]Bbw0sdO|~cWOb)H˾Xʏ%E8?'g WOП uSZBR;x" !w;1:&:Ɨ':/,^IVpJٻW wZn7̵2]ե޲=/8}5h+SMKuckX4}ܿܿ443l[*;'玜븛͕}[W5/8=:ݾxaDW֏^?4Y=۷i?62پqkŻ!Yi]Mӭ'WBR~rr]?(ba+!Mcٍz_hO|bC\Ȯ?$ KR/_Sxfrq%$!]+8[}_-g ã8:˧{_ Vh1$I!$~vD 1HB!$!!ލ<[mCHBcrÑƗou.^XN֥4ߒb0sd֓MCSͽK ,Ucw1eZVJw-~Zʭ=S*dc q3r"ͿˏC%l ak7ߝui !L&ONk;}#۲lw8Bۧ&~ q7Jv%QcLP1Bߗ޷` fFϟ.73#+XژꉡޘRl/;!n8WڊV_1ݾtcQE^)U`OE`b!_o9"~L7;8+6̅X[Rn}_cKp^S_M! *'8bp_I!$I,ϒHƸszCKRBUu L擎et:r+y峙散y#߱yGi$Z?xi@q%Ba#%Oc[atcƘCTKiSSm^R]nٕɆ枻_pOmmY~~ծ$IvtC#g GKiqwO.\BpJ϶owt{H26-)'l+]\d|*X:y/LvT|8uՑo)t7GFc?oMLq-k1>%Qť;[ik?5qħ+<4.NYv={9 vMw\NլXQq&xŐd?}jzVBJN!čbo{,Cؘ`osi;e-۱q'%ǘͅ箎|/Zi IDATH7RZkJlPc*Nhh㞉EK"Zψd=wZϭ>}gO6&A-Uۭ;gstU4nbΕ7G~+׾Bb+y(Jُ wsEHTMD ?;#iz؉y*va'HDQ˰H%}`'q>0ɸl'')IAGQˍsOwOuNա^ݙ귞>vA IzJx4)*j+ۄ; 7/nSTZ~7pO.GR ~Tg\Sk$!zEkJjzm_xJy !ӱ{ig?F*B"8^]Ho[."ZV]wϟ:=< HJJKArFX[xU[6&mY~d~6MS14{ܥ?fe1:\ʼnH$ޥ aҝvjߨW:[fK!bFs !IB !^O( Ujٲ&~eKBRcH6onʄ|G.,dG:g/_tܕzq- "ZNi)7}=M3}O_v34%^RIH˓JK qk+wWMiY=r~KQmY-ퟘ:37}nlSv_B#nlOD pb~jѮ]l^ؠ]cKI(X~%55ϵ-k֪t.}Fх #*Y͎Ϧ{NVZ.\>?ury`65ASm{糋c]~qT -Wxua׮ڊmh`myniJSt hLԹk80woeEP ;&_=yl<߹d3PC)4}skmRCCHkBR)Z^BH65b!CSRJףחF;-qH>38e;ѐj1$qrܕBך$BHzLdkJc !CR6:IHB.5mʓI_BȵM(-nd5\i]z AD @#1$qz|lӗ΄T) !rJprE\ !e\l~L\a=]Rl!&'^s N%Lo.fgN_Xii03X|]Z"Zn# ׿D*|ӭt&1V'Դ5Zo8nMl] bw?v}zk{ mI)-zKc]l˚!J?`-{sMk!UۦQnK$riMUdsd퓯/u-Pc|7]"ZvjJ\lCchBHAiYSi8{QMdچgۆ,f.N\n IRvz݈[<~WG|3BܒCO峔+buJ| V [WUC픪;9򥗆>~&ӶR%JP#c ކɴ-M>}9۲SIHBٰsyb0TYM&T&:vepvFܥd5OapN/ahxV皧6Ϗtv8t+ߵJq,1X]9VO*L:B1rŞGƺ/4O3{uIP{s6wjuyCo Ovo;%!p 1̀Bzd#%I*1TMB!ĐCZc`b3X*/M{!$LԳ8 + _SZ jy ~s!X+f/^u,+|)I-5(ա-JpfXմ*ejkaе-cJkY姮]r:}xt 5DUTo~f{b&Tԫ nmsۧҡssCsW{B"24&/YK/|BW:MtuHe֡ʼnk{ A6K6{f-],_cӫ>{e`6ެ1$I1dKr6u}`X!*U1Zz-0 |}O !n}'RsŽCFD 'CH/!&1PCL6RQ6fPJIHBUI,nd$e1IouzI! !VpTϡOCHB:u}WwᕙV)-_xID &Ti[ӹHc ![PF y-!nr1.ND {`u1_xikC}O:>i^Ixۗ/[ 7_&b 1t<62<30}vpu)#EZ'Zf/DWbୗx|g1*ǣd?ov(U͒ {ՏYMc*{63{:֖rXŔPhx%ًcS'[gc\HO]Yﲵ&%ֵ[>l7HuKt}yx85u8g{?v"Z gf>1:t}t`|BCL֟+ 3Y*9,q94+l@Q^yE1drO[O훹ط<^ѹSED &&tqɶ>|ep.]U*UI._׿U$!F̗ϰ5#pP8 <::R5Ҏ/ٖ\Oޱ7Dܟb^j4wX܌WI֣SbT6CSb[ZJ:K쵞RW)XOY ߫SXC_ʃT_BntȵNj?XX:un`ܠ3~Ϥ}lc%nI1$IZfix{CCzFFmF} kCuJ!a Wd޹=:{gGoC4:}- l}/Zo.ᙫ$ɻ?f Ll\c͏['cýnbٹ-UOeOu˶nQII 1ٶal8FN1t8ũCJ٪Is%uxz*+-l/^<6yVkBLBHb ICHB!I*!ĐTpԇrluQ^΅IG{^+%}}S#/ZC"%K~lϱ桄l}YID .זsN>9yhep. Pֿ$CUꭉ $EčnHL]b9j +),1$IL|}dllűF1*>~D%|Jr E8uDnLսoZ\r:SNNHlY^lԆfU* FzzdK%aBmYxjѱ퟽ֽ2 S~'R_:6`c)Hh#A^88ƞֽ&ZeJ5+~jؽFfsɾ_)Ό\难Գt"(ub޹ yՅ=3:MףRQV<Ɲ 6z5u4=>}02uo@HRNyǒZUοC|Hhx$BkבB\yA}Kl׷͘$flScl\ޅSX>1:|ᙆ Cf.:޹&ӴV>6lB1bҨFGLSVհ6-c1zON,M7ɚ4 ' t~^I+el<ȒtqX}tx6_mTHjrN5 .1$5m/lҷx3M^)-grY1im-uD<tO4y{j$Īb%ݲ^bIHyİ^^8 $V>k޾1Kn6NebkR/-_sLCζ-9f~(IUJQ&a}obx<-/.:M=slq3%YXY !XnI6bh*$$J-C 1ƍ.Ʊq!|c}FDK[3cIS񯼖J^:d@bulfi9'n=6hxXaϯ]<2X 72:u֯[j ]xL5B㐕T͞e -<0p'GZb*ibɻ: ,M$>#J~bבL2;"ZjZfrFMMBjQJ ! 1NJvR3^0!TUbUjHXaE !$*zĘTb! !&C9K=c,ZJ+ԒO<1upzs?6v:&7v5&[pBATn=VK!-ThFjJ앞##u!q=6*٬IU*j"^cVEbMyKZƘJ&Z&^ލG;y}St6n 4ި ?"Zhlimi֫Cm۳ШUy o=oq6ҡm||񗇦.v$uAL:M?yk1Kb;X{]jc˩67n#-M_9^9vmx螯$t m y~Jپ+ݥ4#ݴqpحs1$!os>+ke"Zf L96>$BB6!UZהV˳tCMǚ^54U=Y3m3+s]#?=tmޏ]7k]Nel&SoS[>[H_Rny=-%1Y]>{+׶udGB&T%Ԗe3Jafmcnvݶc&Bِ::ujWzF~z֓Ŧb*UNfԬeKJ>F۾锻_xZ1r7$!^{eOsO]4f[VL*#$5Ɛ$5e!l%qfbRwcP6KbI^$C6˧*Y!-\Bq9|n_ݨlu6rrIu˖\cPv>23گ|$1>6646v-kŬzG"Zwb3{o~[{s5*Y*ua%ۅl² [–iToY9puf; 7IWZ:N?6b-o_[x[y/_[ϲ#"Zb^7-=L:ڼ\lˡB%BܒՏUR\X^IR [Y4$!|ybK)B-ǖ|:%1--ŎѮSW:o\[nߑέ<0ҷ8<رܒyQSuBXӠbܸ[ߘ]36;bέv}pT!8RPvdaaګ}}iܚg- IDAT\8;}cu>_im-v=Y.uomBczN;-|}tՋ{tm,U¿VN^蝺=wca +ܮMmB ]{n\<bD鶞r;m[i7y(Y9/Z毆^ҽg;bq][B_W{_WX;7ȭBWOSK>[7G~~$$){(3m?i^q֞$i9+?[p˷ܬe(*Lo6sgM{BU>#\ !.G_[8wxa}BUmTڔv~ڻ8̪fz-˯2_Z[ʹdo# їG_~bѱxҒ-m\,.ߚ?z{TG33-su8vgqyyY-(%_(7NLur⹥+|~EzDpZkx=ZBafWfu6ntO_n^=2y0?{QIữ0={Bl_IҮǽFK-7~9|'~o^]X*ޭ{;:z;: oe'_8vC-,߼8o#+vK&v7rK4L!Q(-1C !P*Kx]Pfo_O{tu1Bt o?c\L{N}rO߬H6bLĵm^wռ7n'|썗-NܻN[G~1t7.?yhc3Nڇg޸zm?~ٴ;D̅9v9z񱓟Clr?Lm$\եpwHqm9;ޑ~6ol9RB<4|$TW?׏þkJ,--<`TtWO~\n_ϱ}Ce8wm o~Xi5%$D*,v~7Og?H;oؾʉ/}ٮLwh`˶.w=6̇>q홺ܵ2svTvwߺzUcϬ o^Εph`Wj^:8sxמa[~>-?:7vod-V "ZUbLㅶO~x>0oF>§O?ϏНR%![;wb{06ReGo?8bO"-ҹ{N|6d;}O89ݣvn+ױ4c^;qp(!wwz^{l;'OLzL <>̇:ڏ >[?t$ڐwBD $_0dO ӎm\kl_ڟ+dB6h>\rG}CO ϖ={<=PhN6m{(IeJm {?dBލ˸16B'N>vr?r*-7b4x>{$tmoѹs:qMrxK_yqv-˒LZޣSwлKP85ypq&Tan%QD/~6W.ԑf.Ie֚z=2Oc.;{~r_Y[N7+Tq+MgzfuO̿Ճ{\,;${.K} s}!҅|n}m;Z1s#/^\W>]]~X]̹;!{'Ie=y7;pp䯾{n䥁kGVveu)3ukjǿ65s;vO׿}dy6ޑ\rG&?٣!ޅw}ZmtOJ¹]_ /q<οG֊YwDpw%M]}Gr г{W=W$ѦFlL =='No /å=DpW$ٖC3''~#!Ջַ/yNQIR+sF^O?WxC2? !)-!w" 1;B32R{ZRJM\¾}߫~wc#/Hiَކ$$׶ҽo;Ch^wqՎix??'O'kt^JKC"ZxKTvcx~/}e}=|{zoéG'?š|Ny W^C9v(cO>c!矜j֊L^ꚼu?xSKsdi9BtkhTvwzKg 珯b]cǦ»h^CD 󫽇g|BG^-\8\ZM\Y|N=Yލ?fݿ)%{_MD 5w-<5O}Y]_8\ZI?s?/ ]xGCxr:Fط'?1|/1<Еk]!巰ߘ]36lL?2:`,Ͼycm!<,5t{|jaW^C.7s7?:7_eBa߃RVc\S"ZR1U~S~'B8?#{W<,5RI)wrc#_]A-MB8K!,ֵ塇4\S}/hxx$sOysʭrS\wC.%!*5wON}_d3!t/5~we1x˖g>>wȆ-"Zd1]jj_>|m8`E??3}r:k5~cy6l7 -tߑ/O7 ;YY:d-XnΉhxT{iS_g!=+?;'g} l]iW@``4Ď/Nq|]Rb')p7)!hHB}<в"TwfVK<<;~6n{E\|DOl{cloP0wd /!/yG3]7 l_Sq- 6]qq8d>ysC|;[OCz{76|tHw3w.I lݝ84*ZJ[<~r_i]$9۾s3M;%246R½5W?*CT%+'{KCh,es]Y86=:͛}Bi,-%'.vߘB(g !ޭO,GM%8(*ZJI̟rŖ¼}vh,||6~MW^DBE @qD\6]W_(9oٱƁKcI.|.uMWTKE @dq v^y~ֽGv<4ҽtX|3!([v^׊/]\;mtpaA!-!,D*ZNe}f+._^]״vƹ2L@5/\x¼k!"ceܲBh$*Z^WBx6ri%cc;٤2w}H?4T(J5-ev]umGKKtܵɦ!DfLR!a*-S!eK:Jq||~.3ag?ez*Z&D<︑%g^veG5{ʚy_ D9K'F9LKE eƎԂS{O[%5kwlx| ((JO>;e&*ZByXˢ~PU[{^xh~f,Y8(_yӊVVm\0W-vTR]49' כ䰿"IqYee g\pnwចL894GZ8Ue;NxE/ ]۷\kirȢD~ٹ=!4ub8DU]Z8Z}?]~vga>0L~ק8&$+rM!ytSmo"շ>kp Ts\e3k!T7iݲ8M%GJ"[\HE 0Wʼn|S2[cE!Df(AP=q NjC,?vl|9N䈋I GE 0Q"V)q*Z".)~l:iBQY?vֵοhAG?UDz(:ˆVzjwNhPd~#9fPL( -KR*L??/lx#H9 R;/?BwîMk}(DYcR1]}[kv6yJ%S!4jOnIØR~zƞWڥO>QZ3 OM!p)_hDE P`Bݬ=<|~OKM]з4Է`CE PX~w6Y~kg B}˫s GOxR}h i!|woZHD4-81u[F߸5bXս?zy]*Z/ X_3:P+k #*rg\ZC HumOn>BE P0Nh~jw7əH[3󗍼 !~p;R?yTY/;_j0G-}E_BC<s:p*Z¨n !:|o]r  N[.=sZCh/%?m9(*Z8~O:l}eg qUv*s_tf&,=\qێd?_V*..ν骮j ޽A?!P%#!T[gw)ga!ۏO-?Vk}]~{Ao4C(oH~E-4im}.Y,-Y1ߨ 2Ei;B h -swg]/7IYW:O~kC+7#[m1ä(#}bdVĉmsν=}kB`~OE 0ۢ(>>|kAәlH嗮|kC$~6/nٶԡ?F 9ڪ N|Jh٫=-ȑm͹CxMOm]B$@(nZ^K^BM5}mh˺a*ZR/(v\BUU%?k֡8|;6-@ ), ͝KKk|wӵ=[ƒ8;TE/ r'.o(-}k{7͢(F{8x,:e«ZB- [lY!-@W&KZ:O!T~Ƶu[[|dIE PvwɁTU?6“S.m p^|~5)g)j*Zpg*]zms!T&ZFy,%@E Pxۗj%M3KNݍ!4.jڕ-@=zQ) 5M޵j,r(J+*-8q "}MZ-Q*Z'0QE-s[.9oz'qPK`MjdɌ$eB!8J%g_3|ڊKw'Bh29@E PH|y$9|qg tMgںm/ԄPgs`EX%cY"ϝ+]BE[idtQR+pLoP_xMOm{6CTtï~8#QK<|Ch)mWn>s`g>ֿB(ǂlljw}:Kw#6};X(:WU;>RBuIo7?UIMCa*Z8z汓!ԖN/mq嘢(zmrc>|C?/ƒȿ~.Xfcλoa8㒞~!*Kz#",,-@QïdcJX,߹Oei, =xWvWh`onC1K$M+F.!9G}ym.Rs.lyΗEQ|uc=炖GwLT.Q?qWG,:vʹ\BnByq>2_OE PteTRU-,{+Bh[7T u7ır贶UyEc?le(lljKN9{U(gY}+못Ԇ(Fk7b5w !TPUx<5畳pTE$<(YSӐ=늾.o a6糉pT@2@WՊhi; jin_Lo*=\ä(jT_xzEGCZ'eBh;J)BU>ه#CE 0j冏5c}莠dYmisιing~TߵFG`ACXo7<8־qGPQO_!47v 6hP̶_d*+*&C5u}O06!*,=#b[ܴCT:SY9߷ɚԘ.G`&Lf뉝LWu+-!r ̩+B(niRNdӎl֕|FMOWnk5]6-@aL,d 3wL1&tצJ--+Jř~"t&f([xS2z{^LN\̤ҖI?iH 40;Tn7TN<2 d&L#{_Z8NsqEun%C__LD 3DdR3|j~V5HeEŭ_NoP9b&-@l]XC{:yǪ7!D"}MW!U3}S*+*Bw~s55ýS'Ͽ6{8wHg2_Sq;-몳c &E%oL]r}}:,H9hMMm|2޶*3hzUTV$tlDLW~27IE qyUO .C+gĤ\vʊ?i%B|e( O@aUafb,3bbtwϯ +͍ ?zI_ïd+$S c!X1cgCIF/}OU)%αi2Ɏ\:}h>* /|r kSݕ߉(i*ZeFvo]ȞΎx0IO9+:<`p_rn~ĵM\&=!3\-@!m~f^Ko}"~N{p~,=թdR&-{s_dfh$tficvLg7>~*3=]0PTv.~t'#ho2qɻ5LX#s'hphwR(Y'P¾%,Afx&14$vtu/=-|Ez>PdCXlt/ ƮcCh'Mbe6.h55<\&|)i*ZeߎCB(jGB${>^Z{HB4MKBBQSTsGXPObۆʟ磂l}7W^]ݓս6_UCv<[2~LqqhJVQwR^פU8W }U,-@1zoXS# >"!E$Së^m{y|2 F_y݆5Lb67/;}uM'&W_L88M {Y&]6Q[SQ;FYp2BPܡ(÷66n̅0^2&7wL=^yt6(8B˂kV\4gYqTw{eg54km29LSOMOOsvJ\kv3Ce!V\("tϻ= qQY.wR88NF[_XXu+_X%DE PtTk~*/y:$v5Q3_J4xϽ4S75uo+O$B|E-QК]zg5Q4ӣh^oo:x)Edʎ'|>V?l@E Pv}u^e)uTFK,˲LI 9! MON$'9y %pdU=Ax<3kFm}_\s<%7W ?!-3UgIߡ#$/LISj:y8޻)gStR:W^I2vjqAV0lػ_*G˰~U8|b>8v0lnlѴ3UKD Pv=u8uۯ1> +9?=O=+|P5} 7f9q0UG]cQRS_㺻۲5ɋuy+N|&P^&xkSxhWrg Q*'\g~7tBgDADaPNn%IdGղsWtN_yxWjΎh´E G¨d~woOS°/lq0mɱU??y8$µN=o#JQ8y: 'ݛ4<Ͼ0 ]fji f:c5uIؔ3]zSNz[Yy翜i֭qxo(ξ1Rz:Ejbn IDATLvs#BgA-@+vFE+^՚J#l$Jx6$2 8hҽ#Nz,t&PSN#wQ1]7{uyϮ-zîAʥp}s\3 ۣOמ<-g J;{ǦٽsS[%9~8ϗ* m[U[.IfsT؞>9w?9o[koMNHtR @> GD PE|[8zڗV[g$t$99H;=} *\N{uAP.'MᎵv'-@)?۶:w{Oԍ,! Rq\,sέf=Z HhJbJ^hrR.XṠ/Qk@5ʷol9&8ަǝ3A']wvX*A}矆AP7NzET¤GmAt$b|QPA3N̋^x]naP.']ݿ5#GD P]r6|(EԻK? nL!bT*%p׆ZNʗ [S?W&0Υ,ahǺܳ9pQh|zYK;GQJ]EA-b\Nl_[sxW\XDCǑ]#2{7>~jhTK+X('6>Rl\\"Z!&\nsƅno8=<gʹRZOq\ HEq]]^AΌ^8G%w%7ޘm:&D._04y6w`[f8=bt)'gN>Ëڜٕ|2KiWǮFq骭{>.&´~KJD 0d;c2ߣϻ>?}^i&a=YgK>]gpmzس}MnlGkl2 qm5;F/]ѱy+Qb?wϜ>*2%Y*[ZvGۼâۖ>blI> \N)K msomrm]&2_pGRaò Vj:n[[`ͅ@D 04a2|l7Zejv&+%33`ֵ;vm̴7GA:"p!DU,N6gy~\C:ǥRipOd\Qّ :OoXvRbhՌkg,"dj/AqT*8+*Glʙiշٿ宾j|rԤ{5~u:{t?3^UC;Z`D'+/}u2L8^rXG3gF}w8z]y]^5qMm0z|a֓:ݜn;-qT)6qjXS[k5G&=6=zl03P5=fNJ[8"Z*,GP[R\ٻ%$~hCo{RA d21Rc3nON蛈 ^޾Y sY^T:sqj&jzo7o~2c]T d@"Z W\\.AEQ\>2㥥R3_j:^ڽ)v:n\1nrgݰL:] ޥw;/z4 WU;bT8Ѷ܎j TdҎW-傳i#]]?$tYc-ig3ׅB)l_jۚ쮍8N9gy~ڂqrG>WK;vnHo|X\ $t jh*Q&r˲3ɥjϖ=[26 ?'O-w?9j|c'h96e^l? o}G}[pmmvl_n?'Z*h*N%v,gF.]>KGGgksg#{2HW4?cI؆lJyN68Ggg/h޵1mM\ ϻX D% q9,9Mz< 9GC%A֒?yumvړGP*'OL?Xiʎe(^g=Q⧽zh}Z95 Vޔ޾>}to=UBD PQl[zk> j { ^|Q- 4T.n[ݷ9}ąF46ū~RY1jl.~,?f`ֲcVg;;BA- y"Z 2en+^ ,ԐS'ZmKmztbFtG}~&sw,m􄨾>wftqS;zL0kqy]Ml[9}4U* jaT{# \*_hQ t6?پfrd$Io 7vӹWv.^t/ҮQuߗt:5nB4;JlY+#ǘGD P!7lH!}>'t|3C;F aag{6e0Iû2_1Jil:Κ>Ohal|fFq8=ּKG3)W\#l/;ypùmό !l:Ga7N[P8z7u#U狻7ۚZm8o"Z+_;5-RTǾ-??v $D}>-ֶ)sK#F8͍wmm }ѿ76,U˵uٕw&ԱdϳGv푠J-Qt9غoko +tTc&HX*?r1 _XWam]vC۷lYk;|"Z+&Knz( ?qg_?}4.8 $)MGkOm~:;yV[g̯JS[0:䦦}R?-PDW^Ӟ]h 645g/kٿ5޲:gSB\oř g_GHEOwwvC;BgoKU9v+Ϣu{Q}{œhtjw淯lYP DWD2sA<'rxsk \ɰ\ mۚ޽sm)S\țˠܖlEј L][hѼ恚cպT -tiiر/ ˷ǖ4;7fN.,X9qu;l6}=/س R!\"Z+`Ԅt/G}Nrd=$ѽ'~\}MoMTU-\]Z:i˪ՔKAj\3 ;ry3ӱ<0o|¼Ԥպ\tZD:zppwߨݳ)cTk 3 3w\w[8qNpփ;R֦vnb.-xƎg[a-bwښk;7dNk8~jT?Z~yצ#Qe..-@;廟orєK?]pq~k',kmk;g퉋yA-\4"Zo{>&q˷E[WgwnȌ_}~+aθ1sm=/DvLe.r! }ѱ/}EXSDQ4vb؉7?T&HpADjߎ}N>$CS[V޾pE&w:tKnYrcp`Oӣߚh %2䁯pŴD.)ZڹBL*Wt&5ֽ[Vam$/PYORܶR\q蹧r=XUE5ĩ/u|6ؾ>]ȟ jKTOtYu$=szy׵[9%__]Z7=޹1r*Jߙ@8}'&Bܐٹ!ΥT9&5d c[wO=\kSX. jo"ZJQ,t!/)m_پ.3ifaņiU3nlCd%z: ӃRy:PHؑQ2e΢1[nM=DΔTO\klךͫͫ2c&W#XkS:uê/e” o ڶwK㙃Rł<h.>DdAfWeI׏*_ss猅S2t\]S3v` Ń񙚖\2h.|{o <\ OU).cLt687ֶwK}}jT!/~h@Eho>9=nQZxCǔQI5c'^Vܾ=mZ*Hxh׳ ӊs><ʂZ2Ԃזli[Pf)KD &,wUn_X8caxƢxڂஶ}[Q$F"ZPrt<^H9%/+4HF( 'Ϭ<3?eϳ6:Z";[]DPb>ع!ڽ)5vRiΛTf,08m2Zh*RxdotdojɊW^[=0aZn´`};eM:Ahk+Kz:|5'0¬q&[M1r~WpO_JvlHDPK@U*ͫ3WgF)Mt 8ضm]g[ä,h5O}χY9wya5UT膚 {k.?/OSw]~8[[59Fe#X|cqCmRlj+JD ϛyQsOpρh<ϭQ>tyUvۺ1%//^Z3)W-`fkS7*X~{ L<Q &j4qҰ׌uwov{*;Mb`~h.~z@]mz5W^3~/~gsUrx7 1BxP7f/-YZl*Og㗿& Ɇ=D0R f]^?ۊpH?{oY1Rt7eBG~s%sG] %xϲگ}SBZ*^̯|(|Z35I$vrբ6z+>׿ sw+OK._hѵ[ۇ! o]cڛov?|/RMA-ALJ޶S %+ð*߿Svs.oؗ^7o}Bjs{_P&Ix`ӯ~érю*~$3r$AKJD WƆatks>~knveH;Cx8\%:ZOd? N%Z.\o_EΧ9,[QU?%Miy˦\}U@B{sg}ݩE•tl/:-\~sF KWlyL3+_y;kL&r ;Z擿_ϕOꨊG˽=>VjQS]DpUɥ[>zي-涕 Clz}Ì)|#WR1\hPӯWEQ#ɛ~=WWKpO۳rRi,1esxM r]Mjܬ fp;Qz#s1U5df^S0=9![Q8}QmӯemM@"Zh+~uiqJ &`Y#6n=UQ?sy!#9/ozjÑGlIGg|_sA% ï;_[9$ߍ&,?zs'|WX l[9eהN蠖So`ɎkkrADP;J퇏?觿c1εVZD?,?^u(IkY(|bڒ_e^7i|ݻ~q羵e0 ?_#VD~/ÖJoN8?peyוTr VfFkb!_JG5^|-6"ZRJd="[9Sߺ&Dg6z\|Î}֕ꡚ0k8TNfS_ڻ9_UafRZLD C?}y@צ+[kD;~Oovo?6II¡z>Sq ;Zu?|5d㣅 rM_TZJh`ٲi*%ۦhr9J.$D_xEP=TL|'8a!ݚrdyR\Q5~ʼnKh`i( KSsB3k=s"Z]* 8e/~gE:8?a[dYTVJänxrҩ*S ˱SPy.ϛ1b>Vc_3D7rP=Was|_ #Se&>^8ur {GM.٠!Mh[NTBw!Ѷ=[.z1$Ik1xfZ }( }a Ɓ}k>Ҿ-2b\wGD0~vYx%T~3_RSNv ı uUwfOA;q8~GoSl]]ho.\z7f[tlk'!o]0.RgTB fhb\zy zp͸;6-շ4fҡ 7GWܷ?Lx75sQؘ~h`{g ë5x jګXd ̓x;9r<{?7ָp|gs{}ct|o番du;ޔ)-$`_|5ac7T9 xrݑKW}͝@{iQG+?~^I=K5"̇wA SB{sq+SSmǹ,(Lt."$o޷sߡJ?yIȗ2x@]6Wa0qiB̿]>lxM>hzU'I>Ks_EU0깝k˜*=Oo?߼|KT lMǿf-OKex[~7 ˞-oO?OTZa\;7w~lw. Cmޣ,;L5Ŷ[)"./躺wwAjqQPrGR ^hS$dfsv9c3ӦL>z>3i2آݿʥD9CF~Y{(]l)bUuUj׷ #هV\o]/&_Jg'8VYLs%H\>g[QY0-;RKn^rku]_FR-8o5W~٧OU]Q:Jb֤'[Ī4hj,\u ON3t8>TyǜQX0>ņR-Ddtλg6utl)ϗ*+IdþpE>׍p86?UyՏ,5g_0bM<+O;vRLo_G4HiKAZ3,8'kG !磿-cNwF*Y-hGUν씺UCL)fMV7+q="wiݙ\$}ɾi FqUۆ|=V8bZm2}Љ0޸'('JE:DRےg\Ҳ$rlj?~ЅQtACM$Z&Mꮎ1 Uܱh殁<9W(H}8}UFHP.77X/\xygQYv2U蒶L._Vq<'|mۘɎ]f$Z(OdeKM=alz6"Vw摃Ds/tYZa14dD]7z߳f/$Z(O[vW誺 CЙ-80yRmLFzvKG~D>[BWSϝ0q\)bӝ-Cp|rrF1@-҇M-tծ֞vSkfE,S9ie)UT U.߱9.GKܺ.k!@yCj!q\(~71m>~k1'ٶp~&ߚnߩҲw-^;g(b'|+6mݱdt_7}|qߛJE߽dfV8~r57׻eUu5[N|ӏgvsCg)"XJ&o괏{z*pJ]]swV܆wt?L9ck7QKm\0D e2c';^>'mޥk㻊^<ɩC-S'\/YMS7^p#\:Bʝe ⟨0Jy?ʊh|mU'=#%}?ϗʋ.}5E&Oۗ] <ָ7Tʩuf9S9uu9;^i'+oP2H.-}F"@Igt`(J?. U1gLMnx{7ٟtW_2ԐܸSFFD{76gJjKvM)=s7gfٚ]vw([Ta!-hgKpc vו2ُ}uio_~|fޓi[9*F8rգ{za=JmW4gFYY߼v}KDyx`~^D #W~C{n/޶gKgK/{[qx57塿/ڹ1k$ȕyŲ+w>8q۽.R̖fqs[7^v9PRi$O,\Tp_ mi6ʼ{63y祾w8́2в3u_N? udλzg}yw?۟= 8z쒹s~^-Ъ@yX ^N"w4uWX}?sj ]NQX۟5JTe,ήM]KWߦή2hg2}M67tp, UOo5#2p'+.ArI08|.wg]=ٮ֎LCc3woji-wcQ8i}qGO7f_[-|e{O4ͿoSCc6prHMh~|S`DqGMϘ0qTJ%*LvKC3[v?t֎^Äe"7Q"qФ)u5'Tҩt"e3}=Zwbh'==F/F"$$$$$$$$$$$$$oo *i!-A-A-A-A-A-A-A-A-A-A-A-A-A-jIDATA-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A !*w;IENDB`apcluster/vignettes/bioinf.cls0000644000176200001440000001731213527026237016250 0ustar liggesusers% % % BIOINF document class % % last revision 2010-02-15 by Ulrich Bodenhofer % % \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{bioinf}[2010/02/15] \def\bioinf@basisclass{article} \newif\ifbasisclassdefined \basisclassdefinedfalse % % declare options for three basis classes % \DeclareOption{article}{\ifbasisclassdefined \ClassError{bioinf}{You may only supply one basis class.}{Remove the `article' option} \fi \def\bioinf@basisclass{article}\basisclassdefinedtrue} \DeclareOption{report}{\ifbasisclassdefined \ClassError{bioinf}{You may only supply one basis class.}{Remove the `report' option} \fi \def\bioinf@basisclass{report}\basisclassdefinedtrue} \DeclareOption{book}{\ifbasisclassdefined \ClassError{bioinf}{You may only supply one basis class.}{Remove the `book' option} \fi \def\bioinf@basisclass{book}\basisclassdefinedtrue} % % forward all other options to document class article % \DeclareOption*{{\ClassError{bioinf}{Option `\CurrentOption' not supported for BIOINF document class.}{Remove the `\CurrentOption' option}}} % % process options % \ProcessOptions\relax % % load document class article (always with options a4paper and titlepage) % \LoadClass[a4paper,11pt,twoside]{\bioinf@basisclass} \typeout{=============================================================}% \typeout{BIOINF document class loaded with basis class '\bioinf@basisclass'}% \typeout{=============================================================}% % % font customizations % \renewcommand{\encodingdefault}{T1} \renewcommand{\rmdefault}{ptm} \renewcommand{\sfdefault}{phv} \renewcommand{\ttdefault}{cmtt} \fontencoding{T1}\selectfont % % customization of item marks % \renewcommand{\labelitemi}{\rule[0.2ex]{0.8ex}{0.8ex}} \renewcommand{\labelitemii}{$\m@th\bullet$} % % include of additional packages % \RequirePackage{color} \RequirePackage{graphicx} \RequirePackage{ifthen} % % setup of page format % \setlength{\evensidemargin}{-1in} \setlength{\oddsidemargin}{-1in} \setlength{\topmargin}{-1in} \addtolength\evensidemargin{30mm} \addtolength\oddsidemargin{30mm} \addtolength\topmargin{28mm} \setlength{\textwidth}{150mm} \setlength{\headheight}{12pt} \setlength{\headsep}{8mm} \setlength{\textheight}{222mm} \ifx\pdfoutput\undefined \relax \else \setlength{\pdfpagewidth}{21cm} \setlength{\pdfpageheight}{29.7cm} \fi % % setup of customized headings style and listings % \input{bioinf-\bioinf@basisclass.txi} % % set page style % \pagestyle{headings} % % adjust parskip % \setlength{\parskip}{5pt plus 2pt minus 1pt} % % define colors and color commands % \definecolor{biowh}{rgb}{1.00,1.00,1.00} \definecolor{biobl}{rgb}{0.00,0.00,0.00} \definecolor{bioaz}{rgb}{0.204,0.325,0.631} \definecolor{biove}{rgb}{0.24,0.63,0.37} \definecolor{bioli}{rgb}{0.667,0.9333,0.667} \newcommand{\blue}{\color{bioaz}} \newcommand{\green}{\color{biove}} % % define BIOINF title page commands % \newcommand{\customtitlepage}[2]{% \thispagestyle{empty} #2 \vfill \noindent\makebox[0pt][l]{% \setlength{\unitlength}{1cm} \begin{picture}(0,0)(2,2.4) %\put(0,25.5){\makebox(0,0)[lb]{\color{bioli}\rule{19cm}{2.2cm}}} \put(19,25.5){\makebox(0,0)[rb]{\includegraphics[width=19cm]{bioinf-bar}}} \put(0.3,26.0){\makebox(0,0)[l]{\color{bioaz}\fontfamily{phv}\bfseries\large% Institute of Bioinformatics, Johannes Kepler University Linz}} \put(0.3,26.9){\makebox(0,0)[l]{\color{bioaz}\fontfamily{phv}\bfseries\Huge #1}} \put(0,1.6){\makebox(0,0)[lb]{\color{bioli}\rule{19cm}{1mm}}} \put(0,0){\makebox(0,0)[lb]{\fontfamily{phv}\normalsize\begin{tabular}[b]{l} Institute of Bioinformatics\\ Johannes Kepler University Linz\\ A-4040 Linz, Austria \end{tabular}}} \put(9.5,0.4){\makebox(0,0)[cb]{\includegraphics[height=0.8cm]{JKU_EN_noName}}} \put(19,0){\makebox(0,0)[rb]{\fontfamily{phv}\normalsize\begin{tabular}[b]{r} Tel. +43 732 2468 4520\\ Fax +43 732 2468 4539\\ http://www.bioinf.jku.at \end{tabular}}} %\put(0,24.5){\makebox(0,0)[lt]{\noindent\begin{minipage}{19cm} %#2 %\end{minipage}}} \end{picture}}\newpage} \def\bioinf@number{} \def\bioinf@keywords{} \def\bioinf@abstract{} \def\bioinf@citation{} \def\bioinf@affiliation{} \newcommand{\affiliation}[1]{\def\bioinf@affiliation{#1}} \newcommand{\pubnumber}[1]{\def\bioinf@number{#1}} \newcommand{\setkeywords}[1]{\def\bioinf@keywords{#1}} \newcommand{\setabstract}[1]{\def\bioinf@abstract{#1}} \newcommand{\setcitation}[1]{\def\bioinf@citation{#1}} \newcommand{\affilmark}[1]{\textsuperscript{\scriptsize #1}} \newcommand{\doi}[1]{% \ifx\href\undefined doi:#1 \else \href{http://dx.doi.org/#1}{doi:#1} \fi} \newcommand{\email}[1]{\ifx\href\undefined {\em #1} \else \href{mailto:#1}{{\em #1}} \fi} \newcommand{\reporttitlepage}[1]{\customtitlepage{#1}{% \mbox{ } \vfill \begin{center} \sffamily\bfseries\LARGE\@title \end{center} \begin{center} {\sffamily\bfseries\large\@author}\\[2mm] \ifx\@empty\bioinf@affiliation \relax \else {\sffamily\normalsize\bioinf@affiliation} \end{center} \fi \vspace{1.5cm} \ifthenelse{\equal{}{\bioinf@abstract}}{% \relax }{% \centerline{\rule{15cm}{1pt}}\vspace{2mm} \centerline{\begin{minipage}[b]{15cm} \noindent{\bf Abstract --- } \bioinf@abstract \end{minipage}} \ifx\@empty\bioinf@keywords \vspace{-1.5mm}\centerline{\rule{15cm}{1pt}} \fi } \ifthenelse{\equal{}{\bioinf@keywords}}{% \relax }{% \ifx\@empty\bioinf@abstract \centerline{\rule{15cm}{1pt}}\vspace{2mm} \else \vspace{5mm} \fi \centerline{\begin{minipage}[b]{15cm} \noindent{\bf Key words --- } \bioinf@keywords \end{minipage}} \vspace{-1.5mm}\centerline{\rule{15cm}{1pt}} } \ifthenelse{\equal{}{\bioinf@citation}}{% \relax }{% \vspace{2cm} \centerline{\begin{minipage}[b]{15cm} \noindent{\bf Citation: } \bioinf@citation \end{minipage}} } \vfill}} \newcommand{\researchreporttitlepage}{\reporttitlepage{Research Report \bioinf@number}} \newcommand{\techreporttitlepage}{\reporttitlepage{Technical Report \bioinf@number}} \newcommand{\preprinttitlepage}{\reporttitlepage{Publication Preprint}{}} \newcommand{\reprinttitlepage}{\reporttitlepage{Publication Reprint}{}} \newcommand{\manualtitlepage}[1][]{\customtitlepage{Software Manual}{% \mbox{ } \vfill \begin{center} \sffamily\bfseries\LARGE\@title \end{center} \ifthenelse{\equal{\@author}{}}{}{\begin{center} {\sffamily\bfseries\large\@author}\\[2mm] \ifx\@empty\bioinf@affiliation \relax \else {\sffamily\normalsize\bioinf@affiliation} \end{center} \fi} \vspace{1cm} \begin{center} {\Large\sffamily\bfseries #1} \end{center} \vfill \mbox{ }}} \newcommand{\lecturenotestitlepage}[1][]{\customtitlepage{Lecture Notes}{% \ifthenelse{\equal{#1}{}}{% \vspace*{2cm} \begin{center} \sffamily\bfseries\huge \@title \end{center} \vspace{2cm} \begin{center} \sffamily\bfseries\Large \@author \end{center} \vfill \mbox{ }}{% {\LARGE\sffamily\bfseries\mbox{ } \vfill \begin{center} #1 \end{center} \vfill \vfill \mbox{ }}}}} \newcommand{\copyrightpage}[1][]{% \clearpage \mbox{ } \vfill \vfill \noindent{\large \textcircled{c} \ifthenelse{\equal{#1}{}}{% \@author}{% #1}}\\[7mm] \noindent \BIOINFCopyrightNotice\thispagestyle{empty} \vfill \mbox{ } \clearpage} \newcommand{\BIOINFCopyrightNotice}{This material, no matter whether in printed or electronic form, may be used for personal and educational use only. Any reproduction of this manuscript, no matter whether as a whole or in parts, no matter whether in printed or in electronic form, requires explicit prior acceptance of the author.} \endinput % % end of scch-tr.cls % apcluster/vignettes/bioinf-article.txi0000755000176200001440000000357113527026237017721 0ustar liggesusers\def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\underline{\makebox[\textwidth][l]{% \sffamily\thepage\hfill\leftmark}}}% \def\@oddhead{\underline{\makebox[\textwidth][l]{% \sffamily\rightmark\hfill\thepage}}}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth { \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}{ \ifnum \c@secnumdepth >\z@ \thesection\quad \fi ##1}}% \def\subsectionmark##1{}} \renewenvironment{abstract}{\section*{\abstractname}% \@mkboth{\abstractname}{\abstractname}}{} \newenvironment{acknowledgments}{\section*{Acknowledgments}% \@mkboth{Acknowledgments}{Acknowledgments}}{} \renewcommand\tableofcontents{% \section*{\contentsname \@mkboth{\contentsname}{\contentsname}}% \@starttoc{toc}% } \renewcommand\listoffigures{% \section*{\listfigurename}% \@mkboth{\listfigurename}% {\listfigurename}% \@starttoc{lof}% } \renewcommand\listoftables{% \section*{\listtablename}% \@mkboth{\listtablename}% {\listtablename}% \@starttoc{lot}% } \renewenvironment{thebibliography}[1] {\section*{\refname}% \@mkboth{\refname}{\refname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} \endinput apcluster/R/0000755000176200001440000000000013527026237012464 5ustar liggesusersapcluster/R/AllGenerics.R0000644000176200001440000000166613527026237015010 0ustar liggesuserssetGeneric(name="apcluster", def=function(s, x, ...) standardGeneric("apcluster")) setGeneric(name="apclusterL", def=function(s, x, ...) standardGeneric("apclusterL")) setGeneric(name="apclusterK", def=function(s, x, ...) standardGeneric("apclusterK")) setGeneric(name="aggExCluster", def=function(s, x, ...) standardGeneric("aggExCluster")) setGeneric(name="heatmap", def=function(x, y, ...) standardGeneric("heatmap")) setGeneric(name="similarity", def=function(x, ...) standardGeneric("similarity")) setGeneric(name="preferenceRange", def=function(s, ...) standardGeneric("preferenceRange")) setGeneric(name="as.SparseSimilarityMatrix", def=function(s, ...) standardGeneric("as.SparseSimilarityMatrix")) setGeneric(name="as.DenseSimilarityMatrix", def=function(s, ...) standardGeneric("as.DenseSimilarityMatrix")) apcluster/R/revDend.R0000644000176200001440000000222613527026237014200 0ustar liggesusersmidDend.local <- function (x) if (is.null(mp <- attr(x, "midpoint"))) 0 else mp memberDend.local <- function (x) if (is.null(r <- attr(x, "members"))) 1 else r isLeaf.local <- function (x) (is.logical(L <- attr(x, "leaf"))) && L midCacheDend.local <- function (x) { stopifnot(inherits(x, "dendrogram")) setmid <- function(d) { if (isLeaf.local(d)) return(d) k <- length(d) if (k < 1) stop("dendrogram node with non-positive #{branches}") r <- d midS <- 0 for (j in 1:k) { r[[j]] <- unclass(setmid(d[[j]])) midS <- midS + midDend.local(r[[j]]) } if (k == 2) attr(r, "midpoint") <- (memberDend.local(d[[1]]) + midS) / 2 else attr(r, "midpoint") <- midDend.local(d) r } setmid(x) } revDend.local <- function (x) { if (isLeaf.local(x)) return(x) k <- length(x) if (k < 1) stop("dendrogram non-leaf node with non-positive #{branches}") r <- x for (j in 1:k) r[[j]] <- revDend.local(x[[k + 1 - j]]) midCacheDend.local(r) } apcluster/R/AllClasses.R0000644000176200001440000000466113527026237014644 0ustar liggesusers# S4 class definition for exemplar-based clustering setClass("ExClust", representation = representation ( l = "numeric", sel = "numeric", exemplars = "numeric", clusters = "list", idx = "numeric", sim = "mMatrix", call = "character" ), prototype = prototype ( l = 0, sel = numeric(0), exemplars = numeric(0), clusters = list(), idx = numeric(0), sim = matrix(nrow=0, ncol=0), call = character(0) ) ) # S4 class definition for the result object of affinity propagation clustering setClass("APResult", representation = representation ( sweeps = "numeric", it = "numeric", p = "numeric", netsim = "numeric", dpsim = "numeric", expref = "numeric", netsimLev = "numeric", netsimAll = "numeric", dpsimAll = "numeric", exprefAll = "numeric", idxAll = "matrix" ), prototype = prototype ( sweeps = 0, it = 0, p = 0, netsim = NaN, dpsim = NaN, expref = NaN, netsimLev = numeric(0), netsimAll = NaN, dpsimAll = NaN, exprefAll = NaN, idxAll = matrix(nrow=0, ncol=0) ), contains = "ExClust" ) # S4 class definition for the result object of the aggExCluster algorithm setClass("AggExResult", representation = representation ( l = "numeric", sel = "numeric", maxNoClusters = "numeric", clusters = "list", exemplars = "list", merge = "matrix", height = "numeric", order = "numeric", labels = "character", sim = "matrix", call = "character" ), prototype = prototype ( l = 0, sel = numeric(0), maxNoClusters = 0, clusters = list(), exemplars = list(), merge = matrix(NA, 1, 1), height = numeric(0), order = numeric(0), labels = c(), sim = matrix(NA, 1, 1), call = character(0) ) ) apcluster/R/conversions.R0000644000176200001440000001011013527026237015150 0ustar liggesuserssparseToFull <- function(s, fill=-Inf) { .Deprecated("as.DenseSimilarityMatrix") as.DenseSimilarityMatrix(s=s, fill=fill) } as.SparseSimilarityMatrix.matrix <- function(s, lower=-Inf) { if (!is(s, "matrix")) { s <- try(as(s, "matrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'matrix'") } if (nrow(s) != ncol(s) && ncol(s) != 3) stop("matrix 's' must be quadratic or have 3 columns") if (nrow(s) == ncol(s)) { sel <- which(s > lower, arr.ind=TRUE) remElem <- which(sel[, 1] == sel[, 2]) if (length(remElem) > 0) sel <- sel[-remElem, , drop=FALSE] if (nrow(sel) == 0) S <- new("dgTMatrix", Dim=dim(s)) else S <- new("dgTMatrix", Dim=dim(s), i=as.integer(sel[, 1] - 1), j=as.integer(sel[, 2] - 1), x=s[sel]) } else { if (min(s[, 1:2]) <= 0) stop("indices in 's' must be >= 1") if (any(s[, 1:2] != floor(s[, 1:2]))) stop("indices in 's' must be natural numbers") remElem <- which(s[, 1] == s[, 2] | s[, 3] <= lower) if (length(remElem) > 0) s <- s[-remElem, , drop=FALSE] if (nrow(s) == 0) S <- new("dgTMatrix", Dim=as.integer(c(0, 0))) else { N <- max(s[, 1:2]) S <- new("dgTMatrix", Dim=as.integer(c(N, N)), i=as.integer(s[, 1] - 1), j=as.integer(s[, 2] - 1), x=s[, 3]) } } S } setMethod("as.SparseSimilarityMatrix", signature(s="matrix"), as.SparseSimilarityMatrix.matrix) setMethod("as.SparseSimilarityMatrix", signature(s="Matrix"), as.SparseSimilarityMatrix.matrix) as.SparseSimilarityMatrix.sparseMatrix <- function(s, lower=-Inf) { if (nrow(s) != ncol(s)) stop("argument 's' must be quadratic similarity matrix") if (!is(s, "dgTMatrix")) { s <- try(as(as(s, "TsparseMatrix"), "dgTMatrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'dgTMatrix'") } remElem <- which(s@i == s@j | s@x <= lower) if (length(remElem) > 0) { s@i <- s@i[-remElem] s@j <- s@j[-remElem] s@x <- s@x[-remElem] } s } setMethod("as.SparseSimilarityMatrix", signature(s="sparseMatrix"), as.SparseSimilarityMatrix.sparseMatrix) as.DenseSimilarityMatrix.matrix <- function(s, fill=-Inf) { if (!is(s, "matrix")) { s <- try(as(s, "matrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'matrix'") } if (ncol(s) != 3) stop("'s' must be a matrix with 3 columns") if (min(s[, 1:2]) <= 0) stop("indices in 's' must be >= 1") if (any(s[, 1:2] != floor(s[, 1:2]))) stop("indices in 's' must be natural numbers") N <- max(s[, 1:2]) S <- matrix(fill, N, N) S[s[, 1] + N * (s[, 2] - 1)] <- s[, 3] S } setMethod("as.DenseSimilarityMatrix", signature(s="matrix"), as.DenseSimilarityMatrix.matrix) setMethod("as.DenseSimilarityMatrix", signature(s="Matrix"), as.DenseSimilarityMatrix.matrix) as.DenseSimilarityMatrix.sparseMatrix <- function(s, fill=-Inf) { if (nrow(s) != ncol(s)) stop("argument 's' must be quadratic similarity matrix") if (!is(s, "dgTMatrix")) { s <- try(as(as(s, "TsparseMatrix"), "dgTMatrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'dgTMatrix'") } N <- nrow(s) S <- matrix(fill, N, N) S[(s@i + 1) + N * s@j] <- s@x S } setMethod("as.DenseSimilarityMatrix", signature(s="sparseMatrix"), as.DenseSimilarityMatrix.sparseMatrix) apcluster/R/apclusterL-methods.R0000644000176200001440000002337313527026237016376 0ustar liggesusersapclusterL.matrix <- function(s, x, sel, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, nonoise=FALSE, seed=NA) { M <- ncol(s) N <- nrow(s) if (!is.na(seed)) set.seed(seed) if (!is.na(p[1]) && (!is.numeric(p) || !is.vector(p))) stop("'p' must be a number or vector") if (length(p) > 1) { if (length(p) < N) stop("vector 'p' is shorter than number of samples") else if (length(p) > N) p <- p[1:N] # truncate unnecessarily long p } if (any(is.na(p)) && !is.na(q) && !is.numeric(q)) stop("'q' must be a number") if (lam > 0.9) warning("large damping factor in use; the algorithm\n", "will change decisions slowly, so consider using\n", "a larger value of 'convits'.") # If argument p is not given, p is set to median of s if (any(is.na(p))) { ## workaround for overloaded accessor in 'kebabs' package if (is(s, "KernelMatrix")) { if (is.na(q)) p <- median(as.vector(s)[setdiff(which(s > -Inf), (1:M - 1) * N + sel)]) else p <- quantile(as.vector(s)[setdiff(which(s > -Inf), (1:M - 1) * N + sel)], q) } else { if (is.na(q)) p <- median(s[setdiff(which(s > -Inf), (1:M - 1) * N + sel)]) else p <- quantile(s[setdiff(which(s > -Inf), (1:M - 1) * N + sel)], q) } } attributes(p) <- NULL apresultObj <- new("APResult") # create the result object to be returned # store p into result object for future reference apresultObj@p <- p if (length(p) == 1) p <- rep(p, N) apresultObj@l <- N apresultObj@sel <- sel # In case user did not remove degeneracies from the input similarities, # avoid degenerate solutions by adding a small amount of noise to the # input similarities if (!nonoise) { randomMat <- matrix(rnorm(N * M), N, M) s <- s + (.Machine$double.eps * s + .Machine$double.xmin * 100) * randomMat } # Append preferences as additional column to s s <- cbind(s, p) # replace -Inf (for numerical stability) and NA with -realmax infelem <- which(s < -.Machine$double.xmax | is.na(s)) if (length(infelem) > 0) s[infelem] <- -.Machine$double.xmax infelem <- which(s > .Machine$double.xmax) if (length(infelem) > 0) stop("+Inf similarities detected: change to a large positive value,", " but smaller than ", .Machine$double.xmax) res <- .Call("apclusterLeveragedC", s, as.integer(sel - 1), as.integer(maxits), as.integer(convits), as.double(lam)) K <- res$K # convert cluster center indices to R i <- res$it if (K > 0) { i <- i + 1 I <- res$I[1:K] + 1 I <- I[I %in% sel] ee <- which(sel %in% I) K <- length(ee) if (K < 1) stop("internal error: no exemplars in selected samples") c <- rep(NA, N) c[I] <- 1:K nonI <- setdiff(1:N, I) c[nonI] <- sapply(nonI, function(ii) which.max(s[ii, ee])) c[is.na(c)] <- 0 # R inserts NAs by default, so replace them with 0s # to get the same result as the Matlab code # Refine the final set of exemplars and clusters and return results for (k in 1:K) { jj <- which(c == k) ii <- which(sel %in% jj) ns <- s[jj, M + 1] ind <- match(sel[ii], jj) ns[ind] <- colSums(s[jj, ii, drop=FALSE]) + s[sel[ii], M + 1] - diag(s[sel[ii], ii, drop=FALSE]) I[k] <- jj[ind[which.max(ns[ind])]] } I <- sort(I) if (length(rownames(s)) > 0) names(I) <- rownames(s)[I] nonI <- setdiff(1:N, I) ee <- which(sel %in% I) c <- rep(NA, N) c[I] <- 1:K nonI <- setdiff(1:N, I) c[nonI] <- sapply(nonI, function(ii) which.max(s[ii, ee])) c[is.na(c)] <- 0 # R inserts NAs by default, so replace them with 0s # to get the same result as the Matlab code tmpidx <- I[c] # Self similarities not relevant tmpdpsim <- sum(s[sub2ind(N, nonI, match(tmpidx[nonI], sel))]) tmpexpref <- sum(s[I, M + 1]) tmpnetsim <- tmpdpsim + tmpexpref apresultObj@exemplars <- I apresultObj@clusters <- list() for (c in 1:length(apresultObj@exemplars)) apresultObj@clusters[[c]] <- which(tmpidx == apresultObj@exemplars[c]) if (length(rownames(s)) == N) { names(apresultObj@exemplars) <- rownames(s)[apresultObj@exemplars] for (c in 1:length(apresultObj@exemplars)) names(apresultObj@clusters[[c]]) <- rownames(s)[apresultObj@clusters[[c]]] } } else { tmpidx <- rep(NaN, N) tmpnetsim <- NaN tmpdpsim <- NaN tmpexpref <- NaN apresultObj@exemplars <- numeric(0) apresultObj@clusters <- list() } apresultObj@netsim <- tmpnetsim apresultObj@dpsim <- tmpdpsim apresultObj@expref <- tmpexpref apresultObj@idx <- tmpidx apresultObj@it <- i if (res$unconv) warning("algorithm did not converge; turn on details\n", "and call plot() to monitor net similarity. Consider\n", "increasing 'maxits' and 'convits', and, ", "if oscillations occur,\n", "also increasing damping factor 'lam'.") apresultObj } setMethod("apclusterL", signature(s="matrix", x="missing"), function(s, x, sel, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, nonoise=FALSE, seed=NA) { M <- ncol(s) N <- nrow(s) if (M > N) stop("no. of columns of 's' may not be larger than ", "number of rows") if (!is.vector(sel) || !is.numeric(sel) || any(round(sel) != sel)) stop("'sel' must be a numeric vector of whole numbers") if (length(sel) != M) stop("vector 'sel' is shorter or longer than number of ", "selected samples") if (max(sel) > N || min(sel) < 1) stop("sample index in 'sel' must be between one and ", "number of samples") if (length(unique(sel)) != length(sel) || is.unsorted(sel)) stop("'sel' must be in strictly increasing order") apresultObj <- apclusterL.matrix(s=s, sel=sel, p=p, q=q, maxits=1000, convits=convits, lam=lam, nonoise=nonoise, seed=seed) apresultObj@call <- deparse(sys.call(-1)) if (includeSim) apresultObj@sim <- s apresultObj }) apclusterL.function <- function(s, x, frac, sweeps, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, nonoise=FALSE, seed=NA, ...) { if (frac <= 0 || frac > 1) stop("invalid fraction of samples specified") if (!is.na(seed)) set.seed(seed) if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) if (is.matrix(x)) N <- nrow(x) else N <- length(x) if (N < 2) stop("cannot cluster less than 2 samples") nsel <- max(ceiling(N * frac), 2) sel <- sort(sample(1:N, nsel)) if (!is.function(s)) { if (!is.character(s) || !exists(s, mode="function")) stop("invalid distance function") s <- match.fun(s) } apresultObj <- new("APResult") # create the result object to be returned apresultObj@netsim <- -Inf netsimL <- rep(-Inf, sweeps) for (i in 1:sweeps) { sim <- s(x=x, sel=sel, ...) if (!is.matrix(sim) || nrow(sim) != N || ncol(sim) != length(sel)) stop("computation of similarity matrix failed") apres <- apclusterL.matrix(s=sim, sel=sel, p=p, q=q, maxits=maxits, convits=convits, lam=lam, nonoise=nonoise) netsimL[i] <- apres@netsim if (apres@netsim > apresultObj@netsim || apresultObj@netsim == -Inf) { apresultObj <- apres if (includeSim) apresultObj@sim <- sim else apresultObj@sim <- matrix(nrow=0, ncol=0) } sel <- sort(unique(apresultObj@idx)) ## CHECK!!! if (nsel - length(sel) > 0) ## CHECK!!! { otherSamples <- setdiff(1:N, sel) sel <- sort(c(sel, sample(otherSamples, nsel - length(sel)))) if (length(rownames(sim)) > 0) names(sel) <- rownames(sim)[sel] } else break } apresultObj@call <- deparse(sys.call(-1)) apresultObj@sweeps <- sweeps apresultObj@netsimLev <- netsimL apresultObj } setMethod("apclusterL", signature(s="function" , x="ANY"), apclusterL.function) setMethod("apclusterL", signature(s="character", x="ANY"), apclusterL.function) apcluster/R/preferenceRange-methods.R0000644000176200001440000000343513527026237017350 0ustar liggesuserspreferenceRange.matrix <- function(s, exact=FALSE) { if (ncol(s) != nrow(s)) stop("'s' must be a square matrix") diag(s) <- 0 if (length(which(s == -Inf)) > 0) warning("similarity matrix 's' contains -Inf similarities; ", "lower bound may not correspond to 1 or 2 clusters") .Call("preferenceRangeC", s, as.logical(exact)[1], PACKAGE="apcluster") } setMethod("preferenceRange", signature(s="matrix"), preferenceRange.matrix) preferenceRange.dgTMatrix <- function(s, exact=FALSE) { if (ncol(s) != nrow(s)) stop("'s' must be a square matrix") ## remove diagonal elements and -Inf from s remElem <- which(s@i == s@j | s@x == -Inf) if (length(remElem) > 0) { s@i <- s@i[-remElem] s@j <- s@j[-remElem] s@x <- s@x[-remElem] } .Call("preferenceRangeSparseC", s@i, s@j, s@x, nrow(s), as.logical(exact)[1], PACKAGE="apcluster") } setMethod("preferenceRange", signature(s="dgTMatrix"), preferenceRange.dgTMatrix) preferenceRange.otherSparse <- function(s, exact=FALSE) { s <- try(as(as(s, "TsparseMatrix"), "dgTMatrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'dgTMatrix'") preferenceRange.dgTMatrix(s=s, exact=exact) } setMethod("preferenceRange", signature(s="sparseMatrix"), preferenceRange.otherSparse) preferenceRange.otherDense <- function(s, exact=FALSE) { s <- try(as(s, "matrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'matrix'") preferenceRange.matrix(s=s, exact=exact) } setMethod("preferenceRange", signature(s="Matrix"), preferenceRange.otherDense) apcluster/R/plot-methods.R0000644000176200001440000002145113527026237015231 0ustar liggesusers# Plot graph(s) with objective values (works only if details were switched on) setMethod("plot", signature(x="APResult", y="missing"), function(x, y, type=c("netsim", "dpsim", "expref"), xlab="# Iterations", ylab="Similarity", ...) { if (length(x@netsimAll) <= 1) stop("no valid data was found for plotting; call apcluster() ", "with 'details=TRUE' in order to compute convergence details") plotnetsim <- FALSE plotexpref <- FALSE plotdpsim <- FALSE legtxt <- c() legcol <- c() ymin <- .Machine$double.xmax ymax <- -.Machine$double.xmax if (is.element("netsim", type)) { tmp <- x@netsimAll[which(!is.nan(x@netsimAll))] if (length(tmp) > 0) { ymin <- min(tmp, ymin, na.rm=TRUE) if (ymin == -Inf) ymin <- -.Machine$double.xmax ymax <- max(tmp, ymax, na.rm=TRUE) if (ymax == Inf) ymax <- .Machine$double.xmax plotnetsim <- TRUE legtxt <- c(legtxt, "Fitness (overall net similarity)") legcol <- c(legcol, "red") } } if (is.element("expref", type)) { tmp <- x@exprefAll[which(!is.nan(x@exprefAll))] if (length(tmp) > 0) { ymin <- min(tmp, ymin, na.rm=TRUE) if (ymin == -Inf) ymin <- -.Machine$double.xmax ymax <- max(tmp, ymax, na.rm=TRUE) if (ymax == Inf) ymax <- .Machine$double.xmax plotexpref <- TRUE legtxt <- c(legtxt, "Sum of exemplar preferences") legcol <- c(legcol, "green") } } if (is.element("dpsim", type)) { tmp <- x@dpsimAll[which(!is.nan(x@dpsimAll))] if (length(tmp) > 0) { ymin <- min(tmp, ymin, na.rm=TRUE) if (ymin == -Inf) ymin <- -.Machine$double.xmax ymax <- max(tmp, ymax, na.rm=TRUE) if (ymax == Inf) ymax <- .Machine$double.xmax plotdpsim <- TRUE legtxt <- c(legtxt, "Sum of similarities to exemplars") legcol <- c(legcol, "blue") } } if (length(legtxt) > 0) { plot(x=NULL, y=NULL, xlim=c(0, x@it + 1), ylim=c(ymin, ymax), xlab=xlab, ylab=ylab, ...) if (plotnetsim) lines(x@netsimAll, col="red") if (plotexpref) lines(x@exprefAll, col="green") if (plotdpsim) lines(x@dpsimAll, col="blue") legend(x="bottomright", legend=legtxt, col=legcol, lwd=1) } else stop("no valid data was found for plotting; call apcluster() ", "with 'details=TRUE' in order to compute convergence details") } ) setMethod("plot", signature(x="ExClust", y="matrix"), function(x, y, connect=TRUE, xlab="", ylab="", labels=NA, limitNo=15, ...) { if (x@l != nrow(y)) stop("size of clustering result does not fit to size of data set") if (ncol(y) < 2) stop("cannot plot 1D data set") if (ncol(y) == 2) { xlim <- c(min(y[,1]), max(y[,1])) ylim <- c(min(y[,2]), max(y[,2])) plot(x=NULL, y=NULL, xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab, ...) num <- length(x@exemplars) if (num <= 0) { warning("no exemplars defined in clustering result; plotting ", "data set as it is.") points(y, col="black", pch=19, cex=0.8) } else { cols <- rainbow(num)[labels(x, type="enum")] points(y, col=cols, pch=19, cex=0.8) if (connect) segments(x0=y[, 1], y0=y[, 2], x1=y[x@idx, 1, drop=FALSE], y1=y[x@idx, 2, drop=FALSE], col=cols) points(y[x@exemplars, , drop=FALSE], col="black", type="p", pch=22, cex=1.5) } } else { if (is.numeric(limitNo) && ncol(y) > limitNo) stop("cannot plot more than ", limitNo, " features at once") res <- x num <- length(res@exemplars) if (num <= 0) { warning("no exemplars defined in clustering result; plotting ", "data set as it is.") clustCol <- "black" connect <- FALSE } else clustCol <- rainbow(length(res@exemplars))[labels(x, type="enum")] clustPanel <- function(x, y, ...) { points(x, y, col=clustCol, pch=19, cex=0.8) if (connect) segments(x0=x, y0=y, x1=x[res@idx], y1=y[res@idx], col=clustCol) if (num > 0) points(x[res@exemplars], y[res@exemplars], col="black", type="p", pch=22, cex=1.5) } if (any(is.na(labels))) { yname <- deparse(substitute(y, env = parent.frame())) if (length(colnames(y)) > 0) labels <- colnames(y) else labels <- paste(yname, "[, ", 1:ncol(y), "]", sep="") } pairs(y, labels, lower.panel=clustPanel, upper.panel=clustPanel, ...) } } ) # Plot clustering result along with data set setMethod("plot", signature(x="ExClust", y="data.frame"), function(x, y, connect=TRUE, xlab="", ylab="", labels=NA, limitNo=15, ...) { sel <- which(sapply(y, is.numeric)) if (length(sel) < 2) stop("cannot plot 1D data set") if (any(is.na(labels))) { yname <- deparse(substitute(y, env = parent.frame())) if (length(colnames(y)) > 0) labels <- colnames(y)[sel] else labels <- paste(yname, "[, ", sel, "]", sep="") } plot(x, as.matrix(y[, sel, drop=FALSE]), connect, xlab, ylab, labels, limitNo=limitNo, ...) } ) # Plot clustering result setMethod("plot", signature(x="AggExResult", y="missing"), function(x, y, main="Cluster dendrogram", xlab="", ylab="", ticks=4, digits=2, base=0.05, showSamples=FALSE, horiz=FALSE, ...) { if (x@maxNoClusters < 2) stop("cannot plot dendrogram with less than 2 clusters") if (showSamples) dend <- as.dendrogram(x, base=base) else dend <- as.dendrogram(as.hclust(x, base=base)) plot(dend, axes=FALSE, xlab=xlab, ylab=ylab, main=main, horiz=horiz, ...) if (horiz) suppressWarnings( axis(side=1, at=seq(base, 1, length=ticks), tick=TRUE, labels=as.character(format(seq(max(x@height), min(x@height), length=ticks), digits=digits)), ...)) else suppressWarnings( axis(side=2, at=seq(base, 1, length=ticks), tick=TRUE, labels=as.character(format(seq(max(x@height), min(x@height), length=ticks), digits=digits)), ...)) return(invisible(dend)) } ) # Plot clustering result along with data set setMethod("plot", signature(x="AggExResult", y="matrix"), function(x, y, k=NA, h=NA, ...) { if (x@l != nrow(y)) stop("size of clustering result does not fit to size of data set") if (is.na(k) || !is.numeric(k) || k > x@maxNoClusters) k <- x@maxNoClusters if (k< 1) k <- 1 excl <- cutree(x, k, h) plot(excl, y, ...) return(invisible(excl)) } ) # Plot clustering result along with data set setMethod("plot", signature(x="AggExResult", y="data.frame"), function(x, y, k=NA, h=NA, ...) { y <- as.matrix(y[, sapply(y, is.numeric)]) plot(x, y, k=k, h=h, ...) } ) apcluster/R/coerce-methods.R0000644000176200001440000001404713527026237015516 0ustar liggesuserssetMethod("as.hclust", signature("AggExResult"), function(x, base=0.05) { if (x@maxNoClusters < 2) stop("cannot create 'hclust' object with less than 2 objects") if (base < 0 || base >= 1) stop("'base' must be at least 0 and smaller than 1") mini <- min(x@height) maxi <- max(x@height) auxH <- x@height <- base + (1 - base) * (-x@height + maxi) / (maxi - mini) to <- list(merge=x@merge, height=auxH, labels=x@labels, order=x@order) class(to) <- "hclust" to }) setMethod("as.hclust", signature("ExClust"), function(x, base=0.05, ...) { if (all(dim(x@sim) <= 1)) stop("similarity matrix not included in object") as.hclust(aggExCluster(x@sim, x, ...)) }) setMethod("as.dendrogram", signature("AggExResult"), function(object, base=0.05, useNames=TRUE) { if (object@maxNoClusters < 2) stop("cannot create 'dendrogram' object with less than 2 objects") if (base < 0 || base >= 1) stop("'base' must be at least 0 and smaller than 1") obj <- as.hclust(object, base=base) z <- list() oHgt <- obj$height hMax <- oHgt[object@maxNoClusters] topLevel <- object@clusters[[object@maxNoClusters]] if (length(names(object@exemplars[[object@maxNoClusters]])) == 0 || !useNames) topLevel <- lapply(object@clusters[[object@maxNoClusters]], as.character) else topLevel <- lapply(object@clusters[[object@maxNoClusters]], names) for (k in 1:length(obj$height)) { x <- obj$merge[k, ] if (x[1] < 0) { if (length(topLevel[[-x[1]]]) == 1) { leftDend <- topLevel[[-x[1]]] attr(leftDend, "label") <- topLevel[[-x[1]]] attr(leftDend, "members") <- 1 attr(leftDend, "midpoint") <- 0 attr(leftDend, "height") <- 0 attr(leftDend, "leaf") <- TRUE } else { leftDend <- lapply(topLevel[[-x[1]]], function(elem) { attr(elem, "label") <- elem attr(elem, "members") <- 1 attr(elem, "height") <- 0 attr(elem, "leaf") <- TRUE elem }) attr(leftDend, "members") <- length(topLevel[[-x[1]]]) attr(leftDend, "height") <- base / 2 attr(leftDend, "midpoint") <- (length(topLevel[[-x[1]]]) - 1) / 2 } } else leftDend <- z[[as.character(x[1])]] if (x[2] < 0) { if (length(topLevel[[-x[2]]]) == 1) { rightDend <- topLevel[[-x[2]]] attr(rightDend, "label") <- topLevel[[-x[2]]] attr(rightDend, "members") <- 1 attr(rightDend, "midpoint") <- 0 attr(rightDend, "height") <- 0 attr(rightDend, "leaf") <- TRUE } else { rightDend <- lapply(topLevel[[-x[2]]], function(elem) { attr(elem, "label") <- elem attr(elem, "members") <- 1 attr(elem, "height") <- 0 attr(elem, "leaf") <- TRUE elem }) attr(rightDend, "members") <- length(topLevel[[-x[2]]]) attr(rightDend, "height") <- base / 2 attr(rightDend, "midpoint") <- (length(topLevel[[-x[2]]]) - 1) / 2 } } else rightDend <- z[[as.character(x[2])]] zk <- list(leftDend, rightDend) attr(zk, "height") <- obj$height[k] attr(zk, "members") <- attr(leftDend, "members") + attr(rightDend, "members") attr(zk, "midpoint") <- (attr(leftDend, "members") + attr(leftDend, "midpoint") + attr(rightDend, "midpoint")) / 2 z[[as.character(k)]] <- zk } z <- z[[as.character(k)]] class(z) <- "dendrogram" z }) setMethod("as.dendrogram", signature("ExClust"), function(object, base=0.05, useNames=TRUE, ...) { if (all(dim(object@sim) <= 1)) stop("similarity matrix not included in object") as.dendrogram(aggExCluster(object@sim, object, ...), base=base, useNames=useNames) }) apcluster/R/aggExCluster-methods.R0000644000176200001440000001417013527026237016650 0ustar liggesusersaggExCluster.matrix <- function(s, x, includeSim=FALSE) { noPriorClustering <- (missing(x) || is.null(x)) if (length(dim(s)) != 2 || (ncol(s) != nrow(s) && noPriorClustering)) stop("'s' must be a square matrix") AggResultObj <- new("AggExResult") K <- nrow(s) AggResultObj@l <- K preserveNames <- (length(rownames(s)) == nrow(s)) if (noPriorClustering) ## no prior clustering { AggResultObj@maxNoClusters <- K AggResultObj@clusters[[K]] <- as.list(1:K) AggResultObj@exemplars[[K]] <- 1:K if (preserveNames) { AggResultObj@labels <- rownames(s) names(AggResultObj@exemplars[[K]]) <- rownames(s) for (i in 1:K) names(AggResultObj@clusters[[K]][[i]]) <- rownames(s)[i] } else AggResultObj@labels <- as.character(1:K) } else ## prior clustering { if (x@l != nrow(s)) stop("data set sizes of 's' and 'x' do not match") AggResultObj@sel <- x@sel K <- length(x@exemplars) if (K < 1) stop("'x' empty or corrupted") AggResultObj@maxNoClusters <- K AggResultObj@clusters[[K]] <- x@clusters AggResultObj@exemplars[[K]] <- x@exemplars AggResultObj@labels <- paste("Cluster", 1:K) } if (K < 2) { warning("there is nothing to cluster") return(invisible(AggResultObj)) } objMat <- matrix(NA, K, K) ## matrix of objective values for pairs exeMat <- matrix(NA, K, K) ## matrix of joint exemplars ## note: only the upper triangle of these matrices is non-NA actClust <- AggResultObj@clusters[[K]] actExem <- AggResultObj@exemplars[[K]] actLabels <- -(1:K) AggResultObj@merge <- matrix(NA, K - 1, 2) AggResultObj@height <- rep(0, K - 1) res <- .Call("aggExClusterC", s, K, actClust, actExem, objMat, exeMat, actLabels, AggResultObj@sel, AggResultObj@clusters, AggResultObj@exemplars, AggResultObj@merge, AggResultObj@height, as.logical(preserveNames)[1]) if (is.element("error", names(res))) { if (res$error == 1) { stop("clusters cannot be joined because of missing ", "similarity values;\n maybe increasing the ", "cluster size through decreasing\n", " the self similarity 'p' helps.") } else if (res$error == 2) { stop("clusters cannot be joined because of missing ", "similarity values") } } exeMat <- res$exeMat objMat <- res$objMat AggResultObj@merge <- res$merge AggResultObj@height <- res$height AggResultObj@clusters <- res$clusters if (length(AggResultObj@sel) > 0) { colInd <- res$colInd } ## finally, determine reordering for dendrogram plotting AggResultObj@order <- determineOrder(AggResultObj@merge, AggResultObj@height, K - 1) AggResultObj@call <- deparse(sys.call(-1)) if (includeSim) AggResultObj@sim <- s AggResultObj } setMethod("aggExCluster", signature("matrix", "missing" ), aggExCluster.matrix) setMethod("aggExCluster", signature("matrix", "ExClust" ), aggExCluster.matrix) aggExCluster.Matrix <- function(s, x, includeSim=FALSE) { if (is(s, "sparseMatrix")) { s <- as.SparseSimilarityMatrix(s) rng <- range(s@x) fill <- 2 * rng[1] - rng[2] s <- as.DenseSimilarityMatrix(s, fill=fill) } else s <- as.DenseSimilarityMatrix(s) if (missing(x)) res <- aggExCluster(s, includeSim=includeSim) else res <- aggExCluster(s, x, includeSim=includeSim) res } setMethod("aggExCluster", signature("Matrix", "missing" ), aggExCluster.Matrix) setMethod("aggExCluster", signature("Matrix", "ExClust" ), aggExCluster.Matrix) aggExCluster.Clust <- function(s, x, includeSim=TRUE) { if (all(dim(x@sim) <= 1)) stop("similarity matrix not included in object") AggResultObj <- aggExCluster(x@sim, x) AggResultObj@call <- deparse(sys.call(-1)) if (includeSim) AggResultObj@sim <- x@sim AggResultObj } setMethod("aggExCluster", signature("missing" , "ExClust" ), aggExCluster.Clust) aggExCluster.function <- function(s, x, includeSim=TRUE, ...) { if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) if (is.matrix(x)) N <- nrow(x) else N <- length(x) if (N < 2) stop("cannot cluster less than 2 samples") if (!is.function(s)) { if (!is.character(s) || !exists(s, mode="function")) stop("invalid distance function") s <- match.fun(s) } sim <- s(x=x, ...) if (!is.matrix(sim) || (nrow(sim) != N) || ncol(sim) != N) stop("computation of similarity matrix failed") AggResultObj <- aggExCluster(sim) AggResultObj@call <- deparse(sys.call(-1)) if (includeSim) AggResultObj@sim <- sim AggResultObj } setMethod("aggExCluster", signature("function" , "ANY"), aggExCluster.function) setMethod("aggExCluster", signature("character", "ANY"), aggExCluster.function) ## auxiliary function for determining the order for dendrogram plotting ## fills up order recursively starting from the last merge determineOrder <- function(merge, height, k) { I <- merge[k, 1] ## I and J are the clusters merged in the k-th step J <- merge[k, 2] if (I < 0 && J < 0) ## if both are singletons, list I first return(c(-I, -J)) else if (I < 0) ## if I is a singleton and J is not, list it first return(c(-I, determineOrder(merge, height, J))) else if (J < 0) ## if J is a singleton and I is not, list it first return(c(-J, determineOrder(merge, height, I))) else ## if both are non-singleton clusters, list the "tighter" cluster { ## on the left-hand side (see ?hclust) if (height[I] > height[J]) return(c(determineOrder(merge, height, I), determineOrder(merge, height, J))) else return(c(determineOrder(merge, height, J), determineOrder(merge, height, I))) } } apcluster/R/labels-methods.R0000644000176200001440000000137713527026237015522 0ustar liggesusers# convert clustering result to label vector setMethod("labels", signature(object="ExClust"), function(object, type="names") { if (type == "names") { if (length(names(object@idx)) == 0) stop("no names available, use other type") else out <- names(object@idx) } else if (type == "exemplars") out <- object@idx else if (type == "enum") { out <- array(dim=object@l) for (i in 1:length(object@exemplars)) out[which(object@idx == object@exemplars[i])] <- i } else stop("type '", type, "' unknown") attributes(out) <- NULL out } ) apcluster/R/show-methods.R0000644000176200001440000001037513527026237015236 0ustar liggesusers# Display clustering results setMethod("show", signature(object="APResult"), function(object) { cat("\nAPResult object\n") if (!is.finite(object@l) || !is.finite(object@it)) stop("object is not result of an affinity propagation run; ", "it is pointless to create 'APResult' objects yourself.") cat("\nNumber of samples = ", object@l, "\n") if (length(object@sel) > 0) { cat("Number of sel samples = ", length(object@sel), paste(" (", round(100*length(object@sel)/object@l,1), "%)\n", sep="")) cat("Number of sweeps = ", object@sweeps, "\n") } cat("Number of iterations = ", object@it, "\n") cat("Input preference = ", object@p, "\n") cat("Sum of similarities = ", object@dpsim, "\n") cat("Sum of preferences = ", object@expref, "\n") cat("Net similarity = ", object@netsim, "\n") cat("Number of clusters = ", length(object@exemplars), "\n\n") if (length(object@exemplars) > 0) { if (length(names(object@exemplars)) == 0) { cat("Exemplars:\n") cat(object@exemplars, fill=TRUE, labels=" ") cat("Clusters:\n") for (i in 1:length(object@exemplars)) { cat(" Cluster ", i, ", exemplar ", object@exemplars[i], ":\n", sep="") cat(object@clusters[[i]], fill=TRUE, labels=" ") } } else { cat("Exemplars:\n") cat(names(object@exemplars), fill=TRUE, labels=" ") cat("Clusters:\n") for (i in 1:length(object@exemplars)) { cat(" Cluster ", i, ", exemplar ", names(object@exemplars[i]), ":\n", sep="") cat(names(object@clusters[[i]]), fill=TRUE, labels=" ") } } } else { cat("No clusters identified.\n") } } ) setMethod("show", signature(object="ExClust"), function(object) { cat("\nExClust object\n") if (!is.finite(object@l)) stop("object is not result of an exemplar-based clustering; ", "it is pointless to create 'ExClust' objects yourself.") cat("\nNumber of samples = ", object@l, "\n") cat("Number of clusters = ", length(object@exemplars), "\n\n") if (length(object@exemplars) > 0) { if (length(names(object@exemplars)) == 0) { cat("Exemplars:\n") cat(object@exemplars, fill=TRUE, labels=" ") cat("Clusters:\n") for (i in 1:length(object@exemplars)) { cat(" Cluster ", i, ", exemplar ", object@exemplars[i], ":\n", sep="") cat(object@clusters[[i]], fill=TRUE, labels=" ") } } else { cat("Exemplars:\n") cat(names(object@exemplars), fill=TRUE, labels=" ") cat("Clusters:\n") for (i in 1:length(object@exemplars)) { cat(" Cluster ", i, ", exemplar ", names(object@exemplars[i]), ":\n", sep="") cat(names(object@clusters[[i]]), fill=TRUE, labels=" ") } } } else { cat("No clusters identified.\n") } } ) setMethod("show", signature(object="AggExResult"), function(object) { cat("\nAggExResult object\n") if (!is.finite(object@l) || !is.finite(object@maxNoClusters)) stop("object is not result of agglomerative clustering; ", "it is pointless to create 'AggExResult' objects yourself.") cat("\nNumber of samples = ", object@l, "\n") cat("Maximum number of clusters = ", object@maxNoClusters, "\n") } ) apcluster/R/apcluster-methods.R0000644000176200001440000003137713527026237016265 0ustar liggesusersapcluster.matrix <- function(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA) { if (!is.na(seed)) set.seed(seed) apresultObj <- new("APResult") # create the result object to be returned apresultObj@call <- deparse(sys.call(-1)) # # check input data # if (!is.na(p[1]) && (!is.numeric(p) || !is.vector(p))) stop("'p' must be a number or vector") if (length(dim(s)) != 2 || ncol(s) != nrow(s)) stop("'s' must be a square matrix") N <- nrow(s) if (length(p) > 1) { if (length(p) < N) stop("vector 'p' is shorter than number of samples") else if (length(p) > N) p <- p[1:N] # truncate unnecessarily long p } if (any(is.na(p)) && !is.na(q) && !is.numeric(q)) stop("'q' must be a number") if (lam > 0.9) warning("large damping factor in use; turn on details\n", "and call plot() to monitor net similarity. The\n", "algorithm will change decisions slowly, so consider using\n", "a larger value of 'convits'.") # If argument p is not given, p is set to median of s if (any(is.na(p))) { if (is(s, "KernelMatrix")) { if (is.na(q)) p <- median(as.vector(s)[setdiff(which(s > -Inf), 0:(N - 1) * N + 1:N)]) else p <- quantile(as.vector(s)[setdiff(which(s > -Inf), 0:(N - 1) * N + 1:N)], q) } else { if (is.na(q)) p <- median(s[setdiff(which(s > -Inf), 0:(N - 1) * N + 1:N)]) else p <- quantile(s[setdiff(which(s > -Inf), 0:(N - 1) * N + 1:N)], q) } } apresultObj@l <- N # In case user did not remove degeneracies from the input similarities, # avoid degenerate solutions by adding a small amount of noise to the # input similarities if (!nonoise) { randomMat <- matrix(rnorm(N * N),N) s <- s + (.Machine$double.eps * s + .Machine$double.xmin * 100) * randomMat } attributes(p) <- NULL # Place preferences on the diagonal of s (recycled if p is scalar) diag(s) <- p # store p into result object for future reference apresultObj@p <- p # replace -Inf (for numerical stability) and NA with -realmax infelem <- which(s < -.Machine$double.xmax | is.na(s)) if (length(infelem) > 0) s[infelem] <- -.Machine$double.xmax infelem <- which(s > .Machine$double.xmax) if (length(infelem) > 0) stop("+Inf similarities detected: change to a large positive value,", " but smaller than ", .Machine$double.xmax) res <- .Call("apclusterC", s, as.integer(maxits), as.integer(convits), as.double(lam), as.logical(details), PACKAGE="apcluster") K <- res$K I <- res$I[1:K] + 1 i <- res$it if (details) { apresultObj@idxAll <- res$idxAll[,1:i] + 1 apresultObj@netsimAll <- res$netsimAll[1:i] apresultObj@dpsimAll <- res$dpsimAll[1:i] apresultObj@exprefAll <- res$exprefAll[1:i] } if (K > 0) { i <- i + 1 c <- max.col(s[, I], ties.method="first") c[I] <- 1:K # Identify clusters c[is.na(c)] <- 0 # R inserts NAs by default, so replace them with 0s # to get the same result as the Matlab code # Refine the final set of exemplars and clusters and return results for (k in 1:K) { ii <- which(c == k) I[k] <- ii[which.max(colSums(s[ii, ii, drop=FALSE]))] } names(I) <- colnames(s)[I] notI <- matrix(sort(setdiff(1:N, I)), ncol=1) c <- max.col(s[, I], ties.method="first") c[I] <- 1:K tmpidx <- I[c] tmpdpsim <- sum(s[sub2ind(N, notI, tmpidx[notI])]) tmpexpref <- sum(diag(s)[I]) tmpnetsim <- tmpdpsim + tmpexpref apresultObj@exemplars <- as.numeric(levels(factor(tmpidx))) apresultObj@clusters <- list() for (c in 1:length(apresultObj@exemplars)) apresultObj@clusters[[c]] <- which(tmpidx == apresultObj@exemplars[c]) if (length(colnames(s)) == N) { names(apresultObj@exemplars) <- colnames(s)[apresultObj@exemplars] for (c in 1:length(apresultObj@exemplars)) names(apresultObj@clusters[[c]]) <- colnames(s)[apresultObj@clusters[[c]]] } } else { tmpidx <- rep(NaN, N) tmpnetsim <- NaN tmpdpsim <- NaN tmpexpref <- NaN apresultObj@exemplars <- numeric(0) apresultObj@clusters <- list() } apresultObj@netsim <- tmpnetsim apresultObj@dpsim <- tmpdpsim apresultObj@expref <- tmpexpref apresultObj@idx <- tmpidx apresultObj@it <- i if (details) { apresultObj@netsimAll <- c(apresultObj@netsimAll, tmpnetsim) apresultObj@dpsimAll <- c(apresultObj@dpsimAll, tmpdpsim) apresultObj@exprefAll <- c(apresultObj@exprefAll, tmpexpref) apresultObj@idxAll <- cbind(apresultObj@idxAll, tmpidx) } if (res$unconv) warning("algorithm did not converge; turn on details\n", "and call plot() to monitor net similarity. Consider\n", "increasing 'maxits' and 'convits', and, ", "if oscillations occur\n", "also increasing damping factor 'lam'.") if (includeSim) apresultObj@sim <- s apresultObj } setMethod("apcluster", signature(s="matrix", x="missing"), apcluster.matrix) apcluster.function <- function(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, ...) { if (!is.na(seed)) set.seed(seed) if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) if (is.matrix(x)) N <- nrow(x) else N <- length(x) if (N < 2) stop("cannot cluster less than 2 samples") if (!is.function(s)) { if (!is.character(s) || !exists(s, mode="function")) stop("invalid distance function") s <- match.fun(s) } sim <- s(x=x, ...) if (!is(sim, "mMatrix") || (nrow(sim) != N) || ncol(sim) != N) stop("computation of similarity matrix failed") apres <- apcluster(s=sim, p=p, q=q, maxits=maxits, convits=convits, lam=lam, details=details, nonoise=nonoise) apres@call <- deparse(sys.call(-1)) if (includeSim) apres@sim <- sim apres } setMethod("apcluster", signature(s="function", x="ANY"), apcluster.function) setMethod("apcluster", signature(s="character", x="ANY"), apcluster.function) apcluster.dgTMatrix <- function(s, x, p=NA, q=NA, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA) { if (!is.na(seed)) set.seed(seed) apresultObj <- new("APResult") # create the result object to be returned apresultObj@call <- deparse(sys.call(-1)) # check input data if (!is.na(p[1]) && (!is.numeric(p) || !is.vector(p))) stop("'p' must be a number or vector") if (length(dim(s)) != 2 || ncol(s) != nrow(s)) stop("'s' must be a square matrix") N <- nrow(s) if (length(p) > 1) { if (length(p) < N) stop("vector 'p' is shorter than number of samples") else if (length(p) > N) p <- p[1:N] # truncate unnecessarily long p } if (any(is.na(p)) && !is.na(q) && !is.numeric(q)) stop("'q' must be a number") if (lam > 0.9) warning("large damping factor in use; turn on details\n", "and call plot() to monitor net similarity. The\n", "algorithm will change decisions slowly, so consider using\n", "a larger value of 'convits'.") ## remove diagonal elements and -Inf from s remElem <- which(s@i == s@j | s@x == -Inf) if (length(remElem) > 0) { s@i <- s@i[-remElem] s@j <- s@j[-remElem] s@x <- s@x[-remElem] } # if argument p is not given, p is set to median of s if (any(is.na(p))) { if (is.na(q)) p <- median(s@x) else p <- quantile(s@x, q) } apresultObj@l <- N apresultObj@p <- p infelem <- which(s@x < -.Machine$double.xmax | is.na(s@x)) if (length(infelem) > 0) s@x[infelem] <- -.Machine$double.xmax infelem <- which(s@x > .Machine$double.xmax) if (length(infelem) > 0) stop("+Inf similarities detected: change to a large positive value,", " but smaller than ", .Machine$double.xmax) if (!nonoise) ## noise added to the vector with similarity { randomVec <- rnorm(length(s@x)) s@x <- s@x + (.Machine$double.eps * s@x + .Machine$double.xmin * 100) * randomVec } if (length(p) == 1) p <- rep(p, N) ## add preferences as diagonal elements si <- c(s@i, 0:(N - 1)) sj <- c(s@j, 0:(N - 1)) sx <- c(s@x, p) res <- .Call("apclusterSparseC", as.integer(si), as.integer(sj), as.double(sx), as.integer(maxits), as.integer(convits), as.double(lam), as.integer(N), as.logical(details)) K <- res$K I <- res$I[1:K] + 1 i <- res$it + 2 if (details) { apresultObj@idxAll <- res$idxAll[,1:i] + 1 apresultObj@netsimAll <- res$netsimAll[1:i] apresultObj@dpsimAll <- res$dpsimAll[1:i] apresultObj@exprefAll <- res$exprefAll[1:i] } if (K > 0) { tmpidx <- res$tmpidx + 1 tmpdpsim <- res$tmpdpsim tmpexpref <- res$tmpexpref tmpnetsim <- res$tmpnetsim apresultObj@exemplars <- I apresultObj@clusters <- list() names(I) <- colnames(s)[I] for (c in 1:length(apresultObj@exemplars)) apresultObj@clusters[[c]] <- which(tmpidx == apresultObj@exemplars[c]) if (length(colnames(s)) == N) { names(apresultObj@exemplars) <- colnames(s)[apresultObj@exemplars] for (c in 1:length(apresultObj@exemplars)) names(apresultObj@clusters[[c]]) <- colnames(s)[apresultObj@clusters[[c]]] } } else { tmpidx <- rep(NaN, N) tmpnetsim <- NaN tmpdpsim <- NaN tmpexpref <- NaN apresultObj@exemplars <- numeric(0) apresultObj@clusters <- list() } apresultObj@netsim <- tmpnetsim apresultObj@dpsim <- tmpdpsim apresultObj@expref <- tmpexpref apresultObj@idx <- tmpidx apresultObj@it <- i if (res$unconv) warning("algorithm did not converge; turn on details\n", "and call plot() to monitor net similarity. Consider\n", "increasing 'maxits' and 'convits', and, ", "if oscillations occur\n", "also increasing damping factor 'lam'.") if (includeSim) apresultObj@sim <- s apresultObj } setMethod("apcluster", signature(s="dgTMatrix", x="missing"), apcluster.dgTMatrix) apcluster.otherSparse <- function(s, x, ...) { s <- try(as(as(s, "TsparseMatrix"), "dgTMatrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'dgTMatrix'") apcluster.dgTMatrix(s=s, ...) } setMethod("apcluster", signature(s="sparseMatrix", x="missing"), apcluster.otherSparse) apcluster.otherDense <- function(s, x, ...) { s <- try(as(s, "matrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'matrix'") apcluster.matrix(s=s, ...) } setMethod("apcluster", signature(s="Matrix", x="missing"), apcluster.otherDense) # Linear index from multiple subscripts. # sub2ind is used to determine the equivalent single index # corresponding to a given set of subscript values. sub2ind <- function(N, I, J) (I + (N * (J - 1))) apcluster/R/length-methods.R0000644000176200001440000000035213527026237015531 0ustar liggesuserssetMethod("length", signature(x="APResult"), function(x) length(x@exemplars)) setMethod("length", signature(x="AggExResult"), function(x) x@maxNoClusters) setMethod("length", signature(x="ExClust"), function(x) length(x@exemplars)) apcluster/R/cutree-methods.R0000644000176200001440000000401313527026237015535 0ustar liggesuserssetMethod("cutree", signature(tree="AggExResult", k="ANY", h="ANY"), function(tree, k, h) { outObj <- new("ExClust") if (!missing(k)) { if (!is.finite(k) || floor(k) != ceiling(k)) stop("'k' is not an integer number") else if (k < 1) stop("'k' smaller than 1 does not make sense") else if (k > tree@maxNoClusters) stop("'k' exceeds maximum number of clusters") } else if (!missing(h)) { if (!is.finite(h)) stop("'h' must be numeric") else if (h < min(tree@height) || h > max(tree@height)) stop("'h' exceeds range of values in 'AggExResult' object", "\nthe range is from ", max(tree@height), " (=> 1 cluster) to ", min(tree@height), " (=> ", tree@maxNoClusters, "clusters)") else k <- max(which(tree@height >= h)) } else if (missing(k)) stop("provide either 'k' or 'h'") outObj@l <- tree@l outObj@exemplars <- tree@exemplars[[k]] outObj@clusters <- tree@clusters[[k]] outObj@idx <- rep(0, outObj@l) for (i in 1:length(outObj@clusters)) { outObj@idx[outObj@clusters[[i]]] <- outObj@exemplars[i] if (length(names(outObj@clusters[[i]])) > 0) names(outObj@idx)[outObj@clusters[[i]]] <- names(outObj@exemplars)[i] } outObj@sim <- tree@sim outObj@call <- tree@call outObj } ) setMethod("cutree", signature(tree="APResult", k="ANY", h="ANY"), function(tree, k, h) { outObj <- new("ExClust") outObj@l <- tree@l outObj@exemplars <- tree@exemplars outObj@clusters <- tree@clusters outObj@idx <- tree@idx outObj@sim <- tree@sim outObj@call <- tree@call outObj } ) apcluster/R/apclusterK-methods.R0000644000176200001440000001354013527026237016370 0ustar liggesusersapclusterK.matrixOrDgT <- function(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=FALSE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE) { if (!is.na(seed)) set.seed(seed) # # check input data # if (length(dim(s)) != 2 || ncol(s) != nrow(s)) stop("'s' must be a square matrix") N <- nrow(s) if (K < 2 || K >= N) stop("number of data samples is ", N, ".\n", "\tmeaningful range for K: 2 to ", N - 1) pminmax <- preferenceRange(s, exact) lopref <- pminmax[1] hipref <- pminmax[2] lok <- 1 hik <- N if (is.na(lopref) || is.nan(lopref) || is.infinite(lopref)) stop("could not determine lower bound for preference") else if (lopref >= hipref) stop("preferenceRange() yielded invalid result: lower bound larger ", "than upper bound") # In case user did not remove degeneracies from the input similarities, # avoid degenerate solutions by adding a small amount of noise to the # input similarities; we do this here before running apcluster() in order # to have deterministic behavior during bisection if (!nonoise) { if (is(s, "matrix")) s <- s + ((.Machine$double.eps * s + .Machine$double.xmin * 100) * matrix(rnorm(N * N), N, N)) else if (is(s, "dgTMatrix")) s@x <- s@x + ((.Machine$double.eps * s@x + .Machine$double.xmin * 100) * rnorm(length(s@x))) } # try to guess better lower bound before starting with bisection ex <- -3 dn <- FALSE while (!dn) { tmppref <- hipref - 10^ex * (hipref - lopref) if (verbose) cat("Trying p =", tmppref, "\n") apresultObj <- apcluster(s, p=tmppref, nonoise=TRUE) tmpk <- length(apresultObj) if (verbose) cat(" Number of clusters:", tmpk, "\n"); if (tmpk < K && tmpk > 0) { lok <- tmpk lopref <- tmppref dn <- TRUE } else if (ex == -1) dn <- TRUE else ex <- ex + 1 } # now do bisection (if still necessary) ntries <- 0 while ((abs(tmpk - K) * 100 / K) > prc && ntries < bimaxit) { ntries <- ntries + 1 tmppref <- (lopref + hipref) / 2 if (verbose) cat("Trying p =", tmppref, "(bisection step no.", ntries, ")\n") apresultObj <- apcluster(s, p=tmppref, nonoise=TRUE, maxits=maxits, convits=convits, lam=lam, details=details) tmpk <- length(apresultObj@exemplars) if (verbose) cat(" Number of clusters:", tmpk, "\n"); if (K > tmpk) { lopref <- tmppref lok <- tmpk } else { hipref <- tmppref hik <- tmpk } } if (verbose) cat("\nNumber of clusters:", tmpk, "for p =", tmppref, "\n") if ((abs(tmpk - K) * 100 / K) > prc) warning("number of clusters not in desired range; Increase 'bimaxit'", " to improve accuracy of bisection.") apresultObj@call <- deparse(sys.call(-1)) if (includeSim) apresultObj@sim <- s apresultObj } setMethod("apclusterK", signature(s="matrix", x="missing"), apclusterK.matrixOrDgT) setMethod("apclusterK", signature(s="dgTMatrix", x="missing"), apclusterK.matrixOrDgT) apclusterK.otherSparse <- function(s, x, K, ...) { s <- try(as(as(s, "TsparseMatrix"), "dgTMatrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'dgTMatrix'") apclusterK.matrixOrDgT(s=s, K=K, ...) } setMethod("apclusterK", signature(s="sparseMatrix", x="missing"), apclusterK.otherSparse) apclusterK.otherDense <- function(s, x, K, ...) { s <- try(as(s, "matrix")) if (class(s) == "try-error") stop("cannot cast 's' (class '", class(s), "') to class 'matrix'") apclusterK.matrixOrDgT(s=s, K=K, ...) } setMethod("apclusterK", signature(s="Matrix", x="missing"), apclusterK.otherDense) apclusterK.function <- function(s, x, K, prc=10, bimaxit=20, exact=FALSE, maxits=1000, convits=100, lam=0.9, includeSim=TRUE, details=FALSE, nonoise=FALSE, seed=NA, verbose=TRUE, ...) { if (!is.na(seed)) set.seed(seed) if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) if (is.matrix(x)) N <- nrow(x) else N <- length(x) if (N < 2) stop("cannot cluster less than 2 samples") if (!is.function(s)) { if (!is.character(s) || !exists(s, mode="function")) stop("invalid distance function") s <- match.fun(s) } sim <- s(x=x, ...) if (!is(sim, "mMatrix") || (nrow(sim) != N) || ncol(sim) != N) stop("computation of similarity matrix failed") apres <- apclusterK(s=sim, K=K, prc=prc, bimaxit=bimaxit, exact=exact, maxits=maxits, convits=convits, lam=lam, includeSim=FALSE, details=details, nonoise=nonoise, verbose=verbose) apres@call <- deparse(sys.call(-1)) if (includeSim) apres@sim <- sim apres } setMethod("apclusterK", signature(s="function" , x="ANY"), apclusterK.function) setMethod("apclusterK", signature(s="character", x="ANY"), apclusterK.function) apcluster/R/sort-methods.R0000644000176200001440000000200413527026237015233 0ustar liggesuserssort.ExClust <- function(x, decreasing=FALSE, sortBy=c("aggExCluster", "size", "nameExemplar", "noExemplar"), ...) { sortBy <- match.arg(sortBy) if (sortBy == "aggExCluster") { if (all(dim(x@sim) <= 1)) stop("cannot sort by agglomerative clustering\n", "because similarity matrix not included in object") else perm <- aggExCluster(x=x)@order } else if (sortBy == "size") perm <- order(sapply(x@clusters, length)) else if (sortBy == "nameExemplar") { if (length(names(x@exemplars)) > 0) perm <- order(x@exemplars) else stop("no names available for exemplars") } else if (sortBy == "noExemplar") perm <- order(x@exemplars) if (decreasing) perm <- rev(perm) x@exemplars <- x@exemplars[perm] x@clusters <- x@clusters[perm] x } #setMethod("sort", signature("ExClust"), sort.ExClust, sealed=TRUE) apcluster/R/access-methods.R0000644000176200001440000000210513527026237015507 0ustar liggesuserssetMethod("[", signature(x="APResult", i="index", j="missing", drop="missing"), function(x, i, j, drop=FALSE) { x@clusters[i] }) setMethod("[[", signature(x="APResult", i="index", j="missing"), function(x, i, j) { x@clusters[[i]] }) setMethod("[", signature(x="ExClust", i="index", j="missing", drop="missing"), function(x, i, j, drop=FALSE) { x@clusters[i] }) setMethod("[[", signature(x="ExClust", i="index", j="missing"), function(x, i, j) { x@clusters[[i]] }) setMethod("[", signature(x="AggExResult", i="index", j="missing", drop="missing"), function(x, i, j, drop=FALSE) { lapply(i, function(index) cutree(x, k=index)) }) setMethod("[[", signature(x="AggExResult", i="index", j="missing"), function(x, i, j) { cutree(x, k=i) }) setMethod("similarity", signature(x="APResult"), function(x) x@sim) setMethod("similarity", signature(x="AggExResult"), function(x) x@sim) setMethod("similarity", signature(x="ExClust"), function(x) x@sim) apcluster/R/apclusterDemo.R0000644000176200001440000000110413527026237015412 0ustar liggesusersapclusterDemo <- function(l=100, d=2, seed=NA, ...) { if (!is.na(seed)) set.seed(seed) if (round(l) != l || l < 2) stop("'l' must be an integer at least as large as 2") else if (round(d) != d || d < 1) stop("'d' must be an integer at least as large as 1") x <- matrix(runif(l * d), c(l, d)) s <- negDistMat(x, r=2) # Call function apcluster(), turn on details for later plotting apresultObj <- apcluster(s, details=TRUE, ...) show(apresultObj) plot(apresultObj) invisible(list(x, s, apresultObj)) } apcluster/R/similarity.R0000644000176200001440000000764413527026237015010 0ustar liggesusersnegDistMat <- function(x, sel=NA, r=1, method="euclidean", p=2) { if (r <= 0) stop("'r' must be positive") if (missing(x)) return(function(x, sel=NA) negDistMat(x, sel, r=r, method=method, p=p)) if (is.data.frame(x)) dm <- as.matrix(simpleDist(x[, sapply(x, is.numeric)], sel, method=method, p=p)) else dm <- as.matrix(simpleDist(x, sel, method=method, p=p)) if (r != 1) -dm^r else -dm } expSimMat <- function(x, sel=NA, r=2, w=1, method="euclidean", p=2) { if (r <= 0) stop("'r' must be positive") if (missing(x)) return(function(x, sel=NA) expSimMat(x, sel, r=r, w=w, method=method, p=p)) if (is.data.frame(x)) dm <- as.matrix(simpleDist(x[,sapply(x, is.numeric)], sel, method=method, p=p)) else dm <- as.matrix(simpleDist(x, sel, method=method, p=p)) exp(-(dm / w)^r) } linSimMat <- function(x, sel=NA, w=1, method="euclidean", p=2) { if (w <= 0) stop("'w' must be positive") if (missing(x)) return(function(x, sel=NA) linSimMat(x, sel, w=w, method=method, p=p)) if (is.data.frame(x)) dm <- as.matrix(simpleDist(x[,sapply(x,is.numeric)], sel, method=method, p=p)) else dm <- as.matrix(simpleDist(x, sel, method=method, p=p)) pmax(1 - dm / w, 0) } corSimMat <- function(x, sel=NA, r=1, signed=TRUE, method="pearson") { if (missing(x)) return(function(x, sel=NA) corSimMat(x, sel, r=r, signed=signed, method=method)) if (is.vector(x) || (is.list(x) && !is.data.frame(x))) stop("no correlation for vector or list") if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) else x <- as.matrix(x) N <- nrow(x) # if rownames available they are assigned by cor if (length(sel) == 1 && is.na(sel)) { mat <- cor(x=t(x), method=method) if (length(rownames(x)) == 0) dimnames(mat) <- list(seq_len(N), seq_len(N)) } else if (is.numeric(sel) && length(sel) > 0) { mat <- cor(x=t(x), y=t(x[sel, ]), method=method) if (length(rownames(x)) == 0) dimnames(mat) <- list(seq_len(N), sel) } else stop("invalid 'sel' argument") if (signed) { if (r != 1) mat <- sign(mat) * abs(mat)^r } else { if (r == 1) mat <- abs(mat) else mat <- abs(mat)^r } mat } linKernel <- function(x, sel=NA, normalize=FALSE) { if (missing(x)) return(function(x, sel=NA) linKernel(x, sel, normalize=normalize)) if (is.data.frame(x)) x <- as.matrix(x[, sapply(x, is.numeric)]) else x <- as.matrix(x) N <- nrow(x) if (!is.double(x)) storage.mode(x) <- "double" if (length(sel) == 1 && is.na(sel)) { mat <- tcrossprod(x) if (normalize) { di <- 1 / sqrt(diag(mat)) di[which(is.infinite(di))] <- 0 mat <- mat * (di %o% di) } if (length(rownames(x)) > 0) dimnames(mat) <- list(rownames(x), rownames(x)) else dimnames(mat) <- list(seq_len(N), seq_len(N)) } else if (is.numeric(sel) && length(sel) > 0) { mat <- tcrossprod(x, x[sel, , drop=FALSE]) if (normalize) { di <- 1 / sqrt(sapply(1:nrow(x), function(i) x[i,] %*% x[i,])) di[which(is.infinite(di))] <- 0 mat <- mat * (di %o% di[sel]) } if (length(rownames(x)) > 0) dimnames(mat) <- list(rownames(x), rownames(x)[sel]) else dimnames(mat) <- list(seq_len(N), sel) } else stop("invalid 'sel' argument") mat } apcluster/R/simpleDist.R0000644000176200001440000000331513527026237014726 0ustar liggesusers# This is a modification of # File src/library/stats/R/dist.R # Part of the R package, http://www.R-project.org # Changes: # added possibility to make sub-selection of columns (argument sel) # removed all functionality not necessary for package apcluster # This program is free software; you can redistribute it and/or modify simpleDist <- function(x, sel, method="euclidean", p=2) { ## account for possible spellings of euclid?an if(!is.na(pmatch(method, "euclidian"))) method <- "euclidean" METHODS <- c("euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski", "discrepancy") method <- pmatch(method, METHODS) if(is.na(method)) stop("invalid distance method") if(method == -1) stop("ambiguous distance method") x <- as.matrix(x) N <- nrow(x) if (!is.double(x)) storage.mode(x) <- "double" if (length(sel) == 1 && is.na(sel)) { d <- .Call("CdistR", x, as.integer(NA), method, p) dm <- matrix(0, N, N) dm[row(dm) > col(dm)] <- d dm <- dm + t(dm) if (length(rownames(x)) > 0) dimnames(dm) <- list(rownames(x), rownames(x)) else dimnames(dm) <- list(seq_len(N), seq_len(N)) } else if (is.numeric(sel) && length(sel) > 0) { if (max(sel) > N || min(sel) < 1) stop("'sel' is no subset of '1:nrow(x)'") d <- .Call("CdistR", x, as.integer(sel - 1), method, p) dm <- matrix(d, N, length(sel)) if (length(rownames(x)) > 0) dimnames(dm) <- list(rownames(x), rownames(x)[sel]) else dimnames(dm) <- list(seq_len(N), sel) } else stop("invalid 'sel' argument") dm } apcluster/R/heatmap-methods.R0000644000176200001440000002202113527026237015664 0ustar liggesusersheatmap.ExClust <- function(x, y, ...) { if (!all(dim(x@sim) <= 1)) return(invisible(heatmap(x, x@sim, ...))) else stop("similarity matrix is missing for heatmap plotting") } setMethod("heatmap", signature(x="ExClust", y="missing"), heatmap.ExClust) heatmap.ExClust.matrix <- function(x, y, ...) { if (all(dim(y) <= 1)) stop("'y' must be a non-empty similarity matrix") else if (x@l != nrow(y)) stop("size of clustering result does not fit to size of data set") else if (nrow(y) != ncol(y) && length(x@sel) == 0) stop("similarity matrix must be quadratic") if (any(y == -Inf)) { rng <- range(y[which(y > -Inf)]) fill <- 2 * rng[1] - rng[2] y[which(y == -Inf)] <- fill } aggres <- aggExCluster(y, x) heatmap(aggres, y, ...) return(invisible(aggres)) } setMethod("heatmap", signature(x="ExClust", y="matrix"), heatmap.ExClust.matrix) heatmap.ExClust.sparseMatrix <- function(x, y, ...) { if (all(dim(y) <= 1)) stop("'y' must be a non-empty similarity matrix") else if (x@l != nrow(y)) stop("size of clustering result does not fit to size of data set") else if (nrow(y) != ncol(y)) stop("similarity matrix must be quadratic") aggres <- aggExCluster(y, x, includeSim=TRUE) heatmap(aggres, aggres@sim, ...) aggres@sim <- matrix(ncol=0, nrow=0) return(invisible(aggres)) } setMethod("heatmap", signature(x="ExClust", y="sparseMatrix"), heatmap.ExClust.sparseMatrix) heatmap.ExClust.Matrix <- function(x, y, ...) { y <- try(as(y, "matrix")) if (class(y) == "try-error") stop("cannot cast 'y' (class '", class(y), "') to class 'matrix'") return(invisible(heatmap(x, y, ...))) } setMethod("heatmap", signature(x="ExClust", y="Matrix"), heatmap.ExClust.Matrix) heatmap.AggExResult <- function(x, y, ...) { if (!all(dim(x@sim) <= 1)) heatmap(x, x@sim, ...) else stop("similarity matrix is missing for heatmap plotting") } setMethod("heatmap", signature(x="AggExResult", y="missing"), heatmap.AggExResult) heatmap.AggExResult.matrix <- function(x, y, Rowv=TRUE, Colv=TRUE, sideColors=NULL, col=heat.colors(12), base=0.05, add.expr, margins=c(5, 5, 2), cexRow=max(min(35 / nrow(y), 1), 0.1), cexCol=max(min(35 / ncol(y), 1), 0.1), main=NULL, dendScale=1, barScale=1, legend=c("none", "col"), ...) { if (all(dim(y) <= 1)) stop("'y' must be a non-empty matrix") else if (x@l != nrow(y)) stop("size of clustering result does not fit to size of data set") else if (length(x@sel) == 0 && ncol(y) != nrow(y)) stop("'y' must be quadratic") else if (length(x@sel) > 0 && ncol(y) != length(x@sel)) stop("no. of columns in 'y' and no. of selected samples in 'x' ", "do not match") legend <- match.arg(legend) rowInd <- unlist(x@clusters[[x@maxNoClusters]][x@order]) doRdend <- TRUE doCdend <- TRUE dend <- NULL if (is.na(Rowv) || identical(Rowv, FALSE) || x@maxNoClusters < 3) doRdend <- FALSE else { dend <- as.dendrogram(x, base=base, useNames=FALSE) rowInd <- as.numeric(order.dendrogram(dend)) } colInd <- rowInd if (length(x@sel) > 0) { colInd <- rank(intersect(rowInd, x@sel)) doCdend <- FALSE } else if (is.na(Colv) || identical(Colv, FALSE) || x@maxNoClusters < 3) doCdend <- FALSE else if (!is.na(Colv) && !doRdend) { dend <- as.dendrogram(x, base=base, useNames=FALSE) rowInd <- as.numeric(order.dendrogram(dend)) colInd <- rowInd } if ((doRdend || doCdend) && (!is.numeric(dendScale) || length(dendScale) != 1 || dendScale <= 0 || dendScale > 2)) stop("'dendScale' must be a single positive value not larger than 2") if (is.null(sideColors)) { if (length(x) != nrow(y)) { lx <- length(x) lx2 <- lx + if (lx %% 2) 1 else 0 ind <- as.vector(t(matrix(1:lx2, lx2 / 2)))[1:lx] sideColors <- rainbow(lx)[ind] } } else if (any(is.na(sideColors))) sideColors <- NULL else if (!is.character(sideColors)) stop("'sideColors' must be vector of colors, NA or NULL") else { if (length(sideColors) < 2) stop("use at least two different colors in 'sideColors' argument") if (length(sideColors) < length(x)) sideColors <- rep(sideColors, length.out=length(x)) else sideColors <- sideColors[1:length(x)] } if (length(rownames(y)) == 0) { labRow <- as.character(rowInd) if (length(x@sel) > 0) labCol <- as.character(intersect(rowInd, x@sel)) } else { labRow <- rownames(y)[rowInd] if (length(x@sel) > 0) labCol <- rownames(y)[intersect(rowInd, x@sel)] } if (length(colnames(y)) == 0) labCol <- as.character(colInd) else labCol <- colnames(y)[colInd] lmat <- rbind(c(NA, 3), 2:1) lwid <- c(if (doRdend) dendScale else 0.05, 4) lhei <- c((if (doCdend) dendScale else 0.05) + if (!is.null(main)) 0.2 else 0, 4) if (length(sideColors) > 0) { if (!is.numeric(barScale) || length(barScale) != 1 || barScale <= 0 || barScale > 4) stop("'barScale' must be a single positive value not larger than 4") invIndex <- rep(0, nrow(y)) for (i in 1:x@maxNoClusters) invIndex[x@clusters[[x@maxNoClusters]][[i]]] <- i srtIndex <- unique(invIndex[rowInd]) rowColors <- rep(sideColors, sapply(x@clusters[[x@maxNoClusters]][srtIndex], length)) if (length(x@sel) > 0) colColors <- rep(sideColors, sapply(x@clusters[[x@maxNoClusters]][srtIndex], function(cl) length(intersect(cl, x@sel)))) else colColors <- rowColors lmat <- rbind(lmat[1, ] + 1, c(NA, 1), lmat[2, ] + 1) lhei <- c(lhei[1L], 0.1 * barScale, lhei[2L]) lmat <- cbind(lmat[, 1] + 1, c(rep(NA, nrow(lmat) - 1), 1), lmat[, 2] + 1) lwid <- c(lwid[1L], 0.1 * barScale, lwid[2L]) } lmat[is.na(lmat)] <- 0 if (legend != "none") { lmat <- cbind(lmat, c(rep(0, nrow(lmat) - 1), max(lmat) + 1)) lwid <- c(lwid, 0.25) } dev.hold() on.exit(dev.flush()) op <- par(no.readonly=TRUE) on.exit(par(op), add=TRUE) layout(lmat, widths=lwid, heights=lhei, respect=TRUE) if (length(sideColors) > 0) { par(mar=c(margins[1], 0, 0, 0.5)) image(rbind(1:nrow(y)), col=rev(rowColors), axes=FALSE) par(mar=c(0.5, 0, 0, margins[2])) image(cbind(1:ncol(y)), col=colColors, axes=FALSE) } par(mar=c(margins[1], 0, 0, margins[2])) image(1:ncol(y), 1:nrow(y), t(y[rev(rowInd), colInd]), xlim=(0.5 + c(0, ncol(y))), ylim=(0.5 + c(0, nrow(y))), axes=FALSE, xlab="", ylab="", col=col, ...) if (cexCol > 0) axis(1, 1:ncol(y), labels=labCol, las=2, line=-0.5, tick=0, cex.axis=cexCol) if (cexRow > 0) axis(4, 1:nrow(y), labels=rev(labRow), las=2, line=-0.5, tick=0, cex.axis=cexRow) if (!missing(add.expr)) eval.parent(substitute(add.expr)) par(mar=c(margins[1], 0, 0, 0)) if (doRdend) plot(revDend.local(dend), horiz=TRUE, axes=FALSE, yaxs="i", leaflab="none") else frame() par(mar=c(0, 0, if (!is.null(main)) 1 else 0, margins[2])) if (doCdend) plot(dend, axes=FALSE, xaxs="i", leaflab="none") else frame() if (!is.null(main)) { par(xpd=NA) title(main, cex.main=(1.5 * op[["cex.main"]])) } if (legend != "none") { par(mar=c(margins[1], 0, 0, margins[3])) rng <- range(y) colvals <- seq(rng[1], rng[2], length.out=length(col)) image(y=colvals, z=rbind(colvals), col=col, axes=FALSE, xlab="", ylab="") axis(4) } return(invisible(dend)) } setMethod("heatmap", signature(x="AggExResult", y="matrix"), heatmap.AggExResult.matrix) setMethod("heatmap", signature(x="matrix", y="missing"), function(x, y, ...) stats::heatmap(x=x, ...)) setMethod("heatmap", signature(x="missing", y="matrix"), function(x, y, ...) stats::heatmap(x=y, ...)) apcluster/MD50000644000176200001440000000740013527172536012600 0ustar liggesusers6aa2f2c13451665fe6cac02e9e437aa4 *DESCRIPTION fbb73aa11f70a7de92cd2ae5b1099ccf *NAMESPACE 15e2a8926029069370cbddc7689e1933 *R/AllClasses.R 9368032ea24b762d440ea7e2dd4904fb *R/AllGenerics.R 79fcb30e6202da02176b775ed1a66b4b *R/access-methods.R 3130bcd2998cc2e895ccc20037e9e082 *R/aggExCluster-methods.R 0c7021551b28463ad39a43b4f4df5ad2 *R/apcluster-methods.R 9ac279fc9332af5bf366d2c68c742628 *R/apclusterDemo.R ef7914bb90339624026825dd1ccdee7c *R/apclusterK-methods.R 83ec9aecb36933ef7689593c74869db7 *R/apclusterL-methods.R 34bf6cb9c85dd238c83d1739f1eadcc9 *R/coerce-methods.R a4adfdf2bff89534d31d3af6680199b9 *R/conversions.R 1abcdec975db5aaa2d63ffe7768c3406 *R/cutree-methods.R 4701c406bb53eec612a2e09c9aff481d *R/heatmap-methods.R b542abbc42500368b45f26b98c064abe *R/labels-methods.R a33e8f5c04f5862182e08f97abf29875 *R/length-methods.R 24d9e15ff4844e4748336a6f3c2373c7 *R/plot-methods.R a2b2a3230744ddaf27377fe061290b1d *R/preferenceRange-methods.R 5015d224d2ba1090c39ae2385d6d40d4 *R/revDend.R adde0ebd660c4c8bfa73c70b833c688b *R/show-methods.R 644a0a66aa2dbee14aa41cc1008ed659 *R/similarity.R 95f1e04b6d448b91abb309ee25977cf2 *R/simpleDist.R 4bf4b98618b2bfe598cc640c35bae301 *R/sort-methods.R d5bdec669d6d8972e196ae87c3b40cc2 *README.md cb4d5a34aae637c875659f4d449f61b3 *TODO a53066f619d0f5833da4fe38f1f15d4a *build/vignette.rds af577c272e9b2fe46a3c3769d763b1ff *inst/CITATION 199b737b3945550d6e9ef53245cf1701 *inst/COPYRIGHT 998f62255855ce5d6d21d858d54578b5 *inst/NEWS dcc98db904fb98c6ac8cd586d36e86f0 *inst/doc/apcluster.R 33d979ca1fc36a11ef01abe7a4afc09e *inst/doc/apcluster.Rnw 711850e4f6ef27a369820ea688cad8b2 *inst/doc/apcluster.pdf 474a3b90926f3863e5447f805f7f5436 *inst/examples/ch22Promoters.fasta c23a403e6e7f2d6c05b9375f9592fa3d *man/APResult-class.Rd 40d6c25d38c3943936e07a9dfb1817f4 *man/AggExResult-class.Rd fd042c0264134c8910156163a37d155d *man/ExClust-class.Rd c9e6883eb53e7d31d6a00946f5232040 *man/aggExCluster-methods.Rd 7d648dc80d0b53bb5963a664dacebe10 *man/apcluster-deprecated.Rd 41c00ad6af24129e80c0a8fc3b165b29 *man/apcluster-methods.Rd e6fd379440a66d90d10ca2331645f1d3 *man/apcluster-package.Rd 5595cf55e82443130bf3bccdcb34c885 *man/apclusterDemo.Rd a91563c3a4bd24092fb301d41598dca4 *man/apclusterK-methods.Rd d8b4f664913e30793bc9d95ecdd59dce *man/apclusterL-methods.Rd 5d3f6ebac2b3bdb2873350a918faa690 *man/coerce-methods.Rd e9016429b697aa6871bed2bc7d43c8bd *man/conversions.Rd a77bb2f6cb951cf1a34a30a0299760ed *man/cutree-methods.Rd 56c522c43768db71c8e5f0b4557394bb *man/heatmap-methods.Rd 26b9d1b73803ad918db6f444791e1180 *man/labels-methods.Rd f091be7c939b9d24a3b305eec742749c *man/plot-methods.Rd f85a7ab4a9e068bf56c5e09fabc91608 *man/preferenceRange-methods.Rd eae5e0df497451242480724a48f5efd4 *man/show-methods.Rd fcffbfbad17fc8afff26f0e0dc821158 *man/similarities.Rd 36ffe0c52b7ed46de04b935fbc5385e2 *man/sort-methods.Rd 86402d466a35d3f3e63192b68e8fd60b *src/R_init_apcluster.cpp 732ed3fe7a453aafc654d42945439a2b *src/aggExClusterC.cpp c76bcf1a5d8da0af578bc874b618f30f *src/aggExClusterC.h 69d0991cc0d6d6eadcb155791ad37f1e *src/apclusterC.cpp d61a3a076cec2b8fa06ec04a87765bae *src/apclusterCppHeaders.h 5ae6f01abaa7f4c73761a645294154d3 *src/apclusterLeveragedC.cpp f496d348b00efe0c4d2bff4b7c1ce98a *src/apclusterSparseC.cpp fd4e674b808035893f83978576394df6 *src/distanceL.c 2fd55b6e14bd27888af7edc1694233bc *src/distanceL.h 7cbf1c2e2a8a86822374af2c57d5d10c *src/preferenceRangeC.cpp 0b207f0cd197c40182fb856e13f4ee42 *src/preferenceRangeSparseC.cpp 98029656a3cfe00e846f3d93b6bc4525 *vignettes/JKU_EN_noName.pdf 33d979ca1fc36a11ef01abe7a4afc09e *vignettes/apcluster.Rnw e844d32c372914997a1c569bae4a23ba *vignettes/apcluster.bib 0ee0d701f61a0631126fa8837ef470cc *vignettes/bioinf-article.txi 796c822a42721e608226ad8b86954533 *vignettes/bioinf-bar.png 51f59572d0bc3182986dac2c20ad5139 *vignettes/bioinf.cls apcluster/inst/0000755000176200001440000000000013527065722013242 5ustar liggesusersapcluster/inst/examples/0000755000176200001440000000000013527026237015056 5ustar liggesusersapcluster/inst/examples/ch22Promoters.fasta0000644000176200001440000045417313527026237020565 0ustar liggesusers>NM_001169111 AGACTTAAGGGACCTGGTCACCACGCTCGGTGAGGGGGACGGGGTGTAGGGGAGCGGAGGCGGCGGGGGGTGCTTCCCGC TGGGGCCGCCCCGACCCGGCCGCGCCTAAGACCCGTCCCCGCCCGCAGGGGGCGCCCTGCTCTGGCTCAGCGGACACGCG GGGACTCAGGCCCAGGGCGCTGCCCGGGTGGCCGCGGCGCTGGACGACGGCTCGGCCCTTGGCCGCTTCGAGCGGATGCT GGCGGCGCAGGGCGTGGATCCCGGTCTGGCCCGAGCCCTGTGCTCGGGAAGTCCCGCAGAACGCCGGCAGCTGCTGCCTC GCGCCCGGGAGCAGGAGGAGCTGCTGGCGCCCGCAGATGGTGAGCGTCGGGGGAGTCCCCGTCCTTCCGCCTCCGCCATC CCCTTCCCTTCCCGAGGCCCCGCCCCTTCCCGAGCCCGCGCCTCTCAGCCCCTCTCCCCGCAGGCACCGTGGAGCTGGTC CGGGCGCTGCCGCTGGCGCTGGTGCTGCACGAGCTCGGGGCCGGGCGCAGCCGCGCTGGGGAGCCGCTCCGCCTGGGGGT GGGCGCAGAGCTGCTGGTCGACGTGGGTCAGAGGCTGCGCCGTGGTGAGCGCCGCCCCCGCCCTGCTGGCCCCGCACCCC CGCCCAGCTCCGGCCGCGCGGCCTCTAACAGCCCCTCGCTCTGCAGGGACCCCCTGGCTCCGCGTGCACCGGGACGGCCC CGCGCTCAGCGGCCCGCAGAGCCGCGCCCTGCAGGAGGCGCTCGTACTCTCCGACCGCGCGCCATTCGCCGCCCCCTCGC CCTTCGCAGAGCTCGTTCTGCCGCCGCAGCAATAAAGCTCCTTTGCCGCGAAACCTTGTCAGTGCTTGGGCGGGAGCGGA AGGATCCAGGGCTGCGGAGGCGGGGGCCGTCTCGATGAACACGTGACCCCCGGCGGGCTCCGCCTTCCGCGCACGCGCTG AGAGCCTGTCAGCGGCTGCGCCCGTGTGCGCATGCGCAGC >NM_012324 CCCGGCTAATTTTTTTGTATTTTTAGTAAAGACGGGGTTTCACCATGTTGGCCAGGATGGTCTCTGGTCTCGATCTCTTG ACGTCGTGATCCACCCGCCTTGGCCTCTCAAAGTGGTGGGATTGCAGGCGTGAGCCACCGCGCCCAGCCACCGGTCTCTA TTTTAGAAAGAAAAAAAGTGTCCTGCAGTCTCTCCCTAGTTCTGCGCCCTCAACCCTGATCTCCCGCCTCCTCCCACAGC CACCGTCTCGAGCTCAGCTTCAACCATGGCCCTCCCCACAGGGCTCCATCCCAAGCCAGAGCGGGTCAGTTCCCTACACA GGGCCCAGCAACACGGTGCCCAAGAAAAAGTGTTTCCAGTGGGACGCATGTCGCCTCCGTGGGTGCTAACTTCTCCCAGT GCCCGTCGGTACGTCCGTCCGGCTGTGCAGTCTCTACTGAGTGCTCAAAGTCCACTTTTAGCCCCAGCCAGCATCCTCTG AGTACCTTGTGCTCGATTCTGAATCCAGCCCTGCTCGGCGACCCTCGTGCAGACGTCCCCGTGCAGCCCCGGTCAGCACC CCGTGGGGACAGCTCCGATCAGCACCCGACGGCGGACAGCTCCTCCCGCGCCTCCCGCCTCGCCCGCCACCCCGCTCCGG GCCGCACCCGGGTTAGGGTTCCTGGGGGGATCCTGGGCGCGGCGGCGCAGCTCCCGGGGCCGCCCCGGCCTCTCGCCCAG AGGAAACAGCCCACGGCGAACCCGAGGCCCGCGGACCCCGGCGCTGCCTCCTCGGCCTCCCGCCCCGCGCGGGTCCTCCA GGGCGGGGCCCGACGCCCACCCGCCCGCCCCTTCCCTCCCGCCCCTCCCCGGGAAAAATCCTCATCGCACGCCCGGCCCT TCCCCAACCAGCGCCCGGCAGTGAAGCCGCCGCCTCTCCTCCAACCAGCGTCCCCGGCCGCGTCCCTCCCCCGCCTCCCC CGCCGCCCTCCCCGCGCCGCCGCGGAGTCCGGGCGAGGTG >NM_144704 CACATGTGCCCTCTGGGCCTGGTCACCCCACCACCTGCCCCCAGTGTGACCCATGCAGGGCCTGTTCCTGACCCTGAACG AGACCAGGACTCCCTGGGCTGCATTTCCTATCTGTAAAATTGTAGGAGGGTGGTGGTGGTGGGGGCTCGAACTTGCCCCC TGGGTGGGGTGGGGCATAAATAGTCCCAGAGGATGGCCTGGGAAGGCTGGCTGGGCCTGGCACAGGGGACTTTACTGCTG TCATTATTGTCCTCCTTACAGGAGAGGAGAGCAAGGCCCAGACCGGGGAGGAACCCACACAGCCTCTGTGCTCCAGCCTG CTTGAAAGACAAGGTCTACCTACAACGCAGAGATGCACACATTAAGGACAATGAAACACCCAAGTGTTAGGAACCAGAAT AATCAGCCCTAATAGAGGGGAGGCTGATCAGGGAGGGCCTCCTGGAGGAGGAGGCACAACATCAGGGTGCACTGTGATTT CTGGAGACCCAAGGAGTTCTGGTAAATGACAGGTGAGAAAAAGAAAATGTAATAAAATATAATTGAAAACAGACCCTGGT ATGTGTGGAGAGAGGGCCGGGAGGAACCTAGGACACCGGGGAACCTGAACTCCCCCAACCAGTGAAGGGAGCTGTGGGCA GCAAGGTTTGATTGGGGTTTTCTTTCTTGTGGAGGTTTCTCAGAGTGATTCAAGTTCCCCCACCCCGCCCACAGATGGTT CTGAGACTTTGGAAAGAAAGAAAAGGAAAAAAGACCCTGCCCGCGCCCCAGCTGGGCATCCCTGGGAGGTCGCGAGGATC CCCGGAGACCCAGACTCGGGCCCGGGGCGCCCCCGGCCAGAGCGGCCCCTGGCTGCCTCCCTACGCCCCGCGACTCCGGT CCGGACGCCGAGGGCCTCGGCCTGCCCCTGTCCCCCGGCCGCCCCCCACCTGCTCCGGCCCGGCGGGGCGGTGCTGGGCC CGCGGGCTCCCCGGCCGCAGTGCAAACGCAGCGCCAGACA >NM_002473 AAGCATGGTGGGATTGGCACAGGTGCACACAGAGAGATCAATGTATACAAGTCAGAAACAGCTTCAAGTATAATAGTTCT ATAGGCGATGAAGGTGCCAACTAAAATCAGTGGAGAAAACAGTGTTTGGACAAGTGGCTATTACAAAAATTATCTTAGGT TTCTTCCTTACCCCAAAAATAAATTCCAAATGGATCAAAAGATTTTTCATTTAAAAATGAAAACATTTTTTATCCTCTTG TAGTGGACAGTAACAAAAAAAAAGTGCAATTTGTAACAAGTACCTGAAAGGATGTATGCGAGTTAATGACATGGAGGTGA AGAGAGGCTCGGAAGGGTATTCCAGGTGGAGAGAACGGCCAGAGCGAAGGTTTGGAGGCTGAAAGGCAGCAACGTGCGGA TCCTAAAGAGGCAGGGTCAGGAATCGAACTCAAGACGCTCACAATGGAATCCAGGGCTGAGTCCATGCCCGCCCCCACAG GGATCATAATTATGTAAAATAGCATTTTTCCCATATATGGTACTTAATATCTGTCCTTGTGGTGGGATGACATGAGACTG AGAGCACAGCTCGCGGGGCGGGGTGTCAGAGTTCCAGACCTTCCCAGTCGGCTCCCGCAGGGCCTCGCCCCGGCCCAGGC AAGGCACCAAAACCCCGGCCCGGAGCTCTCCGCGCCCCGAGTCGCCGCCTCCTGATTGGATTCCCCCTGTGTCAATCCTT GTCCTAGAACCTGGCTGTCCGTTGGACCCGCCCTAGAGGGCGGGGCTCCCGCCTAGGAAGCGCGGGGGAAGGTGGAGCGG GTGGAGGTGGGGCGGAAAGAGGATGTTGAATCCCCACCCATCTGGCCGCAGAGGCTCCGCCCACCCCCTTTCCACAGGCC AATACGTCTGCCCATCAAGGCCAGGCGCGGCCTGCAGTGGGTGTAGCAGGAAGGGGGCGGGATTGTGCCCCAGGCTCCGC CCCGGAGCCGGCTCCCGGCTGGGAATGGTCCCGCGGCTCC >NM_001184970 TTTAGAGAACTGGGTCTTGCTATGTGGCCCAGGTTGGCCTCAAACTCCTGGGCTGAAGCGATTCTCCTGCCTCGGCGTCC CAAGAAGCTGGGATTCCAGGTGCATGTCACCATGCCTGGCTCTATCTGGCTTTTTCTTTTAACGTTTTAGTTTAAGCATT TTCCCATAGTGCTACACAGTCATCATTATTATTCTCAAGGGTTGGGCTGACCTGGGTTTCTAATCCTGGCTCTGCCATTT ACTCTCTTTACTCCACATCACCCCCAGCAAGTTACCTGGCTCACCCCTCACCTGGGGTTCCTCTCACCATCCTCTCCACC TGGATGACATGAAGCAGTGCTTGGACAGCGCGTAGGACAGTGCTCAGGAAGTGCTCTCCATTTTCCTTCAAGAGTATTTC CCTCTGCAGAACGGGGCTAATACCCTATCATGCAAGGTGATTGTGAGAATTGGAAAGAATGCGTGTGCATTGCCTGGTGC CTTGCCATCCAAATATATTTTATTAGAGAGAGCAGCAACATACGCCCCCCCAACCCCCCGTTTAAACTAAGCGGGTCCAC GTGGAATGACGCTTTTGGCGCAAGTCGGAGGAGCTCCTAACGACATTAGCTTCTTTGAGTCCCTTGGGAGAGGAAACTTT CTGAAAGACTGTAGGATTACCTTCCCTGAACTTCCGGTCAGGTGCGGTGCTGCCCTGCCGCGCCCTCTTACCCCTGGATG CCGACGAAACCGCAAAACTCCAGCCCCGGGAAGCGCGTCTCAAGGACCACCACCAGCGAGCGGCTTTGGGAGAGTAATCT GCGCCACCCTCGCAGCCCATTAAATAGGCACTCCCCGTTTGATTGACAGGAGAAGTCACCAATGCGCGTCCTGGGGCTTT CCCTCGTCCTCACGCGGGGTGAGCCGCCTCTCTACTCATCTGGCCCAATCGGGGGCGCCGGGGAGGCTGTGGGGCGGGGC TCGGTGTCCGGTAGCCAATGGACAGAGCCCAGCGGGAGCG >NM_002883 ATAAAGGTTGCAGACATCATGTCCTTTTTGTCCCTAATTATTTCAGCATTTTTTTCCAAGAACAAGGGCAGTCTCTTACA TAACCCTGTACCATAATCAAAATTAATAAATTTAACATTGATACAATACTATTATCTAATATAGTCAAGTTTTGCTGTTT CAGTATTGTCCTTTATAGCAATCCCCACCCAGGATCCGATCCAGGACCATGTCTTGCATTCAGTTGTCTTTTTCGTTTCC TGTAATCGGCAACAGTTCCTCAGTTTTTCTTTGTCTTACATAATACAGACATTTCCGGAAGGGTACAGATCAGTTATTCT GTACCATGTCCCTCAGCTTGGGTTTCTCATGATTAGACTAAGGTCATGCATTATAGACCGGACGGTGACGCCGTGTTTTT CTCAGTGCATCACACAGAAAGCGTGCGATGAATGTCAGCTTGTCCTGCTGTTGATGTTAACGTGGCCGTTCAAGTGGTGT CTGCGGAGCTTCTCTACGATAGTTACTATTTCCCCTTTTTAATTATCAGGTAATTTGTGCATATTTATGTGGAAGCCTTC GAATGCCCTTTCAGTTTCATGGGACGGAAAAGAGTCTTTTCTTTCGGGAAATGGATACCTGTGTCTTGCCCAAGAGACCC AGCAGCCAGCAGTACCTGTTATCAACAAAGTTACGCGAACAAAACCTTTCCGGAAGAGCTGAGGGACCTGGGTGCAACGC ATTCTGGGAATTGTAGTCTCTGGGCGCTCCCGGCTGAACACCTCCCTGCGGTCTCTGCGAGAAAGAGCCAGAAGCCACCA GGGGAGGGCGAAGAGGAGGGCGGTGGAGGACGCTCTGCGCGCGGTGCGCCATGGGACGGGTAGTTCGCGGTGCGCGCCCC ATCGCGCTCCCAGATGGGGAACCGGACTACTCTACCCGAGAGGCCGCGCGAGCGGGGCGAGGGCAAGCCGGCCGGGGCCT CGAACAAATCAAATCGAAGCAAAGAAACTGCCGGCTTTCA >NM_001135772 GGACATATACCCACCGTTACGTGTCATACAGGATAGTTCCACTGCCCTGATTTTCTGTGCACCACTCATTCATCCCTCTC CTCTCCTCAAACCCCTGGCAGCCACTGACGCTTTACTGTCTTATTTGCTTTTTCCAGAATGTCATAGAGTTGGACTCATA CAGTATGTAGCCTTTTCACATTGGCTCTCTCACCTACTAATATGCATTTAAGTTTCCTCCATGTCTTTTCATGGCTTGAT AGATCATTTCTTTTCCTTCTTTCTTTTCTTTTTTCTTTTTCTTTTCTTTTTTTTTTTTTGAGACGGAGGCTCACTCTGTC GCCCAGGCTGGAGAGCAATGGTGCGATCTCCACTCACTGCAACCTCCTCTTCCTGGGTTCAAATGATTCTCCTGCCTCAG CCTCCCGAGTAGCTGGGATAACAGGTGCCCGCCACCAAACCCAGCTAATTTTTTGTATTTTTAGTAGAGATGGGGTTTCA CCGTGTTAGCGAGGATGGTCTCGATATCCTGACCTCGTGATCCGCCCGCCTCGGCCCCCCAGAGTGCTGGGATAACAGGC GTGTGCCACCCCACCCAGCCAATAGGTCATTTCTTTTTAGCACTAAATAATACTCTATCCTGCATGTTTTGAATTGCCTT TTAGAGGTTCATTTACAGCATTTTCATGGTAGCAAAAAAATCAGAAATAACCCGAAGTTATTTAAAGAACTTACAGCACA GTGCACTATGCAGTCATCAAAAGAACAGGGAATCTTTCTATTCACGAGAAGGGAAGGTGCCCAGAATTTACTGTTAACTG AGAACAAGTTGGAAATAGTATATTTTGATTGCCCAATTTAAGGCAGGAATACCTGAAACCTTACCTGTTGGTTACTTCTG ATGGGTGAGATTTTAGGGCAAGTTCACTGTCTATTGTTTCATGTCTGCATCTGTGTGGACAAAAACAAAAAAACAGATCT GTGTTAGCTGCTTCTCCTCTTGCCCTGCCCCCGTCACAGG >NM_001102371 CCAGCTACTAGGGAGGCTGGGGCAGAAAAATGGCGTGAACCTGGGAGGTGGAGCTTGCAGTGAGCCGAGATCACGCCACT GCACTCCAGCCTGGGCGACAGAGTGAGACTCCATCTCAAAAAAAAAAAAAAAAGAAAAAGTAAATGACATTCTTTGGTAG GTACTTGTAGGCCTGAGAGGTCAGGAAAATTTTTCTAAGGAGTCCCCAGCTACGATTTTTAATTCAAAGAATCTCCAGCC ATGCAAATCTGCAGGCTCGCAGTTCTTTCCACCTGCCCTTCCCCCAAGAACACTCAGCCCCATTTCACTGGACTTTGAAG GTTCCTACACTGACTTCGTATTTCTCCCCATGTAAATCTCATGCAGGGGCCACTTGCCACCCCTGGGAAGCCAACCTTCA TCATCCAGTTCACGTTATCTTCCTCCTGCCATTTATCTTGCCTCCACTGAGTTTTAATTCCAGGCTCCACTTCCTGTGAT TGTAAACATATCCCTTCATCCCTATGTCTCCATTTGACCAGTCAGCTACCAAATGTCGGAAACAATGCCTTGCCCACCTC TCCTATTTGGTGGAAGATTAGGACAGTCGTGTATGTTACTTGGTAAGCAGTACACTGAGTCACTGTAGCAAACGCTTGTT AATTGGCTTATCGGTCCTGGCTCCACCACGCTGGTTTCCAGTCCCACAAAACTGGGTAGGCCAACTAGTTTTAGCGTTTG GCTACATTCATGGAATATGAGAGCTAGGATTAGCTCCAAAAATCACGTGCTCCCCTCCCTCCGTGTAGAGAGGCACCTTT TAAAACGAAGGACCCAGTTCCCCATCCCGGATCTCCAGACCTTCCACCCTCGCGGGTGCGCGCTAGCCCCAGGCCCCTCT ACCAGCCCCCGGAGCAGCGAACGCAGCACGCGCGCGCCTCTCCCGCGCTGGGCCGGAGCAGGCAGCCTGCCAGCTGGTCC CGGCGTGCCGCGCGCCGCGCACGTGACCCCGCCCCCTGCC >NM_001051 CAGGAATCAGCACAGGCAGGGGCACGGCATCCCAAGACATCTGGGCCTGTGCTCAGGACTGTACGGCAGAGTCTCTTAGA CCAAAGATCAGTAAATATGGCCCACGGGGCAAATCCCACCCACTGCCTGTTTTTGTACAGCCTAGGAGCTGAGAATGGTT TTTACGGATGAACATTTGCAATCGGTTTGATGAAACACTAACTCTAAACTCCAATTAAGCAAAAGGTGATGTCTGTAAAA AGAACTCTATTCTTCTCATGAGTGGACCTACATTACAAAATACTGGCCTCAATTATTATTATTCTATTTTGAGTTTTGTC AGTTACAAAATAGTAAAAATCTGTTTTCTCACTGCACAATGATTTTGCCCTCAAAGCCTAAAATATTGGTTCTCTGTTCT GTCCTTCCACTCCTCACCCTGCCTGGGGCTCTCCAGATGTAACCAATCCCAGGACTAATGACCCCCACCCGGCCTCCCCA GTGGTCCGTGCTGCGGCCGGTGTGCCCGACTGCAGGGCTGGACTGTGGACTCCCGGGCTGGCCAGCCCCACACCCAGCCT TGCCTTGGGACACAGCTGCTGCCCCGGGGGACCTGTGCCGCAGTGGCCTCACGAGCTGCTCTGGCTACTGGCTGGCAGCC TCGGCTCCCCTGAGCACTGAGCACATTCTTCTCTCCAACTCCCTGCAGGAGCCAAGGCCAGCGGGCGTGGGTGGCTGAAA TCTCCCCGGTAACAGGGTCTGCGCCCCTCCTGCTCCCTCTCCGGGCCTCCTCCCTTAACCTGCACCCCGCCCCCACCCCC CACACCTGCTCTCCGGCCCTCAGCCCCTCCCTGCTTACTCCCTCCTTCACGGGCTCCATGTCACCATCTGTGGCACAGTC CCTCTCTGTCACTCTCCCTGCCACCCCCTCATTCTCCTTCCTCCCTCCTGCCTCTCTCTGCATCTCTCCCTCTCACCCGT GTCTCCTCTCCTCTCTTTCCTTCTCGTCTTCTCCCTGTCA >NM_001128633 CCTGTAATCGCAGCACTTTAAGAGGCCGAGGCGGGTGGATCACTTGAGGTCAGAAGTTCAAGACCATCCTGGCCAACATA CTGAAACCCTGTCTCTACTAAAAAGTACAAAAAATTAGCTGGGCATGGTGGCTCAAGCCTGTAATCCCAGCTACTTGGGA GGCTGAGGCAGGAGAATCTCTTGAACGTGGAAGGTAGAGGTTGCAATGAGCCAAGATTGCGCCACTGCACTCCAGCCTGG CGACAGAGTGAGGCCCCATCTCAAAAAACAAAATCAATGTCTCAATGCAGACTGCCAGGTATCAGGTGTCCATCCATGTC TCCAAAAAGCCACTTGGCACCAGGAGCAGACAGGAAGGGCAAAGAGGAGCCAGACTGAAGCAGGGCTTCTTAGCTCCCAA GCCACACAGGTGGCCACCAGTCAGAGAGGCAGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATTTCTTCAGT TCAGTGTGTGTATGTATGTTTCTTCTGCAGCTCAGTGTATGTGTGTATTCCTTCAGCTCAGTATGTGTGTGTGTGTATGT TTCTTCTGCAGCTGTGTGTGTGTGTGTGTGTGTGTTTCTTCTGCAGCTCAGGATGCCTCCAACATTTCTGCTGAAGCCTC ACCCTCACTCCTGGCCCATCCTGAGGCCTCTACCTAAGATGCCAATGAGTAGCCCAGACACTGGGGCTCCAGTGTTTGTC ACCAGGTGGTACCTGGATGTGGGAGGTAGACAGGCCAGATGGCCAGTTTGGGCAGTGCCCCCATGCCTATCTGGCCCTGG GTCCCTATGCCACCTTGCTGGGGAGGGTCTTTTCGCTTACACCTCCTCTGAGCCGACTCTGCGCAGTAACACAAATGTGT ATCAGGCACATCCTTTCCTCAAAAGGTGGATGACCAGTTGGGTGATCAGGGCTGTTAGGGGGCTGAAGGGTCCTGGGGAG TCCAGGTCTAGCCAAGTTGAGGCCTATCCTGCTGCATTTT >NM_005198 GTAAGATCCTTCCTGAGAGGAACCAAGCCTCCTTGTCAATTAATGGGCTCTAGGTCTCAAAACTGACTCAGATTTAAACA GAATGATCATGATTTTCCACTGCAGCAAAAGTGACATTAGCCTTGTGATCACCAATTTTTGATTTCTTTCTGGTTATCAA ACAATACTCTAGTCAGATGCCCCAAAGAACACCATGGTTCGACAGACATTGCCACAGATCTCTGTGGGTCCAGCGTTCCT GGTCGCCGCTCTAGCCTGGGGCAGAAGCAGAAATGCAGGAGGCACGCGTTTAAATCAGGACGCCCTCAATGGGAGGTGCG CAGGCCGAGGAGGGGGCTGCGGCAAGCTGCGAGTCTTCACTTTCTTCGGCTCTTGGGTTTGACTCTGTAATTGGTTCTAG GCCTGGAGGAGACGAGGAGGATAGGGGGAGAGGGGAATGAATGAAGACGCGCATCTCAAGCGGGGCAGCAAAAGACTCCT CATTCAGAGGTGCGGCTCTACCGGCCAGGGAGTCCCCGTGTAGACTGGGCATTTATGCAACTGGAGTCATCGGAACTGTC CCAAGGGTCACATTCCTTCAGCAAATGTTTACTGCGTACCCACCGGGTGCCCGCATCCCGCACTCTGCCCGCGCTGTGCG GCCCTGCCTAGCGCGCGCGCCTCCTCCAGGCCTCACCCACGCTCAGGACGGACGCGCGCTGGACGGCTCTTCCTTGTCGG AGCGCCCCAGGGGTCGGGGAAGAGGGCCCGGCAAGGGAGCCCTCGCGCCGGAGCTGCAGCTGCAGCCGCCGCCCCGCCGC CCCGCCGGCTCCCACGGGGCAGAGACGCAGCTCCTCTCCGGTCTTCCCGTACGCTACCGCGCCCGGGCAGTTCCTCGCCC GCGCACGCGCCGCTCCGCCAACTGATTGGCCTCCGGCGCCTCGGATTGGCCCAGGCCGTCCAACAGCAGCCCCGCCCAGA GAGAGACCATTGGTCCTTGCCCATAGGGGCGGGGCCCGGC >NM_004737 GCCTGCGAGCCTCTCTACCACGGCAGCTGCGGGCCCGTCCCGCTTCCCTTCCCCCTTTTTCCGCGAGGCACGCCAAGCCC GAGGCGGCCGGGAGCCGCCGGGGTTGGGGGAAGAAGGGCGGGGAGCTCCCAGCTTGCACCCTTTCATCCCGACCCGGCCC GGGATCCCGGCTCCGGGTGTTGCTTCCGCCTGCCTGCCAGCCAGCGAGCTGAAGAAGCACCGGGGCGGAGTCTCGCCGGG GGGCGGAGCCTGTGCGGGGGCGAACTCTCGGTCCGCGCGGCTGCGGCGCTTGCCATTGGCCGGCCGCTCGGTCACGGGGT CGGGGGCGGGCGCCGACGCGGGCGCCGGCCCCGCCCCCGCTCGGAACCCAGCCCCGGCTCGCGGTCCCCCCCGGCTGCAC AGACATGACACAGACACACAGTCACTGCAGCTGCTGAGCGAGTCCGGCGCTCTGGGCACGCGGAGGCGGCGGGGCCAGCC CGGAGCCCGGACCCCAGCGCCCGCCCCTGCCGGTTCCCGCGCGGCGGCCCACTCCTGGCCGGGCGCGGGAGGCGGGGATC GCGCGCCGGCTCCGGCCAGCGGCGCCCGGCTGCCCGCGGCGGCTGCAGCGGCCGCCCAGCTCCGAGCGCCGGGCGCTCCG GGAAGCCGGCGCATCTCGGAGGCGGCGGCGGCGGCCAAGGCCGGCGAGCGCTCCCGGCGGCGGGGGCCGCCCGCCTCGGC TCCCCGCACCCACCGCGCCGCGATCCACTCGCCGCGCCTCCGCTCCCGTGACCTTCCCGGGGCGCCTCCCCTAGCCCCGC GCCCCCGGCCCCGCGCCCCAGGCCGGGGCGAGGCCTTTTCCGGCGCTTCTTTCCCGCGGAGCCGCGGGCGGGCGGCGCAG GCCCTGGGGGAGAGCGCGCCGCGGCCGGTTGCAGCCCCCCCCGCGCCGCCGCGTTCGGCGCCCGGCCCGGCCAGTCTGCT CCTGCCCCGCCGCCGCGCCGGAGCCCGGGCGCCCGAAGCT >NM_004900 GAAAACTCACCTTCCAAAAACAACCACTGGGAGTCCGCTTTGTGCAGAGGTTGGACAAGCTTCTGTGCAGGTAGGGGCGC TGCTGCTCCCCCTACCACCCACGCATCCTCCTCCCTGTCTGCATTCCCGTCGTCGTAGCCAGAGGAGTTCAGAGCCTCTA CAGAGAGCACAACTTCTCCAGCTGGAACAAACTCCCCTTAAAGGAATCTATTTAGGAAGATTATTTCAATGTACATTCAT TCCTCCAAAATATGCTTAGATGGACTTAAATAATCAGAAAGCTGTGTGTGTATGTGTTTCCCGTTTTCTTGGCCCACAAA GAACCCCTTGAGAGGTCCCTGGGCAGTGAGCCTGTTTATAGACACCCTTCTCCCTTCCTTGGTGTCGCAGACATCGCAGT CCCTCTGAGGGGCTGACCTGCCCCCCACCTTCTGGAAGCTGGGAGGTTGGAAGAGGGGACGCATGCCATGGACCCAGCAC ACAGCTGGGAACTCGAGGCACACCTAAGCCTTCCCTTGTGCTGTGCGGAGTCCACACTTCCTTCCCCACTGGAGTCTCAA AACCTCCCCTCACTCAACAGGGTGGTGCTGCTCAAAGCTCTGGGCACACATTAGGGCTGGGGAGGGGGTGGTGGAGAGGG GGCTCCAGCCTGCCCAACCACCAGGCAACGGGGCACCTGCCCCTCTCTCAGCTGGGTCTGGACCCGCCTCCCAGGCTCAG GCTGCAATGCCTTTCTCTTTCTCTTTGCAATTCCGTTGGGTCCTGCCCAGGACAGATAAAGACAGAGCAGCCTGTCTTTA TTGGAGGTTCCTCTGCCAGCGGGAAGGGTCCGGGGAAAACCAGAGCCAGAGCCAGAGCCAGAGAAACATGAAGCACCCCG GGGCCTCCCACACCAATGCCTGAGCAGGAATGGGGAGGGGCCATGACTCATAAGGCCCTGGGAGGTCACTTTAAGGAGGG CTGTCCAACTGCAAGGACGCTGTAAGCAGGAAGTGAAACC >NM_002133 CACAGTATTGGGAAAGGACTGTATGAATCATCTGGTCCATTCGTTTTGTCCTCTGGGTTCACCCAGTGACCCTATTTCCC CCGAGTTCTAAGGAGTCCACCTCATGCAGAATTGATTCAATAGGCGATCAGCAAGGGCCAGCTCTGCTCTGGGCCCTGAG CAGGCACTGAGTATAAGTCAGACCTGAATGTGCCTGGAAGAGTGTCCCACGCATTCCAGCAGGGAAGCAGTTTGTATGAC AGGTGTCCCAGTCCAGGCGGATACCAGGTGCTGCCAGAGTGTGGAGGAGGCAGGCGGGGACTTAGTCTCCTCCCTGGGTT TGGACACTGGCATCCTGCTTTATGTGTGACACCACTGCACCCCTCTGAGCCTCGGTTTCCCCATCTGTAAAATAGAAGCG ATCTACCCTCACAGGTCAGTTGTAGGGATGAACCATGAAAATACTAGAGTCTCTGTTTTTTGACAGGAACTCAAAAAACA GATCCTAAATGTACATTTAAAGAGGGTGTGAGGAGGCAAGCAGTCAGCAGAGGATTCCAGCAGGTGACATTTTAGGGAGC TGGAGACAGCAGAGCCTGGGGTTGCTAAGTTCCTGATGTTGCCCACCAGGCTATTGCTCTGAGCAGCGCTGCCTCCCAGC TTTCTGGAACCTTCTGGGACGCCTGGGGTGCATCAAGTCCCAAGGGGACAGGGAGCAGAAGGGGGGGCTCTGGAAGGAGC AAAATCACACCCAGAGCCTGCAGCTTCTCAGATTTCCTTAAAGGTTTTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTAT GTGTGTGTGTGTGTGTGTGTGTGTGTGTTTTCTCTAAAAGTCCTATGGCCAGACTTTGTTTCCCAAGGGTCATATGACTG CTCCTCTCCACCCCACACTGGCCCGGGGCGGGCTGGGCGCGGGCCCCTGCGGGTGTTGCAACGCCCGGCCAGAAAGTGGG CATCAGCTGTTCCGCCTGGCCCACGTGACCCGCCGAGCAT >NM_001097 TCAGTTAGAGAAAATAGATAAATCAAGATCATCTGATAATCTGAAAACTCAACACTCAGGAATAGGAGATGAGATGTCCT GACACTCAGGTTGGAGGCATGGGACCTTCTGACACCCACTTAGATGATGTGCAACCTATTGACCCTCGGGCTGGTTGAGA TCTTACATTCAGGTAGAAGAGGTAAGGCTGCCCTCATGCAGGTAAGAGTGTGACCTCCTGACACTTGCAGGCGATGGGAA ATGTTTTAACATTCAGGTGTTTGCAATAAGCATTTGTCACACTCTGGTAGGTGAGATGCTAGTTCCTGATGATCAGATGG GAAAAATGATGCTTCATGATATTCAGGTAGCTGTATGAAAACTCTTGACATTCAAGTATAGGAGAAAACACCTTGCTCCA CCTCAGTCACAGAAAGCCGATCTGGAGACATTCAGGATAATAGGAGACCTTGTGATATTCAGCAACGGACAGGAAGGTGG GCTTTGCAGTTGTAAATTAGGAAAATTCAAAATGACTCTTGGAAAAGTGTGTTGATAGCATTCACTTGGAAGAGGAAAAG AAAACTTCCCCAACAACAATTAAGGATCAATTAATCTGCTGACCCTGACTCCTCTGATCCACAAACATGTTGCACCGTCT CATCACTGAAGGGCTGAGCCGCTCCTCAGTCTGTGAGTCTGCAGTGGTCACAGCACGCATGAGAGGCAGACTCTGAACCT GCACAAAGCCAGAGCCTTGGGTGATGTGGGGACCTCGCAAGAGTTACTGGGAATGGAGATCCTGGCCTTGGGACAGAGGG AGTGGGGCTGCACAGGAGTCCCCCATCATCCTGGTGGTGGGGGAGCCTATGCAGGAAGTCAAGAAGTCTCTTCAGCACAA ACCAGTTAAGGCGAGGGGCTCTTACCTGGCCTGACTGCTGGGGGTGGGGTGGGGGTCACCCCTGCTGATTGGCCAGGCAG CCACGGAGCTTTGTGAGGTCACTAGGCTTGCAGGCCAGGC >NM_007128 GCAGTGGCGAGATCTTGGCTTGCTGCAGCCTCAACTCAACCTCCCAAGCTCAAGTGATTTTCCCACCTCAGCCTCCCAAG TAGTTGGGACTGCAGGTGCCTGTCCGCCATGACCAGCTAATTTTTAAATTTTTTTTGTAGAGATGGGGTTTTGCCATGTT GCTCAGGCTAGACTCGAACTCCTGAGCTCAAGTGATCCTCCCACCTTGGCCTCCCAAAGTGCTGGGATTATAGGTGTGAG ACACTGCATCCGGCTCCCAAATTTCCCCTTTTTATAAGGACACCAGTTGTACTGACCGGGGCCCCACCTCTATGACCTCA TCTAACCTTCATTAACTCCTTAAAGGCCCTATCTCCAAATACAGGCACACTGGGGGTTAGGGCTTCAACCTATGGATTTG GGGGATGCAATTCAGTCTATCACAGTGCCAAGCTGCACCTGCTCGGTGAGCCAGAACAGGGGTGGGGAAGGCACCAGGCC CTGGTGCTTCTTTCCCATGCCTGAGTCACTCTACTTGGTTCTAGGAGGGAGAGGAGCATGGGCTGAAGGCAGTGCTGCAA CATGGAAGGGGCAGAACATCCCAACCCGCTCTGGGCCCCCAGTGTCTTCTGCTGTACAAAGCAGGTGTTTTCACCCCCCG AGGATGTGTCCTCCCTTCCTGGCTCACCAAGCATTTAAATGTAGACAGAAAATTTATTTATCTGGGGTGCGGTTTCCTCA GGGGGAAGTTGAGGTCACGACCCCTGAGGTACCTTAACCCAAAGGCCTCCAGGGCACTGGCCCCAGAGTCTCCAGCAGGT GCTTCCTCCCTGAATGCTTCCATATGGCAAGATCAGAGCCACAAATGCTGCCCCGACACTGTTCCGGTAACCGACGTTGC AGACCCAAGAAAGTCTGGGATGGTAGTGGCCAGGAACGGGGTGTGCCACGGCCCCACCTCTCAGAGCAGGGAGGAGGATG CTGGGCCAGCCCTTGGGGACCCCAGGCACCGTGGCCACAG >NM_174975 GCAAGGAAGATGTCCCTGAGAAGATGTCTGATACTGACCAACATCTACTAGCCTAAAGAGACCCTGGGTTAGCCCAGAAT AGAGGCCCACTGTAGCTCAGGGGTGGGTACCCAGGATGCCCCAGGAGTAGGGGACCTAGAAAAGCCCTAGGCAGAATGGT GTGGGCTAGCCCAGCTGCTGGGGCCGAGGCTAGCCCGGGGTTGGTTTCAGCCCATGCAGACCCCCTCAAGGCTGAGATGT GGCCATGTGGCCATGTGGCCATGCTGCAGCCTCAAGCTGATGGTTTCTTCAGAGAGAGTCATGGATAACAGGGTCTCTCC CTTCCTGGAGCTGAAGCTTACAGCTCCAGGGGGGACCAGGAGAGCTGAAGGAGAGTATCCCTCAGATGCACACAACCCTT GACAGTCCCTATGTCTCATTAGATCTTCCCTCTAACCACATAAGGAGGGGAAGGCAAACATTAACGGCCCCATTTTATAA ATGAAGCAAGTGACGTTCAAAAGATGCCATCTGTCCTCTTCTTGACTGTGGACACAAAAGAAGGACCTGGGCCTCCCACC CCCAACAAAGTGAATGAACTGTTTACTACACTGACCAAGCCTCAGAATCCTACCCTTTCAGAGCTGGGTAGAGGGGGGTG ATCTTTGCAGAATCCTAAGTGTGGGAAGACTGGGGCTCAGGGAGAAAGGGTACCCACAAGGAGCGGTCCTCATTCTCCTG AAACTCCCCCTTCTCCAGGGCAGTGGTCACTGGAGGCCTGGGAGGGTCAGCGGGTTCTACAGGCACTCACTCTGGGCTCC AAGGTCACGGGAGGCCAGCCTCCCTTCCTCCCAGCTGCCTCCTCCTGGCAGGGGACCTCTGGCACACGCTCCATGCCCGC CTGCCCCTCCAGATCTGTCCCCAAGCCAAGCAGGGGACCTCACTTAATCCCAATTATGTAATCTGCAATTTAAACAGTTG GCCCATGAGGAGGCGCTTGGAGCCACGCCCAGGAGTGGGG >NM_015672 CACTTTAAGAGGCCGAGGCGGGTGGATCACTTGAGGTCAGAAGTTCAAGACCATCCTGGCCAACATACTGAAACCCTGTC TCTACTAAAAAGTACAAAAAATTAGCTGGGCATGGTGGCTCAAGCCTGTAATCCCAGCTACTTGGGAGGCTGAGGCAGGA GAATCTCTTGAACGTGGAAGGTAGAGGTTGCAATGAGCCAAGATTGCGCCACTGCACTCCAGCCTGGCGACAGAGTGGGG CCCCATCTCAAAAAAAAAAAAATCAATGTCTCGATGCAGACTGCCAGGTATCAGGTGTCCATCCATGTCTCCCAAAAGCC ACTTGGCACCAGGAGCAGACAGGAAGGGCAAAGAGGAGCCAGACTGAAGCAGGGCTTCTTAGCTCCCAAGCCACACAGGT GGCCACCAGTCAGAGAGGCAGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATTTCTTCAGTTCAGTGTGTGTATGTATGT TTCTTCTGCAGCTCAGTGTATGTGTGTATTCCTTCAGCTCAGTATGTGTGTGTGTGTATGTTTCTTCTGCAGCTGTGTGT GTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTCTTCTGCAGCTCAGGATGCCTCCAACATTTCTGCTGAAGCCTCA CCCTCACTCCTGGCCCATCCTGAGGCCTCTACCTAAGATGCCAATGAGTAGCCCAGACACTGGGGCTCCAGTGTTTGTCA CCAGGTGGTACCTGGATGTGGGAGGTAGACAGGCCAGATGGCCAGTTTGGGCAGTGCCCCTCATGCCTATCTGGCCCTGG GTCCCTATGCCACCTTGCTGGGGAGGGTCTTTTCGCTTACACCTCCTCTGAGCCGACTCTGCGCAGTAACACAAATGTGT ATCAGGCACATCCTTTCCTCAAAAGGTGGATGACCAGTTGGGTGATCAGGGCTGTTAGGGGGCTGAAGGGTCCTGGGGAG TCCAGGTCTAGCCAAGTTGAGGCCTATCCTGCTGCATTTT >NM_014227 TTGTTGTTTTTTTTGTTTGTTTTTGAGACAGGATCTTGCTCAGTTGCCCAGGCTAGAGTGCAGCGGCGTGATCATGGCTC ACTATAGCTTTGACCTCCCAGTCACAGGTGATCCTCCCTCTTCAGCCTCCCAAGTAGCTGGGACCATACGTGTGCATCAC CACACTCAGCTAATTTTTATAGAGACAAAGACTCCCTATGTTGCCCAAGCTGGTCTTGAACTCCTGGCCTCAAGTGATGC TCTCTCCTTGGCCTCCCAAAGTGCTGGGATTACAGGTGTCAGCCACCGCATAGGCTTTACTTCTAACTTCTTCTTGGCTG TAGTCCAGGAGTCTTGTTTCCTGAGTCCTCATGATCCCCATCACATGCTTCCAGGTTGATTCACTCTTTGTACAACCCTC TGACCCAGCGCTCTCCACAGCTCTGCCCTCAACTCACCACATATGGTGCTTGAAGAGCCACTTCCTTTCCTATACAGGCC ACCAATGTCTTTTTGTGGCACATGAAACCCACTTCAGAGAAATGTGGGACTTTGGAATCCACGAAAGGCATAATTCACTT CACTGTCAAGGGATATAGCTCATTGGTCAGAAACTGTATCTGTTCTCTGAAGGACCATTGCATTCGGTCCCTCCTGGCTG GTTTCTGGTACCTTCTAGTCTGTCCTTCTCCCCTCCTTGTCTGTCTTCATTTCTCTCAAATCCCCCCTCCACCTGGGCAA ATCTCTTTAAAGACCCTGTCTTTGCACTCAGAGAACGCCCCATGCTCCACCTCAAATTCTCCCCTCATTTCTGGCCCTGC ATCCCTCATTCTCACACTCTACCTAGGCTAGCACTCACTGGTGGAGGGCTGGGGTGCCACAGCTTTGGAGAAGAGGTTTA AAGGTCTCCATATCCAGGAGCTGGCTCTGATATCTCGCCCCACCTGCCTGAGGCTGATCATTAACCCAGAACTTATATAA AGATGGCTCATGCGTGGAATGGGTATAGCACTGCCTGCAG >NM_203377 TGCCAACCTGTAACCAATCCAGCTGTTTCTGTACCTCATTTCTGTTTTCTGTATGTCACTTTCCTTTTTCTGTCCATAAA TCTTCCACTATTTAGCTGTGGAGTCTCCAGACCTACTCTGGCTCGGGAGGCTGCCCTGCTCGCAAATCATTCACTGCTCT GTTAAACTCCTTTACATTTAATTTGGCTGAAGTTTTTCTTTTATCACTATGTATCCACCACATTCAGTGCTCCCTTTTTC TTAATTTTATTTATTTATTTATTTATTTATTTATTTATTTATTTATTTAATTTATTTTTAGAGACAGGGTCTCACTCTGT CACCCAAGCTGGAGTGCAGTGGTGTGATCTCGGCTCGCTGCAACTTCTGCCTTCTGGGTTCAAGCGATTCTCCAGCCTCA GCCTCCTGAGTAGCTGAGACTACAGGAGTGCACCACCATGCCTGGCTAATTTTTGTATTTTTAGTAGAGACAGGGTTTCA CCATGTTGGCCAGGCTGGCCTTGAACTCCTGACCTCAAGTGATCCTCCCTCCTCAGCCTCCCAAAGTGCTGGGATTACAG GCGTGAGCCACTGCGCCTGGCCAGTGCTCCCTTTTTCAGTCCTCATAGTGACATTTGAGGTAGGTTATTCTTTTCAAAAT TTCCATTTTACAGATTTAAAAAAAAGCGCCCTTGGAAAGTTATGCCACTTTTCCTGGATCACAATATTAAAAGATCACAA TTCATCTTCTAATAATTTGGCAAGCCATCCATGGTCTTCTAAGCAAGGCGCCATGAATATAACGAATATAGAGACAGAAA AAGACCCCTCCCCACTGGCTGGGTTGAGGGACTGGAGAGCCCAGATGGAAGGGCAGAGGTGCAGGCTTTTTTCCTTGTTG CCACTAGATGGCAGTAGGGCACCCGTTGTCAGCCCTGGGGCAAGGTCACCGACTGTCTTTGCCTTTGCCTCCAGCAAGCC AAAACCCTGGGCAGACTCAATCCAAAAATAAACAATCAAA >NM_152267 GTACGGTGCACTTTTGACAGAAATACCACAGATGTGTTCTCAGTGCATTTTATTAGGAGGCCCTTGATCTGACCCATTAA CTAGTGGTGTTAACTTTGATCACTTTGATCTGTTTGTTCTGCTAGGTTAAACCTCTGTAACATCACCATTTTCCCTTTGT AATCAATAGCTAATTTATGGGAGACACTTTTGCTGTTGTAAACATCCCGTTTCTCTAGTTTTACCACACATTATTGATTT CCTAATTCCACCATGTTTATTAGCTAGCATTCTACTAAAAGGAAGACTTTCCCTTCACCCATTAATATGCTCACTTCTTT ATGTTTGTAAAGACTCATGGATTACTATTTTATTCAATTAGTTATACTCTATTACTATCACTCCATATTTTGATTCTGAA ATTGCCCTGACTTGGCCAGTAAGATCTCCTTAAAGACAGCTCCTGTGTTCTTTGACACATTCCCATGATTCTTATTACCA TCATCCTTATATTCTGGTGTAACAAGATGTTCCAAGTTTATCTGGTACTTTCCGGAATGAGTTAGTTCTTTCTCTCTCTC TTTTTTTTTTTTTTTTTTGACGGAGTCTCACTCTGACGCCCAGGCTAGAGTGCAGTGGTGCGATCTCAGCTCACTGCAAC CTCCGCCTCCCGGGTTCAAGCGATTATCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGTGTGCGCCACCACGACCG GCTACTTTTTGTATTTTGAGTACAGAGGGGTTTCACCATTTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAAGTGATCC ATCCGCCGCGGCCTCCCAAACTGCTGGAATTACAGGTGGGAGCCACCGCGCCCGGCCGGAATCAGTTTTTTTCTTTTAGG AGCCCCGAACCCAAAGCTCTTTGAAAAGCTGCCGAAGCTCCAAGGTTCCTCCGCTTCCTGCCCGCAGGCGGAACCTTAGA GCTTCAGCCATGGAAATTAACCTCTTCCGGTTGGGGCCGG >NM_015140 TTCTTTTAAAGAGGGAGTCTGGCTATGTTGCCGAGGCTGGACTTGAATTCTTGGGCTCAAGCTATCCTCCCGCCTCAGCC TCCCGAGTAACTGGGACTACAGACGCGGCCACCACGCCCAGCTCAACTGCACTTCGAAACATCCCGACATGTAGGAGTAA ATTCCTCTGACGGGTACACTTGGTCTTAATTGGATCAACTGACATTCCGAATCCAAATATAAGTAATTGAGAAGGGCCAC GATTTTGCAGCATCCAAATCTGGTGAAACGCTCACAAGAATCGAGAGCTCCCAAGGCAGGGGGCCTGCGAGCTCTGTGTG CCCGGTGCAGGCACAGAAGCGCCGCCTCACCGGGTTCGGGCCCCAGGACACCTTCCGGGCCGTCGGTGGGGCCTTTTCCG GTCCTGACAGCGCCCTATACGTAGGCACCCCGCCCTCCCGGCATTCCCCGGGGTCGCCGCGCGCTGAGCGAGAAAAGCTC AGCCACCATCAGGTGCGCGTGCGCACACGGCGGCAGCCAAACCACAGGCGCGGTCGCAGACGCGCGCCCCCTCCTGGCAA GCTCGCGCGCTCTCGCACGCACCCCGCCGATGCGCAGGGCCTGCCCGGGGGCCGCGGCAAACCGGGCTGGAGGCGGACTG GGGGCGGGGCGGGACGGGGTGAGGGGGCGAGAAGAGGGCGGGGCAGGGGAGGGGTCGGGGGGGCCGGGAGGAGGACGGGG CGGTGGGGAGGGGGGCAGGGGGCGGGGGCAGGGGGCGCGGCAGGGGCGGGGGGCTGGGGGGAGGACGGGGCGGTGGGCGG GGGGCTGGGAGGAGGACGGGGCGGGGGTGCTGGGAGGCGGGCGGGGCGGGGGGCGGAGGCGGGGGGGGCTGGGAGGAGGG CGGGGCGGGGGGGGGCTGGGAGGAGGGCGGGGCGGGGGGGGGCTGGGAGGAGGGCGGGGCGGGGGGGGGGGCGCTGGGAG GAGGGCGGGGCGGGGCAGGGGGCGGAGGCGGGAGGGCAGG >NM_014460 ATTAGTTACTTGTATTTTTCTCTGCGGTTTCCCTTTTAACTCCCACCTCCTTTTTATTTTAAAAAGACTCCTTTTGAAAA TGCCAGCCTGCCTCAGTAGTACCAGGAGACACCAGGGAAAGGCTTCCTTCTTTCCAAGCTGAGGCTGAGAAGGAATGGGA AGAACGAAGAGAAGCACCTTTGTGGAGGCCTCCTCCAGCTGGCCCTGGGTTTAGGAACATCACACACTCAACCTCCAAAG GCCCTCAGGGGCTGGCCCAAGGTCACACAGCTTGACAGTGCGGAGCACTTCGAAGCCAGGGCGTGTGGTGTAGAACAGGC TGGGTGCCTGAATTCAATCAGCCCTCTCTACTTCTCTACTCAGAGCCTCCCAGGCTGTGGGGTGTTCACCTGTGCACCTT CAAGCCGATCACTTCCTTGGGGTCCTCGTCAATTCAATTCCATGGAAATATTACAAGGGGTAGACAGAGATGAGCCGTGT CAGTGTCTGTACTAGCAGAGGGCAGGACCACTGAGCGTCCGGAGGGGAGACGAGTGTCTGGGTGTCCCTGGGAACCTGGC TTGTCTCGACCCCTCTGGGGGGCTCCTCTTGGCTCTGACCTCCATTCTCCCAGACTCACCCCCACTCATGCCCACCCACC CCGAGGGGCCCCCCAGTGTGCACTCACACACTCACACTCAAACTCACCACCCCACTTGCTCTCTAATTACCAGGAACGTG GCGCTGTCTCAGGTTCTTCCTCCCCTGCATTCCTCAGCAGCTGCCCTCACTGGGCAGGGCAAATTATACCGTGGCCCGAC CATAAAAGCCACTTTCCAAAAAAAGAAGCTTTAAGGCCCCCGAGAGACGCAGCTGAGCCTCTCACCTGGCAGTGCCTGAC TCAGGAGGTGATGTCTGGGCCATGAGCCACAGAGCCTGGTGTCCCTTTAAGCAGGGAGTACAAATTCTCATCCCTCCCTC CTGCTCTCCCTGACGTCAGCTGGAAGGCGTGTGAGTGAGT >NM_138415 TTAACCTCCTGGCTGCGCGGCTGGGGGTTCTGAAACGCGACCTCCGCAGCTGTAATTATAATTGTTTTAGGTCGCATTGA CCGGGCCTGTTTACGACTCTTAACAAGAGTCTTAAAATGTCCAGTGACATCTGTTGAGAGTTTAATCGTGTAAAAAAAAA TCATTAAAGGAAGAGCCAAGAGATCAATTTTCTTGCTGTTTAAACAACACGGAGGCCATCAGGCGGCGGGGGAATGTGGC GACGCGACTAATTTAATCCCCCAAGTCGCGGCGCTGGTATGGACAGGAGGGGACGGAAGAATTTAAATAAAATATCAGAG GGAGGCGGAGGAGGGGGGAAAGGAGGGAGCCGAGGACCAGGGTGAGGAGAAATGGAAACACGGACTCGCAGCCTCCCAGC GGAAAGTGTCCTGATCCCGGCGTTACACGGCGCAGGGGGTGGGGGCGCCGCGTTCCCCGGGTTGGCCCGGGGACGGAGAG GATGACTCCGCAGTCGTCCTCTCCGAGCGCCCGGCCCGAGCAGTCCCCGGAGCCGGCGACCGTGCGTCCCCGTCCACCGC CACTTTTGTTCTCCGCTCGGGGTGCCGGGCCGCGGCGGGGCGGCAGTGCGCAGGCGCGGGCGGGGCGGGGGCGGGGCGCG GCGGGCTGAGGGTCCCGGCACCGCCCCCCGCCGCCCCGGCCCGCTCCATCCGGGCACTGCCGAATTAGCATCGTGCCGAG GCACAACTTTGCCGAGGCCCAACGAGATCCAGGCGCGCGCGCCGGAGGAAATATAGTCCCTGCCCGCGGGAGGCTCGCGC GGGAGGAGGCGGCGGCGGCGGCGGCTGGGCGGGCGCGCGCGGGGCTGCGCGGGGCTCCCGGCGCCGGGGGGGCCATGCTC CGGGCCGCGCCGGCAGCCCGGGGACCCGGCGCAACTTGCCGGGCAGCCTGAGGAGTTGGGGCAGCCGAGGGCTCGGCGCC GCGGCGCCCGGAAGCCTGTCTTCCCCTTCGCCAGCCCCCT >NM_001195072 TGATAGAATGGATCAGAGGGCAAGGCTGGAACAAGGGAGAGGGGTTAGCAGAACTCTGCAATAATCCTGTGCAAATACTG GACCAGGGTGGTAGCACTGGAGGAGGAGTGGCAGACATCTGAGTCTAGATCTATTTTGCAGGTAGAGCCAACAGGATCTC CTGCCTGCCTTATTGGGTAGCGGGCAGAAGGGGGGCATTCATTCACAGCTGACTCCGAGTTCTGGCCTGGGGACTGGAAG GATGGAATTGTCAACAGCTGATGGAGGCAAAGCTGAGAGGGAGCAGGTTTTTGTGTGTGGAAGTGGGGTTGGCTCAGCTC AGACACGCTGACTTTGAGATGCCTGCTGGAGCTCCAAGGAAGAGGTGTTGGGTAGACAGTTCAGGCGAGGAGTCTGGAGA CATAAATACATTTGGGGATCTTGAGCACATCAATGCCAGAACTTAATTGCATTTTATCTTGTTCAGTTAACCTAGGTGAT GTCTGGACCGGCAAACAGAAATGGACTAGGCGGCTTGAACCCTATCTGAAGACTTTTGCTAGTTCGGCAGCCTAGAGCCA GACGGGGCAAGAAAGAATCGCTGCTAAGCGGAGTGGGAAAAAAAGGCCTCTTTCAGTGCTTTGCCATTTCATCTGGCCTA ATTGCACACAACACTCGGTCCACGTTCATTCCACAATTCCACACGCATCCTTCACTCAACAAATAGCCATTGTATTTCGT TTCATCTTCAAAACAGGCTCAAATGGAGGAAATTAGGGTTAAAAGAAGTGAAGCACCAGCGAGGGTCAGGGGCAGAGATC GCAGCCCAGAAAGCTCTCGCGGTTGGGGGCCGGTCGTAGCTGGTTTTGTGAGTGGCAAGAGAACCCGGGTCGCGCCCCAA CCCGCGGGGCGGCGGGCTGGGGTTCGGGGCGGCGGGCTGGGGTTCGGGGCGCGGCCCCTTTAAGGCCCAGGCAGTGATCT CAGCCGCGTCCGCCGCCCCGCCCTCCCCGGCGGCGAGCCC >NM_007194 GGCCTCGCCCACAATATTAAGCTTTTCATGCTTTACTCCCTAATCTCGGATCACACTTCTGCAGTCCTTTCTTAAATACA TCAACCCAACTTTAAACCTTACTCACCCTATTCATTCAAGTCTTCCAGTCTCCCAGGCCCTGCCCCTCAAGTACCCTTTC CTCAAGTTCCGCCCCTCGACTTCTCCTTCCCTTTCCCGTAGGTACCGCCCCTCAAATCTCCCTCCCCTCTAGCCTCGGCC CCCCTATTTCCTCTAACTTCAGCGCCCGCCCCTCCAGTCCCGTTCGTCTCCCTTCTCCACACCTCAACGTTGCTTCCCTC AGTCCCCGCCTCTCAATTTCCTCCTGAGAAATCAAGACACTTCTCTCACGCCTGCTCTCTAGACCTCCGCCCCCCCATCA GTCCCGCCTTCTCTTCCGCCAGCCAGATCCGTCCTCCCCTCTCGCAGGCCAGACCTCGACGTGTCTCTCGCCCGGGCCCG TTTCCCGAAACCGTCGCTCGTACCAGTCCATAAGGCTGAAGTAGTCTCGAGTGGGGTCAGGTGCCTGCAGCGCTCGGCAC TGTGGGCAGAAGAACCTGTCCTCCCGCCCGGGGCCCCATGGGCCGCCGCAGTTCCAACAGCGGGGATAATTGCTTCCCGC CTGCGACGCAGCATCGCAGCTTAGCGGTCTCCTTCTGGGAACCCCTGTCGGCCAAAACCCCCACACCCGGAGCAAAGCCC CGGCTCTCCCCCGCCACATCTGGCCGGCGGCCTATCTAGCCGTGGTCACTCGTGGGGAAAAGCAAAGAGAGCGTCTAACC AGACTAATGTTGCTGATTGGCTGGGGAGTCGAGGGGGCGGGATCACCCGAGGGGAACCCGGGTTCTAAGTTCCGCTCTCC CTTCTAAACTACAACTCCCAGGAGGCATTGAGGCGGCGCCTGACGGCCACATCTGCTGCTCCTCATTGGTCCGGCGGCAG GGGAGGGGGTTTTGATTGGCTGAGGGTGGAGTTTGTATCT >NM_014292 AGGGCTATTTTTTGTGTGTCCGTTCCTGGACAGCCCCAGCTCGATCCCCCGCCCCTCCTCAAGTGGGAAGCTGGGATCTG GGCTCCCCAGAGCAATGGCGGAAGCTTCGCGCAGCTGCGGGCGGGGAGAGGGACGCGGCCAGGTCGGGGGGCCGGGAGGG GTGCTGGGAATCGGAAAACACAGATATGACCGCGAAGGCGGTTTCTGCCGAATGACCAGATGATGACCCGCTGTGGGCCC AAGGCGGAGTGCGGGGAGCCCGTTCCTGCCCGCGGTCCCTCTCCCTCCCCCACTGCCACACCGGCCCCGCCGAATCCTCC CCGGTCTCCTGGGCGAGGACAGGTGCCGCCCGAGACCCCGGCCGCAGACAGATGCCCACGGTCACTCCGGCCTTCCTCGG CCCCATTCGCCGCACACCCCCTTCCTGCGGTGGCGTTTTTGTTTTAACTCTTCTGAACTGGTTACAAAACCACCCTCCCA CGAATACATAAATAATGGGTGGGGGGCGATGTTTTAAAGAAATTCCCGCAAGGCCTGGCAAGGCAACAGCAACTGCATTT CTGCTGCATCATATTTAACTGTTTGCAGGCTGCTGCGGGAGATGCGCGGTGGCGGCGAGACTCGGGCTCCACAGCCCTTC TCCGCCCGGGGCCTGGCGAGACTCGCGTGGGGATTAAGAGGCAAGGAGAGGGTGTCAGCGATCGGGCGCCGGCAAGATGT GAGGGGGGGTGATAAGCGTAAGGCCGCAGCGTGCCCACAAGCCGGGCACCCATCGGGTCGGCCGGCAATTGCTCCCTCCG CCCGCGCGGCCCCTTTAAGAGCCAGCGCGCGCCCCCGCCCCGCGAGCGCCGACTTTCCCTAGCAACCGCCCCGGGGGAGG GGGAGGTCCTGGCAACCGCGCGCCAGCCGCGAGGATCACGTGACGGCCCGCAGCTGGAACGCGAGCGCGCGCCCCGCCGC GCTCCCGCCCGCCGGGGCCTGGGCGCTGCGGCGCGTGCGC >NM_017590 TGGGGTTCAAGTGATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGATTACAGGCACCCACCACCACGCCTGGCTAATTTT TGTATTTTTGTAGAGATGGGGTTTCACCACGTTGGCTAGTCTGGTCTTGAACTCCTGACCTCAGGTGATCCACCCGTCTT GGCCTCCCAAAGTGCTGAGATTACAGGCGTGAGCCACTGCACCCAGCCCTGATTGTCAATATCTAATCAGGTTCCTCATT TTCCACCATTCCCCAGGTGATGTCTGATCACCTTGCCCTGCCTTCAGCAAGAATCTTGTTAGATGGGTTTAAGCGAGAAT CCTCTCATCTCTGATGCAGTTTCCTATGCACTGGCGCTCAATCAGTGGATCCTTTCTCCTTCCTCATAAATTCCCAGTTG CCCATGCTGATTTCTGAATTGAGCCCAAATACTCTCCCTGACCGCAAAACCCACTGCAGTGGTCCCTACACCCATCATGA TGCCAATAAAGTCGGCCTTGTAGTCTTTAACAAGTGTCATTCAATATTTTTTTTAACATCCTATACATAAAACTCCAGCC AAGTGAGGTCCTGATTCTTCTATGTGTCTCCGGTTCCCATCTATGAGAAGGGCACAACGCAACCAGGGTTTTGGGCAGCC TTCCATGAAAGCACCTGGAAGCCGGAGAAGGGGGGCGGGGGGACTTTTGACACAGATGGGGAAGGGCGGAGGCGCTGGGT TTGAGCAGCATCAGCCCAGAAATGCAGAACTGCCAAAAGAAACCCCCCTAAAAGGCAGGACACTTTTAAAGAAAATAAAG GTGAATTCCAGGCATGAGCTTTCGACGGGGAATGGGGCTTCCCCGACTCGCCCCCACGCCCCCCGCCCTTCTCCCCAGGT GCGCAGCCCGCGCCGCCCACCCCGGGCGCGGCGAGGCGACGGGAGCCGAGCTCTCTAGGACCCGAGGAGGAAGAGCTGCA GGGAGACAGTGCCTCCAGCGGGTGCTGCCGCGAGCGGCCA >NM_013378 AATGGCCAAAGACTGGAGAGCATCCAAATATCTAACAATAGGAGAATGGAAAACCTGATTACAGTGCATTCACACAATGG ATTACACACAGCTATGGGCATGAATGAAATATTGCTGCACACACATGGATCACTCCCATCATGTTCAACAAAAGAAGCAG GCACAAAAGAGGGCACACTATCATTCCACTTATAGTTAAAGTTCTAGAGCAGGCACAAACTAATCTAAGGTGATAGAAGT CAGAATGATGATTCCCTTGAGGGTGCATGTCATTAACTGAGGGGCCTTCAGGGGAGATGGAGGTGTTCTTTTTTCTTTTC TTTTTTTTGAGACATAGTCTCGCTCTGTCGCCCAAGCTGAAGTGCAGTGAAGCAATCTTGGCTTACTGCAACCTCCACCT CCCGGGTTCAAGCGATTTTCCTGCCTCAGCCTCTCCAGTAGTTGGGACTACAGGTGTGCACCACCACGCCCAGCTAATTT TTGTATTTTTAGTACAAAAAATATGGAGTTTCACCATGTTGGCCAAGCTGGTCTCAAACTCCTGACCTCAAGTGATCCAC CTGCCTCCGTCTCCCAAAGTGCTGGGATTATAGGCGTAAGCCACCGCCCTCAGCCGAGATTTTCTAAATCCTGATCTGGG TGGAGGTTGCAGGGGTCTGTGTGTGCGTGTGTATGTGTGTGTGTGTGTGTGCGCGCGTGTGCGTGTGCGCGCACATGCAT GCATGCATGCTTGTGGGCATACATACATATACATAAAATCATCAAGCTATGCACTTAAGATTTATGCACTTTACTGTATG CTAGTTGTACCTCAATAAAAAAGTAGATTTCCACCTGCTATAACTGCACATGAGGACTTCTGGGCTCCTATTCTTGGAAG GCCTTGTGGTGCCAGGACCCTGACATTTGGGAAGAAAAGGCTTGGCCATTGGGCCCCAGTCACCGCCCCTCCTTCCTCAG TCAATAGGCTGATTTGCATGCTCTGTTGTGGTCCAGTGGC >NM_001199580 GGACAACGGCACTGGTGCCGGGTGTTGAGCAAGCCCTCGACAGCCTCACCGAGAGTGCACCAAGGGCCACCCGCGCGCTG CCGCTCCCAGGGCTCCCACCCTCCCCTCGGACGCCGGCCTGGTGAACCAGGCTGCAGGCGCGCGTGGGAGCGCTCAGAGC TGTCTCAGGTGTTCTGAGCCGCCAGATCGGGAGTCCAGTGCCCTGCTGAGCCCGAGCCCCAGCACAGGCTCCCGTCGCGT CCTCCCGCAGCCCGGGGTCCCCGCCCGCCCAGCGCCTCCCACGCGCGGACTCCTAGGCTGAGCGCGCAGGGCAGCGGGGC CCACGCGAGGGCGGGGCGAGCCGGGGCTTTGTGTTCAAACCGGCCAATGGGTGGCGGCGGTGGGCGGTGACGGCCGGCGG GGCCTGACCAATGGGCTGCGGCCTGTCAGCGTTGACTGACAGGCGCACACATACAGAGTCGGCCACACGCGCGCCGCCCG GCCCCACTCGCGCAGCGCGGGCCTCCGCCGGCCGCATTGTCCGCCCGCCCGCCTTGTCCCGCGTCGCCGCTCTTCGCGTG CCCGCGCGCCCCGGGCCCGGCCGCTGTGTCGCCCTGAGCGGAGCGCCGCCCGCGGGATCCCCACGCGGAAAGGGGGCGCG CCCCGGCGGCGGCCTGGCCTCGGACGCCCCCGGCCGGGCTAGAAGCCGCCGCGGCAGCAGGTGAGTGCGGGCGAGCTCAG GAGAGGGTTGGGGGGCCGCGGCCCGGCCTGACCCCGGGTCACCGTCGGGCCACTCGGGCGGGGCCGCGCCGCCAGGCCTG CTTCCTCCTCTCCGGGACGTGCTGGGCCGGATCCAGCCTCCACCCGGGTCCGCGGCCCGCGCCCTGACTCACCTCCTGGC CCCCGCCCCGCCTGCCGCGCCACTGGTCAGCCGGGAGGGCGGTGTCTGCGGGCGGGACTTCCCGGGCAGCCTCCCGGGAG GAGGAGGGCAAAGGCCGACTGCCCCAACCCGGCCCCGGGC >NM_001098270 TGCAACTTCCGCCCCCTGGGTTCAAGTAATTCTCCTGCCTCAGCCGGTATAGCTGGGATTATAGGCATGCGCCACTACAC TCAGCTAACTTTTGTATTTTTAGTAGAGACAGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTTGTGAT CTGCCCACCTCGGCCTCCCAAAGTGCTGGGATTATAGGCGTGAGCCACTGCACTGGCCGACCTCAAATTTTTATGCCTGG AGATTAGTAAAGGGCATGGAATAATGAAGGGGAACTTTTATTTTATTTTGTTTTTGAGATAGGGTCTCAGTCTGTTGTCC AGGCTGGGGCGCAGTGGTGCAATCATGGCTCACTGCAGCCTCAACCTCGAGGTCTCAAGTGATCCTCCCACCTCAGCCTC CTAAGTAGCTGGGACCACAAGCACATGGCACCACACCTGGCTAATTTTTAAATTTTCTGTAGAGATGGGGTCTCACTATG TTGTCCAAGCTGGTCTCAAACTCCTGGGCTCAAGTGATCCTCCTGCCTCAGCCTCTGAAGGTGTTGGGATTACAGGCGTG AGCCACCACGCCTGGCCTAATTTTATTCATTAAATATGTTAGAATTAAGTGTTTTCCCTTGAGACCTGTGAGTTTTTTCA GTGAAAAAATATTCAAAAGGTTTGTCAGTATGTCCATAAAAAAGAAGATAGGAGGGGAGGGACAGGACCCAGGAGGGCAG CCTACAGCCTGCTCTCCCCGTTCTGTCCTGGGGCGGAGTCTGTACTGCGAGTTGAGCTTTTCCCAAGGCGCATGTTACTC CTGGAGCCAAGCCTAGCAGTGCAGCCGCACAGTCAGGGTGGGGTGGGCCAGGCGGAGAAGCAGGCTGCAGAGGGGGCAGG GTGGTGGCCTGGGGATCTCAGGGAAGGGCTATGGGAGCACGGCGGTGTCCTCAGTGCTGGGGCTTTCAGGGGCCTTGGTA CCGCGAGTTGACTCTTGGGGGCAGGAGGTCACTCCATGCA >NM_153615 ACACAGTCACATTCTGAGTCTCTGGGGTTGAGAATAGAAACAGTTACATTTGGGGAAGGGGACACAATTCAACCCATAAA ATAAACAAATCCCCTGCAGCAGACAGACACCCAGGAAAGGGATATCTGGGTGAAAGGATATGCAGATATCAACTTTCAAC AGCTCTAGCTAGTTGACTTTCCAAAAGGGCTCCAGCTGGTCACACGGTCACCAGCAGCCTCTGAAGGTAGCTGCTTCTCT GAACGCAGCCTCCCCTGAATACTAACACGCTTTTAACTTTTCGCCAACCTGCTGTCTGTGTGGCAGAGAAAATCCTTGTT TCATTTCCACTTTCAAACATACATTTGCGTAACCTTTCACGGGTTCAATACCTGCCTGCGTTTTCCCCAAGTCGCCTCGC AGATCCTGGGCCTTGGGACGCGCTTCCTCCCACCCTGGAGTCTTCCGGCATTTTCCCCTTGGCCAGGGCTGGGATGGCCG TAGCTGTTTCTCCAGACTCACGTTCATGTTAAAGGAACAAAAACAATCATATACCTTTAAGTCAAAGAGTTCTTCTAGAG CGTATTGTCCTGTGTGCTGTTGCTGAAATGAGGAGGGGATGAGGCCTCCCCAGGCCTTGAGGACTTGCAGGGATGATGCT CTTCATGCAGGTTGCTGACACAGAGGGTGCTGTTGCCCCACAGCTGACAAACACCGGGACGATGCCTTGAAGGCAGGAAT CGTTTTATCATTCTCCATCCTCACATGCAATGTTACTTTGAAAGCCTAGAACGCTTTTCACCATGGGCACCCAGGTTCTC CATATGCACAAGTCCCTGAAGGGTTGGTGCTTCTTGGTGTGAGTTCCAGATCCCGATCCTCTGGTGGTCCATGGTGTTAC CACTGACTCCCATGTCCCTCCTTGTCCCCCTAGTATGAAAATGAGATCTGCAGGATGCTAACTTTCCAGCCCGGCACTGG GGAGAAGCTGTTGGGAGTCCCTGGTTCCAGCCTTTCTAAC >NM_001164501 GAAACAACATTTCAATGAATTTGTTAGTCGCCTTTATCGCTATCAAAGCCAATCGTGACAAGTTTGTCTTTTAATGCAGC AACCAGTACTCGCGCATAAGCCTCATAGATTTACAGAGGCCATTTTAGAAACACGACCGAAACTTAGGTTAAGTCAGCTT TGCCTAAGATCACGCCACTCGCAAAACAGCTGAGGTTCGAACCCGCACTGGGAAGGCTCGGAAGACCCCAATCTCCTATC TCAAATTCCCACTGCCGAAGCCCCACGGTTCTCTGCCTATGCGAACCATGCAAATACAGCGGTCGTCGCGCCACAGGCCG TGCTAGCCGCCAGCCCAGCCCCATCTAGCCACCGCCTCCGGGAGAGTGGCGTGCCGCGAGTCGCGGGTCCCAAGTGCCGT CCGCTCTGCCCTGCAGCGCGCGTGGGAACGCGGCGGCGGTGGCCTCTGGGCTGCCCACGGCGACCGCCTGCGCGCACGGG AGCGGGTTTCCGCTATCCCCACCGTGGCCTCCTCCTCGCCGCCACCACCTTCCCACCCCCCGGCCCGCGCAGGGGCTGGC GTCCGGGAAGCGCGCGGCGATGCTTCTTTTTCGCCCGGCACCGCTGCAGCCACCTCACATCCGGGCGCGCGGCGGGGAAG GCGGCGCCGGGGCCAGGGTGCGTGGAGGGAGTTATTAAGGGGGAGGGGGCCGAAGAGGAGGGGCGGAGGGCCGGGCTGCA GTTACGGCGGCTGAAGAGAGACAGCCCAAGCCGGTCGGGGTGGGGGCGCGAGAGCGAAGGCTGCGGGGAGCGGCGCTGGG ACCGGTGCGGGCAGCGGGGAGGGGAGCGGCGGCCGAGGCAAAGGGCCGCCGAGCGGCGGAGGCACCGAGTAAGGGTCGGC GGCGGTGGCGGCTGGGTCCGGGGCACCGCGCGCCCGGTGCTCCCGGGTGTAGAAGGGGCGCGGGCGCATTGCTCCCGGGG TCGCGTGCGTGAGCGCGGGCGCCGGGGCGCCCGCAGGGGG >NM_022141 ATACTGCAGAGCTGGCTCCTGAAGGAAGCTGCCGAGTCAGGCTGGCCCTAGAAGCATGCTTTCTGGGTTGAATGCTTTAG GTTCACCTCTGCAGATCCACTCCCCACCATTTTCTCTCCTCACATCTATGGGCCGCAGCAGGGGACTTCTTTTCTCTGGC TTCTGGCTGGATGTGGGCAGGGGAGGCCCTGGCAGGAGGGAGGAGAGTGAGGCTTGGTCATTGATTCCTCCAGCTGTGCC CTTCTGCTGGTTCACCATGAGCTGGCTGTGTCCCTCTACCAAAGGCCACAGCTCCTATCCCGAGGCCCCTCTTAGAGCTT CAGTGATTCTGTTCCTGGGCTCTGCCACCCACTCCCTCCTTCACCCTCTAGGTTTTGAAGAAGTAACAGCTCCCCATGTT GCTAGCCTGGGGTGTAGCACTGTCTCTTCTGGGTTCCTTTAACCCTGCCCCAGCTGTCCCTTTATTAAACAGTCTTCAGT TAGCACATGGGAATATACCGTCTCTTTGCTGCTGGGACTGTGACTGCTGCTACATCTATGTGGCTGTGATCCAGAGTCAG AAGCCACCACCAGAACCACTGTGTCCAGAGCTGGGCTGAGCCTGCTACACACGCCCCAGCAAAATAGGTCCTGCACGGTG GCTTCTCTCCCCACCTGTTACAAGCCCCAGTCTAGCACGGGCACTTCAGAATGGCAGGGACTGACTCATGTGCCTCAGTG TCTTCCTCTGTAATATGGGGGTGATGATTGTACCTACCTCACAAGGAAGTTTCCAGTAAAATGAAAGCCCTTAAAATTAT GTTTGTTTCATCACCAATGACTCCATAAATATTAGCAACAATACCAGTACTAAGTTTTGTCATTTTTTATTAACTTCTTG TAAACGACCCTACTTTCCTGCTCTCACACACTCCTTACACCTGCATCCCACCTGATTTAGCCACTTTCTGCCTAACCTGT CAGAAAGGGTAGATAGCTTCCCAGTCACCTGTTGCTAGGG >NM_017829 AGGCGGGAGGATTGTTTAAGGCCAGGAGTTGAGACCAGCCTGGGCAACATAAGGAGACCCCATTTCCAAAAAATATTAGC CTGGCACAGTGGCGTGTGCCTGTAGTCCCAGCTACTCAGGAAACTAATGTGGAAGGATTGCACCAGTGCACTCCAGCCTG GGCGACAGTGAGAACTTGTCTCTTAAAAAAAAAAAAAAAAAGAGGCCAGGTGCAGTGGCTCGTGCCTGTAATCCCAGCAC TTTGGGAGGCCAAGGTGGGCGGATCACTTGAGGTCAGGTGTTCAAGACCAGCCTGGCCAACATGGTAAAACTGGAGCCCA TGGTGAAAACTTGTCTCTACTAAAAATGCAAAAATTAGCCAGGTGTGGTGGCGCACGTCTGTAATCCCAGCTACTCTGGA GGCTGAGGCAGGAGAATCGCTTGAACCCAGGAGGTGGAGGTTGCAGTGAGTTGAGATCGTGCCACTGCACTCCAGCCTGG GTGACAGAGTCAGACTCCATGTCAAAAAAAAGGCAAGGTATGGTGGCTCATACCTGTAATCCCAGCACTTTGGGAGGTGG AGGCAGAAGAATTACTTGAGGCCAGGAGTTCTAGACCAGCCTGAGTGACATAGTGAGACCGTGTCTAGAAAAAAAAAATT CGCTGGGCATGGTGATGCAAGCCTGTGATCCCAGCTACTTGGAGGCTGAGGTGGGAGGATTGCTTGAGGTCAAGGCTGCA GTGAACTTTGATCGCGCCACTGCACTCCATCCTGAGCGACAGAGACCCTGTCACACACACACAAAAGGAACCCAGGCTTT CCTGCTTAAATCTAAATCATTGAAAAAGAGACAAGGGACATATGAGAATAAAAATGTCAGCTTTATTACTGCTAAAAGCT TGTTGGAGAACACCACTTATTTGGGAGACAACACGGACTTGCTGATGCTGCCGTTGGTGTCCTTGGCACAGGTATAAAGC CCAGCCCTCCGTGCTGCAGGGACAGGCAGAACACAGACTT >NM_175878 TTTTTTGCTCTACTTTGTCTGATATTAATATAGCCATTCCAGCAGTCTTATCACTAGGGTTAGTAGTGCACAGCTTTATT CCATCTCTTCCGTAGTAATTGTGTCTTTATGTCAAGTATGGGTTTCCAGGAGACAACATATAACTGGATTTTACTATTTT TATTTCTCTTATAGGCTTTACCTTTTAGTTGTGGTATATAAGCCATTTACAGTTAATGTGCTGATTGATGTAGCTTTCTG TTTTCTCCATGTGTTACTTGTTCCATTTTCTCTTATCTGTCTTCTTTTCTATTATTTATTTATTTTTTTAATTTCCTATT ATGGCCTTTGTTGGTTTCTTAGCTGTTACTGTTACTTTAGTTCTTGCTTTGAGGTTTGTAGTGTACATCTCAAATTTACC ACAACCTACCTTGAAGAGGTATTACACTTCTCTATGGACAATGTTAAAACACTAAAATAACATGTACCATTATCCCCTCT CAGCCTCTGTGCTACATGCATTTTTAAAATTATATAACCACAATATTTTATTATTTCAACAGTCAATTGCATTTTTCAAA GATTTGATTAAAGAAAAAAGTCTAAAATTAACATACAAAATTGCCATTTTCAGTTTTTGTCATTTTATAAGATCTATTAT ATCTTTGTGGCACCTATCACAGCCATTTGATAAATTAATTTGTAGATACAGTAAGAATGTCATGTATTTATTAAAGTTTT TAATAGTGATTTTAAAATTTCTTATTAGGTGGCAAAAAATAATAAAAATAAATGCCCAGAACGAGTATGTTATAAAACTA AACTGTAACTCCATGTAACAGCTATAGCATAGTTTGTTTGAACTGAAATTCACATAAAATAATCATATTGAAGTCCAAAA AATTTAAAGATGTAGTGTAAATTCAATTTATATGAAATTGAAGCACGAGGTTTCCTAGATACCTGCTGCCTACAGAGTTA GAATCTAATTCTTCTGATTATTCTTGTAACAAAATCTTTT >NM_032758 GCCCCCCTCCCCGACATTCCACGTTCCGCAGGGTCCTCAAAAGGTGGTACAGGGTCCTAGTTTCTTCTCCAGACTCCAGG CCTGGCAACCGTAGATGCTGTCATGCCTCTGTTGCTAAGAGATGGGAAGTGAGGCCTCAGGAACTGGGCCTAGAAGACTC AACAACGACCGCGCCCCCTAGTCACCTTGTCCTCACCTTGAGGAATGGAAACACACCCCACGGGAGCAGGCAATGCTGTC CTCAAAAAGAAGAAAGAGGTGCCTCCGCTCTTCACCCGGCCGCCGCTGCTTGGGCCCACGCTTCTTGCGAGGCAGGGACA GGGCCAGGAAAGCTGACTGTGCCGGGGACGCCTTGACCTAGGGCACCAGAGAAGCGGGCACGGGTGCCGGGCCCACAACC GGGACAGGTACACGAGAAGTTGGCCCCAGGTTGGGCCCGCCTCGCCCTGCCTCGCCCACAGCCGCCGGCACAGTAGGAGG CACCCCGCCCCCGTGAACCCAGAGGTCCCTGAGCTCGCTCACCTGCAGCCGAGTCACCAGTAGGCTGTAGGGCGCCATTT TGTGCACTGACAAAGATGAGGTCGCATTAAAGTGACGTCCCACACGGCGCCTTTAAAGCCTTTGGGCAGGGGCGTGCCCG GAAGAGTGGGGCGTCACGGTGAAGGCGAGGCCTCCCTAGAGGCGCCAGAACCCTGTGAACGCAATGGGCGGAGCTCACGT GCAACGAACAGACACGCAAGAGGAAATCGGACTGCCCAAAGACACTTGCAGAAATAGATACCAAGCACAAAGATGTTTTA CCCAAGAACAAATTTTAGTTATCTCCGCCATCCAAATCTGGGAGAGTTTTTAAGAGTTTCATGCACCTGCCAGGACCTGG CCGCCCAGCAGCGACAAAAACTCGCGCGAGAGCAAGACGGGCCTGGTGCAAGGATTGTAAACTGACGGAAGCTTAGAGAA CCAATCACAGCGACGTGGAGGCAGGAACAATGGGGGTTAA >NM_020243 ACATATATACATATATACACATATATACATATATATACATATATACGTATATATATACACACACATAAAATATATATTAT ATATAATATATAACTATATATAGGCCAGGTGCGGTGGCTGATGCCTGTAATGCCAGCACTTTGGGAGGCCGAGGCGGGCA GATCACTTGAGGTCAGGAGTTCAAAACCAGCCTAGCCAAATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAATTAGC GGGGCGTGGTTGGTGGTGCATGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGCGGAGCTTGCAGTGAGCCGGGATCAC ACCACTGCACTCCATCCAGTCTGGGCGACAGAGCGAGACTCCGTCTCAAAACAAAACCAACAACAACAACAACAACAAAA AGCTAAAATCTTACAAAAAGCGACCTGTTCCACTGTCCCTTGGGCCTGCGGTGATGGTGGGCCTGACTCCATTCGTCTTT AAACATCTCTATTCCCGGCCACATCTTTGGCCACCTATGCTCGAATAAAGTGTTGTCTTGGAGCCTGTTGTAAATTTAAG AATAAACTTTTGTTAAAAAAAAAAATACAGTGGCTCATCATCTCTTGAGTTGTTTTCACTCAGCCACTCCTACCTTAGCT GTGAACTTAAAGTAAAACAAGCCCCCAGAATCTTGCCAGAGTCAGCCCTTTGATCTTTGTTCTCCCCTGAACTCTATTAC CTGGAATTAAAACAACGCATTTGAAAAAAAGAAAAACAAGCAAGTTTCTGAGCTCACCCTATACCCGCTGAACAGAATGA CTGCGGTGGCGCCCCAGAACCTCTCACAGGCCTCTCAGCTGCTGCTAATGCCCGCCGAAGCCCCGACGCCCGGATAAGGC CAGGGCTGCCGGACCCGCTGCGGGCACTGGAGGACCCGGGGCTAGAGGGCGCCGCTCTCGCCCGGCTCGCGCCTCGGCTC CCGGAAAAGCAGCTCTGTCCGCCGTTCGGCTGCGCTCACC >NM_003490 CTCTGTTTAGAAAAGCAATAGATGTGTATATTATCTGCTTGTGCTGACATAACAAAATACCATAGGCTGGGTGAGTTAAA CAACAGGTACTTATTTCTCACAGTTCTGGAGGCTGGGAAGTCCAAGGTCAGGGTGTCAGCTTTGCCTGGTTCTGGTGAGG GCTCTCTCCTGGTTTGCAGATGGCTGCCTTTTACCTTTGCTTTCACACAGTGCAGGGAAAGCAAGCTCTCTGGCATCCTT TCTTATAAGGGCTGTACTTCCATCGCGTGGGCCACACCCTCATGACCCCACTAACCATAATTACCTCCCAAAGGGCTCAT TTCCGAAGCATCATATTCAGCATTATCTTCAACATATAAATTTGGTGAGGTGGGGGACATGCCGGTCCATAGTAATAAGC ACTCTAGAAAATTAGAAAAATATAAGTAAGAGGAAAGAAAAAGAAAAAAAGGCATGTACTTGCGTTACCAAAATATAATC ACTGTTAACACTTTGATTTCTTTTATTTCCAAAGTTTTGTTCTTTCAACTTGTACATCTTTGTAGTCATTTGGTTCCTAT AATTTTGAATCATTATCTTTTAAATTTGTCATTAGAACATGAAATTGTTTCTGTTACCAAAATCCGTTCTTCAGGGCACC TTTAAAAATAGCCACAATAGGTTCATTGAGTAACTGTGCTGTAGTTGACTTATTTGTTAAACTGTGGTTGAATGTTGAGA TACTTCCCAGTATTTCGCTAGTGTAAATAACCTGTGATTAACATATTTGTGCATGAAGCTTTTTCTGTAACTTAGAATCT TTCTTTGCGATATAATTCCAGAAAATGGAAATTGTAGGTTAAAAAGCTATCCTCTTAATACATGTTGCCAAATTCCTTTC CAGAAGGATGTCCTAATTTACATTACCACCTGCAGTGGGGCAGGAAAGCGCTGTATCTGTTTGCTCTTAAGGGGGTGGAG GTCGTTTCCACTTATGTATTTGTTGGCTTATTTCCAGCAG >NM_001137606 TGGGAATATACCGTCTCTTTGCTGCTGGGACTGTGACTGCTGCTACATCTATGTGGCTGTGATCCAGAGTCAGAAGCCAC CACCAGAACCACTGTGTCCAGAGCTGGGCTGAGCCTGCTACACACGCCCCAGCAAAATAGGTCCTGCACGGTGGCTTCTC TCCCCACCTGTTACAAGCCCCAGTCTAGCACGGGCACTTCAGAATGGCAGGGACTGACTCATGTGCCTCAGTGTCTTCCT CTGTAATATGGGGGTGATGATTGTACCTACCTCACAAGGAAGTTTCCAGTAAAATGAAAGCCCTTAAAATTATGTTTGTT TCATCACCAATGACTCCATAAATATTAGCAACAATACCAGTACTAAGTTTTGTCATTTTTTATTAACTTCTTGTAAACGA CCCTACTTTCCTGCTCTCACACACTCCTTACACCTGCATCCCACCTGATTTAGCCACTTTCTGCCTAACCTGTCAGAAAG GGTAGATAGCTTCCCAGTCACCTGTTGCTAGGGAAACTCACCATTTCAGCCCGGATGGTGAAGATTCCAGCTTGAGAGAC CAGCTCGGGTCTGAAGTGTTTCTCTATCTACTGTGCTGAGATCTCTCCTTCTCGAACCCTGCTATGCCTTTGCATACGCT GTTTTCTCCACCTGCCACGTTCTCACCCCTTCTTCTTCCACTGCAAACTCCTATGCAGCCGTCAAGGCCCCATTCTCCTC TGGAAAGCCTTCCCGATCCCCTTGGCAACAACCACCACCAATATTTATTCACTGAGCCCACTTTGTGCCAAGCATTGTTC TAGACACGGGTATGTAACCGCGATTGAGAGAGACAGACCACGCACAGCCTGGATTTTATTTTAAGAGCTATTGGGTGCCG TTGGTGGGTTTGAGTGAGTGGGGTCAGGAAGTGACTCACTCCTCCGAGGGCTTGTGGGAGCCTCAGCTCAGGGGCGGGCA GGGGGCGTGGGGAAGTCTGCAGCCGAGAGTCCAGGTAGGA >NM_001184971 GTTACTGTATGAGATTTTAAAAAGTGTTATTGAATAATATGCATACCTAAAGTGCACAGATCTCAAGTGTACATATCAGT GAATTTTCACAAGCCCAGCACACCCATAGCCAGTTTAAGAGCCACAGCACAGCTCCAAAACCCTCCTGGCACCCCTTCCT GCCTGCCTCCTCTTTCTCTTCCCTGTCCCGGCTTCGAAGGGTGTAGATTAGTTACGCCTTTTCTTGTGCTGGATCCAAAG GGAATCGTACAGCATGTATTCTTGTAGGCACAAGCATTTTAAAATCTTTCTCTCCTCACCTAAAGCTTTATTGTTTTTTT CTTCACTTTAAATTCTTTGTAAAAATTGAAGAAGCGAGGTGTTTTTATTTCCATGTAATCACAGTTGCGTATTTGAGTGT CCTAGTTCTTAGGAGACAGTCGTGCTGCTGAGAGACCATGGGGTCACCTGCCTGTCTCCAGGGGACTCTGTGTCCCCAGT CCTGTCTCCTGCATGAGGCTTCCTGTTCATCTGCTGACAGGCATTGCCTTGTTGTGTGTAGTCACAGAAGGAAGTTGACT TCCACATGTAGGGACAGTGTAAGATTATCCTGTGCAAGCAAGTCCCTGTCCCACTGACTGCTGTGACGCCCCTCAGATGC AGAGAGAGCATGCTGTCTTTTTTCTCTTGTAAGCAGGAGGATCCCAAATACAAGAAGATATTAGAAGACTCATGTATGGT GTAAGTTAGTTTGTATATAATTTGATTTTTTGTGTGTTGGGGAGGGGGTAGTATGAATTTTGTTCTCAGACCTCTTCTCC CTGATTTTCCGTGGAAATACTGAAATTTCTCTTTGGCCACTTTCTGAAAAGAGAGCTCTTCTGTGATGGCCACAGCAGGC AGGAGCGTGCAGTCTGGGAACCTGGGACTGTACAGCGAATGCAGCAGTGTATGGGAATGACCTTATCTCGGCAGCCAACA GGAAATGATGAAATGTGCTGGGAGAATTCAGCTGAGAGAC >NM_003325 CAGGGAGCACAGGCGAGTCCTGGCGGACAGTCGCGAAGACCCCGCACGCGCCCTGGGCACTCCGCTATCCGGCCAGCGTC CGCACTCACCCGCTAGTCGGGCGCAGGGCTAGCGAGATACTTCGCAGCACGGAGGCCGTCATGGCTACCCTCGCCGCTTC CGGGCGTGCGCCCCTCCACAGTCCGGCCCGCGGTGCCCCCTGCTGAGGTCCGGCAGACCAGGCGCCCAGCGCTCAGGCGT TCCGGCTGCGTGGGCTGGGACGCGCCTGTCCCCGCCCCCGACGCAGCCCCGCCTAGGGTGTCAGCTGCGCACACACGAGG GCCTTGCGTTTCACGCGGCTCGGGGTCCTCCCTTCCGTCCCCGCCCTGTGCTGGGAGCGCGCCTCTGCAGCGGGCACAGT CTAGCCAGTCAGGCCCTAGCCGGTTGGTCGGTCTGCGCCCTCGCGCGGGCCTCGGCTCCGCAGTGCAGCCGGAGCGGCCG AGGGGGCGTCCCTCTGCTCCTCCGAGTCCAAATGTTCATGTCTAGGCAAACGGCCCCGATCTTCTAATAAACGCGTCCGC CCCAGCCTCCCCCACCAGGGTTGGCTCGTCCCCCGCATTCGTTCGAGTCCGAAGCCCGGATCGCATTCCGGCGCCGGCGC GGAGCCCGGCGCTCGCAAGATGCCCAATAGCGCGTGTTGATGAATGACGGAAGCTAGTTAATAAGTCGGACTCAGACTGG CGAGGCAGAGCTGGTGACGGGCGGTCCACGCCACCTGGGCCCCGCCTGCCTCTGCGGGCGGCCCGGGTTGCAACTGCAGG CCCCGCTCGCTGTCCGCCGTCCAGGCGAACCGCCCTTTCTGGGGCGCCCGCGCCCGGGCCCGACCCGAAGCCCCTGCCAG CGGAGGAGCCGGGGCGGCCCAGTCCGCGTGGGGAGCGGTTTCCCGCCGGGGCGATTTGGCAGGTGCGCGCCGTGACTTCC GGCGTTGCCCGGGAGCCGCCTGAGGAGGAGCGGCGCAGGG >NM_001039366 GTGTATGAAAATAAAGTGTTAATGTACATGTAGCAAAATGTTAACAATTGTTGAATCTAGGTGAAGGGAGGTCAATGCAG TATTCTTACAAGTTACTATATCTCAAATTTCTTCAAGATAAAAAGCTAATAAAAATGGTGGGTAACCATAGCACAGTAAA AAGAAAAAAGTGGGTGTACCATTTGACCTCTTATTCTACTATTAGGAGTCAGTCTATCCTAAAGATAAAGGAATTTTCAA AAGTTTTTGCCTTTGGGATTTTGGGGAAAAAAACGGGCTTGAGGTAAATCCAAATAAAAACAAATGAGCCTGGGGGGATT TCTGTCCTAATATTCCTCTAAATGGGACCTGGGAAGGCTTTTGAAAAATATATAGGCTATCTCAGAAAAGTTCCAAATAA ATTATGTAGCTGCTCCACCCTAATAAGGAAGTTGAGCATAGCTTCCCACTCCCTAGGTGTGGGCTTTGTATAGTGGCTTC CTTCCTAAGACTACAGTATGGAAAGGGGGTTAAAAAAGGTAACTTCAGAGTGGAGAAACCTACAAACCCTACACTTTATT CAGGTAATCAAGGTTGACATGAATAGTCAGAAATCATGTATCCCCCTTTTTTTTTTCTTTTGGTAGAGACGGGGTTCCTC TATGTTGTCCAGCCTGGTCTCGAACTTGAGGTCAAGCGATACACCCGCCTTGGTCTCCCAAAGTCTCCGGATTGCAGGCG TGAGCCACCACGCCCGGCCAACAATCATGTACCCCTAAGCCCATAACCCTGTGTAATTATGCGAAAAATTCCAATAAAGG CACATTCTCCAATATACCTAACCAGTACTCCTCAAAACAGCCCGACTAATTTCAGATAGAGGAACTCCTTATCTTTTCTT CCTCCTACCCAAGATCCCAGTTTAGGAAAAAAATACCGGTCAGGTCACGAGTCAGCGACGTAGAAGGACCCGAGGACGCG CCCACAGGCCGGGACAGGGCGGGACTTCCTGGGCGTCGCT >NM_014339 TCGAAGCAGGAACCTAGGATAGAGGCAGCGCGGGCCGGCTTGGGAGGGTCCTCCAGGGTCCGGAGAGGAGAGGACGCAGG CTGCACGCGTGCTAAGAAGGAGACTCATGAAATGTGTAATTCGCTGGCGACAGCTTCCGCGGCCGTGGAGTGAGCCTCTG GGAAGTAACGACTCTCTTAGGTGCGGCTGGGACACAGTCTCACAGACCAGGTAAGTTGCCTGCCCTCCAGGAACTCAAGT GTCCCCGAGTCCGAGCCAGGAGGCTGGAAGTGACTGCTGTCCCATCCTCCCTGGAGCCCGGAGCTGTCCTTGTCTTGAGA AAGAGAAAGCAAAGCCAAGGAAAGCAGAGCGAGCAGAACCAGGCAAAGGGGTGGGGACAATAAAATGGGATATGGCCCGC GCTTCCATCTACTCAGGAGGCAGAGGCAGGAGGATCGCTTGAGCCCGGGAGGCCGAAGCTGCAGTGAGCTGCGGTTGCAC CACTGCACTCCAGCCTGGGAGACAGAGGGAGACCCTGTCTAAAAATAAAGTAAAATAAAAAACAAAAATAAAAGGGACAG AGACTAAGAAAACGGACTTCCTGAAATCCCAAGTTGGGATTTCACGTCCAGTGACCCACAAGAGAAGCAAGAAGTCTGAA CAGGGCCAAGAATCAAGTGAGTGGGGGCGGAGGATTAAAATCGACAGTTGCTGCGGCACGGCCAGGGTGGAGGGTGCATG TGGGGCAGGCGAGGCTCCAGCTGGAGTTGACGCTAGCCCGACGCGGGTGCAACTGGAGGCGCGACGGGCCAGGCCCAGGA GCAGCGGGAGGAGCGCACCTGGGGCGCGCGGGCGGAGGAGGGCCGGGGAGGGACGCCGGAAGGACTGGGTAGGGACGCCC GGAGGACTGAGCGTAGGGCCGAGAGGAGGGGCGCAAGGAGGAACGGGGGGAGGGCCCTGTCTCACCCTAAACCCCTCCCC GTCCCAGACTAAACTCCTCCCCTCGGCCCGGCCCGCCCCT >NM_002305 TGAGACCAGCCTGGCCAACGTGGTGAAACCCCGTCTCTACTAAAAGTACATAAATTAGCCGGGTGTGGTGGTGGGGGCCT GTAGTCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCAGTTGAACCTGGGAGGCAGAGGTTGCAGTGAGCTGAGATCAC GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCATCTCAAAAATAAATATATAAATAAATAAAAATAAAAAAGAG AAAGGACAGGGTGCACAGAGCCAGGACCCCACCCCCTCCTGGTCTGGACCACCCTGGGCCATCTCCTAAGCTTGACACTC TCAGGCCTGAGGCTGTCAGGCCAGGGCGCTTTGACTATCCCCTGCCTGCCCCTGAACGCGGCCAAGCCCGAGGCCTTAGC CAAGCCCTGCAGCCTCAGGCTTGGCGCCCGGCCCAGCCTTTCTTTAGCCTTCCCGAGGAGCCAGCGAGAGAGCGCTGCAG CAGCCGCAGTCCTTGCTTCCGGGGAAGGCCCGGGTGGGGCCAGGGCCTGTGGTTAAGTCAGTGGCCCTCTGCAGACGCGC ACGCAGCAGGAGCCACGCCCTGGTCCCTGCCCGGGAGTGGCCTGGTCTCCCCCAGCTCTGATTCCCTGAAGGACCCTGCA CCTCCTCAGCCATCTTCTCTGGGCACCCCCTGAGCCCAGCCTGCTGGCCACAGGCCCCTTCCCGCCAACTTGTGGGCCTA GCTCATCATCAAACTATTTTCCACTGGCTTCCCCCAATCTCTGCCACAGCACAATTTTGGTGGGGAGGTGGAGAGGGATG AAGGAGAATAGGAGGTGGAGCTTGGACTCTGGCCGGGGGCGGCGGGGTGAGGGGGGGCAGCAGCTCGCCACTCTGATTGG TCACCTCTGCTCCAAAACTGGCTTCAAAATTCCACGGACTCCGCCCCCAGTGGCCCCCAGCCCTATCCTGACTTGCAATT GGCTGAACTTTCAGGGGGCGGGGCTCACCCGGTCCGGTCC >NM_152868 GGGGGCACAAAACCCGGGAGCGGATCCAGGAACGGGTTCTGGGAGGAGCGCTCCTGGGGCGAGGAGGAAAACCCGGGCAG GATCCAGGGCAGGAGCGGGGCCAGCAGCCCCCCGCCCCAGCCCCTGCTCCGCGCCGCGGGCCCCGCGGGAGGGGGCTTGA GGCCGGGTTAGGCCGAGGGGCGGGCAGGGCGGGGTCCCGCGGGCAGCCGGGGCTCCCGGGCTGGGGGGCGCGCGGCCTCC GCAGTGGGGCGCGGGTCACGTGTGAGGAGGGGCGAAAGTCTCGCAAAGCGGGGCGGCGTGCCGCGAGTTGGGAGTTCTCG GCGCGCCGCGGGCGGCGGGAGCTCGGGCTCCCGGGCGAGCCGGGGACGCGGCCAAGGCGGGGGCCGGGGTCCGAGACAGA GGGGGCCGCACGGAGAGTGGGAGGGGGAGAGACAGAGAAGGACAGGGGCCGCGAGGGAGACGGACAGAGACGCGCAGGGG AGAGAGGCAGCGCGGGCAGAGGGAGGCGGGGGGAGGCCGGCGGGCGACCGCGACGGAGACGGAGACCCCGCGGGCAGAGG GCGAGCGGGGCCGCAGGAGGCAGGGAGGCCGGGAGAGGGACCGGGACGCGAGCGCGGCGGAGACCCCGGCGGCAGGAGAG AGACGCGAGAGCGGTCGGGGAGGTGGCGACAGAGCCCGGCCGGCGGGGGCGGGGAGGGCGACCCCAGGCCGGGAGGCCGA GGGGTCGCGGGGCCGGGGCCGAGCGCAGCGGGGCCGGGAGTGGAGCGCAGGGCCGGGGGCAGAGCGCGCGAGCAGGAGCG GGTGACAGCGAGGGAGCTGGGCGCAGCGGGGGACGGCGGCGGGGAGGGCGCCTGCAGCGGGGGTGGGGGGCGCGGGCGGC GGGGCGCCCCGGGCCCCCGGACCCCCGCGCTGTGAGCCCGGCCGGGCCCGACGATGCTGACGCCGAGGCGGCGCCGAGGG CGCGGCGCGGGGCAGCGCTGAAAGTTGGGCGGCCCGCGGG >NM_001010859 ACTTTCTGATAATCATGATCGGCTTGTGGGGATCAAGATTACTCAGGATTAAATTCTGGCCCCATCTTGAGCCGTCATGG AAACTTGGGGAAGCTACTTAACTTCTCCATCTAGATTGATTCTGCAAAATCCGTAAAATGGAATGGTTTCTGGGGGTTAA ATTAGTATACCACTGTTGGAATACTGTCAGGCTTGCCAGATATTTACTGTTCATCTTCATCAAATGAGGACAGTGGTATC CCACTATATGGTTTTCAATTTTGTGTAAGAAAAACGTGCTTTATGCATTGTTAGTAAAAGAAATATCTGAATATCCCTGC CATGGAAGAAAGAAACAGAGGGAGAAAAGAGAGTTGGTAGGTCCTAGCATTTCAGAACTGGGAAGGATGAGTTCAGTCCC TATTTTATAGACAATGAAGGGAAAGTGTGATGTGTCCTAGGGTTTCATTCAAGTCGCAGTCATCACGCTTTATCGAGAGT GGGACCAGGGCTCTAGGAGTTGCTGTGGTCAAGTTGAAGACAAAAAGTAACACTTGTAAGACAGGAGAGAAGCATTTACT TACAAAGCAGTCCGAAATTTGTGTATAACTACATTTGGTGAGCAAACGAAAGCTGCCAGACTCAGAAAAACAGAGATGCT AATGGAACTGACTTTAGTAACCAGGGTTTTCTATTGAGTTCATTGCCCAGGGTGACTTCCAATAACAACCTCCAACCCCT GCACTTTTCTCAGGACTGGAAAGCTCAGGCAGCCCAGGATGAATAATGCAGTCACCACAGAGGGACAGGGTGGCCACAAG GTGGGCAGCAGCAGGGATGGGCATTGTGAGGCATTTGGTGGGTCTGTGGGGTCGGCCATTGTGAGCCACTAGCCTGACTT GGTTGTTTCCTGGCAACCAGGTGACATAGGAGGTTTTGTGGTTACTAGGCAACGGCCAGGGCCAGCAGCCTTCAGTCGGT AGCTGGCCGTAGAAGGAGGAGGAGCTCCGACTACATTCTG >NM_030882 GTATATGCCATGGAATATTACTCAGCTGTAAAAAGGAAGGGAATAATGGCATCCGTAACAATCTGGATGAAGTTGGACAC CATTATTCTGAGTGAAGTAACTCAGGAATGGAAAACCAAATATTGTATGTTCTCATTTATTAGTAGGAGCTAAGCTATGA AGACACAAAGTCACAAGAAGGATACAATGGGCTGGGCGCCGTGGCTCACACCTGTAATCCCAGCACTTTGGGAGGCCAAG GCAGGTGGATCACTTGAGGTCAGGAGTTCAAGACCAGCCTGGCCAAGATGGTGAAACCCCATCTCTACTAAAATTACAAA AAATTAGCTGGGTGTAGTGGCAGGCACCTGTAATCCCAGCTACTCGGAAGCTGAGATGGGAGGATGGCTTGATTGTGCCA CTTGAAGTAGCTATGATTGTGCCACTGCTCTCCAGCCTGGGCTACAGAGCAAGACTCTATATCAAAAACATAACAGAAAA CATAACCTCAGAAGCATTACAATAAATATGCAATAAGCATCCACCCAGCATGTGTGGGGGACTGTGCTGATGCTGATGGC ATGTGTGGGAGTAAGGCAGGCATCTGAGGAATGTGGGGGAACGGAAGGACGGGGAGTAATCTGGAGAGCCCCACGGTCAG TCAGTGGCAGGTCTTTCTTGAGCTCAGAAAGGTTAGGTAACTAGTTCAGATCAGACAGTAAAACAGGGGCAGAGCCTGGA ATTGCACTGAGGCTTGAGTCTGACTTCTCTCCCCCACCTGCTGTGCCCTTAAACTGCAGAGATCGGGGCGGGGGTTGGGG GGCAAGCGGCTCAGATGGGTTCAAAAAACTCCCCAGGCTCAACTCTGGTTCTGACTGCCTGAGACATGGGCAGCTGACAC AGCAGACCTTGAATCCTGAGGATGTGAGGCAGGTGGGTTGGATGAGAGGGACCCGGATGTCTGGTCTGCGGCTGCTCCTC TAAGTGCAGCAGCAAGGAGGCTGGGCCTGGACTGCAGGTG >NM_033257 ACAGATCCTGGAGAAAACCAGACACTTTGCTGGCACTTCAGGGGGACCCCAGTTGGTTGGCTCAACGCCCCCTCTTCCCC ATAGCCAATTACTAACCAATGTTCTCTCTGGAAACCAGTCATAATTCCTAACCTGGTCAAAGCAGGGTCATCTCACACAG CCCAGCCACCCAGCAGGCAGCTAAAGAGTGCCTGATGAAATGCAAGTCTGATCGTGTCTGCGTCCCCAAGCCCTTCCGTG CCCCCTGCTGCTCTATGGACAAGCCCCCAGCAGCCTCTGTAATGCACAGCACCCGCCCTTGTCTCCTGTGCTGGCTTCCG CAGCCTGGCCACACTGGTCCTCTCGCCCACCCACCTGACCTGACTCTGGCAGGGCCTTTGCAGGAGCCATTCCTCCACCC GAGCCCCTCCTATTAAAGCCTGTTCCTAGACGGTTCAGCCCCAGCCACCAGAAGCCCCCCAGCCCCGGCCCAGCAGCTGG CCTGTGGAGCGGGGAGAGCGCAGTCTGGGCTCACGGGCTGGGGGCCACGGAGGCCCAGATGGGGACTCTGGCTCCGACTG TCCTGACCCAGAGGCTCTAGGGCGGTCCTGTCTGTCTCACCCCGGGGGCGGGGAGGACGCAGACAGACCCCAGCGCCACT GCTCGGCCGCGGATGGTGCCTTAGACCCAGGTCCTGTGGGCTCTGGCCCGAGACCCCTGCCTCTGGGGAGGCCGGTGACC GGGACAGTCCACCTCGCAGGCGCGCCGGCGCGGAGCCCGGACCTCGGCCCGCAATGACTCAGCAAGGGCCGGTGGGATTC TCCGTGGTCCTGCGATATCCAGACGGCGGAGTCTCGCCTTTAATGTCGCGCGGGGAGCAGGCAGGTGCGAGCCTGGGCTG AGCAAAACCCTCCTTGGAGTCTCCGCAGAGGAGCGGGGCGCGCCTCCTGAATAAGCAGGCGGCGGGGCGCGGGGCAGGGC GGGGCAGGCGGCCAGGCCCTCTCGGGACTGTCGTAAAAGG >NM_014876 AGGTGCTTCAAAATCCCCCCTGGTGAGCCGCGCGTTAACCACACATAAAACAGTCAACGCAGAAGGAGCGAGAACGTTCG GCCGAAAAGCCCGGCACAGAGAAGGGAGGGGTGCTGAAAGCCGCGGACTGCAGCCGCTGGCCTGGCTGCCGCCCCGAAAC AACGCCCACGCCCGGGAGAAGGGCAGGCTGGCGTCCAGGTAGGACTCCCTCAGGCCGCCCCGCCAGGGGCCGCGCCGAGC GGAGCGGCTGGACCCCAACCCTGCCGGCCGCCGCCGAGGTGCGCAGCCCGCAGCCCCACACCCACGGCCTTTGCAACACC CCAACCGTTGAACTGCGCCCCTACACGCCCGGCGTCTGCGGCTCCCAGGCCGGTGCCGATGACGTCAGACTTACGTCAGG CGTGACGCCACGGCTGGGAGGAGTGAGGACGGCGCGGGAGGGCGTTTCCGGAGCACGCGCCGGGCGGGGGCCGCTGACGT CGGGCTCAGGTGCGCGCGCCCGCCCGCACGGCCCAGTTGGCGGCGCGCACTCCAGGTGGCGGCCGGCTGCGGTGAGGGGA CCGCCAGCGGCGAGCAGTCCCGGCGGCCCTGGGGTCTGCGGCCGGGGGCGCGGCGGGAGGGCGTCTGGGCCTGCGCTCAC GTGACGGGCGGGGAGGTTTGTGTAGGGGCTGCGAGCCGGGTGGGCGCGGGCCCGGGAGCGCGAGGCTGACTGTCCGGCCC CACCCCTCGCGGGCCAGCCCTTCGCCGCGCGGAACCTTCCCTCGGGCAGGGGCCGGCCCCGCCGCTCACTTCCCGCGCCC GCTCGCCGCTGACCGGAGTTGTCTCCTCCTCCGCAGGGCCGCGGCCAGAGGGCTAGAATCCGCGCCTTCCGAGGGAGCCG CGCCCTGCGGGCCCCACCGTACCCGAGGGGATGGAGGGCTGCCCCCGAGGCCCCCGCGCGGCTCGCGGTCCCACGCCTGC CGGCCCGCGCTAGCTACTCGACTCGTGCGCTAAATTTATC >NM_000407 CCGGACTGTTCCCGACCCGGAGACGCGGGGCCACAGCCCCCAGCTGACCCTAATTTATTCTCAGCACCACCCCCTCCCAG GTCATTGTGTCTGTTTCCGAGGGGCCTGGACCGTAGCCCCCGCCCAGCTGGCCCTCTCTGACCTTGGGGGATCAGGAGCG AAGTTGGGCGGGACTTCAGAGATCCGCCTCCCTTGCCCTTCCCCCGCCCCCGGACGGTCACAGCACCCAAACCGCAGGCC CTGCTCTGGCAGGCAGGCAAAGCTAGGCAGAAGAGGATTCCCAGGATCCTGGGTCTGTTCCCTGCCCCAGTGCTGCAGAA CGGACTTGGGAGCCCTCCTTTGCCTGCTCCCGCGGGTCACCCAGCGAGTGCTGAGACCCCATTTTCTGTCGAGGCGGGCC GAGTCTTCCCTTATCCCCAGACGCCTAGCGGGCAGGGTTGGGCTGAATCAAATGGGAGCCCTCCAGACATAAGGAGGCCA GAGGCTGCAAGGAGCGGGGTCGTGACCGCTTACACCCCTTCTCCACAGCCCGGCCCGACCTGGAGGGCCCCCGGGGCACT GGGCGGTGAGCCACCTCCTGGCAACTCTCGGTGCCGTCCCCTGCCCTCGCTCGAGGCCTCTTCTCCCCAGCACCGCTGTG GTGTGCCGGGATCCTGAGCCTAGGCCTCCCGATGTTCCCACCCGCATGATCCCTTCCCGCCACACGATGCTCCGTTTTCT TCCGTTGTGAATGCCGCGTCCTGTCCTGGTGACAGGAGAACAATGTTGGTGAACGTCGCAGCGGGTGTCCGAGTGCTCCG TGTGCCCCTGAGAGCGGGTGGGAGCGGAAGCCTGAGCGGCCTGCGGCCTCCGGCGATAGTGTGCTATCTGCCGCTGCAGC GCGCGTCCGCGCGGCCTCTGGGCTATTTCTGGCCAGGCCGCAGCACTGTGGTCGGTGCGGGCGTGGCAGGGGCGGGGCGG CCTTATCGCTCGGCTCTCCCGCCTACGCCTCCCGCTGCAG >NM_000496 GACAGAGTGAGATTCCATCTCAAAAGAAAGAAAGAGAAAGAAAGAAAGAGAGAGAGAGAGGGGGAGAGAGAGAGAGAGAG AGAGAGAGAGGGGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAGAAAGAAAGAAAGAAAGAAAGAA AGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAGAAAGAAAGAAAGAAAGAAAAGAAAGAGAAACAGCCAGGGGCCTT GAGAATAAAATGCACTCTCCATAATTGGCCTCCCTGGCCCTGCAACATCAGGCCCTGCCCACCTTGGCCACCTGGCACAG GCCCTATTTGTCACATGTCATGCTTTAGCTTTGTTAACCTGTTTTCAGGTCTTCTTGAAATACACCATGCTGGTTCCTTG TATATGGACCCTTTCTGCTTGGAACTGTCCCCCCACCCTGTTCCCAGGCTTCCTCTTCTCCATCCCTGAGGGATGCGCTA CCTCCCAGGAGCTTTTCTGAATGGCCTGGGCTGGCGTAGGTCCTCTTCCTGACACTCCCCTGGAACAGAGATTGTCACCA AGTGGATGCCCAACAAATATTTGTTGAATGAATAAATGGGTAGATGAATGAAGCCCAGACTCTGCCAAACCACCCTTCTT TACTTGTTCTTCCCCAGGCCCACTGAGATGTTCCTCTGTCTGCCATGCCTCACGGCCTGACTGACCGTACCAGTGAACCC AGCGTACCCCTGGCCCTGGCAGCCGGACGGCTGATGCATGCAAAGCGGGCATCTCCTTGCCCAGCCGCCTGACCGCCCTG GCGCGGCCGAATCTGAAAGCTAATGACATTATTGTGCAGAGACACAATGTCTGTGGGCATTTGCTGACCCGAGCTTTGGT GAGAGCTTAATCCAGCATTCTCACCCTGCTTTTCGCAGGAGCACAGCGGTCACTCATCTTGGCACCGGCACTTCTGGGGA AGGTATAAATGCCACCTCCCGCTGGCCGAGCTTCACGGCA >NM_053006 TCCTCCTGTCTTGCACCTGCAGGGGCAGGCTGCCGCTTAGAGAAAAAGCCGAGACTCCTTCACTTCCCTCCTACTTCCAG TCACTTTCAGAAAAAGCCCTCTCTTCTCCCAGGCTCTCTGCTGCCTGGGTGCCTTCCTGCCGCCTCTACCCAAGGGAGGC CCTGCCCCACCCCTCAGACATGCAGCCACCTGCCCTGGACCCTGGGCACCCAGCTGGCATGCACTGCAGCCCCGACCCAC CCATACACAGGCCCTTGCTCGCTGGAGCAGCAGCGACTCACCTGCCCGGCTCTCTACCCTGAGGGGCCTGCCGCCTCTGC TCCCAAACACAGAGCTGCTTTCGTCTACCAGGCTTGGCACCACTGCCAGCCTGACTGGTCCAGGGCAGTCCCTCCCAGGT ACCACTGTTCCCAGAACCAAGCCAGGTCCAGCTGCATTTTCTTGAGGCCCAATAACGAGAAGCAGACAAACTAGGAAAGA AGGGAGTTTATCACTGTAACTGGATACAGGGAGAAGGCTGGAGATAATTCCAGCAGACCAACTCAAAGTGCTACAATTTT CTTACTGTTTATATAGGTTGGGGTTATGTGCCTACATGCAGTACAGCAATCACCTAAGTCTACTGGTAACTAATTTTGTT CCAAGGAGAAGGTCAGAGGCAAAAAAAATGCTTGCTAAGTCCGATTAAAAGGGGCCCAGTGCCTTCAAGGCCTGTCTACT GTGGTACCGGAGTGATTATTTCGATTGTATCTCCTTTACAGCTTGGTCCAGAGAGCTGCCTTAGACTATCCAATTGATCT ATTCAAACAGCTGCCTGTTCCCTTAACTTGTCTTCAGATTTTGTCGACCCGAGATGGGTCCTGGCACTAGGAATGTAAAA CCGTTCCTATTATTTTGGCTTGCTCCAGCAAAAGAGAAGCCCATGCAAGGCTCCTGCTGACCATGTTTCATTTCTAGCTT TGATGTCTGGGCACTGATTTCCCTAGATTTAACTATGTGC >NM_004377 CCTCCAGGCATCCATGTCCACCATAGAATTTGGTTACTTGGTAAGTGACCCTGGGGATGGGAATGCTAGCTGGGGGGCTG GGGAGCAGCAGCAGCCACACTCTTCCAGGAGGCCTGGGGAGTCCCGGGTGGCTGTGGGCAGCCTGAGGTGGATGTAGAAT GCTGGTCCCACGTCTTCTCACCACTGTGTGGGGTGGGTTTCCTTCCCTAGGACTATGCCCAGTCTCGGTTCCAGTTCTAC TTCCAGCAGAAGGGGCAGCTGACCAGTGTCCACTCCTCATCCTGACTCCACCCTCCCACTCCTTGGATTTCTCCTGGAGC CTCCAGGGCAGGACCTTGGAGGGAGGAACAACGAGCAGAAGGCCCTGGCGACTGGGCTGAGCCCCCAAGTGAAACTGAGG TTCAGGAGACCGGCCTGTTCCTGAGTTTGAGTAGGTCCCCATGGCTGGCAGGCCAGAGCCCCGTGCTGTGTATGTAACAC AATAAACAAGCTTCTTCTTCCCACCCTGTCCTGGCCCTGCTGAGCAGCAGCAGAAAGTACCAAACCGAGCAGTACACACA AAGGGACTCTTCAGTGCTCTGGGATTGAAAGTGGTTAGCGTTCATGCTGCCAGTTGGGGTCCCCCATCCCTCCCCAGTCC CCTGGCTGCAGCTTAGAATAATAAATACTAGGACTTGGGGAGGAGGAGAGTGATGGGGGTATGAAGACGACCCTGAGGTG GGGATGCCGCCCGGAGCACCAGCGATCCCAGAACAGGCAGCAGCTGACACATCGGTGACCTTTTCCCTACATTTGGCTAT TTTTAGCTCTAAAGCCACCATCCTCACGAGACTCTGGGGCCCCCCAGGCTCCCAGACCTTTGAGCAACCTTCACCGCACA GAAACCCAGCCGCGCCCTGCAATTCCCACCGCGGAAGGTGGGTGGGTTCTGGTTCTCGCCCCACGTTTTTCCCCGACCCC GATTTGGGAGTAGGTGTCAGGTTCCTGGTGAGGGCGGGGC >NM_053004 TACGTGTGTGTTCCCCTTGAGAAGCGTCACTTTCCGGTGAATCCGGCTGCCTGCCCGTGGCCCCAAGGACTCCTGGCTTG CATCCAGGTCCTTGGCCCACAGGCATCAGATCCTGAGCTGGGGCGCCTGCACCCTCTCCCACCTCTTCTCTAGGCACCGT GAAGCCGAGGAGAGGTGGCGTGGGACGGCTTGTGCAAGTGAGAAGAGCACCACCACTTCATCCTCACCTATCTTGTCCCA GGATCTGGGTGCTGACTCGGCAGGCTTGGGCTGGGCACGGCCCTGTGGGGAGGGCTTGGTAGCCTGCCCTCGCTGTCGTC TCCGGGTCCAGCCTCGGCCTGAGTCGGGAAGCACACAATTATATCCACAACAAGGAGGCCCAGAGGCCCTGCCTGCAGCC CCCAGGTATGCAGGTAGAGGGTCCTCTCGGACTGCCTGCCCCCTGCCTCTGGCGCCCAGCCTGCAGCTACGTCGAACCGG GCCCTAACAAGGTTCCCCGCACTGGCAATGAGTGATGAGAGGCACTCCGCGGGCACGCCGTTCCAGGGCGCTCACGAGGC CCAGCAGCCCCGCTATGCCCACATCCACCCCGACACCTGCAGCCCCCCAGGCTTAGCCCGGCCCCGCAGCAGCCCTCTCG ACGCCCAGCAGCACCCCAGTGTCTGGCTGACGCCAGGGCAGTAACGGCGGGCTGAAGCAGCATCGGCCCCTCGGTCTACG CCACAGCCGGGTGCAGATTTCCCGGATCTGAGGGACCGCCGGGCACCGTCCGCTGGGGATCATGAGGGGCAGCTTTGGCC CGACCGTCTCGCGCCTGTACACGCGGCCCCACCTGATCCCGTGGCACTTGGCGCGGCGTGGGAATGGGCGCGCTCTCCCA TCACCCACCGCGCGGCACTGCCGCGCCAGCAGGGACCGGGAGAGCCTGCGAGGTAGCGGCCACACGGCATACAGCGCAGG CGCGGCCTGGATGGGAGGAGCGCGTGGAGCGTGCCGGGAG >NM_138481 GACCTCGTGATCCACCCGCCTCCGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTTTTTT CTCTTGAGACAGAGTCTGTGTTGCCCAGGCTGGTCTCAAACTCCTGGGCTCAAGTGATCCTCCCACCTCAGCCTCCCAAA GTGCTGGGATTACAGGCATGAGCCACTGTGCCTGACCCCTGTTTCCAATTAAAGGAACAAACAGTAGAAGATGCAATTCC ATCAGAAGCAGGAATCTGAAAAATCAAGATACATGAACATTGGCCATGGTCTGGATGTATTATTTAAAAAACAAACACGA GCTTGGGAAGATGCGTATTTGGATATTCTTTGCAATATTGTTTGTAAATAGCAAAAAATTGGAGGTAGCCAATGTCCAAG ATGAATGGCTAAGTCAATGTGATACATTTACACAATGGAATACTATATACCACAGAATAATGAGATTCGGAAGAGTCAAT TTGGATAACTCCCAGTAATCTGAGGTTAAGTGAAAAAAATGAGTGTCTAGAATCCTGTGTGTCCAGTATTAAACTATTTA TGTCAATGTGTAAGCACAAACGGAAGGAAAGGGTCACCTGTTCTGAAGCACCCACTGTGTGCCAGGTGCGGGCCTGAACC CCCACTGTGACCTCAGAGCTACTTATTAATGGGATGTGTTTTTCAGAGACTAGGAAGCAGCCTCTGGGAGGGCAGCCCAC ATGGCAGGAGGGAGCCCAGGACTGCTGACTCCCGGGCCAGCTGCTGGTGCCCCCTCCCTGTCGGGCTGGCCCAAGGATTC AGGCCGGGGCCTCAGTCCTCGGCTGGGGCAGGCAGGAGGCCCTGTAACTCCAGCCGCTGCTCCCGCCCGCCGCCCGCCCC TTCTTCACCTCAGCCTGGGGAAGCCTGGCTTGCCTGGTCTGCCGACAATGCCTCCCATTCAGCCCTGTCCCAGCTGCCAG GCCTGCGGGCCGTGGAGGGGGGCTCCTGCCAGGCGGGGAC >NM_022720 GGACCACAGGCGCCCGCCACCACGCGGCTAATTAAAAATAATTTTGGGCCCGGCGCGGTGGCTCATGCCTGTAATCCCAG CACTTTGGGAGGCCGAGGCGGGCAGATCAATTGAGGCCAGGAGTTTGATACCAGCCTGGCCAACATGGTGAAACCCCGTC TCTACCAAAAATATAAAAATTAGCCGGGCGTGGTGGTGGGCGCCTGTAATCCCAGTTACTCGGGTGGGTGAGCCAGGAGA ATCGCTTGAATCCGGGAGGCAAAGGTTGCAGTGAGCTGAGATCGCGCCACTGCACCCCAGCCTGGGAGACAAAGCGAGAC ACCGCCTCAAAAAAAAAAAAAAAAAGAAAGAAAATTTGTAGATACTGGGCTCTCACTATGTTAGCCAGGCTGGTCTCGAA CTCCTGGGCTCAAGTAATCCTCCTGACTCGACCTCCCAAAACTCTGGGATTACAGGCGCAAGCCACCGTGCCCGGCCGAA CCACCGTGCCCGGCCGAACCCTCCCTGTTTTGGAAATCCTGTATTAGCAAAGGGGACAGCGCCAGACAGTTGAGCACACG CGTTCTTTATAAATGATGATGTCTGATACAGTGATGCTTTTAACAGGGTTGTGTAACGCCTGTGTGTGCACGGTCTCTTC TGCAGTGTCCACCGAAGGTGGCCCGTCTGCGTGTCCGCTCCCGGCGTACTCCGCGCTCCCTGTTCCCGGCATTCCCCGCG CTCCCCGAGCTTCCCGCGCTCCCCTGCTCCCGGCATTCCCGGTGCTTCCCGTTCCCGGCGCTCCTCGCGGCCGCCGCCCT CAGTCCAGCGAGCCCCGCCTGGGCAGCGACTGTTAGCGCGACCGCGGCCTGGGCGCCTGGTCCCTCCCGCGCGGCCGCGC TATTGGGCCGCGCGCGGCGGACACACGCGCTACGCGCCGCCGATTGGCGGCCTCCGCAGCGCGCTCTGCGGCTCCCCCAA TGCGGGGCGGCCGCGCGCGGGGATTGGCCGCACGCCGCGA >NM_024053 TGAACAAGTTATTATATAACTGTTGGCAGAACCAGTTTGCTATGGGCCCTGAGCGTCCCTGCATGTTCTTGCTGGGTATG TCAAGAAAGCAAGACCCTGACAGCTCTGTACTCAGGCTGTGTTTGCAGCAAGGAACCTTGAAAGATGAGGTAAAGTCTCC CATTGGACAAAGAACAGCATGCTTACCACTCACTGTAAAAGCAGTCAATTGGCAGGGCCTGCTGGTGTGCAGCGGTAGTC CCAGCTACTCAGGAGGCTGAAGCAGGAGGGCTGCTTGAGGCCAGGAGTTTACGACCCACCTGGGCAACATGGCCAGATCC CCATGGTGGCACTTGCCTGTAGTTCCAGCTACTCAGGAGGCTAAGCCAGGAAGATGACTTGAGCCCAGGAGTTTGAAGCT GTAGTGAGCTATGATCGTGTCACTATAGTCCAGCCTGGGCAACAAAGTGACGCTCCAAAAAAAAAAAAAAAAAAAGGGCC AGGCACGGTGGCTCACGTCTGTAATCTCAGCACTCACTTTGGGAGGCCGAGGCGGGATCACTTGAGGCCAGGAGTTTGAG ACCGGCCTGGGCAACTTGGAGAAACCCCGTCTCTACTAAAAATAAAAAAATAAGTCGGGCGTGGTGACGCGCGCCCGTAG TCCCAGCTCCTTGGGAGGCTGAGGCAGGAGAATCGCTTAAACTCGGGAGGCAGAAGTTGCAGTGAGCCGAGATTGCGCGC ATTGCACTCCAGCCTGGGCCACAAAGCGAGACTCTGTCTCAAAAAAAAAAAAAAAAAGTACTGTGTATGAGCATGAATGA ATGAAAGTGAACAAAGGAATCACTAAAAACCTGCTTACTGTGGAGCGTGGAACCAAAGGCCTGTCCACCACGTGTTCCAC GGGTAGCGCTGGAACGCCCCTCAGAAAAGGAGATAAAGGTTCGGTTCCTTTAAGAGGCCCCGTCCCGTCCCGCGAAGCCC CGCCTATAAGGAGGCACGTGCCCCCAGGCCGCGCTCTAGG >NM_001128633 CAGCACTTTAAGAGGCCGAGGCGGGTGGATCACTTGAGGTCAGAAGTTCAAGACCATCCTGGCCAACATACTGAAACCCT GTCTCTACTAAAAAGTACAAAAAATTAGCTGGGCATGGTGGCTCAAGCCTGTAATCCCAGCTACTTGGGAGGCTGAGGCA GGAGAATCTCTTGAACGTGGAAGGTAGAGGTTGCAATGAGCCAAGATTGCGCCACTGCACTCCAGCCTGGCGACAGAGTG AGGCCCCATCTCAAAAAACAAAATCAATGTCTCGATGCAGACTGCCAGGTATCAGGTGTCCATCCATGTCTCCAAAAAGC CACTTGGCACCAGGAGCAGACAGGAAGGGCAAAGAGGAGCCAGACTGAAGCAGGGCTTCTTAGCTCCCAAGCCACACAGG TGGCCACCAGTCAGAGAGGCAGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATTTCTTCAGT TCAGTGTGTGTATGTATGTTTCTTCTGCAGCTCAGTGTATGTGTGTATTCCTTCAGCTCAGTATGTGTGTGTGTGTATGT TTCTTCTGCAGCTGTGTGTGTGTGTGTGTGTGTGTTTCTTCTGCAGCTCAGGATGCCTCCAACATTTCTGCTGAAGCCTC ACCCTCACTCCTGGCCCATCCTGAGGCCTCTACCTAAGATGCCAATGAGTAGCCCAGACACTGGGGCTCCAGTGTTTGTC ACCAGGTGGTACCTGGATGTGGGAGGTAGACAGGCCAGATGGCCAGTTTGGGCAGTGCCCCCATGCCTATCTGGCCCTGG GTCCCTATGCCACCTTGCTGGGGAGGGTCTTTTCGCTTACACCTCCTCTGAGCCGACTCTGCGCAGTAACACAAATGTGT ATCAGGCACATCCTTTCCTCAAAAGGTGGATGACCAGTTGGGTGATCAGGGCTGTTAGGGGGCTGAAGGGTCCTGGGGAG TCCAGGTCTAGCCAAGTTGAGGCCTATCCTGCTGCATTTT >NM_012401 AGCCTCTCAGAGATGGATGGGGCCAAATACTGCACCCAGGCTTCCCCATCAGAATCAGCACAGACGCACCTGCATCTACC ATGTAGTCTTCCACAGTATCCTCTGGTGGGATGCTGGGTGGCTGCCAAATTTTCACTAAAGCCAACCATGCGGAGAAGCA CCCTGGGTCTGTGCCTCCCTGTGGGTATAGTCGGTGTTTATCCAGAACTAGAAGATACAATAGCAAGGGAAGATACAATA GCAAGCATTGCTGAATGCTACAGTGTAACACTCTGAGGCTTTTTGTGAATGAATTCATTTAGTCCTTGTAAACCTCTGGG GGTAGCTCACCATTCTGTCTCCATTCCACAGATGGAGAATGAGGCACAGAGAAGTTAAGTAACTTGCCCAACGTCACACA GCTAGTAAGTGAAATTTCAGGGTCATGGGTGTGCGTATTTTTCAGAAAGCAACTTTTTTTTTTTTTTTTTTTTTGAGACG AAGTCAGGCTGGAGTGTAGTGGTGCGATCTCCGCTCACTGCAAGTTCCATCGGCCGGGTTCATGCCATTCTCCTGCCTCA GCCTCCCGAGTAGCTGGGACTACAGCTGCCCGCCACCAGGCCCATCTAATTTTTTTGTATTTTTAGTAGAGACGGGGTTT CACTGTGTTCACCAGGATGGTCTTGATCTCCTGACCTCGTGATCCTCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAG GCGGGAGCCACCGCACCCGGCCTCAGAAAGCAACTTTTATTTTAAGCAAAGTAATAGCCATACCTAGTTTAAACAGGCAG AAAGCCCCTGACAGAGGGGAGTGCCAGGAGCCCTGGAGGTGTCTGAGGAAGGGGCTGTGCAGGGGCCAGAGGGAAGCCAA AGGCCAGATGGGGTCCTGTGGGATGTTTCTTCCCCCAAGCCCCACCAGCATGGGACAGAGGTGGGGGGCTCCACAGCAGA CCGGGCTCCTCTTGTGACCGGCGTCTCTCCTTTGCCTCCT >NM_000106 AGCAACATATCCTGAACAAAGGATCCTCCATAACGTTCCCACCAGATTTCTAATCAGAAACATGGAGGCCAGAAAGCAGT GGAGGAGGACGACCCTCAGGCAGCCCGGGAGGATGTTGTCACAGGCTGGGGCAAGGGCCTTCCGGCTACCAACTGGGAGC TCTGGGAACAGCCCTGTTGCAAACAAGAAGCCATAGCCCGGCCAGAGCCCAGGAATGTGGGCTGGGCTGGGAGCAGCCTC TGGACAGGAGTGGTCCCATCCAGGAAACCTCCGGCATGGCTGGGAAGTGGGGTACTTGGTGCCGGGTCTGTATGTGTGTG TGACTGGTGTGTGTGAGAGAGAATGTGTGCTCTAAGTGTCAGTGTGAGTCTGTGTATGTGTGAATATTGTCTTTGTGTGG GTGATTTTCTGCATGTGTAATCGTGTCCCTGCAAGTGTGAACAAGTGGACAAGTGTCTGGGAGTGGACAAGAGATCTGTG CACCATCAGGTGTGTGCATAGCGTCTGTGCATGTCAAGAGTGCAAGGTGAAGTGAAGGGACCAGGCCCATGATGCCACTC ATCATCAGGAGCTCTAAGGCCCCAGGTAAGTGCCAGTGACAGATAAGGGTGCTGAAGGTCACTCTGGAGTGGGCAGGTGG GGGTAGGGAAAGGGCAAGGCCATGTTCTGGAGGAGGGGTTGTGACTACATTAGGGTGTATGAGCCTAGCTGGGAGGTGGA TGGCCGGGTCCACTGAAACCCTGGTTATCCCAGAAGGCTTTGCAGGCTTCAGGAGCTTGGAGTGGGGAGAGGGGGTGACT TCTCCGACCAGGCCCCTCCACCGGCCTACCCTGGGTAAGGGCCTGGAGCAGGAAGCAGGGGCAAGAACCTCTGGAGCAGC CCATACCCGCCCTGGCCTGACTCTGCCACTGGCAGCACAGTCAACACAGCAGGTTCACTCACAGCAGAGGGCAAAGGCCA TCATCAGCTCCCTTTATAAGGGAAGGGTCACGCGCTCGGT >NM_015367 AAAACTTTATGTCCCTATTAATGGCACCATCCTTTCCTCAGTCACTCGGGCTTAAAAAGCATCCTGTGGCACCAGCCCCA CAATAGCAGTTCAACTCTTTTATCACTTCCTTTAGAATAGCCTTGTTGAGATATAGATCTCATAACATAGAATTCACCTA TAGTGTACAATTCAGTAGTTTTCAGTATTTCAAAGAGTCGTGCCACCATCACCCCAAAAAGAAACTCTGTATCCACTGGC AGTCACTCCCCATCAGGATTTTATCACTTCTGATCTGGCTCAGTCTTCTAACTCCTTATTGTCAATGCCCTCCTTGTTCC AATTCAGTACACACACCACGGGCAATTTGATCTCCCTAAAACACACTGTATCCTCTCTCCTAGATACCTTCCGATACTCC TCCAAAGAACTCTCGGATTCAAGTAAACAAACATCCATTAATACAAGTTAAGTATGTTCCAGGCGCTGTGTGTTCCAGGT ACTGTTAACAAAAGCGGGTTACTAGTTAAGACTTCCTTCATGCCCTGGCGCCTCTGCTCAGCCAGTTCCCTTCGCCTAGG AGGACCTCTCTACACCACCCCGCTATATTCCCTCCCCGGAATTCCTTCCCAACCTTCAAGGACCATCTGCCCCAACTAGT GGCGAACATCGAGGCTGTCGTGACTGTGTAGATACTTATTTGACCTGCTCCCTTGGCAAACACTTGAAACGCAATACATG TTTGTGGAACTGAACATAGCCTGTGCATGCAGCAAGGCTTCTTTCCCTGGAATCGCCTGCCCTTCCTCCAACACAGCGAC CAGCCGGTCAGAATCCCAACCCCTCGACTCCGGAAATGATCTGAGAGACGGAACTTCCGAACGTCGCAATCAGATTTGGG CGGGCTAGGAGGGTTTGGGTCTTCAGGTCACATCTGGACGGAGAGACCTCCGGGGCCTCCGTTGGTCGGTCCTTCCGCTC CGGATACCGTTCCGGATGTCAGGTAGTTCAGGTCCCGCCC >NM_052945 TACAAGTGTCTGATGTCAGGCTGGGCACTGTGGCTTCACACCTATAATCCCAGCACTTTGGGAGGCCGAGGAGGGCGGAT CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAATGGTGAAACCCCACCTCTACTAAAAATACAAAAATTAGCCGGG CATGGTGGTGCATGCCTGTAATCCCAGTTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAATCTGGGAGGCAGAGGTTG CAGTGAGCCGAGATTGCACCACTGCACAGAGCCAGACTCTTTTTCAAAAAAAAAAAAAAAAAAAGCAGGTGTCTGATATC CCCAACCAGCTCTGTCCAGGAAGGGCAGGAAGAGAGGAGGAGACAGGTGGGTTGGGGGAGATGGCAGGGGAGCACTCGGG GTCATGGAGAGGCTTTGGCTAGACGGAGCAGAGGAACCACTCAGGGTCTGTGTCCTGGCTGCGGGGTCCATCCCCCTCCC TACCCAAGAGGAGGCTCTGGTCTGCCCCCAGACACCTCCCAGCACCCAGCAGAGGGCCCACCCAGGCGGTGCTGGTTGAG GGGCTGAATTGGGGAACCACAGGTAGAAAGAGAGGCCAGGCCGGGTGCGGTGGCTCACGCCTGTAATCCTAGCACTTTGG GAGGCCGAGGCAGGTGGATCACGAGGTCAGGAGTTCAAAACCAGTCTGACCAAGATGGTGAAACCCCGTCTCTACTAAAA ATACAAAAATTAGCCGGGCGTGGCAGTGGGCGCCTACAATCTCAGCTACTCGGGAGGCTGAGGCAGAGAATTGTTTGAAC CCGGGAGGCAGAGCTTGCAGTGAGCCGAGATAGCGCCATTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA AAAAAAAAAAGAAAAGAAAGGGGGGCCCCAGGCGAGCTCGGTCCCACCCAGCAGGCGGGGGCGGGGCAGGGCAGAGTGCT CCCCCCGCCCCCCGCTTCCTCCCCGAGGGCCCCGGAGCCC >NM_023004 GAGGGCACAGGGGTGCCCAGTCACCAGGTCTCTCTGCTTCATATCAGTGGACCTGGGCTCTGAGGGGGGCCATCAAGGCA TCAGGCTGGCCCACTCCGTCCTTGAGTCAGGGTCCTACAGACTGACACCAGGTGGGCCTGCAAGACCCTCATCTGCATGG TCCTCTCATGCAGGGTGGGCCTGGGGAGGACCCAGCCCGGCTGAGCTGACTCCCAGCACTTCTCCAGGTGCAGGGGCAGC CTGGCAGTTGTCTGAAGACCCCGGGATGCACTTAGGAGCTCATCGGTGAGGCCCGGTAGGTGCCCCGAGCAGAAGATTGA GAAGGGACACCTGCACCCCTGTGTGGTGTGTGCAGGGGCGTCACTGGATTCTCTGGCCCCATGCCTCACACCGCCCGTGG GGGGCTGGCTTGGTAGAGTGGGGGGATACTAAGCAGGTGACCTCGGAGAGCGTCTTCTGGGTTTGGAGCCCCCATTCCGC AGAAGGGAAGAGGTGGGGGACCCCTGCAGGGTTACGGGTAACATCAGGCCTAGGTCCCTTCTCTAGGATGGTGCAGAGAG GGCCACAAAGGCCCAGGAGGGCCCCCAGAACTCTCTTAAGCCCTGAGCCTGTTTCTTACTGAAAAATGGGGGCGATCGTG CTGCAGCAAGGGGCTTCTGTGCAGGGGGCGGGGGATTCATGGGTTTCGTGAGGCCAGGAAGGGAGTGGGTCAGGCAGAGG CCATTCCTAGGCCTCGGGACAAAGCCCTTGCCCGCTTGGGGACCGGGCCAGCCTAGGCCGCCACACCCTCGGGCCCGCGT CCCCGGCCGGCTCCGGCCCGGGCCGCCATCCCCTCCGCCGCCTGCAGGGGCCGCCGCCTCTTCAGGAATGCGCCGCCTTT GTCTGGGACCGCGCGGCGCCGGTGCACCGGGCGGGCTGAGCGCCTCCTGCGGCCCGGCCTGCGCGCCCCGGCCCGCCGCG CCGCCCACGCCCCAACCCCCGCGCCGCCGCCGCCCTCGCC >NM_018006 TCTCCCTGTGCTTTAGGTAGACCTTGTCTAGATGCTAACTCGTAGAGAAGAACTCAGCTTGAATATCACCCCTGGGGGAT GACCTCCATTCTCTCCTCCTTCCTTTATTCAGCGAGGTTATGAAGCACCTGCCCTGGGCCAGGGGCTTTTCTGGGCATGG AGTAGGAGTGGACAGAACACAAAACCCCTGTCCAACACACCTCACAGACATTAAGGATTGAGTGCTGAGTATGCTTGGAG TCAAACTGTAAAAGATTTGAAGATATTTATTCATGTCATAGTCCCAGGAGATCCTGAGAACACGTGCTCAAACTGGTGGT GCTACAGCTTTTGGTTTCGTACGTTTTAGGGAGACATAAGCCATAAATCAATACATGTAAGATGTAACATTGGTTCCGGA AAGGTGGGACAACTCGAAGGTGGGGTGGGGCTTCCAGGTCATAGGTGGATTCAAAGATTTTCTGGGCCGGGGGCAGTGAC TCACACCTGTAATCCCGCCACTTTGGGAGGCTGAGGTGGGCGGATCCCTTGAGGTCAGGAGTGAGAGACCAGCCTGGCAA ATACGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCTGGGCTTGGTGGCGGGCGCCTGTAATCGCAGCTACTAG GGAGGCTGAGGCAGGAGAATCGCTTGAATCTTGGAGGTGAAGGTTGCAGTGAGCCGAGGTCGCGCCCACTACACTCCAGC CTGCGACAGAGCAAAACTCCATCTCAAAAAAATTTAATTAATTAAAAATTAAATTAAATTAAAATACTGTAAAATACTTC GATATCTTTCAGGGCCTGCCATCTGTCATGTCGGTATCCTATTGCTACGGAGAGTCCGCCTAGACAGTCTTAAGTCTGTT TTGACGTTAATGCTGGTCCGAATTCCAAAGGGAGGAGGAGGGTCTAGTGAGGCGGGTCCCACCCGGCCTTTCCCATCAGA GCCCGAACTCGCGGTTCAGGTTCCCTCTAGGACGCCCTTG >NM_001099294 TTTATTTCTGGCCTGGCTCAGGATGGGCAGGCTTCCAGGGATGGGTGGGAGGCAGAGGAGGGCTGGCCTCCTTTATGGCT GCGTTTAAATGCCACCCAGAAGCCAGCCAAGGGCGCCGCCAAGGTACCACGATGCACGAAGGCCCAGGGGTGGGAGACGG CCATGGGCTGGGGGGGTGCCTGGCACCCAGGAAGTGTGGCTGCAGAGGCCAGCCAGGCCCCTGGGCTGTGTCCAGACAGT CATGGAAGCCACTGATGTGTTTCGAACAGTGGCAGGTGTGGGCATCCCCCGCCCTGTTCCTGCCCCATCCCCACCCCATT CCTACTGGCAGGGAGGACCCTCTGCTGCTGGGTGGGGACAGGCCAGGGGTAGGGGGGCAACAGCAGGAAGATCAGCCCAG CTTGGAGTCAGGCAGGTGCCACACACCCTCTGTGGGCTCTCGGGTCCCAGCTACCCTTCCTCCCCGGGCTGGTGTGGGGA CCGTTTGTTTTACCCACACCCCTCCCCGGGCCATGCTGGCCAGAGGGGCTTGTGCAGTGGTGCCACTGACCTCCATTGCC CAACAGAGACTGAGGGCCACGGGAGGGAACCCACATGTATTGTGCCAAGCATCTGCTGAGGTGCGGACCTGGAGCCCGGT GCCCTGGGTCTAAGCCCCTGCTGCTTCTAGCTGTGGGATCTCACAGGGAGTGTCTCTAGTTTGCTCACCTGTAAAATGGG GCTCTTGCTGGTGCTCTGAGGATGCACAAGGCTGTAAGACCAGAGGCTGGAGTGCGTGGGGACTGCGGGAGCAGCCGCTG CCATCCTGGGCCTGGGAGGTGGCGGCCCTAGGCCCAGGCGGGAGCTGGACTCCTGCAGGGCTGACTCAGCGCCCTAGCCC CACTCCCCGCCCTGAGGAGCACACTGAATTCTTGTCAGCACACAGAGGCCAGCCTGCGCTGGAAAACACTCTTTTGCCTA TACAAGGCTCGACCAAGTTGCTCTCCTTTTATTGGGGTTT >NM_001130517 CTTGCCAGTCCTGATGGACTCCGCCAGCCACTTGGTGGAGACCAGCGCCCGGTAGAGCACCTGATGAACCATGGCTTCAG CTCTGCGTGTCACCTGGCACGGGTGGGAACCAGGAAAGAGAGACAGGCGTGAGGAAGGAAGTCGGTGTGTGCAGTAGGGT GAGGCCTGGGAGAAGCTCTTTCTCCCTCCGCACTCCCCCGGGTTCCTTGTTTACAGCAAGCCAGCGAGGCTGGGGCGTGC AGCGGGATAAGTTTGCAGATTCCCTCTGGAAAGCCGGCCCCGCCCCTCCCAGCCGGCCCGGGGGCCCAGCGCAGAAGCGG GTGGGGCAAGAGTTTCCGAGGACTCCAAGTAGGGGCGCTTCCTGGGGCGGGGATCTGGCTCCTAGAAGTTACAGTACTCG ATCCCGCCAGGAAAGAGCAATGAAAGCATGCCCGGGATGGGGGGCGATGGCATCTTGGGCTTAGAATCCCCTTTCCTTCC AAGGCAGAGGGGGTGGGCGCACGGCTAGGAAGCTCCGCGAGCCGCGCACACGCCATCGCCTGCGGCCTCCCCAGGCAGCC CGAGCTCGCCCGCCTCCAGAGTGCCCGAGTCCGGCCCGTAGCTCGCTGCCCTCTGCCCTAGGTGGATCAGGGGTTCCCGG GGCACCCCGTCCCACTCTCGCAACGCTATCCTTCCCCGGGCAGCAGGTGGCCCGACCGGCGGCCCAGGCGCCCGGCCGCT GCCCCCGCCCCGCACTCACTCGCCCCGGACGCCGCGCTGGCGCTCGCCCCGGCCGGCTGGAGAAGTTGGCCGGTTCAAAC CCCCGGCCGCAGCTCCCCAGGCGGCGCGCACCATCGCGCCACCGCCAGAGGGGGACCCTGCGCCGCCCGCCGCCATCCCG CGCCTCCCCCGCGCGGCCGCTTCGCGCCCGGCACCTGCCAACCTCGCGCGCGGGGCCTCCGGGACCCGCGGGGGTCTGAG GGGGACGCCGGGTGGCGCGGGGGCCGCGCGGGCCTGGGCT >NM_014433 TACTTCACTCCTTCAGGGAGAAGGAAGGTTTCATGGAAGAAGTGTTCACCAAGTTGCATCCTGAAGGATAAAGAGGTAAT AATTAGTGTTACAGAGCGCTCAGGCTTCATGAGCGAGGTGGCATTTGAGGGGTTAAGAGAGAGTCTGGCATGGCTGGAGG AGGCCATCACCCAGGGACTGGAGCACTAGGCTAGGAGTTTGGACTCAGCCCTGAGACTAGTGGGGAGCCATGGAGGGTTT TATGCAGGTGGTGGCTGGGTCTGGCTTGCTTTTGAGAACAGCTACGCTGGCCAGCAGTGTGTTGGGTCCACTGCAGAGGC TAACCTTTGTCATTACCAGGCGGTCAGCCTGAAGAGCAAGGGGCATGGGCAGGGCTAGGCAGTCTTGAGATCAGGCCTAT GTAATTTGGGGGAAACTGGCTGAGCGCAGTGGCTCACGCCTGTAATCCTAGCATTTTGGGAGGCCGAGGCGGGTGGATCA TCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGCGAAACCCTGTCTCTACTAAAAATACAAAAATTAGCTGGGT GTGATGGCGGCCGCCTATAATCCCAGCTACTTGGGAGGCTTAGGCAGGAGAATCACTTGCACCCGGGTTGGGTGCGGTGG CGCGGAGTGGAGCGGAGGTTGCAGTGAGTCAAGATCGCGCCACTGCACTCCAGCCTGCGTGAAAGAGCGAAACTCCGTCA AAAAAAAAAATTGGGAGAAACGACTGAACTTCTCTGAGGTTCTTGTCTCTAAACTAGATGTTACCACCTTATGAATTTAC TCTGAGGATCAGAGGCATGCAAAGTACCCAGTACAGAGAAGGGCGTAAATAAGTCACTTCCTTTCCCTTCTGTACTTTGA ACAAAGCTGAGCTGCCTTTGGTCTCCACAGCAACCCTGTAAATGATTGTTCCCGCTTTGCAGCCGGCCGCAGCCTTGGGC TGTTTGCGCCTGCGCAGTGGGTGCTGATTATGTCGACCGC >NM_002882 CCTCTTTCTCCACCTCCTCCAGGGCTGCCGGGGCTGCAGGGGGCACCGAGACGGTAGGGCAGCTCAGGGCACTGCTGCTC TCCTGGCCACAGCTCTCCATGGGCTTCGGGCCCTGTGTGGGGACAGATGGGGTGCTAGGGTGAGGACTAGGCCCTGGGGG CCTGGCCCCCCAAGCTTCCTTATGGGACACCCAGACCTCCGTCGGTGCACTCTGCACTCAGCCCTGCCCCTCCCCCAGTC TACCCTCCCGACCCCATTCCCGTCTCCTTTCCTCCCCTATCGCACCTGCCTCGTCCCCACCTATTCTCTGGCAGGTTTCC TGACCCACCCCGCCTCCTCCCACCCCATCCCCGTCTCTACCCAGCGTCTCCCCGCACTCTACCTCGTTGTCGAGGTTCTC ACTCATCGCCCAGGCGGTTCTCCGCCTAGACCAGGGACGCCATGGGGGCCGCCTGGCCACCTCGTCCTGGGCCTGTCACA AGGGAAGTGGCCTGTCACAAGGGAAGTGCTCAGAGGGGAGGTGCTCACAGAGCCGGTGCAACGCCGCGAGGTCGCCGCCA CCCCCGGCTTCGCCCCAGGCGGGGCGGGACTCGAACCTGCGATGCTCAGGTCCGGGTCTCAGGCTTGGGGCTGTACCGCC CGCCCGCCAGGGGCCCGCGCCGGCCGCTCGCTTCGCCAGCCACTCTTAGTCCGCCAGCGCGTGCGGCGGAGGCCGAGCGT CTCTATGATCCTGGCTTCTGGCAACGTCATCGTCACGCGCCGGATCCAACCCCCAACCACTTTAGCCAGCTCTAGAGGCG CGCGTGGCCGGGACGGAAGTGCGCGCGGGTGTCGCCGGGAGTGCGCGCTCCTCTGGCTGACGGGCGGGCCGGGCATGCGC CGCGGGCGTTTTGGCGGGAAGCGCGGGGCGGGCCGGACAATGAGAGTGTCCGCCTCCTGAGCCAATAAAGCTGTACTGGT TTTGAATCGCGGCGCGTTTCCCGCCGCTGGGGTCAGGGGT >NM_014303 TGTATAAATCTTGGAATTATTATTTGAGGAACACTTACAGAATTTATGTGTACAAATTAAAAGCTCGAATATGTTGAATG TACATTTAATTTTATTTATTTATTTATTTTTGAGATGGAGTCTCACTCTGTCGCCCAGGCTGGAGTGCAGTGGCAAGATC TCGGCTCACTGCAACCTCTGCCTCCCAGGTTCAAGCGATTCTCCTGCGTCAGCCTCCCGAGTAGCTGGGATTACAGGCGT GTGCCACCATGGCCAGCTAATTTTTGTATTTTTAGCAGAGACGGGGTTTCACTATATTGGTCACACTGGTCTCGAACTCC TGACCTCAGATGATCCGCCTGTCTTGGCCTCCCAAAGTGCTGGGATTACAGGCGTGCGCCACCGCTCCCAGCCTTGAATG TACATTTTAAATATACCACGAGTCCACCACTAAGGCTCAGAAAATATAAGTGGCCTCTAGGATCTCTATACCTCCGCGAG GAAAAATGTCTTCCTTTTTTCTATTTTAGCCGCATAACCGCGAATGAACCAAAGAGAACCCGAAGCCGGTGGGAACTCAG CGCAGTCTCACCCTGCCCCTCGGGAACCGCTTCTCAGCAGCGGCAGCCGAAGTCTGACGACGCTTAGCAACCGTTACCTT GACAACGCAATCCTATCGCGCACCATGGAGTGCGGCGCCCCTCTGCATCCCAGAAGGCACCGCGCTGTCCCTAAGCCTTC CGCCCCTCTCCGTCCCAACATGCAACGAGGCTCACAGTCAATGAATCGTCATCAGGGTGATTACAGAAAAGCCTGTATAT CCACGTTTGTTTTAACACTTAAAGTGTTTGTAACCATTGTGAGCGGGAAAGATCTGGAAAGAGTGTTCTCAGTGATTTTT TTCAGACTATAGTTTTAAATCTTGAGGAGGAAATCCCCATCTTTCCCTGGACTTGTACAGGCATCTCATTGGGCAGCCCG CACAAACAGACAGCGTGGGGTGGGGAGGGTCCTCGGGGTC >NM_001169110 CCTGGGCAAGCGTCTTGATGCGGGCCCAGCCTACCCTTCACCCCTCCCGTCCCCACTGCCTCCCTCCACTCAGCAGTCCT GCCTAACCCCAGTCCCACCCTCTTCTGCCCGAAGTCCCTCCCTCCTTCACGGCTTCCTAACCTGCTGTGACTTTAGAGGT CAAGGCTGGCCCGGCCTGGACCTGGGGAAGCCCTCTGTGGCGTTCCTGCCCCAGACCAAGTACAAGTTCCTCCTGGCCCC ATGGCGAGGTGTCGCACTTCACTCGTGTCTCTTCCCCACCCCAATCCTTCCCTGACTTCATGCTGGGGGGCTGGCAACCC AGGGTGCAGCAGGGGCTGGAGTTCGACCAAGAACCGGCTGCAGAAGGCCCCGCCATGGGGGGTCCACGCTGAGCCTCCTC TCCGCAGGTTGGCGTGGGAGCCAGCCTAGGGCTTCGGGTCGCGGCAGCGCTGACCGCCATGGACAAGCCCCTGGGTCGCT GCGTGGGCCACGCCCTGGAGGTGGAGGAGGCGCTGCTCTGCATGGACGGCGCAGGCCCGCCAGACTTAAGGGACCTGGTC ACCACGCTCGGTGAGGGGGACGGGGTGTAGGGGAGCGGAGGCGGCGGGGGGTGCTTCCCGCTGGGGCCGCCCCGACCCGG CCGCGCCTAAGACCCGTCCCCGCCCGCAGGGGGCGCCCTGCTCTGGCTCAGCGGACACGCGGGGACTCAGGCCCAGGGCG CTGCCCGGGTGGCCGCGGCGCTGGACGACGGCTCGGCCCTTGGCCGCTTCGAGCGGATGCTGGCGGCGCAGGGCGTGGAT CCCGGTCTGGCCCGAGCCCTGTGCTCGGGAAGTCCCGCAGAACGCCGGCAGCTGCTGCCTCGCGCCCGGGAGCAGGAGGA GCTGCTGGCGCCCGCAGATGGTGAGCGTCGGGGGAGTCCCCGTCCTTCCGCCTCCGCCATCCCCTTCCCTTCCCGAGGCC CCGCCCCTTCCCGAGCCCGCGCCTCTCAGCCCCTCTCCCC >NM_020831 ATACACATACACATACACATACATATACATGTTTTTAAATCGGGCAGCCACCCGCTCCCCGCCCTCAGCCCGGAATAGGT TCAGAGAGGTGCCCGGGTTCACTTGCGGAGCGTGTGGCCTCTGCGCCTAACGCGCGCCCCTTCACTACACGAATGGGTGC GGGCAAGGGTATAGGATTTTAGAATTCCAAGAGTTGTCGGGGGTCATCCCGTGGAATCCTCTTTTTTGCAGATGCTCTTC CTGGAGCCTTCCGATGCAAGCTCTTGGGCTCACGCAGCCCTTTTCCTCTTCTAAGCCCAGAGCGCTTTCGCTGCTGCTGA TCTCCACGGCCTCGGCAGATAGGGAGGGGCAGGCAGGTGTCAGCGTCCTCCCTTTCACCGTTGGGGAAACTGACTCAGAG AAACAAGGCGACGGGCCTCGGCGGGGCGGGACCGTAACGGGAATTCAAGGCTCCAGGCCAGAGCGGAATTTATTGTGTCT CGTTTTGGGAAGCGTGAATGTGAAATGATCGACTTCGGAGCCCCAGGCGGAGACCCTTCAGTCCCCGACAAGAATCGGGA TGGGGTCTGGGATTAATGCAGTAATTACTCGCGCCTGGGCATTGACCCCTTGGCAACTTCGCAAGATCCGGCAGGGTCCA CCGCCCTTCCCTTCACAGGGTGACCACAGGGCTGCGGCCTCTTTAAGGCCCAGAGCTCCGCCCCCGGCTCGTCGCCAACC CCCTCGCCGCAGCTCAGCCAGTTCCAGACTTTCCTCAGAGATGAGGTCATCTCCCCGTTGCCCATTGGCTGCGCCGTGCC GTCAGTCACAGGAAGTCAGGCCGCCGTTTTCGCCTTCTTCATGCCGCTTCCTTCTCCGCCCGCCCTTTAGTCCGCCGATC ACGACCCCGATCAGGCCTCTGATTGGCTAGCGCCGCCGTCACTTCTCCAGCGGACAGTCTTCAGGACGGGAGGCGGGCGT GGTGGGCGGGCCCGCAGCTTCCGTGGCTGAGAGGAGCCGG >NM_152855 AGAGGGTCGGGGATGCTGGGCTGGGAGAGGACCGGGGGCCTGTCAGAAGCCATGACATGATGCACTCACCGCTCAGGAGG AAGCTACTGGCCTTTGAGTGAAATCTATAAGAATGAACTCTGGAGATGTATCGTACAACATGGAGTCTACAGTTAAAAAC TGTATTGTATACTGGAAAATTGCTAAGATTAGATCTTCCATGTTCTCACTACAAAAGCATAAGTATGTGAGATGACGGAC GTGTGTGTCAGCTTGATTTAATCATTTTGCAGTGTGGCAAAGCATCGCACTGTAGGTGGTAAATATATATACAGTTTTGT CAATTATACCTTCAGGAAGCTGGGGTGGTTGGTGTGTGTGTGTGTGTCTGTGTGATGTGAGGTCAGTGAGGTGCTGAACA TGGTGCATTAAACAGCATTTTCATTCTTATCTCATGATTCCTGGACTTGAACCGTTGAGTGGCTTCTGGCTAAACCCAAA CCTGTTTCCTGCTCTCTAACCACACCTCCCTCTAGGACCGGTTGGAGGAGCCTCAGCCCAGGCCCCTGAGCTCAAGCCCT GGGGGACTCCTGCTGGGCAGCTCTCTGGACCCCAGTGAGATGCTCCACAGACCCAGGGCGCCCTCGGGGAAGTGGGGAAG GAGGGAAGTCAGGTGCATCACCTCTTGGGACCAGCCCCGAGGGGACTCAAGCCCATCCAGGGCGCAGGTGCCTCCAAAGG AAAGCCCCAAGGGAGGGTCTTGGGGGGCCATGGCGCATCCCACCTCCCTGTGTGACCTCAGCTCTTGCTGACCCTCTGCC TGTGGTGGGAGGTCCCCAAACAAAGCACCCAGGGCCCCAGGGGCAAGGCCAAGCTGACAGGTGTGGGAGGCAGTTGAGCC CTGGATCCTGACCACAGCAGGGCAGTTGGCAGATGTGCCTCTGGGACAGAACCCCAGGGGTAACGGTCATGGACTCTGGA AGGGGCCTGGCTGGGGGCAGGGACCAGAGGATGAGGATGG >NM_001144931 ATCTCCTGGGCTCAAGCGATCCTCCTGCCTCCGCCCAGGTAGCTAGAACTACAGGTGCACACCACAACACTGGGATTCTT TTTTTTTTTCTTTTTTTTTGTAGAAAACAACGAAGGGAATCTTGCTATGTTGCCTAGCCTGGTCTTGAACTCCTGGGCTC AAGCAATCCTCCCTTCTTGGCCTCCCAAAGAGCTGAGATTACAGGTGTCAGCCACTTTGCGTGACCACAATTTCAATCAT ATTTAAAATGTACAATTCAAGTGATTTTGCCACACTAACCACAGACTCATGTTTAAGCCACACCAACGGATTTCCATGTT TTAAATAACATATTTTGCCACCCCCTAGTGGACAGTGGCTCACCACCGGCACAAGGGGCTACATAGGCAGTCAATGGGAA CCAGGCGGGGACGGGAAATGTCGTGAACCCAACGGTCCCTGCCCAGCCCCACCCGCGTCCGCAACGTGTAACCACATCTC CTGACTGCCCAAGAGAAGCGCAGATTTCCATACTGAACATGAAATTGCCTGACTTCGAAATGGTGGCAAATCATTAAAAA AAATTTTAAACTCACTTTGCATTGGTTATTAGGGTCGAACTTGGGGAAGACCCCTACAGGTGTGTGTGTGTCTGTATGTT AGGGGTGTTCAGACCTTTAATAGGGCTAGAAACCAGGCAACCACACCGCGGAAAGCTTGAGGAGAGGGAAATCCACCAGA CGCCAAGCAGGAGGGTCAGGGAAGAGACAGGGTGGGGCCACTACCGGGTTAAAGACTTGTAGTGGGTGGGGCTACACGTA GGGCCGAGACGACCGGATTTCCGGAAATCAGAGCCGGCACACGTGACTTTTGTTTGCAGAAGTGGGAAGGTACCCTAGGC AGCCAATCGGGGAGCGCTGAGTCTCTGTCCAGCCAATGAGAAGCCAGGTTGTTTTAGCGCCTCGCCCCTCCTCTCCGGTC CGCGAGCCTTGGGTATCTCCAGCTTTTTTCCGCCAGAGCT >NM_004121 TTTCTCTGCTGCCCAGATGGGGGGGCCCGGCTTCCAGGTGTAGACATCTGGAGCAGGCAGTGTTCAGCTGGGGAGGAAGC GGGGAGGACTGTGGGGGCCACGTGGGAAGAAGTCCAGCCCACATCACCTGCACCCCTGCTGAGCCTGGTCAACAGAGCCC CTCAGTGGGTCCTCACTCTCCTGGCTGCCTCCCATTTAGGCACCCTGAGGCCTGGGGAGAACAGAGCCAGGCCAGTGTCC CTAGAGAGGCTGCGCTGCCAGCACAGTAATAGCGGATTTGGATTCAGGGAAGCAGACCCGCAGCTAGGGTGGGAAAGAGC TACAGGCAGGGCGTGGCCTCCACACAGCCTCCCTCCCTGGAGGTCCATGCTGCATTTCCAGGACAGCAAGTCCTGGACAA ATGGTCCCGGATGCCAAGGGCTAGAGGCATGGTCTGTCTGCATTCCCCACATGGGCGTCTTGTAGTCACCAGCATTTGAT GCTGTCAAGTCCCCCTGTCCTCTGTGCAGACTGGGAAGCCCTTGGCCACCCTGGGGAGTTGTGGGACCCAGGCCAGGCTG CAGAAGCATAAGGACTTGAACCCAAGTTTTAAGTGACACCACCTTGTGTCCCCCTCCCTCTGCCTCTGTTCAGCTCCACC TTGATGCTGACTAGGCTGGGCCATGAGGAGAGGGTTAGGGGATAGAGATGGGAGCTGGGGAGCAGGGCTCCACTCTGGGA GGGGGGCAGCCTTGCCGGATCCAGGGGAGAGAGTTGAGCGGCCCCAGCTCTGCTTTCCCAGAGCTGCCGGGAACCCGGGG AATGGTGTGGAGGTTCCAGGGAGCCCTGCCCCTACCTGGCAACCGCAGTGCAGCAGGCACCAAGTTCTCCTGCACATTGC GACAGTGTGACCCTGGGCTCTGGCGGGCGGTAGGTGGGGCCTTTGGACCTACTAGCAGTGAGGGAGTTAACACAGCAGCT GACTCCTCTAGGCAAGGAAAACTCCCCTCAGACGCTTTGC >NM_001195071 GGTAGACAGTTCAGGCGAGGAGTCTGGAGACATAAATACATTTGGGGATCTTGAGCACATCAATGCCAGAACTTAATTGC ATTTTATCTTGTTCAGTTAACCTAGGTGATGTCTGGACCGGCAAACAGAAATGGACTAGGCGGCTTGAACCCTATCTGAA GACTTTTGCTAGTTCGGCAGCCTAGAGCCAGACGGGGCAAGAAAGAATCGCTGCTAAGCGGAGTGGGAAAAAAAGGCCTC TTTCAGTGCTTTGCCATTTCATCTGGCCTAATTGCACACAACACTCGGTCCACGTTCATTCCACAATTCCACACGCATCC TTCACTCAACAAATAGCCATTGTATTTCGTTTCATCTTCAAAACAGGCTCAAATGGAGGAAATTAGGGTTAAAAGAAGTG AAGCACCAGCGAGGGTCAGGGGCAGAGATCGCAGCCCAGAAAGCTCTCGCGGTTGGGGGCCGGTCGTAGCTGGTTTTGTG AGTGGCAAGAGAACCCGGGTCGCGCCCCAACCCGCGGGGCGGCGGGCTGGGGTTCGGGGCGGCGGGCTGGGGTTCGGGGC GCGGCCCCTTTAAGGCCCAGGCAGTGATCTCAGCCGCGTCCGCCGCCCCGCCCTCCCCGGCGGCGAGCCCAGAGCGCATG CGCGCCGCGGCTGCACTCCACTGGGCCCGGGACGCGCCGGCGGCGGCGGAGACTCCGGGGCTGCGGCGCCGCCCGCCCCG CCCGCAGAGTCCGGCTGCCGCGCATCGTCCGCAGACGCCGCCACCGCCATGGGCTCCTGAGGTATCCCGCCTGGCCGGCC TCGCCCGGGAGCCCCAAGGGGGAGCTGCGACTCCCGAGCGCGGGGGGCTGCTTGTTTCGGAGAGGCCCGCGCGAGGGACG CCCGGCTTCGGCCGCCGGCTCCCGGGCGGGGAGGGCACTACGGAGGCCGGTGCGGCCGCGGAGGGAGGGGGCATCCGTCT CCCCACCCGTGCCTCCTCTCCGCCCCGCGAGGTCGCCCGT >NM_014941 CACGCTGTCACGTGACAGGGGCGGGACCGGCCAACCAAGATCCGGTCACATGGGGACACGCAGCCCGCCAATCAGGAGGC TGTACATCAGGGCGGGGGCGGGAGGAGCTGCAGCTTTGTGATTGGCTGAATGCTCCGCGGAGGCCTCGGGGGCTTGGGGC GTCGGGGAGTGTGCGAGGTGGCCGGGGCTGTGTGCACTATCGGAGACAAAGCGGTGGCTGTGGTGTCTGTGACGGCGGCG GCAGAGCAGCTCTAAACGCCGAATTTCGTGTTGCTGAATCCTGTCACCATCTCAACTAGCGCGGCGCGCGGGCGGCGCGC GGGCGGCGGCGGAGGCAGCGGCGGCGGCGGCGGAGGCGGCAGCAGCACATGGTTCCAAGAGCGCTCTGCGGCTGTTGGGT TCCAATTCCGCGGGGAGGGACAAAGGCAGTTGTGAGATCCGGGTAGTGCCCGGTCAGGTGGTGCGCTCGCCACTGCCCTC GATCCGGTCCTTGGAAGCCGGGAGTAGCTCCTCTTCGTGGGGAGGCGGCCACGGGACCGAGGCCCGGGAAGGGCCTGGGA GGCTGAGGCTGTTGTCTGAGGGACGTGGGGGCGGGGCGCGGCCTGCCCGAGGTGCTGTGGGCGGGTCATTTGTGAGGTGT TTATGTGGGCCAAGTGTGAGGTAATCTGACCACCACCCTGAACTGGGTTTGGTCCGGCTTTGAAAAAAGAAATCGTGAGT GCCTAGGAGCTTTTTCACTTGGGAGGTGGTGAAGCTGCAACTTGCGCCATATAACACTCCGTCGACATCTTGGTCTCCGG TCTTGGGCCTGTTTAAGAATCCTGGCATCACGTGTGGCGAAGACATGGCTGATCAGTTTTCTGACAGAAGTGGGTAAATT TCCGCGTTGGTAAATTTCCTGACAGGAAATTTCGGGGAACCAAAAAAGGCTGGAAGAACATGAAGATGGAGCAGTCATAA ACCACCCACTCAAGGACCATCTCCTTCAGGACCATCCACA >NM_001146288 TCCCCAGTGGCAAGACCAGGTCTGACCTTTTCTGGGATCTGTGGCCCATCAGGTGAGGCCTGAGGTCAGCCAGGAAGGAA GCGGGCAGGGCTGAACCAGGGCTGAAACCAGGACCCAGGAAGGGACAGCCTAGTGCCCAGGGAAGGGGCAGGTGGGGCAG GTGGCAGTTGAGTTTTACAGACCTTCTTTGATGACAAGTGGGGGAAAGAGCCAAGGCACGCCCCAGTGGCTGTGGGAGCC ACCGCCTCCTCCCCTGTAATGGGCACCTCGAGGACCGACAGGCGCAGGGGCCAGGCACCAAGGGTCCCTCTCCAACCTGG CCTTTTGTTTCCACCCCTTGCTCTCAGGCACCCACCCACGGCCCTTCCTGGTATCTGGACCAGACCAGGTGGGTCTCAGC CCCACCTCAAGTGAGACTTCAGGAAGAACTTCCAGAGGAAACTGGAGGATGGCAGTGGGATGGACTGTGGGGAGGTCATT TGCAAACAAGGCAGCTTATGCCTGTGCCCTGGGCCTTCCAAAGTCCACCTGTAGGCTGCATCTTCCGGAAGGCCCACCCT GTAGCCTGGAAGGCACCTGGCTACAGTGATCTCTCTGCTGTGCAGGTGTCCCCTCCCCCAGGGCACCTTGCAGGGCCTTA GGGTGATATGGGGGCTTTCTGGGCCCCTGCCCACCTTAAAACTGATCAAGGTGGGAGGGTGGGGTGGGAGGCCACAGGGA TGCCCCTGCTGCTTGACCTTGATGGGACCTTGACCCCTTGCTTTCCCCATATGCTGTTGGGCATGACTGCCCACAGGCCT GGTGGGCGTTTGTGAAGGGCTGGAGTCGGGGGTAGGGGGAGCTTATGGCTGCTGGGCACAGGCGTGGCAGGGCTGTGTGC CTGGCTTCCCTTTCCCCTAACCCCATCAGGCCCGGGCTGGCCGCCCACTTCTGTTCACCACAGAGCAGGGTTTCCCTGGG GACCAGTGGACTGGCCCAGCCCCACACCGCCCCCCAGCCC >NM_031937 TCCCAGGAGGGGCAGTATAGGTCTTTCATGGCGGTGTGGGCCTATCCCAGGAAAGGGAGGGGTGGAGTCAGACATACCTG GGGCAGATGTGAATCCAGAAGCACTGATACATGCTACAATGTGGATGAAACTTGAAAATGTTCAAGAGAAAGAATCCAGA CATAAAAGGCCATATATTGTATAATTCCATTTATATGAAATATCCAGAAAAGGGACATCTATAGAAACAGGAAGCAGATT AGTGGTTGCCAGGGACTGGGGGAGCCAGGATGCGGAGTGACTGCTAATTGGTAGGAGTTTCTTTTTGGGGTGATGAAAAT GTTCTAAAATTAGAATGTTGTGATGGCTGCACAACTCTGTAAATATGCTAAAAATCATTGTACACTTTAAACGTGAATTT ATGGTATGTTTATGTTCCATAAAACTGCTGGGGAAAAGACTACAGGAGAAAGTAGGTAGAGCTTCGGGCGTGCGTGGCTC AGTAAACGCTGGTGATTATTAATAATTAGGTCTCACGAGGTAATTTAAAGCCCCAGAAGCAGTGAGTGCAATGGGACTGC CAGACTTCTGGCTCAGGCTGGGCCTTTAAGCCGCTCTGCGTCCCTGAACTCACTTGGGCCTCCTCAGAGTTCCTCATAAA TGAATGGGGCAAACAATCCCTACCACGTCCTTGGGGTCTCGCAGGGAGCGGGGCTCAGGAGGCAGATGAGGAATCCATGG AGGAAGCCCTGGGCCTCCGGCTCGCGCTCTGCAGTAGGTGACAGGCCCCGCTTGGAGCCAACCCGGAAAGGCCCGAGCTC GTCCAGGTGAGTTCTTGTGATTGGCAGCCCGGAGGAGGGCGGGGAGGGCTGCGGTGACGGCTGCCCCGCCCCCTCACTTC GGGCTTGTTGGCGCCCGCCGGGGGAGGGTGGGCGGGGCCCGGGGTCCGCGGCGCCCATTGGGCGTGGGGGGAGAGCTCCG GGGTGGGCCTGGAGCCCCGCCCCCCGGCCTTGCGGCGGCC >NM_001164502 AAGTAGGCCTCTTGGAAGAAATGTAGACGTTGCTGTCCTTTAACCAGGAAAATTGCGTTCTCGGGACTTCACGCCTATGT ATCGCTTCACACCAACGCTGCGCAGTACCACAGGGCAGAAATGGGTGCTTGTGGTATTCCAGCACATAGGACTTCCTCCC CAGGATGCAGTTACCCACACTGCTCACATATTTGCATTTCTGTGGCCCCCTGTCAGCCTGAGTCTGCACTACGTGGTAAG CACTTGACATTCGCCGTCTCATTTCCCCAACTCCACTCGCACTTCCCCTTTCTGTGCAGGCTAAGGACAGATTCAGGTTA CCGGAGGGAAACAACATTTCAATGAATTTGTTAGTCGCCTTTATCGCTATCAAAGCCAATCGTGACAAGTTTGTCTTTTA ATGCAGCAACCAGTACTCGCGCATAAGCCTCATAGATTTACAGAGGCCATTTTAGAAACACGACCGAAACTTAGGTTAAG TCAGCTTTGCCTAAGATCACGCCACTCGCAAAACAGCTGAGGTTCGAACCCGCACTGGGAAGGCTCGGAAGACCCCAATC TCCTATCTCAAATTCCCACTGCCGAAGCCCCACGGTTCTCTGCCTATGCGAACCATGCAAATACAGCGGTCGTCGCGCCA CAGGCCGTGCTAGCCGCCAGCCCAGCCCCATCTAGCCACCGCCTCCGGGAGAGTGGCGTGCCGCGAGTCGCGGGTCCCAA GTGCCGTCCGCTCTGCCCTGCAGCGCGCGTGGGAACGCGGCGGCGGTGGCCTCTGGGCTGCCCACGGCGACCGCCTGCGC GCACGGGAGCGGGTTTCCGCTATCCCCACCGTGGCCTCCTCCTCGCCGCCACCACCTTCCCACCCCCCGGCCCGCGCAGG GGCTGGCGTCCGGGAAGCGCGCGGCGATGCTTCTTTTTCGCCCGGCACCGCTGCAGCCACCTCACATCCGGGCGCGCGGC GGGGAAGGCGGCGCCGGGGCCAGGGTGCGTGGAGGGAGTT >NM_152299 CCAGGGCTAGAGGCCTGCTCAACTACCTGAGTCAGGGCCTCCCACCCAGCAGAGCCCACTGCCCTCTTCCAGGTCTCAGC CCGATCTCCTACCTGTCCCACCAGGTCTGGGAGGAAGCCTCTCTCCCACCTCTCTCAGAGTTCTGTCCCCCACCCCAGGT CAGAGTCCAGAGCCTTACGGGAAATGGATCACCGCACACCTTCCTACCCCCACAGCGGCCTGCAGGACACGAACCGCCGC CCCCTACCCCACGCCAAGGCCTGGCCCTCACTCCCAACCCCGGACTGCGTGAGTGCCGGGCACAGAGAAAAGAGGACATA GGGTCCCGCGCCGAGGCTGGGGGTGTCCCACCCTGGGTGCCTTCACCTGGGATTTGCGTGTAGAGGGAAGCGAAAGCAAA CATGAAGACGGCCGCCACGCCCTGGAGGAAGAGCTGCCGCGGGAGCCGGGAGCCCGCCATGTCCGCTACGCGGCCCGCTA GAGCAGGGCCCGCCCTCCGCGTCCGCCCGCCCGCGGCAGCCCCAGGCCCCGCCTCCTCACCGCCCCGCCCGCCCAATCCG TGGCAGCCCCAAGCCCCGCCTCCTCGGCCCGCCCGCCCGCCCGCGGCAGTCCCAGGCCCCGCCTCCTCACCGCCCCGCCC GCCCAACCCGTGGCAGCCCCAAGCCCCGCCTCCTCGGCCCGTCCGCCCGCCCGCGGCTGCCCCAGGCCCCGCCTCCTCAC CGCCCCGCCCCCCCAACCCGTGGCAGCCCCCAAGCCCCGCCTCCTCGGCCCGCTCGCCCGCGGCAGCTCCAGGCCCCGCC CCACCCCGCCCCGCCCGACCCACGGCGGCCCCAAAAGCCCTCCCGTCCAAACTGGTGGCAGCCCAAAGCTCCGCCCACCC CCCCCTCCCGGAGGCTTCGACCCCGCCCCGCGACTCTTCCGGTGAGCTCCCGCTGCGCGGCGCCGGGGTTCGCCTCTCTG GCTTTTGCCCACGTTACGTCATAGACATGCGCGCGACGCC >NM_002415 GCCACGAGGGTCCCACAGGCATGGGTGTCCTTCCTATATCACATGGCCTTCACTGAGACTGGTATATGGATTGCACCTAT CAGAGACCAAGGACAGGACCTCCCTGGAAATCTCTGAGGACCTGGCCTGTGATCCAGTTGCTGCCTTGTCCTCTTCCTGC TATGTCATGGCTTATCTTCTTTCACCCATTCATTCATTCATTCATTCAGCAGTATTAGTCAATGTCTCTTGTATGCCTGG CACCTGCTAGATGGTCCCCGAGTTTACCATTAGTGGAAAAGACATTTAAGAAATTCACCAAGGGCTCTATGAGAGGCCAT ACACGGTGGACCTGACTAGGGTGTGGCTTCCCTGAGGAGCTGAAGTTGCCCAGAGGCCCAGAGAAGGGGAGCTGAGCACG TTTGAACCACTGAACCTGCTCTGGACCTCGCCTCCTTCCCTTCGGTGCCTCCCAGCATCCTATCCTCTTTAAAGAGCAGG GGTTCAGGGAAGTTCCCTGGATGGTGATTCGCAGGGGCAGCTCCCCTCTCACCTGCCGCGATGACTACCCCGCCCCATCT CAAACACACAAGCTCACGCATGCGGGACTGGAGCCCTTGAGGACATGTGGCCCAAAGACAGGAGGTACAGGGGCTCAGTG CGTGCAGTGGAATGAACTGGGCTTCATCTCTGGAAGGGTAAGGGGCCATCTTCCGGGTTCACCGCCGCATCCCCACCCCC GGCACAGCGCCTCCTGGCGACTAACATCGGTGACTTAGTGAAAGGACTAAGAAAGACCCGAGGCGAGGCCGGAACAGGCC GATTTCTAGCCGCCAAGTGGAGAACAGGTTGGAGCGGTGCGCCGGGCTTAGCGGCGGTTGCTGGAGGAACGGGCGGAGTC GCCCAGGGTCCTGCCCTGCGGGGGTCGAGCCGAGGCAGGCGGTGACTTCCCCACTCGGGGCGGAGCCGCAGCCTCGCGGG GGCGGGGCCTGGCGCCGGCGGTGGCGTCACAAAAGGCGGG >NM_001098535 GGCCACCGTCACAGCTCCCGGGTAGAAGCCACTCATGAGACACAGCAGTGTGGCCTTTTGGCTTGGAGCTCCTCAGAGGA GGACGGGAACAGAGTGACCAAGGGGGTGGCCTTGGGCTGGCCTGTGGGTGGGCGAGCGGCAGGAGGTCAGCATCCTGTTG TGTACCTGGGAGCCCCCTGACCTCAGTGTATGAAGAGGGGTCAGGCCCCCTCAGTGCCAGTGTAGGACCCCTCAGACATG GTCCACAGTGTCTCAGAAGGGTGTGACATGAGGTTCCTAAAACAACTCTCTGTCATTCAGGGAACCTCCGAGCCTGTCCC CTGCCCACCAGTGGTGGCAGTTAATTTGGTATTCATTTCCAAGGCTGGAGAAGGATGTAATTTTTTTTCTTTTCTTTTCT TTTGGTGAGACAGGGTCTTACTGTGTTGTCCAGGTTGGAGTGACCTGGCGTGGTCTCTGCTCACTGCTAATTTTTGTATT GTTTGTAGAGATGAGGTCTTCCTGTGTTGTCCAGACTCGTCTCAAATTCCTGGGCTCAAGGGATCTTCCTGCCTTGGCCT CGCAAAGTGCTGGGATTACAGATGTGAGCTACTGCATCCAGCCCCCTTTTTTTTTTTTGAGATGGTGTCTCACTCTGTTG CCCAGGCCGGAGTGCAATGGCACAATCTTGGCTCAGTGCAACTTCTGCCTCCCAGGTTCAAGCGATTCTCCTGCCAAAGC CTCCCAAGTATCTGGGATTACAGGCGTGTGCCACCACGCCTGGCTAATTCTTTTGTATTTTCAGTAGAGATGGGGTTTCA CCCATCAGGCTGGTCTCGAACTTTTGATGACCTCAGATGATCCACCCACCTTGGCCTCCCGAAGTGCTGGGATTACAGGC ATGAGCCATCGTGCCCAGCCTCTCAGCTCCTAATTCTTATGTTCATCAATCAGTCTCTTGCTGGGGTTCCCCTAGGAGGT GGTGAAATGACCCCAGCTCGCTGTTCCTCACATGGGTGCT >NM_001159546 TGCCCAGCAGGGAGTGAGTTCGGTGCGCTATCTGGGGTTGCACTGCCGGCGGTGGGTGGCAGATTGGGTGCCCTATCGCT ACACTGCCGCGGCGAGTACCGGGTTGGCGGCGCTATCCTGGGCTACACCGCCGGTGGCGGGAGGCGTTTTAGGGGCGCTA TCTGGTGCTGCACTGCCCGCGCAGGAGTTGGGTTGGGTGACCTACTCCAGGCGTCACTGCCCGAGGCTGGGGGCTGATTT GGGGCGCTATCCCGGGAGTCATTTCCTGTGGCGAGGGGCTGGTTGAGGGTGGTATCCGTGGCTGCACTGCCCACAGCACA GAGCGGGTTTGGGGAGTTATCCCGGGCTGCGCTGCCCGTGGCAGGGGGCAGGCTGCCAGCGCCATTGGGTGCTGCATGTA CTAGGCACGGATGAGTTAGGGGCGCCATCTGGGACTGCACTGCCGGTGGCGGGCGGTGGAGGTGTCAGTGACAGCGGTGG TCTGCAAGAGAGGAGCGGTCCTCCTCTTCCCGGCCACCTCCTCCTGTTCTTGCTCAAGTGCGGCGGGCGCACAGCATTTC CTGAGCGCGGCAGGGGCCCCAGCCCCGTGGTGCTTCCTGGACCCGCCTCCTATTGCTCTGTGTTGCAGAGACCGCCTGGG ACCCCGGGGCACGCAGTAGTGGACACGAGGAGGCTACAGGGCCCTGTGGGTGGAGGAGGCATCAGGAACGGGAACCGGCA CTTGGGTGGGGAGGGCTGGCTGGGGTTGAGTTTCTGCTGCTCCTGCTTCCCGAGGAGTGCAGCCAGGGTGGCTGCAGCTG TTCCTGTGGAGTGGGAAGCCCGGGCACTGTGGTGTCTGCAGTCCCCACTCCAGGCCGCAGTTCCTGGCCAGCTTGCGCTA AAAGGAGAGGCTGGACTTTGAAGTGTGGGTGTGAGTACCTTCGCTGAAACCGGCCCCTGCCACCCAGTGGCCAGCATGAC AAGGTGCGCTCTAATGTTACCACTCTGCATCCTGTTCTAG >NM_000262 CAGTGACACAATCACAGCTCACTGCAACCTCGACCTCCTGGACTCAAGCAATCCTCCCACCTCAGCCTCCCGAGTAGCTG GGACCACAGGCACCTGCCTGGCTTTTTAATTTTTTGTAGAGACAGGGTCTCACTATGTTGCCCAGACTGTCCTTAAATGT CTGGCCTCAAGCGATCCCCCTGCCTCAGCCTTCCAAAGTGCTGGGATTACAGGCATGAGCCACCAGACCCGGCCAGGGCT GTCCATTCTTCATCAAACCGAGACATAAAAATAAAGATTTCCCTGAGTATTTGTGTCTTCATTCCTGAAGGCTCTCAAGT CACATAAAACATTGAGTAAATCAATCTATTATGCTTTTCTCTTGCTAACCTATATTTTATTTGTAGGAGTGTCCGCTGTG ACCTTTGGGATGAGTAAGGGAAAATATCACACCTTTCTGCCCCTACAATGCCCAGAACAAAGCATTTGGCACTTAGCAGT TTCTCAATAAATACTTGATGAATGAATGAAGAAGGAAGTAGCCCAGTCTGTGCGAGTAGTCCCTGAGCGTCAGGCGGGGA AGGAGAGCCGGCTGCCTTTGCGGGAGCTGTGACCGCCTGCTTTGGTGCCTCCCACGCACCCTCCTTGTAGAGACGATTAA TCCCAGACTTCCATTTTCCTAGCAGCTCACTAGGCGGGCCTTGCTTCAGAGCAGTCTCTCATTTCCTCTGCACAAAGCCC TCAACCGTCCTCTGCACGGCCGCTTACTGAGCGCCCACGGTGAGCCTGGCACGATCCTTGCCCTCTTGGTCCCCACAGAG GTGGAAGGACAGGCCTCGCGGGGTCCGGGCCACGAAGGACAGCCCCGAGTCCGTTCTGCCAATGCCTGCCTCGCTAGCAC GCAGGGCGGGAGCCCAGTGGGGAAGGGCTTAGGGAGGCTGGGAGGCCGGACCCATATGGGCGGGGCACAGCGTTGCTAGG GGGGATTCTGATAGGTTGCGCGAAGGGTTGCCTTCGTGAG >NM_000395 AGGAGAAATATGACTGCGTTTTGTTGTGTCTTGGCACTGTGATTCATCTTGTCTTTATTCAAACTTTTCATATTTGGTTC ACCGTGAATAGTTTCTGCATCAGTTGGGATTTTTTTAAACCATATTGCATTAAAATATTACTTACAACAATTACTGAATT TTTAAATGCCTGTTTAAATTTTGAGCACGAGAGACTGCCTCACTCACCTGACCTTAATTCTGCTGGCCCTGCTGTGCTCA GGGAGCCACTCATTCATTCATTCATTCATTCATTCATTCATTCATTCATCTATTCATTTGCACACAGTCAAAGGTGCAAT TTCTCCTCTGTACCAGGCCATGTGCTAGGTATTTGGGAGGGAAGTGCAAGCCGGACACAAGCCAGCACTGAAGATAGTGT CAGAAGAAAGACAGCCATGAACACACATGACCATATGACACATGGTGGGGTGGGGCGGCAGGGCAAAGAGGACATCGGGG AAATCAACATGCCACCAGCTACCACTTGTAGGGGGTTCTCCTGTGGCCAGCTCTGAGCTAAGGTCTTCCTGCACAGAATC TCACTGGATTCCCTCAACAGTCCTTCCAGGTTTGTAGATGCTTCTGCAAAAGTAACAGACAGATGGATGTCCCGAGGCTT GGGGAAGTAACACGCAGATGATTTGCACAAGGACACGCTTTAAGAAGCAGTGGACTTGGAAGTCCAACACAGATCTGTCT GGCTCTGGGCTCAAACCAGCTATGGTTATTGCAGCCACTTCCACCTGCATCCCCATCAAGCAGTCAGGGAAGGCTGCATG GAGGAGGCCCTGCGTCAGCTGAGGCTTGAAGGAGGCCTAGGAGTTTATAGGAAGGTAAATTGGAGTAGGAGGCTTTCTGG AAGTAAGAAAAGTCACGTGCACTATTAGCAAAGTAGGCCTGGGCCGGCACTGCTTCCTCTTTCTGCTTCTCTGTTTCCTG ATGACATCAACATAAATAGGAAACGTGGGAGGCTCACTCT >NM_033386 GGGTCGGCTGGCTGGAAGGGTTGGCTGGCTGGAAGGGTCGGTTGGCTGGCGGGGGTTTTGAAGACGGCAAAGATAGAGAA TGAGCCTTGGGGAGGTTCCAGGGCCAGATACAAACTGCCTGTATGCCTCCCAGGCAGGGGCCTCCTTGGCCTAGGTCCTT CCCATAGGAACTCAAACCACCACCACACTAACCATGGCTGAGGGGACCCGGCAGGCCGCAGTGGGGAGGGACGAGATCCC TGAGCTTACACAGGGGCTGAGGGGAGCTCAGTGAATCACCTAGGGGACACCTGGACCAAAGGTGGCGGAGGGGCGCATGG GTCTCCCTGCCAAGCTATGGGGGAGGGGATGGTGGACATGACAACTTCCAGCTCAGCGGTGCTTTAGGGTGGGGAGCCGG GATGAGGGAAGCTGGTGGCTATCCGGGGGGGGGTGCTCTGAGGTCTGCAGGGGAACTGCCTCCCCAAAGTTTCAAGCTAG GGGTGGAAGGGGGGATTTGCGGTCATTAGGAGCGGGAAGGAGGCCGGATGGGAGCACGAGGTGTCCCGCCTCCAAAGGGT GGAGGGCTCCCGGTGGGTGGCGCGGCGGCGGCCGCGGCGGTGAAGTCATCGTGGGGAGTGGTCCGCTTGCGGCGGGTGCG GGGGCTTCGCGGGCACCCAGTGGAGCAGCGGGAGCCCGGCGCCGTCGAGGGGCGGGCGATGGGGCGCCGGCCCGTCTTGG TAGGGGTGGGCTCCGCACTGGAGGCGGAGCTGCTGCTGGGTGGGGCGCGCCTCCGGCGCGGACGGAGGCGGCGGGACGCC CGCTCCCACGACCGGCCCACAATGAGGCGAGCGGGCAGCGCGGAGTAGGCGGCGGCCGGCCGGGCCGGGCCACGCGGCGG CGCTGCTCGGGCAGGTTAGGGCAGGGCCGCGGGGCGCCCGAGCGAGGACACCGCGGCCCCGCCTCCGCCCCTCCCCTCGC CTGCCGGTCGGCGCCCGAGCTCGGAGCCGCAGCCGCAGCC >NM_032561 GGGCACGGTGGCTCACGCCTGTGATCCCAGCACTTTGGGAGGCCGAGGCGGGTGGATCACAAGCTCAGGAGTTCGAGGCC AGTCTGGCCAACATGGTGAAACCCGTCTCTACTAAAACTACAAGCAATTAGCAAGGCGTGGTGGTGCACGCCCATAATCC CAGCTAGTCGGGAGGCTGAGGCAGGAGAATCCCTTGAACCCCGGAGGTGGAGGCTGCAGTGAGCCGAGATCGCGCCACTG CACTCCAGCCTGGGCGACAGAGCAAGACTCTGTTTCAAAAAAAAAAAAAAATTACTGCAAAGGACCGTCCCAGACTTTTA TTTAATGCCACCCGGTGGAGCTGCCCCAGACCCTCCTCTGGAGTACTCCTATACTACATACGTCTAGAACTGGGGAAGCT CACGCGACCACCGTTACCTGCTTGCTTGCTTACTTATGGGCCTGTGACCCCTTTTCTAGAAAGTGAGCACGTGGAGAGGC AGGGACGATTGTTCATTCACCTCAATATTCCCACTGCATGATACAGAGCCCGGCTCGCTGGAACATTTGCTGAAGGACAC CTTTTCTACGGATCCCCTCTGGACCCTCGAGCCTGGGCCCTCCTGTGCCTCCAGCCGGGGCTGTGCTCCTGGGTCGCCCG CCCTTCCCTTCCTCGGCTCCGCCGGCCCCCTCAGGACCCCAGTCCCCTCAGACATTGCCCCTAGACGCCAGGCTCCTCAG CCGACCCAAGCCTTGCCTCATCCGCCCCTTCCAAGGTTGCCGCAAAGGCCACTCCGCTCCCGCACTCACTTGTCCTCGTT GTCTGACATGACACCCTCGCCTCAGCGACCCCGCTGCGCCCCGGTCCCGCGCGGAGACCCGCAAACAGCGACACTACGAC TCGCGCGGCTCCTAGCTTATCTTGCGCCTGCGCCGTAACCCAGAGGAAATCACTTCCGGGAGGCAGGACAGAGCGGGGAA AGTGCGCATGCGCTGACTGGTGTGTGCGCGTTTCTATAGT >NM_004327 TCAGTTTGTGCCCATCAGAGTCCCTGCAGAGTGCTCTCCACTGTGTCTCAGATCTCTGTGTCCCCAGAGAACCATCAAAG GTTTTGTTTCACTCCCTGCTCTGGGCTGTCTTCCACCCAGCCCTGTGAACCTCAGTGCAGGTTGGCCGCCCCCTTAGAGG GAGGCTAATCAGGGAAGTTCTGAGTCAGGTCGTCCTGGAAAAACTACATTGACCTCTGGAGCTCAAGAGAGGCCAGGGGA CAAACACATGGCTCAGCACACAGGAAGGCAGGTGTGGGTATTGAGTGACCTGAGGGAGAAATCCCTATTTATCATCCATC ATGTGGTCCTGCTGTGACAAACCCGTGTGGCAGCCACCCACAGCAGATCCACAACGTGAGAGGCCCGCTGAAACAAGGGT GCTGGCATTGGTTACTCAGCCTGGCCCTCCCTGCCTTGCGGGGTGACCTGCCTGGTCCTGGCCTCTCTGTGAGTTGGGCC CTGCTGGGTGGTCCCTAGTGTGCCCAGCCCTGAGGCTGGTGAGAGGCCAGGCTGTGAGGTGTGAGGAACTTACCTGCGTC TCCATGGAAGGTGCCCTCCGCATCGTTGGGCCAGATCTGCCTGGTCTTGCAGATGCCCACGATGGTGGCCTCTGACACGA CGACTGGGCAGTGCCGGTGACGCTTATGGCACTGCGGCGTGGTAGGGGCAGAGGGGGGAGGTTGCTTCTGTCGGAGGACT GCTGCGAGTTCTGCCAGAGAGAGCAGCTCTTGTCCCGGAACATGAGGTAGGTGGTGGGGCTTGGGGACACGCGGCTGGAC TGGCCGGAGAAGTCCTCCTGGCCGGAGGGGAGCCAAGTGTTCCTGTTCCAGGACTGCAGAACTGGCCCAGACCTCTGTAT TGGAAAGGTCTTTATGGACCAGGGAGTCCGGTGTCTTTTTTACGGGGGACCCCTGGGCTGCGAGTTGCACAGTCCAATTC GCTGTTGTTAGGGCCTCAGTTTCCCAAAAGGCACAGGGAC >NM_001142964 GTAGTCCCAGCTACTCGGGAGGCCGAGGCAGGAGAATGCCGTGAACCCCGGAGGCGGAGCTTGCAGTGAGCCGAGATCGC ACCACTGCACACTGCACTCCAGCCTGGGCAACAGAGTGAGACTCCGTCTCAAAAAAAAGAAGAAAAAAAAGAGGGCCGGG TGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAAGCTGAGGCGGGCGGATCACCTGAGGTTGGGAGTTCGATACCA GCCTGACCAATATGGAGAAACCCCCGTCTCTACTAAAAATACAAAATTAGCCGGGCGTGGTGGCGCATGCCTGTAATCCC AGCTACTCGGGAGGTTGAGGCAGGAGAATCGCTTGAACTTGGGAGGTGGAAGTTGCAGTGAGCCGAGATCGCGCCATTGC ACTCCAGCCTGGGCAACAAGAGTGGAAACTCGGTCTCAAAAAAAAAAAAAAAAATTCCAGCCACTAAACAGTTAAGGCCT GGCTCATTATAATTGGCTGACGTCCCTGCCTGCTCAGATATTTAATATTTTGAATAGAACTTTTGGGTAAAAGAGTCTTC AGGGTAACATTTATTTTCCCACCAACACTGATCCTAAGATGGGAAAAGTAATTCCCCCACAGGAAATCAGGATACTGCAA GCAACGAGAAAGGCATGTTGAGTGGTTAAACAAGAATACATGTATTCAATACAGTGTTCATTAAATGTTTGATAATAGAA GGACAGGCAGATCCAAGTATTTCATAGGAAGAAAGAAATCAAGCAGACCGCAGGTTATATCACCCCATCACACATTCAGG GAACTTAATCTTTTCATTCCAGAGGATGGGTTTGTTTAAAACAAGTTCTTCCTCCTAATTACTTTTGAACAATTCCCCAA TACTGTCCTTACCTGCACCAAGAGCATGCTAACCAGGCCTGGCACCAGGGTCAGAGTTGAGGCTGGGGCATCAGCCCCCT TTGTGAGGTGGCCTCAGTGACAGGGGTGCTATGAGGTGGC >NM_152510 GGAAAGCTCTGGCCTTCTGGCCTTATGTCTTTTTTCTTTCTTTTCTTTTTTTTTATTTTTGAGACAGGGTCTCCCTCTGT TGCCCAGGCTGGAGTGCAATGGTACGATCTTGGCTCACTGCAACCTCAAACTCCCCGGCTCAAGCGATCCTCCTACCTCA GCCTCCCGAGCAGCTGGGACTACAGGCGCACGTCAGGTGGCCCAGCTAATTTTTGTACTTTTTAAAATTTTTTTGAGACG GAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAATGGCGGAATCTCGGCTCACTGCAACCTCAGCCTCCTGGGCTCAAGCG ATTCTCGTGCCTCAGCTTCCCAAGTAGCTGGGACTACAGGCGCGCGCCACCACGCCCAGCTAATTTTTGTATTTTTTGTA GAGACGGGTTTTCAACATGTTGGCCAGGCTGGTCTCGAATTCCTGACCTCAAGTGACGCGCCCGCCTCAGCCTCCCAGAG TGCTGGGATCCCAGGTGGAGCCACCGCGCCGCACTTCTCGGGCCTTCTTCTAACTCGGGTCCCTGGGCCCCCCAGGCTCT CGCTTCCCTCCCCTACGCCGCCCCGCGCCCGCCTCAGACCTCTCTGGGACCCGCCGGCCTGGCGTCCTGGCCCGCCCGAG CCCCACGGTCCCTCGGGTCCTAACCTCGGCGGGGCAGGCACCTCCTCAGGAAGCCCCGGAGCAGGCTGTCGTTGTATAGG TGGCCCAGGCTGGCGGCCCCTGACCGAAGGTCGCGTCGGGTCAGTGTGCAGCCCGTGGCTGAGAGGCGGCTGCTGAGGGG CCGGGCGGGCTAGGGGCCGGCTAGCCGCCGTTCGCCCCTGCTTTGCATATTCATGAAGTCTAGCGAGGCCGGTCGCCCAG GCTAGCCGTGGACGGGTCATGAATTATTCATGAGGAAACCTCTGGTCCCGCCCAGAAAGGCCTCGTTGACTATTCATGAG CCGAGGAGCGGGTTTGGGCCGGAAAAGGCCGTTGACCCCC >NM_152426 ACATGTTTGTTCAATAAGCATGGACTGCAACCACCTACATGAATATTCATAGCTCCTCCTGTAGCCTGTTGAATATGTAT GTTTAGCCAACCTCTTCAGCATAAAGCTCCTGCCCAAACCCCTCCTGCTCCTAAATGTCTGTCTCTGGTGTTAACCAGAG GCTGCTCTTCCCAGGCTGCTGGATGGCTACCTTGCAGGCTGTCACCCTTAACAAGAAATAAAGTGTCCTTTGCAAATGCA TCCCTTGTGTAATTTGTAGGTCACCGCGCCATGGGAACACGCTACCATGGGAAGGGAGCTGTGAGACGCGCAGGGAGGCT CCAGACAGGCTGGCCTGGGACACCAGCCGCTGCCCTTCCATAACATGGGGACAAGAGAGGGCAAAAGTTCAGCCCAACAC GGAGGATCTTCGGGCAGGAGATGGGGAAGAAGGAGAAGCAGGAAGGAAAGAGCTCAGTGTGGGGGCGCGCATGGCATCCC GGTGGGACATCTGAGGCCCACACCCACCTGCTGTCCCTCCCTCCCACGGTGGCCACCGAGGGTGAAGGCCTGGGGGGAGG CAGACGCCTGGCCCTTTACTCTCCCTCCCTGTCCCCATGGCCGCTGGGTGGGGGCCGTCTCTGGGATGATCCCCGAGGGC AGGATCCGGGAGTCCCTGCAGAGGCATCAGCCTGTCTGTCTTGATGGTGGAGTGGCGGCTCCAGCTGGGCGGGACCACCA GGGGAGGGGCTTGTGCTCTGCTGGCTCAGCCTGGTGTGGACCCACCTCCCGGGCGCTGGCTGCAATGACTTTCTCTTTCC CTTTGCAATTGCCTTGGGTCCTGCCGCACAGAGCGGCCTGTCTTTATCAGAGGTCCCTCTGCCAGGGGGAGGGCCCCAGA GAAAACCAGAAAGAGGGTGAGAGACTGAGGAAGATAAAGCGTCCCAGGGCCTCCTACACCAGCGCCTGAGCAGGAAGGGG GAGGGGCCATGACTACGAGGCCCTGGGAGGTCACTTTTTT >NM_012143 CTTAAGTATTTGACTCCAAGTCCCGTGCTCTTTTTACATTCCAACAATTGCCTCTTGAATCTTTTCATCACATAGAGCAG AGAGAGAAAAATTAAGCAAAAATTAATAGCTAACACTTCTTCAGCACCTACTGTTACCAGGTACGGTTTTCATTGCCTAC AGTTTTATCTTATTGAATCCTTAACCATTTTGCAGAAGAGAAAACAGGCTTAGATGTAATGACTTGCCCAAGGTCCACAG CTGCTAAATTGCACTCAAGGTTGGAACTCCAGAGCCTGTGGACACTTAAATGTCTACAAGGAGTCCTTGGGCTAGTGAGG GCTTCCCAGGGAGGGCCCATGACTGTTCTGCTCATTGTATCACATTGGCCTAGCACAGGTGAGGGGCACTTAGTATATTT TAATTAGATCAATGAATAAATTAATGAATTTACCAACCTGCTGGAAACGAAAAGAATGGAAACAGCTCCTGGAGAGAATA CTTGGGAACTCCAGAGTTTGCCCATTCATTCCTTCATTCCCTCTTAAACTCCTGCATAAAGGCCACTGCCCTGTGCCCAC GACGGTGCTTATACCGAGAGCGTCAAAGATACAGGAATCACAGTCTTGACCTTCATTATTCCCATTTGAATGCTGTGTCC CAGGCCCCTTATTGTCTCACAGTATTTACCACAACTACCGTATGGGCTAATCCTACATCTCTATTTTACAGATTTACAAT CTCAGAGTGGTAAAGTCTCCTTAGGCCAAGGTGGCTCAGCGGATTCCACACCAGTCATCACAGGCTGAGCGTCACAGTAC AAAGCAGGAGCGGCAGGGAGGCCGATTCCGCGGGGAAACCACTCCCCAGCTATTCTAGGCCTTGCAAATCCACCCCTCCT ATCTAAGATCCCAGCCGGCCGCTCTGCAGCCATATCCGCCGTAGCGTCCCACGCTGCCCTGGCAGCCAGCAGGACATCCG CTGTCGACTAACGTCATTTCCGGCGCGCCGGCCACGGTGC >NM_003347 CTCCTCCCCTTTCTACAAGACCCTCCATGGTCTGTCCCCTGCCTCCCTCCCACCCTATAATCCTTTTACTCCATTCTGGA CACTGAGACAGCCTCATGGTCTTCGCCAGTGCTGCTTCCTCTGCTTGAAACATTCTCCTCCAGTCCTCCCAGCTGTTCCT TCCCATTTTCCAGGTCCCAGCATTGGCTTTGGAGCCAGCAGCCCACCTGTGACAGGAGCCTGGCTCTGCTCCTAGCTGGC CGTGTGACCTTGGGCAAGTCACTGGCTTCTTCTGTGCTTCTGTTTATTGTGAAATGAGGATGTTAATGCTAACGTATCCC AGAGGATGGTTTCAAGGGTTAAAGAAAATAAAGCACTAGAGAGAGGTCTGGCACTTAGTAGGGCCATTTCCTCAATTTGG CTTCCTTGACCTCTCAAAGTATGTCCCCACAGTCACTTTCCTATCACCCAGTTTTCTTCACAGAGCTTGGCAGTGTGAAG TAACCTTGGTTATTCAACTTTTTTTTTTTCCCCCAAGACGGAGTCTTCCTCTGTCACCCAGGCTGGAGTGTAGTGGCAAG ATCTCGGCTCACTGCAACCTCTGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCTGAGTAGCAGAGATTACAGG CGCCCGCCACCACGCCTGGCTAATTTTTTGTATTTTTAGTAGAGACCGAGTTTCACCACGTTGGCCAGGCTGGTCTCGAA CTCGTGACCGCGTGATCCACCCGCCTCGGTCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCCCCGCGCCTGGTCAACTA TTTTATGCAATCAGTATTTATTATGCTCCTACTATGTGCCAGGCACTGGTTGTAACTGCCATCTGATTGGACGATCCGTA AACGCTGAGGCCCAGTCTGTGCGGTTCACTTGCGTTCCTCCACGCGCCCCCCAGCACAGTGGGAAGCACACAGTAGGTGC TCCGCTCTGCTCCTGTGCCCCGCCCCGCGGCCCCTCCCCC >NM_014306 ACAATTCATAACTGAGAATGATATTAATGTGTCAGAGCACCTAATCAATGGGGAGAAATTGGGGCAGAAGAGAAGAAAAG CGGAACCAGTGTAGATAATGCAACAAATGAATGGAAACTACATACTGTTTTTTGCAGCACTTACAGTCTAGTGGGGGAAT GGAAAGAGGAGAGCTGTTTATAGAGTGCTTGCCGTGTGCCAAGCCCCGTGCTGATTACCCCTCCAGTGTCACTTCATTTA GCCTTCTACTCAAGAAAGAATTATGATCCCATTTTAGAGATGACGAAACAGAGATAAGAGGGGTTAATCACACCAAGTCA GTAAATGGCACAGATAGAAATTGAATCTTGCGTCTTTCTAATCCCAAAGTTGCAGTTGTTGACATGAGGCCGAACTGGAA ACTGAAATCACTTAAAGCTCACTTACCACTATGAACAAGAGACACGGCGTATAAAAGCATGATTAAAGAGGTCTTGATCA TCAAATGCGGCTAGACTGGGGAGTTTTGGCGATCCATAAGGGCTGTGATTTGATCATTTTGTAGTATATGTCTGGCCACA ATAGATGCACCCACAAGTGTTTGTCAGAATAAATGATAAGCTGCCATGCTTCATTCTTTGGGATGCTCCTTTCTGACCAA AAAAGTTATTTGGTGTATATCCAGATTCATTCTGAAACATAAATGTTCAGCTATGGTATTTACTCAAACAGGTTTTTCTT TCTCAGCTGCTGGCGTTATCTTTTTCCCCTCCCAGCTGAGGGTGTAAACTCCAAGCCAATGCACCGAACCTGACCCAGAC TCAAGGTGTTTTCATAAGCTGCTGAAAAGCATTTCCAAAACAAAAGATAACTAGATTATACTTTAAACTTCTGGATTTCG CTTAGCTGTAGTTTAGAGGAAATCGACTAATAAAGATCCTAAAGTTATACACTACAGGACAGTACAACTTAACCAGAGGA AAGACATTGGCCTGAAGAATTTTGAGCCTCGGCGCTTGCC >NM_181492 TCCTGGAGTCACCAGTCATCACAGGTAGTTGGCAATTATAGTAAAGCTGCAAAAATTTGCACTTGGACATAAGGAATTGG CTGCAGTTCTCTGGCCAGGTCTGTTTCTCAGTGTTGGGGAGTGGCGATCAGCAGCCAGTGTTAAAACCCGCAGTTCAGTG ATCACCCTAATACATGAAAGCAGAGAAATGAAAGTAGTGGCTTATGCCTGTAGTCCCAAAACTTTGAGAGGCCGAGGCAG GAGGATCATTTGAAGCCAGGTGTTTGATGCTGCAGTGAACTACGACTGTGCCCCTGCACACTCCAGCCTGGGCAAGAGTG AGACCTTGTCTCAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGATTTGGTTTTTCTTACCCCACACCCCCTCCCCCGCATA ACTGGGAGGCTTATTGAAAAATTGCTGTTTTTCATTGACAGTAATAACACAGCCCCATATTTTAATCTGGTTGAGTTTGG GGGCTCATTTGTCTAATAAGGCATTATTAGATATATGAGACATACATGTTTTTGCTGTATTGGGTTTGTATGCACTCAGA GTGCTGCTTTTCATTCTACTACAGATTCTTGCCTCACTCTTTAGGCCATTTCTCTGCATATGTGCATTTTCAGAAGTGGA TAGGATAAAATATAAAAGATGAAATTCAAGGTCAGGCGTGGTGGCTCATGCCTGTAATTCCAGCACTTTGGGAGGCCGAG GTGGGCGGATCACGAGGTCAGGAGTTCGAGACCAGCCTGGCCAGCACAGTGAAACCCTGTCTCTACTAAAAATACAAAAA ATTAGCCGAGCCTGGTGGCCATGCGCCTGTAGTCCCAGCTACTCGGGAGGCTGAGGCAAGAGAATTGCTTGAACCCTGCA GGCAGAAGTTGCATTGAGCTGAGATCGTGCAATTGCACTCCAGCCTGGGTGACAGAGTGAGACTCTTGTCTCAAAAAACC AAAAAAAAAAAATAGAAATTCAAACCAGTCAGCTTCATCT >NM_007311 GGAACCAAGCCTGGGTTATCCTTGTCTTCAGGCCAACACAGTAAAAAATAGATTTATGTATGTTTGTTTTTTAATAGAGG AAGAGGCTCACAAAGGCAAAAATGCCAGGTCCTAGGAAAGCCATACTGCAGCCTGGCTGGTCCCCAAGGAGGCTCCTGGC TTCTGTGTCTGGGTAGAAGTAGCCACAGTTCTCCTTGGACCCTGCAGGATCAGTTTGGGCCAACGTGGCTGGTTCAGGCT GATGGGGCGTTGCCAGGCTGAGTTGTCTGGAGGGAGCTGGGACAGCCTTGAACTGCAGCAAGACAGCCATAGTGCCAAGG GCCTGGGGCTGGACACACCCTGCATGGGAGTGGACCTGGGCAGCTGGAGGCCACCTCTGGGCTGTGATGATGGCAGCCTC CCCTCACTGAGCGCCGAGCATCTGAGGGGTGTCCTGCCTGCATCACCGCGTTGCGGCCTCATCAGTCCCACGACTTTGTG CCCATTTTACAGATGAGGAGATGGAGGCCCAGAGAGCCAGTCAGAAAGTGGCTGGGCCAGGACTAAGAGTGCAGCGCGCT GCCTCCGTGCCCTGCGTCAACAGCTCAAGGAACTGGGGTGCTCCGGAAATGGGGCCAAGGCTGCTGGGCAGCAGGACGCT CAGGGCCTTGGCCTCAGGAGAGGTAATTCCCCACTCGGAGATCGGTCTTGTTGCTGCATTTTATAGATGGGAAAAGTGAG GCTAGAAGAGACGACAAACGACACGCCGTTGGACACACGGCAACGTTTTAGATGTTGGGTCTGGCCGGGCGGCCGTCACC GGTCACCATGGGGAGGAGGAGGAGCCGAGAGACTTGCTCGCGGCCGGGGGGAGGCAGAAGCGCGTCCCGCGGGAGAGGTG GCTTTGAGGAGTGAGCTCCCGGTCCCGCGGGGACGCGAGTGGGCCCAGTGCCCGGGCTGCCAGGCGGGGCGGGGCGGGGC CGGGCGACTGAGAGGGGCGGGGCCTGGCGGCTGGGAGGGG >NM_017911 GGAGACAGGAAGTAATAAATGACTCCAGGTTGGGCAGGGCAGGCTGGGAAGAGGAAGTGGATTGGGTCTTGTTTAGGTAA AAGACTTCAGTGGCAGACAAAGGAGGAGTAATAAGATCGCTAGGGGGCCCGTGCCCAGCCCACCCACGCACAATCTCAGT CCTCGCAATACCCACAAGGTAGGTGCTAGGATCACACCCTTTACGGACGCGGCACCTGCGACAGGGATGCGCGAGGAGTC AGGGGGCCTCGCCGGATCGAACCTAAGCTGGGGAAGAGTATTTCTTGTATTTTTAGGAGAAATTCTCAGCCTCGGGGAAG AGTATTTCTTGATGAGGGAAGAGCGCGGGGAAGACACTCACGCACGCACAAACATGTGGGCGGCCATGGTGTGCCCAGCG CCGTGCTGGCTTCTGGGAACCCCCAGTGGACAAGACGGACAAGGTACCGGCTCTCAGGGGAAGTGGGAGCCAGTCACAAG CGTACCTAATTTCGGAGAGTGACAAGTACTCTGAAAAAGAAAGAAGGTAGGGCTGGTGACTGGCCAATTTAAGCGGGCAG GAGTCTGCTGGGGGACGGAGACCAGCCTCAGGTCTGGGTTGGGGACAGAAGCTGTGCCTAAGTGTGGTGCAGGATGCAGT TGCAAAGGAGCGCTTCCGATCGCACTTGATGCTCGCCACGTCCCTGCAAAGTGCTCCCGCCCCCTTTCTGCAAATGAGGA AACGGGACGCGCGGCTCGCCGGGCCAGGTAGGGCTAGGACGCGGACTCTAGGCCCAAGCGCTCCCCAGCGCAAGCCCTCC CCCGCACATCCGACCGCGCCTGCGCTGGAGACCCCGGGGGCGTGGCCTCCCCGGTGGGCGGGACCGTGGTCACCGAGGTG GGCGGTGCCAGAGGATCTGGCGGCGGGGCGGGGCGGGGCGCGCGTCCTGGCTTCGCCCTTCCCCGGGGCGGGGCCTCCGG GGACCGCGGGGCCGTTGGTTTCGGGACGGAACGTTCACGC >NM_007098 CTGTCGTGCAGCCACGGGCACTCTGGGTGATCCTCACTGGCCTGGGGCTGGTCATCTGCTGCTAGATGACCTTCGCTGAC TCTCTACATTGATATTCCGACACAGTGTTCTCTAGAAACCGCATGAGCCAGGAAAGGTGTTTCCTAAAGGAGCAGGGGCC GAGCCTCACGCCGAAACACGTCTGTAACACGTACAGTCACGCGTCCCATGCATCCATGCATTCTGAGACATGCGTCTCGG TTGTGGGATCATCACAAGGTAACTTACACAAACTCAGATGGCACAGCCACTACACAACTAGGCAGCTGATGCGGTCCGCT GCTGCTAGGCCGCAAACCCGCACCGCGTGTGAGGTGCGTTATTCCCCTGGCACGGTAATGACATACCTGTACGTGTATCT CCAAATACAGGAGAGGAAATGTCCTTAGCTAAGCCCTCACCAGAGGACAGGAAGTTTCCAGCTCCGTTATCATGTTATGG GACCACCGTCATATACACGGTCCTCCTCAGACCAAAAGGTCGTTCGTTATACGGCACATGTGGTTCTTCCAAGACCCTTT TCCATCTTTCTGTCACATCCGTGCCTGAGTAAAAAGTGGCCCTGAACTCAACCGTCCAGAGTTGGCGGCAGAACTAGCAC CACTGGCCCGCTCCACATGTGGAAGGCGCTGGGCAAGGGCCGCCGCAGACCCCATCAGGATTAATCCCCCGAAAACCTTT CACTCGGGTAGCTGGCACACACCGCGTCAGGGCAGAGGGCGCGCGGGACTACTTTCCGCGGACCCTCGGAGCGGGCGGAG GGATCCGCGCAGGCGGGACGGGGCAGAGGCGGGGGCAGGGGCGGGGGCAGGGGCGGGGGCAGGGGCGGGGCAGAGGCGGG GCAGGGGCGGGGCAGGGGCGGGGGAAGGGGCGGGGAAAGGGGGTGCGGGCCGGGGCGCGGTCAGGGAGGAGGGCGGGGGC CAGGACCGGGAGCTCGGGGCACTGCGCCTGCGCCGTCGCC >NM_003073 GATTACAAGGCCGGGCGCAGTGGCTCACACCTGTAATCCCAGCACTTTGGGAGGCCGAGGGGGGCGGATCACGAGGTCAG GAGATCGAGACCATCCTGGCTAACATGGTGAAACCCTGTCTCTACTAAAAATACAAAAAATTAGCTGGGCGTGGTGGCGG GTGCCTGTAGTCCCAGCTACTTGGGAGGCTGAGGCAGGAGACTCCAGCCTCAAAAAAAAAAAAAAGAGTTGGGATTACAG GCATGAGCCGCTGAGCCCAGCCACAGCTGCAATTTCATTAGATTGAACGGTGTGAAATCATCAGTAGTGGGCCACTGTTT TACTCCCTGCATTATTCAATCATGATTGCTTTCAGACTTTCATTAGTTTCACTAGCTTCGCGCTGTAAGAGCCAAGAGGC AGAGCCACAGGGCTGGGCTGCCTGGTTTCACTCCCCACTGCAGGGCTCGGTTAAGCAGAGTGTAGGCTAAGAGAGGAATG GAGAAGGTGGAAGGTGTCTCTCCCTTCCAACGCTCATCTGATGCACCAGCCAAACCAAATACCACCTGGGCCTTTGAACA TTGCCAAGCCTCATCCGCTGTTGTCATTTTGCCCACCTCCACAGCTGCAGGGACAGCCGTAGGCCCGGAACTGGGATATC TCTTCCTAGGGGCCTGCCTATCTGCTCAGCTGCACTGCGTTTTAGGGGTGGGGAAGCTAAGGCACGAGATTGGGGTCCCA AAGCATGCCCAGACCACCCAGGCTTCCAGATACTAGGTCCTCCTCCTTCAGGCCTCACTTCGTTGCTTTTCCCCTGGGCT CAGTTCCAGTCCTGGCTGTAAGACTGGGAAAGCCACTGCTTGAGTCAGGACCTCATTGGCTATTTTTGTCCGTGAGAAGT CCTCTACACCACGACTTGGGAGGCAGCCTGGGAGAAAGAGAAATTAGTCGTGGCTCCTTTAAGGGGTCCGCGGAGGCGCG CCCGGCCTTTTGTTTGAGCGGCGGCGCGCGCGTCAGCGTC >NM_001039141 AAACACTGAACACAGTGAATCCTGGTTTGTCCCTCGAACCAGACCAGAGCTTTCTGAGTGAGAAATTGTATCTTAGTCAT TTCTGTTTCTGCTCTGGGCACAAGCTTGTGTCAATGTAGGTTCTCAGCCAATCCTGTCTGAATCCAACCCCCAGGTGATC CCCAACAACTCTCAAAATAATCTAAGATTTCTGTGACCCTAGTGCCAAGCTCACCTGCCTACAAGTGTCTGAATCTAGTT TACCTTCCCTGTCTCATCACTGCACCCATCTCTCCTGGACTCCTGCTGCAACCTTCCTCCCTGTCCAGTGAATTTCGCCC TCCTCCTCCCATCCCAGTCGCCACAATTGGCAAATATCAACCAAAAGGAAAAAAGATGGGAAACAAGTTTTTTTTTTTTT TTTTTTTTTTTTTTTTAAGGCGGAGTCTCACTCTGTTGCCCAGGCTGGAGTGCAGTGGTGTGATTTCGGCTCACTGCAAC CTCCGCCTCCCGGGTTCAAGCGATGCTCCTGCCTCAGCCTTCTGAGTAGCTGAGACTACAGGCGCACACCACCACGCCAG GCTATTTTTTTTTTCTTTTTTATACAAGAGTTTTGCTCTGTCGCCCAGGCTGGAGTGCAATGGCGCTATCTCAGCTCACT GCAACCTCCGCCTCCTCGGTAAGAAAACTGTCATGACAGAGAGGTTAAGACTCTAGTCCAAGGTCTGTGCTAAAGCCAGC CCAGCGGACTGTCGGCAGAATGAACCAACGGGAAAGAGGTCAGAAGGAGCCAGATCCGCCAGTGCCAGCCCTCTCCAGGG CTCCCTGGGGACCCCCAGCGGGCAAGGGCTGCAGGCGGCCCAGGCTAAACGTGCAGTGAGTCCCGCTCTCAGAGGTATCT GCGCCCCGCCTGCCTCCGCCCCGCCCCTTGTTCTGGTTTGTCCAGTCCCACAGAGTCCCACAGTCTTCATGTAAATGAGG CACCCAGAGAGAGCCTATGCGAGCGTGGCAGGGGCGTGGC >NM_001670 AGAGCTGGCGGAGGGTCATGGTCCCACTCATGTCAGGTGCTCTTAATCTGGCAAGGAAATGTAACCTACGTGAATCTCAA CAGGCAGTGAAGCACCGTTTCTTCCTGACTCCAGGTAGGGTGAAGAAAATGGGACAGTAGTACGGGGTGCGGGCATAAAC GCACAACTCTGCCTCCCCAGACGCAGAGCTGTGGGGCTGTGAGAATGCCAGGAGGAGGTAAGAAAGGGCGGCCCCATGGG GGGCCTGCAGGGTGGGACAAGCCCAAGAGGTCTCTACATCCAGGCCTGGTGGGGGAGGTGAGCCCCTGGTTTACCGAGGG GGTCCCTTCCTGCCCTCGGAAATACTGCAGCTCCTACCTCCATCGTCTCCCCGCTGCGGGGACCCAGGGGCGTGAGGATG AGAGAGCCCCCAGGCCCCAGGGTCAGACGACTGTGTTCAAGCAAGTGAGAACCTCTCTGAGGCTGTTTCCCAACTGTAAA ATGGGGATAGCAGCAGAACTCTCTCTCGCGGCTTGCGTGAAGAATACAATTCGATGTCGACAGGAGGGAGCGGCGCGCAG CGCGCAGCGAGTAGCAGGCGCTGAAGAAGGATACCTGTGAACTGGGAGTGGTGGCGGAGGCTACGCGGCCAGAGTCCGGG GAAGGGGCGCCGGCTCTGCCAGTCCCTGCTCGGGGCTGGATGGTCGGGGGATGTTCTCGTAAGTCGGCTGGGAGGGAGCG GTCCCGCGTACCCTGCCACCGCCGCCGCAGAGGTTCGGGCAGGTGCGGGGCCGCGGCCCCTCCGCGAGGGGGCCGGTCAT CCGCCGGGACTGACATCCCGGAGGCCCAATGGCAAGCCGTCATCTCCGCGCATCCGCCCAATCGGCGCCGGTTGCCGTGC CGCGCCGGGTCTCTCGACCAATGGGAAAATTTGCTGTCAGATGGGGCGGGGCGGAGATTCGCGTCGCCGGCCCGGTCCGC TTTGCGCACGGGCCGCGTGAGGGCGGGAGGGCTGGCCCGG >NM_004861 GGTTCTAGGCAGCAGTGCTGAAGGGAGGATGGAGGAGGCATTTCTGGGCACAAGGAGACCCTCTGCCCATGGGCAAAGCT GAGACAACTGACCTGAACCTAAGATTCAAGTGCCTGAACTGAGTCCTAGGGTTCCTGGGGCTTAGGGCCAGGGCACCTAG AACTGCCTCTTCTGCCAAGGCCTTGGGGAAGATCTGCATCTCCAATCAGCCCAAATCCTGCAGAGCTGGTCGAGTGTCTG GGTATCACCATTCCTCACCCAGGGATAGAGGCAGGACACCCTCTCTGATGAAAGATTTAGAGCTCAGGAAGTGAAATCTT GCCAGACTCATCTTCTGAGCCCTGGTCAGATGCTCTGCCTCCTGGAAGCCTTCCAGGCTGAGTTAGTTGTTCATTCTTCT GGGTTCCCACAGATTTTAGATAAACCTTGGTCCCTGGTTGTGTCTCAGCATCTTTAAGCCCTGGAGTTTGGCAAGTCTGC GTATGTACTCCAGCTCTGTCTGCCCTCTACTAGCTGCGTGACCTTGGGCAGGTGACGTTACCTCTCTGAGCTTTGGTTTC TTTACCAGGAGGGTAGACTAACAGGGGTGCTTGATGCATCAGCTGTGAGACTTAAATGAAATGCAATAGGTGGGGCAATT AGCCCTCTGGCACCCCAGCCCACCTGCACCTCTCTGTCCCTCACTCAGCCTTAGAGCCTGTTCTGGGCTCTCTGCAGGCG TCTGCGGTTGCTGTGTCCTTGGCCCAAGGATACCTGGAATCTTTCTGTGCCCTTGGATGAAAGAGCTGCTTGCTTGTTGG GGTCCAAAGAGAGGTGAGGACTGGCCAGAGCTGTCCAGTGGAGGCAGAAGGCCTGGGCAACACCTGCAGGGTACTGGGGT GTGCCACCTGCTATCCCCAGGAAGCAAACTCATGAATATTCACACCACTGGAGTGGGAGGGAGCCAGCCAGCTTGCTGCT GGGTGTCATTGGAGCATTCCTGTCTCCCAGTGATCGCAGA >NM_015366 CATATCCTAATTAAATTGTGGATCCTTGCAGACAGGAGCCAGATTCTCTGCAGTCCTGTGCCCCACTCCTAGCCACGATC AGTCATGTTTATGATTTGATTCCTGATGTTCGGTTTCCCCCAAATAGAATGAGTCTCTGTGTGGGCGAGGTGCTGGGAGA ACTTGATTGGCACAATCTCATTTTGTCCCCCATGAGCGGGGATCCTTAGCTCCATTGTAGAAACTGGCTCAGATGGGCAA GTTACTGAACCTGGGAAAGTGAAAAGAAAAAGAAAAATCAAAAACAAAAAAGAAGGCTGGGCGCAGTGGCTCATGTCAGT AACCCCAGCACTTTAGGAGGTCAAGGCGGGCAGATCACTTGGGCCCAGGAGTTTAAGCCAAACCTGGGCAACATAGCAAG ACCCAGTCTCTATTAAAAGTACAAAAAAAATGAGTCAGCCGGGCATGGTGGCATGCACTTGTGGTCTTAGCTACTCGGGA GGCTGAGGTGGGAGGATCACCTGAGCCCGGGAGGTCAAGGCTGCAGTGAGCTGTGATTGCGCCACTGCTTTTCAGCCTGG GCAACACAGTGAGACCCTGTCTCAAAAAAAAAAAAAAAAAAAAAAAAAGAAAGAAAGAAAAGAGAAGAGAAGAAAAGAAA AGAAAAAAGAAAAAACTGGCTCAGAGAGTGTGATGGCCCTCCCCACAGTCACACAGCAGAAATGGAGGATCCAGGAATGC TTCCTAAAGGAGGCGGCAATGGCCCTGGGCCAGCAGGATGGGGGGTTCGACTGGGCCAACAGGCAGAGGGTTGGTGTTCT AGGCGGGGTGAAGAGGAGGAGGGGGGCTGTCCAAGGGGCATAGCAGTCGGAGCCCAGCACCCAACATAGGGCAGAGTGGA GTGTGGGTGGGGCTCAGGGGCGTGTGCTGAGCTTACCTGAAGTCGGCAGGGCAGGAATGAGCTGTCTGGGCTCCTGACCC CACCCTGTACCTTGGACCTGGCCAGTTCCTTCTGTCCGGG >NM_014509 AAAAAGAGAATTCACTACCAGTACTTGTTCTTATTTGTCCTAGACTTGCCACTGTTTCAGACTCAAAGGGTGCACTTTCC CTCTTTCATTGTAGGATTTAGTGCATGAATCTGCTCACCCCAAACATCCTCTTCATAACTTGGGGTTTTCGATCCTTTCC AGGCAGATATTGTTTATAATCCCTCACCTGGAGGGTTCCTCCACGTCCCCAATTTATACATTCATTTGTTCACCTGTACA ATTTTTTTTTTTTTGAGACGGACTCTCGCTGTCGCCCAGGCTGGAGTGCAGTGGTGCGATCTCGGCTCACTGCTGGCTCC GCTCCCCCGGGTTCACGCCATTCTCCGGCCTCAGCCTCCAGAGTAGCTGGGACTACAGGCGCCCACCACCTCGCCCGGCT AATTTTTCGTATTTTTAGTAGAGACGGGGTTTCACCATGTTAACCAGGATGGTCTCGATCTCCTGACCTTGTGATCCGCC CACCTTGGCCTCCCAAAATGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTGTACAACAATTATTAAGACTGGCTT GTGCCAGGCTCTGCTGAGAATCCCAGGACACGGTGGGGACACGGTGGACGCAGGCTGTCCGTCAAGGGGGCTAGTAAGCC ACTAAACAAAGGGTAGCCTTCAGCCCTGCGGCGCGGGCCAGCGAGCATTCAGAGGCCCAACTCGCTGTGGTTGCTCCCCG GGTCTGGTCCCGCGCGGACGTGGGGGCGGCCATCAGGACTGCCCGGGGGTTGGCGCCCTGCTGGGTTCCAAGCCGGTGGG CGCGGACAGTGTGGCGGGAAGGCCGGGCCTGGCGGGTGGGGGCGCGGCCTGGCGGTGGGGGTGGACCTTCCTGGGGTGGA GCCCGCGGCTGTGGGAGCAGGGCCCGCCGGGGCTCGGGCAGGGCGGTGGGAAGGCGGGGCCTTCTGAGTGGGGGCGGGGA CTGCTGGAGTTGCGGGGCCTGCCTGGGGTAGGGCGGGGCA >NM_001014440 CCCTGTCCTGTTCTGTTCCGTTCTGATTACCCGGTGCACGCAGACCCCAGTCACGTACCCCCTGCTTGCTCAATCGATCA TGACCTCTCACGCAGACCCCCTTAGAGTTGTGAGCCCTTAAAAGGGACAGGAATTGCTCACTCAGGGAGCTCGGCTCTTG AGACAGGAGTCTTGCCGATGCCCCCGGCCGAATAAATCCCTTCCTTCTTTAACCTGGTGTCTGAGGAGTTTTGTCTGCGG CTCTTCCTGCTACAGTTTGTAACCAGATTATTTCTGACAAGTTTTGATCCAGGGTTTTTTTTTAAAGATTTGTCAATTTC AAAATATTTGTTTGCTCCTGCTTCCTGTTCTCTCTCTCCCTTTTTTTTTCTTTTTTTAAGACAAGGTCTCACTCTGTCAC CCAGGCCGGAGTCTAGTGGTGGGATCACTGCTCACTGCAGGATCCAACTCCCAGACTCAACAGATCCTGCCGACTCAGCC ACCGACCCCATAGCTGGGAATACAGATGTACATCATCACACCCAGCTAATTTTTAAAGTTTTTTGTCGAGATGGGTCTCA CTGTATTGCCCAGGCTGAGTTTTCTTCTTCTTTTTTTTACATTTTGTTTGCCTAGAATTGTATTTGATTGTAATCAAATC ATGTGTCACATCTTTTTTTCAATTTGTGTGATTATTTTGTGGCCCAATACATGATTTTTTTTGCGAATATTTCATGGACT TAAATAGATAAGTCCTCTCTCTACACATAATTAAATGGAGTGTGTGCTTTGCATTATTCAGTTCCTTTATTCCCATCCTT GCTTTTGTCTGCAGATTTGTCCTATTCCAGAATGGGTATACTGAAACTTGGGTAAGGGTGAGGCCAGCGTTCTGGGTGGC CCAGGCTACTATCCCACCCGTGCCACAGAATCCACACAGAGGCCCAGCGGCGGCACTGGGTGGTGGGGAAGGGGGAGGCG GACCCAGGTTGGGGGGGCAGGCAGTCAGTGCGGTTGCCAG >NM_001193414 AGCAGAAGGGTAGGAAGATCTCTAACTGTGCTTGGAAACTTGGGGAGTTACCACGTCTGGCTAAAGTGGTATTGTCTTAA GGAAAACCTATGAATTTGCCTGCGTTGGCTTGGTGCTGAGGAAAGTGGAAGAGAGAGGCTGGGGTACACCTTTCAACATG AATGGAACTGACCACTGGAGGGAAAGAACAAGAAACAGCAGTGAGAACAAGGAACAAAGACCATCCAGCCCCTCACCCAC CTGGGGGGAAGTGAGGGGAGATGGGCAGGGTGACAACGTGGCCAACATCTAAAGTGTGAAGAGGGGCTTTTACCAAGTGC CCACCCCTTCCCGAGCAGGGGGCAACCAACAGCATCTGGCGGGTCTTACTACTGGGCAGAGGCAGGGGAACCCTGGTATG AGTTCTGGATTACATAGGAGATGTGACTTGGACACGTTTGGGGCTTAAAAGTAGGAAGGGATCAAGGGGGGAGATTTGAA AATCCCGGTGGAGGTGCGAGGTATCCGGGGAGAGGGTAAAAACGGGAACAGTCTTCAGCACCTGCCTGTACCAGGAGCTC TGTGTATGCCATCTCATTTCCGTCTCCAGCAACCAGGCGGGCCTTGGCGGCAGGAGGCACAGGCTTTGGGAGCAGAGGCC CTGCAGCTTGCCAAGCACACACGGCCCTAGGGCGCCCAGCTGAGACGGCACCTTGGCACCCGGGCCCGCTGCAGCCCGCT CCGGTCAGCTGCACCCCAGTCAGGAGCCTTTCCAGCGGGTCGGAGGAGAACGGAAGTTTGGGGAGACCCGCGCGATTCGC CTGGCTGCATTTTACATTTCTTTCTCCGGCAGCTGGGGTCACGAAGGCTGCTCTCGCCGGCGGTGTTGGAACGTGGACAC GTGCGCTTTGGTAATAGGGCAGCCTCCCCCGCGGGCGCAGTCCCCGCTGCGAGCGCCCCCGGCTGCTGAGGCGGGACCGA GGACCCGGAGATTTGAGCCGCGGGTGGGCGGGGAGGGGCC >NM_015653 GACCTCCGCAGGTCCTCTGGCCTCTCCAGACCTCAGTTTCCCCAACTATAAAATGGGGAGAGCAGCCATGCGCCATGGCT AACCAAAGACGGTGTCGCCAGGAACTTAGGAAAAGCTCAGTAAACTGGGTCATCATCACTACATTCCTGGGTCAAAGCTC CCTTGGATCCAAATGGTGGTTCTGGCTGCTTGGAACCCATTACCTCCTCGACAGCTCCCTCTCACTTCAACTTCGGATGA GAAGGGAAAAGGGACGCGAGTGACCAGGGCCAAGGGCCAGAGCAGTCCCCGAAGCAGGAGTGAGGGCAGAGAACAGGGCC CATGGCGGGACCGGGGCGGAGAGGAAGCGTCAGGACCCCCAGGGTGGGGGGCGAGGGTTGGGAGCCCCTGAGATGAAGGG CGAGGGCCGGAGCTGAGGTGGGGTGGGGTCCCTCAGGGTGTCGGAGGAGGGTCGGGAGCCAGGAGGTGGAGGGCGAGAGC GGGGCCCGAGGCGGGGCCGAGTGGAAGGGTCAGGACCTCCGAGGTGGGGCGGAGGGACAAGGGTCGGGACCCCTGAGGTG GACGGCGAGGACCGGGGCTGAGGTGGGGTGATGGGCAGGGGCTGGGCCAGGGCCAGGCCGGGATCCGGTCGCGGTCAGGC TCCGGGACTGGAAGGGGAAGGCCGGCCAGGCGCCCGCGGCAGACGCCCACACCCCACAGGCCACGTGTGGCCTGGACGCC TGGGACGGCGGAGGCGCTCCGGTGGCGCCCTGAGCTGCTCAGTTACCAGAGCCGTTGGGGCCGATGATGCAGGTGAACCT CCGGAAGGGGCCAATGACCTGGCGGCCCCGCCACGACTTGAAATTTTCCACAAGCAGCAGCTCCAGGTGGGCCATGGCGC CGCCCTCCACGCCTCACCCGCGTTATCAAGCGCCCGCGGAAAAAGCGCGGGAAGGGATTCGCCAAGTGTCGCGAGAAGAG AGCGAGACGCGGCAAGCGCGGAGCCGTTCCTTAGCAACGA >NM_001145398 GTGGTTCGGGAACTGAGACCCAGAGTTGCTGCCACGCTTGCTCAAGATCCCACAGCAATGTACGGCAGAATCGAGAACCT GGCATCCCCCGGCAAGTCTGGCTTTGACGTGATGTTGGTCTGACGTAGAGGTTGACATCCAGAACCTTTGCTTCACCCAT TCAAGTAACCCAAGGACCACAGGGGCCAGCGTCCTGGTGGGAGGGTATGAGAGGGAACTACAGCAAATAGCCAATTGGCA CTTTAAGTCCCCACAATGACTGGGAAGCAGGGATTCCTCATCCAGGACAAGCCTGAAGCAGGCTGGCAGAGCTGCCCCCC TTTCAGTGGTGCCTGGTCTCCTGGCACCTGCCCCTTTTCCCCTCTCCCCTGAAGACCAAAGAACCTGAGGCGGTAGGTTT TATCACTTCCTTTTGGGGAACAGGCTTCAGGCTGTGCAGATGGTATAAAGCTCCAATTATGCATGCCATATGTACACTGG CGTGCCTTGTAGGGTACGTGTGCATGGCATAAACACAGCATCAAAACATGCCACAAGCCCTTGAGGCTCAGAAGCGCACA GGTGAAGGCATGATGTCCGACCGCATCCCTGCATCTGCCAACACAGGGTGTCTTGTGCTCGGCTGCCTGAGGTGCTGTCC TTGCCTGTCATCCTCCTTTTCTCTTGGAGCCTCAGGTCCCAGCCCGGGATGGTTTCCACTGCGTGCCTGGGCCTCCAGGG CACCTCCATGCTGATGCGTGCTTGCTGTGGGCGTGGAGCTTACCATTCTCACCTGGCAGCCCCAGTTATGGCTCCCAGCC TGGGGGAGAACTTCCCTTTCCAAAGTTAGATAACAGGCTGGGCTCTCTGTCAGAGGATTGGCGCGACAGCTCCACGTGCT GCAGCTGGCGCAGGGCCAGGCCCGCCCTGCCAAGCAGCGGGAAGGGAAGGCCTGGCTGCAGCCGGAGCTGGCAGGTGGCC GAGCCGGGGGTGGACGGGCGGGCTGGGACTGGTGCTGGCC >NM_032775 CATCAGGAGGCTCTGTGGCTCCAAGCTCTGGGCGCAGCCATTACGGATACGCCTCGGAGGATGGGACCTGCTCGAAGGTG AGGTGGAGAACAATGAATGCCAAGACCCGCGCACGGACCTCTGGGACCAGGCTTTAAGACTGGGAATTAGATTTACTGCA AAATCTCAGTAAAGGAACGGGCACACAAACTAGCACCTGTTCACTCTGGCGGTGTTAAGCGATTCTCCCCGATATCCCGC AGGGGGCGCGCTACGGTCAGCGGCACCGACCGCGGAGGGAGCGGGGAAGGAGCAGGCCGCGGGAGGGAGGGAATGAGCGC GTGACGAAGGGAACAAGTGGAGGAGAGGAGGAAAGAAGGGAATCAAAGAGGGAGGGAGGCAATGGGAGAAGAGGAGAGGG AGGGAGGGAAAGAAGGGGGGAAATGAGACAGGGAGGGAAGGAATGAGAGAGGGAGGAGAGAACGAGAGTTAAGGAGGGAG GGAAAGGGAATGAGAGAGGGAGGGGATGAGAGGGGGAGACAGGGAGGGAGTGAATGAGTGAGGGAGGAAGGGAATGGTGG GTAAGATAGGAAGGGAAGGAATGAGAGAGTGAAGGAGGGAGGGAATGAGAGGGGGGGAGTAAGAGAGGAGAGAAGAGAGT GAAGAAGGGAATGAGGAAAGGAGAGGGAGGATATGAGCGGGGAGGGAGATAGTGAGGAAGGGCAGGAGGAAGTGAGTCGA GGAATGAGGGTAGGACCGAGGCAAGGAAAGAGTCAATGGATTCAGACGGGGCGACTCTCGGCAAATTCGCTCATTCGTTG GTTCGGCCCCGCCAAGTGCCAGGTGCCGCGCTAGTGCGGGGACTCACTGAGCCTTGGCGATCGCTGCTGTCCTCCGCAGA GCGCCGGAGTGGAGCCGCCCCCTGTCTCCCCGCCCCAGGGCCGCCCCCGCGCTGCTACCCGGCCAGGCCGGGAACCCCCG GGCCTACGTCTGGCCCGCCCGGCGCCTGCGCGGCGCACCC >NM_001172688 CACCCACCCCACCCCAGTTTGGGGGAGGAGCCCCCTCCTTTGTTCCCACTACCCCGTGGGCTTCCCCTATCACACTGTAA TAAATATCTGGCCTTGTCTATCTCCTTCTGTGCCCATCACAGAGCAAAGCAAATACAAAGAGTTCATTAAACGTTGGCTG GATGAATGGAGGAGACGGCACAGGGTTCAAGCTCTGCTACTTGTGCGGCCTCAGGCCGACTAATTATCTGGTGGGTTTGT TGTAAGGAGTCAGAACTAAATGGATTAATTACAAATAGTGCTTAGGACAATGCCCAGAATACTGTAAGCACTCAAGAAAC TGATTTATTTTCGTCATTTTCACAGCGGCCAAGGTACATGAGGATGTAGCTTATCGCCCTTTTAAGGGACTCTCCCACGT TCGACTCTAAGCGGAAGTACCCGCTCAGGGCTCCGGAAGTGGCCTCAGAGCCCCTCAGCAACATGCCCGCAGAGAATTCT TCCGGAGGCGGTCACAGACATCTCCGTGACGCAGAACGAGTTAGAGCGTCCCTTGGGGTTTCCATGGTGCTGCCCTTAGC CTGCAGTATCTCCACTTCCTCTCCCGCCTGAGCGCCGGGAACGGAAAAGCAGGCGGCCGGTCCCAGCTGCGACGTAGACG CCGCGTGGGGGTGGGGTTGGGCGAGTAGGTGACGCTCTAGGCGAGCTCGTTGGCCTCTCTATGGTGCCGAGCGCGCCCGT TCGGACGTTGCCCCTTTAATCGGCAGAGGGCGGTGCCCAGGAGGTCCCGCGAGAGCTGCGGGGGGCGGGGGGGCGGTGCC GAGGCTGGGGGCCGGTGGCGGATGGAGCCCGCGATGGAGCCGGAGACTCTGGAGGCGCGAATCAGTGAGTGTCCGGGAGG GGCGCGGGCCGGACCGGAACCGGAACCGGGGGCACGAGGCGGGCCCCTTCCCGGCGGGGGCGGGGTACGGGTCGCCCCCT CCTCACGCCCCGCCCCCGGCCCGGGAGGGGCGGTGTCCTC >NM_005877 TGGGAGGCCAAGGCGGGAGGATCGCTTGACCCCAGGAGTTTGAGACCAGCCTGGGCAACATAGGGAGACGTCCTCCCATG TCCCTACAAAAAAAAAAATTTAAAAACTGGCCGGGCGCGGTGGCTCACGCCTGTAACCCTAACACTTTGGGAAGCCGAGG CGGGCGGATCATTTGAGGTCAGGAGTTCCAGACCAGCCTGGCCAGCATGGTGAAACCCCGTCTCTACTAAAAATGCCAAA AAAAAAAAAAAAAAAATTAGCCGGGTGTGGTGGGCGCCTGTAGTCCCAGCCACTCGGGAGGCTGAGGCAGGAGAATCGCT TGAACTCGGGAGGCGGAGGTTGCAGAGAGTCAAGATCGCGCCACTGCACTCCAGCCTGGGTGACAGAGCAAGACCTTGTC TCAGAAAAAAAGAAAAAAGAAAGACAAAGAAAGCAGCAGCCTTGATTTGAGAGGGAGGCCCCCAGTGGGGCTTGAGGGCG GGACTACGGAAGGCAGGGGATGGAAGCAAGAAAAGGCAGGTTCCGTGGGAAAAGCGAATTAAGGGCGTAGGATTTGGAAG CGGGGCTTGGAGGATGTGGGTCTGAAATGAAAGGGGGGACTAAGGGAGTAGGGAAGTGGGGCTCTTAGGCGGTGAGCCTG AGGGGACAGGGGCTCTCCTAAATGAGAGACCAATGGGAGGGAGCTGGGCTCTTGGAAGGCGGGGTCGAAGGGAGCGAGGT ACTGGCCTGTGGAGTAAAGGAGCCGCGAGGTGAGTGCGGCGGGGGTCCGGCGGGTGACGTACAACATCTCACCTGTCTTC GGCGTCGCGGCTTCAGCCTTCGTGTCTGGTCGGCTCCCGGAACTGCCCCCGGTGCGCCTGCGGCCACCGGGATCCCCGAA AAGCCCTAGCCGGGCGCTCAGGCCGCTGCCTTGGCAACGGCGTCGGACGCCGCGGTGCCCGCGGGGAGGGGCGGGAAGCG CGTCACGGCGAGGGGACGGTCCCGGAAGTGCGCCAGTCGT >NM_148674 TGCCTGTAGTTCCAGCACTTTGGGAGACTGACGTGGGAGGATCACTTGCACGCAGGAGTTCCAGACCAGCCTGGGCAACA TAGTGAGACCCTATCTCTATTAAATAAAAAAAATAAAAAATAAAAAAAAAAAGGCGGGGCAGGGGGACGGTGGGGAAGAC TGGAGTCTAAAGCCACACAATCCTAAACCAATAGATAAGCATTCAGGAAATGCTCACCAAAGTTTCATGTCTAGCTTTTT CAGTAGCTTCTTTTATCTTCTGGTCATGAACTTGAACATCCCAGGCTTCAGTGTCTCCCTATAAATGGAAAAACAGAGGA GAAGGGTTAGAGCCAGATCATTTTATTCAGTAATAACAATCCTACTTATTATTATTTTTAATCTCTGCCCCACTGTAAAC GAGTTGTAGAAAATCTGGCTCAGGGGAGGAGAACCGTTGGTGACTCCAGGCGAGCTCGAGAGGGAGCATTATTGGCCCTG CAGGAGGCCGTTTGCTGCCTCCTGGCTCAGATGTTTCATCCTAGAACTCATCTCCTTTCCCCCTCCACGCAGCCCCTCGC CCGCATCTGCCGCTCTAACCCCGTCCCGGCCCCTGCCCTTTCACCCCAATTATCCTGTTTCTGGCGTTGAAGACCCGCTT CTGCCTGCACAGCTCCGCGTGCCTCCTCTTTGCCAGGTTGGCGTCCTGCCGCAAGTCCCTGGGCAGCGCCACCGCCATGG TCTGGGAACCCATGGAAAGCCTAAGGGGTTTTTAGAACACGCAGGATCAGGAGAACAGGCGACGAAAATAAGGAAGCTGT AGCGCAGGCAAGGTCGGCTCCTTCGGTCGGGCAGGGGAAAGACAAGCCTTTAGCGCAGTTTTCCGTCGGGCTCCCAGTGA CGCCGCAGAGGTACAGACGCTCCCGCTCTCTCGGAAATGTCAACAACTCGTTGCTAAGGAACGGCTCCGCGCTTGCCGCG TCTCGCTCTCTTCTCGCGACACTTGGCGAATCCCTTCCCG >NM_001136029 GAGCCCCGGATGAGGAAGTGGTGCGGCCACCGAGACGAGACGGAGGCCCGGCGAGAGCGGCGCGGGGGCGCGAGGGCGGG AAGGAGGCGGGGCCCCGGGGCGGAGCCACCGGAGCGGCGCGGGTTCTCAGGTGAGCGCTACACGGTCGGGGCGGGCCTAG TAGGCGCTTCAGGCTTAGGGGCGGAACAGCGCGGGCCGCGCGGGCGTAGGCGGGGTATCTGGAGGAGGCGCAGGGAACCT GGAGAGGGTCCAGCCCTCAGTGCCCCGGCCAGAGGCGGGAAGGGGCTCTAGAGCTTCGGTGAGTGGAGCTGCCCGCCCCG GACTGGGGATTGGGGGGGCTTGAGATAGGGGACCTTGGCCCAGGTTCGAGTTCCAGGCTCCATCCCCATTCCGCTGTGTG ACCTTGGACAAGTCTCTCTCCCTCTCTGAGCCTCAACGGCCTCAGCTGTGAAACGGAGTCAGGGAAGGTCTGCTGAGAGT TCGCACAGACCGAGGTTTGGGGAAGGAACTTCTGCCTTCCTCCTCTTTGTGGTTGCCTTGCTCAGGACATTGGCAGCAAA ACGAGAATGGTGGGAGTGTCTCTTAAGTCTCGAGTGACCTTGAGCAAGTCCCTTGCCCGGAGTCACACTTTCATCATCTA CAAAATGAGTGGGCTAACCTCTTTTAAGATCTCTTTACTATTTGGGTGTTATTGGTGTAGATGGAGACAAGGTGATGAGC ACCCATTCAGCGCAATGCTTCCCCTATGGGGGTGTGATAGAATATCTTCTCCTAGGTTTGACTAGCCCCTGGCCCGAATT CCCCTTAGTTCCTGGATTCTGTGGTTCTATTTGTTCTCCATCGCTCCTTGTAACTGGAGGAGTGACTTCTTCCGAGAGTC ACTTGGCACCACTTCACAGCAGAGGAACACCAGTATCTTCACTGGCCTAAAATCAAAGAGTGGTTGCAAGGAAAAATCTG ACATTCCAACCTTTTCGTTTGTATTTCTGTGGCAGGGAGG >NM_152513 AGCGATTCTGCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGTCATGAGCCACCACACCCAGCTAATTTTTGTATTTTT AGTAGAGGAGGGGTTTCGCCCTGTTGCTCAGGCTGGTCTTGAACTTCTTTCTCTCTGTCTTTGGTGTTTTGTTTTGTTTT TTTACTTTTATTTTTTGGTCTTAAGCTTCTGATTTATTTATTTATTTTTAAGATGGAGTCTTCCTCTGTCACCCAGGCTG GAGTGCAGTGGTGCGATCTTGGCTCACTGCAACCTCCACCTCCCAGGTTCAAGTGATTCTCCTGCCTCAGCCTCCCTCCC AAAGTGCTGTGATTACAGGCATGAGCCAACTCACCCAGCCTCTAATTGCTTTTAGATGCGAATCCTTGGGATCGCTTATT TTCCTTTTTTTTTTTTTTTTTGAGATAGAGTCTTGCTCTGTCGCCAGGCTGGAGTGCAGTGGCACAATCTCAGCTCACTG CAACCTCCGCCTCCCAGGTTCAAGTGATTCCCCTGCCTCAAGCCTCCCAAGTAGCTGGGATTACAGGCACTTGCCACCAC ACCCAGCTAATTTTTTGTATTTTAGTAGAGACGGGGTTTCACCATGTTGGGTAAGATGGTCTTGATCTCCAGATCTCGTG ATCCGCCCACCTCGGCTTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCATGCCCGGCCTTCATTTTTAAAAAACAGT AGAAATAGCTTCCTTTCCTTCCTTTTTCAAGGCAAATGCCCCCTACTTTATAATTGCTTTTCAACTTTGGATGTGGTAAA GACATTCCTGCAGGGTTCTAAGCACAAACCGCTTTTGGCTTAGCTAGACACGATCCAGAGCACTTGCGTCCACCACTTGC CCTCAGTGGCTGCTGCTCGTCTGAGACTGCAGCGCCCTGGGTCCGCGCAGGCGCATTCCACACCGACGCAGGTCCGTCCT CCAAGTGCGCATGCGTGCAGTCTGCGCGGGAAAGAGTGCC >NM_080764 AGCCAATCGGGACAAACACAGAATGTGAGGTCCTGTTCCAGCCAATGGAAACCGGACACAGCAGTAGGGTGGATGCGTCA GGTTATAAATAACCCTGTATCCTTTGTTTGGGGTACTCTCGTGGCAAAACTGCTGGCGAGTGTACCCTTTCTGCAGAAAG TGAAAATGGCCTTGCTGAGAAAATTAAATTTATGTTCAAGTGCTATTTCTTTGCGGCACCAGGGAACAAGCATTTCTAAC AACTAGCAAAATTAGGACATATCTAATTGAAGGATAATGAACATATTACCAAGCGGACTGGTGAGACACAGTTAAACTGG TACTTAAAGGTAAATTTATAGCATTAAATACAAGAGAAACAAAAAAGTTTACAAGCAAACGAGGTAGGCATTTTTCTCCA AAAGTTGTAATGAGAAGTAACAGAACAAGCCTATGAAGTCACGAAGGAAGAAAATAACAGAATGGAAGAAATAGATAAAA TAGATAAGAAAATAACATTATAGATTAATTAAACCAAAAGCGATTTACCCGCCCCCCAAAAAGATTGCTAAAATAGACTT TTGGCAGAATTGGTCAATTCAAAAAAAAAATCAAAGCTGCAAGTAAACTGAGTGGGCAAACTTTCTGTAAAGGGCCAGAC AGTAAATATTTTAAGCTTTTCATACATGGTCTCTGGCAATTAATCAACTTTGCTGTTGAAGCAGGAAAACAGGCATAAAT AATACCGAAAGGAATGGGCATGTTTGTTGTTCCAATAAAACTTTATTTATGGACACTGAATTTTGAATTTCATATAATTT TCACATGCCACAAAATATTCTCTTTTTAGCCATTAAAAAAACGTGAAATCGGTTCTTAGCTTGCTGCCAGCTGTACAAAA ACAGGTGGCAGGCTGGATTCAACTGGCCCCAGATGTAACTAGAAGAGGACAGATGTTAGGTTCAGTTGTTTCCTCACAAT CCCTTAAGCATGGATAGTCAACAAAGGGACCACACCTGAG >NM_004147 CATAGTTCCTGGACGTCCTGGCTTCCTCATGACACTTGGGGAAGAGGAGTCTTTTGAAATTTTAAATTTTATTATTACAC AAGTAATACATGGATACATTCGTCTTGTAAAAATTTAACTTCAAAATTCTGTGGAATAAAATGTGAAAGGCCTTTTCTTT GCATCCCATCCCACAGTTAAGAGCTTCTGATGTATTTTTCTGTTTAGGCCTTTAAACTGCACGTTCATACACGTACACCT ATATAAATGTACATTTAATTTTAAAAATAACATAAATGGTATCACTACGTAGGTGCCCTTCTGCTAGTTGTTTTCCCATT TAACATGTCCTGGGTAGCCAGTCAGACCACAGATCTACGTTTTAACGGCTGTAATCATATTTCAAAAACAGGATAGAGGC ATTATTCATTTATCCATTTTCCTACTGATGGGTGTTAATATAGATTTCAATTTTTTGGTATTACAAACTATGTTGCAAGC AGCAGTTCTCTGGGAATTATCCATTCAAGTATGCACTTATTTTGGGCTCCCCATGTGCTCTACTCGGGGTTCGGAGTAAA CAAAACCGACCTAAAAATAATTTTGAATGATAGAAAGGGGGCATTTTCTTTATCCAAGGGGGTGAGGCAGGCTGAAGATG GGTCTCTACTCCCTCCAAGACCATGGAGGGCGTCGGGGTGTCACCCCAGCTGTGAAAAAGGGACCCAGGACCCGCAGATG CTGGCGAGGAACAGGGGTGCGGAGCATGAGTCGGCTTTGCACCACGCCCTGGGGTCTCCAGCACTGAAGCGTTCAGTACC ATGCAGAGCAGCTGGGAGCGGGTCCCGCTGGGCGGGGCCGAGCTGCGCGCGACCCTCGGCGCGCTCGGGGAGGCCCAGAC AGGGGTGGCCTCTCTGGCCTCCGCTCCCGCGGGCTCTATGACACCGCACTGGCTCGCGGGACGGGGCGGGGTCGGGTGAG GGGGAGGAGACAGCCCCACGCTTTGCGACTCGCGGTGACC >NM_001024939 AGTGCCCCCAGCATAAGTCGGACCTGCCTCTCACGCAATGGATCCCCTGGCGGCAACCCGAGACCGGTTCTCCTACCCGC ATTCCGCCAAGTCTCTCGCTCTGCCCAGGACGCACAGATGAGAGCGCTCCGAAGACTGGTGGGTCTATCTTTCGGTCTTT CCTAATTTTCCCGTCCTCTGGGGAAAGGTCGGGGATACCTGAACCAAAGTGTGTGTGTGTGGGGGGGGGGGGGTGTAGGT GGGGCGTGCATAGATGTGCACAACCAAGGGCTTGGCCCTCCGGAGAACGCCCAGGGGCAGTGGCCTCCGAGGTTCTGGCG GCCGGCAGTGGCGACCGGCGCAGGGAATCGCGCAGGGTTGCGGCTGAGGTCAGACCAGCGAGAGACAGAGACCCGCAGAC ATTTAGTCCAGAGACTGTAGCAAAGGAGGGGGACGAGGGGCCAGAGCCGGAATTTCGGGGGAGGACTTGGGAGCGCGGCG ACCAGAGTCGCTTGCTGGCACTTGCGAGGGCGAATGCAGGGGCTTGGCCGAGATGACCTTGGACCAGAGCTCCCTTCCGG CCTGCAGAGATGAGCTTGGGGCTTAGCCGAGTAAGGAGTGAGCGGCTTTTCAGCCTCAGTGCTGCGGCAGAGGCGGATGG AGGATGAACTGGAGCCGTCCTTACGGCCTCGGACGCAGGTGAGCTCCCAGCGGCGGCGACAAACCCCGCGGCGGTGACCC CAAACCCCCCCCCCGCGGCGGCGACTCCCCCCCAACACGCTGGGGCGAACTCCCCAGCACCCCCAGCCCTTCTTAAAAAC GCTGAGTCCGCGCATGCGCCTCAGGCGCCCTCCGCGACACTCTAGCGGCTCTGCGCTTCACTGCGCCTGAGCTTGAGTCT CAGGCCTTAGTCCCGGCCATCGTTTAGCGTTGCGCGAACCCTCAGCTGGTGCGGCCGCTCTCAATACCCACTGCGCTTGC GCTACAGCTTCGTCTCGACGGGTTTGCTCCTCTCAAACGC >NM_005008 AATATATAAATGGGCTGGGCACAGTGGCTCACACCTGTAATCCCAGTACTTTGGGATGCCCAGGCAGGAAGATTGCTTGA GGCCAGGAGTTCACGACCAGCCTGGACAACATAATAAGACAGTGCCTCTAAAATTAAAAAATTAGCCAGACGTGGTGGTG CATGCATGTAGTCCCAGCTACTTGGGAGTCTGAGGCAGGAGGACCACTTGAGCCCAGGAAAGTCCCCCTCAGAAAGATTA ATCGAAAAAATAAGGCCAGGCACGGTGGCTCACGCCTGTAATCCCAACACTTTGGGAGGCTAAGGCAAGCGGATCACTTG AGGTCAGCAATTGGGAGACCAGACTGGCCAACATGGTGAAAGACCTTCTCTACTAAAAATACAGAAAAATTAGCCGGGCG TGGTTGTGCATGCCTGTAGTACCAGCTGCTCTGGAGGCTGAGGCTGGAGAATCGCTTGAACCCCGGAGGAGGTTGCAGTG AGCCAAGATGCCACCACTACACTCCAGCCTGGGTGACAGAGCGAGACCCTGTCTCAAAAAAGAAAATGTTTAAGTAGGTA ACATGTGAAGGAGACATACTCTATAGACATTAAAAAGAAAGGATGGCCAGGTGCGGTGGCTCATGCCTGTAATCCCAGCA CTTTGGGAGGCTGAGGCAGGCAGATGACCTGAGATCAGGAGTTCGAGACCAGCCTGGCCAAAGTGGTGAAACCCCGTCTC TACTAAAAATACAAAAATCAGCCGGCCGTGATGGCGGTCACCTGTAATCCTAGGTACTCAGGAGGCTGAGGCTGCAGTGA GCCGAGATCGCGCCACTGCACTCCAACCTAGGCGACAGAGGGAGACTCCGTCTCTAAATAAATAAATGTATGAGGAAGAG AAAAATAATATGGAGGTCTTCCCTTGACCTCCCCCAACCCCCTTCCTTTAGAGAACTCCTCCATCCTTCACCTAATTCTT CCTAGTTGTCCTGGGACCAAGACAAATTCGCCTAAGATAA >NM_138433 GACGGGGCCGCCGCCCTGGACGCCCACGCGCGCGGCCTCCCCACAGGACCCCCACTCGCCCAGGAGCCCGCACTCCCGGC GCTGCCCGCTCCCCGCGCCCTGCAGCCTGGGTCTCAGACGGAAGGCTCTGGGGCCAAGGGTGGCTGGAGCAGGGAGGCCT CGGGGGTCCCTGCCCCCGGAGGAGGCTGGCCCTGGGTCAGCAGGGAGGTCCCGGGCACCCGGAGCTTTGGCCCAGCCCCA GACTCCACGCGCCCCTGGCTAGAGAGTCCGCCTCAAGGTCGCCCACTCTCGTCCCAAGGGCCGGGTGCCACAGGGGCCTA CGATGCCGGCGAGGCCGGGGCTGACAGCTCCCGAGATAACAGTCCTGCCGCTGACCTGGGGCCCACCCGGCCCCCGGAGC AAGCAAAGCCGGCTGCAGCCGGCCACAGCCGCGCGCCCTCCCGGAGCCGTGAGCCTCGCCCGCGCTCCGCCTCCCCGCCC GCAGCTCCCGGCCCGGGGTTCCCACCTGAAGCCCTGACTCTCCCCTCTCCTTCAGACTTTTTGCCCCTGGAGGTTACCCA GGATCCTTCCGTGGGCGAAAATCTCAGAGCGGCGCCAGCCCCAAGTTCAGCCTCAGCCCAAGTCTTAACTTCAGCTCCAG CCTCAGTCCTAGCCCCAGCCCTGGCTTCATCCCCCAGCTCAGCACCAACCTCAGCCACCACCTCAACCTCATCCCCCACC TCAGCCCCAGCCCCAGCTCCAACCTCAGCTCCAACTTCAACCCCAGCCCCAGCCCCAAGTCCAGCTGCAGCCGCAACTCC AGCCCCAGCCCCAGTCCCAGTCCCAACCCTCACACCCCCATCCCCAGCCCTAACCCCAGTCCCAACCCCAGCCCTAAGCC CAGCTCCAACTCCAGCCCTAACCCCAGCCGCATCCCCAGCCCTAACCCCAGTCCCAACCCCAGCCCTAAGCCCAGCTCCA ACTCCAGCCCCAACCCCAGCCGCATCCCCTGCCCCAGCCC >NM_015330 CTCCTGCCTTGGCCTCCCGACTAGCTGGGATTACAGGTGTCTGCCACCGCGCCTGGCTAATATTTTTGTATTTTTAGTAG ACACGGGTTTCACCATCTTGGCCAGGCTGGTCTTGAACTCCTGACCTCGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCT GGGATTACAGGCCTAAGCCACCGCGCCCGGCCGGGCACATTCTTGTCTGCCAACTCCAGGTGCTTAGGCATGTGGACATC CTTCTTGACCACCGTGACTTCCTCTTTAAAAAGGAGTTCATAAATGGCAATCCGGTTTTTCTTAGGCATCAGCATTCTGG GGAGGAGCAGCCGCTAAGGTGGCAGGGTGGCCCGGATGGGGGCCGATGGAACTCGAACTCCCCCAGAATTTCTTTAATAT TTTATATATATATATATATATATATACATATATATATGTATATATATACACATATATATACATATATATATACGTATATA TATATGTATATATATACATATATATATACGTATATATATATACGTATATATATATGTATATACATATATATATACATATA TGTTGCTCGCTTATTCTTTTTGTCTGTTCCCTTATGTACCGGGAGTGCCAGGAGGACAGGGCTTTGTGTTTTCCTCACTG CTGTCTGGCTCATGCATAGCACAGTCCTTGGCACACGGTAAACACGCTGAGGAGAACTTTTGGGACTAGCGGACTCTGAG CATCATTCCGCTGGGCCCAGTGGGGCCTCTGAAGGGACCCGCCTTGCCCGGCTCCAGCCCAAGACCTGAGGCATGCGCAC CGGCTGGCCGGCTACTTTCTTGACCGGCCAAGTGGCAGAGCGGCTGCGCGACCCAGTGCCGAGACGGACGCGAGCCGGAG ATGGGGGAAGGGGAGGGGGTGGTGGTGGGGGACGGCGGCGCCTGCGCAGTGAAGGAATGTAGGCGGGGCCTCCACGACGC CTGCGCAGACGGCCGCAGCCCTGCTGGGCGCGAAGGGGCT >NM_017414 CCATGAGTCTACATACAAGAAATACATCTCTAAAGAGGTAATAAGCCTTTCCGGTGTGCATGTTACAGATCTCTTAACCT TATATATACACAGATGGTCCATCACTTACCGTGGTTTCACTTACGATGTTTCGACTTCATGATGGGTTCACTGGGACTTG ACCCCATTTTTTTTTTTTTTTTTTAGACGGAGTCTTGCTCTTGTCGATCTCTGCTCACTGCAACCTCCGCTTCTTGGGTT CAAGTTATTCTCCTGCCTCAGCCTCTTAAGTAGCTGGGATTAAGCGCCACCACGCCGAGCTAATTTTTGTACTTTTAGTA GAGATGGGGTTTCACTATGTTGGTCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCTGCCTCAGCATCCCAAAG TGCTGGGATTACAGGTGTGAGCCACCGCGCCCCCTGACCCCTTCTTAAGTGGAGAAATATCTGTATCTGCATGCCCACAG GGGAGCTCCTAATTACACCATGTGCCGCATCCAAGCCACAGGCCGGTGATGTGAAGACACCCGATCCAAGAAATACAATA GCATTAAGAAAGAAAAAATGCTGCCATGGATACTACCAAACGCCAAATGACTCTAACACGTAGGCTAATTGCAAGGACCT TAAAATCGCAAATAAAAAGGCGCCTGTAGGTCGGGCGCGGTGGCCCACACCTGTAATCCCAGCACTTTAGGAGGCGGGCG GATCACCTGAGACCAGCCTGGCCAGCATGGCGGAACCCCATCGCTACTAAAATACAAAAATTAGCCAGGAGTGGTGGCGC ATGCCTGTAATCCCAGCTACTCCGGAGCCTGAGGCAGGAGAATCGCTTGAACCCAGGAGGCGGAGTTTGCAGTGAACCGA GACAGCGCAACCGCACTCCAGCCTGGACGACAGAATGAGACTCCGTCTCAAAAAAAAAAAAAAAAAAAAAAAGCGAGGGC TGGAAGTCTGGAGCAGGTGCGCGGCTGCAACGGCAGCCGC >NM_015715 GTCACTGTCCTGGCCAGCCCTGACTCCCATCCAGATCCCCAAGCGCTGCATTCCCATCCTCTAAGCCCTCCCCAGCTGGA GCCTGTCACCTGAGGTTTTCCCACCCTCACTGAGCCTCAGTTTCTTCATCTGCACTATGGGTGTAAGCACCCTGGCCTCA CTAGATGGTTGGAAGCTGGGCTTTGGGATCCAGGAACAATACCTGGGTATAGCCCCTTCCTGATGGAGAGATTCCTGTCT CATGAGGCACACATGATGCCTGCTGTGTCCCCCCAGGTGGCCAGGGATGGAGGTGGCCACAGACATACACCCTGGGCCAC TCTCTGCCACTCTAGGGACCATAGTTCTTTCAAATCCAGAGCATCAGCCCTGCCCTGTGTGGCTCTCAAGGCCTGTTCCC GCTGCGTCTCCCCCAGTTATCAGACCAGGAGGGTTGCTGCAAGGCCAGGCCCATGCTTGGAGTCCTAGGAAGCGGGGAGC CCTGGGGCTCTGTCCCCTGAGTATGCCGAGAGCCTTTCTAAGAACCAGGACTTGGCAGGGGAGCACCCCAGGTGGCACTC CCTTTCCCAGAAGCCTTGGGAACTCCCAGGGTGGTAGCTTCAGAGCCCCAGCCCTTCCTTCACCCAGCCCTGGCAGAGGC CCATGGCCCCCTGCCAGCCTGATGGAGGTGGATGTGGCAGCCACCGCTGTGGTAAGGGTGAGAAGGGTGGGTTCTAAGGG ACTCCTCCAAGCTCCTGAACCCTTTTCCTTCCCTTCAAGGAGATGTGAAAGCCCCAGCCTGGTCCCCATCCCACAGCTTA GGGCTTTGGCTCCCATAGTCCCAATCTAGGCAGGGCTGGCAGCAGGTGACTGGATGGTGCTGAGAAGGCAGGCAGAATGG GGGCGTGGGCCCTGGCAAGTGCACTCCTCAGCCAATCAGCGTCCTGCCCGGCTGGTGGATTCGGTTACAAGCCCAAGATC ACCCCATACTCCAGCCTCTTTCCTCCTCCTCCCGCAGCTC >NM_002969 CAGTGGGCTCCTGGGGTGCCCCAACATCCCTTCTGAGATCCAGGTTCCTGGGCTGGTGAAGGGGTGTCAGGGTGGGGCTT TGCCCTCAGGAGCATCTGGTCCAGGATGGGGCCAGACCTATGGGAGGACAATGCCCACACAGAGGGGTCAGGCGGAGGGC CCCAGCAGGTCCCCATCCCTGCTGGAGAGAGTGCAGCCACTCTCAGCCTGGGTTTTGCAGGACAGGACAGGCAGGGGTGG GATGGGCAGAGACACCAGTACTTGCAATGCTTGGAGCAGGCACCCCACAGATGGGGGGAGCAGGGGGAGGAGCTGGGGGT CCAAAAGGGCCCACGGGGACCTATGGGACTGAGAGGCCCGGGGTCAGTGGCCACAGGAGTGGGGTTGGGGATGCAGCCTG AGGAGTTTGGGGGACAGACCCCTCCGTGTAGAAAGAGGGATACAGGCAGGACAGGTGCAGATGGACCCCTTGTTGGGGGA CGGATGGATCAGGCTCAGTGGTAGGGCATCCTTGGGGGTGGCCTGCGAAGTTGACCCCGGGAACACAGGGCTCAGCCCGA CTTGCGGCTGCCATAGAAGTCAGCGCTCAGGCTGTCAAGGATGGGCCCTGCGCCCTGGAGCCGTGGGGAGTTAGGACTGG AGCGGGCGGGGGGGGGGGGGGGGGGCTCCTGCTGAGACCCCCCCAGGGCGGGGAAGTTCAGCCAAAGGGGAGAGGCTGGC AGAGGTATCTCCGCGCCGCGTCCGGCCCTTTATGGGGACGAAGCTGCGGGGCGGCGCTCCCCTCCCCCTGCGCTTCCCCC CAGGCTCCGGCCCTCCCCAGGCTCCGGCCCTCCCCCGGCGGCGGCCGCCTCGGGTTTCCGGAGGGGCCGGAGGGCGGGCG AGGGCGTCACGTGCGCGCCGCCCGCGGGCCGGTTGGTCCCCGGGCGGGGGAGGGGCCGTGCGCAGCCTGGGTCGGGGTCG GGCCGGGGTCGGCACCTGGGACATCCCTGAGGGAAGGGCC >NM_021974 GGTAACTACCACCATTCTTCTCTCATCCTTTAACTCAGGGGTCCCCAACCCTCCGTCCGTGGACTGGTACCAGTCCCTGG CCTGTTAGGAACCGGGCCGCACAGCAGGAGGTGAGCGGCAGGCTAGCGAGCCTCACCGCCTCCTTTCAGGTCAGTGACGG CCTTAGATTCTCATAGGAGCGCGAACCCTATTGTGAACTGCGCACGCGAGGGATCTAGGTTGCACGCTCCTTATGAGAAT CTAACTAATACCTGATGATCTGAGGTGGAACAGTTTCATCCCGAAACCATTCCCCACACCTCCGTCAGTGGAAAAATTGT CTTCCACGAAACCGGTCCCTGGTGCCAAAAAGGCTGGGATCGCTGCTTTAACGGACTGACCTCTGAGCAGCTCGCAGGTC CCCGGGGTGTAAGTGATGGTCTTGGGGCGGCGCCGGAACCCAGTTCCTTTGGTCACTACCTCCATCTGCTTCTGTGAAGC CATGGGAGGACTCTGAGGAGGGAAAGACGCAATGACACACCCCCTGTCTCCTGTCCCTAATCTCTGTTCCCCGACGCCCA ACACCCCCAGAAGTCTGGAAGCGGGGATCGAGCCAGAGAATGATGCCGCCAGTTAATATTGCGACAGTGCCCAAACCTCC CATCCAGACACACAGATACACACACACAGTCCTCATTCTGACCCAGCGCCTGTGGCAGGGAAGTCTCCTCGGGAGGGAGT GTTAACACAGCCATGGTCACAACAGTACCCACTGAGTGATATGCCAAAATTGAAATTTCACCCTAAGACCCTCTCTGGGT GCTCCCCTCTCCACATAGAAGTGGGCTCCCGGAGGCGGTGACCACTGCTTTACAGCCGCATCCGCACCGGTGCCACGCAG AAATACTGCGCGATCTGGGCTGCTGGAGCTGGCAGCTAGCGCCTCTCGCTACTATAGAAACGCGCACACACCAGTCAGCG CATGCGCACTTTCCCCGCTCTGTCCTGCCTCCCGGAAGTG >NM_052906 GGCCTCCGACATGCAGCTCGCAGGGCCTCGGGAGGAGGTGCTTGCATGCCCAAGCACCAAGTTATAGGCCCCGGGTGCCA GGCTTCTTGCATCTTCCACCTCCTCCTCCTCCTCCCAGCATCCACCCCTTTGCAGGTGGCAGCAGGTGGCAGGGGCTTTG GCGTAAGGGGCGGGGAACTGGGCCTCTGGAAGCCTAATGAAGGTTCTCTAGCTACAGATGAGCCCAGTATCCCTTGGAGT TACTCCTGGAGGGGTGGGGAAAGGCAGTGAGTGCCCTGGCACAAGGTAGGGGAGCGTAAAGTCTAATACTGTCTGTAGGC TCCCTGTGTAACCTTGGGGGAATCACTCCTCTCCGAACCTCAGTTGTCTGGCCTGTAAAATGGGAACGCAGCAGCCGCAC TTCCCCAGTCGCCAGCGGTTGAACGCGGGACCAACCAGCAGGGCGCAGGCGGCAGGGCATGGAGGTACAAGGCGGAGAGG GGGCCCATCAGCGGAGGCGGAGTCCAGGGGGAGGGCGAGTCCAGGCGCACTTCGGGCGGCCCCGCCGCAAGTTTGCCCCC AGCTGTTGAATGCGCTGGCGGAGGCCGGACCCGGACCCGGACCCGGATCCCGCGGGGTGAGCAGCGCAGGGGGCCGCGGC CGGGACAGGGGTCCGCCAGGCCGGGGCTCGGGTCCGTGGGGCCGCCTTCGCCTCCCCGGGCGCTGCAGCTGCAGCGGCGG CGCCAGGCGCGGCCCCAGCCCCGCGGGCGTGTGTCTGCGAGCGCGCGTGTGTCCGTGGAGCGTGCGGCCGGCTCGGGGGC GGGAGCGGGCTTGCTGCGGAAAGGCCTGCGGAGGGCACCGGGAGCGGGCGGGCTGGCGGACGGACAGACGGGGACGGACA GACGGACACAGCCTGCCGCGGTCCCTGACGCGCGCCGTTTGGCCCCTCCCGGGCGCCCTCCCCGCCGAGGCAGGGGCAGA GGCGCGGCGGCGGGGAGGAGGGGGCGGCGGCGTCTGCGCG >NM_152511 CCTTTCAAGTAATAAATAATGGTTATTTTGAACCAAATTGCTTTCCACCTCAAGTCCTCCATGGATGGGAGCCTGGAGGA TGCAGTGATGGGGGTTATGGAATGGAAAGGAGCGTGGGTAATTGGGTTTGTGAGGATTGGGGCCAGGCAGAGGGAACTGG GGGCTTTTCCAGGACCACTGGGGAACACAGAGGCTGAGAAGGGGAGTGTGGGATGGGTTCGAGCTGGGGAGGACCTCGGC CTCGCCAGGCTCTAAGGAGAGTCACAGCTCACCACCTAGGGCGCTGGGACCACACGATGTCATGCCTGGGAGACTGAAGG GCTAGGACAGATTCTGAGAAAATGTGGACTGGAGATGGGGATTCCAGGTTCTCCCGGGAGTCCAGGCGAGGGAGTTCCGG CTTCAGGGAGTCCCAAGAGCTAGACTGGGAAGGGGCTGGTGCCCAGGACTATGAGAAATCCAGACTCCCCTGGGGTGTGA AAAAGGGCCGAGGTCCGGCTGAGGGAGAGCGAGTCTGAAAGAGTTCGGGCTCCCTTGCGGGTCCGAGAGTCTAACGAAGG CTCTGGGCACCCAGGCCGCACCTGAAGAGCACCAACGACTGCTCGGTCCGCGGCGCGGGAAGGAGATGTGCGGCTGAACC CCTACGCCGATTACTTAGCGGCGGCCCTATCGAGAGGGTGGTTCGAGCCCGAGGTGGCGCCGGTCCCGTAAATCGTGGAG GATCTCAGGTCCCCTGTGACCAAGGGCGTAGTCAGCTGTGTCATGGCGGCTTCCCTGTTCGAGAAACAGTTGGAAACTGG AGGCCGGTTGGGAGTCATGGTCGTTGGGCGCACGGAGGCCGGTTGGAAGCCATGGTCGTTGGGCGCCAGGAGGCCGGTTG AGAGCCGTGCTCGTTGGACGCGCGCAGACCTGGAGTTAGTCCCTGGGCGGAACCTGGAGCCCCGCGCGGCGCGTTGCCTG GGAGACGCATAAGGGGGCGGGGCCGGGGAGGGAGTGTCGC >NM_006487 TTACGTCTGTGAGATTTACCCGTTATGTGAGTTGCGGATCATTCACTCCTGTTCCGTTTGTCGTGCTCCTAAGCCCGAAT ACTCCACGATATTCATCTGCCTTGATGACGCTAGGCTTCCCAATTGGAGGAATTATGAATGTGCGGCTACATGTCTTTCT GTCTTTTGGAGCACATGTTGTATGCGTTTCTGCTGAGTGTAAGGCTGGGCGGGGCGTCGGTGGCTCAAGGGGTCCATGGT GAACTCACAGGAACACCGCTTTGAGCTGCCCAGTGGCGTTCCTATGCGTCTCATCCAGTTCCTCCGCATCTTCACCTGCA CCATTTTATTCTTCTTCTTTGGAAAATAAATCTACTTGTGGTTCCAAAGCCTAACTCATCCTCAGTAACCCCGGTAGCTA TGAATTCCTATACAAGAGGCTCCCGCAGGCCCAGCGCCAAAGCTGCCTCCCCTGCAGCCTCGGTGACTTCCCGGGTCTCT CCCTCCGGCCCTGGTGTCCCGGGTGAGCCCAGCACACGTTGGGATTTTGGTTGTTTGTTGGCCTGGCCCGACTGTCCCTG TCTCTGAGGGCAGAGTCGGGTCCCATCCCGGGACACGCCTGGGGTTAGCCACCGACCTGCAGCCTCCCGGCCGAGGGTGC GGGGTTGGCGGTAAGGCCTGCCCCAGTGCCCCCCAGCAGCCGGGCCTCCGACTGCAGGCCCGGGTCCCCGCTCCTCCGCG CGGAGTCGGGCGGGGATAACCTTTGATCCCGAGCCCTCCCCTCGAGAGGGGGTGGGGGGAGGAGGGGATCGGGTTTCACG GAGTGTTGGGGGATAGGACTGGGGGCATCCGGCCCGAAGGCGCCCCCTCTGTGCCCCCTCCGGGGAAGTCTGGGATCCAG GCCCTCGCCCCCAGCCGTGGGCGCGCGCCCCTCGCAGCCGGGGTCCGGGGAGGGAGGGTCCCGGCAGGGGGCGCCGGGGA GGGAGGACCAGGAGACCCGCGGCCCCGCCTCCGCCGCGCC >NM_138338 CCAAATTCTCTTAGCCCATGCTATCACGTGAAGATGAATGAGACTGGAATGTCAGCGAGACAGAGCATGATGGGGCTATA GGAGGGGGGTATGGTCAGATCTTGCAGGGCCGTGTGAACTACCATAAAGGTTTTGGACTTTTCTTCTTTCTTTCTTCTTT TCTTTCTTCTTTCCCTTTTCTTTCTTCTTTCTTCTTCTTCTTCTCCTTCTTCTTTCTTCTTCTTCCGCCTCTCCTTCTTC TTCTTTTTCGTTTAGACATGAGGTGTCACTGTCACCCATGCTAGAGTGCAGCATGCAACCTCAAACTGCAACCTCAAACT CCTGGACTCAAGCGATGCTGCTGTCTCAGGCTTCTGAGTAGGTGGGACTACGGGTGTACACCACCACGCCCGGCTTGGAT CTAGTATTCTAAGTTCAATGGGTTGTGTTTTTTGTTCCAATTTATTATAACTTTTCAATTGGAACATAATGTCTACAAAT AAATGCAAAAATCTTGCCGAGTTCAATTAGTTTGGACAATTATATACGTCAATGTTATACCACCGAAAACAAAATACAGA ACATTTCCATCATCTCAGAACAGTCCCAAGTGCCCCTTTCCTGCTAATTCTCCTTGTCTCCGGAACACTTAAGGGTGCTA AGCATGTTATGTTTGCGGTGGGTTTTTTTTTTAACTTAGATGTGGTAATATATGTTTGCGTTTCCAAAGGATCACTCTGG CTGCCGAGCAGAGGACAGCAATGCGGGTAAAGCACAGGCCAGGCGAGGGATAATCAGGCGGGATTGCACGGAGGTCGCCT AGCAACAGAAAGCGCTGTCGGGGGCGGGGGAACCGCTCTGCTCCTGTGAAAGGAGGAGGCCCCGCCCTCTCCTCGCCCTC TCTCTGCCCCACGCTGTGCGCGAGCACACAGGCAGCCCCGCCCCGCCTCGGCGGGGTGGGGGTGGACAGAGGTTTCTTAT TGGTGAGTTTTCCGGAAGCGATGGATTCGGAATCTCGCCC >NM_001001479 CTCAGAGGGGCCAGGGCCTGGCCTAGCCTGGAATCTGGATGGACCTCTTCTGCCCTGGGGCGCGCCGTTTACCCAATCCT GACCTCAGAGAGCGTCTGTCGTTCTGGTGGGAAAACCGAGACCCAGACAGGAACAAGGGCTCAGTGGCAACCGCTCTGCC TCCCAGCCCAGGGCTCTGTCTTGCCGGGGCTGGGGCACAGGGTGGACCCCAGGAAGTTCTGCTATGAGTCAGCTTCGAGT GCTCAGGGGACCGGACAGAGGCTGCTGGCCGGGGAAGGATGCCGGCCGGCGGTACCTACTTCCGCAGCTGTGGGTATCCC TGCCTGGTGATTCAGCTTCCCTCTGAGGGTCCCCAGGGGGCGCCGCCCTGGACTGGGAGGCTGGGGAGGATGCTGGGGCT ACGGAGGGGCGATGGAGGTGCCTTAAGGGACCCCGTAATCCAGCTCTGCTGGATGCTGAGGTCCCACGAGATAATTGTGG CCAGAGATCAGGTGGGCGTAAGACTGGTCCTAGGATGGGGGCTGTGGGCCCCTCCTCACTACCCTGCTTCTTGAAGATAG CCTGGGCGGCTGTGCGGGATACCCCAGTGTCTCCAGCAATGCGCGTTCATCTCCATGGAGGGCTCGCCTTGGCGCTGGGT GGGGAGCGACTTGGTCCCCCCTGGCGGCGAAGAGAGGCTGACCACGCCAGCTCGTGGGGGGGTCTACTGGGCAGATGCGC AGGCCCCGGGCGGAGGAGGGCTGATGGGGGAAATGCCAGGCCGATGGGGGAGGGGCTGTGAGCGGGAGGCGTTGGGGCGG GGCAAGACCGCCCTCCCGGTCCGGGGGCGGGGCTTGGCCTGGGGCGGGGCTTGGCTGGGGTGCTCAGCCCAATTTTCCGT GTAGGGAGCGGGCGGCGGCGGGGGAGGCAGAGGCGGAGGCGGAGTCAAGAGCGCACCGCCGCGCCCGCCGTGCCGGGCCT GAGCTGGAGCCGGGCGTGAGTCGCAGCAGGAGCCGCAGCC >NM_001159554 CAGGCCGCCGTCGCCTCTTCCTCCTGCTTTTTATCCTCCCCAGACCTCTGGCAGGAACCGCTCATCGTTACGCCCCTTTC GCAGCCTCAGACCCTGAGGCGGAGACCGCTTGGCGCCTCACTTAGAGCGCGACCCGGGGATGTGGGCGGAGTCTGCGGCT GCGCTGACCAATCGAGTGTGGCGTCCATCGACTGGCGTCTGCCACGGCAATTAGCGACGCGCTCCCCCGCGGCGGTCGCC CCGGCAACCCAGTGCTGTAGGTTGCCGTAGAAACCGTGGCTCTCCTGCGCTGAGGCTCCTCGCCTGAGAGGATAAACTGC ACGCGCCACGGGCTATGCACTGGGCTGGGCGCCTTGTGGGCATCCTCCCTGCCTTCCTAGGGGGTTCCAGCATCGCCCCC CTTTCGTGGACTGGGAAACACGCCTGACTCCAGGACTTGTGTTGTCCTCACTGCACTGGGGAAGGTGGCGGGGGCAGCTT TTCAGGAGGGCCTGGGGAACTTCGCAGAGCCAGGTCACCCTCTCACTCTGTGCCTCTTAGTTATCTTGCATGCTCTGGTC TTTGCATACGCTGCTCCCTGCACCAGGAACCTCCATCCCCATCTTTGTCTGCTTGTCGAACTTCAGAAATCTGCAAGGGT CAGCTTAGAGGTCACTTCTTCCGGAAGCTTTCCTCAACACCCTCCCCGCCCTGCTGCTGCTGCCCTCAGGCCCTCCTCTC ACAGCACTGATAACAGCTGTCCGTCTCCACCCTCCCACCACCTCCACTCCCACCCCAGGAAGTGAGGCCAGAGGGCAGGG ACAGAGCTGCTGCTGTTCTCTGTGTGCCAGGGCCCAGCAAAGGGAATGTAGGGAGGGTGGGAGGTGCAGGGCAGCTGGGA TTAGGGGTTGAGGGCTGGGTGTTGGAGGCTGGATCTGGATCCTGCTTTAGTGGAAGTGTCCCTTTAACAGCAACTGGCCT GGCCTGGCTCGGGCCCTGCTTTGCCTCCTGTTCAGCTGCG >NM_000185 AACACATAGGGCCAGGCGTGGTGGCTCACGCATGTAATCCCAGCACTTTGGGAGGCCGAGACGGGAGGATCACTTCACTC CAGGAGTTCAACACCAGCCTGGCCAACATAGTGAAACCCCGTCTCTACTAAAAATACAAAAAATTAGTTGGACATGGTGG TGTGCGCCTGTAATCTCAGCCACTCAGGAGGCTGAGGCAGGAGAACGCTTGAACTTGGGAGACAGAGGTTGCAGTGAGCT GAGATCGCACCACTGCACTCCAGCATGGGCAGCAGCGCGAAACTCTGTCTCAAAACAAACAAACAAACAAACAAACACCC ATAAACACAAAATGTATCACAGCCTCAGAGATCCCCACGAATGCCTAAGTGGCCCTGAATTTGGGAGGCACTGCTCAGTA ATAGTCCTATCTGTCCCACAACAGACAGGAGTGCTGGGCTGCACCTACTGGCAACAAACACAGCAACCCTTGACTGAAGA AAGGTCCATGCCACAATCCCCTTATTCTGTAAGCCACTAATTTTGTCCTCTCTCCTCCACCTTTCACTGAGGAACGAGCT CTTGGAAGGACAGGGACACCCGCCTAGTAGCTGAGCCAGCCACATCAGTCCTGGAGAGCAGGTGGAGGGCAGATGCTGTG ATCATCCCAGAAGAGAGGACACAGTTGGAGGCAGATGCATGGTCTCTACTTTCAGCTACCCTCAATGCAGCCTGGTCCCC AGAGGCCTGAAGAGCGCCTTGTTTATGTGGTGACCTCAAGAGGGGCTGCTCCTGCACCAAGGCTATGTGTGCATGCTAAC ACAGTAACCGTCATATACTCAAAGTGTCAGCTCTAAGAACTGGAGATGAGGAGCTGCAAGCCACTCTACAGTTATCAAAG GCACAGCTGAGGGGGTTTGTGCTGACCAAGCTGGTTGCCTGGTGTTTGGATTGGGACTTATTTACTTTGGAAAATATGCA GCAACAGCCCAGCACCAAAGTTCACATCAAAATCCCACTG >NM_001135911 ATAGTCCTACTATATACAACACCCCAAAAAACCTCAAATGTAAGAAAAAGCAATGTGACAGATTTGACCCTGGCCAAGTT ACACTGTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTAAGTGTCAGTGTTCATAAAGGCCCTTTTTCTTTTTCAAGGA TGGGTATAAAGTGTTACTCGGCCGAACGCGGTGGCTCACACCTGTAATTCCAACACTTTGGGAGGCCGAGGCAGGTGGAT TACGAGGTCAGGAGTTCAAGACCAGTCTGGCCAACACAGTGAAACCCCCGTCTCTATTAAAAATACAAAAAATTAGCTGG GTTGTGGTGGTGTGCCCCTGTCACAAGGTAGTCTTGACGAATCACTCTGCTCTCTCTCTCAGTTTACTGAGGCTGCCTGG GAGCTGTCAGCCAAACAGGAAGAAGGGCCCTTCTGCCTAACTCCAAAAGGCCTAAGTCAAATGGATATGGTGAGATTTAA TGATGGATATAAATTACAGCAAATGGATTTCCTATAGAGTGAGGGAAAAAAAAAATCCAGCTACTCCGGAGACTGAGGCA GAATTGCGAGAACCCGGCAGGTGGTTGCAGTGAGCCGAGATTGTGCCATTGCACTCCAGCCCGGGCGACAGTGTGAAACT CTGTCTCAAAAAGAAAAGAAAAGAAAAAAAAAAAAACTATTACTCCACTCCCCACCAGAAACTCTTATTTTTTCCCCCCT ATGTGGTCATGAATTCCTCCTGGGTGCATAGCTCCCTAAGTTGTTCTGTGTTTTAGTGCTTATAATTTCCCACATCCCAT GATGCCCCTTGATAGAATTATTTTTTCTGTACTCACACAAATGGAAACAGAAGAGATGAAAAACCCTGGGGATGCGGCCT CGCAGGTCTCAAACTGATCGGCTGCTAAGCACAACCTGCATATCTCTTGGCTGAGTTCCTTTCTTGGCTCAGTTAGATTT TGCATGACCTAGGAGGCTTAGGACCCAGGGGGCGCCTTTC >NM_001171660 CTCCGGGCAGCCCCTGTTGTTGGGAGCAGACACTGGAAGGAAGGTCCTTGACTCTCATCTGCTGCCCACGGCGAGCCTGG CCTTCTGAGCAGTGCTTGACTCCCAGCTCAGCCACGGGAGCTGCGTATGTCCTCTCTGAGTGTGGAACAGGCGTGGAAAC AGCCTGGAGCCGGATCCTAAGCCCACCTCTGAGGCCTGTGCTCTTGGAGGACAAGCGGGCTTTTCTGACAAACAGGACAG GCTGTGCCGCGCCCTCATCCAGGAGTCTGGGCTCTTGTCCTGGTTCTGGAAACTTCTAGGCAAAATAAAAACACTGGGAG GGTGGGAGCCTGTTGTCCCTTCACTAATTCATTCCACAAATATTTGTTGAGTGCTTTCTGTGTGGAGTGTTGGGGATACA GTGGTGACGACAGACACAGATCCTGCGGTCTGCTCCAGGGCCACTTCTGGAGACTTGTGGGGAGCCGGCAGCCTGGGGTT GGAGGCCAGCATTCGGGGACTTGCCATCGGAGCCACTAATACGCGGGTGTCTTTTTCTTGGCCCAGCGCCCACCCAGGCT CACTTCCATGGGTTTAGGTTTAGGGCAAGGGAGGGAAGTGGGAAAGCAACAGAAAATCAGAAACCAGGCTCCACCCTGGG CCTCCTTGAGCTACATTTGTCCCCTCATTGTCACACGGGGAGCCTGGTTGTTCCCACCTTGCACCACTGTGGGAGGGCCG GGGAGGAAATGGGGGAAGGTGCCTCGCAGCCCGTGAAGCCAGCTGCCCGCGGAGGGGCCTTAAGCTGGGCTGTGCACTGA CGCAGCTGTGCTGGAAAAACAGAACTCCAGGGAGCACCAAGCACAACCCCAGCTCCTAATGTCATTCAAGTTCATTGCCA GGGCCCCCAACAATGGTGATTTCCTGTGAATGTAACTTCGGCCAACTTTTTCCCTAGACTCTATTCCACGTGGGCGTGGT TTCTGTGACTGAGGGAGAGGTCGATAGCAGAGGAATCCTC >NM_001199562 GAAAGTGCTAAGGTATTTCCTGAGACTGGCTCAGGGTGTGTTGCCAGACAACAATGCACACATTTTTAACACAATACTAA ACTTAGTATATTATACTTATGTTAAAAATTTCGGAGCCGGGCGTGGTGGCTCACGCCTGTAATCCCAGCACTTCGGGAGG CTGAGGCGGGCAGATCACTTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT ACAAAAAATTAGCTGGGCGTAGTGGCGGGCGCCTGCAATCTCAGCTACGCGGGAGGCTGACGCAGGAGAATCGCTTGAAT CCGGGAGGCGGAGGTTGCAGTGAGCGAGATCGTGCCACTGCACTCCAGCATGGTCGACAGAGCGAGACTTGTCTCAAAAA AAAAAAAAAAAAGGACATGTGGTAATTCCCCTAGGGAATTTGGCCTTAGTTGTGAAAAATAAAAAAGCTATAATCAATTT CTGTTCTATCGGAAAAAAATGTATTGGCTGTTTAGCTGAAATTCAAATGTAACTTAACATCCCGTATTTTTTATATGCTA CATCTGGCAACCCTGGCTTGAGGCTACCTGGCAAAAATCAAAACAGGTTCCTCCTTGTTATGCCCTATGCCTCTGTTGCC TTTATTTTTATCTTTACGAGCAATCATTAACAGTAACTTCAGACTCCAGGCTCTGGTCGCTTTAGGAGGCGGAAGGCGGA CTAGGGTAGGACTCCTGGCCCTCATCAACAGGACTGCCAAGAAGCCGGGCACCTTCTGCCCCGCACAAACATGGCCGCGC CTCGCCGCCGAGGATTGGCTCCCGCCGAAAGCTCGTCCTCCTGGCTAAGGGAGCCCCTTCCATTGGGCAGTTAAAAAAAA TGGCGGACCCCGCCTCCCGCCGTCCTCGGGCGCGGGGGCGGAGCCTAGAGGAGGCCTGGGACAGGGCCACCAGTGATTGG CGGAGAGCGGTGGTCAGGCCATCACGTGGCCCGAGGCCCG >NM_003935 GGAGGCGGACCACCTAAGGTCAGGAGTTCAAGACTAGCCTGGTTAACACGGTGAAACCCCCGTCTCTACTAAAAATATAG AAATCTTTGGGAGGCCAAGGCGGGCGGATCACGAGGTCAGGAGATCGAGACCATCCTGGCTAACACGGTGAAGCCCCGTC TCTACTAAAAAAATACAAAAAATTAGCCCGCGTGGTGGCAAGCGCCTATAGTCCCAGCTACTTGGGAGGCTGAGGCGAGA TCATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATTGCGCCACTGCACTTCAGCCTGGGCAACAGAGTGAG ACTCCGCCTCAAAAAAAAAAAAAAAAAAAATATATATATATGTATACACACACATATATATACATACACATATAAATTAG CTGGGCGTGGTGGCGCACGCCTGTAATCCCAGCTATTTAGGAGGCTGAGGCAGGCGAATTGCTTGAACCTGGGAGGCGGA GGTTTCAGTGAGCCGAGATCACACCACTGCACTCCAGCCTGGGCGACAAGAGTAAAACTCTGTCTCAAAATAAATAAATA AATAAATAAATAAATAACTTAATTTTAGAATTCATCTTCCAAATATATTTTACACAGATCATTCATTCATTCCACAGATT TTTTTACAGCATCGAAAAGAAGCCTGCTATACACACATCGGTACATTTTTATTATTTTAATTATTAACAGCATAAATGTT TTCATGCCAGTTTTCATAATCATTGTAATGATAATTGTCATGATTGTCTCTCCGTGGCGGGGAAGAATCTGGGTGCAGGG CTTGGGGATCCCTGCGGTCCGCGGCGTGCAAGTGCCACTCCCTGGGGTGCTCCCGGAATCCGCGAGCCACGGAACCTAAG AACGCCGACCCGCCGGAGCCGGAGGGCAGACGCTGGCACACCGGACGCGGGGACGCCAGAAGCGGCTGGACCCGGAAATA GGGGTTGTCGGTAGCCGCCCCGGGAACAAGGACCGGAGCT >NM_015124 GTGGGCCACTGATCCTGGCCTCCAGGCTTTTGGGGGTGCCTTGGTGTTGCTGGCCAGGTCGGGCAGCGATGTGGGGAGCA GTACCCCACGGCACATCCGCCCTTTGGCACGTGGTGTGTGTGAATTACGCGTGTCCTGATGCAGCACACAGTGACTCGCA CCTCAGTGTGACCAGGTTTCTGTGTTGATTGGAGGAGGAGGCAGGCATGGGGGCTGGGACAGGAGGCCCAGCTGGCCATG GGTGCCTGACCCCGCTGTCTCTGGGAGGGCTTCTGGGAGGTGGTGCGATCTGAATGTGTCTCAGAGTATGAGCCTGGTCG CATGGCGAGTAGGAACACGCTTTAGGCAGAGGGAGCAGTGTGGGCGGAGTCCTGGGAGCCGGGGCCAGGTGGAGCAGGTG GGACACAAGGCCAGGTCCCCTAGGTCCAGGAGAGAATCAACCGAGGCATCCCTAGCACACGCATCTGCTGGTTTCCAGGC GTGGCTGCCGTCCTGGTGGTGTATGTGGCCGTCGTGTTGACCACGTTCTTGACGGTTTGTTAGGCAACCTTTTGGCATGG CTGGCCCTCCTTCCCAATGCCAGAGCAGCATTCTTCCCTTGCGCCTGCGCGCCGCCTCGCCGAGCCAGGCTGAGAACCCT GGCTTCCTTCTGCCTGCTGGGAGCCGGGGGCCTCGCTTGGTGGGAGGCAAGGACGCAGCTCAGCACTGACCAGGCTGGCC TGGGTGGGGTGGCCAAGGGCCCCACCTGATGGGTGCAGGGCGGGGGTCTCTGGGTCGGGGTTTTCTTTGGAAAGCTGGAC CGGCCGTGCCCTGCGTGTGGGAGCTGGCTCGTGGGGCTTGGAGGTGTGTGTGGGAGGGACGGTGGCAGGGCGGGGTCTCT GGGTCGGGGTTTTCTTTGGAAAGCTGGACCGGCTGTGCCCTGTGTGTGGGAGCTGGCTCGTGGGGCTTGGAGGTGGCGAG CGGGAGAGTGACCACGCCCCTCTCTTGCAGGGAACCCGAG >NM_001164104 TCAATAAAATTGATAAATATAGACTGATCAAGGAAAATGAGAGGGATGAGATAAATTACCTATGTCAAGAATGAAAGATG GCTCATCATTATGGACCATACAGACGTTAAAAGGATAATAAGGAAATATGCTGAACAACTTTATGCCAATAATCTGACAT CTAATAATTGGATGAAATGGACAAATTCCTTAAAAGAATTACCAAAGTTTATTCAATATTACCTTGATAACTTGAATAGC CCTCTAGCTGATGCAGAAGTGAATTTCTCATTAAAAACCTTCCCACAAAGAAATCTCGAAGCCCAAATGGGTTCCCCAGC GAATACTACCACAATTTTTAGGGAATAAGTTACCCCATCCTACTCCCAGGTCACTGCAGGCCCGGCTTAAACCGACCCCA AACCAGACAGACACAGAAAACGGGAGGTCGGCCACAGAGCAATCTGCTTCACCAGCACCGTCCCCAACCTTGGACAAAGC GTTACCAAGCTGAGTCAGGCAATACACCAAAAGGATAACGAATCGTGACCAAGTGAGTTTTCCAAGGAGAGCCAAACAAT GTAATTCCCTATGGGCTGAAATAAAAAGCTACAGGATCATTTGAATACATGCAGAAAAGCGTTGCAGAAAATTTCACACC CACTCATAAGAACTCTTGGAAAAACAGGAATAGAGGGAACTTCCTCAACTTGATAAAAAACACCAACAAAAAACGACTCC TAACATCACTCTGGGTGGTGAAAGCGCACTTTTCCCTAATGTGTGGGCGGCAAGAAGGCGGACCCGCTCGAAGCTCCGCC CACCCACGCGAGGCCCCGCCCGCCCGCTCGAAGCCCCGCCCACCCGGCGGTCACACCGCCTTGCGCGCTCGGCATGACGT CACTCCCACCAGGCACCTCGCCTTGTCAGGAGCTGCCAGGCGCCAACCGCCGACCTCTGACCGCTACGGGTCCCGGCTCG CGCAACGACCCCAAGGCGCATGCCCAGGCGCGGCGACCCC >NM_005984 AGGCAGGGACACCTGGACAATATTTATTTTTGCTGAAACCCAATGACGGCAACCTCTGAGCCATCCCAGAGCCTGGGGAG GCCAGGGTAGAGGCTGACGGCGCAAGACCAGCTTTAGCCGACAACAGAGACTGGACTGTGGGCCCTCCTGCTGGAGCCAG GCCTTCCTCCTGGGCGCCTCCGACTGGCTGGAGCTGCCCCCTCCAGGCCAGTTTGAAGACTACATGAACACGTCTTGTTT GGAGGTACCGGACCTCATAAAAGGACTCTCAGCCTCTTGGCAATCATAAATATTAAAGTCGGTTTATCCAGGCAAAGGTG CTCTGCTTGGTGCTGGTATGGGTAGGAGGGACGGGCCAGTTTCCTAGGCCCCGCAGTCCATTAAAGATTTGCTGGGTCCT CTTTGGGGTGTGGGACCTCCGTTGCCCAGACAAGCTGCCTAGGAGAATACAGCCGCTTGCATTTGTGGTCTTTCCTGACC TTGTTCGCTGAGCGCAGAAACTACAACCGGGAAAGGTGTGGGTGGGAACCGGCAGGTGAGGCCCGGCCCGTGGCTGCTGC GGGAGGGGGGCCCGGCGGCGTAGCCCCTTCTCACCGGCCTCCCGCCTCCCGCCTCCAGGTTTGAAACGTTAGAGTTCCTC TGGGACTGGGCTAGCCCCACGTGTTTTCGGGGAGGGTGTGCCCCTGGCCTCCGGGATCCCTGGGGATCCCGCCGCTCTCG ACAGTCGCGCAGACCCGAGGCCCGCTATCCCGCGGCGCGGCACACAGTGCACCTTGACCCACTGCTCGGAGCTGGGCCAC GGCTCCGCCTCCCGCAGCCCCGCCCCCGTCCCGCCGCTCGCGGTCGCCCAGGGACTCGGCCTCGGCCATTGGCTGCGCTT TGGCCCCGCCCCTACGCCTGCCTCGGCGCGCCCCGCCCAGGCCTCAGTTTCCCGGCCCGCACGGGGCGGGCTGGGGGCGG GGCCTGGCTCGGACCACGCGGGGCGGGACCTGGAGCTGAC >NM_006932 TACTTATCAGCTGTTGTCCTCATCTGTAAAATGGGGCAATAGTCATGGTCTCATGTGCTTGTTATGGGCATTATATGCCT GGTACATGGCAAGTACAAAATAAATGATTTGTTATTGTTTTTATTTGACAGGACTCCAGACCCCATCCTCCCAACTCCAC CCACTTTAGTCTCCATGGAGACCCAAGGGCGGCTTTAGGGCCTCTGGCACTGAAGATGGAATAGCTTTGCCTTGTGGATC TGACCTCCTGGGTACCCTGGCTGATTCCTTGTTTGGTCTTGGACATGTCAGCTCTCTCTGGGCCTCAATTTCCCCCTTTT GCTGAATGACAGCCTGGACTCCATATTCCCTATTTAGGACTCCAGCGCTCCTAAAGGCAGACTCTCAGGGCTTGGAAGGT AGAAGCATGCTACAAGAAGGCAATGTCTGTTCAAAGGTGTGTGGGCTGGGGGAGGCGTGCTGTGTGATTGATTCTGCTCC ACCTGAGATGGTCCCGGCACTCCAACACAGGGTCAAGGTGCTGCCAGTCACTCAGTCCCTGCTCTGAGGTGGCTCAGACC AGGTGTCCCGAAAGCAGCCTAGGGACGGCGGCCAAGCTTAAACACTGACGCGAGAAAGGGGTGGAGTCGAGGGAGGGGAC GTGGTCTCAGGAACAAAGAGGAGGGCGGAGAGGGGCTGTCCTGAAGGCTCTGAGACTCCTACGACCCCAGGAAACTTACC TCGGCTCGGGGCGCCCCCCCCGACTTGGCGCAGAGCCTGCGTCCCCCTGCCGATGCCCACCCGACTCGCTAAAGCCACCG AGGCAGACGACCCCAAGACTCCCAATTTCCGACCTCCCTGGCCCGCGAGGGGCGGGGCCTTCCTCTCGGGGCGTGGCCGT CAAATTGAATTTTCCCAATGGGGCACGAGAGTGGGAGGTACCCAATCGAGGGTTGGCTGGCGCGTCGGGGCAGGGCGGGG CCAGCCGGGCTGCTGGCGCGGCTGGACGGGCAGCTCTCCG >NM_152906 CTCTTGCTTGCCACCTTTTTCAACTTCAACTGAATGACATAACTGCTCCAAGTCTCAGTGTTTACATCTATAAAGTGGGA TGAAAGAACTGCTGACCCAGACATTGGGTTTAGAGTGCTTTACACATTATCATTATCCCTAATGTCTTTGTCATCCATGT CATAGTTTTTTGAATGCTCACTTTGAGGCAGGGCCTGAGCCTCTGGGCTTTGACTCTCCACCTTTCTGCCACATAGGCCC AGGCACAGCCCAGAGGCTACAGGAGCAGCGGTCCCAGCTAATGCCTCTGTCCTGTTGGGAGGGCCCCAGTCAGTGCCCAC CTGCTCACCCTGCACAAGTCAAGCTGGGCCAGCCCCTCGTCGCTGGGGCCTGGACCTGGATGTGAGCTCAAAGGCTACAC TGGGGGGTGGAAGTGGGGGAGGTGGTGGGTGTGCAGGGTATAGTGCTCAAATGCCTAGTCCAGGGTCTGGGGGTACATAC TGGGAATGGCAGGGACATCAGGGAGGAAAGAGCCGACCTGGAGGCCATAAAGTGAAGGAAGGGATGACCAAGAGGAAGAT GGCCAGGTCCAGAGGTGGGGTTGAGTGAACAGGATGGGGAGACCAGGACGCAGTCTGAGGGGGCCAGTCCGGAAGTGAGC ATTCCTGTACCTCTTCCGAGAGAGGCCGCAGGGTGAGCAGGTGACAGATGGTGTCCATGAGGGCATGGACTCAGGGGCGG CTGCGACCTCCCATGGCGTCCCTGCAGGCAGGGAGCCGCGGAGTCCCCGAAGGCCGCTGGATCAGGAAGCGCTCAGACGC CCGCGCAGCCCGAAGCTTTGGCGCAGCCCCGGGGGCGGGGCGCCAGGAGGTGGCAGCCTCCGAGCGACAGCGCGCCCAGC CAACGGGACGCCGGCATGCGGCGCGCCGCCCCGCCCCTCGCTGCGCGGCCCAATGGTGAACGCGCCGGCTTCGGGCTGGG CGGTACTGGGCTGGCTGCGGTGGCGCGCGGGCGCGGCACC >NM_001085427 AGATCAAAAAGGTTAAGTCCAAGGCTGCCCAACGAGGGAGCGAGGACCCAATCACGTTGTCCTCAGATGAGTTTTTCCCC AGCAGCGTAACCCTGCAACAGGCCAGACTGGACCCCAGACACACATTCCACACCACACCACGCCTCCACCACCACACGCA CACAACAGACACACCCTAAACACCAGACACACACACACACCTCAACCACCGCAAACACACATACGCCACACCTCTAACAC CACACACACCCAACACCACACACATACGTGCCTCAAACACTACACACACCTCAACCACCATACACCTCAACCACACACAC CCCTCAAACACCAAACACACCCCTCAACCACACACACACACCCCTCAAACACCACACACCCACCTCAAACACCACACACA CATATCCCTCAAACACTACAAAAACACACACACACACCTCAAACACCACACATGCACACACACCTGAAACACCACACACC TGCCTCAAACACTCCACACACACCACACACAGACACGTACACAGCCCCCCGCACCCAGCCACAGCTTACACGCACACAGA CACGCGTACGCAGGAGAAAGGGTGTCAAAGCTTTTGCTAGTCGTGAAGGAAGAGCCCGCAGTCCATGGGGCTGCACGGTT TTCCCTGCCATTTGCTCATTCACCGGGTGCCCATAACGCTCCGCGCTCAGGTCTCTTACAGGAGGGCCCGAGTCTCCCAG TACCGGAGGTCTGGGGGCGCACGAGCCGCTCCTCCTCTGGAGAAGCTCCGGACCGAGAGGACACCGGACACTGCGCAGCG CCGAGCCCCGCGCGCAGCCCGGGACGCCTCAGCCAGGGCCGACCGCGCAGAGGAAGCTCCCAGAGCCCGTTTCAAGACCG CAGCCAACAGCCTCAGGCGCACACGGCGGCCTCGGAGCGAGCACGCGCAGCAACGCCCCTCGCCCCGGCCCGCCCCCGGC CCCGCCCCCGGCCCCGCCCCCGGCCCCGCCCCGCAAGGGT >NM_001002034 CCTACCCTGACCACTCTATTTGCAATTGCAACCTCCCTACTCCCACAATTTCCCATCTCCCTTACCCTCCTCTGTTTTTC CATGCCACTTATTATCTTCTAACACATTTATTATGGTGTACAGTATTAACTGAATAAAATTTAGTAGGGGAGACAGGCAA TAAACAAGAAAATAAAAGCATGAGCATAGGAAAGTTTACTCTAGCAGTGAGTGCTCTGATGGAAATAACACCCCAGGGAT GGGACAGAGACTGCAGGGCAGGTTGCTTTACAATGGTCCCAGAGGAGACCACTGAGCAGAGACTCAAATCTGTGTCCAGA GGCGTCCTGAGGAGTGGAGCTGCGGTTGGGGGTGGGAAGGAAGGCCATTCTAGGCTGCAGGAACTGCAAGGGCAAAGGCT CTGAGGCGGGAGCCAGGTTCATGGGCAGATGTTTGAGGACACCTCCGGCTTCCAGGGCCTTCCAGAAGTTCCAGTCTCTT GGGTTTGGTTGTGCATTCCTGCGACCTTCACCGCAGGCCTCCTCCTCCACCCACTAGTGCAGAGCCTGGGGGCTGCCGGT GGGTTTCAGGCCAGGGAAGCAGAAATGGGTAATTTCCAGAGGCAGAAATCAGCCGACCCCGGTGGCCCGGTGGGTGGCCA ACAAAGCTTGGCTGGCCCTCGCGGGCTGTGTAGGAGCCCACCCTAGGGAGGTACCCAGAGACATCCCTGGTTTGGCTCTG CCGGGAAAGTGGGCCGAGCAGGGAGAGGGGGACCAGAGAGGAAGAGATGGACAGAGTTTTCCGGACGGTGGGCTGGGTCC GAGGCCCGCGGACCGTCCGAGGGGGGCCTCTGGGTTCGAGGCCGCCCGCACCGACCAGTGCTGTGGCTCGGGCAGTTCAC CGCCCTCTCGGGCCTCAGTTTCCCGCCCTGGCAGACCTCGAGGCGGCCTCGGAGATCCCGGGCCTGGCGAATACTGGGCG GGGAGGGGCGTTAACTCCAGCCTCCCGGGCGGGGTCTCCC >NM_000754 CAAGAAGCTTTGAAAGATGGAGTGCCCTGGCTGAGGGTTCCAGGTCTCAGCAAGGCCACGAGGTGGTGACTGCCTCCCAG AACTCTGTTGGGCCACCCTCCGTCCTGGAGACCCCCAAAACCTCCATAGCACCAACTCTGCCCATTCACACACACAGTCA GCCCTCCCTCCCGAGTCCACCGCGGGCAGAGGGCCAGCCACCATGCCTCCCATAGCCGCCATCCCTGGGAAGGAGCCCTG ACCCCGTCCTTACACCCCTCTACACTCACTGCCTGTGGGGAGAGCTGCTCGCTGTCACAAGCATCCAGGGGGCTGGGTCG AGGGGCCCCCTGCATGGTGGGGGACCATGTTGTCGTGCATGGAATGAAACTGGCCACACATAACAGATATGGTGGCGCTC TGGTCGGATCTAGGGGAGTCTGTCCTACAGGATGAGGCTTGAACTGTCCTGAGTGACCAGACACCCAGCCTCTGCTTCGA GTGCTCAGTTATGATTATTGTCCTGATTTAGTTAACTGTTCTTCAGGGGCTCCAGGAGGACGAGTGTGTATCCTCCCATT GCTCTGTGCAGCCTCTAACCTCTAGAGTCTAGGGGTCTGGGGAGAAGTTGGGAAGTCTGGCCAGTGGGGCCGGTGCCTGG TGACCTCGGGAGGTGGGATATCATCATCTTCAGAACTGTAGTTGTTACTGGGATACCAGCTCTGGGAGACCACAGGTGCA GTCAGCACAGCAGGACCTTAGACAAGGCACCCAGCCCCAGTTTCCCCACCTGGGAAGGGGGCTACTTGTGGCTAGAAGCA GCCCGGACTCCTGAGCAAGACTAGACCAAGAGGCCGGTATGTGGACACCCCCGCGTGGGCACCCCCACGGGGACACCCTG GCCACCGCCGCGCGGACACCCTCACGAGGACACCCCGGCCGCGCGGACACCTACCGCGGGGACGCCCCGACCCCATCCTA CCTGCTGCGCCCCGCGCCGCGCCCCGCACCCCGCCCGCCA >NM_013236 ATACTCAGTTATGTTTGCTTCTCTCCTTCTCAATAGTCTGTGAGGTTCCTTCAGGTTTGGAACTGTCTTTTATTAATCTT TACATCTCCAGCACCTAGCGCAGGGCTTAGCAACAATTTTTGTTGAAAGTATATACACTGTAATAAAGGGCAGTGGAAAG AAAATATGTGAGTTATCAACACCAGCTAGAGAAGCCTTGTCTGATTCCTGTGAAATATATTCATTTCCCTTAGGAAAAAA AACAATTCTAACCCTATTGCTGTGTAACTTAGCTTCTTGACTTCGAACGGTATTTTAAGGCTTTGAGGAGCTGGAGCAAT GTATACTCACTAGAGGCAAAGTGCCTGGTAAGTGGTCTGGTATTGATCAGCAATGATCAGTAAGTACTGGGAAGTGCGTT TTCAGGGCCTGAGACTTGCAAGCTAGTGACAGACCGCTCCAGCTTCCAGTGGACCCGGGCGGGGGCACTGATCAACCCAC TTGAGCAGTGGGATCAAGGTCTTCAGCCTTAGCAGTGGGAGCCTCTGCCCGGCCCCCTTCGTTCCCGAGACCCTCAGTCA GCGTCTCCTCCCAAGAGGGTCCCCTCCACCCAGAATGTCCTCCCCTGGGGGAGACCACTCTGTCTGCGGGCCCCCTCCCA CAGGAGGGCCCCTCTTCCTCAAGGTGAACCTCTGTCCCCGATACCCGCTCCCAAGACCGAGACCTTGTTACGGCCCCACC CTCCACAGGCCCCTTACCCCCCGGATCCCCTCCCCTGGGGGAGACCCCTCTGTCCGCGGGCACCCTCCTATAGGACGCGC CCCTCTTTCTCAGGGTGAACCTCTGGTTCCCGATACCCGCTCCCAAGACCGAGACCCTGTTACGGCCACATCAACACAGG TCCCCCTCCCCCCGGCGTCCCCTCCCCTCGGAGGAGCCCCGTCTGCGACGCTTCCCAGTCAATCACCCCCAGCATCCCTC CCCGCTCTCACCCAGAACTTCCGCCGCGCCCCCTCCCCTC >NM_032608 TCCGCCTCCTGGGTTCAAGCAATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGATCACAGACAACCACTACCCCACCCAG CTGATTTTTTTTTTTTTTTTTGAGATGGAGTCTCTCTCTGTCACCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTTACT GCAAGCTCCGCCTGTAGCTGGGACTACAGGCGCCCACCACCACGCCCGGCTAATTTTGTTTTTGTATTTTTAGTAGAGAC GGGGTTTCACTGTGTTAGCCAGGATGGTCTCAATCTCCTGACCTCGTGATATGCCCACCTCGGCTTCCCAAAGTGCCGGG ATTACAGACGTGAGCCACCGTGCCAGGCCCAAAGCACTTTTTTATAGCCCCTAGTTTGCTGTTGTGTCTGTTTCCTCTAC GGCCCGCACAGCCTGGGTTTGAATTCTGGCTCTCCATGGCCTTGGGCAAGTTGGTTAACTTTTTGTGTCTCAATTTCCCC ACTTGTAAAGTGGGGCTGGGGAAAAACCCTACCTCATAGGGAACATTAAGTGAGTTCATGAAAGCCCTCGGTGTGTGGCA TGCGATAACCACTACCTAAGCATAAGGTATGTTTACATGCACTGGTTGTTTACCACGACGCACCAGCATTCATTCAAGTT ATTTTCTTCCAGAGTCTGCCTGGAATGTAGAACCGGCCAGCTCTCCTCCTCAAACAGTTCCTGCAACCTCTGGTTATCTG TGTGGGCAGAGGCGGGAGTGTGGGTGTGTGGCCCTGCCCTGGGACAGGGATGACGAGAGAGCATGTGCTTGTGTCCAGAG CTGTCCCCTTCCCTGCTCAGGGGCCACCAAATATGTCCATGGTCTCTGCTGCCTGGTCAACGGCCACCCCGGGCTGCCGT CTCCTGGCCAGACCTGGAGCTCACAAGCTAATTTTAGAAATGACTGGTCGACTCAGCTGCTGCTATCACATTGGCCCAGA AGGAGGGTGGGGGGAGGACGGGTCGGGGAGGGGCAGTAAG >NM_003560 ACTAAACTTAGTATATTATACTTATGTTAAAAATTTCGGAGCCGGGCGTGGTGGCTCACGCCTGTAATCCCAGCACTTCG GGAGGCTGAGGCGGGCAGATCACTTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA AAAATACAAAAAATTAGCTGGGCGTAGTGGCGGGCGCCTGCAATCTCAGCTACGCGGGAGGCTGACGCAGGAGAATCGCT TGAATCCGGGAGGCGGAGGTTGCAGTGAGCGAGATCGTGCCACTGCACTCCAGCATGGTCGACAGAGCGAGACTTGTCTC AAAAAAAAAAAAAAAAAGGACATGTGGTAATTCCCCTAGGGAATTTGGCCTTAGTTGTGAAAAATAAAAAAGCTATAATC AATTTCTGTTCTATCGGAAAAAAATGTATTGGCTGTTTAGCTGAAATTCAAATGTAACTTAACATCCCGTATTTTTTATA TGCTACATCTGGCAACCCTGGCTTGAGGCTACCTGGCAAAAATCAAAACAGGTTCCTCCTTGTTATGCCCTATGCCTCTG TTGCCTTTATTTTTATCTTTACGAGCAATCATTAACAGTAACTTCAGACTCCAGGCTCTGGTCGCTTTAGGAGGCGGAAG GCGGACTAGGGTAGGACTCCTGGCCCTCATCAACAGGACTGCCAAGAAGCCGGGCACCTTCTGCCCCGCACAAACATGGC CGCGCCTCGCCGCCGAGGATTGGCTCCCGCCGAAAGCTCGTCCTCCTGGCTAAGGGAGCCCCTTCCATTGGGCAGTTAAA AAAAATGGCGGACCCCGCCTCCCGCCGTCCTCGGGCGCGGGGGCGGAGCCTAGAGGAGGCCTGGGACAGGGCCACCAGTG ATTGGCGGAGAGCGGTGGTCAGGCCATCACGTGGCCCGAGGCCCGTTTGTTTGCGGAAGTAGGAGGAAGTAGAAGTGCTG AGTAAGCCGAGGTGAGTGACCTCGCGGGTGGGCGGGGCCT >NM_001166242 AGGATCACATCAGCTAACAGACTGTCACTTTATGCATAATGAAGAATGTTACAGTACCTCTGGCTCTGGGTTTTTGTCTT CACTAAGCAACACCTGCTGTGTATGCAGTGAAACGCCTGGTCCTTTGCTGGAGGCACACTCCCCTGCCTGGACCAGGATG GATTCCATTGCAGAGCCTTTTAATGACACAGTGGGGCCAGTTGGAGCACTGATCCTGGTCATTACTCCTGCACCCTGGCC TGCAGCCTTCCTCTCAGTGTCTTATTTGGGCTTGGTCCTTGAGCCGGCTGCCTCAACAGCAGGACCCCTGGTAAAACTGC AGCTTTCTGATCCACCTCCAGGGAGTCTGTCCCAGTGTCATTCCTGGGACTGGCCCAGCAGTCCCAGGATTTGTATCAGT GGATACTGAGGATTTGTTATCAGTGAAGTGGGAGAACCGCAGCATAGGTACTGCAGGGCGTTTCTGCAAGCCCACCAGCC TCCTCTTTACTTGCCTTTGTTGCCTCTTGTGCATTGCTCCTTTTTATAAACGTCCCAGCCAGGCACTGGCGCTCCGCCTA TAATCCTAGCACTTTGGGAGGCCAAAGTGAGAGGGTCGCTTGAGGCCAAACTAGCCTGGGTAACTTAGCAAGACCCCATC TTTACAAAAAAAAAAAAAAAAAATTAAAAATTAGCCTGGTGAGGCTGTGCATGCTTTTGGTCCCAGCTGTTCGGAGTCCA GGAGTTTGAGGTTGCAGTAAGCCATGAACACGCCACGCCACTGCACTAAGCCTGGGTGACACAGCAAGACCCTGTCTCGA AAAATGAATAAGGTAAATGTTACATGTCTCCCGCACCCTTAGAATAGAACTACAGACATCCAAGCCACTCCTACCCCGCT CACCCCTGCTACACACCGCCTCCATACCTTTGACCGGCCTATGGCTGTACTCGGATTGCATTCTCAGCCTCCACTTCAAG CCTGCGTTCCCTGGGGAGGTCATTCAACCCTAGATCCACC >NM_001165877 AGGCAGGAGAATCGATTGAACCCGGGAGGTGGAGGTTGCTGTGAGTTGAGATCTCACCACTGCACTCCAGCCTGGGTGAC AGAGCCAGACTCCATCTCAAAAAAACAAAACAAAACAGAAAATAAAAATTAGCCAAGTGTGGTGGCGTGCGCCTGTAATC CCAGCTACTTGGGAGGTTGAGGCAGGAGAATCGCTGGAGCCCAGAAGGCGGAGGTTGGAGTGAGACAAGATCGCGCCACT GCATTCCAGCCTGGGCCAGATCTGTCTTAAATAAAAGAAAAAAAAAAGAAAATCCATGTATAACTTCTGGTTCCCCCAAA ACTTTCCTACTAATATACTATTGACTAGAAGCCTTACCAATAACATATTTGTATATTGTATGTATTATATACTATATTTT TACAGTAAAGTAAGCTAGAGAAAACTGTTATTTTAAAAATCATAAGGGGCCGGGCGTGGTGGCTCACGCCTGTAACCCCA GCACTTTGGGAGGCCGAGGCAGGAGGATCACCAGGTCAGGACTTCAAGACCAGCCTGGCCAACATGGTGAAACCCTGTCT CTACTAAAAATACAAAAATGAGCCAGGAGTGGTGACGTGCGCCTGTGATCCCAGCTACTCGGGAGGCTGAGACAGAAGAA TTGCTTCAACCTGGGAGTTGGAGGTTGCAGTGAGCTGAGACCGTGCCACTGCACTCCAGCCTGGGTGACAGCAAGACTCC GTCTCAAAAAATAAATAAAGAGAAAAAAAAATCATAAGGAAGAGAAAACATATTTACTATTCATTAAGAGGAAGTGGATC ATCATAAAGGTCTTCATCCTTGTTCTCACGTTGAGAAGGCTGAGGAGGAGGCAGGGGGTAGTCTTGCTGTCTCGGGTGAC AGAAGAGGAAGAAGATCCTTGTATAAGTGAACCACTCAGGGTCCTGGCCGGGCACAGTGGCTCACGCCTGTAATCCCAGC ACTTTGGGAGGCCGAGGTGGGTGGATCATGAGGTCAGGAG >NM_145343 GCTCAGGATGAAATAGGCCCCCATGGAAGGGTCAGGTTGGCTTCTGTGGTTTAGCTGCCTTTGAGGCCCTTCTGCCTGGG GCAAAGCACAAAAGTCCAATAGCAATCTGGTTGCATGACTTCCTAGTCATGGAAGTGTGGCTGAGCAGTGGTCTCTAGTC CCTCCACCCTGTGTGCCTCGGGAGTGGAACACGGGGCAGTGGCCTCTGCTGGGGAGGATGCTGGGGGATCTCTGAAAGGA GGCAATGCCTGATTTTGTCACTGAACGATGAGCATGATTTTTCCAGGCGGTGGAAGCAGGTGCTCCCGGCAGAAGACCCC ATATAAGCAAATATCTAGAAGCCACAAGGCATGGCCTTCAACAAGAGCAGGCCTGGTGCGGTGGCTCATGCCAAGGTGGG AGGATCACTTGAGGCCTGGAGTTCAAGAGTAGCCCAGTCAATATAGTGAGGCACCATCTCTAATATAATTTTTTTAAAAA TTAGCTGGGTGGTTGGCTGATACCTGTAGAACCAGCTACTCAGGAGGCTGAGGTGGGGGGATGGCTTAAGCCCAGGGGTT TGAAGCTGCTGTGCGCGATGACTGTGGCACTGCAATTCAGTCTTGGTGACAGACTGAGACCCTGTCTCAAAAACATAACC AAAATAACCCCAACGGCATTACAATAAATATACAATAAGCATCCACAAGGCATGTGTGGGAGACTGTGCTTATGCCGATG GCACGGGCAGGAGTAAGGCAGGCATCAGGGGAATGTGGATGCACGGGAGGATGGGGAGTAATCTGCAGGGTCCCATAGTA TGTCAGTGGCAGGTCTTTCTCCTTGAGACCACAGCAGACCCCCAGCCCTGAGGATGCGAGGCAGGTGGGTTGGATGAGAG GGATCTGGATGTCTGGTCTCAGGCTGCTCCTCTAAGGGCAGCAGCAAGGAGGGTGGGGCTGGACTGAAGGTGGAGGGGAG CGTGTTTGCTGTGCTTGGTCATGAGCTGCTGGGAAGTTGT apcluster/inst/doc/0000755000176200001440000000000013527065717014013 5ustar liggesusersapcluster/inst/doc/apcluster.Rnw0000644000176200001440000021617013527065612016506 0ustar liggesusers\documentclass[article]{bioinf} \usepackage{amsmath,amssymb} \usepackage{hyperref} \hypersetup{colorlinks=false, pdfborder=0 0 0, pdftitle={APCluster - An R Package for Affinity Propagation Clustering}, pdfauthor={Ulrich Bodenhofer}} \title{{\Huge APCluster}\\[5mm] An R Package for Affinity Propagation Clustering} \author{Ulrich Bodenhofer, Johannes Palme, Chrats Melkonian, and Andreas Kothmeier} \affiliation{Institute of Bioinformatics, Johannes Kepler University Linz\\Altenberger Str. 69, 4040 Linz, Austria\\ \email{apcluster@bioinf.jku.at}} \newcommand{\APCluster}{\texttt{apcluster}} \newcommand{\KeBABS}{\texttt{kebabs}} \newcommand{\R}{R} \newcommand{\Real}{\mathbb{R}} \renewcommand{\vec}[1]{\mathbf{#1}} %\VignetteIndexEntry{An R Package for Affinity Propagation Clustering} %\VignetteDepends{methods, stats, graphics, utils} %\VignetteEngine{knitr::knitr} \begin{document} <>= options(width=72) knitr::opts_knit$set(width=72) set.seed(0) suggestedPackages <- c("Biostrings", "kebabs") if (all(sapply(suggestedPackages, requireNamespace, quietly=TRUE))) { library(kebabs, quietly=TRUE) } else { knitr::opts_chunk$set(eval=FALSE) } library(apcluster, quietly=TRUE) apclusterVersion <- packageDescription("apcluster")$Version apclusterDateRaw <- packageDescription("apcluster")$Date apclusterDateYear <- as.numeric(substr(apclusterDateRaw, 1, 4)) apclusterDateMonth <- as.numeric(substr(apclusterDateRaw, 6, 7)) apclusterDateDay <- as.numeric(substr(apclusterDateRaw, 9, 10)) apclusterDate <- paste(month.name[apclusterDateMonth], " ", apclusterDateDay, ", ", apclusterDateYear, sep="") @ \newcommand{\APClusterVer}{\Sexpr{apclusterVersion}} \newcommand{\APClusterDate}{\Sexpr{apclusterDate}} \manualtitlepage[Version \APClusterVer, \APClusterDate] \section*{Scope and Purpose of this Document} This document is a user manual for the \R\ package \APCluster\ \cite{BodenhoferKothmeierHochreiter11}. It is only meant as a gentle introduction into how to use the basic functions implemented in this package. Not all features of the \R\ package are described in full detail. Such details can be obtained from the documentation enclosed in the \R\ package. Further note the following: (1) this is neither an introduction to affinity propagation nor to clustering in general; (2) this is not an introduction to \R. If you lack the background for understanding this manual, you first have to read introductory literature on these subjects. \newpage \vspace{1cm} \newlength{\auxparskip} \setlength{\auxparskip}{\parskip} \setlength{\parskip}{0pt} \tableofcontents \clearpage \setlength{\parskip}{\auxparskip} \newlength{\Nboxwidth} \setlength{\Nboxwidth}{\textwidth} \addtolength{\Nboxwidth}{-2\fboxrule} \addtolength{\Nboxwidth}{-2\fboxsep} \newcommand{\notebox}[1]{% \begin{center} \fbox{\begin{minipage}{\Nboxwidth} \noindent{\sffamily\bfseries Note:} #1 \end{minipage}} \end{center}} \section{Introduction} Affinity propagation (AP) is a relatively new clustering algorithm that has been introduced by Brendan J.\ Frey and Delbert Dueck \cite{FreyDueck07}.\footnotemark[1]\footnotetext[1]{% \url{http://genes.toronto.edu/affinitypropagation/}}\stepcounter{footnote} The authors themselves describe affinity propagation as follows:\footnote{quoted from \url{http://genes.toronto.edu/affinitypropagation/faq.html\#def}} \begin{quote} ``{\em An algorithm that identifies exemplars among data points and forms clusters of data points around these exemplars. It operates by simultaneously considering all data point as potential exemplars and exchanging messages between data points until a good set of exemplars and clusters emerges.}'' \end{quote} AP has been applied in various fields recently, among which bioinformatics is becoming increasingly important. Frey and Dueck have made their algorithm available as Matlab code.\footnotemark[1] Matlab, however, is relatively uncommon in bioinformatics. Instead, the statistical computing platform \R\ has become a widely accepted standard in this field. In order to leverage affinity propagation for bioinformatics applications, we have implemented affinity propagation as an \R\ package. Note, however, that the given package is in no way restricted to bioinformatics applications. It is as generally applicable as Frey's and Dueck's original Matlab code.\footnotemark[1] Starting with Version 1.1.0, the \APCluster\ package also features {\em exemplar-based agglomerative clustering} which can be used as a clustering method on its own or for creating a hierarchy of clusters that have been computed previously by affinity propagation. {\em Leveraged Affinity Propagation}, a variant of AP especially geared to applications involving large data sets, has first been included in Version 1.3.0. \section{Installation} \subsection{Installation via CRAN} The \R\ package \APCluster\ (current version: \APClusterVer) is part of the {\em Comprehensive R Archive Network (CRAN)}% \footnote{\url{http://cran.r-project.org/}}. The simplest way to install the package, therefore, is to enter the following command into your \R\ session: <>= install.packages("apcluster") @ If you use R on Windows or Mac OS, you can also conveniently use the package installation menu of your R GUI. \subsection{Manual installation from source} Under special circumstances, e.g. if you want to compile the C++ code included in the package with some custom options, you may prefer to install the package manually from source. To this end, open the package's page at CRAN% \footnote{\url{https://CRAN.R-project.org/package=apcluster}} and then proceed as follows: \begin{enumerate} \item Download \texttt{apcluster\_\APClusterVer.tar.gz} and save it to your harddisk. \item Open a shell/terminal/command prompt window and change to the directory where you put {\ttfamily apcluster\_\APClusterVer.tar.gz}. Enter \begin{quote} \ttfamily R CMD INSTALL apcluster\_\APClusterVer.tar.gz \end{quote} to install the package. \end{enumerate} Note that this might require additional software on some platforms. Windows requires Rtools\footnote{\url{http://cran.r-project.org/bin/windows/Rtools/}} to be installed and to be available in the default search path (environment variable \verb+PATH+). Mac OS X requires Xcode developer tools% \footnote{\url{https://developer.apple.com/technologies/tools/}} (make sure that you have the command line tools installed with Xcode). \subsection{Compatibility issues} All versions downloadable from CRAN have been built using the latest version, \R\ \Sexpr{R.version$major}.\Sexpr{R.version$minor}. However, the package should work without severe problems on \R\ versions $\geq$3.0.0. \section{Getting Started} To load the package, enter the following in your \R\ session: <>= library(apcluster) @ If this command terminates without any error message or warning, you can be sure that the package has been installed successfully. If so, the package is ready for use now and you can start clustering your data with affinity propagation. The package includes both a user manual (this document) and a reference manual (help pages for each function). To view the user manual, enter <>= vignette("apcluster") @ Help pages can be viewed using the \verb+help+ command. It is recommended to start with <>= help(apcluster) @ Affinity propagation does not require the data samples to be of any specific kind or structure. AP only requires a {\em similarity matrix}, i.e., given $l$ data samples, this is an $l\times l$ real-valued matrix $\mathbf{S}$, in which an entry $S_{ij}$ corresponds to a value measuring how similar sample $i$ is to sample $j$. AP does not require these values to be in a specific range. Values can be positive or negative. AP does not even require the similarity matrix to be symmetric (although, in most applications, it will be symmetric anyway). A value of $-\infty$ is interpreted as ``absolute dissimilarity''. The higher a value, the more similar two samples are considered. To get a first impression, let us create a random data set in $\Real^2$ as the union of two ``Gaussian clouds'': \begin{center} <>= cl1 <- cbind(rnorm(30, 0.3, 0.05), rnorm(30, 0.7, 0.04)) cl2 <- cbind(rnorm(30, 0.7, 0.04), rnorm(30, 0.4, .05)) x1 <- rbind(cl1, cl2) plot(x1, xlab="", ylab="", pch=19, cex=0.8) @ \end{center} The package \APCluster\ offers several different ways for clustering data. The simplest way is the following: <>= apres1a <- apcluster(negDistMat(r=2), x1) @ In this example, the function \verb+apcluster()+ first computes a similarity matrix for the input data \verb+x1+ using the {\em similarity function} passed as first argument. The choice \verb+negDistMat(r=2)+ is the standard similarity measure used in the papers of Frey and Dueck --- negative squared distances. Alternatively, one can compute the similarity matrix beforehand and call \verb+apcluster()+ for the similarity matrix (for a more detailed description of the differences, see \ref{ssec:memeff}): <>= s1 <- negDistMat(x1, r=2) apres1b <- apcluster(s1) @ The function \verb+apcluster()+ creates an object belonging to the S4 class \verb+APResult+ which is defined by the present package. To get detailed information on which data are stored in such objects, enter <>= help(APResult) @ The simplest thing we can do is to enter the name of the object (which implicitly calls \verb+show()+) to get a summary of the clustering result: <>= apres1a @ The \APCluster\ package allows for plotting the original data set along with a clustering result: \begin{center} <>= plot(apres1a, x1) @ \end{center} In this plot, each color corresponds to one cluster. The exemplar of each cluster is marked by a box and all cluster members are connected to their exemplars with lines. A heatmap is plotted with \verb+heatmap()+: \begin{center} <>= heatmap(apres1a) @ \end{center} In the heatmap, the samples are grouped according to clusters. The above heatmap confirms again that there are two main clusters in the data. A heatmap can be plotted for the object \verb+apres1a+ because \verb+apcluster()+, if called for data and a similarity function, by default includes the similarity matrix in the output object (unless it was called with the switch \verb+includeSim=FALSE+). If the similarity matrix is not included (which is the default if \verb+apcluster()+ has been called on a similarity matrix directly), \verb+heatmap()+ must be called with the similarity matrix as second argument: \begin{center} <>= heatmap(apres1b, s1) @ \end{center} Suppose we want to have better insight into what the algorithm did in each iteration. For this purpose, we can supply the option \verb+details=TRUE+ to \verb+apcluster()+: <>= apres1c <- apcluster(s1, details=TRUE) @ This option tells the algorithm to keep a detailed log about its progress. For example, this allows for plotting the three performance measures that AP uses internally for each iteration: \begin{center} <>= plot(apres1c) @ \end{center} These performance measures are: \begin{enumerate} \item Sum of exemplar preferences \item Sum of similarities of exemplars to their cluster members \item Net fitness: sum of the two former \end{enumerate} For details, the user is referred to the original affinity propagation paper \cite{FreyDueck07} and the supplementary material published on the affinity propagation Web page.\footnotemark[1] We see from the above plot that the algorithm has not made any change for the last 100 iterations. AP, through its parameter \verb+convits+, allows to control for how long AP waits for a change until it terminates (the default is \verb+convits=100+). If the user has the feeling that AP will probably converge quicker on his/her data set, a lower value can be used: <>= apres1c <- apcluster(s1, convits=15, details=TRUE) apres1c @ \section{Adjusting Input Preferences}\label{sec:ipref} Apart from the similarity matrix itself, the most important input parameter of AP is the so-called {\em input preference} which can be interpreted as the tendency of a data sample to become an exemplar (see \cite{FreyDueck07} and supplementary material on the AP homepage\footnotemark[1] for a more detailed explanation). This input preference can either be chosen individually for each data sample or it can be a single value shared among all data samples. Input preferences largely determine the number of clusters, in other words, how fine- or coarse-grained the clustering result will be. The input preferences one can specify for AP are roughly in the same range as the similarity values, but they do not have a straightforward interpretation. Frey and Dueck have introduced the following rule of thumb: ``{\it The shared value could be the median of the input similarities (resulting in a moderate number of clusters) or their minimum (resulting in a small number of clusters).}'' \cite{FreyDueck07} Our AP implementation uses the median rule by default if the user does not supply a custom value for the input preferences. In order to provide the user with a knob that is --- at least to some extent --- interpretable, the function \verb+apcluster()+ provides an argument \verb+q+ that allows to set the input preference to a certain quantile of the input similarities: resulting in the median for \verb+q=0.5+ and in the minimum for \verb+q=0+. As an example, let us add two more ``clouds'' to the data set from above: \begin{center} <>= cl3 <- cbind(rnorm(20, 0.50, 0.03), rnorm(20, 0.72, 0.03)) cl4 <- cbind(rnorm(25, 0.50, 0.03), rnorm(25, 0.42, 0.04)) x2 <- rbind(x1, cl3, cl4) plot(x2, xlab="", ylab="", pch=19, cex=0.8) @ \end{center} For the default setting, we obtain the following result: \begin{center} <>= apres2a <- apcluster(negDistMat(r=2), x2) plot(apres2a, x2) @ \end{center} For the minimum of input similarities, we obtain the following result: \begin{center} <>= apres2b <- apcluster(negDistMat(r=2), x2, q=0) plot(apres2b, x2) @ \end{center} So we see that AP is quite robust against a reduction of input preferences in this example which may be caused by the clear separation of the four clusters. If we increase input preferences, however, we can force AP to split the four clusters into smaller sub-clusters: \begin{center} <>= apres2c <- apcluster(negDistMat(r=2), x2, q=0.8) plot(apres2c, x2) @ \end{center} Note that the input preference used by AP can be recovered from the output object (no matter which method to adjust input preferences has been used). On the one hand, the value is printed if the object is displayed (by \verb+show+ or by entering the output object's name). On the other hand, the value can be accessed directly via the slot \verb+p+: <>= apres2c@p @ As noted above already, we can produce a heatmap by calling \verb+heatmap()+ for an \verb+APResult+ object: \begin{center} <>= heatmap(apres2c) @ \end{center} The order in which the clusters are arranged in the heatmap is determined by means of joining the cluster agglomeratively (see Section \ref{sec:agglo} below). Although the affinity propagation result contains \Sexpr{length(apres2c@exemplars)} clusters, the heatmap indicates that there are actually four clusters which can be seen as very brightly colored squares along the diagonal. We also see that there seem to be two pairs of adjacent clusters, which can be seen from the fact that there are two relatively light-colored blocks along the diagonal encompassing two of the four clusters in each case. If we look back at how the data have been created (see also plots above), this is exactly what is to be expected. The above example with \verb+q=0+ demonstrates that setting input preferences to the minimum of input similarities does not necessarily result in a very small number of clusters (like one or two). This is due to the fact that input preferences need not necessarily be exactly in the range of the similarities. To determine a meaningful range, an auxiliary function is available which, in line with Frey's and Dueck's Matlab code,\footnotemark[1] allows to compute a minimum value (for which one or at most two clusters would be obtained) and a maximum value (for which as many clusters as data samples would be obtained): <>= preferenceRange(apres2b@sim) @ The function returns a two-element vector with the minimum value as first and the maximum value as second entry. The computations are done approximately by default. If one is interested in exact bounds, supply \verb+exact=TRUE+ (resulting in longer computation times). Many clustering algorithms need to know a pre-defined number of clusters. This is often a major nuisance, since the exact number of clusters is hard to know for non-trivial (in particular, high-dimensional) data sets. AP avoids this problem. If, however, one still wants to require a fixed number of clusters, this has to be accomplished by a search algorithm that adjusts input preferences in order to produce the desired number of clusters in the end. For convenience, this search algorithm is available as a function \verb+apclusterK()+ (analogous to Frey's and Dueck's Matlab implementation\footnotemark[1]). We can use this function to force AP to produce only two clusters (merging the two pairs of adjacent clouds into one cluster each). Analogously to \verb+apcluster()+, \verb+apclusterK()+ supports two variants --- it can either be called for a similarity measure and data or on a similarity matrix directly. \begin{center} <>= apres2d <- apclusterK(negDistMat(r=2), x2, K=2, verbose=TRUE) plot(apres2d, x2) @ \end{center} Now let us quickly consider a simple data set with more than two features. The notorious example is Fisher's iris data set: <>= data(iris) apIris1 <- apcluster(negDistMat(r=2), iris) apIris1 @ AP has identified \Sexpr{length(apIris1)} clusters. Since Version 1.3.2, the package also allows for superimposing clustering results in scatter plot matrices: \begin{center} <>= plot(apIris1, iris) @ \end{center} The heatmap looks as follows: \begin{center} <>= heatmap(apIris1) @ \end{center} Now let us try to obtain fewer clusters by using the minimum of off-diagonal similarities: <>= data(iris) apIris2 <- apcluster(negDistMat(r=2), iris, q=0) apIris2 @ AP has identified \Sexpr{length(apIris2)} clusters. If we again superimpose them in the scatter plot matrix, we obtain the following: \begin{center} <>= plot(apIris2, iris) @ \end{center} Finally, the heatmap looks as follows: \begin{center} <>= heatmap(apIris2) @ \end{center} So, looking at the heatmap, the \Sexpr{length(apIris2)} clusters seem quite reasonable, at least in the light of the fact that there are three species in the data set, {\em Iris setosa}, {\em Iris versicolor}, and {\em Iris virginica}, where {\em Iris setosa} is very clearly separated from each other (first cluster in the heatmap) and the two others are partly overlapping. \section{Exemplar-based Agglomerative Clustering}\label{sec:agglo} The function \verb+aggExCluster()+ realizes what can best be described as ``exemplar-based agglomerative clustering'', i.e.\ agglomerative clustering whose merging objective is geared towards the identification of meaningful exemplars. Analogously to \verb+apcluster()+, \verb+aggExCluster()+ supports two variants --- it can either be called for a similarity measure and data or on matrix of pairwise similarities. \subsection{Getting started} Let us start with a simple example: <>= aggres1a <- aggExCluster(negDistMat(r=2), x1) aggres1a @ The output object \verb+aggres1a+ contains the complete cluster hierarchy. As obvious from the above example, the \verb+show()+ method only displays the most basic information. Calling \verb+plot()+ on an object that was the result of \verb+aggExCluster()+ (an object of class \verb+AggExResult+), a dendrogram is plotted: \begin{center} <>= plot(aggres1a) @ \end{center} The heights of the merges in the dendrogram correspond to the merging objective: the higher the vertical bar of a merge, the less similar the two clusters have been. The dendrogram, therefore, clearly indicates two clusters. Heatmaps can be produced analogously as for \verb+APResult+ objects with the additional property that dendrograms are displayed on the top and on the left: \begin{center} <>= heatmap(aggres1a, s1) @ \end{center} Once we have confirmed the number of clusters, which is clearly 2 according to the dendrogram and the heatmap above, we can extract the level with two clusters from the cluster hierarchy. In concordance with standard \R\ terminology, the function for doing this is called \verb+cutree()+: \begin{center} <>= cl1a <- cutree(aggres1a, k=2) cl1a plot(cl1a, x1) @ \end{center} \subsection{Merging clusters obtained from affinity propagation} The most important application of \verb+aggExCluster()+ (and the reason why it is part of the \APCluster\ package) is that it can be used for creating a hierarchy of clusters starting from a set of clusters previously computed by affinity propagation. The examples in Section \ref{sec:ipref} indicate that it may sometimes be tricky to define the right input preference. Exemplar-based agglomerative clustering on affinity propagation results provides an additional tool for finding the right number of clusters. Let us revisit the four-cluster example from Section \ref{sec:ipref}. We can apply \verb+aggExCluster()+ to an affinity propagation result if we run it on the affinity propagation result supplied as second argument \verb+x+: <>= aggres2a <- aggExCluster(x=apres2c) aggres2a @ The result \verb+apres2c+ had \Sexpr{length(apres2c)} clusters. \verb+aggExCluster()+ successively joins these clusters until only one cluster is left. The dendrogram of this cluster hierarchy is given as follows: \begin{center} <>= plot(aggres2a) @ \end{center} If one wants to see the original samples in the dendrogram of the cluster hierarchy, the \verb+showSamples=TRUE+ option can be used. In this case, it is recommended to reduce the font size of the labels via the \verb+nodePar+ parameter (see \verb+?plot.dendrogram+ and the examples therein): \begin{center} <>= plot(aggres2a, showSamples=TRUE, nodePar=list(pch=NA, lab.cex=0.4)) @ \end{center} The following heatmap coincides with the one shown in Section \ref{sec:ipref} above. This is not surprising, since the heatmap plot for an affinity propagation result uses \verb+aggExCluster()+ internally to arrange the clusters: \begin{center} <>= heatmap(aggres2a) @ \end{center} Once we are more or less sure about the number of clusters, we extract the right clustering level from the hierarchy. For demonstation purposes, we do this for $k=5,\dots,2$ in the following plots: \begin{center} <>= par(mfrow=c(2,2)) for (k in 5:2) plot(aggres2a, x2, k=k, main=paste(k, "clusters")) @ \end{center} There is one obvious, but important, condition: applying \verb+aggExCluster()+ to an affinity propagation result only makes sense if the number of clusters to start from is at least as large as the number of true clusters in the data set. Clearly, if the number of clusters is already too small, then merging will make the situation only worse. \subsection{Details on the merging objective} Like any other agglomerative clustering method (see, e.g., \cite{JainMurtyFlynn99,MichalskiStepp92,Ward63}), \verb+aggExCluster()+ merges clusters until only one cluster containing all samples is obtained. In each step, two clusters are merged into one, i.e.\ the number of clusters is reduced by one. The only aspect in which \verb+aggExCluster()+ differs from other methods is the merging objective. Suppose we consider two clusters for possible merging, each of which is given by an index set: \[ I = \{i_1,\dots,i_{n_I}\} \text{ and } J = \{j_1,\dots,j_{n_J}\} \] Then we first determine the potential {\em joint exemplar} $\mathop{\mathrm{ex}}(I,J)$ as the sample that maximizes the average similarity to all samples in the joint cluster $I\cup J$: \[ \mathop{\mathrm{ex}}(I,J) =\mathop{\mathrm{argmax}}\limits_{i\in I\cup J} \frac{1}{n_I + n_J}\cdot \sum\limits_{j\in I\cup J} S_{ij} \] Recall that $\mathbf{S}$ denotes the similarity matrix and $S_{ij}$ corresponds to the similarity of the $i$-th and the $j$-th sample. Then the merging objective is computed as \[ \mathop{\mathrm{obj}}(I,J)=\frac{1}{2}\cdot\Big(\frac{1}{n_I}\cdot \sum\limits_{j\in I} S_{\mathop{\mathrm{ex}}(I,J)j}+\frac{1}{n_J}\cdot \sum\limits_{k\in J} S_{\mathop{\mathrm{ex}}(I,J)k}\Big), \] which can be best described as ``{\em balanced average similarity to the joint exemplar}''. In each step, \verb+aggExCluster()+ considers all pairs of clusters in the current cluster set and joins that pair of clusters whose merging objective is maximal. The rationale behind the merging objective is that those two clusters should be joined that are best described by a joint exemplar. \section{Leveraged Affinity Propagation}\label{sec:lever} Leveraged affinity propagation is based on the idea that, for large data sets with many samples, the cluster structure is already visible on a subset of the samples. Instead of evaluating the similarity matrix for all sample pairs, the similarities of all samples to a subset of samples are computed --- resulting in a non-square similarity matrix. Clustering is performed on this reduced similarity matrix allowing for clustering large data sets more efficiently. In this form of clustering, several rounds of affinity propagation are executed with different sample subsets --- iteratively improving the clustering result. The implementation is based on the Matlab code of Frey and Dueck provided on the AP Web page\footnotemark[1]. Apart from dynamic improvements through reduced amount of distance calculations and faster clustering, the memory consumption is also reduced not only in terms of the memory used for storing the similarity matrix, but also in terms of memory used by the clustering algorithm internally. The two main parameters controlling leveraged AP clustering are the fraction of data points that should be selected for clustering (parameter \verb+frac+) and the number of sweeps or repetitions of individual clustering runs (parameter \verb+sweeps+). Initially, a sample subset is selected randomly. For the subsequent repetitions, the exemplars of the previous run are kept in the sample subset and the other samples in the subset are chosen randomly again. The best result of all sweeps with the highest net similarity is kept as final clustering result. When called with a similarity measure and a dataset the function \verb+apclusterL()+ performs both the calculation of similarities and leveraged affinity propagation. In the example below, we use 10\% of the samples and run 5 repetitions. The function implementing the similarity measure can either be passed as a function or as a function name (which must of course be resolvable in the current environment). Additional parameters for the distance calculation can be passed to \verb+apclusterL()+ which passes them on to the function implementing the similarity measure via the \verb+...+ argument list. In any case, this function must be implemented such that it expects the data in its first argument \verb+x+ (a subsettable data structure, such as, a vector, matrix, data frame, or list) and that it takes the selection of ``column objects'' as a second argument \verb+sel+ which must be a set of column indices. The functions \verb+negDistMat()+, \verb+expSimMat()+, \verb+linSimMat()+, \verb+corSimMat()+, and \verb+linKernel()+ provided by the \APCluster\ package also support the easy creation of parameter-free similarity measures (in R terminology called ``closures''). We recommend this variant, as it is safer in terms of possible name conflicts between arguments of \verb+apclusterL()+ and arguments of the similarity function. Here is an example that makes use of a closure for defining the similarity measure: \begin{center} <>= cl5 <- cbind(rnorm(100, 0.3, 0.05), rnorm(100, 0.7, 0.04)) cl6 <- cbind(rnorm(100, 0.70, 0.04), rnorm(100, 0.4, 0.05)) x3 <- rbind(cl5, cl6) apres3 <- apclusterL(s=negDistMat(r=2), x=x3, frac=0.1, sweeps=5, p=-0.2) apres3 plot(apres3, x3) @ \end{center} The function \verb+apclusterL()+ creates a result object of S4 class \verb+APResult+ that contains the same information as for standard AP. Additionally, the selected sample subset, the associated rectangular similarity matrix for the best sweep (provided that \verb+includeSim=TRUE+) and the net similarities of all sweeps are returned in this object. <>= dim(apres3@sim) apres3@sel apres3@netsimLev @ The result returned by leveraged affinity propagation can be used for further processing in the same way as a result object returned from \verb+apcluster()+, e.g., merging of clusters with agglomerative clustering can be performed. For heatmap plotting either the parameter \verb+includeSim=TRUE+ must be set in \verb+apcluster()+ or \verb+apclusterL()+ to make the similarity matrix available in the result object or the similarity matrix must be passed as second parameter to \verb+heatmap()+ explicitly. The heatmap for leveraged AP looks slightly different compared to the heatmap for affinity propagation because the number of samples is different in both dimensions. \begin{center} <>= heatmap(apres3) @ \end{center} Often selected samples will be chosen as exemplars because, only for them, the full similarity information is available. This means that the fraction of samples should be selected in a way such that a considerable number of samples is available for each expected cluster. Please also note that a data set of the size used in this example can easily be clustered with regular affinity propagation. The data set was kept small to keep the package build time short and the amount of data output in the manual reasonable. For users requiring a higher degree of flexibility, e.g., for a customized selection of the sample subset, \verb+apclusterL()+ called with a rectangular similiarity matrix performs affinity propagation on a rectangular similarity matrix. See the source code of \verb+apclusterL()+ with signature \verb+s=function+ and \verb+x=ANY+ for an example how to embed \verb+apclusterL()+ into a complete loop performing leveraged AP. The package-provided functions for distance calculation support the generation of rectangular similarity matrices (see Chapter \ref{sec:DistMat}). \section{Sparse Affinity Propagation}\label{sec:sparse} Starting with Version 1.4.0 of the \APCluster\ package, the functions \verb+apcluster()+, \verb+apclusterK()+, and \verb+preferenceRange()+ can also handle similarity matrices as defined by the \verb+Matrix+ package. While all dense matrix formats are converted to standard R matrices, sparse matrices are converted internally to \verb+dgTMatrix+ objects. For these sparse matrices, special implementations of the \verb+apcluster()+, \verb+apclusterK()+, and \verb+preferenceRange()+ are available that fully exploit the sparseness of the matrices and may require much less operations if the matrix is sufficiently sparse. In order to demonstrate that, consider the following example: <>= dsim <- negDistMat(x2, r=2) ssim <- as.SparseSimilarityMatrix(dsim, lower=-0.2) str(ssim) @ The function \verb+as.SparseSimilarityMatrix()+ converts the dense similarity matrix \verb+dsim+ into a sparse similarity matrix by removing all pairwise similarities that are -0.2 or lower. Note that this is only for demonstration purposes. If the size of data permits that, it is advisable to use the entire dense similarity matrix. Anyway, let us run sparse AP on this similarity matrix: \begin{center} <>= sapres <- apcluster(ssim, q=0) plot(sapres, x2) @ \end{center} The functions \verb+preferenceRange()+ and \verb+apclusterK()+ work in the same way as for dense similarity matrices: <>= preferenceRange(ssim) apclusterK(ssim, K=2) @ The functions \verb+aggExCluster()+ and \verb+heatmap()+ have been extended to be able to handle sparse matrices. Note, however, that these functions are not yet exploiting sparsity properly. Instead, they convert all inputs to dense matrices before processing them, which may lead to memory and/or performance issues for large data sets. \begin{center} <>= heatmap(sapres, ssim) @ \end{center} The above heatmap illustrates that values that are not stored in the sparse similarity matrix are filled up with low values (see the red areas between some pairs of samples that belong to different clusters). Actually, each missing value is replaced with \[ \min(s)-(\max(s)-\min(s))=2\cdot\min(s)-\max(s), \] where $\min(s)$ and $\max(s)$ denote the smallest and the largest similarity value specified in the sparse similarity matrix $s$, respectively. The same replacement takes place when \verb+aggExCluster()+ converts sparse similarity matrices to dense ones. \section{A Toy Example with Biological Sequences}\label{sec:bioseq} As noted in the introduction above, one of the goals of this package is to leverage affinity propagation in bioinformatics applications. In order to demonstrate the usage of the package in a biological application, we consider a small toy example here. The package comes with a toy data set \verb+ch22Promoters+ that consists of sub-sequences of promoter regions of 150 random genes from the human chromosome no.\ 22 (according to the human genome assembly hg18). Each sequence consists of the 1000 bases upstream of the transcription start site of each gene. Suppose we want to cluster these sequences in order to find out whether groups of promoters can be identified on the basis of the sequence only and, if so, to identify exemplars that are most typical for these groups. <>= library(Biostrings) filepath <- system.file("examples", "ch22Promoters.fasta", package="apcluster") ch22Promoters <- readDNAStringSet(filepath) ch22Promoters @ Obviously, these are classical nucleotide sequences, each of which is identified by the RefSeq identifier of the gene the promoter sequence stems from. In order to compute a similarity matrix for this data set, we choose (without further justification, just for demonstration purposes) the simple {\em spectrum kernel} \cite{LeslieEskinNoble02} with a sub-sequence length of $k=6$. We use the implementation from the \KeBABS\ package \cite{PalmeHochreiterBodenhofer15} to compute the similarity matrix in a convenient way: <>= library(kebabs) specK6 <- spectrumKernel(k=6) promSim <- getKernelMatrix(specK6, ch22Promoters) promSim[1:4, 1:4] @ Now we run affinity propagation on the similarity matrix: <>= promAP <- apcluster(promSim, q=0) promAP @ So we obtain \Sexpr{length(promAP@exemplars)} clusters in total. The corresponding heatmap looks as follows (note that we have to supply the similarity matrix, as it is not included by default if \verb+apcluster()+ is called with the similarity matrix; the reason is that, for large data sets, it is more memory-efficient not to make multiple copies of the similarity matrix; see also \ref{ssec:memeff}): \begin{center} <>= heatmap(promAP, promSim, Rowv=FALSE, Colv=FALSE) @ \end{center} Let us now run agglomerative clustering to further join clusters. <>= promAgg <- aggExCluster(promSim, promAP) @ The resulting dendrogram is given as follows: \begin{center} <>= plot(promAgg) @ \end{center} The dendrogram does not give a very clear indication about the best number of clusters. Let us adopt the viewpoint for a moment that 5 clusters are reasonable. <>= prom5 <- cutree(promAgg, k=5) prom5 @ The final heatmap looks as follows: \begin{center} <>= heatmap(prom5, promSim, Rowv=FALSE, Colv=FALSE) @ \end{center} \section{Similarity Matrices}\label{sec:DistMat} Apart from the obvious monotonicity ``the higher the value, the more similar two samples'', affinity propagation does not make any specific assumption about the similarity measure. Negative squared distances must be used if one wants to minimize squared errors \cite{FreyDueck07}. Apart from that, the choice and implementation of the similarity measure is left to the user. Our package offers a few more methods to obtain similarity matrices. The choice of the right one (and, consequently, the objective function the algorithm optimizes) still has to be made by the user. All functions described in this section assume the input data matrix to be organized such that each row corresponds to one sample and each column corresponds to one feature (in line with the standard function \verb+dist+). If a vector is supplied instead of a matrix, each single entry is interpreted as a (one-dimensional) sample. \subsection{The function \texttt{negDistMat()}} The function \verb+negDistMat()+, in line with Frey and Dueck, allows for computing negative distances for a given set of real-valued data samples. If called with the first argument \verb+x+, a similarity matrix with pairwise negative distances is returned: <>= s <- negDistMat(x2) @ The function \texttt{negDistMat()} provides the same set of distance measures and parameters as the standard function \verb+dist()+ (except for \verb+method="binary"+ which makes little sense for real-valued data). Presently, \verb+negDistMat()+ provides the following variants of computing the distance $d(\vec{x},\vec{y})$ of two data samples $\vec{x}=(x_1,\dots,x_n)$ and $\vec{y}=(y_1,\dots,y_n)$: \begin{description} \item[Euclidean:] \[ d(\vec{x},\vec{y})=\sqrt{\sum\limits_{i=1}^n (x_i-y_i)^2} \] use \verb+method="euclidean"+ or do not specify argument \verb+method+ (since this is the default); \item[Maximum:] \[ d(\vec{x},\vec{y})=\max\limits_{i=1}^n |x_i-y_i| \] use \verb+method="maximum"+; \item[Sum of absolute distances / Manhattan:] \[ d(\vec{x},\vec{y})=\sum\limits_{i=1}^n |x_i-y_i| \] use \verb+method="manhattan"+; \item[Canberra:] \[ d(\vec{x},\vec{y})=\sum\limits_{i=1}^n \frac{|x_i-y_i|}{|x_i+y_i|} \] summands with zero denominators are not taken into account; use \verb+method="canberra"+; \item[Minkowski:] \[ d(\vec{x},\vec{y})=\left(\sum\limits_{i=1}^n (x_i-y_i)^p\right)^{\frac{1}{p}} \] use \verb+method="minkowski"+ and specify $p$ using the additional argument $\verb+p+$ (default is \verb+p=2+, resulting in the standard Euclidean distance); \item[Discrepancy:] \[ d(\vec{x},\vec{y})=\max\limits_{1\leq\alpha\leq\beta\leq n}\left|\sum\limits_{i=\alpha}^{\beta} (y_i-x_i)\right| \] use \verb+method="discrepancy"+ \cite{Weyl16}. \end{description} The function \verb+negDistMat()+ then takes the distances computed with one of the variants listed above and returns $-1$ times the $r$-th power of it, i.e., \begin{equation}\label{eq:negDistMat} s(\vec{x},\vec{y})=-d(\vec{x},\vec{y})^r. \end{equation} The exponent $r$ can be adjusted with the argument \verb+r+. The default is \verb+r=1+, hence, one has to supply \verb+r=2+ to obtain negative squared distances as in the examples in previous sections. Here are some examples: <>= ex <- matrix(c(0, 0.5, 0.8, 1, 0, 0.2, 0.5, 0.7, 0.1, 0, 1, 0.3, 1, 0.8, 0.2), 5, 3, byrow=TRUE) ex @ Standard Euclidean distance: <>= negDistMat(ex) @ Squared Euclidean distance: <>= negDistMat(ex, r=2) @ Maximum norm-based distance: <>= negDistMat(ex, method="maximum") @ Sum of absolute distances (aka Manhattan distance): <>= negDistMat(ex, method="manhattan") @ Canberra distance: <>= negDistMat(ex, method="canberra") @ Minkowski distance for $p=3$ ($3$-norm): <>= negDistMat(ex, method="minkowski", p=3) @ If called without the data argument \verb+x+, a function object is returned that can be supplied to clustering functions --- as in the majority of the above examples: <>= sim <- negDistMat(r=2) is.function(sim) apcluster(sim, x1) @ Depending on the application, it might be advisable to center and/or scale the data in order to equalize the influence of all features/columns. This makes sense for standard vector space distances like the Euclidean distance and can easily be accomplished by the \verb+scale()+ method. The discrepancy distance, in contrast, is strongly dependent on the order to feature/columns and is rather aimed at comparing signals. For this measure, therefore, row-wise centering can be advisable \cite{BauerBodenhoferKlement96c}. This is easily done with the \verb+sweep()+ function: <>= ex2 <- matrix(c(0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1), 3, 8, byrow=TRUE) matplot(t(ex2), ylab="") matlines(t(ex2), type="s") negDistMat(ex2, method="discrepancy") ex2Scaled <- sweep(ex2, 1, rowMeans(ex2)) ex2Scaled matplot(t(ex2Scaled), ylab="") matlines(t(ex2Scaled), type="s") negDistMat(ex2Scaled, method="discrepancy") @ \subsection{Other similarity measures} The package \APCluster\ offers four more functions for creating similarity matrices for real-valued data: \begin{description} \item[Exponential transformation of distances:] the function \verb+expSimMat()+ works in the same way as the function \verb+negDistMat()+. The difference is that, instead of the transformation \eqref{eq:negDistMat}, it uses the following transformation: \[ s(\vec{x},\vec{y})=\exp\left(-\left(\frac{d(\vec{x},\vec{y})}{w}\right)^r\right) \] Here the default is \verb+r=2+. It is clear that \verb+r=2+ in conjunction with \verb+method="euclidean"+ results in the well-known {\em Gaussian kernel / RBF kernel} \cite{FitzGeraldMicchelliPinkus95,Micchelli86,SchoelkopfSmola02}, whereas \verb+r=1+ in conjunction with \verb+method="euclidean"+ results in the similarity measure that is sometimes called {\em Laplace kernel} \cite{FitzGeraldMicchelliPinkus95,Micchelli86}. Both variants (for non-Euclidean distances as well) can also be interpreted as {\em fuzzy equality/similarity relations} \cite{DeBaetsMesiar02}. \item[Linear scaling of distances with truncation:] the function \verb+linSimMat()+ uses the transformation \[ s(\vec{x},\vec{y})=\max\left(1-\frac{d(\vec{x},\vec{y})}{w},0\right) \] which is also often interpreted as a {\em fuzzy equality/similarity relation} \cite{DeBaetsMesiar02}. \item[Correlation:] the function \verb+corSimMat()+ interprets the rows of its argument \verb+x+ (matrix or data frame) as multivariate observations and computes similarities as pairwise correlations. The function \verb+corSimMat()+ is actually a wrapper around the standard function \verb+cor()+. Consequently, the \verb+method+ argument allows for selecting the type of correlation to compute (Pearson, Spearman, or Kendall). \item[Linear kernel:] scalar products can also be interpreted as similarity measures, a view that is often adopted by kernel methods in machine learning. In order to provide the user with this option as well, the function \verb+linKernel()+ is available. For two data samples $\vec{x}=(x_1,\dots,x_n)$ and $\vec{y}=(y_1,\dots,y_n)$, it computes the similarity as \[ s(\vec{x},\vec{y})=\sum\limits_{i=1}^n x_i\cdot y_i. \] The function has one additional argument, \verb+normalize+ (default: \verb+FALSE+). If \verb+normalize+ is set to \verb+TRUE+, values are normalized to the range $[-1,+1]$ in the following way: \[ s(\vec{x},\vec{y})=\frac{\sum_{i=1}^n x_i\cdot y_i}% {\sqrt{\big(\sum_{i=1}^n x_i^2\big)\cdot% \big(\sum_{i=1}^n y_i^2\big)}} \] Entries for which at least one of the two factors in the denominator is zero are set to zero (however, the user should be aware that this should be avoided anyway). \end{description} For the same example data as above, we obtain the following for the RBF kernel: <>= expSimMat(ex) @ Laplace kernel: <>= expSimMat(ex, r=1) @ Pearson correlation coefficient: <>= corSimMat(ex, method="pearson") @ Spearman rank correlation coefficient: <>= corSimMat(ex, method="spearman") @ Linear scaling of distances with truncation: <>= linSimMat(ex, w=1.2) @ Linear kernel: <>= linKernel(ex[2:5,]) @ Normalized linear kernel: <>= linKernel(ex[2:5,], normalize=TRUE) @ All of these functions work in the same way as \verb+negDistMat()+: if called with argument \verb+x+, a similarity matrix is returned, otherwise a function is returned. \subsection{Rectangular similarity matrices} With the introduction of leveraged affinity propagation, distance calculations are entirely performed within the \APCluster\ package. The code is based on a customized version of the \verb+dist()+ function from the \verb+stats+ package. In the following example, a rectangular similarity matrix of all samples against a subset of the samples is computed: <>= sel <- sort(sample(1:nrow(x1), ceiling(0.08 * nrow(x1)))) sel s1r <- negDistMat(x1, sel, r=2) dim(s1r) s1r[1:7,] @ The rows correspond to all samples, the columns to the sample subset. The \verb+sel+ parameter specifies the sample indices of the selected samples in increasing order. Rectangular similarity calculation is provided in all distance functions of the package. If the parameter \verb+sel+ is not specified, the quadratic similarity matrix of all sample pairs is computed. \subsection{Defining a custom similarity measure for leveraged affinity propagation}\label{ssec:leverSim} As mentioned in Section \ref{sec:lever} above, leveraged affinity propagation requires the definition of a similarity measure that is supplied as a function or function name to \verb+apclusterL()+. For vectorial data, the similarity measures supplied with the package (see above) may be sufficient. If other similarity measures are necessary or if the data are not vectorial, the user must supply his/her own similarity measure. The user can supply any function as argument \verb+s+ to \verb+apcluster()+, \verb+apclusterK()+, or \verb+apclusterL()+, but the following rules must be obeyed in order to avoid errors and to ensure meaningful results: \begin{enumerate} \item The data must be supplied as first argument, which must be named \verb+x+. \item The second argument must be named \verb+sel+ and must be interpreted as a vector of indices that select a subset of data items in \verb+x+. \item The function must return a numeric matrix with similarities. If \verb+sel=NA+, the format of the matrix must be \verb+length(x)+$\times$\verb+length(x)+. If \verb+sel+ is not \verb+NA+, but contains indices selecting a subset, the format of the returned similarity matrix must be \verb+length(x)+$\times$\verb+length(sel)+. \item Although this is not a must, it is recommended to properly set row and column names in the returned similarity matrix. \end{enumerate} As an example, let us revisit the sequence clustering example presented in Section \ref{sec:bioseq}. Let us first define the function that implements the similarity measure: <>= spectrumK6 <- function(x, sel=NA) { if (any(is.na(sel))) s <- getKernelMatrix(specK6, x) else s <- getKernelMatrix(specK6, x, x[sel]) as(s, "matrix") } @ Now we run leveraged affinity propagation on the \verb+ch22Promoters+ data set using this similarity measure <>= promAPL <- apclusterL(s=spectrumK6, ch22Promoters, frac=0.1, sweeps=10, p=promAP@p) promAPL @ So we obtain \Sexpr{length(promAPL@exemplars)} clusters in total. \subsection{Defining a custom similarity measure that creates a sparse similarity matrix} Since Version 1.4.0, similarity matrices may also be sparse (cf.~Section~\ref{sec:sparse}). Correspondingly, the similarity measures passed to \verb+apcluster()+ and \verb+apclusterK()+ may also return sparse similarity matrices: <>= sparseSim <- function(x) { as.SparseSimilarityMatrix(negDistMat(x, r=2), lower=-0.2) } sapres2 <- apcluster(sparseSim, x2, q=0) sapres2 str(similarity(sapres2)) @ Note that similarity measures passed to \verb+apclusterL()+ may not return sparse matrices. Instead, they must accept a \verb+sel+ argument and return a rectangular dense matrix (see Subsection~\ref{ssec:leverSim} above). \section{Miscellaneous} \subsection{Convenience vs.\ efficiency}\label{ssec:memeff} In most of the above examples, we called a clustering method by supplying it with a similarity function and the data to be clustered. This is undoubtedly a convenient approach. Since the resulting output objects (unless the option \verb+includeSim=FALSE+ is supplied) even includes the similarity matrix, we can plot heatmaps and produce a cluster hierarchy on the basis of the clustering result without the need to supply the similarity matrix explicitly. For large data sets, however, this convenient approach has some disadvantages: \begin{itemize} \item If the clustering algorithm is run several times on the same data set (e.g., for different parameters), the similarity matrix is recomputed every time. \item Every clustering result (depending on the option \verb+includeSim+) usually includes a copy of the similarity matrix. \end{itemize} For these reasons, depending on the actual application scenario, users should consider computing the similarity matrix beforehand. This strategy, however, requires some extra effort for subsequent processing, i.e.\ the similarity must be supplied as an extra argument in subsequent processing. \subsection{Clustering named objects}\label{ssec:names} The function \verb+apcluster()+ and all functions for computing distance matrices are implemented to recognize names of data objects and to correctly pass them through computations. The mechanism is best described with a simple example: <>= x3 <- c(1, 2, 3, 7, 8, 9) names(x3) <- c("a", "b", "c", "d", "e", "f") s3 <- negDistMat(x3, r=2) @ So we see that the \verb+names+ attribute must be used if a vector of named one-dimensional samples is to be clustered. If the data are not one-dimensional (a matrix or data frame), object names must be stored in the row names of the data matrix. All functions for computing similarity matrices recognize the object names. The resulting similarity matrix has the list of names both as row and column names. <>= s3 colnames(s3) @ The function \verb+apcluster()+ and all related functions use column names of similarity matrices as object names. If object names are available, clustering results are by default shown by names. <>= apres3a <-apcluster(s3) apres3a apres3a@exemplars apres3a@clusters @ \subsection{Computing a label vector from a clustering result} \label{ssec:labels} For later classification or comparisons with other clustering methods, it may be useful to compute a label vector from a clustering result. Our package provides an instance of the generic function \verb+labels()+ for this task. As obvious from the following example, the argument \verb+type+ can be used to determine how to compute the label vector. <>= apres3a@exemplars labels(apres3a, type="names") labels(apres3a, type="exemplars") labels(apres3a, type="enum") @ The first choice, \verb+"names"+ (default), uses names of exemplars as labels (if names are available, otherwise an error message is displayed). The second choice, \verb+"exemplars"+, uses indices of exemplars (enumerated as in the original data set). The third choice, \verb+"enum"+, uses indices of clusters (consecutively numbered as stored in the slot \verb+clusters+ --- analogous to the standard implementation of \verb+cutree()+ or the \verb+clusters+ field of the list returned by the standard function \verb+kmeans()+). \subsection{Customizing heatmaps} With Version 1.3.1, the implementation of heatmap plotting has changed significantly. The method now allows for many more customizations than before. Apart from changes in the argument list (see \verb+?heatmap+), the behavior of the method has changed as follows: \begin{itemize} \item Dendrograms are always plotted if possible. To switch off plotting of dendrograms, set \verb+Rowv+ and \verb+Colv+ to \verb+FALSE+ or \verb+NA+. If a dendrogram should only appear to the left of the heatmap, set \verb+Colv+ to \verb+FALSE+ or \verb+NA+. Analogously, set \verb+Rowv+ to \verb+FALSE+ or \verb+NA+ if a dendrogram should only be plotted on top of the plot (not possible if the similarity matrix is non-quadratic). \item Previously, \verb+rainbow()+ was used internally to determine how the bars illustrating the clusters are colored. Now users can determine the coloring of the color bars using the \verb+sideColors+ argument. For \verb+sideColors=NULL+, a meaningful color coding is determined automatically which still uses \verb+rainbow()+, but ensures that no similar colors are placed next to each other in the bar. \item The default font sizes for displaying row/column labels have been changed to make sure that they do not overlap. This can result in quite small labels if the number of samples is larger. In any case, the user can override the sizes by making custom settings of the parameters \verb+cexRow+ and \verb+cexCol+. Row and column labels can even be switched off entirely by setting \verb+cexRow+ and \verb+cexCol+ to 0, respectively. \end{itemize} Moreover, with Version~1.4.3, the possibility to add a color legend has been integrated. Here is an example with the vertical dendrogram switched off, an alternate color scheme, custom margins, and a color legend: \begin{center} <>= heatmap(apres2c, sideColors=c("darkgreen", "yellowgreen"), col=terrain.colors(12), Rowv=FALSE, dendScale=0.5, margins=c(3, 3, 2), legend="col") @ \end{center} The following example reverts to the default behavior prior to Version 1.3.1: consecutive rainbow colors, no dendrograms, and traditional sizing of row/column labels: \begin{center} <>= heatmap(apres2c, sideColors=rainbow(length(apres2c)), Rowv=FALSE, Colv=FALSE, cexRow=(0.2 + 1 / log10(nrow(apres2c@sim))), cexCol=(0.2 + 1 / log10(nrow(apres2c@sim)))) @ \end{center} \subsection{Adding a legend to plots of clustering results} As shown above, \verb+plot()+ called for an \verb+APResult+ object as first and a matrix or data frame as second argument plots the clustering result superimposed on a scatter plot (or a scatter plot matrix if the number of columns in the second argument exceeds 2). The clusters are shown in different colors, but it may not be clear which cluster is shown in which color. Therefore, it may be useful to show a legend along with the plot. The current implementation of \verb+plot()+ does not show a legend, since it is hard to determine where to actually place the legend such that no important cluster information gets occluded by the legend. Therefore, the user has to add legends manually. Actually, colors are always chosen according to a simple rule: \verb+plot()+ uses \verb+rainbow()+ to create a vector of colors that is exactly as long as the number of clusters in the \verb+APResult+ object. The following example shows how to plot a legend manually (with the clusters enumerated in the same way as in the \verb+APResult+ object): \begin{center} <>= plot(apres2a, x2) legend("bottomleft", legend=paste("Cluster", 1:length(apres2a)), col=rainbow(length(apres2a)), pch=19) @ \end{center} Note that this method is only meaningful for plotting clustering results superimposed on a 2D data set. For scatter plot matrices, this does not work in a meaningful way. In such a case, the user is rather recommended to create a legend separately (in a separate graphics device/file) and to display it along with the scatter plot matrix. To create only the legend, code like the following could be used: \begin{center} <>= plot.new() par(oma=rep(0, 4), mar=rep(0, 4)) legend("center", legend=paste("Cluster", 1:length(apres2c)), col=rainbow(length(apres2c)), pch=19) @ \end{center} It still may be necessary to strip off white margins for further usage of the legend. \subsection{Implementation and performance issues}\label{ssec:perf} Prior to Version 1.2.0, \verb+apcluster()+ was implemented in R. Starting with version 1.2.0, the main iteration loop of \verb+apcluster()+ has been implemented in C++ using the Rcpp package \cite{EddelbuettelFrancois11}, which has led to a speedup in the range of a factor or 9--10. Note that \verb+details=TRUE+ requires quite an amount of additional memory. If possible, avoid this for larger data sets. The asymptotic computational complexity of \verb+aggExCluster()+ is $\mathcal{O}(l^3)$ (where $l$ is the number of samples or clusters from which the clustering starts). This may result in excessively long computation times if \verb+aggExCluster()+ is used for larger data sets without using affinity propagation first. For real-world data sets, in particular, if they are large, we recommend to use affinity propagation first and then, if necessary, to use \verb+aggExCluster()+ to create a cluster hierarchy. \subsection{Using APCluster in Conjunction with KeBABS} The example in Section~\ref{sec:bioseq} makes use of the \KeBABS\ package \cite{PalmeHochreiterBodenhofer15}. In previous versions, the two packages defined the \verb+heatmap()+ methods as S4 generics in conflicting ways. For this reason, the order in which the two packages were loaded mattered, and the \verb+heatmap()+ methods of the package that was loaded first was no longer available. This conflict has been resolved with \KeBABS\ development version 1.5.4. The first official release solving this issue was 1.6.0, which was released as part of Bioconductor 3.3 on May 4, 2016. \section{Special Notes for Users Upgrading from Previous Versions} \subsection{Upgrading from a version older than 1.3.0} Version 1.3.0 has brought several fundamental changes to the architecture of the package. We tried to ensure backward compatibility with previous versions where possible. However, there are still some caveats the users should take into account: \begin{itemize} \item The functions \verb+apcluster()+, \verb+apclusterK()+, and \verb+aggExCluster()+ have been re-im\-ple\-ment\-ed as S4 generics, therefore, they do not have a fixed list of arguments anymore. For this reason, users are recommended to name all optional parameters. \item Heatmap plotting has been shifted to the function \verb+heatmap()+ which has now been defined as an S4 generic method. Previous methods for plotting heatmaps using \verb+plot()+ have been partly available in Versions 1.3.0 and 1.3.1. Since Version 1.3.2, they are no longer available. \end{itemize} \subsection{Upgrading to Version 1.3.3 or newer} Users who upgrade to Version 1.3.3 (or newer) from an older version should be aware that the package now requires a newer version of Rcpp. This issue can simply be solved by re-installing Rcpp from CRAN using \verb+install.packages("Rcpp")+. \subsection{Upgrading to Version 1.4.0} The function \verb+sparseToFull()+ has been deprecated. A fully compatible function \verb+as.DenseSimilarityMatrix()+ is available that replaces and extends \verb+sparseToFull()+. \section{Change Log} \begin{description} \item[Version 1.4.8:] \hfill \begin{itemize} \item correction of \verb+aggExCluster()+ C++ code \item correction of link to Affinity Propagation website at University of Toronto \item removed obsolete help file \verb+ch22Promoters.Rd+ \end{itemize} \item[Version 1.4.7:] \hfill \begin{itemize} \item correction of \verb+aggExCluster()+ C++ code to avoid compilation error on Solaris \end{itemize} \item[Version 1.4.6:] \hfill \begin{itemize} \item \verb+aggExCluster()+ now implemented in C++ instead of R in order to improve speed \item further correction of conditional loading of package suggested by vignette \end{itemize} \item[Version 1.4.5:] \hfill \begin{itemize} \item loading of suggested Bioconductor packages now performed conditionally to avoid problems when building the package on some platforms that do not have the Bioconductor packages installed \end{itemize} \item[Version 1.4.4:] \hfill \begin{itemize} \item changed dependency to suggested package \verb+kebabs+ to version of at least 1.5.4 for improved interoperability \item bug fix in \verb+as.dendrogram()+ method with signature `\verb+AggExResult+' \item added discrepancy metric to distance computations and updated \verb+src/distanceL.c+ to new version \item registered C/C++ subroutines \item minor change in the vignette template \item moved \verb+NEWS+ to \verb+inst/NEWS+ \item added \verb+inst/COPYRIGHT+ \end{itemize} \item[Version 1.4.3:] \hfill \begin{itemize} \item added optional color legend to heatmap plotting; in line with this change, some minor changes to the interface of the \verb+heatmap()+ function \item corresponding updates of help pages and vignette \end{itemize} \item[Version 1.4.2:] \hfill \begin{itemize} \item switched sequence kernel example in vignette from \verb+kernlab+ to \KeBABS\ package \item workaround to ensure that all \verb+apcluster*()+ methods are able to process \verb+KernelMatrix+ objects (cf. \KeBABS\ package) \item replaced data set \verb+ch22Promoters+ by plain text file (FASTA format) in \verb+inst/examples+ \item bug fix in the \verb+heatmap()+ method \item vignette engine changed from Sweave to knitr \end{itemize} \item[Version 1.4.1:] \hfill \begin{itemize} \item fixes in C++ code of sparse affinity propagation \end{itemize} \item[Version 1.4.0:] \hfill \begin{itemize} \item added \verb+apcluster()+ method for sparse similarity matrices; as a consequence, the package now imports the \verb+Matrix+ package and is now also able to handle non-sparse matrix classes defined by the \verb+Matrix+ package. Moreover, similarity functions supplied to the \verb+apcluster()+ method may now also return any matrix type defined by the \verb+Matrix+ package. \item fix of \verb+apcluster()+ for dense matrices to better support \verb+-Inf+ similarities \item added \verb+apclusterK()+ method for sparse similarity matrices \item \verb+preferenceRange()+ is now an S4 generic; re-implementation in C++ to speed up function; changed handling of \verb+-Inf+ similarities for consistency with sparse version. \item added \verb+preferenceRange()+ methods for sparse matrices and dense matrix objects from the \verb+Matrix+ package. \item new conversion methods implemented for converting dense similarity matrices to sparse ones and vice versa; consequently, \verb+sparseToFull()+ is marked as deprecated. \item adaptation of \verb+heatmap()+ function for improved handling of \verb+-Inf+ similarities \item adaptations of signatures of \verb+[+ and \verb+[[+ accessor methods \item renamed help page of methods for computing similarity matrices to `similarities' in order to avoid confusion with the accessor method \verb+similarity()+. \item corresponding updates of help pages and vignette \end{itemize} \item[Version 1.3.5:] \hfill \begin{itemize} \item memory access fixes in C++ code called from \verb+apclusterL()+ \item minor updates of vignette \end{itemize} \item[Version 1.3.4:] \hfill \begin{itemize} \item added \verb+sort()+ function to rearrange clusters according to sort criterion; note that this is an S3 method (see help page for explanation) \item improvements and bug fixes of \verb+apclusterL()+ method for signature (\verb+s="matrix"+, \verb+x="missing"+) \item performance optimizations of \verb+apcluster()+ and \verb+apclusterL()+ \item plotting of clustering results superimposed in scatter plot matrices now also works for `\verb+AggExResult+' objects \item improvements of consistency of error and warning messages \item according adaptations of documentation and vignette \item adapted dependency and linking to Rcpp version 0.11.1 (to avoid issues on Mac OS) \item minor correction of package namespace \end{itemize} \item[Version 1.3.3:] \hfill \begin{itemize} \item adapted dependencies and linking to Rcpp version 0.11.0 \item cleared up package dependencies \end{itemize} \item[Version 1.3.2:] \hfill \begin{itemize} \item plotting of clustering results extended to data sets with more than two dimensions (resulting in the clustering result being superimposed in a scatterplot matrix); the variant that \verb+plot()+ can be used to draw a heatmap has been removed. From now on, \verb+heatmap()+ must always be used. \item improved \verb+NA+ handling \item correction of input check in \verb+apcluster()+ and \verb+apclusterL()+ (previously, both functions issued a warning whenever argument \verb+p+ had length $> 1$) \item corresponding updates and further improvements of help pages and vignette \end{itemize} \item[Version 1.3.1:] \hfill \begin{itemize} \item re-implementation of \verb+heatmap()+ method: dendrograms can now be plotted even for \verb+APResult+ and \verb+ExClust+ objects as well as for cluster hierarchies based on prior clusterings; color bars can now be switched off and colors can be changed by user (by new \verb+sideColor+ argument); dendrograms can be switched on and off (by \verb+Rowv+ and \verb+Colv+ arguments); \item added \verb+as.hclust()+ and \verb+as.dendrogram()+ methods \item added new arguments \verb+base+, \verb+showSamples+, and \verb+horiz+to the \verb+plot()+ method with signature (\verb+x="AggExResult"+, \verb+y="missing"+); moreover, parameters for changing the appearance of the height axis are now respected as well \item streamlining of methods (redundant definition of inherited methods removed) \item various minor improvements of code and documentation \end{itemize} \item[Version 1.3.0:] \hfill \begin{itemize} \item added Leveraged Affinity Propagation Clustering \item re-implementation of main functions as S4 generic methods in order to facilitate the convenient internal computation of similarity matrices \item for convenience, similarity matrices can be stored as part of clustering results \item heatmap plotting now done by \verb+heatmap()+ which has been defined as S4 generic \item extended interface to functions for computing similarity matrices \item added function \verb+corSimMat()+ \item implementation of \verb+length()+ method for classes \verb+APResult+, \verb+AggExResult+, and \verb+ExClust+ \item added accessor function to extract clustering levels from \verb+AggExResult+ objects \item correction of exemplars returned by \APCluster\ for \verb+details=TRUE+ in slot \verb+idxAll+ of returned \verb+APResult+ object \item when using data stored in a data frame, categorical columns are now explicitly omitted, thereby, avoiding warnings \item all clustering methods now store their calls into the result objects \item updates and extensions of help pages and vignette \end{itemize} \item[Version 1.2.0:] \hfill \begin{itemize} \item reimplementation of \verb+apcluster()+ in C++ using the Rcpp package \cite{EddelbuettelFrancois11} which reduces computation times by a factor of 9-10 \item obsolete function \verb+apclusterLM()+ removed \item updates of help pages and vignette \end{itemize} \item[Version 1.1.1:] \hfill \begin{itemize} \item updated citation \item minor corrections in help pages and vignette \end{itemize} \item[Version 1.1.0:] \hfill \begin{itemize} \item added exemplar-based agglomerative clustering function \verb+aggExCluster()+ \item added various plotting functions for dendrograms and heatmaps \item extended help pages and vignette according to new functionality \item added sequence analysis example to vignette along with data set \verb+ch22Promoters+ \item re-organization of variable names in vignette \item added option \verb+verbose+ to \verb+apclusterK()+ \item numerous minor corrections in help pages and vignette \end{itemize} \item[Version 1.0.3:] \hfill \begin{itemize} \item Makefile in \verb+inst/doc+ eliminated to avoid installation problems \item renamed vignette to ``\verb+apcluster.Rnw+'' \end{itemize} \item[Version 1.0.2:] \hfill \begin{itemize} \item replacement of computation of responsibilities and availabilities in function \verb+apcluster()+ by pure matrix operations (see \ref{ssec:perf} above); traditional implementation \`a la Frey and Dueck still available as function \verb+apclusterLM+; \item improved support for named objects (see \ref{ssec:names}) \item new function for computing label vectors (see \ref{ssec:labels}) \item re-organization of package source files and help pages \end{itemize} \item[Version 1.0.1:] first official release, released March 2, 2010 \end{description} \section{How to Cite This Package} If you use this package for research that is published later, you are kindly asked to cite it as follows: \begin{quotation} \noindent U.\ Bodenhofer, A.\ Kothmeier, and S.\ Hochreiter (2011). APCluster: an R package for affinity propagation clustering. {\em Bioinformatics} {\bf 27}(17):2463--2464. DOI: \href{http://dx.doi.org/10.1093/bioinformatics/btr406}{10.1093/bioinformatics/btr406}. \end{quotation} Moreover, we insist that, any time you cite the package, you also cite the original paper in which affinity propagation has been introduced \cite{FreyDueck07}. To obtain Bib\TeX\ entries of the two references, you can enter the following into your R session: <>= toBibtex(citation("apcluster")) @ \bibliographystyle{plain} \bibliography{apcluster} \end{document} apcluster/inst/doc/apcluster.R0000644000176200001440000003046013527065715016141 0ustar liggesusers## ----Init,echo=FALSE,message=FALSE,results='hide'--------------------- options(width=72) knitr::opts_knit$set(width=72) set.seed(0) suggestedPackages <- c("Biostrings", "kebabs") if (all(sapply(suggestedPackages, requireNamespace, quietly=TRUE))) { library(kebabs, quietly=TRUE) } else { knitr::opts_chunk$set(eval=FALSE) } library(apcluster, quietly=TRUE) apclusterVersion <- packageDescription("apcluster")$Version apclusterDateRaw <- packageDescription("apcluster")$Date apclusterDateYear <- as.numeric(substr(apclusterDateRaw, 1, 4)) apclusterDateMonth <- as.numeric(substr(apclusterDateRaw, 6, 7)) apclusterDateDay <- as.numeric(substr(apclusterDateRaw, 9, 10)) apclusterDate <- paste(month.name[apclusterDateMonth], " ", apclusterDateDay, ", ", apclusterDateYear, sep="") ## ----InstallAPCluster,eval=FALSE-------------------------------------- # install.packages("apcluster") ## ----LoadAPCluster,eval=FALSE----------------------------------------- # library(apcluster) ## ----OpenVignette,eval=FALSE------------------------------------------ # vignette("apcluster") ## ----ShowHelp,eval=FALSE---------------------------------------------- # help(apcluster) ## ----CreateDataSet1,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- cl1 <- cbind(rnorm(30, 0.3, 0.05), rnorm(30, 0.7, 0.04)) cl2 <- cbind(rnorm(30, 0.7, 0.04), rnorm(30, 0.4, .05)) x1 <- rbind(cl1, cl2) plot(x1, xlab="", ylab="", pch=19, cex=0.8) ## ----APClusterDataSet1------------------------------------------------ apres1a <- apcluster(negDistMat(r=2), x1) ## ----APClusterDataSet1b----------------------------------------------- s1 <- negDistMat(x1, r=2) apres1b <- apcluster(s1) ## ----ShowHelpAPResult,eval=FALSE-------------------------------------- # help(APResult) ## ----ShowResultAPClusterDataSet1-------------------------------------- apres1a ## ----PlotResultAPClusterDataSet1,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- plot(apres1a, x1) ## ----HeatmapResultAPClusterDataSet1,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres1a) ## ----HeatmapResultAPClusterDataSet1b,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres1b, s1) ## ----APClusterDataSet1Details----------------------------------------- apres1c <- apcluster(s1, details=TRUE) ## ----PlotAPClusterDataSet1Details,fig.width=6,fig.height=4,out.width='0.5\\textwidth'---- plot(apres1c) ## ----APClusterDataSet1convits15--------------------------------------- apres1c <- apcluster(s1, convits=15, details=TRUE) apres1c ## ----CreateDataSet2,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- cl3 <- cbind(rnorm(20, 0.50, 0.03), rnorm(20, 0.72, 0.03)) cl4 <- cbind(rnorm(25, 0.50, 0.03), rnorm(25, 0.42, 0.04)) x2 <- rbind(x1, cl3, cl4) plot(x2, xlab="", ylab="", pch=19, cex=0.8) ## ----APClusterDataSet2,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- apres2a <- apcluster(negDistMat(r=2), x2) plot(apres2a, x2) ## ----APClusterDataSet2q0,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- apres2b <- apcluster(negDistMat(r=2), x2, q=0) plot(apres2b, x2) ## ----PlotAPClusterDataSet2q08,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- apres2c <- apcluster(negDistMat(r=2), x2, q=0.8) plot(apres2c, x2) ## ----APClusterDataSet2q08showp---------------------------------------- apres2c@p ## ----HeatmapResultAPClusterDataSet2q08,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres2c) ## ----PreferenceRangeDataSet2------------------------------------------ preferenceRange(apres2b@sim) ## ----APClusterKDataSet2,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- apres2d <- apclusterK(negDistMat(r=2), x2, K=2, verbose=TRUE) plot(apres2d, x2) ## ----IrisData1-------------------------------------------------------- data(iris) apIris1 <- apcluster(negDistMat(r=2), iris) apIris1 ## ----IrisDataPlot1,fig.width=10,fig.height=10,out.width='\\textwidth'---- plot(apIris1, iris) ## ----IrisDataHeatmap1,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apIris1) ## ----IrisData2-------------------------------------------------------- data(iris) apIris2 <- apcluster(negDistMat(r=2), iris, q=0) apIris2 ## ----IrisDataPlot,fig.width=10,fig.height=10,out.width='\\textwidth'---- plot(apIris2, iris) ## ----IrisDataHeatmap2,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apIris2) ## ----AggExClusterDataSet1--------------------------------------------- aggres1a <- aggExCluster(negDistMat(r=2), x1) aggres1a ## ----DendrogramAggExClusterDataSet1,fig.width=5,fig.height=5,out.width='0.5\\textwidth'---- plot(aggres1a) ## ----HeatmapAggExClusterDataSet1,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(aggres1a, s1) ## ----ExtractAggExClustersDataSet1,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- cl1a <- cutree(aggres1a, k=2) cl1a plot(cl1a, x1) ## ----AggExClusterAPDataSet2q08---------------------------------------- aggres2a <- aggExCluster(x=apres2c) aggres2a ## ----DendrogramAggExAPDataSet2,fig.width=5,fig.height=5,out.width='0.5\\textwidth'---- plot(aggres2a) ## ----DendrogramAggExAPDataSet2b,fig.width=5,fig.height=5,out.width='0.5\\textwidth'---- plot(aggres2a, showSamples=TRUE, nodePar=list(pch=NA, lab.cex=0.4)) ## ----HeatmapAggExAPDataSet2,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(aggres2a) ## ----PlotAggExAPDataSet2k25,fig.width=8,fig.height=8,out.width='\\textwidth'---- par(mfrow=c(2,2)) for (k in 5:2) plot(aggres2a, x2, k=k, main=paste(k, "clusters")) ## ----APClusterLevDataSet3,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- cl5 <- cbind(rnorm(100, 0.3, 0.05), rnorm(100, 0.7, 0.04)) cl6 <- cbind(rnorm(100, 0.70, 0.04), rnorm(100, 0.4, 0.05)) x3 <- rbind(cl5, cl6) apres3 <- apclusterL(s=negDistMat(r=2), x=x3, frac=0.1, sweeps=5, p=-0.2) apres3 plot(apres3, x3) ## ----APClusterLevResultDataSet3--------------------------------------- dim(apres3@sim) apres3@sel apres3@netsimLev ## ----APClusterLevDataSet3Heat,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres3) ## ----SparseEx1-------------------------------------------------------- dsim <- negDistMat(x2, r=2) ssim <- as.SparseSimilarityMatrix(dsim, lower=-0.2) str(ssim) ## ----SparseEx1Run,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- sapres <- apcluster(ssim, q=0) plot(sapres, x2) ## ----SparseEx1Run2---------------------------------------------------- preferenceRange(ssim) apclusterK(ssim, K=2) ## ----SparseEx1RunHeatmap,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(sapres, ssim) ## ----LoadCh22Promoters------------------------------------------------ library(Biostrings) filepath <- system.file("examples", "ch22Promoters.fasta", package="apcluster") ch22Promoters <- readDNAStringSet(filepath) ch22Promoters ## ----SimCh22Promoters------------------------------------------------- library(kebabs) specK6 <- spectrumKernel(k=6) promSim <- getKernelMatrix(specK6, ch22Promoters) promSim[1:4, 1:4] ## ----APCh22Promoters-------------------------------------------------- promAP <- apcluster(promSim, q=0) promAP ## ----HeatMapAPCh22Promoters,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(promAP, promSim, Rowv=FALSE, Colv=FALSE) ## ----aggExCh22Promoters----------------------------------------------- promAgg <- aggExCluster(promSim, promAP) ## ----DendrogramAPCh22Promoters,fig.width=5,fig.height=5,out.width='0.5\\textwidth'---- plot(promAgg) ## ----ExtractAggCh22Promoters------------------------------------------ prom5 <- cutree(promAgg, k=5) prom5 ## ----HeatMap5Ch22Promoters,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(prom5, promSim, Rowv=FALSE, Colv=FALSE) ## ----NegDistMatDataSet2----------------------------------------------- s <- negDistMat(x2) ## ----CreateToyData---------------------------------------------------- ex <- matrix(c(0, 0.5, 0.8, 1, 0, 0.2, 0.5, 0.7, 0.1, 0, 1, 0.3, 1, 0.8, 0.2), 5, 3, byrow=TRUE) ex ## ----NegEuclDistMatToyData-------------------------------------------- negDistMat(ex) ## ----NegSqEuclDistMatToyData------------------------------------------ negDistMat(ex, r=2) ## ----NegMaxDistToyData------------------------------------------------ negDistMat(ex, method="maximum") ## ----NegManhattanDistToyData------------------------------------------ negDistMat(ex, method="manhattan") ## ----NegCanberraDistToyData------------------------------------------- negDistMat(ex, method="canberra") ## ----NegMinkowskiDistToyData------------------------------------------ negDistMat(ex, method="minkowski", p=3) ## ----GetFunction------------------------------------------------------ sim <- negDistMat(r=2) is.function(sim) apcluster(sim, x1) ## ----DiscrepancyDistToyData,fig.width=6,fig.height=4.5,out.width='0.6\\textwidth'---- ex2 <- matrix(c(0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1), 3, 8, byrow=TRUE) matplot(t(ex2), ylab="") matlines(t(ex2), type="s") negDistMat(ex2, method="discrepancy") ex2Scaled <- sweep(ex2, 1, rowMeans(ex2)) ex2Scaled matplot(t(ex2Scaled), ylab="") matlines(t(ex2Scaled), type="s") negDistMat(ex2Scaled, method="discrepancy") ## ----RBFKernelToyData------------------------------------------------- expSimMat(ex) ## ----LaplaceKernelToyData--------------------------------------------- expSimMat(ex, r=1) ## ----PearsonToyData--------------------------------------------------- corSimMat(ex, method="pearson") ## ----SpearmanToyData-------------------------------------------------- corSimMat(ex, method="spearman") ## ----TruncDistToyData------------------------------------------------- linSimMat(ex, w=1.2) ## ----LinKernelToyData------------------------------------------------- linKernel(ex[2:5,]) ## ----NormLinKernelToyData--------------------------------------------- linKernel(ex[2:5,], normalize=TRUE) ## ----RectangularNegDistMatDataSet1------------------------------------ sel <- sort(sample(1:nrow(x1), ceiling(0.08 * nrow(x1)))) sel s1r <- negDistMat(x1, sel, r=2) dim(s1r) s1r[1:7,] ## ----SimFunCh22Promoters---------------------------------------------- spectrumK6 <- function(x, sel=NA) { if (any(is.na(sel))) s <- getKernelMatrix(specK6, x) else s <- getKernelMatrix(specK6, x, x[sel]) as(s, "matrix") } ## ----APCh22Promoters2------------------------------------------------- promAPL <- apclusterL(s=spectrumK6, ch22Promoters, frac=0.1, sweeps=10, p=promAP@p) promAPL ## ----CustomSimSparse-------------------------------------------------- sparseSim <- function(x) { as.SparseSimilarityMatrix(negDistMat(x, r=2), lower=-0.2) } sapres2 <- apcluster(sparseSim, x2, q=0) sapres2 str(similarity(sapres2)) ## ----CreateLabeledToyData--------------------------------------------- x3 <- c(1, 2, 3, 7, 8, 9) names(x3) <- c("a", "b", "c", "d", "e", "f") s3 <- negDistMat(x3, r=2) ## ----ShowToyDataLabels------------------------------------------------ s3 colnames(s3) ## ----ClusterLabeledToyData-------------------------------------------- apres3a <-apcluster(s3) apres3a apres3a@exemplars apres3a@clusters ## ----ExtractLabelsFromClusterToyData---------------------------------- apres3a@exemplars labels(apres3a, type="names") labels(apres3a, type="exemplars") labels(apres3a, type="enum") ## ----HeatmapResultAPClusterDataSetq08b,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres2c, sideColors=c("darkgreen", "yellowgreen"), col=terrain.colors(12), Rowv=FALSE, dendScale=0.5, margins=c(3, 3, 2), legend="col") ## ----HeatmapResultAPClusterDataSet2q08c,fig.width=7,fig.height=7,out.width='0.6\\textwidth'---- heatmap(apres2c, sideColors=rainbow(length(apres2c)), Rowv=FALSE, Colv=FALSE, cexRow=(0.2 + 1 / log10(nrow(apres2c@sim))), cexCol=(0.2 + 1 / log10(nrow(apres2c@sim)))) ## ----PlotAddLegend,fig.width=5,fig.height=5.5,out.width='0.5\\textwidth'---- plot(apres2a, x2) legend("bottomleft", legend=paste("Cluster", 1:length(apres2a)), col=rainbow(length(apres2a)), pch=19) ## ----PlotOnlyLegend,fig.width=5,fig.height=2.5,out.width='0.5\\textwidth'---- plot.new() par(oma=rep(0, 4), mar=rep(0, 4)) legend("center", legend=paste("Cluster", 1:length(apres2c)), col=rainbow(length(apres2c)), pch=19) ## ----GetBibTeX,eval=FALSE--------------------------------------------- # toBibtex(citation("apcluster")) apcluster/inst/doc/apcluster.pdf0000644000176200001440000376600313527065722016523 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4791 /Filter /FlateDecode /N 83 /First 697 >> stream x\Ys8~_T'N+l偶h3䑨L2~AHѶvRI$ `汐E1,!,R1 $q0ߏ$K8x)̗~Ȃu}$KAr( 0J 8~cτ/P9`"1ɔ$s"!cD,JrysS{x,D}=# C H/`!z$<#1zO"p>ya'HDL7^`=\?1j!.b I2F10<`bPVbK|Q2Le<(#AY$(KQDteHP KpȣQ #/0r,SL3("Ȃrh)&6 $2.B NL)01(cLCqc<}L.@9IЯ8T0 zj%tFcԤu5?EXiI0C ǿi^fӬ0 o嬘+H*e(]x.g_uyXϖ _L*_WyVaVQ^i%4i#"'ٻ(o [.+v].t~Bt1Fl/s}qv^,VrYܕ,}Dx|}[~Y*zrj{gDlo^ۻ*E]vg;&$1 _> 4Uu#n# qd7S= bκ&ʜ9^Km(>k} 4bߜ ԔSic9"Y7n Ȝu90]"3`~FGf,%z6#Pah}1hTI swhpIRřK[prPq?FfO1m6M?;e>^z:o\**Ww{'N?>yS^Wb6Eb ;nj92sp-Y;QjQR)"[ XLQ/Pꢏ||8qb1K%/\5_|Y f5%VԳ@NMj{|:5tmց{ƳR39d=rMAW}/6Iﴤ Mh/ !mJxDN"h % |Pz )o:pnথD20^@Vɋχf'7)z1h{v87yrZc9m QK?$ -CTخZ5b(r$#B}aYaYVdE%f5,}#{;6hLlN mm6RGu[vGHy><zk%EXD?b'OvbtlBݼ zMxMۼfT#]n8joNz8'zJH8TtՔ!GAas<8=s4pzL`ʤ+I[2aǮ0fTQ$e7uod[HuHmWddh㒴0nXBktJ+"BH$9K%;CxU4F[b]КձbCve4eh)ZԐJF,y4Eq@儸sޝօ[f X"|vV[#xtt~x~vA O⺪E 8ڞB@9Nn`7 Z&d'ǵFfKiY\]% mNȘ,'zRO#ztV0R`UB Nl^P'q\`&RuB8ԁ pR#h/:A{I 1I 1I .Iŋ*aTK-+ˆeDWn8iP;ZA;fBVFCkFf+ffgsب<}m[V.n~Nvo\ڧn7*Hf(FDT2&ߪ;K+ZM ['qD7#(ڨ4W7y0кXc+I"+PnX_u kFc@a~0dnPj5XF \_u8 v 4jц0`0̹Ւld'fAx>0DI+C͋w:㳍0ҫt3H i$P*D=RjzjAYJRA3EI_ @k%/1 _A 7 WkhDڶiK]jO^?+Y}J#Pd%NoC&>mY\ !"4p&njOǞ;C]HPwwO^泯yY\fN QginuLC% _ lx;-vˏmy|v6 }ZQ@w;txbOw?ok ݏZ9Rgȗz^Xkm.֦| zeο{s@?;[v]!;96:h4E U@hz }jPH DQ:Z.7A PE2To `~3hP:$g%W,KcM߆M;L6R: ?KAtuيNˡJ@2=NENRYۥYkyz %@W-C tZ} ȏ^tct+;t+^n!6Q>*&Hb jhǧ\9:cSM92RK9>*=EL 98^>j3s1Z5|Q*P4La#Lf軆*5cXQWR;1@94 $а%\52Ւg堞zH:4 њUK#V.#ΎRuևmc5`7Vi$brI)wHD"ϭ͵-P̬Ґlk~ix٭٥*n":Sx:vj5)#aO2fջҘ-Moιrz`FF0-sQiY!w^W%}NP`MCqHZQFZ*bmwe_9Βwme6nrN㏃4z`5ؕ|&3endstream endobj 85 0 obj << /Subtype /XML /Type /Metadata /Length 1634 >> stream GPL Ghostscript 9.26 2019-08-20T23:53:19+02:00 2019-08-20T23:53:19+02:00 LaTeX with hyperref package APCluster - An R Package for Affinity Propagation ClusteringUlrich Bodenhofer endstream endobj 86 0 obj << /Type /ObjStm /Length 3052 /Filter /FlateDecode /N 83 /First 778 >> stream x\ێܸ}W1x)`q`E~qc}NRꋝRbaUIkXʬe\+fs&y,c9g\ )P k&4˘TI%-~SNRlGy*ҙAA2eDA1(hr:1m2*s`Yfr+gh a3k TgeS M FWT \2A95N\f% AT"d6Q y;Git΅͠5&v9 Ij04kRqW;1 /Ca ei~chZ=.i9C w-N29IIZdNXWIc(M%Z1tP3:;0dtުFJD Lm3fKXɘ+ZtD{ J,JƠ5O"0*q2Z sń5,fÛANJ{h _]߿[8d_?l zp4#p2( 민Zmcз36_]7uCv#_wk _@rޢ&?m?l9Pe]JBgId^ۤgQԸج iQYaB8P4aF:[?.HfWZӄ & sBEJ/բ A8(h$  vN'HA a5H`5 Œk-F0I4 C}B~aI~h⊜\zp_!ϱ4+N+>^Ci Zyy_4 {U=PE=\Ft+60jc ʧJ!:1ELԔň2D+cD9 ț}'h(HlR5EI$tVڙ-M:i1ȉ081 3y9H`G3 =e2y'MPEHp/8EUyAe[)DёoN7*ڹH֛ׅN[:yH6HCO>R?Hp ޮn64BztNc5mW'w7H^7X[?Ͷ+ܰrjRd)Is;Zj&6R~T:Z9"W/ Ƿ9g~}oww-/2&麒7 CA> ?Gb _p& 9RD%}Ff {6kqv˻fX"1yM5˦!z ^B->d9k"nWmiE#ȢI!{{{{{d====zѥ]V`TbN2ӎWNGa}םq=0L>FHf٦PKvSڋAϲ,&q_̴3;Oˢ:mxv4U*#7dSP>}-fN/A93y>F)5yRҲ:2tk*Mȗ6'7"vs]nC8@^ÌO5@SV?+88 :ɇlfsQYIqU|LoV(;-R5xr3-ܰ``Za s jĞNG0l,M8Z[}4ű#u19vY.J-A{oapu;샔wuڐ 8̤ɮ B)Xendstream endobj 170 0 obj << /Type /ObjStm /Length 3665 /Filter /FlateDecode /N 83 /First 785 >> stream x\r}WcR) +*,Kr옶Bɱ].=(ڄ"ݕ#szfmX,). .F_N\d&E*dr)Nd9헉B~ئ F!SXJ!D#5J(̵PVfh2C +tJ`?52!υIs?I Xh΅sJؔF.4KiA-H`p&O5l YTZSCa!oDn "Z&+@4uZ8aR+RFJ-%E b '5n%!ʒЧ G@\m5NFjshq6s Wpi2GAfp+Zs›p)dDRRlHzPdro&US@J{ I$BJUIrK-0i6%,V#C+\ (MƱׁkhaR2 Вz;(I׊+FC8Ғ#H_9UU)y`JL}KWdrM;S|qs)7kaT|\z" 34-iݦlټuي89e@Fv=JbV52lZe8伲H6;AuO/닛WKzܭx\7_Ye¹vsiKb0Z$޽s 'ajf q5R ?6O?ZUc3X=t#}vBƴ /X͟/ȠșpBId?'erw*_o}2)yJ^/-d+y\'7u&1( ^['d|lެ2&y\E$d5r &08'LI}6?Y^.ޖM'jZ^|~}yUbl^Ãڒg?)w=Mɏ[M$&\r/}1#jw~Y+~`l,}BTgs2_V nYSmUȐ->h">e":UQ˨S\Ɲ}^r]&ū6_n֯jSO޾]l۫oغI~Ţ~E{UF\ QjxiQ5fU4zdP =L!K1jϩM Iʌ2XC@'{Ȼ``j4e{Vn ,XEy'e7\X:),xU<NZm[KTD Gp,5rEc*E#W A8h'+@`zZF@X=SgTTg01B @,º^.8rA;!e[18bNb4cqEc[{px߾is.8 fdqs ŘH&؊5x!  vvN1"*끘gZځ8L+2ZDc*`E`Uo0Wr;lSG [E^e8]Ĉ}jĨ=zn[)Z,G)w63m2[D6Cth6;f4ԐɊaM}yx:{?"9rq4\b9.ߜ"|8u`"p ;C,G*F0e asDزy&Mhv:_q4}jz8Jz6lj%|oQ_U#f]M=GM_-ImcoE{ux{1i@ҫ  Vc'k7.f #Go;Q#nDիnk)7¦.]==AX2Tvz[#'u$[Uˣ+lVVKKOW}U]2P]D.9ad3` F9Eң/fpՆy BԔ>z0~b O>0Ydmy&뇵^־pgb86ޡb48փVlR=Eֿ b~VçaZzhů BM|TXjN/$ZLx5Oa~7ÃYͨ֞ygԷgzj=' $!&U~G)UbUG+}:Yd2)}$jf=N(w!pT!rvB/ؗ~:<`ڮfc2 8Srq#9r] |-_.AOg<$Xd)(BhP@`!@AB! };eyEXБH*cBB,5!+l䳐>>l㳌.>lⳈKY>XTLaa"M:.ݶ(h%1PRTʉPFXCPk +d)UeCsf>[>G Hۏx 6 tXܑm . T"r6/ `f6oٸ3x VN!'V[+H,9(]jN ֱ2ء K;LSfJpL): B;ٱؽX[;űZPƍA Y7x Aտ!y5ǻ_A>8wQn]L b㼌',fB=NL>Y.N7ppϒxw ŔaҎjp" ;hG#|{Kv> stream x\ێ8}߯.WQ`\&{ftAOb t{)REI%Y{7iQdXuIYh &a ]2Zߊ0+-*vF0^Thh$㶢oЪP% % V Tj*XJjS1, eQh\r4@]rR1e9/5\p@_pMJP%A-g%$CA0[Tx+zYAXͬ<_Iw(TZViE*V]hXq*hVA!$]VJ%(Y).7GtR Bb\r Cx*Yp*d \(a$Y` -5Y` ,01Ii>Pc cBZ7(Az2b];M%(UIyE:* &;**|BH\J$0]3ֵ1fkhM| ! 0ԉIRI!f@bD!-^J]K\c( ٲ]1Pw}Vnw=v d]|`{o}yf|[6]lͷ:{uCڠڕ\TJeqee3lqUKF޸<dle$=N6l\e8IJEzy}O7: jwQCSESCSk5Jmjr_TޕMnj%Ɠz%}{xi)LSxF@Jj*hB =Bh*a\p@ЅR RJE63AJ )~ַ;?oI 烿nߺk/ ΝKhuduwR^$v7։$gxo?>?sU?TzBfmC|o`1]!ȫ?߮_?~weZ3ܾ}O bJCTiZSQ3߃ܕpA68 YWR ?<%}Jx>i`GPajǐxik9%I`]rݡb 0]ߝL_sJbd˦x%NW ]OT(K ~vU=! <<$(. nDH}xF mצ0k*8?E)E9lMa!ҙ:MYSPܸ!UT$kQVqP $ 2k#qN>f^1P1p2 {I$UN! :+! }*X-{ ן %oXKsYjg G'rKA 0M 8M&?G>"Q]ÍcObHcŲ'*l\BUy: OtQdEh(oMQ-AATȭ. =F6^.|.m4%9gƥr\:zYLR 6}KdlFs)2~z]z*}2L67z/?4=G ir Eu#eM&||eA4d/-L~_}iA ЄNMߍ`Ht9yd=|nȃvNAI`.2Hyw,#>Q`.DIm' s^, w $׌ah<<~8Y4F6,BKK8)9fK  ɛ톥E F/v-0ˮ2ye帘}Qhyh:_창t0"y"k˂?" Pj#j/M8>)??o0<[0 v~\w]ZU:ta ;n8)<wJ?wv `UJ[޽[9w"K롗 -AR8 =LzxHaÝAuWK#娊ᵲJ\E#A*9=y֑CO_S> ˇ㴦|p$.>&bF/+i#FWOXڐRnomIMT~kPqcT77u5RQ +mZR=^O>V/&Oӝe,7mGd5s :&]߶=T,b׵ ,h2B1yWn_@20ԧXhRjjw v{g]}.6Ȯj.YX+Mz+(K<3&$@KqtqA]* jS(f?%:![om^Ņ:*ltL=b)e'A}bSÖaCv#+zutt)ݔ|x:tk;ehZ*Ǐ٦wPKlXendstream endobj 338 0 obj << /Type /ObjStm /Length 3547 /Filter /FlateDecode /N 80 /First 740 >> stream x[[s6~_Chč38v;t3v恑i]Y&;A ٱ&D},g)dʸ˙P,3&s4_LF5yqGθ1! g\L ƵqKd<74PB`@e)cI%R9d ad ms<49:S?Bf$K+G}9>etOsz%`I9p&%ˌ`RY1!}drhRaJΖiE09n, L>E.M>2׭dV* ܜ 1MJl) ,Ii 4ͥ4:f(Sg'$\!SȐ d 4;(C`&@"iH Rp"ZI|+Ii!C >z MO5E+ Dr0B?|5;{.6Y^ S vNҌL4/9{ξVIp=(\K֏Ǎk)V%ukU>0Vyb)bS-_oq: jL8Lx$,s8,m,/˙ָXl9^-z]ʶ!1ÀTI}ռ|bz-ׇEau\98m7Wn6]nզH4|guyon˻rz(ً9 (W0㯮BĂ[2qDe=0-yo$(c68 ylaST ¿}q ~nxN8te s`ےժ-?\hEKdBdD#A?f VXˉe'[Ű|9{^},Rmnj9_T3pem/p՞V= !@lCWeUfʎ3euWfUͺDʍ(eI5mWTڸy]\X7/BO_e ՗DL/6fӿ+|Wk3LDv Dy<-GZ x^nF"F˒( Eɺv\y)t&TQ&iZk-6l*MFǵ~ۥH3{d%H#1ZJHruLlӡN[3m[\T3a7)"6I)5Ys.ݳEqYkq0dL$맖x1&^-P&9{tIJ!]S~;t&e(ubZ $a{WCLuyUϗ٧r`)h%OPTkpQj{hW7ߡBݔny:|$mPx]dٛBE2=F)[nt7_SnbWW\7m~'ݩu?~98S>Qygy#5 /ۜxy_*`?.)[Pb{ͪpȁ[_Lrimj0-ԱB-8Id`(E/i><}B.ke%ީC.県a"/3O=(zlçȖ{3&2 mȵYnayq@w8 'Awe4UmdK?-!jCŊ<@+c2lUMm6-SMKY=.BiZ3˚FK6-V˰)$4Nsh`\(r@UF>I_-fK'!" `{ĭܳ$Z7qvqM | zs7g6k 6({qb.E”` bܱ (:-0M ov4fr RQv,54-݅tЃ.vz4ߍ}e !a{ [̓I{|=Y .PK E~ thY_ uP^_"*m4E{(ws - y!O4=Y1p2!JڢT$ j6 2 `$h8f -+:S]B Apj(f\ucP A&r&ӐpMw,b!0PmgoT5FqGf$~i7^ $TAP>Aip$/;t4*z!U(yXUArA$ceضz DyqA4QԕZ=e'Mhk%bAc0#PyxdmI;1N{ )9 g:V\{=%]$౴7姛؆S@:Pj'=NsyAgY[y/ @FuԅUϞK#8La7pX8`WN+j12_2>r7bcH }:4Glx쩘<1`f[¹ = 61džvg-Կ atx͌6T4f*3H.^_q!hL7ۈ0=^#O59&C>z yu`׻o0iϻNzil@H y ʢW;ʲp)9{ e}m˜8G5;GTN b:J}6H@ǐjI 1N&Ghv<;0iYZ9m‹ :-Ryl6FF&FTќtYf_q%?y8D(%Ɂu8KG3cP9/`p` o [`7lC Ȼ@ԫLd{җe8٪1!GO _V_ Y#,OGCh`0qXqq,م83 g(I<ox³qg KZ[1;\s0n}֤+=>c'kU\!du랶o|3;T*ϻ=EvD;]6uʴ`hsϓޭW$:^7s\F;k'|ޥ㦟w`mxI$ܮۭst✓a*UK}pGr ni6aNm wҥO-4v>3g% kwEK1kv@ `>tejbTN"{WXLIip{(JI'L#zKendstream endobj 419 0 obj << /Filter /FlateDecode /Length 3402 >> stream xYK򑿂=Y) nq7JHɱVk,FTݮt|^~{V*=;Qwi,r hr(EԠcDXJvVC/ q +(p?w}h-i~w]ǧ҉]եWaP^F 4݈2gm2Ηm8n+XķYڰ8l`؉ sؼ2J/޸_K",tfY,Kކ|Miz2څq]8ta@KI ݦC:G(R2Eut2+ \iMXśfoXp!/.YABά.Ya3%MkCSSe^N]ؔ/Pc 11%1 ǾlCei!Fyſᴯ )Iވ`زP'U_R.U1xhG &jn%%Ha&h~:.[IjKAo :hS .<#'p9.Re8ќPQ)ԇ)lТ}_Cs ڦ9v`$LߏGńs;] 7ZGU֥,]p %{ ɳ]\q]W(D[eo{F$`ah3hΊj@)J%Ʃۦ!Yх>>PTo+1ɸeٽN ԰Cf,U[Y'VX!"AL]/~<"QtS6XaRDD8Ppb,!/> m7NlBQϊg%]JaoP\-UMc.AMsPpU͡qӆɘJpjZȏLc 4{\(lrG`Sqݡچ(4į$TdUC&L \}u(צنOȹ,czܸ2>)LbZ6*UyA8fĶA'h'@F%b̘,E, ~(˂>&Q ,z3TAa2ukXNbRR_/&_c))&9 LiE>bJ?B5fN="kjiDq6f<f ڔ@pqbLtWߌa#0nې %˔%l%qZ+GnbťLӊd~j(}~ft04 A),IEjTgùS6wd.蚑ضUX)>7-dTj[cǑ1'J^ﹴymp5}Z?δ9 }#J9RZ*A'dE1ΠwO]ǨӦ3h`󈞀*/{Tי@]&+řoO}2蹇BJJNvc˘#ްG HX; LVed)ю :W kDch'mPuM| UHίpN>$y}]uuFso1]\5`wܬ Aa*|?23Jʤ@A$Ϧ"ʓSL_ŠsĈ@0фqxva+F5Ҝ >M#dPHd5}ڃDj8u:2)u{2) :=Bh \CӸRԮ- Xn5%}K@7 ]K-L Q#TJU D+vРu\񮧠̞RKbBWOΔXU w$ *,y3F q :Bk2" 1Lt<}3 yڛ/|Z"YbbtBs9#M,!fxB5餚q(rhy0aK%;`;v!U枚6u-y)ZZLO*@$ QsB {}{ԣY:-1.[K1Bȹ *8 h`i ?"  P\y*C-xzE:M s?iQtlt& jE)cQ]=͡Ua%ŘQ#'m>[YMuc8 ns7)!0XLo- P8v.6 !3L% "]X_إQnyX(kAS;| ;TnYdTj)ͼՄI"^0:g BQ}>P]ߟxB]7m\fq" Ƌ_ "&ZPrϞsӏw/A_7'onٮ? 7j9>Քdn꘵$(kYiލ;s#{;ӭysLDAsRtC|endstream endobj 420 0 obj << /Filter /FlateDecode /Length 3030 >> stream xYK|=wVⰻI6۷m?gop$J.%$ɯW$L60"UU]W_q$16KnϷ_fGj?0xfyGvn8Jt~,b)8_}_2&y&EX&qVzϻg̢ئn=ُ$2}1˱&2H2V4_Գ7ʝyL *wrYYϚJán 'ͭLVRmgQW_2J|!XbsBEPaⰆR2O&b!Y)>,d\~\;l׾ͩgv/'RQv窉m;Z'ɳ+CQ߬ɛ$8gPdC,Vx{&b\V-óDh \M^aWaFHq㩿~kRGN|iW//S/^^IÆ:&]~2l{soxLF/Z aJu -X{22zN81n&gbʢO1=U;T8DTn(}„\tͦXH ԊMT4qه.M;CAISE Aݍzai훦FkLLp::)qKLS΄1uIhgw?-ٍ)% CI$,n"U1n(9LUͱuY$Xtpl\jV~xo\تmVN$|r5(tb")=k6%'pvyD|[PF|f':Q$'WoɄiլK+XWf=CQͱlyxS|g]Ry =v,p>I{;E6)꾪1dE-;U]AtJ|jkȃ]vAVOMcPHnyȜ%/&j6~\d)~&)ln!k(2 0AA[Ǒnn<:u]_r3O1>fXQqMu0Oa yk</“tI}+65G=Tv3]0^WJYyrsXOE哴R Os8iǂQ\8ǝ߆"^7SGáaۖd* [rH9VK^.m|UvΛaEVcNiPܕ ݯYPZV( ZAȭߊQ*Q܃:$s 1o:* 䬟.G,br =u&{9u1_2ͳ/}<8Ou0* 7zt7b6SҜrLZݘ"1g1"I-EV[DCxۏ5A:$+c:L)Z&B%{vHd>^o-d&C%&\.uJ(T+.-LfݰS\=+tƞ]s'NMW쏵(9jNdfx}N0AtrU}w}_9dk)﷧U^@+V?_I| q۳(4!U.Zoyo_k j+)屋QrlkU!ctW3#NPM\B,C=\U)d@0V@)dDI>+EJ8&UGU22Vgkk=d6Xt^~ZQ.Jmb 4Ki7tIsXQ'KIj1u+";sX9 ͤ8OܢA>h)1H!s~մcsXS Y^O0 ؗfѺ?1Dzb*L3;F%)LAcu5#&w㡣. ivw/ORmpERQb.GdA<<" y“.Ɓ.܇ܾa-oKAASg꫋q#]!"Zq]KJRR\NЃRp4_2?MCs U܀_(x[W#G)L]=,1Z7\: @Y4XW+.1>G*FEa,U7f5D& oW}GdUj.2:D(˲Qgyt70lLB$nƜ;ʶ2FH~TZܷ82cRD@"/Ͷ*Bp3Zdendstream endobj 421 0 obj << /Filter /FlateDecode /Length 3706 >> stream xZIcG_O~}@;K7[5 2k^8t}=/X$_[g׍6l$:g4N,>x9oWa-1y3Çi{S"~Q" 7hm~7{,o˟rz"nUbyA{5?loOi|G{LZ~~9U7ǧ,OVtg! t|,\R߀=lLB|8=cY͟;>vR4}R/ctx97@iw~m*VPY9vOzFt{e FŚ@oڰ/'pKdEZ 0stp+ tO*[q~-[!XE5WݚS[?ol~1_>͒D6;|wV wְԼlo1`.Vf#hƦ?)C5I& nGaMKOثO1iew\,8v^kyxn-6 bX(df%!b #37_& !9ExXAICJo&o&) bQI+ktN ӯ."K>q>;)]"XNˮ(9KO|W@z 5 sT9|2[r;&Ӕ?MPCqVF3UjcE»MTx?6 WYIJr]C!֕\uNA/؍vOb5\ĪXMQgdӟθ鰁m'M8l7dP`!Ij#OӡBV., !FkXh+#;33H+s,I2uCN4cz@dX *6aawHho,RcppqR啯2iu!RfIDW@`#s!E{А&nqf iTJD$5~T*B^SF25/l}ȅpq zm0=@+dE ė#*J AYe r؞!YAN| :2wq-% &(HS.#۴ v Ro# ו"B 8<Эj8).IddXsciD XQ%TD/hX:?LuMC1::7.d5Rt]R̖iK!(@:Q291su3(^0ن U !ų%rAL2*SL2ZvbXK$"Lߍy&\*"3 Vɚ %9.,7qv"˩X/T{L 1[3nL0u̜R &XǎgCRըfH%Hv6d}1ph@ 'Jib=א.ZA5f݂xIcW,E%MhGKC`{JIY{Pn2n1>gxaWʩ$崃@2`bmNk6Uu|K uLK:L#nZ T5kG0(z8c ا[ ʡI'؍`>6Dt\Yy7Z`/8:5DIE&辮4XF.BP!N1:*PΔ\Natsr!Un%:I5݄y5#]fS5-*DZVwO (5FI/ڌPMztb4sxS":#R|)E}傴|4JO:dDҔqp B${ VJ ݀xHj>u|H/yӻ:2J|cb̪t% A.F,idPi5KpO tęuOEzAͭb/K&+ ']5n b1LD͹+ݴ\gWn/S TRqw%k˹sq)ꊯ)E `6QO>` "AͣN*ˈoϚLe BfˮKb{6=QQZ4A;rsPI@mK;w\cJ\CךK%l%Ade}=X@G$] L,~J "ŋ^縥1(m:Lr:()c hIhnMзsY7qf 85ƁVR2҅(p|",54jzy(-$59$y*bZNpp|b&ҡ!j7 (C$`9.3rJCm熴>]\#HF$S]A:*5w\r+@G2ʔ,Ajȧ)2XF,G桷85itz6|ZV.mڔ5 F=PΤkz.H;]%5hL\5H?_x1prvK~_iwFKd>^*^endstream endobj 422 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3432 >> stream xWkTS׶wxQ$[/r""j 1ͫ$<}\KU[/"`뱵ֶ-E禋qN3qG^k59"\(HZV:Ӝ4,0R猰F؏1?epF.G_ݟ?h0kvOD?K\l s mM Vr/Vj6AZg4K0VsKܜoϋSpqBmPg(u\|jV-ЪzZ4J`׬%˜1|jTe Ѽ\(3gQX;\l)s]r)Ckw!Ӭ5eӕ:~ʫD4tFW/k-f.-A0G6s 8yEFEQSْ9/k~2fA*6/UYMX[8)!N5ZHASETJR2j j5 H*RPhj5OMPӨXj:G (oJJpʗS 5*xQ8I?;q99ysC..ĴxX|J?s^&QJ.tոp}í=GGGT{!+H [!*X C0wxKԋ!>dz=xx1jŞ< + w;p Pvk#~V512na&biJ& E /JҾ覿FWm6t}YhDq]h^]b[^$> ؋t͐4%i ZwvMlzM+h/Nv -YcQb f@H/ b=aXv],r{{/޾''[ CD_|}ct—Ncj5|x,Ah ꃙrO/ &H?dv!WS%/ޓS*!nb"WUj 0," |~Oy/cvҹFS"MwxuY 5͕x&y$, !&,Cb>( ZTvb{x.5-&1kxzDex2mMMԁ>,n 8$)"#:KmA-a\,v{)څv kr.l .xa$;U˱KIXThmy͇]x:F?g50kg0)O&f#eEJe}̻;4s$xUDYbiYa/=RO%Y4>| ?+(w cifif]>vÝ@x*D8d3[ ovI_*rtveFߠi{@uw@*/3CL/E<:bʎ;-n)AL.%qw&. ͲLcCe6 ?Lԑ۔V;U( mLqJb)Գ0QnhSFyQEHAfFSҖ}[`햒ພofM͚+H#BN4[߿8if1o ٛSĮ|71!7%z~^dD!xZ`3;:7׭hqly(ş-qFoٿ،(~x\B1oVY'>qxp~DeG䘮ϟzڬ %P}˿Aڥr$s1m@O}ܮB6U :0W)V?8E瓛}#M+ _C8n'j'A//S rl3Tz/5u玙Rdx>o7ӆ)E#{b1"҉Hr% ٲbGKtGT!#v6%~!U'ѝ W7ֵXG0 ϺG[QBإ.OH'4 gn2S-*y5E?{K5?TGIM~;LId@w hѧ0V jW,FjZЏ zSQ|a;{6enXO2=߯-2O2ٶԸO/4Զ˥Iae"yBrg;6g*FUDj!݉EOuak|Fy=kW݋F0ǂwɒJ=Hu[+Gʾꗆ%/Q]BҦ< ^!8>~o ȿJB? IߒGUdC ی oB5 nn0܊=<`d _+endstream endobj 423 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4076 >> stream xW{T!df(h"((>@D X|!JP㣵RAi+E- X b"6*^wO Nʚ9a{74enF4=d 1)k-4FBW'Erϖ[#K4/i`+0C@JDsfdeIMqt^<+ӧOw\/)kRNbcJzF(+8;$gCy7 KO^:*5-zMEb<'O:g W35RQ8j!M9Q1xjLRq r>(7*KMP; <`*B0j 5ST85Q (j5${O ʞr,)9eEYS~pʜAt}LbjϬh薹<<3jSƇffzY{v6mFp1\уbb̓XLHſ-[[XͷluukD2?HLJkRR0II  ؒrLdK73` =bk)4m[#m'M(%JA-+iwj¥?݂#w7^\*QOU>5lVvS@g':iE$oj#mR{'TjosR~H9Mp=wy %Tئܯ( %ڤعS(~>eϣ[f\j>Z!gC| đr:Jx<~c`} v.af{tHJ'֯Q }jNw/BЬȰce | |qb9WfG5Ȉ5$=yF_k8);u(XcX*EedDNׄ#(gg  3!̰L&y%Gp~,]b3&$}Sv \9]K"aY?'Mn:Lbzb1~ǀid~&Ll-Μ!X obUCՉ`>ha4Ԇ=rA604&'JVQ7uEԟ(?r싫VR`hպ9k-i8^+rP/1guvH'XCb+p0D.SmZPXdm[}|jn [,QnR%{L6H7zą-wHGrs:aZx_Y :znt%r/ ꊞ>gփ363d47'zٴXs`tVwޓ*s[ j0 gpd䷕=[?R!RU?f}.,Q}$:a0+71A^agnIzݎT@[ %r~bbSi˅D;|K.!P"6VA?Rɳ"-xm~V^ƚՈ Jչg`? Ig'Js;V/\ n7Gr9J!rR]bw}>AC2B0?;|Cr4;s|b f6(mxOmY pnw"XtME\yv:a'QƎ5>\y)'˴w3ѮN?|ɃB 4@c;i^Ȟ2 #8B؍G`9#`9>ƘqOI7u%/p=QNX b?X:̨dTKxOD̘O@j=Hsf$:!^ cZ)p҅}'@tϖ՛ ЈP}?{xOoʏ:M-譇wJ+ɈW~[Z^@t6'c`hxH6)21qkR=m;*hZ6 @ci68]o# $ؠ]nH!3R/c ? VU0|ps(P#'cAL_>/ |!%T9[*o<|*31_T+ۓta;2A+~k*kW-u}|a5g^@NvH0OGxn`,5šerOȗ:tQ3:8)n2r` }Ҹt̸D ZB"a a6xPOa?Ҡ 7;uwLn_Q!}e()vӡ_RMe8wD R~=s60ś"=e"_V=esn&.Gfnp훕Ҳ,9șD ' Ns e'])+V|P,R&lgBT5/nlgR9194(NHvZC [;|k4!(qciIJ_I7IZF1ocARO"Do73MT^ }<",q3]Xn&P -Y!=_uDq/8}quϟL "8( {l:s7\h PKjzHث W\|4e7'$,6yuɑY)[v _T,-=Sy#⺮GώY4*-3 5LIzpgci|,Å IC enEA) ^[|;6&fd0S%A2vÜ/^l!,o1mr#Zjмc?H9( }9pϘӐb>dl{B!A\Y]{y:RY!k {/Iצb">$aΜ%ԟ/ 1>"c<#tw_lr.9F\f] 5/D0?_"p[[<_o%_492<޻[_ωquBh!^ "]{{C74zX;0Bi@۔FCQH% )' _m@nߙЖomE!|coy}D L)X%w..m;u , > stream xUTiPSY~/=^ :$:ݶJ ;-%(E !aB\@veLzj/S5/8=Sϭ{wcF, ű$8<#n7lgSr*[{ƭ.ƭ Lm04%1k:GOMGFI|<_NvE?GvI8Vfs6\r&>6)@JsK=ֳ&#A.шQ=g =57ȿ O\_T-PCܙn';ǟD.XrH5ڨt>j*:O.Cb-η&ov=m&`Yi~̹L,Fg1nY^L'u4PrXsLf~K try5"yJp8L3.6lD}n?L)VԄc;a"~dT7gRrYmYNizHMφBe֨-+=d0Q&!kF[δWUިQ_o.a4,^s YLY{&%h aGf8 0 dNAR|_=-c3*%R<&~ ոl'M2hH+E}|\QT.xA3+Ve<LO9/>nNA>TBB}ˋO@i#f$wS:RTVUUUWץBCRsD)YGsy"34/:xPovUv[+;\|cQSbOE1(/2Bܬ|SvFPl[+rY/0|9v;%UE2אp;]d˝{cH% 궞LϒeI&EN3</9t}YSha>h C{߹r%*@1~(i)=n?>]p Tjj㿿;\^=HY6u?}ࡶyPoEy^d$#X-:N/p{CX)w_"KkI~k"~sVM&m@41&Uo#~_+/LqmS#nuV ԮkKLL0?> endstream endobj 425 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /DecodeParms << /Colors 3 /Columns 1122 /Predictor 15 >> /Filter /FlateDecode /Height 151 /Subtype /Image /Width 1122 /Length 6277 >> stream xw|eyfvӀH @Sw+xJWrzXxpgF*X"( `;@) H;3;,-M/7;̣>3R*PG}sc:DIOw}ӭy!Yf Zy!'wm6$uPB6Io$+yL`_?}|~ L`M>,޳Iخ[2֩:QJ; JR$ij r_Jd4o_KZ9#}֍_9O&HR9r 9.W<\Ijwm N͡勿b Ks.T-#^3>Xlc>kƋIjw3d ;#"=箳V$׿RsĠgV1c]2ې >= h~ڥ_>sBUU죕/Ot"ħܡu<{y"MժQI{0_E9w*{HQ߁eHGUyd74.&vsTQ;UI}>c/8JkfEWG֟LV|0b"%\-g\6oˉr!{ge/iViU#| / =bEkZ!;.z_1yVN:ZWEdDx\Y9h>gZo޼vF>QrR7_=U*Iw8uH|٩ u܅ܪL/.W=+y{>JpH6Q9o7uk}%u TU5u;)LF&k>\\#ː22F/9J q۲>['*l4y4UMDA&HЬ{MS,'y?i:T~U^YUYt~|AӔL> 2 @"|}eFt*#=뎀F2`ipM]ثg nOR"d ;Uc7M3dbt巘b9|Ldlٹ/$I_NJW?\Jxeg($z֪IxeI3U/#k֊u8s؅=O/ˋ{rՁL9VVip:IW?]7.uos'P&LUUMmpQ^U<ۆ~"t4N>Y;TZG&I1s8XҺuBVа{TE ʤyV׷&N̪7= Iy*~ү$ +ƺS}T!^l]ocn>ȥu8X5f@&mӗbZ'Ea+w>[mOEhxI/\G5v.@bie8S$ ݥ \syI-Zics +2 gұC= 枻 ٠iYz-%Y|Αf 2 gRˡoz6lRKɒjW~QUn_zb=d`;$Ei5tM%*BR3]-/ڼM.Q~Pe-[G!V2ɯ -N1ʨSnl~bzgfa 2 I>Y Ͻn9s?2nt͌vG|xIʲbPd`;u/|ø.qjnJE q2/P;G2 I~q<5=tHvF>t_Tx{ISw6 \ Llg#/ Rr+FaFSʙ7*F3X2 IԾʾʧiKl2 IZNm;ʼ,0f\W$2 Ivwո2ue[~qLcUO$SݷiסEl4}aO]:K$-d,aĈp񱑞n|YtU۾W$^:?1Y?/[j'⋢$ i& ʉ9lv?>ޓi=ˤ xcz1͟ڽ)vGEWtĎ%F 3q(.e4Ñdj&I\c~E씑ZUp-Qdjs&]r$ư/7ߘQCs0[2 Ho3 z#ϼ=v]FD&魶eP域2b2ҩjU];&);p7 ړIZ4]7xrRə}K#q_L[mȤR}aтr{ΤM2l޲u"I@zKm&ICc^N3 ];0?I@zKa& _|r7t>Ʃ%T},9ٿ$ *]bDφfg*ɾxgصh~\|}$ $n}t/fڔ SF!;32ŖJ@&-TZ,Yn0ҚzElt>QtAӴ1a 2 g_nX:жCo$5_4@V#)$fIf-mbH-Ajt|؉Y2rdm2 $g4;z2Ie՜>p(v>Xnd`;$#maÅQ ZII$r0 TUs5ԡjǐI$?]uXJji qf(12 gT&I7z_^ч $vRh.HQs++Z2 d*SFU fm]s{Na-,nxON&J?W걷(\̾1f] Ll')[3G9eDV"E [wrjIiir5.Pϼ׫l$vI-4GIKJbdUNTqDQֱٙ[ t8⒜lӔ.ˊE$vIA64M4r[ *Pb-p䟅YYV#TUu:ֶIaƘR.L5ѐI$?,)f.xgwih-ISa־BX?}{m)&h+$/2 deݞJ}H3rݺ[y_$BCLd`;$iMóւR? )E)azY{w7?,7_wU Ia&Y/p0M CUUk[5wGeoMt(i"jʐI6|{?@ֶUA45oI%T!Y-WVNmȤǕ^rso[T0Ca㹏7d'snd`;$^Tqiab<$vRI&6h!+U9k5?rKvfPG*-;[1+]7W0KUmcWϯ!pa۞kI?-Cs:<27^!W/<Y;USF=.sf$vB2?/4%/6bm=CvF9v_=m!Z G {BNÐ<8%.Gɮhef+-/A&SLO6%B&N㟬xslL2ͭ;BY]sť/Ԕz}1IDʤY1ni2%Vv;汉g: pdL {銙x)1Y[5OY:NLzkހ%6m;tŭkp?jCݲ&O6L&]z[?(8$PGZnNL*uydf3I%fTe2)iY 7?q̏I~c/k ܳ{UNB&K8\CW(qfʧ7i6z&Y{N]ygτ9zb"IR*,%~IS]i+vLW$pM6)kp7l፳I@zI; Z(rnæ%.24d3rM 9L[L|Sg Y1TU~o:zZk4/}F2 Gz SJ2r3}6ɭxUz٩{FHǞ6e}tFצ}TeVw'I@zd&=9/~I.yncT2p%?,V&Y2 Ho!Tu)833K4-Uj^/ NgRC&C&EG&Sx@}?Ws~N42 IL d! A$B&@2 IL d! A$B&@'endstream endobj 426 0 obj << /Filter /FlateDecode /Length 922 >> stream xuUK6rԯ-VEJE궛-^%2 .`r曙o^״YZ_/wuHOׄ6 9}:D\1,"/J5E-m1N퟉D+&='dH)CgUͿչnl++Uxa:e$n2 VxgS?6v%e΢GL{NKoBQcrѕ!n)ͤ_]ZG.;dfݨh#zw_a`5p/3h`ҍJGiWzץnq\Pcy☂(3NF7O8P_ lE^ >lK3z6}0Ϧ[<{뿦oendstream endobj 427 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6155 >> stream xXy\Sg>9.E%=\Ժ`.֥.uG\ $$$$Ǿ @Q@bݦjǭjS;]lL;3I?wv;{!ߗ;><PcP@䯈 kVni,R*7]؍~ɽs&5iڙsǼ8D M@6͘y{$/G,;_`z6I6H\R$eEAWDsɇJ {d2!Z&+T2omGITҀp"B]!SerNGQG* ZH^&ke #1BJ2]B' 4J6"TPGדAiz,Y!Gh}N5Hɍ}FCtW RDfSRh I#z*,K#WyBNT#Yg|:LU%V3L%_4Zc))rZJ,. ?Y_)z-:z톸:&- aیۓ"v$Gvw+(Ƽh/זX(jz fS9nj.KQP}ԋ~ZHS/Q "0ZLM-6QKj+FJm^vP)j5ByS"YR>/5NR^*^j, 1Ǵyxy-G.X{7a$Ji8㱞knx@b:PlBͨ ;WUGx`NF`4:``DJܧaƓmc F#Rwi?.1Hw\/ ՜TC_I/.7[&p[+K/˪2N OdwŖt]Pk_GyEfJ^kKoFLws hɀ#L9Pvr+:-߃<߳0'2ee[PJ+L)QVdˎ[N*۪C1Ldl\Ơ%j(-@%<2rڊ]Nd)ɦd:Z]=-քFqCbU-r;>nCÝ,~>̶Y;,:~>8bC]x4~qIK8闹x6D4~9-w~ $/*Ո{~@o틸u''źDYJjXz%74 P{ / ^JIq2%#"e8sƅَt8 "FVn+_YGLd!yc:9K<4}&N)E᱙9?(ZD 10j eqZ4T&X5Mw%5'3yJ/_9ӡ.<4-t Yt0)um&y]c-g~<:iB&K⑺ 5:5'%3i=&d畢R_d,sƉtSniniza<{8Lg}v=۽?{^؝S b4Ef$Xi's%lE^YSDN69[J>Z_mk;![6n.j~}By6 a17]^\K.B7^ 3a&iL.:|S3+<žk wN:;kj,vqze.ihwE.7k%h裖k{JL[夣 Sː ٚO.,*+/WJӛFdA,3k}ڹ9&'(x^x:"jOO9|Տayr\{l]ށmcn ӶynZ7$jrU*:&\'i5by T4_[y1I_u͜#(0[ץ3w$=t03KOm{}ÎwB徨Uh/~*BH?Iڗ|0.ƀ|3+ PaA3G\' U^,A|% cgȖx 1`P]Ip[4 ý4 ZI9鍅j7>_^[cבLKNnfV8ݔcEiYru_ 8|~}V^evrq]}Ou~96΢#0,-2}hzVm 0'f墴<+?d}߬$.#:m#S-8X܀xDT&~mޭzfL~țYy-hJ# ˷,T(4F}y0Mm GGwJ]] i/v#*|#Xkcd J;@sP嘦Y=ݵל JPSCYUkDKge'M}Q_qm#^>, ,&!GS6@?,ᣆ=3#Jp%ZCd}#w64::,Cߧ SJgZb0'LX:3.##X^kQ|91xƊ0aF̟œqhۇW::+kS;o3j K]vTr3%wg~m<.t꩞hڱw8H@hgF[G;j9 53FsYeIQYi^\*cZg\ ɭ-g[= IZF6TAѮ {C!-q,zj} ^VjD1I9CAuxsTA sqQaL: 6'W? ʫ/wVedg>zSOw&#v#MIeAt[|+[/ʵ'!H8D/( Rɀ<"7Yb+t;ٶLRr-ɡX?y9拚lU=%V@ }."õ*yfX{O_+ѹ,D<}5Ueyс6+P2heb"7I/)LnXsvPa(V/Td!⾀Eu}aĨhqddBi]n}ccTuBL_!ƽ1#` c񗤞n~ aZN}vs=w4 !ډ[JOVHieA;ƪv8D=12^Q_D0O%Ip&WGaD]?Qʴ[{pޑ$9`2xpK9xaUYntjolYs/<&5f_˄ s䤌L q &4 m>yx̓Y_hF[=!!{ cؚ8D]V¸'mYxe @A+,!ЃS5_]"෾&)_ u˜s}1=4|Ѵ[b*$iw#tRYIyimq툷 #f 82ayם G>ng`I+#xsN1P3MĭJXЫқbǝ'ObE<Oy㬵{ f]@/ 0(C;3,9c[fe;Q翸P{hE IxY:n~w;o-O,Sx7@\R" _V37|s~vn^f1DŽ+cg]uVCĦ܈6 m^Ln0/nfXE,*} ,q]O/XcOOSEȉ;}"l.ψ 4Bbjzn$=871 O]Ʀ*2^~:洘ss%<+01==-Ku{S`Ĵ^臦Y9k :kCr09BDaxN8M>b,endstream endobj 428 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8445 >> stream xyyXS!9ujISI:i[:VuA0C BH6cByIQpZVv~w;~Ͻ߽}Zz׻V`pvGIwIV,p۾^N;2SPֽ̯0g5L#4&fW={ng7Ϥ{ɖ&0c5O}ϛ7D&-^r`X#?$$hq|],Ģ(hnWm^۲SE#  cdE!8QԓDApy$FP^& ɤpX$拤p Dq1rqH.Eێ߇Hb"iGD&ŅK"|'6sexY$ OKmsM# 휃bQpL[I'MDŽu|Q840.8J,敿'[JQIJ&pLIE8ȁ1"g>kd9vSfm w($Tq s wt-Yly[+V{{իy0}MoAD&V/+b*F!܉IN% /b1&6 ™XH7"b Jl#ۉeb9BE$V'BB$!D!#D"@>18E8 6q EOOӈhb:C!f{q"vŐNynJL/flba}N#x+j?UFO{ӊ©L0Y3;cی3f~Lسk_k_Ys\6w#|#x3yb7uRjvhl/  ~ E_yk/q^zyˡ/'ü! /Z{-y(KdhNJo_},o,$O}h^ |LۛM)`9%\H&H& :Y'܇K¼R@5|(nZWaf+_U(A)kH]6!E=l&} R/OR"Ks}µ+OqRYz *mRL(b!/̮PVsQ{NSςN*ȋUo22Z<ᕁ{@-0뻇TK$j *>HJօggmvG-BUI<8nxZv!&( =d=߆Jl'Ǭ 輪izj•5Lw68e+FM%u'}h[2 VO_.~1eLG&L(uq6lN$.YKD/ib4?变0Ch Û_ y:e]pH]_P2>J}yUz'TJ`SA*P }*)jǦM [s;3QIU띷E; pxD=Imç૧Gmfe;o+UI0ZF8k>I/_A1:‰0j] gUM)xΈ:]?ӟA;*|f'oy o\τ0Xm95|cd-gn]-4=G= *t*u 8P vf'jD.)VV6_§Ų'MR:̲AOfC'G)8 MB ~3ݟ;'\A.>͙ S18Q۹E^L?"yh9@@O\~=)2ru%t;G7=8*8A5F㝟+Ғ/N6" \$3kD GYZ/24xEDJҒDkdsEp {[#N=>v/j퍈zPR,JA%\H~U Ur`J(%i aQO5T=;̚hbsr I 6M&jYAw3C\[Fz<8 PBGo~G f$ܒ4'6JR Puʦk8V>ܽW}Xg-\|2eUj6U6g2} 6@(`\.(_%JU8++Ъ?v|߁3^q3l7]T:ѽ-聯p,3R(SBPZ9M%E&$?{R ʳjqNU3o_{}w$zkm>SDٴk7eeiB9[d.Fb.d]_4}:8"9x#I~UNxAN:d<`+:=梀םr+1lg_'Ip4V@̀QzZ `-Ε9bdTC^'MΠ8z>}ˢ8W-gFzF҄8.CT a/y={2 0~y O=fB1D\JKo) jUZq2+t)mqm 5&L < Oܬەrf|ٴ(7-¯Ӯ$g7RH IWh@Gv 9.&d wx]hl HK~QkWr-y,v$ IcӤ|RW%^/7U?lJceбHbeu@tY k*,6gb>*5vQf"{W45 A!09x|ؒgu6gl[+} +V) i @JBPT:+b1˥ q|VhC/cCUdD@eiQo+&>)56b3UdwFiTI/5XQUJ#?UEfj#W].Tրk)Җ  +p=W՟W`GPNѼ:S9p]JuJ Pr}b7,ZEnMgdYEH54x vhNeZ8>Q"(ˠCգӾCT"SKR&$;R)0g3ܲZ@"G{xMh9F[A1id rM ^nn; d|V%@ &%٘ܗ.Y5R<t/V].[aJ/53`̎Q9N4Thl*15HIJ7$iV?@ؒc*&[@ubuL j&%)Bdޅ3?E|CgDdِ%wW1@4mJ& sP}ũ‰ 2AN/ÙkkOO`];GWc^'FJ7pb\ HrVMa&^9GWIlܧrjEjrF!S/|5#3Lg8tPM6dTjyyi&PV]x@j@aT+1femq9_9! Ғ< hV36~ .n ah{]&mH0HRT 5SJ =(lP !sKX}3ߢNxcܥ<. p}BWM6(v"%ӹ,`nJ1$xEp2RlYY $̟8*gKzV ~ :ruކdVz%`u}GfYUfYldxk> *觛a}&ZDžsGYdRvThfy0%?,)E.EMZ#%epʩLv@Oit1r΄k#B50{Ö8rZ-鶘K{l, {23̩Vuq(IGVZ{&vrlcwa٢~ƴAAχN\ߵ1;h9ԣo:Gs촋渶.}O?(u+K-7@_;9P'1-ѓ]I@66Eh6~ #s$_8p6Aocx\Y5n 'uEi]Tٜ/5N'H }LĤ#hw {Dc|OZ"-v\ŗ"$!="F+CBYʡD}B; 6_qŠX;ye.ݠdGAszBYv@}ڮ ݳ6i5 3Mí AUXcv^Jdxq>܅c~nMBC-:Óцg\/S]e4̗=?'Wzj(-@8C4~S+Ol|jl=>%tMwlS-lΐVRҬYi&OTt9^CnSiQ|v,`wB`BfeS͝V8oaMhRa~)5~dǤ"Fv :3 v$9LJrF\[$ quWF­WB631!jXPDqCB"2"&,*)ݡ5zq Ȩ~3rv cհ9.r#n"3,z/CwUX 8A9?ԯFV. _tM=i?nz\qM[c5~mt& fi :uΨNU'쓟S܂/ 9{'"NπF\w"oiN4udE'H5Ih U65slZêcAF ~̌q;XaSp"237[L 9ɇ.$yy"]SBcl(K157^t~o/ŔUdFjvoviQiju zNdF8%&mO2?:6PƏoLe\\?T6XRז-zqrwG: |꤇ݶ6[ԥ >Q"[ @˽ap gZ ٥9e9* 'bIָc/hͤK~J 8I_`{)źJdne쓙UZ ziJ4;yӈi|PSM(ȑr=13a=~6FCB5 ɾBThM垍m3{sU$-*1k*;5X+:w͖zr3閣)X@ W tIBIG\MÃ$|:=^{<I=?\>KPg:ϱt)H0$YY5yjڒ6?XԎU+y"ԉ^2*mx,? @ωҫಉU,3,/i x2ZZ|k7€yv>t9i wبֆ؆h!:.}VQoYqb?7^&LEvS^κڎV5Ԡ6Yd*PXu67S770꾂l9ʐ=bD@vanc1p Tvu)CX_|/0 ACᓬ=^~ md",+(ϭ2V,.VE m5"MJUgڐl&I.G(krƯ?{BHsu:+mj+fBϲԧgᵻk+p{fեunKu!*&Uꄰom8tXxPxK>ӚX(PWwuoǩ7h*6~9wP8 FGKT[dlgs/ЫpΚۘ(}FMah6\^"=W6GMˀ36.bWt#k݅ƜB1LHIgmwlGLm|u{5.?!;3܆{OЋ]p\@FSwmZ|XQ,h-,>iV  cvEs+.WN>f#Y0lI7h?uk (q k8@owԇE.nMD2덻[ N}#h#A+B;k>P?vX=rd,tƆ{y䀛X @F$h&Fg3\hg:i\Ɍ\#_8p9ҿo>~Ccշ6V_bڟ/ނ 1`KBϮ>umSxD=p,.0Fr{Bⶈ #b8Fq =Ǜ>65U*>=;AeV&VS"4q6w80dlo *}Uf3 ƾZol6<PSo 8'{:Z @nvaz,9:G8?J-nahF]?j]x>rpQThzD玷ܯDx کGYerqQd:8]^`EtSlw$v8rUUʋ Ǚa+ ܳqz P\/ܾ:)_QccBaBoҜuB򿛐r)i\4TZM"TU" `*le%V7Nf`7.nJ@4r+)G1}cC͝A!߆Ȳ ުw%қw'Ӈηt]~>dMGZ~O\K<[-%KcXӺk\IKqm~[L8ɕed&xTB;C3sX%Ā0rd %(KHض9ӮBzoݸJ/^F`V㞅Lkq?|H~UW*md3 \568řd9l0ZPY>2ESnljseMwӚ{b}B!Uf]lkav S>8]1@Pd=6SL3I]/ǫ1Uxu@S/-^#^3cJ ʼbP՜RD6x Y:'mnd5b'FŽ.C:Ued0?cH3陯+6H1TtyTS(sd]pRʙ x>:XS&p$Sj \}فACϠиd{2L22Jw0 K.0]rFkVvMjt+endstream endobj 429 0 obj << /Filter /FlateDecode /Length 195 >> stream x31ӳP0P0U5T0C.=C ɹ\ Ʀ`A# 549yr{*rr{Uq;8+rD wwvvrllsJsZ<]8[M/o&[۟ͣ`C&.WO@.>endstream endobj 430 0 obj << /Filter /FlateDecode /Length 163 >> stream x31ӳP0P0b#S3C.=C a\Bc3 Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊjr#B >endstream endobj 431 0 obj << /Filter /FlateDecode /Length 210 >> stream x31ӳP0P0R52P01Q01PH1230!U`bhT032,ɥPRTʥTɥTƥDMwwvvrllt29y@-vv\. j  bQܽ%Ȅ~ [-6Ghyշ {A?M>_m B VLbendstream endobj 432 0 obj << /Filter /FlateDecode /Length 180 >> stream x31ӳP0P0bC.=C a\BC Paĺ@@`jiVɥPRTʥTϥT̥D͎wwvvrllt29y@-vv\. j gme0'f\׾n?e\AS! ;endstream endobj 433 0 obj << /Filter /FlateDecode /Length 210 >> stream x31ӳP0P0S5T01R01TH1230 !U`lj*2̀X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[qxrX>8|7OSuo&H\b 1M?1]mT؆)"=W9t`aprTMBendstream endobj 434 0 obj << /Filter /FlateDecode /Length 177 >> stream x31ӳP0P0R5T01P05PH1230 !U`lnT052X9yr{*rr{Uq;8+)h\nn@n7P7s~Nin^1P³mU?N 9חncM61D.WO@.?6endstream endobj 435 0 obj << /Filter /FlateDecode /Length 175 >> stream x31ӳP0P0R5T01U0TH1230 !U`bdT012@]C'BIQi*~8P!PS!K4X.}7}gg7 7FK9?47ΎEAmME4 ?4߾s,Gi.WO@.Bendstream endobj 436 0 obj << /Filter /FlateDecode /Length 206 >> stream x31ӳP0P0U5T01W01TH1230 !U4 *@ 9yr{*rr{Uq;8+9.@Cc݀}on.}ܼb;;.OE"l'gvOsdKء'qM?blo7 ؤ)R7yy08pz*rz?endstream endobj 437 0 obj << /Filter /FlateDecode /Length 192 >> stream x31ӳP0P0W5T01R01TH1230 !U`lb*2́X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[1P+S K=׵][ͣwe5fe`rTB:endstream endobj 438 0 obj << /Filter /FlateDecode /Length 198 >> stream x]M 4i Q/@a0,J maںpH>x/3]g^h0sM0K2{x[o48_u|}"p4[(BZCf0Em ֖jS {kwSTT˦WEBE%z"!JDSjD4J2'[>,)A4]|߿1G/Mcendstream endobj 439 0 obj << /Filter /FlateDecode /Length 1722 >> stream xZKw6>K~,EρHHii;9i$MI6Ix<&_+Hc]'c' O|̰g.JqfYY}Hwf,\?H($^%3CLa(81KUBB)ыZ1[6u WLO^7 BI=6GuwE}5. vZ}a8D61 * QOUU6 G']tl k0sg֭c2YZw e^'tNZ*CB U- oYY ff%L; ni|QHi8:Ȳ.U=D"QQW^Dx+P ۉBfY.\0Apa@AR޷;("!tp1keNdcҧO4`a.'VMJ3_LDcpwWcn[_:,X֖jO߽ bԝJ' O?(А~ݒH]KH:^& o@}|'.&6ݥԐv&[0_ HNVi*K3;_HkY澌t TK >Ey]Y$+D}\_EznY9z /s " k:Iʮz1̵&h(baJe5Gm'pЄ=({VsT}"M Ř+.qXi1Tin} "@˶K@ei5 'GirXRo%6}'Cj`^d蝠Qx zf"eY7.Ĩ2y[eDnIɐyWJYiڑ ^Y_@dw9΀cۅ*Rzrrs!^庉Qz'& -8ZX2Ԇo Р#a>AkXALl7`UZkR>8a5S֛*TV;غ&APB+I"*ۡKRf\ڃxit-4 sC@6zn!> stream x31ӳP0P0V52R01S01PH1230!U`bdT01,ɥPRTʥTɥTƥ`ȥ 45KM V8qy(-x~ 3¡ٳ$ײHf} bb3gN"w`ܼy=),2㪽] ۑXvaMklې!aB IUendstream endobj 441 0 obj << /Filter /FlateDecode /Length 172 >> stream x31ӳP0P0bCSsC.=C a\Bcc Pº@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-xXo[MH_ \ \t%?endstream endobj 442 0 obj << /Filter /FlateDecode /Length 178 >> stream x31ӳP0P0bSC.=C a\B# PX'BIQi*~8P=P1S!K4X.}7}gg7 7F[A(㜟SW bg颠p &>G?M]mz/<*6Ϭ%WX\=Ē@&endstream endobj 443 0 obj << /Filter /FlateDecode /Length 190 >> stream x31ӳP0P04UеP0T03VH1230!U`dlT074`I'O.}O_T.pJ.}2.}g  45KM V8qy(-pܺVWuҥצMY>/ /[YW۷÷o]КDendstream endobj 444 0 obj << /Filter /FlateDecode /Length 189 >> stream x31ӳP0PPеP06R03VH1230 !U`dlT072,XD<=}JJSÁ =K4X.}7}gg7 7F[A(㜟SW bg颠ↀU@Pw{0/3.]ڲe*YK\=T9Dendstream endobj 445 0 obj << /Filter /FlateDecode /Length 202 >> stream x31ӳP0P0bS3C.=C a\BC Paĺ@F& %N\ %E\@\@\N @K4X.}7}gg7 7F[A(㜟SW bg颠b띦Gl> _o/~\*SCB  HUendstream endobj 446 0 obj << /Filter /FlateDecode /Length 208 >> stream x31ӳP0P0b3S3C.=a\B Paĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊ&z׬||ֻ׿;?|[C* o8|X\=!^endstream endobj 447 0 obj << /Filter /FlateDecode /Length 219 >> stream x]n @|%a*_Km?@8 3am9]we_5P݋'%&e@.O& 6wW>- V@<.}uEE)[>2ذ@ÀaPqATQAVKU:IgW%`:s:r]R(r!@]<&;brҌmendstream endobj 448 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6376 >> stream xxy|SV(14͎ pbFR(Sچm$M344S4iti P*( 29z~kݕrwνv^~A<4`0ɛDYrijq^N27 I3 h&}g)˗>3c=`͟L `CuOO5u扱WSYi;^3gbT/,Xx K)NJ`P*+eBqPX$'* dBAH,؜s5Yk6 bA)+)U+d ԞDXecS}6^4}55O: YXu9slv'._ɴ*DL| ZfB[Y&&nr|@y|ĕ̔5juN\=aU0V[w;zjۚ gy-v,Bu t9<+ϾpyDgh([ڢ36fd"x&wܠڮ=1b(Nя52Z: - tb悲*W*]p}٣>dԹu]yx߅k!Ut\6>VVhܚTD.I)w .S]]=q!004,g܂k˂kK|rT&3-5]:P/)PrUk KUZ\]=r  Tut9kaWൺ@TUr@R򊍧|eX5VWgWY8UT́Q|l(|=ۻxm^C@FQWU+I4*+3;E]= Zcb5{=ƐAYz  %NScO۪f^X@ѿf%Մ+am(A'x¾Pw4:awma_AYuVMUz-;[;~338 01 D|*P mQ+w}pPٱ=g)᰺ =XhgUtRLSV.'z2ӨuWXj~X;0lHKT*C #dp_mhX5:kp\ou̍\$#Aͪq1%[+&N.8od8d߹K o .%{#%2z;7 vOu3 z)Mf.wy~j;M~NƝR .;y;N3򁉔m{ڿwmPՀgj\ <=U]f4N[t: Ŏu 5 6_8{졹wL•ݝ3yC Z}aE9rYd^}yS4 ԫAN/Wv7EO_"2>#TA& Лg3Uu\W \D(>z2!FT*U5hB;z %mrLի! `ZrkZF74ٕme"\eXOu_ͼ`JMn*FB>BYIyAGY-RI`pՓC.~[wt(vWŭ?s LH~#NO'#ףL]e kRkUq8׺OSW[/z\Jo> pNNycg"~D2Di(eT;<aq'_cr^2kmzvj1!G'vGѩuwag!:Nh4T(4Y| |w.M'48i,gr`,ravZf.zzܑhcns.kU;ФQoZܝ<{&hہk)\aFTbMuӹΟoPn z?.@3 C;i,\寐UYnim6PqR lm879m !L yjpKuXF)RuerI ,45zrJ^Xqsl 8:8Av&j zTܷ@* kic:6`Fge "K)>1: 9Rr*:zoNDutcO6H30pEs[,z|_fehze۾asXo?7q6ڐ֪#f=McQ:lvM;mN۳$WF#>wJStUe>B~<~4I?FE :3hDԹCl~(3- GQ˹w#<ωq'Dɠ1 yhF97Q!EViu<Iޢ.)m 'n5g+>"a#>dtjkېr:w^FQH)X] z$~싓p.< T~;(Z"}?Z5 *#9Xߧ7P r ҕc?_ 쐤N28zQ>;-W9p9#"i?@U~{GC#NT)c[zڭ#|GEp>77nӑZ&.RBe$5(;F 4zͧ -s"LәAR>W%1e]YZ)J}s Ggu'"_>:NJٌ͸ՍM v s{ C`'vg=9c5Le}eV8jUU}`8>;5!q)4p/Von!ZѪ.{:%bUi#KR91e5{1pm=s$7-_lbځmIT qa%,xgJlH6k_%W_ z/>6$d5vp:dvD&of8vi[ysϡ;H?T7؃;EO7H(yX.P>|~s`#w<h!6iktzl$`*rnh&$m9VE/6w6ǼӴ?׬ Yci s:8+{6=6eNvsgo gGQW>::zj{:0i/;詙t R䁘`1=0{A򄂽{ [p1!7 |DltZ杖RqS?Ls0-8y,Ll2U*̈́2U ,Qyj) LvE⪷X@AF;s$ YaACYGkSS{UGEKħ{ً|:3w'ʘeF=G ٷxV.: CuixWdKnYhõWEHT]ž3lk5WY0m&^^;c-V wi1~ci@^N zJt9v&ncqkUc3ـY*.w^TJi~O݄ wǘddN1X|`fyS讃/;xvzmK`Qx(yj!E[2wn3CEg(~D)5Wzr~4}p&L{^aԚ此*:Ja/M )X3Y̮r,UEqE{ݑx;hm?T}1p+)t%V5F)u/jV۝Bόx`)G{;~qQ[; cpt&VWdUy+#f|*]nRy}mrY#*ڽMj>^Yh*Lgު+--֐YؔlݠM'. =1jczlRqRx%:rډ+#:Y4UImA*cxc=7N$9%⢖ήx*c(^OϘtҸ]0w; /c8XrC܋ ::~q .lA7Shqꋔpmh F}O]ر^nRҴ}֮BHUA܉\c_?MFLTPlQQSY$l'cK ʔXAǸJUji2\ yIT*7/$ gAB0N+0Gf>_A ީYڸ6#,[ӄ> rp1]8E{pIx [)(ZWif7CuP8= E#tUbeRGqÏ-CS2n|`93vͦV2ocSWԠkuZ-V+>PR{rWr+#.?Nzw<|DLG]-:`(ف3NRWr$cmҜ|~EE5Wp*fVlHf"J½Qf#m NLendstream endobj 449 0 obj << /Filter /FlateDecode /Length 190 >> stream x31ӳP0P0bSS3C.=C a\B# P8yr{*rs{s;8+rD͎wwvvrllt29y@-vv\. j+HW[= )GC;<9_Q֢'j`hrT >Iwendstream endobj 450 0 obj << /Filter /FlateDecode /Length 182 >> stream x31ӳP0P0bScKC.=C a\B# P)H'BIQi*~8P=P1S!K4X.}7}gg7 7F[A(㜟SW bg颠╠j+M'>d2w{ۥ9-`bPrTh?dendstream endobj 451 0 obj << /Filter /FlateDecode /Length 212 >> stream x31ӳP0P0R52T01U0TH1230!U`bdT032@.'BIQi*~8P%PS!K4X.}7}gg7 7F[A(㜟SW bg颠RɡʇX/Voά+믯ֿY<*{=[sg':08pz*rFJRendstream endobj 452 0 obj << /Filter /FlateDecode /Length 170 >> stream x31ӳP0P0bccKC.=C a\BX0b] 050)qU()*M*N \.@c݀}o]s~Nin^1Pڎmŗv)b) X}oK/K ?eMap`rT:Pendstream endobj 453 0 obj << /Filter /FlateDecode /Length 160 >> stream x31ӳP0P04P0"sSsC.=C(ɹ\ Ff`A#s.'BIQi*~8P%PS!K4X.}7}gg7 7F[A(㜟SW bg颠sC?oM\=*r3>endstream endobj 454 0 obj << /Filter /FlateDecode /Length 117 >> stream x31ӳP0P0@P!Ő@B#9(i0 -.Pr{*rq{Ig  4> stream x31ӳP0PbSsC.=C a\Bc Pa ĺ@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-xƨocV=~oct0Wm.WO@.?endstream endobj 456 0 obj << /Filter /FlateDecode /Length 199 >> stream x31ӳP0P0bSsC.=C a\B Pa ĺ@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-pFz\e鯯_[>~}/}P^=;u @`[  \ \Dendstream endobj 457 0 obj << /Filter /FlateDecode /Length 232 >> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[͇]2eoeۥ8ts(|h}Ask|Uٷ.6={C´mb<" ,\ \POendstream endobj 458 0 obj << /Filter /FlateDecode /Length 203 >> stream x31ӳP0P0bSSsC.=C a\B# P9H'BIQi*~8P=P1S!K4X.}7}gg7 7F[A(㜟SW bg颠?r._{u~%j.?ʷAS! rMendstream endobj 459 0 obj << /Filter /FlateDecode /Length 209 >> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[ppF7TAsT-([/˗_Ǭj~.۴ñ[Ix'm۶máM  \ \Gendstream endobj 460 0 obj << /Filter /FlateDecode /Length 175 >> stream x31ӳP0P0bSS3C.=C a\B# P8yr{*rs{s;8+rD͎wwvvrllt29y@-vv\. j+hӵ 3]@y$QP, \ \3K+endstream endobj 461 0 obj << /Filter /FlateDecode /Length 159 >> stream x31ӳP0P0bS3C.=C a\Bc# Paĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1PJOYc4bP`rT > stream x31ӳP0P0bS3C.=C a\B Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊ^ɡGx_3W[S! E@endstream endobj 463 0 obj << /Filter /FlateDecode /Length 198 >> stream x31ӳP0P0bSS3C.=C a\B# P8yr{*rs{s;8+rD͎wwvvrllt29y@-vv\. j+&p~jHJ$_ؚO [^endstream endobj 464 0 obj << /Filter /FlateDecode /Length 198 >> stream x31ӳP0P0bcS3C.=C a\BcK Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊ|ۋyw(طK_?Lo}u롇O5p04pz*r~Ihendstream endobj 465 0 obj << /Filter /FlateDecode /Length 211 >> stream x31ӳP0P0R5T01W05SH1230 !U`bbT052X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[;â7%dzX_ N뻺-m#CB TNendstream endobj 466 0 obj << /Filter /FlateDecode /Length 228 >> stream x31ӳP0P0U5T01R05WH1230 !U`lfT02LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[yF酯-~/z꯮}#w"qYne9Iq_&}?]oK"`J%W01(pz*rFBKendstream endobj 467 0 obj << /Filter /FlateDecode /Length 166 >> stream x31ӳP0P0bSS3C.=C a\B# P8yr{*rs{s;8+rD͎wwvvrllt29y@-vv\. j+]>xV&GO4zj`hrTZ@endstream endobj 468 0 obj << /Filter /FlateDecode /Length 144 >> stream x31ӳP0P0UеT01R5RH1230 !U`lfT0Ҧ@kirU()*MP0w pV0w˥{+esJs:<]V`hrT"endstream endobj 469 0 obj << /Filter /FlateDecode /Length 204 >> stream x31ӳP0P0R5T01Q05SH1230 !U`bhT052X$sU()*M*w pVr\r;;66@\9y@-vv\. j+W[= )GɳG~7>w鍸K[vd02pz*rN#endstream endobj 470 0 obj << /Filter /FlateDecode /Length 368 >> stream x]Mn0F$ۓHlM T,$޾7N!=O/i՛uNVԯ:הsqu?.RmP͇4b>_.嵛sun0 ZmKyxuN D;-{-Ԭi[hۨTtOERLqaþU"[g,PE ąnKMjpv^ hABb X(fj:꠆Ј~T% E%A 'PiM-3cN1 WBDE$$P+Հr@AV⼵!Pg yTuknjܰqۺ jPiV_endstream endobj 471 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1232 >> stream xElSU`Q ,):#n 0GP2-uek;m]{ڮڮJؔ* HCA (QQ!1Yw4hnN=_{.Id$銪r~1/`M3bk UҷĐGA^ֱ% BCg$rHRoGcVAn2˕+XyiUťlVe(:JajRi&iaJdck2ZVZE HoP_jLM[*`Qe7u&vBb3EBm5TJWeЩ *Щ-]F1:^GĜ7}j!D1a vD1JnH1Wx "pG2r9-2E{3'ȋwP31"AOWKKtwI׮tC‘Ai,ECSɑ` {_ nށ)+`OC/en/.AP%\ FWp8'Q[#jI AldN  "\BE x<#}}/(Bٳ(胠St8\GOGacB ?3VhN[[oqrj_ p()u`ձ`p,¹)D#?e_h3L5Lro"Et90Wʎh$~{/ olo8 #m?0wKT/;k?|’nnNT9_S)^x'iiذ5;i# z@xza QTlLl#tjNjtNւƎԁ< |x,endstream endobj 472 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2712 >> stream x pSu_GP8 ʀ "J)Q(iӔI6IϦMUz "PRA笢{N&0 6^5}|A."bPe;&_2s-ɟ; 9Lș^t%!oU\ {i2k,g?jZ|L.(p92 {{my5G"g/}+׭\)J/=^+zvrZeq8Nw 2>}[?6]P[ O m"+vZSنlGv !Dv#{bd k$ RGpn~2 9cLe5eLɬugs=( #٬_eϑ\" :zyˬ0HC`Ӄwt0TSė^ }bE{vu) hGvۡ+)6T-+H%tѣ*bQM)KnOǎb[p{S] M=tpӂTYգ\ 3F3D73^dPh1Qw$ ԋ M/lt[WWi5{~P.Fˋ`p2)ww9z;۠BAhFHxM{Wu7$GC1ɖ,ZK#DU>h=ik0t+!G-8SqoY$A4o9vt&f3ָE^xP3f8x~eEX`S-{!GOsCZk0X V#K^%/b|2~lI Lfu6IBPjE4~*LѸNW.x ؠo0iph?6Ј3* 6M dd>ahVk [$BʡRw-9ОUڼkW,˧bA1fFٌL)BA쵱ci~ED6G,xW%Qhʯ })E?~~5$fmostWtPT^#4Ǝp/KCMD;Q%[Ò[v侴6uP,h*?9q}8vruByce}{!:XtMeY.)dHjA'`yNw.@6=0UDdQMvoKhB~ z6bSgԁժm~j16em67:XJG$tjƩ2tِWe*D < )[51t[:ׁH8th[3~!]~:cED[Fm[Z> stream x%]HSqqngi6dJSQJvs1MێngE缛siF~kBA衈 Q! noGNDKyq,4q+-M:$.ƅ2 y<{9>P)2;>1Ǒ%a2g\myLaT9JL2t,ꊍvX&;Ubb-]JϘ4롒.ZX>;-)ds2Z[v4Tcgk&Mz&/G0tane>L00 uёyD2"󂢁/ tR+箁 P9oL27{ziwByA1]+Xf|"((^ACD.vA)N;vF_㡝o-<иy VuSlj>m tœr9aeRjeky j?Y.D/w睜بM1Q̈μ4^^u*ōkrzƵ[5;7 _H)yNTgTFmt?k|v*  ܪᇠJ'Zpã,-mo5ZC]m& Y7ݰR/ ~T'p8 !$Q/°;b> stream x{PTﲈH0}l mw5☘Nԑ)A"ea캻,˲o}஼g@1:IF[SLmڎs^{t33s9|;<,6xqiYYF΋>ɗ7 v|=[o%@<cG:ER@a[xyҤ*Ymu %[`JʡW^~9E*j+D ,U#(R/Ow Nϡp]8jaX)x AF"vgnvKd*PGMY[K4k20T}>7awyƝ=xBt=9JȾ}V`8K*@ir^po:Xܰ G-J}0~jzp}F/%GrJHHos^t)):r@` g&_ jJrɦRw6[c'r}ZaGtvz{q;f.;C!k@WnvwhnT-;2!0}4Ƌ&F :'lۀ XjM=mU,emZjPj}p=0h0C}*$@irc6&H"2.`\uv{?zMRUpHe#?lh!j=5aIڤ *G#+~]&x6A㠙Ѡc:~_M:lF#vaM\ZZǧZ!,#h`yhW|o06iԙ-4E07z+]ch`w?npSšt. {.K+Jhւ ϝ+zip4'.iE*3Z5M!?s%7 rO+S>G_`w̌' |YO@ٓ=(y('G9Age-4a1}m{_>WV"mSC$l}:%nn$|z }F=Nak1uSdv#%Wm;<&$y6/POb_B:7u\ bB~cq|bl{Th%=Y ^ׂ<5ԘL *u68޴UJVmF]sg;L "x7endstream endobj 475 0 obj << /Filter /FlateDecode /Length 202 >> stream x332V0P0bcK3C.=C a\Bc3 Paĺ@@`ajfRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-3}~!]/.ⰛWkfݼefݝ5M"`VCB EDendstream endobj 476 0 obj << /Filter /FlateDecode /Length 176 >> stream x332V0PcSc#C.=C a\BcC PalpU()*M*w pVr\&r;;66 @ܼb;;.Og9lԗ/*b~e篿4m~ X\=q4endstream endobj 477 0 obj << /Filter /FlateDecode /Length 219 >> stream x332V0P0R5P0"cC.=C(ɹ\ Ʀ`ASC  N\ %E\@\@e\N @%hj,`c ΥSW bg颠p bz?GlFs&ޭ?ۦg;YYܡϣ/>!FYxY/;4am)7lpD.WO@.HLendstream endobj 478 0 obj << /Filter /FlateDecode /Length 179 >> stream x332V0CcK3C.=CU`laQhbfɓKW4K?KK)YK%hr,`cﭠ q)+jtQP[1Yϔ?u~?1om3TU, \ \JCendstream endobj 479 0 obj << /Filter /FlateDecode /Length 171 >> stream x332V0P0bcSsC.=C a\B#K Pa ĺ@@hRɥPRTʥTͥ`ȥ 4> stream x332V0P0Q54W0T01WH1230!U`dbT01@,ɥPRTʥTɥTƥ`ȥ 45KM jw)+jtQP[UU;:?'(u>\u4d X\=5=?endstream endobj 481 0 obj << /Filter /FlateDecode /Length 159 >> stream x332V0P0bcS3C.=C a\Bc Paĺ@@`ajfRɥPRTʥTϥT̥`ȥ 4;KM V8qy(¡j@HoPCB R9"endstream endobj 482 0 obj << /Filter /FlateDecode /Length 177 >> stream x332V0P5& F )\z >ɹ\@y PHTɓKW4K?KK)Yq˥{s;qy(9GA!G vU,Q(!vݓCV-`bPrTB$endstream endobj 483 0 obj << /Filter /FlateDecode /Length 161 >> stream x332V0CcKc#C.=CU`laUhe<=}JJSÁj=  ]r;;66 @ܼb;;.Os6s=RׯSm.  B ;endstream endobj 484 0 obj << /Filter /FlateDecode /Length 177 >> stream x332V0P0bcSc#C.=C a\Bc PabpU()*M*w pV0w˥{+esJsZ<]:akk+9^_iwi Nڶmá\ L\ \k5endstream endobj 485 0 obj << /Filter /FlateDecode /Length 192 >> stream x332V0B]Csc 2RH1230ɹ\ f`AK'BIQi*~8PPS!K4X.}7}gg7 7FK9?47ΎEAmŜC6 \ȲP~wջeGJ 8 05$F.WO@.Cendstream endobj 486 0 obj << /Filter /FlateDecode /Length 166 >> stream x332V0P0bcsc#C.=C a\Bc PadpU()*M*w pV0w˥{+esJsZ<]Vi,q^ۿ0t?*AS! 3Fendstream endobj 487 0 obj << /Filter /FlateDecode /Length 184 >> stream x332V0P0bcc#C.=C a\B#  PajpU()*M*w pV0w˥{+esJsZ<]M2P-}a[5YmbM?69F,짶_j@PL \ \e3endstream endobj 488 0 obj << /Filter /FlateDecode /Length 175 >> stream x332V0P0bcCC.=C a\BcC Paĺ@@`ihfRɥPRTʥTϥT̥\fr;;66 @ܼb;;.O"@S%HD-upD B :!endstream endobj 489 0 obj << /Filter /FlateDecode /Length 171 >> stream x332V0P0bcsc#C.=C a\Bc PadpU()*M*w pV0w˥{+esJsZ<]Vyڟ\y[3ow#B ;7endstream endobj 490 0 obj << /Filter /FlateDecode /Length 179 >> stream x332V0P0bc c#C.=a\Bc3 PahpU()*M*w pV0w˥{+esJsZ<]VΚ3km9Fj˦qw%ebP`rT7?)endstream endobj 491 0 obj << /Filter /FlateDecode /Length 116 >> stream x332V0P0S04Q06V0TH1230 !U`dfT0 XɓKW4K?KCK)YK%hd,B ? >B (7endstream endobj 492 0 obj << /Filter /FlateDecode /Length 117 >> stream x332V0P04F  )\z@>ɹ\@I ah$t*ɓKW4K?KL:8+rD tQcooAl9.WO@.#endstream endobj 493 0 obj << /Filter /FlateDecode /Length 161 >> stream x332V0P0Q5S06U05RH1230 !U`l`T02LX,ɥPRTʥTȥTť`ȥ 44KM V8qy(-oA~٢) ,\ \@\<|endstream endobj 494 0 obj << /Filter /FlateDecode /Length 157 >> stream x332V0P04F F )\z@>ɹ\ `A*'BIQi*~8PP S!K4X.}7}gg7 7F[A(㜟SW bg颠AG<:pN"AS! *endstream endobj 495 0 obj << /Filter /FlateDecode /Length 196 >> stream x332V0P0T5T0T01SH1230 !U`lnT01 XD<=}JJSÁ = ]r;;66@\9y@-vv\. j+zXd'|q]￿[Vh繿?|zHj] 7I"AS! Fendstream endobj 496 0 obj << /Filter /FlateDecode /Length 183 >> stream x332V0PcKc#C.=C a\BcS PalpU()*M*w pV0w˥{+esJsZ<]0}hPſ|f=q'+B`allyēN8ȶAS! 5endstream endobj 497 0 obj << /Filter /FlateDecode /Length 191 >> stream x332V0Ccs3C.=CU`lfQhaɓKW4K?KK)YK%hr,`cﭠ q)+jtQP[1ic'G;/~(~̲Ksΐ`hrT;@endstream endobj 498 0 obj << /Filter /FlateDecode /Length 175 >> stream x332V0P0bcSc#C.=C a\B#K PajpU()*M*w pV0w˥{+esJsZ<]dg|ݭ뎭KlkJߙcmڭE]&a 3endstream endobj 499 0 obj << /Filter /FlateDecode /Length 286 >> stream x]Mn0F7Ih6&VU "1EooEx~Օ˔duØEcI:Ǵftk<,2lޤ$W]JS/M*ũ4 \HF7졾 вESfک$nI5Ul@Ea2@ l@†REEѪBhbJhN1Z0Sh@]lxABEdUUd}NQ{.ȥDzH^m6֘o4-_endstream endobj 500 0 obj << /Filter /FlateDecode /Length 3553 >> stream x\ێ  Vt/F #yGÙ˘;aݜj6)Rxwb1RYӗOs^9j;ff">?Wá<ݬ}U̽)B30̯3fW?̔҅ngoZ,}Sb)-WCY/\p?Wz5n e 73򑍶bogFpISf{rHOa7b`5mu׫<+w |:nfdX,  _S^VnUj_gjB%/<{&ce,V]usbh@Mb7~s<$xܮf]oz}XIPHkT`WomUwY[ H3_ Ud+W0 ۳QIcHaIԏvx5aS5%}mUWESN@*_}+ӻF΁f!~B㣔MY[o1 -ۤc}lUW% qDֱ'·*YRz#[h\g/fr>u|9]ri$A?`p/G/2#vaLNǓr`8̆My^Kda!mj?6~I$He3KD0s\+! Ay]F zC|aU mj#ZQ(.}fѐٟ^NYDƛ#nֻ( ,5H56wz;j ϫf14{œ2W&| 3 bCfOr쎯&K ]Zۅ3ŸH3k =VzjI&  _h).3'1%ǔ3* w3B!~iY*[\/RqZ s#' Kix y& f551^p,xj^gzM:0iႽk #?\c-^q/q…xarU;f .Ȁ!v>]ɶDY8E 'D !L!7xXna]vDxa?L.>Fܮ7 Fqgovp7BulS 5+.c5ׄH07΋aeiӍX}DsJxMej9=&"g4Ep֒RcDj &YkeE&nFgdjOıy& ijh-ePD(sYf V;P>zhVGm%0YdԀ&)% aiy یD@@Hy&!U6NHdᆚ(R'SadqV'SB2L ɿsa<ި>„Aɑ8H!PhsM8/ ;J!GQ0 Dy("~BYEB*YL7 .#(Jq6P8mB1KsQQc])0|4 c&eq`Pw_M7A`ݤ!}>Lb6ͨcs뱉 S+bv,08א}P-&Ü -w/X~(&wU[odhGW6Bq޺6&bBz q! wӶX1( J_~0<{5@Y'e}0`:☎8FUDžS3ޒfqU遭]vSlvRTcbK4SM Ym+1}YE%ګ*{ІX?* {V'#uzDRK.;Qeա\oNShiVVh'}k䄿A05ՠ/G0*A8WL=!|66efkC^S_ڵS͈焗[:f7TՈd.( 9M$ndmӹᨺ]LuVZ 8^# n+~ML`C:t42fof~gZy|:!osLܴ*Ml߽]ޞ8m=l{[}` vCEväK8`֩BG!KLK r1:]DvH1+Ah׉{}b",PO޴lJu#~]4,k [71dƦ51EDOxendstream endobj 501 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 513 >> stream xcd`ab`ddd v541~H3a!3#,7Bnn?' ~-Ș_Z_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@\\KsR~a`ad3{\e݋u}\}sپkZ8eZE;uRS|䨳ū[FdÍ߹9VK9ʪyݓLh\]U9{e`Tu7O#=btoz {˖w9j^*C׊.^s֌\Es*~}NtS8~wO^<;[]uwyw ǟݍ+9>_-:grzggvςC|Oylo-b>s e`Ϸendstream endobj 502 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1100 >> stream xEPLSwB s kY†c.2eq@²R )Ia@ J*Cʰ(Tl tFn &,Fv-c\r>єEt@VEw F |v߱hjÞ]/ b=] 0,ۀE)M4eie*UıiilJRR[Ԗ+UlS)ro*<\ձ*NOL r.A-{=.՗s*R(KlMJvezҨrJ-)Qj(bj)GQT6NmT D'RK_&zM+A2:9vLN2Q C9qL费0oȸo;tD1P K`\}L"X8Y!a:L)du GܮqN -: S!vNC~Fʁ#Ly.9J}IMZən[J6F6 R179i14[ee;^5' gճ-KrٟNB'j &<_8i4p&1[ŊCxཌྷpuGTj2KUi*\LV%7N֥n'yKO{ I@]p~e0xMFI) ;_,tW}' '/i#2P)4[ [2-7ָo?ꢿſ HV@zwJg:\P(vo-xF2[Wbq癱}Gҙ7m[Q%o+9sn{$|, -b, > JNA@a8 /$<_G„ z9#db|'UbNpJFQR[gNYtۛ Hfj> b }^fD/zmxP *C0ֶͦv0eȒ HH0/2,hcl=s'OHq3P̄ z91($D`iS8%/C(_Rendstream endobj 503 0 obj << /Filter /FlateDecode /Length 209 >> stream x31ӳP0P0V5T01U05SH1230 !U`bhT052X$sU()*M*w pVr\r;;66@\9y@-vv\. j ,x P㯺u4dh7_JZ}7\OlqӉ:mGi.WO@.Lendstream endobj 504 0 obj << /Filter /FlateDecode /Length 183 >> stream x31ӳP0C C.=CU`bnUhf ɓKW4K?KK)YK%hr,`cﭠ q)+jtQP[|epŖG?M> stream x31ӳP0P0U5T01R01TH1230 !U`lf*2LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[,×͗/_e~~)_iےݲmB7֮]`C&.WO@.Bendstream endobj 506 0 obj << /Filter /FlateDecode /Length 202 >> stream x31ӳP0P0bScKC.=C a\B# P)H'BIQi*~8P=P1S!K4X.}7}gg7 7F[A(㜟SW bg颠J–ub엹K{k_eW|/k-p[iL \ \/E2endstream endobj 507 0 obj << /Filter /FlateDecode /Length 167 >> stream x31ӳP0P04S54V06R04TH1230 !U`hjT021i@m`Y'O.}O_T.pR.}:.}gC.}h\nn@n7P;s~Nin^1Pڲ^ޛ31iՒ01(pz*re- endstream endobj 508 0 obj << /Filter /FlateDecode /Length 143 >> stream x31ӳP0PP04W0T02VH1230 !U`l`T0@lhnrU()*MP0w pV0w˥{+esJs:<]V~ʚ1"+endstream endobj 509 0 obj << /Filter /FlateDecode /Length 211 >> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[lpDC˗/.e~e~?+M^.ݲ;Mڵkl8vNendstream endobj 510 0 obj << /Filter /FlateDecode /Length 204 >> stream x31ӳP0P0b#SsC.=C a\Bc3 Pa ĺ@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[ [[[ ,۞ڪ_6eI8}ۇ/lazUKoT7\Oi ;&xAS! `Hendstream endobj 512 0 obj << /Filter /FlateDecode /Length 202 >> stream x31ӳP0P0U5T01R05SH1230 !U`lfT052LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[3uF!`&#vObpqtmQʲK 0u8GGBS! ?FNendstream endobj 513 0 obj << /Filter /FlateDecode /Length 181 >> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[qôS僀-[\Ue˖]׽V]UV?+8\=@?endstream endobj 514 0 obj << /Filter /FlateDecode /Length 221 >> stream x31ӳP0P0U5T01R05WH1230 !U`lfT02LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[,ǡ4_D+~=[nmp񦅹e;u V+g7W޾u{/E=ڶmءM  \ \ Mendstream endobj 515 0 obj << /Filter /FlateDecode /Length 183 >> stream x31ӳP0P0U0Q01R05TH1230!U`lfT012L,ɥPRTʥTǥTĥ`ȥ 43KM V8qy(-&&|ui1 ގHLQ.Y7|wp5?s$vl^.WO@.: endstream endobj 516 0 obj << /Filter /FlateDecode /Length 153 >> stream x31ӳP0P0V04W01Q0PH1230 !U`b`T022,ɥPRTʥTȥTť\r;;66 @ܼb;;.OQ,3kVF.WO@.S'endstream endobj 517 0 obj << /Filter /FlateDecode /Length 386 >> stream x]n0D|xH/%VUc*DȡߙuCw:_^.ϴ4[--O\4?HڭEu~֯5(Hc_jrS\t[nNũiCߑƄ,o|B7ImCS-LP@Gl (D̴:r.:T * }P#~zQ2gw* ]ܖs[RשgG>^q"ł4] nѕ h"+ADO'H#-@MDM$tS .cPP@Fͼ3)U3)`7eo[w]c]Sn4M_]%TK;1endstream endobj 518 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O0 cA,ta@p' aߗ,N>˶ul#GpƲ4% @eQV-Ɲ剓B'X d6~W8UiB GuQ41 `QqJM%☛&e=O)X!nSendstream endobj 519 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3231 >> stream xVkTTW"P^* AD@(EyA bNPc#AF!IA " ̾է\ӧ ==w֪U[uCSzMi9EiY)ɺ`A y-8K5ba! EP<9&0j gB,JD=FG[hצBKg%rˍŖbVkiCEi9i!Y[ ,#s /EQ} %o *N N IK̊QsEtrֶRT(F-©HC*b(;jIR8ʛr|(GʗPTHɩ`*rfR)cʄP)CR4eFSs)}ju2 dM}NA>wHRU^tXtQ4烈ߦq;enl[ˎZΈK̽  6Ӧog80. H)D~r #~Mْ!-ۭ|7b+((ޟ3dsN"Coo>{Uz4|]5:~mGn/I.7߫>):Q~$/ PɃ76" x2 C"D> {I!8W}X#if+is{3>ڳٮ%%ȼ}z-S .~qOJ4FfDIe]ltѓǞ}E.-gJ8Ǩ.w{~YF&T1HȜ(03qfjHdzBpx(MΫFa/W2͑U>kFOKێ*%#㑸aǯS/$X##Q>yDx(fګOB?p0e7^ wu X5ǻ;HV8u& wUWM%[#V289*K\^R!FVؔ=F U\-SY{W=+]]w0}ۺ덧H@V yul%ȗvi&tg?Q'){E?qT߻C),.Gܔ}&pm. ȟL\Is節g$rEb0"QӁ/?6e`Y=IJ(]͜oE ~F:0GE)9[rw!7s:.ʧWK4p1w DH~TުnFl6TfWY[_k[T: Vq"'y.С{4O1\{j=mV|M>EaqҜJ?I|P A3Sgjv́`Bl!Red9,}(ҎuVA;nw-ta^;+L=a6,*MBqk !<z1`G ,Ih7]G[vx=ޘhC8CSA N:iO5lm݁skuQ:(I\1,x4WjT-fB Zkk}폖 bi>'pы'*f>wSlP1.o/v6r)WwaaS q3])*.d"ʳ<#6iF _g6-$jMӹ0kejȹg7+!VCrɃ zIc/5xJ dq6^@G)S[/nv6/?4Uk6(}|sh|Ỹџ[tmUBdxvB&`2z16fa#&C=Ř`p9!,C fZs<ſw80~+ jbӗ"ECl^c8M{ X*r.+RI 7@kK}R@R43q0}  pbغBƎ]ⰻ &  DK= gP?#endstream endobj 520 0 obj << /Filter /FlateDecode /Length 1172 >> stream xVK7 ϯ ZV"ZEm;kO:~3&>˚z/ )}$?2׌B/Mk-PzU h,7  :^U*RfF1ꆈce;v5sc\a62XRIД9pۊ]bQ$G^V6RkzS)`ܫ+M[0gaUY ӎ F֠'xO()R8(ʂ^JY!ߟbClǛPekonc?^.CuFZxLLbbJAbJ;oK0Lqs*|޷i,mp֐]V|Aq۱=$[" ˒miQCvw<<{]f@"1np,M8. TzwD9Z.l:%'sTIk&, dzo#MXMf>C<.p²?Wd?( 9xbI6KjMfj_'J lX}Ƴ%V"GVٳ7U q/X|{essϘXIՕjs;nSpt<M(zO{ I4 &R!%' ufv!`pxkJvL=%`5YE&=C7v>ZPyBހvJ~ⵧiOngR '^U endstream endobj 521 0 obj << /Filter /FlateDecode /Length 181 >> stream x31ӳP0P0bSsC.=C a\Bc3 Pa ĺ@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-Xp?ÒR/*zQ< s#9Alendstream endobj 522 0 obj << /Filter /FlateDecode /Length 180 >> stream x31ӳP0P0Q52T06V05WH1230!U`daT01L,ɥPRTʥTɥTƥ`ȥ 45KM V8qy(-#&PtTZu41-ߠ<: \ \A4endstream endobj 523 0 obj << /Filter /FlateDecode /Length 202 >> stream x31ӳP0P0b3cKC.=a\B Paĺ@@`j`a RɥPRTʥTϥT̥`ȥ 4;KM V8qy("XX;ߖ=V~o;.z-WX\=Hendstream endobj 524 0 obj << /Filter /FlateDecode /Length 195 >> stream x31ӳP0P0bS3C.=C a\B Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1PڂóeM׸^.>9dpWaV왵tďiLtendstream endobj 525 0 obj << /Filter /FlateDecode /Length 220 >> stream x31ӳP0P0U5T01R05WH1230 !U`lfT02LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[8猇BCے/L/T/}ٷWmWv븭: L(lU_.n"r=>\ Z6.WO@.vHendstream endobj 526 0 obj << /Filter /FlateDecode /Length 161 >> stream x31ӳP0P0@dbeg`!U`hh2i@@`j`a RɥPRTʥTͥD wwvvrllt29y@-vv\. jtm-MM<3k֭ \ \6/cendstream endobj 527 0 obj << /Filter /FlateDecode /Length 186 >> stream x31ӳP0P0bSS3C.=C a\BC Pa ĺ@F& %N\ %E\@\@\N @K4X.}7}gg7 7F[A(㜟SW bg颠B$SN=k?쇊 ?%7S! jFendstream endobj 528 0 obj << /Filter /FlateDecode /Length 420 >> stream x]N0y$i| j8ʁLoOUF2vUs|xks\ʿzu~8JuݺZߤ6i_>ڣ.zk\c^kw7 nYrW_dCܔLMUbMɏ97%57%&( ;40aCĘ%D,Ĕ%`!¾Wh  $B}  4(U A6mt\"S.0lDV .`(VBkŌ`t=Z ‘)HW)gSLŰOUd D äo$W%L i ;'8\PGp^, W}8]EhV4erendstream endobj 529 0 obj << /Filter /FlateDecode /Length 18545 >> stream xM#YreY毈0*N$@$hRZȮʮRfj{?㻿v_mݩ-6waݿL~Ɔmyv֛vO˧}-w=oےle x\Ɨϸ>*a'fZGOͿnNiRLvuo>RPw[y3E'v9כḽ=iݶeݶ?3U; ~]~ևsavC`m87mi\/&~s8;\4:߼wWˊRv4S+jj7@tNvhfi;ۓq.?lI1.o綖v}vCwXowzi^//?߿kuj}|/z?ErS;~D{nۖ6W㡽O];AozקS 79xjkmc욼ojznuطFpn/ټɽql;B͛\moF4 Mz>4o۹~}&MvKۿ>ۇ齿]os4hkgzmW'mIjlo ^6 ]ۓ7Sv}7oa,c;G:0^MU0^4vOovO߷[\cۦǪN4vgkKl7ƶ׻mN;_}< ?5޿cL{oֲoW-]qdosKf8\^Û0L;ioR~ۺ Ӳs~xL/Kqmp:/Rǯv/_fnO61>T^]穞LxܴkwjӠU/R׶]oSd>]>ڽpYWP[ְ~vl=IRlCz܏frj\O5֗"O7˧LJDq<?^Tq{xrک[7O/"2uӻCn޴ްT'=ڋmupM*mIKaޙ>?OoV] ^Ʃ;nnSM4eծs3AzvK8N8+j7Ĵ饺E.CׁE .z޺wnhȗO-)짡IC|iCF{V o7m·շ~:ԮmK:W>~q_}_l?}k}|Z}0?~}vv?w/uj |\}i[Dn-|8~=m?ha՟_lf\} KOWݥO>?G ya_e_?O_Oo}~zĿo?}Ke*h\~#ۧδln]PNO>~vӕq.뙖>lOn[ږۀ\m//~ݩ]^Yvi<zj?zvM36p󾝞i ?h#ּc3ax~C3՟oWoz0={nѶlSx8žiotsl渷zʹsS;n>A;43Sʜ']xy|n%r2fNc ZN /cڇ5=Xq:'q]f73!g#v:O6|-ow=ӭj|g6*l69zHqwu)7ne}ܝnv_ݏ̜۩\4š1y`ێ|Gp99DvqfNC >χp*MI5mlO|͎i af_D?e!]Ӥ ۛpi~7ɺM7|T`d\}U/O#%L{9= ]-ez8kl5=uyjA3;ibsf̹]ͻp9SܧCL1mm&Ue]).㑙]v8l9e973cggޯ;_n; $3:Az)shQwa71 9m2S/e:,3S+|NGޯa?UyIilfl 39M#CpO޲IV53ޒ2_T9yۛT'c洽cuK1ėƸkl2f?=2\BV5'.avӯ02rllɥqJ>K>tLq9hDʴɥqnmƊ完žWxTK#|઴ෟ֗: EGQ).[U⎪@Sj%G]y! 9Nm7]).]ңxd.J>U);+eEE(={WDի`T<2Rq(Uť#s ÌPRPi1QV"J  JrQL"JI($e"cB%kQ1Q<"JG F(=&T2" F@D1bQ*zQ(z"Q+CR.' ^'2N$n֫~7g&Y6eo[quH;wu{WwtSב X`2 7=3~CP  Cx3Ac:2#בIY3/ב:v !r4Ci "_fM(n "3Cg7rqЍ4;@=n8%:@4;chv>`f{sqǫqЍ4;@=n8,ivЍ4;@=n//QCX\3;Io*QDuDy\U *:Q`U|fìNGZJ{:Jd~QW'ʥ=%gJ{'K{gJ{gJ{zdK{gJ{gJ{'K{'K{gJ{gJ{'K{gJ{gJ{gJ{C}yCNt:Qu:@yHׁ>QU>DyH7O :QuA(}Pb'/ >A(}'OJ_@(}bP'/ >A(}PB{G p`@P:(u0 A1mZ3_PΉ*`%w#Qpf~2-7*BSD:R-FZ3aw5Dk؉DuԻ(;QWH B T=Az BջB BT=Az B UO TX B UO TX'UOPYa9QV=%DYeszNUO9QVHC$~" ٟ!?AfH  B4D(%Y!@A聆H B4D.hdPڠ!AAfH %FxsK:KFxsVDy%Nzq: ̔wqD#(3TʼnDˇ^'ODC >A]`OLyF'J?(DÉru{ >A} B{ +x >A}A{  B Oz  B Oz_@}b?] %36D2<ĩD6D2:xF~7]ÙoS6KQٌ.Ɍ.:]wC']=]n:Klz~qzA.gӻt7ObwY?ey;`◙Iz7#ߎlgszב\/J\/ :hA8 !#g1DijY` ,0h34 !FcfY` ,0pC4 !Fcf1DY` ,0h34 ,0xu*W(D}'ʳ8QF,0gq\T6 rI0ODy'hAY`,0NKJdQ ` )Dy~%A'(Q:Q:Q*ACT4DAAX4DACTACT 냆>hꃂ>hꃆ>(냆>(냆>hꃂ>hꃆ>(냆>hꃂ>hꃂ>hꃆO NӧLt<D}(؉ÁNT(w;PvD}\؉rGp$vpw;Q$v0 AbC4/!P #N:Q~PzG^$X B UO TX]D B UO TXĪ'UO^@zPĪ'UO^@zPB'q8D({usUS}ω)Q>''ωÁNPOP](zDNTT$Ly@'D](?D]((K(H  B 4Dh$PJ!X " Dh$I @C$P " h$I @C$H" Dh$P]M}NԽ/OxuS}3uSzk5uSD}׉)ΧD"'|J/|bΧD"Qu|x;u; t>A| B; t+8 t>A|A; t B O: t B O:_@|b;e>f'< `ODy׉0 'q< `ODyH<11^'P}'s8P}'ʓ)=0NT'Q%PLy׉0J'q1|wl  zhHwyi|N` ]]xn63'5/ 1}b{ >A^$()A H WHy$)Q]TWW"H`LJ`XDEO W"QN-zDD'{J`y/zyOzyO捛[Î5o@f4i c373y3g4o@h "͛!м3D7CyHf4okм͛!'9P͉j Ҽ3T м3T͉jEoNT+zN+zsZћՊޜ3T-́joN԰Nڝ  " N ڝ ] B Nڝ v'N]0hwbv'. ;AhwE<'E9v7C"$t3'Zs\պݜ@8\!RDT; t23; tJչ>o7'k:7'չ9[Uܜ@ (~;չ9Q?wҚFZ3:+e@{ B46W1jYV3пj:VPJ5}b 4VS3ijqo&5ͤf}T 5Q1j@`竛5@}ww@h] j5ݠ[Jw7kgyLO]$]$*]\t.M*v.$B5Mbuqר ._D)YZcAݫw@'fSWDbuq#uq#x[Cl"G3D&-i!41$jf BW3Dۚ!5CkP "efMZ!6CmbH̐"ufMڛ!7C#%Hf{g(~C2?4n~p"ngS#5nRב\L溃\P ʄ? dtG$~Ltz|3:YHtߏk OPb|ɔߎ'M6jFU Ѩ U5D`TU QUC4*GU Ѩj@E<'wl9 t>A| BD :t>A| BB B; t>A| B O: r`Ġ B O:_@|՝/O8/u *Q.)*QkT.J0uT.!* zB@T׼H5OtDu;'u>'fyxB@ y 5OW|L:/ Q!t^ 3ya:/a!;/ Q!u^ Cy!;/ Q!Cfu^ Cy!;/ Q煡rY'6] _a6J:/#u^cSN$1L;/J;/u$*΋ঝ Cy!JDy_GZ;۱I:ggvNmȺ/ /mH/w_ӻnD}'Oy_0}b' %'Oz_@}'/ >A}A'/ >A} BTU"[&(Ϡ{ >AySODyH<1uS(ODyӧ8Q?E >A}e#RQE*NTq"קXq<NJuD}'J?:V{i{}} a]A8ku 5CúhXWa݀xX a]A8ku Ѱ 5DúpX a]14ku Ѱ 5DúpX **Qp3TPGr Qo 'ʽx7Éro[%ʃo(*hVP}։h#RoPިDy4׉h\']Nvwm8ACC6(锨!R=CzP CgT T=Cz"3D'U!R=AzH"3'T !R=AzH"3Dz މ D}Ve_JoJD $pr"nvP}1̼}ͼ(>C}23>gBPKɜHc](3 ]/$snv4ff'N]@lvf'N]@lvPbvf'N]@lvbf'.4;1hvbf 4;A Vx씠"rO7:2' JԿa։rE/OT(W(϶Df(ݬ寛UN]@V@T.)Q/9QY'=Dg(U^sU/w:P.9QW T=Az BD T=Az BջB B T=Az B UO R`PĠ B UO^@zPՋxxB@TEk %>zxnDnwMGz7oJԋxuՋ T()'(Q8?QS^S^ы=%j=^$)P@DYxN4i!q<AW'`u:,σ@‰졽3 .T+f ]0uW.`P ;]0t&1`PA2s2weA2lrCwEPA %ʰ weA &񷛻59윘׺`] m-L&7D(=1I7&֭-e@y*ve2UZ0crݱͤ"8[ٙuTo~P 8qns2U(|<.r߃Dͺٱ"73Dr&!31$hf BG3D[!4CiP "UfdMښ!5CkbH̐"efMZ!6CyL7:Af\jS>drͭJ1qI*(f#ߎzG멽 IuU QuNV QuTPu U QuNV Qu. ! !  !Ή  ꜡ruNzKdrSX3Dí}J rN;#"Dk'J r[$(H(9CTTop rʍJ;%(W(W用W(uK.锨HZ[ \s?DfwnT "g4h<3yH" 5i!f'Oz_@}'Oz_@}P}'Oz_@}b'/>1}b{ >AY%ꍳNPyPBzz)Qou]$xΉwNg(7:P~ΉwJ B 8EOxZ'-J[j(:QnUtz_@Z9Qv ϽOz  " O z ] B Oz 'Oy_0}b'/ >A}nnzJ;0K`$pPҁo'$Prm$u_D]#Q@D]#(%0'$P Jߥ'O)QH<}JԽOE S/)P)wn8ea| e;۽__~{yq7__û/ntb7dv >n5w㺭v>ӻl?.4<^~ϫtn?7wc3C۞ʹAa[̰[01/v~Ӷ=wwvspOy6mi{=^lȍӦf=Ix6nڴLƻ%nNo~s,oھ/W,wG0mQeގiNO/ey}b?\VsDžl}qaynX6=;o=,d n7,l~ 11.q| c\8~Bv.\Wۅ]8ۅ]8ۅ]؏|]]^ bX8¹Űv ?,\OyðpίW^%p%,ػ}~Qq~>o]}k^avWc_}îyqӧ~_Mi~t_zޯ~_>}~і:lWՏ_>~.l9>~/?ۏZY[XӗM5Ͱ_}-|_}vS|Z}v??Uhxy<ֽv??㻡Oo >֖q^Ebշz?lVOڻ7!ả?|q:q7v8罻,qoڪOڤa/}?rYV3v|enOWxh53]qq/T ݝӧn.#]~endstream endobj 530 0 obj << /Filter /FlateDecode /Length 212 >> stream x]A E 51ltBc P )uLfwbysΓ}.sze |{;N05IwW>4PMvrLB6l۶zfPF)]ӈ] & KDWI 5I(,"I䪠$!eRbO cI3ęVBK᷵4QԚiendstream endobj 531 0 obj << /Filter /FlateDecode /Length 18273 >> stream x[Yvf+4#1~14CԪ*yt)KY?'}\gFQRj}F܇?v_Wo?W_??=ۉ8<폯.x|a>W tvOO>M8n?ui,/Wo_q?^˫eÇ~_Fm_}wsOq_=Mn t8b~yoO_|¿ȾvBac_|qsx:uek?#?n~nwo~Kyr>|?/WmxO?>M?9ly~M\Ozr3zSx8=qw/YRi_y?|_}??}(6o~4e??_͟^ws6l~>P}?çǿmd_SyWv>߿~Qc:]7c;xO~,a>AM|2c1wY+GO?xcd?UC}Lxס|>ϛ鳆<'͗p~7v}rwݭtn~\y߬ax3ӻ_n8<}T}:çObwq[ܶ۞o3~x|?>qɖ;mw6o~=ZF~ձ/7UvC=QO? 5]yai<+ܺ_;!q((/n`m`yӷ9v7i=myu+C94yӰnCyCw9f<153]/rގ fzfoSb0L5P3n/7sɌñvL_`Y:l}:gѾq&s,oƩ8[estl\i20vȌmW f8qƮo3|rq?8 f}[s:<|ð{w|Cdvc)n7>;T52ݩ͌ h_~^3նEk-ςƾsԸ|/f X;' 9l<αqظTO׫#߅g;_>mi)x+qgwx߸|.RNԾ/Z"8dqYN=,S<<t|^20=uNb=LXL_~?Lk)LW.}r8t6xl0ӯ+;fr6r'ޯaZٕu˧ߍ6s8㙙Wޭ}hWs?n'72YwCJ=_ssӝu?WOiz3sطa[~ގ/a{<<_ cwWLkd/?M҉١gҩʿZvE|MG83EZXTи4ƢJS J]uWL<9tgf̱ո4wsnLظ4N]$"EE)gc\hk(zrT}}bG9~ꪬ,oej"-\Q[QoI\zI\ɾndnW;̭4xDUI 7𫣭N򨨜*;W"O ޳_$Oة_%WWU(uW(wl]6ʽ+HWbRͷ_yv <*K7OJ UQQMtp56ZD% #&TE"jH mB[Q6Q9"F UnjF@DVT/"E@D&JQ'/~ۄCg|vX 5tjw)20\'R5۝hxU Tz'ЮCz<-ǪĚ|,(Ѳz-D˹=oiW}t[浲|{e`[VE 203]a!hXUh YuNț$g"K3D&] 46C mf"{3D'i 49C$s"3Db'!2 Kc{q,|/嶱y]^{J̾wJXmh{;{ݼvwZ;{4q/|6ۛ[mh{;{޻4-|}&=f߻wK߻J3mh{e|k|5ND7MHO:;U"9}jfDzTVYVI~},JϜ* [jWՆ] zuz-$kF]޿F] h _=UǼ)|6·۸C@ >A(| B O X B O _@,|P'AF-ww TAA4 TX AԒ mZ \ PC}tU}vN4tпω::X`}([z<-%RBQh)agUmUVPzI gj8'H WOAm4<x4<Fq<:MOĕm4w#ѲzHw#Ѳz-D3Ѳlpe mPP롷lH6X;0y5Tjb6 h`u *Ѱmm0wؠhb6(m0 AAh "6۠ AAh B mPڠ  B mPڠ X؟mP`@lŠ 68 p^ VxoN /5Xe!%puP\e&ԻZݥEsun?HVx+\.oR6۠]fK=^`.3X٥7\z 4Vu\!]kj.ׯ^eNJ.T Zeu /3k5^fx1Dk5^fx1Dk2CƋ!Ze`C /3k5^fx!X2C /k5^e_f/35Xe7yoN牕WHWHWHV*J+N牕WH;'V"?OD2D2V +J牝ybCbbP 4.*/:.F⎩a'@'@%@'hh((hh((hh(hvN,b ,b*[ESM\mmAACiT"/NЉ*@94@%DZ it"-JЉ:.*h(]T"/NJ itF+!oJmЉ Ft"]t"mJm ACd "6hlPڠ!A3d "6hlPڠ!ACd "6hl`@l 4C6((DܗGI'7;n"va&皈g ؉|a%MN'h`}g(7DoX @Aa%N 473`WP;؉twp$Wm`'SJܡyJ B 5Oj ԼXĚ'4O j^@yPĚ'5/ A}@̐ B3DgOڟ!?AH  B4Dh$PZ!@C"*h\ ɠ .nISo%68חȯDz׉,J$~߲H/âDKݼC#z$3^yEՇ|+HO*'( -竏:;+J4:+Jth8_;V^q|+h8_;O t>A| B; tA O: t'O:_@|'O:j8 tA |sed?FOFSl3JrM'msՉF_n ḽw;sCjͭͭZye~(ЭjѝN4zt=&j]Fgsl5ڭjۭ/m5m〦ޙi4huhVǼ[m̻F7o|;K址m`!j5Dݾ †_CkZ~aϯ!j5D] _CkZa!j5Dݿ `ClWkk5PDk*Ѩ΅.'zgXzXs+:_ t1\V]>N"t)ЉF)Y,j˗htGUѨ ֛F]F.X#_D.Xm㎺麠T4DuAAX4DuACTuACTuACP4CuAAX4DuACTuACTuACT4DuAAX4DuACTuACT4Du.hꂂ.hf.((q%T"?Dz׉HNuO+u"=D׉t*0_'J JO +041lM} <1)u";>D׉GC@k %DHO9)w>'ΧDH;*E?Cis"yJJkyҟS"?@ͤ?D^H `$it"]S"/N"h @C$P !h @C$P "h @C$Hb4D(@Aw{FPzW;O)wHdO6y͋Dj^WDz^׉E"Dz׉E}OP"q)'({{b;|On$=%D"q)'}/ =A{b =1{ B  B }O  B߻@  =1{;v=A/Dz'J$y1[xz%8^O"/Nyq"=uq"|(_ω꣞_E"/I*_ʼn"/c׉"/NSTP `@,P(0 @A$bPb(0 @A( B @A( Bx(0 @A$bPwK9U"oNmЉtOdxmP|)Љ */:A+J (@g(|J>9AE?CiS"|vk*/JЉo$@'@'S"/N"h @C /ۙ \?fH "54Dj( TCCH 5\?gI!ƀX 4 Bi4hQP~/oJ*1'I$Z,J4VYFczJL\%>Ub*1xnS>3CEaZ>EaVXY\PcQzEa0i, S1XFkQzEam4\feEamq!X.b~1DK¥_ /pCZE.b~1DK¥_ /pC!ZE.b~1DK¥_ /h闀xC \,b~DKmx9R!fj|nfL@fJt*7CT38CX{3D7CP{3Sfj3Du4C+zb ( ALVf]3-C\Z Pz)QN@}+AŮQaTևNepMlmg& EղmPN@m}ǩ>* !C, r.5ko/i> AmhPnб-m< vPA|BC'/ v>A||tGYO|YO ؚ;*yJ W"růJ+yD@;*yJ4pe nKC |%O tG%O\%Ota|e=%eK➲^$'(]S _֋DZm7Lj7CxHfo@ Tx3go@ ( "ś!P3D7CxHfo@ mśPU1ԙjzQ@75b R1CjvרhCmf14l5͟fS 7xG;^O1: j4]#Ыut Pg~B.Pꈨ{tu I*]=azT 5^]S1vzJ"[T3Йz,K"w`ڰ{uBNV3YWAMחvIX BA3DfMmG3qSL BM3D&E!R5AjH B]3D&!R6Alf@̐ Bm3D!27CnZ6ߋy!_%ZVPCꁴ n~v:PDmH\-Ҹz-[FC2P B3Ԑͭ`կOj~[Wuf5DSh^ub۫NSq{:!I3h&ͤ =jL I3h&UΤTC4*gR L!I3h&UΤTC4*fRLI3h&5 I5D3h&UP~&ՉL4*(?ͤʶA8Vu"=D~ZՉ촪6'ms"=DvA' csmsX DjtzU p9H;DzU c5|9V%s]mײ:Ahu BVXV'. :Ahu BV[ :Ahu B NZ ĐՉA NZjX :Ahu;Hw>8VP :A8ADCϫH`sKAȮL7'";DN X@ %rnu>,,AlO,s2W͓GH7;(2'(-s 4dG^(M3D2'eɜ!9AeM3A2'eɜ 9C$sH"3D2'eɜ 9C$sH̙3C2'e\@,sH ʗH /9A2g(]S"_s"]S"_s"[s ]S"_s"]s"mvJ 0mo#_sOPxDxg:]S}PxDx;|ωtN =CYs ]S+b1  =A{{"b =A{ B  B }O ] BD~wȟ(|YωES"- /wȟ鲞yaYP^@ S"x%=%͉t} =A(yŋ+)WHo(rU"g)ۊg gO*!RX |aO: :_@\u'|PO : ]FOa/T:=A> ''K{'lHa(p"ۇ@C ['J'l^@\uQګH)ÉtS\%3NgpHwhD\'JpiOPv:ׁtޮoe3D'5i!C 4~HO~Q G2ض̮> {I7JbǑU+rV'. :AhuqDV'. :AhubV'. :Ahu BVZ:1hu B@ V'.[T/9X'PHωWVHWȯDCzN?DCzNV'(!='HH.OH.ω"qH`\wh^y5Oj^@yP'@ 5Oj^@yPĚ'5Oj^@yPb'5/ <1ybPbw'5Oj^@wkyQSh 5:lޡyJu^DÁt/wk^$<%Pb/)P‰|%O|%/wTWU.=<%H JWW"W!Qa3D')!R+LժQva(n~@KӪ]K/U"P%lv+@~P. {Z0 M[څi},:-a[BV kՐ .pӮԴ+?'& e VvY B13DffLm73qSL B=3D~&!R4AhH BM3D&E!R5Ajf@̐ B]3D !26Clk8nbuMPDz'XHUD~'MXȯUDz'MJX Rg(Vuf(]|s"<IH/ODzyHܱ<I@3]ātw'N]@lvf'ى@ N]@lvf'N]@lvbf'. 4;1dvbbfwf'N]@T'3NgRC!43NgRΤ:^NiU'ӪJU@ NPzZ 4NiU'ӪNU#qǴyLT%0cyu-f 4;Ahvىmv"bf 4;Ahv Bf 4 B N 4] BfP~9'f!s'@$ 92'(wHϽ*_xΉtN|.H/ۭY"XFuB$J`ת!ZZ{Gs}*gr*gr*'vUͪ ª! ª! ! ª! ª! ʙ ª!U9CT3DU9A't NPUM @8.)p"@B|#Bv%NP!N ["B|S'U9%U9'U9'RAQs"]SZ]Z^ %vVlDz %p~Pv?l7gOr>A| B8'/ v>A| B; t>A| B O: tĐA O:j8 t>A|dH7:Ae=A ' NY%s"a;S" DA։ ԼXd[?"|u"|J[gȷ:nu":;ZgH7X('(:@3yJ|]'O:_@|"n;t'O:_@|'/ v>A|BC'/ v>A||t)p Otw4kmQT"/:u GD^ `$@%Pb@%P];_$p>%ΧD.{OEOP"AW;lK Pxz[dÿ>|~}iIOUXtr؎wTVvWUv;˫MC>>ǫ_}sNop[xӀ6]w2]pM\Fvei\p*ktE >d4M﯉\>=+b>r40,p}8\ Gn>r#]]{;\+n>Gm.6^|gq>ihLUC1z0ߦb|W+pTV~_Ɏ3w>e?憕WnTowJv+nV~e,+[ُTsq[9|>.Ws1_Y]q+_9yWCr}q~t+[99V[هnZVCrpuVW.ݕ+y}[w('luӡhX~':t]~/ߞ^b?|*bov{6>?ǻv46q6|z~~:>\^n[oqJ2yvJ6?}O=> [{zy,H=ae{ţ< sQ΢o_~:ߔD}ڍa\^itͷr?ye/P[)8^=iNO>|wo~;]'0.\d1nV_fc=[_x؟ oc_+uSj$_w6nxçߕ{Fy[Q޴4z.s˭f,wv*G0Lw? ?)ee匏ffyꕻλ%Mw%K#/L/9QS9~9O^il}.j󴝮8 4=[a38NM' OL3qPX◟P+r/H/.*t+,M<ϿE$0W_y^..Kq8W|ˏO\7ySyN>G䏯r6˶\C_xn^=Wlfendstream endobj 532 0 obj << /Filter /FlateDecode /Length 2434 >> stream xXK_!`i~7 ``*a3C2Iy<>UdXvf?ztuU__wâ\-/8.wX)"KR”e^n BXUhUnqj˲,J^ޝ9ޭº,x:i2uoW6_fy`p+c@BRrh~V W~Q PCfAb'vXq)vpgY+BeaK^֪H_χDIvW\!O>QY18u{@8\IBʺjbk&>Cshh36$R(E$ف{$\m Fau}eg?& a^>22].w9~ha.)]ayWI. a1{BVT ^L2,ARNSM~e 5̭5kRD|JkΫG8/ע4v=NRtMt'(.էȯ7T|.cG^vWޟ  .bNpf:fX"HG}{( F C7L$k(5 ;XLО𡇉D H$!B ic0Pn]ݶ~u¡γ/fcrWA%cw0~lPE GPI Gn$*J:rQ@#^1בT(Wh$mwHK˜>ߗ%x?/߆N%6)v kmҰ: Oag302EEH-e{[;*oH-kRH'*C'#Cz1'3 *WhH\(N9fD/iΩekf)Њ1Jgn؈9  W!Qb&%0@t+ҳ[U}h&)"XO[f[4 =) Qendstream endobj 533 0 obj << /Filter /FlateDecode /Length 96437 >> stream xOsrfO{zMXEri;&ζ"x!hd94 'ODL_u($N/˟ozzo럟_/_}\_~]o?_k׿y}yy?^o׿__~-/}p׿],߼./ߋ}ݖ?/o??lq|-믏?__?,.~}ݾpvn//7=*/O_}x߯o }u9ח;?ۿk?۟or&_|o{O[/{]J|)qǯ.6>SC| ~)p]~R|},Skl__w׫mr\t|._ﺗU^WWr\߇/0r\Aoz}|}.i}}>۸|5q}Y׫eӮͮr],W_s{}-MXu^X-9Wuv\_+*xXm>}yy]w-q}]7N^ Na˕tr%Omv[~*ƶ\IT&./_&.˕?Xzqy?6zzS [~2ޗ]ޗUO?-m|Joɮ˟L%/ޒ]U??wLԫcz]%^Gooɮ\>or[r\?zKvX%~_vd:QX%~||-rޒݿ_J{r%| Wr%r%po>ܛ}.ߛ}-Uz;.e\Jkv;7+bkt^^^z[on/dO%^*?lb~u;ˇߑ^Gnwd˯g.?r-ud[r-moq\?zK|[ǫߒ>/~Kv{[.w<.d)qdv=,v[?!\*/#Ap7큯 ]/ן#lhQ6y˰H|KZ~S{,mr{Nץ \oܯӆ号o{m:M_;9kÖ. [ZLWר˴{w4}~J6l[c[OW׫qIϣhx9oi:]M߶> ms]nӖ rxwܰ{.rͽLװaKKdӖkntޖ}>ku}Mt9}/Ϸm}L-s]e>ke=^1-}~W˴a{.opoE%k=n^ʽ'\yEuB7\t7 ]>v~K [~7@p._rM/zïWb|ٛ2/2r>e^Mw/~]nK_7 ||Cwty6x]e];tyZ8e^N,Wtyz8e^"^_o]ty8e^.%xޗKnZx}x|2/ׯ.C\rÆ6m^OrUw2;,_r}~xy-ty-ty]=1>,?rMno]>e^>kn˼|,]z~_ǻ2e^>;xyX..\pw{u{|̗r=^&.xy2??^ߏhƻ|-kƻ̯a6e~盇as0s}f>{t:y 'f'~w3i4CdEO˯a!GO`!IXH_>}S_ӁZ/[]o>stTY}|3Qo>)[OG>o>q[ZgVuKto{ktE٭jk\Egr}_= =wsOd]|l.o* x}իO6u'&p 3ۿI^&aX9Ӄt?yw"= gGٗ])g^Y~fWr.q|߿`~$8?߯<5Xo=-}~]'ލ?zOߛ~p&Dž֛"/W?qOzO^}l'Z.׵tW m'>z;oz?՛1[Oz+/z1<6OIl*G<Ķ}JۺJvۺJM]3ۖR?=RJM)hR M)%жnK)g[Jɮm)%\ȦcSJy mJ)G_R추G)%dRU(DR}lJ)gWϏR~ݔRG)em-D[RNq[A9Mη)gk[4ֶh2m6Elۢ|ۢyIv[49<Ix)N}-~6#gl$6숶No 'NNضp2/t[89VͶp]>?m|Z)[k%JmdJoj%dV2_mZIsǸdp[+9<BJoj%AcJf[+9V2ڶVm$Vm$VnS+m$˽~HZ鯆mJΡMJoiS+9ҦVrmJΡMZk%J7oiS+9ҦVrCZ9-G|KZZ6shS+96Sh[+9]VrM|KZ6shS+96shS+9]Vrm|KZZ9CZ9{S+9ҦVrmtKZ9t?j%u_'د{S+9ҦV@4s.<|)>P*'arrҌ' xR`4) >AmrxF( ~}_5O*'Փ yL&DݹF1c1Qu1Q51Q0Q θQJŨQ)Q ŨQŨ}qg\(F݋bL(D͋bT(Fbr>B킄i0vA".Hvk$rOh$T2&.\ k$rOh$rĠ]JU ;$rD`T ;$r:@A"w0H=A"w0H P`@ q0V\hm -Զl ܶ j[E%BZm ܶ $rۂDn[m mAlbܶR(-H̶m j[mQLh[@m$rۂDn[PHm -`&̴X\ *XL `Q ,2:,Hdt.X0&,H`QP(X@L ` $2:,* @*X` @*X`EA.X` 0*X` 5 ,TRH ,`TRH\RH ,TRH , rH ,LQH ,TR ,T2F ,Tg|!0cA",Hܬ xb dC>`b@Tb$rO$$$$rDV \kQ -rۂD>׃D>׃ @\rA"qO<#]ȭ vA"AB lh aQL8:AB π hu5 'x@@tB4n'dI#0F?I#9؇Mhh0GR's`!9r1GVhEPeDY!CVH dkA椃?IcAv?c[ը>Q9؇ M:H*!0!A`TitLiHt dDX!=ߣ!ShMՉ5U'Tj4EJ &VH@V(@ZzPԞ=U'J$UEHd"W4H:؞+K$KxUS52H:j:nO kOՐU4S5 =U'T}HySZ:`ZǏzH@Z:ѹ[Tu"jQTm>sꄵj(jQt^ j:nQ +vZ((kQt^ j:nQՉEUqND- "D  -iAH "@Z҂HA^҂D  -iAH "wh(iAH "@Z҂D`  - -iAH "@Z҂D RD  +hAH "@Z҂D D  -iA(/,%+Oꄴj&nQՉEU'EUCqNHtwCf~-6O -4>XTܯq*yN:DܯqN:1:؇Mo(nQEZT_|֯jU[TuZT5Т`qJ-v?cݪE ]:a]R5wt:y{gޔGήCmOuWUҫjlxC֕!!3! I˩7Z{Pu"AՉU?N!?N?m|KqN=:!=VHZOujHMX&S IҾR RZ!k#Րjfj#RzJ5-=V(n#ՉTS8k#ꄵj(j#tFQ6R6Rm:!m:G5wD9sT'QMǝ:uj:EB;G5dQ Y稆sTC9!Րuj:Gi稆sTC9!Ռuj:G5dQy稆sTC9!ՐujH:G5cQ Y( Րuj:G5dQ Y稆sTC9 H;G5dQ IfsTC9!Րuj:Gi稆sTC9Րuj:G5O$:@A 7=H 1=ȵQ >VHLㅈq!; $Yʅ?'"P3H!Mr}k32M$?XM$o(>H\'>H\ k$PnzPHM 3=qHM@$~T@ڏ G A"7H;1?9\Rk$rDq@ 8L(&8U5A"8H 8L4]RH5\ k$2:8dGOh$vU?imUk$2:8Hk$D8^Gt@NΝ;$2:w:*N:@tN:@tNGAtN90tN:whp:RH u:QH u: rH u:RH u:(ȝ u:2F u:RHRȜu:R(w:3N s:`rDtP(w:HcIc;acͤc;;$rDtȝJ0^Aٯh@6b+5^@*d|x)M}y bcw.&cR?ݏ+0X{ǏȧW`0>ᣘi QŘqG(F5b8<ˡQfG1jxǝq;𬍦8<*;tT QqG\(FbrQьN/FՍbܸ#&n4F1:Blx b(TBŨQŨp0*9Ë ;QQZE2\EtlƝ s_QpWT + brp)Q)Qu)Q5)QθGQjŨEQICQ*ŨAQ (FbԞ(Fbԝ(ԉBԜ(Fʼnbԛ3MD1*MD1LD1*Lĝq]%QYs% QU5%QQ$QMθ%QJŘ#Q*Ũ!Q  ~2%&W"HJ U"r%(\c.Hc.c.J\ +$r%O($r%DDȕA"W"Hc.H _JnAd \| $T|@"gd :(wHй@"scס-ToajXͰRH_RHʕ,<~O $r]D+0]TWu@Bt NVkB1f)a@ $TNR9\ND('@rLNV9(Hdrt,'䄢H й@"s9 0@B儂B9:Hdrt.'\N йP TNR9H TNR9H  r9H LNQ9H TNCr @*'dr @*'P @*'r @*'rBA.'r 0*'r @*'r @&'r @0s2 @0 0 0 .P>D>f,WWWma$WaO !>1D>`/+H+H ap(fA"7HҰB1,$fA3fA"gYȇYȇYȇYdU-=@f>@:(x8>/?} x&FouP>DnJU 8 ,Alb\R_(&H Q&'W\b)ЪUS0HS0HS0HS0HydL6h/ļ8>~0!F &Lŀ] Q6 18XDnf arLngP=π +$2G:4Hd0s_.l:@*mz@*n@n@oqH u8TR48TR W9RHm 9RH\RH :`TRH 5;T( ;QH <c}=v% yd}ց^r^>2i} ىxrx_Tf4$4dVҐJT/ٟC'+4L BTCCoDͥj&ۏk&Ku"!޴K`^ҐK%%z4L~R/9YO`xrj-44P~nr(/x kTՐKzI3Q%XZjȻju"ՉV' ō:7D<[lNijIhWVCUk Iy#N _HO4D[+D^鸽V'V3^kPQ鱣dZ+$MV(ՉwVq,;!Րjzg5dY Ystw5:>U!ՐujHj5c]Z YWVAU!ՐujȺj5d]ZXWVCU Hj5d]Z YWVCU!ՐuҮZ YWVCUՐujȺj5d]Z@U!Րtjƺj5d]Z #~?, ݌Mn(݉xw'ߝ' ų;@:q#N 4  ~ȧ~w~7D<Nģ;D<ovY'wF74 &މ]V%މxx'Xxw'Tb57ꄈ77>8^@QVYPc}>VY$VYM:aʔMV'rD|du´b\RHcfXMͰ:aͰ29n Չ Ͱ:$R8Ch;Mg75jZǓ}"ygNDQg,'!TPQCX0FX@YsIDV'XM TPdT u2R'H u2'Z2A4@fk@jkܡR[Hm 52[Fm 5(m 5R[Hm 5R[ 5R[l 5R[Hm 5 r[Hm 5`R[Hm ָ~rAl $m 6Hg7N90A w2HBA"0*A"0Hxy'r'Ddȝ A"w2*N8ǿv睈Ǟwƞ7$r[Dnk$r[[lkm jketnkf7@':йABpl_e 9f@ofveftnvA"7;HQ@jv;OD|@q}@VȜbBZㅺ $r @*L)\! йB"@Hdt,@H|ML&HATD&@#;To:BHdZtTµ BT R-H BT  Hu ?TR?TRH;4@*@&@*@*@*@*GA.d@*TBrpLLxz'ꝰ #;!&HC.X `M",j0A6fI#I#;TDȵHN#;k!$t:PD>Df@ G)&Gs{#@!1##@j4IٝQIǣ;#: (FHdt:J0R FQM_bsDf@ 3G`$T#)(HsD@ L#5(sO> $@O> 5Z#@f5Z#@jܡRkH F2kF F)ȭ FRkH FRk FRkȬFRkH F rkH F`RkH|1Y^\&i6_A/`E6O*H1+_0cincI!.l.?#u>R`lV`Gv˞ܑ1#̑qdٝI/iF6O+0H#% ])FxC<oL'dM6F]%*G< =R䁬-+* tfG16㎌"]xXňьXbT(Fr77Qq6O͍Oh6Nh&4*p.i.…b8\FtBG1[(fR5(k<.gtF1*h<\ۚCtQŜL*t1.[|>F%܊@A"!H$$rxF 1r@$2c1rX!&sˁDf9@CAn9 2:HbˁDn9-f9Z@@"HB"7 @3 й@B} v]7se2&w*a. ZVk(Hdtl-ȬHY й@"skY 0@BBk:Hdtn-ȬZ /rY.+ @*+ @*+ @*+ @*+pYHe TVRYdTVRY TVRYHe TVRYHe\VRYHe `TVRYHe TV(e LVQYHe rYaZ~k xht|7 -jE yQV8އU8V輨2^<$1H4o|7|w%Mb(]v*]CJ+O&O&1T+mE%@ )P$VH^O&#H >zgz1TX^"8BV(k@ZfK@RX!>VH @Zg( @RgX!--Mg.-cilK $K Nj:t6Nz&K @RZ899Vg(f3kPV^ $ +/JxyH @R^X!x L%.2>p HLBrnVn@Za(h0*ʰ߇TVH +4v:!W* -0iH @Z` -0YF @Z`P` +0hH @Z`( @Z` -0i /0iH @V` -0 -0YF @Z`P^`!A>H+>"!͏Ƒ[!{!UghIH;uӵ ݑHH{E壶I䣶+D$/i$$.ID$CAbhtSR%UJjjЁ@@my%@{♁$&J$.J$$P6P#M" mMJ+$VH;(i % MQ*(i#% R"R)1M'"$J$lv1P H'`]HIHSFJ@:{$PW :oDB;+ik%O7WwWJ@xkh鴴BDkDk踿luOL&PSD6:dM+| Hh©y%Tk|5l5t>՚`ʛ0U»0i& b^L@ڌ H1혀6dL0ڒ H{2iS& tL@ڗ H3ig& md`9vgLy& mEh&M@ڥ H4}QvjVM0ګ H5i& m M@ڱ Z6h& m]M듟%QN :a} s܇ ~!߇ Ќ Z}hhp^v'mp'$&aL`'`UCۦU "\M">\xMhh 'S%?S˦ѐ OߤH?IcT$vרHV5*`T$v?XHJ}mšCCgDCL3ѐ9 3ѐn::7SM0!Q+bBN0SCsELO:nԉɾI7uQ٢!-:u"n 0.q|Oz1v+}U~&f44̱_̳x2Th䌆Dhk3~gX}럴v:ܾGo8\n<~n"oՉIknE*qc8~"p4#ɪrrjsc֞Q۟ۏw4d~GCw4d~GCw4d~GCw4d~GCwѐ ѐ͘ѐ ѐѐ ѐ ѐ͘ѐ ~GCw4d~GCw4d~GCw4d~GCwѐ ѐ͘ѐ ѐ ~GCw4$~G3w4d~GCw4߷w8;6ԡEh&x݉脍n(=:$ם fR }P<kщxu'םcbщxu'DX GCbpL*"l vC9؝5Nē+(NG'b4NPq4- D؀Qa!62a!6j{cTh4LR!82XDq4Dqt"8:qq/Jhht:ov:vewQٝY0Nشh(:Nѐy Lu8Nw^GC67hpvNģ;gȧgw" =eN;1 }ь+dP>F: ݐnh:ϿY'x4dGCx4dGCx4dGCx4dGCxѐ) ѐ(͘ѐ) ѐ)ѐ) ѐ) ѐ(͘ѐ) GCx4dGCx4dGCx4dGCxѐ) ѐ(͘ѐ) ѐ) GCx4$G3x4dGCx4OxF[4h8mщxE'TG[t"mA"m ;LIGtw m ;G[G[t"mщx*w'ܝ\t"sщx*w'ܝ^pH}eO"Fa4D< (J<1(Nģ0:脍h(ݴh+&Ÿ&@6!~ѐMhH ~/ {OD4xE'_t8^ @*dBBn\N\0|.F'l.FC_Es1btB U/Lԋݙ4b6Չ}\Ms1:D:\ \Ns1:as1bt"щx.F'L IQP>oI: ѐh(щx.F'roM7z@M7z@Mz@M7z@M7qoH &ԛRoȼ &ԛRo &ԛRoH &ԛRoHܛRoH &`ԛRoH &ԛ(Ƚ &̛QoH &robe^>?й.ν 7A"щ\ Ki 2:N@lTȍ N2:xB a2et"щ\ $iP(+*z h(щx@F'l@FCNfx@F%щܬ $P(3+լR̊bܬRH ѐhH u(ԡ( u(ԡ C;$rDPQ0MuXj#5ȋ $lv1^a҆M@yYȪ + )-z i H@Y:/#:* -&i5(+'@d踢@`*)nMB +E@b*#džKcL^R 5¢t^U =Vvۗ Jx=H @ZQҒU -+i] /,ieHK @V[V;4% 1iȪ 0Zf: J 6iH @Zp(+@ZrҚ`e ;iH+yHk@V|4 6;e[3 ] 3`:XЂi܊.,D.5䍖FK$FKFKFK$FK$FK$FK-/i8D"Db躴).*DB. ]]tD &y &ڂ (oD"oD"otO<ӂЂiw-vL &ڂ (k--tLǛ.M[k&i*M^m""v*[;ik' it|cx:ɐD?+%K $L%*J йB"@s D&@O:A*6 @j 6 @j 6HAn 6 0j 6 whARHm AQHm A rHm ARHm A)m A2Fm ARHmRlAR(nGb6 L,t"@:aHC @Ti(@: HH'b҉X! NH'b҉XD,t$Tin7;NP|t"v>:;xDNDGөA s> ѐnH ѐy@q4dGC6xDw'M#;DntB U72uX脨+4 qڵq|v'lvC&j4n:4:aFC&i4$F3ABgo7d EuND:FөсDǀnw"݉h:v3:MnF'h&v3:anPf4Df4܌G7$fnFӱAB݌h܌h܌h܌h u327!s37s327!s327 w327!s327!s37s327!s3h܌h܌h܌h u327!s37s327!s327!s3h܌h܌h܌Yi ;y ţ5: a>XT@:ZщX i*M" Pet"2:DĴX!+Vht*vgvw"*HWѐy Wѐy Wѐy Wѐy W^ECU4d^ECU4c^ECU4d^ECU^ECU4d^ECU4d^ECU4c^ECU4d^z Wѐy Wѐy Wѐy W^ECU4d^ECU4c^ECU4d^ECU4d^z Wѐx͘Wѐy WPvg(щhFjr}"O$2z9vlx et.p\ a+FADl@ـit"s6sgl:@l:@l:@l:@lqgH u6RgȜ u6Rg w6RgH u6RgHRgH s6`RgH u6(ȝ u6ـQgH u6y߷nO4:!4it" 6yB&oc6νU qVQ5V(щx|F'U A"щxF'U  j#4:{$X!Q5Nm?|F%6H nU6Hy"\R9HI8C'щQQ$r9! lGCBB#} @ [ Ō.ȏ-rBv="!й!r|UxNG'9M@rC;:I$ГD|4zH? $?7GryD4xNG'"dT)(t.Fs4 #@NDC8eJ,"@*,"@"_>ffHT#R4HT#RH5;4h$@F j$@F j$F j$@F j$@ j$@F j$@FIAFd j$@Fk$ߏg) L^4!MHh(/!@:xy'V B"T B"+($ B"ovEB*(+M*EhB"/ț]fW@yфDD^4')ț] uZ'$yDV'$$ HJ#'$! H;diEH;dE -i(E"/ !$.Y$B + - (EB@y/,uX1d=VHEB+@Z^X0y/Jdɛ+$JM$o(/nȊq,Yq'$BR8XD^ 7 +n-HhW:Hdxy'!MY:T@Z? i, mUW9U rhH@Z*@Z*V9dUriHyH@Z*V9U rU riȪ0Z*V9UU rhH@Zʫ_0?ty,y,,yssV%EB;guxͣMy-ìE =6I=*DO-yO-COU =V"""ʁ6Z6Z@y-C,=Eb詵|ncOLO-yO-COOS H{j|hWk*ZiN'ҦY@Y,i YtfyA Hci{,=ڑ'cccXx{, m""ǂcX@=.ҎX@#kt:=>^Y^YE{, óX$X$XqW,YWEBbl_c%E"w"a]`$E:~Yy,Y,h闵B"kX$XygJxg, 3vX@ H;cig3vX@ F;cig,  H;cig, 3vX@ 3vX@ H;cig3vX@ F;cig, 3VA H;cYg,3Pcg$&y\ P.yPɣ <Uy+ (7HF%7H $r{Dno joF% A"7H$W$r{x ""$TT\ бQP[^ЖW@"V(oyU =0desDa@A"oE"k-" Y!kUL :oEB -DO SD`rE Hǥe2 @ B"ANW2'd*e2t.d[,0&AH r !$23:7CHdftnT 5C R3H!@jfHAnf!0jf!wh0C R3H 5C Q3H 5C r3H 5C R3H 5C ) 5C 23F 5C R3H͐ R35C R3(7Cۣw`f !!$t:P.eJH\ Q'p(?HcIu\ Q'+$13\ +$r僄('fC3Id"H1."P&@" ATR ATR(AsD.EBDb\R(AH"LE*RL(@$"$UhI: A'cIv3: \'!1$KxIT'935*%KWpZI3fRgHҩ@:H QOҩ@j|etn|ȍAb2>~\R(W?HL~QL~@ =rۃDn{mb{3N ^; @BsBB=}.) D6Z.]|. G> A19!?iA;!$2':wB*N:!@N:!@NHAN9!0N:!whpB R'H uB Q'H uB r'H uB R'H uB )ȝ uB 2'F uB R'H R'ȜuB R'hpB?߷0uNHCNʈB 3?̏̏ 3?VHd c@ra 'd}8ۉ !19!UB$' `!?=҉AYa Q!1?V(=:1 8X+dDzG%FcwUnU*{w.VPt4+`vѐ q|4Ѵ+dnGCv4dn ѐ MnG?Dwt";:1<DwtQ!;N~G'X!:VL1cLh&y4k<~&k(+tne b12!1gҬEND"Fӓif"t.btDl*GCщȿh:/:!E3 /ʔcrt\t"R.NrBiABM̴hL̴hL̴hL̴hL 5-2Ӣ!3-Ӣ3-2Ӣ!3-2Ӣ 7-2Ӣ!3-2Ӣ!3-Ӣ3-2Ӣ!3-ԴhL̴hL̴hL̴hL 5-2Ӣ!3-Ӣ3-2Ӣ!3-2Ӣ!3-ԴhLĴhL̴hLbTNTfbӢTNiP<bZ/Ĵ}輎d^G3nZl4MNؼyuut"щx^G'DXxDG'Ft/wbp*V;$ԩh(щx^G'DX!q*ND,Xt"QQ}ON::aECѼybħQ!)2hG ND386ݢxlG NPdd4NFF'82Q!1EN"F'"X脉 MѐG[NVF'lGC"D {q|0c#щh2GөсƀmNdM6F'"6F'bĶ*2gnbt"t<dc tlaP !02 !02 !02 !02 H-h,h,h,(-h,h,h,h, 02 !02 !02 !02 H-h,h,h,h, 02 !01 !02 x2ԇ &mCF*7"bH=ݨ`fT^Ti+*>R U.T&TTTTTzIl9L^ >RL^@~@}5{O+#;OE*E*WE*w"5bSSS@rG>RGH1l zMX)-}c>S0f FkL%aFFFƚF?@d 81UW6F1y]yYYU༨Qic%;V4 ւF1X &`T /`T _T@XxqvQ.Q0yyq(qDqPT jlݢ`DDyqV($/MT Laa.QA?%K*煈{hBEbQ D1Z(Fwh->cBPV!. Q#rD1Z(FX--EbqgQ!*D1Z(Fkh @# t(F#ËXYJEb&Q$ъĝD1Z(h5-FbRCC(tHx!ZEmXVQ@Cͣ6*!4tڟ;~j@<$CwE ݡ6I ݡ6\+1u_.q;O *jVQVQ0-`Ep3 H{F =g|uZ4_N =v{F>'w"މx@x'6:356:X6:܇5*Ii#) ސZ!m-e*[Fi( mo:oE"oE"މ]OUoFF7vnRdsֶR@V (މxx'QGw"ށڻOmo(މ @utx.TE?хt:ؾQQAHX;*x8 Mutl+ٹܖ<}L=~ڟpy*XfUfU@ڬ HUi* mVͪY6fUy* mVͪY6fU@ڬ HUݡY6fU@ڬ HUY*mVͪYUAެ HUi* mVͪY6fUy* mVͪY6fU@ڬ HUiY6fU0ڬ HUi*Y5@c>nq10'Q$T| B~!S>Q;p)cP`e,|2"1̌&5cO"1} ~ƦbFbguA؟]5Tx\H nE&uwcQ}[ըo3MHq+M(ƥ 6TRoH 57TRw 7R}(7HxF?""$T$&qQnq$ B;l6VHDcF1[@jox񛼱B*l3)3@jnxgot'kcI؝x(oPpBDX!7`r{ 6Hqssc6RУ[$o엝pH 8RH= 9R w9TR]t9TVR@J @n0oGApZ@q"* m%90*mz@*n@n@@r6&{ wc쉄@on+tky$XAؔGH R~O&1H} R>)c&)`Usgq|w%\1c+g24njg vZ~b7c3v3I vv>{'I13Vdb\RHe i?/hFAhP>՛jgoV4 |7|7Ix\k@iBbf$c'zqrrL(f2vu)H l7t>뛄Y@6&] -ԶRHm={?oil[@K@Ke3$jS3+VHE|b|d\ K$lx1Yg  M̀GfЙ@f_ǸV(N"A"W1H*0Q S1sIq}15V(A бA Q5Hol7t.fȆk@5H$(($&;'-f 5 [oD>o(+VЇM:9(-FйAB ;LJz3i 4HLzO#U;dC4~b :VHM ΀gg0&ABF&9HL:Oz;uulXR ZS>~8a~T8/M5p8]K8-yI>>4Op3/gL5#280/R NzR_7Ζj@GKeF'KK50:W*|눩QSASan 9:{*n@P}\uόj`|U㣨o`|U8jC)T!T Ϡje QTc2X/gp!T7s1TB!TTk@GP}|:GRu*Uf|(U3#Ho8*>`|,USCTT DefRQ50:*<>aTYT v#w:~6x;QetUFQetUFgQetUF'Q-Ã2:*c28*C2:*#2:e|UFOetTFOetTgOEtTF'Oet23Җ$ O2|wn|$UIdI yWrnރ+\(\QJᩄ pW 鱃eAxRO\AB~  B<0)g .G ..4`2~` B8>0@ @H ,.ģBр !!iE!C_ =/.F_jڿB?Bg&PɿF kMjjƿJb>t 7&룖?>!o.[ qTRwCgb?. !6Ch?\CX_Hu@l?!>ƒ~" '?='pSC72xz3Qk3!>S3 陂 >?4I4I4򏥟N|Rz Ç nO\OXFZV}Z}У_~ć n/O?+i>ZplqcFxBxB|p S |>Ѓn߃ ܾ}>9w~v{ 񉁛 9<2p}>4:=5y!xtBx\B>鍴}z#>sҞ鍴gz#vC3鍴gz#Ch_ !4/v_ƕ;!/"y#ވE˨j!VC_ K!C,ЇԠϠB77o"!VC_} =/F_=BB(_e ABl/PW*B5B_5 i F?9tb6|u܇R#>J|K!]XvȇTϰ"bE>Ċ|+ "bE>|f\o`^oм"ļ"&\"bE>Ċ|h^ob^oXx6[k­[!ClŇ؊[M[M:s!i7V|[!ClŇ؊[!ClŇ؊b+>V|܊b+>V|[y+y+ q+>V|hފobފo[!Cj/V|[!ClŇ؊R+>VBnŇ؊b+>V|Zr+>V|[?ՊR+>3o71oů CV|V|lŇ؊b+>4k/C<>ēC_qӽ 4o>3+_M~/SC]jW{!C쿿wMiC쿇x}H +!TFSFUy}4^VO мĬV>cC.W}UpsE[oW[_&|@x"Mx"ZBHo-xk![ !ZBBo-xk![ !Zx|}_4txx܁n:\H}3pBp!MnBwB&x7!Ļ !M=ӭ3g>CH2ϰ3ltؾ 툇 xQkZx"H0?gx?#ϸnalwsvx#Ļ!nDžx#=Yȷ2Bq!. E7-BiMoZoZ\tOU 9ܸEH7.2qpBqo\}7qq! qlfCq!ރBͲ}!q5ąt"!އ>D!BC\.;qCwBSs:>5g#NHluiF:'ijq68lmg8{Bglt<Bg_ƹH]7z׍޼7{x{ЛƇ4Co6ҡ7ЛtF:f7{b|͞797osnι\HGlm.l6i64 OHll6i64tF:f#fi64tF:f#fNY6tMlsn697H"NH'lp2<g#NH'lp6 8p6:'p6 8tF:g#NF'xF:g#NH'lp6 8kt5<g#s!:(BtjF:5g#NtjΗOs6҉9ĜtbF}P{Bls~й*ů!Ϲ:_5F`7:؍v#]h||/>(g#lr6E|jͯ䜯 `j8XuF:a'`񔝯'lv6 ;鄝tF:a'vt痧sw"ٍHv#oǶ׷W%tK褝P?"K耝:/p:Zg2? =ϵ/NK ol}y;c+N}f%/^?/q+ܲzW? =:%tKt\ _%/zK*ƿZ/JK*'؄ _B:/u^B꼄 /6K`%Tb 5_BPw%T\ _/K:%tK꠿ /Gܼηy U_B'ۼy i8 Ojy `{/ x'x*KϽKșy3/f^B'ͼ阙a%T~ u_BP%T~ $E6_Buį2WK|j^jw컏*bpx̯F:-%Ը~ խ_] 1/bKU8WqeYU:/BKM})իO`@z)._Kէ_@Pq%КԟjR'X~-_m TѰ{uu_b|˿EKhB Z v+!Vr; >wC/7z8? 쇋bSדDĩE7_*>2"~rV{}huo+!TЩ%>m;U7?A"kO?ރqDž(bQ<2.X(bQ<ĢxE!RQBl5BkM򇏤i;Fj/x񐶣nb7y}'*l7Cl4ikAB~NR;=:͹ݜ B{?zF]bw=mB]Bh_\L~!t/ z+Ӯ֏Lq}kk݈5k!CgXC~!6:k}y v(u#lH;[7֍(ܬ/zyoP Ua&B.Ç؇b+>b|6rI>Ğ|U!ĊTϰ9by~!CЇآHb>:}бT;Cևخ`:o}:[go}Կ:uCgظtF,ؿ:߈!C؇Բϰh:b}?t:}iX?߃;!z :sc_ CtF:|#rS?7tF,ᇎ=;~Fg=`?~={ :߿cq:$}n`~HzENLOKOKĹWO<)=4?)}MF?DZ`ǂ{`:S=?.t t.dЭ`>t\!vC/n}!vCևح[b~!b>:}uaK!C*/|K!C,͇X4Ri~C6=PLП:=C<=C?y%K!Cef k!bS|!7ſĩ-U_)U%?Wo^ ;bwqg;bwןWћ`NU C R`~q^cb ccccNAYA=p=p=pJg/z̛`^z^zA|AE(o՛ӊ3>#rk``b`b`7:M:i!!igo;ƿsB!B!)ƿb =4ƿ&_h' /4zML^=tO51MkiiP!B!BiMLkb'kb_/4zM>ÅpSB)ppSB)p!n \7.MtSB)p!n \7.M >m__i__9F___ H___9 ___ 2_1_a_a_N__!_h_ /4/"C ׀h߾> ! ! =A!Bh襧I5$BH/B/B7F~k9T B !G󛏌 TH_9> Ϗ#+Tpk!Ǘqy8jg"EBB(_}/R_~,_h^ ob ob^!oмD[!C/"yM!vC,&Nb|!ClX)SbrB.LJX`9>4ݖzML b>>Pмļt[5{hz_nzb={ ~y5q趇&mBB<<{ ˸b={ !6Cl`_ !6Cl`D&;Q uۗq=n{hD&zb=2nzb={[!3l/{[!Clza}!Clzb={Ht'51݉'܇Mw^ӝ!6Clʇ͚ؔK)bS>Ħ|5C|h|fV濴R`m>t:|K?wWz<|V>V}[!_pzE ?C!ae>ퟑC~o盘||zޟob֟O?b~!C||Z !Cχ؟?x51Ybzi3lՇتUT?!!o&kQ{QF~! É|H|f70O`"W5D>4_|&41_|1q5M0̓5>>>>>4?q5M#w6q?&4!62 mox !6@mox !6@لxMHa2C C<&ălBCCCqbbbbbbRa######" #gxM,>ălB<&x>x>x>x>4߂&чччч }Mtd>mr 6!hRabbbBm~mP>P>P>?|"&!jb(pizc(C8q ?߃|BC ,Xڄ C C C :p d@a@b@b@?)}H}}3!r=İ==3M0lMka{!C{{{LC}M8E1E1E1E1ES&)zHCBSo!!CLCLCJėq"b"b"b"b"b"b"b"мļ߄e&&/========}!!!!!!! 9E1E1E1E1E1E)E0E1E_)zh^ob^ozzzzhV_z[ 7=B C{ C R|s~s #x}/t}CU>T>T>T>_A|A|ABv?~Vv|A_q_!a_ { fB CCB/O ͧA~r?g7/߼>#<R"" #####ɇɇgƑ|H Fy$<_CCCCHy$ļ#<_CCCCCHy$ļ8UGM011111)_Ƒ|||||||BCCCCCC,XR)x_{{%K!!!!8^1^1^1^1^1^1^)^0^_zzzzzzHzBCCCCCC3CrbI=Ēz!z!z!z!zh/=Ăz &|1Cr9=rz yH !C,zw6;~CTyxyxyxyB8-Y촘&fŤYH1._qyh~ZL<<+U~s XS1.83dҪgXQb?f ikX/!_ qjW^yeN[Vw|jزzb rՍT߯TCܧ>i>TH_^;Q_;Q/5!A q jkPCc j֠נ.t\p~X W5Ӆ4_yW? ?ӯv\}iNO?kO__kO/2_B44^l- Ju3g Ϩ@Q|3jgPLqu53x`mA- HQ<y-EX"ϨCQ<yF3hGT_53*gϨ6Ak<2gTϨ1Qaόau3C|-ć]%q-[/@_TNόaU3fz(GKϨQ+}_stLKFdtHKfT8oAӪzq zzȸ~V6hoxF ㋰0Q_2gϨ Q<*xFM a <xF%:U3jgPQ{3*gΨQ;wF̸ΌJqU3j|gTΌaս3h{gFf]ﰪޙi;?*z=P|uս_m+p;wFj#*}gΨ̯IOP;wFmt??:˰A{ynv~lygTΌ:qŻQ{y?_=jی ۝9Vw SلXC8bs{ Jx/48;B!{!{!{!{H!{!{!{!BٛM0d=Đ=Đ=s3q_ȉ{!{ 3 C C C C rbRȞS!{!{!{!ϷǩTMKM0qKM0~_{{H{fT*ϣ&{==7&{轉YGMM0~5=4ߛM{b'M&kb{LCyC !!8~1~1~1~1~1~1~1~_{{{{{{{{H2CCCCCCCߗqbbbbbbRa g/=======4ׄ!vC rb<\=yy`N` 71̛``b`Kyyh7|!!y`ބ gR`b`w62 q`B`~!Hcdo`71ӛ8ncB~aϑDžpgFĬĞf/\NC<%4Λ֛`MS&)k34ϛ@x~`'M0I1I)I_IzIzIzIzIzIzIzIBNCLCLCLCLCLCLCLCJҗqbbbbbbR 􅜤g/$=$=$=$=$=$=$=$=$}!'!&!&!&!&!&!&y&N??yq!CCC{ C :/|rQqoQ|HQ|Q|h^dob7\7\>\>\>\>\>\>\>\~oMs&ˇˇˇV.M0_ȹ||ssr/P!"8|`-?"@? =4 qhDC\!хD4-!͌60_$7D. f qhDC'/mbQJяN|V׊W4Ţ!n a腰NBX!w6-! qhDC$*ѐv.e!n qhDC\(FWSt!/ qhkEC+b7ZϚYew4ţ!lDCz4ĵ!% i12Ljw4!' q?iH J3PW4%!n) qMi{JCZT҅4]!.+ q[iJCW 6]xiL/DM.NCuˣkBN*;in>}ӯO^Po^;QC\z{܌jԅQ]ף^+Q/ak=P_ חs:A+KPQ}z !C,܇Xpa>}/lr>IJ}eZGԯ\yyNE!8!  и/;:::!v7R}#t޷v'yhyoղ:Ѹ'Ɲ=q7@&XHTHT/Gm/`OBjP5~#U7R5~#U7R5~#U7B5>jFojFojFojFƇXHTHTHPB>F*oyj澑ja}#7R}#7R}#7R}#ܷQ=ĚFoFoFo6XsH5TsH5TsH5Psf\s{ol̾̾%/c2럊쟯2럊쟯2F,\:?>W"FEk@NGBj/VTfHePfBm}7Rm}#Cϕkj~!57MпoTYz{??~8o5~S]JYYc]`eQWFuTWuO3+硺As=zf[o@̸ހJ˰Qe=zTXN}TWό k༈53n70.7p쩿ñz*g5zF 3g׀φό A}cӌOo@=ja =zF3gT?Ϩ} u3g<ϨxQeO֮n<4ׄ<=oq˞S}{b|˞>Ս)zCC җqbbbbbbb#3CScse/=Č=Đ=Ĕ=Ę=Ĝ=Ġ==è}!g!!!!!!%F 9s1t1u1v1w1x)y0z1{_{{{{| ||h|KCLC{c`N/WLCa/!  !Ƣ=0>4>t=|F9'b*b,b.|P:eS$y!\BN{01_|~rՍU|Hl`60 =1^'gÇććQ?/~a&tNLĄpNИ И|hL8Ac8'3'y2_qg82~E:dSę33__xEjuI3k'̈́xL':vjyMx/ K?A3hB3h.g~<=x:M<\ 񨚐YGՄxTMGՄxTMGՄxTMGՄxTB>&ģjB<&ģjB<&ģjB<&ģjB:fUQ5!UQ5!UQ5!UQ5   񨚐𨚅|TMGՄxTMGՄxTMGՄtTMG,jB<&ģjB<&ģjB<&j28B8f#H4!H4!H4!H:HAJs!CsߟN頙/̈́xB:lB8_B᜙93΄xL,tͅ~{>B?Ds?м7:ՍxM\lt>ns:}uмNyy~M|N!3:}:}Ӈu&u5:}h^ob^ouмNļN &Pnp>n}!vCnWiMN뾉Q5MмhyѾ C,ڇT_E!C,ڇXhb>ĢB.ڇXhb>Ģ}E!C*/}E!C,ڇXhR~C,ڇXhb>Ģ}Er>Ģ}E!C,ڇTϰh!C,ڇXhb>}E hb>Ģ}E!C,ڇE5}E7!M݈ bi>B.͇X4Ri>|xӍ؞=ӍX ;!vC/4zx`?>iFz!Rs>WKi?XK!C,/ĭiFgXmb=4?eqzR=6{[OC,X` !n= iifyM n= ͷ6 }cizk&[Oo=mby}Mb=ĭ!n= qo=mbġqo=m[OCzb<ĭ!VCT%_U!VCX%Jb<*BX%Jb<*yU!VC/*yU!VCX%JR|WCX%Jb<*yUVr<*yU!VCT%ϰJ!VCX%Jb<*yU Jb<*yU!VCfMn&fM(?liz۴ VCݦiC/ݦMvYBa =4bĩUBE !C|pM˰|bz>z죇}&}5>zhGobGo}мļx4w+k+!Tмıq<Gob~ |Sӛ`9=4/7rz˸b9=rz!C,XN_!C,XNb9=rzHe\Nb9=rz!C*/rz!C,XNR9=rB.XNb9=rzr9=rz!C,TNϰb9}!C,XNb9=rzм&\Nb9=rzh~{lg7z\[bm=zqa} }&cK7{  }&rq/)MOob~ |,ÇX_ȧ؁jCb={q{ޛP!>B| !/iB o_lLJ؎b;~!C߿k؛_M~EnӇN'}I.ֹc}>=tտ֨V?8NU/y\fl o_-+:qE!Cb?~!!=!>X@=!>ң> zNcxh4A4Dz#A Aw=xR={ 6!!ƒ  &\$HB>?C| 2| . . ^\OdAO\\Hd~i!>C3!>C3!<:N#9gև ቁ A?:>ē#SR?yw_H y CMΟό Mׄy߿y߿ C}м&!9b?4o71?rTWWW`?47*˸b?Ċ+!VCX_+!VCXb?ĊHe\b?Ċ+!VC/+!VCXR?ÊBXb?Ċ*Vr?Ċ+!VCTϰb!WCXb?Ċм&\b?Ċh^oм+!Vr?Ċ*VC<>VX!vCx}us]2lп?HHļļ!r;?vPg?~;O|T}GՇϰb3?f~h|T_ikyDyf7<3Gk`7<<2Լqf82_L3q^wG Fyr`QQQ~Q|9o<I5 ( ( _Axf1xH# 333J3 fg40>y&y CJ3C\ y2<_ƛ`8R: & y|M8#C&)y󘼉yN<(o└j#5<Đ<Ĕ<Ę<Ĝ<4ʛ'Ṃw&aU1- ~!Y M(01111_i|8 !&!Fy&~C3C/>BH7֍gNl`7|=4כkB+l<_ob71כ81כ`kzzzzzh71כ GM0R!RR4ԛ`bR########/H=H=H=H=H=H=H=H}G!F!F!F!F!F!F!EF 9R1R1R1R1R1R)R0R_ȑzzzzzzHzzBCCCCCCCH}M8R1R1R1R!RS)E]0A!A^rPȞabbbB=Đ=Đ=Đ=Đ=[ao=zB<=Oϛ@z~!ҹ,\/$<4K$ %&!&!$7ça> 鴖8fL??l<^_o{h lWf]uOhFخךƚՇwnz^zf=0ެ'ƛUxmVMkꅰLgUoVͪ_|oVڬqhTx/SZɛ/TKc/TXzխCB㵩{BkS7ԍ65õimFZ֦nimFZ֦6Bڔ6^huOr=i9FXrԍu#-GHQ7rԍu#-GQ3\nr=i9FXQx9rԍQx9/G{@QC\n4^'Qna96ZQx9/G{buOr=MiFخpXpػzZzZϺֳna='®ևOŭ qqxF~$t}Zw]/+]C{畮]7yÅhFZneqFz!tuw:u#m~ϛ_"/5x[cGqXձ^:P.ib~Ϛ!?M!BȌi`B|!4Ck‡41 hAs}33kAA4g. B91MϹob~O<'4 >s3!=s9999񙃅AAAA2~ gB| gB| gB| g3!>s3!>s3!>s3!=s3 999陃 9XAAAHdA,gB| gB| gB| gBgք99&Bh~O|!c|s!1>!=a!>a!>aB9: >n?ó!>{DADXh Bz Bc|s|Oib~O|x!ć !=! }&4G2SÁ=!>~PJࡄ 9C?8XOAHOdOH템2?hƒ³#SwSBǧ/Ox@\O\ؠ8tC_*b?ĖH-eb?Ė-[!Cl/-[!/bb2.XDXRWCX!/bRB_BcB(_蹗Vr?*~U }!C,܇TϠpwרcB AB(_ V!6<&&ԤB_B_߮p/z|/ JBBTuϰBBh_:!C,j~ͧa="{E\dr@"W{%]%@Ymھ!T }$?1o_ b=F~f?3AB=W/sBOSq=zi5cC,x,~/cCh˨7?]]&U__Sa7JMKM:ֿ估Ĭfa=4/ C,PX^ZVC*/K?C^{^{^{쵇&kz"C("7Clxb=Bnxb={!6Cj/{!6ClxR}7Clxb={6r={!6Clxϰ!6Clxb={ b={!6Cl5؃i> /ZeȟfE>|*}O oq(·xN]Õ K!C,/4,ͧ&xzԓǎE:_5!r?>~|h~*gP^ԚVCЇX_gN/ˣG?o^Ǹ]&@H72<&???!!DI4:~LChD& !Կs𙏏4_zq{ Ͽ|#_C C<&hBChomb5qC MpnpC C/l>l>3gq3!&!&!&!&!&!& 911111!8e͇͇"ȩ}}}H2NCLCLCLCLCLCLCJ3LrjbjbjbjbjbjRjajSSSSSSR SSڇզ6!!!!_Zk'؄xM}}tO?5!^1ԁ}H}}6 __ևև|)7)7__a}a}aB뿴Û8_5 o_} 9qOGBz9ƿ}ybzbzbz/1g7~7!<-A8Q6Q4Q2Q0Q. cR B4Ϗ#gƁ|<*x0|F|F{F{f70g `QQQQg #t ΂zPܞQڞQ؞Q֞QԞQҞAоsbRB2"eggggggz`0V(UϨQ=<<<|eE%0+(*()((('(& %($_yFyF yFyFxFxxDxF23dq0ހrbRB8_{ WGL3ggyJ3 ȗq<ހ (0+(b eE%̃FwXwfz70 ̻E%0ΨI1dط_ϫD}곌;<8տX^TUR{y(<,<0<4<8<<<@|!'!F!eq(<oxh71.71/ !!&yT<+oHzCbܝՇr՛ǖՇ\Z+W7\ZVrhrFXĺnE7Y>ֳ.4\Ϻֳna=녴u獬"֍u#-b "֭u#,bv^+W/-^Ս+WxꞘ\+W/-aÅb͕bn=^ĺ'u-bHX7"֍~L7vTmϰb=j{ b=j{f\mo`^moбq!3_ք} b=6{hfobfob~Klm56{m!Clf ./]w֛`g=z;!vC쬇Y_Ɲ;!vC쬇Ybg=BYbg=zмļބ:˸bg=4>O}OSlfR}Clfb=6{mr=6{m!Clfϰ;!Clfb=6{mkTm=мļ{!C칇szK%,4!Cl&~Kߛ`=4j&f4bXx{!C칇sa=Ğ{=sobsOb=Ğ{= hoЬў !6CF{F{hR=3o71kh?ֿ~jhϰb)ie=6beWW `(@ ůan1ʼn=#3+isH@h@h2G;̵w(boRͽT̽Q^w H@s;s;s;u{ݣ½@uR;z݁^w }S1S^w H@uR;y݃q;z݁^w H@uȽ@uR;z݁^wםם ^w ͽT̽TH@u2{0uR;z݁^w ȼ0uȽ@uR;z݁^w è= H@uR;z݁3S1G{݁^w*^w*^w H~@s{;3{;HFv 5}}fsNفF~ZRGH@jdR#;aFv 5ٗw}jdV#;فFv 1z2zꙑĻ~@o:ՁԮ4S1CQ1C]̡#]بցηduoH}@[Rz@[R:a}#VRw:ܝNܝNRw:Ӂԝ4wS1wS1wSt;=*ܝt u;H@NRw:ww:sw:NRw:Ӂԝt u;=w;H@NRw:Ӂԝܝt u;H@Nөө0wz0NRw:ܝNܝNӁԝt st u;H@NRw:Ӂ̝ܝt u;H@N2w:rw:Ӂԝt u;0sw:swzT;hNbNB@NRw:Ӂ3Ob8znUbfU[/W;N؁t$j@Ùs;j`0:hfUNwhzP;؁$q^l0jkR[;zbt*3[;ځSOOB@|Gٽ~^=l*=)1TSF$RO<K#Xb=@*Xb}@.Xdb= P2>\Ƨb.G@*2>\Ƨb.S1Ph.G@*2>@*2=#S1PHe| TRHe| qHe| TRHe| Te| TRHe| 2>s qHe|O\ƧBe| T2?TRHe| TRd|rHe| TRHe| aTe| TRHe| LƇTeph.S1PHe| T22Tt*'>?>H35z*T224؄0*X@z ;'j<@z d;@^ =s 3ZEx =[HϖҳeTaR= W؁}}g@20*2@_~@zL@~ "d8j@64/ƁLQmHq ƁTRm< ƁT2mfS0ƩPmhS1ƣµq ƁTRmhS1ƩkT64ƣµq ƁTRmHq ƁTRm|ƩkT68j@68i68j@68j@8j@68j@sm6Ni68\bS8j@6k@68j@6d8j68j@68i08j@68j@̵q*xT64ƩkT68j@-Q8@>4Cmh.S8r%HR:i0y 7j;4C 7܊N*@Jx4*$V􀞰S1SU[ѩYѡVt*T(R< ʁVt*Vt*FVt`Q/W H%toЁTBhh:Ω0aFu ցTX Wcz z0z0 遌bz\JE(kQ0У@`^y0*y0*y0*y0*o3ye(P<̓Q<̃Q<̃1|G\.F`T,F`T*F`T(Fuq<UɃQ<ȃQ<Uȃ Q0ǣqu<ǃkQ0ƣ@`TFu`LWŃQQ<ăQI<UăQA<Ã19<Uw`T F`T F`Td@TQ <Q<Q;Q0׾KQ0W@`TFe`Tf.zc]C]3m<`ƃ+Qx04F(P<SQNʞy23{BfO =!1'cv 'dԞ2[{BkOHɘH =!3'dޞ{2c{V-T==+.0{BsOȌ =՝==+Fnvݓ6{Bc{V=!LI]Yabb2{@C{s/_+~ԓуa[< 1 >>bO< >!s'4mč l0jR<66x Ø Fm@j੘m@jR<6x*6x*6x*4G6x  Hm@jR=cbnBm@jR<6x 6x  Hm@jR<6x 8H@s;s;fv@jvݩݩP;݁df`fw 5H@jvR;a݁fw 5H@fvQ{@nvR;݁fw 5fnvbnv 7TTH@jvR;݁fw*ffwٝZ@s;jvR{@C;N݁FfwٝZ@bv/7eH-@jR >@6)5!UTR%ΊQHx ]݉F_u}U|R= ߁}};\|?? 0695!H$ OMz<=V_>.ğw*<I؃j@smǭLQmHy TRm> T2mƴyTR;rHx UTR;؁Dg? ցDZOt UӁTMR5Ht UӁTMR5}:ԁT3RH5s ́T3R4`\3RH5s ́T3RH5s rH5s ́ǰS1? Q/IVV_7Y=ՁTVjeVV??b=Tp2=܁Dpw U߁D}_t{\ž~ ]޹iQaHk?f$̀3pi\z0m A}Ἣ'TH9pqi-\C h|ܽ4~7~ZVF͇?6W*4ӞPX_;5}u] ؈`C=v?iH@`$iF5#AX>MCz(MM*6&17&i]*`}$mNhsH@Msbys|"M=ҥ֍h_K/%}|Zohޛjz@֛&7 M MYoz0ڛ&7&7 MioH{@ڛ&&7 MioH{@ڛء7 MioH{@ڛ&7&7 MioH{@ڛD@ޛ& * * *f 埊D!oTikTIAżIAżIA6)I5)zDHYb#ETxH@>&мIAżIAŸIA4)[XǢcqyyy k_TQD}񗞷......[@ں.Dy cQ} y tݺ켏AżA1CMH@>1} y c1r*} *} *} *} *} *}4cP1icԯ754ojP1ojPѤ.{i OI@IT'Rvt.NI] vt.NIcwl.ݭx 3xt/@:f ހ|/@2@@6f> Λ 䭟ŢRyt:/N@:H>H&s$`b:j@:7 {@2t /ރ$wHɜ]fn7udn7vt.݋'@:xH }#]dx/6"cy/3ztFo@6э]IL_Z{{@2d"oB>znH:潗u}]??MD !$c,"E@B҈@BHH"HD $d,"E4"E@BH" YD !$d,","E@BH" YD !,"E@BH" YD !$$$d,"E@BH" YDH# YD !$4d8"@Vٳb 9ƒ5&<Gb .6"QyT +,*gg86Z !-HfB ?!s'dNN;bςӟ?+eTcVYqc?sVO-ʊ?+lAB6 ?+0_#+q_C[N-Jq1BO #unuOH*J'x'O?fqw'dn_>Z/v+9d,SHȬ@#mƞ0OB鯟 F:nO- wany>lqBۿm_72wgOƦ'dӎ2OBcOOj't?9E/anퟐ2?2BOFɘ?!s'dnnퟐ2BO ?!s'dn u'$nѬϣ@BHr Y $d9,@B(U &.qoaف$HȂ Y ! $dA,H 4H  AB$89TH~W-bpqHHe>_K"\b I,b f5d'F$pq.CBcH1Mc Y!!1$d1$Pܖix-$P¢=4 .6҅"m bY_*d4Q}Z:b}>&q~NIT;c=$&Q(.!i{4ъ *4ZD+~}8]΢H(,4?*$gq&tq{]!%0[޺e3KPbSڸD8.ay,Ч9" I,6Nm5FB(lS@Sj"=Gq&Q" YH# 5"ϴE8$f%q[s wpG2H I~՞Hz޿%=`4I MziHyH@􀱤&=4I MzI MziH@Ҥ&=4I<I MziH@Ҥ&=vIziH@Ҥ&=4I KzI MziH@Ҥ&=4%=N(jm $***F3#ϳ c"hLD8 {qAfuuBҸxDVُk ~Y~_r~iH@_' TH䀺}\lCBY=D܃y܃ Lb8?*FC';uȊPh3f>]5-$*tCBMAy 5Ɏ,ji㰾:!&ٱG]lb0bM؇qHHc;<<6 MxHȒ0j&<<b:+Mc}ɻ ֻ = =4HqMل PXߚIhȆ:$ uXژGDMcGX?:]cݕ<`Λ>44}ʉM:0کNv*SS TXF;@کNv*Nv*S TiH;@کNE@ީNv*S TiH;;t*S TiH;@کNu*Nv*S TiH;@کϤ3L*TT[T[TϤb~&ֆ@چCEżA**/4? ;*'B@ڗcPQ mEY+f~ UTx+H[@ڊcp@p6Ex)*MQMb}b}b|æ6O#6Eż%A6Mb~ææ6E)*MQ1?l mIB[@zT@O6E)*) BaS@æ6Ev!vææ m<YF@zzH)*GJQGJR@zH)*4?R**8RRT̏b|k^Pk(6;?RRQđRT̏z 0z)yGu (iGH; @Q; @Qu` (iG! (iGH; @QҎv ( (iGH; @QҎvCMGH; @QҎv (YG!(iGH; @QҎv>P m/T T Th{TSTX{!o/I{~ ϰ/.!M@g><@<@6dMy!*M m:iH@qT##Qw ;=4?Pv ]b, =CDE}8Ȼ'TTh+hbb @3T3ThhB@ pg 3@  }g g vv  ڊV"y KDyyyyy m_5u#]b*=е/MiH@DT<b076>? 56` mlicHycH@؀66 ml mlicH@46NdB@- myiH[@ҖP*Tjvav~a4V$Z||@RHEz LQHEӏG# \#П݉*/7| @z8Q@~8P#oI';PO(➐OJ'P؋}4I__`GQ'"çq`tt0:kzg|t0:i:4͙DLS!ӧ?@N>ΞFGO`dt`du4`du22~:8ΛFMӦa̚FGMA`dt22X:%hFC㡃p`t6t0:zg|2t0:: NFA'#a`// ÝhaΧ(dtxs06yGlts2:9՜LgNF1'M`>I6|d s}v8>9NfF3#sI\^ND-|dtr02P9 NNFF%'cÑg|tdtr~y2 9L .dq2:vZ_^> /NFL7xi7x٩*NƧhhfwtLj`t`q0:8WM+DQ0po47F'#Èdtp0:axglpn //u7kx^4 m ;m /w /wT@dpQ0\oT '3/5Nt sèH@DR'::r'::с̉cNtuH@Dȝ@DR'::сԉNt =bH@zN@7R9́o~s H;́o~s H@7R9̓q9́o~s H@7@7R9~*PNt9T̝T=wh~N?sOҁSѝsއց԰u 5B#s-=*ܖt -Hm@jKOx~*SVv9Tb~N?s)Ox~*S1S^x b~N?KAO w͏b~4?jy?FGSzPn @h FPӜSc~h?jR5V{ H@j2=Z큚pnPg_>ϜOEsκr_ܣ9Gc/{ {T4v{ }b~N?j;ftu#ji Y}hnt{ 3èH@R>:r >z̄s?1Jx@s>s~TIH]@jR>6sMThn H@jR/?vR?|/?v H=@jR? u H@jR?<@<@E )*1*4A MY iH@<HB46S0wG[ uH@@@ 41 Yfb TThH@D< PI4sC*Rj OJ `@? qwHmV~ H@fQ??P_>pϘPw? u?'!;>!'4g؊bŇQ+~BfOhlϊYa'dPPx'dcyC OH<Ɍ=T>!'dcy2}BS}=T ١ >>+N;bςAY!Nbl 3'dblh='}qq_cl ;>YaNIGM? 1'c'd'd"P;Lvy/W ybOƜ <47g_"@cW|V+>fJݔu#_~}7~)cy>!1_C4>>+)FN;BɈ<@Oh?w'?@*@.d?0*??@*?>@*>@*P#>@*>@&>@*>@*@*>@*}*>&>@㉯Y1PqH} L} TRqH}O@&pqH} TRqH} 뚌ur H%| >s L|Mf.SB}@OT̅z*B=*Pd_ xBb.S1㩘Tx*TTr|@OTx*T29Fx TR9~P9h.Sr<\xTR9>'x*r<*r<\BxOTx*r<c9r<*@v| ;N0*;\t~~ SaD؇@*r|@.dr<0"i;B= PB= @*PB= @*P @"ןSχIP=H5>@*>{(@+@J?*@J@*TR;x}Cϟ8kkWϟaT]嵳@0hm#o ad `aPc=Z =SmO*PvXA_"A/5$. N\lDZ=_M'7NK/Kã~n;]x/~H܎C{cQY!u.=l_5,7׏=F۹i^_M#GH)iG^gE3.UU)\*@͸au\@BMWem7.؈X`q>q>R։)Ѷe{h[6b !m5mb֖5}h&asZk֬f 6kS۹Y_d5E:7F͙n62t i\@ҶO@zk>T>ThhB>@١m miH>@Ҷ}}m miH>@ 艶yz@DżDкk{@Tz@mBxVwID Mihb遞wzuzǝ 杞 M4P1P1P19Q1@9T9T9~~CAY0P1P1P1P1P1@eGM?AV P1Ps{4M?Aآ~Ι^3h\&..ni馩n[:wxwxh:<=4kCmSgHj6ns"5u`4kY iݔ?>tY_ntftqScB:<k==S!4Դ{}hHhᡢ93k*vOqkh|H;@w>OϘNHfL'c3 ٌltB6cHgL'd3\Ϙ>+}@6I:!$}@2<:!͋NE'dy$#HB NHA' lsB69!~Nf?H=MxN&<'d لlsB2F'<'d لlsB69!Mx لlsB2$P!: `ΊAt*tB6:v*ne*t؈{ؼd^4͋7ã$鋍X{،ltB3fNNHj懶ؾ؈۾ NHo&qIԍ.!c*3/a n ]?MFy'cQ (Q/bΆ_gO) Fhd#4|<%6|l@,MZl,6B'zlBl` j?qՆ7ì6|~ՆϏV>?j]wYv8jWm]:d#t0FTИx :zFyS1?lj-H#l#KtC?~9Dj' 6|~Ԇ3GHm_ã6|%QngFm 6|"p=$x"26IИFhF`# Y@F@Ҁ4 4 d h@H@Ҁ@@Ҁ4  i@H@@Ҁ4  i@`4  i@H@@0Ҁ4  i@Hy@H@$ ԏD@y@y@y@ Y@ 'Th@H$,3D41 I @c?sT?Q8?QX{tCB@&iH 4X6^p~M`d iM,>dܣ_6hUن 3yG}`Y _>{ܣhS= ƒPE8& eQфHယBE@(6dPDX7Cº[K!X(6یX(ьX(Y +&H)i:H @:.Ȓ 0N|P3.aqk# fn*1hG&j =,Cq&PC @jHȢ r t7a} |1m ny=p9 $p)<5㯋}h h~yÛ Is"kN$d͉95'6'DBҜHFXs"!kN$d͉9͉95'DB֜HȚ Ys"!kN$d mN$d͉95'DB֜HȚ Ys" oN$d͉95'DB֜HȚ Ys"!iNhs"!kN$d͉95'DB֜HȚ@ڜHȚ Ys"!iN#HZuRNʊpB;0yH: up@61:!1$$=1$d%dNI~B]VX !$3P_ ~AB/8 iд+ DP[ Y !iP8?Ҽ+@Vt[t-&HhȊ3|λY!݁{Y1dE8$*Hd2?F?Y!J5jd 5P#*6" %c %dg %d~B&~B&'d~B&'d~B"'c~B"?"~P'/V_>tn{4~qF/a~B&P#oM'ᯏd%c}B'Ԩ5}DvP'ԯN_7bg%#|tB} 훸LQHz TR> T2ƄzTRH\RHz TRHz Tȅz TRHz TR~Hz TRHz T2>TRHz TRH\RHzq +)b"HzSqraH}O8VXAVcY?IΛuh+Ȋq +Ʊ6ig:0@TxgH;@8I$AV{{Q.8@AV̻ T̻ T̻ TH ps})+,w-k4:)yǂ "i|zHH@R%%wڤ&x|2֤_X\C^мAżAE8 TxH@#b޾b޾0#D *FG$%=o[P1>")+G$eEX^yCFEExLPӶ(vm mqڶj+ STNv*S TP۩X> mbymNv*4Rtݜx"TiH;OEʊS]b}EqmQܣi[жPӶX7ҵ-֍tmcpVK k[4mYE&~@Fqmh54ևF mhiChx}} NG'dtptB68:! NFGM )ґ HltB6R:!)NFJ'd#@:R:!)]>lta1 l u@>:!CNP'dc1{3BT_zZu} ]]BX'ds9 luB6:!c dsO"6:!jP7}ہ緷h<`hCZ@d 'gXߙ~ra~VduM> f]?M؈G;z̼^_K~ N~}~4~ NȆ_'dïm/nGb7d#H` n'`/wi;O>?OvO^!`_ܣna/7Dy 5t9*yFy=y2Y>4yje MuiHS@v92TG@O ʠb~ATeP1A|PA=q8 *,2tP|PAThB#'eP1A%4`2ʠB@[nsHDh:# gٌ`43FX.#e"d$$/NF0ʏ'2@F0Fh# c#Y\F0(_]h# d$0E2FhbcE0FCh"X# d$S(MXR"Fш`4#\D0FS;cd4 D2}HFha~yyaG<FdC0}0kHF Hv!gB2JHFbH $`{g NG ѤA04FsH  $s%HD0FH` ."p~Ͷ@2рD4 Pm7jqd4Pw!dXc2{;iǿBlɈq?'ӘקQo~0b͇13~teOډxiÈپ~5oL?Bmɨ>6`e}2ߙTEA_'#&d6k|T<iK9ᗝ6Fq|0jqmLNrܡswpz7/|}'3wݟsF@R'<: ; dNxsèH@R'|@R'<: Nx uH@ȝ@?c ?RӁvòvr\*M1H@j̯7/mGS_~4rM dGS7.}v4FZrn_Z_C!@jR{?~L 3O}y/*Zܣ3/Pmć]Uo_ 5g;P6~Tt1PܣV]ܣV]c>&,P <@u]r`z(vuT#(n{hHc;4F$15SP>w0 tRf 2IT'EP1A|RIThH3Y h2]2kfDc 4A <1&mP0:HAih)޾ 5P`  miH(yH(@@ 6P  m  miH(@@ 4PNdB)OV 2 iH(@@ 6PviiH(@@ 6P  k  =dH{&@3C! !C!C@P8}'=3Ӛ =~h~㇨㇂.v9Q1gME8~,"*gEE] =H"EDEgYD0󳈢›@ڬf6+Y YD"YqG߬X )ETO)b~JS(RDx"*Q1? mVih~JSR~JPӟxPLhF"ET/b~~ڒ_~~"*Qa/b~~x5 m<E@z~ETh!'/b~~󋨘_D"*Q 5 S750#aFT3B3 ÌfD`Q1?̈ m<?/dm<iH@xC@x5` m<iHyH@x6 Mni{! o/i{H @^j @^ m/i{ x{H @^ m/ m/i{Hg  m"͛T̛TX!o"im"C|:H@@D0v;$݁  ̻Q iwH@uw`!#y@͕~*J?е0lVh%FP H%| HT Qѥ d*վGhR=>"PQHTHjT2FjDx"wHr#j=@j=T F_ H9D? ϩ*sw{tn<1[ PmPmrF꩘ TP9 4^\OHdLOLOLR9>!9>19>!29>!TOLOLOLOLR9>!29>!29>!29>!r9>!29>!29>!29>!9FLOLOLOLR9>!29>?+n0>Pc>+DQ>!bϊ?+LOhϊ۟2=?!2=??+ퟐ XϧBLOLOLOhς۟?+n@B@V{Y1vgcVT[Y1vgŸU*HZ Y1vgŸ@ Lӟи!Hhl k$4S66BXw !@@OBzk !5@2Hhl ͻY1gƟcVmY1g2? b* Cu2~Bc~VYa}yC + @2c~VYa歂Fdq268!E"NȆ'dӈtqB68!HL$NF'd3$ lpB68!@M NHFNH'a ٴlpB6o8!8MNF3 lpB6w8!]ϛ]'0g`Nf0'$C/^|f@ 6$CPk. l.!/!OB2bWlbW69! ԍw^ww^w||fsqfsqP;zوONF@'d3! dl tB6:! M>ɊfV,ltB6 :!̃>  dCO|;z}ͻ=|(&Td,>dH56׍t{t{\>}@2lsB??5 ,h`H @X,c ,i`H @X @X4 ,i`H y`H @X4 ,PX4 ,i`H @X @X4 ,i`! ,i`H @XB0X<@dҌ<@8QҌf4dg%4>s(+4dyF!*< (iFH3 @Qg(gBO#JN#JH@$$$$$$BT(+*44O/P!酋F@󳍲bebe¢ 0e(F4ʰCDG(F$p[5h:JH =eb|QVAG AG AG 3 ThFh|󃎲b^b^ 0^xAGYa%$QB@Oggf?/]F2 0QҌf4< (XFF3 @QҌff4 (iFH3 @QҌB@QҌf4 (iFH3 ;d4 (iFH3 @QҌef4 (iFH3 @Q3 @QҌ<@<@<@EQK T Q ' T T T Th> X>$P?'=*$PcuCTxH@pҀ<@<@8@<OЀ<@<@<@u`*晆x"@EiK TH$pqyҁyҁy!*,p@M$KEn(6"j Bg8&P! $Pf(@<ʇ`C0r0m[u<x$"MD`4!WȢcS{`>! 4<<;D̓Q0N?MD<6H ]*t{qT]*Su≩TtSu]=1Y {@2Lsϥ"D=T4t{4t{0݋{4u{d]fn $ua#uuda02Ld~\ Cԑ$SrW $#s/vksat~.= P72A>= {@2Ypdn6H7%w}7)=^<$#sHM]>NɅ)$qHg,_ݾ^^~?}sWǿz~ {zs?_q_|;s{ߘB?_`_T[&/w헻mwּm}nCQP#ly=,ۊsvןxzio}޶m;vs9տoyv ۊۊFoyvc[Tqzmn?U>U>U>oSmf[s[\s=׶můy[_mvv~?oVޞ{[g[v9?϶ϟ~~N}z~Guqo#?3/^?=og@o'#nӎcߡ_+^wU/[k_Ek}~_oG)~ w)>?Wlx~^O)^.><ŞbOwb_Ş/*^ӯcU|gYΟOg:u,Q|?Gx?>^y/^u ?ދѷu~+^RPP}?qx+>/sT_߉QZ) \??]q?_[_/qpol _y~>~9_>~~ :/pw_%:/~(.+LkR??Wŵ_Zz._{\֥>(گ=.UPR[Rǥ j]~ ~qZm]i,||s;AqaZ}?._{\֥?ȟK\{\֥7_ߥkKԺ~qZܬگ=.UPR_]jTAK}s~շK ̺?/~qZn/m~aZz}R,u:{}=Aǥ*jYnگ=.UQR_|?.ǥ*jYu~(0,d ~^c Ju^}kKUԺmsg]jTAKݿnW!=.UPRo?|R.qmtĵǥ j]uvǵǥ j]uvvqY\8J.yQ._{\K}6#ĵc*گ=.RRooe]jJKݿ>nkKTf~q*\5گ=.RR/|گ=.RRoRǥVj]vF>Wqa*}&h._{\j^<}RsZUuN;}FK+L/~q*:yVAkݿOk*b_{\ֵ^_6k*=UQZZǵ XmH]kVAkn.Ϋ*b*b +=UPZ?SZǵ j]mkkUT*b7kkTiJ+S,r!TAk}nҿk*b͞wZU_{\~6ߵkkTݿFJj]rתuo]z\`օbu~qk9ŕɵǵ*j]~תeg͓kkUTJpq*z\JZUu;ǕVXv;_{\>oZUv&VAkݿN'*bIZ}?VEk,_%qq*ֺÝ^J+S,t~;\{\>> *b*bHk*b{$=UPZ_/gkkUTz\{\^?OBh\z\ie޾:(*b엿k*bY ZUu~;ĵǵ Xrq*<\{\kv|͟ZUu~;mkT m']iJUkQ=RZﷳnZjzNZ+U(qqyYӸJk.i\{X#WK~,i\{\hlg4=RZolZjϗE7kkTv@ߵkkT"UĵǵVZv^jT$ʵcZ׺%Q=UQZoyVEkݿ^Z~DVEk}~ =UQZ_gIkkUTz9#/VYYBUu{;K\{\^?Β(*q98^3a 9,E`s؍ov3HR5 "*+{ͧ&O,:IiUpX!qVU`-S$k8* qVU`%$N@Dݹ kVSw:%iUrXVE㬂Nng\Vh"ȪqVU`AdS)M㬂ȦRYWu*)Jt)RM㨂kZLVJ5Wqd8*YWng\V,iUpXmIM㬂A*aRpaOI sOQFHc2(@BJ$$1AV+ !q $$1A6 !q‡^v!)q r {LPC+$ yZ8Q=&HHc"\B=&:H{LPi$$1A& EՉAv|#%1A>RhaHf NG)q huI UNv)qǘI )q r^ {L*/_Jc V!%1Af EZ%S=&bHJc-)@Bg$$@2H5#RiO<=$Ub˻Jqץk)'PJgZT5LHHc"-s*@B1HHcrR/{ZVIcyZU=&(/0HHc &%1Azp9LJUbFHc2$+@BAJc\VI %q c U Qf Ւ0)]Jq {LPqHHcYhV!q r^1=&iUTIc|Jʂ*{LPo+aR0>1A)$V)q*H{L* $1Aީ,F%1=&+0IFHcN%B=&(e@=lD9JU U*CIcpu sX"%1ASYP%q J^eA=&(* $@TCIcB=&* $1A1DJcZz {Lv@Bu*$1A)<,dM1DJcҡJJ*{LPT:TIcڬ2JHHcaDJcrPP%quTP%q rQ s_trJz1P"%1A]TP%q JIe=wYG%q rH{LPUQIc|2Ba:rTd=&UQIcRRJJ9*{,PH{LdQ*aRRJzrH !q H{LP(SR J#0))G)q N9J{LP/=&M:c %1ADRK%q z⥒A+8Ragw/7s%Tnsk{5 >e2wӫYT9;XN{\$?]W? O x0oG_vm?$j1;N;.WqܗjwRlS}*Bnץ\5yY|Z6Y4f`T2ǷV'_uWW ӏ(;j=7ԟmS G}~a ;eW~1pX`kr~Ov}{elu$;WWL5{e`U,_ ,83? KZ:{n~WXחXlw7ÜrͧCOӤ]?cu.aJwغul\i+Ͷ~TƾR VkytܟqQ|[׬ݬZ Х`)\O #kAK#SM80AVwüwT%U wէ4Z-!?(m0Fowx WKec<zP( 7Qo[tԴ=k95۸`#Ti^-xrΡ>߯eӻ 4hhgd0i%O;|ksqa Yݲ ye:ύn9IEGa菰VX-Mjjc8ݟf 3Sv3Ibǽ9q&y&QH؝KS~b~zYb1;<Ok6&:G<&V5~b]?Vx^7pZ,A50Z>H;iX?MۆMՓΎ#4xq.4-5Fy;Z4= =?O㧭{ 6%~>ja?.;WBnE#a~꾩>ͯi/#٫N/p!F[vBko_b˻ok8Ԫ+jSJ@=~f_^)cA-R;q P͎WDe?_Զ8/#Yo+V׵t;*K*@nЗb tZDVm[ݦ;E<՟PVmZ9|FL·;iS] bG"Bs=|W_{TWAYuױ|~xVI.ÉpƯ#]:-1Pendstream endobj 534 0 obj << /Filter /FlateDecode /Length 3354 >> stream xZYF_! Z@LGy.A`h>_U5gX]]W}*+5LytyrDL}G#UIM&U5AiprM6JJ)^|YIh6u}lCR r4Y£ NԧxJg}>@6Wi.gqb! O6ww[? 0@`ǖ7v`=6&++ZiSmL-Z48W΄ʚ)*,a'}#T*2UTnHՏ\Li\~̛0rP=r(92NC%z RO֘L+`X]Y {x-xlgHhiG|| "*g+*uܐJWڑ!NnE]ڑ+ed9D+8TdSTMrFkA3EO]z7pߍU4]FA}:*xuҶ MڰW?L':053`y%$ ce;LĺO4_@8J:MG+Erʔ ح^",h9nfPFa)O"Q8'!3U7T wtE*EvcWƻ 1lD Y:ce[ eѣSL[H8Ww>Rcw, eFy=R A)e5U\Yñ[pL*gD )͕s,E*Ҥ"1-mUtN(+( ra0@n_N@,6r⼈ g pxJ%rA I 2vV}w 5-`;Ud%`AmDfGF[FȘEhȈ][Pl*㏮2:Jyxu/1hl @ M15BFyuЕRiSDR 462 D-#-Pp SQr N$mP鰫vٿmDU1fe, <$S$#" Bpjyo\CO\5ЁhӦm8 G*s3  m%0jIc{@jPhn*h[9FQ*:ͤF\B$MNƨV!XVU"$xBxVC 13;=j%IRLrJ1""R߸}HGɣTtM1ie(Pp!R:-ݸ78Ĩީqc4=.0&ǢY<84FE*gIzl$|F.S]*񘆑yg1q74aƥtN]oS E^hgPɓn?mA.DQQ{=YDIrY!ot(]Q;afűt=F,o#+Ɗ[ƅDŸ< jWst6jv(?ؘdU"Ry$C&GˌSљ!dɥhԵlctxRU'3 yg*V pAyԏ !TJsZ8Ʃ4Vc7nJ < )1RQ"$4ăBUby>cQ >XkE;4(0~` MvL4PsW_Б%]Z*LYs3bI!t"_87t>Pzk?43|\Kϡur?8Lh{to xV gLAW&\as 䕔hf@)Y#>֛9f _E<2Hi.Иg#`Njbwfk"ŷ96, B]Ks:e&j8r]^oWoszKy>?%L.̮x̵F25rbzڇ5EX7 Ms @Yo ?`) a c⋜ȉJEW)2V{JыOo9>-O0N-4x#Q6!Š xqkUD탘_䡭ױ̪kd쳏^ jWSf2j7bKxW~䯬⋎hǿi[/k~Wk.mDƜ+]9k?aFO{2٫r9Hm; >:OY3.q3> stream x31ӳP0P0bS3C.=C a\B Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1PJOYbG 0 w j`hrTCendstream endobj 536 0 obj << /Filter /FlateDecode /Length 179 >> stream x31ӳP0P0T5T01S05SH1230 !U`bbT052 XD<=}JJSÁ = ]r;;66@\9y@-vv\. j+.t#)n{Dݮ[n`hrTc;L@endstream endobj 537 0 obj << /Filter /FlateDecode /Length 334 >> stream x]An0E7 )&dѪj{0C"gtGz73t9_Ҽc[fӸ}yl95'7(OoOvTCq>]8VU8NS(8!Bcv![!7|cXSIFͭ5bƚ (Y7Ygzwl A(TɄ w$C9* "rO%b(GIE>  DګO^,rPT@ǃ zo+KTF5 &>Ӯ!c1'uY唁_endstream endobj 538 0 obj << /Filter /FlateDecode /Length 436 >> stream x]MN09EnЉABh4Ҏ f*,XTK_]]lڟ^e棾_>Rs}]nt7鳼M{wϽXP[=56\c^kw7 nYrWO!{Ɇ7)xĒsnJknJ=BP@:c40CĘ%D,Ĕ%`!"W 0 ƫQ`#쐀l$ 3 2 QPTB8 DLrpoDר{#l" Ftil i``c͊} 6֬`c͊} 6֬X06 yM0pGfi832 rfZrP,7) /CB&DH1p E Dp%|?/Q_ź/lC~endstream endobj 539 0 obj << /Filter /FlateDecode /Length 3847 >> stream x\nzrEkf·HhТIj\m+C 3H^4XX$pwSQ˩jLv1}H:V?_3uQN'V9 ^ƩNW̮ja_fWcO=:FW}mg*QUmwn7^B|RI9qwSk7}A6 `!7AJr>UexQ DQ:=6v>`'ՆCf쮹j(lkVOvWϮ1ӞP=ANLUf;Npzh:zvZۓ0@j}Xݶ}7PWwKx7Ś--umMTLxSm@4T~FAVNL)KiL>?+eU6(MݵW a@uR}mwD,X궭rzT-lvиڦ LCB6n<}׬[8]g݈4WߞF"XN㲻-y!dydXm~8xvb@,WG#OCHV%Nв蹝GH wp7ݐX7x8I$i0FݍjN?w{xq?lRSI/ayGRxi5rH+Ámړ|H<`ׇo% Ƚ`w}YUd]Jr^z")HSmK"I i(Q85}qP F%'̴[!5(ٱHx"1o2G :Zu8&L&g qAlA6SIŬ095BjސCB[>bwL~bI\(E ψE('9qPFxEEht^nŕr5rgY\f< Xv!#b _BC!ܿ\$F\$G䂺Ϫ] IPv 1]A\MGmTY&u69#0Cg[:ag_|nWZ#MK`)9DY3FlOtvo8S;4bvCr1wfG7}nPњ43JGTR; niE3a);IK]({ ZHvI|TEUapkID"1P Ӝ_:0 cD2zfOy"[RX{,>7g 6,bٶ0zߜDCvD.'.X8ԛlnsq_=<u>Lpjj,j6R`a1Szm']$wc܅g35I0SCi]jaP~DfR"&tcV nHvVRfm5j6 }]oT 1f.XkH!aC>Ni#hOU-qLqRIf$P+K/oe.L1GṚ`!7$ t/dSdG0i1Ԍg UߪJ'eNY`z5НQJPAVg)fgvCT`&s}^}vbj6v3Sv\5.vs;\D86vPu"Ya>v#cKDf4#c(Yʙq0>XAѢy_ӊԨA:9}^볻A?7++}~SF4hA?-7t'DTWAPVM9xi[vS=sSWvLjM"`TL4VQSXV}6V^cy.䯑aи.-lkHjYSK_VQkci,`^[AAΡV*C*d 2*z7Q)*+hzCZGٲmy!Cy1*{p|] 8f#€Q$^o'ղ'.AJ DV"EDE PjJP$Hih A :jMO/@Rs*P+C+ZE@"P̥hXƌi[ YCi_h9uM5 EijW$オyW+"PpN2vD@QתLxkDl~Qo2 qLjHXzӎS&"UJ*2+uBJ,ڜ^W珍Aeښ}| Dw`p0 &Ӗl|FGz_0e|f0_F3Q@>`6H>`3ަ?*Ft?A"(j,҃e珠 :> stream x31ӳP0P0V52P0P01PH1230!U`bbT032,ɥPRTʥTɥTƥ`ȥ 45KM V8qy(-x4[H !C{ _bY[=rv[aC'.[?02pz*rLendstream endobj 541 0 obj << /Filter /FlateDecode /Length 372 >> stream x]An0E'RMɢU`L"Ytŏ2|y^V?^}Osјr n-k~ą4f~뮩&eHiT:1i6W1!@<o1or5r@  = @tA<۠vD4HUgKgThtθ١FN|Y+D:z _Q}ψ>ղWYW+,W%@:75#1`e  1rF ^5jAqGO<|\ۖ]U7oeeUèendstream endobj 542 0 obj << /Filter /FlateDecode /Length 5494 >> stream x][o\q~篘a:%H$1l$w$qvHf3s:=![U׭;ec&1^]S||0\Xy?6-S5n~h_'єbw[.|rbzŻm|c17.ɘ'~LSiån=^/ŏai+&ۋaeswq|n/UA 5ɥ.MmeJnmws~=gE7᧚1Ok=p/-N!6brpu^- \HuΔMLI-9B0Mt+9n .{1)$|NC?|H,:|G:'WekzK*X\jBd+rBj\R6sWoYR%0|:R-'T`nI[NڂD ސ!B%ORdF}˃|0`Zg΋U^<(k|9Q%UxKeyh~r_[~40&|?zqZ{7~]q2,[_lod_cȘzFNB86ƲGpUS u2idhF&5cG0E{]X [ `ԓ~UIfy/8_;FE-]_#yfWS*;m'KY@Qx(yRJC8Eh)zԑs 3T D>5*)-ru)Kp8JVNXˆ?cMՀ+lT$O~<<'礳f W J.ꬹN?TbS,4wS B?4N:)I#L.c/Zj߁?!O )RZpHU{^G>Pe))p0yH23$nUPH Æ ڢ+d \#DģY$ې:: @5kh|*hl]TCvf,7q-p%tfżFT{W%-ٱ&jHŚ,C!bG?7- dOKˇ#B(|.~8q[#Yh;䠁[j\bWa#YKC(WYɍ1}8fX++nhF,c}wZľH+:u͢\=}^;C UdKZ^1ANlX'Cѷ+|Y<kƂsu2N*зWuۿzIwrfN/gޱ;#P;8hGe`}N*۬ $6@8ރt9:t|#ŽӞ[#ձV'աH%pyG/H- \H rFʱ]*msw.!Kў[T-*~rBUjl,jrJW:R:rN0h4{{F'8K$sY5pgPQFs?3kOgG'u|F6h×{Nxg1 p2\4︱'D/ Q5|9<]sjguxZ^A Cr@^83r傌Kc/3F2$z6=urM缡Yӆ.*)PL;#XKppJ-/MvԐ(:qQÕ;:@'̹R5~8 ʝɣ5D9)FD)a |4N ֍Ι1c`Y}@Ru09~)Ѧ_˰.J;!An(H K(t(9":4$ш'H.DCYj0rgBU"])5` C$f4!wLQC;%ʀ%<ݥ 3UPr#6zQ_3ܳZԞATOA/&/tf @} :Z"8D ?,s: p?.ӊ%68gIg&:\T/چkgl\G_E;),ȷ.0,ybEۈ!cH8U w# |Qrw](Na~7nyyO%o/-.o毄K^2_o+PW~z~yoy(?w?ڇ)[,/_O7ן2$W,sn{w7]+xojϏ^xY|wnۑۏ̿fwoz៧ی-w/}q["|S`٩U_> stream x]n0 > stream x\Yo~ Ku"h%I΃,Ӷm33䐾#0޳owqYk^\~]+qeuz3B$QE>{jj9+LYUa}vzSn^͇SK󷛻O|L|syb >{l77Ͼ^y(ޭN~Xl+?ЯV(I>Fr F[~ݽZ{cNa}*[Pl:TkQɯm ʺ߬k㢲QWe 6 ;ʪ9<؋-Z\|pJ@ht?p%Iil(g)IPiaj_.q 6J9g6q}sw[Hm6C=SY:RY3dQJ{BLep{zݼ948םFe?.æIyk3dPҧX2 ۅIAd>yF$f[bx\{Ƞ @ra7l_mp0XRo?ڽ QBey}r!q=lQ(7*t*, V݋>+PޫZ%@BGIYډ̓)k&&"D*Ql|AMڶh4If˨u"'6 zcrg\X+W;pfHTy\2P '0]❤ Vz_Q\ˈOB=pf-|HGkF0>;c$GŅ26VuĵUh`RE3lZYo>! /N]%L:_6sLD9"u3Iv',+)D2z|:2%5 ԭ&Qv*ʗYB\Yuxd.|@<:.[O1T+XFiJ#s퉢}c!y;>3F`(kYA!l|ѠKSFB<21ZkDg9BWp .ĜtaK@eN/cpyU89WkU9-.>.v>YJ!2>HM/D)8&}F_YguHUeqVCA0 DzS\0tw[۞yވXsm?a)Ζa cepm@+܎܂ *Hw`L,&w-B*if5da*4fӞu'DkogMQ{Iʈ:y909 f$<T2f+Y(\^y9P{N.OųR⌎ъ]lCyTBY#ҍgiPg) X8-^^Qw(dPJ9<&Cer+Pk cŘۦ%`DANłgggۘe݀u#5 5BbBE1]eq 3"b{O\RZ.:u ^u#=^BH@B a5$o֏k@L{Yc0XxHj(3]PJ30Gzi'Y2dc@QJV{򆃘Ke4&p"{ S\?'o$Ⱥ~+p=\Ԫ⟷^5fǏ缧 ")It\vw8񻒛yeͫoz\nz o.nOdY9'HQuOO6y>E<}.> stream x31ӳP0P0Q5T01V05WH1230 !U`laT01LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[8猎@?m*/KײHF.k}ȯ%_7wq]߾~-z;m9g涉f͛ 'Rendstream endobj 546 0 obj << /Filter /FlateDecode /Length 154 >> stream x31ӳP0P0TеP01Q03VH1230!U`dbT074`I'O.}O_T.pJ.}2.}g  45KM V8qy(tjR䘯ҁS! &p2\endstream endobj 547 0 obj << /Filter /FlateDecode /Length 154 >> stream x31ӳP0P0VеP0P03VH1230 !U`dbT072X,ɥPRTʥTȥTť\r;;66 @ܼb;;.O6>5OYĠ+:endstream endobj 548 0 obj << /Filter /FlateDecode /Length 381 >> stream x];n0D{B7 6N"AE*, ]Y)R<Zrgm2}|y|ܷ!KՙzaZ5~Ys<Ϲ_]9.c}[|ж0MrbƂ>BwHB0b!؎:Bc!X A'PMTS%*ЁDVSYBe*DVS9Be*Nc8@e N:u8G#א~GbWzm$=Tp͞J,>*(fH QÉ(DZ*PVĈW<9r@(Dhys@bo<ׄĕ|n`ۖ%q^jjP|ƚendstream endobj 549 0 obj << /Filter /FlateDecode /Length 52516 >> stream xM4[v^7z]UYC0id x`xD5 &a^ODFYg8 vGeUfyzO_Ͽ/Z?~^~^?>^~}|~/B?____ÿ?|׿_~o_{9쟇\.x}y㿮\?߿^_߿~}z_ż_i0!ߗN__oJ~p[_/J,sMȥ,?}??^}.uYb_?~|^z/ߖ y<_Ora{Y׻޾ǯ=׋r!_z/_v˯/{Smw2X[k;}0=r)z?py/wvo޿^y_G庾-o_]n߯7{˅Qk|/wC{oo7r)@ |~|Ի 9¾}-XH<}\|-2Y)|Se)\Sp/s ?˥r)ϝ">&5? YQ,;/o|y=};ϗss_h>__=X=B5?j>_>m9 ?!|~>ߖ 񥾫~o xzz~>O?w>ߖ<~\sg|3]?>oC>^mX.<+?y>_}yRBGy_.H/O!_o>ߗ ;~=\?>xS?>ϩӇGY s_?>?>?߾O@AE|z:|>K}?X?^-,>矯<93:П_ߞZi?&cy}MXlWzV@}< =:>go}ҟٍ}_uJƾ/ƾ/W3}n1ϟ˳c.2'< Yuv_O_߳\|.sy.j~.W3_˕~M.ky<ׯmr_}-O/kZ?fw{yv~D|//߉庿gw{_19{Qu,3{,9?3^,OogԟٍY.krc/Y&O~,W=gG<?χ[_g7}G}_ޗGGٯrqOі cyt}&>>xL<cyh?~ _i'8}<?N<><~򝿵<ߍˣ.hy?~.s镾K}>p_˓~}L?__ᖧGӿ=?{2||/W:^As=T_seK=&>~K=&>~g闲r&7vϿ9G?CfzhK菗]_N|.D ZM{x;?k&^t_]=qmo7~\o~"ON]He!q/'A_/nPӹoTPc>O?95k,k`r5q >^Q%BcWaQ ] I@k,aɄ 19k h(8T) gPaY &КX@kh5SV75ɡZc í+L5 .L509_WZC ~1L^iM/L509ܚaWZc fM2*0y50Hpk_ h4*0y? f6L*0ظ,@;q*ēŸ8ȓŸ=1SSR`b7z7z 1o􎱗~wy";1>d.eˎwc|{4z{;۽Nic7&v~87x7x4.(l5^vLGYiG$v֣y;1iٜ^g=/[[[QM=cEڹ61~B{1<^g_i3NgC;1 ;h=D>&6mg/:/ch':zwfo=gS c|w>dI_i@NS W+1S 62fv d|^n@ƯS ch@Ƈ)+Ș) dJ;2v d|^n@Ư)1S  {o\LP_S{bBA}DOt}Ct0HEP_t0LdnDLtlmm@( R$:whl06/-I @".5] =Aj%JDM4tJ0VHؠ(`0xRM8rmI l&%&jk$а5Z#@ 4i/I )lФruCgݐ@nẙ"ȄEuHYQ%$rCK"$J"$FK"WwK"W%cXI$mX6, dMOW͏4m~<n}0@d@$0G k}G%hQ%5@V d@rH+=Jt@GI ۣ$=Y#=qG k}G k}>Y#>I#>YH[ZZd0d@d@G k}G i}G k}ZǵYuS4O{a d@E&L#LZch#E(Y"P;B Pi#Фq9E&,Bha PjG(2a@U &LH"L;Bv"ԊP@#E PE PiG(G(2юPd",B"ruI[W@c W@q]pdm@w}:g [-1QGz9ο9Ts<=]LuR\0) Lu/`B\<@=:`B< Rd]@j8چ%v$D} NDDRBe2bq["@}+R? "h(W8tY1ԗ% /R_H} ܗ/R_dF} ܗ/R_H} ԗ/R_H} ܗ/R_dF} nAyyКM)ǕubL=2alh{cbL8~3~3&|ScxM66 $͔ȴr^S)hVS9rruntV и!{ )lvV&f_Y| /y|ˑWο^^ӳjM ,緻X$뛠m~&nYY6Zmj V[ j%- h14&$Ów_yh k\bO;2@ MJ &IH0@ڄ7a 4&%n&ۤ# V 3LA ڞ g=홂= mY{F3@ڞ)3@ڞ g=홂= mi{H3@ڞ)3@ڞ g`=홂f{֞M։id ńg$_28IDa&&aOM&cxH&@=2 l1d4)ٜoۍ <'O $yr},r}72)Lh&hR9M*GzN9Szˣ@(LhGy&4y~ ˣhy&y&y&4y ͣt#D;@?D?„Qy< Q4y Y4l ld ͖MW0:1)iH$@8 t[N&<[~~~ ɖ\4a@&@4Ҡ M4hRM4hA hH&yH&@4Ҡ M4hRM`4hA iH&yH&@4 M4hRЍHD:qDÄvq]&+0č.GT8L٠]&k0_ #@c=1#- 1" NMjt+A}„ 2 !@*CtQ.C !C&2 !@*CTtC0і! e}„F/L R2He! R2Hev.51!@*CTevk&n8„ ]qHWGASP_l0bH @*6 rbH @*6 rbH @*6 RbH @*6 rbH @*6 qjø7h451ml4M %P4Iif{Ĥ4} gBs $=L %Ф'sYOF[if&=Md.Nz2= VcMv9}dο֓ 6LqfcZL&]a_Ʉ`Y&hyQV 4뼜/yD K ;/v^2dyɄu^;/Lh%mȶu d͖@fKr}ٺK %YIe+i?Vf de@2K)\n4[ _Y%Y϶lDْ i\]sɀ\Y%\Y%\j.Hj.aj.@Zs d5@Vs d5@Vs d5 K K  \Y%\I%\YhVs}\)$ű{s`=րU\`,#0;_ LR,q:f4`,3Ih7aJ-f8,q_p̀F3&Ɍ`2`,3Ie~GucahF ( _v;0 m0u`8F/`,yc 靀/3K\.W=_`,]c Ɇ/+r|cLbhpfKI a"0-@,nQ-`,lcY . HЏ`/` K_HF&0|+`,]cb xVXƂ0XE1Pe*`$Rb  Ty SX0(E1 (`,Fc)  Q PXF D1Aky$[~}&>/։;F U @&MM;!P&&1t@}D_60h &f eOuP1TFm#GBȌL_I0ND[ $P_D  u@*#FtD7|=!FH: V`%b&P9vH RE/)[ &bx @j*ƪB]ʊVR_H*΂@j-T[RqQ U@.L^R}Q @j0TaRQZ @1TdRQ @j3LgRQ <~ L ǝ?eYhV )fR 9Ť{xI)d5pmr:bR̤r! mb&e-uAgUbM2)fR9to3)~aRdwәZ,R7CҢrRBEׁY+GK!h'#&(;8난.֫ WH}bqy%xcL hpfՏKHc/bQ??F&xwb[0 M>;h|3n|`HKhi7o09I1F(F+hc-l}F1(FXWjMF1(FkhK-iъF!(F h?g팕rF1(FX3-fQX1?_=Gqx`b}_'*Pd+c ʼnD?aQ7LhH@~-6f&4a4NX@H"8&9ݷEU01Yx'a71^V`aW1jF biH@Ā1`Ā 14b4LC Bt?Qg ]iHs@ &,q}o< [3Hr@˨˛3 aCj/Ʉ'24ޮ$J2ޮ$(`@@74Q74 nhpHypH@74Q7`4 nipHypH@74QЍTP+uBab] - }D_ „* Q(קn>e B U(@}„*BPR+BaB(@J2U( %@mQ@_0%LhQhG^aB%c52kӳ&E߰&L dW 6/jZ5agMք ۴$P_Ԅ %@*KTe!mtC0!Dܜ,LFRB 6VTe ,&s28F_0(L5 Q kTFRH5JAQTF2H5JAQTFRH5JAQ`TFRH5JAQTF2H5JA}꥙h^B!ڥ&LXi&fI|,Fr Li#?Yzi&,ri9?My G G ʄQ1,D{L( O|G K|&>BX#Q @ֈ 4r~(1raQ rl7Yz#7Yz#74,Ha,@d@d@d KoF KoF Ko7Yz#7Iz#7YzFzcy"zxa]%LK0Lv &L&&%Lj`2]DÄhS%L[ j`2a%@L&]a\N-a%LK0hZG u@:L}u0ѪB u.U .ULjW]pH] s0: rH]j+RЍ?2^#7Fzcp:gѮ0H-PВv%BK&Ԃ.d@* U"@DTJH* S"0DTJH* U"@DTJF* U"@DTJH* S"0DTtC,A4)T։ieɄZ6H:,g,&&ZNN&nZB Zr}}^2햂r}"Vu٠I|n[ R[&-}„T] z/cx{/^vJ \J[e -%@7z/LH`F 5b`zo4b5b$IH=$=dvG^GߑaB:24Y&sxbB{2@ғfƥj k\iOĻ5@n ҭ M4@ڠ иA  itEMXO5@ҭ l6hASPAÀ6hA  mi oiH4@֠ 6h  6hA  mi mhH4@ڠ 6h  6hAd mi yC%a&1ٟw35b}ej` } >ó=:R@3ـSˬ̍L LB#5ˌbƉ$0ry<G1(D#+㉏b4Q=ѸG1(F2Gk`x~CLŌ{,hip)(F,5Я@RXb4Q6F1Xlb4Q5 ѸF1XkYb4Q&5ѠF1Xi)b4Qf4шF1Xhb4Q3 pF1XY4cl<|P,w$BaE(F`B=I`BTMZ' D&0 LO hRA9X @}jI| D9=jx`B u@VAUPUPHjnx&Zohu@}PnT?RdFDA TBR HE Mҥ38:tf)7Aؠx`oPP@jT?RQ U@ LBR Q{ @j"TERQ@#THR%Q; @j%LKR1QP4<2}M:#0=Pց0c{HC$L{ڕ7BBA`l& X M̰`͏bՄ]`4ihRV< )yiog@mh3dJ ;F&0ڸtkpHjaZE `i\^bcH71[] vkb(ݢƚ0A U-`d{V$0VDKwY:c +N {Rz5* I`3ގn$ HR];I$Lgd{s9loiq?iiuH# &M \_KYr}3N`vx \~"ZRR>VV` mImm%5 YF,@Rez}<,$4 o@։IxH 4d+xx]xF OdZ4! [3.yayyH qB8^//ؓ0&)逸0g O`4[C4t?5ᡋ8 $Vq}4cc{Yb$MA(lMzǷlOb57ǰu7c5 MilHc@DA&46 MH@'% l@y Cꚁ$Az [C q 3iH @g376I'bM=i O=iHS@z 4 I=\<QE g<!`$q}IrK'HCf\7ObT9r*W&T9H* U@fktHX;@̴颽d{RH%7s*N$\0Meapi}PSp: 5@Sp:[30j rH 5@j 2Acɰ16HT=ۃp{H 0j r{H @jVhb=@j r{H @j 6#'*HU U @ڌ(cC%ow&`pD%\{ @/$l8 0O] m`~"P.\v3QP8|/ߞ?4d˚3ifnF fv3wi)Ą ru mmF kmIQc5[}cAV4,i4 [m@ )i\ 3FquDZAՍ@{^8U7:׷BG )tB:M :/t/ c~! :N:NBIcp"BZd@Vd@Rc -tBG +tBG +tBGA^d@V4,tBG +ti#:Y#:Y#:б1d@G mj6Fvm#=HqScpV$듵h#%6 dDLX9HqצF ijekLLk+|~'M*Jo5Ѭl{atIT*Y"*Y"*Ж Q\bMTDEQZlM MS4E KS4Eve#)__3Y4ex`&33ai@4KS<Wa,II@0Owb竱|-lH<ļq5LZՅ je !0C rd͒@, d͒@*;Y_"ݵ,2^",2am@}Q:uRdF]GA:uRH] M\ u@cH]GA:uRH]GA} u@}Du0`B]rFd&u&`:j:&uRn0odB-Z iK up7Y"+|ckr~ui\6Zio6€5Rn5bR6VJ1++;獕bRUU zs]F*h[-~u=zUkNK*;*5b uFAlkYF{(X i\^5R./F;J1?Iq$Jh _Y7RFH1Z):#hede1RFѾH1Z)F"hYOf)F"hSqQ5H1Z)F;"hEmio]b*R6EѢH1Ӟ_IMiKpW$R̬#rvH1Z)F!+ՐBRC.oDHmB ;`R@ :`y,_|P?߰Nt v<&Q<4 6i(aG&l@\8ڰ@\&zo<k`B@gL0@kH @`CA`&4  M0t#D;@?D?& &4  K0h O0iH @`&Vh`& M0i O0iH @`& 8hhHC @f [B3P{7&t7@M M#YF@g4sd{n=7ٞlK [2HS@j﹑ Gt#%4%d)hču.ahJ>ҮP0֠ @j 5Rk~HCAzh@~({@ݭ;3~hZh@j ր 0j rkHZ @j a h[ր5`BPԄ[ @j 5QkP[ @j 5RkBkH@5RkP[ @j 5RkPP* U@>&nPdFM4ijB @j'0 ; @f'`vYM sDsж?G ۟#D{&H 'e@vdu@wd ^Ca!M@=:B[!Dkh->ё?j2a@ 3m@V$ `}0-nHde@vdu@woho F aE@Zd]@Vdm@Rc} -LD LD +MDA^d@V4lND Niy"'Y}"'Y"5( HZcHbp k[jo-IbdhܲkVjE S>Ev"ҨQXbp i[\úa|ȶd@V$k`\cBF idioˑLL;jf=YҘE 矖뫥2Kc% -&ER. w@I%LRKԷ5H-Z @f)`RH-Z @j)RRRK4j)RH-Z @j)RԷ RKԷLȄdɄ 022/ 7@j6f`o6蛍h~PȺ&]&n8&y2ce2n[l:\"wHeP_f0їL(e חfV2 @}D_f02h,3 Tf2FFh@FF @*3 rd2/3 &TfeFMܐLhH@-L[5q#\D_h0BH j B @*4B&\hRBȄ \hRBH  @*4BB \hRBH l00a\#4P?vQj 0EA.'TNšla@}D_AԄ+`4\HEP?\+ !PDL?\D?\QSW{D?Mvt{Ljmg&CH=*T=BO w@SqSLRp6q`X\dDȜYO`g LV H 0Sqq䩸x*-TZRiQP]L }D{]L댚p:Hu 03 r:Hu @3Vh3Tg @3 r:Hu @3 R:H#@H @}iQ.-ɪ/'nH4xqytSq:-FE+r  u@6nuCt05d ȎNdʼnL @*<.Od&=iRHf-tҫ7ݯH^$s{#!̬?13aD@c!L7eN"0#@d0|ED;@90`!z: a t Zˆ]#r!-&'h'wsFB1 aD,#h&&w%2 n!LW-0`f!0ˆV3 AD*S#J!0"ˆO#: aD&fI#"'f:\u\\uu ^rPqu]u\CUran07Z* U@8.g8i/?ϴ U@}Q6TmRdjFFA6TmRjH M U@cjHFA6TmRjHFA6`TmRjHFA7} S0FMR$cslP_m0W5 RHFA2 7Psm6]B3͠e~Pc  ]H`Bcy,Hm @X2 XP?D/Jh4 4Q[ ~s U@P#D#Rj/ɀ l0[aEM4"ZҲJ 0u,jt &T\Rq| ؘ~肉~Q @}MQ)TSRMdF5EA)TSRMH5 M4j @cMH5EA)TSRMH5EA)`TSRM_ /5)E45H5P?D?D_`0EYnDMR O`iH5P[S0L5EM4c"P[S M LSjHB}E&Wd"@+|Eh@+}E&Z"@C_|@m_ WjL}+u}EWjL|E趯`+Bd"@+´}=_+2a"@+R_H|EDWd|E`B}E W2_H|E@+d"@+(}E W+R_|E W2_|0+d"@m_@m_ "+}+hL}E&Wc"PWd|E Wd"@]_DW07+ GN<3;_1:'_1vb 4_'S&bx{_1vb~{q1~ɝC;_1kWW̯y+'_W k+z{+Wv+'=NQޞ{E1?^QNQ.y(旼W)ibJ;E1bxNQm'"Ưw?2jb/"ދ"b DpND m/"Ưch'"NDAO"b Dډ119'1v"bEډ1ch'"NDB;1fv"b}Wډ1DOP[؉'1>MD4c'"`/"ZaDd"bx콈]^D4v'"cDD;+ѻCbxb 'WW+1S6Eѻ{Eѻ{E1<',EOQU9CW̄)zq ~ Sq SiH@8) 8P?ND/Nq qBy E,٪@*´WD?4-U*'U93Z3t{ULhR0+ f&$/q}' ꯽ڛ**XP?VQX*4Vd U UiHc@X Mb@X8V U UiHc@XEAX*4V [ZE& &4VԎU0 ~&:0[tL$q<77AցZ h32 Q2n2?j`1`Uň>ٶ"{xn5>Og_|3`5E:Ũ(F%F10 Q2n0QQbT_2wQb\3(Fʸ(FE1,QeQbTXBTWŨ(YRL_TԀzbښx%:`,WckE D Xh磘~TMf+__uŨ( E!G a^ N@Zx:ubR8IHDA -|Icq}sq̄4@aur:tC6H+!@JVB JTB6H[ @I#w=]zo8$}@V mviH@쀑fG +slt86Hk@Z6 6` mjOoul\:yH@7.F긾~xiH*kLqy7&- mI l \_CO"F/5Hdp )\C& TNj \Qr}J٠Y%d%9H%PbB ($ I ilI~&^&2 IYR7KYr~gyhV19^ʹbLkid{TXe-?IHb@ ]H#@kH el6E f/4| YSddBIuȶ= d۞8r%${l{ch}H#y}Ȃ0&д1r7LE Qlf'4<  KMhl MIpbtL IiH{"@H&6v IYn97&4 =W#?j~Gi>HkL%8qy7&1 QIl-V V\_,OC@f0$18[d\4g h\H@8NL@ݸo/)эIa4$@*ҔJ!j jl3 tvG~\Ҁ$4o,j\=F l37`ZՒ +JriM8@+'2[|"f2RLF 3djLMj24된VFaZHF ["UEYW$@+W_F ?֙hˋLdHE L^2yHE@*/d"ɋ@&/RyHEL^2yh8 1f aj#PGmn &Hl0188c:NǰHA7d=@CŒF iW$x Ih-}-P,4s۪"Ьs,M'3uoq: qaY2g"9@g=gœE sYc@NU/SyqzO̼zrzP{ӐL Z*H k\i mn֦!RwB0 i' 7 ɄD 4$Ӓ񏏕Dl@kcH>nG}׹NY nd^'PGAP:&&ŒchH@= =r+yiHCyB0<'<Є&< &<4  Kxh£ OxiH@҄&< %<`4  MxEHx0  Mxi07Lj I&4Q^`X'&Q zLG=jFԃ ۆ$Pw„N&P5$C$t;鎚tP/m k\;.AcyHc@Ҙ< ҘL{cLh#Hc@F ^Z@tX4QP?X>'kfi;u`L[x0 1Qs0:`ڦ`9j9h[Lr*3Ũ1cz sŨڀ 5`jRƜ) 30"4@g:l s02`d"F<i 0&1`Z`  0}۶5З 1u2mq@[-`ZCg`m,j/,hUS 5  q0j+`DV1E5-Al~0f'`rs0&`Lcb%0-cV-%hQFh `S0]Soܰ򻪍e")" d%@I ۋ$UMIz$NY$Pwv$ KI ۥ$KY$а]%@. ${<ߥx绔a%@VBJ )]J{'I i$NY$NI$Nwz'wz'wz'@; $0; d@; 01ߩJ(cX#%5Ru)ۍ&LX#%5R)ۍL)5ፔ@H ndbH a@F FJ&HɄ5R)h7Rh5R[#%GHJ($ݓ=IPN'{NB# c vOY$Ф{LX$uOYȺ'al?@V7 du@I&u&uLHdeH% cŒ@V,KG,cd++0V M Nir`` & &4? qB#yHC@(4HQ'),Jc+'&( f(4D) Qh RiH@0) 8)`4P T2EU01ۆ|,Kf(h6$/) Y\]4kLO;1IZiȶ 4W@hȶG(,04EM̀f*l@ Pi PiHC@pg[3&& f&&g{xGxjHc@86jBR';T\BC@j-'P3- $,F@(Fb_E&TDDD<;&TQwK̈́WR_L}}_QmI ۶$Z @c+V @j%JwK̈́(럖c> ~+`Bj\kRZȴj\kRZHj\kրQZHPOk}Ck0e @j3Z}~a&n4F ^ia_Y'f\CN c_+&z:C&:^XUP_D`HIA.HT 2AHIA.HT[%L RA4$7DOF $@*H&œESA>eFq8 8JuƩ)ngSD`6 Φl ȦAU@Pe((QE(Z;' LA>A>D1>1'0}"'0}"'0}bOQD OaDO":}iO UpEP'Nc&EP}!Hd)!3=PB _Q/:}[AqI*h8C,P\PELAqC(~芠Q<V9AqCw *@C NďDX WBTWBTWBTWB1K 9".*U!~".~A$~Vqbic103C@ @ @ āAAA110#10#v Fb @ @ @ āAA@*U` Ơ;1@ @ Ĉ@AĨ"Qba Fb #p FAXU1@  bTXbG@ @203= xF30"0#(1?ӛ&~ !e`D30e`g`TA30 xF30 g`TA./ a$0#&Q&ca2FP<A2'x2Fd*(#12IWt=cFAhFAhFAh0!!a=C=Cm4zFAhFAhFAh0!FUC= b 4zB "o tCq;*vUC9à;9TvAhvAq;UC9C90*9!U#/=fz`Ayt!-Z:DCZ:-Y:DàChϳ"gQY-VqGEq*qcVlL 7I8"U;TwX;`EP< w;ڣUPEߡ w"CqU:<" <"!<"!<"Cjii!5Hp4HpiPp4Hp4Hp4Ay83y8~5WiPp4Hp4@p4A裵7]"1!3~ӥ (14T6E ,bMfo4 ~wM'pIqd)/}vE$ >]}v\Aҽ$Bqoj#N6PXQELqHq(xEHqz]ۺX(JCW6@iWi,^1FکάA/h#E6"Hqh,*W v#2H Fa0PP8C( C8ڈ3/P@ur$\Apq.Q!J8D (".Q!J8D (%\a!J8D (̈́p (%\Cpq.0$\CᄋW.^A AWP!J8D  %\ašp+ Cpq.(@C- C9(XX˶Nʰ8D8R* KjJj_q+Q~!ʯ8ʯa0Lf 84 4azdq,,L1tdi,ų (YY#UPšAx 84[ ,q3Y 840Cfqhf)dU@ɖ2vn/bu,.QšAԥ=Q(.cuiQԥ 8CQQvK:sޟ#ۇ }!m!m!mC>C>C> bۇ }Bۇ }m!m!m!mC>ĠCPa< e!DB!DB!D B bC 4BC 4BC J"ݶ}, eX;T7w~f4&[dChAa b!(nP~⥙ 3v\g]Bc ʺ8t!?R= c]I N\ ƎxPZ8CќחvfsXԡCRصљ,ԡKɲkC6Y8gUc@`pr+ jC1 s*FvvJ{|7Cy3 r+r+dpm001CC P 0a P 0! X 0!趀! X 0! A(` 0Ġ!(.`".`".`X P 0! X 0! A(` 0Ġ!(.`".`"N`:E4Pja4j*bj踚!:f5CPt[S3D `5CPLW3TjXLEtb> Atۧ!"*hhϨ[D-oo4|h3ۑE-O ;3T Awf_ *(nư 6c1Tf Aa3 Ќ!(nư BBׄad,c`h1xMh;@g tf;3TwfX UĝgƍeܶiXDܳg*➍s.A!4 bA!4"A!4"A!4   Pp Hp n N! Hp Hp HC h8CCaA+‚WgWџ   Pp Hp Hp A(h83$h84",hxEHC$h8DC$h84 $hFA!4"A!4"Aáa,h8DC$h8tSp ‚*₆W   ^A$h8DCaA+Hp(,h ‚WPT4 @A!4 ^4",hxEXPEX$h8DCaA+‚*₆W C5q&,[xEXPE:qA!Q(jEMC5q&0jEMC5q&QDFMC5q&݌8AQA5q&Q!8DQ(j"&A8xDM"%Q! 8D P Ja! 8D(PJ@I%c&7A(&^1,EVq(nMCѸ&jc!hȞܘQJD8DA(Э Jw}8P8 J,(?P8W ?R/cF)T@a( ҜFqhF)f( (0CFL( (d1QQ -@0JFa2av0JQ 8Daa\0J4 GA CDqfDLvDi'!}34mB߆ mB߆ mB߆A A A ط!}з!}n6Do mB߆ mB߆ mB߆AD 1m| V 0n3;C3;C 3 "wFV ƍeC8 2qW 5b{ w,8:(f0M!M!(lPAa48C8C8Ms!M!趉C8MVqC7:~Wĭ[;T֎v^h֎Oq*!hh'B>iVG;u2}ܘm C>b y"3,0"3,0"(aQA)9">}2!H,T(qdRa&EfR8CXE(^x E*3(ŸAL䉠gP'7f&*(R="L Τt恙ALJA8"3)哬^@W 2)e 2)톆L„C1AJ{@Ҟ(J ,OQD O'ݑ1IGq03pkf cЫa Z5A1hԘi6 cХa 4A1hјvh cПa 303 cКa :3Ac10m3î cȔaz2[2Ơ!cf؏a 1A71h0cf؉a 1A1h0]Ms +}$ЀaLa S&~w4d?cԓ`G1hȨ6gI(1#E&`0k`0<LwdKj .GH ZB BR!$78 ,8BӤ98DCa+Hv0+Hxp( Af*T AqSU`á[ @Ch0:!h`(UAn UVn 14G:!(nPE:a UuBZ'uB Z'u ;i#-Bj34"!AEB-Bj!AEB-BhϢ*@BP**T) bBP* T)JaH*E(>} )J!U ARBBbP0U ARBBP*AR"B P*J]Ua*B*{%eX7 - ōe2Ж!mЖaP;!^qۣ_#6lBÆ 4lB*ђ5/sMFN2*-N ҟ|+0"h`Yh#H;4|b Aᯌx:C:gw|k+?*""b*rcO6n"'p8DA8DC8DC8D TL"!RL"!RL"D*&b)&bM RLb)&b)&b)&P1qgH1q(x)&b"H1q($PEP\.PqH q(TUu"^0jIn,#uU'˝*X>)o/Q! 8r5IiI#1tIw#Y=q(M M+|4fdz3fdtXW񊐮tXWQ@WYt((PXJ Rnv,OЪ@]šNuXWLtJ;YUC)e<Rv׬@Ji'BR3)c(8DRC)=}FRJ4Re`#)2@Wq"8QGI:NA!(EpCq"80EpCq"8QGFpCq"8݌8AAq"8Q!8D(##8A8D t/mq8wR3Gp"8Q!N _# 8D(sV71VC**U(C)nTQa!,$pC7*7%͡(tnf tWxYY 'A$#T1Jެa?H'*ԍCqhisN84HݴDUN;wU:c&b DfM"ƠGc b Cf!Ơ;4cn[C @g̰1cb BAO̰%rc~+@;16^c bL8;rNX+C QZEA11k!S`F eP\FL8-cpVFh0=D#1CaL8È4PF089AFk0&|a`=sAa0e`PFLܩa1q\G1 +苘p ؠaL8gMGs1̋5; iwiX-ţ/*G_P l_jN zxEȋ (".*]F401C CjP* 1a PR 2?ᏳAtBCjn"P0AwBC*PA,z"C ⺇*PʇA,}BC0#11CqC T7s0VqءڡxF*9U *F9C D(Rc`i׈A!P4H;iv]V7s "T]4%IMDj"h$ʚIoK?ї2FʚFE$聦R|~oi?7?wyҩv\,u$~4r|/y>l2pLjWSnrj9GIwyUk=y f?CK4~׳:L5i\}WKLLkruS\:\5y҉q8O!>L;2o^Ԋ;&沛RZM:uY}=C3p˦>vXOrnOz-v4m¹'i-vV>OTNSi$'$vtc??Sag}zv=;>>ӧ,C}.=}F>Z|iP/T.f`l,Q)k]iu:YC6[/ﯗ5U/:uMXRsj[p:)VԪ}]śԋ)"嚚^=핯^=U뱲WjMCck+{uQ8kh*:\PjŔFZ6VQm:mURKFq1;Ȋb=eecE_c=4ء:fxk+{uΖn?`yե^YvN +{ 汲Wj{MNm횚V=5^=OZ@6VQ^zաSc8?T:Ti~W^+kuX٫Cuz=tA+{uΥd{_CE6]zlգ^MuX٫GTJj}ZO540m~yxEXjEڗw?֧籲Wj{=tyգ^ͦl.=Eqaec!ûTThb%n^,\+&jt9WZSw+M~®y赢%xQmt^T*^=DKSI[b_6VQMf[+zuvJX٫GzT}_CP٩ôNZX٪GR/lc<zTR+{uN:A+{uN*Cce^s}k+{uN95:Tқ4 zLh{UzT+'^=#55zTtzT+::TOجUjZAey롒)A=7KPyk^~uFWcUnN 걂^ 걂J뱂ԠXkXA z]vQԠWCQڧ=T”k^'jaXA+/yu%?M&76=?}?^__??^Ӻק:5z_>aշhtxomˇO/r~/O_^~V?<y\ٞ1w9积owlO|<}x}~byz>enw<Ƿ߾1^w/u7˼ogi ՗׿Xᷯ/=6p}xԂ}}ӫÇ/oM7EݧMtM+yRqS_TjJC*/vt\I6Sް_jr.219e6-<-7\/O_⧯Ͽ:Mdڃ˧ӱvVm:?LGشO6yiLJϏ|y^ ?M>nQ,ӷfsM9-r:2YM'M"Ëo_-NNx:?<F<,[.}~7f3m矞gҟ~9Wy?C†s׋Vj#ȼy^2Ii:9?|>ʻgMO/m]QWy=?P]>Y>}o+lgt?n:3g X S|M§iL)oO۟ӹwZB~zy7?=~~}fwx]ZOt"Uq^wL& _˥0Gj5]g.vx)3ۇ>N?i'<6Kۛ|\Uiyv^yvßӱ8'V|2NoyӤ-=kywŝkv [>yϯNKoj- C6C ?-|:_~{z}]žUt=_~NgsӴ__7_?/ȫn{XVב'h=~yJߙ/˟_^^×4ob=4l?ZvwsIGԗeL׆t/tƜNob)t=~8!ߋO4cY4oiF c5(]]$7(ke ʝ߼+?A_9ӯy?_lvRk_3l^ؒLM׭K_"?y;teQ$gNj7$Ua>O6e|kUES?=՟Gnf/A:Cendstream endobj 550 0 obj << /Filter /FlateDecode /Length 157 >> stream x31ӳP0P0V0W01Q0PH1230!U`b`T012,ɥPRTʥTǥTĥ\fr;;66 @ܼb;;.O碗Odg1(0qz*r!57endstream endobj 551 0 obj << /Filter /FlateDecode /Length 355 >> stream x]Mn0F6'RMɢU`L"YqE q:_^.ϴ4[--O\4?Lx֢:vϚJ1[wMՇOM!.SqpPyɚ|Ɔ.@!@=7ڇ5uo 5̶ T&(POE z@;SѠ&-ġ߲5[۲.T5u,ڠ@+HŬNHEiD'rJUrf ȱIAVə*Hس@t'},I*ޘ@9ǬʻCL`l2p[TyJMs[uYy/endstream endobj 552 0 obj << /Filter /FlateDecode /Length 4234 >> stream x\r#}W0.:Ze/l^YmalX"5$='Q[ O4PY@"3y2Sſqo~M䇉q﷤hzz~RӔzuFzq]f7Z)}unZݘB?}Ρv~f2~;-b?&c)!n&'|3q ӏ`O!-.Lq2=4mlLx49&Wu@}|nXlVHwF͇s[η;6qlJ`90\tp"v\vO>)0{#׶.Mn]WTj=f{GK'+z5ysX *rrrG|u#=-A}.w=fL;Pzf9LbE\Slu)!D&N v eEc|z{XQ^k^/+pa~-vf>aQ̟ Ҭ#ө׽y\颳˙&{w~=$ۍy<9|\s86*!)㡬 M.Y39!tg 榻͒$wTb\S;ieJ?*DZpe+tm~], Xc%6OҮTxx=r >;-e | hv+x&tt1޵`d|'N&ZǮ<逵fk{QDEMP18:j&K{0r~S(.zvFcu X{nҩ=Z߮Bjeղڏ%<ȓ7!{F A+~/^2;4nxq9=oKgjmw7ǫTfBԲq8oW?!;j/$vKTC~zaL6S0պnX=ͥ{@>CHK.wCTRvro= Y pXqԅɍd̆5س1v3?gΧ^~jGhz!~:ӳo0D+jzh"\83QSʧd#<*>H ݦ+M*^ӡ.@G/5ԝ5w\wcEQ"ڳC֟7,oY\nm_gna'_De1^L 7 ں կ~5,G'^A#OJՐ Ѱ0biT'l 6 _spxpD;:u}Uf2Yd%^2 ~^# k& MȜ6hEݻn9$i9^CHKzG=~Ɯ~ل宂F̑M#Od1Q8'!qC@uy%ThR(@(#=hPx(y'{m.Wfjlbr5uĀP{))o 2>"@?[tP%ƟR -TV!=gxrFuSFid /9$Y:>ZVEӻ '~p7G%TZRR4CI X3*)rFXl>kh9hjh9@jl9ftBu2QT ub5_|A3׃:a-'75 )q-ֳHrel0S/qq(?|Xu)| 9 B0`h~jHc-r|izڢGӖ,|b2E^YbQzi#<^Ɂ\qY?[Xlh%47G5WDԢǀwg`ۈQm BRu'x x&6<=웬$)2}"n,ڵ#|Z[' ("$d"6ΖFÀ0#Et=쩉P6Y10=!YY 1%o]D<`@W 8 HҰi&!k!UO ϣb WHQUlaoeV3m,"cP ҡ`Pmc ic=8(}+O=Zqmfx inɣkk+(X#şa41i j#FY2eVO4/ňXrUC6HZ=B^Ox;FI`D1P.o#c}FR鱑eMlбVBtj#Ril`$LI 0iBj#:Y%%O߷>AW zTYܤn#֢ChY0"ta*#|aOj~RZj > e+Y2ZϾMt8i,hUb F&"֨a 6Y|(+4WhsFHjӤtJU@%RxIFIݦwSP~,e6<2TIk[sM0O6[`T]Lfxm`?kcj¢,Q8ٝޤ"6;ZJ mR$17+o+%0%|)EqYrBjW5h ]jx> BdUVO'h.Ua<*K6,WU^jT0@yBW"TZf*#[⯊SԑES'' Ub55窸elIR4Xgd'D `]6LꖅTAvzf|Vl &KjTR26er_1U/ I" |)'d#:Ve7R5˞&u]f9+T$F4JLkzLጥQyz').z_NbY,RidAEj_mcSQBeD|V@ $iY%Sq+SYF$B 'n$n̾$z7@!AaTIb ķ#%Cn |1^5/8FU_ %κ^J0HV^}A=Q!JukfQG|a5n5,sţ<NP;#jr&Fܲ/P2<\yF4r/θŲ-u0C(:jDhxb8zAPNû0`[O=E':zaK^y5VRUztiZ@mY51K%࠺t:TPG);ܸ\%rBu0)y jTt=,tƪA}*R $tVd >$ GN"} mN P:.5VEJے {AܐS,J$!߃O0sJ2V1AtJfxY`!n^^ah}Y@C<^Wa-u҂B (LJ[i9;w2R->kQ!cE`|̓b:7/tL;"`ff|qvlGZw MrVݢJOLO'_ܕʷ>7)~T(g^5wvg7Asr|7?#wN\wH#~dyaI~QEaR5?,-pvj rOs;744endstream endobj 553 0 obj << /Filter /FlateDecode /Length 209 >> stream x31ӳP0P0bS3C.=C a\B Pa ĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊ6׿OY8_?n__VG0_ŧڇo Op刪59AS! /TO-endstream endobj 554 0 obj << /Filter /FlateDecode /Length 429 >> stream x];n0D{B7 6N"AE*, ]Y)Rgq?KN<|i|][ujM=L MnvnYsy,]C׿!_.孛sulxXyя"i|cQ0mC, s, -̌P&( x vD*`O QLDoՂD#[hGT@Zp鴮c]N:u}TG߳uDtkfTYfv%p< 2`0t$H#%"H#% Ft8BGG2E6DLBt-PFD ѩ HB6.m48l>#o,my{? ʨ~endstream endobj 555 0 obj << /Filter /FlateDecode /Length 1522 >> stream xXK6zԯC"V9>!m"AZaۃnk"PvH9o3$?䲄\/V緻Lه :j~Ul|44>L]f쮊(qTi }6h07N_;~1YlЮNdUŒޞ JD8yJbNdշ5=}ۇ(a`WȲ8uߙܦNyYxe;&|,[$u&ߚ"*hx/D#fLYuGAMՆ$ʉ#yxdRoc,Q`&SH56qVOd{SǦ'1Q&uGFi̤e4|ȣPڪB6YL QvDT9]ǰ-Fu0ђih1Z2 {B3tMQ};Ihf6mh>,~H3$̣1NƠ1q6$)Nv&Mc..Ύ>#- EN;ҏb'1poDu F3sC .LTOyH85|)<%^>X؅4?tO`,kDN;'ѥt{8ĦyXy}V:MS(.:MCbNxɵH)wm PłI-s#:'}IFymȥ wn9k-Ţ=: G++eߦXYqiT%=>0TUL$@/qM󽤹S6'<|ep6KK%0(ӈwn4]|W_!ΓFɒΨhś;QU@)t+Y@e,tYzŦZS`DܭcSo.ث*n۾fYSX#9rP0ӡSkWmwtEZTmrvӺݪj /_>>F 3>QGvp1&.åqi*Dendstream endobj 556 0 obj << /Filter /FlateDecode /Length 437 >> stream x]N0y$i| j8ʁLoOUF2vU>?>zLk!-K6+Ķ|:lx)J,)8=dgFtY&",Pb%,D $ #\H(0VH@&7 HL 0d2d &MrqJxɀ9Q.vD4";GlQdgȼBkle(V̼G&Wy L c306GfkHφ9fe> stream xսMq&E- gwoĄcBneIos8be%; >Ԥ?T/|ۏM}Ͽ)2j?۷#I-zXw?wR?゚ T_˴}7v?_~woY2pۧ^?7;AпY/ߜVs5^oA2jSpvvsLǏ#:glwБ|xm=B2y,.-(_Oj'ou%|2Nֆe8;7YS>~?OC?1 DWZ OW_\ʪ0PFt@eʁʹu͞ p۲ʁ eQoN ލ~^odfq&=q)Hϓ5~0?MW~l# LQ?)cpԕZ> GͼH~D2Xkۤa tJ z\ ς$ p4J9>LvZqDH(jreio;Ո:9堞'D9etN~"-ԉ@)Q> ū-* K&QDAhFfKBe0 zP( 6k` V0e'\ۖ_Vsejc-[d2柣[Ӥ-WL&V#recbV0Ĕ6s2 (X$򃨼y]$&/;S%߽|&I-i㾣$Gtٶ  3=Ni֧sn}I\*GɪS 3e}4'f5Rn TzozPqxGZΦ@HsT̕;}N[=lo++9Z*yl֛@b~p?Ym%/En9ywqD*ME*@"?|aJɯ:||T{r m>ɥXBxG\k DI EX)'1؈ (䲙*`ǁ4 C}9%)ULQ3k}(Hq燯JB^V>ڧzZnPDzNV{VrmW2#T-/խW~Uf^T| ΄G.(ޔ۴Rȿ#QP{9P{ HӰ*c9$U&[,qzu^ak=ܡ5vue_ {%oN|iZo/זWN# )=I6G=Ҿ'f*u mf5?u5ˤcg<5/v*'Nw! =eR)/.WJ9ԨLyBůSh5Si/|Ul/V,RS[ yH{HxAd;DqxGLݨȫArFͼxax5Byy(Kժkt hcWxUC@ڕ}ү k5puRI,IhؼE+>g?9*[aE:Ð KT}O!?+]4|FZU'!ٔ!*uŚr ,ƻBaꫛT:& ?6"UU)AKSzȗwXጊ,:egOp2.pq/9ȧ;/a繣eJS:_j sgDךေV:+Y9hn* CA3U)*gTO |.+4$F{T0Scuf1E/_#(h;}]!t2KN2b׍5dC#^i(ZH0GpW4jS SgX‡Q$?Fևu+glަO>kzjiWfcmvF<>?nUhbGeR! -ĕi%rg7H f~ɸ}t"aˈqW_, #9t It 9-FAfTXIH=IǐbvD(&bv\$k̴ s3#Y0:K/[Qd_-k#_nb"(3_XF*sz3PRF1s^d7q!QzFP(޸Nr[\i.#NHs8ܒg䚌8eZ~uso]e?P L֋ދ< nedL~,\JS~)4\_f}Bq,cjxI9QtvQuՃ"s\vU- SW`ZU#,9 C~}syo(8V;xZ\5%(XV7-OFZLzGNFԽl 7}:K_\NA<9G:nӝ]i=+2Grl<qꄀVr-$.g!:Gmc`/kbՒ7t4(79aL \VlMSO&V 8O?W!^uZ>pTʃ~˘ܨm=rTJrLo~9uXNiւ'B!Uʆ_V 4 Aeݶ,1$ 7r _Ι9#zFtFE;"ԃ5PJ]].#/Z zH@J@qIʕ ,GPj*FU wdy%kEɊT"fEJ-sU_E*/WWnI("9KAw+aWU/* !ZT]ruF!I}W˼( )'ҫhFr0)t<nͲ?oX=-Fb) wq٣Y#4\$3vY}:]gvʟP)E\QΖ/pM#q:gMz3td sĒ+\,Z4U"ìf[I ^9Jҝ-3G(9ZO(E{EOpWv]V\`0'K eRU?\kFFZgŘ4 Z,JY i|bB=sNlbb)R_Q)ܟ=GmW!ur;3_GɘdhrjָxSG0'?V 6<כI=-+hy+li mR\OY៖I c>>a/p@ʎKB>LVK6YĪ~:)9aI 2b8KչܗʉHurΫyWwkASF+'5āsg{*_]΋Q 3*bZ5L5a%(s_T 1QyrXFÑ2Q/nO >F Jp9n'H5\# 0yZ2`PwW?Yfˢz^\cRnS ) ̤`ԈU/bWVO#iRen!Vgrv!UlUHCS74IQ!T#bZ{߱qŹLVSuBK#K 휍^"ܟҫ߱MP#Zb컑֬_gT l=Mc5Vrczx%Kx-֢J(Y- B!*{LjyPk. 1Z# z;&jnOA?tCS݉Ughʇ%ox+NZ %}Ugw6$xXu;Uo:8]㒃rD}Ub0@yFqӕQEVg<uNhgDTS|g,졢# 4\dQP)Aq^ gf'k*gɗdķٌU~<f^w'4F\w>Mis$tWPЦ}vӆzX̦UQ QYZUc 6CX Ż2S(䲉 ٹʔVN^ϩLJ V_yKi U q Z_>84GU OИ_#St#p>W3*BRpB lw+cCcVtNSd\$9w\AS0nN͗Cqõf4`;-;q<: M-zZu#z-Jt%vN,ZϨ^mf9$WiZbm᎜)x n<.2`ceȝWR>As17r4zz#gAjz;}H.OzFNhQdbLa jb_HR 4쓔SҾ>B2 |ǗU u_<|\5Eo4ky"o4!"]Y9!}|xC@Wb+?+KA鏞.-\ %"`,؜&_p6.#vDl|aG!hܺ#vDG1r qϪ(uDEܾ9Cm|==C!K7C aCwcW(]PK 4&~81;? 4qS@-5H gGŢ]L"g4KJ3}A%ⶅ.-D<֯7LPid('!)[0#(b[t/8VZ9&)?'`PV q1ӯzmP퓣ţ[N\䔦/6 +T%[Gqz0A3J+-gPy t˭i2 O_#j~}`#aY`$ woU ;UMShub|Mf(1'=^C gYO;q Xw|uiPtE#I鹙~PG۵z\fz{0~RX>:-t4cS\^WC.;=@mryvˑH݁w y/wsWjI8[-&tC"\cO%=G{{cn|.,Fv~ee82IV rP1!ǗXst܂ áܞT{(OC*olA ,oa>_rJjĂI]PÇTެ`|BDL9_ULJk*.00F#oN闕G=Uy9(e.5Uoн >L᡾\ ׺#RZC.ϋb_0g9+WXlxnɊ%z!Y臼L7-~}o{l%'Gk!תe^ej_e-BC)Z%3`^.PfUN D. 2E4(m tmxFMɛ%ܵq${L/K1&G95vNUDgw؃f+M\]8aNw=̐1!_Xv_&w"G^-`BtM]FVW-:Wː[j8nZ,JM,}LO( ҳ-m^1/qYQ%3>DS>O"Uk?囍b=5%] N;S +TĝuTVً6l0Q4jVPNex'TTj{ܯ|<'܋8J UͿ\!p㕊qp'h Ī++: ͉Jv[ Kgc!rꋘ!V h_2i_f.),UykkUn>([sґS 8XM=G+^)z\l4']JlٰzK3Y$=YRq-|[}Fr RugO/W |vRs3쮲ܙ]մ)ky2KhD#.u\N`O} E|2&/DVZo-DXU 3)b9J*>PJ$ ^\ ͆qd 8D9=h>TS$) lBt"|WG #YK/1=GM+"OKmZA+'+ #(c(fG|Z2x]39f3<%q@"G(2&X=pea=CI(WymzONCQ<r*(to? VZ3F>' mK1bfDh=I Z+wAi[+n[ֿ # P˻1CzQu J]JqKq bUwV \X'e GzŤ;a/5UϖohzF\#KTepU%sg;2]^`aR^3nwCTb$߅7˲Zزw@ۤd'; F9 QKL`]wHA0O 6Dkv`(k*<޸bY!zB5^ oOԠ2p=D5/KY^ED2vSOlO>[3˫X}r!M*o9j_U>6YFeu׃|=]~ޙ~BU$F -낏ͥ%16cV)o׳^Ämk .\;$T?I>ΩLG|-$O}b偊ȁUÈ)M}Bcs\cS?zS(ι\:sL||}G6r{X&⒞ީY\Ycc6bk#jk]/޾$ չXj sa>DQ4&GvUU0Sa+]V.Ĺzr4 lUBy+o/+nW-[h@zNSdb):z5g,LnK,- V,VY5h쌘}15qw nX*S񓒵p)p:ing+ x ;_Sq`DGN!hL,5k\%ҩ;NQ3|~9 Ui)WBlt{ꔔ+_ uV#ݍܞY՟}ڰT6;aRW^x$mw7u:eȦiTRv!,@b D^ȷw_z5OiD]: 4Hf'=mx0KfˆWiiH&A,}50Ȓ@ZqqheU>&GSO0Ɗu$O]+܏}ޔί@mCp9s y-'_csf1 EXG\j )n2pr,Pcک:#\pXaPP zP܄>Pn"izėɔЕU}|.&/ffc'[MZ5?+*6P#…=8tË&pK|uT祓Rn4r} N-Hq&MV5gcHq5[I&S.TQ Nʛt3]X"GtI&gTL"MDxț9ċeFEa⸂W(H#d#1rJŔ&5d499FG(2 ,ch7t " QdY- $^yeG>mrZSN(gGqddm$3\ϒf_MA1zM'@eszemDǮ%b6}dewE(_ X ,yWEuc&(m2-H; ʹ6n fXTwu62A ys,+^nY@{7n3۰ NR 䜖 4 !1Gam<ٵzVK&`iP,԰@]w8UXQ*QC~6zlz8pyX4`M)XM` ~cN0cj<,fBhkSUE^c?o<-VVMegɫ5wd9]1b[O\ Uru8?S(U;p+g#`bh#C`8Gx?Տ 7-/jE& *>%RM-@z p e_̳|"-x]Yo܏rj z,4}-xP7]@ ;(RN̪%k-$ٔFF'X,=So4ė# xq[g>TӃ[yClFsR nUԫAmMX%uN ZY &Fuﯕp@-ŹLbUN^כUC˕rO&$FPnB+%HӋ`A3`QP-_`xPhk*0+´-+}ƫख़Nű7K*w6X/4an0lX7emK VkJ]tS. O'$w9 ZntkFJ1Gx7^嗆("Kh% MH6{¶+tdj>bɏUDpL|z)OWaTwSW8Xlv\{U5'n \ 6@sHr`ʷ0ls ZkӕdIι!#\ 887%F}=%*Id{2C୪v@^D07&|;T2BT~["Rlq&9|bۣĪi9m*:sgeYlB4ڥˋ M( \EY>{Jm ~t9E$KY)T YY"_6hP4Z#H^y`8N'zq3XC_+ȷn4(WgTZWsm(MT| PHWO&"9Y̺-,J@M&f}%ܳܔ<u1NvFw(Nƭ Ƹu 5Ѵ|Po4(P򒪬3ے9#] Tk`NmEkr,7%s `X+m޲8{fOsћH Z^t];(&TDTdzTJWq#hZyc,ۙZ[J;+b㨞+Sg~#F@U}!g:.OӠ1)c۹BD(![dk5i[!znZKE&d7c E}s:X хU|ӕGG7~7c7@q8!&8^Aqlq"P/fylA9-<2z$$G=y'bFg!f1ŽrY$9&"//↊hB <-".Ǒd/=rIoJ8d pD#P3f%X8(Q7ɉ*-hFl[(6+e$`Fq3"x}ѥ q[8!>2ʯ1:NϊJrLYX?bdΆH#9+)w(҉8q ݏb`\~d HB )wreb bpLX%u|YLӔKA꺭&\CCX-眱b/Ń`O' 1"Fp2DŽ'ɱ9XvtLptiK܂HnC}i!klDrP\ DCFY ?bN4es{pY:R̔<9WLQW3MͥE@t^0*u@p:D`FMZA #0d둲Kn{]sFbX{҂kZZ$007v"vn3a0wV C=<-=8cm[$';%ςR' 8:B@pC+@֢Zȗ{%wO~ ̆s%er0i-~HƉ j%@H7$^LE%~bQPs:ͦFa Apx/Iq%_PqkH,MVE /0FG) ܪd<+WvXw9 Z״ A0P!Hۺ/uvH|r#jԒzFROI*eF6F؞z#P1zNF9qcW͢uq5|f#&i0vEhgWX`D kaD*wvDgCŃV-qr[陨H(@XOzV]9XY֩dD&ycc2'',5oѳ;LFvf#j1ɹ˩T,+:I)b8(),aN|N=GC 8> EՓEDؑ`/:wge[p)l`)OC ˖|goR"~SzRu̎$e0{Lܴr WB}$CFxNNz$\&D5X1SEF\knaG9С$DŽ5buf Ո9-/s8Q!kdN ՗:Q/2Ί_8_{긾/Q_ϵ}0{r]pGjLqW歷bfOD0;pTdu[ ڡ۶Nz\0O\=[)qa[de(! f":35G Dq8L$( F 21 elRCLj!< ~ ٨QHX)I6f^ A`U~ߐvr<$zv0JHdf/ @uWCrRSq9ub+ifq#c8O<NJ5ɬ(QDA_ #כuf]' <$$ 'T[Ah.nȘ~[v$w,l&'%4{L1a01)qI#hhWGAT%C[5>2F;1!2fn1z۝ hRr13c`uGw8'Յ~W44I>ĉ]Q 5S}P >W2W z6#<[m M~!&h4 lo[JN8+/sLHoF\\l9y8Т {ܧц/ݸm)jmq 7%KbѫS"ng ݺTmF+D MD .دt=iR>wOYKG|+"څij(q46INf 9{-9(n}B<IJ^ ɌkβOyɑ9?a3XmP:DF׳Zy1GKWh8ǷlĚchVVUͨwQ"߲p2ɇnvP7eZV~];qqS2ZA]BIW,Mv1bB0Cz=zfsq2>L<*A$7ep7d(,<ٵzQ`:H4[&5*PszA!:߽,j ([z#WR<|.㮡H[Wm/K`irR_nr k\f2p2=5^jxC-E㘓)S^y[o[FVOgKCW[a*Ff6_ yruP[a:ۖjFQyT|)ISѫI6MZHwPG.7.>f'‘FXAr3@hcoPu P%  ĄL[QH/ ב"WX$X/ikY+ UV"O uYJ\B0ٍ1*7 -ݨ%U˹_uBʐYIZp W\XF;%oԨAdض}fjv F8X 섹V:U;77,ybp255yB|Ew7*4utj- {Hոc>ۣ}J'd{Yqn|19:bu?aOؔ4|_L֛*NKO2:.fG@풾3526_[mOot 4k ,tjl,iyFʭ!ҜeDUp16惤G^R`xt)PUP2`$(Uͦ| "B xCgLv=uJ7g$^MQ`BUneާj)bOi ^-CfI;|DV,FSejd҈q<`E˘x"l7PP-u ѶTQp'h;FIRVtrI03'z6r3 C+ x xg~h[]ubѐ4L_4PvA[T/Gʼgֈt$9O{a!ӆH(i#|˲'M5!Vq8^hdg';4_y tʼtʒjj3s)(G$how5\syY-' *]ӧxn|;gsurs97ZM6"ԵBZun t):%@;RO)#=^({~9qgN{ -%O;>E#p.W$1bb-ALuZ":8 -2c#:͢rv,ZKe<Ǭu8 A@(*BC8, .2kx#r%w1_Ԏ=#/2~E1'Z[ɹONȷyWKw4:nQ7 RG|09(I-JbEv 8K";vcLp2Nv{\nU>(j A"ޣXc=!3 ;ƻS.й|3[899m+5 щIMyS5;voG٬|NxdӘ 6 %>o rgdiAMůOE9SsK:>Cv=^}3$ @9W+aӮq]9ۧ"k,|ƽV{ygF/Y^uGʳDgwBs⵻5 8GTBH&̚[}ř'ϱ)~b >]ݤ6CmH?w0Oi ë}ruMz$ 2nFay#gWVKBR]+1ar׵#⌐QVEkq;B[gIDx5匜g`B(_)#\NFy_S<:>E E0@IɎ}I/S<#v);쮿)EsIϸc%߯嵖㈀#*\SQ }*woȬJb'Eb85X$ADy&*?`!htH GD_X@@d$ `<@NЙuæ2fJ&X%I!V4礙2!uRvH/LNwG:c0e,;[M,tB!NrS8uzc5^b^>TpÎߨ́fNy||E͡UDT`i6Zfqils2Jqi86e\U;h A6SYQyNǗ]G_S3=aW;-_Jd@z.b$Tv0$NF[ 2'>aSj9[ίX6iPVh^N<3f! 1kфDdk (&SZCΙ(685恪;Rs+ZlN9 \5_ d> W&Ϻb4ߵ.Cw_,KmU Ia06aD!—B|tjugY[e,u^y7)phXV%lԂ))zȲ⚚M;̪5KYCޘAĂ,R1iF_Ū:[öWJUyfipcF]kj,'[IV9l6Wllb z2g)l;;90 s= t{pj̶e;`\~e9<[ξ Ǽ* G/<62.7KD[ $!=?K[A{P& pg~ ~24PTW߁?8ٝ"+dTp.Q>Ï}?Z?a?)~ϟ"R^>_[ >O !+Ȳa{vk| 76D/?VX5Z[H2?u?^avǟ/}og endstream endobj 558 0 obj << /Filter /FlateDecode /Length 228 >> stream x]An! E@+ElM`D, 2YME||:m vr n۽+\rJ˘ ~W1|  ç.n [[/qtkz|/_]Հ8)v23vHz#.-qf&DɊѱ17&!NsA:x.ý5(;'ƉP_u( opendstream endobj 559 0 obj << /Filter /FlateDecode /Length 95061 >> stream xAo^7? XQUIU022jnH7n{mREr꬇|Y>Qv?qy?}o~|/q}|}~|O_>.ooϿ_/o?}ǿ^v?v??>OqO|^ޯ?Lt_]/^?ߦq_.7=6#n_oS1׷E}}1{ӯvc\޿MagܮoW=Owxb>LE?t,]ot}qnC?6׏/˛jF}(.&Oܦ?Fz ^q{{> o~gBoFc.}7=7ϏFқ`:ʼn[W5M86~߾s]_JL7~{&bs,ts>Ӎtu/oq/τ~}qn|m/ǘ~}nz{ܧ=߿?߾xO?y<HzFLqp{\~~9t']sy<~{/Nz ~_t'3ß>nwFngb.q|=.gk{5xFMc=I{}<}?ggt3oSa}~~_-ӝOk??i>Jvn"?~ׇe.<-⼯Ź_>.v|i~n_/ǘn)}Z_i~:QWr^ov>i~n_/ǘn$}Z_u=|Z+bbo}iiuл6?vM>oH9o~]>_cL>?GwH|~m^2?6=M? z???>hAFOl^ygrчpV?ݧ>ߗj fb~ޟ_}6}xL7<./e?LjN#kg`A\>_i/|r៧?<~A+ut/n?vHAstχ>GpOO}"h]O#~HK#|M-whG?Snup2y=Hχ[n4>ߛe{閻} 4ivMS/c#M>:t˽nNٞq68t]G}G߻/7?c>Gv)/>c>Fc.=@ngt;}]>wg[=~P bpӽwV_ӽ>>6wH}OuO}tezt ~ ݟJ#=7t ~ >t ^w2o|}h^푦;}YN@4y[hFϛs58=zܼ][oy|\7[cyLwqvy| 7oSH 6zZmk`ܹ=Ykyn_n6K<|Ml ;oӭܹe[o9U>|ݦ{s6{9|sy@ӽ7Z:|>g1r/s{yx\6ϝ[hFO>|}^9{鮺?ogx @__}z_}Fs>G]nѿdv>w7z= iu}^n1|Vz<cFϝs<|t/Mwkx?w~Mwm1Mw1s}yl;7 ns={"{-}_wotogd맡y/hy9 D{oP{݅4=T/g1?M1E=syo`TnCՏTT˩ sA_y`Ri=^v!=+ ]~~X{cd7{poAm=sv歵~3wۆsVoO,7kc3o@4oϥԾs={fݼgV==syw_&yZ .6.} |bkð/}3<`m~3W4$>;Ovjs\;Ϝcޙ}ޜߚڟ|xWv޲|C0akOj|v91ot'~gILɿ^3Fhj֎O bMhG=hM-yw6XG^{O|koR>syOs{Og9=[5?vvu~o ރ{Y^;>\Ľ&=\79ǼG0yϸ:mć^6]~'䃅Ϋ=#Gwf_g-#ͻG745in>8Ҽ|=7j߹4>iހ>8Ҽ}pywN܌~ڒ>8Ҽ+}pycH4oOnޡ>8s@>u?PmU#n h޳>8|#͛G4oa#.4od^#}_鳩}po7Pn߹#M鿊빁Vŋ@K@?fW U*^]֯EU"XĪxqWlU.^/g]8<^{Īx}ŋKb{uWŋ.^fsu"8xUu"^~zaZ+uxzEKs]8>L+_X)_Z2Bek]?w9&*Sd۪LqUZ)U"UZ)Ͻ.Si]Ⱦ2EvI2ExU"<ǪL2ExUU8*SDȯ2޿S7$Ve]?Ubջ~ExUbU"<Ǫf^Ǫfq=[,uk?j Y,ouHV5#j̪fqxuHV5#jGZ,YCKl5#jGZ,YiU8V5-5kZ,YiU8>Ҫfq jǧ[,,Yh]8<Һfq|UZ,OYiU8>Ҫfq|UH5chU8<ݺfq|UH7jGZj޾@5߹%=rE1[Ov([۫ňmь܏fԣ(F5bԢP(XfĚxy@nPT`$P݉FĘhF fD21`"M D_ш  `v\Y͈Ќ W+vj<C1; ݡPGŇ {L6T@Ԇ+ksPaNJ"Tw(Flfohf`4l#as534 PW:pPd 3sck [ dCP\a@n0T@q\_@n/TB](FՅb\(&*̸PLn-T@fDSh&*{ ȵ w5pV@.+T@\Ƚ Brk"-436Z $͕p*B1j(B1'z̨P ŨP ŨP ŨPj Ř0#.%NB1$FB1*$>B1#c6ŒP㨊PŨPzŨPY03  B1j B1A1jA1̌ŨyPŨwPjŨuPIs03sqPdDf@q$2nPnPHBZ8 $Fo6X\2 IE Hdt.%d@" U2%"4dnv'$dI0*dAA'$dK$rɀD,%d@B%\2 ɀD.P$ rɀD.H50`Un 58ʍj 5 :aj 5rDnP 7rDn0F 5r〄@jPnȍq@"7H8 A|s(7H8 $rDnȍqP 5`rDnPH 58R 5`8RH 58RH 3qH 58RH 58(ƍGGRH 58RȌ5 rH 58RH 58R 78RH 582F8ʍy@9R(fu@"P>D6Zd㫚n v @@"Hd) 0TTO $2y:@"wHSHDSuP>Ձ zt>ՁD6:HD@>P Df?@\y z z $tP.ATA"@Bg=٬Y$Y$Y81D>DnJPUHg=H $T(#A"@@- L= (A"7%H*Q@,A"%H. @jL u& ri(&H6P.N :A"w'yDnO :(w&Hܚ z zZ0FA"(HH&@RLQ0SOB@TSRYŸV^@jVZn@fWzˣ#`*@Xddjg@Zk@[oQ @j\rJ@j]vEA.^ys[ uбusBD$[4mEC"[, dZECV *v[ _˝0Ǣ!q,Hɇ8tBfDX 1)2bęX Q%H/7#:qlF,  Y@Cbs5&D,8 $ŕhF1!!"\x Y d"C, 4Pז0塡򰽢]Hy9) Ќ) +(;W4Pй rخV-rhH,aC82v>J3FSuPl8tB /!;!@&5԰I 1Xj8X0ݡ! pRá!1HaD]XVDl+tlVh(:1b'[a[a)8tBlAaNv$43pZ$tœIhȜIhȜ s1'!s2'!s2'!s2'!q`IhȜIhȜIhȜIhHuz~yt$s2'!s2'!s'sIhȜIhȜIhȜIhȜIR'!s2'!s2'!s'sIh(vn1zo>J_#w.M_(nԉRR X kԐ/(kԴ*u"nԉR&nԉtTQSJ*u"/H*5,5IAaPPTi!i Hk{,uZS5J*57UDTVG:P:ZG['['u"n #YF@qNĭ:N"NIТEʼuR'PP:^X~G^e a}Qׯ$>JВCAG@" ԌQjH @ZXek 2}:% -9ݒ:HZA(?%u"ԉ[R'nI%u"ԉAebYie&ԉ2AB+@ZV&2QV&`2 LieH+@ZU&V&2 LieH+@V(+@/ LieH+@ZV& V&2 LieH+@ZDA^V&2 LYeF+yeH+@;%I&5M*x6imR6!ܐ knȦ57$=$5- 'i$!i@;7쉴]q_ :5H$u"jt  is9R'ds3:y9R'9%iH#5-͑X RC (oԉ R R'6H u"n kPAZ `cYAj(nԉ R'6H$6H u"n i=͏9G  AX$ k@iOXOF=6E/ [!+3q+NX+$ mP q+NH+fRC !itpEiBj(n iIqNM:7I4IҾH BĠҪ@b0Jz֞Dq_NH_ ݏHXfݏZ!~Ԑu?jȺ5dݏQ3!~Ԑu?jȺ5dݏG Yv?jȺ5dݏG YQC!~ݏz~yt$~Ԑu?jȺ5dݏG Ifv?jȺ5dݏG YQC!~Ԑu?G YQC!~Ԑu?jH5cݏQCwR_(%f/A"%Hh;$ m퐀:@@QP@@;$rD@@RA'l$rہvM[$\p   @*8HpVH  :!8\p $LpQ(H74v ہ $Bmu$@P r @"8v0(zg!6(v CA'l@@( Aѝ*8P.8&8 @@B\p*8 $rD.8aj;@"WHsHh% m P&H TpRH  RF TpRH Tp2TpRH TpRb\pz~yt$TpRH LpQ TpRH TpRH  rH TpRH `Tp(s0!"ax $2Z kR(H^CAi?w#sD$8Lp(@"sD<@$Lr%PK@@"Ur2F% Tr(@"Ur%@ H rɡNij;aYͨK$rɁD.9T@"H ܐzn(WH $Deϝ%*9 rɁD.9Pɡ rɁD.90F% rɁJ@*9P.9%@"H\r $\r {{n(H^xs'yϝȍJ$rい@j<@j<@j<P@j<@j<dC1n<=<:@j<@f=gT|(& @C1;C1j;~Ũ03'=W@͇bts1Ѱ?Y8χ>T 0'$ dDQlLt P PfĀ Pdӡ Ѕ䳡+ vj?̌s+.8 ]s Qա|$tfsp P@rخ"Tq(F bTp(f7l#as5n7 ԆJfv*6j 3sb8t\j|i(f4:p(?y'F7T *^̸PLn5T *`NC!4FC1"4_.Fuq\f Wc^rǡPpNpx2CUx -wgGW`0aU`r a)Pj,PuQ5QfFuBf(Febe(FUbd(FEbc(4qQUQQfb_G݅bT](FͅbT\(FbL[(DqiuQe5QaQ]QYafU(FUbT(FEbS(F5bR(D%qGl?gf0WaWD*@ @* qvYN c c\U  @"s>*\U c=)dt)rsF.y3|f| 1vV$.L98  @j)PP8Z%|< u>p<gmP _D&,@|h[ q,.\( $Ud((-aREoX `tNpRHd $ $jQ(@BĆʇ6T3C6`7Cls*qb $bDzX ^Os CA'99a| v +$ԁ(%܂ k$̃QHM v 2DAnC:܇ $r#DDȝ*Eʵll3bP9XS"1#vΑO}~bܖ @*L1DAL4j@M8@N@O?@PCQK@/z@*RI*0*S6@SPF*@TTVEAUWb@V[dr^4~K Yi+k/NNXUͧ6j.ĺ/54hl4d l]V7U7~rP~YeiǴ{2oJ{9~Z=86i+o.J J;8V;,sı{|+s4$efѐ92Ш̱yc:v1(ulX+u44(u,Lwbi{FuFusXݣ!{cPYǠsAc{6{lWuuҵРjv2lGUYEhT.}P~TCQ7vPAubT M[%H+! ŕNĕNWBf%[}!4dDD~]놤@Nc+qbu'RH'{'ЉA)d^ ymuC6⺡AcR̠F'ѐ7FCVh@Vh Y}!o4dѐ7FCR߀FCVh Y}!o4dѐ7`ˣ#Y}!o4dѐ7F3VFCVh Y}!o4dѐ77FCVh Y}!o4$f;qݐnholFn%mv.[G5dQ Y먆v[[G^f^7mQ i먽MZ@M{Cu" մZxtu'P8n j @qKNHKvyKND-P)voFQ Y(QT'FQM[֝HZw ՉkT'kTCq(@N;aHרJ Fu"EºF-4Zxlu'7TC6!i@jgjvP@N:`}H +f$_DušDiII_:nX=^/Y{B5d=P YO( DuBD-Z T'6P6P d O I=u"nԉS'fOPw"C݉  kLqNX TC!kՐ6PX ϷATC !kՐ5jHDhATC !kՐ5jD5d Q0 GGQ YATC !kՐ4jDiATC !kՐ5jD5d Q Y( mՐ5jD5d Q YAT3 HD57>~X@jQEq} :qIS7PQOPP 9DAYOŚxn( Չ̜P=:PzB5DqON$=Va( &\w\7jZG^];'`w"ݴ)؝`7y0Qţ;D< D> 6xv'ҁ Hl&vCPlTN  @dNģ;acwB̉Xt$vT4\ k$PP W!DX HZ?5cRH UTm(Ԇoj:, @qN :!YOX $rD<b5,P<N;@s^GөN uyRH u RF qL݆RHm !̆(m !ԆRHm !Ԇ2!_Im !ԆRHm !`Ԇ(m !ԆRHm !ԆRHm܆RHm !ԆRl! r(!n_? l !"b$.Մbh@E@bB,/$ԄM m&L<;Elp N\ *Kh~6n(%Hdt.Kd `%TRYLVY(%HIJ\ $TeJlvCDciw"W"HJD%Aڝiw"%H,P<;6;\ DA'd ,A@e Le ,A"%H,Q@DN;!{bTRaH & :!Lȅ *L0 $ra @*L̐ =17JA"W)H*\ $rDRTBU \ $TRHU U)T(HU U)lvC6Q!&TRaH &qaH &TRaH &L(ƅ GGRaH &TRaȄ & raH &TRaH &TRa &TRaH &T2aF\ʅW @01CabTVav,L,8 $TR5HՈB5:W#H$Fjv!6Xbs'A"$>I< ܓ q= 'A"$Փ= 'Qy DI@P *C%t峳;nZ$ew}8Xiwi7&a"$b@N;[8aE+N"dʭjEų;VDANĊU$2E:W$H\ DAH"H"H<@"O\@jRC"ryD<7NZ\ rDU Xc'D<7:0HF Lju`L.O *O<@*O@:0HF"*@H"Q+@H"*@H"dD1H=<:*@H"*@H"Q+@H"*@H"*"*@H")0H*q"GvD1*GsF24"VV " V (b(f0b{:jU<W@'BD1jA\PجBtD1: bfLuhFftC17^>BFTZ(FElvxE^d$lZB1j%R̸r!CJH(f $lSua{zYxUf6lV1ٰ= ŘP ܄ Ԅ ̄Fb #/a{=Z ŨPp(F7l03#a T"D(f$"s6v%eDEhFfT7 vyPP`bfá P5QffD8hFb0(Ffrb~.x2i :A62XLzq]K=@%؞a`zW` l06נA!`A!(Fb (Fb Q{QwUQsQofĭbT(FbT(FbT(F}bLy~upuQU5QQ1Mf%b(Fb(Fb(Fb(F候q7UQ3Q/1+fƝbT ??EB 3n V7HOs@B u (h,O$X UT xΝHD:ptO$2:H:\ :L(:6(U2Fu T(G!HdQ$lB7M@J~@B  @"7*q $! $ʇ$uCHPI jetn @B @ 5 jP@@"7H $r340rDn @"7HV P&H: TRHu  RFu TRHu T2TRHu TRtb\z~yt$TRHu LQ TRHu TRHu  rHu TRHu `T(uL i!s@"?@kH@ZIsZ(D!""B  #CCJCCbTi\UH hMHk J=eZF2 \.Tk @ZSҚBAbjNHd輸@Š 0Z\,P^\ĉ ).C* t\\X' ;W4'\Ѡ=HG+UZ5ҾA@R(X lO HhQϠ4lQ`oظj+\5X$U9jPW t2V: V(ؿle -i /I`t2V K@j 毪$oW/I3I3I| OF~j'^@H_ | }_@H_ | }/>/_ | }/>@HH_ | }/>/_ | }/>@H_/>@H_ |}_^?׆>/V>;ǷF?3sf?@n~~?$?-Hh mu8s|2lr' Ȇ CCIdB$K+L"\B$P6Z -qBW#v fC 7"!]+=oqáFC 7"!݅^ 'ĉfC$t2t:Xquh! i?@rhȕ814Z .$V@&C$PA' жC@y!xhsU|1 mDT=ʻ0:H,V[i" mBTw!Dm-ΑOD&/"/" fh(oaD"L"L"Lbh>F+Ġ9ȕVF0Ddy3#Hi?# mh ҖF0HiW# mk}v6Fxo# mnݍ7G@Z=_Ii# s:^Gy# v펀6<ҎG@H{iӣ=ҾG@H;i# }͏ G@}ӳu 4dAChaa'<= }pA_sX_/RCߢ#wIùɿiL~JC77m vq$7 ?T~Ӫ-$7=h#7m͑vo2CC*3ڄ V;IWaBUu= А@i+ra\w=@ybW9`)2Gz'Lhh Cl2! ;0!!1 sEb26ĨvUjF440#KW3!3#23!5#~Fv'evȎ~R;b=6;b叨RӢI,PO#37mVZ Ž:R ]͕h\̕h\ u%5UuJ AШm[&mVj^EAUުIm:1-.kb`[l=; ^h.hۏƴfr]4dEC]4dEC]vьi vѐi vѐi vѐi vEC]4dEC]4dEC]4dEC]vˣ#vѐi vѐi vѐh͘vEC]4dEC]4dEC]4dEC]4dj vѐi vѐi vѐh͘vECvy}(7d:,^ ۢmѴ mѐ mѐ $}W{0!*c2OܐMT 8"PK4͈&%Ȇ.fD'̌h.7 ^n:ܐ^nȄlrӱщȌh:6#:bn8܉ؗMcn(V$HD'̝ Hf̊h(܉x*s'$̗X S$N"ѐM`nF07`n:6":aFPnDt"3"Nģ;szDCC=uc=uÚ;aӚ2W!s%2WH]ldsC6!ܐMmnHan(H[0P^C'DuXxFs'bb7, Oc&aC3@|Ht> }/񁲷Пk|{|E> GzqoW$wK~&{=EAxOB @ZJ5WU PBHX-F@jO{N(/TD * @@@ZJP^ ĉZ -Z$ %Z(Ȋ h%(/@f!Z(IcIWF/W/Ah4=x'^!suyငVfhP:6zYJ@bPK9G^L WHy=ZP+ $ )iQH @ZVҺBAZX .iyH @V`(+ @Zbe 3Y4=<: -7i 0Zq(K@ZsҢVu -<iHKyH@Z}d-A5 -Bn}H f O{  !6D@چHmHa >TаЯZ硗mچ}'Z'VD$ůA Hho&E$\t+Z iRtjX].Z VAX뢝EH:n]0wVcIQA>x3XnE 4hRzI¦z0xEW$tb1Рcv!ֱhIPޤDܤ6)L,~; UD"Ҿ^F;^F@:(o_DBHHmh{e4e>Fs}-- l\6v+z][j[HҞD@ғA6(*Iк_.:81:845:8t8:8;!mw@G/=DĠ9V:HM*M`F$F$65ҦF@HM`65ҦF@HiS# mjdMF@HiS# mjM55*ƛ=<:65ҦF@HiS# kjM F@HiS# mjM65ҦFyS# mjM65ҦF@FMFߗ;+Aq\9u;3̕VWH] u%ԕ] Y#h& :!MPiH LΥ D~L(4A"&siD&M@ &`2i:&HdD&M,xI;{bLibt2oЕM'@=bıqjq%N$Tۅ8@Jؕ `aYHnQTEAB,s sRCrZ@EAB-ܢ- jQ (rDnQP (rvO''PH;(EEAnQܢ PJ] J] Wb f=bU] 1#.9z9r=Gz\ z@GzDAGz@Gz@Gz@Gz@GQ@/z@Gz0Gz@Gz@GzDAGz@GdzhnW#~ىqeߗÚK1' JRC'LjhȤLjhȤ  lL]hԅbu S ru!P<١f+4D<̡0N:1aB3ЉV А А @f+4cBCf+4dBCf+4dBCf+4dBCb+А А А А 0j+4Hf+4dBCf+4dBCf+4$B3f+А А А А BCf+4dBCf+4dBCf+4$B3f+P<~.>̡!MX ᡤD&)@$50XcalCC& sh: a cIaar7D&}M qM oD'H74l'44~2Љh~C**] ;WkH  :a-DZ @TNS:+ $r* @P Sb>9DnXcaaTa@"W*qBa + $PȦ:4$5v> 9t" rh:ЉxC'rc  $AA TRRIH%  2IaP$1C>P@y}D^ 7H y}7HJ W1*U A"b*V1U bU bi(  UiHk@V(k@ZZ*V UYU=<:*V Uij0Z(k@ZZ*V UiHkyHk@ZZ*Vd U >P@Q>ڹA/( O@ H?i' mTP ZRi'u|O $M:ۉD zinq;'y;'Q;'`; @ΩN @y&Q&`mqSA'77AK㦃]Hiiܴ@y&ҫfyJhD"oDB7 uh' @y&M̨qq彚Hh&M,$D"DB8t {'tʼnDʼnDʼnvq*Ȼ8]H]HX']tq:li';;N@ (D"D"HMB=L'y'OW$Vey'y'y':hih'AhDB=i' m͞SA F=i' m͞6{fO@o͞6{fO@ H=Ybˣ#i' m͞6{fO0 o͞6{fO@ H=i' mT7{fO@ H=i' md͞`SA (o|k͞TT>DJ@*$"D88P@t:@y'7A"&soDM}› yй7ABo w=rwDN}b06  N;@Nt N؝ p ;AB ܝ@Ni' PnH !Qܐ $ԐRC(7$H!w~"DA':?u KeO$O$roz7{$O$%obx!Վ(܎ =P@ABsD"#Hv܎ $r;@jGvD%ԎAB #ԎR;H툂ԎQ;H #ԎR;H #̎( #ԎR;H #Ԏ2;#_I #ԎR;H #`Ԏ( #ԎR;H #ԎR;H툂܎R;H #ԎR;# r;(#>>vPdG;DnGP;H #Ԏzvv@bGD6LMA")HD6ÆcñIMQPhS@M6PnSl `)ԦR6̦m MAl )rNJ(H (l5:@k@A"(*qB P.PPH]k\ k$T(&A"$&GL@ܙ ;$ԙ(ȝ ܙ ;$̙QgH u&rgDLT3A"w&H3PLȝ 3A"w&gDLȝ 3A"w&Hܙ O&Oˮ 0@A"(H@ @*P@Q 0*P@ @*P@ Ÿ@ @*P@ @&Pˣ#@ @*P@d @ @*P@ @*P@Q @*P@ @*P@EA.P@*P 0g M\1@K,z1׭DA2%Ԓ- |lh3$v?$~:5b #=#~ӹAb$F` _.FlX\;PM$b哳IDՒK` LdeX+=L8V&F,I4#VoO+b@Os0TbgL G;R&v2P&)ss U&D8XY@?ABN$ܟ~gܟ ܟ $r?$r0O?PObOL&$ԬR(7+Hfܬ sYA"7+H ̊ktbU2 10+Vb>W9^0b -ԷRH} - RF} -ԷRH} -Է2ߢ-ԷRH} -ԷR|bܷz~yt$-ԷRH} -̷Qߢ -ԷRH} -ԷRH} - rH} -ԷRH} -`Է(} hrsR;NxP"^</6ktѐI tѐI tqp_5zl s3 zmCcccщˀνND^Fӱ 26ǏN; #*b'dl?36רFC"h,BL:3FAcgfj@#9cR4^W:3͘P,gt䌆rFrv"g, ;0S!nѐ 41߱$113 [,}0bg!m,Y@fj,oΰhhclQ3'c:k0 H5b  01 !0 X 02bb٢"[_5NF'b ay@lщlTO;1-eN ds d PPW0_ܯ _ѐ _ѐ@W4c~ECW4d~ECW4d~ECW4d~ECW_ѐ _ѐ _ѐ _ѐ0W4HW4d~ECW4d~ECW4$~E3W_ѐ _ѐ _ѐ _ѐ _~ECW4d~ECW4d~ECW4$~E3W_PWPfƫŁ}uCg ̉֝ZwB[,i% m--v[[,^Yj(xպ*ݬP<ѐ릭G~U͔Hh3e*!ם5TM[3%mAC7T;G65TםH&^7l҆JkЦJyS%huN;aM`Рm% m4hz[ k@G hGii(,V( &^o?띅I;1谴sxu'РvY؝K峰;[_7D<y%w ]"]"a}`] ;&Dޑn_7]"]"]"ĉם;2tdZG'1ȴ*#tdZ'1ȴsJF_Кi{ ښ fКiHhk& m5f*H[3hk& m5fL@ښ Z3㭙5fL@ښ H[3ik& kTfz~yt$m5fL@֚ F[3䭙5fL@ښ H[3ik& m L@ښ H[3ik& m5f*[3ik~n~ 334VoHdݘoRH  UqRH-LB]@j;~v;lZ"CA<,h $jz'Z'0FDiX TP]\ @*0}z#}aPuTbaPMa\ E ,o`c 7$d + ۅC}ΰDhXİsEyJ4y+$] @{ag}ag!$gud2HUF.vy$b3 $ &\u 1t6P١ DwX QXkhMrؿlWyaTt(M QH DpX\j [ $DkRaD_X*R8 $柩sAãUIĠ9J:iH uH^ @j6P 0*7z @*89Ÿ  @3B ŸH*5Zz @*6jCA6 h҆G@1" . @j3> 0j4JP6Dy/4g̍^$*6b @"6, BA'CPHl04t>ı°0b-, echLVXl3t>9 0(,j Љ$DRHMYۅ$&|P۫91ڙD6:LB9 W$M>W uMXcaa@pd |6a{=@9G>㙄@b ,J?.#IpPH8~J`$a$*H $yJ@:H;&X T `X H'2`"3_ջk-s c0y`9סa8ퟄnm@Ht?nm@H l1H t?nmGGm@H datAH t?nm@ t?nm@ȶ|?P>s Md3V(L" fPMH5iЪ"|: qO g.ļxf|<3|d1 g@xf*J`3C@M6RHG&tbflht>5D>6D<@>D>@TJ@"LBUcaa>11UJ f  $>A@p@B&HgPЉ $bπNM:7( HHMP@6>F'M$6ZjAASHgI&#@"H: fh#HI ܄@"L"L"L"L"\ u` $r7 @&n n @&n @&P @&n @&dnB1&=<: @&n @&P @&n @&n n @&n 0&nP&Li_Mx˓4@Qa}3LRVIH% TRL_عf5X(脱@B 52c:7Hec#7==~f6@fca8 &/lP|"N$wag">,б08\N^,TŇ|P;|w aS`tPn6)\sirh0ag!>agjC @"@,y~3FyX\s `jvP=P prx W W CA:HH|$b{RH{ʧ( b͈88G>_D>_D>_Z34() $J;R*h(;(;($J9J:T(uP*HRJ*@TRQ*0TRJ*@TRJ)ŸRJ*@TRJ*@TJˣ#RJ*@TRdJ*RJ*@TRJ*@TRQ+@TRJ*@TRJEATJt<JEC)4(NRsiU4dLŤ8X \hL̤Lͤh(6):cba<щHNDDӱ<щXD,Ot"'I i <MۤlRCC:aG~&O4dDC"OD'"yXD,OtB54cN"NľܗDKt||t:D8XGlRt"6):&{6]j ZE'Lhh0agbg!:a:.:aP.\t…w_b&\4 NpECpщX͘pѐ  ı8l.Th(.:a ZE'bV * rXDUt"*:kNZE'DXIx̤h&6):0!3)2!3)2Lf̤hL̤hL̤hL̤hHL 5)2!3)2!3)2!3)FM_L̤hL̤hLĤhL 5)2!3)2!3)2!3)2!3)ԤhL̤hL̤hLĤhL 5)L.2_$f,fDNDmz+ltC𩡸S'LeНRͅn( tI2LQ2L)HD3K$wj( )QlO+NM[S3R8W,T dҝ&K7O*`VOĠVzK"3M"3 U,'5zjLav$Ǒ-3)Q^ ٨oN9277 :\B|~3曥w/!ƛw/!ƛwxӮР J ;,H4 xtj%+ <9ȵCsXwUНC x4+4iCsXwU<]1b~Q6 FmD6]1^@+ wx/Իb< ^MČPDD&x5īj"WAD&x5ī ^Mjb1D&x5ī ^Mj"HWD&x5ī ^Mj"HW1X&x5ī ^Mj"WAD&䫉 ^Mj"WAD&bx5 _Mjۿ#oMv vz?ThS:` 0tյ:Fcb4i1!Ob0WUQO7|SaOYOF=-x>驂?&s*~>驂ɠXyy`4iuf#5)B:Fc4i1_}-9tcf3~5WVVߝN%@;c>Nqq Mr6Y`u&7Xaˌ:< +?pMv( 4)05i11NxS8Ōg8UN1e8UM Û*nђjmئpjSxhSMG6U0Tx`SyMh\Ӌ񴦘 ~˸WF5mfaP L"TqE8Џ{8$|>} ܊p1@b7R o~D H v,#6o .QwA ]pA!lHmN 2 Ͱ AB?yC`_E -q h/г1| ,U_] w_\At8(4 _=_gq6Pܹ_M%'WA?_ A/oF} D-%}$*`?z3ڿ]3 vWRװ?sN?B#lD?m ǧD?R6pcS=w<<P3HF 6;b!  Ri|pZu"<<m ?HQxx԰ÆaS;V~'~h_bBsC . /5)iN WVn>CBv7T? APӆ>Nܸp1hXSaϝ =*|>_~gR>ر疅A9иpAhVyqЦpAhOo4+<ldb'ÂzCW:nx%u4\QoF7n bBZ6 R H1l@ iui!u\Do]::ށ b@.M R=w\ U/cww 7=~RĠ9;2_+`@[ށc+_>c3 8u|>p{"6||T A, t\:.]N ; Ėo1K BS[QZ† t mU  v .B{ilp=ܟCp_BЙp>Ӳk!m A[Xкpٸ! o nkp瞇Gꇸ# 4Hg.JlbD'MqJxx:-vwp*va=a<MpFбGc?ΡG#=Ax1Ѹ e\;1؉tZr} eqͷ=A3λ%ޟV :vo|_㴇8u|<}R+7O{x?{J|_鼙 BV.|?ܩu~QżѣyGlbG=F 6z,1l:4z@TFCoIHFpBСhhUpB̡a!-:8nN{91isi#MAhڸQiv s,A_|Jhl![`^š#?s78s|> s x8ȡ{vjkqs*6zcAFӞ=>O{jyơ;{j9==NsxgEбcoO]ARNj9t}#]A:v}_ë@[18ȱ 6zwUTq8|[Euﬨlc?3 k$qdA^Z4ZQA }8DZ b?Ȃ~  t}E#U<6ߒ  69dAn bsHC 69$! rsHC 6qݏ;EZm# rHFb6tj^!.o1/" R绹eǶZFbO" %rAyޫ@c+C`Dv4ZE.! bԱwr} yH bH{@ ,= 1 :{UCCoCT84< !q-Y?ԩU*th|WZEnN{h9[E*yS9*rT3M$7841R|CȪ*Bob!c3c1 bɂ=&o ppXt<<(AlEYZQ.}JWrIOb}TV eAnE b+J[Q[QKݤ& 6,M*AlR bJT?Auj_yx{Yp6,ȍ-AjlacKЩ x?IС巀~*yl/* :,*<;rjh\]%A\] 4|T]-_KM8| T1c-? %-Alm bkK[[֖Z[~KJ@k[RRš>g<[V* M>uyL>_LLnVwss"'G'l :4+NpZ4<D2qL|7{y2ҩSDyġSNgS6sC36NZfne2-3=2vjy[f%QƘyc?/҇k ^d]{uU'8A\Ĺ`A 5MiuA kb~MS׵i]{2e̪eL˘*1U/c_T|\|{E‹܃x3ě N N K\+ \\׵b%bC,ċ ^beAX J/V4+3x} ^,'A> Ig|qWg|^$"ī*$HW!1 ]D{oEߋT^ uH|o{^UhW$8  mslyW⣊G4.>l{|{*fw#/'ݍDFHFx7Ļ ލndAHnoIeU̗W1_^|/{` N :L|,{b콊*8*,Zd3  }G< l<,8?>A4^|{渠F7UpX29]fdv=_^.3./znك"Ԁ"}"z"C^x W/ƋP#1 _:3^2W/@ /B/B/B}_0^:0^/^z/^/^.^Z.^-6[uZYX5X>_v\[|xhxx:x>xj"S"^Ⅳ(^踉ⅫE'^z'6Nq Lq 5KP zΈY[̋zᣆ:xjxxjxxjx}""-_֜q 77qg 5|㞆=nhxfxVk-q ?Luz?G:}WO o_ /ЦCK߾1~~ ZzZLENxBx;iW?4#}NAaАԍE K'ݯؔ\Pxx^ nޅspyWC]!62л!.%;Kwx)@=w(\ .}R`pA*=U fSP{ S ܿ .H766AY  RK İ =A)bOSĞ  =A)bOA{ 䞂  =A)bOA{ SĞ H=1)T:,f]V vӲ F{7b@Щi v~~T1o#B{7 ~\GUq T1}Ab@'>O }A>B*}$Unq}g;VaNe>U Nj'x8ނST fG!-AhA t\ ]puĮCwT1:`u*~uPupAh4yoAނϟs<|h4CoA[pAv*NpyoAނg H1-X{ Ŀ~=S{A; db}Al5bAbC4 i Ć"A(~ @\6 B=pAh 5hÆ{C7d?] AشmZ ⦅ i†T1] ˭?A?Yb@ПMx.`@*na =Ah目w  [- Riupw!>ϡBq 7mpA1AiWV΂ bOV΂ B?irzCBe  :6쫁*O4z>zn>Jn A1 vRpAh$ :.}w i73 Bi K 6& %{uܿ;`Clbߋn$'pUؐz.Ah \.i'_(oi_D  Iڏ n\χ-A"$-q@ noAT샨QbFo*q#@\㴧8nxM:?yiώ33s :m;A=;}qGPʿ  YgGPۯpa? aQW! AlbC@BwÇVU v7A . Ğg =6 Rg@ ;΀ t\7,_l D? D`_eo U@_oÆ8 R<_ 6 n˿!.A _Aſ aAID>&}/A0 I?y#kAꃨ}6/&=_~CR/V| ߿m}R/(Aߐ A0/RcC}A؃ȃD=H9xA؃cD={= z D={= zAcc_= zA؃cC={=cD={пcD}A؃c{U= {؃c_= zA/Y]AՃhVqUH]c N4ի4ի X:As' :At҃I_ :At҃ID'=NzID'=Nz :At҃褿D'=hW1sңNz3'=Nz*I|k`TDS=(*(QN~R[$m}1bFrB{\hB{aþOWDm=褭|B=CA}Aԃ ߿m AՃ8SDu=<WD=oO} _ߧ<1ybsɃ1&bLt\1)Y3*f?2_7*?C93i?1_J[gH| U rDU>|U A c13bf gAT1&RLCU>x9b2dou!9]k*{߿Q|'1b;w|2@~8b @7U`fW{n<7o$q1Shf7]os~ q)3L||n% 6|n >7s#Xl {n=7՞1, znk=7R`fs1, y~*:͜xpyw s3\ysWλ`{fs3X׹l un:o?v~pZl xn;7}%JAxs JAc(/xtUA#H| * 2De>| *ARcQ2 +AT惨Q2Ce>|Y2De>ϱ2_ų21/bVAK>Y2!ARC1>b|U!UP2AjHy D>.Q_G^ A4ރh/{ A2chxD=lxD={ A4_xt2%*f{4Wp/{*hG*q.yQp 1KD=N{q.y A2AKD?=sɃQI$%}1V҃QI+U̕*II +AKD =z|.ys% *AT҃/sɃ8 rH}1̥t̥K1b. ḀK)a.\:ts r.\:ts ḀK1~A\:t|KI,󐺊YHI,Ḁ`.3˥t̥K1b.\zḀcW@H}:bb4R eߟ#Ydw|$K̿1RA_|J̿*w̿0^H*1 Hy] A̿;w A̿)a A׿!b A̿1b;w9b;w 1̿/w A̿)a;1b;Hw A̿;wy]TAs FAs{U8b;Hw A̿A] A̿! FATr/)wXŮw<򮂑w# FA;w# E1y1b{Ay1b;w# F/y1T)w;zbW;hy F1;zyW;w# FA;*vU A b1${1J/hRW:hRW:!uC ԋqHǧĐ:!u.\pq gp͗pV1_Ypi g p.K8K8k~|/r|12c$ȋ#+>FRbH#!>F>| t1C>F*|L1cȂP#>F{ 1c/{1,LgˇȆsñ,1cƾ{S=^{d^Xu_4c$nj= nj- ƒ{rcƊ{23+cv{cHmپ1cj#=FJ{ 틡#=F6{d1RcdHd1cnj- Fs˃]*s 1cw}H]q}3Rc4%F3Zbd@F bzK@ZzmԖ1c/dnW0+s3V+q#<=_ۗ# =FzA f ߿~~䌑#+=FRz^OEvb8%FC^b4%fW06+L~ pKX?}c!cH1#ao'}sy1Ҹcdq@ @Ԏ3{3rcbĎ#;Fv ,PŽ/gS^fdbHĎ x?=|1cNY~Ѱy7:FfMȚ4Q;}ʣ ȕ^ U1cIoffB@ 1s?L~oA $\ ACчD#:JtYD-:^t 1TF/rt A(Hɐ"DG:lIQ'DQ:Ht U Ad[:t} obt܌jt]頹8]؜# R?Iۿ"`,X[q胘/H+9b`?9xrG0_C UZ]3t1s  -An _WA2o< Bo䛅 ,f!8eOqY, C,YxtYxp7 q*K.tep.?V< t;8ww=|qopU!AD%‚|K ^"!AD%B/x _"!AD%B/xKtD%B/.~tmxp{"(n}INuݫͷ &6! AM ^ xg;  wA3ҝbtgpA& fxˀ m ݐpk膾Xּrik膰5t3ĭb,7C`SvĔ?)S9bĔ?)!ؿ fAc/Y~|˯_!b, fAѪb|D>}٪bHĐ>V} Y1/ȁ{ ZAh)HV} fA̾;w ZAchͭ*pͭU d@~A0U*;;hWAw>w" bl?0АU0bp;n1bp;v A n/v A n1bp AsC AsC!_̐f47Wܐ`nWAC>v3 fA̴`37`Ĵ;iw ALv/iw ALv1b{1Np;:߿$R~W1+` A ă(1:e^S0A ÃC0M4*)ta A= . -}1mA\}A\čA\ ĝA\ ĭ Z  b n j r n]׃q?hqChWiGh qKhׄ.{B(4B*4HBc,4B.tAąAĕAåAUpmh|o*CSC;4Z*C]Z z }x|h.A/A0 Ѡ ԖѠkFGFi4F]A\6mAZ7}A\8čA\9ĝ n Ѡw4Z<ͣA\=ݣ/|4GGѠ*H bVA\9ĝA\:ĭAX;zr i IĥAJĵAKŤAL& n N  ." & " .hV0jQ34h4z l.}8ӇG`#xĕAyzAu]*4{OtA|էA}?Zz z1j6p5ꂼ5u \$s A4׃h\Ds=z`z؃W1^xzUP}_*׫^b>x 1UН; AUP^b$˿O2žbh_ jAUб\$F3փ͕*Q[J}YRD>HJ} *ATꃨQ_ *ATꃨQRD>J :(ATcիUb6V=0Ví N Ei&|cի8U+nPxg@xG/ ~Q?xgx jAsFq tJBa='D?h>t?A8 AhqkQ-Aҿe~ a?Bb3~f럠7$CcC7$C7$C7$C7$?doHdoH`oFdߐ, ߐ, ,ߐ, !Y!YY!YA7$C7$C7#CcWbn+dofdohl+Ɩ/b]]!Cr7$Cr7$[@Ɩ!Y忡!Y!X!Y!YDC7$C7$C7$C [忡+dohl+`MKXBfƺ!!_t͌u]!C7$C7$C7?oHowB#@̼`W|1/ ohoz+.Uu]!C7$C/Iߐ Iؿ!ؿؿ+bؿ!DCG?:x1c`K1rc菑#?F:l1c4>Fc0>Dc/ ~h|Fh| L͝:#s~1c4s>F|&`|Ho L) GA Nr4!!>Fc`{Ȇx$}G9 Yc$njgW 7>j5SȒ9J類# Senj H-#Y~1tcȔ("O>F|,I1rCE>F|1cdHbȌϚ^h|9Ocnj͔ 9yuT_Dsc4V>Fb$~^hW?y`)12c /쫿QWT9'#M=d{IP;$?!iHN Ϛ@VzAJsp+ #E=Fz ǜo_(^z s"Gm67(} +i1Kb4 A ԃ1RbP=zc9Wbd=z 1L׃/H[PqEy78λxq3|}S9:λymL?4y7`Aw!ͻِlHe7?Fe7>}9bv5Țhd͆_ B!AL݃4fCڃ4fC!fA! Ⱉ =<<oF#>89MB[yO˨=Y{ A^k+g0bNĠ>I}FpތoPLj BA!AZ!vCL_߷/A5a]( C 1ݿ 8vCoOl Ls8; b1J alC?>}%8bckeo-@Vߟrz; on_AZ-! n_A\:{ۃhtOp\G-_)aPMiP͋9 ⠚  ⠚  ⠚  ⠚ YqPMռۡ LA; y8,VmI7؛g`38'Hqb8'q8gAā8Aā8AÁ8Aā8 @  q Np N\gaΆ408&Hmb8&m.l.#l65AhjMп\qPMqPMniĥzGs1@t@?8@ 4Dc!8fAK\ϓj@I9&j8&j0-Gk_[sl6 N ℛ N „Ƹ웏Yylj8oR&a"ai8&n6 71psAj*8&nޒ*0 }7ߢU7 w y8a*i9"'#rN3s9w̜ ̜ ȽxMҚ!pNG,HuO9;Нgp'ܞx'<x~3N+QϖsxAIy%AϪߐP]ݜ A_APD>B} A(Q_ AͯA惤pk7.ț_5_5{DA݃(/Ȣ{E A݃$PtD}A݃(Qt$={E Ad={E 1݃(Qt A݃(QtK{E A݃(/Ȣ{DAsѽ A'̫8o=Rv?qU<*qk.[\5{ :At܃{sUqvߟϽ^= zA܃s z1܃{r*33 ?ATۃD=j{ ATۃQmھ ATۃQm$=j{YmD=j{ 1TۃQm_ ATۃImD=jQmD=Hj{ ATۃ/j{ ARcQmD}AVۃQmD=?RۃQmھ ARc'WA=hW1ܫ {AiU̧W߿GG| KAs H N*_?V_|Z}iUPD>:|u C>h> +Tq]((UAQ> â|E n}RB$~1io=wod> r}ѧOϱWBD>h>BB_ `&} ߿oW=8>t]yʧx|}9UP\C~Ar_~-y(I1>r} A(Q\D~A(Q\D>Hr} \D>r} Ac(Q\ A(Q\C>r}Y\D>r}AK\D~A(Q\C>r} \D>r} A\D>r,I\}V1Y:*=+XDQ>|qkȿy3?A>r} AG㽏r{g g@ AxoA?14oUp| OADk71s0 O1tq{L|9-P>aA8 >^| 0~W0:4A/!_d~}[AA;rro^ .QfI|%DGd{G|4ƒD>H9xAуD>|= z D>|= zAcу_= zAуC>|=كD>|<zA/|= zAЃD>у$>|= zAd>|= zAуD~AЃ AG}G`U*/{|{Uh{ GQp*`߿g߃Q}4^Q}{ ߃`?A8%A?- ACWA)* _=?޾$3`r|(Rpg;'U'UTs諠*DU>|TXW*DU>h>m*I* D;>cBfW1)_A&Yyړyړ* _gk;>hl~e1_1c(Qh>F}0Q^>Fi}d!c/A}r1Jc QD>Fb(Q:p>|%1 \>F|R1C(Q <~1c(A(>FI|a >F!|2E1Jc(Q1CnjGTWL`W@~1cƓh*`:&~<O@`A\41Hd (Q63JSx(ͫ3i*`< <1F=Fh=D9{x/kJcƓg*@{x%*8@{ ShOkxLO31?1CS(LA1 c :_?=|0CGTխͭ`1c5f9}rs郘1bNĜ>9}s A>9}s A郔0bN A郘1bN>9}s rNĜ>9}s 1郘1_s A郘)aNĜ>9}s9bNĜ>H9} s A郘/9}s A郘1bNĜ>9)aNĜ>9}hW44O@p]$bo>|H|  |ѐUc*)fa̾ AoruCZ!\]WnH+W7 iꆴruCZ!\ݐVqꆴruCX*X7e2 iknHX7e2 i놰u3Zƺ!-cݐq놴uCZƺ!-cnFX7e2 .cݐnHX7e2h놴uCZƺ!-c 2 e2 afuCZƺ!-cݐq놴uCZƺ!-cݐnHX7e2 eA\ƺ?nFX7eͬ:nfݩaͬf nfq3iϛYOͬf i3놴uCzAm ka]i]{c]yK7[Zq nj6>k[rm:pyvn;\^ ]׻W:qy%q׋ q[Z$ A4hрD>| ـD>| 14h/| A4hɀD>lрD>H| A4d>| A2chрD~A6hрC>|  D>| A4hр A2ch5_u_\:߿fT1_Atq|uYU@q |GW1 _|lM5UЍD7>n| C7>hWA UGWqo1W|d|UЍtpoN;_^֛Gǯ̎ } 5A4B~1vヾэ:eUgWA7>Hn||H(_E Ή:Q`l|779 *8 yynAdК_7BsR胨I1> } *AT胨QBD~AV胨* }T胤@8,|JLg@xg@x砪DUAVQ?@KAd?% JAc(QDA(QoIA(Q_% JA(QD?%YC?h.WoIA' UP_?Cy?~ oAt4d?&h?Zпpړ>o':_\E A(Q_EAsѿ tp87AsU@?***_t>[A`_D D?ߌu?>}%Ak;O8X`.UPAp/~gN:>C2O+r1U@8Xp @мb8 H-/  -Alb @[  -Alb @Zb -Alb @[ `Anb @[ - r @[ İ -Alb   -Alb @[  -Alb @[ H-1lB [Ṷ*h/C!UHD?|~d?hnW1 <9}s rNĜ>9}s 1郘1_s A郘)aNĜ>9}s9bNĜ>H9} s A郘/9}s A郘1bNĜ>9)aN4SCShKC0_y`_|2O c1b`q7mqN ??I_I| &AL⃘/I| C?8U̇TqH?>&V>Tqo~oN(?HQb1btZi*׿l1:<'!|2O N r<8ptg{s̞*3{쩂=<qmd*+1dNYsqׯ_=O3c !c(яQfW0_?+' (~Q=F{(yQ36+#=F{ ƣ| c|c|c1O@izi1c(.1_z:c%1cqN^؅`ǏMU0+P^# >fW||3c12c$/fW0+P3+(c}0'Nx %/1#bHĔ<1ys ALʃ/Yy A˃)0ab|Ã15bl<X{1x9uCzAXFݯ7 a={iiq놰 !~ݐvn_cuC_|J!~ú"*^?ZzA^/K]7=խ?zZÆoi3^oC^7 Ѻ :lx}YvD>} i1/} jAIvD>QvD>H} jAd>} jAcQvD~AQvC>} j vD>} jAQv kAc͵*}sv_YkUkW1+kU̵*}/}\bWA>}v_\UDbWv_ jA8'#p(/r} \_  $ *As~Uhf|||sk ZAD7>0=4=5Dk>Hbl}+ͭ*heGmp?qQ[ !!:GI^37[BG[L[L[L[ [5<ښikyP{El&aBҢ)f}sh4.D ӃO>}Ӄg'i}zФO >K}z1ڧ/}z7$ MZoYkZ瘴_$o̓&xk4i͟v֚\Ȥ5?xIk~ښYkBޚ[ߥȓ:e>H;~~ / Y!C;LL:- ]7#M_r=H=[C;~힉~ ݃vb?+oH:=_g_gBkfizP\c|4YIl>H}f A4i_ȳ}f w`B7$Y!K/>l<9ÁO @ן\\|lpqH?C(!3~@F?Cg @H?Cg !3~P?Cg d!`3~@B! !3~@H?Cg 0†f<9tA!Ȁv 0S - _}J0~G琏 6t@YY։gϺ9@9H? 09h9.aBoD(p!z$E&5i?f_d4=&j'B4juVӞãFIΙE?nS~wGIE|vwO1)f?!w@zsǏ2; Nwl_|pv}0!?!?!xM6L>!' ~BO@ H?!(P&0~BO ij ~&4i_~ MA,hҴi!OA4ii?H~ M yҴi?~ MA4/i?H~ MA4iҴi!OAc4~&4ğ M y'L&,h?3Ok?ğ MA4i'Lu7&?ԟ MA4i!M1?.`b9& cS> YA!:d[glll٠Iu6HΞϞfg~6HK= եA6Hnhv31C{jC${hljg{hW;C;xs ٠ճ+{hKiKixy|d} )zUփd kYm=zAV\:HA]z׃$+Y Y=ZAVc{كdUvvكdm I= AhJ;H;AVjV{ڃc kY=Ⱥ -Y=Ao{5܃dw܃d5 Y=ȚAVu{Av{݃!LP؞v=Vmi=]nDݞ ǴWfz6}j3aw߃L h73Ѯg:A|&-E >|&ELX>ȪA҅ZkI5%YQdMh3ng]D/va kǴ+|ڭLk|烤9|u烬<ngB]}PAπV胖'HKA֢j3gŠAҤ*=ߥτmLh3.gB?3 kY>ݫDX kI>ƺ -?<v=H kׯfҮizAڮizAڮ/zAڮiz1ڮiAڮizA֮hz yzAڮYzAڮ/zAڮidzAڮiBޮiz1ڮiz yzAڮizAڮiA֮h$CƄTM~ =߻g߻gz݃w=Hz}7t.oH; ЃC=ߡgߡ_'~ӡgߡgB; _\/.D!U ioׄ1vy>-RA.`Bk}iofR?_WARߐfR\AZ?]W^izAZid2^-NZ=Hj6Mz51&sMxxޤiMzФI~gMOoҟmуE_h֢?_W:k|mσ=qUH{> Wʏ¤9<Ț4Aڜisy6Aڜisy6 ysy6Aڜisdy6Aڜ/y6Aڜisy51ڜisBޜisy6A֜hsy6 ysy6AڜYsy6Aڜis7Aڜisdy6AڜisBޜisy6Aڜisy6Aڜ/y51ڜisyд9~s mrrsEx,Y:h?_0Y:ȲtfP?5gBRj| AUt&4B?/4>]1g'Ij>~_z"e"l%d dfFO/v^,ݐBotC5?e=Y'=H:ed Y'=:AINzu҃Nzu҃d I'=:AIi'=:AINzu҃c Y' Y'=:AINzu҃Nzu҃d X'=:AIN:H;AINztcd I'9P` ?x[=AVzՃdm k$mic!k$m IA}CINzu҃d 뤃d Y'=:AINlv</Kh&esH|C핡yVǫ[ح΃ZhY~5$Yy<]D<.gSnǙǣ<d +hǣ<d +<d +Iy|Cߐă&c5qă5xM|tο.w_/MZW{7| j&oVAZioVAZiB^ioVAZYoV yoVAZidoVAZi廐WAZioU1ZiB^ioVAVhoVAZ.oVAZYoVAZmAz -v b7H -v b7H݅ b7nCd!6H o] o 6F o 6Hۅ 6H o 6H ohRݬ ׷ۃo3ѯo3mP]Zh}ԫo 6H o6֪o 6H o 6e 6H۠~} ooHZ篺׷A' om&zmtD ׷kYFk}mַA66Z o_>_AZiԾ#x&Zw֪7Ȫz7_~~e ͬAYfY4if 5H3kf ͬAY5H3kf ͬAYc4if]3kf ͬAY4Yf5H3BY4if d5F3kf ͬ yf 5H3keͬAY4if]3kf ͬAYc4if u!ϬAY4if 5H3kf ͬ yf ӿ 0i6Hl M y 4i6l MAf4i]l MAf4i 4i&i6HlP?fBl[5YuMhf4ˬOskֻУ%MAfih A`_ oyRAk_\u} { $4-J@q%e<-NX6HcW}iko:ތAYoHjF AUiL}z=F@zBJ_cQ~f̈́ޕQ5:\d }|l W3 A`4i 6Hl y 6Hl 1`4.6Hl A`,h v!A`4i 6Hl؅<i 6l A`4.6Hl 1`4i  A`4i 6Hl؅<Y5HK AS(&$q`$j-_FAm4i hG Am4i h$r᷇9q8n&n&A9_~Eͨ}tO Yk><?iM1v&YTv,a>5LZvD1ݟf 4jYwI4]Mmęݒ:Ȓu&논@ufY~~=G>d/Aj/ѕNZ[g t}x& K1fzG?Ef 82~s!etfݽYFWo͛etfݻYFnѭetf]YF7nхelf]YFmƗm]etfݴYFm=EtfݲYFlwletf]Yketf]߭YFWk͚etf۫YDjѭetfݩ_YF7jхelf]YFieetj|fݤYFi=etfݢYFhetj|f[YDget{fά]ߜY8^{3kfѭetifݙYFWfэet_f]YFeeetWfY9o߬Ьx^+3ܯ7fƼ_ȌW2Ȃ"2Cd=f.|;v N23F`2M}źd.Yz]U1|r| 3z&v^ȦmYڲl!o岌.,c;.Wb+.O/W]Mele5w6]_tmn1ctf]YF6` sjt!fهy~?e/ lGflŌ]1헅/k@v_\o lY IoW3)~ 7H -~ 7H -~7H -~ 7Ȋ-~]ȋ -~ 7H +~c 7H߅ 7H -~7H -~7H -~ 7F -~ w!/~ 7Ȋ-~ 7H߅ 7H -~ 7H -~]ȋ +~c 7Hߠ~~ -~7_f_fŠ-~ 7H -~7H -~ 7Hߠ~~{M~ -~o&o&o&> 7_ -~co&zoA77ZoDM&}_7hv#~ )~.BWphZ=V@z{rVAZid2^-NҊ7H+ޠ TUL|un[7kyAZA;0ѻ Z7HK߅~QfWFKLoD*h-}ë5K{o?~[x){Rid%LZ "8H 28H>8H mN8FK mZ8H{ -j8Ⱥ-zx! ҆8H+ c$Җ8Hkⅼ'Ң8H +Ѳ8H⇿2qLJuM 풃L69F 퓃PFKamsA7isVA9i鼐AV;H|Et7$E iAR?ߐT7d5sAZ4iUsv ymsA7isT7$5sV7$u I|V 凿2!в9h6?]AӾjp9H+5Z -q9h9?}Mx}9HzūJv/k^Wc:hB?_T7s/纉>Pohyxr^Hi#4=&~|%JxR:H[ &WË駗#K:nzWjZO}p~>_k:F[논j?<, Ioփd Yo=zA[zA[zփd Xo=z Yo=zA[zcd 뭃d Yo=Hz1[zA[zփ$Yo=zA[io=zA[zփd ?LX}oY=AhF{5ڃdv6ڃ#S/v݃!o mI}CRbߐcd Yo=z Yo=zA[zփ!!)o3B: Ĵ~zi!VHBz~Z+؞ϠY$= I|C8yT<3zA^nyvOW:땟/ºAߗd- kYd}kߟ?|"kF W3AY4id 5H#kF yd 5H#kF 1Y4.5H#kF AY,hd u!AY4id 5H#kFօ<id 5"kF AY4.5H#kF 1Y4id [V+AL4i0 `4Hi y0 `cZ [i jj%[dBBLڷZDV+5H#kF AY5H#kF AYڷZDV+5[d}LحVڷZDV+hj%l4Mjij%s {zt+hw%p3h1dBq- j-܌nw%p3H#qEezwXl|j<(VkFkb$˹9:hyxr4Gnfu7hAv> ˓Q;HvP{ g&k83Z;HrEXYwdDk gt{ g&4I<C7,i~5!(gB#}6A(ip_ȃ{6A(Y?_4G?]g%G8_ A}yOAó45ij9}y!o4Z$HY6~ m4i 7=sA3i jyMx G܏ӈ7"L"nF Aq4i ҈7H#Bq4i ҈7"nF y ҈7H#nF 1q4i]#nF Aq,h ҈w!Aq4i 7H#nA3/A6Hl 1d4i Ҟy!4i\ Ҹq5Hj AWd=s& 홃4{L{Lh\]jPgDg΄ Ad4i  Ad4i 333{C99w4{5y73g3Zo A|;3I83ZSpP;Dkgg +* 74/,>/w4Y]n$ɻߠL*Ltxx2[A9HrvAh-֠A9HB4(iPjoDk;g c ^ȃrP?(|p Yp d{8lg =A3ptg =A3pd{8A3p d{8dg =A{8lg =A3p =A3p c{8ddᯰLp2{8lg =13Hp޴7t2Й d:lCgm A36tنNn 9zٺ 7tf6tن d:A36tن c:lCgm A:n36tن d:lCgm,:lCgP{Cg&:3Й ysC3 s9~EsCwd[:lKgm ni}/B+ߋLދЦ"x/B ދv"ڽu/BK?݋:"˽-r/B[܋ -oon/Bkۋ"mk/ª О"mhg/Bًb"d/@؋2"#`/B ؋"z]/BK׋"n#k-Z/B[֋_-W/BՋZN"PmS/Bԋ"DmP/BӋ"5L/Bҋв"{w,B?kЋ[v,Bױ8/@ ΋v"ڼ5/BK?͋:"˼-2/B[̋ "Fлp<o,?^o/_;^vEHx._+/TƋxz"[-/*Z)^@ ""ԋ"6\Bo1/z?KF"~x"B/?ʿ""߅ھ W}._͆B޻.Bzޫ.T2"#ƻ.B wޫ.T{#~We|uuAYWw5.H ꂴ Ү.H ꂴ Үn!ꂴ Ү.H ꂬѮ.H Ү.H ꂴ .F ꂴ[Ȼ ꂴ Ү.Ⱥꂴ Үn!ꂴ Ү.H b Ү.Hzn7rAi#d\6rAF.F.FnM˄6rAi#\6rAi#B H#wz F.H mF.H m䂬F.H m䂴 Fn!o䂴 F.H m䂴 F.H+4rALLLLh#\P[Lh#\6rAi#$ )nFz-@k$۸ iTj]uG| V_5wK| >/H >/hyxvy7^P‹Wx [Ѣn!/ꂴ Ң.H7u.H -5[cwr .H 뻃,=KR/_}(z ݻI_|Ai}_V~AiwAZi%`AVhB i-`AYE-aA.ua6AZiodaAZ i׈A$i}bU1*ib֋ y%cAV5hcvAZ;.cA?i-dAEiB^JY/dAZPDnLhטA93ѿ3th}gVAziwAZi%hAZDnoDnLLhT3ѯU3jA9Ĵo}X\oWFkuk6AZ{5!Km66w[gA:3ѻ3Z o7HK qʽ!)poH۠Oko]o ZԿ3ZL*~VvDލֆ7HK yUo&zmoAi7AZiԯ3k.8Fj¿^p{6dxde<l<Ȳ ƃ,l<Ȳ ƃ,i6dxeAY6$xeA4l<Ȳ ƃ,l<Ʋ ƃ,i6dxeAI6cxeA4l<Ȳ ƃ$l<Ȳ ƃ,i6dxeAX6dxeA4l<Ȳ ƃ,l<Ȳ ƃ,i6$xeAY6d[xY<d;r ˹,;rnAsYd9wAs]?Avvf ˬ$ސdﯙ:hS_-d:hL^ANom",:ӺIH%Av ӧ+;I }q,o| !Ʉ%AdY$I6FIv 4>~`HLd$>dM,dzCFoH2A AH=KWj1v^V^myu1W/T~x﾿f5Hk׫ A^4ix 5Hkׅ<ix 5Hk A^5Hk A^c4ix 𺐇 A^4Yx5HB^4ix d5Fk A^5Hk A^4ix]k A^4ix 5HB^,hx 5]D؝ y j3.vgo Ax4i]o Ax4i j3.v/ݙh3əА.vg]΄41Lhbi>;뀙|5G?ҟϊOZuL MAf ߙЄd |cYӵy>z5fY󑚣4GI~rCzZ\ MAj{hMAc4]/PA4aMۻ×4ޟ y>i5w?ޟ5{Y8vP?nq;Lv A4niҸq;HB4niҸq;v yҸq;Hv 14ni^v A,nhҸq{!A4niq;Hq$I A<Ȃx oD簼~_<$ϡ>Hc} A4/>:˖O AҶ:HcB냴Ҷ:{ Aރ4ix_{ Aރ4ixҶ:H+AVMt 4 ?1AB4iWkBx4?" 7uX%n%u ifO9}*A:zvEhj D`|J AZRYII4FJ~I Ac4F/%u& MA7H sύ>7Ho** Ho6H m` 6H؅ `* Yg Ҟ5H{ Y5H{ Ygў5H{ Yg Ҟu!Yg Ҟ5H{ Yg Ҟ5H{+Aڳox„AzWpԿ+8RxIҳj5F jGo΄t~{%hc&MÙzKVAvK2h^3k^&5H LnirPc'}lЛA퍗wN6:dꭴr6H 2ۉ3Mm4mTWڼ8;q&zGkdnֻ yԯw?^]Fe۽I6hhhvh{5.2.u2.ce".UxhָhhVh{5^.2Z.2V.2Z.xqhmXivhe6ha{5.u2.ce".U2.ExOִhKhGVhCh?{5^.c"Z.2Z.#CFUQo^H_{x^hhvh{5.2.2.2v ˀ6GϠ-352>*= yH;F+^wu_Wwc#Yk{Z.}2.s.lHE;FesĆX:Fep]F֧h ^O/ċe]Fketxv\WձO`^. 2RЎԲOキGfV~.lH);Fj1w=x^.c"Z^cM/YMk5W3iZi Ҧ5H mZi Ҧ5H mZ5H mZi Ҧ5ȚmZi]ț mZi Ҧ5H kZci Ҧ5Hօi Ҧ5H mZiѦ5H mZ5H mZi 5F mZi Ҧu!oZi Ҧ5ȚmZi Ҧ5Hօi Ҧ5H mZi Ҧ5H mZi]ț kZci Ҧ5H֠ K&+,v!`+,诰dmg v6H mgv6H mg v6H mg,d~o mߞQLH9 c%o]h_TɄ,7ͲAzlPodimic'Ц6HڠYSy'Ц6H kji.DO2MmPo$Z[ mi'erxK-mALO? nhvk+)6H n+)诤d-ۅ [n۠I{{$YSMBڏ_to߳A9ȂLr A4(iPҠA9HB4(iPҠA9Ȃr yPҠA9Hr 14(iP^ȃr A,(hPҠAy!A4(iPA9Hr yPҠA9Ȃr A4(/A9Hr A4(iPҠAy!Ac4(iPҠʙLhP^ȃrP?(g3aA9Fr A4(/dA |z:H#tD[MD?\g37EMӅLO.Du.Mj.<_Lhp:HuP/\/:f)&$\$i$`\Wi;2oHB iu At$2~{$ Ͽ:'|$H#rF =9z}$3'AzW< i0'AoHco y ޏˏ7bLbo A{4i 7HcB{4i 7bo y 7Hco 1{4i]co A{,h w!A{4i 7Hco y 7bo A{4.7Hco A{4i w!A{c4i ԏLh]coޣYp6Hm y -pF Aa4i -&fT3LSk&4+L+5!"fg31ϟYk ;HSnLB΄VAlzrtB΄VAj,.Ӭr&4*hͼAy4Y]3o$-4n&zeqܠ{,EY MA,$zp Y=~~z;8_gB񒣟@}|~?]~AI^ K׃,]t= K׃,]t=uAYdzAXd:H K׃,]t= Ic,]t=uAYdz1Yd:H K׃,]t=HK׃,]t=uAY$zAYd:H K׃,]t= K׃,]t=uAXdzAt=t=4]t= Ic,]t= K׃,]idzAYdzAEvvv=V2aX jōuƒځ: {fF[<*AVL<2qe1L<I&~~3axd+KʣIy&,)j%іYRdIy$Mʃg'YRdIyP{e&ZIy%ARB8H A_e<η<3*AYR'h%Vxǃ8M3JZ'ޏo26^22Ȗ^ [{d{/lem ՗A/le A3H6` ہ %A3` [$0clf e ݆d0lf- 13vbRLn A3cf[d1l9fmz ۏd 2dCf A$3ȶdtMf EA)3Veٮ [d2l]&Heۘd+3lgfP{if&[33ak3A7383͙ՙ1;3Ȗg [d3A@36h ۡdK4lfP{f&{4k43ޤ Y!Yyq!ehō }A݅LF͘JLwjfBj˲vNmī EAsjd'ŕ~ʆΠ/Y}cK:ϯu_. jmA3HxnHvblk熖g'ٺ ^ؙOYus33snvs:lEgP{Gg&K:3-k:7d9As|| L Yc[g>g>gnBԾK&ڷsɄ%H ixZ8Ǵoڒ^sP>-hݧ%Z; N:IgB;^'tP΄vAN:If'}{i d&9H m}^I>io3k}9F煼}MX^&,A93zh홃gҞy_̙3i=sA9yi=ǏǗY=sW3陃gҞ9H{ 홃gҞ9H{ 9H{ 홃gҞ9z홃g^{ 홃gҞ9H{ cgҞ9H{慼gҞ9H{ 홃gў9H{ 9H{ 홃g9F{ 홃gҞy!gҞ9z홃gҞ9H{慼gҞ9H{ 홃gҞ9H{ 홃g^{ cgҞ9H{~Ϝ~Ϝ 93g3gz홃gҞ9H{ 9H{ 홃gҞ9H{~Ϝ~|MϜ~Ϝ _<733=sAyMh3=- LhoHAZ"KLh$%K6%r&DJkhVR-ЫA&ߐAZ"id%2^"-N9HKIUoZ"Y%B^"I|CIo|Y|CP*֪8H~QgWGLhoHvŅJU|;OYe6Xa|!xѶx-ѮxѦx-ўj&^F[e$^F;e"^E ^Fzxmrx톗jxkbx텗Zj^FKe^F+e^D e^F6x-.x&x-xj^F;e^E^Fe]F߫w~wm~w}wm}j]*E]F e]_~ۻzWk+zўwyіw-yюj=|=|]Fe=R)_~|Mm2xǫWk@o=^fzUhLh uL{W'wk~w= ~j]d>}]9xSfjmr"MO/evUhﻌ־h뻌W2ˣs]F e&}ue]Dޫwi{+]ƶobޯwkߣ+ե/h |5J>^3Z3L6sAs[' 7^_|=~M"qf W3IA4i0d8Hq M y<|9HrF 14%/19Hsr MA,+hXҴqy!A41id9HSs<7ip9Ȳs MA4?/:HtF 14Ei MA4Ki4q:Ht8hajL2lfؠ {[}K{ Ҙ17hs%}Z[I}q<ikUϯcq y,/( Af4i,X8Hcq AX8Hcq Ac4i,^cq A4Y,X8HcB4i,Xd8Fcq y,X8HcqA4i,^cq Ac4i,Xx!A4i,X8Hcq y,X8Hcq~,D?gBcB8X 14i,Xx!A4i,X83я׉Lcq&N)RLcq&4i,583яřX8Hcq^,^ZcqL?gBcq A4i,X Az8Zb3rdXL3G/HA80! hg 2ҿșЌ9H3rP?#g3!4 MAzi83i8p< dk&Hflkj&[3A5[3A5[3A5[3A5[3 LnLnLmLn,[3A5[3A5[3A5[3A5[3 LnLnLnLn,[3A5[3A5d[315[3A5[3 LnLmLnLn,[3A5[3A5[3A5[3A5[3 LmLnLPk&LB5ߚDk&5[3A5[3A5[3 LnLnLnf2ߚNfk&Lf2[3ALf2[3A5ߚY5ߚɄn|[>9 M&z+4ѲB|٧y>_kb5Ś Y!٧9x5ŚLbM,>͘ Mߧ }Ś[ ^yrl/m'6An4YtDMBnsݛ ݽ ݛz^9~mKl-D"N"EV q8-D"΋u+'z+fdgq|Yм~r(o?/_?<.[7ܿ?oODΏO\{~?~c>{}?|$/?ݖgμޖ},߂W{}v;~[ߏ_󾼒e},|.~8._岾kau;|~pޗ>W\L7=ZZ^}֏ݿ໭?nw{mYc.7ןwN~[y_~ Wy;s| \]|}k$9ro |1߃7fEz79ﷳy92nކ̃/}xI_oKz\W赿? oKo/9zſ~z zޥ~ʽ }/{n|ಿW=05!:xs|~}%>cp}k\9k#;moѷm6x{~r0N|^}}}y<}>E53} q зxݮe6F||=F?gGz84uIlu]96oࣟՃWGBFރ<֟0*F?gRvX>|<~ aϪ{tϧ{cکgߖIc?g-|YOM=|I؏z9Tz=>?Fg=&y8k}lY ՗Ja|)~pҺx>e}l@ κZ۟5P?t|l@ X:gYKIY58Ycju:uu-OA}mGg\۟5R_~j}lHXij}lH|;Y۟5R糾˳Z۟5R~:FNA/?-G Ϸ÷M=?kgN?GYum}i<>?kg=~6v۟5PmS3^O9t[j}lHz8gǟ?GY#3Nq+y|{;cF|3۟5R糾?YY?g>?kNgևv' חv<>?kg=~_:zg Ϸ÷M=?kg}.g Ϸ㏒zl@zůNAoRozl@ z}H?>?kg=~6u_gYKwY58s۟5P?6vIg3*ImvGϿxVcF|ۍL:u;Y۟5RޗZ۟5R>>z?~gϷ:r /KIcFjp''H=?kg.g ଷ0u)P>>?kΩhgYl7L=?kg}ÊIg38'H=?j'[۝5T?َh=?kg"zlHϺzlHzd{;~۬Yo>cF|)gǯc$ZYSHQYS$ZYoK!Y58uDY583d}h "zl@ z`;F@Yu:RvHκ-y>k}lYzd{;>?k_>~"Q۟5R:]C|1Q#u>z\#c$cFjpvDyl@ z{?F?kog8rD"kf$ E6LYD35OW_=U:'O?~tH*Jf YWU3bt@pItquXJ*KÚ"D YW!qbрumYn!ڲq'k˪W$$u<[P\]4D\[V\X4d\[Vo!ڲj~䑓k˒s4d\VrKêJK:D7w1sItquX;Y' YW5\]4du\Vq 2k:)pItѐqmYƍKr#D YW +f I[O󳷤!값!YECVagI YWU6ϒ.:fuҐqmYk)׬ECgON%Yד9og/=kF_'N=(m[H[] Vpx#-s]l_ՑQf4vϲrP Vd5Kk2XSYˬ0 U,e{B)i ߾$`V,`v, VrYZ܅jeJ+[.U9"ˬ8LFz w&Tz Pr IZmo VMn"4pEi2X2_?Ei2XKC.j^E kkei2Xך5pԾ,`6P|.5M! \K!P.5i5Kk\YGV*K +ejrV`I'J[`V,`qjHV`I +u5m|" \KVP|.[K.&Ր.%2(Hʭfi \KoP|.%9(H75p]fR$i2X~ekݎKk؊ijuKnP!(Djp>e4pRYZ] [retu5(Ir%fi \'_.%c(H~(~kD@W#eR@ijOdfF&5p>vXm24i2X?PJZ= 5pzBZEVSD 5i2Xn:k2XB4p8.%2.%]c3Q"ejq,'? " \..U.UY:MYZL\`I&B)isՙ5pЭ:k2XSduqmHά Yt Py'i5nYRiw̗ᬁK]lYQ"4p,iE(%$͹5pPA5p2m i 3i2X5RA5p,  V\b \KZJIaI.fUZ*ᬁ`Mi{ 5p]fŚwD tX" \K1Kk2X5q! \+N5p,FE 8rY5p,iGɋ4p]fɃi2Xoi2XҌZ,^]Yz%}^' ]-ȃ" ]"l#i}ze=i2XRP' \M.$ \k\g \Yy\g \K:JIuyk`IA .er$Be̵ze!i̒p* 4DJ Jt5p!"z PoTg \+M\g \*Tg \x..5E.=ˬ"=")HR1@~dej~3k2Xҝ4p,`IK .ej~\`MӦL.:\ZZ=HmR $ \7.=.7<.ʦB VU"i2Xe3k2Xgux&ig*QnarVqվ6=}EݏǪaȻw<O환V?pr߄ݧmUuGwo~8}pqx?/:pWr7V5dN)N=t/r%z_| d:”³.vP䱗8˷y8xwnn w;J^k:RõOoe7ߦT߸q?YM}2~ݗ~p_0w <2wPwq]w|]?cIjov/{#[\Oǿ_f8M_ד~XW#A MPV}R2XC*^^IORoֺj\ 7Ҹzp偯1MWv(N_fGNގn^2_vY^O5] dcI_}%m2OϯkQN!PϘO_>^QNKti_w,<|v^8Ow?U@ u`nbk)I]\ICwçŭ<]aS(%qzuq~xW; vS'yϻry6Lj# U=:_[48^Z(a9?Aˡy=~2sU mr >0Fxoǐޛ1[^_~hIOUK<\9WDzQTlr?5EXNN0iTc10y> stream x]N0y$i| j8ʁLoOUF2vU>?>73&7%7osSrXrS#qM;bM{ X!LDX7Đ%-1f 8-K31e X3H@F@ +Q`"Lo  4`0dA&M4ѕrLs\,1iDv$j &y ֊Phy L"\f1al4 s2x9fe<2Cʙi(,0"P@n( EV (Ks[y2~B_>nW==u_~ٹ/Pendstream endobj 561 0 obj << /Filter /FlateDecode /Length 20763 >> stream x}M$7rW.kbl#"ݴk20+LjaIm7I-_GYp2_ևBz9܁x81쟾ݻgOǟ?=B#Cy/򟚧q1ia>aq~a"?>_!_>彍o/~?O_ᝧFGS|wwWґ4gZʧwm> WZ5y1_de_#vٲ' OܞwOq_d>~,vЇf+I /yї%lcaaf٫g/_{$8{ڰJd/E>iTL<6{I^_/N_=ٞۯJܴ[,G{J_7O{'/u:WZaR0i&vnƮ7_/?|!?GW4?u\.18_qo~Qf?O?J./hxR8q?y L.?3 7?)VD|N"$]~tEoI-yi姏zOc+%ۙzMlK1SE< )LnKO(i>y9}2nֆUh#ȃv}}7?/?jV|~tBnb(5T䟞4/O?R-E_iFç[LyhD!'fSF>ivd/Wٞٛ-"yv Oq>`TMv._~?}+T<lv*ME>E ݘɗ?mgRոP2rE5'=QY>U$=HQeoYķddd/J2aL *)l˴e'?!)'{oT1p?E5-O.WuMywX} )V=tUϛcA+cyNX=@jC} e]80:\ kw} KҐ*}:@|BRԙeZRM쮹26qp{jBq9sw]*sqSQ*T*TSruD%1QiLUyJْ`׼I3 b-CisnRYRG7,Ui̼T齛VԩY]Jiqk˭oMo.}.Vw ųjb 817j5fO{j8PîϏXzJrj̮۠CegU7-DɊ3K@oʘ.+`z.t$GnN{|~alGza[!jHVy8ubaMrBz orrRZqWf lrDlih.ň[4pyw XځBWQSA%W L]U-xwfI Z'\aA1\%6LOkuk^Pf~yHn5TdUaϖZyy5 +xz~LS-3bVomeifO6M0&?>i5!V昏R|Dvab87]sƯz=溟~+;G̥B$õ;]BSue;v v~ohaӆ@V3G7D,9Oo׺F`eSS%KOxq/ԟakᶬEF߰6X[V-q=So1nq(5 qj'.a[ſqyK 2eD7 n[X!9xܲeI^;V̄1wa_N-wҕ0y19} ?v2bg@;η3[-q{nTT:uD6\6s>lcjlogӛ5{6N5L`q1(g' ;߳G(?Cgz8ߩ>fJu躜m5d =^Ӥgӹ Q6S8Q^Ǵba\K/3c+<V%۝XQa_ GܪK&$`W[ڲ%z K1Jr\P^ycRfκ/wieHe;sg/wmッ30!#u'Nң`͋;#i0gH3|:p*m𨃵WuA_ʑۈe C7N̝ rlbaUh8ukָϫha\M3f*j\EÍpiW9fu=#ĚY| I8PN,iJ.qpr1DFʼnKa{Kx+0a8bwwp2JyXտ}씾}߾N\uhQ5v;R( mv;.7fԅPq^u&r;A[PrU0SǵyM*]}.X&Tm]x%o2ݔM8Sw馺;tQqC/T+0-czdȌ* vjA]cD=Bu: p.l+j+p*D*\V5oJErqy0M1)#36R0Bt=tL#7uI<*%TITv nF[;[ѭם+DJfj6<*q6̏8iF$lrH-WG6KRCLշė_S BmAXn~f _ xHf?mƥ:ŹsHbY\ml&(Xvh" Q 6]v%z iZV\z uɗ_wE;N1&tdGn塹.E}!*6p RK:Oˑ@xj[[qͦMهTkajX܄dbM1NqʚNz֜PP^sA5KUI .6}Լ1Z Tw2/I^<MO+dvzq)=ָᔳ䀦R=bإ ,EAkT^M&P|Q*girwVj RbQ@̵쳹VnSռ5Tlݦ=aéfĨ7b Om8E{l ~X]s=oJaTd4d/6eJFT\ ddO񸣒=юJFT|=U5ȞvvQO)pz)nCO__0Œqo%}?X,Od%'PqP"-C?KqIB+PDxdOeG3vd䊊 _(T`D/LU-`02poLԈJ웮Dsޢq^à7w2ėqXhǡDA2xy7Uq'>ͤ/9~%YZˌj$^F~u_W |woskn p2Jti̩*.NC5KS{ChiskT/eD4 íD"a2 &`2Jp:_oRZZ饜sQqYK` Gv(vU0 |' @||_8|_; _M-!آO`j } 7W8 j\֤~X3|?';WׂYp]6 ¸ i; V{wۧg3cd1X, t5\*=Q4n'!Iw8ov$]an$dduE[;rgXCf8 ?#75Wq0o]zs_mLȗ%38n2JǫOW{u*0vXCRK.NZc\G%Ru3A9@.>F\mPA!QB;#=i!|Tt>q$ ZB\_TTWt v*sqTu̽xSex>VfJT%n 6j&pB6>4zӵ 7r\*ejWˆs{/>,hZM[ǥ>-$ju 5b3Gwߘ14#XŦnWAbJŞkH_Gv E}^pXBCЇk1ul~3%&[=rtP96~p«"Ng#6RZrTJ|Y*WOU5M͍UՈg8"mfUJy.IJEv7AMR;fs%etQa"Nu[tmλ۵7^+stگDj@G]ЗF I$Ց[cNEÓ>ŋ(feg0x+#jtb\I97 }x2L'}rf t:CA86!i!.ڬ ؀3_-Igdq,x&.H[iP`d2̘c*fȢ08qg%b`Ƚ!P"I߂8oE/L=u}<4nqxPI L|qE # Ge ʣE|<W$0O%WB@w%.W"M{Q ,"w`Y P8Gx-;+i*Ǧ>1}*8RqjԳrQ[W 7zaAKmu=Gu?s31l`9}cC>4DPPRFcaT!g'Z]`n}= (f +h0~lo>pP.`fx# v& tCNaRҎ|sJ,±R5d:*{K)`'Ao_h``$Wݶ1ܞ nLKzF>߽S?5ը㳱 #|!E3ue͋K:1}B<]TNxk5_KjTѬ7x2.se\Mfd*5b WE54imW<^Jtg`07 .@Bv]`> Ӊu)cUS\9tYo`_Es2!HY[`)yI9-)o^_G29h]:ЍT&kX/ZTQB*kDk;o4>];=WwpDŷw;].m(}oHS@U*~J9J%6OwDvhkKvcջU1MU2W]Djma9!Gq\ncŒjR=ͦd[q)!#AU*U%:c%,(V_|&ө q!WßXG"owfKw]~PqrzVPƶPM7rFC,4.$h LըRx'wBk"ub UՀV1NT>,nQ_LRP!Aڡ_O=s]Hm ^@x׽3kޮNu.oiĐs ŧqOuu.Ӕ&*RN})tHs1ł/,>+Q^{aʡV}QUޖa1s > *ې֔fҭ.]KQ>}Hնaf_ΏTD^25?S]kl+Z=dM@rK_\7ߗ( YOL²ӐlrJ֏~. !!9v)q;z -$p#e,azWd7uXH?1OAHUE}Wܣ h0m~ 81(J7~/'8ρ yXV" [u!9^]o9KòVoX'pyx=T) '"~ DULxUJF; nώ(? e7!l$yCQNXw;|؅b:@zoJN l }FAD|Gb\0FAh0mI8 `pp8DLSGE+YnLzJ =iٜ=KFWkxPT |4$y8-GLGxe.}3&WA^WɧR%OaOr.phXI[j15BUkpνLü`OI80.ә%"zj% 3 V.}kh {|ثLjksTaɗ]2*q qFt83Yd'l`\*{EUwrOlusczm"6b<ㆳZ<SNQ^]700uRq}O,i;&yy%Mh1j:؉5 3 e+,iJ,WkU^њ.vM`;K| x\~{ ;uɏ7fi~uaAz̃WdBŷwq(;L2K~=V-]17iP9(k쳎PVs.;%hō i.|aBէTWU}N?)ջд}^SߧםT¢OtU(nբM Dѧ]V̬SUTܹ1_\%H;=tZ%Wu±ƫnTVt]SY3Kxv{x1.ӰoWIOԛŶ16"ZDu)ECUq 6'[]|ݦ&V- nߢsq. ]fuulWx\)ȭ)vfN~'izv~^ԧ藺meoAX-<26zjS@nc;s T̹Q.c"xDnp `W0i"A{/۩o: 'm:Yua."-DˌYvis ;VE$c\ ̴(d*.p 3V!LPXZgǑGT91MN9ǺcZp<..nk+ ҉ksy׵ғfv|KuqżĹ&9/ nRz_|U!V[ޡhT4}n F.Z脃bCзeŅKPZMN1E?iO\9z?bfMTuZX2m-CN["ީLjHnV}r(HQ2?F݌luIJƯ:I;I'H@Ȑ_r&68cY~e6@^4) a7Oly$_Wc AتpH 1'Ġ-*+Io޹%qF7aHVg!o=p ;!\2ؾo"E-oi,ç7"q  滍9P:y!}:Lx5ep BjP:xm14TmǗsR(`1V whR/p8{s'EVĉ8#.? 'b~߄~` N &`| ' WvZh./zez3 Ur.K)>K0xQue\H8mco/xy^ DZI6iRj ™!EPOQ*ppѣǭ'ŶR=\vUBWEVFL va_|G Ko$5 8N5 SLHxo]u!.qOgZZ6-~,,1󬨱 8; ~Kr<0LpxPe#93+4JtpA'9|`Qfio##[@ t(_jPmw'2ѡP<6/1kT|wnT]cnXRi\<}T?1#jB₺b$Ob]̼Y7hEOqBKv5egpyLWikaKЯ/ǮF3_1 ޠJ m*k/:^2<PIíqpʝ86DNGTO1hRW7j^oU:>E_XJMXw8t!.ytJRC?݃g RfP NkB3%OCì%Tug_AJ:1BZӦ}DXUt.CsrIfɹ>xͫ7\x27E2=n+ϰ¶HB1a+K^2LTI_&U4#a IRs:qeF\pnfhcw4`CD>Zh!v^fq򝘾:0cqv3f0ixdR ِ{CV- Oqp;J#>d{wTqqabakPt\PiTXCC #AQUMPuv@PIf08 Q0+y^5~oL`AU*ytQ 4p'dhX5!yI 4=CyUx4~Q4xk:ȃwdҗU.bz`}  Q5nI"H?!_AAs*1-L̬m3!?oG@hHl & _ȪD 3iqpf=>wZEz|m ֡0{:4 V4G%Qt]{t-E 8bɴqs )61GT|j*p].kO]9F?3JW8 .|f}%Lf3q>OB v,#pÓaU}vۉʍq^;3.C@9]IP6tg.xWix#uSuIY\D^chN~W$ez;ot^_vuMeI*Cqial{Ɲ`z=LULhrOOWpw_>Ͱ*X*/߇ԳFX*y\!TN ySi,'N U*j0xNh '\}By}ZPI`D|Czm^jW=K [֝s5Ef^'q`ZŔ]࠻,x3gԩ iSےUx݀pԪkI4qy>\1DbGEA.k,QPR.*8O*in.檇_ִcn|mi7SOcn1kmKGT2)UDW>5hnZBrƖj̹#q"kU#=eǚat[x\҆IgjN U뜻U\ٸw𖻆nAwӝ9(&rjpSAuF8nSdSK[43/*V@[ԲA2M $ENEw_j}3eXSRot0F`5oקeC6Ѷ?ɭîPTȥ:1EoUR4'%%ZI݌lt\J_Y(>.s:);J{lADFd $G Ԋ&ߚ?C( ]G2zĞ3)GvZ&w26!0?EF%d8D dIZxȽ,NR:[h|kEULIn$`6Lm :' (c} *)N,p?|m^5.NKY _5NRle-.RO(#no % q| ǣU[@@ @ԫWuX/:A׸XV CABVp5ù{3+kMm!#s)yC ùG|Jqff sqf.xL OKgN<)U Lj|U#(cn8¶QU"Nu8Eɵ:kcQ5c.qOTm-pkm%-pv_ ^A ZMiIg^mP ( zgj`TWpyn~Vf>qk=X*NZZG;善ܾS"xn3%qj2|`S2^:5>}<Odȳ6-Wkm__ޓU/>q?~!JS&U:+Fl'{܌l9qmJFR;.|:_~FT.;"Sq0ddOiqG%#{gaGrR%l=3!yM]%uL,ܴWN?of0" sW$|M9컑bxLS߁v K|. =V{!9V5'2 =o8'Q -:7X;i/hƝo4Ge~I<=?#>m[|="#,qX0 $˼z-wSL`2۫q6q.:ǣ&!0 w)cb;wd0 {|.JXxѹIn;84Z\{!;DF;Z%Pc1;0K`ͤswČ5m[^5d<[~}<,}_F TQr/,Kio±*# ;D.؀89汥_Y5LFx-N24UCb|3'AbɭNl_tϼnӍ/ a@b-AB/X\)}N5cɝQ%wR$ozxܿD6#sWnVh/ybMMN]Ob_m:^ 4,qKAIfdk.i4K%1nL*JS0"+5` W>1;М퀛ܭ 'bqV5DiLhͣ\=0w2!4ԨŜ'Js"}W{4%mDfO̽λ_y!(k3XJ9t5xy5RBVziZLt.]NU۩Y;;ZI쓧 .E>ed~N(t3͗Q&1`^d`Ycqӷ#*#;*O!FFQL쨞I}'CځUdgl8$c #2}F M:Wg`7.'$7KT26+=vx%p8k )CZG?9&*N!9׸Is\CP|\>81ED8"QgmQ%U1P𜏯e{|+xQ{08oJȠ1qI{яSׯw4x|sz `RBN!_=;ȢQIW?7xxYSz; m.sL; !_ 8p;.e7ÙzF>~gl``3tIhkl;кud<ǩh@Xd*X+ح)x$7ȴ4a<.h:~cpP8݉3ĽWKh<sXjW8~< ;˲ء8oOP5cM)Ux5 b8춝BzW65swtnjQ젒~!U4C\4iQð^=r19WCzM\Wg\\z|2.|Wq 53=KK|74308z˲>hq6k8iU0BN/Kp `+e(;ZW@;6#j5ΧR՝9u&p뛡3m°ZMSgܙ5RU]hhFs7cH3#jHM'o5묊y\^ˮ*—:s 3N˔Zt:-cD*͵:Fܦtn^8.4;KvaiŤj\cH tcՃA">[ʀy@d4 .]B'u-.OX_( -=dHS7TfVhc=34$ v ||D%s'^}5=jݖÂN#\bk9j>,dSzrO֪Q6VTx\PKLxC\Èz]uU||U"2vDȈ7@-_nO_SRV:J(q1C>U8ZipȘaGeγ5j<28qνhy9td-}5 7 0=pUjTu|7ԑ~OH@28d@X. a0] 62؇%½-r]==Oެz(:Wſ__z8@ۋ~xRսqU qQ;V;ޢ{t/n-y$` Up'z)H4έ=s<-_#s㎻X0JZS4I$QZqPq(O\`[SAV`ԍ{AӘWe4U[K|s'mJ^vz{z,{U8E6!f:EzEeHӢcRqz*8֌]Tc*iBӷFiۥ\2j>"S н`1u^/ܪf$GZ곶Hg!Ws*KmqB݌Y^>^葾t{2W]:5Z-oB/ 479A^U%zBˎvnjH+ ;ؽ#直n1c΍uk”jTc*H7Qq"K:>b<8ߚѻg5Q|P~tͣjH5nf\z]_K_#wqH[u|W\wN S[^gRߦ>NicŨޤjK\`A^+ ऌXEucu9_bϮʡյ~uKrl7vJubCW0"n?1 ^]3n4-OP*/6ֵű֍[V9CUn$ߙ-,VU2rAճ߷r%S*CeYU~|!+e*PhG#{*7z>T2rEer;!I^}kݑV?>}<áD=,$"9aqUѲӻ/6]b3o23C~3&|>cvrC"]># #)ok1Utbk3\58 AaafǷgyA{Rp ]+G. qFc' 0Ϝ#{2fB6n5Ԃ}q'ޓ#}Om2"Ԥ![(!w&KBDJY5L=rDV0Gd:""rwaQd3 02 /cnlU1-&\I;/17E9!b0W|g|iQަm3vB㲆`y+ m, vbR!)>{W+e+wE^Z]d,.U.fӕbob.}J/M(=6aIctoR4?.t G51 Ԝ1k].ѽ.P.g 3vRu^}K1@wDf㱙 &N >^&&K z`t`_BU+ӈX.2s+kc&_qp83:9y r&@kDWC4`[iͦlCz[ӹimKvIեuxuq6׍WR}-G$y;rG2G]ʎ~۶G^xwvQsb|ص8h\6-?aZce J$RoWsih I5hsi]lBMsk q56v'!Bung9Ƹp" y!41Tyɘ]Ƙ9 Cd1q;<\ ٔ}H ˰Tlie`)ktA4A3miˌӵ]`oxtkTƻaju};7$  ]E˝B  9Bz˛4\ ..j!;Ɇzev>0hP1wfj*IR"dk*" z{]ö`kM-Kxf[03QL/pV2.aIso`φ:LO!JUydh ߓ1ˇ|o?oxMx#L顏yjw"CY?~{?g4߾"||ϩIO?_WovO?>}Ɇ _n/Jendstream endobj 562 0 obj << /Filter /FlateDecode /Length 320 >> stream x]Mn0F7 )&dѪj{ǘE "d.҃0.9)?)~ ctKL撮c.jk1Og(oaA@6T~ʾWv(N}!%k*Ul'.36~CCw~ٞ&j ( QQ@w+= 4P+ yh&6 M"/8jݖu[ۅ *W玅-!P(`.:p"bE(w1Pi:Ol˳k!\ڵeIy7sD4/,endstream endobj 563 0 obj << /Filter /FlateDecode /Length 352 >> stream x]n0D|NȗCc*DȡߙuClwXou\i/mi/it[[LehL9Lq~5Eu~ ϚJHcpMՇRMqm 1maNũi}Vpi}>˙xY$bYmrbM*#תUoG/T@z;$bU#z026DJGE1,-d{"v$򰠦h]-$,Ϋ-}tDDU lE_ A@ʈU@=> stream x\n#}WCr<8"a# yJD[U0V<\jy˷/7ȈYe_4eJ:/W~ysXjRO+jlVkcSyx؟*G}~Yrx/WG9S|pP%e2TnQifυmX~HP5 .0Z-_d2m!Y]j]G9N/=0l~YiL`aM; hMD3uhS]OWW/цl:7][x] /|t3:Jp\bcw[: [s:S-|~ߥ)X5i)]D@ Y;pq:8D)߅c9I "1 s\:Ng ByRp&B@{&mmڜmIƅ5mG`jz\. ۦӏh nWF7ŶΧļ(^ߡ+KrHEۻI RDEܵ5m&aNVd;7-+\%ZڧJ{'&0J6/MpXpo志_VeMJtNK-r\]2Cx\j2%,12A['Zzo"KD8|XքT4Ȕs,FJV weqpxHprp`m&>5`B4klc}`W}r5QbS w=%0/JlD](0y,,Kg!1piPtD/,*a㙁 =9~ $8XMK({QL`Ky:]Xu\,P8ldaOY9t Sd 8f^b%zR(WbW!Q\ k/Q t ϝ^ͼX˛g%1+Dt%rAȦ8"1ʚo,($zLBEh}vFYKB^%.1ʚ/e}5}ھ4fcs"9FY)e/iYVـ(&d%DHD8}Ure8FYsz/(28q}m 1j˵a](N/ j23hoaað8bqi##!,By6šµjt`X_rdgJP/|PlcD{X$JidQ!  V X:a͕`+;K呲xe!tc( ,D{,`( B:iQb-X\?FX:WWFX:Z^b_i_ %  ȏ.s`3eH2L7{FFQVGBh܏cB14t3 h m|-089A8XhK;ӈjeiZuޡ#!eND7tXE 6J:,]7\H`5S-xdU,+=a- y>rpdi, ,HמO%FXdk,/ KFX[g:_kS'1cr,rH8FYs$M('vI8 ca;64뉖ղSNA1"]/hlZc<Zwy+Q`e^CBC3S4: idZx*e޵c8!Bttt* 1: t@9D8sE+,i/':L"oa&ӱNg2QVWZqLaƁ;l:TD6&ޣck#tD83ūut=o4pLe@ 2R_Gd8D8x9moQFY5`}sVc5ہ+i-p& xޡc!oTcgY~)A a>d2||^NǻHx+/jetv.s{Sʩ~79bb`(^|]L֯J'WmfrEW6xM OV;ۭts/~{맚h.nhׁsFm`Pr)w@j5n&.^\Ֆ>RWgIPmOgvݜ)kt1yw?]1$eHq<ֹTb%6߶at&#|PN-WO-^l 7rS+p= ~KuhiM]D]܏ۑ>xo*qް;131Jt7W ݶu9oΫ\W k+}p௻C D~{m:Ap{4 Ledzl ]+C |Gv*DzCW4[˰%endstream endobj 565 0 obj << /Filter /FlateDecode /Length 349 >> stream x]Mn0'RMɢU`L"Y}otC<:_^.ϴ4[--O\4?HڭEu~֯5HcV59).C]L[7T4H鶴sF?>BMvxY c&cmlц2T@!JP{T[lla.yq}$2.2י21WPUc_S 6rh#~E= M*`K`D#p_ʈ)R@JƠ SlȫH6jV@xc8=)}Ҽvpi9-ຬ*Ncendstream endobj 566 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1720 >> stream xTkPW=8ж@hEf@tEDQ7ff 2c^t$@2bx$88 c⃈HЊƤ6I6>jM 4{Gd]|wEQnQtsv~vx!͑ )G&:ab.P aVO( =<)jA$̚<'`kvfY:'DN)PEiRK/醜\cmLٖכԎoF[ic\<5BjZG(iEXX4qhDI$G}iOdqJu\o_S**!]E1ƛ,=͠d;zD+7b{Jލ>nÓ̿#Loťl7JTTPj'g9ПPDKt?`/ bf K2MO.}-`Bׂp\UX?8PshQ}XB-+pBc&B3t#-BMSs _'sk"QyͶs`h,bDb$P%,{҉Hi@&uN%lz-7g@EvgKqHvC_A>WVؾ|Q[3͵QWDdYd*g_hOLNۚSG7Y=s1WqvmA C'ٻ]=YOx}ړܸ{^.>g bȢ k]|2:iӊ u> stream x[$Gz ER !/Fh=lRjr<ߙZd!a zވ×jȬ~t}~wwo>\g?[KrtL߽o]/9S~oӇozvo/_O駏_~7~y>o~/No?8퓸>yo3M7#qx>o_oߍwyɎۼMݵ_>y.tgwq?_>^vqCQ?.iwHyK7Cq?t/Gr}LGw@K?Tc#n|8n󑿝:tӝAc7qϷGecarNzro~®zv}^ng6j4nU(2{?pާ2cX.'/?r{cw+u2W)_K3UOo8Mܦ| 89 p+n%eGpmsP>SԴkR-UTJMTTHLTTUM4UMeUәHUj:S}Und9T^ ڞNUٚ =Y'ЧD Q\EA&TnLVIVJVLlUDkIZ7Ҫ2Ъ"Ϊ2̪8UYnRUeU*XnRUeUe'MUevjPv(*PuʪZ7u*i*P'O4*~. jwUQ%x'TyȜ:wTO lIzXb 6},Ac%ZAu YWLJ}=|atV@axZd*U62yvCKhhĆ 2ĠB' 2ĠZ 2aCKZ -Ahh BCKP  -1hh BC+ 4Ġ% -AdhÆ 2ĠZbJs9% Z6sZ'VrVZ -/Z -uC`[n !w+rUn [R[i֞:['5\C־?v&@V0jGRAUWk#JRY%,!dd YbBFV0hd#KYb ,1dd#+4Đ%,1U#+2%`BF2ĀYbBFV0dd !#kr h. WP3Wș8]_Y\[-.4[\81here\-CjjuTVWjYZ,'FV9O4u|ZhvTQw6*pۍ,W%,C`d!#+ 6 e,Ahd# YF!2 %,Cdd"#PAF2 %,3dd"#Yb2F2eqe0ͻ1\*WTgh]A+zh~ѬT@k' Y%eU@(Ā:jX5V:>- Hp#I} n]+UïP_8Q_4LjhW_@/AĠZ%ԗT_DK /Aa%՗ R_K/Au/1 ՗T_P} " /AĠ ՗Vnqws_7cr]к.QH5F4P `XnIXE.LjF F1z1. /,$K"^efWo]zNx|C ᜰINXNq.h ] CC#zhhBC1F 44S PhhBC3Pf 44Zh(BC#P F 44zh(BC3b 44Bv]aمh[ЉS]AUT٩r8Ub0'.)',gpay;*'u[2C!2 Un4ڄ !~&\pb]' ZWhMn*x|y[Wh\A֕ ueغ2֕ue+3d]J ZWȺ2֕ ue+CUJYWfȺ2D֕ ̐ue+C`]AXWfȺD֕_݉ LP3CUq* xV9&Q oc*hcQrLrL(B9& cX,T@r,H'[|=IrRqH+ $':Iˉ֟84Aa58tb(84S@p fPphL=8BԃC! fj@phC1 f ԃC#Uk=ٶ2s}?*qacyX"w7Q*hͩrq3?C YPȂ2C! -(3g˃bAm`ADNFrTΕ\S,(3'T93 G͟='W$'C`?!) d'Ah? O~! $'Cd?"P~A $'3d?"Ob~2d\~9VrT{Qɥ9 (zQ.{QB^WFE.~rA~2%/ j/7٘rA1enL %f(E$/J <`Ɣ Z)ԍ)-ƔVc`L!cLݘ2T0hLSFCƔ1e)3ucJSf2S71e)3`LS2Ɣ0Ā1e)3`LSBȘ2S71%)#m+>SbNZcG*W4/rS1%%QD1USj_5 rĠKTbХ. ^(Ud\(e]Dè\`إ.նk\qRgTbN\rg.U9vslT"UTةDNtVĩDNtbJ9UbЩDNU0T BJ9US%*AT ;UAS%*ATNtS%`ةDNtBJLS'?cjYQ:K:Kuu[8[/gЮTЮ+rBUrR,B9& cX,T@r,u!mf*hOUA.T.ǢYochc@91A$Ġ[9&cDrL 1A$ǂa9& crL1Au911( cP "9 1A$Ġ 嘘F96 \nO u3Y Nr'YvuA=+R 銥<|khW{9RtA5R<b _4@h1RO/2)#SD!'ȑ&̷F.HQ ,o7)bNRr+ I4C֕ ̐ue+C]LzwWwwXWbά(6/~wAu LwW4/~WHzwͶ+ȶ!̐mV2C mel+C`[AV! mej[ VȶD mel+1h[ Vȶ2j[ɻH4?Qv|؊v$VV\yxz0VQКu8X{+0x 4IvӬoYQ@a0'?SǯXQ.RXA UZVW Ջ9V ʰ dU !Q"AI )aA `PNSWS+b*RZTR uT0$VUT0$A 2(iTPWP;LD[#zDQA} nC4|=@'1 =!zDs'AA᭡xHOD=3$`<(5q] u" [ԓ:B9zL'R:!.@D'A@<'ΉlNDs@2'9! rAP*'ʉL.D%raEf(3$Jd*% pԭ!/j&ZC84ph\! Qg CNL{V3i\j:!AOhN|l]2n2 !A k yC9d!3d BDf!2 Id\"1h"EN̐Wd"A!E0!̐g$L#3ѬN**ڳ7W4o  h,mOoM\@qXh \+ \bPp B%5{SoZsA]pZ`gYp9s PpA%9xS$oF4v XDK j:XHcAk,AĠD+XPc " k,ATXAKjPcA%5 XDK jPciX|O4vv_TѮTA+X";ͲJ( YfYUJ*AͲ* XV jT@>V05+)+)U yi 6]cEi,!mKtRjXc "%5 h,AĠ 5 XbPc " k,A 5 XPc k PcA%5V@ĠKi`Xc "%5V@4cc'IcAC?P-TY%.L`Lvi,AotEo$4 XfHc"e7UPo$4HvEo$= %+3ͿwMr5f ]PteDW@, 2CK.C ̐2K .C$ .C$ UE]fHt"%D]Ht%E!]fHt "eUt7k΍BzrA뻦\P]k~<x֡ ˣrrwK/G߲1jt# G7 }N+DGIBXc'ZKV@c "K X+tc "K X%|,1c "+%|`> } > BK XD>V0c "K X%qs['/4C PSE{x&8?TlVHZ!ieViVZ @Z5YZՔ #BW4T*HZiVh UHrErI+A( 2C* V@Z!i%!VfHZi%!V@ZAie!VJI+3$ D I+C$ H+3$2*;?Gc"B3RAsDֈQ @͞7*?:?#df 32*i|z'T.h> AhGg\3*h㭩 ZSA@*(RA3T`*h TP fꩠHSA! TL=BH@*h Tf H@*h TL=4HP*\;0xRbNLvh7+ *UT *0DԿ(h]}' Ġ'zRb:j6.hWٛӢݭRU[%٭RA[ [=]idn%O|}&񁤘/:G1( cHrLD] 9&X@,r, cbP B9&X0,Cr,cHA9&X@(Ā P`Ht ѵA:K:+*Bgt PRA RS+ PZ K& HgσE ]:gTS`L B%E J 5(`%";3 :QSV55&: 0 yb(3az'YaPg0O yF 3az'<30H=Baj!nc @d'13ٹ#ڨ@d.;#p`g¼L@L5txG}BN| D}fQBg>3}F 3S.fF(3S6>1e"_|c7_ϻ牥$-%Ah)Ė  XJ"'E$-RDBKI ZJRDR0l) "KI YJ$,%1h) BK) Ġ$-RK)GVZ I"AiN\$ALq jT^<3!Όr2*cWH@IH]E.v)*E. t5HQ. rĜtiTh)Ž㟫RSHM B5eԔ!PSbjDjԔRSPM5eԔ RSfHM"5eԔTS@M5%Ք!PSfHM"5%ԔRSHM 5eԔf5 RS5C ̜,wQj)3jJ *77CJky (W2DPu!P栀2,TA (C'k6q VSYTSxS9 5)}_@@':3ЙtBWoN tf@@g:3ЙtB(3S:!ЙtF 3@@g:1Հn#p \UPvW(h\P@& frf^-5Stߜ֙LcZ'9sufiH6:3xu!3ROwItWN;#dc{z r<3^9O ĴzB~0 JP2lAT0d@OԿ@S h> {O:O+S ;S0:NYN+ŽS0d8~S0h7 M zM+CVSߩuJ.Qʜ%xu1  91!)iONܦ`lJn >'` ?(tر A(8I8 }`6ڍ Z =` pr Jtf0_#CF2̀?d Cj !#!L2?d!3uHCf?$!3uCf̀?$L?X-ެd@7( Kpc! !4C2o\?t<$929 ΑVΑ )J+̀sd9OΑF<8GbZ#m0_l7̐wd#A"Gb7K`!!IHE2C6 ̐d$C`%A/IfMv!̐d%Ad)!OJU2B XI5M% :3ۄ*M2CvR@'C̉T .`rJUsf8(ɒ$s*灦!r TnNfx2t<'YOf{2tf)BJ ZP2C+5LrA4_'42IʤX& B$dR0 D/"H&A$A$ĠL eIP& " $A$ĐL e IbP& B$1(L dIe*P&2I$ĠLZ$dv,5$<5W˳E_!T.TA*P@%F8 (1( @%v P2AӼໜ˪<ʪ P zb(^ @O@5 @O zB( =!艡@O z`'=!P'`(B @Ozb8K.1*@/5A@'xk߻dcb{`RWN`ROIRWN:1ԕ8II`R'^d¹r 0<<`%P'#D,KS]r+9|d|%C+ B_JWSLTa_ JW2d|%C+_I JW2 d|%C+ "_ JW J۵+ +iTd|%3'RkW2ľRAM 6D˺ G$B2T}r̐d *O r̐d $+ s%v+ *n t]N8.ϓ_:1BH X B!$P0 D/"HA! !A$Ġ BP "! !A$Đ BbP B! !1( B(: ؒ{*x('II$1'DJD&*hqWxįX*q`Y%e \KP˩5X^J`TR5҉ Zc*3Pfr53\MH5W3P3 s5#\L=W3Ռ@fr53\Mjf깚z&r53\jf W@&\ jZԣ4#\r\ 0W3SՌpV`Vn jf0WKj$(W3Z9\jf W3S ԣ-\ j$G7Zt[9zM ?H"mA۬=.=1C!d%C/K&'Md%A/ K_2C! $%C/I K_2C!d%C/ K%W$_rnfhw@"L t H. Pv"juT"\$C"5T)3C.fI"!҉!~7sT.!p̜y3͖ -=R2Đd,%3uKIHR2Pin)KI YJfꖒĀd,%3`)[JBR2S-%!d)[JFR2d,%1uKXJfZ-%$dvrSA_2KAKLR2j),%3y4ZJ-%-7p i\RrK`̴ZJ*KXJf`\(iRm#T%.F_Ӊ$]$A". t H"'E$]ED.tBI HED.R0" "I H$\$1" B) tĠ$]E.vI".*E. HE"EH]$$EpT.f) ERHE".tHQ.t$Ev$EvI.|!<&ROxCI H@I@*tMjIi`H2 !$K\jI@P+$JNB2I `@$ $6B gH)aA${fm$vbSmI%gGĐϳ!#m=ABGL3nQ@G(óՏVnl AQ dGyxG+Qw 7Z(2V< 2 @0Z (pV͢@+ @)Z2 (V\$ # |V7Dău9G/@"CG(V(pW !'(0V l@ Za (_ U 'r|i5|V@o1 Hx.AG=#A~7?A' {#~ { =C~O0"G = 1B' {#F@'WF.h~QT8A  #U$ R:AZ_aWj} _a /˫OPX>{}v^]-Ӯt3ݼNۼ~wO=4;`ݔqSIvhs\ò r^}wom{uحׅ~y_#7`jRKohCQؕxXGJ/VMƲq0c:\<#lA4PG0쥃yp2 1pe3b:؝S9x0pP:?`cWv7^&w0``_p6 1;Le:j{vV<摥4u{VE]FE۫SS;jm[g8k0T-x] Re_i*Ft^)8-%9m 5ck562hmZ=Gіo3E=#*cNEkVbdeSNE۫G2*ڶAYpðqd ?Ϙ)*:`kS"+ 6%A~׻2dmJɠ:^벒2ֶ8&Xʾ%nȩ-Z92*ڒpL~,kKvWN'bM~?a?X43ʠl祻s]MSkNkR5iKSY鈷^M0eG벪;ֶBo{jmx+Tuy3Pd^9]9kQʾ湤kҖ+ǘY[ q@~׶t^.]̩-RE_ 3s*ytq9t;jmKYpҖQzO|C 1St|9mךJOƛò:4-ΚyLS/{ՔȊNGr'3i]-T%{*֥6m )y\/CZhO.hiSTt4u!5ePz$C.͡-;?K-=ju8o;jmK:ʾ3hwZV,5W" e|jU -G{^sdTvmu[jrLڷm1l~o le#WL{8]Mޔ2wm_egԮ-nWv}2<)0oژlO uIGvm5X^aOwTޖQ%s܇]_y[Fm]ˎX/#*_xwvj-y}->Bݯ/{^Z3kזQ]h?_kJ*W׸2nļmGuԪ(rvTޖPټʾU[d}m pԍodזR?ex}=cwYڵTw vbcvm n`4qڵen^7Uu{}2ʋǘdM ͩ9tQ֔15d׶PC֮-I}ڵ(ʻmmGm } ]WޖPi__,_>H)]%҆ߎ^>EM/h%%zG;_"e'dc*;VE_WM;kJ"'ozmrЮ-9]ݻg>^ޖPYW[L-Sw]m5=j[wTޖPٴ)(miS~AƇvmU\X=vmۨ8QڠϳG$wPޖPnʧLz#=I2jE_7~:Ҿm9٭_ wm mcsQ>oQYZxɿ][Be*a%T~.BO}pڷ(/#KX6wm }_uy{>oKls]AT~ߖP'}- }m 3@jD}jך][JEڶX5SSN*Wײ6E(kזRcy ?ֶeRjזR}hw}R"}/kbѬnn]Oy[B}&=/wm)5N]˾n~AKڵeUk/#}|cFܵeTOt5WٺڵeԠ5_xYSd'|4PGYSx |r*oKlRe_e<*ky_V3oK(kΆ)eٮu磽Ttu-Ӯmi(ʦUûM*kw9Sc_-Q2HڵTғ}嶿/:wmewtdڵe԰,܍rqO|icr{*k7ecDc>][FmkS׮-I(p=j}-iak׶|/#;qזPA,ע][Be1Bշ꤯{,vT@v5Sy[B'jp%TvJN#9҆sbz.pEҐ})^޷J'ʦSu*+oK5u.E-,Qʮm^M)c}2u]6hlW)cljl{(kژlFeGYOyێanl*oKl^e_kWޖPi_]q Wv;ƻ>ٷepu{:1*Vޓ-svmߗ9%T6/-kזQh׶P۲ #Ju0u_y[B%}mp΂?%Qݵ<㰾~ݧKy?,>-_o/?/?}oTy׿Kt~Υ?>}wY<۟wTWۏO{dǷ}˗}:|͇߼f=Yb;m~×e?w?tjX>'< =Xlnݭ:>*w ~ qO{C3v>o~=&ӿ.E7pm_~}|^]Lp{z{koo߿eK7Xλ`>[q=ݖ堯SIۼ?~^o}Ͽ1|X~Z?w[G勦ryR:^ċ1Ol_gTV}߾|oayo,;ˊ_?n7͗"8\_Y0N}KmЅa:Mòq,oc29_A:י9=1_?Z$KGIƺ"s*c-/|^+_qO.s?ӯߥC?ˋaotY·\ACzh:&4.G:="Z^8{{ ?HtheC\ʎڇ݋<[6eݴ$uonfZg?__j. ?\\;rN.wg]ӧM|4/j}㞧ו=ϟm!C͸Ol>~sVT/ _oefgyw#w}lWɺ] ߧu_lY{u׿ߖ7m_Y/cyҾo}6LvIݰϭߩ>n8,o/|k|l5C}><>y$;&mg2rvǃOy|^h]rtd]~H>_7gy_cxvN%{[RMNpw}L69L{> stream x31ӳP0P0b3S3C.=C a\Bc Paĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1PڊRVO,'K_VA_˿q\Uo`hrTLendstream endobj 569 0 obj << /Filter /FlateDecode /Length 374 >> stream x]An0E9En8clETYD!,z?.xH> stream x]Mn0F'RMɢU`L"YqEaTezߖraKT{Ɣ3^ίҘCQ_59(.C]L[7T4H59WM2R=72$25emPMP"z@;j 񶡢H, ef4VSYHc5e*8b\)(E:t+XAV̮D)cED 9NCPDI@٤@[*&:vA)g%VG/1"z^'x@Yȣ#]G*1_eZ=mK󮻧ŕ2/ʤ6endstream endobj 571 0 obj << /Filter /FlateDecode /Length 4147 >> stream x\mo#QBߺj/"-EQ4~Tؒ+rI}gڙњ@\,=zr8\{Yjo{Dž^>,0i[d$@T,o?,K2@)hbX>-:WZX핏XtaucJW?n>ܼ_7*9u><<6U!nie=|+f+S]=yw^ U"M֛1Bh?G~1h`U9.Qi{{,5m[fecʞB)eIy aejm8J|EYqB*@kUKS~}mPcWP1gW|B#,GK9\JbmṔ';W X&ġ\,+mKД'0Š.*^ [k Ƭ/ A+d1)o;=<8n<:f|/ö,VUbE{rZ#, ڸ@qƍ3VUU<(\+A_\C3 eSg,в(CYy!~}!ΩdyDaQi9 hIbe@W1:o&njnY 㵇3X\.㙖.]r[׾]ʩ0 F*:pKlbA8(gI a`aZXApQX&% _8\I`u5_pdH[AWq8 a=9\g-\(˄iϵbN*9%0ʲE,J4(0¢qLC#{ÃON1Lƈ˅4u3oMjs佊+ hT]Ѽhal)6'aADZ7^!S4}ai8]}Dc ]B?ysmnRP |j<#YV,<|p}7n_ ؗ+SQӭw/~/Ge>lwq,v$B+]] r^!ߝ?*a} xw{5t7Mj9C bRp??7?;uiڛSX~"%x_|~3c鸹WS]xMƻNj`/=6w'!*basnқs}^)?X? < H~yI\& dal9Ř!+h)q1]% 81ov*`*`b60Zh8%Tv:i(tRFQVSC/y$FYm-+ ~oK;LVMBcJZeW_D8׊i2>\,ʄǴ1J&9͸QCe3;F<g(/D%i.̰H{kcO%0jkAKU|QV[kqpBI춐ebKVvr(U8D8M3+o kq, [&,d,ެ7_O&IaʽPV>3,<3Z8ߒcrɊ(5Vr(G H{qZ ku ha>)rSk g9ȇ6=mKA6{{i՟6Ɏ^1"L}igz[j$Υ)'SXy0;u7S<CΦ}O{|ܯl|Ɠ.ol7Gvi(yǗ 1{N1pP I8{ _0dfևzp:!t9~M]RTendstream endobj 572 0 obj << /Filter /FlateDecode /Length 203 >> stream x31ӳP0P0b#SsC.=C a\Bc3 Pa ĺ@@`bdbRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-H|ј"7o^> stream x]n@D{?0-Y8DQQE>3{vvvorƭܽsL[9S|_c*/{ڕ3^؝^gI%![wM_UEqmbZ;Ǫ aE&W\QYxY%b Y)d6hC m0>oq&` l`* &(ryXSNVW0Z"Z_a*aي(l4[1f+> GZ *BU U-XeV`(j_q9 `1 zDNcocTƨ1Z:c!-{.U뚦VV6No[yaU U&endstream endobj 574 0 obj << /Filter /FlateDecode /Length 50654 >> stream xIZ]7 _*G3h4i&)4 5HiQpXՠ*+q4XO/?OoϿ{??ї߿?_=?>n?n?ח??/ϧ?폿?q˽}9T?{z].k9??>Koןra_ߏre/>|?oi|x{Znoϯ?.|_|˿/-D|Ynuǿ/?_^On3^__~~\N[^e-o~^~9?5Xz=}~)LebO|}." X~_79r)>ߟoޕvϗO=r]v߈{(c;헷W/U}|Y|{z{).q=޽~.#o{S|nwm >}kܖtzޖ У,]o3xzz=~~y_.[oraN|=ߟ%n˟,{庾^ {'Ksor)nXXpy Oclx'庎\ק?_nzԧ7y\.Lݻ{~~&B߯)\ח޽忻*}|9~^cZ.sӻގ׏g'W뷲swwPww=>xGxGʼnZ\5^^?~9e;RoeÿOB]?uJ๽.Wy[q8g? wWBS?O&_N\QSGx=} ^cZ)t[s=S~)t[)YB寵 ޿?NBGmAm9ǟ.<}='\>kO,޹O},@R}'ϯsyZn ޿xh_z>B_3z{~yz{kJo?h>߾n˕~nX 9y.ϟ^g7}ٍ])r:|zOCk?yշٍ]z<}M.:y}x~{z׏ھfc|!|~j~,W=˕~N.)'B߁>oOϓ|s|ϷN|N|-5_˥*|}X }}|u{ٻ{/?fǨM[){^.{vcKطӔy}yҙ@oߧO3\uzy~",WwD<^;~"_1D܋Ϸ'˕?O~]tvD<nߖO'x>J[b!xߖ8}"\잽>oo紐_~ޗ+}$rH·~=}^{ɷ<.N|o-vyX.un9xԏRW\.u9q<M^={8}6k :<}Coo_?6_y\1}2R9^.src3uo=ߪeɛw0[HsYE{x ZQN7׾x9q_^o~mhcn~Z1|r뿇?r뿏??pO~5{ p?E08/x|;Nu﷧ot;g[.qG׿˕'/ݓh{WZR߼^O{Ga˯YG^4_r~fW@NˮIz{,pQaˮyWTɱJEx|_}؈509J@k.AG4A_tZ í+1 &pVWZ# í+Y ~ -L509]ү„Y3 ~-+UraZS ~ 2+ &&G[C WZs h2*T f&[ Wh0kVJ6L50|Z#_Xx>,Nc ;}/Nd1F={quwNuwct;Np'^Nph;qy{q GnG1َ)mNp~&{;<{q lvw{qyh9FDc4L+7y4'I&vqJm^{\hFGFFGc~vڣy;xhN{_=zi;;qdɍkh'7.orv>}+}5ta#v ev c;ab3;qu"wrɍ뾓K3ޙcMGN{v@z?v&+5s ׇ9W5s G;W;kh@s ׯs ΁\n@._i@>΁\΁\C;ry|vp;rJfvh{rJ{r 5s ΁ā{bBk7LLtt0 7@}Dt0qBY4SurH gj  HF3k=1Hdc~bTKk &zZ%jµh }DO@`' E@\F G$&)SO1"@*- ri$b|`@A"-RuOH=x R5$jb+z 5Ab#o剚R5Q U@&TMQ5Q U@&TMR5Q S0&TMR5Q U@&TMQ5Q U@&TMD-@I&-LXˤ mIIdShLB[& L[&hL2q ndZ&@I&e2>\'H'rAI&eAR, . PKV$tI6H#D3ꒄ. vIY$uI$huIB$LXV*٠.H}dڭLZ#H&Z ndɄF`5AV dE@R nvC!F09XQ dH kH kH kik$FYk$F?zlF5Z#5Z#5Z#@ d@ d@ d mHkH kFYk$FYk$FXkH[#5Z#5%=1D;1 KLdyL[#f)NRd²@RdĥRd²@,E&,KȲ,KȲ&E[܂,21 4OjEvk$ Fnk^k$3Y<#36Hb0aA5k"#$2H"cAL F&ZA ^dȄB`4n,nj!,a@NXd`qX"e/X$],{Ȳ,{Ȳdq E KXj',2a @҄E KXE KXEKXi"%,Y"%,Y"%,4aHa,a,a@d @d @c MXE KXEIbwCUṒ=:1^ #5Vh5NjhwD2}zk}Do5FjLWȄJ @*9TrW`B#l5@02^ #2ګa0d+Ʉ 7}&znZJ&0Z2 $c|4TiJ&n&dH) U@Sq|_LMkl RL&0qHLRQ `6j U@6jk7W@6TmRjhx @}J RHIRHJ 2HJ RHIRHJ|g\JIdĤ_28KV%в<&͓#=kl_DuRNuA_MwZ'$E-5N'}MiH{%@}Mw~g1&}M. vQ uQg;~}4&>DRwRi'xN罔1t@=NN'2t}N·VNǘVNǘ7Wǘ6W д)&AVX) +@ZX V$ ~KiH(+4iiH(@Dh-e֎VX+@^=OiaH +yaH +@ZX V`RV -iaH +ya +0ZX VRV -YaF +yaH +@ZX P>ӯ@?Q-N]騁~zy8x~YhF9$G1 :@4Q8G1(X iHJ| ]*H[#@jD9 Q U@ TBQ Q{ @j"TERQ 0#THR%Q; @j%TKQ1Q U@&TNMv6GLL#ۃF&&͑19rSMIIst=KNs̄G6J#@V6HM$vUIV%SJfőjq$GYq$GM#wNH"4~Z=$C'2l"?eº"f]Ԟ/D`'z"'H{";=e{Odt mKɶ%alے@hct{Z[ŏ@G&H0Zdŏ@Vdŏ@Vd -~jTN%;d!RCY?$CN%l@S TȺȺ1|xHȊHaŏ@Vdŏ@Vdŏ@VG )~G +~G +~i#?Y#?I#?ȊȊ&ŏ3;ډLL&lEς4DD;Dv"E Qj(2qCX#Фq3E&,DB,DB! &4Dh8z#P;Dv"(2QdBZ!E&$D!@d!@E&!LCLh"(I"VBFWKTn'*'*2a@^3<3! WCzOV,xȂ@^dbuA",^y"+Y"дA*c^i"/Y"//Y"/Y"/XH,xȂ,xȂ,x@c@d@E ^E ^E ^i"/Y"/k!S| {`o4tDv@ 8To#z`BFA7&K[o:P\Ĥ028 +\TuRh:ο :0hR9O]lmq@-'2qGz9ο9s=^21q?:q[ ۚ$u/Q\|H u+xw0Ka /?:I h$*`bqwɏ ٠khTFӵ23"@ETVA &Ǜ3_x1NPa&L0)ȅ  &@*LL0)ȅ  &@*LT0)ȅ &@*LT0)ȅ  &@*LL0)ȅ  &@*L.aB%@.)t t t .8F?j„FM FM4jQ hԤ iH&@5Ҩ FM EM`4jQ iԤ iH&@5 FM FM4jQ~s'~Gqq 8LWa_a_aBHAGu&ďlPS8L!!aB9/  jBE0-A}„ aoC0R ]HF &6&!L 26oCېx0ѷ!L jo !@fCq6Hm !@jC r6چ@7uɄ !+4!@jC^ LWaBmHA:io6PQ 5@j6lـQQ 5@j6lRQ 30j6lRQ 5@j6lـQQ 5@j6lM@I^ .dbRj2a%tS0L&&8-<K ʌOD{3lS@'v]elФ*sD*Ȫ2l@֎ 4|*hR9jUfAV $@Lv&ց d݁Ʉt``q $Mj/^^2a@R{ c@K&ڵ&Lk/Kv%V{ $.]nɄ[Ɨ۾m_H,4b@RaτY >K >@%K Ye|rK&LHK&M@t dM@t $M0tҦK kK kK ki%4]X%5]Y%5]Ț.Ț.ƚ.@t dM@t dM@AIcDY2FIPc&94GF1Ҁd4?varLS3N7k8A0΀d3N7K0(F0\WԷ F^X0;S_Wm}I|:(D0 ns;b=rqxu0lr/,hq:,j8$,ί0 ] \X0E1ioC X"+  `XFaqcb4ac WX`hƢ0`*@,VQ*`,Tc TXhF 0e)`,JQ&)`,Hc9 QHBh"0$?{zxz̈́P(0W LSX! 02<K& g& k `eˆx60H}P_801Y,cp2pLR!FHDA8 &TJh+&* sŸR:#B(ڕ: 0}+D_K05}3DOM@}9ىb\ORAH:\R-MMLRSBUHe @+ raH: `BEA-[RsdFEA./^RH FA0aRH=FA.2dRd2FmFA3gRWקY#I!dS>,rxR5ՐB&͐IL!Bv_k`J1^ )F;!L*!6BNw !L 3 hUb&MM"H1uR)fGL2> m̤5#Րbr4Zb鯄BVk!h+ FB9Yt9Ahk~"ŏx du@NG VWէ%<Ԁv@ Ȋx-#0 v<ъxã% \6 Yc >~1G1Z(0Gu:RO@;al~o2(FKhglcB2(Fh[-k]b2(ƊhOi-b2(F+hC-hcB2(Fh7fof||&)LLbLcLhbfkd,Ng,g,ЌEAg,d,w]3[@ \/ XiH2EI|-I1bLLVu*w(L4 xߡ0 PԡCRw(5m%6 Pߔ0oJjSDߔ0] ɾaZ)µ j6k&zڤ&wdƶ0 &}mRMm&L% %@fKq[Hl! -m bK'_gab= VB[Hm Pߖ0$Nx0(L= Q (GRH= y(GRH= z (G2H= z (GRH= y(GRH= Pۣ|<-Lv &L&5Lv&&L&UL02 aY&ФsmLv ~ &փ dE@ք dU@. Z nd0}L)3>~%&NLh+jb2ѮdBz10Z d͘@V Ƅnc2j@k=&cIA&L!vE& LvK&LvO&V $ML +L  f3Uf;3L k䵙@֛ dř@֜ dՙ@֝g2nd3?]Ʉ5hB:4DZ4Fz4@Z dM@V d]@V dm >M+FM N jY&jY&kXH5[5]hR=|?}}ͣ!'B&ګfb 55*Kfi&ѐLH4d, 4KV &im %$28U *̈́@Y$@Y$P{9R&f%u cLJ4i4dp DC'_4%LC[,$P7v4$қL _ $ AH&fm4H a,i&4ri9@M y b $@ du@d R &;-TPi&,2y#e>Y#-TJ14s~0gsaa@ oi~#7Y~#7I~#74,,@$0d@d oF oF o7Y~#7Y~#P?1@Dv&LMh&Lv&}D 5{0Pd׃ nr~&ATR 0=@L&݃ɄȎZ=L{0hZe&;qdm@8Zm}D1> 0*;Zm Kv%*;mL2Q @*;TvRQ [$6WWD{ Qqq"K&T)iDӒv%AڝL)ȝ: u"@D̉)ȝ: u"@Dԉ)ȝ9u"@Dԉ)ȝ: u"@D̉)ȝ: u"@DN9M:-G&&#(i!ItN>iaiaB;-yH:-ox \.B.fzH .@Zp҂ Фr~[e|]28V_&՗̪/;'„V_FV=mBKf&/+փK1@Zb&z$IHCfp =ݯD&ݯ0!5 c0ƄcYLXUʌ{3@қhDsqҨk&KҨ -if&% -iHJ4_4jxR)5$  h%&DShD% -YFK4yHK4@Z hDShD% -iHK4yHK4@Z h`DShD% -K4ÆJL$fj@;3*3350ɐրFH^$=r~u C3نx3S>~c&͚FNGH1)F"#Ûb$=ybEдH1 ]b42VhࣘG(fw LI֣Mbq900C1. @RH-DA!C]5@|.BHP:012HBlP<0WL{R @T@2 @j!TCR& W@"`TFR> @j$TI2)V @%TLjF>ߞ>'N( K# Xgdet)iou@@€uBJr䄁pmq0`kXƺ0Mj@6iw=M`0 ݎYH b lW:NojϤF+t8Hs#LQU5W{V& R*d5Ыc XS Q / mJ`mcXƶ(J(>{0` +Ow'`:#͉;Ѣbߖj7%a' ҦA#[ XɢXX0V~+v+`[c kVXUHZ0VNU*F*`Ocu iSXRXƚ0V(vbIq@G2ю;db$fCv"G2^3H ?ODl@.E&.%sv!PLX!EY!EaB#$A]F2e$֬e.#h/ =_yuac!4 Za0D&Zah C0D C0jzKrn/DoI%93!Ɉ#D HhD"E$YD"E$YD"E$4""_4"Ȅ% Ҽ Xp"9Oh*2am@92юUdȄ*.^3E \E \E \i".Y".Y".4pHa,p,p@d@d@c \E \E~7#@}9D_0ї#a/G&THMR9ԗ#L\ @*G z@0rH #@}9R.GT}9„}9„v'$}AD[ $@*Hz/H ] 2A$L t_DS@ =A$L 2AR  $@*HT RAR  $@ӯ.H $+䅒@V( L5ATaAk&aB5HAATR dF5HAATR H5HAALR H5HAATR dF5HAATR :+i$rv2< 희O`yՓ?LHdoA1)K&@2ҚGa=-idtj2:UiH&@Z7I i;7iIdlː@Z%)h%=M1eѻ$@: OJ%x U ih&9@nwJ&CwǬpr>NFǘNNZ>O O 6P -i ih!{w OVh? HZ'M ;t:l@R)#@RIM2$Hd|V5Oy i k `[e|orq\C[+@Z[){+@Z\}= +h iH,@fPr|Q${aB/Gږ,0g h n46H3@`'04dkt^D0F#Yc4u x_g19 aMr_Itd0'a -y)xhȟX&4vqe '.HH$y@(`l@E7颛|1 oao'''48 Nip Niph [|3f%VhҬ-H MDKlIal!@f 4 4iH ÿsntF =iHs@{(s@{4< =CAg(@D-1m9{67OB sQ4uLsRΡ w@9ޡ @;ͼ麽d[eR97 kvxn30t3p>)b\9Md]9rRʡ W@L9rAbX q P}d@T>R} @ϮT>X>R}H >R}Hдq=q KR.H@`p { q$.lU,X(2O֔!?0>[@*#$aY`@eDA.#TFi=H@m<.^4dL*3 zFg37i5 dx +niq#7Iqc4AwwV_58Yiczzt_F )ll4}ANgj@U96h8Ǵh8vno8/@d@4toqnt\Cv 3tc8Ǵq<ƼqRdt\Y$z @e,] &zB &ԁ4s 3/cY &ZY6RzP!BHK\%vX$P{=L׳`E&Yd ) @&;qHe @*; rhYHeʎ @*;TvRQ @*;Tve*; rԗLe*;ڲ @E }@v0HeGA&ڲ`/;&&\vR.d[bɀj\Y%Xˎca)p{r|u+^|Rj)m8J1ZZ)F;+xtpk筕mxgb2b/c{㍕bRU9ӪjRUg=b5ЖJ1J ;*5 hm#E[)exT맄]F`RTPH$L`XF$؆ 0H hukGH1Z)F[#hi팬WFH1^ub-򋙔EѮH1Z)F"hQ퉬DіH1Z)F;"Ŵ`@"+mb,RvEVE{SiQpS'R̴&r8Qo3-ԶV7` "h?b2 \#50Z )z!ضxc{vH#L<}@tNxWЪV=4P4FmG&lL ziH @m;BkHyH @ddt 3 LhH 0@[03 LhH3 @a CAa e`4000&&400 0 0iH3 @a CAa 3 @a M2 @a f4< 0i<dhu4ȄF <y [4ut@Fy#|V d;oyNHs@72 vN 9 wD{LT&e=uru 6`Bj 6Rm:  RAH@zՇ] &zZ@jԑNSڀԮ@d:%LZT `HJJD ۜ#mH *md62!툋cXW"P, kK%Ya"5&Ye"u&YiH[6hʼn@֜dՉ;=? @ڠd@֡d%@E&F1RV8.7ȄT.H",Ib\Hd@Vw*2q]$bqq)\\sE k]EJ{ dRFhoΑYcc{K- A@ȷvY|8&.sh/rE _/Y"/7:² T2_2d)@d)@pF gS,A`{{t/PiJ^4N:Oj1Kj!i MkY@#4ƗmieϷ8Cs,Hra,Hr$э@ ۄ#e23LF dh&#e2Y&#e2Y&#e242d@(3,2,2,@d@dd2@dd2ڙLH#<4yȒ,yȒ,yȒ@E&ɋ h'/2aɋ@E K^jC2aŐ@E,yɋ@N^dD?y<-_.d,9vgwL,Y(ȝ: `Y@;xY0H: u@, rgs,YluH(;DC [d"P_H0L\ O]SI ˈp2d @ I&TSk &TS(5j @)TS(5j 'k @)Vh)TSRMH5EA)TSRML(5P_S05#kFnu$.0T`wD{׌LRQj`6 &ڻfdk.=TzY$Pn`@GA.=Tzٮl׌@}H} R4>H} @3gRQ @3gRQ2lO@j-ւ 0Da it*7Tn4^/i8\{a;R 3Kr 5@צccTnrH`o:Pqh<|.ab;&cfy|Yݓ:F'f "0WD9,h,|#!؆0"t w#!L7HtȀ80POga!L7CN"p7AN"_1FB aى t L.Z-@73@;2nb""tBD-6 &ˆW#Z!X0"ˆS1FBه0ˆM(FeBq aD%FDB0ˆE#!80ˆA1FAaEq`b|n'DOr%N/%[ &QmB$EvbD!6Z=9mv@'TP =Ew5H-i @"*6z=l&6HuPG0BȌD1$IR+ZHDA.&LM?MR;B=~H U@( rIH5z @j* rUHe `+j… `,Pi֢mo@_\07L \QRI4z\TRU'+YA}?Dg .A `:KPlt?F"TGi( @j!:KPl &#шhf#UGx~@&ZKPltw m/)K &4;^D?> DM@(QA&6HD @j!B%%j( u@(qGH: u@( rGh)H:8 u@(QRGQ; u@(QRGQ; u@(}mZXlLQԄ; ۄ ; &Q(GDQ0wL @EMRGH9 uRGHPQ,b˧Q=Gw; ; &QRGQ; u@=G}( QEM4: u@(QiJ OImb#6HsRP΁s`BP90ݫch<6I @<DwLROdF<LEM< -,z `B=ybSROH=zS~һROb&H=z @)SH=z @)SH=z R =EM, Q6HmDA&6``_`)j=z @)S(=z @)&\UM\;𲓾D&b^'WL8B&f{Z(M |Y|S1h} @*1&uRQ 8D*=} ND]GA3q;4q7ʗ]r01:Fp&Fw&:kbv:L=~cSqORwL2Q u@6mRQ u@~w@6mmRnHmRnHmRn6軍pna`BZzlеؘ`6A rH  jۀ tc讣Mt&zQqcy0~TrLr+FW3`3Tg:HuP/} ~0& hu@44_ w@P&D&„F6klք/ ԏl0[fEZ @,e_ˢ&\2s- ]HEbL"L{ &S(=z @)S(=z 釺{ @)Vh)SROH=EA)SROH=EA)SwELSԄ{ ~W d=)S@:v:`B"@*-TZޏtPH e0`4Q{ `){ &Zey:xx@mOȄySi5IBE&LX2aȄ @&,EKa„E`',Bd" @&,*,h LLh ma-FE LXj LE趰`BE DX1aȄE @}aȄ @ma DXd" @&,dHE *,d¢ LX2aȄE LXd" @&,dHE LXj LL0a-,2a" DWXd-,2a" @&,"&,d"0&,TXj LE&"=a<,wb$Bv> ):fvx ynҝ7F&v$vrb~{sqyܽ>6#vX;aѻu{a1཰QsL ^&`-ց(XE1,yf/gٯn4RH1NH +!50Y|+3?Hsq(_ XdE Rl1]f.UTd0Vm.rOgVcυէ>VQLdԀbckbbuŨ(F ʸ(FE1{Ũ(F/f.QsQb[ڢ+ҢuŨ(FE1*,Q_2+Q[Qʊb%H!}S()j@5E1}KQ")gbetM(/(j@D1'<uŨ(FD1E6UR;bTQo{@QvmҾy0}hc1<- C $ v> Ic|sqUy=x lB mI+$A$E iH1~NwW>A +w -wiH$} G onisȚ067 674knܽխ1u G1^ T8Wc]G;-$-]=Ƨiݏ"AVH óB$ukEl/riqd"_UJ.!cHdp:)Z'9τTP'] \u1ecf]W PF'j=IH!er/TL\wP6Fj'$M rid3> IO2r K`\r~cyh29^ʹerOkh0ٞ}6qIc$A& yH $Ɍ ҲE4}Q/44+lL8?7& Hw? ]iOH{"@cXo7H 6HAъ|MiixsiH竱E" hYAR lOԻWF7]vFuyX5%id4/'b¢ /q<WLe2T@2UF&z*#@25өd^#y@5@ du@&,d" /Xgm/2a"ً@f/Q{E ^2{ڋ@f/c"ً@f/^2{EiU 27ǿb0Ƈ01>@-62au@3wD| XO$@7 H SLiH q1A<`12a#IMo".Q.-TZI}UqhV;Ia㉺8J@&-d"I ؞3!"I@&-di*MX^bsq3ma b2,FX>N&iAR. CYk$FYk$F5Ʉȋ"oH!G!Ⱥ!Ⱥ!@ f+oFYk$FYkH .dŠ"(Ȋ"(E@V dE@V dE@VҢH +H+H +iQ$EYQ$P(]ɄE`(Ȋ"(r厉iYxE H 釜oE'kFێ!(H"ύZ#H kjF2ndF2ndD5 m ~/9jEB[Y$P, )iE,2>klmZ:"#:"@H&#:"#:"#Hk!hV _V  ~HV?Z!AR kj7A^˟"\62a@V )ZHn(r7`+4XQ+$X1y5R]aRpMYiʢ -`+4X V i-,4e)`B@`+`+4X Vi ViȂ0`+ `+4XV0V0VԀDig),P?KQd)g)x۳@, M@,f)4KRY &4KY ~^Zy`B@,e)`Y<͖IRM<+4XQ &,X Vihh$5ALLH$̬ r:RiH@g)/_F 5@j$Vȍ mwR  @;h;;w(v*!TBR Bh/T 5@j$H(ȍPH0FH 3ŸR#FH 5R#dFF 5R#FPEB*`\@Rq=8^K [HקZ"to})2H =>E&T@jO;z%oZb| U+2^"U+2Ң @U+BjZ 0U+VdB @*-H=EAU+2aF=z @Z)  ֪۫Vd<Lk hw@(Q;C=;dH& BE2Y$ҎvD#RwD&;dH"h,„,H#@G=R,v  iGH;"wD0„F0 + -iaH #@ZHA^F`0 - -iahV9Xid'RD'P$t{CL7Ʉm(UC"Оm(R#&~5~5 7B'b @@{ͭCBk!A $m .\h RnuH&Z[ZBR& i-uҎP{LL{"ǿ>8D4RFڛdB$@ 7HIDh'E; =h'E;X:4<00얀Kc|-1>N4 |iHyHX:4XΓ~ƃ xiH3@(3@Ҍf<4< xhH3@(3@ҌP/x0ab<^_2aI&4Q=zaf`B@XGLhH@ &zԏu0яu0@k t";5w0a^h/i!et=4Az0aA ziH@IR =&$A;|;WcaIhx[NӖ O0PԄ'(4B QiHcyH@(f)4LQ.`B#@((4HI Ri Si0@&* Hf*4TKU@cLL6#=a :h [4l3-Fi{t8Zib|@҈mB6! R@~~~JTEAg RlF(4Cd! MQ1 [3H3@DA|xGhnF@8$6NRcxHs@u=C$VqK"g)l]@P?Bq\֨P&HLly0ij&TXRaQ `/,h pۼ$m^ZHj @%TKZij&Q`&,.!2 zDk0^Hz ŸR^Hz Rd^Fz R^5^ :HuP20/0\gz#x9„茋cZ j=z%L%L|H&>aCLՅ@ń^Z  3$0jH rCH  5$@jH zX„5$@Cr~/ dpC_=a=a]>a>)ڔݟ?R'Ƿɾ(d/J&B}Q2%T}Qi9H)y9_Na_NaYNr S r S -'@I~ `G> Q ~9 -i9H)@VN))@ZNr S唂 +h9H)@ZN))@ZNr ЬrVSNb -i)k(bҬAE9/i)etm^LGmR RVHK)= IezA69Fpv2}Ĵr:vPI ihC;9.G{(0P2:iH{(@CJAmP2a=iH{(@C){(@CP׼r imt iH'@e'PO&|2͔z @O& i # L# L4# HAF@4 ~~ igH=``B@Ҡ==4A ziУ ziȂ0Ҡ= =4 z@L ,{H@  Z`XPD/0 -ФQ riH ,@F6666XFA^` 34d ֦%Ж<mihHC@FAZ6 ]HF fi4W^WMKE{yH@P;|WP! 8D! "C(Q! 8D!(Pa! 8!g(P 8D!(PgÛ(-: fOCIu穊Y)w"&&^18xM; WFiiJ8Di 3ҘQ N<ӌJ?iFS!Sa>!ȧG*;4ɨCS!ēJ<[ 8D("hZU@h 8D(V (P*t:UTZ,Fq?Z\ˋI@%D:r)jn=UgDzF=#[;<#*@ψ {FTA1=#U=#HzFgDzF bψ Bψ Bψ ĞAyψ*U=#{FTQE3 Bψ "ψ1AA3"=#3"=#3"=#gDzFgDP3gD)ψAyψ*U<#3b{F=#HxF=#@ψ lP3"=#3"(QE3":wxFTA9ψgDyψ*3b;<#{FTAD11=#3"=#3"=#3b;<# ψBψ {F=#3"("3"=#3"=#+wKɫ=Ġa ;61_/ cP.KVW. )\1([l 4Igj1(fZ1 e{CF78CoC/LezP, cP0 cH+A*A*AbcX0U cH05 cP0a'Ay˜[:\*fD'Au˜,+^!f~Y0&*ܢ,kE cPX~="Ƥ\QAz*!fCt`P!j|%~IyV~?2* Xr0q<2{aG?I! b$i P0e cPؘ(QFV@!(I1(HzDw&X0cҫ eBf'b1ER1D":Y'!̫¼ Z Ra*EP> HGyQ1#* CTJ3l"E8&Ra" Jt7U`- t]􎴈* UB/B/a t`B `B ta6 ADF 1V A0Ѝ!R8O"1q{6fFTRK&wF O|A,AD'P> O bD'P>Z> O bD'P> O|b'P> O|"X>Oʨ*&Hb $@$U PL*ZUCKQj)HKZbB-Ej)&ZJ\ RvcX>򉠉|Rݰ"/A \!IvhӜBD"hҏC\8iHaEP^QENMK"d*rhT?UaWMD xij} V <M,lAx1B z BM.!䰋 ʫȫH*ȫV T?UUՏrWq=210#310AAA8#310#u&Ffba& L L LAAA8#(QE> gbTAc8#310#310#(wdbTAAL*L L|&FL*ҙ+L gbTĨ21/2q&FfbM11 zO F1Ah\ &)-#c0r1*r1*0c`c0| FX`c0| F1Q`@ 渿C4a^1p ʇcT1 ?Ǩ wcTAK̄'e]@X=CZ=c!!!CZ=CkzBAlVAhVAhV!!!CP zB z"1lyAyAyC*xChD1h7t"o 6tBC 4t:TAd0 !(QEС 4tBCAlO"zzF Ll$"M!(oPE!MCPԡC4:M@SA"iQFZMHGZTwxX9R"CZ<CZ<6-b!-!-a[<CZ<x@ xAhAhAh0-!-!-a[<-[܈6Ad6A`xG CءC48qBC9hqBAl6Aw8T6AhؠC8CPơC׈οF+U@sW; "sGC4qzyfU0}3'G<)>c!顊Cy*NUЫDsC=;ț;T6wC9c±Cyu}hP ,65 1YBBjPAYBBj^k"PAYBBjP , bBjP ,fak*P ,fa kP ,aDfJ L #!Ĉ=ʄ*ʄU2! A*KxEjI05 AYJ/9B4jK"D%RbDy}CoB}c& 7Hq:DW) 9"h*g3-tzȇVTAZRz!(SQTs*V9A*Pϩ A^U)C3ګCګCQP(P(T(T(TX P"@QE^ʸ/m@NFy1lGS`4EFSA4%m̩= ġAZAC+"0"C+qhEVahEVahEV Њ Њ Њ ġAЊͩbDJKOGcEEY( ( ( QAeDQ1(K];'~eQAe4-4XQ|ES Z8E.Uvh _"+0"c)4%R$|E%Rb)qEP>|ECP'qDPz1I<(^:= L*8"hK'±AXx@8"c)b)Ҭ^]& &`Xx)CQTIAD4IWle8I4C@A@!ȜP>fR~3dž1h0Ơ]ceحa5A1h0ƠQccاa 4A1MGhl ;4A10Ơ;4gl {3Ak10Ơ/el 2ɛ2=Ơ%tdC a?1h0ƠbVa'1h0|mVwaXscv΂-Vˉ<^=V~14'F؜-S$V03d @O1hI41w΀"v2躈f:q`c+K_10&"| Ƌ~ <bcua .Aυ1|Bd+`10Qv[31[3E< LliQ=[- ɧD _3_ Ơ˜ zqx l ,A1 1C!Ƥ]~Xap$HcpDPepdHgpHipA58DbC68RnpHpC$98DC$:8DC$;B!"!"!;4]tDc^1]Fb9!#Ġ )$i(Ppt @pV-:)0;)Ji NȨ rWPZp$98DdIwp(-ס|C0sU`C$Q=몂rb&@M'˹A9bC< zGC鐇 !UCNjmLV+u8D+u8y"yBHxAx1||aB/B/6b~!~!~a/BfA΂@ 4Y& Ah& Ah& Ah0Md!Md!MdagA UB_ U"_1tb&D~o6ؘ!bИ!(ZWK##lBˆ lBFs[Y͝Q;[/O'ս*fF{ |g4mzx BGѩUAhؠ+ 70PZH>11j&>CB񊔄4dMc2-V"%8Vb"^AŠ 8Rx3ae V+Qft:U*+bp($S8a!H8D!Mt {4{Ҕqr7af(jDm}nZ27;1x'1߸ Y$xS=70x$x3|9x$x3oVLR8gErYQ$6h(Er"9ꠊבM7ќoN760xoo+7w$|3M7p(omVJGlinc,b zEV"S4>c&b D6M"ƠG!bDAư=tcb ZCAgư1cb BAOư%Ę# b AA;16Ϩ}!Ƥ3*[D  YB1ys![ffPdF %fĤ3*Heg2Ƴt}NŨ vcґ+D ĈaDpptVnIfaJˆɻ8 g0b0` FLޫa9y0*@/*[6/bEÐt ؠaL:g,Ш1iX z7>QA:4lCA5fp|٭aL:tE؋t 0"Ƥ#/*H'^Twl=Q0!5 A(blbP: 2! Xb-^[qT:akPj ;!X <!UA({ĺ T>!A$~ BCFauU( T7!&QE^PE^wDaT¨"QDnT1T(1BQDD1U1Œ{ڈ ZF "&$ae4wĪЋ I&$& Mtv(3_S2IDۘ*-JDT1UA~4R"h"T٪ 5EDN)&8YVTM$`x:A3!/b@=!PLvUAXx^8"Ad\#֢tEXUZ"AdIAy]ޝNtAB]D"ĺE."uAB] E."]^CDw LywU!(QU! B 6` 616oIUK P7"QE.ZEWP T=UXL' T=!U bC P T=aPתT=aP T=!UX T=!UAzĪ P=vUz#jc @D"m!yBC)bP hP:NN!t cX:NN!u Ah0 *м" T$"AEB*r" T$ ߡH AHBEBP^P*"!(H AyEB3!ɒσBB;  z t[PATxIjgA;]aA. !A(@BBx?]8ߞFy+uW> |?ǯot(k9X_/tZ>>,O;7?|v>~}ut['-#׏o~.urpo7,^Ze9nrsrjׁY [xڶp[k^-<-,Mn>ךs?˹Zs]яs:Ǻ'=]msVlɸs9:eS u,"dzsݹz~a.[:CQkOrk\o~#v[½?'#vvoTnkm=$7?$vuk:Zs?'xr`̱zpNe{Z'vz}]d|`9}p.hgy}֌FKjy9iCX{׭<*.-ecKR]jK-ec U14ZR6Nho|^?*F~X f-mmhBMzc¸6Pӧ5ZGmcuZˉt6V(:Fhnd ilQAEuH˷[Ex,Z罣WD6WDeR/lhէWD z\^Xݫ/c6Vm1^h(z5TۿE~vPAM9n{mcu z-r7{{TЫg鰱W@gh-ncU{muKmcu{-vwEX+^SX+^ ݻOս"jUcu >ˢ÷6V SX+^ =^5]>]^5z?^5z>ovQC]6VW9C*WM|t:U[n\FRXի>^ݧ} X!^X+^駵՝F&hT.{ѰU@XUBOHS)ٟmQcrzG^5*X+^r>g{{EЫylǪ^!5~J@lCu]˟[jv[-ս"j8:[^N(bF6V?jPA5nPAr^ս*Sr*mP-Ɩ^Rc/s4i5TߢL57T[-ވWK5홏fl:;7=b47jy}1X؆KadyacU{acu{/jacu{]jacu{jacu{=.jacuz=%P6VW9Cacu z3ԫ6V 86V 16V#[/:`cu> U_[!5:>zu@cu{:WDz6VW9CKGmcu{=:WD Sh ٫{TkJwX+^7]6V ٫{T{gQk㸡ll1,Fϐ{jfPmjo([7ƪyTӿ?ѷcUzlCXի˧SXuMث|:n7ս"HS)G}jmQc7՝Ff<=rW) [Tp^X+^ս"jU_hQ˹ԋ)yKmcu{=WD .KhQA%޵ZN3~mV52-ս"jDK^5*S@4Vu ޷zETk緽W@Ώ^X+^ u:^5_3Hj;Lhyw@hLp_UHuןս"*zO{kyAmQc-ս"j쵽"N-Nө<ǔ{r/W0v^ ,Yl{:vhgσyht^.rS^5v<zkj^6w) nW*Q.UE69S*q*7@vֿPX{x[*^H/{oO]vhgϋ?tX溱\3 zo]ӫ)<-9mv\^j{W;VSr^mv5srb=k*j^f' jVn.U7VS{NX~s}UIXMU{8E!mj{jj{kjj{[j{7ڱ^OM7VSz\^XMUkn,l[_XMU[{j}i1P3T1zltY_Ivjj{ݎ/fӫ)eYkzc5Ž崧)uz|:un<ڱ^%=mv^ŻPǧ4CÍ-mvW{ڱ^ܺWwP\ܾvcŽl{ucU1>[hZn0PTGot>Wj LըkscR{۱Վz,Cݧ)Uon1ՎEȣ Zs')U˽)<;*nj{c7VSܫGwԻ^W;VS{P5Xmv.nPPPprznS;VSr^Kߏ*zc5Ž^j{~?VSXjj{3b3T1UN~+|ZHV rXE-O.ӫ^ZW7VQrlN0rm7Un^]>Kz=XMU>|D?VStD?VSܫ\ΏHc5Ž3]{ )8D?VS5~xuo>#Ž.Y)uXMqrzg~^XMa(u>XMq˳j{ڝvb?c5uXMU_B-J:ߩnލz܆Gnp8OXM_XF>=FwK:/Ἴk~ǯBo^)szJ?y߾No?oˏ:>.o?;>;ov駟/u/̎o}<^ۿ_h +v}gMM~W_gzy׫sٝ2&Dzg^7aNT K:Ͽp;ߏi2^>(ۿ~ÏoP÷?0ly= ۿ?G?ms\v7O R] Kp]}P~Ri{wxzlaRzޮqrx(*(˿Gr^~ٍnw\r*7ikNSqrt,_o {]]}ǟsl춾O~('z<}x>byw9//z;çr8ݗy^W~~y>/(DzNZ棽~&{\OecDz@_:˧bY2v+KUmP>xBV&ʷm6W[e K|w_uߏ/%R6Rb +qYlmYXMBnuJ{Zw?E?×2qߒ?wMۏdQR?%>7[+ot-ojZnhW<rW{o_fwOefSo2wqk~\ocpG>rjA8ݗO{DmypB'pywrPm|!g<7y)r˂J/t,vرce_?endstream endobj 575 0 obj << /Filter /FlateDecode /Length 307 >> stream x]n0 > stream xMs]q.7]\qec[UYxQ)o7pK7#\!> ؜ {r$K_7IG|KŤAS:L&L@26ύJG*s6 TQSmH{ \NͣCq^Y봰&RGvwDw=55].1|Z/# %/w\[T2 GOu%TB1n4Xyr20iZYh4F*_B~L=!9E52a:2Y!L|+8ؾkKH'a?H5:M]|n 3N˂K(4F Q K+mt0l l`R,qJȹi )`ŢhSe=LI)FIzNQڐ`ܨ F =,U6)8Xe 6 7 R98X 4( U* xoy`{ͳű:FѶfO(.Z`]i-a43'FUd3(dY,_9]jXK髉ŦϞeNV]ejv/ۭlj^hrYܒqaۻ !c[C%tl')/ 3 O?BfY2sq>O 3K!]Qf83nou3p3 wZJXO0C~V/궤Ɨa حf∘`)fF= S0C9QfSO 0s}D>~W"ˁ3TBx`\k1f.TI1sQ1sC3x9=! c =! -F1 Z(R<5e6e1enGy= o)Qf6"(3T:Gdh= ;Gy= od%D=(~Zϸ 3,{-5Ȍې 3ϫt҃J+Afpy= r9AfJdJF2x'WkAf0kp*Rd)|C 2ð[Rbpg e<.?yWÍ<-|h+fav` @Ϯ%=oEO/ܢz|u[-|Z= nehwZh[^-$dZn2ا8edg2o=//4>NF>7Cdh]Q<gGZ0NXƒyp^%gE& GJ,|IV%[X2=^"3J,ZAŒa&TY &ፋL %o?'= .U &CĨd C &CP`2}h2gƜ >aljq'4 d\ M̓Јs ʧ.ꫦV 2dU6Yj' U*B)*PGqʆYE[FDX@ccY50Uٚ7S)|"ThUT)!Dp|,ULm528k"d8hs\ b_ET1lTx&7YctvUleXpat zbcμqr\[e*6}15^514El ׈ؘ4jTSOFλ6pUْN'zYeO\ 8yM[CdU\ѣCn :iVF1`QCEVՂ*6;8$;69^k+V]_YU1Un *7F[:=_\ZgeǷj28˖c>{*huj%cx)Vb1Zк!DqnݨiDq̇'y|~=5 S+4fz^W1wCj9FkRS].mTbi"e(RӬDrUfj9'7H$p3R1W/|bsQHѾ#VYrxiV"9氈@Q@q eɫuVzcnf ׬GHіZ4KQ^~(9|WDܦU1㺊8F-jʜ?Qʮg`ÙP( ޼8кeEq$"}{ZͬCB~3 LQJĒ™V1>;USBK+Q|bUXoYZӪ\Mrc$.=Ky2[Z,|"Ky*"ꋅnVM/ce\Ms oЗO1.׶.hyF1OVK_5(uMihqy#ky|׮[3kZSάHUh|q{6*ICU^"4FG71ZĈ‹\"4b1gV*44Ὲ^io_$8wǧo'l1_k?<<>_?6ۇ4x?|#m][ m\߽?+wpp~~{Xc_oGFhQz%ޝ3~weUz@xxyxt:j_߮ pԭnnk_m'M+p7[<P"6zƨ> bG bPW/fǛctWGqnm} WúTM@?brG#5#<d~pSw-t~:u6"7xo1mXfd}*NݑFe06gc`'T.,ns߆oC42?|x%W~8Ood\=&--5c>> stream xZK$qyb+3+_|eɠ(jXP]3d?]ߐ]}YR2@a2##Edp[궢W>u77ަ7e6*z[-TUUūvaRZo/dyjW;}+|l>yjn4OG,{)_w?ԥqoa7VU>?^`.nl3Eʨm/i/QL&i]:n)m5qjq车}|1q<+.^ACT2\DJx[V!\:Չdn!v_hSz4.9昪R1ϙ.Q(dүyK}K[a9ޏ0XьMˆڧIV(CIwGpx. vEРc}`?J5(hvz|3KOC$K@H~B!KP9O?7utC: U([V!A`КH (܂/cGF(>;tŪ=z@5?elwuY$6ŸPF{׻L!]h˦9,.*Gx7`m !C?6ǔodt} .o$u5!y9>7"tmޭmUfR\!&u {Ǟ rX-:%;HϿUl6 5wHcIͲ.S+Z\ԊF5֏2MF3|n[x-U"X굿ڪwI[EJ3C$$a|M?2*u4i E,OcZ CCVQƞ4=Gu}K Xcbi״ o'a2u(J^20t[P&Ҁo8|Uj TN :q<`6ݜ/rLsYʏj~_s<:RRDʱfyz:)0G֩eKmƈ㪵XגgzCg{ cs!9ΰR1> oڥ$CY(%̀@(F^ϮfeV`\BIȶ9c|%N['|}Xd,Gg'1vn'á^U"a}># JcCںTIfVT2Kb$ˤ s};CɹYI`vU, 3tY!! "̀'ÔbK>mOӀjߵznbO2l_NG$w9c0 t?,#mR%(6f9󂢭ְqELnE dֿPZsӢv%uYW y@ XC?>rAiRlN}^:#AͅPc)@^?J A+b$L˩ WJ+Y?ZTO~Jl磋) {G|LڒAk~҈#9jyrϻjxꋚ '~. X;1NRaҊ*g8"h3䨐!8DPz1!B#0w(vQ!Ot|oTlUxs]Qӄs|E"چ TUs+|3E+%@1U/dJGq55%*%9-f̝2~ oK?0]6;~(ojSԾja% ƔF)K/W:yF4@C͛X6VSvZ-@)Fգ@( X^r?}m8]0UWxiDt5qEwl_>ͺ쩾qa+߼4%ԇץB ~׭W큺x,3c[4kO ĎO_RHQ.'`(Ru%.s8ӏ}@SV^cĦ">V:ݱ5{3e IHk@ܢCLyk6}^s.ZP[gZ)5aZL{Oc/{E[8P[70kNYk|Vxθ2d ͡> D7-ܺ/fV\s"/T uQ&'ĂY;qMB[A!@$]m3GGu:9=J$̢wi1hjQQ|cUV> 4126#5h'5?ʰ:=mXMZ]Y8?yz,HĨbpuU|jMD2=]]s<ik/o(䚺u=WٹnnC!pZOlf]P)%#f>śu~`V$尨I?=p OaIvizb"7,v`Y!qc+(B- B/1(%M021Aa6b'hd.Шl25v&`ћWRuhT}sPy:" UrZJ'=f_WkYB}lB14>W7 -e’RƇt~.隢M=/[ (bYvb5.Ys S޴[*K&a8N(?|)&ǧqY$)1vp-m\nPF'ش}d2S":Y28fI6fdZo}%TGWA,#jlT#s_9֗EE';[|;rBE|-wu)v(#(I NUղbw>p,oNCx۶/]0zHvK{\K;K Y(̥#DP`s`YӮ|ux !i3ᦤQֽereGeggCپ|3,[lDa=; 3{CPb,-ÉE\ЅzhF(\ 0 U?[*.#x.qOS{!k^Q'(ueO$3gٷnΉslK&aPe+yZpG$rg{TߚaLkWJB/_LBb(BFz^?= *ZyxYp|4f|XJ)(C}c'NYRHj2\\%JK(dXoUnR8x織ۦքJU )ƩfNT:O4‘rn^Ҟ_]{EgMtY9.!29j|سR``MHz*YJ5kt.mh,+d.UliKuha6<"MvCjмh0G4ˉ(U/COA2K^>廾pJm INS}=닮Q3"?y1Z}ޮ%H_ȐjwK5B&G瓼'iPʶJsOm;ѝ]t ߼FC]͸c֟JX"FM`'oև‰Պ) .Az*1@w:JPZSOn2[>4h%^KoYy %+;pf^BCCo0cN6?˻ʢ,KV;Cw>OH-Q1N?qx"v-(Cn.:=s@"_>V΍*&'9 Ce0<%9:5>H\f*Ɍono|4endstream endobj 578 0 obj << /Filter /FlateDecode /Length 22097 >> stream x[\ˑ^i_7%dDuC?Pc1Ӵ$6 I&#P(T7n*p_4񜓵|GǾdGۻv_^Oן^m_zo鯯?sy}|5/ǻt>nw_^m7|z77ov{6~|w7w_:p)?o~4t97?}twnz參ϫKitjp:|yu _!e gws9p.poCt4z7>?^^8\_w=??~ 啇_~,uؔ8mMIqhGӷyx~?q.ubyz0Mw4}4T͟x w~K&o%;G28rZ ͗}3}_򰼼=-)>|?=~y|c>./7rRn͟<k%L-xxyx\ 3ѵvqv̩\^Lrizyax7O;l9Øc|<]s=?c9zo}sS;mJr]wwS~n 5d7ur)s3U<_'~Ձ7}ק9p۞^<}~رx͇ǏS#a߾MN<_牞b/Lǽ,ZR%)ߧޛC9r}?jM{_~oaNNz?qTh?˽l$f><~yTtgwrn.R.{}wþLxw#c ?OrC.qݝ>!ߞ7Ϭ~{WNUKn;z/{Cv?_{ hjn8ޟùztȱ>r2'dӁn?$\209~'zwJs- 2+IwS|nmkZ2ˆU2?&Lsq9ˇr7;C)ödY>w8Smyے!L.ie0W<燡/$0J?tɼ{I4 !iK2+K9]!]^vvJNYJI7dwK3 ~̔L:}.k0;LIa6C2l*%l%]g6w30>N-Rw;H_6 ]>/w~w4JNIws2%i50%4=fwcIav9SXR;SaSI)69aO#%[~HJ|[u8ep*')>\wL:ews_8f)?ɕu>'u2m2ۙe.%ٍRRx.%l*.%T\J ɴ_J\:{l;F/ kI`8ӇJwLٿLf3r-<&پLf7kdv^/G}bOP]^d%q[rpC?nK {q[Rdq[2Dy(_+!kI`R/8^Kzi[R<Nے¤^pږ&SqږF_ͅr?>%ΪVx>';Lӊnmu6!8~K-v#f>aܘOxe;~rÜݍJ8~;Lw\:\=">0i|aʓrT0syQcw࣌SS!jy:k@m+qxk|Luzߎnvw.Cozxi xswpK{\j\uۥ}},yZ;OT\\-wNT\֧DE~ЖR@ߛ#[J#[V5_ ˲ޙZV8v}YۙeCH%p. ;+!A1b^^CN27"·^"o{Y:]VQW;=ZUNIJĢ3j / ݃c^˺,K4z;̲p3މYst}^}yGG~t U yAHoҗ!>}8+|^Wò6ye"U!DkBb!b^Bļi-J"u DL@׀1bYAļyG+?}0`^AW|1`YAļփi:"UDkq+`U; ̪d4 mU4lub]8n9oU6v:`Ef ˫xUdV%YCfU+'!b|ؐCdUUI>dVEYCfUUi>dVYCfUU>dH"2}Ĭ !*Շ̪X2r}Ȭ !*'h!} .G]CfU+Ȫ2"~Ȭ!*̪0/!*̪2>}PYE_ >Z@\7&}gh\o{W Tn\U}qU귓T\'U}7㤪1VnCU7#˪͌cU9~@/ pz~bC1 7( mBHo8 mA`7 P@/\ƀ 0Ro A 7Ho eľc@oPl7 _0~  _0~ M0~@8AO`PAo\1/h _0(c7 0~I 1*?)`A%-`w_f" B 5(Lb^|fW@@ZZ!C@ZZCj Ы%P@@Z%bN-;(P@@]ѽ: f(P(P8 Ā@L(0WKN-68x/(`bXK[K(WK^-z5[KSK^-:{ --^-:-N-PK`H@&k"P@@|t&1l"pz<[K(WKTŘh dwk k Z@h j j@@Zj k 45(,DPM 5(LbzM `^DT>PĀo@ Āo@ Āo`a7 |b7 & ߀ }B7 |!߀ }Bb߀7 $ ߀ }!߀ }B7 |b7 |b7 |!߀ ߀ }B7 & }BB@%7 |b7 |b7 |b7 |b7P ߀ ߀ ߀ ߀ T|b7 & }B7 & ߀ @e7 |b7 |b7 |b7 & @e7 |b7 |b7 & }Bb߀7P ߀ }B7 |b7 |b701 o>p+7 "߀n߀"}5|b߀n߀"7 |} (7nACo@PDo@}ݾEtC"^߀"7 |7 7^߀n-{CѽPAݾEtAAݾEtPDoF1o@Po@tAADAݾEľ@>`Lo@tPDo@ݾEEo@Po@ݾEo@Po@ݾEtݾtPDo@1ھoOG|@Et-PD|@Et-Et-P% Dn"zM5D68-tA&Ad"D&Ad"D&Ad"X 6" 22" 0! 2TMD LbD LbD LD LA 22" 2" 2"AD LD LD LD LbbAED LD LD LD LDP!2! 2" 2" 2" 2TMD (622" 2TMD LD LD LD LB 2" 2" 00AeD LD LbD LD LD@l"D&Ad";2~%lD&1l" `ӋD BG|P@,a߀Տ6oi}M*7 f@@m Šfdb(ób#+)S 4wD1p hCz1z1hzg0^j ڙ& NmN@/'=q 8a׀3v 8c`@;5v \ư^6& 8ÌA5 \b57t 5Ў=v g@;}xX<N,hHm $,h3cb@048`B,[` A{+O,uXک-PIЦb%XIm?AOv)8-ibON'O~6/=?A%]bYADVeN ,+pZeA h.h 9~@11111AXc 4b@c &T4b@c &5BbXc 4b@c &T4b@c &T4b@c 4b@c &Xc $ 5 Ae@c 4b@c 4b@c 4b@c 4b@cPPc "Xc 4b@c 4!Xc 4!Xc $5BbAEHc 4b@c & @ h Ā@ k SfR}PVD1O J4A[Hc^De`("V'kw5hsy 6A3XktbA3kL>{ 3kt)w5"; si ~62ADp4,8hg'BDpОࠝxJNFALp0md6$8Hl$vilv lہgi&ہiہ1ࠝLp#8m$ 8M$v2A %v$80AoAp`8 A`. ;u&+hLVdư ӑbO (gJ'hS e~W b%ӏDI5QgK$h{) #S8m Ӕ) ڄfJDI'Q8b%A۩DIж( W(HI HI HI@$DJA$J1$DJA$CJA$* @( Ā@ ( Ā@ ) @( *JA$J1$DJA$DJA$DJ @) @) @ ) @ ( J@) @) @) @) B$CJA$DJA$DJA$DJA$* @P$J1$J1$DJA$* @) @) @) @ ) *JA$DJA$DJA$J1$Jʠ@) @( Đ@) @) `XI HI (QGed* ӲXI`_(bXI`ZFg$ ~! 㱛" n`P,*hg;8-DTд1 ^ [ ZL?Z cXTtEْ Vߤ)`@YAwYaYA; ,+p DV6 İu"+hscOОf6 䱟m @ + Y$pƀ@ XİI{l!Hl!0mJb!h%q 8`׀54v@İk&AOc׀1pzz^@ Qbhg91 ÌD`= !,pv@B"h.@Ġ@ a@TIy@۝Dư/6n/i}N pZ}BbE!hh +++ @ XĀ@LlV1`[@ X*CV1`[V!@HlV1`[*BV1`[@ XĀ@ XĀ@ X*CV1`V1`[@Ll[VJ@ XĀ@ XĀ@ XĀ@ XĀ2`V1`V1`V1`V1` YĀ@Lh[@LlV1`Vʐ@ XĀ@ XV-|{R}BP__}Bb_ $T|b |bb___, Ā/@ İ/>ŞP 6 |/? +"8Im `t|N&cH (ط$HNByF"hA<@L"h 8nxG@ y%v`0(Q#NGu6#p;C:'?|p#r=JDm23D$഑6T%"D$-PH@H@H`X$ DH$ DbH$ D@$ DH$P! "    "  TEH$ DbH$ DH$ DH$ DB  "    EA  "  "  "  "@H$ DH$ DH$ DH$ DH$P! "X$ DbH$ DbH$ DH$P! "  "  "   TEH$ DH$ D@$ Db@$ DA  "  !  "  "H@H@P"n3} W@$ DY" oZrr܎ Bbo1 /36*iT7i@M5MA`QXCV`|hz'=1.2Ā@ ^dh8Amdhhz&:t; xN&ycb{!|Ћ1 yK{鍉AOCI}X';]D.{ Xy'Ab1 ߟ{05AcgB,7$kPŞ}~t)]7%sZ 7&}A'bBcbS 'euU ?C ?`L3doZM?-t:9 ?T(Ղ' !Ŀg?Kn 7DZ_GXmO O OP!O O O O  ~A @ @P5Y @ *~A @ @ @L'~ʠ@~A'D~A'D~A'D~A'  'D~A'C~A'D~A'D~A' Ā@ Đ@ @ @ *~A'D~A'D~A'D~A'D~ @ @ Ā@ Ā@ B'D~A'D~A'~1'D~A' @ @ @ @ *C~1' s"HM"HG~Et Od74JNz ?A0  ỘDIМ;l$h3) ^@ + @L$';8cKNz5 M&Ő@P'hEl'pHN ?A;Mm?A{Jf~'p ? 8?=m/O (`'hOOt=8m$~'U'hHmx'p ? Jɓ &~'鉟U'h{'PD'[VJN D - ޒ h#qA4sn"bA&Mo#gs=pzh6@{~@L@=hopMM=hȴmjŦP{ (8 ("ӚiڃWk Atp8ƻ2bӁ0Ӂ0Aet dMbt &69=bt Lbt L 1Cl:@ D@ Ā2d:3Ħ1`:1`:1@H`:cAEt fMbt Lbt Lbt LbtP2bӁ0MBt Lbt Lbt &6TLBbӁt Lbt Lbt &6Aet Lbt Lbt Lbt LbtP0Ӂ0MBbӁt $6Ӂ0TLbt Lbt LbbӁ0Ӂ0TLbt Lbt Lbt Lbt &6TLBbӁ^ӁzL{M 5(t^ӁzMK@@Ii@<ӫTnn`L@,4hOg(n^z5  tЫ:PĪcnढnn`LРt +4P@$40Nbj8]fӣXh` 8 *C1#({ B@YPRU(WY^ebe_`H@|@<* 'ʂ6)* * -ưIE@$&K@@RPa)H AJ HJ ")HJ b %t) ") ,K  %R1$%DRA~d$%DRA$%J  %DRA$%DRA$%R1@H *RAH @I @I @I B(%4@I @ I @I @I 2$%R1 %CRA$%DRA$%R1$%J @I @I @I @I *DR1$%DRA %R1 %R1$%DR @I @I @H Đ@I B(%DRA$%DRA$%DRA$%DRA % I Ā@L"%("*HNSD@R%"4mRf䩔PK &)3  ADWж adW+ú+ú4tN6@W` ~dM  Đ@Pb(hOPt6147P01Ӕ 6P (1 NP4AAl(p1h(h{ ^@Pb(hOPО晡zb(pH NBCӫPж &2CA;PAAd( ړ'38CAH&%h;/%PD(%0=N/A{&ۉyBm!h{y6A J<ފH\NT%.Eж3:s8J\N.2AD"hS.A"h]n"A{f.E$]A &8ˍ-AE"XJPpT FJ "#H#*re9."`"Td=5 AE@BPhkr)VT "C*򁊀{"HlD  Aځ u" 8*ʁq" *!@EX6Pp T$V TL@E3P T,% JĊJĆJ`"*vrJ[`AH-P0 T@E@+P T@E@) `*>:J6J2J.JJ"`X T<@E"PT$vT@E@ *<"*怊8"7`!@PP^i@{UTPyTW0->Wdm2_@۟N]@P^Y@;]gU@;^S''| ʀ&` D( 򀶿;pG`@݉"!PV4Dbh;+|?p&%14B!d zҀ&i H21&H:lh!*j2IMl9~z m|?:z&vh h{Ò;#?~ pNp΅*`%ʓT;~WVOOpO*+|kj@H()xgh:X'&}Za",h<)6 < J!,BCC]Ƅ~Cz Ԁnz B:{ t *m4P@@@H Z Ы5P{ Z&6prk6j@L,73٭:P@@<ĠD;0OqPnǁ@r -I׭9PxĢcXn+]~ oۃ^zM U!(ׅ!8-6c؀ОE@h3J5(S} }X~`L,<-9P@@z+:P@@tjA{ 'K@L?0N?;;({4^z (8vlA nr~ov}_}t;bZ珇WןFxz_^wue.},xOJѺ% n˫ͻyvW+co >ߦW0WC/_ 3v܏Qi~<..כ]KCv-fa;vzηq;MΙO4cZ2]y9ٸ;{aiep΋ų{xЋþ _{nnym@o@o@o@ӣ77{e|uyFty_^Zyjw<\wM<~-Gry\`ތUiݱtܗ۱x>U<}Zuycj՜3f( *O~g=<_Wsfu6]vm~uJՔn>cq$d1}}zcj9Ϯ/<2oY5P:5mT5k|9Wsarvݗ/ ӧ?Ka30oCmӗ*o +x^[=,y9l߿OOCg8]TK:܏祥K9U~OGfoYf^|GCoy?}:߆(w~yVϧt\Y\N{keǯ? S+35O>ԃ{·rƌS:o>xxXb. _ S./?i7# |0, ʝfǹ(c\Ǜ8{gKwOx߻izŹvˍsvkVys\؛8>gW̘_DKelF3y3o}\u3~'Ʒ?#sYnkrmݟvwE7ODu=^,, 9ph0k\Ftk2e=D.oӉ=o Wkpӿ?g~\p_kWNL=|}m:q|ҽrs0᳜2/家nKer/b>wÔ͸3s<jay%o4f7l\}Xrٟnz[Tֱrx_.62ޑ= -t׷m<Gr遱_=Wl}i2nF> stream xMZ^7oV:3#? VH4ZV]n ̗{=d@zmofDߟ^~oϿo˯?o__Oϟ/߿??ӿyy~~ӿy|zy}~z~_z__ǿ{_׿mY?ޞn߾ݖ}|,W___o>>?}-ky/eq{ZnϟW7u!wz_U~/w[ _^ߞޟ_'?wOyGOEo yx}ܘҟCfYؐ_z#W~OܾoϋO%տ*˵|==1>krbo%>xc_/O/z?>kVkc_7c_o_O/_J,}So_OozǾ_ޟ^}..dɏrUz5~R_?w U}ٽ{>}ؽ{~[^޽?nɵ?/X.n߽ {ݞ^톽,7eϛky1H"pZ$?f'z{zv[.KomaZr{_^ݖkv[Eo"o/_7N}1oMYrMn򾼝Mmy?cyyz;Mϲ'{7pRc}3yx>ܟo&˧W3yXfr8Ǔގ盿>OO_zw>s.Bz 񷏟Ou|X?q}y=\-#o2yr)w{{>rs [~^}uz9>r8竿|#7x].q8*7oϧܖk?F?soq{{>}pc{nܽTu u{ *fİ*s[>4^\vy,'r]Kk69N*Y{r > }L|tx·ur > }Onχ-8>˧0|(i$1g.?/zF_;cr犷Xބ'[?'wSҧkfy/~;}x\ޖ'V|tzʯmr+ɽ4}Z>o>&Yަ_&-1-^ޮ_gr]ߓ[Io Y>=/o3fɻ3|,ow'ûzn/GGTerx:w5y|z8q|욼U~>x}NG\~&oUeǷө~>}Mns^u}߫~yzm{m߫yWޖ·f?a_7_'u>rY_u>=t{mku:r]/n???X/=ENޱnwӹ>ߖ&7{u8c}c}?Xs}|^k{Sﷷ;eY.oVߢl_7u䋩Qou ~:~mewoW'"/[VZ߿^L|~Xm}ۼn֯}d׵EWv_N; ~5׺kx ?7~|;-sR֕p|M]މxcc?[}}<9 Q|_e_D}<ׯ'Zi@͓7+ ~짫/'GZ{~_j5W?T?3?&ofԗ %v_jB{ ~ۓ_pO;֯oa|-X_B%q <|.+:`r;~o@Wշh}߽?p+a} ?a/'uZ@h^~_ ~G?95H7hOW+ ~k?9H0~ߏT_O{֯'GZ͟@~Nߏ~W/w`/b5SHLDqbv"|ؗ!wcw"c0qwFct[|E{qyFoeF{q-d; ɏGs!;[^\.$cñw9v n\C;q <=v{˳=vکvvIm@{7q t}O*&v:;1|s|ab#./{o Ƈ=v#.Wt5go-˅u% 53]@~>b +:`g '[7-d&.wM]nfvnڻkh&vnڹkh&~!Ցnٹvnڹnڹ67qnH{7q vnH;7q npd/)Z/!wbZk3$E*h"o&TGf"a2!:"Ѳ'b@b!6Hͤy.T:aa1\Ti"_/d^`pؽ:@yRa&HUCY}j) rKH,jLY/EA.]QwHEA.]w1|P1q 01>uC:ul ި KrdF\bE|\,vjAx0H-ZamAj Dӂ @SqZT|WH RdF]GA:uRH]GuQH]uR\uRH]Ӈu68c %SX=5jrq ;N9ilL坓ѽ; $BrkFp!H-Z)4/"J +"I+'rA2 +rI+i$KIdOAV#I II i$HY$H6Ț##a0AH&#ɄtD6Hj!ZGd+\C#a=#&=H ilF #FFhF #H +FƗd%$*I * VIY$UIY$UIYi$TIX$UIY$UIJȪ$JȪ$Jƪ$@Z% dU@V% dU@R%9AoL]L6F{%#z}5`4qLqLh{x~n#F&,H#eekx| pYn#uC͢knފjF j\,riniK pn82 p8Y#P;V#8Ƿ4$0d@XG uXGv#O Irϒ5$G Kr$Gv~#tXUXh'9'92aI@dI@$G&IIL-ȒILLh#%9Y#%9I#%94Ȓ,Ȓ,Ȓ:hc]l! $GIcfgUH1BTL +Mygc*<&8߀^k%t„KVk%1E jVBOq^#2#2J +E@@@@0. rwj&@Z3 >| @# r>H}G^'># gj?8# Ȅ }pF U@R&  &xoL4:u[&֡L4x)P$ b:rLu2֡ @j:uR֡6sdFZ @j rHZ 0j rH* ց-&:u[uJYw|xޢ$-JBOz#ko~%W˄W2ZYhg!'ݑ";ݑ"f"74 ߼$MDKod N&hdRV$LBK͓ᵂRWP$MBK1e||ku h]H*@ZW)*@ZWҺ dדӫɤI&|bB-@h -&@I $S`i;%o& mI;e )a0저Kev$JeZ$`Hj'M khӤ oiH&@4Ҧ 6MVh4 6MiM mM miH&@4ѦIA4-Z+'Iȶ2 d[yȚ&0!mXWيb-L `E1X$5Ɋ*=TQ=_^sd=CQ,Bq\(+E1*I $+($E(FsK$5 *'ъbڏeW )XXآZG-ѤE1H :"kbe<{QF/E!(FshbeK[W!ɋ0ϣ{7IZb4ZQ&+`xUOUԀ*LE!XOTb4OQ)4E1LXMRAb4GQ(VShPb,AQ(V7`Q~&Mb쑜0(F+ɉb,8QH?7-'qFրAgU0Vf[`Bxٮzm ~[&4*zm ~[&p *2i[H+4Q @Ҷ 0j rH@RaP U@ `T5RmP{ @jm &A& @}V7Սp,j @}P& & ~uNL4T0a(:d`B-i hRH] +4 @`T8qRΡ @jT;w2#|xF,Y]DDkK~#-A2ae@-ABKb$fHl@G P^V_<],],]Q+hU6B["d.XH3,s]Dڒ@dI@cI@dI Mb$F Kbj'12aI@$p?v#Nbd’I &zdBb琌FhF hoݑ kx$F Kbj'12Mb0ObdNbd’,Ȓ@_2Ɨhd2$2@d@d@d<H2a,2,2@d@$[5?҇nF hF hf4IF#̤&7}8mVf6Ƨp*no GZ"]sV4GZdV2\Zr>  2 b@jC TL ъIU H%JH I @;`TwHuULY$\l2bH\lR$bce]0G`B>hЉ|co-jB#? u@H&Lj?"4@mkQX &o-Pk4}O?}mfI`BY RkHZ +4@f-`ZRk֢ @j-Z>OGZ&aZHZ @j-ZȬLo˛b]Ynm,]ͬ] m1m?2 m #dau \Hh흌mݓ jM@nu l4L& )ltI6H+$@V! IA^! TH6HZ#e,e +hYH"@Z)"@ZҲФ,rz]}8!?aG&r;~Y -"5aeB9rqhHk$@Z#) wG ۻ#Ee&ex,D,nz~P{WLhY +/ɚ#iHT8$_spp8Ä  Ej⁢LOPI4I:fip4z ~Q~Q&(4Dž< )PIdF%EA.)TRRIH% M$I @*)TR8}؊ؤKH%I RIH%J 2In|fX~մ5@ jnF2! H^7$t 醌͊"ꆄtC΋nH }$A#Z G:HP:H :HA^ du@V du@R cu :H :H i$AI$AY$A H d @ 0Vؠ^ @IchO &捎%^ KFG it\,V̻sh#u=Y#дqYxEd]@ӮiVw dj;2a@Rc wzG wzG wzGA^$0Vd@R8}՞Kl@wH wzGwi#;Y#;Y#;Ha&F;Ch&"0D@<p5ЏF0JF[0r0XTDig"=C`|ːہy!/ ,E!`, 2 `,#!@K@X0(F0~E`,cb4cK=X20y(D0wL 5`0K 7Xƺ00C Xx ӭWoW0+W@ X```/s.aځ,#qK+a*XTƒ 0TxLFR RfF? ^(Fv c'X:F M(F 0L``,cb4#$ܽ./+b$%[&f{=AP L8.٣+UCp\+٣Ni֛T4 8 vo* \,B D8t4a4ТiapxRހ4 HC#3Q mi:H< dh H@==2Q #3 &x D3Og0!錋shTHyTH&@t3`4Q34 Mgi:H+ӛ4?c =*334Q34 MgY:Fy:H@t34Q3,Og, ω)-Zf'8_ld&&8 i6: 萋e! ކ "@Eԋjm8(DՇUUXjo8'Y٣,`LRIL/0+@(F6 @j' J !̈́Vm6&EPc!aB-PCR, I 0*3[75`B 5@}Dlf@ihR8P{L: s0< rH: u@ d@V?I +J $NɎ 0#H Leb29j&{0+$ӦR5 c]@R6٠YnmA2a@/ d@A2 m Z&f5H&h%KWM wM2ae@6 cu I kI 霜>idxHv cI k vOY$OY$OXH(:(Z(=@RD 3'd ` FV#t;v#  Fv#d@EIR]lrV dn22XQ#,,Q3~"lC@$90F amEپ",q@$0d@E K\E b$,�HS83aՎ@Vd@DRyhxIZ$90d@ G8 Fj?3X44qYhxyhxIht MD#ho>„&Y$P;' IDIiN"$YN"$N401y)ȟHra,'r,'r@d9@d9@c9 ID ID I$IN"LX+n+zZlM` ; &e v/ @=K am@=9ݗ5m@ >H} +4@H&Zmj)R(-Z v[$HhuRwdF uRwɄ N[D-v[$H&T|"L"hE2aF-Z ۋ Ʉ NHv'$NNH&z]dB]="=ȌL]:u(] qeM@:Vh:uRH]GA:uRdF]GA:uRH]GA:u:!˫#NV8~)D)D)Mh0k@kSH"@`H7Eqw59Z)Yq@hmHk#@Z Mj#@ZF66 imHk#ymHk#@VF6RF6 imj#xm5I&{dBj#$M'aj#$M rC4}$_& 28VG:A IHޖ$-$mU#LL(9C7) $Ց EжE`-RE-r%{- d4iY[F"@ҶE E-m kh[ oi[H"@ҶE E`f}kX11y`^-92 r1Zfi}* u5ih@G]1ii@j2ht!/eFhHHVФ@ZiUȪ"0 rHhRHA^ RdjF ^RHhVhQ?6>j9T)uQ<ꂉU8ôz Q< @;uDQ5.h>\u.?&Q@.q!tAPdF,G  @j"TEX2:H} 5R'RHi R3jH 2?o> ~ 0Zؿ|2ÅL;m5<`ɓ~yZ񀱆<j8R08`V8v6qV(f8ʱBZ0V耱>xFiv7<`bbc)w o=N7D h0u=`Q6=`c=y s8;[c~ v !3!0H 9bm R ^B`3.X mB`3$psۭzh|?0m`36䰊!Uk X rz2pZ ]D`lX+~Xƚ0VG1Z>`#k|{X0VG1ZH{[uŷxD Gj=h3t{[LD{[&z ~g&,+Hn=3tLhp"'6ȶ $'on?y ?3(Y"(Y OQE KQE IQ(Y"(Y"(4ER$ER,ER@d)@d)@$) MQj(2aM@-H Jjg%g%2JdBa,+D;+D?+ JD Jjg%2J0JdnY@Jd`BȄ#NT,'qqxn4Y<"#Y<"#Y< GxDGxD Gx#Y<"#Y<"#X<H,,,@s|xbKy 辗`%{hz 辗`BPK0}/Q%K{ &z^%j/DKR/^H Mz @%K(Ƚz @%K^Hy @%K^Hz @%K^%P/^Hx@"66% dF=!P1 u @MI3ޔ4}D <`hp@j} @j>>]LZaT8H  @*T8D8pQH \8pRȄ \8pRH \8p1׸7uR([@Z2Ĭq"kgl62 W2NݻR_W4fҵ1Z75AR ezrAgs׎4vZ M@ZIpmZ^9`q^5;kC| W$͏iFJ 㫱J` Rߪ"[i, ŊP2F UJF^hKfَ"A$@oH 7$C` md ZBd{n]>66$ Fi ݵ#V7Lۋ@}GicbdKo1$%rq|ɈlmEIhMVjI joG~$5 2\$A6% ?ڛdB @9/I&i@!I G7%9-BS +4IV$>ۋdaB7$y9ҺMR#yjHR#K-JF(9  﫦L`4e) IMR=-!MF? O=Mws*@ӜJ> 19 ͩiNHs*yNHs*@Sќ Tl{ lQ ɜlu$%K6*LG6ȶ=D1{͕U„=3P€>s>31~t\C2' P Q,#iM)@MhJAMϩINe|ZXug),@g/ֲ-ZzKAzV#00L>-/h˵{禘e[&ԲeYeWcBqE޷[&=S.sv  .% RR;T;4@ڡR{B{Է'L 3{r>Şҭ S)Ϝ}„vtT{:@e|TԩJ3r^ĩ ~ݫVw*LSj9},L`RHKA.XT`QHKA.XT`RK1.X  ,@*X|֚ - *X i'H?NLaB #yuHVwdu&`B\9D|a,XׯgB@ im6HwfV@Z+hEL,sZ)mдs\vͶi9V@ti+۲H@.C!3ݭ%m*?y'PV's:ugx[}? %PD ia9t@՟э`N0m&zmжELv'O&[a_D +O +|Y'|X'|YH > > >@V d@eĚ>_M>Ǘm}ZF/!R8.ajjP&= ؆0՟ O Ʉ}Ig|IVXXH{@l?@L Q&m)xRKL;=)_e2=u"&ᮣ+MB&L&hMB[$P;hv$ 4 dA@4 dA@4 dA n)D+hڂ&,hȂ&y$P;hv$I&:A Iv$I&,hȂ&@Ih M2`A@4 @&hM2 nM2aA@ p?hv$4 dA@4 dA I I  MY$MY$MIF&.&!,hH&;e=}$7C=@@4 d‚&M l;6tYEh{;i93p :@KA+㝠bt[u[ h4蓲P1&|g-; BK]|74:ì:tKk(Tn .]{A+jP1 *FAz/hF@X+BLBbZ:hQhiOWj@BhAvP1Z*ƺAh5mŠ^P1Z *F[Ah)cFP1W/?Z*6=.P1Z*Z*f:ܸy 谈@ H (3-W=b5іO^Om#E0RݔIge-MO1cmc=B2޸= h{-ݝb2 #[vZ~nfN1HH5E)Id^y+'7h︓ ͚9IIj$y=H$@ZzG VJՁnoF;5=BPDDkݍv2 26=26&C,ɐ,2XLd$A#N "tߛfc|qr8| 'FԍX-^$:aqh"!L6 f P{Ljm@q&TlMTD4н2 tO@5$ ͊ tbݯ0!r||o0eH PbS͊ *2aWV]Ԯ@bw'L;RwHIANԝ;QwHIANԝ;Rwڝ#]~xH  u';Rw$dD6cDO4h„ u'@3_Y'&  u'@Swr7wRPL;Rw U$dԐ!RC 7$@փioJ 0 LX&u`J0-&hK!m@rN+VaxD e@6L&Շ .d1@Z t{ a]@Z9^nȶ)[/[+mrNls9@ENI|imr@xK o^6FJ.dڻ01kW;sv%+NK+lPؒ kjK r [Y%[X%5\YH;.Z.Hz.}xi%8!lG@Vv dm@VwҾK +j} }7LɄ^Y%P{LX%P{K )K _ 0@}l2a@ց d%@҂ c5 ݭ&P )oVaY&a H0aڻ"||y'}dr,ީN5hT0;dSM&Z!h j@2a!@Hv$Hy$@6]D y$Pv9&THn*$VrLv9&rL&ZVrLv9&cI@*@1lt;vK&i7D; }G }>Y#>X#>YHc,b$q=NJ40@d@d }GU3a@Gڱ&L7s!@Hv &<H!a,H!g@P? j?s5XDEXTh^9.4LX$HY$H4DHB$a!6+6l@m38"W6Ⱥ4@h&zz֣9]vi5  pdO Ȟ(h*Mmd|nPT Pߠ03(jPVhbPAagP5(A&AVRAa  5(@=R j/MPiԒ&? MK&T4RiҤ &@*ML4RiҤ &@*MD|ړя6h4)ƥ е4PiH J\4LvW&mi@_҄4a/M]k'XH_idF P_0HIAH&TY&hQ5RhY&   @*@TL{u&@qh&@ct5={39Zno M7L2JH* U"@mzC]>F&JHO_ M*Mm>f$dӵMVR !dtf9_[܂9W  5 @Ki!Հ s@ @*?T~H@*?T~H'-_]Hɏb\~]@*?T~(~b M}Q&A!A!&4WDqiś8-LC Hk1l3!~ 1D?1„  &@*LTh`=W2,@ :LhAH :@tSP6`LZ$@f)ڭ PÄ*^'aB;9Bj9@5QO0K@>Y!'E4-a-nGKPR~~^ZJA.U&fe8(s(E?@awxQ+3k=Fw ԗ0LR H%LA.aTQ H%LA&a?ncF^R $L1.a% J 0@*aTH% P_0-aKx@0O0O03LubgL P@@JA$PP ԯ0ѯ0a9Ã*@} ÄH8 3jGwD7W49E LsMs:j 4@3Ms^TW~PU0Ԅ vkΫ7PeS+[=Oף[-tYIhZ9㩗-QS 1_9ޱ9]t9|9Ll _ft5n`+ؗ t^ =4)1/aB * U2@d r%JȔ * U2@dvhw3+ R%JȔL1d * U2@dTJH P{Ln>L7Tɜ1U2s%Ĭ!tOOaE7dnFA@Ӵ'nHLA3nhf4w3:w.͜2u3s89ڌϡ$6_F4 Lnv&dˆ f0b }m& 0ݼLDƄew2c%3_ 0[ˆn)FmKU2d |mYL) .Ňr0wc0`OSro Q0FKNxv9rf[N?ŭ'&]2 %L+dW2 z%ؕ0"Wˆ[1FJkDJ*1&U n0TˆR #F%0>tJ+@dJq)aDc"%x0dKĢ(AD( #j$Ȑ0?LrxkQj@GkFɀȏ0;ˆ1FFag6AD`Md&@7K8aj+gˊULnOD\4}u @={5'0`}DOb1P}e]A9^ +41@}Di0͏ly9^G Lb46HLF u T`)pL%=Lj0LU2TfRQ @f4`Ditʍ6ȭj @*6l(е܀PzH p;&=d>dPR;c6i MuPJ6mmmB= P%h?d&R 70@b`vvTxH RH b]50@j`) ao`h&00LRo`uD0H u# 50@j`QSao`yy軙x0ang{y7ho铁fdYaB :^dY 1@-}Ζ>-bf[lnO.e&T=n*d r!4MgCUu&:[lʘoMt~L[lq)3.@-}~ƅLU"6a2Fe ^^=DgճM/LjU P߻0H z .w9s]v`ԻwRR{ .@]Իw2R{kH z .wR.L#M{lݽz2ޫgճMt&{lbd6lubp {: L(LwRa{lZ{lݽzVۀ }#D0 -wa¼ L?KnP1[6H,X9\5jYzoYjbb_ & &Yp ,̖- ΩdŸW{~'LR}2Zl?Vp%t;K-B+5LCt[d„J *D5ܬV}@&TP cB% @&TT2ȄJ *LB%ХP aB% @&TPRȄJPɄ%Xu,h'X'X2a%9@J&̡jTjs*$LI 3%poܔs*0SLI 3%Ĕ1Sdd|$M6LI 3%̔) tmJ9yS'_ǵ%_ǵ$5"GpEL$xxE{c2wx5|E{ury#Ƥw[>cP.W(Κ\C;kr d5#ޏ\Cޏ\oD?w0#ED"D5%;Yrk0ӛ0tuK]^n^oޑ\^ޑ\C;G;5"~EwJ/W"؛ބ~6z! ߌ aoC4Ά\Cm"E"6ِ >Ά\C;r} <ކ\C;ry >Ά\C;r}͆\hoC!l60;r l5!ކ\C;r lH >fCG=.mHo{;ކ4ϱS#sG^5&s9Lhd& lPv%'JN`i%'PP2 ͕V 'phHc$@N& ndɄp`aBB#;-鑋[7'= C#@F44<4 ihHC#@)C#@ס ihHC#@)C#@Fuhdc]&]LhNHs"@P@fݵ6vm2  MMih lD4'9 ˉhN mGCh7j2~PI&ڏDѱLa ip;2%+ⵛύ503'w&yi(磫H}h=@'krw~T &Y!)Fh3rkgeST~`,Z)F5/fbAn n n nnwnց*75v6)Fʘ^ّ0MGQ=RLd<б^Ŧ~æz_SL^vMIǤЎM1EQ-2nEQ)R9BTF"+>!Ũ )FeH1B1"nB!)F5H1jAQ 2@QRL߀Ԁ bڥuTHc^pRL/SZ)ߖ50)c]Bڏte@G1)<i-i /Œ͋0@Z9^` `  `sdkÌB38tdƷ 3KsM^lI.X&&&f9$$AZ)H7$! g$A M;2WLL;2Uݩ&&; 7a&=ɪ@| M@ZsdIc$) ti*HcySH@VP&0$b5 Xl*6H@i2KT?01U({b:ZAMo e ֠ Ihjy",q<Ȅ8DD:..:1y՗k Hr H"d|K,r>'E$*2^Gm DEy<H1@ r A$ 4 ~j|I i iH/@> $?6H C҇P Yb/n'`v31uwNav" N2;D Ndv"N sAi$Хa!i@v(ȵC L;2HC@vd!i@T;2HCL;2!i@vϹ\hE/V*G 5 E-4 wv H  ؞`= % Pz#+/mN p:9@3p^+^tu nḐ[mn!UR+I91z!f'iOe:ikep[ @&0|ӗѵ}ָX808|+ѿ @Zo][ т{e" &ˡ>odtD钉v%t dM ms$/I;0:0@ځ d@ց d@ց d ,L L @ց d@ց $0ցL L  v`Y&t`X&u`YH;0:0tוBKfJklPzZ9Lv\ÎV;&s\ѴsZQ!nC&֐ d @ ӆiL&-LXK&duZ2֒/2B*33hwg20jWf2Ѫ̄Lne& t2Ve&t2Ve&Uf+35Ѭ̄Vf2ЮdU m@VWf2a@Lve&וVC5Y3ZH]V&]s>~]ۮ@]󺐯I~ݤ&P?D?D?t9f]=M&4Wϫ՘ \ odB0@j21ݨ]gU 4 i4f& i4H1@hLAh Fc4ј< h4H1@)ȣ1@& ={=@ GcڍL1qǷgc"%LLr2fd4#.0͘dtZ15rn}j˧6Nv 'e7D/5 i䄱F6rY#'5rY#'f^SLt994H3,@ d@VѴJA  kFN kF6rI#'4Z _Z7L9wGj㞞j45&dBM 8L&TkZH;@w37^OA]v3fWj @5TkDkRZȴj\kRZHFA5TkրQZHFA5Z{m|{]Tk(ƵPkо0 ȑV1ZqiCFCFFw:b'H1Tkm6jE8^-4rD~c㸧o?qGZ7o߀QQ @7oRBL p& 5@j2d&HM 5@f2`d&HM 5@j2d&LLd,֒7f7fN6fN6fN9>3>ui-d2>sZi If|sX3$oIb!R/7n@hH8@Z2 M8@Z2qee -iH8yH8@VƁ2qSqv3ETtl@MM +e -ÄraB 9sH!g3ZpF pi  :8wFL7GZ7kH7E㪽3Zq sZqF8-Z7ݓi#qt)IfaAR IH3tݚ)ltc6H+1@Z)*1- il_6H c[1$E I]eȊ)tG٘~eYK偍bdK&dK&4P- g#T[!<! ~/0 o .4w ]$w ]ir0(s@.4wQ.4wd ]iHrE[c;6)W4w ] ~VhmK&^/&Z`i-Wd-g7xDRR ^B6x ^-a-) ԯ0ы[@k0(@Ҹ-4nqIN: 04! a! aiHC@€FA04! a! aLCmw{^^\NǀFC1a1rQ\0`L  Lk!Ǖ(F}`-#0c*` 1 c$ʸ1cŨ}1cbTQ'4@$ AMw9[w9RL\G 4GA MRib&Y SiH@@EAHf*4T E1K &R`b Ax@W0H{@ A2Ht]jo @}D_d"k"HE +4@*2Td2" @*2TdRQ f4?ϓ R"HE Ÿj?"=L>z=wm?HuPL6DOY@,z,je!ۛfGPd 螻VwdFEA.]RwH =R!a!VFHhRFȌhRFHhр?s9$=@2$=@2 d 6IdM%yHk%@Z+)k%@R+٠~ ioJ6H$yday<i_H"+4i_H"@E E/} d}gh) VEc|]>i_ i_H"@ҾEФ/ۄY_~3錼o{yUDNqӊ5f4C UDN /&&r:VDtEz_S}㪯 "rZr%^9!@zzC i=H!@ZYi=٬k=H!@ZzHA^zCd i=H!@ZzHA^zL|8=7!LLLLh=H!$b1!Lh=H@Z)#@?`6Gl36 z UuBS@T*VhT*4Ud MU MUiHS@}(IiȞ MUi OUiHS@T*T*^?>2#&*ڻ{0#t{wLXFS@*PM=B7DkSКjo KU` Q@LB(N5RA9Rm>260G 3@j>dd}@>I&}&#*"@f>d 7|2G 1a|d#@b>Ъ@?a2 d#0f>dHG 3|2G 10j>GD|6m>虏m 1a|1XhXDOn+LHhS $}Mk҇hL}H&ćl(@=m=2ѲzƬVHY$@7d~F&:~#UHY$@f2d2LF 3d1&#UHY$UHY$ Nۉ/+$hWH2! YQ$E D3LHdl@V $EKB*$L+$ I +$t I  I @V! d@V! $0V! I  tI?<^,ҍHF$B*$B*$@Z! d@V! d3i#ɮeAsL)kƅHl-^^UAD<+{nzxx~~l߽1df9 Q$!IB!Vט \ed5n|GVGHV۠FxYi, A1 HܙZ!OauHiߍa;B\!]!]!]!LIUῙ4+ͤ ~U_DE_$ Ho& t$$QD5I:ID:Id:NA$NA$DN1$ $IR|ËKIdMBRA$NA$NA$NI"$I"$I"$DIxbWEͤ݉*M"$NvҤIL%(The^St5(fGI^S58JDg֪*I۫1^S1A1c"=&c"=&c"=&3K$K$nA&nA& $M"$M"$bMIDIDI$ v"7Mr>/‘w38 z ]yBWݨ7-tj }i+В+b+3EY#T5fE`FuT7`F=Q͂d+ ~ z .A"T.A"-AbfH(Fb}%t21d *3ÂE0WCrE VbE0U KR N J1#,Rck)*@"k唀STg]ĉz6KD0~e.OQKlT%Nl'\f!T R Z'%`1(Q@P~VA!A!TAabɶDm `P`P!A"T!A" A bfX`P`P}Ňa!wds9`9E2,A {t˝mt.6QzuQAu3[Z %nԥ%¨nԥ% H%'@E("0"s/0"s/3ɽ܋ ̽܋ ʽK4`gD $D $8"s/("s/0"s/qE^aE^aE^܋)ų*zٗ%˦,U!zA!֌!% k$AJs:*LkLMc/zk,[:* 0YCL4Lsz*Yi68 #Y01 #SIS$D$D$D$9AJ@]A+7C*h唄0")q6EfSa6EQ)p唄0x"VNIVNIVNIVN+$+$c2<|=o; 恤****CQB:%aC#?" 6H· ]G Z%!ZEUܷ+@o 4GBw GP! !!-{${"hNC;T$QB:%b J"tKB KĆ A A Am|߄*c$ZeEJ\IB+Ir%0WJ\I2+Ir% QDJ\IB+Ir% Q$!ȕ\IB+>@)Y-+)nJTLIkF\zF+in%@^%aZ)&!Z)&!ʲ$DYAeI, Q%!ʲ$Yd(", Q%!ʲ$D+$D+$DAZIR++Ŝcۆ*|ۆ*} FBs 4gٔЏ!) CZ0# `B YaU4+譢 [E=`PE?9(x14JBфЂ1C `B `" ` Ah Ah؂!-Ȃ!-Ђ!-CZ0CZ0CY0a kJVX!~!Υ˥$mR,bЂ!-E[TQm +4/`"_%+$J/M^%+[^EǨwd~ A~JVXAѥ!]Х!]3@P%+,`;VP%inBF@ A Aލػ!sER#)YaERWXQJu3q8o=#9n7 A(eB)CJ! A(eB)CJP A(e4 LBB ` fnCxWU` T/z1CBP R/ĠzP T/zPDT/z!ՋXESRFS5!t`XF}GmWUEWXM_6+jA(vŎ> x^6+PDHΑ KOtI!:*|ECƍhiC(f5iW&h8j;ѮYq Ih̨8jFi˫@mc(lkړCD<]-+&@1iOlmc"A-% RaF`jR_.Ťq${HvT6:hl—Q B473727R27170 qF-͒-͒]j, j,8"#- rh͕0"Y/ؠ $XE8&X?pXVۀ˝H KT|Ks"]T]Tq?rg| /yP =L ęAD1LL}r&& LLsqZFeO˴Egړ5s4* Gs >s 1dnP7S20栌 Z &n>l7m/#SiYos2hIGc10Ƭb1hL}ʻј68#'҉4$YpTZQ ;ŴC}T8[#5w&AD:ƕIݴ6k47kˬw39wf6(GwAtD dz9#=]tz1;kVk@ j|P::`C#=4C#=4C#=4FzhFzhFzhb B 7#^FLMB? jJ}#j"hFjFjF jG5V;͝m 6s==ΝɢqGw"N{8$kܩw;漏G}O{di==@ $DxTaxT.Ax*S_}jF3#";O0*:IcRi5K#777D|uM> |CAVÞ+*x{Z@O}08$It?͎z=Ϻ?}Z}Λ‚|"'!|"'!|"G >  >  > #HI/rS_OBލTjz( WB W9~ ÕJԟ\GAYa&+@A򶞄UxoI~sMVk1҃WR DWV؉AK@ ѮFR [ P~n= yINse {r\Y`D{i4Wv++4WVXi4WT< NsvLs%m;lDi}|e8 i%YѾ-΋sI JJ~%m'N~O~eEG Z¾(WBJR_0WBJR_ QKWBQ~3.bT_K1Dtw$ARn v%D% %ѬQ~ vN++ ugں Hpq ՞e]YٮDq.Ajw s%Dq`#1QBVh+nh>ŏnWB5t++|V8a;s#U_;jqZo n%qgAֲ%w0 ZYaeF ;VRj-U re& ? Lp  wA. ref74 Z+!t=ٮzlגVn DsLnh7ӵ<*<* ՘Q+vv]K]~KAJ"\}{ ˥ ?˥ r ,/Ys\W /%uTaTDs@*@WT)t ])%tET.A^KRZ~ ԥ +%u]hF  AP0h ]@ hf ZAP0h ?ŗMjhwok?'tƟaO0'hp$Ckn=Qƞy' |WO[uۖg{O(-t檷aO0`ˁ(]=QaOO0' |GO'cyf7OZWRZy9yVyYt<uEyW0h 3\3㯵k-J[* W0h KW a'$uTG :?gfKfZ1K0zs!kN ~k.x 0V,^+`Z*Kk~`,8dWQ`/k,YQ`c3y5r}U~ x^*`4c?^k_E:xۆs']Ġ / I/ /P}I䗄HI4J1,A$D"LB$D2LB$DB TbVV u &Śp՚, Fd-dű8VBBi&!fq&[ zNB ɴ2 4 {uU Y&!erLVXIXe 3 Y팕*UҶ(v4HITA^*i;Zv*+HI:Zb($tWIŽVe M;YaiGUVY ='!tVUV*i;kv*+Uv**Ze+kJZegD:*:0e!kRJZeI< YYUVY+UYpV "nu8qJ fUBJV Q*!Z ¬UBJVׅh]&zX Q*!Z%DY(kea*!/k ;kv*+ k/--%DU2vJDU}l(Qu(D Q%d Qe ;D_W\+n-GU *UYa'b֒ղDUBAvv*+:kb-aZ+!N%dgTedQU٩SISv*!NSYN%N۹ZE]kAX !脨ևCT QϤ%UIۉUYa%$VHTe'UI[DUVX*~*+DUVzY5Ѫ ^ īUIۉDUq XմRE'^UN*a;Zu9 '6B 4B 4BO@l&✉O4`*!zrBh M>#M>#M>|&gY]Od7^++*xhhE _  {膭V@OO@A{zTaG2W >셳 >>l' p~rV?K>ӜDU9+:%nAn㧸VE#>5vqйY]O}v> [׷3~Ljm?h=Pj7}@;>QTWBGtDh~D{Oc6'gݟm?SDOeۏgkGt菶Ahi}OTtl?5Mf{sڌ?C,ò }#eA(B' }S"ė }#eX }#eA(IJ SgTAoIW{T=sEGj T{#1=Uj*0%Xd=nsK <= A {e8 [Uo U;Y" e;YamGvv^LoYыw$j=bߓ w_^'+d/}' GaKFaKFAīqWqK--Fa+ x ˆ x ˆ x ˆW@dF/U/U/UrZuR]0%^4++ %{W {םm@60A,O?  { ًfe-F(x xm?ĻTA f%d-`*8%v/뵞aKP7UOZ_/++̗* u0%~k} Qak+Z^"++Qw^mpKRfVV`K Lx^* uPh{x$ԥ w,B]9UzATT~ إ v r5v[*+irRTAKe%d-TVVY +%s]S{ac 4Bc 4cO qᔗ | 4Bc 4BcO@lAhAhƞ#4\6ww tB t"8|T;|T;|TA >|*;|{@K~K *#?lOOBvK~++WV+yeB (R {iWB%zփ꫟ծxٯ5^++5TPB&_YAPB0ز|* XVt`mXA;8 gWT< eW鰬V;Fz^B,FiD7Z,i!YHB7r` au\r k1w~,+Y(a_ڝor̀ XBK2`#`dXB \+!ʀ%D(e ̀%D(e XBEE7&F'*#Q8*֚ŪIQbت}/&n߉v[͈cbcL,!ݠ^2b1 &Vst •V%֓tت?&Z9Vd0|uA3¾`TH;=9IW@AK̰#(4~` A3̰(N` A̰ (ς=@Q[wE&O(?Q֟y'  ~A̰'C@|O(@̰''  Z}>3' J̐!T1tj"=> d{/Y }~OVZ#AĂ Tld#^++ha@iemteK-=Y mtzM=YTsX)f՞#eA(BG>#eA(BG>P eA(BG>PO@,2E[G]G_G(#UUU$県>gU<`QQ?PO@,_+7w<0$7Ta9+P)d;|*ѦG+@>>Q _R/ %!A$$ؗ⁗7{Ih%=5"U\F [#R׈TkD50_#I*%=<}H4Cb|}(*L}H4 Uxh O W҇>ruucpKJBP $KBP $$%X $$%!A( Ē J/ —TKB ^+!Z+!4 BG ?b|'*^++P*P@ U U* |H T Z+!_RU A @T Ѿ Ty^!ѾW(*Lh+"эA]HB@Jte U2*P22zHAdT?UOT>x@e U $Ȓ[kw6]A=Wh t JW{GUj |Gڣ _QD U#HR&GDA@G O;T)>A?Ry8dÍi w7ϡח|o>~7?~W`7Ey 0b.u7}7?Í8nٽO/y>78q^T3nxDUa3rvvLvvj KqOi;i;]0qvv约qie[ї]~\\Nu͹2qvvjﯻ:m:m:mZozvsè \zQן{n6qdf[nwqƮt06[>tj^MTt]Myn3Ogͱ:~ۺvvv:M5]i;i;CݱnvvvvvYZӴS9՟tON|T[8Mzss?5}tLvv\jv._\AkԶ^dRLE8i4XaS}cFmvN5wjǩ~q:4Fmc?o5mwY;5Ǝ6k#9msn\kƵ4~lO9oh؏mmh؏Ɣ3n]T6ۘmc:*s: ƙi 5NqCumk`]Gؗkx]w^Kvi弞a4rhlqJ.4؏cc?/Q؏cc?86؏ m6Cc??4Cc?ɡ~hCrhCc?j؏}j8~}|O,qxXZ<.6~e7=\=֔1汲WZ"^5+zFY[^ k81pPi4]գ[ ̺a87ՃƊV-k87Ճ^%|.Oq9VlEzYPRZR>ZrTiS?PjՠZ>^ kpJԺK\?PjբvRce赚T5#c:É(5V6jP^s@WjV_1VjPv[?PjդֽSGX٫EMS9mJZԺR?Pjբֽ3tyբV(5VjQ^2^ p\=PX٫A5z g~WjP@ceu=(cՠֽ.2Ɗ^-k8CeTpo+{rڭ(c쵦Zfj*;Vi@ce5uNOcE굻(c쵦ZeTizךjNP@ce552^kqǸS *nTZMCe5h4Rce5FUyՠ.Rce5P汲WjaNJ^Mjk8A^-jk֗@=vNI[>\5Z:l7oeYڝW,[-J [ RZ-NeY:geXIaa|{²rըN^ꯟXIaTG}9T0g\>V5[Z,Z-J [E,kj9VRjT'Uj2>R,[-J [%c%ssj:ˡ>㘦[6Z:ow,o$c%sv+)l5SuQUc%ukUˌi72`j9VRjVg5VRj87[+)j5ʑJ [j46c%ꟿrᔜ++)lu=V~(/ZUc% V˱V)T+)lx []6?,/Z-J []ϣ{j9VRj?  't-J [cZ=VRt걒VÉ^V˱VÉ걒VX=c%OV˱VÃXZM>N10i)XI[WJU~َ/[rnhuϑXIQX?Gc% RjpT?XIaӱ~J []vsd=VRj87sd=VRjA*ߍY6Z:\zpbc%S=Gc%u(V˱V/"ըVg5VRj87sd=VRt#>Z6ZU9+)l5TϑXIaTϑXIa>VsY͵ri87sd=VRj{#뱒VCYDnFFh87e=VRr(뱒VͶ~J [m/e=VRj87e=VRj87e=VRt(뱒Vc@Y Z]XIaϔXIa8P[=SVc%sS?SVc%sS?SVc%EEj:ij9VRjZ=SVc%sSP`uVVnXIAf걒V#oCr m=]Ɨ@ӏa|z7#f{7P4az/qp7\קo>aD㶞ܪ?}q==~'rzz_mt7m}?w?zMfۗv~k;Mi#Gg0ח(\=O_sccחWmo|y/M}y~?/^^ogpv}<ͭ+go)4|fs4'2Ϛ߿6;\=st_D}iYnv}I|صw|9_;x^vpu8 ay o۽?v~{o/E{bOcf{yt?KN O(ÿ㵺l?<vk{a?.?Ƿ?:|sQZMf?~wSui?(/wo4743^ w뱹[:~yx~d_vgv/s6eN78?׏ÏxWr0{%;rَ5?~!9mWxSx3>o.O/7?ϸc?lw.Vv0)[ǎjf39˃Y}_uؙ=xq9]wϷs^^z[at]ې|S:u;LueNxG2!pΞu2i"on7p/r~?^Nӵ^G'w>zgrޗ7_Ɲx{gNgy~|~޽.ƿݎ׷cΰar;lluw{yøLx?ך7pFOty߸?|{Ǘ8օ2~>=ͷaf㕮?7˻0~{mp{ytu2 NӔ6-nDw~EړKIGpvq+\LkԎ0럓O |/o5Cat{h?p˗9 _nGQO/_oqW?|'> iϷ?Xԇ= |؋|8=1?c~}|o~ {8= _/wx>m;k߇o:L]!tLafO~?PmINܵ8:\%?=Kfx:۞o{zn?~y|hk}un{0+6}8Wo5? E%2\n4/>Z[_˴q3uM˧_{<_~7{{<=}fz{vw߽>2MU56Kx||z~}}]l/3)ק͏,\tg8Kߟud\av"zx~y8\;g8ʯᄒNv/ӷg3Ǿ6nEZL ;x8l/?f?Ο7O„r᩸PtWŧM/4-vtn)柤|{o_~nhLwrL>x gp9o/̾Սvm^@~gݿc3ڪp/y|0'ݤ$i?_/ic&)EB}N"?~~p]Kq2\>*>Źݶ*ʒendstream endobj 580 0 obj << /Filter /FlateDecode /Length 95774 >> stream xM4I]hYň$DPj!-H-pn693H^oy3<ץ0:7#2Ҏ_Ï_>o__>ïu_o~|<|<=ˏ^~?w~=~x~|ߨ>~O~_O?^O~|||?oW/~Q_߶_^>;揿_Ѿyچ_o?ޞ}=xxo˿痧oϯӫ^ۏ o~'d;?ve{om?yY//?x}fo/yo/O؏坃~6^_ƿ}x}|7x?z<<o~ǿ1?/?ojZ(>ï_N_<}=;~{ձ<ݾ^wq{_|Iz#z//W_^7w/3=XO{=xٸ믷ϯ3ۛv__/?NۗGl/͙c9ҙG~[|l#oPGcsnۗnޚS}}}{}|bљq<ݶwgeC󊾽oks}>p魻Q߷_K{{w˳qk.>~lno~m_Kslo[s ?7rwnT[ǫ_X{7/ǻ_燷N}~u?xju0};Kl^f{#?6+ ~>=v7cw>?mojgVf9Asn{oW }go}v{{CϷ=C;m[a/Ro͘ڼxӏgW~}xjԗ/2}le+lRüxnF~9 м۟+ߞ ;彽S ־޷[0>﷧y~קoxȷ}{#?|8}k㵹<N^ߘ~c~lx߂ݵ_]򰽫wC|ۆyݾea{K7=9GKsqt7\١|zxڼOos)}v>7|yz}nٗϙ>k.m{w?5}l.Ng>z|~|k6\< t-/n>eھ0ڻe{SwﴗyX/oo?!wS7Ml~z~m2vb۾|>NgY?^޶? V?_Z`~Ԅ?}whi1}pwm#}>VooCw>)|lɷ, })^ھoRA/͵|z~4LOw2==n__nnzz~۾uq]zwn]4Cxھ6sw~{ھwoO]ڽ#nw2ݶ{˼|>Ac}c;z۷o7nis-}U{l{w^%{ݾ?w!p^CZ|^پÿtu.v.G|۾ǿuE{Km[w޶{w#?m_ۻm6߾?]] {w޷/n{߾?wOi}mc{?v/ç#R9@5a3yo{{^t>>Pm?7iiv}>Y|oS^ns ݽm?=COOihپ)}N7?ȷox|Ln>Q=|ʣz}} m[J?oϷ>~~H ߟнO|=ڿn/{_{|y}I iS'L@OS~~R̤@oLu{w|.$w&oLIws{O޻ /zkoo|cGY~ϣ>loݏ$}|5˳L~{7v_XZ# 15P1egkgx}ֈ#~>im CEǃ?"iӔ~:x:d`* 2oPc @9(SPL)dV s @j 2wPY& jk @T$d. KJG(&R E76aP(8v 0p< 0P9v(CA& 2P)eTJDRh?_ RQP3*J(ƼFA6Thd 3(ȬEA..][PuQP,,*;JڢɋLY(DA&% 2/QbN8kJ(|DAf! j)b Q {P U{sQF{b#H6ڈmFq|Syh&`F8<#U)HQO{POq8X@&-b j ϬpidFJ @Ma})zm\gR:Hu; UvQuFAj0`RV(:$kc*^VW@ W@2Teʀi^c@866 R:ty獉J @vѱӖ88 փDn=F­PӠX*\r< !GȝH98DEa^\0r<odC%ɀ\$RI$IAFn !)w([BWX:85/h (c jsw6*6*aLmPnCH6!@jC6Hmͱ^@U#0/xT"w%#\IAG 2#RI nDԈ9 #g\ ꑂԈ J2=RPlDF/~DXr rK{c@:Ludv W  aBc0.4^ QSdK@#D Mި$G^  @*'r91XOI1TRSYi9oG}A dJ: sǣJƀqpJ1 2uӴ03<`crudcIC䆃ctc= @;G5-Y-fE e\hdM  !Z@7VgV"Um̊!!$HAXATu UËȼyR 2 RS9 #0Y/I UI  S# 9mF+js57@HhH @YOZhՆd s0!a}̘@|J"[@>"йG!{QrrO\($ԣ{ܣ HԖ m vE+dNF:]p"$r'B"*HTe@7rd ABB .& w(@@ŵv  +YO}=m.@_TH[!|- .jʷ!֭'KGQrB"W-$bBY]luxH(@G7!aB&P2 +@jWԮ]@*TTid@-B`Ԕ)T  mJ[@D'r$n@j ](k@AV͂Q mva$9sRa[cR5j(_z @)ta+*-\Zw..D..Hj\@|s S Y3q؝}h>3@1C; M M 4 w$C; Д὿3 GtYY騧8y B8NH~ /p~w*!*+&;b' ׀q8:;^~HOv;1cg)Ovg)Bi)YExqvBR"ǔ3];q~z;!9 d t SdZ{c/@N^D)@k ch:sh9Nﺽ;N!Ns4͆@~Rn/3?f#wf#wv#nNhtٍÛ`Sud{czY+j4{H;Vـ`]ʗM+G#պ5`c kg +g,Wۃ|*yO4ki#LhEYDj9f Q4ev֑ZѴ6hij0Ҁu4Oi֏ZJ2 qX׏::ӭ M2 yHZߣN1nru{n,RLRڅa]MU.4EXQJJi錬cnX`+ ~|i2Ү:A# FV(:xsMdyG` Q4;v,WRk%0*`9cXmY$GW$GGnFmXwF"~C`W@ פ]$jwSus JH)):GJH䲄ْts6X*H] m~0XS+5:e=#)Cj$zJݶ͝ \ȭH\*$]+`ܬPdni9{ /@~蕈CDneH4Zf9{R:|LA$TU 3/0z!*_̾q)(ۼsYOɤK1*ZԴ j!a +U s/Pd*p *f e h*UxŬJjf$rDngHkiU L5"f=|J7iじ)HÈdv 52@d'^A2Deցt{{÷F_߹FE†)4MA5ηr;C"3?C"4$N 5*a¦ 4@jitAӐ0OSʍH\P2$r'Ch ʵ ːHtff=YW3@f 2S: 0@jaH= Đsz)Hè|/D:Z35{|o 3@j^R_d¦ 4Wne@^L2R: kV)LJA&O] -"REd"OH/rEIA-jDzq:^!@>   3Ȁ1HF5d sj4i@!TC2 ?i( `rA"W$TAPWXG SuQa@uv]c.^~P.Hd%Hd%L2@ǒ@.H䒁D.F"O6#/:7 $44UwAF"wrABP HDS98 R!BȄy_$N HDA&$ nkCkej#1\HBD.$Hʅ\HW D 'BB:(Hj 0^N;WYCAZ$r@"7 $r0: $4-y : u@"$TH_z~*rUA"VTU.$_,Ht{QoQ \Uhv!Yo U fjۑWi~dn&FBuu%$eMCR%$JpG>zF.KTŲ@.KH4b]1\FRkF!IF 9u*@T̩|$ѴFZ#1TiR Ƽ˅5oG5HyR2 /岅D XPE(qe +vBizi2 /ER(_Y2 w%@J`ԕ+ ORx3H)@=H㞸 0Z`R|_ ; wv]t]N"j:*"@jENHJ PHq\XD $@ITi-HA ^n )Frdȵj|,&$ā^q_> (w #ojB@: u @98#]1 H *r @*7]LHЅ}LHhV:8F\]!v#P;2 _( H{)@Y[HAZEʫ($rqO\$HkcB  "@*Dtam,ZRҒ 8kB(o|m,X$tm,B"W%$H\X6Vr;B"o PnGH4u %BJ*_\|ր\5iّu #@fGvH ]O " }^fq- u @@Hŵlq-| ac0,!YBB;&@==K%@%#H: u @!LBiv&YLrp&@Mԛ囑/{Mԛ7ʽ |ˑ{&1ԛiB P$96It}]($rB"(rBB$@FPIH*j,YO7!{Mt)]P%$rUBBU  U%@Md]d=%(@(7'O 6DS198FS1YH] PZH䮅M`I4ewH}a$L^nc)H- ZR H- VLT +&@Z1Ҋ UL`I}jTtaxy߄D7!MFMF['X!Z|0Ra$TwTǓ U2@ PdHUYolgF₟!TYQ]5$~HWʕH\XQDrp 57_D _^!Zc^ PnnH憄 37qsd3r:ϏJu:3!q:ә8 әйәLtf"u:3qtLNg&LH΄B3t&:Jә8 ә8 Ng&R3өDtfL48!gB"x 23!q:3!83!8J 57rY^*k&$~fBg&$JfBd L4Jf8d&Zh,%3!Q2u۶5%3Dhaf@,̄dfB"^&$eBZ&$eBkԵTB]*nD^@jafB,̄DdeBZ&H]Lɤe&^K%ĵL&+3ꕙ2!1*2r:*䦃 [T@!tLHƄMQfio2ie&ԁ̄Zv(]DLɨR;2JT TɄLI7 #Jw< #2;2!"@"D&t@&HǀL哙P!dつDJHd$LLHȄZL@L;DI%\{DMH{̄ytOH;*H(o2!U%@JDLHHA.DT8 τjuc}]{:Ik)3RfBǀ\{5M7FDt瓙POf"w D^> u @"]k&TVIwvdm'L{̄y&@iߤqd&ĨLH% P#Qj% t HwKD[LDWH^ \RP[L^"KH}hd[T] t딙 f;]j}C%3!0R$e`T`Դ F+%w`Rv/4^02.Q2-wm`T F"Ѷ`MOz;MXD5;)Fm`D)Q25 B`qg}N*;P1p6>^\o \#`rc 6jc0I9!p2mL:F@Uǝz H㕹*TB#č;s@EF@`r)2Q"ň ؆ ^dH1L.<ucr1:"@WyYdy F`x F`wIv@^ %j\G0RL 2nufFȽ3nE]dr 2*A;2*@s?P12ȝ1Q?*hxc0j)b0ycrE1\P#BbG &#ۈȻ/au* Z1qcL]h.$ݏb1+~ Q0U Im@ksi r mvgQT`5lR0R0 ]Hj|=*zT#NȤZ @M1c= Ō,H҂Z ] HUPL+UJU@f(`TQũTLib@v."`rAY`0yH@Z  5 H䎁J ] HעR:a@|\(ȍX)PRHnqxF\, S 0[ ˅\/PH * u r$aBکRکЅN TiLHʃ=R}@ H„rmpO\Y=Dm1lێR@*$J,A"/K0(/KR Xᅲ @8FHװ3Q%0ą|-*MY(&dq0L/5AB NP=d~b0.(P ?vFEjVڽ#}H4%c2coA"߂\؂D @j9-8ʷ /ViH-PJzޮ1$roB¼ LMHބz &roH y&@MtȽ &@MN3HKVȗ DZH䮅DZY"w;F@![!!zv!+ȕ \ɐP%l~0px *kT e  5@*krYC"/?A4LqHjRk $}g"=qB"ݗ}&}'FHRg@n{rC"=$|_CؾLJ=H\@$"{ "wRF"H<ЄT]~ye$}gBτM5F׼RyEq:[ƝPw! )$Rɒвʀ.H!\jVZGR&B$r)D¤`.H!"RHP,4km VK1r)RHV_JH=yf$.N·.986d!'$\o PH螸H{)tr5D@j;ݙ]@$rD_ RD.H)t< [P]t袓3Rw4[.Қ  RD.F1wy'NMFk6@ZҚ̀^@!N5zML(77#!H4@ZR?o>&k |v$s3 77@ZҚ ݤH̄_eW2@n%Ka~fB!+!(W \ɐ xdHR%c21!q`r%C"W2#k%s23ʕ \ɐȫ9#)uTdj 3@gy5Dg+rCB |0*aj5HRhuq&8qYm miH8܈\P2 D!YBœ"W2$t1 0eƀt1|y*^bB@8@yg$\x7'o OQ2$%s0|7< uy[ BiD^!~(/Eˀ VH~h-r%R tH4=ֹgH~Dg~nB"3#qϐhb98xZRY3 EMgnnz\DqF5PqHi8@qT 5j\h4fqj|kh4: js0u:@ts3 Rs 5R?3 khj6l֗X5j 8@YkF٬ji$t4\ț5CB\:t"5$TeH\5$tS 3@g`L(W2#q%CB[2@ڒWK#+!dF-$3 (oDޟ!oB"όą 3@g?+ji$r%3dTji$IYk֬ui;[׻ZArk@tLSP\iM%2M%DeJeJX s:Nt  u:)4YT".T".Ӑ4H45N%bSxUJ5D,x*aXT"^b{& P,V LdXT"^D.x* JD\Dc{F؞^[AV)ȜNAR)4NAqrSxJ)(^zmp pU*kJīU"]lWeD* U?53@NJ^@6# | ]k@^LOHf'OƓ'I)fV~ݬwZgg!a<\ߎ-˵tatH@:$ tbZi4,u0o tDt;_>Ls _kʾs \2 .r .oS@>U^<߁Hw 򵩾WfOF/R}=ݹ~w 2g~rf>TցtϳLj<ʛ$dd :kd02k2XM|hmrd :w&H䝉pdF@ڌjiw͈fz ;wF!$HhMHCԈ ۬F] u@ZyҽLC$NuZw Ώ5j 0M v$TP[@0ZU@H S0T: U@P@ a&o h8 @M`bN7Hp< {ƓȻ $TSRMb@v'!/tH̀q2|_9#u;@37' H:yπDPUq5 5@f6`l 5@j6li W H4c .lNC@:TuR1 W@:t+vfˏnTRt徰HR oN"/P+FBD^  -5fdw*O@Z jGhZ 4qpFV:L:r: 0 ѬTliQH @Oyw.s1"abF |'O#qa'O$ ށ8 |ɧ{B-@\yR(˝DH\XD "!BBPƎCz #@jG̎hIHȀ.ͲO  O5>/wzJnGeց4>~TDW{ 3*ǣuDq-+#dZW{|swZ% -qD9BB@Mԛ7Ro2 wiH@&D`r!B""$T [iԬϴ DU @tOd9zcI@Z Ro5 k'H y&W2N#Fٛ} ]9!/D"w-$G2N$eH䛵PD"_ӉD:t3@f$5Hh/(ޟ@#kȚ.kT廰wa'N"67#}F֬׹x` jn<=mmwe[cD\cDqch 37)HM1Dln*!F+)rQ5-LQs!lUbsCBMAfn 2sSbsST171RȚbLdFOJIJDUDU)l%QRPzOf$.XJ),LAfa 2 SPla*[fa&$eBk@ZkƵ ĖJ%Ldz +Ř^) PW*J^)JAW J%bBBJA^DW"b̨dF 1*i- &ޤqGMר+ֻ1URLdXTT PJ*a Q%ǣUoRPhMuu]dꕂDcg$FeB&QrRb^d̛x.ąI%orp &h(+6QdF 3*@Qњ^99bbRصPRPZ*!FD1lbRBB*+@:WNJ4VRR_ KAMe=o%FFW2orx`^+:/'E"_Niy Ncg*Fs@6i?|mJkKUBgtJ(n(h:'t(4ͦ)].Ȼ $rU0\XVl"HR1f(^[R+$rpO\$L#GR&(W $r0dxJyo}tyD'|OJ89j 0*&L_ D.*HRUHeڊ88:$rA"vTf" FhW /AU s0y{' mORe(oOĀ.'H4b:U =ABŀ\^j6X/Ȍ?[^RЅ* @zT*J jȵ=qkȫ$*xG%l=t5x,wQ#>|2w$H4孮b &H4d}1\ŋSU"&$rq2^jlzEt#A"HP2 )@SUS )KPU oOP3 e%TB IwJ 8@qo|EPyiH[@gb?C 3$۝P#kqז"!f@nn_N㬣PnnH4`S#љdssp57@jn5f=|#J4CPt8h8@|W`H5PqNK`nH4fRbn&9^Ata*YGJ\ɜ@`Z#?C3@+He P|u PnnH憄C99W8@ 8@!h.hN"D j)8D*H  <@!g@\P(<$T   Y/ BBπ."xkeTBmPn{H瞸b{H䶇y)H: [k]k t.xN؞qnFmѨ.!(=$rC=л:*S?ʗ" i?H΀_n= DQw:@! 8@qH7@jnuH^m_WY H5j]( 8$DVɂ !B8!qH6Ptz[@~!#Nq:h/8trC"oȝHN"@qj 8@qr3YO)qjCB5hYFe  5@y熄ʚN"@yDܬ!/E5RYf@tJZ20ڒjZ2U6 3CB1@ZԵi1H1P!\+$b FB1r2Z5Hk98Uf`TiKf@z_H^r2q-'2!u-et 5*@jT^A7*fÑu Zܵ/B"w-$Ե W PӟYOa$TzDW+zDWH+@WT^Ѕ GHPz`W##\ML6w/H% ..{yKf$%(W%$ &@Mԛ Ȼ0@څʻ0$. &06^tBBPnGHR;dvd0nGԎ^ P#Dv/Gí/2fc _UĻ0@fG`tB"n;B"P;_HĪ\B"W%$T媄DJHd$._HMԛ7-LkZe@"D/;B"#$H䍗{&@M`ԛ7Ro$dBJtB"ﵐ^ Lk![R;2 #@jGԎQ;];2BBB"ooB"Ƚ ؛ŀۑp;!fG`ԎPnGv܎BBUɀ.RH7wm'!d Q!!F^Xʍ fyU^!WtB"* P^e!!d x!{x!"߭D] Q2'h4[qA֐̀ ߷~ɚ/@ޅ!|6Yq C"PwaHNDtF:ȝ|3*xDmm =0j{ !(=$23=@j{U̶*f 6^H.{-$ykpPk!17maTf$\.3@<*\ɐȕ \Ɍ%C"V2T͓ȷ'f@.kTi{Hjzq.('%dJF * U2@yy(W2$ * U2@dJH * S20a$R\5$T岆 5@Ze*ˀ.(!+!JH PdF• PdHJDdHQ%6!gr?C"3$Jf@^R [![kPkYr- &/$rBBˀԸuZrB"w-$rB"w-B"w-$ccHh(w-$r2\ u-@Z^.3$bHkPWHz\ \ +@^!^!o,CB4rz(+$t1 3*0c$T ^!z(+$cHk99xRH K|p.^ 2R /x)Z2k)Z2^XT$JAD_滫/_̨_|ٰJk)\KAZ&Jz.VP8X̨d%bR (@*Q 2RIK%K%l l 7)HI1M 2oRx 轖̛7)(^Re)&^M or2X(QR̨$Fƨ\T$JADHQ) эX W DW* +U"^)x!⥠XTw:.RHuRHquuc jtzJXAT"60 JWtl_*aHKA}ٗU*a$eBcYk2Zu,:akd [; [; ɄtDSGY_Q$H%b+BBHA-VVDlEHt硊 Q$H%b+R +d"(ߍn,X K'8W$'JA,8r_R %'h1yrp +tKaxfRNaZ *۹ܶ_j P`Y%H}R^*a*&T"T$`*jll;5*H^ KAbTŵJ^DeF"T"T@% J [ 2r/^(^YI MJMh й9GoDߜ :0R}3|YJ.DK5*b;i:;@*vT؁ R3 .吰BLAoNF w9@qU!V)Ȫ2f$f_suC"T"7$LXg [ H$dY Q12!.@*\ԱŕJcjz c./Vh IJ1q}@Y/ 㫙/"VxJĻT",$ԳŖJŖPlD\lDVl)<.TYQl+ږ1 ȋ-_ xǗJ )Q8 #V\ᐈ-bKA!+ -(.T"W8$l/W JAq}!qVl jHXR [7 1@R_JAV_)H= z l[2- Q)O{Lʷtm`#4e= he0t9;=4)F5`Ԓ &n >/*;d0*H~d0GE)1 ruU F`T~ ٽ~9|z22*Du> !GG.@ԅ F,ɋ,#"d0AX@ L^`rJ)ՕPqg.ȎP1\u@Z- &#k{-`DrZAhT12۸2\h@3F #`6c *3.}8<W&#wMF@`T|qx6j&#d0ydܙ &#/E@rC2yd`rg_2۴&#KhVZ=gŜwL;к`EOB]˰u.۲Ɣ@X FE1 F`lCzw{+,w4"bE!QL5wƅ`r6XF+kZ  ;c5 P*Q ;5:ױ+t,{fZfN @tyMHk@yMĹE:PRȬ`\+e bO۝ARL^ lHֽ 5@=|P/tn&fHPCDnFj *r@"_$.dݡrdbF-hvY.cx S0{ !dIA + qǧL H45%1!@!&- eARPnFېd XA".V"[  @  anEF¥w1EZ\`оZ ǣZFiqP$VcBj2tAe] xūeugP1 7@Y$t,\j&P {{ f\m@n _df# \$Tp ;`UH/$cB9Tt5݋41w-Tr"Y@b6&6HK@0HK@Ћ 0+W ȅ U@xA`b֝J)4@SjC;!Д 0B a`w L!#C2p4 @Sj4=@1`v7?򃦺8vBi+Bi+Bi+ VoǐqL!TVh;A!tr$BiO^8I3@I4@SC4Cv3Cxw| <\{ Д M C~_h*J)////cdC:id S6,w@y8Lٙ;u'+3!=4p'~!/؝_OiҁL|V8IOhg{~g@Ng tMgp4@ 4e@s_9/М_՝ oӝ H1eЧ H1e@wNNWm'N^ ;e@:)N~_9/ИbNgWf?2ObǘCMާ˟-)@j_9/М?vY~n~_9˟c,xfn_[?%? 4gc 4gY~j_~Nl?fY~,@sb_w[?vn>Mv7/М? T`t&0:gl%/߽ #p>_NFgcwS`l~ :]?3>Y?NFgy4YO"D`t~0: g|~0: ?NFgO@>3Lfѹ`dwhfᗋLe\@t*~02xlVx:Cg|~0:??|!2_ߙ # ⋑bt}0tv}9l̵#Ŝϧ3 9Ϙ0_nfO͔D&ʏG,懃'ϟL6~|VΪF'ϩF3 |`d:&Ћ)bdn&̗ˋgG@'ϏFNj |x1:>||d\t^gs?^˿~NGfˋ;cȄx1:>7Ά^3>1>?ϑFƦˋ ;d=s僑Qش(t }0:>@Ο>ΞF'#sẉ^\SL¦GaSGi#`t~0 6^LMMA&ark 'k>/(P $ՅW"}pfGc;t|_YhouśE&;4;C@͎v>8o]h@"H#+-Ot|F*"U4*"UD8pфHZE@Vj*`t" ]H7ҽt5@WV#"aW#"lpp|葰u%:E@ Y`s€|" ]H)ut_|c:E#[#D@t{|%"JD#n ,It}ItϷ`t ,a@CC$t H兀tW@"B$d ɺAǗMEAv@Tu}@+f@u%@_fUe ͪ@hw~~|;·h Znf &8VPq3fUeUC@*Ѐ]A@D,t| ",|_8H҅t ]8H_![E B@^$d}bC0.64 _lH:>n7} ;/61. @,)*?o4 ٦ @8 G%m+!0kJZlL^d 4َ@( 2EQ)LQd[#XVwi&o\t v v VVDn%*!VbBiBA C%=o<." :u+QX6) Nv 12Qtl2*!&dT6u.ȶR(($t_LQd JwO V (ȬDAf% D%b+ABDAb%Pt Ļ'T"v = QDf 8'fx.w1!(tEA+NN]LtEAAA͕0]yPxσJ8WBF11!ǃUQPA%lσbQ uv돌Hf+Vc)*qn5xJ8|9]qd(AAsAA1&2 2l鼾&2/`g5ɋ V(:$׳6qrx;JAWBL1Lh%εH%LkJض  )FL2-r|F!CAiL$ZFHAE 2-Rir-WJ!PGd@HG{AK!0acL;i  &@*LT0Qa8x Jǀ{$5bT„D.LHX +xZ:"$LZD\D\= H :QQ q0Y3'ǃpH5 ;]\YQtZᨀU8 2!1 eEF%25*!Eb~YQ(*j5*H +jc@.;F%|EJNP@A4 ;菃o&*u:*a W@V((*uk=RG%rqO\(uT_Qx\訄: Rc@Z((.tT".tT UrdQP\ۨD.8Hd:#Q6 FAV(HP\ qOP? qm&+`Qim'S@GtAj!B[ @j!Bo :b~{Z@j @ [@"&$aB`T-Z5.H  @rQp|yc@n&MR] Rg0 w@qɂ@BzMjlNmHt6a=@B@@Xb @jPc&ME E Rg`@3X_+ހy6(znP;0 SiH=z @yD^ 7@j2Cj01^[њ)'$F"IО؂q:8z @($#-T]hP$l)έ82( a@ mO5ah _ _F#C5„$+AB1T% UP{U hU%JR0 W @T%] JX/`nN'З nH DEPފ !d 20! @"& 0T' u @_yw @nH m8Rxb|+])5PJa@J $R@@".5; u@$IYFK @ya$\CR (/5K $TP P,(h(޵y݁D.(FB݁D.(Hur6I6_9P[qx W0."A"_9n0"Hy+"Hz{Ƚ  [y+ !@jCR9yP ߎ(oEZy+mEi+b@Y+8oEV"fR1 @ 6($Vj]hEZy+"`2"H+ mEeABuPފ "+Y+:lEڊV[$ U@2*HU A"oEZy+b$H[@*+1Z$TVy+i @1H5j mE2s17@j.\e>Yo Hƀ.( }# ("€i68y3aR H*K>s$>2q25@ZP@Z-..\aЎZ @ڤE=qET0Q#k8} fWP'֋~&$r?AB{@M/c==@'Gkd `4G; qooq*HTƄ`gyqpFMMc= peJ:) A"rD C4ŎP*HUȀ\5*d=oS!diH Ȁt'l'41ABǀLq*$;<yD#@sAB@}ABU Qĕ/Hx Q$v^O%JA" $DLHGAZ$].H\P+VH5E u@X}WPL} !p+$Vt{Y D} +d0&Ok&xU2hݯc_ٽ$Աc<kV!aZ&*$rB´`\VRZ(*T5Ze}]iM(7)$ԤIRpd{_<RyPvn٭Ȳ]]]5]aX % -̙$ŭGeyfRԗ/R_(%č/!aF@: HZ mlt1DnEH* !@ -jiQV| ݌(uP;Hu @ J! !@, o! eAe\e\P4 ?DHAfFΧ$$144FQM $@ITY &_ N"$$TtIH䚄wDGwg̀PgrMu& 5'qIH&z$&!H5 6B F+jF`Č&ą&!H5 PIH䚄0pL VD"2hg?N7#@y_IT嚄z7#/w 2h!W !2H#@?Gr8|Ok5}a::a!3@y@N pwr؁t–t4$ƴ@·5!r #/pUrZ$LޤbޤxV'Y[~ 5* y7e?Ǵpx W'b / ki\KCxT44;ՉXT74na?ce;Nă:Pniڐȭ [! $nf1$N :fٟcuBuLAot̂rC44J@At\CC4$eAY s ݳߒiH<˂T w"1TwqvswN 1א m4m>8ou 9sϑ>PfH }A4As={:MAmj9\CEMA.j kH4yH{Ht"X 6@!᝞pdgu"e0nA"k~$h_ߒzdQO3*kT˚w4 50*kY?5@Cgfnv4dy%Ӑ[ ?ixqk 5H RsObڳݒniƶ4M 3@!J\oH~i&W2$TJ(.6$om kP%SŔ77*ko܀D,H,LCEyD^!o#oZHS %C64wgHě~:nZ.S U20!/(6AN⥠Ih/i Z}KAZlOCW\f*] NRQ*/鄈kʇPx$n \ x.^HxR 4 +@ϧ-i &@M$dAjGĎ,("$Ag@*Dl7OCZIʵ\{PQk @ SHy? DO 5 u @!+h(oTV3__3QRQ3ZX +-'Pdb.vwPWH:9Ď\"S<$HU Pk!(mVf$o!o!O=#O=5\SH^Rz(zI C /ƐPH\˂rR Bb+CP!1__x!],F/@W 6^TyㅄK.@^! ql4HHJ\% warR (0"Qmab$ab$D,HIAM -M F"/PFpΡ#þJ0 5*@0^!z(+$rI:Y }D.QHDR BB +@W rzH  +@^!}.&$T^ʗɐ_@W rz(+$rB"+rBB (@*QTEqW[%@/|S7?]yCHt9_P] .05Rd B"_C"_Cb.kt9 ]~IpHib KA^a X}Nr_7VTx1 (GiJį\ewzl'v]3$ԺfHfHf*1b.@{!h~ҹ!$L2yL'(#(#hXEC"ƐrA :@Aߟ) :nqiP9k.H gI1 5Oe&hA3&`s=cVаcf?Ŏj&DVj&-b ʐ>T4 lFyi#j ™Gp{4 B۟Τ\%|I]C54@CgDtxqUH@T!= F?U>R}Tд~fGw48;\C,5T9 LyoH0l8DnH pT+' UN@roiRN- p| o= Cu~I[ǧP@"{f__715~{ If@*T(kg]t~ʪ4@: H;@: Ȇ2 C 2a^NfkCk O?Awu*q!a]C"Ȼ:$tYATKo9@>"wu>[#: HEsr7DbpC-]tuHZPZM Vɟ%OU<@;)~{^g@*rT;h*q1 D!B#a-3 ];SdhyWCBuMAz1| xbh1] -Yvutږ.l O9@&XC=px48\ <#1c; 5 ,[- ʻ:MWD> D8 \̂ĺB *\(4 śffHf*19f -iH 'bZ%ʗːj@!e 5/yR$eA5ȶJD5ӐX}He g9_WiH PWR󷛎O'̵4d(otbX!vvFd:OY넵%:OY9\ch::o!!+4 NȵbӉt"v:$P5PC鄙i~KqɝN'lZCq%Dt*NtZ&P'DmOCD"۞Nē:mNxtD"i`װ1m % q'A$&]JG5:yD<&D~\$u"IDTi=C=pԉ_#uf5NNoj&u|P\@\AqAS'4ՃVC=h?D54-u~lN jQ:i#UD"1٫:\AX7 NX#x\'TT'2- Qa!qT;Ua0in?:DzC p^^f2{Ր٫b{Չ^P{Ր٫lT]Cq٫^jUCNģ:@,:a?u :6u"\2ՐuMss~崶ĂzNx[Jb9^VzK,%O;pZ-u+>VzKnZrk~Oa~Z+=Բ\5J1E%+x++<]WSwczcp·⡻]5x]}?]9+|:S-^c]Ou}g롻']gr>tWzk,^㡻G]G?<ݕu]#|}}d=Wz§p_5zoCb &G_"k]' aaoOEb-X",=a",!Ÿ ?+Iz!e ~}H7ߧ_/5zO= KOldٰw!_6,i -YLp^/\1iZf+L<42[Cf dVfK^v;iOl o!k,a5چghL;z^c _%!Ä4aAJLNL~qiwv Iz t^Cq@".:cE54ԶCmp M- mjM-(N 5_k[@2}x^'{;\$MN5t_C6!Ԑ6l^CC9k\>qg8/Z6!-gI9kAj袂E"`+X  א4^Hģ:넌kF5$ݪNxR'l^CyDޠ" *AT KS${KS6!D9COpx._''JS%4 Is:asjԂ UNk(ޏԉx?R' ds|@y&nHs:asᴚӂfljH5~_ZVx^%.fu"/3LCp[sԐlWl^C6c!+& Ť覘T +&-HH N$DBI y HH[bMkHH ֏ ֏~D"G$~TE0Vo?E:\f5$Yo:# א~g+R+Ũ[0*ͫ@>6q)>.PR .XF0jT F0wPa̟O.\T@gNS>'JrRܠT@}W&Ũ1)&sW'S*@Q/0+&&ڤjMQiRL>Ю<4vܢK c*O@V>]lORSJ)$YWxQu.lKuKrR.+C>vmL v]L *O&C]g#J|X]N09uPRL>*_=Z V"mPWT@B|:]t87 \̦i#d?̥{4~*@>pSh).FU HW;Ÿ+u~_M4+ *69\*_"CW|.{QSN+F#:xǦvQa eV|\T#~Oa|WeJ0K $<PaL4oK"O@>`>_Ӹ)F#g;۞bs_?_Q?$;O%&\ЂrC"@rDB9b.&*7'bm|mX GyH*$!%"U5P"DnH*\&Mu I]"%_$&b" H%PnHk*z&\4M\5]\6W&Ubjw>ɧtH px+*q2Lʵ;"iAOi?) Zp+Y"1HrD]6\ӂT7&p" hPN}DV N$;-h5t~"i%Öf/LAE=民\T"("J\lI"-#AI7{Hʬt>KAbĻ mz9ک.OPAd%$R MT%\ER6 (Q$G*ȍn:4^\="wlH:?[/!%$ -!( SP0" P@"{("(hc|jQ@V4翟+EB} Ao@jtлhZN;x[mu# i]-F<тT jHD@b(F"F"@0t>Nc\|[%aj: HF@: (F"@͜6 " jdPC J\s#s#!"܀tP^987yD^A"a$>@}Ez U=@zD4t"17TςbC@΂rCb:AL,H B@6!;p$g1: HM i!(1$ـ~]cC/p짺1$scx187:έ = b]*Zn$D_YP>D8 |ؐȍ 76k)KC@*jt8́DW\,H̏gOb(qkH YDbP8۶zP1nmRkd&os~~Өo$ 5=@ޝfM,(7=$U;L~C@ς,(;$rS >g?E ;@"wOx9TrmTڐȭ 6⍵!H Pnm*qamHֆDnmHGǑgUbx\P#>hw8ʝ|=PsH ՝"w>(9$rSo$TrD˝ GBMOAjz`9yH 5r!Dbjjڡo9D. s@0Hς6yHnrK} HLς;3s (W8$rS C"W8$D\|0p\TP.wHrD.wHr ->(G";$Tbzr ;@*wD,H5@!+ڳ)b\\ S8LśHt,w~}h,Zub0=k#Hۂ: 95;N`5d!s@ jHP3ih>g(ԉA1{;\> mNZht[CRi&t"t"6=M 5= PӐ4u:˝J=r; JNCp2PpH Dp:+NiNC5Dp:1(5@X !Q8 ֦Zk0kӐp7u"V8N'D4c !Q8 kӐou"5[8=nf4cn!k4Dq?N{{:sHYPfJN'4B#B넹44TrJNCC%gUQSL4*j0QӐlNCg։xY'7sfkPcHih13t tYC9Ҥc:DDf:an!s3@rLy敜NĕN>t"9}N'bӉtB|Ls:Ni(9MS~}p}T"_Ӊw>(]Ӂ\ ;ŸVWt"^ӉtOT(7 ֐rk > Nċ}:}:u#u !\ȅ\>@mP!B(ӉxO'r;I v(ցxz['T*RU!qH䪈D:*:JUP7D7"!hA*"HUQAD\D7"HP*qHވrk(ցaQCp_#_Ӊ5E= z%\/t>&xQO'T<ŋz:'x:\c{@ad$jAx"a= ԉA<0wt"Ӂx7O'<ȕT%.adO#:~ ( ShS@ȸNd#GuB5P7D7"aNkA"k,`Tcji4~ HԂDIߊ|IVȻCYO S@ PCKwB-B,`stHZPnHDʧwu>Nk&5 (Nйtdt"K'H'5dt~Z"%Z"ajWK@Z"%(F $ H@{C$\-q 6Dn*qaHMqq ٸrgD"/UP<.NM:jDHj铸*׉3= L@Ꙁ@*q!H҉D,$"^n#7P$rU E"7P$@( 5P]("e% ԐxGu"7P0P$rEB PlD<ą"a N$rE"]3[3Ԑ t>녁"Dރ"(yorXNXR~XNXTGtH=(/QRxOQ'u$u7uBuP^"ϵDH@Mn) Xj j=t1׮yvuBEP^"E*\TUBTEx]'l]CxQ'TT HE"*"*ą"wH p V R$.U) S@꧀2?ی~n? URR%+)&%uƻ:_ε~ةt8)S@ wuBN@"sOT%. S0yۉDv"+5.zP$˓:\CG rYI =(O S@꧀+J\()"#Hh (P$r U E"P$BZ( P]X("H[:1é+JLJj?"#a`tS%. O@x"1I+: h>$Pr EB{P@x"'*i$yx? =(ڃ&a~KD.H≄ }H zD*qHziDH䮉DHk@k]5箉&E"AU-Z( P@"[([(|BP 4X\tHJJDHJ*);EBS@ r%J HԂK @>+5]!E"oH OŸxR (Oйx\<-(BPT%jtP܅"wH](.KxR dz FѸk*hrMQA&t' B%\/U*m{ HO@D"KJx Hw(< H&*$nzM$boD F$7{M$B"%wF K$roDbFGbȽ^Ρ D"H$U& 44.TA15L*RU4&Uߑ"\T6%fw\UB vh?Q:CTт}s=$Z _#|?ۋL$TK*q!HZ8Q44ɝ'IsH\;P{.AֆZڐȭM%Rkd3`tFΨ+u Ψu@*]tFPYH䞥Y$jeA:(DG")$ԦM)m CBsB /PRy9 ) ҲPLH3)Ɲ аh&P·5\|}0SCB;@*Q PPoIbrBB$ʂl\1J74 {|H ܨh{H>j(7*$rBB P^!1Ty]K%ܵŮ u-@k!JkR((Gb/[ZQ!FH PnTH䵜J\Q!aFF PnTHFDĩED!!Fze1r>Q!y-D mMJ^YPnTH Fp'#0 ;\BLe~|5ȧđu \T"oț;$͝oD!#nC"GB;@#ą!xH58:#:#:JZP!#rCBMPnzH@Rnz rCBMPnzH`LO{j >0}J~GR#߀5HPߋ D"w@$o5!t! C@"!vh1* r!4tm;ڐȻ6$roD¼Q1$~o7ʽק0mAyziH6@޷ٟǹU[5@ڪV : w@sV}hLpH$r!9@6 F*\N%.fgPE  (|7urg1s HSkЅ!1E LŇLQT͐7 -y\ 1$rCB .@`4j`]=$D4tQp!:-0t9vs8̵,(+$rB"+$bB`+Cz^ٟi,!1 F;\ʂĨ,h?ɨ P^}!W_HhH4y7O W%s p-i)oLvdߟ #SUrM޽ Mtz #@fG`Ԏi) "@*DTR P^!BiAP%$tR b r($t`|=H_+HK1@ k=doT1 @>Ulr?c-Ũˀ1^H$džK!j4`vP06`z 06A@<*r voS>xl/}CjuŻRHLVgo: \ QwHMA:\א#$rwC"7tB7SxWlWCNlVC6u!2MАPCH$@*e 2)g0+%N -z) i}Ȇf5$N/$$ ZՉA!tzBBe jiyHLʂf3b&l\ Ze?iA5 1)ǯQNPRO5MڟwV4.9v.ӪpRR At!\H pt}D,HKAXΟIB X&ՐjZV j( -|=*Ɛȋ1$D1dkL+D^!aJF+3@̯> W2Y]RtVf2z(U_$_$!_$D\#@,J\ #PkH P>zN (kyF>0D>1Dnz>C{;ۏMo: C"B$N%. 1h7Cbp@{gȇU⢿C";$ >]hȵP!1L&;Dmkh=E!aufuFD"7J$rD"HF"6J(}C$6P%ʍ`9'WH ^'m Tz H% K]t~HH2X/s=.A-t"iFbSOT45ҹf@ D/-(҉6K'Cb0PXF7+;@y}D^!CB;@Z);@y}$&mOM:Dmؤj H 6i%d` H]$"tHe#Հ%mZ1D.*Vq/_O?Y_Ǐ,eĂ8zxW YzHj#<$@K $@K YH^hIw}ZGewZB',>8qƒ<y[dٚ-xښ׃<MvS9h9,'Ʉx8,AsMI )hXxAA^c Or29W]z ߌ CФX&|lAKSмCA<Mxڇykf9 CÄCÄaޏ0/üGor|(yIu{]%|%zl."+{+}~lhɖ˼.CÄyhKü}iK?Çs, ~&F8>N<4@˼"/dKM0/A&ɼɤG]F^v9yi_ZE.׎EXZz8)\!\k,^c%\þyy"#R1c{yV13bޡhٗ*& ~^Fgʧyh? L~JFNh}o=$~Y]HGҀtTJ^L>*P.){9@446vt ZASI? xD#рhtCpS: 쇲:% rNu*qQ!uH5 րtQP^$tgC`lOs5 ,(V6 |x| ,H4 ʇUb $YMFk2@Z)ht4Zj2 5A&M4ygЙ9\:30:Q H'D|P!_HhT! Fbאb8$:Q (_Cb</ѽ 鿜0/f 6c 1i/f P@D6c 1A|$d/-]g#g#g$n泑糑糁H|6  gv̂| [%4c˧ Sͧȧ ^7ݐȧȧёlyoH{3@6ڛ Лٟf 6@5Cof?f~lH#ݙb~؋6$t g?S?fQ"j['k֦!ӌr\wbp9sˁQӐ<~P8 i[~u ňX`8wdh2mOh64umWCШ$4~6י_M̯_[ʢ!S@,^?7MoDF3&2Du2 h&{5$bA+~*{Y_׷Y_ XhDLFhdDC"#d!خD94kufWC~xCIe/ ټL34dxL׿__o҉A5 W @JN+]:$t"t"]BDyäqäb&^)o9KīcH[)!cA:$z! z/ YT҉TB"/t".tJ% Y!5@V*iH$HJ{${$xyK'aҐ8RI'TMаpx+K',$,1leCD%z((_ U @@ηhDjJԔh`KOT79\]\brİenX WtB-7gB"t"^҉tEKJ'ԿdflKCjYԲe&tRЅr!auԲ . U.rYXX9ߒZT߶)e)(߰ 44,Uo- XՑN|JCTޝ :xJ'ԩS)ȝ @HCfO`Ԟ5Zi(tB x/J'l/JCqك`PGCqCptU*@TTJH * U*@T`U(prx+&DzX~G'rBB<˂N e5|kdr%u4cs`ĺ}n` ]0yãn\'4 [vp*vɨlb*ܧ췐 hø?)F h"0AOb|LvHrp RxfԜ㝏$YP)&+}|U> ҌI{\z-3h5E$QV P# x1(wl^^ɲip,S~5,Ũ`0WɍJO)^k)h+a>>&C*wT*C0Cp m9N f\h.{/@:] hv5LAT~Np_ΕN)ȅ AOِPiY\|CiHK3@͐ 3@g  6hQ: 1@yif)ǀT)ȵ z 3@!j(w3$DΜb| 7@! L.oHR ]Ґ Q5 =(0QS Cz@KoWOH䶆ښ嶆ؚiv 8@ZNL1D>hؚ'0CpGĴ~a AsFC]fel U7@HmMA^|RA4,?ߊo @2 3L۞8Al{6ÆB"/Tb'-F@gR4| @(@q@^l!s h,$to : u,@XRU})0I9CM7/Bb('׵ D.OH˓á* \T"'YH<7[H~{ʋ/$TiHÀW?ɕ`tG  R R0Z}- PjDa$=-Nċ;K toHZ܊R+dVFZ܊iMHEvSr !@JR+VH7ұ`@ZL)ț)@j8t,H;XpH  [ސ2Q4k'.F|PmpQCߩ *6 2q> лX @/$ |O |O o<4rA" i (k($i_p}""O"THT*qNATC[p]c$@ue;P]Džȝ l_7΄`+Ya$ԙ +X~eEDe!`!aa6 B")$ a<YԳ]J\tYHH pB@u7B"_B"'VزD1f6K F颕rB@K*=mt!KtXWWHhuH= P^]!WW*qQ]!WWHquP]9*ks>Յ!B"/P+ ] BBE MAìi/r ;0"w^1lHj >@!H/R(￐P_HJ!t>E__H*ءmOKcӺ7RodިiHP㷌ߟR3_T- ?@ ]QL)*ЂD-h?_ I g#-\H g?+ U>@|TycN+h<$& 3#ŸR3$f|ۦIfHȂJ*iTɂD,h߷x ޤߤo_UI3qf%J%HK4+oYԨL,H$ʂD,H$ʂJPe% H{3+z'=DV$6eAiMf% /+ڔ&CBʂš @Y^V"mƬDڌDlSVBlʂf ͘ ( I\;aVb(0S]V`)Oڔ̦,HʂD,h(2ro) J00+!6eAjSrd%r8Ge%.+1_, J+/+!eAgYwϲԳDY:zϲԳDځYTD*]V"t ̂JY蘗ӦH 1 1+bV"-ĬD(wV i!f%BL'BJg%vJ형dˢY4DS A?^r@!L-H$Ђ%bD-H$PC}$gAzouf%D-Hς|ڏ:tA?i1A/gVBтJ0jȄтD-(Ȭ0NmۣL-hE '=>1jfa QG J5?2=Hx5al50aZI%J 7~J6ô J  QG zEA uBMchnJHtbRG5ruD WG$ruD"ȵN>R}oVBтrcD"߬D>jrIۡ55KXA,"b D"m欄4鬄%s8y:r`˴X, uIK:}ȵP4XњeZP9V,SC&վi"iMg%j+ biA,\~xJXZPZYA,m',eXŨX qI }ƌQC.D-Hx *hSM5dgA$|ӊYx q< m~ C"[uqg%|=z> ] q= R|:1)g7F;\0p B@ vVBP,Z`'eFhA* to@R Vb@- pBin -HDЂ,ȕUcgAbz($cCI(;$$TT%!s`i/zA\H? 5=yHY(iǧ 5 gfkr3knDf*nH fN՞\!J#1|bv\s8lfHn7%'/"/Ƚ 2@~.nL%. ːHWĻYz 2]x!^ĤTVBULAfYH oV"2$b/C`(.~H䒦^ ?$\ 4$h J 5tn)?B:@*uT e/ _uР{Lp=0!19Tt!xHYiW(8$|YЛYDnkHZ5rS 8 vsLh;(WӉiDl. 4 R';d4H5 o8$T]a r 4,oir2i/ w'\Ð>NAn^ԼyJGDaH)fj7sPm$^fAyϦ=*igd^&]z*iM&c? cC"FB }s8ꛂ\R}$/&Ȼ9$n~ W>@q(YP.vHi(ހ H䖇`y-I (F W>$rCBςn$nt|Hʇ@>㍄* xą!1X5}oRSOr vҽ8+H'$oΦH䖇`yWnycH䖇`ykLUNg6{9$^|Aʧ~}rCb>])ȵj >[bP>D>3HcG89\8 XT&$hAyˇD> !\P!!B]ABD.HhHPC}T % myH'R*wTrHȝ; ;@"w> 9@Z 6 2Q*j rQ4 NxJhyH͂L} 2й2@C_? } U1@C_fo20ڗRd}b. w=ٗ5Ծ: HKAH}'& P>Dn_HhǦ .@e1yD^!1ؗ5Z~ CbP1kY? ]g>AŃܤ3$D,H2]2#2#2#wfH@y9P9\#W+~Zc*ei}P*] rK"]Χj PKlb:DcH:f19C ̂jM%Z{g!kHb\55F | 7jHuHZ)  mM7SIOʂԙūp pXq& ҪLAHUZʇPMkIxh$m `S8ڔ)ԦM)m  - yF"yV^_å P>PH5@س_׀qLB6@q r({F]okCB b.5$z 7$l ]c7Cb}~Hqw@ޝ!l~t=  @qH)bB|B -kHfhHHNh8AL,(.56@jnrsS 77@!!a&77$rsSK1$sԐ9\C,4a)4ss>k!?iJ *xtMA> H5jX5 8@q \T*krYCB;-hi@yD>D>gmvѶ ]  mk] u-@v)ʂ]HhH% J mH.@JTY&oȷT½ zܛPoȼI1ބV_Do;@g? P7 \@9ߒ' \Pd B"($t b5b~SH&9ߑ; q&\ڐ瓑 |Jx]($t>'e\Tbjp3'#'#o!((č@!aF  (@@! JǠsyB],&%$ԗ1|L%B .6ʐ7ʐM ܤPRЅI!jRԤ|"$v [h ryH2I!&HM PnR*1 ob * L#&&*C"7)M CBNjr8mUށRyDoHR}dVH-@1oKߠN,csL1 C߄x-oj}#26S{Z߼os<267-C`4\7@KL<$2S~xcb}xxKҼeZ^Fe;Z^&yp>T@Kżþoþdٗ>Kv}y=Ӿ@˾dbgTLx 1s^:ftjcpfm,QƲ6[/ ߎ{Z59W]nz ocir3Cx91߽Osx1ͼct20-> 1y'a`/ɇ ov^IocP̈́xcp3??7>IuKԄxk~X .QvY}kam -jOڄ_k<L_OQ9}>t@ @KEx<>Kyy%]>Kze`k3acdx95KL}~CVQ q3 uL%.t 1@cL:DcH)t̂;cn`^!:f55kRk$fA"jΏڐ~č!aFj > ӳ ; >ǣp9$lߢ7.Y`l^!(66)ȍ oӃ06$y9蛆. 56@!aFaE,HMC.iIC`fA!^f2/\T"W1D,H9D,H˂D,HKCU$&tUHV 5)IYȓ/} |ɂT(W$$Eߒ)ʭ "h"@jEޭDnEH9޴*iE !@&B`DY'VKԗ/_rL웕  khX?xW'l:-h+_q_/_ G;j(Չ_/ khf-}5d[ _ zl=jx5dFwo/usHl#JCzLs7:j_c_x|u8 Zjx:ޛ^{x1_MȘd0lnOiȶ4d)]ؔlJNjȦt5dS)] ٔlGJC3E ՐjȖ4$=:!5* .CruBro&t5~M\rd:ׂd tʨ.|J' +?i[UPi巿wuśV:aVtJCNJ7t ޴ ۴Ґb.\|M+ ٦҅P$|G.>M+#ݴ U"@!++tJԏ7t"޴BB7dU ZDEH>}*ا҉wGraBB DvDN{;0H%DFľӆ - ~9cXr8Nb 3 R$.fA_ + qʍ tJlJCj\m+$to}CN{;l[i&[߉x ܸP4?cضb^bHLA.fTpL,hp14sL V\N>9r1C–lJCqo)_ /@N|JCFwQad%A\R dF4A$4R[TT~flwB]rOrQS u9@rd;Uz76g/X*&?rW8@N>DsH)FW44(95Pq>p5i\PSEeVVDO;89]jNgAq4TV۞*+ZeF5VV rs4's߶kYi UV`Tʕ \T• * U2@!+dr%I M 0a}}C*^kąk!aܨȍ R /DYzwoU% U%hS UB"W%$T*RUHUIAJT媄DJ*RU$!#@!!av&#$r;R܎P;ZNr : u R/Dd*DrJ%/Dddx|'ā,HGA=~*N:܁P4N[z"ǣjGU܁o("g%\T„ ^_R!BHP.DH)Bȅ\P! !B "@*DT[*,0@$v_8@rB–7dK2QEsmo(7$tSM 5]j:Vخ5\{엸ȫ,$;k9C L* " :R "[R;#vJ^Α{7{ &@Mě,HTɂԎvPlGR;v(#$r;R ;B"#$& | *T>ٯ1O=`Nš(d r8N+¨ȍ 5*@T0WT^9ߒ u-@Zze6 kyF>SHYPnaHYA`xY 4OG3O6r 0R M / R$ ܵо M] u-@J\"[!DD,̂T|Ai|ýĨz +7B]x9\Ú(0Zt XA7RFH S`@>V^Yҡ`@Mě,HTɂԎvH #@fG`"$!RЅ!v(#$!B¼I1RU$dAbG70i?_oHw)Gy RdJ`rA"$lzW1xD7*CrBb!=Il % t u8G?HJL2d$CP4ȐAT +R G7Mr>O9@!e|W%&gTcُ~!PHU9xnSH yzBB;-@iZ) GujOʥ аe*qcHHu || 4 r1P9\CK1@y)4C",ŀZGPSЅ!+!a FP^E] ;@*wrCBe ː2$ >7b1 B@* 2!t~"fΧOĽy#׼QAވx3H$b SE\TlHaHD$tܵSJo]'(5$F?$~uM #'p:[Nb`tXCx Np /P/ZB5o:aBoN"3Jwt5d⩡xӉB0 u*DI$ST'O\#UUHWt ^5 X :dX5rՉӉӁiuœVCDHe:q骙ZPHNNi :?6-4k,}կ[񲩹`:T>i#։Xcu"XH5VuԌɪPFNf\5dԐ?L~j8߀OFN eU'LVжlWMCD:ׅ:N*TCDT'O5NT'b?ՉOuBT3OuTC2?P:a~!S@7jhPRQCDl:a!P@ZKjjI Y-!K ^j&K0dziAQ߯(uŒRCf壆|Ԑy"ot\>_RUd# -5BG kf:`kf53 kfʵ\ 5c4MU{Kb9߶+FAp$f}Tr 5!$n| )53(p^Α!!> C"W8$bC W8$6CYРp/A|2$m W8;Jm@p$fA*jIlȭ ԉxF ֐Z P,jNXŨ!ۇObĠco1 ]C%Lǜy^$u" u3ZEi]D~: (uB̂.Ԑ,i&։AHKAN r1/t k5j`>``rC"40แ!5$| C"70$rC  4IL P 70@6񭡸 ֐kH= zO'O'9~Qy9GfH)(tF5f>PkY|C٧a?(+ø)FM1CgAl7s@^婀5y>bD4#8 *=bpU`s ST ;۝bLnU;ftZ6sQwSLn* @)hۤ{ 0Vx8d~~1JfM/U0߄'#0_K3kg2 S䅙 9>IWȍL!I| Ejcp1=3U G /T T`7=)$F VxVh,~4 0.hL17jgULSؗ)3ao;J52By#f5s>jmb SL Hm0($D\Ox  zyz @:իflQgd>cA0`Tb1HH"kZ0q> u@d7U uRk Cd88\bKhۤ w@Z0Lb2QHw&/oU_ɸ8q3g>H} 03rA§ٻ#@3g,H#@f-`9؟+ || >H|ƂR?q@}?~D%[ x ؟41eİpg1tJrh(lI}l'$@pru @28??H7AbXr8l<*hhl  .\y$+@<4TEQ9?ʃD\!0G#{URЅ !!2dA: (W$|yW?kx['<"İp "@jEԊV(ESlWাB=?2y/yٴw T`r2SF)_Z*ac f #琗'UH4gs9 00UTi[gy.#(_B"ﱐPXF"t8yDa!>yDcw6HtĖMHfMT BՅD}Hh(Pxis3 >@!W]އD}HC"F"/ȍ +{^H%Йa@!% =@ͨ-ٟD B@j8"h@^  >nR/ ?@گj5i/N2(/<W6$lt^6$l$~y3 DH?'hdz5 d\P;oIBh$\!4!] 5=@jz ;@Y9>Q L&#FB5r >9@Z`azG>6 H6@qvݼLdHEMA֯)5)&^Rl3?nxک)(^Rl"5bLk! 5,7T"$Vڐz ӈ9Q9G,j*]AgFWYS8S™Y.6>} W89\(acSf(EVxK%LL/KƩDqktgjL$XTYQtk`*ty6jT>J4gsY jl g26ˬTτbSTq:)q:9 S*!gBMgs<Ż`*SPtփ)HiMdHOA&x 2Syhdl PJ4g}uLZA)9x5tg.)*9U"V Vйx99p RgU6rD˥3Z 2RP<&^ 2RPҥfadbS 0)&0[5$TsDg*a~ 3yf}jJPSdMAK*H͗wHj6i &x`rC"V <&NAtlZA6@ ۬5PkftMfs+d囂lZAHwd~Ƥdc - ¬/^ܥ!i*i*JȊ4Yf@x/4k_yE \h4k|P IH4h,6r C0k4f¬p $ J6D kDL3٨2SP<*DYKx;L%L%Qi+3h^YFGoW:T L\D\!e*`u_P+$T٨lT  [ S: OG:*OGؔkݙ gj2shHh]x\Z%l\ZAM]fsZ.@t!5H йtPH Jtx 5uׂK1Mey/L;#M;[]*]*(^:S [:SP.]F¥ HigPȪ/tK .@t!5eVU_ܳ垅DYHgU"kF@lz0*~3c9|}X3 *@֎v VV ++`\"jj/1Z{Q_$ W$@tҦ PtY`tY+ U$rEǾ] ƕ\IA:M &V/H'@FMUQևTQ>X7pH6_^ɄDLȦd/H4mL18~Ejb4 }/G`NЅ |]/~Wl/MƗ/IbL0Mrn#rA"Ѝ|}0b#&$hOKJhsH*bRH+/€:^J7jama):U r rv] $n_rK6Ctj΍x K%1\P1 w@"dF@7;lJAJ Ϊ{:xh s !.6J @'OX9ߞR @b&m s 0z*dRa\tVA @yZ0*$DBW t oV(  'P0 @jnf/4Hw20@H6;wR0 @;i(W $U(ȇjąZ$U(P+V(opP+1ޒ+ |Z94=484(fP!mOa$.1HīM*1خ| x w@ͮ ]cs0j5j (fRxI%W$W$4H((fR fRP>ߊ5@|+McHHW"o5|+|+J45D\|uL7q7j=+ U,@McsZ,^th*|@86h6lѸQ2 oq5e=Y$ (7T6o@ܶ@mjld {N*9 9Gnh;~ u1@yc$9O$O +H8P!@H]06$NzG]'ds q9'P!)OnyYLs93 939SfLa=)oNqp7T7̔53L[ Sd jv6=8sf*sfsf &k4G`k"#P&t5jΙijƒNQ ,?fynolHszc=kG` /:}MfGtDp;T=-Lӳ |8#0Ov8:즧99}<(|A|O\~.m7Q3Sd/ȴ;_sʝsfSvΙ)swp9 T)9gپwAlIgX q5N {99?9 sS\Nxuv/T:W/ڝӇx948t6?&{$MvGs~ie~2)&Ϝ`dΙ)dΙc»:Lv_OQmz0, XNWr+_t9/:Jx)SS])*%:EiS_~ Ӷ-)%zK+Q{ZQKxӹdW8( rzrLrLrLnq. 圹LX*g?0&%{DJ6>Ht,3=Ȗgq+ѯGJxgGϒ\Nd'=HӱbZ%;Adoԃl@Mg} ]gs|HxHG2x m G2g(oț=$7{HXF.+wFtes{: (_c?j>$|HVHXFtIg2DH3 cs̀~3 cs̀d'4nַ6]@Ze0HwkOF 3@yH$2 mrԔ_t^~ .7ʧˀ._H5l!מą'$ -Z~KA9>A9#ǀtY2 H1B"/" LQDQ~$| !9d@: H*@6l0Pj*}BB*@yC7+ބ1RU2 W%@Jt1!27add0>N kza 'd`tP3F|k1| 5@ O SHتx4ƀAc$Uu>cƅU$U$@3&#Pk-YkⓃ '#'StAThDz0vxp2p2Ke@“PkFd@#t;}RQt؀|-  @ w w1 lz @b& &`e$e#/k' \BJ @*T: ȥJ @: H<ÄT- PDIfdv @#]$M5[7Gv=ݦ:S'P>Hw/H)@:  M7AB u@ nHĀY\ùD>Z @j-Z oE ݏt&O'nĭR:HuP^Dc}JJ+U*a> T)(U*G;QF3ˋѶ0Srq "7iXg.7*arH[5V".7 QɍLn(FA&7 2QɍFE%t(Y= JGE%FӨX;J47׈J)&6#،T 6#03Řdf 3#@jF 23RwEX:̙3)+9@L*;J΄Do@Des +wGA>GAbF&$2dB? q{y~U +jc@, km Zo*3*[f9 Z(iUxU%LXӣ [ԕ;;r qӣqӃɐ Q($r @q ?N \CjO@yy\SH4+;*[7E\gSU"ME"|T"G_x}%̗/VȗW"^N_ *@UTZD<;Ʊo p!aS j B*S*/ZUPnSFFXc# Rg/  (@*P >e  (rY;6ܪx|%l *DbR**0j_tDր|DRZH PX XFc!;6Y@X6 ܱP2Ʊ| lVtSX-t[/Gz3Ufd99<1 yJf -s09ܑ|yb0Y㓰~Ŧޱ9CP7w=rkBB κRQ(25ʭ К5RkH~}P>|  )Z qrH ȕ e>:)#  miH @: Hu=h^ %@MdssdsXsp7$ndZ%'Qk[5nz \Py}>>Z!+\'m0O"O"axY¤-/VH2o!o )@SԧiU(W($yZ$yZ#>ihUH*@(Yo>yZ@ZUʫ*$Z$ԍd:H4UMy$Z@!:(!$Z$}"$l?:Ѕ \hhhe |H,RY"aF ]ȫ*$ԩSR"kG#O"SSH,fzDRH FHK{ͫ*$X5 BB VH-ʀܢ5òG~B"Ele@]Ue=HWUYU /0ZUҪ P^U ,@gY{ ,@YԳi!5jHgjԂ}$6ej5]E"EB5̳g99G>k$$e30'srBB'tF  3@g ]$Tiwe@Y|B 3@6 lH Ȕ+dtBm(UrB"w-$ĵ\[r3 H't^ LhH't* -iHЫ鄮ۋDm  5F2fwgwh:%K45N S2:%$NDYBGH{HHÿm< ^B" FB'@yd$:ײZHXF'@Q!$pFH'@&Q`TDO~HU \'#q~BB% 6Nνd dBBK&2U2!#@Y:7#$N^'/ \!@?NΡ2(h&zmLZ(_0BBk(@ZCʇxP32 CHCH23f(_N"$#($$=룽0ы f ykh s )@Mʻ)#qBB)@@\C[+@@ LHhH+,@Za5 YF} | |  mMHIЅ 1)\*$'$̱H : Z(o.#(.$rB".$W+MyӅD39l{ 2@eR/d^f0!_賐,$Dߜ\\̛ u9r!.H]C"F F"F" -oH#HH0 56 fC /y$ P܁!ːȽ 2@ !a^F PDeHMp/^H ohYPIsrGjlH  56@bl炾!MyH% PtYyӅ@t!M鲞kG0'D&vsC 9a BB,@xD[.@Y-dYSĀTjDo5f=H7cls_#cKh(;#b(;$ 7@!ef{W8w9MMfs ;@MMfsT !dփtgs DsF+ЬmѴi6sr Y 8[qK7?~;MAV)J7@*w 2SɝDcr ;܁N%bSXT";SɝLQgz;e5`6ǘU´OAY r3?1+ƘA|tYA9ڙJc*ac j-,03S85 gyW gs{p j rSF7ی1cD#wɝͩ ;)NAR)J7RS)Ld +[J4J7Ue=U>Ƭܩ@,w*ts6hLz77=U"=HU T"Pb)T BY pVPSYs[OA~ 2SlLAVRS Y% Ә}s*kq 5N%Ld 8q g$Z\+9j"bS 8Y? 37@J*ac rY9G<q?Dϩs 2YSs 2?SWr6| 57)MAfn MA6 Yb STB,L1L Vݙ;Sug LAqwiwvg I%boR [ SP\κPz &roH y&@JKC1froB"&$̛7Ro2 -b*b*{7!D#QnDםYqwMwfs;Sxe ]Svg>iJDS\#.TB, ЅigH4hm.(5VM%2?S%CQ2AUSLLqŦ![p $f20?~H̀2PY$ffnN7q*; 5 JXGFlgnGU"V tܐ StnmHHGd\u 1@cTYxS 1@A3#*f@J#*>|X+75fm6<:>(W8@TJ4Yg@>;|S3kiVZ 6@jmdfB6; u3@o``HR(V 0?xJZ%R7nf@fnDfH22${0{0LAbƭ PnmHֆZ 6/MH 7=ABD͗'H¬ Z mYe0fh:Q>]>Su3@fnIi mXl,YAOjᓔ~ PUO~ 8 bHx?!DLH4d}^V5 .@ysDI6x DI4W֧sT"w&$rg2Lk,@3!aF :5̗ƛ.@/!K&dʀtXYA*BrBEzD\P2 "-)HDŽDyL,Zrufdkjz)佔z|L%XA"d@D\U"VVU$@HrE2^l+2xL%r+BB5T5-Gٕ m\ %@J<P>jRԤIi-m#HV 5)@Vln)ohzαߓXN5Tc*ь1DÙ\5hvː/3!S106W1#*HU PbuAŐPd*f0!{e6W4$3ϐp=F߬}srXu9@y'8$TsR3 HRHP|FBĹ* U>@H2>ٜ0DH4glN(?$,׸ 2D3Mgfs -+fD^!4#`;j ǘhd *;3@|trY<@jytC"7=$L3 i_H!(>$1f1f$lGMA}&W^HH&`Tie@y@HhHk/@j{$ NDtH)d@y:]p:$rCB-@VnQs'#! 77@jnrsC"77$slmM4]T> *yH- Z 00Yja g!H- Y> }b@Za҉b@*Q U%rU܎P;tnG/ \De|K%t N!RUdd0Z;2!"7T"[\+D  ȵj /dE@Xr3^l}n:rABLDŽTnܑ  ƋHM|Hx |  5鲾8I4c}LthOŽGXNHƄrAB-@ D06װ`0j-ksZLiZ @f-`Z[^@&Mjμ&F[(@#\G|n@!7PH ng39&'`TNRF"k7b3@j)RRK1 ߈#EJ F 7_^A7T=_q3Up!"tG P^y$FH:wya 0BBĀ.FHRUd&/ ##ﰯDþ"1NJHyD+W|JÏIDϪ+BɄ9BDTHHX&ȝHxH'@Md= u*@Ts~B"'$~c~| NH`r$Զm2#rBz%q # #mR2 -@:fKRt[Z֗-F~쒰b|K 2k4mFₔ!OHPah$Q&Ĕ4'BbJSl$9^f^r2KbBSńe'r25'2ULv9h_N+%i_ Sw.Wz Fpپ7%V8ڗopIO>KS(\_ph _p:KzGSكp {.ec O{.epIO;KѾ#EXC%f88ӱ/A:T`_kL^ Kv009 1 Lx9Ks00``&c§vp35QdZ SA9 Gp 's>ȝy0=S8hs0=M> טH>Ov:G|ͩ}ңN$_v:  e Bzp@NkPzǝHNnuB5v(|"Ut~;dJ(~8x 'r0JO`'r0JAQD9 kF)=Ke^ ^ oοzi~^qK9rK+_:K4!H@&&$hB UTbUTTPUT9D$҄νdL$ C *HȅP%b!D"B0!t;P!= 5b!T B@4;4F͚H%!97vh9ڡrUTSEŪ*ܫ{{J{4hsjQE'y5boDBQA o4!QEň*!UB*١MBلѩ5L 4hsQE1;4!B_d#6>A'P%b3D"6C3tr D23T MHdPA&dʧ Q>3!;RSDLLF̈́L4wIZMAbl&$fBy> ^g^"i&$^"iNDll*J)&66 TB̈́DҜČMA )ȼ̄Dۼ̄L$*fBb_&$¥ u,ŎcY-QDz&\K%bB".rr /2RP,\* *\ K%bR .pd 4@ VII̴biD33msc3u5̴|]6@ #VMS+Ȧ$j !j zjO,G}$lȦ 6fLۘh-j*a j&m"&$&?;|HmTJSHTlZA6U Vm)H6촂igUf$Ӿ /_ $|9: U2r%J6dF,̄DL\`t?MAW&ԬYW)F rFH )H% J (H[h*Q*(@*QrB5ޞ 5Pn !eΨڍ P^^y$Z<|Lĵ/kĻf*Dk C"0$-ɡDL0?޾> DnaF- PnaH/'w[p Dd6399HdHJf$.(d&dg JT /$rBBKA  hMэtٜ\(^KSx- w3_ˬ2/sr\ҐPIdj R/3 2@ek jpLHÙ.!*Hc n 75 nv$eltMAp!H xM%6R*(iC"iS 256}2!.i*(OS .'2!.@e5-uesƾlؗ5lMA*\(iSƾH p .k}rrU1@J.irIC"4$TǿM;H1@b*HU sc+M;f}.iL % JFҬIB 16'h1mR$.gZ;@"v,Cͬ03s3;@*vswD#vWʬBUDcy63!;@ٜ;iUL]rlΑhH˙Po6}ScC"76$7fHP.iH)Ƚ x :W1g Q1}j;LٗAľLHKA Bl}\/k4^{2B.i,gZ iHɄT5}!7{ܛ-$DLle@DYOI &QNaF&ﳐ,$2 +?[ײ] PZH\iU]t:r_ݗUINe0T^F@ &V(`b+1L#Lq_2%-ٝBd xcjJd0I#pAxbth`} F`tH`u 9`1`Q*4;|E1|}b]^AE1j*g D`#b0ysdT] &5ymd[ &<hKd0'u >@^|L#b0yWdȀEG k 6567BF@,X c{+\!#L>k{< ݑȫ##͑[/x0L^uL#3֓=S+c)ˋyQ1uTG1*7nc06fc0Z"y02`t0`TP &5ZvD̅ 5QȈbhd0Zy0:R(F%`11jL'`}jc"ၘGcז9_LF ?^?~h@) ȥZ @`&$&N\:_W@ t <$tրL>AB| $&MlN79FU59`O|yEBla]\#7#qAe;$l5û6QwH5P !f9 m2i3oiܬ0sCB5q RsԘ8-]8$!k!Ws*WsHjNA!8ej913ȝfzrkVl)H5Pq6@5΀e}wm J  <fMAq`2tHNg$,hz*w:@DPtHy@Rtt RNg@ȝs} 99TDq"(.T 8g$\ +dTg$\JX <@&x`rCBπN%lbZA!(<$L !M[Us6s GÚz @H4h=vLD~HvHOX[7xHkH^CτNDtHNg$.8!7xH yD~F!!gB$V =@yD~FꇀxZ% "Rh@C"n  1Dʋ>$HTnz DlT:Hx(@$uJ䆈DnF!""!""!""! 7D@yDH予D} yh$rwD@@@yD"" (I$nѽ 'U" +&x[% >ms --H"G H|:FnHz@Rtn DR&j@L ەS-):D0!рtx[A;"#ꎀrwDBPF#PwHk2] uG@ꎀ]pG$#8wGs$rwD"wG$rwD" |UuGWD>]I$rDBE$xoO%rDD`.tH"T1Ŋ*& ULH\hN"Ǒ47}H\M$bD M$rD"M$ߴ^|ӄT1bR$Hz$dC`mtC"tAuXu E@."뢑P(""\GGH;jzzD\$]?\]E$p$r]D"Er]DB\ʥ\ ‘p0Z%>@!7H4gs 99 imh@.x)DBB@!z* ! ޞJ4gsjC"W?$j!j{Pc{=@j{C"{G$R4 @@"{ ꁀYr$Yr$r)4.T RJ! B@*BHxH'H2)H]dRh.",9."(E$j4 U#:KHgRD#}}IwE Bzuh=mӺ2[DLl`6! u:@t鬯kH4-@@HB@wwHйxo@![p H- Z 0@: /T}na`H P#^6-e, lfZlNX^R$eBk!Z 0D!= ڀTDB"($rB\L&s7Ro2 &;k@7!{M` ?3Q! Tf6 z &roFB1DMH7oBBgtH 6쵑OD.DH]\C5BdyiBd{#k*9ƙ79H Q}YUr] ^Q o[] PZHk +ʍ 1*D8fT&(CBis3 7*@jTY\ͅ wiHTɄԎvD\/eJDL(v ~f  " DHBDigss;rr׸2Clae0.QzX3*ú^2IhvlN땑pOe#Tf6i*3zeH˄ĵz  +@^!땑pzH  +@yɅDZ+B"F"F".̀.X![!,J]Ѕ!Q\)l!f@d 5ʻ0$. CB5P3Gm};Ĝ΄DL Lcn6w H[_n@ ta֟;t&kq`rC"8#ky1D^! MKfsf@~H i1HWPtuau 9G^!tA\ <@!4^rC"8!H1@YOۙ\ilaF5dḦ́T~^FB] 57@jn 3fE7m}nnY&PY3vxY1ztw:@t&d%\(5 8@x%ss+rsg$DbgB"w& +P>یĹ?6@l3ڃQEAg@.pQ=͐R  1@ye$. -#-#-#-#!>gB^ 9@s>Ds+>} m™Z]6$ f$έde$.n(w3#q͐hz s73]k& MeHh](70$;$ef$.jHyD<@>Vlb3bz }!a&5$thـLF[5@VVZʥ .2?m7l= 1@y߆]ې甑P7d}||C"/ߌ7C"w3$tPc6Qy摸ҷ!s tN 1@:l@3$ KsR3 70@ywD>irCBu P>l$U:(MFB  u3@h" id$yfsG"j&nf@V P>b3^ u3@Z̏/ JַT”LAd VzG]fsXFVi`Td QTBAJd U2)(V20%S)2hzZ* X +d⥠XK%D\,LAfa  srXTQ25|LAf{gVPla*j*j*a~̄b%StL"M%"M% 3 ToDZ;uggݙ rsS;SXT"8$rSXTZ5Y5VbS 8@ڪ)(0ST"67sSLln*WlH )(v:N%8mNgtmdLd k$fML(nTMAi66 17 P-DܝȚ )(3H\3L%NLg 2?S~g&dJ W2Ag5L쯑JXHSTMA! 37fn 2sSbsCBMAMfomd榠TMAfnrsS 37V)(VPsS)dMAJ_pT (Vx8Z%heH*`5M%Қ w:@ZkH* " 46mHRj{4T"ȫ9ptFlTs6hFm! z7D@jS)H<P~SL\m)=KM6{=@!!bN%Sp WԐ4zZ8@ O=Dܹ!Yͦ JS5k jp:%>S2- L~Ke 4Jfs\ɐhp?7k*~+ݸ?w3AԐ Pfݍ?[qAԐhDTJMJ4f[S U8@p&/p JH-SxJZ% (oT1=;ӳ=TBP}H瑸}HڇĹP(^vSx B ! B@" ! BD.HUJXFm/ȩDnF!;trxuN%h$Y㧠S F@2xuN% 7"(F$Yɧ v(TBT/x#7u[[Synmċpx[sv؛[S\^=[{ Mskz9̗nM#g B̭)l'-|^ƹygڼ[ӹv}sV5AE]_}ZvksV-WlK۵rZvVsk;5P[Ȗjk[S [Pr V*vs0_E[ۂ5A8}//eWvrnRnך- }0ܖ<ܼ2!QbB (}rk'ȫ&k=[W2]kܮKn%Xb.!be'`? w6rk;#0rk"kU[<|oׯGnMkdŵ?rk#_ k۵ɭmZov4r]ܬ+ƕ"֖GnmsFVvDn;`3D'}aڔ J_7>nm֭Iq Z_+qknO?u4nmGveaW'K>h~ /P}sx; ͏Çyx>h~>Ge/{Ab~@d~F^1}x}z19|/0{Ï:/>?>?O=?Ϟpt?;{=~Ɵc~/_v~/H:|>ᓚoߵgqzisGOwc A o&OuO ңO_ _v*;rsi ߑq |l4-!|p:F"ͣhs87Qydy,H;ZSC"Д +y"-dڐMx"e HƒA$|ls#&%|O\ A?oh*|ٲ08qF8A Lx{#s~I2U|)`qc1r;n2NhZ!,8\CKV! 4!$HhG{!ᓱCymbZ+""A!e |2Hd, ] [ yD޻ ðHðh5(^M_ ݐw4FBMD!D\C@: (omȋD:ollHK$lO}A:& H;P 77HKQeR͡$.",_OlL3@ksX-} [}iZ@ZGkGkjFkLFkxIGkWB%@4 PD^A!PHX颬/~WGY_[Z_LC! ڜC)@M;es| |HxgHk+@\ @>* H,m'@6 FiAH^ B3D^N!a ']Ж PSTٜV*@PR&t> BGXiH'@?ЅAU$򕐊5VV$V#qa|BBGX#H#H#FK0@ڃGXGXGXж P>j$@| +| a5 #H+| ahH(gBB}Ps63![KTҭ%@Y9[0ft f涛&m_5$QMق73!H ̀|NRdFiZҩZ@*Pt :ܙȝH3בȝ w&3j 5 3#;tDI|ax|~ ]<2 $0Ht m@.ސpHP?[?H @?|hzܮ݌3B"7#$Ԍ. !@.G.I5 D>: u&@Lctrr}[> FdȄrABwʇzй^@ 8 0 bH' ]  .kRc1 H$ńK^y`/ U@: HÄ^﷏|CHhZ U @L-|/W'@b&TEvUimCvHx;HP7VEF lB.FBUWE6P<]$r0T-ZRj(=#q3 !KqrFGlt7BtL^!nHPd)w*B"Pd &hvz#5.FHRHDŽtiȀ!ù`:H4csB oPc@^ !$BB !0 '|E B"ohVov(o!#vH ]mMԁ : u @ɵf)^`2 "RHP@H䑸@H+LH Rd@z#$7BV2.Dr!B"/P;BH* /i!(/P;vHP^ W%@J &@PesG*QT B탄AY~s +P 4'4'Y!+_X!W2)Ȕ *D|g>J= *oE,FQ?SP<׫\JXQQܐPsSbsS 37q!Jfn 2sSPln*"iLd 8 ƩuG zUŠ$Țr?STBL1/h'E%R}sܾD#k6hdz mJ)(U 5JM%bsST"57M%ܜ\^#T"T"<O%D JĂD,x* JXɥ +8 "z 57?8)(Tœ:dN q:\bSX4G^K%O bSXSXT"[S_x\wTxAr)TX U"B)TID M [ȤЄbT @-JXKXPSbSxX%Y`0)TP,H*ȤPAILSL3 l}?($Rh rCT +dR B0ڹ):7Y禠T"=Gc{ = =~y#!f{88Ips$˾~{esCB5PqHDqFB'x$QY(5$ N֬6lH  U _RL*),o+JDܬDܬʚ]5$^%,vfsf Pq fެ+Ț5憀M +& 3@!!~ Y&kЁb +g PZعFZҹg!a,Se$ϲ^, i6j4kXxX% t 1@cUS߷}cs1c٘1US\ǐsrͬpj y$Z7\tڷ)65e 4fFg`k蜲lNYA露 s*)#qAǐPcZN%ZN%:Hu Pc[tl;蘓knf$_5'ȭ 6@iV)Ȫ<@.jSPfnH 䅝JąJ_W5=-%i\C]΀|4$zVй˙LoHj:a/uH:5g=[ 6.DrH.g$ˁ#f5氹![aji H] u9@y Dy$pH L+(;$rCB΀.y p` mH\7$T 7@`4`Jb Vvmr}C"7#H  70!hHB+7i/TeH o}J|΄r3!+!7C"W8$T K4@YOkfZW8@pDO\C}um`Tj5mϙPpHh(oԐksrQ8kfBf DӎYL+j'ӴclJn)H  k4e}^{?+(VܳP^Hh({ ,@ rV 9+H,@+,@Zae !@Va+,$ HC*($$!g32g2iHPg!ۑ?w:`2 _#2dsR2c0&?x .>;d+dXe 9wYQ12;ێep13`lc cc# _@Tl Fk)[)irî.TRc0`qaIia)aal 6he0*/brs1 DM`l#`)^0U`tf`6nar0za{7Q0 ukt/>jvZ@9tɭ\;00@jr@BK@^XPF  -YuA"$r 1!CY@yDd$.:!jHȉӊ89m..H4bF3d (W‚Dn,Hʂ:]$![$ε^/H j1Tcc$. Zb U@,t~A"_P @ /F@ZI @)S qL[L(W$rWAdLD^dP *3fR1 oOj,Mc쟠'tր\^R} ڑP1 w@*1bR x$  wPH ADAx|\, !j 0+0+ W"@DE#$~Z_ob P3jo%R9dv&#$ԏ  PnHHDH* m\Yb0?TƁ/f'A"GEBQ `G0 #0bG&_$΅܎u"@*DHHA=P 5 ܁Ɓ~jD~= ||\k# #@jG ]'6+ !l\BQw $cK\{\{P( ?HMx@=] tӱ%@@&]N"l77ȇSPUd@jJ-ud -vic@"D&";ف 룹0hD>h{ &@y?T* U%@JbUB zвP}$. !H% J (@D!KGD!KD% (@*QT ȧNi/HU 5C` p! y=N;!$;p(w $e$TiQHȀ܁: u @@`rBBȀ."#rB鉬J.DL JDLH'q{ʶ!vd@҆: s 0yCD!a RH9q w2Yxl}s\PU$dBbG&$B 9-i)HGR=!lQ\C5!B"o"D0v*DTjl!ndK}I2@.CH 9kd$\5փ\mE"(T@ \ЪPF*PtAhz D,PD݃ؔ5\im6&esR3)0bRF"/Dك@.\Hp Nt<E@Md}$t2 +I4+;փp9iMQes- p!lX-g_~a9;f>I9x@ t> BrcRe@XԱc(: ]1 .@: HK'@yD^:!NHe$\pI\@3RZHʀ\Zj *@sΏ P^:! Z:Rde0^: tBBʿ_۷!|B~Ͽy?~O?o?_}Sp'w/;ooܿ_?[}?lo?OOo?wg~_x~yyH=u4?^_^;ϯ/O/k<߾}zBoA+?=gq>|ϟǷ#CϷ_灾<=| =j{OO^'.x/o<~yyyj;Ǹ?g}{}ќ?=o?~܎)֥=|qooOwϣ<}H|\՟W-oǧk-|n?+;ܿ%ڇاtޯwֿoO/um޽{3%x{~ooߺx.tGnoEu:_:ۤmN[;}#g?gio?o> z~~kk$yx|ycy_~Oz~9l{ynGǡ?^?4nc||߽Ο|{7?˞^GיoK|zӗWsoq||}o7ڷͿo tew[p|T/P?__!?7zym^OkGM5}# o|s~}u^n[ѾUooH4_﷟?οs=ϗ[ǽ}ٿo+={پ7~Q{To_@J~'~g⃻?y%7ng%?գڤxWh>^ w|IJwIj|{l/W^.]qؽe{ҷIǏ|;G?aO^ɼ~? gY^vvq>yyj?iMy{/ڧo򟿖(ݻxǟ'_'ɳ>~#~IξG]_Nﭓﲓ/xgSZ ^'ٿ/'ݾ?O('C$aQ٣澟K'O>>:.yjN?oW󃼳_kV8>,OO_=>;>?wd#v8g=٣4*?o%r/\}?P͈YSLZ}?-w+^Z,^;u2ُq''~={dswGV o3;cp~i>u}ߩ^?_~~y߽/ǿo˿ӿx?>#|?{~_Oz?^,?u?_?Nq?_O+_K_~+?|_4.˿>n_~˿/߿y?ݿ~?<<~-^>G_~/~|­\mTaú2eINAKZYYԒ6g o<Ҁ ۓ2bS(=1U(?n)$rwp.ABG\8Z%H2h8sL2_}1;$ˢVCTBR|jA8뢝 \Bb fmkXNdQ58hR@(-V &( P %cgsmS]!O'dȗEw0Tֶ#!f #dCs 4}cl r/5kC7Kq-Ցߛ?.8:QBͺ{F(m u5%P.[\m3Qip&$a"р`ضo5`J*"60' v9D3;_Ug'o^HcV}n ae"7heJl]fʂ 9> stream xZKsN&&voI%WŶ@^>d\Iz(dKfgS20+VW\F,4iR^w2eb5Lxcw*_N3ƬM~<f޻iATHb7_#!LxL~1ҏ/~}u1f2i[0 =26SpiE\k1]9fUQ~-ez]𼔁}Kkz( ݢ8 \Uv1]N>ԃb^>"`avrhTW?J ̥3lX=Wc]ZONô5N%Ez_-EH2KHDgFZtaM4f3Ц.&nsq !a\EiڛiwuPAcK6vAk{/i^];sz1"YtoGNH">QmUµ å҂Ӹv6;{߅#Mfjjcq^iId҅ޛ'b\K_& YV =, ^2q+9\O{ے6y nMb̌1$}TȋB yfQC>>EHȄE):TʁbozD3Z/WM.gj {6niB<'NoXHۡmS6Lf tE|Cn?l&xmw]) ӄR4"HE &KӬ# #vWh!:YR1r&_ޏ QY`u#h 9$G2gJdMRzHǁ㋔}푨麨?o)0_hQwFn[k LʍOXץ$g-fw>muu2|61ˌ]0s;X}wif;wXBCDj2{cMBeYBg*V(39w q 9.K#xL mI $ͨue. KBq$^PHVsn]tIq7^>p %F[5 ʪ!Ǖګ~yˀ@pcHD ChȖ (pώ(㱂-; c l"մ`Fȃ[ {BaLJߣ?]SBF|J^>-ODK3HZdK;z mHDL؉XO Nދ /a,U|/# yIm6 .`CPG @Pp{Mb"1gʇu[z`E>ig֠Sval̤t MmІmd5m/ZR=9B)݃+V|y_DdSrg>YQߣN9G3h~)J湻Y9Aj2cnzV^<0י[.G’8]Ix0]SI|:s:2]Vܕekz_h#-Z&d@]'֧4镉D6wKvx<ƚݛ:t`YXN~2 37~( _+WZ}qFfܸ=n妘o=7P5FjKU֟_#FZ$37N>, nEԠa=Cdȉ0@7[cmƇg]%_2;u]$|:B|p*}Q2rЯ6a?9PN L1s3#ZЖk!0 '4甬7~؀[([>wC\Yendstream endobj 582 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2809 >> stream xViTYJDl)kб0Ӟvi\бmwWDTTd_D6InV% a HąFڥ` .ݮb̙kO޻~G<u7G C3L~VδILvZ7惵 u J> <^t|sLl8<4,~N\{˗9/^hzPm&$pQb… sV%$ĮXP",/`/ O).1 DB:=cD BkLPMĴXq@ahxh%K?]=g'>F ܉]I8.&b NL!l J#XbaE"5tœ("~x*ߛY(@Ud9B} U 7L6lLg`J"~$췣O!3ZW (M٫jz8+?8c$S|o.w/AL]$<CT{zu?ƕHEIV_`cILtA<7EMOSa7 hfqfO{Z|B;tyɆZ#BDD_hO=3MپGUvsdxh9 #a:<蕷Ud Yq (4 zKl.?I"ƕ 'z{z~u 6,[$kA =x=V1ȌĂjƠO#nU#jvZ@V *Vd@M+kijg'ݔOK1H]#'u]^OвuvzpjJ{x.ΑF*`7 ]Yr"MJ}M}YnRSTϗ!$}>6Ѻp^V<rIറF1Ipmg.t 公I? WfRe0ǎ +q =J(R+/>z`ni_gN fy*$2V5v(n/13m>CӣzAYM%׿s:*Az/fO+Bdf*(YyQhѩhmdUB(Ǥ:tS,$]ƺ:T*+)'ƌq"}-tjNMTŠ@j@YZyBNA{^X "wMFx/;8nWiiΖ>1b2GL!{(P?383A-:5h_z<&Z8 OCClN!~,Un<'KΆrC A /GIkKk6DN7]"1Z ^6([*eFXEdXȇjMgqY PO:R;ĵGZ!˕BRQu:%XZO'KLK0& \hDCr7AVozokd4vN![d .N8\|as6ylbѤ7n賣 %9X7>-*=A۸&n+ЯMǘ6&*16.VghӶ6U?<١-\w(d4hQؓK&@y[>Y,{1˛_}󘥇7룣㣣MMz}k3|?%L{;2sK?\_[-z"Q7>,K [K@=>bJU]x7JA!iو,ĖlCiY!qGZd:.dOh哵?ј@'s5{K.~ZM7v_Ht̐ D^2"K/φ,EQTZI{]U_tpjDG-z?\jG"h ڞye@|4q+Lxh/i,MPV,W /ASR96rh>BOKl}/dJNer7v˫GU }3%Te3|M7Fagt FY*J`˴+܍a. %>RT)x Dr:d4Sf5U9;},A^]']W[U.MhBjnKѤ M^!rrd I%^Xxmmfp͔Q9yї^dVpӢSFtZ3Y(e*Ƒ-ղj$8VJへ/t8@MDDK3<3?6:s5.-Y2`?2_+XO"3endstream endobj 583 0 obj << /Filter /FlateDecode /Length 225 >> stream x]! <o0 Ø^q( o)=|$m)Uvo\e|,PxIZַ6pQR_uې[<>uXl+@`Jjsx F{ Ah$6h3LUZұF\*#WC!5 7]UZQޟ 5=KrbH "& 5/NIBpendstream endobj 584 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 763 >> stream x-Ihg:պōZԊ{ zBc;:3MLƤ?ҴiM4^ xoJ/уL=' S Admvt׿Y_Ckk ճ˕%G5l8>f fJj\KΥEn>8GOlloiٽvflvuq2=]V0 wm~<\ρM[CeNQ]\;Dш!ʢ|#x>nǦ08$RPSWǡa 1HSoY Şgk5Z;8ݸ/8ۯC1ɩ\i\R[2/O*ѥvJu[:vЇ鄒UE 9Qz.$]@1N8>| 1 E^ )o-JbDUWC!@(rTΡR``!(?CX;(CI$N .fCv +W@(m_h&3Cjf*_u鲒| :E)I>\1DGHjR4Jw4Fi;sC)w.:kF}~+譙1[vf?]mQBySl&dc]endstream endobj 585 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 544 >> stream xMkQkɠ1b@iyK!M R#1 AIt˜ܧ, ՘w%ȬmAj6O|=`BQ +|:"h4>&)h&xLFIlt WiLh EHxXƲO<&)_ tY e1z{;ds*yQ8/ bdpXFӊ L:Y.$OƍYu|?Yh].KfT3CE< Ge4Yal&!T]vsFL.GC/}j+}+2/Ƨt Avι=czGM;^7endstream endobj 586 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1698 >> stream xUTPT~o*f'5t*Eօ/w"{g"D6&j$Ll0mq4J'$ Mxrm ={s9,0,?=ki\F~NCҴwӘYyO-h4{3eɛͤ1Jie2o1:aGErv*Y";Y9Ksgҝ >.8 -;KxDV?Dmm{{I˹vq&_[*nQo~*%Sj+*QQ%:w]AyAtً[V0mUF%8TVX=j(vV8U1m;gefVʜ=BM<ð l=vA6Ćn þ̎?0߲v\EԌi}\;[ަcw\{heqm:EYm̆ ƃyxpN`.׮<2t[ABt\P#ᝢΞ&znk2-rqKZ΄|Ȇn8hk`jnvY|ըQ HnE~Ss_!ܸvyp%`)9ԒnE3_oN43XZY|۷&G4eI^5ߴ, Ծ8^tG05ݯc1`6= 耓N\z)j.պW> ^[H)yxesf;B4ϱΉ #g@tB /moll$OqL6icUh~G3xkkSg& Q鷩_ǕzW0J My wcUN@a C$:kfrͱɒ9Qn%=}fL.Cc {V0)E 8oneWl|/뮼rզz$~{ayN|O @Jxi=36Ē\fF_$Bq UIm/oএp< :SS d|XznRudcEC$YZ\\5CMt"j]Ajպb=\,,K @:|&5ںH`/ ΐijbuuh6@O(fQo[j}qMmLn՛'tvN}xu^„"#w2tƩ^D$oZC54Jp!=> h( J 7F3oдo a0MyAK8ꛞ;sZ_DI85m{_m,I/PP7t:jt7_P6bP9"- :OeCCDu%1!endstream endobj 587 0 obj << /Filter /FlateDecode /Length 261 >> stream x]1n0 EwB7-b\%Cd> stream xZY7 FV0CՋI\ 3yh8uIww?8՗XJb)AdU&Jyf+݌f?DfHY*`*p^kW~&\uu7fvq)8ePB Y.:ʱ[\J*=j. .uJڱvX?n?f\;J[DQ2m-"̌2LI?UKXjߡl֡}vt1JMG9z("+=ݍ%auRxǺۮuӳe (ۧm.%Q囲X)יm!MB=כuف: rA1Jm3J)E{׫Qgױ]M, < .^ ɑf$*j>O}F= #QSzM@Pvn&42=P$>aOJ 1 & \LKb`+̺LKJbr`X[p#`L fq1MIιLaaLqyB cF)Wjq*Tyxq v|qiiJ~rTL5:N=>;{ =vwS&ɻkusTZjYsAit%y.Ig1'k%犹TyNIWietJk gGe#U8`< 0P1zvmZi SCIj D VYND :W;a^›\,.,agjxwۦJNl7zbkQXt"{W9$\4YXk9aSUii[HAhS&-tND@V>kHDB%FtkXJw$C>OxcG!'3vDbj+10C5Ndt2Joq'9gh!qT > 6[a8* 'S%PT.r \@54z4=Oij}0 0~P۔endstream endobj 589 0 obj << /Filter /FlateDecode /Length 230 >> stream x31ӳP0P0VеP01Q03VH1230 !U`b`T072X,ɥPRTʥTȥTť\r;;66 @ܼb;;.OefV)W:L}-nYo/f.RտyS>.]K_R߶ͺS! ZYendstream endobj 590 0 obj << /Filter /FlateDecode /Length 463 >> stream x]n0{=$,}n\$DQ \33S>ݒ;^^__~uۗ>Rn{7~[ަ<}ڣOo\ԣ*S紿qk;1&bܔD|M-knJKnJ~$.)yG)yD'$]GaˤI\ gba+g\ H4^d"<`0dA&M 2h$8gɥF=)g5BO S\,1YEe#d4 ֊yZ1ak9 _g+PM52 4X 51Mrd"M4_C$/Ԑrf*F 5K@LL( %8Jr50`$oNx 9__:w[D}8ϺߵzZ-nԶy/)endstream endobj 591 0 obj << /Filter /FlateDecode /Length 5569 >> stream x]KoFX9,~X/000nk19TKղ =zJj{"I%Wc;z`-YȌɿohM^mM Ǎ^ot;sy ȸ3VSænKMucۋ![c̛Xg\_yЍ1>ٹy5 _~y}0|sx=<ܟ/߹^\mW.~b&>m_m 00MtvH%כ0 ٤:z 1ud~}w>z2C`󩞜>LkAewΒYXmowa8;63ew&S.$%zqbc[ga^ރUN_l! :B6>&!Xpڑ8pa䃚<31љ((܎V 3[mAr2Z'jGG=1Ą1!FX݈V#XW T0X.T(HV'$\T` 03JhN1aѲߪC#*:K눘PIz0c!Q*0n%d}sfE”1,50i`BL%7y`x| J!P;rE eueD`&@Ί8de`eЉtVP2=(yt|5"NNk,)BE\ /y7,"2f%:+x-j+NtJ2XQp :U< YklL(:4x[1ZADU'Ox\(N,cBT2MO w8leYxo}Jc yLVXг[0űN 7D!E x&Ky **QSu" ʂG"b9Jq.}@f)Q)wSBR0#: Ng=Xp#؀>a:v³LՃ*BDX4Ez*3lGD+_z"FgT@Xcw0 BTHH &VYRGK0j Lңs*4Bz[".X1TpЎJ51nv*>:nYkTwzBKt3JܕQzLPIxֹN5 P#t ;Z*J=RᛗQ#hgqsNɨJ :V%k/\D!:,K@bcJHtjͩ\%cNIiʂii%?dRB(t[ vL(L@e܃I+R7Pt K^J J T&cn˚V^O0[ :AzĘm(I:#:'/u.*FO4TAXu+tZ9ƠnzRXh`u"uG[}*ЀK@_3p2dV |3Igf4,а"k J?Z\t72~{T 8RjƬ# Ug sSF#qo: vL:n ~tl;*u7ƪLk%WEe3*M͓/Ige~Š)$3B7_m\-,8#Rfrd|` F+=U`Nb+@ťVɗ[ K"X-# Z˚e\ qԥ(J&J:cpSC`:@z[ip1FJs5RטxI+ړxЭW&Kubӭx<.Wk;]Kkwā\\r-ݙ:J_5AŸP"El).Ů8Z0MjW,%;zj>+ds{*ÇYSɇsm00 '<Ў#^CZ2,Cǖ1Ez|Kdv\󓀋S3œhN!ːg> stream x]n0DAB VUHʁ8;z9^Nt7%}[=N徦\{)d--_?K!ߺs|m9.C.]k740oʉ~|lum,F"pX\&X-qEude0 @wDM=Q 5=1D0a-# X3à7&= z3ik& N9yV`_,гXg}³2bt$g#1W j6UTf"EU-HQUKe6EU-!¯Z˔טּrk& < dC. vQÀօr1yr[f3o3QX. OP |endstream endobj 593 0 obj << /Filter /FlateDecode /Length 193 >> stream x31ӳP0P0bSS3C.=C a\B# P8yr{*rs{s;8+rD͎wwvvrllt29y@-vv\. j+^ȺVem!ܭނv_[mrֿO_S! I endstream endobj 594 0 obj << /Filter /FlateDecode /Length 346 >> stream x]=n@F{N %kq(JrX€0.r|`HS//i}ga5Sޥq*cfxm8ϒr|k*>BU٫jsnKN);A4rǧ; =Np ZjP.4Tj@ՀN |Ej8Y,h&5Le]F ( yVW*60VРX"8 8 سP,A hMouEMUIŬYSJ:G,QJPpusq{iҌS[e^MKendstream endobj 595 0 obj << /Filter /FlateDecode /Length 4602 >> stream x\[o#u_A V_ |a*>p%jԒΌT7԰A1ЃS~"^7}B^tlw0kBDYe=(ճzuEzu/Rq..L}NW#1l֏r?/vP&Egm}HɂB^+wU:Ƀ`ԡ&nympRߏobwXm˳a,? ,m`3>cI 9KS'vznɓW\YllIOk{ۋy=Д;d^wnYA F,$߾IOŚroMo^wt\![f/"?Э7XStݢj#`YxxXvbzۂK)ӭ+ 5X(%a&1 > oכ)eƿ:1FWc y#W|tZI6uY-6|vTM c˂x eFb^&Jw~iž/? W`.'=i[hxQzۣ DA&i=(L*)[(TiyďG*tCXx*tOO!u~\lFw.~JǏ=Xݥb~uDREo:/f#z`f"?9ŕכfxh3>]<_N2c`0?| ݭEIw#Vtb`%go^$fI}t3gpf>o7|bSOiY>QRZw]>쓑C[2/~fltdnZrClP:!4 M|5ZEa_ +6a;ۑux*SqQ>V 1L2gb>#K,Z%y=E`($5pnAz` I o$O,3ޯ/,pvo/䃶ǣT&7hbPyP|_B?S.PaH װKK~(~+KM6W|塞[{T¯sC 'laC4g<͋P.׏]\suP_ޅޯwۡOΖB^*}ĀF$2w_OVWAh)w8}ًm>P`â;/eރj%?4L#@3hD5xKXۯ]J"t?o*xt둠~tÃ*pR嫧T~V0,U-HaP8,]j BőF {p  >6flG┷{o&{Hzz%Ewq`]-sIvO>7=VݾzS ƍ-)wL/kxm14'yС `>T *)#7eN/arȶ,iMVa.> Y۠O~l8_n/ˎjq)<f'0ba225B_7*䎵e'3?wS&=Lib;O 4JF|9x a@>mǧzϦ$nDH}w㾹=.60.R.G^B}o^nT,QF"baGXDh?;NMKU7K-/ b7xhC~y4i5N_WA$@MhPrpg:<۠wu%5wީ|~|<#[nYJsjYtß5ֈ0cqmXLՙr >Uv6Ѳ ž ʹ5{5`E6]P4ߞ`Df ;!~3EY9Y^C=\ !Wx)~ƈ@%zP ) O0E& 'P/F >ye (I#x 98 Gǃ5*E3@%E~'w#h]?VP)qʂ<5A!M#/pEij8L0h3UFȝQ?2O&.&)(b2"x}2utGÂn)0xGD]CլUų:pE Ew^pxקZ`X#(&gM &הg-0Zf`<:{K͇&F֢ QNd@@y=N )O}E`^\Bѯ :7) [ 1h֐DM$O9/Q U0뚘GRچr,Kb>޴#LݡcMit=`F,dhydX82j smEA|&QF1E1#jJE1 ,&NHU#6j'c#s;/!ȄV~LsxBEˇEb-aDV#("(Qhtm0"{eyZؾP!,Sf64&)u ͱ#Ŕ&%-<b51p9T/:vk( *hjpV#0i m4Dj5#0n&4Rs&8PӰIZ\+PNCQgx MIhy6bߪQl}T049f#P'D&EN6 Ci C{e`}6iEȗd>4 : ?&Jg"BQ6p*Ecy(Mm=Ogȵo TEmzQEe/#3ߤ ^ڲVza3ʑP(// rR8ML4Iwm_6Z# ebmr\i@Ãmt D*4aZ0˜ΫFj;7_{4TqOmowr M3m̢5ISgRP{jɋ:!?imyOp&eA4ӦgWc06! <M|u%֭+cq2baLaҀƯ}Mo27'Xz#Rj4TCɵ4mJ@ok4mZpdk{&I";j@3D, 8SML%bbH>Zx&UiS=k^?t2J˫ɭ-~G^q@NY.cz4R㸬{ ?w7 {8%N*P7AAVb>y*] MEЎF "Hk7&$…!:FQk4?PO`t/,s]01rnDU䙚0:*5Hq^g&X_N@YP| VKZ.r *p I~aCaWMP~_V+$ˢhU\k5\ %a Hjr$ckAL0>+B'A<b~U XS vM 6Hlf0Nʤut<7ɷ6C!3qhQ9 ꁇhQeɁ psG*P&C^2WD_ѱ-7XI(i= jTJyH0m[SgDa&`T`7/4]"s-jl}H<[WyO3:.ɶ6hPyɔ*Գ*I hຮu4AdQ2R3Pfs)gk5(-^FIW8ˎ+P/3GA5pqTe<%XDe,Uj(JPrkDZ_ʉ Z|mhkK?u(+~(TaU */-W*|U ՎS_"I\F|vȩ+y]5QMuh Z%JCXR]~Uf߄8s2,JJ->-BrkS9Iw'Y^)UNEendstream endobj 596 0 obj << /Filter /FlateDecode /Length 245 >> stream x31ӳP0P0UеP01R03VH1230 !U`lfT072LX,ɥPRTʥTȥTť\r;;66 @ܼb;;.O;7OB9bB󡪪* t_/~o}oOz|op'>lo0okw7|׿+>L;van6no5p04pz*r-Zendstream endobj 597 0 obj << /Filter /FlateDecode /Length 485 >> stream x]S1n@I;6`lc7.bI>V \&v; 0muu]oݲnQ߯TK}]yn_LmO^;P_ƷzC64]S=<,K9m/m|Bi!X7Tr'+ 9̤!J:ҹ4Hki1FX$@QHW@H(U+#B:~T@B4QaBeI#$8Jr*BDx!T`IAɄ`04ajЄ "N^c|C6 ;M{ʆ%Ηj7tzSf9Uo,ǡM\zv~_GǮ]==):vaЛIS_E1f"r67sϮ2 f쩜aI A}%#^vqY׭sN2>endstream endobj 598 0 obj << /Filter /FlateDecode /Length 151 >> stream x31ӳP0P0T06P0P05WH1230!U`aS027i`9'O.}O_T.p .}*.}gC.}h\nn@n.P9?47XΎEAmGTa?ߠ pS! B)endstream endobj 599 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O0 cA,tahU8(NпoBg|wYe`Aރ'E0uŭ F,m1' _=@f75|Ǽ:MWHAD5O*gs ]ITb @s$Lg)_BSmendstream endobj 600 0 obj << /Filter /FlateDecode /Length 1829 >> stream xXY6_! X}CZE9A:Id}PwMEV,8Կ.3Ջ*eU 0emVbSg7R®EٜQJț}l΍iUx',r4e;vşE'0ʂҠ\j `6beXWoN±FY `qz8o Ԁm\^oϽACkipmBˮvޑ)Lin qaF% 6QҮzw^j8p(i45J-#DFYmXd SCvuZ%>B=L-mFIǣ%jZ} t M;nxCkkT}/+ˁwLKR0Y+!뾫.Z@4aJ ʍ88S[UY (Bo+f5R[DRͭ(Y +l 'o{GHҁ\Li3ge6Enj&JnNuX N>p.xqP8ZSi -m9Y(zBJI0P t90yF`9#ޜ1W_ 饽KE.L=.1sDfm?EɜjȋY{*$e֊*8bJqw U!'6TlNl)d/Y R l@-"(WV8\Ѕ{dn%]J&b9}D@mya?AR}W u7}_M9pNwg^Rܥ~AR$a8MB"x;*zLNE Iءo zs95h2 F˟W䤂l(j|, ԩ7y /` s!챮MtOL6n3g+wВK>*68[Jejg ǘ%]o E1~`=$X"p+r3mȧդl&A&TUChͮ9b=_6m$ X u?lR$o(Ze:hޡSFyUAendstream endobj 601 0 obj << /Filter /FlateDecode /Length 451 >> stream x]1n0D=n 6v"AZ2TX+"Nbx+r4E^_ޝ޻e棾>Rk}]y-Ooy۴ V?ڦr>zLk==}~\|ߣڎ4{KnJa&>*KnJ@sS4@쐀|vH@',(| ZѳS6l F0 GU0*ddȈDQ"SED#• 6q8sq8Z &gcACWS_dldh | ipWoάLktξFdF瑈r ,Kxh_ ZP,9sAބI!{N#!"PAG,|]|G\<3VݿsWyendstream endobj 602 0 obj << /Filter /FlateDecode /Length 276 >> stream x]n0 rt%2u[~endstream endobj 603 0 obj << /Filter /FlateDecode /Length 2530 >> stream xYYoG_A8\ ~`ƛl,FHC~SstU5<cNr3ÈoFF"W?ǜF8<b_T1& ᙱfoFLIf$̈́_.L<&S\'BG x=Pg[mp~\ֻղX|w*0ysS>}3e!bA0ƛ\zrwf|w3ik %5J鱴]cSVI(.]%RⓚUzu/HQ>,_Rg.{E>D@:vsx5*i+x*TfdivZwՒ>h1"ɜ3tCCmښQm! rC uDBae:h1-;/ I6a ؓSVg3ד@zĖdy+ofw,8 ).`kGeY)% ;n|q"Hb]|[ &@&|6=ɴ](س[Om 3u(;*@dE|SH{jH@~v32z־,|Nq '"9}*o3.Ue ϛ@ _oS*F DS:qPdr{Cy HxhUC.PP6Sl[lH}Z?JBKi,r}`l|6[,p1<˲y;toyʞjAedB h3y!+2t|XA(O:|)ƀH狖I%Cnبa3#!:TCYlfY F&g 6# 3(4aAPJRy@BS)Ϡ3@d%P=<3_ ,\IWixs֣pomI%ly<K>fX8'A _}FhW ?KA3Gm|xDEo<2U3 ȍ2ȷa|^c8ő~~'G&7&X/m4, o7޹ vD``0bbqU'D٣ #N^*{jw:?L!Dhkod>Pr]U!G=-j9:FRq\eby`ЩPk߮қX˰v(g\(_V֔TeABD %t) nm>NvF-_T:;Ɣ*4|&D>?o름dU\:!k_-w1$2IxvXmVb:- )1:׻}xج#!ʑuEK[v uEvc3>};=/駬q\ߖj6s*z ͣ6b:Y[T @Fe Ƚ S.1ĊɔgȫR=qG?L5YJ*_gdl|LC݁AlNxccnl2W"S t-/CFr9z3-="6.Hcw]cd\;CXm0Qd =1ڏPv {={L}B, ;JJ:]W+TWl *կ}icb*z#'zpZ`V~Ij76rl|Ԧ*X.ہRA=y1 Q(G#cXؔ@biDsZU[+cRro3e v{ؒbݔǴ3~MyXGj FvRi]~+23r:eXԞ&*%V~((&j],=Cօz:XYmCU cU L&U0c 鏀[V]ʺmcvopwꦦ1T]{ҢM=醖'5jl YYS nD,c;}-Z͸jcO*9NBe I5ע;\F!t#uxv#H ơX,| 6;K4=B!TK{ $ZB}NaYTѰ5,\k$9Ԑ VFD:&jQu b Xq=telS*p7zt`u_uS`6L]k) bo˥GRu$Ap6laҁ.@/*&u_թP_n:A,_̻H| {Te8MbG(\,endstream endobj 604 0 obj << /Filter /FlateDecode /Length 210 >> stream x31ӳP0P0bcS3C.=C a\B Paĺ@F& %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڊ,\.pu l٣z7?ܟ@aZP \=YLendstream endobj 605 0 obj << /Filter /FlateDecode /Length 216 >> stream x31ӳP0P0V5T01Q05WH1230 !U`b`T02X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[#]^pU~W˯_cX [*{omw6wa[l L \ \Kendstream endobj 606 0 obj << /Filter /FlateDecode /Length 484 >> stream x]n@{>@ـqݸ$yx4X"h{fNb|wwv<>?=ۭRendstream endobj 607 0 obj << /Filter /FlateDecode /Length 1447 >> stream xXMo7X Xp8"(ZAV]RH2K"-: ;||ͬ?հy~zl}>U]m|]YXnQ_`aɎն ˆ,ChV 4l&pŗM|y}nswڌky~o?\?+EjՋUKrg=ӯWt:V`aaSl .bm q)vƒ>k},_veR-:HKægɓ,L~H0\BeQO^QŧV?a^oߵo컜v&U 2t `zm}hwW݇}Dc<52:#Z|ܵ7.*aqA)(6r:2̹ofvڭ2G t,E5βQ {D>e $c ֒EY$w'zs|:Zы/j"X2A{oAU{qn8 3 e]E%3ЫDƘ5Pr nHzLٳҳ<i ) >=_۳KvGj#O\|hĉ?..o*kdl 1VFBn1.IJ`ҎapѰIh f*ܔg2>Dd8ńKZ  )4@̸4ly+BʉO 2ޛ>!Pe`Tw0 $7 :r~B S!=,Qx&ɐ;/bbFtq9KRDRº1':H$d(IՑ8pE =IW*e`tkC> X2Ͻ[Y)+ѽ BF ԅGy;zjZcAL*A?5OEƂyWE$`/E#q%8:SGo.+qgft)7㚢m06P(Sp!)&ʙ~~B)qfOِRPN%z$'v35<OK7+]>fU> stream x]An0E'RMɢUƘEtŋ{3Η4ne3o0No}M8)1mtKQ_[VjKim)qũiBOq ;RMaǷ 5߶u qD ꩨJ HuAFQ}Pz @b5PVCZHd5e*VcXưJ5eqcX1.CNu,Pie㽅 "plPpO,']6(H$J8È>#A@.ھp(NP8A|bD0F@eG%P#5;1VKyD FWS:s]t_> stream xۮ,Ive|eڊ=[)4NWJufbfI<\;|)𡒙c{\v fy{_~?Oi~N?Ostv~u=ϗv|鰻Oo}~s^w/vx;?}/?~}?럞4׷÷}qwo?|o|:/q:ms4?}:w~Nr?ty>_Nt߯Ϸ_nSx:?~aO+?·Ǖ۷oNw7ǿ|Ǻ]o/՝#ij;txt?rt}?|_x^g1Y?\χa;O<4`O:9jHiǏxx᲻}8J~>ƿ~zt:Xn?A^N6y:53?AxcB%Ƴoew;5S>\a_sxy֟ߝ>/nѫzz|ߧ_տ6hǯ~/~ϏMxt⿋q./t*ؿ/?Oo?|oןE9}>=~qޝ4_0~9/=o|W=>x|oM)gw|鄦<=N?/?>>&O >O?L6nџWx qb?]~E|{h(u?|׷/x?x.ӷLxo~_۱g9r>p}H4=?Oso/߯oU:>^5=_~sx/>N'}wGMyCo|qzӫyz?i>.C,?BWm_7;,_~_?B~%;2{?>w?_tG9MqӟϏoXWNj?xݟ/o_,o7Y >}ezGnMbyٛS?>nc}(wL?7}H=\oCL3$a4 _0㱮W:}}~;n`S1E4Z*ߘXW[u}R07蕙p1^<ǝm)񧖙 q~=|ܝx~V;ϚK铥R׎+xӻz+u6C4?_W>}9,m},mzcx~_ ﴞN[kzW(s8v?O>}zSW/~;k=~#v_1?_]qebX1!vN~zOc?^N̜)._ʧ6.Z}#_=O.Ni&KLo]q{6;n Oڵ_-P ނ9dmXcMo}q~/.i}/t-w=/>N닸g{]_c x3|޽ߪC]:oSqr{rUsgu9O_sqn]vw+=zfzG+z*=N1v^zVSt>9cx*MS՝nK5Ww]9mzksu.Nyun~ϟ߶ >Ab-`=TM_&tx~F!Y@d=nQ(w{z1+^_P~x~TYY@ӷ˽_\@<1BJ:O:<>2 sO=?64ӏ_M^,óOO~, _ Փ}xTs޸\W-+D</=q|J.3b zN(>f>&:_ Џ%;=~*TP]`v<=~-TU?a/|Yy8O3<}͸U|43t=g hzWz/3|8W2~8V2e:Vf.s#g:(_/pO2ݦwLs_//%w~N'yKvpqGB =~VT}z~= B9\@ϊ;Wq7᫷qw9W?Q!( ~zJ4vgq=lOq{ r+_UR>NP5/<}x7~ t}x]q/߃]pt:?e]:^Mc\wzO|:Wt4w{9#]@cx~ܺP]XϗZЖt>%.ne3|˩rp/r]{-]_ñ,t$j.z]۽~)v=xpj.Qz:_X˱:<ޮrxw.=tՓ.t9ާ|χ{P}/a\N'V@3_~91߫K|h̶n]C݅cǝD펉wŝt>^"x"u0nu0cw1K|7/fy/=|y|+nFw1߿ DܽK|.7!w_ 71dK8k|}_8~?no%bݿm; ;"3" ø3ؽ q0rEعq0=>a滄{x!^Y9g~a终{cαbqW^/|uR#]pcq}.d监GK?I&yG3Ǐ}ےoJ&b%yeC#1ߌLv)J6.nNϷ&ǎcpU>o`F:L#bv=:ne_ȼzfIw9U{Wps|}fg8~L|3m9w<7?g"ݧ-G8 /ȸzz;L-Ǐ;ӏ[wKO8mfvjj&kџ[>z^Ƹ ~lx*o^}Cܕz ovO9vm۽qq{q;{qg7C A3T"H@* A0U ņ$6"!j@ו] e(.C A2b!hCO A,6FB3Ġ}DtB!M t.LGE_bp6h%ljAEb0ρH$Ё GT1|)K1 128A\{p!Áp'ct$ВBK"-I,qʖDYPΟ}HBABHx$T8;BY^r(%n"lA A:HFBXhCB h(FC AX A-BF! QB1CesbVUQ(DBbb.D@l' %Ngvb|THUêB AMiR~)C ,eCIh!%Pd$BPOhYd" A.ƧD"cxJh5ؠ8 1>F;@!|nJPC /5GZ``EmH$6% mdCm/- O.HQ+-ҏHB Q«-hAB ОGɰ"] tu b1:‚B "*"TPяB? ]4CsCkAeH$仑HItp܈Q݈ t#H$"; ҟ7hI$DDKA(=Tj_4 Ë:DC H?Z2 ɐHXЪ? %vC$"J`CD5DĠ:D6D "PzB! {A~D  0(z KGB9B{n)x(a<@! ࡄ_P/xD p)AzSJ:DAC*\jˉNEcp R(cOT,K (xT(PPb"Uh*1DhMg E=aC/JEE?FU *z VVJZE׵ EQ|x\Q["qKDx%!H$nD1 ׶DD 6>aC6>yѾǡPv xC_PsG$x+AW}7D_)/ % bPvB!oPQ-% ۢCh-,%M;C?@! [(C?"WCj _(%PB!!Y9%j8 l JmHbDAQ#Jb$ ^6KQo(mAmAA?ĠCA?b! PB!G@?C ||0J w!J .$ v!ӷŮ]BƇ 12>oI-%[AhID $kb Q58ʔ["%["%["] ߅̉…""_J #dp $%[%В"K"- $kS(*eEep )KgEb?Q /ɔчmiV*`TV@VRj<fQk+p-A(Sb"e )PB"d)LD2E A(SLѾL/SeLFdh_De O&ɔȡ$kHl&JI"m" &ݵ"A2CLXd?%1LD{(%z&h-1^"} _("E/RE(RH䋔HpDH.DEa[$ "PB)"ȗ"JRD {[L! kcC!Q ZE+ D {'LKj)EP `Z^ +P*ϻ ?o/U۠w (Q58%KBZ[Dbb[Ab[q%l 6Ra#EZ]kDZW /p.AHAHo, 6*FW^zEAt FE1.Ac T%*kr B;"#C" MArCɍg…ⅳaC%wJ%p,A#n v(t!jE2W+bT58 A&/ HTAQ!_J ZN7`.ͅ`.aY1w.EBZVذ  y,~n)/a.a/a%hOFB 1h$aC9{=µrTC \JxAC ,[² b_! \QJ P7J &@o"&@J#@PѢG`8Z=P+Pa)%,{ طJ@ ,ZBa A0 (a;¢ ,ZBAh;[||Wc(AJ{p R8/ڝ4CDM Z5Cn&`؋|?@m6o^0џ@ Xh&@ Uhi/,wm@:p5G0<ՅT 4{0 ,>h*{5/; !c0b!>/B|hȽ_ %PS"O~ ?bvG/O G$R:bB1)FjjVbUZhU 1RRK\{/sw!jbu .؛+`/P^&Jjbw0TS3SPb̻Q !jbʻg KÑBaC5(h~]j#M Fzݐ!]RJ<4HgF(Um 1T}QTCE`!f5 1066REVGAE^B)W:"RRn6bLnTݰۆS]bߍ~T S,íZ+Q(G" PUdt!6"htîF1TSAޏ؃iQ鎀1Ceѫ*#{# PmD FF$( :BA"ص]G,^h*HPdtqO"$b@ PdZ.jjK ; \'jP]'*Ft %H$Td,Q·%J.Tl1HA` RL - ҟ P*,;n*JVE_({%3AEA$WאTx(^yn)z&|-De 1Ahc } 2 [g,LB"X@"w/ _@"KB\78D!]SBAZE - `<(_@#\xdfmvIۋf)/ {ѬLnF3|;g(L,hILBO_A+(f7

}~$h%~R 7HތG&' 49Sb#_K x'JG:H GoÞ ,B#O@x;]ޟiDG ?b | 3`hI> ӏOBQv< `D$KHK%|/qE UQTm } gZ 6 jDFڙ|)A{J7ी/eL$CIȗ2JRF 2P 2 0B#XJ]yFH$FzA~?澇Q05Qxi×2JP$0d{?)LVR(e C#y}P,JŽT?Ǖ_G\ FzAaagDP^'f2_u2_JzEVKE %| -ż: -"ѶĻ*Kq"(PB"5 mYK (`EA(K, e l V"KT"3AM Ň ,%|񡄿hAaE"D _|(n/?(GWmUۥ?J`TEy (A# _K %ȓAO{AT[B"W~G; zA=f)oj K+h % % g ҟ.%+*PuŠ 3T AN&Jde"DbѬ1J$X*H?#p,ALSHie1~E {({%屔R7"`#" 4"屔 dxq؈;+J/< AӟA/h(,QF *ÂF.*&v2 )/*D_jԍEep 8"W7ؠn@u#Ս T7H݌OXnlpJ(ua{QQ4h]4N@4N@4NBi WHR%\ uR'![HR%@4N@4 _괄)uZ:-J 8ÁT[! 0< Z: 8 Z8ɐix%@45EA h"A p2 ' ɴDdCNADUfBNAdTl2-8&i 0  0 Ҡu- li)[Z--Ae+-WZ05LKiкyi Ȗli+[Z•- Wli - rJK~%W_W* V{  A [De4rn~%4h5CA 4 r;/ [  hAN1n%\ 0)K?ۼDa^ - )EiX͖ P* Ei8iW WdĺikDZ5"-FAiu LW?Xi# *`hD~%2K&=WZH@4G{4GBh P  P rUGK%@u$AuoBu"!+H {B!G@=Ah7hs$dCFH0G0;"ێ9#uDD]+~]$(=fG0{RG0;qwπ_y oA"@ r GQ\r#~>(P3_DH0E6H AZ@| ߁DW @ `|1X##a :` V?AM Z`("`+}C| >"w) Hoź E`#w RWQ3AAD`# dC0 [v/J>"  !P4ĦAAlAA lpB op(A _lv;R_J JB-{ AE5? %lio-@m!֧ ] wRB: A() A#^.AD6U?^J AX AX0B w JA bp9x9*AĠO %|B$X*B ֙Cz hXP7 Jj!rA .(%| 0ړbDA JAhaB*f |* ت Ah>D@/ B$P! (/ DucRI*AA(u %D$4B ȯK(%@!E DDbPv 2JT@HHS VJ:A.E]bp  qCBPѐG[i&@9!D@'B* A(a" A<+!\bѩ3RI B*6lá (3p(oájA9ڰ <p( AحCPPUwޅDe 1ضfC A/7硄<P  ql!J %Fj$ V#h;yop(w8ʼn(N$ĉ(N8DA(Nbq"ʼn '|q/N q"gDbCAC {*UelQ—-J%ֳR_J ݡ;F _(kHކ]AQw2J u>1hkFښ*l (?̖~D 8m8JG 8"#8JDݜbQ¯(n-F"GA{%|js9RAJ"HnV$6 %lJQAJ"A~FQGQݜ%4[(ĆGM^)^ B#_*1,u+])G#Jlh\ ZB/UVH *P@R )[!% B++DV?ZB+$ B2C[v,Qn(7a7gWؾdp A/Z|F*"%hv1S B L% ER] B+@E+"A؞ARAJ_ V(h}þJ/( EO呠B "_$6qFm w%ޕmaFmĠ = (;%pY0AJY68%l'_Qp2As A E  zl((F A:aذPE9"<qTx~qFq}A}s{ "6/ y%>%JcQWF4&W"6%#(EA.Jω,$(NԖ-W =BO$6zU*ڎ~mG 4Nx2A&+JF \LPd 07u(:KgQ4JF _D_¬/h~,c h&,J`GA~G_T7bO =Q= ({%GzAqĠGq(mt? LJDpl;<(b ES'!j$Vh>("y-P (!E%D(!E NBvm'vm'/REp}Ql_ eEBe<ʄ-2ʣ ($"y#AZBZBdo PD+X/ʄ2a/̖ G Q'!$DHV}cZB$P'!t?BR.dEP@$D@O ;< ?o=PDAhxi RGJA(ufhQddd8 ѲhpY [s=_(fwHיlʠlu,$ds2%]D`` q"3-xiPakۚH`'!B FPQ lx ~'RjcRAzZBf| $}~Ug0$do 8p"(;%l:AIM-t`S#Z: rF3-?Kljݽq2-dNB gVN05FkN&]s2Q]BB9#*;q2a 3aL%@ΌAA:lI; IX;;W[ș1BS#MӟRm ͞p`j@S F 4 B1A(QMkJkb*_ .Fu{qL~?1bVQ,_ⓉӟGUʗ9J2gp /se sVaׂ2aׂ2' ZokR@M?,J44L N ,PAD?r !w M 65-@M D)- I#4IUh)j55PA5=K=K5dcቆ_E%'rGhXQTy"4'r<? Odc܁4OI#zD55-ԐyJ 5l@zܦKpD0 BBhZHB0j&h/{̋?)nB`)1O{xng} P9h,/ey!s`Mi cbaugkx? )dY?م1=@qq_K] Z=ٔ?@4P?4 dY H3A rL^ B+\B FBKdA554H|>J4O̓,={֟'2_ Od^`gD8'rq&'/K5PA÷F?څ 2 2oac4d^ 2A/9.듘 jf&s'`av3}dߋD1XA~G ڣV{j •+罡ڣV{a'j%~T֟~aG~ag~K? %ҏJnc`( n *@ J %zmJzmO#/(~ҏ &z>m 6%ڔkS@ K?ҏ _QK?pU6A*[@=J%#k{}b h61Ik=ZG֣z%ZIo(a7y&b58ؔ;>b5~ <( ?cK)"A{`G%hÞ3<-%OBe* ? {ퟀ6ٻdXm0 _R¯E¯)U A:mJU % $@" * \M Z 7ɄaO&hÞ#ȯDbCG {6(Q,}[(`8mؓU{ٰ̚E̚Egp\fMPQ^s- ^sM_Q(=z=zNBU3/Q3A~G _Q\bSUXAdiĠFn#L.FAbj@4 4.bjPW^EzAUfJUJc4Ipa4A7?6>#P4IֵHc4几uL?˕G JTH Pzb!3{\%<)+]ȎTȎ:(y GPtB!EG@ ~F AR \L 1(.bq!A'hH݃ p Z A  RW BA.&BpA4 ܷ% o RbPB wg3T,%&s/b^p:? o %]S g#+[ŴyZ)yA8%/GSpJ^zbeHq^Np^%p:^L'D3 IS iO*%_XKk0p&s Lzp\P1yy@RXEK%p\Η rA\yxA ^05>uϫ_n_8+(@` 0>>F}j1mOyA~7B _N`~)aX|dˌ-8lW}R4@yB!G@<+OJF`D"FD^1PB=AXFDoD(V~/(Ġ xٮV~Ob@xsaSHEETV~El-sYCJl5!hO5Ae|!ȷ(J`C*ĉ 'P.FQzAhD`DhD5u-)h (@W"{ qlXIB d`QVA(NzMNH,N8 ʼn '˼a%'%P2+p%$VrR–- +䤄Jy fòNJ:):gA#߱] Y'%ІMڕ(lM? FAVذVJF l*lMAuePYh3Y2Px!ȒH$DFn2aLIJ) ъQ =)R{G \X*![dMBn"u6L&z( Il 5 }g¶5ŨŨ"',F%;% kP/ _d0 iHB a2akLiٲ%lG%BJ&ȯ$D~Eȯ$D~%!ۯd+ AWrJl + ~%_ )P$DJ%!($CŔH$dL-%*q?IUeep Z*!Z*!r% +$=\Wr% ٮ$JW2--0ѲEI'(ȯ$D~E.-Yl .K& QDd q}mhdnd'cdp?U*H$d+LRY-1P$d˖Lز%$[eK&@|((菁+x%ʖ ͖L ^ ~e0¯%}ْB dȯ$DPQOwH(žq2Z(+eEi-N2aL8IK- +)vx|*Z.b"6$! Ubh 1h;A `"(`E `hQ-1h,Aa `PW<^(K l!.(`wIwW5;iBZ bX"PMD'"ۉD0&fD0%"`C@E@v$' :"32"t7EDCbfB+] Ġhc77` :`H1R47V7ձ؋c)`4 vIE&;jdpS1W JubPA.j dá]PC0l7V#C|9DCk\`"R!t ЊVb!j(VCYA @0xp`x?{?x?V   @pi+1Y`pR?jFó&bp>;3{08 μC`p|m%(Ab2a( {L༼bKVQ*,CI{A8k/^^*R)}A8ІZShy_ )A(6NiK{A e-P{ qAm_ePĀ4P rR_^*~A "(k%#B MB@.A _&(%쵦2(vdž.cń 4@M/Qo* U!]E@,+BВPwJ2#l3BO*FծP^J ؟ A؟" v$- ?!O(Q@hᩀ [!O(BPu }!ؤ2h3?K_.SB!/S(A~C$U&LZ 1PJbC L_PC \*!T<A> %DђdF^~eBB2a|sV& GBvK"ZJ- %ȦA"}bU2'@#O(^FP U?ZϐLFjA @#5N@qρm8J AX A(h&ŊRc{ A m yHlP7JF T7Pu3l3E((MwM@nT3P28JA,uqTRAg0=!P7+E#=N@q?o4=!_(QJiok"Qٚ~ qzBX/VDdE'9@]pD/h(` @[AW \)AQW7J?ɲd{=q"& M$2H&BA{2#YsFh (a&BP:| B#= 8#Ս HlX@ 8b+8J% hÞ!J{(}A~G A hQJA֗:Jԙ-RG /uD%GzAQ=NF@#.D`C9G 84Ս lB[#mM@lk%D%n]lM?*5ջ]=AؓTdLA~5F ƈAATA~5F¯f_Q¯D+1ȯÖ- l/_Q_,\~EdK~)ȯBe<0/A"W;B2CRT(JEbӑ(P*dK\o-JE -@44b%”1_Q+J~E ߯(~EدB" %MG@PW_`K7Q+ɒ_iZx}1A8Q(=AJD ''P"q"0 #o(a"D=&;/΋Gz$GzDAG͖*#x.nχ+k.ˬ>8vXT@ #H@ yQ#J%P 0J@W"w%J+`]Jfh+Qv% D _QI@,N8ۘre/G"A(]yQʼn 'PBqA NDlQo(A~%͉ #PB=" #zDS%@4(z$ #.~E _(Sʼn8)&(l=AQ#Jz$GzDGGڠGzD A~1E 'Z@(%@[ eQeHl+J~E +2eeXfY"e< E ߼(%|A-ذedVQj68ok%ߦ?[m߆Q_L a0J hCF [(K%PB#ȗ:JR'?S uó2=PuA{%PuO$XB#u =PB#uO@ 5:/b"Ս \LlQM@-J% 38]&o(FPn^mhkN3pwyAdfhQv2 NF (;%ay%=@[#l5"6r2ddNF:,JeAQ߅^ 4 NF:AdN& v2Ô(+s(Fmk@[ATfeAQw2JNF D t2l':AQw2JN&d/ /h(h hۂF ꯈA'#+P5̜آa5lD͖(| am`^͋h^aE˖`QeK$|٢/[elQ—-J( .elQ—-Jl:DUY%f1JliWWW_Q +|+W7Q4bЯB"+JcR/=A_Q ߯Db2JlY9Ah^yEм~gdȼ$D%!2/ QO&!-'ba EIȶ( mQ 0 b1h@rX&H$D% - rJl Z,!{}LR5l ( EI,JBdQrk. 5L*` *` 8IIB$N"q" b%!' 8I^,TfI^K ' 8,@H$DJ%!R*P$T(mQ2A%!עd,xTL?3mƒXX&l ۯ(/ {L%d^K&ؼҶuQKB`]WR0 &+KB`]L&(dH$Tb%Pc3L&H$)m Z\,!{q1% J%_"_2@%BgD %ƥAd~蕒e0X, KB| ' a a #i4( )CAɄE2AZ$![dV KLxɄE2`kL NIBHj|- $&${GL;dvdIȮ(Ad<$Tl2-L2d=QٓXUI@ T1ȫ$D^EPIAe,A_ŗL /d.d- {ͲLF T6hKA2e(,M?Z4_B#] m(d3 bF 4D%bF1(fًe-M4dd P6+A#x؂I 72%-]2a/SAR@B#N@lvf %PeTDfcmF0(3'RlD`oM"@#4d3P(`IPcL;&WRlP$;&I00 vkc{uI0o<"5`e/5N),Fw6X?b~شTڷ>vE2("-`I J/%qm(*$+UD0G"{`E %`H2JkkkH0h *`0a *`(St:gtt$`3 ksʫ H4uaQC5E %@#<`  +JfX9o>$ u %MIѲxAAf> \ KhZ݂bǤjPv A l d)d uaBA[h\PmVA@ ȗ 0CC:A VN D@ BbS~$Bкh ,zi>$AbS8@JՊHlX'K _K(a{ PL̈́Pw`9!z}H+`kJʢ,̊ĞH[o2X,% 18F!5cVChmJ`C`V$6 %| A4ًf)f F$!r( %| A6r#l7`+(6#/A~I#,< m)C%GPtBPվJXC%h]m$:C*s&!kp+Ah+b]!} XBe!E@ AXTXhAcF@l5>'U(0jԬ@jZvDS⯋MqtyX(/@Mq@MqԬ@MdC P5wP5]P5] -uEJkP x+j+/tދ)25wP `I RJ3 PS} -=L, I Iuh!%jB=Wp!` M=: 5P 5P 5-z)'l!` )`Ms >fq,ԃ;`6iHS1a} P  _=&̫ 1a,@+TyJ R Y) JiL5OPS5z\ GZ Դ3 q7`dá,l{fև plgI`p>gg'`p>'`p3D} 8O N'y`h>'ს9)``p=}'gރ(ừR¿0?~tgׁ#)`p>g瓁 dp >>0?0L `xۻs``=^O&z08z"8eL1c޽͡O3z 8 NHk˓x0>̵#|08 's,i}|0><Ŀa w,Vzy+A7VTRJ N_`(ն1mǀV *! ;Ka%`K)K ¥Cp*.N-twŢDpQ"A( Xh|FB6,W\rE )Q=8ElXH \H.W$+ rENЂpA oXH \H Q$6,HD9.JRE+REREVREp"AT\( A9REJpu"A "[$#R^HohŪDU^bEyE"A_ 0Ah!%pxOhA{ZaH0$wF[#RK r \GHPue=jAp^.D8Pxq A8 @ x:baη@@q@c42<)r&CcK^2H, Y, f%󦅁}@U*A`yoX2H kAǵAp AvP0v \;HA㧇_?^UHf@x!Aސ \oH7$w%s޼} ?A7$[2 BѪB/ioKqBB`<"ɑ-92aŜ ڌY52a{LЖ HjNEBd/ HeNEB("G9x{XKt/ [5gޫ9f͙- ~ Z"h |ˇL|Hޝ9d"2Z RHŖ cX*#i[edTFBPwvNSH"G9 ABB%d  HD2%HD&HK$Zbe  wPPA!Ȅ+-2@;($AH0A sCWiB&쭞3A+Hh"u_1>m HEW[$d  y$n{ {L{ P 1-}2@$d %Ho$S鍏hLTj#Zc))2Zc)B2QhI'1~Bq$D#!{L ΂pd$D&#! b_ 1f/6hL8Z#a[kd?ir+ǰ΄)BƇ@/{H&ȋ$d{L P$*d|JE/2>%ܔ!!ۋ(^$!" IHBE"/yAiK-$$IĠ$de1Q®dI@tB$Q.d 4&ИBcAhLL>DAOfhC#n#TH* Q#!$$d92%lc]Ȅ]oBJХ"GBOQ#!4&|c D x$DZGv#TH݇ u$c:G${k݇v#HەLؕ%ґA;Q#!ґ ҡA>C7FBvqC C p TH Qq#!(nFB((ō B |A]Pm7BA! DE b !5 PCB !5 |x8T= A Ġ= A`Ab Bs! 4 BbT&@'_h:AAN!h 4 "QUANXB%|!|1AjN:AAѺPp]PBi @q ABܡ AE?oPB==@=  P!Dd* J"@D  %ʄX A FUA`罡)ߔP@B`< H$A E _$("a%hͧ2;TB 1!  t؟Tx:{1>X%#|W=A~["J>X9A.UT.-AK.AAmHT./' 7&@ (I B! %@;1Aa! ':ճtO>A'y P.B  9{  ֠_kP¯5(! VZ~A PJB)!D@\kA~A CB!= m5(a@C! P(+2 vAP(ţᎃ nX@!E{J:$ !!{PzB!ȓ} !=aq{Jx~/"l>a/B"y~/B EĽA{HgA!u _g(:c %^h^p!E(L!E(NC: Aԋ"DH"{J%^hߋ"a/B A2%^D$eB!] teB!EDbC/B !E(A.a/Bي`!{^~/B ^~/"1Cz A1{P]Bu!Յ TP]zAWŌPvFYrHѾf$Jؒ@vi2C#^9 u@ 18 H a4-د> "^RH:br\h Bc.4DhSf7^. *@Vv^l@ v \ al˅ ; ڲ2mQk R如Dn*HSq&m_@ڿ6[LłA@ą ? /[qȅ K0ViMhG2I#n,u*p.H] ciHSp8GP4p9Hmy`<g ՎB̅ R4c 9>+H@@7Pؾ*;6Hq/JKJpF/AB@pH\[qR$ zH-Pą!nA#cAyoDD還ib\V5T~ czLc.?D~?H3!/Q-4ȴb  &7HmE\D PUeƢ$aF% ʽ ܫPRЅW!{UԫWR^ BB U߽ ErBBU4 S)0J!*H_=) P^!AHp &@&Lqa(&$raBB V;t,UAETig(KE""$T Zd`|F܄PU j{vw} 0宅w} @E &&DnBH& 5!@8dCǛu. !ېJ\?̆=TylIHhg ;#EOhzM'RO=.= $@'!{9\7R &Tiܓ= $@IrOR $@I !@C d`\9 OB"$$ԓ'=I%.< |?K -iIHK"@fCFZ/P!H= PIH|LK"@ZR4ؐ  GTs8Wkz? Q͘h(t"Չ{q># E hHmEVGgLd?C]ICPN+yqr.mu"ՁA0N9\d_$ՉؼtB˂D4caļL;@mu"v2 9qK,dzH䳷:Poٟ< t7rBBNC Og]z^03LMk!@o$CxC/\~&\~ssE/g pf]Wt]ߛ~zaFRE`,ja pAnkÀ&W_D]QC?U\=qׯ~~$qt8Ci;c<?gB++VyjhhosP4MC5pPOԉ~NݝOzQ>֩eǟ˶*nNjtUC2]Ր誆P_Τ36Ϭ!1T/]rqW 庪Ri UCf2CP\Ļ:ױtbXDzY4c!sW :8#NąNjȬVC:vZm.'-F&2ՐMm $5mw#HQK/i!4P*qHRd:<}tLC꬀l}CVihj/FS5\SMrՀրe 3S0=rME4U1Zj B 2(\Fd"O$rDbO* :!jAv:<ƫOiV guBРNi#v:\]ZIت KM4Mԉ N Miȅi"p`G pFnH䦩0pF\^O"wP$ ^)?ޅV:aMr!E"R$r!R$Ԑ՚2tjH [pg'I;~jHMoވPxd_85$NiAdMP*qH'ƿ.Hm taH,lMCCi:ImPq"q!H41 ;c w8cpK&B\$Vj $ 1Hd:iA8A/2j ly΂UR#4_NfA;v}NC`T ͧ$R#FȆ54HLR#O|! -.:F 7 7B; -.R TK ۤӐL g}[Cfwqvh;v(;$j~vΈGubP=/|~ o媇D0"16Ya~ U=@6f!3אÁ'ˑ:$\B萰1s m!9\dg\"tpk!1hą!! -YP֑pmkCpu8@qv H\a݂mgL@ aቴdz[s~ӜٲS 5@_̳AS7 R[~d?O3dhq~qSep S70:?h(M1nTİg"ӐmiH8 \А7$rACv4;Jʝ q2 7$qSEİg;|| 50ڸ)ǹ;ňYP^!WiHUJ~:(ȝ Pޞ!o!oj0CB PdH ~HYeH `^ێ"CH/@k> _ff\0oDe1*[iPy!y!y 5/@j^Ӏԯ;}Ҋ X8e= iHHAGCwe3 5"@!+s=Hރy@=rA"oT⢡B"o4#rvWRK Һ JS]e>Ѭ wᯗr3ČT`TuCHhehHGACH PDJRi%~#/gyHyHhH] /B L>ތD>ތ6[-5DW*~&+$rB"+$t-J%ܢERWHW r~H  +@Wԯ~(+q7NH_R/0:  +@_!J\_!dH-JAnQ* JBB W^ P6m1nD /<^./G * mu)&@*ZT墅D:D:`]3&?d][MpPH񶓂}kHK,@Ce{`|Ks'%S c@"ͩn[>rѠ]7͐PRž.d>AnyO:2$d$d$+KO"QVe$ h1$r wrGxmȴ̠uggACm汔D^Tp?d15;\JTЂQfp4؟|аgp| UAM*h/Tx B@:<_-C"D_2$c=`mFcÞэ>o2İtf# %߃ 4P.'* ]E4qOmOzpHw H6q\}>(3?RH4Hb^gs40f he\3UB3:=W HO48&紟q1匄wz>iO@Ä%Dd&6-IkH-PnHԖ' .& ̀  fF %|L%\/^:ewM@HiuHˀt~ء2adNflCcA矄y[D!mSCBg?QwrHL :@?"uHh[(F$t!颭CBтr'D"/T :@ "Ѐ,(~[~xgV 39044y[D> Vw <30ٿPgHgHmJ:$ p| 5]!fŊ({YVw m l(-n^PR͗Tb y4H\<#eΎpD֩Z- :$|| q0 v9_ : u0@: H:]l!o!o!1HO"eu\u85*eT fHlb.< zQH˂tsLA9(w*$1$9i=I*Y P^!}Hhy9ChY?W __4.Z>Ҍɖ.O'52ˊy9#v2$AkOCd?ub?yqNi*? ņ6u ӉTt :PCqPC鄩|Dq^KNȠ5ԉXt":0P<qbxXt"u"=u"v?@$>9rԉԉxR['Et8&5N ;r睠N p+PZ@bL~$u"6ILVqAT Bሸ P,:Hpj(.u„SCqAqA&Yq:ڧXA * B*UTCC hzkK5>HHv~RKjxcAbIcpƒZ yH9R<@Kj <җZ +[=Vx l7Z+}ꥹgX+CsgLO}w'. S~/O7&tX:,C_Z,am{À @Kz^cھ ZjK}5/%?u-h٬-?ԖV[ᅦ P[]+=bIe3 ÎP3:0`{&< @Kzaa3,ߡzЇJ.hˉȇ ^_F\HX F]@6Lux"PErP"a3[m~u8F5]- j]-4Jŭ팋u8B[@6x|_'a ׌Mkȶ95d]bt^CC=k\ԳH {y"1tg4> gI=kAZP^"H%,y :!]-hZZu"GB5dvՂPxR'd^3y*֡:T{HjAymD<ymSmj?CG5$Gu"ޞԉ)u8#G›R@hNHS"CmpԦM|!z/G-FP@6xGR'IP@6!{雹GuF54owZiA!k0 cK!--%Nc:יHu&Ci?CW5 & אl^C6fȫI@C5itQM"!դIiARmtWHIm$ i#Ln.|j]%Gu n@<ܼ|.K޽|]1vuL!veWb] v?(_W8fyu_0*gU UW/_Š 0RO{T"ȇU 4u2)&PWOMT OWip̦ L f` )&]O@>+z;?o;<(i&w8_tPSڜbDoOJ/fZb]rS=Ũ)F9'ӈڜbT KB.fU@ O1M/!| lR1O &<PSXfI!s_ssCiZbt\1y[b.?W?!1=D-(@$rT DBJ ?I$XD"_T {D"G$iHmsDBt#H@HGE$UB%] I@f`T'>ĻP:~So/ 5L@b";&* rk&$hM\5]S%.d6&IH=^߿p^ )&`ހT;x7 1M \Z'Ӵ -iH+G5ZR7" A R`#`# b^.ـrT D"7@$l$u^Qm@V6*GHD>DH:ꠂL/2"$D7D7"JD7 HH$y BRٿU#6 FOCzYP "1TogAީF=,H+B@6ĩą!H%Ht6 U5YB  4B|%!MAۭF!sU(d!s8`23D449"HD7 -M ]Jiǻ۲ , ʇȇ%K%\咅H e OpܸqHn\ĸb|[%. 30"f^H- q[Յ)p@[]  u1@H8HJ\#[bi^n( G"W6P6$\ٜPm! 55@:HC='?,]|{Cup6@mT)Dbp8s{AH j 6@m rm{H9iZo$ U=@a,(V=u;$s8#oӐvDnwHXf:{fwq$vgA! "t48 i|\ېȵ \ې{FTµ j\ېȵ \ېȵM%\HHH9|j\%\nwtEP.tH m4B(:$bC FBPnwH[y*1ٝGBU U=@zΟV?s8#6B1qK }R=M|%ƾvanzg7D.H*7YPپcf$M>9?yR$gAښӐ; q83\ \jwrC";$rS CnTyyGN1: ;@bw嚂.Ц PևDpHDpH7HNѹ~Y넫N: ILIL5d!@ R Ԑuw5ʷub>3o3SEߧh1}ds"OCqD^Dz:Ni5duDi(t";m Yr4dt"v8N'bӉPӐ9lN'bӉ12$lNCpkN f#mgPmӐpt"։t"v80!q8 z6MCNĦqi(309ӐəL4d=|MO'~#:XC!k4 PDЩȴNĻ{:7t:1=}L'奜Ni(։xZ'D4cr!3Z)zuSӐ4d!35@jj; rf_fGub3*gMC^M>L'D4c !Q0'|ᲃ9cΟw.g:ar!3 z1m9\6.t".ȅN'b : BD,tHB bӉXt„NCЁ'_WBD,tBD9< x C";$nDDjl[C6ͭ!֐U|+>XӉӁx['nP#J\!"a}2 p! 3B|:DHu" uE+RWDH䮈D<+o(Ӊ\7t"G$D5tH+RW"qŧ鲞.LD.H∄Msk(FbZֳ_dj&xYO'rD–4J_ K/Q/鄚e='nG Mza"1L;!N H5ԂrDš@ eMt"Ӊx?|?O'<ȝIqrA4헧 *xj\'TPu"׉xj X@qq"{,Ǫ{, X@ V4dyRAU ;GO`gNZP,*p!Ha PC"kJ\h(:1̆ۿFN8DΧiQP/7!q ِ:e֩ [:Ӑ kȆ5$:nnDH[R%["S H $9D"oW5$N"$lbNk(F$ 3H0ĸN:Ο["%["D.H䢉\4 ˁ7rP"['u"['yCfqH DH *. UP@rE"WP$cL4pE-DN:n1(0Ux]r9EB)\N\NUG-H(z" MT>ڮy(x]'vPSUEU`rSE"7U$rSE"s s[9u*5U@jrSE"7U0U$rSE"7U$rSE"oO~i)ZRA HP&T_z|\$bIR';)z5_gz9CCi * T@*FоP.Hh/D"TrAE"T$TP}J\HDH#&c#|jAj(U$  *" T@ڄʝIȝ|j U oBDHDH*BCP  (P$r E"nB7~)EN7ϝ| Wyz@y"'jrDb0O:DjF.4\C&TAď<0#țP$.P$  M( M@ؽb'y"3 ҝH ~DH~D_??lD.䲉& M@l"&l& E"oBP  H5TADHj(|\CP UФ7NDHNDH*=EBS@`~v'dK@D>e\6;RH 5O@j<ySm(j=J$TC= U6 Eb0O3<yҥJ@Z*q4Ȧ NըEt8C4lLHR% QJ Py (H$rD P0G HԼb.M$fțM$rqD"G$T(o6,~ D"H$"-HQC%8"1;r{ g8*hGEL/ (H$rDL0Zf*ȧyitH pg+*]" wEMh"wE@+"1>(h?߅+"=tR/bhA?L}=$thM@Z?G۫DBPDh-H$ЂH-Y`wq; ]Ʌ :@*tt^ʵM%\چDmHRmڦ SctL ScԺcbB -$D,HʂtP<: )0S~'yŧD^!HD˂t蔆K*MT +l嶢S(>› EPP9<(., ( 1r@JΏ4͔{|H R)bE R9֧JDTHRn<$̳FP*[ rl!aFe x\&?sD,H8@R!+T r+y1DTHJ* U*](R!wqH]y(W] (^(R!s+*Ⱥ80yJĠTO$pg|ϯ`]?>o |P\%.ő} ǐȻ;$ ݝoďC"G@ P^!uHSCw(bD"6$BmyHEJ\4"4"4"!hAqNUO%T䪇 U=@zT媧zrCBgymzJ9#R H%PAH8@ RhE.*p!H C7+FC@\UЂ 5B@jM%.6$rqDB p8*B^o8Rq m ݘ+Z!| iH{5@* $]ihoЇmT|A^Wi`,HdRS;x| ;@V)Ƈ 3$ ;  u8yj@m~ (S $fA!"g.*.$ >DcHX&V W0@cW\H>VKAuo;mo+e1"[_!J\_ouWH ~eWW}olWT3L@T P^~Jܔ_HhHw]Q\~i-hl6&=rxsxLc`D}ĽfD` 5E ؓ 5]`L )$)F )F $b?B#Ũ-v Xc̰ffEeK`^vɜl_'ģ 5b i$͈iƛ)KɭH1ҁ`<0+!00fMqi'_ ?T_F![DN (3H6# F[(OB`"&~xe?!omc|1^11c6&!б !`*&6!E 0"VIg[E&nT H,@X=!08`LqՐ h3&.G0B8B  0?`~1QL^! ]xX+Ɔ(D  5`jh4F1Z؀X[0kcFy`>s0q xbc⏿}fjW'x~.E(7@BU2UQ2ZFCj-T[Ń:jtICVhj 8ѐ51RMMo5`%/Ơ%E?|\nxI VȴD1Zh  xI><ڿj& 25qȅ 6鄫Ozhvn4XÍrmQa:'O( }õsA"pHE U@hf+VGC2XATd*UUPYQ..i4$EfrA"$G,(.r$~ȱN9 Nؠ,|}'~:ꀪ u@leUU|Aam= ]:OD<$33%GC3\h0_v҉ola]pCpw|Ң=^~|!@.D>`CGfu"#$FHP<2jH=. B UGRk/DTi )u,@"Y)tB䥒N6L!52@0NĥSd؛׼VMiuM'sxwk*YF NTtQ7!( U7@yĠnus>㢏BBJ :@CtCH{[ jo5>H}NAs,H4΂|q] 7Ÿ$]TIH]Z&6 JO{yD^)!KD0!"oRDkHú: jh5E]'wuBM0k]0c\ցtb:SYjHMA.oT)\ 徆D!˛J\4HH[N:曊!OMj(:OB7Co5$Q+4? ECB4( (b73ܔJ*q*! u/@^b@dsDEDw+@ڋ1^ cHx5C"rГ91yi:44z'18dlIC: HK3yiH P>D>D>D>狄i:nǁ灑vPmSk 6@/銔83ޅa$a$rC"W=$ꢹCB%PA"7wHFN$j7JLh؋c$c$C"oT<@R{9A)nJ hPJ @/ ÖxH_~ HPGЙe@_ą_"1}glv.@˥TJ jjA: H'h3 m$~|cK'6 (/ǛU<@jtxCB <]xHXF <@Z <$T'NAM:i$wt~tdРO j@yM$|P^өOUfԙj@PMeeh-tG뙞O3K5X2G-Yt!r?_Oc{yFkOIb𹗻IX&=b[&!MX%a%%R/y~`Ka<KDl|ٖ׿?mKvۧzy=^GjbyaÄyx"1q0ٯ꧔/)#В2[{2-#/-"2.C$@K$Ka\¯ødxK/K5=hY.>KDcb\Lzp1w!foGʧp1p1y|@+#->r2y8">yU!a`tZNKii@:- H9]LK#1tnOK#OK# 4t@B3HL/hN 9=n 9$ 9$BVR9 _sx؋C qk@6nr ,(oڐ6MA>n H5 '4$ k$ k$ kr͂O|| $(E - EFŠ20CQfTE|t|t5CbhLA>T HP57`H ڀ&U*15`Obs8C0 ʗ0E|Џx  oa1@ڍ B 6ڍʗTb |  ݘEl*Ne0##H#H#H#H#H#*#ڀtDhҲ h7y%H+1@ 6ڏ1؀Alm/ ^ʷݐUb iΜ_Ne 6gAl$9S7gn9$͙ǭۛ3m9!=sm׆bMACljֳu‡GiL4>Ƭnj2h9މAQӐɜ\|;MMiDNC&r6 iH͂LNkU1L4绦E|S4Ij zpw=72?1 iha60#mNC.k>%4#>op}I([sؚT4d!4 ' 0 R ӐiL4$fAb^$FhҌk-t2(WZ74dHIC&MiҌxɞړ 0?l?ɂD,Hɂ]3đ4Z2 !5ӌih5intXA> !ۺh<8GC"?2߱Aq쏤Aq=:|GCDZ:ૡht'mc_ /iᨳhȜEC,_{폣&!3 &cfL+e2 hȆ{X\ҘOzu6wiьyPF4c6! X   پ94kulWC.>~d@4d _] gh<P>/䏛VH'҅/P(^҉xK'7_H$D$Db"^Έ;&;&5q><37irF>31ĽN c3z,]v,FƂDk,HLƂl Jk%k%Hk%k%ZICR+qedR,Ț$ MNMN䂢NXǤ! k%P74#(h̲6҉x3K',66a|k @Nzw /Oi!i鄩U%@N dRLNgL;[3-KWijo҄D\RDDqI*`Ґ-ciH5KAY~fݹ΅NRn u.@kRͲ 1+/ϣV?9ftB$ UO ,#]* .TTRRPK*UTT"HCVr}(.tŠ EN>R}RP W({X ~7wNȜ : u*@TԩN(^ ,b,(nx-$~7R:1=gd p2_+fd4h/QTcC`G岽ɸl'piFRSo:(] Fe;a*3\ h!(hme]R.wPsR0kE %A|yV)DDJ3ND-MQ)&}>*bD4c#P'4Sc?!kz""0Lh1/ɢ&:AlWp(rxL!E E-~Alour, X QRfrR{ *_/b|1?fC*T*޼R`J+OӼ[ ( [K)~Zx*.( c>ƨTvB9""k +K ; |)FK3f[ W@K!]>~Pn>R0k>GtUR4Ũ)FX{m6Ũ)è)Fk- b. MLbal:bRL,]xw. /Ũ|)&KO@=T k\*_ w3NzK1H-t)F$r w\ _hv4c 2|rB",$rB"7-$tVAz**mݰbR ,$bB@[)@-NNh_ }UպYRn_+$[6D9M ,@jYT4y'Ѳ?dZ/T-йk!>[ԷP:CĠ\Lbp.&ʋ+@i!1E:֫ d"fؔSqe", \Tb;uUgwQ ŕå*ȋ+$rR|J' ǐLjƈ~KAdsjhO Ja|c@Ce{ޔK4ÕYs`k[Mf{w*l.M%d:6$6 rv 3@ڡ ʘRB(͐ а?eT}Y2@eTLrĻy#ꆄ\-Fi4H\MC` jjgH'Mѓy- \?!k~?(5$zy?.r\אg] 54?҅!1,?h"v0Dl(r3M 3#1ƀHע aQ f$|_tz 0@ݘ9r_HD1_x1:^ w1@b?A=(@f BBG}yNQRK ,0ZWҾ PX_t?Iq͌ ~sMPnOHDnO*1ٓVe=!g -p{yn B`XR8b v8C/@y+18 0w1Ȓ͌:@ 3ÀԂ3Hj}5 P*||W x|'Pas  R-ZHj\R-ZH*@jBRE=| "@ETٶb܄d0 h7HNqj U@8Tq(H77#Td8SHrqepQDuLElP$f/ -i @/_D^7!J!J=yԐ5\s" -i )(_$_#H3*q1D^Q!!x !@ 9V3UN}S_pza"Z^ʗTbb\F5,@yD>..M5,[h,$6 | K%|<XT:DSHÄ-@&Z`6 B"FbP0[ՖJfWHkXH# ՖcCHYPc*Āt=.[E l`\W!#.$bB`.V/Z^WH+$ RꢼBB˭rCj-0yD^k:%0@f6 R 75@bj/ǵ ;69FB ;@bw.Hz >]x}`HUS>@yD܀!FH= m CB! CuqH6`-!SE7A  A@sR /(a,] Zؠ Bɫ-@>9\D: u>@| B@ ȇKA^`~'stSz!ad$d$d$=03Hg4Hfvy*a2| C"ƐzQH2]eHEjvFdT л9?$s N#ᶪl JL| лYe,(Ɛ]L%Hu!uS _#1$bC@Ү Z/h.@Zoz S$eA4łZoz РFߡIR5FT%t\T¥ [ēo{!MHhH/ `CِsR5j 5B U#@F/= Ubq5 J Tt"b&Gp @  ԐYZXY9VNZлYB qG ՚qo$bD@D<D1-HRAf44p6t~nSL  I wԐ!ZJ!ak [cunV",ݬ@(f%wt8#wG$rwT wD"Ե0(mĻ?jBH8+#CpA&n59f Db0KE,-(I$nJ fi]u:f hWDH ph. 1K RN][tJf4jM3-ȋ:]M3-H҂t7OD"-D:[fS[ Iqj+!fiAig%_}Zo_}L3rDB4ӂ,Yjd҂~2ߍ)%K C_ .hP-hzh|W$y\H"yyV½!x*zTMH>+˞JY?i f+?$r1S 3@`\!:NY 3@!&f`D4.(bMHެD.fHbSg?C"4W~HO%&Cٙ P:{qϡ.@$ޭb Ruos8@ pn Cb=E=qiH:0!"HEYPk*q!19"r H9@Κ/АC 2]H&e`D,H= z 0 8pqHQ4,9< eͥL%L,(0$H )m+{a"޿9]D vp c.f7mHMjiibxJoܴ!1(^(07o ~qH  7fC`hPrHi4ςrCB΂-8+0l9#F"<4~ C"/Pt#;9HHd:w>$rC"V w>@: (F"<$s8C7]oHR܀t7N'\07Mڐȇ5A_ Sn$rC5ሡ~y389*Gb>PSЅ!ý~C@<@}9>PǼǼǼ"4Lv_$ws!H #w C"V 5B0"FH! 5B@ą"m @ RhH%i2iRv C ;@jwk˦;@bwdBFk,HMCnjrSCBM avǛv: 6 RS m3E_1䍙 6f c)3@b,Xܓ~9 (FB P>vih$bB@[6@j\ĸ,(/TXCb/3b\q1 hŘqY.3$ԫH\T>CBʂ13#3#3#f*a|Bs8#w+$?V1Th3&Ѳ?Bg[ .@u!n]^.嚂.鐰7B`Xǐ} vCB|LC/b fAqkrB"-$M%|PVHyDީ!oکGwjHu[RnH;5_РSD,(oΐFbP(_SI5i -HeZUB= LIH'9?I3h$T :eN/:Hu  )@Z) \L=#O=#1lguʧPSЅ!a &zFB|=|= ygnjz8'RE8$D,H: mڦmT 6$ :@Z)b~ظ&am8@qH9?Eۆ 5<@9`C"/ؐs>BPH 6@jxsxm=!..o6yD pH56n Fǭ2S u?@yD䆄U6ys(oΐ3s_y{Dޞ!g*\t~u= ó -tqHz|H|H k*R監!O#Kh8YP^RunruC"W7$ruS W7@!!bH f#Knl0myz#qPvwH=Pq*qqHR [-P[jV ZT孖J\ZHsHsHRA]*} iH.@j^ Bd ]}B.ŸERd}'@wRW }*NT.NT8 -+yy SAhhŻcAR$tDPnP*qaPHARA!Ӷi- $ Or~$&@"M^.ڑnFpifD -垄(+G6DnCHxGp|DxDY.6ѐPA!H ܠDnPHdǠs{BBɂraR &@:n (*Cb/b |L%.T \PJ!a*FU71R~ W)} ܞȧUJ%\JU axfHWYРR?R2$rB"W)$ 0VЅ=! _^l!- '@=JjO~ wo!o!e *$b$b$ /0Ä=rS u10!.H]  u1@ą! qy藗.bR.H] ,]? w1@bi(,Sw1@fqX#T kfQSߐЮ *|^T  7@: H [2KSt>P'Z#9&ub%sH? -#7 =M&|,^dKل߄9yh)hY>yv>LbXO;Lzei^_S̼C1#3#=LHK=hZC/x>Kz_"K;/}%<\Lzr1DŽ/c[-93sCd{6_~/05ch {CZ:La<͗f)>&3rcҋ,c F`GZ>/1sy(ϥ`_.>DŽC΄3魖IXr&=cə/C΄!g‹,SLMz25KY&6?ij>ثw6-[,S}&Cۄ6WZΤLMxԄLe~>Mh Լ؇ijҋ,m#YF%gޡhhyF=|@cC#PDŽ_@-g_9^aj0@K/wa]Z%u.|Xx(˺u /P0Ǽ_cҋ/YF.L~ȇ_E,],&1$rCB}  1]!>H|̂Dv1ۊi"c19sy9C j 6@jjBA<~mr8&tg\!avF=D#>>$އD}HRާ > ճ ; r..dAlEodN%L,H͂eBِȕ U6](lTRe0eszQʦlޕo+lreCBMAlη5we4@Xb}YPbH.~9_\̂~ňdYxJ9I*_WYͨ=Y \Tb&3a u$@HbGB`p$'GҐj\P-ZHj\T´͑,HȂԄ RR 1!7hZ5Gr  &@*L 2arR=Y  & RG$saR aB&@&L`T0Ra¤ &@0!Hɂđ? aR aB"&$T„D.LH0ʄIѓ0y\F@֐lmiFf} !^.k\d l؂dNf5DѠGD/b| qB"'$L8Rq.N1W #@!z(#$T)PGHzDGHzDE!OO] ܕ'3a+]oEorB"W*$L*~ lR$eA_4 l$-/găHYPaHar CBgyY UT?_T?ٟ[aT.eA*[D,(l粅6N~ BBe P>D>Da*HaH O~ 2r? +@WΟɖe?û(@*[t&6NTRRR)ka0> Q_Yҹ`@&N1q q% 2=zHߦGTz(ЎPGHH%.:"$ '@RW$dAG~?'<}~Il  6Hmn+)B 48ǿÐȝr8# :a~[;nPlƆm !@ 7Gt PV'Dj5cSӀcߚU|=V'44~X]Sg:1xc:{ND:1xV jjA jjA@VNHt"UW0uՐԐՂ rA ??^ 参pa:Jo۪Nj5$jT'b'E". u T0AՐ bAՉXPu"T$TP5 Nj(TU'bAEBUC&U'bA T jP.:!T Y㨡I/PG @:a!PX1!+&5dŤ/_j(K0Ԑ JirDBRC2ԐՏQC&t^?㏟G +QCV?jHՏW͐U3 ٪U3P{!!ާ!-5d%T %!vܦzv (u";s8BRS \ȅXr5N.\ȅ\萰QC9\]"BD.tHYPpHDpH~V&t48pN_ORꄍikH΂D,L L<ą!v:i넍ikH ik(75KFQCx['r)>fAckh.m8C3ǜz^%"U~3:l 3@CpY55_`jS=Osk(k5.rfAVj3:1Xܺ3:c7}L%#L`HR+!+Jn u9B \T * `]G2H`Tt`HQ Ȇ57:!`t\C*ZL}N}NsEm>| 9CB P\Mk(3p9rH}NʴMPiwL1Z)&F@1_̅@a* |e'ȅW}L1cѪL15b2_ ^߿1 &30_Կ  PnWH^6쟗2C"V /@ڟ~[w.@: H+3@\^ڕF(Ff=Cİg9q9+^9H ;}Y-iHd˂D,H0@yjͲ,(aF",$ BBTKCS){{Hο1Ql%. S>0oȊu"YNkγ632XMr} }B7keB u,22!+@^jlvt8DYϡ`*Zej61IQ)12!Y$r**Y|Ɩlsƀ^ 0Y&+r :$Q5nHVPcDDLH;*@7 @ZKI ؘȌd` q 1Ú8X +&#bHjt|DhH-P1HǘP^$! 2׸P1!a'PrSkzX@Z>2VHP5H4}tcF96о л (-j @Z$jZؿ2 P&Y]s8 0*4ThRBc@.4rA>eo1! ȵP9CGqq#{!P#4΅dZߏSq?$- {"@ haIXA70iDes(%Vzn7*$7eѵM[z'A֣j$ .A^Fl ;De=ABP1Y%jȀ\R㻀rA;$,21!/;>/΃D^?^+76&!$ĆLH{c$*i/EH4ds ҍ |܄Dek "0ETCH#yB#jj#l P8 ilN*HUʀuzNO P<݋ؖ 5%j[`ĶLH!@ j!fxmn,5L(/ț$$* K2aD>݋JyYbfBZ*yٜA :aBz kWH2!O#v(3$r;3YnvfBy 3@jgvH0zېȽ l (|~QRo$I4s6Fg@ntt Rj(PD 3:kx+(7:$i+8[R䭔[s[)l!FM_W!ш>:s&a3`aa#} 5:@Wj$]FB%Pe$.4YHʛ,$2XH-:0쇬 YOuAhƉ-MH΀\5Z[r]H⇄]`Hr!*~rC"/C"?$LD>/D^!+ PD^!z!cÀr3^ia99kZj'h! :wdZR [q;,lyW\Pd a9l.FBn nCB6@Z6#u @[ P.HD.FA:9rV "۠p#A"FH xHUjb23| mR [  i>lnI'if@y75)LMAfj MAְ)| PMffj j懭/ju-hz-dxeK%d VPe$.lgD:LDm6װ"NAYҙ Dlj*%9Թ)FMA~]+g= +q8)q8isSfxY%/Ps2h=N%bSlx5dH=NAǩDfNl/y6j z|'L%\w%lYAlAݳ9螂tYAԩYkgBԩD,u*H*u jwRgsxL%AgSPYtLóޞv} j &uRg{Z7<)a 3<YHd M/ū^*z@q֗W'YwfRzX-dELd [N +dxZ%hh@f^NAb^&dxZ%hm.@:J\*@ɖL@5/k]*!0)(.T4 jb SWS s2;]* *h 2ASPSY[bk&Ԕl61[ٚ?k|a8Z%LyyWP4n6m7C"V 5<@)HP+fuTB=P3C:~9otMA2CSؚ ASNJ+(0$IiHT 0$*M%* w2@V)Ȫ4y/5_֧yB"7/$*_0$T*$:M%  C0k4fNlH4 d9jY V Iiih,ݢb*f*OK#f*5ܯ PW6'wJDžVL%L%L%0SPSY_ n LK+ƦȖ yx@Z%Teirr=CE PSYf J'U&fêuɭ .@j]ԺuR2 .@j]Ժu 5׊KAMe}ghm]*]* f@JbrBB X*a f0`RY.@j]rB"mF M3+/hE \xY%ffh&LA3h~V>HW~ cԞ Hd RGH PS|9I4ŗ  &RG] 5] >Aw$0Hԑ׳,FdɄdX16P y_OmY2]e}4Mn&mR^FlH̋L ?w޷.)˗41Fi'51!R #@'TO-y}/ ݵC֯oqUc5csPǀd R%r#rA"ЍX 1hWKJhc@:9 s 01cRo+ݸƀM,Eǃ*mͱu+6+`qi\34WZ* UWT"U @*#TFic@ v&r@"E IxnV%D*lΐ6M  qB\(woPj >ǀ\&y*U?UHr *(/iZt FסC?~#nA87 '^RzHm_hjPHBƀ\<xRH `<+D\-\-:Jk AB6;rG"MҦ65M FB%Ā.3H>@"cכT"c@*$IX$&Py,`qZHPѤFJïïF›@qS M*aM G\P1 W@+^X%&KW$W#(^_|||x ^|5|jR&뻸~9:'8DZV=q)ul3zn zN 8ܷlO"oA!oAmA)(ނR mxnRe@nY=԰ŻN*:uCփN*:* U4@h& ]hx079gNz05'dwv6ቦ9R6ۯ9w `lNAd=țm) =N'wz{8M}{8X(}›s<ٱ'{^a{N`{ΙwWw~8ڝ 9393mN oxC9S&{'MvЃɞA㜟zZSdy:rSl.Yd?dN?^t~P:C<Ӈx:T8̔64,MvIszeCL+b SМz*䣑9:G!ǜQ{>{09?/A3Sdws0,_t sJPzkN)_`POѣM>2ӥdUG1Kvoɮp-y-)y O1Kx]N}.)%;AW%/r|<ʗstKQd7{.圙)rTJLJvӪ%-9JsQd}ZL; Zw.Y|,)"b>%<Ҕ-k9}0ҝ+kOHxfs iH3@ͦeP!e -I4͚if|vֹ9F*qlGٜV9Oَo'дqW%ѴqX%Ѵq6hV?]OgyOgs?=7ɽ^K;@͔^ D49O۝J>j݋>?\f zͩ%ҢπDz VHhH锲]بBB=@{Mgsݵw{ݞnP!oa!}6Т/j|P˞@^!EC"߷2^g@: H<E*@:l@> f̀lpt2ҚcDӹYCl34 灴L{PtN[lnIjb$.'#/'SrSA1Wďąd$d$t Pj )d@j*t ȉ 0}@nlG (@T'{Gw1na2N؜Cu a$ III46P0 @7@f`:uR 5ýD4LHPwWVWP0njz I>xe @ԮP9Ӭb_{aj ߖ: q'Q1 @: H.I%)@:k@.'TNrD.'HR9rb@ 0*'q\볹D>iRmdF'pM ݑ2 Ct @#>(߱N"E"_B"$mj||A[T"{TFA0N!B f7 zU؟VGA= ꘐ ݍJĪ(ȺݍJ4vc9mces/^Q RQPl7*؍l{1XmV.4փ(ȄFA&4 *c'*0ktBc}:]csnT"aTFAXٍvf7 FA•SDڍndv (HF1f7nv**` S5[^GA (*x5SD,A*l\#_tFH)(V#H%b5RXTnF 5RLdj Q#*/D  &@J+oy*r{Jdj$ RAr2 \UKɽ ƫln/\UxC= w+@6\)VT (6_ 3(0jPԠ5kקM]oU 5(@jP' iUP.MFB[/$ېXBB*$|TsRH5ǀ\sRk c@9Ts嚃D9HRc@4 0 dS 21n;j߶j@9rA"iEBGZD<Ҫ*@T   @qkjC안[UB=ɀ _4y$@6Ҫ U#@ZR2 yHyiH5V;1 @*3TfiHM*m ȇPd xF%ff$R -PHHtFRL($\L^'&֓{Mٝ9H4!TP'&s1 y3D.'Hh3u}G,?Q45 ;U63ԭX_?@uXu [f`: ȭйuL#ֻbwS jD h|U%V0[yDnHu(EPSXO2 {$ Uͬйuߑ)8;zrUPoc9m#'.= *fbM%yD\ (w#F: u@0&vU rvH *Ȇ]c@0aØh RSb@LsSq_s7bAWk$sD9Kx 5@b6&Ȍ  j6l x8V%ͱ޷kxV%yXP1 .$|y\BP3ks(9j!i͓O{(BB u f8zVԭ[j ùR!a&EB @.JĻI++yQDc"g&IY@M7d=1? xy%rCB} P>Ck$:93WB P.gHd\̐P1dˁ:> .Db[w1@b K@_tJN)Y@U`ԫ Ƚ 9/Hd!T;6Y@dYrA% ,0.Y^b.XHd㲠JTܴiH ˕5bes;*Vu;W, ZѢ=ԥi 5H@jL$~e2 %ja|ɮs(;i{ڄj w5 5%0jJ!Pmk6!d@MT6R*TT ȅ  *@Md}8nWԮ]ٕ EB8*$ Yd0> H}йٿPSt@6QWLzZu*GDVL MrmB"&$"^p($rBBʀ.+;EH;EhH PPHöHCЅa[$a[$xf-ZI;|| *@*TTiY ]q($ZZ$TH- - *@)YN6R F*@yYD(!#qa| [^P^V!;$-$0IDnKH䓴H-R[ W'@NTeyYI*r"Gt*SAX$~H\EBa9~rB"_22fM7{BF\!7WH`7Wn\2H5 P3/k})ĕY$^9ESVٜB*@_e -e*Z\E hQ u+@:V HjAٿ\SD_/HH[_E A." .'sr1k\!]0.*hT2A3 CH L#h(EB̀|.P^YowߒWr'3dtHn) P.[H䲅Ȗȅ!]_?6ClH +@: HtE7QtH u%@b 5"r# H7| 5"OdEHB"E"EiZ%5.JHq@*\(ۈ+&##~./Md}hl#-#qa2 -lY>Z@ʀ.(R!#JH PH- Z -i\ +] B"/P ']k&$f#dBGB tFF %@u !CD67LHP9^K4ʗ"j(@/F9^/FT PDIH'= fh/  5(02z+$ԭ[RNv PN!SHh;1(A̠ܠȗ X2 Dh-$T0w]'$L]RNΑ{p#`Hh H% {B"ﺐPq!uyJׅDu! \B  3@*fbH f/4ZH|čp2He\e 9O9@&s`rC"9$a$a#qaDBB@>N2eC@e} \ِ Pނ!-\̌1CB P.fH-!bH̀.li!yׅ 3@*fmiYPK%W6@lTQe3 S6guҮ Z벾/t]FBׅv]벞lN #쌄 €rC"o6ˀ.'qsD{.0ٜYʲ9RloFA4fsf.\0@!f(6;  c$T5E nvzZ/fDS<5:ͳ^5Py6g[3$5E > Ⱥ10z&vHa3 \H4Bg}$3!E\ȅHʅ\h*4k436h45l8$@$r D"@#n}#浛vSn 2SٝdvHNAfw 2SPlw*۝Jv!v ;)H:ճ%^VP f9ȅIfSL}6e5gq6 H'A)ȅtYA9J$^p6ij7kЙ9):ޟ:>Tq8m&mNL2[ٝvvg=U^ٝdvHk7Y s8)NAp1RmSv]flNO2DlwHvM;gs W=K4g}D<!8DDDl*[JVOA7qVy܉S OAD tjx3!+dN,o Jq J=NdeJȔbruC"W7$Nѹ md-SPcH>.N1,J]Jj,i,0emBOY  :)kYF۬mfoGp(FB)Ⱥ8M%Dۜܶ VrmH h T Hwd홂rC"W0$TR3|HZ%0SL`H99xPZ%L  30*gTrD.gF PܑDܑj 6@qDބ5a 53ʵ \ېPm3 6~ӴZLR9$r=ABL$f@m} 3@Me}8Y.r9frH  3 M&O&+*0[9%6T2Іʀ$dBʘJXC!D.MH4YUrOBlb# T"^ S2'Yoֻ+@J䞄D<Mwexri2ʘJ҄D.MH4?]/d$\4Rip"LNnǺ.00 „Ĺ0++&(7!$B"7!$̄&-)HDŽyH5PAY?J羃Dbf}݈nB9GL!h5}3jr&3bBH*+#H PHHh\L&7S\h%ܑ5=cJυ\\F… P<jOyeP*e@RjzTJW U)@֫\4esFߖ&YN5̸ &dVfzu10bm4C fH)] Pb^p1$j\.b5o bD.fHЅ>뗭+} h*2H6@ٜV.s 5;@jve$ 5;2?ki|x u>@|<ɝOCBЄ ȝP> >D<@.H4hs.CFmҴf6mѐ0ɌDӚ\QC"WhHcH؞ H46h}@:l@yTʻ1$rCT550 CBP}HF$3 ^ܼτ |^2ni(/E - ȋ/@7=@V|3\ȥ :OD[H x.uHhH-ru(#!gBnLDnFQ7z;ls iHm  m  6ZiH5 jj40 3BB5 j m B5Z`F *% *de0[ u%@[ #2=M/VH䮄De|K%tـ| u%@[=2!1";G0ap Vb z @:a H*r؍)w֧(W$DuLHƀ:ޒ @Vbʷh&mnIUjT| R1 3H!.H4]eTOQs:HĪca볽D_ձ>$v B[rA"w$,$t jub}P[Yk @-Hj ݹSLN ; = @#^wPFBDA! ^HyCX.N_ |g hͽk i 0)t+ NR @wvHEJyXqLBBPy%e$\O]0@$ BB-ЀQ H-Z'X @@jW 4!wMtLPcvv  5;'%$^| | - 5Oo!!|dg D.H6W9XtBj,0bv&߬5 k,@Zc25FB"/#(ﴐ /@_2 odٿf\O;-@q!j\ׇq@6p8,bĄ~I1 , Ms~ڃh%|#.F_%~ obrp1A/;Lzii҃Lesz9},Mvأ&$1-6q'iikLKIp.#q45f8|(eb&=3U 39b&A̜b҃L#_vSȗ%|SKxr~q `\vWzFqIO4KhKxq ?E2@ӸdAt0.=Ӹȗ-ɒvz0.a~ q/ri\%=,ed %MM{Qd9:Ӄ@gl4NB' qP=5I1㙪GzNvJ t:  vJ O οA 4%PxK vJS8=H  dJSoփ:8H'r@i~;S^JR\Qx؃8 1-RzS)J)=WzHM~Hi)|"tJ)ͰJذdwփ2lYA2lZlSm)|m˰auYA ;o*L>[ﵛ|9oٝ*ވC"߈Sx#N%ҍ8hjl3v碑йh2dڄgU¦AtZAչh\l.ZA2mMCҶӶǧtNNuvj`A:tu6אke:ɔbdȵfblNA6e V)dԀtZA6K ےSP3>mdƧ/O_CԌO[ҍOO+HƧM&*!ӊivᬷ i7T"xCx^xLY+Ʀ$S&V V+fo;VxZ%lZA6X  5l|ZAJ*aӀl|A~߾~XQ!qa^NN@ : u2@ 02 3!1/Rd;j 2f-60UuGMAWlGMATTRX (0jQ~8&J4TjQ(($}3RLcQbQNNJe}̮T3 ƯO'_1S -'jz|L%}3T"0$r CB4ɩi!kar CB4LAn^ļo邆!(9S w2s 0sN@dHN8 4$.y!qn^&,ٜ#7/$m4E7e=Y4WT+݈͉DOtҐ5ŨR1$bm{̀Z1<_eSŀ. [rKn %75Knvtn\FPH xM%6P3 w1@b6TB̄l  /2xGM%T;j*!e/2c;j ɲna~Y/{m 2(kSFlHˀtMAq!b\NH b%7hl(4$rKCB-̀.X?_?4 R.H] ZD׏Y[ 4@ji5fsߍYB%(k4>\srZ5;OHy18|&$gBjvf1;H4fgyź.eH4gssS쬇zX3;jd $ьɜ 5f= ʆDlHhs(oΌ) 喆X 13!u128^3!/@~Y4-;CdĸL(,$ F_F/5:_6 ]uYoϻ.@hY_ĭLHʄ2 '+F]8 LEPhYX (6es ('P2 y6Zįld*[ٲ>g-0"[u1/; 5/rH[0@y  -ryY4Z|PW|Y"fuCB[0@ڂ[0$\h[0$Ν%DМ\B1@y? ]ǐ[3!4jzKdr'3d 5/@b^&$eBWd'Rۈ9<02.Q2.Q2<o F`Ԫ F`ԩ &/{2he0PPg2U&iz7*LƗ#`d=ڒbԏ i>?F@UɓqS2%jdb32x#ܰx">s#Q`I`b0Xވn,#¢\Q@S*YeXn,W0qQL |3eLɻ##`b gBqdL\ $o@0F@{"ɧu@>02L,2+ \ 8/@p>km< k)^@b?WMhi`Y^#c0W֕hwd09L9~^`Uh &πꌁ46c9Ɍ5B#9+4c(\w Fm`Tv F\G1j7rɸhd02`t6`P< Fj"і`7Q̹Pm J `T* FB1j<H9izXs'+$1*$A@ V>1 ?'h'A&D҄vFS9HYNZq@BB= PX  $$T5+Qփ\(h.MdsMB@ Pn_FB L&!m m ݜDR(77 U.@\Tyg]P2$5ZҚP^!abf0ff&AHQ9 Z] ʚjtlblE Rk 5ö֏5\|e| |%+ n 2uSLi)T"50[SٚdHWd吂ZzHAd R's4,h/'ST v2hvlѴI6׈m T"5mM%R[Sd ))(v2'oUª)Y7 3/HtR[R SiZL%( \T"U֬aDnH5"&u N% SL<Njn/(ݜRUP܁D,u*KJRD.u*!RgB9S75! GwUl{J)(8$rSxRSUl}AVl7[ L%=V,ϸ9[t5JAyDl^*Jf^ 3/f^ 2R̼dHKAf^ 2RPl^*J慄̼d楠x3}%RPl^*a(UtZWb S 0)(0HuȧuU29Ld\0AXTMAT"v2$IYTj65[Si 4$:[sx5n_^6H4X q2/%$D|%nJ9yn/MDqHجDݜDzC<lN{ D\ΩDZΩ +KY_>3<j !L6Fږnq=P3l9He$$gBjxǤgB֭)H=΀:"uHRD.u6RH*u`rCBJ :@*uT ȥJ :@!K :w-׶T"T"A$T (TB*8 u?@!!(6<JX 5<rjx N%lhZA 7<@!(7<$i45r3:__Z$LEFm u?~H imH uCևCB _CB bx&R ]:$bC :$rC":$H\;<$rC"v?9҉k\!(w?$CHtU  B@"~H" SDʫ>$ VP$WD#qAE4CB =@"a"&/D>""+"""+"""+H䊈D"K@$r_D"E#qA$F\FP 73I@I"Lvۜ\A@Zjr *HV:ƹcUimNLv[">e9‰D"" } OK\PQ$TER* HUԀ\ER(/ [-" mi#<"h@ G0<"HP.H<# G@2EwAPyh@.ryDBP.H<H< G'anD.Hh$.~ʣO"F@MPnH&$ 5IwT"7I$$-"y:& uLHcR[D$t_[D$ rτڧ ‰@.H‰D.Hi$.'p"5΅d18 77I@I"$jtNȣjh@"} E@/""/"p_"/"WHh(E#qaR<"G?&i$.$ "h8/"Hh8  V(B$r+D" 7>HC@ȧ\ȻB$^ËC@sݳ?hqH P"w+Z xnxH䆇DnxF"SFlє~Hr3!{TRg@{TuyD"o A@*T"D.HЅqr$qrr+DBZ! 0+4B@jJ8|h Br+XMdVh.("89/ E@/"e#lDB89 Dgx J FmۈaUo3!=@ZJ :D"Z_b+]'tex\ݐu3!51o1o@!ka`T2 30@: 1/3~ae@n^޷}_0$ Fa zF5 Pa֣wf=vԼy)l!"[&$~ yS5u`tdۀ|dY(@E![E!!NqqdF|P.NHd$\ yDTHhH' +ͬ '@*NԸ)_Ɛ '@8k@N:m@^ 0$k$:$b#B oÐhz R9D\C\5D\C,TD_X+'e \Т̀ܯ_j淭(-$DLHʀ̯L(V*DLH- X12!((auJH vkԢ ,\(ڐТ n \zD^!uNCB] .L\iQ#!l\CJ3$jQԢ5=iEVʀܯ%$=| L^~!-#-#- sHЙPĹ99  :@&tB(:$rC":$TBD.tF{5@p&(6$!f$DL([6^R9!șrf$LLHWHt20CL&W0#x | WC"Ր{5$d#qa: -Y)٬`6oܐMHM [$rfBګ7ӌą4$n fBu!HaED}j| P޸!r(l܀H̀. $#oH!: 19>D޸!7nH䦆*Qer>HGy{gdeW0@`T2ZC| L>jH 3@t2Z* P>ʙuLH P>jd#a>fr(/ِВ P.gHҒ̀r'fلR'Sk/9j[z5iu YAV)ȜLA6 m K%Td*aNTœLAd L% ȝLAb 4f9g L%JU̼Jb^N.a 00a͝L%]2]299M4+(0$^M%^M%L$fBDXqD^DeDn*a ̐ȫ40uSg j3CLAޞ|4Z)(.T".TBm~|Jg$e4h{HR{Ѕ4H7T .T".TA6M9g=UWYM[\C|ф\m(9T"6u 6 Wp*al:ݳZ)f'\庇Up +8$SUp T8Ӫ5@Z)(|VuS kH6ň)H5YMdGcNfB!ioNCs25.8>ls 4@q.h^Fά__05$dSP#g'M@$75#љTJ] 4fs 6@qpPp.B:Sīp*aSxPZ%T]JٜQ=}`rC">$rC">${xM%7ȍ 5B@jtȍȍ<2PgփKr*!TzĹ6_S G@8":?ŝJ8d+(^S G@8"(G#j> T͞J+:\qto ?wo @}ѽ B 㾞x^z^7Wɽ쮟ۅZG]y~9rV_ܯFM[d+߸{[ݑ{Sj{wKz'i'i>^q n?j=uޤ:m9'w럄5mK~ik/39tK@ͿLJyͿŇ/{| Qq#6;}zwO|_>|ؑoM?ß/ϙß>ßS??9/@=e?|R?g?=?ƒ8 W+҃Lc^cJ[A]9 %0|թ1&C)3NGqJ#{G!_almzCN19tPM!t}4|ْ9 ZDFI{tO*G}FR#5j@Sp4GGzKӁAƒ|iF>DiA·l[x!pS/AD2IF$Pd$.T$HhK{! ڜJW#_I_|R|RH\؅BB@p,: HciH OJD\ 7/HHHh9c@~JA".jȷhkX}c0> (mȫ$oI![RHtR6A"_B"sDe=7<1|lfs:Ck@>C k@o ԂןWBZZ$~t-fta|H+xmOH%ye$ԴQW+n/(ohhr )A''$ B"EB'e@:k@nCn(E BB   O -] $T  @*@]Mw֛v5j(W#$b5B@|p|v|| $@Ii]#H J ût~׀:;> #H P.@Hbw u0׋5 'qr  `1`@j6l @: Hŀ_v U@: H-X\Lb .H'|~(hoYfҀQnH u ?LHt5^رN"w $t: 5eizZBB!@* $,򄮔EHAX@"/h"k[/y s 0-[B" $r@"pr U܃D߃D#6}9BB}P^ @*'% ܅,BBƀae]sds9B¼z:!@b7 Ѩ5~H\臐PdF+!@y%D^ !WBF+!@ (!)!CHp=CGTyBz p\@R -]$Kze ܈87"Q d@*A`r B" $r B"_cBB6GH%J9B"oț##Nt P!F(7"$J #P !WB䮄VBWBH #@q񃀺 u%@y񃄊uKU[r(/~P?F[~.s +@yD؜D؜Dke$r'iN q2Ř)ȜLAd~Q 4?K%&|W%蕰)(UxW%?*?*J)MA]P7HM%buSXT buSxW%9_0Sy)(8=N%bST#D$hlWAD,h*aXАPAS -핰*IAR}=H}Fgk6hlE)(4ASL<ڋښҖJLJDnHnNs6,, O%bCB OADlx*JĆVsҚKAt)}%Υdl}An u6qR :uOƥNA&u 2 =N%bS,2͖ )(E O1Dlx*JĆJ~D$BP%b+DBPAf +4fPzKf&J{2L1J*aV UPAf P% if4+RZ)H!䊈Vp 2+TYuSn MA!qA}:2Hu?uH\=$rCBu d R3 mdruCB /z't㐈=㐰!^ m PnkHEJ\ʲ S7qud [3![R *Ӭo Nf$nM%nM%嶆D<ޫ"6f=Ue={hShެ+Ⱥ5@ V +H P.hHHٟ5)+Hl̈́DLHLA4 k$ bٲ>N.[^\FǾ ZH4esF|WYOUikhtXT99lcHyB^MA`lt#gcA٤lXAq! >Yr9ș Fla3 MAָe:F`6װQe٨2|TY%QeGU"1$>ŜJŜ  1@ܑv>fkrș c!f@yV)<NAY_3@*gTŕJĕJv@_P6?Z7Jwl.2Hd΋!y6Ik)肿!o5ui 5;P!A/ hE -P|!aBBE  [S99giH% -6ڐy(/K,$9gPO{札GwiH-@hR57ZFyNZc}y#6dwP4c0j?1UQ1- &#C ^#3gzmP1+#㛹;F ehm y\fx"1k-cYb#>c0yk6F 7#bc0\kZRp1UɍBc!ccπQ1- F{)ir.ҔRc0 L31l=h30l=E3/l'ka2Qy1]@.F 7πOb0&5&πܬA25 i#7^]wQ iw)Eg[Ӳ܊hed0*#W@( 6 Fɧr@|&#F@%`dt z+#za0j˅+# ^aD+lOqA1a/ F`. &.n?3' @ oI;IHRdF5zȀM\e]\f U@ZʷȷP1 HH., !jz HJ: "@V{fzƀQ5 ZLɄԎ PGH RC+AU@ڹ  5 @@r29 1"[r=zHWW0Txcv 0Hh ] $b B 6͡ԈSF*+!7HXsF +o @R(l;$r B</@:t{Ƚ{ȽHR'TuЅ)T${ҶP:H;R1 [DHKhg(_N"om׼׼ąT$ԕ+V葓;j\rW2J 1"gMV¬))JK.NTg)+RWtJ ԕ+]H\h{кPD/Y(@jQ&($rB"($rB"($r2nQԢES@ RW2 i9(7"$ԈFD^!tBj!0!H%P.AHGVEL% @*A( $TSH*\DY܈WwWwPW$ #?dW?6v#@ҎJ !wDHhGH%J @*AH$ ^h̻k䮄'dBzd2bD&K*A2 T* B"nhVo.!qGd.tDHyGvDt/PR#4FnlDnCH6d$m5L\#$$ԓ5ӭ6[BB  5(@A!ae|Hxsț#YݠDcP6 ܠB"A\\B VO\^Q)I]Ivq!e@^;Yj'0Z;R{o['֟P[;Yr;Lky%aovlN!c@qYUUփxU(7.$|_NNohfzY{?tґ\@:k@.YTdRH%ˀ.RHH  P^; q@n\HqRøi2*@U̫Wʽ *@Uta9|| q dR Jk'#a^>y{|}ZuׯoIo o׫rx| ?o}Pgyx8o_ +G4t}5}z5n?>\vu_=TJ?|uw9}}HL?I{?>S.wy{S?_Wxu-ׯ߷k-~{{<?^czn[;@'|oEdߚ?&u;qSkw~#㟑g?dzyM?AП_^aSoϿ}͟v>|G~иn}g~>ރM6wv+yo_o۟~<ǷG8>x9/|}Zߩ-xn'uw+p68|>WwYg}<~yY⽾Nog?;f=?v݁~=~Qw@]]P_!'m~ y{ =IgރޜtOBc{W=7a֧Wp| O<ިFww7S?fǿ(? ݻ|_ N䟏}>|IOE[?|/['/e'_.{E=^ w//wCrz=O?y v}bXj1ƆKC!un? LJEIy0 l4 V:q\'9<Q_y^p'O"<SI> V݈彖dv rVDy` Ɉ^HM"]ΐS sG-lh倱&"lGtp8Z22V# !5zPWEd= 9(KrR%zwY"2 F̉GYKFMBHԜGA$6 5DMݢRF9˖rY7_K괆Oɍu:Zq[;q`٧f6XKvl4ɎCVvƞOf~.پmЌ RH+25bi;5iu`?."txmѿ;յ=?7pOY_IҖ2pםȹSE1.-J Sa ?mcr^i`G1heLmM1J $jYB_VYq$l~AI^ѥvܝZ޳&(QSϟwYt3ڕvmB憍t5uu8TnZAv:68Wl$P[<}US "ѯ 1Ҿ8lUbme#Nendstream endobj 610 0 obj << /Filter /FlateDecode /Length 418 >> stream x]AN0E9EnԱǭ .:ʂ4 waUz==qw|iw/9K;˸u˥=yi|~6a}^Ke<|ݫzy,_6,t7M)wui-u}X*эcDW9Ub{ѕ@Y KԨ. h'> TKz$2̌( {!< (3{ #W*TX"LQpR)T%P% 2+L"h5 <~p1z!)U`#By^C"S* 1 ki8Ri8i?!/qfzߖ@Y9gTߎ#&5'cyVƽwm+Ex^y)rW .endstream endobj 611 0 obj << /Filter /FlateDecode /Length 1814 >> stream xXo5~b%!xf@I<Bd˅񮽶7}y) |g˛.0vsYG Tn|1n{%5zM R !PIb?ikf꺏/\_ #V⛫|se(~_ff}뗋ųd7黅wZF]PzKX3`Pz!ewvI"K%d/|甓:.E9]xbyl`g ѢT3[i8 &xlIrR\Zj ȈAJjbs$bˊd%Q-R^K[sYe oz8|bRa;r#3:C Hķ*;ƴ9rqW u.ʴMZHښ*-r+Ljʛ\Vڤ߱e6Z[3Y2mr|#Idݣ%},ӓ:ZwmehMJQt8ad84mCYOJ5fˊ(jPѲ0Dؚ*-exY Xz**'lQemW|Y?Y0ՀǦj`?7#Yjk)٠5I:4澃g3WB'IҼNhGMk;U@i*$ht*RJF@V{.NR1k(ۋ-rŅl3f4kwN UiX ~?A 2{~֦ vcx#.؅{ \>x1bTɻ87|Gj*(6gF/8J ݞ2?OP7rct;>ۙ]:]\_02FW=o^vAı|AVl~0ʹ+e bsI'fۜ]dk3{\xuc; 9|~6p XpIJ!n׵Fxw:n23:fz(i}ІC ]}wVUˑ% h}_{D*r -2Iٕ$(_ͬqUS%0e'ǿ'u>D k_|ٺY֖ *\T{FO>r [V;JxvT8q\!0t5n/7ß8߀U a55Ds*{ZiclY-̼Ş۞,Uln ;"*k ybljR^*[j eqzs0NZ?,SK47:+1?n2aO?Ơ'u4KXLs9ED6:TFeo"C&Z̅&EM ցadž=lv̘n8KAqtC-bC:fZ|*ՄQMCT8M"4b Cd)B⾔)єrҶ镳J> stream x]Mn0'RMɢU`L"Y}oHCc1S//i}ga5rq*Sctm:ϒK,o5W5ًҦw.NuO<>^ }N0=wwm} @-N%Pn% T&*@řz@ThK@;j 4Qjf@236P*([;t i*Tu1\~ Aق&DoóVpA-=HRкhEG ͉6(ve A ]@s@1j;&Ʊ"9ek6jZ8_U%(~ψendstream endobj 613 0 obj << /Filter /FlateDecode /Length 384 >> stream x]n0D|{H/%VUc*1C3KC;c:_^.y}gqÚn}Ɣ3^ίҸ[wMՇ8(C-]LkSqpP<^я vxǰ˛Dao`1x 16G *`GDTHVM4* M 82A&-MZ8ҕ6,m H)zr4cC rdhR0Dt&iD iD553E]x4ѯcPP!^tk=.a2=5"q%X^rV{VP #'endstream endobj 614 0 obj << /Filter /FlateDecode /Length 202 >> stream x3532Q0P0U5T01C.=C ɹ\ Ɩ`A3 u rN\ %E\@\@U\N \.@Cc݀}on.}ܼb;;.O;(|0o^K/W~Zݯov~މ7un:ͣ#M@mendstream endobj 615 0 obj << /Filter /FlateDecode /Length 249 >> stream x3532Q0P0VҦ && )\z@Q 1s L f@1u%<=}JJSÁ*=ʸ ]r;;66 @ܼb;;.O68Q8T%uR^ڮ2ɗwݭu9 bK߈ef}լof'>d_ K ([x Pæ.=̽PbK61q%&.WO@.1[endstream endobj 616 0 obj << /Filter /FlateDecode /Length 174 >> stream x3532Q0PbS3#C.=C a\Bc3 Paa7000177)qU()*M*w pV0w˥{+esJsZ<]lH_K.T)<(k  B @endstream endobj 617 0 obj << /Filter /FlateDecode /Length 189 >> stream x3532Q0P0bSC.=a\B  Paĺ@Ɔ %N\ %E\@\@\N \.@c݀}o]s~Nin^1Pڂ44_8Tur&{> stream x3532Q0P0W5T01Q01UH1230 !U`lfT01́X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[ɖ{ U,__UjD|!z 6]{Tl{~x6f֮OZa ZCendstream endobj 619 0 obj << /Filter /FlateDecode /Length 181 >> stream x3532Q0P0R5T01Q05UH1230 !U`bhT052X$sU()*M*w pVr\r;;66@\9y@-vv\. j tԫL?Y?_׷>l٦ͣc w@endstream endobj 620 0 obj << /Filter /FlateDecode /Length 192 >> stream x3532Q0P04WеP01V0TH1230!U`djT077`I'O.}O_T.pJ.}2.}gC.}h\nn@n.P9?47ΎEAmDkӦ5]q[+ߓC~_ }Lendstream endobj 621 0 obj << /Filter /FlateDecode /Length 193 >> stream x3532Q0PPеP06Q0TH1230 !U`djT072,XD<=}JJSÁ = ]r;;66 @ܼb;;.O72=j|;~} { X~ :nױ@T4TmCB &Fendstream endobj 622 0 obj << /Filter /FlateDecode /Length 206 >> stream x3532Q0P0bs3CC.=C a\B Paĺ@@`ddnRɥPRTʥTϥT̥\fr;;66 @ܼb;;.Oj \3}‹ݿ>~o__Vb^SJS .WO@.Nendstream endobj 623 0 obj << /Filter /FlateDecode /Length 213 >> stream x3532Q0P0bS3CC.=a\B  Pº@@`ddnRɥPRTʥTϥT̥\fr;;66 @ܼb;;.Oܾ[~Ffoz>-sww{][G\U6S! cWendstream endobj 624 0 obj << /Filter /FlateDecode /Length 215 >> stream x3532Q0P0U5T05T01UH1230 !U4 * XɓKW4K?KK)YK%hh,`c ͥSW bg颠ЋEF&_oǽJ=1PV I,𢆺/Ex,NՊ-mHkH`p`rTDNendstream endobj 625 0 obj << /Filter /FlateDecode /Length 219 >> stream x]n @|%*_Km?@TJM٦amNsN>p1PݫG%e5&ӛ+?5%`l}ABC+[[qTǾc0_K+X#aM 8`츰̴zyie@0V:KgEL%> stream xZKy '~?bıc8,-Jfƚzf6+f7rGZ9CXXǿvQśo.xZ?mqXPjyE005FּVHG%+%aLۅ2khC܁r\=%\=eB98P2.x6)u䪜 \)_L=!9MnQaӠãbB T=<T7M)a-y R( 3\B^0W9W@"+RF\Sʹ"eeQ2HqE3KcEԆrR99b5!)Y͖VE/^x19f{km L|'.|[Bb6#*YK c*&jhA_Q^ Ч%:~خJ`-/V>zɃR|̒g/tme^#e3GIU}B1֑K@I5"%VXϧAz*_X\h9Y ȸB~X1|0a*H\$\ƹDIƹDIRs]юֹDƙ( 3ԐpS@&HɌe HPU=^PUi&lU eXlsN4 GJr l. %_ŪQKAs< 4!P2akʛ6fȅku}<J N=xL8@e^/xZ򚡹ڲٴ7Ofq}[@1O)?`Fʔ޶/@j&ŽH$]xHf1x|(Bn'76`^R~x2NWmrIVB3!9W_-+ť XCdxh[@`iqnFb1&h gR`$}1/eY ݽ3]Z;D*l*6e̔tlv9EҊxJ7La>iJO'x޶&A{ߵӺ@*<1Dr)g^"O39&dSp'->O̪REwo_h /cFd/y8ӿ#"]Li3:˱ن7MΖ7"ek%TYW-\>}\5X=)4\MQ \-ҩDVB7JQf`$Js6XuCh2ml> +1+D GQQ̦wn.s(P(rSq@<ҰԠ9S7@5ޡv0\QsI}YUMRtί"s]r΄I]p̷/Ď{h |󳣣y-*Щ3:|xDB-"іE-_nd=Qrj𸮥#a~I- Dٚ? 2gQ2hqQتˆQ]aMPq3iH%:e?2Vi+Rpz:`:T<:4]B&\;crcj^`5*av`d/BC@23nkgO܉d- dx7-_f]ߝMO,~gwP~b^3uFڗh(>(Py^j:UDayjwC.s;GMlCmyQ&bD!n&-$2T;endstream endobj 627 0 obj << /Filter /FlateDecode /Length 2529 >> stream xZIґU>t ;UrH*`ftɞqx|x؋8REJs`/Ὧn+1/?zpDiYm]O.'iz_q'^k䖅\pُͶ,[ܙsXsm6U!x)U58{nei7[gbDWN '` r8m]t;1&[W\T\01kk$*.ʏ4%?*duiFa +p y] ˢm-YϜn|β`Vy XvW0e0ϝnXLRt>X~-ݡ QaФt-Z&BGQ{ŕC7-#福fxgX[.$ܭN~ẉbOxr/ؾ%O)+v\n.Pu -Q&8E%Wk'wyus)[-7zݡ?5<0$q[NEد!S%i k,#$,i͹F9719ۢipsY[qo#~Ԑi\١e\uv~ DhGy8#M*7=b\*@8/Z )ƾ=#7 x~S`"Y>52NbæɯK[=]mWգm !͍ )SI7NUv=vK[fw<Ԣdc]^djOupt\~4h8B%U^+FGh8ͬڨiwAH4a`)4f۷+56ݱ+icjF1x%=jMkZ$C8s. +dZ(XN1t4.R`/r,W0BS9ug,v(Vr$fiH.ޓKgH@- N '=1 PDA;P@nq)§|"z},‚gطcӬy[^^TE?SKo,B9i?RUHʨ,G4jzմ2p5dvd1LⲋU!y"9U[1:T{15L9:zX-ƞRIGr!\H5K̔O9gI/ȓ\ A,TB:`Dk ķa{:<Mm[ݺ 촏.#˃uP)49ukmxؓQs&fYxM 8L;* uyXmyBKaJ-,ߡ^5jISwO)nM~l<'ԫqhۗl# _H4hZB}&RZh'DZ|R@IKsB1"QVW"牵fMxI>*75Qb@Āh㋵"{_@xh0xdP9clu_aQDosdJ*?b_oR3=.-*'vdQ^"-o3=,/RU?~endstream endobj 628 0 obj << /Filter /FlateDecode /Length 3023 >> stream xZoܸqr ['C4Eh rA^˶ZGڭm;3$X H΋3!<<ǿѨM;73No gX,,s\'L=?[Ϙr_gLqήf/NySVEo*sY}\ k3=؆!rϪe.~9gg*f~2}qUzy.p<}Y>ĺ9ZԄ ԙr|UW s zb]ݬWڠ^P 厭ˢ5 *:JPz!)WlW{SFeSܔWq/A"OT$p6wM65Y퇏.0Nfg8goZa^5.#>VxǪ:;>KJ\1d/.7 0| ΐbQ#&&$H ju~(CPZY$A5]ՔmͰmZvۖVblsrD-l]̴r.+*ɄM-l뽲b UmZLvww ,+Q#OGbM(Rk(h!"Yq\ͻ v$ O<Ku؋enXE`SmqBRJ3p)؋@=|ʹG~뢈6$-)W9AkQպx^&)!B7ղ"Y^ HI;rDžeg8m/BaF/ܱplesGfuZ)d܇01hY٦y^b@#lzkp5c?j6!gu$@di[p>쎮;4'9#iq[|B^E!|;Q&ƲǴ"/| Lk@"?! Cc2sx9{t Y~< g \'I#y@/CsNhj  DV*׻U*Kdvڶ?19IcxO' J<&#]53dU!6hW TDIsZަzЌbһ:b2T*:!_d=4- O,#RBK (ݒS$:9A}AvdCa )>EGp*!rK;'|(4X8J?+*;[Yt{Y4jt-!icziU}ĆRgJOtf>l|BgAW4=πw R&A/iea P67i+EI(Z,:gHVV 72sB5Iͺ ZƠ68'xA=)BJP_7>Nf{{RvJ-yC;He`7ks1m4z. @!nZrHIpH( nv"WJxê{%F v%dwx Ab74Hfj&r1"~wm!ϼ5sxafQKb#6Ywl= zxx#DרWuo;S<7v:m;آ&lĈdMmoN%rs:8VuwA]FQy2͗J#52uS,5znmFVAb7(̞':y:qey7*#Pܷ3"'oc1, ʡ0%Ƙ!! j{D>c%2 wN' CVqnƾ~Yw~4é$z#>{^!xA}[_/^45}k钂*W*un7r!A = hh ~ya*Iendstream endobj 629 0 obj << /Filter /FlateDecode /Length 1878 >> stream xYYo7b<*"F&E#A }@Q֎VF+l'<,coZFy-/l/͇6}fap:x;9oQZE)UZeCM7;*]+Fc#|1/IS̷Fc0:ȳ6.9Ϻ~IT#kc[*A&Q_fijkT\4P\Vmjck ??  r+N\PPqzE<@͙֨:y*F`,qP9鮻e@ ggوI@ I+im;| )@82" % K^3.LZ @A$pK0s Ky8*uͶIx֜pYBpwdtz-4ҊAePdx%d~:r9- )t{er3r6˾ q>MK1`7Q5(wn""&}E6j޴KA #5/dr7 6yCj$(o]eҨ5!$wûY['``)7ċ0,iga@)?P u~9# @THK_3 Zcjw3Qk]I-}V1GJn[a>sAW1"^ӞQi+ǿħVtmѱ_:pdK]_OU2 R ̒H 7xaIr sU_6](}I?BFqc1VJM91$$ukW*z 5V,_aUB} +IT8A5Y+sT-aG7LRD*"Uwp2FU5rbSOEhKHM[ P+=Z]@Y~\h!| |2UuPCg >ʹ'r Rmuy' nݦ l1O8tzBժﲹח F a0cV9ܳCM?1 us7@I}ċl\EsAe k/Oi0^CT>-e021.YqCt3T4X=vGH`E vrQsA{

> stream xY[o_!計XΕzKQC!}ߎ7=RM\aMT`)ip!,|zɜ}pRR& n5JfbYXRK-&3x@jr)Dh‰Gp;61q$E!,b+l_ E#~ g7.>hC%/UO+v;o?E9+A!rLCPR Q:wmQV>kqE@ѻpa;,k<@Ay|2#[@ÛD kb ƽ{[|+Xɷ.E[PJp'wS,J6O  )D[Taӡ`브Jܣdq(kx&qP9CUi"ݐAA uxx`3P0w\rH8-&OWSo!. כ1f.>%P64Qm `=~\\qBK&hq'j.KL{Yq }53t +CX9nfK.ԇOt`P؏EeQ@%jFplT0,'L%Jd ipkL@//rNHoɟܖچ-r_\_(|WyAj#? <ωm9n@di]m8gq}wQi 2X-8j N zwX, J8\xA!M佀\"M.`P \>{pNUa2Y0f,4,GJx 5EFz٤ ڻL,.dNGŏS?y#)NH5]6.B;O}h.1 hNXJR | ^Y8He:Coq*be˅a a?x ӹ&B}( c3?7 2@M=%'j)q#c`ks8vx8ct鶆|#rW^Tm/֒o\HQn權_c\̏=wE{/Oendstream endobj 631 0 obj << /Filter /FlateDecode /Length 1370 >> stream xXK6zԯ6PEPm(ZI}s ˴׍%o,9)ʒN&{0Er7CrߦӔ[WJ:!&yаƟLf%uҊL4K%y,%Zm].Xgj >_%Hlw@`uțv(Ct p9?l}U ĢmsоÄbE9AAkn>htHVI[wfߍ9)JHŎkIߥ(|JHD>įKp[K!$g3 ة!ś|:qt{gp`oW·xFmɫ$O͍m\ GcUٰT+3䬁_9hxh"%`o870)N= |08+v޵y&Dp>yN/J m.r(W 7|u_o"$  g\sMg'ny6`rݔF7Ktu 3*"k㢈^ƒXd&U6O0l0I& K> 3}:OWCӞ,S[^gƛ)9;[FZ^ɰ15܀(qC˞LD-1l <kGh? e (i@1±uU奫q_AekFFtضߎ{!Ztjm-ǴyV0@W]۟ ĂQb=@ϭ|x4N\aE0{*`>@ &ҕT558wݡ0#s>hx*?hݢendstream endobj 632 0 obj << /Filter /FlateDecode /Length 3510 >> stream xZ[o_!Ta3+g E&iMlaDl(KR:2CZi V ? ϜΡ,T,3 V/E[YZ]vkܑÓg^,oX:f &K5"1zu߅R*ʹ]כūDd+}IuYES~/^ЩG`ۅrDV; .$'⧓"ρY}\ߗ+`g]?0d}VQrJ4ic钋ؖ}x&*u)oW%iMv}$*z6, +V[r%.>J`߿P7e=Hu$wTtQ+SUJ$*W\ ؙ h/Yv/ǪR;uN ]vxd]eR5l$[ XPOUMN aoҗل}%˷A}Gh E+4Z`1:Il>H ,HE Z*T VT2XgzoEKn[vPly*zNt7$mWUMQ2l5k EڜI(U&܊R<ՙU "ZND:Mh=qDJР%,}8^yoz2hˇ"W6-1R|Ļ JJ\SvhxxXM1n WeÑ؄zC%F{ƕ!Gԁ1EXRJ :`^IFvZuۖP<bZj@ތ]R,HʿͦkbKɡT z%2vx9м)^ e쇶+`zP eܗհ4P6>*)lߟ!kǣr, e1ۦ ݆7MH~GI`c2y|⧯” YO#uD6X$ Ev^fj lW OUo*VM\hŪ5wꊐW0(!R2>ɉ Z&ELf]Q57)XjTqV1)LPʁ^mCwACqwnJXVM# xѦm"?U-*{[Jn5ۇ0%9GsŘn!mSvWdS 5 -'ksLKLdA*L+- SVGa}9xt[]LW+${˫w1$"T|1 Muf;?_8ƌs-M' ow5/%2X0xq[>i6aD&ed>P' ȹOqZ#y. +=+}0\pXfw]G.0(Q6[Nkqf:Q)<Ś4Dk2Ol6m^Plx \McUcf$p|`ln&UR:h@>f&UΧs_,BǑ7P(p$_m.J<Pda>^H{ݶ kdK=4b%(-0in<Ų{ Hmi,d>nw(yskX;jo ;٦kL:.dm2cRDJq$Z4YٸlUͮc1|auT [akp0F<;BińQR42xSQYMq2@)i//qk7XOXIp[ L bO`dZZbrO{IJ-σ;e22 -M~X$-`-|lб-!'Gju(2srco8a9 WhC^cHi3O6CA)܀S`=`UGSࢍNa mAǴe:{N=R9>g@\$|@*2g6kǼ4443ptg1G,N0JXlƅJCEh:?8 vd6 =@T">lr5h}r4ofq5eg&yb)屶uB_3,x -&ٰ ?G)fXQS1D,܎BRcubʱUM?Hr>caowp} [ }1c䂗VWTwn 8k;~~d2 +m@N/~8brG42uP G$uxxTmXқ:''~YFZYM|a_>.eU)zyQSf&Oe]$y35WAHa`/r1 uFBGј{K]&GLYPZgF)3}Ou b51;L3f`Oi \8?h.[8d^VY3Md@?MB\ L9hŧ1LϳP;W-)dOad6xawbQgBb i쨳%}}jv:\^ꛝtyTSHەO$ؔU7s>S3Wa]D<6O&8 Z' @g y8VY?."endstream endobj 633 0 obj << /Filter /FlateDecode /Length 326 >> stream x]n@ w7).ZUm_1!C߾}I\ίyc[8æE{LsV|0kf[Vc'qzU z[[7_4;Q2GSF?>BC$8 IpPA\(r(N2E`78Ѓ)NJ8U+~ZeK&.8ӐO(!*M{qpJh| ȃUhk:\O7]FG]6/#JWftd@+ .<>my=f۩uY-+/?;endstream endobj 634 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 335 >> stream xcd`ab`dddu 21~H3a!.,7Mnnw }O=^19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUSD8)槤1000201012{ӏg!?EWwyzvws/>}|9ǟ^:C7C{y7%tX#WS'/`8}=n9.<'ܛOt0endstream endobj 635 0 obj << /Filter /FlateDecode /Length 2171 >> stream xZKs74Hֺvk+9$F$%3+2fQ9ogwJ߿u%lxB<7fFuyN׻ZRToJ; miH.._~x>PF q~Y_^`E~I]0UM;5 !p FTl #V4P9ZzM/1ЦVܦC]\D aςA 5:=f"P NчNDF^ ]"bQ]\<9KxM.J R zDbu P)AW1~:԰&≔:'l2`{2MًJJdMX+uT1'PM.)alWLY˜`*bں D8.v3.}y;UN'1w"PYXX H,Z͓ IntnA2OSo&0-,Wl3mKzMvnGuBOeX}J| ٻ񎚓 ԇ^ ɮq*"5Nn|Jb#uבq&L Ovdɹx}j|yNsqCZ$6S[UU|{^>lV*k6ڗ56P}klOͲ1aљCw \L JDYYSЄS-R@!CKTT2=5DR(Rc dVO06=V?#Rƌ1 QkKٞٽaa;9ɏ0񸙑endstream endobj 636 0 obj << /Filter /FlateDecode /Length 391 >> stream x];n0D{B7 6N"AE*, ]Y)R'o;_twے>yuo)}50ۃ7]ڝ^g5X݇4ڒ!_.孛sulxXyݗ~|E C, &S, %(XC̱(X 22T@!"F{* %=1D01U P@Lpz:סӾ}){6߫ϙ=z{y͕GPsQk_a`1t$*2]#AU)iA`]Ծp~ۆ&QP@> FS(ej([܀zό:ݷ-7jZ4_Y5T͊endstream endobj 637 0 obj << /Filter /FlateDecode /Length 1659 >> stream xYKs6Wp ؉,L.}LDZ%HT.@$u ..O93Exe~X~} |mQ}-1*kBn-e\nJ|^e+f#oWj]MQƌ!K1P,yUrZ,?2 ;>̈b!}$:*YP y)`o[ ֨||]gs \ 㫡VevЂ[(`^}njO聠2Rx?վF?tF"T㇧cL0N8hk8r)\o/cgJ pQ 8Z\ QPgUyّS\ikFRfm@yG=+9 -dL]Ļw" Ug ?c&طϠyW a|oM5ߜMC:>£(f`Ĕ-B1p>XMLJ7D- ;>VݿMɕܱ)%cj‘Ǽf ~-Z+d(*\*U|v@ʋv}WN.ʍg9)?,ƫr󾬱Slbt^b:Tb%CwR;;LCE\bXpitZ +qa"2 "a  Mol*xѬ@ŭǞ_eZAR(HJ`o 0ю?uYppW.3|lD;ה]gj:0sm&nFKxO:z'>daBzs|/4LGo1IdkSRA3_l ߛ{ Y3{;S7TLV?naʑmU/$Җ\mwAoa-`w@Kl[ z[6ҟ YjAŏ,\#TP0MtI (ىmoBzz0A&>.<]JRnN 'HCS$!ޑ;dzS~C#YeM^̚JIjo+? ,$2G2 ~\13 n99@[]2[yLsbH햚3:ˌ*mL%9 Т4IІώ8MYF*`ڕTq `B4wޜ>:Atp"MJr\PŰIO90z8 #M0V% Px$ \q KXyU0|Az@>0j"ekurYerWJpr}:$0H6n -m1 A5ru,vT!ۋE*jnYvhj_XnZ[4v77U3KRo-]Ԣf1va_/wu{k:]Nk5)M|ۜrR揿PS@9Z^lW!z"3?=IAnf6^gSendstream endobj 638 0 obj << /Filter /FlateDecode /Length 381 >> stream x]Mn06$RMɢU`L"dqE?y4rZ[Yon4/㖮S9y)Ws=ȾܯEu|ׯ5ؐo9UɇeL׵iT:)i-y'չNЇ;..cQǐSQN 7(D(x pGl'v,D{{p'iKEZ+ԲPu9w,$slb c!WA1Iasb8dS`*{%0b )Xܬh9d!F*4j]7czcAH>'mK8/oS%RYendstream endobj 639 0 obj << /Filter /FlateDecode /Length 2291 >> stream xZIs>_LWrH2N*d*c3'{ IL#)>7-5.5J5zy}o%tI_/}Tby-juA2ڸz%.7.ĄCK% bA ])!}jM[I`B$EMZ3Ð5Ģf[w6_|,~\l€6U( J.>-Ze\>ZRBYLRpJKŖ-Os!u 6NI(()wT읧<:BrCr´kXieh,FL3:VMC43Lj6z uq$J)Br] Kb'N`Yɨ'0) pm tibe`1±`*̔5X[u5<}s<>QUw@V  Қ, }ZK + COAA0n{e56,ٶ箯K%5Xkv|GUZ:FO|\Q]mwS_ܮ@1Dj1Jz{no-Ἷ,4:^c]iL$RċsɧyIb\.v^Y*D ˜tps9՗>lA^PEBJtGS\ RS[))Nh,QztB gD'PH8FcQBM ++ikY[/] T2N <<9.z;ȊedDiDߎ`)ՌgWn*M>ִ{Tz2cӎMJR4 A,٘}2W٘}&#1D֖$05m8;qd&!?i &CxY_tϜƣxtϜ&Ӑ,/DlL>=:RD;,(qɞW̰Ig4m2Oz B<}jdpbDp21$!ۯۮ0Ml=9@عS> }suݧ ]ԩ w4]uf]1ʆ>vóAݶj뤈&'`dBjqCdzކ\g2[`Oj:%`-9G ߀m@×u՟Oun{lCWka$\7]\r93nՇ.̥w9T]M/+!9"L hXc'Q7\ )۶Օs ;AVH8ls!kVIkL/j=NtuDzq?*s84NupaܦVKZ3x1]N28};ZaR {Jןv% 'AIYt(m2%)>;-zxKj>\[8w@l3G>աj}cD v>ԃK D`}җbv}JdEnQeYBGL|0C8աT;TB~ws<$)M3]'~Bm]Gܠ'wRr+#Kio(7ԇL`IDaQm*ɢ~cm5?2Ix-/<8SMX[!ow͛a9ZB#CPwr2d\t4Ap׿ Sl7u/'ʊՙpNqJUZA +endstream endobj 640 0 obj << /Filter /FlateDecode /Length 468 >> stream x]n0{=t$wy 6v"ACWX'"o"I]q{^﷏cT_[wrmܻӷqg=Ե~Gvi-}zkWKSquki\V-~y,endstream endobj 641 0 obj << /Filter /FlateDecode /Length 1524 >> stream xXMo7X8@{)Zc=>*2q$j'^!3f5gT/^m?UUT}Zǟm"hXH_Ujk9F׋mllN|ܬ1ӌskl.e޻!|R;lֻ]` UlmQUIS?∿W$aLQ4q<8"cJzϸ ǭ$uG}{i]mwפ`͊Z;b:i6BӄaDKĎY8wz%,c}+ڸ'Ϭ4:AhML<)qG8?$$9Di[IIi;HB4ZIMn,!&$9k %8$FIk L:k̵IҒ\y+ Lg/6yQqR4)'T44I&KI3 )`ڄi){:%4bZMZ3/s()!3()LȚb()GV3o)<\ L HsONabr5/'K1/ {<$#Igb`4dg`XFNԗPWm [#ܿ懿X%iʗ,('|= g$!꣒G%ǒd#HΫer)IF D.\ǜJdqct bpƒ2\eJ{aq&$Xɭ sr+3`#|t`_pIޡ>4DXd(B bV)J-aേ#yoGGZh)ӯĠᣠpm"檰yѬ="-`tA$`j&viמ93E^# b[Gb l.L\ovWD:< ΂9!PNNJ {j`5ubrTAI/Ʋ&/:'i(4xu-T=暋E3?T^I^eWHDq1;ͯî[sO7?'"LITa[ LadP9ezΦI{\@|z*"38""2[>tnj_[+1jZKz*EDd֦,)7u }3K2Ur:endstream endobj 642 0 obj << /Filter /FlateDecode /Length 401 >> stream x]n0<oxH/%VUc*DȡoߙuC TezߖraKT{ƔovkQ_gM%1[wMՇե&_ːnkߩ8u8c(<۲|G Y!KjG<,o1dy1dy!Zx*a KmPDT(A>V#XFs&6j٨e\Rru}P/NK ] ‰tt%'񰠌Rt%) ‰M$4p}&"h@8A( _AƠ<އGO}kIVKys8u縖miuu9ӜV ,}endstream endobj 643 0 obj << /Filter /FlateDecode /Length 364 >> stream x]1n0 Ew7-YTZ%ClY.<6g?t> stream xZYoNb?d6n~;pD? Cq434E|\KdayyAv+-oY1;{7c<\o^ '+_V66/ ss\i5dndEQdq0&[%7&wf*[z%sgy/I)Y&⿳.f?d.,cfAL#%ogާ'볂{Rd:wA#vʪMٮͯ^bx*p&koR uvsqoT&$y5\f YC] S%ڤq+Dz&$MZa"+goD4ٮ=8E.6ue#gcUnd"W. 9ˆ.nӮ;IW@uVaﯚdϲ6+w+8][ ^7:V.,{bdZlI2CPԶ#}uD7.kZ説Wisrd/9ֹ͙UP֊\Q[F gbMڵM@_.o61IDƶU{_K 9_(At,6]y3͑yiM}ƍF{Mpҙ.DK~yTZ@& byB TuAE\:5{}m!Ipzc'7E5:ΤH970grM%x0|,UiܨNu ~k_ ˮpQM*GuyZ>9HUCj; EP8d`{Đi6qd}o ga*A̖՚֖w_i~ެNA %GenT 5hn_&!ڽ|ʰ> ͙ SON$HUN0mS||r48ӝT}Z(=}벱j>vF0nzF.woS9[8q8}a&\Z Pc8ʓ'Y=PNFOgtumoS, //NW> 2& ^z>_cY<8}7)c 1`"d& ?y 7'Q0yϐ9S]Ls%H}J\+[ò90<ș )rݦWGٜ%bϷ3˥<6@`sC>qv%-刢1-?[ci%s ^!]jD4.($댇u Ro}Pd"fbBy0y7M0*2lc6$c#1MGg퓙 UG[1Avm`BxL߮oVޕh|Ten-ob0?1 ^\IðrrӰUo׻ JIfV<I~FaѠ2{m*|JP+!fU/$DP3!4@mV=&' GJ1DCCdG~Kxmznjm%?Ĺ^k&c Yec*H轟a8*WWq]AAPi_e>S~r׫o1js&Po[YjP|C^cj.~ ˜U (OB )Rﴫ|o?BY>ve>*ΈI28$y a|T$5~f%m/X,ҰԈ|zd2>Rӏؑ3 ًNht\D*Gп`wʍ28NC&xĈ>ዾ Fr{ w\ڠ1#bDR3 YLj2bP fRCAfH=hjdO=1Q/@0$u56T8(2B><1gb`z5Z4A)>N=/0aњ1pTB3"I9!9!8}$q)GHTjLLi|FV)I*Z#GZ 9ڟ!-IJEn' I''r=JLHmFY:3ӧ%Y|L*Āc3~:F .+NqY hƤ) u>O@`e!rTTv({ ş\u5=mH= 3, BG}B3* /sb?*> stream x]n0D|{H/%VUc*DȡߙuC;|y^V?^}Osјr }k[~TbC3uT}KM.ːnkߩ8u8c(<{sE?>6dIǐM"ƐۆBo[`Ga (DT@ODO x ڠ.Q }P#~[3Pk*Z8ҕE,aMd#]4~SWʄ]2"Gyex\&z4Z=gS}kۖ]\;?XU%TzЛendstream endobj 646 0 obj << /Filter /FlateDecode /Length 1404 >> stream xXKo7z_p.6b9E6-Z77A^;jhdi;}ݬw| oPJ]moX->G˶YmdrqS4SFHM]Ha)ۢB;[QhW 9H)vY \9'B/c3 zU.~*~Xo ږ㏅'H- H]Ϧ,Δ*-K:, C]|VFK!,\u jp#Q\O \{U2ZE(Z {gfpn={ U]A^J PJjT!^iS/ތ`b3G/fs$ УϏ*>Jz02`bucRZѡbǣ{^(=l=ЍJU&( L ua5';*h=#xj\8y |C6y(yyVolц+:OUu*](a :,w07zk;%Rg}3SBj]bY [҆Z(]xάBNr鳖Z*CkdY+G;-[6k9d-eQ HXcvHYxDAEinelYjM:6nq  DxP:8gTY`2Tp6%>юeiMb,g2,NutY:Ҟeve&^%bDž%vM5*+S)E !t_q5DjX4XQpy΢SRӊ7E{q/T1T) cmNDhP@ %hw81ά+ CУ^EYEr2UaWo#E`#)B C"~L>q5/3WSy@Ja'f 6Uxu*]Jߤ娤tfmw?o4? jv7?3Oۀl_t۬?CMD 7ſߑendstream endobj 647 0 obj << /Filter /FlateDecode /Length 393 >> stream x]n0D|xH/%VUc*DȡߙuCw=cou\i/mi/it[[LehL9Lq~[ڭ_?k*!ߺk>9䢸 v1mS]8"ÿ%{jL YR;!dy3!˛DC51,o5@T<*Ȫ+KWP6G *`GDTHD, DhDطeY[ e\ttfUltJhRU4IAZ JN4\}} _ʫI] P@^A{<y\׫Lʴlznj2޷-ͻNN-uʪ*~l -endstream endobj 648 0 obj << /Filter /FlateDecode /Length 202 >> stream x31ӳP0P0SP01T01WH1230!U`lbT02̀,ɥPRTʥTǥTĥ`ȥ 43KM V8qy(-lN}EyLJ{ >,|蹪*"I17ML""1ENC :ڮ27GǴ \ \>endstream endobj 649 0 obj << /Filter /FlateDecode /Length 433 >> stream x]n0{=2E@&iRC*" Sof\q,pgW<=<=>m=w˺G~Sin9:ݾI7a/὜^=\׹M׹|Ta{+}eMX+*R*3<␫<,)Wy&ι@,أ' ȃP!t":wĘ%%H,'"J3 $ @2*P!(6"ۈh!6☥uTH#H01QMUbmM$+S-l0lity s2*1ժ3\:+`L1.0 4M[0I3=2) 7N% 7-L׹g8unGgB j>O~ ?_~;}Gn/V]Qendstream endobj 650 0 obj << /Filter /FlateDecode /Length 187 >> stream x31ӳP0P0UеP01R03VH1230 !U`lfT072LX,ɥPRTʥTȥTť\r;;66 @ܼb;;.OS6~i]%@FhzX7{ގU|OWr%OLcJF.WO@.eF_endstream endobj 651 0 obj << /Filter /FlateDecode /Length 190 >> stream x31ӳP0P0UеP01R03VH1230 !U`lfT072LX,ɥPRTʥTȥTť\r;;66 @ܼb;;.OZx()(w8ػ?m=6-3K^:Mɐt`bPrT=G>endstream endobj 652 0 obj << /Filter /FlateDecode /Length 427 >> stream x]N@{? )&4 }>#q,=3{b"}NOO|mw%k;˸m˥4{׎s~__?ҢL_sٽ׾6X>_>KstԔe)1LRR:M@ĘćTn$RB̩J8*XRzHiPH-g*p ӛo7@`FF(1idr `Xf"S.fF2>L}b3 <|#3 X+Ul^a*b S&;)8C@āʾ#ɄL@n DQ@+ yH;H-UǕ(leE" ȉDm)DnSmm[Y^=K{ReeW 5?endstream endobj 653 0 obj << /Filter /FlateDecode /Length 1413 >> stream xXێE})QԭoH""BhYf#u =suGdgsjS k!>wwOvW~Ww8]YXoQ_P;kcMU7aunwǻ2k 97񒬃f{Vl~D7 |wHXm^m֟ϕXq8n-X*@XV zgsh.b-vR[VVm\e_fɀYI #POӋNv[훏5mH/K1!x_o~6ߖ9?pi#ƭm\GOmCo?ܷ(5/nw>|^<㶍! ]#80K ϐ5:TFWw›@y \% \E&.%Zp17gA_V*If~1 lc7D2%qƸ[BL3.Q=x$װ`Ϯ%-CA̸ tyKd!Jt6;7/gk=q Keoh3А5x7y4BCB`hM`Kp1)c 9A 8j% L"oܲ&O!ےɢsS:)yx:JGLy{㞹 iҎ*E (GL6SX@ff XZ jbBj[t_ȗ]1Y8)@; zJ%L8g P]XHCX`ug/y.]+$NNOKóHS׼7v-Bsc 8]ǥM,!"Laֳid젍Ǻq0a_M8j fĻ- wĂn]OK7]lZ/])$TDN` LNΔ.ťaR8ψL=&3^{ ]%d&;uLu!3zW,澦f豼`F3eaӖ&S2 +}zUb_ᢞc24[RNgJک'\B97q֡SNMS^TYE5 '5da犘W{ aƍ8 e|-fLU*eJMXI8votGJs;)af'$U!qs Lٲ#΄$xt.X@C\xePN8(&!}endstream endobj 654 0 obj << /Filter /FlateDecode /Length 390 >> stream x]Mn0F'RMɢUƘE}CE/ y2[Ys[9S|_S.=NEc~L7]RT׸|,ā<ѿR|[bksqpPnx5mؑh ;m9K<# T&(POET=PmPG 4R%(ЎMCP=hƠ@j㭁Z` 2,rZk" 1.T#uk:1.A0NC9-T0 i8 4C ~-J-C8gA kT$`ê"( $FD@*"P\5o> stream x];n0DsB7 ?M`0^޽DQky[U7 4j)֟^k]onQ?GT֭;~^[ǽ;=> stream x]=n0{B7X?^`c7.bI.(C.r{ )RoM?>mǵ~YϣR֭]?v'-ޝ~L{._zegOcTsاRi{0e];.}s%>!$w&>f9$WsnIknI= ᩁ / O (hY^)+B3  Q"x @ @ @+,QHPE8R2`NW~ds!QE6Gu9^dUDk &H CfNj0Zk7]lijihbC5 8:5I^ 83$.YroaHMr8$Ɂ jNd;K~b}<0֭{u7endstream endobj 657 0 obj << /Filter /FlateDecode /Length 160 >> stream x]O10 @BVUAp$6|/`,@L4[ub,,O\r)x@w|6#NRP<說J`2ٴ}A*)J7cnw>`CSoendstream endobj 658 0 obj << /Filter /FlateDecode /Length 1975 >> stream xYIh)b%Nb x$#\d6y.5jb-{jFy/՟~6~*V?UUj H-a>j9Fq/;ZPd-ou4j &[+j|yDjA*Φ9sH֫n"G xReLS?7YPmʩ%FDp/+1+C%ÔTDz8Ur"0z{h%\yj*E-(WjRrc-@yhg/y:"tcBCE sZNrRXTcj*搁;SMܣABwƼ߷6ķgP8x]θN˹EdϒK׮0l7qC3Lw&;ҮS^I1[g|ݷn{<4ϒصk!Rah`vl!gS`/ajvMgsaj%Y7&-1ISDs\D1xWhE׻d7LKMd9:7y" G0nD cBb">jw $<9gP11-;7p6$Y|}(cy%] PDbړ\P XD`C O<ӵ%ySavTM;-VPGBȎP~$ﳣRa&̎R#m{tC@F6ud{xW%W(y(qf!zAb)R??dRz;r_K T>a1$'Iv~@nRi.SbxzB{Vh6tex+{̌/Oϩ쇬PhCUݷEs E(f!mqU\g4n YJ~giB&υD#t9ۛ"-ʞR"Oendstream endobj 659 0 obj << /Filter /FlateDecode /Length 449 >> stream x]=n0{B7x6`1$(Pa=A~.r{ )F'+o֯۾quۻVn_gyc:=jum2/^mS.J=vÐ5wu_R1_KMɥ ɆHM-ܔ\%ܔH\rS K$Qӫg]','e 8S^=3@23 $JD|[ N2s@! 0(d`H\"\)g 5K.:GL"jE E:9K.FD424ƚlYq̑05e6oi C5 @tcȎP\W_D3bJx' B R l?gR.*!uĿ2O;5y˥;;wP endstream endobj 660 0 obj << /Filter /FlateDecode /Length 345 >> stream x]An0E'RMɢU`L"YtCz:_^.ϴ4[--O\4?LڭEu~֯5 ߺk>Eqmbں;q E?uǧƄ Zh2R;!dǐ&Qc@vnٹEW=PmPG JP= tA1i -Xd9A1^"uNkyE3;h+ fv< hfyE3 Sa3)(PfO-]vx1Vk=n@e8=)}Ҽvpi9-ຬ*A pbendstream endobj 661 0 obj << /Filter /FlateDecode /Length 412 >> stream x]n0 Dw , hi-?`r!$CwTҡxxX.S,Ү%X]ЕbM@!Ig:6B 'h1zG ޜ==lYyZyxp ">@g V p Ds ( #YP'6Q'M@NR`#Ŋ& ')xWWb6!+3 n#( F9;Q@> U<d_E"T NCP-dFHyr[۶j;o;UX+jJendstream endobj 662 0 obj << /Filter /FlateDecode /Length 93283 >> stream xKtݖ_)ަt/]1ܐ} )K¦JF*#r1z2cD;ߏO?^_z?_zo<|=~=1ooo_?7____ÿ?ze_A}^nrO;xz_z{z|'r}/_~~<]#}~x}xz׿_'y3O_ϗ}==|/./LJO_Ay{:L|yo/חp^}{|zxF_K{azx\<=>||χmyޞ+ov}EWwD/ܷ.|\<;azy|߿//跗ŏ>w >]->=^ׇœ{??]oO_.zXctw}w8>?^w?!ϻzkk>^w>>7ǧ?'9_rؽ?=?n|zh?}mߚ?}=n~ߟ7ϷK7ןo4G/O?L///[_^v}k^ޢ|:;Džx~]]|GtPz2뇊݁}|~X뇊3oW~뇊K~P{q{u9bNOV?/)/3'b<6__>7OjZz___˛ߥ[{oeF1*\*\}T_Ηݓ{|ڿ/Ory?Qݸї}/7zw/ٽ^>HQ|nniK..?{{QO%]~./?doOo]?^ }nwǶ&: VpyX6ۓ.קvgీ/wN[ JDVBk9!{AVT w֏}MtSR~KOqDZ%0=wylclEj㎇Uw屵7NX.;cV{ [}x~/X Q8j=QFգC#qFɣjȇ]9&nš_#^=5^sspygar6 5hw9fyfhMtf9`@&| 'ŹR,9G4 g'ȑh@DrfMOn#`\P<5?AM; n}erNtso|ƨInn>埨InkB+>4Ҭo~RdauFW+ͺF4 J& ¤45@F/ |~M&|5XC&|Y h3p,f$0Pl 3 Y,3H4`f}0)H4`fM0#р_ hmGyBCf&hDm@iH4F6c:&F6 h:F6 Y mڬ m$h#@Hhn&hXNh#@6hBڜ|wy|n,>25>R-2=\<(_Y͍Lܥ. ,tYY۫._ ևa#wiȯʻ~Xz3r#wYב}]nu:Dg.۱]#!ݜ|7vsht7Hwst769DvYގ0ua:]|׆Hwm֫ kC^zAۿSf˙v;:DS^z#!"!ݜt7Fwst7Hwst7"!!"ͩwst7Hwst7Hws*"!"!ݜj|7Hwst7Hwst7"!OwpsQvTM߼ԃ7/1]߼ԃdjϛbR)H)(>oJyvo^t!R!R!R!y)LGSL5f:yj*ʾy_GraRȮK,Š* * * *MEgz2L'K1LCd'FU'FWd)&㓥Od))!V!R!REDFEHEHE6"C-hUk/Qbԗ(u,0L!qS~eEtJr/X3_DCCCCS*****OE|}!"%_KM;ΏOO̬uBugXv~~1SKMEŒ`(`Efq|3aJHHzN27dtdptHAcv!R!R!R!RYl@HLtdga2G&\!qW55'ؚp/[ Z XgF8w8 맬6S n!bjrGg"E"M w!Pg(،pFqȯr9jrst!ZP!&}Hņȯ>P+؃Kҹ+))TCCCCSsqrrrOE=D=D=D=D=9)))TCCCCSsQ=mVj2ߩwѕxH;d6`;LeSS0CSSNM9)  PG>DS1 S*@ib  UrPR"R"Aa2a0!&cbd!"!\e\j2!TbbPeHdh|0$vjՈ?SjtěxAS#U#"]Wz֟)r |A""]!1j1+))UDDDDTcabbbPEADADADADA9)))UDDDDTcbЏO_l((r ) .bd>Ԏ~~bJ-hy_jADjADjA7|68KZܓE:O͸I1gA5RDRt)XP%Zޏ*QE~ib F!rR"R"QAE|-([ b*&ca"j2baPHׂt-""h XG"]!2&Uo*r!R!ZAZ`#:5=D7Dz0N ]cbe"e"eyhyyyy*r!2Q!R!RșHHHH"g"e"e"e"cjyyyyy*r!v~.q x=7,3yn,S`e ύjjFL5NlZtOfH4DT'8N' 'YItn8rCq$&Y őf(P,Yq$#Q+4Cqn?@塛G8 H1G6 `r@M~\H4f}4'YGìn"/L.r\$䲎H3EA. rYӉ\ַ4DM. rhD\D. rhXN"4eM" H4E&u3D\r" rYGH4eotm0mmtjNYU=TFSKT/td-&fz*؛ۛ(ڛ`oݛf:Ktd'Lu0{1E{1=e0HVaFd/D͗H7_z6_:7_6_z6_:͗ɖ<|(|x'͗|6_:7_z2|xtltm#|6_t6u^m+#ۊȷb:d+;}7LVLG"݊x+I݊ȶb:Jbz0ފt+|+'ltl[1VLGCd[1VLGӑmtd[1Dӑltc[1VLGC[1VLGӑmtd[1Dӑmtd[1VLGC[1VLGӑmtd[1DQOo7HCHsnd_SJ4Dk_;cp{Y]ININ;z.yQ=嗼YI7ݹN#Cd׽!r!R 1"5"5l{~CJ/wMxCY/Z?X""";mhs-]f}6#wi_6ՑM57D/Z?ݷMv#~67nc,= ^U|T|*r!ss:R!R9_m==hA9)?REl:o&r!R!ktd_7Ց}^rSBBBR KE.D.4.D.D.TBBBBdR KE.D||ݨ Q.5 S.DkuŘձaAe"eaj*dtkfy_7C3 Ԕ3 2 Q0LEgZkVPC@ 3 5D 5D 59EPÐC| Qn25y0&C&C&C&SQn2 &dl2 T&C 0 `n2 &`l2 2b5"5ddhdddhc2D0xdhcaPM"7"5G^ 5"5ddddd*r!:e2j2Dj2Dj2ШT&Cd&C&C&C&S LEn2Dj2Dj2Dj2Df2ոT&CO;:JLfdVǿׇFHC! S1 10HCHCg2U S0&C Ԕ D0DԔ Q".̨}Yfp\d"a(Udr;DI"""ra0&caPED\dE\dEsa0]dEBR m( m/ TBBpKBR K9iRT2CtJfUfTfTf*RQ!R!R!RedFeHeHe"""""\fTfTfTfLfq!R!R!R!Re(?*3?RO0Le 4=e 4ZPY> kizМ#se/eKS8#ě)5l:2̦#5/'3ދ&Yܓ-7zkP|:TOC` =Lӓ=tdӑAQ ==COOӃ= (tCOOngsySt|:2̇Hͧ#1nz7LJݎӯA܃:t$׽Ʈ{Q|& }P9u,݅APGuoTt7=_'0|>#㣎1>#㣎:>#㣎:2>#㣎:2>#㣎h:2>#㣎:dGLe|TS!1>?>&2"#2>:#&c>bPHHE|LGLe|ĔQG5|D|D|D|DQOGE?QC(US1ц~;$I d:K%#"%r2b0'#&c2bpsUdKsjܑd`NFLdT91hE(!*r":qYnm5P6LD jPG*BD*BDդqS]t`NGLtTNGDXHH"##"#"#"h*r:"R:"R:"R:"R:HHH#"#"#"#"2:z3uLvNXOEZ(sz*='"&c,bPHwԆ*rZP\rGv XG)`=Ɣ{zzzQt S.BD3AD)`="TC)`=DoĤnf22OE90310AD&:ոALƧdskGN٬3xFn~Dgֿ'ŬoiXM<g»:#O%&|XϬo}g'I qxA5 YGլH3FmPDjL5 YF1 z kr[h֏ !jMLӃ[=`|VOGyzWwl{@> U{ҫTCC=(WƮӑPG#r͢ (jU{zЖ:]Ⱦw#;H::sjWǶ0ԑ- ud CD0ԍ- ud CPG0D CP70ԑ- ud CD0ԑ- ud CPG0D CPG0ԑ- u$ C40ԑ- ud CPG0D Cv]=z#_-k*;b$:6rxxLƛU7j$wlDlDlq O)#\g}@7g}QHQHPi}@]D:ҫtSv]FNT~zGB?Ӷ:ObbNNHHGQn=LƧmdzVi[4zVGvVGi[=Ճi[LmљӶ:Ӷ:R!Ӷf䴭nd촭촭6BdߩՑ   rWjV "3Ӷ:Ri!:sVi[=x-b";m#U"U"UTahTaTaTaTa*r!2Q!R!RHHHH"W"U"U"U"Sj\aTaTaTaTa*r!Fa2PaR!Z^ݸ ArLa, ¤  Ql,5h2"~0 Ԡ  .)꨻e” , H0  Sw( 0D0D0DqSQq`0L7 K5.D .D90 9d .)b""\ \h\\\h.D .D.4 .DR)?R(ŨR?~7Bk,D10x U*vT!RT!RT!RT!RTHQFQHQHQHQ"G"CE"E"EUUUUU*rT!RT!RT!RT!2TQHQHQHQHQ"GZ8/_ T\FsjH-5TRMzc3j0>QQCƮ9\MRCR}MePE!jCQF5J5RMrRT]C!U g'ՠH5闁?V(~T^jD>ofH\=Q&>Oӄj0>KO9jNqG(vTq4N՘tTQ:G5F9Qƌr̩zG5jլ?!V G8|jNTG͝258wO!ըTr4*!(TR2H5 GRH%J ըTr4(TQG5jGQG5 ը{Tcq$(zTQG5*GQM_߿ JģfPdg01x0iԑ8?."ՑBaJ}(^&aPBIM))eNRS%D"%# og2+aJө(KT0!ŤXa2 \"&cwaPwK Yqe!/d/ d/5 j)!V!R!RehFmHqHu6Cd@CK(DY?5FC$Hh58Nql85CCtqcaTK(X-H1H5""""%t uhTuuu*r!R!R!R!RܩuHyH}HȄ'"5"E"U"ey"?o{D0AOOESK"J4(4Ƞ(2(4(z:2Ƞ#"aJ#zzʠ(IbIⓃ̥'SXzzҤ#Xzz0LMz:Q(LcTzS3ӱIOG&=t$ӍIOG&=TӑIOG"=ݘtJ*=:NG]ќSaP5#ӜhNǩ!5hNǦ9tdCdӍiNG9tdCӑhN79tdCӑiNG9tdCӑiNG9t$CӑiNG9tdCӑkέO/߿!Rѹ֧7#K[h-9vRG77 7#R!:R!Rh1ec2DvvRG~zoLF ]HLZIٵp;RzHOAȬ4[?V-D-⍰ԑԑ IEzQGvQG!YFc,R曋|$Y??d}'zQGXHH""""#xzyzhDAAGaWHL# " "JGM@7eR:rXoLHMHL  }ND> "  " "2*C]]T:B:B:B$:RW"U"U"U"ULIeCN.]//瘚Os Bd}6tBtBtBtBtR^#mu"\ITIև"tb!M"tݵpT+/cF%sx!rx7>0D0D~94.3̌HRL_"KG.,ݕmׯ̆[w^N KEn/Df/4j/Dj/Dj/G"""^^K)^^*r{!R{!R{!R{!R{.Qۑ: : ~TB +D|8t_!2_Q_!R_!R_wEtWHwEtWH5"""SBlRiz⹔0K/,%/ǛzDCJ~Eߧ%7׏kZ(H4֣q؏J~LH4d8g(h@:D%ً7KIv@'(5d}@'(h@&( $%rE  hHDL$ EևbBzYd" hDD$jY7H4LDa"߈?u hƭz3C<CnqDC0$c:C!roC0$fhD- h0͂!!R h:C! h M&X$?:jȭՐh:!P `dXά7qM>ar8yrhr N= HnbvCM 5YGd~!) Ie,)s$ewk$)hVn[K1ߟjN5TNR3) 9CՔjSQK9j6xiw>((+J5(ՈtZR`HjOq=YrodNfC'tR'䤛H;EHU04;HFhLQ1FĎq?jDZ1;;TDF9ʩV%jqSJqQéF N5 8՘T|S8TvS͚n*PFhmQFզEjlɦngQFihTf*fj5ݸ6s4Y>VUJax.0b$1nWQHFhQQ1F񒟯 iI7#rTTRHϧl`bug(J_wGԜ^Ő̜ՓuKʃOI?#;#;#;#;HO(='O)CIGv'DzfNGvfNG9=Ӄvz2)a۳uGO((-Ei{NNhs:DzNGvNGʮ*g(=>VkwYy\w.Ѥך3tltdtd??????????DzOGvOG&:"=+=hudut+rn>\VlGrn ݝ0$.*Kd' 㲳EED[z2bKWl-=((]ډKzz2SGv2SGvێ$&KGvRGvRGr’YL냮W(>{zIDu^5AKGk8t#1n*GTM"RM"RM5.ۑQz/ˤk]##"#:/ &&dI u^`|:g}'d|TM"RM"/ғI9')'_:t$q"t^㋿dz㋿]SCCCSmHFH""5P()TCCCCSQ? *)ŸcaN(&caP"JLGkǞ?D?݁?L`?L`?5?D?D?Dk_ɦJ6ٵ~{ryxQH ߈ԓ=$wy) _T!"]"R!R!Rȹh<< ^#]ȹHhsap"{{{[Y6]?.o790BDe}q9)ٗ+uSKׇar6CrJ@DF@8) HgD"; )!V!R!RFHH6`C`Cd`C`C`S + ME6D 6D 6D 6D 69`à ]Ȯۍ_w/_·eT莍&m#&Fee*e vd.ۑ]H/ۑpu'"%"۟gIIII*r&!0?%!ʷbj2ߊa0?NJ E|1a"e"e"e"eIs&'II*r&!R&!J&UITI*r%!R%!ʷbbϱI_!2&əIe"aeUDTDe&I*e"]v!e""j\:T:ee&e̗]T;!:e'j'Dj'Dj'ШNNNhNN*r;!R;!Z IEn'Dj'Dj'Dj'Dj'7uNBNBNR: MMG=LB$L2"%|Oƾͨ#"ی:R R R RԨQHw@0|Q; *n)n)n6#یz0Q.5z>9(t(crD D D D 9hi>Dz::EEDDzQ|N SSNd 6GE49MLg0S9h0AA 9h)h)h)hhTAA9h0F ) V R RШA@FAHAHA6AAdAAQ3"FED D D D 9h *r)r:{b;a2^aPU"W"SU"U"U`2>)&rTgȝHHHEΜkSm, rsga0v˿phbeY3cY M ,`~\hD\ATCcCcC^g2+5NCcLCcJCcHCM)И@`3T 3$0h+$465 sF04&0410hR K%*/4/40 \.̙М!Zj[hD[H [hZhZƥƠFĘƔE3NjWhWhLWh WhVQZIe9+zgȥZ\-1DF FOLOL9jTNh NhMhMhNI10gfBcdBcbBsLK/Kv\RMzђ˯Y`zքRL#JWr J5BZRjјAJ5J(ĄRs9N((TRJ5vM5%J7InJϹIN˜'nܲ<9sKTWF]v W.a.p uKSH_Q.YBcW, Tc+!Q-攖TZRjI5%GZRiI%%ըTZlՒjLK*Q-Fh\KQ-fѲՒjTKƵՒjTKQ-Fh\Kl ƶPhNѪTHͩT"RѸTc"RH5*"ը"R\."5HͩH5*"ըTsZ9_\DjNEjTD9%"GH"!|&P&cap"901""""告&HTHb"a07t$!R%!R&!R'!R(ȥ(JKF{$ `J¤QwlRH"3!EX?T 2HH (7a2^8AS`BbBdBfR mHFH""'Q "%PQTQQQ*rH!%A"SRq}<=gQ|FOOgKEn/D`zT!Ra2sa2a2>T!R!e3.à]hH/4Q8߯8/gy8G Y?Mb_IlnM!:gap b#3&{3o~bH4F!6Q0f'hDCl_Yqַ>)DCl$b#f}KCl?C؄$bNb>Il֏kĬ_ bַ4ALv& $6]'bn&hDCl/$6ᡚ&;TCl֏}z&xجIl4ClކH4fb#Zlb#aF!6Clb#u4DCl$b#AfMbIl$:#Йo,6?جɤ3#Fn}O b$jfDW$&_hPDMw3d&5 DCC$"АoP NIC?ܓH44DАT${Rdn]6.~Ooz~o E<=__ܬ  T[wYͶ nݺ n nUֿacw "K]h|f؟a2LnƗe2D z.LD2D*S|"9 3aScwK5DTS/R Q|]E&E/ nھ!"ݾ!훊|ȶohtHot67D}Cd74}C7 nw(tHo*"ݾ!"ݾ!훊|Ⱦ #ݴ!M" "=_&>aA=cȗiYhǫg4̟wftg9mVf|5ҡ&"&?/ T~{rGBK-DԢع3*OebЗ`n|$x~v:ry>Mo`GNv~}%tcj#;>ԠNG;tdӑ^#~Wud_aDӑ ?CLv:<6`:m'7ߵ|\5Śj(fyTȰ#Ú kvX< ðÚ]t$VCVӑYMGn57'7X< `j::c5tdVӑY ZMGb5ݘtdVӑYMEn5t$VӍYMGf5Dj5t.j:2!RȬ#j:2!RȬ#j:2!2&4./ӑ ԑxL7va:2!/s茹tKtdBґ\ԑYKGf-86>a:2N.茹҃~qy~=6B0x0iAZX([:djr)D)D)D)*o""[d:dz2]aЅd:RL!RL!dta! (~\X-}Q7KO/=o0o JEKO/=o J5.*D**DK/=n0o )Q!VQ!RQ!RQEDFEHEHE6BBdBBR C* JE.*D**D**D**D**TBcגȯ%xnc\V1{jcU"U<%1ı0׈q/~]l. 罸f nt"C"C"Cd{!˽t),>6` 1S0-/QR+oAj6|PS8T`SsS.M56ՈpǩFwbjb\kj0^9|hf]Fs DSs*4(T>Sܡ35L6SJ3՘L52ؕ~i╖7ZA/JK5ZujYQe9GjX*QbFf+(TcRJ5j+GRJ5ϨTr4*(TRJ5**GRzJ5)ըTr4j)(TKJ͝jQTQjTRRsOjT,G,ըT!R?!2@QA!RB HhBH"""""Ŕ\SSSTTT*RROaPO!:**gA;攬+T t8D!"έ+)TBBBBR[ Q-t-D1`- [(bla0ǖcr-D-D-D-D- b b Q-LR-D-D-D-DYR¤^nȾ6#FRa.&Fb[{25'uلHͺxM>zTl!2lƱHş`.0 d,05 *4-DXHH""""Ŗ#` b a b bKE-D-DklPl!RlȱHHHH"""""Ŗ[ht(`a+TK,D+4z""rPaǠ੅|<-Ċ-D-D-D-8))))TB[/\~h.ݩ=Ǵ=T.6g+ˍ5=yܥqLG1 >mY>r$"^:ڜ< 1)ts)lY<&kvX#?5We0mO:֬_ ]tdXC_ Kdz)4HF#y.k.7g-ҰÚ`Mdž5tdXCXӑ`M75tdXScMG5 tcXӑa bMG5-?vaXӑa bMG5tdXӑa bMG5tdXӑa aM75XӃgc"ŚSzfL9r;Q5=xk:-"=# d:2H@&Ln :5_[ԃg.K_BMz}#uG& [zҮs(252نLGJ2DJ2DJ22=h2نLGLO2 :)نLGJ2DHL%Y:J2,U=(&^=_ԣS:S:R!R(HKOWi2-=CdSK ԑ]#/ Ƨ )`!V`!R`!R`ȁȀFHH6BBdBBR  * KE,D ,D ,D ,D ,9))))TBzԃvQGXԣ nN  KELٔ8ԣ]*rt!:+)T06LG ,D10x X*΁X^ ,/GzDX~E?,7o|crq}n{Xn=q.LN?ND]$|3H4eM]H4%<:'tY. thKk3'thK;?K_ ]5e't &t~y&t rB.'tY ]$~&tY҄.a%; w9EQ˺E. tY- tuXn.e&tu>x@ ]4]H4e"@]"@aE.]"@u4D]$"@AeM貾 ]$"@. t">?j貾 ];En|.r]ф.sex'tZȽ t0eM"@EnqD.fBL"@bB!% ]N|nx嘻cuBKRM%C_2Ġ.T-դ͜nTT--5/sRT[-RK5N1+-FK5BK,5,GoԜ-T~szQ51ԜT+J5r4w`RsJ J5r$R.T{*J5B'T'՜O#d*ɍԃKVbs[yPrI ޱ]ғ~[K_:2!6]unׇ!GLQAE e:\w}Lj+L*td+ ,=o_=w}J?)ۙOGb t{v[:喎6<6Jr/GD.B2FC;7D1Ԡr M1L*àp?.l+FHH饢^Tz!Rz!Rz!RzzaRHhC/˟=3Cs 1DCdqRקŻ85xnX(a.mtHuHuHuHu\g<3Ī3D3D~MEbC+6D*0D*0D*0+6 bbe"eeeeee*r!R!R!R!2YHYHYHYHY"ee ˬG6.ci,KKoA=HF=]*=9JD79JDJ5DzRE~ff,à TF`]]6>ت.4.'BAy.BdBBBR]n8.D.D.D.yND~56tcu J1?\3)"""bNQێbt"_x!Rn!ߌ.)цTTTTӛjЯfCtTTTbRA'"%"%"%"%- / *))TBd /4dXeHe"""""\VTVTVTVLVqY!RY!RY!RY!RYHeFe(^xa0_xaR^t""[t1gdB!Ց߉qݱ`à IEF&o=k0L?+Rk05x )M 41`/S J7DJ7DL 2L*2 25tCdtCtCtCtSQ/à ME.7DC1Dj jL j Qàz z zLE1D'hDO'=1JrN"e(DCQzR- Ef(L"8eM"PH4e}L'EYҤ( Eh(DCQ$jEY7H4E(c9)Pu4E( E~}Qnx[Py\L&>֟[ob>ÉL2YFH4$$z 'ɞ,!?,_YG$:>xd}@'2hIv &F d+ =JzVwF&;\"~'hL Y2DFn~͗lȄkR"#H4eMr\g^ևN"4eM"p5En~K{3%6aMJL~ '{0eM"ѰTs3%S'.2bك!  QRw00x⫘F~ݘ|7Hwct7Hwct7"ߍ!ݘ LEC^'f ڍ!"ݍwct7Hwct7Hwc*"ݍ!"ݍ!ݘj|7Hwct7Hwct7"ݍ|7IٍHW^*t兹xRcR`teD9Jc0D*>D*>D*>D&>ոTCC^f ׯ@D@ \@ Ĥ*m(V cb0V U*r"ɵQ Tw(@D1 D+PM1"DՠMzQ1U"ĠPEw1"D"D"TQ.B Ut1"D"DkO"Az SNc۞FO b :?Ċ?G"""ja2Oq? *TCCCCSOE?D10x *r!R!R!R!RHHH""""şhba0&*r!JIş#Q? `? *TCkP!&2c2L̕&s%b0V"Ur%b2VT%ѽ!"!")Tt0s?D?D?àOEw?D?D90@LJĠ*QDL:PE.BDgDzKE{.rL9$E;2Htԧ#SRa0WLէ"E;2!Rd#Lv:nܣG=rO ud.ԑPGr5nPF@)udԑPGF@)udԑPGF@ (udԑPGF@ucQ|WOWCj=i.D.QB=P.ԓB uP.ԃ PG ҅0(u!sI[ (] A[ (&OqJ<=hӑ]K#ќDnhRA#k)d=h4"r7F<tdC_6'x:2Ȍ#3"3tdQ9=rs9pΈn:K$wdJCJ)|zx(͈Td*r!R!ߌ MG*1D*1D*1Dd,1 ٿ8ݿAU\iTiTiTilHo:YYY*rg!2g9,,D,TBBBBdR; : : : :KE,4,DMƫ6=q]*TB~wL;|LNu~w8g!rgY?;pm""ک(Tkk:JWhz0^tsSxo ,D ,D ,jL7ӑ td1D!D!4!D!D!m8p !R ! qӃ#ۉYޝ  Qmc06PPPP*rB!:E(O|w*TB$f> љoxC/DJ/DJ/DJ/D1dL/  .)TBBBBR Q¤~0ѻt!JOSCCS+****NE8D8D8D8D8ոTCC+0i'LubS Q\`ä.lk. q.ؠarɖB(ޠ;6hYYj2g!U3z2=A##"#"#"壊h*OA$"$ 6~U=DD08LgV.*rp":N7_(ӱeԙkt>G'"'"'"'jpb2'*rp"Rp"Rp"Rp"Rp('&cpbPt"w$ؑD%{϶@Dd@D@D@D@TQD *)VDzUE~Q)`)Tz5baP7nn*r!:7޻o(<7 7D0u nnh7D 7D 7D 7D1pd 7 *))TpCpCpCpCpS Q7Lpà ME7D10x nnn*r!R!R!R!RHHH""""nhnba0&caP"nIn pd 7päME7D 7D돔 7D 79p`7Lp`75 90pCpCpSz Q1 S1D141D1D1{1C$szT!RȁHH(cAhT!R!Rȁ <_ވ-V/hk h$0s!xV7vyf 3Dg_hMtxf5x㷫'Єw9f&h O@#M@#Ь h$@~d4]IrևbHN&%Gʐu4IDCr$#ѐ$9[$G!9 ɑhHD-9fH4$g},'ɑ[H3$G!9~oA9oD97'A9g4Qsώr$D}p͔|gʑhPNxG;1'{/A~-&~FDMf d>w27S{ ÚpHC Zoi2|#0|nR?̧MYw䖆ﬣw|ևH4'6'4Ov_|$>2|$#^.Ɵzsvj=4g.C0d-9UCc84C.\`ÜmT+84Cc 84Cc7 M|`{\|kԜnФ :̝ϡΩFshl7Vshl3sѽ[ˡ[ʡJt%6rhl!qhl!eŹAzmI3wz)yu@@6 A%$$K.Rbÿy4KD3ǚ13ZQ* knp5b֡a귳2\X#&]W`FtU^;v:wa@U.;Yfݩiz5;rabtrrƧuPn~e|GHgUبDvP`z1oMaޞ71TLG!*C P &ݣY9Ce=bU=ez"nϬߑ:R(IQ1Mj>h*~3D["ACHpN)H*tFQ Bk$77#%HATG By#A?IX! ;$%IER2"IPZ$)8dJ.) I& B$} JQJI:%A(U JP, B$R@Ġ\KJz9] ZX; .r0NQZWRJfry)$-K um$qd^9)wNJ9IK7VL;&kœD$x7`^>EZGAs}N(9 >GuJ H* A( H* AGs9|4rP-P{Z( v@heP@ t@+4B /d瀎z HAT@P +Hr =PB#|ʛfGI4;BAYܐfGB#͎ 4;fGAhvDf'6;B#͎ 4;fGPO%; Ŏt%Qi`(-Q._$XB#(w>Sd$T tJ7>I$An晴ĠJ,>YHP#N;!fH ֤Y z%AO ϟ G>j͘Ց TGPxYOw:62I-.3D4p B/{!AA/$ uJaI t?BA~GB#ݏ t?GA~' v?asr`Gܪ*'iϋՏ T?PBAX#(y̓'O0~a1Q2yĪjH V >)q5'7aJrN@,paOi1AlpWaS 3;+~& 3&FJAiiA$]yNO{gvZʠvFڙ1g>B)3Ϝ23i3Sf7#L@\sJa ,F^!60Bi-d W)a=& 5Dtz<@(jbQ#E0(jYFA(j E 5PBQ#EM@,jFA(jbQ#E 5PBQA$jĤEyQ$FA5PBQ#EM@,j5JE$jaQ#EQ2-jDQ1(jEyQ$VB)KA))P^(RFPZʬneMs^>?]퍂i{ ڛAmQ#[9?KtJGL?샻At7SJ)s TO?W=TNWV4ٜ|euɩ9z(U ]@E㜽4HtuNR;eeiCqN^ti]i98MJ ETNX_$VY:?i$f]Yg:g 3]_r AX r AaHPH r AX$ˁr AX$ˁa9 , ˁa9 ,@( .@H rHI)/Rˁʗ)@H rH ʗ).Rʁr AX$(_dHA, ˁ`9t9r %DHPDH|P"GLeC:-Aʟ¤|"GP~DKPzV0/CDKPz%Z/R0DKKw";brK%Z2KjKz1%Z` , (Y.41G iN+uJ.R p \r J5щPrR[Vo)e:pV@\s>硚Ca"{Cdo 1DAho 1DCdo1DCdo Cdo 1DFC`o̤;.;IO2DF>1YCde 1DVFZCFMYS 1hj 165NfMdj1CPoUS Ze 402ơqi"CٵWf^92Z240&J/R2A20Jr2zJA\=e(z)-IHIr&zʩ)Ǵ3N#;UH"=#(gJr*ʩ*U!cc(elJ.R.ʩb*h1!4R-rjHLc ō 7àf:FA(n& 7PBq#ō 7FA(n ō 7PBq#M@,n-q 6FzAm 1DO:7Dϵ2D%V/V?9=~u n/^U۝tX;[%;O?)ة] u ~RO΃қBGPNt, 1?o ?țI$A7'GZAyɼQ- FE ]t=#c۳V:t=eZ8C#=B۞KQ m`ƞ:{bC~86~^B#U * z9P"GAaPBB#E 9PBA(r"GXB#E 9P"GA(r"' 9HI맜DPzh|GB#(_d*GARCU9@ O& ,6GɴQ0qDkAY\Z(Y>h.YG,2Q0q"GPZ(8"PkH5q8J5NA(8JGPND 5LɎ2^PBG)Z1%(%iRfpTk,i ()iHerFQ&'i"4ʠFPN(ω\(Q U5GZ9J iκtLYT9 %BYt7 f!,*`_(kMBYt43f!,@/(efBYt1 "f!+ ievilBmYT- e&X,j _2,KMB&Yt$ d& `0]ؙ\;K '-LZ 3c!c ǒڕLâΧ]Ye u]gLY\mݱk~(T㈿A~1|Jc=5 AX ^/KBX}&KQ*U,3t(.DYY,D^ٗzY zJsWˆceװ(-Cӑ/S;wW,ʄ?ɲZ8WxO/Zv!  1AʆAuAX?B!% PE6B A$f" OBE!- DBLX(JEY]B{! tPc&C A3DV#mB!  yiա`BDt(B uQ.-ED/"(F7Dɬ#Q.IDSAK5Q0/N"DPZ(7(JD7T(.JyEPڿD0`YPʹP42J2J`yI@)A :Aj2$ʠ (sB#Q0v"; R(yV=LFts{!>P"c? C$|bc!>H"#!>H"c >H"c!>P"c!>HBcq0-| Q"c!>HBc!>H#!>H"cc6+|̖8H."#ݎ!v;K8rA;hQO@P8t6Υl1DP٘U=4?HE=v6qڻ:C)g9Cl eLJ8EPJ8EFPN8LJ8E3gpOli MsO|O9cCdl eYc`826N1DP(36N 56FAaBcBc# 46BcAhlFBc# 46FAhl& 66؈IFɴ AhlFBc# 46FAhl&!c#6mlLBc#M@llic AhlVclQCІL^("& 1Pj(bELA(IU Q{Ci`ޯD_Q +~%WRWRWJȯЯBPʯ(+Je29TƯD&WB"_Q0W"+ RWvv0LJ$t9{!0FP0P¬PGB #% 0PFJA(a& 0PB #% 0FJA(a % 0bFQ Ju% 0PB KA(aFI`XB #% 0P4$aĦ%i JA(a %Q0-aD #% u$ 0HˆK%QFJAm #%7H%QB #(-aKH0JFPZD%Q %Q %L@I I19 JA(aJIerFQ&'aH$%R(a0 %LFQ \a_`ү(5W>ˌcn\WPW*~0ůTJUT @ů_6T__y @ůwW_6T__ɬJ{W)~_*X ^TJT @ET @EoM#UM*M6i36h7ONOERKQ+yLQ*7}T΂gw]J*NTPToT^6SIJT9l`-ZrKr62=Mz֖֖bi/-M*ucu;i^Y+uuΫYUtYvEbtg2:s:MtڣWJlmREE~M6]euڣWV'1bu`bury%v`"vP%vNpJ8%9y*r'"wUľ*>ѕ'J$X܇R V3`L0X:2\9 u3`L0X52\4 %3`L0X02\/ 2`L0X+2\* U.ɘH`K0X V/+u/@;PkyvT"\ VE1t8T'?.Yzzt=L& aVkaID.] 9, `S VCE0k`"%0+0`L0%t˚;D.&+d 1' `@>1B邙52`Lc>T-sr!i4gH4fz&(12`ʤ e"PL&"*Q`( 4_. &]tA̚Da`K0X =9r13R2 z=[A; 0!r0DiC= C> 0DCC? 1D)A@ 1DiCA1&LV8H.AhC 1D> CdD1DK R C(1< GaH.r08%'Srl!%ЗJ>Nɹ0q"ּN&[:1N*C[A)9~8%CY! -P2&})9Z9CjHCd\̤V(9E+ V(9E+V(9LjS] cT8COJ2D6Dϴ6DrEPnɑSCY`ְ(V,9EiC%G 95g z 5lSau#nDfPavGB#N@uZGjAub# :PBkAuZGjX"#u^0KQ/ @P B$P@,H A$a$P#бAK4Cf枮qJf ( @e35QL@\:cjg A񌙼QM@,mԖ6"PF|A A1JbQ ] t11 mPN(E2;L(& 7A{#M䰽DU3X>TrƩԓJ<;%Rw~nȝGv{CqD3Аy<Ꭲ4q 0àf:4FAZj U T-PB"UK@ZjEAZb"U T-PBAZĤ+h AXA A(P@E XB" (HEPthTГIW($ v hNnw»»d"(-YHZA\l<_"͋ .i y7oÓE#7(%QBE#(h+HvjhڻL/lr͍ 47& ZVʮTrEL@,bZG# i&SB=뙃P i%29ZژƴN"AhcmD!/Q t2B';ACNf= :B'#? :AdVdNF:Adb'# t2B';AdNF:B'# t2NF91d ĕ.'} r{fnFAfb7#݌ t3"7 A=AXz1ԻPڱ(w,JyIv,ҎEcQcY"cQc ;AyǢd۱@"(X" EIt,бJ;%yǢ`ڱ(E:A1,^1d2FA1%eRmSv24FE),i1}i uL@ZAh_uK3/ٿB" /4_?gϿBA_A" u /пB"K@_EA_b" /пBA_Eؿ""QpȿEA_% /пB" /EA_ /EQ AV* 浊U춉iΫ'v/ fgQ@_m"7%ѿB"(_Hi A_K$ѿIEPGܹOo{^ثտA" +%R9TN(+J^ n~KriOYop0JF:A`b#h|N?z12DF:C` !cL@` 1D9C`1D9C` 9C` 1DF:C` 1D9A` 1CP88`1D9C` 9C` 1F :C` 1D9A`̐1u0` P8v0N1DMZ2CY`V8U+Zj5s1?Z1U+ ՊV Z1U+Պi`G4?V 񣑎w}[d}[ }Yߢ C[̐o1DA[R)ZJd(WJHBb(WCidҦ()NM1D6CdSM14dS6&/bХ `Ф=J0QcQA :`PeeH8VA a j`ЪR%t*+J%4*P }J0SVmJ0mBoNߗ[ [N/H =J0QA Ja *`Р%'+$'< I0NVI (NxRHAA2GA=rr `P,Lnj#K{ȥHЊ K`ЉT"B#LZ9|"<"=)$f.d UH&$(B1<(t|Gw - F00A `_LR_DENn#B3흡Xj1.asptE[-ck J`YbeX3$,+6(TE@EZh hBTx ]qyц*{PQGPK>Ox*QP1Uц*WP[P_>hT0EOT:`SȊ蕭 =b.*"/r'2gAўI6*rb7JoHo"8)8NEqOh,#bCI)svo`$yO~*Q:_=ͫv*]ZdXJ;*͗*tK5 @ŭA%W3K{^^L L2,U)ͨEDX*t oJG<[tde9lJGKbE^EҴҜLP T4SRIbi2*&q\I8]I~q\Nr}*œOV U'ɫ|\OY AXװ"AaEֱPEVRAX"Y@p9 YE+j% .[u+pEVҕvEAX"WAHL1Eb ,^ Wa _,N%K@Tʂ[SB TBe0p ,}H1qL@X(#+eqم5F).gK]v(>CA,-bөDw qNaNb%N@\#9vX#q'5g˓$A<&ߩiNS=),kJqNcBX#&HjBGPNaN@m5kÏ>jLK{AmO{\}83TIPN%A {SX#K}ez ?W5#ܧ AX$JpTԞXqa!Ahb3$͐0hZfH!Ah ͐ 4C B3$P@lfH!Ahb3$͐ 4C B3!AdĤ͐h ͐ 4C ¥Mċ i }D'>Fnm8m?!:$k;x ˢK+%q \o/gY8:=:u{ -΂]=v (V( Bp7hH浐v &Y#%(DtU \%("=iG; #AhA{ۣ9;5evGp]X@FG)EP]?wˢPĺ5dY$e EX5T{{CL)7ܚ_F8CnZ"icq!6J8=猲q!R6RƩlqS=NQq!4BKch-gBK[AhiAK#- u, 4BK#-M@liFZAhibK#- 4BK[AhiFZ"K#&[ BKB;#팠]^HMQp& Ahp CG0A#(.+DkAɅZej9bGPzV$;G-2\iܵG͎B-۶G-2Q2] -2D %io8Jj9GPjS9):brVG)*18JQB-LjSm`>(rJ/N(ZTF(C8#!|Tij]`ZD0/wPB#(rK- W@Y? ;`P,L'> ʤJCĢ mP0(V]P0A ` k`(t@Z6@ $"'?+'t? rA2\̐ 6mv"GĐY9:r:fiEnd"-GSsgeXCpNNXE; ӱ8p +iWXB9X2dtέAX''tF!!#l"1Xd#(_ddFAT-еIJEPFt=\idNs^UlrN o*Am"T7DT <9ފ*=(CW Q u )|RE ?qp.pTF)t-%Kj""&WRA\ʴ:vgZg+h{prBo#ōtA邚 j'Bg# 64mW6FzBo#? zAmVmFzAmbo# 6Bo{AmFzBo# 6Fy1FPmka# 7TFzXFn@X#K0_@Z % t,bб;%ӎEAt,бĎEPֱ(v, cu-+)lW'JfՉryu$XBu"NDՉyuIV'D:QՉ T':S'J:DPZDՉ:Q +R)yc֜Ȟdl#݈ t#܈297Tƍ(s#Ja K@H.jHg# iHbgQ{lL1$ 6&q sΟ]_ӽ|7_?Wo4_Mgw_tv}u~_|]|91/Ӗ?u#y2c]1K5pHПˠK  ^^wqe X?m2mwV{,g~w#3ZXswn2w:}RcyYEO nZN{9u7}ߏs/1({q7ќs=>wo{7.\^r%Ԝ.zߦ\^'z\^GWⲫ#ԩ,O]vk.u_[۝c~Yu9|ݿ2/y~ uѴ nU.> -~~7_~>:]J.ߟ01jɶ[|m)m>vt9Nqz2Ԯ'{Ov<0xg|d'z;yrtr?NO|>8urN_'oϾ>ξNL?s~V}r^'x_WY~٣ڦh'NNvg_'G8@ܟ~??4rz}t7]O?Oyy6}/"iwm1ߠam}q=~[E}L<ӝf1Ǐ7{m}V{Xm5u̿m_\ jj~}zmn_zmn\~ߎݶp❶cmm(¿kmCXץ`;vۆ±Kv c=kmCXkmCy{n}.?DZYomPj׏vbAnPOƺ.%۱6u_v c=_Cm6 Z:#mm(~l_ c]s-v cMbmC ޗB T3^ׯ@M5S |FGݶѝ+eCm6 4vۆ±ܽEw6uc=zXm z mƺ}f}mm(z>؎ݶ;Sh;vۆ±nۆ±N>fDX۶pRߴkmCv3un\n7U UY5n[MMJZWןm4ǚ[Xm5U>om|z]XmzLwwumCXXm Ǻ?nP8ccڎݶpRkmCXBn;vۆfnnP8|{Om(TmnP8RkmCvљzݶ Ec}wDs۶pkڎݶpzGTݶpqmCXk7fS@\OimCXp;vۆ±`걶65zVTUmjDZ^j vjk;eōasu]+wXrcRָ9|[*_kEM#xccݥ[:T\n³ӚeNLdQ[s?6ꌚ_PmP3زޯ'劊-55y)lbÆVP5zcbJ߯ۗO]`9Ϳoq4~a|_A7?O? l>Oo4׿+cRǗQ姘?WX_~w2k252"yL_+*~h ksou=n~L6z'>uǷtq{kw粆~q4}s4t?;?ʏIÿ?^?ݮyRLb71ֻoG~übj]_}zmv~03kK3t_}0} ocs m9]띾Sgz^b o?ϋ9}77q_&} 5?>e.wݧ L_4?׫9fksN_y1{dz6~LW7?96O/п6nN|a-7;]}nCw.pfԿUgW|+毽3}];?ճ~n_?]̅^ݑ_ucww}y1/ؽ/fy>o}Nj߭߭հ?wkwk5ZvZZusdjZg;a]\e7w%L_5_]nE._/j?7t;eKgpf׋X4:sU^q1+D>j~17o맜y6mqy33sGn>;os}9k7˪IxڝZ\4pǟףw0ޙbyemYr~׶͹z=?:dxb|h6z33y]\N]wx}q}ϥ%v2|]>/u.֮o\2Me#יNo⯽]_owL\D}\wm|*ynPf(:?998\\y̿)bz\J s0s;a=.*t>k5ܞO<{5t}|y'9/勉؆knazΏ0Çj?ya>+wܼGՉܨ^vtKk.5o/YJgb".X7.5?;u/@hFXW~'N7P.|Xv.Lk8*>/^@q[UAӥЁkkw7]|ݻмށsGgNlǑ6\3;]ߗo+tQX.y*cK]zAm.+թU04^z{5)xbG xދ{!6/}LWm~_t~~2я1;n]aտ]?V Gq{ﷹwY,wJ0cv[] CnQ˪A/7~{ޑޱI」{\W'ӿjI{WC>U {;_*y`2jcQキ n˧T*dz_/=?{;}W ߏojixWZX= C0t?\KN{Bf_?f{Y İ;/VWf&>Dws|!Wx"v'%~o yYSEᮿƏK?z0Q~t<O:?4}#~'b);\3>4~ć1'|"Xyo4ƻsɣXyo4K=;=?R'׍'n-N.ᝨ'nEf0Tݯt"D]-1q]|5g{U;W;M~sYooNo={궿 Uwc/@}ߜ`}w}?f[g[M2gb$@3\{M'Q D-ƯdA}ALl~gbc 3;hϺ9alDCZ% _لB?~ZoV8bB}BBDB(j Mm)*=RePPsM-yă.Cih}<̶ mRcT+k фjq?9m-*^J\g^橭EsZZ[J]^4'^ HhChC~NmRm)Ub9R6P7. U9s4GUGlGGsNh_mGGsNhTH-HDHo]C!ER)A"DA> %tq Pw H0Dt"; u lpĆCAh80R# N4HjB!# gJ >#>C4 A>Cq gB!} >C A>CqP} gB A3># gB!hg(># gB!} >C A3= A3Ġ>CgB!} g>C A3># gB!|׀>CPgTgl,ȍI8ʍzr88N$QĘ=.7"rC ArCq @aY뙎M 4t꘎ %0P3e!3/P'7ʍ(8u#1(8Dc ,D*X4V!zXp(@zkB!5vo86 A3 4n1`!- bxM%oA!qĸ߈Do(~C A7 oBekCаPG@l>CAh>b!͇ 4|c|"!͇ 4|CAh># 6|B!͇ 4CAd> J4|1X067NtaH':0NA0a;Ӊ'2'$N`$50M2tbo b Ctz 2N&A 2a C 50iz<-{35-"ÉNsГ}PS CTCPqM5=AuDa"eu0D]6 Ql쎻ecN]P C.y;'qGa>]t{qwq04 j!nFц!jamf!azkv!jaiv lah[}oxWP'ц!jam!azk azkF@[0C5 Qo C[C0D5 Qo C[5 Qo C[0D5ao C[05`o Cý5y\ahx%NP>%XahÉ'J Q *0CepYeJ`Y!8uOjPOl9b rvP"ah\x(# PxB! C ACqu,N0D9C5BaL!P^ C( CVB* A(" VPQBE! u RbPQBE!E@(B* A(bE! TPQBE+ A(D"V:|ݾ^n>Bq_ĸ ABq_ĸP}E@\!lW`_!hW(BиP}E@+BиP}E@+ %}X!SqȸP`W(BИ:+@_!} WPW(1+ " W} %gŅqqX\Bq!Ņ P\B A(. %E$B P\Bq!E@,.BX\Bq!Ņ bE$X\Bq!Ņ P\B A(.XDB A(.Ņ P\Bq!E@,.B A(.bq!Ņ H\Bhmty? j@(Nw ʔt0D5 iq< P. lQ]O685(4(PFa:5gkzi{i^?B? CO@O@O@~O 0kqR ufg]3'-4 uZhXOШJZhBc3$8ʠ:3NNe}qs]@A C1@$숺M2458d1jQ QnO- Q9A 2 D 2N'B2 D2g 3 A@AQsC}4 QAAAA CG@>$}4hnnjw( u8TPAAAA C:@:@:@:C(PuFauFuFu!jQ hQ hQ hQ haZgZgZgZgZgj0C3 iQMo~ Fu{DPSqN Fu  *(P8^ `DFu (c{iWqJ:ɎD JttGuDwCAb!> ;w6Q6zzb1똑="'bИ d:BD1DR$ "PB/"ň 4#nDAhG $А"E ;A bt$qIx9f"fW(1^xME!`I"%@Jx%KC Qb8D $$4^ ABJԈ(1^$xC׉DHaƕD+H$DJ@Luq%İQ`\(J$ V"PW"J +ƕH$JD T"F[*XB%" T"PJD *ADJ$ᆦ%JD*AD >[%+?@%~ R "1z#7zC A7b! PoPGo"! PozC A7z# PoB! zC A7a!hd>_qSCVn‰Nr[:N uZOBi v\;N Qw`SCLV==^ӓPSA=5D}O u_{*žii n;^gr3u65MB%zMu75DM Aw3N nz8@w̩թ lujZpS;*ANN ;uڝiᦦN@Sfé!pj: ¦ pj:5 hwZ p*:ϖڝϖz6npWT%+!j+ j+j@tE5C]Q QWTCUvE5D]Q QWTCuE]Q QWTCuE5D]QaWTCuE5]Q`WTCm\aSQU*1,ڒ/qSQ])ѩܨ.1TnrWnÏu{z}lIt*7gWq:ӆrUnUn?TQ ((g*:OO- zw{-jgPj*uxRHp\q 4 D5&=vhϠݿKz'yЖ=8'聴{H`Ɇ!*0D%dl 3TaJ6 pbNs8AsbAXa9 DX QɆ ,0D%dl.PK6 QɆ!*0D%dCl CTaJ6 CPaJ6 QɆ!*%dl CT!K6 QɆ!*0D%dCl CTaJ6`ɆNFuXn;BиPb^(" :P'!2WJH*CаP`\eD"ah\e(12@ A*CNl{:N#P% PrBиP%ǁ(ƽF$^C kB! z ^C!! 45J { ƼF Ę=5`! kBz 1545Hx %kB! ^Cz A5b! k`! kB{ A5^c:^Cy 15^# kB! ^Cz A5 k" { A^c6}tqDkLi_KACqɡĸPb\rD% ڒ0^# z A^Cqzkª AB %h/uigK*1{ ƼhƽF$^C kB! z ^C!! 45J { ƼF Ę=U !U TPeB!UF@2Ġ*CиPb\eD"2@!U TPe*C A2htZ_ Hr`!% PrBKA(9c:CI1(9# PrB!% CJA(9% Pr" KAܘc՝'QݍNlj:qOhGutGr;qjw8?^[I8tjq>+QN[`[- l!r8Ԗ{=:_ ԰!wO[yH8~©Gu;(zl#q}=a_AC8nO1sOϣ@# n!Zx Nc?|q|q2xC%G@C6 =ACu{x1pCAC6 =z( =Ow=o6 =J4Pb =h7(xHpAC=<a !{x+!zx =<aAC{x !{x=<aAC{x1]w>X-rS:RnU^Dte)#:#lj?ʼn'KGCP:r>u#1ө#92:Ih!-NP #1Du$P`8Au$:u$Cg۩#)ā& NP-^-f:'˄J CTa` 'F*L wr2<rCC 䆫K.=^]=b'DCTTbJ7zNP 09?7Tnr>=14\{=E*L Q!01D&]~P{r':1['xTJQR QU!J1DU)*EVCTbRCPbR QU!JU)*UCT"R QU!J1DU)*EVCTbR`U᪔|eKo /qbxKo`"hxKo'JH?DKo 2Q&dzQ jCëm^mZؒBK"-6N% h|hI q-%9vxCmL!4F%QV6ЅBB.D Qbȅ6PCj'W81C!A'|CmLqH@,FbD1.$ ZmcVB!hx(1F6N .DABb"V6h6N qV"!fkD kB!F@5^Czx A5Ġ^CzkB! k^Cz A5^# kB!F05uFuOXnE"=CqɡMD^cwkĸPb\r(1.9aN]q(9ČKH)9NKAK%PrĒCJA(9K%@rwxAJ4?"1?QH%PB!Y! JtvA.х.DJMW}gKA%xCAh<# 4bxB!hx(1n<"0JCAh<b! 4x0J%e}Ah<CxB! 4+1xA! 4CAh< 4xB!G@l<C`x*"N qb_dwG j6R"N qbE"ԡHa(1_ /R h)r~xE"!/b/1k)rTSK wq4&-E wq`C]DLCCC!q!jb48p'F!q!"R!G808Dx'qH8ABaC/ 1DB AC"0u1D]A QWApW'8A]A AWP q~!81/ĉ~!N@3B~!_!b~!_!b~!qC/ 1DB QA/ 1DB QC/D 1DB QC/ B QC/ B > ./q14"ĉ!NP^GrbE-BpbxX b}ÏQKA wqJA wqJAa)!*1D 8)9': ~!NP)~!J q`_PRn9MC]R'81/ Z#cjC\#czHĉ52i! 9'1rƉ."GW80jF'tp'֑:`Q"NP" qjO מ8AEaCTab*L Q!0&81_ =5D5Dkj AQ55J`!01D&U CTab*L QI@\ab*LP!01D&U CTab*La!01D&U CTab*L A014fzm^="#R4%8"%e4N /q#RkA%P\tGg"% (Ƿz%X^OD>ШFEzEQAi"U z*,C eLBC eH%h!Z(c p e ;%F80P4- e BC eY(cxxc eL4P Z(# Z(c Z(c5F@P -1BȊ v%@V=\Bs A]s?$\(ceE@ e^(B'i2XcB!5 PcCj A1XDC j A15 PcB!5F@1Cj A1b!5 HcCиƸ/7!h\c(11@v95@B1Y!z\VDe e + s|IBqYĸPeE@,+a :s˲"PeNqd.AиP`LcF!h\cD"1@!5 cFK9Dk %J9c) 4BиPb\74\7Jͅ 4\Bs!E@h.ĠB Ah.bs!++ae O~BиP[Y_++ %'Ġ OB?!D@'~B A'Ġ~BOB?! O~B A'~" OB?Svy&7v-E/cՠA øEAQ9QÚ]D-0I>->ԆDt*3?( #ӡ?>C^p?!J@D?(&[aы)wEYQͪ(Ȧ(Ȉt(|5':p&J@D~G ئ0:) c06( c{06':ؘ(mؔ(-C0|ȝ̈7yDv 3'D` 06 :y?vەC~1`ceabU kbXzz͂0`caA0Vo_z_7/& ]XZ0VF;0V..0R-`k1V-`icE YXbmYX:0V0Z~+`]1+`[wׯ*H%E`VC;ZNR򛙄ȈHRdFKwjU> H [ a ?ql%3z ;t ?>8K4{ui"LM,%t_" L_MLҕϦOL^nLґEbtUb-fvx*/)OT)&AĩOMG(wNcͷ%Q9Ї @:yt$aG; g|P3B&E&V|QF ۣd>H}Fg$QЇۏnߖ*K/GJT`g0DGӉ51@2\a<.0^᣿?@e]$aHE s]2w0.d" u]2wE s@.d" u]2wHEz@&2Ixs6m dVc8#Qq.G] dV#P=\AHHHBLț-u$̑@Eғ%̄Z.gd_|:DgCzAnx$Q7MP_ 6 MimHkimFk@Z&&6 M MimHkymHk@Z\ySH@6rF.#$t"! @\$d@:X+`E d@^MjP=X jVV+K _dz@3 zLc @zLw$; s0@zH-Z %#@*#j rK[%#@& 0% \Lt : u@`;Lw@BPH; u@ F u@rwH u;RwH@;2w  @ jz0\\P| @I|pDD: uRG'$zG1 w@(QՎb8 gwjGD(BRGEQ$QOI$aȄB^{ڋ@f/SISIRȼF *ڼz@Hk aj7 !Ц3T$Lg :#@3˜d:HuF jD3u^g$a:#P30:#@3d:tFLg2t@3d:# Lg2t@3$:#L3HdxHDGZtD O2t@3c:#@ $jD30t@3T$jABuF Lgju^g$?pèȟ< ]i s:q<+`θ_ b/oaTd { cj1.%00Q1ۀQoq1-?/œ++Gsq92/qP1Zaަ0-Wc;«FŸF0b5¼A\=`N ˉ WèF0%Q-q1j%Q)1:aTI Fb\H >bèFeŸFU0j"Qq1!Q 1ZaLB ;+ +Taj%p0*a0 9aL/ va n |&Л baQp1nQ0L}p0aT' Sۄ@&Lw _?:lNɗ$$Ih۝\LM/ߝLv'$N@;Fv'P.Hv'$Swv'\Pe \N@; d\N.Ȧ&d YF&@$~n2 |~lwe HG($ j&@65 Slj2MMz?5r@6BLF(t2P@6BF(l2P@6BF(t2P@6BF(t2P@6B #l2P0%  d#dr;)\SE~2 $@H~2 dyJ6OZ۪|2\9dsȤ9lrA6i&-ɤO-/I.e  $c0:v4v|(KG?HtG?@ޓ$ JiWb /KI[b;G?6&3ABKykHk@ڛ~@kb ? )O,HyiQb)A?AByI|P HiGHKIKD_ Q$hQHyUH@ZO}O}L›@Z$L1)N} -Tib ThHK@ڪZ@ޫb6+Z݊\ Wib /XiH+@ֱK /V9H= Zv-lm :-o m\&a$n -Wib Wi/XІP_w,d- f1z$NEoﯟ.!$uJBABDU$F26"$"˫TLDGJR ,D B쾵D<_=i'=a" x^lo.f7C׳$Ц/d"鋁 }q{g}JM]2u"@zEH$$LjF&5Tj2ȤF LjcR#I@&5RȤF Lj2R#I@&5RȤF Dj1R# d7d"P.Ht\ټRHUrڳx<$@;Lw_@6XtG p2H VHBuˇ߿?(U屽f=T{.>^i@=rȴ.f7xWn#n#Hm@f;/ [d xh #P5Hn:$wQr*8v(9^hwH%J :K 86(9^a@*8r(8H+|?ʍWZP/6H @*6Tl bF @*6rbH RbH@.6Tl2bc @*6Tl$\lY'# d t@Hu2>$zIAB%J i'#z @fu' 5@TK | )Ht?*@EH˟$d"]'. d@:qH&._Fۺ#[t"[:[+m@:mȦ-ٴE \,H-?uZ$ I鼀q+- ыE ۹Hw.YG/~xx[d@~/_`F ?bw1] dl#b] cl#b] dl#b] dl#b.F dd#b)@6H0$ y{K/@jσ@6x8xqjσ8^<8xx9t" ^@2x ٸl"ZY t<_燛>L?X2d1۷Z۫a1`1f;rڵN>W. Zkb-[ ]%Hbjh1,њLxd}b}bڰ`1|ׯؖ/`S#W<42)60ZF'E&>-2v)*xb-R c0Usbؾ8qtFe hWb*16%Ѣ0ړFk-A$1v$ъ0ڐ/H a1#rx7bF ͈aq1ދFkh+b+E J0ڈF hbCXr) h1bE|3Z]'<׺0ږ?q>(NLMLkqP 0ڟF詎aPxCb-H a#@@a3@= R@@,t?KABg3g,2[R @:KRf)U Hf2g)HtC0KA7 $z@Bg)' Rg)HV5IbZ q 7MjX Q.a @j ~wbNPrHj xQHʇ>~RH @ AR 1k @*"D] @#@ Jߝ@ ZHP/&& ѫ zH}պR?H *QRKdb@EEZT$Qе "P%*Bע" LTd"0VQDEZT$Q&*TT2QDE +7vP$@v'@&xCxHCZ<䑄ȇwY7ou@f!IHG&+RYHd"\$P Zd"P-+0Y"Ɋ@&+ddELV2Ydʊ@&+d" LV2Ydʊ@&+$" LV2YdE +O$jYɊ@VD cJ")@ +$j%D]HBěe LV2YdE @*+d" ?>'K:Kr{øBd\ⵔMB&B|v! Z'cdbAA6(lb e:łdbAC;dbu"R,v(lbcd :P<_P$;D>JQ(^w(va[7܆)iⅶ2Ez" [e@LȖ)2E [e0LȖ)2E [e@LȖ)2E [e@LȖ)2.Se@LH)2.Se@LȖ)2PLDL-Se>XH]H)2E Ydc ''D ]d+le"L;hwP'ě y?F[?E7SϟP=D= l@f66i2#Nl`3P=D5Z@.6l`3 z`3 fz`3z`3  Tl0ffz`D76f U@..胁$f/T_ 6X{QzFD? ^VPY1 @*+TVHe @*+TV He @*+rYHeʊ\VRYdFe@.+TVRY$błzYABeȊժXP-+RYThg45  Rsb 3H5j ұ@*+zYA@Vd7_N'LHKIؔ&,@KH =X2,҃%@v;X2,҃%@h=X2,҃%@z^HBO #ꭋ$ꭋ$ 9_?YL䄄ޡԏiF/BE 'L}0DL@O钁t Mae@ϐ,?62~" =Cԟ!!gH3$@zHϐ =C2!3$@zHϐ !3$@zHϐ gH !3$ =CgH !ϐ =CgH :x?CBBϐՃ8(j/%@z?]2NO@6x8% =CgH @~Hϐ)It~Yx@ [ j-rk$bA՝>B׷HB@n-Z[/^i T/^<Ջ@zHV/o_  ŋC -^/;q\|>w>q:+me$lH12F [dlȖ12F [dlH12F [dlH12F [d@Ȗ12F Yc@Ȗ12F [T/ce@2F^Ƙ/cj1e7a3l_H^H–12F [1e@Ȗ1$t&#de$N9CH/Bx^3 B}DžXcAZ@^9v:_ϓ^9ύsHcAZȋ@ZҢ=1@  viHic-xvܿ$ݎ@VX* dJiWHtjiW}Wc1vb$62F62H 91N鉑@ڮ:+~~kbtYiHk@Rx[l){H@x4d7@Zƛ@u[cx~ܱ|kz_><țBE{3H!7OBj"оNr.B'9"] lT"ўD'^Ȃ miH A $mՐtN:lYYHȏپF @j7n vHR9 8и{ q Rmb @-T[m69nRvc  *4Th BH @*4. 4ThЀQBc @*4ThЀQ1 @Ѐ$\hR ^hLTht/4& BHP/4HȅP/4HBR1'VzuAVT]|H = h5@ X@xs/[LTRQԋIRQHEP/*&HEIT>H/4j,T jP&︃jLjL@|PԘ@Әac bb cs |`0&cÜv6W*bd "chb-_\w/Q91aTM fb𽤘:aTQ\aTP ~bèfrbuØD0*&.ƽ0%Q+1IAI\+aH sܯxY(/>Ug0=Utb^T\]Dm0Kx} u@>} HP>c ѻ>} H u@>rH u@>HR1 u@>}RdF}RdF@>}uwpHP>{1}Psн u@ c w@ ѻd(t?D=DoDHF@gDv#V#$F$K RԻ+Ѻhs0>}c>}RԻIRԻϷsVZPoEHȲ(^S,&al# @6NS.wP鑗@v%P{% K6=@vH-`K 9زMο/K ;da#/Iؑ@vH#/K ;Ȏ G^ّ@r%y dG^K ;Ȏ#/a y dG^G^7GIIa@v&Pu&t}D}&; ÄÐ$aaa@a$0  TI> $aaՇah$P0l#Y{ٿnZ=ճI4u]{ K;ȎHI豗@v%{ d^ٸt d']']O$Qt!a']d\ٮG 9gZgZ~}^R{1 @j/l# \X^XLaAHHBU\eRdlH7:RGH@(`zGAB:QRGH: s0(Q H: s0(rG ]8WZ z4z-9MؽxnFR7dB :b @v/@v/@(t5D5D"H[ [$\GRd+lF U tP @`T1b:(_qP @D1$79DECˢI, H  3ø _nrHBu EPQT5 @j-rkzk1 YiHMR7nH@)HZyQoC}@h rH@.7TnRrrH @*7rrH R ^nLBGR-$[}b-Hx"8t@/$[&[yם@ӱ{iǭq#t#t4Nsiǂ~#z#z#v#}'G Xn,H6_~pHCǛi ]Xp@6 #l#p@2Hw7FvܸQnf#lɲ.k5~4 L}Y=f !a @`2V@`@kXƺ0VF0V>`1L_ Pw>A;caV|] `t +tX0/sXF 䀱"0〱8`bac \7&НM8`)s)c) թ`+pgRTGRO)0vƎX%cmdY;S.;qA-\ׇP& ;c'P`YcŊaWSX/6V-.ƛ0R,`(Вt,nb|c0{1(`DS5OLחc&0V~ Z_E~$I ;b>bB@ŽRT/y&za @*j@W 1PH5z\4iRHe@n Q1I>bzA$TGȅ U@$TJ\J2/bH@&M2;zb @*(PM(= 5@ ѻIΜv$ W ,YN>ꋁ_O_D+bc5n@' I:""^ $ I t@7`Tp$qA@*6lի$\tTt:HTкHu ø<֕:;b`FW{P#@F6{$@Zr+r{^S"VU KWHu ͏ߛà9/T ;2^-8ttAMȶI6i #]-@@ @6:bdg4M.Dٚh [ dk@&Dٚh [ dk@& ]l.HfBdˠ@ h>1A dˠ љ@6fBL@>fB ݾ˺}}@HDـh ݿ$Yݿ"i@6-0- }h4 =΋y@yyyȪ=Љ@21 ]ݽ+mlU4nԖEtY4iYymUtA( ]>ԇDq}C?>LBDɐۡ?&  $ۡ!@2$tU4n'F^@'{lo4@EFh `6G7>6Gwa)!}HHIat4qoNy$AY$A Ȏ3+@Zd@Rc -}G +}G +}i#>Y#>YHKJJ@Vs,}1S#Qйq-~G +~@^dgP]}ŏ@vD%PHz$`WK ;PX$q(qJ$JPX:#CPx:%sJ8sVd@Vd ؽIT;ҒH#miCK#̡ɱ>&G ir~BJP\:j 9ݑv}Mx^v<:KG Yc@Vt8SzǛ簮G zzj]՞]ŏǿQ9Nw}x $@Ml!!~ѡCRe w(@PԡCR2; u(@P`ԡ H : u(@PrH : u(CRH :ԡg@Mҝ@jJԔ)}$'Tl$Q P!Be *@*TzB*T BH AdGBJ w(@PԡʏHeP`ġ,K)Yȑ@Vt>^i$1@!щh[,2^)^Lf t?>j{2 =$zJly\*7ס>!}އPt8|K ;W $zBW @P V @ȯ@TR2+ U @@T* S 0@r H* U R H*\R H@@` FBB}@HHR95 !tizAB@n=zփDm=ȭZFBLPw>H}P)!Iٿ<#@*GT#*G,>dvȝP5HB@DGW G~| #@}%VB>LJI:;>CW{!@C{$t5P5`<6`<_-7@j<G|x~x?dd< d l$(H  d l$(H  $ alHGA(H  d lHGA(H  d lHGA(H  d lFAGA1,v@ldA6Ȧ?G ȧ?:v$z$ @IIv@t$:>HGYX |9!Q}>BG [$k  tx󍱵@:4R_ |,$t#z>*G>@C*mUsbl#?H=-7! oVBJH t%$PDa%/q%yU  ~d~2䯯ַ/||yGK[޾v%a7:Nw}y^m x~PO 0e@$0e@$0O}<|}>Y#P}& +|:>/>&qh3 lCAX$UA E8y08tC6!ݐ7Q!E@V TIPykz[@v&AIFo n?H=z܃RH=@AԃQ2{ @Aԃ=z @Aԃ H=z @AR{$T ԟyIB  5$@jH.`HԐg^ϼ$d w'@v%7$-@z%l ABmvlЇ-ϗ'ZRd'Z-{ABmPg;v $:c @ vm$vm @ =HŽƕ-ڹi$>p$zAw$zAwpNw$깏$z1~#s21L?D>P@>T} U@>T} HURH\}RH@>T}Rc U0 ѫ> U@>T}Rd-  @&8`Tp AуD_ #Aی)ΘR$:19`: <~W?|#j L -`ABǂ/8q@$cA2n 8~|  @>nvLmP_ `;W{@n;{@b;\A}e@b;$cA15j x|R q8i74\jbOyh_}#mx @l#mx @l#lx  dl#mx  dl#mx  dl#mx  sȧ:q zC=ٺG [dlc _$ z?XvlG $ zԱqԱf`# 9mhdl#aǟ-$trl#lwR\acqw/zE@=li$dcA_|,~5v>~? $; :L{<mv>~|,|,0Xaq池ۋ57a?L$lcA5 5ؚͅG Yؿm6 [tXx0<$zAЪ5rZHP5HtZch05TkR1Zj @5Tk Z$zAB@5zA$LkZc5TkZj ^kLµP5Hƕ8h ZkPZ@k^k^kLµj ^k^kLA:@^_߿H RyHʋ\^2yb @*/T^Ry1 @*/T^ @*/T^ $VW U@(TQREdF*\QշMldP15%P//H\DB@.0T`xn0'[kУ)?Ky0LU y :h&*B y\A y\A :B`'|N*dy #?Btd#@b:۴u d$80@ԁ2H s ́ d$9@@RH s ́2d$с]W)z|5#̌23H 3# df$0fFR3hFnm 3rʟ)̌ t4#f9B۩ !L2>ՒD%CMY@6f9,P/80G Lp@$Y$lHF`J$d#L4HdJ#P=ˑ7W[&;^?'Q$|:DždTdǺy+~#)sN9 d${ ǂzןd@VJc W@4TiYy#7\\2qb @*.T\Rq1 @*.T\ @*.T\ .o$a@VrEH* UtP@(LQRE1+ D]HBCÈ_+ D(OōYi+o-z j#* U@   ns$~ժeP/;Hʎ\vD/;H+ +$|2G +s7Hh#P=* zxco$ JuW8Hh#PADA* zk+ U@u#jk#t] :Hu øu_߿|D#h@6#lD#h@6#lD#h d#lD#h d#lD#h d#lD#h ## ݌l$dDc{K5٢F [dlQc _$ z?XMeTF $S zA@6-9uLƛǷ͌@fF͌DžnFx:4ɀؚƂd@c+4ɚƛi TOk$QOk$!lQcAFFG4kw5IkZ@w5!M mZiȚxnZ󿯟"I@&-RiȤE LZ2i"I@"-˜RiȤE LZ2i"I@&-dHE LZ2iȤI0&-"ZZPiȤE LZ2i1K@&-c"I LZ2iHE@*-TIе "I@&-"ZZ0iV,ّ@] HD l"P}V'z"ZO$azHDZO$Q$Z=AO<TO=,U$a"P*HT$jWUW\E sb}&g?z"ZO$az" ^O$ag?F"H 5H2#H@G`$HR#1 5@j$Hȍ 30b$n.N] u@*rWH] uRWH]U΋o4]d@*URWH] u@*rWH] uRWtr# rEH*QIQ=zнz @'z=1 @ a tjMO/\łz=Az=1 @֞Fc6`#/m؈,E utp@`9s$NI9b* T@ {9s}9} @q65ȶ&D ۚҭ@5ȶ&D ۚҭ@5H&nM@5ȶ&nM@5ȶ&nM@5ȶ&mM@D5H%ټD $ߥ51oM@&Ol_P E [d+d"P E [TPW(Ht+$l"PBDBAV(T+e5$m M6Ez" ۦm@6E6EMm$m$mm Mȶ)I6E6ŏϻmsIEzb:G ۋ9@6G Q$QQ$QQ$!soC)ϡCl"P=TD5T aCA[x6aH&,`lb?E -biHyH@Z"1"1GC!@ZҺ-n1-nu [ib [iH@ZҺ@z4Hڰ҆@ް҆6,a]u ҺB))1W4T߇$ӭRyyH@Zx =#t;<,ʏ?gHTwS֢g[@v@XMB@Z:d>MdyXWZϟ OOWz,xҧr;rɏϛ$gO6m$Td5 ~HCHC)HJ!o.Y!Rꛬ&Qd5 -7Y%  mw$Ipǿiܕ5Ez^bC %_ɛ7Rod &@Mԛ7Ro2{ &@M`ԛ H z &@MroH z &7RoH zԛބz &7RoHO*ގ=Bd "@]Zڎ8޲J߿5D (/,Mq =t$?x!dԔLuasC=ѣPԡa U':ٿ< Σ@멙Oͼҽ]!ڮ8ؕ'vHB7W{+?>GO !$jB@}@Cԇ'nN@'nP1b>[DuZL}& 5$@v&PuڄȂă>/P)T vd =[$QuBB =[ $:]{A5IRJ^LBzB5GlM>\zރLⴾ,$ d@ۿغJk~%lu X'\w~Xp}a?>)^nVr][a?>)_m9>"m9lޯ'[a|~> c{0upeFY"k` sX]}|5tt6WawqtqsqI6FVadcuX SF hcw\;r0Fhb1:Z /u a16:Bxcs ma1v9.ƫhc-r =aq1/qL@;hb180}}cf>)oLnLn 77&ō0Zem {v,Hn dM!&"+2O$Ƈ0 0mOk6*K6 6$VQatEZ! ^! A@78mVQaN+X++>Q!t0m /CJ4vqaƎK1j.HSzBNE3bR`Z!t 01_OWC .1e*rfjNECg5JۃyS kQU؋.$^s!@ XÖT:^E^׼uD@\K^DՄ@Mr` @TPUK @R @TU 0t @6A@Ol*0Qnj uDO\CQ!DTz UqJ@vv{@T<]=  .] naS B?Ae jQ8 *@6 :`A"yD {@A"@Ў2b u Q.$ ۀn@7 .Dw[ќ{>!At;ʡy(uWy#UK@B|>=dpn1'N!N+׷˜>ХKDNkN?G_S{Fpy;r}JyI]>#]9>v~K0g7W__WbR8_;@/l5N117rBy-[|Mgm)M<>2^\[XC664ZFPdJŖp^v`ute2KIRӽNd%qǐ.[{j\\N=i0=SZQ\;@:+Wf3gczJR~ 官K~vH9v=!cJkNz3)\T-6+NbUzPBץ֩mnQ[B2+)gumն界Jr;|˦pqShh *ޔtmʨroK+vJBlE}۞S.$)LP.U\N_}H~s/*endstream endobj 663 0 obj << /Filter /FlateDecode /Length 5496 >> stream x\MHrXBY49㵽6|AbwlIT3E&%R-N u( Fdwd&/Uj}ݏ.>oŇ(y(V?"Nwoj] kwM7ƘPw7?5}RjSt>Wrow7zwA&1.7Nuχ;O73;J9}qʷIGju]۩͇7N7K<p6mli{|}zzzV6%~tȳ؍]\Zj~zc#^7a{-| ]|U "DۂA#k*Ffy{KĄ. B\-{$B~fm.S)~e旨QLHm~ur?PuvC!0 (P`m^v Ãdvq/iKCy6 2LYŻf#|D`SO[x`t6?ߟ+F0qIv.$1!{f"PP!((ADrG:%z(o>QM_a+ZruxFl2DLQ Vy #~w[ ʲٞFBǸ;\h ΋7Puv$szfdlݯ'r;L.¹#۟%D'qs+qA 'v'}~DӊlgG&la l8dVvSӔ)+|UYadf3 BYG23m% ߋ 8}{~꿿li:w)emp$d>C#T-[>nm?͡t>|Ov댡 &% f]mH>"Jӥ\bVB /?1rW<3yMBw#:)ce@oG~1`T6RggCu27DŽOO[POYﴒ1ncrOʇw[Dڄ\@B|Uc~[UwC ah1lXtDXB^]AlS2--Vu=+YdCu{Eoo'T|qMĔ XY.AE,w7or(tGa:"8F%U)BpÍdn͆y~_)bjHp=γ.,𢸐0_1x9 AkwȌƾ0B% ?I+`  Fd;j`tUfk`"dٵ1FÿTEUᢆ@/jH64)S<;qV1C ih*U)bȎk%eXǓ[ZY(3풩ZE`+YiGǥy% TmR-ZP3Rmҷs1<njd跳pv uGEIp PblO%GEs/,*6HPJ&։!oc%}-}b+;YV9.<.bִnR4xc/Z> 4J}_g20 c]h yGJC1F 1se u ,*EYjwĘ1יcOU(1F2֑5LFAkR ~fگN1V_Qe|ǎ>GcjYCyuS)9SVPs]#4\J;UNTtovCQU3ap3*`L0@Jh .U[1I`xZG:Rr_ԝ{t(:%G=ah|>ZPvLy5*Q;}["pA܅]l2 5⿯RDNsR QUa1Bufψf}* a!V b:\yWlVY5ZKsTU U"T*bud ?EJWaEWL\c<[c3kEUBX9T˩ !Ny1KQeU3à` "3fm*u*%tj%Wo4́3>00H ȡ<f[IIa!fvPrԱ1| L}+g"s6?[g</f2g T9S Ho ڑ\g_H2N_Эl30{a\<$3c7l>sc^:eenˑV6lxv WgqM¿0.S+¼m1r*C5;z2d҄ۼ {ȲXxxԷ)d_p*v* ; 6{I>R2 ?yP8|v f!yKp`XY'#dUgjzsٵ߅H 0I(TtڳP+'.@}+jܨ-NCp=%gb1PeiZƥ= 7(sEYSh1Eh/q2~w٧H&+fGLf=H&.yK|* )eL!|^$c<\ d9P|K?he5 74!#F6Ś*1ٽ9(%) (P[jhK@Jw|6Svz fi% ".#/NY*Qp('f]0ܳRݰ N}pa~Qb@7FGx+ 8lf!ݑ,=k!qEN.wO\+%ɨIQ8<;tf/̮TƊvsʅMfw}Ɛ3ӴwurdS]xWZʕ@知k A ]z飔;h쓇h,A^K4_ѱTxu9/C7Ce!l4M7;<׷p0 cv24l#ok{TI :-_JCd^(M-7 9֧΀ Skx3.=W=!@att6X:{fs~cho '垟v72 MA۩#垭JCrtb%پj4G"zor0ijZz\P'y !#m~76+鱃gd:\s$ x [MRLG\mӱ:NIW'ۨI_F4eX28Sҧxj{;>6O>5 vjcR0=i/uVS$X+Au7[aܸ=+cЩmuNm .Sz?1Sz~c'8󼾖~cW'8W'8&u~ѝR??ѽLendstream endobj 664 0 obj << /Filter /FlateDecode /Length 3412 >> stream xZYR+a,˜{&UyTvb;,݅M4#c)ґR-_ξ|0+wfӟvwxxR2팏yEe{[vJHXxWMY,}}%,](m6E#^70. [ Qm7v6YW/4l/x۴Cďd@iw*:~wof?Lp_oemgV _ TW͝~$U-?w@ר~!*̝1 U .rp8geakRCATEiBkit3YׇWcZ?KƇkR#/^q^.BI7k\<,tyQYV+.B #^!d!˻8xy/byCxw*mŋr e;װx/Ѝ |emᮅrߜhVPP elaˋ~"2́@p^P$%P \"a[tp 3>皟\ow|X|XW+dy ;yroGj᪒Cyv96 ;؛H(7JVB7uիp}K 5|Ҋ pa 7}=VB" A53[8͋cCu7!ގaSfS/$8X-ݺ s(RZrDm  j/ KY(vzW=@Q_n=;(`ٶڭ R43>?/R'PL`-$-I E/dqbcM/ܬgگ؟^ s)xGh !DMKf"3諮g‚5=$׷l'K%-؀CRp4̗,eźl3x8Cۢo:g.*-og(+IIȢ8.3t2NLuG{+~YΪKXN~ܵVrH7)^QqΓ"!VIY:$O2'rS54ѐ,u>N->?U!F!1ZGoec__8/]52!#-Il[p#sj6<%zV\lWvl:lňGRڶ]i8wuN ^lm  P 1mpR}{84o65U+ Th+!z 7lbU(mO⡿o if b ,2+A^qm߬#Wv$JͭeScX$x}5@%tZ zwнVȳ.dK2ZЧkVy?`+ 7[ۻ;"~T"tE )Pș`gNNˬא(N :eB(y7^ KQKY-,-AwKC8*CzƗ)c4@82Ia|-ohv^/0*xHʌ )BC87}P^PۨE{P ##uR64P@8T6 &!LYC͖DԢ:QAU SѐDBaO%UڜQIsVJ^9OT%ʗU &%ю3Ez}u7QTɥ`Qh(N M#;htaKx$9lWWeBAf/gB^g' {?#jWvahӐ?R2^|ȏqO¾lj,\bNvahgH0ؤb#:DN{q-q 8qiBR;TJS^tgUb iidfv%U7-;#(wFLc.SA.?v/s [&(ˊn5I '[]EFՓЊpZT9ii%S姜ָxQ'!~Rr އ&i__M~S9\| A8' rF>=f rDŽ@DT5~cmt9yL܃n5?IRz`j0shI"ZYVu@DHF3( r դXCK^cw_J h5ŃSPQTR]WNN$I%P[;D=[7+I۪@׏bOus) ܧ+c{D'U2B&ݙñYW|qޯRbǷ>>}MA4,hN̐sWN6gnZ4[RAʢU(^4\a]3ns:To=8=wqihO/]J2}dz @A*`̚Ij)@{fDr4hѐ@1OfʏB:]iTpXLȈ+*4-X}}L>urN޿f@A(pi56{a'ǚ;~lMpؚ83NvJ4~pUMMcE~ _]?."MZ:t|br@$ @¤In5^-UiWq[ጛ@ < (?ML/|ɗe Tt=FS=ô"h= k7h{Cem o: NzdKZ*H'buCx[7RKG ;0wϽ`B0$7i6T Ts$&>,7~u# KvΦv0oGt!z fn6Cqh ыU%i'ayL4;5/=N3 Ypx%T&= _oWn?󌄶 03\V&\x[~͛,ƏOg$JC[eqexd>oɤ@ǩˍ8),EJP0G׉J\"> stream xYI۸QB5@&Vy:RLP$1HdkRCʇ<{?{-nw38Z)P6_mg*g&RP|u-V i*ܹf0Xch2r],yRc$y^cjLRfERk`0S,n;,T`*)K C6jDYrM" ƁgN6ѱhhr/[&# ?ǭn_n{m` 6^Sd{lj{Cm5Jw©\%6eo)͂.c\}Q-Xҩ/J_@ZiF:~K 7';[۶,܂D-lo6tRlN?dS{8NFndԹWU+XJWA- MD}pV1 f@5ڄ?xe۾X2$_ĩ9gueE:e_ Ƽ mj:#ECJѿغF[.06"]S$(Ng q}19彥@E !z[CbXI6)%8RGprgr'23CD7|(Q=]9[ò)nٟ:P!pٳPUEkѴ޳!}Vx2Ȥ:@:u=[>Yݏ?8)jJЗ|I\`}| ;>@.ίmsw uΜOCUh]ۑ(?M]Jd4<F!-2 ~650xY50A=4S0!yc <6kk qo/*{ÏĐz=CUZ2:slm/K/L(2AgԚPˆ9`b4{ g lNyh\.n4>DH_8 alts#j7vM(Q[S,\eIΛƣqi8F*m F6SrʨN~% lO-;_ESoJ U7f,1NomB8ݝvPNlնu*{oDD+lA0SϪN`=KW h<&۹Dv5㧲qJ==vzSHUI6W'&ri|UB̕@ 'Nǽ- 4z p*T@p>kHNCu.Eg8R iu78Tn\ g "GĒ!\FNlKlYܔlXo48PۺWM6UW vo wBF/ڐ_C*w(FT^ !a5JBcNQF@m.+W^QP,?kfRC"v9INȕ&/>oLIWz;h6򛶁>p3gw e/yj΋eQ,;U5܉' Z rFP ڞ'Mgd''Bs Su\i/:ne-^7^1LT%0g0'@/{XL9򡠢i<a2fQA +]=h0 roCnS_ֶm;cQendstream endobj 666 0 obj << /Filter /FlateDecode /Length 2716 >> stream xYr~ŖvOD'X6T~ XXSo$[~#==ˮr%E0ӗݧG)eٳs-7,>~?z~+ .ullnM2*Jr=#'_gB;jU˫9/4hM^/f3IY򤵔zXM5{7caƁQxVߦ]?hMq֛qAdX2M'U,Oٹ2n*MqddXvϮ;\iMQruU<#t9FF/nI]NʺތjnzU뉣{)L?㴃Hփ1̒ʛMu ՞yCvI.c![LPⱺ8 955N&duM1~KmѠ#$-%psꄁ`5A/l8IdWUr0&}r,EƐF{ϗg?]W"ߧ!mWVU!CkDŽBDv̠GI0( pR//C?,QBUױₛ!&el$XKd@cnu]7CկE޵}4yhpa+6*HaDqS`8S]p:D0f/77Owuӎlql#}Ԗ ؾ-(7ClbՃyﳛIm]3W,j}oj;i 9q "r( [drA4`,z*-j7Wo&MOGpHЉQ@hTTgʹXL❦^*K8z*1lx,'/np&r py1~w}wɮ礡txNi! Bs+k6ͨ_ nwloѭ&({4=ͲfЌ/7W}уҐA*= F0kUuUC۽k14 8&_cB$FI9Obs[_Gk =^LVBnE ;$Z;0p ݰ]dۦ(w_P2ehU' -ŜO X+xK!CF Me Z$xQw cI#PYatNwRQ1UR9ssy}9$\&Ϲ3OW?@/VEh:^6HUų՞JV]#SM >nn +&3\j λ 7Pbq¥Rn:LWW d{'/i8y+;=!~U[; x< LcWoCnK(LtF0iaȴ;Až!Ȫ(!;k]>./t~c.b5K'j"RJcȩǀ"eР~jS&p ^ka|w8ȹ8V٠c,p?:?A//B]m25%,ښBXSG}?+}𷹙Y` ؊`:3Q#!5-}B)0KxIWCDa!g^ 2 Y/G4A >q #|\C![g 4NE %4U;a揉$ LpN>YI?Ovi;D<᳁!ڎ  fDXd_YSTRW(x.ULakn_C}ȳ.$'$RIV˧𩟰py>h -!o pyū`CAcuL[3Z3qQ|eʗ'xpG?$uEw= |7Rv[ѣXa1B9Ls%g%Ә>#߃sfRQNB$BꪨVXm`|$;U9* l6" ?@k|*|(j{ ^ߧo=%ҐoǗ2#7vlR9>570^ydk FxDBpN+~.~,Q+A6X!!$}> stream x];n0 @wB7%7b \%ClӺlvi.t%&㼝׸?Lxiocd9㕚Op~r5)n3Bfh[ ߕ{+Y_~D +u0vJn8cXVA+VtBohDU*pO.hV)Qd|Yso6Ku5߃-Ke/~&endstream endobj 668 0 obj << /Filter /FlateDecode /Length 173 >> stream x332V0P0bc3C.=C a\BcC Paĺ@@`ajfRɥPRTʥTϥT̥D͎wwvvrllt29y@-vv\. j q|y>Xt4VW\S! I<endstream endobj 669 0 obj << /Filter /FlateDecode /Length 194 >> stream x332V0Cc 3C.=CU`lnQhbfɓKW4K?KK)YK%hr,`cﭠ q)+jtQP[1h̬O*U_I/{T_VM_s}߯]39ְ+#B TDendstream endobj 670 0 obj << /Filter /FlateDecode /Length 200 >> stream x332V0P0R54W01T06RH1230!U`laT02,ɥPRTʥTɥTƥ`ȥ 45KM jw)+jtQP[xč [(^TBn>eIκΣ&~w B PEiendstream endobj 671 0 obj << /Filter /FlateDecode /Length 157 >> stream x332V0CcKc#C.=CU`laUhe<=}JJSÁj=  ]r;;66 @ܼb;;.Os-.꧞`?6񤬰?ƫ\ap`rTP9endstream endobj 672 0 obj << /Filter /FlateDecode /Length 200 >> stream x332V0P0R54W0"#C.=C(ɹ\ &`AK  N\ %E\@\@e\N \.@Sc݀}ov.}ܼb;;.Om^'WhJ{Mww[cG&p\7УmnbP`rTEXendstream endobj 673 0 obj << /Filter /FlateDecode /Length 181 >> stream x332V0Pc33C.=C a\Bc# Pa ĺ@@`ajfRɥPRTʥTϥT̥`ȥ 4;KM V8qy(-HX?ZCaC_ BDT[*@ׁS! tAendstream endobj 674 0 obj << /Filter /FlateDecode /Length 152 >> stream x332V0P0V04Q06S06RH1230 !U4 *Z@lhbsU()*M*w pV0w˥{+esJsZ<]vOϬ, \ \r'endstream endobj 675 0 obj << /Filter /FlateDecode /Length 194 >> stream x332V0P0bcssC.=C a\Bc Paĺ@@hRɥPRTʥTͥ`ȥ 4> stream x332V0P0V5T06S01WH1230 !U`ldT02X,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[k;_T7_I^ߓ'2]>ڭKo1v47qmk3+#B Bendstream endobj 677 0 obj << /Filter /FlateDecode /Length 196 >> stream x332V0P0bc 3C.=a\Bc3 Paĺ@@`ajfRɥPRTʥTϥT̥`ȥ 4;KM V8qy(XgH+]?po r B "Pendstream endobj 678 0 obj << /Filter /FlateDecode /Length 322 >> stream x]1n@E{N ]%kq(JrX€0.r?)Rݖ6Sv*K= fi'#e^wwԤ;{;Pߪy֕P#z5SÅXȉeZMF P!A ([P G5\J*H7S"% TJe Z@  z\(-`lp܅x_4m0܃qJ; S9~;endstream endobj 679 0 obj << /Filter /FlateDecode /Length 161 >> stream x31ӳP0P0UеP01R03VH1230 !U`lfT072LX,ɥPRTʥTȥTť\r;;66 @ܼb;;.OW~:_)J.WO@.QDendstream endobj 680 0 obj << /Filter /FlateDecode /Length 371 >> stream x]AN@DL&7ߍ Q/`X| ooUpQ?yJ7u9k>yY#lGߗ\=-!Ma㰿}FA ? ܼ6}H\ݵͳVy}}qOѢ&jQt8jQ[bҢwĬE0SPNMHw@77Ġ&@5G"\9`fހ6Z[`ؠ@PJq"PJ1&  0j2Ab9 d,s` +LCD+2LC1d9Q@xz|` h9byv}OG{cu> stream x]Mn0Fl'R4tE1"dI]Hٝ/i:ϴ8k5ǩ]ُq{kk|,ą4di!`(}-]Lk7}XUz-;. i&нfQ3Ԥ=#+Z P["DQz"D|tj8hEnj@IZKR.*N$F*މmٯ"Z!.Q2$eFblb/8; A ( *2Q@E8Q1r@ 5 x\sx_4m{[\qJ _ Aendstream endobj 682 0 obj << /Filter /FlateDecode /Length 307 >> stream x]Mn0)MɢU`E "d8颋Cu\ҼOiN&E)SѸr k_~V) S*;;j).>֧o)NuͧiBʵ1LPwF9+8#\k<(z6{ŁM.;65KhD p;(GQ& i(& i(Һl1ـ1ـM~z&RlErD*fn}TD4O|c݂2޷MnK.$ź*|endstream endobj 683 0 obj << /Filter /FlateDecode /Length 365 >> stream x]Mn0F$xHlMc*!$޾7N!=xr[y_/3q5_/5\5t{=ӹ[[~\@uWM J!_.嵛sun0Zyяi!Н{-DY {ꨅ[Go> stream xZKґ msyD'e;~%J*%*XKZ!VxuXbf03u _&,/N%_E//]?i]`Đf𯒥8Q,Hb9-"BWkc 6obT)l G?տ7?.8lPl $jL.?U_hؔyK =-Iś`TDaób7+NIDČPQbCt( (BCj 8싼mO1'p6H0OpĠ|d81<o5yT`ү؊L 'aѡhڗqRSMkGv ^=^?|׍A3 PR,j_{2us( gnD0`CK4_bZQz #Yyt`vs-{ 0t)Mcٶb*! FSBph<Є9bzϳ:$ n b^=^8!ܩDfa܍_uV:<z a.i\dV'mIYYySlGj 1S^U&b}8p U쩞A[*GCravJopp#=8E~y/1).țQ]]ËR%1p1-N1<'>w]sm3PJ0%L3m-vZCe٢hb<9yi ʤRKxn |1 4-3ux8EA}i.|ScpñJwޭhH$z1{U s'ca (PĞ]zx!OWĩASC?'šoE4r7$88?Q JDao2jF%0$MM̽@U݊9z zWB`^:ju%S1 (7LL)5ٔ%1lVkdНe+ȟs.X6vg/x;(&QtTqa2e3JTj rIr\/=6e|7PЖq@,efp "P^à}CQvL: lA hM^nL*a4OQ誗NGxvsB Vk.@IR_cAKsԜuІ"iy [ҧ,}\ Ci{r^1tlR"Tϰbo)l'͐u$ΒzΕHs BlLFa(.T<5VuiN t<#/0@5M.2lK+]DC%UڦזC+9XѽDz}=dPG!Yv8EBCeƸ\h}F0U$+`k*]?B@~M0e.>R̹M3x۱tp,8 w}[v 25R)Db{758P= G~ut+:ThI1S4f ʏN_q%j.2عڔߝǹc&p6OiZ_V/Ҵosp, LJJp6Z_v_ 碪"E~ Z[+t=#>%w ?ESԟ l,3q)S  UP0GZU\Ol7hPŦ4xbZ@ ohA1T6u['G:, I:}jm?ǜmd[nHy>1}cXWetvi}ZLڏg?ylvgu樤5MZl۝oKZhendstream endobj 685 0 obj << /Filter /FlateDecode /Length 188 >> stream x31ӳP0P0U5T01R05WH1230 !U`lfT02LX,ɥPRTʥTȥTť`ȥ 44KM w)+jtQP[2%˗ Ԫ0ֿ-`ŷm۶mZwDendstream endobj 686 0 obj << /Filter /FlateDecode /Length 212 >> stream x31ӳP0P0T5T01S05SH1230 !U`bbT052 XD<=}JJSÁ = ]r;;66@\9y@-vv\. j+&hlچsl ߙ jm_} sǮ]uk R{\[08pz*r|Yendstream endobj 687 0 obj << /Filter /FlateDecode /Length 401 >> stream x]1n@E{N %kq(JrXa"ųw<2}t+ytܷ!}KѸraZT~YSi֟S!ZWM.1]>_SqpPeazuQ7>d%j2&2:2vP|g@ڵp>О*T Pa)SuHDk "q~ JYHO-g*B= !=T&M$7h"o$4WLBlFb}Q$Ħ! XDD_A0D0C(k{CpUت=w[}kۖ--1ww^`*A %endstream endobj 688 0 obj << /Filter /FlateDecode /Length 2796 >> stream xYY_!e[Ep /;¡z$z%R&YTCvD<,]_ULL//)ܶt]nw$K3{\W$尤eH%wQ,meueIJ y˫]I ޮuśO p|V0@J)__P/5,goD&rpʀJ2fP`u8YFm3Iz^Qe~~!EAAJRģ<6)wR1 J%؟6o 4U":Q`@eIY͠qwNx'% r[ٮA*=j-i4_U56mYW0 OY"URV(ro6`Ah릋8'TMc4rh`:W;{y86q!'a@|83Ա<J 9mq;arYe6ˣjȟ)mhSu>Ii!*pqOpIC5sߗ=Mp٨YÉf:UB<ݲmg +Sf|'3Yo2t˼ m;Ua RP2>Ϋ481R 4ǫD X< :[&n# t'%a0q"`||m, R]{wm8ޞ@mu+vz2mC%iQok5 F$dÜydbj{uHO+&4z'- {z/oʡ37l"ꬱ|IVkTȟp>Pa\o2aLN:5AO%&&5ğ==NF-&aϔrӰ)_y%aNE8LZm*g} O3o*!B378ġBTSVSc|4$p*T:}N`}`ޓ#Ig}jW DjCa t*FLL$`~]>sKig+ۇ̏L͊bsF\_QҨb"UQ1|Fl=i xj& _9&DA@gC"$` ֍[z?c]mFL\Np'x@ lbptjz/G~1K,Ã# cz6v q'9:TBu/(U} HB^5̸cjDQdwų{Rrl*)_G;~"B JMB5y=Cj]UǦ%H/dZB}Q<::gEw'IF]0<h35BmkVC}Dzԝ_z q}:69ޘzz<|(>W]N+.mŁjp<<zp"{$/kRAp< 2_Io]iν -UMi"Zy߅ZyNW x s*s }$zȜy\|~qOdkaeFFKܞu(c( f|6 !Sgٌ=Фo1!(d0]ݔβj@Oa~|7}zPnGѭ[cɅK/{8:pB&q?|=b43b/_IhK}> stream x]n@D{?nϖmE(qDqbH1{;|yL?Ӗԯ6ט.}SV vɊk|,)GAv~kاjosnKN);A4GG7> stream xYˎFWhIM ]5,`v'Nl$1C&);_[*3`A/us1ϴ\}w'z߮~qӵHv_5^VTV 1₯CfFZ!f%R"Yo~ϊb1Ѱ}z{q'8ʿW dBa1 ]K,5B5٘E*S(&@ޢOQe4y}jiyU7׼<6۱, ZE4UgEq,z(3`%U6 dg&]^WmI5>cD$]o Eb֙햆}δ FUE]'d$׽,3YFseLw,L yp>&u0I;D8ijm&Ei31[~apm g`$wO0|#Tvl~RQr_DE7Ut:GGv$lda4/r8߭YmuXU98J <^%EHaMB&e^JpL:pREG0݀_ɩyL/[m&QT,z4ڮn|.9Ǥ,=%!ϛ6=݌;)ZLլ$][Eu\\q@JϝQ!vx0KC|ȗF.=NA%dr--jPc1[99#$R)1i|.rcZ `}FpTp+Xs5P=}/"i[M5;G#;5pe?U?b1HR+V~U*&K1vgO+WQ! &uL$Z'&<ˌ$^WIODd#vM]Sѯ C׏ɥg1-*8$< qW<$8G`)Te"4ݩY_՛}n8lj6PLE-ژ?FCiF yuQ̭ ޅb^1[ AVTV1MܳxOY%W_O2{bEStp%=Sc(ste^w%}3Lr)Z0k>l;;H} I^;*8к&EJ0ܮF8yw0.3٫*wu9@f ti!N۱yJ<p ~CŋF-&^7&E8L2߹Iݐ.#=|DX:^2x ԢRA±'2ϴ)'S!؎5SlNٌ:ɒ}e žVA|@UYTI2ۗ:0Y oI-@JO{ͷYYX?볋9hFw8<&><2~ cж`p1)-]w:r!KPq7CFݹ!3Ioq|T.m[2`}LǶ.L7˚_B UíJa9)^SH1YٵTC;TӜi4 # .7GWH.[TT ZXxQqq;Hn^ݼ.!۴Z1D!lt)mʷI;M.M8Bu2Q%UKlU7_!\ߜ}&3U{ߘ]La oER`6J>i+RAF nL {u )CzQO@uA\5OyxY|SGAbp/76v;E=xGOyw]r&j13`'=su5SQ Ձ2,cpƅ#k +$C5> stream x]An0E&'R4tEE"dqE/ҋrkL[9NT{ƕotKQ^gI%>HcM:Ŵvw*uq"ÿ;k&ASÅ6P5\9Q*V Հv^ |Cj8[R 4B=vgGdԀ2o z> *THb FrHbQ,RЖ9 [جnV9+A7ĉjRꩣP.Qi@܎ɸep奈uMf^4\*A IJendstream endobj 692 0 obj << /Filter /FlateDecode /Length 298 >> stream x]Mn0F7&dѪj{0C"8颋 3ݔx7ӜƍclΩ?M֯Eyz x߸u\kyӕcUq4 Y+j-e =P&QL,ʔ M#:Q&4i+'\$ŶIFhVפ@QD|JoHTޑ|K ż^g+Q *Sy/X(8*5h @U|~-U.|ǶqzE9ޜGXU (~!pendstream endobj 693 0 obj << /Filter /FlateDecode /Length 2201 >> stream xXr6ʣBO`woxƩݭZOh S2|n#Tahif)foY&?)1}&ymBXM/QBNj3KOpNL3[ZfTrz<;,2F\uɯ7Ay)xr䗉H~?N 1)DҌSM'm41m +@'Ue& MeVJr&2Xsrה|(?>6gPP ܖEtUU e{_eְaɇM]eSwQƐ~ u=Om2MUY.ꠒ4O_XKMWePT 8f °Ppfz2ܪ\ ^*™?:Ti@>[8,C*̪M9UԷ?-SiA c7Ȍ8K ETxc N/.)kC낕JWɶzE}q ƄjӁ𣅇ej[7eݟ7z\p "|2_owKS`&ezLYoۭWj飩" ԽƵx&jOG@3+;g<2BgRQ]~ hWb{P~1Sr~ ׭]ѷUHb0vq!>b8d YvfQwe}2 K"G<̫FB ǽ'.ZU*?(nS3iD;"(  !Idn4 ?1E|(Β M} _!*Wn[u}G~Ml _>!2k%vl(HkYME*&kHZă4@l6Gea(-` ;(-{XZv#RuST"t}<! t>>I~Wv}]a=!UZ45Dn̫5X,[n1)jX)1dW ٷg>D49ʤt[\PFbDf"@+qE0Bw c0{{/]}yBu+ѤqJČO"E00RncRlgNyKckg5O1L|ay[-n %C*c;?(]>~|഑"p.8,ҵy OiA"> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 695 /ID [<39826f4949d3270c1490c8662cc31fc4><469c51d0be57e661b5730ffe4bf7c038>] >> stream xkQ9۽wwnw3{dXͰ0%Ia7$% y(M,lL1)8~9{O߾>uJ'eDL UAUkBlNW?WOZuI=WSJݻc麧fԽV/㪮LB#Uns j²e>a*aR·p+)FOt(y:  X G Kga9] Qu m2Q~ɨz8Ç^ #ܛ1\5{1p1 ]~kO{7jo+D}@ܷf55%ZC9-c^/cB4#E6qySx{OͿre[p2/ZҐx(̈ށ$ڜO|kSUܸՋs,m!k kSfDѓ'\YFl&!r/l#5M5}>e1cJU!LdLh#!MCf)7/vtd.N]U=f.QvHEQzvnWp]l:\ogM:g05N"cn 1) - corresponding updates and further improvements of help pages and vignette Version 1.3.1: - re-implementation of heatmap() method: dendrograms can now be plotted even for APResult and ExClust objects as well as for cluster hierarchies based on prior clusterings; color bars can now be switched off and colors can be changed by user (by new 'sideColor' argument); dendrograms can be switched on and off (by 'Rowv' and 'Colv' arguments); - added as.hclust() and as.dendrogram() methods - added new arguments 'base', 'showSamples', and 'horiz' to the plot() method with signature (x="AggExResult", y="missing"); moreover, parameters for changing the appearance of the height axis are now respected as well - streamlining of methods (redundant definition of inherited methods removed) - various minor improvements of code and documentation Version 1.3.0: - added Leveraged Affinity Propagation Clustering - re-implementation of main functions as S4 generic methods in order to facilitate the convenient internal computation of similarity matrices - for convenience, similarity matrices can be stored as part of clustering results - heatmap plotting now done by heatmap() which has been defined as S4 generic - extended interface to functions for computing similarity matrices - added function corSimMat() - implementation of length() method for classes APResult, AggExResult, and ExClust - added accessor function to extract clustering levels from AggExResult objects - correction of exemplars returned by apcluster() for details=TRUE in slot idxAll of returned APResult object - when using data stored in a data frame, now categorical columns are explicitly omitted, thereby, avoiding warnings - plotting of clustering results along with original data (2D only) has been accelerated - all clustering methods now store their calls into the result objects - updates and extensions of help pages and vignette Version 1.2.1: - added convenient accessor functions to extracting cluster indices from APResult and ExClust objects - added a function for coercing an APResult object into an ExClust object - correction of color bar on the left side of heatmaps (default behavior of RowSideColors parameter changed with R 2.15) Version 1.2.0: - reimplementation of apcluster() in C++ using the Rcpp package which reduces computation times by a factor of 9-10 - obsolete function apclusterLM() removed - updates of help pages and vignette Version 1.1.1: - updated citation - minor corrections in help pages and vignette Version 1.1.0: - exemplar-based agglomerative clustering (function aggExCluster()) added - added various plotting functions, e.g. for dendrograms and heatmaps - added sequence analysis example to vignette - extension of vignette according to new functionality - re-organization of variable names in vignette - added option 'verbose' to apclusterK() - numerous minor corrections in help pages and vignette Version 1.0.3: - Makefile in inst/doc eliminated to avoid installation problems - renamed vignette to "apcluster" Version 1.0.2: - replacement of computation of responsibilities and availabilities in apcluster() by pure matrix operations; traditional implementation according to Frey and Dueck still available as function apclusterLM(); - improved support for named objects - new function for computing label vectors - re-organization of package source files and help pages Version 1.0.1: - first public release