bridgesampling/0000755000176200001440000000000013610063673013246 5ustar liggesusersbridgesampling/NAMESPACE0000644000176200001440000000246613574727245014510 0ustar liggesusers# Generated by roxygen2: do not edit by hand S3method(bayes_factor,default) S3method(bf,bridge) S3method(bf,bridge_list) S3method(bf,default) S3method(bridge_sampler,MCMC_refClass) S3method(bridge_sampler,matrix) S3method(bridge_sampler,mcmc) S3method(bridge_sampler,mcmc.list) S3method(bridge_sampler,rjags) S3method(bridge_sampler,runjags) S3method(bridge_sampler,stanfit) S3method(bridge_sampler,stanreg) S3method(error_measures,bridge) S3method(error_measures,bridge_list) S3method(logml,bridge) S3method(logml,bridge_list) S3method(post_prob,bridge) S3method(post_prob,bridge_list) S3method(post_prob,default) S3method(print,bf_bridge) S3method(print,bf_bridge_list) S3method(print,bf_default) S3method(print,bridge) S3method(print,bridge_list) S3method(print,summary.bridge) S3method(print,summary.bridge_list) S3method(summary,bridge) S3method(summary,bridge_list) export(bayes_factor) export(bf) export(bridge_sampler) export(error_measures) export(logml) export(post_prob) import(Brobdingnag) importFrom(Matrix,nearPD) importFrom(coda,spectrum0.ar) importFrom(methods,is) importFrom(mvtnorm,dmvnorm) importFrom(mvtnorm,rmvnorm) importFrom(stats,cov) importFrom(stats,dnorm) importFrom(stats,median) importFrom(stats,pnorm) importFrom(stats,qnorm) importFrom(stats,var) importFrom(stringr,str_sub) importFrom(utils,read.csv) bridgesampling/data/0000755000176200001440000000000013360614034014152 5ustar liggesusersbridgesampling/data/turtles.rda0000644000176200001440000000171513360614034016350 0ustar liggesusersŘ+pQIy4@v7Lvab[Dy2@14ht ,ht5 {w?9w3geլdͪӏjY֤5G6o]kYu;͞ObG}^g~UZ~U縮qǕ_3gWqoY>eU8ٗ/R_~i3qK|]/1vIb枮橱e{6{33|dOrCdV+}vn+ƾ_E,NwOe7 ?<%3Af~꛱#y]îI-[W uFl~Q o!gJ^-[)>y,'Rx_v!7@'OJ/got OW\pFD$\U_ EXQSٷJr0~ލGu6'>^]z}yj&8{|8Z﮲hq[w?2aaorbridgesampling/data/ier.rda0000644000176200001440000000777413360614034015440 0ustar liggesusersuYw8x Bihx7i<YES);Y 7T4$JDF׬A=zG^};>su9|LnֱY4Fqҧ#AOGOA[y34Kaw԰"%ߘ1'mW=n_8GKvh8* &lW1IL@ED`eTzq=5(zΫ)t{yPO}^`Ty >lWr*^zx)(<0.=E11+ah`_̹>K>:=.&^盿?n!L.uXGoz 4L&|yԞd_1n _Nb+cG9p;} s7aX9DBt@w҇a<o<=-e/M5 Vm=R K5¡ LԆ0&MNs?};68b~tI{H=̥L0aWuk̾bėl#f0|Eg)<齚A35EA 1ȿ'AkŵA}g >;4}G;v# udKWQ&O+ 7eϾGtg¾! KǣJ_3!nSU .o=C0H~+3M.yuuk 2;J[+퀭?ɹd:+zZ;ς#noOZ!.swYG+I}>0~l}cL< >42[X>[&rU%/|tŘl0]'^WΆyCv^[A_;L}m%E:Tn{ޞ A"ہajFFmhӾNX^'ZQT{#\ V$Nۯrz4F36ɎP} WCPDIbps+{f 'k|Bx*ݤ[u`+hazN}JS.%!Amf{,=z<ל2s.!{NLL֯y8A1]`cM;z GnwOC@b H権f@yfIr;Ag@~V.5αYKV_Cl E߷ 0(;5- S]']j^?O91iek҄|zßb`}|Xrw2+w݂aP!d@ᮑ,3 <.\^^Jψ^ vY1P56 i꠨c,PsӸ ]F:?.y2f#`(yn%9:U`đWhnUj܇7,*|X~QQF)ؿHg7y_@l-(_h&\CGO,Mo@ qDCcUO,lrP"@xq0xV*47{-˘ 5`ƳEO19\-Bd`o[ңd6xw3=0v꼪 OzE2f1(i2Q $oEyM)R`/HY h Xt9 W?NDʆ<ιfo:X|SHgL3S7׃.ҸƠ8ڢM/OY E>TlՎzu+ Ov(d`҄Փ䖿.-BbAp~Z-Ew0Jr%$t3 8rAntrސ^<=W,;z}%C_o7Hx٫5 ݴ7ttaȁԜ=&Wq ~/z!nNxOFNtz>X &b飡 vV <DV &w{ 8QTWaxft? GXlbHt<.!zS:5ѕ9CTw|L{F|("17 Nۑ􅓞rWծ`}lQvt9l!!56{y|uzksaccW?¸[k+|+74%ð?p86t\a[+\`pw̵z*֊HAR݋FpL_ J#pJ&2}oOGS & .=/ U @kZЙq?`stvsO0PAqI7(+tU)yWzl0l^p!u<l6D} {p#80]^9BB.ptx^D&wФ;`=P}.0oyNJXa9kA6MV4Rw*l!J Zo~7 } wMߞzf `i犠j5<,4 /ޛ@L~9@@D]yקIj.҃9NqK?8:q,߲IV7P43lwϩL{q?b^.`Kf(:^uFzjZ.JL|&w^7s6~]X~IdD  XKBA}|VG&:`<wDqPO5l\_4zL5{@[ùt?`˻>ki<"F^08zSm$9lנ)`ʠWzl5ErcZufVlsz1`r8Id4&ԷCK3iIcnX6'P_Mx:P ]~ vڅd;ƁU(&r;mATneDf~mbť*Taʗ0Dr]7}[e?묎EH;6 (£pgZw 9F' ٛգ~^( % o+8|#`\~}?1/7 ~@BA2BFݙaKN16;7<MMʥrZYۣ6Ʀ63.f6$zᲲ7gЌNqbridgesampling/man/0000755000176200001440000000000013505620174014017 5ustar liggesusersbridgesampling/man/post_prob.Rd0000644000176200001440000000763613574727245016346 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/post_prob.R \name{post_prob} \alias{post_prob} \alias{post_prob.bridge} \alias{post_prob.bridge_list} \alias{post_prob.default} \title{Posterior Model Probabilities from Marginal Likelihoods} \usage{ post_prob(x, ..., prior_prob = NULL, model_names = NULL) \method{post_prob}{bridge}(x, ..., prior_prob = NULL, model_names = NULL) \method{post_prob}{bridge_list}(x, ..., prior_prob = NULL, model_names = NULL) \method{post_prob}{default}(x, ..., prior_prob = NULL, model_names = NULL) } \arguments{ \item{x}{Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Additionally, the default method assumes that all passed objects are numeric log marginal likelihoods (e.g., from \code{\link{logml}}) and will throw an error otherwise.} \item{...}{further objects of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Or numeric values for the default method.} \item{prior_prob}{numeric vector with prior model probabilities. If omitted, a uniform prior is used (i.e., all models are equally likely a priori). The default \code{NULL} corresponds to equal prior model weights.} \item{model_names}{If \code{NULL} (the default) will use model names derived from deparsing the call. Otherwise will use the passed values as model names.} } \value{ For the default method and the method for \code{"bridge"} objects, a named numeric vector with posterior model probabilities (i.e., which sum to one). For the method for \code{"bridge_list"} objects, a matrix consisting of posterior model probabilities where each row sums to one and gives the model probabilities for one set of logmls. The (named) columns correspond to the models and the number of rows is given by the \code{"bridge_list"} element with the most \code{repetitions}. Elements with fewer repetitions will be recycled (with warning). } \description{ Generic function that computes posterior model probabilities from marginal likelihoods. } \note{ For realistic examples, see \code{\link{bridge_sampler}} and the accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} \cr \code{vignette("bridgesampling_example_stan")} } \examples{ H0 <- structure(list(logml = -20.8084543022433, niter = 4, method = "normal"), .Names = c("logml", "niter", "method"), class = "bridge") H1 <- structure(list(logml = -17.9623077558729, niter = 4, method = "normal"), .Names = c("logml", "niter", "method"), class = "bridge") H2 <- structure(list(logml = -19, niter = 4, method = "normal"), .Names = c("logml", "niter", "method"), class = "bridge") post_prob(H0, H1, H2) post_prob(H1, H0) ## all produce the same (only names differ): post_prob(H0, H1, H2) post_prob(H0$logml, H1$logml, H2$logml) post_prob(c(H0$logml, H1$logml, H2$logml)) post_prob(H0$logml, c(H1$logml, H2$logml)) post_prob(H0$logml, c(H1$logml, H2$logml), model_names = c("H0", "H1", "H2")) ### with bridge list elements: H0L <- structure(list(logml = c(-20.8088381186739, -20.8072772698116, -20.808454454621, -20.8083419072281, -20.8087870541247, -20.8084887398113, -20.8086023582344, -20.8079083169745, -20.8083048489095, -20.8090050811436 ), niter = c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") H1L <- structure(list(logml = c(-17.961665507006, -17.9611290723151, -17.9607509604499, -17.9608629535992, -17.9602093576442, -17.9600223300432, -17.9610157118017, -17.9615557696561, -17.9608437034849, -17.9606743200309 ), niter = c(4, 4, 4, 4, 4, 4, 4, 4, 3, 4), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") post_prob(H1L, H0L) post_prob(H1L, H0L, H0) # last element recycled with warning. } \author{ Quentin F. Gronau and Henrik Singmann } bridgesampling/man/bf.Rd0000644000176200001440000000676513360614034014710 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/bf.R \name{bf} \alias{bf} \alias{bayes_factor} \alias{bayes_factor.default} \alias{bf.bridge} \alias{bf.bridge_list} \alias{bf.default} \title{Bayes Factor(s) from Marginal Likelihoods} \usage{ bf(x1, x2, log = FALSE, ...) bayes_factor(x1, x2, log = FALSE, ...) \method{bayes_factor}{default}(x1, x2, log = FALSE, ...) \method{bf}{bridge}(x1, x2, log = FALSE, ...) \method{bf}{bridge_list}(x1, x2, log = FALSE, ...) \method{bf}{default}(x1, x2, log = FALSE, ...) } \arguments{ \item{x1}{Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Additionally, the default method assumes that \code{x1} is a single numeric log marginal likelihood (e.g., from \code{\link{logml}}) and will throw an error otherwise.} \item{x2}{Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Additionally, the default method assumes that \code{x2} is a single numeric log marginal likelihood (e.g., from \code{\link{logml}}) and will throw an error otherwise.} \item{log}{Boolean. If \code{TRUE}, the function returns the log of the Bayes factor. Default is \code{FALSE}.} \item{...}{currently not used here, but can be used by other methods.} } \value{ For the default method returns a list of class \code{"bf_default"} with components: \itemize{ \item \code{bf}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2}. \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. } For the method for \code{"bridge"} objects returns a list of class \code{"bf_bridge"} with components: \itemize{ \item \code{bf}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2}. \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. } For the method for \code{"bridge_list"} objects returns a list of class \code{"bf_bridge_list"} with components: \itemize{ \item \code{bf}: a numeric vector consisting of Bayes factors where each element gives the Bayes factor for one set of logmls in favor of the model associated with \code{x1} over the model associated with \code{x2}. The length of this vector is given by the \code{"bridge_list"} element with the most \code{repetitions}. Elements with fewer repetitions will be recycled (with warning). \item \code{bf_median_based}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2} that is based on the median values of the logml estimates. \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. } } \description{ Generic function that computes Bayes factor(s) from marginal likelihoods. \code{bayes_factor()} is simply an (S3 generic) alias for \code{bf()}. } \details{ Computes the Bayes factor (Kass & Raftery, 1995) in favor of the model associated with \code{x1} over the model associated with \code{x2}. } \note{ For examples, see \code{\link{bridge_sampler}} and the accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} \cr \code{vignette("bridgesampling_example_stan")} } \references{ Kass, R. E., & Raftery, A. E. (1995). Bayes factors. \emph{Journal of the American Statistical Association, 90(430)}, 773-795. \url{http://dx.doi.org/10.1080/01621459.1995.10476572} } \author{ Quentin F. Gronau } bridgesampling/man/error_measures.Rd0000644000176200001440000000542513360614034017346 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/error_measures.R \name{error_measures} \alias{error_measures} \alias{error_measures.bridge} \alias{error_measures.bridge_list} \title{Error Measures for Estimated Marginal Likelihood} \usage{ error_measures(bridge_object, ...) \method{error_measures}{bridge}(bridge_object, ...) \method{error_measures}{bridge_list}(bridge_object, na.rm = TRUE, ...) } \arguments{ \item{bridge_object}{an object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}.} \item{...}{additional arguments (currently ignored).} \item{na.rm}{a logical indicating whether missing values in logml estimates should be removed. Ignored for the \code{bridge} method.} } \value{ If \code{bridge_object} is of class \code{"bridge"} and has been obtained with \code{method = "normal"} and \code{repetitions = 1}, returns a list with components: \itemize{ \item \code{re2}: approximate relative mean-squared error for marginal likelihood estimate. \item \code{cv}: approximate coefficient of variation for marginal likelihood estimate (assumes that bridge estimate is unbiased). \item \code{percentage}: approximate percentage error of marginal likelihood estimate. } If \code{bridge_object} is of class \code{"bridge_list"}, returns a list with components: \itemize{ \item \code{min}: minimum of the log marginal likelihood estimates. \item \code{max}: maximum of the log marginal likelihood estimates. \item \code{IQR}: interquartile range of the log marginal likelihood estimates. } } \description{ Computes error measures for estimated marginal likelihood. } \details{ Computes error measures for marginal likelihood bridge sampling estimates. The approximate errors for a \code{bridge_object} of class \code{"bridge"} that has been obtained with \code{method = "normal"} and \code{repetitions = 1} are based on Fruehwirth-Schnatter (2004). Not applicable in case the object of class \code{"bridge"} has been obtained with \code{method = "warp3"} and \code{repetitions = 1}. To assess the uncertainty of the estimate in this case, it is recommended to run the \code{"warp3"} procedure multiple times. } \note{ For examples, see \code{\link{bridge_sampler}} and the accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} \cr \code{vignette("bridgesampling_example_stan")} } \references{ Fruehwirth-Schnatter, S. (2004). Estimating marginal likelihoods for mixture and Markov switching models using bridge sampling techniques. \emph{The Econometrics Journal, 7}, 143-167. \url{http://dx.doi.org/10.1111/j.1368-423X.2004.00125.x} } \seealso{ The \code{summary} methods for \code{bridge} and \code{bridge_list} objects automatically invoke this function, see \code{\link{bridge-methods}}. } \author{ Quentin F. Gronau } bridgesampling/man/ier.Rd0000644000176200001440000001312113363062601015060 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/ier-data.R \docType{data} \encoding{UTF-8} \name{ier} \alias{ier} \title{Standardized International Exchange Rate Changes from 1975 to 1986} \format{A matrix with 143 rows and 6 columns.} \source{ West, M., Harrison, J. (1997). \emph{Bayesian forecasting and dynamic models} (2nd ed.). Springer-Verlag, New York. Lopes, H. F., West, M. (2004). Bayesian model assessment in factor analysis. \emph{Statistica Sinica, 14}, 41-67. \url{https://www.jstor.org/stable/24307179} } \usage{ ier } \description{ This data set contains the changes in monthly international exchange rates for pounds sterling from January 1975 to December 1986 obtained from West and Harrison (1997, pp. 612-615). Currencies tracked are US Dollar (column \code{us_dollar}), Canadian Dollar (column \code{canadian_dollar}), Japanese Yen (column \code{yen}), French Franc (column \code{franc}), Italian Lira (column \code{lira}), and the (West) German Mark (column \code{mark}). Each series has been standardized with respect to its sample mean and standard deviation. } \examples{ \dontrun{ ################################################################################ # BAYESIAN FACTOR ANALYSIS (AS PROPOSED BY LOPES & WEST, 2004) ################################################################################ library(bridgesampling) library(rstan) cores <- 4 options(mc.cores = cores) data("ier") #------------------------------------------------------------------------------- # plot data #------------------------------------------------------------------------------- currency <- colnames(ier) label <- c("US Dollar", "Canadian Dollar", "Yen", "Franc", "Lira", "Mark") op <- par(mfrow = c(3, 2), mar = c(6, 6, 3, 3)) for (i in seq_along(currency)) { plot(ier[,currency[i]], type = "l", col = "darkblue", axes = FALSE, ylim = c(-4, 4), ylab = "", xlab = "", lwd = 2) axis(1, at = 0:12*12, labels = 1975:1987, cex.axis = 1.7) axis(2, at = pretty(c(-4, 4)), las = 1, cex.axis = 1.7) mtext("Year", 1, cex = 1.5, line = 3.2) mtext("Exchange Rate Changes", 2, cex = 1.4, line = 3.2) mtext(label[i], 3, cex = 1.6, line = .1) } par(op) #------------------------------------------------------------------------------- # stan model #------------------------------------------------------------------------------- model_code <- "data { int T; // number of observations int m; // number of variables int k; // number of factors matrix[T,m] Y; // data matrix } transformed data { int r; vector[m] zeros; r = m * k - k * (k - 1) / 2; // number of non-zero factor loadings zeros = rep_vector(0.0, m); } parameters { real beta_lower[r - k]; // lower-diagonal elements of beta real beta_diag [k]; // diagonal elements of beta vector[m] sigma2; // residual variances } transformed parameters { matrix[m,k] beta; cov_matrix[m] Omega; // construct lower-triangular factor loadings matrix { int index_lower = 1; for (j in 1:k) { for (i in 1:m) { if (i == j) { beta[j,j] = beta_diag[j]; } else if (i >= j) { beta[i,j] = beta_lower[index_lower]; index_lower = index_lower + 1; } else { beta[i,j] = 0.0; } } } } Omega = beta * beta' + diag_matrix(sigma2); } model { // priors target += normal_lpdf(beta_diag | 0, 1) - k * normal_lccdf(0 | 0, 1); target += normal_lpdf(beta_lower | 0, 1); target += inv_gamma_lpdf(sigma2 | 2.2 / 2.0, 0.1 / 2.0); // likelihood for(t in 1:T) { target += multi_normal_lpdf(Y[t] | zeros, Omega); } }" # compile model model <- stan_model(model_code = model_code) #------------------------------------------------------------------------------- # fit models and compute log marginal likelihoods #------------------------------------------------------------------------------- # function for generating starting values init_fun <- function(nchains, k, m) { r <- m * k - k * (k - 1) / 2 out <- vector("list", nchains) for (i in seq_len(nchains)) { beta_lower <- array(runif(r - k, 0.05, 1), dim = r - k) beta_diag <- array(runif(k, .05, 1), dim = k) sigma2 <- array(runif(m, .05, 1.5), dim = m) out[[i]] <- list(beta_lower = beta_lower, beta_diag = beta_diag, sigma2 = sigma2) } return(out) } set.seed(1) stanfit <- bridge <- vector("list", 3) for (k in 1:3) { stanfit[[k]] <- sampling(model, data = list(Y = ier, T = nrow(ier), m = ncol(ier), k = k), iter = 11000, warmup = 1000, chains = 4, init = init_fun(nchains = 4, k = k, m = ncol(ier)), cores = cores, seed = 1) bridge[[k]] <- bridge_sampler(stanfit[[k]], method = "warp3", repetitions = 10, cores = cores) } # example output summary(bridge[[2]]) #------------------------------------------------------------------------------- # compute posterior model probabilities #------------------------------------------------------------------------------- pp <- post_prob(bridge[[1]], bridge[[2]], bridge[[3]], model_names = c("k = 1", "k = 2", "k = 3")) pp op <- par(mar = c(6, 6, 3, 3)) boxplot(pp, axes = FALSE, ylim = c(0, 1), ylab = "", xlab = "") axis(1, at = 1:3, labels = colnames(pp), cex.axis = 1.7) axis(2, cex.axis = 1.1) mtext("Posterior Model Probability", 2, cex = 1.5, line = 3.2) mtext("Number of Factors", 1, cex = 1.4, line = 3.2) par(op) } } \keyword{dataset} bridgesampling/man/bridge_sampler.Rd0000644000176200001440000004601513574727245017310 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/bridge_sampler.R \name{bridge_sampler} \alias{bridge_sampler} \alias{bridge_sampler.stanfit} \alias{bridge_sampler.mcmc.list} \alias{bridge_sampler.mcmc} \alias{bridge_sampler.matrix} \alias{bridge_sampler.stanreg} \alias{bridge_sampler.rjags} \alias{bridge_sampler.runjags} \alias{bridge_sampler.MCMC_refClass} \title{Log Marginal Likelihood via Bridge Sampling} \usage{ bridge_sampler(samples, ...) \method{bridge_sampler}{stanfit}( samples = NULL, stanfit_model = samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ... ) \method{bridge_sampler}{mcmc.list}( samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, param_types = rep("real", ncol(samples[[1]])), method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE ) \method{bridge_sampler}{mcmc}( samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, param_types = rep("real", ncol(samples)), silent = FALSE, verbose = FALSE ) \method{bridge_sampler}{matrix}( samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, param_types = rep("real", ncol(samples)), silent = FALSE, verbose = FALSE ) \method{bridge_sampler}{stanreg}( samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ... ) \method{bridge_sampler}{rjags}( samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE ) \method{bridge_sampler}{runjags}( samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE ) \method{bridge_sampler}{MCMC_refClass}( samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ... ) } \arguments{ \item{samples}{an \code{mcmc.list} object, a fitted \code{stanfit} object, a \code{stanreg} object, an \code{rjags} object, a \code{runjags} object, or a \code{matrix} with posterior samples (\code{colnames} need to correspond to parameter names in \code{lb} and \code{ub}) with posterior samples.} \item{...}{additional arguments passed to \code{log_posterior}. Ignored for the \code{stanfit} and \code{stanreg} methods.} \item{stanfit_model}{for the \code{stanfit} method, an additional object of class \code{"stanfit"} with the same model as \code{samples}, which will be used for evaluating the \code{log_posterior} (i.e., it does not need to contain any samples). The default is to use \code{samples}. In case \code{samples} was compiled in a different R session or on another computer with a different OS or setup, the \code{samples} model usually cannot be used for evaluation. In this case, one can compile the model on the current computer with \code{iter = 0} and pass it here (this usually needs to be done before \code{samples} is loaded).} \item{repetitions}{number of repetitions.} \item{method}{either \code{"normal"} or \code{"warp3"}.} \item{cores}{number of cores used for evaluating \code{log_posterior}. On unix-like systems (where \code{.Platform$OS.type == "unix"} evaluates to \code{TRUE}; e.g., Linux and Mac OS) forking via \code{\link{mclapply}} is used. Hence elements needed for evaluation should be in the \code{\link{.GlobalEnv}}. For other systems (e.g., Windows) \code{\link{makeCluster}} is used and further arguments specified below will be used.} \item{use_neff}{Boolean which determines whether the effective sample size is used in the optimal bridge function. Default is TRUE. If FALSE, the number of samples is used instead. If \code{samples} is a \code{matrix}, it is assumed that the \code{matrix} contains the samples of one chain in order. If \code{samples} come from more than one chain, we recommend to use an \code{mcmc.list} object for optimal performance.} \item{maxiter}{maximum number of iterations for the iterative updating scheme. Default is 1,000 to avoid infinite loops.} \item{silent}{Boolean which determines whether to print the number of iterations of the updating scheme to the console. Default is FALSE.} \item{verbose}{Boolean. Should internal debug information be printed to console? Default is \code{FALSE}.} \item{log_posterior}{function or name of function that takes a parameter vector and the \code{data} as input and returns the log of the unnormalized posterior density (i.e., a scalar value). If the function name is passed, the function should exist in the \code{.GlobalEnv}. For special behavior if \code{cores > 1} see \code{Details}.} \item{data}{data object which is used in \code{log_posterior}.} \item{lb}{named vector with lower bounds for parameters.} \item{ub}{named vector with upper bounds for parameters.} \item{param_types}{character vector of length \code{ncol(samples)} with \code{"real"}, \code{"simplex"} or \code{"circular"}. For all regular bounded or unbounded continuous parameters, this should just be \code{"real"}. However, if there are parameters which lie on a simplex or on the circle, this should be noted here. Simplex parameters are parameters which are bounded below by zero and collectively sum to one, such as weights in a mixture model. For these, the stick-breaking transformation is performed as described in the Stan reference manual. The circular variables are given a numerical representation to which the normal distribution is most likely a good fit. Only possible to use with \code{bridge_sampler.matrix}.} \item{packages}{character vector with names of packages needed for evaluating \code{log_posterior} in parallel (only relevant if \code{cores > 1} and \code{.Platform$OS.type != "unix"}).} \item{varlist}{character vector with names of variables needed for evaluating \code{log_posterior} (only needed if \code{cores > 1} and \code{.Platform$OS.type != "unix"} as these objects will be exported to the nodes). These objects need to exist in \code{envir}.} \item{envir}{specifies the environment for \code{varlist} (only needed if \code{cores > 1} and \code{.Platform$OS.type != "unix"} as these objects will be exported to the nodes). Default is \code{\link{.GlobalEnv}}.} \item{rcppFile}{in case \code{cores > 1} and \code{log_posterior} is an \code{Rcpp} function, \code{rcppFile} specifies the path to the cpp file (will be compiled on all cores).} } \value{ if \code{repetitions = 1}, returns a list of class \code{"bridge"} with components: \itemize{ \item \code{logml}: estimate of log marginal likelihood. \item \code{niter}: number of iterations of the iterative updating scheme. \item \code{method}: bridge sampling method that was used to obtain the estimate. \item \code{q11}: log posterior evaluations for posterior samples. \item \code{q12}: log proposal evaluations for posterior samples. \item \code{q21}: log posterior evaluations for samples from proposal. \item \code{q22}: log proposal evaluations for samples from proposal. } if \code{repetitions > 1}, returns a list of class \code{"bridge_list"} with components: \itemize{ \item \code{logml}: numeric vector with estimates of log marginal likelihood. \item \code{niter}: numeric vector with number of iterations of the iterative updating scheme for each repetition. \item \code{method}: bridge sampling method that was used to obtain the estimates. \item \code{repetitions}: number of repetitions. } } \description{ Computes log marginal likelihood via bridge sampling. } \details{ Bridge sampling is implemented as described in Meng and Wong (1996, see equation 4.1) using the "optimal" bridge function. When \code{method = "normal"}, the proposal distribution is a multivariate normal distribution with mean vector equal to the sample mean vector of \code{samples} and covariance matrix equal to the sample covariance matrix of \code{samples}. For a recent tutorial on bridge sampling, see Gronau et al. (in press). When \code{method = "warp3"}, the proposal distribution is a standard multivariate normal distribution and the posterior distribution is "warped" (Meng & Schilling, 2002) so that it has the same mean vector, covariance matrix, and skew as the samples. \code{method = "warp3"} takes approximately twice as long as \code{method = "normal"}. Note that for the \code{matrix} method, the lower and upper bound of a parameter cannot be a function of the bounds of another parameter. Furthermore, constraints that depend on multiple parameters of the model are not supported. This usually excludes, for example, parameters that constitute a covariance matrix or sets of parameters that need to sum to one. However, if the retransformations are part of the model itself and the \code{log_posterior} accepts parameters on the real line and performs the appropriate Jacobian adjustments, such as done for \code{stanfit} and \code{stanreg} objects, such constraints are obviously possible (i.e., we currently do not know of any parameter supported within Stan that does not work with the current implementation through a \code{stanfit} object). \subsection{Parallel Computation}{ On unix-like systems forking is used via \code{\link{mclapply}}. Hence elements needed for evaluation of \code{log_posterior} should be in the \code{\link{.GlobalEnv}}. On other OSes (e.g., Windows), things can get more complicated. For normal parallel computation, the \code{log_posterior} function can be passed as both function and function name. If the latter, it needs to exist in the environment specified in the \code{envir} argument. For parallel computation when using an \code{Rcpp} function, \code{log_posterior} can only be passed as the function name (i.e., character). This function needs to result from calling \code{sourceCpp} on the file specified in \code{rcppFile}. Due to the way \code{rstan} currently works, parallel computations with \code{stanfit} and \code{stanreg} objects only work with forking (i.e., NOT on Windows). } } \note{ To be able to use a \code{stanreg} object for \code{samples}, the user crucially needs to have specified the \code{diagnostic_file} when fitting the model in \pkg{rstanarm}. } \section{Warning}{ Note that the results depend strongly on the parameter priors. Therefore, it is strongly advised to think carefully about the priors before calculating marginal likelihoods. For example, the prior choices implemented in \pkg{rstanarm} or \pkg{brms} might not be optimal from a testing point of view. We recommend to use priors that have been chosen from a testing and not a purely estimation perspective. Also note that for testing, the number of posterior samples usually needs to be substantially larger than for estimation. } \examples{ ## ------------------------------------------------------------------------ ## Example 1: Estimating the Normalizing Constant of a Two-Dimensional ## Standard Normal Distribution ## ------------------------------------------------------------------------ library(bridgesampling) library(mvtnorm) samples <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(samples) <- c("x1", "x2") log_density <- function(samples.row, data) { -.5*t(samples.row) \%*\% samples.row } lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(samples) bridge_result <- bridge_sampler(samples = samples, log_posterior = log_density, data = NULL, lb = lb, ub = ub, silent = TRUE) # compare to analytical value analytical <- log(2*pi) print(cbind(bridge_result$logml, analytical)) \dontrun{ ## ------------------------------------------------------------------------ ## Example 2: Hierarchical Normal Model ## ------------------------------------------------------------------------ # for a full description of the example, see vignette("bridgesampling_example_jags") library(R2jags) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters alpha <- 1 beta <- 1 mu0 <- 0 tau20 <- 1 ### functions to get posterior samples ### ### H0: mu = 0 getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(0, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } ### H1: mu != 0 getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } ### get posterior samples ### # create data lists for Jags data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2) data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2) # fit models samples_H0 <- getSamplesModelH0(data_H0) samples_H1 <- getSamplesModelH1(data_H1) ### functions for evaluating the unnormalized posteriors on log scale ### log_posterior_H0 <- function(samples.row, data) { mu <- 0 invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } log_posterior_H1 <- function(samples.row, data) { mu <- samples.row[[ "mu" ]] invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } # specify parameter bounds H0 cn <- colnames(samples_H0$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H0 <- rep(-Inf, length(cn)) ub_H0 <- rep(Inf, length(cn)) names(lb_H0) <- names(ub_H0) <- cn lb_H0[[ "invTau2" ]] <- 0 # specify parameter bounds H1 cn <- colnames(samples_H1$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H1 <- rep(-Inf, length(cn)) ub_H1 <- rep(Inf, length(cn)) names(lb_H1) <- names(ub_H1) <- cn lb_H1[[ "invTau2" ]] <- 0 # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0, log_posterior = log_posterior_H0, lb = lb_H0, ub = ub_H0, silent = TRUE) print(H0.bridge) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1, log_posterior = log_posterior_H1, lb = lb_H1, ub = ub_H1, silent = TRUE) print(H1.bridge) # compute percentage error print(error_measures(H0.bridge)$percentage) print(error_measures(H1.bridge)$percentage) # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) } \dontrun{ ## ------------------------------------------------------------------------ ## Example 3: rstanarm ## ------------------------------------------------------------------------ library(rstanarm) # N.B.: remember to specify the diagnostic_file fit_1 <- stan_glm(mpg ~ wt + qsec + am, data = mtcars, chains = 2, cores = 2, iter = 5000, diagnostic_file = file.path(tempdir(), "df.csv")) bridge_1 <- bridge_sampler(fit_1) fit_2 <- update(fit_1, formula = . ~ . + cyl) bridge_2 <- bridge_sampler(fit_2, method = "warp3") bf(bridge_1, bridge_2) } } \references{ Gronau, Q. F., Sarafoglou, A., Matzke, D., Ly, A., Boehm, U., Marsman, M., Leslie, D. S., Forster, J. J., Wagenmakers, E.-J., & Steingroever, H. (in press). A tutorial on bridge sampling. \emph{Journal of Mathematical Psychology}. \url{https://arxiv.org/abs/1703.05984} \cr \code{vignette("bridgesampling_tutorial")} Gronau, Q. F., Wagenmakers, E.-J., Heck, D. W., & Matzke, D. (2017). \emph{A simple method for comparing complex models: Bayesian model comparison for hierarchical multinomial processing tree models using Warp-III bridge sampling}. Manuscript submitted for publication. \url{https://psyarxiv.com/yxhfm} Meng, X.-L., & Wong, W. H. (1996). Simulating ratios of normalizing constants via a simple identity: A theoretical exploration. \emph{Statistica Sinica, 6}, 831-860. \url{http://www3.stat.sinica.edu.tw/statistica/j6n4/j6n43/j6n43.htm} Meng, X.-L., & Schilling, S. (2002). Warp bridge sampling. \emph{Journal of Computational and Graphical Statistics, 11(3)}, 552-586. \url{http://dx.doi.org/10.1198/106186002457} Overstall, A. M., & Forster, J. J. (2010). Default Bayesian model determination methods for generalised linear mixed models. \emph{Computational Statistics & Data Analysis, 54}, 3269-3288. \url{http://dx.doi.org/10.1016/j.csda.2010.03.008} } \seealso{ \code{\link{bf}} allows the user to calculate Bayes factors and \code{\link{post_prob}} allows the user to calculate posterior model probabilities from bridge sampling estimates. \code{\link{bridge-methods}} lists some additional methods that automatically invoke the \code{\link{error_measures}} function. } \author{ Quentin F. Gronau and Henrik Singmann. Parallel computing (i.e., \code{cores > 1}) and the \code{stanfit} method use code from \code{rstan} by Jiaqing Guo, Jonah Gabry, and Ben Goodrich. Ben Goodrich added the \code{stanreg} method. Kees Mulder added methods for simplex and circular variables. } bridgesampling/man/bridge-methods.Rd0000644000176200001440000000241413360614034017201 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/bridge_methods.R \name{bridge-methods} \alias{bridge-methods} \alias{summary.bridge} \alias{summary.bridge_list} \alias{print.summary.bridge} \alias{print.summary.bridge_list} \alias{print.bridge} \alias{print.bridge_list} \title{Methods for bridge and bridge_list objects} \usage{ \method{summary}{bridge}(object, na.rm = TRUE, ...) \method{summary}{bridge_list}(object, na.rm = TRUE, ...) \method{print}{summary.bridge}(x, ...) \method{print}{summary.bridge_list}(x, ...) \method{print}{bridge}(x, ...) \method{print}{bridge_list}(x, na.rm = TRUE, ...) } \arguments{ \item{object, x}{object of class \code{bridge} or \code{bridge_list} as returned from \code{\link{bridge_sampler}}.} \item{na.rm}{logical. Should NA estimates in \code{bridge_list} objects be removed? Passed to \code{\link{error_measures}}.} \item{...}{further arguments, currently ignored.} } \value{ The \code{summary} methods return a \code{data.frame} which contains the log marginal likelihood plus the result returned from invoking \code{\link{error_measures}}. The \code{print} methods simply print and return nothing. } \description{ Methods defined for objects returned from the generic \code{\link{bridge_sampler}} function. } bridgesampling/man/logml.Rd0000644000176200001440000000164313360614034015421 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/logml.R \name{logml} \alias{logml} \alias{logml.bridge} \alias{logml.bridge_list} \title{Log Marginal Likelihoods from Bridge Objects} \usage{ logml(x, ...) \method{logml}{bridge}(x, ...) \method{logml}{bridge_list}(x, fun = median, ...) } \arguments{ \item{x}{Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}.} \item{...}{Further arguments passed to \code{fun}.} \item{fun}{Function which returns a scalar value and is applied to the \code{logml} vector of \code{"bridge_list"} objects. Default is \code{\link{median}}.} } \value{ scalar numeric } \description{ Generic function that returns log marginal likelihood from bridge objects. For objects of class \code{"bridge_list"}, which contains multiple log marginal likelihoods, \code{fun} is performed on the vector and its result returned. } bridgesampling/man/turtles.Rd0000644000176200001440000001162513360614034016012 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/turtles-data.R \docType{data} \encoding{UTF-8} \name{turtles} \alias{turtles} \title{Turtles Data from Janzen, Tucker, and Paukstis (2000)} \format{A data.frame with 244 rows and 3 variables.} \source{ Janzen, F. J., Tucker, J. K., & Paukstis, G. L. (2000). Experimental analysis of an early life-history stage: Selection on size of hatchling turtles. \emph{Ecology, 81(8)}, 2290-2304. \url{http://doi.org/10.2307/177115} Overstall, A. M., & Forster, J. J. (2010). Default Bayesian model determination methods for generalised linear mixed models. \emph{Computational Statistics & Data Analysis, 54}, 3269-3288. \url{http://dx.doi.org/10.1016/j.csda.2010.03.008} Sinharay, S., & Stern, H. S. (2005). An empirical comparison of methods for computing Bayes factors in generalized linear mixed models. \emph{Journal of Computational and Graphical Statistics, 14(2)}, 415-435. \url{http://dx.doi.org/10.1198/106186005X47471} } \usage{ turtles } \description{ This data set contains information about 244 newborn turtles from 31 different clutches. For each turtle, the data set includes information about survival status (column \code{y}; 0 = died, 1 = survived), birth weight in grams (column \code{x}), and clutch (family) membership (column \code{clutch}; an integer between one and 31). The clutches have been ordered according to mean birth weight. } \examples{ \dontrun{ ################################################################################ # BAYESIAN GENERALIZED LINEAR MIXED MODEL (PROBIT REGRESSION) ################################################################################ library(bridgesampling) library(rstan) data("turtles") #------------------------------------------------------------------------------- # plot data #------------------------------------------------------------------------------- # reproduce Figure 1 from Sinharay & Stern (2005) xticks <- pretty(turtles$clutch) yticks <- pretty(turtles$x) plot(1, type = "n", axes = FALSE, ylab = "", xlab = "", xlim = range(xticks), ylim = range(yticks)) points(turtles$clutch, turtles$x, pch = ifelse(turtles$y, 21, 4), cex = 1.3, col = ifelse(turtles$y, "black", "darkred"), bg = "grey", lwd = 1.3) axis(1, cex.axis = 1.4) mtext("Clutch Identifier", side = 1, line = 2.9, cex = 1.8) axis(2, las = 1, cex.axis = 1.4) mtext("Birth Weight (Grams)", side = 2, line = 2.6, cex = 1.8) #------------------------------------------------------------------------------- # Analysis: Natural Selection Study (compute same BF as Sinharay & Stern, 2005) #------------------------------------------------------------------------------- ### H0 (model without random intercepts) ### H0_code <- "data { int N; int y[N]; real x[N]; } parameters { real alpha0_raw; real alpha1_raw; } transformed parameters { real alpha0 = sqrt(10.0) * alpha0_raw; real alpha1 = sqrt(10.0) * alpha1_raw; } model { // priors target += normal_lpdf(alpha0_raw | 0, 1); target += normal_lpdf(alpha1_raw | 0, 1); // likelihood for (i in 1:N) { target += bernoulli_lpmf(y[i] | Phi(alpha0 + alpha1 * x[i])); } }" ### H1 (model with random intercepts) ### H1_code <- "data { int N; int y[N]; real x[N]; int C; int clutch[N]; } parameters { real alpha0_raw; real alpha1_raw; vector[C] b_raw; real sigma2; } transformed parameters { vector[C] b; real sigma = sqrt(sigma2); real alpha0 = sqrt(10.0) * alpha0_raw; real alpha1 = sqrt(10.0) * alpha1_raw; b = sigma * b_raw; } model { // priors target += - 2 * log(1 + sigma2); // p(sigma2) = 1 / (1 + sigma2) ^ 2 target += normal_lpdf(alpha0_raw | 0, 1); target += normal_lpdf(alpha1_raw | 0, 1); // random effects target += normal_lpdf(b_raw | 0, 1); // likelihood for (i in 1:N) { target += bernoulli_lpmf(y[i] | Phi(alpha0 + alpha1 * x[i] + b[clutch[i]])); } }" set.seed(1) ### fit models ### stanfit_H0 <- stan(model_code = H0_code, data = list(y = turtles$y, x = turtles$x, N = nrow(turtles)), iter = 15500, warmup = 500, chains = 4, seed = 1) stanfit_H1 <- stan(model_code = H1_code, data = list(y = turtles$y, x = turtles$x, N = nrow(turtles), C = max(turtles$clutch), clutch = turtles$clutch), iter = 15500, warmup = 500, chains = 4, seed = 1) set.seed(1) ### compute (log) marginal likelihoods ### bridge_H0 <- bridge_sampler(stanfit_H0) bridge_H1 <- bridge_sampler(stanfit_H1) ### compute approximate percentage errors ### error_measures(bridge_H0)$percentage error_measures(bridge_H1)$percentage ### summary ### summary(bridge_H0) summary(bridge_H1) ### compute Bayes factor ("true" value: BF01 = 1.273) ### bf(bridge_H0, bridge_H1) } } \keyword{dataset} bridgesampling/DESCRIPTION0000644000176200001440000000413013610063673014752 0ustar liggesusersPackage: bridgesampling Type: Package Title: Bridge Sampling for Marginal Likelihoods and Bayes Factors Version: 0.8-1 Authors@R: c(person(given="Quentin F.", family="Gronau", role=c("aut", "cre"), email="Quentin.F.Gronau@gmail.com", comment=c(ORCID="0000-0001-5510-6943")), person(given="Henrik", family="Singmann", role="aut", comment=c(ORCID="0000-0002-4842-3657")), person(given="Jonathan J.", family="Forster", role="ctb"), person(given="Eric-Jan", family="Wagenmakers", role="ths"), person(family="The JASP Team", role="ctb"), person("Jiqiang", "Guo", role = "ctb"), person("Jonah", "Gabry", role = "ctb"), person("Ben", "Goodrich", role = c("ctb")), person("Kees", "Mulder", role = c("ctb")), person("Perry", "de Valpine", role = c("ctb")) ) Depends: R (>= 3.0.0) Imports: mvtnorm, Matrix, Brobdingnag, stringr, coda, parallel, scales, utils, methods Suggests: testthat, Rcpp, RcppEigen, R2jags, rjags, runjags, knitr, rmarkdown, R.rsp, BayesFactor, rstan, rstanarm, nimble, MCMCpack Description: Provides functions for estimating marginal likelihoods, Bayes factors, posterior model probabilities, and normalizing constants in general, via different versions of bridge sampling (Meng & Wong, 1996, ). License: GPL (>= 2) LazyData: true RoxygenNote: 7.0.2 VignetteBuilder: knitr, R.rsp URL: https://github.com/quentingronau/bridgesampling NeedsCompilation: no Packaged: 2020-01-16 07:36:08 UTC; henrik Author: Quentin F. Gronau [aut, cre] (), Henrik Singmann [aut] (), Jonathan J. Forster [ctb], Eric-Jan Wagenmakers [ths], The JASP Team [ctb], Jiqiang Guo [ctb], Jonah Gabry [ctb], Ben Goodrich [ctb], Kees Mulder [ctb], Perry de Valpine [ctb] Maintainer: Quentin F. Gronau Repository: CRAN Date/Publication: 2020-01-16 13:40:11 UTC bridgesampling/build/0000755000176200001440000000000013610011143014326 5ustar liggesusersbridgesampling/build/vignette.rds0000644000176200001440000000072213610011143016666 0ustar liggesusersO0@P.& 5j8ȓnVO^:F=~ޮ!)pZ`W¶LdǍS6{Xzʽ }mf`7KY)lt֚)3~ŕЭfg~)Z?Hr>iy)gdw H8'ogp[y\c,O,z(Lq)؞79oP$֜~> zE/s=Fuy7<Fb$Vt#Gbטu j4`zEZa`Oeq n=;5jVnf״4ZNF4It(@[3lM4#d| cN~1~n3/ dKfx?qǢpytls#Gs6Gӎewel v5Q'e#K>hp^bridgesampling/tests/0000755000176200001440000000000013360614034014403 5ustar liggesusersbridgesampling/tests/testthat/0000755000176200001440000000000013610063673016250 5ustar liggesusersbridgesampling/tests/testthat/test-vignette_example_jags.R0000644000176200001440000001673113360614034023717 0ustar liggesusers context('test vignette bridgesampling_example_jags.Rmd') test_that("bridge sampler yields correct results", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) if (require(R2jags)) { ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ### functions to get posterior samples ### # H0: mu = 0 getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(0, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } # H1: mu != 0 getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } ### get posterior samples ### # create data lists for JAGS data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2) data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2) # fit models samples_H0 <- getSamplesModelH0(data_H0) samples_H1 <- getSamplesModelH1(data_H1) ### functions for evaluating the unnormalized posteriors on log scale ### log_posterior_H0 <- function(samples.row, data) { mu <- 0 invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } log_posterior_H1 <- function(samples.row, data) { mu <- samples.row[[ "mu" ]] invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } # specify parameter bounds H0 cn <- colnames(samples_H0$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H0 <- rep(-Inf, length(cn)) ub_H0 <- rep(Inf, length(cn)) names(lb_H0) <- names(ub_H0) <- cn lb_H0[[ "invTau2" ]] <- 0 # specify parameter bounds H1 cn <- colnames(samples_H1$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H1 <- rep(-Inf, length(cn)) ub_H1 <- rep(Inf, length(cn)) names(lb_H1) <- names(ub_H1) <- cn lb_H1[[ "invTau2" ]] <- 0 # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0, log_posterior = log_posterior_H0, lb = lb_H0, ub = ub_H0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1, log_posterior = log_posterior_H1, lb = lb_H1, ub = ub_H1, silent = TRUE) # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) # "exact" ml H1 mH1 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n mu0 <- data$mu0 tau20 <- data$tau20 alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH1integrand <- function(tau2, y, sigma2, mu0, tau20, alpha, beta) { (sigma2 + tau2)^(-n/2) * exp(-1/2 * ((n*mean(y)^2 + (n - 1)*sd(y)^2)/(sigma2 + tau2) + mu0^2/tau20 - ((n*mean(y))/(sigma2 + tau2) + mu0/tau20)^2 / (n/(sigma2 + tau2) + 1/tau20))) * (n/(sigma2 + tau2) + 1/tau20)^(-1/2) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * (tau20)^(-1/2) * beta^alpha/gamma(alpha) * integrate(mH1integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta)$value } exact_logmlH1 <- log(mH1(data_H1)) # "exact" ml H1 mH0 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH0integrand <- function(tau2, y, sigma2, alpha, beta) { n <- length(y) (sigma2 + tau2)^(-n/2) * exp(-(n*mean(y)^2 + (n - 1)*sd(y)^2)/ (2*(sigma2 + tau2))) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * beta^alpha/gamma(alpha) * integrate(mH0integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, alpha = alpha, beta = beta)$value } exact_logmlH0 <- log(mH0(data_H0)) exact_BF01 <- exp(exact_logmlH0 - exact_logmlH1) H0.bridge.curr <- H0.bridge H1.bridge.curr <- H1.bridge BF01.curr <- BF01 post1.curr <- post1 post2.curr <- post2 load(system.file("extdata/", "vignette_example_jags.RData", package = "bridgesampling")) expect_equal( H0.bridge.curr$logml, expected = exact_logmlH0, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = exact_logmlH1, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = exact_BF01, tolerance = 0.01 ) expect_equal( H0.bridge.curr$logml, expected = H0.bridge$logml, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = H1.bridge$logml, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = BF01$bf, tolerance = 0.01 ) expect_equal( post1.curr, expected = post1, tolerance = 0.01 ) expect_equal( post2.curr, expected = post2, tolerance = 0.01 ) } }) bridgesampling/tests/testthat/test-vignette_example_stan.R0000644000176200001440000001466313360614034023742 0ustar liggesusers context('test vignette bridgesampling_example_stan.Rmd') test_that("bridge sampler yields correct results", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) if (require(rstan)) { ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 # models stancodeH0 <- 'data { int n; // number of observations vector[n] y; // observations real alpha; real beta; real sigma2; } parameters { real tau2; // group-level variance vector[n] theta; // participant effects } model { target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | 0, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' stancodeH1 <- 'data { int n; // number of observations vector[n] y; // observations real mu0; real tau20; real alpha; real beta; real sigma2; } parameters { real mu; real tau2; // group-level variance vector[n] theta; // participant effects } model { target += normal_lpdf(mu | mu0, sqrt(tau20)); target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | mu, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(stanfitH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(stanfitH1, silent = TRUE) # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) # "exact" ml H1 mH1 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n mu0 <- data$mu0 tau20 <- data$tau20 alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH1integrand <- function(tau2, y, sigma2, mu0, tau20, alpha, beta) { (sigma2 + tau2)^(-n/2) * exp(-1/2 * ((n*mean(y)^2 + (n - 1)*sd(y)^2)/(sigma2 + tau2) + mu0^2/tau20 - ((n*mean(y))/(sigma2 + tau2) + mu0/tau20)^2 / (n/(sigma2 + tau2) + 1/tau20))) * (n/(sigma2 + tau2) + 1/tau20)^(-1/2) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * (tau20)^(-1/2) * beta^alpha/gamma(alpha) * integrate(mH1integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta)$value } exact_logmlH1 <- log(mH1(list(y = y, n = n, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2))) # "exact" ml H1 mH0 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH0integrand <- function(tau2, y, sigma2, alpha, beta) { n <- length(y) (sigma2 + tau2)^(-n/2) * exp(-(n*mean(y)^2 + (n - 1)*sd(y)^2)/ (2*(sigma2 + tau2))) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * beta^alpha/gamma(alpha) * integrate(mH0integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, alpha = alpha, beta = beta)$value } exact_logmlH0 <- log(mH0(list(y = y, n = n, alpha = alpha, beta = beta, sigma2 = sigma2))) exact_BF01 <- exp(exact_logmlH0 - exact_logmlH1) H0.bridge.curr <- H0.bridge H1.bridge.curr <- H1.bridge BF01.curr <- BF01 post1.curr <- post1 post2.curr <- post2 load(system.file("extdata/", "vignette_example_stan.RData", package = "bridgesampling")) expect_equal( H0.bridge.curr$logml, expected = exact_logmlH0, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = exact_logmlH1, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = exact_BF01, tolerance = 0.01 ) expect_equal( H0.bridge.curr$logml, expected = H0.bridge$logml, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = H1.bridge$logml, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = BF01$bf, tolerance = 0.01 ) expect_equal( post1.curr, expected = post1, tolerance = 0.01 ) expect_equal( post2.curr, expected = post2, tolerance = 0.01 ) } }) bridgesampling/tests/testthat/test-bridge_sampler_Rcpp.R0000644000176200001440000000416313505620174023315 0ustar liggesusers context('basic bridge sampling behavior normal Rcpp') test_that("bridge sampler matches anlytical value normal example", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) library(mvtnorm) if(require(RcppEigen)) { x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) Rcpp::sourceCpp("unnormalized_normal_density.cpp") bridge_normal <- bridge_sampler(samples = x, log_posterior = log_densityRcpp, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_densityRcpp, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_equal(bridge_normal$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3$logml, expected = log(2*pi), tolerance = 0.01) # test dots argument mu <- c(1, 2) x <- rmvnorm(1e4, mean = mu, sigma = diag(2)) colnames(x) <- c("x1", "x2") lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) Rcpp::sourceCpp("unnormalized_normal_density_mu.cpp") bridge_normal_dots <- bridge_sampler(samples = x, log_posterior = log_densityRcpp_mu, mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3_dots <- bridge_sampler(samples = x, log_posterior = log_densityRcpp_mu, mu, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_equal(bridge_normal_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_dots$logml, expected = log(2*pi), tolerance = 0.01) } }) bridgesampling/tests/testthat/test-bridge_sampler.R0000644000176200001440000002722613505620174022336 0ustar liggesusers context('basic bridge sampling behavior normal') test_that("bridge sampler matches anlytical value normal example", { # library(bridgesampling) library(mvtnorm) x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data) { -.5*t(s)%*%s } assign(x = "log_density", value = log_density, envir = .GlobalEnv) lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) # check repetitions > 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) bridge_normal_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) expect_equal(bridge_normal$logml, expected = rep(log(2*pi), length(bridge_normal$logml)), tolerance = 0.01) expect_equal(bridge_warp3$logml, expected = rep(log(2*pi), length(bridge_warp3$logml)), tolerance = 0.01) expect_equal(bridge_normal_c$logml, expected = rep(log(2*pi), length(bridge_normal_c$logml)), tolerance = 0.01) expect_equal(bridge_warp3_c$logml, expected = rep(log(2*pi), length(bridge_warp3_c$logml)), tolerance = 0.01) expect_equal(bf(bridge_normal, bridge_warp3)$bf, expected = rep(1, 2), tolerance = 0.1) # check repetitions = 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) bridge_normal_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_equal(bridge_normal$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_normal_c$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_c$logml, expected = log(2*pi), tolerance = 0.01) # check using dots repetitions > 1 mu <- c(1, 2) x <- rmvnorm(1e4, mean = mu, sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data, ...) { -.5*t(s - mu) %*% (s - mu) } assign(x = "log_density", value = log_density, envir = .GlobalEnv) lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) bridge_normal_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_normal_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) expect_equal(bridge_normal_dots$logml, expected = rep(log(2*pi), length(bridge_normal_dots$logml)), tolerance = 0.01) expect_equal(bridge_warp3_dots$logml, expected = rep(log(2*pi), length(bridge_warp3_dots$logml)), tolerance = 0.01) expect_equal(bridge_normal_c_dots$logml, expected = rep(log(2*pi), length(bridge_normal_c_dots$logml)), tolerance = 0.01) expect_equal(bridge_warp3_c_dots$logml, expected = rep(log(2*pi), length(bridge_warp3_c_dots$logml)), tolerance = 0.01) # check using dots mu <- c(1, 2) x <- rmvnorm(1e4, mean = mu, sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data, ...) { -.5*t(s - mu) %*% (s - mu) } assign(x = "log_density", value = log_density, envir = .GlobalEnv) lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) bridge_normal_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_normal_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_equal(bridge_normal_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_normal_c_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_c_dots$logml, expected = log(2*pi), tolerance = 0.01) # check error_measures err <- error_measures(bridge_normal) expect_equal(names(err), c("re2", "cv", "percentage")) expect_is(unlist(err), "character") expect_error(error_measures(bridge_warp3), "not implemented for warp3") ### these are meant to check the bf and post_prob functions and not as a meaningful comparisons bf <- bf(bridge_normal, bridge_warp3) expect_is(bf$bf, "numeric") # without prior_prob post1 <- post_prob(bridge_normal, bridge_warp3, bridge_normal_c, bridge_warp3_c) expect_equal(sum(post1), 1) # with prior_prob post2 <- post_prob(bridge_normal, bridge_warp3, bridge_normal_c, bridge_warp3_c, prior_prob = c(0.2, 0.1, 0.25, 0.45)) expect_equal(sum(post2), 1) # with incorrect prior_prob expect_error(post_prob(bridge_normal, bridge_warp3, bridge_normal_c, bridge_warp3_c, prior_prob = c(0.2, 0.1, 0.25, 0.55)), "do not sum to one") }) context('non-standard parameter spaces') test_that("bridge sampler functions for non-standard parameter spaces", { # Test with only simplex ru <- replicate(10, runif(10)) theta <- (ru / rowSums(ru))[, -10] colnames(theta) <- paste0("sim", 1:9) theta_t <- .transform2Real(theta, lb = rep(0, 9), ub = rep(1, 9), theta_types = rep("simplex", 9)) expect_equal(theta_t$transTypes[1], c(sim1 = "simplex")) theta_t_t <- .invTransform2Real(theta_t$theta_t, lb = rep(0, 9), ub = rep(1, 9), theta_types = rep("simplex", 9)) expect_equal(theta, theta_t_t) # tranformations work for different input shapes nsimp <- 4 n <- 100 sum_to_one <- function(x) x / sum(x) ru <- t(replicate(n, c(rnorm(2), # unbounded sum_to_one(runif(nsimp)), # simplex runif(3), # double-bounded abs(rnorm(1)), # lower-bounded rnorm(2) %% (2*pi)))) # circular theta_original <- ru[, -(nsimp + 2)] pt <- c(rep("real", 2), rep("simplex", nsimp - 1), rep("real", 4), rep("circular", 2)) lb <- c(rep(-Inf, 2), rep(0, nsimp - 1), rep(0, 4), rep(0, 2)) ub <- c(rep(Inf, 2), rep(1, nsimp - 1), rep(1, 3), rep(Inf, 1), rep(2*pi, 2)) nm <- c(paste0("unbounded", 1:2), paste0("simplex", 1:(nsimp - 1)), paste0("doublebounded", 1:3), paste0("lower", 1), paste0("circular", 1:2)) colnames(theta_original) <- names(lb) <- names(ub) <- names(pt) <- nm theta_t <- .transform2Real(theta_original, lb, ub, pt) theta_t_t <- .invTransform2Real(theta_t$theta_t, lb, ub, pt) # The modulus is to force the circular variables to be equal if they lie on # the same place on the circle. The modulus is also taken for the linear # variables, for simplicity of programming. expect_equal(theta_original %% (2*pi), theta_t_t %% (2*pi)) # Works with one row theta <- theta_original[1, , drop = FALSE] theta_t <- .transform2Real(theta, lb, ub, pt) theta_t_t <- .invTransform2Real(theta_t$theta_t, lb, ub, pt) # The modulus is to force the circular variables to be equal if they lie on # the same place on the circle. expect_equal(theta %% (2*pi), theta_t_t %% (2*pi)) # Test bridge sampler function with non-standard sample spaces bs_ns <- bridge_sampler.matrix( theta_original, data = rnorm(10), log_posterior = function(s, data) -.5*t(s) %*% s, lb = lb, ub = ub, silent = TRUE, verbose = FALSE) expect_true(class(bs_ns) == "bridge") ############ TEST JACOBIAN n <- 2 theta_full <- t(c(.4, .6)) theta <- theta_full[, -n, drop = FALSE] colnames(theta) <- paste0("sim", (1:(n - 1))) y <- bridgesampling:::.transform2Real(theta, lb = rep(0, n - 1), ub = rep(1, n - 1), theta_types = rep("simplex", n - 1))$theta_t tt <- rep("simplex", n - 1) colnames(y) <- paste0("trans_sim", (1:(n - 1))) names(tt) <- paste0("sim", (1:(n - 1))) jacob <- .logJacobian(y, tt, lb = rep(0, n), ub = rep(1, n)) expect_true(is.numeric(jacob)) skip_if_not_installed("MCMCpack") invsimplex <- function(y) { y <- as.matrix(y) n <- length(y) colnames(y) <- paste0("trans_sim", (1:n)) out1 <- .invTransform2Real(y, lb = rep(0, n), ub = rep(1, n), theta_types = rep("simplex", n)) c(out1, 1 - sum(out1)) } invsimplex(100) p_y <- function(y) { y <- as.matrix(y) n <- length(y) tt <- rep("simplex", n) colnames(y) <- paste0("trans_sim", (1:n)) names(tt) <- paste0("sim", (1:n)) MCMCpack::ddirichlet(invsimplex(y), theta_full*10) * exp(.logJacobian(y, tt, lb = rep(0, n), ub = rep(1, n))) } # The jaobian corrects for the transformation expect_equal(integrate(Vectorize(p_y), -100, 100)$value, 1) }) bridgesampling/tests/testthat/test-stan_bridge_sampler_basic.R0000644000176200001440000001140013360614034024504 0ustar liggesusers context('bridge_sampler.stanfit works.') ### H0: mu = 0 mH0 <- function(y, sigma2 = 1, alpha = 2, beta = 3, rel.tol = 10^(-10)) { n <- length(y) mH0integrand <- function(tau2, y, sigma2, alpha, beta) { (sigma2 + tau2)^(-n/2) * exp(-(n*mean(y)^2 + (n - 1)*sd(y)^2)/(2*(sigma2 + tau2))) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * beta^alpha/gamma(alpha) * integrate(mH0integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, alpha = alpha, beta = beta)$value } test_that("stan_bridge_sampler", { if (require(rstan)) { set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 # models stancodeH0 <- 'data { int n; // number of observations vector[n] y; // observations real alpha; real beta; real sigma2; } parameters { real tau2; // group-level variance vector[n] theta; // participant effects } model { target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | 0, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' # compile models tmp <- capture.output(suppressMessages( stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") )) # fit models tmp <- capture.output( stanobjectH0 <- sampling(stanmodelH0, data = list(y = y, n = n, alpha = alpha, beta = beta), iter = 3500, warmup = 500, chains = 4, show_messages = FALSE)) expect_is( H0_bridge_norm <- bridge_sampler(stanobjectH0, method = "normal", silent = TRUE) , "bridge") expect_is( H0_bridge_norm_rep <-bridge_sampler(stanobjectH0, method = "normal", repetitions = 2, silent = TRUE) , "bridge_list") expect_is( H0_bridge_warp3 <- bridge_sampler(stanobjectH0, method = "warp3", silent = TRUE) , "bridge") expect_is( H0_bridge_warp3_rep <- bridge_sampler(stanobjectH0, method = "warp3", repetitions = 2, silent = TRUE) , "bridge_list") expect_equal(H0_bridge_norm$logml, log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), tolerance = 0.1) expect_equal(H0_bridge_warp3$logml, log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), tolerance = 0.1) expect_equal(H0_bridge_norm_rep$logml, rep(log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), 2), tolerance = 0.1) expect_equal(H0_bridge_warp3_rep$logml, rep(log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), 2), tolerance = 0.1) } }) test_that("stan_bridge_sampler in multicore", { testthat::skip_on_cran() testthat::skip_on_travis() #testthat::skip_on_os("windows") if (require(rstan)) { set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 # models stancodeH0 <- 'data { int n; // number of observations vector[n] y; // observations real alpha; real beta; real sigma2; } parameters { real tau2; // group-level variance vector[n] theta; // participant effects } model { target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | 0, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' # compile models tmp <- capture.output(suppressMessages( stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") )) # fit models tmp <- capture.output( stanobjectH0 <- sampling(stanmodelH0, data = list(y = y, n = n, alpha = alpha, beta = beta), iter = 2500, warmup = 500, chains = 4, show_messages = FALSE)) expect_is( H0_bridge_norm <- bridge_sampler(stanobjectH0, method = "normal", silent = TRUE, cores = 2) , "bridge") expect_is( H0_bridge_warp3 <- bridge_sampler(stanobjectH0, method = "warp3", silent = TRUE, cores = 2) , "bridge") expect_equal(H0_bridge_norm$logml, log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), tolerance = 0.1) expect_equal(H0_bridge_warp3$logml, log(mH0(y = y, sigma2 = sigma2, alpha = alpha, beta = beta)), tolerance = 0.1) } }) bridgesampling/tests/testthat/test-stanreg_bridge_sampler_basic.R0000644000176200001440000000211213360614034025202 0ustar liggesusers context('bridge_sampler.stanreg works.') test_that("stan_bridge_sampler", { if (require(rstanarm)) { fit_1 <- stan_glm(mpg ~ wt + qsec + am, data = mtcars, chains = 2, cores = 2, iter = 5000, diagnostic_file = file.path(tempdir(), "df.csv")) bridge_norm <- bridge_sampler(fit_1) fit_2 <- update(fit_1, formula = . ~ . + cyl) bridge_warp <- bridge_sampler(fit_2, method = "warp3") expect_true(bridge_norm$logml > bridge_warp$logml) } }) test_that("stan_bridge_sampler in multicore", { testthat::skip_on_cran() testthat::skip_on_travis() #testthat::skip_on_os("windows") if (require(rstanarm)) { fit_1 <- stan_glm(mpg ~ wt + qsec + am, data = mtcars, chains = 2, cores = 2, iter = 5000, diagnostic_file = file.path(tempdir(), "df.csv")) bridge_norm <- bridge_sampler(fit_1, cores = 2) fit_2 <- update(fit_1, formula = . ~ . + cyl) bridge_warp <- bridge_sampler(fit_2, method = "warp3", cores = 2) expect_true(bridge_norm$logml > bridge_warp$logml) } }) bridgesampling/tests/testthat/test-bridge_sampler_parallel.R0000644000176200001440000000712713505620174024210 0ustar liggesusers context('basic bridge sampling behavior normal parallel') test_that("bridge sampler matches anlytical value normal example", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) library(mvtnorm) x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data) { -.5*t(s)%*%s } assign("log_density", log_density, envir = .GlobalEnv) lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", cores = 2, silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", cores = 2, silent = TRUE) bridge_normal_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "normal", cores = 2, silent = TRUE, envir = sys.frame(sys.nframe())) bridge_warp3_c <- bridge_sampler(samples = x, log_posterior = "log_density", data = NULL, lb = lb, ub = ub, method = "warp3", cores = 2, silent = TRUE, envir = sys.frame(sys.nframe())) expect_equal(bridge_normal$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_normal_c$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_c$logml, expected = log(2*pi), tolerance = 0.01) # test dots argument mu <- c(1, 2) x <- rmvnorm(1e4, mean = mu, sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data, ...) { -.5*t(s - mu) %*% (s - mu) } assign("log_density", log_density, envir = .GlobalEnv) lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) bridge_normal_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "normal", cores = 2, silent = TRUE) bridge_warp3_dots <- bridge_sampler(samples = x, log_posterior = log_density, mu, data = NULL, lb = lb, ub = ub, method = "warp3", cores = 2, silent = TRUE) bridge_normal_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "normal", cores = 2, silent = TRUE, envir = sys.frame(sys.nframe())) # ls.str(envir = sys.frame(sys.nframe())) bridge_warp3_c_dots <- bridge_sampler(samples = x, log_posterior = "log_density", mu, data = NULL, lb = lb, ub = ub, method = "warp3", cores = 2, silent = TRUE, envir = sys.frame(sys.nframe())) expect_equal(bridge_normal_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_normal_c_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_c_dots$logml, expected = log(2*pi), tolerance = 0.01) }) bridgesampling/tests/testthat/unnormalized_normal_density_mu.cpp0000644000176200001440000000116213360614034025266 0ustar liggesusers// load Rcpp #include #include #include using namespace Rcpp; using Eigen::VectorXd; using Eigen::Map; //------------------------------------------------------------------------------ // unnormalized standard multivariate normal density function (log) //------------------------------------------------------------------------------ // [[Rcpp::depends(RcppEigen)]] // [[Rcpp::export]] double log_densityRcpp_mu(NumericVector x, SEXP data, NumericVector mu) { VectorXd xe(as >(x)); VectorXd mue(as >(mu)); return -0.5*(xe - mue).transpose()*(xe - mue); } bridgesampling/tests/testthat/test-bridge_sampler_Rcpp_parallel.R0000644000176200001440000000542413505620174025172 0ustar liggesusers context('basic bridge sampling behavior normal Rcpp parallel') test_that("bridge sampler matches anlytical value normal example", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) library(mvtnorm) if(require(RcppEigen)) { x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) Rcpp::sourceCpp(file = "unnormalized_normal_density.cpp") Rcpp::sourceCpp(file = "unnormalized_normal_density.cpp", env = .GlobalEnv) bridge_normal <- bridge_sampler(samples = x, log_posterior = "log_densityRcpp", data = NULL, lb = lb, ub = ub, method = "normal", packages = "RcppEigen", rcppFile = "unnormalized_normal_density.cpp", cores = 2, silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = "log_densityRcpp", data = NULL, lb = lb, ub = ub, method = "warp3", packages = "RcppEigen", rcppFile = "unnormalized_normal_density.cpp", cores = 2, silent = TRUE) expect_equal(bridge_normal$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3$logml, expected = log(2*pi), tolerance = 0.01) # test dots argument mu <- c(1, 2) x <- rmvnorm(1e4, mean = mu, sigma = diag(2)) colnames(x) <- c("x1", "x2") lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) Rcpp::sourceCpp(file = "unnormalized_normal_density_mu.cpp") Rcpp::sourceCpp(file = "unnormalized_normal_density_mu.cpp", env = .GlobalEnv) bridge_normal_dots <- bridge_sampler(samples = x, log_posterior = "log_densityRcpp_mu", mu, data = NULL, lb = lb, ub = ub, method = "normal", packages = "RcppEigen", rcppFile = "unnormalized_normal_density_mu.cpp", cores = 2, silent = TRUE) bridge_warp3_dots <- bridge_sampler(samples = x, log_posterior = "log_densityRcpp_mu", mu, data = NULL, lb = lb, ub = ub, method = "warp3", packages = "RcppEigen", rcppFile = "unnormalized_normal_density_mu.cpp", cores = 2, silent = TRUE) expect_equal(bridge_normal_dots$logml, expected = log(2*pi), tolerance = 0.01) expect_equal(bridge_warp3_dots$logml, expected = log(2*pi), tolerance = 0.01) } }) bridgesampling/tests/testthat/unnormalized_normal_density.cpp0000644000176200001440000000104513360614034024565 0ustar liggesusers// load Rcpp #include #include #include using namespace Rcpp; using Eigen::VectorXd; using Eigen::Map; //------------------------------------------------------------------------------ // unnormalized standard multivariate normal density function (log) //------------------------------------------------------------------------------ // [[Rcpp::depends(RcppEigen)]] // [[Rcpp::export]] double log_densityRcpp(NumericVector x, SEXP data) { VectorXd xe(as >(x)); return -0.5*xe.transpose()*xe; } bridgesampling/tests/testthat/test-vignette_example_nimble.R0000644000176200001440000001426513363071155024245 0ustar liggesusers context('test vignette bridgesampling_example_nimble.Rmd') test_that("bridge sampler yields correct results", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) if (require(nimble)) { ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 # models codeH0 <- nimbleCode({ invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(0, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) codeH1 <- nimbleCode({ mu ~ dnorm(0, sd = 1) invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(mu, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) ## steps for H0: modelH0 <- nimbleModel(codeH0) modelH0$setData(y = y) # set data cmodelH0 <- compileNimble(modelH0) # make compiled version from generated C++ ## steps for H1: modelH1 <- nimbleModel(codeH1) modelH1$setData(y = y) # set data cmodelH1 <- compileNimble(modelH1) # make compiled version from generated C++ # build MCMC functions, skipping customization of the configuration. mcmcH0 <- buildMCMC(modelH0, monitors = modelH0$getNodeNames(stochOnly = TRUE, includeData = FALSE)) mcmcH1 <- buildMCMC(modelH1, monitors = modelH1$getNodeNames(stochOnly = TRUE, includeData = FALSE)) # compile the MCMC function via generated C++ cmcmcH0 <- compileNimble(mcmcH0, project = modelH0) cmcmcH1 <- compileNimble(mcmcH1, project = modelH1) # run the MCMC. This is a wrapper for cmcmc$run() and extraction of samples. # the object samplesH1 is actually not needed as the samples are also in cmcmcH1 samplesH0 <- runMCMC(cmcmcH0, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) samplesH1 <- runMCMC(cmcmcH1, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(cmcmcH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(cmcmcH1, silent = TRUE) # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) # "exact" ml H1 mH1 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n mu0 <- data$mu0 tau20 <- data$tau20 alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH1integrand <- function(tau2, y, sigma2, mu0, tau20, alpha, beta) { (sigma2 + tau2)^(-n/2) * exp(-1/2 * ((n*mean(y)^2 + (n - 1)*sd(y)^2)/(sigma2 + tau2) + mu0^2/tau20 - ((n*mean(y))/(sigma2 + tau2) + mu0/tau20)^2 / (n/(sigma2 + tau2) + 1/tau20))) * (n/(sigma2 + tau2) + 1/tau20)^(-1/2) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * (tau20)^(-1/2) * beta^alpha/gamma(alpha) * integrate(mH1integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta)$value } exact_logmlH1 <- log(mH1(list(y = y, n = n, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2))) # "exact" ml H1 mH0 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH0integrand <- function(tau2, y, sigma2, alpha, beta) { n <- length(y) (sigma2 + tau2)^(-n/2) * exp(-(n*mean(y)^2 + (n - 1)*sd(y)^2)/ (2*(sigma2 + tau2))) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * beta^alpha/gamma(alpha) * integrate(mH0integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, alpha = alpha, beta = beta)$value } exact_logmlH0 <- log(mH0(list(y = y, n = n, alpha = alpha, beta = beta, sigma2 = sigma2))) exact_BF01 <- exp(exact_logmlH0 - exact_logmlH1) H0.bridge.curr <- H0.bridge H1.bridge.curr <- H1.bridge BF01.curr <- BF01 post1.curr <- post1 post2.curr <- post2 # load(system.file("extdata/", "vignette_example_nimble.RData", # package = "bridgesampling")) expect_equal( H0.bridge.curr$logml, expected = exact_logmlH0, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = exact_logmlH1, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = exact_BF01, tolerance = 0.01 ) expect_equal( H0.bridge.curr$logml, expected = H0.bridge$logml, tolerance = 0.01 ) expect_equal( H1.bridge.curr$logml, expected = H1.bridge$logml, tolerance = 0.01 ) expect_equal( BF01.curr$bf, expected = BF01$bf, tolerance = 0.01 ) expect_equal( post1.curr, expected = post1, tolerance = 0.01 ) expect_equal( post2.curr, expected = post2, tolerance = 0.01 ) } }) bridgesampling/tests/testthat/test-bf.R0000644000176200001440000000463213505620174017742 0ustar liggesusers context('bridge sampling bf function') test_that("bf various basic checks", { # library(bridgesampling) library(mvtnorm) x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data) { -.5*t(s)%*%s } lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) # repetitions = 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_error(bf(bridge_normal, 4), "class 'bridge' or 'bridge_list'") BF <- bf(bridge_normal, bridge_warp3) log_BF <- bf(bridge_normal, bridge_warp3, log = TRUE) expect_output(print(BF), "Estimated Bayes factor") expect_output(print(log_BF), "Estimated log Bayes factor") BF2 <- bayes_factor(bridge_normal, bridge_warp3) log_BF2 <- bayes_factor(bridge_normal, bridge_warp3, log = TRUE) expect_output(print(BF2), "Estimated Bayes factor") expect_output(print(log_BF2), "Estimated log Bayes factor") # repetitions > 1 bridge_normal_mult <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_mult <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) BF_mult <- bf(bridge_normal_mult, bridge_warp3_mult) log_BF_mult <- bf(bridge_normal_mult, bridge_warp3_mult, log = TRUE) expect_output(print(BF_mult), "based on medians") expect_output(print(log_BF_mult), "based on medians") ## bf with multi and singular objects expect_is(suppressWarnings(bf(bridge_normal_mult, bridge_normal)), "bf_bridge_list") expect_is(bf(bridge_normal, bridge_normal_mult), "bf_bridge") expect_error(bf(bridge_normal_mult, 4), "class 'bridge' or 'bridge_list'") # default BF <- bf(1, 2) log_BF <- bf(1, 2, log = TRUE) expect_output(print(BF), "Bayes factor") expect_output(print(log_BF), "Log Bayes factor") }) bridgesampling/tests/testthat/test-post_prob.R0000644000176200001440000000332413360614034021354 0ustar liggesusers context('post_prob with lists') test_that("post_prob works with lists and with NAs.", { bridge_o <- structure(list(logml = c(4291.14352476047, 4293.29076119542, 4291.96372581169, 4293.02187182362, NA, NA, 4290.9761730488, 4293.32075269401, 4293.5762219227, 4294.02761288449), niter = c(104, 16, 52, 8, 1000, 1000, 167, 16, 21, 44), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") H0L <- structure(list(logml = c(-20.8088381186739, -20.8072772698116, -20.808454454621, -20.8083419072281, -20.8087870541247, -20.8084887398113, -20.8086023582344, -20.8079083169745, -20.8083048489095, -20.8090050811436 ), niter = c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") H1L <- structure(list(logml = c(-17.961665507006, -17.9611290723151, -17.9607509604499, -17.9608629535992, -17.9602093576442, -17.9600223300432, -17.9610157118017, -17.9615557696561, -17.9608437034849, -17.9606743200309 ), niter = c(4, 4, 4, 4, 4, 4, 4, 4, 3, 4), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") H0 <- structure(list(logml = -20.8084543022433, niter = 4, method = "normal"), .Names = c("logml", "niter", "method"), class = "bridge") expect_is(post_prob(H1L, H0L), "matrix") expect_warning(post_prob(H1L, H0L, H0), "recycled") expect_warning(post_prob(H1L, H0L, 4), "ignored") expect_warning(post_prob(H0, H0L, 4), "ignored") expect_warning(post_prob(H1L, H0L, bridge_o), "NA") expect_error(post_prob(H1L, 4, 5, 6), "one object") expect_error(post_prob(H0, 4, 5, 6), "one object") }) bridgesampling/tests/testthat/test-bridge_sampler_summary_method.R0000644000176200001440000000525513505620174025451 0ustar liggesusers context('bridge sampling summary method') test_that("bridge sampler summary method correctly displayed", { # library(bridgesampling) library(mvtnorm) x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data) { -.5*t(s)%*%s } lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) # repetitions = 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) s_normal <- summary(bridge_normal) s_warp3 <- summary(bridge_warp3) expect_equal(names(s_normal), c("Logml_Estimate", "Relative_Mean_Squared_Error", "Coefficient_of_Variation", "Percentage_Error", "Method", "Repetitions")) expect_equal(names(s_warp3), c("Logml_Estimate", "Method", "Repetitions")) expect_output(print(s_normal), 'All error measures are approximate.') expect_output(print(s_warp3), 'No error measures are available for method = "warp3"') # repetitions > 1 bridge_normal_2 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_2 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) s_normal_2 <- summary(bridge_normal_2) s_warp3_2 <- summary(bridge_warp3_2) expect_equal(names(s_normal_2), c("Logml_Estimate", "Min", "Max", "Interquartile_Range", "Method", "Repetitions")) expect_equal(names(s_warp3_2), c("Logml_Estimate", "Min", "Max", "Interquartile_Range", "Method", "Repetitions")) expect_output(print(s_normal_2), 'All error measures are based on 2 estimates.') expect_output(print(s_warp3_2), 'All error measures are based on 2 estimates.') }) bridgesampling/tests/testthat/test-bridge_sampler_print_method.R0000644000176200001440000000376513505620174025114 0ustar liggesusers context('bridge sampling print method') test_that("bridge sampler print method correctly displayed", { # library(bridgesampling) library(mvtnorm) x <- rmvnorm(1e4, mean = rep(0, 2), sigma = diag(2)) colnames(x) <- c("x1", "x2") log_density <- function(s, data) { -.5*t(s)%*%s } lb <- rep(-Inf, 2) ub <- rep(Inf, 2) names(lb) <- names(ub) <- colnames(x) # repetitions = 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE) expect_output(print(bridge_normal), "Bridge sampling estimate of the log marginal likelihood") expect_output(print(bridge_warp3), "Bridge sampling estimate of the log marginal likelihood") # repetitions > 1 bridge_normal <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3 <- bridge_sampler(samples = x, log_posterior = log_density, data = NULL, lb = lb, ub = ub, method = "warp3", silent = TRUE, repetitions = 2) expect_output(print(bridge_normal), "Median of") expect_output(print(bridge_warp3), "Median of") }) test_that("prints with NAs with warning.", { bridge_o <- structure(list(logml = c(4291.14352476047, 4293.29076119542, 4291.96372581169, 4293.02187182362, NA, NA, 4290.9761730488, 4293.32075269401, 4293.5762219227, 4294.02761288449), niter = c(104, 16, 52, 8, 1000, 1000, 167, 16, 21, 44), method = "normal", repetitions = 10), .Names = c("logml", "niter", "method", "repetitions"), class = "bridge_list") expect_warning(print(bridge_o), "NA") }) bridgesampling/tests/testthat/test-stan_bridge_sampler_bugs.R0000644000176200001440000000763113505621737024407 0ustar liggesusers context('Stan Bridge Sampler Bugs') test_that("bridge_sampler.stanfit multicore works for one-parameter model.", { skip_on_cran() skip_on_travis() skip_on_os("windows") if (require(rstan)) { set.seed(12345) # compute difference scores n <- 10 y <- rnorm(n) # models stancodeH0 <- ' data { int n; // number of observations vector[n] y; // observations } parameters { real sigma2; // variance parameter } model { target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood } ' # compile models tmp <- capture.output( stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") ) # fit models tmp <- capture.output( stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n), iter = 10000, warmup = 1000, chains = 4, control = list(adapt_delta = 0.95)) ) ######### bridge sampling ########### suppressWarnings(H0 <- bridge_sampler(stanfitH0, cores = 2, silent = TRUE)) expect_s3_class(H0, "bridge") } }) test_that("turtle example",{ skip_on_cran() if (require(rstan)) { data("turtles") ### m1 (model with random intercepts) ### m1_code_nc <- "data { int nobs; int y[nobs]; real x[nobs]; int m; int clutch[nobs]; } parameters { real alpha0_raw; real alpha1_raw; vector[m] b_raw; real sigma2; } transformed parameters { vector[m] b; real sigma = sqrt(sigma2); real alpha0 = sqrt(10.0)*alpha0_raw; real alpha1 = sqrt(10.0)*alpha1_raw; b = b_raw*sigma; } model { // priors target += -2*log(1 + sigma2); // p(sigma2) = 1/(1 + sigma2)^2 target += normal_lpdf(alpha0_raw | 0, 1); target += normal_lpdf(alpha1_raw | 0, 1); // random effects target += normal_lpdf(b_raw | 0, 1); // likelihood for (i in 1:nobs) target += bernoulli_lpmf(y[i] | Phi(alpha0 + alpha1*x[i] + b[clutch[i]])); }" tmp <- capture.output(stanobject_m1_nc <- stan(model_code = m1_code_nc, data = list(y = turtles$y, x = turtles$x, nobs = nrow(turtles), m = max(turtles$clutch), clutch = turtles$clutch), iter = 10500, warmup = 500, chains = 4)) bs_m1_nc <- bridge_sampler(stanobject_m1_nc, method = "warp3", repetitions = 25, silent=TRUE) m0_code_nc <- "data { int nobs; int y[nobs]; real x[nobs]; } parameters { real alpha0_raw; real alpha1_raw; } transformed parameters { real alpha0 = sqrt(10.0)*alpha0_raw; real alpha1 = sqrt(10.0)*alpha1_raw; } model { // priors target += normal_lpdf(alpha0_raw | 0, 1); target += normal_lpdf(alpha1_raw | 0, 1); // likelihood for (i in 1:nobs) target += bernoulli_lpmf(y[i] | Phi(alpha0 + alpha1*x[i])); }" tmp <- capture.output(stanobject_m0_nc <- stan(model_code = m0_code_nc, data = list(y = turtles$y, x = turtles$x, nobs = nrow(turtles), m = max(turtles$clutch), clutch = turtles$clucth), iter = 10500, warmup = 500, chains = 4)) bs_m0_nc <- bridge_sampler(stanobject_m0_nc, method = "warp3", repetitions = 25, silent=TRUE) expect_equal(bf(bs_m0_nc, bs_m1_nc)$bf, rep(1.27, 25), tolerance = 0.02) } }) bridgesampling/tests/testthat/test-vignette_stan_ttest.R0000644000176200001440000001035413360614034023443 0ustar liggesusers context('test vignette bridgesampling_stan_ttest.Rmd') test_that("bridge sampler yields correct results", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) if (require(rstan) && require(BayesFactor)) { set.seed(12345) # Sleep data from t.test example data(sleep) # compute difference scores y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1] n <- length(y) # models stancodeH0 <- ' data { int n; // number of observations vector[n] y; // observations } parameters { real sigma2; // variance parameter } model { target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood } ' stancodeH1 <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) set.seed(12345) suppressWarnings(H0 <- bridge_sampler(stanfitH0, silent = TRUE)) H1 <- bridge_sampler(stanfitH1, silent = TRUE) # compute percentage errors H0.error <- error_measures(H0)$percentage H1.error <- error_measures(H1)$percentage # compute Bayes factor BF10 <- bf(H1, H0) # BayesFactor result BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE, logbf = FALSE) # one-sided test stancodeHplus <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; // constrained to be positive real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile and fit model stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel") stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 30000, warmup = 1000, chains = 4, control = list(adapt_delta = .99)) Hplus <- bridge_sampler(stanfitHplus, silent = TRUE) Hplus.error <- error_measures(Hplus)$percentage # compute Bayes factor BFplus0 <- bf(Hplus, H0) BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE, logbf = FALSE)[1] H0.curr <- H0 H1.curr <- H1 Hplus.curr <- Hplus BF10.curr <- BF10 BFplus0.curr <- BFplus0 load(system.file("extdata/", "vignette_stan_ttest.RData", package = "bridgesampling")) expect_equal( H0.curr$logml, expected = H0$logml, tolerance = 0.01 ) expect_equal( H1.curr$logml, expected = H1$logml, tolerance = 0.01 ) expect_equal( BF10.curr$bf, expected = BF10$bf, tolerance = 0.01 ) expect_equal( BF10.curr$bf, expected = BF10.BayesFactor, tolerance = 0.03 ) expect_equal( BFplus0.curr$bf, expected = BFplus0$bf, tolerance = 0.01 ) expect_equal( BFplus0.curr$bf, expected = BFplus0.BayesFactor, tolerance = 0.03 ) } }) bridgesampling/tests/testthat/test-nimble_bridge_sampler.R0000644000176200001440000000326213360614034023653 0ustar liggesusers context('bridge_sampler.nimble works.') test_that("nimble support works", { testthat::skip_on_cran() testthat::skip_on_travis() testthat::skip_if_not_installed("nimble") if (require(nimble)) { set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) # create model codeH1 <- nimbleCode({ mu ~ dnorm(0, sd = 1) invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(mu, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) modelH1 <- nimbleModel(codeH1) modelH1$setData(y = y) # set data # make compiled version from generated C++ cmodelH1 <- compileNimble(modelH1) # build an MCMC, skipping customization of the configuration. mcmcH1 <- buildMCMC(modelH1, monitors = modelH1$getNodeNames(stochOnly = TRUE, includeData = FALSE)) # compile the MCMC via generated C++ cmcmcH1 <- compileNimble(mcmcH1, project = modelH1) # run the MCMC. This is a wrapper for cmcmc$run() and extraction of samples. # the object samplesH1 is actually not needed as the samples are also in cmcmcH1 samplesH1 <- runMCMC(cmcmcH1, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) # bridge sampling bridge_H1 <- bridge_sampler(samples = cmcmcH1, cores = 1, method = "warp3", repetitions = 2) expect_equal(bridge_H1$logml, rep(-37.7983064265064, 2), tolerance = 0.01) } }) bridgesampling/tests/testthat/test-bridge_sampler_mcmc.list.R0000644000176200001440000003063013360614034024275 0ustar liggesusers context('test bridge_sampler mcmc.list method') test_that("bridge sampler matches analytical value", { testthat::skip_on_cran() testthat::skip_on_travis() # library(bridgesampling) if (require(R2jags) && require(runjags)) { ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ### function to get posterior samples ### # H1: mu != 0 getSamplesModelH1 <- function(data, niter = 12000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1, progress.bar = "none") return(s) } getSamplesModelH1_runjags <- function(data, niter = 12000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- suppressWarnings(runjags::run.jags(model = model, data = data, monitor = c("theta", "mu", "invTau2"), n.chains = 3, burnin = 2000, sample = 10000, silent.jags = TRUE)) return(s) } ### get posterior samples ### # create data list for Jags data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2) # fit model samples_H1 <- getSamplesModelH1(data_H1) samples_runjags <- getSamplesModelH1_runjags(data_H1) ### function for evaluating the unnormalized posterior on log scale ### log_posterior_H1 <- function(samples.row, data) { mu <- samples.row[[ "mu" ]] invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } # specify parameter bounds cn <- colnames(samples_H1$BUGSoutput$sims.matrix) lb_H1 <- rep(-Inf, length(cn) - 1) ub_H1 <- rep(Inf, length(cn) - 1) names(lb_H1) <- names(ub_H1) <- cn[cn != "deviance"] lb_H1[[ "invTau2" ]] <- 0 samples1 <- coda::as.mcmc(samples_H1) samples1 <- samples1[,cn != "deviance"] # mcmc.list bridge_normal <- bridge_sampler(samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3 <- bridge_sampler(samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2) bridge_normal_m <- bridge_sampler(samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2, cores = 2) bridge_warp3_m <- bridge_sampler(samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2, cores = 2) # mcmc bridge_normal_s <- bridge_sampler(samples = samples1[[1]], log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_s <- bridge_sampler(samples = samples1[[1]], log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2) bridge_normal_m_s <- bridge_sampler(samples = samples1[[1]], log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2, cores = 2) bridge_warp3_m_s <- bridge_sampler(samples = samples1[[1]], log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2, cores = 2) # rjags bridge_normal_j <- bridge_sampler(samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_j <- bridge_sampler(samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2) bridge_normal_jm <- bridge_sampler(samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2, cores = 2) bridge_warp3_jm <- bridge_sampler(samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2, cores = 2) # runjags bridge_normal_r <- bridge_sampler(samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2) bridge_warp3_r <- bridge_sampler(samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2) bridge_normal_rm <- bridge_sampler(samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "normal", silent = TRUE, repetitions = 2, cores = 2) bridge_warp3_rm <- bridge_sampler(samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H1, method = "warp3", silent = TRUE, repetitions = 2, cores = 2) # "exact" ml mH1 <- function(data, rel.tol = 1e-10) { y <- data$y n <- data$n mu0 <- data$mu0 tau20 <- data$tau20 alpha <- data$alpha beta <- data$beta sigma2 <- data$sigma2 mH1integrand <- function(tau2, y, sigma2, mu0, tau20, alpha, beta) { (sigma2 + tau2)^(-n/2) * exp(-1/2 * ((n*mean(y)^2 + (n - 1)*sd(y)^2)/(sigma2 + tau2) + mu0^2/tau20 - ((n*mean(y))/(sigma2 + tau2) + mu0/tau20)^2 / (n/(sigma2 + tau2) + 1/tau20))) * (n/(sigma2 + tau2) + 1/tau20)^(-1/2) * tau2^(-alpha - 1) * exp(-beta/tau2) } (2*pi)^(-n/2) * (tau20)^(-1/2) * beta^alpha/gamma(alpha) * integrate(mH1integrand, 0, Inf, rel.tol = rel.tol, y = y, sigma2 = sigma2, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta)$value } exact_logml <- log(mH1(data_H1)) expect_equal(class(samples1), expected = "mcmc.list") expect_equal( bridge_normal$logml, expected = rep(exact_logml, length(bridge_normal$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3$logml, expected = rep(exact_logml, length(bridge_warp3$logml)), tolerance = 0.01 ) expect_equal( bridge_normal_m$logml, expected = rep(exact_logml, length(bridge_normal_m$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_m$logml, expected = rep(exact_logml, length(bridge_warp3_m$logml)), tolerance = 0.01 ) expect_equal(class(samples1[[1]]), expected = "mcmc") expect_equal( bridge_normal_s$logml, expected = rep(exact_logml, length(bridge_normal_s$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_s$logml, expected = rep(exact_logml, length(bridge_warp3_s$logml)), tolerance = 0.01 ) expect_equal( bridge_normal_m_s$logml, expected = rep(exact_logml, length(bridge_normal_m_s$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_m_s$logml, expected = rep(exact_logml, length(bridge_warp3_m_s$logml)), tolerance = 0.01 ) expect_equal(class(samples_H1), expected = "rjags") expect_equal( bridge_normal_j$logml, expected = rep(exact_logml, length(bridge_normal_j$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_j$logml, expected = rep(exact_logml, length(bridge_warp3_j$logml)), tolerance = 0.01 ) expect_equal( bridge_normal_jm$logml, expected = rep(exact_logml, length(bridge_normal_jm$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_jm$logml, expected = rep(exact_logml, length(bridge_warp3_jm$logml)), tolerance = 0.01 ) expect_equal(class(samples_runjags), expected = "runjags") expect_equal( bridge_normal_r$logml, expected = rep(exact_logml, length(bridge_normal_r$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_r$logml, expected = rep(exact_logml, length(bridge_warp3_r$logml)), tolerance = 0.01 ) expect_equal( bridge_normal_rm$logml, expected = rep(exact_logml, length(bridge_normal_rm$logml)), tolerance = 0.01 ) expect_equal( bridge_warp3_rm$logml, expected = rep(exact_logml, length(bridge_warp3_rm$logml)), tolerance = 0.01 ) ### check that wrong lb and ub produce errors: ub_H0 <- ub_H1[-2] lb_H0 <- lb_H1[-1] expect_error( bridge_sampler( samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H0 ), "ub does not contain all parameters" ) expect_error( bridge_sampler( samples = samples_runjags, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H0, ub = ub_H1 ), "lb does not contain all parameters" ) expect_error( bridge_sampler( samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H0 ), "ub does not contain all parameters" ) expect_error( bridge_sampler( samples = samples1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H0, ub = ub_H1 ), "lb does not contain all parameters" ) expect_error( bridge_sampler( samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H0, ub = ub_H1 ), "lb does not contain all parameters" ) expect_error( bridge_sampler( samples = samples_H1, log_posterior = log_posterior_H1, data = data_H1, lb = lb_H1, ub = ub_H0 ), "ub does not contain all parameters" ) } }) bridgesampling/tests/testthat.R0000644000176200001440000000011313360614034016361 0ustar liggesusersSys.setenv("R_TESTS" = "") library(testthat) test_check("bridgesampling") bridgesampling/vignettes/0000755000176200001440000000000013610011150015235 5ustar liggesusersbridgesampling/vignettes/bridgesampling_paper_extended.pdf.asis0000644000176200001440000000020113363062601024731 0ustar liggesusers%\VignetteIndexEntry{bridgesampling: An R Package for Estimating Normalizing Constants (Extended)} %\VignetteEngine{R.rsp::asis} bridgesampling/vignettes/bridgesampling_paper.pdf.asis0000644000176200001440000000020413363062751023062 0ustar liggesusers%\VignetteIndexEntry{bridgesampling: An R Package for Estimating Normalizing Constants (JSS version)} %\VignetteEngine{R.rsp::asis} bridgesampling/vignettes/bridgesampling_example_jags.Rmd0000644000176200001440000002477213360614034023437 0ustar liggesusers--- title: "Hierarchical Normal Example (JAGS)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example JAGS} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `JAGS`. This vignette uses the same models and data as the [`Stan` vignette](bridgesampling_example_stan.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. We will use `JAGS` to fit the model which parametrizes the normal distribution in terms of the precision (i.e., one over the variance). Consequently, we implement this inverse-gamma prior on $\tau^2$ by placing a gamma prior of the form $\text{Gamma}(\alpha, \beta)$ on the precision; we call this precision parameter `invTau2` in the code. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Fitting the Models Now we can fit the null and the alternative model in `JAGS` (note that it is necessary to install `JAGS` for this). One usually requires a larger number of posterior sample for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples (i.e., 50,000 post burn-in samples per chain) for this comparatively simple model. ```{r, eval=FALSE} library(R2jags) ### functions to get posterior samples ### # H0: mu = 0 getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(0, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } # H1: mu != 0 getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } ### get posterior samples ### # create data lists for JAGS data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2) data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2) # fit models samples_H0 <- getSamplesModelH0(data_H0) samples_H1 <- getSamplesModelH1(data_H1) ``` ## Specifying the Unnormalized Log Posterior Function The next step is to write the corresponding `log_posterior` (i.e., unnormalized posterior) function for both models. This function takes one draw from the joint posterior and the data object as input and returns the log of the unnormalized joint posterior density. When using MCMC software such as `JAGS` or `Stan`, specifying this function is relatively simple. As a rule of thumb, one only needs to look for all places where a "`~`" sign appears in the model code. The log of the densities on the right-hand side of these "`~`" symbols needs to be evaluated for the relevant quantities and then these log densities values are summed. For example, in the null model, there are three "`~`" signs. Starting at the data-level, we need to evaluate the log of the normal density with mean $\theta_i$ and variance $\sigma^2$ for all $y_i$ and then sum the resulting log density values. Next, we move one step up in the model and evaluate the log of the group-level density for all $\theta_i$. Hence, we evaluate the log of the normal density for $\theta_i$ with mean $\mu = 0$ and variance $\tau^2$ (remember that `JAGS` parametrizes the normal distribution in terms of the precision `invTau2` = $1/\tau^2$; in contrast, `R` parametrizes it in terms of the standard deviation) and sum the resulting log density values. The result of this summation is added to the result of the previous summation for the data-level normal distribution. Finally, we need to evaluate the log of the prior density for `invTau2`. This means that we compute the log density of the gamma distribution with parameters $\alpha$ and $\beta$ for the sampled `invTau2` value and add the resulting log density value to the result of summing the data-level and group-level log densities. The unnormalized log posterior for the alternative model can be obtained in a similar fashion. The resulting functions look as follows: ```{r,eval=FALSE} ### functions for evaluating the unnormalized posteriors on log scale ### log_posterior_H0 <- function(samples.row, data) { mu <- 0 invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } log_posterior_H1 <- function(samples.row, data) { mu <- samples.row[[ "mu" ]] invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } ``` ## Specifying the Parameter Bounds The final step before computing the log marginal likelihoods is to specify the parameter bounds. In this example, for both models, all parameters can range from $-\infty$ to $\infty$ except the precision `invTau2` which has a lower bound of zero. These boundary vectors need to be named and the names need to match the order of the parameters. ```{r,eval=FALSE} # specify parameter bounds H0 cn <- colnames(samples_H0$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H0 <- rep(-Inf, length(cn)) ub_H0 <- rep(Inf, length(cn)) names(lb_H0) <- names(ub_H0) <- cn lb_H0[[ "invTau2" ]] <- 0 # specify parameter bounds H1 cn <- colnames(samples_H1$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H1 <- rep(-Inf, length(cn)) ub_H1 <- rep(Inf, length(cn)) names(lb_H1) <- names(ub_H1) <- cn lb_H1[[ "invTau2" ]] <- 0 ``` Note that currently, the lower and upper bound of a parameter cannot be a function of the bounds of another parameter. Furthermore, constraints that depend on multiple parameters of the model are not supported. This excludes, for example, parameters that constitute a covariance matrix or sets of parameters that need to sum to one. ## Computing the (Log) Marginal Likelihoods Now we are ready to compute the log marginal likelihoods using the `bridge_sampler` function. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_jags.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0, log_posterior = log_posterior_H0, lb = lb_H0, ub = ub_H0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1, log_posterior = log_posterior_H1, lb = lb_H1, ub = ub_H1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/vignettes/bridgesampling_example_nimble.Rmd0000644000176200001440000001606613360614034023756 0ustar liggesusers--- title: "Hierarchical Normal Example (nimble)" author: "Quentin F. Gronau, Henrik Singmann & Perry de Valpine" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example Nimble} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `nimble`. The [`nimble` documentation](https://r-nimble.org/html_manual/cha-welcome-nimble.html) provides a comprehensive overview. This vignette uses the same models and data as the [`Stan` vignette](bridgesampling_example_stan.html) and [`Jags` vignette](bridgesampling_example_jags.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Specifying the Models Next, we implement the models in `nimble`. This requires to first transform the code into a `nimbleModel`, then we need to set the data, and then we can compile the model. Given that `nimble` is build on BUGS, the similarity between the `nimble` code and the [`Jags` code](bridgesampling_example_jags.html) is not too surprising. ```{r, eval=FALSE} library("nimble") # models codeH0 <- nimbleCode({ invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(0, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) codeH1 <- nimbleCode({ mu ~ dnorm(0, sd = 1) invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(mu, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) ## steps for H0: modelH0 <- nimbleModel(codeH0) modelH0$setData(y = y) # set data cmodelH0 <- compileNimble(modelH0) # make compiled version from generated C++ ## steps for H1: modelH1 <- nimbleModel(codeH1) modelH1$setData(y = y) # set data cmodelH1 <- compileNimble(modelH1) # make compiled version from generated C++ ``` ## Fitting the Models Fitting a model with `nimble` requires one to first create an MCMC function from the (compiled or uncompiled) model. This function then needs to be compiled again. With this object we can then create the samples. Note that nimble uses a reference object semantic so we do not actually need the samples object, as the samples will be saved in the MCMC function objects. But as `runMCMC` returns them anyway, we nevertheless save them. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # build MCMC functions, skipping customization of the configuration. mcmcH0 <- buildMCMC(modelH0, monitors = modelH0$getNodeNames(stochOnly = TRUE, includeData = FALSE)) mcmcH1 <- buildMCMC(modelH1, monitors = modelH1$getNodeNames(stochOnly = TRUE, includeData = FALSE)) # compile the MCMC function via generated C++ cmcmcH0 <- compileNimble(mcmcH0, project = modelH0) cmcmcH1 <- compileNimble(mcmcH1, project = modelH1) # run the MCMC. This is a wrapper for cmcmc$run() and extraction of samples. # the object samplesH1 is actually not needed as the samples are also in cmcmcH1 samplesH0 <- runMCMC(cmcmcH0, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) samplesH1 <- runMCMC(cmcmcH1, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the compiled MCMC function objects (of class `"MCMC_refClass"`) which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_nimble.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(cmcmcH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(cmcmcH1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/vignettes/bridgesampling_tutorial.pdf.asis0000644000176200001440000000012213360614034023607 0ustar liggesusers%\VignetteIndexEntry{A Tutorial on Bridge Sampling} %\VignetteEngine{R.rsp::asis} bridgesampling/vignettes/bridgesampling_stan_ttest.Rmd0000644000176200001440000002073513360614034023163 0ustar liggesusers--- title: "Bayesian One-Sample T-Test (Stan)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Bayesian One-Sample T-Test Stan} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how we can compute the (log) marginal likelihood and the Bayes factor for models fitted in `Stan`. This approach has the advantage that the user only needs to pass the fitted `stanfit` object which contains all information that is necessary to compute the (log) marginal likelihood. Here we show how one can conduct a Bayesian one-sample t-test as implemented in the `BayesFactor` package (Morey & Rouder, 2015). ## Model The Bayesian one-sample t-test makes the assumption that the observations are normally distributed with mean $\mu$ and variance $\sigma^2$. The model is then reparametrized in terms of the standardized effect size $\delta = \mu/\sigma$. For the standardized effect size, a Cauchy prior with location zero and scale $r = 1/\sqrt{2}$ is used. For the variance $\sigma^2$, Jeffreys's prior is used: $p(\sigma^2) \propto 1/\sigma^2$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the effect size $\delta$ is zero, to the alternative hypothesis $\mathcal{H}_1$, which assigns $\delta$ the above described Cauchy prior. ## Data In this example, we will analyze the `sleep` data set from the `t.test` example. This data set shows the effect of two soporific drugs (increase in hours of sleep compared to control) on 10 patients. These data can be analyzed via a one-sample t-test by first computing the difference scores and then conducting the t-test using these difference scores as data. The difference scores are calculated as follows: ```{r} library(bridgesampling) set.seed(12345) # Sleep data from t.test example data(sleep) # compute difference scores y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1] n <- length(y) ``` ## Specifying the Models Next, we implement the models in `Stan`. Note that to compute the (log) marginal likelihood for a `Stan` model, we need to specify the model in a certain way. Instad of using `"~"` signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the `"~"` sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing `y ~ normal(mu, sigma)` we would need to write `target += normal_lpdf(y | mu, sigma)`. The models can then be specified and compiled as follows (note that it is necessary to install `rstan` for this): ```{r, eval=FALSE} library(rstan) # models stancodeH0 <- ' data { int n; // number of observations vector[n] y; // observations } parameters { real sigma2; // variance parameter } model { target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood } ' stancodeH1 <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ``` ## Fitting the Models Now we can fit the null and the alternative model in `Stan`. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the `stanfit` objects which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_stan_ttest.RData", package = "bridgesampling")) ``` ```{r, eval=FALSE} H0 <- bridge_sampler(stanfitH0, silent = TRUE) H1 <- bridge_sampler(stanfitH1, silent = TRUE) ``` We obtain: ```{r} print(H0) print(H1) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0)$percentage H1.error <- error_measures(H1)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Computing the Bayes Factor To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{10}$, that is, the Bayes factor which quantifies how much more likely the data are under the alternative versus the null hypothesis: ```{r} # compute Bayes factor BF10 <- bf(H1, H0) print(BF10) ``` We can compare the bridge sampling result to the `BayesFactor` package result: ```{r, eval=FALSE} library(BayesFactor) BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE) ``` We obtain: ```{r, message=FALSE} print(BF10.BayesFactor) ``` ## One-sided Test We can also conduct one-sided tests. For instance, we could test the hypothesis that the effect size is positive versus the null hypothesis. Since we already fitted the null model and computed its marginal likelihood, we only need to slightly adjust the alternative model to reflect the directed hypothesis. To achieve this, we need to truncate the Cauchy prior distribution for $\delta$ at zero and then renormalize the (log) density. This is easily achieved via the `Stan` function `cauchy_lccdf` which corresponds to the log of the complementary cumulative distribution function of the Cauchy distribution. Thus, `cauchy_lccdf(0 | 0, r)` gives us the log of the area greater than zero which is required for renormalizing the truncated Cauchy prior. The model can then be specified and fitted as follows: ```{r, eval=FALSE} stancodeHplus <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; // constrained to be positive real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile and fit model stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel") stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 30000, warmup = 1000, chains = 4, control = list(adapt_delta = .99)) ``` The (log) marginal likelihood is then computed as follows: ```{r,eval=FALSE} Hplus <- bridge_sampler(stanfitHplus, silent = TRUE) ``` We obtain: ```{r} print(Hplus) ``` We can again use the `error_measures` function to compute an approximate percentage error of the estimate: ```{r,eval=FALSE} Hplus.error <- error_measures(Hplus)$percentage ``` We obtain: ```{r} print(Hplus.error) ``` The one-sided Bayes factor in favor of a positive effect versus the null hypothesis can be computed as follows: ```{r} # compute Bayes factor BFplus0 <- bf(Hplus, H0) print(BFplus0) ``` We can compare the bridge sampling result to the `BayesFactor` package result: ```{r, eval=FALSE} BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE)[1] ``` We obtain: ```{r} print(BFplus0.BayesFactor) ``` ## References Richard D. Morey and Jeffrey N. Rouder (2015). BayesFactor: Computation of Bayes Factors for Common Designs. R package version 0.9.12-2. \url{https://CRAN.R-project.org/package=BayesFactor} bridgesampling/vignettes/bridgesampling_example_stan.Rmd0000644000176200001440000001607513360614034023455 0ustar liggesusers--- title: "Hierarchical Normal Example (Stan)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example Stan} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `Stan`. This vignette uses the same models and data as the [`Jags` vignette](bridgesampling_example_jags.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Specifying the Models Next, we implement the models in `Stan`. Note that to compute the (log) marginal likelihood for a `Stan` model, we need to specify the model in a certain way. Instad of using `"~"` signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the `"~"` sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing `y ~ normal(mu, sigma)` we would need to write `target += normal_lpdf(y | mu, sigma)`. The models can then be specified and compiled as follows (note that it is necessary to install `rstan` for this): ```{r, eval=FALSE} library(rstan) # models stancodeH0 <- 'data { int n; // number of observations vector[n] y; // observations real alpha; real beta; real sigma2; } parameters { real tau2; // group-level variance vector[n] theta; // participant effects } model { target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | 0, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' stancodeH1 <- 'data { int n; // number of observations vector[n] y; // observations real mu0; real tau20; real alpha; real beta; real sigma2; } parameters { real mu; real tau2; // group-level variance vector[n] theta; // participant effects } model { target += normal_lpdf(mu | mu0, sqrt(tau20)); target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | mu, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ``` ## Fitting the Models Now we can fit the null and the alternative model in `Stan`. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the `stanfit` objects which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_stan.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(stanfitH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(stanfitH1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/NEWS0000644000176200001440000001722413574724501013756 0ustar liggesusers *********************************** ** bridgesampling VERSION 0.8-x ** *********************************** Changes in bridgesampling Version 0.8-x Released December 2019 Significant User Visible Changes and New Features o Disabled use of mvnfast and revetred back to mvtnorn. see also: https://github.com/quentingronau/bridgesampling/issues/20 Bugfixes o Version 0.7-x introduced a bug that prevented a rerunning of the iterative scheme based on harmonic mean in case maxit was reached. This bug should now be removed. See: https://github.com/quentingronau/bridgesampling/issues/18 *********************************** ** bridgesampling VERSION 0.7-x ** *********************************** Changes in bridgesampling Version 0.7-x Released June 2019 Significant User Visible Changes and New Features o Better error message in case all samples from proposal distribution evaluate to NA with log_posterior. Bugfixes o bridge_sampler more robust in case of extreme numerical values while running iterative scheme. Addresses #14. o Better error message in case samples are outside parameter bounds. *********************************** ** bridgesampling VERSION 0.6-x ** *********************************** Changes in bridgesampling Version 0.6-x Released October 2018 Significant User Visible Changes and New Features o Added nimble vignette (Hierarchical Normal Example) o Added accepted JSS version of introductory paper, but kept existing version as extended version. Bugfixes o R CMD check on the package tar.gz should now run without packages that are in suggests installed (if the corresponding environment variable is set). Also, all vignettes should compile without suggested packages (achieved by precalculating the results and then loading them). *********************************** ** bridgesampling VERSION 0.5-x ** *********************************** Changes in bridgesampling Version 0.5-x Released August 2018 Significant User Visible Changes and New Features o Added support for nimble objects (http://r-nimble.org/) via bridge_sampler.MCMC_refClass method. Thanks to Perry de Valpine for his help in creating this method. o The print methods for the bf() function now try to deparse the model names from the user input and use these names instead of x1 and x2. o Added support for simplex and circular parameters which can be specified using the new argument param_types of the bridge_sampler function (thanks to Kees Mulder) Bugfixes o *********************************** ** bridgesampling VERSION 0.4-x ** *********************************** Changes in bridgesampling Version 0.4-x Released December 2017 Significant User Visible Changes and New Features o More informative error messages for methods due to checking of input values: - bridge_sampler() methods now check lb and ub. - bf() methods check class of x2. - post_prob() checks if only one object of appropriate class is passed. o Promoted error_measures() to generic function with methods for both repetitions = 1 and repetitions > 1. In the latter case median and IQR are reported. The only situation where we can not report error measures is if repetitions = 1 and method = "warp3". o Added summary() (and corresponding print.summary) methods for bridge and bridge_list objects. These methods now always invoke error_measures() and return a data.frame with both log marginal likelihood and error information. These methods are described in ?`bridge-methods`. o Updated bridgesampling vignette to latest version. Bugfixes o Retroactively updated the NEWS file. *********************************** ** bridgesampling VERSION 0.3-x ** *********************************** Changes in bridgesampling Version 0.3-x Released October 2017 Significant User Visible Changes and New Features o Added a variety of new methods for bridge_sampler() that automatically extract the posterior samples, but also require a log_posterior function. Specifically, bridge_sampler() now has methods of this kind for the following objects: matrix, mcmc.list, rjags, and runjags. o Added stanreg method to bridge_sampler() which allows to pass objects from rstanarm. Note that this method requires to specify the diagnostic_file option, see examples. Thanks to Ben Goodrich for the pull request. o Added new vignette introducing the package: bridgesampling: An R Package for Estimating Normalizing Constants o Added two new data sets plus code used in the new vignette, see ?ier and ?turtles o Added bayes_factor() as alias for bf(), as bf() is an existing function in package brms. o Added use_neff argument to bridge_sampler() which allows to determine whether the effective sample size or the actual sample size is used for bridge sampling. Bugfixes o bridge_sampler() for stan objects on windows should not fail anymore if cores > 1. Instead, cores will be set to 1 (with warnings). *********************************** ** bridgesampling VERSION 0.2-x ** *********************************** Changes in bridgesampling Version 0.2-x Released June 2017 Significant User Visible Changes and New Features o Added stan_bridge_sampler(), which allows one to obtain the marginal likelihood directly from a fitted stanfit object that contains posterior samples. Note that it may be necessary to compile a new stanfit object without samples if the one with samples was compiled in a different session/pc. See new vignettes for examples. o Added repetitions argument to bridge sampler functions which allows to compute independent bridge sample estimates (based on the same posterior samples). bridge_sampler() now returns object of class "bridge" for calculations with repetitions = 1, but an object of class "bridge_list" if repetitions > 1, the latter contains the full list of estimates (but no q vectors). o Renamed compute_post_prob() to post_prob(), which is now a generic function with methods for bridge objects. The default method allows just logml values. For "bridge_list" objects (i.e., with repetitions > 1) a matrix of posterior probabilities with rows for each repetition is returned. o added new generic function logml() which returns the log marginal likelihood as a scalar value. o Multicore computations (i.e., cors > 1) on Unix-like systen (e.g., Mac OS, Linux) are now performed with forking via parallel::mcapply(). Bugfixes o compute_post_prob() now works even when exp(logml) initially returns Inf (solution works via brobdingnag). o Bridge sampler more robust due to various small improvements and produces more informative error messages should it fail. o If log_prob() returns NA, these values are replaced with -Inf on the log scale (which assumes a likelihood of 0). With warning. bridgesampling/R/0000755000176200001440000000000013505621737013453 5ustar liggesusersbridgesampling/R/turtles-data.R0000644000176200001440000000266513360614034016207 0ustar liggesusers#' Turtles Data from Janzen, Tucker, and Paukstis (2000) #' #' This data set contains information about 244 newborn turtles from 31 #' different clutches. For each turtle, the data set includes information about #' survival status (column \code{y}; 0 = died, 1 = survived), birth weight in #' grams (column \code{x}), and clutch (family) membership (column #' \code{clutch}; an integer between one and 31). The clutches have been ordered #' according to mean birth weight. #' #' @docType data #' @keywords dataset #' @name turtles #' @usage turtles #' @format A data.frame with 244 rows and 3 variables. #' @source Janzen, F. J., Tucker, J. K., & Paukstis, G. L. (2000). Experimental #' analysis of an early life-history stage: Selection on size of hatchling #' turtles. \emph{Ecology, 81(8)}, 2290-2304. #' \url{http://doi.org/10.2307/177115} #' #' Overstall, A. M., & Forster, J. J. (2010). Default Bayesian model #' determination methods for generalised linear mixed models. #' \emph{Computational Statistics & Data Analysis, 54}, 3269-3288. #' \url{http://dx.doi.org/10.1016/j.csda.2010.03.008} #' #' Sinharay, S., & Stern, H. S. (2005). An empirical comparison of methods for #' computing Bayes factors in generalized linear mixed models. \emph{Journal #' of Computational and Graphical Statistics, 14(2)}, 415-435. #' \url{http://dx.doi.org/10.1198/106186005X47471} #' @encoding UTF-8 #' #' @example examples/example.turtles.R NULL bridgesampling/R/bridge_methods.R0000644000176200001440000001176313360614034016554 0ustar liggesusers#' Methods for bridge and bridge_list objects #' #' Methods defined for objects returned from the generic \code{\link{bridge_sampler}} function. #' #' @param object,x object of class \code{bridge} or \code{bridge_list} as returned from \code{\link{bridge_sampler}}. #' @param na.rm logical. Should NA estimates in \code{bridge_list} objects be removed? Passed to \code{\link{error_measures}}. #' @param ... further arguments, currently ignored. #' #' @return #' The \code{summary} methods return a \code{data.frame} which contains the log marginal likelihood plus the result returned from invoking \code{\link{error_measures}}. #' #' The \code{print} methods simply print and return nothing. #' #' #' @name bridge-methods NULL # summary methods #' @rdname bridge-methods #' @method summary bridge #' @export summary.bridge <- function(object, na.rm = TRUE, ...) { if( ! (object$method %in% c("normal", "warp3"))) { stop('object$method needs to be either "normal" or "warp3".', call. = FALSE) } if (object$method == "normal") { em <- error_measures(object) out <- data.frame("Logml_Estimate" = object$logml, "Relative_Mean_Squared_Error" = em$re2, "Coefficient_of_Variation" = em$cv, "Percentage_Error" = em$percentage, "Method" = object$method, "Repetitions" = 1, stringsAsFactors = FALSE) } else if (object$method == "warp3") { out <- data.frame("Logml_Estimate" = object$logml, "Method" = object$method, "Repetitions" = 1) } class(out) <- c("summary.bridge", "data.frame") return(out) } #' @rdname bridge-methods #' @method summary bridge_list #' @export summary.bridge_list <- function(object, na.rm = TRUE, ...) { if( ! (object$method %in% c("normal", "warp3"))) { stop('object$method needs to be either "normal" or "warp3".', call. = FALSE) } em <- error_measures(object, na.rm = na.rm) out <- data.frame("Logml_Estimate" = median(object$logml, na.rm = na.rm), "Min" = em$min, "Max" = em$max, "Interquartile_Range" = em$IQR, "Method" = object$method, "Repetitions" = object$repetitions) class(out) <- c("summary.bridge_list", "data.frame") return(out) } # print summary methods #' @rdname bridge-methods #' @method print summary.bridge #' @export print.summary.bridge <- function(x, ...) { if (x[["Method"]] == "normal") { cat('\nBridge sampling log marginal likelihood estimate \n(method = "', as.character(x[["Method"]]), '", repetitions = ', x[["Repetitions"]], '):\n\n ', x[["Logml_Estimate"]], '\n\nError Measures:\n\n Relative Mean-Squared Error: ', x[["Relative_Mean_Squared_Error"]], '\n Coefficient of Variation: ', x[["Coefficient_of_Variation"]], '\n Percentage Error: ', x[["Percentage_Error"]], '\n\nNote:\nAll error measures are approximate.\n\n', sep = "") } else if (x[["Method"]] == "warp3") { cat('\nBridge sampling log marginal likelihood estimate \n(method = "', as.character(x[["Method"]]), '", repetitions = ', x[["Repetitions"]], '):\n\n ', x[["Logml_Estimate"]], '\n\nNote:\nNo error measures are available for method = "warp3"', '\nwith repetitions = 1.', '\nWe recommend to run the warp3 procedure multiple times to', '\nassess the uncertainty of the estimate.\n\n', sep = "") } } #' @rdname bridge-methods #' @method print summary.bridge_list #' @export print.summary.bridge_list <- function(x, ...) { cat('\nBridge sampling log marginal likelihood estimate \n(method = "', as.character(x[["Method"]]), '", repetitions = ', x[["Repetitions"]], '):\n\n ', x[["Logml_Estimate"]], '\n\nError Measures:\n\n Min: ', x[["Min"]], '\n Max: ', x[["Max"]], '\n Interquartile Range: ', x[["Interquartile_Range"]], '\n\nNote:\nAll error measures are based on ', x[["Repetitions"]], ' estimates.\n\n', sep = "") } # print methods #' @rdname bridge-methods #' @method print bridge #' @export print.bridge <- function(x, ...) { cat("Bridge sampling estimate of the log marginal likelihood: ", round(x$logml, 5), "\nEstimate obtained in ", x$niter, " iteration(s) via method \"", x$method, "\".\n", sep = "") } #' @rdname bridge-methods #' @method print bridge_list #' @export print.bridge_list <- function(x, na.rm = TRUE, ...) { cat("Median of ", x$repetitions, " bridge sampling estimates\nof the log marginal likelihood: ", round(median(x$logml, na.rm = na.rm), 5), "\nRange of estimates: ", round(range(x$logml, na.rm = na.rm)[1], 5), " to ", round(range(x$logml, na.rm = na.rm)[2], 5), "\nInterquartile range: ", round(stats::IQR(x$logml, na.rm = na.rm), 5), "\nMethod: ", x$method, "\n", sep = "") if (any(is.na(x$logml))) warning(sum(is.na(x$logml))," bridge sampling estimate(s) are NAs.", call. = FALSE) } bridgesampling/R/bridge_sampler_internals.R0000644000176200001440000002200513574720417020634 0ustar liggesusers# Helper function to represent circular variables (such as mean directions) as # "gapless" numerical representations. .gaplessCircular <- function(th) { # Mean direction md <- atan2(sum(sin(th)), sum(cos(th))) # Shift th so that it is unlikely to have a gap. ((th - md + pi) %% (2*pi)) - pi + md } #### for matrix method ###### .transform2Real <- function(theta, lb, ub, theta_types = rep("real", ncol(theta))) { ### transform samples to real line theta_t <- theta transTypes <- character(ncol(theta)) cn <- colnames(theta) names(theta_types) <- names(transTypes) <- cn # Because the simplex transform must be done on all simplex parameters at # once, do it before the loop. This transformation follows the Stan reference # manual. For simplex variables, we expect one parameter less than the number # of weights due to the contstraint sum(simplex_theta) == 1. is_simplex_theta <- theta_types == "simplex" if (any(is_simplex_theta)) { # Select the simplex variables simplex_theta <- theta[, is_simplex_theta, drop = FALSE] # Simplex dimensionality simdim <- ncol(simplex_theta) cs <- cbind(0L, t(apply(simplex_theta, 1L, cumsum))[, -simdim, drop = FALSE]) # Get the break proportions. z_k <- (simplex_theta / (1L - cs)) y_k <- log(z_k) - log(1L - z_k) + matrix(log(simdim:1L), nrow(theta), simdim, byrow = TRUE) theta_t[, is_simplex_theta] <- y_k transTypes[is_simplex_theta] <- "simplex" } for (i in seq_len(ncol(theta))) { p <- cn[i] if (theta_types[[p]] == "circular") { transTypes[[p]] <- "circular" theta_t[,i] <- .gaplessCircular(theta[,i]) } else if (theta_types[[p]] == "real") { if (any(theta[,i] < lb[[p]])) { stop("Parameter values (samples) cannot be smaller than lb: ", p, call. = FALSE) } if (any(theta[,i] > ub[[p]])) { stop("Parameter values (samples) cannot be larger than ub: ", p, call. = FALSE) } if (lb[[p]] < ub[[p]] && is.infinite(lb[[p]]) && is.infinite(ub[[p]])) { transTypes[[p]] <- "unbounded" theta_t[,i] <- theta[,i] } else if (lb[[p]] < ub[[p]] && is.finite(lb[[p]]) && is.infinite(ub[[p]])) { transTypes[[p]] <- "lower-bounded" theta_t[,i] <- log(theta[,i] - lb[[p]]) } else if (lb[[p]] < ub[[p]] && is.infinite(lb[[p]]) && is.finite(ub[[p]])) { transTypes[[p]] <- "upper-bounded" theta_t[,i] <- log(ub[[p]] - theta[,i]) } else if (lb[[p]] < ub[[p]] && is.finite(lb[[p]]) && is.finite(ub[[p]])) { transTypes[[p]] <- "double-bounded" theta_t[,i] <- qnorm( (theta[,i] - lb[[p]])/(ub[[p]] - lb[[p]]) ) # Finally, give an error except for simplex variables, which are already # transformed. } else if (theta_types[p] != "simplex") stop(paste("Could not transform parameters, possibly due to invalid", "lower and/or upper prior bounds.")) } } colnames(theta_t) <- paste0("trans_", colnames(theta)) return(list(theta_t = theta_t, transTypes = transTypes)) } .invTransform2Real <- function(theta_t, lb, ub, theta_types = rep("real", ncol(theta))) { ### transform transformed samples back to original scales theta <- theta_t colnames(theta) <- stringr::str_sub(colnames(theta), 7) cn <- colnames(theta) names(theta_types) <- cn # Because the simplex transform must be done on all simplex parameters at # once, do it before the loop. This transformation follows the Stan reference # manual. For simplex variables, we expect one parameter less than the number # of weights due to the contstraint sum(simplex_theta) == 1. is_simplex_theta <- theta_types == "simplex" if (any(is_simplex_theta)) { # Select the simplex variables simplex_theta <- theta_t[, is_simplex_theta, drop = FALSE] # Simplex dimensionality simdim <- ncol(simplex_theta) logitz <- simplex_theta - matrix(log(simdim:1L), nrow(theta), simdim, byrow = TRUE) z_k <- exp(logitz) / (1 + exp(logitz)) x_k <- z_k if (simdim > 1) { for (k in 2:simdim) { x_k[, k] <- (1 - rowSums(x_k[, 1:(k - 1), drop = FALSE])) * z_k[, k] } } theta[, is_simplex_theta] <- x_k } # Note that the circular variables are not transformed back, because they are # simply a different numerical representation. for (i in seq_len(ncol(theta_t))) { p <- cn[i] if (theta_types[[p]] == "real") { if (lb[[p]] < ub[[p]] && is.infinite(lb[[p]]) && is.infinite(ub[[p]])) { theta[,i] <- theta_t[,i] } else if (lb[[p]] < ub[[p]] && is.finite(lb[[p]]) && is.infinite(ub[[p]])) { theta[,i] <- exp(theta_t[,i]) + lb[[p]] } else if (lb[[p]] < ub[[p]] && is.infinite(lb[[p]]) && is.finite(ub[[p]])) { theta[,i] <- ub[[p]] - exp(theta_t[,i]) } else if (lb[[p]] < ub[[p]] && is.finite(lb[[p]]) && is.finite(ub[[p]])) { theta[,i] <- pnorm(theta_t[,i])*(ub[[p]] - lb[[p]]) + lb[[p]] } else { stop("Could not transform parameters, possibly due to invalid lower and/or upper prior bounds.") } } } return(theta) } .logJacobian <- function(theta_t, transTypes, lb, ub) { ### compute log of Jacobian logJ <- matrix(nrow = nrow(theta_t), ncol = ncol(theta_t)) cn <- stringr::str_sub(colnames(theta_t), 7) # Separate the computations for the simplex is_simplex_theta <- transTypes == "simplex" if (any(is_simplex_theta)) { # Select the simplex variables simplex_theta <- theta_t[, is_simplex_theta, drop = FALSE] # Simplex dimensionality, this is K - 1 simdim <- ncol(simplex_theta) logitz <- simplex_theta - matrix(log(simdim:1L), nrow(theta_t), simdim, byrow = TRUE) z_k <- exp(logitz) / (1 + exp(logitz)) x_k <- z_k # Sum_x_k is the length of the remaining stick at step k. At the start, the # whole stick is still left sum_x_k <- matrix(nrow = nrow(theta_t), ncol = simdim) sum_x_k[, 1] <- 1 if (simdim > 1) { for (k in 2:simdim) { rsx <- rowSums(x_k[, 1:(k - 1), drop = FALSE]) x_k[, k] <- (1 - rsx) * z_k[, k] sum_x_k[, k] <- (1 - rsx) } } logJ[, is_simplex_theta] <- log(z_k) + log(1 - z_k) + log(sum_x_k) } for (i in seq_len( ncol(theta_t) )) { p <- cn[i] if (transTypes[[p]] == "unbounded") { logJ[,i] <- 0 } else if (transTypes[[p]] == "lower-bounded") { logJ[,i] <- theta_t[,i] } else if (transTypes[[p]] == "upper-bounded") { logJ[,i] <- theta_t[,i] } else if (transTypes[[p]] == "double-bounded") { logJ[,i] <- log(ub[[p]] - lb[[p]]) + dnorm(theta_t[,i], log = TRUE) } else if (transTypes[[p]] == "circular") { logJ[,i] <- 0 } } return(.rowSums(logJ, m = nrow(logJ), n = ncol(logJ))) } .split_matrix <- function(matrix, cores) { out <- vector("list", cores) borders <- ceiling(seq(from = 0, to = nrow(matrix), length.out = cores + 1)) for (i in seq_len(cores)) { out[[i]] <- matrix[(borders[i] + 1):borders[i + 1], , drop = FALSE] } out } .run.iterative.scheme <- function(q11, q12, q21, q22, r0, tol, L, method, maxiter, silent, criterion, neff) { ### run iterative updating scheme (using "optimal" bridge function, ### see Meng & Wong, 1996) if (method == "normal") { l1 <- q11 - q12 # log(l) l2 <- q21 - q22 # log(ltilde) } else if (method == "warp3") { l1 <- -log(2) + determinant(L)$modulus + (q11 - q12) # log(l) l2 <- -log(2) + determinant(L)$modulus + (q21 - q22) # log(ltilde) } ## for dbugging: # save( # l1, l2, # r0, tol, L, # method, maxiter, silent, # criterion, neff, # file = "iterative_scheme.rda" # ) lstar <- median(l1) n.1 <- length(l1) n.2 <- length(l2) s1 <- neff/(neff + n.2) s2 <- n.2/(neff + n.2) r <- r0 r_vals <- r logml <- log(r) + lstar logml_vals <- logml criterion_val <- 1 + tol e <- as.brob( exp(1) ) i <- 1 while (i <= maxiter && criterion_val > tol) { if (! silent) cat(paste0("Iteration: ", i, "\n")) rold <- r logmlold <- logml numi <- e^(l2 - lstar)/(s1 * e^(l2 - lstar) + s2 * r) deni <- 1/(s1 * e^(l1 - lstar) + s2 * r) if (any(is.infinite(as.numeric(numi))) || any(is.infinite(as.numeric((deni))))) { warning("Infinite value in iterative scheme, returning NA.\n Try rerunning with more samples.", call. = FALSE) return(list(logml = NA, niter = i)) } r <- (n.1/n.2) * sum(numi)/sum(deni) r_vals <- c(r_vals, r) logml <- log(r) + lstar logml_vals <- c(logml_vals, logml) criterion_val <- switch(criterion, "r" = abs((r - rold)/r), "logml" = abs((logml - logmlold)/logml)) i <- i + 1 } if (i >= maxiter) { return(list(logml = NA, niter = i-1, r_vals = r_vals)) } return(list(logml = logml, niter = i-1)) } bridgesampling/R/bf.R0000644000176200001440000001654613360614034014170 0ustar liggesusers#' Generic function that computes Bayes factor(s) from marginal likelihoods. \code{bayes_factor()} is simply an (S3 generic) alias for \code{bf()}. #' @export #' @title Bayes Factor(s) from Marginal Likelihoods #' @param x1 Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Additionally, the default method assumes that \code{x1} is a single numeric log marginal likelihood (e.g., from \code{\link{logml}}) and will throw an error otherwise. #' @param x2 Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. Additionally, the default method assumes that \code{x2} is a single numeric log marginal likelihood (e.g., from \code{\link{logml}}) and will throw an error otherwise. #' @param log Boolean. If \code{TRUE}, the function returns the log of the Bayes factor. Default is \code{FALSE}. #' @param ... currently not used here, but can be used by other methods. #' @details Computes the Bayes factor (Kass & Raftery, 1995) in favor of the model associated with \code{x1} over the model associated with \code{x2}. #' @return For the default method returns a list of class \code{"bf_default"} with components: #' \itemize{ #' \item \code{bf}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2}. #' \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. #' } #' #' #' For the method for \code{"bridge"} objects returns a list of class \code{"bf_bridge"} with components: #' \itemize{ #' \item \code{bf}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2}. #' \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. #' } #' #' #' For the method for \code{"bridge_list"} objects returns a list of class \code{"bf_bridge_list"} with components: #' \itemize{ #' \item \code{bf}: a numeric vector consisting of Bayes factors where each element gives the Bayes factor for one set of logmls in favor of the model associated with \code{x1} over the model associated with \code{x2}. The length of this vector is given by the \code{"bridge_list"} element with the most \code{repetitions}. Elements with fewer repetitions will be recycled (with warning). #' \item \code{bf_median_based}: (scalar) value of the Bayes factor in favor of the model associated with \code{x1} over the model associated with \code{x2} that is based on the median values of the logml estimates. #' \item \code{log}: Boolean which indicates whether \code{bf} corresponds to the log Bayes factor. #' } #' @author Quentin F. Gronau #' @note For examples, see \code{\link{bridge_sampler}} and the accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} \cr \code{vignette("bridgesampling_example_stan")} #' @references #' Kass, R. E., & Raftery, A. E. (1995). Bayes factors. \emph{Journal of the American Statistical Association, 90(430)}, 773-795. \url{http://dx.doi.org/10.1080/01621459.1995.10476572} #' @importFrom methods is bf <- function(x1, x2, log = FALSE, ...) { UseMethod("bf", x1) } #' @rdname bf #' @export bayes_factor <- function(x1, x2, log = FALSE, ...) { UseMethod("bayes_factor", x1) } #' @rdname bf #' @export bayes_factor.default <- function(x1, x2, log = FALSE, ...) { bf(x1, x2, log = log, ...) } .bf_calc <- function(logml1, logml2, log) { bf <- logml1 - logml2 if (! log) bf <- exp(bf) return(bf) } #' @rdname bf #' @export bf.bridge <- function(x1, x2, log = FALSE, ...) { if (!inherits(x2, c("bridge", "bridge_list"))) stop("x2 needs to be of class 'bridge' or 'bridge_list'.", call. = FALSE) bf <- .bf_calc(logml(x1), logml(x2), log = log) out <- list(bf = bf, log = log) class(out) <- "bf_bridge" try({ mc <- match.call() name1 <- deparse(mc[["x1"]]) name2 <- deparse(mc[["x2"]]) attr(out, "model_names") <- c(name1, name2) }, silent = TRUE) return(out) } #' @rdname bf #' @export bf.bridge_list <- function(x1, x2, log = FALSE, ...) { if (!inherits(x2, c("bridge", "bridge_list"))) stop("x2 needs to be of class 'bridge' or 'bridge_list'.", call. = FALSE) logml1 <- x1$logml logml2 <- x2$logml median1 <- median(logml1, na.rm = TRUE) median2 <- median(logml2, na.rm = TRUE) len1 <- length(logml1) len2 <- length(logml2) max_len <- max(c(len1, len2)) if (!all(c(len1, len2) == max_len)) { warning("Not all objects provide ", max_len, " logmls. Some values are recycled.", call. = FALSE) logml1 <- rep(logml1, length.out = max_len) logml2 <- rep(logml2, length.out = max_len) } bf <- .bf_calc(logml1, logml2, log = log) bf_median_based <- .bf_calc(median1, median2, log = log) out <- list(bf = bf, bf_median_based = bf_median_based, log = log) class(out) <- "bf_bridge_list" try({ mc <- match.call() name1 <- deparse(mc[["x1"]]) name2 <- deparse(mc[["x2"]]) attr(out, "model_names") <- c(name1, name2) }, silent = TRUE) return(out) } #' @rdname bf #' @export bf.default <- function(x1, x2, log = FALSE, ...) { if (!is.numeric(c(x1, x2))) { stop("logml values need to be numeric", call. = FALSE) } if (length(x1) > 1 || length(x2) > 1) { stop("Both logmls need to be scalar values.", call. = FALSE) } bf <- .bf_calc(x1, x2, log = log) out <- list(bf = bf, log = log) class(out) <- "bf_default" try({ mc <- match.call() name1 <- deparse(mc[["x1"]]) name2 <- deparse(mc[["x2"]]) attr(out, "model_names") <- c(name1, name2) }, silent = TRUE) return(out) } ######## Methods for bf objects: #' @method print bf_bridge #' @export print.bf_bridge <- function(x, ...) { if(!is.null(attr(x, "model_names"))) { model_names <- attr(x, "model_names") } else { model_names <- c("x1", "x2") } cat("Estimated ", if (x$log) "log " else NULL , "Bayes factor in favor of ", model_names[1], " over ", model_names[2], ": ", formatC(x$bf, digits = 5, format = "f"), "\n", sep = "") } #' @method print bf_bridge_list #' @export print.bf_bridge_list <- function(x, na.rm = TRUE,...) { if(!is.null(attr(x, "model_names"))) { model_names <- attr(x, "model_names") } else { model_names <- c("x1", "x2") } cat("Estimated ", if (x$log) "log " else NULL , "Bayes factor (based on medians of log marginal likelihood estimates)\n", " in favor of ", model_names[1], " over ", model_names[2], ": ", formatC(x$bf_median_based, digits = 5, format = "f"), "\nRange of estimates: ", formatC(range(x$bf, na.rm=na.rm)[1], digits = 5, format = "f"), " to ", formatC(range(x$bf, na.rm = na.rm)[2], digits = 5, format = "f"), "\nInterquartile range: ", formatC(stats::IQR(x$bf, na.rm = na.rm), digits = 5, format = "f"), "\n", sep = "") if (any(is.na(x$bf))) warning(sum(is.na(x$bf)), " log Bayes factor estimate(s) are NAs.", call. = FALSE) } #' @method print bf_default #' @export print.bf_default <- function(x, ...) { if(!is.null(attr(x, "model_names"))) { model_names <- attr(x, "model_names") } else { model_names <- c("Model 1", "Model 2") } cat(if (x$log) "Log " else NULL , "Bayes factor in favor of ", model_names[1], " over ", model_names[2], ": ", formatC(x$bf, digits = 5, format = "f"), "\n", sep = "") } bridgesampling/R/bridge_sampler_warp3.R0000644000176200001440000002734013574716717017710 0ustar liggesusers .bridge.sampler.warp3 <- function( samples_4_fit, # matrix with already transformed samples for fitting the # proposal (rows are samples), colnames are "trans_x" where # x is the parameter name samples_4_iter, # matrix with already transformed samples for the # iterative scheme (rows are samples), colnames are "trans_x" # where x is the parameter name neff, # effective sample size of samples_4_iter (i.e., already transformed samples), scalar log_posterior, ..., data, lb, ub, transTypes, # types of transformations (unbounded/lower/upperbounded) for the different parameters (named character vector) param_types, # Sample space for transformations (real, circular, simplex) cores, repetitions, packages, varlist, envir, rcppFile, maxiter, silent, verbose, r0, tol1, tol2) { if (is.null(neff)) neff <- nrow(samples_4_iter) n_post <- nrow(samples_4_iter) # get mean & covariance matrix and generate samples from proposal m <- apply(samples_4_fit, 2, mean) V_tmp <- cov(samples_4_fit) V <- as.matrix(nearPD(V_tmp)$mat) # make sure that V is positive-definite L <- t(chol(V)) # sample from multivariate normal distribution and evaluate for posterior samples and generated samples q12 <- dmvnorm((samples_4_iter - matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE)) %*% t(solve(L)), sigma = diag(ncol(samples_4_fit)), log = TRUE) q22 <- vector(mode = "list", length = repetitions) gen_samples <- vector(mode = "list", length = repetitions) for (i in seq_len(repetitions)) { gen_samples[[i]] <- rmvnorm(n_post, sigma = diag(ncol(samples_4_fit))) colnames(gen_samples[[i]]) <- colnames(samples_4_iter) q22[[i]] <- dmvnorm(gen_samples[[i]], sigma = diag(ncol(samples_4_fit)), log = TRUE) } e <- as.brob( exp(1) ) # evaluate log of likelihood times prior for posterior samples and generated samples q21 <- vector(mode = "list", length = repetitions) if (cores == 1) { q11 <- log(e^(apply(.invTransform2Real(samples_4_iter, lb, ub, param_types), 1, log_posterior, data = data,...) + .logJacobian(samples_4_iter, transTypes, lb, ub)) + e^(apply(.invTransform2Real(matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, lb, ub, param_types), 1, log_posterior, data = data, ...) + .logJacobian(matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, transTypes, lb, ub))) for (i in seq_len(repetitions)) { q21[[i]] <- log(e^(apply(.invTransform2Real(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - gen_samples[[i]] %*% t(L), lb, ub, param_types), 1, log_posterior, data = data, ...) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - gen_samples[[i]] %*% t(L), transTypes, lb, ub)) + e^(apply(.invTransform2Real(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) + gen_samples[[i]] %*% t(L), lb, ub, param_types), 1, log_posterior, data = data, ...) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) + gen_samples[[i]] %*% t(L), transTypes, lb, ub))) } } else if (cores > 1) { if ( .Platform$OS.type == "unix") { split1a <- .split_matrix(matrix=.invTransform2Real(samples_4_iter, lb, ub, param_types), cores=cores) split1b <- .split_matrix(matrix=.invTransform2Real( matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, lb, ub, param_types ), cores=cores) q11a <- parallel::mclapply(split1a, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q11b <- parallel::mclapply(split1b, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q11 <- log(e^(unlist(q11a) + .logJacobian(samples_4_iter, transTypes, lb, ub)) + e^(unlist(q11b) + .logJacobian(matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, transTypes, lb, ub))) for (i in seq_len(repetitions)) { tmp_mat2 <- gen_samples[[i]] %*% t(L) split2a <- .split_matrix(matrix=.invTransform2Real( matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - tmp_mat2, lb, ub, param_types ), cores=cores) split2b <- .split_matrix(matrix=.invTransform2Real( matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) + tmp_mat2, lb, ub, param_types ), cores=cores) q21a <- parallel::mclapply(split2a, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q21b <- parallel::mclapply(split2b, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q21[[i]] <- log(e^(unlist(q21a) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - tmp_mat2, transTypes, lb, ub)) + e^(unlist(q21b) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) + tmp_mat2, transTypes, lb, ub))) } } else { cl <- parallel::makeCluster(cores, useXDR = FALSE) sapply(packages, function(x) parallel::clusterCall(cl = cl, "require", package = x, character.only = TRUE)) parallel::clusterExport(cl = cl, varlist = varlist, envir = envir) if ( ! is.null(rcppFile)) { parallel::clusterExport(cl = cl, varlist = "rcppFile", envir = parent.frame()) parallel::clusterCall(cl = cl, "require", package = "Rcpp", character.only = TRUE) parallel::clusterEvalQ(cl = cl, Rcpp::sourceCpp(file = rcppFile)) } else if (is.character(log_posterior)) { parallel::clusterExport(cl = cl, varlist = log_posterior, envir = envir) } q11 <- log(e^(parallel::parRapply(cl = cl, x = .invTransform2Real(samples_4_iter, lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(samples_4_iter, transTypes, lb, ub)) + e^(parallel::parRapply(cl = cl, x = .invTransform2Real(matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(matrix(2*m, nrow = n_post, ncol = length(m), byrow = TRUE) - samples_4_iter, transTypes, lb, ub))) for (i in seq_len(repetitions)) { q21[[i]] <- log(e^(parallel::parRapply(cl = cl, x = .invTransform2Real(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - gen_samples[[i]] %*% t(L), lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) - gen_samples[[i]] %*% t(L), transTypes, lb, ub)) + e^(parallel::parRapply(cl = cl, x = .invTransform2Real(matrix(m, nrow = n_post, ncol = length(m),byrow = TRUE) + gen_samples[[i]] %*% t(L), lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(matrix(m, nrow = n_post, ncol = length(m), byrow = TRUE) + gen_samples[[i]] %*% t(L), transTypes, lb, ub))) } parallel::stopCluster(cl) } } if (any(is.infinite(q11))) { warning(sum(is.infinite(q11)), " of the ", length(q11)," log_prob() evaluations on the warp-transformed posterior draws produced -Inf/Inf.", call. = FALSE) } for (i in seq_len(repetitions)) { if (any(is.infinite(q21[[i]]))) { warning(sum(is.infinite(q21[[i]])), " of the ", length(q21[[i]])," log_prob() evaluations on the warp-transformed proposal draws produced -Inf/Inf.", call. = FALSE) } } if (any(is.na(q11))) { warning(sum(is.na(q11)), " evaluation(s) of log_prob() on the warp-transformed posterior draws produced NA and have been replaced by -Inf.", call. = FALSE) q11[is.na(q11)] <- -Inf } for (i in seq_len(repetitions)) { if (any(is.na(q21[[i]]))) { warning(sum(is.na(q21[[i]])), " evaluation(s) of log_prob() on the warp-transformed proposal draws produced NA nd have been replaced by -Inf.", call. = FALSE) q21[[i]][is.na(q21[[i]])] <- -Inf } } if(verbose) { print("summary(q12): (log_dens of proposal for posterior samples)") print(summary(q12)) print("summary(q22): (log_dens of proposal for generated samples)") print(lapply(q22, summary)) print("summary(q11): (log_dens of posterior for posterior samples)") print(summary(q11)) print("summary(q21): (log_dens of posterior for generated samples)") print(lapply(q21, summary)) } logml <- numeric(repetitions) niter <- numeric(repetitions) # run iterative updating scheme to compute log of marginal likelihood for (i in seq_len(repetitions)) { tmp <- .run.iterative.scheme(q11 = q11, q12 = q12, q21 = q21[[i]], q22 = q22[[i]], r0 = r0, tol = tol1, L = L, method = "warp3", maxiter = maxiter, silent = silent, criterion = "r", neff = neff) if (is.na(tmp$logml)) { warning("logml could not be estimated within maxiter, rerunning with adjusted starting value. \nEstimate might be more variable than usual.", call. = FALSE) lr <- length(tmp$r_vals) # use geometric mean as starting value r0_2 <- sqrt(tmp$r_vals[[lr - 1]] * tmp$r_vals[[lr]]) tmp <- .run.iterative.scheme(q11 = q11, q12 = q12, q21 = q21[[i]], q22 = q22[[i]], r0 = r0_2, tol = tol2, L = L, method = "warp3", maxiter = maxiter, silent = silent, criterion = "logml", neff = neff) tmp$niter <- maxiter + tmp$niter } logml[i] <- tmp$logml niter[i] <- tmp$niter if (niter[i] == maxiter) warning("logml could not be estimated within maxiter, returning NA.", call. = FALSE) } if (repetitions == 1) { out <- list(logml = logml, niter = niter, method = "warp3", q11 = q11, q12 = q12, q21 = q21[[1]], q22 = q22[[1]]) class(out) <- "bridge" } else if (repetitions > 1) { out <- list(logml = logml, niter = niter, method = "warp3", repetitions = repetitions) class(out) <- "bridge_list" } return(out) } bridgesampling/R/ier-data.R0000644000176200001440000000207213363062601015254 0ustar liggesusers#' Standardized International Exchange Rate Changes from 1975 to 1986 #' #' This data set contains the changes in monthly international exchange rates for pounds sterling from January 1975 to December 1986 obtained from West and Harrison (1997, pp. 612-615). Currencies tracked are US Dollar (column \code{us_dollar}), Canadian Dollar (column \code{canadian_dollar}), Japanese Yen (column \code{yen}), French Franc (column \code{franc}), Italian Lira (column \code{lira}), and the (West) German Mark (column \code{mark}). Each series has been standardized with respect to its sample mean and standard deviation. #' #' @docType data #' @keywords dataset #' @name ier #' @usage ier #' @format A matrix with 143 rows and 6 columns. #' @source West, M., Harrison, J. (1997). \emph{Bayesian forecasting and dynamic models} (2nd ed.). Springer-Verlag, New York. #' #' Lopes, H. F., West, M. (2004). Bayesian model assessment in factor analysis. \emph{Statistica Sinica, 14}, 41-67. \url{https://www.jstor.org/stable/24307179} #' @encoding UTF-8 #' #' @example examples/example.ier.R NULL bridgesampling/R/bridge_sampler_normal.R0000644000176200001440000002022013574716737020134 0ustar liggesusers .bridge.sampler.normal <- function( samples_4_fit, # matrix with already transformed samples for fitting the # proposal (rows are samples), colnames are "trans_x" where # x is the parameter name samples_4_iter, # matrix with already transformed samples for the # iterative scheme (rows are samples), colnames are "trans_x" # where x is the parameter name neff, # effective sample size of samples_4_iter (i.e., already transformed samples), scalar log_posterior, ..., data, lb, ub, transTypes, # types of transformations (unbounded/lower/upperbounded) for the different parameters (named character vector) param_types, # Sample space for transformations (real, circular, simplex) cores, repetitions, packages, varlist, envir, rcppFile, maxiter, silent, verbose, r0, tol1, tol2) { if (is.null(neff)) neff <- nrow(samples_4_iter) n_post <- nrow(samples_4_iter) # get mean & covariance matrix and generate samples from proposal m <- apply(samples_4_fit, 2, mean) V_tmp <- cov(samples_4_fit) V <- as.matrix(nearPD(V_tmp)$mat) # make sure that V is positive-definite # sample from multivariate normal distribution and evaluate for posterior samples and generated samples q12 <- dmvnorm(samples_4_iter, mean = m, sigma = V, log = TRUE) gen_samples <- vector(mode = "list", length = repetitions) q22 <- vector(mode = "list", length = repetitions) for (i in seq_len(repetitions)) { gen_samples[[i]] <- rmvnorm(n_post, mean = m, sigma = V) colnames(gen_samples[[i]]) <- colnames(samples_4_iter) q22[[i]] <- dmvnorm(gen_samples[[i]], mean = m, sigma = V, log = TRUE) } # evaluate log of likelihood times prior for posterior samples and generated samples q21 <- vector(mode = "list", length = repetitions) if (cores == 1) { q11 <- apply(.invTransform2Real(samples_4_iter, lb, ub, param_types), 1, log_posterior, data = data, ...) + .logJacobian(samples_4_iter, transTypes, lb, ub) for (i in seq_len(repetitions)) { q21[[i]] <- apply(.invTransform2Real(gen_samples[[i]], lb, ub, param_types), 1, log_posterior, data = data, ...) + .logJacobian(gen_samples[[i]], transTypes, lb, ub) } } else if (cores > 1) { if ( .Platform$OS.type == "unix") { split1 <- .split_matrix(matrix=.invTransform2Real(samples_4_iter, lb, ub, param_types), cores=cores) q11 <- parallel::mclapply(split1, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q11 <- unlist(q11) + .logJacobian(samples_4_iter, transTypes, lb, ub) for (i in seq_len(repetitions)) { split2 <- .split_matrix(matrix=.invTransform2Real(gen_samples[[i]], lb, ub, param_types), cores = cores) q21[[i]] <- parallel::mclapply(split2, FUN = function(x) apply(x, 1, log_posterior, data = data, ...), mc.preschedule = FALSE, mc.cores = cores) q21[[i]] <- unlist(q21[[i]]) + .logJacobian(gen_samples[[i]], transTypes, lb, ub) } } else { cl <- parallel::makeCluster(cores, useXDR = FALSE) sapply(packages, function(x) parallel::clusterCall(cl = cl, "require", package = x, character.only = TRUE)) parallel::clusterExport(cl = cl, varlist = varlist, envir = envir) if ( ! is.null(rcppFile)) { parallel::clusterExport(cl = cl, varlist = "rcppFile", envir = parent.frame()) parallel::clusterCall(cl = cl, "require", package = "Rcpp", character.only = TRUE) parallel::clusterEvalQ(cl = cl, Rcpp::sourceCpp(file = rcppFile)) } else if (is.character(log_posterior)) { parallel::clusterExport(cl = cl, varlist = log_posterior, envir = envir) } q11 <- parallel::parRapply(cl = cl, x = .invTransform2Real(samples_4_iter, lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(samples_4_iter, transTypes, lb, ub) for (i in seq_len(repetitions)) { q21[[i]] <- parallel::parRapply(cl = cl, x = .invTransform2Real(gen_samples[[i]], lb, ub, param_types), log_posterior, data = data, ...) + .logJacobian(gen_samples[[i]], transTypes, lb, ub) } parallel::stopCluster(cl) } } if(verbose) { print("summary(q12): (log_dens of proposal (i.e., with dmvnorm) for posterior samples)") print(summary(q12)) print("summary(q22): (log_dens of proposal (i.e., with dmvnorm) for generated samples)") print(lapply(q22, summary)) print("summary(q11): (log_dens of posterior (i.e., with log_posterior) for posterior samples)") print(summary(q11)) print("summary(q21): (log_dens of posterior (i.e., with log_posterior) for generated samples)") print(lapply(q21, summary)) .PROPOSALS <- vector("list", repetitions) # for (i in seq_len(repetitions)) { # .PROPOSALS[[i]] <- .invTransform2Real(gen_samples[[i]], lb, ub, param_types) # } # assign(".PROPOSALS", .PROPOSALS, pos = .GlobalEnv) # message("All proposal samples written to .GlobalEnv as .PROPOSALS") } if (any(is.infinite(q11))) { warning(sum(is.infinite(q11)), " of the ", length(q11)," log_prob() evaluations on the posterior draws produced -Inf/Inf.", call. = FALSE) } for (i in seq_len(repetitions)) { if (any(is.infinite(q21[[i]]))) { warning(sum(is.infinite(q21[[i]])), " of the ", length(q21[[i]])," log_prob() evaluations on the proposal draws produced -Inf/Inf.", call. = FALSE) } } if (any(is.na(q11))) { warning(sum(is.na(q11)), " evaluation(s) of log_prob() on the posterior draws produced NA and have been replaced by -Inf.", call. = FALSE) q11[is.na(q11)] <- -Inf } for (i in seq_len(repetitions)) { if (all(is.na(q21[[i]]))) { stop("Evaluations of log_prob() on all proposal draws produced NA.\n", "E.g., rounded to 3 digits (use verbose = TRUE for all proposal samples):\n", deparse(round( .invTransform2Real(gen_samples[[i]], lb, ub, param_types)[1,], 3), width.cutoff = 500L), call. = FALSE) } if (any(is.na(q21[[i]]))) { warning(sum(is.na(q21[[i]])), " evaluation(s) of log_prob() on the proposal draws produced NA and have been replaced by -Inf.", call. = FALSE) q21[[i]][is.na(q21[[i]])] <- -Inf } } logml <- numeric(repetitions) niter <- numeric(repetitions) # run iterative updating scheme to compute log of marginal likelihood for (i in seq_len(repetitions)) { tmp <- .run.iterative.scheme(q11 = q11, q12 = q12, q21 = q21[[i]], q22 = q22[[i]], r0 = r0, tol = tol1, L = NULL, method = "normal", maxiter = maxiter, silent = silent, criterion = "r", neff = neff) if (is.na(tmp$logml)) { warning("logml could not be estimated within maxiter, rerunning with adjusted starting value. \nEstimate might be more variable than usual.", call. = FALSE) lr <- length(tmp$r_vals) # use geometric mean as starting value r0_2 <- sqrt(tmp$r_vals[[lr - 1]] * tmp$r_vals[[lr]]) tmp <- .run.iterative.scheme(q11 = q11, q12 = q12, q21 = q21[[i]], q22 = q22[[i]], r0 = r0_2, tol = tol2, L = NULL, method = "normal", maxiter = maxiter, silent = silent, criterion = "logml", neff = neff) tmp$niter <- maxiter + tmp$niter } logml[i] <- tmp$logml niter[i] <- tmp$niter if (niter[i] == maxiter) warning("logml could not be estimated within maxiter, returning NA.", call. = FALSE) } if (repetitions == 1) { out <- list(logml = logml, niter = niter, method = "normal", q11 = q11, q12 = q12, q21 = q21[[1]], q22 = q22[[1]]) class(out) <- "bridge" } else if (repetitions > 1) { out <- list(logml = logml, niter = niter, method = "normal", repetitions = repetitions) class(out) <- "bridge_list" } return(out) } bridgesampling/R/bridge_sampler.R0000644000176200001440000007633313505621737016571 0ustar liggesusers#'Computes log marginal likelihood via bridge sampling. #'@title Log Marginal Likelihood via Bridge Sampling #'@name bridge_sampler #'@param samples an \code{mcmc.list} object, a fitted \code{stanfit} object, a #' \code{stanreg} object, an \code{rjags} object, a \code{runjags} object, or a #' \code{matrix} with posterior samples (\code{colnames} need to correspond to #' parameter names in \code{lb} and \code{ub}) with posterior samples. #'@param log_posterior function or name of function that takes a parameter #' vector and the \code{data} as input and returns the log of the unnormalized #' posterior density (i.e., a scalar value). If the function name is passed, #' the function should exist in the \code{.GlobalEnv}. For special behavior if #' \code{cores > 1} see \code{Details}. #'@param ... additional arguments passed to \code{log_posterior}. Ignored for #' the \code{stanfit} and \code{stanreg} methods. #'@param data data object which is used in \code{log_posterior}. #'@param stanfit_model for the \code{stanfit} method, an additional object of #' class \code{"stanfit"} with the same model as \code{samples}, which will be #' used for evaluating the \code{log_posterior} (i.e., it does not need to #' contain any samples). The default is to use \code{samples}. In case #' \code{samples} was compiled in a different R session or on another computer #' with a different OS or setup, the \code{samples} model usually cannot be #' used for evaluation. In this case, one can compile the model on the current #' computer with \code{iter = 0} and pass it here (this usually needs to be #' done before \code{samples} is loaded). #'@param lb named vector with lower bounds for parameters. #'@param ub named vector with upper bounds for parameters. #'@param repetitions number of repetitions. #'@param method either \code{"normal"} or \code{"warp3"}. #'@param cores number of cores used for evaluating \code{log_posterior}. On #' unix-like systems (where \code{.Platform$OS.type == "unix"} evaluates to #' \code{TRUE}; e.g., Linux and Mac OS) forking via \code{\link{mclapply}} is #' used. Hence elements needed for evaluation should be in the #' \code{\link{.GlobalEnv}}. For other systems (e.g., Windows) #' \code{\link{makeCluster}} is used and further arguments specified below will #' be used. #'@param use_neff Boolean which determines whether the effective sample size is #' used in the optimal bridge function. Default is TRUE. If FALSE, the number #' of samples is used instead. If \code{samples} is a \code{matrix}, it is #' assumed that the \code{matrix} contains the samples of one chain in order. #' If \code{samples} come from more than one chain, we recommend to use an #' \code{mcmc.list} object for optimal performance. #'@param packages character vector with names of packages needed for evaluating #' \code{log_posterior} in parallel (only relevant if \code{cores > 1} and #' \code{.Platform$OS.type != "unix"}). #'@param varlist character vector with names of variables needed for evaluating #' \code{log_posterior} (only needed if \code{cores > 1} and #' \code{.Platform$OS.type != "unix"} as these objects will be exported to the #' nodes). These objects need to exist in \code{envir}. #'@param envir specifies the environment for \code{varlist} (only needed if #' \code{cores > 1} and \code{.Platform$OS.type != "unix"} as these objects #' will be exported to the nodes). Default is \code{\link{.GlobalEnv}}. #'@param rcppFile in case \code{cores > 1} and \code{log_posterior} is an #' \code{Rcpp} function, \code{rcppFile} specifies the path to the cpp file #' (will be compiled on all cores). #'@param maxiter maximum number of iterations for the iterative updating scheme. #' Default is 1,000 to avoid infinite loops. #'@param param_types character vector of length \code{ncol(samples)} with #' \code{"real"}, \code{"simplex"} or \code{"circular"}. For all regular #' bounded or unbounded continuous parameters, this should just be #' \code{"real"}. However, if there are parameters which lie on a simplex or on #' the circle, this should be noted here. Simplex parameters are parameters #' which are bounded below by zero and collectively sum to one, such as weights #' in a mixture model. For these, the stick-breaking transformation is #' performed as described in the Stan reference manual. The circular variables #' are given a numerical representation to which the normal distribution is #' most likely a good fit. Only possible to use with #' \code{bridge_sampler.matrix}. #'@param silent Boolean which determines whether to print the number of #' iterations of the updating scheme to the console. Default is FALSE. #'@param verbose Boolean. Should internal debug information be printed to #' console? Default is \code{FALSE}. #'@details Bridge sampling is implemented as described in Meng and Wong (1996, #' see equation 4.1) using the "optimal" bridge function. When \code{method = #' "normal"}, the proposal distribution is a multivariate normal distribution #' with mean vector equal to the sample mean vector of \code{samples} and #' covariance matrix equal to the sample covariance matrix of \code{samples}. #' For a recent tutorial on bridge sampling, see Gronau et al. (in press). #' #' When \code{method = "warp3"}, the proposal distribution is a standard #' multivariate normal distribution and the posterior distribution is "warped" #' (Meng & Schilling, 2002) so that it has the same mean vector, covariance #' matrix, and skew as the samples. \code{method = "warp3"} takes approximately #' twice as long as \code{method = "normal"}. #' #' Note that for the \code{matrix} method, the lower and upper bound of a #' parameter cannot be a function of the bounds of another parameter. #' Furthermore, constraints that depend on multiple parameters of the model are #' not supported. This usually excludes, for example, parameters that #' constitute a covariance matrix or sets of parameters that need to sum to #' one. #' #' However, if the retransformations are part of the model itself and the #' \code{log_posterior} accepts parameters on the real line and performs the #' appropriate Jacobian adjustments, such as done for \code{stanfit} and #' \code{stanreg} objects, such constraints are obviously possible (i.e., we #' currently do not know of any parameter supported within Stan that does not #' work with the current implementation through a \code{stanfit} object). #' #' \subsection{Parallel Computation}{ On unix-like systems forking is used via #' \code{\link{mclapply}}. Hence elements needed for evaluation of #' \code{log_posterior} should be in the \code{\link{.GlobalEnv}}. #' #' On other OSes (e.g., Windows), things can get more complicated. For normal #' parallel computation, the \code{log_posterior} function can be passed as #' both function and function name. If the latter, it needs to exist in the #' environment specified in the \code{envir} argument. For parallel computation #' when using an \code{Rcpp} function, \code{log_posterior} can only be passed #' as the function name (i.e., character). This function needs to result from #' calling \code{sourceCpp} on the file specified in \code{rcppFile}. #' #' Due to the way \code{rstan} currently works, parallel computations with #' \code{stanfit} and \code{stanreg} objects only work with forking (i.e., NOT #' on Windows). } #'@return if \code{repetitions = 1}, returns a list of class \code{"bridge"} #' with components: \itemize{ \item \code{logml}: estimate of log marginal #' likelihood. \item \code{niter}: number of iterations of the iterative #' updating scheme. \item \code{method}: bridge sampling method that was used #' to obtain the estimate. \item \code{q11}: log posterior evaluations for #' posterior samples. \item \code{q12}: log proposal evaluations for posterior #' samples. \item \code{q21}: log posterior evaluations for samples from #' proposal. \item \code{q22}: log proposal evaluations for samples from #' proposal. } if \code{repetitions > 1}, returns a list of class #' \code{"bridge_list"} with components: \itemize{ \item \code{logml}: numeric #' vector with estimates of log marginal likelihood. \item \code{niter}: #' numeric vector with number of iterations of the iterative updating scheme #' for each repetition. \item \code{method}: bridge sampling method that was #' used to obtain the estimates. \item \code{repetitions}: number of #' repetitions. } #'@section Warning: Note that the results depend strongly on the parameter #' priors. Therefore, it is strongly advised to think carefully about the #' priors before calculating marginal likelihoods. For example, the prior #' choices implemented in \pkg{rstanarm} or \pkg{brms} might not be optimal #' from a testing point of view. We recommend to use priors that have been #' chosen from a testing and not a purely estimation perspective. #' #' Also note that for testing, the number of posterior samples usually needs to #' be substantially larger than for estimation. #'@note To be able to use a \code{stanreg} object for \code{samples}, the user #' crucially needs to have specified the \code{diagnostic_file} when fitting #' the model in \pkg{rstanarm}. #'@author Quentin F. Gronau and Henrik Singmann. Parallel computing (i.e., #' \code{cores > 1}) and the \code{stanfit} method use code from \code{rstan} #' by Jiaqing Guo, Jonah Gabry, and Ben Goodrich. Ben Goodrich added the #' \code{stanreg} method. Kees Mulder added methods for simplex and circular #' variables. #'@references Gronau, Q. F., Sarafoglou, A., Matzke, D., Ly, A., Boehm, U., #' Marsman, M., Leslie, D. S., Forster, J. J., Wagenmakers, E.-J., & #' Steingroever, H. (in press). A tutorial on bridge sampling. \emph{Journal of #' Mathematical Psychology}. \url{https://arxiv.org/abs/1703.05984} \cr #' \code{vignette("bridgesampling_tutorial")} #' #' Gronau, Q. F., Wagenmakers, E.-J., Heck, D. W., & Matzke, D. (2017). \emph{A #' simple method for comparing complex models: Bayesian model comparison for #' hierarchical multinomial processing tree models using Warp-III bridge #' sampling}. Manuscript submitted for publication. #' \url{https://psyarxiv.com/yxhfm} #' #' Meng, X.-L., & Wong, W. H. (1996). Simulating ratios of normalizing #' constants via a simple identity: A theoretical exploration. \emph{Statistica #' Sinica, 6}, 831-860. #' \url{http://www3.stat.sinica.edu.tw/statistica/j6n4/j6n43/j6n43.htm} #' #' Meng, X.-L., & Schilling, S. (2002). Warp bridge sampling. \emph{Journal of #' Computational and Graphical Statistics, 11(3)}, 552-586. #' \url{http://dx.doi.org/10.1198/106186002457} #' #' Overstall, A. M., & Forster, J. J. (2010). Default Bayesian model #' determination methods for generalised linear mixed models. #' \emph{Computational Statistics & Data Analysis, 54}, 3269-3288. #' \url{http://dx.doi.org/10.1016/j.csda.2010.03.008} #'@example examples/example.bridge_sampler.R #' #'@seealso \code{\link{bf}} allows the user to calculate Bayes factors and #' \code{\link{post_prob}} allows the user to calculate posterior model #' probabilities from bridge sampling estimates. \code{\link{bridge-methods}} #' lists some additional methods that automatically invoke the #' \code{\link{error_measures}} function. #' #'@importFrom mvtnorm rmvnorm dmvnorm #'@importFrom Matrix nearPD #'@import Brobdingnag #'@importFrom stringr str_sub #'@importFrom stats qnorm pnorm dnorm median cov var #'@export bridge_sampler <- function(samples, ...) { UseMethod("bridge_sampler", samples) } #' @rdname bridge_sampler #' @export bridge_sampler.stanfit <- function(samples = NULL, stanfit_model = samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ...) { # convert samples into matrix if (!requireNamespace("rstan")) stop("package rstan required") ex <- rstan::extract(samples, permuted = FALSE) skeleton <- .create_skeleton(samples@sim$pars_oi, samples@par_dims[samples@sim$pars_oi]) upars <- apply(ex, 1:2, FUN = function(theta) { rstan::unconstrain_pars(stanfit_model, .rstan_relist(theta, skeleton)) }) if (length(dim(upars)) == 2) { # for one parameter models dim(upars) <- c(1, dim(upars)) } nr <- dim(upars)[2] samples4fit_index <- seq_len(nr) %in% seq_len(round(nr/2)) # split samples in two parts samples_4_fit <- apply(upars[,samples4fit_index,,drop=FALSE], 1, rbind) samples_4_iter_stan <- upars[,!samples4fit_index,,drop=FALSE] samples_4_iter_tmp <- vector("list", dim(upars)[3]) for (i in seq_along(samples_4_iter_tmp)) { samples_4_iter_tmp[[i]] <- coda::as.mcmc(t(samples_4_iter_stan[,,i])) } samples_4_iter_tmp <- coda::as.mcmc.list(samples_4_iter_tmp) if (use_neff) { neff <- tryCatch(median(coda::effectiveSize(samples_4_iter_tmp)), error = function(e) { warning("effective sample size cannot be calculated, has been replaced by number of samples.", call. = FALSE) return(NULL) }) } else { neff <- NULL } samples_4_iter <- apply(samples_4_iter_stan, 1, rbind) parameters <- paste0("x", (seq_len(dim(upars)[1]))) transTypes <- rep("unbounded", length(parameters)) names(transTypes) <- parameters # prepare lb and ub lb <- rep(-Inf, length(parameters)) ub <- rep(Inf, length(parameters)) names(lb) <- names(ub) <- parameters colnames(samples_4_iter) <- paste0("trans_", parameters) colnames(samples_4_fit) <- paste0("trans_", parameters) # cores > 1 only for unix: if (!(.Platform$OS.type == "unix") & (cores != 1)) { warning("cores > 1 only possible on Unix/MacOs. Uses 'core = 1' instead.", call. = FALSE) cores <- 1L } # run bridge sampling if (cores == 1) { bridge_output <- do.call(what = paste0(".bridge.sampler.", method), args = list(samples_4_fit = samples_4_fit, samples_4_iter = samples_4_iter, neff = neff, log_posterior = .stan_log_posterior, data = list(stanfit = stanfit_model), lb = lb, ub = ub, param_types = rep("real", ncol(samples_4_fit)), transTypes = transTypes, repetitions = repetitions, cores = cores, packages = "rstan", maxiter = maxiter, silent = silent, verbose = verbose, r0 = 0.5, tol1 = 1e-10, tol2 = 1e-4)) } else { bridge_output <- do.call(what = paste0(".bridge.sampler.", method), args = list(samples_4_fit = samples_4_fit, samples_4_iter = samples_4_iter, neff = neff, log_posterior = .stan_log_posterior, data = list(stanfit = stanfit_model), lb = lb, ub = ub, param_types = rep("real", ncol(samples_4_fit)), transTypes = transTypes, repetitions = repetitions, varlist = "stanfit", envir = sys.frame(sys.nframe()), cores = cores, packages = "rstan", maxiter = maxiter, silent = silent, verbose = verbose, r0 = 0.5, tol1 = 1e-10, tol2 = 1e-4)) } return(bridge_output) } #' @rdname bridge_sampler #' @export bridge_sampler.mcmc.list <- function(samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, param_types = rep("real", ncol(samples[[1]])), method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE) { # split samples in two parts nr <- nrow(samples[[1]]) samples4fit_index <- seq_len(nr) %in% seq_len(round(nr/2)) samples_4_fit_tmp <- samples[samples4fit_index,,drop=FALSE] samples_4_fit_tmp <- do.call("rbind", samples_4_fit_tmp) # check lb and ub if (!is.numeric(lb)) stop("lb needs to be numeric", call. = FALSE) if (!is.numeric(ub)) stop("ub needs to be numeric", call. = FALSE) if (!all(colnames(samples_4_fit_tmp) %in% names(lb))) stop("lb does not contain all parameters.", call. = FALSE) if (!all(colnames(samples_4_fit_tmp) %in% names(ub))) stop("ub does not contain all parameters.", call. = FALSE) # transform parameters to real line tmp <- .transform2Real(samples_4_fit_tmp, lb, ub) samples_4_fit <- tmp$theta_t transTypes <- tmp$transTypes samples_4_iter_tmp <- lapply(samples[!samples4fit_index,,drop=FALSE], function(x) .transform2Real(x, lb = lb, ub = ub)$theta_t) # compute effective sample size if (use_neff) { samples_4_iter_tmp <- coda::mcmc.list(lapply(samples_4_iter_tmp, coda::mcmc)) neff <- tryCatch(median(coda::effectiveSize(samples_4_iter_tmp)), error = function(e) { warning("effective sample size cannot be calculated, has been replaced by number of samples.", call. = FALSE) return(NULL) }) } else { neff <- NULL } # convert to matrix samples_4_iter <- do.call("rbind", samples_4_iter_tmp) # run bridge sampling out <- do.call(what = paste0(".bridge.sampler.", method), args = list(samples_4_fit = samples_4_fit, samples_4_iter = samples_4_iter, neff = neff, log_posterior = log_posterior, "..." = ..., data = data, lb = lb, ub = ub, transTypes = transTypes, repetitions = repetitions, cores = cores, packages = packages, varlist = varlist, envir = envir, param_types = param_types, rcppFile = rcppFile, maxiter = maxiter, silent = silent, verbose = verbose, r0 = 0.5, tol1 = 1e-10, tol2 = 1e-4)) return(out) } #' @rdname bridge_sampler #' @export bridge_sampler.mcmc <- function(samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, param_types = rep("real", ncol(samples)), silent = FALSE, verbose = FALSE) { samples <- as.matrix(samples) bridge_output <- bridge_sampler(samples = samples, log_posterior = log_posterior, ..., data = data, lb = lb, ub = ub, repetitions = repetitions, method = method, cores = cores, use_neff = use_neff, packages = packages, varlist = varlist, envir = envir, rcppFile = rcppFile, maxiter = maxiter, param_types = param_types, silent = silent, verbose = verbose) return(bridge_output) } #' @export #' @rdname bridge_sampler bridge_sampler.matrix <- function(samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, param_types = rep("real", ncol(samples)), silent = FALSE, verbose = FALSE) { # see Meng & Wong (1996), equation 4.1 # Check simplex computation is_simplex_param <- param_types == "simplex" if (any(is_simplex_param)) { simplex_samples <- samples[, is_simplex_param] if (any(!(round(rowSums(simplex_samples), 6) == 1L))) { stop(paste("Simplex parameters do not sum to one. This could be due to having multiple separate sets of simplex parameters, which are not supported. ")) } # Remove the last simplex variable because it is superfluous. last_sim <- which(is_simplex_param)[sum(is_simplex_param)] samples <- samples[, -last_sim] param_types <- param_types[-last_sim] lb <- lb[-last_sim] ub <- ub[-last_sim] } # transform parameters to real line tmp <- .transform2Real(samples, lb, ub, theta_types = param_types) theta_t <- tmp$theta_t transTypes <- tmp$transTypes # split samples for proposal/iterative scheme nr <- nrow(samples) samples4fit_index <- seq_len(nr) %in% seq_len(round(nr/2)) # split samples in two parts samples_4_fit <- theta_t[samples4fit_index, ,drop = FALSE] samples_4_iter <- theta_t[!samples4fit_index, , drop = FALSE] # compute effective sample size if (use_neff) { neff <- tryCatch(median(coda::effectiveSize(coda::mcmc(samples_4_iter))), error = function(e) { warning("effective sample size cannot be calculated, has been replaced by number of samples.", call. = FALSE) return(NULL) }) } else { neff <- NULL } out <- do.call(what = paste0(".bridge.sampler.", method), args = list(samples_4_fit = samples_4_fit, samples_4_iter = samples_4_iter, neff = neff, log_posterior = log_posterior, "..." = ..., data = data, lb = lb, ub = ub, transTypes = transTypes, param_types = param_types, repetitions = repetitions, cores = cores, packages = packages, varlist = varlist, envir = envir, rcppFile = rcppFile, maxiter = maxiter, silent = silent, verbose = verbose, r0 = 0.5, tol1 = 1e-10, tol2 = 1e-4)) return(out) } #' @rdname bridge_sampler #' @export #' @importFrom utils read.csv bridge_sampler.stanreg <- function(samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ...) { df <- eval(samples$call$diagnostic_file) if (is.null(df)) stop("the 'diagnostic_file' option must be specified in the call to ", samples$stan_function, " to use the 'bridge_sampler'") sf <- samples$stanfit chains <- ncol(sf) if (chains > 1) df <- sapply(1:chains, FUN = function(j) sub("\\.csv$", paste0("_", j, ".csv"), df)) samples_list <- lapply(df, FUN = function(f) { d <- read.csv(f, comment.char = "#") excl <- c("lp__", "accept_stat__", "stepsize__" ,"treedepth__", "n_leapfrog__", "divergent__", "energy__") d <- d[,!(colnames(d) %in% excl), drop = FALSE] coda::as.mcmc(as.matrix(d[, 1:rstan::get_num_upars(sf), drop = FALSE])) }) samples <- coda::as.mcmc.list(samples_list) lb <- rep(-Inf, ncol(samples[[1]])) ub <- rep( Inf, ncol(samples[[1]])) names(lb) <- names(ub) <- colnames(samples[[1]]) # cores > 1 only for unix: if (!(.Platform$OS.type == "unix") & (cores != 1)) { warning("cores > 1 only possible on Unix/MacOs. Uses 'core = 1' instead.", call. = FALSE) cores <- 1L } if (cores == 1) { bridge_output <- bridge_sampler(samples = samples, log_posterior = .stan_log_posterior, data = list(stanfit = sf), lb = lb, ub = ub, repetitions = repetitions, method = method, cores = cores, use_neff = use_neff, packages = "rstan", maxiter = maxiter, silent = silent, verbose = verbose) } else { bridge_output <- bridge_sampler(samples = samples, log_posterior = .stan_log_posterior, data = list(stanfit = sf), lb = lb, ub = ub, repetitions = repetitions, varlist = "stanfit", envir = sys.frame(sys.nframe()), method = method, cores = cores, use_neff = use_neff, packages = "rstan", maxiter = maxiter, silent = silent, verbose = verbose) } return(bridge_output) } #' @rdname bridge_sampler #' @export bridge_sampler.rjags <- function(samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE) { # convert to mcmc.list cn <- colnames(samples$BUGSoutput$sims.matrix) samples <- coda::as.mcmc(samples) samples <- samples[,cn != "deviance", drop = FALSE] # run bridge sampling out <- bridge_sampler(samples = samples, log_posterior = log_posterior, ..., data = data, lb = lb, ub = ub, repetitions = repetitions, method = method, cores = cores, use_neff = use_neff, packages = packages, varlist = varlist, envir = envir, rcppFile = rcppFile, maxiter = maxiter, silent = silent, verbose = verbose) return(out) } #' @rdname bridge_sampler #' @export bridge_sampler.runjags <- function(samples = NULL, log_posterior = NULL, ..., data = NULL, lb = NULL, ub = NULL, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, packages = NULL, varlist = NULL, envir = .GlobalEnv, rcppFile = NULL, maxiter = 1000, silent = FALSE, verbose = FALSE) { # convert to mcmc.list samples <- coda::as.mcmc.list(samples) # run bridge sampling out <- bridge_sampler(samples = samples, log_posterior = log_posterior, ..., data = data, lb = lb, ub = ub, repetitions = repetitions, method = method, cores = cores, use_neff = use_neff, packages = packages, varlist = varlist, envir = envir, rcppFile = rcppFile, maxiter = maxiter, silent = silent, verbose = verbose) return(out) } #' @rdname bridge_sampler #' @export bridge_sampler.MCMC_refClass <- function(samples, repetitions = 1, method = "normal", cores = 1, use_neff = TRUE, maxiter = 1000, silent = FALSE, verbose = FALSE, ...) { if (!requireNamespace("nimble")) stop("package nimble required") ## functions for nimble support .log_posterior_nimble <- ".log_posterior_nimble <- nimble::nimbleFunction( # based on code by Perry de Valpine ## setup code is executed in R and specializes an instance ## of the nimbleFunction to a particular model or nodes setup = function(model, nodes) { calcNodes <- model$getDependencies(nodes) }, ## run code is called repeatedly and can be converted into C++ run = function(sample = double(1)) { values(model, nodes) <<- sample out <- model$calculate(calcNodes) return(out) returnType(double(0)) } )" eval(parse(text = .log_posterior_nimble)) ## trick for avoiding R CMD check NOTEs .nimble_bounds <- function(samples, model, which) { if ( ! (which %in% c("lower", "upper")) ) { stop('"which" needs to be either "lower" or "upper"\n', call. = FALSE) } cn <- colnames(samples) bounds <- numeric(length(cn)) names(bounds) <- cn for (i in seq_along(cn)) { bounds[[cn[i]]] <- model$getBound(cn[i], which) } return(bounds) } # cores > 1 only for unix: if (!(.Platform$OS.type == "unix") & (cores != 1)) { warning("cores > 1 only possible on Unix/MacOs. Uses 'core = 1' instead.", call. = FALSE) cores <- 1L } mcmc_samples <- as.matrix(samples$mvSamples) if (all(is.na(mcmc_samples))) { stop("nimble object does not contain samples. Call runMCMC() first.", call. = FALSE) } # make sure that samples is a list if (is.matrix(mcmc_samples)) { # TRUE in case nchains = 1 mcmc_samples <- list(mcmc_samples) } # convert samples to mcmc.list samples_mcmc <- lapply(mcmc_samples, FUN = coda::as.mcmc) samples_mcmc_list <- coda::as.mcmc.list(samples_mcmc) ## get model name from MCMC_refClass object mod_name <- ls(samples$nimbleProject$models)[1] nimble_model <- samples$nimbleProject$models[[mod_name]] # compile log_posterior for bridge sampling log_posterior_tmp <- .log_posterior_nimble(model = nimble_model, nodes = colnames(mcmc_samples[[1]])) suppressMessages( clog_posterior <- nimble::compileNimble(log_posterior_tmp, project = nimble_model)) # wrapper to match required format for log_posterior log_posterior <- function(x, data) { clog_posterior$run(x) } out <- bridge_sampler(samples = samples_mcmc_list, log_posterior = log_posterior, ..., data = NULL, lb = .nimble_bounds(mcmc_samples[[1]], nimble_model, "lower"), ub = .nimble_bounds(mcmc_samples[[1]], nimble_model, "upper"), repetitions = repetitions, method = method, cores = cores, use_neff = use_neff, packages = "nimble", maxiter = maxiter, silent = silent, verbose = verbose) return(out) } bridgesampling/R/error_measures.R0000644000176200001440000001015013360614034016617 0ustar liggesusers#' Computes error measures for estimated marginal likelihood. #' @export #' @title Error Measures for Estimated Marginal Likelihood #' @param bridge_object an object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. #' @param na.rm a logical indicating whether missing values in logml estimates should be removed. Ignored for the \code{bridge} method. #' @param ... additional arguments (currently ignored). #' @details Computes error measures for marginal likelihood bridge sampling estimates. The approximate errors for a \code{bridge_object} of class \code{"bridge"} that has been obtained with \code{method = "normal"} and \code{repetitions = 1} are based on Fruehwirth-Schnatter (2004). #' Not applicable in case the object of class \code{"bridge"} has been obtained with \code{method = "warp3"} and \code{repetitions = 1}. #' To assess the uncertainty of the estimate in this case, it is recommended to run the \code{"warp3"} procedure multiple times. #' @return If \code{bridge_object} is of class \code{"bridge"} and has been obtained with \code{method = "normal"} and \code{repetitions = 1}, returns a list with components: #' \itemize{ #' \item \code{re2}: approximate relative mean-squared error for marginal likelihood estimate. #' \item \code{cv}: approximate coefficient of variation for marginal likelihood estimate (assumes that bridge estimate is unbiased). #' \item \code{percentage}: approximate percentage error of marginal likelihood estimate. #' } #' If \code{bridge_object} is of class \code{"bridge_list"}, returns a list with components: #' \itemize{ #' \item \code{min}: minimum of the log marginal likelihood estimates. #' \item \code{max}: maximum of the log marginal likelihood estimates. #' \item \code{IQR}: interquartile range of the log marginal likelihood estimates. #' } #' @author Quentin F. Gronau #' @note For examples, see \code{\link{bridge_sampler}} and the accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} \cr \code{vignette("bridgesampling_example_stan")} #' #' @seealso The \code{summary} methods for \code{bridge} and \code{bridge_list} objects automatically invoke this function, see \code{\link{bridge-methods}}. #' #' @references #' Fruehwirth-Schnatter, S. (2004). Estimating marginal likelihoods for mixture and Markov switching models using bridge sampling techniques. \emph{The Econometrics Journal, 7}, 143-167. \url{http://dx.doi.org/10.1111/j.1368-423X.2004.00125.x} #' @import Brobdingnag #' @importFrom coda spectrum0.ar #' @export error_measures <- function (bridge_object, ...) { UseMethod("error_measures", bridge_object) } #' @rdname error_measures #' @export error_measures.bridge <- function(bridge_object,...) { if (bridge_object$method == "warp3") { stop(paste0("error_measures not implemented for warp3 method with", "\n repetitions = 1.", "\n We recommend to run the warp3 procedure multiple times", "\n to assess the uncertainty of the estimate.")) } e <- as.brob( exp(1) ) ml <- e^(bridge_object$logml) g_p <- e^(bridge_object$q12) g_g <- e^(bridge_object$q22) priorTimesLik_p <- e^(bridge_object$q11) priorTimesLik_g <- e^(bridge_object$q21) p_p <- priorTimesLik_p/ml p_g <- priorTimesLik_g/ml N1 <- length(p_p) N2 <- length(g_g) s1 <- N1/(N1 + N2) s2 <- N2/(N1 + N2) f1 <- as.numeric( p_g/(s1*p_g + s2*g_g) ) f2 <- as.numeric( g_p/(s1*p_p + s2*g_p) ) rho_f2 <- spectrum0.ar( f2 )$spec term1 <- 1/N2 * var( f1 ) / mean( f1 )^2 term2 <- rho_f2/N1 * var( f2 ) / mean( f2 )^2 re2 <- term1 + term2 # convert to coefficient of variation (assumes that bridge estimate is unbiased) cv <- sqrt(re2) # convert to percentage error percentage <- scales::percent(cv) return(list(re2 = re2, cv = cv, percentage = percentage)) } #' @rdname error_measures #' @export error_measures.bridge_list <- function(bridge_object, na.rm = TRUE, ...) { return(list(min = min(bridge_object$logml, na.rm = na.rm), max = max(bridge_object$logml, na.rm = na.rm), IQR = stats::IQR(bridge_object$logml, na.rm = na.rm))) } bridgesampling/R/bridge_sampler_tools.R0000644000176200001440000000146313360614034017770 0ustar liggesusers #-------------------------------------------------------------------------- # functions for Stan support via rstan #-------------------------------------------------------------------------- # taken from rstan: .rstan_relist <- function (x, skeleton) { lst <- utils::relist(x, skeleton) for (i in seq_along(skeleton)) dim(lst[[i]]) <- dim(skeleton[[i]]) lst } # taken from rstan: .create_skeleton <- function (pars, dims) { lst <- lapply(seq_along(pars), function(i) { len_dims <- length(dims[[i]]) if (len_dims < 1) return(0) return(array(0, dim = dims[[i]])) }) names(lst) <- pars lst } .stan_log_posterior <- function(s.row, data) { out <- tryCatch(rstan::log_prob(object = data$stanfit, upars = s.row), error = function(e) -Inf) if (is.na(out)) out <- -Inf return(out) } bridgesampling/R/post_prob.R0000644000176200001440000001230413360614034015574 0ustar liggesusers#' Generic function that computes posterior model probabilities from marginal #' likelihoods. #' @export #' @title Posterior Model Probabilities from Marginal Likelihoods #' @param x Object of class \code{"bridge"} or \code{"bridge_list"} as returned #' from \code{\link{bridge_sampler}}. Additionally, the default method assumes #' that all passed objects are numeric log marginal likelihoods (e.g., from #' \code{\link{logml}}) and will throw an error otherwise. #' @param ... further objects of class \code{"bridge"} or \code{"bridge_list"} #' as returned from \code{\link{bridge_sampler}}. Or numeric values for the #' default method. #' @param prior_prob numeric vector with prior model probabilities. If omitted, #' a uniform prior is used (i.e., all models are equally likely a priori). The #' default \code{NULL} corresponds to equal prior model weights. #' @param model_names If \code{NULL} (the default) will use model names derived #' from deparsing the call. Otherwise will use the passed values as model #' names. #' #' @return For the default method and the method for \code{"bridge"} objects, a #' named numeric vector with posterior model probabilities (i.e., which sum to #' one). #' #' For the method for \code{"bridge_list"} objects, a matrix consisting of #' posterior model probabilities where each row sums to one and gives the #' model probabilities for one set of logmls. The (named) columns correspond #' to the models and the number of rows is given by the \code{"bridge_list"} #' element with the most \code{repetitions}. Elements with fewer repetitions #' will be recycled (with warning). #' @author Quentin F. Gronau and Henrik Singmann #' @note For realistic examples, see \code{\link{bridge_sampler}} and the #' accompanying vignettes: \cr \code{vignette("bridgesampling_example_jags")} #' \cr \code{vignette("bridgesampling_example_stan")} #' @example examples/example.post_prob.R #' @importFrom methods is post_prob <- function (x, ..., prior_prob = NULL, model_names = NULL) { UseMethod("post_prob", x) } #' @rdname post_prob #' @export post_prob.bridge <- function(x, ..., prior_prob = NULL, model_names = NULL) { dots <- list(...) mc <- match.call() modb <- vapply(dots, inherits, NA, what = c("bridge", "bridge_list")) if (is.null(model_names)) model_names <- c(deparse(mc[["x"]]), vapply(which(modb), function(x) deparse(mc[[x+2]]), "")) if (sum(modb) == 0) stop("Only one object of class 'bridge' or 'bridge_list' passed.", call. = FALSE) if (sum(modb) != length(dots)) warning("Objects not of class 'bridge' or 'bridge_list' are ignored.", call. = FALSE) logml <- vapply(c(list(x), dots[modb]), logml, FUN.VALUE = 0) .post_prob_calc(logml=logml, model_names = model_names, prior_prob=prior_prob) } #' @rdname post_prob #' @export post_prob.bridge_list <- function(x, ..., prior_prob = NULL, model_names = NULL) { dots <- list(...) mc <- match.call() modb <- vapply(dots, inherits, NA, what = c("bridge", "bridge_list")) if (is.null(model_names)) model_names <- c(deparse(mc[["x"]]), vapply(which(modb), function(x) deparse(mc[[x+2]]), "")) if (sum(modb) == 0) stop("Only one object of class 'bridge' or 'bridge_list' passed.", call. = FALSE) if (sum(modb) != length(dots)) warning("Objects not of class 'bridge' or 'bridge_list' are ignored.", call. = FALSE) logml <- lapply(c(list(x), dots[modb]), "[[", i = "logml") len <- vapply(logml, length, FUN.VALUE = 0) if (!all(len == max(len))) { warning("Not all objects provide ", max(len), " logmls. Some values are recycled.", call. = FALSE) logml <- lapply(logml, function(x) rep(x, length.out = max(len))) } t(apply(as.data.frame(logml), 1, .post_prob_calc, model_names = model_names, prior_prob=prior_prob)) } #' @rdname post_prob #' @export post_prob.default <- function(x, ..., prior_prob = NULL, model_names = NULL) { dots <- list(...) mc <- match.call() if (is.null(model_names)) model_names <- c(rep(deparse(mc[["x"]]), length(x)), rep(vapply(seq_along(dots), function(x) deparse(mc[[x+2]]), ""), times = vapply(dots, length, 0))) logml <- c(x, unlist(dots)) if (!is.numeric(logml)) { stop("logml values need to be numeric", call. = FALSE) } .post_prob_calc(logml=logml, model_names = model_names, prior_prob=prior_prob) } .post_prob_calc <- function(logml, model_names, prior_prob) { e <- as.brob(exp(1)) if(is.null(prior_prob)) prior_prob <- rep(1/length(logml), length(logml)) if(!isTRUE(all.equal(sum(prior_prob), 1))) stop("Prior model probabilities do not sum to one.", call. = FALSE) if(length(logml) != length(prior_prob)) stop("Number of objects/logml-values needs to match number of elements in prior_prob.", call. = FALSE) if(any(is.na(logml))) { post_prob <- rep(NA_real_, length(logml)) warning("NAs in logml values. No posterior probabilities calculated.", call. = FALSE) } else { post_prob <- as.numeric(e^logml*prior_prob / sum(e^logml*prior_prob)) if(!isTRUE(all.equal(sum(post_prob), 1))) warning("Posterior model probabilities do not sum to one.", call. = FALSE) } names(post_prob) <- make.unique(as.character(model_names)) return(post_prob) } bridgesampling/R/logml.R0000644000176200001440000000201013360614034014670 0ustar liggesusers#' Generic function that returns log marginal likelihood from bridge objects. For objects of class \code{"bridge_list"}, which contains multiple log marginal likelihoods, \code{fun} is performed on the vector and its result returned. #' @title Log Marginal Likelihoods from Bridge Objects #' @param x Object of class \code{"bridge"} or \code{"bridge_list"} as returned from \code{\link{bridge_sampler}}. #' @param fun Function which returns a scalar value and is applied to the \code{logml} vector of \code{"bridge_list"} objects. Default is \code{\link{median}}. #' @param ... Further arguments passed to \code{fun}. #' @return scalar numeric #' @export logml <- function (x, ...) { UseMethod("logml", x) } #' @rdname logml #' @export logml.bridge <- function (x, ...) { x$logml } #' @rdname logml #' @export logml.bridge_list <- function (x, fun = median, ...) { out <- fun(x$logml, ...) if (length(out) != 1) { warning("fun returns results of length != 1, only first used.") out <- out[1] } out } bridgesampling/MD50000644000176200001440000001165613610063673013567 0ustar liggesusers12f0784cfa22ceaa4dba947d42bd4c4b *DESCRIPTION ebd28d79ee6f44b864379d68a364dbfd *NAMESPACE 96c322ae230a578300de4f568643b2eb *NEWS ee7c3da1b3e2c7211b3289232eb9ad6a *R/bf.R 4e812c995da34d12e7486741e44bf2ca *R/bridge_methods.R a392ae9a1c3d897faa8dd57f59135a05 *R/bridge_sampler.R 758c6a71b14a5d93262f1589d2f21472 *R/bridge_sampler_internals.R 411f8d5a7f4b8e9308c534426e7ba0cc *R/bridge_sampler_normal.R 0898fffc89ac86f07adadcc9f4775fb1 *R/bridge_sampler_tools.R 55b06bfec7e6057fa91cc172bb4e5975 *R/bridge_sampler_warp3.R 99c3fe08b469ef9cbd9f510dcd3e9a0f *R/error_measures.R 68e0a06d22452cf38caddeb4d5acd97a *R/ier-data.R 29219953f00413bc62ec09c800e52a82 *R/logml.R 25643859b1f729c9584d6e12966f4ec4 *R/post_prob.R a2451c06b30d3d3953175a25f3bcbf5d *R/turtles-data.R 26c554828d95859095f0ae3b4d9aed86 *build/vignette.rds 0c51ed14d5576619c9f4c39aae27732a *data/ier.rda 0fe9eaacba1bdb2098f8fdde83f65c32 *data/turtles.rda fdfcc516918e9c5255c27f91fd35c892 *inst/doc/bridgesampling_example_jags.R 7c47a0c0eb81bb3fb6a54274652a04ed *inst/doc/bridgesampling_example_jags.Rmd ee407a1c2d82cfa8e797c7ad4b227504 *inst/doc/bridgesampling_example_jags.html 430372fe8aece0031b19a60381802539 *inst/doc/bridgesampling_example_nimble.R f2f39194e7af2060a851368a9b351b8d *inst/doc/bridgesampling_example_nimble.Rmd 088f21a64185e8aa5704780b9b2a4c19 *inst/doc/bridgesampling_example_nimble.html e4659b6f59cba6c7f5553baed8b3155b *inst/doc/bridgesampling_example_stan.R 0515f7a2a0fe63b12c21851f0bf32367 *inst/doc/bridgesampling_example_stan.Rmd c6a8382edf90aaa8e04265da2d32d5f4 *inst/doc/bridgesampling_example_stan.html 6d8dd8203301b711b3f166792dc98b9a *inst/doc/bridgesampling_paper.pdf 0dbe1dd3afdb67f4bf23e17e1df8c63b *inst/doc/bridgesampling_paper.pdf.asis 3ec7b183798eb1973926a13eddf6fe4e *inst/doc/bridgesampling_paper_extended.pdf 27e8ee7fa7ec55adb540e60e0e8ce93e *inst/doc/bridgesampling_paper_extended.pdf.asis 6b8da202e2820b49190546297d015966 *inst/doc/bridgesampling_stan_ttest.R 5ef6c2058cdf9fe11e14447592d35eb0 *inst/doc/bridgesampling_stan_ttest.Rmd 3a1202c15d817d914208b9afce46acca *inst/doc/bridgesampling_stan_ttest.html ace19ea7eee9a5bd4c96ebd656446dcc *inst/doc/bridgesampling_tutorial.pdf 0975f714b581ed709f0a23ae6cb5cb4d *inst/doc/bridgesampling_tutorial.pdf.asis 434644c66d15f79cf041d83ccedbac7e *inst/extdata/vignette_example_jags.RData 57b34d4773334a565b2ff3e61c04769a *inst/extdata/vignette_example_nimble.RData e05efd47379e0f72f294bb6071ac487b *inst/extdata/vignette_example_stan.RData f0cf681aedd2e8400030847494c168dd *inst/extdata/vignette_stan_ttest.RData 012b07ba0a9a95b138f776a5f28cc798 *man/bf.Rd d0885d0fcedcc85aac9ed94d4e4394fe *man/bridge-methods.Rd 73c9d37fb880f303115533313db88a9f *man/bridge_sampler.Rd 91a7409d3b52f91f11efc938aad1df51 *man/error_measures.Rd 1d6cb3421af55a1f997ae6f66e979ed3 *man/ier.Rd 89434ad340ebd3a1c54c6004e3050c87 *man/logml.Rd 2dead54f834dfd03d9cf1034fbb0a947 *man/post_prob.Rd 4dd376cff21002720d8b11268e23bd08 *man/turtles.Rd 9d667770b4162f1cc0ffb5c78385fbac *tests/testthat.R 18061a0db681122bc265eafc9bccc57d *tests/testthat/test-bf.R 72e7273a34b91a454bbbb36d6ed49cab *tests/testthat/test-bridge_sampler.R 1a1152b3a489c791a0cd87ef6a0db3f3 *tests/testthat/test-bridge_sampler_Rcpp.R 14a56f0ffebe30b2218969306199b073 *tests/testthat/test-bridge_sampler_Rcpp_parallel.R 88630287477f2862ea964a99713e72c8 *tests/testthat/test-bridge_sampler_mcmc.list.R 1905b17e96f690d5e030cff86d9a8330 *tests/testthat/test-bridge_sampler_parallel.R 1766960472cb0d775ffe291127d5686b *tests/testthat/test-bridge_sampler_print_method.R 0c8e67cddb08ff217d19e4be787be066 *tests/testthat/test-bridge_sampler_summary_method.R 87a2e20058a9ac651f11632165e50deb *tests/testthat/test-nimble_bridge_sampler.R 0b8afc08bcf4910e8833dd1765e93c3c *tests/testthat/test-post_prob.R b7225937c6f82db5b2ed9e9be4ed8331 *tests/testthat/test-stan_bridge_sampler_basic.R 2ac93e190428ec832ff40bfebacfa99e *tests/testthat/test-stan_bridge_sampler_bugs.R 8d44f6e353cbaf3ac5498132f6766f87 *tests/testthat/test-stanreg_bridge_sampler_basic.R bef5056e84cd1aa530079555545dab07 *tests/testthat/test-vignette_example_jags.R 15946c5c334a6a2f3faebed856e1110c *tests/testthat/test-vignette_example_nimble.R 71f1fb4ca17336b89a485835b3a9a098 *tests/testthat/test-vignette_example_stan.R 4a14371e3810d7316b0d35ff750c7b68 *tests/testthat/test-vignette_stan_ttest.R 6e8d98c9521d5c6c0e7fad8fdfc5d801 *tests/testthat/unnormalized_normal_density.cpp ef671e9eb9ca452eae9d3a91202514ce *tests/testthat/unnormalized_normal_density_mu.cpp 7c47a0c0eb81bb3fb6a54274652a04ed *vignettes/bridgesampling_example_jags.Rmd f2f39194e7af2060a851368a9b351b8d *vignettes/bridgesampling_example_nimble.Rmd 0515f7a2a0fe63b12c21851f0bf32367 *vignettes/bridgesampling_example_stan.Rmd 0dbe1dd3afdb67f4bf23e17e1df8c63b *vignettes/bridgesampling_paper.pdf.asis 27e8ee7fa7ec55adb540e60e0e8ce93e *vignettes/bridgesampling_paper_extended.pdf.asis 5ef6c2058cdf9fe11e14447592d35eb0 *vignettes/bridgesampling_stan_ttest.Rmd 0975f714b581ed709f0a23ae6cb5cb4d *vignettes/bridgesampling_tutorial.pdf.asis bridgesampling/inst/0000755000176200001440000000000013610011143014204 5ustar liggesusersbridgesampling/inst/doc/0000755000176200001440000000000013610011143014751 5ustar liggesusersbridgesampling/inst/doc/bridgesampling_example_stan.R0000644000176200001440000001025413610011143022625 0ustar liggesusers## ----------------------------------------------------------------------------- library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ## ----eval=FALSE--------------------------------------------------------------- # ### set prior parameters ### # mu0 <- 0 # tau20 <- 1 # alpha <- 1 # beta <- 1 ## ---- eval=FALSE-------------------------------------------------------------- # library(rstan) # # # models # stancodeH0 <- 'data { # int n; // number of observations # vector[n] y; // observations # real alpha; # real beta; # real sigma2; # } # parameters { # real tau2; // group-level variance # vector[n] theta; // participant effects # } # model { # target += inv_gamma_lpdf(tau2 | alpha, beta); # target += normal_lpdf(theta | 0, sqrt(tau2)); # target += normal_lpdf(y | theta, sqrt(sigma2)); # } # ' # stancodeH1 <- 'data { # int n; // number of observations # vector[n] y; // observations # real mu0; # real tau20; # real alpha; # real beta; # real sigma2; # } # parameters { # real mu; # real tau2; // group-level variance # vector[n] theta; // participant effects # } # model { # target += normal_lpdf(mu | mu0, sqrt(tau20)); # target += inv_gamma_lpdf(tau2 | alpha, beta); # target += normal_lpdf(theta | mu, sqrt(tau2)); # target += normal_lpdf(y | theta, sqrt(sigma2)); # } # ' # # compile models # stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") # stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ## ---- eval=FALSE-------------------------------------------------------------- # # fit models # stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n, # alpha = alpha, # beta = beta, # sigma2 = sigma2), # iter = 50000, warmup = 1000, chains = 3, cores = 1) # stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, # mu0 = mu0, # tau20 = tau20, # alpha = alpha, # beta = beta, # sigma2 = sigma2), # iter = 50000, warmup = 1000, chains = 3, cores = 1) ## ---- echo=FALSE-------------------------------------------------------------- load(system.file("extdata/", "vignette_example_stan.RData", package = "bridgesampling")) ## ----eval=FALSE--------------------------------------------------------------- # # compute log marginal likelihood via bridge sampling for H0 # H0.bridge <- bridge_sampler(stanfitH0, silent = TRUE) # # # compute log marginal likelihood via bridge sampling for H1 # H1.bridge <- bridge_sampler(stanfitH1, silent = TRUE) ## ----------------------------------------------------------------------------- print(H0.bridge) print(H1.bridge) ## ----eval=FALSE--------------------------------------------------------------- # # compute percentage errors # H0.error <- error_measures(H0.bridge)$percentage # H1.error <- error_measures(H1.bridge)$percentage ## ----------------------------------------------------------------------------- print(H0.error) print(H1.error) ## ----------------------------------------------------------------------------- # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ## ----------------------------------------------------------------------------- # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ## ----------------------------------------------------------------------------- # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) bridgesampling/inst/doc/bridgesampling_paper_extended.pdf.asis0000644000176200001440000000020113363062601024443 0ustar liggesusers%\VignetteIndexEntry{bridgesampling: An R Package for Estimating Normalizing Constants (Extended)} %\VignetteEngine{R.rsp::asis} bridgesampling/inst/doc/bridgesampling_paper.pdf.asis0000644000176200001440000000020413363062751022574 0ustar liggesusers%\VignetteIndexEntry{bridgesampling: An R Package for Estimating Normalizing Constants (JSS version)} %\VignetteEngine{R.rsp::asis} bridgesampling/inst/doc/bridgesampling_example_jags.Rmd0000644000176200001440000002477213360614034023151 0ustar liggesusers--- title: "Hierarchical Normal Example (JAGS)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example JAGS} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `JAGS`. This vignette uses the same models and data as the [`Stan` vignette](bridgesampling_example_stan.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. We will use `JAGS` to fit the model which parametrizes the normal distribution in terms of the precision (i.e., one over the variance). Consequently, we implement this inverse-gamma prior on $\tau^2$ by placing a gamma prior of the form $\text{Gamma}(\alpha, \beta)$ on the precision; we call this precision parameter `invTau2` in the code. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Fitting the Models Now we can fit the null and the alternative model in `JAGS` (note that it is necessary to install `JAGS` for this). One usually requires a larger number of posterior sample for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples (i.e., 50,000 post burn-in samples per chain) for this comparatively simple model. ```{r, eval=FALSE} library(R2jags) ### functions to get posterior samples ### # H0: mu = 0 getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(0, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } # H1: mu != 0 getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { model <- " model { for (i in 1:n) { theta[i] ~ dnorm(mu, invTau2) y[i] ~ dnorm(theta[i], 1/sigma2) } mu ~ dnorm(mu0, 1/tau20) invTau2 ~ dgamma(alpha, beta) tau2 <- 1/invTau2 }" s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), model.file = textConnection(model), n.chains = nchains, n.iter = niter, n.burnin = nburnin, n.thin = 1) return(s) } ### get posterior samples ### # create data lists for JAGS data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2) data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2) # fit models samples_H0 <- getSamplesModelH0(data_H0) samples_H1 <- getSamplesModelH1(data_H1) ``` ## Specifying the Unnormalized Log Posterior Function The next step is to write the corresponding `log_posterior` (i.e., unnormalized posterior) function for both models. This function takes one draw from the joint posterior and the data object as input and returns the log of the unnormalized joint posterior density. When using MCMC software such as `JAGS` or `Stan`, specifying this function is relatively simple. As a rule of thumb, one only needs to look for all places where a "`~`" sign appears in the model code. The log of the densities on the right-hand side of these "`~`" symbols needs to be evaluated for the relevant quantities and then these log densities values are summed. For example, in the null model, there are three "`~`" signs. Starting at the data-level, we need to evaluate the log of the normal density with mean $\theta_i$ and variance $\sigma^2$ for all $y_i$ and then sum the resulting log density values. Next, we move one step up in the model and evaluate the log of the group-level density for all $\theta_i$. Hence, we evaluate the log of the normal density for $\theta_i$ with mean $\mu = 0$ and variance $\tau^2$ (remember that `JAGS` parametrizes the normal distribution in terms of the precision `invTau2` = $1/\tau^2$; in contrast, `R` parametrizes it in terms of the standard deviation) and sum the resulting log density values. The result of this summation is added to the result of the previous summation for the data-level normal distribution. Finally, we need to evaluate the log of the prior density for `invTau2`. This means that we compute the log density of the gamma distribution with parameters $\alpha$ and $\beta$ for the sampled `invTau2` value and add the resulting log density value to the result of summing the data-level and group-level log densities. The unnormalized log posterior for the alternative model can be obtained in a similar fashion. The resulting functions look as follows: ```{r,eval=FALSE} ### functions for evaluating the unnormalized posteriors on log scale ### log_posterior_H0 <- function(samples.row, data) { mu <- 0 invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } log_posterior_H1 <- function(samples.row, data) { mu <- samples.row[[ "mu" ]] invTau2 <- samples.row[[ "invTau2" ]] theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + dgamma(invTau2, data$alpha, data$beta, log = TRUE) } ``` ## Specifying the Parameter Bounds The final step before computing the log marginal likelihoods is to specify the parameter bounds. In this example, for both models, all parameters can range from $-\infty$ to $\infty$ except the precision `invTau2` which has a lower bound of zero. These boundary vectors need to be named and the names need to match the order of the parameters. ```{r,eval=FALSE} # specify parameter bounds H0 cn <- colnames(samples_H0$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H0 <- rep(-Inf, length(cn)) ub_H0 <- rep(Inf, length(cn)) names(lb_H0) <- names(ub_H0) <- cn lb_H0[[ "invTau2" ]] <- 0 # specify parameter bounds H1 cn <- colnames(samples_H1$BUGSoutput$sims.matrix) cn <- cn[cn != "deviance"] lb_H1 <- rep(-Inf, length(cn)) ub_H1 <- rep(Inf, length(cn)) names(lb_H1) <- names(ub_H1) <- cn lb_H1[[ "invTau2" ]] <- 0 ``` Note that currently, the lower and upper bound of a parameter cannot be a function of the bounds of another parameter. Furthermore, constraints that depend on multiple parameters of the model are not supported. This excludes, for example, parameters that constitute a covariance matrix or sets of parameters that need to sum to one. ## Computing the (Log) Marginal Likelihoods Now we are ready to compute the log marginal likelihoods using the `bridge_sampler` function. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_jags.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0, log_posterior = log_posterior_H0, lb = lb_H0, ub = ub_H0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1, log_posterior = log_posterior_H1, lb = lb_H1, ub = ub_H1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/inst/doc/bridgesampling_example_nimble.Rmd0000644000176200001440000001606613360614034023470 0ustar liggesusers--- title: "Hierarchical Normal Example (nimble)" author: "Quentin F. Gronau, Henrik Singmann & Perry de Valpine" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example Nimble} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `nimble`. The [`nimble` documentation](https://r-nimble.org/html_manual/cha-welcome-nimble.html) provides a comprehensive overview. This vignette uses the same models and data as the [`Stan` vignette](bridgesampling_example_stan.html) and [`Jags` vignette](bridgesampling_example_jags.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Specifying the Models Next, we implement the models in `nimble`. This requires to first transform the code into a `nimbleModel`, then we need to set the data, and then we can compile the model. Given that `nimble` is build on BUGS, the similarity between the `nimble` code and the [`Jags` code](bridgesampling_example_jags.html) is not too surprising. ```{r, eval=FALSE} library("nimble") # models codeH0 <- nimbleCode({ invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(0, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) codeH1 <- nimbleCode({ mu ~ dnorm(0, sd = 1) invTau2 ~ dgamma(1, 1) tau2 <- 1/invTau2 for (i in 1:20) { theta[i] ~ dnorm(mu, sd = sqrt(tau2)) y[i] ~ dnorm(theta[i], sd = 1) } }) ## steps for H0: modelH0 <- nimbleModel(codeH0) modelH0$setData(y = y) # set data cmodelH0 <- compileNimble(modelH0) # make compiled version from generated C++ ## steps for H1: modelH1 <- nimbleModel(codeH1) modelH1$setData(y = y) # set data cmodelH1 <- compileNimble(modelH1) # make compiled version from generated C++ ``` ## Fitting the Models Fitting a model with `nimble` requires one to first create an MCMC function from the (compiled or uncompiled) model. This function then needs to be compiled again. With this object we can then create the samples. Note that nimble uses a reference object semantic so we do not actually need the samples object, as the samples will be saved in the MCMC function objects. But as `runMCMC` returns them anyway, we nevertheless save them. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # build MCMC functions, skipping customization of the configuration. mcmcH0 <- buildMCMC(modelH0, monitors = modelH0$getNodeNames(stochOnly = TRUE, includeData = FALSE)) mcmcH1 <- buildMCMC(modelH1, monitors = modelH1$getNodeNames(stochOnly = TRUE, includeData = FALSE)) # compile the MCMC function via generated C++ cmcmcH0 <- compileNimble(mcmcH0, project = modelH0) cmcmcH1 <- compileNimble(mcmcH1, project = modelH1) # run the MCMC. This is a wrapper for cmcmc$run() and extraction of samples. # the object samplesH1 is actually not needed as the samples are also in cmcmcH1 samplesH0 <- runMCMC(cmcmcH0, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) samplesH1 <- runMCMC(cmcmcH1, niter = 1e5, nburnin = 1000, nchains = 2, progressBar = FALSE) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the compiled MCMC function objects (of class `"MCMC_refClass"`) which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_nimble.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(cmcmcH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(cmcmcH1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/inst/doc/bridgesampling_paper_extended.pdf0000644000176200001440000130047113610011146023513 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 5356 /Filter /FlateDecode /N 100 /First 848 >> stream x\Ys9~BoC@cnG,MsjqWeaӿ~#)kɴM(<(s>,:9'%L1fZfӎY&ag$L\ s&?(T0 5SZ)<Ĕ [L8}T~`1ə1A3) 3)U(G*4p2GIǜ*g^>(Ab,PaAܷ >Z`34C;5g4˹zKGaZ=РoQ/ gz+h6J?Pp19ȁ%G/OH @,“xLH%Kb %K4p8@Ł Y gtʣ;,JV %k]P(ġdQpJ6A+Ps0t%[PJ=Jv̀zqjxAFz,B<(QrwčD{ (ٛ9`ı(93)"h"5J4ZOKR 9f%Թ`׿XjGf@|:`ofTO9$+D_*V> Xޢ9؝դ'qg`q=&;''dr={&-'8M=<4g@8 ?h^WyݜS`ͪcv6~BxY|:;;fIZurM`T6N`eQ5bjT ]v> Q]{)~1=WbXlt:oY}ְPH>"vǯfT8[? Uj;F͛z>kMxNx0]LR)=ГD: YM{(* e6Ϗq.!ܧKI=ƽ0yu9Jv߾"ub|qhJ;BQl:LK+U\yk+uܕZf}hkU3 ΋ܟ^zShEOHgxj>]̆N]4 1F)=DtxX5(|1_]4(_a?,ʨg68֙ɇռYOC*|hD_Rm:ӻmHVN($[KFFVyc_?clQW o_̫{|>vh28od^.V>8hċfEiP j}|FH$9%ONAKT\R)˃rP~(QYI |ZMʺXq9)Y9+eS6rQ_~+'1G9=o'Eo{:yn?G"f%/ O12ý /l;̖RZ>&Y2r13SюT +ɴ:iTXIe%<ۆn y+& b"{kŲ\!!Bt)B{Di|R>--U.7]go`hfBa+=n ֳb|<.t4x<լh!"&GiY W3D00,؍)g4DT(azzTŴ>SIz0CR#j\&̫Ϩu^_!9UUԣ*+P7j6;DwځP\c{zgClwBT'~{Kz݆F ӎ,^M6؊4$tS kxL&uk4s64gBDSzihU➴HOx>` ӴYaPb+6 ? OhYAyXcM5A8Iq,^&Il,EQ7%{"δѬt{[rW =:|ooP6F]Q•DZd֦R;a?Mɮz-41Lf.i6-[Z %h%divDKrw%HÃOQ맛vZ˅KK 5ӝr[C-䴊 se\Yڵt[ıa&$dNGcm|d`fu,Ah}fR8Ȯ3IF(fT4+F[hH {_yi%uuݓ'++xc˥g\;@4A@d$te2uJE}M7G}/:bb%D-&Uq[sBvld: tYu:j^4[Cl4,%.NƯ?g7"#~``Sh#  1$dfظ!q&Gj7<0ĩfXΒԬLdfd3ָ/HtJN/ ugEJ\t{qTK8+p鶆ClgX<{rpY?:As^U4ɌDi~6|Y7EɇdY,Kmx,> è4Vf_G1.0D͎0Ǝl+%^/,/G tW}\6p2!C]> ? 0xL1(.la_S.zirЮ`Z]'K.R.wi>.GPl_cI`$LTF%*Qٕ=XQTWJN-D?C;C7^72J1J1J1JJɎdzJB#e䄿9V885>zʎa7fpb1] u ~*u6V{r!c$'%3O[xភ׷jb}Ղ奎oUںB;jY _? Cژ-(8b+sL^b򲰴Tc0i](]L6bΤɘB(>dd.h1)bGt(%/UBD†ДhOZLv)-_``g:Rj IWBR" XKR[P&|ŎƜ.+2$OB %)+Pz=*Q(%@^ JA)O|Ø|@|2B2B!Kk&ݥ֌m=ĮAi^H~;P7T`bsp Aap!~ ,3em|QXӌ#(Za[8~ &'DA]+*$00^iUi 8bbBRRI / s2&*s4'Y I /ůQ8q;ZV,kP})&}=N$/J bf-I^ z lR))_AФop,W څjaWe#XZon1;$c5i`0y(%¤* j̓1i(NO9Zt&qi)6 P"PX rG]?04Mbf JYSpʀMP Pz |;d3 C/aJRABb<kH:DX[{AqcM0rMq4ǖ>~ۧb^c%0~RH'k >{ٟzkҽvakA \]mו/9>w9ճYs߭}n%rɃyW/|-=akP|X)|fS9h(g06ږ@o֧^߉D(d>ΪU@\7":L'"?5wD\QkprZM/ ߿ѻ։8NM?: Bm?TQ),Gձ^kJP%־UrdN% c*,敁7= O=0Qu8ܣ־Ru_Z6?.3$ӥ;MssY]GӺNJ[ʏycYS\zscZ&7,L@(89,9?8{Y;M)9 hx8(18@SoSһ \!O@PB@Rh#V] n.w]g<|y/dG6/}moSk_^1׽7{T/7*_RB%Ƕc0I֒s6&BnZ̴#a"-S`4 xaE!E]A_4raj_`!x`b⟗,WY߬9(h+ j%wmGTgz̋NX|!f2Yf,CS0aczD<@X e)_PѷpD!CDQur[7b CqSE0: إf}k U(TRmm3H OI ${ں]M7ǐ}c@q& #hKE:7>צbKaVHfיjVM( Z(85q})$&[c踦=u!qmyC]``rP|wD~,$$-BDžKȎZFM,#,R*"eg,Bʤ+ VN]I),eRe"RD^di&j%%K'0;FdG,dO96rf뤠n}h3+z+|15u$nN% /':s.r{yzD=cT˻?~endstream endobj 102 0 obj << /Subtype /XML /Type /Metadata /Length 1756 >> stream GPL Ghostscript 9.26 bridge sampling, normalizing constant, model selection, Bayes factor, Warp-III 2020-01-16T08:36:05+01:00 2020-01-16T08:36:05+01:00 LaTeX with hyperref package bridgesampling: An R Package for Estimating Normalizing ConstantsQuentin F. Gronau, Henrik Singmann, Eric-Jan Wagenmakers endstream endobj 103 0 obj << /Type /ObjStm /Length 4824 /Filter /FlateDecode /N 100 /First 958 >> stream x\[s8~_ݚ*vb+l̓l67qί?ě*RQ$Ant7Jg:&1VҦƽpΨu8tK\$BkVH :0%6Q\%Jj2,Qy-%"цθ L ֩=˵XQb,*ĉP'N3ZсHIL?R%gtԉؐ&ebkEKo<;%iX& =ءї ?HL\WzIqBFz jkDpU,Q(;:k(e=:`-St&4$pKO< e Z 8I[pnT@ZDm+[5Em =“ )l`%DB^pf =l;Pxj8 }{O@uǖ]/Q@hA~PBkG!.,zȋ"I(d G 50?d:-gar==&l6]SEYb7QN!>$~<U>,_$hrjB@@N8{?K?}Q~$~A2{EngxlGlz6;/WVb56拳yq̓ ތJ4Bhu me^1P6GqBziC7|-VEYLj-q#Q-Kʆ@MjJ%HǕHDF†bGoJҜ˱&݃z4IHV%o#J&h)+T|c6g5Og2?yW) w}=c bv޲w=?ؘ3v6̦]\JMvɮշ| M5Msvny1;g_Ve~~:\9[Eq˖ly5skV+ݲo0 ;$=/I^%G$aCGϋIN=#jv|wj9gOjb ~eG8kБg_~\MZ$zɵI % 9҉!at/줨uKn~&Ka`?<}uO^푲(YGqm/&ꩄ*0>OJqf)S` ^l`hHt faֆ6z~t q3-e=0m%KІԬaӽgF̃1@ ?Iu5^9l|s3_V ;||'s\AVL/iƮjAx,ɷ8{|3x3/ٔ$]N&b21M֏W W9\5||OWէ_<ñAkm|uTNco+-)4*+{IVW9ʪkTP!e,AiAn؈pkH#/!zlu ܁ԤA^܂"uZ3v MJM|3!\+9 Wn_p q}kt<[ ᦍ<~؏AOo MvBtQl [2T˟6dp پtXP`P3xx g̵ܶǼ1}g:DD Yq/^Ž{1$#=HOEz*ST"=HOEz׌ZE(jQ+sQaiQO c!cMF5. tQZW& D_լPeIP y TYtҹPu6IְIxkYRr(M$_Xj<:m 3b2^\º9q6ow'zג )hQS1:ZW `|[䦪@IelT>o:akkCF:N,l?t,VEؗT{WiLcaTn!~\hmTX_۪hThbaĽ <wVuX%W4Ȫ 긁v^c9MPEJ`˥Ŕɐ{K_{P Ic>:JCg]28^8gó|_zi&2uRCt5a~r"ZHkȩ oxT0=):5,Z*FA֦ÔP"Eɚ)b{NRvO !%GeJ)f0eio̯>SKB݁IY&uFy$RTu`zH3kKA5LqSMJ)/ӌ)ã$KɋTakLA:)"ݬbJzR[A Sަo OUf~IeS6SdVLiL2ri)=i2Mx)Y'M Id4':&uSkG WJmJ+0N M*"̀FD}&ITÔ$ I;cCԣif‘̑'ȼAbrqچ5S$f_Ô!Q7cmR$c“&֧H8x)dc$f)m)E) fJk؊CTZ U>!_,ɪ3^`TgTIb!]#:Fx N1*/{g48-f9(o^(> j@ Pk<8`]R"s:F ,V$Yr$3kJ{ɰ)&۞hD=ԺT%qO1Ǧ;Y:?[͋|6{\e^}"d?rWi:jC6rJ&:d1KJG'㎡#fweoB4WZ!2VjYcbm5gkBan}>2שD,BXҺܞa)#=.QE`|lp;k/ߺH4N\ ];ceFĄ4%dc֋L|*T (o*OxLt)=sgm y6y16ؘbc~)6ؘbc~>滸"=HEz.s+5\bͮ\|Q<᭵syXܛk눃?|ehoMI/y]/dIt͓tTkmQI^ȏ̮XY>TjFKre7ٳWٸ-WUHKIMm\])4b^}x; `6 Uɗki6% ){_Bvv7M!)kL@rP~V^SFJ7G`SCNͧW}ĶS-w{lAi]R;e Y6juwgLJ ԋo}ooowxr.ďKniu2"x |yF'MiGbʰZ1%2>S=84uKNZ3%n2%91TLIfΒ%S 52o,!a L*e ҙHVi&R|Dxē'sk pEn wXWK$fE֚)b05높BW4tpD)j<֔#%ɠ)8R- ͙C6uSRWV][_WL(u{<"Hy(Wo7[$rLַ}߁'tR(‘!vD" kw SrsvC1M;"f&Zpi׽s/"|e=T~~Gm"NTw ;GFGBFN'IGQ ^!M6/%6_6Ur mmwDendstream endobj 204 0 obj << /Type /ObjStm /Length 3520 /Filter /FlateDecode /N 100 /First 932 >> stream x\[o7~_E9^q k%i>(hHͿp8H#;#{!sxxn()`3$ax7!#B?+Bb֒QypuLYNQL2pL2cHF+erE"AO"؋exK,PČ""@BT!zV/ΘnX`S3\[`Ĕ[JY10#X8KDh6yM)qT}#S}hі+G*Ǻ?Dx>[Mf\ݶ:c\2/̢,xA=Vr߫Gjhn䅚~Y/G~ᩨ^M^駛 ~5i i:ܠtXۦúa mO[ӖNWtNW̑)4Xҟ+/4(_\jԃ = = |O( ?'_(_(O,O,O,DO?(?o3{l׫'=:s>:;1.靈+Q:=-O֩r1Y0~F`P5vfR=OS'@=%ǃO#2_UOEȸ-(zz=Zd63N?'OjG p>].L`SVoInqk%"(-ΫEoymrj\Pw){oy|>=', ۈѿG/S`/4iݑ&45oU&ޚ- 2Ƨ]o3'mUV;$bٓ1IlL] 74h9c^M9%PlҒ]` !]F QB\X{Ux4WOgIgC)_>UF%_XNϔs/4ySXMvNUR&"g}'~s§3=eģiQX8I&X ! )F ,ag8!TGS@I.x̧L؆k+}ꥐ2KR"gI.m<t]jhNkj߂a:ߠrYHfmSauXT(@Phu䆵1rbel:1(LPayKzbxzj"X8(5(f;)(8A4XQ@홾`INQ\j|쓂*>GPgLMmO _2Z%8<$ @P'  ޒR[@%/٣l@5@,Q.ƄqNFK5GWI@Dр $!@=Vm[TVX T t<# ellQ De;v)*JT&km"{m{l)׼k ؤsHDyNPjKA@=`UEb8$x]͡Q7l8G%v2*J46e"tN )w'fI666\tq _܀B\Yӈr&pBn*Pk< 6C 4lF,DKA:h8 κ7SNO@.S_^n:0v\4W3AzwuӞ{5Vݝ}zskr  C{oll\Í{{wqų]Y}Uuۛn9_\U7?aSv1}w5Y?\ޮvt{(#5IGPX @\2lr}Y9t[+$S= 4ֹA1&8ۜ<4Q/5 KAI0iwhʧԞ3H.8HKkPF ApRPFs71@u}V ,vטl'd6J E:ng&dN Q[sM3|0 pfzb *T5 -;Lyu2'/vUJҙ)MJJJJJjEϩU˿`X<̅Rcp凵 1 `|-\ 3hZHָ-_"L-N.F|OGRHF3{QC *ow07<%mZD`4pЇaL:)>n$}4k^sSc0v8jz6E>T6n!U[o ;; m?e:M>n#c7vw♇ |(%ЙӻRKJ Vo^x+ЏVW|GޑhVX׻+3 ;z\gjU?VϫjUmsIͽ|1~!w$&O[ OĴ@ׂ@lOr4^0$oxN9Iu($וRh-Wۺ0x'-4Wӿ&a>[!Vd,*#UuPPsiXlY>=k9!cF <1=c 6vU,ǀosEx-o1h˱FbHV@sZ@|zooS#v*NeCRDnylnTP:cabž W>^ɤ"4p<:*J˔|l'9g4,e e&wTendstream endobj 305 0 obj << /Type /ObjStm /Length 3228 /Filter /FlateDecode /N 100 /First 924 >> stream x[[s}c2bqd2ڎdNh9IRKĕt8bwVUQkpMk!8a)^kEGm6 +s| / t|ш위NIFY1Jdp^DjFA9">IF%t & pg_XD4{ Qg,Ċx|1eg@U"T'D)H B!K#}"Z`0"G d:gro(MZĝw(]¸ZyrUhEBZĐ{*!=1Ӟc#y!a X{0lƃ,Pk6 a B=s`sR\$Dcr iȱ94V[H50"F+(Eň&{/DhXn_E,8+Rz 5k^AL^͓b3[`4b>y|g/yrZHdvl^^ 6_o&Y&(V^c7/z&g6/|v/gN[i:m]uQTw}Nk}+uźXzu=1wדGd=+7?>G=y~~%Et1]^ixXW͓דtvfjv\cS|74,Is~jS'bbTuJy]~IQeo))7IO漙4fh ~g^M.nq{|r9{6 &of=$v3O-.f<נo ofo~6Ce];\]VT?_5?c|I- +#]fSvua1:HMCk`L~7_ZDeG»]f\l}zyi_|µ+>oB0$mJA(Ϡlb>{Svwnwhm:IU9׶'DUhgzC;cEGQ]R'=N $+DwR.2atW5=0QicnC1nbODo!\ $&' fr'$a,>6&tt[P.8P}Lt7!h;&h#D+C~ofW6餛= WuAZ]϶}a1./fXݨ$)TJ± N"E,_,sƒdTYv&kxM@GuA La񶓬m'QENʀڝ46SuJU@* /?Wu"dXD;Nʓd4q?& զCFAQ mX4N0<396i@er-{rU rUy+mD z\^7xa|ļJ5m a(6zvjH.;32<)#Ht B`(Pj{_P5 m;e՛%V_)UB*XTySdREUuZJVUZGRJZZKmJ[ZCK#V+:"zō"L=#brvC`:Bk:/}(S QQ*30K<ڬkcxШM\Oj?jsqqcr$<`ECR>ڱk> stream x[[E}_QoV~A)"Ͱ˲H8&iɿsۗ'3ĎF]:}[8N%C5 ;\>jDH"y9=/ |3 "2FN g0h40:bcxs /L a2s&[`?IXD *a=q[>uVĩX),z_s ?ǟt,08Q>^;_" i$"A>HA>F$B|I'|HqqP-M5)$R?\"e젳\0G-T(U(8ܣ9q0"4Ae8v( %V~haRhRFɒi1xb"Z;~ڒd chOaZ,a @?1 }j_Ɛ6䴃m"x20nmeYi),X[iKxق@<$lE?/ԊWj-GQ`9^~/4%U0og3LLK[n;}߼^E[~.tݲCĮc5F7v3~Ոbٮ_]" .6[غaCwjwެ\|ۍv};[Lt݈by=fBEZ/`&$wGS1q9]@&$ЬeXQGL AպrXI{J,Wɏ7yM47ͪ5F\5;@0IZgųUpeoG5@shU/&;##Ϟ.?zA U6BoI>)0(=<\tfծ T]IwkX^;.҅tW]t*͋vx85,NNK߭wo_4Y o0mz“_겡'?|Ahi;,ٮ:hd2ZOvuuZmSrBNUȩ 9U!*\srJ˵\˵\˵P?R6J_{֥W2FvvMoşx|,dUIMoB#Y ۃhmaBJjVIFxv[?‰oua0=(\FJۀYF'GL2bK*9` i#cpH0 ς 0~v&,-ɠC}PYR3Z:&)uT@ *1 2d;G )%=⃤(tPcېdB&>djCsE=@%f]ҝ R:dLrȊW}?'P6Fއ){xK)s IɎ1eh5䑟tt c} B((W"6 B"= &LE 0XNp&P6:YAe,tfP*4+2Ifʀ)3 bc46ڰT kXs2m"[f>Ay ٘tC_,UK5ʂ\^\z7+؏*Kݐ1< +y<]5ϗ??_>xZJړW,M~jvC)l|jR scz b=nW D"3rz}EǓofPBBϳpeyk<~^߬>L_e7W'W޶hwYGuY6}: j~-ELt-K9qݖ=ٱ![ kWb Ayn&2{w5#ʹǑ "@d[,t IKIHW'½ZKIu鮵4ki*V^k~\5WUݝUKJdi_q GTÂgFGq[<ѱ, 4'2yLL#"Tj9AҸr70|lŚHe4w#CFJ+ztK#@=ܮ9F 40@enxD{wL `B[6˖(- .S/;?($Ρ $瑧6QYxp{I=un %Hc4Jscn>ԤA0T9rp]v߅f9c '?vT2*(cTWeowF^p ȬTendstream endobj 504 0 obj << /Filter /FlateDecode /Length 6670 >> stream x\YǑq`~^k>,A6lɇ+ ^CsNSl$~ጨfMvfDd_n`7_\\. K._o~Vxxgc<}q_k`dgvf$Wow{3Z/WVs^ᳫ=j_ku{ϦVM޾87;\cІ&?)׻}'$u O_5n?EI6ՠPWj-TWkș΃,.>GK绽ql_Ln/Ґ} laz"DYrJ;j|Jr-vA eكT[6)tf>DwI1^?(h'ܞHlsf,8nn}o~QosorRv9q< %'(DC=Ż%nA{-P9ZLmb ƉW9w&ܡjj?J[X߷dDTZ`v-d 6Hl,i'@1o ń5o?{Tv19'90WPNM9g==nLn7uwV٧@,p ˾|]5kh*5knAc@o~+\Ӣo\ dP;:֗B re]'wm@%yS'"n95=/ߠY/1̻m\)|%M%8*{*vUI]UNHd!6pnP^| jX{]@ѹϛףԡ&twob  J gc7%BT;QA/EWCzt]icCL5U2w \h!mؚlc,~%Jb-(+yTf}CF#*b+_\$F<T] (V%މOMsTT-&| b6"2gճ^5`5_D<nn{|˫ C&w&\Q>ޯC \KɈaopE& *WSܗ-UЀ|yĜx 3BUfÑS}n&Jp*=S2%>YA'ϔ+Y":*X;GiL8Fm1/߳)Fpv]n :9wv˸7Ȓ=&0V-g&U~Tj) +SYeR}+=m׃ O Reznz̪@tXx&xe1-^ߐxv @YZn+O2Cz.!%o2M&$ɀ[ I#IǶ Գ-DL4) (7sp? qynЋF ]Xё'ȝ w]qn xh)[8h^e@|ׂ"E;g檕ikK`N+܀(^u!w;P;F cļzߗ@V3JE<*!@%M-Aش]^k{@9M g~]g]^;jɪ C Ee.pEkS/7$ts`H WTWSbp3}DNOb + ^"_/{]C*0Z]NٸJaYxa{$N=B]ٱN;-rm `rII_596K,~T̫GlٙW_Q 2R/5ċg H[BH~->9Ucw}X^ .qӸ, *@bR6 uD/hS03p)z&I[?N: J# ֚vG]؎OzxxTC.ɰ8|!S | [%:![7csS._ .mb>a6xjNTƹr dE|H69o&TvqӏUJi 9`nw}t:4 >#JoYt.Y0]5WWi`20!-z9ΓQ RÌVCN3֞UU4<']ӈa@t^uM|\nDgᕪjb\V/9յ ™VPBy2àT.}ϛJ]5Hid@݉ngՄhQݵQȔ(@x+x|3k1ܭT8y1FL|aʿ))g񫔂mڸEOhdKaRy4]@u\Jٷw;=:.eH2szTI Rx);Pex znQ%Avn^8ȐwAus\"=Mo[PImiĹL( H@QvoL8pJ(`s> ;ׄxi\wOL@G3 nQY!S#t=sg-xkva7a@]Az,'wAB6Sis}ڌxr1nIÛBq14reEE2]cWWrI;C<8Q1nԩȢv"׳?@нj1iu<,N*#zRj̢A(ト>rEt}4LQ%G;~4̨c<4Biev%#R %18RŎ@}4C_SJi&Re9ۏMfi| PۙQMf'8xTێoL]Ȼ)e~OZIRSwk:*Cj*2 AǛ RJ$2YJ7BѝoӾMQ'Yz{,Gdi%^|ApeZiФFUQ9!c'`/־l]V!;R\wy3)AlDٯ{s,@uAWLx(4IeBڐ k%Żw'wh,'2+uLo34S&/˸x8e켗8qf)}F@8X֌_Lk/vW 0IȻdkQ"`?~1YnyB kKL۞<>zB{#Ejk0Sk@X5+^I5@:XyS]& ߮z!!1.kVG-VJJe *+ݴX(Yg_<|S"2VkzµM!HHI@L.MԮ6{yrAjZOgn!dљJĒ =:_7jW;',Z&@F& +');Y~VK\5Cqg w\\;(c{'DI1+ miԏφ B??VHh<./>%/װi$W-rq={9 Yc) i﹢,`i * ȅ~B~~(Q=j:yVZCƂje6g?Z絃ͨEjAtq7$z 73ohVBW5MYXM4r[$P (.yHѯ9d*!J iEbDSu5S{@wq#}Je֛)Jb^AR"=84)+5ZXX!6 IJ'1tp{d*endstream endobj 505 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2655 >> stream xVyPwq`!gGg<+"Cn "QԠFNQc̀"\3AVАGU1l4&bV &־~`L*tuW}I(ID"ymp_1.(MK[)ޚ?}[$'y/c:Za JI%.K+p e+VSicC P}*.T/~PԄǨ%5nnCt5ڨ7_YHG+vt*m*BQ[CT!R=aԜGy+^I_+9棤O; NxT(?U#͛tpP<vU Kht9<͎ωcsf.y##+QAW2Sy8Yet A6ށl>p81>8Ҁq l x6)bQU\º$/ŏ *8@HPei`k;^{cC%ΊɊG_rqUj1-^ąAoYΒ :,# ={j2Cu!@23v?z֎^`ld QuR $vsFcAP3amgδ>o {;3~/#k~˦kNT*RETXwi(:vR$뮫Rf)z6'=qJzHz9J\=2(8I&1Y‹m[wK߳p,5'930v\SkvA`sBy-3/ۖs5`/5IWpXr"S Uܑǎ4gBD|Jg:!UV<p.0W?3U?dL`H<NxH/='d2Tʌ"{NiB}gn\thu0|\͉ (EK}uwOh+ iO5#MÍNδIGy/%YP+L%΂#{20<3:PCYgPUP uY=HV8cAqg3+Jl!~2qA4']q֘ѴǏTwR]9NjJO˳Vtx}yLOfYR[j϶%VM\mq+MAQ4Y\HfBGv[zk$=wVVS 5YL\Y'!՛aN˛?=ӊU^f&9Ot6]um" Hötl+Ua'LWEB$$t6UK ނ[Ri.>΄VdB |0gQjnnC92 3q$6g$EALub4eg7*bѦ$,q/ ̃g#g:2{ KF֊浢]C^`(r}=! ԥvv{UO[+3zHHL]&MFOd!+͛#%/{҂#Yr*ΣijV~Qy5º!\[Eش|q1RRΞ  Dv%/Ӭt|VLi`X<Zlq~0/뉶<c<W uPa+ÐČ-r8QdNcIhRi~vSNȤ'e|_̭M\zURX?m'5?6ER-/ֱicoqÈ x7#jxˋ2qb9ZV)+fy b:ɚ>PS}\MZq^f6[]wBcQH%0^ۙ&'+I`V8R vsf kwDΣVTd3E =endstream endobj 506 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8685 >> stream xztSWz//ؔ'SB%@!л{\dK:{e0aB:!MBB d+&?/͚y--T{>{߇ލOl~܍"t!T3z W=WX!б>Ƚ/] I/ j;uٳg:yl~;]mW9z97v;C#lG `Ҥ~!=?36lgz]nCmW;ۚ7:0/Pl*=N߲ `m> ^$ttٮa+]VFt[c:;7l䷹ Q'M2uޟ9kv>t;*~zgzZR0j 5N>FPHʎEmFS1&j,GmP㩭BjZDMSPdj 5ZJMQӨtj5ZIOfRY?eIP}T?ʊS)z P֔ 5JQb)b8j'ՃC)?@%!Im#եSj@n^>n~}g,DEٴnf63,x_{Sktuc,7_~~ faW]Cα۬970}КA?9vvC!vCq;Pl5/F7la =𿏘?B;{﵌?rȘv|L߱²-h_ԴVyʌ(<9o5z5`VeHFzkBVk$ cx:E#?;|z헰!UҴ$^1ZlYX*[[4KV%~i ꆞvRr:QM%T{R/O^8q=co7C0v3Ȏ`)֭`_I2 _Z|̤msVFAyz!?EC}͞j#W+lW-/ݨK!$֘ELH\}~5c |aCcZUB,c$ؐ5'^aud%C65# Ch*NԤhS@aqH'SmWH$:+mlBj|Q.:tbXk5-+zZfbQ|;~k[.yJiKO#.ė,B6װ0W dq?2V*ZKm=BB`&3h]!Y+fA9Y'p, <|A=*6/ppu$Q(up ̛{=ܙ yUIij5)r K2iR6h ͦԐz3ҞPn ;B_@0yf3~Q2>YP#E> H[yHmV'_>u'',vE)h5# &2be Wqxl,f5޲FhsH`241OA,%=6'x a'VɈy`իKS1ߋH&_ΐ;Jķ۽fUSpTYvs͡质_z#bxODt.8;I-.`Q]}pQ`-pOfwu5JbJA :ƒG(dWlF*)C׾A$R (Y쾍fM۴$ &2 J9YTtD, Wg,R;τumXr ]H&BsFh=yoގx& .I.ڿ6k, _-,p^|ygNtV{BPX!JJO?u9 D д__h/ fF={VM.>kD{h̀!|㉡ $E6 {H?y_b@2߱$h}V&@B,a $h?.Z~uC Xb‘-'}M4B 4{b=_S/A <:C* PAP/6V;q siid[fs '6m?J4ai&xلxȫ }쮀g{f΀{X0bls2=~U!SatrCX}ʝ(Xlr;7"OL,$EH5 I9ijuI рAU).}/_+qt$.giuMQ)NE(ɃNVB\,HOHQW@4R;€JD&JU ɏAjLС`#_U7@? jM4A3~Rel@ۑLiD>S[5_ͼtclks 0oKN2iokv`f/_構*U&PK*tT-lJwoG惧9rpIBQ;9|N'X;L-E33mRA OX;pz($@T||b[BC.C2\ q6~nD:d_NKo]~L#4\^-D(ݽw c}SA AJ?U)&Ml,JD&W͵sI@AAμBL^Q/AjYf'׭U2 Q]Ь,RmRW_ΔE%$DtnIȆ}]DhB3L#.Md\o}٩̄@ՙ-phA֫ژ0\p bE.4:pp+\%{oytCLZx15SLExah4ϡS9K~-` &qdA,yXyg碐A,TVU+ż}~0r◸O \֠^ *Wry#7MۏfH,_+*ư z: :GMab kp-^M#ߺŦ635z[/A٫*3\Q*)&_/h6HY9&c!WbA{ԍ״Nmb2H9]"5{r kbژAݩ'e4<6ı/_Ttac0?F&d_{ 5 *펝i,oAMSD6hV,5=N9Ik\Ϯ趩lBJNnotUBpO*QD%Ur~|S8*|(JhyAڦoئ ϣ;0W譈ONl]wƦ1 {yIp.ՈZ(iS}̤`n˱0XD’DMrRFLx C>PO.VͬB #t9^'؅Ⱥx2Zqhr7;vGhwE,\̜$Dd PB1w~z@[I\\JD,3aMi(97?אHwؠ=@-/( ]b\ꅨ~":Ѣ@E,*0Dh fN.KZ^2ְkhVĿP0*5IfnYU#0¨@Ot$1.4qc!ʊt%z`u1hTӋgSZ!Q_ɠWى 5c7]wunG__% ,>?{ )}UďÊEp+IǶX|*UN\PaN3:4.kNA)z?ƒx/SiD_\dfMOFjͧY;>sJLǥȓS^̏`67Sn!*u'߅93 KGiid7=լJHR!"2&gMkK`ק늆,}  Q5ZÞ$U O)(շHiS%DLiD0iK_'B~y=G(A$dbRo c %+mdY 9ZBZ/weN oy]BgX \&,N ǩSJa8_R `O|udg1 p1x y-@ňv0VX"[=~p_A `<B֟-M(j4buRL{H$%% 픒>ENI0uF#//ξz&#qxfDSnaKl1T#-mJTJ}~400ís6 [frU!6<-B JKrNJ\F״ieb7G?fjF>|<1~SyK;N9obќżz`NH)9JTU!$HT% dPiX2^q/I]Q{@O'ːY>z#;+o /H0hI[ t2 V"^X>3ⷓܧG%(LglNB@!9tGRܵ:v# @9`Q0)˓Ci6L>_>KW%H%l [ #þ4Q$f!1JѦr9 oC+vdFzh`+#~Mǚ7<%BKm<㕴cƥD+b&]u+ZKjz MgC:yEӉҨj`4⓴p*I\١IJKI˹5M'̙㇕}H=^pYl9MDez.|ˣut$:,zO 9qA=5v%D-(fn<{XxVbBDvfOf_4|X, k)SDy)%LY-:~H=]E9X yc G ppB{"xjYut )TDb>zU=bz6:؝s7_ranxqhípy Zlfed@.SQ-S8 O(0AFT4{ 2U¶76>{k}KrJN̮#C$BaMDqD_|M`t(U7 uN_X7l1w,⢪&!& Mw$|+7FYFӖx\n{J2`xlԿk{ǟHbN燫AͩHePBLPB1;}\k;-\'_sSlKI)6{Կ i]#:gV`&w4x\i}Ly]r@%L0F'3R=E%6ԓ};^.z8yendstream endobj 507 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4978 >> stream xXTT>AT#`.*-ذFe"H]Q0g"(Ja׵\ˍIQs51͘?Y)7ݻ[og`3o{$I?F"V/D۽t3h(sL f&#}e! A3I$!Q)je!q~6v̘7oTl YIfC8I ##C?>=&&fWPĴpESmb"m\}#|ã}}lB#mx;,$(4*7fuox _?^$8dYhSDdG+b]vY/`Avg̜5{s?7a@?Ìa2qzf3lbܘɌ;3Yla1vVf93qd3N3YaV3ksf3`Pg1c gXF-3͘0$ $jaRjʚn3}%Ӱv9{ϝ뿰K-3Mf=lx|yA^3,Yz*fwwqeT 'T=)qDUj|FbUi] 4E8qlgCV*@S,]%L҅.̒Wb 2RcJbet (',ȓN*J{U@wB_%O;oԕD/V$}q7a #dXlbsGi.KmI-*1 s5l"_ q)j)h[_a7C ND;1Sڝ=?qIjuJuϬ8 DG-"^Hõh-Nٟ{42 \3rkK G'>9 |ZupZ]bIm%];,~(fPK x865.5Ăvt_Ov( @ Ǹ&m__qnE*;Yh;Ys1n3?1GS|>ku7Kٸ?S+4yTWז4T;-.yݥLcpiUG2=H :%ֻegor=(Sɖ${NVlR([t% hh/KJ"?]9+] 4oRhi%CVS֘t5( wDYZGߐh'nH}p5:~EZa.R#DB.Qh^xiZcG>Ձ 8sqCj%oh7hgm}yf90"d=,S`5p27Xĭ&ep~,%M<-)Xq=~!٦:vѪ?m颌 |w6OSc+tˣ>xMmIˉآ *V܃zV., 9Id)88o y 4p{p?2}m3zőAR*^w?+(_IXnхaYTPϵEִIi\ԁHݻ.ąX{b`X֝fA\V mAk`?2G%^ӝZhW]A%(Sq8ǎ?GZ`;/;vnz>m +2^)_ [#blc&{tu5s U1G=!Ba'2R%J촇$AA$<`рeT#E ^"ќB}G#A娮h5%ar?ptmmQ>PkePϝ( ,x_}t4iW$i]m)b8۫$w=%\z⼄nWSq}QOSl QN8 a4+|x"V&T$@mjF8 J ɈPӣpFD[D 8أ5T8QвXmnL~!.3sV$V^leKh׫ߺah2Q \iQK/oeq&WwVٸ={2a,2Xs*Nk*8aB8swNÅFeuW)43g;w΋x{FӇbZy#`}r˔J*}^UU2 W*I^~VGHsT]@cK9YNۃI$-)̓5Q2uqΞ= !ÿspfEGc!m:mo2zkJb*O-%'+Xj9sWW0 *ޛX}nV/DK_K R5<5f%O^VzYZ_j,AN>8T=I*IՐ$IZS1E{W4"~tstQvw4(al}\HTX=)-K!/,A )IEj`XvWq=Db?SO ?nmX'Q_t G7K8P! 1URR`/-ˉ2\kI}qS9d*@3֝/m*=sH|NΎ˕d;c'.1nZK]i=hqbP(z[o%/StY^Q{CZE}U>ׯڽ_C,Ǧ*jM&QN#I˃6Bl7`0۔'s+*kHث$/-eQ4v\ȣs5_)&K^ x5?~+o_7B|c8+iQb#-=_X@YIkrٺHPB+{0߼9$K! r7; FܡGQ~6JyOb-Chc򑽵pr858LK&SC$7όyh_y@GE/3:ST2C6aAAP(.m\9,##LvGO,֟ro\oz/>~=8{n#!EPyoap .s?ڷQ:.q屇B|.%)͔Z<~V)bg>N-T4luu=öNlLHZkq"Ҥu{|J;0'd̤pt׃p#Ro~*<[+enݰ8s,U(dhOH';,T׹ϕTt iZa?0Du34r/`j®+Xu‰%:. 8%::<1Bin~wo5]STT>/h"fĂ !gUX|;Cz&йP]og(Pa9\>qx7s_ѕY/=A p$Z(<\4 o..jD;iw1%{ĥOO\ 2YI{U}M{W @+RH g+LIQ"؋\yiy)G:{xLqh3M{Yw;;ne.RDph%kg# 1 ăhcn 'ܢ||$dhf-ǒTMmqGN>7cn/vH\4:wxضԚ<VZ-= yu*^üjD(`wINA*F#>;+; r!;=+#bzp< -%sSMb@D"@~"IqEpX-TE ҒĆRy!q].(;$#sXaS 0[lֿ) eUff ]Oendstream endobj 508 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 911 >> stream x%}LSgߗj ]Li)0.Ңe(:5z~r "v ݅-̥8ua]uX>2xnB.u'99y(3a%U_ aa}/ܔ]r;sr^&e\<hx0{MN ̰..**+ܬ`QO'f/=T?6ۥfAvƠ>^-^G1?9|nx_mK|DkͮQ?$ԞC Q]I,;:;eޒɒ!_endstream endobj 509 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7562 >> stream xYtTպa`8FI, ( "R:^&L&^&=BB$@(") Pk}^ѻOyk=IK_YX !pߛ=ǮڰuݢoqSܴQÂTl(0V?9C*Y0'|nK xr¥+#ScC6D&$lIL |LzdOdee-ML[yY1#"S3##^INJ0 JNdGlHLMx/LR*˫S_I[6c]W^ ߐ120*(:fs얭'`'ZdُΙ;Ǜ -= mm=ʛƛ{8o'%<^0oo>oenjWx ykxxkyxO={,χo"ϗǛě=ěˣxxHzs \m=8pcq˹5 >i^w~T> gL>=%ɧO5-QsT96 5]5cCrf̾Yfjt>R]nm \0P:EA<Тk Xҥ%˨h#R(l /V"/"0evدk.AE;tz=2 4 &)UTj18RÝn>G(Yj8M%=a xY8+Lj_cѯ\S |iiD2wPҒ:g:ٍF]KwfӪc! Y S 'XYm+VUIr.[+eVzA:ܞWUTnC{J%(Y[EbCeRɐKX2y&Ւ; &fh҃:yN&_ VV eq.QDB.<"fN(9eVdؙp 5[tqzH3Fn H?ZYUN9gMrpuڜF#;'HVZw̉֫ :ȣ9ܟv۴J3m7:n)~_s"nPoV}[5 _ BixSz7P*'۲CruA"y4*QDݾz$h9tm>Ա}A!3;g`_g`L0p|`5V0SF]׀~meȕMe a8g?f"@|wԩZE WjSьuh 4WǟNăeb4Av^|' J]*$SY46ZMasd;e~4ۖ[v}ƣ9h? Mb -J$QT̜M_P *Sz'P&dhi3ZqM%ޞMh Ee"_ `\hX o^ߋ%ŏ26P3eX{5Lx& y$z5(B=d0o w[`6tj:e@-#b4Qxu/K4Ơ1zs k05h^ * 'Ug@Yh6 IS4aʫѕso uXS} h*Y\*ߑ]_)9pb+ )-?Q?f[HD0ھ!@WGOy\,"*Ame`fD!I  4*Wq^Ietoj凞 LL4uA/xI("$()b3ͥDo@ .}?:|smߏP谢Gۨxs336YK8F283=9w3:Og+hj/hPDxR Jnͭ-/:v`Gx᢬QM$ÃdnֈE"kybTصB&bI3C`)Ļe>d]P؅Pn(6T'䐈@[6EOD*H;,a'aܝf|uq]`|mbZUEs3E宑?'@s%`$ε(Rį#Sc sAp2hR[O!GI_( ԕ٠ 'oU퀊 #a W9^*K&1 ݦݺE6Y k^0P \RlCXm'Ѣ~䦊V*Rf%z%ܣ}a8;9)qP{ ~QwW$PIyB9aK̴\.]JB"`RVgNlkn+RWBTוz*: `PӲ-ٯ %#Dr&$p4Br"-0SwCnk"}`ne\r-3 !Gnۆ pH5T")!k\,XJ2R%ѢcNMxSm*M1œm3-5K[ʬ: aBY|/z ſp2w$ [T)!CmR2Druy_C/pZWl^(Nm4 ٨Nw[]}Vq.^Xs*M0od׋т~O z^J6d'<}5W|=Ǵ{A I]9K$gn~NRUc#>ul0s=ou;xaUz/]F/Oȵ#w2īb5گPv|YT,yx3~]ǨS&ڃ7)7, =ʳ}4 SM&zF&Uv c@qψkh~M7߶rʦLHեC Db P!"'^oѱ[,L;q5# ^yYEh&_ӐOͥD hV!A#\.Rn'o[.{L(2p7%mە36<%}]YOO2=<`Wa#3hKg>:HܒfJLk~jjf\ޣtcz;TH *KRtuƸhxd=A@QhHrIN, 7KL`sr2_5:]>9AHkhz =ʑnGWaG{2Z0V5uuuV;!9ڭΛ@9RNuPSCP,\!tXh-kvKVO` /f_c.fVݾq;@(/]/ݲN K&x,E PFUK]9-;c߸wQGYxtdߟTASCBU/xj{: Os~QTKOI]ҚZw籐W wsή_K-JRk0(OjsږsdG{K(' 78ׁL $ poz^1;iH%`^r : m&WGGF3B"[l6롔j.Cbџ~gU)bq|c<}.Ý@@<]f :(:{*p@MmH!ܚxV*EMuPJ5dP-KY+IU8Ȝmf`WefShrsZ&'xwldԖH,.0g1uԽ}C NnyIC(i/c]﷖Rk-TKmL5dԙ٠3hT/g$s7EeNXTĖD8!֔f% =8g^WQ@\]f`'2)P@S0A5*? 2WXX} ɨZ*GX&q̈́WSH*jK["بިƫ]oSl[cug39ꪑNK!ة-~`I=-hDYb_ñihBHM>:hᖏp0'|y3>z7?T4o_Ȭǂ'VEgqA?vSodLn&r K3U^wN'K54Ȣ2*euuUjɱ1-"(+e _WA+cwDMfKI-TQ455+f̎(j{(Y&I.+"Gn >/NAtIܧ«S^ʛ II>|${%<{IQ撂`ufr8|O8ɥWʔYDxGέ?xJRCѫ ]iICx,/>Dá""*Mh3W};uPK̯?xgb#eͥ-hqٱ5VTz9ژ 7I7:s9Tl7ȧ*.ضIL N_l! Ќ?k4.pp *P Z֭65?ߠ)ѹ[J5ԛjMrt^n D|M:}ЏqzD*%I'UR؆zDV)~#.j~,98ZJ4y*I|6?|IJH-QvN+zL}EuYvY$+9JYRXD|2wY0p߯e5޻%l0ýR1<<%se@4pOXn \+zAGڢXN[.ZBM&S`טmIph-M}4YbPi3hl/yy;F&h/r@ݭm "ISRM&a`!DЃNa , ƟE`2dFuA6a hU*}!wCm1ĆOipN鎏U `AIc0p#^pf0\8{Ef[HG:42aTɈݨHXu$㰻E;K ;ߙfP}MU0j`.nxQSR]9q@oaMBUP6ƊCBcҘ\M'{7$h@bq3fxO#F5> ι?X$h O}ΪbHY5jhUjdNJ9` ,0Yo;tHt@jdJjvSfU8/Ҫ,\擬dx>QJL3r%g,L52٬ H/7c<ƢꦾCg ;$$}!tׅ^#Esøj}i{!vžpIcH"~#Q]-;jvf8)t:BcL8165MZQ9;[+/ޡ4(E =b^3!N-NKKȭo6{ϣ28Bp'8K&cѪ`a kA^OR wѬtםII*Q|HGtTWWC1{wCt>كU|nAjZm0/\Ji$ȚKYۏ$eRay&9=Cpzu:!UQ !g3Ljȳ`;;dK7zkݞ /QhSx,kHhBgEa{ZQGaTR KQ>"yzzɜ z$4-t%`sHb3Trs<]6\y,,bZHmp$07Tyb/n7k͟>w\GʙFa9;SB07;-RL^Shmپߣ k/w| P[Ϟ82R)\Mj5!ONRWV\ηGsVI8/R#7͍:>pml UTpz/F73G!1xZVDʞА-@OE5_Ծ{s~2JjnMJfϩohj \hUbnB>;dBpipA@{4rqxVkyYQۢ@R]Sإܴ.KyL5\vs3wE5tV2=5pߖ̔;6<򛎚M]`J)9I{%|#_S Ǔg9{h4# J:>};@/*3C| #Q*96!>!,⡽ci>B7$,j>AZKhџx(2RU:)Ery}w% %(ioɵerTV"g:jz6>یq?M:ON픸c 2wgѳ_C3a_6n7+N0?}8hU3(/磥\F_L/=8)!ʕђȨĬrSNL'+Fcj߹"y`fL*[%z'c`HxjLR|tæTѼ>*T*綏*igHBJJXD k2l[9}BȀRk^E)SKa5iAc duʬ؛hg4yVyöW{"HxW(W opUl}2*J385s}TMvL۪Gendstream endobj 510 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5143 >> stream xX tTe >0$[iY$la !dRJe}j_W*}1$lvc˪ؠ3:_Q範iOΩ$^~+.g$}(vӦ \>e>֯<͉\陯.<TTLGH$ 5Fl)sb.YxnK ,y-'-_)Y,!dl$ٯfJ$yK_|Q*O)/X1gnT ɌٖV_(W99'-fbE9yMԴiԴlIr~(/9_"HNe r 9"$|nl^8@RFrAYLpGVv/{8h$Ps{w8PKVa ĖtpI TZɇ͆|R0DK 47z N֨1C ^X )=i59ԡf(5*^?їBfSni(AݍoYZ=pu3P-9p]bF*PaˍzD*Ɂ;?[>·UN8ɬ,ՖhNiĚ#~}.FZ$H-#ZbZjjNG'z=-ѭPEKфx$A-55*;]~q7puVwǙ@MGa{;0`3m~,grSoa0I\qovb:=1HyU%vzp~rKk/镌ZS !Q3f\lp9/^$}fUCx3I$GZUBoWݶ8qNte ɩϚ{$=ܳgֶEzt27A6W`q]~w> @װ~y>U/fLzd(UZ\6,'sx eɨ#vc8ыuh6aWk r!UAZ /8ZZ-´Bȏ%$6h7A_1kU[`US㾈7A`eamM) JZRN!Ւd)m51xԑA굘|F3,ƽU*'3qC풮DXZVFE1 ޿d<wBےq4QO"^C:^;)>6UE,{>, %Hr?e̊5g~_qo}C;N `Z6|=n'#fʫr+4@Ͽݤ=nu~Jї|{dw r28@~7)K&ÎotTIHBJ(ޮu ȉWP[Tpn ;ynMgF.5 K:8Iixz^bnQhʇ5i~$8/~-Dݔa:c8& Q_Q@j5Rk-Rgزm{fWoJl 4l_Cq^B} Ɵ1gݝt ME| /yà8#VN_?3xr^#ܸ7+-AKa+Z`GM܁!MY |Ȧ6 a ՗c,Z4sg%E客ƞl(n\uu.O.Z`%Ǔ OKy<30r")kp!O࿇j?b*sc/b-W %zz+.ŋt$qG~*^yEhٚ,u|2-LNNhf-GZՏDhza=x(5-P-r9TGai/q ' )!F'ac*%ߧɣ7cL#"tU( E=nUj>WMoR<Oa=Z/jv*E cpq9%E%Y4±!kc;_ER\Iv3q;ũN w({YTYqküPs<~_{Ֆ}gwlؖ]0QeEfMK8A$}\O"!y9jv{4G[82`ob7Ehj_D$ f2R5z3?^3vAe]꒺[Qr`G_C]fө J]$ø帙Hd*7ɽz>,*V@N>1ɋSJ4endstream endobj 511 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1718 >> stream xUTkP+ iJBg .+SZ#cq!qmㆪ~2R!ZI1ǕFDqGQNp< Ҕv23gҙ4ǡӳpe+w{}߹Q Rm¾ϧ"9r PFDі7VhZՊSJSIP6IyT:MGMQ$CHP!*FeQ6k5zׯ/mm0jU(Ԛdڪ-&IZA[v <omju&wjt6ml0!-NvjLnMօ3YU`VIQp[T+X56` &3o8ƦjT-6xN+Z봧=K?jҿ,$Y̏ T- p8ITH.1YkDQTSֶTRPaD!ԋ¨E(h !4iTu"R7 ?uq+9,4?XQ_&yx4um#/;b~܎. {C~ɲ?P,I0&*&jr>3B8~_%ȉó64%fr,U'eՠ!jfU4yw=°5$[# "A9C_1pЕK/a ! OP1F@47oGfsO>Bvx'#ow8k? 7Iu,,0K8>aoىy.2zع{ "8¦DpիdcҕѕLBL:/S5p`c%IGU| q#5Y1?{-ݭB k[T?8+`:X$D (4dW䐗Dby|r^B>*ߚ@K2pOq+5!;d3ԓV|ʥ,9IYY_sTo $K*Xyrvj+I6W.:,zZ$r1% ^ _6F]1| ;%?Fq(Mu7imrɊĀU R Yd@GDPcg1 |Tbut82ΡF+{_ƹåOB({vMpmuy=mn:\Yl*B*Ҁ̀>Iʔ8 )p-aܬJE`PjWrH,HavtwػHfo*Pv?km)vb:I ŭP/@(X-ꔠI hxxSi"u/&~$I{QL vx8'NFpfNUJPFUO|{\dS?WgEƑ.endstream endobj 512 0 obj << /Filter /FlateDecode /Length 6279 >> stream x\YE~mvEfb`1f3zҨ[00ƃ8?Z=_>{>׽˽G6zVioi/| !j_}1muë k٧<ʆ߷R&a: Rp> oiUQzؼNyQ?>7lN6^cN?_}]`|?iY/_eqÆ;(?L -Dddb69/i8 ~X% 9Yar٤L`+:<6qYp9v<L^szou K$g"ѾI6" iWhB]avї&:k= صRQ<h)hb\a'G9WCA &(⍋))\2Q'$E[]SNAC,;oS:GRQ`5Q6{YT@BN-0ri0 dwx_`:&ܗ rWӔqXBȌ[(Q#`pbcl\p3*z|%nz"ȟ44 9Ρ4rJU1:& $g#gJMrt *%9s8WxʇY `h[N{ $hcy^ sc-q9:ǷåᒕHƙ"]тJI+/]4ܟֱQ!8br1uAqge$Ekq:b4)[ܽ`K9`/l]Y_PwP]*5]Sj{V;bz|Őt:Xg: rboR Eg i$-wIEm8)E`sMk:xN3'*]y<`7 ۤf&8 Zu%`hur+ATu[Nw9 F)uN=~v `=]$& ͹u2z/;cA@mm6?m6766׵y\|9;!duopкv.@E@>[!] ypƠqegR)c3:Нt᯹@O m$*H(hߵ&|3nW%\,;x7-9g^#oچ <"vTDVmGfa#PruoȘzDZVTEȬ9|x]q#5 +4%>[~fWs H#Zޫ)q*ynhX|2K#n/1l.!D,AF@Y1DI.k~4C |) 58G!r6 drӭtG/a(E;6nv erA #EF/3Taߙ₂O!&Ku=5OC7YxF@[-舒FWɼ&.:2I>]Fߟ0MsMՔNfw ʗ -YSoӦU_i#!nuڷ:$f%e:td# Wr&C2S=]cO"9*S 0j^[J׈UC fT4є8xy<тz2j;DI 7PJL@!I .mSv[]d>H=+a XU`oZ4F>EnKrnr0BHR[Jhn`%LT3M]X_ ĻYiss+ ,2l "&A2$Fm=Љ~]U59/+r8B Hz6ds*6};l.~ ɬ?}oDNʆLmj)Kk|bDG}Mh 7!Xr0ِr\|i>G?b*s ? HQ&'cL# ] ADa<;7@z!]RxC\jݒP=a?Y`%܇AFZ6+~*^NzS N@}+nƀx{r?7ǛޤI  :@ѧfV2HHlŨ6kw W-<״?|\^kIM0Y\[P/*) @տJVL]ScƭӹDE۪AY)~觫@WI PvT(HZB)^T'F8$.!T fA PzI;^Vh!(1Cz=d1plbHFTGǕvut{XG,J@6/ko6Am>컰S:8Y'D?j6Eh~ksp3;ϳ/ϵ) _}mq!ЩrǺպ}IM,m|'Y+"|Q͂Lq:]:=}m$bdzA0c2#cNU }y744ف ýl[ԅ睲_ 5 Y Nb`YN3.}Y08 JT4-yu PR^(f#uHו6_mk]Dr~ch"$v2:9cwHNK4*$sH״*_./INGbj d30NQ]J&v[0nb޻sX ngfXQG7} 2roȦ@R$hL/L8B2oL8s0흚 otm%t7]nIK"tw11=DuIaSaGL [jY37׉ݭrje/E{R.B gdhJZL{cH0tCb{^/ \M J1)6u3nxרYv/pxT\*dsۜa\:M>j =8!a LjVԙw9; F̳mKe ulwʚ)4K˥fܣ=53BK_adIwRVI>;e"$P9M~^yz kᎩ v/dD|k2x^3Ry9Ayuϧڕk4/cs$01H_x#(!~#T ➌nZRQ|fdEҼ2Ec[dVELqe8WSm:_Q\lzwڊPaI=^lUbeuv+;rgG4 bo!ݩ6_ .ߖSeB94i,`ǶBWFJ>%g,M7ҋ/?%1ϏCml#_ډ̗tG<Wd`}_ڠ65~\mn)D$7V40)vs|MdG$֛zf2gtK_M uΧy=؆{S p h)[7^HLKLP#?MỉAX4vZ()'U7tlTHTaʵ]3YU M4-a>|KgSѻN]hK' m8e0Z`D5I&|PY8t4f=kBH0ububvl(iWS\;{=]GEu{#aA+*.ɫƄ (R4??XS֙1nlAcVfշ'fj*qvׇŖ#8r;N1GG?4j1G%v҃m mt֠yM/eU]GeKfswOל*J;Y^R X%B.ID$607phAK$3 X ʚo&/DXxڷ|#ئ^*}As{,m9Ϡyibݠ; *2 :G{eyKt62'x` Qr9o_6fiz*Zcufnlnd{rFgv'wuEI$*ۥ\q]*npڜd L?nՖJuDsó20o; B41SIo.Iڷ\0hdܶҗ,/.s,?4e|L>灹p+tQ [b*swD,74* 'Rc[B_ h-.RD 费;N,p LVHAu~h! endstream endobj 513 0 obj << /Filter /FlateDecode /Length 6422 >> stream x\Ms7kG0nG#34^[f&C($&%ydO~"%k6|D( eD7ހ=xսaޯu/st!0~Y!WQ^pa;JQ8[У(eF_dZ" puN;P/KOk!{$=+ ҷ Ns?Z8A8UQwRVF:Q/6ſЛ=J 2(@BPg2(EY-OAIXt" ״,l<.BG/0aU>raAq<ʲc <D{~BUօ$w0E77X@[a7]dquuhHq'K[=r.𮚸7 ѢXf&p`]rzf6olAlQ4쒮`N=dOjPdlN8gfJpM* o]ժKhW{ukl@2G3m7V3}dLN^`I®aj 3hẀA7r!QDj@2J"`MRcP̢7pa54(i7MFw9m.`FQ&Ah a`c#tD=i"J= H>O„Z:4gT|3bpz ^s0g',ɋ6>ĻtuGuEi7ʧVNWxȖ;"F/9RnFQޮ\e֞AC̾@\ U~9Hu㗗#spۏl'Q*`tZM`n4g6h.f1Pe"?;rـ&^b)ǟ{D⮆z3IY 9vC#Ӌǡ^8'"R\s5'ro+Hƀ8F)NBS?@ 6+gMb-3 'mq8swy`QQss@_4 ƹ`"bugMc@lHqGgt;_hdO2olPϺB"m(Kʕ@&OxRAC^=( Xw ݠtFv/i.fXCbbhA0|3t}gTXF?Sʅ0]0zxwP]҉`@6PGDV!uޟpf&' wctw*npD9G($"U; T]J[eN7 Zd`? /bWj|JA 3Fψi _Eߖ.Ўd;ulIuwY:Q sn;P;>6g8asw ]!@l';%&3ëW,J_H2cfV#WD9ol flJ{G/ $1]vrҌ &g`$(;$QE0M&DCzCR!,œtDvI@v~9.}YNkbf0>pBya0h䢎_N[S #/spL-bIfZNXpSHF-!u7}r'3ڬ' 9NeYGۖWpzhRQafN'`3nЬ(6E;++(p,+:6,o>&~ t60z <8hΗC vW<`K_ tN kʫ!o@ϖ{N'S^뱐ևvW;(HV%J' -B Y!dd%!%_+{ [@ uU9N1;M 3<"g!fToZk^/[mJX%U0TA4 H QL)#H!q`@Oyf7|a"1E$cDGmsL(Ij VͰ[:6l9/frQǢAXχb⁃ (\$* &aB@aͭ%o@f$!23GvC'5X:HRm1ǮLCKR6п65|TCde8SE4#M/b[q`̿v/&'8r}f  k$&=$idi~L՝4g z[9 H TeLj w=[sIA^~AK $ !ͺA9gETz,^`NyS7j 6…]WG%/^=nUvTGߎ{xQh,xA<aӑ8_aȄ{!*j'n7G]H>( m fBID2.e9!j FTn:ONJkq'GbK=CWH^rk,;~ڿN.ʼ6]@:SQfcvx8o鍊Jf\-i-uCx&s|證Q5;vi#n'{Xb܄"E@^oyB6fj >_`7";ubo=nqa(@v5Eمjw?:q0|&գq2^xoA+A*XL3vmIA^Xwq!@tզX,zGBx΄ ~Bv@ E}pw@EkQ.b2|1¢ KJ8%D& HlڦSlGׇY * =){JVћ^yJQJ5WMxj%[,{+m2@7nh*!{VSI ``'%-dgrMZ--diˆ9HY{&H}fVS5{f0pN|v|;ټM\͇6k\O] 6'͟kSܢ;ͷA{RjSa39/N&WYQuZ;FBU VOJͣ_?#+4z+a|:qWER!Z@fV\ cS#W)P D$0]ѰBئBGзx=vr5(ށE):j\-קfJ66IEw <㉱;/ܮңk˛|cX:g/[yQ:t2'-ee^aegZ["#>!Q~}$˘ĸM1| JlSVWe /dUEuZfLa!fFa@pܔ(W15JJ IURżV2Xnܚi;XXbd:}ce)#q} q ~6ܜ+u̻@O316Ы!{j]')Xr#hز}鼧XYBPz_yaoz!SSalSnk>Qe( {1xr\^ >og>2*ǟM;n&T؛yNM0!Qv$w33OvZВpi?9kMo&P6ưDr\CLPHc6>}Ͽ'&8Ht[[ SEZ<{gL;, S5+d:nb69zT pvhS+.{_um/yj}aa犁()(R߫1m EXѳ +<2JEն8ʠyZ_i_*KnPP IR7? :>l˛BH\q[Pb ||5Xw!~%bqݶVjp-U}Smd/~Y|C=][Y9byktG;Ktj(7W2yk۫L"G~5^5:*Hbmv<`:3^bMO]J)'*by5WԨuQnr_ n\DeOlmZw_obu iphB]>!j4#'P ;灰Fzy:@Q1i.zB|쌟g3KHd| _-{{O}ˢVGo>6: *Opaawלx38DLM▆t"%`Wռ="!3eqUHJ{/ #nÉ{_+OdGn&||-ifnIN~4A۫ Zuz.R;dx%VUBw!0QaSnq_| > stream x]Yq#_08㮻J P!)$aK~,c@$A<3gg1 Yv:2Ͱ7^|esyC_nx-\'2yj6lRH[{ MI~?nŕj؇RRۯy4},~' C-l/-)}MoF _c? x{پ§t;[8+9Fump~{xݙ%Ü&1٧h͸%/ְ=C)!؝`3ws,.RAX,˂p,7b [&sX`\>92*:^(}i3K؛uff< am0 ƻJv!>b״ ܃eP-Q)`FX*ݮQgbPJg%tv}K@fn'']Ŝ H286iS VOwmDtц^$<sÁ?)?xXv{|M,l;bwgaDk1;]ԅre`)+˄R\Ov/!qy|"K 7Iz+Dw}(h6 Ζ:L8 vm0Fy0Lj,Hi4|4 Nɛ Q  hOMv̜A$7ke,>:e~㓯B+!2da1})CKӃ}MZ\-,TEְ .?G!y?# S<域O ^[gXx9Em|3I@ɘNlTR+s<8Am $R '!kɇblvVHOͨ(q \+V,ʙG=9e#>\j&ܘ-K!t r=(y1#1tn{RVM/wH]\-0oG8`?$&&XjS-NW͓OWXh""QŒ)R(L9 PO_v.,@4`u𷑺,t0ɉ%1Ñ|`n6֘ԖfnŮÌMYe%ͫL}z/&@.:P?X`ޝ"4nlhj1{y #@&X%{Jp@^j{Lw(^(>Ϡ4]9k~'TKŴq{ ;z6۱@'fpںgKZxZŢ$k0M𛫲N޺M&aDR]3t;g,Jt=e !HqQ4N5!RCYY*~g5aMe!W4J-t-ڕh}TziEpCau%sZ8K0lv_$έ dZ3 m]3؈ / G@fy} /c,%IWy,8?7*4.ps4!#zhjE0,5'*k 7`mT 9ѫ{iQM.$! iXG(Jo|/@V|e\Y EF$*>$θ[93K4 C[{f.2ay8O! Mw cݖ|Pmr/zjDrtpx:#RaxWax$@mo'1*G:'>JdԙBTDĂlGe}D]x"ǶB XEGBKap`Gh`]դ'}A1ț&nbFDPw{_4!y_SSj0whRz _ Mo(jjBGKN'JD.!J1+{V ^^w*%)elFfR?Kԣ]-]"pgnOOg|)[s b㾞Ha/ZVb:c2׃ED-âD{Z`nzѯ<18 ^@Hg׹buoY 1_F>2#1JgžvXa<փZN@L>['7d;.vp hlB*oؼD.a:㓓h_rsO:A*h_9CCt2Wh #D`I`|" ^Sު.q^lQsz e5{ nthR<$x LO!` <˃.{@"ʰ`XΊAq_!4/.zXkв8K ql{.gqWǘgUI]k |,t ' *$B0n2D ⥢!&k4B=ɷLȱ5S9>9Q V,SOeJ𗴱kpZ9wA7K8m=K,IAJz G[x*y`d & sa`פO$ҤF$ 1a4a'9)4 GHA! aN8m^E)ZTpVxKcDS܌5 ފ1xr[j7||?A7e\BL}%P1}-@cZ~/fR'$yd0lD,6,vH¸C3}F.Sę$ |;/6YT7'6 Z :qUHN.9̼)Of㖃JgU)9+K)+ٻBcPN@ < \ta+M"fz,9 U;6 P3'ѦIbܙ$L32 5|)c"M2h0Adp@wԴv߈׮[;1`E83̚%U;+3oZ46$(H*ɮ #\s1N߂0;1;O0Zu}l(OX;ێtLqxOEhm{@@+ᒝ0 ;7ua0x=/Y US€%o%5I80,pM 9(u Ik[-x}-(tFä"Wr{g=X! v㗻V턈_ѴRMECtpisGn)nfЄ{:J8x; piEbO9T=q΢otkmd? zy̐Xm6[Na>LxAUEkCPr-G>emgR: 4łh_Sԝs➾Yr5U]GRǐkcIwg߂^ILiǩP 'yt"\5y,2k2N2w k?p p9*(|O:3q:, S8+2'^ 7srϻą;ɝd ,_ q&bc}EFnF0B놩j(D ~z[qdT}'yb0 7*^@ &nX_aܖhWS,>$钁OX4`7y o%(CZH B%Z@FNus#茱d?5H5p2^e(>y:'S3wM75l駝m3n.*J#$,&l2CL9tq`f6F̀aÚp?dBJ֊3 HQ0C1B1Tj.nL"o/M%{ĺ7`Qh`ey"j+JRRص@{Zl xל_w٢M`wcSJKE;oƿCç,YY>IzN vzJ9#C\Y̩7s >a"ZC.8+J(XS"iO|M+p՛O26iŲ/;D2`ͯ(DEvr2 anC@;B(#e P[a\>,g 8أ9WFDsTmvN.;p B7 hR0\m1ӬQwLm(gRq&<΃ոCATEwtnKI!0k-/gU|ONI{: ްѠXFpj'9yc*yJ=|g/:4|>h"p{FŽH xJ|\S}~SxK>qgD&Щ(ŪF-fUF^9*=H%F_5:Y^𺱳zTԙ:ljvŽϘPA &oƋ[(Ae ƳeQ`:$[z-Jab)q>!m KT8WUI?kBY+F ڐW{Q1Ȑ*" mDИeÂ$ c)h ͞nEd=P&׆u]*crk@9l~g!jT>O;QWޕJG0X<- cA:&/N0X!1Yߋyr ba "#r_}b-~ѴK !-Ws[UnG횕N͊8Np4B~PS4計DUFj6#5Xv[}zIdNRmfnO:En G`"ʗ$1eKZyqu3zپo`;7X0$n"A!p) d[/F\Β{{OxA([׼fa|hotgʀi]qoeDQ8,)Kk},s'b+&zҵH 7epE[?*qQ{.2abP.hU.e&sp;CT O3MVXg_rO1m-N X\{ÍAWɗIfWԉ̬o5Qcڢy8ZAֿ ibUWэAPʑ;Ko(aKnڵhB'\n#$ ReA{po'Wøz.8֝J""ߢLbGkvOr9w d 6ܳT/ Ěe 6&o@G$!':<u$_J*Q!!>vͰ6{//1DH@0qx2b2xq90H_}%$&aC RH}îyÛJKTb/E[ckVT|4=AqոEOyzIKg7jGmb7ĿĄ5݄,טD=t7S}kum0[sVW"NkQ;,n}6^ Gq׊oZɄ;kOk.z pFr%]A1-hDvJq <-)>C^>1lN8}Ja̾=x'5KMTZo0Ae"qe8=NOX\s<(Zs1KZcM顯j R^g!NSM[1$-<(!WVǾRrP],hA㽻MG.UsNتVl0™AV Qc#rEmJ>D_XYBS<;)}ۇ_6AdCY1}rfTB';t%#ռ6 a 8,kjJP MPy HwkgVÂCfqtvF('~>Y3Goha"ldt6WFdo"7gSBمP~;Sv S'.WJҺrg^M(!/G, vBFh0nEagF!%AV, Z4ҰA;L/:`h!C<%W@t1>OjAĝ#*'UQlG1%֦ge]Ǘ8 ބ/YIr^^¨fq=eRKJh:OX(T_w}Wԫ1CzS$,<.G'BogmDtωxK6nMK(vVxk@U&kU7axyd𮱍˕$ "6ߴ<֥ڣ$eɎnaJmK̽L^: -::^e4f,\sԉ'\h/:"^6 7*r o[ f5%susZ )},-Fx*.|Ѝv#'\8ݤ>0wDMqE^ўKRq Y v_jt Ap׼.gٕåe xl׮*p~da-`*l噕k;} tklnDdd,qc.JjtUڔBE1 a6uwQ`^b-~c ^[Ѷ3dtxd? HCy"mQ PٰUW,Hz]\X,A+oO%78UP[q&%r9̿sf~=oJ/o-de+앤8endstream endobj 515 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1643 >> stream xTkPSg>ǐp(NsRNCn]@ik xAPH,)D! {rrA E v,ݭ;vgvvNgg=vg>>Cqk$ʬ#mO汝HrIkM+7~iCƎ#R@7݀yZOHёk4TWɥ[wܑHOK۩i ZRc4FQ8/FcݮmL&SFא7jkTiP6h 'e}QiAM՝0j Lk%BR[ghмV-Dq8DYD6!^"J"X#d"ټf˚JGqBT8*:9+`H WhQ/n)) guvW`bɴӅ="J8Ɏ8%[z9ۃf{~2´*|x$`=O\m~,G4FM7q/33> ít~G^8eN8N`t%xW\37 ? \}, 1꓾]j,V$,TlP/Br hyY_D@"O j|ѠjQu^CH НUqBqnOǩ_&! 'h\)OѪ6"p"s] m?$Pgڱ*)*S[ ZJҏ3z~X%x+Q|h Mju=4&eZCTՉJ _ivdKttq1|A4TFI!47v:cPlP|<T$^ymFK7akEosZ~u"QqY0@?x^1r2/nY1x+uQ Ok{_}4h}~´Ceo= v^*P^5T+iIٓ±Zמ<B [i:#֣(DL}dف3=ˡ)_Km=TFW,j* կ'O~FK2o>Gi$z +>JQG/9=;+UX)->3[Z|]r]ADhJ︧H!6#mf3\ۄ^%4&8v~f3Je&zLm`mn "{I?D H$DJKۡendstream endobj 516 0 obj << /Filter /FlateDecode /Length 6711 >> stream x]Ys7~ f# 8bhc[ck<:<C֐,Y~@u)΄ 7Q8//]:'խtpzq;8[zuˇxM]ROAT6wխt/sUE4OV]%U9ڥj s6ǢJnN>VS66K9;ݩf[ N׻6Lfw#k]nޯ&hP5]J.հC!=vo?\J!hڹI&F-38  |sLyܬ` ;YӴō(<~oOP|dެocC;mh5N͟WѴZ6mh\wAye{ TsG5, ӵHaTJSQ|nטm&%b#F13䅝zߓ >sZ6oP;ޤ55I}r GxHN?/\'_R!6 ޥ_;&e^[/smoVkeZgaG'᭿݂%@|Y( ں2k9=A6m./JQi4Kh.ƾ5w4OJ4/KA{Z/S<+ֻ]S\N}+GωumgRߣ!+5K4ߕf[J4_֮և6>S֭z3F- Hč]9)-ZT͏swёĮE 8_;9ROLp3)A5BVS\W=#nA-&-0o믃8Z C ѽZi_0," Z-WPF"q@J֋/}J;h|\V)u 諷D: ͐hl# Z<0WwW{ Cz D6гWdĸTr2gAEϲF#{b`(~^hPxny`  |wH1ۢ XZ{ ĒkO|Z "LVH6 +{аZAS;0!oł:(Us蜭ʓIm N Bx3ڂKNUSwkd ZkG87=)mO;U1%œȀ v D<#Z_CcK3 F2돆i}t!IcQvU<[T3L]pox0+]K ,2`t@}΂6\ Cn; )Dv\0ȳzhIG~6M 蝑PVE}Ƨd߼h;yg[~ <%p\sN`DwY7EIy؀1t d #\[:zKǂs&@d^6#Sl9Mƥ´h[ZD9Z7+r0Y^fxևGP <]e`w9嚯,@-!%^ M'?T%䑙6Cه#]yP:i[tiAuW"2!)P\Bq 1q>]g @]t5Uf`-%T6RUf6W_@ЯKxc򆰿?R !PVv8B6Uc͌4 #s#LdG{L:Lub2}St zbS?P: c5xBe'Pq8B;n㺝&6J\0Cx?9Da")t 955%$50.!=Vk#[=q4ߜ у5_4<`(pM rڌ.Fqe'wo8ˤSqʜ+GZکUhl,̆ 舀b20';12s?-?(uFKH B7k ҟ}W ۡ6_.owt(PB!ul#*dDA:r ;#1+mA?Ē Vs2VZACX ޺Uh.HP0Wstoo8Ƒy ^D=bI]-]ט9PywW*3xf )sN_冖^\$2G@XO}UBRRe .dǒ쳊^ U4s".!4Z"A dUyBk?Ă&V7l83QS^ ֞U 'Y0+Y 52q$tfg4&uf XM=+iȘ ݽ$J S[x$<-5`mvå#ms-&*T[g!r OGF* GB 3#!羳µ{g@g 7C ɋʹ!0ZXE)mٜ9CWDpB'\Du!~{*Zpu ZRwQ{<,{7ˮ]3gvF SPFm5}9Eָt[_}G;)]eVF︺@]l0N%X_>ř:?3y0a! *{%jM"E)WJC :Wzv& x Xs¤@5YP@7MmZ,5Pv_VXd#8|'$~cw2BdM\ ʞ sPS>eW@X yg OU?s 0MVu*Pg_& ^u%$CLJ`<}[Z(,!F΋ ; =>\E,m ǡ)cI`\I#:&pnMM9^U)t+G9Z\,X8W4Xكtt0$L4?(U8QGf^ x-Z-YuSm6*A L9II>V4r4$P9_`ȲZ^e+Vpq}W𽴨\g]`-LTnY}9n6q|V)rfoqX&2^Hdbf=-Orj#ي{ڂ*)<բl_t}HL7AUʓ mBy-n^VT-bVjTbIqIS+%M^t@T(-f [IUS9j'lBӞC]Z0w% dsF<Ȣ>D+x :l ؞3>‚B+4-Z"4_%+!>RaТՊ[ڨq ᆽD6 ^*MQ)=S\Uy]o'V**]&!# fCE+C} fh런l51X.3YUW+E!Ɖ~H;Ō’PB8`PNnt- 1hp"Ta9q?5ǩs. )%?5t ȘvU[65&LwH1 ڈ7s0e5OC., OL Z)`qEļ-$6WPt@}  u^>JS8{ 4©-?LȲGa'?\9ċ=xrx.bESa)UpN(djufI9ⷪ_ FOw=Z ϯHߕU5w{ _)}U^AZOJReJU'z0g5džiWVX:ެAi˂q]}B?zW}M/h2q-Sg/pMW̾vBO=J7e,$w`)c?I%]1u},ũh͍ɡ|9 Cs RC5p$Wx3yLdTu,` Ogw@ FG! nYSa+5yʊ~Mn؟GG볖J6,Ifь GUD/ou=dW Af@S(k+mRlaˡ`+RUKu7.;>.pce沅`,f(%Œ. 'x+b{靂4͠dt/mxܓao)`LWO#_*4@se* yB|RI Փ('QrurA(%U`@z\~5V0Tp?#\&8GI0xr6<2>`~k>(gWu_Z|% !zWZU!tLRYZԌ]K>iNkޤx[|몪CXsU՞[h.ҵt {g̮ ēNg5ay7(H„Jw/H+Vp4uipmy%']g{ #OEnsh%Qr;4dAzj8io ÷I> stream xXXT׶>`c<{Xb=JlP"jl *00Coæ2Q+ePz㍦$c6dȋ_׿2@D"2gWӍFSR8oХKf`nd)FfY sCP=De ;n7f̟ӧϷss %ve|9a-=gesX[=8njq*GpCn>Lzp[}ka+Y^ _U9sĿA{Zs9NQ-*ԴyPͥ`~aU X _5.u۲{l,5/'+Naip,n }VsX;z+Nӧ9/q0NvI,DwRTLKL4)H-mΒyGb' ox ;A(P'i1 v^:ݾό̈jDL3Vr=k!H{(c/^8{'pZovH|b@;Й?MK4h=.VڴcV\;UxHO.ag 9ٸ)Xs vZc-ħޡKjɤ!d-JeN>nαE\}8k16rߟـ+ޟwJzvVJ ZE5@UQ;9l HGF [}I{}H㬍S`k1\zH1U1}Jڕ~vg*<;=aozbf0RXܻ[Űt,_ p"Ծ'fzV7[KicCw GL]Ӿ(#3" 129$Eܵ(^o=|楏>8rܕs)1F$BBFGh8鋓)Zl;u`E#lM5 t 6۲m#b`?m2>#2'ww9<9Gy7* {|Žx/,nÐx>C.,3aݧ6vk^n;Y޾i\K\(b3=jKQߛt?-*G-j Q=aoZdC-NqۢQRAA9)Rj;P]jL{n72& ыj h,w4"*F$qO%" T R!V,l7%h %%2_*6z3>mFE9ZcRwa.Eћy[O E}עF TDQf~*&Ԃf%FBԂ2KᚡIouΰI…MlɴVHƆ/;ơڨ]~K:+3ӋP>b~9/=W⡛'\y' oA'1D[ޖB[Gm_,# gqC/~j^׻7 D< 1e_p C;PsYXoȻ5v@}5GÉ NdW@$*k9i!RF+@T)}/U`W;\Z{LO˲@FUNBX"ȃe'zO26N&VLDWz c8AiH#-tҨPzv*bjHeǁ]m?,n2@HX"V4D.):bb.IH`#ϧ{WkS-k5%ѳ?ǁ~(X4Eۡ] Gs6+>0)$G܉YPɉ#5bW./0_%ۯ`׬"ĜBT3s³LzW0%M^',EܗV׺ K~B\r^!3ii[hrx8W£vt^rzyW_i[jv'7٘ ļkymZnzi KauWjwiZm,l兜ZI߈MT풥ї`^t5-<ClN<5^ȇ}!^%f/ŷ.͕Nb1+Ԑ~r)jRw7WV.Y}6q\= ~IzHՋHkHكhcX~vKϒk,fYq㎕ PT^.KV " nZK5,g7x8{3޶}?ÛԴ!ѭ :^[XUT1eՅ 6nIGxWlGK(-क़ 1n]yF_(O}PEzT@ :E JB1űi(eege_f',9r<-G h-9h7@= ;gKPE*>Hy hyysѧ8u;#6Pz}vBFJ^L*%ecH84>F賽'UU>BHY9=06%i j%HNOLՇu=cW?4yv{}8< $`:knq[7_FIKb^|E2 ,(Sw5kDMp< + E@OZH{EX@)C^Fy\LCV]З[~ϟV=a$cs܁#IҧLV%dUa:]U{Z W='ozVf6X@%~Qr8<,ܯ=cn\Sܔ G]!M1E΃A SrBftt0dVTXȀngB7B,s;EYiOBS"I8 P<I5F3;ӟ@H$9BC" '},JtzyWm^ꌢ}|7gK_szɴ 9X ~.wZ?'Ax9!)zBQ{!p<}w~ wA7]tl4SKVgkWwTUȂԤqMȏ..Rh}PEF*TaHDDdrbJ*KPyoRza`:ŭG.D' S*{X:u|8Ӣ ~aA3I7_9un4@7hlYo䞸3H49b\E&BDMY{CH~RwlU9A4/ Z =`|bNE?O}+< e@+@R,klxɘx0vq-D?| @8 mtɀ>:m &'-G Wz>B,ǦjHMtξ0eYB^tp`"A`ȷˆ K+32P1cD$?T4>(,g^2Pjd5^=b:k?~wo쾔?y6t?.o/w9%.9,Vyr颃[y>:zJuD}w;񿩻+l hc3݋M*3\jQvyz1;9æNk7NWzxiVvv*cjrEd_rbmHj -$tņ)X<~%L {r);vod?F#PE)_[4 JFYQ(q2up4i`Wq^%:`LvQs{GG,,{1ڛMa")qdhQUQ[N:~7Yвԩ٘G+ +#H@T[<-Ym=TXTT=BM_ b~b RGZs<-n!o|Ew:Ɨi!L0_"$f) /-3S+0҂,T%Wc37sgY_ʼ~}HJs"[KC#OR$ SyE%xq`KHF*&!GQ;H{.HN롑#:m; p!(Ԍn7l-n08\Exwa_oP\d*> stream xUkPSg>!Š8Y9qq+vojѱڥ8;BHHׄ$7@H[ItPLDzVZ^v[nwqgP?3sf3>>/81¶mlWs5^ZI>m.rZ!;x?5d[(c)prU9*8]$nl۵k&[w ĩRAx\$J *;U,!"9>_,e7GhJ7r÷|3 ,gU dXZ;5|^Z=6q1j8d(G"2 ԃSe `CAoas9tU&415vCLvY)VMn$xs Uh - )7'P2{sii1ۡ>ˬVW0mps%"2ξ™tI;?BK<~;@XV%ڊ M&y"V*N5o<mjQei&7+u`I rq 7z} ,~Ywkc=F'$g%X%cc3gf"1;6\j&GG[]eFtĻoIgGwJ^ʡdo[$K$ss XC}p7:>iiVA>VOZci4ۛlPT.DxN[=0 cJNL9ڸ`ZRU 4|~jYYtei@(:uuY[Ќ*Y"IbߎmG~찞v\`-4C-T PNiiy9!ͬOg&WCVTmWTXzwKD҄?ho%LGarOt\t%.r$ qtAO=W#br=#w!|Ο=b^Xi((UBR%pA@~p/Үfi) W.xtj:Y| qOPVR)=`| V/YX: p{Gy#%L8Q>rWGKhH 6߫lŢ\G"5Gׁ}L6ؾg;M~G_ijF:#ᢇs|PQE_RHqU+Z)F0W͆BAEK3ng >u̍PԥId2RW 26je+dȿa/Pjp#{"7ZC?u@Jz~*8y!ٶy+$W2vaz ]h0zQz0TeR(ťɿԕzo?@THjEBSW`]Yr1[n30_endstream endobj 519 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 965 >> stream x-}L[UZ1`7Gp[5|hJl˅Mds gJ%[2Nn`}1QcL4ٹˢdsrTaVVeLb2IWcMaQJk@5jI:T>Cj.x[} uYJXgr,<%jnECR&S JBfA$y3j6y|u/ R`E_KqKK(<0{\^$gs#Bfa/Cie P.ZSQ*@{:o7U; Wb.k} aP/Lc}D{U8Ҏ#4^ߦXZv+u0Ok=9j{Goau\=YYVSI`,(sԨ)e@;d2C,>4vis;;uث}8Bu=a}Ћ{{ZO)Qftq_k9//7wy>{߸ 8纋'8|)_A$3}zn}<_1ſvvw>zh lmmc;}!V5%g𛘯j}z 6^= Wz~RpxϽL t/G39BNSu4HW*X7 wo٬+?cp` U85O#]_ }>ZW|lnhwzxRX 3ݟyߵ ;+=f.>o}eԠȶ#rGI,aQ5INh{Rendstream endobj 520 0 obj << /Filter /FlateDecode /Length 5131 >> stream x[mo7>'boғxw27^q{@`%YV"i$TY=,lMYOU=Uq=f=?ز_ Տ+]N׿=ӗەj٬SH}qa}r{Mi66'g7+śnPJJD4ԝ!x9 6Ðc7~]S-)bua܃LwCZ[ڵ ]b,ew?o񋥡+z]q*&6=Jo{cN6/Y~>]9Sbũf뚘DGGS=cS8u]ۧQ~Z㸗q鹮sz@zl)@e\@/Pƿ`]m*I9v6[{i<6@ M[ؤc+ $݋،hl8~A!| 0QP}O8 9ȟ1q䚓Y}Pq~w{}};'VrsdbZLn<:[?Y&°;ޔ6@dsOI7_1 $󂙎LǑyіyFozh >g:GrhC:6YVn\KAQ%h 9RYcЃ^ubF,xyz>]8SbMpi=ʊ}g{0S2˃yȚ5YǞqWY֬k1{t9LwrdDdrc /CBc2'CX!{a~%3=ƃiXlzY (.yr"vszbigv=$Gz= #g\u|&f,=DEg8\W1v|ďZycȧ4]̚|6>Q}~cLѦg@n-"w!N=<+pzLzJFY u8J3Llϲ(M!=+l= us$ʚ3k{H"3l=ˢcI"![#)`Xx!j7=/j~t\*K߿QWܨ<[@=4!0gL=r DB1Djfq0|kPK6'|sAL%y5SRPC$36xRBP>wz64 :j(Y(3m=k-zM>X )% b Cpe S ȂFKƤdHj3 /E|=XaiA9Ui ',jd8bd!T)$d'KEYOsao"V fA]<(#0^E'T%X}glSW)P)j`>vų)8,w?k)uS _ v-b J;b&/Fd"V.3:x 5+m +je }6qXOn'wm{5ɋ 'Py4\^S~&Nɑk* eFj5zᦍh{zJcT28$ihBhaBZ_B(+)vgjsڈq`3AwRXoC\ek(I%Q-,3P-I I.1OՆJUjι z<౤ px YY9Q5)B;(pKˋ~!s/k#SzTCu;r1xL409t{oS;z}t@H Iz}l }?S&! ~ T s i&8 3 A4L 35[5Z5x3.|4]S[4 x*aVi|qfOcYGO~F_<'R2(ATa$v82PV T1"j/EA|4rחO{9={S0+?;\-d#!lɒZLQV_ŕ *>q%aKNL~3>K Ze6J>j  # i`/zrN#]*+іhTT9 ˶?Z׽ c7C<0q 褙Ǐ. UtP xHkLXᲙ!գ*"oUּlͳC Rּo]k^mk^-Nlq8>)B ^SJG90lxI3s'0MbyΡ)b'm4ҍy>%] t`Ee@u'r!4 >?1֦9&KI2q*%ˬ!c7;,̐nntݳ JS؏:2#׃=.V7ULBD3|*Wm{1'fvg2`PcLx'L[:X?Sσcv.eisw_X^r743"$q6RCj?PU>w , AR3JrdC1C^GwY/MpɊQy"}O/s__+" y 68̴-JHyɁ1|ki! I=*n{4{õib|LKNt7BheCA?.ݻi%9(&ztjw'z Kaye- sVqRfpld\NBMq!sj‹U"'@.SHw s!9;^>e>L\lS?䶴(mGX4lR1hME<=IAzESG|^Gx!kJ'*KAO3gqwM9w5[5wyߚ뱋AZ>Ar ӱRN+r)z)6KjJ|`Mٔ刹22RPMʂF3= L2Iʡ TSGI84 iJ0xhr ft<˪Ni~d!=SRgI Wj{)m*ti 2.><^G/g7?_4ۚa2},p(!&'r1(~ZCޅv7EM2g%xLsda7w(p ޮ;wZ)S|TO(oZ}k>.rBuOз"iT7 /xӚo[ӷ5wGH"YN]@(9O@XGݮcPUů8H 5Xl.z[spRTYO[ Z|Mͫ׋M5flűJދŽ]-{(狽j /B9e >kʧ"`f$$GdL@O Ie'O*ۮͳ Π+! {$o.,>۸]Jxo_w R#TS^\0\% 5>GhTZc1e@[9G5J| \HxcU*fY.0 JjFjJi5qH 32|:MK@~G *);kbÔ%͝w"TY)*zzuZ]HT5.pn|Eu?יiYg蕲Tm#Chǒ&e5M?H,45ϛ)faX@:'3K e4lZs;@ 0ÉdJBts2v7d 8Y?]UӯLk @^vʆ~IB5ۻP?\S A^R?} )6괸_Opbw!>#1=_ +T}2yF_wI:=ylorLer|Et+-J Bg5)Q':T,X?&#'S2xVńZrj,VN"RGi['j{Rػ۶ěmWt^7e71:NsEs> Y-RvemwiJ]g,I_<i?QϑD\o` 5e/I=T}\FM YGhoQe3SU v:i,:jk%>miqT*x/2bY%}淫~dendstream endobj 521 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5393 >> stream xX XS׶>1sЪG-j#E5 $SD0$+AdE`D!(ZEV;魵V_ޖVkסvm~ Yg cӏH$R%^X#>'Jlcn;da ) 91نagb eIDjiĞ;8vqq0aqX@TNp7ߘ0!#bgp@LA11{^5+..noẌLw r wpqX`=L҈=1QnQ _$beˣ\WĬ]\omNur\!ccHh猙̝_xǎag^e1xf=3x0df3LejkƙXt:phElg(dGu] G;5Β}^@Ȅ>I|͈f N!?8Fz{ xXtW_ 6q|ݑ;=tM dyj\>\eR_NOy| Y_Jk_$N0%8 qT M##ɨ3p6: Hwr23= | d3zVJ3Kmvv!'VXʚ`OL2"~8LA5"v84C )yNxٰyrP?lGg&`LfBAW#"8(2IlwxL]q6- pDf'Ϲ{Ņ씟g_דԸ-3%'NF K(U):hpq Wraq#Ny܍J2w9qi/vT3x/g_V AV ]Ռ%g,FXʔdʮd p [;e_"o_٢Ti; gqu1VY8|OQm+wXc菱1ba*9?cBm)22?}F>^ΣG#ϥGнo^28pcEK,I1M؈8NsvIL=_0 T,—CnbUfvD.} pad*Ly]1L;NZ[!dTh )!;FNXv/suPR!.?t">Sg"qer`5}D~yN&Y@W 9r9 zo8̊98B[fYB`u:'QqI&}*MASn g*qqG) !*Z_|Gap <7+L<9 id|p ד]*\~Ğ2cٚGOͲp_ ]SRFncS3+`u?x oSt"ʖ&;kŧ:gzl_pQVEbMe'] |b/p̺\auP?, TO_&A5Q6=]FtG`bֲÃJ7Ktю->pf6P?jл[WҀ&3UN|cE,Fz5{e= {u`_y:Cg'J6FAn=pYO ΰzP'-S jUAQ} xx7[/sKsr/[NY>YYHJ?Om_؝ڋ:תI?t -'#?2AdB֏& [c+}xCX=y&7 (*b觤kh_929È~u8(iy\!d@rUYB`4@9p[\;Y2ANŽֶ .P|+UAUe엯B TsDrx d>(дRH?2} fփ6LWfPL?{lgщlT:)yJ5:4Ҧ Gd`yGhR򜭯BVF[kV}7} ,߽-i}ʖT|1$%9] x@ƺ 揝9_J 2|vK+`יUv2Z\/\Ѱ΁YU=6. VxR(^5K,YKyo[Pšm M8`)hhxE 3C\C$C^m(f] i}΅m4ٴQofA؟/L}Mrڻg,JOujqTgj4FQoSBme;o"˩aɘ/g$݈\.m4]|bIJMvR ~n䗈7{IAA0:RoA1b2- OB|ǿ]i ?KۅĶ|=n!W PII36Ga8s$'^\pwL>p#}A*dDW;䓐˔l^ )3}J?Ɩĭ,ײ~6lTMapjFQÖxd.pK܄_O7@I8\L.shAQizN^*I#5ѡA# Gs\7j摗vx]<-|F,#h,.QW7qIɕ)kU@wU)(AS7;kTٚ4A5rˉƽ2HV|{x(P]?/[4IGR)PwIdBv[Rכwmo @yV#{hqww-",RGUG$xuh&;=+#0Lqfl ΞeK U`4:7KѽCMAZ>"7b9kbC}Yo~?.̓?i=Z >+B (^M'IOοu*vT_0ah*%?6st T-@5J= 1K,D= e[C0ĕ2NM4CTr,3\"ƥ=}ߖT e%!ūH:f º㥸޺g =[Whsm܏R",^C{cС?y"r۪zڗr2m?g\B{tRQ!T g+U骅Hb/.@Wpx6w۩ko6'V7*OVN8P öEKn^꧐0Fo η2 pر8$”Ex0{;8F*[n67%7٨/ɬ:7ͥo9qqqˉ}돕NmZ[u&Ndq zWؗlS,(ip):d2SmxPHztٺl!5ANhJi"S=e`)#Cv-z=Xqd)nWxy;@u؝! 9Q[8Γ^c{ZFC#V/.ڿǎ=kˊLWM{Cx1Iڑ@:Oڕ#ZϝJ)&* k_b63dBRH1oQ0^) Yyp 8 4i24N:RD"*"6PY4BK*,*b$er!O!9?cgbʸR[)n _5mqH!%[^IF>9y@5In2nė&n| -L'PEWzMLi#ͦۥGuBXZ@<*Pt7Bٖ˚d0ƹbP&àA(4X;Ȏa\.endstream endobj 522 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 551 >> stream xKSaw?Nu%mt3fk"bNZ%<nXlH}lAbNQ"(Ww]=Вd@c. ]< H3G|m@M}n+T0/yl9d8ʿ $fDT%6'WcrRHqԨL1QduvGUuIR,՞HNIZQ䆜8HUr]ijCUN`b\NƇ*`BxSdl|C&T-Z4j{2phsgUfg]'넕F #κڼtY6k~/mkEҋakV]YH[qXv MG]ws96fָۅҫ-Znt.>-gF x;j\ ͧBO(|ph/}^ʕgW"B&h]dں LEzcK -ڴb- 7Jق`Eeendstream endobj 523 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1877 >> stream xMT{lSq lpB]Ea (0W)qHq?8?]؉؉IBH@'+Ri=h {u99y9x|>Hٲya)YY#VܧrٽfŎB@~꼏Wrl] /|N{*J#^W^e۶_ۼyZ|N,jdR P)4UjtMچMJ|Wĺ*QYLU+4ⷥ2s*kUZ,QVud)qh<oAC(6xx||-'%H侘1LN _c: =8дB> jT Up=[ԀZ Pg@ ;!A(d"if@Zu]dI2 i: JAʙPFR+B5LBLepN|QpS*+Q_byO\Ql6|js2rzgݗNu !!FwA?ZMKDV>1NyRㄒ]~ҥ #| *jΞ) Q2w:=.qyyI 9Q|qvC]nt )MJ$UJ[^ ^ wtvCNR0"s G7" &0W{QycV?3Y^\V3yyiw7)džRl>X EB(fF'}XC}'_p,6R:0A=8X9iSY$1p"@TZ=Mk{x(w.}jmn[d&T~O"Q،&\.]{H! .j%8Υ<eu1>ďET$Q4(m>i A l(IY}nk 9W}wf?487M^ ςu7A[vMFPh'D 7V]\ vFCSqMpڗD§kY .IMrih:\sˀ(:-2hځ zV6) sFoR nC#Q9=Ȼ.%|:"endstream endobj 524 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2175 >> stream x{TSGs &uFjUZGSWTa !$$!MBB0 RHumnz֮==sq3gܹ;3(._1cV,nM&UӞ~3P;loԛK'Y<ߐ#02:7 ( o8rƤUSsIg-X0tvjBV#SIBtҍ\oN]kΜi4Sd6iӥF>_N-TBt7eY.rtz\i4Zu|A+r^UzyQk JvhJyΰC' LF^ݕK=kfL7›xټ^3P@y(R>{l$/,_6oX`p+qζK%dD;(}TFAy*u6´ݫA t4{Z:}<øWJjh'P3YPJWxFuA kY8Ѫ70=lMku4*W/t{ ~ Yd;|XLvD}maۼwgicb]0@HQR/Q7,t%b]pZs)_- 81UwSxn6G߼q>GjLj#d:B4}LdCx?Sk/:T|q4;&\EFo\( r&{G5d`n+,kb\AD{Πa14058KP ~KxUukv oZq Ag ?:p Hmm+qU'(W]UH} ." ψN>3-zL&BQb8E' gZLهhK~}#FuhK/2-ݮA?m9+C (.NZ`I[ACQKa}^l j)%Vކ27krκ چ0 dK l$"F 8*!9 s% Y=h-ZWDBdls:-1YtRLA%zFMP"CPb$dP,v;vT*60?˥UvթgΕ+v  uM:e[3 A[eȷ'qy /]}>3vZ#wt /Ts&b ^FGh2(UC%x"⹈hI2ħ6.5rʍos~$yӁ KpN>GB$yHi63n8 J)Dǯ}+^8gC"Yߺrheb]˧eE Ń汴pc4"IL {.X 8_^9nkx F# Uv!fl))XXutNZ C$k ){7_rԲU,O?tVxпzr߱o]x}˟%<1@%kd`M_TVN.TJp82['[>]+![l;M'uNILI=Q x> stream xVyPSwO ƧR}/.^ӭo@1@!/   gP]mk;Ѷ;ݝ>m;_;7~~>Jbܴ<;v|ޔ {NY^z9kߒHL7be=UӔ&VKKH‚E+W>̲e+k+A?]@+$sP,*( 5%$Yj%JEd ?K(eB*!C]r&B1?]T(WU d)XURZT\ZrsYL&V6ku ?^g2Xl`XsZX qv)gTBn­d7M_3u8t'YQv|%E+xwl> p,v; trhعow0(ExXJovEl$S|3 ~ڣQkl<'4fL.j+9MB:Pēs?C//3ͯ/}m3X@ \`KPzJ ջ :i\L`J@y΢~nl xmΗ3icm#N?q<<7m`ucOvnGSy5w{xύ~MZԑB0_EלoS '6{4ƈw*#um֦~w7qگ&##ƺkT'10x=xy -OF2}m/Ep[&1g|v M#etbdHչ7ҽHNWNʥ帎K5^j2yv7YZ6H@ra +UPpHt>p1f۽ Jr4΋^ G;Yj&仝:!kAnuk"߹QxxZ{ Q0;!NqOUǵQth2E16:~,,Ic,$,hHQ5(uXL ^p kJ]q_|9e|GY`EK-*0aG5[0SFW֬cl 0as:[<N<@Sڭ+&mvKvnڞo7( XzW8c.ӂT}Zk03Z`jI?Q~PӇbܔGLVBTC&0!g^+va4kd2.%1 CM:cu}fP H&!5+_Ww6.PnI3ɉB euL\gq:Za(ey^n,R}ohyh^IZ& 6?WDݼl}̉ЗUk=V JkV/8ᐡMLծ+[e]?yZ3ƍ8xAG[Gy:z!ș/93wFk3%:i^Uwp=if\Hx=qzԙbendstream endobj 526 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3965 >> stream xW PT׶mK "ɍ`̽$<5 A橙I 2O݀M6# QcF 1Q&^__ιk#aFb$ٲu-14y%)f/1\4a|?+N֘9=3R$42uYxD|TP@n|';9s\ [ R? M>A~x;EJeٳfyF Xd {//*nExnW6g }- QE٭ c0ʘ8/x_? E蜹ίex*üLc60Mtf3qc12ƝyYά`V2ff&013<3alIL2#0)9cX2)zh&y,q֨mJ/̦e,zg̓ rkc[NX}lƽ1.i\x~|.t chԔoz:x,NSً͂2ERz;B0{\สr}'E\>ę3; $k5F$ _@\bktYe ˻CĔJȁjgJ,FC)]~-J2?JK%K*ZB k<7 ُdd@aP )c]))mF<~P/E&kd#4?QvK }8F;ZD}P'6V!{=%QBme8V\4?`_҃=R4PDA{ A {Ê=#v%QGBk.t+9HW®},df;E2Mҽ99UB~~qi~~wZ?R[]a%cjMEY(خ#\cͱqtKx^* iͥ)6ֈ Տ4GG#qĵ YoY*.;gw|zE8®P zqm\g]:/x7Y4X?E2]/^.rбȮL/8!#jp_4(t|ame[ogdUj!!L0ۦ.xHQQg8\{glr#r4oy fV&`%yYtn!sw<`' FvCQVq8N"l쮀J+/}6Is~r^j%V@^Q^17T7$m70k&{HM" ~i†>ׁd|mX=ٮ8wx 2da 9:g%eۅ5L̤Wl՚Wx˝]fsDIA"QiGc/׊C3\J) Ka%l)bH _c)ץxaКWD>nNO깧E*I ܆v܁çdT%CǀFGP[p_Q~XQvt=c_dh2]S߇4͟溄X"@^HI%$pBK?e%HEnlFjЯ%_^_8Xy@ZemHDx/P?kދn\?Qߤih )}|US?~yWRPgNϦT08h^"5 /Z&O}̂eE;刹;M\5]*no>6Naf>٣€ ŻR3YGҎQemyq&Sݢ.yʬ{$-_M "`;اۗ/:y NApge@|?{KPw*kҾjZJCv̽6Y~|#7Wb m4{D/iy(7<,;xs@;T HBk}qb.iӰ! RVxpp1DDl]) OnܺˠlW_CÞ/v7FV :T3. R8r0L7(b^1_XLH, 9Q[ UBD̚dŗ_ra̞DF3,Myg'],}Z8?F=i[wTn8g֔y3K y곾dWđQ(]sA+y=}nܥ#_\mF a’u|e+S+vr~̍+z/t8ѽ6n4Emy#qTKN`,%l=2L$huC.UJ$m?x^.@jM=MprڄɨCs8lbՐ^O%hfVpl.nm\ ѰK\+J-cI _^GGFeHZC>\_=J}\lQtiDi|q\ ڝ6GۛjAV\\VKYK46i%m@I^vNrH^B>> stream xM}PSWorIr( n֛U] kBK+eDJb cH|1A4&5˖ѪXAAYWg[)E[+v^3s{ 0!%Dٛgr~I/8[OLTdzI9ACDX%qA44 ~AfW]ZW.b))I+RdkT"E,[/ViХT-*Qe1k5wSh*:uX}lBR)eezFF%7eh5zNUteEE'\:1)9%fEEQ\~I@ͣS/R,jv/F`O8[xN? $aU'B`x/Lcov+NF+Zc\qUWń<+7OO}vNõu!`\ }F$Z@ef-50JI7\aAY*a0\Bb8Δ"UP0~Kn[׀#ƹz=3ED7ɋ'Γ5cGNּ7hm6(o:y%( ~i$;9i f槗/nT 6z@ű嚽h[9/w{t>g2L"HxB{YȝZ9?ZNo~mVʭ&`ch#S\Lf$(9tֆZGUWCp3X81[ 7ZZ1BAJ.HB|;@T6&-Um5zXY{SڙR{+1"P=aRU{07> ~$;8{ka8-]f.00^ѣ'F[BI,Y@JE8/x _B2q~o" y꒷\LnWiCO xvvI=J(waBӐbh:- Ð66+9jb5ъ$v[/w57݅*qqsVEr,˘ p00!ӣ89H,~< cE/Ѳ KZ]5L]\.,eH8F;HP8x.d>b<fz´mZ#lǜ61k%ƭdrE׳<ns: st-6;ݾC-ph)]=C)PB's Kx2/ͣ8 ?u!w!˳l(?apkO>! A'w-H+Cà8 E%/XhWa$di&f"'ߐiO767}v#:X&1aOmns & ůDk 3sajw 7' mmvM57+,;1q$b6E.endstream endobj 528 0 obj << /Filter /FlateDecode /Length 7764 >> stream x=ko\u٢34qb4@  VD˦2):V{s3;\4`胆w_ik'Wdt~}_/ޜ0vG.S|)&/E@r)q0gqz@ 8O ~9C=^ҋ¶x4u{|՝VGBS O&M$ D'u*x 9\ |咍 7Vg\66)dQ#Ë`\k6kem6jsWoj]mt wlͲWt+|Kr77[^Wb}Pp`/W&1"O3%S-!pY׹{_n8ێ,;׌ћJ}^V]U3y"> o^ٹxgG4o!MbJѺ/ch3Yց _A:6f0cstymI_ 6̳Ltv3--w6lwjXIYW]67G_vMy%SԌ2oQVBRZoj]mڼ"Lubyo%|u{<^TE'a8 DfM{ߎe+9u-t?z<$6VZY1RA5IopKFɑtDFZ\vgohdĴ0`ͨ`w<ʏfGGl8H,ҜH3 དྷHz Y65 yGmL͈<0lo? DGb'Qb ͖wW0Od!dIzb^"D 6.@lNchVZ zxPIa i%$9="&Vo}V**U;/>Rfczb6ȷZ&>ⰽ G|[k6kem6jsWoj]mtkŗD[eQyfU 0vrZ{rhI,H؇H:t)-+!ib*PEzB],VJv4l-da׌-HHXX7O*YCezU>0Ig!{F<&s(~2uidrk# o]dlfeR=v۷t6IYr%?.tp(-+t7s1`\c,i Ħe/쒜WVjM.j//kVbqt}u]a *7vV;޴G{a_PI<8% Gp˞tdHAJHt2&ŹAW{[4> -eI 0bHGc H=o0\A>Q@]Ѕ) 5B @ryP3PWyC7] O$j"Y~ujȇF_tt :Ȃ V:Pj<$5赝HjFԀ-+s#Ԛ Jύc V ea"j1`B5D#m4cf oc LG"g8}*}tSADL8`N „ BNW]'~d]Q}^3ۛz7 H To;ࡉS>/O׵[\'Ƥ̉+:\%wt9z`Wn, w|ax<87#+1~X'q qnA~_6Nd7IFlɯ~#% ^qroER" yĆk #1_(Gpc:]bP3𧊤 ~ DMhfrGm>E@ۀqZ'p_6gw;|vQyb#vq򄺊G ޾O8y"?tϻ#?4}wng~Ӓ'!  Bψ DH@Rh H;~YY"{р6WHyJ?2yHKFOUL`!גQn_u6:Pz.q::lV.r~ -rHBKQRYnGISh~94/%M>Ё{1vqiR_Xvr~01l\x@Z=8xMDTO 0(ܝtXt0 J8D}yO ja$ʒfX|CTmn/(Ta ٝ`gLwldDgt(i{-}6_uE>xDZf?F;L VA$)x ^`y7U/Dq8GжgеSL3"8EиqrT3YQ :fO(< ҟUx p /؅1h@?]ɥwq ¸mmjZ2ևSP76%n!-ԭU1@PR5> c<%P8`fjr_6dA=6E4q$a4"%r`R0^xAa8j eKh  6%Ը.F(t)gho:>P(c./r(M TPƷ](T~x_ ġ*VvZJl(rnh :r PˁIs׆qWMv|ʥ&O=D.¶mb*U1 ϝ өh&=!.~q qܜai2?|^g\{yxNJ6g.+T^<芽<D81'&r]h|%m\7bk.k]H5ӱ$aĠs uxjf*  T4V\X0:E_xp;BR~N6$7GHZ+Aa@<OJJ?,&NYafL SSbEPė1~IttŅAK U_R)'$c@@D)m~XE'y$:]1#B]c3'bӢb-)oKg|1 (#1^xjƞ!ڐqg:+ͨ'3H{*oHa$W\BEE3 DnPJmliI` Q-{~n׾X /S֞'$=31EoLFgHsOnTUGзFìmt5dnif5ݯ-gLʠy%]sOHWPYI&A H+Q)f8zxI;Bz$1|sU8^cyqv{tD)@!ɠ8ݮ "Q> odrHX&3Hh:57w(i% B88 b9Jڔ˅@n?U% 0up"-0cw%;8G80R[s$iy5aΰ U~EUJre$*T=3fϱ8kY6S|FE {q}q56@e*?tcn㊈@XץWL $-uK6L=\|$f R ]KM%]`|0ۚḘ_j5a$O ="[r[[ޡ{_YKG\N08ulT6> &%Ra{Zcpd}cQr|RÒLAŎ6 g˜h +։71LdJkՕ ϫ ī0ncdtq䰪VUDaUbgP\#;i դSL> z]tD|3fY'3:w 6~浹I7*TYW:LyC=b19&Tb؛+EYGI]#G \ʍ%ûi52 U*d"vC^kmsT_< Z{|n7rʌ=v',h6u KpQ 9 ['Փ"pU^@)ͺ|'}u{#}pdW"`zDy]JXg*F>w~Hղϫ+ L+c:MfNZJZ /:(`'dD%%)CZco(&Gs\-`̲Y:/t 4{DdAyAd,y]a% ' M%[1oAcRެ [XEtYO>-S*Gjw\s^CmR"}dy䎦(%\!Ni4Nr`.;({]XDH> eQ,(H g[xFG1oݱeR0O#*ki1Q7:/xnÉ!ra=']pR ?`]y ?IUӴmT%E);-V㉊2R4yhk߻11i5UmM : $_r0)u,,$F1hl1m6VDvv]U% d$t`_*(zP*ږ3=Cb/*0t`)BgO+yUqDkTqMmB4,#-VP)RE"YUYiÎּS.'[{k@HMy TI#[z1z|Y`Rn,:i$ч*L[KZ:w)[,sX&VzoJNNp@eG\.o?s˳T^߳jM0Мȣ`]4ZlPLK.~"s5s^Q2v MC[}bg=8,WS]ϊ(x,LkO&rʘZR\<7ǒ}˪/F\jjLۘ9́fN ؚ): u ByX: /KmUgtT]s雒kllV<+iRQ]L*fUpj$ _p̌'Qg*v362`oOm9&:QѨ*'!(A=CrqUk8MxJ,^ZyyE3v6.= ,ڊ_GO}ᇮѴ$ve3{[" ?=yCщmoh;Jg-!DTY p1G0SSRϮaWOTu )Zv:ҀMhQtHZc.]@p6P\U7$,zd 14,oq}rs0)},#2rp_Ő՚hӳ8=v-FcRi LA|.n0sN>l`{uhy rCŪ7Л8yCQL1O$̿fbj2-ި!ȕ ,yW{~1-+u~8 GӨ?ptk=Ⲝ.N&Oi_2'嘽8f hTss 6mmr6DkRSCV^n{_^L=w8mw"¸׵)H0vܮdzendstream endobj 529 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3155 >> stream xVitg-!-tXFNYfiwL /J-ګd-ɋlymCc',BH҄iNj@2=C:9Mr?sLI3?hzw}> H$ Nٵ6~Z~r)G3ˉ%/MX%)D Bvg) [r%I޺LSYZiT7he"l]Z? U)9J2!_+yr:[[,U ]j\]VUm+.ҩj|?kK:ujwq gʶ'wdjR _A3(w*f;.︫Nx'|^ox` `Kkă6u5Y߸鶯::u W+g)Q@&Bn|;- !;%΢Rrg8EyB]ތȄ:ܸG־iu~ݐm 2Cc0nuGZ"eG9UF'u]l{iٌ`rKg2rpcSB$n}>Ԑ [!υYZLuVYhX-gvGWAwƭ O}wBU{?Вwldf 0ٕ/Ih(AD ya3jCi:29dnpwL(9;rA*4 r;F|5-]>m$7/˨(M~M>Y:u[IX94m/BQ7h Ŋ XL!xc @ݼ>}m6'& q,/x;NFG@N4;tte~^%f|L22Cw P_}RŠ!}- aɝoB7 4yR 3xn8YYCC?; & %x1G܏/-J&OR\o0O5ue@],P&GW5⡬:kQ|@^T5k*2;q(E(m#E3RyG[\PWm Fk}ykogpK0̭MHtzmƚH}y/K/gvLb801VXˤ#GlW++~W,="[;Y0ٍR#f`<)' &ߟнhQ{Z=Ik |ϵq&hk(>u$}fVrNB/ ;Kd@/Qs_ .MM<'-ni[u"->ť?"Xn %#x\`b9+VvlG!6A=e*qL? 0?ZOB66st: Yt\ڟ !uKM)E{_u}~Y_T/yi+[W>nj& 8l,UsthYo,V=%ƐW Jއ g,>ӉoAU+-3m bz^ºvE,P go9kP#W%o?);/90E/#V.vѨےx]VhJZ]P74Ubj7ڌ@QR3(7KaemvO+Zp -iW *Ku7J>$l 'DF}X(jcW=OOendstream endobj 530 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6380 >> stream xY xSUھ!r VJGe-l-itI4iڬ'I4iK/P @GuPqw\S?I 38Ph9{}</b+7l>tn݇Gߖ -3ll 0m=0[1 !<^DX%O=}Μٓ6mNŒdQZRbfDqjrF^,D?>7U,zzČX(eiu9ɢKՉwCŒ\q(zpw( 3 ,~N4G,/?`JI*{֤K[wþۧ9uZtEOΜ56<3w'L:i2A%b 4b-G'b"L,")ċ"J9dŐ4f^UtѧOG#?#׏4F"ˣ"dQ{;'l[) na;j?igpL&P":Űߩΰv67INd j6K_ÙmZG># TM!s_\Q bWp(=>˶ȭ(} ) ˧SUn~ϙ}_hbIp0)v:nʯ?KL3=3'^Hw3N1wuK?yUvbIA{ S JyVotBI"_O|Ǖxc>2 (w+_)Q2R-M۟P P(=VMH|_>ړ*b5通Op.dا|nUsx+Me >|pj);04^Dga|]peںl#p3zZ0 Et (QVJA30~v[:wlbDLb I=ʨl^QxҎ/Ʒ~ BDg|ME)B VP"Dp^<}έ_T`FY+lT>ǃ{a' GN4ȫlT֘L)ʮٗ'2hw Z*Fn3U֗1΋8t3^PvLO 1cCh6U:򃗡49-s8>zV ]~(ii|gv};ԪutfPL[)&WYjF}B{^f"@Tf <|Mۧ&i4< O?4Ė }j"fu/}vs*=Qn1H4nKJFջ3@З^)RJTTWjv^LgZv_2ϹžS-'!yݘ.32j LN롲򗁙rVjY ws-.er#i87A> cIPc ))uR]EEJ"-#_D[ LU PkHЀԒ{J SS@4܃x +T [$-.l۽P*[KeM{?  RFMtg̙u+R((<:F0u (1e"BDч {6gMkj Qxک{7ǿyPy^HC+{*H[ 0V pC[axYذ(6σ.cn ) cq'p:젂}ä́g&䡧ʽe:K(?ȴ|}NMVk]ΦLuj?Xru4]aJ~vѮT@mJi8.t5ԍK:Iz QAk5qk~? [q4 `r@>{ RM!?AAoimµ|G+F?d2LGKYA=@]\7ƁY˳lTq>^ ~8m]G$c-Q!OCV6"hV6aJk`Y\NU4]c}f sO\ȣ]*(W.T1zzkp(dm@`()H=i8z!lE˞D>~i:qL9mVZ*)#9'S ULcqrAU7\8͍o\+O XjPwXSm?#iNw,|֚Vmkkݯ۩+9v:堑j %ZuAڂFf+Q{(D70&eY}IR\0/MP=N䋸<~E[|y_󴚌|sQHjT7!9Ӗ@С7q8?h,"83WFw}a;{\OKP$b$|9 7ilZ5le} O(Pׯ/NNGAQߕ4&9& @sD8UO \PC XU0&x[@}ѦX|/ZZ9QUO ~c1,XDe^z#`Ner9HLR(YISЖzmJa 0 i8#o¾?|cԇEb|"Ov󊤕DZc# ~ ng0G)D)s!oezmƗuj]g4ZD'ު*E:q&cMcO>15œnҲb^ -]R][zB~IJL&Go8xܙ.ߩ{ZD;U;7-'7s+KeNρj .(rCqR _3y[z0녪eܣMԥWAkOF~&QkDV @KG.^o2W*L c0vJUZ촴5e fPI :=($蠗vL~ޱ9q㺸 Z5Ylύ utPkjmlleДetɿ+g 46l${U ɹ@`zpWn##f$M*NVۚS)%- i'!{\Ko:"spSGl.C1 Pl}p0Ʒa g&X(6d1(Mz~-N cG}\W"o`z>w'`pڎu[쥋-N|Pl&'{:(/ +H| +EFHX\ bCBoGrM c)oxA@9\AY"r Jeq` w%)U ,9?-dƟc[ }oѴj . q$#@’aC7WnK 8x0?]" 5 pyOw*x 徧v=nZ\F,T 6kɂ]׀]*fGeQ8o\ͩiiuY::ڎq{SĵWz>oiTMTQ\l}yB%Q2D%>=LCz=h%An%lʟaϜ&ƢUらxP)?m k*‰D2H婶(Ȑ.l0]跩OXujSpYhT3X#8lnqS8 mΪ:^ ~qݥrIKj-#m_X-3AJwV׵1K{f &U94" >7Ghhs(3}^!7DI\Ro[: :7?S<{ısQբZi]ѡvj-LG-"fIq%VdJM Gl2IVj`m09Ay<la(q XF۩(2s_b2mt@+FӃ{% \J>S/2tz<沩vA_ o| >nͭ-9FYQe vbwsN:n҅Kg^efSMܭ`s;{ѿ5}/4iͩ 5N CF7eKHddekr93*@\{\;]YT#)hKULkQX#I{d_XV^)vX2Uq`-ơWZijm€jE`M05]D (! J\NE9(  )A`Yx>zZmLïaNeua^K NM@Ax.v;+,mn߸aҔExNY\- 6l-8>|{՘ܭA9X.>uϛ' FU Ĕ-ik<յeZ6 W!c?\Qs2/)Z2y:e'hc̉m?yb9y3KL_h6ف*jH&* L>zQ/AV{)c&*?^8cky">{<  ld5ـ-ZVUh=a?z0'$]d"'`?/Z_KtnuQU[af:Hz@b!p#HS^_F s#md(IkΌs0Vs50oNeJ]A_g\t$ v#yЅEh2\e.ܒr=y/'y3b+$NeuSYȔ՚Zا֗;곳]T^oOn-wO<ޯ>+u5X/̩  @HbTQeAu$/'ڒii;)vn i^'KE AR%Vg TY4JtAUWjm9p?}e9ƭ(o' 'h2S+4~5 Eɑ2TaB,q4,tV@Ll)_jv& 6UbUZZ+3k\ē*ѳheLK@5ZkVVS48r߳:}B@%rS4K3Bej-9Ubo: p<+/H-n5"A;vjrNV2hz8Y%%)iR5 N]pT4_"V߯A*R%ȋRY 6L@( &JZY쮨XvhGY]UmGeUY]|h8-̔&Qb fՉek^7_˻m`W LJd&X⦨*yu^& $@CG9hAcP}%% #-\U.U jO)*/tJع#!;e_JS^{  ePzH$8W"ARendstream endobj 531 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5293 >> stream xX \T>Ȝ"xΐ(k&6  ̼3l"hjeq3VVv$Gwlrf~}{yy8H$V.k61.>% >#7E 7+`=𧡘cO2R$0Tr@0k9sfMvTpoÚ a^z98dIR0+GzFY}+z+k}|7n Pn2eϿ ֓3ZƑYǬg1'f#lf&0[VƍyƸ0Sf,cWf9YɼdV3kWLc2Ca3ᙧ'AL 3D2I d2$x .6 aݪDDV+#{{A 8x6C<Jɶ'g=idh°vOڝ+a|È#05}I2niw _A^z#ZİTBPi8 s3֎& 5q6!;Lb9}SY)wrInBmr0[Fl2 CǏWKi'b|>]]|9.C.>t }Bv]>!\!^+ç}~ AN ~&^EW]8Vn#jĉFIml-ПǑ-sr Ї<@[D7~xÏhA4AFR OxWz 6bFq)fأn,=n'/!2_rjǕJ8ׁU〯p$-y[o.7jVny_ L|*:~#u#k"'8:@8,0'IFRGpѭB{`̦[]]6{qck$[*Gr#dIz-g /ɒ??E:y8iC=xghՏ6{n-EEk0?bULIP~he6(fk8X63^1AI~3l."\Ft]}}9Ce5ژxBʢ+* ֹ\.!KN vYd_V5fMvW^NIAyy9$G~^ (Lǁ 0n,"% *\.?qgx_|? 94ĔTE"˟f~nzű䳉gˣsQ=B?9/sYB9FC!K+)233[ᶭ׮^\r>trG*Z@&{R/!%.Yi0aIktwzZV'nL^sQd Mfwg޵ƎF\ HWR-f_:M{7=G%6d2!: s}"bӥ3AfGJ%v&]*GHCq,o"pu07vS~JjY2V+ _YuMo&7YuG*6,O0V֤ϻ.Tdꍰ^r ?Tkm ]X"uXœ(Z~3rz^Y2 렞!'YX m~'U訨Efp|uM#>^ci QH1Z|7 7IG {,27}5sB֜hdj t2qIR*jWgi jZݚpAZ6fۡ }Љ}V!u!}a|oٗm048v B>դIMoOKe^j o'j B 4)i$ )!}TI_EϸKb@AпjbsT^M sHdO)1%]46/ _GiVcG`PۃG#G32T0s3r9H#X{8wqnv;T5>ӳַ8cWMkXlETݛ}(ܬeU%UZyuZvz?/U15REl/n+}GpBA .?qQN3owSZQ K <)|rCLiR2AUCvM֓\!gu[\W(%Dt5* W qoy/T BWU|Y?ێlӀ/*-!-ɉ$ۈ;U5EŢxܕ ?-2Ȫæ7{ @#8$Ǡ*!|P7Vy:&kTŝP#%&D8Nts̭&@@.SV5&(# }\"RGøZ"s#C>!tGXAmJ!Bk5RܯpEyѫ2%Ue{ֹGMN6ĀK|jtc[ 'Cuj-+X_XY|[X#&qI$V5`LȆq\:+ԞqpZ.G3)FV ͚t;B} Yq_%.u;foy/τ6~IͺG$sh6*SiZT^NW;E5p.zpΦDDmZLZzM#@g2NK3@|I>杈3C5:޸5#6?j(Aw?9)VZss5iBB5J.䀱M{N < _xD즩%{qujLԾ׿&šcLۀ;7: 'T8* rJbM^A*_?!|o[&s-:(hhVpܒo6p樓>Ɔ0Rj$郲)2 s4~|]^?\)/,.L mdm/mX>e EoߖKWWE>4Jev?F:1sZa7YL;._XQ.P_ePD[We=HuapePPTWYYGJ׹Fyo]ҁE~nie8]9c_T GR [&l)Oj㓅Fn=3oߑ*?QoEh>sݾy5'IBVōGf6 :![/N;ko$tPN'/,MSA$M&̻&"IeSZJB8M@L*d8FKvc6JSb[9Y,: m<*V /z=<`/OFEQ xJɮ>&cpן'5f>TCu)PkH+*&.1Wbh)3hA;v$~/_|Ϳ#:,_ {huo)k_e.3xK^`.lߺgwK戲gMD3l1^Φ Քۨ'ɰ_ReϋΉ+]NeH<7ϞR6VvB){g_}flfQ+U,{\ЗO.Q,-MS7^N9uk٥pHդi߅ }W%t[CKFNrbodp_#Ēf24)Blrb WlvLQ"Ge&/q͛<1\ÿIװf!# )kÌaʠʰǤafb my[X0IR_R?u^ƴ[]+YQ@p)B76u Å/1, jjf%OdW?4MD^bgošUh-Kp:~`&i6ÝǔNU*nbC T܃K%II\Fu#d89Ė󝝷5/W2 W/6aq f*'vodPv1U87|vwqHҙ{n][|Wux#p8?>^S'$( $GVPD[šY.\t9AyY2u Uj1ںz ]endstream endobj 532 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2354 >> stream xVkTg1a*Uckn[Z/XZdQx jV D ׉! r).&P"m4.֔׵gХk̙|߼>ߐxA$lYmw,}iwpqsǍy H率FϣQj0!"I>?F1dtdzXɒCB$Q2R$ Yf*/,2$逸JoLP&|4855S?U[9qĨ2LA&VE2I/ΩutuL"EZyCjZT&_PfL]3-tVH$K;2b9&V1D1O, qD1K+C 8BN$w !Z :! h ( |@Khn99搕ަa&p3n-Ѩy:{^Ρ6!} #صƿB3Z;84`֠(ǞGXQ%NMwmuKnsj)Q<8`MBb$wXC+7:}B9!ֹ䧰-R`K2l0L7/iĜ9s\o oN]n L4``YSN#s' O>pڪ~LDR{j** =b%ivq W=l_;\nMQy#;{V`֧7l^Rwg=c,J/fVI J,3u{_`z9MH`QSRj%`K3螁&? '}\M%\UeS־*E]$DzNw8b[.hmN 7@EuC!Ћ׶:lZDWQu6r8<2kZ[0uޝg;{P~T hh_T5D_tV_{'wѠgV^c -od5HZ׹4vJvV@TC6)*[Ȕ[++IxyʭF*k<qcKj*0U_Mv\4 ̑)Ӹ=xS ?pāP]hEyy^]`@.lٞ#(:| @)TU̎|w=Ww۳pMu%ruK0[l ~͟UrN]R=%*:T^^s6kA VuImq`CFA&@潔SR,-&"a46eKwqcCO$Zf|Zju3o77YG39]xX.zA  xRNgY"1;v*:>?kV_w|/ 2_<7*tw;@(c}/~7sJ?Up`)JJvZ,PtѪfeݥy4ƭ{N&[+'*.zEc¤MVkmU[+6ʁ)_]٦miE"Ȥ}$iE2w_nk8͌wi6.+jo 3o;_F8ĎϏ>q%\sϝ:{ƿQb{EǧĿ[+Ms?6:?{lo6˱deܒ4.,+,g펓:J>k3aIkikT簼*o4Y!I4 z Pendstream endobj 533 0 obj << /Filter /FlateDecode /Length 351 >> stream x]=n@{N Xv%kq(JrX€0.rykH,}~;k>R*@sMi(8׊a ڣa msm nUep f[Na 0(d;(QV2I c4зupkO%p6$_UocWo * |MP*`WoU)\*b|UZ[oϿږEyo[wwVjzjS9فCendstream endobj 534 0 obj << /Filter /FlateDecode /Length1 5852 /Length 3790 >> stream xXyt\yݷޛ7efFH ɲEƲ-VLeb mܴ,)'IOJ5mڐszNP3}X}~~P\=K+@0ؾl_Ȏm<ջM~`n<\s9{D{n|IN=kԶ\߷w@Ϝ+'_b/.~+:ܤ fp\@W hlVt ^Qy^',]A_'p'yE *7t[T!!q[G˦;^a@ /Ϝz 0z)!@"ND#GCd"8pHrwnlF=)8m^MS$uK bhDLjcw o veAL_(gz3<}1K4d.shEue^JNI66I>+03ޥEo0ЙiiĪ`v.FƋAN_Ƚ_B k/js*hȣO V җ95GR|Aab3[RbTc|$VF%je[:{&OT C-tRy 5{z\3 ;3H:tU hvFmao]Oڍt341 D \QF.Do֝`[WN'0?iy1} 6g#!x~t>=tWC`lz7$z=qg9m6lJ];:/ =DV:;t b(Q_ἷ`vr +X%Me26Աvmh`H≖`r9 4j{0$YL(/_l9> H/8*g ]QY BGM'^WR&1wl,{t[izaSao2jhBPkjN 47j.$ɟY<&hNw'6 hmhpdd)[ &(X*$rJi[2P#=')=d#f nHyu tx~fBɨe=T i|6< \c X "{Wp#f B-ͩz*FI#1tb&v}{kC CqAAw"1*$ƏthI_ҹJi8Ez"e1+N>b2II4#9Vĥ*9J^fL._5tw:EV4j(Nə*{k"\7>bؔ,\>3#* pNϢ߃8^Fy lL4ht iE&!@ vwF7CZN`Pr=}kzwՄU06>jW驅"U^Zw"CtۜPᲶR-kKG{?tMܽVt v^_d7%o 6"xuY԰5^ucnmZm$Xsq8$55ⲯp=C }@39"*+ds,>]3vO mo>6@hFR#+AG{ǰO.-^H Oμ(g զXTW[(79&ke|t%}Nb+>PBܚSlבls8"ch])[/(+N/dj^P C׶HY}dyAxsBͲbtzV`?+=&GpZiFշxB!ʤKRctҝ^)Y+h \A>pAS6XJB+37x^_-n/%q UHU+_ڙgX̅V]wLzJTǚcp;~|&2zkqHϣ+suŷFBɦo z*0ή?L]Lio}Dyb.p+ιg<0Y/ӏX?9!q>SZ ^8O>\)Sm]U$h9c%UnՉX2EBiMěMM4d[ٍR \XAכ#ǻ[ V2Ɓd5kCo";[[CZAsX{iA",}'PӲ{]@k4}N'*xc@$cE*Aҩo1AقѐSP/s^"w^W/|IBL:W: fO!W^j3lz(rݣpcdWxD dbxSp$c+6ʪk5 IFKF;Ow= @Fҵe-bqyhCw Omo@̏h8a4-~Q9'9X%6˷I?Gjc,0Ы,R[g_P$΁FG`/u0T*;%jK{hPg8%CȋDqį95^R|`8u;a}~'ɥl13[f jfŠᕔ{JɃ<)9 Š+ȟE*x.EFTQxIbAJQM"Z=ARM`df12nV%H3kA 'YN?au>ã(мetEOXC 4$4ޗS%UQIa 8^ZA߾so39t02sUdU*E.OB]lQ,x'-8ͷ%(Sf?BA,XDUۜ5} F/7]}7T"h{OO/A4&Z'{w sgg" kRbWCjhdd$t6dYbA<{oo>A)yW˜NM=jvm'#Q_n1H Zg\zs0Ucet*`tۮCHF8 ( "FN! %PǨ fȶ'WsE=@E͙6WiSD5,$ *MvRbz%ﲨuiQ_l\3o?M,-[>  @X'@`]Z5{9h{Qm9Kܾ}捶닩orxvendstream endobj 535 0 obj << /Filter /FlateDecode /Length 270 >> stream x]1n0 EwB7R \%C#)Q*oPH4UTaG t'AC 0hHTk02:Yk6>Jt92Eendstream endobj 536 0 obj << /Filter /FlateDecode /Length1 13876 /Length 9266 >> stream x{ xTUhso}Ovg$d4Ige VI@MuT (nQgT@:apTDqc~G323o }:;Λ}{luϩ[Um:&4N U,,,.|s _ g-$T.-xռx۹}SEq+Y;ӈR,YD.^:'1^\2j~6{I{=/[ڱ"ހhԲq~u70pm%X(ҏ) _S~TSȸx s4,q+$ =il[C*{x a- @28 5&r,S1I1[Tc{M!|j R"!z ށ^!v^*n$ĥ^,SSVA'Nf:G2M<`IH xo$| _B$tS Ǝ6q)x8BHMvqg-s M>O3Q5Br #`:47#O/q8G 'ar/IoṾh?oWe 6;WW=ؐXmk3/DxX䐏<6||{xEs F eq!^Io58|i&^@;C^!Gk8y|@Βo)A]`*$A#Kr\!Wǭy;}S2N6WlrƄAޡb(~@Czpn7rZ(@-`P9M9-t:¯+pBK;AYVa|kqM:=TA@ݝ娡\n7.QȖPxrA(NzjCi mr4OiPƟ613[ k`1=D~z)x3@q,Gi Eeԏ<Es/nR<9i3j=bC%tA#GvW}\%(&qL4{BA1wՔ F. s w|W;ޤF>L ,/Bh sX;]E!6K; Q:лǽ4 >%62LE ϊv%/#!*rQC&ϔз_ïot0< h,ƭ X = 1FP(ƷjJql܀<,GnP (AphA~ސܜ`vVfFzZj/d۬h'Jxȩ Է">=0jT.kfcvZ%2`0Rλ2 _$_B9/r66JqR}Ta]_cA/BZ}u[tյtuM]j V5X˺HjMAC"@m]eDs#&6պ97'Bj" HD5o!{X9ҵ!j֠vn`Mnv3[uk#ך8龁nαǚ]]"'6 nn9YVUKo@!6Lj7ao@i]䋨Ձ]ZQ5LZ%\yp4H;<6]Vq}#9c\IDEXi:&$rVktUq!'M|2ˠkNL\ˆ0#4Cz3;#O3|䪩x= F(jPc.͹%J|X`vv< 0 ΉM= 6Gh+9?bF:G>@K `(ӯ 6s݂bɁӛ|u] 6LԊ]K"&M5Q4WYIO.ܨBV)_}:*Ղo>/c 6#Ãڃvq0NLRGUwv͎m!ueu׻#%hd0Y7yzMiԦ9'DY̟ Ÿ XGJ؄k:>BUCV4;N"{1`D8K엌ӏs<ĕRM{JER{#ҍ(͍(B(y8Rxa7;wxg[ۇ7j6  xGmXvk,~xwb!:VV͆^dT x\:O Kv];6Ce3t3ty3tQuu8+ 겂*#~+j _)dZTAPœ/(Ozw Q%w[7Ƌrֹߛ/{E*3T$QWRCLE"*,JҠLRjjR)WJ%*Yd R@+<+)k IChhE5yYDL 0) 6DHY!pcS7!4c+BE Liuf) $瞍D̞iƍ`Qi0Ԛk#8Dky192UĔ2ZRW{逺Mbkt ButZXHtAt#nA!ьL30|f~hAhx  ࿸Ct׬fǗ@];Bkd- 6Ԑ3Mzkۜ%g@{GV1nX]7{ugLxL]`vm󞑳w Z庳gddl~dx)%Y=1_=TFnu 6ò ɚA:6[[ņp$vJM 9֔ Đjp-ſDX1cf++:VAVo^7G hyH:X l ]jm%L:t\1Bpʄti1}cߘ2LArEhR2U8PeXqԥRKq}C }HB 1M0 y\ 2#@hK 0!6P=ɬ6rn3[+̲q*y{R*`BOA"qVlw)d5\*CFӰa|BLҒ¡6E!V}ё4^&͜3ӔM{>LA(8j[ŢǵjS'cb'scWY*r93U&fɑ[F~(R=H=2,;[ .T\D3m&]#&vN8sd[ȭC폱чg#<@Wq#yy׋ ~inF?z[NgIlgo7p %u'x.]-WouzkbYKy$u[xNT`U'&ܓG\!]Cy1iǐ >,@җ®%WU-K-,ř5`J &!Ⴃ40P?T6E*OyCϥLh^8*{[y? h PM iԌ@Z-dlf%M}g~A}i6/h Q+SfbD` =´P~([a> NwGcxa2 *ʱP;kP;;x@|TIJ@FdyD&į8XgwvGmgZԨ= h5K8^J+'M4Cl^iBS}4jiazijٓY13k:7=>KA=W{T]C ? &Qk \ƍo~ժ;>&}cأ_]^¬7VV#eqvl9m[t(}Sӧγt|MLN.e1ޥ5 -[/_n90wDZsD]p.3oVFa4>2߹ّ#eᴰvSv΂jR3!P@ BX.釴,!>\\T!>I4 a2{V,^yxVp%lR LЋ&y:/[+1MYNQ9^%Pwމẍ]3Dkig-e Z?/m}]Hfl.fSL&;g_\0|Gl -3 '\PgYfgSi. R7e-ɝ7p: zpGƒ$dޠMr*LS >݇Ll.|r*'r#>ڠڮ8Q5K[uR%SMH?88΢كU2]V^@P2:}%pzC?zkX)͜EJLdA=вQ @:+n}-e8ʌ|xoldv]~̂-6kn+jMlGFp Fagp:r\$ o~~-f2^a54;җ˒CF_2kK{=9|)!tjr-ybED14NQoMJ!?{~ǟV,4<I}u!555Jnܓ>$73%YN٥rg KP8EiIIZUKmaoqFmWSoR,4v/T.T/-6ٕV *<`)0i蝕RdʰZb|hEW&B?=9v¸= uNn@P;L-u"Iܖ}Gԟ(>Q}I_N.Md$Kq:SҘ r8U!<}5S´^ ;#pUh@]cU.> |jع:b}~bK:Ėӧ<~kr'o_vb=rb :ަ;cg[1-'Uzi~c̊d#{,d } Ǫ,wEc̴TPd9L#f$ԩi+ n^qQA\R xu1 8s?؂^{{{6K|a?A~L~%g$L4!)Mψ!~*YgtI@taB K<. sm2c~p5I18)bj_,U4aaNUxT|VBџ/ڤ1m UlY+k-,[TlMe?g鱨(@zAxD')aP44?)'i95pFgQ3u^7 %助ÄF,RqL gY06Y$YWjA33qfJ?Ð`/%[%>I] aSR,+6i üԇTM[ vGň)!/qCe/XRPe?H bt"u+W`ZݒtoңINzCsF#+y*y^Ee5 FEfE3a<5UQNȵScYG aKNRKހdC/yYdF/䲔t$$}:@')3Itfga[ѸT^P^]--NH/|6YArLre+O}Ԣ38t/V) b{t[O4u¸4u19ވrl =VLq)*kZJ?zi2΅TZKM| b[|B9drǣW zE4>τUYOyRAQ̑&5RKm/?8mXMzZd43oInK> ͉m*Xq0p/_w/Z;,?CR÷Ry۶#)cEī u/r'dMϔ/SO<K~E) &â AG>퀋^rRjmsy&+Eq&IȀk8(A54uXLz0Lw@6IޥܼAd@vGv}T|&m^׼KQMe%RMendstream endobj 537 0 obj << /Filter /FlateDecode /Length 10177 >> stream x=ɎǑ>mn+Wty5c[|֤٤lzDDfUFdeٴ5\"c/qP+>y৿isy`\>EݔGC4CEo]ܾf~{s3QjOư} /&EN/k4#i1%`Q &e.(6#3== @sg+nuDAH i,C**1,[8, qa>#sFk?UVi D9cH Mt81X@1//zcm9HHoii6 wJ"uIֿ6Sfp@yO rp NPl_zFqF 8o%(:=`b&Q*;Hc?#0 , ۾^.gLs`p, N0}vcbhAwu>ҙyT,xы~uUfɋ.WnO77do&:Ti&@Y3ĩvGX h%D'Nuo߂I"!]0imL l:Qyf@fP]p G~ > 7 ;#>60ϺJRv/$zgXZSOǞFyo42(H\Kʹ7 ʩT ǫyN'j!adTЫCK1Ekc, PFA}+ >n3\^Y; r᪊\Nrh@Bef2dL[A$3N;CpZp !o2U$Hg↽{Cě<u#]?6ՋJݡ=u`ѽmɇ 7'w'6`4QһC4v㣃dDI4dmq80iPZ_Wn1~b zf"F+5ܚ/#(%jY˲R<=2 d*x_@`Fi4aex/弖k2+{ k43,'Y4{fZcW9X$F,zaEmV5ՃNA5kJm$7+ǺBP4pǕ/P $ mq94[U#%3bOKvT7*Z?PMW`Vv~rUl-!)`kj&ee ^U.j[rz],:יlah[0"lu\>;pVrb89π,P}8}ɧR˚@W ppTov6clZgU*_nag`ǁIL *O50$ ꍍ&SuReC ܕAc/[VX⨵.* ƞ7 `۪RvR?96z^[<+Xoۙę!FP',J|rdQ=(| tGVV}@xK(;jp@&FC.btܿ$3xE44 !0H0hv#?)]g%#Lmr&͂Ef2dƮ;I$ 2xb-Fd֫8|! ĤS<*OLJmށuiY.m+MCkHvRd\,$T/W21 &z AUoGq0c?L ȕ:B0@(m⠍Ok0X@âK 8Q{mvЊcu){kAIuTc[S˩Co\4ܥʝOKD$"iGZoos Dⴼ5Ⓗ}9)ޥ?9 W@sre )w=Fg:S .ݯ`q32^XxB#¤M=>5 $\8"?>OniU) CS<ˊ_9ri"xBI*x»w-ue$w,U8&h1rK.XLWJ qϹ)OyO!Ŗ5f&7U@bf_f~گ$LC:h& v Gc<`}lE H؊r>V4OH5uYXwqRu=0KX{~9#h@/ f~5Ơa; Ub"Y8ᑺы+ Y,_}?7nx+Q]tY윚*L? Y;CUl2oVU- {'‡$o890sP^5{1U%r !vBHe;pL"W@f(vpiͥH6HTG2Rɍ>Fa-y Lړ61;&M,ZGmk}h2kxO=w\dގCVd8B _ RR`t2tϞXy>,/`EQR^%&CGE1A, 0͜sx!$ $ZeEL5eΨsĂR@КƐ=M1 m/n2=ez8=iJY(Om ^u @xI5N&L}47=F7ӎU?wJҪM'`9qJ^ͬ{cg{iL^}bR?HR-R1r,'FxA*UGTp%OX $|Dש3ddmx6Q 4d"4$0֩x} .=JJU9*{HC|-Gi*!So~aKr FH58EJti.Rrh{-k } Sb,ie2w`-QsA M$}N C+F^?J,do"!1%;,8^t ;/cֱ,Vj" ?ǹ8;R||A _^˙Ey@w9]L%q{YI&k*v軸j4i9fPdZ7L'^cU钣ATYN, |F?h=>ANVYyq{ٚSfyiM+S5xm#nm@ !`0*wJ~Ø1Gw}ɼMEUgt h^,i~\NfQuz50В~rR:A&'!h,1h l ZT wCZ2kkt?ֆ) cWS*t*R`j,:GSUg,HͲHlǰTq{9kjc{ `=7%!To!AdqgdaJAI9=1\%IɶRxl;DЅt:\Wk.LJFK7LYwY?Sa:$`xsWL kFtRFIt'WWxD;CEn(&m ۅi3N?90M7D"vޛ-v{^Tˀ:|znRkV+NWޫqRGױAqQu[jpv)9F|Bh $ mt8KSVפg)e-M-T8XJґz,etg,=yW-IzDofyZx<}Aư*3AϪy{=+ YGNU(5Dxh 6tD9Ⲍ9݁ tiI|{ñnW0Q=L&g ;9M,ZΫz2ohdgwaZuȟ,gfB@iۅeWuU;B8C& GͬFDJ%$+t\i #]LJtfkld݅sg;!|P#XO#i' pz6ٙw,Deg6CWkI?fZ4ۤ!%ߕ gCUF'ۙ>2#vʖT!5Dڔ?^Ik8K|bWʳ>ȏ.̴Tp^5z c0$=GӠ̻7W$^ |hP)/*J63 yX߬˴BNtOSnnLZJ|.ϝe NB^yS|ħxp/?- jԑCx'P!vdT;9 fi?2v /(mp` nji9E2\cBi£X;A#GޒErJ"ӱp-p]I[Ie1vv"Ժ׽2dRtcf){Ȗ.N)5%q?)f wWωl9)kl-dHjG=};!z;L|=af RE}7%!\2P%=e-2,`GVHb<*Cp񷋙<ϲm,34UbT~V*w +),Ƅ,gE"47dP'< Қ,M_VDg"rȾˇ'%Ę@\Kf\Z3޻"2s&tYdjF6V{T]nt&̼b4W$VFq-Kg[bċ@EQI\%seWlV,%  %-w5w^cƠP?7Frl$D'<k7(LJcp+- J@LI Tbà\iˠ" >χր8J&-p-s4126 *76 |2mQ M_"³}rn|elȚkr8|͊ ,>w$Z% KTN١C;СˌM+jB0Fxg tNDAXjR=E'DП/IOhQՖMcF.Skx|m7Ð\Z>"SpL`0q=%\v8>ȱk讪%"Y.obd&^ו䳆?]} Yiَf+c%ψ I.*r~U Oى#I{ T\ˈ$MNԭ:lF>(N)kV`^.ib=詅Zd S]Nl&n]}%+tEfnMX$2?-S݄\}= mܘ1a]0F`zrvn= C>IO|XrxO.}<΃ʎyT?;$c(IȺ' O dBLޒӫ5`j8]fv ,0 ˪ >ptCz+ vtkm UJlrdGвt -ԨS@7baזj4kҹ6ϒ,=2pjZx7G,_lH6:4$CsjԱ ƜɌA)QMu r?w-QE A6'w!5򍳛<|\ɱaXst)9TLwTrRr[^x/6H 81gs;\Lj;a&VA}&. 0id TXFuw Fu#ٯe'&J6GzE20db8a$!$YU_/7*MYh,0 P0ӌ93G,o9 S`68N?]- n} ۖ 9Qt*np[udkQq p;%u9a9_0;5&IOw Lo-5F֒,n;N&"f!/Rho-V`cM|¼%>wnMtq 9Y{yPh0GNc>Z6&#Uw FGtqs?+kٶPԲ^UɼsQswf=m^ X'j'=ֹrkXe:㏫ yM 8J`]g}D<3yQW.U_-/x Mc n~1ś!">Y*:G]{ ΆY2Bj}6tpЙM%ԫ2N@'3N_K 6Éwf>h51qLHafM 1Pbr#%>G~UC/9b%sXu%ˆ s9l!&h}ny$5W}_\ dqNyJohz<`+Qs0/eBym Ȝ0No];b<:VEcҡex`ɷEڽm(#p 67M(ũxQ<)v]˧:ڑepbV_'Uk9 T&[o%~u ²,?Yc B\dem!Aav`eS[hgӇy%XX`rvmK`7phco)9ϗ;Uͮ| ?Wl"b׊gsz8`7m[JnO)an7prMySTri?/OK"X}4HEO Ǩ(+l|w v/'D5C5_b&0` ,CaTT K{H.MaviOFOu=`)H׿I:łzntZ(Yǟ-Pqk +qP~ZM[ϥMsKV[U3zVQe6TO&&KZo&w$=Vߑei(~G tP<(Pq&L<T/[-Y-p@|~n6\`2949&s,m&n@o_rD UioA[ҭ! Ƕ냨ƍ05OE>8(TMl=R(=aPwNEgHg lj1)iqXO`1"Uґ )\Q =5ϐ5@.4V"aWLP,WW'8(T e5BD?mD<_Ko9/$fBJZc}ғCKXh.xGtpmUƆ/HLg]#sfA+6xS?3?Í+U*=G7&cȷ}= \Ni@gMc 4[uI˅)JvaiT-]d̀!d `l3khˎ S%Xv奁t!lò:8DYzY~EO A%3NšF,hsl64xښ^фb2K}C*0'@s\8b$/89N&))M-}7oGh>q&^`EHF,' ԼYc ^eSʗe _LKje xtSa"V<3|)a=52c|A.WQFo| eEzQa i)2/i(xnIecY <04 ̱ڪ[ O⛜%RxNh:n l k^O"F vE2cl'T cHt:i_Svm ΪhJ$Hh .\򉭊=ciyuUׇuԅ7E^+Tb>߉=9|NFɬQy̩ȱcK2y`sU`AgP2hAM<9Ǿ u ,=endstream endobj 538 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1049 >> stream x%RmL[e ] 5 PD)JCS@ҏ|>2ƀm en6#IE1Q?t˼w\L9INNI"H;QZZ|<?GG)"j~QL qxaJb~JbC{3tkbD IۺՠQ44Lj]s$//'cE)rJR]&5e[26Ci(HKg k)RLL%g$x'Ԫ6VaJrMKĞ+6T$&D5:$$EuHD()8VHC? ]PA9 =r#P 'f6l^099W.*sQ x`KVggLt"(@]kT 4_BkOe68d/ixSD~ů%f*_g_-;eW g IFӗm}HZ(a?VJ( pNS`ג{MN4PkD鵌_]p5^@)sK[֞b}<=|3NeOmqX28jɀݡ뵛{)Ùzm ַ݁  _GȃqDO|Wj * P~pp/h?ZI/n k%T/l>]WTyzkͿ>-GO΍\:'_B6u 8_C&!>Xܸ}uyoE'΂CM0v]^p۰V 6W7%UJ?r(T+Pq䋝0#flG/ j3\^ҋօ>?_W~_]n;&rP(XMn. x7~[E(K|n, ]dNM!(ma@K8-6Oݻ#3. Ygendstream endobj 539 0 obj << /Filter /FlateDecode /Length 185 >> stream x]A E@i1iM^а(J^~8DLnDU xXT1*U#_<4z㫘> stream x=OQeBjA&-.\ B⣆İAML4Vi:"vQlk[[wNtƸ#qĿ#&,Ηl6!Onj/T~貖ײ~yR53nj_i]s] aLq>JDfh8<7F )6&Y,6Y"N!h!Q٨0'fH0 \!71QOb.&i.cGFBxF 8t0c:$l7Q%ˍP.c]g41&ɴO&V4OEz:&i$=fI' MR:{ ǸQYX3bV[O3Ͻow+/orqS.ۨƈ;E2푵uDwza15W̽|ݟY$\+\vEZ^I֖,VdkC3X˖˵B{^;ACUj¨Z*cH5/p2aGذ螒U9t([v1' endstream endobj 541 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 740 >> stream x-ILah)#VPB# s!a Aa&JEEF6RhiHKDG.\q?81/_0 M_*L8&J4GB]_[SS՞(& ԓTt&g`c>,.%+䅊jNK1tZG6>JfSe)FRyb)SkMezJlF(LikzKTk)Yv|Z K1d^C1:^)ZV=%ƒ5bHSdQ#vh+*#i_Ɖ~'E 3Co㞜Cw`4?\8 '.Cv&6U{|/y8iQКMǔ!otx$U,XΨc,%8,Rp2 0\ķ;:ļA7t(@|x hZ\#މbCv:߮uw=[F}nxqsn9:_KfDUR5wߥ)< J" DOZ qS_ .4G Ǜ/H >= ݹ(_ .n$^|܂x"0vϓd1TNJؘ ]3wQ=y@ lDx.> stream xcd`ab`ddds 4H3a!TVY~'Y!nnn? ~/#ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*&s JKR|SRl  L Yd?w1?7|/{Ңj\lE݅KgZ|EVvO3{5#D,qs'Ϛ4sB|ճ[ۚ~+_3]ws8̨b.ПS[DnY+_X\R]Q>f9&O9yS,>yF-usΚ1iifp/it\/b^Ľendstream endobj 543 0 obj << /Filter /FlateDecode /Length 9278 >> stream x=KyArS9džOv&08N`öAK3i=jam,##i`۪a6Am&/'?N'WOuOa䐦6O_M)ھK)}ϽrքrS 8XMSFXe'\mܾ7NKw4]\k%޽q=C=6/}17{uwcI{Ƥ8ywO~7KfަKǴi` &i0)'t9|ZZΩ^~ׁ~BA؂!ow 8l0Q㷔1pJoOw8xrSOS ;\4o9Gm4ⅽvi{)t|qQJE@rӷ@Mʆ1J5ި\쓺ͷd\ˤ#S/;A^ёiN\(em!tmODpF&/G+Td<[.( I-2ѝc=btitg><<56DH^[sp6i~[tqsR4zgd 0F'Ǔgu[).ض~yie/L8JG]7ו4$xY7{Jz_xwfyӒ` 9>v??"70xo$q8Y%T D600kN;PSuɖhO Z-Hې533k9(kκч⇩%G G }ecJWlG`j$ҌȘ}YP侦;eVZ̷låbb4=nST@aAuR_gD4S'D D qɛF6: +U®b*+*3*~3#KNH5g@\W=Lm{)X5ךFˇ|L)S*r}rrk њZp% c"(z$Y<(߁| Th5 v۩=y[יt !P@ BL?7=ړ"4Y9NƠ1߲P P luHc5R 4_Q[EB!U@cjU+)ZߩRwRP_ LdG89i>DDɪGW+zl?>}'욲[6l>e"Zq}8N?lYyets4iuS顥GmfrFUgs3QmJ^W7J:8{-P'Pm@uhI<-OK$.QfG~ C@*F7%fCeٿ!5:LqӴ.?I)I  utVǺ׸CSw,9Vښ# q*\ē)umm&uFݙo:|G_pN&aVЎa^Id}VpI&B'@EIx=S:(&ǑǠ`h*<C,j[wM,P~V) O'FݞFkh^v( CRZ0 7z_ƨҳ1h+ ljIKm|Zi~'#A›) ^HIj)qě4:zp2%L?㮗]A+ kZtj+Jլ|s4]JlP/ٝ,*a9_i/%qXUNu5vT}Ke/Ղ3/qp& P-Vp8u0@0aT 7nͳSpQIuvMCϽ2+~@̊r_5#dpåIoWcR*l!ckЄ)*OsNbc+,d%ЌBCTjS%SCD4zWDEOؑE/@8a#3- F˒(GJ6cQ@GH+Æ[4< >@ ғmA.LK^e1o4}!a!_b *+&̑)Ǜ`R0Kl5bL8Mʬ>ZG=ᾁ?lG``*9k՜!;E 9uEtX|r%|(Ql߮ݻy;dƨ|=Zw>uHt}j8dkycAQ,6SN ݆؎B*3̯gkdw:Vw'H/-qGtq8@UUbE'^bipCMsCB3@X43ݥXjFJt1#Rz3H ,{dTMɆ`g[07V=6WMFW'@QfWrRQN@ե60:;R`{ 8={oy:eBSٳ4Z:Sr=o3bBjÕ[GgbZ?t9VWU;a,^38`a嵪Ϡ9]32Ab7 M} (D*/8^-/ڎEE/Ezȷ]aۦ1n%GJB¢E* sDk Hw]4V//͡|0&(ؓg5Q9VZ+:m]r;{_f1͎QY[郂^aVc=Fi}'oqAq{xJIlK@\'eqկ{Uq"pa06%b d#Ӈr &?\%b\x[jmҤ IqR\ ƅ .!CYqXlѩtXDoLYwaڜ\ A[OMZNs 00 ᱛ_ ) Wf6+ȏ߀_CB1@/9ch7~8Z0#-D`9m#(ǐ;bbqTo5`-fӒ!P̉A6_HC=3 Oi:y =4e8gƳuas4 _s,1I&d|̓~`F~j'iUbc㺢?Cw}>y_E.$g[8\hɯym.ɢ:.qY(hWs`^j*"5/|9E6*gDN'MO2PԂ}]-9m%"s|:!90&0>rbrܧ 7R\L8, ·h-h\@UЕ~,\$ QjlME0ZK8t-!y5m9^ Jp>^5Nc&P%\ud) Qn8%ά&+:p X H) cXf&vuN U `6&j>fŒGJ~ MVΗA阧|+%)Fb̅ʬ9)[{Cyߊ鮔 3_ml֟Xp+ᘌS 79+葒m !_HR轙*>1IS&')'5oaZbPmMS@,*W!J0*Oy}Gx- kAwU\@O8yrFڐ:Ȭ{W(+&R=.@狪)LSz@Yh|M{XGG/{zWSF2-D}V/ꕡVV065c0?ɧ椝]өA``ء3:ȌäT0&TR@RW+jQ0C-%ZN%of]or/qm5ȊN$TTٳe@a|p!lϯϗcsPf!R',~Lxk]@y?`4`X֟?@6Ɠ!vdePJ+LD@?o?]=֟7m)jO#ZZ %[0jEvrZ֧d`墜-?]duFj]L;l3q.>rl<7*`O]x{DQmCMNS ˊhrhLvJhguMq_eՎYa꼨*g&Jȉ8{Y(XME6>UboqORRk=39tN i{mZoPqc(0{`NSOU|=8q[8q9rQ*nXkr!2Q,m;z^˪O@y|84!o*Qα`)VzJ@"㓪]iCq' 8F"jzVW&MA&Ѵ}{,5KaO/KIY6Cv80-Ywl?K6Fv.otA$JͶqCwⳝ^'gg%JK6J׉nˆ|'+Wҟ:w/M[2+M'zk鷒 $Nyf;矷7Mz QJ`Msv $(s}UGC]Vc-®[Fq;jucXh|]E ӼZήlφFU \M!z)Xesm=z,QB<#'7e-2a.5(:.1M *kN4%s&j*ٟwEUcgT6]r`+Eh@ t>mQl|KjJZPDƥ.@*:%VU+svdhǶ*oԪpJL 5d/j`eD##װ/^^ҎpBJ#>yIfDDj(qJ (Kz dWw,7LCrlgn(g^o GG<"FSsuж\ZjQEcۓ}OϘ`qg[7fuܬay`jΧ=$N0Q5$9W*$侮p/Mc؂uT %RaH=IJFÙ1kz M\%N|Ruȸt}O\K mJ /m`҅,Vn vMP0EpC&Nm $r[gTyKzfѺsi0%jrneU):qVrfdQ5ѐPZcr+exX?=kjN>Em&i?"j&_vS^'j짅|[aϣ6dQc izx |>{!+6!Pʡ&ygy-\.d- `` IY)ttFEoxdT8K KE,Fj pGN`yjl?0\i ?x]y yWfO ƃ/V `I\'Q z g4aV `칏֏H9ӿh!y4ğp>(o"yq1k,W@u`P5.GlZl*u'~:k'w'Wΰ0< 0(x2{ɗjlLF1hrnuջIҴ8JSl V(7Ի+l++(VGrSh ~x~"D"R.r~)H Mw(Qi.%eG`HIrEXPIJZJEDIBpJwg=sZc${_ &%$.*w2XKF)KaR#E h6 vln[Ȉ*67m̬4/ed@d^8\r> qj : doq|% V467A7؉8@$iKrQ&_ ќX6l+'+;A4RÅzX{K` +ϕ.UCkJef1rY_McђĚ(fxW}٢vj-keXs0aFEp>dfMYmàɳx2a22xScǍ1C:tZ~T݈ρGlXUHL<߬Huw3DZMQCXa9U=Msfj/4 vYQ1LH))9,E(V}kz'fe wLM[TlPA2aԱx{Lr2L޿Sg0sݗ N4*Zhaz.N9W 'Q1Bgg.;Dyyx9~*DʏC]LW΁ R(*|J㙦]IwbP6qQ:ؚ(V1u$una򄧬rP'U 'P~%qo6- ـNƢ[U+rImN]Q{G"@>Ѥj;tҺ-o^sמO;P|v5^vq.rehy:P HB4![ VLq5)g [!V+UQ;]W'妳?_ԟk#vr~9 UZRP"sITVScyW?ϛ1M#I@0a#g'SC!.bOcV  C7endstream endobj 544 0 obj << /Filter /FlateDecode /Length 7840 >> stream x]I$u։'6+BCmA /5aH>lM3SiDF̬n {/S)?ɻ+ӕ?^ &)wO^^z.8ewO^_~k:j9h/iVsm/٧~lH^*erONi+|i~ZG (?NysG^ las>&S/[ît0~_]kWm1ʫb蜌S V%q/(dao+L./t6k' Gkͻ@-ny8w y2pO_?^ӻ3s\' n|JG޿j+aˑ냳jJW8I']e_Y9k%iOԑ&S@1bHZRw< <5D0^6$EIJwDuJ9<& S"H$e$a]qlZ3c|v|<_pi#bjRZy rYwkobĮo5F?e<۷m2g(c|b{U"S[۹)8w<[(ؔ'1O+׈ \pV;L6uawv'$5/쯀?;!D#xlBּBx9[ |IݳfyO8O $T {8ѓb嬂[;<ҽσ9n8+vpeboy̼E{ݼ7 :NlwaL@΀~L3Lu=mG^7>6Kz|R@upsM>ʞm r{ߺ~4V%dFRdV@Ħ I(+{ JY4=I&B,R~Im~(92yw@V+HX3Ŧ)acW0X_p:ESJʆ?3Q*u+m٭ѭda% ʁp(V,ĖJO1{mRR_"n-±moMVAKi HBA*|6R:x-QdEN#xNDِ"<-0~ `:SU1u'lĤ?$"YY v`o@n*ڨw0} ${}S0ɫmzO69O HG QOz"5lb]:!Ղ1Iy|i#l!ׂU>L^iJ<V _&L刪|][6'mH/g~:o f`&vϦm/5,S 4+XY[ 5|:6׃Eg'](pzp޺8\잕%K@^bAUM$ r0Vr AYr]+z&KTͯXߓ0*~DA'[JANA튦`/49#ή,0Bulsq'SfY lYf-\tk#Uj{'+&K,[]Do&Ge8j..恦wa_ Xi__l_SVTvLC;xY&Xէe\o,RgwoW6N:7#m}4 ~⒝z4lr' ~YZo…&-$P+eeQIW.P|lmYww .aVQ|77쥐Ǹ#_mP.U)!z90KjoVdF >>H!lMB`[_:M}/3f y3f"uN wiz" {-iZaEQ)RI;=|=-ԚZ|c `. hbR5汔0^"u<Hԓ:}8穪I3PTɃդ~rɬ /Vqp6 ,MJR0Wc,)SsG#)o,^K& iDU>50/f3ΧjF2>ږ-8K\گN:XDθnbl$Mh! Np1 m0Q[p"\;j\Z=QoUVm {T%~y3Nx L(͙ . 9XSgPg%hDP YfEE= p׽J}C a#}} jHag;qw옻`π,}nՔO=\WyiOȪfxvrZ6~ϒ7\mBwBk4F3rPa` i7!~H9|+*@qo!KWY{q%_rnz{~F{L1)1' R )@X09U]P9S0BUV„ 6FғLjJ{ pC IF.{z (4Ug]!y {3㲑0^bƫ 㵁aos.:FS*[$j_'աRt2Nx'jCr6s\F-|(pn(: +~cHzQe]Hb&#u׹-J¿cg/f6\4g\PHXE$"هٸf 埧)F,ow|{H(xHyzdx\0/Ӽ<@d0߰%$mLe6VZC6vaM珌5Z-> @$#e[ ^0DD? ZWv,丅^~=wnϛN61zCaP{Yӽ:eAs`]hL9 .[a=%6%r@X~r%8Oz] ױ3oJˬO)""k*܃Oƶ(z׈Q <lfΐC]fZDY['Ȅr6Af֬UZJ9m,AnTu'|uPL *dn 6oK 57ٺ4m=85Jc#aӭ:Sp(StHHĊ`FqȞ_EElXHz/b?,)T!e˦hzyM?K; :ܻi*▭'FN}&Jɞio-17Qpe,9例#  l*^1 I`ѽ>NU0*"3I$S:5]AQ2fB1޵D֧TV bqf7/v}Wڲ"#w1 ;ߗ f 8OS)w<> ͑Ma>c.+uDzdۋ޸Tv;=<͜SM&bѠRTu]_pw f#fιo9H ?Fh~a0T&μ7F?W+% Ȩ'V-G Uf>E*1kyQŞ DGD x MdbQqǽVjz :a7Px;RyO`f6,$bR]ћ) au4[:y9󻙚},@g& a} I~JGNF09l m8o#1sE$2. )7oSaXj;, N {䄋mopꑍ{(Y*m1]4s;9}1X4,hkǠaz@";2%bQ!zH^Ul" ;^ h3x$=A*,=ZGe™ Ev[?\`4E{UmJ8|po+-eyeXƙHٿxmT lNX[de/Fg7L1܂8aքČ[޷NVuqOmNaaoܧ́цTGS@w۵|a^b/Vd՝4Dԃe;_gY6(.Fe\ޣ F+{ppTTG L5kOye?pe7ݛ_.KQS]wHI8D8Hi xgуnDrxlc5;m-}B<MT\m62lĨ2Uz?pB(V;VWO/-YUDR1%дL֪~Sj5d4^+"R ~e6:Ǜ!CEļ( [r!ݓJApvg!k^岑Oe [s(`? drgQ#0Mh0E<~Gb^\o݈#47Z^N:Zq:3! !.;.x;NXSL-FC5'B6=zwas~qqM]/ͺ€M 'gU5vRT [`zL]FC.ˉ$ fXR[f,\ ʻ q44AN.V(4D] 2kWrŬ$m tt⺩nfc"(m@X2x^Wҽ^{(نq <)}R;A)@&J2e f%6.p5 9 ~Ϙihc[׺ZE[,s<-%- ΉIta8iEߴ:H| p5.2_{Yx"#v^t燡.al#.ݷ"ܞIZwx2( >x&B9 _ŀz|38cR "_.-(eVF稦hX-dut_#Z79E!"J&ǜuSL-aҙo<!ZʄqJ4A\̵2ɝ@023P`]M H (Q F򖲻cdǢ۶KEl<,9fu>9s<+u{|MN2 xdlzwCEꁔe@ (#r&0>gΌLMƩ_B <9^'以ߝzkTI[.WM?W#\czIdo9;ζ T>Oܭ"h "mc$NBZ7t/XsSg>qvhIZwqJ84ty˄:a-L2CB4ob )v;@ .lX9ɹ pqS)xK+Qϕ)kKAQ@G:+ұgOv1bYnh:geVPq- L6/mI,sos>hk79Ҡ۠E6b&ajH`ÂJc2g pY]%oiDH\5QHgh›b?:,N b4s_LR@C粻ͽhrK\ecfUmn`ZIwe/vn}swwmGVv2# ggC|ٰԄ9 1L"KW NN`>A҄ G-#DsգCuz4Iݢ .we˪gwTH6]s֓EfU&qQ.RQ%O9ͯs5뵹IH?PKż5Tf45('*NV).usfռ܉`0Z^c}I&mVn_}œ>6 +0)āP2CͲ#v.j9lf9Lw8AUA  93iZGolʷ^#EڛbsUO"I9WCXu3{m2dzYb/?8DíKx_ k%%RosbQzdu6C`ۑąbo#%Y=Rt-r *0)*[]TCՀ\ۢ +)+W-_28^ֻ xޅ%)@۫Vendstream endobj 545 0 obj << /Filter /FlateDecode /Length 8314 >> stream x]I$u$6a>:tR/$Z`C4`T*k8=\ދȈU==$,fG-["ˍFO^]*n^^͋//$u族vd"U r㭟ǯ.ߠM`&m5եD1}s{+ 1:Q Y.wQ)@׿9\BBTn Bpۯ2<}i 2G;"a-,M1ho\T'D?JX"yZ8l6S:{2:)VIn@]Wu4A" 3=I{tTisCޡLCԱv'P*Rͦ|5\+#{h l) m66$m!0LS룺oY ya{؄!vOs͓I=YUBLiύ0V鵇$^?VEþBu$dYa2l__Z;)"5!'+gi8 zH̹C?Opc+Ls5\]FI#u,D;4mvM$D<  !yePUQjVLA9P@.#@> NZߦF FvE 7.#k+ af M DDXxyPe $ !s>z($^*%> 0?0v+bl!q$zR}:$j P S~%\ I+ sy"'F\,KKNri;oqNy *ZQȺؙ.%l-Idq(,hl@2g+oqvM= 6;$@Y4HM"aqv%u+{{SIFԅI6^ rh)lL_lve3#Y4ֺŎS^ Yp*m~yϥeȖ0\59؟ [1.}7UV@]Udz3yxW=#/UCs4A$'%Z ڂEA4$0q IRF^K؀4]CxNFfjo= !&BIEr 07g{]t]ϷMrD/FZMK4=?A$תVN%#ŹWB!jf0Txvxyi[3ThHH+r@\Q|KЁEPuϬR<A: cP0M=سāK t pzn2D6/gunUJ#d. ]ƒ3 "+KE ׳CH$'3vPYŊ:"lgVBML)xj&/_'wlBm_ؙ#{U Kq~9&@y7N6 S4{dO>Wx_lmWIF+xݎIkJzXץD 5Df@(0a\U(Ɠ;+OzΨ&j@-cǭDY^'90Z&bNt)qr֥@qUh)3 g ti0II4(Ɨ{9}F+c#MY/ޑ); z]6ttna0 Uhrol!bOI3Q l&ܠqCf̗y~B;BZcV7к%44cA+hq=mwlGL鱍n%UYz(lAeY 0| YEee ߦy~CQ+I, ]B]7}Rw@lPbj;ōܥ@5a7Ok=ABx U=2~#bۑfQ! R9a2 /J.~sH @|`1zY ^ a& 6@A囜b#64.($hQtq%oQ>>}&fnWR -૜Fwa+`Q%!0hM_b7v4qÚV5NQ*%^#֜{_)تWqDr-m㲖=E[Џ{E 4ޤX޾c&=M9LJvxw$Ygj "r_LP2ޖ#=5.֤KKqaTa2mˬQ` Qg^] )20#KY!q} wΗ.)6$354A=l k̽ϑJRmaIroX@1´0C$ǽ Pym51<6ѕ(AB ӌ)]e| JQYF)PF%8wsF.@[s-r|Vb8W'x!:0";E-FH`̇*G+JоJ3ϵ+]aQhQdOQu4&AeY JvђSv:1% MR$ )qu7Mй-g..wX~SjH8*WY6Vs$vHiW$,Jz.F(KR?Ear*0kkH!kB^t +]?DaզV (kV kn-2ָ`UHZ@ 5¬8TiGjubR)eL3\:Đxb45qv~ytba^=Svz +- x _2椐9 _:Õ`MX`ΧAT;% ~ gͅu*]U;32M Z / xcusB3^@EE[djW!L20Oi3h$'x`^ngXElI >ʄܠFj(k0k͒|yO^N^w :ǿ )e-,IS`#C46|êYf,^J|(#sGcHV6PLx0_K*bQ΢4),CD$5}s$ )puRk}tdT9K+:O(g.2m:y!*`ǍO `QKfM t%c9Ѣ0U݉ܺ6; Aw7XY4 I;YQUz5< Xt#,?IR3CEGLmW~DIܿDit taoѹӽ!wGi"3hl⤒\6̳^Kx:m|ZckyVV :S4|?EKw5RyW# j9ҳxJ w^QfП}_,3p_t5FIz^s Ȯ)\ Pds9[L@g&9<5aW8v[!56;_DiεӡO) h\sS kkd6ה 2("aK,ҫݪ_Z 'cfA Z== QSgIݙ|xO֒~T6?c##ۿ4㐚Rګm? kQ ryr4fFRyz:IA:|X$ݹMOțbޖ>@ⴧ\L]Ĕ m+Zv/= :)CHnI9$]?sHr=х-.1%BVU;#YJ{8AaD=x=@(!NM ؉lyr>vR@7Y5OMNOA9()FPhΙ< 9U+ut  fJ5U ]6W&5b*` ݩ{ޖ|0|:&9f~ur>96EV0Qh $gDit= ( va~r>C" t V(}4lg9 c簲b״S;WhPrӼs. ~R $3 &:L,y▖cn;>+"X(j*^ eW}ĠAl {uŊ?>:Tt_-ׁ_+<>׬HG[ J޺(ȆN(R(א VqĨfr{G9a H%K[h0JdMDS \c-b@Kj9”}.< elW|opmHjVHW I|Pp.V$&~0QkI]f-4Ri`=bZ4m)[0w0Y-1qwaisN='𴖓д>쎬"ԅ/qJdOD%{TZ SZը>YJ TK,IJyPv 6"-5EXuhx*\5_[,#~lZ\k=]kJx:. j5~O਻9>!^TЁ>qʽJE;\nƒqxyWHQN`m;jU%:+`_̭koLw5E]t<u*xRuLy8rm)K\nѻ)$+3.HMsʪrKq0g~ ʆ|k烜ܦ2}a]ыZ=M-4J,PZqBR@<m`C9VzNgxfXjxHX3<S'1ҝt{Z@WM=X`T!"Z)xsϦuxHӦMqp-75ny}Ԏ5\⍏DCy;Wn5Fnc#_g}^Omqc^Q0'}}{hq7o~Z{ sqB=x<p{z -K3W/mW6cϝPGꝸ+=r3}z%foRk6 : yWaN6{ګy?Ykef \ ;]eF=G7ONJ> stream x]I$u 4tQ*f!Rd `I Bqzؤ959~Kd{5IfgFt0WW}ѧtuGzUyp琧l_5W\a>d?3Y=!M ^x|ϻÔ]^µ7цz݈GnayJ{zOsiތ&nNfwǿݬmw!ȳ~L&%m9G&i1nr;|pxfo_]&k{fޝϻiĸ{M˜ݜ`trgS3B9{%ߎ9iƉ$$o7gcS)aGS}k68lpJ'$げq&S,'iҳSHgG@\tS5%5}=Wx;CWpe{xDPvD7r.);\|Yf+.)(;0tӯ1HYO_7螇no;EYr@žJrhS Ft"ҟlrt E sʁ)Gmfʽb%EIVoMz>NY=ɸ<Ͱ׍O~˕~#iC [: #m0cR 8NܺML~9 ʬ,ɍs{9I27+&E Ƿ k~\\$TcGwJR1Z#1eRH NLM o)dޅX0;aCoS|Y/c|V/U>J9V)vK$nȜPyΆ]ؐ= `7sÚw("lc#'=M)@ߞ^(o 6d3mN9(I;ܪ5 h<1ENxEtI|}>W7H{Z/_tᆰ>tT/}PʱוY_1I_ T;ئlSB^˧HBFzews+O)p|Uq6tz(iZ'8F[y/yP1oəYYY`E ")RGgb&ta1k\ Bo)Oԩ0EtU'ȽS\MC_tA%ϵp`f0=K_~&i$Q]|ܸℛ2')_g$x|PtcиݻWp0@9zg+فLE[25[]usr`4p+oxm%a Y$ahB<~*d}f(QzH:p*-EYЀctl&<{K a9p*2Or÷U=nK৬MS#qdmSAf8vNzO|;gUGq>b~¡` }|;:vY^ PwQ;MeZ0H.$8vWb7qCEx7t)EYق^,$z3sCKM|\`FI R:}(2ZCx{2 }.V"EgiV$Ly݌/!mZ)IDZua1z63YϿ? VA>&Ryg1&>Jp.(ʓ&RFJ‰!G :%;14ħMl^I1:~ؚnAʜ"a=ubڍx^dY_rpNؘV`}cȞ|Q[GaXp){Ko|Fܤpnne}( S4\!ۨȟfE\D|!k~£ֆedbc(K%S}O ;J-9Y:3[(F -˻m0)nwg4h9G[Zg om"![d /rlӬ4G`RLD @R΋/ۺ։/9AkB f3-ODRS҉%sxq1P}' To@;<-}b^ &2:jU]'L>b(}pƩ^ǚ7NPCqPΉVbvo)dxe>O+u)UlagԒray4ru>7̴gBQsQlFƭJEAIpSDBb@2a`J%ofG+Sr<"@I+bf7>hEhk<J*G<7ͧ k4!$4~QGke?[nˮp^@㮯9Rذ˜B5+N,&l%h ה9@q @DNMN"x|Vz_|}k]WM@^6cf8U4ظ/Ad-s , Q IUnm bu+Tt[ ]-}%+2KvHpp{lM ϓ3 ₋JdϡEuMIĉJ=xb8] }ΛmU9j*DUiᕤ,v%U&r4}#Ov5gKˋL eiZ;Mp8i|w,-AW gT3|f ?){w8 @gnBn4 $a87;DXQ~ɖFxeH7&b.-:ij6N$һ_C) Jݭ9fI)լ-y[";nRi{e1]WR [_y WG5fK^_OO{ K{ /߉.om|Z/^>/''*+WVRIXA{YhN;ϱ-P7uf"LLCxhF@j Nڠ^. R_4 x?uOhJqbi62(&1H,=hS 8(m@ݳ{$``6ꊻ`dTi4_'ڈ$lHoU )(ÞEmhN0D#3(Wq}V`H&l9a?-QEkҌn݈^7hސ&2$@N9a/ \"o$P C6:0FooL+[3z.Kq˙?is2/;ڑ5\$v(췅@}iP# ߮HHn?ci@p#p8@s0g4>FD ?ɩ*GU矀X=0,Z^rhG7I%9;n5Bڈ:P6̠T?)w!>k/gw/g{lec>Y?&W#^}~&\PZD%Ό. 7w>:P\_I(TMyUi}SJec(:͍}<kc!ڧ]B/;XsQfQ=P=)_鯮 Qz(0{0Vile4ג.@Q_TnJ,Д{&ip0)3;_9 ;ZA- i*_R&h8]bUoSh~mb4C[(͌)-rxK|؉2F]Ful`,TiK~b!vD  /|*ZGy| k<9Mȁ&-G[?y>jvu&o6(ѥF)$D= ~BIAu7tNg([[fpy\Xei+w)WA<bđXseio"awbaׯ_B# | D0a\} []gcU)Jj;s_u\أs>-SKK]c#$pz(p0w[F-L-g.4#nsH)(hVG1Ƅ\ LHG7ezTwEoz@ K?O*L~ezJ]WȠ+*ɹ hPL# 3_Sh)4pi0yb wO:w rL"ymw!85H2&{Cnhy qu\Ts0:o6g M7F W٤D8bYg? $?g2KX—b r@X4uvVqGfpC1!ֿ*.oQ#mcnR;FN>$XJCMY{ g'GF!<+2d)܆ˁ,M{k%skIbP՜i^?NJ%9+N,z(]FL)nXZa;IKβͥ%)fD>)B*C:LFP RM*3SDY,#[n2 K70B&Q|8y&sS"p: HIgp~A`8Ĭ;9{AuWTء|mަk"Cv._~Vc!Ⱦ+p5 UK2vnk\kH{<)CAvVԶ*qHnnbq6Y!"yk~VB(De[Ք໨;gQNe,Ā)J c4H|JM3 a)X[qZin W@-Eqgʉ%s"F P]Ü `ix/g%=F1EKfl(]MFICƁ4L6#!V=E ;?-$ V7JDv-)d`?kY{ۃs974T9)!VH(uK3Tf,?17c&X Ŷ.=1-@j[1;!4B;#|Q!"4?r}C xy1WKMNʱ[lqbN-=3MIH rgb2f!V?Kjp3?!wU._aʿUg[K~Nʵ$ 'c-=ylj6;, 82(N8gYU~x WczaWHVN⋥wB/sʡH\$&rAKwTHQpj+¶owwa6f]vX r(BzJr}㧭awL[D N%mFf>03UT@%U Dޚ_"()2)|tG'(8yOo퀾qLKYӍ6d79*%Tܤ0UVo+rPB#ۮa6G6Pw^ZisF6` k2?ѥa?_BˬmNƨJxx<>)>sjlQS;X'*;2d!>X4du}"c?L-A:%a%@"q;*Ry0@-#o FW_ϪN祖AoJ\pBSBX2(skԾ]{PkzETó94'LMUGYB"3]YF0t,&㢪MKzŗԹNG?S[n `Q>)n%Ֆ4H4y8v2 :6K[UӶ{|dR$TxɏT%_]l:DϓAuS N "U(%v<(3mbVHw 0>٪S9Ŕ ƾ(:5%TxM\+lox4|7k:#ۭ{oJ&fu'SDNk Ӝ:dwm4R.P7]&"nHӁgz0bV]]3n3VH6T% @@k .߉~ ~[g~&I]rV7l3<17gix%cZ&c;3n78 b;?ATKLf(E lDyS2&fyb"b&8S|,['?`ס3h|F^W1(J>NsW)Uj;nL{CwT [y,B]SKĩr\WX[l|(sP#rh ]<;>8Llh$>a-ũ^S>\J( 4GƲN/akD?"G' endstream endobj 547 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 753 >> stream xEKSq{͖pݠLCUdVD Gj t:ks]iv6-SwԔBbA@,ׇf=9p·$23$򲭲4G&3 @>UCAԜU> OSCX=$ sSsmE\yUUe1WQVVU5Ʈ6u7WO7:֥m\i-,-X,%j`*7ЭCWv1)EAWwz kn45P&+$C-sGyI M1݄d.aA{<'ڴ8*yGIE!63y}.-4 K!ze'>"9;@"a> stream xcd`ab`ddds  H3a!Og,Y?_7s7UB߳O``fd+nr/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS%E )Ey LY z @O10cd'r6O1qT KMOf\>{BwO9Ǐ<}Z3+wuWw7vOHiͱƎy}[ zv,X۽f{GO涶ֶ6=*yj{wo/*?tM VlI˳+[ú[8TY4lfnzw|7[+x>wm-~Ɗ_V]Q)ψ|ys_[f6mr\,bi<1/m endstream endobj 549 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 578 >> stream x7CMMI90nVB@<7i  id`nsCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMI9.CMMI9Computer ModernptQU8V,'@n`y #z\)vbċ !*L@vYGN|]iavl}pzh}Rڠk||l\\^olViRamfJ{ڒCi$y2:~yknc0-xy~Gm}Pi$zlCYZZwuCoa  7 gendstream endobj 550 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 424 >> stream xcd`ab`dddwt1 ~H3a!; NB6|<<,H }=Y19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUSB9)槤1000V20D1012Ӿs,C`3wL?=cmBڐɮx_n%}ęguS1Dq't[hnӺKK C8ܟ{REG[⩋_ҽc}ℬԤ9}w^r\,<|^pOsendstream endobj 551 0 obj << /Filter /FlateDecode /Length 8997 >> stream x]ݏIR?OԺ)*3Apwg;wcng NDdVeDVfO k{#>~_IfGKvw)<J{iJsR_<瞧rz”=~/ݿ'Rz~ʨ2n 8b?Gf# /g~Eo]ܿG3{?/Yjx aQ)0)h"99֯+kǷN%;k;^Q^e&RԼ8Y-UB*Xl M:zJIEQ[UwFliҰo/][vM{i+Uhy6PF,h"d"xV% %\RwW2?tWz Z|%#s.5stal.Tl7-jem·/>>C}|Y_t o{Y׎rȫ3 y ËU鼨}9].]nja@z1I)i#o:cg7ى"Io\ t7.CֈvQ~*gy),DR$Rtz-Ao19u|*@ދ1P0`DoaEqE4U-ص9vb0 hCNH|l`g/S&r`MY>x[C abnE/8٘j7BmAc$aVl _9޿HNƻi^g}y~bTq6`QφyGN>KGjख)DcxP.q;@u5l@ST : >.i,WUc!⾯-^9 }+r6`VE_طj& [:~Yr, ޏu郸]4@q @ Gy< { d56'*Σ_X_&*,8>ɜ W#A)g:&ٔttV&E\C!-JG6`~Y靝Rfd OWɯX Ƴj+nRN%2x$77JD:NRD7AC7t$33G{s`KW7kYY'@jNOjզs-s؏ݑ͏,MpYJY:g[OjAZ ) B0 uw@5Iz> ?}fݣyw@D<;{x'ˋG+)JB 071+ةE;U)(V}, :;jL`3^Ġyia]dl8l!v.B -~TR`$ab|($@Y;ϊBX ~x@1e`;N~:ť`D pF28₻,䥋P`${$y,AòC uJ2YVm-y$ 9|GD `c??m lN ۋXeWx[=]}vVXCbB/,U=Ж]4w`[|e`c5-> ^kϪi豦9=V&C8B[9EoK%`{1­HsPbfb sV/}h9y"yZpfv8p bXX˂ҵGa@c_ ͆4d{(Beܿ0̦ezRFo }+Ƭ;vaUh5PkaE#Ͽj͑ h%tlc00Ӆ:Ag$ٲ|_T3]r.+jγy\}> {j.DMӡd)n+="Q%|ݐu%/gf-W ~RuKINqX}WeTPYĠ<هV:%xySռ8@MXA Iɓhkj@VZF.N^\ xO`M2FDNJ&2w$!㢏><,)$MN4Hڢ,&*8  1&+WR~Z+i]A 葼Xhe_|EHLr{GN¸Ck\&< ^j|Я;MVLk&w`Y_4#:O_.whL>$,NWҙL#%Ș|u1;}KxI!~48::n au=)5f fRM󧙨M}/C\g% Pf*MjDOAO0Quzqg`ls<`*:G:*aĬGe&{CIN C3,w}7hZ {`GȾu(S"̀-?GwMı&hMy4,bgPU:zQ2w.to8g7m=:=)`T&"4ء#YGtXdB~(ҥot+@L4٣^%.Yk `K4:R~n`Ped  hڹ{53wR_NMg ä[_ʗ =^`R(; Hq4:JU݃KP(o/W,;ъ1*hEcA tVDZ huvg0F{g߁=7i\J~UݪFI+͚]'`ڀ5.&OMFpMbr~Q-vYj6 7Nt|ϻ V'ޑt PݝH/ )eE=?ي *b:[4,=/'=Zb.oV@*zMI ι$y\ pc#5YbaLl~dUqQfaHt 띅I%)0oog7[9GfҼLuiӪ[֪g5vZ.<\bɻ nӾ4+r6jD~b(NhY a*Ygԋ# ӵ@`T~n`t[`20{b5]o׫t:i/M|WZv[ip=}{gCd #~6|b77@4wCR KC~#8=_IhGi=HeyDH3DIó5UEXild|9Q>^Ν A@\&Δ!8P\U~,.?ΓۚdEƒ(H>MS-뼊N̽"@^lԃ}Ieɱ:MM8S݃Nhos(ؓ뚧Nc'NĶ;;P4?j&O7Y*e*&CXp1*^7B 絊dN5P)$Yz'1[ԷR%=@i"ǡ75?uTf r[v:2!PCw7p\ᶃ`{5so+ q)UCNIzDaVE-BM] ?yb0׺#.%[4~gۉ>l|fbV.zD]VuF0I˻ۉ 9ךo:n)n.?nH'1pPsh+(^kK Z$/yJ WQ7:_qW+Uo`~-Lr'K Y0x jT\W,ɵ%jJּ;o' sJdU,)(Fz &vh]>ge\]: ٳn*x5=ԏNbujRb3o@tlW)b a+<" q3o٭:UVxDx5(@0q9'+)KEiz(#QI8D.HU 8 ]}lgmZA\/DݏE$Qh]wNt=;QZlU e ]3*R#nAXEnt.B amP?ez]Υ,3i`;"r E`>޺Q =Qk\~hw,h~n*YTt\p*=yc56ьJH~T7 oUm%4䙶9җ42T< @c~ƒX+T.C8%;O;PeU'R Ӂ.f0upf^'9?*0<2Cx,[ +G9?s ^ uI.*s-·AX쏎>?`DobyJVAx%Da m =҃ xYh XN`:)?U]y݇%/s/y16\vo<DMd?0!a `;P6oGL@f 7wZly`thDZ]"v/*4wd7:)#yslJhR*[dU`JPGw^(!FcePU ~V%t`U|Y%|\5,U.J't-2jN~ܜ(6G.莸}x@8sDQT+9Y넲 K@0rc^7Mx327ƒR O.Xmz{Oq`6Y<RςQv }&uSꗍ5Z~d[8ڥMOL1&ZP!y\pgA9k-0428؀J|R \Bj.LMF(S->tW)1#,.@ң3,IB1wkzWIxCJp?.ձg(]N"-ΣBxOs]ZkՄM/q3# Kv=X/|%cJH|UE>DTck 1%%a1L@մT:3ԍ\&q(ǫ%ҀO1(E^|uRʼnVc)-]OZTc4yEX@6@#_g 3ɸ|ms2m& Js ď(y{(E~/*VrU9Jzz25]>>GvSBϙ鎣>c>`@hs+{ J!DuNw,M4!);q_q@ _"-̘&7Hː^d (W_{JCz1[FE SyoaȎ,Ɂ5l$sgrjOgL򢪛9Ȓ`=aX?zZ O6"TB: }be\ln|cϓ(ip-{y6ew\mj2M"[[“cyuԴRSX6!?d$5c%(c]J PVk9r,26 EqQRqLzcλJy1)xJNQĔR&ؓ\1- bօ7Pυ c"W6s&28}uV.87k3N/ +Sgٳ`k7ifٛ%ENjz$^ otەB\e ̜xKy/[ʲԯeCcsKg]1K}zEg  7 ͡,D=^EDO)\;;@W3K-Q~stQ욓4Ds[9"PNyOYHa%~|")%=[YNs{®pi{۔{q~C>AjkZEadl;NYbL}臁6*Ϗ["Cͷ8{ny zK1h|S9!Zow>%`13V<-^a&q{$>! }oʧxqbK{_ob`:`>2%IsC?> /ۻ̭ZviNsS;"c\̬r%C()`TЩdl'''>4f Z:#V[֩˜'P~+(?c5mM{T|geS;W4S*WE^\=a.-Ջ'RK- s,8`Me}d# Bh21x]Wvұč)ܸf p%ߓr3pVmX=++G` B㩁ZǕ;cw}f%=pEr NSfΪ%A~Xg~j 'y~߯ :A?/"l#ط+@?qW}9wW;;a" ?iUhGi|r@SF6,ԦU4-Z'S0uνt!z{En`.-Km͔#P#DC3qMnmݥ$Ie/_,h&Fۯ uR>8_`PZ&-)#r얒Ũ!jk gLEbde%m>pk)h;C 466' `Zs(3-szoTg=#$\+OkvϱuaaS +ϕXDaǕt ?"KA:տ' y,/QtYG$&Ӫ%\]?T'}H͉-|)O[)ރA,^mK|WK'<otC-U-}:8T, օXQ"M3"i5nendstream endobj 552 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 378 >> stream xcd`ab`dddw441H3a!OVVY~'Y!nn_ }=I19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU8SB9)槤1000002012qߝ3?=sySNk.7f]fwo$uSK:R~겕7uW4N'挎:ɘ5 ?6ib{_kg{w{\TEƺvsv.Y=o<_قSM^wT\gXp.endstream endobj 553 0 obj << /Filter /FlateDecode /Length 8019 >> stream x}]\G{_ L0X0lϐ>hƋMq4Eɳ}N̸UՔfv@C7:?##N|䭼-[﫻/NjeN[yu|Жv/o/۹uWR9v/.]rHA./}>D{Rm(z\<e$CcÒ=Gʋ_qIK4k1ϥՖ^+}:X֛;wvN^~}m<6޹˗x//~M d,p[vw{y5/n/VG4#$>t(akvwvnP]8SkR4BP ŬAy'#q.Ddk610 Rؕ 2%2vHG.[ N)$ ;E&YbȷYǣ @t2; RZG \@Dh5 8KAi` ubGZl@,4 CtN,dXaZn"Sa@Ii"s>bպ-a/Au # )iw#ӲigEa#ڕcƀYl P@^w$Ih3+IY_÷Y '2zHERÏL&jEfe%1P I::P4g3+Ũe\kMgq.7%Gm[ȶl-mZPܴ]q},kGǧx|ljնgI^"gG}la8)=e[q]©h^sĶ':S*~Rm@Y:-^]L *Nsoa~40 7/!tz*דgma]xc51(WK絅_乷}qzOG'Œ늼@={8~-nh\ WY[X>Xac$εNȝ}Űy-標Y69y-nh\^*TT3ɳh=~-nh\k4Gp-M3'Ͻkut#ְњgma?j16乷}qzk2)^y^[$o>{'ez*4z=y 2)BO3Ymq[8'ŒTfp[>ѸfkdeNqY[q"GLƵ!w39~=3tbԹ{b v^IF5k5IM5?G9~^[Qk0>{'W iY[/soqDZY *ݵgma!wyhqDάԠhh2z=yǠلHO3ϸn0G'+ޚ#=zn?^W{>R!ʇ|ɥ͸&׏+ 2#s\u4,ڹ;(k WSƥBm{U)aj/-6T+* jڿyͣK K/[,iAGoJ_˕tm\1-RֲUtBzjRǷ< yƵ0Oӏccy'ԩQe/ʃͽ\,c[;^ZܺG,.qڒ. ԵMGykbe)ؑUɵSX9*Bq2nU[ D89^XU{`E0waUȎak&}r8zKty3ws{\` ,h# xj]ﲀ#G-`9"ʥJ-Kb1J;02dZ(P[^cVDm>*2!Z-61 Ƿ f#1οf㋌ٚOS OKtp) ۝2bY1aAE&J ǜY4A1c٧&Ux[f|}0}|yiv .i3Z Pv;7ɪY(Q_*XYF'n;PJ4܍D>LI6折 ص-feI@CFVܡCCN(lCٗ K*1s% 397h"A٪g zT!ƹwbİe3a=p߷>:8ň&AT elƩ>}JcpL/Xo1k Oі\i#Dj e~S1w߫:Q)U?С& o{ʨ=&_bTaHkRoE:pk{ƔNZp}Ѳ!i%nތx u5ĉWͷ6Evl]q̕#0g-ʜT2U#l4U1ŬoжUAl8t}gyfxݜ!u2 zu9)VVpU=бNn\IYGfe=yFy*nva!/aE7+O q֏IUNh cU eu䏬7د&CDs0%[~Ia4Y8_g~8faa_,9rN֭Ynu0mY|E?/ {v 8݌OSCwGnDa2j<IB?B8H(Z1fď>Y!^W;Z b[sZ0gYl,>Y>;Yl3,ޝ- Ϯpk{wvjojϪrDdowZQ9LwQ*nTM|g|#bu N[c(,.Do]l[yy>ybOHMjX}ޭi76%4-7_(^\M!`!6#[} J0H1NĂ^k0k%gwoT '募]s>߳N֪햼f#؏d$50B(lGW"tapeSZ`-H:K~,Fkx\BvBHe|>NyŵxgciIYJUr]s!g3^? :..!(D^akM? [nE7!ϘcfDxG!C +e!HAM4~ѝ8?O-3yU:kXp1:Fr5>6qmu(E=}3_|u)&dȋޟ;.w>Q3<126Qo?Gh|kR&ٞ#TXɒ_iQSt.2ܸ͇ƀ6vvm^6lOd.߷3\)[F<-c^p ȲTU׍s8Ds&2F'l\:`[ccUJzM={~;=,Ͷl3VUG0WK#4@}`kQb7?$߉s9y8=5noĮvݕ_?qVҟz,A0+mM.j+ 4%&y?s "9_u\&]VQTŃF33:x&vh޵KYkFBjac_S}J5s1)kG㥜=jTxs9Rf*%9I,_͢+}¿9?a `}L-,^N,ޜ+Z^fY|źI|1nR֖oY$L$6)lO8v,pvM4{3w& ~sq8nYU7g%w?Y9œJśc}#8Zk{o>kROnwN|TSI~9jB%flgNlo _Ts-nd70,3[vqO~!9oLԥmz11'F1:ڮӸ }ͩ W ̜,`DzFۛ-5Ot6zUն~5FmEA9Dx뫋~Um]L _bH%kj5`?}ސ7K'vMMж<$tCFfKYjK.ss/h$ܫK3!W>|gU-$?VZ}FIv:1y[&/:P*t)Ulئ*?%?^V vI-2.k;:Ok]Z,E6_yǒ?x(j#oyh# 6UMXFǮZ090 ovendstream endobj 554 0 obj << /Filter /FlateDecode /Length 316 >> stream x]=n0 w7,%%Y2(^Cdq޾/Igԣp:Ҵ:/qJêFzRV0I/YqxEsUvQAoKuE,G4 Ru8ϣ5 3 B`6Pʰ X: @cY g6,8pfm*KĬ^ozd> stream xYy|TE>utz;7޲/$$$&dc BH@M"( 0QA "  YGiJ8({8:{νc|oMUZnթ;Uu* hw˄\N&͘/gt'zެlzP8oxV `hmmiH E2c[1:x{ZZ-?j{ ?yM[m jgm [~{9 {l'ؘ,p>F'ƾdO&:?_t1~}H TC viN9pLp$A&@${f};a`u[Ͱ" @!<G{]]X[ a7x}>B,0\5oҡ a xxb`bqx o>r 눝}:`9y xX %Y/ 2 d#0+YsqBհV#87|KYh Nˏ(a4RI t u8#DF2,#]*HQwSP_cb].]n)bGb'b N r+p ÏƾKIo'J"!j9FNQɟ[rb)eҨvjzzMoD_`='rGkoƊc~̔XM86Y<^d8 ' ^Q#6KjKn!l$9˒.)$SZL9 T35NSNGSN/ї3F k|3;-Ǝe'v-=}=#[.['}+ pcZd$ڇ!)}.3H9indci.d5X^_ne bл}yW'`nBvl7L >o'Ypj1NIP)r MHT6þ0TWgyO4]SvcQmF!l9Z-C-]% ;r;BCrO;+5$',ZFwE;B8qF4-k`"<a\M3U˰H- fzf> As(5M MaQK6{%,WWT)oeSKW%B`u<(bn7vK J:)rOkN# u=T^qu=֐Ud,/p2g b<~ucJ?c:v"z3A ES]c&# R2ݕqh+.wș]Jw+RhB'!Np+-C,Fꧫ{eiՍ wázdظ1$[ hٖ~sQTL>x#uuٻ5GsA Rht:=]\V 4+FZ…?E7B"C}ҟF8t-QېpτA1•spտѨ( 1?57؛B#<uEDxz-Q[%'LOn #<um= "Ok Pgʂ rWXrccuP10QL1 PCILW0Xj /: '`; 1::mCC'1Cm |NI[趣$VP2}x='4\J1cHKnN4fa15 H0"0|0Y 62*d\.Bz'Bdt}hsbIpy<3E/Y7ٲ?8ՈU C'Z Փz!뫜 ׹Ez\# &O\(uw]/crsmH-=G"'~k~53G~RH*(\γ,'pqѕ┚SoHr87`U?lT;uE@7B j78 V(Oz[ r4,8s^kx5"`5S<'(caJc*WcO,9yZAPƬ\ {~(〧gO"$/bNp,(䚎sFSOwHY4`epW{V%d"8Dr16 q!pgȼ%1?us BzPT #^Oe}&%GI#Cɬ2Ȫp@`$BV%fVQtA'̦<:q_K;H~{jCV soD?]>B%?Ԟ'O?^ mK8J 05,|u2G4Ҡ)oib~t'QDH~6J-M]h$Ui2ͫ9D+'Z!i-\4ٷzxKԚ,]Dn5$BEwۈ~kXEV˹*^!|@?ߐ@{ DcV$gI|^^фdy}w dϝ >cJzd@C4BxM8u1Z"KS Ҁ|іrFNsрUxԣ6mҜDϓO/#c}hO=>D|[F˳KrlpDE0=D{n<5| qԙ/{5 fTm[&}w=36wz'k>*]@g@ |~ڗ0b5r\Eڴ ަ':}T ]˯KqM2%8YTFQ_RfsYSc׬^:T_ 6~qu#Ɔ8 2Uh&1ͪD`T*d62Z}F(?kʳBJ3Hq&Nmrpt`D*T$S29'loso20-M_ Y%,#sF1hʛlO>䔛9(jIP{l<|{DxjZA_HGI[iq:p@-n6nɩ]<7RF=t'KMjcH&$B1l(*?Z3[>G:r)rF,N2TNñßlE.TR|e WR0pԝ)acT:to& +뼸jXYnE_Ns@`c2$ `I `r"$`J,\oqVIw(Q]0^K\v(:/&ADpn5w~sr`QuNgv,2{UIt_CI>ͥ֔1:dGdnɘ:aL׶VWoH*Y'T='g%2>32!d~U(v3l6nNRRJOJ쟕rojqbu=۞3]OLlFa1f2ټ[ॼ &Moys3sK25YBe1Yar.f39=k|_H[_%qe$gȠߝccH3k#]jEt6%@܉ޯ+W FY$C V#j|ÔUё%.NM."4..|{w<ׯ oAf}5"0Wfٷ'8r=ym)$woMi[56Tj;+թ?/Iq} Ή2 l5h<0仯Jh)R:%RtYq&;\dAdC44-||[;E>^^ݪޝL+CS4<`Js 1̐4y6PڔdW ;[kGހ-Վo5'iaΚ(& Y?E3d2.)ʐt: 22MӈSJђFd8 ~e*I&\$#Md;mBwkN]5Ax0!Iܠ?M=.}EFI̹)ŧ8~m}V!-={rSӅһmJ.w>wF s 8*X$oPWr8k,ێDƋ{od]3Z4r2ӡLVS~-EɉVO*hY?$vDǪr|씏&UڌHBD4E2| $(y:SȤP^<|‹q4soA_=ؾeqmv9uߑ[NN[72Ph_I#>qZF5v3,$7h`68h :h^Wkp+Vh^UɴI_$_3@OM{"j|+&eCt?~Gߜ]>ѝo!6 o`7%^DSC(3W«Jц0kIږHĦl;I]>yAo5޾y[C}RXП~8 xRO%\"E -@>u}PxƝ?sgϐ?^&d$q{G/9K[<IlE}A6mN ^7Pr=oꭆn}U+@`qbAw9ST)m64Yw,~7|}핻n 0X|ڲmn3 &dLV_QƝSԗ~rhꭏծ>6Q6jFⵠ72cL`^(E^~zmu K"$bCW=Y)Zi`%w,;g7F?.g]& n\:*W&%Rd͖U#8gIV#&q,p4GqLs 1a$)s g\OE)D#him6i $ԩmWש $kƺ6?8hIͬWos4#h15r ej #:^Z˾ӹ˿=]iSrP}\## : Sef:Ӕdm*?afe Nq?UWr_'`KRjS'烀 #R-@Zu&J'\]9f=<B&ǐHa蝃oආj鴼%mѓM}0?B>`w/Wz7,}L0ψUshs>=qvg~  _N^6 z,(3 x| 7AHC "u7KlxC-7\W9V[7@R,ݢX c\y`gnPAٕGA] D$A4S s K_]W@OXrJJ߽D-GH_ݳhCendstream endobj 556 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 652 >> stream x]HSavKApnS: G0!sΓKSH#2ⅅJ xc]`  Haz?WqSAj'/J. MeT2N*i^ȆYp'HD>s zXZΧX7ҕ>&uzM6p{TxX6XE"׮ Z/mL;`Zꀟk]>>Ԟ9 Y&D[-Lȏ"+[lvr]F%Ȁ7$Feh} =_&TqP c,rO,&$SA䐅)%*| ʼnǰ m5p)W_S(\&ߩGv'MŜc56a+Cf|tjU-1!}辈Mhg.No9^OU=WG3h}$jPPۻ"6䇓Mr%8WN,6'c)!KInZqFrSxJ,̎2ypnYp.Fvor's4ytz.COf{杜URc_zCuvC]3e ppj,m+]&.J[ϤgLendstream endobj 557 0 obj << /Filter /FlateDecode /Length 4840 >> stream x<]oqD~@fc\8qs0$c`Hj;rܕtߞٞ%) Z͞_^.q{W*.63؜ݟEB;飈rq> >j8=Z ˳ݫE1alS6vtlf){PBxC%-Ϋ ])X~^ôJn[~y{@Wj] s/+)Ə#FXu{kZ߽Jw+4w]^U Wb(ٳ);K۔!Cl]exلn aXte,ʰoζ rsg]Y/2A ^7E`_ț5NWgeeS<% x^My[gAԼJX2I>A7x`{e\ co 旨{)wJKkԷ!5E wC-k+ Xl~WnԃE;|Ys~3 OL o$FKsIɋԻB?AyF*B~L6$Z.F@(hHeY} >=>. 4:6$NH!ҏ"$`cѨuZvvt3cݜv(+όoYO6||ObG^*ߖj>p-b" eS v6nk͵ h*}SqxReo\ђ`fz1eի&bm7?58绵{37MMlRS2-uN1sT~'^7x'ڂCԔmsȀ]4S` j1weXgFcO_em& ak mOs\7Wp~ \><"T^;C=cƨ4KdOwsθǩZ}SϦdV~DOČ_'~rJ]N\{Xp`/`:nj.[TN WA(39g sUp>A:s$r3Q^Sɤ-ᅵX[/}{Mcc\cU\gFsd„|<I.<0(]9)?a g@5EgD^*؅:靷t]pC1J+O -ˈ^x2J$]X]VrT :clBZᚭebĘ WNs J C6J a0⥖*WF9JpCt-kU%E hL` Qb 4 7zL>dL̠\R*cfI2Ly[ zVb&p @@I612h{mXzTp^rR ;N'FuϬ҃ܯ,8h!LC0DfVL暑ޏ"t$ $.e)I>j2Gc "HSdi_Wyce% 耒Fn G! @p)Th,-)4#Zr.*< Z b@T vW4l&`C!TMѮd늰M4/&"}l6ܱ2 YYSQ4u!P?si\D}IXVM"n=2ҥJ=%Aa`K/ObAq.q[-ذ8$Zk1z@$Ak )]3|7'#!sو㒡}lꎇ1`Kc- JqQ @E'uj$I?Ҝq;!p2 wQsc l@ѐz9LdtDoa<viP[ZEߡڌ tL#v .]F9D)ZQ!AL`5%iu>8M>$M2J uOn $=5164Xq&d$GT/#})9ؒݫԣ.!(%ɛމfyfKSfЮ4KnCE^6-}&q%qP(U8ϥC}|`Y7z$<> %({}U@HDOfbJ= 7q瞅W`r1wK;?PЭG'͗F%18]iC춝H3sbb0/^ݛ6gۏ.hBgwPfg1ߞ!}3e=͏37g_z z5{.]~@p^B"O@B*x9D2 KR0Qdrb~IM{+s(!]U&݃?tuAR(^W  h5ƘG?8JKl(H(1"Px(f LЉyK3t0[EkYpK󀡁Ul^*nN.Xř~ p]eX,W+TnEUjtpD;PeEʐtY;P~ʐ} 2n~ƀ2PeCxVL(]S21%+jb2$6gB+U.2J1h0UP&Zkx[9 ;[[J(j|gL2:>'ڜg>%RnTfs+@r4wBkط|9C|[/a14ܖ'2+oܞ=Le &ejp͢{fW1]&+=g';=4͊/Ʉu˜BX?kM}& VX~b _O T2ق|MYT zUmYm/V~;w$I- l @ )oZ)z;)MqkB=b`qirW"7 Mcµ??\>|X,12XVdzekzĖ'70m5endstream endobj 558 0 obj << /Filter /FlateDecode /Length 6715 >> stream x]oW7AHvb*!.kIȺ$Q߾3͛s)7+Rܜjʸ=ݔewexW_wv^exq&S2;qr'g2 Ok%o”Ӈw_2|݂2~⬼] 6QЃv`ue7e(d\39Pߋ2THUw_,?F|`tJn2p_[_P2e0RewzM CI%d~' ՠC)V{Nӧ Htm]6E..4Ug0ħ! ~EkBlP4}qJ ޓb:=yS J4848T&N~@'NHzڜ_f?9ma9ހdg+/?ɌvcUta#(6o;+<)*C~R"W{DbO<]fޔo04xa ֈsT%\y kv.Xa!A.~Q^•e Y<)9@f0D(xgj_b6H8ء}W^F/=D;E檐f/Aׁfk7_GS*W<؋vCN$Ĭ?yەb(A@\ѦI9 ~Z& zw SkݒzKC􇊸_`ɬĠ0P͏AϴiuQ;Ĕu{!)@6Y0J[,7U~ѐ(TwJj1G}g1E1 XTo 6^eJ+WBޝ p JLGǵN_Wk_(S&IY[Darwv_hk XMWt)V^d@~Z=syrؒZğFH1C%ڒ}A; Pc3Yq1FYDTס(CHT$+thS/6x0!w<- Q ]hdŸ8pI82r Iyyq:/Fkk͚|]ap ^.O, R.Y).NENc0@Twwf%Y/@-dLohd laH̀0ܛ`NIGhz0s Xhm3(&+춭2x>;/F~./YDx$'p '|x~j_I.M u >AXXwCkNaJJRV}MLqoJA!^,k!Y֐4â6v6C ae$Y0:1ߨEXg=ZH& -Y٪],sWfG$b4I"Qo( .E@0olHyy6?5I?Sml#nL VLZӂ t $pB[F:Hu⦫v1ϰcխ".4;R[ٻZ}fC $[;r4XSpd\4z'EL|g(PMQymЄA_*y}b-qSG+d?UsL=)&@ ×o:ҙFNt^ 5$5:,i31bct??ukؾ6c]+ \~P?HoxU|$.9ygh+CgqաR&]9˨X [oOG+~ܤ{ѺkpW.S(%{x9|{P{Yқ7A|OS#/ ;^(./e6yI_'*§cy#E4GK$*`Wh<zW~`PYGEE&2P;o3d ?Dىˉ1HXlrhl6=gQ ݒ@LI*(tOy@p^MXr}?P0, ,2n5 w éwť󟄅1@Qdi>dwA23LT)ឌ-f$,ӵ;~Nq:rh3acCHcS|u oa I8! e-%[j1H!5waœ!:g+ b`x4,"3&nJWԁ%55kJZmJB 0vlHz/N$~]Vs\VIVUXnNT:&Rjwysc7.OX\caϥ|)IIX1N_{Lhm7,,7CՉydȳH]6W9 ~E skz<K}y41>UI)Z |'>2qCY yj8c6 eҼPsYU0]Y .VzHp{ UcsׂsvFlo`Q2ޗYژXgv;jUJ?KyRy.oIaʫ{!g{QXݖ&Ifk.5"w%_e٣P&ߵ&[=f޲V/WFf1GE]O{j虻d+5$lRhӓ~HwUDF0c 瞁_) FMWQEu-̈&<(pA)8%a&8J@M%*s&IREKt qm O'Xrcq ckm=~u0-W-?rmHBKފTZUU(~N =zB],uLH 1-3m{ԴO*'Mf s[YMRi5l . qva¢t4g$AFI`=0{b?}zVw& jfs:eԢWUdJ'Q}-ܳLL˷Qu$x0Dll-"MG ^"ï@8BϩmbS h7DAۻ"χgYMͩ |E.A5/B9}DGe!nHYRGS2s{ 5N=*^V-]A&2:]BmBV <'圄TWkRTU>("DnPO6jE/oynfn!B$AU ǫTM39NgVv,N?+ Pt PUd]N~Zh Ų@{@  lu!QoR5 0nKxoFg]%BEE7I]Y*cDM#y >%f&u {O:h3zIj va<}aW&@b^6ڏ?N0]zY.7/tx1Ͳ84Qzh5΢+鎉M˔0m=:D+ *b滑IUh*1NVxX=?m2ӃU|(GowRN~R ;4@yx9ܰnu[P?LXr8Y&zڍTuU3=O'uswK!{}.07F"~o`k/1υ~]&$GDF4Vi/KgW-Rf3y+ D>$ WEH>xݬ2r@bAg+wW3CNmmo? J|%0x P]U+7 b:yG'o΅nĹQ =NzqSv]"/A>|RL^s%퇨s6 Xl}-Vg>jhhFJMMlK^{id]} X4PF"jx-(8Lx%CYʈ=HhO1VYj;[:  -P5bKlɲf)GPL)yݮ Ϊb|a_%: qSzO%f75?/vp%d,f_P4-Q3h ex]7e\*r=}YWrQ` HK˪v' hr Ѕ"KqoQ\ CqG ex}A9b6ACHsF@u]Q1FrohY{Um57jDC*f9о oj~Sqkfcοnv.Ë2|RISM;Esh=Ub=%% 9COn=|UϺ?J^{‹2mjU$U}k<7<+ Vt:ءi8qG3Vo.Ȩ|a it1mTku]rAɊKJ9y_]1`Af)hpx֪1`mc7D<8/;礢gr-? q|Fwr5u:ʆroG˄,ɵ5#E old?ʵU6`!3x**]444HdTK > stream x]Ys\u3ӝ3}qTťDcY)!"oCR.ԺYtOjOS}~}Om݉:<Ӊ_ z_vYe}zO>>g'?@)JW'^nNe-f m|v+rw C+UN=14_ݯĀosPF~5v\] WǥL=>pC稍<& uiSUo-~Vy8veh_Ƅagѣ|ŝl@ $,ժdߗbNBQp^9 gD5,i y ܒSa؟oqeKcNp82?20Y`Z.=HyҥNwl="H)X瀟8xWW}Ggs\kYv*}Vt1ndVP:^I.鑑> YօoFZ71l\@v逫IuК/ZMk^aߚR!yzZѮZ_[Uk7vy!6U2@6qnAT_wּlܷ&Яy9P2Ne& &7l1KҬ!*@} A!ͪSafr=R\/Qg,~Y"t_I=.IbbcR'VCY;LlUb׌aXf D6D]6=4M~8>^5f/]:.P4!: 4`E8Su9 H݁W2Y`~~ =`l1VDX$^51GHGH6LXdK>&~I1z=’A|N7Σb';:Qª'I* owQ Th_y mm"-J|6+D:|,FRdTmx=4/趀U9'jLhWxL֡5ߵ1X,T^ƪ]H0 st`y-Em/Ü.ѫ1'_q_N(xwOC( ?1r쿂GX|qiPGa9R X0$as/39sS²!͢Y.q ]]L`"U]`/L^^Һ ҒWM){$Y YL4I DH%7KXɋ *d leQep n#SԹ6' O̗Y֚D=8H|A vƈ]v3%F5XsM]wS ɉ`O?,0d;b^}5$9[㤶5녭X$ۦޏ2<awgISOt&_($k~yHӅDeZ 4s!+@|x; 6w\>z:sAJc=%d qV&%։y˼-_e/$ 3[xy,?ndtK mk&%Jt,h՞SM*p0`ʥ >e)*/Y etcY`(_t,Yk^Z=^TnyZׅgT#\l٤hzɥ^S)֗h.MZ%-e)b+Dχg{8-W9L˸-421V$&aLu  ukUFy8 mK@%wιRstuRT | ½?БKTS qfb~9b,8ЅB7mKIeyoS{3F˦Bfwge%gzͩ~%1gs|ߺz]U=sб+:W|Xi)ӻ"HHkv六su_v|NYj%9*1 &,⪂ꀤ R;`9UfW-ҽ M~ vk9.Yܥpd5u2X%V,])Xe§m5^( #'s u$(Rl. JƛX,?eFi״~QoѲf,[h""YgZ Z(O1B(* e4QξfCGa~%]{;'vdxǰ!6C:q*z8/!<)#hP)Lf@=t pf$d>=OB]pLT;?K,`S4ma<z\}OH,p]c5R/. V6jTѓ䟱ڸ}9 Y5 Y|>yU\pcAd`Ԯ>ɀI7\ueBZb]n?-Shhe%a KVpH_v.ZSo/챾[7o )t7’?qE5?.SFо.RG].*P?⌂GO_,´v/.FKPyJ8_G$H=UJ+ЕMzzҸ(.rrg``r;h cxT}Uoү ɝ%gu.sjrwJ t|Y6:*yN IhMcy4^QMu`mOӒ6)cʈ+4uKd]3Q֨Zr4g'9W":pOCLU S3jJ|6Y}˯|TbF1c#HudN,; ]I| iA}PƟPEIqV#NwIԼGٞ2r]o)P"#-&=MGKЌWcb\H*&Ȇ,!ڽ8-qo1$x 8 a)g/ueWTj~@A>ִprEAC&̚#7tG\W*hͩ*~=w8\FJ[`x҈!T(,7)UvT Df˙<|Kz KX`U臷^+ϯ'Z|چPv 0 7uXX J~A˴*g !1rl0a>H[:")AѠ/‡b o⑝*Ϋ!9>!}<KJ +MưbV9^"O[%<.WQ |RzSU{v3Dk^ߢsQwoid^ދ]$8FY2_7}]wOց弰k^\y^A,_#C'ޘkeú%RDpW/Y_\( NrJ8%Y|Ej1&VK- Z W$ܱuW0!K' 8::LQ4b=L=Ojw4,d/G=3մh$+o咡Ƭqeֹ,W?<}2|^{iDw ːӓ7(sfU{0G@V8*ʇqˋrp>M˻{&RVUqӛU/7"ҥO8Byl >ИqMg*[.c>t9:i|R">hޥckfil%anpYK*1 jR6|PrY`{l4zT  D^*ƣq2e8DQhD-p^Lѻ$yj 铺>pc2LBh\[IwɥSu% +:+őe@&asr^ql؎vΖkk3$Ccd|F&ߗ\wY X;,ߜ$*hg뗫߮BO +M;g<8 $=U (@؛?Z|<)bPɲJ6XŠpbKQ%0p{ (iP&3t@Xɩ@f)€D'U ƞG#Ξȉ`BU, _&U%FTp{'ܳH%4|B1jd,X ZqloYS 7h~rÅy6#TE㪎PU=%X?"xƸ1m5JN63vvnpÄX)`@x:Dd'j{ La2@ōp9-.CX%qպ_`Z/O:dd*\R i (_y^XӆG3)*s nv 9bP m2J2JP !N /[sBS7 %HWUN sx cqsS(2a']AA%)_Ø Mg%KS… yCIRR2 XB?7pmsH*NNc,{90 1endstream endobj 560 0 obj << /Filter /FlateDecode /Length 5156 >> stream x\Kq0!@.k!vV Kggȥ(y#+3:kXa̭ʌQFMzW;77jssㅦ_7g6_] ɔU֛$>N嫋Qar䔧pyuNM*ۜ`|~X)JLI5JESFo17/ł㠌o W[%ﭟRL6V>}ӆmx{cU6j8|Vxמnu ߶퐜36Fh;y,M|1$KHuiqCvë]9^y3K:lTF5ԋf?řk5*z":} iSVM[ X98_UQ)V!T+;> ?o|rZ8F7s浶 v*D!6;Xf杬FB:Ea~9hp]/YLRM)q3F7˒^gB|6y>1tk`P9c=M =U oo*"B >@~5)+#:^Wh猺eB̳.oK{~Ѹ٣wl吤EE3bR= Q 9D-d{T{#nX{ASAC|FA=2gHh-=$4aa^d!d <^j Aj R8% cMװ$Qf .;zgvse@U0ф`OJ)PL+I rEw  ,K3Y"v_eqm3 ܼ@iE:[iؖR12Y--}E$\wS1[a J<~VxM R "Щ(%)hi󙴤&3u%5` \޺֔Z^ [^_h=򲐎IZe Z('d12YhLWjS} o(a=ѹj )$.9|+qR.2]5Ȝ*ߥKqb7.% e= McW+<.c'--g*&.nnﶫʽR⬅f"D1f P 3O:+BHm;9d /1olEnLb|yֶH[&U D17B R{Xj|` j Ev ꍤr";C.Ihb&{C\,&lӿ.6?pr}jqنDpKǀLWU߶SmVE( Mçb0ij_tM+ҺZ(Ͷ;W7}1q}&1Drp|ԽFv870 kn= re\?,B8(i ٮsQYĦPSfA=J0Gw|D` ;v9|B]\.nmtBRHɛLT,e,mv\1,ɳے\(VШ),#aNbWPu(hɸkDLwvg6YU[GW4v¹i;iCp~%/,ȳHwW}LE%7aXhԆr̓EN_qTR:5^u*(5ٿ(ru՜UaC]&f'ʇ4%yFj7HwiQY8p8N.6{ 4,13+px `]YX#޾ ^a26#L~[uQZ%7 pxb^+64a gxE!D-XHY c' V4"@",a!" (%Y *)"9iT>{/ 8GGT:̫״4u/%q.+2ŕ~qf }\ C!yPTEhū{7'G˒ ٯ5^6Lɲ󥁔Dtgn\­DEVTeL) :6 {rJy@ xSんDs=bN U,{+|p u=9 _"H~נfZd2SFAWZSK&,27< u W@(.b1C{Ym,?SmPU(MuzX 2AF%03{X2~ZbJ#}Sٻ07B45U˫?/4]?(jfvs.nɖz`a;%> stream x5mLSw[۪Iʽ 4"s6Mp~DDaVu6l *zSmI(DFnjaDCe 9]hdq1k*yIs~ETy榦τI~yr1 k6wVuAGN[BV@hWn\iNnwMMUWYQQun{ə-wXĬ85 v^Jkmzd|GW඾Ewn//8E-_o#n,tn'!dS46r&u5DEZ-k% IY~B#֢%\535`aM(WV^ f*|.@44H~B8\ hzng65[(:pŀJYha?JCH Dubތl`m2RJ[{深k/4CR e Y\akE;0,-WíɇZlQ({HkZE8Չ)}>64Mh찒eN(y3b?8- y~޽;4{;& F''m!h8>o! JUkcT0;}udUo"g AIٳ-4!54ϒiVImS( ̓MhlRU%t8 y sendstream endobj 562 0 obj << /Filter /FlateDecode /Length 2983 >> stream x]s]qpL ?I];c¼3-A8kgWWδ5c.Φa\1moM% w0:S3 ) '|_ # R)qT;R"g\\ .ѯ3~F3" Gdi^QvHWLDžm a Hi/26/3%!"HuIFGhsHhKuY>bw9ݲoH$ m*B rF̫ .H:K^uB*"Yl\qmH@ EmQS|+_ln0q(?H Ȯ!%w$vJbؐԞf 2gEE\ ¯IGݟml%٪ԇX`-@6}@/2d; $z$H¿'_eN#soRBDRQ-Y[_\yqRU@ox=" <}b;Km:׶%*\t)F =-Oq(NPUp\Dxxgl>_Vu%*9+d*)ƘT"p{&ͤ1 +OP!oq>8MUQӡf}DO;f۩UM,R2_RWj%/S/V)QwT ^ 8 EԈxeAN]Esx"?ʩrh8h} w cJl7 hhn( fԀ֢uMesdsS ~AN ` Ҧtjd`WSWLA32oNPɘJXtKILzSA3S=2{{d+itmGyVX8ViE&&)UÅ>Qie(q3w.!^ƌQ: ץhJzuK3_ǥ'B_xÅέ;~a_qY^n;qà? Yap)Vn^sTP!aX JS+ 4+ǀou#x&/Q&J͒u z;E)ѣe'$Ƹ\ZqP}$u vfDMJ;\2NI`)H7tcIf]-MV螫 7IX*2*U]w\hl>HV7T,?MT8+^V>}ΫvnD]AC[[q< /* .AQiy]^LEP {)D5X֜-ĪKUv@t |iK7  y't9# I3J6&lؐUlm*ۜeBzAZ_Y{8 t*::Y RKmcMotѱQq2!we04N6jmĦ3 ,s*!l \QCjA\̒SUY(8+ei@J-j]5=tt(݈/3 $*6~;UCJe))n{'Avv&=eMrZ'9riZ'dESE9Od{Q4K?xh "Gw~ioA{JGmMD =M3mKnjrK<% C_*w̏E'H5~oFo$Ix4x:~?LME{zDD]5@1cltfgpߎ7y7rrI€h ?J*/ȹN>:rx6#zm= Oi`0+oS@#q2҇{?[<za}4aC?{5ecʰY!j6I ^nZLpzxEbT!K~OMJd-TX}>& 6<_xT@-LM,=rIrs) rA.;3> stream x[[od ~ ;_HliA6f}uc{u㱽 <,#K:IE\Pqzz&_QD9?8r[GmNa ,88^.D/ h#;],F)q‹]F(٭q\EL.J`PBv?| J-(ˁ᥶}p.,?-ViʧtBV7WW8互ǕTR-@OLuvݳz«JVr#E.i*y^I"}Z}YYy_< ݦQ2쬎uy%<\ѹ#yZ va$Y}ŲNȣJ>^ t2%}xE{_I2*++i*ҶaߥԽ5QWHyOm놽7<6sQSI4rj oŧk2\e[v|rQ3 {P;&ša wO #E]k!Rĵՙk#[ Շ`qm2(r(*sS- rnJ*&{ѷ\udkQK.G)'H{]r m+i&uQacrIb~B5업EbA" 6,BF8ʛ(3{ipDGn(=XJ?`+Nr:f}w\Ц{RSÈpw  N' X nG&(80>΄CNKF3kǬ)ldCQ^:(-JG4édHo3tٙ$̹ɊL6/*׭p+[81opyl$5JQ^(/BK¨j'x`O5=n|*0`,`u"Վp1( ;y=>ߑf %vUUd .d⳩ECqplZWA]`{K#峂s_nV#nEP"p '$Y'S5`M aUtIrP6XeTd:Ne<i`ʵe@u7@jtm;!ڔ2)+x&Gx)e^# O|n5yeFk$%y/{ b|oK)OFE(4Mi|^Û߿W>z =7kj-{~LxMI2Y}C>ACR,|i{cZ7iByIZm$$WN? S,ܙT!჋ o({ne$jTsX|fM .7r){5X9#PzW^8w]?6ڃzS**|)Sk-Ղs߈`T*V}ig|U3L靽+t=c'Qc#n9U95zUa$'G4lh x¶51f+cRFF\吨\\7`0T5A_'cq̯7 [b--6%j[Տ WFQB}XcИ  7χUxc/-o|ޑgpL<^6N)X>?A"Ǒُ![blk$!kr1_LhT-8|MJS8L֞Իh۪kc$'>OGg9ۓэ]QnN( x+Pc4@/wBr?`*:8]ZČu^ n7嵎olqgTS 0GM'{=~Fn7mvKwWmB3+5ד"5vwBD3=PD[4 rEj xS`;jgMGǛkk"ϯ[+ ~۬H: GKB7Ȩ0P&%D2z7|n_'ˢv=xI2S1]XK{_aNbt;?W7Xh# (4Emp.0y ;/bwg9$? ps( aduX=nʳ]H]u6AP&EE8Nf)IшJR?czRw#ol̑9p4轄hCJR(s蓜 TާA!#!%d߂!b܃Hdqi2 KBL\@i 3WN  5a(Riw#?ٮY\~I~Ǖ4|ׅJdÃEu?? =0쑎|F sL~GmPҳ,Ӓ poIS)ڗMsn0E :D[+$$ 7&\V~uό=W)!WQ޺c2/>XF\ڥ)?/phendstream endobj 564 0 obj << /Filter /FlateDecode /Length 11558 >> stream x}M]vNeL>Ƌ7XUYEÑ,;_?AϹ-I默rt@9so_]}gW]ó\C7úS5]=Nc>U_]k躦S5gw| dڥS>5z| G1 T@XI![x&)g=@&2)bZ|L}=?Zj<îlrqߜֳW_ xboDl-Nv~+]MT%dK&r]<ͳ KOxkO8\&)4w º{>Փh]՟Pi\zںL%/1Ht4QR1EBAn '$p:SH +œY&~9Z`Z{jT5VP`؋EՑ ]=E `rDB'5:L` `c nxel :K(n_0mfۓv?\w[ vxRipIXXDXYR9p~veNك"2'8J&$)d66XNM2`F+g& O7)M{RyX۵q&DX3]GuDNކ.E0Et+`qx7"":e `ˆ`8 6dV NrR%V.͆4$iIJK $ք9Wِ1-Aq+/ź,A1thj֙XNakc{u&tfAXl S 6:st0hS6QYPӹ=(u~PNzEX8l|$5, 1VlF=6' :jhcXa|@@`p)H$1,Np{ŀOFk%~xb&E;;]۝B /*sY"\wtyȳGO+0DqªNA&[){XۃB+GEi !yhNK.&Y|CI,SX!\'Z;caVRtѬԅv<[ V[|f_΅i"n8Ǖ[e8s_"5):rPB͎+Ķpk{PtM==}T)JTn1NP<z8DS:1 $VH:mFϊD04jO5+Yzϱ].rAohBDVS1qM? 6Stͽo9gcO9K|v` ]\ۃB|wl@*2!pJ18a5KZtB,GDlڝ!VyEןG%IUHhyv:iBþVr.%vLH,ϵ=(\|ntqr grxy,cXDb9k(_k!*)gmO UvlZvrΥ)=y {ZڃB|\SЍw:Fj+9b֙YڝB t:1=(}!yK{Ig٪\].mv Vk{P]!©Jpv@*-qN\'$SAwF%s7HHDRH{j xKxSb Qrpaԩu':@dfG#A8tk`+ >{t?R0&qGA0^N%u0DwB& M]XD -*mMéuާpOJ] $4h +(Ra]WkmZjj2sk3¯yq Ku1eL{tToPfIT )g c)`}]6Y_m" @m]gktuyx{r.U{%˳;:L`u:eUٗ/J>"t_7W[XD'W0WXpހp?k(n%@,Aay_g=gZ'XY< &tI,qX$6$6Q0Wh8|XXDװ9 O)fKAPZ wVӭNҶ7p$I6\( $I$"Sf1qpĎĵ9$QKҸ{M0M7XK[_x`rVɫc䧚 YpN*d>D$&9`n%)$CX&: ˢڔg,I,SX3bd,149bVQPN;EtZ# 7Dxx!*ὣ}X7t *J{G0 (Xk/#*p ԸgF`nyjX8i=}!]'`nk(nx(gi-}^[.w'ּ<]fYuz朱&1v,zVUXv #Ssmum3![ .y|ˇm|!"EYړB|wta&Q44:h :߁# diw[fcK ^ǥ9<8Rk>4XMHao"tQ=ڞjBG,7>8_ZOgFOndCs9?d6x3edw`5#|td u)=^X&:a ʒ;S el\z ;+"}<4J>Ol4;qiv<Ԟ2ifG&V{b,SXxbJ:xFa`jV9@ l۽!ЎXi,I,1cytۭ G+7V:X:Om7KF?kS2'"^}Aѵ"ŜS|v|Ugw+r~hBB| k& 7v/G'݅|c? N V{zv`ϵ=(.W*̰/,M(=~\Ѧ=(.wgZ_͌Z,tҽf":x_!)g& 9'W0&ۓb[ـ`hYikR{C{XۃB|/#^*>6QZڞw+>lR|kmgiw 7Nϵ=(.߅W Bo:]۝B W>{4Xs'&GKtZs nL2D?-N!|vbk{P5JRsTV˳$iyףr@& 90W&<7̹rrM71&cNqwBi{sm џч޾0i&P&L!):{eKO=5jMb 1eBK(l*] /5`TWT4eɱ%fyZTbUB[.*p(vsZC+$6PdAP-aV*{ô>qyLGR߼x_xջk0 XnJTO%rCj>hr|O`܃S0JG?^]OQo~n[BFak|)'8ur<`{0=8mWfQ,1WaG6&6/k  ;VƯOD=~iw\RzUm Ir+;l{GG0tD5֒ǩ?;qie $|RRX;ϻr R <=<{~_cc 9ȍH+&?25A㛦UeJ+t|ºyFpZ (G?P-bX՘|& xn[ƅҁFIRZrl owYI mUj"󖈫ɔ 97aBKNa }/'[Ʊ8`|w1Zs^Ûq0L)ݑϯ( +z<$6Yp\dtVV뛻z:7ܱRHhN'|6 ?np  `lMq >9q5 XqD(I9%lUak'6f0cd0l&FnRhیMwL!=E XRޢF9TNfM&Ds `)d6MwM)˱o6oJX9d4,D+niUЁ]}#];eV+X ]OՀ)r5 f%8,=&JuiiXs[*} wBz5+^k~>&7?~|ŏ_/xÏɏb ןa8DŽm]^R@mz4"9ߊǣ'\(gE­|)uO58xU Zw ?~xˏo)?ެV-?WA؁0.[~|kj/w{;}Owv+, ?g{?_MLF'fLS]&ОLdo{r)c92H'ɩѭ _l_W<1%dw=wmWJt ?OLvC4e5r3G:ڱJpolZVĢk+NzgvX|< |7~v}vUap&է=EžS.~Z\RttE)tzց攏VllbndyIuʝLkV7bz?@t@UZ3xh=ɇb?R?cwl!TU7- gq(f\ ͺ-iS[zӖmmisE^'V ; [~ mM0d6э{ J?_5Ipe9wY-w?qI̵:S_T)HIk %nqh<6E>5i*I0 &a*{pعp'/z30 ]Kh#[;I|my=7) wLT5ϞII rz5>5}8Mz-nϦR4%JcRI:-/ 4]՛u굩m]nL5Pb7sImHK-&پ#qC:Ot R?Ql[/{.MK%kAH nj(%BUǝ3O3ͶlUgOےB#VǷꂮr5U Rz!4k}C!3^;%`1l 0][(] seZuɽrQLXX -[dg).2%}ڋQ"A=%:sP{ :b9s|vm+w]j>وGf/,N&ɬ/4?˹TaH?[UT3Vt 5\O()[sLW(<6!Pwkv+a,1XHK 8pfbs8ϹW/[2kLY\,f3~LdoGy@cZ~ =jB2n50wUѰSƽĪ2t/ɟHvvwsi,krme_cDJG}C>3&L}\E4YN&dm2n^wv/˔B:39HNEsx7u. (h]5YS6<}_rV<ݒFkce9DFn Mi]wj=M O ooDe]~T&TSeĵn4Y޴Xw6_  Tι^K)wq o|!@>ɤN%)hɃ [aڎ ;eXE{kOƙْiqW'Q޳o!(Eār!"DsBl?3췋LS.Pj=@X ۙMUץt఼MRF&ET0ହ7s|ܿܙ{M>goH="M;C+NEo,>0cߕ;ax^'+ʞoY;F>6d0Е<$͇+g8&Hg5 `-J PCz^5p3Ԇ7 e3`X?6+SD> : E$gJ iUK<`EbTϼ: &<[?;F=]$v_XqWR`ow>s6~iUE&9ka@{[@/jjk|6c=!z_b-S?251y7#UW:ț3!Wx SE˩˷ 6 vf=!EŋDM`L((9'B{h??i^#mWByj<^·z-Bު&%&U:+.G.ndhc姾Ww 7}[ď!^rzA~_'2xe]ox>uRx~{X vQľшWvloIXٮ_-i#h/涮҄c뭛Fߪa`¼g~6 ~ǃQb'{ΝM\K^AT[FƋd?ԟKxPr:hWؾZ"̉@n[ \kXP/".b ۋ 7t)D( ma{vR;Q׺zvfJT W_U_+exO|soXB4#ŧ3S|#z~ o1W\/yU_~Ck]xњbo9=-P̠0m܋W($}fIOg;+v#}Sk,?[n&7=endstream endobj 565 0 obj << /Filter /FlateDecode /Length 365 >> stream x]=n@{7{oABې"Qf\`[}fHb,}osZ-:ݖsƢnHMv.6vsG 7׹Myi\xXܽ?JkR-];>J=СЩرUQV:JtD%'6Q6DЈ!J@#'W9rtk^^{=z9ʣϫ׳K׆4DD1QQɦɰo```aa)JD9J 70o &  4`0$> stream xzw|Usܙ{; ($h衊!  R,X"B *,]WpYUȽ3s$~|~v&is9ԓ  4ԍol̔9%$_MiYƆMs.S pOyɴxc}aF󤩛~t ׎E3Az9 oKllsL^9noPfhMX2iNs_[s[y =-XGz7ٓcO@m ^ǘ>_g@]o//p7쀃 =XxYp@@ k$x8~!9`ލ$X('êc ŰN@ κ{w4`?*Sc9:s8Ȁ U П$f J31#ђx+PzN}Yؙ:G$_q ' *2,$f*JAu2Ykq@ ޵0!G~ P6ZG/O' JW -x{#82ԑKQ7P b6+z$}~`7dw3 n \݋\ sH 2V:JvT9Iޢ?/7R*LS M~E z&~#3]yY4>9>F4E(<30&$\<(q>v N+%qAQb GF="L09 -SSVES9T+>J;4z(=>%2F0C`3َnfɖّ]noV6:dȾpn.wA!H}SH% [p7vIІ5CA8Dk7ȭa9o]}!r8W+z,U2MvM#·۾xLpoZT4̇z˽ȎP1,ro bdi6%R D{Pc^Vq7r<. 'pNxUy.F(ʎP?x6FF89 583<o%))FwI%Y8l:2b:tSIqOPQ`Vn/}w}FtQp7^E5Wp˼Y$_Ռib]-N͚O'N2C|Njnolj3!Vu}áiʎhm\Ϸ_ւBlM?$vO$~Id[:fWܺ,*p}5`X#Eͻw *0~=|1`0[:X'Op ~ gb񙓛!L?'~cF\B~njZpu-KysurjC1=VԸu-luuwAyWyWn%p$lТ0qXɰdUHafW g01 Ww}%@E( CPzՒOGM"x|Rضlʮ}vPARIig~5i*gqmZ:/U65N72yB,2g0r`*I:Էk4nC-θz1})5BN!]݆sf/םy #a^DnÌx0ȜvE@"] B" Oq!`~EyD )nn?ڴ:{B#2f&Kё9K=-DmTNBW8)d!H~T0ᶰ=~w _|=7X8^xظ[凉Ȼ!v#jf,;}ggYKi8l22׳vRqi粣]`ZmQQhd}EBJ+Mф+)5$turlUcM{** 0MQ^ޜX#=,Xd('/'X f'6 CWʂ[ 2GE$K]?x\%ys^ið[ފKk厝O%n\8Qg6Gd.,ʔm a|–nR? վGMBju0 sն-J} VQ5F|+_ %EP.v]J {lH ʀC9 #` pW6fIVdH%3P}CzX hagwFWmM𶊥{F绽Z_A_:٭d K{Q kF׸zV7=csR]^.a4R#/~"'%5^pYƠ& *-r&8xHI hXiFw 4E1ki/MїE2/ ӗ'n*9JF%Dt$$EA_\Z1q7uW(WNNo0-M|AŌ8hSvͶg&6N6)iՅ ]p+BV ]Z`yo@JJ~k TfE4F]0ɯv! F_1dA_WIVNf6I+WN >zP`Cs?NAϷs1#?r9:~IWAG 2!&d\-y2"2άR# #`[múТIKJHp$3iXD5Uw>'w:^'gʟ{87 >|՗կ3r8pd,6 @wA*?蒭4ɬ1hͦ*j#2L}>X#gTv;w"]mQ\G\EpvӣwXG(5 {<'{ݒ͗|즫|/lW ~Y%,#V5:) z V.J&HC&3ކr^#=F0-=m%D,$(PC> JL"7[>t;zɠ/ǿ&?2<=,35o桏=~:P"\T}6r6i$==";#I2rIEl:7ˁ̦T88TEl;؝PҤ(C(AA2$}ר!X#7\]wΊhdhq+G::;6of+ n'(r3/OwnsS35Q`5 uFBMz0Q'`*ܞG$iDS"'mUn7?1uNݺ;E;(:{N,hRjBQ/d2*r jVq #g54E YmF8X}N2} }2a0B4ԓBFmK.QY2xyCǒ<=")gFђb|`_k:9W+Pј3\ Vzs LkԄ%K }l:=~WUCA i- c>'L0X}c^&K( nfoLꁤ'm"_tZX&))Qh/:U[;ǏITJdʻW^xهXuCθ_o u$$cdꏟ[l߱Sä}lŸ>Z*TD=T}5LԝjRZF<\ _,ZI0ap^8P YFEB&|Lw֙ ^>48y)gv)+bh2V>NhJ峵3![ .[g_[Z.w]] Slfb!FGfN,?k*.\{JzAi Ӳ\>V[2MaPkDa1vcx01gYàNÌsaB^O=7-舖@TlG=;n}W>ygٴQ`]c\n͚q K׮Mw{z4ѯ>oM}vfp'?|GsEc)hMgÖZY;]o_W *6P2365Gq\SU!\Z"(%˓"ioP mP-JORB! A%V3`P$1$hј-f=?_e_ %+F?'TޡG~jǺdχdȄz%^?sv7 ClxRǭ,Ffh88,jz~)Xkj=VJ Ls6Ha=# -"uKPu_ 6 gc ӑij"RB*҂ڋ8YPVT߲C __Ps"#Oi\{]wϽyxIY'<}5nq]١{747qP1ͼ-ߦ\K0l FUҵB_x:eA9\OpR[v^j7$OyN+E1)yFA WZdRZIѬL+4kslM J~U dʮ8ޖnh]RK9Z1Y]k^)WyHۣZư4#\m  *:,Σ]ZU]0!@t N"M( gu'cvS6?6nAS|hZ`|#~9zkLD'ooeO\/3/^(y@t Yp$:4"oT{{{Cӏ:%%9Hq{9FqBee.:˒a9*MH=0rٳszJDn>x[*$9ɲãԧtA'3R#VR)ArF0FT&W0C2 ȷ(ˡP(詢 #NTBY:73Ku*wi:)=RJ :]+?mQ)RRBeWV2q=Έk6Tl0y8JUi1>},^SbՕ%y$~ ) ` I B p1 55UDCchs3+i ]#,9q0#oz9ЬsݥbO,T}ZF)"Ʋ'mm{s\Ɛ]2ڕ=g2oVۺRhzJVzv'$pdm:ZFVUC(+Uc n[fBth"2:"r YT8P8F}TE9E1ZW?z"Sk)PGq~ȌԲǚ?v|YqDM{ mRVy~ԅuwwG77!JuaIVb6vA64Y85*ԚИԱiӃKTKK4-  ={24(l&eiu̙V9T E`ҍ߻FqgmOWfsr [vxm[:0BaG P='9 B%:,_-2^|SL*h8+< @gӰ6`dO"Q!@d2"y.-$7'+8#ɃZdj!C7|rmB޳~Os`jങUᑋ_ߜR7.gR-Ԕ!+=q܌y5#iv;;{QJVF(x=ȇpQ4r4rn2K(Mu}F P/+kɪ-Ach[_O7 RLƓѻ ҵc?)ϲ2N.[rjzM"$#/_Lߊ\˿/U%$fXeXmWFYܠj Tѿ.^r6.J$0B:A<`W #^v'H?ӆQF'h蔠Z9u=#95@Ej~Mi }-'Gz{nRU d!endstream endobj 567 0 obj << /Filter /FlateDecode /Length 2938 >> stream xZIN @.:Z,cl$0@gx6bIPS\,]: åb0g_}<{3w^ u~lϿBL,nQwB7gp1bz,nؙmv[ 3'НXu%SNv;dznׯ E(n8-mwvjˏȁ8gНTGnQޥP:J}.4n8'kS*6 (ռW\E8TH~g\ϗzGBX.yd=aXأqd/=,8a"-W{Xrc{ {+App3E[2xsK3 LP/{+b`/~cn}R^sh!4޽ j1Bu (7Oܖ Gmؒ@k ː] ,\=kj#8C'WYpUmؤƢ^B$M̗r=]Mn{4kȦ5d/ϰSeXr *{My1Rhhv2$M)dNh{flh ?f1=Jg4{D-39qdJƴ HXk0lXp{hP٢63$är^qahpDJ8QqMmzMR||k \^ݢvsLߩv;U+wvݪMݴwZ]ou m˭k7[m',`ݎAtU|MѨޏĀ  $9B ͫ锣B> '[,RO݊ㅗ9M'ӐB@E}ͶFf]C*&-zwW%E 0p/̝i%#t#j:;uNQ(eHNY֌geYw Ọ~O'K[haLW H I3SxԳ6T;jk6]x8unn}0o5S;\qԲ|;^6Qf7>B ^*jexX/bV)`8eZ\֓=2_ n? #vzԷO ?Lx}TvI$ YKݰ}mmvk]H}o뷦M{2$Q(i?0}endstream endobj 568 0 obj << /Filter /FlateDecode /Length 4623 >> stream xTkKyk[0J"#y Ids9UYbs fwFDBr!'_8~]~3r0GA^+Ҫ>,}vqxuj [GMb{՝¨Z]/ԶA PI]WZ+XPw=>t @-6xJnFwFq3t :8A!J:e:J %y񌲔't."cPtc ack"U0OI9a^ Ė[ݹa0Q hS Qgg*:_avWÓNQ2SVJ>8t+i9x^ ^V覂/Ͷ˕UuWP :z@@*xUuU?["-{q |S}2x;c"%u X*Xް8NG GzA~`=fOowGu"q$ YVێ2mR]:ۑ} "%;!sVf#+(*س@WP7f}ئ8k&_"'"C?1,[OxTG iWT,冀kpG}/s:Iq{/Xp~DRF%d /%W\WPU"dI< c0Is ` }:Z >A| 19W D7tcYez_e疑qU}׮Վ?cA2Ḃ^{L--a8L":*a09 }c{^aLr2MQe[JR+/ wN DMz]'߱_=xkEom>slɓ $<:WBG)Vc> ]>fA=.na5`<ٸ>yђKzs_nNR,Q^Ox=#<#03lqSG)!- %;l1fL $s29mL`.gv6q{P4Nم82*^E$+X19fq >icbG1N+ i4R;R +Iw>{d"ZZQ|L2SH>1QDkK̠v:4]<ؠ{>DؙjD&A HEu2 `]\9bX W.i9#1ŠLPB?SUM4#!ajD,>V~\*7%)R 0ẎnJNdJ9s4V/ oZM>R,>"ȯ3B`jr5gFP>9) WAB! VnI,U9c&An~S5Fv0RoL rѬy<^C 7@ ֵH %4R14Bed){㍪xe(}uYm{f}8dC`[d',F{xj[IV36l[8XZj,[Zb@ yCkNĪD#Lb0t8R7?nL-Td5n5`}K u˻"RSPT fQ2@\ |Z]{%6dUMgH7A-u>/,^4=E]ЏuAk| 6|P2iP5خ ÛzjLGo\)Y~/PЇ$J{;R ֩Lag`|RÓƜ]ž%]GA I+#rw]vPVbg&Nj'Ǐ/l!PhƑ!WFnuTKq`e ekH hGN!XSf)ؚ2V5,@t&3TLeTSRwzƀ%R:[Hv@Bd.o*' u3{ wgO:S1k>ƹӤiVXMpStQ D4tMH%k-hTuJe3b`=!2߽X#/eB8|OIT}TZؚ!0Ĥ=A{QtЅp~ etxCB'6h}U>& Ō3/Cp>`"JSi ,!=$V\q;ء.5F)| RM|:o&?O'?=XO a!  n!nOieZI6*L_E( Ew&Ω,FC%)@Ru4ʎ;L<6Ft&Ã%&%mbDE$_hTiѢ [G]OaB]49HQe2j^GX$q#)D`zhJ8I"2>Űd_HSp'f?1G lF:*5NY1lw[ NoKR!?d;dmBhT3g2 pIZSa̫oFP Ն=X7ekY%=u615M]vK4P'ȗ}Tl}1*u<)M)mLsS]ai>o~721mUE@[ !6ثol M8Cm8 =d3MduiGv#Ǒm1h"AHo!c' azyD۲ʍqn1%ŝL TY&i={) wi"Y]F: | F>5xhSim#MՒ$-swz;g%8Mא-0ʎݡv#I{m%{Ir&Th2%5{0K> G,˂ 셯Xܰ<;7& .ݱ;,[!2A漠DI(!OIpSEKpȐd|a%wMD~["{2҄9y?`f1IgJaJ%q!D0FL>Y,ᏓalЦAh&IpJ◅䤿|KCdge M %͇^8YF?/te-M&]{+]>oEek6iW\ߓפX*QUVY/S- TpWO+t^% >`_ vLWu+**O8"U51Y&ZbOendstream endobj 569 0 obj << /Filter /FlateDecode /Length 7242 >> stream x][oqN1<:m`opؖa8"%V$LJKtu^$9Yz`s]]]GݨIo+?O/~;77Gjs~#Mݔ{ = h*Gho>Nˣ'9d}s|&sf mu۫c&߾*g4V6$^ *erNNis|i{ MBpxWq/a&MbSۗP:ӷ,UFUAgkZO'69"V%q/(ql&M f{yl⤓ >`m6?>;}ˣ)lռk_T:hBLh3EzLm)lC zDSy|F[mLr3&+ݓh2M`~ RFȄ8' ޱp+3 X8^<ft;R4o jik_U3uZՀ~`Y+7f_/>{|#6K.'zż{UcSt`(i~a`Čء#M0`xGR$ߌ1!y;q1UýsZr&MѲA".:YjC4<**ܽzP/`*@jO”Q6V2OOtdAV3wftJLnmD3fb3@sS<'티 iu`Mxav>.YTn$'0@ †ŤP0l@caZKSKٻ!uLn6lndD>xm9O`6'Nޥty`!*@Q#h4깿,w/]+0@J8쳩cu^ j YmL"ػlul ךĴ/ v3xTV 2Q')F43Z&`;&Dnmw#9rqF *%;2$.ep¿̕6.^TI ; K7Ý#,PtJ <,P|R`AGІ0nr.mWs^:.xҠ%ft7~?L4ґG8 3P̣. Y@ɓ'&/(5 9;6Mm1 (6x%H*ؕ@hFxznzE (GJ꥕E5EY kNҁv|&y^!V:h qB5*qB̃(tNo;-E6$Ay-hdh0X?2Y{YX0C3/`` <,@t`k=PDTQz I.DZM:HI SF)Xp@:0qyEޱ2xA4J3l .Ic4I Vrio ;n9H4|=xUz&0H RX_Rvb79ps]Gۘl[lquy+LHI5 -1@Xz)%`~ĉXc7|s INϳ. )ٜyw%BgNknZ!YK6HnV/dYH(VHFl-($CjB1Cb X,Ԩ5gPDZowELoh}`ݔLi`B?cqC@5y[Eb@T `NZZ'}2[.,!`d%TMJ_fE{^%"Yt扲r"X:k4LvC0*s]~66M |LlN Q/מmm1IeTN8x( ܺ1MHXU\e@e8CB-1D8Z*u1苓ٕ|m۽@&$n fW @)╖ Οm? SW(N4\@^Y8Jx#RA͸h2bu0=2du 5^z4`]a@}wUOfB۬E9& 윶C ]J8ܜiv@d*LedF"Jlfv2KB+ИW7Uz?djnJ>C [Tn)/8Ot*r^pqPd28g)l"&`H_I&S$2X=X8E;p9c5Kˆ$hb8Pz5zۣ\E56߅wS/ w6DZ"FZfر]o_rԴv2=fs?ePAdhq]i'@TGYVUEj']KXnLЕBz سK*erOSHC'(u z[\`PCBт$ d<`!-h%z6QIjw0;ى  ǜbW 'YYmcLJjfLG*?n<$K5V8V=5Nc\V̰OF\#8&[7]ϸf匵fKd7ď,+!&|/x+ٟ#,8ѿc0E $B>ډ :Sy'=@mNcOpf:D[{zC9cGzZd=#; N'=BX]s[m) {SyA>x=#!2ş3CdOMx+ȣ؊f`GVͽZtBEFk`vFlQ>lz,J'㊕wg&Z:ZIw-ӓgס6 OdMw4f 74dџ`8 PF~ ߂ŗ[\؞bf0!JFJfaxLRhƑ܏7 ,Aγ!vW{zҏnlPa@iaڧq2 CsȖ) :X/P& ^ c$={JMWyr0vAШ0E,,KrnTqJB0*<*r_#Ӻ}gayFY$X_uT+᠈bzbHyKoBrfro4gx bUw[{$Mv s;j`aNb4jiR2!3f[rܷ/(M01"K%Ոx:q^ -GB3or̼[]oи@,<ʐl[1m-du( =Lv s愣xۜ R׵=L5 *ոLUrWH!Ɖʰ pt΋ʈMѕ2T [@,Pn`̓WYO+b$龠 br]A'∺>򕥺8$dM$a.f}g8C09-sޢ郣fEC7,Du[n~,P_[`1̠3M\/(%).Jm,T6~I@*$Dq[#?ůG'GoR,jI{BϫEK0Agd>V|%d汞rѫB*5@XU{!&}6yw,`_ZjZw~Z`4Kx\4okT˵˿A1[UL5٤eqQiZ aY kN * {\@o{tW5HkWFMjl m`f`3Yk&ҦY൥חufh \SGYͦl W.&zY >%[b!,T#s[U1,)0X I M?1tm|zxʭiWnk*ũx^@dMF.FZ "!Yؔd"@,Lܒ{6,riy>Rk@=5N9a6n^34ŹܰL` YUNUB:Yx)tB$AlTRN)N|#x!&Odr_Ĕ*bml2'ZVT4Q>XD !\iރT6;JS - >Jk;G7GKe.aN\4;X\U,ݙiRȃ/\[hݥy.G.^k3wlowx? Kag/9&s+n !Ht1_XA9`.bACI6Yԁt!F@VahmClY݄Po'V VB)UWeWAWX؊uኙ8N;!8R g"s+KkL)pfWBwڴL,_,&3Ȝ!U#T+:b`SNjhA`OFoI/uvW JIyA喬僥PaͮaXWmA۟w2W>8X"U4dzv *d=-]*h""` ru#RA=d 3'Z-y)VsTu`bjbr}iW96#(2[;c)X_l$R=)>1"kf,'vPqi7/iĪ}mڼͿ#G ً1LؿTrX|-.3 [>꩔͗W~4\X!C?M];>}\~R)=hr~0MHz6/kim>:¾>}>|*FYli~U|]/jSLq%`Ww7b8͢a^׷/>dP|,um]6Ԧ0#jSLyeZcgwXvF`6=z!^$$r~ j81C y+DՌƽ݂1;.k,͓SїB*'orX&mbjB/BwڼŠH#M~?HXjs>}4*/2w_+ZݐQr7\3Ec .HOe7ܩۑXT@ F]~E`.MZ+eDߋJ3tDeUgC&P`bݝN۸^5ty_=OW%O+בO]{G<;)LNϲ+GDbmcdr=ܫB 'BV(i=*6Gc%X\\~5yW/ h'Q˭au|Nl٤)c$ e[u<{X^|ʸToGf|.>walKmI$=`7ˉR\D}.x@Knrh_ZvçrzOg{CsFkzGu)wg弄w^94>BߚH3k )kGV[SO߂ǘYV~W_Ju|?Q8iL6rk>d~Ǽxym{mLCиTD]Bmnf\ȭ=1#ݛg݃ D%߁D;ftL&H4`?hJAް&r)PW5 B:bo#^28Hł~=}j8MsscŬ;<[4 ]̖(OL@vx Zl9ϟ%F8ӔS> [^:bdB\fh$/х/Ub5.qOSb_Q |ٝ'\zf c tFd,ׅ:Zv9:kE& E蚗XLBQY"XG< eTtvF*Agq8lC3^cUE2!ztD}ywh4ȩ^uB+w#Ͳ:srn+vEZ &?`p;ǀ-'`Z`YX^ Z1@+KUg‡*D%?u 9EUQnE> stream xXr[7s18eU8q\ '`I2$*GE_J"5`ӍRf_{r緶,w -~Yu\.n alPt1ͻE=k&!/SHCqa\QWP]bjPJJVa7gJQW+o\Pwԥ\9h3~_;gqP}IZے@n+чnt:FڨztRH•BtYh8S%*m8orkwz5֫mU<ю 3GoSOkZRr*D~m>0bjzi0R>tK6/w7KeHtYmX{ok#mmI^0T͡Mrn4IUd}ـQP=[(er@!;]0RWP |I5prB 9㐐JRr'!GA$jw\W:'dg (ygPVyGˢf5[JJFR#&)>p pY#>:~ DMi=&ګNw۶ovg,I:Rpy fGN+Ǹ^M6KY<}qeAjtgnJ+*eBF˲Urm|@Z[\CK X%uTt-@C"hgEv8UEr\Jm@:cdI@Y,0* kؘvqjA\F:,@h石zʫ[d%Z_tDfPC>c#4ZUdeP jhC썎nZ[].k}s>td҈m/m :Gkj@j5o]Ӎ](4A7c};㝨~k+C3sX'ub4L:CV>D{5A7VFrTt=$/`VGzst.7/_t??}]cpd(}N]23f|9Ota|֘0Csݿ¦@I͑}Ŗbt'b|R(`UZjL(mpGDxmfw0r x:MèXcP7H`q~Y^ W|+e]ztwX ?Y_^]_ˣ_M_*2> stream xŝ[\mSl=:}ﶟ$rdWjER-^dRh.-rR> Foz'qOr濞?==H$G8J^ Nmr?rk>wzރΟ_>9_s5q~|}C^F>?Gax~a/y|qf|L=ӽ~yXbL/ntx-^aNb^#77%c v>ahc T=B_qy4Nm䃄zXS{ [fY ւ}tn&`&Sx[ !'B1PM8eX8E Aq 8ZcP;41CE$̈J桳cP:p :C {T\V [&VSBAl9x$N#Fq:4h4`8'83ޕ8@XA-Ca0La)&Q\)L"s\JGI'90a$tlN GfZ9̡0B6\±)c;bS9pl:ذplB*+Q(4q r3.f.tCSĮ*7S94aBCS_ *% V9,\a$+%t z)UK;Tm24Zr1R7KQt]tgGR[&pl<@v whTrt Z*9hUڒ)JZ6\逸ԲMMѤs6Lcއ7鰦hf\P|8>X_}?K=̣\A;27!ptSo_2y3 o}o>/GrLqMG:a*}z'O0t,Y͜!5ޯH8#cA2$28,3VJ%ГЬX%gnu [2;i>`i]r $tpK:cLkNP2k0\YVY4aIfz yz8T%_rA2'Y~J4():9ֺ).DѡQ8*9dkX$zsp.gt%mIlsSOɘ[vry&΀s.zi:c9aLS0'@Ӵ*YUnyVѠ0]iQ=yL=;%uK(UME<~oIt"rϙ;>'E<_O'*>#%Jp ]Q8\WktmR-:y98EXpM.l|yA*NUԧN\z| sϡh_ V6Mɘ7w.2d.⹠[q%su2Es0]e5| ǧ"~42yOt"ǤÐ#Ma1Z$\W& vv~72t6]9rT:iO">a\5"9,LDtXO]b哉#^}eLǓ,:S1fZ6s _AS𽗹Eq)swCS+xe.gj]qp(!Yrϧab\;5{GL$-K$7qḔ1p{ CSTKNK{}.)I+rp@ݝI.JWXW9yX/z,r%%,$e9k- h٩ZKZvJ֒֊n%- $eʵl߻֒#Z2t%ŵv7R Q5qKU ^.U.-([*[KkK ˱;|$>ie+oV&hXRBt([?}v\*o-;MdD%Y8o%I`#ֲbDxk|?d[rEkJڻryka\f;zH5*HesJ^孹˭ֲSW;ֲYK[fWx+M=QkLAKy o-Qy+9dc[KO_Άt#L.6\bˌy0̬YFdKL-l89q"Kin*Bdi8Ab8 (֒d y4#H,,"Yz R$KU6ԑ,eJ,$ T$Kk@vr"[BЉ,"[+BdKƇ^t:Nd gJvҼwߝQId h% '}w#YAY7Y#&-d 'yI,Ɇ{l|?9-I.ƒ3ƺ=g<G~ǖD4[QKҎ8p oXDZyb86OC }%в7yIp,p3:ciY\sؒdJc=)%km4$>l4MG;Nciu+GEcqq,y_6DZH"vO+yKVi`Tx^T7.В-:+%ɮ^S@;E ehsCg %#WYų0qųoxee^$o ϖHςRxZ ]+ųen%`CB,,YZ~xުp҂4$]4sP:K k0N bϮYQr.-Dtgb-e\R* L $<9'P'$vVBJ* (EKW{C$iR̓Qp։bg)-|˘䥢KDVmkbgΔ W;+.pVP\ÂΒ6 @Kv4*ߪ"YؒSP;jvM 0 ba:6Xq4aLuX0X3RXpF*Jaga|ag~;\0{bXF3B0l]?*Ɇ'֧i6wRFaulX ,U]j?c` ºn.AyQ-O|ŒO,X쬓Peae)v)R/lȃL"P.aٸ9".[(S.Ƹ,P, Ple=(,8rYHFc.VDe=(s,G,t\7qYX>tع#XQŽU0[:? 0 2KKid6Y?, b),LK켕"NhF^6Q2] -#fAE,>E/+s88͛])6J%̮5xXǾ$^ i:*Mh@$)(%bdWS,`P8 J&%ZdPJ&%QdP2t%juk|=Ա^^.U.-cW5-cԱKQױfyuX}:rX _}vY*RmUc' C$c\XQ\ᱴU )M|;R_Y0M&V Q&޺qj.եX:w%kcv`TR 8Pd+8 &HplP `Mq,I}Vp,I83ȂZRY%5bm*>b &FcI!)4U cS 4uƪ8%U)c tmfҵ!c}Ʀwɸ Ʀl`,8XYW鄱0``,f_EFS*F$v `UpXM-_M% 0Y Il*ȷQĦL%dߡDHQoC3(Ƚ\Ns0K[(0/ M|wƦJΒƒ '+7BcݳmXݭ7T_JcS9[h,LUR\0MO &񻱴{Jc#06*I^ TN`&,6'ttb}u7lbi鄎J{ G ’0BD~@FJM¦YٓCp'?{/K),9RX?yR\tz5 ;oEH( LD lX:q#d"U!X?z"XXE0%Eq;_JMiƧ%> +JȲ&WAgh]j#"y.Ϋ0"X߳ʳȯz"XS"dEO %` Ad `iUbdE5~B,$9y M;^̀Lֵ\R;%-Kb\kI@2Zвֵĵs\L:^]iI@˂k- hYp%-W$eZKZ+kZocT y=TiV;BIZ\b kUA~$# cK&ŒGeoǦx;0FGT?~ql҉R9ʢD,cBe+}ZNʢDl4#P6qiDG С,'rK=&N %gNM?5(_bM( ҿDI$b_BeSk<\gX]T+Gߎߐk)K(̢@,$`v삍b΢#bq fI]Y0ޱR׏5PAѯr 0WU٭Y0Y649YY,8YYHeeRfg;dH;Hea0MeY],O٬oNEfa6YZdYZCYY0YY0Y\謷lt67~I֍ct֧ed6LYٔ}Fg}g}gI.2 PJT>~k|Yw(> T>/YYԙ|cY`htdrg5ҹ$gi5%XgyoYߌFgaxJgJgݓŠ+ņz5S: +t=G,xYĿ(#ppD,F,F,A, GX,v%lUXa͂+f–Q6 ˩lǧh&hSA8Yp7e` ee:(vP6)YXe0sefװY/zaK4D̕L:ظҒ% $eGk- hQZKZdp;, hYu%- ]$elk֒k- h],[jC:P­P$ޥ%X ܥ ܥҲw)ytV)/p ܷon_| ߾@{jOJ}\fo+C~9owEg^LJ7|f6It_xn`GǠg[9fϰSUu~&B#Ϯ#vz3W補-H]65byش{{oQ[<:Hr=>1-ymϢ}r2~4 GǮq/Mmԟ1U篯o"WS=B:`}2ܥW rHts=(rꏄO =޵A, 17F(2ZG۹f8 f{1'Dkmhnl87E$΋b1{c.z.'U ~j^HuTU; ?Yi\JQSM˝}F+}߄u?zfR~ZF*DLb M!s| 89# ۮo*Ͻk:?:V?kp=pPvz.Tu F^ٻl$(aɭ G< i;6h}5}ی? DHΈŸkp3jNc%:YZ9[ th3qHt9eleC_cw-c Jpsl"wn#=6xLkFz=x Li{ku~~{?GXs!uwX]Fnn}Y>(tO=\wEAs͒4 r`q硸 beY֜*Տe"Z/zyG=^)C 3zp!as?*%'p41ݨ6g۳BC":Hk6EK{]i{t7.M+hr/aCV̓"/P=Erq!31A瞹<=InŒdsT <r\Lgw2Oz%⋒_#R1,?T61,s = Dݎxt08N %]e5ӂH]'CߤHtpX^I[Vs2`1B:QRVD:"87\Rj@<x'P|AdE4Ўs*=\YJMᷠ{'uizq=VĿKܷ\VvJN614 `{ϼ y%&C=?~B~ΔUb׾c;u/{̗i{r"AA%Ӿ)encL } }$d7w& Ypףw9_}_O; |⏛?1@9-|NXꎦjJY%vln2x> Prb1J+˻UޗV7:yr;pࣤ̎Bܥl5|cc>>?GPx/qS?>x/7;7;@ ;TwnuaPS-_BME]g[Q[&K;{$_]7%&*y' ooU%Oy`Wݍ}s) /7ar{2JhO;oٝ?~r3|}SlNbwo>بs,a>};W4"endstream endobj 572 0 obj << /Filter /FlateDecode /Length 378 >> stream x]An0D9En@o7tâUq,H}g袋p<Fxz9ZV˔>Z-:ݖsb-!ҙ.\Tvsrk?JSsҎ߹8u<},jŹ|ŧT]vQv7n6(7m[} ];>J=5Qk@:9;:;:9;:;Ј)JDDF> stream x[y|Tսs{g,Y' d XeQH`X,"*""C@XJh( }>*;Cޜ̹| PC00ёb13y9v @6}<[ιe9v{l#u˭ 3mu_lYPm(L @3 Yfͻ+=_ o=yb]lwV+26qV[z<ǜwi7s}ae;al<0䍩ϸcMJOMVW!x6.6al O^8APx&Iށ Οa~fpt5 b;I$dA9,P=8: n?ݬ!b 0\#句vF`xSi`Jݣ< {ԴT{x8x/&{'.vY$"|j+q]x"@L2%hKK9K28dCލ0V %_Q+e1GS% S'ivtH!HFaGs荴I1Ù=[m)RRR\p̅t8k9IT2'Ot9DOSD9&Kѵt=Lb3G?1IɕɷRORߠCp&i@9b'޻jG(.ݟ't7=b2 z2L'W~UErꤣ$:vh`r8fޯ1'K%c m`*v 6}pù1\[LNuɾ}͇l~Ru_C%Yb &Z2 #5$k Y{T s7@ ^!nŰO>dI[qxs/"p(g۬hjR!x2@^ ؠ1_l'b^1/v_;'myřSef4=3zu&z*?[~_ɸMXuKaRAƺχYzc[oYZ"1ZmknDuXif\aF 3pN* huĢHdC#bp8N\<ڳbsQVJҫ5pttt2n kG#ht:>m5AQq(qz#w[&!\oB '!\W+Ep ?p7n5&ku?p=ND?p5qFxv~ 0#p׋!<G87FF cM)7$qfᛮ"uĠ7(! r 8SPo.w+{8=԰wL0 Tӓp#Q1qc FL%waT}KzRZ1^,-X,V,9IJ%째l;l`E_WaAΘ t}TSVx"@)'%M⢁t!.l+0 V{ei da1>1 dׇBX/s1 >4JP ]{ɋ ;ΝVx{E>1ɎZeRM';vF=;`-sJ W} .jk~ZsJ\(ftUr5_y1k2j93J Skv :&yg+&Oˉm9 ww*kwԺvOvGۥcϤ-du&p@vD l\.67ʚiJ F^}PBaj9q̪i.B1TC㞬ruvCX|绵ka HN_QT8pA'h+ h03#+ ^;L!Ħ_ 3bgP RH 1[%e g>lԗ,>Ad40o=/vO}_#w\_ػh'~dudܺ I2aN~o$_<=yëq4peF˕Tv+*'jM?`*fkr ]VB:hJTU+HKQa 1(/ۯ7Mc]jϭpC6M>M6_|ISM4=y@4QC+T[ l?AAh &ë7`(,8Ɍ?h\~,[=Rrl(f6Ҕ}D_wHA".B+6l9 2n$$ /DnŌx2fM&&J[%ZZ ijƇ >)[VR̚HҬPB8zÖM:ZFE%_?bQޕo-4F brnK =Idܣ ц1d|\Fa i̘n3 ?7pGhQѢ+6 B@TJݜ4OMYOS=;";<ҧ{A !LK@V8z36àՄB/ L.X S% x'BZ%^uK f,,KYq߽O]ŚG3T! e2 :_}ŨxKdZxٱiѠp*qF^(4h4ϱtED'':_))ѕ:lXE{]3ɑ 1fK>?o$CoT9hk^iDs73 Fw#T F\n1Ȅel=;ͽн,B06ӶȶL:56ﴡy222 Re|?ͳ35{b"-i uAy 50A&kZ,*S(f63 :yH,f𽡠O_O_ NuF%LtQػI&^NJ;޵󉵑gw'LU? w~CF'x -z`1 e 'ra gra1xerEx lWUXQhm+׵~dF٫-UH*nVѯDZPvb)Co1I An9G'>86;@_^,I5NvvR' ]`Uts h3Lƨ*jde-sC998_V&+Bf+\fe|ιy'gSx+CY|f mmęڋúOH|-ّH <W}zQpiZ֨ee@#+$nAi>0 d!4SnNn=PFIIq߲%"^&PB!Dy^{+ Ph__4ju^K~A!exE8gf8O=}N-&_Nr$B{-~ÓPVP9C%ZBЫ䌣ϒ*We.-ȮWI+sz- P'QC%u**ٖev%> C lD2IA裉5/.4%MpY_S&[ev5/R]10+XK ZHKY?I혮Iy(&я Cb!;ių&&{T-|ҧ-[l1hW6t=.oևLNFBnG͍ T%Ggb3rF+Qװ TeXV#hFBǃLRցMo=IwKVIb9HDbd@I54[LD4:gfrV֡]f/_22tFQB[ӍzG *,dB)JEA6VFMߺ=BV%R]E+kDvk0.df>ZyJdO~حc 1%$'`7(tT(,28ENGܟ_d YF.q)1YsV>ass6ѺMne F1\v^2*aц QݥYlNW{|sp4jzWW9++&T&T6H -o8( d1[eAXZgT~_KjC>Peħ]ڹw0pŚ9v>wD;9my(#"Pb#ALê۶z{֤1c9Q +TR0YyqYX'&$l+8zCvgs"Geגʹq`Q/ 4$N\aad.:D &)xl/nZ##yACwkgPS{,KKcGTv=Cw{!n\򃵉rr[ѵƥNqsgntpz`$~/Yέ4pfK3U?MnSD+E:W^dyOfL^NJL8-CPpfy1ⴞub lgVU1YXԳ?gEGu EwLv<}-2~Mv}N}ؾfWd ^<+!̝M:zkd2:Ϳ'/Id^f~/GMsd@WkjuKpjz?/k^`^p{[Aדg `79,N)XPNGn. @Zu <*ؔrE P^ T`+,/wOuLk"WDDLzq$U}%" %4hʧ@}CK}G>ejBH#\AYȲ1s>b3;Ӟ\ RvM%+/kBAI 3O&d[IP oC+!Pm;~ýt;uw:Ɠ}dĸ±coH#3g=zܴ ã96+W/~۞N2BG qZF맕(bh/WE|`LkR]I:d6#KTA˒me'U%&y(֐ ӚBHF'dg`\3K>Sj,ڬٞ(422 .3F"~F+/ uրeۋ= DlE[|3V^ȧR\ QҒfa # rɚKlV\$$X1s띹"pUv%ǿTb,M֏"ݗ7gwsw Աߌ\EJ(TlӸo*%ܼȩxl8W:~o^}Ón-F2+o9rU*E9md5j[zZ,(A(25 _ǝJT'$Ĭ 2Y)Z3^YLx#z"G_QcJ&k1لonJ{GO>M"ϭkڜ\ص|#6r|q0%ŌX*< lk1?nj7DžׄYFU?A*^im6 efwĉ= T5hqj) -fdFYВ/.7)ƆiK O !y*G2gSɿ%'Ie \:#R3 )Xn5d;%_wES$Zhq_Mf9y4å (ens{zyRh8s$k]ڹ[rbUb l4 bCzA;m͡/,.yr[xt.fI~NoB] X7IeLeQ'V*Z( 1 x@::rjeK\:|SsUDb)Q||EQPYN`<l2>NFOJƸ#؅mYp=m%C*#rLlIR541UeI7P:S>0E!T32kQ(e  G=/flG2\+7g=#:oTCF-حVP]2˹a #˹t)Bso's[n7'FB B=J&lhr*wR=@fr;/e'c-;Pn#<LI?(eXn.~9y93t }>$,'X,=Fϱ ' !)dv*AiS|3\Z fjLMa׬v[=*с["uI;v>KN%?Kvm؉w9DۤPx"8Y`Q%&oF(PWMUj5u$_j5qHG_ӿ vLGzzd,0kqhR5"^&;oEϨ n%.]wfXxWʥ_|}W*Wş*pK :F͠kh۫W&@jHTᠩG fv3;C<yS/urm;땛3..B*߻شo. B,endstream endobj 574 0 obj << /Filter /FlateDecode /Length 6566 >> stream x][od~W#tLwx$ ։Lch4Ҵ,iƙ[i4Lb._WjW +}uL^G*{}KMO^|sĿ+&lѫc:k9h39M8mpU>F+}mŏJ ~4 |niUQzؾNyҧ`zC]:$rX&vͼgJ"(D02T\=&8jI GVMy"ŲRdF+5mw`-Z<dXsԁuY<44%Rj2hUTF[oThB#rw1JI, .;kM104ZcɽCκ5W~CID!mZ0 fr?*W vBRT (wB9VBz93ͷBvОap$dA s :l$ $IE[=}e)`I"2 Ds19Vs@PlP ! (kZEu"mmZ_7.ñ푄yC3ݜ5 ;>Mʓ&[ Q`)ThE1π x]a6JsZ k 5z+aHV,D' bbz# `-`F1=*/?< xFcJgaelBY9\"@/; JW!96Ixlaw%lp. Kk 5|+ !,Z ; ,Ou;vLOp!8؂gQ-*ƷDݎ֞%/J\JPS.j y" lQ$Tb%E&wK+I`e ap8KY 0KGb .XY~<< Y$ umfSg+7nF\oJD_nyv'um% @Ny>gRhAv̶`d1twDM||sۂuծ[l9n ;7nnK-1E~oRSc™]A&Cʵc[66i׸ b >9 镉˜̉gW>&/IY #]>PDO+Ls6Ɣ\1?v7 gR L-R%Րe r+"1*Ҡٙ)H%>=9ҁє-R)&) E4J`ר,(oQ4yQrM2Mn) ޣtMdZ砜0V0(T(l$,-X׼zBˆv, 3D 69IM&Ce384\MZB*!~ʅNB{ iYz܈zQRI3hd Gtp~LDl!2-Mע<tD==Vi2oYo ӡ: ^q&߈m,V2;-Ƨɝ8 I3G\(ɼB0+= m]l&p*2YXW \˸yq"6M~I7|:}s<%uJ҆vWjc6@3fl1d@0w-nљƑdҐ I9/S{{23ROUŽNPCy+>SYVnq0 w)e;%[HE)r,Ref>Ύ'5 lW^-iybYcؒSaMm^fSB @ܬ,% (ù\6ɸƳ\7n @%&Ș>T7&νIXkM9é;Ad½p.zҷ#d k^*gOfGFTTsJ8q $(פ6ǐVfjRȽY6Ok6EnSԸmԦ(w. ^u?{? ?^,(j7O[qw)9,9Չ#_ڡ6Nw ;y;ekopt\ ^{5EmjtJ:YY\HL'٦0mWP|QJH_7ij3զM퐺RMWҠ4qW6smT-uSB|WLwbTAtiL]NS{]w0w_c}2Ӆ ]FzlILW=tiLocO蟕%|z8Mw[tiL]>+sIz6MieObo g~xhCL]&nr?t#[d l/3_4?cz4 Atۗ\A}s;~Sn>\7˲i7K 2g?RO#˾J [_y}Fpqt_c)2&L"#1Kټ1ݹ$ɵM<+ho/Sr }c!Q҉Ifu%wn,ok3ڧTR9sd&:1U~K5`MV97co-3 pK3wN-Nm+xGő8 <) 8TS>s.I\8쬖6[OdtM0zVS_$qgAeY6m+@5֠H=`[ܔQ:;P9TּtS!olu8vHԋkI7#IU>}!U İ2m+W4)t<4xhny8t9&Jͺ>V"_`DK:-Ͼb[/5./كI?eԨqAq)]e76\-?pITWz74l:n~{* Jik4X wa& 4_õ~XW:XiMԇK )%7Cvꂆv`nRC ŐփI .9)k*p̈́ίt,6ݩ8|dX}=U}[ЍqA=| ӷ%}W(8x-_VzBw{'!N!ɡ @KB!QJE EQƶ6σN|7y1qzC(&> ~%Ոݜ%J y@&(x9R)yn_a\k_Vv*\ߎv8qryEC_k@Т]i \2(x,=uL$rHi`M e25A8 |lL`s$2<,4+ XDW?)kulFA}4brrrDky'J, :&|!,)'85rڬ|6ok6M㭍v\@.a5`ʁ =rƀ.fWH]p?2*E2;t&Ӽ`7<*1> ^3njtF4eܚett2Bgagl o IGaCW+z4hZdOhh)Zq+wSk@? Ĉ]N %#`FO/M<lOKE B(0iGVAfn8p▔f;)8v;:[ɝ_<8_3$4j6 ؂ꙇݵ05DN. HRtѦHw4r3eh'U8e4{_l>h&؝=7rpMfor >HMA.M_4 :P,.BD|Mm'SJU24|...bB /`WwXtBa7/Zc8\y ĘO* FʴWb b؛YgFA8\#"4wA%pfµO9 WH^A9&3'(:h]D]Y>Ә:5b"yKV9j".BC/Y<) YiVaj<~ $p1 35qL {R쟩/XZ6l<(=HDۣendstream endobj 575 0 obj << /Filter /FlateDecode /Length 7455 >> stream x]KqC #6tq`~H%aX@0|TweVw/JǗ?_0_GW/nnG~d.~.c5^^s-5oq~n^ѸYv'xF{ULs[Z/<xj-%~M*!Whd}@lw KOnwvџf*?5WS=:'Wv.!{qXR_ӦZcl(DsP`Rr›:{?vd 9$a|̶:x8cuwE3%;/K1 --U1bI>nC;,|egbjBH8#k i"F6e`&!$+"%ψ<Lu^qx# q&ƫ:jh ıW1@&r>1amjG>}ǾRk'Q *{,þ\ha7`h8Oc})GʼZL'z&5K]ՕQM̟ЫўwoD!҃d!/YÙXCW`Bpq]0 9_*rPUηb(ϰ6T_]`N޶ILv.[Xm D`7XN%gH6)})|FȰ i81yؗCN0w85SA}RĮ{55%ARG)0K3\z&2O*y)Ep>Ymފ5,n(M-z*CWҐML Ejm/p@v^#o<͚V-mA@(4g-)p6$m_}z'..?Q E}<8uWb7 f"TJ(mJ:ԥXW[Rlhhm# P>$Bp? *.?0㍠k L%y@7mw M)4۪<׫ΤHY@0v+-#1ECV|,VktVyM=u3Nw|῜+B=ݼJZt9\@Ay!t,ryG=VٝIWLy9S#\k} B! И~)m$.NJ'CW ݲ <cLipI5.>_2Td]BNMUnq $Bz7[( ms{/6H[G[NؖÐi qmEu'y ΋#tL͙PȄspN;ZF#mQQ߮6@3)mP{cMpbGb'$Vvs$$ȅI GtӞ!PQ Ie:#3oҧB?t²fަ} G-_>7ޱPҼqWߥyr{%merNm‘E`~H _Zt1ߎ5s4r{Od؁LUlD&<z}!a|ųgAovXاqsdfEwy'~#ސ/njt6hB&p|Yq!a*ֺg-vo(䦽Xŧ2@nAR?ݑl1tNy7N<+b[xE@y/#:j8@hЛ d"ضw1W?-iH3єpy`5b!3kk̞,haɖ_.;)OϸB9W\m"arݛ[ iqf\bP*j,.F9 #ǧR0S[ 3N(oC$ 1o zi*v'P{͏ q09lIPƸرer`9PgRZG@ӌP,]`];Vm:X(m.Ƥڦˤ@2} 0TR|))PϮnypW,@5L JL/fubt$,NRh$>'$`¦$e^%Zxri:]TmDp"!#!xV"iMJD{\4+S0H؉YYX}UKj;Fk)}cWďU<Ifm O]_D ݿ˟^_#S|/ bZg` pP_u[G4X1L@=좱#\u4Ik5Ěh%#um &hjAt_>~9sP헧~_闾_n=K/fR!4u9;#`ekۈ 9h 09]s,I,R5?2!.\rgruUGt_qEXQ6%ră%d}KcWށZFm '7+,7?{FPL|!q]uK OdXŲ Ų 9$PQCA?+%gyJzd Y ֫dh6R uBCJWSKx6yL>jR`q!DU4-iZRbqSVi4R6O~gFO~RyugM-}|#H8 ף&'1cI7Ȓ9IbSn@dAT aj!fB.768 K.v]!G%jKEd+Ad&P03MDݢ?`?L(H_\%TNuJwZ}/8b1`1x.1Sx]yv t*=}Y]~Y?rR˶_=5Hx? Rr&59͸JHP bZR:iI`#8R:}9w+*f/a^mDNGWsLK$=-Pm%q֕*->:b8c:v~sa/".Anl"(}ǪEmrGSv"1a$]׻sZK_0a@~)ܼ[ 81 &L0i ci`hͩEj^,}XL6~D3!|u#::௫ZZr^c[xuS10M*Q5 }>PutVb9}JJiV4«c4\jmR)idV?1XO( ]M4<Qv&yHGjEkah <_Gݤ\ٷkx 6B@:h1)+-BlCL!oSqTƅ-݋!bK\%ɞIuVWՇ=Er/Gl[8}vݾWoƯ`BBz?SPJ{:xJ(B R+p%Ekpr*<vvWQX^_ qZ,Sk]>"t 5k|6 DlEf e\Q ŻZlq&pz+>'0+] D٧FdEY P|TUZǛ7-# \*'ZiԸ~XC(ο0~\}0-ꢻ݉@8:hi7~77FR1z9$rhKC|nAKs^q L0wFGU-22{T4W)'B#xlѸ.Q g^,[ye\{3x P ԃ86\MG1 -Vtnnx^*W0PZ*Rx8¨ .b$mxkP'cIڼ-[#Ae`qw+ h`U֙2cwTTvrh]sx)#PNtxOB_}.L"`0ekGVPnK^?ZwDBT"&`hJȢ ={ԅNTclMuLVz۲AK!Qf4+Zԣ `[)Mr?۴Lo86MdmZ%%Pn̄@q1J`7 jSE%,^~1@ssUU"AzJP>Vj pTqRZ%McZ &[(u0nyڕ9#Fx7=2vpzKGGFHJ#&Ў8nM/yssC6kg*Tt$*2?`LhpQo=Y.6+wU}N"-N;cte^~m̃:QANeTt۩.G=?Ҹ} ]65cHmj3 ВWoS1ݘ?ͦ"-Y3*(MWPs!ډL >;eE ŬAPvwG^+J!(屄ޒ[rNޣKTӡ'9׺_Gn 9h.tlGKK$i?^ H\&\#&hz> j:NdNйOhxNf]R[qZVQjx#ѦKJ,X*!>svnqu-?3 !a[b<ܣS,Ml; ֑^}; VpEv Ԏr˘PS L EJd^b Lu E >D{LXhˀb!j8e'RfoϢ&D?9Gf+5'5ltDs}> ~ axd_ wFJAaWҖD6_`p=nnp'EK` {3(vmLN SNl6Ths-_'jo=cv^P&l[Y.8m Hg⤩}5K; E֦ԍyMS{vºk`gC}s9:$kӑ޴>]tE$?Rwn3ZqKnOz_{ E7^깠.ziqy7 ѯpE6&m3컩agb(`oBa%X꣕YD^g`HȺRZosуǔD-4_`-L,PV +1;~ɓ}qG6dbwga݈ދirG cDE8q*/dm6ccoLk ެ,:g.B7 7"&lW7z+J O`pYbR֋Baq,B.(D_>m )*0~Np}.Ʀל? [ 1r[=(8HwsU 2bZ! J~sz/0fqAg}&L)W| @⩹,b@[q!з`3 82`\SS|*|E?4y֏c邥>f%/'3o27ΊRLo?ߓUiYd1^GObd@+8X᳸=q1eggF|ZۤF؎$4Q_ p"ɟ1h6O$|#ۮ֏xOg %"wqK,SfeJ)I~U& /ؽxendstream endobj 576 0 obj << /Filter /FlateDecode /Length 5187 >> stream x\YǑ~G żye0$ ,hAhM wD5Ys9Yq~(޳/U?{?u+r05F^VKư{χ/V@:hWmޫf2jh Lm ZkI!TÈz ßq.8cð + %yFXᇧWuu`>hs+$%sc^&BIeM&el|>ݥ'~\XD]='*h * A6+GVg)4_@QvqTAhZ%kcZ18z9rBRx?߽'0,e1 oVk([XpDc4ᖆvuVt!N;0ZhMf?9 .hf45 oh+-^Kw}g4tY?2ylGtv Ry`i-gb4C4.do87li&m'+nsس˞,CHcOeSf_r) i Su 74|}y>~Ӎ'u]Y3oixtk0xNiB Kxe2` g)-  <-{F]wԥaD?X>Gm-i݈>+tAGi(hfj~ ǟctdrerp!>yg%0d8mJe 0z-„=&0k쮽t1)|Ϻ;SMZ,|A,h}k|ZeUzef}vھm|4Nhɺ:]٬k5v4Rsvv2_!31;3_!=WddW[1wdyi8# ͌di+z 6<*R-:HJ!l húmg1F~;W_Ho-jئhTp.lHKv viD!{'™`8m6+,]+aX\?:x + oB /l"Qdw@uh{$G2@{|3$}0B&{|b5z%^!+tު',ʼpb)[mL(E}mRAճa)ǨdU?JeӚke|^#]s,/&%9B~%(~ gsmjɅ-zrl#NƝWg5*YB_oµTX6Bt N}/ui [sM>'PqwJ [xW-0~1BasAAk#U"NT핤1نQF>3[Pjvݙ&@F&ZeV6;r ҇mPwy>D1K3)9]kSmUc ofymV'S,M |Ӗ1%(i-ww)oX|CZ'q^18Sޞ}7|J!؋H,*􈈧8R1ňE4`2bN)4R9X#$z'nfT>f8b@L#&Q1WMït\`7++-J XP2b^!cUt [lLg8cV|]Zơ}jĴAE65黊8Y.y(aE)c_ܠޢbAaJOН[3OOÎF9QN_7=`썥:M BiuB[!Jy.$ Be +zyA5Q墱>\?XHS\ #?UC,8rV?/8p$P-{ʹL4kVG^MOvyVַG^\M溪TmJb]tO^U;,'JS6ޒfs6-욆# Gpc+_ 9CX6%wc;MAo832* x&x.bv&< [q rt0V!/S%Ed Vk,?Ea5~(ay5iF^ͼ/ co19z|`\30A9cdpt+=uuxSVs܄މ;$!l_d'Ɓ=sN}vi>:LC:;AلB'2&: [: wۄ+†̛Hi`Yo0zzrVct^|liLRk H@=c_d]vPV^7@Qߴ t D{WnAb M%0O&M6}c"-}?Bjr#0 *N&ӏndT_g&iOӺna]K 0"eXy?.f$W] %^OmZI.Ůr,Eh˒:˂ κu2%ڻUzr_# S'ͮi^+sӕ+;؝}̉c/svϞ`g@BtRК0t7@lxgB44lfXbݮqˮ&}ڷDŽ;֩~K=`*??gTClܘoݙpcYc~$~]GoSր/_C^-6%槙H R4Afm_",0xSg>qJ5(Z\m"U09i 7#J /n53UR׃%+pXe(7'[zd6KtQCbma ;Ir,瑣 sbIem,/x,C><=7x4fwwmÍ+[_Pw՘b1PrAx}qtkSJ+]*6£ϙmbޠb:3|WE&U]aXa6GF?*a#3 I]В<3kjĭ-c,hHzʀz L^t:5 ?p[%l4 𐆁?p l]HH yGj€~TS#eȖFQ| io+n`+msWrF- 6B^ކlnl*U|@H+LƋ4<[I|84>|Jd-[x.\D^iPݭ#=`6# f9Dg$6|Kamwm7j"ۂt? 8Ž-*5/6M,m.QG2Gm_ G6ʧ5UHH(i42KDٓݖʳ2DBk|d_ׅ >V0 FST@CwD.* |Oendstream endobj 577 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 220 >> stream xcd`ab`dd v 544qH3a3UAVƬep\0012:)槤)& 200030dt{gc(r" _.6S^L{>E38/.*+0Eo=?f}wT\{帘p20 LVendstream endobj 578 0 obj << /Filter /FlateDecode /Length 3056 >> stream x[Yo~ 7l߇ A6@ A-JVH"=LWk4-.rꫳY>ξ})0c;l߯`40z|u6Ksm륞F'lm516Wk+7%Ќi r-4YCP16 or>~iLB /`0xs]~;%.;RΘ$K{oXj!A*{oA9ho yVCk?e'Oȅ8Hj"߆>)B yA~v(Nv\[$Ģ X*y2t^fˢR\Dži: Go . 9ᢐѣ0;?/+|$^C!+eweK-I B^rIU.uI-D%1[}S#vJet*$7EY!P:tG *@57lDp{2]s`}H4r/aٱˋc=&d6kIԢ=A2%߃Զ!8VYChpZrQq>s&{)3ɇjH 92_:_$:yMC j@(yV.ݬH_%W3BB"^9:f3~qM過49.DG%ӂEkGZG @;J[frx,Ll.@řbFR*FY>VZ׬o :gYڙCK^ <,o~;!L8 &Qz6iV S5d+"UM q'8Z"_Y W]{ :E~92=#2:*=4QɴU(yap=(gip;z@3@I6w>?ZakB74@JH-Tװ 3۸s11|A!0j|fVH' p0w^B6X+Bv@K 1g'w8rOK+sT01U&.͍ 낒Qm8QIb%\dk!%].t)qUEdF03RcH XIn}ZWC!q bN"cx}{- ܏1l(Er򀃗 3]#qA[*!q|Йց\@t$Bc"c 鳏3Z6vPqfLUbR*%ڶ CѺyu_˄.5p,%JL[$6%*HJ0e\x [3Rd %՛"G!1Vvj;}@2YS4WBòٻS2> # 謁qޗV/Π\";:S*4X]'e$ qޟѻSnGA y}EW*Dgx $jGa^.)PBrx})jz%@W rC!yCONU^pd^G&` Vj1C64fEϖ\8Fi wdRg+a-_ÑJkg<ʃK@ Ufv|IGiΊ.-nx?>*Q,DQQ+J_oq6YK 2Hau]b,P· tEɨxY0ƭQU=kfzUKM|P47zq| MVR@;͂<@Ey9 cz;, JLkT27 >oE]({#~!Kxj&gWqЖ$W##T9$]:.8n yQ'> stream x=r\uY+R))/lǎOc%^YH#֐Ҍyh\)irbZy?p;S;}M>{ή}L_.ޞūg>K,֟xlc_`pwI%x?m^nNeӛ[t0>o^oR>ͥr;0+*mEscpi A77G{;_=wf]b_lnװ, l0z4yAA)"h~52&lNGf_)U^nMsÏhFNo6E=7q4MͶ"Yv&,[@q.9wSr;aQ !Ol[N)l8F`c.N+o64y|9y&]y!oۛ3e`ds|1)S.weTc` ʸۼplMwqgOfo81V CE:$d-C*ˆǏv'/JMSJ! :Xb3/37U[l7& :G2QB$<c{{~Ɉ6 3sa[e6xO8@mbWkCB~YEB3ob >~IS; D@"E| 2aռZ/ac.cƃp+|hRG L." @Y&DiAj5[VF P!< Wj P6VʅV1t6d5Üwkە6 ?YKk\K4xjس#\S ja?⁨b䰜 RHe/IN~!bߣjl- Q i/-UcPҰ{b;iW]N{iU<ۻ3 My/'i +w{=End0,16WdAGMQ.m6yp5B@wNk d`cJyi-K&y[,)q.6 ,.r j;pfNO=r&C8,`qcх]J{~ aQ)[% 5X?ߍɞ9rt 0\l(:31E. Jݻw> p Gu'fy90\}J>z^_5܄(!ƞ=tHGTnT]:0"2ϡ[&d.:.)GɻD/:{m0q@`#D9T_tس3}ۺQ`fHӑh<,oQ"ʄL:h*O:ם؜nE墩+e&C9 be+~FOa2ǐM6``L;de:C flYycM*GVHB J }9zG XA#0~l|'c$;cGy%zsFitQt(*wu20ZHx A(4GJl-e  r%< Ay\T(έ/0>HD >? [)/G Q1AtsxC`"@iޓ^|u$[ EP#BY ADa8a6k^[Q8FLv@o=Q3W[ *Vm"*R(L&p(d@ث"P:8k!ك=MKScKK9{iH~ᴓFU')X2k>n%K|^|3'.Aʂ88{&@&%~@#3݈ % ٫sU1J|{cu(;y{aSy=n*x3sX0oZ35~EgtƖ4j =%VҬdlդs"79=(/Z&)b3󃶑5;KjvfO< {FȌ3jɌ~ ^ c:Br3)ְ _gY eZߌ`ƯfW6V@bմyOQPs;qj*`M~@;U$U"V\`v]w7rA0i0~|}>HxI5{r.JGn\P"p3r0P[+ wB$/1_ '9HXjo7ThI@OC`( '|%LI_)j}n+RtRtR 3|`a: EI`6N[ԅpm, =2lA9\$Tn2ֆaq0dC'qCxza젎*QX*>fKZUhe#J*M.BI<98`N[FZ'Q-P$[QQ}75(2Vs<1 Aa6O(>di郡'b۠iN]C1y/>v;F0iy+FCDUKDdz<F+'](D^oNgߪBò?(JVL8N#C2|VURWU5rȟ=ڬ5HI2e{z_ն69}??ƙ?́ox0xhJJhjM zj;%_yܕIA)IulJx*ZKa LJ.FXb|CA*O -}EGI`A.A(L t499rgWW,9:+.^{W2-ENb۲vGrmMҮ t)ҾJV- -Fb4)*Jdڤ)jru,\OvH.u_U]]sW潩e9e.%z%? W!z-8&jǦ%a";A֥/9EmHQ K!nQTbevXKRHճITQ5/ $K:b 煉ZK35TK>y'F|[]M`6W)<9!ܗmGrIt' $?l0t Ioí!8+ؐљgN1\ ˕p9fD?FW:OdOύԓn[RSFS)P` 3J>j͙޵aԭ8j:.P7"b+ꊮB^IFȱBb:wޔ\k^{ODᓇxmICSt`/$G(I'tP8Mf!uYWI黦[k.nLV9ÊRc _]-_L` x,p<#b-99Cud댜i1<} ,PCir\!w)S0ZKh3T ں߷XjZ.3s .Jֈ$nT-ZL^5siZ=*ARzYZW=KUњ!N)g R9C"攪![{hxVs!ޮaO[\HHPkDhKͣg5"~yd, *-W@=OS.uC UjgUUҢPo Ko޳S+yD ٜXk) yijDn>'BcΑp א%qW93Dj#w៌4 ۚT NE&V~Awwr20G8`I)w "Vv^":[Ӆ h){jEL?\LV]@1"젤N_w DjIoJEךb6bsܻ$ګ(\i"Nkz. ha)}]*Vn8-]JX4=9j&:02-͑ MBE5Ϗz@%Z!ѱDRZ2sRPޠ77܏! b}ܻJ<*="D0f$}ZR>PqxyZxPB%J'C+I`!(7g>up.u+Z(jiqoQD<}{, v)Bk D޼!~[r`y; қ]鎟z!ے*j;ڒtT<%tݰXXsm=#]/y07Ef*94$ ܫ`!Ce冬8=FE/]q9*'Cssb'͏toˮKIpV=Y#g{ɟWőn`ei)8ծⒷ? ,_˵/QAqEa8nVTi9)63߷&Y1u!Uvii LoU# {{厑ZpJmoc6ٜZ%.NI3|p½:PI(s6ssg2ny?O-LolgW.EHǵa$hfn6}Dx2C s%^TPX\3`atykjy 4F+gZ4D̚v٠-f.ie7׏Xt|aJg۞dUjTj{'k/dbz'P?Wj{Go![Pk<8^ wq-K]ցQkmS>/;e}6Tƻ 8 >]|m@'ZF3 ʐ3 AO auD.)KH#o}]US^[ǎ׾DoB+$p~WíXI,K?ٸ^n9a A?&r{Yj:Oh}fˎ'e^o+x.y %$[|EiWԺj.nlR/+aFn,S-XƵA˭]邧vw_!~NM c9~)S#ثajч3[K宂j+?wΘh=Y'ek#v?vv I9aVyraz/<Nx^ 0>mYf(Wbs-Su^n:cuq ǟe\hK_e&tLXB!|4M5?GrX< Fp1m(d(L\jYe~:C(38aX raʯæ MaP aF񦴂#Ҭ@AtAz}p\ nfu <|~Tϟᠸܱ&n-C-hLJ%zDd dv5uQ$|8Hw;%7.evYk(5^G7a %3C"M٘Ctz(8opvx@(*QIEq$vbKd2!-[0|>rͨ{Gy by,ILHCBTŌ\dWdݖ|dQC!52gx[ ^ڨ{0@ C%G"X.&H(׋.VRM)f,hy6yAL4jXUU+IJ ̐LA‚b~@eY@z,"Bqd/nCE4iJF& ډ' H I]Oܕ P '2qq9@D+_.f!Tu^:fM9t"O=H?,Iķ ZpV(#|{!YWqwe\[ˮ<(5,O<}\۽ \' QQ5\`e e0R"hw,y$Վ*{C<5*Y3ԳrK\4M[6o`W0MuMTmd;۲k-59 X܎{P0jngFR5FHؽ.׶¡IG@gcawSiPe lJ4p(HHZ-@1G<OB0vmHu~eendstream endobj 580 0 obj << /Type /XRef /Length 352 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 581 /ID [<6b4531868070c80fd14e9373d4f699d5><1b5922f12c68669a29ad3e2a689062ba>] >> stream x;KAQWİ&A DW'V >P,AlFpJB +.EPAUJAs nyfgNZіRQ4&,Q .flg;ɘ~Ʋ+IWS%Utk*Ifi;1,| c0V/ n7ZƝ0U|&7aFY) .¦ a>za:^g`f9!{x+y+v5IBfnaw-y,'Q]StoJ.=1*œkTKYc= B_ sF endstream endobj startxref 360134 %%EOF bridgesampling/inst/doc/bridgesampling_tutorial.pdf.asis0000644000176200001440000000012213360614034023321 0ustar liggesusers%\VignetteIndexEntry{A Tutorial on Bridge Sampling} %\VignetteEngine{R.rsp::asis} bridgesampling/inst/doc/bridgesampling_stan_ttest.html0000644000176200001440000006745513610011143023117 0ustar liggesusers Bayesian One-Sample T-Test (Stan)

Bayesian One-Sample T-Test (Stan)

Quentin F. Gronau

2020-01-16

In this vignette, we explain how we can compute the (log) marginal likelihood and the Bayes factor for models fitted in Stan. This approach has the advantage that the user only needs to pass the fitted stanfit object which contains all information that is necessary to compute the (log) marginal likelihood. Here we show how one can conduct a Bayesian one-sample t-test as implemented in the BayesFactor package (Morey & Rouder, 2015).

Model

The Bayesian one-sample t-test makes the assumption that the observations are normally distributed with mean \(\mu\) and variance \(\sigma^2\). The model is then reparametrized in terms of the standardized effect size \(\delta = \mu/\sigma\). For the standardized effect size, a Cauchy prior with location zero and scale \(r = 1/\sqrt{2}\) is used. For the variance \(\sigma^2\), Jeffreys’s prior is used: \(p(\sigma^2) \propto 1/\sigma^2\).

In this example, we are interested in comparing the null model \(\mathcal{H}_0\), which posits that the effect size \(\delta\) is zero, to the alternative hypothesis \(\mathcal{H}_1\), which assigns \(\delta\) the above described Cauchy prior.

Data

In this example, we will analyze the sleep data set from the t.test example. This data set shows the effect of two soporific drugs (increase in hours of sleep compared to control) on 10 patients. These data can be analyzed via a one-sample t-test by first computing the difference scores and then conducting the t-test using these difference scores as data. The difference scores are calculated as follows:

library(bridgesampling)

set.seed(12345)

# Sleep data from t.test example
data(sleep)

# compute difference scores
y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1]
n <- length(y)

Specifying the Models

Next, we implement the models in Stan. Note that to compute the (log) marginal likelihood for a Stan model, we need to specify the model in a certain way. Instad of using "~" signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the "~" sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing y ~ normal(mu, sigma) we would need to write target += normal_lpdf(y | mu, sigma). The models can then be specified and compiled as follows (note that it is necessary to install rstan for this):

library(rstan)

# models
stancodeH0 <- '
data {
  int<lower=1> n; // number of observations
  vector[n] y; // observations
}
parameters {
  real<lower=0> sigma2; // variance parameter
}
model {
  target += log(1/sigma2); // Jeffreys prior on sigma2
  target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood
}
'
stancodeH1 <- '
data {
  int<lower=1> n; // number of observations
  vector[n] y; // observations
  real<lower=0> r; // Cauchy prior scale
}
parameters {
  real delta;
  real<lower=0> sigma2;// variance parameter
}
model {
  target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta
  target += log(1/sigma2); // Jeffreys prior on sigma2
  target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2));  // likelihood
}
'
# compile models
stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel")
stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel")

Fitting the Models

Now we can fit the null and the alternative model in Stan. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models.

# fit models
stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n),
                      iter = 20000, warmup = 1000, chains = 4, cores = 1,
                      control = list(adapt_delta = .99))
stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)),
                      iter = 20000, warmup = 1000, chains = 4, cores = 1,
                      control = list(adapt_delta = .99))

Computing the (Log) Marginal Likelihoods

Computing the (log) marginal likelihoods via the bridge_sampler function is now easy: we only need to pass the stanfit objects which contain all information necessary. We use silent = TRUE to suppress printing the number of iterations to the console:

H0 <- bridge_sampler(stanfitH0, silent = TRUE)
H1 <- bridge_sampler(stanfitH1, silent = TRUE)

We obtain:

print(H0)
## Bridge sampling estimate of the log marginal likelihood: -20.80934
## Estimate obtained in 4 iteration(s) via method "normal".
print(H1)
## Bridge sampling estimate of the log marginal likelihood: -17.96114
## Estimate obtained in 4 iteration(s) via method "normal".

We can use the error_measures function to compute an approximate percentage error of the estimates:

# compute percentage errors
H0.error <- error_measures(H0)$percentage
H1.error <- error_measures(H1)$percentage

We obtain:

print(H0.error)
## [1] "0.049%"
print(H1.error)
## [1] "0.0655%"

Computing the Bayes Factor

To compare the null model and the alternative model, we can compute the Bayes factor by using the bf function. In our case, we compute \(\text{BF}_{10}\), that is, the Bayes factor which quantifies how much more likely the data are under the alternative versus the null hypothesis:

# compute Bayes factor
BF10 <- bf(H1, H0)
print(BF10)
## Estimated Bayes factor in favor of H1 over H0: 17.25678

We can compare the bridge sampling result to the BayesFactor package result:

library(BayesFactor)
BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE)

We obtain:

print(BF10.BayesFactor)
## [1] 17.25888

One-sided Test

We can also conduct one-sided tests. For instance, we could test the hypothesis that the effect size is positive versus the null hypothesis. Since we already fitted the null model and computed its marginal likelihood, we only need to slightly adjust the alternative model to reflect the directed hypothesis. To achieve this, we need to truncate the Cauchy prior distribution for \(\delta\) at zero and then renormalize the (log) density. This is easily achieved via the Stan function cauchy_lccdf which corresponds to the log of the complementary cumulative distribution function of the Cauchy distribution. Thus, cauchy_lccdf(0 | 0, r) gives us the log of the area greater than zero which is required for renormalizing the truncated Cauchy prior. The model can then be specified and fitted as follows:

stancodeHplus <- '
data {
  int<lower=1> n; // number of observations
  vector[n] y; // observations
  real<lower=0> r; // Cauchy prior scale
}
parameters {
  real<lower=0> delta; // constrained to be positive
  real<lower=0> sigma2;// variance parameter
}
model {
  target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta
  target += log(1/sigma2); // Jeffreys prior on sigma2
  target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2));  // likelihood
}
'
# compile and fit model
stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel")
stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)),
                         iter = 30000, warmup = 1000, chains = 4,
                         control = list(adapt_delta = .99))

The (log) marginal likelihood is then computed as follows:

Hplus <- bridge_sampler(stanfitHplus, silent = TRUE)

We obtain:

print(Hplus)
## Bridge sampling estimate of the log marginal likelihood: -17.27045
## Estimate obtained in 4 iteration(s) via method "normal".

We can again use the error_measures function to compute an approximate percentage error of the estimate:

Hplus.error <- error_measures(Hplus)$percentage

We obtain:

print(Hplus.error)
## [1] "0.136%"

The one-sided Bayes factor in favor of a positive effect versus the null hypothesis can be computed as follows:

# compute Bayes factor
BFplus0 <- bf(Hplus, H0)
print(BFplus0)
## Estimated Bayes factor in favor of Hplus over H0: 34.42872

We can compare the bridge sampling result to the BayesFactor package result:

BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE)[1]

We obtain:

print(BFplus0.BayesFactor)
## [1] 34.41694

References

Richard D. Morey and Jeffrey N. Rouder (2015). BayesFactor: Computation of Bayes Factors for Common Designs. R package version 0.9.12-2.

bridgesampling/inst/doc/bridgesampling_tutorial.pdf0000644000176200001440000133651013610011147022373 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4944 /Filter /FlateDecode /N 81 /First 680 >> stream x\Ys8~oHɮYl<-F[$* \$iOL9<~#X"&C3L$b) "RXʀ, H.XD! #B1%qBb!b* A)/*KLI`2Q#JT`^W,1 K,MTf&!&òXb!˔fEzs BaA)A!R*P: 0fa*Xq`u( " lB!h[da((jdl.rbR1 GQFBH:0%EP!@9%RR!N29C!4THQ@ W,L^L Yd%x;cI@P:@V ֛g8^t`#ILMH`GQrBxrBa@PyQYk/'+ Ə>[NoWE^I^ɯ"A H ['of_>'&fbu9V@Ve>.G~/ 6z9ގ {2]nh]*= ^ ˯aD񗐱lzx##R:4z"dL[0\2}MM-!PC{8r薙L-{ds {nI€!7w/b/̀nKN-ľR^jg]Vh%캄]x_?#,b3GW=Z,ݥtXࡈ3̏Ѝƒd {Á[Ŀ,6z["\ Lc@&NkHf]`ǘ\~ytz|.sVͽo = y^l~\WJ@mݱųgO~~q _.v秋r\.&6\7mvR)տmLcfQhm|>bWS:'%>1 ]&YĿR3fIZzaKN ^¾kQ wDi sP[a!!o/-BռCuR FdVaP DZWR@v^!(=zTfIzl;=2ʱ Awnagh?yco6#b)d8$TAG~'I>?sK~ůFzy>_Mz>j7+kQG|TGͬG@4ޘ\OqbanF|o +73~'|ʧWbK^mU/E|_ %3-L\jؐ²*3Ufkb^l/Ŧ73Z@ū(xU[źؔw/b.@|N! 9+ R 6hCX2SLbÝ f~P*oI٣k;1{Ze Epv1ּ}WX]X#> ُJ߇0%aJ,)]0Qn!Dm zruNV[OřMcX}Ԙ J)+3FQS?ӛ.AJ>Rj)8t ; AN7MiiDfy@Yy?N EfmȌa;|v݉8Mk)álOY^ܺ_L^ MTP5s6E@19aî-< ;3JGB ']rK4kUZ`.t"KW:H${ԡ5uYbZh/NZ +Fp:Gmh=Ò` nM[$Il/0:DuыsO1Ca`w*PPG4N6ŁQ"Hn!aIιԘmIۈKB T棌(2=k Zpe t/*З+ӌ\̎jY*Q]ݤed$nӕ*v7j&]RI MF׌MϷ|QɃCqPjTP#gbS`ZU_9/ ϯ7wa=LGWҮBӾ\w++\#r\E!8 _|# ˑr-A{/[oS("0x'ߕ eˇY?E2,xIqtO?;{s8ϫA~jPR[ ufsI $pBߍ̖֞c-֪kBT3L(qwEJjJB|%Q"$?浗jj=?k Rѵ$*ZX+籄B,RS(&Xr)HrN%r F1ΚmVS(-E 5Of3XItzʬl'[R$'.i})P|=][,'x[0GJŒ>-X? URNqzuj>^6t< 1` SUoS .P!&"yzi2Hd t&jf|E=<Fsu^.sϷ\;[\!u1K4.U@ %ioó0fx;"dUؔM .C1;/j-]IqwҐE`E&u S]7C!7|Oa HVV F4j_,WDOAFbG5v]:(Q9םGuzЌC"ՊOk9.6/A̓u>,^R3h~ū]͊_ `uZy&E u٪5etBezU-;E<\cL,%bm6wx)j6v;S@FvMKskG%􎋩#y_v_f4B?0pp>s,DqA}i`.buq[(߂;Cn2X^=~ysX#hYnԎe`OrǒnJ| MVa]D]>Є:ow4Iw8}v8Ϟa]27C&utWZ5rڧF łvHT:Q)ZG {w a\I ؃zG+H2$_`Z#27"`x`YNHHyn5Cލ S;xYMش-<֢v wlaTʷ[VɶǙK@>"ԕ#fP,?\ ++ ُkMgvx|v|vy]]+nK294$NC}5} -l+^ĠJEji :G2 OHYc{?AbҎќdZ2$TiYw5%w'(>ev +=fb= Y,L_0h'Mu]O>pM3 B `TN-pN.^Gtu/<'< ̙\_^$}n'%2t̴A+kKtHa xD 4؉R U&?ٌd?)^8ztԚb<(^Tפm^%{y x砶~ceL/SyDHX:Z jcGޛ%L*Ф@ àGRx8?Zƾ tT]ڭ'k,bJ}yDDBUD0` ڄ~^P/Qt32٬.(%ӢTdjz`=4YedݢAAi!&%E5s/$$Mڮ%E3[1Un^J ;=88X@szތ /:\n`[%JtO7l$1<tϗ>zgKQ8Fs C3>}B }w^gYׯ=Z3 _/Saӽ}>nP=QD3BQSLq-UxQ'{-tm NmqNzW2U9nٖo[Ǡ5!4ޓw3__ߛ{r9ٛ?7w5NSo2g.ExWYФ&IysS`hkh`$X#I7d}ॉ#_C?"G)Q |,"Y:$tL@}ntb|J=XMK{( )pvØq {6=MC>1_v槝`ק~ -E}J[g=-%Kܾð;PzGlC4V.qS_r)@2 yRs:ǐ]`f$F?|E$v9>72/ ĚJ)[2*̃jBo0fW#m5p]^k$Qj9FJ+Ռo+݌*? 1Yaå}Zt,nFz$sVkgeGլw& Id=y:%&g_-F;ȿ'endstream endobj 83 0 obj << /Subtype /XML /Type /Metadata /Length 1410 >> stream 2020-01-16T08:36:06+01:00 2020-01-16T08:36:06+01:00 dvips(k) 5.996 Copyright 2016 Radical Eye Software arXiv:1703.05984v1 [stat.CO] 17 Mar 2017 endstream endobj 84 0 obj << /Type /ObjStm /Length 2476 /Filter /FlateDecode /N 81 /First 718 >> stream xZ[o~r$pp(qn48Lltq%:-IR̴Dr;;;;YN$"$HpN4oPy%B9D JL TdOoEfVwBkzg K MY'U4 JcD BL0:!'И:SacQȄU$K%jǂBc.k-k#+eQPs6~i {% I 4)3ٔ5LRy.x< $L˻=>$6 JA[p ئ0`A2NY"M! 6e"MUY6hTq,0"5GYZٳơg ^EXjJ2(H(BW,I8tw*KH+ı_TO9  K,8<@򆒏]B#_r0\'Y)?>/NOr8)Fy> BWl%\ȓb,_ܠHx/G⶜/h#ݰȋ\K ͡Y2WR|'b׫yt`=m!oE=_r`vM^oW"/ş[y!Gt(e!%ȅ,"$4O&RjƃM+@RsUNVU<'9:b#g#2yQ[oI Ԃ%:6OP&rφ ΰ֓|9[ WrX\f1-#/O@t8 -/*Pж|>TUպꛭަt5hOWHSӀ!>cv޻t;,NpkX g۔fÞm{tvSϋK^N)/+Gbt7|&d.#n8\^CXNt8ZhVr9so-6b m ivr|ZTؗ^7#paؔ,6eM_.GbzEM1ȭˁn_='Z~?/˿l6yzMMxctn\#rGK3Y4Hn/8؊vyq6ijVDGmrGrjFY궺$7u f 4fzHzxƐof_AUP[wgP"5TE_AЦ%,&Xꕱ'˖}pn*-V~Oe1>'W{c>6eq!]iri|W[. r齎XMx,]>?895G]-NO{u;ORDi7LO~b/W.rq7M+͇79Ne1E,C:a#kF`k 6W]ȥ1&&Qcތx6S# ,B"E@y$[m[sm֝XS2,. R\YTT P P P P P P P4uh 5o558n|Bj>jbMg*p;p98lXQnsrT>$dTH+QX&\ͳJX+v%&|uңDߡ,<ʫiZӖ-oʭE?5!բ72Ճ8$kC/ wMm]_[c(>FMז8r߾?yqT|6ߖ=-U#(~}^%rGV#Ӱ kU339S9sZ̯B.e)6O:*jtקaj`VG*?60VNkmrV ?[:~m ڜ=%MDIO84I_p׉\QR79ׁB ug\';sWuḨxzϐ$y_ 'Q3G?m}:T}iDnfo1:,$o<U7V؉*f;ְf `hL\7ILe41|ؼL& ݰ R'WԳs*~fZdg1SIKCrZ/YT Xendstream endobj 166 0 obj << /Type /ObjStm /Length 1854 /Filter /FlateDecode /N 81 /First 718 >> stream xZmo6_@|ME4M6j&^ 9ʲ%[NXKp|#yaLXτ L:W0If 3)_ü_h,c'Z"YJQݍ=lC:G ݛ|e̙&0#KN)l6^d3Fz~iY+@ut2\e9&',y1J=}͡|wⷛzѝ:fmNr@y)\6 :NQOH;{&i6]/<] Oߌ8,6O^9Q_B}/&UE,vN 8lv1iTbWiY $g8x Ebŀ.0qzk\DU_C cIQM{_,y "#"L.&Q ?/M̒<%:5ߡ-9W3xMp̃a}PTq:t|5,9fH#W8FMl t^iz^^4OvXn +UJ7cf3bϻ//\l ׫uDL}P †છM֬[z !z8-+ f}< BYSGїfy< d_ hAOqյHmeoXZE  DSczPꭆj8^xm:L&,ΪaB;í1Bq^F@\VDoIJe./i;}t|~^r皸S+ ގ<킠r>TlErQUOtɬ`yC~%+eAXV9lh_ IHtPaWMK${sϾ>MF'++Bj$Ɛ2kh:M/#? ƵeoA^!#U+TU*2-p~>=g^ P+g^m"QT_e8nlŅ'Y2In&$%_z1]IߊTbO6zO $9/QԚp|I=C-(opմeuWX\)v2S]>5_ ]+eJ=dE޳Gt']xe?xl2`U;PN!/uɇpPA;j= TQpXw(`xxt x|'UsMJ^jo+)#7|62.r4J AP u!c/uFٌ7(cťwsQkendstream endobj 248 0 obj << /Filter /FlateDecode /Length 4144 >> stream x\r}yR3)ؖHbT~X2ʢ$[tA]RR\.K .ӧO7c#}|y}۝_Qy9lp#?Qk'uޘa5J1lhe:^JxNGms+;q4 Kv\RP3`n#aߥOo)9 z`@& !4,S#l ڡ)p/4.я:Nx)w :#LN8,EL2|Go ι`u;[X-4pnCZ>YI@#y4+.㪕=40"S=ˏdY[ ƶU>98b^PÜG2!):Fm &fK*x$9]l_!9zhgo h-P"Fy7Au5^EN->)3 &wysC)3Ҝbi~(P9f1MZg,gHyX0#elU$uJ%a⒌Hldy&&ˋ(>u_qr'1; T/a6\(疜dh̏Z8C+ rz['\s˛.nD,s< LZǪz8iN3!{\4ΐy1,6_VAk7{h Clt!osAIܯ~ڤ^yO.^;[P vo H&JX4ᐨ\N:KXtfGG.cv+L{i݈ #T&ڏ@g\L:X>HMCu?ViH<:}0-Ev *jJ(Tz8$e&_rle2Lll:kZTs4U\٠)q^QY|0lj,z=n<bP!ΰ@ۤVC˜C 9ʲNuQAĶM~ZKJeP_N V6Sդ.Dć_]|81gG Jf)r]0vfqƔ+1bm!rӡ4?c'>jaw1=M/FӥZTuQ-U/b")dFN퉮f݃&d&7]Q>\b0CvDKQORB<+P0{lLIaָ4L%pв (9xM2[UZI3ׇWwg%ĸ r`cl"?qq6)BU+BφS6jS6w/%cTŰ, %_q KZ·e :+kOq se5ԆxӫYkxg 5_Yy. %XS8"ʽ-.ПmDG}Fϲv}7 , {d^ v7t(S$L7Db8ׄtOPITI")X]ҵ.$}>JZ|V*+!a(DH%%{fy ,ލ*%SeEz\U+p7 #@X?,|'Щ1% a'YëIO*TNh`W?/÷,\ 9EiLoqܻ]{5YMF!9s=UZ*K-5cɠi~e\Ru "h$K*S,Tla9(H!h:*:ni'ДH\8#)75=GIW~<[bh8^84jIK*7 O+ ) nPì" o'2Atkk+T&c =&`3jA>,cv8#ce7 [kidEOT2E E/R6td/^m:Q.V# D)ryj͸jҺfpFz6i$ "`ws`yfB, Qw=[xҊF.1xZ[Y,8Hų/hXoQ]4U,HOeD3Z[EVnW6LD3Դ x7 h7$2FlU'X^ Gha1VuPwzר'byYfmfe)yMFutdT>VEXS̎X lCxnA( x9UO2J( ^,0Ҫp̒n,w% . kf*Xs!rЂNUUK " p%ztV7R3x6[\cͭ(}& 3)[9ñvM9BTKjht={I㟗Dv2*~9r:KS[ޤXBo~'DeG$أDxNχhJշ/f46ͰO'Mzm˺8usKEpӿ= Q 7Ҹb^]XzSyg0| ]je㞾6ˬ 2RLx23 ʦ* Ur?g~!`A9U\"a8J;Yp,ҸH|??QorQ7]U:I/God[Q(*EzWHEinp6ͯieTr= Ҧendstream endobj 249 0 obj << /Filter /FlateDecode /Length 703 >> stream x]nP=O}&dѪj`+1E߾3CSU] cl_>,zvz>/[ߦ>e5yiz^׵qAoYt9ams[[ϥ~d0MA=FSPuq6YM!ԁԑ7%GyȻjV{d;XwXwMAջA=b#0AsSP'az@Fa@Ӑ!ml *EfMAȼ)|8Ơ+p&h1 hp&hXa5y^4 (rh\"ȡq"%r)rh\"ȡq"%r)rh\"ȡq"%r)rlϵA8 tlϵAV XCޠ7` yހ5 z֐7 XCޠ7` yހ5 z֐7 XCޠ7` yހ5 z֐7 B 0c/J"$ S$!1~$$O)B?EHIBb!IH"$ S$!1~$$֕ZYre MJ%4%WXWjeɕUZYqek[%o[EoZk[%o[EoZk[%o[.`'p'>^y > stream xzwXT2 3+v5 b*Eze`5 ס; 5&$hnbI1/o@|9gG@QtZk_oG]܂V7Ԉ&tJdoaT㲾[ ML?ԟ2,qs6uINrœ-V9:{zpmj|C=|},\\-|]-6lbz 6'io/,wv(j"}-۾e˃V Y:iymu.]7mtcka&eH&Oj5hڳ3f5{|8n_رcЉFP멹Hj5H}H1 5DlfʒBMR6j 5N-&S;)2j*VPӨtj5ZMͤPlj5>R)_՟@RɔHIAT(eFI)#ʜL R4MCP{ՓN=Q)o@-)E7SƔz%h0gT"%,2ckh -g2==v8ӲgY gK}ߜ~7Od]& l% % %h Kk 7! BK^ ŐMA#M)I$PCLpu - P O06j |;K,}Zr||;<0NQ:*hdGl7T$B߷Mgc!G#>%(ķ6,%K2T6b筓Wr*E%7U'rC}X`'ϐ)7 `_w$\Fh3-;`pCl正ЃGBCB~i0RPF')ex..+ѱlH4ìv#b3T#WoyQ{, 77}*Ylid>m|1 7Pz$Ko0 EI!#ZX5GZ`It mw ڧ1(PS2 C1E[OLsӱvFZf?C2ȺRo֣:\Ui:*o&#/ [>C6Zf^6܍䏤Ggi_z }>٥ŏ* 2(_dI #3Gq$u^V8DȈgST=GzQrN M㞷VƷ,RW\[C5xCMC۝Tf&7nsGYXmCZqgzb뉐 CGOo1E]P!K),q@O)t)%cX13ԁJޘ\ݙ69+PYy` Dsg&&CL4JKR8A$qM_6:Q.雈%;ϟvaS rᐐє))R\r񰺌}I\%N^.4D/)::{UX oo$m~{lǖ/ugƑ^gi;x:u>Y^` @ͩi PGkBM~xp0kD/vq]XG#x$_igs-'1X׊pboܼvɋ+z+O;*Ɣl^ZDJ ,w-UAwF ƧP_-_BGkt .UcztPV"g!D2zƎg'=Ŋ{;&Ö|&;Ts {Bhޟ^s-G :-j-S)=7]%\KF JQ 46s ⒓q:eW5C1)Xgw $W!UFa$MJIrgVj62CwYE4` c[dB-x526Υ:c FD:vSlf#.0QrV5KDİ_n2d6-pP@/(6,l:M &dFN>8K:%yP ґ*o2 Ӕ9a3qt"*M%+2:}rU&M󈤤T<5wUGt5!QH$ozADll|nçc*.J\ 1޻Znۏlgi.1Gbwp'UMRYԠ=u ط{st*b9V h?9]=GjרE5mfjRH57EoIYg )4񕁷*/zh=tbcz띕Izy g-"gKI2" E$u} Q=JyNΒ%LUiq;hF*[~CkUVBcC"7 vB*p<@SʥegZ#v9dWwZá5")OK'X@W\a\ZFȫVTuJ0_^D%jԩJnbSiVFL>dȸt5}ɾ 02k뎰ĸde|2> ba8 j>mȠ:N emc"jIDKp(PxnYWT2H@Ux9g`'&hZ&Ȏ/x)P>Ec>-g۷Ꞿ2ud[!2I\7%7Oi:\Rsgjꈾ*/*mmQ뷛"eӊ o)2@V$%* ϋ).(gRLIO xQ^+)r3k ɐQG/m,;yCZ2q7^٬j+MϽ M.:"Bg&V( lQĩcլvBkB=O?Dф ,;4 Yl)?S>RROʆ_$0?>? lrp $lK-@ C_?aŁS4t&ΔQM'3)qc\мa[1 #5YfULp_P^i:@$r@[.2{RJVܹ wO߉iNo:t!Q {UˆOUrK~DZz抠ruZ({dGK]ՊLJIi2NHc Ouo76@C>XYRT'7ҚJ7gX/5s>\rIh^fv)-}t7\>9vF ʜ6lTڻ֩e!h^|Ot2Fxuބ2l`n[2gA3kFuv[F: _`KԷr9'?<'9~2 XxRpFi@3N@|KLT]aT,;xNMN'} PՉr9 rtKc)Z"ôvv8mlCJFj˥I]ͻ29Ȇ{P|`v3syکiĈ2 Ԛs|',)âHB-mxp %xwTCM\\RD,<3Ht+x=: DӱV:s~DKg~֖B/rPoCϧByi7G ?i0E[-Vb"=z)F./3]GR0ݝկ^ ѦӒ @ڊZבs[oe)bcU,!"+.'?5;[ˢ^F ':T'h2 9tK맹;M\8>V- ~p+8Xw=eJW-WhmaC'%xe)A̪zh˶ Xl_  /AzOJ$.Į]=*3My|2'yMC[@E LCІ.&_+BX^,T(I,'D7+#3r;WsQϟT 'pB $͚;#˾p&Y~.V_="YF`Z[$oyأ Pǫ ^XFE!7M|]t5$ui+ 􌲟J$@}?t)炉OOOJJcăq*~Z/u1B%3g SDNr}K/KJT\g^ gm:dvg5!:m!#Ix`]k LppwcZ̔)Kꆠ~7祫dDMTm]A 2vkq!i9ghSٜ¦3_)ܕ)/tMM]wXD֧/2 Z:gH}QeEExG{.L:%2F/?!1ȋ{JB9q$;K 7hV %*3aɚ_*&!-)-W'6oDQ~JѢ}7wq 񴟰plMzƓ=:6*"u{/!Xq)b E2+vp7\ޗp;u//<kl+l|jv$l'p_HK*aD؉Gmaռ܌;GY4+<`y,9ٓ4՞&$I_܃mءy6h4EL3^j 1(;T''Faְ>o:~ ژ'O֝lNLS@eF60ˊ_ɏc-q{]{As֛mY–uH$n;sɕ=<ʢ~kŽzúdo|j%qE;/iN3YŃM#Wp|#y=ώmn+kh0FhD@+?wOũu `8k|Ϝvx\[۸ɕn_Z*p<($Caʤ|d~M> 8g^HJ I%P &*(RlL>d;&,_$?r7wY=a>{X{X4Dp֯PN4nXVH)?v22(N(P;yቓ}lCwQ&FR^Td5Ժϯ^e2Ss+6WWg%Ѫl`S<зI?tǟL=){fI7Tr6W Ghc/26DK:ƎT2end 4 ӧ7qҲآ#=(ۊ@}6!ObQ&%)U\"=wOL:x)MB@gH|=r0]С: >JD]Gp}uLm$lKP4^L[xހXyZF5*nB&;"8Q?Wr8UxBˑ F9hZrJJ8;,!%]YF8b'M6i~LL~wz9C;z8V iJM@u* 4ރLߴ~r& wendstream endobj 251 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2164 >> stream xUyTT{Om#$I+ՊUY" 0, eqa曁aYavAEE`Zm'uKƣƘ^N7Is9{~~,a%~QѩqaIe<<+|kA6< ,$v$y M(Ot%KE.:EJӒcca -N^Nboi#^$MGI{Qāś|}s/m1kC41)%5,2*:? . ~A?Hl%\&}b L oB%O 5ϖwJgͷ>?ot&K)o,mCZ%bMf49&j+!'\UA~L^ /@%dVˢ$siDMo%xuaE1 ,uq\\!FF֣D*ĝݡQ "ZRzN>82<(iGOLh}a`$6aE)T-,O1t|Dv}x$We,e뗅{_^PxP+]7bѭWz44}5I+d]8G>|hm\xNGy'*aE ( zt}O)P2_.]:k< HJQ?S"Q#YmHKDuÕ^!#OU 7uh_ 0UwG$5ɺc0hD_'n~A17gQJ]j.Z_y^'rP4Ĕ4Mx m.7E7*A-rԪLr3M %"2sSϕ7OpǠAE3;τ3Sk2k_5~Fީ~4H.cXpBWV蓚Ai裻/dzBF E(25l{MB !]a݇צ*SOnmZg$c&hZ&n^kd59:~@#ލ9f 3Ts8cf u2ldZ]يf1U)lH'z肜UTF"G-rT٘ԪC=CfĚV0EK*_1nC5C7qs7\}gz_7wly@9&oa {gF33m7]ˑ@m٩h4:V[\xh,/ڢ"ݴ3endstream endobj 252 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4183 >> stream xXy\TW~EA"1 0nAĸoIKT\wAvD(vX:Z@D6w1Q4IИFǨŘ/=M̏}s|D%l]n R̘/ :+t0Z$Ɗ{=KtXje Xڲs [(5k%E r9},gg{wi|FuX=m4u^B~^9-rz nEMZXlyĊȕQDǬn܃C:OJQoRj"5r&S(wʑBmvʙA-Q; j%5ZEfS\j-OPQé;ʒJYJD/_L[IIC̨Crha7|6!6ݯŏ4#up*5 T"Ġolvm|I,H"! r!EV So~J,}*>crSwpH$VD⡋D8ɡu._.޶ʼnRT#+^ o<BdFo,~S zBSZnz ܴΛy̛U2I>N.IcW2 p7I1jқmBcLvg}vQxe,jDx<40Zupfbi$XETgw^}sciu~3'͙7r^Y R$eJ|O>C_UpE d@g+[M4(]!~\eNwLOa-U'~H||ei 3&o 0(&+4  tr}L$H֨Tq[&U@o_#4[! ̇/@~za0 :U!@. nLeǯdbn?yч? ^M^;3=陻6lȽ֫ p:X7*<յwy `/39ҬŠLc׷bm|~ dM) ~YFxأƄʪ*1scwߟw-ҧ'Yiݮ+.s2ǥA{vx=hQQ;.\9 v"!4q "c;Dη2V:shf,ҔAHNJKYPSuVZCPQ҇QS`gNFf]򐧻g5h8y:234'7CeCJ0]r- CX]b DE]| Di6(x[MrnIm~`fM^=~ʉX/NbTVL5MPΚ%i !WU-@r $)jQ'-9T5w^haQF',jF$_wDM=XRAU'e![؉i?r>޷KȲUb3 in#BzdgU䪄_d|!{ oKAMُʱBj._. : vMK.sYMӵprD='4Z6iS`bpL-7 L\yC[Y M B1/F5֖xvKii*+-( A0^ΈiiIƟܿñd<hIDUpk\%h=Cdq{ CxT+BbV\DyOjKZ^dc :՞[I+dӵɠ`JVVV:U[tבuPvtX u[}'!E~D?XhS~2'}"rŮ7а:oV~V:H82?P]_|: O_֦;̵=d4tbeJ4*!?4נ7xyۯQ3 ~4@{Y-g+v'݃IQ6mZ[jXSq|dYPx[$˅&ۮhf9:`(]JY>)S 5U˦ m#ӏh(䃧x)^l?v,Hv^-[:h}բ$4$qN x 8j`+xܒ f~3d焵,ˤ!RFo+|T˭^ L~5|V'3ZW_/X<ޓ(|L׷r%-hBw%/Lh=CG\#r7'Y}124&:,]So"Dchů."*p)dXI|lQ'Vq0] 7{Y]"翰c6P*nUD gNY56%הr>8tT;1,ﱶvFm71~3t9l'G}~ #d><ˣ&cڎG|͵ɉ :ՄnY~t021qb ?_:3 Խlݯ 1[ q r,Z*' t:5d*i<]a~Jc ׏oC.0_xV܊7qh̏`C_ؽe欈Ҍ2xnEK:;k.Φԟ^&|nr~1/ϓ!F?ʞ{ nm8җ} *u&OW\\ȴ*Z"5K "mbuA\Ρ<TbiƇPCވҼ?ot ЎYy L} Z(;x:׼ 73| ZM]T$FUh >}"FڨElTDHZSExq r"B.b5]v9W?:<]_Rf33u)]jMz\ZtFWz@4kS! ?0vP!`=̘# ][X鲲Hendstream endobj 253 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4735 >> stream xX TW֮D4@ٲh$:jp%C7{pEdi[DEe5&:%85&Ѽrs2EӜ>^{wwKDP"j>9NƆDoƉ&«@y.WW\J2 b0==~5B ?KL$rTD)+"⣂bd.o:92xtJP2:4X#![9}tZ MVeA>a2El٦ K [{m28|.(xOxEQS宊8~;CBg֬3S1d{:j=Hm6S+ZLyPK2j9FVRj-5)CI eKQT Q#(sB+j2D4k 0YY=`&2e#y?Fm8O|bQ-yu  "+Da[l)l~ ӇȊs)gFOW7l֨v CQ˱֣U]p E573=l@Ђ-H| ذpo|GX;Ox+>s\]dqE&e,ϙ RA k]XD-ʆė~$paea5TcCD k>:BQq2('xƎJr_hV~\x<^ [?+ry_8 Zפ:H A [s c!swbsTr@oWm@@[GI{2K jѫmݙ%mjec!Fý[H~-ݕ~MJ ":8y7tExu|. NXGbMhE57$ F$|5 W'KUf.8:ʝ0ORu }'̰ٛNR2l3z8On8u௅um ̯k@s^4KWKIܝN'Y C3$5{v)-:`K,E$r>Z~9=B$Sh %MC2 6ua3 1͋\68l:7 0W͎Dq} swe%@ Yӄ.(oBM{f}6% )>*vofw5U+بPߪ~-B&'o )ֵx`6H4Qp:Ụ7%nK '٪,HdKR*J k9L YIXEhf<0z:|WӦmUF`byd\"ݴs2ǺZNZ[]wN҈lm~Xevƾ?jM \._'rŘhqM?q)[wG!$ףla^hv~h$ˇvcӌ?:(UŰ Z<2&D^E'Ied8XLR)=B"gwZh<͖Dd,)6_ɫ.=ӸJ9uT[3Ѫd'= Yg) fl-Ckz+Kh*i+S)KՑ$TrC_Nb(z9q U f/g^5867e?hgM_Ţ\gW,%('.\,ڲ?%OV|QhEQ1j.2\ĭ+!Z?3׋P-3)v1coll NɊ@ל+4ot;OZ3\d\LڲeeqO e[ч?WrBsFXDq~JJ)65ю6^8E7#8_ю@ҥDᯍ}t*Ց kUÛB?yh>d}'h}QD˥a2ck !te4.5ڝ?!A#']V[wv8YZݢ;ij!B*i B=BlG5c R '^%/l&*q3C?,'?ٰJkkn. ̳_PRUZ~x]SAtõ rD><,&gm܌\ɅDKHng{$`EUpEk0 D?jH tKMNgBP6cB$ATfzM/2Hqff~hdܭG;?5߫gÞCMͷnK &$HQ2X]VW"j'k#3u%]Xq8{0)N:Rjjbݡw 4z,I3/l3U1t&^_S&/QƇoy<+!%?;4__;`}|t#0o)|ovAs='/bTydC^PWTt#31O-uuécG8 0ND/noe`gm7CH[>#b~~92 rcpb _""A9q,B(~fk? Qy2&LZ$y˥{WI`Psf9,e}:xvuAG1MrC'.öfg='ք1_ &'g23znߟ;},Wz9Ws~cˍ F"ʣOc)X'VWmV \\skyXn]=wy?)u*޳v-0,AwKJ0}Om2rd 3>5-{xưϾ9<:^=2nEQ7tvGOyu[,21m}ҞKShZɪPʗ 8D)f RfcG<$BE $iv ]z"bDt$;q!U@4ci4Z[!eK[fdzbՐ{sXmu4{baTfϏM7MkX*TCh mrqbR[-1_ənTXzOU=ka5{ 4yZQAWmendstream endobj 254 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8732 >> stream xz|TU C *8A7 HA)*Jt!'$d<[zLHH E Q O;ߺ?~<<'^#7mMI K~vuaq>z5y N:rz?A=rԃ#XySƻf=B8^^1RRsbb3|̟p\Rߕ|ׇE$&%Gi`̔dذhߔhQ;}wlۺwVf7EQW$\*uu_{d\^!;|cNĦQ1[mOؑZRy]-^3gM8CQS)j)$@MPө jIfQQOSlj'CQ.j55MQPR5ԳZjZO=G=OmQfj 5zzOMxcDʇSǩQh*z1 5z}D8g$gÑޓQF٣}yLИn{A۸1|8qdBţA<O1Dm>1|IM>Od1/ik|̝ۧשON8y_HqΙfZ=Kt}~ hӵGu ǽW,@^̈́F]KwgٱPAF^Rvh3yg ZT\<yleT5 PŖrs93:LF8h˛Jjo.8kS#`EqBȢCc~݊fº^ݥw`Uw(2A7b_doi۵6 *STA>h9)تѳfMRAdehUzѮ-tDq;T% L nXf*^jR'5:Ĵ#+*H l^Q60hmfN僶ϱTyLS|ʎV}V"܃t9ǽ=h\û{؋ybt6@ J!?(Ky e,Qhԏl"`y7>lk-]/>G0an"&MkbVo4^Lq ]L6saSi6}F<]b 4sZv^GSl>9E=tuz?㸏 4hlٸ"ꖲ p3q^iA %Hٝx~d/™"+P/O@iuغs=`ME-ϖ ٠(ra@:?uNW8UxPg2[0/$/5s_EޟqRe|i2 jɮU7Pъ @)U^/p!e@#\D%NUT{YBS*B ?}͕@ U} -*Y<o˭\J!Ꝕ- }A)[z{1AyddePMs j݈)UX*Ț]_,9tmGSw+ww?xH8ZDSy,J 5?5WG^rߕF8HEUYN$b"*hUe2XM!-ޛyWz F丞@eS+6K"LR Zlʭ-/ ?%a9,:!i[F8LP)*H 6z!ߛ]B ChE(2 hAjщZ{mEOhxPe D"g[ʖ0gwYҁ~j1ЖنOO Tn̈[0͘>E`/4[uPJgDY2zh.gq4C^hԛ(D\Cc+!JѨX|1dJ~VC5h4z AmM˚kAWZt{/#.F =ix$V 4l x'Xޓ':m&G {T:0}`b N.:H4D >_)@=@d] U?I[8"KY8k(tEHлFZi,j2:ϞL0Dʷvƽ\7IAlvgڥJF"eV]zGzwɆe_m&ڭ. C(^=q,}@;̺ѣΡ\%!Gq6Wڡ&c/n*VbMginՃLm#!jL[nթ`2!G=.d/dwv{)~vpnhHT_$qy;<  3 I(@ R]؈'} Vp^N8_ gⷊy[v}AYn sfH+2GS];TA!ٗO+g+HXɘEo`J;qEz4S{DjY}z ;SH%fk ~^0=>@+ʞP[ē 2]2T2"JbhR֝:MtֺXʪ޿_MJdAxfgFL>Ulͯ...bhnݯUTt]7Qt9ޕZ8Ϭ6DEݖ@d!IR׳aӱvV|r?8)wI~P7N X +%\\9oǎ䠌5@Y7ZCThO?G> [ܡ٤CRx_q;{bkґ߈g)~ }_ E^q,MZ=S$$GֆfzLmpI eYM--f$v_A!mMδtg~Nc1Ѫŕ@'{_q͊4Lh޿MN{& F\o|kV@4!E~ t֗ʚTyDEUc3!˗ؠm/$$Ge rdl^Tb+nq1Є4 ZӅ^h{g1kFk0wT~W@‰<'!$%.z=i#hJc5ʭL.$3Z[(YHepR'p=TvuUv ͍Vs+.f>@ HzaǾJ;(9!'HZ|WO"֟H?wv$`ޔszal1:ؿfpvc 4141hAEO,B #KK(^GIR U uLy[Żd E]x I"%JEÖije$] tU{7J"Ut [?Э_0]Ǟeke'X+w}fo[v c =;op\֖=~A!!Ij`e0î^]QuSoWU{`g~,Y]Ȯ%ΝχL{AF Vc wwf\*'>^(?'%Pne-DR<:RѬat2uV@RZ.+5՚&^-, C$->~6垌e[Lz5XY(EiOCh7Og29@%$rH-Wd{;,PJ"z'/䍼8(ϑWV[F\magx꼾zLi7U"yR"h#[3|2KpxjS1%)6cj5嗲gA0k2ОuaJѷ5r9ybN7.w@fĔG_ˬɆ`;54tudqy fDҌxfpF=|I-+mw&"fqfQQ iEZ\Nrk=翻[G)%Vb ~b5Sьoe]WxPvMP  nKWϫɫJa&%&$f [-ፉ)ޗ88"co]gh] ttg3{c{D#]kJM.;4LsNڕ621&ג+̑1NT[&A_{Woa 0ŭ84 =xNFr&TGLRlAf< Z54Jz+O"՟8}U)xO5)H+A%Y,3-Ew/ [^LjTtA؊;t]V.Mj✬^hN/b -`v|, M>d(D%jhVI`Gux;BucEPڮ-%@ o^k+g /'$QHXYžZjY~'2*j4eɎF}~ƠhmӃꝁ'?lB}}_wnn7&.\K_W}W|#2 GTu!1t}n +"T&g_s_x,MZGo@T֞m_F3F,zݓ۫뜥̯W,c #q8(o>!"=69FR]Uf76( g$*! ңvܳ{1PٷӷЌ[Ƴ Kfe11 jk\ Ф!q`Ph9X ONRytpV? Z+ T XRA39t k{ I !XY uϥfd&w-=i;y%l[ q-aD,'C o^[_Ӝ75|^~mVBK r&Nퟙ? Y@x S 5Щtu kw3It(Vt֚cNJ}dLȾ[+a/O09s #TapapA00V+N&[׻?FFR跽WΗ2SSz6n/'|htg}qhM;>("7ZeG{uecFn2v4k _ c;ͺU=endstream endobj 255 0 obj << /Filter /FlateDecode /Length 5346 >> stream x\K\q.x,fe~?ddvL (YPHK$%SB9gU>3wH^2Ùsգ۝XNGϮ~wO_^ӫodqWzlx KQx8oS[^3 n?Zo:H7W5/am"c˹# ˬR!~?x ;Lᢏ=g"|̇ôfxP] Q,*UaFҹ_4RzK)EZfwC^YD@  ݏՖ}\_ :i?,@k}7QC G ~?ydY+U˔\ 'y`]* 7 !q|LEKHALLbgvVguS*_7~6 w'$VMW|_/,b=X8 "E% 6BU)/wA*-lף^ dF$]Hy{O܃y~*kEUK? 1cy09 [ )&e!'i>LJ_6kꚘA˥(p3mKPŎCz qBɭHmbEY`ɋqkK7qEEM8y,OէELڶxyӧ.o |10Wkʽ/F=HX  a0}w'酌Z^OCrPy .Df68̶!2s3`!jAO270!5xfи5&jEJ* :SrP<PmQ0J A0ɫTsѣUVQ`X #Ӗ~96lQ-afqzx*!_#P(8 ocX}U5Zкڣ2tIՁ{H^$OZ=&U f!Jm1 Nqk3$)RtPCɅP9]G ylVX̦Ո L@h|sQ.'~Bgp[ ^ 95 '?gygF p %Om֐Ӝ$Ye"ׯy~F6,G5&Ġ>DMфQYE釲_JQYƕ5_ѝOpD4qëdx%8-lGa8O4OuR;#͘$V^H=4$]qj#J(`i\%3FS GWM/Ꜥdg!s5vU9U,鈩UUpFD숳 y&tStv!tb.s9@iRxUUSGݵ`` B)<6.mܒ0v1M4\Ea֏ SA!t Xd[6m[_(E] Il;ӜUH46OJb@LYs UX,Y֞i]shcQ&mfzZPa4-ϫseQTfN6M{SAƠ&̳l6P<aNH -ΨnuaImUU\?'kn+rf:[*q#ou:6}=>H@O)_,l(_%|ak8PqNS;ŷĈw>v0$L}a/z$"{/n' |wWtXE#ca0p3TloE@GHRq(+eRS>\Z3k.5a LqJyl)Mo쥴t]XF9pVAj>hf30IFo<MGKp}|_iX<f&ⲕH[p 4e$R Ÿ_k߁1FW[.ߍ_+Cx*m_yAEeF^fX0ZS~n7!qF+g|R$9uQo *y7dB}w^a?9 ᢗ u+ޥhH y?ð\e0%0'0Q+SHR5&2㚚vFs6n rP?5 .`.2:3 `|yGRi f/ |Ld:' U?h6+eӖ y2O`_ _vYzbi#,W~zM4~pd+PO0mf=jt(EaN e'%:QKmdJlX9F3-P7me S[luh:eiWLˉaڬR9ٺuOv*s"5sQ TtB;9{92^\A-dsN׫ ÞQ=-E^%͐a:RM^<ϔOKYֆp#ZU墤Oץ$cI0  tn oyzae&luMŪ TW~ ֥3]m:LxrT38E~6/RÆcZH {iw)do} dqC, 8~FV֠("N[r~bRPMe}]cwӬ!y?!hVN 31Ea])W%ؽs)0Ӛ=ZDŽ:t9pe(C1:!eqkGRM](ja[y_y|}ə|'H"gÛ&Vi{>Uc/A:{iI YS׸hlJtάkHATO*:DQes95ۗi 뵘.g_w b4@4 .|&ԀqմjLWZIu~򹛏>*gf+&;O'&̜XRwλ:G4ąI )e3hM PθCMۆ5cw,$p|\R38Ozɚ)&9ۏ >_D5KfR!TS QC\l{8EEKGr{2¢In7+s{&R0 a[{R$?v$>ɡ:j'H6_3 }ϔ>ky+_KhD`h/po9OxuN 2b.9Q÷WތxMnMnMF~7{$͏WK^G'v9V:C 7>ˏ%iv"&;!|#f=+n}mƎ1Z/$9k3HvC z5^$!a"fa*AY?eFHANWZatvu[Svc~gU+O{7.Zزu\\YIh׽2k82 D>C9MSpŧ3j,zd)֫ 6ywB"B|(ͅHrߩk&6,<{$`)0lQv_Pϔk)(z?ָ'y^]+ӽGE4rjjH)\oߦS\>nvWҩԋSz/b=n+J śh.^An&w۫-SRM{0A]wMx'Yz{bSF03JڲEyDMsi`Yְ--*C^ͻuڕ[8Cje+^ O=Ix^Z=)zO󜁤PSoZd<^1lnbOad~IAItmzRUE"w:͛ kaGlWD]zP-j/W#iKP.'N(kڗV/ʺ է~Lܘ& W9%~pTt)-4H ڍ22S5rm޼Gnׇ0%Xp n_]2ݬDArAFNj6_Pendstream endobj 256 0 obj << /Filter /FlateDecode /Length 447 >> stream x]n0D{}kq#H3TX'Q.E!$jvw(_˭?دWeqk] oq,R* EԌ[Q3n3D<"6RLF B Q!$"Y("dMUUMUUFTXprtprtΩH@DV#d/Љ2:pTp &g_Sƞ &glt6MΏE2: PI0a8y 8)c8`\8q }qh5sG#8u?ơq}t}t=x+auW=%Mendstream endobj 257 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6802 >> stream xxy|SeB!EFs( ȨETPwdRM6MIdߺtOP(B,":. nQ=\O>w9BQPxubɫ)q ۜ.dgbgFq̏-13=3S0atDGFVgz#t&RPlTRdnᤅ`*%Ŗ`?C#uf8ϣؕq[Zӎ1 H]ORNO;6{+alFwK쁆ޚXwrPƼ\EB>̔}7ќkDGa1*U21$w zƚ7kO,"Oq(TSٳӜ$qvS׋ ))5l%dǹ%KONvke6@u =)3xFvӴLZ 6ݖD&Rcs+[jp)ECjp*o!eI֒ܢ1x TnnsBP/v$m ?></y=d,+WJ< ]);m_|@*A̺=i;%p#d7G@+ -GWR1Qf1}x >[Q+ srNGGԵ2 )se;dےbnopEA-qVbTJBO=LaV`2xW4;:{$ B5ѓھ_HrKZ:K_?N&Y WȺ5M8znf4 uuZ& W+7"ܾTC(6KyrhRٞYX.yWS}mK=m7W \CEg;F% 1[etf4)|ibF'UvicLy8qd[ZAvDj0R2cqb}݇f/V Pn K(,qy\P%F]IxR[i**Pm?Vq&U~W=ܐFVWSO )PqaŌs dvծm̽Pr@x#vm.мtI8[XX8AKh Ӟ@-#Z&.: ݐ | he2C8V BOǮ)SHyOm'^ir q4 \-j"# :C+>3lv2$ Y{b.)ks2HC>/ ~Rˢg(僅 Ԅ9eDX/e%;{t׹JbMɍHO;k?|TU;A2ƤIbB^k uQ.)4W]!:MubSf'뷳BSKi䭈 isXČAKE׈!^h|}t1=f^C-ߗ_ g/!!ᵫQhhExUp S$8SU4wߜy)%)sfRY&;ruUv^2@K4;ed#{x7 HLLaŧ7q/Q'tuq9ш)S3sFX%v эXsx[s[kʏ;,J\3kwM$AoILg:ڂM!i7{ijtUo> 1Rbu2șPy #8azJ'7EV B:6=SNcO!xl[B\ѢWPYxڌgxE qJY79/uF/ٛ)[VAx{e$My!n,ķVǿwhzjr7t%[qMǸn˨r Sib]AN鳴a9ھ Cw?7pd W˳ešpS 9;n# S歗m& ㈢Yi*{Zcf{x!eAD'J b#ᕕlOJ#~/>8fRVN ΁%*rfY՘`r; O}{Vt1,.\MS,XP;Ta){fq/1_9\sؑ&fG2,`wxP g LM}Y{uO.'Sc'P;Isֶ*Ѓ֘UfUƮSM!D=oPM+Y3u4kGc5Cjua Ѵڬ"ɽ-Շ*FV(>;H6uLTHa҆߻=Uo,. `Tǂاyt6C~ Q/$/gzww W$'fm~?͏F,$^ ?JPusi<#f["i ЭY599v)c=K7Oٳe+Gˠ8Bh1hS&6glgma HR^T6r"6JkRJTe`Fԏ-M.]n 9&0TM6t%\x(M-kVi61^KC%|nQF9rΡu ~*b}%OPɐj,UezUiA͊SzY}f˷ ?Jj`*kUmG!vBȾAn)vˤ`>.e m1^Hw涼jp5 GƃNeh>UA%c#49T W=/cay,\OP9B*arOzԴK\C`Tn ކx|N:1 JJ]fPkjSlZڣ180HsrnR> AOz7w%`*%᝚Xf-4 /ū3l$.܁?,7e^>֒D_t9ŭ/ZTfCFϥuH{*awqp5!P )lʅ3LVbGcG]QUNjj:!l~4=n7&̟"5T/t,5U:j)GrU{'')7m jєwi+4'2kׯGbZiuA [eB8u817uv`Pq͉5+2XohAkYJbSTVKm1?Ț-q;l.d7+@^ WX] .Xd-pqtBPs8U]Sx:2k/B!,}6?c mWQlx1mܛ{ ~KV垏;ƓJxK$O+Eq˗7T޲ vwG?#-`4} zNLdYWjkAV/{p3ȹC3 O3Vqٽ@Ef#bؚɍޕvwZ;&C#N"@7gAkԖnm>JS;QBx|%8{)$LWЅ&K =I!,AyM/R.a2 i@s%QFprH|mW)7P4 "7Q<>,yԿed w*:F{AjjT5vK_HdPYJi!_%R; &Wc(3J 49yFRnʰd; zɋLc8tirFc[h89gMZM1'׽u o][̫\D&4|V|VȺ?kZD =IY@m䉷yh.wݤ2IvZ e *b Z" V'Sx/Ž 'K#+I@sw.:~_ӏRhV1Q,NEY<]mv~} ̇Us֌ݗQ(v7K/+5\E}!ԅ\nKU\~g0;pټK#wM?,Q|׆ɾʌFÝ/^EJdu9zʼ0k|i.e1:@ gDFgxBbelovF ,>F7zLof L_LBHIqIb53M3Ϟ>/c 7=厃V[* V3iL{AYQ;C䴍|"?D}ܚ̚ƚFr"KslJua=p:GVG/ DBQ(*ʮvdl6+6KɳRS);L{o<|B$Ǎ޺5fXgjcp6*ZˬZ[bNNendstream endobj 258 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1674 >> stream x{PSW%!EtIjiݵNVXbŪP4)!$
L> ~wem4ځ>Үނ7jܫ_M i߅#H* +'; G"#Zb ,AӟI*$kltU/=|_]Vg%AV'^Jh}14bjw{Vk&/SM`aa3 RQvWgQ$z)T6XlW\~(MvA4ʖEǏ}@y$H[z&Mz1Ҕi`0 !S*54RH8/nmڇ8D)xЁ q/ A21Y_b+Xs > \ `pCCP"Ue| \,`Zz(OW[xbxtN׽< TOXp^tj^ZV:zqfX\/%w -\;ua |M!>˛plTq(߸+c|Ԗ&3[xS"H(S$75|'F#+t\+<4P'+jƢng7/+O'k.uRNAWeuRuywɍK_f?LQfipxjVɆo3zPʹBku"c ހף%x!ZDk xֱRq1 ȸC(EC{>+f&~@lqwÝelWB@1N!C1Yu$B=Gt{T /{=lmWQ g,o_1+J#nRMfJYgib-6e7DPΕ;lS?w2{! (yP>)C\ÙFN 9yȽr 2"LAB=l"l̝/׌endstream endobj 259 0 obj << /Filter /FlateDecode /Length 214 >> stream x]10 E"7hK- Hehe00H/]폇c .y7Xeg x(t.׎&j2J ٌP]NWS`NB6bWz_i[q$h,-ZiATJ#Uz•fab*F忻J !iJ%Q @pyendstream endobj 260 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2917 >> stream xV{xTg7ٽĀ n @>T"h h†$ly} l Cb*M*j)|?Pnf=m=g7s B4c޹X3.eedO2i~Zz~V%(FI7VJ qOF C~;µ%wwWs‹BP.xMNapD@8#\ ,E,bY*eeyNc/e ӌܯyH3S3oVN*KfzД)&MUɦ9)K_){5Ӕm6͙)ag?Z4kTUZЕ577Œ=wZ:YiUϡF2ӿIo5(3|j¼+R<6sf^nVʪ\K9u`mMKd ,g2朂>)ւLsZ6Iܠw~xCe}CT:`G1sȡ(7A贙>7n}yi ͼK` d.f^u5Fֱl/f6Ml3{2kc[X;ʶl;v oA0QxJN >vNyS;CgCV\zCg]G ı]<3L3lڰ K3[MAwJu0rJ_AgK'hl}NSzyP#/zyv~|?yS<}6n6#JGlfV~}zeZ_ %XI.cRKcr轪 .q(p`nQQ9zE\ bIej5=GӻqxbQ &h {a Rpi`*_`|g F7` y\n[u3tkq;_a/SK"%̉ HwCy?Ax9ƿ4<=xc38ܹݜkp+)qpe $C &ïYL}+}} zٺͯp^n9U5Q=.hK{+uOzX]N?}0NCK+KĤ8샥fc7dPcċ[6y&3As7H7}c\ vI:i WتXI : .7Ԏ᷺)wz@—%WY^Av ]ꬠ( a7#"^^Yd)dnķ!ǃ(.8I}'ic|Х1Y!wI1;w0 $կa|kr,p7\ŸdUc7|coѴ)`2L42%LiAERYm>]/_'107!ʟ ZsܡUe2tPTuD^C#vlѼM;pp?Z.KL4\< m6oo(,/]gw|{pj7+‹sw&fTZDn~ͷaqZ\Dɹĥu:EEZt LT%X!! GfIߓ=5sXjD/§S,*(+u@ek"lJ" SަVJ{SʼE U#\JDl4(oRժ&Sv9,$1'|kq;wwoxxP^o# 7endstream endobj 261 0 obj << /Filter /FlateDecode /Length 204 >> stream x]A Em7 t1( )2Sk7gS«sCt3[#L!2 v(nGn _ܡMKOr5# X/ kua?RR"^cD颔&j"CѻsTַFBt6ĥ0ޖgeh!LiN%fendstream endobj 262 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 914 >> stream x}_L[u?nG+t 4KEeM1j$ A )Xbi6pnZ –i$2q{܋ɢO%{0&Z~xbb|9o{F1~t`p9&纆9QO1\>VSna&ittX g@Q0Y=Bb̝LYg9.w)f}~' >0+21n?UMt~Q P&d*A/UoЋB0(џs ,[R+)1\DepvLKƢ%J Rl%g'd2 Yc-}ݫ۫g똱GN}})!'W)%gR"ķʊ Sendstream endobj 263 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 858 >> stream x%qLuh#Cz.ٲE̘MՂʍJ -7޽+R(p\aŠ좛,1u3q1_Fc~zxy%%=rVP4Mg<ǚesR[e=z=UT;pWoPW4/67 mP_{}^q g=}>Q+/75FoPc0h{Ӿ!_hwIh^S~+q7(r?qSIݦHTuLb#hYrId@G`̪;Vesٙ4Y}?i6_e7> j% 237sY9$)> A@AF  "X6nj]e[Ѹu捏וG'2&~t<[M070at ,nGjL',s*~v&`}]^^Зi3%#-Ì|m+۩dW, ]"SY\дu|P/~}T'^{N@P>.BDGoEcC09Úl8%pf=yDP'ʲ^*|yy&Ύ%K*JDՑn7nbE0-EfiJev{^û0~΄ Y?ַ!j-#miw1UC5E%,d҉Z*˥cglYv=aN\Q?mendstream endobj 264 0 obj << /Filter /FlateDecode /Length 351 >> stream x]=n0 Fw7G%@%]2(^Clq޾G':<ϴ(Rbq\qˋuiˇqtkLyH㔕Uޏq{-Yq~햯%! uT|>8t1sz ՏaxtBԡSZVj@TQùRj ZZh{PV#ipaԢGj82sۨmXT(V\j@=(;)v\ԀvTtC{"H=hOEb5 kxV(Z'P^ǥ(ݣ|o-xќ=yf|9Gϱ}]Ӵٰ0q)2/ܕ|Lendstream endobj 265 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4919 >> stream xWitS׵(7`@!MKVFC0l<-Y`ӕYٖ3f8SG  mdi#;2MjW۵:kǽG|ol1,6=cCz@\V,(-}陌RAUͳ?x#b?9kcM)H{3ޙhp2LaM`T: ׭VȪ i-ZgHˑXN[" [ m?,J{RXW((Omۑm+[Vglږ .ܿy(((2AEa,@ **({ciŚ]^QJHV"ݘ_PXxkIiٌ )Y?xkk3+5k;kkk!k5k k-kyz tFVmeƶl'v&&[feccpα ==;3kOɄ)_Ơ$9r #觗8B|6!ߓ"Z4RlȠU͑ҙGOY=vCX(*@U~]"Gy$ RLks,ݨk dMUGA~mjQZC18M P!KI~ƕ3&`Dѩ.YW0gSԖZ !J[] Y+`T t hr4 59upnP↭}00FIrJnp\6pѣT~= Zp ce?I4|I,` ++^OOԄPB^˔0-lr֋d(qzO'sY|qdoct"Nv1PJ0OkΡIe'IL9`VVJi1 L|Vz@=iyagtCZD/6ȨYEަVRE//8'2:t7* I 廲so~&v&Y|W^w}#$zF6ȥ bGp2u!1k{yIU 5Dy>r^m3fҞ qs&[gynWkҰ\*,ZW>*@ &0̘u1ѠZ0 L5ʝ&o[(ꝕk,|*KJ!B gPc7P27'\hfaG(l`s:8p!=VGDujvqTѶ?$T*4s kxp!H*L&1H>43smoS |_ D栿 GSUZ"}Ke Tg+"<~q ;sqW.Qr}ޯJw~?j`nfwS6##r}js)m[d|eoQG$##p4򰲡.y9żcr#6 5+ĕ墲:EK{gk0RKrrrP]h#_K'sxJZޱ/utZR[FUZ֤9`~SE,I|.6Zwnr"9Uެ2ϖFxWY KdT,Y$n[`XR,ѨށBa\SFޖ>Trr9@F rzn=0Ë= ӫ٤v [W.fƲ$"i X( ZpVc1f֓7w.|H5/=oq.>@1ۏVj3۳שgOY_ޜDuY.A:71 YcʷWfN86\MFh!qN x]xzG;B`QjZ; G0gFSZ as_G M[O܀p%zC'çn:zwnLn g"2u)FSB_cR \/+ zTrUB.d& p{o'CZڣ$?8EUB $V\ʬہ{ Q$/gI%x54M̼ I7w{X<)y&_gLW\bN~j/ 'jK nF8h.z"93Trhe .Btlz+e1pcsJG5nԍNVvƏ?_$?̓AVU-wkQJ%y4{AQM)QM졛oC{BB+8gp!['um[X ;;Vm̢̟{=;zuZ,oFB*/[sIj3f[%g_9F5/iq-:kLay:r.|-(\ͮ ~ ^k؜lg!96W*ˋb=ɶ1}Ia_H,$JKxXT ZR)kCuΠI"|)A%[#{ kH)3ӱ0X,;FOIJ *&n< )v=hktCnfa+e Mendstream endobj 266 0 obj << /Filter /FlateDecode /Length 5483 >> stream x]Iuv8' _CnPW`1DȢ,c@0PElHr}/+z1b*}oK}//~v]g^.ݣKx]"(v~9g._^|4B/`̤?b88;9G18 ˯U`$XSsdcx_aL:TMzg\IXF}~78tjT} -`./pc(/oGXd V99O#;}p~ %ڝ~8:3x^Yl<5B*g*"JSK- ?|~;S"F@Qna7Bb'@G (mQiؽ @4f+N *W$Q"Ü8Av,a8wQ^Iʫ Ke4p(9E2H CSkDTkUVq\Ce Z#7bf`q@%hP E%Gl{ʑ L1}#n ЪP 2XA~O1-L+B)V]WBׄb0}<_\l:G1}ƽ HDA|Y0CX 1[˺5Ih/b4MO,۟:\l9xgHL/Lᨫs#A_UF^.\FM1}`3Ye(h=U,deUݧ#A+Βf A'pG{>igA1pnӳ0Q4 O#.y])`x#0Z#'ݬ-YmqmL/( Z.N.9'|Dr,̞-߃M9hHRB\AtGh,˒qh(iɼ3; aqw4_LaIrID|uGC(4S?nT[Gwxs-[  &'ݬc/|_^|vNcZ'T~H9ig04.[khh  3.6|HkE8AZ5Zv΅łDca"IB$' 0,VS ZB,t$:PڃB0 [5lnx\-sGc@UNxtIAy°)A+{MxIMACV ,8 2YAV+g|$04 F1NP*G *aO/2\סt$o:0}kɃqPqR=Ũڒnm{,W#pvbSpp`ܱ; -b$^΄`Ng291:Z'rRPmb s}"d(W,$iRVA vάgbq=̉B1xxQ(lFڔ_Ϣ۹c|hþL>.Vh V{GX/UZ˵ULGiQtVݬ[1X(dyj9_V1KnMiMSi:>Ɓ/kI,C%I3~^<0_Wsx D?%Ve23i޷8ZLH,f yeXǴ}gxYS]O|lzZ z30Hr {g؝tWɚ6 ]n"1THߔ"\ِ?]^ \4~PJ(BfOvCIUu|1AI-ES:~?Y5/I}(nrܪs[nTxvrGb[e@`3i]5Y.y]TA5RTbs|4=KwڙŹ'}:Y4C;u rwM2گ5G<>=- qn f|3 kA߹0C9Es Nk5E,q{2~:1({QFrñ$Q/7|=ؔOʗ쨲= uTn;ìo  !z}"|` 6|v *NEG#@AcCd+5xa[5/kpXEy_y'=lۍWe&!i2) yF-1T  z|s̟R`+6"~Ng<iE`[4d`8-G4 6DXf9:MDU[a&eI+HԕpMń`GDS+hL _  )8 Gb٧j4rk>QCǸc;gy(8(u~۷O,/n#L sohb4\"UdУFv7T u#ǵ5gZv+PO"JQU[T-[0O`F.wE.˙X~du98bUHQ)Ɓ3?m:m"ov,4 yiQSk"(ziN(?7lgٵdNw^Nuu1ES0w^kKYrK}^5ųv"OҿF0.rՙDGp\}-g%Y NA.PKkμulK/|E9y%c.9Ve+ٵY]W5kcvxshMn9f/<'*YkԦYfbN݄C jqXq*?bFXsr7H4?~]hT\-t'q;hc>!W)1LvE[/Yܑ/4pwB٭vb';PڲCi~Y) jH8 Pϼj1Mv,0_Bd^F] ޶D8ܩSoWnHj=)wcB7w !.=^xD|wr%_|֯+xm2oݠDgq[⺙z+&dVB6bkF> stream x]KqvwbbOLQO"E˰-a@`D`$Ho̪ʚ,V czdW7bKxzyB\^_|s!×׳ח?<\XWAy庺es__|նivbr(A,VrY*6,?p4N,lJܰںٜ} l۶Ҭnj3gZ\IXhFc~8Z_/r2=\╃wB_^b2ndowͩmw |k\iw7{pb_﵀ { 7nl+5 gw0W8{voݤZ^!c}XW%%4}-C*opFJӯV>lQS?X8V~zQTAu͍R=oW1պ+yR_vd$##/( U2r×t:ru:[әWO!nku+ 'GLĄܔKOI(7Qn h$;³2B<@HCA:8AEr|6bſ򗐁_d oݲ?0J7 pFxc:1[1*EX.#=HvQFLR;m%{j$ҥYwS 9]ӋWuYW Gja{&ar5\_ FtEN93M`3Z/O 6Yg^'|Vx^tt/>lG{h~?7TF{M!KH y2} |llRa<lܰjca?«S۰Y毕kE2ZBxRe[(Q#$glteAC >r`*+7 (- Y}dV&]| $4g nDypQ;y0;F%YƅJOY;ˆsL?-&I4TYIˆ>^jW-(w0D02qlQaWjszIsA #@1OtucLM5bDVG c,zP. хe:6?f#jR&ʍL^O09G[1 D]үt+*2e#ZK#d>pVq*Ef6u8yHy?=Fg\xW~1PRH!#Ukۃ~_w;mę&fN2DBlqVv+\R. :s^ #rӯ(b\qR>JV<ɭȐwYJc6όIY+;'O5)f dZ! d|=c{>U5ׄy;Ma) %#w"7c8l}憥Q[i[8DQn+xl&tR]T6ۈ["^^ i?#c߭.Br)z,O{KUET Uhq@=D!7u30u&ϫp#=k B7L<ꛞ1LA?(f^N@Xi`>n0Ǵ K|{UZ~$ν/JhuꙂ<֥8-;*G<)HpYRO6fs.`aڮsGIU gF&lz>O`;_A=w\WDW8ˣ˘rHq)~y${4m]E)oKKhh1(yb-U8{$jCi0Zox8ukr|8FUՉ j9N{}‰ɼr<!er*r6|Y$?pEvƁbblS4z)ۄ1%)JJ`fE%󋻲֦g- eczνkBE g PaU(c $+a qج.5hDn6t)Q"%~:W/]4r1'`3R6*ZuCܼI0TW}}LVR 679k`Vqh7.6/m}R,W\xA] qra-Pp[Ҧu qϓ8mgCj,<̂U ]iPϨ4VŨa9&tRCpp.szH\ *p*H6ElI+RFokb3ݷNSBq`ԛXK+Wl~R*5QUS7 errq,6[nRVOԔq&`3,x!z>~֔$_m߅0|u FGIbrЙE]ς 4b:R:BƄ_r l-14 ;Zۍ .̅u[\뽥|>eA9-N*.dcR%8R^V81ql5օ[m*PZ, yDgH|s櫞c"V,GߪkЙ"SЀsaA@h є'4UWט ٚq?wn"`3ǚPR|Cε98gqNACmwAOLkL `:v0 =лrl0VփUѬ#h$鸚$(RzX2LՃ}WXQ,>'%}l#B72$e@`Yac1F*Hn[ޟ1۔5aL=Y!0_0Ck9gYQ)dgؔm+sU|6 C{9NsL ̜Xy f)LZ]eD3Αzde1k'mjm0bVLKt i1ۥ^eľP%~wozL|:ymJ@Nhwt"_z{:lBW{ΖG6E`!#Ƹ=IQHd'a\TX46|e gHC+竆3Ҵ*J/YO$YYI=P&AN}gW HځJM 0jƋm?Xˉ?ߔg> =J+nRsRZ|WO*ܒ4Ż : b񱸱C6C2aTupOWwFߜL`7 {] yqu:"0/C<ӡb$|9G4M6Q_4<8 ΰx:?"V\61"S}r>$}_ʮkUߤ)33UˇL V9 ܔ6Į9ՔBgdZLNKc&`+zguU+ߥ6H+$/@E+ Sj<"%-xCo9ͯx{cWa*gU{cz#-c~9y: L|UxF{WnNS:Z[qzVQeaY%߳0IGdb֬K}D::`lx0PhGKwwϧ8Ŭu)49= rXkxtx&Ćɥ> )3 aP% J'r s_Տ/᰼Z3(>i=bLC!d`@Ȩ՞oAAusUX< C&|f(7ޖ[.cZR_L: !u]/Ԭ(wvkT *qY)o8 "UbD*:Hoi\)۬ &mCƂ[90KE_j&5+}( L(왐R7֯u> stream x]{PSwo\!^y7Ŗ[Xe(Hj A#oF pR*bbhUN[іnjٵuuθ٥t~3gw8|('!%doofC5`n[ O+ )]E.NHݱL7{ histiԽJղe!|\L)#Ի32Ҕ$-ʭ}|2MV&&3SXeLhedԶKpNQ˲`UCW[JQ2ʝSs)GyPM9S9|J&\#D/g\ۛ*=CSxyJĝQTj u@ڰFY&6JA yW\"` 7:F 2! Rh+N=d7$n~fC$bLI;RQ"1)Ee+WA1duNK%2"E I呓ni/Ϟ4| xc[XYAIVyyM dzqc깁RT{z>$ CJq}&oٝw,##-}7`gU{iTK3{hH^B.`GkK*iDY.b~yMY хG{Uro0ʗ7G^ݥp?)+DzN Q~?OPF'q7a8s['.WW]UZg;I8[Nʌ*ؑ-]G튻0CsLmC9P>!dP a6d^ѭvޭB-o*7j@_jc7{ӰXYo] e rYzJ[L:k htjFRUtz"3ygal g^0:(}#B}(.~BMml`%q^2ާ#[Smwzդm7\4w_fsmJe(wv?~Çw^%Ağ'iDbt0k9>%`CuZxepී kwgf"4 9"IpFG_!⥑Ɵer/7F/&({iB]!5ab3)WbrpPVgҪ@m%W kFك;6N¦/F>xȟaPOD s C nUhؾO܂p~kk&ǽ{!Ƥ)[]Cqo= ڿ?s߲c *P Cn+de35 z5p{]~| kw+\ &t}T2pa``T~ Çk:RIOd 9U* 5- o"/.P%}Tq+1b] ڸuͨmo8ffg9к8lh0ucGƏs`lt_PdCendstream endobj 269 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6959 >> stream xY XڞdFETHP;֪uCQT\PEUžK¾T RV[[VZ =ܿmス~G'3ADEDAV*Lv{ ߜ{Yĺ_*,_,v|߻,#vPy e!mS,Q a?a{OwTD i7[uu _+l ]8\ۿ[jD x(QWS FEK U9 XX@ZhdhWm WlG)*3*H Z>? GR/J1XZWD^gAo"ߛwfo0И{P8a) S`8J1JK9}57e ۔]W(ԜR3&zʐ3nY?^-}j6٠Q!7ϗ~c2]ӑq[0l7]9wfU[:U+pr~ CÞ=|*Ã˗M4.neshu|O`eCshY4 vI̎ǃơ;4+_x'Sm[l/CġV)f4ԟ8^XK ;Q&Q >֢An\<$id< [- ̛x)5 SY-k ) AnBJmr 4 v 3ށz5GFv$zd0m~*۲H.A6}7l]ٟ8aenuFϡkB>C#[!X4-\|9蠌A!43>9? SB#$4c7PD!N\$BP̏,}u{8(FW7c@ )v{bXNA:FR)?hx_D@7c7IϪaό]sIbDlPgd5J9:Ic=q`m tfѪ/%bݻ: >ooB=}TNd-?ʮid$0<5t ^H*bSL*3)(CQ 9qC gb(6 [MV-J=zy4?ٯ?SB @,(z*Y&-u$4ZLHELUEUq=g(ϗR؀j*E'P ^KHTmdծ~ًB3B'PQٳt6R L܌45$sjuRRjRKśB"e)'N$SU%1Ƅ~~:Si=2<,/lqTe v J2~(ď6O#tNR섙g S}l$]?N#h~mzvQ/?|-!GpF&*槛 \D_Nzo9|Qʡz4ƄǠU Z3F7:1}7r5oRsфM"Bt2A/P+f]-$PmZ* */wџ%w]E~$e+o*zDfrJ>&CRzKfg=s Tex uԿ.%0cUul24D-У!0zI(IWp3;TN\Ncr s0EuZTKfO%Uʏ&h Rmȵ : urΔb1Qe ۮ 8]?Bx/4+6G އҊ hPND&Q,xEd0ÌFKԍnqҫjGVw/h͓|^is]atK1\^J|y>Z4E!TUTEz՘t5mĴIm PɏUz*-N:GNBń3jEr.&̪.؅$'if>!#?#/HP]12|"ВQan ׆πl.=Eso^'C>U:J8&:߽x30zWԖ״yd#>3dc%as rc.ʬkfT|G A[=Ž  z7Aۢ) '_/hBH+|].L&ݎMR'MJZGpU>Py t.ctyz7X Рi:LydϊKM5ceD?SA.XV]<z9l@!Cf0hwiH8/yP &`!J`k[wdxOuxs\hcI)4=Vr :9e4JMɟ۲u>3>Ur}A<'IqoTJ*YTJE:s!hz7- st vr0)T1qhMtID؞Vߓ﷽wC+5-uv/\$\Ebx>~% QǤrօnf圓hr~:Y;=*򨚚}K'AXxe .gcfWܵeȟ6' )Gt_|rFBTgo 1D芴Ljy+֜0:je|"ߩˇ܌\ﲒj5W~c+d$&\PAOC$bMxQ>bӹI/NJlݲ^6#Ký@7DEJl.A{*6-Un4@+J24 l޾fgͯf7xxqj>YX};qTfQȶ7. !=l;xWϑ!i:Ust ZZX@4JC_Jw45^;lx:/=Dֽƿ*6oQQ܆BsNB&d] v:^$ih9ZvZVR*%]3]aGmDc1yheAqe&T|KX&폯#kd}**\4Qy/-,T*NEwM3 (EDM\S,=k倦#OnLcٌc ThBa&n #a9|_ |"Ȋ >&yv|`>+~P-QtLUx8']nYF*X bD)_gDZV`k$l!'!EIHl)x|20l0f~{fgi꧸޿>.N[`"rse"(%cxZmA6WXŵϲTBܤO+"JPk(]Ahf@םTP5=Q!ۗ"cGwzk̖l &&IQ棈"4M Pi6p.;)7Q/s~ 5GBq P-B)9+(Pe܎,)/ 8p_n#ц??zDKxG/%QSB1u~kvߙpd^TFؖLb["^׽Gzu:֟:b=TȢ`^ҺY{)%dYEh/TKQ;$p5s'eӻn  ;zwaK`-w, [6hk>9~LΥ0?jko B kMl؁T(Wć } HSSC,Y{M*;cj9Ehf׺Z.'Ϗɍ/w"JQx|$Lg; }Ww43.3rH|*C,)ZЭϊѥ]d ߑ52fLgRM5 |*Th$'hccjX{ {̏QHp%^GJ..%I8ˎ-IL[V_Z tpE\D@tZRn TG"#ecHJ B7$pEuoVkaaeioBpMh'G}il}R%opY 0+e7/J #uIQ4L<Ir Δ?\RTٔ0Vdpf(e=HOQr6htaS RȦ8]tѾ)\@\y&щP ~ZJ":>%>65i1= ^&F^8/=r+KwW>s.7ŁI,QW-J!{D񬸧yۈB#kB |(.h 2:XͰNԐ<,I%vK'N~'d5  52ĠAO^ 5n ?#15ΎNh8~$U:rr%G2L`ӋL bU Og{O;DhܙW`]@ yjQGX2'4!xpy6̴sUs0#~\N6SDq ,];[, *f}p↥\e`ɼX|?jaݫ4?"tΙt I:}HVUcaz O&"Or4Va2rb{Ck+{VI%E nQc@6eA81TO*l"Z,#7c lg^v܍6B |apu!C#1wA!e!ʳ228]$9t&-+%;oM#C̈́ Ic/3nl Zkezw%jU΄qA':*vG*ժX,% - 1= }[̃ aco!(ca+W8yyW~w +I|ЩXo3mGx媴HX ,<9>>c(dtML⪻$;VؓNk_wu֬lq- =Vwh'G%6J% 'I SOw'Zh @C32tzd2R- р\,>.&:;3#[G 'P>M@6" 4`ʍ`ɪ4*;EF |PajUz:1*]r^Htx^= ߅oгzAn]$jb}5&óUS T9$0A1UeG澎6s:Τ۳wp忱j9z$6 i(.p ifX߽rL/z]uE{W3Y?~tI<!67,f AlVMCYbSGׯV:rediYYl}ALU//endstream endobj 270 0 obj << /Filter /FlateDecode /Length 5232 >> stream x\Kqy:(a䘎4d8L +”]A @ R2U]53  |~/wl;]ܹgw_]Ëb:!` YX̋74kb`mdu2b#yR ?L§[ ^Uchi$Yf=y=*_ƃv~7vdJk7D 0L t_aNeB6NF F X$f4ÕNGuTw fvc/C|"/!UryyяMJKA$upԤwnQR5i"(FRZy4fq~yŭGk&}>w("t0q@8,Rq=6n.U,A\zI^y 35_/zH]!׹ p:-ѧALi;hSeBG͓^xE G`-߼ ș^4E)\9F[.oh|iRH[Txr#du>NZ0;m0\ ef )$a'bK#9 u+xaHuR@j8vħ4EmLlT'=bY?DM $! UKT<sҙzeyM˳OZHcwy}<k~cmB}e*8gv.F+A,Z jXMSXd(Md2ʔ)K #טD;pDt*a HU uHFWlde[ B8Lo)oHv+|V% člsT_|_ ~MvW 7.vEsfm)Ť+[ cv\mSYLL,@U%"s.k˻s*P5*suPc*iꓣ}1DuJw#'`\Yju=TxwKw ^5&uhE;ZZ&۰~ \~+-ˆÞ1~:`<l$ɰ쿱_^q{f0nÿ]|rw7ww_w^@I0 Go  w5uY z(%"ua۸!*At.` B7\" o>Fv+DFwOyQĽq`2F({Geb^s ّ* Z%āh^cti<-?95rT4#z~*P WZ"ƭ[Cj4д8uhΰcgZ7;1ve%*4gyCv.(\ E$;J|dπ@d{R[aYϯ6G,ķ}N|,()T@L S2CD&*i|&u6A`kb%~Sa&-1k9;p|)r-)4([8]40-,d~ 4w)wnjn5i;K.z\%+_OMm $9ހR̈́% X)ۤ14c4M2w5 V˕ꀞWrI13mU'\<,k @Vgd+N!5RrqU-em*TRe ޅ}ׁ䮠;xO(!v1gCAyJXz{']Qܮ53NIM;;B }NtB,'Y LafZǴ )G܃znqm )Or[eZV86u7t<2FceߙmӢJZJ4(~NP_s"buiJŕ$lćl,]r1NXN05׮zdtml0GGN8mQU/dQ4M/XiM`~a~ di6_s(?|pς/^{Mf"DyT\N1rډ+ÂnjaH+Dy^DMb2ԑ )!"[Bx8&@Cxs%n)Yr҆;LF1Րe*a@?V\u]mN*PU),1̩L &l^wTy]z'#9ص,ʽa#t=;N oR]Oc2 sX~7FAJP}ʃ@cnKmrхŏ 8ƚK95vbdz-[T6~znq[3[da bxJ &G' ߦtnfjMX|6b3$dȰysj 2{cnUmݎ(V}?#9|>d"9 4HH34sINtmJ?'xzj߹9f߻j,u2ѿvvx=TdU8y{7D6LOaw5T/i* [w-Mm"_/oK7 22XδXXOǫm]=|nɭTH_$^mY \ˋzXendstream endobj 271 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1134 >> stream x]RmLSW>^:(޹aA4`&tTZj ׶b2-+eǛfȢ!AjY5>!,}'բ}44Lٱ!sb1 [G 3dÓl_]#5c|`~mq;O:> stream xX TgR٤lը(LqEi"JdUM#*& BXDh{I&I<5'y-ɜyԡP~`0 n;'{{Dl5YvQ#@.W`|f`lق wT;!õRX>'"21zНSzyW\7'Lt]%,">&lkPx‰K&.7w[os]jU+Yc=a>s"΋sAqA 'nY4䭭+Z^'O:,cF37f3ˬbܙ8f e2]Ӿ$žZd!Vfկ>JOxc.d{#_S %n"Y'p-[ l Um2eEшC1*6 WKzOc3뎯wzN$C Ӏ0D  sWvT,XI8vUVnaftXR\A/YRٛ SRJ$ Y:fˇ}=| |G)єlʪ|ƽHCsL⸥""IښycwK)5 bGF]LJ`71SC\ˆ- ; ܀Zek$yГJmLTK\~ k̼r;2`:Lp9l5Ъ;'Ox>+ s Ѻ2Iĝl!8L¦ٗOi"/E_4<َJ*!Z Quh~_D+"S&cq3o7Noc]^ˉEN6 =$P3@zy@ )"cѿ{_?\Nxf0؆?GCxb&֪H,֬^pNuQt1s *UrKrS_ޡl GlGa^oW; ;10޲aIN45H>aIu ({Y{\zkd`@DA㢨_dѫoP^RΞp2^0>¢G腻膏r_tepjqÁlZ!uu KM<%7s?"+ީ+I(gsME4S'yi@n<'~qJf e+ OJ|Rr,>/) rua +.ͻjLһYN\E`ػe/'T4!6z2>ơ7YL{RVg-!m7\b¾\nT2LL'lO[zZӖuY#bk%`i9/|o\NZX9@ ̞lhyIӁҜc\g!JJYm}^(?x. #+Yǭo[vFM%#pilYS6Blm gj4Ǥ8aU|WE?#m( p>d%A_k8aA(34MF %gs6;^av[+VP uZ3FUT{Rb63M EoѾgPmä%;''>\mX5Oughs``hh``shggss$ v\J7~ڭ&5ѫ_y1 N[W×g^-ĀᙉE7hܣ7nZѵ0_2aQ *c5'7@E]$P&QG$*#]4}~?M2;_moeMIqL 4i4qj:G2棪+tFMeϘiA\:cI|/ ?7!ߟ$ầZz>'N80?/f#!Ep%\%[Z ftx8thODޟ[QCSKAϧ%Rd18jvldz]=կDB9LQ_!u>:PϟlcT$6D?z`xBza/9ZCX.?p-ɿo|['ǯ=ˇ~nD?L24X1l1oy~sUo<XAnE1^P5Qw ܡ+V➛g4ҕx`psUP3@FJ7*|-|_ hGt\> ,eqdp\抢P&`4mE3t`m&vD/> stream x[[d7y!xgD'Dk-q|eǴZ~rat~{݋@J0;YMň^>5]] d 텘PvrJ?B)rfzY,f&c*A,&kD-@hNhmg^9(X;ff@45'MNHF~&P5F䴔PCz zsZ5r2 RI0Zgi:'A"7UljV㍘r4J NgNZ yt<1NOt^pbЇ$rğ03 E1v$ %$قNd:Dc悊dN&@NA d7҄# ({R Fy8Db?⨞ *&'9!|&Vg3ϑC}- !3 &jW`0!B%@ WXQsH&*ep 3-aY>#tz8G"z ]5("bQpUi cjX3QUL$BRVIVHaUY.6O* KlZ> |gxP )$%Yj+@Y dŌ |!aڒ7G B(8e C$vÝ%["~ DZpԆ`.z @4qGLFe2 ^I *GV_;(d p! @tDNF"iaB`X&_N&<@8 zYd J_v 6ahlH?xx.)̤%L_g&y6->Ȑa ' @dp*@FY  NT 8଎ўk9iPjMCQE3Ha2Q K'|r˧PQ=UIl!:j5H)|1@ͽ+@ NcDfDXp IW"w"Kx++}cyx'T%[YO6gDvH^]~\^c<"' J0`7L3/(˽]xFAW4j.tzQ'=+*8WVo`(⤴ e n>.sf,gt υP ^9FEtÞԫiUԁۺBqA!"OQH'cP+(DDvU%B WA5AnzJw6ҢK]HcԠwh Џr%y"q6uʽ 4d7GE#rʺ Rv8` ݋4*c1ߛTW{ꑥpWxނ`4N$ۙE?iwwVˣN*YQtt }]݌ZdD|LF%n+V?vHIpZMnʇ͆IhӚjՐ% a \+JH@5soNJ&0#79s䋫`\YV7tp=sVyuJs#ML=?7RS>YozCa +?:qRԝ/m0riRC3Ն9E"l$47u$ FEJ G+@QuMƒy_SE1Dg2h_u~S ɵ Rtu"BN iՔ+?b#h\,. *_ꄉP=V j0h&,-MDҔe-)m'rj!ShI؆"7Bz \=-}XE%sQY% {Ok}+V%L\8kMI7kꊡשּׂjW,8x :pl7e4SMx'$sΐpcHl>"a4;4MY%֛i.3%2O-$JUrKUX5XudG=4+$9v]9ySooɾPf/؇XN^ jThf3\1% eL=Q}$E5Yڻ-] VTuWtCjXz9}7 &שtx^C_ (SPb&ɘqAZ!6g] 4;]~5Y4ۏEwyW]syT!LrػbS&X7et5L7ݻRꜱGmLVuwjȫٙBmLpt"kF^OPk**DĞjK;sdEׯi"Q*OE Z "PmM!\nT3kyZQG;dg(,0S{a6b-&$[gr9ˁ[R+Pa{4s-IHQ2umܷù;YԖjcVdģq07IwxLlDP2IDaʃK $ŵ㈈pCC_S??~)˩6w2@mkd Z4W^Ik}-5,:Acz1A^ D2nT{*//m]9f𶯛`Ђ>&m{oSz>@W4^o4D]P1RlE cw&(z3EZN;J:,[Σk%ergĩF0w!5-U` nˈw^"\@]$-n+ ?;{fu}oU:K~\![z!cM7zO6ۚe&b3{?vu;2sCOY7G4{WnߪnJ8%3;y6U骺9-b㚧45` B-,!iՍO@̣..<mv6=Dnɵ op-7 {sG$)n=01#DLE<##w}Rs-=ѧyoPo+C{A>9ǠG#m(Eޅ]~huh<>>jKzFfEDo&KcԵ hݬe#ΖfHa pS 9սs!M"7^w{*%,L/5Ӵ[COM|o2X;~wԽc?Ub=ةpo$ʑbVZ'm)qrD*ҴQXLq*LCHYvb{YFendstream endobj 274 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2646 >> stream xU{XM_^k1l,I{2NB.B35JqEgd..a"5JdJ5.k?_=s9y Z 0s:0Oi`ެƾ(,6Бa_dni`F{.xdZ%e0Y)cFa 29$xAt牯ORxbӛfge]OkF7/<,xP*KE G,{<9[Tpߊmve#&zk2}v]~M=ݳÐΧLqV7(C?9m״RE*W2δiy"*yԘQZEix~1_8'k朼EDKv+R*Љ7˶љi;];\u5K=\Nc3x6rh䘸/ynqq@NnvqFǫSH~x-6(F c326# lf'w:.)8y􉂓eL:c ή˩+^p85;tuԣTB]c&am糶0J~c Ny4P-t}%W6l( &VaL:T!cw~Dt> xgұSQɡo(s#؜=JraBO PBɫݐ 9O66/5n'B;&@i>Uz<-mg)2kHPS<(S5lEB6rFCW˯20s ϒQjmt6c@2dMxs!4; 4x<^fOV\Xf&Mf.QE {[B*+e+O4!1rW7¬U~{!Lakh/6_^lcQIʀ 4d[a+qǨkԫ;!v7Z[ULWf>\袌}|rU cxi?U}XAލ3wy+񓴸tY^X`EB7~X˔qHx> ]N ~E NҐG֟ѣFP7*!eޞsJSs|nzn!h_a0Y_B`|=㗷a9"EdGv[ :\S'H0тUl)׺_ߠFt3;#Xiͺܗ.l}>Шѩ ڠ d /Cv7p* Q ]6SlaRҰpoxV0;~ );:nr Y"vE}7,^op]}o_ AB*dJ^j` ?VP[IYSy HT?E{^rb6cy0aՙL|6D]hc`*S7on_ëgjo#Ǎd),J\矀9QO}yh„&ĿȘendstream endobj 275 0 obj << /Filter /FlateDecode /Length 5041 >> stream x\[&"6GbD$ )$f׬w&S՗Ꞟ9goĊ"K޳{U<߰oK?On~)ު('ҳރJm0_9;0_97|i؛"j1 :5|q^k:XOpua%:H 3``_vҏ0_|= / '@m!v pIzxRvz p< ~xV[nn+Fm2Sx|!÷Ћ2EVdCk&-FǸo3OpzO{#Pelv=qQGNG(ъ(_]"''q ʮtA ُ,fR thAZO-cx]}=p(4lz)p|L6mVl֊sc(;ۄ"G5  fպB^w>;z\ LH`cݼ^?Ն{׎|5|L X8#AgFuI/)'0jUhƫV !eq0BTHUJ sktZ X6y@f? ]V9mcRTK@g85WR8LFgɋ*h~ڳKZ/}uj)T;Q7ㄴɟ9Lk޷{6aP)QԲ6>A@VUjWSoA"qOhUBl{h7{t}׈ot־Q9yelZqac!^F8{D! 81|< j@y7Na!|itp 5ِV;`}ئ1q{n׸^H8.ôi1&YxzN:_7A"Hb0 Z+Yj&pIF0t,K#rI~/FmfM|ܬ6)|`Q"☞I:dͅ$r:JBv-g~%1M1f( wX"'3j*D }3T6Ю W(/`q\Ԃ0  [ )#췶BA'[ t648H)̸ [cB n’O`1H#PZ 0f1lΘf@舐Pa8i3ap 8 9`J,_x96 D%CM 4BIbJx`D0L@ `R +&y4OF" G"iD?NFFmv;L7H)yP<܂0HbbҎ"z%w !} ]Z1 tSk3<$Z4lAV8%y+A^" 4]aP)> &HIq w(RLmA'e#;fdOlP49!B1i4aٟz@,LPccj@se<&TF8IW2cR6K/8Ij ! ˇbF0q $Ms-~<ĵC,< b7!=o@BSYrDt4.e<ޛ:#j]g %2d<ʂ:(QX3)aah-snñal~%S 4E: u"H'0Bpzϱ彅Q̳nv|He;΢GUΫhp2_*ffc07=;I" B pO :s 7(EP݅gɰk.@(,jn3p=v)/.JOv9n[ݚ$ŒlIY]ksΝBmXJ$&:|I|+jLx50 ;>\QeUS^2lI`*wf<"zCDL5<6zbA Vi$4DJ[ 9t5] o U6Z?wuIn$O|:?bu1cp"'ySψ-Ip,_[^aFAbnUDWFd%2[NMmx#hX}9פY;u?ZMj]V%$Tͪ2sIR&3 .ͼ_ƉN{r!}:Kןՙ !±'.(iK ;&W:3, )E&1VRV?>:ʔS0gVH#KNXi/Cdj]~$骺E:͢ũx+/HDlu=Y>'rzSZ:Db$ȸЗB(Lf@=^f%p.@F( fُo0jX``q*Z5䖣VJ$(el"t`Zu4_ hΤX$g@YRa8:0#nyĭu3P&w~P9#%$ u!ꧯ& P%u'[\φU<~M  WIWXRi,PEgauN; 1FltK+ #@̙W{Kހ[FJWuzJboء: !DzH,jsJ7[ZAq$^R R^*d,*ɺ:r}*!ulJwދ<"^Z@K5khXCWiz&"o}^Ƈ`ދ!nq`ԤH|ѪiĜ$Q`1ùHo_Uo5mSI / ݫ:|j[R^i.i/ ͕>`ct(oo-'?c8>B)il}1M=)CV x/zbXT}js⸗ZU_l\6y#I XʸC:q(},]ŽC 3A}9ctUY+܋\>WmJ M!2qWNi<-:"“}V: ;#ܶt'pte} [Rխ@>SdU\eG*ݲ>JPd/"O45DJ x _9\OHGtAW#:5L*|~_"iku&{CM,y½nHNetzlo\[<J/wk&F5O >1ͺB"ȗ +6~zlKV$'gDU7c!XMOۦ;R.q⻔bĖ_:Z2P[B#~ꊸp!},e|cN xk]Bo u?C07k=uVŶ{%w*5GZMPb'嵵r tJ{**dlv \^x]f/6{f+Q9?<~[~MJ]x[v”5;vp!=.\ՔWo+gݹPbcՒΙz2Wg(KP`2j ſ4.S W#-{YO=k]5[_vhtcHeru{jv^E+uWÒH6$5_QJ@R^݅t|gՇ]T ~g=]~kqvA״+%+ `ҟu~coWPvՓ*=[(4~JV6J%7h+ȿWnfȺy+QAG5W!eصÝQ} t3_[o e3t z޻+l6jO()1z!*m`?;Әxendstream endobj 276 0 obj << /Filter /FlateDecode /Length 5287 >> stream x\ͳqy>کpKHm"R^ʩ'>D>Iߞn`40Y'r4ݍ_wϫ=ߏcO^Վ_?=|x{֚љݷRquN |pG77pd5J{x8he&K+걯b j4 4ׯ`Rox^9_JιÿG {VLZyJa:q^k:X5WJ&_vJ.v;\;oҏ0?|{5G?)T=bjun@%|4~dбyqxi8ÜgZR P昞ƎƨkܰRZ] JuZ c̥qDiw®ጝLR3gmRR}IjZH?E L>4' ea G!Ɇ_H`,ViApp8\҂PIA 毁DK$ع)DYǴ1^/CH |:rz ʹa"MX6 >‰C ~!})- >/؞Bi0Өs]'i*4ѣJgjͯLyaon-*{-`G*(½D+J0nttGu>u/˗׃#̐}_nʂ];[ hi摄~ꏌ-,WZj^ fv+9z6@^Im+vhCM0b 2F 2H8SB\V{ Wq,b6Y=FV0Xdk 4Z/nD *Y‚üC[6 .{(& ӣ` fXy%H00v=~ϽN3k:^ UFآT6$Z6UNL.~x[޽I'rɵ㵖&W?*A}}sO6DlD6/ T8rпhÊdu:rB++. ၬ}p:kd CBg]hp_@Y HJ#P5U'-S%X%gϑGE7Q;:͑k !sr@{@qșlgcU /YsB6-@yt[¸T<צE2|X{-C01r@2D}HІ56n)ϋLj,"3(zq㍭CO4]Bjct2Њ~iqU(wڋdV`{0):%:DzGX+4B9BX$n NK3@b-#xo5xg|C;b$Mg߿Z\xꀕę,K1;~cR3 ^Xܞ訑gdQ -}gp'h -@S ng k?iʢ7/^A}]A޸>*&x³^<ǡn,L^hOrjSdDoFE=ږQy%u(Q{s CxR hNaQD+J/\x'["&^.- !JwC?GΡZvM;XR i=Cf(Q#"A0G xHk۽N ƒi"dH6>Hp&_dO㟂7*] HAPZJ~ J7ZE_; Sg$ jɆ)m16P4:ffwepF>UЁ{)7{ceBŸ bEL7X(^XR6qAJ5^ʊWQ%Nk(!V6Ij<ʲKc&lkE2A[=v×@u8CФP-_',@۴1~)v fLX%J"^-B 56"!LNKJ\RTGAo:G莳WnJu ,cK΢Aʋ@>"Vx㒸f@nM):p}{ ;Z!Su S &ѿ0u#]G'zމ@X!ӱ~.e,$\?3^`XaMt63RૃOAX1eFIaeRr`nW;bؚ*R 2> '}1кIcj좭p4/8[YYC|Z/Iח4+Ups'zZuR0ws"*W8sg$ᗲ`,zbe[Z!O+>2y+$yNuJŬYaRӢґ,s~6W|7s7!,&0+?q-iaxT|=4rp.Y,l">H^IF!miaJ4Ίkgv&0cmo;@HcKSoZ|Fb96I@ICu d{\!A;ü"SJ/jiBBޒ0.Ņ+Ф`Vhfoehrz0AFh<Kn_%m}:}(B{(LDPBjT: ԞjX|Q2r]â6s,b%nϴu{iŔjb&r]P}tMXUb(-?d6-]<շeu)Vs,o8+z~"2\󱺹:Kֈ74R $fJVibYD~Ӌ*u*éSN|wR+im]Ɣk7gOy2M9_f|AA ET}8Uw# +߲ 0݅8 7Azbs։bwYU|u#4H\$맳^Bٮ+1@N9ejPFwؾ`aQ6dD1 r_= /u-uPW:gYh ?2m㤍wwJЖ5.)/SS5' umOAr:mrN-"u-VWU/ѼT75ݿ`.4k=0҆rK,hHMn?flb9ygaRJij{A$ d״(vyLKr*waqf>:uX''5阄W5jgp:j~O" tN̑} zKo|EJEIkѻ7Ir0YƧYE{E> stream x\IqyNA s/R`H$:@:P BBe﫽zz$霬3kn\+>?_>ểL_.Xr%{~xpY iq6h{\cp2GsOgz{\}"X{j>L>}p23Ak>ں'7GoB8~q:[Ȧ*z}Z`NZrO똏9Z?(:Wc8~a5!{dExĐ#%,g@)E`&9#g$EbcBI\BB\-D'PI}"iK# ТSa~v~`ϢMª"p I%2zUL4sBB&:.n ^#Cl}-!7 &&7/ H"kaCBe4 #2¦pH fZŒ5 =zJO3)"HGH0)$ BC$E"N1aLT oN!aLz*a&rT!Q)Ai 3l5 cI% >v/A D&2BrJ bªh^ |,LNAq1aɦMB & b%Vq4aH2Ћ(Hœ2MB(2)RLҗwt! ڐ񴋞1&WxdMȨBC!Ś Q H o; >ƕ)4S2dK7)0$8Ӵ$`$2!_"-0eJ1; 5!b#Ȣck U]#j!UyQqUx꙽+v]2`?b5Hte iQjvC*کt+d*ˀU #_VV7Z2͘qHFdaŜ[@B}spD8wF4GyE(\6 l0cV!3% [&G+ٸ)&[T*yVhFa#z$s%?2n,YeSK{9`pE2Ru)5 6GqQ1*F* 3,([[U6#e3bP R8k m&[a8Sqk+:7}AX Kz'|ң*;`(=S'+zTP=}r0 ,G;+;5.NBGIUǵޮ$-s U)Tst\4e0ˑƮXm\!rR uۭv Tb3nD=]!V 2V+ pY)lH}ɝvټ*S'?M6)z B{HPh9  p(rdUٸ~m@j@[v7kL>P!5W 59z \4e0ˑ۝ f߬xvZ=uU>i)R=RW>YJa#G;+oNm`*xFk6'5UaPOVH[ mS>YhFa#l̓Flw*fpu<>DޜjuΚY'9>:<(:Jas;t11fyZ>Y^S*wz#9_l?m^t 1QB}}GZ"*PT8aKp/IyBB1mFpu;DƒIzW紎Y/ }HyM•/t* 蟉IdFOּL-'?J2ƏZ%qgyFm 37/%Ho;gNL2j,g1FW[%yS`a NOTNA&zqA_ɝ;A{/MW32SE+Q+-HV1͠AפKF쿁:͚E[k%?7s'5va>OٲXG[ӅsUC9'WrWNgSFzRq5Jk~ViF3ל' ׄ YL4aԺĥ2ՙI1O1- Wԛyu:݇sQzU$+R}-ʼF۸ iQ7uG0QQtẫ_x^+8a`a[6R6#0;dt߀ R]--OS<ɮM,S@u(Hw>.0yt9'5 Yg8_Ԛ:I^c0 "GdqN-e[mRҬE7:j[R,/ZJG_|ICw<6?|pO_ytx<[~?>\~qr}7`Lëlu9%"\AXBt)ݡW~pf`swkC^O A~Io;s( zc ?0 w㔒{Y Ɀ1f!X8媤8~Y )Ð(QDuSōȏ U@n^KUnRrf떣Mj{p "uT'&K(Gy/tdԾ ϰhj/A=npYo$^\ i?~T#-cKʇ]@ֈf0LWɾ j4uK~X7eLk]'chuH"muS!(VwV;Bj#l!ҫ$rHiZZ~d%G9epJo2ߡEz3Y~O!FU=;'y/_=J-p#w>0: 퀬 ܛصFTbBq3 {o,FnۯSosҩ8º[U:8BEoǏ_mkZsEgWꤔiWpjߺ9Mݿns>m[C_^/Tpb`ځ:־13h.7S.}#1 yaw;j$Ei;=-mkmelY Ѩ&.`'׶}xy*5D0Jqu9)L˩Jrzŋ"'4Ic]ǝfwp׶?5*s LT.:;lO^v6|[W`IAم1Y> 0tuqgZNt2{fr,rs]3v=if?M>y$肋h{|_ΛV$Dߧ`" 9/^AمBC*~Fu\$MsdB}**XAc+sH6 B?^?Rs,Rs oi8cʻ2|_w(ѽYSs| kƬz6ܿǬZr WWO/46fN8i̫2_1\`W:@pL4 iEzF>=3f&қ9s}SP.."S$KɝWu82zk _uUpXӚ47|y1/[b=ܗ'_ln"7 ^1SSɗüwW? R[bƏyE>-:Ue45*;lB5q ;jjHJٛ.Rm䵢BG<ypbQ^ghˇJ9W-^eM޻|ᮬ@כ(jUuca.Ob7cYwQv\1]3}'Jhu ]x2M)?ƽʵ kW7dùeV1~.PtfuN7^#n0dD*Jq.ΕxvU^)0n+\kSt7'/?d/ xvca49߫{WedM۰[6 gjdX0xߟޖCq 7rG-v7]W;Eak8iys$]'C'v$endstream endobj 278 0 obj << /Filter /FlateDecode /Length 6332 >> stream x]YGr<O.] ҮJA{ pQIԮgdVVwg CTꪼ"22|߳'?oO^n^n{xa͓ObClcVj3~>Wbvm?v&HZ>:q^k3 `M6хLǓߟ(afdzr~ӓ/Ov7L?m kj&:;oB.lvhg۾vJ3vf%z鏂?oz= $aE@N 4fe&.`6SV.S7v(/ :kom\IؠzvDz {33b|6BK\VWb]HY1,PJoEvsLNt|S2Q0I;.Z,aY›+7emQ,Jǟ 6b1 LzAIuٟM(#YuQ#3yX:H:eÇޜLbJvVfQnxsKx5$ʜ oA,Hı_:1bHeTVq}uh5kՠ~{3$*@nj/B__Cz&Op5хs֨iN?D:+ś٘]ggIR^gIa* Aɡ9*jAmRbV-%(lq}Ҭuۯ :i׽ Wpd<.e\rIZr8p{o۹"W%< OС#h:G㡔_DGg%%wD֔9R4Z[!Yd6cQ/ J;"Q䝅nICpdhFydKOtSjAz4E`3[RM \ x@S@=s8|QMYˬ &ہ 4ezb =b~< +iJI,ID>BkBn5ς1uPN*QKBI} D;(`)͝$[zXF+0GX6e yv6ELNgWw( }~r{©М+TU|aTaDz5|uRIA}'2Nj/*p9LS-VdBv:Eb@=:F8'Ltm-"N!iaXނkD-s@&r2:ں#p8RM+eU P@k-رxtP (½v(]@h7Ltމ`7;-[ `戡 vV 7H10V8wi>opSE S%60&>ǘxC+͒\,Vksuxܿ͜GjO,1-y oYhC+I|W'o'I{'c$8^֔d]Z/O?~l,7D -0Po7ݾ䓓7&6>^`i Q9, x|g''z_>oN`j@b$ZZIG8L^moCSa1evEuIj˜$s=Q>(qO )x=S {G|O:GlH5Ũ+猏F!U&ە}灚JGr!ڒwPu%S`x' %XE9;41XU:pxʘj1VfdFnMXrϽ5Nu6ш.SKmm{@# {mS7=|)I[1M0Xi"Z:*Xۜ5 !X h״&U 0&&TԂyw{GPK*K{N__uUB5 hc>Q!=ny2nfuX.'jw Q<׷9Q&IX<9Bgk=Lqhݫ-դ>Rn36K Dhp=țH)x0=E ОVlAmwDkMSmsI `ZDVD^;ޜ9<A'Pg@ \tϙГ(Hȫ)I`*SWkuˇ9ͳ~ǔj"rf1a#Neϳ\#Bxq fu'. LR W9^ <_F=-"EJ)uLUxRK(Gbh G[tqW6 a?vս{InqF"/|dLčm>* jk[֗gX@'6;!:x 5e35yWG^D&F?mCg<͚{<:y~C2:@އ,heiiGsSx<]|9pƘIT~֨or-`{H0Qpl%p_MPaA@yO`E ^.߂ L$ Z`:lunupKt }[ !SjsXqpٔE_8Q y,Q/q[HuBs^~ً9imY+mQ\]sSG'lT' (;xZVr.˲*`yFR[TmFdNc0~cxљd(#0ӬXM; sbB3jjG/:I#t]%y<-Ub)3^tÎNvq(1[Ht:tnt5qIH#qTDm1Qk:b!=xsvdZvcN *S6hL߳ Bmgs%| Rև4i%P +\G& OFAaX,03`^M 4ӑ9;Se|Sd#cw-Y_a%|>~H7G25~M&) ˭_ Yf[$Z ce(Y(~=V:JUXޛ&p#}Zt, kS Rn>-kDMKth?9CIL#4n$$/컓>5'|BI:6:8d1zJh(1e(h#Z+l 4|EMY35m$ W =F>|X3JތL|ևX# mX|'/dG:y?s*6})PE Nm–jU\.:ǥ2IU &_F $j-JwVFp q808 (*#,$ d6ȥuR(ҖTbbg#1He#a芴%y/rux PFq\S-(dUa5M\s@#+AdV$:_g?顗F"zqXFr {0,[i9QDkg)b)?Zm/ s}#V|>x ;Eժ1z]0/l)bhҬ)}N9U/?vB1K:g57ݷk9iyhni$p./ӣ3j}kgViNSxRbj`PIw ? ")}HA*^>}%2Z mf}6,4ѝCE%Y曪Wq?}:6!@-QuLƏϤ~ډaH]&W/ë`wЈ3J1iNX\I1q E&70Epp,h 8"c6]( 2ɡnը6LOm{1CEԓ*Я=BŎcFŎ\kAuͬPUaeIah`U3bXQ*z;gxC"AB:JI`rZDt6Y*DezS!I$ONZ{wendstream endobj 279 0 obj << /Filter /FlateDecode /Length 209 >> stream x]10 E"7Ty 24B= K/]C ytWّZ,u!q7ؤѦ+OvjyZCn鑬lT (_ydEj+3rHؔ(b;1vE5kYBٱ3IN"Kw42Y jendstream endobj 280 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1603 >> stream xm}lSڦr}t%覭Z!>4F|9qğ{m:؎6 I FnCUW M#+MhVGݠIӤqHy{5O>rsԮnݰq ^}Mumֽ{ah (egD6FN*]|ؠ5Wz)͹"z|zo*66|j|6xc0 %rCTKG?Ȫ+ ,=asAw|4bZhlJ[PpE^r튋2PFvKɅ>BDB`( !}E80z>vWKAr0X~Ud3 a &iY )DyQNC){,0X4{#2f0Pl`p禀kJ4TrO?ȫ|}a4i8?brö~q|F>;X1gRK 7j#aJ3G KU _7FAäX)ϕɅHp$@:hbԛ*.ɗ8^\rS󧶟U 6γ[wW"pלtU.mW_EY |>DIV<헌9jZ՚^+ĭ~V &6#66AIG1ce('E83ݗi7_Uf{%֝_LiFbD}@d$Hjq qI $ϮEٕ_vN#0\NݕUK~hɎgsdQC4 H-k_ p>A`8!A~t*s E;#aF4uXpˤYȨ+ ЀY{#;H9''5|&H?~~D؂[D .Md5+nTQBSw*!==~,Eq!{R3?&O kR*J}Yk^-HᓂMCi@"*d?a{3In*M&vh ca >^D_HZ đ"CY3-n9#p ^> stream x=YGH]x~q}` $X$qYo?X}Z6SQNZJm`roo|%&^٤iW+@)S?:kV4wV2?)'O[釽7LĤPfn/&)>@(?}Y|,Pi{j7q~oLzG#Pf=d˶ߔsbnFbv^ޗ3ZN\^ QCz-o_d/gā!3ց"$a' ]֨/.pհkz$p@tpMBp$6Ip" Q#e< hq&7yg$> 8UW-Y348x}D¯Իu4 XX`dtPl$%ao3gߩy>IKt-sx`0kx 2G2 %}+XIƴ|SĪc?E'pH4j 5]G rI1 >*5뎀EcݭE۞+i`;jLFRSI 5%ըf~ͣƑ+J"|(9gz/ʮ /+ *`g 7}UdzYE&@o2OInxgI<7(4f1+ŷQc!6SF2ч1"ם€y̓bݑ=A[1y4 2H:TD5*8sW0<3dW˴OZ?rOg4}b'ŘP< -<>UG"ΚJdP_hh($up!V:"]rZͅ3ރ'*V1ε1HyOwxj{dB9I>e889ʑ#/1cӋ 6ơS+; Pv;:'qNJIeO#ڏpAO+Iy'٭@]g5we.d1 iIcWZ"U핏1u0:8͸. |+[ ;b-+ť@ӀZ>s+=SE{ q`ˠ)ECV(WcQ1%Y_:279+y2X]KCo+=ca;ޒMk2]4ޭt‹.R()(wҎ`;.2SE2wi$r.%Hʗk6bOI)J9$Ɛc%)r2sCbOM2Ur>96 oΫtCbA/`X %E_%QIfkDK:VsN2{ai0ڒQ8V5B+I:.$Վ}B0-'1fҶN!O`B4GqUd:>o%]n>7 ,_U2@i[Hy $quUlŚ{lk]eo':,IH+7U#+ۇB ni*=b%ܦ֯57^SWn<-֧鳆-Rom+Q|nb5ׄvz{P oݔ%LJ@N.{YiaIV^ٵfrrO\R eź-JFz$ͤ]!-Qu}J kn hŭiV!ZFU-ß/0¤z-K̞SߥP]yhT@t_{Jۃay~H$F&=o trcY᧨lp3c'Q |z9ݽdlHƻ`c]KQhyȀ] @\nxnhqMj(1GGsBΗdZx8j֌eᤧn 5!g>LiG#jQ~]zm!7! zu?=f"DVת/ü|d t(m+c4ʵ-Y~E|hlg"ho2ZٍעH3|WelE6k֝P%t;pPСuzwAcs`Y"uG'/ezM4XljDطo_t-ѕKN)+R1\EW ݓF`ci{_^Nl3.;j3$C"7n$CR٫1FqAG݀mvfj2l\-伙AF;Vcv\j;s}OVEx>1mOFM`cgX*<@'qxymU@cد*2wȯRR4,_Wu:{"Y B- "{dkSJF8fxmˁ{N['K<Իm֗ ; =Bf'DHqIT3p&0硗&|W3LAE{cdR,D[̷1j5o('5R.X e|CYJ2QP^jgg0bL9`p3.+ -yqᝧю=z0&x$l-b BA冧$nNΏ'՘+t98B+eLx =Qޱ> !O >Ɂ d@zDX|9NV!0oxE+I1T~(^1T+Ɇ7t{ +JGrЂ;|9V';lLϔDU򫬶!g/;dXƂS#9HEV :&b0~N!"6>V} nƟ %٨p'U:"b2q3B[,衮d6#oFD+0,'+_~ή=ā諸)h{q^.yJo_uUG ĨІ[Es$*>s7{JšߢdKlOVVhz 攰}u.Qݘ\>e[Ψ‹m*%\Vķwaւ"a@Ղb(^n"e'BF$ˀ E0/׭m(ml)=7p9sO+D 2ܢ} 1i˂]Hrk%we|h'DfۿD,~ H]蚈(8?'sg*.ŧ5LFFߩֆj@jD+7c쪨tuF+'% -}¾Y#G8v'pDÿKc_%Fe>ޥ8Et˞}i2f`or/=Ui^QPNߡSȷg]򨣈 HgT3QY {1}coyR]<6KI!Jա)Cw w̃>}Rz1`V#Z 3KLIS- !2߀endstream endobj 282 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3363 >> stream x}W TW֮ؕDQEbTG=JPAv٤ٗfot! bh2cYItw1)03w;w{@ dwxd4$irיp 9Bxxmanx̄`f8<" NGJK<0G%O'EGF/]e"~^i*p($,&^m#'O'efC|}hxT4>>7|:o ^~[};M;Km n mNY`!KOQtV1k4 H)6\*cFIc Y:D|Yp"Aڝ]?tDwW?\F'$`2H U- _I D?E=o{ȴG\0KQ9au\Fhjmc`tE7 x>#1)f}*ʝ{Wz]v ;M{o_ip G@ [uG2V 7"oF>Pˠe[>SC:j$y)fL&ӭDqfbc8ߣ_=yo8?A'b r F_Č 3[$r->6*o/R|e

s])_v~}g|2őI_CیL_ }B.֖:t+[.kmzI6 hm'PgSsJ%IbUI%_ZP ~ѭ qAn $NJZ:c<؄޽hKa=smRWy?bEf r<2m$E%Jw&M*eOC?@ҧ%5;Z=U"⌍|EOZd=I4-+|Ox4| ̨Hm'ŔY~uB@"6&TP}*4l1vȅL >E!@(gj껆 N.J^+Ix%$H >qli]G%C'+ @","#~M½Hh^E)bG '&n?[<NR4};pC65ICMy2w!qe&0Um ؼCD4/Qd}zEL.I::4]{ N@GtC %1[fQkBYm-qqqq-mm--m a{I[?fyo+/Jؐй-F]U j{A>,*`oޚo"ZGhւ;Zs.^%䭳>3i<ۧ-*((dvnؘS{:!kccl׿ i%W":;WL9/ ly*c +YCn\LDlmE+3C0ļ9`C4V&YH$_#AN=s㋄ݔY#QV:dP'~5Bbȟ)Eg$#сɳn4:R3zyeCzz t߬S6024@74jM6%/B?a9(xtE'd)i$>$^_ 0 ʇ,GfT{^x|C:B19-~)o;p NW`c7Ka)ΈDLŰHrkP\MV7jʘL]VUE33]/[`YvoE?endstream endobj 283 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 476 >> stream xcd`ab`ddM,M)6 JM/I,If!C N ,yyX^/{ #cxnus~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+kaw&hbqIjQfqv.Pac3##k3d?ϛDuc-.,\=S'%K3=b, EMh[w'N=_raήz*3`S3]no*O'wtKUԗMo*]uk}Kwdz{&OկQjvݜfnz5AwQi-s&wKΘ7}<_~ -ߴm?~n9.p{nzzfL02&OTendstream endobj 284 0 obj << /Filter /FlateDecode /Length 4777 >> stream xَ\GqPDk_b!'&q$ )iDZc8SMlvcskڬ?|_߄J ι_6[ gV]\N?uZ#$Vi.d(O?ߦ/0/Xz+slĠPfx3 |f+)VdƿWnZ2O7[3­+ž~`C58 'k^!m8gV \_"@ΐpiBAUqN@Pj,0/PGsg4쀤Д@lVqAHTкAIf {ǿVz[]q " 87c{phBD"(kp e]tLѨ ϢrD#5UQX$[m=  L], CD?1GF-ZO䨰h7\qLYUJ09DL_dE2?pЦuQ6nfePQņS@y_ v0ՠk_PL`3$?(čJ*pܔP䭺\M!ʃ тpL%`)RKiJ jB=}^r߳f81hKGouSg,>y4$bWk NZ;*C. {|ȤP@&7[cEoȯ6Lw׿gni%2k[*~LZdG&~7V7#, 3 0,"rmv?n?)Ib HX7K@"CW1*wSuAYPX qDR6V\D@D-YX\Ɠ̉7#kK7 AZ4wJ`cXRmP.Q*sd}H*>;#h sccR9$`S9Q+ZrY;7otAUB^Rj7zEh+ƃϼV) dCH4A%)Sg]sTL=GYeK\u*;`8]P{M<*4bߑ9qi-y?**R\!rSdڑmgJzմ~M+#nųF~8gbJdŀF~Uy;Le&G;3w>q\I!+AQJ%g*#h߻Xn},Yh^3~(IQ21GiO ?=je#=L y(e9Z =cLGuE\cTOxj?Kb HEs2K'enBȳ)/'T,.G?mX܏O+"#aVI^XeGnUF7d$\9\)N{R5CRQfe)M}7iޭU,2lDdɱ&?=CD7gX&E4Fd =k.]_8/_dJk}J&HRR$ًKGg)}"[FP+" ܴm*tbTQ<7> O*bM\;-.r.㩖c)c)<8ʛ,|mɄ);za}cmp nrnygW+(XZOˁ5%nz>OO tMsZ[9x,׭ّyuRddł]d<X,?8|IN6j&B]m2J`TKi`GUz}Z$䥠þ?tnv1I)kX;ObڤVeCB j) kg#ZHN&,MiX2TmNVԂqBJKYWOh3Iz-7K:z$FR HF~o/L7 :ԑZPn,dI w-7NRqM($&O43r^:Iz z抖nLylM*iUY DSoG@_σ-deë79'$dK9kRו Me{t!0(4Vɐ ΫfͷC\e_ɁZ$DnUuǍ)]l\URiƙK i!;|]KE c S3YNNZM9AHznrInmB#G<3J]׻E56cDXi =&W1ÑD7OO>?yچԒZIE o:vwO}ro+~rCg[~rr;ӵ.M>+`i GG0捬-4.' /sb xqCz ?څa;8|d[KPEނUx:{B @˱snL `DQt!&8KC0PrPӴٿ,#)N_o@܁嫦"EԜj0!15j0g25XU!|D,_K>̞|=^Fd``|KD?{D[W}] p5}=}WAo= j'`m%?ǔA,VHUdBw  ؆{u Vy" .Sǝufl#8d G$Uo F2ݦ힩exs[uu]."6S>C\/G0VudCf[pӳP PN< + aKTayr!'7jW!LIƮO6Xԡ  VY-]hy`F(̀nxt* 44١B"C Ox7Op &Rl2w]c)?`{|P1<l q΃ V8kj-"AT7V:i]ӄ"KS2fc(`v|E+;úwP_3ŦcuF8v{oqJg(44קgl3z1,K]h ͝jjoqmt){1fOr=Am2hm')\blvm3æXV:oqBg^~NjsFdjI8!'m֮e㨝Q8iǑzWk;0_rPowr9U<F0 An6C?!f*23ͪ@WE_wF?CO1Qendstream endobj 285 0 obj << /Filter /FlateDecode /Length 5966 >> stream x\Iqy}s5k_PEhZCt& $@R_VUwU~XB8$_deYKWO;'OWWZ8]L>B`*Web s Û~r9ëiv)a“ͤC׏N_\;+5[a3T~W׳w 6 dM4 @|cD:(zħș9#!!jA' DՊd2 X%h1/C Dk 99+5y}Ջ㗇)!A1&<"K1l"(_&4{ G:0V^,( 2 sJA Q eRCL-ӗC Tx6ȘĒ+@"2m*"xDz@L i |eT2$ƕ)u $@BHnIOFF =C))SXQy#$ \zYWLJ;,S]W,"%!fӗARlk䡯z`DC(v&Z"3} .: R§&‡\[=QZ֬=O#uj6}sKC+^juρ►G'/)=*XoO.i)e]C4uMgt=j@(̴gԲg*7=*w+{6mz(ǗgYG@U=jVzzhU=Yj;~>[]1Rh'"=cFbA(2G4F q+J^hQX1(筕+m*pjN{@JiYs;+ Bo?Osu"Jڎ ?y BWՑkk7=Yy&<EV s#;QysDa,|W 9$Zٸ:fUn)f]Mh#犡H>98A/.93GT.w0A; {:^~_~vX'r^'땽o'8['wx""{DV9l.<"g02|<6svBjSbji9;ѯA& $yrrthl:*7B%>d8X=*s6G[evȠ{i>NFzXYR69Դ+Ƞ& n*μhc7 b?ZB28(sȍV^U?u($ Eݣ\mz>#OYne8YS鄸A"KvOqg G? Du.r6:G{_i9?LQ7#YK+3 j]D7 v_|swѩ/{&zU1]3XH+?*J='mFNwNiUvJE57'-^^B?:bmc /=K]Vw/"~K 5/Z6zAol֙:??V_q(*+b:߽\pl])K=ytyaW另!dD17SXk㚢=/Tި ץ 67 =D̷5wJǛ?Ws}GѸ ֚{U>}Lڳ ^ o֋ _pP-Yb3g{Sd.KL.`n^ItF/z^t(u)Bh2WBDcgTHVwmzNKjWҁUhhr7%. ܃:wA4"\1gvn:u;p`'DiM<)[1h_Vx5w@ي{hJ{y^T!?`nXş!D+oV^}^fkqWnf-4v#zY^dl̾tX2s3htt߭YK.[u- |Xrnﴖ djNΒA :5-}[%w)he1p_]='.$"//,y =/-6R8 CuC[C{y ưJpH'yCpSV%Tѿ?փW)۲d&mn&5찾x-kgt {-t%}rUN=\uW$ q8a8wkM0ۣܵkXZ0ZtL1vW5Ϩ`Hj{c+LpKvu5[#ֽ+ZMU%sՙH|}l{lw̰'_,-%rخ:<]ZuUDzX E꼃5Z|Vm,w=%,̤}ua&/mǹ-^ؓY/N9./Prc{syn\Hq;`X;@(Hs9~ߪlydlzn^ItŹMC|͜Cˇq֕4]v ޸xju1][nr8jqV'Dqkk}wKyΔ5mU9W܎3iwwzK_t9{+mapJ!>yiC4i*<鐝~L;V^asBsތk*zW/ԅes=k gk6gӥ{%rk.S $~I,6\$gW=wحc/~c!VoBo72fbrև|?";K jLmxrx~ŧ[9}jYYDpascv^OQ~OECѡR;UV^ YUendstream endobj 286 0 obj << /Filter /FlateDecode /Length 5343 >> stream x]Y\u6 ȃ `_־`Il8$")S9[ANO[U򝥊ol['6w}y6xj3Ϸg_lbClkٞ|pKf >Z;w>;Q og5J{0le:~JiiIF9! `f +ghyk"j֩ݟHI5GV2_gQ:IӃ7Lrn),b_M{3^LbF({:gpu-΁ {W[\68^݇B7",{mgν':M =kxS9wލPsy;W8k ;M{,} O F9I;6}vւ71$8`U&$ |}NɋE|TTVmt/xҿ61fSTp?Q@.{5, /bQ\lT=_/ xzZzQl> <@/h$ M."jz=K(-iYڃڬޙ=0vcc{cU 5~}w]2\zklBF%3Mp99A% ̥ })A0؝ hRÙ@Y*SCmD(G>OD)%,@";wdf%c7RؾIf%0$Vb c3j-?::Zi}K`Ұ{pJJV}߀3E4|V+6-1:hF猏 |L\Fx[xSkȅ>@9Lxva^ ;~IU;"nP6P=_aA[m4s 4=iy\Dg1AAA \ag\=2t4"qd62U k`da5K*o']yvI4vjID8q ~t]~^~ 4̯H#j63$*E8C>6u ݧeQp)b^!N.aErNr ^5Pg༠bk);#;(禍ȳ-*uAaDUxge5%Īu(yʖhbq)u)g9;U/\_n"]RRLBI"L|mR6Ĩt#t f?)jd "S|.Z')Z* bɰ^b}pfI<%ϤQySXYg8f, /bo`9?~,5hɆbdz1t|o>ԒeW8 Fs9cXɻAFLHIHVm;O+R0i *MѶQ((kkN(ú\.&fWn}n -50`$ % /Ѩ|Y $KtlaFUmr'AxCrwW\^`OQ~Kۼ̓dQQ_Y<}׆imr 50/NJ~hz&fXTN0kVv ']yq?4&ʌ^TlIyުE#p)nAR-bY~u85^eͣ5čcIw1pFt|. }=('ё 40Ú"kfAz;[!%ݙVsyj"l{8 ]O 3>= <,$P1Gg@EJ(-/i3>πƘiNSBy5XXZa!~X6%j9[ %d:wc?I65ն`'<R_{)cމ'7 `t}۹?3{U;oO aNGuu/ *Xʎep~<ٱ)~_1Hr/$f53I0pu*:ٜ> P9FRp=z$N}2~ĨPK%aK<^-@ ;&HM#h؁^ԯ/5+Xtbp+̊/*KΥ3y}\I>V5ΧrVɘ'ъ ]F Mߤi2հ KG)~λuDV'Mgi0BhZQzC]Z 3 g+\8i ,J۝&>iy`}eVGCR-[SA^s,J^:o׺s)[F$ F*B<%AMJc3QHׅ„7z/3o 78CuK8l2jeg>+ȶ59zı~jhL5A][[dnKk9Lr.VŊ]݄&OKyioa)"`AS|W1^P}`-!t֎ҝwxM5$7-K8Mhq 'QPt]냡6ր4" j;@h K[5'?[lY% +V}^c 4y$θ1mGX=BUohr ;5̈́(;EId  oZd;$%-=i1.PjAG1M Z'Tpڭ GCsaǹUAGkXh~!s^!u`{UZ˔Dm o,okxk& #MP&R^bDzŒ׷~Hc JHU?dI0Չ\lH^}DJd{vl<P)-F(#<Ԁ@L wi0q+Z{@Ay~²JsBZ$qyu0悯-åES^.J"aAdХ]⡇{fU"d#Q%*[NlO E4m1QV18q7(Aaϛ„~j9܏_1kb~S۔器 }(`L X`.NB ֆPq .bKʺŠ@ s)`aV2[tR$6āi,"q2? XWS9M֔HJaiqW̟J`e593qGҒΆǗʜBdwk$5`hcW{jR/^J3(ndk/ËW!{4JKB6X ;K:-_cxyeb\WU(Վ^U7bp ۖOԽ1fҦ)uktqX2!2 `"vjϚa),d`NWR !Qۿ#67z{1fs9썗Y<* Fې>B@VC#*8_e Uvey iwҒ>SN^>+I% hʗMq 4^l l> F= z;8dpkzul6endstream endobj 287 0 obj << /Filter /FlateDecode /Length 5618 >> stream x]\q/PQlG 'Q u"]ٖNwfHyxvJ{%.<~3_m$7vqSyBl]|u!M SQn>H&n nsgv{$ޅAvrhTtnn/&~{g^t5u;39^{m;oۏQSai^o lhEJьqK]y- $%F[*ϙ7ROm.N^ ww`K[ɔ~SY!diL-7~rdndϏw@b"-f'U&:+39i59I]85؀#4H"4עg=>a9*6aeA$jD&l%Yde$J9F*YAPDe2ގ ac+G;Lv&&YGkbj#htEDXD|[gZm'&^g?"%2qe=U)otI{#ϲCJ\ jL0\Yeͼ+ >rFf~;. d8ZCB$ң4==@%s33jɁב'{2:Oltnrs#XQnװ-R?%쾅헵׻=DS} 򇝂qo 8>>8kl_UϦ~c<d! ^bh! | =7%< cHAdȦD6hHm9M3rhj<x5\sK ]|DD?".v i,#!е8WY="R^~C)_qڗ+ȴyv;J[e&5[ x<16<[»K:XiL/Z|M!abms\ ^\]J2&Ok^FHjCl7>}eGG GM k|oqcA@lu#20AU7u+$H.X #nKy{N}9B\Əm|_GC&EIOR%RtmmQьX HjX5,#7qRwQ8ōޏ*z-x'81~Ia㨩N~(?*&>B։UklMMO0C-,6v!0FPؙSAUQ$ dh@]S2,8n/-fHLBB,yc2iZtB HN} 5RD3A`գ*\X B 7JDkYp>ZaJ NyOQʽY&ePGV-3)g~Q(zГ? ~ddU j=yRߗ wn@VGy'89lFs]Hֆ XF{:5'tM==JHǜ;*p/}-M 4nf/×E}fD.V0Aw\'3dl^ewexVO,Hvb1bj1u00b@-b+]1mhEV΄WE%~1Bژ԰9r%ud|i/Cj,rEb=13 VJ=8[Q?} Q Ev*gɃ/<S<l(xl<z`)K47@Gڮ!9H{ZeO ʦTU1j S611ڐjEq3CLXhG9g֥l[98썴!pY)`8iã|KMASK".?=st4W Jb پ0jP"_' AI7zytLyQ02"jY7r(ÃUU"kǹȡuwj{$yՙ&ˇpXHSq\d)y|wթM5G҆ ɆpW7jL&CBp@CzUehFkH,Zub=YʩkS.qAst#QEJ8߃ks#NzRKÚ#Ȕ5:ӻ7JV= m@.3A[uu:{84}riR9qKU'=&T}x&5u{pRh ^B3{U1x HiXYw9'c"yEnMp =e(=4YM?lOЍ/1>-eC\̈́IN#n50>X-N;<⢐m.ɦ`;CZ?ȚXUxIDR/ kiAb`+4pJZNɦn 9^l/+~G|F0^dMo|@PvR])kJ1]bPچOlg_Vn)h JZ[krBؽ? Cb`-3@;t(.̀ "T΋o*xCԘB _%)?_W&?xvs wL-#F#ng"d1vJBp'EZ"nU9IB&yL7G{~BP uX]%D eAzi6}H?m1cڙBggwcY0bLֵL^\MȋMx YPL6T͡϶ D^U[@avO}5y:PicIJ0-U> HBg.ͮlh/(JR0.[ykFz9?PfL)撋cpE]N#HKNX 5yp0 I<{Ч Mgќ>pdlM|ZQ ,iD| |A7I@ٸ6sg!`3y ~86+gOV:%o^5!8,]IwҴ\"@RdaǨ3Q:ᦩ3^a0:0+AUgs*وN/@ZʓATa[_,`hJ!֤LMLl OM0ҤSS5Y5Q7ͳtӭ,G8'HF|^1qBWyIr1|kM~9}_Qȁ͗D7,~#V5'ǖu\k,MKi'^Ó$;j/-ɘΗb-r˲^{[w>#5R*XJu)2_-xh R.?`96`Maܰx| нϲ3MWB`w{T^{"-JF'DK&FH@dT:+c)WXc2*e{Q>LjxjV _Q-ʯ$"=w%P9uG3$gS$Ea|ù9it GNQ>mk"> stream x]10 E"7KQ[* , \ M$ a8n[w?eY]R07:?%|w2(G|8/ꍜ ڟt"J*@;Y?6mOd„ &(5X﫛FTłfaXHm \ mXTXDXz;Z@NS,o,Kxki)|X93K$/)fZendstream endobj 289 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1561 >> stream xmkLzHdU\a5[MK6MlJK4!)\8`;|Wko BJR\kٴ\mMmզu=:ov>|CS9MӏܵKiޮ-5rJڶy1Y)R]^)ꍊR(P(kk7==?Uj*fRݪoSț5^xaSyyo7olʔSJXrLc㮍juGv?n746KUMbun5{jv ?CMsFSP*[J~AQOSoSTv@QYT.09Vܯ~'y8Di,`)sac1UN py et6#$osW_].ewzm]h ~xg5 ,Xx(zl`e~E,w?άOәEAƍ'c[5y㝄Ю2M5D`O0y&yoY@촺;]VZ\ @Z7(p'  W P n0H yl}&p^pXMV)j'0 gZ~h1? ^Ŵ`ݜ eYrRgNGdP4xG%XhX+03TKH1bTnС '濞eY*ɢOşOt)cK:RNH[e~r|kDHT>Y776ٹ(Ɲ ֓Y!@GM|~'~7v{9ei|,wO,>+H/cىRE*qh#-2QEIzX8[^j;KlAG )֦2pS+G pezhyOa]dendstream endobj 290 0 obj << /Filter /FlateDecode /Length 8422 >> stream x]keWq%Kԟ"H{E~?8F@HHglL1x ԪU~=$,O~޻^j3ٹ9~^\Օ}t+ُϤA©w>bGnWk9{vs[c |?_O9~ފoKz)TK= 6}_F={.{yտ6)oTvOaK^^e';\b;w|Iš ?崻eYDP" Ec?sJ\@JI'֔~r6j JiTښ@h.BZS[5_O=(A1POٞ)%NNy9#ZS\)RͲSqRr] ,)E2qB 4|"!F3JCcӭ갅[!'WS} j@M*vQj0cj*%q&r^HF)8btԇ}i^ӒF! ^ęZ(/B)%;'#@B158P\g,PTOg+6QO3IԜEUORKYDv͸ɎRL(f5KĞRh5`LEѦ%Sv"Ӫ+">MyPB$,BJLS3S dEuRl1줕:P@WULC3O*zaB7Ѳmwt҆EW)mhJyVM#IwvQ~{̝t4%r1җLb2g"LZdޤƬ$q1ӕ`ГDlb'u۱ғ`z)yl$X8!6$NO驔BOAHNI C#i#!1'OO"mA$1t;$ QBbzwGJL'm䑞{LYO"bJEID+J$H$CRԛHFYO'}I$0}I6s3ԬMjt&8\t&8՛Dnrv&Q:WLb.{%=@g L&RLTNCU$z2}IbB8՜HRpyYZ,碎$!>VCT N!Ԫnj?1@GREbiɪA*bGQ9*4vJt$U)B'#FU-2HQUB/\6W 4ZEZ!d5P"(w%i"2u#-**Я&Ij!8h5%Wr tW6$7f#0 ]IC.imJ:B. F%@M՗R2HQcQIqaFTR\ TVՕFPR40g!YBPWR4fyHMaIA<"¹ ;qP5,FmL BcF!DtvlȤ $/B&Q.+2)SNdRfԗxYD(mPLJ‘N`R;IAK%&!C`R*Τ q%$Ro"S\D(":%!m5z"AƠ%QyXM(_K07v",) V(f (+A1I*uCL-]bxdNQ-2b΄D(z"qt A݉h$BqYPH͙HǪ>EB ąBRPȍ0|Rc$+0̰DⓊ(AgRQ\ :Ce1)gIj>)+ `$'%sJPJ>:%"i'0xz h>D(BG'RU"|C(2,Åd dBIg=4l #Pwf*-ZGkl=̘5#Xդ[.5^i^ &=QdQj҇lm%ta& Vu{@(iRC+fBuMDyNU[(<#B<X8#oD(橴Q9S4"MDS( tPfmN-FEmNm'%KGۉfb.Lb2Ve^z54⸹~!Q=iYɃ uYM! 6ڤON2blVʤQ8)Q3 Gd@;!R}TN=Uިo}TMe|cgknU֜d+2(PV4MF2 XGĊe Bɨ&'\X()o+'G2(6'G2siq\%eMFm<94^Fd哫S|YOWe#Qg(?S V.%N@oj]WE ^HF"C'Eó_Jw(h}`vǠ_pwb֮L0C{Gfux>zw-4nQ߽3.X$֛.]ʻ C҆C]Aη(X}-X^]y)n(,(5-'=״K-%pzSvG@ !,&Z%bPhVkV`1}e(J+VLH\xyB/ !(E+쎸M"{ tW1=B{;7\3:ћy'HFj3ĬX m&&q^36Lmu0(7H1 7ɯz#{gڸRNkymD j]PaM;7YmAZFQҋ{0.)i&"џk1F݅ZL64an&ʪU%EHte*qLY&_xf,eu+$bYj,Gՠ,ۖ,-V#%)vofʲjZm2=(jq%҈j^~{_Nl(Uk'kdy#Ϝj@nYy>ch1#q}6ȓ͚(>}UqA{jmE>_#ڕ?.Zda\$aQ)(lm_8߭x/Q?Nk]97hExgBս}WpY|GDE 3 33 35=ע<a1 6\n1΃_.}^s9kl%.&mu~80BLhނTۂMx2r*oYiq,PGJ,8P/Œb]~eX\]n'd|TBd,E!LӉi|-†[džLxSnY+!&7k?b_ >L~'&>8%KS&O,Yͣ5bJ`s eޗX׳a3lb UՋ{Ƥ#~~FΎ|%֙RS1Cv(bau$8x0.8_ҭ #RgvSJ,&wЌo#,Gʺ1+y9k$֟a4A`1kN6x^y=UqىD爛KGSZXyn;.;2 Wn⃵ b#Y7b?6@>rw:_~53N"yo~D_t(p;/n$bJ~l~x-2HuP5w6'b,Yr vw!_ێxFEϱ^% x~fᑾyϖRtvcj;nSd\o4Ͳ&/ay7 㰿HT΍[3o^+IvܥI>$\p. Vm%J,Cv?lìXq.YLX9'H),/.;b_[ՓU\7p|&NT"h;Li,+-`͞h}0>b Zm/j=g;^(42|Ft8?Vv;}*ykb kU $N q|oVD5,KGY{i[>}|J~o\G, !SpJ~ke+YIlM+cH L1 LN÷sc UƭP!΂cnxY )gmpg; >$o}l8d!P3nZh7`7긳+-lŇvlë/x3.*;5r!3kly+M+~؇5M5|͂Qkn\A~Vd1JsH82Ce?clTF}>kBI<0$;Wa׭JkRITc |D\^ipZ-$<= }VV>k4m3(ySQ%/=&蹔AOv BI<|F=m_qn V0C "ΤEV) sqI~UdW8!p?^]:x>M""Ѯrq<K0"i9kWf VÇ0L}f  E{|Ľ~|fnBw籆rk36򙕕GoG-K}2Al{$ nI~us(`S9o+|rP,ƶ8`'/~_v[eV-?t69prj5mN;blݢ93 |5'`˙5 WeuϜgA&._OL(5WڨG|(nt n@3wJ1~7\ w1cko͸v{ozLd+5ỹrf_ĜGFvLvO#O&K?U P ]P4p>5|]ѝac;s&[\Fwdq}>etK RKg/~pAѭ;R&wݹ6aGg(\&پI!ڬ8f%-w8lQgw$:/~:X7F@{3Y/̫/=?+3Ym5xx.Ye C=ׇZa\xx+ᐠɇUAq |}ͭDuM=s xq؆'E aXW(i+ 44ⓚ |/=-K)]r~C;۷E>R]endstream endobj 291 0 obj << /Filter /FlateDecode /Length 5083 >> stream x]Y]GFmyBr{_x `@BAHlxq8a

}23C9KuuW[w|`_ɝ O!uxxxbؑ ֚љɟW?[op#ju Gԫ?~{7fzFkvuo9,w{ewj4 4/Rկ_9WwsnzamҊ4w֩8Zk$}~ +oN#s _Yw>Ԏ2sna"w-F)\=APƙ՗qZS.NBҁ-Zކq3r#0 2k\}?ПէyosǏyn10GeH22:#n6쏇mn, LdzDO;0'(A' ,鮎tzӰ7>{)ڃ 7RkHeR!@ yERkP(3jb#hqQg8}d'P N cΧOg a^`*0P _!1J3,Aڀ#YK'ksU@QpIT;I!+[ԸtB弡SD2yj^3=QA3%cQLLZ]4XEwzf(7\"Dq5,첖,%kºbWBhԖi3>T& ^׭؅nYN[xDE[\P&2lܣB,ɽQjk+[=O+,V>!jHpI4AǣЫi hWuh~\Z, ?Z0шe/dK] ?@cXDE = !$zs򋠓I@O/OERK]cMXP)ʜƈ&BŒ%1x])xN㘒e5׉/䜊/2E O!iR']J=&4Ҫ|Q4G7RW] ,aҍPBSL]1[B8niv΃ [#!8aNj1&fAfe#3l #bژ}8{%n{1&#922\HԜ;I+lioaJcnD-ȊE o;4SLa(dHQ_( X b8äļk%G> fh_65hcڣb~*%0R)z+I?PL":* O#i"_c=4\xy1*´7I.QġKTB.g-5w{K4Mz |487ǝl5@a57PӇ$.eCl&+~oO0p,Yc,%P +hΤY^L)GgG- 9qPS%՘4V@EEC̅BAvS-pɰr;np ˕QSEې`+l\\Y.R zJS`*c7_TڛJo7~ _%xoXzwMLI4@޹Rq OfFOT&WT~ i([U{- 7KE`8&ĪyɜzQPo:`N9\`K)~bb)[*j®qFδfKBn9l-B'RBGhvFl.$j!{=ɱX綳P NĨ7fzGi>;)̉-!ҋ*<?EyX1w5c)Jr,F&<>y0&nWI;elǭ\TJ&RѭkL %6I f|Br8?l,<{Eܓ)JYaY* z\?p%Xߐx5 ?͔`~4%-D rw̃Y nJ(WcՈkXMo I4$1X!R"ZZVr; BD){U܌qxu A%l|Tc}=Q2 oK&4%iNA(rVR".N2lU_Xm_^XpA5Wb {iO1qҥHi/*;))SC2a^񮚂BĮd\HՂFJ k>s`<&6F/X JՊ8]&L)qDoSg%!15tA#?X8t-59}Κr mř/emeJMV)6.IJ_4zڱ϶狚 YZB7T`xfmطRGT8 YՀrxTZQXTcS\dB>zm19;-K%.ZsdJKw|˅[,,doT^ʭP4%)BKRS&S*fB7XVJ@Q? {8{^[HV@=A{%xl ~5[)dW^WTh۔ߤ:B CM S7Ԧ"耗cXD=t]M/9~;eWߜD9}M)#=wE8cb[y[{W5i't;,~?hz+C|ͧn*/3-TНuV-l\ߺA5ݸK |5tw(7SfzrsoTXFn <^x|JH[Z"& @.^1M Eߏ*\8`!Cg3u"-V;*jꧨ2wcgwfdqok5> GeJ i;1.k` 7.E^b_Qz],ڏ!`a| "kyC:ܕoS2J(Z_އ_X\F88q nW_86c8Ht !`Dٞq +k㠼qxUщ䵦4ug ^0Ƭf#VULqFXHr1',(>`#)1̏>ߞ<>t+Bvܦ^0qhdܪ\HᡋGa>1ގFGīAC>g & } uP|\4JX_! L|)!\Ƨ- /1x 5x e mϽiȚk|Lx3zhl)_(gNӃ$ k;i3(S * zk+"u' h5MUE5&}.PHC{p#Zy3.Rf1#wۊ uSg\DLj#"kBUzKp| 18tPhLS\- KPVTu+FgVѻ*41Uϝ[[om)_nPXzt^g?;'Ӝok(J< [~][_81}]*9͝8KwH.U%:[/ 7شߑU O*l%=nLҾg,^;\ g+K_*ƥ჏~gי dlyGcq!G8)y=Z$?> stream x\I\qs}f8j_Ah q`M ECof֫݃!H;`5=މEW>z=s%vϯ^_pW>}| "D/WE-_^ׇVabmvd?~5*:pwkx8G/ V+YY Johྲྀn7ߨ%haoګ2CC|0?8!Zkq%iY[]y-^˕Qrth#v<8D'T~qڷ/˺i}}^wp7 AE g@4Σ ( r(PJUoQ,v|_YӶ!G‚ἕuEGrCx1Rn_Ρ^!pzCd= ,O 9_Nƚ!!pWmZՖњh$YsWv5}7Tc +ᩁRNZe{h%k**[}sn;/1Z'Fio,m]귊-iVeSh0sD4$׆V*T*/T*C`/B3q[k̯$EŤT|k!ɝ(vY`4_Ħtrd)%<4T$` @^ E17C 93,v L`xM5`cAS%0e6O]rEfi`{fl3(NKB'7GX&? W0v{ ؔљA; r_#hnA_Lt XB 9.`2^q٦V&ҽ9չG!b=G %5>e+ItWˢPް!'C d#b s}ݜJ.V(U )#sjX]Kܘi8B1=#$;7!5V=7M0AHU: =$ޞC& Xp2G.\"34O%kJrTVoTI2ta}UP<= ?LU7X|b;0We*$YY__۽"h!hN_pȬ9ZGתZy4Q?b³]_deS.(SR;\ك/le,`: W?< $:ZE3"c"bDGUk;r">T:ipmCƹh$J9) bK{JVl I!2%}T<9`Ao.oY,0"xΪ*$0(Z=nh`nQ"@*uBh|%fy|j97rwL :;F>uj\[TqiJJCY>NQZ^Tײ 3*%?,1,^S;N]˺)AAJa6'hPqb%쾍{@o9ӿ:Rq',zcJkZWZ;=@a$ j_ϯ^爐(9`vY#h˫^=xw>z𧝼z;>f7W>}Ym8쵔<87Yx~y'0*d{`Xk񠏅suA c?RA͎- @es9z1wb#2az֎硒h͡BeAS 3q(ҹ/W‹K:Q[%ҔN{q%*FbV!J'س;/.A+UVW&>q񉤬˯FWy@"awdJ(mQ{6sҀy#vҤSԃ 0nҦXO?fvy`Z t]v؎BrJgЊO`HG^/Fb8έk$ QznJ Dph*@Wc,8cFY jlvu!Yhi잖 Jqŷ-5lgaʼ67)kTWrEyکQfKO3Z!P 8ZͻwrഐG2.1hKȆn^,Sh: J1g 暘$Ch\ƿUs4ô(i,1ޤd0󙕜+S #@rp Ѥ.]R9D\¯1 :nh ay^t+\"ǴR(5Od"^SN"c]j8 d)OהIDTn>%sHnBIƹ$=)v k=C]rReiz^UZ2plcPgiȹ,@!I 4)ዧ^/VE)~3HAPȓ CVxu$f<""bO Cy[LH7\L@Fɥk\(kRiz));(?s!2u\oJtV5$ܳ%6.!Th>e"z+̭8sXgqJֆBĻ Ɍ6hJȩydS&+S!Zr7\L)D0V ۟ V&y'ljipxMu#rC"C\+ǵA;ĵ7!W#[j^f8pz>S?!zb  .4u?RŪ8&kU!} b:_3!.*VV}y$cCٗھ@r{NDޮ]{1*:$VJwQ1Q0[S^@mFid+&uFO @[2$VtC I&!&{O#'swV$RߍKIa7VuC=fu*}^_)m.XdBlVE` "æ7GP Rkk6}0M?IH^Ok(S9y?5Qt=v 3;Q[> ]^pZ)Ǽ:ƖJdws@ipcs*p $_պC}b9\0qUoa8"n]Z.UGƖX,l}}=ŁuqfqɁ,&3)EEЙ7T†{pQMY'C:Tȕ\xj }+a"tQg>$0Vc,~ʆTBRendstream endobj 293 0 obj << /Filter /FlateDecode /Length 4270 >> stream x\1Orh>D Ɔ+ߞ>{zB髺W7޷Ã/.?鯻/&<.? `._|M%|vRo6;/Q oq&kvskzt2QMF9!zVjy{y +196&HZy:yq^k3 `Usqta%Ӆ|btydGq#~T ;Y1las 0M(`ױ4^?8xݻG~c~f1O⣱N >& +Dy9syY=/'!SػZ^2?d 5 '8zz!3>lvQH56,qfR;wˋ.\{na'4Ѻn޺q/_`7[o?xުջMƁmh~aʀdv1덏Ӛs'{[Kv tX&89(;X]lb03Y ޥ>jVv&@Q}.N1!쇛].aV-6 kPŪMs%F2~)HeE`co7_E)U"f&?ي,ת,xk0 Dp{c҅Ҋ_I[&G1ALdݝ .Hh Zd HHغ&oUԑq$y X zr_a* czt(K~a@:}wk Tc#t=ĉth$2vI0U7˖t,wKW60-^V7/ 4XBDY l"jWXtעC Jo'{NJ'5*S)Ů&)R*zUM0ZB>BIpyr~{]!.QNX@t Q?c4>"dp )R>wAϹK)\P-j'9wQ0#(m~.1m-ܪ%XMI 5ZBfz t@) |fذ&՛oGdI0矞xCoAʡ9 b^+3GoCFM&ҀU(hh~gY y;c̴"e0a D&=֨Wf0;oZF:$((L.2PZp_'z*1A?8 UF &^%;&BQ; Ч3.juOX^)}K=77ǹ_{*Nma.8$7p|"poB652P0Ͻs_F&z&Y0eqz/;NЮd 6(v35vOTdQģ;khz2?")yXk_ kBPfDt*.tgvt>a -9[IeÊE_ !.cP_/[; e~>KJ_Қt KB`O$POyR:]μ"yj6Xn\X)b }i~jC'x,\.ߑ}MZƼ/Ku=kdIwu-!r^Sj^8^t F_`wD!n*)ܳaHɡok*r*P:V'ݍBr,( ㅛJҹ꽽ȇpu$/b$/?ޟ؋o*xcb/^!5bA,®ZF!cVuUpX&>!=X1hVW1j w([,k -Vdt0]e$m)K8]D݉2c] H.L>o#W~Gw Ӽwb 8$)1We+-XQwN)KUMsjxӣw ]ɾ*wfW>Y!q#GU3wNjzJѩT ~qLS(pg&vr\]*^f{&}6W[I{[{\E$0q%K /X7:5M~I@KMCgB~*Oo?WVf{Et 1cT#ݙ:$^\afH*o{ʐiDʋ}E'oc lfѼTa\,I?hΖX! )6Gcwi8endstream endobj 294 0 obj << /Filter /FlateDecode /Length 5661 >> stream x]Yu>A/eblwlH|~7$+P⤯8D&Q~b*wz{\ZJ[ecJ1b4qSrB,Rg6(ޚY¹:$~ȉxZJqkD;SMms-$V.Uj S>!*C泛owQ95:8X@&LR~G}7n>s/vuɣg]-)j,B@Z)lV(cdSfj] < ز! c#CpB@鴖QVI %(zvgANLp8 [nп~IU'd ;= k[\@;A24G-zXMkyɶMRfQkXxPRʵmRQq$#Oaz߸S)p`T)xi9r$u A273fGl!HBrvoy$d$-kC~ ZN*9*TZTz iq8.˜!Cf5\=-$*Ɖk=9>LEZxzi9^t)ȈgTJ~+=dyϔk!]A6L8xF57|t,'}j#48hγp+/m?:fdzi c2OT+6xH: PQl*K !rD)#@j * ;W+[ [cr JQ)ױ7:&Cx2!ihe9g,xڙ>іpCz(i"DJ [f,w?%YC}ygDQ_3zq z)UdFQybAYWS(hVɓpn%*9G?F>p kVBx\7mҕ7mѕl oW o.`\69ɸlq̩ɲ3璎E|Ub({}T'g97Wl؁qHY3R5xȥ!AFLԋQ [ZX1 ;3C[apPLk@N"$kGDk,>{VoS9Ch8Ac2:lm(t!]pwmOL@z:ǰdiE7`V8RXYFs,9oxx, W2'oǔ1&kgդ~Y5 QKY5)HXMV$%fUt!˪U*BЂ]oi嘮}cJ؜d8bipXry5qxqZTqzoDr'XXNuE 5q"52ZP˩m?͚ }YwY-}` {%J]_t6\K% LvRq85/<8"z|OeZa4|jfp;&$O7WxdQ*A WL?:m Mfkfafd&F7K&GvsVTC-đC| 4@?@R)!:tnν`j‹yY,[Z9)^9\[8Fی tJm.+D0-z"k Iy' cgZ7-e nJi̛AȚ cIIƷmp9"\6=Ҽʙi/Ve v2H)f r2Cv7g$U<:a:B+ lnx(saešh8-e_>sW@!`QMkYݷ黯:|ςۇ?iwpN&р?XNw~ҘHC^`Cgc&FfseTFfŝr.-'zLnF.Jg\D M P`;^}d`XL 0n^9"yGQZo4cD3??r4\F+-U1;!=ɑrN@ (L6,%&.$>=mFDsTdRٗB De0-SiT\o$KeyӃP`A|\e9/+Je'ҧ$ّX4joNrIqƗO a:}Pgpt 6 =,P+dPѷ$xLna5fM‰H'>f ׳z g|jWID/p~"?$-4}Ӱ3(/4ѨQ9Bd٣~cqO")$UkyG*lmIEk A6JUG"K34/#Ih.Ei:]xpIr Inm+g{RɥV e+#fSeyuiۡ-|2}Q"HRRNMKlq(Y`֗%3/!BJ&gI 1;a`a=F.6ۘ*(&t#!Autm3y4 X$Lƥ-B3J:qih)s (pg/s"E2Dv  |P)ʆppNPs(XBcޔjCS: |: 3cPN\WFf!1/3F '?G!**G${qj8=7FLj>>m'Ӣ\ -q<BJ F(׎qvGղyYQ*Ip=sq/MjtB.c%D_E_$/_<]HINVYB;?0,Tv !NVoh)OjKD'*fP"` t0QNrg=r)UH~o(bhsooVXR\X'8qiEDɰ}%3IJf)p//Aလ>ZH;%-}Hur ;QSid3/EWȕہO-̽Zj*ZXT(Vt@DΤ%`;"Pd‡"ɲdz<3\nI'#4}%-bHa/}Iv{cb+D;-F3+傟c2ﰲs'8*w/KfpJurXU!42{47wە'S7Qj\c_PfhǦ /5 󬊜 aߑa#Ԧ\i-YtmGF!S0(jTpx!+j|+#YlYCĬu]r}:vwƢ.);'Y9/ȆC2d eB=1$ocT/*(1yZ lU^ñPQ͐S<e_G,۞9+-KYhƴDrpC/mЀ; HR$ >S|WP%t0)9W5l~/de[,Pymz f4UΫm=E2?òd^p)C_:jIHST"sUH8M<QU !.Ǹ{sUzoîZwox- 9qO;Ң Q( OdaV\Hgt]2oDP~z=f㦎)g=PR4I$TA?O&{ZfJļkpvl[S9 }#]lKwڎpj\C˒Ro!t&8,l|Du*@pgJb>9mӓ5s!zx;İ(" :OLz\T~H=83 `Z^ϟZyEhC֦gʴ |s&\'\ VU܄keAl}9E  0Q6o~rj7֖D^\[b8r\nDUD\}M'FeQ {5 P7ʲτ"NvEVb3{eY.z'8y9'8.{nznNeS#N|vzxg#:(&nX&jVs e^v[$xduqQ}<2u]G\MY#6R7>Hpo8 rdPdVnضRWK` (a0?4:}@o)gtBx" Z2+Y ܍°(82eyI 2R%ĕ1Vdf}ڐ\C4 )2P:v2 F:ohgU{nv4m^ٝ> xvΏ3 < 讓u6QkJ=+㍼˃ wv#~.5s()s*z Ѿ1;R*KF:;&Æ 9CK1 h|a ⋠$dbm6ѠL?s)iZkpP?*G-z${U*Z&I3mݙܬE .R1=1eUjɛ7ز*Ii6aE:`SÀ1I)?r ɕL0sz^5^Q7.g'=v2eK,r/)iH[ ]d7I8u(83yQ6;e; ZTB(PA]# ^*TнB>bxQcRڻyf#=7 L Ԭ>ɨJ5p]7o7c, k-E:ُXEY@WVjˠI<⑈Gz1eSw\,L ('թU/G;)wE#+FlL?R5GS_{]YU6A%gSqy]m*~v/._t(ǁdu)[BY9i+~-Rlvkzu1@ gSp;1)2>C.eؽ@̪H*otoEY*endstream endobj 295 0 obj << /Filter /FlateDecode /Length 5507 >> stream x]Ku^dK(%3]*)J,ƲbEVbrr0 )g(JxgZlfIv\\\w(M#&7Mfn~0.8Tnrf:M1zxSɰ܎~JYf7)Ӻ?hk?h,n_B2ؽAZZ.h J /v/h ; F@CRĉcj|Fs#&o$gd!' T? T 7:=#LÜ 81ƹ#%‚wha_c`jZ|TK$QWS;> ǎA8Ww!*,u,o'*ػrR?) Jax>ih 06jltDC8wR’Z_-dM ԑpkG.z<')ihHUQh Ѧ2'jɕit;b.+apA5bhDu9S"e*t~*f7d8*BqqM|Tߠ(uU,kә X^g*zgF^sA̭*Y\€-jyڮj;nVtgI4#xUY̕$j: sJ:]q!^){nd> +o2y#]zJNԚ$e-+]xYpd\EE vsˈ\#ʞ4g'sYh?ChRîOr\@#L!(zVB<V,"dUmQ%-֒jzi;Ei!&ޅMI„q-d&FbI5h =8(@%Hy_2ҰRм%UtMsERKeM4 0IgXG++_ 4 9BQq^-[je 2 ͔k/Q *Ff-ڔ w2))E"e% )9kaOf{W(r\DY]B[CSvor ?ChhM{8H(R 2YR=m+(7x$1jn `^G & nI i'Wg<5J ^'R#Yv$4)?=HtƜjfF.$$)}pX) }??M5m a|2f/ 7Rl Am+d'I(b&_+ǥ='P2B>TzjR(Ȭ W3mTM>YYyCŽV@-2JeS5qΊ\"TmqJD,I< 5 JbNDX N (kd1>lx cmoIIWX :om{Z WRI9>!EsKT^ q.72a+0\DD%Djhxade%L+O#LNt&|GiXDb%qk"\^@@NFjL{'&zo뚜󂥜2tPiDJS7|o| ~zgv]REU= sRi\@쌶FR 8d)1DAcD0@z z&˜X0{)=y%F oHoPL`S'gA;?kBG͍9kAJ|s66sٞ/llq}Ɩ:(i=݂Y{_?%ە2!{ #ozӎ dYmbvxʷR٣Bmh#>1,jYaTk*6zc7 "Ma%YM4XQĊ4DÈe_qrl9B?#jt5qvGؑkXMkj& +(iT."">"o~ǝkˠ\ĨR:zsxz#] 9z&FOityJJ0n7-8찦#=/ҭZd{6H]\O?7g ].]2w}_+2R_>)6O0  jI;tW[+wR>4Gaeػ^w's.~dSP}˃h?|+K [x\mVFťqx^m%,[KR4\w_ӨBo:0*@>yoi}~UhBDZRZh|l.|M Od inl6=8zyz}_=pvՃgTv<{~`5 [0gWy6Ĺ=Ei!0e_+R Q.?NO5Q Ȼͣ nR5bzC^}~{x}*=#94iӦo *<=!uL Lf"hR9Gggn?m_+5B }U͞F1:@ {ӳV*(U].($FAo1hiL' ѓ[28EN"񁐺Wcc$rX =_MӉz+[.Q$ND11GtղM7KIZ$R,$DxQSډnJHy_ 1"ö7@ѯ]~ {9QW+ي^ | Z"P>[oU~"'oRKigs~!o;?eb~?L?ɝ@jUO#S7/NYu˂n>$){GnU^Wõ_ˍgQtB,>N4zŎqbc9Fk!-guGԟMG@k0;Qt+@qYH.[ѳ>٢=oA+_K_>s'4oy\=~百~\r}VIV7?Y:?T5=TJj:p"j>VZDm5/6v=T z{trI.E̷݁0=;:98)Op|YNtP=  lrUt(Y(>8Ǟ %/ݳ;Bl/q)#xCgrendstream endobj 296 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7415 >> stream xyw\wڶ^5`a+8I`eK-ɒfɝsN/}_LwOƊ`D =+X0.vi?f$LުW]5>lBxώ>a͏&}h;6^w mۯჍw| +W㪿{W~۲;=kGtFiެݲ]uv-jmnM6ڭ۴nnߦ݊n߮r66ڭ۵nnnnhI۴[𬛵x)߶h 햛[koذa?[#w]{?~>w~[nz_w[> JA+BTH"+"H+2"+ (+*+&Sh)3YŜb^XTKeʆa6_VrōWF+/gomoz绯":yo]ݪRw=njyWϾM>w׽p=y3:+*(E޴/Zai @D\5Op-aSC}$8ާX߀'N8]23;]ծkصg|GLCC?<<E#مf9=]bfICf`<`[mVc` L` BUHd6Ɗ@L}Fwo _ %l:|g_4-|S''߆[>ݻr?.)aCA7.mhڗ/ otTQ3y~q|=#02V UG˷[c|)t}t(jU)R Pb%V#1"<ͅ8FN_F=3j+a ES4M1Kv!)U)Q+2%XfЂ()qwr$8(ScA%4t.h.Z0~Pr\8Oxst0@<]ToT5.9hMD5(Udg`HkJh5DBy_֗uMIs$nKyt Eo!:oWBg#{O>ƈ=w{UkCИsnv҆0(@&᪠iirU rI21&ƮQg~"uJj_cksIR-Nd)QN`t 5ud֐dh 1ZMd@hPɣ+:2a]بcB%!O kba;x;sYG Qb4"y$ߒǏ(a+pq>.&bxT.46\J"pInI\\:r- ?\^D.F H/ <raqPb,6^ZsQtN1kT2<$ye.87u/WwPfvaa&{".jIv-..+|s[ͯƞU8:\!\+ƅJ_Pzwеj+ p;Vw]Uvn٬gD ԓ 7= }za@640N?s"BBnVwJ@xG!^n=@))F*T ZPR|rlVg\)[OMZYg;m }q$+ix"p 9EBDuہz_?uTfb0z-eHq]Au<=/1^yH窓%5@>HCB3]샷6ܟA۠9 UZZC>!4 Ze%IY%L u,\&)FЊ;3NT{`NXcj</%}? C~=;J}|_a|Ubxy̳5^`!4q͘j#p\ F0S5loKrNq?iHͳ)A yFR?@=셇1~!A͛9#JxDS#\:kt4'<_M5"IOɞ619_CQΧ[ ng"<)aJX8jOEx3F;}qGrZgT\tKa йt7:]p:^މGOM[w_3A|1^8|a!#bF(p3:Acq0O8  ?\?v/s#y"Hh *HJ#mH*^v{too;$"ʒ+ʾ3//U{Ryu)u$ ~EF9J*bGQoV؆P[5%m4`136EZ]~ gEWT] wrHOFH/0U6NkLTVxAFuתd!B5L &KyZmH8%Aו0[ 8bӸE_)$7kx{A8f"=^kGO2,%KbQ]-fdW%wqdt"BʱTQJ4d8 O%OR=A{@/aYλTrnJr+!jXR0gZ̖!}Sթ8U}Nk# "tn*755\#^8a=Y(b)$YAR3Il<,u?({:7vnZZjVj#H-MXZ2ˌĆ`t!ct/y0|:+ce'Z&$Jr&Nw u}za80hzmݻQKd_P0 RwhK^= /kaXjb9Hw!g6چqw\ ~9#j!RLӔfd*%8o϶gKp jȻ3->؟z< ~1 DCq2I& fx:DтP2BɆA"BB&Q:2 g4TE Q1j,z]tE1w›gPP\h9DK©P<>ƀ!4~(VƄ3% GW޽'/-9A)N29&@&f'bgIRJ7% MIj#;`_+4^}W=k5q* Vf֊a|z2At |WA~C,yi;Ѓ̉WdAw^Uj T'jڅ‚bhBK_$McA3#"i"FC (RLD>hjxLڶcUkF`&0M! E$Gt940%|mSG= ?Ȏe|*iӺnuz,3˴iv>3z'gU |=se`t~[sXƖ>'|m_ҝҝ򜅯gO/ֈg ;W~3v,^P.=Mhb/j==9Y4t7,nz#j˖ܻ?g7ohڃ|WŽM/YO[fHL3Xo)2iy>gȍFP~;T Eylj7:WtjxJ-ZzdGYXJOӚx& 1!B+c'qv4F]Ͽ ?Ö% 0O}A~v6\{sFSg]tA6 tsX1 R `_M~gwf/A/U,#;M"%bX S<Zw3vG"'e3ݠ,Nq;ǝ:mpٍapxG eke T\<.rSb+fX#5gIT%t HMn1·MX EZUk&;η~oqwW`; ~;VA''<,KVUsD-7Cug$hgټFuWU%sϞn>&f?kn ;cdQj&[HW] #Mbٛ}ǻ=R"hJSD9Qj0-R0 Qޢ@U?D!4I>e`f}Uc͔ƍF&in]Xk)SҞo1Ԏ0NkP^39#MU'/vP;sYR~PIR|LՃ_@b.N2P:TB%WJT@A7镧yޠ86qZ烦sw@eX֐5l,gFf%ssO&%MU &%a.2kxq4G'Mc䵸,.; z1'RڪiXp-ۡe@]6bj~Aݝ|WUmL6˦.y0zv? j?g#gGީ*Q,` ]v nqWTՌG H2Yv }&w=A D!ĉOWBşT[Ԁ]'+[΋T/[7Gp~ṡj\F@r)gj\28Mӕd5V'ue?i'(Җ%n< M~Nh:Ij:t?j_agn6L.]h `ZR#cC ?Czp+I#d#yll!)³Fv5%` H'd\ɜ69OSB`j4,JөdTIT=:%x w4NC8&5ЃvnwM^o+d&Z>b8:Z/ϪqSν}T9=Pf]׌1CU+EsdrQ(ṵHWƨL NgDŽ@ $lm2AWg/rϾ_?dwTp1  N=` ZIGr :\%:Un1QAhN* E@^0A&ɚtIgS Ur qQbھ5euW޸N0x -7B 2%4ɺWEc֘ .t (LnX=^ 4N~jԊT g ?;w h:u!4?I!K jsIak:I!;)OqwcO៸|cor%3 4%&MKx`M(2˸E ,KEv!>G4lU#<(f,JtC++H wv^dZr@2/h(uZ}?h <'nO5endstream endobj 297 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4212 >> stream x]W{}E Q$e}@103p;|ZiwoOVZ^}` 7!)i$Mdd2t#џ f:Fծ|=ۮbAFB3W(>w Fkn]֥On>ګ \sqcuvsՎ\{G}7}7r;/s^{^;{{^/wk۶m7}K|nawٛ>}?]_^!h| f#|f5jP]0srIȈ5/e"[[oٛ<0P^ʽVeUY,,TkO8 wͮuPOz{-jJ;nnw}_Q킦 65m8A`YIPTIRUAbwv-v%xHhxqV/v>8!ud e$Hf?2Nyb"bg",1"R\ؽ( ; b !*Roe[+bRVNE8k`r'7 u>鬕֪+Rek*LjJ`_Xb~z:a/tӬ6VVYPt YI8=|{OgȈH 0*ӏRdZZYVVC<G)p4bJ@:6s81q`ׁg9u] 8}$11khgz}l.g zKZxzɿܕaR4i(9x JP?7(25L"UQjJKBw^~.7^xTg)vTh&K2.|*Z-wp;>,`89:D*$Y%w{} Pi* D<2{7nfxo .&*Dom"xprƛ7ox|=`_O{_:y:4$R挰Ӿ:[ ΦlLiq-.4'19N0Fbdo$26p%"c{[,6gP=G)QϷ-rũڅjVX5—ڴ褜S`,|ƿx"'!*5 3 oJjf*f Kw ?OsGpC0;զ߿x8ntFXh[ft JIKq0DzMFxcc8 #l̂Y}ցYշXVA%W-U4hc:ZI+.p$|\pIi- ?C ^KL,R;uy>lVNTZ5@ 4h7icvT]!b"'-m Q_U7 fY@igg34~({F!SbLHz/- &@5I}b0$/U c;~ 1"CaOB -1}XϟAIkd4)kZhDD8N&S&`9DZ#ayn Lxfew䮓_=}ID $Dt//]9v}ɿ=  LN0cWdvAC^__lfkҀf$\->AEYPJ\?it?[wT9)C+KK25 `'i ?Ar3*3W%k pTk5jZݩbIT"B<== d8d: G{'hwռSU*tx0 9 FjZ|wojt^TZcsਐE oR:,"D#Ae4sVd3L`)d"#xj,cw&=yTVWj{ O/^'$@fer;04dӋPSԯBT+ʕvۥi~Lwx y3` ?őn;>댻Y_i6bv *:-A`t$x4xtid(B&MY}|:mp@^ ;ldTVd3$N,5:}'U+y%'KJV$yjdNYn[ʚvxu{YB*M橯'Lz?\v2ze=ʆXpNe"bR$2,!KŇ|dfAo amq+.Ȯٶ* )gaƱX4Lb44cG0ԍ| Pآ zI(qڹ8CO(Hx>Dϥ%XZnV)m8^n!%f]HmxD֫I}}GER zEܷ !$B8`*"ǩ0?Mq4^91p?zz䙓'6Ή~܇ږ̑.ҊAS1Kr͍M' zQ**"R{|ܑD83=CM`/ew1fkUir^)*`,85z~nTgcSP+ÔOSFJI*AmR\T>]J;\4*4 A]o` O6Si'Ȟʨ w!5 ~0xLs)%jd\%OOPm<'ġN9:st8@D +a%d˙_#4AzFwmHendstream endobj 298 0 obj << /Filter /FlateDecode /Length 5316 >> stream x=YyAƼ4>(Xz\.y|_U]3]rIL]}V ϓ_͓Gd#~܄?N7wa/&K,?>ƒj2js|~tݸL>NR.d`VqK&z7n餭&>RM"ovwR 0_eOa`1f˸,'ș6b3cOAտs>ݙ1G6ʁ[>?'1{ 50=Q rcvadp@Rىr5\3 gazxp|Qppb.S"HibƸ#y 1%"\4ᄙ.hj4LZ*Dq[Z0~]e^AFGWmdYn+R< e-;L33t\!q0p ܊nBKKb.ԛ?h|'IMf(U Ĕ J?p}ݱ].,;9O-r' ԍ6>Yis,IJ h;xx0 *@<ףvVO8NJDsTY8dXU ](2t&5Hc)8E =O8i+^.7uHg(q<̬y^Y_X̧ &ȐhBΪBqz95>?:`n-Aw--lWR1nrM`*՟lJ :[v|;# Jw'MҥD #Uߞr`^Q%W䓂m2$>Y7`} %}cA.?[#8vޖؕ\v Dv7aH*JA. XX_ }8uv\PmzE$йTwFؖ^]V=W[έ'd^y36dkccLLVT$l>ؚbV%ݷ#^Vk)lJduUɰav+2`+W+6\ Jqw: D7W骆TuXrB,.suS$pUd85u&X0>PzO+sQZ V 0E uh*b:$荆tD>pzS"ӉXOpeOT`@y0'*ݘ1~tz Y 깷, >Yhv_4Ty罘bjq;lj2)PqTK$|EaL񟼞GLK'p 7W -j#Rػ j8W\p祬+֓U oYjn$OS!;YXeZ^{/u[cSMQPƁ iPbh{juvjjUފ!9u|71Fh1٘hÂa,8x=zIdy:::BUZ͇TY/8n$֑vH3fw kau \f&Sݤɼ. t]oՁQ qKL O|s{#NTh%おy̻< xowpp3H})Xd[u1[b9K5BݘuL%=j5T1jlZ~O*Aji[w8ۊ;'T BGp1%ֈ6Y,G7DB4B /VxNz`SWok.bSǙ~L9L)ZC؈EQIPkT.5Ql@ BbǎU[,'g,~Knt(c-j = ~ڗ4ŹΌ'iR>E9Jm33x!d )]cE$Ah%<3b(]YQL/IlvuE?ep{u`J͵OE.t1%7Ub֨ FD"fa8|cľؾֵ F=w80|I,}  /BDendstream endobj 299 0 obj << /Filter /FlateDecode /Length 5673 >> stream x]KǑcN`/ +ڂMC-y>Xfɜ-oD>*#gz(j!P쮮̌⑑+6'7'l ?_痫ǧgNĆ|Z38:XorO]_fo`r_ Jmֿ@{_s?m&HZ=(ujGy5R`U6хLNs hϷ=xDUf qF1h#Y_C{A7m+N)-uBER#okƸKoW+XvΫ|Qh| (7pۍVV~r$gh3x_-_ vO> !\FxE颰>RYiMf6 G0g>UBG0;hp=4&tYcC_VjxE X\]*R%i Z4%(A.NHYhQ#D 6wCf@hYQ  55,p_nC|!aB\{[%&5Q`5JK $@3@Ik$D!ЫBBQBc9u~nNc=h1x|%OJ IWq(j^N@t ;kM8ʚ>s0@ae0Fh>beN jU5y1A$0P̸,"a7X /7ˆs:?Cj8ȟ;{6`=ja*v&ZLU!biT tzm/E#WA %]gN/؋;6ktw(*q]D@ 7_C㢰'h5~T 6e?=6YAr)aaΕʌHxK47mҭfB[<K)ttvFt )v *DH?ҭ !2ʕ+Aֶ} ΚL.}_!C `Wқ4 Mo貜q_fIŪsa7S0|lRcwaƬuJ)y5IșK)lO74\`ZڹNDj.҄^$:!0/c[Va̭_dUc LJz9een/ܸS*)مN UdP8Ihqp'RعC zP<:1Q'A~Am`fZ_|ND-H|gw O76 (P4)ISφ{ i}2{0qq07`$?0Imz~bڮ# .G]98Oq]W0<@< j *b*QAXDs%{ @L&LJRTnWaieX) |c=|‰R[waVm 7HإlJC?^5kwyjo^ȝjil(]#&UN`bF S;B'}>f!@sc!'gb:Pt^bt ~43ɳh*D-P9L'lj2΄Vi(N `SX"՝ͩw)IXY\-|1Ziׯil^[X]irPtT䈥hX<[*loc2vK6S 5( gm^0#l 8I)9Y MKKv* 2Bl#0BTEmҿr8Ba !"gU ^RLh {w^:m?lш( 7y2L(oE˧{`rhj0I>)ff:yeh6_S:*)˹f?eWj̎d/,WbE1r׳EǕue||TŲ`ٸ*f/}ڄSOϦ!U)-]˭KXq"8jIf)]p~vٻ#)T֧sCewq؀ s>YYp[ԄeWK*=3e9m;wX 1eB&̽^P3ۥv$VWZ[°6|$-CS1qI fwɶ}Gj/)9$IswzqoSVsh&XxcK^Mף( gJu*K;MLǝ4oeˍ&{&֠>,kl$Ii+hʂjy W _<~rW߾}z+~׫N>y|.F++J8`(Uc&|7 Cdn%8!kRVkgv5 o9 Yq< A|(+o~)v5|OkB8 A쟑x[x֤J&6CXXTjæ ~KEN QlNxnca9 yð*]]yb:c+ýR1 3"ޔaV0;X <7,s xj3eЋ2vʖCB1Al.$T֑BH(!! +woTy$]FvI@/h#y ed$Lr!K*a2@0X1&S,:xC- iS.?+MxU2])5d2P q\ͮ~|qLoUNBhs+^L$6eQ"OKgXWTmCѩ mj駨OWK爍 uO0b5qiᔎ7e _/E Bw#Ὲ2TѮ7#HGG|:*B nQcgx_p5RM0BCq̡r-մ20gT;Ч)]yUnײLpv28|QT1I]0a+*FбutՈkjxMOˀ=$ =Fl??dendstream endobj 300 0 obj << /Filter /FlateDecode /Length 4889 >> stream x\Y\&%<(uj!g?mхLgJ9-VNNz1 gou|֖<{0akjfͽ}o3hsmNB fb\o q=k$c0FAѼ7 |ũs.h`Kh|4Si}; ;OF)` h]F6lFRπl-O@khW tV|@|q}t݆MtЍz7ߺqڍ7?7Nhcub֟3jKA, +iu06)ѧz,~HKM+T,(ƙ%(9ɥ(耦3BJ='`ؕeCJu|y<3+T# w Tj/B^qjYST9uXHZHBp-Lu䛠#--q{{Nqhr]v-0_+\`&DM.9ľG ʯBb{}P}L8XT=( ˙.p񥺴E|  MPſzE|%BqC?"í"^!v6 2d-_ʕ܎ o$2x-m3uHD//:8Y^#0[]|~\d'F7 &eWg)1m;]XW87J=b@xѴsU#8=J xYva*w"ӹ9זnо{RCbPΫ̧p4%&`p [9(!=iVэD>8?m,c!#爵Ȍj.Zr){!}7 Hh*/b x`DºUn~'dBVwZA2xq1Cf6)Igˈ9Ⱦ}ՔZ* +ʢ ¯sR(>t؜[S*`*A (L}us`Tz"ѥ#ʚ@y"[-q4ߥ'z>t KQ_5u(>KLm2w 7z@]BB%J1ԧi˃+ji>He%K2vBE#~Re8_cwI{IЄ {hj$+<`UBZe*ƈ Jb?hK!C6A$VDALQԤC;7S2&7 ֩IQW"h> >p%7RnCRG}_s/`(]ŀL]䫝U6@$-2 9P@*0{dpvU'yJخ{W0p۟N &?]W)HX+ʣv .$DcRCiޣa)2UJwR\N#[iR._:]N+9?+d6hrզ}r?>+ok/4\K ;doܭ3Ll G]3n'@Xus~bҘ-EՄ߭o?/ALL'&EQuDKTU1{/`luƐ 5 UJ\0?%w7͝dܐ[i`xeeOV}>_NJ Y)0gW 0N@gwo%- /B0PO/$9L@oqPxP,dabfq$v,-wC]T9{˱"#dw먎v[^3ScJNlqXN|YV13.瓿/RYzXm6;Tǵwtz)U=Sj j5`yGu%AvM<(zɅu<5TGQbg@k0D[yy:'ewKu־Gx?{f 9Kq2""8I(G cؾUc> stream x=ɲq N¾8936YbKpH4I?KɎ@ 2uZzf1]kj&a_ͳ7gl/7鯋go?;Ƴfrfswpj{No7fn&kvp9,wGe;5sh`fWnaoҊ4_CC)SۏqָVQ ]X|bt`#vzv>K?yD|5,j^B78<Xo.l_cg~6B5*#<7/v{1Ii©v{Dp,v|YZ?Ac3Mi5ie}h]*ż`23NLyyehn=A0VNX30>L&_JãmK/Ky7d2ĝhwh˯]t?ӡRixʦдy\f sn/pD,못t ½>Pf؀y>ig<$ҩ=fҕI\57̉<(p\6Fg鏂?2\99 `F()F]3_imʷ;#* mG;l`A^3AHt,qj ,]1i%ҩ&|>;ዲcʦ;V#Jf& ;s?{7ғD@WHb=:-',i+G4:ziI>_Y|]IsJFF$@Z]-$>x\$k ];Ȩ='q fV ;UN`tRh"ͦL9w2vde`g꤬V'&HR}`U_6m a6ņI884/bW޵2)v>4o&;Y ~0tLfzKvp5Z*9H^C{z(|#;荬d|^:f\[CenZ- y-LU:wWQRoˊHj\ QL>G j)>8?ƃ\S#vRnc G"@óz뫧gv>%_كONHdz;h*W.*`}AŸ DMנ O^8Z{aZV+Jvw1̃E#Vl\Fug9B f5M:1Lo,XN![d:sz%LG[x5Q ~qkj 4%Dꘜh; YCuc4zR X[lzx۵qDJlhTb"6ff1LZ#/l { ji@6]RhWgp;%c'g@ƃj=^b?8Dl&ңlhRPr݀·Vn0f&f\$,Ӑ!6D 3# '+KXFZIZKdz]JfT$V`V^+4 ΑGhsS=n) o5xmTKyD7xnA݀kI nt a?i{XG\G3vhFQC0gm|Mt*UJi[~Z{&5]9}"tm[m/pX<:M` #J1;1gh+ V߷ k;LmK7T=SF2)SF6{gIEJ k0VX09a% ޥyCR |tt| :˽Y.E&iEfrg/ڤ6]6gpp{ `ݖ&Ipp;ǍD܉ZdSn@34uF~U%]_#5v>5`Z T/tt* x~j2fۈZلUʫz!$T&ASYs]0YJb\:@TB!P8Hb H4ae|~b>݇M|͇ݓ<n&HNC9xYcV}3n>Ks`1ςLYk7 ? IpW1:^6K#Yf%a)^IR[ˣCv++h/Blqۢ)kQd-EJ' ZEpEE>ܥE&1Z`LŹP6E\);9Aע@+,$nNFGƍl V5 |?fש1["/WPl&۹)M`\]s5}-Q+9'߁npjkNq{s`r@|ǴB$ߤ1CFw`%Rr aIJl +2NJ"c{z.'pGl ک MHMVpՄnlpɐEJdYF"[0Z nCt|ԆJ@#88Pvw:Wj,._O! @&~Ez DX`2s=3Hٓ鲸U0ou, L)W` |Z6un܅yX ~Ո_*cB 5x;LmIYӥ9 4A<!y^-e8W Tn2"@>aXL j3ǕlLP'WWWoB IiwDtE ܀_G]][нr|+EZ^U(+&kdžL`gm)ӥvI#Wb ]>6 n|SgP>+g9W ӵA zs! xrjJ Fn%Ee1>>P,i|0IԪ9ݍ܁g RTj2W(@ytGr5 j ͇ 9QwO_+յS{EMRoHݢ0OO*-{lZ9Q/uf?h/3^f}ytaTp /D\+ۆTƷC /CC3%Zo饥2 s:^,@ȥ 0Ie/;{ȚHH~sP>tS~LbechTL6F|+de>`XZ ~~ Scgؾ?ٺQZ Uɉݚ߸z4ƧFBOw8:$1_n-Xz5in6[& 13;khdRs?a$۽rOqVƊ NΓ~TqH8>~Q'_aPQ x:'G;P؀Ŝx2To7CpXNG] }ϧ8-<9KJP 0WE$gZ}=!N7d׵\# ]G`׭GQ~oQu6ͨL` "R]tPrIO3za+YfZ|xB 6[B76Ny{؃|CFҏu(N ҶDDW?J .Y}@ƠaJ5.RYP:/3mQ&gBדO/e*$ X%S@L%?-3ʼn&@>zeiRNǖol`GrAݴu.O~Qٴ?h^է?nlK9hG2z5>E _8 (^Y”4};V=EC ߅dgz\Lz/*|C,p{Na [a 'Ro,ăq 4y2%y3!a1߱uendstream endobj 302 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1639 >> stream x}T PT.wrHwg148D@AHDVXV`A^b,OCV,vYؐ44[s(n։IKh6ӞLմtΝ9}s~ %$ⵄbXrVI9[r#oWQq1%2|+{N>kb?)(DV8_S&_TeU< OTŇ' fP 6UY9:ʠQzC=9EJrRꮔBIQ_PhP:vQjJQq6j;J"j1S2ID:+]+Sߛw8N?wo.qIZ)Q5&aDA3PYTp-IqqqIw?דn$Dr"0Tq!I wGO,=Dñ˛\4]f\;tWa;ttqR`P:;|"_vϹ[rv&_򰃀cf\'FK݌Ȧ Rq9;nrDF[橺ߑ*}3dzyyd z*]Or1[+"}jPAgMhhvtG/9h&vasl̡F|—B.4.r"h9an]zyw9?NC+0&dsYk"z2ai4&h8N B(RYt>9 +tInPG[K LU\$c;0/|︬4: kU^f6Il" @uS}br^B# O^ڙc6cQ)\ڦHv&tt뽤X5yL5 79(9wjjMեm5x\upM{3uj+j.=?t?ی_E{k;nhbX|}jZ'}}뻬c(.{uendstream endobj 303 0 obj << /Filter /FlateDecode /Length 5260 >> stream x\ɒbcNr *EWɖAaRh8D"O3kAeݜEr0@/_.I/> O_OϾ>Syѳ\ ~ҜggEuųOwӬ.'qՔW^Z}?S1_Ya;NFm<q~޷ѧݻSq`n&k0ƒFhwvbrH8fwlu34GXǰ6zvnꍃIS./7L$zwB!b'G0`vWoOtf7YwuE>&5ma 0P>˄  Ȱco!KfSq2&6a^I羓4\>þ2^흝 i\ vq+}";׸{~}>U8>޽= {kPe+22M4v=:- 0aظm3She^ic˸V WZ3K{״u9 FoRlSBH] b=e=C)z!; ۔[FQP T5MQ[@ g4<{xzrKhj(Xz$,F}A,w&Ι0 :J"OݾM֯I0g}h~lz jADxpVR!8Vzoֆ 6  =KVv| (#"0'qVcR"ʻJley"}m'l+Zy 4uFm&w+.6JEK dsX`\qcMŗ4)vj&RkEه#1Y|A[aYCG]:5.pڃm ^X?2プ_Xw-f.dx_ێUo$۔H)M&lfQ$Io;W7 %UjV A0)TP;DKAD Y*>|E BSK&qoB 6mi@UxU+3h\!aTڂbu؀hvSlCODb {ŕʨe z9Gњ"A*p`R"Enɞv {-pٛ)BeE&*avx/,ppEllY!H!x JM-)Ԉl8/cL֡<sT-H3R %s[0t%6r9?RQ&XmlcVev7h2/\DXL?*vNZij4Jgޢ%(QI^Ҟ90.T()3G'Dxf Ȁݺ\l'.+JgJl%;IR'HѠb~hq>.σ&~Y|%!pWrIEGxtwcJJ5PWgciXwpLkqt|pnmO9+ D&ekBWjq9ȗEAP`-g cY 81F-b3 M`{_ z5 Jv=]3uZqW3 s=ܲ($ɛSvi?QQ)BSS6sC 9)!)'}B f-qκ .4T@[Xl^ o;U A~Q[aC.HIƩ22c<:i pėn-࿛aZӹ~Cao[~TyH~5GݟKMt#"Au5h,\Ff$'I` ]gqڧo9 QMS2AldA;kүaBrRZ󋿜]G5ݖVo9 mF10m\I}WP圽 Xs*.% CG=ME>agr1MVkug1m,yTwLՃɱ@1HO$Y= Uf3.U+.>6OuIԯ繷oQ- F˧LFf`kٴJwrH̩{ƨ~G=@^A/TPp% yM6/rW x}9bmBhԁKwg2G/}8/7~&(0PO'afe䢃镘zh4r͊ɧlWR 8O-or:k^F;Ih Sj,,co{-$;nC.KSe&u\k~!Q78ȞR9l:stLTes6q}Jf&mܑP˭^zVx$ xb]b"nu-d,"-ˬcZ (ۢȚ၉3L`^-8H6' WI̞XնT0 |I`̤J0hɔ"1JIIW\uIwQȄ2M}\|^󺠧YaűLJ|;\k%-8U (CnDfMSk:XNzskZz*GwxFxj1a"X1o-o{XZ9t_04$#ǜRڡ`=,nCp{cp! \-ЉzP +9#|+[*ڴ?Z/V [+lZ Ϝ I!п.c:aYTo9q *$rhMňn\ʈk1nV#c^HsXTH"/k“ Z١ 06F-4Z%fF[oqdT>ܳ l[y\L{ PK/Ytc94H7ho ZD,JZx ,23(2x|R#gĈI乔-D\:OWa.D7uW]HT&btU"C 1,H'2eq(+˵"T쁆NlN jeΛ)gp(G vߓrn#ԃ<"-NlYb3Psle8.-(<.T" Fb &3G e0tm2ȌHteDtI1Uig*XCGwwsz6ҲGMV7A$uyTQ$5盥ދyK-oot EFyJn@,ɂքQ+Щ"]x3KëjE_x}IqGpx-ҕdBegHpTF-^6-A)>uѿTAb-߭*B 3g|,<2]ntKXBЉ5yC4"R>]/Y!nW<DJr2CPw)cz\Sː[z:/E"&;Ct+(Ҧ"X&fQgČ9Uv#6b '2wWo) 5z{J ǒ%pxZCȈ2ޚ|i_jb!aN換kdU&˱cuKW2bk8uP X9@<1|96| bʌe ;8Z:Ĕ z2CO%d&E FZz.1#caOdMső%xdRƟfC:fm;ȼ$AAGCgܭs,_Ne+$d P{-OO3Ub__"GҺA}, &o[1CQgQGXr'cz:V} !SgohI)m|aՑoD2$Dt>*j*+@W)v'ӖVR:+7pfu6Su&4XIF !~IodQXH$uoa12NJ["=\թeX2-Z S1:nqs|mr/,eȸS4_ĵ,gȉEzC[~$|2?"|A4"5ѠX\Fj&η +=.:ӅgWܯSz MGlC%**& 33`IkTV>ȿk)T01VZ0 r =8?z2i;D j>[@>;+)Bc}7 ħK`İN~DbW__+?RQ*j#ʚ-vquҧR? 愇g?*~endstream endobj 304 0 obj << /Filter /FlateDecode /Length 5446 >> stream x\Iqy|x'굍iԾHA 2l&x}b,9ά5-@!D_wVUV._.o7l]<|j7/Nle׾g%y:أIF9!h=l8Wbvmg:հ6iEA)SۯZkIk#.dD >3|:ވIö́O1?z{O~_gt9Y9\->absٿa\t*f,R۫ pN`Yʢ z{}` L=LJIis|C"ǀWw0έ3ޯ-HZJ:q:(7-<ɳ yXvaiEzcˁ"YǾ.t.a@db)! No/=U3c+ʅEQIO&&HdvYOZxX% Q[ AP緄[Vֹ'nQI+᳆ \‰ #3Ζw[ՠ I?R '9wᲿ8;F:l0m8\4PA<|wO~''7:ufcA+NRI4xh%PD3x`o}o-[ u}+MqdV :` =epQ8X5JusW3]d1]g@ńe@e"wu" u}ZR^Lk{ ^z7_P?fگi @3  e /&0gDE~]x{aJüʼRDQh[) {Zt8*@"[t务zz8{e]Mct2v6R"W40P(8p#f8x-cA)G6٪hL"q+/a$"] kU8\THd3qf9tp#Y4QKp."2@&$J*#b- D*/4 ke'va])@9D`jw .5]6wK8ZBpw@`"eT>P d U0ܥGYsdDuzQ/1 ,{S@Bޛ{T RU"LLqUP(^akkIޛpIX4 ejDX=!0 Ž RF`a0 |%k(ۚ*LP\J2|7 !0h`˕{|1.V̇H%\4&gR%MtR{ߏyD9P&W̿"K2*>38.|%qB2,3^8?p+)\@Oșʼ7-ݸ{LW1 0g[acFGI!O >L2\{o[yrq$ຈP| SWK9!ox/J5iaƊ,TXTt@ޮ hb<]^^Y=$ gd 3^[ y@XLt̎e#\yy d"dyO5^5~,AI4𙐫\iL1Lb$̍._lq L빫匉+&IEX47h&Vy.Mg +>Ir4d NEJrEя(Bet* GvT 3[S#a)K y fh>Վ>O$`lC6ؠ,/JA=~8 .HMc&lUCϙڍ HprL61+{i@vAH l4~  exp)S܍vH Jb[Z]uՅEEXUǪj#$FA<г5Bt-~Q$ƴ-mc9v*z]N)2nr`җ$շ"oo'OrTp5*]pHBecr#6MhЋ9pƠ5/6*kBOmz#_ ̈pM:'e?;~^ߔMٕ^wMa>ŚVւ9V (dO* Y 6n *@U j2`PMCEjЀ|Lt/@˛wJ36v4i!-՘`%vtXw[a _"iUNrD X',*/ݱ5! v]ݞ4sm0dP,,I~% $ ?A7HdPn~+N,mUZN*#7sQeUb;JY6_e29/&4X4 2FC(\j~k30-ե^GtKS㏜"i--)I,+^O^3Ԉz^a:#mZ)[@Z%p]w{e6_,X4%}|HsҪKLM|)jKr_l EtK@n%,,~5,*XƄRID#?BY ʱ[)Pyƺa DKHq!ܴfA,̻" qg{[2Zž$ M5HɆ+bETz ~&)rx)HS2 U@\?`}VFzoOw~Sj:DEِjY| k5uXZwgQ^y n[!WrzW4T46țCeꚫZkg)P2IS}g]rؘ߮mH]PL9LG&R F}H E1SҏLG-h55)5sIUZ֎߹8 y;4` @6TH%ž@V9rFOUQ]{RwpEGϤT3\]T-Pe1&-, eѱ/Ny4 COC)LH.9Ӌ^V+|~Q_Ycc$ХQ;\Re>Ɣ7k1rVWmߩN7)9*b oEpCf4DÅ(x~!]L[!~F>#=χ-3rY>F#$v5+ȍ:G7yяch^K(p[Ca(v;ޓ۵]ՕFї%n{]{~!v釼4<\m ez -(!_ͩqbB꺝räլmZjNoZ0XJ!YK>;')?7L-OgTo%Xc#XV Qj=N퉪ƙjS24_F©~t[og9Eendstream endobj 305 0 obj << /Filter /FlateDecode /Length 5380 >> stream x\Ks]Giݽf o :bmn!ɳAց"%J4CI$%L< TVuI{#6nn忏=j=Jwv^C/0*u0믮>ᨤF8A [?ᣖ88r\pJC[h~݃R-kh2vކ{_{h`mUJ:8>cp&qc3KץSaȃٻ?* 2?H71Pqg46?dd 9y|97Ot-Q]>#(: xp;vp0Kb/CmDK*0l-G- 2W-g &PDfbO,'h{8xq>YaGL\akJYŪi*rΌ2;&t2\ g53=vSsQ8ֲf$Orv Oa¨(Iۂ'=5u,g^UT+z~oW&!9jG> ˕$N-HM&IS,$ 3~\50 :Aզ'e#W<)Hq3R>7@u%R~!ʊBo:Ǡ7_"-G}fVN긨J,1l, jJ%sIrs H4>f2-kKQ\pHi09p0&I< W  E^6ey\t7Pr ՗MfpLXhs&LRglNҀ0xciZtz48Ha7#祣@ #B1# kQMt}*1Iڛֆ ~KdCohr#64 21[:G\jY样X"m8-_!_|ʷnЎٿFle fVsyG?3x;ygJO3 'Tp/&bِ<۫; 10;)晍OOAF<7v\`ҵfkQ4W$j9ݒ ->S;(:p^Kvͩl_|lG9;*yy._ҳnXzL1:Dg+S+Q1.DOsB\22CEXP }Q8>0"XΚd1na rآH<٫q j1En5 hQ?yمP e-pCym&8 evryRv Q,:a,HlQx RJ5f g׭dV,Ő5A6Q#1@+:7ffPJE,SLgNYg8kb b5Tg7Ϊ/>Z-[h&[i4ъ%mlBbcL[_]Hy_9JzM&~YGAs7hr[ 02T_FLcF=۬g33h:^P^C]HCk!t>u8 xcUP6Ht%sͩv='ϟTu$ uT!Z=G0JJ{"W%DN^9(Q}>Ȱ 5񕲚1 (>_80d%PSx5ůnG-s7%XG8]6aHJq/ݒ'xCK*@RinӦ@^h:LLZKqtB~3L4=B25ZB`*Ԉ9p#Fq"] !M*p^S3CÌA-"RXŻcLWf?T%]l,Qܒ8³XC~ö0;F\gR3s/PADҀl|HPnⓓXaHgZxe/)[CBF b!6P,MZ?e{'5vhh3h՞ľ\7/M[! J'r49ͬU0'>~`N΀Y $$y)<tz(X5wɅKSC(6dPK,xMׄ#3BSm 2c#ߠ1&&ѺD?le+.M_I1ZB> 5@RWh`/ u׏}~r6M: FύV">/\+amvXEnP2菱ȁ^ޱ@id;`|1RS#HoXYml{W\}s\>9F\@Ѽ?^|ӫ݉{?{w,aU$X V އӲ>իy?ŗAݱ5&`|1.Jw nDѿ %vN(:pU3fs"?;䓍aᰲlos[HRz"=&[G)AbEYҥ ?MrTXf鼛Y w];X&i%XQV3 O %K Pn8#S0/OP3m MN BouOo[/-xt7vרTP#ܺ<֖MJHnyQc84QpNӵ W&^J:-ԛtF k*)@Ij`ͩ$,hM]vv Px{єLOsܵ GpDi mm3."eʤ̝@}3#IW9qG4zd_'E\tXyXvHd2rUn r8Tˤ'Qu'@q'l翁 (WHz{FPwG1E0Usc׀3,@\:hCwywنӎ͹y-i=k5e=&"x?idmM3@GO*RK]?n$T1IZI- N?jgfQoV_- T^{A[wbI"tܿʹTT]1]+ZY-D// \V"ZME#H3h,udP"YZJ vk=|z^T_L%m L p]#co`IsG5nh|-61qH,Ьes H[fXϡ?iF. *56]jf*²U=yԕs7?PpϘ_xty׌^ȵݬ!k2NmebFBTmI. zSU4p* *ٶ ɩ6Ƒۑ1qBo,X!FXӨ/9Э*} ̨)n.F8،Q:]LLnBV.bn\qX w8Wc3> [oRZ t?oAcE8|he}dfU0gLj]ol-}Ⱦ/ȰeUfB+mж' {A0H;J 9 ).}ST"Jb>[ʣؒ _#{;Ɋ _eAᗬE4)~eYXlx&Σj0+.RI+R&;$ҳRum##nY^bOYQ\`#zv@gQփ'hW< db X֠(~8Nx-'a Dq<7 /B,uZ\FtNpU#B@4"*dDX3NkKpsiV#u WPg^p8S DV1NMu Kmi+R|u,(a*Nn8x59Yɖ!`!`gJ+ctUb/Ӫ yD4{?~G ,}Uk!@,8PhH&5~f7}$!Äo H99ݶZZZx"iG>%>0+JHbȱ5|%9瑳m6XTv B9|9P.OR&tO&UG v,_GK8I  NW&%eb+1wG#/Sv$łdǨy`EǬOP(:0RʒY&ǓKƵkILS]ZWnX*jF_ @{YQ^8^SB^M ~hbxP&fER4%Zp9a|H 0>(L>,Q)n:5(x )fhbOʰ( kHDճdR0 {%=t%geGՒ* T4 ϱa>vn!3Diѐfʃ@~Hy<<HstN[Q:_:FL~^Nh3 ix X׀U}*נXUxdWx-jYw>/ˊG-g碕GsCFOa\ t:?¶>(jk&S] 7FȢ)p `T#}PBZ~0䓅qpml ˒=&R u<ݧt)r<\vƂv T! |(Zg*}*m2aЧкc Pt4wcfh% 6d̩̑1x6*6W1":W W*|Xo0d}\I g2\I];8Nw%/D&z֐ E5-FHm"IQv\FbuHPs^[fRglNI&ƆSa8vLjVJʘQIx;$R@)XALiBVO M$],&)Df\oG/zBӇ[xd:Q}X'$O(Znoq(V\#>Zpw]*gg:X/iG8x fE3P[:R%__ՌU7ܒ!әo֤g[`ȞOmK.~;Rtz{Mu3ozm\41RDtDqMVFdsw `_g+e5ms*k{B< z# k{M}Omt*Ypk YIc3̍Sak^ VciEnLQ)&]#uπu3t`M0 "Z&sLɅfh=i[ 4`QAɖOUßDg++7-8gDWD:Gףƥ$mq3ML44uc=_lqUHxeCUj}o7P M_!"G *g@K| $Dh\Xov_~\UoaR/פ{ t&'\?t*ca 60lei>:qsꆍN8qև~wy4~Cȏ{{b+>W@8Y?i»?wԆߝ2 WW+R6#4qEpv1iww57"4-u\WD \;Jcy݊z_GJ_/ CIG3s&5̧̺*>0BSI:M*;@Zqa0%YJxK5~˜c_Re'ߝ!sӚ}ڲyN> stream x\I\G"8CsJ01 4Ͷ4l>̪zׯgF5+/ffĿwn̓'ɳF?n?g7B_ ntlszwd7nу՛'>JYܱYlN~Fw{6gF nA[)}&{'-- Jo?Ai~%Ov{{Y nDZN)+u>܈Q|v0Z9І qnpzsƆbs.]=؊8YZÝ^?^2Q_wpX>%2Oфa8 Fsb=|ӆy:.=kx7mݞZ+Z=d\z 8z'I /_5&JZNT**%$U\nuf"($<Ө#=YDXPK[&7u Wq~b" w q28{A2{aΩ2Œ3g!AE厡ɑ pOF5aN >(W[^M-B'Ť/p\Mȯ(v GI):Jۡ_\ߍ K,(8n>Ko3w/P_hZsLq ٴjFWT"4J0 N79.?#  ] k̭B3I 0Q\7!M0Wr R~2nmz`hW'Vřn zXb?c#3-a¯_3ZcGcy-[ӝE\SAejsZ+[hv!<߀[˲JìGbz|cX/NPASylPu1ڧϩJu8O,rwҥ!b%-65 [36pg3:%!TjmVgIWQ&IP'(`rqqˇS:zPATz?XS(`y V;~C0xzX*V< tFEO#氜}=',DtN2NH@Ј4x6ԪIn,祚R-pt@+C}> djE sA=Da}}gɑIœǙ  &KHdƤx B*ڣ3I n^u5 ̒M20O V 50K9,_'DЁɩ+x^:GH2e*V ALd;xTdAz9,b}a&&[!(wk'\dZ [ԯTBur vv^SJ:>p0d 2)%&m1`-p0X+M64 e,ǩipffKN$M+0o<5*^IQGe^?×tгSYW¡wwB)Y56pGd2<߭rOa;Y5VZ`|`0 ]Hx I UfsOҁd dzjFp9",uM[hLL{ wMPh =@@=ll*xV/BP뀱c{J*G}]%Yxg-)T-\SC% e WJY, 5bKW;Ey8PBǫ&ؠN |Ja&pDKߧ"/b ˠeL:b+9 }!wQc@:95erM{B+iߠxbdW$ 7"\\gдFjz(]*\AN*. kѥVW0W4]?P˃QCLɀ*2N)B; LB+^ ?Ɋ ,lB$8B4# PP1JFߜbk+ۖ倠z,CCpw7RE0ѕBQ2 %t.Ap79AX~-:%=&E$j~I{ԧsOJMi G0SKjo."}el8;W\8neRj1axGQdPH_bm9%^ڲ=M Q56 V< bI&AeV}/);c4Re-eI)fNUU7]X)Kz$y -%f]^!-{dT5gm0z㬭WN3\(ߐQDQ7mz*Kl4 Th-"7h<}H%#3O*Jq(t#3KW])&ɯק2_&%jV&,U<! xY h`Bܶ Vg1N4\ lڱ}f#+f^Ata:N[cJEV),j^fi՝+,[vM0FJի {i͏:z2<zl!^C:I)v -F_]k[)fz-ۭ s@ 4|YV?\ߔJmA\qf +u#~pK6sM>̅6>J'o" 2E%T/#_N^LU^?́?^IE'㞪DM] 4VԸːk Kk!EB [ѱ`~TX u=9}o;jj-sl‡$*ڍ#!nQeLXzO!V\\gx!5p@ўQ7dSQܸs<}J}0kB .%:(VwJ\ g!aώs%jG,j϶F[l.柯|!LH`P ŗC`k 6؛u!G$VP/;Xv]%C2ʘ= ,>3a` <6-7aT1R* J4$/LK'EԄor,.͔|Q닓{}1J|bAm4\^0Ų:{·muR,{FZpA8yB+z^Y3G|+'r~#<47],{|-ƪ^#X1{)$?mR9>2UoN_T g}=V2ѳQp_Zt6!fTj9Sd52|,pBۘӓ#endstream endobj 308 0 obj << /Filter /FlateDecode /Length 5248 >> stream xɒ9 /եsA,cshF_r}ݣAP*o߲o7 K_n\̓'<ܤ/7f<ߜ?Ƴfvfszyi'WS9kkw;S oifkv{gz,} c%yIF9!X+~<|~󕘝sۯI+ҮVn?RX_:kkV<wV2?N3s{9-Nz9;go?)ǽ`Lovp0g>d7sChxKN[YsGl 8oV\k }}UqxH@!}2 ;se]rl6һ]B &G- N*qkrp["BZGx*$BB@82isd5&zcg`r9- ͹#rSE88nEB@F YuTixt[8nd?vcŽKc/Y}J q9kQ6(O`7@/!1҂r^=6SB WIO=z"`k'[vBq8. 0 k$ L}&Qr@ƚ!404㌠6y8ȩ4 0CRˡs}&[)#א2n7oCʖYºZKAyO #F ,#È¡Qդլ*}qU݋bl<\^Pqh #ux=Q=^t=g[0_ւE?5s@ފ*iG%z~: .՞GOA8ʮeZ`dU`WPD0K|{z;bf pգů; O*ׯ:/."j'>aEЃ!Ox4A&0K#g;Yp@zPϞ ~TZҵ6w&wpuI2WGEJ?D$S9pgl8SPF9yUi\Y`R lSԌ: WP>2\*p+Y;q ֺwo8!jU idGDDYu4"kkM\!7[576҂KU)RN[K`AUs`0qsX-J5mCr/xC Ёe (gd?DfTR@ZU4ifݒq'PYYSI#c7 @ )J!2R8Z**gФD,3K{2},>x`#" ,eqr06Th]Uo "Y҄?D@/ 01v_16֋TF&yy`J+3⿚6\tؑ(}-0w( lqluw%l<5E94-:iH AIf6B@'MP_Ņ ض#쥰Q}=LjeX]aָG4g&X2~8Y;Z]T )1Z[s$Lc$XB_Sb:%KצdA3]oz Y"zRJ /S /,HIBb᩺~ӨW\| .";%p9 qðz[X(:{Y&IsW0۹kn_B/YW]ROCR* E{o,ZlV. EzGwIgKuvQr p.#_u2؊ӻN[~c4Ō8%=#Yv|ݑsF[Wr刟[UPf7 u*EBZ5zBR\p~U+S7ꎈD~H8 B<msZH'Q5h ^ ӶY)*3WOyv٨rP{Rm5;e E@u܋_OZM`9' lxϣ3QmA0rdDF\+ ڦ]t,?cɄDi'a`@]it025++P)ns^Úo+0z>kkC>BNcƤXNOL2hKOO&OɶĹW/-,.fB=,c"#teDϿ^EdbѮ$'_' /%tMC)[~՗B>l"x]U67EImkNQEj^plO\}k)FQqwu1x@@6IqAKmMюLY] {сzCeyN-Z(/ߛX5%Ģ:q;YO6Muo^O)^oj29^QBvVs3Id$"~LKc8ҋId-ACe/\Ȳ`e5ˢAdޫAs>PBV hu/t%^I`!mUen5'M-Q!LH"͗@+oǽuL??rEar_%"[җɗ'7`ba/qq6o~p6/~zyqr ? /p󻓏l\.)2ӆSbc6|rUp[@8c̤7W$v2|gOZl癳JLLNlkIbm֌Ԯg!G^/7(4Q#1PHF SΓ%L`KKf}fpr nilDdUxIW~HN > stream x]Kqѱ u4BR(0DZ&a`,}@He{jvi;F SYYU޿.b7}嗫bKfDXryE((vZUH{F?Wk5'CiTtn V~t^BV`5ð/dLPںg{oOiQka`7UfG Z J1` +g_%Wh{{_ޙńV({|^5X/-BWk]]\n.a \_|==5JO!&|U{z(@Uzz(=T頶uJ-4qO Ipw<'8!]}~\˫7^gH wJ-%ժN>yG<޼z~RDjEuRdyt7oh=nf8% NY2(zHcIe$O*LH!>F>ٖh# Q`4//#p>weik;MՑ1-V0Wuܦ QH6L\^|{m)ؑۃm=hXjc5I K5ٛ I\]PzP&& y!Y~%[[J;bSD n=ޒ ]4d("<5IڜmJ_!$jj;MGko(1#iD!3 ag홴dDJ"I@cE\Am 7mVD"a An;HRGKk!nc!2МlX ;G`_ XۛB!LUB/Ѱ Vqk@!4s$@d&k6d*D!`H,Qz!(܂k=2(KJqDpKR*P9M^8Y,=A8NQCB(D[rmE)KiAi0"2\'S6 N&B3 egbeVԫg7;䢴a?T@B9)m(7 BPt!P:Y-EbY$>uƈLDTg #)9Kưc8p Щt&E3lg=xaT2Ci xRHb$=iΉK>DTEnZOI;JY/eJ-r /V `k{ A:\]B؀y( v-N]18B*g%)&!P*T8C[Cnkj$ZC D@"$$ Z<-.J4pӡ!4yR/ ^mLh2~!m9 "Su$Z3PnlZSMfiSQeds`DIA[r"5i( ezϓ1TSPbjG ps~mZK)M4ҦYM;QSy (H 0Ƭ:)r#21\Y2u(3SR&Ĕj&"JeiDZ6Q$BtCi֤ \G[r‚?)Œ`d!Ώ-V3\crJ AB Gl{is!W:YE6sT%NepPi 9{d *@ OtV M׷h`(J4Aa5)vn.Xvr;̀kFئmLC4g#lΑ--&vMC&Tu&mw2j6aBs4wȆPz T}nn!| =:Y`"b͛sAQ$bLI!˚O i6mܼߞᥝ&(G QI6Lɳd 7I,p"DyDɁJ}WpT"INrRfJZB^i (=VW-(t36FdrO#1a2V<#nTbdzS{lWx` lsnҴ7t#Aj)0!f 6:x'xg "vAT_}׃$=n;@LyuC "ˤw!9o mifvWCݠ4E =눽#BP|ރhJ7G=??Er%:w?ILYFO XI ynhv؉L{0S 7!0[zk/C@;:/7 M.$ٺN+ x }PlOU{o sji[mihA  ĺݟѴP:GL_>5QcaOZt3dSx%( Ob^ .!Ď*J9!QzUZoKC_O~}wd0}3ch1&د>`Fѣ) AϱmAѨ3$)L%L^"-F$x}m}()2m0Ŵ]~ $61@ozbF_vB'vhJT%ӤHgBLgTlKHe^f7|4O CB^ nu1y72Kqrŵr$,SkLۚ54廊eeEթLSNEa?ט4CV & *aJ]C:kձ {v7@I q[',;8YHŴsT%ɾD$UA˯V%9s?1|r>&sIx>H(|ؓA!Yv$@7,m9GR,-YCYKP:3T #6Φ4q,u1J\w2#G7)KJeZȅPvzK' Yh[2uceZe q[˹YQ%j0s 9e"rM~u%҇˽y{YGT{Oe{ VrlOc.RH伮uRp^6Y ZSٿL18VQ:nPPNơUx읊#k3x>BZN(ZvX;>k <p~4n M_ihPs*Guc1^>*0Z3 m6aɼy9TIt+8(^͕xo&c #߳la# ʉrrVє+:=}~I|̐&`Q.H%N9\hQlYQj QQ=?* X:%:_:uvaz hH{:yWթwr}wy]:nkXBLu]_ |sKaݸ,\Ext0!5%ip&ES=׺b_ ʬxvAL\LEIbXɓDtjE_i/'6 s ,wC6§K[~;Nvt<:WM*xlr$O^vL}b3):&8C!Cy_+SQn2GW6R.s'NS'2]hVFCoE2{Y&5O+]&/l!)bى2~0fpBDKi]D(Xv{ic阷]YKCg3Ƕ(GsP @5O$D5JJ2u ["|F56Q-fAx+%پ"{|Xşa9edD[4 |XH+mԐQi%ajGvjon:iKC10H:>H"8K2\vaPG0҅Ӆ0DIorXx&C,z-9[pJ7ghVԐP<⑂XYxW-Ój[;+> "?iLp@q֪!&/I~Igy#mzՄ&ښ(ҹ2]OOk -{o}7*O3Y61Bx넮*,V9Alښ5[ڇ yfykup{zwQESxxFŠԙ:'rIJYA IʰB!'y5#xñ #y6ǚ?z)|'Y>bmWaVX _t y~Yk- 7<ˇw߽E^|{' /.>}~6 o9rG-SNa}qӡ*>1~i Ji%)PdcH:qIߠ!$W|H}FF_c8.ϯ ',|}%rRPH/s0ާpJ./g8߶<}>f`*~n85@kj lqУ_H>_Q7(-46vl! 5xW Ql+a0BD!4eT=hĭi3ul=ʒ */9/c8J[endstream endobj 310 0 obj << /Filter /FlateDecode /Length 6055 >> stream x]ݏqO~q /m7Ꭷ%!v# &()RE҃TtuOݒN{~qW#O?uW_~0^}wDUWW?|01@q+W>;F`WG1o+e4z៎'1Fag gG=XZ由_a6>ZÿOou/ÿ<>cp%qc3'e/ҩQ??R :]?ڨ9#~O<CL?&Nfu*R BG(G>j҈мsẀ'T~cJ>A'`pqjq8uKa,vU(8ֈLpVu\:?^yC'?ȺG$j#dYm$:|[<@a[XF@F Rã28Xǥ1]9{tNn)n(瑚BKٖG=|ϏX$#@TI􇛣B:zqKʀ@ z AtxFx1-s}?*C>{o㠍y^/ s1 $l!T9PN&cq=H>guʹd3wi dϧϾHzԇE 0=VQHc"{ u\l%esVK|(-S5GŖE8g4ᦎp6@kTqfN[ o93.Ѐ c3CW+AоǸN`zYʼ0F#v~w蜌|hDHɏqe4*(`T-l̆QFct5u&aQ܎M3e;5Se {ҭ/ާ ӻ#[A2(kFX7Q8C7ώu#aK, @GT{}ޅ̴KմIy_rrZ׹C{[QDQ瓏M䞸'ǰ BJ@usEaPEN*1t,эMg`b+ C9)܄*OeNagEKu9e "MFqYѨz\@o\H@g15&VS6 \Zn.U/M tz[#e?NXz92`N0)G?>5J괾™1WfL]ݼ, 3DTCGw(9HdDzXMa\M&[JU*o3>)*@;>Q9'{[yѡl^#'_=~D_>G ǨO6VInܦ^H¥CfF]@_i:y9uB|u},<ytD{Ol]uV}3*q!_jۜ!\#j7Kr |kZPѐ) |ÒZ]LDe#%yJTqGȴSda=P[[a<9f,s. Ά.^0SfӶ`(HX)9~7꽖1f)5QBqG7GC,ݝg%0YiloJBKU#N4unDm[4ǹ@wX- XYBBQ 0 "ѫ.y"GNg+?5Jv^OKBQt~ ! vk 4uKF@pn;#kQ fF",Mfڐ$2i0ZFKk)̤lbUƃҚf yfy Myt*(eR ^D*a%*d@qlXI0c;keuZxE5Q91H奰bRm S~Wrp~o.12B)&¼mͩ*9H713jc IcgJW MtlN6jazܤL?g|U6Es;D%iK\n!}BmuXըS- jUcug FWX52Pl)99\xEk%#r,M쉊ɂHY- ϔu18 Fɋ^sppe!/UJ#.g͟.r)/6' B?D˨ :[F偙3st)R=h`2c^OGJlp P~#ա_wa4 )W?U P>|˳N8C|{‰xF|\ʂ/OƐ'^ԉMISf4 \Ec43#lU!?;U#"yfi廆u./%[7)-E<.Q$5kLu7A:iV9"7E+Wi~ C"ThyHgD4mHe5e@@c DX6(:+"O{B3<'Y䰛0uD2%UUT[s6CjSUmuo׽FE(8 b+DָIoyMA O~= .֋#8 -֐paR%"` sVZ&duR>g/Cd߮TڐM|N$84Fv}$ӛ'DZymvDG{5.u*5PTcR-wA=8N"BοʼnML}r;Ytz׀'rsyњ~ .cpno@e4}85\c`GSfG+ |=c/`Ћ@bFE z ћZ('HS3^ [+.~P"LCˡ pPƔQoeDw[B D Ym,05\( *SI4A Rp7TրJL=bzK#, 4qk7ApBMVh57hn^ւ€b͎Vl*?/lNI\gu;8 h/w'NS#)eJ|לS2+ss_o ؔtK6`lI@)̂&6ghbܷy?u+ҡ%Z4N%SKC/%Q襝x~myj9-usZ.a'#WN`b-%5ltm6xNROһڃY u- $;T2v؂H`X)>A΁U j鞌+ipNbdSkњjEW˃Yaէ~*Dl٢;#WUGH|_+ߦ>D e@L:O9I_%Գ|lklU~ bdcHOqpb=F[V8UAJ> kSKc;O`%P+M'x; Nՙ@\uʛL)ܙm8tu?P(+PZTiL|QAX=9j^.QvBVFw8/; @ܙ-%[ ,l HCνz3q\㧡 M Bbcچ!unSgooXXEt4:6G0B(" {V[x3*+ce1 a^nz/j;[IOqŲ^c7!﮶e/oA么"{2`("~. &g}1}V,ձ}Hi3k$M+#{aLBM]nak>hmn~'pַOnn?\۰w>{ϓGd*[[Βd_q6fk3Ḁ|X\UD͝ 7qu[[t@`-Y$꟦NxW+tKM˼/oFGl, $nkG%-\v̂QS|6QK1h/}徧;)+͓ő[F49 cmd _t٫\C)ǢF8?IͥK+<֏tz3F@|Rl_,==3al4w!Qk7 ` ?kKRwWF).ٵmWa^p v0ٕJS;bqf޸uo U7.ŝLD/2Ym6B6vT[o1[[ɸ%'r&f`3c x2̥2,.ҏ c]e_ֻ,oT:pFu,5y#R/7̖73  ^`+:mXEc'Ր zUgm},@V!0sF\;Z$~D,h}6Q/XTKelw})th?>0*sK5nʲUj">Ƞ=ɑSr(cHnH^ldO=$jKZ[7w';r1n^lYMiq߁E+җTXMVMg _˳Vz8+ŲJF^r$sou[9{"'_)I*J%cco,Jw#2%v_OzeGTIh6rek[۲Y^$45bT[& .8Glu0nc麄K_aj[>~+?c endstream endobj 311 0 obj << /Filter /FlateDecode /Length 190 >> stream x] w7Z4,u1 Ptú;(GNG֑jGUij*borOUy"5LA*ҽAa)̚YafF EDl΢stD)sX"kj\*W+#`endstream endobj 312 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1131 >> stream xm]L[uϡlAac@8= Y \b4F s|)ҖQZhiK)Z lm@&K3 Gf!dH^%děw>σc .UTU7UB ?X)o> Ox6GWƎfc)7q=+QyYPq~;d=zye{oE^?ޗ^8*6*5]RJLUQvR96Q$ŔRLUTMūUTʚ+UgS]Nxê2〥`OX" 2N.GR$b JB鿄b}9:U@JFǛGaFM!e艎`_(X]]*hIz-_ힶ~kz03goǧqT^PTd|l%4t r~&/*E2=[^\Z$=`8aR@dqޞ AE 2֯-W0I„yo*G5U/e V# dԮ72C0oaL},/s1'^{ ,NP={g2;<1~b|I.aÏ4=9JW؏~o5?8+{2`,,i2IƗ(3Ң,H”X8q8(^w4u(`u a-sluL,EZ}vm̄<ܝ]NX(בovHt#!HkK fT5߇m=k5@%Xlv zSF׿.xPsqB,?=N\p;F߹醉 Ps?) D|r٠ՀIɷ͎.hS@M h-u sK+ˆL "mbZHIN[7WVgMvΪ@Z0O~sOZV)RZ?Br3{YU\4+$|{#%uzbkC$ hsGcIɤ{ 1M;]w?Js^v^/7o-(endstream endobj 313 0 obj << /Filter /FlateDecode /Length 5587 >> stream x]IupC⨊`%/f`ْȶDHsh.$sIQ6}o$@VV1᰻ |or&c᳋_ݓl/wg/g.γfrfwG)ĸ_Ik'?|pG*q8g?deJGcdr4oRo_9@%&χI+W N8FJoJ&/sN`mAQz997L1Z)ԼNĤPY؂kh*^)>I;Gdp*s| ) ^++n7Nh,;$i>IY!XCꝝ`ylY`! vMDE5vUUL%%sc[pa:7I(=\LEna:b'Lz;RM r~Fqz OӧׂIk-l K{U_bE3J3xZzqDX.E4HVTy9,؍ +B~z5; oAwD2R$QÔ&[bACa6Q<ίgX_!F=%uaMxnvg#1.E< gx!Fvgj)G /wT6AwrA-5!xf@Zw 3BXJWdodf=}$mK%Km- ?b2ߙUܢn2xavK[#9E笳]_=Pr@*˪!PrQ,RL6)9%`Pf1N*0/L `etTqBlQ@T) "|.r[Q %{LTAfy ^T#lUM8xL)H'5X,by6>p&LF9gu}*Λ Gɜn\w ()/[@pOi؟4IL=%@Q(w9[ە$+S-9874pDk /Q[Xl_#D{ 1?y0&X6Vq~iܥɸCNxRE{nhYq :J˳f \&[`ݑÇxU@%If"MajwE`/qI=I,{?(Qq9-,5 h"Аam)*N7Vi̶]j)PD!/"g,gk6-@CƏ1IjX ^@tn<;!$\f'1!kNIhpsa쵝èQT 5JoBf18e ^))t(̛$(HmxPǝ@bQ ̀eW*4@1a֛Ͷj,c&WŬDhC䀅-Um0+xK"]0\)o%~q=L}$o$k^MV*f`\ѫ4U_]SGFZm5XrP[90`XFp[)a 6B $᫈S>J Kz-xTrj#'RBD2qI# ÓJF1y}.h@~ZF5gO.Lm D%uQ DN;iᥒAZݑ U;޷]d:6T'`׀8_8ÔG$c衈l[.Xln>*˂1kN6: /f s.Җos /,BryHDŽ|Š>2g`![>-bHmhSAݶth|XpjUGX ͩŽ6#Uo{Eem^*\3~y@.SoZ8+JML 7fI7:u6A83J!-$JK.d1*\+06/|otl 5ZUMQQE]7EZ=&{_f^}G>L*-qtX$qk|0P,[SR{qkd+\JbhxtLٶD@RJG3[]ʳi+Ȍ`oo"EPJ)5yWnmGt냥Vs}\o:*_ s93S+.doQ;Xā`PI0H(%:o,JX+"9cҌi5* 59uUGEԫb9hY6t[|@]`,q- TJHD5+ɛ>V緕<@6rRƐ>69 ;4v,MBseO{HصQ_”*DM!m&8hWnuAP&J0<ҥd;tyמ:Z,$QXAHR" +L%sjPQ:('kՃ1ߔN9Ҧȹl"<jq'kQZgN\iVf%R!O:7l5@>Di Mr ȾѰcw!^L&'>z7)tGdh4\|sFUx޻9;E"0"-j4& #~VE6 X(ԅJ'ht|=uk-1aN x٣M0<[įMW! H um+N|Nm&K"g?wYYj!d3HZ=iAߨ7n舨}zb%r+G2&^!&\Y˃U:OƉm/2Y S X!a={%.R7Y{̍ zb=qcY_lz2IOj 6,)ݕ[.O,@5cHkN>Ő޿+tnr::&U @.V)vEb3ѫN!iS5#ueUѠP|C 9|H16sȝ#]:wg:>aa-M űW%є<|?3f"hu.&SCU׺5gA G3ݚ7$Zcm hrMFr #+;X)m٭uyߣh\]VV[Zn=+y$կ|AVx͛!7VV<rK8s`qNvCkևs[-X" O?Щd`2'սS{Z >$4jQ"jҫ"O9l/ghyyV+Hj#Wb$P3 /Gݨ3d䡮>er _fN;syCrE`8x"0I:fd.o[X ikJ#ng1O3)pD:RBD*4WtV)݇{d`41ܺh<$xVuvN4HsBT9AA+z-8ǎ1"$![Ysh}!o]-i2EWGMzs \քg$ME 8SFh:;N"W=Vf r:XĴ\`5Mb3PYOرȤ\c bY⥒C%']~\̷yU.,͞c $됱#G:rsW֨xnaSu'8[[zQ1|wvU{x_1ϺtrFbXǘ /to)ਣT}~*GTZ5ΐ-7Mߢ:eGo2f傳{Dp'Z]CKWinޘ/wʪpWLLg߿{<;ks7\|rf dyxMFCwpt+mz|cfzSԦvd0Z2r8Mӑ醱ppK|Rk``k+h|`毆z׃0sƓ9+X=3lU-G Wa"fq?C1[)LݜKo@>cf$'If>gtypOKֶ>y46UjroR#q-֕P /I\ŋ-xLLy D?SX({r--b8nEAb‰Y_wclV=Y/ dvRɒgPqHkD3{LXO]l v-qKR!4rbfJbThxک<|I"kb##S9T!t93_fі}0Ek"UnBJ@9MmgNF="30aƽR] sO.8I_/bendstream endobj 314 0 obj << /Filter /FlateDecode /Length 7790 >> stream x\[$q<9~z:SɵrMeۿmM_ 4(%|v%G?Z k ۨ% /5ԖRLd}>辄9ٯw\g/pJxjӜ)4eL.הd&([If`2yJ$&孤p"+G>HæWqS[IZl:eT?9skSqS9O!n%2a736?/k Zkh֦L,| .Tu Oʔ@D}SRAej&TL9EdTU$E%*E%i&i&lыWI0 \TJJlOm$UWUq5"i0q4ڇ& [^$0\! vZܪDū'8TR,A%0Slh| y$鋣LЪ ,!q"Z*il.֡RBUv3!aT-HIeo4j抋,8΄H:SrϦ-ll.HmVUT:s5ᢊ̈u" >IQUԪ&k\UITM4;E4XmSDUJ*,$q2 P-sH9N[ת>͐pmYO$~&z yCuS2PO5XJ*˟u9O>SMQ"e@`@AI \ v.w3$CDNGfAЛh (I4&(JJ ZJLkH­N,IUU:.@@`a)v {`'$IUHU3R Fĵ;lg`$XRTIX/p8`D1MҗIlu.b`5n8^Z0 aJ߬ѓ F%4;M XC$uvٕv4$TWqp`4y(A5T@rP؊fW=xzE"T !$/DF D,*vhU%T3ZL9D7Vl?LB$]Q|Le{Z!P^pyp<DH,5nS(#{L#רUz)ub008Ɏz'J3MNWd^S $=ln[q\scUF06p4:qnj(M~LDc4W]eY#iD%DA̗7 5qƚIh>ݖ[6T)AQ/ƞJpԃ5LL_w]e% 0(Di" Yo=XI$ʴ0J@i'6H Ioڈ]&h LADHQI#~rNE@TDmf)!~l?PA pǛ7Z ?W,d"H#$B$u&(:A@W$I%Y|Hl* <"&EΤ M !j/!d2c{1#3[U)qR0I3]>e@ qM׬AE` хp੩$gZjհ*mF? ǙI`Bɬ@e:" ^&B"BQ:8M砪qDu?I5ӹc'}~`j$QtQĒ@|&7UTJBsY9J ]>"gV"ڃub2]бhO-3:@Mf`ʹd83$ -} -bS;<=_M9՜%x'UL |XfH`fφ/Ou o"ʈ5E$\ʝ3)6x6)=c?zhD{ tTF^:$ d;)Q/dsz} c?d$i,t A=0fI625W!stlނ%fD:;L{5Ҋ/I!F$ET H# %a3lعo$aL+DMB>B"qZ 5e]"؋!Uٌn3gk7γQC. )ˆґupHЀQiYDIV:E-ψQ볗wE-BmL(-utR!I~GŶm7 `.\^hFx|O_|8R ;3)FH\}y0oufHG=ߛtkI1c+@_|~'\%;6vLY*4#~)1^cF-X^)XP{38Zy sVlf*%A4u<BaA-oE7KA 74 SL YƂxaHaE-H U-/1U*Ѵ<#uhD;>U띂UkHphT[s@=u V齷 ˵ 7-&u(flcxMҲDlAmQY_ enI.anIMPd,kpJ.-9orip eߜt|/zؼ`P.^8LeqKY`. o؇w2?~w_(Y봈oX8jTHyp׼ԝjәUM0oOR_μBFi7V@L~E.V1(K=yuE;Q \=6=T߮Pݕ\. q:;VZX A(̯{D I: BCW1u֞ƣlߟ(fiˈhIf7 ^F7kP)+f`u7mggBmxVXhz{˳WYz×01,,S.n`G q SDٔff7| <*-8sH F &W5> xDkE׵띿-H1zD7s 8~hő ~tCy/?tHmmrn;H J9D2ġ6sv6֐kAK_FXE|śUjcl[Z;&oZ/:"zA,F٬7^/܎2JK{/ ])J7fny3oF/>6e/<#H ;~1ZWNqҽn7|VI>mNӴ)nCpfHī\SO =h].⛁ l>bbBoXn;U˻p#kc=eGezqX!3So== 2Ûo9{t8܃|E_ϼ-+2v̈]ǿXH5)@zen'^i\:ߕc3v' Fy91XtfMyR:Y +s++=[ 5e>4Bb9֗'U^Hn${K|Ťv6=TvDtX$K-l\`Ӏt (72ݴWyWv@Kg{Enu]eO'^J2".={p~CܵM[Տ[5d'`f|{ݵw6/rwBaӮE^ eGfP>ʁ^dTGYJ߆ w'^gdp;<~ڇ x=yJJqبYH"yg/Ibn烻XO02oHƟ.,~˅b'BT5j^jAft쥾/g޻xs8=.o |1!c[} Ю(mv-B<쀃?,ӪR^e HZ(L4+a/|Y[E3PB|8-xv̙9{jȏt,q7kF70͟oyd ?}Q/vE)mρ@x$H r \!/~Lq3d'Z|`W.^ov)O[6Ps{6_c9XjI\1n~4T +vemyuUp_#[_/ϔ6o^4۩ߟ$]Ym}~q-zZj\da_K!-0YFQArhZ7ޛOݛֿ$]|.}$wPT)?0RƲZ~Í7k nWƓ.;¶ŝvp ͬ`pŷ1[^2ޘB 4;=exNTn[Mװo_lmwvOoD7]NXgpt5endstream endobj 315 0 obj << /Filter /FlateDecode /Length 4978 >> stream x\KG漜DbдU88'"͂6WҮlKo@f=fg5a F2GWy_<9\~s6o.Ͼ:&ud94 6矟&٧Jiz{'c2ۿ~'evn?Ozn/&졳V?>ӓ^Q_oC由v6l߁?֦̣:#4Ty3?('Kf?i)كll{e'g>f{ZNNJmQvRne5ҵܜvOA,8鄑)|f&+󱻲ov{$acz rQ>h^_/^lq%6|ͷBlb3m/p43+B%t _GE<.C8Pe绽5ķwz 0c\ q'fؼ· !`Aօ`0Cat"ʄk5o}y~30U'{Nflpg\0a4=,Q(8GC!A7`|`M)3`^T<+rVQVOQۼq@3Q]A{0nw \%;P^J嵫l-A a#YYQ(0ʨă;"F'D 3R MXO`_&IY-kW ==Pn3x1 aJ3zC! Ioilhg,HJ=q dy7iVPC=\Ƶ}m/je/ѩ*oЎ:KVMX^Y^kBg![PiT!՜E-,R|Ǔ% |I;m[-lDn!wl5 Xϱ#$ f; I?@cU }K!LTpVZަ~` ڱh>Z<%FadY}ܫ蓞޿bCQ{נ;WmNhϱ" x!?t|rrP[BX8D>6# FID! JA\[9k7-OiD^E'HP pʬހ'"aftddUmTX ĵ}H>^FQ32,R84~ň-(?#ɂ<7O$83`&g@c`?c@ V,[I;bA*OT>H0D;B 2Ӫ}Ӳ, nXQ;iӃ|]mkq$IQ:eZ6Y,x1oՊQzE=٬JyMgbTy&]w tL<L{!Daݨ{'5yEψ,@X0̩9p3G־Y$ 1 <;9#ϥqr!G-IMVˬcby ~ػp>6d'tLtt]>,Ϲ*͑ScD.0تc"'>Ķ<p|Nr'#W_x,9r:cBU&Nz-!/VuLMxZ#^pl4ymdK~ Cב ?^ *zXf5҇Ji1bɼ1] jT |ZEKX4WSe-2`G¡?L&<֖|%FhgѴ>UvGV6ĥ|'*iAO4K:IɜsVjN DdXhct^5үPs:ՎcF{Mn_u~c)O@VXJyL3]d൲qZR: ȞOfxt6D&>":!T2rыLoK0J޺>2-Naj"V?:iR>FaCJޒIAӳ1|OHYb' o9%Z97CPn1I T N-I,h5 !)ccwniT IxaĤg&i8"D鵱5^XfY@Fcr @i&H0/ ߙ6 }/\֡OO,UqbwZNfGR o dӸ$d={E.1/_Y4!2aMpnޘY^woOD"b <Ɛgwac|O@2 @8gk!-+||&1$.LDp$ UhryrG$w5!_+ߨAww/Muƿh[n\(gi`IUѹ3ATB ݮ(nxsRu,1r䂺 m-@'Bl+-CM?Rui>`l*xL-~vn!KMӞTk@`K*FAMiTٰiT|8 };x?'MIre1A5B[o8.׺$`FՓaBLJLGQĈdqdP;4 3mā8O7fP+1O6ԏhNLj OXM$a@إ'˯ag'GĢ_C 1&X2K*kGeSKu m覴7S*ӂikAN" j@]_wD%}P""4%yml t'D4IvB.\rcE <0/kU W%L\P-BmGp\߇U<> stream x]KǍbcNMQ'˫#Wˇѐ""g(ѤDz2=CP*+x|'u1ׯ}xx|wT"ŧO_L~׏]?^ZX^U.˺8LnLg9Gn g]FhFJ~%էC spfq^qm2{ncЮ.UzsaC7}K[e2-S\, Y*Gׁ+N)lp^aB}FGiDӱrՌO\WfG1 e>mb3- >r`P*E jx``amY8jĿ ;Z3Yvb[ekVdw? ghf0*s^kfMu<\ڏQ:nWӃT%RyJ'l +%(qqr]38Yo;}=Di]!^N25ga6_$4'f>t$̞: _ASNœ?9_s;ª/ᓳ mnu6p1U`ɋ2|ZaUMAl}# ` D/\,yqu RR;XVQ*#ԁ%ɘB M0( N.|-Zpr.UiD!Ff+1xȼw$5è?{)Tcu9Z0IhA1Ր)9΀wNp[_jVT识@¦++ m^Df{wQQƋYt" [m\?4x?3POd[tQ;z-#(q9Kwa`*v!4Y!Rj캱sb D`mT.\^e:+O]kn Y^]Ϧ3HA[Zx4CoEZecPp_1_UQeTH7L]_pڭs/~`?N5X:͞qVZ7`4R'ùp2k| |D—AK6%UF?Dlx;|=Wx!M$FX-a/ R'Yx7~FO*"hB#C퉃,A Pmvvr1=mDc' =h_7=R&ΎX m\¬p#^rS\&\ tÑ|YH~.B{L q3?W! r"~ VЉļ*='xǻ.w%\8XDG OõGBqMQ>["T,PGGX,`49C;79`kridZqDF z> \F6u'ȲJK;&Kں@N1SQ-?KsYdLb*" y*q[:-rXEaAKl 0ˌ_.X]_Ԛ}܇!SA,A]D[+̙)a1f\m+4z*#f D&@4:ayܔ LG"гXHqpI>eHG ^7 >T0j;()QOq z#[CcV=ԳЏ)#t}E#B!4y*o!I*Rzvl8B^aY6Jm7 aO:LDźQ~-ɇb q¯"]!S8a(Ei"qB4s1B0 (q\}[b.AQ6-q89ݷptQ#+\;T~.sl VlY e*3I̱ xfCE.*qy<XCTTX^'Xx=tyiica5iQ{1Fy8#7*y#F!O9U(6G Wd8xm xZO] HM;7lf@#vDGVH2gD2z!"143Y;5GBTn4R2+ezKRzDgrXUv ]N8]e]T ´:lR$x%w Lڟ_"ԑ}z^iG1s:D[>?ElhSI+]%g@H~Pm}'2Q҄.oSH$ZF:">$g?47}FD> ]ya]ʆdM@pf>+e3Ú%!Λњ\c ``Fy9ἳB$:ӕC[0sX֗K%]bp%~HI ~yITmLpT8 R+b=>ͫyJJ>sUAU3#&amOK%P:U&-ST™{3i{Hz&DQEy-66 tH%B5`g?Y⼚ [,ıGg 80+2ֆAXeE>n" JD"{k96R|dF:8t{nHF(?h[5'j \ %1?tjNܧa+F*k鼈;dR:_%*+5?))H`A H{1tw47ZAyt@K, G0J6Hr#mxM9UKugbt$U=Rndw2`Di\%kR64˲iJbg$Syab$U̘"JJIUSN11d:Xlj2~ &aPچFt`zNٹtT R=%*`]h  ~R CwR|WoV.yz/Iv:,[f7/y#)/tӼJoU8Xu~pC9Z]Ƈ­gm9q=6 o*(Rլ)\r%ޞƳ&X46 %onjVSjP'*JNsJ&V&^PskQғ<'8'Oі{9t IC5Iʡn!aNIӵ6ɘP50b~ cev07s s4c?]6kQ .A^ӑU\QW;/S&.t>/\{=ng'=nAנ1x{"&H=j]I ڂhm}iwDDAO;,qwƥAwVQzjXw⽅b_ݞMґX02i0QMYnIԯ)fwf#AG]/@6XGBD\:i& ]Ɇ@&_h΢ $Q!l,{nj:g/$pk{b15$3 ȖsPs#̙oS+gtm`P nn= $/]4~$@KjսH(q|,XrH_vqUV)h8eb 6vXMFc-Rgs,U76YGr e˫4j_> stream x]Kq=1f"8w.VPd`* %І3U53ص<]/||.b>ūw֋W~~ go/x5'/EX/O>ݣAIBbWfo{o7/ Y}?zhGxVt=n}׋^Y[8}a;x_{``nܫSt^v|0H8֮坯wԪ7ai8 q]ZvCQAݿfg|[ s?݇;a9΁]'~㘭 ]X!r;ruZhl-t}:Q+C=%N^ g[4RO' )HBix:+ R78gW Ne|k6We||EDRYWQdq[?A+ˮ%KG§ /4..t_*_27LG\얙4uk ݗ8?Hv9vAƆ0#/=XEYh}ز؎ vOYIlp4X6R]BA*I~co h`ՠڔkc$IkWdf#db Ci&d TVoZ&2R%J?leU0ZhyW[:h_ .mqBH'-c X8rfiGbŵ b \u($?$2a  l Lj:͔rPf;UXBUȧzOǽG '=L먏Ϻx\dǗe*i\45 $Ų0`Sn[.J,gJ[w!:/TLVdޝHf(,>D_mו3VFfJʵ/p=ǔ@^Mq}]$>beېI?*6}l4~U6V(fV`dQ5:U 2p@TeӸL դ rK!( Q; :pR9#UAPI?# V ;@1 0TW5ԀP\0S &w߮ΈYWg\?5ch8fv3I1ev8oFk.59f"8<^Pێ:7Sz73a)H_syܙ\ F>)s%$*CutHH64T<mvɞثt#bn`1 7;ov2}o{'b/IJ͸ͩjk>eO*xSa.rhKݖz07ن2Get ~`90꯼4bqPl9^c}b^tG ;s;%A=|(@}V4hgKk+܊&[8U3aZǜd)*d28UI[ |6QFԱq8(EmTO Cj8(Lo[5rGiF:u_`4ڼrZ)pHõ'k;[GrQN¥4~=.j@ `<zjfW ߢӚb83t ƁJͿV>\GK1xyO͠!JCB^H|D<,`37"pPzwkFOsWXYh ɷ}c00b蒘-Oh a-PL[*IlG}]<o$k]ܺeq&1eS+.IuԝW/Gka, $˵+%|@+w%-6ZAAKȞFʈ#`:Imu(L n~€8#/}*=$-&B=D`zMi2E`X A*g:]֮sMK(d?"8=C] X t!hjM|9cÕ/ݜKr2G&&@D0+gtwX3`|s5zsEu3ܕli5YZuַ{PީsT7#l/:V,͟hkF'(ګئ`c*1Ŏ³+zad)?T `fF)Tj1(1c,O ˢ[a7[)s!)>a. vBg@S&nRfX3X#Nsi#rP{D`*@FET 1y<0.NMH$x^tcADdkV EuSHmt'>Wy}V[&-?GyoKOaJ |hNg7 OWbΗ@9Pn%Kwf:8wMX!avEj>!L ƶGTc`ؼaK[a Hh9HQ|e?)8KGYB5loPOqۂ&<8JuJ`@XGd!bPzs e}d)ʢdM [sS?d3 GuyNS/ģc?VֺKMKَ;aQ! b[`7f{ *D4z ~8s^m?Y(F @SkH`8QT v̻ ]v΀ Ր 6 zc]@rB1qox%xᄐ8] 9!deɍ2_l_|lI-\L ' e|s\5K ~GlaLJߝrߋjZyY+4E8sL}az򣊖HpDdA )1(UR6jؔM.'Cm}t2W7!U()cdsNyAQYce5gqAAodxڄy\GUe9aEi5K!?/ԑfY]vvYU'oB y$\yjx\_%Kt_1[r<4tZF$tx D?غX_(AAb%i,jӊX5XwVhXoTkGUƠH, IC}`:L;UqP(xq}d5Xe]Ķ=$uސ-nd˹ɇ-Rs꾅䄝Io^XWuu8erjgSnZBM,Y<,Y2ODs3fZa!r2T 'wFM8[Wab?AՐ 9ǔ锛Lƾ#)d%>Y?=V!2U& 2ͯk+e >N[UqaHDmU0ߥOܽD$Wq"׎䭨:b|<^'lH͉hGP=Z(g${epgw] _0)p qTԭ0gQ~QV TZEl*y&Ds G'TnD 6ݑCmc Sfe|&^PǕ-}ߞoJIs0h0j(qIˬ׼sD>dB%7//| jO2#XtI:,ccOS]8JdS֒6>h٬Bo0%oHKbIm%X\kɚm 6>Ԥ]>㓏"m}AGjq˶0O ϧ30}RĚn ]9. 'glG hsW?|p|uC/GνZf<>6AڠVB%1ZQ.0BU'Bxfр?-zHNeD۳ E.&}~e0)"冀+s5"DOOjęSxz;bVx1='SƘ&GlUM 9@k8~Ghd1TNL'fΜ0_^k* lٛ`Ls!IѿjbM9x܋{ERr& :cEKO? ߆ I\V&-51s鯥'#fxdCfIN>zuK *a> stream x]KqsUMʲ9q÷"^ htѐG 5vhUWUﮖY\-eeQbhlFkoqw }fkCwibū\vrVl#8/,H 8~>boV0` G7bq^%: .Ľ/B2eA㤔`bKP.G0TkA`ШaP ] T^m8 ˁ\/8`7A` d: &;Wv6KtCKZ`IBLɼSɃi!:N::[b EP F,&.7ijhFZDPPc c+5c? ěe}]HITC)bWLrxce$>EܲL QxQpOy]4ͪa?횄2oq ]4.|ʡMރFF ?N ϣzvv%_ L,hI;o5\:$1ML] j~j-oB*י!P!5St49VF"[z1Krt 뮍-!} \*H[5@8ZROREf<%3-}Cm80bfJpXZF v@ d^3΄W8n"[VDR@&uf)e Yz'al12 SpvoNZUdCos(+B| uMNJU{qMP cK ٨&بRc:c<(a3 :7c4КtBcZR%Y@&6D5/80k:egf+WhPzw'tFFߨ!Spi]bX1D3UŲg0&6xjmԗWPQ'\\7,GYU>x4~D>F{_cJGX) 7i`s|3#eʒSMp!ui o8HPhh‹s쁳ĥ3K$o|58Ǹ)2kZ'GG^<(=O*8g=fC+цg ȑ$U"ϊg lxWcOsr߽l F-N9 |iSҮ|XMEmMܫWaIё"s xHFucvֈO=xz*1[J%{A OϪ/T c[E4v )^'Tzx X+nf Y/dNP݊1h +qc\6JښsGCD_xvp31`+qu0C|zy2`;L(a: k7CmO M-+vբ%6jȴ]I˳b6;Ѻ^j+,y[ޟ{FLخ-Qhݑ5և5ZQ@H L%..#!,'?hrz̶YrZ{s(xj+D-ᤐY[> @f(H4T%m޲ـ'h;!ʟ4ohLT7tƒ#HcLY|{|qn"_,EUH Kj{q Q|Q.jP"}iZmEb).WHF,kkb̀EUM|X#Elq[O)Iy.K}LLQ{5^1; S'Ig"oMJäEmWԉmU]yhԣ{يw'LLiEӞ=FnT cԐ`lӨ˪FPk(ZB(H FƨNYV2hB؜+Mϴ& c]xNIjؽRkjrk ދEiQ>INeCbdA@{.K vt_kQkKT]-ndfDFO:>Ie5ס3V]8jHu@~:tRqb| :v$m}$ B}iwb\A+.B5?R0#:0l\ҁ'w_lh+Zy|\yq*"4_&N]h70l5!B/K&X '}dG! bcwGξwV mBhnd)*r !@{d*lоLV->m8K0Ұ)tnU.C[X{F*j5!lY>M'`wBQ'zgI8ި$7RKdS2w5jsj`%jn2vƼ4Vg%;Fy|V'*Mu+R|Aő0|&%D:Wg47ܡbacULV_IPvik:L ;v^e:"aLH(Y69m3w8J=uJ /!籑t-MyV[+ \~x#50.ڛ>ےxi=O)ёk&SX -c35$嫵s oWNj m~Wҏ{朂\k zʘ7ي8og9}d% KΗ9sǀ@-/V М lҩN)!/' Y_Iܥ:=7 |uU#aΩ(r@;z"q[C"WWC"Aw,SDA9c:O,Rg/Ր4X;Y]Z[z29 f׮g?#v}Kgߞץ$ٮf<~|BB('<&A#ϟ? jqs; 9A}^@ R#T:FG{g?4{* a 4S-C0\{Y?3+g$J%w9\#KW)9g[?k|ES*& +\$MTUۢ^Ł0diU|6ѓ u;2(:ڛxW7kx3Oy8ĖJ~K!nO cOS5ZXC2|6Ɉ2)1" gRXQfwd%?'/u)ZZ_BdE,gɹ{?=n|endstream endobj 319 0 obj << /Filter /FlateDecode /Length 6026 >> stream x]KqdI%ZEQ$a"wfUWUVut E8x@ݕ_~C1ɇ}??|Ń<~hE| ?(F{7}x*LB xS NzwxiTtILǓ|"@g{6gG39^_ںGx獚BǓiQ>j9|hřy/3ko%'==wxeSO/޲ {ia_'SyO!tk3/&oχڿ,Ņ->؉ l>05X Bô:c7o|t,,iV,w:wWZ? +]7Ǔ"t Xp/8tspp+8Xf | -ǵôay~(Xt*e]` |`uca{ NOXR[Sr}h ҠƩ~ZH[zq볺ސWL^*n/NLVƘi$#AHR -3M<ΗY/48 'l'}RH;t AFj<]^}VzFUw-nΒ^ p|o`B|gJF˻ {+#[ڣC#qnDݙH &“Ϥ|_,'Aߊont)y[N3 k(F=k4ׄW A4v>`(q sv1,%Jƞ5`BG # Ex? x?שajnWc$_^nr:To"F @)S R7Dti@XTI{#MZ=Wf|S2)Y+ ҷ}2L@׬`NW{t"+&ul/UYdG 39zЀTѸ-4Г4L\@ad(8wuBQVXNJ Q cZ~x&CdQSGvqn6FqB$ >~;&"U /~J6i ss pdk%ƈ԰\%ifh)ʨ/Ez''LHz^'D4 dm*`]ZRFӦvP30EU1E^G`{2;2;Ga@3Bx~1`4i2FC-_cTjcd6u12=z-;ii[WD 6E% ڃ:mA߷M~j>}śgY`M),,z:67Oy5֮KZJzS6z;::0j[Q!qLeVˈIGI#WL8wT)vb4{_P[Gq\f"`XyZ/Z*> m T.uvۈV@9C8#I/!tFX[KxO0Y eA; sN\psm2(j͂ 13ΜZ$t2Ҙ7]V)=7ߋѣoUH}붹 +Պ;my Zu$t$q-p@ iEgAVx |P;{bȶ/z3W>n6M\;*LA7ֶ}W@*> ؑ:] wgWӅ:iWY=/`x7fU@a/Q +aKFo檚GA[EQ>yyz]#0&ZN $& ߱?Ŝs)1-Gdڈ8 Z|gea_D;$!md86twq@}ﶭx-}Fktwˮa*' SC a$"=02N: L`5;xPәcY(FPVԫYK1p.ԟu7rA@#m˟. <]d3׬J%g0iF~T<&' *M(O7b8*mtMBz+!a\|JrKXӍ,MbqU)"iD= w_KOv1?͛J'_°Ѧ1MeyTӤK{WŃq|r:$WܰĮn:7%&d-#qP@琉@zg hC%til)W+1CGUވPM 1 /4|j;:tg"-`Gz,3:~&5E7j$fs˕LhCKLoyTi2.ztd8QKlUp-2kbj4ϳEOIHJ2'[} $9k^>pqLs÷}}2GuGoQMGSteM~È֫}i9] yIAsb,1 B/DB]HNvWKfFe`"9i''I8Zq:c,|6(&mW{*0 Lqr滜3RK>RIߜɉ6ڒ4okoW,_%ﵮЃJ֗@\-6ҋF+dbtO#J(G2ۻݻ3@Z/{zR:M$u[Ɣ>L3JT'VV(|%AP#*7?@~l&Qt9<0W23-xWCk!& kVfw󢖅\Lba/Z$uI"e |EZ>J'ǹĥ# a>ZxqM}Ǧs)wS{$̕Tc: wƗJP.Tl#zY "Ms>PuywArfgjugˊVʫj05] L-DJ}OΐnDXx~ԵZuWVz{_&<}MZ5bW:a:),+U?4JW  2f >' s,_&/0o1'H_q-snAI,fo.H%b@"r|bFzר+ǠȽ0!R= D?*gMgQ=<dGIƞCt0^}u`G|16i -#;"p cRV孌kNJW{ÕUY6/ qQ6̱R\)Ɛ`֓]W{<\;NrYd  AQUoerߕIXR)lMl0Iˆ>xT*z QMlh՗$|k@$:!+R:+)0i6=+#灲'!%T}nH-ҽUKݳ[;$Z?Om%b^ti?4O{<%x+DRU.VSQP|pqpP^Wp&fsausqZs N.qZGp0AG˔'Xdžħ &`ph]9]R{I 0}й26p}X/w9_tCyNcmSgY^e8Ys݀87Wk,G[Ss~`-]#ŝfAZC=Ǹi~Ҥ86Y7 /S0V͜T # }*Eՠ|x *Xv767>s|JAxhưrN%srYܐC=?Ҝqst4)g!PNՈw ݭѓ8ԣ.[(pgϕZ=NJ R &EiWUWJJ*Ԅ5xj~WǀQV*3Dn>Aj8o&ws-?;2WL7Q)MpεY\34+}w\6]sb+u4q_ufڒJCӓ10g4W"^t פet}8;Iqf/슾'J`E*w-xkVdS0~ލO}ٻ h Uz뙹mdWDxu+b.t%~)_ar L-Ve_6K/2G3vUQ ~_8qAukh2!l1h9 }2(p{JЂ⏲9ɐ }G9 >(.4HEݑ5\S[vҵV U\3qzճH ]?c|a#,(,4wTJx͔=LE%L2q;=VdRˡ,YQaL5('sjLߢfze'^v"zs7xr䦟f/ #4hiCsb5sl"žϞ5Odxt믰m4nWڶ"?6j8Ϝ,Puzz !e;umP⹭;%F]yى%ϐ:Snq&}fwGĽnڞp- igg~4 Ľ]Ƭ34+;sV"T4Gq+5a&/a.{Ad$:ދyzS,{ |;@'lŽ?sL4Rz. -Gn\PQ+kͤBM&o^w*1fxzN? {懚Ks?CNX"0Cs/Q&X8j> stream x]ɲ7vs+{VV:1QjYv,vn/Ĺ[4j3ߋyQ:.X/+S;պw߸?[_^! >War.^=|u?w% {c2݋%x+<~2XfXgSnX\pc *{V'{X{9e=< y-@ߔVv_J:w_c9>c%kWϱvԪi)8=|cf:eXVX}Wn jAks]-RZaw~]Zvb?pW:{Q zUzw#e4uIUdyxގ0~}^cgU0zӍbVmw1KmŸ /^.Zr1Z/c5R Kδ6v E.;>*N`z[ zZF*z^Y|1"M!e9~BiV[+2@ޗ8ܢ$UJ?Ѻ7xMA^&(]5A:;R~q^D|0%U!ݧ7 ^)]|+z/$]*3,<-nB+ Ph PQ<-VI C_|X"f'[rcCvXd2)>; J_ F0MM(<!s7fxzdt/VΕ):Qh@/$LP=X`^HKR@ J08>=*Xdy%m$} ` ~@tƲ]5"Pm04T m7CB:iR# T4M!T%ֽHk#'so(Uݣ M~d;芃9CC8c O@t-)Q-kͭdU%#6+"n TG]zmV)LgA (-Wu$(Щ΢ؓ4LjRt|t{$Km_Wx^H6P|iyCAhc4o֧J[HlC䡗=P$h1ȹFF4q^MSnϷ]#'tys)ു_MU!e`>e =eU? =SLWXY  k R@`(^ʅdZ?Y)@Jͬ7Rc(gNOƒUƎNM[uD'v"gҰZ^iBk (٪҈OgLb͗qC`n_-qz,2G0um@- iƬ$<0cYx̷wH.CCSf-xhIb+&k:>E#鉦=uTJTAuIB^epʒB57{R%]'MDeņ)7(E/>ysJ / Aieas Wb׶*+[^攭jq ;j1jb8JhT^Rd71aZij7$71|ĸL]ڐE|p1-qR4QBo>ϔDJКt"+-3*Xw ^cf^ f☆p gCXQ 2?tД-æ_21*U=_).7PSA6;>>*Bu" ls}CL{ h vh6oIx%,tl.i[f̱H9sY0Ja9-իwapڻvHdRG'\ɔ7wc`rMI\šn'86eSήq$bY$ V홝S Py~)taM\ %mT/,ŋsJ$$>D{| ^1m'7q #PN/+ N:#mHGs㖾\72&׷j[~z,҈YW>HQ(DMv?e1S/Y'gG -%ټL^т&SNQq1.j,9MtjnyGާ{ܥC^sM̲s_'@2.tsmd[',\Au.EqMnby9^DfA16 0S,ŭ=L8Fqѷo6.*v77b".~SK4ȡ|wdSa`b @gtW (@Mrx{_ }皿ɴ#=CB F%a!<\`1<ي[075PБ&xbTnUm6ғvY;C=؄Șuj[1K\ V&!߭fgl+ "ܕ.KeBdYI.ldLx,<2 -=mm2b)}ƈŮYF'W~=АMridWFW8u[3[.(RoAъ -z!;l!"7 —PL5IL簘8f>]7>WAdny*dTj`Filt&lzdHw}aӕH&܋|Iv>1kܸ!5vAnҲ&"]Jc.G.l [&\ E6'3us)U/jx#b% Fy^"bhM[ \rlaiv!reW:A=IeBL.q|u!rj>wdQ )U>m{F=52%p$pМ߸hxN&V  TWiI !#ؚLS4.{wGyʎ_}g.sr3!3euNoѢϟ<YEd̩r5}K(o,6΂Z| 9*kPZ{ RoD~`DVm#],!q OtA3~TPK#3vu?݂组bdͰ}M.p>..6#eΤdc.w1 Ҥ룃B8MRZѽ8êN71S_UWUY_кؽ{Foendstream endobj 321 0 obj << /Filter /FlateDecode /Length 5641 >> stream x]Iq=7R"آ(bؖ#6m+"+ȬȮn`3ぅ*#/_̓ǯ7g~O/pc sO-/0_8g'o/._g~]dWfӛK-oyr;v䂛=4_wxV?׾}ד^Q[S~a= M9zuj{xPIklc $cnZ*k]:5=-4{X+X7;a VZkyHޜhsDY߽ϓQn< }?IZ7 8<Ӽzօ.ySX!'70)+;9mv{7mqD'^־QNx4 LtX8G~i`~<`u,pP=̯W؉= ?tnJSgZ'@%n4yS_'"tScZ97XӼABQe2()v(A蠕 v"en( wU۾h R**П6V/3 A*h dDB/k%>v+¨'fԻIJD }f{l'ivoKC__~Q^c3((Kλ:׋@3pRׅ<쥚OJ'^!,*k`hrfmPY %m$ aR&-&Q 3aJ\I\$\ G0 6P,dޭ lx4⠍Fqn4̣FV($}Q!L@ȯwdK2q<&fL*>cwڃN~~dA !"xN$EVtoq5CC=y0n"f0Q603J`[%{WMUs /P*Ǟ u˓= ے{,'Ğ'q2K3%8lߨJZ;sB]1=,i.'g biZ OEe>+K{T8D8W a,Z;?vl_y^.t$:PtQ*b'eVlDMĕhQC)Y 0H/m0z@5Ysȣ ,yHVZ{Eت9uXv;P)  սKNE?̽i6ibZN'xYG&9'!==G8FqNB^1{qr\CP%R!aS{) mPHDLŦO{tL֩C ]FpV d7CǠD&]T`lk*S߄}V((฀ (Hm'Bƙ aaA @ >d*y7 B7DRh٠*AI=Z'[8A'\g䢞FDu.x=!+LGݲ-ŨzB$zT`rVtP`ʰDdyqNe zX7A)6 ŝG%J|)B>V+P2J J?av3'+pY5(<~QXa % w6w JYD ڪ s} ޼t=gC}$x s<ꅕE .6"Q elh/9JjLZ{(?QB&>C1hgJbom52mh":_fob.,NmwAٓ)bZDg&ɹ$( 7L41n& }UUŒG'ʘ;/pTԘ U nb٫!Dz0CP][=z H\'A,BƓk[?x nK&ʅGni~#"+2\%C+m ̆(,dJ:#%U(+[|@ݶqX؎y0t !AM"'B:iS ͏.͆H,yX |ܬD+6QFL;,#61Kwr֏aUجЫv )?9ZRm++6ɬ 0h)ͬ7naY 2 9O]c1ovFlr&aXU7oF#^kfrk@[n *ϐq`dsj-&'=©$|M,yo2Na7Q ,vVN,4m5c &qiYIيa`ixwyGJ۾s!ة)]yt?Q+j0F)53QԲoK7D_L@#l U# MF'֠1YNLW.Q9A_(@9׿UL8U8j6mJ)O,LLrߖ) To|܊uh OLU<5$Ɨ%똻:"eKn bdܥ|n#㊍n%|(ҸݯeTX©tz,ϳY0"&$$@,+AѶüsPABV_8 R^ '&PW$,Ѓ$,cӮ@Sk76T]҆>i|-4= 5lXf Pñk pjjju,;7'v/m/K' ,cUME>fԤ˽h3XbX"M|-q|w@ 'ߞ=`a:Vb7{oJOdQn~,љ@^fy .;̃ cG3ۅeFƻ?,.Kg2Mr[3DJߗr:Fj:I 9ˆ˘A ~uFad 0 -!m֝;b|S=E4ʿnwǃV.6o@CxySt·c0ˎ|TP4|MKnS6BQk6١lc= )=NVz 995@L|NjVd郫D,r.h|@6 RPBz*ytr5DU5\,QŋhF-R3{' mZ [i԰1 A7kq(P5betdy)a/btKlk @ĪLkޠ< P2Uel+@( VJCBKz=Q^DPF1Ӵ(ݶ0#;EX΋q]G$7O1C9tpȓp* *'nTq9(ͩ39fI/&$Q&VGRr9[C_Ky,ylSN6pCgy#ymMlx?I 0BC y֦O Jh9a=祥˘LsBw FX:)RXdNG0Y)=C p|FWx%|ej '!$[6g rqZr9(ќI}r?1=cč/Fg:I߳*Ut,"%瞍!0gC~Qv)fuF yEGz]2K N~s0>EJ4= ]7h3b瞉gsDI Q뾀yº}3%8g&Ʉ+e-*6yMT/p}epzxZil&ALBf>L? \G>-2=<Q&sBH8!)^nd+Nj$Ykލ`4jƎMȽ~6X Q!G~{I{JTxne ƬM1 X\xsYݩ{t>'5}JA;cd#vi7|a۞XSkl\պ-~fqw.LjwE !G\hX!CqԷ5wáa3P.+ߐ=3ɐZ{?4SG)hӽ (Umb;|^qNY#Ai)*Oui7%P2G՗OO ^r[fA2!Xn󜩎Kps> stream x}UKs7ﯘSJ(nZ:PA,C`lP)V!O/7߿awnyasz9oՠE°=̎08Pm {!Ԓ1aٽc g~ Ub`jKρاSAz(c5!WTruO?a(W~dFB5$ S*3[%S eGHo?nBEyڞ)7ɳCoe 5cN帷.#b2k+Hr1`mۊK}r H8,,*+F ^9(V b|VwRA-WG-D*nH%Ԛ;[?bH1'DVj/4D~TH- RR,{H&B"ƭ,Rt\h9ŐL/`5v?IQ}1\D8r;51t] EEHͰcl^XxԜH HriUxu):mwҲPUsՠ~D, v R`u%hmοMd]Sje#8EQ*/^PzǠRxc~ZM0jVZJvFx$@+&_uj}xRN綮uu{%3 ,ScG)(L91{_䊹P]^j-Nk qIV-LtT D4QaBLP^fiaMӦLMZI›Qq;^y b\?Scvf3I{$ȁK}/(ΛvO׺endstream endobj 323 0 obj << /Filter /FlateDecode /Length 5794 >> stream x=Ɏ\GrG|CU61e #id  n!)ncowD嫭` @*322̊y`_{vq-N~>Es|) bӓ8/<[XkgO_~ZK\;}7fjkvh9} c%.J F9!`X+Y~+18߭&HZ JaZ~pZ#&@| +?(N@Kk!b-  8Jl"KHO]G%Y_*e6Y2 G$.1P/c0ߺ7i}^"orpJ_SsP9[Í ֍OQRIbζzh`pO֠A ƌm\yGi?~+4trU^o&|XoApR\(T10pN`m@Qʱ;MituTǥ-}Y0v-ׂ@X"OYs[ADC|Q!m ˽.7Xl>Rs`ycb:uMyW*R,&á#bV@?ӞB//W*HݽA|Q?G )TJOY Ē<]O38^Xɂ=”(U^.Wlc/!5D5:b>Cg-4Elzח]-C.9>F1.!VMsjX%ZwXS[zqCy `%lԪv J8M34Z |Y7X+6!u #ˤ mI1iRG~) $:EØ$Hg +^dmEMe$q hNZ("U7?EMM7'?/2'l4p !s p_0a%G'}xZ}g: Uf i,Xe  c52{Z"U2Yw.<_aQ:$}gВǖ;ɯXsAKd4",m0aF (CLcV]XWyTYaDp07!3R2%21=L'P+bπ\Xgk!QQj[jtG(07Td&լM]1cbu-x& 'hv%`F%d` qL9^xPOK1S6R%qR j@- WBJ$ b())PI^"@ر"_i  B.^=:Vue–DVs9篭scwR4>]}o~3D|?q*f$QnL#nwm& v,$I àL/6GE1YL ne/å~ ]a(!7B54rPQÒsr%~N i :RR1A#afBQ"z`x:;v :qX]L^8%;w~]]:C<ȑ ǭJþk ',#Dd]d2b Fin)jn{\ywh l?}tuDčp!t }!5ِ_x?r䐿[$ Dr@|k K6ۅ5-a;>5:Oc &ӷ$(IB?!I9sØhj57d:Τh$gt H`(y<-t dCƃWI'n3Y` vxr6{kt^ٞ𠡑$[kCT%OJ!ODT*fVtg||hK.uLJ )8&qԟaVcyƒ wjws$W}| G橔4xIy;ٹkҼ:]{/^3M2I_ }W+"!}-cuC޿*1eG t,x0 R/97Vi욁_5m >6PI D>v@_\4 3 Zw Og^znDz[`N// Mk<,eYi05r݋Nj%r{lVai%4h“ˋ:Ṡk"H8 =op;oc Cu`@#ZrF~71 x_։&J~ke q=~E;3X}WVk܍!$z[c) ;vdsd5†ZুI ̳3CMJyv|\I&T^0^V@y슶Ѽ*ij1AۙMzy t7 m`5w! vuL'ҹy i!1$Yfu+6޸v"ɜ%ꛃ{5E_RئnAc{СtF67]:wp+`]owiR"ɐ!?T+c¹#N$WjXx\9mZiN-8S^ /]V"3,g\omYzCz E/wrKc'+P/yi=Ur=FF"H_o(C G|:nEC7\votbQ2Nߎ%̪? ֒;] U Ȯ=P%vկL6d!k*S]AKDsD L Fy-M_>n9IuAs%azBޫSyKI"ގG`)> stream xcd`ab`dd M3 JM/I, f!C7]?uXedxYu0w/=E{,fF|ʢ#c]] iTध_^竧_TSHJHISOSIP v Vp Cw lh 75|, X{r +>]{ؗuyt%usHg_}r?سRپbαƋ?KWtqqw_-EݳjZԽDw!˒l5%Eŋgb{<o|ShȤ>QZǾgѽ;8;߁> stream xm]L[eϡ:8L7:?Ƅl96> v(:iO?iiA))LH qLF/^x{4xXaz^٫nIiU&ܳ8w+ce;z;R$"n->LPQ$&w{M5ZN٥^<_^.Qm&BUl{Ԕ&USQ_A5hBSMQm.eoZTשko55S\\RaXus7=jZXȈb! .*C}|r8[)Gt .Ռt~(`C"!y";=#U ֎\faNì' `60|FR"bHe_dij1&"Ϗ_]7~hdAHq:BާSày<q)G KtvO3Q7=1 mݡUVtπ8 $'lA&DOs9${xHȣw;>q 0sH#H ]|$BwdI[ZgeL~@B;nBm7AltӷCEg?ATqNf'[q2úzmuhz"t3vO-8vWne _Q~ a gn=-!O 먫( 8ij%kRmM6Vc|1İ}\i_z'|įr/>_DQ_$| krVuKd x,4h޶btI Tr`#s#@mW+HMY}Zv(fg %?@B^T˓k1Ɵ_n 1ؽE7WxVl& ƍ=-t(8]FcH;U-yt()lHp3x(HV|eF/H 2 endstream endobj 326 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 465 >> stream xcd`ab`dd M3 JM/I, f!Cßz N ]|<<,X }O=\1<=9(3=DXWHZ*$U*8)x%&ggg*$(x)34R3sBR#B]܃C53000101g } t9cϙɮ=m]+;\3wwsTa[}?9 rlt'݇9;׵BϾsv,-pӏCE:*}[ͻk9~GsšOO?UoK儿ְ 4s[_sojzy"#t9M\ȶ+KHH<g7޾ 38e'M4Rendstream endobj 327 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 464 >> stream xcd`ab`ddM,M)6 JM/I,If!C N |<<,{8 }^L1<9(3=DXWHZ*$U*8)x%&ggg*$(x)34R3sBR#B]܃C5;U4$(8;(Eg5|k0|/s>%%ݵrޱՖt/!ی݋3y2|yGwCy[~랖qziJά[([`wf7m[Y䶞nɊim3[kmmh뮔^9or_朗reU6gV3'V}o{Rsg5NwjϤ &y3M8Cwendstream endobj 328 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 810 >> stream x]KLauԡBhWB!j4BS|(j*lZJ;} m)R$j|&1.4]!jYqs{{>I% )[s&]P1 aD"\+BuY(MSM-윆tH(]2TҼe99ge5jPWa v?[ުfq).j}z]MU;Xm6xdxV3oT#T(mBHIQ9zCo<|QGB_E0F`rGFI!߶ĹcW<xJ3QgqgQ~Gwus:Q!iwgqY=Rʐ\vXۨa&@73eDO7BF~/w{bkQd+6Xf7 8(~'8"Tp7pQuvy̰;d 4{&Q:V!"ϣ.p1c|*Ofqdf]qRa|:{! ~h -z]p?#4NޮI12z=HfptXڲ70a._ý˝/Uy-?[\#g|tHePuL㎫_ 0IY[Wm2̑U K>|W|jt/=1~?xo7@miendstream endobj 329 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 303 >> stream xcd`ab`ddM,M) JM/I,If!CwwM N =|<<,/^ ={3#cxns~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+kaw&(cC,##5|ek~63~w/3 J+WwW,\н`_~ -ߴm6n9.p{n%=}zz'NówzOoi&Z otendstream endobj 330 0 obj << /Filter /FlateDecode /Length 3743 >> stream x]K9qFb~$E%Rc@`CTc=3Btwuu=~U]H;'w>ݳow{{a>< -lΒNk5<ݰ̌8Ji<EMY=2ᰧ,#/ŰGi0.5o(?Ƙa/ao\"gڈ1c)qtbGq{:Ӝa'>| {̙Ԍt{ '7_›|[#DHΤN@uQRkY*m*If;;ZŔ1HCj !e(L!Uza12C=.cQ<D11+L}Hn1R _{R խY*nPbts80a#$6i:&ݫZ9*6{1"tX=|{wOwݽ?~>la 8ϼ`ᆜ;1/!܂ wno=(,|֠ܽ} ε%@MFQXO5.w8{B^ҨSJxS$Gu%~1mڜ CkPӎtZCaxIXPX)TyscߑXGVGG+Kt[b:(-n*e`mBPJY#7A谦E \g? RA_ClP#Qd:r8'Vl-A%@񳶙6%a%Is+ (UTXDƻιw|ST\+:fWMm٭%8GL6IxXV:+mktkEQI -a Vo`Q& #J'(!t`$:g,B:op݂b:15l (q0Ot<#)L沉O`iN0Jiʰ,E˗o&͜m&;'v`+3z)O9V"ё$d;A:O\` 2د߶=!{Ȁ'\C/pC7Th^{Ġ)jⱃuWJ^"Ҏt%ancf:KSf|dR0kN.*ג 6Nxp`%@X1[#@J?Ąͩ& v{h% 6X Wx-L۔?iZy㏈FKKwB}#aۉQc:^† [/iuXfAhIp؃S GKA ,+?3›AXI:i"H, "ӫL*&M  !g"x[oo'E²2hZ)l֛uOmnQI=xh oʽmS@NydEl[oL(J|\S 韜a YqţYNf s!S$xK9ӫ%~i( ՙNp%k9P11A~RLy|iX+{h;?:ղ ~s<7O\5^c;:զwdVUC Nbl:2.\m]1. .O\ 8V1^6Ux u ؝xo(?S~y(ʟJ~ ?UzG!YyjY,NJ 1%r#ZDn\} 7С^nOn9p|ҝ'@y)L=@et*•xjy !S[եS֩xRxMs+un$S2|S6je&G7j&g  ~pz*U}j :Wwu=mwITrs;I݅|ǴX$Y,JmwL@4mQK뷻N.ڴ::z]tqhXLN/ou9: &^=/G 撐6pAeS=vplsY/HWisYosNPR\{/ 3 | 묌a*;%'(ybmb[k;}3S q"-ݽ/]> stream x\[FmB~Kȴ~!EcFDdbـ@sNUWe{zv׻ ]ԹN!ݭ/t͋i=Qa3x},띟HKUoTslea ~4\ho&WRݞZu{^[M ,} c9#v/nv>ZsO://Xoi%k6y LuR"%~/wgϳ?=1GVvwLZkQۯ'0Io5B5@L0T6.{Ie Щ J:Da~bJࣶ d h5nCf69UD8mD ~/!FaN<)UOS o5n!6P][hCBnun4r:AR䝳TWr7 #̢h"Aݭ5/zxwo #ݏvw6Oh~`O++z)ző%GXH5GXNa˥ε )]Dr7O$oŊU'Dhn8&T Op3zFy0)R T; E i9OgkL2pc-3;fM6V8S 9E'9RI+=}Jߘ;yB`%֝s>@:Fi> }@i }y3.bC?G!ldhϔyG A)\Aǣ{AW~|s2(ؚLQdCNm!RG(rI4BReԀzA#MoӖE.wAX)+AM '2TL'9psn<7;Ћ&HH 9COyp'{Ε/bTk":,qv%>ylԍZˏYއ$܅d X!zH:Fq1T2 IL: Um:b蒌A.Ĵ(QCYx*L`tAAFo/~vN 1*ȴAqݔܯASL:O%t1TP| *Mx4b(yjx1}IŬ3,\8I;e\`e#1 ?(G/Ģ?_%}ebusՃSAs|8dc8MGjslqAtݡN..@lrzQUמ@IxyMQS$6 dA='hM)1'914Rm9H8N pZ>"(YC1T%zkIXE* 4lf#pcnVͪIO#!K'7*OP7 b.\iںM9Z\"'মufhNHӒYKӴYТ t]HN$2|]akX< `,2s4oJ!!ddh $HçjbU r `F*PtÙPZsVs`>24rZ8cnܩ-R\.{ G{728[DzZf׻q,;r2eǗa:!37r"rEMyDY40hA'Vh)xyB'—[AiQPPa]&"՗CB#V-(@f!; aPbNEֈ琀p -m}u ΄jvBW,{L Lhw4>w$VUmu:>+lB/q[^v`O 3-1~ *0 @b%5GDd[ ɂ:Ȓ R h)?C-gl L("Z\#$jkJG0{5SJ`pOSB6Aԩ><>!?V)ns%Mp0c#q}C@M]Մ3̡HiI{2H>z\-+KXClHߧK⤭ǖ|jZjtzDeU({pxN` gnt)Be6>HJyce5. u RN} g; cP6@]dc 2-GQux:8d/ ) Z| > GH~}Ud@&8hoS*㺉KbdbÝHs)~ G*벦0%z"bA ~ݹefO[|Snӓ85$z `Kr҆gPrأ듿ݔZ-͢+[En ԒcybMaܻ)1i ҖoUCձ;@܊k!Kjm]^^ԯu |9 [<뎟*meVf\?ZIG`Aj/-0fZcs؁ـ7q<B)$ak8N Zg9y@!Ketй]NB%p(3R̡1ٔf߶"FDc,ڻjdwDdYDO ti11ͪ?1K.)l )И+E^z!UWl%=߭Ȏ`W[520 ۀ*9B)ySW01 ׂ[!ȵ, Wl`IJ>KxW ]J=^ZE.X9 6cQG#@ɉ2vJ80c(cNpM,{ |Yy/q&{R0\T@P0k{N-`\0[ܸT iV+`]z\q ?י(*%FWowsب{)T u=:tSb 77ª] 9H蘱Sʮj@ 98)9})SIQV ;a{Sw]ʦ\L!B|^!g3< ]^S3FU0𵕿y&YW /}tbe/Ç՛`5/}O@k7-frIJCSΒwsᗙVn`IMdSmJuӽ:}mMt~t*'Lts`z7)40b|p1 _ J,P`(q%k1J,nxW!KgMٓ-_ܿ;MrM|'KMK]LVWL!)F)`~K/xUz6;Q`Q۬ME*:&)6ICN]{v!#&U] & ͝bh!<2!FG-[u:FGam/&K%GB7׫?WXu62|ajgU_9drs}$zd֜7Ssn`9Kи|؛vUܦr天M&eiq:Uendstream endobj 332 0 obj << /Filter /FlateDecode /Length 3433 >> stream x]Y6yJA?Y,^6ł V$g? Ȋ"Eu샜(~X)D) /Ww+Q<]Y"~ysE<}?,(53?lRH\_RkYzg~n5*z+5VW U;, :PCm}MUڬP}tƯR}9filBժTPu~8fI"i~]W^!R8inpfߧ*%[KuC;\AiR–C.竻W74A#[,]+PXM{ֽoo~}!WyGr{a>S?$NVB,GgJj _zCsIY 3 Mt2V&5> s&>VJZ/}IXVg4)'ޕR{kOF u}JCS @taj%1tTk) WJUkt 4}gL)3jMiivtB&STG YN:s LoUvXo|7f4c\!փO(*\ZUY0Smr zTjDhA6:|Β bPAr>AߍN86N(uC.~ӷ*}| d'Urd1nbj|>#׃KA/Ɗ?ݖs]k&;KO |`Hn< "~NPob{-Fa# b}59=WI K\r!/l9֣r{XeA }^ 8YA=N/<ޥ[ a-iugJF#P=I!LH1Vd#`$J y7(SRRD\iUk) iׇGFSah@"ͻuO4͂b$/NFmb|``aeJF~v,6:LĹ Q-*zI.j:8ʭu~dd2j%Ψ[Ўb/Y:Ҿ<Ub/H]r h0 7!25zE(%^lFZAY:y-6ޜd㞶 fe9Gr.ѹ,Mft\AM't~x84~Em|[x~sOhc뀶(R|s٪rvsPϷŗm|[eiHwV瀧;G&I 8W20Ŧ Q/Na9b弌O>96 aM<áxx[ J -"T֖(sO9Ӏ.[sMmoiЉkqd!qZ,hKjdղM*\v0uM/qj<[v},!l**u@4K4M+"!BJ]$-,OԼN c,j$HI[u/>ey]]"UCwI'UO޶z316KM;F99\WG`WK$dAmŐC}3|}[b0T.ES㎙$׺fm]Sq tgV-wS]O22=緩@9&*Z$yk\Y^-  6+%do6,x 07﫜lSnI82rɐr_dS3>kJX`c̲GYJfiY:[&]Y=pdչzđ#:ds:{J;H8Qyq#&y[8PBZb=N1-ŏ9|*&,o7sLhqx@`F>S"TXOڝF%7B~7Yq\=£@l~?o >b81nћ! ,#Ar]w1?1%K>e^eSOεF}Ŏgz+Î˰cU7So*VaV+e`UƌIC~̜~]fi4)XZ բ++&H>'K"!I.$ .z8 Gn~"?G᢯W AitD-{N*_;hI?eG&fEvdiGvDJ gG1w|Ȅ1"p"_uT P[YK^W.endstream endobj 333 0 obj << /Filter /FlateDecode /Length 4404 >> stream x\G EHheW>"!xQ@c|clpTUwO3;gH"飺߯Əl[?o\no=ްͣ ?nW`/<ߞ} g[kn`\㠵z=3ܕ_?*}?g]`e&Kc%R=a^^ F9!zX+ٽ3~w Wbp>4MZWr :q^k;}j3J&}|`tvdzg! 6,Hzw?e%ǽ >H.M̗}_vO8@8.&6B<0J0YNˎ#CO>9(Oo쥅mY/?AJ:`nu-0(,VC,׼1~g҃6lDF" ; ,1fG~66Wvީ48o!|JϏQ`5BQC3eILt`4sVeqMEQ&׻ȼ&*R0 ={.ԇxynw'l\ b()ŬYlk 8OlQV+yRۼ1B)hOŷ 뭽.*;n fdNM1ao3<1K^E7cȨf<̆`!5J>#.g4z8oV՟93<;s#  %B z6<xBh8]DrvCx,imZc g+ p n+#f61ݻ8vЀFkYPݮ{Is!q! hҗ -m.FKl`ྦྷI,oT} 7|`1kY%"59,mVv`8\)m?רMW8ai:[066omwTx8`bCm5GUwXƸr}s?|s=+]پv}lfK Vl5 enw =h$']FJq]0 CͤLNd2 zMg Ţ0i[$|g|W1nVmK]G0-8/OQ*GI;+>(QIW]Q#ʨm4XfA-K7Aل|lM–/J'/$_K=v톄xBq̺W ~^1&$pTy1bMm$_e J o.9IN!)BS:'vŔlq3*=jN~r.9XNj[ZDt5(Q˧\d@ w/m\b ޳ \v: M:r5L)pt{UѻfiHgYIzWRکTJ(gd&qdڮgWTeu4ګ䄨ovV^tsFB "xB5 fjL/u!a6B6E0m2Lϛe[x+Ȓ}J] 0)c.<.+kI9L ~6ܦL{ne[L #-2`1 jLp;$哺b 0xs6dBw)NTu^ SGo׃G.4!E3F% N K8LEQD8iM `7ySě u~QR8~|HdS)T;DhG[46d1lb Bfzd֕7R`5~(eP $%a%7i¯@8nkUkB;_-Im y}P% x˜ ^BǔpQ{jbGq1z4a_lya47) | I͚2! _m/82`]b|bO lcC "PNThB6^# 26$-CS@ Z0 M!szM8 }񴁽5>F+=+oרEpύi94BC75ۘO}-J&Ndl~Q,.cnt ܞmB ≋Ol& %B-m{a^W̄Uz_⧤Bܟm-e_: Ay7.ihLLLr!c#2@qCLh_P3 Zv)%e' sblr2Wrrrl@|.Nj+ŴjTNyɜL@Ɣ*0mvfTgj3NFzk 恳Ѕ ; 3|!׼Ls8B̲nWR*味a"hM{7(,KiMqcEx3_;O_INVwؓś^X%w c m7M`5FNy-8I&XsJ,€_ `*b'ݳfڵ4hu-V1k/O"--xb͔ Cp&9Ttux6Xը6Be4jN{IVNޙ6St j%ṦаgA9 i] U Z hGNXTi(X f ~.[k-4TҔ?'iA)ŕ@xCN43@{\cc /VJʀ&,Qkj&TӦI)ώ:d)BmI>~!Hϗl_nY~:oVC2'MQ/jendstream endobj 334 0 obj << /Filter /FlateDecode /Length 5437 >> stream x]q/KFK h~H`bb$!$S>rca5m /UoW/~=`GVzFWVl(EXIo uK̓ 'y+kQ=$Xc0Bߐ;9ۋ* ~k>kJ5eih A,~ (I([IL3p(oR()|TMI \J=*5SfrEkZ*l^g޷` dsEo6?Kh-GxiQ֠k!UTzhTJ^qӐXU#4g63̀t4F 6SZwBdaU|'QUltTUqo:r%{8bبi1(e ZI:؀mVVRh|- HN c4En?ɾ|)VܕbiMPj]mCrj~2~d3}69N6V=j̬Ynlԝ[0Vq4i$:2m๊`A'J2ӝSmX_km!F KRn`}G8R;E}jS0Hp(t9!]\kjރr7FF JR7(5pƀ31Jx$l̚Il kS=jL%GVv !p *5BViV!h:U4D 1tzYC5BFA#. QΧAT_C[ aByPKLkx,#;P0ldcP~6}]Iaq0l}CAt ^EKD[&jR $kRA3Z%5< &zC[-qib>Yؙ1q:s-v#EL^Ş ,ka ֐cڠً <:u;]il)و?cV{ 02;5@Jx$zd4|x3Ȃf !y)L,V-DSX$A+y&lj`ZIĔPqF8}VaHS' bEv܋m)J(A'Sp aȕn|_ (EaA=ݳi yOTNR xވlj9E)\L}P)Z|l[ @"D PL<AwC_gLEjJ@'w֒ Y~5%CϜr5 VjīN$P i֜GkQ_Σ5>h9?'|l>Orr77 ,hl8i4bvjLiW PqaqL dS׌@&v?aBߊIXKM6boV*:x@g&OJC_²Y5 >n:(#K 9s@Vnltnur`/hwt`@.^80%N- A+lmT2أ`/[2PļZ1-Es5@U kR4g t`ohܢ$V ԁ#2&?[Kb̄}Sɠ@ų ڷA}E#2Hc#qlEC[:e}&NmCƠ*0E`0u 0 -!ec7>%%kQ'%/c*E?szOZlGie=e ` XĪ26Q (K7n.Y2+ꦣ =otTp15)>lDLƓ I5P'Hs*F:H*ԺN4 #q]W1@(/p2}aL@g0Z3b ^/MG- LHcwHJNGz;I7b^3(Xk(oI(lR@Bl *64dZvFhe;f^F.-7$2Zq%9yR`rQYa һT Dycq~`^C{;5[窓W3+J NJ.f GwiڬmkẒru}=k~Ft+d(l,Ba 3iWtHS&k yf?8;wqf63؀8dwtH7[=%vx˩!XSCҙ ~"=tCEBfz·= .S!ykw6J/rnB™_Lv7h8MN-ݶ~ b tW9  ]Y9SeO-gFuOf(z tgtySu>D<s B򙐚g#e/;.a MZ*]%+lu␹@4dfґYX2wHFam{mv\ eIIm+R^zv'{RfhY=koWOYNJ}456t4ly7*tvԮ=/, >(fAM .KyeIB{P61},,L79o*O_b>YyŁ5XhlPU`:̻X* &0)}^RpcV4 Kؓi`LH1{[WQD5l-7ha4[:=ngS*ȿEZQ9v`4u3{3l. ^ H ,PU#V˂nAӝ9$9O 4ݵ`g= x3ٮ 2f ZVbj@>|,f$d5K'cRץ zȐlJV (Bԋ>Z=PD&WO/O sߩ̷(PLXK,rjjb{R'_qPX#k{`X88͗_+5Fr X:IK ΣcGH{<IJD:Y };`X 9+O/5tZ]J>"[㒝\΍LB4D|S%KJS W:V_7N#'.$;d6uvo?Ji[+Ej>uAGR1xK;E3v<8j3繙u:QD/{%;:L'_a)0j:M:i@l\}rZmhW:8} brm cѱ0鉤%w>|sm;l?9=MW+=e2x2`ܗKj<BnYzOX iq9J.KXgaZ[cqrzGF-;oh-7Ie=b2[,LUUz X;c՛/RSm\zO> stream x\I6r Ɨ`|rOiq_$e AA~Om|m4Wߑn-jZg6w{LKhౕpyG[k5?`VݞZuswGdwU0^]h5yoQk1gڸfaV͛!gڈcX)%ĭ$ygg7іFdcwx)cfdpPrZPfS78 PGchԴ~i6 ߘʭna5-- 5> 0aOuD,oqKݖhHng5ɴHUL noc ٝ} o>4ؽ9b v'TmU/; 2ə,Z܎XSb}ęwv{AAz)RRH)S6,Yn4NMu;ɸE(%J.MB*k @H8 EIE֩H"ʎ%q!o&2T v@hHq`gU/V}͑K-ErkMAXYD*Ke/9pFZ P1Mq-LZ+ʓ)GHJSCxDCInJ\"٢xs0ֈu˿sd=iݖq l5#}wsgO?\n6wn?l  {h+/a͹kw?<\0wχ~B"hC @ (3FDBZ5_=fG Cمݢ3?E\K["t7 ;㱡|>}C\cЦ2I#HYmaˮ?wF# +;( xzAPю^hX`+-ŜUIَ tbPܧH$.xJ>w icLlS6:ku441AH76DE`QٛBl` y@Պ6v!ag# SDf)]䋚}NϬ Cs^GF;KXD)6sjV둈,e ~d@QTJI$ɜLly `V=" ?ߤUlWWfnlX8ծe!JV[-(:^0V j # VkЗ=?X2Ĵޠ~cDj{#'$8 -B=)L))WyPt^ O-׊y^UfOM Knɞ[ \gA&K NA8QiR9%Ƌsjt39$MSCe  ϓTbn ut/d<}H] hQ\.M@vx9Ra|W9SnvĤ"Qfi=L8߁sQdR/q*D+ӄkNtnTM6Cx֫0l,[MjGqD m;}d`&Kϡ4A\z"qOGq_c8JV["ҽa1=RBVgŬ?*d]$↷Y?0Gq'eҞJ\>/菹0{~Q/d'R2$}Q`&&ab:>͌yѿŤR~L1rIkc[B?8'FX;q7eYa=\+H:qqYȊJ$l Gg Ej;G8c.?  fi',"FA{ h+5+I8^_~Xd!Rߋ=‰mNڼYί:сN+U+UhbP@joW2>V)1vpU.a0OHm9 J8*Q@D")q)B 㴖1:LKfE~b-2TPRKYEd;u 2"&IRV$yu@YJ꭪8m*|.@n xX7G#}A]MiX)p}1rK@+N0Xp 8bki%:8hEpѮjB͚GQ@%\:C//4c:pؔ7R7Ǘǀ݌'(X`&[Qz[wBQS_ :YӔE/Rkp(X[G!8בP%ATFFR(f 9T̫(Kq72g$4>J$KT<$ǗQst[Y;)/F6aj3t WM煗fnD{ANjJd;ER.ȹvJnʐvn\p1_ 1݇'Lu?z3qʯ yB 綡*KdwSp:OZUC  /:j)\֑X)n R nfBGFrZBdw:(#/ XW}U`3Ҭ m'6``6F}&P<rP^zT9 Jj4jtkUq5d3<0F"Ty[y?3]?r a\7߉L]hG17ORrI?5i*yTJ}q\Blȩ!( ~dVv,*+\eG|>r 8-,PbW*Ui8W12&8YHCAt5w$4SO!d(uTvP^/c(7}]auJv/T𑯊8}jaqZm~veZ\sj'M.N鴊qgNt0Ws/O^ex {Xc^{I6_$!ື%p kn*:J+f/; BNc x: DxYa$ּ(wjAyE+Re}T/;!qx>LiTD3ĸ|Za`[5j 㧃mjaTKPYJ|]Iw=r%5 px;YY$/)M֢N_KP)0wzџ}Lrj1.R+LUr:/ MxRO)wCeȤW/BY& 4D ˩U7k+׾%o/9NSE;A6TEc^_U0*_s֠4ԙD4jendstream endobj 336 0 obj << /Filter /FlateDecode /Length 589 >> stream xMo027[(3|NTTU(D9Q!Q8ͪM]PrH6̞vM]rGIG7`^Ě*Cw&'Q [85&(~H*=~?) d񻡇(UZ3m,V(b^db̿(Wmס'- NY%fQ-V"juYNˎS~7< BLj: M ShMK:/f"Z5 N?X6ϣ2r1X՜iDMjtR2KVL*V8u+Kr,ʁh) Ype|.A2hgk\u(Q㢙kGiɴKv"- dIVLL= B.!K'?DCv+b2SWVؙ݀rE }sbTnJM!F2\v`^pK9bneyҬ0R&{>kDM-gmzLcw %%5ѭA^{҄{i6`rw&^bg>{ew`}endstream endobj 337 0 obj << /Type /XRef /Length 345 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 338 /ID [<4ae8d72f2073d8bbf0955773ec65c219>] >> stream x+q3.vgbkRnrsprBIIV%E(lr:~?4šmؖ1Qil)eγ%9_E>-'Y4m}5uY,VފbAl^Ƴ]t^DE>EvPD+fKD܋MX_Qj/?91)&< b;ߡ3#S˛Mw#95jMKp5aYK\3,Qb9L}ATJl>8$s"ȣ9g bi؃fy'=fc2316!FA endstream endobj startxref 375516 %%EOF bridgesampling/inst/doc/bridgesampling_example_jags.html0000644000176200001440000010051413610011141023344 0ustar liggesusers Hierarchical Normal Example (JAGS)

Hierarchical Normal Example (JAGS)

Quentin F. Gronau

2020-01-16

In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in JAGS. This vignette uses the same models and data as the Stan vignette.

Model and Data

The model that we will use assumes that each of the \(n\) observations \(y_i\) (where \(i\) indexes the observation, \(i = 1,2,...,n\)) is normally distributed with corresponding mean \(\theta_i\) and a common known variance \(\sigma^2\): \(y_i \sim \mathcal{N}(\theta_i, \sigma^2)\). Each \(\theta_i\) is drawn from a normal group-level distribution with mean \(\mu\) and variance \(\tau^2\): \(\theta_i \sim \mathcal{N}(\mu, \tau^2)\). For the group-level mean \(\mu\), we use a normal prior distribution of the form \(\mathcal{N}(\mu_0, \tau^2_0)\). For the group-level variance \(\tau^2\), we use an inverse-gamma prior of the form \(\text{Inv-Gamma}(\alpha, \beta)\). We will use JAGS to fit the model which parametrizes the normal distribution in terms of the precision (i.e., one over the variance). Consequently, we implement this inverse-gamma prior on \(\tau^2\) by placing a gamma prior of the form \(\text{Gamma}(\alpha, \beta)\) on the precision; we call this precision parameter invTau2 in the code.

In this example, we are interested in comparing the null model \(\mathcal{H}_0\), which posits that the group-level mean \(\mu = 0\), to the alternative model \(\mathcal{H}_1\), which allows \(\mu\) to be different from zero. First, we generate some data from the null model:

library(bridgesampling)

### generate data ###
set.seed(12345)

mu <- 0
tau2 <- 0.5
sigma2 <- 1

n <- 20
theta <- rnorm(n, mu, sqrt(tau2))
y <- rnorm(n, theta, sqrt(sigma2))

Next, we specify the prior parameters \(\mu_0\), \(\tau^2_0\), \(\alpha\), and \(\beta\):

### set prior parameters ###
mu0 <- 0
tau20 <- 1
alpha <- 1
beta <- 1

Fitting the Models

Now we can fit the null and the alternative model in JAGS (note that it is necessary to install JAGS for this). One usually requires a larger number of posterior sample for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples (i.e., 50,000 post burn-in samples per chain) for this comparatively simple model.

library(R2jags)

### functions to get posterior samples ###

# H0: mu = 0
getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) {
  
  model <- "
    model {
      for (i in 1:n) {
        theta[i] ~ dnorm(0, invTau2)
          y[i] ~ dnorm(theta[i], 1/sigma2)
      }
      invTau2 ~ dgamma(alpha, beta)
      tau2 <- 1/invTau2
    }"
  
  s <- jags(data, parameters.to.save = c("theta", "invTau2"),
            model.file = textConnection(model),
            n.chains = nchains, n.iter = niter,
            n.burnin = nburnin, n.thin = 1)
  
  return(s)
  
}

# H1: mu != 0
getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000,
                              nchains = 3) {
  
  model <- "
    model {
      for (i in 1:n) {
        theta[i] ~ dnorm(mu, invTau2)
        y[i] ~ dnorm(theta[i], 1/sigma2)
      }
      mu ~ dnorm(mu0, 1/tau20)
      invTau2 ~ dgamma(alpha, beta)
      tau2 <- 1/invTau2
    }"
  
  s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"),
            model.file = textConnection(model),
            n.chains = nchains, n.iter = niter,
            n.burnin = nburnin, n.thin = 1)
  
  return(s)
  
}

### get posterior samples ###

# create data lists for JAGS
data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2)
data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha,
                beta = beta, sigma2 = sigma2)

# fit models
samples_H0 <- getSamplesModelH0(data_H0)
samples_H1 <- getSamplesModelH1(data_H1)

Specifying the Unnormalized Log Posterior Function

The next step is to write the corresponding log_posterior (i.e., unnormalized posterior) function for both models. This function takes one draw from the joint posterior and the data object as input and returns the log of the unnormalized joint posterior density. When using MCMC software such as JAGS or Stan, specifying this function is relatively simple. As a rule of thumb, one only needs to look for all places where a “~” sign appears in the model code. The log of the densities on the right-hand side of these “~” symbols needs to be evaluated for the relevant quantities and then these log densities values are summed.

For example, in the null model, there are three “~” signs. Starting at the data-level, we need to evaluate the log of the normal density with mean \(\theta_i\) and variance \(\sigma^2\) for all \(y_i\) and then sum the resulting log density values. Next, we move one step up in the model and evaluate the log of the group-level density for all \(\theta_i\). Hence, we evaluate the log of the normal density for \(\theta_i\) with mean \(\mu = 0\) and variance \(\tau^2\) (remember that JAGS parametrizes the normal distribution in terms of the precision invTau2 = \(1/\tau^2\); in contrast, R parametrizes it in terms of the standard deviation) and sum the resulting log density values. The result of this summation is added to the result of the previous summation for the data-level normal distribution. Finally, we need to evaluate the log of the prior density for invTau2. This means that we compute the log density of the gamma distribution with parameters \(\alpha\) and \(\beta\) for the sampled invTau2 value and add the resulting log density value to the result of summing the data-level and group-level log densities. The unnormalized log posterior for the alternative model can be obtained in a similar fashion. The resulting functions look as follows:

### functions for evaluating the unnormalized posteriors on log scale ###

log_posterior_H0 <- function(samples.row, data) {
  
  mu <- 0
  invTau2 <- samples.row[[ "invTau2" ]]
  theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ]
  
  sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) +
    sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) +
    dgamma(invTau2, data$alpha, data$beta, log = TRUE)
  
}

log_posterior_H1 <- function(samples.row, data) {
  
  mu <- samples.row[[ "mu" ]]
  invTau2 <- samples.row[[ "invTau2" ]]
  theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ]
  
  sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) +
    sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) +
    dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) +
    dgamma(invTau2, data$alpha, data$beta, log = TRUE)
  
}

Specifying the Parameter Bounds

The final step before computing the log marginal likelihoods is to specify the parameter bounds. In this example, for both models, all parameters can range from \(-\infty\) to \(\infty\) except the precision invTau2 which has a lower bound of zero. These boundary vectors need to be named and the names need to match the order of the parameters.

# specify parameter bounds H0
cn <- colnames(samples_H0$BUGSoutput$sims.matrix)
cn <- cn[cn != "deviance"]
lb_H0 <- rep(-Inf, length(cn))
ub_H0 <- rep(Inf, length(cn))
names(lb_H0) <- names(ub_H0) <- cn
lb_H0[[ "invTau2" ]] <- 0

# specify parameter bounds H1
cn <- colnames(samples_H1$BUGSoutput$sims.matrix)
cn <- cn[cn != "deviance"]
lb_H1 <- rep(-Inf, length(cn))
ub_H1 <- rep(Inf, length(cn))
names(lb_H1) <- names(ub_H1) <- cn
lb_H1[[ "invTau2" ]] <- 0

Note that currently, the lower and upper bound of a parameter cannot be a function of the bounds of another parameter. Furthermore, constraints that depend on multiple parameters of the model are not supported. This excludes, for example, parameters that constitute a covariance matrix or sets of parameters that need to sum to one.

Computing the (Log) Marginal Likelihoods

Now we are ready to compute the log marginal likelihoods using the bridge_sampler function. We use silent = TRUE to suppress printing the number of iterations to the console:

# compute log marginal likelihood via bridge sampling for H0
H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0,
                            log_posterior = log_posterior_H0, lb = lb_H0,
                            ub = ub_H0, silent = TRUE)

# compute log marginal likelihood via bridge sampling for H1
H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1,
                            log_posterior = log_posterior_H1, lb = lb_H1,
                            ub = ub_H1, silent = TRUE)

We obtain:

print(H0.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.53235
## Estimate obtained in 4 iteration(s) via method "normal".
print(H1.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.79776
## Estimate obtained in 5 iteration(s) via method "normal".

We can use the error_measures function to compute an approximate percentage error of the estimates:

# compute percentage errors
H0.error <- error_measures(H0.bridge)$percentage
H1.error <- error_measures(H1.bridge)$percentage

We obtain:

print(H0.error)
## [1] "0.144%"
print(H1.error)
## [1] "0.162%"

Bayesian Model Comparison

To compare the null model and the alternative model, we can compute the Bayes factor by using the bf function. In our case, we compute \(\text{BF}_{01}\), that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model:

# compute Bayes factor
BF01 <- bf(H0.bridge, H1.bridge)
print(BF01)
## Estimated Bayes factor in favor of H0.bridge over H1.bridge: 1.30396

In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the post_prob function:

# compute posterior model probabilities (assuming equal prior model probabilities)
post1 <- post_prob(H0.bridge, H1.bridge)
print(post1)
## H0.bridge H1.bridge 
## 0.5659652 0.4340348

When the argument prior_prob is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the prior_prob argument to specify different prior model probabilities:

# compute posterior model probabilities (using user-specified prior model probabilities)
post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4))
print(post2)
## H0.bridge H1.bridge 
## 0.6616986 0.3383014
bridgesampling/inst/doc/bridgesampling_stan_ttest.Rmd0000644000176200001440000002073513360614034022675 0ustar liggesusers--- title: "Bayesian One-Sample T-Test (Stan)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Bayesian One-Sample T-Test Stan} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how we can compute the (log) marginal likelihood and the Bayes factor for models fitted in `Stan`. This approach has the advantage that the user only needs to pass the fitted `stanfit` object which contains all information that is necessary to compute the (log) marginal likelihood. Here we show how one can conduct a Bayesian one-sample t-test as implemented in the `BayesFactor` package (Morey & Rouder, 2015). ## Model The Bayesian one-sample t-test makes the assumption that the observations are normally distributed with mean $\mu$ and variance $\sigma^2$. The model is then reparametrized in terms of the standardized effect size $\delta = \mu/\sigma$. For the standardized effect size, a Cauchy prior with location zero and scale $r = 1/\sqrt{2}$ is used. For the variance $\sigma^2$, Jeffreys's prior is used: $p(\sigma^2) \propto 1/\sigma^2$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the effect size $\delta$ is zero, to the alternative hypothesis $\mathcal{H}_1$, which assigns $\delta$ the above described Cauchy prior. ## Data In this example, we will analyze the `sleep` data set from the `t.test` example. This data set shows the effect of two soporific drugs (increase in hours of sleep compared to control) on 10 patients. These data can be analyzed via a one-sample t-test by first computing the difference scores and then conducting the t-test using these difference scores as data. The difference scores are calculated as follows: ```{r} library(bridgesampling) set.seed(12345) # Sleep data from t.test example data(sleep) # compute difference scores y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1] n <- length(y) ``` ## Specifying the Models Next, we implement the models in `Stan`. Note that to compute the (log) marginal likelihood for a `Stan` model, we need to specify the model in a certain way. Instad of using `"~"` signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the `"~"` sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing `y ~ normal(mu, sigma)` we would need to write `target += normal_lpdf(y | mu, sigma)`. The models can then be specified and compiled as follows (note that it is necessary to install `rstan` for this): ```{r, eval=FALSE} library(rstan) # models stancodeH0 <- ' data { int n; // number of observations vector[n] y; // observations } parameters { real sigma2; // variance parameter } model { target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood } ' stancodeH1 <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ``` ## Fitting the Models Now we can fit the null and the alternative model in `Stan`. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 20000, warmup = 1000, chains = 4, cores = 1, control = list(adapt_delta = .99)) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the `stanfit` objects which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_stan_ttest.RData", package = "bridgesampling")) ``` ```{r, eval=FALSE} H0 <- bridge_sampler(stanfitH0, silent = TRUE) H1 <- bridge_sampler(stanfitH1, silent = TRUE) ``` We obtain: ```{r} print(H0) print(H1) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0)$percentage H1.error <- error_measures(H1)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Computing the Bayes Factor To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{10}$, that is, the Bayes factor which quantifies how much more likely the data are under the alternative versus the null hypothesis: ```{r} # compute Bayes factor BF10 <- bf(H1, H0) print(BF10) ``` We can compare the bridge sampling result to the `BayesFactor` package result: ```{r, eval=FALSE} library(BayesFactor) BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE) ``` We obtain: ```{r, message=FALSE} print(BF10.BayesFactor) ``` ## One-sided Test We can also conduct one-sided tests. For instance, we could test the hypothesis that the effect size is positive versus the null hypothesis. Since we already fitted the null model and computed its marginal likelihood, we only need to slightly adjust the alternative model to reflect the directed hypothesis. To achieve this, we need to truncate the Cauchy prior distribution for $\delta$ at zero and then renormalize the (log) density. This is easily achieved via the `Stan` function `cauchy_lccdf` which corresponds to the log of the complementary cumulative distribution function of the Cauchy distribution. Thus, `cauchy_lccdf(0 | 0, r)` gives us the log of the area greater than zero which is required for renormalizing the truncated Cauchy prior. The model can then be specified and fitted as follows: ```{r, eval=FALSE} stancodeHplus <- ' data { int n; // number of observations vector[n] y; // observations real r; // Cauchy prior scale } parameters { real delta; // constrained to be positive real sigma2;// variance parameter } model { target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta target += log(1/sigma2); // Jeffreys prior on sigma2 target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood } ' # compile and fit model stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel") stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)), iter = 30000, warmup = 1000, chains = 4, control = list(adapt_delta = .99)) ``` The (log) marginal likelihood is then computed as follows: ```{r,eval=FALSE} Hplus <- bridge_sampler(stanfitHplus, silent = TRUE) ``` We obtain: ```{r} print(Hplus) ``` We can again use the `error_measures` function to compute an approximate percentage error of the estimate: ```{r,eval=FALSE} Hplus.error <- error_measures(Hplus)$percentage ``` We obtain: ```{r} print(Hplus.error) ``` The one-sided Bayes factor in favor of a positive effect versus the null hypothesis can be computed as follows: ```{r} # compute Bayes factor BFplus0 <- bf(Hplus, H0) print(BFplus0) ``` We can compare the bridge sampling result to the `BayesFactor` package result: ```{r, eval=FALSE} BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE)[1] ``` We obtain: ```{r} print(BFplus0.BayesFactor) ``` ## References Richard D. Morey and Jeffrey N. Rouder (2015). BayesFactor: Computation of Bayes Factors for Common Designs. R package version 0.9.12-2. \url{https://CRAN.R-project.org/package=BayesFactor} bridgesampling/inst/doc/bridgesampling_example_jags.R0000644000176200001440000001306113610011141022601 0ustar liggesusers## ----------------------------------------------------------------------------- library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ## ----eval=FALSE--------------------------------------------------------------- # ### set prior parameters ### # mu0 <- 0 # tau20 <- 1 # alpha <- 1 # beta <- 1 ## ---- eval=FALSE-------------------------------------------------------------- # library(R2jags) # # ### functions to get posterior samples ### # # # H0: mu = 0 # getSamplesModelH0 <- function(data, niter = 52000, nburnin = 2000, nchains = 3) { # # model <- " # model { # for (i in 1:n) { # theta[i] ~ dnorm(0, invTau2) # y[i] ~ dnorm(theta[i], 1/sigma2) # } # invTau2 ~ dgamma(alpha, beta) # tau2 <- 1/invTau2 # }" # # s <- jags(data, parameters.to.save = c("theta", "invTau2"), # model.file = textConnection(model), # n.chains = nchains, n.iter = niter, # n.burnin = nburnin, n.thin = 1) # # return(s) # # } # # # H1: mu != 0 # getSamplesModelH1 <- function(data, niter = 52000, nburnin = 2000, # nchains = 3) { # # model <- " # model { # for (i in 1:n) { # theta[i] ~ dnorm(mu, invTau2) # y[i] ~ dnorm(theta[i], 1/sigma2) # } # mu ~ dnorm(mu0, 1/tau20) # invTau2 ~ dgamma(alpha, beta) # tau2 <- 1/invTau2 # }" # # s <- jags(data, parameters.to.save = c("theta", "mu", "invTau2"), # model.file = textConnection(model), # n.chains = nchains, n.iter = niter, # n.burnin = nburnin, n.thin = 1) # # return(s) # # } # # ### get posterior samples ### # # # create data lists for JAGS # data_H0 <- list(y = y, n = length(y), alpha = alpha, beta = beta, sigma2 = sigma2) # data_H1 <- list(y = y, n = length(y), mu0 = mu0, tau20 = tau20, alpha = alpha, # beta = beta, sigma2 = sigma2) # # # fit models # samples_H0 <- getSamplesModelH0(data_H0) # samples_H1 <- getSamplesModelH1(data_H1) # ## ----eval=FALSE--------------------------------------------------------------- # ### functions for evaluating the unnormalized posteriors on log scale ### # # log_posterior_H0 <- function(samples.row, data) { # # mu <- 0 # invTau2 <- samples.row[[ "invTau2" ]] # theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] # # sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + # sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + # dgamma(invTau2, data$alpha, data$beta, log = TRUE) # # } # # log_posterior_H1 <- function(samples.row, data) { # # mu <- samples.row[[ "mu" ]] # invTau2 <- samples.row[[ "invTau2" ]] # theta <- samples.row[ paste0("theta[", seq_along(data$y), "]") ] # # sum(dnorm(data$y, theta, data$sigma2, log = TRUE)) + # sum(dnorm(theta, mu, 1/sqrt(invTau2), log = TRUE)) + # dnorm(mu, data$mu0, sqrt(data$tau20), log = TRUE) + # dgamma(invTau2, data$alpha, data$beta, log = TRUE) # # } # ## ----eval=FALSE--------------------------------------------------------------- # # specify parameter bounds H0 # cn <- colnames(samples_H0$BUGSoutput$sims.matrix) # cn <- cn[cn != "deviance"] # lb_H0 <- rep(-Inf, length(cn)) # ub_H0 <- rep(Inf, length(cn)) # names(lb_H0) <- names(ub_H0) <- cn # lb_H0[[ "invTau2" ]] <- 0 # # # specify parameter bounds H1 # cn <- colnames(samples_H1$BUGSoutput$sims.matrix) # cn <- cn[cn != "deviance"] # lb_H1 <- rep(-Inf, length(cn)) # ub_H1 <- rep(Inf, length(cn)) # names(lb_H1) <- names(ub_H1) <- cn # lb_H1[[ "invTau2" ]] <- 0 ## ---- echo=FALSE-------------------------------------------------------------- load(system.file("extdata/", "vignette_example_jags.RData", package = "bridgesampling")) ## ----eval=FALSE--------------------------------------------------------------- # # compute log marginal likelihood via bridge sampling for H0 # H0.bridge <- bridge_sampler(samples = samples_H0, data = data_H0, # log_posterior = log_posterior_H0, lb = lb_H0, # ub = ub_H0, silent = TRUE) # # # compute log marginal likelihood via bridge sampling for H1 # H1.bridge <- bridge_sampler(samples = samples_H1, data = data_H1, # log_posterior = log_posterior_H1, lb = lb_H1, # ub = ub_H1, silent = TRUE) ## ----------------------------------------------------------------------------- print(H0.bridge) print(H1.bridge) ## ----eval=FALSE--------------------------------------------------------------- # # compute percentage errors # H0.error <- error_measures(H0.bridge)$percentage # H1.error <- error_measures(H1.bridge)$percentage ## ----------------------------------------------------------------------------- print(H0.error) print(H1.error) ## ----------------------------------------------------------------------------- # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ## ----------------------------------------------------------------------------- # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ## ----------------------------------------------------------------------------- # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) bridgesampling/inst/doc/bridgesampling_example_stan.Rmd0000644000176200001440000001607513360614034023167 0ustar liggesusers--- title: "Hierarchical Normal Example (Stan)" author: "Quentin F. Gronau" date: "`r Sys.Date()`" show_toc: true output: knitr:::html_vignette: toc: yes vignette: > %\VignetteIndexEntry{Hierarchical Normal Example Stan} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in `Stan`. This vignette uses the same models and data as the [`Jags` vignette](bridgesampling_example_jags.html). ## Model and Data The model that we will use assumes that each of the $n$ observations $y_i$ (where $i$ indexes the observation, $i = 1,2,...,n$) is normally distributed with corresponding mean $\theta_i$ and a common known variance $\sigma^2$: $y_i \sim \mathcal{N}(\theta_i, \sigma^2)$. Each $\theta_i$ is drawn from a normal group-level distribution with mean $\mu$ and variance $\tau^2$: $\theta_i \sim \mathcal{N}(\mu, \tau^2)$. For the group-level mean $\mu$, we use a normal prior distribution of the form $\mathcal{N}(\mu_0, \tau^2_0)$. For the group-level variance $\tau^2$, we use an inverse-gamma prior of the form $\text{Inv-Gamma}(\alpha, \beta)$. In this example, we are interested in comparing the null model $\mathcal{H}_0$, which posits that the group-level mean $\mu = 0$, to the alternative model $\mathcal{H}_1$, which allows $\mu$ to be different from zero. First, we generate some data from the null model: ```{r} library(bridgesampling) ### generate data ### set.seed(12345) mu <- 0 tau2 <- 0.5 sigma2 <- 1 n <- 20 theta <- rnorm(n, mu, sqrt(tau2)) y <- rnorm(n, theta, sqrt(sigma2)) ``` Next, we specify the prior parameters $\mu_0$, $\tau^2_0$, $\alpha$, and $\beta$: ```{r,eval=FALSE} ### set prior parameters ### mu0 <- 0 tau20 <- 1 alpha <- 1 beta <- 1 ``` ## Specifying the Models Next, we implement the models in `Stan`. Note that to compute the (log) marginal likelihood for a `Stan` model, we need to specify the model in a certain way. Instad of using `"~"` signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the `"~"` sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing `y ~ normal(mu, sigma)` we would need to write `target += normal_lpdf(y | mu, sigma)`. The models can then be specified and compiled as follows (note that it is necessary to install `rstan` for this): ```{r, eval=FALSE} library(rstan) # models stancodeH0 <- 'data { int n; // number of observations vector[n] y; // observations real alpha; real beta; real sigma2; } parameters { real tau2; // group-level variance vector[n] theta; // participant effects } model { target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | 0, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' stancodeH1 <- 'data { int n; // number of observations vector[n] y; // observations real mu0; real tau20; real alpha; real beta; real sigma2; } parameters { real mu; real tau2; // group-level variance vector[n] theta; // participant effects } model { target += normal_lpdf(mu | mu0, sqrt(tau20)); target += inv_gamma_lpdf(tau2 | alpha, beta); target += normal_lpdf(theta | mu, sqrt(tau2)); target += normal_lpdf(y | theta, sqrt(sigma2)); } ' # compile models stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ``` ## Fitting the Models Now we can fit the null and the alternative model in `Stan`. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models. ```{r, eval=FALSE} # fit models stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, mu0 = mu0, tau20 = tau20, alpha = alpha, beta = beta, sigma2 = sigma2), iter = 50000, warmup = 1000, chains = 3, cores = 1) ``` ## Computing the (Log) Marginal Likelihoods Computing the (log) marginal likelihoods via the `bridge_sampler` function is now easy: we only need to pass the `stanfit` objects which contain all information necessary. We use `silent = TRUE` to suppress printing the number of iterations to the console: ```{r, echo=FALSE} load(system.file("extdata/", "vignette_example_stan.RData", package = "bridgesampling")) ``` ```{r,eval=FALSE} # compute log marginal likelihood via bridge sampling for H0 H0.bridge <- bridge_sampler(stanfitH0, silent = TRUE) # compute log marginal likelihood via bridge sampling for H1 H1.bridge <- bridge_sampler(stanfitH1, silent = TRUE) ``` We obtain: ```{r} print(H0.bridge) print(H1.bridge) ``` We can use the `error_measures` function to compute an approximate percentage error of the estimates: ```{r,eval=FALSE} # compute percentage errors H0.error <- error_measures(H0.bridge)$percentage H1.error <- error_measures(H1.bridge)$percentage ``` We obtain: ```{r} print(H0.error) print(H1.error) ``` ## Bayesian Model Comparison To compare the null model and the alternative model, we can compute the Bayes factor by using the `bf` function. In our case, we compute $\text{BF}_{01}$, that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model: ```{r} # compute Bayes factor BF01 <- bf(H0.bridge, H1.bridge) print(BF01) ``` In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the `post_prob` function: ```{r} # compute posterior model probabilities (assuming equal prior model probabilities) post1 <- post_prob(H0.bridge, H1.bridge) print(post1) ``` When the argument `prior_prob` is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the `prior_prob` argument to specify different prior model probabilities: ```{r} # compute posterior model probabilities (using user-specified prior model probabilities) post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4)) print(post2) ``` bridgesampling/inst/doc/bridgesampling_example_stan.html0000644000176200001440000006107013610011143023372 0ustar liggesusers Hierarchical Normal Example (Stan)

Hierarchical Normal Example (Stan)

Quentin F. Gronau

2020-01-16

In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in Stan. This vignette uses the same models and data as the Jags vignette.

Model and Data

The model that we will use assumes that each of the \(n\) observations \(y_i\) (where \(i\) indexes the observation, \(i = 1,2,...,n\)) is normally distributed with corresponding mean \(\theta_i\) and a common known variance \(\sigma^2\): \(y_i \sim \mathcal{N}(\theta_i, \sigma^2)\). Each \(\theta_i\) is drawn from a normal group-level distribution with mean \(\mu\) and variance \(\tau^2\): \(\theta_i \sim \mathcal{N}(\mu, \tau^2)\). For the group-level mean \(\mu\), we use a normal prior distribution of the form \(\mathcal{N}(\mu_0, \tau^2_0)\). For the group-level variance \(\tau^2\), we use an inverse-gamma prior of the form \(\text{Inv-Gamma}(\alpha, \beta)\).

In this example, we are interested in comparing the null model \(\mathcal{H}_0\), which posits that the group-level mean \(\mu = 0\), to the alternative model \(\mathcal{H}_1\), which allows \(\mu\) to be different from zero. First, we generate some data from the null model:

library(bridgesampling)

### generate data ###
set.seed(12345)

mu <- 0
tau2 <- 0.5
sigma2 <- 1

n <- 20
theta <- rnorm(n, mu, sqrt(tau2))
y <- rnorm(n, theta, sqrt(sigma2))

Next, we specify the prior parameters \(\mu_0\), \(\tau^2_0\), \(\alpha\), and \(\beta\):

### set prior parameters ###
mu0 <- 0
tau20 <- 1
alpha <- 1
beta <- 1

Specifying the Models

Next, we implement the models in Stan. Note that to compute the (log) marginal likelihood for a Stan model, we need to specify the model in a certain way. Instad of using "~" signs for specifying distributions, we need to directly use the (log) density functions. The reason for this is that when using the "~" sign, constant terms are dropped which are not needed for sampling from the posterior. However, for computing the marginal likelihood, these constants need to be retained. For instance, instead of writing y ~ normal(mu, sigma) we would need to write target += normal_lpdf(y | mu, sigma). The models can then be specified and compiled as follows (note that it is necessary to install rstan for this):

library(rstan)

# models
stancodeH0 <- 'data {
  int<lower=1> n; // number of observations
  vector[n] y; // observations
  real<lower=0> alpha;
  real<lower=0> beta;
  real<lower=0> sigma2;
}
parameters {
  real<lower=0> tau2; // group-level variance
  vector[n] theta; // participant effects
}
model {
  target += inv_gamma_lpdf(tau2 | alpha, beta);
  target += normal_lpdf(theta | 0, sqrt(tau2));
  target += normal_lpdf(y | theta, sqrt(sigma2));
}
'
stancodeH1 <- 'data {
  int<lower=1> n; // number of observations
  vector[n] y; // observations
  real mu0;
  real<lower=0> tau20;
  real<lower=0> alpha;
  real<lower=0> beta;
  real<lower=0> sigma2;
}
parameters {
  real mu;
  real<lower=0> tau2; // group-level variance
  vector[n] theta; // participant effects
}
model {
  target += normal_lpdf(mu | mu0, sqrt(tau20));
  target += inv_gamma_lpdf(tau2 | alpha, beta);
  target += normal_lpdf(theta | mu, sqrt(tau2));
  target += normal_lpdf(y | theta, sqrt(sigma2));
}
'
# compile models
stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel")
stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel")

Fitting the Models

Now we can fit the null and the alternative model in Stan. One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models.

# fit models
stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n,
                                               alpha = alpha,
                                               beta = beta,
                                               sigma2 = sigma2),
                      iter = 50000, warmup = 1000, chains = 3, cores = 1)
stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n,
                                               mu0 = mu0,
                                               tau20 = tau20,
                                               alpha = alpha,
                                               beta = beta,
                                               sigma2 = sigma2),
                      iter = 50000, warmup = 1000, chains = 3, cores = 1)

Computing the (Log) Marginal Likelihoods

Computing the (log) marginal likelihoods via the bridge_sampler function is now easy: we only need to pass the stanfit objects which contain all information necessary. We use silent = TRUE to suppress printing the number of iterations to the console:

# compute log marginal likelihood via bridge sampling for H0
H0.bridge <- bridge_sampler(stanfitH0, silent = TRUE)

# compute log marginal likelihood via bridge sampling for H1
H1.bridge <- bridge_sampler(stanfitH1, silent = TRUE)

We obtain:

print(H0.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.53183
## Estimate obtained in 5 iteration(s) via method "normal".
print(H1.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.79683
## Estimate obtained in 4 iteration(s) via method "normal".

We can use the error_measures function to compute an approximate percentage error of the estimates:

# compute percentage errors
H0.error <- error_measures(H0.bridge)$percentage
H1.error <- error_measures(H1.bridge)$percentage

We obtain:

print(H0.error)
## [1] "0.143%"
print(H1.error)
## [1] "0.164%"

Bayesian Model Comparison

To compare the null model and the alternative model, we can compute the Bayes factor by using the bf function. In our case, we compute \(\text{BF}_{01}\), that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model:

# compute Bayes factor
BF01 <- bf(H0.bridge, H1.bridge)
print(BF01)
## Estimated Bayes factor in favor of H0.bridge over H1.bridge: 1.30343

In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the post_prob function:

# compute posterior model probabilities (assuming equal prior model probabilities)
post1 <- post_prob(H0.bridge, H1.bridge)
print(post1)
## H0.bridge H1.bridge 
## 0.5658657 0.4341343

When the argument prior_prob is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the prior_prob argument to specify different prior model probabilities:

# compute posterior model probabilities (using user-specified prior model probabilities)
post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4))
print(post2)
## H0.bridge H1.bridge 
## 0.6616079 0.3383921
bridgesampling/inst/doc/bridgesampling_paper.pdf0000644000176200001440000135470513610011144021642 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 5222 /Filter /FlateDecode /N 90 /First 755 >> stream x\[w۶~_:5svڦEm&8m(R%viѼ}ް`X2ifcyϙe99y,kqøqpqɄ1xj&Q 8;{9gڣ!QQZ3|b|ReRyǬ ϜPɂ9AgN+bC:cR1GH< I˼(5)=4`YB:Q(zUhB Ga5$ř@pFi i Ha a7xsWYWY:Fͪx1(B5+qC,Lz j4#%1xkl&oQCv-&5[kYD/Ync5YWR]  M;0.N\( };|sTjzzofŰOy=Ϊ˚L8Y|=\Qِ={8pbgy]1F u 4Ť&)0 IFS'tųlR"xosxV鬛>ٔ3T*A&u|L|H!>ަVE x{ÖSL5u36٦mĊtNlj&1: Ҵ9sHX:+4Oi3HPx4NAr>]̆|U?=ŔOTtxR֨; :_^ը uTy}G\4%r^/%{H LMZS5!t$'u@!iɖm`\7G񗬞-ʆUǛO2t=觟nx2Vyzzyx1V nBX>е:OTi}0T柅`׆trTU['73 p6u(ASzUh?~h'FW/!2Y|~/0CO2?*q>ɧe>y_"ɿ~*@'L0"kuI5*I ^eCUÇsn_U9x!L].ǿ@"N¨{?>{!5&ފ|`XNXNlr^[X ? &ydI1t\}` QS`y8>2bž;p%g؞Ū'F5,6*HS0%#mF]ѨR-pR(7(It9ndxd?˟/#uc&)mkp:N ΪKt"qrQNOKL'%,uya4*͌ hWWYYpu[j ZE|oB"B :u3zh}I Ir`| &ǒanF0kD%YR&"W-4@ js["}ki\^ >蝄1O(/=\ ݻx2*Pu[}ۜiC!MI{x?䧵uQQ}+D_@Z][ uΆ1f0: 0]Glʫt<U9+.JBm W$6.GyM#ܵI9bgJe>"JLg9I`Wm4TaenٲQ֬mEۊzdY[}Yczf[S%hQYvjKVh8m ͻѩ/ =68GС$-BK Ok;΃IǰC3 Tl?ϴ4J >(9^J<1=bՖ:ho/zvј=[ @730BTWSut6*t\§[j-~?9:B''[{]FP1mʘ s/רvnkӅ=ÑK\syџpX*LNwg6noyԿ;8ohu3vEim}\T&5jE0h=Wg- Lb rܝ7bb>ޅs8Gszdѝ -{g>;ch!һL.{l*I]ٸnDW3K[ X@0Bm@dS6oc9 QX8J Xo^u`廰R¶& E βj \{2`G:M7Iԛ~+fi7_7g^KELڵ.5D0D>j=T'#*(D!yX nT%gwBO+F lPp1 B"" nBcs#dtxT\UkMr)[&<.:šŤNYZ TosZ+Zf QȳY{> J iZ+ RANނQ5PB@ MCYUFn-\OkI-&]e2N7$ J Ǵ0="JU{-hy;yl iu(-¡eB~kipQQ^ Q) MPFb\% enDt}n1<|yؒ>Zp=ƒՒ(%i"N"N'9`7L'^Bk[媟z3mFeũ"/B]"WQ W2YJ*yG-fլ˾OBtj֏v Se 0iu01oHMN 0פctB<XL鬼)AY ѺmjJzHw݋v0E5M' `⦨ዓ" 'ۤ~sZQ`wMњQ]O-i X]ˠ{h#bz4 fS\W!k9na7r}YWUL^{B3zzݴ qiCZvJKh&lJL2_&aϗyyݻ*;Vtv"+p3`ϋ 6P~] ^dKh6 q_g.gSڴzvx8D(2UvxFq9iɤ'ng IRqtvru0>g0rz7Y5-! m=mIt>snPv76.gQ%[q'EqZޣ\`h%xMq>/I٬ s^ZRXCdJIO G{QiA[ մmÝ l|zѺHB /l&햔V`U4(<˰>];*ov f#qH\j7zKq^, RU!, , B Ț~mo$765؄Kȁ}|2r6vqKxd㪀H,i)v}4 Й ZԨ6|2 &lmпaS>&UvQw"6@9KɮjpxF>~Uzͧt @!N/!}o` 6?Zٻ0 ½8v3˻p6pTM9Iuwb P?`Q60BR I668&6U_ULc3q\HezA2FQ <&g`Ɲ|i i? (D"]џ4zA7鶤Լayú ;DpWs2ػӶ47K\x?3\|_tendstream endobj 92 0 obj << /Subtype /XML /Type /Metadata /Length 1756 >> stream GPL Ghostscript 9.26 bridge sampling, normalizing constant, model selection, Bayes factor, Warp-III 2020-01-16T08:36:03+01:00 2020-01-16T08:36:03+01:00 LaTeX with hyperref package bridgesampling: An R Package for Estimating Normalizing ConstantsQuentin F. Gronau, Henrik Singmann, Eric-Jan Wagenmakers endstream endobj 93 0 obj << /Type /ObjStm /Length 4144 /Filter /FlateDecode /N 90 /First 843 >> stream x[Ys7~_ǙJoN$۱HvFSy̘".4~(DZgA4LhE\,z&,&92in`28LIaq@y V0Lp^3E`h*"3^B)ʢ ϥbV:CHx,aX|Q1-F@ &ddNT9m\ILb|4s]0 >n/"}WPyypdӂǀ&з@uH< 6,h/ dMh{ +^L0hM0DMPaҠ.uS_ QGꛧѓ֥MaVplZN vT]y9Xё,˳*Ϻ<|ghŖur2:ߡ]F__5|9_/wVU( B:d1+O^b}~B.os:mh;:~y_:ѫheX>MMȗv5_$Jeގ"D}~X]Y5_4#8tOk]^-?IHnyQ $yglXBCB|ri/qq59W}S?Z߶o<\7o/TsO'`hz9YNGxkssQlһr=^U,77Մ&݊ƿ|v{Nu8+%&Ob}QLn^M9TV9ӣw7!ެF p6blVTZmCdh%,կ! GqҤ,+l,,[0 Gaw'>7|oɚZMK*b%d06Bay=_ ڬ1XȺ36*byf{'n(I[Xj|m][Q*kL§p7+s6=ޡ4l4#cU$жLDt[#~|&ǤIk72^12B7 s.3O;h2.i&HA`9gkPf6x wJ#b0~A2Zڀ2*S"6<L`tFΊ2jSo0& X*ԠbK'ϕ͢AմuF YtPzBvr"Q՘@OA ςض*@(,WL:LЂb@pSɭ볓 jA2Vb31Ey JVoW(D4mjP,[ DOOk`1砧5 _r)$~ E7*@*ϭhʰ)O+קk>յV׎E[]SGy W1VIrʪU )_]ǔMSPMuʁ.S tR`Dy.S LR`ʔ1\(S(>[glY-e}/Vޒ\l%T4JRR8(qWV)'N~>ilE:|-"]O1"n:0'At,B*PJ\h~_|bU7 $S@iI<ݗS|bLz>w[!'(r\yyD+:r{zn6uzFM򠺿.t ? MA?~_8|:u d^+_ix11rˋi*Pe(ZO~G~ }{ b%rB^ZEȫ5?9!hnj?^_mnk.Uu9z c-iR #d{A-`u_`$uPa#+P&~}P"ƣ?xdF &YF08CfVRZ܀ਾԓȨ(D,Fav= /bʈE|Z]vb;OJv44zzssᇳQ2یʤpP*(+B <.9H zF;G7 mI#|je+i^5#Qߢ))pYn}`yRzJJ>JF#/&WW"Q>Fz7  l>i1 )5FMsIhG6nIHwפX KgcɮDh 47 nڂvΞ.̕Xs?M^02V*K[}g,Xmifr+܅Yg7Nڀͤc]ެ4Bdެo<lEg|o;۲ue«endstream endobj 184 0 obj << /Type /ObjStm /Length 3641 /Filter /FlateDecode /N 90 /First 849 >> stream x\[sG~_1b~J 8` @l-HrB;==lFBU[ϽOwGxLx)gqtGq  #jAe(ҙ σɔj\2e5>T2g"RsL+,ʴ':+ gY: t8*`Bf  9u J2ljϼUȼ?ou)2oRfkB[$/(V˂%XC Ʌ%-W#*&F([|/'ALpH XCX ez$/hAπř$*hC:E t 'A[Y(% m(@Š em(@6T6 ڀSI:#*/H6ghC{'€8CF% ! 8}kLhMІmNH6'1:R@n R6 =r΂gt:[.ߣ8IyQIG.}:=DO%z*SJT=DO'z:ӉNtI}ge1E/eGx7L06/^ +)b18Ѳ_8DQիum0c'%N.EuN4&Ӥ~OiLq=~UI.;H&ҧ~oS}Ot|OBD/~ɍ+:}F"~^{wG-ؓ|<ػt1^8lX<(N7mB * eK6.ޯ8#X폮-R͞dѻdtȬ1pn齵#}|r8 Rk]&=[&ӋIA- p(v(E["Sr[CVJx0KV'\"ZޭdIr4ZDZ9d}MNRCP ٛI/; ^ hU<~'' Wɾjx))_N;=;ߵwV:Y)l,f~0;b/1;ao)1Ȯa4g棳bR|\gs"O?ml2߫;gD Vq3ς}db^G%1/&lR,MC1_/lfӂ]kxV6{ \sv=Y?7eqalոĴfhqɖly9/ knm>?|VL(I)-?B[Z{ {X[A=G55Va!wX$ncO^051u1uSx5՗~ ~v$_oG]l,Cemu"" bxˊ԰XNh|e4HFc˧ c3m3MmGA}e6GR#~-BدeF \NdBog*+r.wRP^[S5ff PJU`Nu $, Fu9$e9Ɵ!enQ2<4<ʃ@InrASY smyչ a7y,T( P=dȅ*B{]ȭӻ= <Tcx -NUEcˋ|ub3*}(;V< )9*TTKATsurpvңg{>lqIjqjаG??D'U_^Q+Feԭo|FFҊ"L![b8 1Zm~_(k=mjhkM7WIkJX&#/Qb'rE2QrQU:x5Z^Ƅp2Z.grvͮӛEC ]!U~lkM]Z__uoD] ]J=+]3ͧM)[fXO#XѧDgh_ ˕|˦7wxiP!J- W6pS%Layo/5lC[=D|@[|6^eV@t'R-v6jPrAy%N Ϋ[[ȪkV>oC'(axPʤB ;ƇƈH uSX=9|p/*^hxg i˫wk(Çr%k"-SURt~O<<jrEG/_>=)ܙϋNj6ئMUqP<4c |[b#(t|JsD1 Rc1np4xO/OˡpGydZǂ`#14ʟQ 4'"-vw -~ e;kkYO쩒s-HA=8=.=-[.CR_C>#LEAZetn2PB k-.!H| #7k0&kˍuѭ-r#VH@j7ʨnlxGֹ .VҰl8VЭ@uC*EqߦPLk}E ,G{=(nz*35T)[P:֡V@ &ǡ++CsT2I9߰R >8KLBAshpP7fJA~Lj9e8P$t~~GYC"{gp S SJbA396u&!wIpdPJv;}FAQ瑟A6Z*蒤Lкo Ci6(.ȷ9-tyvZOq276y#UNA%E,焑mQ w TqqW>@ڦ@$hԗ՛qOMZx7TW*nLPS] q#M6T6<džtNeL)]֘/M?Shrqwrd L1(!7q j8@ZV&D@\niYR]NN*PA曁O%$>7Z˓8ͮ2`$ S+<U\EKpj!O0©-`\>KAG+2Ђ"țv1J*Hpo29-V8brYQaRѮ{aꋁd{pDlD!qnK's]ci7Mle{vsD}Clc7}nAnvTPP> ;1b K3*߿V,%L|i$ҴCQMotxfQmn)bB:dh4--;ɒXg J"7]#:-p5 2sܲF6nW9}SX`Bq@ ǣ.r΄冽Y}j~63{$lHꩾ,iC BkK7,-tG ㊻o*Qendstream endobj 275 0 obj << /Type /ObjStm /Length 3141 /Filter /FlateDecode /N 90 /First 832 >> stream x[ms_xNۉgƕb7i'*IӸp|Q)f:pw8b1(l:kRU IdT&KUdQp\p(MB Dh5EEgi7֣lNޣ,ei}fLy╣$N9i5'b(dr(_(&U 8:8C+0p6[/! NVгQ|BEa,V y ^ r %R6Ҳ5*d,`UdYpe#W1'A%+00dJ*, f"9RhfR*css*3;*ơьQ*gBȑ #E\N FR1tHZh`At>( ZF`R 8>̘\35R| 28([ QC.|>O?Ud%4`wzk(Ux:Yѡ}3lJ}ˋh.lzy.v'mF? ŷ7~vs n:.:. 5kr=[۳=[*b{q:PBWr UN֋^p֡cMg/Ya rC\n?Cy#DiҜԄZUIb'`?4so~Zߌ'?<*:( N&,z gQ@uŬA5sbP0:\3YtA! )=#ob5c-AyIAyم(1> (Ӈ2&@910yyX1(8~ AL%_tp-B!'AVd\A\JyHۘCz>N#l%39x/B ٔ`@.^Ξ|mғx`E֊/$|KL䚗nѬ>jL\]&9"3x/yNibm:jrxmޒƻ|3eއ[X;цL: uXʲp%bQsx2'7{-7˟GW_~_^kecE IF k\M s;nʊ%3$b$BpNA9p]jcc[+~`*;eBU[&: &blsB^v)jYx.bCOZPP%(&xPC_lkoD 3vAY I?*: 0b*>8) cٱ@kwDlt\I<ێۭ"2a2d-G6(5p`0Ig1at钳ݵnggM_1Z]vuk{قvh555V.; <99#gJvgPX;ayo XG~۝Sqr6َZc*NtӣOpJIi{*.o뮛t\|sE]$yW B[)S ],1Spw2p6ϤdrNFpMf $M)%(2.a>]ٽr /%r Q.]Bۧ`*'aFr&-!ܠDAЧ<- /aT־8 (e$ONVJ"tJPrIG.Aqh a[JavGΘa0)ǟNIv|Io2zDIx豳! 9Cr#i:5ݡ{ڻ쀼A נwmҁ +V%LH_>~..qW֙+!nlН`lYoXT5ʹNKJܭ|ZMbG7gbǬ|++|_G| |@-j% ;؆Lq Dx'x":*& @e7XJ_s0* Y3x88(];׷L,edJe2Hiˇfxڸ(zʠ*Tg ,/8#*z*KYmHp̻}OVybo$ЉMAKiS2|ֽ7r*{h%BsQB:cR%maOg)?%zLahV&? c.DmaGОOIh<8e%$CG%}AKPLKO Ձ hwPaFendstream endobj 366 0 obj << /Type /ObjStm /Length 3045 /Filter /FlateDecode /N 90 /First 830 >> stream x[m_ r9؎./N 6ggɕd}IWUp 3̎\(rdf噕FВ"C" }D+ FtC'*Q$E9YY$*.L,:Σ Fbes+ fwL`=N2w!ٳ ̤_euF}Ni'<ɲ-7<~_W?GU#}!Ih?73 G mbDzdXd7E޸B>"T?Tր M]tV sL"Tvډg QK&Y5: AmЂ`X=(gpajYpQ(,4dP{O4IXrF!O_|޾kWӫɶw~=mۉ)DW9Hl96.Y85eD%2x~%eݯ+H|DCGQKU) $2Eb$B:ud% \) !:I~ic=~:J\'l F,LC%1:6"Æٻา$.`b]T@@rҔ΂6&Aqt>.}jzKӬoj0>/MY۰ C҉^-jR7 _;[jA%+umg:$d&8O $ΏRB GGIG1@1p`Dk03Н86\MX' |"d?R%|fPNp BpAI=A#3I8, &D"{6T(ΞI%%~P|5Xts$9c5~㞄ơl65/]]ּtͩs5t(/]ɑҴOK}|D# D$>Cq:9x0Cr!rT!U8Jn5IJ l:n0Ya#Ӹ-hDY!!j1S7W \_t޸WGE( Q|a->"eOPR8T@D4@֟@˫H҂4rNF6! [ 5g-CE?('ك*IİafzXe / q8&!ڃ46[F#!jn f/(MyBu8wFKy:y`J PK8 I[Sp5M,$Ga^"c *}~JdPꨮsy\yF~FHoPڪEJ  4 $%H䅡&`,ٸj0(5T ZFH٠>1{$]%*MUK_+v}J\VU1}Ut,~J@۰Xv9xeY`\P g᜝ZΉ=HrI@6|^BؓqY講gXu HqJ`EJ3,D'r&Kmt*K}PT`K%HK^W R4*abc-fp@-%|=!y a^?=\Ľ6M|Xݴkv{Ljp-i~e*]NN}Scz[+LƨQbjINZ焳?Bp&/I ƱlO1e!#kL ǧt'1C@Rfk6vGp.@WB$-?"y7O+tz!U5Zvdh.t∀M~WoЯ.Şhd{^k]عZ'eq5.?)#yK:YԴY޳DR]&> stream x[[6~_>!yxx)ɦ)HŤ{A:mjd؞6m.xe'snջ/Pov\3[\7C2Q(kqB2|tdE*m=w~"DN[i?ԟ_Ar/|Z ^EfҶ\PXTVěm5o W}~xd4gְO[ wwf\7[%H]7UWU4Bg?|C|Xda@vI#Ô~G֎rnOhy Prg?ϯ?ֿ40B~fS k ˅m/:;#!|',^"b<57u!ݮrq?)@be(e4м[OG(y-QR(a8hς q;LÓsϳ= !$ͰEIg;HI;ľ(3> (ĩE& 钏8Q>P*ɕ (|p=(Ttt PcA[Ј}>(2dNg sVR`~FW(ٮ/nE]*+Ʉbח,Bt!r7bƳdh " )uRCXG87yb8 \,:h`vlN`Ϭ0{c:IUJUhEyV% CK, 6d0f@:M܃?fGeS9mqF0Ydu_H%X/mKC2HR" CAd}1>MTՍ=N h(уҲ P8X)d9"m)̥ ,PFXf{Lк!L\Ƒ`U8/ lu}֋$[*h_z:H66նm-1V4.5VTj(іmRND̉TNPHr!ELHvsRHD 3=j<}9&!!JNxFg)MmKGpq3K1H[B$..{00o"] et!tK3NrFvV^J@Ӷվj߫kmզs% Wɶ~\Gu>Q|?&~Gu>_竊%c#'?\M"T4C}c+óA 98rVE>rbLR8ad v*Pw7:B~;PbD/f'{P!L>bk~; R^#DDYr| ObX5A,y ڊn$iaI;ȉB\rp)2M:ɩ/ٻt\ 0QR70dpm =cNπ"al!UPr擀gWʠb!Ll1xT>!"pSa ])d{`ʻZ"|}H;bO@%AȔK`'[`. ]F4/ĔINq\rAh{P.N+)0`q)t yrgNPⴑ(8T%=q\έta OrXJs.4u(x`I;Pb8OCXd#~t'E0gh/4 a|jus5?BE蒓>Rc> stream x\YǑq`~^k>,A6lɇ+ ^Cs$) G?qY]5ZAjdgFDQNzɻ B_ww} +,<?nIѳ?~}?ӓRA1dl}LU_q>r -9g#~V9a6OoF;= sekt+=\t3$ <b?x<}TemWs*ׯ~ՙ[=()SWVkșAroArx|f6^etV@kt"~AmB(`v[|)kgS Vc}u>4G:ubnnh$_wR̔ԓb ޿hOp^[`[ NEl 9ʷM{yl~I }d8挒 QYcPOr1h*rNXlNgxM)vr笲&(-hc6Lߐ%SsP_'I{[,X"Ҥ=F+PKL8⭙r9NVM)0UT+(w'bĤ`r|[G4pe|ֺ =gJU[Л$}{) "|*4 uGڔ䶼K`\NwѯJ9;JdzЃII^4@,8 pk}?c]ݼ$%Z2@KɼR^GGTWU{Dbf.Ӭ /A s} _;pvvyMh;OKqgcW)$BNeA/hv]ac]L5"v\h!9:"'h_c@Y(֠BW-)ցܤA-N@ /ŲɕbDc0TK PI)SFcs^ 2oP [VS!mhAHs[E;HVTddӷ|^|MF&/p`QL05g?eidcEp|4˳f:< |tSE0oB] -aj.H $=3-pS7֑Xb|˚8W$^.nkF|0899t2Ro LwDܧ촖\rV.5D:qugА} =$vM;$LM&hh> ۽ ď!Xw#`bw }4P~(r[Ov=N|EW"mȺkyq*t%R cXduC)<${0*Ai)߷栈njs"Z#w@j^Hc-)!M >4WBِ \~TvG@p"`Ay޷ DŽ٪K@BNE3GrhާxPnV/|;?u J: ks%_]Rtldy[+!ttr "#G\kwCyeW`nU1)(f^T=54y|a%ŞAo[>g\xd\z`U..J;ɪ G.vD D#v=(jj$Of=GC3.\w ;3*<ӗ3`Fpd-F`rd߭y+GоN8]alB6"0ewdѝ 1BaGdW9IӬ|xϥds/;m3Vfx٣8(@ckHWyD,~nȹ$^G*t}Խ« ҨYSK$i-/FvI >)͍>07̈;'@a@u-',䦐쾽2/ ;o0ɜy}GYLV$I  N<ޤs{@'~}h!5M33!-:#ƒtط\`۾R\X@䃨 ̘5⾢oؚ1TȚ]H5H5Đ D6#4<%a]SEz0 J, \.\xp0XxvF!l&KcyCުv 9}Y<&C`-07n(#R pQ(3Fu^Dd -Nn g~c[a)x: )>[ʊL; W0BߢԚ-$!f3_ f7埀SRߋ:S< F)1aJbv%cd(KRp6Re.*͞)Cjb9vtrA uk3YyzZ] ~tIfnc->._쬵n}$cܐ-6> {LE5CQ_f0^HѺYg }X|ݴr7NF)Z3Տ-?6ˣ" umZ+ƣK48E|̵*=ѓT.4n+EPz8㖿WLJmRRN8Q[H:ף*Ֆ PBrI$f*)5,S;Yv0l]0CB@rsF5yJ$Cpe@|Mm2/kV.ߊE#&O><AXv)Edxksi[ aH)T{:[V iO7JaylR)[0)@IjњkM'#^VO~͓X  Ǝ6fٍBw(X8r+}g':ь7qМ~OpM\PG_ $ 7ѥ Pږ&aK܃6:GcCDuA86o53Ira7W#A> ?GbaVA[ ?+§JZ#ϥM5.# O[9*G n}&ynrӑ:uI85Q,5*g\T'eN%cyqLH3~0א+B\wX"i26Ӻg;"8tMpÑFF9QY jhZ$@ rY7NmHWcEOf`K*K K>QZ+oهiGcPyպ xWҞ4a&'ߎB'^휵c;j Q7rkI 7J=V cE=V;' UFeЉVLj256OP~Oc֋ʲĪ:J|[$rWw&P):/oTΠ0Oq9mÉKۀ_Q(E@ȓ Ɓ#poPy ZFٜA݊W= p#jcіI757Xޚ(&2c by/e@V=k%_-RXvÖĆ >#tㆣj-* \Τ଎wԷ"TgW`= -mߌ$&Y'M6rtct^pq`eE.5o[:- ./Ɩ1qM6q8Yo0w!fh{okQEąܨVtݗe5V^^ XHƨY#a!R[!uIdMz4 eC{Uv9!*T`[ (96 >[V~`вt ye=>mSrUpfׂ)M ׭s $,1eҽfvb)hu̞2Ҫ$+> [w*.RU"t xZh,TCo\aJ?ρiQoC4o*W&mW6a sn_ƢUK ;EQzAK9Q7z*j87,ڴ J^/3r$gH~,W)}X Q`JKTЁ" CinV:v4Զf/0a*% zpj@ Jm{p̢̅K-Dj-_l۝YW6Vm_Nvޑ'h2l:j?T(vr:$_8w Ӄ)H8Jzɪb[Ui,Mj#arBouֲ05ac27PDTlu]ja<Q=!Ph{/#d o<|.RZyJҼAI&WPeS/ǔ"Lpӷ0<6kU Z8>&6{6nIdLO?}yv?Xd{eg<rӳ-^%ރ3RF3x^Aϛ{idGAYcBJd8Ow+Zt,zg}/^"vJT%A_NX|pe@pITFd4DnKBg~TNT)oE6 AaU9rƶC.OhO:,lNSդWxڽ۳x=Y6ldy=D U1a|pzpnͼڦίd^gF9 d*[dw\~6ʇZ6Gz:u0)n,7:CA @~7?tb( {U~$f[[g71LJB0//kn&endstream endobj 548 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3314 >> stream xWkTS׶1AD栭jVѪԣ(jMx$[H2~H^*A1VSvѵEж21Vs~J |7z/Ϳ$O_㐟L[wzXfP }I8ےܼzk2˗!QGdjnETLd]Z+--3"QPƾ2xu.JLE)j27{OEbRZtWD˔rXFOOY-@ZHPnʝzZBR{>j#CQ(Oʗ6SR+-Vj5OmfS(ʁJl LY=d7\WPS"Q--󙹌uudZʹ_Ӝۧ;B};{ST)}%>f=t^!rLE+YܺEJ[kZe,8gEA("(xH%4r=]`:f~C1Gn[gmPlY+s1ChCA>NI L`\x?*8Aہ+/b *^4Fs~X1 -a*۫o|zC^Py!7/>/:FK.9%!7@eFV[Xbg3S -Ů(E? ⹯o[-f8ꑛ |? 3^l8T -áV~M@ԇ]|ET]9 "w1^N`&6hҘ'nnlfȶn{1O!͉b4>Eض ŒT)^ly/|Om/ܿ_ /,s%пb{ xVTD8w\'9N*(_෋S ۾urEOi7rd+|Yf-#)څo*639&.;f,ZN f8]~V]q ^DrVm"$^Cu-wJyPR]vlb'㏹N$D|9T,yYs< 봁k(oNԪAA=;e5*r*{nǠXH,! IsD+&z n<vzuϴp k-%4^ h½]}f6|ÞjɔgKF3EWmIGOw)hnMsh'plxRQ؍?8& ܑǒ{X/)'9V8veɲb L=&,W8A/(.7=!I$C+d5V*n@^.[=SdBh2Kt2x<=Zz/?fD,!:/5mhYZ'ocېCÐU)f RnX8hsoWk5X-؈r@+x7o,2&i&Щ4)T(&M*z_> hFBP4, ߩzaivI晠eՏfD{tuԃp4 JPOԾwbx'V C"*`4z$f]t8臌~w%. ,?r(*x[! 'z-rL_m,] Wx8Sg|Ebx o-^ChV>-h!~EB!~ N6$[Hz}m5*Y.W~:ԕW-.9Zh Qg745fuEfjelԉ% R?7DTKFib r {yO w/x6įf~p}po`? >oY'rJYQ|<\ggo'o]wXG#gѳ})2)h@ SNE{y۰_E IitħWdx">wj:]MJImJ`k= [ 4iϥH&(mM$r+duǡ4#bwz=qJ؝1rޯD\\mVWʻ)h|Y)k*%J+w^?uw"Ryo\W{zW^Z!Rtd]s#l1C T2]ɭ2eRl;]s۪" 7i\H&hLĆX2Xh3f I㥯Y@>0qoQ qv2:I?,D+kG8 iX!vz%_„ڞ 3<l ޛĦ?zۘ>/Rz6Z9 ZDv3+R,iTA9 V~1Y&Ssf43`5YM62Tw)rGN%+pP^q2x%Dj)9'DMc֘mΈtwvL|endstream endobj 549 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5392 >> stream xX XS׶>1sЪGpVi8bQTPPd <%+AdE`D!(ZEV;魵V_ޖVkסvm~ Yg cӇH$2ץf[- GGKlef;th'Ӣ; 6'G=_?DBT" N[76"? aҮMs$/"p2UvE:LZ3cbbf(C"gE2yCL`TFHKXhze3oBFGE8E2 3IҰe{p\*zjMrϺ]q^!`c3f͞3oc^|ێa02c7fL`ܙ&fla0TƓYle1әmrfŬ`f2.Ŭbf39f.7fʬg3v f3p&J34 |% 9gj>O뤵T.MeedOؕl'WwOߺ~?2<=nǃ \s93sa찉BU|ïX5"yDV1ˮ!,);RHuFZ,v02m?ò"2!X Zԯ kf l#BquBtK>ȑf[r@fe fQRHţsY8P`Yj`怯`tQ~ iDE" kupdR^Q!zɃ.hڣw{4+p5bH_9L>5bo av |r;#$>o4,Rx|a7d7w,NF ܵ72_Vl |BI5h~͗3pTi8ɉO#x{'<|ʶؾj,T-f,>kw$:(n*^)Sɻ'l}HނJdT I\,my貕ى;X~ rRhޘsp )-b9c\MQ.RES@utRz#W#Zw?]VCvxz~DUΥV*l:+9P ؉EzI C*ex!3+)-#+x2188!C^aL?RNE{ T;Är68dE  GN\RpcLܧ1P9omp*P_ U@vG,"~68Yv Xa@, lWDLBp6¤B}OG 8wэ_E?.jo7 \R_MK5rwH_83JfפIYܞOHx7ꃛo JvuHhpJQJ{ڌfkbX?3Bt9@hH)X &~8iCN([x}a.ڱ~̚K~_NCM,h_uMrц_ױ԰g2#Md9K̲( j  -w1eT}1 圝x;xqhGC*z;fYzẼmփ )iۡW0Jꠞ;[}GGWXz]@>$;ء%Hu5zdrdnԞԹ=Vlvꡄ)y4M"a$ab^I Bzqzs9*>":|F і)ӍSsFw *hUNeSh*K+j(F|Kf9; w?:Z. o\HuZ(*H.m1 4?R`+7t:hMZ%>ա-hsr[BVN[k=V7}-۵-i}–r)%9= FOHFy ⏟PB 2t[+aveƹIsOú 8Zf6l~[K]ox,d-U mAY: 5Y8Da8"ihzm]g$HWrYIz8cdEHp*лU݋7[ihãDJ'/_5 !mU3)y:N;ݡ8"ChyVVBP>wXV{ t=Zk;I HQ؟:Y*|Ё+K},,m鿬lE)peMI'H1@ 6[,1ڝ I[Y"tkwe;\hDLCo^DKmeƓr]~"K$yzd0wl7\WA3wr=lc`&Es׋|rFC_EȊOj}5',TjGʵ]-廐"/ @TZꬺL)M^Xs#|jnmo+[oǓ!NũC~MVB<|j.ltړc+͔ dv+-M]M=Zb :J<'IFğqĽt9PH7ίu ~{}O\̾|j:L{CQĆWJpouܤXH&~07OX4aE̤w:Z/'āu,HٿeNDq'@w/jv<6wWx|E/d'i." Ng0̔9SMAُnÄFI]|+Ḇ?~, G5%늫2l 9RXVQ{LQŪj_'My>-}U+GFF*\/ݻx uWZCϝU$6Q氿 9~l.s嗉{ 0roA-l4, OB|ǿ]m?Kڄ#Ķl=AW PIJ}6a8|np$'_\ wL>+p3mAˊY*d~U;ː,^qIƢƳ{?ƖmC,ײՕ~6hTM!=pjBC#xd.r#B/xzڃћ'ء簿K ZE w5}W$5;a&-A# v=74>=&a>yMt#I3,koq%456464 d9YMgofwvoݸS-hbOI>J1G\O ƎϼɈ ![)XTIN"*BhYD]x@~hӨJᄺ0fTAS 1?OFnH5 55WMLN<{OׇDRCPE ޶.gLiƀ8O?'S;'ބ*~~ OϜg_eQ9RF|Wox"1Tu{of R33#k[Qg»ype)$N#sR)Oh8 (j;<BUHN*zr+v&6?ԗf_<8ivݧ2hʢ0<\U^_~$['*In&Yco>Tgj[HER p@9Yнm4˂3aJ=0dt7C\?-dD`D`O>.2P/ƥr$.V|[Q%?`riZ2@ zwO1dO]QN6KJ.SCd-Z SɎCal{hYohֲ ÷Yr IEQ%JsONM[.fʚ}|~z<|a?isvs|ULKpEAԙ=j]le> 9 !1){q|-ODZL]-LYp cv#aTfCQC|ʙ7 t"$3kk߼ sE';^v*;GhizKHHv:ԉM:= C5TXGƾg)Y`DOXfohmoz0ON7~tS YFb1ߘZKI^ eN$jԐ,l߿-ɝB+߻$M.䤕6<6/W((4ާQ X2hOUkw<3:`+5H!6b ƹRt HIhhDR Cw\r߹w[]iQn)iO/b&IO{\Xzbeר0eUGemԱ#ƒ7v9> stream xztSWz//ؔ'SB%@!л{\dK:{e0aB:!MBB d+&?/͚y--T{>{߇ލOl~܍"t!T\%B{Cc}{_@ _+v)go;uٶ܃w:ۮrrs%o|m\wF؎IaaaB&{~4fmP/!lڮvs5otua_4=vU{ZEmeAօ}8dIR]ÜWp]}Zu^wyoos&N&Qj J-Q˩ jzZEͤVS(#ʒ P}~%S,.F )j N S1MRPqN5E%R~ToJCГFKuԂ'ݼ}.&'-YԉilfYN;q^w{,X&#;ohn4xVa{?î|ǻn xic#Yksn`5~s0C솜vr'%jl_ oaIþ{1vkԑ1#GU1zc-ye[V#L'i/䇵dQ yr vm:bkFKkՑ^Í`CVHDuF)6~v/a/CfiIb2d ,7,TdɷhPKA =eq) Bu꣚J q28(A+_.p>gzn`Pf [S[ )`#CeI$欴 B~$.=56FMe WZru_QB(+I2,s16*əjjH{);*ƴ>%I%h%6ZY89&oH!)S7kjN@¼J(,mjF뷳aad~"{eFUO.<{Lf'UwByW77 p?2z#s8۳NXx(zTj)m_ZTH*=aQ7C _{lù35@tUj* cS<eӤl@M! g=Ivͅ*LYa[tgze}pLG}l&N} ONYSj4G$AL6d@pXje:*Z=dYvϋ 汾tVM Fkz<M$lY3X-L\]m Xs[Xu# Μ5En}ϱxCvl!~ZrA6=R/i"_'"@ĥz~y'!]|ֈjh3h B4UQ3!) CIl:R~ĀE3dc)(IM XDHj~-A]чuĄ#3[N-*hh4.z2^&:xuTN &4Z_lȭv'ȶ$#:N sm~ i: ҂M W'A]ό@`+ ؒdzZC(6;Q:wo9E*5XH`k:rNMq烪R]_:;.W]I]Ҽ*niS|5:!Pi% XNprhR=Kv^RAMPԘCF=3n8x͓6ޗ93VyZ2 Z܂cqBr%쯏Q+l<>lj>3qU kҡ#r $(Ϗ`p#VTlǤ0op5<\uw*xMTRxTuόhьBkrsFb>1xlz[Q,'~A?!GfV\g"T+KIQ-ȱ0ҟ$f&Gi}ɂ)-*c0'@Ug%[' ~ DRSڜ\)9$.7Y}SB6 2&>ٹ z¼rY)?((ctt*+ѤPBPȎI٠ pHPÙָ;jl*A1N 3J<|c4yYRiԝe4h}!:Fm/Ӟ\k]tgk<:nï<]eO4p7^O^=:*6ؿlc^),) K ^ LG\ITj2+(TfǦs2gdHK6ڵ#)Iٱ*r}:-Fhʃ&=-gTo7L䁶#7 >҈|<>j1y ~TJ`Jߖ e)8dOɷϳm^lOYQUMݡT!:)Z'~ Os&PcI f w:ls;r.NZw#,Zgf;zۤ>vvPH$|Z\H#8e4=!+l܈t0^RFitZQ{,~ RMX*3c뉊Mk=,L,yj2 v:_Zղ'ZO=[eYYޡڤ<(}ue)ˋ"KH4= TЄV3fr!G]2.ȸ,SǙ V3+[ЂWu1?aadAZ!\h(uNᾓ'2 Wh׃ x(;uY@̱ \.4Q,C"@\Q䩘L.FԿ4_,2*g}=^J螐FڶQu!aH;cTFR&Ǎ*k,Dle*Š(: 6}JbBcɱ1X醀+ bcj 0iCMNsZ2j7LJo.Y4N*:E!X&8BWy>&a /qFAAAT'.Fo͐XWU|m!a 9}ut ؏0.}9Z*%|FuKM#xmfjRV_uuU W 4U|yWg⹢ URh?kM2^l@jcrL%B>(% ="i %$drD!j4TQĴ1SGG}Oh4ymc_ڿީb`LȾjT;,JYv !{8lМ>Xj[{Es!'3-8]%DmSل\:#jQT2ZL{ɟTNKVRYqjU0Q"ӕ KM ްM`(iGw`ί-[p1 (MGc"r],PƧI#p? ca<%ى XfB * t >yPs|o!!A{+y{Z^QĢ" Q8;Ĝǭ/_4Ô\2/[!aƊP RuPTD"‚6 8u hؽ:?$߿S] J W$mwXU2ݧœ%ft8i\:֜Rb% ^ɹȾZR<4OFw|hi "K'ዧm9oB|;TO sf `?h?^bod!zYP%DCDdFM7 PF!֖!O? YhiA*j=I@D"SP&oOҦy%J6c҈`Җ N6{6-PIȒŤ+8$JVȲrSR}^.ʼ+n%مΰLY<>S4p.=}ͥp k ?c8bZ%`$D"zz?ᾂx@'@W?[PnՊiĢȥZ+)IJ~Kj#|)%})`˟VG^"G"^|}MF–bvG@[TTQᕨ+xi``[lX%Bl/yZTKiҪn(C=~`Ռ}xދbL%{$Cw7rޚyjN_}9y4NS rmߩV%BIJRA<#n2; Ӱd 3^d2:O!|9Gn wV^ڑ`4; \'F&a3ebD4ñ!֩}fo'OJPΞ, ]!B  sۏh kuFs~#ajS'6:ymR }|HKR)A, K\aG}iVI2Cb# 1?CMOr ߆V0Ȍ(иVFL5!!nA;?yFK"Cyy;+injKcQwW<M%PWVT2@gφt * g=Qh &'iU8CskԃCO3+!r{q;FrʾG˛;\+8G wg;,"/7#zdQs@=x!8DԲ>S|$8zlt&ݱ;e1>o|ݶW ["xɣ>?1Bl5|C/},k{3^̢>s[`7Ϟ𳻧k.|ґ/`+DY߱.rfO w R Kp[z7#=a[ 3wcPwN9hj.;Q|G40eKiC命yuD5,rI] ;Y;Nl@`@o&cic)شp ?jv!KGWS4VsMf|Z+@.h֋́\88"Z&pPaa:1򃌨P/h<d@gm+QoV1glG}:š.=0 ;FL]G‡ I*dX%Nb gPEoꜾn*7yÎ@h3ʟ9Lԧ5?ϴ&64{5ugarC8Y}U%Ax kq-ӅDމb \|s/>x9g*ҀjC߭‚BBtA*KcGz^ˏDgʈu?B[%DLuU)3 q.JyD1%eelh?܂ܿ;7 G5{!ɵ5 s39BVŬXh/ɮRm{&; ~)㻗0 N>C h&=,z2'z2 \gv4m; F$D3vx14')f$$9|٨;cYEUM"BzM-AVI HI<.>Vo0=$- kZGdο.-ٌ ?=6&|" WSё0ӡ\\c0Mwh3vZN|ؖSl`ֻFGpuκLi7 >vߙJMa ͍*Nf,z~aI׋K.mq'ףL]wYz]MQG}endstream endobj 551 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4978 >> stream xXTT>AT#`.*-ذFe"H]Q0g"(Ja׵\ˍIQs51͘?Y)7ݻ[og`3o{$I?F"V/D۽t3h({6s0Ia_Y&Cj fdIHTZpYHh\xͤ63͛;f<%A;mV{EyE?>372fO1-$oTHWh_H5^A6}N- Y6ko׆ /a- YQJXo} q43g͞MO0c:fLd627f2La2[eYLc̬`V2sƜ a,93a%cX3VDLp3&L<#ɵ~5HI;xL_4]^s/hžwlY5khvP׃C AGCm A\Y,i>.g `@zrJ|ghA{ZWpNe1+Pi38KdWөtkh&x 'ȣԘXy.?2Ky;}!亓^5}4ǝЗEu%ы.gnj8usB8$XyQRDARC1JF q\xbM?q? 9H\x"dlEucZJ:ZF¼n $7NvtAn\Zh3+:5;bK;p- dS{'2 'L0ҁ.ꑹɭOi@,wQ67>ɟR_7a:Dz@VH%t4GKZ(=ubjp֘z*Ou`\ܐڄ%b8'Y/>lt_q^uY7XM+L *V3qIKIj;OK_ 0V\y_ȢcNF]en`mv[(_}͓Ji+@ bKV ΰo=M e=ωL6뿅z} }IQVI/ JTԋf|vafM6\ pء?=VѨӓ#z"J lzFClλwM@XA>Umō p84'?}7춾`G짩3in}ABBkWk([t!}XB:?%=sl5mdau R,w.ˢ=q!dX?ִuYPŽfekAsP%؏ 3Q*t''{W-#cP8ʀx-OQ΋䃝@7eW–.t?]EE@Gl Q{oOGx ūTI,8%;!33p8Byd l}4`(gxHQ2)q4Pu_9kDFIX-]3:r[Զ@`d}nfY!s'#Bc}6 W]~8A5IhW[C#N!CO 8/rT@.p$ia.b7G;.C(#@ioM:/J?_lE+  EZ2hB2"2(\Q/~p6htz U8N,V|v\[A.A F al$@B8GAx,cŋ[Y\o@ĝw6nq=L3&V(y o=?{#<ppQY"%h , YΝby)^'k$ŬyX2RJ_Ap7ÕJQ(UWgh5RNr?:_KEojuJxM-g nGhg#C'sXHۣNۛAʓ&FmKʦj#Z 5H0qxI% Vde:G g}lڒ"vN#-j_99>ѕgbX1KI ZOQ8R;U /,:V^~{*CUwƅ޵t3!C|֦K*t||Ή+,M둓G!/pA:DUVVgF̶vt\Js}cHэ'K}4}A@#3"Uh+|OtKR KPCJb8*.c\O!Q6ԓwϿrI] C'THB =8#&iվTKrLh<~e_kٱ=nukJϜ:.o8dir%N5XljK[&RgxG54Z@ 8,[K{:罅{ք6WԞPVQ_vv˱JoZIԨ{ਢMF*?6=6܊ hkn ? ۸v{]m]>~|%8Ӏ?0҆ZepG4i]|N~|Bh"||"|Ϻ= g|4I"3C2(sA4 4ԛ >J[b27%l\;0@#`)/{us%+vxnZVq؏/oolL)<)[ ,}_(p: 4d Ʊd<&cUS[ܡ葓O 0ۋ]7'MN?xt6-;&>i9V8D|D fhϫH^0/ 'AҽS΂\N$Xg2BK|\>T_岘%6dAu\Vt˩;+0UQdb4mTfpH\;JVLo13CY@97^Yendstream endobj 552 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 912 >> stream x%}LSgߗj ]Lt L`6ie(:5z~r "v ݅-8uΰ.Su: q qds?gcG8 iCiq ]חnt0X7åzN ^l2C˸۴^_-tk6wy=qu9Gx>BHZ,LgTͨ2p. V8!OiAH$KY Yw.5GeAPAi0F?;0aT.A!+p )`\?T~\=cZ}9 '%_UI$)t=K_8E0 5$F8kD`+zP.|ƌkB?[?2*(T N>|FkKSxeV&il" o+ٻHԞۉ+j{Kw z%pF.TNWK"AFQ~3fTv^U+S Ns=1ttQ&]}#)H,]ԧ׃xW<1|~ٽПOl?G<=`X|֯T]Ap_`yʥ[3jr|Ͳ ($ĿQU\A$idNo xr.q)LEb0Hw4p ѡf.5Xٯ7y(Bƴu{C]o^#,/^mv! zo" Jb'ٙư,+L|G0Ysendstream endobj 553 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7562 >> stream xYtTպa`8F% d  ) Bz/^&^&=BB$@(") Pk}^ѻOyk=IK_YX !pߛ=ǮڰeݢoqSܴQC4l(W 響TK4PYx~>E X X1ث*;͖̔&5HؑGE`-8+l#ԙT.&h#hjf TI2kewL'"OXL2+7Ơ6!jnPsznչ+Ռf=hw"w?Mq">;tI\,,dp%_{‡Ի1Rٖ* N੃]cҨLg'1!Ƣw>Yۻ@|M&n3XsA+_۞N}ه(ƏslTtEِWMXg3 ȃ W"#AIH~6 ͜$oٱg'P~{3|gcE2J+C/o, 1 83hQ5/ PK+4B,VO-U̩?rLHV`a""Hj{؋zIm#' |INJэl:T0 kF}}IF\x-8?&!eR ggfnǬpLTeAqVFJޞNǼD~-w?btCt* ()-`oux\ci F ђL/yY#rEl5&!PY D# =PVTpC)CXwA:0R20(RB#ȣm$>]NUnXNž3joGLĸ&M[De^Y*fn #V؁XJD_gU)_G',݅u*e F۱w1WEX ( ԕ١ s^ 'r8oU턊 'ȟ W6 ³H3TLc }>TCFp8}+a.1AW,؇:eEMlUfʭ*NR' G qNJr^jo&I.s4ì7Xh@tDɤN] ۩N'<\KWl=+Vt&,јes^*JFzÉM.XMiy45D:&pnIDk iݪBZgBn1ᠾkD>[SAY (tD KNEG j{322 jM5'[ح-5K[l:`7|\/zʞLυp2/w$ {T)!ScV1Drqv^C/p:rVlZ(Nm2٨NO[]}vq>_s2C0od׋т~@}?zNN1fR$>m5W|=Ǵ{A*Iq}9J$g,n~~NPUcH=!uBls=g󸺈`UDĻ^!{gGV%T IPiXŽg?R']oT%lXĻUgh\Lu FACNWKom;X ]gUYπX2LHKD:7/_ZǽлߢcsX+v41$6[>'D |LF!tXJj21.\GK<7QM=*PB48cQҙgw:Ҁzd+1.`ˬLçwT.Y(:Y!ᬃR>Vy Hkgs9]騢F/2C"Àʖut1%8 f2uWP>&\SDS4ܨ0BXA#&R/#=g1%^r`U4CG|Y9*.+!?loBB^ Ҫζ~cG ĝp;"gu(װW*0пNXf}+ m`-nrI2ˍ5D(B_6E>rqXnf3?n%E+KieIdʨj;Wټ;;_~u_8A9Y<k?$TxZ4vKhH -it xp7̺?IԪrtFRE.i=O4|_wp4qp9:P7\เi@+c' 6G*1Ц3fttd4#d-RrfP6Ks;SKA\ V͍ow ")λ=>O7[љG>OQ5Sr @+\Prey5 @ ]h78XSqx: *Tek>ɠWJ3xI-Vt95-tIuCO'xH+.!ŷ'Z06 tLnȮP=ۙT,dT5u}C Nn^ICi/ߡ]﷖R[-\Kמ?j).+r@o|^z,H2nΟ27-$'@91K8G6qBڠ£_ A\Ȓ?'Ae^ٖ(D\QJmg % &kaă%4^FNR!.T^k `z2?<^td7Mwwz #:F7/xb%|4 .` gf}'08?v;MCQ4DzWE 7+ȏ9q˫ѻA'cxBf=<H-:<׹/Qv#cr3L>F\X򞹢}bidXC6Y,j?^>7 O#ΎGYkA6AY)sN8e&K+J1+J%PEyr]Ҵ=:t}CߡDg=z'.B4M;wsygq" #=wO>^9JvܨLldHNPxtC׉KSG_e-hR#H.-DE$V&"#:ro~T҈ϭe^ UI&i Gx? DW%DGѸLC=:\b~%NU1s?3`+n3m)mA}[W/Ι&%>'ezHOxq/E/|OfN>-P |n֭LRrHf QLf\p?@ A l  en r ola7 ZۜT\kg5CP bqk'ѤSx?nER1R%m/n-`Σ\Mk7ڟHW$sg #Eߨ[ѣs-!vȲ$)iU&2@,l]K{~},5͑_bއm%Mє;n;bybŊ}wj f7 &D .$^ip;2z5VΚ\]T*z>8P ؤNmaҼrkSk+kn?uqTZIec~q;(:Q2A`(Nl AA*d0h k+!t I`5e|(f3m20XD@ k@V ɼl+-T>I 6|JSV0pRlPʭ|&_(DRZ !+7 |[+7&ۡ=Š^FFMrǪiD?0H6Ej+KΏUV K9W4Q2Ku&SADF䟮02eZ5lUi>J#= Ĵ#Wb}4svpДj@LʺT ~wGTTwezaGDl($Skn77V^wor.)As?*seG,.łKNg@> 4֜c ;Snlk 5 lFv١VyNIDC>zC q"&İ:00o(lpyXmȊ67@tiO6ˤ#IVG)j 3es@Sbphl& U3l6!ۉ@W`hs|7" 8?DiuJB|R|jE^}w ;ΩE]Z4V= B*xJ̠߾ݍf]DO TB>}t]6%r5:c;)^įs{Dw X41_N??s:Y4w#k)=jk?L{U *rx !T RF%,<4kX"6+vL.mF,yzjɜ`z$,=l%`sDb_3Ts]6wyt,n?=cqlerGGo{_+\5 KHITV\GrWI8/R#7:>pml M,?t qܙMz,;,t3PSQo?qҭ:W K9r*;.4kOOjJx/xǼ7Ȍe:+|4G"_OctLY_U#VhU%iˡ J-%xn!^:2!);[M8Oѽ:4Јeuy"0?ny}T"Ԯn@pc,I%vexS4%-W+BXb{[}n""3o] =-JͮdN.u,Հj*SjFcohZE[C [v\탋 ޷㝥C^!y>t/*O2JezUnn*q{K{F/00/jAendstream endobj 554 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5039 >> stream xX XSgNңEh;M =Nk:TƪU7TYa˾~W@a\}+vνLtztvy y89}fMbُƮ_`Bz9~X2 +|gt PNnCGC+ fGM]}sGW OGNpɒs^Y`I9iܨdqfZNɎ&H᥉Q)-?_"D'爢+̍ęQ[DiiQorQsҢ&*#+G Rs2SӲyb^rv*/==/[ eU N.Xrc"qE32yY9K?аU3`6gma-cmemcmg`ų^fffŰXkXYkYXYo6^emdŲ6Y*XF6Ml3¶ml;zΚ:^rqO~rzʿM {qgjӮ? uL771c7xbG~󳏞\dS/0?z^PusCS?_)z#((`a40mh8tk9LW3ɡHe9&h4CtDs {P.o?Zh*r3O8z`{2Rq3CT TmF\\Y]/t;~pl7(B3u j9*5^G mDS^.~\O~Tfk'iqv\7Y+NGKah* r"%"܊]o&%H`FޟMgwGq)gќz=+0J (sAV2鳒,mѐC!9l'Lh چVh&Kœ}[ϦFDd^29זp8`h ^pBZED?e:@?}w+t_2>X/0f*Tfєy!ɜ0=b;zN@4Zrs"ax.pg]`&ƽNOm+Za?FK $r'4ֻ@=Ơ6G&E^Z.``cgk{X [;_|ڀj/tWړ۴e*"¼^@9oJoN7](*ьnﭨ@OxZ)J((v~oLKK4ƨF%>z>AWA+h% WIo(%3^,#Gvsxn+kbv/G:Rn.^DQ%I1V4uMҜ|aV HUw^0vpA6P".%xჇѯG/ uR].^2IQnDYP+yBr l2#DP8β9dsF r6|u@M7k2Ibqw1NfETIlT-Tia֕_]#KwCVMZ1Nd+"*YVKr9N_s3YS/&bj ] d jd'u)Jzf-UMb\C$J| jmAI1?ةH)ZȍE걹#Sɭ4ɩ-fU0,A7DX5`)GVQfE]: &~sCsS C!ֺkvoWUVZ^W%M9##z" RlK8tj:~ʥZ-nD-Gdf=4bU]0w#vgnql TⰇ#a6Q*Roi|֯0VD9⭔Ud'a;S?p)\Y8/OWTYoo%W> z['׼BuNAdBX·Bbog1\,_no]};e(2~WT[s9ʒ&Iz1h垭۰No_~naFJ_ @ާ'P ȳ]gmhT$.fe.y"Ȇm4æW_pV2w@-/եꄔQg ]L6&ɍ1& xUmf~a4hqo MplvXf :F/3TܦLˣ 2C{Sfh1516IZ @X*旃YHZTجUĸ/ NP>)XQIk:-^aV֦09RZ EnZMY}ƖV}K>mssEܠ%lVXgFrH(]rZѓgjAHK驰8|vO:1@Q k<] 3Y5xճ*zQt{ޠW`ٵG0S2ezEQgR梎S-fG ̎:K6Z$w$`*_/ ;VM&&|>%6χd&(t&:6"9->: <<}a/_.Yߑ=pjƢQj=%Mw$`nz!m6:q\7Xh 9f+$uƩ. >> stream x\Ks7sG0S!~8b-Ɩe[aZH6GMI73*$hp`Xg_>_gT_mj{w|ސã1(^o徴j 1jt.@6Fp O2bh<1TRhZ+p  F|0glBS rXFX#?>7t ::^} oWϱ+m7/kuN %y)#[ZAΏ<b _Vq ;6[aZa0Q!Oh囅 ϣvؔs5vص?:_w`?v 㟇YŁzDHktJ4? wpIb,'ŷ$1j'/8 a$ыZ/`A KzkFOUcWoSu+=O va%l[D5잘c93w׏MN/LDA5X\5W]\ʀk?HK NcqiT=!0ۛF m$P `~a"Y (Wei~N390IĬ!U~F9cbn8D8[ciRҼ*e){w]/wߖ4?+Z4u}]4 $| d::c^3+=$w TP7̲Ml|D3Jb {@qT鍚K%4L ŋFfP9s1`ן ddpY U]{de1~Gri=<esxp5< @>5XT6XJV:  ?Ɓm PϸJaGg {L$DiA2y -cTegd=( 02YId=gDX{FU^(P#Xߛ20 6(p.%'|M,Pu@@O$dsgFPhq^W<p퉃9pVU/ᴗC8˗hќ2%?|HGu hk]ͅpSxC 5e 7py6GBw}Y1c_8z!i4P*7zg?}(y^.WIi)(]FfX[Y>$oMh+b5;τcw- I=eo(1t9W!DEKF+*> p<U?UZEWQVc#350-&IpQ',APA֌n bM/˙ (VA]Ñe4r)I-ٵʬ xC TaڱHA`%srĐW*ܪ2TJ䁉-t?xgHjOQ yrN$c~e?~|^ÓˍP uc7D1gXy?*Wn-ˑltP+*;$%}uU%QX r0?K hA)]0^zM9̝wY&¦#;>I^OvA*4.S@hңUe<|9XD ~}mbU8KrS=%dkfip:: lD¶I\ĊsFq[I3mH:ɷv='Tn'ƟT ?OBJ0Di0e!cݕ,K 1SwP&kۛ@'i2 3@fYˤi2 0'Y)0[*y8-C]V`wZԅ#GF]%QY̢3E1Dg 5lc*3ݭ%LwSiX9w5,Йcߊ03bt 'w ǰ1ˆ.q`ULeuy'mycS} L <I s ^q %3?GmRgIUyQ'fl/*nQQgʑodRO7;gJf-UlV[G$&0Bu-&h{2HLLgژ2b C,Xl]ks EZ4&\Wyt/8I'#uMؓpF?^ OA]ܩtzZQj3$6-6Ӊv@lx+EAC.~X\ ЂT/'TNf'S@_?+9wXn~rd-/{^Y)SMڕU>Jڦ f D-VP $`ށIB^ GeĚXda #=NHp߱E z6e$iz If$5a /H*:Eo ǝR[`?f1L4,D%L5~B<|B[%! h0S !;T"jw5Ĥw :q&ԡK s}W1Jou+|Zc])L=}˭4OK4J-aMUwfUҼCiqƛzЈ0c@#瓔4h,|VOlz@,L=}!M;*_Gݫ<%BJ;KOJ-=z*b*„D\t~pyрw!;EMp hWҡyM.\{p7š}r+! whRڣ!M}CVI;Sr۽$ZJ`FY("Г?*5%ı#-ܴ[S1ESjb>)9 mQ4/:D)_Ee$iɁ6r͵v PݿF-rUxގْhoR o})؃35`RU`+H+@@%.'ԷeC"XMܔ(W+ѝ^vtS/>eS1X5 eE 0) NT,9[\wZ[,M5Hy[׿m42.kaMH%0cjd]Ǯ#30ݙ%c{L6D#ن"&P0Uf,0cش 5ߡiq6 x)zhڼDDRiXl , ;]ireM;d2jRqH7tu4as^U^\V dzY ԻsdJz;QSxNĦxVFʡOWJEw|WUӾ%tqF^;si&&%}Ώ9u D/38R^3x#gXz\:vC~hܮK4 R:=2k]h:xc5<Or%l+\odXp)*=2S"K;%O^qRq09<8+&(m@J2 ƥ)cI:${H kP1L:*Vؘg&˻mpqh.,T23,<-Iqm([ D@9e0dvSz-.]Gm~=8K}"7IoT +H0 Di9VA+aQL{f?#-?Q$'܋o/bFg#V%? Z&h3O?S2^7WB_2W@k83}^(âsD33;~dooOG֛ tEi?msR^hm}M `@f M[5,-ΦdƢ0~QG{eX<|2sie> stream x\[s7r~WG̩@{hUזVpDR,Gk !)J%)?F 4 \NGoLGw~Gˣ/C˘??UGQd;?B1qǧw:gD&X!UdK;kq8R[-{HM$!i j$hk0Ħ2fB SA~.d={GܞIژ, {v/xI|vpCx<0tz=:3gwα5u^wWj9hׂ\ ;l QC0'j NzfZ:9> Ȝ`(8&Vj5j0|+˭V6Wl}5[9ۙl$َlȡ]xg@"Z4?JbgU!ϊٺK"6 z" (&|+tqJؑdfJ]K|=$YFpB eR@I #U CⳞgnzވ~%900›z@vL7*oͽ5"~ (6a'# w%XX K\ yYtZ/jsFOkPEiakSզ~vbaZl b8Fͱ6b3ԦM[Q~&a@A`-~ԇѮUJ g*{ t/JP-8/ }"'6H8>;&'֠'bjV\O ɠi~*H$tU O 0mԪTh?n DdFpsœ!gwLĴvg\ƻVVx'OMM ? A@gy NDG`XqL@oJ '|oqH:}>F v !xNex&m6bFuRHU+B4Mt 0*ƿ$ zqDQ qx"-<;e1t,]͒SgdZ_bH]ʄqr=ntc1ͦۗ<$6M 9 E8rхe5 ey=Q?Z~oD܀BW""WLr (z$~ ;1fZ :ԙ %F".mۦDL lcZx>'6. ~ ?{"8>t4^L`KA"ZZ|Q/B&' f~V?ŦB6Umh],q,PH؁A&&a,A2=RTm)P")/pѿ i4d  DU^L%S`x̱1 ֦",xO:P)AbJVDz4b&Quk g)+ZXfa>VscQS@Κr7<.V!Ĵ%z. g l(Zy9j>h۬`CjG}#EۥF`OJ@醰Bd-V蒃Ͻm:/oY@m䳏Dv)$6AC1ŶwVh<6YɁx'||1'K85S XOgo/6e7kc '3.ԄZ>5{ *U+gŤ D]])>6:>b6(ۤ[N5Px/r,VcgeQFˌe,sg{7yHM ꪓ:.A%ohCg @Bⰴ!uIѡˌQ|rUw}~cP-Zv2>;$@SjɌ]רmDLƥd f E v[ 7WEZ2@dY]70[H4R1^9%XymlwςJA8Y z`Z bR ,24b:-PuƁpB*`bHiաMfAӬ $yLǬ,5&E E\/X02f": ?He{P\0?AgaHBg ͳ.ю Xx mE"LGo62;9B RӦ$3_Pyh@Z3-#hJDLLgס9nU(iSҠ]T( p{ kZQ{{P|P>&ר ѱEK} ֆ6Xr»21W*uϽÓMBc;1^v,{nb_VBFƛBzy\ݐQEjƕ IEFLzfBrBrB f4$n![jQ \i!rsM$`w=9 "wfn9K`\Ml\g_x-#T:GފX^1S΀re˳be}- m^ z Z.tޅX/ b#uvJdg_=$ 3Ք ZIFv5܋*aJIMr0ܤ:Tt6Y÷w'Әͬ?U<2NyYe%]pG6ێ?Ir~>hTSMDfr܊hI'Bx.xߗ4Upbe wA1\́kUJExl~f &3P՘>@v_*;cT#; 1|yeHpPМ"A~ШLGx!H.C8fMKV*[7`vV74ax0lU9׺Z2")-eGXĩ Tjprt&fAiTe\>ߘg͑&&N=ߔLDlem>6ž ֡u[T?YmGg)h-Nr"eNӪzHUQem| IX#8#ǖ,?ڄ΁V.Q~STM!{k%O~˩T`9 T Ttd a=4S])ЭѓվkM/61{П`OcaMfsx}9G.;EY#34vu-KYO6M(Nb tS2k3L53rdpw l;U wYS3MILd;gAS,]f~ẟZyQM;n%TT%VUe*YkެnO2D'~MVg@y~p.갠ԇNuX4Ѣ{3T` nҽ3gvM!y!%{?XV Ns9-VBR@ ><?|mAubT^{ڞ7.$_5L^;F&~B}2f}UO_,!Pr,bE\7ձOa51$[Vk'+IEMXmMtmj9k&z|~b -G[äO+*gGP@裵7u${W|&Cmq-D /g"v|zBSf#>CCИ!3Drq%zȌ _gu$ǻZ^U {PefWp!̼1^I TjT,fBJuY-0va5vr x-p5g_ze!Ov!bxt٫Oq@NjSD.kSRmMa{.%8 g[&\L:lc} Wt`ޏƃ<{BWZ Meyh=pKZ*̨)B[p9[Ei lS,^xi{MS% a&|h)/J]0(1(Ǝ^obbbD$pG aɜͳ}]y2'\ 3QxT*m.~jԻ h k[ Ҝٽ&ulf/*8hSoHB|̽ؔ9f6ϘFgyT|&lJ%U&MM7NF\F) 4odÖ/)n\2e$f{Zo weg%9=  P_PH</;/|q:δ/#Q3.~!W}Mş5@0L<~§sȶWjl]~e%ƜkYF[wD2F+mbv䚈v 8VӾ=MDh و8MҴv5xİ81l?9*,:LB;nb{[ 1Ln|s)=1Y ?ߔ^}`/^Εw'JE񮻌wk3  y|dkYp dGG5ndL5ƔX3E&J݌( .DZC^#l&8? چ-&zH΋Q2Zyɻ|la9 yH"Ƿ)e(o3B~3pt!BGY+#޶UY2\e~ˌ7MŦ0o(%  -OW:2"sdt8է-?-L.lL;d &wB; Dendstream endobj 557 0 obj << /Filter /FlateDecode /Length 8724 >> stream x]Yq#_0881B,uvE? v`@<3wg1 Zv:29؍ڿo\\>1'T7O<ٺ?BۜU>zhv`5b9<|^&W;{0?n)[hl0no9}Ko&_`L65>-x|>JJ<֛a{| [L-00#89 ub` #hjD{U)[R 1XZ. &ƒwL ֤{Z0c۰})s8Zyͬ`c 0`0Dl_'8kA$Ce޼߱f-QN9b%X*HQ8ƧK=SFgt>`v{Kq[HfONۧRHV 8(.iS VOw։tŪ^d<sÁ)`shyMlh%d12.bow5 eoacBihCig;suRx `n(ஓ7~؇&ujl;ękZ<# MھggmQ:Of\:<"&opt@|@s3\kcܨDg`/'Z lX{upa&rlȡ ) .;b?eZM KӃCuZ%XEd pe=GS.?G![l? ~F)ϧovK-3l_΢5wHsdl'69)Xĕ%8LܨYCvB0CI}uL@x'ґT8EZNvJz JQDpNv4ngSr-KEsZ:mȌ*H:=)Chc/~$<{9!"'ϟ>-2dܤ K-`j3jټ{ŪX5PD#X2e4^1J`U%`f@6P @Y(X85u>Zvm- 5JQ j6s;2N;AJo&G:ojZAlb}~ j0׼,N (򧓜Xn8y  GSsܠ4s+v53u4V @_Fgꏬ}2XYuQi b0AO>.MmR6ox0@ d kYYwj!yN&rpVp[NC`JcF|ID>(}pgf;HzfTjEC,Z OoCư׃ ^;mbr7)r9Is8:,vy(eu()< XrE\ɝ{/[VC6y#s5X F5+\U(ЅkhW} kZQ@߄7&V7wb 1aѮMiIq߹`Tk^p /86"31xPFѯ|a0uĐ9fD:o$uwi &G . - H%X u0/p# KIrʮZbK`U5XA$4zyP"JɅ >wrb ̨&>1ې I@`2,W f!z( q! 9Ѹ<tS\s& p9R豭 &Z&@ucC oGW;>CoE )ڶy!dB;pi8A)ryEbHD 4I18 EkmZgVB!μ,㊳3DQ*OrRtMP6=C^AVB#--1*&g%nGYI(ԉ31U@sjQR23^*z,Sj䍃^? Fʇ Y*փ0>y |Ī1C>(we|"0pS2nMPeAvU! 2)DՈa1"&$o1fP0|(4|:©Z-6ཿ Mv<]]r <:rBd槑Cb <^ܖ!߼ ⫗Q{hqqz?RzHkc!aBrGMbq!GC3 ,6ixa9|U!91~,uY Si{dv҂!'G6ܥ1]?4ceA>N(sq( {2ái`PBPu|j1n 6]%9Hw\1W0"+X(NASZcJB ~gߓO~ee`e+Da}i3kOɞ63I̺^ۻ L㝅U ,GF wm4wRw>-S<19XZIn M91 W?=og;yx}mzotzr'Ux^mgRWTY(h!k!ZVE.3L…e2LxK];_aHpXٛMsQ5cIo+x֤K-_sa*º+an˚3.5PǢ.'K}JY0vjceRtp~>16\:Wڍ6DTNIi=G/Bt*bфE4)ETnLqgABh f|OA  p8TE,.ifs:c 47+SX{'{ 9O(n2z_Xrj!+~;|ϡŐ;K~@CYݸb.Ǿov#P˛qش}ao?!Қw5ʿC2-:tDiT`,-!&^.ɡ}qS0#=F#â3b1t8$s2Alg!Mlζ c3xW*v|eUw?`$ z@PF)םvTHK= G=I ">Gu C\kSΑoYѳ 85Max!1>9h;CkjЍx?^ ( MCGļp2hbÄ>!>xȈVG~ɬ^"B4<)iW `^% ᐇG jD7;+_{.^T .yXޮG4*fMluJlnP1ñkH; ]ըQ' Kc1| Ҹt]>tZԈ;1e`{(1(cO:ݿz9iFcdn'ʌw9+mX-y:%,Iݸ)i8xt_x˨WUl!{ZYoU ZQrx B/; }ZC1PvIBbqU^DzȇFDFޏWܢ(RQ<ȗKJHRXB4$騅ケ'UXi,f\sߎtLrYڋ[$d |hԯF;'s(z~pX`;[q)ȡz2Çk)3Cūj//')7f_ ?&\/ߟdO]=R#ՌSo=] -m1(ENPL4GUL|ri=VB]9b K!T#(Ӕ_[%fiZU^t}'. +Ʊn[-ZZ5ühfܼ;»/>pw;r6yCHt 4=[)/*Y$[PB> ж~9x==ÊU(6C'=V'żv9<z5)f)ETqE ˟(,.VS"p.蜸D682۟ C qr3w-oc(VDoYMϡ[[s >p!`Bj33o]/ YòEHUF㫅ttQʣbv1uMj F*{ά _ZT|7B28L+ӶV>P( CNߗFSX܍3~͂= 2Vq[H]k@DG{[׹ @X&#3 \ӫU4X4RY;72@R^c-Q \t9yHbs^r) ,%t_[CS!.';[tTM <0!y<~kb7ʯHjOkS pDj},|,.%jh Σ1>v_4aL` $܁t <ܘ7c"{$y3Gc]%r&,IecY׏wXKm8,Y<-+&.X󋞁,erlUc)TnD?EP\𚽶MAF~~$o0y;_3j•nX>S@N\X~& *K\Vm nk+i5CALd>Pi<~_jƀW2]U $H UG&,lOLR4x!l4A#e,ct5C@T͕R "Wtru.3+zb` J O5s Ceuc0+yPZܴ ф0^Cк%jvr> )7t>%~v(B^,d:;Z4]td&}ڕ{[g\TSF\ZӕM6JA딗($65h~9򊻪%\ESghKM(o {,|q|KCLO"ɕ}*y{@bo<(S+Q1K>6I.LV3w;y~_5:ݙkK_ȿ|מWmu'*[Q` ]ݒ߹'n Y*j|q̣6դ(؍+}-VcpqfNZaWv#61uLxe5-/"`\oDn$6wc;: kޘifpn%۔,atuߏ(^,=;:i>VF'!8kѤ| ~ŻY<􇛢g9`w8,3}"Kpvh of]QQ(|hMn](S#Yy^NyM&"R%b.\ P26ϲH}A0ʱX.ӂ4p5]*ڜU&i@[1<f(pD{+e#/&f%r#bRgOENy2v7$I`5)g)AeіJ r2DW"?±Zg< $M"IF&Fh `7d0Xp,0/N'i~)_PT Kb柦Ŵ`#'Clm]ċ_&#K79 ĜB.DÐ Z:SwW?~B% / 4п[gg('D}UעchO cMk>Sd=خ&idqJ/ʆ["0+{,~{a\7Lel0&J/7O"޿-}0-|>(E0!F1ThoNɄ@ ,K36>~UyE=Jۍ7N_C|C]?wjBe|P:S˖c9*>. 3TDv^ѳj[#zDm}9d7"z}ֺ m;aNV'}Os u=E^LjCZʆ:/b@֫[iAd9}5\5B+qw+٤$Vw>Oaϴ+UGR}7$W/J)֬AHX*V|}ўT< ҸeЗ8Tu{xINtrUgdew wɎ"* 7vi<71a^%U<Fν#d●2ۥ+LZqf+WqwJRO'8>endstream endobj 558 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1643 >> stream xTkPSg>ǐp(Φ+:Ed:nP!&M@(Nޓ b-J(((-uNZcwkgn;tvv~Shw߯=<$ IR~_?sI.e IX}?ge&b]6eğ{I H&R}PWC I7:s uƪJ"lbΝ;;Y:LW(5JNcÆ*Qd۵mlN Ɗ綦)UJ!mxR[5M8M4\S*4K'T F̀i{EVp})x%[z愹ۃf{~2ʴ*|x$p=O\m~,W4G71/SwGZ+ 9, t=˄\p \0>|LK9̡^:!~DNkSRe㭑љAվyxPt]t_iX)'?'|Z$?-cY/3V~|@@a `y6`9o?jYhb#ENm3acr:-fL%Z=]ް;ʌJ}(5|B92  0E=6{وW.nz*Nȉn䑁>4Ag ǯ;bJo2" Q?e`OxV%[Jiaߜwx˪i+#@e~guw2Z+XI5 dS/7 o4"J1mU])TqĴ̮76OUeYl|-.F5))7dFѮ8Zp Fp %fc.HOXftL#؛v+]6̠&! Ѯ8u < CGZ5(XGiw?#STߑ5"pwZf凃֨e>wۭL;tPֳPob[!hC,{A8 -lMT8T<ZbH0%ߓaf,&Q>z.1ls9R_}Ql+(PR29)-E˼Z eE)@$k*F]Wcoq Ncav}&o)Ev>[ ? גWیkrozeO[И⼟[r̀C6G',.5cjKU$m rX$auwCHg%xP"a%RSYendstream endobj 559 0 obj << /Filter /FlateDecode /Length 6578 >> stream x\IsǕ:]31%GbƜC IR-Y/Tء\-9ZuG<^wpv{zwtq3a<Ҧ.gSuApM ̷.'0uxI}XZ`|7`.4:t|&8'y%CqpO=\Co5Uz߼-<_z+FtZ7|]lVbбra.o{v X}B5*+Rك8. x+L#vD{IL]'#C{g~mtKlYuTu6iЯ k:eMZ!su1 ΰ}2Z-ɫun Ga9[whLkA +SO+N$9⚆KIH{39pdE'`G _,Z΍W:(L)G\8+R.xG5m?α;S8:M[͠(HxcYr14 nӵLMjZWP HQ]5oBk5r'i%$ͥ4?/MU]iQ24}i 4_d-wMN&?{5]S5bp]3Er:RV1miM8)U>*=e"n)M21V2 BdBc1mYgQ)7gC適&kW*uɲR/h@ (HRGAye,g>.ai`Ů%aTJ-bV<-{`vH'KM*˒ TT*/I]('uYn5TJ!hMr&>u^ϋ.6㼤Dphvy\UT)(x`Ъ.b,*=V%+.RߗE^O6ߔ`yT*ui}(5L~]'yTד{39Yi>(_'iXjr9?Ov8jr/&Gxo[y@DDvf0)Yqio:ei^Ei>l޷80z4/P5` o"\UiHoE`|N"/W C `@,PU&MBTo\YҞ/+}1[m.20oqJ*}lmQdRK(5x8 (EЗl (eR:8{K%>[A|Tl% 6B뼅pCHJ [[tj W#h5 k2+[g٬Hˁ Tz[;m=?CzdA}E*qD :_eeB ЈRt >9L({vv`{={lͦ*?(L4D_Xe$vurʍ^4z*ɍL6!K8uվm48^ c982.kHV,Q+NdTi3u"{(HZh$>{OLҴUȎiP|y`8W7HJ1)E*& jE['t{B4;2^,*P>m7y@ULEK*~;0--g>!q9g J[ ^.;=`֩A F[0^U1Ukmz y,CkHKO9dpRp*]tjT6P{t F+)̿,#*K42_믆}BƢ3RZywhd>ox04+mK& ,2 S^Zn 9]v3뭏*Jd&t4ZsT2^ $~'~MߔeiNvPgq<4.M=32MFVdWzJǘjs<r.cPkNKm`| .Bǟ#6{ΉŽ9!{FC%#/)SzgɀE(yS頢Wo W(5/!(4ȉj\:[1WKar*@^:2cdhU1WcK@p8fPu+aMR OئG rW|$!x \qhq=?&;[WޒN`+JV7C ^߉,ǣա꽺!rŇ#g a4Iwmi m\*-*0L\r'nDZMEB O fDsUA1~Жn{vO]WxU,*@3^s2BtloHGs׍+;?RF8R><).k| q(}lWX4&=,'yXKo|w u=9}#\}Lt?riOqGzXJI}5HG%nCʑP)oFコ@XM2J%X_>:?@&aUhrKDDK^T^ಢ*zv& $y ZsGte΄ٶki8ڇy?cU\Ea=!K< 't@[ƏٶL  tPY@qv!Q ?S4N̹&4oi5NNB~#MyW|r-OYrZ$m!%k->(5J#aZr=)j$jx$vxXbM%B=%ch7G Km<8Sigs|EWU-BjF9 Bsd¼~GFXdeGT1:uPZILhTsԍ!utSl(4F[bզ8.r:rj];Vh[Nғ~Nvv4bHXřyNyorvdl[by#_P*\i#πGݧJ/KFTQo{a"|0u_Ss=)޴z&+MdH&RƮllu䰞=xLJ%Fgz/e1`=t&B-)ϢlV K/s .&:oBY*f #7$qoYS9z4@/U0.jh[,HiU84n`e1-jݲd-z89烖pA>DT%jL}(Ho '&6i%蔵 I/iĉdhs[֧^+u᜛t|p'LB-e?0߃\3Xgl$y1B‡C}(+YاO$~Y Eø(Lȅj$kC]$oǼLTLU? q-ӆTxI; 1.k+l>0 ny|tp}R q7X~ŋ5٬f]胡[>!0/eD//z=c Df"Z] RDv"x0JwuW1Zu`uc&y)ONϊH~2brgL[i̅p,p Ln:5z5swjf\vJ\]*ax7^L&菱 Jvס8ʻ;j*V9 \\g;ZGPl6>xUVBH41@RVz*DG͑r]w )v}/lsҋyX|v7+wpCq4Z͵*X=/ ̕)G=[&#|Ηb:]?-yY)+SB&"qk<g<zqv_ut #dv0X "DUUUCKTq~ǒG-u$Za|lb $;𻚈n囻$?I /d|EDŽ,'BG+0iJ1i~D dB{Re0Tj_,BK #0eVd ui?M%uOr"f$M.i }|zox[Sde\& RVeDvq 4{8> stream xZKs߰lJ;S(˶򋎝9IiEe!3,g)WEA04_w E~obs4uQ9>_<: m"^+{B{ӧE/~[Btu˕}19f:҄i+L})F+`c9M*erz}꾠O[ xM'eטuʫ=("?yN+lN@CSs)UmkmY2ڸn]gԭBַ|+S Wl"Odal &uUAg֯&:G[]+.mn!?l<^0N.gR)M:bx57{%vx8$IiO.80 8Y'H\l"hf-K5l8wq×XF8##&\6I#+sLX4D].^ m,EX\R3KJ9mT-(QOpKV#EGdd GoĽE $Ʌ1Ǽ 'r C~R!S ԈlLTm'5!UR/Wp>"6ucҦ;("+8ؑ&0&NnR|~7. Nhqn)̮0a7c!RՋÒqJ ykF&j>K: u={G$"!c1W!.h5@RRh@:\2&k=ry"fdCZ,Qk8pS. Zր.i iZ IYݤR/aFH:@]rAj=%*'Tv#\hH\{\HiT @ro)߁lfS}[`z38439^RyъIa{LJM)W0R-.()B( VOyel$^XW]PYf#~#X;(9w9„ FcZڙޕ\$ы0B"94@F ݎ4k}V=bpBH__6'v{]vb!l%͗t\o CU⧵Bi{+,}` I:_SB2𲜃JLL]h̃d|,/ɦf[Fg4+po$eZZu/$A:ڰBʸ8#ē"ĩۍ/rNEj>#e"1Q%q>ysZ@ N4 $7Kn=7W*Exc4Z\EPY@-W\HJRG*&^oL@\> 1o R҆3^M[ἡڤgAIBJQIS;J ޅz'!Ix:RY ?!o'{`xmT~ i\dOqi0e&nI]`L~tQVt??~LP3f4$'Gf( j| RY! BASjv' HeM˵vp6 \Q=ٵ{&$fr4ހ AEQ4b}U@rA)B/&p6H-d (EdIm ŵo>OfSɫӿNzl յeIA֤1v=ѣ(R$yh~;T D|l.bIرUne> N؊z=Cv ~ʺli'NO8*Y%k$[7,#Ov@[l`9Í-fS q %WD&)!>_F,Jj8ڤنB;}VMI:2!&Ũ}~aC'V8oiMq_lDk*辟aٖJ m,0iu`*ndf:)`*zjr^'~Hf?m&m[# ͻdf{b#לfh[n]5Qx}٥hmX|{zh wT۠[6T[nd9; 6%w4oJŬ~u$e: 恵݋$=%Al'OwoʬB-YNg})k:ȱx}! pF؉I7lUפ5{iZԣ'j3p0߇6ǭ6ܡ}k Oflz٧XX?*#'+1wJIK;͝"5>?jz8^DuK7\tuf"ĕ6pZt-X;}2':,cq.SA&Hﵧ-3\Uʥe/6+.`Uѧ8 ý 'D\y6ugI|>aą|~6Tm.HmжPm ka߆7mfm;53ˁ-T:z qj z?O˟86Jţo+/G.o ݇}6{a=;+^Y ԾmM>lÛY6NwlBSm/U> ޳[.Kj})+Tڲuad1@T-u.g6SFhptïe"d.3z,hOTF=aDf|~q_Hm2_sOsOˑqOA 7ȷe{zQ qU(8X[b釫vW ]W7Z )t%dzh$a=ޑrDP%g<MAS%mʻ0)K=V:P'1vml_ qw$0}^Tmiʆlw+~kAln!>ʟM>Iq$~" مMj֯6|ކg+QY? P!lump&lA>Z~_RoŤendstream endobj 561 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3153 >> stream xVix![LiZ)%4)dKH)`&q -e˫9#y$Y&/Mq !BnyBV.ySR.>i?]_IKzxcJ N _NВpPO[G1x 1z uo䂪>$g|F*<,\jI[ V, ō[zx6}'-uDjK?mwUlu`+ 0$m N/q]*11 CcNU+T` OoLIC|-S Ⱥ' THqC:+'DF?lj(0 epm\Ã8 9SZ*!qlMz,4mL.ҕZWH=jn,%05%j},y)`rI3[ ~!1!n} 4[ ׍ZBvmR2Z<G\MW@oƭ Oֽcw,BvzBnqFdb-+fT@5˲JqZ*Xgf( @&c<5PЍ 4NeטLd֬C]qj]ne s(J(HΡRVh G2,6#0]Ch%Gdg^̳e;@Y^ $yCTG*%,bUVi:)P7Z !ēJܞl"=e*r xlKq2gvqXAn/'/T[_2w ܤr7s> peey< 3_-G~\0hXr *.~!,VgLΖ8~a1FMD?>b}62uvՑĽG("}{i9 ɮB !ɛSȋٰ U)zfū6h-}b4>yhHl`+4;TϯP_ mfХ8|5Xn46g,ng(cI4|fThzjMkqZ5ֺٰĊCC:gQWhq4ŊJXJr0 9@޸6u6uS' qؤ(n_B## {&jwX"/3>_D_n:p/bhSo:HB7 TEb pm:̜g! !?~ Zh=X\{-×^܄`%\{XC% )'H<5 L-5#˨K_}~`fJ-W5S(>(Y@[F ??hx {Kޖiԭ+/-2F"^Ŝqךqzcg&O$:=s@Dc1D%N`gJ[>tp K~@\hpefPý+Sq*ixLm>$57C*`uhVL iy9SMҏ-?тNfҍiFHK"?5$}&R9IÄdH/KE~w\IGkpŰe&KPO29,a@3w]A-j-=oPGk%*ǝwuA }w1S2O7M(CgvpC9nHI(Q9=πV>,5f*W< xJmk~ Vኢ륏;NNWl%*[س6氈3qrʑO6ySߵep о*eiXpf^̚Y+?VX__MWa榫eme3~ޏ75 ?I99'90E/!F!{QlvoI?x^1TR-A@wD)]h~EIю¼:hi4&Zo>V4hkyUrCHDOH&jYBՂu1wcb/Oendstream endobj 562 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5979 >> stream xXXT׶>bc5OmFjDM6QoQ)3!BR+6jzIfQvlʞCQ(]j=L QCa%R)WޠFP#)+JLFS4Qԛ"ʂD&̨pW/ffO?苒?FgiFo1nDȅ#sh+FMujThхclP,T!/Z b ٸVU/G(RT`:TƽkP~1yt8sA 5%3C1x¦װt#0mB%tLTb2~9]a-=NsŲ9#W8%ã8gkWXcX;T .Zoum# 0G80*]>vS4lWEá*֢RKEK_l.˝tۮTvRq=‰ZL+ZX_6>A?`a7æόȈlDL3RWr-=!H(c/]mH-vSX4*q;Ǭ&H9 lD\@î:Gr> Ӱn ~Zcħ%d 2Vz5u[}~;@-vnn;9O_Jx7Bj\)vABQUu.WHLz ےRO)o` w~A\zP1UG6|/a*܏;}ac|bDf RXܳ[BcŰ4,_1 0#"T'nڙ--Dk}# YLy{ci_fr{覓JH\ծ(xaw^FC.,7b?`Aj zuw,GjO.161KZDDuINhGDdn3b .~ԳXmJn|Qr"j8TnB9ӷ8+a{F刹Mv]ͭ?Q6>Ё&%OOa}- *2N@1RadyYba9K 8Xb5iD`4HBJFV3Y :kEBXء_AMBY:ęUEKwESmϣ)Z#|VJ6_?ܸvjF'OC(QFPf =:W_M\Ӱ+ȳ4Y5fBNoěBS\Zy FV]Z^#~: OF|TVx|JX8ZI߾t"[?/<0:Ӈbї&|)j4WVj./D mdqD1N )ZTRLl Usѓ'&Ke5NG *_޼y(}_ /Î˖ n*Xnr;y±cg?9}3?ӓLm nC۷:"4&(=':abʪ oٚ浃,؁W.̻$b*&2.o,GۺP 3z_v|~z.*׭j&bV( g(Q".)ND(+8kvҲ*|t1`.9Oտu%:'a_y U(>&+/oο `H;`|QCQJ/rMH΋.@J =)4ĝA'}TǨi" ?$ڄBpd\IZ11*%d&Ow=XX 'X}[Fr57w݆sK$N禫$y 3IE?>.f+hpaB3_/}pxżi{/6&YU( AnUi""J6xD4>>uo 8wUs jUA_nf V=ak3ƚd9LHj BBdJgA5k۠$~@s,mͪ͹'I+O+K+xd)ni#OǑ"~סM[{3:iuMPoRXGxnWBB,E֜"YiOS"L8 #x)A1xmE @w_bfQt2ԋ hBC"Ä*'}"Zt 6ZvcaH̛Mtc[h<O3uKđd[ӟ!)z{x*ѻ}#l-Hd}Dwfq]LQ?xw={pߟg< bY&~j=*}YwaY5jKQÖ&[䲸)濌Pl{)j@V%iϵ@C$L`S(1>ƏGhOc@2yDy{$apO$I%z߮=2NyPV} t8y՛=hڙD4g; ( 3a Qs'M:yz6na"pmqm ljݿ_iLsW ]WCtre"$A/XPUxIDeUnIQNZNcD 0f/ֿ#=Q@yb{a;o'xb /HDsUĹs KL ME2F^TRq8e3CbT,# g} BWBIT< =l't.4ğ^dr{&p}w~*w`<`тy{51e2MaRQ\.Wryَ٫ns2\BeE;!@hSA 4'̝b XmwR?Yq⾔LnVi?g@(OHuLV"H;Atf͆ؽd K-SV)QzՈ?OCy+N;[,ILJLd*GF)^("#JDDdrb袨ЃiJ*KPyORZŭENGx' S&Us1@3>-ڣ=m mjNZNjPZ"_ZFZn\;R -Z1(c[  ܏Q!沲.ZmXTY=B$p}Bx/@vJP]rgOޅmΎoCE6'#,tFMy2o޵d&v]N{ʷ/[nn]'E.S?^O?)*y+/ !L":2]A(5-%H8mrt.U% )0C+ +^ cedj=(!+cUrljJ +-/_;{/mٲ[ۖNnt?v"5,TMDi߶}òo> stream xV{TWLGڬPuVE*j".("Eށ!@ IȗI 7 A,)>[kujgqىn9Gw柹gf},cXwF=~oZȢQ":aT,^Ʌ6, (:梲(kfey2qf@2x͛VoXns835Y,s%BɗȂCBIޖkR䜂5m+WK3%(~_\O ޝ+OXvJ4Xa<ю\qirjzFTt!a Ėah b;0l*<ۈE`| ; esdYNSp<}(wPy@Fo!/3mO8(=[@VuJPgƿC [e(@P筊\S ͭ]v7E3`y7(vH[6ă8L\ ZC4fQIU2>U@5h孖sv;5 ^4AN/k*Ѿ{BŦ!޽۸_C3ёh GctOp6 C||xYhZȞEaw4AOVB@.B XV^̰ ͱ UZzG͊ۚ!BݿΫylTZ:b&&L`rxqϾwSNZK Ht;Z}FK2R`L6;e}4ZĦ6|+N< .:'8vp ||`!]_MnYQL0bqmѻcw۪k~4'8eh)uA( VIbDIGN vzVWP̘9PZzrA c%o&(q orrUY=f]Aog~r㢷A%Nk>ˍ^&TYW2/W[]FkMW^.tL H7`62<Ȃ۞8 *"yGd@VHɱē/QK7{_D+.[ƉaVi!Z&,(?(>.52ֻi=bYl58fiA)cvEhs@ 8uarAO7?#Yl崵?']*c+ʎ1Y'K:A-udqgr~?tx IzS|M4A-WQQYI3=GoyK;y&akD ($rSvU(%D|zmD U }XۅA41H<˰ %DF{σ!܄Sltܺq4^^J7GK5h7i 9ݘu.v9{!G Y*z4^%L,;\] %8Btwٙ+ "JE"3{j`+DHdN/lpFF6cZx6%L:\)BqP}Tn0 o,*%UJp5 "vmWΨn}'cj#WWza7LcWC90>˔JXCJ :3Mx\[3h()Z6qk2~냉E 4?N8.BL?P"Dп˦O=떶33!{SD&\ Z3d`B'Tp߽u2r@m(w$ӤܗpmC" &l'-_3q/BbO=:VNiT鐦C|PKQe'(X@?Ȳ:s۵} ns.2]K@'\AABoCeGV5bY_FϢߢEw;ƘDwT`6ւ\2}]XpٚzA5iK*hYNw}$~>$2*PqG ډHosG33레!|a>> stream x-T{PTUt5Z Ǝ$&&HPQtEPQW@Xv]w] yDThIIQAAk&b6ewg:6D0 &yy2(XMb;X#ģ!"YQHJ9¢>)픞pR,#wгd*OXItCd̋]n')F*sR('b]'Mx|.-^tODu !>5r+$i9>pc TR$fQ0;n9ZݔIg\}7ڈ4j{/nՋ?[yVېx c\#-!^L$z|@$񄩐kej#Уڬw XZ?$TQ[rA#U?!ϴk/#݈ GM2C"l"[ӗ'͍&2)#귩-0.; [8Q>- "x ݓR*鯳,D݂".?i%(P]4G ^)ڲ΂ yzXoKVm8xԼ3=sϢf|Y> stream x][~4TPww>ȎĐ|X{ZsFȶ?"U3 kYw.~X[WGNۣqu~Ñ_WǯV?JxMcRgGZ)q\&V_}7|Ovxތ[Rz8^p~kqSr1 h|7hp3G°ŗf]ƑG5[;1 [0>(zğC /Wϰ+WuvqeƧZJQΏ<7S 8 G7|ܰ;?XaI!O˵[5GmT=xƧ~r4h~j1n 3ތ}رa`#7lqinDfjLE ˵s(W2$M6!8:bw[zȮ^rEՎ^lRS{?Z^s>v@Oɻ}# 6цͲB)VZoaGY#ewRJ  @q-Ӊ k81Jo/*ef ?e(@e)2P6S5FsHgjZ9P%VgE29eZ`jP E< ǭj`WykϏikmn~ *{IָZEi昬f5X;lG V8W!G54w쪭wdv:m>^7?#5?.mc怒x{ÿDA¸,<$Ham فB OHyoP7FW \]m"?M [ ?`d\z*Q7?+EZ)T4H*uHvQѐV3(!x͠gT>ɣZGQS=[/QSJQvRO $U6LuUK)艩=[0Z>{ `1>mMMy6DQzDžv45 =[ГxS_뼩Nm&47kBBDݶI^:L5~,T,-B =:@<ao$ݝ̪Rd'+ %gVYS0"w:MN[DyO f\Dha'^Y=P@[ęzIq~44g)L]iL'-Mdl 뀨z Τz' Ҏ L\ l^ġal98(rρE@GNʹF0w5}i4VZ`8IR: eyڧ`Nf4rmƆZ w.v` 1y `! )O=Uh˺|" k]~KJRx)K)UNxt*Ӓk%YU+sPv4FIE?qIE.]S(14b' ] ußmǛ)V21:5&9k9`kr;~ eÝnn"`!NTDv SzNXZ z89%?zs3 4 es@w[e)M5&ܩ ?ėl" ݡGعjRŜgd֤є:w5#jKZҚ(|.YEE-`LT"*?{ytڈR-ɺ6I5X"Eo HZyMӶ[dYY wrzLGMdJ쬉ϙUZ`>+1N&V]ީlKOtp؍Pʰ/O[U3o-Ei`uth޴uRL'cȓh!bT 6FN̈sS xoJ.DS;0׿#-ޢ$`ԁiZ>63?:"z"z(59"6)>WG/1(9F=bG_φ`\;N@OIrC8<#4ҒP/[Ip`%. AR*\7 X"/Ý6| Q-M"v%h?!\Vl*ޮK1qkP $9M)!**!HUm,o=HnzB(@ս)~?9CDM -Ef{JyHq/ c4hx! =kufZؠKjU SɁf&?_ }8^*r8=LAB7`RBT2#=>'<h=`[F v) A Ψ"$Dʊ8Ps۫oN 2GRi|V۾/%n`XtZ/eikD^Kd-0(04u*Ɂp%2|<HfZkLcDv"Ü2wz @"A%MT,Y[Ue:szj`GD6ݭɬ>o;nu#i]Bq;9e)Vof";.Ѣ<[F6ƠL=7$+b􃲨v z,w؜>Q|Ue8Yq[ K6I5橐s'r1%\ckz͹v=6Oe2Y#|ifA^>\mTH13YxsP prQ[dkf>ؔ(p[ lr W®ܤY8zh=,+7%ӜeL[1*$ (|A7h.ha:nmoY5Rk༞ CaWh[OOSpW":B -@]JO M[s;1usYWJg ^cHL{ &wM'(xLN ceiL_?+MT&cĬ2uqqJa!,MKe_c1ih]bunweg`,'&-vDWyT7 Ϥ.":$Nwźbv l `2#NNߧg3J{qRWy-I a jĂ0?pIM~S;%?)`+/xkdM:?`U 9hd!$ꅝp2(.!P{gέAtJN4B9,TTNUȍDgT{\OAԢܷey+[`/]m s3}ث)aq, 3iOz6 G5UFg&x_OO;IX;~}d77gOłj`y$K))xֵ tQԚT1؝#41JK1itbwx4!Gav@yAuɟj>xAf_ѩh{u]#|uPMCfN2TU> ya㼅dm؞ 4Ք>N{F5N* <ڏsQ83"s'' r i*@{o}lhГF@3h!)Ea]+=ԄTJ""|{l L~cY,*W{8WA8(3C^|1m%٥.3n5pam 6FHFƽĹK}Xhy1d]> P+'j#!?$C%)8LV!wgb/3<ٽLr E =l!X`Y "T tmT(,ź8B#O# n-Lh׸^`1iJiаܵ<&!Y0u}{T 0{K*z=7Ml{q*;3Z)EgWkMFO7R'#9NOJK0H$NThZᅲjitd>ƽ?pe 1GLIPOץwзd>wt ؁Qw-k|=\Ph,hn8 ͨ꾈:=bM(0_ Dp5ͶM'aҋ29,rdYZX9q$ 1"妎-[M]jh.+ d5a; Q4my涣)Y.) czkaM+OmDt zEaBb'") CjðJlIQ#W $A%-]lt: 7GV o鏚5A0v [IU2D2Xl YBRDc9rbv3?4&Q  ~((w!}Z݈'y_Yb X$ HkbN~t4W uKYh3)\K2"O byY0WSX[aȰ){@ѕC{%Зᖏ-E%CnvCX"FBezvvxf;ʾkt}G*v6Z wG@B,5>8,R߽?%yn+ajFDN[ ʧ{.45{1V%ҠeAQ`ft>ǏcO6#CI~>nhR<gM}x\fG{^Xy.J,lxZgU}|5q}>~V}НboӠ10n4i"vNugC2~"Wa*XrN3TzV{($e¨iw}=܉zR*峎tX}3bצ^:)/ӂ>_~~H/ehgA>eSw,֫UQ ιԨ`{[gW!4ab^m@|ж&?l/̛ O$PZXY4;S{,Pbs 7K{d%4hɛ Ik3ͣ,0//+? @,"WP/pikB4:RU*-?,&>_X}M΢ :WQSfþse/&BKyB P?7lA-Kx 'huڙ&Su0Q.&TaS:rќc/TJw|1L5.t\]W| B1 }|SFjOZc1n`K!vʳlׂ)f0n׌3}E(:9I{%ch !fOW=;r"Gr@ZZKvըRܳ,Tԇ'3P̢_6VϘE ēw]b9 1l$׀jQ;:"YV IiRXب8!=f 9 S~x"i"hx/Sۛ ѵF6$]NzLcЎ0er*3rF_Ff EAΛI|ҥÂ+1q:5ƀBE?F.p-ROM_#/oڝzzˇ#=yV+|8"FJ% \Q6hh?upsܭmmSlGRP+endstream endobj 566 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1524 >> stream xUT}le-ZSH n"( &lȀn;έkVv[fňjP !A]"h(&*Aގx폻{{0: C1(~zcA~H(F8\NrEs<^lC~Neh2CdR0τ=A]Sk<!rYD󤜸VxY-YUη.Y/>Y'JZ쐪:J [=V-Iޥ> :| =6k%U[ >A U֕d]YxSKh-T 5E.Fj*TykR\*O]+l8S[)R|X*Ga P=r;k 'jK-w$p묦1 3syqgCѥ4aLDIt8"{H7! K^#}d/gfeQ32 KӚ?3tu_(a'7voӟ x{fOѿkcdhOmixG,byz A) Af%5NWG"0ٖAOh91w\̚-OrvtY-ΜRAXNspYKߪmE:bxrѥEC`!ߚ|ZKݸ"aۺ#]N/QX#4A/.PZu Ty@~eap6?Q_._mzʰ-t6_o&r[1 &eh$>ŭUa>@DÔ bT:vw?c8IˤRȖr30By@ZV$hKUuEl @#n>]5y=RfKXI,Z 7_6 C\g)9*P;_Hs(6C(񂜼F7)d9Z Ԯ>Lzxj4Q 33Ztٝ9/&5WfoDs .G_Mu;CZ6_M&齲\򰪥4-i-feFU+hKR \J*Z;żO$au^5dSڤε+1Sf r nF~2ZVEtGhi%ڮ^JU7/ro/={I{f;!ž+|bcOgv 7xv(n~}cpR;5~ٚT}+}b=%t[)ML5s_ j/*%K !);nWwcr% 젾'GbNHbPq0J މN!hn@[+o+RJFgKt1Х@[$CUG+@mo M]vYR63\C,䙟DK|N݉IJXmXϣWQ;Pй)Z9tYo@Ыۇo{F0b4Aendstream endobj 567 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 411 >> stream xcd`ab`dddsuH3a!]g,z;onnM }=U19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU;SL:)槤d$2000O}Eme<]K_se[^{oV~m}}7*GIQn ;ڽ;kGo>{h{]ԻʽR"] 90 dmk/n9.<[|[ aendstream endobj 568 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1877 >> stream xMT{lSq lpB]EaP`0(R288~q~~DZDZ?8I @!mNbmWJE7P4z.Ѵss~r|>#ؽe| s>zF?O-۽k/yغ *r;(U9yF|x˶m[_y62riX"TjnUi uoTi4/6Ik6)_iGd 2VV!ާӈߒnzߣU5jdjDY!Sםiݣx G_+ )>iS/ S|[8t2f:g$E^z0 @^ ,z'zPQ*PVnRj1@!Q2.ؒO&Si:#5wٻ)$44 B\8()gP0CQ#I t3 oYJ)?9%S FnoWZND}=FEC`t6I/`^tw^8֙{3䇰łizX=+|l %l}K G8([UV՜9~C EsenOcu{\&/Ecs, ,NST0%'2IN"4 9 !lk9d7;S5v՝ ` 7Dgrٱ߻e8@Lat'Ƭ~g83׭Zg~/ts]΋S |ZQό>@7 0 (*N.XYlt`zpirSrҦ H Gc^uEFQ3zwP)\ ̺&V LG;M\.R黮БrA'\NLpKYy2b|<|Ii@Q|AQ\]݄/43)s`n&N}dqo</n NZkn,,^O$xLyto x٭*b;0Um ~/ቒOֲkY|?.I> stream x{TSGs $hQh5k[Kk*juk)!<A$! y_^$$y$"(vmn-vZvw{ũr̙3w<;.ʼnP_%=kQ"1*ev1ngk*Li\9{k{g E)Ow*K*YaFT~x.HU|BE)H4#+eR^" u:]DTJ^ 4EIRUtxRoHœ)ZeIV#U(HU IiJY.ݫȥriT) d FOޗ*UR!${&T\ݭjԲ\p8qVNE KJpq9)'S rQnCy9rF1pΏ=|\^8/ǵ#Eo7sMƒj0O#-=]OpC]АƏU[ m񃫱H`利n֋f},ھdA"^ *@D.3槮*oټ 6S݄8h.ZE'ZD/s9d~? L;n گL t]P~(p:twBt4 7(s/dVT7"l1rc5Yv}Rd򊡒q2‹ugpIpXu Zl ->y$e"$V+{`=H22N\W`ʁ6l:;&0tWU1^xCCP\->GBM ~"hѺ$~:etACz38x p/ ;[B+XTByxE~ϔcAg9H5a9aa(&YXC+ zT6}eYjCh@C %N@(6u6e CݦP ECڱ;0+ uz-=Z(A?dS'j^GC> "`@&Hw >.Z2S :{~D/$ fLY&hc꾹5x)D(tVG9) CmI&9]2MF0(:o,t&<Ewqy0^#h[|VePCARGRuhq9FyTK1` ]PHrH.g.+b\x Z56͉ZH6HM3裮;>U!C^^tfhIQR6SYl&֯2Y];ֳeS^Zk3pޑ)..[ca3Y&8v U'GJ^=_@TOx1ƳL~ſOṀ_УtJc7ME[YdgrY/jlp@~(dzs&8~5?W|P4!T٥/i|laűoQз-J’vGDvMצ=mDž^?wRR*=(]9ac1nt la/3MnjMm 4|PA;fUI2~p:ZеlWEp7X>P;m ڷG :O 6x*O/|v7;*w+ؽqݯ%68^Ѽ`mbU5iW kA?a]ow;&0Wl3OC)}8 p+Yx1^X~#BuGF$4h6⑲P}w7 ~? E ?&`-lX@;6ä^1 n(ӻw 8z|%JP&}S ,0Lk68Qendstream endobj 570 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2700 >> stream xVyPSwO ƧRف]^]V[ǣm=:ZjjP n$/!!$!K!pH*ԣjj[ڎ2vNw>wgn;_;7~~>Jbܴ?"v| N'Xs^y/KD$&͟M?bse=UӔ&VKKHVk+A?]@+$sP"*( KHzeK"qKkK~P"˄DU$?CP)߇6MTY-%b~P(RAEaiQR /eXs%lkyE嚗Kf2YY[YXYֳ66z`=¶mc=J`M맱I99rnM&s!Xl3[gSIw8e]r]\z` bǎ `,wʳ uAez^à.Y%({No7C3`p`*p*oN(1jwy̍ǃNK&7UEz٦~w\XRC<(!Mܢ/L"t|W'AhkV&M>4'Csh!7/ɯ"d׃!^rONoDhrn)њ%=qEs=?x[")rQ-'/וr-A8პ``fFc1q.EV>`-4&3PdwXw[$7/׃Qۜ́GЦPwY6b`cju^?Zn̵ͪV3A' '!\ r+[#!ʍ{T{.=kr pڜ{:CS(Չ4~g fweMse!-fEkEGbR»LLXSUmw;)r,ZJmQ 4ў5r7*̸:f=c5Hw >NP?pQjn3@.X1ik}gsd@2k󎼬,|sAi{q8cv(]SK>< > stream xW PgqdE1ӍF#T$k׈ *J=@@^0Á o!u#5Ѩ!1&j6Y Mnj޻Uzjjf8F"β/H3_ ?>`"cEc+]L fδ,-OfIpxа؈jR[+{;;7}#=C6{*JzrUZY+a-Y04ULRnooD`_c.Z0а(OXo_?y"n^e'Zۼ0o3/1[m33`v2NjƕyYìe1 Ff3d01bxyf*3`Ib&02$0O$wLKZ.i|LbLd[dT΋kL8b:4th|bٓI'13W<27q^1xPjW}WG& ?d@ҡ4WIȞҴAC+Rd`Jv7ҽ|8 $hsz vk~ OR 4Px_A,KDT.qC 3\1=!({Ծr뺷WH$dwSQ3X~\ܨOi4K}HjTas!ȴ9! 'R Id;ҽ,_LٖK<?=)>_@t4'{wk4WvrҞ 1˴PJ߄xڈ3RRA)j5 FWh!>j(1p̀Ip=h1v%J6Fc4nk"tb@I߱KF*d% 1[6Ft.Md*(37.M4aZe|$ >^Pg8LPBw!x2:bRk w[r$!uH&R^VVe[XթamӮUbjsA($P=uRTyA^%b*I\A(-< nR2loH-K&|qWӊZzS&Pd-~Kktʼn]iՒS=bc|v5,??v%?WZ.C.5[QgWĐ2-{#hC.V__+4>ݦZZo6-@{*!׷ַ 9ߊ*^Pp;{x4u}zG1YF~L==v&LŏsqJ nbbu|vX&9Dz7[j] .XZ޵l[.ITCO,2y2̣<:GUN;/Qł;;;<4pY|>Zݮi9dV3k$Tve:7Rt)+3@!@z$rj**kOy\eJ ojF=crSoy&A{y'k{4p#bIAםJOx.8<>wp _h^2tjI+<yQ\\`mY3pekᇺp9NkWV: gMf#6͒nH%_ wFQ?~$[A(k܁vz݅,䬭y$ ?>~h|K eg?o985'v'Jt IBT]+HL$L!'%ӎ1(qBIݝ`#S[+@xj%^{xѳm6|oUՆ#꠰8o۟6 w[V7 g^Zp|m9$*Kh9kB<`R%c_fj&|(Fĩ;EUQ~¡̄\ymM(ztTRJg GS+U'Y* ̄䱣=~k.JR_'E+c?_q2-_ijH? wKAu-U%BrH:XH*;9+ -__P}ފjQ^dG*hl) JٻhNFntQ6뿼wVsKQx7p쓆ޖs@;TrwuF$sq5?v^LD4)t_|]8yh+p="]U) O;!y^ٮǹG}_iW :?Tv#?M>6u1F{/PWq$Ol|UFYviCWq(!Hb+[g' ],40Gð)M ~#+R\羟߷p~CY2y{8sdJ7-zr.5\+ZǑEzh]>;lsw"8ns([S\v x[]{On^=0z7k=}Aj].lBoGIqVry)wHP}g򇘨AϢQM]}Iv 2@]$~d!t웹-:s隴C@+=4(h/\J3:c ".Y T) .&DQE;YDUWCU`N+bu)Ɉg!k0(_553,30"p@endstream endobj 572 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1592 >> stream xM}PSWo$(n֛U] ʇmV2H+eDJH >2Ɛ1Ԙ ehUح蔢-ݕi}{ Ι9s={yTx%ٛgBBo>6 QiV5$4H/ 9 K#W-wfhUU^]\#KX2EZ+)ɲbZ]JeJJ^]{Xa5I))*K=KͣXs|j<A͢fRᔊ fGB0cqO0n*G*aCjC޳t?w1(C%Z}#,a4W~܅C CVd٠=apkN>!A7w-(͗WAqb?wJ} Հp5O3*b&[2IѶ_1Bd?&쩩70mN7/ 5cաaf8LmN4c<~ BF;jZ""ogM< OrI"|$#?6/#endstream endobj 573 0 obj << /Filter /FlateDecode /Length 7853 >> stream x=k\u߷E~m=7R7u4@ ) FZi%{Yk/y!  >u;]vt^u:>YN/N;QϳקP:]Z:}Nӻx\%N>z3:d77geR AoSJiLUm%% Z1~|,:]|Ϣ.n,oop%Em7.n x?s|ähph9p*Wu]vb?}KQ)j93-uJ1o T\Y4l6Ft Zf;5G}@o\pk7>4\9{Zu5nǧ_,2\tQGX{ m2 4'W k|Hzۗb6yOC'Oo= l֫T}\~el^&"\Ah ?\F<|UuxQ/ux]:|]Wux9و^u/A+~Kv7iAbMm ^_X,^oJ^fNļk^$| e(fVUF^Y3Mi pUaݑ8}UĹ͞xޢA&U6_7Mi*u%D_(0XnJ?g[޿%3.|qV,(&Fy@uXa^9\ bf,MbيBW']ޅ$T,lخfqqU:d f=Ӵqië:ux=i Pָ.Bmc@bG#TgHp`Y"ȘR{Ve`VLC&BPM೤rpHp)-]܌ dF4jR1m:P xsxn;4| P$L2p= A!aAxYX_Ux Kb9L( Vk 6ӝҖh>_ϊ %Lf{z\x߳bt+HbT_>T8efZ9K0ev*`ᚌNtkfppfE&`Zb-+j!M'+RKYV rË:ː+w3{7UopV1T4r`{f#++Z+XVo5ZY&B,簋&F/˹3F63?R2  Fv'( UZKDɸX}ƙza$q*+7˫̀@.X<@"bh| `R@aЦ1Tzq6d u-ah+j]MLyt/ YC%naEc')s$oX<jpƁ|wx~ejiRaa8Z3=JTx%[DG4<,U﯒LiIzXgS&YB݄/LrBKV( BI 0=!~)FA&&& 67TT:̖)`5˺Mߕq̩K˾GrK7U-akvWW9 ; ,~b"HԵ^[K*p?H9tԠ .䐋N 0 "piPTVKUV@D( Tz+\x0{{̂"l j 1}:%?;r7ߢD+{˂3;;'vuw!;ݧWMh新ًW z_ɗ SVlڥ0Iy&dS%˿ Qr 7T҆ oGdҼZeIXQkDbϓ'h}|njh_=9 ,Άӷ]xǂmt9 F6 q!CNu%bʢt+Q/b1s~A/D#ٌ4Wv=X,fFZs 4ȸ!r%(&Y>:2E4={~QR3zԈAv3# Sa?h1+;F . 2eN@"ˬl4'8ݗ..t-/:Π܆:*8 |wUd1rg TH=y?]ع͛;t&<إNHs<1O`:Hj8IG+cGj͠I:ki#m:u:}ë:N6kA^>)v0 UXS(7gc֘5E7)C<-~=m3']O@{'͎Enthަ.c/b'Q)߲Upɉw )6zZI>I60ӦO1o2:+k~$uRjiMȇku`p"DRbf^"J~'tf|aлH91Ƶ:ukۑ"4I릍QAw|:Y:ͭ8.7Ҫvk#53y C?m50|#-@4 G 1=18kkM9:FJ$ӬF.[aE ;pC(H`eUhOZ|'#3zQ.jf*R:Q5${o(}}k#O eb[kQey/AYB+5|F ;*~PjCc귪gʡ{S/NMs)tr_#J{@~X_ǽ7UL=\ h[9 jyĄ{1i1wD.+)L~gSE*pzctje 9֛r0 Y+PRTxgJÃytE(c]ɞ爝]T3ee:Dy$gA A Q%xi,cIn}ۮQps 7އ/9?wOB ~T+F,`ٝ5wVI9`H){k%AjW,$ZW\Ijph9x!f>m} loHq4b}pz&ji;wp]ߒb]Ng9@S4dhjG݃;-H>/UBI[]<RϳyJiDm\"Fwye`/g+P "X+ %؂=5>D)U#(RZRd3IlYh#j;7DT AiǺ+$3]V>&J\aa z֦̟s6H8c9_ 1XLԬ!](;@jrzDMwd,J[>ߩw8 l,'g #f`RkXّaH[L? 2!d_p8Dc1ឌ06: 膫4)!OV|€֬e 1K$k61#BE*oTJ7R P!b^. t>i*Р6x?Vn-.PriaM*"mS(~<V.Čg^]M윮U= O;PWu?ևW(؊r~7CY2P`IO B^g,S^`6tBC %0Mh z eõMJBHAjC2;AQlT-:ڷV8@'.4` o UOjKy1\iBܥjI,p15F~f_aд(FDuQfU {SW#`S)t׈=+0pv.;Tm|ZZf')ž/'iQAk1G.nK"åXvLj]#P :Ў0gB#Gh[mn-SPiat CI缠b2`aQ5Y&.ֿf0vޭCsK&rYmp5L MC式`(m!vyX_^yzH@"l'D3Wo2[D'p [m{u&BUVgݐ#m QDY^/HEw}& 8B+dg]Ғr̵Sh~+Hts͗g }.qa'``©]eÛA|<4m1H4 3`m,G\.I 3Q&ƺzg9L”("=iE#YC[mUV.!3;Dm[Q%b2wͭtP^uCLZlej{Ai y;~KnWY!ЛVc-*9ZϷy^muJ+2TQ.xe\&oI嚛\ 6ME/XC tV6\Sڝ roв=%JHp7A8J \kPۙ^'l eྯ<2aߖ6~%Ntd58L|?,sF⍶zĶHۘM!0KcaRqNhG43PIՄ&]צcs} %zK%g!iZMd>7HhGՎEO(n5Q&Ȑ4GhZJ%em!PX'(jTu A!_CٽWE)l^㨿EObI}٫mBo jޭ^ߖzu<=-![ ۰ԕ|X\F% W?Fku«ǭ\$?VJ8 }b\iQϴ8'6N٫ rJL,Npx`fhǁ jkG;*T0ATr(B*j[<pe< m|\D|$1-ܨ[wt8|GI %O9D=cpTd>׬bp⒴y?mFqރ$PCiNauwhB"I_=~mdoۙP^΢UBI$.iv# k~9&5q ъv4-\}"%TogV{V&X2vG ˦X[Yr{%~ue ۾pGΩic$]Mzw-:CڿԤ՗&*D64YNGW \!-#su^qR>Z4t`B@$0?!z30T֩lp}cKxmn]-9Bn+`C舛TJ=bUix|QgH!YxR^b--Vh$5Ft5Ϛ1}N5M9Qt HI 2 u;,iDr@v=zg#dM9Fa Fv£n4*;Ӗ]kP]m 'L8FG,+U PsMQx1Zo-]&$ gQhE8g#nv|ߘ#%`8'= %8=qVg$!, uB bI#{EKbpᏋBy iir&LXk>3 kZڔӃƚ- ,sv+=vL˶yz)IZ& !8ҝl54]-gnNIt4YLuLRΩ)f=7H1]N/OӃV5ui7S/c N`EaBo)1";NXcSIjS0N}v7@AZپ}',"7\jY/oFn6) 4xD~Bltm$p5;tsW/;_ lСe!D<1[&*2Z^]\RwzB!8%rQ"ʺ5rQ`ŬnUƤE33X=٠1,u%ƱEEiJ piGendstream endobj 574 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6066 >> stream xX TS׺>1sU< ֞PQ,y,*8"2I$$0(c dP:ЪjmR[vPgo8oJ X8veT5?pVZܓ`:5݅;hB[3B<|0o3^10(Rj7cYfL0n=n{{(Cbi7vOhh)S'Lz7.73SsP5vcN6r  ڭ) (jޢw/. q ]|_ʈݫ"=VGYk ~ML0u[o1{qSHj-eOS)gj BImRq&j󕌄>z9IK{2@!d魈AZ̽ HJE72/qo B%"Q"o: bo5bTӈ9:n FlTAuw|e0'x cAOƢc4ؕУӤЮk:u2ڡȷ] ;wwto2:~!J?uTrgv}ּ/O95ͳ6D[j(dy~6n )>A>_H%yY#0Ȼ#aG]ZFhrb4/Pos:t'OEk0v K6;9[e,bG5wPu!? =et x^i<IsRzng!RIwmfѪ{1WE E puz!3/ZԄr,ER<%/ QE#֣Cw$(QdprlEV{Y"ن&qJZ&84ڿmP8Oh]\I㾷CO_tkH/x{/{8TE5L)y(FTιDnrA>.f:f)׬9GpلPz` o%KDM!~vh;mJǙ)Mg8'A~x< +ŧ2!mLca2=[c +^:(֩8A[ vo㼍{+pRAs 4 s:QY1? (B !VȀL R*wicmMFyduA4ݶ)>UU1_ *PmZU8!^HtgY/%Ҋk= '6) )Xc3U|i@c[nP3&nABg^Q Eʜ,YA",f3& I8jm̓<+|*ſؤi!rҲa4Y>&;-1.y*7} ͹~M?z }MwnFבK|.p--pC43cJIqTyEaQytDV%0=省˩)}63ae 沒JjeYjA&H?Tf(UcSF6KY|lё6TMTp\C1A1oC^D\cr jZ y<R^K`{`0ݒMe!1ŤLְd=Ϡv11MGv c}iߣ6P$c'`6k;Ӵr< TއM-r~NNKj['@yEސ 18fL꾭4]B_g@\^^^|pqɑ vxf#n_\die@M̅.u vfsz>BJ\Ưuq-qXҢ 8L8"Cǟ+IC{/P|bRD$x Bd>ΪTm+Ϙ8NTjZBߨش-@zVZvV:A] W #ӚqXIu44±}hPBdG6h7xЏcPOதфJ?#MoF_h"Y[lVNȊ!ӋN.ILoKKzK'8-b`+Ī\mAʧ 7e _dKҡ'Id_~~U̔xyRR;zb?l5{۔硑QYhrgywZiižHv)h:^K>S DxIkvr{;$G7>Ds`[cV_Z'@W&Y߶57eg+RTb¥LpaPaZ&鹒nt6:=0ƦNt[ۣ,ѨX,O_iE-G'͍ͩ³xb6]Vuܪ@IshsB49h`vf[`MlX]+h!HD2̈ҼGۇ *ٓGDGU Ea<Hh/,~䌆?qܫs]A: # =?+Ne%ꚃe|=00>4Ol59HE3Fkݖ"ny(8Rx:iB0DNI88x#LJ=ŵ7Zi!U]grV3dh7̽uQI7~Fn8bt@N`Іp٠ \EAAlwuWľƎT;EӉ P60yhVQ%O,Z/5&':~C{YR-VBOM!\3Lo% rm}1BO SOwB~7ZB"6q]ltrR" ^*ztD#/n[DObzÖ}%r\K$tN\:zmx%*3P[ DrNj${#ҵ{3U{S1u DTVWֆr|Y|6XPH HeR6<ZEw,8yFO&KHf9,-wֵ1hPWg7g?pw 枢޽H.\V"WV!--$'Ig!^htVw D 3#ʘb"^h!C:!rf/7DepjJE\FL\)LJFRfן!KmO{^_%h7'!+j V` @^I4-\mfM#%2 p[K+h@o 5<&ŨJP&%}l~d"TlEDOlljS(J%0 ‰fZ@:?}!\YX[XQal?YfcuEBt'.$gbۃr4 Coiij&)iIqS`#mB(1 ~]g)}gG>XW ס?&^(OQ3oF}Gmx4~M!OM%w(W'fk;!ăYNW='Qt_F+e+ !kܯm/=&K /*(.Էoh&h,ݚ[K^µ}7> r+ X 842 =ϑWxp!Ô,I<ҬBrz;=}:.ce?NN>sCm2Kׄ 6HX xdn-mw?ׯ"Wt ,P3Aendstream endobj 575 0 obj << /Filter /FlateDecode /Length 4806 >> stream x[moGrKg{/ V IMru^糍3%y8[p.޻i鹮jO}t4c1=uʈ}(.?{g:g7AO}q2l h  edwnocd7hJ2 +~(~{ s<>!v<b.mt98._ {N>A1Vd$7osr=ͽ鮏^]v_mL @]4<gy=?Ȼˍ6tR %̰h!yLJz&1=0eLpcJ-<26%aDG8YCNw5pwu~yJnG3h;V#v f uF6P7V5@053 ӺOx>I ilA\6 nA#5S #d4u¿˝@E/|߶#Our0ݓ'_60 b &1$n@H/;f bG B \ӂeʚ`_N39+a͕jU5p&4Vty=iq/ X./f Mm/>v%؛{|Z><ɒ3nVLԤ6>½4';CF M[ؤc/ ݁A?FGz42N8#$&f 1a՛#qMu)B9#1vi,`e:GrhC:5y^ \+|{J23h 9RbЃި:1m<yz>8S덷bMzP4NeELP{03=)`nڼHdM{cϸq,kVڵŁpD&;92"_r%f|,loX<ИLO!E=GK\xdõ'y"X g3Ⱥd@q=i鹮9j9ԓAvGϸLX${cϸq鹮Qvq-3)Yә/0uC4j3f8Kw?zȭ%G@.שǁ^g!^"9>^X(+s:&OSgYxl= 0:%\ HZ5g*5VEg8e{EE:D~CF.SY@!j @-ޏ /GpuU"H,*UROE|0d9cS/&b1(&R5ӏηf^lj`Ɇx2#vlpnp$L h!uEyRBP>R)*riʩ%DH=Vk&M!FPHD,e~} Mu?Zx7 e*mщ2goA āIiz;0}vtGU1;5k_K;r=t7DQ=uî\2:ؽÐịk9n&B5t6ٽM%r#5=Iy>ʀH-~ES1' 2y['C̜`e"=0mS2;Y/&#PxP@󼍸$q36jC`$ƮZV\KX(&l5dDwàpUՋ!gƉO@9w2uD<46/7Xze^Ǔ'3O m4lE|.BX2G3Mּf66صyݚy <):WI,✨A1|FH~W|D\mu@GDR8orZ]ۍEq}3@L} 20 i"+! f  s uTD !{|R`C9A\P v-]zuu˔^7:/$~f"E1ͷF{Ѿà dOH!kR)w \K"<ALZ l sADD̒KmᲠuAt_DDt(Ra eVBYU<Տqs)v9Npr58hڲT n˞Yv7*=*=vKhohNuϘo9izb1彼Yʼn$Ot8. DtV^l&S }k[Ѻ\,brOٯv5>ZmAKTY|DܢX6ÙI%G$" h22XYyH!^ B.΄K~jCu/5th~|HQ_TǘJ92SżjblSP9{dn5E1܏b躇D~̙c|՚7yњּow]豫9`? #\H CoQB=%U\!wy g(x1U^SiTȭTV >% X)%AkiKl*~Hݷ|fPؚz*6ҷْn.|ݚ5j_Zgb~e$;;zEu=2l#b2>n} lJɜU]h>q|\ h "6H7mk>_m=:ծZu\VoV(OPnկUN ٔ\Jvj UU:bc wHyn*R1{l&OEF+\xZK9#)2QEb0٦y]ëjYW" a܉JI-%b>\?JگQB$.d4=`H|٢m3*қ@-.k]CsD9PWF;yக:ED2_>mN0ӱh'E~> stream x]1n@E{N Xv0ؒ5ݸH%,Ea@}SΚ8]ΗicWa5b8e1lOgKVg9!{{g-%*Px_vA8*iG}sWWƹ4ekİRp msm nU{ep fV;NaPȶW 2 e(x<`Wo *מJ*9 WI$B:Uy\%UBߺ3$_S }=U \%зkEߝj[[ᱮqڸ{-[q̋MH Î:endstream endobj 577 0 obj << /Filter /FlateDecode /Length1 5852 /Length 3790 >> stream xXyt\yݷޛ7efFH ɲEƲ-VLeb mܴ,)'IOJ5mڐszNP3}X}~~P\=K+@0ؾl_Ȏm<ջM~`n<\s9{D{n|IN=kԶ\߷w@Ϝ+'_b/.~+:ܤ fp\@W hlVt ^Qy^',]A_'p'yE *7t[T!!q[G˦;^a@ /Ϝz 0z)!@"ND#GCd"8pHrwnlF=)8m^MS$uK bhDLjcw o veAL_(gz3<}1K4d.shEue^JNI66I>+03ޥEo0ЙiiĪ`v.FƋAN_Ƚ_B k/js*hȣO V җ95GR|Aab3[RbTc|$VF%je[:{&OT C-tRy 5{z\3 ;3H:tU hvFmao]Oڍt341 D \QF.Do֝`[WN'0?iy1} 6g#!x~t>=tWC`lz7$z=qg9m6lJ];:/ =DV:;t b(Q_ἷ`vr +X%Me26Աvmh`H≖`r9 4j{0$YL(/_l9> H/8*g ]QY BGM'^WR&1wl,{t[izaSao2jhBPkjN 47j.$ɟY<&hNw'6 hmhpdd)[ &(X*$rJi[2P#=')=d#f nHyu tx~fBɨe=T i|6< \c X "{Wp#f B-ͩz*FI#1tb&v}{kC CqAAw"1*$ƏthI_ҹJi8Ez"e1+N>b2II4#9Vĥ*9J^fL._5tw:EV4j(Nə*{k"\7>bؔ,\>3#* pNϢ߃8^Fy lL4ht iE&!@ vwF7CZN`Pr=}kzwՄU06>jW驅"U^Zw"CtۜPᲶR-kKG{?tMܽVt v^_d7%o 6"xuY԰5^ucnmZm$Xsq8$55ⲯp=C }@39"*+ds,>]3vO mo>6@hFR#+AG{ǰO.-^H Oμ(g զXTW[(79&ke|t%}Nb+>PBܚSlבls8"ch])[/(+N/dj^P C׶HY}dyAxsBͲbtzV`?+=&GpZiFշxB!ʤKRctҝ^)Y+h \A>pAS6XJB+37x^_-n/%q UHU+_ڙgX̅V]wLzJTǚcp;~|&2zkqHϣ+suŷFBɦo z*0ή?L]Lio}Dyb.p+ιg<0Y/ӏX?9!q>SZ ^8O>\)Sm]U$h9c%UnՉX2EBiMěMM4d[ٍR \XAכ#ǻ[ V2Ɓd5kCo";[[CZAsX{iA",}'PӲ{]@k4}N'*xc@$cE*Aҩo1AقѐSP/s^"w^W/|IBL:W: fO!W^j3lz(rݣpcdWxD dbxSp$c+6ʪk5 IFKF;Ow= @Fҵe-bqyhCw Omo@̏h8a4-~Q9'9X%6˷I?Gjc,0Ы,R[g_P$΁FG`/u0T*;%jK{hPg8%CȋDqį95^R|`8u;a}~'ɥl13[f jfŠᕔ{JɃ<)9 Š+ȟE*x.EFTQxIbAJQM"Z=ARM`df12nV%H3kA 'YN?au>ã(мetEOXC 4$4ޗS%UQIa 8^ZA߾so39t02sUdU*E.OB]lQ,x'-8ͷ%(Sf?BA,XDUۜ5} F/7]}7T"h{OO/A4&Z'{w sgg" kRbWCjhdd$t6dYbA<{oo>A)yW˜NM=jvm'#Q_n1H Zg\zs0Ucet*`tۮCHF8 ( "FN! %PǨ fȶ'WsE=@E͙6WiSD5,$ *MvRbz%ﲨuiQ_l\3o?M,-[>  @X'@`]Z5{9h{Qm9Kܾ}捶닩orxvendstream endobj 578 0 obj << /Filter /FlateDecode /Length 270 >> stream x]1n0 EwB7R\%Cez^m8 ==@PMkRC6@іh+ڑD=)P/HQK_IFё(D^SyIsP$ *H#E! 4$5,5spZuS Yoy =endstream endobj 579 0 obj << /Filter /FlateDecode /Length1 13876 /Length 9266 >> stream x{ xTUhso}Ovg$d4Ige VI@MuT (nQgT@:apTDqc~G323o }:;Λ}{luϩ[Um:&4N U,,,.|s _ g-$T.-xռx۹}SEq+Y;ӈR,YD.^:'1^\2j~6{I{=/[ڱ"ހhԲq~u70pm%X(ҏ) _S~TSȸx s4,q+$ =il[C*{x a- @28 5&r,S1I1[Tc{M!|j R"!z ށ^!v^*n$ĥ^,SSVA'Nf:G2M<`IH xo$| _B$tS Ǝ6q)x8BHMvqg-s M>O3Q5Br #`:47#O/q8G 'ar/IoṾh?oWe 6;WW=ؐXmk3/DxX䐏<6||{xEs F eq!^Io58|i&^@;C^!Gk8y|@Βo)A]`*$A#Kr\!Wǭy;}S2N6WlrƄAޡb(~@Czpn7rZ(@-`P9M9-t:¯+pBK;AYVa|kqM:=TA@ݝ娡\n7.QȖPxrA(NzjCi mr4OiPƟ613[ k`1=D~z)x3@q,Gi Eeԏ<Es/nR<9i3j=bC%tA#GvW}\%(&qL4{BA1wՔ F. s w|W;ޤF>L ,/Bh sX;]E!6K; Q:лǽ4 >%62LE ϊv%/#!*rQC&ϔз_ïot0< h,ƭ X = 1FP(ƷjJql܀<,GnP (AphA~ސܜ`vVfFzZj/d۬h'Jxȩ Է">=0jT.kfcvZ%2`0Rλ2 _$_B9/r66JqR}Ta]_cA/BZ}u[tյtuM]j V5X˺HjMAC"@m]eDs#&6պ97'Bj" HD5o!{X9ҵ!j֠vn`Mnv3[uk#ך8龁nαǚ]]"'6 nn9YVUKo@!6Lj7ao@i]䋨Ձ]ZQ5LZ%\yp4H;<6]Vq}#9c\IDEXi:&$rVktUq!'M|2ˠkNL\ˆ0#4Cz3;#O3|䪩x= F(jPc.͹%J|X`vv< 0 ΉM= 6Gh+9?bF:G>@K `(ӯ 6s݂bɁӛ|u] 6LԊ]K"&M5Q4WYIO.ܨBV)_}:*Ղo>/c 6#Ãڃvq0NLRGUwv͎m!ueu׻#%hd0Y7yzMiԦ9'DY̟ Ÿ XGJ؄k:>BUCV4;N"{1`D8K엌ӏs<ĕRM{JER{#ҍ(͍(B(y8Rxa7;wxg[ۇ7j6  xGmXvk,~xwb!:VV͆^dT x\:O Kv];6Ce3t3ty3tQuu8+ 겂*#~+j _)dZTAPœ/(Ozw Q%w[7Ƌrֹߛ/{E*3T$QWRCLE"*,JҠLRjjR)WJ%*Yd R@+<+)k IChhE5yYDL 0) 6DHY!pcS7!4c+BE Liuf) $瞍D̞iƍ`Qi0Ԛk#8Dky192UĔ2ZRW{逺Mbkt ButZXHtAt#nA!ьL30|f~hAhx  ࿸Ct׬fǗ@];Bkd- 6Ԑ3Mzkۜ%g@{GV1nX]7{ugLxL]`vm󞑳w Z庳gddl~dx)%Y=1_=TFnu 6ò ɚA:6[[ņp$vJM 9֔ Đjp-ſDX1cf++:VAVo^7G hyH:X l ]jm%L:t\1Bpʄti1}cߘ2LArEhR2U8PeXqԥRKq}C }HB 1M0 y\ 2#@hK 0!6P=ɬ6rn3[+̲q*y{R*`BOA"qVlw)d5\*CFӰa|BLҒ¡6E!V}ё4^&͜3ӔM{>LA(8j[ŢǵjS'cb'scWY*r93U&fɑ[F~(R=H=2,;[ .T\D3m&]#&vN8sd[ȭC폱чg#<@Wq#yy׋ ~inF?z[NgIlgo7p %u'x.]-WouzkbYKy$u[xNT`U'&ܓG\!]Cy1iǐ >,@җ®%WU-K-,ř5`J &!Ⴃ40P?T6E*OyCϥLh^8*{[y? h PM iԌ@Z-dlf%M}g~A}i6/h Q+SfbD` =´P~([a> NwGcxa2 *ʱP;kP;;x@|TIJ@FdyD&į8XgwvGmgZԨ= h5K8^J+'M4Cl^iBS}4jiazijٓY13k:7=>KA=W{T]C ? &Qk \ƍo~ժ;>&}cأ_]^¬7VV#eqvl9m[t(}Sӧγt|MLN.e1ޥ5 -[/_n90wDZsD]p.3oVFa4>2߹ّ#eᴰvSv΂jR3!P@ BX.釴,!>\\T!>I4 a2{V,^yxVp%lR LЋ&y:/[+1MYNQ9^%Pwމẍ]3Dkig-e Z?/m}]Hfl.fSL&;g_\0|Gl -3 '\PgYfgSi. R7e-ɝ7p: zpGƒ$dޠMr*LS >݇Ll.|r*'r#>ڠڮ8Q5K[uR%SMH?88΢كU2]V^@P2:}%pzC?zkX)͜EJLdA=вQ @:+n}-e8ʌ|xoldv]~̂-6kn+jMlGFp Fagp:r\$ o~~-f2^a54;җ˒CF_2kK{=9|)!tjr-ybED14NQoMJ!?{~ǟV,4<I}u!555Jnܓ>$73%YN٥rg KP8EiIIZUKmaoqFmWSoR,4v/T.T/-6ٕV *<`)0i蝕RdʰZb|hEW&B?=9v¸= uNn@P;L-u"Iܖ}Gԟ(>Q}I_N.Md$Kq:SҘ r8U!<}5S´^ ;#pUh@]cU.> |jع:b}~bK:Ėӧ<~kr'o_vb=rb :ަ;cg[1-'Uzi~c̊d#{,d } Ǫ,wEc̴TPd9L#f$ԩi+ n^qQA\R xu1 8s?؂^{{{6K|a?A~L~%g$L4!)Mψ!~*YgtI@taB K<. sm2c~p5I18)bj_,U4aaNUxT|VBџ/ڤ1m UlY+k-,[TlMe?g鱨(@zAxD')aP44?)'i95pFgQ3u^7 %助ÄF,RqL gY06Y$YWjA33qfJ?Ð`/%[%>I] aSR,+6i üԇTM[ vGň)!/qCe/XRPe?H bt"u+W`ZݒtoңINzCsF#+y*y^Ee5 FEfE3a<5UQNȵScYG aKNRKހdC/yYdF/䲔t$$}:@')3Itfga[ѸT^P^]--NH/|6YArLre+O}Ԣ38t/V) b{t[O4u¸4u19ވrl =VLq)*kZJ?zi2΅TZKM| b[|B9drǣW zE4>τUYOyRAQ̑&5RKm/?8mXMzZd43oInK> ͉m*Xq0p/_w/Z;,?CR÷Ry۶#)cEī u/r'dMϔ/SO<K~E) &â AG>퀋^rRjmsy&+Eq&IȀk8(A54uXLz0Lw@6IޥܼAd@vGv}T|&m^׼KQMe%RMendstream endobj 580 0 obj << /Filter /FlateDecode /Length 10276 >> stream x}KqA7>VۢJ@HDHbhV `zA4YHfܿ.DfGf֣1a ٙpvb_o_E߫.~06]xk.L|B.^.|PJJvsOq;o\|C)!;ibo0ؒ6;|vy+|y~!-;3%Gkp.AO..n0LCl|koe?ROvhpP0M^ӄ\0{1瘆 U~b0 gZ")8W pPdJ0RCy#`ɛaHl b#N1?:D O,'^|sȒ;07e& 1a~3#isfټ`I?{Bl3H|n0./E^7ŸXR}a#Ѹ6GH;(A""["f.%TihltU`'P⁻>^"7!5X|}ʩ0ZVAJ4L㸦c[vЈ;KGP 92gikcq՚XO5c[ 6nWrqp' xY! R$z$zڠ+.S`uP*o?/m/WlI1}w7 ޓV4RsL&$Kn^f@)$+/E%ől5Gd+8|~'F되A$˜2C#'(U4Tɢ`b@C|Nfkre ?xCFXP+n{i}h .c6(׻iO%ų=c#.uV+Ѱu슱1]LBs $2mѱ?>8L,h ] Om>7esG!L ،T%FhBBC f:&WIhĀ/A%1h"~C 8'Z+hkl}5+G]`*LTdc[پqz0Z H[`ވ%ٵe J.?3 ,̨ FRPUW<@t ӣ+o:t1pxR@qs758^)(l'_|6unW(Zde NI4g4Z㠌A+' Wdsϭyh;W+~ɀ[ 'I5wbLߐA@mV*Lש{+EMT&!pb1k۫e2fTMƕ/*<Ǿwgrz4qSds|mtM:Ǚ` &e4NPc17y[x{#e -^׋hBo tݫZ2$'߷͉ y=K(h|]q|ywUB@Q[3C FoQHԾ C#υFPJA/$(ƀj^^ IYUa݅:t@HH_]< WBhϭ*p32 y͊zވHŸoB8I RGZ1 qw]cX@ !O[sY4U|Yf>K^L3 *p }%홙u6U2)&!3wcil1;5v892F`hIe&WTv¾d G#`ojfN|n#]tC^61*vˏ#*%ð⛮b> ,c_Q]Z@9]R UD?L ֻQRږڝe=1V+c֙R ')Bs@߸uUB3bU*.(a iW"§F3~~XlJE!#/F,5OD]iuöBp9p,i[q9 eԀO)(-w4 %zq/2MBzIv>OhZ_(_ ;Rg,&;R&k!rS gy X77+%i *bpݵ ?v]َ̣+b']l M[ gHSTBMo.ׄ{?bm 6*+t?:B mCfA_EM0Ww籉 d  QdmB4 $]e Yr~&&}Ar=,n?] /KfLSD V;"0w2sf_tfxW)Ԃ r:*31k:?!rmsDF2Ӟ)»3͂߄ DTwl= &N iABM Vsl~kh$jq̣%xkl~tX f؋1A5bU5! ;&78X25kW!Z={evjtkniCrc:XB ;wewXf [;HD`Յ.I͵qb zq=B,ҽƢ9F~EOH.Oiq+1@OB EG_=3 Go/~x'7 ka . gN5m:< >A*Ӣh{JycAOPڨogymԶݹU a898^8cl8g|z) Lɇ|,Є)YU!}?δ)Ơ7™$)u6GA)KEM[RSէ >Mn[}+Sb=fSo\cvngtccCWT?+}O &?PưJ-178EX7Ȋ 5 o\be+^]E3Sqt o+#ƚ+ o^=L>κpgfxyS{y9_꭯F[p1el>9(Xsz&f!sWIr'fg ,EǕ@v1s3GDjR<ڨD g?ޱL|\29Wջm\@t潞^7Ђ6ahoô4gza+rkc$iD: rC(ygE~黎"e' zݕ[!Z a1e-ZN۪z'H@6U(Zo܉D R-x# uO)^UR.U{5mA6m))` Gt޽a`rRXhS@3vh~m{GWr^`(q1oܴn+,'9}e38c8eeF KΡҒvٸ r}>\V>23]LVH0"Yj"oRgTb6id14YWOg&Iwi}bO_0:x%CNaՀWTX5OѐPFJP 7_G+YȽsSbRD|m.괹hgO޽mI3;25+(bԷlgͺ~+{ @>%G t׼UJkړZWDL!X-S1 `7~Hd#{Aj_@@Bl$BL=VԂ47i1o>4u)6*7'!gƠLṬ̔@L7e`W}U\`e$ mgn)Rm"$&r=Qn|4 X1g'+>ׅc<1ĩhX2ј`2B>7 X4%&xjz>ʬoK?!>3^ɭ_aDfcRExFJsX0636uש8MM0 G^_Ț6h$Ǐ]-F[Z WZy! Vڳ aVric:!$5V1|0Ҭ!La<ƪ3$ &oQ%: p[=QmԎ|hD05@?/۝ӰG3A4[ 8;.ry4bWd 4pAvçwZ^G>itu$oXAz$s=% 4_i/z_ՃI DWqLJځ6ֻ5:a>/wތvRK\"]q? ?RgNZڡ9PrmVUw)t&MJ츢LDǞ]uy[A)adM Ѭ1~^|US+تC*ڙ [rN,tf4&Nu$mP.>{Zͧ:jݛNPꬴNnSCIʢRHi,"-EO"yz]TlŰJҌ튻MIe@E PM+r QI^X;ͮas- gGV4ܕӂq*^~]ZVNkYp_<)*Qs[xR<'O"C>eJAdM+V?_.9vs0r'M7ޗPj#Yԟm 74u# 3 Ek*,P.X38r-=("u]`8Pֹώx1YgizON+N ]t أǠ>ֻT'Z ,[b، M+!cm}pv4oG*ް|+/NƝ Tt^r"G)4G`X!:VHbq'*)Lv+oMx6tOP d }O5O &Fk7qģu2F\g)'"% [CD Bl1YMY#<=5oRMqL^f>pT#^k*Cbٞ$" ާ./7Z}sk)y?' êX9k=}r{:xNoSWo׏FB10'er88헪"jU$F0DA_z8heqG}p(S,Σ/S"o++ꓹsCz Z:cΧy3R#RCSî+ tl 2pt| NMk,.E1xx'N_}%ND'v tcO]?} uN0WC݉"+~oW 'uESQ[+Xi;2_,|ě[ywd*m0M*6ݕFrGW&cdK;1Mެ,JlToXR gXp w/[YJŤaT)ű1vZ ; oEf] \uf:|`-]wa-̜ʚHs15T~]$G@٤F]1uWe%SSv'w_׬% ׿TuUB@-7|%iҧۚʕ *HϹOۜTvot X-iA=SĔȒLk*ﵪ竾~+W=8W&U^,Rj;ARwOPp&űe@^*Lj|)>vU"[y^WS@ kkT;aH^ b9*+ŪZA^glXfߜuLmv|gn_ p(KFQag wﵲDī}'IDhBOv!P,7 S&}困SQJ scS.9^W:┈jSMo"N9儀}7Tqc͔1ƨFҸO#|G6v'E_ RHg2g}%.%Ȧyx$]RCyȌG&r!^VjyYlF̒;#r΁\o@R=$j3חSJݴ[y{Ȕvc/R϶;?3k0"&z7-JeÒӎH* A|4x][' y6ER∗3!{*7p[k"kª<݀9#$F+ X4^ pdَMI(j" ڦWAULr \J6Si㩗+pX* !h7vD~l@' Ť\XΈv#ߎvVEsk3Sp@5qC!Wpoo.D::1]S'xo5f4ZI媶`W-mJ(p8\b/曏<2=8@OLu+ i"jHYVs,qF-FU7ث0 K`yGumw25nn [d%]`adKͮ%Pa~UХF g! "bGNEWϯk<|s`|NS6S. {{2n`F%@:$*RWOduFVIxA@ \ ,$"x:xt/iF}kpklJI`si;K VI nӾ6 m(pJ'DV+kJSv^:u1R =KN.ɬڨxY4~J*gY6sn+vW!W_)>(F,,*M ~O$< <uͥBL}-隘 z~b5cl! OVQT-+`:1clܩY_KfpXKt׏3iwE{(O5΅7P@9endstream endobj 581 0 obj << /Filter /FlateDecode /Length 9621 >> stream x}M\Iraߨ:Щ*.Ȳ-A+Y4x0fdY뎏|UWpA_)/&_=PWw/{W?\Kxxr*뫗o^*![Ë]~-cnr-ůwAeӻ:c4w_&4;>,j3b[(S"i{`C؝D@dp 5ɍ0: .gF`}o=o۬Fϯ4m??8o^FE]l8wH.S3C3O?SYp| aD}[ |Iy9w({%֠ (, 8#(* f#O?h":ĦJf C fۯrndmgfӰݶ!{m(BaU BnU֑@N}9>, I c/߿\' rywg˨|SQ6iw!%'xmf,%?I=YbT v9RĮӝJf|-8MȫU$0IJmķ 7ﯽuHUZ Y (H:z*X PR(’Xd8!oGm~4Ef r%?B扔xU#x`W[;oXU@Iְ N|?/ ;p@*_u0NDS9ݙ$x :AdW.~SɐCov˜oc76X/fxobmt=4+wہ8M)Tȣ0M uG<|~sv4RTK1 |:g*g.m'$>$P?-٪s#UJPTnT0⦾WYwzYuXס[{X>2~eu2ɝx{#b hA=Eo{"TKjG3:>ώB5[ fI<l|αͤ*} `էm?2,XQ6Z;c"r'xYу[=rgE1vcqj IJ4!H;>f=A & )Bd$tg9ݯ8`r㗈YI!| ]0Q< Gd`!@=^=ruM"Ahzi})bL{?.dw@62}I|3#âӺ { -Fybn.ӨlKL Cx2cB`=_}W! 68A@ ]eBVvb1o(l[f!kM.# |H:< RB3~QGUF5MxK(A"rdBR>%E 8,׊v%x^/_ Nj9-ɲ tEbt7z1A;_c8yJ=o?kѝfL`e< o ܁cQC(ڥ.Hz$/e(FxwF= YrK&feo.f7Яz%) ޕ1`F<ܜBiA..&,Ni d}hrZ,%FA*? SijN40E5F,DBkl|K*H?}KC OCj!5NDN^\[Fbx1mLNz(1S}~8P fD0YgY0)S=>B4/[.X-%>.>(pghL6`hɪ%>?6`DZ#Uu9;k]*N~)U1 e!9yUdu_˖ki+6Q+n~u<ǶQ*A3NLIdkeN%eB̢EnPc![rI;oltS?ny}6@12)>VD#IW?"87`zn[e⽌UX}"wmL/V9uNv֙, (ͨ{d44?@5R$,^UIp̟qeehFI94gu}޽ NXR]˜0BLEv:M˲RVLoº P;g2Q9K5"_%utR7c0 )HQ(a)|kʇf\'iva@9m钱m)^.atGB܍?80n[ay-/Cybϒm\RbKD )%bIZR{xRH;ZMV<|t>>P`Շ"쑔:RD5 EP/O125gu"V7ȲVb ghX^ȒLP 1`l4ʶ: єL Dbu1bލG/i^9ܬ:_C0i p%i TVہJQkcd;~@/˫%65s5FLSD֚7RR {N #2x2 _ŘPU)%eU|j8e- a|"x^+ "(.W&p-n]F[p]?J G4~iW>~8d4 *~J zAǸ21Tx!DsfX$_<1GhWo?uoqTe ~EƅMtjcZZJM{tvr?e@d=3_aL~Eq'@r;ک3*M$9 7gP,R<$kRt4~ {õ@8ꥸ$[4ec_AAXe`Jc=DKˇm벘!hd K+tzzVeʛKyՀ,3dsY9G>er/G>E09 X;?i]SKVam5Yί 4.'?We,.+;#Ω˿nth%!-{cuLJQpc8[w=ԗWJ`cm;Bz¥P '){3Ǟ _^$ 0c̆[4$6ny)-ZiN_ +K3b2Z7b(c Xʇ_4!w&bc̫.+5$S篋`/\~KsE2 `,rԚ~~j?߶OX(|3^ Cq?~o?|@NDvϧ WSߵ7])N<ϏS 0붽Bwy.:U5/0^ϵE@+<ݬ20qs=7Uui_wC t~M`E銆t4:4=sT}Y%GLzI):sS@C.À],G?41.f m:JÂty6T#'=jJg<0~(mPXٚ"eOm7au3͝5fY _vn[jtPgFAq:(65}\uFS?<=Ui(_x>fyp MHBBc2dh~|`]N::0 `+1ȃwT6?)U"eY𳋿MT?\F-JN=b< M$]=5/LӦd^Ykrju \=>R݈zu^f,c~,i{zob2y)GT Zl7(}u>Y`jap p@>jaֺ@;Jpt [e0YqJvzf0yn܅G갃IPE8sAȄlV#OleBnVySr^ EhU^jyF$@)4+ZuȢT(CGE%j!5%j$_Z$obj0"y>T^_k2is\g?k\u`|˹nĘVl,8D]ۇ-0?#Z_!)ܟI!Лn#mv!a+7tw7}-NWH?ymHap=ެ K ּzo!-7m"LaKodd4Պ^f{˧)r)ϫ7'Iυxȼk>'7ŻjgQ [xJy6%Ϛ x/WVuv n(r`IJ&{٧=vFv=ܛRV(fmBso 5#p7k`]!<|B=4}^fv;0O\ ?S=2`ũQ0K)(iئU' jGߜSFMYh+?:pWZ?#1_Ҝƽ;fj$+O'1x6Ԯl ?D#VL&w|%fϢWf?txbQ/z )/+:9c{a#L;Ppx uyb5Y:7[.$>C"o]g$O]!3;u0p ̮~x,i"r0W@5vyů6^0 h9(zzg @Njn[s$)= mr{+έI"{B nWTF9m@}~|LC4OȒ X7*5t05ӱ޺bYNܵ0=iXk MzU)q̉B8Cu.R:g~:F΋SUf&jHL$f>puO Ί(ށ֋ lxѳt?Rƛem0M}tar`Y^؃ȺZ.̜jkП9ٓO v*[YNuLԜLTLD{дRp Iu <6 s0+}. c% ;մq?~Ӣ@Cʒ^:2/ 5@ܴN[_q=jtH!֮BI?O<03+yե1li-N 8Noeſks9]vQ$B9Af~omTSlf-+5O`LQnc[9sw;sYt'CV}yrέ$[ҖCTo_7RC{ n%U[-Hjw(]CnP/4|Y d3:Ktw=ؚuqZ5u?`1xw9kFp(Su jT ,e2N!p3 o(B@ADTS~)MoyGWĶqbwbHрSn4)C˺gBA#؟݃EaXP|'THyYrŢrG޷# kߓ[ k -)1QS{!Utl]Ò]מ:y \'C )޷+ݛ[V%Uo(@WfY5}頼|~d xr5Ǐ7B{?La\up|h?oϻ9@V5 FU"I@;hȥS10`Em{OsI`0e,ިQR[3HDB. Pߖsl*{E%FX7ފhStK;'~Pa^#z/Z}cY#X{ҧ- ˁ;>85vhᱹI0h=AwQ V#5Z"!g:˪{l*)Ee0 a1MbLbjN,e:[&JYS/2N!TzY^^X wd"y `u><Ӯ4wo%$0_dM.R)dmgh~Q{KE\LtX~AtkB ߧ xy"`t1Q\nd|qJ[Zv+ʮ5"+RWJc㛚1ö|Q (y5*L<޹ `~x;\ZMv&(Oi~endstream endobj 582 0 obj << /Filter /FlateDecode /Length 8303 >> stream x=KyF9l!qlw,8 A`vCdLq\{Tw}_up):p[]f7g_] [vﯦ?^gO`XbvOW.] X\=j'MI肃On~z=Jf0C))KxM.oĐ8-6Ӕɚ+|nK>ha+|)sOv24Cɿv{pc]N79LGWwe NS aIiL9O{*]u |C:B4M> p|(`lW #Y-r=`}~ =}Am(Z+Mr![yD&es&g,n 0#95pze23̧ڡs$* dv6tҷ gS[ztEu3K!9DczSiI= ybY@!2S=L!wa^V6k MٸpGXЈixl"rc3@U!X= z[*u_0!\(>AÄIAppqX /Z9`9 <c0X< YBt)>Jw/t7rD^>YF\XG~FPoYYm`S$o8OP?5FB_!^#AjZN}fb!7&R;a^();lZu 9n3M*gf a "2vNJ$MAѽ9|^ cCq8E/TXroq].Z*/!$a6K554vLYl[.< |UyYE +e0+zNhU)5eVJ H)ݫ 7?>^UY_LpaJ $GR޶cOj.&s󙌕I{HxcPFWFޣofFs&%#ro [uU4#S>o?<VƍE$L-M tJ^km2o+*% k_r P(AS<ϴhDrѭBzgDciᚒid.cs„62z@6$Ԉ< hb` >!Wx4,ޯv'EPǰʦ ^\"_lR'g*~qKx^W/))LFfbcԅ=3Wr0%XA{u|-\p-qsnPB mct56 plꌊ*12eLIE=X QAvʆFAN%<½+B`[|3"F hv|A1\.?WF=h6YVogCr%mx}YB+],Qb ZAi!3?0o=^4sHV65li gAH`+Z5V`1-/%PςͬtJx摭Iåfwz ^8ywE ^"t]E Z2c,g +K zK8r0y:#,Cysu@.s6*jոSx"[C@Dn!`R%x]D.-Id 9!Xdq4 Hni@nRp^7HeD^-C&eD-UU>GMO<*^ympڀYj$W.r@ջ|`%Okv43KG! n?mhp }Hcǭ.sip#3$eHj̵IsbRI{ݨoC٠5y2/02&h^!kXla"AȌ3QdV域S]C`WeK ߺ\olQuzR 'B0<$T y@\S”]m Fmwm˧C11.>/Y@9ʺX' V"1 ~@!W'AGH2>"FgrV%r?? d3r PXz ^*eNOE^(v#ZЖQS#級=~{veS,RU$|t\.O`Ş[ķv24U{CaL{ k_)i[,tN\޳>_섇8'}drj<R-Fo\ppra+ߢ5;2 fqLfmFA).uDG0w1:>L'W" xm-JEfb<2*', ^(6Y TfBƱ MXV-ds)\`4+ (@2Ģ[6X50[ D||=v:լٲt|)Xӥ݈$eT @.z7 #e&HI!ao#+Jk貇cEk0oVkPK:5{hנ9J>4j=_zB!'3 @9KU}#܊fi^62RH!b1Vom^KU& "ɗcnxJ˃\i@WYV 1Oؑz$ ܴ-1Qd!!]T6{=^]c%%`g\dIgWtZ3M u127rua)=}3WhZxQ+ufC Fcj1Aa;jJፊadBs] 5mJ>fۏK;XRKf0+, K Sj}ަ&$` ͥaLDQ 9^ KU ZVW,CSfX.[Tiv$2]>"*^YadJgTY T`G Qxk. hBBXYҎ*Rz,67L`Ďs_"\sz5pؽfgWsyhǠ#""imNN ^UVIT .\҂94wTvj@lTA8P2k=۔Uؤi3QpЀBqr641R XQ.z޵fՈv` |[YRbLVKΎpu X|/_`@j͵s Zs5՗]ˣ!Q\vx'pA&]S\,Hxv箇jÉ@1"f5@ep:"߱3+7lüD| ;r>q3ʭTj1jArOw Xn;88C(N5\7a3`83&e~ZM:aD@zV19z9v2l.>c}c5Gڡ8ɪ$W !n?W㫔%˚QyybHϺd%.L[t\/!+ FgF ƠJ-o?6DcOA6A&ɬ5a0&(W6AhdviePc H蹚i m1LQw~غ@*HXp0L!M<T\*ȗX{up}hlR8@\qytlՒcrxQn ZQQ\dt\53 SXv4cb>1eg:0Zƣ-o[x!Ӳ]& 9~#] ˤdޡÖT _dP&xhɻ7W_~('>&S": 1W,TV@jef7 ÊrȦ4~4nZ-iQ;ĴfY&K{8?ZH3R0_6v<bgKMݙKt=fǁ4Ӌ  #73Z/t YE 3B P3H pYOPjPc?$4p߬e5UxÖ@N,C`9DzYR\7X>v! /wEF8T"䓥-} JI(Sb7ڙMӁȦP#8q|-g`77kQShrQhd{-JRZcˈJG5bN+0%|Y1A"Oݠ?;.|bYfOB]NҶ꽢RZ5Lvw?QԸBtM~M?ĝVjo,wl專KI d>f1Z[OoZ*;刎+)r_wˤ_$MUy8A8BFe~㴌! HX]i{M6=Ez{2'aګ)}h讈.lA{ w3(\UެrxP |?-GĽ|?U/C<)eia₿$O<5“QVg W_J>IZq7(% 6s#łьPcwG1?B1WxO}9&[W⃢X*jQ?I2KK麹i-5f0% @W8}!jC?vW B hc}/O!ZV1ht'[jh6_wJ6eJ*) ]_SCO m̑`_P/y)y)[62 *&9H+N~|j?o;8>#$Nefxhݾ9M*S]8r]}18[I[X(ul .[endstream endobj 583 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 753 >> stream xEKSq{MVpPnP" IC HYN=Rw6[vԔBbAO @,9!$I`̏h V+;A_(X+5\gXy 7↣$uݖ.]sY-\aIIq.WTPP•iUe'W*7Fҡ\e5w]7yJ!Oo/VTU+WJ;83 UtkTz * "8GdzBFt8%"(U+4f! bOX3VNwـ/jgsQBa S8 "n*s |~>Ѱ{O(s/-A}7)F[V Xh $κ+)7bw5 }j) " !M[&gI* !͌ ԃ Lò=~S<35)eFQT˸U!0p 9(%(qC7ŝ0kΑKS֓Gf>Q ƭkB:X)aѸQm7C,0P={uxYy9 o |aLm8mBRc篯RhLR+K& > stream x313R0P0U0S01C.=Cɹ\ &`A RN\ %E\@i.}0`ȥ 43KM V8qy(-> stream x]O10 P ]ZUm?eB:gׁm_Xց$i, x> stream xX TS־1zQ|T{/VZV֩" BBBB LB&0J}OQW;k칮c5i}=go{_ѳX|)L=RcD|pnZ?Зlpe i)L9sƄ'O3?#Y"Q(Ǭ%%K c*d͚4)???61#'V$N;vBL~$5fmrN8/yWbQ$febFr}Wcg(#+W,Y!ڕ,$b^h¬9%y; VZ;%umڞ{7gl?irL>rԬ'=gScm? VYb-1XG'6cqFbL,$Xbx#S2bN Vs~Db1Hl#ۉbACaI '1!X"M!f}G8/xw[zn`&9k?Ke=>_YׯW쿱[X?00֠ 2=8~{#Cj'hоCC2h$\, />:є዇7Ղq\OʲFaDd9w؏mZxu۾7v3d+<, eY`r:'aHK p퐫':^^Yf(6Y:x7`>g{y"EGq_G1Hq+~ɵ~Ĺqr>6"P̎]+K R78J'Y$Cg2A&Y}/:؇6;Oe|2xa ?FLē/Ք*Z)ՖK(G+F\E$ge Df!xi:o3C{teb [7"qN nE>\pe|Qqsޕkgd z'HQ0NJYmYh&OvOowsG7.DĔa/ ؝0F` zy|[(D翿|ME)^l :iNda'H4;b髷vjTqj9l8@67<vp(i fTlrbgLBzo^PƠd;@-TNjrYE.QatYwp=s,y& ب`22Q @dȻsصzzD``~7jo|m`Lj:Xo<3(-YRw^GT8trK@8gE- a>א{J O'/ <L!w??s$1+WClHmR@-+/[Yk=ODn±?㶖c9u%aEb` L2t8\tGNA+Z?(q:Ce 9UG}!tӖZ ꀰ_0~W1Ur. hKҗnFhw *0(p?HwIbXcr |<i(%A w>gXکPVg~ ḯgFgLꟖ2>ߠe_!G @eojS_B-G,\vG:MW]4PS E0B'HbCTH^A5;yu 5z G;قT,ކ/Լɏ &0M!GiP^qsgem|VWS+ N?Om):? UKPhkIfY߱=d#1f%v ڄ*RnUdJӔw^;}ZsG{TqV]b$ ;5kkŮp d\@d()H=k8r!lEKAF>ui FC-?i2U6M9w30OY{ *DJAfђmk䩔Խ˵vUjZel9Hӝ˷Ym{y͸56oY1 BepuBӊwB(訰N9s"ԞÌ] AR悃~wcյ*[kvb P~eS}$Q9gK7i|8 +]R/\[?he; {28w3prߞ+֬Zfq:Vy;5>7 ˟Le.݂Wb0FԂi!6 ʮaeMcԥuWAKy#|BFl(e+ SϿ{R˧e20jGTe&ZMM Z)$hu[L~־)qڸJ,ύtHklihhaĻ& @tƐ+!C3\VC^·^3/FT'7;%i4$FlKP^&8'Q;sjB}:t8ϰ8'spS/FwWQxoR0;a"jTӸ ņ>B߆D4 "%2זr[h /Tpn~ ,>wq d[[F9kw.;W&{. W7 / )шѦ)n[| ;Pw bmuk?(ǐ2谦&"a+/؏QXۙT1#{+@ J$ڦ*7XhfZ&|=QIwbhh{Edj4x EXa=:H NݗHE*HM=\yp7ć/ЭԴڬ٘{9hd҄?Ͻs?m[IU %e--SԠTXT6[k\ 72{_kQ"?p3ȋCӦqh\/oBuҖ:IȚFchhqBtyhNEmj,]1NUr*URjL1q)?`)|[&Ͻ_7!&,ʛ'-SL}B̐&mM/2lz7E<셯NZDO§̔Ҝc2b2]ZzvF玑N5&f-f Qܭ`Sۻ1㫢7Vc~3HpEmJm+nqil2zy4kWf^Br&;+C_p1 pis}Z@B B ʀKDk(d%Űud3禍CB p^18dSo"fA?) :5Ck)C^3S笭j۰~7NY݉[J^l,ɦP8'8ҫ⵹[C̣삣1pN9\MNj.UgsZf7"gfLDGї[U\`W8L,??uM. zoBg*3!~rѯ[smrUiQnI)ӫU]Όv2s^ﭳtl-W ze(֣^ #K Q ɣqN,l-.s}y[lDhDx8R.eUad,5& =hj^Hn'UP>BS` AuFtC`q@RDٻJM =]P ˰$QZZAE>[~.s+6TQnT_V̠(@Y *Fޒ > stream xWiPqeI{DM  j Q↉ 0ƌ2l";)̰q#7FOLNK5S7TPnE~I#lYjkui$ ~&3zrQWOA_;|Ob%tpҥ] ܖ =c_RxrR)s-Z=?8&vT1UTc{Äkp}pLp122\!+$AH2"V  E#cfe﹬=g+AYFbB[ /bMjb >XGp xFNL'b2!$l[Ž'fs0V'F&m#~UQ҆l@&&Mh AZV stlT,Boة-P4@ PPWcNFts,0l ['HBOO_p �gת2F^5P'::f|O]yǕ,>rQոD--n=1{<4J|韮}&_ԔQT`SMJϒMA[zi$HXe'TmIo~#i(Cʬl&&5nҭc#{%w7Q j&CL jMYkUeqS sZzrNEV yUEʠ:Q~JI'e&򙞇v2M"tE_cH+̲%D2 ֐3oo~{@R9QLPU$P[?}\Fi(f\- wM~xn F@ ,F޹x_b7a6@KѧLS~5uĞ,^`6ߓ!8GBPM*D^(c=Ӡꈄ !mOt9Xˬ|4YɪF,9$ؖȸꡁ];cq5oqrDx CDs`X%Hػ)ky3}zMr՗1R r=įZFSẒy%yPKJ!$eJ.Jpx,5Kf4o ֹ ( (xDNqll3G.v@.*k$PI"9]?(i|,emfUusE76hJUI2@3-VBij߀ ;̖Uc TF"}jA'&dFs]e6i6 #*A0#̣ 1)B'(-Ja)%pJ_AΠUXOF"?=6L6bHKO&dNc?v%U5u[9ϝ_ ѣl4$|APh*} _`vTt?d%ϭwB'| n~vA<7̱nRa#,>ttͽ+>еx%BGȎ7f<& o_feDP5*[//ms-IZo3hk?h6|qNdHOj (/,mԴh[awڦClmyU^HnHvAMu}erWDJ#@Z$eirCA~phEWє_/~fb_0H@̙w*!ջߜu}q#y/%胗sDrs<1&eTTJuʦ&㩴eY^0!m;h 8 NZb"+ fYm$v3ӱ&YhtD}nv y6WuYOP";Khr\楁ξ~bh O|B}S᝹Hߴ }FZ09q'']"׬οv Īp, ,Z%q}EZs,o>CAyߴNA ѹBv*ݽBwD7FdQYkGcK9/K )>+ߴ7;蠘ƥe1߽9GϘTחV2j6.N5} ;l3ߣ rt~|7mxGS1 <J!/oNyP@5 X&r+hGgB#ugUz.PivYV1h"nB!a V΁ *@\E?龃z:uo]l/_ڎD's S/|׷YJtɡޠm[wf%+wW/}~wׯ!’2Ms?dc9}G62Vd@}ҋ/:#dRqlesDe ôoEO貣@AIa.: e,z]c,6ܨh|`p H[ ~!Щ-ŅeLLxۛK*X[z]nw G#gFʦޞh*8Ebn 1M-uNy#Tƥ)Y,\oC%.02=o}<ʥp-ixp.ʹ+J*=qFi& ̄{}T;CWEgfmyM&|h0G}NhA.)Ys0MIK)LNcMiqUB9\MKq{;4sƄzM6:PO*gU]i|\W6+;;? h ZB Xr\Ŭ`DN4 YgU;(LG((.2w ZYF"fM6 sendstream endobj 588 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 565 >> stream x*CMMIB80_SB@0>_  rmiouCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMMIB8.CMMIB8Computer ModernthetayZ( _vmxjkgvP_GFKħӬLPSqz翡tvt{P#irwӺu ursm]jdaQl "䂵x?&=D+c@5w2R(E 8ܟͯţP[V|K|K~W{Nw@kUcF_ngjkęś )  yo ǽ 'endstream endobj 589 0 obj << /Filter /FlateDecode /Length 184 >> stream x]A Eh4M qѦi{⢷/`m.$?!x܂Xn bX?T\Gd|yiWb6JX^.]uendstream endobj 590 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 573 >> stream x=kQU*LEM tEh iڤƌt&1IjTq 7ڭ_ wSűB;}@-୳O`:]Z</_~=Is'r7fBF.Od<<3EcgѸ7.ExxC\2tI98vntT6"YwaB78?f>U6¡â#:Gb QQV0|Xo$XlpL.؁kA L`\p\.7 H{;*iaL)5E6iU]m 05*:-n'H}͒J[vvjqk ^g!+gV7駋Sso^rqC.G\)ozkO/I%CkE}?3yLRKb#'Qٻ*gVtVJ-YY涋Z/b-S. bZɕەKom ijV NiNX~wY#/-BӢJVҥl/hendstream endobj 591 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 741 >> stream x-ILah)#VPC# s!xD\`LZ#ݘ]XZ)KGJ LA[ .x1Ѡp1х nNL˗=o> Ha !Τ (AizȮ-xQs% %P.M; 'PW6R ӛ {X*%VTTu:;zIP:5*Z򦡓XY|e-KZg*305%f{b̔lгu"e3C64HYnke@ il <]x4hg-!X1ǡ^;g׹pWr&|3a"9gٕiJT%Q3{ȹ-I]HƒdƗ!*e+=?L@ad&8#x/8lwm9|AWH vp F1ouq< A{}%[l:$`Rx,mxЅ;C)~weo1kv-si"pjQ"SZYr~Cnendstream endobj 592 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 495 >> stream xcd`ab`ddds 4H3a!TVY~'Yv|<<, $ }/^=G19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU;SL:)槤%ٙ@21v1032h=+{~?cn^":{IҥEت tϖ)v?R+.1gk&6G,X>SN5igU55V2ٿgdǻp̩QYU]W9Ű]?S U5Z'+WB51|v͜sM.7sڅ3Y0}]]ZU̝5cNOӮ r]7v+^~ os_ļ }0endstream endobj 593 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 755 >> stream xU]HSqghkHʳ%R30%BʆtjVB VK,݉oHJuv Wc**y:}833#>IaL[MhJ᧊ĕH'ii Z.WdHt|%]1zye-S_ xFOp匾!kTQ6A(nHDa 6$ě֠kkVI_!y`k&IN.Y=\eGZGfx[* w:w]6bwAL;8[2q}y?5G +i-`DH,5]S`u,﫿QA|Ш\z"ǣ׷QѲ "*أP TMendstream endobj 594 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 962 >> stream xmLSgmksX n: 1c&pmfaf (B_lo{i-\h{BL4,$VqKk\7Nl˞gYVpN?_II'Ӟԋd*W, yDJV%%,l+=HSՙ*e61{**ʊj^,0rM6)<ƲwsW"WJzeeQ1é6mA7)Z#Z SΒJYֶ( D߬>CDQB42j!R.IZfLM[kBt-},'9];4⃞`dfd0F[pvgLwpebӃ?ȇWŇ#w,~'7;j^=Ё7JOpVząX_`7^WJ V0u{]~:9P>FGeC;//곺xo-=bIJIdHhn 5el_s.Z:tWjp&q/"ct|:u_Z[=p45tQ˛>'P{XG˨ J.0Da,b,wԻ[ऴQ"q;75eJmGBK: jOGyjV m{6UkOIrE~Oo5a*75.&l0~z,Z5chDŽ=Z8@l@%Vs[y\S9^@/x$Lya؋o;sΣ',|?cπ;h0]ִW*úv3Ns3]3.7resRt 'kc$ڜtCNb&#tn71 c0~mRs#қDZY$YYL?endstream endobj 595 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 686 >> stream x]HSqu^m,ImFb~,!L VIVۼzݜn6mȹ\ CҲ $S{ꭄWK˗9/EŪ;r87qރF9zZ|S*g9Ɇ]GaG"DQCsDe4YSB|EEyQTVCkHQGZJO#54ZKZ5UZ,R]bd:  jbT;qh`zRO%2M=,uv1YAA;H#=<u"RnoEIlw+|lqlhXG|' >OA ļ1Ir& ba0v>5> gƢ,7x x ~~67?mkb4 Yg7i `s+6 l.7t2‘e}R,]N7 |Q?.҇9Hsy_ɉC:+^&^@28< {SB`).={ezu+7Щ[Zf J<zp%NsK|_U|X _CVo'd靥Vyuwvk{5W5k|nDqiOSB!hLy2>{D),K2AGo#endstream endobj 596 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 424 >> stream xcd`ab`dddwt1 ~H3a!; NbyyX)={3#c~is~AeQfzFFcnjQfrbobIFjnb ZRaQRR`_^^[_nPYZZTWqr-(-I-ROI-c```d`b`bddYǗq}Xf"ߙ<)?{Bw?ڂeaх-rʵ!u!5!]-^ Kv[py3'ͱ?|bo⚙gO/;Ѿu6'tGqɹ?{crݝySM{% YIA'rn}.y;J9\չX*y87OνE;endstream endobj 597 0 obj << /Filter /FlateDecode /Length 8314 >> stream x=َq>^l=I{!CHֶ YrɦfHqdeFfW 25YqgD7j+^4ys{6M柮`6MYezqfJ㔭\bK:/wj9hiV}siwPS޾F+}gJ>S|OBJA)3(G؜Is~oq*ۺ}M*yFyUsmDd69 2Y@&m I'F3h}{?Wù ݆<8m9939->b{u&`zVv"[] dQi3E_$< ;ynDa_jJnKhcھ'[`(#AJ^ox⠝\)j/hN9i= Wicµ,(!}ٶt<]EAH&uJ Rp$7m-bjk{]y- 4֘r#Ȝ % `3{P 2 ɹ=0KԯN3EpG,$W8ob 7;m'yzʖ$M3@{hBD圈Y|N[<[0Q03/@UV:dЄ<^^PMtڻۊW&.g)h=%ѧMRf<)KLN6{[5[<}gmDAm<%wB~@3m yoͻ8ES9ϫLX⓲y_"{U$5RD+8kzɃw};HfiSWByb?-%EQ f񶳰+"KIRqK^YFg(S"t"ia&Hof ANP tԙGUʷ,Er-hBItfq|'_$.JX ȫx>$ѢO9NZlgm lgf|VŖ8N1U#J,ou7~klpg06$fJb" ƚc G i%XIA$s$l8N+blk{觎~uPn F :@<SdӒMcl{xguIy5,CCFyC ^l٠^IjeQE &h=t N)$鈚tJ G0ud˙v[l  y)ˍKg.ފ ?_`} gKZ8\˼嫼g\𽹬kaeJ>)IIj 'Y1[g'j4y bhW4+PE Z4dAE %0S\h~2,g#nw~$Ѣԓ]QT~ zT0E:f<+?jd 9޼nqkmޛH~t$ |vW~ؘ_;mo=XQ Z@fAhņ &|vh-VR$Nu О`{*KS/N Sځ>3*L P8>dfT_.C `$ٸEfY@Gy2De+Yv/?;(;sRէbͧI|fi[w"̀-;qWq 1f@O\0{A-fy.w @/S= gP m=e@Gx;^KG%W ! @ecCS:m-~;Zc ۿ}q_=^x 8Ż^=8tBU:8qʓ+O`?^ɪfƞ5 RZxȾ48_zkT \#h';k].>I*Kx'aiisZYM>|=)8d#ajc8)(F;A4ի1J`\G#I-N$]r+I{4Ʀ$'OV>9w4N..VcGqdiYi}NBi%FAUN\m~Ʊf3]k6v>&-$SڔWbo..TJ/ﳁ_=&zF:Z'CoN:Dθ06bh ! pおAP`R f#A؂;xЎB@q~%Y&K@^Ǔd  8#*?`7nSlsBm4Osq--η<k^toҰ̓D5fx5ffqMP .Y|;̖O'r)ON{7hǖ[NȔ hcuB%L5}~LNIr.)s~1@'tٜ2#Ely{o} 0 浈7yW>-&i#n9+laa14H>/\/z@&E,̰IݧYt4 HMetxɞOO{kWsE&!xE`6@]tCC=ݱڋ ȓ<Q*bnH{s`֣^ uR*y1n!/f6捝ȵsL`%z<؂& `2:ojK$*W %!И ZHnG:x*ڧ[_f R%ڂ27w5CJ&qh킟xL2+:9 n3KK`fҫV%Pۙ*+'qǓE]Jǁ,Bi,Oe3c@gKYZRKx )#\ XUO Ii.Kw< VCuELP徜L"O ٵqY#KNTeE_WQ|Q"x9@OyiIY}]c@✃N-k'ev|wkFc% fJJW]g1L6yHb 93jb- _gN4!K+E4ԛtڞʙpxfhho1qel0I%}hTG9`Scɝ懲\l~yM~hg'+%ZT"f+%q^Y أܡ]i=h٭zAUgQ|@3R~sYu )Rqsޝtو"f׫:Zq$YNj&WI{&hF> 0!6͕~cHz\kB7]Ob&;4Uϯԫu%w9+$t7׍<T~q;*-=csK-iBou;D־.戲+h a -[vh3|/rRS$BP(=kE_qJ;oxF.&3骸҅k(&3Ytha6i68JkAm}*?aY)MF˳ȗⲄ UB(̿m;fw܋qE,HŒ<-N)q|tO 8gmHʩQ^kA`*L *d{ `[i))oG۝ɝk6\b-#PszU<#deK(8ݓ3UC;>;j1$xQ/^`+,D¢[.un)\c.<+\[qs@)X+48 On$Fyq(_)dV}h>b><E?_cV'/#)LҏthZ":*F>$۱B9zLɲsS{%A'W!01\,4Li[Qʊŭ C4R-뭗Ly5y_-a~/nHFp)Jo DjV5;svB3Hw 7G b*W΁eĠ7FR3[*:2zTR]xٛzZ(P~"J#7:eAnR{uPج68$ر.Y \r.н 39bQh*xH&|C-P5)&2ۨ $MHdA@>myτ#لoN"يsaWӂfWJj =#|%"$t%*E lKPO>?2@oEe+ѧ>όpjrv";L 2zbrGK 9/ԪdV}dQH+HRKѣ"Vz7+; G%^L"B _BAC*w0nLw9+x}va((8cws God͈F_ӄh kɢ.h =|^Usz<"+j˼oVLUT:D[@JE% B (Զt+F8#Vg /]MZ#KW Kwx=U&lXvۮk$EcQ\j}ǻj"_S!)m5S"ՀbuAFB404FpQ0745Td<rl[Ef Vo|,z7t> ]b>R b 9}ɪ6aw4XBI0cro5B+yRJ dxPޣc )eFeON5S1AFj@zBh=elhbЙՐkjSG2;<;yAOH BRa>"@%O$C adVu4IF}A_#Յx9H cBIaV ={>OR6-zxCd9L{Ty`O5~ [+ Jj c9̓s!=?1I$N89S(#MGZ;$K=e va&ij^}Q^EI.B)Qފ$6}h_h~C2HӺNL[;T~nfC;u~&$ISj:Y˅\k# |`M.#:yiMX X,5]uH1iC+%^X%+׏ ۝t8ف|C_vJ\ ˔t~oz#@a5m%??6ň =obi_'B^"]&V7-g` ,R&u[>԰bd%K)f@=9{޺xih kpWON5N"KIbTNGc`!QzXlH !hF0܏8ʕ]b'YIYQ|Kh b<셗 c=e<\N x> vGK2vA`Jk $ A}Bk2huW(5(6ּFw?(q"l O8_,-Y.Ն u.'r%<,stV}NIv+μF[ATçp(]k-*2ٛי|)~1>/EKr壽T-| J5﫿#lRpxQoA0}lX%c-W[b i,o, 21+n:l_N=t! PG J]!dxMFMa$V2Nz|gHܣ3OMft }JJI!c.wd*. 9 U:o|ۗ-!]W*o FDؑg?a`OGpReb?%Ԥ<ܘH nE6tWv\rp|l4t}h稥2pP%ӎ51(R~Nq\_@؄?VWQl9 ˱D*JoE5ag⹓~ꯛo 2ѧ4Rrۡ Wl 7C,bJ}j=駠o~E+)p oȪX@7.bBMu@ؚ)&.7fB9P7ϒLs ozО.uΕ &';r gi:&q=ceo3k:CHR ;ɪ DtDtXd.unfYy3V: HZA̽8qO/JR?7V#%N#\6uZ (0djD]Bendstream endobj 598 0 obj << /Filter /FlateDecode /Length 10500 >> stream x}[ɑi*3#o`6!-p#6>;nY]} )ƉKd_eE}{F>翋''> ;wjXQt[wϾ~" w!s{w^?O^:zs B7Oc9CH so2-O)OOm$Lv5ZN2m޾;-n=Ja[=LxA ހ.Ss-|C| j*zbpz=r?} Es{VNjP.^O[b zl' O~9Ha2 opS˞J?G\g_=9WϞl&fTw#K9Vpb༕/~'> @ҏ[g4 5Ō+h- 'X~εm[ 7Bk TἅE-R/B9ײq5fnP+w*l R: [T:S;F;HWIM6qKZ|k8ƣ B 縟 -jK;H͞PVRfX[* s( *JAMf+7TpWMwCj+T֝ nerCZr{RVj=r%1T–'gt-V[ۡƕ-T2:rT6f Ҷaπ~qT0\l|-j%M17)n|sB`R0`Sy$ D@?%H;lHIέ-p*`UReI% {Kg{$W2Ē~n*qI3<7],?M$E$R7J E)n44*wocHtn͒.ݩ8nc FwdII t4j$ <}ܨ9.MfT6/u"ԉ\<' iqcT1{@rĵ:u7w3Xo{* 8Ԏ R&oP;fwl*J$`F 3 oTV0D΍Fנ6jhd*'h 1Pmj' ^ BhPV_J{[!21Je4sC[x=stgB X(&'7UJ.ufwChØF 0?6nhP.6:íM˽BZ] 74F.49{Em6<9TnhPD8\ ;bf#x8 `>9gjpI}w|0E_'Lу㭀)zmQ_ }s0Ccڀ zpdAO? ; 9N0?_74h!0A9F AC݈J`~s|v|'J~(lm wG~f髣hYh\ >{ &cIj20Gwq(u@g΁)zOSŘr` 1f)$IW;Ս|Apn@W7WYW7DүS{e!)[:biC2K߼ 0K_0Kޔ'7s#9d9eyf>{g ,vqo2߇LgWOn;GOīxx5}9 s; Dғ7G$}ΎI";M&;y5K$'΁9z3G>0G} &黏:LW>t1I|x#A,}wa.C-0KC2Ī@,$}s!P0I"U4D,}sG9zp'`;L |QW(T&鳃s$?*`!0Kt=C@|R(q,XҸ9(B(Z&jD=al^M/;\f!Bq {ɗ? zaI&[Zѣ;SiJ$~SbJ3%JSbJ~.05ƟAGM|LU8#%`ЪCk2S1Sk2S1Sk0SǠt>AOH:# :=1}"иnt̍$g: A\ƀEH+Y:5C3t̶qbîPxxÛ/~y9t!cpB1 [ ecW̔!sKeͫ`(,eejۼ4yaeLkVl#:$wjTm !:V2y-zKU%P0b|npBP|"0zP,|U wKOnLyW C1λGל'={Ke2 p M#vth3;`Q>K/BE ԙPPi(T(Kɒ4'"wsD>9YRT/ taD Pb'Kt|$KdI_ 󉒬40,' u6DO` L(hGDIr,'Jk 8wF{$*B{;FrB^^ēeʆdӚӲ|qJNkJ֮L'=C'#:]QZBzkZp&Th9-x̧ͼ֐,ZEKG?s(&LG?iN'v gcdGT!A9+prz-Q?||w?ќ|qd*_qArPp8 y cM[Fކr /U=EMfT0fT0^gT0gT0~hT0iT0IK5K]5K5K5K3%:Ʈҍ%%%2%&8K8K99K9K9K:KY:K%sFˎFݎF%#~䛕R_wOKH} ?H)0'B Lɒ~Bt)0(Q`­ԗ& %p} oIR_ŒMK8{fk-0L_ L&ni ۫Z`mg0ᶼVpnA+L8ס&{ i 禴„seZa¹;0\VpnS*L8Ϫ& =ky sZ]yx.bVABKK(%\.ii 4,žVȨ%\.ja  ZX‚(,a@JL0Je% {OFY 0-+a8h04JL85JU% FU wQU@bC3a`sԙ0@:Lk< MЄQhXQh@(4a@{X$ia0 M-+~$mL!m|dd /YnӔ8--#ᴦi{t(-ţKT#-`jMxj9xjMxj9xbCSkS9ϧG+t(0]۫fs@yc"6] m.3b6[KB`iI[+u m/ntsmLxz\ mYj_8N==pYeݳƮKj{=+)BPa)fŅ+{&<0/ f%]˗+s*ݍ1RrR |[Y h~NiUtV' rBxq?,7p) #>)0]) ݣw;tX[ZfB!b9IR|?:}O!]ʰTѸxeJ=^ʴa^Q9δޱ% "C+jLᄇ߹aB覣CP_Q~s\pmFn]:U,v;f QH^}0W(`Ӳb2^Mhmt>- M@EY9l|q`oF}%dv\6p^m$:BEI2B~O?J0GB+؄"p ݢ樑?bW6= k?k6ZǂKB]xZA@ N Zv+S>%,=y.G8GR }7?('\l4_q@߉M`y6D`AKe{0BB\LdVAh1zQ\aFS4Aj& $ǻM%Jv [bַm# mּ5G]Р%gVאJ |\wI")Q]j3{)kL;t%**l%I3N]~%7#/%hc5kk\n8 _NĐAReQµEhJ]{x8k@A:'ϿFe +eYV\(PWD [Xh?_WǴ"j!]t%"Njdg.9ǵ8+|y'0e|vȣW?4{%|dԁ92] N\/zq(G&^s ϝ\. owPsx?ٱ 煘aKMsY]7M#=q$G^vuûϮrm4OѾs ?(si||z˘[{UbZ@90(EǏs+GR]r#X(FpqwIfBxm icDo_]C<2To:<֕^ ;?QgS*@PĴ<9 [Q%^G&2ءGj@F|hTtfgH' i N/!s\+*繭ZG:߶NkN))ouLeq󎺶P9+>H _BҶOmC2i. /τRkͭ@s^Fυ>V1+ ;TʻCc5>DŽw>.qd`f?+*g9au# ]B <]=:k!@ -0M<,i<wn&=WؐJޟ|z]afogB4|V@јǾo 0;c}_ wcw?HuzI$}بj^ Bt'1Z" ]ڒSrV޲㬊h7"='ABpEJ;cwLoXR6:A0hƬ+#wWxW?pC.v*HhڥC2˙1i=F?6-z.n1H:mذh^uNky:; ZqMҒ8`xX?aoeB$U9wiKd?IwnqRB%X%ߚY-5r\h螴W軅FibØoFDM|1.AjR /5Hc|,j>4c Ӟ{@r5{>g[~9y_LCлI4>Htd*`/z눎6X8>T^_~!wVj:DOοմ=eܧٰ(NJs93's׷1ol7-IǨHu=G%[FUOtNG>õv9#.u6{oT.%}(Wo*?9GDnxO9ogtCh! lsq/ع=`E\(9 >=3lN#NB`au9QqhwXt;YqKU+% a rOl('zt$J$tsGeG`tobk*>-_j'o^3Zh2ݣO-#Gǯ0_u_rکO{lwja!ITGgsYsy*"I"DB˪?vݡs~3}Io£u[s{YÎ=p̂endstream endobj 599 0 obj << /Filter /FlateDecode /Length 8256 >> stream x=Ɏ$u]`22v:H` c@B{Ck8=\_DfQ]6x`Nud,/޾W\M_ͫg?MWwϾ~fW7~F/*![ճ Q N/<}0e37L}}yinŐks0{4>\ڽ7 ń_a'{PSmζ_B] ֎6&ܒu`sٯ;)ڑ;_dC.7ar}S4!h`D&XG>}ʛ}vbHNqLr>hj:;rS,mm> ǡ9ƙ`h ACцҜ&glI?S|C0C'^{zs:HDz{;圾`EKhd[nOV /jnGqcG>h,|0q]]!>>a,ppV~+hO&@e=g!y%tSyvu;^λ?\Xr,s엃=xg>c P !8dX'f*ҾCNNǗ-"rna,*>6\6,6lW?|kyͽX@ xDr9{SoHN3rpr 4x$ 1b_TDYw[_+9-he( Mq+yb4qwYؽs9L\*dz\)/W$Rwuh@Nn,"m:BhW 6RD߂B~ț^#M frJ PoY j4^;"Ź%9WH{bN)#UlZ卄}eJTzx[y1G8&3ދ1-,_e61=~^ oM)S?aLGGRVk:KΩd;n%>g WoW1BrNe0Ay#' '(ÁnAgQ8M1͚2m/Yk+I~+t[\bLrݔ4iu ՔVo_{I-+07eA"E0#YvO< { .M ǣToYq0$1o%a,PpnCe C2 N GPM|B*1.@0rU[&T =X„J%{-hx{J WQІ%ǾPc]O c%t Ja~6V7Yp.Z<DV+joUZ`Cޅtž(Uuw}Uyj`QZ Kdg))9| ^WZ၏;W]Kn- Q9YbGpFw(AG#ds 3hURA<}^9 ) VIUDg&C%: BуaOyA2&<{ޱ݉RoqyɎ2iM}|Q?fO{Ԗ"U1ڈ"#UlT@= cÈ ׈ISmQ~E.[Zdh'ILp|]* #x3 K_emKWG8BAe[K`:X돾\~V. "y]m}Yŝ=o4W[{JF5JWfS/ ۞=h˦$Sd{?@J_Gg_ PwKB9Cq0x 'iɏ[qcDז]V.wuဂ!iF)GRw^TB򚛪5>o]OQ=0pR|'' 3-zte"Xr= 0՛ު #yC,kęw F KF')>o.hm9kӜc!'+ӈWwUV-[LH\<@wBC~Nz.j+tZAy\+`xN\eQ0»Q$76J|ޕC\u˱$|3Tl A$zZe`qΤco›~2CYxyc:1Q NS:=8 y,кg7ieD|pnse5d\>ƨ|d=A ) Hk85NR}Y`kl|`4Bw򾣄%{(@"dzu|/.Hoe{2bpI -0QXLQGL(0\dv1EDn$dK 4!DIKc.QMjUe+tWXRȇm[ $v.;:{`H2s,=84}<ϫ%hd$= aOR}?FXuhIB4>M`}ĹғrWQOIݛQغ^wFa7x%)†E 9.G_FY.>!*ϻL@>GaSU¡GJ;ٛ-oks ~\h,y5BB$_v'^)fVWMʢ;4;4J́&Du;A#Np>".,a.i!X~ sOT~"ʱC'9&0[a1`]m`t^':EMSkZ5zk?)HvtoBh-1MNiSh8K8cH'Q&8HB?%}tCI6dߣ?PaGO?f4f+N 5 C})+O|Wqu9ʩRC8ixBa*[XB]{! @!$ۺJ>Gc hc[Krvrzs%R8C<;5BQ>ǻ%BtQD*>`љ+i}v,@T&`JΪ Y D^eREG&k^w}[|S}|xx (W"h#f)V[l+ }r`ēMH$xϋAyV^<'c^Ȱz~F3|qpH24\rba^/ TS]U DsyLB;'ZaTVy5 Ӽ旋2s;/CͳxF /н׾G2C/Pe&AE6IV: -|Rb*j uEe]y&`؅xѢr@9L Ï-uQ$U {8y|,+(.4ؾ֬1O .rI2rN{J:]shmrl-U*yhu%i]d>B#χv*LdeY{ڒb ! 3ZB "XLA۝e*:J7JU4J~7UWpFfi ḔK>$>kr}BjX9 ga ( <%.Nܦෙ3uTtȵEKk7g\Aȸ7.k;ޅIšAԑƉ8ԛu0WGZŪB#X;s!UaSAW̼J5+-7 *nCM\ ̦eZ:ô3YOF.g4`t0G\66e30 )Y:v?ûSNFԛrb,F?&1."%U֘WoI!6Q/ :j5h 5P0P\ EˉC?Tk*M5&oyu?{s'')Ac[\9 A0=Wb.0%-X^2N&l? ,d_'w`&w6cx6C-qf~-fH搥~vJNխ?`\kjN,LѐЉ~ݦBZ|%|*Vk4DžQTM̺{q2lxXs᎒Z)S`MU4` qdѭEd2We,5iy쬡p-vQȧ5F:!ki!I4`]v)?PO"yLWc[\nQ~Z/oN"}[7Ro{DXpZSN.%mP{1Rmrf3D!>ˢR&0߯n+;O;:):Z:h&q5wzEho϶u4i\c.:LI'KK4TY7Fʺ]J٥ % ҤiT::KcABxύ;Qx*WǛ;U8CEС;v )utt ub_Ǎ߹M򼭏wQ%kҽ_Ghz]A.!bi]9_w.ð5ݩ&G0KT "U x댺=A6:Q ZcPDA5̃99{*P8 YZ+">5z$f=VޙL9,Kd 0k=Ee#w.G ;ڪIuݼ'6M2ɢ<" I.4^TކLұ,7nR}* fN: Fc:p`u#p&SjLWV5FNtziA]Yլ(!A;ߧ|t@}t`xE ?pJ9roS3x?R_٢-0Sݪ IPMfwUz,*vw {Foӊ -E+Gh0*1S_KY!@l lbIpud*6z]L~Ұ8hόڦvt ^ Ʌ{:'vsAfv )5njuC*qLT N (q ^ot#IenLdYm*yXaFDXcA 8bOHЁb`z*X% }2wS%\+Q X5(K\Ief ^^V'neT7'+IaB9'vKxzYȠ* ؼLXqYlwrTHa~-ڻܥpzT3<nĕs`H=_:):;D)ٟO[QҤ5cdԧd2's\ECWrVb-Z* 9DY3c04|IS5] 26nm]S'^$KQOkprU~ذA DܽSNQ(9EOp_)X3wuj4E.),Ցt1B@T'|, rC)73@${3Ia:eaXro jW6y*vQ]!0iuB6,G]w"xbf*xoCJiΙKRRP, ܏m@ƛ:% Kqs>~PnWd3zJN&ɽͥYd9ۀh?:f(x+~ ^=џz> \JVjBX!Pp6k+üz߁?Wߵz*' 6yt&8n1&E*UTv.~(pyŞeQVT,#a(lUc̨u:`Fl+J>:ߙ)nxk-$߹(oX~˒0OиSEDrޱ }2Gwb(TS 2@Λ 0#Y Bdmk䳂+?T|ʙ7i g];PD _ /_/ix~#&ttczM^{=;/ra>;Gt)y~us5aL`]e\K2Jd/ ݋6xSi[(a(ia^K ص{hBA8=.[DkzUQPw*ݢjaׂibx°"zXhZ3-8-pm'ZĪ*۫ ( PTݏgc8㟶 FI \@`1^iz/K 9z SyR[8z6Cf\> stream x][$u~_ ;. ۊ=Aݹh̬5 x&{f S\s!gf/OËş_(g7g_Ó)I_OYTg)wv~b[x9嘦8G64'U{h[K7%\o4zsoys<Їvj:o掾^+:|gt1re;=OwaJڴi LpsU_oJ[q_oJ4K4X_*͗|ŸF?W9ۅl5lOJ)svo/_z=ciIݔ4Ը(g峫g$=s1Oq[^4):OWݵ)(Hn?t yɘ0ij-j(ͩ4uizm2ֺl#Oˬ?fcIkdA>a;hy^T$N!1̸ԴT0!rVO&igEEc;FPnഀh;CB`Szǡլ",vϯ; LtsxGScRٍ :a}%]RLD7:, Iܠ97IE9TƳh柚ūy " vᕁqγNKv0:M$WŬ`3ޅM0NM70*A:!1h/DY]$1&]vٶo>CMu;CC&?:7UMþSfr6F& ̆GNf2/sr˥.v9Xb#ZG0))jOgmq*L>5|9fm@y  ,{&d {Mv:;)㕒v T))ܚwNEcX4U5A#b;6ZBN/gyo5r0M'A@ń(*im˔tP-a"р6YD s6 &[7YgY~XXIo_ ۿ~_g <ȶ CMpĀFg leAw~9~a(;9Zuk gPD: 5lb u| F6o\?t~ZI(O`@q] PoDjVԍdf ~G7eUb͚GrO;G<}{K{&ttHli^t%=(D[XI(c^";D7Jb1rW> MiSd.+vK,eC&*2\>11IvD'zoHvyL6% B1M@J2jolNԉѶ-8< j f햍y-,3 }aC\] Pkw ` f}dA﬒T;/%jLvc0oc|7稨"C°%Zt`a2kl +k@ϭׄ^5~`LP܋lX@ԁ8>_ E  !0ѶBChi@g(fx\Y99|,sL8sdijŧoh(÷[U_^ef9b@!~O ~-^|{(@7:2v*KE HUFiif.L /=poq8V*C*ȡt(pSbo= O<zāt9l3jM\S%3Lޮ#E)k\QƨZ?Z+a~PBn7xa]yiE_qwcƸ:|T[Z ]G@٠fU>$!tFOa3FJ%fxjlt>+[Bӝ7)LFAjP4t1;©?/\s|wݢL=ZY@H# ƒKJ.! 3}]wYjJyv87l~A6/eu0Wfvjb%ŏHDn~h3]Em5v$(58]$yGA$(GɴZBEpGGC)9"ly2ވR1Q\ û#ɢR`Ak(_po0D%G\$Db6ITKZȑU/5BϚk  Zpgb ^ެv[T$Fz`wxgϖibʱI5ͮDyN]XlPPJB3V-};^TFK03# ﹳ|m5֎o(D޾U D@͙|LRxWn>bkJ\fy1TIܕ-zH{T}$ahgB*<֖Y'J{&bT4Ga iۗO 9(ڋꙋ2$dN(`K E huGpcnwn!6 zuSDm" x AIHY8ee#ʶ fHZ5[7\23285m !s@)N`I&܁\|ޠ>sC]Oy#_6z"3(εX[ѽL)4-NfࠗKІ lݺIvJ3g8a3aNK:"'Z X>gNK]v̩&>Xc@ o):T &|8c d<rFFm~&e2^eʇ3<8Zy2u W.,~VU~+!$I߰f`LLIr'1FKˆRaU̡Tq /-h'|,DAEơBͧ)XGƹKEMU9*֚:fo+gBZ]UuUN"ª_6X#mwrvlCn`}30Bː'bIvۺ@C\j,}(=]:aZⰨ#>0.d춨kFJq,RWaVg;dE$k Rn`.dE%`gj63 B--EyⳲBIZSiXS Mt\0CXغBѮDV0M]75߳n \sf[&W. es~T8*zF'(V`(>* Z]6p/P @RAA|b&*+s R^]U& ޵ u~ е~bV-Kg"#r|)/_hSQnHⷑINՂQOm\"@&)9򀨕G^+URsU6('ezMp;f]{59Z& n䢏jtû"%2ͤڡ);)?i|kJ^ y@ Lk?+m׺m)n38NFκe飳u#Bnq$lg}H[sliIg6XKpOVv99c J/iT&hk1r|YK~uV ȜoEtKůA9)F:gp I F+/3h ڵs|d71. .iRGbz#PzEM>'x#ty0 屣_js$lЛl X.r)+Ƒ@\C>ŁAʖr\QIDQDXsY+~Mp t84-)x#?)5k&oKN>1ͷME4<^RnE'[KҼ+ͷjҼRry%q SG@`A斐h%>HwƁ}tZ%_JfDjicsF&`!vºB+z`dyªEv5B#4ذ*C!P4x_YgYdUm!},cXph\UsN&Cw1^vTFT#6\S]Rxr20:,_^x?gs?ZB?BE}HhUBDN AF#nk(*؆+U |}ُ*<^R(W<}=ܰA{pW\Ɂ&?Z\S𔹈ᨸY&enc/|AmHAAĹ™k<2rPKE?i]tf  V9[ ysڱz*v."_ IQz#Vy%$hᙩx}U(_E t9R".o9n}E5t  9eQkM>OĴ-&0j8M3b>Mv0 ݸh1@)02sLrm}nՠLwdm[ԖoX˘ė2ypxh9:"JbiuOs뗖Pp-xSC>jj(84djsxUUPR'a2[EiǠdtˍNV@4^3nѩdHaсuU2ĕR  ȓFeCҸ+HW{ Dm EAK_e Ar3&F9xXVk*&F@CtNݰy]7g:g** {F\q=mל xӼs -,˜ɛJRbh4E2@7TEBX|%CcX[-3 t EKBFLZ/Fnۨi4w].o rQ(YGףּƪx5kϞ&usV?_^:A(%mAцi2wEO)|AF< t",Mtbqi oW< ,%L ^Wbڹ5J<]TQ_tK⸂#%wMu\1ÛPRMUZIS?ۦ>JkIDt=S=xtz$UޅzAY*@롽'oqtxЃ{jg 9Cӭ'j~O9gNb }*6T N5d8J07 AVmb*^0\`rC/FӉX )ܥDo!էv˖eqߔ=UHA]̒8q]qxӍjs&#=HNyU֐zEL\'5|tRu⦵xH**g~R~{ M1u||/~+L*6K'<zZܻ,\^|y,Yꃙ;ḋIɶYLz|:#j >}~L'Bw5> stream x]n@{?ŽDQ0) E9郹x-}qWp8ee۞ijKg ~oJT>.usolmeHaHMq<< -Q@F#ͱLtcѱNvll=vsKpl4QE3 F!> S++ >% S++*+WUWzAE2H=H1rfUGd*sqb^_ }]mIpqf endstream endobj 602 0 obj << /Filter /FlateDecode /Length1 11096 /Length 7233 >> stream xzy|TENM $H4a#d(2@D ( > 3:⾌3OGLy{; q7Uuj|R4 4L)'4F,i_̇ ={y >[6g7z{y&/}y(ech;1޹d{f-^:}dGKoY&S`y{ol_ґי1JY|TlEDz߬q~'@ N&<0/iOS/I]_p7<^Cp=Yp&x12I$^ya;5~,Xb>lXx ҡ6q(^pA `@|Ɣx6q}Ú`lX^ ~D'ءg < oor(љNM|ֺ U`6$L|#!Q`<{!HFSacC[KND  N.d8񿠂\w#[pMG82"&T&5jnn>Yts3nf9Uıĩ[`7\+`5E8 [Bc_.'夊\o/y:B%G9K#A>&_ K) EuQۨԋv~?诘1,>~?g7(O|5@9Spj(W ȵ!8 gcaQb$NRH&H!9 \2P6E5Q%T/KЙz&=im}acaYw7d^e1l#;e79kjn 7}}ɇR~3r o!8Bj2v 7%Ї5܉s\D+Q^_U&ޥ;()^Tܹ݉QFpFfF(D'Jq:6l2Jxeh@v E>GڱjlͼW cy?hN _jI W}(9黫}-ȰLO{eZ({g7Bڼ5ξjHPdK# *k_iDjQqk"_\GkF&OiN,â8FNipzo]0nY%BI}"6_uv'͗UF(m{G_-BpW}2&7cɋR[#d$9.NNW#-F*_g66:_{uK&7:9}ľ\3VJEdk察P>Ĵa%4o<3#ɖJQG))f\ϸ2C#|{4:k[X=p85U`>U8 }_7+KGJ8+Hїd/20pv_^sY%h9G̑†bۂQnbrBDIb}G@ cu$j q|dcATn;d?[Dabr}-y`S3ᖔKdGKUO#ׂ=,avF )͑H{brs2[\)G\s.D(K]%s>1r/Oұd>Jᑂ( Q;Y)2OiHB(QQ(iK.Gx4ζDFB |B9K_CxW4 WB9W,k~Zspݿ+Oቿ“~? k~8k$zM?#< g{_?柅pˏ#<"!|%) 8.\Be3䛎U[+k*n37Tjl´i1 a``$_aĴ:uƆ'< 0=e*(Opr|m?S\GFmGVP߱kt<',a 1deC/ bx ]Ѓa100!w 2B('V1k]%ܡFxj85$a.xȓ'I-DvXiê`^ `jH& y9O 26sa!Ͽ{^?Y/#*}{g[jؚLV=K2vxwD2VyJJEO'/s=xr3/v<.6UX ^GL(܃3JwDɯև Qrk>#>ϘgHO?ͯ|ȧf( Q`;FC%² l<1\a(s4!INQ^x).J9,z&a$+SI@Ar]i41V8?v@s Dr'>L>]+1js{yK8 mtJi{Gd:W==GIݾ0Ճn4qpvՊ+tiU?Y i٭?R*Uϖjjƚ-%fASM](hDP"leKu,JT9Ga\R(0},)4ҘҘ*>i~AA41T1[=(3AY(hXjT킂(nQm$4Pt=3IRn6*OSSiY5Tm6Mv~)j7$OCV *`U9(18jJZE,f*6g af+)^ jf,G}R̉a$q4tTjJ[med፹(AxW"aaiB)HeJ#X jUz\;%ҟ(4L9HPq;;;T(d=rг]&V CdEkrh]aR"#>~|kg_/LcKq̋Ȝ@Qf^v  |`T+B>]֫YTnFr0o \Q>UQbU_Q2{ӝcR2\tRc~Cv[@}mw'L䜤+P9cׄA:M1VSZA ,A)8M$Wa%5٫eH+&5?E,'Uņ2 |h5YuZm\\g16<);;)y_~Ftǧ1~-AW8)a ^A˹-Ӻ]4-;ӕ\1#Mo^92k+ e$]`&)TVCr.7hMGeY6k) ׊ =,2kc( _ㇻvL/?뽳[Ƈ*qCq؟%P NoX y4q`p:(q̛4\o-4u\I)'c\l? mYR+XuKRUj[=ds8 p); ?j!01DRR6%DLF+# ri7CpfE( F6(ʗF$mm3V^PMve?99copoP0gx!><_=Yb l"-̕q8#i3cD.^{< 㞞jpc S`oL5uH L"m\9XH#:ƥuˁ2Lb|ui6[)MK%>?jTV**%MSWmhMj7P Qu0=B*XdDKWaBs {bͨ;V 0骕$=m]:Ik8B˖67-Zmscg_?uK f,'RzdwA =M9srVfvHg5? ofCv 8 4jCO-:eiRʓ]CPXVp|S$ʐ;`nZ: -#.'N=D#\y)Y %)_1TqXJ$|*GF=5McC5v0|#˺MNU_w0MyK]uKխ,;#=z_APpR BQ/ 8lTR+Ugн=GvhQ:W+b$KreHnX2:s bI@=/&m r9Β#ncɹ= A/Gvl40R*UGAM LNƯu8oݛ.jVrUd8)tz+F f(CȝV?2AzO4Т-2uclׄr?|j"y{7?g .mH~΋>?L^xqt<=;{<4t٢5,:l2A<}DJyWxO]g|SSFj]VwzVntqvbV:jހ:`z.t87ݭ#$77c665!e^|²KX zޤ7NOKINT@eFsXb$ؕ@K/+@fV*zlbRGi ;`C e ԡKK`y5S{N=J<ЄgnShڔ{dkI].=zHU<}䃤\C #OSpf.hx֬v[r*w:ApH=t9t֪.sҤ[!He$鮑 #~%#OynrawpƄҜCdԇg<B=>bZU|AUtKC?4@.=~v~s? %bX^>#8/}~Gݣvһ]ݩ{M4arMത\vK97S-?O(,%3]Y<^SRI5{Wܺk[Ԥ"f>ursx3c;j7Y'bl~msk84X).?mRCYtfHx,"8(\aQiGV!=Ip);h/3f4i$j`xT:m*_fAZ/̙3UVp_pn9I(T'=PT 3lbO1Ya|/D`RPep2Q0M/1Rp*IDXNZb)c )uHbA29P`b~t%_`pxnLT@׍ACHzqb,?&2|@RIL h! gFAS`O8o ͜kfU bmӭ .IbHG(tee×n_D-Ydɨbt7xm}:R%Nr+ /SFjKߣti2uA] St{br$=/Lo6ĉ_oryU*0&ٮ_(ZL :` ?aM9'+xX0n(Q zENs?~+H?80hG :yǯTq VH"{|~0/ďk$=8z+0$?a=rSt|TmY4endstream endobj 603 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 378 >> stream xcd`ab`dddw441H3a!OVVY~'Yv|<<,+!={3#c~is~AeQfzFFcnjQfrbobIFjnb ZRaQRR`_^^[_nPYZZTWqr-(-I-ROI-c```,a`e`bddk2+;g<~{5lvϝ].o̶ZI5td7˥6fe+oh=O 9u1k8]mN. h.u \{^ty?N` pq\8sendstream endobj 604 0 obj << /Filter /FlateDecode /Length 9260 >> stream x}]q{rB}U)֒<+$c{"#r1̨u`['"pN0~Ͼ]M?\9aϞS;<Һ?CIB:<}㯯t-_LZ)kSt!qj-v?BM q|+T$-~)'?{P㔦r6TPW/Y"RFik36Oiݿv'|ae d(P b R"ExQb#0fh`鄵-ESΡjѡS3NpEΟErJQ`Ƭe5;pỳq*X `iX p_-085BL ZnׂdJ"ʴ<|? .BIL ۩^ 3x U3*( ׂ6 P5|99ﵲ ܘaΑ %K^cOŤ x/BQJeG^hJ2U̴A; Hi`1)WAG-i cL 8򌙜rT %4-V#dGvJIJ)]sP^0ϕ hHf *z*u*hnsHBU fekѣCXLv"2.mde@ ti.w(\noU`h&p]!+\o SJIRiw&+JU)_D+" ad:RFΫatR՗u]*D@t0a5(`Qpx@ x `2AØT"=o ¯Qom-!pNXYu2682ͩAA:9a՛OobZ h1Xt'0 gPoP۸F I֝555H?n49\q?tI82\4(n7I +W&5D܍$RJ쨇=(Pa!G`*Cfh9LmH|7(n %D#a!DiJj&3@0D(PB+SDAEE~5qBcy/M$)0j`GEU«N~6Po tV4sjĂ 2 } Uh疝LS]HlXCŌ@.,a ">bznhw,ˤ22OZ&H䙒p$TʳK2qlv2SQoĕ,~=>Ȥ:BE' ߻eze A,_1H1-$1[M*LgRHL J%"dY|"t|e)6E=6 ;d]B+N=d@}İ,B#!KԔFP ~:0Hy5 J2D\" ȃB`z0W%hdP"%T%N tڲ+̠lTBcBH^P!6( mwmdJL 2ֈ^PX s:8'>LFp ̴aAۅLB3Z$*4b=}ӈi&#ӆ)8KLJ3%i%:תJ-3C O$sZ15}F)ӊF+f"VYL+VeF&4Ͷ>sFI&L 0>ӆg ڽNQZJ-GF{_<2QG*ÇD1H;P "s5NEf ܄:ARJtLEW7e+ BBaQd2oH|CGTA_d"V5L]AP-Р(֮-+"(Ur Tu.i|d[JlA7u<9I`Ef0}06+NƮEp)=Ӱ[ fj,!il1ְNQ7葻+JQ!:uƤ{<{?E\i%QW[|!L~ gp~72- 9zFooP$^.>)]Yf X .f&@)-#z5D&eͬD&e~ul vWch1uzQidVdVV JlnN@ќMG~:6!Ic(2nS( [J;cJWp;,! P^LKAI ;ՠt*eAvю#Շag3G KMX y@rlw$Jo#ixG9"ȩ@Ho=VxJ5/kP4(S=jOS=jOS=jOSUN*d`€+~˶Ľ7{[Jr ^+b8'oz.Țq.y}`7=C JKey2mΥ$pxr$0ℭV9{^j}~.H6ZyVRgKԯo&Nٳ0GϞwgPr;hFC)ryjP"mnwgh;EUz(Ƞ C?Ofsa-o=k /S yq5&/s{gZ&b-l{ԯy0fdD8f>GcKPgKf&I2ST\Z4>/5>SF缂nHga$o8gʲfHT{Ff6Z9CgϽgwd:ECxt&D<~u -:0<n9puۗ^~sxo=|wkkgC=Dqri}߯q[A;,{<˩azkT5T^Mr Oo܆|5|W*Xt|5GrY.l7KvYB[_'흘5%^^* Z=@'益FLlx;[0k>ݸF~\yNf}`̸` /_8S[X(7WrƾLxks\Bﴱ8ţkS6|sIGys̢i*XMεS9,Bq2nU;; ]?p"ʙ/s僴1!{`E0omlťg!%keq{-omjbo2A?_˛a]\z#k` _0ϿO&pDLX]]Tiu@1B0z_Flg{zjpklY{{F~5VonaѵZ rD9^RoLﲹXKyx?4T>UOI!.e-zYF1( a غža͙.@?gxI8!hPUaƷVh'-G?֖V=keJf=լE9h q^Rzj ͐dh3Xvsm34%XiC ZKŵ­C@lM2P .hȗVUcs& 38Wh[!o-:ܱ T?`bPE D6Ft_fX ʉe7H`RX9DT0aۖm¢qOE28+Z Њ/&gfDH{B9W0I3sS8P1Vvj;ۗy+^!2j{%z?q)6e޾N x`w?^5PKN߹>2Gha{F-bzkd.7=Vy4 ī["X6®v̕0g=̜TcmՈykXC[yGTBk#s85+D[}׋H|cjF 5'[Nak?`Ṓ@˙5L QsU}B&"_Œ~1 C~s$,z7Z oU m9dH| $)w% $෻??ߍ??Ӵf0~?ߎb|?_1rќ`kXSgю?ߎ~ ?$1퐱<;9]CCwG0Pp8t)4+?TBek러sȡ6sWALu5??ߍ??v|9~j݇OS,Nexwjw/vǻ]6z]5N[I+[ _a&g(tD~&F3O`V7 8k?-f`{M_;b+(jj*ysÕwI썏o|>2(iGܺ6{qP-,$o)KbP 'kROQݗavi5rݱjEG EGi׶. zb@Y:C6zڈ|C*eK;@$ET}: \oNM=1檎vfcsRk#p&C8ܴ )I% "XCqN|=;OyUKO)to8UP` > _?Wjիkn]aoأ;U`˧el5n>\!9ih BX%{MKLݘ|{9_Ty| BqenMF;Ì``l*,SKPSB|~rNcr1/J jd2mI!;I?V)|`EqZ$6`HFVjX[ |4'7.-2VcƳ5.rYmwou6D${r«e 7ixw4GiPcn^v}Pңy;d |񄯚aKmq!<9ml)-y:@+6( ~{{ I%Ydŭe 7nuJ9ϑ3۬?u,0Xó~2^;ylZD_QO|9ܖ.=:goY .GkTےs9Q%h6ocdlu&3Mc=+Wf7u[Gz0u_-[VN [:%Lx5aM)]/¼)vuzn(&Bspo۸fOUֽyVV)h-N-{~4Zz#횖 :%v(y"J^7D"~ʄ>}]QCQa b2ۢ&x*SK>DPxx?TM)C^m/ghNyع<ݵv׽Oۜ6F/es.oo3VDد6x(/SYmz'"u(DMlvXn`E\VNyA"XQU2MhQ쟨7L9G=j7neny m&m_sy-{LcJ a탶Pr @N9Xbnt5.Վ5\5rԜ빫_ibH`cx#l$p?*uyU GNz[3yK֩]Tw:_Zu ,ώ^<&xȗJpyReewC7D_>jqՇ){ߦNnxRL1w)ia/@QIMe##{Y!OD=ǣb,3X1穗^bGIBLjhֻ=K.ky^Jl#,q#' eo}Q8,W3?0?s6v,KMutAVJͮ 5aNn(hbQ&@S̴.gH[ '=+u0f:nT [OpO;nP6-`<#:z~dr"GR׀Y>Wß 0%޿,m(aV'Wl=6xP- [[='[ܦY@ZxB*_x$܈Hts,"X +ygj.D(56ǥ_U&͞3~*ƞQYZ"Lsk٬ZǶ.q^JmO&s|dpg?KpOoM PAT_b4]x^C2Yŕ_;C?4=;..{: u GruEt>q gEkG>! y_[}W/5~cg`j7tҞࠥ?w>DtR7L^y4Vr,)[WӪ;_b)2%Gx,Щ5UE=U'#bُƄgU"ve۴=3ֆ%L 0-.Ui(z&Kˡ-/vu`jF!ܼ;퉪 J~mu}rCڗ|#Utv$*n.o7p mEH~k M\1׮&qk3:? j ]5_YB.W|i-seo?+춥fKۚZ+Tg:9]c_ '.WV!NJ? w+-b(`U#жf>vnw+d;GGq ,.i? lFHX Xp?wܚ|[ {Clu5 OZ F RI)fanl^><:F_9Ǣ~oaj]lBabV޵s\?ɫl3 ľv}M={:~\O5yH( -kE8 L7\|$ k ?D>Yq*gW]K*<ܯ6+M%QoYJZnu¥.zُ̋/\|uG _J&bڥL/g|0orˊv_JQc/drjs|jzA_$]IoʒG:Ӽp_n7rn9yY-`dt(/>, rn*Py /Nn뻘{'endstream endobj 605 0 obj << /Filter /FlateDecode /Length 316 >> stream x]=n0 w7,%%Y2(^Cdq޾/Igԣp:Ҵ:/qJêFzRV0I/YqxEsUO~EqQ>]4RqL/U> stream xYy|TE>utz;7޲/$$$&dc BH@M"( 0QA "  YGiJ8({8:{νc|oMUZnթ;Uu* hw˄\N&͘/gt'zެlzP8oxV `hmmiH E2c[1:x{ZZ-?j{ ?yM[m jgm [~{9 {l'ؘ,p>F'ƾdO&:?_t1~}H TC viN9pLp$A&@${f};a`u[Ͱ" @!<G{]]X[ a7x}>B,0\5oҡ a xxb`bqx o>r 눝}:`9y xX %Y/ 2 d#0+YsqBհV#87|KYh Nˏ(a4RI t u8#DF2,#]*HQwSP_cb].]n)bGb'b N r+p ÏƾKIo'J"!j9FNQɟ[rb)eҨvjzzMoD_`='rGkoƊc~̔XM86Y<^d8 ' ^Q#6KjKn!l$9˒.)$SZL9 T35NSNGSN/ї3F k|3;-Ǝe'v-=}=#[.['}+ pcZd$ڇ!)}.3H9indci.d5X^_ne bл}yW'`nBvl7L >o'Ypj1NIP)r MHT6þ0TWgyO4]SvcQmF!l9Z-C-]% ;r;BCrO;+5$',ZFwE;B8qF4-k`"<a\M3U˰H- fzf> As(5M MaQK6{%,WWT)oeSKW%B`u<(bn7vK J:)rOkN# u=T^qu=֐Ud,/p2g b<~ucJ?c:v"z3A ES]c&# R2ݕqh+.wș]Jw+RhB'!Np+-C,Fꧫ{eiՍ wázdظ1$[ hٖ~sQTL>x#uuٻ5GsA Rht:=]\V 4+FZ…?E7B"C}ҟF8t-QېpτA1•spտѨ( 1?57؛B#<uEDxz-Q[%'LOn #<um= "Ok Pgʂ rWXrccuP10QL1 PCILW0Xj /: '`; 1::mCC'1Cm |NI[趣$VP2}x='4\J1cHKnN4fa15 H0"0|0Y 62*d\.Bz'Bdt}hsbIpy<3E/Y7ٲ?8ՈU C'Z Փz!뫜 ׹Ez\# &O\(uw]/crsmH-=G"'~k~53G~RH*(\γ,'pqѕ┚SoHr87`U?lT;uE@7B j78 V(Oz[ r4,8s^kx5"`5S<'(caJc*WcO,9yZAPƬ\ {~(〧gO"$/bNp,(䚎sFSOwHY4`epW{V%d"8Dr16 q!pgȼ%1?us BzPT #^Oe}&%GI#Cɬ2Ȫp@`$BV%fVQtA'̦<:q_K;H~{jCV soD?]>B%?Ԟ'O?^ mK8J 05,|u2G4Ҡ)oib~t'QDH~6J-M]h$Ui2ͫ9D+'Z!i-\4ٷzxKԚ,]Dn5$BEwۈ~kXEV˹*^!|@?ߐ@{ DcV$gI|^^фdy}w dϝ >cJzd@C4BxM8u1Z"KS Ҁ|іrFNsрUxԣ6mҜDϓO/#c}hO=>D|[F˳KrlpDE0=D{n<5| qԙ/{5 fTm[&}w=36wz'k>*]@g@ |~ڗ0b5r\Eڴ ަ':}T ]˯KqM2%8YTFQ_RfsYSc׬^:T_ 6~qu#Ɔ8 2Uh&1ͪD`T*d62Z}F(?kʳBJ3Hq&Nmrpt`D*T$S29'loso20-M_ Y%,#sF1hʛlO>䔛9(jIP{l<|{DxjZA_HGI[iq:p@-n6nɩ]<7RF=t'KMjcH&$B1l(*?Z3[>G:r)rF,N2TNñßlE.TR|e WR0pԝ)acT:to& +뼸jXYnE_Ns@`c2$ `I `r"$`J,\oqVIw(Q]0^K\v(:/&ADpn5w~sr`QuNgv,2{UIt_CI>ͥ֔1:dGdnɘ:aL׶VWoH*Y'T='g%2>32!d~U(v3l6nNRRJOJ쟕rojqbu=۞3]OLlFa1f2ټ[ॼ &Moys3sK25YBe1Yar.f39=k|_H[_%qe$gȠߝccH3k#]jEt6%@܉ޯ+W FY$C V#j|ÔUё%.NM."4..|{w<ׯ oAf}5"0Wfٷ'8r=ym)$woMi[56Tj;+թ?/Iq} Ή2 l5h<0仯Jh)R:%RtYq&;\dAdC44-||[;E>^^ݪޝL+CS4<`Js 1̐4y6PڔdW ;[kGހ-Վo5'iaΚ(& Y?E3d2.)ʐt: 22MӈSJђFd8 ~e*I&\$#Md;mBwkN]5Ax0!Iܠ?M=.}EFI̹)ŧ8~m}V!-={rSӅһmJ.w>wF s 8*X$oPWr8k,ێDƋ{od]3Z4r2ӡLVS~-EɉVO*hY?$vDǪr|씏&UڌHBD4E2| $(y:SȤP^<|‹q4soA_=ؾeqmv9uߑ[NN[72Ph_I#>qZF5v3,$7h`68h :h^Wkp+Vh^UɴI_$_3@OM{"j|+&eCt?~Gߜ]>ѝo!6 o`7%^DSC(3W«Jц0kIږHĦl;I]>yAo5޾y[C}RXП~8 xRO%\"E -@>u}PxƝ?sgϐ?^&d$q{G/9K[<IlE}A6mN ^7Pr=oꭆn}U+@`qbAw9ST)m64Yw,~7|}핻n 0X|ڲmn3 &dLV_QƝSԗ~rhꭏծ>6Q6jFⵠ72cL`^(E^~zmu K"$bCW=Y)Zi`%w,;g7F?.g]& n\:*W&%Rd͖U#8gIV#&q,p4GqLs 1a$)s g\OE)D#him6i $ԩmWש $kƺ6?8hIͬWos4#h15r ej #:^Z˾ӹ˿=]iSrP}\## : Sef:Ӕdm*?afe Nq?UWr_'`KRjS'烀 #R-@Zu&J'\]9f=<B&ǐHa蝃oආj鴼%mѓM}0?B>`w/Wz7,}L0ψUshs>=qvg~  _N^6 z,(3 x| 7AHC "u7KlxC-7\W9V[7@R,ݢX c\y`gnPAٕGA] D$A4S s K_]W@OXrJJ߽D-GH_ݳhCendstream endobj 607 0 obj << /Filter /FlateDecode /Length 5485 >> stream x<]oǑD~=.?&QϾ Hy8B"-r⊲C{{g{,[=v!z_g*.6؜=Oav0G$}*A.}vqz}I<&{_M"'ϻKыc4Hl.+tlf){ΐBx=}hU΄t _10V_`oޕ}p.QC0VvDDuBH>D*.-lfmj$0h6Fjؼ%E6uV|#Q";-S߱U֌FU5o(ɛ"Re7Kk{%֛Wi mGY<=IRD0~qXSVmET7:xM*b,cd MǹDcP]Vو"F`v6Mh X'{v ߭ 9wCPI`yv(@ߓ`cmaC 0v/ zഃ@ F(o3E/&E% 2&vShL/ApP@ ]&2/rEn9Ws;o.9:C;#Uy*? ~S>[яhK=|! xM?/ঀcțoo˨,/F}kGY;i& 6 B$~YF ]`[{Y6缌^ j2n x\mߜ;walۦe =͕}S6vަG>kf?f'R57d^i04!/Gy'etۜmνmΕ|ڴM#87'"zFKnm}]s¾I a<=k 3.WMM Ll)ڶIߚ,릈?OUD͂ GDr15&&Ȑ5]C5{a,"9tuSLEfNtD5Xl#'cg w,+;B䏧q4Tґն* R1u. lѼzM90sURݚPHU|{8{YAT~NIf3*u4d^^X ^dPA[$0xEqQ*LuBg1.v 4ycNwpg;s ӿ33&_T0LUT8P'v( b-І b+6W^[U{ +TbĽMEIP A2 l.cƄm}F7FR \{Pj "S0RWiD*v&'pF-sՁ6J ccn\bc!S*eF=hdmܪ9b2JU>Kރ'J&p ؐ,YhHC@31\QgaLKagLiXLF@uu'Uy*Z#9o!z+,[Nz?,YyB@DdhшDQLVcaZh!rpx*&v;~yЃ;вG 1#r/Tt(h. Ԃ1JRz!`kA-t=;0-+M+ͫ9بPi2vMSLeIx^Md[-lιCGeoIXYSqnDhGA8Bv"<9wK NFbaY%#U? T* (̲D眎.]6ǔ!{N3_rP無W&,!"'z͠ЂɣgjRҿ1#7bWK?X)Mgpmp2Qmvgfg?mט|HÀdEᙉ|~ZI\sj::&HyxNGYeDik:\CvrdL ' K9TMSz.V]m sT#URMwiH0X U( 8&vqos۪0z(D>V8 !z!(n<}"-g7 t.y&k=HRI=M g Ie~ E$aT adԔj >,MEg9lhgQUi8X1͝~G8ϋ;#٩fNyG"$S"3ʁ/5jgSCY;eV xHڏp]vil{^VTc#V>Y 0CUT2 =&Vq2 X|vx_܋B4u~YwrAH9c<3)Exn|\hՊF^h3uܨ8R-~P.{7k{H&2r&~}&77G*ޕ3:e\?A2.蔷TxprD`. >cLBf&dc%b4ӌrc`My2 fzmQa*x[@ LA%T.`}Yix)g% } . iS+{g0lkUUMd* Lc뼼<3=p}]ccȺ0'0ySl*_5c|4 ?5T1WMyS\cxmޙyr, mLOL#28Gv< N9qؽU n7fhj-|/pm}4* 4YM%LkHWt@MhO5V rvV,I9,9Y5Λf?Z9/nPn5y%NZz|c$E6!fCBcOo~Op:v>=!'+NR4LN3n`\e)ff=iGR5W9jٌrh_7MGdG>nKvpUn΋>=7w7-vFhy8-mYŔ=|1UMfUѷ^ eZ 3S|Yqg@N&&mGgX|uXH16e=GN raaw>4B`Qv\O JO3F4xy{IPRbd2hR~%̙&Vnȋ,:O1Ddbr5rR8\ ) O'S-Lk_ڦ;rO"2^y z!c@)P2B$Xt[qi裪s*cs1`[*8wO'e@A`q mf4yΓPTʏD9d}59װFCH!!c#B'Z2Th‡ERofwEz =aO+GEqֹ4d~=ÿѻ0Eg#? ard&!*voQ1)#1iRjT6ʉs,4aXSY^l_?+M|t;ccㆇ2d|7ZP4?: D9vәX%tȖoR-LL$\rC,5q\u zT9}A#4T, Z1gh(sOԞ[жURCN*@dp9 7>mg x!P-"DDUs2q|u_<sШOD> stream x{HTysgiz1zn4L&ڨⰓLI/qCj"Z*Wkץv{Jo@ty*5Ol)J(fD"VsW'n$^7_ZkA +,U@i(No1BKQ 7ZQ&ҩ(eZԏ?WjH<@3Ng95'@`=M"#,`_5o (Kp 1x%SWܙ h#֐kz0=Q%Ggj a1CDVtW`أ3SŊ@~65j6Pm<7LpPHa [آIv'.F|k귋jC8Lbxe*uo 6s+ X?V?CL'@77AUCTvf4> stream x[[o\~ׯX p~1IڠI %UkVN!ygxvvW]Ej;;]辛1z uRrv0(b!vW@*) vIB> >tMc; pܤPBvw0j{RyX"1h`D@8\?+锝WZgBIeea\1w 2E"r.b udU. AFؽMZ37ecZ[X8$!!&-!Q#7( ]BHDr5H^x;{ Ud^ gvM-9I9#fЖS>[ YlK5T2k la./dR =;hMlӿE}V3&/`QK>Y 3$\CcvH@r Fe $WH~eGgE`s^IF i r1^";l?G?jlHn\"Fw쎘C%f؍9#)|RmBZ/Y6,64vrcO[HSymI䓚Y+#*:v,,7"aްs,εIrez {4jڄkcZ={TTmöʘ\C \"P acS>ciU߻RNB/O5+$ R/KE2,TWdK%s_:\xD;:Ki7c Y ISxA3Sr%}\mSoQ #NPh@–Oa0>h%)s:!t`d K2נOhI ${v4 I.mQVJX^ްFGK+T}]uޚy˳ZG7Y;zi7TY%4>(ir5N/8MZE,.g+L AfnAt;ʱ-*UiTs)pHR8`@YF R0U쐽N+'ZUn~R 3MK娌&ma>֦wZ흷4gf$ޒT=uy>AHJ *Ԡd~0z m,5mZ]fr<M[Lq/ۂȫϏ)n@63t4ǟbdK/,d=ߌ.m#VUٔ"gd).),yr+ pYsWClեKJPQ4a&K/$BsKL  QvLKzg}bm9&䇵YI fiFzp8Ӳj.GUah@=` r=Gw iv䮬!>Hqӎv ݔsSf(袂IޣϽ]C.'s7#?n 6u/4+mٚk$/$XkVIvܰˈCAlL=-vZǠNiֵ 5˅)$C[$HoFճyM;l,SUw6||'Xl*:z $@-{V>s&a43IC X,#@R '%: U>%KbG I{˺3;1O/Xcd` zV ;Vti:= >EPr>vT3$$}5''Wl|,YK-E˒|j_7XI $4=M,+. q-@|7L/0ADI/8_C'U-6iF#gU9X<%K+q> ܊}8O(? aT'xp;} VL_P>wЦ5g7 f֬%kb9ݴɟj?C;YYZ+,eoi+lHK#4R'Ϟ`T Eo>U|º!`4, _ _g E$ A#p,GGlb|/niC'hCa!H35 ~GÂzxJ`r5~FxLՀ^|?r*¹O]#Bw5 endstream endobj 610 0 obj << /Filter /FlateDecode /Length 10986 >> stream x}M\7vD"荽xvֻӱmE̡gRRR,{z~H|Hyp8@{9؝߇7{}}>PM"bw9Cqަ'R xOnT_kOlr1K 4bXc)Fw5PerNu8cnp..$|t`e>/@9ޤCf39sMv~}{$bxnH RHL6! E%NH L#jF2>A€%) T=tM8@ l>4ax0+4=0G  WkqU`Q1LcUX;=vs,ٍ ,MuTgiŃ NIXAqݕx5_bƓJW|ӱA,i,CƬX|I?K)SHa'}NAgYB=ԠQjf6nŠӜ,F^ֆ` $j~m$k!!M{PksY۵q&DX3]GuDNT"":EUX0ؽ`Lc݄e `ˆ`pA WP DdiK5]zX۝bY>ɂdo "e!Ɗ-¨dAGm b ;c1La1ܗhC\H! C <7PlM6)gwtB /pYx't˳ |E>.>) i 8zk(b.amwYq.ybl &lGKtt0o`" +$8O֎c1La1aՊ(EJ]hX0c1La1݂y}8`G?v1dNX&E0=.kXm1/IOl;;k8cBMQ SA4/pQ2ń8s 5!YH`Y'A! 粒-"Lc5_'YzNJ].rAo 4 xM? M?zk[(Xs[CΚoeJkSH@&N)@38X SXLװ`D`㈨M)niGkS\3,%U#2˓aZD7K+r=ԱRjelLX1zkSZgrde,}XD7c1pI^R,Xk ˥MNcתtmw"<`['Ri񏋦xhm3p1ǥWy/JhD-o?Ꝓ`1{j2֥j6491#\y)& "J|a>&HLcʏMFP#A؍VǞ$x!``LGFA0Yg:}0EBC6hJE[Cfǟur|A8ѧI]쩮 4h +(Z὜&ƵXͩ) /W:Q~X̋gXL֭BĔ0Yx芁%8ތPSfIT )g c)]wEd}ٶgѶu=m&`u"os_m햾Np4~‚GYD9Bfiwy/: iT`e/$IX$ֱIcIl:qa$NcLc]bO)fKAPZHv'E<+L]@*i@vuiFp=(HHD6qLd$KCRwc#"enJIÐ7U08\JqazvW' oj6d bUfmxU1]}G6?͏q"Nc܌C:jbf3l A4 :_0:o^L:OIdbGE]i;$i9FracB"c2n>1hr lSh ]%<`&w7X_9ya/BBD%F)e(1vzQ((DD(ܳ//!V }aA4rwQcxŠ.V,܍ZP(:ag16| xoi PHPR(XP:@0ѤqL2SMRX}KUFwq`X2E[R!,?Kg$iFFH ͦݫ?;ׇZzU}8f0Ĵ4;Laلd[IĂX SXL7eڔ,i,F(X1J_=biJ(2B; VwJfo_"ڞVڇ7"nXVi:w,),ܑА7^A!Z{+2`lQX-c9R-3&eXĀEOkmmŃOR|v`m "̝J2Qk"_Аb4%BDTHck{xa;Xo8_ZGvF;RKs9񙲿 G!dmvxkIimZ3UkiwE_.mIgr }B[~I=(i^3j49`Lc+ptV3(g(YqX k)?=/O SZ"D|+\151 ,OMa#t4;>kДуoX z AXn|K_Js`&,5x` XJT.Xr 5! Mc젬euG0ViRY;JZWRt,0G_/C3V[FϷtQn)I[:a&@L[&yA'=ڝb95[t<Ŧmõ `f\& S ^lڝx 'f֒ϕ*|LPJbb:%w#}!A8E[k£=(F[S -@rlF \cٺ8lڝx hoNuՅYsn/gbV8D5#ӯ~ew`iI C{6Q(p*BKs/|AJ+V5ZR VM(W$|PWWKD"zB K{P oC *}ֱnVކq[ױ0\̎@s5]nDװ{C9F;n((i`m3Z_##D}}a &IU3MjJXfLa0/yn%`r^I3R26o=ǂf_XL}u>vXyQSN4+vفNCroȼX$XD7a)O3K_VCtʩ}Jae@;b5cLc)Hͣ[AHbb:bX1Om% +ϵ)X[9^2䇿Lf 7aB>v8^oȅЀѨMo.XFJ|eV=·}۝;J|z{WEiǯ+=ڴ;J|OCkqֳ뚕Uk, $QlD fڔTXEy9б- j6mP|MjoHkSWsEg& TYۃx%jaķv9,m|S{D\۝x%0_.b(z1۶ֶz:|Oއt*}ӱFc/Aig /XFf 6\1W?\۝x%hN;I&tp"-͚w{gR mi3D٩9N*%y?#Ok&I9QY XD7=a/ms* seʛ,Na5+xĿ1 +s6SI1ϵ)W{Bz.zj äC!" H ._z"$oȨ_.SXDeSa͕(fg-gk^S_д(Jt,1SeI% f 5 X<\۝bEy90-!]&v/)_7?+kn_۶vHmr)=Nq_5߄VMum3|>v8^ot]=@fӵMk_Ief5ꕵ: oJK)CgKkS2Vtqx31X׆MZlx'˵]/^my*!_ EY=I;x{p`Œˬǒlr G&HL;MZC.A.%yoW&ZC]k@Sq r 1L!at,0X֮EciӁ0Ab*B"PNwS͊~7:ٴAZ&at4;>\cF6(ɴo?^s\ b~#dn~ӏov7?eݧO`r۔@Հb(47_<߷q5߶ZLٿ|{@O|ٿFi>.k[<)؀p=??!,p{6?K9 jq3>;cM]\n\=9P6F=d_I@٘Pl&a@h'VƯDs~ WuZ5  8)5W g;r>`?# OT=NC@LĥA%dB[0Խu`ܣ1Ã=O z`Z c`()@$X;oXl])^̯F GQ&0זl^QU힞QZBwh<8khU+xVc<ܶ$ g|Jõ0 .l8~vYI ݎǷmUj"󖈫ɔ ^97aBKa( '[Ʊ8`|'m]?a8/C~&&X`,8. ~;_]v=o XkV4t> Ӄ `lMq >9q5 X qD)I1%lUek1f0}d0l&7)qmƦJÐ^*"MilQA~YA9iĄhL>̦鮉>e=O#1C;Z䣭` `Hdgdev6n+&0eޓ~hMvW1~ +1yO[]'+QO -FM~S`ut|`q-ŢMT-ҕ`\ kn֡*@=xIwz\pb z3hVb{%}QXw[4.P3BƟ m=pJ1ֵ}(O[y<~ǿgy&~<<>{yF*Z<|yLgѫslh%PWcsu?ǣՊ\(gEʭ|-uO58I!>~'y<~sA?+y_<y|'eTIS{wr'{P⇓vY ~9̪r3m=9$m|d"m3n4k0txȱG^mP @yϦ?# Bx-`tI8NXp`qP٥i ,Ο~#&D؏IXu۟@4/E6ym ʢexqKt<ݩ?nG]$,DF9d_`yI +吝,}$$f Xbho  az2Td5II*qOjYy%0^Ȟ \a283yї4h<=#?{Rq2p23I2bITrA5꺷9IuOaΝɞ:={&rǕxSISSκxf L6iB7s&T_<~GP|.f91g̹Tr͇rȓHmG:5k 9p*gts >L14Q'zF?M 48Tڑ\r)؅2'1] P`{S~-o)mD˽(2 EbWQI"gxo⮩_#~)`*S?Iai(b/eon E͚1{R70>W] WZb8D}0}_:pLDcom`[O/\!ԭ/<G.K=V'tJy={ N!8,lwsݱ{8PI0Iv{b1L@ ,Cɨ&`m|Iλ* >7&HȭZ۞n{7x8ĺ{T4չNRy㝚٨ltRi7 7jZiwZn6a%^{XWQKw}#*2݈7^ ؙ`Atɋ.U5!&M[kJaU<xNie3I!>S1W4ͨ蚆 zEP_"F7x`ꚧmBNo&!^i_T_,Bv?V푽a英a#XBasKcA ~QHGj𿮠IG6 )GlYYp# Мp{Й2y$X}7ʹNَ hQG_Ng_Ұ۩AQsNl :7Eh$ϖ45M]uTtV@l h~ 3^s>^VF07Wl*ݶ1$FǪel=Sgz3=uH±Vb2^D}jតCw;kn*nZ^Gpk S Ժ~z|,?WҀ9JS"yl= +kREJK|QRQ㺤rePy]9+o lK\TX՘I>97T^8}fK{/s+5ه?lq3a@R!Y7ڀU)û.m G < i|4HK 8pfLm&x5_rً_(겗xs-8 1-|ipf\7J̷vĆTTbq<!ʝDb*Ocuyar2}OxSu%xȗ,2/1=dbY_ [TK*m2M&huh/|rصX<ٿûnϗ֗㫼9C+ k1F~&ց+q!;7'7uZE^.U¥y"1*xHkyjU8LvSHKf4e6.kU U4u , eTo*b3_q Aw&_54FpaEuľ ߆>XiOO G:(@5B3BO})!vβl#ꗅg$ۏ˳$N%p|ڙyyp|4I oPi NMmLI5[lRi&P0Eat>BȽS'[6UsqCa+Z&%)iy:\bQU/e2qպ{)p ۍ#'#>|lK)\pq@׾Ic~@r^X@#QJIAEE8p_=OqyipyuwV8`k 5TMʑN,v~q~gY$Cqf5m |sݵߟPj1XXǨº`mo<,zI~b\k}k% *Xendstream endobj 611 0 obj << /Filter /FlateDecode /Length 6218 >> stream x\o$qO&@, n!y`D  A1%yǓDrITUtW,S 7_}e#_/Pqsp&6g9Ms<rs,*7AnCvs~{aw LDίξ^ =t׻=lؔCm_ )a@/pU΄z)~;5K?gs_{2 -D)۷;:_:IIOE6Dxڇt|[:ZO5By6;!BD a0a:e\bf7l F dNY)`#|]GLxx:(/v{ab^Ẹ_/ n@w f%bWP^ :jx iaK8px{QH&zo1DI۝ EJ7ܨ䲃=! Ýus"' o~AHY>W+ 0ʖjp>N.ef/`MTiCVKZʨ2o57(A`yl83z"oplxUc][;E}^z<PL[}} +~᷋{EEyxPߖ:f8Ԭv(IVpX!9p9 Νr`ŝ# l&8װD0Q׌-x{ Xp|@4,dV'[9`!{A#E{t%ezGy'YA;MΘNm;5Gdm ­9|¡:ܥ;r,dQ#YBEEi5C [^.|R8& K.ayD~b)nWNfe9FHztp ^w'#ʯ:|[PuxX# (~k_\x+nSf}G-kƵ/m ?qTb+ԪL,w4uCUUaܓ+%AI JӬA0ڲ |ѕMjƋuy X7.u8 SB@bdC1k|`҂ěbZk-B;R6h N XD9yJCq=p­LfR+,H<lV`Zc<fC+x]`BH<5U-}O< ;n7%`h|:g ȲL%0Y~AiLl"gԍ6NK;O$ 3ׯ+!PFR5)M[a Μ8E\fyS2:Y8 )3O@`NRPhyg%QDT"tJ9Cmk`)䆥pnwvVI4옖Pe̻E0ւyt=.eI|ư@;Z mmM^!]">, ::e4!=&: OXAOnޭFӋ" ۄ=;1'L1rrD[0OTJ6rkp0lrӬP).bDvf"+ϒTk*Q5 lf1U'*xY7b6#jIJTKV~d3A42mmnjCLi壦ͣ" <` <rbb-Y _ H+) hwM1G\jS>#gm \Oi~q8.>eY γX -.rq*Oy,Ƣ ,ϻnNa1kȮzTLaIa):u_ekO쏦o]`%w]f CSh.P/xɘ;,nJ^|:z>Ay0 px'9UߡglG?w/IQ -LxkfōٿN5$%:.߅wKx,;u/t˄:aW; Q^1T!T@cФG^nƩFJEKye9"Zwj hh $V3zJrH_1[Q҇zp۫3^D0AG0Zi-oZgϙOb74ܵ:k|ݑg_փR~hLK )nN<XnOQ9tkƱOIÍ!Z?6{ [Fbf"$PCpq^ebuOΤ:Sjé>ٗ% &`Ve͚ po¬6uk#)@Ra%؃} 0R?T0Z):"`Gjc2S^M/* zC48w4쇙-5Vԋ}r>x3klwOa:ڴ"`r>/g+s7=+>ͮ̓k3m7 0Uͽ+Fzx5HL)ui@6co,`f/x\s֚V)qbϗcBH7v̑ vɏUFi^]\p##3Fy@Ɯ!$874s]"{[ ^_0{= [?VC} :7Rd4SW)b wa`gk~ JB 86Oiipn-9 |j@/dsԆwfuG:L &[`X~3}=5j猝Gc$ǻ+W(vT;\T37 \ G5Ah2pC ?PXb;,]mtp/Z/<ʳ-N(\-8 \*LlwZF!F4F. j1a3Ѥ3zUcX"cs-X!@)⬕$c H㬢p,uDr~##G&i[rjf6qO`#-O#[+Cj)ѕS'ĭ"(ݸi<͒8Q T+u(rQɵ}Z1Т#@|-˪\e}R|5rC`;Pc4rYOpyuٚdܷ?Kk5'`TєbLIwLr. xV꾶 6S.5Rs_Qd?Riaa3@N&k־GN}Xm=m6CYdUg8}80^}kBTwX ҍ^NHcC#u_" L%̪q3>!ABtBgH mfjfnqX7xh\Dԋ8Jv%g`%ajrm9-aB(Ҽ̑ʇ/$vܾ_-~AS + ~@"uV O}ڏ&:=%0V }LscVfo| f6S1}T7["8rWM$Ex}"3B%#KpO  &<z#A [{OkҡO/DU: b1plwAQ>iDC ZW,杹(̆e[Ɏzv#Ꮺ=KPWEl=L B6Cp&-߆1je% cJNxU1”]{ he\;kK+OO+bSl!߸usG JZ,ؚt89mo[lZ5۔=I."~ Mn$ON?f20HˡqL'}3UTZ("Ǚ` !`ku30ըHcyDhA0SΥ?!4h1":B)n.p6Kb LE,uz{1aeŢɱwS2%4N5ch¢+[@V,[},]491)(Vxm\k~ 'ۨ~ f7X*cۑw/q)#ܜ{8@lӼs.G;Mkzm̐!Aɤ\-{2pO]ٍWsia w,ϖ=s3e=͗'7g\Ann=? Dnu<}eFLkW'{J;)G)LPD`0 "!@'RJX̦4-0sjRtiNbT:PIi2\]\mN )UO%%? CZ75%hH-bH<)&._ZJkLM+e"oJٟ~`oQ bqhRCӺVVe`-]VocBm(jxk/vHn1EUj7bܲR&&EQoiu]C5x:? >Mʋ $4 V΄ V"2qW"sRaf {~!d-iJ"k9/8\@ZknM)B\K+x z"69&fFdYVB_]/bsߛ /SpccC"gDžY Z8Ov:AO40%AZH&'Rw$/רAJK[Z,C.Wxg\'ٲ["O;BFg endstream endobj 612 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 841 >> stream x5mLSw["&%.{mpf~Dd¬pmlo-mP ZPQ-bHķDCe 9]hdq1TΧ<EQk ^ yr w,+"ۋ[[AiUx|$4EmjWn\q:nCUUE W^VVpn{ə-wXĬ8 -v^l犷DJ-RmݺEWǷn/"sK.55y7gZy)Z Cj1HYH"MUCMʒ^Pwш[H.^|={\LxFco cW[W*uk<7Q͓FfJ/0A:A=Br/pi+t猏+EXifJW ~͝  Dڶчc)}H5E+\)4o<%|xo' l]:[õMcSFBfw<up!MKCi HWzd.Fb$r=R@})ZlT(o{HkRm;(|Ͼڄ/ B jMkOS %avccٙί~fiX4:2du( GvN@[ʞM|/\hLSI/H+ǯ62]!8JRGա#wŏ=B*X;=)yZ98yo1+T r4ގ > stream x]Yodu3A oj_8@ ; CbygȡCMRB~{R]M'\Vr,YS5S+}s{Oa:>󉦿=&§!O/ޞofH![zq{3:6gj9h6W5hsܝ08m>}ʛw4ZِR&̀6o)86{hZfw3elS^+( {؜06m#?ǜ߼o#m]Ҹh6[Q~*=mDdo:ϱmrN)l~OJ.,4^P~glg;L.) t6Nϣf*P.~neXAh~PNɖM^րŝV:CBv; Q~.KJ>=۫^nρˇ鹶=C!ՠ̯\q$7g@>SRƃn_WYit#Z!ͷ@GG$8GW1HI**XbL@+-.\x 2/<[uߨ`4 OqLc#i\p;^cPyX9Gn% Y%*ShGFX[2㺿yBOT9mmkEk~x!zV-VI*fME7R|%eZOkO()HØ õPhBq@yJ~!BMI`'dCo^{ÆW{Z(8B6P"4/(73|F-Zp޿ARS}L5%)JǠ5?2 e$s,0287&.'p!/Y*(YɲNM΂ GzP/ YP}^.rypnMHp5IAiD=7N Yzʖ{lޱ*X4<Ə%17# GQ̌0 v@Lz #Ӯݭp NRtl 9(d61 R4Sÿ#؉~KGsC3C#Ь,~˄S`vVNO(0 `<>; p0UpI1‘g-/8GR.fM fYǙYjU!J!pBvL1:C:#ؑUJp>ʖ:}mִћ[,(kZzA 0i dX_G`3% y+D^(=R3O0'賓txmï %6$pGa˓ F6*0/މM+XQ[' &h 6YńΞbu@ӎ.K3@+iu1>rAe/4ns=g~ zFj%06m^~9FЪxˑ* DX, d+(+OAlC&d1G,` =dإDɅ-Z)4Σ | jZsߚ΅DSh@!Sc}ݵ5o[sۚ7yٚo[C8'm~hMd}lW}5[SmMyzZsh"@6~ӚVg+9ՐY*u uo_ߵuk޶5)TڿXqŸ 14tqA&d{R 9#A42]Tʹ_$9?_mҦdᕉI"b0e=HSK&v;)ZE}=6q{F!yiXe+;.f4ѥA&Y( 4*@gzAGGƙڊ`0ch9`!MwMVgV'Έ,k͡Ht (-bJ?y2pe4ÐT<2mQh !<AS11H/2.iW뱩}A7[MYǓX5!\ݾfvmk>U u;κ9meSxa^Q!Tlj#8Yfq=> p|O!(8jbL ;o{/ A< ̑nXsڞ+a(Z?̙vlh9)yĐfQ۬f뤽tPN#//i,U&$( PrPqB#j/I$/g.|:[R%s.E0b)vJ1]=Q~b̲4' ៱\81Z)ﴍϻ 3-EPUDAxbjL],"'k& Xa wZ?tϿl{RL9]v,oSrV1BѣwgIZՔbe| ky ;#/}tepB^]>Sq4gxܔl. JƛMdkE(mCk'=dhYXĊ}!KBԗC!A-0VQT" O2(g_#Ȱi.}>}G영6[ 9zO=+$!@R@h \) uP>Ӡ{Qj4{(#yT M[υW뒬Ҽk4\W]D=.:}B̢HGOU_วjop >0X5 YМ(8N`&fBZSϭBO+†aA~^@F5~ٚ E濴>r xC %]YiV"v]` ݾ.N,H +ǿxm9ek:SwEٲ2/x9D9r+լ9t]'B<\tArqD3uZdRu.чs*K7F _ ˨G^XWn q+i,e5<"%4`mOӒ&>oRLMwWhs['Q1*iYe uX&k:lԝ`1K֑`WV2FV .R낀! gP>(s9AjFO5JA"kV[,Q]^̪yٕ+B䓛/z@껺iPdhF)M-VC"nޝ~weGE?e䱁FS aRnPvԼze+Dk.ˏR fmzcOu#1]4o{eDHâƐjP<9y'QwZ={T.6l)Ʊa=rޱ(hU(@ fq(WVd'Tұ5 J*Lw=*@q \}P?+>zD=9)3-GZ/KVB0-A3^,H*&؆в&®-(ro1 &oEx 8a-gouE7< >!lLVt.G$lkaR9 R >WT|F̚#7ݳN2faU߂ۓ.VoG[_nN%}o ]31SUϮX=U4dIӈ,>ǖY RLDAc ?4In`R*"NBSBNX;](e\8a?cZo$/x^[)OӒKH(Bvth7{ʥA]<~%OmyQFL_4$Or{̐1{'tg"ؗԟ6yFNyc%~2J*5e+ = .N r7%I(CX~kSƕ]q^mXc,wCwEcJ Zj{ٕdiuo|T\6FQefSE\ '=JupXci>qS,D8"BwS|' "p,v6:HɩGa 0piTDž{cC~mKу[TK8`YkBՄxJ)!N%aH yiu6aMenG1(1Q1å6桡7Ux& 6F ^FdYGɯϟ@v"O̕.YּnͫrK N+7Ѻ5yּۚiͯ~h|ۚ?Кb|:ܷZ[j0yko͟}R;MԼlͷYCؼjMM&aAKͲn7MnZ5[޳')Fb\,+V4ĀV< UeṊD*u38B soŕV}+b9ҥjo^MX3ӫM!(d> stream x]=n@{7߂! E(z }fHb,}os8Zn9}k9S|[S.O{)1]o:wK9vϒKo9o>U7ϗKy\*!y=9w8 TU F % ]%`Mll.J@GQzb%`K( D8rr+GW;zsQJAy 2h2`@L˃x ^t[<]u:5^8k]]%Tendstream endobj 615 0 obj << /Filter /FlateDecode /Length1 13288 /Length 8863 >> stream xzw|Usܙ{; ($h衊!  R,X"B *,]WpYUȽ3s$~|~v&is9ԓ  4ԍol̔9%$_MiYƆMs.S pOyɴxc}aF󤩛~t ׎E3Az9 oKllsL^9noPfhMX2iNs_[s[y =-XGz7ٓcO@m ^ǘ>_g@]o//p7쀃 =XxYp@@ k$x8~!9`ލ$X('êc ŰN@ κ{w4`?*Sc9:s8Ȁ U П$f J31#ђx+PzN}Yؙ:G$_q ' *2,$f*JAu2Ykq@ ޵0!G~ P6ZG/O' JW -x{#82ԑKQ7P b6+z$}~`7dw3 n \݋\ sH 2V:JvT9Iޢ?/7R*LS M~E z&~#3]yY4>9>F4E(<30&$\<(q>v N+%qAQb GF="L09 -SSVES9T+>J;4z(=>%2F0C`3َnfɖّ]noV6:dȾpn.wA!H}SH% [p7vIІ5CA8Dk7ȭa9o]}!r8W+z,U2MvM#·۾xLpoZT4̇z˽ȎP1,ro bdi6%R D{Pc^Vq7r<. 'pNxUy.F(ʎP?x6FF89 583<o%))FwI%Y8l:2b:tSIqOPQ`Vn/}w}FtQp7^E5Wp˼Y$_Ռib]-N͚O'N2C|Njnolj3!Vu}áiʎhm\Ϸ_ւBlM?$vO$~Id[:fWܺ,*p}5`X#Eͻw *0~=|1`0[:X'Op ~ gb񙓛!L?'~cF\B~njZpu-KysurjC1=VԸu-luuwAyWyWn%p$lТ0qXɰdUHafW g01 Ww}%@E( CPzՒOGM"x|Rضlʮ}vPARIig~5i*gqmZ:/U65N72yB,2g0r`*I:Էk4nC-θz1})5BN!]݆sf/םy #a^DnÌx0ȜvE@"] B" Oq!`~EyD )nn?ڴ:{B#2f&Kё9K=-DmTNBW8)d!H~T0ᶰ=~w _|=7X8^xظ[凉Ȼ!v#jf,;}ggYKi8l22׳vRqi粣]`ZmQQhd}EBJ+Mф+)5$turlUcM{** 0MQ^ޜX#=,Xd('/'X f'6 CWʂ[ 2GE$K]?x\%ys^ið[ފKk厝O%n\8Qg6Gd.,ʔm a|–nR? վGMBju0 sն-J} VQ5F|+_ %EP.v]J {lH ʀC9 #` pW6fIVdH%3P}CzX hagwFWmM𶊥{F绽Z_A_:٭d K{Q kF׸zV7=csR]^.a4R#/~"'%5^pYƠ& *-r&8xHI hXiFw 4E1ki/MїE2/ ӗ'n*9JF%Dt$$EA_\Z1q7uW(WNNo0-M|AŌ8hSvͶg&6N6)iՅ ]p+BV ]Z`yo@JJ~k TfE4F]0ɯv! F_1dA_WIVNf6I+WN >zP`Cs?NAϷs1#?r9:~IWAG 2!&d\-y2"2άR# #`[múТIKJHp$3iXD5Uw>'w:^'gʟ{87 >|՗կ3r8pd,6 @wA*?蒭4ɬ1hͦ*j#2L}>X#gTv;w"]mQ\G\EpvӣwXG(5 {<'{ݒ͗|즫|/lW ~Y%,#V5:) z V.J&HC&3ކr^#=F0-=m%D,$(PC> JL"7[>t;zɠ/ǿ&?2<=,35o桏=~:P"\T}6r6i$==";#I2rIEl:7ˁ̦T88TEl;؝PҤ(C(AA2$}ר!X#7\]wΊhdhq+G::;6of+ n'(r3/OwnsS35Q`5 uFBMz0Q'`*ܞG$iDS"'mUn7?1uNݺ;E;(:{N,hRjBQ/d2*r jVq #g54E YmF8X}N2} }2a0B4ԓBFmK.QY2xyCǒ<=")gFђb|`_k:9W+Pј3\ Vzs LkԄ%K }l:=~WUCA i- c>'L0X}c^&K( nfoLꁤ'm"_tZX&))Qh/:U[;ǏITJdʻW^xهXuCθ_o u$$cdꏟ[l߱Sä}lŸ>Z*TD=T}5LԝjRZF<\ _,ZI0ap^8P YFEB&|Lw֙ ^>48y)gv)+bh2V>NhJ峵3![ .[g_[Z.w]] Slfb!FGfN,?k*.\{JzAi Ӳ\>V[2MaPkDa1vcx01gYàNÌsaB^O=7-舖@TlG=;n}W>ygٴQ`]c\n͚q K׮Mw{z4ѯ>oM}vfp'?|GsEc)hMgÖZY;]o_W *6P2365Gq\SU!\Z"(%˓"ioP mP-JORB! A%V3`P$1$hј-f=?_e_ %+F?'TޡG~jǺdχdȄz%^?sv7 ClxRǭ,Ffh88,jz~)Xkj=VJ Ls6Ha=# -"uKPu_ 6 gc ӑij"RB*҂ڋ8YPVT߲C __Ps"#Oi\{]wϽyxIY'<}5nq]١{747qP1ͼ-ߦ\K0l FUҵB_x:eA9\OpR[v^j7$OyN+E1)yFA WZdRZIѬL+4kslM J~U dʮ8ޖnh]RK9Z1Y]k^)WyHۣZư4#\m  *:,Σ]ZU]0!@t N"M( gu'cvS6?6nAS|hZ`|#~9zkLD'ooeO\/3/^(y@t Yp$:4"oT{{{Cӏ:%%9Hq{9FqBee.:˒a9*MH=0rٳszJDn>x[*$9ɲãԧtA'3R#VR)ArF0FT&W0C2 ȷ(ˡP(詢 #NTBY:73Ku*wi:)=RJ :]+?mQ)RRBeWV2q=Έk6Tl0y8JUi1>},^SbՕ%y$~ ) ` I B p1 55UDCchs3+i ]#,9q0#oz9ЬsݥbO,T}ZF)"Ʋ'mm{s\Ɛ]2ڕ=g2oVۺRhzJVzv'$pdm:ZFVUC(+Uc n[fBth"2:"r YT8P8F}TE9E1ZW?z"Sk)PGq~ȌԲǚ?v|YqDM{ mRVy~ԅuwwG77!JuaIVb6vA64Y85*ԚИԱiӃKTKK4-  ={24(l&eiu̙V9T E`ҍ߻FqgmOWfsr [vxm[:0BaG P='9 B%:,_-2^|SL*h8+< @gӰ6`dO"Q!@d2"y.-$7'+8#ɃZdj!C7|rmB޳~Os`jങUᑋ_ߜR7.gR-Ԕ!+=q܌y5#iv;;{QJVF(x=ȇpQ4r4rn2K(Mu}F P/+kɪ-Ach[_O7 RLƓѻ ҵc?)ϲ2N.[rjzM"$#/_Lߊ\˿/U%$fXeXmWFYܠj Tѿ.^r6.J$0B:A<`W #^v'H?ӆQF'h蔠Z9u=#95@Ej~Mi }-'Gz{nRU d!endstream endobj 616 0 obj << /Filter /FlateDecode /Length 6103 >> stream x]Yo$Gr KCCW]ְ A29ÙC͌#"2##J^ =L:+88Jr%ٯL~8*sqzHEg]Va󛳯/0tt mޫBE?Pa> 0AS -r>S#Gi  {u06u`#ğ} ׷¡SvW(̰M9lgFd ~ֹ17HYh<'렁۫Uvj~V~Ayމ >?¹kǏ]8*8˳A6F18i^u6"$nzWe c  tR:wH]sA#o#Q>ғvI {x7X;bt+ݨ)|QlZFEm!Dzۍ!鋊5t3%NQ89d7*m20wPHOw,;{7J\M\L\S[@5 U:QK EMx'Sj 89 C_W ꣠Bue揮@ XPA͈VB~REK$dd[یL:)Ahl8<ߏiS=M_jl;.cpU1I2veL¸χՓ\TOyaXGuhS>p%x;ja:" h@%XƑeuX#AAf0'R.4 J?C8C0 $}Z_ 8{#K]`BR&JG蛘gcݪhPh7AhVQUCSB1 ʶ@&y +aDZ's/= V w` jL͂~$F;k84qm^Wd;M H/b/\g W?, O8t2[$tLG4n6TNL؈LJ4k&!A&2C88&X)ID2TwQN-`h;?Ç2Cn^ggx \H8< @ P#8&Qb߶w%.)qW0zY0J277ADX-4A!i&dn;);ʖ2RGt`wzoBW/l# aCv0d\ 6I1nݭMr<6>BNbڑ;.P!V^GY5aJiCi0({A 'Eah\e/傧9\5勤PPvm% 8BN3?NKDv{ x?AeX˹L{'e󋡱/`>I /Ď.K$r!MΙFi9Ua`_#Hߝ,^6JvY3iBh2*96ڞ[FS+=܌ 4ypң z`agw)bq7 iA ͅzOdkl`<1'ՍkC, >tȇd P4 .~\_/;_XOt5tnW`,kHFASfBBdH0-@ V+վjGRxa$X\>GP.RQt/SoDrQ!:aN p`2ݫ9'᭔dJU 9>)5 1 \@ZRឪƎ4%S/ Qwd]qj%ϋ#R|z-- UfwPjh~0/S9 XdW?\[XA h:H ?5ff,eLhrG VSWzY'ƻsXY7\YC|Ĥ[8x7YVT O#9hсcfZT5fIj?a ȭ"eb TDvK(]S^=GJdIm{Oe& -G]Okl iA25H%xUL(&@l [ ObccazsITBVYɌ7EeY 1`+ EM) (55O&SMf4H8,bbP=֡Qڂ MW Z]+Ra͹U9G})awaZnnv5ݐQ:dm3}t2TU(RR*j|۹Euīu2(yE9^svY^̓Rn@Kctb; MNʔkWXXSލiT}O`~m-f6* eR(MҐ 9MbҋQ!a(+#趖Y뎄Q@mVꕇpi}Y[*^2U^W/!  c1o!^F/˲} Ԗ_e٬E1=ܨyk ])~ }Dm~KMLf]m^泮f,,8[!M%k V(0Y/YCt3lpUV:NeǕ"MdcW1Ҵ9[L⥪bI( poƸzLMl_x[;*i Y_tl5x`n`1Iy)tB355]&<şH[ Z ,%rVn~Ww>}WyFc]Um>"njU}׵6ok6?MH 'v򎖷q?*YYF>flcwgero=0o<氞wmm~^b \nǬ!od6wyYϺbmm^!nbOC(qK*~ ;|͟V*8IuGcj;uwlͨl/|-e/kNNMOv tJ/MY;nSt|oy]  Z6}yyQZ_}~2mݡ+g"g[.#E}u{d=/p?Xv"zaLpXI13eW }ȕv$S/*s%s|SUs&ռ/kuN7BISU;7 e*}k2IbaQd H*Ͻnzo\yPz9y@ TXt@`[E9*y?WoiUm0f_U@bzTDW(Dݛ?1xS0?[J גHB\ |~1ŇC1pRfB td2s[|LXKQJ^R``Z`;_eTwF% ➬j._qz]!tOiʫ R!?} w[b 34ЌG߁vk\v~}&u >@+`Ԟi[ANzԤE7_}m~Ι'8͉_'%$]mke56wyQ6#DI +ݏʜ #3dfzjBRn) L{]1.koI{Y:AO_+ \'m>^4L/Z/DvD͇ڼvgyY4#~P(>`ue Aa^;biJ}m(/8Ah~Cb&PI jQg͝q|6.ҿ%5Z`&L%.,JXqUO% .@F(GɰSoŏp{f.DrSm*oYs]aQKT@+@bgk<;ktܤmP=-E!VTN.0YFvq>Hc2D7l\3lsUi"?9Ik21pDwH5`%Äվߴqi&̟%(u~Uh6ȧ֨(2vTvendstream endobj 617 0 obj << /Filter /FlateDecode /Length 8079 >> stream x][sdIqv_:[feaX&vX hGRhޙuNeViI3k5%+/_^++^&.G;^sMG۬^=yDfVm~oa[oYӠy}slio٧ʆo5P)z6Rp>oiU Qz}rO*@^99Y`lFğcNٯ_t0_߼22ڸ z}ֶKyG3;jbob;*Gm!{z5,UV:JrV%ژ&d}=.Y Wh2%i ~U^δr޺Ӵ{1wzSzNJGckU:ű;@ڛA5_{|GHIʾ'=lt\R$PS0_Z.#H3-zT:̧M rUcl0og|HU+T9PE3oQ> \l'2$E|AѲ[*xbb2ֳkiwޗIҳGJzj>:/WC1q~Le9I{n3;[,Q`fNh@OڼJҥ<ڟLd |}B|l/2X(z(݈߯PnM1o1if'J|9rMAYڹ6Pw3 +3]u| MsMXփ-R1qT-g+sR{ 0Vwr٠AY]]3EAdsE.Ysd/k٫6{$M#a,AD2ir׎=r$ph|̽ :])ܝrLfZDts\)o,boB k؝sYp'tHZ[i ,Śplf$R%ݡI@Qޮw4=Уt_0|{: N/UԯR=(@A8}H1t Jm=ӛϟ戂.1v9bـW}q2`Rn؄]Ųyl`b)z׻ փu^ 1Su`ĖХ0 ;gΚ?996%$ ɮ)A{WzMC1ͺϡmXL!QgoCŜyҫ@ur+'ex6׋tᅠ.BF"vW{u@(*>I{".ѠJEoL@⦮+!z+fȲI. A[3ozYgS'11 (٦HXl|i4JlS]`dKl+ 1Ʀ^imcKn&\U4,-,DAId )`+$2lšIj9n+fg@F38&k7]|Ɩس`0Ҧ#>(6RDoEo!zĔ9)g?`b5XֶS霋رo ~ Fc 4=0V;Q@ ~ (mqKe4E{JҎ3(Ga}F.GxAm2̗n˓(3Ѧ%dviC] 㙞!ˬ#!/;. ͛ (gMXPV8fóof``̖qDR{O㲝w mI-d$ɳyP -vc3Zb'< 0#0gL9%(?doQίVL8(Ea[l! D5 [g x}~HBdk@1R >ea(^86\ LiU #h'׳+<Ѽw4~?\~!4*)"V؈'՜sCo,l% "SSeT +K-&ðl[NP K){*A >4tĄ`'®9VUt^*pgaکwٰ ćCCG@"w(۟Y*然mu`DjJfgeb 4qyΗPpqA3>:xnJl|42QrB'oDĕ柜=z8AO3^:t A0XذD!lwsgbp@2Kn \έԗ:C"b)f0Gzuh_<71p#2s8yh.g4,c4Xw L[. ,𺔞F%bY`1̠"MP0%œ̝! JLeco)p) Cv e2DrcrTtz+1y3鮠& e=xBfս:RTījQ!DlR6E^& V%e˟VUonC"N G uթ l)(ezk WG)=Y$\ފJ(C9v,:J4b 9~⬷30՘E"K_1eBEKeZJ}fٽZRhVNj!gI&xXF&͛;\V \k-plXڀWy]v!"@?'w*n6`pdaeLcVI;yFd*鳴%uA҇Ɵ3!v<8E9 z2PXJ>9.* @>RK,/48fSx-5?=.7,vs+3IS˜F5KՇWtzpfg"mgS!_( ;l [3Kقf0r`֞9*dJ<6ƊaDM 1/f$ZK"zbj~OSΚz?:f=k'2+위ON~ILw52rBFokr1zI.Iմ6"ܡWbpoy1[7RdNXѨ ͳn5d;g^} }Nn$52^Y4exL!Rr؃C(]yH1\dQp g͊nhQrĂ cnڌPg@i)1nk~ǓF' RS%;k{0fmK"PÂp,pV1,:EnY~4l>Z}w(PHw%ՆP]GKq3]BNݨ`n΋.u$Yz<>D13Nao:pJڨcJjDgEHlcr@1+X? }.{6Wir(2^ٔ,n|њy2|5SvkͷÁo#2GR̖Gohlּh!!"[MiTyٚ7yњkJeJ 0>B\7w;zN[p0AZX=ݴn_v={*\u2$;LSik޵mkݕdbᡜ !&|j9XC;uk_OllZs[b5>m'O33^xrswѴ#\يp5eYq ;`8Lw&SP_}H@>ؐv3۴3{7oҜ\QgmiVp`Tb=?%?);OZ ;Ͼ>X 5}Ycn~9ln?U.Rc 병B5--:ҷOaH? Ga|85Fo 7Ӣqk%vrdl EMÂ}uQ=i^V+G/lf3mDBfXhu`MP!_20ibr}31B NJ@PYzmn2rH;61x=wõ<x$[i\HۜVώV+0 &q[\}qU@D^vcZYXGc}o9PM_mҒN +@7X9?Pݵ |X$RTwX_R/'vPwčR#gfqx'as͘oJT+AZ\>sEP'BZߢIvͷWa{u:J7'RZ!렴x,F\g3n wT .&S*_eP7I%cz|G?;lsNFq'qY(ޒVNII"oڶO(MǡoS&NU5?KͰ}t6Y>uA9W@;ȱ0%Ή{Z-9ٺT8+CZ q`˂dӷD[$fes,ud@)1xYa5P2#6-tq-vd#TĔb hߡ!f^k3_ԍO1wNK4  dVB# }ִDQ&֘մsZ QQJj]lypЁJX2*/!_>fE{&i Kէ.ʒfk>='am!bM5HRQYG=SUc>7642ਛU{LhC^;{-]SzM"oI = `"WڠIu]NFr x‰1%>->mh8`f2<]ù}zDa'xKyceU1S:{)LYm5ځZh2cb*NheHn}K6Z[27 RyJj ͖%t")E )0u2ZF~A~=ּkOX4NAm9oZ5_5/lkoLg>#S~@=[J ΰbȆ" 0d'=-uL^5Pb\Ż@ɠzH?؛ 8G+| | (X-upE0e,BLOyVQӜ)O yٙ0~gDW*,3: PXCaXF]+[ (|4EK9e&1Q~`;.>F;r$ү }X8$c>QUP*vZ|o?* A=*-bPbGk 8xE#8ե4Mod½x,B&QQ1H0W`A.c9.'g׮_$p] AMPONŌZ~vF:YFB%Lohendstream endobj 618 0 obj << /Filter /FlateDecode /Length 8621 >> stream xŝ[]mϧ>L>Υ5ǒ,+-'/9$uX Dqͅ{O} O8=zu]*̿=?==H$G8J^ Nmr{$}l}½W޷}1r8j,|~*ö!k}o{?/=SjI 4u{8?;4{_կy)ZNpʥoOh揾՗W}kw?^K#ӧ %jm)o-䴕x%-))q AD$o}KTsJ[l"wd0%oEҩnmU@ѧ$-zk:omD {u0K@ -A!\(偦2^ Тc HDe1"qfI%Y1(t8!r=N*aO+r-+o) 6 N(R9r}C8?;DSO|6g'^`4>s7En#RA+)jUiKZ*9hupJPZ856E0yRd.^SÚ92(>fe ,Q Νr8ũ/] G{Tbg_>{7OW#x#roLG0o>;'tU-Y͜!5ޯH8#cA2$28,3VJ%ГЬX%gnu [2;i>`i]r $tpK:cLkNP2k0\YVY4aIfz yz8T%_rA2'Y~J4():9ֺ).DѡQ8*9dkX$zsp.gt%mIlsSOɘ[vry&΀s.zi:c9aLS0'@Ӵ*YUnyVѠ0]iQ=yL=;%uK(UME<~oIt"rϙ;>'E<_O'*>#%Jp ]Q8\WktmR-:y98EXpM.l|yA*NUԧN\z| sϡh_ V6Mɘ7w.2d.⹠[q%su2Es0]e5| ǧ"~42yOt"ǤÐ#Ma1Z$\W& vv~72t6]9rT:iO">a\5"9,LDtXO]b哉#^}eLǓ,:S1fZ6s _AS𽗹Eq)swCS+xe.gj]qp(!Yrϧab\;5{GL$-K$7qḔ1p{ CSTKNK{}.)I+rp@ݝI3r& t}]%^XjJ&KX\iI@rZвSյr%qKZF]kI@k- hپw%-G$eZKZwVڵ޲J/T~5)[J]IuiuiAٺVٺl]Zl]ZPkG'NVR veke+U,$Kg>ūֲDFZBŎV [N;"o-;/H[)MἕN!W[+o-!>MeT2tZ1 ?TUޚ:o-;u#o-;t.:o{Գ[iʹxkdYN6漵ĝxkًipnpKl1Yu430"KЈli-''Nd)ME, 'H0"[TrZl"$[8ϖfɒ#R$K/uTdɵ ߆:Li2dadi NNdK:%CdkEl Nډl _ɮY>3l->Dð3a}Nv^hKmֽQ1,U]nRfdDڮPPXZd 4 ;zU`PXwGd6,.ak ~7K~ 켏('bEͧXLXvIU@`Ytò0s ve)I nA&I(l\vf-^) c\L\\Ї@WJ΁\TG$1 `v+\wqY@`\#\:W.Ӹ,,rY: \yREGY{ fa*-|| i %_ޥ42 VɬfakhhvW'T4K#/Ů H AhvYLͮUX}YX fWXnXunx֗l)S<B,B)LSYgg ϢD,SG㳾g^gQgY9gςkђ)X6Kƒה`)f}3)#+uOV: +t:8 O,Y9 ga| gxYY0000G>beؕYgfWeJbzS6 ~lQ6 [F,,YYYXN]fݔ͂)–6 l^R6 A٬Xfae̕z*f1vZ.1W2XbJKZ(֒$eGk-k$eֵ,t֒ZвZKZ櫮$ugeq߹5Po^. E%-X.U.-(pK ܥ ܥݑ~`?}Ѿ_g;{jP׫4d/8e.{??R97Nv_tŤ\~r}gf#_4^jME: Z[f.q~4 ƹ+kF ;UUg",4A~p~:2loׯI?C=5>$ 1a:NY/MkC$s_!,:(!]nIqzGtiHKSez~q}[E"q~볖̟.R4D^#Qƿ́Cȩ?>-zUG$#_B%ϟhoQ-u#ǣ#cF<{H:/Zq~R~ٔ3T)V_RrLQ8JRrRƗo[3Z&3%8տ1Qk@x!n,|yTq2؀s}!Pid_/⟎rnL>r!?[HkyxlA鹔wzwS1XsH%7{mﲑȣ`A'*((C@1A h"~o3hc8x'f ]{;# r:},9Ï_di#H+5qOiѪzv\4AnxLAg.Bcqg0c+-w1!̓^v]|Q˖cYJz#:e?f2|蔹q3NgD sW`M Ƨ~%REijP7)VFU蜼b;:QRVD:"8ٓo@<x'P|Adwi'T:{󹲔oAO)/=ㆁ=#Ys2[.qrKO[ّk ;X44,߃=f*{TKޛ S4*s4(RG͘d/wF~Ƥз@BM}sɤfN0ib^#~?ǟK|⏛?/.{^XꎦjJY%vln2x> Prb1Z+*?V7:y.U8M |?Q҂QfGxk!Rs6ךv>1c1?#(qp:x?$KWd_\t$ \_QY ..g֓brl//p?\|7yzqє<^~Iopa[pGhd䎔,ͺM^^6?ĺQi Zaemtendstream endobj 619 0 obj << /Filter /FlateDecode /Length 378 >> stream x]Mn09En@~g7tâUq,H޾3tXp 'iu򶭣M E >J@O Q6J-q%(UN \\E h%`"S#Fy2{f5sG"T M Loo M!! 6&+aii)JmL,G C  20d@!"uy7;\25OW-7Noy*~wendstream endobj 620 0 obj << /Filter /FlateDecode /Length1 13184 /Length 8866 >> stream x[y|Tսs{g,Y' d XeQH`X,"*""C@XJh( }>*;Cޜ̹| PC00ёb13y9v @6}<[ιe9v{l#u˭ 3mu_lYPm(L @3 Yfͻ+=_ o=yb]lwV+26qV[z<ǜwi7s}ae;al<0䍩ϸcMJOMVW!x6.6al O^8APx&Iށ Οa~fpt5 b;I$dA9,P=8: n?ݬ!b 0\#句vF`xSi`Jݣ< {ԴT{x8x/&{'.vY$"|j+q]x"@L2%hKK9K28dCލ0V %_Q+e1GS% S'ivtH!HFaGs荴I1Ù=[m)RRR\p̅t8k9IT2'Ot9DOSD9&Kѵt=Lb3G?1IɕɷRORߠCp&i@9b'޻jG(.ݟ't7=b2 z2L'W~UErꤣ$:vh`r8fޯ1'K%c m`*v 6}pù1\[LNuɾ}͇l~Ru_C%Yb &Z2 #5$k Y{T s7@ ^!nŰO>dI[qxs/"p(g۬hjR!x2@^ ؠ1_l'b^1/v_;'myřSef4=3zu&z*?[~_ɸMXuKaRAƺχYzc[oYZ"1ZmknDuXif\aF 3pN* huĢHdC#bp8N\<ڳbsQVJҫ5pttt2n kG#ht:>m5AQq(qz#w[&!\oB '!\W+Ep ?p7n5&ku?p=ND?p5qFxv~ 0#p׋!<G87FF cM)7$qfᛮ"uĠ7(! r 8SPo.w+{8=԰wL0 Tӓp#Q1qc FL%waT}KzRZ1^,-X,V,9IJ%째l;l`E_WaAΘ t}TSVx"@)'%M⢁t!.l+0 V{ei da1>1 dׇBX/s1 >4JP ]{ɋ ;ΝVx{E>1ɎZeRM';vF=;`-sJ W} .jk~ZsJ\(ftUr5_y1k2j93J Skv :&yg+&Oˉm9 ww*kwԺvOvGۥcϤ-du&p@vD l\.67ʚiJ F^}PBaj9q̪i.B1TC㞬ruvCX|绵ka HN_QT8pA'h+ h03#+ ^;L!Ħ_ 3bgP RH 1[%e g>lԗ,>Ad40o=/vO}_#w\_ػh'~dudܺ I2aN~o$_<=yëq4peF˕Tv+*'jM?`*fkr ]VB:hJTU+HKQa 1(/ۯ7Mc]jϭpC6M>M6_|ISM4=y@4QC+T[ l?AAh &ë7`(,8Ɍ?h\~,[=Rrl(f6Ҕ}D_wHA".B+6l9 2n$$ /DnŌx2fM&&J[%ZZ ijƇ >)[VR̚HҬPB8zÖM:ZFE%_?bQޕo-4F brnK =Idܣ ц1d|\Fa i̘n3 ?7pGhQѢ+6 B@TJݜ4OMYOS=;";<ҧ{A !LK@V8z36àՄB/ L.X S% x'BZ%^uK f,,KYq߽O]ŚG3T! e2 :_}ŨxKdZxٱiѠp*qF^(4h4ϱtED'':_))ѕ:lXE{]3ɑ 1fK>?o$CoT9hk^iDs73 Fw#T F\n1Ȅel=;ͽн,B06ӶȶL:56ﴡy222 Re|?ͳ35{b"-i uAy 50A&kZ,*S(f63 :yH,f𽡠O_O_ NuF%LtQػI&^NJ;޵󉵑gw'LU? w~CF'x -z`1 e 'ra gra1xerEx lWUXQhm+׵~dF٫-UH*nVѯDZPvb)Co1I An9G'>86;@_^,I5NvvR' ]`Uts h3Lƨ*jde-sC998_V&+Bf+\fe|ιy'gSx+CY|f mmęڋúOH|-ّH <W}zQpiZ֨ee@#+$nAi>0 d!4SnNn=PFIIq߲%"^&PB!Dy^{+ Ph__4ju^K~A!exE8gf8O=}N-&_Nr$B{-~ÓPVP9C%ZBЫ䌣ϒ*We.-ȮWI+sz- P'QC%u**ٖev%> C lD2IA裉5/.4%MpY_S&[ev5/R]10+XK ZHKY?I혮Iy(&я Cb!;ių&&{T-|ҧ-[l1hW6t=.oևLNFBnG͍ T%Ggb3rF+Qװ TeXV#hFBǃLRցMo=IwKVIb9HDbd@I54[LD4:gfrV֡]f/_22tFQB[ӍzG *,dB)JEA6VFMߺ=BV%R]E+kDvk0.df>ZyJdO~حc 1%$'`7(tT(,28ENGܟ_d YF.q)1YsV>ass6ѺMne F1\v^2*aц QݥYlNW{|sp4jzWW9++&T&T6H -o8( d1[eAXZgT~_KjC>Peħ]ڹw0pŚ9v>wD;9my(#"Pb#ALê۶z{֤1c9Q +TR0YyqYX'&$l+8zCvgs"Geגʹq`Q/ 4$N\aad.:D &)xl/nZ##yACwkgPS{,KKcGTv=Cw{!n\򃵉rr[ѵƥNqsgntpz`$~/Yέ4pfK3U?MnSD+E:W^dyOfL^NJL8-CPpfy1ⴞub lgVU1YXԳ?gEGu EwLv<}-2~Mv}N}ؾfWd ^<+!̝M:zkd2:Ϳ'/Id^f~/GMsd@WkjuKpjz?/k^`^p{[Aדg `79,N)XPNGn. @Zu <*ؔrE P^ T`+,/wOuLk"WDDLzq$U}%" %4hʧ@}CK}G>ejBH#\AYȲ1s>b3;Ӟ\ RvM%+/kBAI 3O&d[IP oC+!Pm;~ýt;uw:Ɠ}dĸ±coH#3g=zܴ ã96+W/~۞N2BG qZF맕(bh/WE|`LkR]I:d6#KTA˒me'U%&y(֐ ӚBHF'dg`\3K>Sj,ڬٞ(422 .3F"~F+/ uրeۋ= DlE[|3V^ȧR\ QҒfa # rɚKlV\$$X1s띹"pUv%ǿTb,M֏"ݗ7gwsw Աߌ\EJ(TlӸo*%ܼȩxl8W:~o^}Ón-F2+o9rU*E9md5j[zZ,(A(25 _ǝJT'$Ĭ 2Y)Z3^YLx#z"G_QcJ&k1لonJ{GO>M"ϭkڜ\ص|#6r|q0%ŌX*< lk1?nj7DžׄYFU?A*^im6 efwĉ= T5hqj) -fdFYВ/.7)ƆiK O !y*G2gSɿ%'Ie \:#R3 )Xn5d;%_wES$Zhq_Mf9y4å (ens{zyRh8s$k]ڹ[rbUb l4 bCzA;m͡/,.yr[xt.fI~NoB] X7IeLeQ'V*Z( 1 x@::rjeK\:|SsUDb)Q||EQPYN`<l2>NFOJƸ#؅mYp=m%C*#rLlIR541UeI7P:S>0E!T32kQ(e  G=/flG2\+7g=#:oTCF-حVP]2˹a #˹t)Bso's[n7'FB B=J&lhr*wR=@fr;/e'c-;Pn#<LI?(eXn.~9y93t }>$,'X,=Fϱ ' !)dv*AiS|3\Z fjLMa׬v[=*с["uI;v>KN%?Kvm؉w9DۤPx"8Y`Q%&oF(PWMUj5u$_j5qHG_ӿ vLGzzd,0kqhR5"^&;oEϨ n%.]wfXxWʥ_|}W*Wş*pK :F͠kh۫W&@jHTᠩG fv3;C<yS/urm;땛3..B*߻شo. B,endstream endobj 621 0 obj << /Filter /FlateDecode /Length 5144 >> stream x<]o$O=N!rA{h%Jyz>"=fw\Kd}W8?N:W'NӫE={u{P:ИN~8oթrz1wzv{rvOvxNK)=\¨WF4m2nx)%p V5FÇ788M:aA3q,z@3y?p%?I 0j'7# .qI8 hp)&7._Q)]XWwJaLj5b_OATZ"%EXH6*OnM4@l M:yx=^otUȏ2@3g/n|50djsJ1rZu5n㼗o7[8Goêݨg:9_(jwOk-JiLgd xǣHN}Vř,7B.r+Xq_|S' A8=N*IpJ/6BEQI.[([ɌY  ~W]𾀦_t{.yIK:@9#7[ EfX$wL4z|/`H2/pW)xUzȄt:(+t\N8 6# [81Bߠ[*Id{Zfb+H`AVOHj:(n 0OڭqUqMLYZb KI|I T ѿ𶀗]z(.K9'эNy?) Vac06OA&]+![I3Gfś4[ca#BwYw h+S!/2M0̸aB[(ЉX@+ MgY kB;XFhL@v( ĩ'P@Pئzcm!BêDF wuYc.S8҅9 S2[cLj\X{$(%IN+P0&Ł5C]cͺV/&5nA^lrCHpÈ1|y*!8WqHq“y zxf-&_\LߕŅKXwMAX}& sǜ$j<,9;P.m/\Ox1cf ;NpL:5'5sxCvs+$vv6*8y;z~g\-7EVob1p #gy$FEd)2؁]EB-|ᕘHgvX&1eZe6*夒 "*]B))D{@.!/M$0B %ڻPE*"]uYWOUsr|6h1l\9zKaT"Fmh,w aF1}P.,.e)6Q7Y̋KY8E(BK!O/eS[W^vYJf킻)R^"|uoAixIaJWo x]eyI]\RN.s iUE)MMq7^wGHPE!Odͷݭ?ʝ!˳+fgY$^JYB_ !ËW|vbJ˄Ҩ(MN%ΤNg h i-\뮶 p/ɿ] V_b$B?w],\SWZPx]L`,ZX?]<2.Z'[X[aW=a$2vG;t1Ճ#$RWx#%FsD}e[~Yy]/#,HzxŜm) q=:RIAd_|{6gz[Gա|85A*=iKI(fPD;N4]GOYL( q[bj@&imRR$Z*ZsmcE?'oyUTPy2Ej|$]*kF 4~WHVT5):n4|26C,?2tUjJJn&”YX Qrj@biY5FHu ū2HK]MbogeWU*#q d'\&xK(]u )لr%CbQWŸvCIߑS|XߐSuQnT͘Y|`&UAݻiDyVCHu_kW]cTSu`VDڈ/ hl1EdmQ:aT(T|:,ʋ'Yn@8![z&Lj9Jz*+Ε+2$#cX#bms n.{<7:L1-;NF]\/N vY!ҟ,U^Zzm#H ^հR/)!@)2Ec,3q*X!):h]u89xE'__lXSXiŠ;_qg 9I /H:Y5+㥀`/M t+6V-!NZ zW;cu5o Or ܿ+^j@dxgTMņWOb@WO6eOMHkkpwNC|!Ͷ[ ߣ!X׮~$4n\s ШI+CǴ¤?fϣ(+"kq 9ҪD) 5xT[Gqt=3֋Mu $ 6R 1#9+ڛL!lW"FJsD/|яqE@͇GBHr]KvRmJb=hɬowoZ:Q3j35N#y8Lb\Ao@'=U(qϨa mݵK neqֱwS]1c2K깬5gCy[;bc~i}zgN7 Vx]X,{ hsZ 7)3MV}FQUO(A&!9Dp:'lWM}lA`j5QmG K vVM~M{jۿV`E|iP qJ Z󱑀jTXn!piok(CNs!%wÏ˕Sf'X8c5E m +vb37Ӭ=R{D̰##ד]\F;zUL<5?'+dS-l¥r|"OWV£ )p/nb2m؝)TU'>+p*[oTS?] W167 F=/U?|W.;9E> stream x]Yodu3;Pwj_!N(,z9\DdY49KݪS6 .]z,YSէ Wɿӫuzu󉦿{}{W*W'"ɓ!k)hlt|eO]]CܗfCwlRF'q4S1p`RZ4\o 9˨0X:hg܉cc͸.nm4YL-[5U%srnY=GPbֻlxzyȊa #<~E|-$C7/$1Տk`}Xa~GB{`ʯ^=oHtOvN,Uv LIUUW@ [iY}$y-C'u J{:`3:jmi DN{IZPo3rР*XqsU)zJ슲q6"Ku0h\LH&ސp=v0K5TOVmɟNز .?לd4*u6M4谤bIf1KnB-ooٮ[' 6G qB7=cg{yH6 3%tph2+2`SwBD|ݔŶz{IEBX9vg BCTdh;nr @5k .h{uf<@}WC#oXjqڄ(0V0lj"u>Р~oڸ=F5ƀ  0*CY3̉V;q\9i7N`K @\ZԌ VÙu&Fd'^TᅨMvgorw) v$V mXcK4$iaaV|YVW[VIە^o"Hep-Y )ũ~ s V&d χVүGj3Z&YoH|#l[4yl n lԫ޹yO8}Es|~t~/F?>MhMZ eݴCs-Obe#BʗcbFq1og_΁?ٚ__:p@_A[YMۚ5.ZsӚNΰh{H`A0jԭ_D*KoMؼIn/7'}1 æ0lgP b5;lJ}¬wFߚz،ï ?ϞDwON {D4ïy8= ԋO'`k4$X})M({+IO4O`?8AiDi>V/aHTUtr̸S_ ;fy'MvO]ajǍk~1E_ح|)?$'QU封ѭ(Ljf3FRzDL8\-?F1sK|vQg:daO [[]PS΢F%!uaC271Ko`\aی.Sv2͛ ccOUI>=8ܔq=؟qrb|3*ʕJ|tȾ ȯd: )Sͣ؝"wg}rd$[HŎ"piSs|SnIﻲeO<o˪Ljӕ;vQayhIMQ)D qE'BdTΛ MVKLQV&yk *,%sJvB5fyܔɳl%P~",I\P2irN>GtA94xd p.?&y C!m5M/D}@,$(v%N:q}KRNג<-6cVuG'^`t([rRx˹e dX}\olL9spH} 2Wʦg ykԻ7ïo[ּkahTf \̧q vMp 99|RVF;uܔ;}ENp!NE:f AZS<>WCиX J{\isK:Z:%}'۹amYQV:K c-4Uˆlއٹ!z9{s^*CHHWt2%#*Iv\McRu3z  "%SZْ el:M½m4~}QmA^!uQ!Nt{Ӂ3VYU`ռD3Lh]m(8En l!yiIFr On0[{:B-:t\$rNѕ%UI9>t.K:>jVǃl@t(+ z%K&ؿ5y/7`x/`,L//D"Aire{d;]l](G]`]%tX{%x:f,X.UwA((8\_:/@؆kM#Z#Xrhѳ@ɟ@B՗N[7BZ{(݄@V\;̼f\ 7l [CU#I1OeډWz bgNZ'@vxA0X = MA{p#+P9wL/wl'UD s-OBة6@+)Eb Gʡhxs3hB)/p 2Du$q !)Q Q."Hw l6 Z7kêHQ'kRn Eh ]mqb^>8eu -қեqy C-1^*wˁCjtV -Qj}:lb$H!q\CҾ9v:x߲+!2an9zc.xK.q-&T0;fGOK{U^aEaj,_?JixwU ~^0ַ@yt$SK0 甉6&2f=B73/*ѩllb.+QGb6>ͪy' a,B+H: B`"v* dAiSpL!f(~Щ.d1{b i9z]`#1 \) OOG3XuhqK̷5M0%u0%],\=M8؁X% 'J>J;)KyKo 5N**8(jswLHٜ$z;۲C9+7q#3G?c h I "]M(aM޽Nxxg`R"6vz\y˗"(`#C~o꣑Q*T_Qd;eVu>؄. 9flCZH+?g :6H/[Brzfhr6 1wp64ǒX\ZEcOESUKsʉ>fVx1f2vqbݻѳv{ƕYHGjIAc[f!X1HĸN('7Sp?/S-88ߨṧDݶD{M"nuv~Gl<VIA a{ zEj,ƴ|==!9w?C];|l`MԦS]E.JR@`_\c0.z]D'巐XUjpcp:םE|R^,Lu!Q6B@_W& hs,z/pPt1|˱7E w5u.Ӵ!8f%5:w|߮KY‡n*T3p0aN ̥qI3s$,o>͂@ ꌨۚr1tމapyKPP<޺kNN-w[Th[TM_ZMk ޯ3$J#!]tPMHn zBmڠ,Dw K ߎӮ8| ǿ2" XdJ(Hʕ6E?UGX ::ag M;Aw:a~v+C S>+^phCt&اT;&,̓[DA_7]Zg8C =C&M@1:)"eO[AFbIa #Gf{2? Fo#5T=j&#;mwS8/j~O~訟-(%.? ='?VdMPKn_(W$)ƀ)QQh 37O_nBn[wc(/Я+m F#'O#@< Л@x~7A1;.tۮraO rZsq$Qੂ-cTaq KNhE7; ^սT!E >-wTF͔$pʡ qi Xe}T\No 3eW n֦ pYQn%+:Tw#6h ٰ'5ջ7|)YIJ"P ߫l^R샇+[ RXL|Yezw-`d3~\7}+&a :˩6?:#3ㅄr"CS [_p84@Ec`G,/>`+.\]X@Ӝ:u|" UH_5!ᡗt~B ,$s^@:^@_{nS-TɻM@q&=aZ)g?d&>y{8&B_LMSڷ2~: v䁯ԍfB2z:5Z5尡ӌOuuU 1ZAJ^B)c! +=\yk^z21]kޮG1dC D GfU r--ht(oǺHE;1 \0Vi) ѩ8_xR? g띐-aj,>zIw圇AGL8 8sqXu@?kq.1@ }He*u!]Y*F`4W&ޚkּ1fYds(\(ú+ณB;34mUz5ql;oWgf)ܔO(C;!yv~<:GMLxªbrd@> stream x][u~gfU`9vb#rKYjD!=R]uNupV@jTwNw1ń{Oew ŗ cgS6_=ߚ >]ag.=jK:w/}yFLλK޸{7CʻoҚrwdMO{)vpw{|SdvpOaw_@3o ^.?986˺q'kxS1_>BLNVR m)h-4^ϗf;ܮV|iW&]÷vޛd<Ӽ crJwȜ:o#x3!ݔs vvLC~4 nmѤu © m2Cv?a pI,㙋xB{&Rp/n'5TDot_rY76]\ּ֗'أ#(K^8NnWrחq |) 6YswyAݬqHpv#θiSݢ,>Q߻0e9|)'Rb@ +'wClX2B5fԘp;#d% $aI;ܕm2A2=3/i;EF0@ݭ`gkS79%>K&mB[6թ@xu!V]Idv?JKmPK!TE\i@-O`OæwQ696JNqz¬#lI uSt+EVf+ >Y-DPm{i[6aR>y{$MlT\s`jLɝ䶀Y%=r h.`s"zyV ƕ.&˄tiѤZ9]H}F):}פn<{_~2$Ñ9m J)o[R48e -r }L0ki,sEՐF]ǫH.<&.<4R;ނGCDt#t>`^GV+&:Vkw zL٠y#xcF5Qh%YD\媇 =oAK6+[ L+Bbt#T?{ݥ'_ezZqάʷ0XC,;`›@1ww%ss0PT$g86eof s%9$l2!?4ӎ4u עyg< M-uu`C(%,^#dܚ%-(<ؗMbI*m fm;d&u/"@\`ukއe6޹zf9 ۇ .9XJ^R3yO3|7cq+)% ŇB0u@A?7lJah¦"& 7Qy2 ^mIms{-ǞHm,KriRUqלfÓ\G^xc9`1BW qf/)mhB/`YB#j6VR`$NDSoWplf:f߅̗Eˍ9.ҭ`-*63@}e'IL A7m@&2;mTmtrIے>'r-AD﷣+w& (Nd~xfr#H/_gjj-R_ VfA1Y$P $. %tU+}4n8"J|9a;M.Œ~qxqґĠQDi &1AXH3Kk'B3Z7@cio(,[].sf4U#J|̯E/-T"31<8iE9CX M#Շ8l=H%T&3a>d;E!f![bv-c72 ) &צ[qۼ@8F v7VOʬu8% ֆ"X44jWR`&}dP<Q"ǷM'iNCc]6aۛ)zIiLbZm:6 ik#m"L( IbS6q*GRI.Nʧ.K;. uݑxCي(F5@50]7f;|cFr/& s eEk*X- ]wׁ,S>a&%&%7?hA'k}]l8 4Q1p޵#Z}B.S=}_ &ҋf 00T\FD,*[nI8 \D)D)nRLw0מ%۶">c =\BJ=9(|l@M;u7Wa2ml)@VI)ԀXrب9@ peF") &/< 8A_ɶ.~>x n' ÍCt)nO}+ob^~ףVWVg$I5rTT|"BZXpqd 'Xd(QXa'AKe9;u'ҥ( ^E5) oC"@=pK/k%[сѶ)(1|HkXXnۮkJD)L@%kHsiJQ'l+Ls|V'Z]ZbCR<@*)Mۥ}(,EƗF̍V#5jŇ>dXm U{),*34 i>P_|" |RRRPEjZꛎ?Q80>8RD4r4}>Q`| 22=`so[ʡ d .o$2˴Ev6nn#Ƶ=V [)v!2U8V:/^DLJ>U3h"_0R p䈸|uGt]=)eVdh#S7,xAg% `zJy1Ʃ,6K*2Z\Q\k]D\J/Vxc|hw.ߴ_le`-4g.3Tnwӧ93]Nh0sQovuE2:D2 eU'؛t5.wu<.]>˷ҵ1Zā/({#ZJCm:b +:aW8'!{$؄qiu*T T ~m˒q!Y=a q鋎xƆ;rs>rr\# ɲ?a#i)" 2]&pB`9*Fy~! aIJJ?}f5I$HQJ㴭޳ǰV; p }xLnXGA,l}| Ж*R>pc&96wBLj*U&ʫuEȺ=y0+cz3ZQ*"JU HF [ u/u=:5qDJʆ4ueg9hHD ~N+)PTWI>ǞXGp Nquyƙv9 jKnhNX;rQc=Javh2O-&}l,憕(g-E?.!2pmK'ȻzUVf:&3?,tn /ۣyMm5aq9E(3󝶩RojдԨ VC!AKnB}ai$pTn?}XR9뢔Bw`rcW;]:(c+jl՛._oGd!LeGG1<.ұ'h_Q0pm&*%%T}ǰ@/M $!W-42QTܥ{(5[,\*RJggUpqQ? lqf3=x KK2r̀Q=&4qS(1X cΦ[sr ]d1G-i (˫ k6KK3 |(?xϏ>WXdCVؐQ^OW:*"!SeS+ŪkD0p7]޶˛vvxQ귗[Q9f](i&'碦 Y8 4 Z+1:HO'I9n"]VOzIaJ.+3)/tQ?.s<_YtSUU~nfi~V#%N"w~Z' W~'(_c_ ~SjqGV PAO{߷(q"mWY}ꭃEL:C6%M[iM{g[Lk[ }mTOaT*ƙLY^,~I'$f)ZAQ)&9Ro+>}S̺bNQә7ro_\ej Q;] ~2cZ{S _q.S/ ̯˜v|4LVČt;u(-@{(nMA{-a/>j^ŕ}Bpv#ߞ];`T#m-\B́!ޚF.ܫDx[хW76#ODPnc@\IVU;ɫKCoC4@h K՗Eoi4S vaiQ خcZFoɲZJ$?re3_͟ ç_t+iξoTeʃ5 w\Fʼn;XO(~qxYa6(חu:摧!QXUZuI|\4taΤ|)muC#/}8X9CM^W:h/ ˛\?$Br7 lwjI/߇Nz?;¨:xjڎ_2% >/IvDVᎤ*K a/"9LUe8$htnN¯uVg@q_6f.n[宁G[vU t;O-)npgt@IDG{F}UWY*@7qhq.1cGxPAOGmmo+>jlӀy=UB[rP檋-> s}P[FJ}/,ٝ'{RG@_P%G{FԿ{Hi=Z/o[`SQ8'sVۮ]t|#Tw\g"Y>H":r%YqϷ#i'?EX*<G @=H=ُU,eLEt>t@ʗ׮l9nyqo7 I/aþQnŷDN3 .uˢ6 Q1,s^=rF=DxNH:f%v Hg3#OJE܀L{?oA 6j4Rb@q!GX ݻҹY. i0M8\X .J5j{* a/8VK}锛31?H -,&EnXAb|_(kQ|TrOam6]:DP/'dwKavұ V~lc0ćGe\ɛl/PVZGCyɢĶW:Xk )+{@aR|iR6K05f%Sz&$CxP-@#*#+F~Ox#t?l&w4!U?~sf_x6< vxrcŷXOBswb&! K[}¤#(uMDU_*K[*D?w {jR5ӎu G~yI(錨Fun}PgnQnN<3jPfɵBqƨp $. /nLVeR5N{68?*>.oQ⒖M3AAyoJR[cVďw/>dj:;a:|{sRŷu͐{7*O IEGIQWv6 h05iiՊU` :.ZM+ZK2tߠrEWgT3*2(TF<۸G̱^eJg-5ǚC ೂly:4/FOk=YA0qTYy3_]kQ//6M&wkؾ=~+|F;||6~ENΜ}mQ]ٟ Wendstream endobj 624 0 obj << /Filter /FlateDecode /Length 9201 >> stream x=ɒIw7qS%`sa13@6s9TjJQ%-8̯[<ʖ1>t*×o\L_w\><.n^'/`d_b.^~Ưl.RHŋ|'>O^xq~*ovۛhCٽ]!f??GiJS=Ћ~fw ےϻwf0NLNfVM/~g/Cė//_^Egagp¨Jv!6`IކKgdLcR zn8g< A$S >[Swm}yŒl."(2ֺ.٧<&mME[PzR ωSyij75C2_>+sW/qc ^ n;C?"tJ~K W> 9w O$PG~fX/ _E@`t>Іm,c8xv=5ᒓa.[̐1r d}˳GXGN~F%J0/ ~^>숏 o#M= J_cav(>p߯`=?-PR%a-H3Q.~hT*Dsi_ULXMZ]! n=K8;s Q] uT/n.(ǂt4MS \qp@tp+/Ko hwI^;3첍q=+&*JP %\P;fI!DpޱՔ#@Hcof$Rh;B0 i΀nZ@IZo{`S^r"M&+M$о! Oϕ%߁¤L#T~p{#0Pi= d|~O`(yڀݷ_. k#7Ciyk!Kc,"g2Zq}e2\ЃBP@4/tA")]^ikoG<o@& pENo#7鲍Cơll8D?߷_s8 "m1VE ot6*y /@ހ\ 26MV$rQs?7"TxF<rYUze?\p p{($_HTŴa8\" xdN57FכDw{Ǡ$@`KJ3Ghפ"H^S%Y{,IF|!]x-ً.YjA''U?Rf (*lc)$Y`!{װ\( YÈ4TB A $h[B^hC>SRٰUHSyvK[xA$C%[9TAW,^+ 9_V8Cu2EFk@_4{H"@ԹE&yf){&̮5*ȳr^{qpU<).-?HAppهwk咴e ot+COj5HL`xLbR}I@^ &GH>iBņK{Jrv׀ QO'Nx]1| r&`7ҾS eYOgZ+e7<[\v G6-jQ1"Y8?eɩ;C;p(c yԁP=O<@:z2޳k'izFoqvDO{l Q2 |Z~'Am~E A.'G(iF0<q'~Py7˻޷ o&#`ENFW?p|0p+ꛦ: η0k,ꀪS~hZ@t_F3nnN8^hDPJĥ槍T>XgxL=VT|&L6* q0r/1b{Ijv6"uX0$D3CUo3Ps~Uʖ)H[ 5k=siTmY3 *  TnTn<8AjMdyWC@v AĔd8A>6X=\),rr*Rw=E!ia"b_kRy"p)8 9E\({V}QNzMX*Gn-$YJ4}i舃;X##?]Q.GSt $5W$h~I: {KW7D~zͬzHD)|K4Me=P2Ԙ) C951ga nLMAg|C -. =QLޢ_g 4Ba[Aeͷ LcoxZW\e`.kK lJ S֣@ 61?5O:ZTØ<(A#ìHXj=Pѹ:MmgI7c0?g"!:`ܜ9 +t/>dL'/5v|F+%_G0TN)jBv SgznG:~x(IdZ (z^F & FWӂtBIM`H7S` "0ĜQ7CohԳDd7Q]?bgUKz?T#PlrF 3 (Uxnm4?,"*ZX,&'K64d@=1^ h-3ȨCcl/UC1 ŮG֯@CStR GiT&eTKGnEܐ@NSV@aT"=q8D(Xy%3Լ<1&?%)i0Mkޟ=i$2̀v~JaFXд8TVNz1#^~@# *ҩfpx3y0nKRqݮiEBس$f13ho;3weU2Ʌo`I67׽!ZZeCgޕOIP k ב|\2͏'k˙N ˩pWI|ŋ2TXJ8hA@J= I+׃fP^w4=M`-zQx`tϲds'Ȧ:6WݍBi)MKoUtRYliBXP݌%޳mеr.#1}lFJ 2"1zdu4.96B__&N\f<bO+Xl51oet{Բթ+{:A’gX@)G9h=eA|Z:һ`I:qH[ʃ>n#(OA鷒Sv#W|$c=i>\Wa WZIJݏ)K<.y$FMr PϺKo]ZWx@ԤE263̍*y"-L_97Q_O:AE^ηTk+Ph:jŊ#qSMHHvJpzB:0ILɀO9Ja75hEXF /rBJ̓7@o}Bœ#_t4:ij]@  漷qQHd\S0Vz&z<o+T!=9)jfꤗ8Q[-U*-끟cb0C >.iwL1p??7N$⥌ 16>LMSe6p?(U yK~+evEcPyc.u{oDU }݀J=VȞH $*e/bjCwMNw Q eUbȴTt@)0$q `ޮmSm>NxեuT;:I]ջ@ĹSD4aȁz[3C;Qi!Z.C* NњbW>G, B,DD4W\5sY!K2S 6NJٗ vb>_8 S[!`}Q8A 늠iN(@D2jN葷d ㆼkS&@ b_hP>suG72cZ=(f[u5B+ Zbzg@C#PCx^:VtJbZ.EX "*mS /r_*4N"ЖKm'+d^E~^Yzr* S˦ekT[_y]3h66Ɵu 5yoW]p,aɺ)md2-OfD<# }ZUugqQםj֠| !PK:I0|dSْR}*\HY1 ֯M.4 ^Q`波՘74F*/ZxG]ZߨwvEk#(,ndj !5g,spCio?éO|0U^]J~>@h|>lJπe;TYEڗ4R.@e?SH sz^-{dG/;8H_Yي[X"Oyo{F:>yZSnڽ-l|"iQu1"r#b.uaK,X(RKnPJnD}*}[hlMZ[C'l%E>YLa `~L5=G<}5*jKU[n%l3J7{\j0;zӸf;#SUⱽɐ&qϑU6j݅\\Mb 3_]Qnx+a1V i,[-ey\"ޑ}^  8f7:ͬ*+䦎OW[&qm0ha0CL74ڽ#nh va!mƽ:ݾM6oًRg8/F,ma%cwyN5'B=71^"2n25 ewŧ!jx.P,nrA+8-Fƺy8;moI )iH9HnTs{6,-}@χƃ6wUM)\E׍1X̌uN=LUO瘳?Ha4D~76EQ")OiAB h0xЙ}B[Ӆ[I]}r,sl#IB"&KYBoDL? |j M 0}\P2@FAux{,q`͑B~dǿ'mkf ?MFQR[xCPɸ)-rŀ[L\? vtj'[Y2hN/ɈڸOsh`N} GFqD߶{2ǽ)GjB FjIE>а9"4QY=KdªՒ cM !P'm1a:%;\`(TrġbF5d{Bɐᢦri޹ɧW݁nuBJoֵR A \F{.7b5⺜>3kHua[1>F]é}x.LřGjQir瞓rS9TlowZAe d"M=FyAGt454go|䡘-WL:UhjTW1 @=@]4oN T쥞 yZ׭e%ɬz.aVgd_:<{~α.RytWUro;_(^S^ׂTKTuNcKz*Z'pj]&?D;(f0[lZN^8\p%;wd:kro]vi- .Jkͱ"s\bK2E7m?|2yP1(}3|6 Ao?@DZ뀉%k T,#1Y(-'yrq[yגփh7,-L7׏)ڞpԦZoXTWiŒ+ŅoE h҄NY):nH)E+>-o"NjtzobZiSk%,Ha.p0);sBt.Y&ZW(bP{:a{䶮Q}tڛH[iX`&bYXw'.~/zΠ_o )Z2@$Wg5.R!VŘhYv]p*0tFe\tbCAɶ얫s(adIXπtʖ#欅[*s 5bTynF8[M<3BW5yڇA 4JWeE~!Rň$4lD2Yk\X} #)Fln^ɰx_ +k]۟<.HO`H,U?rӊvw: Gd+*sv"|,PyZs/x_o)VuUt {#ڒ]t]4bѠC%-HrwQuJ0)[ėQ~ |-ޛtIJN5|~J]Re&eA' 0=Ⱦp3--O~5cO &lY) lF $"j k]V.Je$<lkÍh =0>C@N$7\crH.d* 豲-WIfXx}~FLP?ZAl +$*]OAx fz`U) UQ$CL|`DT?)'za_t@T q)8yX'tx0v"bsk}żԖu~!@'֏N-0{AC}A=6s=#UnBH Xsy R-`D6txF|?JRaNEAAu),p% 1 d <2͂N  %PfXvE IL@)oJ͌ ?"{[vq1|'@Y0epfGXR}FdinvnPYJZq+yi@BrH"5r/IL_2OI)}R~/ X5< (Ce^T!M*iRXP8gI$ M3&+D:%/.ض}BQiwˌ St{RՋ0m0E0<{1xx'3Y8[> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 626 /ID [<2737b99ca344799c941cee3e317e6ada>] >> stream x+ql ۴b,byA9A p؃\ܜ6b\ƁRޤ9셈|7?çg~[цR!4Ǣ]6{DI%$ In !I蟐r I"!G6L 8 –h_ lz4 Ե04, Cv`{f`sNBcX'ԡAoYoI@c 9(`Nu{+Oν-M>7X~eDYTC vrl\{a W?W[ Hierarchical Normal Example (nimble)

Hierarchical Normal Example (nimble)

Quentin F. Gronau, Henrik Singmann & Perry de Valpine

2020-01-16

In this vignette, we explain how one can compute marginal likelihoods, Bayes factors, and posterior model probabilities using a simple hierarchical normal model implemented in nimble. The nimble documentation provides a comprehensive overview. This vignette uses the same models and data as the Stan vignette and Jags vignette.

Model and Data

The model that we will use assumes that each of the \(n\) observations \(y_i\) (where \(i\) indexes the observation, \(i = 1,2,...,n\)) is normally distributed with corresponding mean \(\theta_i\) and a common known variance \(\sigma^2\): \(y_i \sim \mathcal{N}(\theta_i, \sigma^2)\). Each \(\theta_i\) is drawn from a normal group-level distribution with mean \(\mu\) and variance \(\tau^2\): \(\theta_i \sim \mathcal{N}(\mu, \tau^2)\). For the group-level mean \(\mu\), we use a normal prior distribution of the form \(\mathcal{N}(\mu_0, \tau^2_0)\). For the group-level variance \(\tau^2\), we use an inverse-gamma prior of the form \(\text{Inv-Gamma}(\alpha, \beta)\).

In this example, we are interested in comparing the null model \(\mathcal{H}_0\), which posits that the group-level mean \(\mu = 0\), to the alternative model \(\mathcal{H}_1\), which allows \(\mu\) to be different from zero. First, we generate some data from the null model:

library(bridgesampling)

### generate data ###
set.seed(12345)

mu <- 0
tau2 <- 0.5
sigma2 <- 1

n <- 20
theta <- rnorm(n, mu, sqrt(tau2))
y <- rnorm(n, theta, sqrt(sigma2))

Next, we specify the prior parameters \(\mu_0\), \(\tau^2_0\), \(\alpha\), and \(\beta\):

### set prior parameters ###
mu0 <- 0
tau20 <- 1
alpha <- 1
beta <- 1

Specifying the Models

Next, we implement the models in nimble. This requires to first transform the code into a nimbleModel, then we need to set the data, and then we can compile the model. Given that nimble is build on BUGS, the similarity between the nimble code and the Jags code is not too surprising.

library("nimble")

# models
codeH0 <- nimbleCode({
  invTau2 ~ dgamma(1, 1)
  tau2 <- 1/invTau2
  for (i in 1:20) {
    theta[i] ~ dnorm(0, sd = sqrt(tau2))
    y[i] ~ dnorm(theta[i], sd = 1)
  }
})
codeH1 <- nimbleCode({
  mu ~ dnorm(0, sd = 1)
  invTau2 ~ dgamma(1, 1)
  tau2 <- 1/invTau2
  for (i in 1:20) {
    theta[i] ~ dnorm(mu, sd = sqrt(tau2))
    y[i] ~ dnorm(theta[i], sd = 1)
  }
})

## steps for H0:
modelH0 <- nimbleModel(codeH0)
modelH0$setData(y = y) # set data
cmodelH0 <- compileNimble(modelH0) # make compiled version from generated C++

## steps for H1:
modelH1 <- nimbleModel(codeH1)
modelH1$setData(y = y) # set data
cmodelH1 <- compileNimble(modelH1) # make compiled version from generated C++

Fitting the Models

Fitting a model with nimble requires one to first create an MCMC function from the (compiled or uncompiled) model. This function then needs to be compiled again. With this object we can then create the samples. Note that nimble uses a reference object semantic so we do not actually need the samples object, as the samples will be saved in the MCMC function objects. But as runMCMC returns them anyway, we nevertheless save them.

One usually requires a larger number of posterior samples for estimating the marginal likelihood than for simply estimating the model parameters. This is the reason for using a comparatively large number of samples for these simple models.

# build MCMC functions, skipping customization of the configuration.
mcmcH0 <- buildMCMC(modelH0,
                    monitors = modelH0$getNodeNames(stochOnly = TRUE,
                                                    includeData = FALSE))
mcmcH1 <- buildMCMC(modelH1,
                    monitors = modelH1$getNodeNames(stochOnly = TRUE,
                                                    includeData = FALSE))
# compile the MCMC function via generated C++
cmcmcH0 <- compileNimble(mcmcH0, project = modelH0)
cmcmcH1 <- compileNimble(mcmcH1, project = modelH1)

# run the MCMC.  This is a wrapper for cmcmc$run() and extraction of samples.
# the object samplesH1 is actually not needed as the samples are also in cmcmcH1
samplesH0 <- runMCMC(cmcmcH0, niter = 1e5, nburnin = 1000, nchains = 2,
                     progressBar = FALSE)
samplesH1 <- runMCMC(cmcmcH1, niter = 1e5, nburnin = 1000, nchains = 2,
                     progressBar = FALSE)

Computing the (Log) Marginal Likelihoods

Computing the (log) marginal likelihoods via the bridge_sampler function is now easy: we only need to pass the compiled MCMC function objects (of class "MCMC_refClass") which contain all information necessary. We use silent = TRUE to suppress printing the number of iterations to the console:

# compute log marginal likelihood via bridge sampling for H0
H0.bridge <- bridge_sampler(cmcmcH0, silent = TRUE)

# compute log marginal likelihood via bridge sampling for H1
H1.bridge <- bridge_sampler(cmcmcH1, silent = TRUE)

We obtain:

print(H0.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.52918
## Estimate obtained in 4 iteration(s) via method "normal".
print(H1.bridge)
## Bridge sampling estimate of the log marginal likelihood: -37.80257
## Estimate obtained in 4 iteration(s) via method "normal".

We can use the error_measures function to compute an approximate percentage error of the estimates:

# compute percentage errors
H0.error <- error_measures(H0.bridge)$percentage
H1.error <- error_measures(H1.bridge)$percentage

We obtain:

print(H0.error)
## [1] "0.2%"
print(H1.error)
## [1] "0.22%"

Bayesian Model Comparison

To compare the null model and the alternative model, we can compute the Bayes factor by using the bf function. In our case, we compute \(\text{BF}_{01}\), that is, the Bayes factor which quantifies how much more likely the data are under the null versus the alternative model:

# compute Bayes factor
BF01 <- bf(H0.bridge, H1.bridge)
print(BF01)
## Estimated Bayes factor in favor of H0.bridge over H1.bridge: 1.31441

In this case, the Bayes factor is close to one, indicating that there is not much evidence for either model. We can also compute posterior model probabilities by using the post_prob function:

# compute posterior model probabilities (assuming equal prior model probabilities)
post1 <- post_prob(H0.bridge, H1.bridge)
print(post1)
## H0.bridge H1.bridge 
## 0.5679244 0.4320756

When the argument prior_prob is not specified, as is the case here, the prior model probabilities of all models under consideration are set equal (i.e., in this case with two models to 0.5). However, if we had prior knowledge about how likely both models are, we could use the prior_prob argument to specify different prior model probabilities:

# compute posterior model probabilities (using user-specified prior model probabilities)
post2 <- post_prob(H0.bridge, H1.bridge, prior_prob = c(.6, .4))
print(post2)
## H0.bridge H1.bridge 
## 0.6634826 0.3365174
bridgesampling/inst/doc/bridgesampling_stan_ttest.R0000644000176200001440000001150413610011143022334 0ustar liggesusers## ----------------------------------------------------------------------------- library(bridgesampling) set.seed(12345) # Sleep data from t.test example data(sleep) # compute difference scores y <- sleep$extra[sleep$group == 2] - sleep$extra[sleep$group == 1] n <- length(y) ## ---- eval=FALSE-------------------------------------------------------------- # library(rstan) # # # models # stancodeH0 <- ' # data { # int n; // number of observations # vector[n] y; // observations # } # parameters { # real sigma2; // variance parameter # } # model { # target += log(1/sigma2); // Jeffreys prior on sigma2 # target += normal_lpdf(y | 0, sqrt(sigma2)); // likelihood # } # ' # stancodeH1 <- ' # data { # int n; // number of observations # vector[n] y; // observations # real r; // Cauchy prior scale # } # parameters { # real delta; # real sigma2;// variance parameter # } # model { # target += cauchy_lpdf(delta | 0, r); // Cauchy prior on delta # target += log(1/sigma2); // Jeffreys prior on sigma2 # target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood # } # ' # # compile models # stanmodelH0 <- stan_model(model_code = stancodeH0, model_name="stanmodel") # stanmodelH1 <- stan_model(model_code = stancodeH1, model_name="stanmodel") ## ---- eval=FALSE-------------------------------------------------------------- # # fit models # stanfitH0 <- sampling(stanmodelH0, data = list(y = y, n = n), # iter = 20000, warmup = 1000, chains = 4, cores = 1, # control = list(adapt_delta = .99)) # stanfitH1 <- sampling(stanmodelH1, data = list(y = y, n = n, r = 1/sqrt(2)), # iter = 20000, warmup = 1000, chains = 4, cores = 1, # control = list(adapt_delta = .99)) ## ---- echo=FALSE-------------------------------------------------------------- load(system.file("extdata/", "vignette_stan_ttest.RData", package = "bridgesampling")) ## ---- eval=FALSE-------------------------------------------------------------- # H0 <- bridge_sampler(stanfitH0, silent = TRUE) # H1 <- bridge_sampler(stanfitH1, silent = TRUE) ## ----------------------------------------------------------------------------- print(H0) print(H1) ## ----eval=FALSE--------------------------------------------------------------- # # compute percentage errors # H0.error <- error_measures(H0)$percentage # H1.error <- error_measures(H1)$percentage ## ----------------------------------------------------------------------------- print(H0.error) print(H1.error) ## ----------------------------------------------------------------------------- # compute Bayes factor BF10 <- bf(H1, H0) print(BF10) ## ---- eval=FALSE-------------------------------------------------------------- # library(BayesFactor) # BF10.BayesFactor <- extractBF(ttestBF(y), onlybf = TRUE) ## ---- message=FALSE----------------------------------------------------------- print(BF10.BayesFactor) ## ---- eval=FALSE-------------------------------------------------------------- # stancodeHplus <- ' # data { # int n; // number of observations # vector[n] y; // observations # real r; // Cauchy prior scale # } # parameters { # real delta; // constrained to be positive # real sigma2;// variance parameter # } # model { # target += cauchy_lpdf(delta | 0, r) - cauchy_lccdf(0 | 0, r); // Cauchy prior on delta # target += log(1/sigma2); // Jeffreys prior on sigma2 # target += normal_lpdf(y | delta*sqrt(sigma2), sqrt(sigma2)); // likelihood # } # ' # # compile and fit model # stanmodelHplus <- stan_model(model_code = stancodeHplus, model_name="stanmodel") # stanfitHplus <- sampling(stanmodelHplus, data = list(y = y, n = n, r = 1/sqrt(2)), # iter = 30000, warmup = 1000, chains = 4, # control = list(adapt_delta = .99)) ## ----eval=FALSE--------------------------------------------------------------- # Hplus <- bridge_sampler(stanfitHplus, silent = TRUE) ## ----------------------------------------------------------------------------- print(Hplus) ## ----eval=FALSE--------------------------------------------------------------- # Hplus.error <- error_measures(Hplus)$percentage ## ----------------------------------------------------------------------------- print(Hplus.error) ## ----------------------------------------------------------------------------- # compute Bayes factor BFplus0 <- bf(Hplus, H0) print(BFplus0) ## ---- eval=FALSE-------------------------------------------------------------- # BFplus0.BayesFactor <- extractBF(ttestBF(y, nullInterval = c(0, Inf)), onlybf = TRUE)[1] ## ----------------------------------------------------------------------------- print(BFplus0.BayesFactor) bridgesampling/inst/extdata/0000755000176200001440000000000013360614034015650 5ustar liggesusersbridgesampling/inst/extdata/vignette_example_nimble.RData0000644000176200001440000000052213360614034023452 0ustar liggesusers r0b```b`f@& `d`aҜzIE) @v )8tx A `/ḾbMX˚Z 5&WYZ$7$#?c.44D0L#90 nF g׶DR3X>$av<0M`13RPkU-+P-b'7Ch2+l.Z`agJJ @8řܹ)9) 3`?Fr?##+g^Pv-n' #O`p1V0^J&bridgesampling/inst/extdata/vignette_example_jags.RData0000644000176200001440000000052513360614034023133 0ustar liggesusers r0b```b`f@& `d`aҜzIE) @v )8tD3w`$rsp(ֲ%Cb Ud,M-O L#8!jdnarNb1Ba>g,8̻ƒE`aO`A4ZT_@DC!NfFY a C/w9jH\`!ϔ0px3)-;۹sSRsfFLAZ_\Lde>nyLxa܊:榽HlQ#}Sr`,bridgesampling/inst/extdata/vignette_stan_ttest.RData0000644000176200001440000000056713360614034022672 0ustar liggesusers r0b```b`f@& `d`a{000 Y@9`rPM* w`$lyE9PU iXsSFsss*2KR`䦖d@y̅i52B09'f!IE)@?0ovLi0;գ 6csx030TPmU5;P)rnp2 ]4n'y;VLě ` ΤxXx:77?%5'92! #ٝ@^tAr;)Єϭ@sJL-vKL.G 4\i{AS/ V-q9;߀ѽSAlbridgesampling/inst/extdata/vignette_example_stan.RData0000644000176200001440000000052513360614034023154 0ustar liggesusers r0b```b`f@& `d`aҜzIE) @v )8tDdA `/ḾbMX˚Z 5&WYZ$7$#?c.44D0L#90 nF ! 9i"(]*jCLU8BÔ _no[  &~4׀akIi0ߡΝ03f"ւ?@g$=g}v20[TI\+̣! Wx