lme4/0000755000176200001440000000000013217023665011120 5ustar liggesuserslme4/inst/0000755000176200001440000000000013216511171012066 5ustar liggesuserslme4/inst/CITATION0000644000176200001440000000172712650276557013253 0ustar liggesusersbibentry(bibtype = "Article", title = "Fitting Linear Mixed-Effects Models Using {lme4}", author = c(person(given = "Douglas", family = "Bates"), person(given = "Martin", family = "M{\\\"a}chler"), person(given = "Ben", family = "Bolker"), person(given = "Steve", family = "Walker")), journal = "Journal of Statistical Software", year = "2015", volume = "67", number = "1", pages = "1--48", doi = "10.18637/jss.v067.i01", header = "To cite lme4 in publications use:", textVersion = paste("Douglas Bates, Martin Maechler, Ben Bolker, Steve Walker (2015).", "Fitting Linear Mixed-Effects Models Using lme4.", "Journal of Statistical Software, 67(1), 1-48.", "doi:10.18637/jss.v067.i01.") ) lme4/inst/NEWS.Rd0000644000176200001440000010615013215251605013136 0ustar liggesusers\newcommand{\PR}{\Sexpr[results=rd]{tools:::Rd_expr_PR(#1)}} \name{NEWS} \title{lme4 News} \encoding{UTF-8} \section{CHANGES IN VERSION 1.1-15}{ \subsection{BUG FIXES}{ \itemize{ \item \code{model.frame(., fixed.only=TRUE)} now handles models with "non-syntactic" (e.g. space-containing/backtick-delimited) variables in the formula. \item \code{confint()} now works again for the default method \code{"profile"}. } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item exported \code{dotplot.ranef.mer} } } } \section{CHANGES IN VERSION 1.1-14 (2017-09-27)}{ Primarily an R-devel/CRAN-compatibility release. \subsection{NEW FEATURES}{ \itemize{ \item added \code{transf} argument to \code{dotplot.ranef.mer} to allow back-transformation (Ferenci Tamás, GH #134) \item added \code{as.data.frame.ranef.mer} convenience method \item user can specify initial value for overdispersion parameter in \code{glmer.nb} (Timothy Lau, GH #423) } } \subsection{BUG FIXES}{ \itemize{ \item fix bug where NAs in fitting data were carried over into predictions on new data (!) (lmwang9527, GH #420) \item fix bug with long terms in models with || notation \item \code{nlmer} now respects user-specified lower/upper bounds (GH #432) \item \code{confint.thpr} (confint method applied to an already-computed profile now respects "theta_"/"beta_" specifications to return all random-effect or all fixed-effect confidence intervals, respectively. } } \subsection{DOCUMENTATION IMPROVEMENTS}{ \itemize{ \item document need to export packages and objects to workers when using \code{bootMer} with snow } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item improved warning message when using \code{lmerControl()} with \code{glmer} (GH #415) \item avoid deparsing big data frames when checking data (GH #410) \item pass \code{verbose} options to nloptr optimizers when using \code{nloptwrap} (previously ignored, with a warning) \item the \code{fl} (factor list) component of \code{mkReTrms} objects is now returned as a list rather than a data frame } } } \section{CHANGES IN VERSION 1.1-13 (2017-04-18) }{ \subsection{NEW FEATURES}{ \itemize{ \item added \code{prof.scale} argument to \code{profile.merMod}, documented caveats about using \code{varianceProf}/\code{logProf} transformation methods for correlation parameters } } \subsection{BUG FIXES}{ \itemize{ \item suppressed spurious contrast-dropping warning (GH #414) \item fixed bug in \code{confint.lmList4} (GH #26) \item fixed bug when \code{FUN} returned an unnamed vector in \code{confint(.,FUN=FUN,method="boot")} \item fixed small bug relating to \code{nAGQ0initStep=FALSE} } } \subsection{CRAN-COMPATIBILITY UPDATES}{ \itemize{ \item fixed time stamps on compiled versions of vignettes } } } \section{CHANGES IN VERSION 1.1-12 (2016-04-15)}{ This release is primarily a bump for compatibility with the new Windows toolchain. Some small documentation and test changes. \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item reduced default print precision of fixed-effect correlation matrix in \code{summary.merMod} (related to GH #300) } } \subsection{BUG FIXES}{ \itemize{ \item fixed bug in \emph{de novo} Gamma-response simulations } } } \section{CHANGES IN VERSION 1.1-11 (2016-02-11)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item change \code{VarCorr} method signature (for compatibility with upstream \code{nlme} changes) } } \subsection{BUG FIXES}{ \itemize{ \item several \code{glmer.nb} bugs fixed (generally not changing results, but causing warnings and errors e.g. during bootstrapping) \item fixes to some \code{lmList} bugs (Github #320) \item minor documentation, vignette updates \item minor fix to \code{plot.merMod} with \code{id} specified \item \code{bootMer} now handles separate offset term properly (Github #250) } } } \section{CHANGES IN VERSION 1.1-10 (2015-10-05)}{ This release is primarily a version bump for the release of the paper in J. Stat. Software. \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item updated CITATION file. } } \subsection{NEW FEATURES}{ \itemize{ \item We export set of about a dozen printing utility functions which are used in our \code{print} methods. \item \code{bootMer} now allows the use of \code{re.form}. } } \subsection{BUG FIXES}{ \itemize{ \item fixed reordering bug in names of \code{getME(.,"Ztlist")} (terms are reordered in decreasing order of the number of levels of the grouping variable, but names were not being reordered) \item fixed issue with simulation when complex forms (such as nested random effects terms) are included in the model (Github #335) } } } \section{CHANGES IN VERSION 1.1-9 (2015-08-20)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item explicit \code{maxit} arguments for various functions (\code{refit}, \code{mkGlmerDevfun}, ...) } } \subsection{NEW FEATURES}{ \itemize{ \item \code{terms} and \code{formula} methods now have \code{random.only} options \item \code{getME} gains a \code{glmer.nb.theta} option. It is now (an S3) generic with an \code{"merMod"} method in \pkg{lme4} and potentially other methods in dependent packages. \item \code{simulate} now works for \code{glmer.nb} models (Github #284: idea from @aosmith16) } } \subsection{BUG FIXES}{ \itemize{ \item prediction and simulation now work when random-effects terms have data-dependent bases (e.g., \code{poly(.)} or \code{ns(.)} terms) (Github #313, Edgar Gonzalez) \item \code{logLik} for \code{glmer.nb} models now includes the overdispersion parameter in the parameter count (\code{df} attribute) \item \code{lmList} handles offsets and weights better \item lots of fixes to \code{glmer.nb} (Github #176, #266, #287, #318). \strong{Please note that glmer.nb is still somewhat unstable/under construction.} } } \subsection{CRAN-COMPATIBILITY UPDATES}{ \itemize{ \item import functions from base packages to pass CRAN checks \item tweak to failing tests on Windows } } } \section{CHANGES IN VERSION 1.1-8 (2015-06-22)}{ \subsection{NEW FEATURES}{ \itemize{ \item \code{getME} gains a \code{"Tlist"} option (returns a vector of template matrices from which the blocks of \code{Lambda} are generated) \item \code{hatvalues} method returns the diagonal of the hat matrix of LMMs \item \code{nlminbwrap} convenience function allows use of \code{nlminb} without going through the \code{optimx} package \item \code{as.data.frame.VarCorr.merMod} gains an \code{order} option that allows the results to be sorted with variances first and covariances last (default) or in lower-triangle order \item allow more flexibility in \code{scales} for \code{xyplot.thpr} method (John Maindonald) \item models with only random effects of the form \code{1|f} have better starting values for \code{lmer} optimization (Gabor Grothendieck) \item \code{glmer} now allows a logical vector as the response for binomial models \item \code{anova} will now do (sequential) likelihood ratio tests for two or more models including both \code{merMod} and \code{glm} or \code{lm} models (at present, only for GLMMs fitted with the Laplace approximation) } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{deviance()} now returns the deviance, rather than half the negative log-likelihood, for GLMMs fitted with Laplace (the behaviour for LMMs and GLMMs fitted with \code{nAGQ>1} has not changed) \item convergence warning and diagnostic test issues are now reported in \code{print} and \code{summary} methods \item \code{update} now (attempts to) re-evaluate the original fit in the environment of its formula (as is done with \code{drop1}) \item \code{refit} of a nonlinear mixed model fit now throws an error, but this will hopefully change in future releases (related to bug fixes for Github #231) \item \code{lmList} now returns objects of class \code{lmList4}, to avoid overwriting \code{lmList} methods from the recommended \code{nlme} package \item names of random effects parameters in \code{confint} changed (modified for consistency across methods); \code{oldNames=TRUE} (default) gives \code{".sig01"}-style names, \code{oldNames=FALSE} gives \code{"sd_(Intercept)|Subject"}-style names \item \code{confint(.,method="Wald")} result now contains rows for random effects parameters (values set to \code{NA}) as well as for fixed-effect parameters } } \subsection{BUG FIXES}{ \itemize{ \item \code{simulate} and \code{predict} now work more consistently with different-length data, differing factor levels, and \code{NA} values (Github #153, #197, #246, #275) \item \code{refit} now works correctly for \code{glmer} fits (Github #231) \item fixed bug in \code{family.merMod}; non-default links were not retrieved correctly (Alessandro Moscatelli) \item fixed \code{bootMer} bug for \code{type=="parametric"}, \code{use.u=TRUE} (Mark Lai) \item gradient scaling for convergence checks now uses the Cholesky factor of the Hessian; while it is more correct, this will lead to some additional (probably false-positive) convergence warnings \item As with \code{lm()}, users now get an error for non-finite (\code{Inf}, \code{NA}, or \code{NaN}) values in the response unless \code{na.action} is set to exclude or omit them (Github #310) } } } \section{CHANGES IN VERSION 1.1-7 (2014-07-19)}{ \subsection{NEW FEATURES}{ \itemize{ \item the \code{nloptr} package is now imported; a wrapper function (\code{nloptwrap}) is provided so that \code{lmerControl(optimizer="nloptwrap")} is all that's necessary to use \code{nloptr} optimizers in the nonlinear optimization stage (the default algorithm is NLopt's implementation of BOBYQA: see \code{?nloptwrap} for examples) \item preliminary implementation of checks for scaling of model matrix columns (see \code{check.scaleX} in \code{?lmerControl}) \item \code{beta} is now allowed as a synonym for \code{fixef} when specifying starting parameters (Github #194) } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item the use of \code{deviance} to return the REML criterion is now deprecated; users should use \code{REMLcrit()} instead (Github #211) \item changed the default value of \code{check.nobs.vs.rankZ} to \code{"ignore"} (Github #214) } } \subsection{BUG FIXES}{ \itemize{ \item change gradient testing from absolute to relative \item fix \code{confint(.,method="boot")} to allow/work properly with \code{boot.type} values other than \code{"perc"} (reported by Alan Zaslavsky) \item allow \code{plot()} to work when data are specified in a different environment (reported by Dieter Menne) \item \code{predict} and \code{simulate} work for matrix-valued predictors (Github #201) \item other \code{simulate} bugs (Github #212) \item \code{predict} no longer warns spuriously when original response was a factor (Github #205) \item fix memory access issues (Github #200) } } } \section{CHANGES IN VERSION 1.1-6 (2014-04-13)}{ This version incorporates no changes in functionality, just modifications to testing and dependencies for CRAN/backward compatibility. \subsection{BUG FIXES}{ \itemize{ \item change \code{drop1} example to prevent use of old/incompatible \code{pbkrtest} versions, for 2.15.3 compatibility \item explicitly \code{require(mlmRev)} for tests to prevent cyclic dependency \item bump \code{RcppEigen} Imports: requirement from >0.3.1.2.3 to >=0.3.2.0; \code{Rcpp} dependency to >= 0.10.5 } } } \section{CHANGES IN VERSION 1.1-5 (2014-03-14)}{ \subsection{BUG FIXES}{ \itemize{ \item improved NA handling in \code{simulate} and \code{refit} \item made internal handling of \code{weights}/\code{offset} arguments slightly more robust (Github #191) \item handle non-positive-definite estimated fixed effect variance-covariance matrices slightly more generally/robustly (fall back on RX approximation, with a warning, if finite-difference Hessian is non-PD; return \code{NA} matrix if RX approximation is also bad) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item Added output specifying when Gauss-Hermite quadrature was used to fit the model, and specifying number of GHQ points (Github #190) } } } \section{CHANGES IN VERSION 1.1-4}{ \subsection{BUG FIXES}{ \itemize{ \item Models with prior weights returned an incorrect sigma and deviance (Github issue #155). The deviance bug was only a practical issue in model comparisons, not with inferences given a particular model. Both bugs are now fixed. \item Profiling failed in some cases for models with vector random effects (Github issue #172) \item Standard errors of fixed effects are now computed from the approximate Hessian by default (see the \code{use.hessian} argument in \code{vcov.merMod}); this gives better (correct) answers when the estimates of the random- and fixed-effect parameters are correlated (Github #47) } } \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item The default optimizer for \code{lmer} fits has been switched from "Nelder_Mead" to "bobyqa" because we have generally found the latter to be more reliable. To switch back to the old behaviour, use \code{control=lmerControl(optimizer="Nelder_Mead")}. \item Better handling of rank-deficient/overparameterized fixed-effect model matrices; see \code{check.rankX} option to \code{[g]lmerControl}. The default value is "message+drop.cols", which automatically drops redundant columns and issues a message (not a warning). (Github #144) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item slight changes in convergence checking; tolerances can be specified where appropriate, and some default tolerances have changed (e.g., \code{check.conv.grad}) \item improved warning messages about rank-deficiency in X and Z etc. (warnings now try to indicate whether the unidentifiability is in the fixed- or random-effects part of the model) \item \code{predict} and \code{simulate} now prefer \code{re.form} as the argument to specify which random effects to condition on, but allow \code{ReForm}, \code{REForm}, or \code{REform}, giving a message (not a warning) that they are deprecated (addresses Github #170) \item small fixes for printing consistency in models with no fixed effects \item we previously exported a \code{fortify} function identical to the one found in \code{ggplot2} in order to be able to define a \code{fortify.merMod} S3 method without inducing a dependency on \code{ggplot2}. This has now been unexported to avoid masking \code{ggplot2}'s own \code{fortify} methods; if you want to add diagnostic information to the results of a model, use \code{fortify.merMod} explicitly. \item \code{simulate.formula} now checks for names associated with the \code{theta} and \code{beta} parameter vectors. If missing, it prints a message (not a warning); otherwise, it re-orders the parameter vectors to match the internal representation. \item preliminary implementation of a \code{check.scaleX} argument in \code{[g]lmerControl} that warns about scaling if some columns of the fixed-effect model matrix have large standard deviations (relative to 1, or to each other) } } } \section{CHANGES IN VERSION 1.1-3}{ \subsection{NEW FEATURES}{ \itemize{ \item The gradient and Hessian are now computed via finite differencing after the nonlinear fit is done, and the results are used for additional convergence tests. Control of the behaviour is available through the \code{check.conv.*} options in \code{[g]lmerControl}. Singular fits (fits with estimated variances of zero or correlations of +/- 1) can also be tested for, although the current default value of the \code{check.conv.singular} option is \code{"ignore"}; this may be changed to \code{"warning"} in the future. The results are stored in \code{@optinfo$derivs}. (Github issue #120; based on code by Rune Christensen.) \item The \code{simulate} method will now work to generate simulations "from scratch" by providing a model formula, a data frame holding the predictor variables, and a list containing the values of the model parameters: see \code{?simulate.merMod}. (Github issue #115) \item \code{VarCorr.merMod} objects now have an \code{as.data.frame} method, converting the list of matrices to a more convenient form for reporting and post-processing. (Github issue #129) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item results of \code{fitted()}, \code{predict()}, and \code{residuals()} now have names in all cases (previously results were unnamed, or named only when predicting from new data) \item the \code{anova} method now has a \code{refit} argument that controls whether objects of class \code{lmerMod} should be refitted with ML before producing the \code{anova} table. (Github issues #141, #165; contributed by Henrik Singmann.) \item the \code{print} method for \code{VarCorr} objects now has a \code{formatter} argument for finer control of standard deviation and variance formats \item the \code{optinfo} slot now stores slightly more information, including the number of function evaluations (\code{$feval}). \item \code{dotplot.ranef.mer} now adds titles to sub-plots by default, like \code{qqmath.ranef.mer} } } \subsection{BUG FIXES}{ \itemize{ \item \code{fitted} now respects \code{na.action} settings (Github issue #149) \item \code{confint(.,method="boot")} now works when there are \code{NA} values in the original data set (Github issue #158) \item previously, the code stored the results (parameter values, residuals, etc.) based on the \emph{last} set of parameters evaluated, rather than the optimal parameters. These were not always the same, but were almost always very close, but some previous results will change slightly (Github issue #166) } } } \section{CHANGES IN VERSION 1.1-0}{ \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item when using the default \code{method="profile"}, \code{confint} now returns appropriate upper/lower bounds (-1/1 for correlations, 0/Inf for standard deviations) rather than \code{NA} when appropriate } } \subsection{BUG FIXES}{ \itemize{ \item in a previous development version, \code{ranef} returned incorrect conditional variances (github issue #148). this is now fixed } } } \section{CHANGES IN VERSION 1.0-6 (2014-02-02)}{ \subsection{BUG FIXES}{ \itemize{ \item prediction now works when new data have fewer factor levels than are present in the original data (Github issue #143, reported by Rune Haubo) \item the existence of a variable "new" in the global environment would mess \code{lme4} up: reported at \url{http://stackoverflow.com/questions/19801070/error-message-glmer-using-r-what-must-be-a-character-string-or-a-function} } } } \section{CHANGES IN VERSION 1.0-5 (2013-10-24)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{confint.merMod} and \code{vcov.merMod} are now exported, for downstream package-author convenience \item the package now depends on Matrix >=1.1-0 and RcppEigen >=0.3.1.2.3 \item new \code{rename.response} option for \code{refit} (see BUG FIXES section) } } \subsection{BUG FIXES}{ \itemize{ \item eliminated redundant messages about suppressed fixed-effect correlation matrices when p>20 \item most inverse-link functions are now bounded where appropriate by \code{.Machine$double.eps}, allowing fitting of GLMMs with extreme parameter values \item \code{merMod} objects created with \code{refit} did not work with \code{update}: optional \code{rename.response} option added to \code{refit.merMod}, to allow this (but the default is still \code{FALSE}, for back-compatibility) (reported by A. Kuznetsova) \item fixed buglet preventing on-the-fly creation of index variables, e.g. \code{y~1+(1|rownames(data))} (reported by J. Dushoff) \item \code{predict} now works properly for \code{glmer} models with basis-creating terms (e.g. \code{poly}, \code{ns}) \item step sizes determined from fixed effect coefficient standard errors after first state of \code{glmer} fitting are now bounded, allowing some additional models to be fitted } } } \section{CHANGES IN VERSION 1.0-4 (2013-09-08)}{ \subsection{BUG FIXES}{ \itemize{ \item \code{refit()} now works, again, with lists of length 1, so that e.g. \code{refit(.,simulate(.))} works. (Reported by Gustaf Granath) \item \code{getME(.,"ST")} was returning a list containing the Cholesky factorizations that get repeated in Lambda. But this was inconsistent with what \code{ST} represents in \code{lme4.0}. This inconsistency has now been fixed and \code{getME(.,"ST")} is now consistent with the definition of the \code{ST} matrix in \code{lme4.0}. See \code{https://github.com/lme4/lme4/issues/111} for more detail. Thanks to Vince Dorie. \item Corrected order of unpacking of standard deviation/correlation components, which affected results from \code{confint(.,method="boot")}. (Reported by Reinhold Kliegl) \item fixed a copying bug that made \code{refitML()} modify the original model } } } \section{CHANGES IN VERSION 1.0-1 (2013-08-17)}{ \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item \code{check.numobs.*} and \code{check.numlev.*} in \code{(g)lmerControl} have been changed (from recent development versions) to \code{check.nobs.*} and \code{check.nlev.*} respectively, and the default values of \code{check.nlev.gtreq.5} and \code{check.nobs.vs.rankZ} have been changed to \code{"ignore"} and \code{"warningSmall"} respectively \item in \code{(g)lmerControl}, arguments to the optimizer should be passed as a list called \code{optCtrl}, rather than specified as additional (ungrouped) arguments \item the \code{postVar} argument to \code{ranef} has been changed to the (more sensible) \code{condVar} ("posterior variance" was a misnomer, "conditional variance" -- short for "variance of the conditional mode" -- is preferred) \item the \code{REform} argument to \code{predict} has been changed to \code{ReForm} for consistency \item the \code{tnames} function, briefly exported, has been unexported \item \code{getME(.,"cnms")} added \item \code{print} method for \code{merMod} objects is now more terse, and different from \code{summary.merMod} \item the \code{objective} method for the \code{respMod} reference class now takes an optional \code{sigma.sq} parameter (defaulting to \code{NULL}) to allow calculation of the objective function with a residual variance different from the profiled value (Vince Dorie) } } } \section{CHANGES IN VERSION 1.0-0 (2013-08-01)}{ \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item Because the internal computational machinery has changed, results from the newest version of \code{lme4} will not be numerically identical to those from previous versions. For reasonably well- defined fits, they will be extremely close (within numerical tolerances of 1e-4 or so), but for unstable or poorly-defined fits the results may change, and very unstable fits may fail when they (apparently) succeeded with previous versions. Similarly, some fits may be slower with the new version, although on average the new version should be faster and more stable. More numerical tuning options are now available (see below); non-default settings may restore the speed and/or ability to fit a particular model without an error. If you notice significant or disturbing changes when fitting a model with the new version of \code{lme4}, \emph{please notify the maintainers}. \item \code{VarCorr} returns its results in the same format as before (as a list of variance-covariance matrices with \code{correlation} and \code{stddev} attributes, plus a \code{sc} attribute giving the residual standard deviation/scale parameter when appropriate), but prints them in a different (nicer) way. \item By default \code{residuals} gives deviance (rather than Pearson) residuals when applied to \code{glmer} fits (a side effect of matching \code{glm} behaviour more closely). \item As another side effect of matching \code{\link{glm}} behaviour, reported log-likelihoods from \code{\link{glmer}} models are no longer consistent with those from pre-1.0 \code{lme4}, but \emph{are} consistent with \code{glm}; see \code{\link{glmer}} examples. } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item More use is made of S3 rather than S4 classes and methods: one side effect is that the \code{nlme} and \code{lme4} packages are now much more compatible; methods such as \code{fixef} no longer conflict. \item The internal optimizer has changed. \code{[gn]lmer} now has an \code{optimizer} argument; \code{"Nelder_Mead"} is the default for \code{[n]lmer}, while a combination of \code{"bobyqa"} (an alternative derivative-free method) and \code{"Nelder_Mead"} is the default for \code{glmer}. To use the \code{nlminb} optimizer as in the old version of \code{lme4}, you can use \code{optimizer="optimx"} with \code{control=list(method="nlminb")} (you will need the \code{optimx} package to be installed and loaded). See \code{\link{lmerControl}} for details. \item Families in GLMMs are no longer restricted to built-in/hard- coded families; any family described in \code{\link{family}}, or following that design, is usable (although there are some hard-coded families, which will be faster). \item \code{[gn]lmer} now produces objects of class \code{merMod} rather than class \code{mer} as before. \item the structure of the \code{Zt} (transposed random effect design matrix) as returned by \code{getME(.,"Zt")}, and the corresponding order of the random effects vector (\code{getME(.,"u")}) have changed. To retrieve \code{Zt} in the old format, use \code{do.call(Matrix::rBind,getME(.,"Ztlist"))}. \item the package checks input more thoroughly for non-identifiable or otherwise problematic cases: see \code{\link{lmerControl}} for fine control of the test behaviour. } } \subsection{NEW FEATURES}{ \itemize{ \item A general-purpose \code{\link{getME}} accessor method allows extraction of a wide variety of components of a mixed-model fit. \code{getME} also allows a vector of objects to be returned as a list of mixed-model components. This has been backported to be compatible with older versions of \code{lme4} that still produce \code{mer} objects rather than \code{merMod} objects. However, backporting is incomplete; some objects are only extractable in newer versions of \code{lme4}. \item Optimization information (convergence codes, warnings, etc.) is now stored in an \code{@optinfo} slot. \item \code{\link{bootMer}} provides a framework for obtaining parameter confidence intervals by parametric bootstrapping. \item \code{\link{plot.merMod}} provides diagnostic plotting methods similar to those from the \code{nlme} package (although missing \code{augPred}). \item A \code{\link{predict.merMod}} method gives predictions; it allows an effect-specific choice of conditional prediction or prediction at the population level (i.e., with random effects set to zero). \item Likelihood profiling for \code{lmer} and \code{glmer} results (see \code{link{profile-methods}}). \item Confidence intervals by likelihood profiling (default), parametric bootstrap, or Wald approximation (fixed effects only): see \code{\link{confint.merMod}} \item \code{nAGQ=0}, an option to do fast (but inaccurate) fitting of GLMMs. \item Using \code{devFunOnly=TRUE} allows the user to extract a deviance function for the model, allowing further diagnostics/customization of model results. \item The internal structure of [gn]lmer is now more modular, allowing finer control of the different steps of argument checking; construction of design matrices and data structures; parameter estimation; and construction of the final \code{merMod} object (see \code{?modular}). \item the \code{formula}, \code{model.frame}, and \code{terms} methods return full versions (including random effect terms and input variables) by default, but a \code{fixed.only} argument allows access to the fixed effect submodel. } } \subsection{EXPERIMENTAL FEATURES}{ \itemize{ \item \code{\link{glmer.nb}} provides an embryonic negative binomial fitting capability. } } \subsection{STILL NON-EXISTENT FEATURES}{ \itemize{ \item Adaptive Gaussian quadrature (AGQ) is not available for multiple and/or non-scalar random effects. \item Posterior variances of conditional models for non-scalar random effects. \item Standard errors for \code{\link{predict.merMod}} results. \item Automatic MCMC sampling based on the fit turns out to be very difficult to implement in a way that is really broadly reliable and robust; \code{mcmcsamp} will not be implemented in the near future. See \code{\link{pvalues}} for alternatives. \item "R-side" structures (within-block correlation and heteroscedasticity) are not on the current timetable. } } \subsection{BUG FIXES}{ \itemize{ \item In a development version, prior weights were not being used properly in the calculation of the residual standard deviation, but this has been fixed. Thanks to Simon Wood for pointing this out. \item In a development version, the step-halving component of the penalized iteratively reweighted least squares algorithm was not working, but this is now fixed. \item In a development version, square \code{RZX} matrices would lead to a \code{pwrssUpdate did not converge in 30 iterations} error. This has been fixed by adding an extra column of zeros to \code{RZX}. } } \subsection{DEPRECATED AND DEFUNCT}{ \itemize{ \item Previous versions of \code{lme4} provided the \code{mcmcsamp} function, which efficiently generated a Markov chain Monte Carlo sample from the posterior distribution of the parameters, assuming flat (scaled likelihood) priors. Due to difficulty in constructing a version of \code{mcmcsamp} that was reliable even in cases where the estimated random effect variances were near zero (e.g. \url{https://stat.ethz.ch/pipermail/r-sig-mixed-models/2009q4/003115.html}), \code{mcmcsamp} has been withdrawn (or more precisely, not updated to work with \code{lme4} versions >=1.0). \item Calling \code{glmer} with the default \code{gaussian} family redirects to \code{lmer}, but this is deprecated (in the future \code{glmer(...,family="gaussian")} may fit a LMM using the penalized iteratively reweighted least squares algorithm). Please call \code{lmer} directly. \item Calling \code{lmer} with a \code{family} argument redirects to \code{glmer}; this is deprecated. Please call \code{glmer} directly. } } } \section{CHANGES IN VERSION 0.999375-16 (2008-06-23)}{ \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item The underlying algorithms and representations for all the mixed-effects models fit by this package have changed - for the better, we hope. The class "mer" is a common mixed-effects model representation for linear, generalized linear, nonlinear and generalized nonlinear mixed-effects models. \item ECME iterations are no longer used at all, nor are analytic gradients. Components named 'niterEM', 'EMverbose', or 'gradient' can be included in the 'control' argument to lmer(), glmer() or nlmer() but have no effect. \item PQL iterations are no longer used in glmer() and nlmer(). Only the Laplace approximation is currently available. AGQ, for certain classes of GLMMs or NLMMs, is being added. \item The 'method' argument to lmer(), glmer() or nlmer() is deprecated. Use the 'REML = FALSE' in lmer() to obtain ML estimates. Selection of AGQ in glmer() and nlmer() will be controlled by the argument 'nAGQ', when completed. } } \subsection{NEW FEATURES}{ \itemize{ \item The representation of mixed-effects models has been dramatically changed to allow for smooth evaluation of the objective as the variance-covariance matrices for the random effects approach singularity. Beta testers found this representation to be more robust and usually faster than previous versions of lme4. \item The mcmcsamp function uses a new sampling method for the variance-covariance parameters that allows recovery from singularity. The update is not based on a sample from the Wishart distribution. It uses a redundant parameter representation and a linear least squares update. \item CAUTION: Currently the results from mcmcsamp look peculiar and are probably incorrect. I hope it is just a matter of my omitting a scaling factor but I have seen patterns such as the parameter estimate for some variance-covariance parameters being the maximum value in the chain, which is highly unlikely. \item The 'verbose' argument to lmer(), glmer() and nlmer() can be used instead of 'control = list(msVerbose = TRUE)'. } } } lme4/inst/vignettedata/0000755000176200001440000000000012225565275014562 5ustar liggesuserslme4/inst/vignettedata/calcium.txt0000754000176200001440000000233212213177042016726 0ustar liggesusersPlant Leaf Det Calcium 1 1 1 3.28 1 1 2 3.09 1 2 1 3.52 1 2 2 3.48 1 3 1 2.88 1 3 2 2.80 2 1 1 2.46 2 1 2 2.44 2 2 1 1.87 2 2 2 1.92 2 3 1 2.19 2 3 2 2.19 3 1 1 2.77 3 1 2 2.66 3 2 1 3.74 3 2 2 3.44 3 3 1 2.55 3 3 2 2.55 4 1 1 3.78 4 1 2 3.87 4 2 1 4.07 4 2 2 4.12 4 3 1 3.31 4 3 2 3.31 lme4/inst/vignettedata/mcmcsampdat.RData0000754000176200001440000107527412213623321017772 0ustar liggesusers\y}"5PKHXt}s? Cb=a~ܗ>mz[X^m, Kz Z@m+ȇxľ(6{lM]!EwY{U`n3wXc8&m̭|rs6߳qAXuK- R3b@=A5{%Hu? )sB3l;j=z~ uF;xb$8~^bA1.fc~oܫ \N|u184?1߸OAjFnL@ٶ_#bEm57+Ǧ;iz^`ƹۚ=Ҝ~ 4u`8X >pg5΀GK"n?~X.Ec[.Y;4N VBbh=do_X$WG Њ ciʅnG k^*#_%ZB65>+qx3@s%nL~jЧtD2%;]z f>S 8fËe=ЯݘPwuQ@z7?H ZstZy^,Z W+ 7LF> M~@P=gyus#OLsW ` 1;t%Gvi ֪!0V𲰴C i0pzrJ-"~Rdͧ. Lm' v!OO{) ޼`ihI1!X "۝9u!Fjkbq?+ $Dc#^t*թZ]x^h"V *pA!~ej\Qh­ EIF-Ioc(?uU%MY. l~ᤃc{Ns`Oo5u#юJM2 zɥkA} ж;9T::&vo n=p}A7\ر0}mrWU*} 99{sv,88_tOw[]r-6VyD~&Yw-Sy /MIłyx4}"B}GN"ς}z2FƿW *Ş`|$M?2l= 45 = {MlBot@tdz<EzS ]wq,\BOs犖E|@9tի+Ka\A>+o^}( ݡH9EȂ#A4<]KUԸތ Yc'?{n˔/>F9s!mL 'MkyWi:̪ sL~GY)ڎ-*CGGe<:>*@#ЭShM@)S[є%v2n*}@}Эr^HKɢ𷛯?ZMy )?[^&N&} mj6* wĥ_c.D=}~E XcG:~Ua-~˯CV`] jHNjџ _E׶"\;PpB zS偤;}y_8z~=?5dsг@/Y|h)$/Vv`&oU.7hmWF]ϕ@#Nk:^-eArPuY:AhcT_E9|΋شwZm0/]Oʐ鼈S `2ޚѮjS`r0sg/A5bz[`.itE 'hvaʩG]<>RQTJ9ðz8wG3΃ҶR|4y3ЩWܥF4eE lKj[00gEsHlz[8%{NWzMiu>`7^xk^!rdRjX:Q?>\a.{MOͺAe3s0XS\a;}Vo/7a3K8먂^-g7 ? Uܞj Eu`Nݕ5EZc4hhM|zfO=Ve4n] 0ld>*MVn?d꾒lUOw0rv+@{}mn}h&Tj+PjPb񅠈uId8{Ĺ714к[~DߜWNӭ&p߾zϟTZw!My5!xQuCg F5~H€z!}R$$~95"[ Tj@DB_T7|te^uJ~zæ26 Ǥbh%g6PC 8Ey6 +7EnT3 ӁtA[س|dbߺ@ | fk>}~Ȣ Дö\XQ rN>A826ؗU NJr=֎+ ^0įId[Ϗ#.O}PֆdȖϻNj:!2,vX]ꏚ zZ'z6\5QvycVP4[J77ܛ>#+LAZhW>nw!P~(tLRJ9Ֆ\%O_xHTGmq ̇7ŭFQ )#QU%DoJ0#жHA1yO "b ,pP4_JLp/ n=n}z gv,=^{px8KYFy>dE1Õfҧ0dfuj$c1lg `z:i]zC+4 RtcwN (md|RK")6`}g]opUʗV<5ɋ+Ai0S\}2sg2?NCI^3D)"zn\ܤ O%=`Wj% Š/;Ɔe_)C0F> sۓ?z>y`ݶ Tˆ޽EرQ(ىߋޱKYU;t͗F{~VGxk3!-@έM8q =e+нϪw],tܟ}V9z7Nd7$|QJP.:uG*e}_%)}WNU׼]8O,O̹E]KG߆ *EaJ`>O5wݱȿ_ e`JpunjFh7?M9"V`l4RZ2o:عk`/G9Oziۏ-ȻXޥFXwt3L\;)eC4hBZPt/c/kOm|Qjة)܏nz0e&⺙ ڗ!G"'u-GeI@.ls8WVFJS0ޞ`Y->x3мU(bʓjt zރ;΀o^%N?5߀.;o£Z*@ ikR]Rxr+X3Gz< ~2?#@s6R86Hg{uwrC9=u/ثLu @%+Zn}`h= /Ȼz.eD~EI]w7Hv"fNXHד u?>$)~#GGVPvH[& ΌJ@׭RwE>{B k oaFZl3=Vͨ5h3儎ϗ砇6H̴-A%]]!}^W+s`vpQpѻ ξnmt(ݨ :y'rB_L7UoKʾmT50qwɽXzzL:ŌE6)8Sܻ/<˖s&> ey`s1 p`/+Y;_k΁+` MXNUs$gL$'dHf#A~/~=z/yyf\o=Ղ+ꯈc Go N~&OPt˨c䳝GnwI6h'9E'S5znra+򺦯o-V: PDxg"G]J5&FV`iz\ ao^ "]I$x•D^9Mtӟ&Z<E!O=A']eK8Onuj6u )dɶ54^Vc0z~.B׆gjpC-Gon7D[g4Np~v@-T~%kûgjSr6O/* eV2{[q}'`NMr'L'.Q"|SO8nç4(׏lHͯkK/KN`u|5C9 irOc'koL*:y 8^ @[ҩ{Q&a,_٢+sM+=I_f)}ljE*ߣ;?(߲7/2nS{Sp[13@o"-Ywͭ7:ݬX0);M"<>QGq>Xs}\/Cu/ 敿Ϭ'AK ֟ w^Ld~ȃ`H5e۫D7^!P? cw}9D!YA@]f;g ꩟{[Y ڣVyV+n߆\ki5Z`:nxJ87͡1#c4K^nExod=-t#y}H3 ]{Ǿ[]]:mD 6j4q -2ܧB`8cTˮ;~`vW@2UImNha~..^O5WJ{M}ۀN.at}ӹ}c*ОK]ڏlXӹ_8Z;:zQCo]"ڶQooW1vX;5oXūj)݉UҊ|0eS!ХT$uT~֙9.:78GuS !Pwn$a溴ټN4w&4 i' ~}I?bBDw=4}.&Q&<ɵ9ڦWߜ ~}ْ05l:GTaKc-#`oYj0o;Ifphqk%Q#a1[*u@q@?pe :m3E3B?asfѥ7b>=lω3^^c4ZJ' vļUT -H۾jI1"BN5mI)+pVULZ]y,ŏ-\VOwؕ#juESMStOox$^}J =r TDwd{dPseMϑeD eׂRujL߲h{MGFyA|ȴnM/g, ԧmC^Tyh6.@һttà$ɮ_N7QN`N|2zzhRykD{AWK`0#+ާuQXV; Gb{[vBpKU~l NŜZ5!0ky [mE&a}n+IGRm |k%t)Ew0kobLF]KpHٝA/2*uJO2bdFp͹w}߃Sً`Z=+KrQga*k}A/ʜ/~9 :;Iq#샷=GB34~P {E1n,8 nTlMoj 1')hsH ;}vJx3+`9s yhA_x lzL*^6(rF@ur`L:t hyڧZݢ]uu-؞Ǟjă-^oLv~pi",]p ̎l`-2&T&? 6_4WW7]їFW@?Z7v]F|L&L:}Dϻ=\yul7"~"p 6e'ca+"El!gubnsInIӃA1Q}a9nHDxlcݏklo'jgo |6qm;X<lur 'x}`t^Y^͹!b84ӭkނN.'_͕ҧ1MޥN@hhO%0tӚC B *=ĺF'_.&DPW~iT:s9X wM#Љ [|Z=5ğb%UY? ~~ޗ i~& yP[R*=ӋZֻljVOS܈2w;Ҽi c>dAP@\膞\܀d ~o~jx3?\Q@жCnGX`l gTehhژ4sy.F_ЁN^V>.=DwCcD:()_`XB)Cj:]JҖ'53w0I>fw)[\DŽܻBߚ1lu2w. DϟcmY }[0&t# 1^)W1(K %ͼ/-],f Q>,M͜H tlMah1Ee o:Dm?F*KWa5W?ޣ9o͵ 1CekKMu,Ǟ~W ]І\_iG y_.C7u Ө9s4@N_Rg+1_%O\'e cS@ە-h7 ^8LS?s*2*2xUׇ>^}*MKə' _ԯCw0~rqYNI%.#X7;c.CRE ?Ŝf2ٻ<[ | 6E}ҽѿB`5t+鱲]I ~chaq=1O:My4|V sLA/wc<㓚VYM;J`4dʼn}6GxpAG"sb`{:Z<%d}«`Oo|zBVu8Ԍ}2w쾬+W<{^8rh%N`,Ƣ_/zK" ~8{/_y~o~GqHp9\-dX,cö.EAĩt+uV񏶓{fvYMyR,+C Pux=񎧖Nak=G0ͳ/G>贺^^gAD8ؿo] MA?=A<<>P_;ه'K^UE`ՏuK Amg| tX ]>*oF߹z??З3ػ c;db(-af`Ϥv5MV?з;` NRe+ ?\E J=J-0hM[ 6ߋ^UkΣo{D<1./f..Vok!5M޽tbNw>y Z\࿒Sv49QњBz20:[kY`\K XMR%Vs) t#5@yI*un&>gpAeXko%`+㾺\ M*ܑM46įAzS\~/@*ѷi-y[d [Ug@9][08{&BgtLx>z1vMClRG=P|uD١`1o8۟]~ veoiApvGX7ȗmYsά8 %R#]Lp\ۓd0xs h^>kl^]"iWg޽t@ ZY\} Y|;ǯ9yMyi^7hv}P4/sm+@+2E` $8zWа^c:E$?vc`yy1a{7\lOLxxRk]v?7uqw|ݠ!fwӝw2}xl ,'{536xK6*'Ezά =m1y 8h$WĔj1j5ݹb#R řiך ˥,SRCU_KazU/3XȩۘγJK1g5ËyZSĤٹ_t,_J?`(OkJf~gIE7bsjC6f9aRd:\<Ǹٛ5Yc1!z'cqӯ˾c[A#Gmkx+O)zCU#\ 0x0#M.qp 33q5` i-4ZS$$c rl`Hf'c,sV{`h%:crM{c""`XX !7r~a(NK&..,\A3u 55U?ANXxEiid/HT'fT <:bhA0nӯb|,57ÐcL!0i/iR`Xv~ ކ5Q5]ZĹ~ C1G/y v[3O.T&XU{(*\P7RASWY䃓OsOy3}#T¯>QxV 7*/rubp3ŇS _3pu}X&?خ58$r- oԗ1ucfr7,~ ֬K :j0+ylT ꒿]J1*H6s^ަvj\Kt砗v7g݊?nI8?\=v%9[d6mϸȑD]kɑ$&desvXaag!ЕN8X.Yg:B\O뷛~52=PR_X)Š>~12ֵGlMx~7ig%٠zJf#:dj 8sc7_AL28U ydd<mZ&\dDe}z|0nt?]#OàC`-44> z ?PGǃ ̐T'xs֑|d ֍dtJ8xY{!TnZ! rSp9?;d.!([Ò_\gp/T|]lA`I:`eJ2Ў!Ro#rnvT}w" Q.Х Jk4`J$;"7pꞡ.Hi V=ӆNwtz^H6E{ȳ*UP6˯ _R/ o~? .bq5wp9K{*M*zW6#c*5ƃ}]}ƿG`AʈY`=w /=/}/N~lVdh>WDI%p/Ʋ nK ~5>J5׹AQszcjj:^k+LE͟Eѯ$KQa XO6kuOߟX>8<ίm\μý?qM w}A]UjQ yWg޵ B %g E$o-石^ A(]f.9#:9e_gۂLnCϒ:zZ`hϽ;kʣg:A~vYwȡ6`o|Ǧ9`i~sJ 5޺k_Tk78>oP l'`N7Hy;_WŔK+ek1xn~_ <ߺ<+`ȹ̎eFqT3iW Yָہ'~OsO6&ZrOln寮k ]-}kB5gk$}ǫL2iuFZx >_堯[ )x. k;%gZ -{ \\]ee7Цo\u}gV%_RR| V:'Yg02]j֗ivbDK$VBp^{A}$'oD `V?E-WVtxNKfʹw; }% 'ߜ%3Xɖ]ij?F) aB%;TDsI2Fm7$xN m;~b(FPȣۮQ?bHmV(P@8zw6y?,X z6CC$ 3~3#`Ǟm!ap[~6 Mn`H:Ӂɠ)=syjwKKn4H,#>TP\ {NxpwCՠ:RLLtZ(jUvA}=)[B@:q]7s"@Vptn&v _: ]Ȟ?Zf]_ iTJ>ѱÁӄ^)l‘@jK]lԁ7甜6Q.}2Vv,zfۂ /{%36"U4PT-s; ͝{񭃠4_炶i29`nz;3q=,3>8 'Eb wkv0p㳻$.㊣ x6N\$g ňyݻ-d/qZ<0͍"|L18QzZvŀ}"prGjA>Iآۖ"{f<v[k'f*9,ϸz;(a/kAˆ_~lJ~ߍo@* 7fu:tOf[C8hGZx+ૈQzoOlUĈoD)"<Nr3rh̫G_\mt{47Owxqmoc^#p|5Oz;xX3u1 Y؟ȿCUN/^,Q5 .sQyfq46 E+^]ub}_= <3!*`TU,xTXh8;<) |~ܰ ACC>x?{zu1x1oP|E騵qxC0lirI U.u| ca0yz.( fz)~ʎޥ!Exd_R0^%虋-$Y-36'soM`f̱l!̼n dWeg?g,bI)gǏG[!u[oasVБl{ɩ6v}(o4Z!-[@/c`lhl{l S/Ԍ?'8DcdcELV= `NY>8wԃc'ݒnIƲQ'/O{t8TXB-V35uxs>._=]M3!9䘵e}+F?0tnek0))]a=۾ʉapMǂc}!5^6-:pK8^EE\1 ؏Gy!*fCp'׋>fJlJݬδd^+'E 8ôXج펅^ :/Nx\9Po`z[av#@xOf=0~md٪ӟNW"p;n5 ]֍Le`7}Wm: oߊmEl`dn[+8 `jm gƖ}|e卮O舰;@* d/7Ɂ.(o 5^zcuw8@/Tڛ|[LOjbך=t\A{bdoP/˛K@~~X)ha}b2p ^֊}-A>w4:OFo3hZ2ɠ=ܾ֯s鶿J? EtEC恪-F=2 +'sdMΏ|@)bޗQ C ei]8 V3 n/5lm};}ϖz\Aa}R#xeYak>[>GIm1egcBԵ#h/ [b}Fwʮ{_I({JԵU:rl зΕZqP@ Hނ|(P|$cp Ec>v Ruw(2k|zq,uh V"3 7¼{  Ռӗgz7%1oO] Z=߀#ӯSF"UI@YF=GD$׻ҚΒ:sAJkC$X hw)ARݿ #B@my^ORB?(inAhd[]C]@j hBl!*w|x-z3Tu]A]Y[|A>9_puÁ On-$|cl6MtDgQ j-g9X耲PBt=!V~AM tloKԾk 'ؖt:ITϪ"H/%>9AS̭ A",1RW$=hOE=?4yT.:>L&u/UW12AߟΫ烬˞i%(*;ÉJ>HvKCh ^Tw]իRk;n;2KC ؆렓e]qKX @SXՌ.۷փًmTԐ#|1tʾM/BTC*e'_i B-\"CzY9APS%:};m nZaNwK?ySΆ<<vv2Yl(+iT s9Hn*JFA mQi`Ճ`j-.U4L7Zۂ=٭9,BxDس)7AwJ=!-q8=yLɫU_WtIgne_`V_&`=3@A^.`SlG$,_iSG(ʞCt$m؇C/܆K(Y/JE߃5,zp ΅ۉ~x[_^ңәTD"PP):ƉJw Nҝұv2`/v'se獟 |&+G*U ٛٝ>mY;֣]Z;v ŧ!zVxMܼ ZHRpPߐ;]*_^5.,;4ħd>(cl]P’y9Fp%p'r8[7SB!x\ ^ݫ/wzĮ+ѽTxmo<nٶ^TEag:nLIQύd_k=|o~U2wnP\V%dc}If˶F+:mTk#n؜=*\qv7mļ 7 [j<7 "ӵH-QD.8}}n@iu NBV =@K]4z#X ? e녞KKA8=cV^u`yͭ5J$1gƗΐHg틒`^3amڔ8n=8zϮ=,^vO8[a8<8sl$mk-Xg 6`M\g rډ I)ET>(jD^ Sx -ZF2XJ?,UŽQOQRr)8C6ؤy9~Qi0Yrk|E=@7iNS"`Z-ľ %=g\::sf$G٭XGxiP*s"~G~VrJ7m*SvM`h ^TſZPPb6a9R ީK>[pvkrt?~Qs@q>-h+o.٥Qegg_ 鲃?rAys_ ȅOBA]~pSD:##Ew)5N$  UD<]8pn : Yنǹ>=8b)vFGjxϮ`juY[5tԴGk@3 V]ryH[b^ʏݷ>vضnW ڦ6^N@'mqzkԏx<$] s?*³d=*e)HQl 8׏] ^c_rt7I*6cj0vJʏb][E 3_?q4]|~'tf].P'@~i%MҁG@^sv(! A~kVM.z*_n՜)'gv~68M~I_^~ A=9xi"Gޮc$$e&2ӯsě "O;R¬ {Ǖ5gNْ{}W [ ' R4P&rm{ZJ&GAtf ئ2^<g7Nbznʟ7y`;qECgA!ipPFl ^fqYbG$qV O_FZ`iJxoA?N 4YoVɆDc_hŔ=zAZy?zQ~Hkr>Si\N NA%zn$u8r-/= վ^ kA^-AzjF^V g8 }WKszJlW$?rm<}aә Xu^%$+ؠΓ\4(6^_@}SNum}z.93B艙szrZ (-vu_ѹ\ָ:̃^GoA ^*&/M25TsλI8FOۥ}(.2O{l˖siEsDP5;6w4'(/@:ᡃtد&r[v t yGIy=/&~-ۨYE!O1 /5C VΙ6`̲H]sL|8 AGN%4WA$[m{31Ks^k't/<*{f4>s'P(gN\eD)mB{YeNBGbs +|sș&+,σpN(7`T `-jo~j #-s.L7))PA8nb\>p'Od7/v<3E\h XswϟؠXY W5*ļX~,#'hO;@_q8a03?B;s(C=s}oT ՙ0P*DO% "ق8p. ӎ!SDnK?3a I }/gҌ6p0p[tU7愮`oxrFg캴U<hxg' oDaz.a/4^J1]t6$FgZ]SyD,{XWx( \`VUXlACJwᲅcgPcT-Os?Af蝓A"|'Dߵx8'~ǜ%`i;s#2kZJUI;pj?d܌|ĬD/߬,Ϡqh"_;CҞ+6hW-n[+hik$Z1mmpYBC6k$=W>FFIz97{bkѾd҉]  _,Zƻ;;81}O 9~e M|i]n)+I*`< zQܝFfGG|F~Yuux!z]2rMW R%%lLrPLg}:2%Ǐb+q_ gȗ͟}!Yگ@O[2!ZI֖b@kH"8.ba;N&{YXOEvӵq*z7@۵)ӝqʀwsWy?1nǝ/W Zʼr)ISk ruzr$<)27/o,5EHqgdx^UCWhmðƆH`l?nxa_.Y]G4c@o[/:k4H=ࡳ;dnJmyI_>(+%괝V:Pq=חD x%?ok<}, C A:N ϚF4{@xeǣ-hr۹NE\;=7gOC#2L[=7!֤zN WU ՝A"^#G?`dhFpo֝A= YasU H3(`LD.ݔ45@q!6w Ɂp ^wz{0?LNC'hpUoyOCֵgǧu`5yK m]8v w#XӻR <&r-b#X^-ް4pWu ߊy옌 8#>z O6\A ϣѿ@RȨ1Whk$xJeu$Zwug*_om]F*$] d BK@16XHa[`27wUUX>tb?mEupE2c0&/Xƈ߃lp8\rD)ﻀ{e8\j~ͿnmV/ڭ6(y qOmPo qӹ@;n^Qr쀓GrevwRJ;&vveW:hKG Z${1f7ųNV#`Ϧz42뫝E9 '8=Ons(sc:&bp>y#ϟ3ő9Z痋'|'Ѷ_".>@ly{g?\+d0-g&0|}ˉm|{T| NZB,62z{MIW.qX_!2\p5g'/v]1mN<2͐{b/x=->&S IWJXOJA{]zuMieNn-|w'Pvٙ%zDr%Y@o %Mo؜o.9PUA_]k| jD\{eՀxC;ߝ9 %^?v< Q2P7ڻTKXEݵ77 niGXxp`Noz[rT-w*; ܨ|{H)2=G{{?o/g#.e"?Ear(>֠7}8WN2k{Z@9 K)Ja8dHL@m8{lpF>hMDU}YnM8RCD/7ւse(X†qy*,E`ݫkO|uq3R.ĺa`}YV؞@( %|0Y ٹ]eO1j{5f2>송ׂaxDN72䡌+yMTPxȄʭ2>BVkNY\C;~N{wEЗ˜,H(s"ZO#Fx0Z  A]S ŸUyDi`xHZ5hjzW7̭UŸ? :yXkMb_yH|YcD7Ίj N2E0Cp}b|K+{Wo0=+zjgf zQ `jfb]k [RJY{Mh+yTQІTcz2\7vBob:Ga!;x p gB9ag|,c;WAF ">w`_KeyqWP`uFۇ|f 苠b`dZ/ؿ+ة2.XY1po۞ȗ1N֏ve+Nzw QoM` ń{t}AAf„O=>Wv4A?yQG"=L@и|\ܷ3{]м`/ؓ Mb@cD;s@SoZA%_A<:zf$t/y5$'x߸j)&_t[ѽS\_;ga X#?h> d y GJ>o=aO=8Yʄƭö8XjF"/О8zAkD/}[ t r*P4DwY pD`觞JFck__7SZ>|8hмy;ly. f{Y:ICa Gρf0PHyG/r-0cr7|ì@ҚF)tqJ^Z5ZW/DHU2|ףAsH*/E#k虬syXAjVѽܥm{v5/w%(*oܾ[\ٗ2g*8 rtP,Ξ9pTg]P8q"g2l>- 蓪+ZS[w؏s7c|y`\=kc vPQhR^{qJwˡ{A^<;}έO@iߐ_Q :k@wh?pr ݷn b]2*v,vt_}(~et횭U RȍѠSKnWRyåN+?9 \i6[#!o3bn|0ߜ巺W*qb'1RSP*2c f1{!d `e̻>?x}zNkPc tto5rV! ][&֏RF>k0ټ]L۽x;L7H;?nB"gb2>:;LĽ=2݇z+IoH4ы:=RúxQm$ib8bd Tz`@9d휛$(}LGsEni4kK ybTR%M1 [_T6B#i읍;ОIj) +h!|wZO.@[kѸsZݱEr]zĄ =G;.VTBX#({M\WHRHnl?2cOLUyճR+Ea.HΉNω7tz0, χ!~D>Lp93/\u1 q_:FFNҾXl<3  x$$ΑDzK[y-1W*A["S4gzj`\&Kx]>NQ6~ʹ FjE 6ӽC5 xxj zu'jvµkE0IWut2ѓ˫.+Zq=eeΟsA閬}5G 8x;rki2gKIz0߽Zn?s,+*G?xlm3ip1SzC`lS\LC|ޞ4wo/- W;K?SDYtV{@ Sǭ?PF +|HQ/20| v'򕱗t0-&z9.6e9e-A8uI!H&[??9L9u2ȷNW{j y G̗ES1L܏ƞ@-_2 [IZ7}zܤLa0R ăq_k?TII♥ ؕZ¨Kш;̎ղ#C[9:OXZS15 _u,,2sؗuT#p^nOM8`_}Io;1)m ԛۓ @.DE7iZA 宒n&gnwOX&s7]殀b;4&vmx+᷇f> 1 cP>k'8rwzi/m֬E{8Z[ \l|E*7] Uy XQ53C{. x NޖaGfT̽U [zP_ڎ|!lͩ @Yk)fV_Bjxto-Kss y0pJ& V^Ðyk[ eD?cqw^1pTӯ1s Rt^ F, R8z`>mp2'T/f XBQ{DwrWST}[DR kӇc|A0[RHs@:y9'F.BYsѩ)CmgI-V-MDRAFwh%@ZGb Du:\*LɥLeOP̓h7bK Tݾ/zc%`ɲJU 4%b9y!lуn.!=i/0T*>f|8#' &J-J8%h0&'Ḋ}w(/RGJP}` :mkq_SzЗqqw˱nTٓWBE⏑ 7yYG*xݱW%C"́ze=ٯY3VJwJ׈?ucgl+0`D;mfA?ǀY٣N_୽#=x2) yׇߑfuyQnt?Jok*8ד~70,-`qr b utCmJ6pT;Zx8gMC|Jՙ^ 9n U=+WEYRA39,sz +Q4~DCz,POaYA @)R8J=-Y6/3TnÐ2/ml10T4@|k7s3^iF0ڢ+h9U4R@/];I[O@ww T{FP032dߟ`t~\@Eթ`S %u%1 Tss;hS;zkp1fǽkv9toQ\w/2_$rz|_RD_?㪈w lOOĐ4{}1RJq #Gn;`8bqw4t{A`m9q!r4޻N?~qZ [uд؅_e-.o37v]k8+Y<K&8ZndVS0C>4Ig37"bqvyIiO?R -UiΙ4p]Ϊ%]/<0hpo ,|a&hä咝;iRxX+G ~˫s=f#̾R{] Ӡtѿ ZVP"[>@뻏BaD^z|G#&@=[q hNb{@)t9z8@fUJex7$˺+9t}'xׯPw/}0He0BRS(RijYYi("̐D$E };lʽ+'L@['!Q u<UEe_t1eABEduZp!!J F^Cluq]?́83&3ڴ)IzҾq6uצ+}O+h_~ż|;~> ܡe[cJ^FҘ[0j4b4&eR$gZjw;łfBja4ʏ@;j%8r/oB5s-b͐@yUl :Tr%b v<~+#(>Hj/+'%w,A׵>ZvB.f^pk|2Xs/G;XCU+ LEA;6R fׁ ;_H:4B|OƱ.v 3xKA=Es'Ϩ jN[ ܢ ֹ`\>/PGUU!5xa۳tjBGj4{螷ɎYfyzWxڶeBG-d6]̏a!0x4ݬ>tls_ }e><4ct49 zg*=}q͍Wy8iѷvw2#neF>%͔ݎ@PdZD.; -Z9}UcY=x /: ڂJťWg^T36`W26'\`Vc4_e}':7ւ+[=o!Z$)9:pM蟇Y|2ٌ~ɛE`6 ߁ Yմ cZXFm/#o/RuE5+ܟnA-o_sy12~?܄?  nnwүGY{_{|F?Uʕ}tabˠ4ZY|h~R P=1WYj5 ou[|f6]eCOVWvC%;ξ} VKIW5XΛ|3[gVc p؊-ő綀)]QzVŎ >fZ0$+ V8l 3yA+V/{:XOu퓆uEA/nkPoh‡ӱB ϊw;>1ȇY);(5W>02V_l5Sq+~%X;,W?'Ļ*~;A?p ^ >AJA$[S~Gm;s;12:B%cWf}T W>UވܭaB*9UKLZk ňƑwkby .߿cV)$fߠP Z1!lfAG`C`;Jy`9'c3熀}h͑GML,OHDŸ?KHd9mgO.o?'/>`*G'4~6@31<#4tp[F6.o6j6mƀ|$/bU:U+!ĬZj   !/>!ZrU{. ^1g Q8՘D༺)Oo>|͆}7>tmpwk' Q,JAMlK: H/Cv@ F5 &7 z0BI_*Y JNp~sT0.ׅkEğZ Ɵ`C-XwjQ|*A9u{5Kw48F7{} ~y ]K_|*н5| w'Ma#EYVtIޖ;Wb#${ls ~`QCήkHi'>vjתc0[H,["BRHnSO~ {~A(>G=z u rT\yTMjzBzO f<q}~G0Nּ߇L0 wkg~lP;8vե%<_<#ٵ`_mK~څIs_=D) 3hi$8hw^0bv<^LܢѤ̪[RΚG@-=tx0d=KUAR}2$MwG6(;&?N<avߞGxʤK N}e'HGiܝڣe^S>wʹ ]8lS1򺘝9\^^*ݻoj5wv ,i"oj}O}DO(72ᥗ*N5-[՚ߴnq)(hfobx #ye$_0en˿ 8:9 \ ϲU< _.om3ڸTLNYE3&_S}].Doޗ wkiͽZ}ϸ6-RYiп]~i'8a\a&m[掷Z`79xgm/h`[z#jhG5wEfU%V7ۃ78X'1Y ̅J?āuߚsEXv!ߗ|iږ͚o4e9: w$L '_Yc-7p'l`m&x;:!s .34<`Mj+&`u}Ze^_p×LWȞdp5&u>ٷ[2SZ6<{\|.gإXѨx Oa1K77N7[~qޢ,̠p~7}xj &vj=<}Y>m)#K֏\@g5St5ۜJ@O drt*zJ:_X|LA=:iz}M z2ڼ1_9#mk{c-0T>e 㣝% &c'[^%mfLpl E? ̭~Yk@g}i bk>M}^߄]wM1.HNv%܃XbB*/Y^qoAg> W~<mي<*3}](Ԯ=3^mkblsNl@`’I}|@yv'pnLG- iVDȅկ ހzPyZ2V~'\g*0l%H8ޝT\@kHxG\73 k遝>ȟWLm蠇 [wV 1 :-uKֆԺ<qτ qusA: mΏ|-|F;qCf wxomuAݺ=3FgtLLяw i^^g"͋lBF6kwy7be@r6goOSAYV/w/E-R y?@zfEdQ uR:H =G6PjVkeW9s=P.N}_Ǧڎix+oHք:~~>9dmI5AiƂ=J /X ѦKA4t 2}FԶ`rR{Fq2%bdNS1yYgoo8./DCɣ4RAq|>HMk,Bډ=3F;xftQQ<}4=kߞfTtu_`7-O(WτENo%nzGq0(ځ~ͯے@z1in}|S^xIwQ$bqMK%|1^* HiX<<6ھ ɠ'}{ ZܖOvi`-2zym A>Tg'\߆v+s~ۡT.* ڟJ+ uh6odlj}=Mwh;0Z~8jKsSO25nwнQDFĘ nq5`Wڋz|("nov:]o[au*h lj}JEWN>dkU|*$8k魢+:RBwpt Z({Ee8+VFZ3΂7o#Oߜtx CA'yJ+ fjY^&n"8拊KRO JqL-Pt{vqP'ݮ^mKRwLկM1)+VtyPp^0݇;4i61U༴t [㮲p^e]s*~\B))U> FY S`D)e_r唌a<% G Ȫ`{ ^v-:4zx+B&bN>,~>\9yT!Yq%޲? Ѥv93 h[Y7KlJYu> CS,S:fx*GHeu֣Q"x$6e-)3>k .DA;^?п|ZGy`\,K(&Kwh'{u{n.^xϭ_|oh7YlֺHx Zb??ݨ:Ofk4_d3C97Eb i#Ϋ`&[2^b̦Jb<]5, CS*4F ؅arK}okjB3/~'?F>@iPnYxeLЂmbҳ*Q@j,< 覻gm#) 'R߲zd7K;rp懞\{"F5.7Ah3k!8ہۄ .3 l {hV9xý!, :!p~=DgYCzW<<i#>:UDZ gk&?OLn<Β_[g U|)tW:dLe *C^k,RD;Q> ;wUWF˹^wBG\t̔OKNn;t[HO@sJ@Bm]sQ]~_&MN9}J].NjFyʫ~(?cC|gg~eߔI\w+;z2{Rtϼsu VTu@h.eU};Lf܉/.9 yW6lՔM`gL< H_"b7 ZX/{8n/=ΪoBr{k.BwF.G#+>`*PhEo[n]މCsS6ot>']+r5@jVE!~p۠*}}MO7SE5Iy([L+9|c ȡo,wi]eիu M$x?J8z tS FX $E޵^t޵ԪXu]9^/0@6:7w[q ۵IVpԎ<ݳ۶V棯[OP>/q6ܫ 0wR`F͌!C`F.y༢J%/x?ew{mԢdT@ w o 8r7= N\9&$ 5 MH4I>-^%اI}2S!n-_[ ɇ1#kt.8A7$$9Ʉ@IٰW zDy-ߊ47``b`+d1\}H =8}`lMB!&W2܋%hI殳}㺓DkN 7['^$^~MO9֩ŀ_&z"Ƿw(@d=B{[tDκ{7R0>Fj v\=h m,]‡Ulgik[ a20*o ܓm֑[Q~U|M: ή G&ހ!^:58l :ͥw As081?gmAřv@p*O‘ 3KH |eK1'\vsn*5 ^b!?I{.2>mb0^{[,UoR3 #LSj>wzWEj)|l~_=z1/C >%c]5b(F3YaˍAО_vi>Zھ STà%^jT';=OŬI %l/ %ut4Zd1TgHMbJ;wZu#7.0.|ɺS򞯝1fUnZðИmzɊ>,"Tj:x. 6尿Y`E;]6ٟSSv]A5؟;?9EjmyxݶY2B`_;|҃PuŅ'`5~y8/NWQmtŕ Pw;570]M~=Op=F37i1! TU>ׇ=x'll% ^Ϋ+7̬\]jI]F̓FpKoȝ,.'hx*<#d|[㾋tWJU\@!m&W9)hgnpc-sI2#v8Ae vehV*'d,!Pjfެu }[">z d=g/.mp&'He"ɟA"io#@}/RҞ>ØJf[d#ri@xzd|tb{ +O鸀WҠ 23 715 jҴ3`ԩzQcML<iV[Exxٝ,P35'Uhr2 梚KGP(i>j^v1(fVxLywjc}w[Nxibb8,h{l3˴ e-nqnzA1uY+tk=<*es]N%q9ykz.%K]hWAUuڵnoxI-l@3yΧje[ꆊ;MUf4tmjD_~4YSn}D_櫅 1UyD\O OL|=OWV.Q &fN6u?hOgub0Cv/.)1ǗJuvn'Qv)DuX ]v@FLt_|vוS+"5a9_2-[MVN_tx hSnu~IoP5Kҿ6.uJ^h{N} G>K3Pv e<z%pVeOVw9!4`5ϫcH{̙r0|N5?#[/X3OXaW.΢䦮xzHKZ;l03>n֫H_ПPV Yh=D[}f(WxAE{wPCm >G{lԕl(ԐYoʕwO#Cv\0ouPfy~uu> V#-} t&HXQ[ۅ3KW+cаl]crڅrzZd=uv?1G5l318l K6Wn*,Adr5wzѿ۟nO&{cUɕTdVd"J_9].-Ei֝7o(T%=Y*7( X -yAרyR< 4$Q{7nc#E, Z1Zan!+ |9G iD9Pa0~H)e6В^HUZ 9ܢ޼ka@/_(X:$}L\l25<9XSﶆmc)Xi4b6 }`13Y+{O;| y_1smOf_իO!hxeutgCWO<>=`5sZ#pŴ$CkҔ;O|ʓ8ҟTE˗͚??hÀ([6At+Yy.7+vY-/oXaNI_}Jc` >@z&%C4ߔSq^­EQKh+8|ڽVx h "2|8̰\ VGI5Dã{ʛ2_| -pGcj~cu3XD86-}0b/k,-0,J K 1/uOk A Ai?ý)H\DV|<3|^r>uw.zROKKͼ2Zen/M VK]\, Ab\PsAޱW?fGʹ|8q $D!5deӫ98r4 zMŀeٯu^i0/_q|G, !tX#y._Y]n9J2ցͺ]Xo&8&Ǜ&ut݁ `MnY`.Z} s_$( r phPtB<(\+ 瞽P8p} .goZnogkS |iպWDMvzt =&g<-pO-T15‰SAAm4θχ`&(TǩF~\I[@cNV*//,=; Sw^1_*b[W-5+"_ڿ|Dߗ4]yQk T#&mo/rVT6Ļ 1@₁\)y=Sw 5ck[\I6h?wBt¥;Y¯Ս\{Mͮe$ҏh$O~a6$J7>>krkO0lAi}fS7HAƫdO&{(:둚Sr]z vX%Rnuq?(eu#n<n~d!m0f.BhD}i Gxk2/ />lu pgĝ^`޷?4g^1D+SY-72=35&oA}6 OnoAxz)O?KVtB7_J>giGݛrr>~*uNɃgΠ<^wZ`rIIzdvypRfϾ zECxY^l{lwJ݌~'b R; ўki]t+PU1#F44p'?npf{3"=h@HtM8Lv|t=,6Gs!<=#e7+h]+j-Ows`;k$= `Ƽ +{m=H}cKGv|ҡ]0fvL[)s^L*liA}n?zBkR=ѭqF1ѣuګI[|%UVh2r:6|+:牵 zWBt r*g-@JncVmI-4)m9N zSBjSA~ Ȥb6b7 ;vg;O_jzZ0x-K h$X\ [K:_vp aU}nywSzsxuI ۂ?OkoUҝ?irzc7q Qk?#ϧXnUIWCp&Kn|j #b41ꪪ2<ԃڈ`٨9 %^}q`in㾗~m^'|GZ 1+8'd wԜ(2=O.QɮZcӼj}2:!. }'uIwﴃh8a.{uX[WoܨCyXsMpZRoӊA^j4ŒN(WL+/nHYּɝԢݹ0!)/1!̕ۀffMx;[Tæj}@ٸ=1tzǣU@A D/1&Vzt>H!Ϭ΂_$P׾镹h5&.:JaZHlfXy/F<y׍zNosEf#hWzݿ=FGA_L}6e1/k^{ v   &5*U}Ay {d#g<[j=0WGaw%?禿ߏpKf:E6c^gC!,k^7kK@x.u!%*Ɯ=Ѿ<?|cϛBNsC{fMgF]Wc.qd7xXW= ֐? Mp[ܾ'Ѻ|A{3-}{#[W܉{an}1'w)!;V#A0GyF/L'ZɍYyLӯz{cȜֻǍғA2<j$BM?RII{)_읢v-HKTO녂WScz3#_t4I'9o﫡M%.CZ0=,-|+ֱnFQkλu{lеr_芫inϿGJ|/t/CU'ϋuuu#b<ރ 앾֭c'+@1Hեs@)rgfdS@ost =%VѴ;,;VJJ_OyY+^1[?UU'fVvUzJ{G[yHnK; |wFN^)Pɳ&R7_K߀ذ W!rꝵ ?͙tlоm7 ce-hóӯ^i;p#>>Q-@N“ҷV*=e_Yo-ʩ7S<}.sEv\Exn_ެq%yKTB1t<,otr=:ș=eOj'@l}~P+zӢVHִ )ol?Zk!s]uz7 \mӋ/a|j;zь\x {Mߦ+w)j0נ~*z߱x.<JϐXnIzG"01pMnV)mN\`}K!6R"ZNiF3 hQ'(71E"1TkaIghk}@(HE&-Hvdٹ9pVl3ZsBsgX/f%$h@|kx$Sdg`@΀<cŮL]>܀i5J(&LUBOږ9NrБ;^ ;~Dxtʑ꧒7qϷ U\ zjz^Va7[Lca~f'$7be]!cG$U:Z_׼3QWmz3%d?]\r:\Brhğ)I2\ѮK{z\.{ǿ<ƺbxٶp F^F7=fcij*uO }k)Rk߮@֑c;.=t l> C˿ߨqf ۊ?|,]-[U&z}Kytr&"^*8ۏ0rNΛj ۤ֙`8xZf3GpOL|PWO 8gE=xy<9lvpk=Np2=<˔ e`<_ L۷uAd5_'}rQ0'[P9 y 2)J('i`kM\0lT~`ǜǖ]sryWe._};] ύL06%j)\BK?CZ $HQD}t6yN,;PabXiSw O]z>"<<(u&Ӝ mIh-› %WsbQXa&%߯HA#`~ ᮮzojLy筭 4} :/OYvLW}/.% =?dlF&yDϐW>RЭoz7쑨WNo*.D_ufO]PvkH]Y=4uuz Li 9oeoIg5XR}ͺ!}o^EXn5ew;E}<]o}RdAkITӄvPF;{N`ς9ќ- ̮hKUJe~o\q$ Q૾Xdbyv|;uQtpP~@ 9oqq1om^w؁;eS8}{v t=q0 lkUPά+󝿛x]j|i^FMa8tgDd+<#A5SnS'olݵDpo:5 n}~xB.iAdD]<5}o3~qU&m ' w$_|Qnў %nww+hDZ{ !.^yTu.-iq<*WV'&A>+cLޅ~NV3eycL@Qc>Dk$eA8:_A׊\u2ւ>L}9bi$"W6H& #T-A!o.-ʳ<@[ÙX;HOva{P b~D"22ӿJ [/ϷǀpƔ@o$~}hf[ց!b:=rOP}ZmgibH)^^oWGZyļV)az^4z)/tut V}1]APr \/y~Eܝ+A Xo=?8b#ᷟ f?3|2|Y'9ZR:qH{j9*Q<о&f̀oSK4uzs\ G,{B%){Zr wNˌg;i>_v mdLJ/m=X^ d2AWWe^2pwve:؀7 pNx58F_]+V }W0V)75_@;H6jq%ݟ$?@5=zg{\KG}Lozt D;}gouS֕d|cbk~:XڟZjR@ {~-3ݡ5PȀ9֢c?wǃA{I *VkX5[vķ$k%tid ?Jp}us!p|`q/9F04SxD>&@j^f 1.c3h颭= O>Nk\P)s^3ǣ@[8G1CcuZ]=-b*Hfw@YS̺ʭUjB|+,HYsAp7ǹ`y}<ɺ;u^ {3սXB2tI"r&^O;3'X>$O7"-JvQhpCx9zj,MqVGU1\zD~}ys3T^2^pW|~o;M:-EPN舷+4.9ѷjّSP<̾RYl/MU:?ʹVW[AuȇIYs@1~Gn#^G`.tUGkbI~Tap<4.C33.{2좯GxZO ™6:cAЧ66r]5v_:?R N֑>B#* i0^ɖU~!- –DD,Xr{-4ă; 3iPKn=gZ0]\^֝fv=+V2Wvo b&ЍupwWPi z|魙}q'(gҶ-k%]z^@aFUK9O7~[=,h'U~tݳ]*LF5wydV699" h\JȲ`H|{ZSPdU՞ss8 Ϸ$WK|+OSl춹UIc^"l5;V{Wy٤9AOn}[ %@KjIiGQ{^T|b9z2z(_ tw ^?X#N2T$!mT*ȯ_YKzs{чrzZ'7p I)X 3?pC'eR?Ju`1'$؂&X(uoMSm='}i9@A_C^|tU&G Fig`V zLpbנޢüPbvoh%wѩXoCt^'G-O@n368cǕCWn<^aDԟvw6i2|>#`jS jX틯-}\.}D?ci;Du~E`QRJ{q(0mYVĦ#6 ;Yx-F-QO~џZ`r2RL!0w{/? Y_Uo|Zz:'zGM 5{d R[ %6ۀ:6—4`KXf }b! N20o'}2 g5oWizEo_ѯcx|khI)!!{dJ 3K#=sG?Pbs3W\Cd]`lrܴwJ YٍQ6(X ֯"i#`N&yS!;T\M0[>=`8~z>3ؼU]ApD*oEeT>778lOU9fDs՗gj8]2\SGlfL~ӹ ;7=-F hW]@ lʫ[lC׉h=¯NL{NYk;t\{+'&<icoG X/6uɖ;2\{80,xy %͸2\Q}b9Rw`8"YG5[!Kn/J.=Ԟ!ା{'r&fhtA{|i0%D{MO㻣^+i\, NVľh(n[>ߚJbH5P&P_=2,w~qK"#6Í޲(ۢqck'v?7rRZ w駵J9sKad5w`9 ڶ]M᠈S BS#?kyKkPt%d-FzV!S>l5R|j(D_3cHQ>3H`hXs*Ϭ{ד!㟜1`7~y^qM gW`/0p}呡t :EDr]"s~l;ێ<[NH0Sg_GxɃzbLVyʱBfzfoJ EW`hIfb$)|szW 5}rw16 gIUcJxou y ߾IW.pM+ԯG )K{Q5^?R&e:?shVX3&e :!).QX*!r6F<c 'c8{X4'FG?:zcs׎.ǘX&j}{. zJGULDl.#$O~Ufe`┒+Oea O/&´3] 0.U%cO%]7z#`d嫂̰^ =PYu?A(mZfGAXpGDocXy~bN9Cɥ1:j> zT+ ^ٰcWFb{0W?,!ßgs`P\$KNfѿzr =ik;`,/~jiժAK]+1߾?Hp+C -SIrA8 3-ꭷ@H ˆ羕@aΪ0mD_fֺ4z/(yP?)զD/SxXgϘ@o'&En"e$aYd673~)2Qi ɰ_ M["z{>銱n0v, ?`4acP,@Mr KJF0sc3S>o`}s1)_95Q01D Ƽ\^`~e(/,&aTC%~ے2L0?Q*hՎ;w0qeEbqf}`b(l_F➷.#.[)][-Q5ۓBXL-n!?1TPxmF!ݭIǐOК>^y9wۢ_ Vj# C縯/r+^-xM~>qua f9 "#l *q]-u|E+F:D;!w>jyrO%v4sʨ\}]>!:k2W?Y~5Cܖ :/ZGe߂~pHN3 jS4,UQzN)iVLAO&zkh yx{ Zײ.EOM*ѽa$-Wû3?VmO4zf[{nCRvSѳ7_fnI:-gV $j[wPVto[*h5Sy$ӧyv9f,YO):=n H[k-EiCׇ7uDll^͕{>cR7$k?@J}#Ul2W SnO CC&KhS)8Q=`q=x *28oY.,8; <pO]?6fl$EY0SD*0]~Ѝz-3 IPs 7i]z{`_嵅?bw~NU.8?i|;N9 _}b*9W2ܖ3'yWz^'k%:12(]6.^R 򭵉2HA)uւVqyߚkz!  tQ!|GkGAG!T3qW/c(P4!Atj>>:`\+ً0G]';e[084SP/_?s0}TPvec!zl$t _ JP*1#Ftݬ16.7^c42O9_ #/*s>qh蟪o0bA1` uhgbp~{!ܹ]HɷVCv󙊥]{vNqC}` 4꾛-ktY’oFpݎncdۓŠP| k2ؖG |^V)Y mj= "Wވ}j_>pL|, +"O\t~01k% /ty'dKG7*twѯN 8@<;z;5/v ?Cʵu `b Kgr ڿ[ 杵=R3L96+Ի.[A۽4ܭ@PN"γ3A[zJo"rV$yu)Dl9uwm,+߆ `]/Mo@Sd,m9ITfeۧzda_XWzp EKo< r ec~HFV[Q KɺU_6%kQh{6S43<RbvSk!siNxCSz]?uG˅_a#o+ |}:_m1]w4 ֞[Qς;MKyӓ JՔ\ 3'iZ.y"Sؿguz2QqM`e^NKxJh~aMb9;a~ύjRCРmBDHJ ^rv :X*-fلr"$[׃eh@ѵϪ;4^R`Xo65 \_;{2pímЇWOJwL2vRf>Bs1~G9;x'|+s疆qbfpM5ȍt QWF@?p80~- RVl:03箝SeY5"GVYhv|T}7Q0XyhtpLsvyH g^)?~7[.kF`Ǟ{hVu^Tӕ/MSVv8ۙz Nߛ% lomwB?>1zuM1=o>idB㒥K Noy>|7M'Ӄe0(wɱ&2=pVBWCiKR1`96L<'CͲ׋`d#K0R&{o!24,XԷZ) [,6yl ZúYܰl_:hp3_XThݶ CefH5􀸭)bO~_W\Ba $Nr_a񏗦uv*:'CTD7 V7@B'k Db`p602ڥ?*6X%3>…] HQ9z2OvvYģMYp ɞSwP*ྎ/Y-FCc>.\iAvNpWƞO]qg}ޞ$3^ C04u? (s! 1'gCԙ.u!|#~=!l " Ɖ\Ӗg?at>g C!o 몛dWsHJMqgr-ͼvDmsLMb g.uDAD6g'{՝KOd"IFb| B^şoY\7ˮIv7{bԲ9 vK?Bgk1G?P^ )OnϾ~ Ҥ=ͪw4Lar痠kk>loRXYƽE$y78/iO#J.t瓆c\ ^W^r {-)#~37Ά/3 ʿoswjwWCsFǁ8tSMՀ(aKE`VX io"jGAy-[LR6Pmk&Σ.URO? X :Q3t!,)cz$Ek]ʹ{~ӎ"u>DoVYB۴#]G?s(=!8sxw5Nw(\J0 f9l 6ᙂ6]n!(N{L5McOoi']sg@B.f{Rd'ˍ|}\`ue+xW\\OFSܯKg3S[J37~B e^Ÿa ܼJlwC+yv*ݳֆLBکyf]WtvVrIcWntɔ=^O@^1x]ʭωkƤJ)A{ 1MvD}nʐCxI s3j{$_ f.G߁{> _y~ŠQn88G&gm􇧕# X\η==D<=,;6KFo}HِiȧAY"Bѡ;]xD߿^-f JOtx^Lt%d|i+3NPZ1'*< ٵ7 O\t-.5n}o=_~qj?*67]Ӕ}aiEʈI,/:wOЦkwf 6V[.dzSvО*|v~~>wg.OuH`ZN\M!8 cv:Vevy'X dpJ=ߛqyzw'%fw1Gg'o0xn|N-cBK霆6"?w]OO6B 0 jLpZ[\˳u3Ƀ4AQD#ۿ*;Q\lл<6:F+Bjy+ՔvR픐P˟ (\yX"(5=>SAuA[#]QԀ׻YiakI6ygAjA*ZεhD\qH(wI_ =ݎS@GmfVv#nuM`ػc~&8)}tǻ]`_ϝk3EJ;͒w;Yʸ0V4>)K悆Պ@7)Mm˺/x[Gb}(v|y3,_ n.`ў^ z4=SIwJaBFaMP]>g Oj2 &{4/cxCWuu;sAM0t_h"WŶ-efp%7|NA@ }liSB?Q8#nDǕz\u?K9Þ D.68O}kl47=r=~tEʛ?kz))6"dEN Q.'(s|=97ҕ}yawW0M<[ƾ`8xPd|6,Ԃx}>`:*_Xl Zk7Ϡ+| f"}ۊfC90t[0ʦ5i)us /:UX`6ώ2Nfπ쉊] ǯjA|tPi`>Xɏ" yܖ 7Սrey/gTp߲D7)2Y/ Nun^%!xz |Iŧk_mFEb6JOQJ"rlF1od0+6E[0f_ LԖO1CSùwzD1Q9/1PqGn:z=2j 9{&!$S!82 ^c a7ci8d$ Ͷuszå|mjI A'J7IniB"t:c^,jg !{D~sf83pg<454A^`i9-Hs2@N2g2eǢ,?qr|  cR_j&;uY;2A -jM`cDh &ϲJbkEzD/2 I OeoI钸\Ծid>iƣgHG Gs1[ ڼQw3mܢ yݏ5ѤǺZ'5*ED~yC.Ō]*9x^b6h HkkAmo"廀-[T6jv[2(quAdmsfaF gb 7Ў-18j 0;/$Voe%2 2 W'z?~#蟖@ܟSqt[Q ĕ6`ˋBc |\?[+Ҩ3-[ԁKb}zgV{Ty-Zq:j>օރu,2B)UDh7u~!|ySt6Dc!ٸ(}ۼahk/dҙ |KR"5ɄDy:!8_S ?gw#rfq}5OHux)3u.iB0.sEqKxif"6IţD QXCX<Ɍʑ'&k+ rg}(kc3x͵6y./@Hpe礼 6/*13{IXw]t=v|~l& / >{scdI7@"jS1hɞѲdc}(Kƕmֆ\g8m20qc;Jz%x[7b+ye>LF]7P8ɸ>i$219rmz-!xLqM G0bR+ c"9J 3?7V~ #)p1E82hitC?zǁOd]zn2pY>,iAf;(P2uQL6}%UW>?@"9nhK$2'&6A2v{~~-F?s>-JF;ÆDȄk̦@^/&S.^$z?.N?IS0k 4+vN8D9v;gmzB&=xsxAVP2sa%m ܜa#LFS_yCYN鴋GԶ<}_Юdr谸 m>f @Uf׼xf21J۟L&|d!S,lKkɔpW>2si_&g2tt5dAe^q%?_JޜwNS+#wsgf&ں]HydTkddak,G-/ȰdHߑe!ғoMFӁ7H-ޞHYwՉHϋ24ҶCȫ]͆psҮ)D[6&M Sȟ['N"FҶ{C!U:^իA=c II40d Ͽ:st5g?A8w2D۪x*H_Cd'GkA2\+Gj3us K(}XB}#$Z}døS,&-2!*/,~%-vFLM\}NL(Lgbd/]&ϓ _&ǪȤUdFM>qmC|R}vL{6O:z+2/uk}i%;u|t'W{faAڻ}KSCWRldaG)Vw9s1X>2{oR2"o2grOj;~L3idZNiė+-^cOnJR%s6rF?%S[* 4M2%1W(L8Ir)4{6IeV+oMvq}B'[7c,\FW|iGZdI4Y9nAɂwDm2+mZ z&a]͞FfJx\m&dl2wD1 d2}Ah&yTk:nɉIK2 ZҤ}^LN$S{R8'ī dz>c6Of# dY&FV׉dN=}2$/{  KU)I3%Cq!>2<_G[ C+n_#=rKrդ9/2&m⺋}ޤSRP.iYsQ%wY5cْےx΅| ?XvwvUJ64H*5"j"XH{n#E#{g3j͎ٱ}G2sኜTŴ,Azvrpݶ!B|+ά;*ҿ~'dt7c{odEz !Uwq?s^5Ɲ' _-aҿRgnmzWHoic,ۥG|o'?.hN+ndk1v!C:_/LND 8גg C<9OSFdIIۉҢ_jtlxم>C_>(O>Azϕ!׮yKZw8mw$-$ʹ }[H|Jh#Ӭp;]dڹTL%'U7&뵊L| &4Hϝ4ŀ͙fvĸy6SUrux'ry-7H.0 Y[݉* 17/mް4 ֦DmJ#}MI7xAP~y~-4/ؐKGb%JG*HYufCU.haa] qDhg Ҿt৓4iDksl" uL¤w-WBYWvݭۄt>O: Z:_$OW,^l?d} jjF$caeudBo0;$FF-Y$lȄVådJ]<7gdLL>+2XZg֓1JIGݻ-cB';LȨ #29I_ 5^(&Ca RMiF? ?vuռPFs g^Oe^P??# u|zV.isS2'6J[b3dpމ/dmPm2nZHƃτM^ (dDxf N+q_j"kc2<\tE. $^d{N6=}pW%؄t]OXJ[CU32M~ٯzԴHء*nr(Nxݲqnjۻ/ic2f=L?dHڇ?kNw􁾘ӎ1A;tWٍӭ'*Ǔ" 31O|DTAҮݽMRUz^lgiA DH:4ʳM`<6˄26-|MȠ$i&/<W#Aw*Iceﭺ sI+n.u9:4Hz%tn"C=uoJGYZ=o3!c\-/l/a~X2ӥLd,-bsk&؟ 3{}(ؐ{wH(OqC$ 2v6|;-ΒוvA!2QxN8/|x 16Ҭ!b)Ųz&c78plҟ|ỏr2PA>.l8(ڇMdM.~Se%EW OA:>tϊl=Az殐phxHV=ٿw3{7jӀl>#0 5.Ĝ%sAgS.M:'Aҁ5Hkj3f~`/]"Fsk6`']^KzY2 9 Ɉ\Pi2ꑿK' E+ؗ#nʅdx2BV0%#Ćn 7-%c72ʀ/ZE-\qD~ל|}_H'Mү3mjxXA&ENQҫƭ&X0D:rK:;&GLI|9.)Oz}S5%==;Ge"~5O"_T_ (sO~쿝@rj3;:ZOz|;GfԞ\#cUۚ߈Z{Wv-qd ;6 G2\= ݹQr)R~, v_/.o .]yi6'I{[ʈxP"x7U0sG[#OL;iDE7^+$q˰C-tqw (qȹen;{QtJ.ӽt~$e[&IMF=jKIĆrC$^KzD^ =Y%+{i{$]NG)n4ғqUM6˧uͤwn.MXK ]gHs_;&ǔHz:;F[A3w؊:=H;ٿN<^ӻt??tD.))_#=yKq!*t~rBz~O'Bv}_ow!Qz"8H^ղauJҕms~p+)_`!}2WI?y'F⿿s@e'*O$}#CśH5$t8ɨA*2z@] H'edj28λtg ZIc姧'+}ύ@{=d@iMM2Vad2*#xX%Z2(x5P!wL%~KR[Ԑٿo?Z;?MGeg Si5G;0??PVuZ>8`PKS\fȀJjFҷ{fd5/uRV_/&]ž1Rdug37p \բ· Ȁua.m /Gס}>N^PIW p[6j5/WX+J3VƳvdT;E{dl>if2eEܱ=̉MZ:Ynl qŜY5K\@U& 6^$ Qb.dΚTW[N&+3r,ݹ{QfhJjkR?Zt8l)Yk^_,xq!M檷֑Ɛ`dm2pL>ve<hJ} ud7Ȅ%a62Vjtg2C2'͢hxW2A=z8U-ob@L6W!C>)GI'JrowgQ#.h62eه'I{pBp|#Y>cWk?+2a.ҵ*-Ȳ3ixviTbQWqФs_EjZrƌfɾJVVś~ptݠě!}Rk3Hߐ*o} B ⲭOeҽfxGyҾS__hҝYyIL& rhSRSO~O9E<Iwr؊L4߿ S}$Kw;~]@`(ip<i!חE)cLc"vS%²sw򗝆 aK_4gq,7"EkJV/SEH꿣_ Ig]ey)ٚ'Z'ij/ 'N/66VmHu[7EU ء7"ӢDa} i?Zmù4^&g&!]A#-W!>#.ut_^=vV 5bm` Vy!.YZ 5'ô$FߴBXw L-;ɘ;뙈CdT`8!@u4r x92#~/U2#ܔ*X> CTH KFQm^f~1J]̧b'^~?7Ƶ)͹%Qt\\ZKΤUא]L lդ)B*Upl?c0 R;1bE:R}|nM30ۯ`k%jɹd@vQ^'k?Ig}qJɺ~6K;{9ʐ1@-iY^(iyAڷJG.i%zIw}$gH-ccJ6O.rxbfAF)UVק }~Gdj{ϼp2W/gQBkD+? ꢣ d(pT|bt )!=I{~ \;Ȁ^k~JKO #^:e7Fd}%N2Uzz+`+7kѤJfV 噅%ɬ׿_)cdNybW8|[??7$Wϯ!n_vbedl4;ƻdPC+8B NEqo!]dHIu_¹O\ijptMx 4=*K M+%$X/Đ0^ p|(@O뮙\cW ͫ͊ =es5{w H{M{MCVe.i]b?p%mqؐC|BǣӮft 4O!3K[ =sofHgE_Iw[CS~gC:^(k =>,jV[[HH_?߿IDiTIL<-7^XOz*RH)ЊLҽb݋HUM﨡pi9vzfZx,}H! A%6dqW([OOd2IU}{YVU^g?~!uv >].c]TvjUVXv^% ϶_#%֌1~sCc͸t4y 'i©/ac}t\^f r [ҹZg6 (^ʰ4˟l!-ڧN&;Kꓤrid7?g*ipRH֐@ȟWLH~H-(|7Iӛw鑶,ކ!.̷L&q`)5E|5MOݙ ]-N_x-Ek睶u&^#;e.ҕNd~Ltd<:{Njbt:^"g.$]@MU&>mo[qVqlM1R.jv)L-$AO_ž > >?;oi)J:WO֓lߩGŪfQő+ H @ӷÔ- l9D5y0[+REf ,2\uvқa#! l!xLjOGdT[>7+IVgw+b'$H_Cud#K/c}>1Vkdw!dZpxGǎudoшɴ麋&[ὗ$ۮAFRVp&2udx#dwc{rd+yaѤ}|PG#tϏoI[Нąlt}Z>8 5ۛug1?|D,2 ϶ 'Cs;2-$ֺlf6Y?gIyu'Hg5lHϯߒLۜHþ'yqJp^=Azܫ.bf!=L^{ΰT#: w2"IGUp?vÉUI넠?d$L AZgU4|2w/i۞~v i3 iW_}q iO=_DR8x~#i]$dJnj !c61;%^AHTadbUzWd$:U^{q|,KQY,t'z#yʓn}wHWk`Fw,͊ ڲ8 0,GXwdGzfm'U7W>f.HyяL;'}Lөr[Zɐj 9vyi۔;hx4egMq>}cERi xu6^MVyά"[X_$]|+ IG4I{ E;y5Bzy {cIg'H>kH bw8s&thzo+2īj,@tKqҿCf+bƵ"8bxcyx´t9 4s2`3dFnQ2 ]I_P'%R dU!>?'࿟8qogfDmfJ/ѫ6AuȃaN[ddKH#GزYe2\WeqPg2}2anM!AAd1Xϵ?-d;n 9~_7K_juLi@տFf;t! ϒ?6Ll'x}ߥ_{!d@rBW?U;EJ? z2sIՓ{d(!2H%cNc?+!b8F?&}cb7*V0000201q!o8gyN8.19G#'Vy;{Cq'dP3?w8?&)}Rpr?/eu8}x7+xa7OG^_< GWμߧe7%yƹ@明!8^vFK`|JknZ%j?`bp/TxRBuX8gNfuj񶵪q|.X;q|4_S[-`o<}wb8'~\wM7| r:nB~oU\GU~s]~n cZa;7wߗ1m Ӎ_p 5|uS7{2{z8Wû4C#GxiձۍL#D̯wŀ}K|܃Cຉ39L#U(/oe3u~6n{mZ@A4Bn_+Zs. ?v)[7{=4e95Fn>,r+EF(~t)#݆pvWVv>cqM5'>liApC3̏Aƛp|7Ia XOC.ᇳp: ݇_5OY‘6N#U`ڎ٧x@aoJ8o uv0On_ߊ6~0~?~c%|0Cs`D$N¼6qekKV8Ou/ g w@SuMo/IYrc80ǽ9m9KMw8LOj`ˏv'dG@() B{ΜS !;ށ^Q+}#6`}o \`^jg+tp r~NPy?"nM8pc[ \#3oǣQm0Gqwc'`~r1g oxo\es_`\Txjsww:lS ;*}RbVk@>&vmg@lG3 IL5kE<;JB i)1cs1ڬ] m.8jG`i nXw*GOSk:?15\[wꉼit>[v;ğ<:Ih_.!^-^ ~/?r >}@1@u[=aIsջADVy4z5( lup>O~UȍoYi_ADT CziLH23}>p.9o莿,z]4˜݌W>3:FY=:߁)*_pqѳ<6وFR4+W׌=ӥ_|t=/"|i g{߭91t)ٚ+}nn)L60ظUEkE)ԍ?t:]#ezL#Lq>h4!vs8V6(N2d^$;E e2Pws?Ϭ?%vm9@tپ0>e釀<;a܋Fjp>X*qυp iMlB_ j+,܊qTukq/8]zP/.07XSy4w,a|"Yaf]?yȽts>ԒM\ "ϖ|ה~a3O\y8l5M߿_:jnz@ɢ] G{h( k^7awcL'aM LV4ۦ} 9 A|| vh&)okrs,U!ɹ/Uz]\{ SkЦ㺭 JIYr=]C:׬kxiC,ω/} r.?ү;gفzWX*۾c>}sv?pI~3 D(<`ױ]{kx3S8>:S>M ǝ7PXs~|CJq\?"| 0=cJtp?#WZ&c 輧ȳpɗ8eS5쐪kOٴSgwX{p7DYyrZ>~靠wA:i|-y\uyэxZ^N#YNJv-섢ʂlu%a½Y8~V8Fx~pX{_n[Q#9_r <z{M1oBsxz8KKm0.".lY=|i מVȋzm ?bZ?7}K&횅ǜ6H,cEgw%!Z)̏ Ǚm7n=볊􂁽AR8e;3 w*?)H˥0oD_\]Yϧq+@^hr}YQ#7 g13)_!tONc9\wg_+npbЮ3"#XJ(ǹW odx?[oU!,MyO\K9V{(/k:\NAs/ <"A OGJ2]R6fc/l'ZnC;bS.Ϣ=u|<.[̇fM< ;#wW&+GIMP΍F7<H1ܹt޿RnQc_v%Ѻ{fsd еvoSIRuZF$Sqb.\W}iXoguފ"Xi}YC$W# JgZ[h1:E} XoWq>.Q`yCy6\/ x*ȥY%Xgv'U~s,29B5o?y^B۷z[qa ࣔG/N#;X+Q#zBCN2/iy/eWu}e\59;u'wǽ!pgjO{u {R{/p)rp\;cJ?Yd MppS.6q6'\G9zΐ7gz1~ڑ[zvCPޕSp=o!9+Ǖn!/qmwȕv1/;eiq|I#(ɷA!O[kBߣ;oΐ> eˆy;; x,#/͸ xZ\sC,pgį Iy#?؋ݖ)#?UUkJUGˊo~$dT~E6욣P񅸼8CYxoӶ?sf=#W>#GFѫiKuN7:3 9t ~W)n_n1WT@TsY\<`wg!ȟ>8DޗP7uہF L5G2ȫvSze?72/x`>V`O&?;.BLz~j6F-yt| KNsPEȠދ0*^?;1{l~Ay,X(|0;M!gV]ӰE*ߐ\~s#]ijcN!n5c ~0ŶJ𲆹KΰO<|W_NAٔ'p] {\?)p=+Yx0Oe5ɚwv?1<| } [:?SH$YZeUD! E[+_"'#'轈.SIaqҵΞr<uL|W:|ŸVgF<[ӑ ;Sw D!?DPy׬T*%6[ (+{ɘ&ȉZ c[*q(֥o`O K \w1HA89Y݈l΃d_7>-7r *}i>nX PΏv¼c0Ũ|{n~߯hn2Y0$ 7sPlw_ėcQǪc6fݯ|ʠ< ψ^O{0|1YsD$.. bzfA?< =;ߘZt5b '@j˛I8N?y6`Y{3٬py{6GϨNvX~~dSKd{7"Ltʏ{ZŜnr≧?\RI=}Kn+gY4MhV/Y=؄#yvwm|Kn8bgTO7# }^noA^3EVI}k&͍F]yC^ N=+uWP^|yγo/"Jy9,փbm!^p%=KEOT _nBm߀y-)$Op\X4؟0n|WRnJ6G^oVJ]7PM{ϗǼi-{f8lmVx-0늙}131W䩲am:q8$f!;>ozMYNڈ~*wWf}u\3h_Ǻ^gEe ֡:~E%yr\m.B3rȳmhGkWN/ȵOp\Xs y#W_ 紕^951tuH"ۍ3%k4?I{onEݰ=1L1ȯsζ%i@\Qw.4qp]|~/.x9Wp]kMzA_:Ч]O o)hA yD!;+$@ij5G SkWLb@U<+|_*r,-SYKVl=I3q߱N/ޟذ^`8c_Έl7[c|y}f|= *؟45lF*3!scǼg?t<tpF?\|$ ֶٰ2x8-ui;66l-x/jʥRQ<놴úrKP;.K[&qO_1S\׉x~js$= ;(hQRpN؅<)k9\Qn9zԉN^sij$Z[<ϧʙʯu `yWsmxќ+|r'crY09b7? 4BZFV+c]e$o_xHѼVxçeϛ#a D9P Ɏa>, !/>4brHΣ"iI8*"aYO߻}0C9f:Opu+ )GYyy 5B4)~7_V ~3,ܢ,xs#7QZ3nw~w:P_F<fm}TWำyשū?-c_k{7?(I]R>{bW,x0P&0Vm:zu|šqȍC[6|p>ٕV >L+}o "#$)|S?]r<9 qFsMN(%*8_/B.WߠxHCro%uX?,SSxGl*E: <+)Ο@y猛F 5B8Z8Ÿg`ޕ*4~w8 B:z\>RϬ xyjPM//jk‘`?a!i)/?uAt^zx̏͘"wG[?¾6ØDz= ,qkZa]YSwMO=Cy*7 v17CyK.b<{tu`S}#Q#y{γFmEe x\V=.$.i^Og7>'&B@MP;?jq>MvY~~l:'9^Ԉu Y~(#z/6]]m¹rT(WaόWз#T]8# &A!#m=|Zozyvtӎ^2˅ w}칩[~9Bbl  D,lBJ|>/VV6-7ɽxxm &+:Q׾.{Uaߨ$kvG1= ;Âx>*V jWcy) )M--<:JG O"Zmjι='yp]`ݢz#}:WlHq|̺MsȬzƧui1f;zh﷊6clws@n6&ñޟ9`Ax݀v!?<^&5q xgnĹ5Dfu{7 Sp$. K@B_iʩEÜGTaƣS`o( ^qm~A9W~:n)mbeFݝ` ,:=,ŀ.=g VDmq8㑫yke $^;z¾ҸV&NkΈySW_ fK CZ㽾[bcl@gbm ]]~R4Ƃ|fc]Lյ WG7Z|:ﳡFEf}{~$ȼuܤGʹ gWS,,qڟ}'4/] pӱr\ ݆9qӱ/r}R#ܿq&W ü$ǧ\Ʀ6x=ϰzW*Y;%!&5Is*;z/ l}쬏E'+zWmf;~ W'ZuMGsl⊸e ljfKԨ䏷k; ^zJgjpL> A5ã w%K"G6 ^(|R>:yG<0/0M&^?&=|f~]9@ %(žG*OB<ZLn>ËJ7JHmuӷ:fhqxyss[}.=A!ΧvqxEa*z ]m<[ m|qLg[%zΖv>v뿩4 2/|1 fJ {gx`>'NpFP}_iWY/NdPKO.sfo%{VPؠ!طk^x]yŠ94mBGKwTE5nX 02nB|bO؋"`TRTZN6yuS!J9'{x"dm 0E[s'bMZ%K%A5/wAX]ZVë<ط MFĥ^_yo8a|5,/[.ڭ ͍:0{K/<[_ ,y>Gw1L<4ڌjl Ggb?剽߅Y%=TQ၀p׻'{-ZxSofAh%ǫ{6ˮ3 $Z3XE?Tv4G02:O88} }Q-V0o*ȓ6a[OS-Ї/X/t?pǼ*E-N95fqB1k|R |R4oZqź;Se;t q"/ Wp qm}̃> ~dOԳ x:&>I ]|x "j?9.Oc%_4`>fEׅ>7lq(/4>S,$n,X?bx|a>͕gE3![ߔ8g4ڊ 3x+ElxyQ"qFRU?es/FT_и,:nU}U`̋|܍|oKАp˗,2} +u5m{}tG˛= ΠR~za1A컟<9}~eH~㾂*9{B4:Z CN HѮaUqXT/GZ|&Y`XKO͖8*>'.&Euo[/{/Q򉔴k~ ʀɹ#~. -7cdR͒?pZ,QXC7wK&)0icL޼4b]I&'9+ ˬ04,}ф8UR.z}Gl6ΎY^`̟؟x6ożt !-bzs__8~T-W|{cUx{wmB a|Ɔ} z7g_q֒_^̨v+.lD/DԁPCT͏]~wo}"hYG?lޫ)ww_zo+ODqp(~0>k3ٮŸN9%v0n>8'O՚H_>}lpƄ41hX7 |)61?àߊc>nOg, q)ML %χ˼qҊ ^:9AmV33JQW`Anq&1R]-ecܜx[-wyhc㚻X5bP^ƕҝ V8bvʧD@#3ItӾq'?¾.n% Ou|&wzu?)_q<|{͸ﱭ&=~<6A#fiLg2E^>Spm7Tcܘ(.? gRj﹭f?SdS^abGasLKd_=kTNI[qՙ߷#8pȢ*u!eƛK}`?[_gc?3N UDٌu}u&OyU}^3][p?dk9M!?c=%7rupɦj:䫏¬a^\}egNaR ))oNt㾓iueúR) W<uVa=wo jX'U?dtv]w`?;+\s&{T]rɄe׌8V״=@n5xga_ܰaUKnvq m6)1} 4Õ k;Th^Oy>u2B1Zh3{Z2¼˺৸(eu7^~ نC8+0[e:b3N }|x DzZ/{<ʏR,Q jڧ>A4:`C}zk9E8m<ߙzv $w y&Qt %p 踜-yF @>to8 wmO)-mUǗyf9$XacQ p߭C7Xx|Jǧgz]i¼XU/c;9x1a@ e]RvuzK3.*0DzW{]Tϝӆe3ﶽpC$*dy /L!^uf y &BI,3׏`_8ѐA!x}aA./h6nǶd'\q>g>#pRMIٕ` o%ӒϤŃ~}X8hCϙ/`!IG}}~7O*aNQǸN佇 Sbw2Bm>X_ehrb_||?=Gy^Ps O2o|aJxrvț.XR{lur}BFnj`%{-~'#_frj7+17 c6 A z ϓ/An܉73 `@5 |B a6ys s}LD'`j?kicUʅCrw3;ԝCpijK3_yI[B_to[6ƇJOK20zho!nt ab$@C1U{Ȇyz]}D+aΊU6?Am>du*pvL_w;-OΠm &[U]<+Ku`j<䦿ckCWla 0:qZw.ް~BwKlTY:*bT#m3i[72cQyo]xܪVbE-F^uCvZ`=h Q!oaB}_vu3C=M_1 k5!V }`]º;r >УĶu oNWq}8PUݸ1=:uΘ6}< kՑ5CaT\u/wSjؿ#֍/ 613}&={|>uWwN&m\˖ 0z>+Fbwxʪ_q7{*7֕u_aI9s !>R&_uXVU?hF1_?f~67!X;8z O.!ؐK.ąj]V 9߁u.P~c;pZ< _fiFYјOjv#1osR=\r>OO/@t3MJv"KC'S b~?|Nd'(/^>KF\ϗ$N`o؏|#E/+DfM/w]&c86ިn[cJ+Q g*֡gVOia}/Q_wN>뺸Pw}xNWZf-}_a$Sh a,a>3g ;4gy{}:#?ƧGŲoP@HYf~pOCi7C8.:-1س I %0)u6CXlt ]?|O- rZ9AU>@Ec@Ȓ!ƧW>caoc%crpș(;\;S(92RA__87 ˏoJ<pwa>[ w,נgd^v/XT{w:4B]5"=kA]C5/qlȝu0wHټu_4s׋a|oJŢh?ۯ0X ~\[# oa.^Jg2OflTBU;qq|sgs}Bj:~s{0Ϥ:j#ӹ\$K\y=<[y7қ|O"]e ZbzUد7(pŜsp?gye$⟷ |8ۻ}pH7>g$QK *e/G{4x"%a}Gq#h[~C?8['J,F8>C_qթl~`<_;eW2.aJ|45ym7W;amyݚLwd _ ctFʲ:pJ 7tM_ˠ͢nLZ"/8~%1C*Vaǝ YMSa,JAN%J-X'[ J|UDB̛f"~т屟gs`/_"o@y:x7?z'˛Y'ʏY#n{nsuoq GO /q-^$%7hkwvt!ؽχ&!t 쉾V*&~'jUz؍#~!#X\'NE@z 8Mj|\t_uiFCcXgY1==Ïؿd1!rTbU%X"ˤ?^s})KmqE^ZJX7J|}^>g?U0[Y{."pR+}}tq_IEůep]Djr20h7#N8'Gkme2@@|Uy=%)o?n:l >cL{[Z!saup,OǁW# 1uyOw⊏ط<-|փLq:u+ޥ+AAzQ ƭ>mSTqSRxƺbtך\vFSŇuCU?4-0J:%t쏶ӓp9e)3!Nz xB/3qX7Y 0?} g|ڃȏ/`Fy\GO8[CpfcGS<)04X ] aG]9qmJ<2r+x>*E{ƺ.}_}:ït^']{qIw3뜵9[&y_$˕wr a4//?pG8Ϸ]ƺS+'!9rd?Φ}:UWOMC/o}~܌߀߻1 oW\(/~TxAC)<EY!XzCĐ,& xJQ8j醳؟t3򗕧%#|W'!/[خSJapb|x2,6u'q;gP0P|~F.B'5@|\$)8M W{_1 i e䌾X]DGwjx~图Bwe1n:ZTKFZNs|4',|+(}=~ Woq wmrҍy4qB U!;҇_[sn&#j p`svEs.KՀ}!ΣZcˠOG^^')|է_j^)z_~pz5< G *E8Bk} #p/:Ͻ/aRn:}+ySt>KohUB<2Q;( ~VvW#/=;zw <wZz;?Ss/L_C/PWM%By_5SǸCK [1n K6ՖXϬ IydYs)G/)B܏x #"ܘ~H/kOR tuzθBa2|~k9ǏFtT?%ćCwZ? ]}0g{Tc/s oY֗3/'(+>xh;u±q!0 }Q.zXW1m{8Hx.,ș;_ Dྟ"NSƇaz/8Gg_*qp"\o0cfՅҊ6>C'fc?я># ?Y&'؞$^jrܗ R=x+u nݨe`Rg?Xn `_(.PR}2[^c KOQ9{{gqe6c.uIƣ6lȫ՜x92& +G([| Q+i%_o3ZaKO7eW^:I|ύ+6`aq 'p>+Mn>1~9.;bS O|P+D> Px#8JeT4#QEBLyq?Y5_/k;ſܿbYLìMGfZnC\X'/T Û79Ŀys?u^ebxuv k'^iM1grz M[p_"#zlmuSs\x_Zg []}cM ȕm>8Dkw; ve/,> gZ{OnL%} |'R[!wp]Get8yb ."/ k`l3G0/<'z c@ }B %2eF( O?ܙ}Cwњ]r(JuY&k&JB7a %D8 TRaܴ3oDg2p VJ 8\Rނ\\O#> ly߲kh"7G+5Z{=gv&Bj?x䢾1. b|gvOxuupKo/}|<E˸aNɺWue ʰMGڠ\6(@xq+t'Ӿ~ 5'| f? yˋ8\%șf9AŚ҂E$0>ᢥg~Ck̷\n|1=r;>}A^i(F(22֡tsUa&}%{SbX:!<زQThho}-y?љ+ g?v2M"7_X6d>OsúoGt {߽5{!#"6=n}8MSWtxp?J { o^}:- AN?.¹2gFb?` z?ؗb %̃}Iq%w`ވ)FyWlJ~Ĝÿڰ{iju p*mTnjŋ1w0+Nc}bq,eUY+8J(!NE]Gm|Ыfi=A8g ׆<*~m80nJ}ā^q85_o`^]T-y{drC0ˍBqZD|_wo4Ij\&ks70V`?P _9uZF!o1-n=`SudU-ߐP*v/ʝS Xߤu=a,s-0^~#v)|Dc3[38v2S 1ZtyXtC>VĀ{w_\ΥHAydlH5pkP?e/->O㼾I "88zsXa?}1N\ݘLQ~ L z?"\Mp`Nۣ Hk}V*ƃR;cG9FIsP4ƋqM]|,).\G~k︊`~{n5eO5rvb r/B;ޫ r!3Mz(P= ]Qo no(qi5 m! 㾧߹ʹ={zvkXշ%89e{7X/XgY8[B5h}*b7)]V5wt:ϼRrۄc޽d !];ns^NT\FW| e7XwTqdLODMxȫsÏu8?W3BC9SyӚ5yr1(v_-r >M,}Fz?ɲ< q R+];dq5Z-iZ^ĥ~G=Q%4p7uKzb!ӓ9C"Ư!ۇC~W yE`)ygcU{pS˶ԫׂS_H~q =c\fx؊9-zO9l;aZ_sX5+t2{L#&MGiE]`4/p~Ӻ17 };f.ו0^ݯ#X ܠ_sa79Ԟ$a~y'(s`,אL4nY,.}8{ߺ!̛utȀp_[_S+;^3j*ıjC'6c]Hʥ?K.\Yg=ژq=c'aBSn>ɑ/2ƫ'0/yO._ pᅫK=k1X |ZzoQf-} GÃ1/)=:JO|v=~ գoa~P wL.*=}&y8Uԯ?ߴ صX?W||re'_Bs.ug/4@T4?] -Xg2Peb"UOh|7J=< 矃 }?;bWe[^sdyYh.WӰ@CpV`?''6%eN܂na<. &?Hn=ؾu/An߳FC?T8P@AKA~#H;-w<śo+/ZRz /=W$8\wdsiiJطcڭ~? ]j[ ۛD?d vlk(m؟ζLjfg%r#9&]`+#Zowgeo㾵G`o5}$u__Rcܽݨz}X^ &!U_3S5:?~Cq+zy+W>B DkNYOVzx*mܔrF<τ Q!)% IHPTȐhPRJRJ)$F)y i».}~9 k]Zڛ~qވ|ƍ7r󔒄LR$$PW}Ԍu[4*S/NwD>%ad?fno,zEXѓS8()WmКB:M='?O_K8WEܟ&_G_k(YeJgc}M_msL!ُu@^ O 7&(^yVnFݯwgEX+&Y_kҡMa?9Nfʹu?Vui?(?VB?&稱Az@x!_C^%7_&WzkYhOu4N>@sc>]W/Ck`v oQDS;K*< /OK|}sEnXioF+r+fP7cӽpr e[G }U˨w']܂uy;`n/Vݚ8k@@5x{.Ư| |pĖUtr'zN?1]3WuI8-Õmɡ8N~R%]L ?L~ ?nЭ鴞ٲ4s|3CvoSwb.{V[t7uؿ :/5<EBVM:6TNn'NZl?c#_/@rgQs\uanx.X =w~qCCăp-=b^-1Y%Ywt^<=G塋mvt 3Lm'zhFBo;OM-tXrȒcZun2@s!}%v Oa&#/LrM"g `;s~gNEv^pgt_X?L\|}I[~fUb >J#skŭ+1A#?ȲK5wsz 2x8pQbĺ6/6|l3=]a7[_Ft!mO=9D=Nuݚ'_cte<n z4r6|1ci;,iem?AZ5u|m?D];;gW~^ʚJ%S4)S 䧍g%3L?9q/o1ӷa!}l&'=&?(-419څҤ+&=^4!ݿ= ;(^Rt1!oѵ%5?ԠOkv ^9/Cz{ҬX7/CW)*DبBN4/bWKf_rR#ʮKw[Z6cj_H4쵼L&~{/ӞvˡoTN@eמ*ZIR;#1ZCp|pb~;C'-Bb$t1#t_iR\/MBx%ȃ4y ov pg. n~˼o,ϝ:cСuSp'$2xu~w@֤G>JČg1ؿU5P yodf4ob[ҦXAx}|f_C0..WMBJ:/#yRl7<if:+Pv]Ue~[3pN!Y;+G-$,+2%N qDj~!)Pϕ|3,^!?'0C:ayq\dm!ީϤ#inT*o$*Hk)}?}_ق +q~DlТZK?X^WCFhC䍗5UvJAϵ:{W6e^5OXRybwҼ= *AqNϤ0 ?7Cg+ƮK+>GpOUNjXzi 3dv;yV`큍C-LT#?Fu b^Z e[6 :ny}ds?C<= k2 #gyⷬ0a[yR^۵WuL{[ ?`GM8&"sgO}sa,KX$UB]![PG!pppJٓآe H?~`2p+=2Y"@̡.7(n1/>gP|S4'ʡOP'A**8}}8ѷY 2Na/QLPՋ膿&nW/N#}O7ʒ3g]sRxva͵%:IN#_Z'OQ<|x8>/]!*%.жf%g[{ z$<΂dW̛﫡fmeUK:uk[itv%I3wE1>l ɊڅOD?©'_ZMMZ]C+!ZG2e1XJbuxɞ:bLwk#lsE| ]䚴o<~5G?@֕A9Q d~L@4az޿NX>ja;ė?:gHH^FG.y`hVp6*¸C|u-Gy͑[=5+ԝS GQ0sʇm{VZ6^d: 趟9hD#8Ygs纎+g<<ҥa=w>=X\Fw=xj唦;H_w_'q(AK`9ufO M:[+ɡ8<{+X\8lR'.{ v+qŜĖ }婭ΰ>ʁԵwo#oiz{)j3䤊;$ u3WR@[AdPŬgB]x!t3]FkBpdofMG!*- lcyeE#93ͅ]PW?R\mY~@_v&YG/9}&2VI sDBvRXoLv'anHuWNZANmA}{VIH+=(]r~k=yu^1I9} A*cx<_6W]IYw(Y'?v}y4̴֧kM<ċeTFTJmm_Я?*]&^цEiw}n=ΑٖwK4e._9"twH /6>yO>uBTr~/ukfwtҸI׫pxGE!]_s1ħeŊ4l|eh0@o .׃_.sh%ջGKBV} o@E=/ ۿ3M5[ ]͹o7 pPUνU;s</wCŽ# hA޻),_/{g; |V/O) Hj]Eϕ>$ٵx0A_a=Fi~X߱湌#O` o}"-+Bl8PӀ(Tc +lLWԒݱ>}*N7M ?>}lLv)|p;޺gsПaS:o=14ފq?Pywk*n֦utf7SxI`$C,x :wM3ɔR4~vcܔ7;K_;N#,o|}+:g%qO1sS ?\B_SX t/yGe0iA8tc]ښ΁vIA~1(sd"g9W;^O/[-YN7^GWoz=43-yɶs_MuHEKg2Dߋ/wXxÒ_~}!s4hx`DNZ ,7Kiͽ~q2`#qܯ{H`Υϩ=v#?׀ާi_rZe8mL]-qK%j*Y{.YlD8Axݤ>e=W哱#š'5'piy֥F<ϖfFޓ'isfU8PB~3ƴ䯹?c?'/i:c?{f y*KO^yp9>\MP"]pS m>|ՊFw μȌg 5?9 qgf).#+^%?b~Rgi=\nִ{A}txȝXZyȳz-xg*b'=i!>Sg9Hy&3u޿ʱo9y cRKU2?ĢߨIy̨.p|ù.wU9x W Ζ M%~ȶe@dw47Ci/St^٠}FK.yK8pՒ4~bݡ95,t@[mm\c0c6UD,"Nx4O1y]OarPozWf'wj!;3_Is4.Ls ]$(zjS{< iz3- S 5+$ҝ{:Ls b&PFWx\OzL+).?%|i IQU3f}=⺵ԁ?̧}N):?QYSu~꿋2l Ѓ…Je e|-&]2W|筰YF$yLw fFRsS®@pSSx9z_ȃ貓qfNL8 } FnlX} Z 3_NCMKIFPW? S+T\Ϲh3.X@8NyrK#~"Q"ei#;dGkXu7>PRQE{yys0=ovNyQȟrC4A`ҦAϙ{NG5e:/9?u5JURcqCY8s}V(f= ݲ9ƭS!?95pXڲ_EB*бNt ]Iw31b%n&eR}U@43sa3[LAx3Cgn^ǐu,:<1nX8ge>B;q}牟 ~W|qI@Ϟ,xyYzv>Z|PVaܯr _+=}pn؉ل,C-}}f]ϫ&_=Cugi:zxe|#_:7ۡm$u)-ywpG=1E1Џvx|,E_ '6}? !Yyr Ԟ5*3r%L~;yYle^<=7%噗݄Әgz?\^|vSD>?x#O-3y%M ']o]][fo>Fd7u%ݒc8?h׍j}NH֥cU+K7[4ki](y1Y]B+.zo84UEVO ۘ9#T&p;b>a=iǪ?SVx)1'T_gIE)$?փfaytFi@d}MZb>k[ ΰڥJuWoQ:.X`ؔ0ZYIG Gݢ#.ǿ2߈LS?$Y⬎}JWʕ"~ +SC_LiZޥk2.ږh>eTsO| f_жXKP W)pֵZ^5&n<Z{JuOh>Mk<1~cN(SX؛][4\#^^Ճy^?:+J0:Ge>cuKBx9W(~(g o57(. y<К4o΢m'>KqQEIУ W"N}^= suiȫtBm~~G?u#ЃoW@䟸R'/Gy :r-Řt҈S7woO䋦%?u-}0TERZ\īMN#a:wzI5s&n~%\L:Aq#Xh9_./)V`0{)]C5WcmQu u4%oeȇ:/^g mǃ~ Hr!^7 87Ub˗Y`;6E_Ic3%#js޼ɯI N|E|_j51SWgb?DkekqN:7نdn =(J¹/V&i-SVH(UBo0s#1lkoJ-8w8rs,./O@X!qw[7A߬9a)~wO jc_ݐiٳd?, Qϝ~LȴmG~{l?ξP2=zPպ:RɎ' NBvb: tvo/-;щ}ʧ,B;+`&{V:n[=9 >u RțJ)~<{ztOfuZU ;,ѹK1rpBRq ˇ֍hio+t1_gv- ;yp$4ͧq"oj<ӖU\F/D4sj̠dW_ ٨;|TʻѺ:R7.|no;yþ-v6/pavLw5,KomoeF>̣U׊@>RSԓgOv=ld=%}d/M_ua6^xWa)gx]0/$M>c0߄CW !Nxq({+c[c5h؋Z`:Z3kʔPfuz]|HJ/˜ (wx}4I ~:[1|,zWo͇||zFxLIJoMl@١?sP 'O߯"$}IeK '' )*|>G(K+yՕeHйōz:cKP?=t"QQ=z%?y~&pAqPy l>-~[hA1SRX/Ƙxo\3_0ėi!ٺN /Z\ymό.vƁJ GD)CCtS%qU }!1zR8N藘WFB5:qѕ}PR?A6]g\)dlߑt}ZYgW8q cv_{ʇn_OFK56Ed(αL[]wkCV/_޷C9٥}[t Q軼8:@G<'κLy-Kz%+ O>_x74?y8>~pB{2B).OOod PYӇ|̰/s_ﬞ#n'׺5F/ئ#Rf\0Ҍ2M=&E$(nyd)=gN9q3'{$@~~g_낎`Y#` 4/[}1tBwq(:1[''!Yt]FF㌅+TFmv,, ^_AjG™Yw?'$oR, ^x7qFzAf|߸.xkY'_g |;u ;A#8VL'p"Nt#'Li<^ԋo OKg:ȧ>S}^@in"}kGq\*4' ~oc?)o: v ;c3enkGwmїXLw{+ ʻ\g"#z@!&%ee‡g֔ݾ$3:[~/|)-kgwu®3wFYft iYA0oSGʅqVIz}ZK¼X]/.d ehx`\T4_Z<c[͸oes*E=lbdSK=nO#÷z /ib…!?10wZo|X\ ܾ{~2xaP9>]nsr؃\=/T|I\' 7BI̐L'Zxk9 яe^ ah v }uM<ȃ}ߊ>MkkԺu)O?!;ta럮QSk<؜zSӅS~-y Q|\]戣PQCanțl<3}K"8o@-y-:HQyStZ QjKﳛ7;@ʪ8+XOVɃ_FAj$?Zy&%eK绢ƽ3ۖnۑ3? _iәЫQ1N4f:$/pOt w,o^AF<׈C{w1%8'KoyLq:4s? ^6z|3R ? qb?X讞,brהnAZ/XzAO<d諍D!WDdA8}SM%}~Dž_UB>=:ؿ47/bpSoRDj7??:<|u-_8I R\xq ^/#?39M~G%F*z'oU [}ST{j4`~y{#.^&=;K=3)Sxs{! 5߼/,;ō;56o+<]Gɟokam>B} N\9`D ȆYco.>:`d?ǖ!_R'x[3a6$lR<`ֲ4ʢvl t'v'Nh0"bɫ`}h3VTiaؽi~V|y%1Qg6TR[0O%ZE~U:Zx7&C}i?îZ-;,ԟDvsꓓU gC~r +3rή הMSr句6;=*t{N 샶g̜!CdwfOiՋL<~^M3nҨWkRS"RwdĻ6s]g`ŗ^O.O*V#Y9nTOO5QQ[~r5d-f?drx C0L|+| p6 28 *Ez|ZkzLS>~,1K*;V 3u;uGx:!I. N`ނ~ӡ%wՂ帟 I~>:ܭ< *۰icؿ=J{t s ^3wB'-q##ܬթ \n9Jv(de5/^97߀J734gA7j! +x*iΡ.,~l_G >18Pleo?XwmR*GːIF~S>qi NGS,:ȱ CJv!ʕp"ăϑOs|{;}c50RQ&rwyB;gq1tt %j8"gn`;:hrϙ )O`)žng)nJ;oއz2K};KLL:)nDsB7w+ޑťVZpn (N]|y̘db$UxGqfJ]k$M߭yY5A$~ ٓ}#Wz~SM[w'E2h\ٱo㛏AZ\n$)%: 0f>ϵ5Xosg )LB˜}G9 e ^8youE8OH;iwIq15y%o[2qCղtGܹ.Mg`ԗm(?KB~3yX&~wbPx*7}&s铿T0zG%{P$ߍpml+ڕd5G/lg~cӫW"O̧<.iO<;_G3+5mQ= }A˷&s~' k}KS|$Яc}7zu~F(jֱHM`b=tٖϗy!7)>||SIwyr)k"ݯ n#Qe22ᄟMޛ]+i c uӍ__xJ>nED=Qkٟf\姛rNG_*L$F~UZ~:#{OZ7AK![g>nYEy;9u/#ً{k#Ժ~%g:}l%(]JԊb񧯀;"V &x\ D"8e[#-|賃+{P'iqlG rr]N+η Z/bKG(x4GY~o9cиs,Yr+BRLAWd9r#6#$}cZOwC }<#np{/roŅ._L916:ɮs..vk@:ﺅ,MM=S8Dtzz415qCPgW> a+|]~_c+A_oГ^0G^7ƜS¥IͿ-\h*73Di ߐhW*${cks<_@ok d7W[=ë%hElxo?q q׌7/;ReNo(M;^ \Vy/=8TVJ6me^a8.\wٮ7Z_nrF{Ǔ}{{roU%Mrԋ 0VYHB̄G3ə2 yR"{'y$qp/KF2yI"I]gllv^Y"N_G8WPoҧj]&~"\%y4VKQz2ן,>X8j} nݩYSo_E^8 _AGfK}eAMȫ1ss] yug䇘+yP0 F0Zmm;:OcQgs*BzKqLli4Nw\4}? o4]T-ft>EdI ׉1 8L~MN.ق< 7J|8&"FwуXB:N0>'=~RG; >ISh~y{Ǭ 35bP3_{Z炉C#op#Sn.ҭR kQNUg*?j0};eVQ M>'PJ2;Nvƻ=R{=I! gDxIrFj PH'$\-CdG}o9A ?b2ĉʬ\G.Jl͠ިZ8L'2jOl#Vkv{>gm ^ \w(6]?򦮅vWI}7t!_OɊ\:Ԣ}/݈ΟD-)etRk?N oy,Ow5P`w/oP'9C'sKu2^d/|(+=B؏Xn--sڝъ~=?t/gz@y?$|%Q/\o&;Q^35t3}o/C(α|: /[A~`A+ugZd o!?qM]G"kQWL2nd)JEBfpDe3_#&ޙ}xB ^&BȯQ</0/Cv m]ekCH1IzUnmF߿J*2LNwxc^s~wÅXܐbvIx.ax s v>yc{c?;w #Ƿcps Lgnľ CwnZ-ߏSÊI6;t J/i~?#ou_h؋Wk*/Dx ׊ߘf +bQAMuq>pI3 JCo/&Vzt|U͂]?ƻiyS<]OcDjyS}/ȹ>?ȏ0&?+I~F.xO㳺|AB% WP}ANwR> ,ؕ-9vp 3:oxM||o u:.?m[[SЗ+]RxvБ8@$jsF"JfL.;QxB]0s}28G[qeW ~% yꌅOl=gtEQWR<=˴%7VZo"Mb?!~bNEO}n]kM_unE\ vi ?xmR=&l0T[ fK._G~%9~7ok6;Rc~ԔE6Cg+8BQG'țr /@P4& ]ŞUm/!*F${ U}=^Z} [=oh]/󶈸} t2W!Ͷp[I:+Dx?4'R 55+v[`R7T &Bܻp+i~ZL["k{K|zflB3Sg:54x5W'?Q6\:&KWC%l`P tΈ5◓͉]6ć?hجXyg_4#C&.ߛXϚW&_U+ZdԐu{w2 vp KptȦ[4DQCs)GAI2UNj[n8arKە!_2cQc#4sPUAMH ca+3y?s:spU `<m' ?U/zዽ+SСo<~\__5vrQ7g߉7\_-:>~tK)DG/gqGs9UV=RX2= uuBsY7g'-X[xO?q8 (Y=mjb1F+3,ƈ5N4b>3&ú~دJZgz }uaIL<$i,mAɪ9j8LYPPO~FzeCs躤u-\h|y5֣ޝ ɭ&h\ŋ,3PwY%tG.D>-KF=ϻrz  /ct)k~&#f%3@Hv钮zݧWҼL{wY,|˾{ї}S>v\x!\^2ӼBY&q%?ZM^zEY?ǏbS.mNb7 h>V ~I?i=1?\Ԅ?aCWD͒,DK)sj{<mГo@v*(͟1[ @P"당=EG*V yeck\}$yÈ# UW\1_&1wm&+.YnnkPO8m^?-`ǒ#ϛ* sD>·#- Wl&JG>/#,^7v^i?nϑW˟{-G<1| ~Iߞ݉ vɎY.D=!!Ɩ;7^Z/W YDJ||sQo2-_ p-G/y6WDn ]uur?؛O>BQ2a3֏x-S3IC{AU9w~=KvR\F{U2 y߱>uˠb|{Xmئ coo潇]!QQMzrGJ"OvIpAs[K1X|/'GDMQv!b_yRxi#Ƨ;J2Iz#hvR+4'V 8av6 RY.Gu .M;@V!{e-.]>̓XE;T%кz=&pkecnOZ0yWа+F94,Ezy͛WPX0.O!z7B 潃dj*iϫɗ{Pa]%ܫfGߔscT1w6Zrz<6<&-H|'l,cFQ7ic?8si]`6e2nnrQ9"JJ:)&ߤGѷ.TҀw=n_S$",&$1}C_gތY;u2hϘvG3g _᥍e)q\Gg~;˨^k]9tQn;$i)qU}'ナU<6g^(5#PW_$йqO ͧd/\Գ.\1>ܮWɯeKN,jFm'R;=VR-XFkh) 8&2cKwrܞ cǃؿQDv)]g%'A-2]sȟ/}v6_mQUή%>5zGڅ;STwZK㡴 4:sT:N~I];ZXs≯(<L_}@6x|rc W3F5oGE%fu\ٌ֧vYܘYvIe lI+;8ߕdz C З$)gk#u5]rE3?,^mO S\:ymCf×~C_▘l;FM5\23Wtv!J6~jI8T; uR"7 lwnDR|rF3G+//bиHLMEN$F[[*V(;y@aSp456*G/1 2Tɜ!qņ5.;ߕp;+9ȗ}x'%L %P}y;#(N#?|}y-(1RJvȑp1zf Rhw"svug0røJdJ&C;VKJXO ||v8 s]a('5$&|M1G\yr8x :Κ8sɪs>|m%+ľB#]Jv߳6@wu/n,ž/W-o"j#4? vAg畊gXd?hV[u; n.ޥ7EV;0  b8(5xE ¾JxhHQ|31͡dS?s/FUǖB{E|NM,~&jg/@Y<]zP7"Gey +s o& b9-4:J#l[6Ⓢc.Sbɯr=vc@ _wtn[.B_ƫD́{8*օ:< r_57[}%"r"^G Ӑo{w(G;t,ͦ_ZUXWEq3DvMEXJ~iݷeE?W:k 'ҡcw'ZGUkOtvuXXroOHuٹ^gW }5fxRhX竴NdgmhFh^=Þ{2QOKn+Y~3)1pppWT@rWPrCz k0UHX#_o$'x c g[JG1<霂wn3]omVFPϢsJURiEQcY.2Vi^sa7oL7ԏ%ldQI!c+m1!?2•bρNC_6-%ds/+ȃpwsP9 %5UG ! ~d: DBn&aM٨hRM%_>q\qp4O a?xiSy@6bW'ok/Yʣã; ta?M~qӦW_АIZkG@E?0Nx72|ơXO&m\;HXi8Jz{o/*㈕vďr7Xm7)ΊhGFta xʢ[δf\#*|oOkŞN[x===}f :[~W=7p8=z<".,?6D} y U{7vz0xu;ppSow'/0:F&DV\Ίƚh]{ '>Ή8$!%ty*286jˊ)oTX.pvA\, zvKB7//=7nnk{|Ai2ZfKJ^n{t]V).N~eyycLǹvx^;ػPg$ }OkVy}W[dcqطF^#[Fekɨ8YGcw1@&Ρf~pxsKʴ 9z,\pzf/}ݒ3 ή =?zpñ{6Ӝ4g_;M~?k{̅L8s6t=g?~ږ ]ux3h8.YI~iq)ֻA tZq{*xΠ`/e{.ĺQ.F~bo>ՕylyZmK^@Z9a$om)JoC7C/yZ8?VPrSܪ+<7p*tʑ7izu~tǘ ܏O7Խؽ.aggS󦙲{syQ#}ne[Qz8JWϧ_v:s\uu_W5+$7t{ʇ֟Oae]j'62~V#si.n-t,d>Xfn*d8>rKB`gVb}O^BUa:68֡KY?>%F']DyY#^=/4I_Df%T{M"-;^}7]h&7Z7"g!< =ecU֠AEv8ԇpv<7\]u fzy;}rWSYBqE(3cTEU- Mo^SʿfEu]|ONuYZt/5ڄOMb& -_u9Bv,|ՎT|ݠ.SLWMУMA]cD 䮧!{X{P3TjzUU&VZ)]o pW :M= ]P]O._/O&{d6*ՇPenPk k1-a H18ٗ6βb#wz: o B2xI~=A9S =a)tck=E]!A;:=w{e,'fcxZ '~I ɰz{zy3Ո'{c-~#Cw>fwRw 4o?Izzbt}`5d:.F/7Q|f*M(AK&B/&}8*ip?s_:1ulg6j%LZ;Nb>'>i]S{ Cj`c/ !: :I#%~nЩ=G8FXo}^LU sd.ѷgn¾݃`w|/=ټ":%?~JxHJq!YY' 76~y5i>CS+Fx[eRTk |UZ{ERܒiەg4֞i߂%'Fg*\o_g)Qyu -_+u8y=3v|,ujhCOȈ {,$%O`:< ߉t/rnН䭅*κ 9y32: 'peG!bYŎ'so}Yflzwl ~ܕ4m}H|U.-JJ}nnQqTQ}$riJ,CEɺ z}S?}^5YmXG$蟻xy=)cިg b%9'u|T9+Td~WsGߞIi뢬,bvJ$ޣ8@{(O4?OxqMX/7@TyM''qޡWl(e `λJ늙XPUF*ϭk ʇs`+G2[倧8o;%E&Io;[goףYQ7ԓ?p'z4x1~htg!ˤEл>_<=Z_KTi5E>a M9DY#K^_ ~;~uz4y:}#a!IGOX<Չi+49=ovAc]އu11ӨK2wE?a0F`NR::^9=UӜ{Z~S 1+Mf?|[\N`WA&CہGy~rs B1w)'Ϟo~NOQӢ {~Q{mDX}ePUjo ֬P!>!\<x9MMgmi~^IV7=؄ wE=CZ,o :Yu.֐Ym.i+RQb;!IN~H!y?6tҼ2D̎BwҡSi~*e>ϓwOn<ن87Uk}1 :䇸19[5#rNɯx.iax bFvoڻb"T~ى[P HWn35fM<zùX=q [$eF1䳙哮>܄8-~+x/-njI<%ijOЃT.Q 5c25J|YA ;1*ti7b3eRv }nT}k]ѣgg NFv-Հ[ob/|Lϑpob5Ye5Vb>?mV8Rsq"bMRts/H,QڻTGe&ߋ?F~UXs?'__e9ɡiB<]惽e'ѹ+ݴNMwo͢x:ian!t;sY<;6^ζ*-C,}7O ṇǩ|svA9>We=t'>˖qC}~" UrfBX1 yP.g>NsG^)N3$eAμ(@w_9 Fxκ:78{x!3mJL^N:Z"]8>c遚g8ׅڡ?"R}'J^ef;;ϳ߳saFݳʬ/]RfCOyw|y4L+CwPz~i\'"w֣Yi4~ʳj{<o4wox~23R#o6V<铴t}JgDeYk}ϳOZƟg͌p s)n]_S! ]r~ & UZ9;!YU4B/TѺ<3'Sy!g7<\毓J8(yF;!{) xQxs_te䝜ߠ;|z(|q?|kc8smSh\1 x18a/}!c]'c#3wݪ>_hWeޟ~7ً0#:s0f(lhnY+"Z躗\+zsyq]YJ'Ѽ :S?3Kߖo7];PCqe^0=~( .t[syth*l}Be6 >F2~=*}gnb(D]ob͏Hm6྆E}/:O?bvo%SW5?܄5W|R\'4>RG_N]M e_1m\ 2s *Uq=J{7a>CˑgJ>#Kšu!!V}<'zcϊ|乳:GS >&XݯGorM81sYRPr%"7%M^f2p\N2ś`9 n%g_rFվ&x3MszBs;6^%)l.-UoJ>=L'cmDYFd7G6Oi#)kzk^uoq6UrzUȻ//$ ;J\YX̮NGCo|7Ƭw֨f_8;sVC#_2`~? i3z+',ۃѾv) <`̹Eqgv}"񣰗} l}rZ YkVV@^#5w&kwKYB:&Y9Ȼj#'{gئ8Py,;=bw-#qvt']X+KQ|Ȼ|KwhICse}hwϣ"^\7م }AVOjtݳ#h|M6N}):CEIZoD!1jkU,̀cMړxR<~?UG_/@\ݴM_/ |1mD6V{Pt²KboFxc;!AT:E݈;`6'Gw}2ۓNg}D7n GixE_ӜR{~Lwr\b?j胎` P6V ~w)&CY7㸨+2o?A樭>/gE_ɪB`Zly\ ^Y"~ xؓ+臌d̟RkJofN yA&W4Ⱦ[쨿A }ߵJ]X%H|rJeqz'el&z[GӢ!§S}c6x?:nR͜/^!Eiqc.'h@_zJ/9łu]3tboeͺ:{5qC^x*tx?~-בGaH;?q^֛Ё2Ζ#7)0\_Gc5Ջw-IouP]v|/f9? ؗ!WIsi3`1W;_+2ńwXrw*}#.sNiފDWf5 SO\pI]ϔ+gΕbExMzۇnO(:98dtexv+ !S仟-`!/nT>=qQo5tHd;OiYZ_5"%2uRcL~32z8(}4}O+V]k/ġQ_N zEE :UW5DΫ?\Ϸ&("Z=7 a{,:FEXrνG gU5YuG[~-P?cO#]??{_t"fy!0Μ\} \A#i=o+0g!:LP)pK*Fzb&|:2\L^ge䄃F|s1Y݋MuX&hp [XY&„Y_|#S\KH-7B:i[v n?XޯvK$f""ǖ˫~NaZY'R˵P竔;EBʯׅ.n-'{{x~ 5' (@/bthܗ!)K%8QtM,VTL?{/>xqJ[&} /% 18 ~`VN׈IFeG@PY0˴oHz0H: gDmn ^GW~K cnFgW92W7>y瑩F]1tcN_pFQ^446W5/zGtfE>wNx|\̻[wCzl&Ɣ_{1e!iv1IH~~| .uZ\8η*)Hv-z;+`6@p +{Ο̦9ďf$M2\K(1-p}%C4>l}.c9OY׀{V[/ql#6܈{NRߺz`V_^>Bڃ/D/~IDvgﺽ})ǘbh{:Gx#vU*52>VuM9QJXXaO/\xw.fCM/:k}a>VcKK#{xvijms^M]|㗝㺢_~D뙥jkUdSa}Or@^5"9~8iXKW=V'w7Q9Bw]KcP_Gt~D,F~KZ}.)^:rEzcۤ~gu[ #{&znOfNiq3Gf%_yg=}Q< F_V=}8fKϥJkN]7zA Qd/\X d?ӄw']}ke.1g@EsT=|4jU:F|E_xa;l}@*L_iYX5Ee*m;+{o1]jSAHzgC&LNc-]/Uo֐Sc*L5喝$BҶ4n7ڞu~4#sHؗM.Lt7'.Uaoy˱N&#RyNYz-|ȷ/۰M:)޻7CF {.ͣ.;x'j~ B㿻䖽ߠ5}ȦX.#D|fxX8g|#+x0cUtj oC ī}CxVЎ}91JM: $->Ƭ[{V=9,3S?aqX.87=b(f<˓ɶ#&>k/qMI--q ?sG?l^w'Ћ{u'.>|} ܈8l),H'pS yv'oW-BMOOm[ W#?^"'}rkwm}j4[Ӿ8x΀z|Z%tw"K)_ ytIۇ tM^EoA)YA_X.O\;p0L}7w<  Kg0sUyob?EhUdb#iJ8ƿsϳI3!z] ?mDpe[gɞYۮα8-R% *8,<2xgf N ~IR|IxOKׅtO3>_BM[.{:EDg`ȼYzG_ 8%F|{ͯS6 d U|jl'SJtW(lV ݫ[}EkV}}RNNB#c;`wxnr:yޓ4Bl޾㺻?>]v#o{x ?OIM0Lyb^N˜pHP&~a3מv_uC8]ɕU>!z*1Swn:߂y:I+HRQ,g0}E6^Ob1qj0}>C"3&7Фvs_^>JG7g-{-tGGkNwݹd١3XkN8EyTB]R 9sG0fX+ߊ[d_GFeEQoTڦl4Bߧ# _h9oztxͳm)K;993&@?=3Gq/f7 |Q7>:J?9'k5#A7]#Ä􃘁K) ?|>V'=&w (O|lxxpRj_.E\k7 /-~ fz둝IOHZjiCwEt y$zgP 6-_pښFgzr. =yYS1* Ÿyz'Avlݿ]0w!Kv'VA/Or5FX)sYA_3z~wMՙ͎y*-B_uJZ$#N7uoO\3X>vo[џק1o{ jTWcyXxFk<_17g `~XfI>v5fc;{_U cO75MK}CPm2] C/ޡxǐ]yVBX[ٮs9Cq37 RE<֌-gObP8x߼M.ӫ4n@+y'#Qk^>`֐)\GV^\˿7xBR.2RĻ:k{\6ǛeyA_?C6nBv,j: :<;lf)'>j:ȷ;!8Y=wfׇTIԅmC=TE=P]5t{{'Q<~yeAzĹ\g7{S[Igԥ麊|O\ڟ"3Y;/^cs ]qXI),zD䇸fyfu=Kj%;$Fe6{6Xm%<NCxO$R%|iEva}z)@'y vEo|#'xU_*t7"v>4snXŽu ޟv8z) MxvD/Gqu5ↇxدIEXKf_ |5\E}F;#KJ5>t?y/7&Κh䴟!6!DhP9/YЄ?Ðfف;o/$Ճj%omWدQ#:hb&1ŴGhi[̾L9=0Zh=X5.4Ac&5ؚ9hEUɎdJ^ 6OF`}^5Le6ط]<-$I-{w\"<)"<*wrnUדyf/O#ӳ_Ҏ!C~$jk?E%4_>u3n5noNN>7%Fh9ˆ?b@(6Z6{ӯ&OXM\'B <}4{;V+.<&%{XXZ||*|łӖkUu :Qg=bdGK\zvR;Gg;뙎Sփ/p;L]=l!&rt)K!Gú4a{`wUՃ:Q?uRT޽c!K'.P?d)1Vxw;=˚ q+C/'=4ag,7'p K޽0=`ݱCߨ|!ARI2Y Qx_CZ`ď;c4mjCqƸ)/SOweb!Xek-7yyaL3vv~(٩Ũ\ZA}'?b_W=([}JYFf:Е xIv\3X)Es;Aqi}ᗂp^PGˠqa O)1r/œiKKP=^v?yݠ(K /TWRsU{C5p+ow}X>+dce#'j5ԩ 7Oz= #T2 [êB;;g ^\\`$n`nqS#E4ެ֌!{Y)~ںKBiw'?%-z`ɴ_?#^++\/ve5"&!:ji|?K5[;gGtM= eȾسo)AJz0Ʀ]<<|<<<<2mЁVx;kB1k΅REigPקR%`DSB}ai8 ?g_äQ:6vj# ʆ~dnQ-Y@xq*n;0]Pᤶy SNsI0$t Jyg&ճPNnTSnRHĚ?$g$51^8$w~&/}uie' @ޗ3a^+ 0j{#}(" S7z/ohy#ЄKZ@,S ehkJ@3P?-W+ }:J~z!jjo|9C?'Oh{$ gO˂ͬ >~HUEuj$V28ɿڟjMY[/: 30JQtY>mt5aATt?{O?ۊp!"^ Qn7ڹL[t8 ܦօ3H#D?9dV[7m߀NGghT_9-`hĚ2}^s^ )Ω(<4q]Nҽi/g&:^|]^3M `OV.̺rsneVkw4G hٕXypLs6w=&b4-g$W9Jj) v<y7i(I̹yU[Hl['x$܉oH8Fvl܆$+4BWjԖB{meIGbob ;$Qk "~K |Rs̃3.༜@n⪌t^*4, }mN0>\W@fWn%뒾?W1|2jX|lZ>n >Rܛpkɪ542o!Bb]tc h]ue#2)=pdpkϘ7.!b)oy.P(h~foo@S e7H!v);tZD#tPі^{rT@ۡvc $d^$d]R"]ye&06psq!7?mFc4ab!r%2 ޫ]gZZz'$Q.0.o PWg`+ܖc@Kӏ[y`u4x"1\md+@/.nLju0WS70L:mޏzR@_;=K6[`q{QK K}K#|7pU[=NJ]T7%q Ε-J_@UP{ S"+4x8+\%#\l;% 3ǁ]N hFp~ N|۩M@(~go:?4[2πں.A" Om}.i]1<[ >0{IBoaF@P(%/FxѰoQa}W(r[H#bIxs8b,~ğİ Mӄ<̳-D n #?ChSaTeOL:Kr_ؖ߇]B04L&]۽8e=,z!@ X*-YnP ~٣EK܁zYiR I#MkD۲=. ح򌂥$y[bݥ~^WЬ>9k0{'nHJt=ގJ6jSK.@8~Oz3!*eM8$(-gp~ǵ:noQOy@ծT,f> In⋼$ 5ᯮY_||[҂э6@ʑRmƮ'r3N070q5p޽2|sk"J st 7gq<>njLQ8wLmZ{omVYNOr)Pnݗ 0iQ-Պ9jǬw_v=0vt$OFv>+Bm#Bϲ*>?6|oU0@{`SD'>`)M=v ȇr+w/*ByHjh ufZkěH͊J:p:UqH>1￙ D9Eh+dS ʗ?MGb}˿E7dHII X ~:2\ ,!Ƒf\~^3j.E|sţS@ޖziE>.Um>[{%0܆"kҀZf?N=t;nx3>Tx-C˷C.XZU]ק-`*U6C̔!Pe="g@͛Z(Ec 3C#E%oR-C0ͱjvә%PiGtiUr$c/h7w6ÜfS20" `x^_P^ McX2[atU#pVi%ю9E\vc]0um8UVe#'6k,z {ǽ`.<$zkAIl/s^'7Cw -Z Sb~2D+`^ƇQ* 7㥎{꽂'aHq>08LHfC( a>&ɻ-<NnoXT/m/'t?!7,# ѾX?4;|-ȝj/~\ai 0bdž|ԙR{Dj/MyШ8%wYkC@pw ZE >66W>?vWmc wiڧcʡǡVDZzӚ bhR+<UXQ: d-EkH[\3Dx!y/EZa*Q|ڤqsV@Hy ܔ,0<XT}Tֿ_?%u#^Zl|zBYW{ٞ89&*8S=g/ obkξ@^ ;&Eh,7kGf`qKuqˠ֩?`Y}c<]OT ]j!( G(W9B'rh&oN6KS4oOrtF3=Wֿ8Y0Y4am!$ӗk+}f.;e; 9'Da"48jڶ閶QظPq7rr ɩ{n2;7pY#Bܭ,VSmC209!ͦx@o:q h,st)76@}~w,zDWl -H #ޭ'pyn#|џ޻K{2#]eOsg% ێr9CNWrirX <ĭc 8&'Abt>sޓ@;39r -% 6!+RkS~Å(ӳ]!cB*,l8m-,c7]yU>iKt330/5l[ܑyM9*W+ֆB}5s26;W2J`{ۭ!t `<;d~Sv]C@ZuN]k|XqW9иs) ~)$~tgˇ0m*vRDX2Dt:$Yr l JQ.O`s5J3 (6~% =ku^FsI2Y`.pW˃DʴHi9d[%s .XHfy!N@o,j땘W)}=Bw4З߮x}p-3r|.}kq4Yɹ7 +TsD{Mkϳ3ԑ܇O鼏eo86/{X cDznH譓j=,V j _sd`묬1`[J͚Zܰ;$#\ʁ׀eݞxX~@<Xփ`i|J#,w^r G痷9Id v?6 ;=~BF$V5hُg09p[:0Pv\iq̓J/ (̊,?dNJ\5L+_6䚱 `6W`y#W0wT+5,F| 4O'.$bU灚6% E]{%{MQN'5 9_Y@rh^S&}R|oEhF9/obYl3dn?e2 @.dZ6`d#ksJU7ɪ6Z[^|&~@ڊ"`z MGoBnS d`R\9G6R獯W<*^Cm+6v䓅җT}EXۇo~9jnIx^̓+hk('g(qSc$q{ʍ2$"3!%&e^a?:qS@y4LIwN|8Ɉa,eOHV%K`.UO{kLx.Tsl۲nZG~F1NL@\?GwϴSx1zЫ&~{@Fa1cXL~@w}^$Լ`i'ZV:`p{y ](xb_>W9\XH ͕`xFu6_[Ľ HtJÏ2"t,ʘUMc={hg8Dh~𗟐0{ [O 55vzB&hd@⚹y)mLiǫ?Ģߛ6WhSs,+J5P5Wn>Py򘵓9(~O|Nnu_Lu_@ª=b@6=/ɯ/nH(.ݧR(/j_/U//KO|=pZ _YaUEs/)t 󯃍`I灅Vkyxs}{XDde>Ж[q^EHދE#DkRq_#$>t?v/!Q99\̫.[Z`IQsS+* x ޤuO. H6MD7xA4"8\Js?Y]o.ђG[`|g) QOh([$2NDW]/~*`ֳt}PqM6-G:if?ԽjSr~Fd]zw0ܦ{ﻬhe:Sv^]R7An}=[)Uz!^GX.}XK#$]Y[ ,yV0+&0-K݆;TӘ'N.! + g:l#q>n^ZFٕI/ b ~}|E$vP*\Z]<,9XvۑmHxsAbռm0UEMavӮ{$bm<:RI&제E8E ,c$'BEcy>v9I* ψУ vÍ:09\N[JAOI+~+ _]ft(~9{?nvb Pz7ôUx`/`ݍ򠻬)`Z^j}Ae]tpp~#rٞ7*0&~_.ZU5 Љ+gtz`or6-~ '2y(P.E5o-da$䠦jSbpgOa⽈q؀)j*?bWc3kh_ ":s[YWC?X[mT_"ѱ@{xyWxY< uvz/EB%bG ?O9MHj6X]B@5>s?AaEj@*Y so|>!oHE`8 AbNQӊ(.L?٧ Ǥޟ̀{(^Ȼ =nNz~8}-OvJMN6wdPC*t5i76ga(fN=W% 1~~zj,"[Vݫg@qT»;m3[aRħQ J1?I@j"ۊzG\ A1}Xrx ^đo/`~ШL)i/S\t`6Rќ:Of#_5ҰJ裈OIN Xژv]%sM!X]?ǯfH~8ѸT ndb_ܷFq:$7(=3j6b=8)?0=?']#~?u:Q(>hW A7' "G5q |JRXA>ps4yVXڋ>n^ KF/wRJX Cc}aOmziM,?ͨ쐄n0ALENZ>YcHQB Fx9lXOE# q wI{՛RA邩>-!O-u~rt &;˯ ߮StK?YqƗsn ?^#9+6֯ZK5w9nA/Bo&RLrA!r+5M-D H\Te0Ϻ_ٲ5о F^>uo!&$iVfǃ}kK oW˯RaE,t4" Q4ju]ةh~}8f<#,t19hhJc1`e:0~11"@5r)yo o}= ŵ0B𑁶v#qIøZ+5,<`)BF 4nprDr6{l 型>9\]зIfp>D@y2#&6etj!""lX{Q,+^p(W NB$?wCSi }~#e _C_}<$>r~^W&ȯ;qmat=V̡*Q0-%@wߞs^Ku?cj8IKWzTrRq&6gv>.=M\ȝ0nNs}#ߊAdJ(HNBɰDujó].lnk`kվД2;uBz$`lmvm6s O%Ofc0|-Qˀ4,e_[NahB:$XhlZ[\GۗaP;^A.5_$ߋ8wgnq>zLց4$9٩\#yo\J䑬?uQ@㜺UN 37-Q> | ,Ob7VB-?ǯgN˱"F/LØCկʁ:ٓ=e M%YK H;pUψM#!wwH槫s"DHX0+=)F 3 _ޔDB|ϑ䠼NQD01ˀX7XP Hy+[F!|Ξy_"$^rǭn|.==埄D4PfմƟC mZ=F.B,딏9@l SCBU0`Jo G|`ڮ|?#AYXK/!NpHoOhiW+EC: FeP^ ,O Ln'd|Dgc{ҾKA>"L,Loxug;IC{Upq[{^:06(.܇pƗmo! .s'UB{tQTXe/-#QZiq0[A u7(wb9Y]A f?֥0o7P_4߲!T+pR|.]k`ɽ:0|v㟒cK mc 캞< ӿ\, knW80H f]›@P\uLp8Ap^l:6ޝz (q#I ͉3ݱPSUd}ah"ny^cnLO.$mG"]~onEJFFEBa55.%wnBbo2]Uښ1K$>)JZάEWY≴Z"mٮ Hd(*H_Ei<υ]r)IU+"_>G/D@r^%*`.{3t P}k<dIQh>p-nNa#.ܜf-(\G)H.zc b{oHB ӛ῱c;mj8$!P>/Fzս @ʽ0 &%z!cA͝[\$2ݜ  mvDz@DmuOF#.}"$( ~i. tK? ծkdT+6O;DpVuCё vUoCۧeE^4C[&*mg`$ʆ )ocܣ9q 7ؚ;I 0MU7j؎oyl8kfuڽG:LJNkW &m׀ҠF_ΝG{?*h> .l=x~d= hy,T95)=z7nNWJUooA]SKfqS>QJtulDkݻnHlxs¯X OsޕO>%yi~[Cdhsw?` GYh,P:J oi L"EF8c1 kfi0._O/Ψ<&+#%GlH0;[Lͅvb$AWsп?p?S@~۫|",UX\֖!<3_o[u/x:r"^qQH(iYXDҲ5>Z-2wRa;uA¥ln25`^yF#лa=T<4L5'WYߔW1mtm1v@s*]Dx9mc0#(.H5]ںzxgXrpMyN=EoWc/usfS(ɟQr(]M57܃ga$$9xCcGvz@K$^J2ip{${go!jLɟ{ TT@x2q φe0{!;"DcU~ĸ˙tzJ'[h8uhCB"pݾg e>[A +"LMvukI̶s/G`wj3~tP?U2I2`9E %Z@`&•|v3rB峜1 XܚQf%}^z0*Ry-X:ad^pA;A?aWu[[yT#y,X I0k~nc"}q->-0Ϩo7o#a_];8Ρkl˂JB} %]ڏ7#<Scc\>Iݝ BF9Vr`/_3>Sǟ¢([%Yd=$2[9VP2¯مRy?1ov{l9xDd=nK)$$4*1|M1޻[3e 3oʫ]cJuPKދ9'OZ@b]o휄gf%[teAYvc,{p} JǪ#9AJnKCޯ^@ZۤBZ E%+!i1SIJR\M"fdaK9v XodWwt}L훁;^V~缠o+iy+$bQp g6ELn9MCf*)PWQM B6U~KVkI׮*c[:?oDu=VkJ='bn;$QnV1SZoF[{&˅ C 8|>ѿGmKnދ:}Pr" fŕk5ـ9DDVOgu>Nj5|15eR HDIFxwg\.zYۧ$t`& +$z&$M0Rmm0]$ @]O߮} Lqiq.D;pKy=[h‰l ]+SEb{Z( ktK̵ׁ9~caW/i 3Ҭݚްjn v<SuW,Z~Xur> M8V|2 Hlsp`MxUKq{RTƋ_[laTaqn X`?UZ !|oA ,z߯/*g0ǻpMTXsy,B!zlֆ Ǫ`WI*W(J}R_e`jK{vr2wҰqF G˾y,yzۈCB&R[{$su0_K3= N{frP~VNc)L-ln5I/33؁R il<V0r:70" ﯏N^y؜r_ ,58ji+|#k %E=[Xr<{1"4IiG>hR1fH3*Y} LO_ǟT| _:[xgqo]Os8w" v0FHq[W(tsk`VԶWKkOuIjbT9)_/ec6BGձ躟qH/d8OՌaF'oG:4l TrOH(7~n8֝/jbe tn ;X ݢm s@y!Ly=-lyX.8Zv_@e_X })#hD%O²z| 3 'a#ϣl%4ލ1z($UԱh8a θȾH*.`).Ї%;o}!uw\LU`[tϺ<* ]}/ſ3>/LE!(=Sp b Z% y1xㅬznr- ;5th,pNc lښxek;"!Q{I",XBRDس@N!/+p0FܷLM a]N¸c֦0/>󖫖U: u5D"\+4)^ιw#rIA&vĉQ`!e4,0‚gKXf`k,)gz>ƙR>4`!hٔ׮ӝHJpc _sUrO 9WtSWS&LͲE0#G_fKhTJ/6+c,18{>LEKi !.b*8iMDW!ȅb?T  L$UO=O#qq&HH++OaVv\A35@J/CI&+% t~gl$|PJѽ Lju"cfoO?h.8D|>b'Gcn:;6"E^UHmE?L](}K;ƔշHa_ꐧ~?[Ýhi !oRZ¤0ݪhW}\fnse.ޓM| #+Aua/_gg@pspl}w7># lZm|`ulV-Pm鼻i$ Ym]tlGrTgÐ$6LӲM GۭMl+JmϮрև>7#;6i[JD/|!3k(WˀK|6@ѡj.0r{]瞑y9({ȹvaR)C/x~]W s|2Ta>+"_pkc:Нcysz8FmjL%6}:D]g갾lhl +=Q]㺷sfͼ GA׭͘/PPMA:xKi=m`s4wE(Ж< ' #S:ov&)ul] t~W$^rr,H w0;|p%4T6ۡ te WS2G?Y5Ai%UFdi?pP6ҖgM`v[z!\e^|K{(VwјWRbk -s !1~=`:mp_-LT^8_ÅeμI[ o#z:D3\ xIonkTզ-16[dP,C@)Lww0H xrYzm?G7ƲU^1t?t5=ia>NeO"˘A^ IU';1.Bl •Gn UօZ⛭ P3?y~Jt,(';yz _}4XuU0셣!P<'υG 6+$?TWk'8l?tԩ謗ܰ x&g=] oc{e@=1XNO֬^_s_{((pU}?Vs"U'.D'x>"QeK TgPRg˄~1lOr~Doۓ7FSmfZ>U}>&C?K'I~LUVprv#0)>18@ˇI/eGVݳe>2BM|aW3_l=@ KTNOJL: ֋u]z9_q =iNZ:\ 1 ?SB v_EnlO Lreg(Jo'܆Mwu8@Yn Ds"$9p1qRA`/C" `Iof4?*F^@qOK q7U7+[?,Hi,[E|"zОF&?ЧVc'M=^k;5c|.?F$Jgjyj+` `06zY⹴_ϸdSx%j0>ejN[Xxy6,uq? &Kk0l yp查;ºOJA7px\#%$~ֿ;c.N1HkBA}b+i+ժa02Xy*>>`3Tupd3bĜNF4%N`%R!ܛ]wG`lnY6`.IK=jKljzKD`Ua#P}hu'059ES]+-ޕOXl_?O w8q O3uqjfd/$ y> x\vTLnX)guMUYpou<-{?ɌĎ;*T.Q eK]k5~64JY0sUpfc M? V9K>s?wAWu`}jC fѬ0^MWno̴< {P<2{I!u˵+3d\ZȲÒB,Q:סYx^ve[4^W,B&Ok?v_v7p$8ƅ7Nt"a,==~>Wv oAPѵ'}xF~.%F^l!p\®Ӈc%eUMR0^>#`IjZm$l g.)n<$Wq1Nq 9vS>Pp)AƄj`.h).N5 #>ӁH(66V9psۭOrhb y,΀'湶vGb/%h>X*ӰQF<&~e b)(=827׷mŸrPLq")}maa &P%{D2\RNWñR/Hu\\=}Dc1FhLs@oL=vHذɷKX}VgTN讌&@;Yw -r}oOD"jfG4V?).@̚`nļ1̣3> KgMΜkAQǏg{,M'n(ͪ$`,y#@~= H6Rn*sW*=bk@-/Gk6p>mL~L#w0С < 09.,pN]@#[3?` j.֟|?L}<0:?f&_=vv Am+;뭻Z 5,5{ݑv䐈%-0 *[E?UvYǼ#v$9Zȫj-c~NH8 LK]Ōc?mkK@R"" 5v'>Y߾&iX'K ]Qj^@Bם?0r=[w95INĪᾳ֦0υ=UkVhZ\g ֞WּOap}Dl[0bц OyRnZ#ɹ-~V!$:%bYPGXaD,}QU{ Fqo$TX% . S4oS? l.Mߖ (6jG<'KMǵkJZk QI_V̵""A@ɻ3 nՔ=iq޶ LŨ/;l( n5*E_b2}qwa6 37c 1 {Vt=U-F,#0nv4r&@:뢯#,`e=dtC`LYp-~v?}{],tJ|Nlaܿ|$%#nTJHݟ{Jm,R^UȺ;(or\F8oُ{[Z= \&e@90g>mY3'VL,qxmn Լ4]} p8p|fy)Y(AtSysYq0M.jt Xh7`^Oh71 RSP6]qm5ﷻ!OM|ZyJd;B|1a^at먪(,i9c_u Ul=0$Oqm;oLEB;@ Ѿd$6]tniMwNo+{ebSX<>w3򀊉?oqOhG"p#Ą? Ս?dq;O*'w`s9=vVUi{1oGbkq`|2|? ;i6RUFgIn^l79=i=8g84O|@}b_D l= /CEӠ\ hKQ IX)G=f x5xUn pܿ=kSӡȯd(Z+/qGbRFTaI> 4gn ^ _Fc8*0Uְ{T[8NUXIأ:S ]27 "4ӳaqسtgT}k`niS~8J1}NэԾс|+ꋓ?jԏbvh+UȲk1_QI`? {u ե{gD9Xv4~FB7OޛKo}w$S OIR"\_Mvv7~N"!߻LUYcL_ h[G7 $5 Mb5$d -?m;gl_1Do?sHH/8R C:d+fS#.+a^#V: ug 'Rˁ| ʯ5P@"S&;FR<+fT{c+V/-&es8&/>(0V^EGMo&by: g5 ߡCU25ԱҜSQ9ll۫aMC'Jpq{Z|>[bdԞ.$E#/9le=#;we" hOu1p@n%@ߕa W/6 ƒٝw98Py`.+N㽚^`RR'rOo|q;~P e"Ɔ$ŽA`r0tYx'\ĔF̝q@<@꿃ETĕ H.2հ5jd=Dyk"/'cgms~`k繼t?0׽;/Je1wY2ہ5y f"7όQS? e30uN| U2XwE} w{YX2}&`i^h 9koSvA\J$;*Tg=u# XɥD*A$͉H" !B;KZ){٭A޷'>ץWnF@p~CL\5Pω'#k`zRdū0Wi#Q8gHřp+U 4saSXr=* )l-ǯ O I2+FVZƄkM te\c PBxjuphICϒaFc1~UW: lOc5=,I5dz#BOŐc)0^򼤅a ԕLy՟+:,Ct%X9ntf>g&`S_V}" hvIUllҫ;H)5)pn;tW_[r=)F}b܆c01|0C+w׹Z x* UyA"c|Bu\Gg<3BD#=sS8Ormq@_צ ;卿L7A; ӯ!>1c!7m vKE W]Njc#WAse58J!e).Á[Rp`du^ވu+*F)q1==S9n?8>$"OHe)Udϩ7@qdC3<3jSK\W )i@woOshv [ҥ7SOE1^jΥ_ysy@=(X;:q@mp|1No?8=| (R+.C"g+[WB){0[.M m [lanL}DSf~6>nײ`xz_" &k{jTo1ymؖB,YwiXj`YHw޶TE@*[!B0G^*9)f<7 GM\ȲȼK>8$i="/);\b`O5wSWLwk6 ._sG{y`k,7٩0gl% }v,=J7e_ms}c3'W2a1aͰVҔRB$˼]LL#7$5v+'3$xz$aEAiuGK!4`nˉYH.{],]b# 9'$P9_˻.@ܺx@+b^r.g/< o,[i^\6Ф]>-~4Wff7x"UVWw #f[^c|*p^}Uvib={LVZNnm;|Goltȗ0(r x+? !a!!+Ƒ>\l$^f^ǚiOf P=fPC+EKquf$7-8$:pXw8iQd_5P뒺MmX_dCט, 󗸾g7h Q'faBTt쿳(c+di{!}"ļ 'b>!03Vb|wRo pD`JĀE9ykuUv"ZNI}OgOOTk~by 0&5P~[tDX}˻cRSW`)u<v/fEUݟ鎖{aqH.'5gӇ"R5"`&u='AkXħIkgs/ykե Gu1fJL>3 yKg u`^X㚀p*JPiVi] `R0>|?Y~α}!Rs'nFQ7ę|^;JeՊ #IlZ[3"lzԃ{6xrhi})\ddxujA0,#Ö `w(k wGW]@ʡ1{  @j t`xs4(E\9 >а tszyϢ;}KZ{ު8 3'(oQF$ W:giۜXЯl#@K IXro*y~H  @_>hE|,|Z?yiu{7E"t$a' XAtOBFhWT@rimUys'#v7ps~d?ݦ6W,鋎.a>FpQ6gpJ֏}?郎r薵V.`ѐckF7ĕ}%32u909$ίoG,u'K*;5v7HؚrوXU"mo!a["? z!/1>Hg,XʤLdks4pjkP.yhpTDB[ ̳CvwU@Sgz FܼYjg3W!ۢ8ojx#t\a~aqDS[]~f`9Ըoݵۼ]`(_ۗX˅˶ngMM"o|B hgߏ3tcwbBE#}x)w=X S0)Mr5 ;W*F`9wlh϶+0/6gN"@z0 $J~X\r,Kֺؚljp=nt6CuyW/XLQaHDqm`d|lM uN8T1r%aBE0N?YY4{V &/#Rm:[3ù@}iQ2ļ>F'"􏘄OsK.KNދNg;Ȩ,p(SQ~udX\1* kO3-$C-Jcyp%ocuˀ(ՑC 0ts?抧p$SjNqeD8S3prΖURB^۵vNn~|*&E}d`x|~O=>vc{Á@n.k#/GBs9Uţgn\ɝ~#cD#K]u@P49 (TA"e!M ጖_0wZ]6L%0OK 8*eZECf Aw;]L̔f0y;+<ak1vUGŌ._pN^@xyXru[qw%ۺtʕX$BK(f+C%Gua~9UL3k*SQ lŴׁM~d|@:5<2;~|d4z~5ly,P׬u juO5 w)0zI[Nf9+w#A@ɼys`·e)%-rڹNy7^4t9<SS*˗@~ZZUГ^LMG3DFekRJ g5$pCBoO"mZ>ЀYp]e/מғ3@JH#ܻ9HS8d$?gMv#.8OxΕ'|_#~ xNĐ0=2z.^pB>\JIh3sEFsvOp^1Jo.&wW+t ED:u )}#V(FYgq^q0^oˬZ= sƮ:n嫓qg \ZvSf*ztypx#?EN{w"k) ‰gr|zx_Ѧ SҿկJ\ ZW`yB0W/{*I&jS tm^mXPZ0("Υ=S*c^c|dۥ̻oڲŅv e`xo_Ғ6ŵ?C(onWajeҬ  }lJkl 0'M,vzl=н>W?ږ6O$ƞ钍ɨ]mˉZ$|LWD$;I2ڟf-}OL;ySP.0kʭN!h٣.-Dvgίc>O'9 ^֗_Re"&+1rWX_r zXX}:]?tECk?}ypz`,hO ^o+׮KfC6zijN\B /\ - ]Q6ښؓ׻0_V=s ?WY:Q K3 덱 \IHh5ҭt s…9 ]3ȏ;A6sS%}Z( $K|Lcj=5e SO<鷁/7|EC ^mQ%}o|ܮbo&7O=Je=uO#@Vz7w4!qQE 8M<^noc8mu|. F?*!6c{]w)J{x߁kba@+,ĶGnIZ;$NiM q#u yuY%&FN#gޱ)q{b;0g`W ͪu1@_86L3UĚ0$QBB68B:Own X`ZzHVeyʶ,wn;ܱ*M怼JTΐؿ0\6Yn`*8¨e3og_MԺp".s7>sdJ"棰n6 JpS?-mxof`-zv>ۧq0G2B%JME"$,d^9ysiT?p(k NfW㲞g8yps;Ƿ :59e Ϧ}K}4_W-`#.v_s_9<5 Eo۠];@ ZP8nkޯ_Nɸu-@3wwE #%ɴ{k8'|<9|5P[_nJˏXfYXR(xv8ձe٪ؼY<u>Bei%uR`7EKuEY2]FYn<>HH;B#=+?ݐݾ827/;"+({?3` 9Ct iwd8 E.u6ӻ#Sq$89{ KaZCә I{!`~|g<`@_f~|"1[6'a~=5uMY MIox߾yL"|ÕR9f onmC*f68@W,͑Pi~a>hhc,K\lNut)4f0E' a_|x3JC~#F(L Š߷zmzgĮ?46Gnc LhLx$rEB 9 ͚Ú"ˀҪ_ĘxSmN!M$ $=F2#H-LI 󋢷:)+Ֆ/$G,&hew~C-3|> 43`LH*`isFpNżMngŪ*qĽ^WZ3m`I!O_E듧)t 7"~E%X:`4 C$e~ܼ(#|g>2J{ߕ^SjRI X:mF{ޣGF=ehht|Td0- I/,сjۛiEc'%jYADx6h3G&WD$geB2pHqāQV{84u }<'RI@@YmRFA<r $,Q%o P5-oD” NOs*Pa@5a þjwzQ#Hזj_wjE{Nl2KydubMc`n2٦Ύ"@ұ8eiH[sYl;W \] qCXwܡ»M@fw{`'H?u5_-k5`:].ʩ #LSQvoʔ9NL6jύٴMW,?J4b`305XU\Viݟ<=#][‡1ἿV<]%tia]]GbE;5݉^-nS 7˱yߞ暁p+zuaS>^Gdfs]=9U[|kKa$T~AވЕ]:h艨KeTۗ*|cZJ3Z\@f;j YQYv?z=;!'g"S~ )J/ m.qI ~xRn++1Ə(.Isi?wa}a N]Ys\>vU`dɏEdfAvv6y;<0~m5*U+᷌rN|%MdJ]~0LهI/<K⿢Ų:b2ͲH yy&$3e ]c1EWH@'}noN`zqÙ"$:R& Ջ]Xq ْ^ K_e„gSnsь={ܻKFK&kd`]ك_`fX@Qo]56SuЗ@_ybda "OPr~?ZOYQ"; @̵߅#|Hfٳu _s7_dž Myfdodhþ;AVrM .WJ4icyw[ 3*{WbVo^bcBK!`Y.,٭L@y2};WN+c,̲baj)eO]\x /[6pH@\xP \!-<=đb2F2夦Ǟs@靸l>%*6 |aBM'{H>S{v5mnWP` :-!ܱ}a͝;hpO#EDNRAib&J`I-wAoj+mۑ30$7*φs;/ÄᶈێTA۱OXϡ}ڇ;lX<&8|Bqr͙ L geP.H+=3|n +5WhJY ^{U3<GF-T?, F?BG1>NP̉mW\} #_-b:a@ֺ吝="UAX:CY@j TA΋N:+Z|O-6T"Jտ.?`{gDžahxh|f!Ri˄E b^ZICHX*E$-u@e\WK%.˚~*? KӋg_) 3MW}ZaIAQP0flMـNAMo TqڪS['0/ώ0t~Nq0%?]/|Qf; 7)Z3Ʋ>[4~Ůnktv¡&7cXNdz53<):/]('u 9h>"y󩦞..2  ~ǭ{}b닗;_oy*cDqG"£)0Q eߏ җ9&M"Ⱥnx ̵ڦ ropwn&!gA' @'wW`^h ]B|Pnz]BWî|@}s# sM{H&pF@G]KCCgy~@:̝Y bLP5cDV2?s#Ai^¦ZZWto }O4W>13mܺ:nvm= ؾqMrS7h7ط1/ȿu,&&N܏1oՍvߡM.ZS߁nx=e4mܯ*tK*",eKY޺@&?^&+9y VFNog gc5{ hys6~0RMT+5wekz)z@[m0vܥżgecqgNDdOVү%2L:]Չw܁/֓R 2Zk_k㤷*iNPb֟ aâUu`qUm _fʇ1%m~PץD?7 +vMe.X2K2>=v'|.%_~~y`ټ|&- 0*`x,c d@Jjp)0p/%‚T_}T q0J֬|_yBO |;Rz;މC !m jhOH'@b~,p 0+8Qk!ZIb##>UYJY9Iz/u{KI rd ݣ0={`*[+vhrrf: v/@˖_VFi&Zg4Ȩusy-MʀDW80KW<Az7u'89z޷[]q!#^G?TjC"_Rs""a]=:R#rɩ7X?y$=s\? }_|Q< ,|o (1r |1~}7r{^Px&֗W`|`" Ƿ6>k?#z@Q|;P$~ N&Iw`-(9Q;xaao"ݝZw6Dckaꢎo g CG_E7XKA3/.lsׯ.Vb]f LVi՗4{VpEN*?G_\ [z'{ٽ6|0oeྀ%!h~20o)#yWw}gwF!j.nD8r7c70WO!Zw h0ИrkܒKahhw>擔k|7)C ¹{!k_b+5~dmWե95`jqlVI 9np|GKmXc-eh ^bC4ڶJ >$t>ΫE M{gEBRO?4# syfi*p+NZb5rHW=®~ yzĪ?z@W_}A7FCWa<v%+EZEmΰ~,u<0Ca=}0*kqF| P,0Zn1`族`nWmϬS]fFҢavJG~?[FҌyp}$k]+70xÕiVg*ȥӵi5N`<93-epCJ 䭿6I-j @߼g0Ȓ T.z TͽE:ӶD-B"RTIg[# + `QP4L!`[sЈqrflorG 6]+r% Xuzvï_n@2:ϽX5˧nݠD6H'h?ؕ`ZO2(Y..ѐQ?NuSs*`D?@__q4mmI99}T'@]q>mONJ+.0y[dA/p352, FXٔ[@/.V+]\54^D< MYQ+nJh|dH63+NǞ?{pX`dnSN;1j,;:'prkk{3`$˯Q?U) CH`玐K*eV*۽Olå8~h)@ $뵊?WG/m\6?'7o/0E,3noKCAdDHs[>2%qi!W<~md^By#ŸRr/.#~??ʥľg֖F22&ڇWl{m0qkҦأ+nۈUT!-Cnpŋ=9H8fe5|6 09$D O7XȆƯre{a)xeXX|:>_ޖ]1lXeCZ{ 6+I)UG[X ǟ.Mj̕cPkj ݢE10b,|&]|vb9x%О ^AYt8ճ=-qV+%f]WUtVB)ՙw@ixP,)Ȑ[[ȔF|}xϾ\|pq.AI1*W`&8HJY=Tȗ9LNC}E8, UBJ6,v|ۯ6B'ԕˢh}G44~7$ [PG5Y6`Qd{1N4dLigV c/7JxۡK0_~"V'blL89KCGJ乑4I-C[-=^C6gG~WA0Պ2v*:~ڦO$- Ƿ?jDǜ#N 1i%;2e6K[`t͹FH_=<NJ%q0* ) =hFxgrO1.x) ,nTH7$.*k xW8I% ªX;yW5}L]԰3Ǫt}@:hQ/&㛐Tq OpTtKku{GX|9 K=b3:V?U]:)#x#ly({]z"5Y@m|vkD ԱV J2ni?zKxw?UrFsM8roKo2dUK?)F_ 8B3\rnte;hH~^;jzqi!y1lur #K$Xly|/0.KfN@kfb5`, ȉ oG*`7,IVrӃSBƒRBthgo/3r' YsG &]9 E<`I(;4>(УJˆk'Vگ /m9v@_2,N4v=]W4.GJk >l$P"T*'~q$m[v ,Z;2{'`sԎ?~21j<6> 4Ŕ9@^ H\_xBwN&mA%ű<%~} &֝Hz4Uq7z0t7֨@~j2j;nT񳓈P~r "8h^J3|2l>W7 "qx$Y#XylBЋf( 󭪯[l!&Y-nߣY|"54wC-%; Lzc>W/ל|:[xLԮ4WpP o{Lbԍ`?߀~/B9/,] W ɅHh}O]dz82ퟚI'Fw26_30kD yY14Omoؐ ;JmDljM(~A#mDz :'a{9sD ^R4;*7u̾֡ꯪˁg˪ 60*ziNK8/vq#\Ob0|@n3oo D+xj 93A }\;Ő)| ;bz@ʻf?P-59@:,6sa.0E4,iRZ0InF8Z!j% '4?.-=0~OˎYxNR7 {ǙI0PoM%$\yagjT\ve> rEߴfzoجK@Cj"n16LOά4PN;"X ֜s)Ov) /hR.'0qM^JA#I^1YYk' ?A dO(ul,>MnEz7[V*0]DRad]?>pد+sνS͡`s$p[UVeH^}d{!e *e&`wV2мNsTm){ ݽUf.,Mq+4`a*zF(-q0y/f!±X"{ٛa(I =RfQ?E: sKz[^u! Ո+'Hʺs> 8Bе)ф 'F--*4W0ֆq"Ϛ)%ЭLpz&kWa>fc'&$|yjB뫉䴌hRأ4j o5y)p$1Hx_g0Tſ + ''WևB,bd%{x@廐^ &ZX 꽲@ii ϾkAubR Dw^+?G#ݏͪ{@vBxzX% ؿ>_< i7λG[j BGxflY_x{#PM n0N=r~N`$6$͝60,Xx5Ua⟵="= o}g@LJi$y{q5wߠ9fù\lX@^rf>n4dP NC"GD[Dz})էze!\`~t hS3SPeP4? Gcaӯ@]]3e8i/8Y 빐SaKN_,== FXd;/\8kB\ÙQv W`X G}EZ6xvn325XeM vLޟ̫C8Ƣve:D u"K.WÔbv0?@fG]GamW^O`=OIQ< 977vj@u w]ZClGx_U2V,sI;\J7ia~ظYfrK+P w]=Wc9@֯vA:rs@~ndqT?ct z Q/_K~\LD89 MKr $8C:p l/KFJXreRbfՁ@vw3K*oD*?m8$Lm!/& _$ #?f3=k]NHKtM;aϿAoӝ}Yo!mDPv3? tFxzdU|8*~!6~+hABa5yAY%Qi`啔{z 0z5ncֺ`A$^Řؾǥ>F.]o8nlgLj:8p+io|lmyɈrbV6*LVrmDB#/S7HJtdJ#0vΕB.$wc#6퇡{5 `Ʊ qzJ*{~לߊiw /ERu#g!bѧ6%hrz01.i &ekoߴ 0n8inLZ7JrĆzpr_;[l, 7X*G5+scv(0c݀cu'*S= T93dXga0~;Ŗ5|QYx:#V]rV&L''QcP&"hIIB?27k:Jb `2+|âMo;0qޡգi򇀱ov2Ñ^;J!kӁocPb0PR:aŕ(mL$t$nr.`ljtncnTǢhC50V8r0OZk-;vHݣ g/_1-"ܙn۷\\ >ǞAНP~(K{ Qqrb۶Xo6fC@]sn,p7&!ܞ32iΆ=r8ʦf'EVA>;rg>`9ܲFqOX,%sJ^y) ѝH`[oBm}?^X~$9?}(=GzKn ai398LBz*da4ܮ?M68l:[&}u}ָaK;_T* ,gۯr>>!9K>0JTY30cpWa6 a+%$ˉސg ߂#|*=0 [_%Xya0wHv Z$Ы1ny]2c;&c9?3KS)RвtyzYY {^s4;ֶ &¥ w|杯^ aSHʃ5`}3d_JhT3lT$"Bԝ*AE8z/ h+Ʉr?դ$j q~dhZۣ/ŇS&f%Ea).ʁA ֻ(# fw^z#FZu{W).[fZ߼xpGTv[rGHDQׅpDK =3}: -&NPV~'6A[N)$6rN-}X{5vj࿳/fxjqSF~7-~[^ L3lR*Ÿ&u;' rR4<~暏o8kU`Q|1 -/wjmƟ M#AMqoj`|#Ya*\ܞH\]tuO +- E\t a8} nO|^-QHP\ pYɭ$6{[cػ aSt o+(add]H>Tz1nk7CukR'Sgz6!Cng$!}څoT0Bn7r(s?pd?hSAl{&T _c#,{=ަ!TzH`\ԧ+ U~7%!q+f~/!ؾ6l|rzb9_y ̯6FaHjwsxY̲~/}u3ۃ$u}߈y~ŝHh& ד @8&M`+Roi"Π gU1w h!_|Lo{0lfZPjvպjӍ;0?r!j 6F%ZѱfyO^$ ]8xFN-+ĻKĻgy 󚪑苏a1hq~L흭0ar'6u`d$6ގpOwɊ=ֽ%j J;:yۧ|c`7`|阴307\^bli V|,ZZL"t.Y")Up 57iyP%8Yu[Ӿ-0"8xw~+ghޓjxӟ-y;x!GҊ]lƳ?RaFA`)Op/ /oE ef tty>xuGp@h뀖?+F\NN6HPtu^>߯Rn_/ɂX`Vlxxaع}_JoO 'w"7+y 0 ֶ T}ɐs5a1%8,egQalg˫DbJѮ*`7Y~ YĘZ)G`|vw+ghruuw@Ě]Va%묇?F˜Fw pm]ݥ֏aJ&lGgb$ަZK@aDa8sj3} 9J<ⴷon0Yc¹pCqwCMb:0C{ii|R:ul;&_HC7,p[I5_&nY[1~٦CHȏuL%W{7{N?Ut]ѷ"&BYR,2;5袎[/ 5H{r{[Y kK3-!E{V;C9<>ܷqcGE"ܺj/]&'IRmhx((9Ӷ`kNKWĉ@bK| |zf) ;Kҗ z%po]NKU2`Ob~-uw~yrIXO~Vo+dZ@=O qz:30.|oČx$!ku_q{ 7~~jט_p]v%ܳRg]*]iGs|`\CNs_GXѼ@>6Pi_]'\:o%Ґ_EsHh=qObe-rAlofV~GS kJsO#$/sP`;9vAzYtF?櫐2oާq$XӘ έ'5co!dY 2~у`Q4~E, S! $'Vj` '0E8tdEp0 Xd=c3 ECq~mСo e٫ Wm tG!q|=$-~#2o0$n Zm8'/^(!5/'uGA!|8+=ꡳIePz dIug"JyD09Mj+/Szd/,lϖX(+N?UE@𷿐[ұs8 _V >1?Ict?AIu{a-| "v ZQobz)>&_1V &p̂>B[6Ũw@ YY~uzdz8HsavF4?ckc 5 @ZeVa$QQHݬZL7=]5P/:tӞ&=]xyt3 K:(v)ogg3\wIcM_1([Rt]|vUPvozۦ}/|f ]\6" xTY$rw |:t1Θ3}(A}woECg*deT18D2ڥ@~emІޟ(FAlu}[9rqft`_٦hXz;Ttb>Sn]C %Dz&*ፋ/C㿘uz~z3 -r3i|kQ`yXQ`| j_^{d:/Usl%PxatZ9ܒ:T.eu6@0[ahgvT'CYI.џ ~&tI9 A c p3{nҿ)pZ?*a}07}C+UY p eLwrbnZjP:,O&| 'N(k@ X`5e4ic5Z4mY|mq!`xN6v_칽 +^nyˏ=}d01VKɟa }# >]Bba wsP|iH#PzJ *`vl~v~@=Cj/{Wp#|"_H7!.4 vSQwS8$'VD'J@?kS(9+B'0LUͲl ϟۥ;>-(=oɣ`:ЊYKxddX9GG|ׁ WeKw޼l̸o _lkySͫ@1@0k޻&wk|pj8w xN@Jmx,K47a]C:k.JĮCGRM rK+!wu ]+eqȸmGCay w3@Zn,"F-UդIbw5fxb!Po@[([_m|#scl7&BE(F]œ=!V+6&#rMLr^㣀Ghˢ /"f>#m{Ph߳Z]?,p{y,.iiϔtX^d- C[_ GŠ&e'A ki1k`}!?sDlioa~Ri+jVRTw {oCzGP\j5|ٛTX/d5Pwh=3y'] ZOA8؆؟"NQ̒,r$IɃW0:ph歽/(J񇅖GX9ZKC!|[pf3J`#<8p$ۣ W]Z6I㰹>-MLm]j ,4w˭X azgd>W zX@v{  U1=<`]zBmJ>۟z{=O zخLMx +^a\?<]<{)p0߭;O~qAk،#]钿 7vW0o/NK.[& \EUHw0oixRXD!3^񄱟;=VoŖG]RCtIb-@wMᝓf_Ict~&Mfڛ3ːPcl?x?#O$,J. '!Nk0#r>Sڞ{d߲Qt*ZE}ZNv/ZyjvEDMEt37mk?-"so fquTGOmٖn3/0su L+ҏyK]( 7gq2 ߰; |K.N&1yYS;v|cO%X8y8`']zR*5i`r+yWsi~ P,W(r%G$us;i]3 C" Ts'~A9H/@浦T`R_ 㻆0:8ؼ*C3Ul&SƪZrwiSs`n*/*VSaI(˚ ̄%D%Z{n2_DZL,7)fZ5pP[NҀ?iq"xt$WL[5^w(= ^:›ND/\8EuvE8xpoĜύUƀM`t 5, l:HomE,qUm:P Mo)PZgZFGF~ T8&!\A…o0wAF1_}ᲝOlFB__ dкFӊ o:]XQa1m*5'˱ўnVPFۣ6!3~+]޶헯#ɊD8t8Wjpx.TD.c>/V~0(ojpYiϔ)yRt_D׀QQBe  ob},5R~LH~0STMj3Я4 Ҍ+EZf"gi\'zYQۛӁ"-~js6tu`8›WH[3ͭ\pM^>tGe vV)&=E==W(Y m 5l1⃡vhx]|#}󟻀{).ؠ#|X!d U͹@ݹK5 ^{+pe441.+x2g UI @X/|h.NVƉP]`VZ*տtEz%^_v!Z=j|SyS xC+`fۗXYLM !a5-~N8 SI\p)J'_K2^l ^iW *Y^Q[U2 牢i$PgzC}P iCg{2кUe$CB ]IA$>Oْ|XԔ?l䐖 ҅LNY߰&; DsLkM鴄1(j1gաXc&ھ&{s@h((%<*)lU>V8¦U[nzjҺCUucI oG^"vnNP[y$io΁XZOV@_ ǠY~$aa?5}9zWPhF 5/\:0i"(yFye`Ept^"#7]1XJ!QD8^R$= mmyOM; x Gre b^5u.]# e\?@9_+r5Ɖq&UK@̼!1*H´O#3kدq7*K)V`:Ssaq/rӔ=.й}4,t/".ء XY*+dE^N0 (n+]zRS'm^~t4A_Z+|#$(mRS/߲ģ:$wf-9x_ ~{1_-t<f?ԤϊZoʊ5>޹nΎ,~$50r;KR ^TE0[X5tĖGH"ޣ̻|u"R9~aQ)$VI~Oؖ+o=LNpWՕ{ۧ;PgūaQS5p=Q-p1 X7}ЃZ{: ~]:!}([{'Z7 px9PIۊ)*WN;\^m^ a>2`^dVH=^J+wo9'Gӓ vOŮm0j-L|Mie%?iwOdli]q=Iq/%Ly||nϠmLDxv9?l;5G񃞾 sa*1z|2@ C@igw Kp3( XBo`> n}GE9YǪ+[(Ut]豽T}]H^9 {Wߧ6//ȮT.uԷ^)1+O;a0yB@v&픹͍h2pZe>}f*͹=ahP C^kaznctEZ[p0U< 4{ҿdU3qf zcēf0_!).JGO{HT/|ՌHh(rX$F3?+ϛ}#`IywYpEPGx! YkTٮ,Kmk}r&Y]S[O{̤Uv,aj Vp-\RkB\CQOJyP=Q\]5 ֮_"4r]7F~NEfH04b&/TBb36 &NM΃j݀MJU5[WH `|Ҩa9iDø(Jj:_=فzu0CT+&/jY/HL8q|Uq^b׵+b0h(',iH~o*zu<[RooK1GVZk`JM)O*'DasHxl(ySbtc7w,d[4Р nJܘ<ŸW T0lԶco:[a-+Sf~m,~*Ɔv>K?h-O K?+$PKz}Âk#`}sԳO&xm1k8mXznX9{.sk `۔žv+ϗ$̱cPX. AAnܼ}"o;En@YUW X %.A͝ .{6N8g&W^| ooR Y]{_ iu}"stj$XR z~˃`t<5qJWؽA"7ާ=.¼[iw^:EVk{c?c7aQAlWܝH:F>wY쮩7@zb П5WaLn-$ž|D篱N˹sc`Nž-39c8,*:oL%o9X W*GX3l-^<acm - t'` 3ξJ?H";G;YG/1UuhJ**u3 \p$x%E'XeM:_K+,iV4/mo&k<{.-}!zvN<ݹ#H4?j0c]> TŖ;ag˖_/l24@֔hF,vl?]Bdqv"6 r]('1.{\\*P*(z//Մk1Nʮ|OQf@K>ss)̿&) qa|ȫO@M>rFͯlDt,~m $~1s̕>~ur'ADS؝Tt~ iY_~k $Q3kf N̜mG3=rx {; G6H*(j5ȫrZ'$mÝ%a&-ͩEiiܼ`O7fO\nn/lC%^}IOpwnP Uw>4F^ Î9 '}>H}~>Q *ĎWMYsj_|vR%`0!˧ mDi8"nUhUG*rc'cPxr*{>?5L&߻ vbm $|8ujPo}6 :B/nBRG{Ps㰴"5"B3[kˑ8[hϘ>З;j)0zҚ!ePRG t +]?1t0"?ԭR7'0ќ.xQdB <!LvN@/*À6Fp(ߚ2~<9v4v|&~9dݟ'?◗Sк}[,JCA0b6~ 9 };dLJ%YYxyK/:eBɡMd ^H@Rּ ;:W>Ilti>;牀Q\=y wZ.Jh/|@Ҧ`|Q K'b| #UAW _O9俭֟\ cmw-51Eun1ukkX銄^.$Ιc'E M;`\?EOKxx{xRF"Z+`q"nN9Esq;IN]Qh []?y9C)`w0 bG aZ]ifc@QgioFA a&[`yʞɚ=]}U&4 {q7Z4"&S{yL0"xh*_gy w=gkP?acQj$FZənߝWj=0XwH՝o/X:0:m.m{0v'ew~BG`9֛Y,_'Rտ 5}|bSܳQXXϘiǼ. 0E *Gxy4X(T)hμ҃rX?TEHh~GfJw 0%v4,j4Yu0Qs<J};_X6kKGG/a̿">+j8ta= ֡!":E^-GgP +a <&u/"!ݧ A+`*mڲ*9"-`2RƩ;OHjL˪}X]ht&cG^}7}U~osI`:yKa&Hh :.Ǽ_Srp\6(3>kd 'z&7ri뭜DB|ByaA ncLi3Gw2և.r%,3v#UGחb`_=N9̴z8qeMNŒҡ3fgVo}MG`iYf@*JezN;ath^]t#:k%m:bOڝ\E)BNz#>saې|AIc+1>:%=J(#!!v.ό?7!A[=P|U8Xʛ#2+`TVE,W99%1[䀞׫ *j#E`|`gGa P"pT)\ɫ?ٓH!n((__~Wlh9-0Vg:([wJHK*~B."߻ek_=\{;,.[٢W{sx6W[[{Ɩd%3vb~.3 °A4NdynZC^KߞzbVX4Aޜq<S\>@,z k a e[اoX*܎-#e#kr[q녘>|>>9RP>ZDYir$%%ӤfC=vU>`hpt 7%s0nnm[9|C7cyPaHm5vzL! ?{wf#{'vCoF bq`=pgގvOby{yENg,(`kS@ij="{kp{~Vэk:<`:c+="(cJ[6 ̽W׫{#l1`y|(8:B%In@{TN맍!`/;Ֆf:?\ t7u||&h7Ͼ%G HS:E%)K6 ֋Y0txIޓn]!8$(|!c3!J,]Y}:>/},Csq]]=~7X޽G vvSX>oP']"6opFCNj_#Jx0*6EB틽MŪi3ӷpx>rW>UyO^a}8xAO9˝sADb ߮RH uU=^.yV!|mMuCi=kA ~/BJe3nAA"Хܵ_>G.O$6vg|mD>׎^eGFMϐ39{aɆV4_cC9̞ =$Z0a}xK|ǍV0gB=u 0ROE~Tҳ {ߐ tM!mU>CJ(D~ԡ5zbǛ ԝe !N+stt7$M{[>\6h)wЁ,ܲP҃K%̽eށGL$A}o:L>|; Ʊ`򤖣=\ߣHH>O؝r?o|7{$`暞&I>"~E}mp>4fW&&X\|:ddk ΧؤKi#^uQ߾F855Z7CGwK5(º|zr7EC#O {zk9 _X \p#][8{f DbsF95Ex籼ONRV n@mM8̐߀&3v=Ar~iS=V?Kƴ.X2yn йg\(p{O%P,5m2ҝ1~g^?;?[d!!#eRJHZRJQJD EȨJF{o|>羾wG9~_z>9+v]^ᷬ$zHO> h3]`.53r,H 8*l9_=,?ƺc8hZ T7L!r\w`*\2`\ZÀp|w>$964ǙWAW~\e+|ʁn:=l I]`dOƚapm$~7Cb?&3?%dLz~?穽}zNKa?Txwl+L8-ž~qhYb6NԠG`2+;uɭųHI(%:՜EпϞYSc h* '9T54+4v :uf~%/Zf$̸L>'Mz{L+>T4ed.;0rj'i?o>~,:ya{6ƅ%7WE&y$PN ISN*9Z0qb_^RɉHsп~}S 30glƂ[KÖo0e(,L˿yb!&v]2$To3'9gL=M`XkT> 7 Fl_Mj@%g,U2 JLT`ӓ@^\(yLהe0ax/Rf0;2p{q9(@w`*]+/:yHɕKvFv0DUc1LܺsdSsN[%0tv)Gr B:=u-UС~b<c0~|˧5 |Ҫ>7㾭Pia`*OxbwZ$1_mrq`jA߾QjoNWɲI5$w8;ՔP |xn$וj#49߂i0c)tR`s$_VҜ_7=s%_E`䱋M]F_D4W|[}ct}wn9OD~Zry?_O}'Bg]?9gX3avv~ %1Yw|&4h9\=U~rf]L:hT*gw9gh+\p2I‚z!A՞H[i({A7E|nNuYW3Ou=r*U IJ yӡ6YykHP2YsŴ];)_:r k/7QVP>.4Z/;E~Ge%#_.:܈MV"rWEP\a/\z.=xC)ɩi0vXmtd X"$[1`aX9"Nnhb~8. }z ,VL_5vGS'ߑAK>J0ٟ"67 "~ m|@蜏'9$<6]nvXCv+H^/kta6x/ڱO|ԘZZOظ ”NcaUUI'U]Y*Eyi]RS%GM]:Ʒ_r0XY:0&sla&ąaɿyfBd% Z!nE=Xsֱ'y_ӕ~&L$ٸ:; 蜞s9qH·Jb0TL_E?o{!N( 6zwc6C߆Oh|83g'P,{i_o/ 31 ek4`VHE6{;$*]F(G,fi<w==ä~vlY?ПQ."يB6Z }Nj-I0-P-:~%w.)~B~mI-& 8olwu6%$6K @_+a^jFԅʯ/r*Tsi69u`X[#u{6h/ply:l[fGw}hٚ 0y̷ =pi+$ےgNrLgŒvJ~Ч&U ,FmH+WD`.oyn%x-@^TW~۔13;kHvg66@#-]0%'A|u.,?ɨɮIqs8-9uD^5 lLѱ޸r^r] Nqx9}O h6/=RsI?M4'̻ոH}Mf@q@;^B{|߀SPdS@)A?yX==.d I3cv@ڳ9ߏܶƾԾ{IBuGecx=t{qs-`xf#OJl!a7$agRs-ZGO4\-&_Ū@|>Eoz ; ǀNDq5䯒LCNaNQ0=#oD ?NNtbM>J -"EѿtgÔUm6Z{TTZ<[F]9?-:$Jw:OD/|0+W7(πɣ_\<{=q+J^:o{Ӈ]w֥$G|Ci_x:Ůk0)L;따/b2*PcVAU8kEG:sqQӒ$`N7`q:l:#D)<y g9 ք}o[yu il 5E?ݳpE$z+ӯUÄۻq.(`MHpxUq#{ۂx|n1^yj&/risPeKe̱)2ΫɌ$۟)z0wYsZ`jմUa*%0 0#rȺ"Z_Q<-Я:_ԣ^4c Wpg_}Yz{X> =q΀鍍{ɓ9:uWˊs;N+f2`(|xdN{%3[I;O& UrF7^jxG#oy Dz+vM#4Dq5?ӑ cn0|~'I7&!@-OGU5kU<^:ccKKz%$H3]LU=ݹQS0_z$wD\guSs'`|Mz%j0#1.b90~gn" /=탅uE%9!0{6DOB|f0P4ѵvl1Ka~M`nឃu5-Kw$no*#9Az-0}{y 7ٻ5}}k@rؤllǣw"ܵV J.\S 9COY뒰>jiU[; fneO°Z$CnA=4ޖHzr~ǬƬ0$oR NWr$d9Vp)Jȋ^H53Ћ3T2?C[A7Ɍ~ZMEx^5E8Os߻1/ӀA\6.J\q֋0Blˢ<ɗG)1+-7f8,4G=aoc"j-Pڧ>O -W~BYOi.x͵|鴰@ <m5&¼/C$1d0Æ.ޣFBxA6M$?9[>/.g%0qM;ؕ$>,l_ A}$5rD*;hf2r~㳂7[/kq]`lBcaƃa\΃i0t,5f6d|rk1Rw.e6o--\}$pqp+jcRs ~)p 0sbph={S^NMAu3mfB nB~G26tnj>- 05aL5GL߅9ewo8i`V:yn"I]9+`NEN)g9 wɿ~{)(_@~g`}@9&DQ2Ύ-?aJzF9P?TTG"00^>fv>*,nN$;OW.`Dw?.Tg\Big-`vriHԮo8Ca.8.pc3 T7۝ /Ce2u( E/5H睅l٫UIҹBC*=q`8mS% #?͚He4avVn{F<Œ佹$pq=`PvrwIv._ʷмnQc'5?)@]$ۋSERY$VWC|Yl_ ۏ]!92rm U`磡w?}.A&qi](33K:Er-ܨ?deܨKᅓ~u| n7 S rn0dz?J,P\vTqU!Lx^BroR&m,?3r :\vkGakQ>L'.I#0g$$q/07&pɨKg|0Iw}>ba|"M/&eTy#Kasq}H(Y; ̔'ϓoWK/m¿'qȓ 0Q^=?ꫯ[/dp, 4"g SJ=&@M~rm7Fg9n-obIGM[NA_JL<[g.A- 4߭ {Ϭr~S6Lf'(!9نnY FV|jM[jftks>\1+äz< O|R[y`]#=3<^fU'68h~\^iOcΗ2ZLΝK$tK}֛u-F zv2 KiZ!g2]kb`تFQ|I$\Wa߭9C7Y`T7sm93 !7й 0$u߀F(+#_I.^1nXx.33}Q$L9c oeÀ^z!vBUrʓjfuW]Pb?yvI<+yv#^;\sFyN=g:VJ6d_ĎeWat:5k/:-*:@*fKYlz2bΧ=Vqa+?aw^R;W"[-~Aٽnp3|g׳.+Oc$L#0a-N~3!*nQ˫KKoW9v [fb& ̙.,F/েEka˄86̻3¼Y.h=_zrrnL\9Q'mSazPH~~ב{+ F >!oYm9}5#۾'BN?̕5oY~{g:|jyD:6~ $L`* 319i{Nqa#?LsFr}>7 u'A񢈼!^VAW(Ѐ05<-f&_'*摄UB_+dp2aҨ;ZJ~Tta*L9yj`|{)Y;`!ZJ{i>na k>CЪř${gW0J1OAd~pzu9jW :>z X4S/u&ʓl+?9d qt!ͥ"DNAD)ȿjWE!W7bEh`^Nvd>Őn̢-mZir((1P}Mx7y $~؟/0`[CƟrAlE.?u,gċ,u*. 愉@(_<l{)-0#\\ SF\vov=yh~T [X`Ȯ^nFКy ``ZqF=ӘF }nlx% /&m֣sz>98%߻Nuu5afò2NIMiB ys0[uߟY&Hrj5I3v鎨`NnF]خM_JMLhC=t~z7 ~rx5_%fJs$٭ͮ/4-+Rm} 5!d{- 0٩!7`Pv4|9 ?Xw. /c<* ,H<Ѻd[H*+ 4zD!T8 keO@\ȡy+aA?j `ՐH!Ӗj>3(Qc0-Г,a=벡ZXQ$LOZ¼Nko,7sd 5H6 ${BNm#v@fI]꾊&OFO#IO x &';>rWB77' (Y)Awz0:՚yZaS=BF9a9Dlx4N>XT]yYQ^r95ws߅+N5 O=^׌@Ub\$~lmޗtutZ-+* _oшˎ2+`R`E.OGnv_̵a,hIi&ld/Lkܡ ^l~Dd6;vv._Þ |oϔ`Œ|,.I>ڣ-H{(YЙX ӫgEcmM$ʏ_*|Q>vfwe>d@M햇KO8x(;0}m/ϕ8]IOQ]j KB׮\^zAg@|iȂ%KYFu[`ws ľہq3aGvhW+ #`͝ia31KצހME)0;[!q7v̿Y03.sd=JwAsIK :$`jF3$*ktqﮫW˹i`[hNS˂U@ mn=x=k 4 1Ơ>YaX>;t} \8 UV8^[QIy!L}ήtӀ -??ϯ~ x+0onзȑ{o_1%hе\/~Zp ZsosyWMtj<}!; ץşda|p7MLEHS7sW,y{ٕb9>e mY6Cѓ#&#L8\ЙdLNGH{`[24f)co5w`BV۶57HŗCoB}1_G|wv\䷽)dǿ, /`# q7'Z_tp'3[q0O?ޡs]Hu`n7ĉ~ehpﯰUySIOG%z1VF@J s6|[*W" 6IOHB:g;췁O,57?*OLdut6phܶlHh1?Ǎx\,:B58HH({P9f́ir$Jd'7nxDhxgk` b/ZrF FLMgَb\߆XSPd}ϫ_Jg/ Rrl#j^fJS@\ؘ!)3I䈯|0޼&p1X+o)0-983q Nsu ڟ}>Kq6Ŝ2!ꮤ-_tOb:LQ`EqP>mZ7yځir=$R10<%^5w?/&8rk3$Vin+#sS"3Ď9`3>G@͑æ̗1} 묻_u#q'M?kI?qlAZmz.MT*PEX̝-jihn5'.[}έ.f̲ki惖VrLW.K|nBq~R6IAk<T;1SK?ۏT´hPDW>"{q`{1ߤ~`}\O$jeJqt{y8Ih _ZHb͜wO<6ā4n%tCg`]TT27|D񜩙X"PVJY K5~_+'}Qs|ybպk$V@#MؠZ X;_/a<' PI#;$?y] o05oMVmļp`;pffO9.OQ]8=\s Q,-As$qpc$VӦ}+$Tfl~Hj+y'HBs!8a1ID{ԥ@Y*~ڴX\˵19J$a, Te[a!KwܻeXA\% S`+1VOvڑ{egCq"k$q|v$mz1:C*Y$yP#Es8\kLqa]"\HYܷ\N̄ (wx:.s`$̻4%&G>?# Lcvvk sͼ _R~#۔&ayZ`w4շb^8X q^.&<eGc]Xp0l=:kdײx.OYfa=Gڌ?|/S\} ZS>?xa+N[pn,yusK?) Q'ϰ.f&ݟ\tOrqU Wjts*u꿗{; zž?ΚKz s(FFb 4x*`'pX[?=qxYT:MTO*r.;A8:AUV@)t|}a;*G`]}Y{Ic3#@^XucT<λ^@Z%E/ɷ`@3n[>nXoR` 6kk9Zuȱ^9(Mϣʎq* Ku'<{i䵄$x؇  ,^="0<p (ڭ߲=x> ٷWIH|$|Ɏ|;UƢoȏpӯV/ՉW `7~Ǻ2az?B,/u"j K2Հב$9)tЬ' x_B=|tn3;`.']H͌jXs>e{_3-o@MlJ]![{"hwOЄ_r<6ٚu@߼Yӂ鋩};t󞳋1%s odjM&z"^w"V(9rPy=nLܤ|ǜ>1 2r]Epu\Dəߏ+i `>yF<.o`~%<_r10E(~'pEtz3q>*N' SƴlnNa[*OFLԳ?S>ㇿ/rgp1dlnoi-/8hP?sXVʕs\1<}E jgtZ5{,q~$z=z9>/X_3q$q"<sH'Ϝێ'4r·Q 6m`H'06dh-CAG@'jg֐DzA+q2w- Bϲ3^|y7͇7^*o]9| (H̃#hOsUa= >ԋ Mǜ{[ː{lyS7n$9 dYAYˍ[{qzk4zgʈ%ДВ l$a=(޴($,~o{+}`xe!o8?rs&~Qj0zbhs%T00  o[ _}>|D!nH`lziیZoI<^r1? ^y |:~ʶø޹ݜ|iU}e%F1a_A {? jp"GT~pɗ8߃9yTnE5{Ƶ?R8[I⣽m3Ǧw֒kmf=wg؆9 `n͕^r<xli,]w`)M m=sta-9#Fz?9-*Μ Բ#G˚wp2Ak ; Ժi,`J>/on`}rb"$0WK,.y.X>_F-f=s_tl! Nɭcc9X'Z ҿQ [fDлy eUT/w-L#߿I-IdC^?|*>]7gn:'SsS7k,H[ {hǏ5K€yj"~VV=m鲜n΃^@ko9DB}7Tvkyl?1* ec+%v=z692n#[ERs0$Jـ*W?I ](M%j@GMu.E/), >;ݰCvf؋KQb?{ <|lq:ؘ,T'c)0=j im3]RXwg ͗Hr"/1OyLng#wVThph?Ŷ@h=ˎu*g>w1f`X螺i׷\x\|9}} JL>;!? y"˺o.b U0os[$}vɬ}btaԡ >x+Mjİrw+c7N)&zIbǓG'`?j4F~OPy ;劏10Bo@xY3_,Cv~jUܩ\Ἴ _?}`7rkSz1X[3&;7 %ǹS~ ٝl/Te `\˾$ }1T}g{FN^ N]"@c<% ľ;h9.k䵖;pE푏~3G:9Jإ*RsΫ!"8gFnhWbg}~50c7B:ϣsGž8x~ W]3ݧWg+%?قKJ^3_@ ǹ]Mn.XGMƟnnJ?e  <' ,>j ѽ=UHª9{~__8J~xm}IG5iy+~1Dnr^c==ȓ.qqe݉B3@.8xWQ[LQ"`ZVV.Dl7MV7 G6EY~':&|ԎKr$Nm2B^|{E> ʯ}U 2k\;cQ;[$o~tqXqɋ7G0ozlLҝgY؇͍`}fyDOW4. B_CIB?0J~8scGxzeO~!wF(h@]1ߏ%P݁}c狻G-g mxCuoqn_?(,p|S'' }r*,$ '͠I* v,$Llwc`T oWڏ#r`B=y7:vET*z6IU 0Z:$>&ls/uWb<^𼻓T{&?RҶhOC/lo%rԩ%$ao'4>f]\:bOzju;)Ǖ,C"T:AϞߧNWVl*Ǿ{P+{(Xܛ*#0>f۫=c&OƉ3emI߉>@f|k((AnY]20{dW0yS#&U=?M}IxWV qa (ߺhh/fUΣq٣)MfSxW1b1|+M;/oYy]e#CS}MQ tIgO7^u,7oE~;7+}i~q#0jxkL)Ȟ@'E鷯{^m&mgVQKl}9,|s ^3'A%+ob >90Vg[aM :#6m2u9n&mv=f" ŤUv{9#i,^-{ 3l*owޟ}+ߔE0&23"+E\rO:}xNR1=U,נE/jnKv?76IDnz*u]O3Oﯾ$95Ex! 3'_Cof>|;$W.z MZG0JxF/}e]:>@_/IމbjqC߮O,+:~KTbXd MTUvۮlkuQw /6'\>2V|X|ܰ<2x{Me?̀hv>XRD%@^;W@½{tSc1d/y$#m蕾zW n0 FbK93 qQܤͅ+Tلyxyjt9" N~?x07+).X~~Ǯ(1C1W,́>!2Ц_K[ZzPc\Wwy뭽6z|7λ 3ـ#uuPQ '}_:ſu9m5A~qFxdZME*Ɓ,! ߪ#.{s]_}f0JpJ"c}l ,ؗ\Xs[14aݱ.FIXX  8M~'U1_6d'}TΌ̹'i4?@bbs./WQZxKoAJ6C;o+7PrU3"7M~aGOh]`MJmCVY|H&]B[}g7co~s_Y!_klLW$(!:nw `9O[:-3@G[8 Ԝ 0u>s#)J61Nz@V=Bnc?C[v?Y/&<@=;j _nv2[[(կ:K0PO, 7@O ܍qEN쉲;2g+A!?V /?||}[| 癒4/^<ݢ,5܀>hn>r}/g XC݅7tӯo_x8K2KA,d^jAs|E$IhSY,2+qޝF U[-ެ4SJdTbr&7BY2׼ab\uѥ嫩o]yT#E.}b_٥XmsZsV]f_>|V#B"X;c,ApR&/Zgv>O^|ڽA@T$Ko01wug쎽bϰu4-+sac\^ 9Hd}]@-d}Bw-#h3+:K# HB]GNPgx]{-s*bJ|+ c!y> P~6(fK!ΗR?/eUN-6єAkm{dk_):VD>t:sܲԿ ѠJ3&r3I{{Og gw22̋)cU5# Vӵn.\V b2_;ry@߶>uʏDNWVme3:w~`UPt9z%m}Eܲl^&Hb$O-̷+52WS8W~a^Z}7zrI$4or>P鉹["Zӡo_\VGo~z˿K++`]{,.]5 |@J zO/=e[`^Lo88=$Jq pYU:07?>UwR\s9blzC r򂗩$P6 ܅?$Sdz0G wHHFcOHB[Y\#ޖ k݁_?,,UrV̀zͨƖ2<ʹŒW?ٰ>],fR{{WEq~UG|kŷZ[ +8ܟ[ nG& 0on:-|mh O}UQ+;6M> 5t PY6d6UuXK_$(g8؈qFq; ޑ`ݒ`[~+Xei=;p*0z؁ы7.JVƝE-]@˞7xzm'v}HУ\1>,:a$TTҷx$ag +ٮ?/# GlTEdE@`ŋM{\i!}F_Q$N GOd X|˰~d\OsQOMݏ;gz d;v|G3О4 & NOUӓ;x/uX15M4 a`u "7+Vԓ;C|VR8W;N}Zm%Ny1Nij+buyŸ](.{ѿn|\lb3p>t0{q}>֞5>~,Da&A{zY}eH;ɱetP56Bzjw/W:SHÂS"ǡ4Ol8sgӲ\ `KW,ik[)wGWx{!Ԫƾκ[›BྊNxyfaԋּGsl+΃mElRdx|="N:yoVTsv0?H ԏ6-V`hK~}`}a_Sꗊi>?q[|U-`&]v{/ _?rhuwuK(3L1WUW`qBQ##SxiY^][I8_?n[y_JK󻣩|LT^'ރlޜX=ـ[ }r\a[C`{0Yomn!e[T6yp.%0 k!H'zdX"XU=0.4QA޻F:: sc\|NSX{0߲/}t i}$[۽6:ԯrbΕ-H"c\S0s118gd.#fl_^i>fҝ˦1#l fNwE`Μ۵}e7qm}G&́xN)ݮ, {Vګ{)G7qW7blPP@n?+zg|V&ك6ti& y2=z OK/Z֑Ջ%µb@ze b?qYC0rp,>y,vCOR˦y姥`yʶշurG|,~v`fNj8'^SQkWt$V8t]%0n`n粒y~A!s銓\V`Dٯʉ_4-4 t݋8?; u>fð?3mk_Jf2$dx7U=VLjxuX12sتu'ךa@ecϝC/sftkК0՞5;k=0oIx|3TOЫuqƤ?o]_ӑoY~;ktOuWpn? ol >>llV"n7.e ;m 9'o~F(* Jʅ9GeRG t'dKIUx&9cX@\>!w>7 H=%!v>3ӂk]a?ڏ-wݎѯ/$PqwO=! Uo C> W&^Nwm§NbV /X#G {Hٗjc@^S;ȏ*heGXr,1. GŝN" EVKH‹SLnXlKDhv6`qZ'u /Ŀ$a]C`E<\3Qtp/]W I¯0^~'[wQF}\ގ gA[JSvMTA_+J})&Zop.xĞQo?mB?#s;q_mi$V|}$3}uӀ^چWHbeY䲾ds<-!|{ t8m扼[ڕ Ա73#PQp՗nFlv>+h`W Cb4k 좭Wm{ˬ;yß-܇SWK1/^/C/v}ܭƽz݃R>{ES`4Q^1>'WgC}3Lf*ѾRюn{`|>tQ.>ݫo#gko4_QdVq3GN&!q'c+W7{R Ly$qwѼ)MbeO^8BZ#%0~ؚ@8sl\i{dVpHJ8z7҃r@uxs-$R :a χ^eeu|+UـK{c߫;{~ZxhUE{~z+DPrCyR "[oc~.V?$ +sxU6m;u<Ƙ6t77$dZ"|~ʙX)t^N=y`{q )@4XJ) vKBI:vަ$dηJHSI`&կȷIiX+v@rם:0YZti2}L!0󾸘8G|ߴ#r5 zjݚV֘N>x̾ 9^ZW$Y}A.|6Gv#w.^@zq!0W<ؕuY=!s;u_'Fc_fk7벟p[&1?z~zw;O\Xlnh:rQ ٽ7Ո$Jeq_ʌJnу@yNu+uԛM@$GV+;n\ǹ:k b#2$}Ow/٘79!ر$6-Y2 cN :A+c.]2Q~;zENʁEU%=Vg$}-֏VVكjt~P&"[=]DP8,{G f9#8~@{}R` z}~M x#gzŞB 7i:݉F==cȄX*XWU b8憮:njso'/}":zٚ(ξb$!pZDj3鰄#Z[#6Gj@w< 2PjYm8凌pκԍ/vs/H6/\ߵu0OrE\#ǚywry]X95%:?73aL*0ȓS&Kd@8WL8pͷʌ`ZQ 2E { +d9űa.`y$ϓ$aVgg5kMևa@1{zi%|XgK%ZI` `7Gתπ\⿊$N$`k(U?^w׏Lh]7)*X @~j[^5 ~qQn;@7{ C]|I}85 Գm%t`>Vܩ Arzfq9z3o%?uY>Uu; BCa εoE&4p_ jcWq>ϔoWgyW8wlD;)vXxi5D֏͌-roFoުy8g&'bu\ #2oN- fŚ;1;.&7HG{<<# }meDߚAHZWcoTcE|D?fi|ܦWkkJ8ܧL,7\!)_'Kn\e2W>!S//y&0&5W|bc'L1M$Pjz̹*>a`|Z& wېj">㦘8zyU{]qDıf쯟-5c"/ 7zfuq_$a!-B@nWDON ,EFE.c,: ξGnw30`h8OY}I@ J%9t,}gkh"cR6aU$y%œ U.]6u.}3Ib7b^|rr2։Tu7II7a_];rd;So$J@̍n}+a\Ty:߁i4oYwިˁ~Т#Ig Lk,2y3;+evZ5)&f@qΡo]f^1Os#Z~TtXMu-憏Q$wk+o6u, ]^4T; #/mRצ:2 ZqXKIHI#M-3JIN98υ>\cO#wX^Ƽ|X*^+~zgп)9|=tGV@$zyh"zXFa0.'o ռP\*r Ӂ姠<n7-oz3> mmŜ=P K/^#z$8^jx{DƟXUW/WM=PEe\\܀Ws<_k/Foxu`D7PG&dR/09= P̉r?q̕J.^uC7ScS*֯qRiEN˜kv:R\{}@Xa L`^]a*`/ؓjŖ&qhzs*zιn.| Cy&OY$x&W0O}Px9,`E9Az30XFqnd':U#vO?l_|f3՘?w=:jq<қ o uN!H6 \{1hB'T_#v_}:S:ב0 W!|5:uaJh%_/9:Pݞ27#x}vJ5YuE$i>M֝0@]~#Ńe{ru`N\\|ԕJ 26.8'p(6uUC> o;XX]<^vZ2_m,o_Iq@AX }79w򕧴;G{mWy K7{g$dSpT~rk1v>iPbeҳI\vp*X/n֯Ukyp%uj0IHOc쟵|E ҍVP1yFl8 때Zxq"XJ]HbMKbu9^noɛϮ9 NB!$. +ifF8Η՜͹Lɭȹd_"&׊GS~ur%[׼ 4Cw vKy b_/ ,?G5uS㿝O7)W"mBLR(*\lIx-ʷf @C.XOciXfO٦KkzȉKf?9h nL?g#my%Vl|FxUg>"MFFOuW{N}RiiP<pxU~Yw Яƥ 8~uūπ!Z>8J^~4Kةz.<[6b ]~b1m;=u?JcYhmӑUÓKN; ORer)${u8Yy嵎s#νE-xh5SbD9Vu2~[#I.(],v-}4s?`Y22"ạ]ӮSx٨u"ә}_}li!~bSsۮUg봸G]}Z~x` dPo.5!3ܖj='Z2#nS15mȝxor}d`º=@}5&osfɮ6Vz,lx#X=myX"䌰 rʟgC_)üsr7e=׻}~xHlq}g2Rc}~؎^st@W)TS#rN}<y(YҎ_PoLN`μ}OfˮG!:ӆ7~W'zܛUָ!񕙄 I0ԒD8_c0'{ ȩ|AHU3JelDNT0ؾI)c{+~0iA;8NSyCv_ftT,*6@^n1mՑSWx^< Hj#웅] Z9vz mn)BAO/xLv~PCòz:쥛Wls}LqNͼx=5׏kO~\,%ηŨBs}s Q_:XgV".gSl~lu`b.ֶ踞hGn49ĺ>f<_57"\-Z㧱*ǁg-`c՘G<\ƫ_O } I_JpcGC6A[^}` ^@9S_`]<*9{};r݁eaGO\sI|'O[¾XӺ-c ΅H\GiXPL8>O5I<>$|^oQ3g5&Pw~ g!ݽ˚mR-Dnד|dF ,1yU82b`|v(c%#>|?j!{5Cqhrz΁c{Xo̾yi&Z }v%"6 w/hB-r[0'H$V7~B2LwVGLd55G?̊N3K慐ܬ@^t{ 0J91$sJ~R.bMB>n_@_BQ}o]v)hK{q4/~s¹ U]ܒ ^5 j:/++M_$iv_Z~ @ov3ϫq㲶S: 99rTQ&@]p:<UU;`Vuo/RsY{ӞbÒoȬCʔcdm,gYOzwH# cYYgї^}FW'GV t%cHbپ%ͧp@]w=SE>{$ܞh83vH)v>׎t+Ih9cN5߿$짔vCn뙵 V!i^S݀:}@v r5/c~x移yY8Ny9`oߦ{JY!gZf/!Vm pßݽSoהO_&ϳ}]TZ0hf$жI‰/:ff$€yJ8_i6NG:vmsx0/G?>_ey[S|Tnj.(92˘{ xX/EpSRF0HmM\ngI,"bd ]o4*3JJ^YԼ}< 1Q'xN0A=%<""n>1]R9 ݅>ExHE5F;P}~YJ`|S]ֶO:zWewa}6XFoz ywc!W\lfRO,eg*}:y;PߒQ䩞W󅦸ns|?6}tutD|fީ"@L(PZ^?;R@X3uw0];c^IGOPԍ+ғ'/_r8\ug*@9৺eCfI8 ]_;~J`\b?h>3Dv:rKM C}?Fn63 =?Пp8 t[wK; /D/Z/0Kc.9W U 뫵{fr ۖY=5ݖP MC]}Iͯ6e Oh}[~z3c[Rko@y&hNFR&Wm&p0.lПHUH=}9~zЂm`s9+(Gn~ 3M;շM)y`yZ^ OջhD(mG_Vvߪ'gv,ڰt#Ĺ9(8V)9a`H""~ΟOcT6|(0M9Hُ>:ܽgk>ٌ:HiFnivNܪ%+L6E.}.vaf׮Szԫ/K1QF簤%J%SPk_%mۖ1[a$%z~&Ӵ)<̬["ԗˬBrgE-O".k~y aMDPAΘÔ߲ W{uȕ|su[& w5ĹV{`.{sk<{#J'wӰ5[G1&+@WU>>g:0#wk]ޭ' klqٻD$˰`|j}f0ys`~>ڋ|;$~VwӼ/4p^lWks ?\?l L#/π=*́YPArvZ=_ŭa`'NL`nY krwl qy5h)_:+M:l?~r_n+<mk0O]R$\AF9bKC>]޵{Mc}QGIxb1ҒC$qFdS]q)S:@Of'%vmO&th@XB#)]Jo'J|v ǫm݀mFPjE}}-#Trb-Rw=|)`}N㺝TOBY]^P1I;KWFdC̳%\y5HB:CVERBʹؑ3ksr-1KQojX!qb>sPZ&PBp\[ǵ^ԟd`hIX{kIp]KeG^ۙ0_'.mkZKǑ{a.PvA{`}Nb.>K /l<ͳ2FDC~v(# {8kl`ʏY}Y.3u5OUE`Rwԇ󣾪\,eb?/ذu*+>\NJѶOGә|8}kXE?l:!g ݺy2VÅ'p50 朷zVtJ=D?rA!N |iSCn3cҟM8?t/{HMa FSu_{ N oBۀ9P+&mU/>x0^,yqB9,>ի307Akїl<7|SJNnzI@gs&eoBݘ z3:`ek~~l/op(y~ СײȻؗo0y K"YrˇE_) wmY׌\{iQ7;m1?={sݺz<#I.%͵Y0msՀNxqUQy{huZZ`wB}Yasqٳ0hE@i̮֒Qԝ*2}^` iulg<;/*O=rZlOk+[~8Tr'~[!ysx~`=~lg"ʁ+KM /L*`V"8S'_u2Jy?>(n~B&yK?(x'!m90ţ_6c ercp`-8~m6meAFٛ98pY,$`jF"6ESF#17\_\qnEK&`C*d{~7J}"HxD]3㟭A^\CPgkUq ȍcr]>V<H#Z1oYB-z@ox1SSG߀uTJ lu@_X1s_@[?_[j8+HBnN]2`݄+<%o@nre[o4&0O2ԗݷ. p쾴w2qq^݁Ø[ɇUv/  kW:HP@^4/^]5^ z Z1K06KӔdm0y~+|vu{=tmWfngvOyOb1$|A^JhaY8Wm8ͬn:Oc9qi?Y~[P_2-:^'YuP+ΜDS9/A݈J^%lu⬰ߨM{oC^7Lc9.z2>YBcEEcJPxq-6ɑe$q;&d$.~ sε#i!9kJo`wxLl@6{Gr=,] 8 379,w}佉+_bNR9p=9\Zˇ$dQ&Ev̾FksQZdpآ||\xi-[Ikf9S霋6fyM@^\Ԧ"OכMΚ۹GqsmJ+0# .?B%(-`w*Zȵko!h T2.жJ>d.;g}3W4=As›(; wMu;΅.bɚ_^/zO#Ϥ/u)K) RwKX8b[`(.F߹agꐒU]Q̕'b*H/|nUu//ˣ>x1}l H<%xtI9 q|sy8/0?z:u[w\Z Ldu?_Y39Jo%V;O*`>֝G ڿvX6FA}W=P?f0/V0$3&hJn$}Bs4pHƗ/͵jsaWE>)~o+Gzsc六^pm]>gHʉ_j=!ՆT5h 5eZy4?1^ȁQum:9ȟ&$^ !4ߐ@nd;7_]Z}ZcN9bT1 'MN y^=,:E|{buL}R0{>0b~1I.Ξ΢M8_mw&ߗsLnoϛQ[nz"UOr0wfw{oy9oML\)c9̥%gqo D?xT^cVes]>;(EvZ3/!]aݟSFkgknS$T-beFuӮ7c EnJh_S?I\׌󱹣twK2Aͷ@p-~EWW Xm[%$1R^8_ޑĂ.6xzKI`+mDD?g`ݸmX?]rktR^x\~9kʷn] (}'Ibޣz|̻߳89zI]c|;[1PO>)GA;j>2Lt;)9Y,*mo`Te}׀s{%%aϘ i$5o˺R ,`z]-☍*̃. Ow,9#A |M\6s묬"~K19T荱2LxVn 4%޹&o_ 03oJn|UΣ$|ˁ@3ϕٝ< ЮC@%C# m^5s)Ê* ~v 6;Xh;IHq-W6[%ē\KИCj9*_#rGF`OlF<~i7?l.ydネ?$g%~dEԻL"#36(){LNb}6~F_>W_^,pjmX]SXū"O7&^"*0J$-#;?A<%@= ]Z`<%??::\FM7"]9v[$e& Ǣ"O<ktaQ`9./+2qI /Huts)sgmIɻGطϨ/&ںc?Wkm4| ԫ{ܧ 6~:Bwς/#s 8*|&Q'2OxSTET/|aԕof`9}cE3TlQ`[ ?7,]#-; ĀϐIsz♧rWbMt#pjn֬)E;\)u=$5eou!{_nNX7P:az.oܙ7$T/AZe$!Ծ,^Ufc'̟aO@WݮU:P4u#t&IZH:?Õym=$_e,%O.u⑸&w=g5vL'9`_kNLcnph9}hX#7߂O_OU $GGo2wz}LlɹՔg'IYzbҺ'ߠ^JmqktAޗ@u f0k|+ryw;|N2 [78%fx6}ϞyK薡ʴY{gB IH# z̯=42(r}Ֆ]x]>mc}Wb4\/4!Us*qDMWVm:y:pm$o nB._mrKml27CΨ7HrAjf4ɯ?{{is;0kl6>Ƽ p^s7%a U_eùհs9{-c' Hf5&-~ȳ/j[7 >]$qjuyr=Nr w7Ղ},΅"Bhzo ߃E޿%lܱ8-IOqߎV#B@|2Qǥ5$Dv <0+FMnf[x(f3W)X]4jXmfr'Pͬ?-EY52%'e>s7+ bw^_85-n}+MG)؂0},*6PګYr!g~An}mɭmKq:.Ia'G1Eg\ʚb~κp_G`+|rIl.\\!(f7jCZ^=9 0iڹĥ=|ij-ρQO+}pUgQ ZVSemh=/Cwԟ?ISۤ^ -= Tm+>iyʠsH`.ɺ _mZ"|hdq~M uк6YG3L,/QQ ,F 0<4ҫp(%I\Wxf l~ƫ %^|qn5-@T*O0I=?Ù?t/\RJRɃ@,'I&ym@ᩲ݇W|u8>*#7 y37^[=ex,M;_Gɐ㲟 IB>q"07#Ibü'W1G)M^V2[[&) _hp\F=v-ɨvlb_~ͲaXu:v;6,3A\T eM/ki鴩F[@Xnsa P+z{γ*9 E!0wL]BPu.ΊwLؐx)ص5-/1GWzn#r-^geE`1/Vv@)?|}ĠӮGX;G|.']tswz[JN/zU<=i zp같>]H8(in]c>kO¼c4ӲCG0?t.zgY/fr39 g@cInXS+\|<@UF(':̀V{Ql>Ϻ=0s S@9~0~\zE_s_j0)ϗ:cI]=<)lC/;*Y߷%~uŃ@oP9y_#e98`3+Nz wVi*>"_"}C߶D7Pkgs]Y? 9πq)< 8'͓t/ `- }O\!:9_VMX!ޢϑiN\NM]G];7t\vMJ X{'I ^/6"uV;"07I"S{Ї;makF}fK8Wb̈́V%NLdA?0uq /l ŹC5IVlT0yj~ײd>K&a|Us8|;VճkkT r[;>YQ#Ld.;̽=P5%:2&ACz m~1Uj`VY:υZc`d"?bԙш] sCџ;,Sv^yY>53Cf}:٦_u%(VӖNnľ:F,>rb=w;X[ª1Wh|$-m5~[ZnϙF K 8メ@4*՝4ߢ{ 1wK2n@`? 3i+[Ns₞x{7~bWM;V,CBf5:'$ 6t'<|F1[cef VC[am9c8a̕_r[|-K`q/ Oa}g?ͭ+-h:#*ڗl' hەlWk`yԵuKwP>FNޢN>\t{m0/iTֿZ3t[ |VzipWqFۯt~s^ܑw uZM'Onupj0'oX30nׄygE83*)]?_Ovp\ߒ@Y{iw'9?}1OW)h>(! }QCV ߦqC=o~6YF㱐R8]=<€@ΐ T5+*;-ey978Wk;Vno hs6OfraىNˁi8x$sHGm<+}sl-bQТuKb}oCzgi Il LUz9 }-2_sv{|ۥ:fp?>4{s$6G>93}DE_/*R틬1BQO D.;fU"G&tg O&}z:R{40^ 7o}kon_r$0 G нK_uIsvԦJ2^k}.s.p{6r'P1.{摒k5m}}?{I(Qlʦ'X{smĀ+WVM%pg"YBXDžzW?~E7`fCpJ |qy}nQuOq3 J~"9omX`ps)>m`?h,B.[bǖAPBan}ff륧c7YدGVhLcnaj "3d  ԍFwqT5ﭹ8eueS{1w9~\&oj3iZ aǀ& ~0fgw=$$̅}Mj#ɥWküg$S>;Z'>#$./Ĭxk)B_r)k$4 YSg30ꗲ7:R bID{*~PڏH L')L/Yu}kkssI&sX->fǶ8%*0^ Nġs,{(eMSEM닁]_m,Z m:,Tb05%ȝϬRzR9R"? nߜHo@;ZA6XozoV{* /o#xBG Ld@ϯ/e,|ܘY} N$9%#F~ֈ{gn>3ok]_[}t7D7K8 3ϣټ7KuJuKY1z96s8c_2IB㵏6 fJ8rЏTԝ})8}6 U51WI&Z~샲ϊs`*``$0Ƥ![TD:'$pAVy̨0\Zuԓ ˎ&\J9-G#׵/:QBn}jtb3쑹-{f}CuMI`y>u\|zGy +ϭ$4hDw>MnףNy'-I\o'9!xwByJz/]%v}oCq I<#=Vggj9b* /W"sD\ Iɼ&9g6poiMB[?n j̼槀{Kn6 @= y(#[$V,ՏGl7^ܤ TÉENZ]?bfR>* tS +7-jr7f Y+y;}&ʝBsšsi"'+ xNxn|Sҟ(m[ B?ӡQ˦N{Lئ/s^h΢GP]}vG_fnl+ V{qZ/ i\GOXfcNOnz(^0{b]ȟ"VOĂ_~x۹'rK G`J?pg6|żZ_ۺJZaL/g#_Y=o#/f!ITRSOmMV$v4Zq# }·}9RPk:ǁsqr{5nwS cf%Jm^ap ߝoj5 "p'wp>B5[qK.,P)V3q;p{|x7*dYotc岘?~J7hxc?=w# ̲b+-~fe$a&A]џ>`jѪzB¯Wbg3Ӌ#Ak@YL\VH66 .=Һѿn/IF][=:_b4.%4OSahg'd| 2{sUk=kE̵߶",|a9SD?۝\;s 2\SiF]kҍa+h[b}&Ea]^x乧{|Kf1gW`7Y0'H \h<=(XІuKj KҡIDp'?.y=0Mdwgl^#S .^^՚()?sEmO/=[|t~K>MzЍVogP؟Ad4&eays? XvWWr 9`_P⿙ltDgDm<6MşqӨhBp%PVEC;8VAVoUG#65Xmf[z+p Dݍӳ]5JbRخe)4Y6Bgzc`_=9cɍkno= R8`>M- hɑ ¿^Yqw~ED Y/wi`*Mj =@S(-fX_~r$៿B$ -?u!>XQgQ<7.}ADq G+Y}Y@e `o. , P~OaZޠ70ˍyEvi+?;ʮ[Th^3QZZCd"uw;N%8q~w쫰W 1yd*G0xa_F'/ aT?~gP'ۊy w *w|ͺلǟq&/sO@-{LӺZ4c b5mej%zQhL~ڝA9(SQkk/b@݌3>.u%? q^<̔{ײ\HHIm|#<$VK U,Vehޢ3gx~zOCA`n[_W27~^])TlZU'?>o5pV˺ǁJod ͕j_`=7h9]LC6ԍ$L^uƘ@2elHoWRL]C?[@#9&r8GQ#n}~nJ_sinq]s>j?IC2Ka~|3 <% _]HBG_E_#׶Fz|,DY^`E˒G[E< MG|u /EKhr"$ 4ś*@m/L}NY9: ^m!LAxNYx+[mQg O,Xrn.p5o6"ڦoY.5.x 4؏0rk^Bq GfR_睩8_X=ˇ1ظ,yؘVT`~#Y\|0?Բ>jb+J>ddq}lpjda` v\@dPWI6LJy#.̫G/?l z^slQn%7C/(ϰ; /> yŁ@n| cVNj y{C_ͺ8f{#- O<؏6O7% =ݑc1/tq:cؠ1o,F0vQ ,jr``6<4zfי} 6| ?qc^qLypyVgo*np$Eqő;i)$w5`>$fԫ yfd&б>]ƭ^wc3]hb9; ^kt_ f~RD7?SxP{\ýs1KI' 3Qms1yEߣ~>%SPT"epe_#`z;WVtC9vx{V-E*[pR)-=#3SgY_ ($^v7rkA"='ial|tTuXLn%M|K#Mr~"u'*}2D.=V5>rǁH.)j=)ի.#o$5u"_?lvBnzM@'}v# 7j.m@>B?( Σ9D,A~;8 /tV~W#Տ.$r/>kV\ #om/7]x\ɝ+'~hF>%ze߳K[twY6, hL˾þ_:>~,4mrP ]5?\gǯϡTߛFnaZb` FOoL0⧥y#*K "o5k\~6[W$[ؾ(۟׈tv qT2Jz@w sJ{~Zp'7#N.-7~X4%~e{WkRH1 sr0<^^`ň%ԛ;aD;lQPZKξ|{T6aMUI z ,spݷ i@>p3I<9H'Q-ԗjuկK pਁs{Xf!o; ঞu@?-}K)Wv__,1?\$VuMC<q>3@  ?'rA}+V:}~SjΕl\]@=4Ҏ\:M~%ВVMq:nIl1)쵇c,;c `75>9 '1|N >iF&\sJ@.l[d ]K)=9k ow},/>[8hyF%G<]©xM<$|?^ 芎ý:uvd1qrq6p Cew-~g)S+[Mawӂ$qfZi䌅kwڑ?ދ[8Dru.RWE,?3o'&Y ZA>폷H' phf˺oOwbA֯D?[eɵLxۮszs\sGZWV}z]Rke{c<`{C%yva^yS?@܌. ڨuo VEWڠd:sAXⲝh׉[3E&mw /N+W){J%c[IZƃgC¢icB/-t[NJ$a 33\8Uj4\<1`oOrCdž?W[@m^)IZF\yuӿb0c~tz<·;.,{yi(kqsޜQ)/ /GJU,}+\qpιKƹztFPu䘪TD~*42i{NqY*ͫ~JN\ |{(vI#i$،{y̙^+8~,.>3广ޗ椹P7W@>_=axr̺Q<vÁs;'5пy Ibm)QgkU=HX]ż\(Ƨ}A p^wFOcPSԍ*vNF{KN#nV,NV~\`>з%ln!9g[c0QCU8u&2wSw͒|blEm`W/+7')׭؋sŁ9kb\ y)%M*3O{$D^i ߚ}iø7.@)+\ ԍ?y/Ż<|:x# u7GAc<}.>PsA7*{nK񼲮cOs.nV].:xSËș{&s1<߅| br_E6[R>bi k5@iJ}wy;R}3@ۗ0>UC`:$8;_9Q;ɾDGOa`ViGd|w9ۿ[8r؜dEƿPGs:Łʬ{'bPrUy5%0}.i)D|v#`QWs{YpJpbnqcsOS1gyZk~,Oo `YR`.Xl@] m<~^Erhܢ~ aY|@Q o9}e:{@r<0c|1~֞F `H՝yNpC5\߀]J$xO_{Ǖ@rm?VԾ—5Nا_+?CS}ˋ_?Hj?"/4xb${؁3jFȭ.Y>%8.ϾHQ!hC菧ርS z Q{.CU?^Aw`LE\nXe\N7֨G?jά_}~MC4M5DڙE_pߤ\)N:}?8+,GCxFue TO|#~`(\vqkFls҇Lڹv+y-wgl%$ e~s༒-ssrpۗ٘=n3E t%*S趧e߷Ln>{fM=`){$5ː\ng*^}Pqz#F]='m0"Wd]'p)#\'K3'@_om%K1/$|x;kQN*3ϡ.y?9MwI.w&]$WJ$+Qos񦪀:W=N*Cx40Ǜ|P}/rvgG_t sxg~[W?qXĿ,/qG-%%%stP򥞍`vThml]99@ݏ1_ =^W?C_Z2\{$8N< 88L7.niõ9@OeC?:+ޤ/htDя_K3''W3e+Kab#:W?~(o'c("DuWUZmQ0WoaH!NQ6iLNi?.*ԏ[!W?=Oyf\_[ 3u=X )~~6`o+*TNڧM$X|>xJXmub[Ma?K˧Oy_NGQ)x!%'e%:7寕yںqȯ{׸+ˠTb_=$S)Qu Pof'ϕaJλ3 e1g?JYL/.VcIۏip}/)xϓ1KUowgeB-2ccZ)WGyK sSe_M`u]?Iɥ'0/-˳sۜ u?'G|SU^- wiְl%I9Br0}mA9[x?άsuUX;Zw:u&;\[7)l\휡+./(Im}'RI h"XۛW̵}̮󏰋#N۹R -#};^8o!tcjrTPŎ*0]Me$}a)1VqBE3$)<`^Zm`N&:X>*Y/F7Kv k!g>r.6Uu(-ZXyl(quXj~qχkGn}0w3`e`w`d5oFig.K;=/p*/̽ivbSH{ t{7o$aהiq.]5}D_Tumy'd Ћ2ɽ@]'Saq6~~_A+ceV_ L 3 @F t̛|;D`EErW =[.#@WB=9@gm-9^I$`g7ofͷb끵;-z[ )l[_ eu% ^~ Tpͽ8ԧG{a~_2>f2߶0\*^hP֭=}Jn g7&v׻ }ֆVeB[ 9c &a3kj`0-.|$lt&']3eI rʋP5rXXGX$:0AzW )Uֽ:} +Un`ϻa$UC,o"<IBS&`4hwuznzFmtV`λSdؽvէ>֔tPe0A}^T&hN==Ҩh7r_Đ\$'~ݣwq'IHiF6"Q|MC P[Շ/jNIaloӇt8]f\U /ǝj_Lg$VIY҈З^Y_'2DqA` _N{uxYů)ܲVdF}>{co~z@OI 0%#щב:. >M\B.Gzg]b(S@ǿy.tCYc_Щ|8ki2>r?5/ ?~1wFK9]qƛk\wf5`ҧW+ET X>͜!}J`ȞS<e~=ި G loMa-\r$P8^ak}p㑝xg?v MYוu^ɑ O :+.o 茞V%1`ݾ#/뀺Qq@Q `b YS`W<8g_݈r UjS 8 93$U=EX8̲?yz5>wV/(!"jbb&4̷Bp%10/gt lf`5otN~mOb5y8ؘy{Gx&ILzNrjТJdEqf 췊裇 PwwT>;c=Iۃo6';;M̷If yU-ߟ8/G MIB6C^_c?Nutp94 @7\.$FΚȐD~ mp|5i=6䶥/y]Ex̾!-?IُF^,|AH`{Ԏ_b4US3w>[Q*1@"}t؁k@$ cNuvsZSArI Zґgm h_e9/;$d@].C]l5x2s&>]`:=o؍P畕g]Ի%%gt' 7֥ O$ C`,[=| /ɥ Q/TG?eۼu>]I S6q`kEB_5lwʸ]q˯TvU8sHj[:G~[Ka߁rs ~l_55y%n[wm4Ve|Uܻ26>j Pn\s f~,~yzݒ 򂔀ciA&/b;g`>r,ނ貁=n=J*Nf5RQo_Y۷B.q}|Eu\@ u9qS ,s4P0N >c՟8mX򔅵ȭʔ1OQ)+w;hbyk;ds養P?`ii4I,K_ *H%70vOj8MGOEP279\o}m*h|_I?Z5(FNiML1вڏ7|g>(/5M:#e"#T{m!y@P[<@8? uN`;lMuv}\A`5keO_^.FWk[l!>q*QC"΃h=XZtqy2߶;Ky3ߺZ]05G(` 0K*倉iELR׻ϰ#:#V~-ՋfhOga;sJ9#%]Zm6E;oS7n"nyݒ~P2,Cݒѝz) 䕮U6a8i&͕$oxA"]}CW\vV[o~W.0TJ$#z G6ʙ!i_\@=nibx|W(< 0׳GaG~i[Gn3# GC?1Rָ\*+ ~>$\\:b(0K5c`]bR{c<^x\71Ƕ_W磘̄.^b_{u/b=:9hねҶ8?cz[3:g|$ Rք y/'*̱+ȯq?|9|I߽r7:OiF/_>;اOg ;l /t z7 ~3?,ތys[U3$J{q~;\BZ BQeJE h Ǒ{eGWapJtO47m-G'~Uw@=usINF`*`~э* 4g̶rUM!Yr7h[ RQ ٻS_&ۭI5XU|6m:)ge{j 6}$Uvn y6OWM_`7-M|pIHʻLsP7u>U?7+$Y9梌K_&"}Pk#5Qȗg :`HבhMpꜣ eEOu9 Vz}MKo_ D>:.PI X̾d'84H!*D@'{gSjV`|JK#E;rR _j[:-k"` *ڏu19yCCnW-h\\HےvLgɗz@=v"**媘.k `4~^{m ͇F*sO8*3׍kCV ݰ9q]4= w0P 4ڂʳ1FϯdZ1'5pdrN4 Z${W}(D,j0"Zeڡd[գ}?on$IT(_)W@ Gu9PHfʳڻ;>bzlSVeiyř\O^~X=?ة/ `Cp`" br-%#nڗt 0tVl.cV'v Y@wʿ <n]~K k٤9k>+EQ`i=yZ <_ y-3f"Ԟ$/+ړeu muPg$4! Kp^p'f~n&83 ]hmY̵}j"pT<|8nOuay .]Nܷ9+4_WiXf|b?G!7$%!`˩A \n;.yh]`Ɠ_o'/>mR㎚ br!r^__sWYg8o#DTb~p3A}I._jPonKoeZ+?^ʨUD{r/M9Չ.@m:L ̳d;0p^ڏzsG/dYg3L&i kRm?OXݪkB{I7{dh3:?Zµ š.icYtg5^y)';[Lw r#gͅAˁџ+}c'd̟m``TExOY9tтb`s&rhعr&w(ݍ:xzݬR%rgKhْbKnA}UHqb-7J'ːW>jorklP'.~w8֡_L9{6BPzތBL=*u7Ff|Y}A з> & Bw'OEe0(aCc3Ȱ=_oyFs=L*PAw͖o~A>fPx<{j1g*m$T?{/oR`9[S I/L%/VsiWVa! 7B7_Z '+Z;|ZDBu㮓C򏠃FZ@/{K=v\vזRSNzIkbp r 91\}>ZDrH``V y/iP Qկ!۹<39f} B+?;|;ML3}u{jmQ-/Qv/>}!α9{$,~,p}`ج/:W|شQUh`kÌлw7G.w hH 7@}aV09I{Σ8ȥV't[ʷ:]6E]cь9Px_kSWIecc`2s\SSSy9|}$qx3'a0kh|&70/,7Y3PfAHITOؕo/m%f|,1k^^VN&V)0N6{"\s̐o”2 <3ueVx6%݆e@1\} b&!\v~?{r?`.p:uiؔtq9@?x TOݩ)ۇl|1(X\gmLq:z" ?v%3ϱO?hgr6L/5ƣh;TGWZo"  -piK,fkҿ R~;̞ENHj/,u;^G/}7\+o&w[R.#]eA#ưJuJC=Z5.%@}]}WOIu=^~&I|]f=ӽg~+8򖌧U@/:i21t]J٨N7Ko[(Ir@GJxw N*͋/aas'1pQM?Ԙ(k`um~;`>,wڋq=߿Ti gk&R$9^_'2v@謣+?]uπ-??)ʽBQi;s`5'!6|=ןiCQ|(}= yZS::Zq]>>NF~#Yt$A">%o/~_+6].C[G.+0.g=Xr'+߼#g .jK߷5e׎/mD-쌚~H;9/#эWQ/'q3> L<1o}W>`USy&pJ/ۺ,}f\c6& 6' A&]ޒ_u=2:&S@M.I' c cd;PO7Oz}o)OqXb+?_ >@HùzdCuv$C滱 ؿZytK8^QyuO싻$1  +oxo ')m*R{,Pˮvr9k1}eq-ZloxYva4s#Gn FE޵<Kj>`a~UײYICIъ]@\q}U* ༸TYu9$≝mD xWxc6+!{W\;2J7*\ߧ?J¹Rt~p$ĭy϶#WI4؈ IoC5CW=Ǟ ͊5Nu]o|x:ck[t4]hiS{I",%1siHz㉁u `7D^]r0PTg>?q$Vd:op6 zf?Kʠ-ͷ yBP7VާQ~藇>ja9y{`G\~uיl@]ZRϪ@S=h n˫evUdl/j̭U~t~ IpGsnF} $3y+r <\c$Y~4 `/ Σ,5O>rD:W\Xc>wJymbU0jN@/kO#1:.#f!ǩTm~ѝIhUY#oxd-Cc@7{DI7I\jS=}}\}+wbvZ{M}&Fsq&U|sG.  1/);y^C`]0` 64Cbx(4yӏ?@э:$PUj r5@/hLiFʹtT2yQGf1xy ѵ}fLކ}zZпUZimGvH}IXR+&+^s䆁ɷ,&sGݏg$ +#؞kPE|1jqt˸RQrzChm=хz-ˀjl9na51¦'f *V/W%9]W0#[йȑ'pkBp{!0L" .;wyis+̐}Mh?4bq-Ok^j_nmxv󋧤>"t rp;DysGqx70f駧_uЖW:^F"p">/X/:I,q+Wvy*(`rVY˥s뢴S%;_6uG_!')`eX+nR/?x0Kv"0kVĠ0?.`}럄Nߟcۂ Qn=z{iw^_ЇՎ/Nk`ЗcSs">i1> m9'HJA&Ac+neaSjc%an~D [[XJ ,l~)غc&Lm 9+"/SSBo"/(t+A?yL3Iխ3GdSc'+HlֳɅd.ƺp58:VcnpY{C jr@ W{ Z\ttt9\8ٿYuۢpO_,ygMyK$;Lڄ~%̙+MokEo{w8˞H} *5ZuF_SYS[ƃ_!n3aI'&yԵe3ş&L―'waugB*\?u祦% FG}"Z>9mW|9?Y-||p.A {KM8E L)8=7X7^JM㡿PSĵrb3iva E%6;<50[ZL.Sv㜹 Qzﮭ\70:Wk|^0陯C+O2jA5IW}:%ļN?{v]8;gg_S>y1h^ f")(A^6C I vc?Yo?4 Rq)컯}xN-KK9@QȌ[[ s c]Mʍ8g@;De¾-9}׳@&Tx*[#N(_m@+g1$+Go  yYa1-7z\{=pUf?8'7R =foŒ@ڂ~.R 3kwJVb_0VXq^xU8>;%Ɓ>>#djYO[|=7|g3ϙNs_ XSp8'rq]g;> y;r3;ktՁzAk wd7;KiyQk3P>eȥd L_+l{8`6}}ЭuVp/EU 7E8 j$):G V*,dgW]@$\{Q/wߕ+ ;E*?9׀.a$V!/I/섹qY@] SLyQ7EXKKrzo^́FE7EHB~ۮ'r@{#@/3xuݟ|E$umQ[1ܷ u{O'`c-pA1/mOP^ ԀDžI@);TmzXEpJJZra_3'u8?v&SD{_@9uk0/ WzX[ᘟ$cSsi;ч>}v?׀/u1z0c7܂~gP7N]}^4%tUO.eg+W,A]]lf#IsnB^X0.mգ /fms%yAf7{b"*awsQoy8"YIg0q?0\뢣 ճsAV9:k6$+Ҙ8o=c%ޛRgdjA+ u~FtB~O4Yr*!?F벘8s _wu MIe VXϓ|kC]RFӦV0on On'wmqUgI~@xXS5s?I[񒓚y,: ^o ByP]T3P[@/Fp>)2ltz5H8*Pq͗,tQE7_FaJlཋ/0\Y璄C=Y-Va=*ůi_KqMP.suyOpoU*J(U|#-OFw~?-\ᱳ}YS{-=yl#P=>~ˑ$tT~rf qnm*.Z4bDDj7νb{U~9`W.m>e]>ٮF }ںed%Mw@gjܜ nW}dcߏ]i֛gGr󬙋wnfܧe2qskIΧ)Yn/zf xqD(KoҺ&2b8 *ae' H{uGua]b A,rW5ܾOn s8\ro p7/7fm*J|P[ź<$9wǑ%ϣo[,f¦i9Z`K+R+y/rfǗŨ?\ZޡЋk$pCO 97!/J3y4ǓoOrv>`bPE 9Ƌ>kT%|r׉M>{c@Q->5o6PnNU( LU$5{I=z Bo Wߖ\Y9`rŢZ ̬pc9z6٪${'tSa.*(Xc_(||k#z =;\tWͽq8sz9@g H -`O}ӌ_cM-jiq>-z[*Iܻr`cSsU!*uSiF΍@ɴœj3r=wc$ѷ4YAOrq'Y^Rc%Hy"o -F-χj _ߪȏDcDYokvszu{jp*hN ҥ$,g}g]w?ʹ6xHBTl&yϧlP->vR+]d9"w303ؘubpz(B`ˌubW9O:nJ !W6a.=uXu_CS9X 8 t]y@^gwn}Ԑ]`jܠa5 E0; IWee@MQu/]NF V rG@}"<Ϡn+ܸ:ݧSP7v_90Atc!I_آA9QsR *=M/A>.bI"b]^7lЗ=u JARKpN#yTsa6!k]й{J[AY&j8|~|`m LJqO|}YWwJ_Kr{MNF`$m/Eb<2t5)\7_?~]a?= #YhC1%T6q80 Ԉoc}n|ҶJu%ѸޝqNd$ uôև$/3Ǻ >=Kץ 57bDBx^R; +:J}ݍ~~ۛK]ǜ4t~y>0?w)AZxo`}:"gX4*Ng"w5`\힢sZ! yI^nV6DըWQg]y(v=uJpBi 4]v\4u懕{˯,ZyyixK\]%#ү.+tI)}_jdyS6 ,~%8:2(o{/3c$ZDHG @>\| Ґ~=9&b @_ #&ePs%β;z梃2PqQ/a@tyM_2s>a>t u3Ds{]Z>t3H%`nr|8'A HX%@Gzp 0z-;+~4M ?!^u=l~wg9αC46cOL'ZO 3)vy!v20Mk~D6(:8j;jЗv+G^L$~'%7XS$FoE ̋yk|yJ0u˽)Ï-tItj{\j#7s_/וI"iY@:q u |هbNmwG.ze^ Bhkհ<~Wq=$zrg=tvi!34ߺ׊>N)ASQFHB*/g=NA]ؿ6KZmWK{0p6ܙ]k E9ݠg' ;20W˩"ÖF@;.ź-<,8$I| ❞vcѥ%@ ?ssR/rOw3pӟI~_e֛Lݜ1OQŦ|խYm0J}vb{O[Y>}d_GES[#<>kO"/3MMگ~O 0[p=;%95x]rĭ}{+?ɛʂȾ(KJLp["*h { `~p9XcI}2@ j+Z^-0~v@ ܮc@/An"{OKJ̻:Y|qNF:.S?yp1`X**ا`)жǏIDuȽ06G U\ =<5"n_0*V\r⿋جc`$G}a$M>&JG]wq&0lzP:C#\]xx; јMlimU=t.=prg oews;3@'rDjӟ_]\\:tlw䦭zW8}́Fի1G&HsGQsޭ j4{swޣ W)*Z8ޙ=|ݾ؊Bq>QMIiSsE)%ǻY-ZW6t8{xA<`[Uw wW Y{گ rKJNZRk7W%_ԱY[p!?:ޭw3OJbۦ?ey vD kG#L72/$mX90LU9\<_9ڵx0@ߨy#,SuΣfrٱ7V1>֪X7x; zTT0JȫTzH.@Rȩ\vՑ\?ΐD|g rso+pCSn-gb |nG \3qDː鸺`~$KG%{'~"ϗIm6 څnO7NԇFUo9`)xb}dόQ%VoSzu}0Un6Sdeq%v\F-~dP8K7D? @rIuo0yȃoFz2yޣx%ѡ%0}UB_p1A^Jr gET J LyQSG$ZF!$nBハ}"?Y53k_I-=9 9r|⺱9܏C^/R,aC@rڕ_. A? +4L!=z*oׁS9+{9R[r23EuC4QyTZvڧ+A~׃wcKnNvFp>ٞ}b~-|:20wWlUE?\j&u5ըȕV.أ(|VXu# S:oT wg,V85E2 kxԵ@ϻM uI(sZ /mT|T9[r /y&hm=]6EAM)$=1<R3?w}܋}HK˩ch770[>м̥;%ͧgb, źƑkLP<Z_!myssL_'k,iXYk3yyaO1OrV.6;/v*O<8,-U78t[bo YwrKQ wW@>=o^ /v>!C?\SK͒2xDn[ODqAmE*rU'wԫDkgT}'Vnt" caY0_Mݍ~:sb>ӗXoRV<Х( `;r4~ \֝˝>-40G=? GxާЎ9ԍ́Rȵ]~8Geepkotڊ\l{549H>gGύ]yp`#M| Sr9}̧ 4\Z>VqAܔF˱JEI'5^nehL>P{x@({y/ g&+TԜd*+9N4@\Io% XȰO,V.c4qݥ4x\K[k6؄ 4u%U$vu(r8&1w$:>y>F}+(d. Ƭ)rVZs^ԽX= '5ww@_Y4]ؚ!y;3Wְ1Q`]Z=a8-E]M@ ث%Jדm9n܅]{Ёw#0/]9/21._ݳs=@[jӇ+~#N?})|]@<ఓ ,YWSW^mۥԡS G0Hq{5naIa~=G=SƼ9LKg9=ѧMtT1yqψ P٫O ?/4'u̻c{R͏(,ֱIFg&PuE.gn!Voc"+5 GF1p6WrO8(=B~oaob 7Jr8%.D{yƉuZۆn\9lKw/ MOE/OSoj֒p+-!kѪ9@`No ivje5pּ&Q}oC|1{ngL_?qM"y=~f"o@Eׇ?3 z?91|؋X2eÇoV`~~B;Y1WDO-q }86k|M:#*Ryv0GfmyeM9ޏks׮`>݅MIJ czOC<@]m; 6qJ p9ZϕXj̏f@wUU@5o]$»ʵun2VcB$cm *H1`nFd{s7}QZ|z9mE>Ht#(zvnD/E<5v*\?EZh./ŭN_/p[wKݐlhݏy)c@Cr;mm$1[ Qv3f$|uSq[n?}K7CjrLfB<fb`ĬMjcXx{q݉<‘|!Po!g~wN C]vߺD`, 7 $kGnb+7fi #'ŵv3ja!%MN:gIBF-*HL @&Dhw͙̤ W|qub*+zT%<>Gȏɭ{vc{<XsGbErf.& Y؏_Ń0Vozl$إCȝgL䐄lyg8򸸁}ikL^(6ȋudHXΒm\mU(G7Oz:_O\ zNKھ}.VqsQcW3I"åRPY9rmdž[n{~z0P'gHyk#=,HUVbsWFG#g;QxqJl:4|}/3 c,Z>#$rR<+ۥ?,{tf`ԧ)}MYs!gK򳑗\ Iݤ4Q}I`ˉXA+|'a9zAa`NsbI9]6%c,S+K||g7PVw4^OewoZWN7 yGHB7v6 mz|9h5 ọB>Etq١y@<0'oN>tH__%;"ξԦe=}>u9o>v3 urw- ":T %X>ͭ-}5׸s_A}֟E~94wJyՑ0S:c}Hק$IsD7/-.wV\K`GB@=?5Xg S;F}ǐ+|q mOu9(k<hTwԑ)3gT\՞UT.-|T?,*\Z.k{OgoF{F8#kliŽ( }矖Y$I$d=޿L(PZwa| YY°]o}c10G*>5j}Ƥ=拊pf>H5ӟlz;5`zq5>d?gL_gkM8GVIIg3Oa^{П :e}CWYfz7odDAl[gnjRNUQù~wI.1w@VN֣+95lk åQ!*`=ӧ^oywM90:7{ƹʗޜ+71sOp_y?yi&)ĕWaS+C>#"n~4Sn9uB. ^~{A}:aM`Q/zF kM싨R8M$\Kҵg[\>bG:_+*J mp<.RqY7$k2a L͓]^0'ם );ٗρZʣ/r^ؕ'9@o>\v:s3~;^GQ Զ١b&(u:Eg/b`Dw-}y-å6i: V_vu| Xu-5@GΜ˶SNOЎ4_(ythk~>lz{Rz*07M}wma~ +Aa^Y~Sa`e92/̕x?d~|&Gwc=r,-^`R+ M߷Dv-q&'24\Yl7PUyےdsDF?!,* ̹$=ׁٞStBw'VoA7ЙZ}řE.c6b_vI޶ظ7>bm$1-5\jH֔<8Rzy1+e6Z ߯lEխəW\o/`?m,Co\߾3>5['PTgVGy9boVE+\RF|RbE&o,YcJЋLJS$4 0WVwUO@GXD ޙ]V@QR,n1Jj<҅b\3-fL/`+εrqaҭg8m;3:Bd'{c=7Pqlig)5z0Kk )#x\Nrg/v\5[QkWF{R浳W|o >-PO9~ Wˑ˞;YxȏXSlչ$X;3|jKg7/vGտѓj lO[cX$Lu8 0̵8X Yt NO1$>um_yx 7囪Ïҵg7׽fn{vmA`+޳Bzq% հo}w,i:7|rgyl:c 9kPm<Ԛlf Am̅qI{n)0JQ♈%g&xqUƈ/l6xիڹ0Ol:,KߜuOݾrȷ /_S'ʺRKa~괋=0fY+ΩA]{nz]۝6 wn뤦Ɲ 1PoWF$'wKs~N= dW`vM_n7+bQαI~p '@)? 臻.crǖ^=4uh l܏sy+鐃:7xIטI8/ -Q@u+#QkĊdaZ}$AjsJpap)?Qu{ۀ~!f>_ՖCව GR&^b>o\t}al1Ԟ\~UޛR/v<՗fu Z@VjDWms 4JccƁjL-7"q]:7$?v /3D?I9 t|Mg$ lkF  iyoYJΦ`C:ܳ ]ʣ=]}pn? D=RO$fysKo>wiSʳ=I~z}R\zȾJU__˫oh޺aubΐ0ge<O/m]>wA #+;9`f|O@Z4VR.dČph‰s1$ᒿzoK Z. sӺt0Oxt4=?RQOd]4B.wdK;tȳko̊ȉwZD8-ڕsL'-0//cGUQm&؇Ċz+H],WIs;|W#rZ%苮|I,? ~'":Zw51TUlXz>xOx31Νw .Cn=/oy̬8E9=| sw1>nY[yu0o;H]Lvh{ck-"9e7y/Lxz9P~ނba`oPN6X?[^LՕ7pXyc ёJg{ۋE o}-ֲ!䬵glv n[2":y7q?gX_)3 ý?27}#W'+Zj0WWb^_4U^!;! '`Ζyi+b 1 .X*_>IWgO#GpM^/WF׶>NN]sY^V8y8>I<>5%+;Jѯ@~*I6G\}Wqto :?z:qu{g7FZlme4/inst/doc/0000755000176200001440000000000013216511171012633 5ustar liggesuserslme4/inst/doc/lme4-extras.pdf0000644000176200001440000126556212565075351015527 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4624 /Filter /FlateDecode /N 97 /First 801 >> stream x;sFťڎcw;lj%K,ɶlQ$$H9oII&Iキ{o@ Y~yo>QK=1 '&a!pIH8RQJBM.E(8sPa T&|hp!28w c6'$/ cpdx<7x. g&\E@PiQaKpdDP :s"$]xHaI sؖ lL Ƣql\j x".:,GhIrk%.OWd'9Ldiwd.s#ƎzP^ ,Eg O&{ ٲE*YT|Wʽ#{OYss-ѤLs]/E2#Cl[k HjX/xj`t VjAP SBMA Q{CD~O^m>QV^!7d1v='wfIJJ#Pτhi \B|,&VR2`AW~x a|F2jz -}xL‘ W+q/ho?[ -✴_aCC|ltjA}`)<6l'GR Iߎ㹑&i4!ˉ )V4Y6B׈+ 4&'+`RlGBLk~U^asNr𻺐/HLr2Gi0Wsܯ[GثOcc ɮjeџC:;l (L -E88E3E,Fh\FFzFzɅ\[\6z̜+ٙ <ƅeA# ~>*TvPϧ$ՆF[9nY"F>Z䗧K*Y|iRٹ#!¡* ̕811aevc&9XĞH%a|0 e+#*#Le'4@h9ZH.Q gIМ@ Òt-I␒D17'![.˙1Z,hSpJIL Sf9 >NZc-$TqG5X89h+sֿLsXEPPyzAաr9T%U*Pv*͜UmwhVFAWs#@1պuoE|SݽQeб\ 1ro]P)gl:0]U@cZ*@騑TЈp=~1R9p[aPW۪? TxxlRS0j8VpJSm'f8):B6-E(]n}GA"GwwR}m{K}Ӧv=FJ^l,Jut ţZ4m:"n: 6gg14BT)7"CÜ*~Ĭ 7а"ScjVW+k);XĘJ8vf _ݥEUm!loW׮Qb%MOFX1Qjg <"#k<TNro4.|Byq W- R?6P&T_vaMѼ&,$&# k88lq 8 lrL.cVЭ6>f/kKZRj {5M:I{S٩8Iʽ]={D^*H@sRXeV,)J\_-mZd4tl>7mԵ 'Ɠ۫L72)ZT6T;h|՘ 2A y .U㍤(VJ%@9P=_2B)?3(yZ#sS^,KK:T)C 0`RPGH8"]j7ᤏ/j{ UbU#=}Cpõ#K1 ht[ bTؼj!/N%"h[ T])mK헤(h|k4rURܻ}6-k6'Jd%M>u$auVҴG5k8Y/ǵc2H%]Ж9BάRҩ yaVcԌqJ՞F[~FW6ֿ6heGIR)^@$C#Vói;4cg+{ {ztO=}fœz/ yݔZ.#6b1n/pZOТvhǾ]{'Zo:3"Vu2;fiRreG4ǧzyV43㻆adL"USw}Gj~کQcҊ7[2 6W A;W2E҅[W!J+-`C}\Óըwr4Nj4MgLwCJ֠?t{!|/xc݄1F֟af i Ӏk`i 4MR@}cRބiIv Հi54H pS@h 5#8c=;N8׭[wzـN:iƍ'|r.3 ^X9,K!8뺧r͛O=-[vi~zWWWwwwOOOooo___֭[m6<<<22cǎ;wOLL޽{Ϟ=ۿדּ:9|>?55U(Ţyӳ8pT*͕CU Ç;? .袋ΠSL@j`P \KnV LnS L@j`Gp_r%^ze]v_qW^yUW]uW_s5^{u]wx7t7|뭷vm~wqwu]w}=s<>C=Ï>c=?SO?3<>s? //K/+ꫯkoƛo[oλ{|~G}ǟ|ɧ~g}_|ŗ_~W_}|ͷ~w}?Ï?O?Ͽ˯oǟ_φFR7pI4 iﬕ)ot6TFn?>s?tnM[im?ݥ+ _Fmmq8*U1=oUj֭TNzm%2WenK괙~N+$D;'U"خLICsƙyoR$3ѮqߗxSXjǖɪ kQo6oVbXsvʟn4^:.Mܰ`%3ƓO&syi%5mC;XVܴD֝`cKR.2~o ([8ƛ;Z‡f)e1R]͉- 5OXG#ۻJ+'HҊ[AQEiU| M6eUPQ5˩ڵkW*]N4+*jrjqqQ.;Ef!u4NSjnhLr5},fzGeOw}V)[A%/!Zz:rQu ^}kU},ŗ^zګ/0р)1jC CR7-IZ"#EiNk4$Cno=7P{Tb?IdEƒendstream endobj 99 0 obj << /Subtype /XML /Type /Metadata /Length 1534 >> stream GPL Ghostscript 9.10 () 2014-11-22T15:49:45+01:00 2014-11-22T15:49:45+01:00 David M. Jones CMR17()() endstream endobj 100 0 obj << /Filter /FlateDecode /Length 3625 >> stream x[Ko>ͳwr p`qB@F\R\S3S3MQoOw=ѣ6t&6Wg&uq|3F^Ik6oUQQmg/N6Cwgwc3۝ b#>{!=c`;_QҸ֪$etqSQn P6 *v7 r6rsIKlֽh1Bz]pB9(\(,lEˍ46.e'꣈$IWYkX@i0<@zheQPH~#=7+tas_Q>۝owd5Jh.H5/{\V yT̖09]dVNBd#/BI1>6&$-=+&iJU/L漹0nH1z ճ6R(|)Bͼ׳>jy6̾ ̺#`PHȊ܏[4̇R;8()*Yx7pŖ_FCtׇ˛%pGGဠQ+\Q[W;.,/="d3̗nap"H%X;oc&'G mK0~ütRQP~`Z7ǬW>n{^b I@FOa#!` ֱIV7ƫ|~Z0[\jo)1YXe`Q ߞSOA)5ޑ/L Ĕ~A`98FmCRW>!Ra^d^~?kB_cg ?fXpmщ[p'SXg(<߅DX,,L 1rx_N|>h̜Y{^-{34]UK W7I2/'.7[ȉ 8`gi=%v| {EtB6|xgPlQXQS9&Su8~7Rb0!n ͊%_-0@\1) Ǒ^S)~9[֨2I*3`-G܇<3fqcEq}LѰ:PYd Ep_\ o0XPNp|= ށ jF%|:H tgPpiSUQ4F0"l]3nl"sY3ZlŁ=,} הG^4O  {o֎{l̋uXCAcO0]e_ɸc$vͶL6#yɤүpAl6c$ D"GGْ$LGlbcyJdkDrq5*H<J] :Lp&=:Yz!vϾIկqޗB"]j@ʁa 4ڳ! @c;' )Ycs~|9^B7n StU8EI@s=͎`J}=?JVwP}ZT4[8;<\$cG/ Wz,3+Mt~_Au=p~]Z_nrCrND^h&L(x`=µw-eVS|l fW[oUF~]V=Ïwn;Te=m@)?0X!KˏKRBX)AO#JEi7<5(b4T ĮabXBYl*,?A4zze#aZ6qAҋ'\[ Y'mgF?+X0zE:݄=m?0nKAxhI%ťB$Q+<#9lX dQܾA7W|JwRZ/* ?TȽnj\+l,fscv$7uh=K@!}mS;; ?+[9t0"*UmE$ E]u*qC yZbX~}֢"]O`:3TKJW;Tʮ:XPSA.Lggm+2hD(fW<ȐX hb+uB|6yG>”Һ^j?~E9䔣S"!*z C](Zt"cip]Twx6Ϩ#3`(@Wnl^a2.X^_ 8ȡAy7~(U'Z/ jas\'mqeV ?qb{.g 4Z6N{:kW{5`긘'<]k|V{Fm6g̑S14T=48TTuCsYը,0n/G6_"I8У(S-TN5.nO;![`"9yh QIys5HQM]Pt/  z +![sµKcՉtە<z^@ 9S@cYၸ1eO |i?=k8MÔŁ<ٸ):rd^̭ pz/Aֹאi ԟ-[Iֆhj.U.oW8seKy,71*mf`4@UɐyOhEX߻0Ҳ?Zc6/<ܬ|$a%jZ%E2DB`,X h ʁiy_j%Ma+/i=l](Ch*\J<^WK k)'5 =Ws_qQpcO;;<\hoBr4gI-ƀJT)*﹛EZq~Qt9rgWI> stream x[Ks|/@ٗE"PYrl%$T+`Iƃ@tt,F$@|j1g|w|Jf<:L&_`CJ] J74ږBb1Bߌ{}1g͘؎ &3/ >[4 WX+x e1'kɷgGMЗހʠϾM /cb A=J=HuH'w"%ǫPz,P1c>c LVF{nV"#M/s7'+"aDIbz`]E&[Pb|[Qi"8L1a~.]* HN |Y=vA'36DCڢ5pg$G*u\☴lG`i76Cbj:~hփeG)<|?mzp 2Z{]:;bϽaKaw%{bgssv1_WُIʰ-Ȕ=/ZXtzYZhȋ5pwxD,uUD uTuQsȞjAq &p,Q+.P?_Wwd?#D^߼lGϺ6low`]X՗\y/jJpyRKAH-l9=RlisQ}rϖٴ^NjٯuqC8yk 1Ry9;p2^VDЛ-瓤$h1hLqM#`x8`Iun{U"`if/#lKoasdK]7GP}Kx(أkBP]i oezB$6X^;OkhM<uC c"ˎcFCY+Tu{e)%`mK ygZmZa<kR>SХ6/77&cgJf9eZ\CU,VsTJ~Tg-݋#tSr3g~xZn5qxƘĞ{ $Q 9@^ hp6Zyc26nm x.s>l}D ̪zHƑC磕%S 1Q^Gu5,듕2PƌXBWIPv|tBM;` ՏȝAe!R镰uc^KdU٘z# G M눱<JsT}IN fZg ߤ$ޢov*1[*DEm]g` JX框B7#m*@V>[iT0Y|pcdg5'>#^w[E_* ?yZ>ݞK_F U5~hz%({&\45? =Γ4[Ih4mTp$c(VRtO3PFD (:"-ݙ\;A hL77Pgt322{Zb=ڕTsAs []F$#?$ x; )OEE]*#q!<(Ejxw ! [1iM-8WS!l݂r )nDsVWu\)D+&4S<~X,׳z0ljUT\ aB FK[HiΫ ^pzht+ Si=N{k#;عDhGCCa \e3"\Matp^jkt/y1{YB/{5jΩ}u;ѾW.wӗp4z8Vadv|?/endstream endobj 102 0 obj << /Filter /FlateDecode /Length 2464 >> stream xZ[o[3A$Y/A&u\E6>XqBQZIJQsYX}C٨l+퇧T1 | ㆩI'*лhPſFQ7Z X6QJ81QLJ}9RRމ'&)=5# %boRgtRу\ t@VR%-#C/FΒ޶ӻb¿/(c›ÿ~ .OġI7 Miw>\N'xI1:;n  >qMS0S}9ؤT<'3vu.CpH]:98={gop4:jsjxx<xˆP&5Y\]-Q#WյB5ZĮUUmk[P 9@5ZY{>5-ͯ&vNzlC#Ԯ*◟[%:H*)~*_[t£jl+ѮY^}Q}xJS}\']UsS+ywG{NfF.{S[<cu`kdn|hoGc4:N>PoFcģ~3Ni%~[hqbВI:̵ mZĢMuI פ1LP:`k)_~B먊<_N@ ޞL/,]F.ISw6!~Zك0z_9ݥ=~AJbez,۵tJiڈ%m12N13*uG1cmnSt6rdOs[| 2EMkadyf'hW#O T($)Uq[mtR cndci`@:FNtWT=$ʈp`ǺrׁG \|EIU,8rHoĥD/jgyi6(ecP2lvMH|E;JVl2zn׭Yۺ3)3bflƫql^iZzZ(NG22q ̸yUEHщS ZP* Mt4ҴǤ͖cqYm =Jދeh߂CQ?c[χ3E1Mmw#WXva]RحX)Ġ2dx*ΨN> \` _|E!g,#f@Y'>u T'^O^Z&B l@q%]2tV<}Yt܉čO X]2ʕSf|_4.3%3 @^h$=]e??iݲC^'^$R\śZ| ͣ,&b`=ח?3N!qx0MDcl.Xzu(䍚+HW@iBu5}ظE'Cذg^TtU$L.]3]4/0Cz)1 ;zbCvɆ}g -<# bvNU9+U+)X3n:t{-d1H!@v/+BO>$'hhVis à.^:'q/Nb}tgk C*ɻzѬk p!XKvR7ln?\X3Ø&?gO J<클Ib`59hSfʱ5Iny5:jB2חt\\\a?l1B1=ƬF;BҤ Wdj]w^2VJۢ0"^>U;bF1y8g3G9|ah'yPP{.*g'|Mt}xd<oYz$>qU#&Pqu(tv~|5{F'׾v)܉n6(nh{2ϟcQ)t7 ܒ{>Mi}r݇!5lW3tի]UeYM}'8IVa5?4kBLVic#~}P kYbؚNl}5T\z( }1h˚;[k)5 Z?`7{wZY?Zt7~L]-ۇY:D>[ʵ{˷?YQf@ݰu' 8endstream endobj 103 0 obj << /Filter /FlateDecode /Length 2592 >> stream xZ[o~g#eY۹_ںm H-jd$('vo.=\2e9s߹OY.֓_}+ajo݄Kfk7JɩTO9rrӚqe-ʄ?Lxn,]Jiq$§\75d^'՟fܽnVN_N$RMsPnͿ_/֋լ2?`$.w.\ٜ3Xj\C[]=nx/k5^\2mBދrwS_U_,2H)\+]3H׌WښHqHf@A@UsQ3!tاkL5z ߷7".$B6L^=MHu 9ƤJ9-W4?_~u93%),W3P5"Cfc@uͫ^YQ#6,Oɸ,KۼOg{A{r:k.Y=3TmՄUϘPZz9\vG)7e(Db`]ԳsCfޓE^`(XQp K k@nwDTk~ 4HUxMgmQ(|by9yQdyo 'W3YAW]-J՗ҮV\T7v۴ʸ~Eԃ˰hkZNP`A{CNpUP45e}ݶq#teuWzfvkExD|R@(,$g&d`Sh&y!!?:h3kR,*|[ڷ}; yYP glYuX0{0ǒD`):ٜ$F2BbI׿ώ5CES%{;E-k[[FVCkJ|CC<)bAukKk R"tOʞSmJJp̄{+ETŋ*.᷶.,:WD R썵J[dy\}I4b)>g^lTnVz)F_b"Q.m'5 tk{J>#Nn=vbiEqb6%v?Uvb%ӣb]ؼhn^K슌:3$B`9}sq}8GL%wc & %Hç-=csyl.(5g~qK2 h菣1?-29q.[7t?  4ia43-:´48 Nji Eͅ\lMHTЇ{ތM:xu/e׀iKYւ(qI ?IKΠ vގLB"w,H~ #Q<}sP?gWm,Jm,>2Qv"!JÔcrJƪjKt8sܒ1\Hݮ'aK4t>C٠FeR@G @L;:|cZtxOA`#6O84"2nx+DEʑ얽K.PvQah4Gv!G01f*V3}v'{@"qvXfOQud8$R=1ʚ,ڡ%05bO;C /g8sQ7x/ BmnyEnLrQK;ގfc,$X.}K`O  R0} E>tZ> stream xSkLSg>#:E;=pld1KAjAX=hRjX(X-nĹ,.\tKh~~Hl~.ߛ/ߗϓ8&OpWdgνKqqY 3 3[!E)Ȳ=!"TpҒm0rYIcҳ2W3_lku5z5b eVlYƍ֮U-k i Z2fZ楶/lXc՚\C\aŪV30+ĊmX10 KX9N91BY\^jZMO-o58+$)DrWI#ٖC*p&`=@dJ${POGMe+q#xlrVFǀd}ҧqnt('ՖuUw~eiWx;vUIs<;15 &0#:W[zJͷup''^C"-~I !Z%#H eT]n!@#f=:[@4TWk!{/Bc?if;0t\iwsw9=>]sq.S%b{@--qMljb )DD~0|? S%ejJ.>YQEKs/<)8ǂODܾfhu!<б' w)JL#BJ[qw8 P#MI~A?D!4_StL/~(% кm9H!yH14x,#q?+!TӇQkL&.B6=..z$)|[Z(ǪH}>usۜtͮŠJh܄IF/]KrR< $_'dhJJ;x4.O; q_R)gzY ͕lfN"%:p9罡4$L!% E\=*$~ͷ|Ӓ*8LУdz4>O44ݼ3)F=I}PGpwW="ERPm~d bt5,vzS^Ivendstream endobj 105 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1816 >> stream xu PT[E07޻6ˀ`Mh F+./,ّYvI$J&<4Gmn>ڴi曹ݙC^I踄Hqs p'|)bz"B $hP/O [,_r|cRq m2G~UJm| VbhN Q䅨4Ar]6CSj UVQgŅ~U9|R#SSj (FQܟ2,|M0Al#!QD"Bl&b8)"xxX@, & 3RA^G6xYSD~bN(u_E,<н:Vrm>>}P"b>.p[..u[N^v|g<h.Ѐn4D$&'S} ߯0.:lt+Cg}uϯlwO^f|EvCoVxOdKi6х7~";I9I(El`%8_!+,ĦAR0^s{zrp\aǾ{  rwأW'.3/׿BFqZɕ(5#78ujW!T_Y%]K p ZgQ]8Q' lgI8t<u;b7[ 6eeJ= ɬBsAWdz0c鄼R.s1ClPTVJޮA"u9?8&b7CA>y7-X `vI@B!XL_@LeǡlπsӹDPRz0d jMu(h+0y XKr$`MÙ3m¢tPY>Xz,L'n1 EWzFo-vp|!^e8+ TYVj1,|nZ0]h#mA5^b˔By=x:XT\okI}Yr!ra'hLn+NWhR#И8( }c j`*BO؇$d}sjU/fC"R'LC.O& 9';j} {'ދnIWaVkLM&>\vuݱc NӤGd` n7\n|}Ҁi`=laCq{3f jBmSJ[@Jz/3Mt*.[ui<:Uc Cucz6_f.*}xPI!:ZhoCH>: _3^-W쇊S.CUbsyk7IܘI'O$:e/z)T>E!-HWWq;a/H0X]7cD>=|HG& 9%%!x.2빆4)_IzTi;ь^zLJSrZA>Avw**l ےfSmDs~bt=RmaQ=o|>7;a_Oendstream endobj 106 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3989 >> stream x TSO 9"cڪm*SQ+*IePI!d4 ,")HB^xZjg}w+^~]}oցpooH$k9_ŗ%!) e`';c4HF*Dh#&DG;N9m3縺.t\S襊 SE?B}"vF'8N}38:z..qqqUaQ#"O!0*02603"k6ü¬cIz ƙa0MfƗYƼø3˙ٌɬ`ܘfyb21 όe^d1Ƅ3f:UaRɇC 1I\zflUVƎg[pvG^vn]ݽ[b[F)1j(Qb}`AWB"[kEA$2 $8m"# uO aw+Hݟ-aŞ&%bFFϛHƒB7-YϓCm7)NweA ~  VJT[$I1K4}jȍ]YH:M&]D4ԡ'he9 id&}`5=s1yO7?|~ d!CH6[pI|Ih)2čژᄧߡ3 ٩dڟE[wvwǛ#ݷQ*CpFMV$^qU+SFf+7;q,}RȂ4<rydh<8L "قg%8 BfUX2m".sEs~-OK47giu 9<5(sR`=~9)` où8T؟MNmJ5v{3S֞TNnP(y}/ ~=y. ٶowpwy.t]xC3X?C؈8Qsv2f`/0'$W0T.ŗC^rҒTmfvD.cpad:ȘLE]) N; *n+ny7BȨ$ ²-3@ip(8tbt8wTn 1n*\SrB%J!@*!Za/-Z i 7K1H$ >*~ԩoHmg]T쪰upu|"U| ֎dv x%r9iu".ǥFBBCf[$bh̿ @ {A l]UVL %FYEa=Xv P ^dP]LFڊ.%v] N>6sdB݉r"TP]i \ɒ9d?"*@!̇4دx;J#s {Mg~DCM3@$E߁ ȕ1`yeb\S̛6V`5Xt%(j=o0@q3{|졼W 1p5n"A, NAgT)c&'p O4zB!/!Fߗ'WWGO4kkJ5j Dߐq9uHP7q'i5foþellL'đL|:tZ,z&"K$?[Pc>YpX Ж`Zf4O=.iWvsx˯M&#W3{RV I}WZ>Y/SZsZ*OS( v9px1VHYa"a?)5:IKXnɄcUM%mADH8aRu_@>,VHvtR~b9!36YIwO^O~X|IX󉋂(Bl?s8% bRAĻޔR/9XfΤV{$ر#5 'UJulB (Bu6.-TC ]IQ^Ѱo}pbf ̥v2sy)39%E9fg۷<9~opz:k"Ё~lF֦^xzțKk%)ߺ!@bjhrveç4W8e5 NqҾjkM_3s%92pLJ-q_]T0IOpHXL9݂>u _07I!eţ LN]觰4 5^ W<܄#pW?>|?'R'ܩ|pHf$?U~ZӸ-O0^#pw3,,k;Bu)8}.#%B_X{^tqV02A)_'SDN$Jb<H#xr`p2bP FJb)ߘ^GWC_.6wG!(N S#lOښh[֐m.4 FijE!0_(>v tdĮ5DutUӾ]aj>ٽwq$/L闾G =$iGpQT;Z.QT6eDf%E^..1SYBFEȑ@JP~qu2,n S@ 9ϯk(pDWgxcTxcUJZ%zx/(8$RJ1D 9|74eEpZIބKsȯ=r8/O8\JMx#hsPĥGpՄ_uv{HKkG~ >ww@PmP{ђ|asaeCq#E&=dݳ-<]q'Ṕ(j4n3!d`zF}lyp+Mٴ4{wCդ@2TnwXr;5׌ggg Yig@tE2G^= ߓcjG\x? $)6@ݡj)e)ŢwW> stream xY XS׶>1sJkOp8VZǪX8FA)cIVQ0)A8`QVowom{w>_ c3H$U=gZtJ=i'KaͱQvۋvñh(nH%%!{"'^(swDL2\06S;u֏/C?%/7/?m<2yz0^~,JUKsU-H{ڤb8Z0`h29Urpu[nb˨&^i#YHOv ]0 Vg1\ ;HYjNuE飁 VL4XK-9FG\L4/d4n4n_T< 9yq"þt88'yd/:mnh۸Y@"zgArniOn E9ǦtikkWX^*8#J&omq(醸T+H2dx/Vo:|gL\~(nXKt}3M^pbAk:UkΡpîy[%_)=ی7(PQҩL6'>ԙLSM)AGxPE>d&YEwMexQ%{%k p gCd'^G/2FcO [ iGhg֝mY0*zafgV~c!ik0n3/p]["Vrv=J.ǞyB8݀8g1J~^jZOdx o7xVg[@zȴG68BB^=AqY)5TYa#RHX\sZp PdEP]I]o];b7C9 ">h^ʅZJ9žˣ>)Iុ#3KNxڅIxAG⒜OI`t43[!1+"]Qzt/Num ӯB ޾eWYt%+qmDqxҐ 5pNW'ŘrP[_pxCwo2Zph#)7U3hb9n ovtTtVM0p+_A^ݧQWp+ \'v87qXcIO52 JA$ -;Joa$5iEH\,74ϙ!R^BI:a!pHC/=Y 82ЩWGfH}E+;'/+W}Aͬؖ9{!'/+{g[v?ߧrrAㄳ4 2NK2YI/n)]`D}÷n(ť(/n9<\xw˟WE7t5ǝ~$a~РХ ?[[{*i{J-6B9n|7 !{ި%0I8 Vr np卼ǡ50(ev檛 JsKd#NY=*ߍde(G n"[vlBxL/]i Tp:yǐpKex(J G y-!b[1p?4w,6AWjV =QOR)w\OLY2yHetwT\UPCKlB2'2Ȏ| aјwvp%}_ks/ 8FFO {*TW If$,YfJKP5 _a'|ċjq.9I鴡ӨyQlYT(8n$SUS&ڎC_NT,D'%n>-bB>A3x -pgpٺ1?y4hXHUaT=XQߨc@GG0?` Ն wcD?7WIUxV0g=RD_`2ZqSd`y-ݗ+=[ǹn޲=3`Q65i e!H9 zS %T~=G tA,p$nvj]ȼ7d߿Hr9qn_9+?{TH륢g"rU&Fe$&jޡ=-#4wޯ.1gPtMmH:(cXoCjӈh$uG 1{dAISOp.o,~A5-֘vhC15}sⴕt FhihLƧ :HOQE*d|9[B*KѓzyT̟͂,eK C6:uEbZ)Ȅc';+7*/L]5cmWBuCK剓B p:_]UJx'%S+b5n4Ǯp*BgT9'{gwc%j+zՇ6w4=07:Wܧ{aF3)z] %Py:2:OTsc6gަ<_S\G`NP֠_<5 oQ0JэUkCW=a8GvP'$lUJ$F6R+E^"qpYқhP@];dB&mGGPFߠmM0YK:r}&,MaTjKutPQTYlu*h6㽲˕:OI$ROΊڟI;O[Ib=rn6[_$g5:7 dee9:ȵ>>?`]Fn>XX?2?OO?{JMf!Յ&nˍ*KFvBqm>0\VA6/V ؒ;x0 bl0=)endstream endobj 108 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7076 >> stream xywx׶ä́b\@FB/B-`:ƽބ-YeKrE-dcb`j nBuBB ! 1ߑIrog9s^g>P{Q@xɓ,?w^XJޙjЯ#NkC}"B(Z0d["G&kmzߏ7v9hK'M2u3g`1ǎ7{Rpj=5Im6R(gj4CmR[qVjN-ޣvPKNj)D-&S+Tj5ZMMP3Lj5zHQbjR)ʑL R DQT*PKyP)`I5>vv}fCBt`F1omwq߲~S_g;Va{{.8|7v*"8(h?QlߵwC2gȹ;f 靹rU%wZ0lL3nW 5lF*'A)H^];nJجfJam]U>oai5ZI+A :(rP8;CD7~8 eI,sd 6,lTd˷iP+犽(ꅞ@`yQ愶^!ڙK 6op}v+Dz/i栦IJX.k4& GXQU(o,z2q4jUxNґF)DAJ."<hJ Ph,;a̴r@j-*P^`3wGEpwijt9h8u@SpVSqi]'@:$'k2?(@{;| `Ѡ/q$@X:m:!}$&9U"^?Iz%>g}՛T?kwdմ UxG#:Au{Mƣco>5:<OMSF8:ܩ  ֣P3z &,]ȏd3DԳ*7$7]v;&Nw<*㺅S3ga7*_,X֬h+3pnGI_A4 9ABkަ`ٵJUIY8ag83{Vtǩ-ǡPYoY4KQ/9Sfc謱5ƙQǭF;WY >fzxcP|Wr&™!(fqȅ&~ҝ^2XW][.hإ4+Y)_Z|6R#ӈ2hc,v4=anOt9QK6 yDUUYW \[ITIƧ$essj>+JJꕪx.nFݶf}wnHblfM5A["(c]Å/++'ǘfq4{5gF"{ ڨ:ZF#ȷGgzo-'&Z-icǢJZ9G>"҃恻K|,RyPgNVQh mOUq\* KmH\w"=M$j 9nE{,SN"y"0KI}-䧒xBS o.\1KMQ2Ga""_I\ \>&q]ytSՐAllL93LuLiT4)صCgV|Dzufl}H¢ZN]T5rJy0$1ѵ?!>ۜl bz/??WU\Uɾ-SWc^1Z;DzF% ިV8FB[oH^YIY,@kVݬ4whczDcqhyAFA }JN{0.W`iLQrHۘDٿT4^DE"\?U*pL!ǁ:Deh=]7̐zJ׎14FWc8Cܫ7[1|,f1KptA؃&dQwJ-~HyؠfS- fׂ8g,}hGƆ֓l4k>`!E" 6?%gJA~1QۣHXHUTɐkoTspH K;gV 9q{.AYǓa^Ӱ'q $ BTowx<;T Ѩ;E#<\ߙv84\[!Z/fCGt%^%+b *+W56lY:c0sneQo vEBVj{.D P?D1w$P2UV@°.@g*b%D}]Ү=Zt휽7@ iSe$-=̷0:*L!IK "4aYȄ2C `\r99RҴ)P9 tj"CL\Qri~ENeYrwӃhIlهnFIRBl3N |YlE}~=q1ĶZnKXG;k3ps$ŽZvd#:'7L߼dXI}VIz} n|e%5=iDf;Gjd3W( dQ! dk@C[]#)}Zub~hOHФfm?^#=~2Ѵ 4AV!C~{Uv6 4ȗFH;$C *kPv7^.Lfr_b'KI0T9"=d, iXx1\k2h'Z3痶@_x2->p 1YٜF etcp)d<Μ:lE$W鵾`l_<3d~ֱ-܆SK&u~({f+lpNw_{@[w~D${3\Y-Ū˖2446:|г7>YuU!!!!UuuUUud%6͂&}rMΉ.$R" hzI儖*dNWh%!+'P"Ic@^PP[gnG[// _)һ`/TT^(KokqXǘ8E yV@Y9_I,Fڌlbv2ϽxEke&v[ u :19-ö|ԿVR*a}K4[\R<31?/4L^O!2:Gީ Ssp X S@:-\#o:5?tKaĆuv {lqsMT^VA޽[N(CNL@ULd//Ef \\}sz_vX*Rj# R Vw> rep\'3Ud{.]ٽ,ϸKLS>23 }KW.UR|r2l>}ЕKZf93r B~U E<2yDEJEIeyř:#RcQpvywt;wRX='.˘s`ACp= Gu n3_g#S>Kp9T{#D ؊10֐jY.[0ac+X&i6 PؗB9mvT2ZɫګOd.F%& |ڍғ7ы?펿@n}&9'G$|bOq>Cձi*P+N5f>wZ ބd7(~ӢZXtX^#cJOMv-_Мۋ1콚sW B?jƘ:Xw8EM:-& ޹[NSG!MF%@wDtyXߵ 2Y!%5uGƈ;?iF17],;'LtVZ/oH'*7꣢leVZ Itr\ i:AIx >FBZqV6 `ڕ[#="}wrx2)& e8S@Wơo$XWv<:H!~꡽ 9lM|M'Z仍\U%K8,<!KD  ~N<,]w[N75|^^w}̕6{v8^[c?)8c_y"l "E! Duy soAK$ҀxH7V8ϝtG>&(YTFr>uU:na&ݵWʘ \~i;scpy<,umq #L<2yaxlIvԧ1>Ȍ`рy1mqႭ/\oڬmוH #56I#vm۬ɭ+3GHSWĞE}dS6uu<]<`~7Ŀ]C-l<삠p,m\s|Q#1* \ 3.fqS9D/_ &ޖ. ?_-~%dzaz!IRd|q1u/7dž5eiAr4%=}y;'5Z'=yԽg8?UFF kJߤ+ԇZq:kф2< h?ZEN2y9mý49_Lv.Tk@W}n;rii{(iY@vO5V MœbjU++-wG= 3h|e^ r܄29h9A*:=7Nt'e$ [!m&|vOi9B€&|fL6{- TіGI%O*$3mF~q )6g!ms/קL}y]OQ;oendstream endobj 109 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6886 >> stream xYXW̎]L؍FQEP(Ez[Rvm,]zSްD,dD1DMr{67^U"̄D39Q%F0M¾h)l0zC n4-)S( 4qi@`3]̘763Ogc.oB.|m6ry{gHHid2TWRLyxڬwvYbݦgwS{~- q8vS?`iಠ!+Cdn#v9D^v:^}6nsr6=j|bV{?fy揟÷xҶw'2RkuxcjHmޢ;&jDmP[j+JmSӨt#jfQ{*j6C9PSkbj85NYP;( LAP,&eIYQ&5eJ̨Q9ES8jeC P`jJ ֑aoQ&&wLLOM1l>޼E[ďހN :eAI~v!CBzi߰+C?lIIƢ7do\`2›a-O 9:!=|~T%/"9.1S eԻnf397K* M`|7Ƈ %`7LLwyE|zdZTbVcX Ku0ME 󡔽tܕ[rz>ðInuCWIwlrT"ݹz3 n|~RcbV>FF+[ͳxC ~0KqvOu_ޛw{v&V`X`)vCQPE9q-p1)ϋ@˃ 6aKqK?N\*FLVsdUyz&tIWPD<6]hrFSXu,_ ~Dv)";h'UXAWg)yg ɐK33>*@* Jԑi֋ HTr.ZNbAV' _FogH䲔 "OG!iCnk8#Ԟ)^YOfoFY#2= hoϽGy{=ZQM~qݣeH TB{`ӁN@vIhA14*w. Bx0Qh + ?X!&]Rw{twX^D+g̏Y6qP)\]}MN~kc ɉ2߁~եqa)gNT% KH\:m,uX bKȺU}hV:Qk*0%hDtD0|\ED9q%5*Ɔ&\QNpƼkQwf!C(=LWP]^L< # ^Q 3yNp ! L S ["k\fz;'%~ڨ5rjMZ"g}xy*ݑ+ؿ$a-=d#K}1)a#<"Qbl&dx/S8Rhx]T*Nq@Ekz$a ~dzw߅= C703}Ek%@}LN  dW-CaD4՜0)k/oC^ bvSR`WyN?Z{a Y IbC t&/^{"}Utry6|*$ZU֍4/3R:/Z衔:32eȈ }Z CpDl?JSSu Qڃ(W{+S-99kYxw}?dt6n39O#,(PfUI1zΫEM|B{{ Ajq1#:'=31+ ! _eI (⃘>"0j騔9NHw\ 5&SHk T ,A+įnE?NHq3Y!52;{Ev[G~#0,CjZCOw>C \JfMeIP wmz?jVU͚V U'"*$1IGX#ץ0OG شiwI, *ql/ ;.[_ 7?a)=z܅c~rd..N O6]y 1olU<ĔVW7nݪG{@̔e,.%<1#u ouK͵\tk ,P4JH$S[Ҡ4V |}kceMM$DL'.wի #)"8ދ5y?A'28wWr1!ZE~u>g+@0qch#>XZ\PՅVTUTqR5(~0y+ԲuI_{u f\kST2^vEVQS.wOu8lΫGb yC1\ ܛI3)Y\zh~UOKܚ78ox' &.?C4(+S` ůY3,7(ybiDP6SRGt&W9ע#5zփ+GknhTO Y_B΁uɨmQ" "dfW9, yj5h<O6_{W.Vzɾi=X?oODn!P^+>k$V;i9ALyݨhkSMF4MT&{_ۻe_/Eo _`SJ[& VЭ4Ͻ#ZTr[`cxO"&@Oq#WN tAANr[= 1ܟ1ȳĤ73I柽 z. IHV25F7<3?>zJۉKO S[,+H.Ol<{_옵|vqm53<IR!<$?$z3hvbxqk,t1%OzB$Mc1!28,u@.R> m_w}Z˷Vh )JKMO{8=Cy C>E?#٠ 3+?^a] O٤U`5ҐP̧mN]~ɮ'!_x?[J%ؤD/ (JA5!7 PB( *$R&ELTqTI~VfV6PWSRg()քCTS\_z 4T6>2;7LL9trNՇ+71Nj Q*Zwv8&sTߡAf=K[(!wb(,#3/m:\v/`V dDCJ~_f0G`I~Gbz Ndy÷lCf&$apZS$#I~q`'x=p 9E:1`hwLRe)Ts:=x*[YJ,F{nlKZtc DƶxD؄Q z.Z` ,]Ҕ"ƀB:$b ǜ<ƐL|f ׄv[F|[&L<-͙SinQ_S>qc !4 w4l75| .q8vԿ\e /_so<~'+8lպ#'=#ç/jkצ] ׬0 pNME_鿩;lIhc] ZVGD:L]j}DaC ީr~<԰qxoKꡇ:$#33 2U ,ϧlipHŽMĹ!Ù@,:[z0g7}vGBd%|wf)UJ3Pr26&رڂ@@b6gw۶/S.YwpYCaaKx@!Oڴ^TTDŧw'E'pk`wt)a%n6!:u%$77A;ytsq[0bIy~bf*s&[{0GM!9%D2r{^AKt6XNh3^`SӺ91VG( ñ%^?lݿP_"SQ\EbjP0yqk*U:'9~4H&,O+5 VX8d:=ڨ4MaYqiLRKK?T%l© T×ը?EFj SWJeDD0.&1: ɬS!P쐿u<޻ͭW}q J o־;G*oV>쌺/>쀅.T0_3XGY^< hc ymZ "o $@s:+wL<8'`}eW{toV:- B/vF?Fv=ڐ|U%r)~m¢|GdufBQ Eۢendstream endobj 110 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1359 >> stream xkLSgO)Hts6 9LrQEVZi^(ʭ@{B@o$6n -jbɒOۇ-?.~O~xy ,8c0ky^MAYyrp 3!&DlevwAcy[䝻OrxytXM>j /5@cuc3/:m^KzK;;DJMg'ʕUU: n3a_rxʠj"WuT=8KBgAK}oF^4Lo{#6ڌ> f4ۋoz23y'K HilY8}8뎸"11t=P;4XS?j%"5Xq- DaNZ\\>>uzݩǰ燚:8^dLf/t[^ Us&0s\fB[\@fGHTg[LR UP9>ݟst Qq"!j~zf6J1m( MUY.KuFb?=Y_Z5G%Jϭ Y$-. xSLa=Zj5h58xdW/ #ukԾ0_T*#j^ }O4#mf]|_% zWvFL:JCF >Z9t+89^>Fz|SWzc|21*"?nl2YTuM: D,@Ѵmڤ j Z]2kf|}=dz[W;Wx--eUIA)p ')#U F6:ѻ-I:h:o-$J$,^a1tחC5K>O}}`A+*ST|p^ZYx>tq9vۀOj^j%D(ھZy;k3'x^rBdOS;[zCÈup x:endstream endobj 111 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 953 >> stream x%mL[uP2\(^tu 4(Yfmq@^Z =kGi˻eoDBȈLi}p1vXçsȥ-  dˆbLc9N`۱,zP ZDoC͉_Z]X[j5xl]yv5KX*XeS5[w-3O7yu2yMoaa$:ѸCbVw}rPzGᛖhlĻ:ȣ]zi{c(zBw~Q Hcu8{.~iN扉}7Fendstream endobj 112 0 obj << /Filter /FlateDecode /Length 4255 >> stream x[Yo$~W׼4` !C44d ?'!#XdMdxSD `I~`goacg \ _q2E.bSٔ!FvMQ2˴:LYe/rBWeXzcV/629VŒ'.Y%u?ipHU oVgD*ios6k:BD㋧̖-d*7d gY}0yj*S#\c7xToY e#PrFW"E_v7dz^eešyV1H4Epô, nEȫM hf{~}tρjY bM'a⠂J& ">Xxg`z9c"Ⱥ5.dfܖIYEP/zpgS<4}7 kTeEf bM 0n 2Cd:&r ryI0]ĵPP8E+)ԓDڊ3N^^l7>C/׫ӳXn$|xQ$uw*2b\v21@|D1Z _-aUFӐؔADJ;bh /7ǁ:vD9;x1q8W4\P.!6* axs q=H(֭%):Cfs87dDZʄ\H'Hdvy(~iT)ZH64p&6L#1g9HaL kFĴZqJvF`l.S^ѳp7Y BNLK\ML~:ʋj#Qjbv4*ftCɈ¼?jeԛfEjPgQ =$ Ԭ `+DՀ]RdX-X/P4(Z);F6@o\ bC +01;MP\\Yt&08L.XEK$^B+b6kE7.n[ٖ$tDVi $ Lr(I#$qyh֙$ 9i-? СKiCC-y$/+)EW6Lrrnx%Jne#!iD cL#ebH[tƤ0;%U cB.H-M4R6[y67TagsRFۧ_?[=:|H)%Zrf(%P!cIؚ@>- < Ȣ:hhIDpL @h 4M) @P8EEe2! VIP(1SJA)) v؁ ^Ai ˜Y%kҡDp;QUj̢ AQO2QrHjn yIM6cҠ [|AR@k:2gC{[ F CJ/HSJy2 ըׅ-+e 𽤴7%vMWcH|J-Y5Vj5VX5VU.gVcUcVcUcd"՗*iFRGDn!'ħ`rn*_ CLЇ8T$}c(M 5ȀS2-K)XOj9&)?GH)_826ON@S6O!r$hyP*9m8HF,ɸGQi$Aش"Y~Dͤ %@ q KKQG&K<$Eq)sLBA>C:x$n1P@n$ Z( ݹ=!F QkrkU( sӓ) I+?嗀CY2C䲩?g%rJ J e)U)+!H3bL\{7 h-[[5ʦgLkFv8ۧjiw2`nZ+A֒B usJ5 {XB ]9j#f 3Rq(dP.=KSMi4 }HED^hjd&Jb=q Rr*bjVP RE>C&R10vz0,5l)7ee9APFzZw6u; Q!i^ ǟWG˫G;ūֶL@1گ[^}["c|9_@TUA!'|TӗVILCʹ%2] šAހ"!E}hvGWs (ر:C+耠!R~O(]j<s1 CUsܻͣ/&FMQqN|Ģlz\J>\~8cUT&I>K`"]*`xt]}1SFZ+E;h&blqGhwݡ_Hz +/̅q_ kΓustTYbU?f[.ŖUeQIjC ,=nDsq'vLMx>Eﲃ>Oi}Ta$S7V}|V߇W':?!dTRn?e1㥉r|qNp&6T 3 hI b$>(t > stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~endstream endobj 114 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 280 >> stream xcd`ab`dddw 441H3a!"nn'~%Ș__PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*@s JKR|SRx##sWmf;OUsvϟ_]%g#[Uewy9|ŋ/d-=}3fn9.zͳyxv^endstream endobj 115 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 846 >> stream x-]L[eC;|eu&zѸŅ11%3 G۞pCЧu]I ((b16K3z޸ 01,J_ؽW- D̿l ]滳];] &q@M6^AGQ:LV c.-E˩}!;DӢ$opE6(\`ri$X꣢G^]'ۄٮ>ʴP~Ν9oѼudI1G2g?Hxh֛Y:vR :_eGDw⹉T.%.&KlHTaZL{/kXj*Ӱ>x@T؄7,co~-q Lx7핃S}clg$PՑ4ނkuW{Jmt5tggX[z+ W"Nna ggu,*AVZ;O߮=qq34ӚT41\aԏ8`P,@@ ~PƹEҘ `BV:)LNs[FZ{%pJCu3۠{+ Ȉendstream endobj 116 0 obj << /Filter /FlateDecode /Length 291 >> stream xMO@+qfW?# *DæR0PPBzvy٧%2צ`r9vsB*1T9`j9Awf֮YRmq-S"d zv0`A*(d,ni֏v#mcxдwfB[9 9WO}5f')ͤ}^hXH1힓3V軃 ?*D Z[|٘"[u? M)7r Džendstream endobj 117 0 obj << /BitsPerComponent 8 /ColorSpace 59 0 R /Filter /FlateDecode /Height 360 /Subtype /Image /Width 360 /Length 5944 >> stream x흋ՙ߉6$5QY"]ׂV".%RewAY"5)b@.߲s;sfy;̜9wysL BP( BP( BP(MTn¹tSʙpe U.GEf9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَsDSg6o uR]ku.Wr{Z5+Zddw5|Hǭ_U!,h?oxxc}Yg ?-\}}5~ ^XOVT-B΢.xanA;]<~gs 8VB: `wƝ9>p^љ_<};u;r^(@g49@ h_6.V?VΝ~s9Z-ru==.y W8UϝώTe3;=Z/rq:O'ls9Orn7r~G#-)DE΢NU˯_YOw9l^Cww{lJ`I?x79;k`E36Z/rhԾeO]r~l\olY6ښ.m۽97z+im p"\9(OQ辝5YG)վw:䬡}/orr#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَ!g;Bv9r#lGَq%η>nI7!#w9f(GEf9r#䜗 !g;BΩۇy!g}] p!'n9F5r֐:E9s^9U7OBJ3 )ʛR6?BEǘ,`{-G΂, "Jb`}PtYY:`! /g֕IC.iv[Rs(L"!PeǑϱeٓjys8x%? 30TY"W5XfAμXڐΙg.+:) XZSd4ⱇrNM:-|D6D?B1iu̟ÏIFp1F i+LY*b:g'qąҏϑY&Q45Y!#NLm0t.{J|O]-&*C vd$:YB|Ȫǭ_UjgUrNktݷ}"4<<1?3>b{?/,'+ۯ\q>|;$iFՄu6TmR&grV). KGtO pps?{icv3WsXES 4SΈ$n(<{G:ϽyϹ:N@ypw+z}P9 Մ ʓ4nҙz>t9/pt*џ;=-9kgw IH9 Ү&wAPM2i/ G*L#\Γ\iv94@Ͼؿu]?z`iLy:9T.P3ɪ4tC&︜K6_\zw鋡;WC\ m够ok5]~&qpn 8Մ rܓѐ.'5,|`mMc`J^A6Umk@T.w!l${4r#䜿tƏs~2M8!g;Bv9ۑoZRi*1|tS2\|saƍ;|\d!g;<5݇qΦ!lGَDjSY%C|Rkt;]ACE96~+_ BvT,S ]&7{CIsCQE?kakU5ϱÉ*rW%gFT؜2Ƞ|3?' %Lp)zАr<~9T^@كoݷa\,?b]+z}P9,Turႆ^-m17YAKT rT3X7?T8q9sM弼vхE}'GyTPveApAZ>pQ7`A3?%p5Y%cg{m.I'4xڍz_x`sir ܷ[|dt&Dp$rN3%vƜOU˯_YOw9l^Cww{lJ`I7綰9(.hm̋mЩ, NHkikuHrS>կvq>m#&X[S%ҿb;Lex> Y3qro=y@D&@&0>VП鍽?|zŧ$ⵃ[&.ɿn ;N@y!gnzcO5Օ%WK[<=mmv]LL`I37[Z΂_$Nv`&2r0K.Moɏ>畋<n/]lcoGcQV`" sv#ƞ?~h_-u']lso[A)9A6Umf.73lC}0>p9u>Lx BP( BP(XAendstream endobj 118 0 obj << /Filter /FlateDecode /Length 229710 >> stream xK%߿b7ui%w0`nX`Kҕaߛ̚1gf͵JqkkșIɈww{߿ CrGk߾ RAhw+~_ޅ|;qbh1O?7_7}wGGIo_IO7]__W_4G8\+B~ߐ ?k~yEoE?b+q/N_.M׿& ?̑~zӌOOG s=;s|Os]Hmxo!SoۿVՃǢ~}d.Phx}|7/l~?ɱ/쒕CT(~|%!~TkeU)YT *%SCcNZT,h&YTgTJO^~}Cbm1??ÅoWG7y?/??e!WxFUG ZB;GVl,%d_UXs=Ȫ#k UpUta|Tjr_[Ⱦ*ܤd_cɊ(;>/յ8ur@X5)}ܥr=Xȶ<*UEg̼֓F %.Ues:x&? ;>%³d}P>@$ӄQ$pGJȾ*q&YU}Cs^0Q=wrG8!7j8d[UKHx QqrM_KvצB1.8M(1ɪ;jB=>yhB;hx,ܤ#_4cap;9W%|UKȾVٌ_\S؟R_a`v<+M;Aԃ쪢kIޫM<7hBP*J *!DsU8ATqt'IG3{AWJĕwWrS+y6%-BQE3BZH{UNTy0z+"Pdf#d_q\MVp?ZcE^ȶ*W ڎ}x* ׾qLdWu5+UՃljn_VU>2W)()V-`)M}=3%=# 3*N]>&ΑmF|GBUxRaT4 GO%۪G_H{UIU}Ó6%0U_d&Y#HQ$*>T?TB %7jH{d[3?%wBTITc=̿OkjVՕWG\$%Њ,%4N@7]H/c;p]Ȣ}TInR |vSj]8$*w8\NV>.|0͵B~Lr;GD ?$0D^}qUY?٣se>:o+b,'dU@Txk85.UvQ㵞UG= 5 >#wb%;!BUm,U fwhAp%۪pGȏJ7sQFZ'sT_΂\JVըa!N$·sSUzWW"ՎxUEݿooqlJ_c}U>PUɶB JhKdW]f<as(> #r < Yw-d[ݪIVՑ(Gɪsf`UU8^+g Vcc(.B{׃lJIkӄܤ#@%TV]?IW|鉘&أ$D -eLUBk6Ocy'דSbg+QǃyVJw*IvU?T:s4qRr7fܼuKd# T^P8`g_ɶ*X$*~Req7 Vc'PL[T َ }D7NVx#{tZ.VtWBުj!}dwʛZo=# >z *w !~ǃԅlFU4_f@JI)=qzں/,ictp6{NcVƈ+ZF=>sܬdWƿw:kpiFM:h3&󕫯ܥ/*}, r*Y*%i?ɶ* ,%%0R$۪dU)Jwlɞɿt9Mlbp=zFtmU<2:MVN=%d@ BvUgQ5+jܧRq;;(V~P!?`F%_DقJ "乯rV@}ϭa3UcH[vJ+JRQ}aEڇWs(\NΎQ %l]7$TAj͸')`%$ >X߫Tc{a+KUq:v(!w&!*ڻ}]Ml=P*U1uI3YITׄ.#uU*Or}%36Yzd\/+5lITdyembmT%4mըA%%!۪qy ;C\S=`~xՙ[qϦZjI$C5FshsoԸѻNP9AnaO(IUH0+Tɺ?*x^+*+㫝S+eO)MQ}u1kc5ABU#(] ?5B ªԅH <{Y?X{cmUb'%䝪VGeE򳪆(eOz^PEW(em=YȮ*b~䞸* b%۪Qɕr&Ckx➇yPFa'yZW_kR%۪ѥ\lsVD\IuM^żGk,dRIU#j>!0Vid[UBŽv5c %=4#K=M w/d}ƿ7W# ָ/yӸ+dWuft$Z!6 RΊz(U"X44}܍(Ba~]oBWhd_Bˀ]Ut2x&YU{C$+9c(VEOzN9>7慪p=9=#ZU YAJ`𩸚S p ܥU jTl}c!ISKӳÕS՟Ѓjܤrg)8N'aTzcJUsj,VرLɾ*O3(d}s6>a<ʰS G%۪X$wõ$xXq*C3H|FJVU#׎I@۬^>fܱ䷔oN6Wl3f*yoV`: V:ƌ'9@)gS E)] v5TB QqXmEQ\{2\ǡ&UVQ{U^N_&VoZl}#T>D&W'yjRƼnwDɶʏ9h!06&ƳJ`p|%@Ugf3>[TՀUE"e(Y?ysSg{p u}U7j &~Mf7~y;4=jm95T!d[S4 dT]> RV@wXa̳63L7>Bx>±Zȶj8*`|dW FxtmE&%pW@|rSGUUv+ytꠝs!|;1U52 1RvV]@|R͹e}ryAuDD/S2-<ɿO،r3~TuS4*d_ePjU9YU%ӡd}-Ri?qu\[UU*gJ9rQURrju+{ 2EJ`]Z4 e\sMΫBU1.MMx,҃}U%IU#~%w|"%pQV$O&sVHG3]yqVȶ*Ƚqk:Qr4(˟UƟ&U&?Hs\5NuvJWl xCuMuv)c(d_GWA %7Ƽ#T-T%&Qiq3žGm+J6z=M&WBQ೦f4,4%Uwf]/zCNFT Iu^"@oO..D_SUd[5\J(UyqdqN֝E5ѺƶHJvU}$nflnOF+t6J׀r,PUڳVc-;*U91=Nػ+"I)VEAl!%oULjOȢʕc%J {M'TGI 0LT{49rQTrjdH(FBv8~_ZգBU=%D:Uܣ:͏i|~U s鎔KUq?+cG%>g0>cÝ hBުj-n] WHO~Jު D*y?녪x$+H;*YWhM69d[Ff`M]չ̾??3!yx},Qד/EB`MҸwZweדj^!۪\ܤ*9a$7ZU;4=]R^Jj bT5ٝh衣敂}'U=P g'7TƤv^z5!춼RUlu.'W +'~JW[ u"vCP:3EBzJUs^Tuxb_*:W(٬Yl%W%V건Í"!۪({PeS'{)CwhJ6nٺ}p g>pmUugF셪!´xR17հtJx /IUϦdUBJR%ޟQ>=B%{rVF(^U%SՌJɮtd}J!9#2/|N3ɶjt2s:%μLql'T.U5Ҿ̵f!N3!0B4ʻSO==Bު֛8G%TZu5pV:90 cU:2y{TܤxX:aYNBU܏Y[U#@г ;KXXXX.hqCj%6&U-;,hU{U?JHYzhe֟|dWucZańpBNJy_Ψ@g3%oUfNn= }D+%w=KB(aUx d'5=IIm,d; +GuvBG%pO@ d} COgmNSG}AM#*5d[5qӓ#dWc^`G&8+b$p77iFN#V*Y_ؕk\P|e>%?? C:JnR /QQKeU'V+!:(YǐBO$a&X/ZzxGVTO1j Z;4 7b<|ƻBR%Sv'Y_9O_]ysUW d[5@QXɶʇ@`lF_4dϪ 5qT svfع%pIU)P<,`đ1KttTTEݛy'u*w_VpmXP$7F1L=]ܥ:xRCU?tMuԂP U%%03$peU)Y, 3Fo$@WkuK?ɪrcK6t]!oU9;P(B`SFqs W''uWTэs넬Oإ3JnRipxTMV6S[^/+ &t!1 &M}5xc{Ν~1< 6U35g+ӪI@B֑&v+UXAJUNs>At;Oz"Rxg<#lj3cwc%ՙJvUg3 ȲVYTa1ɶjTAKuѰwQ\T!ڬnΑ^K ̮밄UUb^Zՙ3+gO?JU%qlyRe=x/dWFVN#U^>]}NVx^5BnR.|~iG9BnSU_Xm~aК*I5fp Y>#U;IɪʇɊ3el˻#@%" UYyI&U=pLȪ:*V>'B@HOɢJ!AZ}dI)[tmU:zRZvn&Yjy0CzULD:%EZ35B˜a[ZJ;(J uOcqaJ v\ʨ}%۪G3ԚcKtf2-gS@JVG d!7Jt֥֫65-f:VU9 YUseœ2ѣx%#JVw䭪Уf'dg?]!BۨdU AJU~xH>YS<^(wHɮꌍqxX3>mYCMsUBd?v]yv &ARV zmM%۪ }`Os3JQTcpO U%+pӡ!UH5J`f|}%InRL+h<<V5UtX7lF}t:͸w3`g)%*$p]5ϭQmUʼdQ\&YTRVd[R eO^JQ$8M}=WO ܅Gn!Ut6*{sTd[+W[E]=x!۪șU3hADP\6ԩJ Ec?/y@VBUûʽY_+dqo^V]ro_*z6^'r.9_S/U|XE{ =ܣ P$NM:Z*2~.y'ܛ ƅv&Vx? G rdWǪQ$Te*f ؆!۪D⅀ x2Lr\\Mjh^*QJYLحW=Ur)\DWB`m3C+X;21ƺ: ΎBU}ՍJUmTPLX'U#sv{ʛ |&L[5j;jU?Q#ljb|^򕼢lCҮ⾿*@N'Jv$|~ՙIyBvUK%䚥"6'?fۅUZBRcu:WR %Z#IQ+䭪WSY=>j{MK/j5^:F>41aXDv%SiJީXccU$Cqϯ:ϼJ&ȯ4T5_TYL ̚]T5 m - Qun0>4)s5mUTǻL5pJk^ɫĴ^$`+W$۪QqF]չjBU_x5D&U?8I5ȕܥ;wNw']zEӿe Uo-7?qҪkhpa2UTK~aﮯ)9|wF-(v5wM+4J 䀤dWuэ䥪++Ug,(XO쫆o.@\㪒mUqL5z^RP9.|nlB`8vmU4|o.NQ^UI`tdL^JՑEJ.-䭩d[5ּWmM5'JhyEUij#QۉuJުze_aKBUo&K)wy_'g7kS%]k+(zfγ=q~d_pCz}XJr/[JȢ 1Sϡդ>vK]@cܲO@5" P[u!򌷛Mʋ*Tڣvt'UEןQ&յ1 G%OAu%g3+G耫dm8O$7顒mUc1J`|+&yjgKO4N vaM\9+d#8@](Tɶ*@kK!*^T|G!79L %pU#FPX~jgZsܤB}r]Q5 &K97^ɺ&8*;ܫ=((yl:'.z CkG ; ']4$)`0Y~ɉT>8hrtʾL|O[!*_ J=TS 2 KU_$0?cT6UյUGwkW߿xVd'JumJsT!YyYyY}w9?J+qp6%۪ѧm[31MȮ*>7\dQ1Ѿ`gNnp"!+E:oBvU}aPV d3ɾjt d|LC%۪S>}XJ~=#+x*G}^{mUr!oUţQ,^ӹUU3(Yq$; V%S+|ܺKgη,!?Yy25(h_gr1^uiPXG{ӥћ.Tg 'n=>_&V+d IȽqQu㮣p\_L:P2L mt>:MCwOj8vHȶjݴ#[%o+3͔]x=BUB?hw*n!0$ws Ku~T"0:Tr{d=Vrpe$ޅJ`?~cZ]dvo5 /H!ݮd녪R"\J4lAgl:ẔTxܠ8@Rը0!u(e;*ѡ}$sU;kEuFԿM\̵fB D5d_5T;$䆙eqA30%9-*q f:&'j|Tm֙J(JRŃ>6n(KFȶ=%+FÝb#)d_2W Y{(WErdUʹB~ٝɡUA%7od_uWȝY 2e+𠕸u:<6*I5rp~/䓟Ul@:bɜ^T]2W YqhWWsxXȮ*Vh5dMF, KɾNJX3OV~TA@`ܥb;%4rh&SM]R< .qe!ؓO oaEGtVQaRZكhuL- qipw%k$d_"9+YUꢛ~ji>vnSޅ/&YGS iMk S[WLD%3΄8*_jXɮɌ]Ȕ@W Q@{PuzqOb ?l.źwU+`,I4k(WħZ]U̕7;aTg̽L%ٿ0c$U] _fz~j[BȮ ^9ߪ|BJQθxr&U 'q1+]0_12'gd%7 ~Cȶ*GvV*$pɢBnR~2ޥ <6+ FF'KgʳMYVR0 ~G牓/!wѓ,O\JUGZ>|5G8c(JnRPP>A+攼SuF"q[4,T Q"z@EJUg3y>gAuvx%s>UU%IvU5d[(S*8;Tjܤgx >WP <]岻jy1MhMP!!(?*y(Uq5ɶjӾ5.k`>lb%Z|5쪾UP漳d$4P;H+YU mXR椀;4s쪢KϺܥ' YBIVUJQWJ`tv[&YTQ|%7(W]i~xA>~`E9Bϔ5>rń$L6:$?i"%Q6cNjړꫫ*aNU(cMٞR5n &{4&ÑOɶ39foZ%k'/H$TEg@JN )U94>'55?3^Jv 5/1uJ~XyPE!^EOɾ*S}$oU>PVU^S?}3kʋ(s\PKİ(\s: !Ϗ8sJ*Ll2q/"g)W[ )áNxlCyZK1l˙<;{M*%۪La%*5JvUgzHqfL7or=J 'Y?D{IBU#:=Toz@\'ZɾjC]/^U=_Jgэ]ɾ*&xUrj95>ɍUgMKJ`\ cl!k{eRZ Ѿ}`x$t+Su:'{T14JvU*PsBeׅj^9kiitvt1ܤ9PG! Ub!!_@5ȴݙuk4g f*yQ{T}X/Q!u+J.BUr\@l|<ȉXɗPWP=ȶjdaO7%*_ JhgfmH%mv>Q$?e%4̒dU F:-6\Ţdk*Fz31A PEb=)xvoƹ6?ׇy],J=_hU? Y_qRH9$>A~*i}U\#-s5%>sd097!xd_œQySJRj-JfOioq0j<& \tA:lJE(V<vqtyTQքRݬ l8WWQ_I <\M#SvWEFkJU=*UEUJnR5wЙX.$7Jڪ9luB'JU&K_Q^XBDybJ%۪aɽ$“T9I4<9>QXB~wVά4ⓓ*tR͎q`IvUg =(YU A%s %Ofl}Q%5mFD:/ė{B\{sV69aVTuқFy줿wi|wEZ58F _y]ͨ]>!T!rGL =?I%7Z\O(zm)EJU:뫛Z"k%w9 QQcJUvQh z+Y_pOea?|IH{՚}ՈQ%d"WGB y0F6CWO3=f+YU3Iݑ0=UV)y^t[ 'p`$0L2W4+dU$F.͓l¸+y4c=iβ=&@0;ҘVK(ʦ{OFT#R/&v~ (U]q%0;)D2.ɺ<_S2=:Œ6|R+d[UC!v5zMrP߃lqB֙ ltm HByKjF+|Y_);̆"+ljbjwk}A,^!0%L~.ȥy' z) 1jWupw΍v4UYL•Twܤ|&Vt3q/Ҍ]*tT}A%ӫc$r.uӗFD^ JV{ !H:iUIܗV D͈JnR]t~*׏*! ]8OjꂅHށ>BQE a*dWuMŌV#pTj6nz%G$۪῍JU-çO-~QUOt_4ܛ*kGpnYWHgox4R4Gɪ zMMu3A԰G$UpOI/#]q%wFPJU57O Ν̔S#ױINnj%d[5u^OVjTUR;UWeUR +&UyfX!dWux\ YZbCZlF&*U ]G%Nȶj4A%۪P+C:'qBcz)n*U֗ T+dU]SdFGUJު*%JP+}%0{:z=Ͱ3uI!MɪziU֧rŔܤ'Tr[ɶ5쫮cY?y3߲xzի/>9/M)xQ -жq^oL=UЊש&hUmGx[{U!qZ!wb5B9 8?D ܤf&I5 x6:ѾWKY?׈s y*Wʭ˼C O 5[ e*YUsv\wz'wtDM*_ShΦGTBY͎w\s⿦=G1oM DS3ӎwTcL^JZESX2WJnRrx 5ՙs+!b %pGxq.&U^ 1񾤐{Tg#r^w%tOVGcP4+WOmUM5;Ugr:_f~ހJVU_3x}+mn,xKɮ*낻DBhՉJVU>4*I5^BvUNh4{&ëf`;]WamUny}}g*K+r0Sè8 R6ژrTū6N9t$slίSR4< YTa8#IF{'YĨ2P'YT1S$&?{/Doz³%juRR]% $jZBUǁ ecBFIUjI'Gɶ*O%۪/: 5 o&I$۪OjOjvam8N BJRqbR J`5u%;va%]Xd_ PP\U!x?0 D}nӜϛ+MN%U*"=эOci =g YTIk 0LBU\zGCg U%}J:+V͌;WBq;|/NPBׁ?>TmSC4_2g ]Y ͞txenɕClhCG4e Y_G g!tУ}ՓNJUYvgI VBMѥ!_@5*+>f.5.Ѣ$jtW*%*/$CQЗcT+8?<[UƵI`S䝪$JnNJ;GRdUY; V %*sIUa'{_}0'V\R#rm? Ɠ#FhȍVQT/̻BvU9%|uMkc'Y_;OOA&J`{: TՋ] Ŋ3%3 zA%w]ky%#;̅VèF"G(1SO %}UpoM{Uz8%۪9HOb 9MNG,tV^U%JUm'a*ԧh$Zo1rT—t $fYluqMLɮmfWQc_=sߛ\UG!Y*u+BOF0Ogj5@ ŌT8սR"?_B~"^!36Nhpr5vlܥjά@)W]DBUs\wWx-uU筌 Bh'Vg쓮d[_V }J,-%0SmULfUV~>+a d}e/KxmpGK%0{>-;{` X5)sOS܂ I`LM4+y=PWyfWb?+U y?-_ިy?VRɶꚫiL+/dT;(I5V)S~z9X'd[U(]hTCe!#y8BVwu"`"JiKj>3yɧ7JeO;T{ J6&IubFBnR$UtR:!7ZeGt%?PhQɾj\i f4*װw?xDȶ:SBr2i!X5^&Y/'KeU%}{MQ89l]EU쪾!%mmը/IULz(Y_*.?x*&dWuFڦVEyHm1MOLN ޺)\и_HYi]Q}۟HxxI5zNlGQEwdʪdSddj;] X߯e+&ȪInRtp&}UtbG 'w܁S D􃱣KU+ U{'`*4|d[uiƥOT%U+ܤ:FVwnBw YL  *V54{9c5 ? !?jxS7[!TB5VPABީMFWg!q]UcNf%s77V0GܩnpO:<\Qv`HќxJR5\Siuyu#ME=i+e7nU\ eN>~%P kI[jYOd[56`m~f蕪00Yp5UU$*U ULd}kؗTg2Ʌr,"ՙ ͝_:.DꪹVUyhNyBU>9.%vɥvTE+g !۪W 4 W'%$*KvUvEuwppT5s!ֿ*yqF52JnR\ϖU NLrʏ P)YU7O m8:ޜ:gN .z\1JU.;OdU-uj#I(RNG>B`5R?C=١BvU+"OϵB&T֋ P%۪rx;ɶjx\]>G*'YjR:qm%L`ܠ/N/o\ *SƉg}Bz,u>"Gè|,YȪ#Jww9>CBΩ֢fǝulJ_UR|d;ɶ*yP9H3JnR]&3;ve-j!A]'QRjC7h+NO1a;4&y*>_aՋmՈ;DL1>4g8V+U YUƵ`#[QBؽA %oVdUl*zשjco~%?DvQ:;wjEJN̚LV]iFoܯ#S!wFW`skjk/pɀ`(( UR}*UMwo`8#2:ܑE9aT<P$j^9Rր\.qI֨5ڹQ}X |!w2udc=G=7z ,3hC9S6{ gN{п7b{{z:j7O|˒qJvg*sGݖ*uMȶ:% g=ygGDrj8&SJxr>GEȨ݈Ԍ4'q]b&VZƿaAI&vw7!rJJR9G+lMEɟP]}Չ.JnRǟK:zBRSQ GedUr\ Y{T}n3U2{)u7LkW=9 lx}1;= D+,lU `Ss?y]ń]YJjj X4/VdUrDI`7$qo!۪YJU$۪0Mq rc4ÌD!0ڕW1#)Wn$ YUGfd!.|J%>bmU-T-v{T쯏#}蜈(d_eg+h4=?FnyT9UguU} JUMݓjj!ub-UGfSٻ5U UjzJW/! VUMR6ğV5vqGMү'!0{n| 7j8c0o2'FW,Pya.Uh(䭪G ğT[Leeu^KU F?W U5\2lr=(VZ)zPPmr`Pjf!۪WY财d[US%m%0~9V VrmVE/PެqLTA󺗪W DdsȈ\Yߜ gK{®.JުqTn']UB&O`*_i3*V| P$ : 'bf$νtx1O*R=mU;k(nT>J`uhA U*Y̑g#!>T UfIVN&QȮ+C&쇫䭪OR؜}/TD{2(G]\m!dWտP|p%\p:]6̄Y$?>BU#jXܓ{j8Rf!7JܡN0"QWB`H\;/R3>Pz>X971[IaFH3ܡ+љx'YU.Ig  L5UK Y#O(?Oɶʏc,dUeSB:yBvU& `S3r('Z];@zF{5JU 5%۪]Wcp)ugJU-O sQK/x+jրݪ>{[cՑSd}U_=wrkU7egSg7*wlm5kչBI!TɱE2sVF#$*J൲(6}0){m KJU-F3G᪃{T=9x4B/BW>EL ;5 OwU՟:>=|dv:lHOMzl]Q~_#T%q%k$d_U]AJRwU*Ez5Qwd[u>TQh'Z*WꬄЁbMJ`>0 ǓO\]t&tzdUe?dWuvJ]'uqo/!C-rWV .h\q^3zpmp}%}XQakw? I`?$3 BUPGY%7cL(d[5(J^Wf76; V 0\(V+ު9=med'$J9BPrjTqR\6T#gO!;S$\\8x2YMr7_8Y_+'~l:dV5pWM]U%*rO %ǘd[kJ;@drp4b)Ԍ*xm8lO GuH˥ J?ftjIU.6Tܤ*s5Iު:G-".OT}5uJIe' %0Cg-S5)Y߱F:mSV_%kEV WJު*QUm8=%?* TDJl{]u"v4i`]t^=OF İ\ɥb:{MsvU7(Eٌ&?3js>=ѨvLɶ:smUN"䭪džTufѝ y*Sl >`fcKGQܵQ+B㽒T!!ғl]5> usCȮ)B~281I-(U٥Zɪ:dOV[/S g!)*q{Tq B=3 qܥr3 .!U5yG6iο%:!+I3cX-Z DvF']T 9G$;[ؿ| Ox*s.^.p7!۪ёGտQNBU'j݄f}IF_uPBavB{4J>9(YЙPmɔE#%p?GњdWu^J QOp'yjҊBȪWv VTL~~%%Osr<9Q 3nf">EKJRHg8JO?J]*dMrV9]ߍȅl^S.5B`(L:TvUrjc%TE_)y3[_XɢJ.XdUT}8M3l%{VQ0aܠiO6qV!p.uIU8Dr7q\zꔦd[RSI@B;Ug=Ue܁Pyr7VEɶʍϖ@D_{T|~՚[Cýy?*$rRs>(WLuϧ>B~F, &ST; XG.wJ`&¶5;|TsᕬU9QM˒ U5r%sK{B5aǽ^{j/Q!+K5zࡇU5rr?W~R b}Km~H: v ̅Њ oR5Z"fƾ'JhQR<]<ܤO&ԣS]S3 *}H`I@LSWRwK:~ n/v[dql{׹j TjQNccB>j1\4j#Ku5 Ϫs$4L"JJ " dWO: ٽ{3$뵜s֫`jÄl∞`jcS{XᩚY;[ yH wSe3*> rQ%䣪QAJ%AUD@ 6UOaJ?&*V j4̞_ծp6xk=\d}oTЄV]B ĕAF23]Z\\ΜUG.ǿS#wB~ wq8.|;ƊײJVULZշT,%*W0T~͙^JU_ItROΓKg2?wT#/2HSp¡ܼt9{jJ]ɪJ򔬪oT~(JldW_O+k((?L:e>WJ}xCSo,`,` %X3:!jP{؉WɶʏnX$V\ǯ@;/q9wT^0؇7t_ e?Pk+! +X5cA]U-h5ɮ?hjpx;=S`|+DwPxJhLBvUg%ʁ~;t4{g;TtRةUGUDŽt2!di}U %F1pTAd_5:ANJ&od味S'N <9qX75{XEv'tTcNOnpPJkeTQUi(1_OċLكfdsRdV;p>JtUݎ|kegMB#̈́lC{~@U u'9H|;gcƪ?ne 8|lr`/tU5PQUq\#zh)Yb3G!۪nJ@y="!սgbt&O.!06GvcTc~f'xr5dWuϹLS:!|-s)x>/UIՙI+z!Ϩ(R:/BU}1JR èw!N7*BVU߫JȢ.QmUX!SɶjD=ANξ1W~Ҩ>H q씭d};ƿqTfVը!6!co.f.+Yg>Ḫd[WAJU;*x[xo6չ_VI@d_0*q[AC1o#XGUcjv RzeЬZNBEGUOL_S !>= Yc?1Fo6rU_SIk%:dWa`~!vQTGŇq>oli~.!gJ~@܉h]ɮ֌c$1aXȾօLʅW8w(o@C;m<'Bz\ 9Oޙwaxu.0Ss*+U]8pj}Uƭ1o:|x[u*N[vkJ@CDo~.%/*v8"C Y}N-׊NzlM<`ϽD+}jrcLɳ#_xcQB43FpB7M uCTcTJR zXO# V_^/)8פݕd{~ʛ!7FU/`}" \IɏQ GjBU;)YUp^yJq#䳪٩!1OD6qi.'祈@ɘ0 D_+=W)3ɢsHɶ*s$***yHէ,>ɶ*?ɏQJU'>J8ֶ~!s7vjRkD;JU1s)D67U63d9N>%xcJɺJ3. TBkq\ PTcD<[/ž'j4ÛEB`%0R U)YgؙZCMHpBU9YUy%FbczaTb:rI'eSo]2< /77|*W ;GBU!Z>oV TcECQU|Ruf{Lf UKȪr ;Oj -o.΁C#NOvfxQ'69 Ww{J*yJ52?agU |nMc(U)YU`G!IQ(!Ue(VV]ɺ.Ǝ!$ϨyQ3s?Tz6TŬzV.4^&svZyHu/TܟEGU-ㅒTfq>MT~[qIqGuz5{"Ϩ^gdWu}l&{5^zſU~rlJJh _T}ÞXFJvU}p%dWgNv5j%g%V(*WBVUk^A6Sȶ^Ȩlׄ7UpϪ礘Jb{,LnB~  Z+SΡm3B<%O^.:H ]ιv @~)JvU3DŮUOOȪ{OОsE';soԛ?V8+TwPɄ@{g-/_'Z< URmUgUM4zKu7/*&V-Q,%*D+R)%9pwT~TZa%ϪYCo<ϵQߛX <&+YTUJR%G]}4'9*jJ*'_hN(;fjxPȏQAJ~0} OuW@ɾ*𳪄Ž*E+E\-()]cw՝(YUTXN'U7P5gGJ }RGB|Gkd%\|aAΤwΌ8vg^p mwS`՗_uўxϸPS*o:>R61Bz^PCV OQI>:}" PɶVymU<*r^UD]i1!?Eu㹪}Uiſ4gF=֋s[!UyPULe:RD#x= w!읂QZ3ez6/L|?A}dUd3_U ǮdWuVۑ'\q\PAQ<#\!jx Ƣ~4lM^8UUVNMUr +&C#OU4+U]t%p-ʇ.|+]&W{P%We zWP?jqx^ktk Zu+*VP*R$OK}y=ф3ǔ&Wݩ[5՟YSWuC^%(JL9lPd[5w)={T9MȾRwIU=R S!=O[ps}0i}cJј[=UK !U+&V!*7J>:(.䣪|U5z)VM@]G׫EwKf2:QtP/B5*Nyߩz;6UtI`]Os7w1+4B(i&w? qHGU.FꤦdW5 g~ޯ0R >Y<}dl;dZ:- j8YaVT>p?%*dfك߶Om+WwmUJԗN \˛^?}1 7!O (yHUNU5QSEG^ɋE #(ᨆA _oq<~wUrw(!8?8/2gBRRl@ SgP**Ub:mCC*W6!AmUx"!UmxӚ.i|cU2Տ)0s?0%b")\&d[Us>ٸyZd_/Xɮtoa*V_L}ɔ*9'=+A)PS7pxIʕƧ8U%:ךƎB~SU 1~ +yHU/.|V#5s+RbL}po%0s:hjNFkc%A*o yLuT/3r1ήź֌8 )35JeڙT2p*YUa`"U*yJ PJ.BU{!ODڝN-Hr9lNW?QO+ YK#`WܓjD4p^`TΚWm\ͭTxdQQɢ:F/־ *!'Y)iPUJ%LR$%4zXɶ*ݱtNU<(Yϼ.Wrd[Uj W%R(Q1q/ֽ0'pIa3%*,s.Q \=,䧨3w`$H&-dTc{WUƩ`ԯv* We&VE7$~Q{σIB~-+*F9JUVqŬ䳪q[N၍{B`<'FJ`*G[kQB ,d'}WlF]>)yH{d) O֕U)̢WS>49oOB+<|D%hs΄lj1 dWk!jtEHVzW-b:ɮd_mը`7#dUFJU$V+*V3ݕ ֕䛣dUd+_*4z'R;LzƧ{og '=LSɶ܁lXw\cgǷL:ތK̕P}UpE3Un7b |Hk8po*3@WsoJ9V= `@+J`xymÌ;!iDiċӛޔJZC:<9敬❙Ih}@Bcp]ɮTE'9V)2 &3wUt^ _LK\`!?EuSU!GPᐅ+K!U]տ5L-~MMN4W3EJߗ 쫊#%U5d[U[(!S?I` Vȶ?x^$BJ4U˼GL zS U ӄCL̹FW%44zЊ>T-@f7bsG.,uhǢSl]=ٱJhOWBUQEgVٯB VrLW*zM?{gBɾj-OX;mY<1%)owY t">yfw !*2.WGŚIU#F"!]]fobd^"wUwWމS]~>JU^&YH+'TU yFu³p4gHT %%#$F0*No\|K#w6mza)d%C$OZ0EӋfh{x~jlN$۪QgA~2B tW;7Xܱ{.\\w+[Ue8/!讃U6JUe |VU"?J&d} |MOa/I jQȮ*4 EGU|JUr+in(Kh]r~ B!U930P T՛y_}MK=|_!UܻS'UaJU}(%-asKW7P#SF'vP"(AJkB@|C:ɗzUJ;dW]7*k9)M?}mO{ue+~tx gc7y46E#L;/rEɶ|dVБJSY/JUoncőIȶv%K `%@UbA jƹ VJ~;!UqVST)&»B֑~dla깐UcI1}/n7TNG-l*Wl/?}SR~1`gTgL3&ވ`cuP%db$5{:QBVȇNdêdk Yi!G$FH,꭫kUaSt8{Ms?L5LǮ}UN0ɢ:@ɶh!Vy-L׫ί,&ky bȽqUx!d4ca!\b~sG1}5;AwUiT/xVf+Yً,N@"!۪qE^BU9Z|UUǎB9w3n< ;]FȾ(s󛪚 w=O:1;L[hh鷪2(lNTc V w6(oJɮ*>3}ՈбA/ ^`,;Nw4)TAd[ MFN#'+UIU-cU6 T~75@X3)oV?[*7|0BOh6O(/R)QdU̠opQT_LTmnfxp`\T! 䶮dW'mUk*4A|ijpk޹wߦ:EB1}U\/d[5#ƪ2PI;q-c&yJ5f=-M7c7c[Uc24{*Uw򔪿4V1 νJ`%d[/q49+$Jv)V']!UQ3o%9(YXSxpG>!O\,%r%mуcK+YJ`s.7T{%w+gv3Zz0L+owTg׫K(mN*7UcbIVUΦ[y& (VqZI+wߩ mlӇF}; ko*%s#@;1ɶjڪ&CpǪd_ՙn%V+X4sCȶ*s|T5\ATJk@J7yx=+1Ι1bd܄K^TӸI>{Ld[2BvUg# YU%pb~*:$wyegqmUS0UzK Rdi.nnZfeU=I+d[5Cc^}"M[JR 7r:C ײz*x 1ɟ: Lv@ѩ}U #I=UqI> |'*g)e*ؠг䓪>8>%ud:ɾQ+ЙO:{ZTE){ 2X[\,^ݏ{GJ7VRUQ'g]Ąۍw4P m(JU9tq}GUN/KφQ|r2Q9Ad_9򉛐UU3T&]2gD*)WB mpDLBvU-z(g2%oܻDɶʵƝٕ#L$%>S^dW՟+I@ UdV WQuv&yFu. 1v5Bߍ3ߍm%qu!OB`X!UUՙd S x@n>P)E;U}NsT #%꣔%~cNBZ}sm;6 yFu _Ա _o/WWT]j"9BL=]Uh "%0Go!r|.Pɶ*dW@gdJQsY_ /;(5WqUDflc%۪쒚U=4q+O;~QE-? FGN5JUzMʍ |m{qK;Gd_uk*ĄljFgh3_)8pM@ |Ty}GF9xV]=lB2k Cvg͉@۪NY4{g<wJ걺dmըkǑDɢgd[rvU?Ջ,}mULNhBuٮ˨_~g8d%ct,M!۪zwZ]!jS{Y{gTɨT:W'y&6o3*٢9ɶ*тiA|TJU I =̙aOF7񢿈*o|Jy%y>IOz|rn0(;]U (FewpKufRuUտj;)#䳪j>}Tj '+)jclw5臭g!JMz6չJUY'V+foT [ Ǩ|ᕢ< Yy0WUb~mUxF)e&d[UF6e{w՜5`w%۪TJ5hVsAmU;>9єĹLɾߧVfo!4/beX:_|}|T(] mn6h*dK@BbO+w[i> 6Mx|*UQI'2ߩcVֵ{dU%SӒ.jZn_z mpT3=g*vP.?NUx5;࣊VB'VEv'' pSU¡F5;LDg$dåa/z8dý 7}kl\7 |dnM'Tk-[%#_%֞,^`OAժMEIvUg=**ɎoTMi!h7VɢJQ?A%۪^ .Tud[՗|JWVLW*VH^L^,:LarM|)6o^zӁh~XIJ~չ@BvUս YqW!۪1r0>s1ᅳXBKtr϶Tv)3kJ_!Ϩy#d_& Bjk/&9Ud};)]=ʎJi4)ݗ=BRsbo;fTO,R Q:ʿNt`hjE^QOa{\Iཉo1zOlwJ'BRWzX Y<*Lz{]JUa!D,RsA}U_Ű[_6~5&ljZv\.d_1+Y?X tstOl5 {Q+hѵ|T5#%Ϩ.E /!d$o1 U%0N_J]6Yw-sX@\؃RS9YU7B%جd|ӕ/ Ut֢dKJZ7rάiu:][^7Px^!U,L<:#E^fv*"uQB wPW_UU YUcgs9\0KɶϮBvU'D)_NV3:u0@̑+xد,i%?Eu0XrppS_4 {NF1%qY t!ѿx!|ԅPz-TV<:ogx>UBvU;Y S:lS ֍.EG;{wUxΜ+o:qc]I?L{R4 ͺ*6)9۸L: U(1o:Q,d_UѡL.{` 繁盂kj03xi!۪6N| KTc0{[)O2}[z4>) &@z{}~{܋OOр,u:K>Jg3hwM'eJ fX+<*уΊ_;w!OtωA5䣪\8QQJ.J3fo+bd!>EXfLk :%M8V(yH5r~h)jBK숣!p\I%Tc?>oTW8Qn[M 5Yuc7ɶ W;)j8Sj? M2"#یX1y]͸]͸Zeք@uK `-!G$+dαϾtlΖeWĜ{!F^Ucda!4b%ԽEɶܦ ?`z1EL4TS_Bh%!\/ާx^`Wgd_牒ޚ{O5k:FŅ^JkBJ`~f7n%뽯t"3ɮ![O>/4 B&%pc^ X%nTڷUY:GtgTK2yF7-0)B7%|̈́fީM&yHUG=`lJ;?NfZ 4NBk`6W5g3~QGLGUn_䳪ySWބJvU v/NcX=-9? |aLDw^`Ss:P'\Ⱦ/A=PcDYƇߪ:*W( Y2Voob_+5z{,JVUI`UJQ'`>!Ϩk̫Qo)kUtdUWN&U9ahT*]]U_5:qRI9+f2oZlJ>Wo1v5*{71wSXitzq.}GUUVOjcQ} E.wT,a[χ3Ne۷杪"(Yu:SSO9i ݼV{ 5#3UI "l\"dWu:bV}(Ɲ!?FUGOx]OOfU.׸3|\ !بQz1cT }U0؃~OUknպS5 U/d]S%FB%J@ѐ+Eӣl"lž7LOsnչ_p/d_< }Wʑw(~S>x+Cɺ#,pd[b@SoJZT)>ɪrԹO\8c(XG`Tcu%Ϩz yH5z*]=WIJ,U+︲T}M8*UQޕZ,p=UKc{]QQGɶ9rST.LQ@U |$d_5|uqB+j%s#!Uws};7Q1$*WJ> Lc^%T%d[[lF6?V(V zs-J`<&yJG=`VzG62TzP:gcݷmp3^Jkv$U*HzBN0@lh !UL%A+SU<_W3U+J~vPsU?E7F] &83JUUU(W6FŹe]UO֔<:Pk"KϻBΓӤTwP7tmU ;:)QԠd߆5Z_"wq. *YU.CT,~CBUL̽[o{6Jjxhgj;wUǁ_Hz7*u74JLD2BV(jG_ܯl>UBvUgoZi YU}] J>:\Wɮgc]VK&dW՗Eҋ< ʎ29_"@3J{N8BL+ @gӳgS0PgUj'yH5(unN#wSht'l>-;|߫3*Jxw"^pz`w2%۪ JU}K%xp7%k3L-UvNH`䣪㷭d[3}lFprG*%3QF}q9T3W4['u­XxџK# UL*YJ`,d>e|z씬uQpr|./d[5N"'!jx,d[*VٞGrG^)Dz!/X%fKXe>~\܅'=!u|^%J#F sY)Մ3>(vB;TбT=ƌ[%?GUWWF.Դ/]FWvu6':sݞx 9hvt_ O7 2?'U+rZ#7f%Ϩ+tT -imߣWߪjo$%ZT <9띚YgZW[pO/ZS벩٪@%j_8cHY:8S.j9 ge+yFG~@:S>rVSsLN *V=쪢s8S#pfa2u_`Wǔ3 r-C%7K \f2O yܯ`XndLx"dU g|iMsswcJȾ*Ӿ$sV*>cqwtC*''`d\qSpM!CmUْ0)YT˓|TDSJֿtK ]<_/%*P^ cdV IU3^±*  JU|elF.N;N7<8.>݊yrI 1jjs&&YTI=׶ǫ>꟝PCͮ[T w+ rlFm68oijNgU3|еO *)W 7[ljK|F&dU%䣪Lwv*ϧQJvU.Nn~tz!026R);e+U'r=Ѕ@ySȶjc |H󮺆x4^W*Po:h\VDPzULgSIƕb|rg J.NYqMbK .k-;̄YJ8bPa4X['GIm}%[pg%H"tT*7\_ MgUù UBU\5ߩ:UF/>[#o8RhGLɮGՅ= gowl/ǎw Y?WQ0(>Ⱦ7fRu9ѺZ3>Fh!d[uV+䣪AtBU[)T+V`VwIUt~onLMlʍw[By@BR w}oΪo|5Bh_W{B T;Z1ZȾ]޹*߫.^yYɮtp絔n٩RUr+YTeT4qQMw!F!^e8DV7P9dJvU}){R]];|MVSoTFBUGR6 j=}jf= {(XhU>頨Q =/%zdy'R3ە쨢{?+Y&:*+yFufSo[!ϨNO}\m+37|\9b}2N=Nr5#mV+ߣ} ($d04sި:k0p4tGk>U %x3<鱦HCFzH YʯBF/ת"LŵJ> vy/<JYƳ{{FJ+50ZXH?ȧdUQJlzoi I >>P ]?ןHQ%* Vyi\ =:o65cgX5_? #gαgTsEst3hH \bW/; zڳ(;lwF7"dm˴]]|04QCWSd[uH{OJ ngtPmNB>:V*3]KQ~U}'TinQij8!Uf +3c)T㜌6oZa Y4dwوJR;vmU&^Q#)l7y%jClq$0Vܬd[U}R .h'ҍNm3 ܭb:>țKzN['Y襇3Z=%G" ץ]әf5^X>J8zGub/_%7>:{PPˏ.?go8zdW9W5dW' YQ}I(gTrѹܙES+ZoX>@ƅ^жL=}<:[ ۛN%fXUy T~#ϜU]Gwb˶L*U[UFcO ן#$l~A8ɪz 7q!4z%:I\^U*&;v LFOg|VB41y/1a Ma"l*|P# 9̘<'s`]SG.1(Y#;J` y*)U$gJ; 7BROJgBR9RȏQeGy)|TU |XXa7=GSGE!zWU'ɿsm՘80=U\1d[52)ȶ 8ܡvatCu6W3|0p_:9³%JgU}E Bo tz<|[?Np+2~DyU+k8wd1'U# f!ϨKtݾ:Acw!%>cElN^"jM:F]"쫆pB`u V o))QIU3%۪Qѕ.HJRT!ϨB T7{<>τOēNud3Vx)TdQHl\ -xܟ쩸 wd}U_ot {Z uwlFdBQ1gTvO4Ź-U_m#{lFn<:(=wϐCSdb{sj8mQ5=N(yHUQ]1 T%fνk;KPp|rU<#;W@؋l}B٥ix|;CI`z&%S1p6뱟+ACx~S5Qɪ&[8ڽ|[!ju;jF0O׊o"BR_huQq}XRd>QI'XoJ . IU\%!U)x ;(cT%RI,Ut%H8D9UwT#3sa @|BR@bE%QIUcP;BUm蜫d[FZ V^ͦjZOzk|~L>nY.Ttlў!9~jgP D; YQ}N{kdNSHK䓪ڍkU5i&U8s)Vljp)[U2jt%' ժ7)f(uNV%{ca7U#y %@ YĈp'XCHhgJruӿI`gB쫆#*_+z:~L]!U-RW%@U1O̳??_)U1 vi=[ꬅ<:r5q_!Q}T{ =JU8?!GS!ї/!Y:jL/6x!kZ!Ϩ3,; B Z*܁DȾj hrGnF8FJUMF}111E XsTt=206d&x1DcB ވ+d[U7-^J~j_T[= f*l҈GN(WU>RJ>WIU;:)yH} zOYJw?OO3Tӛ^t0xȜ!Tdܹɗ I0pz|2]c7=j}p|Žk|RuoQ/O5@_MZ %gڡS*Wfz{Ar[U[]~!^F6U^SI(!~!ZQWȮH%pTjegL{a*Yc_7PJ>qB&s%&ƒS!ܽD;C3%0w'\OBXU}ތ܏G|}ks q.4é]D(P"jj ,dQVBku;VUvdK\ɏQ5g|݅/-U;f s!$.Rs6%Ϩ]!}0'<:UTV^< YU;;(?Jcff!oRC2Χ#/f< ?/&aXۯRBJ2qf Xd8+<׷ؙj1YU IV=rzřQwQczCoZ |?'dWuzb&"I`hLVމ>h`vϪFT yH5z$# 5O^+G?x ~Ƀ[0qM;,($\IfGc$PBU5>9ϫ}dϪEU5p-d_udU0%h&jl|QEWhܚ!U+3U8cZ DmT)9<b|'X'wW\V|#p$m!ʅʑb9{=%쪢OQk}PGUJDF8ϼp^<ɶj *g3ީ.Bk  cjG<5SLU`%?Eu8S)dV(\l Ms7aBR%h3lm{^m^+D[pUldbsԨWµ]U/mX?Uu]չ"IGUr劒uQ TUl:!0FU3n%%UBjc0+`V!t)X5Q'ER3(XȾ*s@%U>{P|!d}Jjl"Rukyצ,\!*\QZ9T N#9{(yJWT dUB.JR1>yC F3>@ ̧jBwTN틬HHt"d_V9Wٷ}RG !@UM9T)YU\< G/,=T:Q+YGNÓ|\EYxBV&ӞT 2\B 'j)hTkaϪA iNJ϶fc8v5}Bg%۪XUʰY^:HrU<(V>o()k? BwsTh`s\ua 䣪|T56~mLȾBȮ''!om󎝰ʖzUtJvU#.[S9cWi2PfV TyD\}H6LFq]2ߨ^|gU_v6rxge{bXk !71SjQ|!TBOM懆y|mU~JkEd 'oڳsP%Z+V \TމÈV1*&vbT_M˛9T՛JdQfU$NNI?#BQ;JM*ޯoee!OJHBU\{MM09G[\9AGU^gUjX&qlsmD WeZ+ǔqP wbfGOP!P7>Bs|d[5ܳV[-IMC2/[2ߦ[T'Ϫ|!۪w:VمYGUy#1Ua_~gNnߪj0=sMPSQ7,=gx]:}6 i+YU}Ȧ\PSFag?ZJ ێ]m-wU.oy*t}~OUq6 w_[Cu3gn*W.8J|!ϨLn5.d[z/j : އBR@$,8!_:#A2|wKsdړko*GJUw:MNW}Qmfgz6F(#EQ0*RTG2 ڑk!Ji] ԴZ.,g5tQ'h'dWu{8OQJUu 5^L#!(YF7\P3{dQm օAcmչRShw xBS++j(j|)NO3O]j2J`Ld[UzN~RB`ymX*SE% +GFը'd}cZȵ%ج!UMDl. J pJ`̮IyhxV5 {yf)V>': Ͷ")W|Q"!/䕤dAJkIU7&yJ=.!?GՌY=rOGPiQJƚQBU8v {+I_QExu[ ,H]mгh4Ep32T?qNfѨ_\h=eFR)g9V9"TJ֛0@Sa&dw5ܤ<=>-OuU֩ö3iVF%*SdYB.&aʅ3)=4WHMM*9u~%*Oi7dT%GFxSnhR.%EsO!H0MҦ=y ׫2{O2eN%E뿈rYe͜Ϟk*)&'O4jYWJYUO=/j%q>* V5}Pt%>ظ?eo+Ur"_ɯ]Mtk( ҭ ~FFUgbdP轌 骟vysk"Io*U2FU!SIF çoh``Q^+F'K2?暠r:i_ٱrQ(^$wdPuLQըnIU!9x0W|yYhg3s32#_@U\sF`GX4Ǫ\RIG΍4Uzj67{;>91zfSxR;Ki~ʪS-v+3*n 5FVӨ4Νe^*Ig[pv6UpeU>mdMhW+alGF]Ac!q Ƶ,0^ }%#oU]IyJ`ote,-ғ(W#-d])F$oUEiWȲJbXxjG+YWDgF1d]"YF+$2^Ur'v~3'UrOf iFUG#_@׾ϦE(K%PB3yfSUs|fJS혫*qd\0vT]_*̞+JD~RKJv5EiTjk!t rQ dyI0^O%&,8ɺjKYVKms|U՞whSG+s˔ciU5)(<@ qeTӨdd=G)[K1x_QɸHvQ[?ɲƵOU_υg%TE'}JRI T7u|`F`lГUULcleյ1=di&g溔yB#O2TɲoήwC 'rU:EmE5I=5vŃUzبs5{ɐ\6gT4\Ҽs3RF)ƩoT*KPJ~U8#(Wq:?՛\SߘidPm]b>7=d{wTNޡʙO|U 5"x~fGJFܙX Aޕ*T4rhݒڸjM\NJ'o(K^PI"ōv %aŅ<w\d҂|#]kSu%Ժ&ϦߪWIUU(Gp2%Uq&'YUafEMk$|Yj䭪Mja!WdR~tG\JR*9+IR_F_)K 7%9Y5Ζ42WF7Nbď:U7NBN<$aCۜ5f&UȨj[yuU6p]'q>?yJN1.{UUJ2{qd]T+QQ8շL~T)DKMv«4[nF`+] ee9m6Z8]"R2X V2w9T ѱ'YU5Xm*XxA' 5\I\}+Mձ)YUSfjjlX%P|'PU9L W5gg< #p"G+YU2z]UF.:1j3:.OyRx/ 6ߣ*Tr~{[=FU$w2x!?'<jL5ʪz>]FUGnb U{-5] ^*wFԽ `{*oYB~5y'Uya>=NUmT'Y⮒TvO p0%%^=*y*T7sO:ֹVJaZX1J͟kSF%oUIT\PuU W8 *ﬔ\e\~t 4Jƹ2dTU;oJU~*NnsI'+˓OTaIMɿ36EUj2'YVojsKLJXIQW(o>ɲ*4t*ȿaou3_*՟D_^/d<28E'>Tnt|)kZG+*E~<əV342~b 듦"Tgs' %762W T#׷v(se(OEU+FTdUl5rJwVUU2Fc&*YVU)cYFޫ*bNRpJFnR5x^^ҡO>~1*=bFI`6~6r`$IU 7B;|j,rnF+w'zeSviS2V8ɠJc.,Ulm#7uV;dYچ{,+te&UߺaEtFs[*p8?^%oTaKMkſUw.U}e u*S I$?J #I۰jh W207}cbmJGu,JN1w̙+(G[T\ɺJjws$FDB FFtb$˪n>RA A%*:Ο22I )YV],9x0j$wJnR FVU}s&#U@a#!q\woq1jjJ`~1md>S{+GጌW6ʀ3ro(;X"j)m,iI㑥ڭJ`EVF32~34_K`U8u.|j/Q _}]FVUΗӉavUu) ?꿞.UIXyV{gutk.BqMoPyy6~*FnR%P哌;ddY9$˪$"zϔ,bs'YWF{G#㵗N(fǫrjb'YVy4j=[{G΅/sKULԱ]x`,U#Bѱ ~K/tSBEQ6Ti!lNrJ"XIUMJ`m \GɲJ:n]6]/TU G\ȺN$P}Vݬ]l%#_@41rFܥ)~BUM#mܤjЎȪ*Lޓ6Z'YV͍#?jE?<0'YVq:휣 X=\ O]Ǚ#{02>S̄Xq<ҕ,$oh|vUVj){xR^Qߵr'%YFU/#ag#YgV53eVhV* Q}7TGF%K"=j,±u\SE됑uUFh:FU) {jjzR55)qLvUկ!mTl}TP1dNUy>ZF`DpEx#`a'>P~i5sOּDcƟuk\Aɪ*:qJ`A'Kխ119Uv'*ѲbrUiUO jF+;|6|;Egǹ5,T#_Aq*#`K5^R3yNCɲDG+eUSU(*T!ov@/Rusveœ ;yf XBM*=yJ8c}xVg&S7WV` ד,9hYdTq]#˪"tβBō<+o*LLYWUOoURJ+KϗөV89*=Y4 ˓Q:UWe,YWy'VE VMR)$˪wݨd]ckdYդ8%yQU%4VUۅJU ܠez(gMdϾP%gDQ0`lA;oͪ32WsM/$^Ƅ8jMJnRVЃret#tL]IOJO,b}*#Jj_iͪFΌU-3D(c^=>yzZYLyFnS}B^g@#<)yXEoլI:`P},jQ%qvVrubGf0e9*9Z5ҜcpA#HpU4+z[W(>$"ōYUub%;ےY8ۓhK9O'߫?OhGG'U؃F`-pc1^Շ5\ѹT}HJU[KGe* ߞD_Pu0ɼڿ$ZEโAu1*nnVl{U~U*G٢iɖc"47**+Fu3rJ|tRwY){Tʖ^GuՖߦn}Ȳ0eф'6S7#eܤ*dz)j?9y= URiܥ:+qM2^9C[Zɽ2cDq= CV'YUy TIM*هP%6nS<#~y)hqnW/#*%#7KOf\RIT)xj+^'I%`&bQ#dѺɢkjrF5qd^{&_2JUpom# *{w})zIMSBU ;kSI<F4琊=DUsI G)4fc%_@F;#`_ [[ TSs9W7tvsr =lⰗIޫ4,@ ޤ;`*QFOq\8%Uu\Ns^ڽZFj]nFxw:wSOgQ %? U'T+.)FU{]YW5y|GZT-PUYlc@%νq%Q #3[+UTGz)UbIc?}_TŘ;m&Unr_TOJ)JƑ#p(kkU!p l%T2e`ĵH"yUӨ/7P+KnFQ_JW7,L5{euQsIޫ%j/LO*.E>RUwM*YVI8Z,hb r߿c|/jQ'JFU\R 6T+2MIFz[Yɲj*< bf*\%wI_Qq%(1AO^Օ.Z{ %kbyJRW%oUnд-`|Iz+E*՟>pԿIk2u,OgF茬"EYU|¹$k'G_G'#>BFU!O yU*OCѾILp([djd$p_w/J`zQwKx%”"a˓TUJU[FGad]ZIE/+.U*S5 Y%PbuEĆPT{iA\7|~UjgdYBjy})YUFI`3'cl.U-tnFT%FNwvFު؟#0*7J3*]Iv%߫b̌uUNFު*}gY#w$#΋ۓS+*l8-h=Sr&0*~:O_RIp,T+GXhRPU 1ıFJ`})+8]Wl%;Fލ^O,9Jo"X( '`IFUul)YV(oM$JT9Ȳ*w$_@utnFU:->|WyuUGi{y,uEw}/ǵBٸߪUR߄Vb%몺aIQE2W]os,e#`mSOm_*%Pn#{~+ys^ة6>T6ns|Z+f%VT}lTBb[UݖJVU{}& jQ^Iު)P%0Sj33xܤ*}FFU2vtE_UU7{5,J.#*,gT쪪[!TMɲJQZ]#V1kq'$OO,GJTkǟd]՟uFU!e~N^U}82I_RI5BTӞUAOG@T[tvn>3} YY?QK%*v|x%U_*adYW$*ɏ=IVUH1J`w$L,YzFƱ=sEI?Qxx0hrt'jN2㚂Jj9? XMM觌MPz|~Usҍ#N320Tф^(GaP[s]]sb"U1v;U}EUZ~JU^SGuNDQ,\I"~̾ 0M*XкR2R Ž(yߏTĞlH3mSgI c %*:kf1!JƧo\qV]q.42FN2R'I Q<ɺ*Qܥ옓UyN2JFOW02_a; ǾPs52RN#2/%0UβUrjcƔ3T[o 'YWI0;&I.X$*&%T^U_ 7y*LuO bƒQ(8;>~%-s߀m:cΩeUcG,J''T{t'u4 O:]VP5-)YWm#ʛ3c-8#uVe(x2p OIzq8_4TCV.'U*Ju#j?^#˪ʝO^drddU "f擼Uu)#bD%<<ɨUJ3\\nIO+*<żY>qVOfk9*YVD]~N:@'D ܜy5'IS5U˙k.(gql%7j_>9S z}˖ru<-yTq-LrJݨC7w(RTUM6K4}֠ؓ\)>dT>1^H~+w2T!8)y;a&V$GGZR\VYϤX<ͨFRES5smJ~՞=vw]f9ɺJYPW8TRx$⼥ G~#ڸ㫒eUD%7\Oɲ*DŽ7ʈ9M*<@Q e&Qtvb8,Jo jߑC)O9e4}檍u$NӷouiY~Iީs#`;s>/h{ %7JުrQnwv;Ǫطo䝪Фz,j,V#j8ߟv{'jsdU/ɕϪ:T.4O OGNz*G:Mc dRCnȩuSrjcCe|ϧ!JʯdU׉NɪQ;=ֽ箒F`GQܢ1QG"%0_JpƴAFFs=+#06H4BQ֣,JΓ0;=v-{Q4)eqRUxF߸qTT}`.ۻOe}N.4J`St\&^9ٺzL]7=JU}gܣ 54ںՉFnRU_ydY% $Ϥ?OxȤAɨP4ɕ,0ytF4Nr*K"B#jS2r*т^r+#x.xUa $ V#1G̻00~' WNXX%'Ŏv X $J8˜f<~Sd 53ŌܤUP?,#*9}ϾId]%iQv*]D_6*I%u#m%˪Nqf{2+URu)#'zfdY:EㅩEՖI3sFQFU3,\+\K{Uqezw6#(Wp&@FWJSQʙ/]P#ϻn2F`^ɸd `OT3NiS%\9*?QxRi:Uػ.ȲJf%k.U1]yen{a49MOT2`>I,|d1>~~>MK:ɨr#ܣW';U鉏앪N#=YjM}r|z:վ%=ßMך'q eDO5LQ%?F Gd-rʕk9ʠtdY%9pXIx/8ll2v@Q_Ty mTSt{\SI>ڛF`u*TMJu'g`dסrP5yF` 6kV )SYyIUwcq^rcޛz*+x'mTas. x:uŸz['i&^#Mil,ў%WTtQodTIOtxGPe#7TݠLxsP%*/qeW2_NcgL=j'^K*)Z %_(OP_ۮNjLdUjJ`L$>BX_&aɡ%q񊲷$j+gcTkAbܤzTb{VsxL~NrEE]wŇdܥ.iʯʅ f"3C*3JS΃[FޫONJ:wWSU7u=}ruM9'WPLfpF7Ra($j #<:AF:+RzMiOzX-IURMc=g͝#;աNsldItMm#ȯ{STa9Q#|p#`/e0Ʃf+j^SŐڴT)R&QQI`H22~T(/p.%0_r#`Kxrq5} {%>#?*ޞĐRٟg4ݎ2Rfp%şU՞!hdYF;^#~u8nV2W32IҥuӦgxTsU4I q{jQA%몾әX}.uOͽTSi(pU($˪(Rpfr,*YV5ql& 8-]D2Bok NTIc(ȺJb1?@ɨ6v#22>_PסqQU潑e q'"enѠd\[%’*Jɮ?;(Uƽ1US|{]'{SrJЍɒF*n&U-Q2:ռsrHoz\H,kWZ|&d]UG)yJ#)YVIDV=QIQʊS2 v6*D|[;JrMkWFxhK*ОR*o&Uˎk*YU]5S g9໚nlT#m*uwU^dS X\I=:>y%6V3r%:7ފFE^Fl\R9 I[ɸyc1NU{3)Tk]T.F|*'6$p-*?/9&ZfpUX#* @kww{T{O+Tjw-S0}T Cۓ4\eȲ{*G׭M:mV0:$7nw{,F*F?`5MojyWz2NrJW_\\eeTpq:*^\$KyT-PܤQ#_P|ඹ[n^F~Fdx/ (MFUM{ѓ CTշN'QK YFF#Uɩ'4:d T%RƖuYFU@XyFUUUy5UCjO(ʓS .+ȲJUU_@6MKt)C$qM2Ur_OaIU:cQ [ٯP4𿰷*ުHvq~5Wz^uǡJ ͹THɺq"l\zMUa.Bߏ%|2wѭ.U N'T$:`T9:9+IO1<8/ۜ&c"MuX $?jrIT靼(i9 g,dn^8k]#80R2# w=ɨڸz*TO"n> ̔>ȲJfb,k*WUF52Wn4?UJ~1T'IwUbvN+\ȵʮht&dUwM>wh~OT}$ϢT>穣lOW=DHtq98cd|CC3/U镪8fXU+I%z'9lv*#PВ5VTKŝ|%>,bh0ȲJ#̰02wE2ޔJVUѥJtTqg=V(`?]j\*@ww!Q #*:%S}_SY*y•ո2eGo+)~ga9P]?\zߪ'v.C%\t} SQ#wZHF`0ytU(S|_L^;L1^U5#lj.O؏Ib۴m*vM\BF@W==:V'YVI3'c'Ԑ*Ky T",jZ|d]\$hM\y5Vrf3^ӨRrb,X$*A]=QQ(+r֚T3!#`7dU{qi:;{U *l`UseVϱ*FFU_ye/?yJuoPI'2Yyvᙲғ\ 7!UHfIެȨi>]SXldY%8o5?[2$Q \)7ՠvO+u(>x%24U&ߛT:o=+!F*6:A2Ovh #{Av|fdP\#cOMwJbɂTȲy9s׶TUnӬHJB?nd|/I SlT;ŔUU}BFQGX6RN _QFU}E5nnpOb " mc䭪7YUE"g/^˚,"%}K$)w[>x&ujWT2BirUW'Na;IU"\xjeQystu*\_7^R2c Uf߫r--#*66Du1'u󯩤1u[Hs*Rq2#0 oU|j:RVԭO;UB^0yKPɲjJ73rI7߾R"x6Ԭڭ(:SWߚOa/* qxJnRE V5O] !ҭʻD5U%5Jۜc~{ɺMOl *YW#^J~@X﨑ߪ'"UFtRI$ǪTm:%7JȺ*mn䝪GFS)߫qnTe*zܡ )_r3mC[ɪjvx;>0腹RWTȺJNN Y0A6YWqG4e_U5`d]%FVUҢ佪>x_3P9ꦯ5xk Fj5X0cXxWrF%ad]Uh|dTm$%SdId52>w}Kh4(KU8B*Ǹ*YV1s7i8n{RYㅪXeGLF1BiW5{r`dNFޫ wotUյ+i/UMFո_Æ{%*qRrJJz%)c0$+'Yp2T[䭪FU45r?əN- &}kd5] U>s{)YV}5ע)JU-s΁Fw4W#!Lh“5Sm5a6`ndY%#mfS,wAխgTae<7v`'dve7_sn+UɱQ=W0rJT$(TA$oU9/NiPxrM+dUЛ]q F@u!*9SkU&94ƧW~u6S5X#eK{(YWINyf*B%yC;Oɪj$=krFEFR%Oь*py,YVnP{T4| TrҺxW=< 6$V);4yI#+Uu9 \+J`gQ7ō)Ȩ |oFުRkot*ww2+P<6%ds{SrE%XqpMYOAnRW]~q`1>s4UIFYuMc 9:50^6c{u'YV wTȲl{)xfhdTI^K%`cm\ѡd1(iT%+ќ#{M%m'%"'ܡ8ȯ6F{ Q/02r7FU XO2~t9%?TLFnRDIU|览JN+f]Uܥ\I ~ 7 eIJީ5ODɨՖ(rU<1 0FU豖9\肹g'?F3v%ݟZۇisMFΓUT s U{ႫeUpTF`|5=1OGLC#wU8ɺ*4)9/慪>*YWI]ei?*IhFQk3<Q 'GM "5^e ˓ϩT[_'0XtsMeQBKJUMl<5PVU OrJiTqB㳍}!̼R~t}QglhCZ0t.L `$4d{"!OV~G,mԓz=IɲJК:F9XvFB#3eYV½<&F㉾$H/%JP-4JFUi!ϝo$vZn7(rBNvM%"UP6gHWTwSjp;W's"g(Zy)i5 W:2@R#i)ugЬ8FjFs,lF`C^ܤL6TuFU-r_f%i'-Ps?FU/D^ɲBF*uPIgFU[`KdTeO*ih.Uu4r,}l,|+S2yVsvO-ڲQ6z:W%wwOSy>sQ# VމϤ.F]^*FU-`%)91&þ}5ӓ_Yu1?>cJUaTM*QE4%m4Ś9"EPUɺxK6KnM/G#Uu>Ϧ6W52>7[}6MYwe/iSnV:71GCUcl:uaķ;4ˁUȨxFG[UOgJ@U#VͪZF8RI%WIV0QBGl9TP|)pO #˪%<"*p̖Q%uPdY%OP#md]yHn#esƹT\F~$jUaf4sT)]L]*A<YVIц>%ख़za'3BK#ғ@T*%?z9T_wkS]C>4JU+JnTIH^{`Sf2FJ:'D I#*Vb{T).F`4s#bIFU:6F) S6 §Jޫjܽh\[ 6C'+ucFnR]gWyFI˓ܥ2V/J*H/2<{U2"y~ܡZS8'YW%O8ɨ yܥoO"ﯨ +dTGȠʎ3`ܤ-o_lod|Ƥ z)ìx+槹mJURGbd]%U(Ʈ<9tjbdq,Hjn|qԑ$7נF`l22o O>K#0w$˪(m J {-+FnRi32+.$:\8JJUUT{"%w;dUj ^*')UiTE#`,42>P$X=#oUR9 XɺQ IEWzR~Tz:,Rlf < 8qt@څ;(z)'/ %7b aʕYI~1Up#$sk#0 Ryq `Aɲy `T)[U[TϠ񓦈k*kT-L> j#X !GrmtddYJFU$InRW2\lmK/WثJTO$^ (qwU{EQ'TN7zyhƮrIvڝ,WLHz2l{Ս\׿ɩ3[S!!VI==Z 醱Z(&{sQjBҾCQVH[/](qbJdz mu9( /\I7es' Q37QEFoK{TɞZH9P?4q#yLI?J$ocTjBJioA=[>TIZY._M=|^A"bDV }g4! 拻Fi1|3k~tvroOG6???9pdxe)mVgpt}Sb3G??f8W}|g:w՟,ߡ_Nj_?E>#?_"%?ɸ{ǟo?o/~nC*}rttݭdMQ 5@TUcPTG%]`TtoCҍKpQۧ>iϏ?vs>N?O(ߐj|N)?fCY]8EaFNH,A՗Sde%JҾU%|'آB+LW冴?.,<=P\Ѱߛ~v^ãqQԗFEb (m}qƯ[lA"R.*}5k7\K탠-f@:eX5$7zǩr"9(J9ɯFeNF|~KSQH̸QSD{^x%mq?>~+ZH|}0CY ZP.j{#{DRSvs%~UI\̺! B9=[)XCTy^O&'r!S'_7X;@k'be5`Y 7uq5zA Ee`Y$ͮI.8jؘv1#Rϡ7WE*E6^0l#)і :i Tq: $ 9 >{M~ޅx)DT *Q(C$9I$١ɣ > +9;E57+Lv.HufdD!x>lF?#Qj#`?H|xstl[D@,7%L8^/JB-|^: {`oq&-EXÜQ;̳Δ푰=H cHMBwEJ>蚗Hh͑D" xn>&)3.i.F:Fw6QEAQPKJR^ r? ruQ_%z. -dk8TdO NO .0]QH9Qj= E<*PpH OoѺ(/ œqM(8YN=(@ ޓMZ;E(S)<d׫ #L _[GP$5@Zkf`U6ӗAL܌lxE]OH*_.h<6w|,tsM0$c o?<:H1?Y(Q<Բ1,`Y$ycscT-;^㮵aȥ\2<Jq&xuz'g ޢz @Qh6{qFk|~72j e0O"2&k$q*5MތkDZ1au:Mߗdq;nohe;S\ ׋7|i {o> m}Xb`YRHM8DJp)xE>وON6y'|xIh:Q>bp̔Drc͹^/\~߸g8/=" *X=H|S8ENza4&_% U*A;(* ?,d`UsBˢ$S#ܑu"OOe8&l,9r871 p!,g`YT%`.8y3pIKGTm6Ɯ@S+ ʍ\b7v)`ˁ`Y$g^εm,)XO (6QK~0W[JX:EG.",%nOzN[|RH`9BqhIDKVcN஼bP38jç>%>(!pwH X0p(l_l {Dq|etG K"@@ A"OGc po|ېqEa+0gm1 SĢ@9*xHDWpHT%4\"WG`g9̇te/0Ͻ)MQS DRX0ZJpi߉j(I"zDu 0x.5P~ =+E}xisaݟ\]`yI$%@teVoڨU_ENAN V,,ڨO6X]}.~+?eKÀBҊ)9-4@r?{>RSBS&]$ L)XI/&`]'fߢೋ|OaQW|87ιQmsuQd{^хiў &x)` q00j84N%?8=q_]rU޴J~z_( ǚKglb ʩ WFGI}*2SrCuX Y_U7*kU} `7<7*  `UH&|`YURU.J k)G$qVNc%~`]i+/zƙ$&GUQ 5nf2z#o 1tITQMT9޳NfQ_>#+D\+?uMԨOeQ ,>AFQ;)G$tw n\ #ڶ ϮuVT2n,F %x.WDJbsDBN^$*%H9̗a{D`JzQR9,6a`Yy+ жLT$ J }{ xmc׋$,0"9~>HQ„D 8TѮ"_As'P+s-B7<5T.rO (Y o@TG==sk3$ޝ 'U/yF;SE>El/x [ҾduL"?( yˢ>aX/+5-U,t.e"/NTQ8UNcE[ƺ E2HqnRF6EmnOjJZx9:?Ntset`E Kpb3DOEo)LnFBeQ_^E{nV N,'~'顂79 ' z1o.xnB/(4D,`][D 3[D{G䤷9&HR !Rg9Qtn:kxho ERNfaX&i!cd4f*G$ݡQt{D E.#@="iX]YٞLWDR`Y UWO'hB^'O\8ސl(ohiii ~qX<"uJ٫==-{E$&ry{&q/p6rGIdȸj*๩,|$F8OJ껴<l٪# ;!G*{֬qIXUT! }< ITh%æ[mr*y@%*qiXa,v=Y ݒnGjs=TN5ٯx܄(XE+VXSZ[U V?_ 0h)N1Hdr ??DüeF[$Е`]T< E<ս$X EXmB: Er x'iш>?w#bTaj傭p[]p8DW FGp[ЛLΔ\9Ε% \%hgjTI )ϕ;9~sD{@ZI '"i6_r[x8 ZZ"p7z'02KI*o'N\k\ us8Wξ>Xtʢީ08#T0.NBmZ7 M(.Уb\-r.`y|rQh[QR³5{Ax* 1ld8i (sA"HoK 8H:}auw ՍQ"0ntةD5 pu{D|OS(x "~Q ,P:T/1 ' ER+CphoqgҴUZ@exX7vn| tAZuXHr%}y T9ZE[oIJsXp xӏmNwfT ~ T^( D?PGo޻~b:pw`]M8~ Axz}> E2uO Dl+7imB\mr!+eO )(R{ . +bWHV:~˸>ɾ".1AD#S$y0m`U4޲cVw6yـʼn# 1Ao<~ר:]gN6'J㿙E'H4^ #Juav'y2RZ ĢgoJD{Db&%Nq^Vsq) EeدϮ.֑ztL^Cgz.H<_܏GVe4@L6*uz# gږ\q7θX"9;d6n*cGWT!ut<4\ U܌xlӢ`UW.m^ JXQ'Hˣ[D98O>`U4F/؛4-;bm*)ڄ =LmC^x+73,+»:]Eew] JIeQ8dXFbun$Vw3pHwػEUM`*pݪDs%RJ۟fN9d\0&϶Z_.\D+E1WN"j#8@RQO.{Ok5Qɿ'˸+XI?" $ ;_{ xʭނZhϵ^7o]U.+E칂{DamЌ_!`p.dL@sɳ1RM1b䐷S_T'll"y0+$ (B A㏍WY"YavAU} ,^m"Y_*w@(bG1m~h|iN%~.0 Kӹj >(FD )S1sY>/|=;q< RMZfuѰף2dn1oΞ}郧^!G`A ]2)_~sKRu] Ǎ> ԃNz aHѢ #wso(X),:dEiJPxkEU5Qr pǵStK)q} J+XűAdu=iqjmUVG$ˮOmj.$ %3rM)EW9}!?],dXI&"i  J뱂{DR K<{k?[MI%T Br\I*E DIH%b5p-lR k;&h76<gKfѣ<|E]R[ˢ$)(8gSYˢ"J}'p:UtTHpDX#1N2lѰy|Z|c 9qdo6g4]Pj#*ƯuYW$;e>"Dl\U: bnRQr~3=%njMW]\4]t2,4{So&߯_9h]+H!C*'XDw'Įr3s|m.2h7E<Ӆk,XITF–p RD:Ɣ]G27H9ڦ] C뢍/7V.?S}qn4'K9 Refy+]ˢМ)\ X]BwE\}C}v:+K+HF/mKe>gtKmK؂#eC%S\2Hbq7G1ꎐp&i8=H*_3 %f,DLS%Q}ɏ TH25G5Nԣ3p-.Sg9I _?ծUI ER#w'u+P$ψ2KW5AQn3D{DR 6eѸ|R$Me0*vQܳo=wKFPezuQ%\P2%A iӆs I?p #PTmG$(~O#{%wU(u𲯒 ձc2,*!QYvWA==;tϾ$=("^<,Ju|ber uQ .Z_:| ,E| vpT!M%`SYUGѽbrDs6\eINΕGKp+ d_pܻG\l@ `ލ:dLh(m<\{EThxYx.g`Y$~napRgڃE-V n2a`]]tO{e:^hz4M0+^&]d}L7\$(r\$yll1AQ 5@-b8g I*XIΛρ{~+!ccn\]xRW}"qk`YT Q7AQMpL:)sET2,"7Ə}i p 80>)^g vT}1. *(y<9/ ׷ԅa#0G^"V+DOʒX%H$fH] Eb6-8"7. (Q\ "ia?E42@M: M.HΚ |P$O``Yt׏I+=90 SJH 5^<=/Op .EXI'@k E`Y{pm#|(XI*3NQ`O+ 뢷JvWPn8_{DLhQ<]a|v: dh`YqJQ!펂U#Ę (j`Y}(=tGeU#ꮴ8K%'hg`Yu['=/A %c7efu/J)n5R+'sw⧀ȅ\qgfsE3G!bq #TiƳwvas: q~!S@`xx`]$]q|RT 70ZM|0<w^X5) sAs^BGܥ;QWާ dW=πYY.CD/ox.u*եܳ PpH7lPXqG\,Hlc2")g: >)*r%. iwO*zĺ0 L LO7UGΕ+s Mx>ӍWۧ9>n 2xue`]T: sh`Y`2i_y.\ߍbk"zDXzSzuU |R$Ūi*M[sŚxtVw_ Ivu*|ie G{D%$>nbP)}}η9c|Vg{@c%H E[r J\b@ L"I.YJ[+f`]]2ewy(_QZ x3Im c6J$3o+;ruoK{D(`H22AQo5o35M|{)I4 QdK~)+beijuQ>gFqՇ$vʬSN="i 4 f`b}(y.3A)'mGLQc~w.3"VYN̟K@Q,j lp`lxqj`YV a~w:^HW,b Ex+7~]t93!51iğccfs,.u6'Gિs8-c`Yt)YRqeQ.b|A҉J )jv7Ԋ"79^sw*o3C y?"Zp`u_m{JkRdTm(X]j,ysfe}^t(2}o' b(zr,تp |RQKGVgjuR,.9!sa^rw;$.~wrWiv Yx2'ۦ&u4.{p&V+X:%u;95%Oy( kדX Kpvר(rS%# {DÅ{DSM:O'ٲVQ / p3ZI$ a+X S( ,BhlCm}Le6@G$ҕ+ |H\/VpHzf`]T|m2+$ |qAv"jm.(]0o+G$aWD'Qy< u8 s]Yљ$x #2'՛RAAd1qhWe`]Y\nɧ-uEbx]+XIM" ,b/,5/J'YDE6$HS+X#*ҋ^4m׋;5.*]15^:K*:<Rc$u6 M4,:eT`G@<*=0 Dcm5g\b,n0Jp)X=<GwĊ-wU9~5K$ŃǸ7WOh,Jq c lR٨OHud`YTSfihH/@uG\nm.̀31P)MAwW&ʞX96>g.6ExpkWJ#xXIbp3;c-")] V_bciPග^@!$G_~u.×cVR>0[nN=0U/+o=< VEo\u̫(s^Ek8?-[ $ʑx|5VK!<0#rdQIј٨ 8d#U#/d2nmX4\,7ߖ4's ER ]RH s l8,1g.Uw_DaTAԷofk@X^="΂OFQpE%%F{n'S `lӭH*h_=11Hre;_$*96  8(:GyIv")ngD1A+XlR%a ¶2,9oEDӊ8EcAv%I pCZߖ*b*XA;lxQ"1(Ff`]\ꡁe_sIww[#(#nR^EJ;H^*R,5:_=ZͳJ\I ]5ؾ2{w v|p)c>(?(i(Na>) Övg;=+G42_͕dipE$q$2pH2߭sp.h ڪG W|P$XsDMXI*0PX7p(w=?5$ {ˢ119VIS7kcז=,iK_byFQ- oƯ)rIEc 6ncrß;a'bl&Cr3 re<ճI$% E_E p!t's\$OsA%IIQ LQV?-*ޅM墬e(aE 69O2pGs%zJ=0R<}& }AOh4]8ˢ1i^+mrE$2Qrn/ S6ɘ\W}n.c9lxNFItD>ȔEIRgk=f`Yǫt9෉$ނ1 ;"NcI,%Q!>*uS,zBN?k$z!-IX:!|6Wl[d o7,$|ڸ mŢ*|)#DQeQtV 2qcWjWoՐuD"t+XI̶%QICl~3EֿM$'DyoE E{w=3]pVF nS Ul<.*tωZG}A%rk`]t)c M" p\q\Oe\+2lVUph1+1n]70wHpQ@KUa[ ER~8GHP,6Hz0ߡ.QaZ|T2ETIt98|FQV=ǒye`U42v<F9_9^Tvp#\¸ }=>_=KX4y|(ھI$3uQ UDAMV0`U(Xɶ sk v}6BsN$)pV/6 U!(GTRw-ТL+<>Oˢ+]/Re:{dA;7BE5p3ɀ0 g`]4,LK1pH]2Gl+Oel`Yt4GwsǼXo0HoWV{XHл}'>]=$2Z:̍~V$tQ _GErbEPD4@ӥ"ZL4 U4TIISd#cp-1;(>M{"Y#:2^ItOɑ :qX4! )(R=xM2&>"hY2(WqW̷="-QVmJ-_uDۯNgW0Hpƶs*)o)Xh1܏Ew@ 871= `Y#'/ycd)`=5xE7R?Ӆ?,JC.淞 uQv (r m`YTRh#qNU+S8C )78%WJ(#$!lR<5X`8bD$'cēd`E{U2bD_(X5 #z~)\UMjbƝ~&1Gj 6L4OD3@B%x]v$e9;wS*h .Ir.OǙWtMIOβ SΘj;[!)X2[ {r/ "7jE]'B6 Uf ۝*_N5c²DՏU|R4vx8~3-y^(uHf3Ie>:Xn un Iur hW6aFRGB &* ,dG?܈89;((G}arckd`]$1JOeQ6s6_H_&I=8hp(ext yԤwOXccm`Y$w(*J ,$T U< |H{нEz"0X|쯼"J]c3ANq%|;H\ >t~$ uQEJ)ds;88^JQ`U_̑ɭ>)*.׋r~OWPFO+ɩkCX=Cx 87[c)؋gɁDQ:P(*O,t|E%{R}z(b^KU&P۸a7XfB2Qх($T`YK5yxkK厝dİ6=*of"1EUj7,S}fpXpHz H!^Njt`\~9tDM}T& p`:`UppNSۚRwҜJa.8pg JW'&*U P,ǁ >iȿ ;_R ,-瘟(1 65}1쎡>Q`r[ ,$V= L4 UѰ8w4:)NVRp( # $RWӟ(- tKUp(egM;Í # pmj4X E @. bC$ʔ^ P l`Y #" _/62 >(Rk uˢܪSH1D9< pt8.k˰^6319f.^="ICgcp#< Sp731TNjXi-| @)G4uJ~Dҩ:kqVtuQJ| ,jh}XI6K(:XI whI‡+Z&Dr`)#D⧇6,nQ .c5mStQ1> E%L1.*0AøL5WDJ.)( \Iz]2 Y gsip% դ_̕i%zX? ncY+3_]i)xrq]J,yY ԤkD:@cmL"(`]4  3`YCs0!^=\`q:\&7$+6۫WDy`zR:49Ins*8wczh əh̠XCh\e}+d)\3{WLOjͷ|;{(:(?o.}Mf:k隬peQgKmd_}?̌`)7|f|&_/UPp(>)0\e_K#Z쎺 #Dt0, -m" pΫWy^ tbZ6@u|Yxv߾?YR(l7йEr. "GVRDI}Dd2ǚxoLW6&| @$$_^뢱9m`]yO 0*ɝ]atgѤ2@_@et{DrGE9$I8@/eo杇mvu06+EFqVqVNjd_ur1AQjs*Րcu*끭9KdD3A8X5ODô桥s+QhJu.dBwg}v uʔWq-KJ+:H<6\_I> F fJ&~:|F7~X$%l\aNT ,ՁGEDsUsAIJDQizL tNOyTRr%Y ,jtD50gKnM`[]heg+E\wG$e xj͍g% tK{@M$. xWDwK{n*Iդ0Y] .*㧊)8(,EnDAh] Ihx}a`Y$(#D~&^p ,du6V{dp{D9v79XI[Rpr뢋 sLHr?)Xa#l(#r #P s^Y/ / SDiO;K8QSpH.Of$acm`Y$YGQjWv'%Qڪ2G{E-4'EI"rNIZD9٬" P=V.T ETEa{ˢPd`]OqM]/Oc)Z+-Ž- E9& UH и쵩O`t(ֺ1րx H2naXIZ>D ERXP Q( ާ૚SƤ!ns|&n^/[4䯊><+{ȓ#RhBLK'ڲ;': 犳w,x-f`]mQ EEؼ7k0d"+ztI;E[ ,rso]HεrjI__O6 >)J>'|h_4.bg₎9WDŸE㻰峁V&+&ɏBwu "Jm8:r u`Y%~ i`Yi"IM"0## Vnr*[p|g^p.I)p(X嘚0.åxruE$xG "9"`s4 W^܋7NNYO{DbF(K*G$NFnC#}gIbEIN>ȓsZJf =:-bFQ{R+ ,LH>gp5%Yuw5GMTm /K\ESX[ˢ:,ׯL9+o`Y$84+Uoхc$5,*-?}w?.tu3 |PRcu |(*v>)3J"9 c9(F?BT#3cr ^$W,ֈ5Qhlk2Z(fxMz,},2MhJ $,&IV||6ʼ$ul-EԐ‡6:^$?o~kæY7MmXm.?c]rM*=HR^O =Fu͑D!}LC,"iX8kv*8y2, 3Quse Fu @d࣢L V]nOA!\tO2@wMsmF,$&|c/B (E E"~(`4 &QqŗR=N"SiSD 7zg"iAnϔ }ۘo`Y$p;XBGxB Z#a9u.7+W9J0xQ-<4V0*zjeF`YTru) p|=4WZh0 ,Rq p `(ʮNw̜3'ɵ5pH*0 hŴ^Vi`Y0Q׃npE>EI2AƑg޷{qѻ9J`I$_51Kų;@P,b24ஈP4C%QƺVj1a`Y_kyg"zأuSB#(s v3A!UT h7pHjLmE1 1|幣%{`4WDՅ9DT^]R.g9"9!ÓIa zF,O VEfW*He}'+a`Y${7SIR!U6>(*="I}20$5o7`H6@E p]dJ\|Hd:0d\h;GUoǝi3:^4!h-nXI?Y#sW=p hȸ"(b=s4C!|!$k/)b/ģø']$AL=$9tsTUR+] ",艁eQ3W"ټfrGelQ]U3z?ARfޢ`>YhbSG4^NE1U U[0B9HƒjθUJ\$"G 4=?.>Q<7@EIyd1*J"g`U4 䚌)I 3-cJW# DӧQ83k3RRl2Iq1ctPC"Ra~h K9^껋]mq5,V׎h#' @\W^*~5JDj`Y$=3p(q?]{Dks px\ͅ(XŽ6E JYlc*I,ű/Ȱ`>ǫE`i[g&Qq4 p s>(7s ɒSS*!lIoa?&Y5T||(cIY$ERNͯ'/dGw+] ynmSdfvݕQe-(>(raEҨ]rEU!cW+_=Wp(Q I5+"}^s4)D;`]v{]`Y$]lPHza0pdEJj&B+ 1+AQ$!(A|& .l`Y<{kyv-s.śI@/*+>}KpȅG$ER5fW`&itDf,pI䔏>ZN^6f7ܨ~rݲX3I*|D_>\p+ 2R S }ߧ S}U uVD`eX=1&*2Pl e_"TxWWO$XV+Xk-볟}mH53,&bqp6$S otZN.:9}%`iI=Ws6DW]i jy.)904ܕ XcN&S!41+e7O Qr\ +Iv.[W`Y$ (b`Y$]F;1p(UP.ړ+ `Y]smvӦ=DR^O=j`]Tw=iu>,sޕMa`'VD,"v?U0$ȉE8,dl ]IX |P$A7QAN_en.aEًNi'kV!M$="郀nf.Uq7X孻ͣjo|o2b*~# p&[zXKUS%Q+X%AcM}{"RF3y"`]4;tU#$7X&E=ɢoH + |R\a7q!x%ce3d.g:X{Hx"" r% J[p prwn 5Tq4+I?,zDW6)'QuF D-pk`YkuK{RפIFI9HP.ٝ)GƜ8tCW :RE,5y>'7.NvK-^?,zc1E ƾuɓI=*7{BHR۝$ љ{ >(veQޝiexObMTW*7ER^9]d"vt:%-D\\%Qyc$"9ZD*etfeD `IH8/e&s `(F5K%ֹ(D7y͒-mZki~`%s'(,GWKI n'OS󰷪߯MWN(xmQn~J+ a`YI h*{Q$QfpFB^29QjR4u2pw| +'*I;rnq .+b\'Ftav[2lEˢ6{D2C.e$j*1̻DQ|,'DRUIY":~$Xp\ pNt| 5Rژ`;7RwM#0ph(c"ߦEtja#@9%p%ߛa>;(>Fou?%^,`]4lnL1AQv[~`YZg:-"7beY@"nBG,Y%<:v_%i> uWrvG *I'Y*!(fc R.s99$<7QR_VvYU?کxhwEcc;׻}HH%^ @J+"'c)4.xK]P.ͻ[I|P$=WDa<60; wD1 x3cu ,򘛷񹻕="qnW;`BQM P=aD٢Xw:c?:~`]$5f hUpNs="+[g抒x͵ܐl 7X K*з&0ȳ橢EU`Y=pmL VE9.TDR7s IT >(J}h{$y<86@"R; hϻ:ͽ'. k~SUCR2 #*c a?oNkK|wt҂mqq x[H旋\АRe_3*yNHb nYV@Pr]|P$.dH#Ea0T4,oIʿ+cS6Re@4v:T,&3,Jٷs{0l-\>xte6>'U JG^x2`6v0]}x܋^n_(FoIs#_DIi.LǐiM҄{DqsFE{,H֗,SҸ4pH3 Q/vEyXREQNj1x#a^_ߌ'%xjeIqG[ 8U[Hđch]TSb(/J^4;q)+Uu`R+X%o⋥WD3ywI ? :-G7/!|WӢ\0"qbjȤ`YiwIV)J9Xjϕ'гgskGE8"~M6p(G d>bv#VNpH'݅wXmmy}7u?FwOE^3,*N1b0+I5v h: $bWqXHhޯuQظBgi&^^e෋i  EEqWDysۜxA$=a v |Pu+ۜLsE$`vbV֕=6AQ ɔp1!uQryn>(ʘϵ2 f?, ;5o`.C=`iF @m,l&y!!)ʇ#irsa6`4G ,K 49-Xn9 eQ35L O^cr 0AQl%M hJtE[wa΀RoJ}28;t(R5w o#16Q}Rײ'q~ry!I2A@ހ#9JDB6Ih,>P}.53 #u{%ҹ?P_޻r\aUI;&S.ڃTwimQȮYZp]^٨"OX/u3}X&ڀہJ Ek.Eo,xy.'Q-.FO|2kkWuT4_+D E9> (Ns_xTg(tk1VQc7S\isa 15 ]$Ĉ30${mk7pHJ"$GQQz|]d'u9'f\ ~RpmW `F.qD[g]l79tâ2R|S2׭\Ny^DKSW=(Iw]u'W#@[ueIC@k'cN,/JRJ.W=(jTWt׮y~)'jf;)âK*'z}*#  ͤ8QEZU3Im>a\<j)U,zT b QpQIeosA0jr}U4~&=ꈽvf",9E\7WZgA6WhMDXmqc#4K5Q,V P䫲ƓҭOX +cV@?E9F):~Dr0K+JDh7 4}];zS$NXIf֓ ck?K '.WDR NRwow>"2p(K[)x(3̵.f3+5.Ұ\am)\bz˒{DQ#3EoS~2@KXeo;Km g&cdѷYi{M$>0(G{}2Wg3=;37 $ ?["wޑK.K BAm`Y"WD9Z i +7elkEQHƉ`=('sc~@NjC5I P{wJ[O.\#Ml;K$ݩH<<3Wħެ4Fsg`m"izO >(g:z`Y;Nl .j6,/9D,HjbcvEG4z].=[$Yj‹h~,ItwPT|ٜ>Q& ${,zfNWQ(Q(M۟?1{)ઘ|4j̰^Dʞ$j"9`Dž"ٗe'e%ns+ u3A-yDc sݞ4.6ʩQأۄ+I\feQ;'=|t]ĻDҥK_9Y/Jqhuw`Y$ YqCD愪`Y4V1)T?kRlS5ѾB6|R4\.p6Җ6@$R e'e[JcpIU~D}6V1*zd׾&`U(׍%li ^E5lb-8M @$&Qh.[n #Dݕ<rMIn3fmI R+e9qT"9uFg_+ D^E>*:ۚ;S,*1. g]58!X/جoa$,<2+)j")|h =R>9I!:^4X< ER;}:#{ ρܡPˢ^s_.z<0+n=6=xfJ?B$3o&=()XI4&O3OIKˢVeјbk}e AxA:=Za6gCk+ EȠx 4*GT+3h DV4 Sw۷e6}jnsE4ӝik&Q.{DR.n#E*f&^DD: hpmlK6;@ P`#D[X9.;,Z@/TDsBԁZ;L瘆Uw^S0ZulW2,O^p9X Q $*?ebo +Jq=B"I χ9(tԧ%qK3vO毈b>;N"2Tw5۾(3D:XŐ1#Gc'wI2PSO+X.E] PgR_5} xwT+ CafJ9F="#=ɾ7 !{-K]5\;Sq E1g5Q@ [G$,zMsӯ7uw͵PD s,Dbh)X |=T:ag5T|$z"x]㥀N߾o ˩`]ԃU41gTn0EDD~ n5eQ+OXIwKׁ̭..ꙴP\4ꊆXuܲ(\ eѥ.bUnvc6ם(ips*4Yǫ\Y?麱j>MDj/Jl E&O k+xjwfTE1|r" 6O]0)@Xʠϊ$ v&qSt+c,#fQ ޟ)_( D Ebt0|/)=G2gu4i%@x ,Zd_5_a`Y$6(1a"Thon7߿'cH6Q/c nw"c`]THRE%^] eQdM8IpߝF=~!sO13@xwNQ;`Q;]a\wV3"}hSǼ/J$.] ; 偁c2 ?W2Nsl]#)6qPS0v8v pVzr[D9ʷ/<N9 8VԠ9{Dud\][8y!-<~9)Q(eQhhw7?S}lه9t(H8 ?: 0OeϮωRxCj3LW(}ŗ٩[=GωzǏIoH>;B)[]f{Cݐxs*ysg\eeM;aoT0_X)7,?x pu 3,s"K>x[/4F{xwORa uQcF`qk`]4~̊)T͍f?C$Y ^)06I$NDy<1SG$?u I!FErԊt$0$H? Z 4O.k":S*RψWo<^k`Y$e$0pHNSxtpX\ig+]ea1$v He4GB6Zm NK $P|1ˢ$UY_ <5ATg9<5&JP2+I")EtF @.f ,=FH!1Rdet#h|FN*HX! i+a4 GuQ4 s=#eQl>fL\I2v`b &zZѝ+-(0h]>Ea,,k`Y$8.0Gej9fw檀gbKTnDr ~o[J%QtyVY\p<(;;N8CFvgK pЭ[N Ц&Dn'hSjfC>i s)REb6oΥL/ij  ;"Cg`Y$9LϳF :^"2,J>h7AQ]vfE+eTDItEdI "9hf(K) EkeQgp毴W!xaRwŅ'h. Z ,ƪc|lZ"IY9= %0Z(Y 1q EFe.uEZc"s}xR+Hcpa`YüYѣQK(X5<-g .?>K"0nж%li`YK}؛숣W-0igaN(%WPHVdM 8˜z.|LW#xKc,$eLxğc\g=vWD sǤQu* +]3>e(X>CM=N㳡}eQh |P$F෫Ꞃ{Dد?sL$:ˢԊk`YۙpIu1 /y[hqp #JɅbX'nRJ a6\o>kv t5I!k" 1^H(%WN*:(F8(tӵd-jh[-rx9/_YZFx: 1xywph-RN].,o cw{DX;ԲIB 0, [EΰjwAٹ/ҼꜴsd Ol哊;|]TYܲfQY4fo,# 7e IÏ/ 1uchab+nQɦ D[@dWhI]kZ+ phEuΚ L/=R'2?$,5[""k]|N:t`CpP#Ax1kNmBZ{DV,U\A~a\Y1)bo g6@EC@Ű6p;:͉|'Kse`\K<̻߻I0#W8[p0,K|aѣ<8QF=yWZ'p)Wiѣ.v`[m\X\W"<4OVO͊*4I彭؅*Y% }R$ p(IXoV=JѴKIây4a|Ҧc,4c"%ُaV i$[{Da]LgF/RѲnE7jxǰhIRq`9i}PѴuCI[)2ā Md[x%[`Xd3w>lðjJ;_up}s:>mR{M EVl)怢y7D~b^ 3e=Sgvә `\H\nDZ0, JA+b_4~XUEpMbw'Y93Ì 6{3>%QB'~Vd}1N]dE{˜Em&|`BvPHs ;l3G㢉uW@g/Dj?sMd_a;crN6Ӫ?BtA1eh)TTpp$9Gtca,p:ǵKkש̴,, vlv#E;`XO_Eft5"J,X$D 0,Ju46 **j *؝ QGE5s`X4OâjAl6eI-wjؿâH-܈0.jS\>Xhj ܎cj;j%C2xPbU]j׻DyWlڻU~-ۖp{Df!T_J'?w9+y!bI QʠâRgm=bj?iۥ1ֻk.\YSW p(!mFޖxTb 7Kbt>X F}Q:;5ƒtYtl]XYlꌪǚ gr$>(/HJyVpK;,Wu_ 0,JYO4 @kz'="4Q^3'EʼY>5֪KNA] G'ե%dI*j?h\MȂ;i.ǹ}4j\Y|]T+ 4~`p a5cS"ED$QBq1#ʶ5E2K)UmzX*zMe8WѲ 4Sk,D|P4YK6'Zf)2pie op8sw2XafK c*XWFZ>fgEV^ [nY9WKG$\/?`\d-"Dpgת您,,25k5G%ky}G☒*X͋Ű.f 6m g:GM꛾S!y$2p0*'9`T߅]#53]o"+Q+NF&cR\f͔'t?*g?G3HaQms=º@8EˊmM?d0wL| ʹYEwLf$U!u0,I'ن2^uNmAŨ%9ihh|mpVD*Y2/]DVX/o*U^Es[{c%g$i(WR[ս.EU_I˥>yxIMu N&Ns>(ʓ$Mјtp2-չjEޤn˿2h`Xda@hjrRr7wM؇mHXr/R=)go()yfFieKq/Dx 70ѫSȲ'ZHtjtj* *8HY"N}I㷉,]{d]B-C^[U$ϽfwMT7]hy JE֡k/@^Te~R<*;9('st |]=:EY0 cOyW?Cd͈ Z,upᑵSL;żM4,>s"+O:/Y,9Y$>n[jқEWDyLc>Y= Q USp~Wya= $^âb{ EL%fptTw~)o0>(Jm!z({D%kQ7+kipwN>kE千qsg]d,1taQǂWnNbl%f}a,h/\v_a{[v Ɣ,~}|R F88'C;Bm0.%LI}i̭.9q0j=+|vEXcq"@W{D1 4z(z'JcE2jy|dH㢩r,YƓUǓG){ Yvt 5 ծ\4rsd1 @d92 ٌ3)<`uW/D5Vk< KgEY=!"E}O: }K#ƽs0, MQ]]*9GTO 3Ͳ;@U'1 6!j3‡t%5׍,zOZ#dsʖ$qϲP\OVDS1p p(Ғ0/AA0?3 Ie8}uZpD%S/~'q>6"7-'NZ2(Hao>[_,z`X碓Iǣ+"Ņ4H0kpyAqsw <%iOXP 0.j$ lϋTUwu⋶N ٴ\OVC/R]{Det8S"+ECAKhj i#<M"$xӍJbg/sr]Bg Q[0 9(I%7fn7w=y&4$³Xb\"W*ݦeö~wI>n?2̹tɯ%J&+cDWĮ&wqx$WD`\l v"">Q)Sc-UR)|;l"'@S}>!@/XSb>kW<0:ハs0.*98|Y7z¦>)`\2c@p!G,fR0 guo,ʻT82K,+,>n_[-O}QJ+}h>(p$%-e]nLuL9~)Z'ivQvJF5b~Y G3bIiݭ߈Ej-ZԓǚW08gjn^⴯gE:m]i{7sY{4FDfrq@;HKՓcWDV^=_/*5l~V*5rLh|cH֍O|XYԉܹ}ȼ>-t֓ "۴lzf`?쯈s js_ɬ]s@l\vt0.Q z7I;kI ]. /<#lfA_x9US E= 4rGʒds"Q4hZKaQ {ap*+)' Ծ'v#m!β|Q tdIdXp;:X2ŧ];(}`2KGây I3`e afq@I ̉ʌVâf),t{DɲKxSE`Q/M/pygM̹  :?y*+ 8Z:D҃YZ*?s X]YG)ROJ\Ͳ!Q^d ilZ,r0,jP8C{uąȊJS>R0w j]â%)\sf;?(g ph쓃qQ]w"âH6oDNT/*kב'+Gj}CtQKaO +􍮲~~[UdYQtN}Dzn8 Dv9nUqMY} )˾O- ۞E6ae1tp$69Gd'U v|Vԭ pejb3_]}ϩ+_(E jGt6GE6l/:kktJEi"Ey $ ]"ΤY49u{D^XjvQM4AķsEKbXd$$9 } un=ZN!w{?-$|vTI5c0q>:Var_hru󅢲@Ώ![l& }%Q΅&z$ZvI#m~:1] Eq Ti5y-'NE%9LI*m~"=E; X{ڕT\&)&Q!'Em|;n* 0,zOQ$( 0.jEy+[כDU|s!ҵ&ni pȒE&9PfNaѥuӜdDyow:L44AQJ ilX7#`p(Yvh=j=~]٤5:6dg]vF>EKrQt+J| >qDjǐ' 5ǯV'*?hZ/ֽ== j=h 1^Efc#!#f"=kuEB._>):\W0GI)L:|6 Dé&yARKYa1tDZYU~U$.$xs% j>_omޅ[ۭ*W|ZKi.]%yǃKlYaQWY;#D_jLy%>(:"kT/Ɏ'3"2qt GR`XdqZ\iD,O@/%W,d^O<ĜO @KvIy@kgV޷]R ̭X,8O88|W5*:W6%y<~Hv~(6W tn2 ?Lz?/Γ, #zJ$JURE.&3ysbD8??" w9GdMr I" )GyQh4fe]u!>(Jc)NX9Gt.U BPs.*@8DZt=Ű-ڢdGlFEJUz9e:4`X4iQT1'M@uEtE8늰KYw*Gg/ǐԝvq^n0,6D=("kAJ.9Jb&+:Uh9ky{Y0Q&%bMm4xK oXЗ3<SXN К\kev0*z IPى+(<#SDw.,U k^VVK̚/#D%:uEIBل&Q^sxǝ,y<D K @@T'iy]U^%n#`O 5MT\'zNS1hx&<>oHNӷrs@ Z mY#D]XwnH|`X4/oqt@&Ѵ B2[0a6#R[pU*GT,='@oK..$tf*w]EZos-_~FR~ 6Q6!:M"Tv&W(7("+R"VFLImP}mCn?ˊA5'Eoa(Zz}QLd&)`X4T uCj!U/ R_C\}Vu.vEm}pNr\6]yI4Qzle֧ *r2M)>.KEʂhgR{~\eE|TR:]BAq%h\&QqCQT7Gd؉ 0,vɹphCpe{DVSC*,L \0?[鵃, 6#j+*IکXٖp'[Qx[#Iq% v : ߩez+9k mn_m `XTg)w#Gx@ډW VNYgT- 1%s0 ``XLWɜ,}DOc|nc\ $%YC-.^D/FwԬw<0WѴMu3ULezCb=Yv_|}PTKGTb=ӵ?6Q΋4t@+ll8^nu]TۢJcK¡>/;$z_@%Q{LQLXؘVKaQWvݹ&4|;IEyҰ[~_Wשfnt*`xB76P<l<#ޏ%uBaѲHaGpQY)M`X4R2'*G$Ӯ޿kTDg˞U]6l .KK q0,~8h_7{ ;=Vs%tuẂ="k>'EIb:QVQҩ1D$"^6 0,*p Lu0>3!BИ|Wk1W4t@sc{~_&x 8ڏG% m>hc.eD0,> &#|( ǴԪ}v0,2/0:Yv6$q}JEuȘI|d'M~vz#s3G>,'”-WpIzv;б81i<&h)/_K]>@R)Z2E,"QYn~yդL®hxp N^E_waѶ+x&h_ \0.4|]-)Xz.0} l`]kGDwQtILXf!L4vOGdf3սo]8urhbM =:Z5B]  oDN^OԳ @`̧n~=_$%'!Ͳ`@qQo0.Z EMR䒨LR<EoIZ7R>ĥ/UZc=W:I̐,vFE%7 nEYi]uye]{DUġifâG2暱Ys,k@ĨpQ̵ vkQQIMwO!x$M6 gO.Vb/] PI42`̝#9@dyQ Hv/\_z="+)REEֲLk]?\4IS([N p_[odpEsXD3DuF{Se8Ӫ5q֓9WDV EWR(V +=%ek.G;>(JgLro7}lG3DdY!uL]d?@T`{D]erp-u7<ﵳt(jJY\٦ f+͔'[׻`XT9teEԗSXNr3ٟdHrGexyEefVsݤ탃{DfT`_AFEyk E2I/fNظ"V##UhR+!*2k.i5hN>ٹ$JmB" *I cR3wVwmY`X4b:Ȫ'N 3]KL W3M'2/R!@4Kyd qDy`T`IF/}4D.2D``ct2E1 >y$e`XT,AB`ϗI 9IT;E8ầT\.+S.Q-@ ]e~JRd;*. H\W5w"^Lz I/Y/G>hE8SWg,3>)j7sgZâZ$7xܵj!`\^ATv0*jsR&hW>HIT7n),-6s#Mxhd4 QQaGI"hISF,?h9וAMqq )':K`\6}+F(H,0XT'u%5M]r9>=EjvQ22+xVY36?#q&MsfL$-IWdGaѥJ<3= m ?9#DiD7[b p:kfy$g`XTE ]Q_{)їEoK6K" Yqsc6yxw}q!,WDX VOR3HKQ^M*=|<,M, R^;%(8@5ItM]8A:qL*f.V {D:!z"U?#V$~UY|.a8IFV3Ejx'P8$%^N[EڙL%K|}ǃ)eG֑N'Ŧl.~NdaQi/=;i_X7M"kvТfQ^?ES3~`Ttq8g&XGy|,ZլZ dhZqќ3 Uzn9 ]âlVMaҪ2\Ow0,0>7㚽1Gd{T;5~VTk?dя!b{Dy.9^TiN=`3w 6ŃU-,t"-@eh T:UֵU0axE[sfkHRZ)Whǐ;vWt(76M,=r=`XEvs{wEd7j%QZX~%=*V.5:E{5.mtI8*i:ROaQ] Mĸ(+zV[ Ԧ^To: vG4O} 3,]kΨo=/#. !L#˂$$Sw{I R%j#hIR= 0.w ViߘxVJ{"K`Q.6l.օ3Tޖ.)|2o:T֧MM)'2aJ\ x7'tRئ]F\NʹMq/KZDe.,;|>ѣ0.O9Ȧ]3IC\Jԧ}e-,n%Y!;x^2xgN1+ý<G#:(]WpSfZqxYevz G@F|hgzUŗ+1Y֡rR)QhάwWl+N]tq Qck1sתM*5苐][Z!*=0B@4ګ "LG'%T&x 'bayHr3R%ȚBpQHh8gg&DX1,H|(mRs/EseÕ4%*o>MEGd.wPdh7xT@"ĥ/bjsm29ÿu*Hjԓ$] , fx.?+MS(npeBE!h".>v0,WEn5/Ipr IwV STR%Q]$ hY7tAɬBUZ`X4JooD#wiX$^prWw+^9Y{p`8]`TXv1Dy"v 4Yw> v_W<)=i6=q .ܼf〃aQrLY} +T~_\鳸ZJt N2ï̓"M hN|( «s`XEa?BE#8MJ&)Ees;i6-j`\T\Hl" T8)o!EיPaQ $9= d@Te["׻ү ,âNY;, :~^~Ģ>ZڠO;:wUFBKƐC,^L֓( "6Pp+l_B]o+u1wPS5=*P4f+>˯sWj]%2Ja)*f0,}vY_H0,gj mɥo͋3 AQ&׈y$m ت:XQQkEok}M4KOQ#S vP9D%hZ:L ^Ϝ05, I%_s@`\BaQnpVs/Dᱝ}Q \H 7&7x>{ j&uphNJ7HڝN]>4\dC8 *[`\z{Y>smZb$q}CnkKpdA?db*8ୠ!t[D>'7[9kVZ!+ٴ;^fs`XdUX\h p0,Jd DE,yѺ}fr)@olSh]nXIxg,- cE pT_LY'U:off_/0g:-ziQ$%=xpF`|Nh&tHIRVS,g0DIS߂E9ic듾b %?% o"]!R9(#Lâ,WfӜ 0,2]!}/IYy(IB_6fޭ*J#UE{ZݾIw0, fԻK7wղZYԹpȂeY* )#zlT>/  shwD`ſk"75S_xet[DvܳN7*pW!*+"$~ hpпקqLF2$V? 'Gd ۠o{$u]kql}GPp9fE;-5!=8!)06#{Dv"+M}0,g{.\,e JliJ٥ijJâRyqѲh'~yڱ)qQh^2m|PHKl*B_g" h_m9:% (RybYQWc?͘Z1N, (JE:.wYІ# Sa=:VD],:QkE"KOFXa%s\NSfTaes3-8wj˥ qMdbgZԓ_f`XdmEU8 O *SFR U>o Fa>r 9N]x箄Wp*7K`XdլW$Ӫ%֮(m, w\8"âpREV^ke,E Ow@yB(JSm}:%%'jÐR;S&CD+w l kV}jŒt/lNq0,luv4~zZe p,E]D;,"w\':9̝⍢Sɀ)MǕEZTzXO'/&tųOE۬QsvIuL: 1vFEyȪA`TT&3|Pr־'Y`EJ!ܵ}E"_J},}a3Kv\9m,2Q[磼g-3(4('l-hV*t p Ğ[6%r?ŏq]<{i A&ȊdYQbF+G>(׬?W` Odu\p&3Vq-a9jWjhڋ/ApIdj|\"21"(oMm`]w|XH)sZE:mU4x`TNL>="['p: I;uZYeNU6$jk]8l [㯕e=`\d;xK_E;MKxI4fߑHWP,|#*V@=}RN'4v pҟ J >I]`\-қJMsR;k˴H/Tx0**tb\wc\EИQZ%!Ȋ.v&WYI*Q'b/>i5v9 pL;Yu\D0<% peSѪ}b&1Ո7![l#xJfWW; ͼIH.0,8|Rg.Ҵ.8^5p>&"*nǨzqE4W{9R^WI0rp(o6`ǘ◊{[Dejc2Ofm4ޖiFL+KY_zxTzq,7tAN|k 0!S|PTY6Q ؠ P%K.\.eUQg>(J^R?&eF'wZ,V`s+vƯ3 4sW3q?(ɏK,e<#FNkoN;Xw?8G4 Vg <= -|8+xߊ "[ 5^j:YUaѵF. z6ѕ",^`\G ph&6Y&֠8K5̂=x־fTOTۉIyI%іXyyEÏ+"k&ȩwؠ kɣ2 h9/ n|Pd|E730.ׂ6&4'^bң%'E͸AA7p-ݱRk2I-K*mh u҈Ty q& [θoV'N)h#?c*8'QȪ5޷h +DI&o E5ddw> Y6`T?цY7G%eEl j4zNA\jrUy^fz8S^.| L=hc|YR>1q+8D3;+Qvq`01$VZ'Iq0,ҕ>)R&/d,3hjK[Ylq Ky䙭.0ٲ]r h5gnZC M+LAbsYaxPb*>ns##|h%խH"]hGg!!R~> ѰkvRpQؿ_O0.j,־xѣ7g7ITcιP`Xd' K8UH}LӉh\Xd,}5K)cz"+jKKo|Z6Q#m4臿fM: aQ{٣=7}c-^ϒA@g(6p@?Sg ^ӶKpjX\2"+oI" - BzK_o`*ڟYL|NIR=iQIe+`X6i}`\ԌM:*qn""O_ʬqsohd4Δ6iT'^W@]'@XC]]u?-* 3exI۫,CmkQͳA:,Q}ŷiWb/?d^3ុb`Ɋ?.OQWj^Gm8 $1EKֱugAfkIY> J O|%'h |q%"f=1$0>(Z&VEAɼVh G5JUI{rď1k_1uٟAESMG%\gq}Ē6)##nxT^?95MRD|u`\,tHn ׾"K\4tS7,WBC;"[3Ef|"\y %!GKYj',\n'wZ7)'Ee k nR|7׋vq=M>hF|mf8t8&kjuZQ?I68<+ i#&:IWqI,IhfKzEt)39 AQjk8̶8fI ,{{DK o{Dy!Of0âJzV^1$-wM^O2\&`X]8wٶqjlԓYJGT-KHJ QvpG=G%VQY;,w<*bn&>( 1x9L{`XH>9ctD\"7P9G4p]a/;d*U6쀃l @φd]'z *}#ɜ>%)`XdmʤM[ `XdTu0.R &Qowom[Fp}aZ2c}XYJ9POʍrQ$baQ+^ VvQ*"K$hM0,z&q0,{XwQ |2wnj]Aêsб2Y O +X:Y V]Bk{=m.ЌіG{(+ڑ\VOv@K" ȁѢmEjYKO|# p(m-uۢDwgbUд}bhY96̍40p3.EXK{De:( uac."ۍ\t{r9=E.p|j>((vC-Ufl}ϜڍӜY D`XUf8S_p(m~ 0,,SaѥI +++n \zza2"w)H=EyEdJ~s`F3"|([p ""!:ODTə~)IVhٗ&3։k4$u J8;h-t)(V}|ZHUur)f2QqQj%(Ɨх[d ,[p(-VaNEy(:E/'q؛;CWXLEuL@ pg$;D53(hwoKz]Jl0,V)eo i8r!9y5q "*ba@>(=:tWD"{8>eIu|?HOC,8A jԇhmSɫƏ!+w2> j׋axp/r@Ԟ xkoc|+P~<(?ȏ!BZXf%wIGFecIUͧ+Y!6@dx^\h03Kd+*:ЬZ0 A9 3M47y I~[a(ƏL-}5SU}^DAA$r>*XPX"s"qQ?ǣT4~)rҦ~[4-m7uv(m1CEuͶZ;Hs{g[L&澟_ͶE%#E%$!u wj>hl$Ij7MVic{D憓E'5,Y3X%(i?d6֭K֒|'Bw#~k ~K,@e69~s2IcBeJ92D]Yn8ZekaƿI|8=RÊ)^daQ6>Z:y{J´&sqx@iQ{0.ʖIe˔ , fhqۤ?Cd=[ZM4?y0x`Xdq0.qؕ<;ӞwtiMn,풶`^hA]Tۿ,Ϥ];Ϻvj \'V~â2`X-I٬n>Q,쀏8s" :^ܕaQ^* ޗԴФK> EdjY';॔m";~'_$u3<Gouna)âʺ2ߵU`RU`Xdu|:)69Wtd+5/`"uaQ{{D6!3&!j0-ukK2 p([2#Sr]UYE/\fY9|'m'nD.daUf'(-+=h_By~I%4 Ǚy{aʹ=/_ QDX]>]QZ @I ZDAhaQ`XdY/!.d;XeTc6@I1\ɁD߯$:11.@^*ۻ'$x2)7`\IRYa~oMu`\FZh޵]]*XźE!E)~xW̳sA%X"8'E`YԊ}[%fTkOQw>H̅Jf;CgAZSK*Ux3{kG ]0S9"*LvP _d^N-SW= 2!"<Dm r0*jY&f4+<IJ>'z`=i"+%]")>ug|R, EVŔn_h$}\*JEDŃQ~{;풨ΒC@KA<}Ȓ`Xd]Ew~IEL;wj x,f$胢fNZ`T*kQءqp?$QlGO"kGEyuc9R{e :="#!Yr4~ ppSa^#ҟǃGqhHJD_q}1LqEWR f&GTEˤ-'ԮF ~ȢX5qYBn9 :58}߭N>)'FW~]T.Ӊ(I_Y, WD ="3hwHN:1'?ϵͷMx"kЀ`GJ."$|h. 4 0.WX-0)/$҆tېR(>N=In/R7׋̃ F7f|w''-U`[dHu0.*.IN}_Jl^9U=" :eAS^%kիtA-uMX="8 ޲$ZvcHv/7j/9YK 7ݐ}d#"y[-<_EDJ&ϴIaB\MT ]սEw$P.g"08{n^Ek^%d$ڒI} 6 ^̍E@d{_/f;kMAo"[n}_a0`T$YDLI Yh)շNl5ecl \nYVgYN)ôjEvWEs=%0k,δ3Ïi* v,H,裢d,s)o+0/e*T8~ud|PT6yT|Pd]&FX$T}"⢿o?L_){ޖΘ4 7hjPjR?;#D^d!怏oae" tl"0d2Uדw@1ޖ*eYhҖ@IKuf.ίX"EGe| V<xmx@E{xDmE@Kk 5#nyLP63#2#wS3/Rer4g "3oE"jc #JҟVڅ`$Ub"#BNfàuij~OTv $,8Z Iў8ۤfauB6'S"1"E@4MR=*oK<*y7؁* w0,z4VUZ$HBO'+"4ģ‶.m+^K"kP濭Ȓ99HE+Nhi6g# lD;-ǿ$gMp)`\$zd Lt'Jc.m+Eiߤ!h=i6Qid\"O`X49 Q =9CtW6R8DǔhK^E6h&(mXqVi`X,d#,Z^ԋÔefF"'׋Uzue'[§`Xt-R(Wn&zO0,P=]=h}%V_]*jaEǸ.}Iz[ۛ phמ4Im$Q00ʭ3,pq,qۂAEuҋbS߸Ki"˝Bkk)^]'6.|Pdl]7 ȡ4K{DiJR@* ,(Dm-$E`WDD QhW8JxPR/ 㢷bG%)@M2eRqpܔ0LKuAd=w`Xd l \[2EW|2?-Ju i<*ybi$r"Mr.PL}T*sEr 9I4;r0.on'Y- RzQIv>O0.Zىяag50Ev~yv:=WiT&)M%\0,Z$Z3j<"[Sz_>,sx"xMkjn'2Pavu$J 1-0˵N5JѢU*E?,*VY٦>-(zaQ${9Gdܨn1~[^v}Ѷӏ?"1?sa0DI]Ex-u3d~" 9M"p9r#02sq1|Pd%3ӥk r0.j@5p0,sܝY;cE,,<ӌ ̏IR_)(aIT#=]wI]zw] rlO9]LtA2)`XTW{(%:h^eB Ղ־E%UBm?{,ɮdﯸKxSQIl3 $ 6r@I$e2{c=]fVHҶ*>FWa\5GScQ䊡q.)oӿ?U 8z:@EƇKdC(xHy˨D X[#7 s[`ng c4 n(v/Ðڃyvk'v 6%{.RX``v73`[*_Wё Ũ:#jo`YTC -+m`YsRˢ$qQ2 ,rʰ5,Jm9~[?~$ fωgV6TL} PڤJq;DR(O˶uڏAGp|űBb1q%ry^ё gBIg!ц1P 8H6*jیq I9 F?<Խv+Q;Xe"͡B:xHj/NRTAC(:) ax1b0e% *_W\]N %tVQ)ψ\p G^$%A`GV! Ғ #ls7MÜ3uK$%vڵbr$,j1hi-l;V,+tNbCE`H{ N5->-bLګtH) :w+K"tcb+<ŭ{`Yþ Ek`m]_'Ejv+@[3̍`Y>D a+X^2OXJUˣOX>= (ѬJ:tQd(@(~.(@MCǸ 1V4])gg!(ٿ);Z$ EQ:`xΎlhyLS(6Sp_H"R1q#EE8Rk.U;|(9ѯF&6C6eQ&Gq @AbT,jΘ 3hꀗӉSotgj ]AgDR+~OI.X pb͸PC~|@1x BE"<%"K E1fTV7߃TիgD ;AuL7d;SdfQ:(^[aˢy- >]Ԟ |N^g20#D1RhnRCFɏs~*>.#w,&`(Eu!Fƌsu"_7h:XEZ]"[DH6Hc`Y { e]F(ʌ5`]W:XI:z§b}icSz c]Sh}`[(VHBK/J;0>oH$C*:X% N?GgwNQFQr;1jPN+wW,m=xSr p1Mȵ]|=Ƶ\0S6#C@ MgopenJ-<(so!M|j blOu(oT"^2 uXJQ* B3Y(Pce3yH Qe|)˼l˖"8 ߖb bmwL{ б㨟FQ,nH[(E<6eQNz )"S U-g)Hk:E5w/Z"Yh\Nu\SX튝2E: #|s(%DՂVJeQ[tp_ON(N$`3+xFwڤTP뇂?u.{"I^sMy#kW䧊IaOlO?Ӟ߃ZTuMF.*m]I'a_(LVyhW>F* fEA`+ҏ%h ps0v\% H;xFv*8g_lݏ),`(#ExD]_tvKm]5%ʞ;=C#nB"Z"p&PH-@Ċw3z PF%x*is#U ,4o{ U`m\{i(ДB1J^Hˢnh U"L(ZĕD W9񔾎A ,BggÌ9ol:Qɦ`U`0hwż%.E6$oGEazE,EFK333vPLcUE6ooLq^ؾN2`]3Sg{"{ P/ VEN\?]T8Qi``Y$M`)`]T`]ѧj?w8})Xm㖚sTV$&sd*| cctSD":P,JUL\t=uTZ6M^bvZ.f14V.US`] ZL @yL"U,mK3(uQWn[t<{'s6 aW,J:)`/ lM(xHW XcHA,(<׉(n)t@ E!QŦspF Ќ TgDA|R|S(y.uJ{Ӭ|Jf~u@b5(D;'F"OŎ")Zy`% z/~Hz;¨!ڳS*ꞱUQn|D1qIp-m0S3[c{u_xDDwjH")XI6O4QEjw}E1FP(u$72h}nu.om 1EDi!:MbD2K@ex13 X"w*YjǞ p1"Fef}+\UI3!~Onv)@jGʼ <|DS}U:Ǘ|c9$\N;j S0Jb<e;ew"qBTKEψ-'mq N"iĩS׉cx"oċm Iiy,[" lڧZt-HNeyw06qUJ v*xfCA +T,s]?gH`Bd9&yD)FtG*4sUO{g Hx `UTQd~ؖrUaVDQhC,q I D[Wm^psf(Ԃ*O-T_<3Qᔹ_ml4<#Jd ˴UNds"D."nF`C.?*F[EGs+xK:Bj`>ot~;G`]ЁKhs Iő~]:,d+'ws\Ր'QŢ E5c`YՀ4;oֲ|wvSF҆`r& ;EdJ E)xQ"wp!u38)XmT N =ضg/"W}l෈Fz8:t$+X* M]pxE| b]ꋂu-k >\v颅U4k7X"OhQ<е@UQt9RS}ʴpb\ E~08 QItx E\[Oaj S* ur \?j:^T9nl(@+Ӣ)S(@ƥn{"8v(,IJRf hCDc\]F)`]?H1ԩD=;.2<#rRm|]3e %u!gDyfPm:.'ۤDRF;@AN3&~*^^(COeVF֍9Qu:g|@tˢP¬P0GHxXD3;hUL:"ʶ)<J弇:7זZͣ-QyjYC"a^\gDv.;"\gP =r!gnУUz<$fusϸnUcAʉq۾?UcD+ˢ< p)Xca|GR)^&PZ* (҇`/JnŶ1^H $B'kkERO^'.e>j嬁gDEB!8/tQL |DUn <#cu^`nQ͒"pGS45%+Q,0(-"'UO6"'x2a( X5KQˢE׉n}QjK(WjS*X},~>_$tan=CdQ)YJ ֚8Iz.K+P1Fl.ŎQϦ=:뢝V)X~4W%(vG(Ɲ\'Q E:,^b$H^W!(gDD ER 8oes>mm?PuxN;^qψB*ȼVodEDb:6Ǵ bx1*L,dpЎO (*˽EPeQipEIZ.58ImR!2T6 Eqk#Dq ERHl]?r Eu\c-ˢ% $:tQN幜(g: x =t, &vNtЅgDn{Uw)xD$eFCv׉$a8r)uϵ\W(;Z(XIl,$w3e֋gaL5)^';9M9S0뗠M"PKIN6|D*`Y$0X>DWg}1oe+8 !QR}Xzw i sQɄĻgkGYLaw5'WkDoOoRUe4D]\/-!`? Ew&{b8,.`Y$y8E8"YmB t<׮s5ސ ~ Q{aL(cYDpN(HP\u"L" 9ڔj$j;I"9!l+S)v 樕e$\)C w<$TG3[u [B(Q[`ѯ-[w;N `hV4}I'@U4őDXƫ{ eCy%JItFzk.r\^%:p9dn*rKy ̸P"߬j^'kkp+xH:^H[FuP72<#:eq[ɖI^ 0LE<#?:*[/J=wCB, `/U D< h|(%DzlgMXQ$Q7S/;Dગz),R!M@<#{Ɯ1N<SVa"G.S\ۯ׼2䩩nIHբ'\jen( iDzk`vN *XAapvUoHvtXH*AĈpw(Pk"~FQnCDN}D @Q 媀go?V06PEm}2]Lf*,y>r E텇_xF;6(U %B] Ea Ez p YHm+ψb]`E;h;I TZ\^s 1E;Kߑlg'/z]Η$F=\HVR0c*xK}YtosH=P=T:._†q8'O .T0Gw0jrGEm 68!s$6(xQ"Yj(zC$jkEvuL nkʸWc)o}v˟4UnfʙSk yӆp]֏Ai ;XIy?0z aޏ8 `ϡ E>yQȹH<$s6jzC< DZ7`(Q~p  w uMAawDaw8srIޱSMNͰ " 6D0`5ycp3GR2 (8I)iӿEG=1/j:genp~e |W,;yOX*#yܒ*sRuHUlK2"EQg表ؑM;ER||oü+4D dwF)'IJ'u*j}bѱ']ww.2 '7E!mu #E,!N%*MRĊ# SPgD F}j- K`Y.Q%^*[U RzQP/^ok"Mݏ&ܾiwG$A:UBJMRxԋ=%ϓY#e^H;+׶TzPlqirmшLʍU׃WcR,/׃"% 5{܆X$L=8"bs ls}㱍5o}[0~6V -?FvYy w&dq_ Tzr_/E?7_뿸?%>w4<M^ >lZnoy ?/kwj)VsÍ˿'cW?VE_oDW|,m__?7wK@:W7W]Ƨ?i6~1ʫ*cvPuTdPuA"slOͭ;nBQnܜ!wI&G߿Chp3sqW$erվ0"(6ADFky)DdqH+ >"hiK2 |oq0f#׬}ѵ7p>DҒٽȵ9)Em։q)DOҞSd`<9)ERD VEkN\ȷiڏlu٢f8 DYqN'XBЏ_`m]D #bO,&q׉jc0~`h̎HVD>N)O=`5I4Ky.ɾe g'Xe+< Iy޴B0(9;OB\X$&H#"qqEyE:'1Njv`5(.EN6Q1"o sHI ePSG r2`(?4,2z 'h*_xtJ^)ˢW`)xF$CAGҎk$ I#"צ&AG h˰,Vq'Xiϻqq͢ɽEmU;/ j9xD$sCڊ ,Jm$W?pk`ʡnݛ+EX) mcCU҇[U#"Y}k^2Ӟ>);%RB|0l`\@O,r zgԚp3Puёr4:%D@W~%M-N'xDfi3r8""F2vGF@a O*dF'Ig(S,\=:oEO?g5tvy[w'DG Dpӱ[]~.:ppm#wnD29D|YvSj Nw7fd wHl7RDѡ~_A$ | `MReaw;-a0(xH4؋P(:M{ Eaf&f ţ hv(j(ߞ Q[BKqIuI-M`}K/ OY l"VR.R htv(j~-?QtĬӂ^*~.>n``5D@ϷqF/`*`*s5Up O  jK[Íx`>G)p.`|+~LƎ;7Џ tZrK8ˢH `~{Ct7#^kE뢺IMA`-2O 0&)XI=XHSS|v\'ΧMW(Q .e Rqi`]T5\7Nu aBi< VE~0T@,qمÑg.'q}["ipNXQ!|"߻{0D P {/eQNh$Iyʿ'*2 `R1x18\L FQtP,Xh5K1 hg 3 <"8Fў,gQ¢u'y3az0w~Q(ze`Ub:'Xv*L I{qigWW_gDR |H2uJCBdYIW<y,4ifۤ R6Eپ }"豘%ojp[ /`qďBp 2WJ~.nͤ.&D xBUu8o=^XLEGgcf׆s+xBtlb䲂EQ{9u(-OqGEoTFG|-~gD_7#ݫD/``Ŕ<"J!jVWn$8|N*r5P!j]-U+@@d̉6*m+V8#nMu6|xh %?X' R S*v 1,R-Pf@<ݔa`|β-wufQ!OK`hP0Rip`֬Y縴; VL~Nh "(TA36>N9*^s4v02M,Y`u.T,wc`Y$-e LH:GD\v '@&'D~z )P@AXIΎDviuwwE˳#"nTxDy- OVtj0>%4a ,U4,;$0*prQɀi":JCI& *\|vEٳ((b> Q$m":5xH'Fɱsl~xbVQں}ЖnZe/p`^0Vܠ4gXyow0 XDž>ǧR)\0X7Mij` iS[$ `U0x$DiH|*xY*3/Zv*`Xf-D-`$eQ7&)X_Y-2z_s / N:ϿϿN:mph'v#WQ+V 0(:!ض4M[$|6 еe`U$M0^Kxc]z1TƠ.p=lM`A Ez~uR,4pTc <ND% cEEQdj4!* TJc;`sMf`U3FX`I)KRY*ޥrC e`U(RpxTz <"JHđi{=_c`Ua f`f%@^xUQPϥ3unnQN፻hx㩶08 ` ߠ h+xLJ<]'"ߖ'.WT(@#23y~ цMN,5*{(4z" h   FNݻn)&W*_ 1O$&.˔p:ёN+itfQqᧁQ7]:V)OF ,f* |%.VNA) {o/Jo 5z 95@B) PeQA <#*qU^D죭`Qt,u26%5,fh UQ٧eO?`Id+ yQroc Su6| T]gq`y'W 1<(ڜI6LT=MTKw>UK:\H1 2!DQiޔB ExJ FtYm6W$eNI_-iXbzE E˨iz`6N('Zޏ`xn's~2ra胂";XR2b_ G &֏a( wqaj[ccQsqWbph(XIhX:WWݑJo"S֭S``<?{ER'iyj7 J,f~ÒCi,z1/=w!#x`W9>Io$\sLZxF|Q.`ߠ"`:1J"鋄 FQG3oHB Ğmew"N^&:"p)\D_]$ITQ6 ;$XjAn\ɣ\;a6 /XY$xHaH_SO7Q5o3&*h彂]Rt BJF &j6v:]67qN$ FdeѝdR8qg`yܮ93"~W`Qt$.`]\d<=Pk<*wgDy;0e=Pb>l'Xj^#`U$i/]lL, ;8 >]$ ,a(~ kOړ/EfEm̃D?a'Q QTMndoocoEWv jPFD]y<lL].ŞS2-d6. 61K2 ,y.N*jF/ƛXmTx)KD2!U 20>I!3m#cMsS"(4[ r UCgoU_P6T(|R ZuTsTH~aEg`<'po`:q)%D.5,ڃQ~`ICe36*͡/0a\/lgGy ,*go9{+TL;)W0B)Lk{٩DK;Џ%mQRbG7H93HM<"EK;DeYDG3-0UI-SX *;0XS0; ,-z&j <#(XI :Ccm5ʠԺQ9cS|'zXyT< ~ERR$w`~Z ڤdxD$e&w'xD$y;ԏ`3湊a(q4 udwoynN-e BIq^\׏AB{'!Rxo>S^:l6km??+0 D19(0ǃ$Io^W0~ d`USx! ja4.-IgI6ʼ+z= ,\"  FMS(p07{0nZbC H"^!WGT| nVUQ́npȼP$#:u_`Y$2C/-.jΚz 8裮S}PHCEj`=D9*8i靧驮U$1e}8EW240[vI%X!nR_W)E?dHjUlL49xQ"q`)g%I/'DGV sѭy_4̕~.<+ bٌ ,.4Q*za >[D~4?:Nc(c 70fܣ7*` 0yQ98i-sK<#p (u8afx\ڬZ" zS,`RGD؂iˢ<׸U5 ޏ$RoIo-( (䧾)ڡ@ 3VE^2!N NA"E.MNkbTkG VEg:Y-vtqKtҫSw2DnnT!LHA~xntV< `$ ~OtOU |HaT(sV[vCiq̄e5՟ޞMp֩)q`smQ;##3^E(`FȊx26@0٧[t =Iˢ@ `z'?I)1Z{0Dؙ:HҤTF^d#/N3wZ(nZKfʭ(nDElTu[={=aV 10dD\H rcpR^ ʴ6W^8q?H&W( {,ԁ3NA?m~9oƱp(S7;B)bS0ވc@?^`&-e١ 0},g`U3odsf Eidž\E_M4`x)M̅_'* Ԭ >[NцmxG7ʄR w QnX$ l+`2y`|t740>&F;W VE{)+(xdA%O0y>"EWy{F۳Lfk ZXnW4yi1yVС9p=[E̋DRS<] I(\'-:S={Fy͍%n$ Qy [M´8x.i60r'Mn (xD$e`.00R}Q1jEX`j`UƇN{~n`$Gʹ ,ՙ1(ѦQ"E]qTψԬIno1, `ґ'XI@!C E(n*rO$uվ2dlɌ] O*: 3E?[`YԦFdH<#qEQ[(J 茬sfB6k$~g{x\]3CpSH=+: F+`U*69D~(&jgo7On_Epť%^kQ,"%?D@iXIm|V> FQJ~k;t i;uÛ{mc'F[B\r>&jZ&U0iߨGeQ3 M `)8 P6Ex"l1,2L*7G8\1EmEj60 y`V1kYc߰rQ(Vpc]tڃPC Ⱦ"9e`QtF6q?B Ey0Vc0,*i`QBJhwKTq9y~s-/fO%kD7*j )L4@S!W)S86 !؄%Y U=fEm |)tj !Nh7};( z7$R8e=SfUQ)XU9 _Ww )Q F6/ED gmouE;6ga4^؋fQNDL"`D,ЏA0(nq t \Δ圧UrgF`lĩE%H\6[$m%hDo@b#D]c0n'j46>ў<5sT٢#pvzB*VE9݂'et%c쉁2Vc07O_%/%^zV@~~nD[hadAQ3"aseZK X]bJvwsQ#k(L7 |onF ,\/!f9MwR^vVERPO$˝'If&V, =[c, U`[c3%l͔G~Gpd**LȦp.jhAxqݨ$nX2Te6>$v O$b:6-N&GM E:Xq(Џ{` _BSqx(zxNUcCI:Yۤ1H }s;έPUQS= \C4/XGDGΕ wDR-4yd"l=Q1TO$j3`PF< ~x=EM7.ԴbB>TK 'E,`~|30~]Pψ25?4 c 2ȿA^\XAa Of,, S+X^_&7Hvݱ/e *PGPEQ[gJgW>QfWk& c*xD$7JQ}Os^:w2V& Em!@AyZ4)XɆ:0\SEGl)BÏk, f:cfù| IxMdK Iij8՜' C ։02V~ |{M)xFa"ˢ{^U'|оCQ>hfiB8n"ՎWvpH`Qt $2=D6瑩5߽QL>'+XZ"7*oviw%pwIjurܿNԦ+*MiQ8wxD\óVV٢m}h'XEp֜Y23u*W.:j2̘k Mf6R0:565 {2eQ B}iN*>xN xV)b!hJ 10S Va62)쎨boڎiUx55@Q0I0d7 A.v_tTsRHVD kP| |)'XIs fHVE;j`U3x<#jk}65[Y[pKs]t^dtI8wWw0~_vA0R#s <oI$i˝*t*P'uGSq"<8=X=Q{}#nsDpoƱDR,`xs;mrX;U,'d`Y$E=⦊7EBB!ޟoOa0f1^+X5۝ZĩwIvhx2l(%E>;rvL10<XJ=Fs[q$ <"v ,2- 1 VEwnZ.|m9*q[fCB̈_At?UQ@p<*Eh ,"% ? 5 s["_$UxYbE߫ -d#0OU$0`P["6ƹ{6XIn6A''6O*bؠWQ2QO{vQ8RGl@S1׉-c(Ϛ9P\qP6*OOE@WGDRedR}J73N.ruj*qΖu;)DF1,=Ն٧ 폑kŹ\z/o0kVD91@ WT(KVS֐7.H 4m1!7kP2JQ"'(E,ֺDmQquQdQ|hqILף`,aФ<"lER}aUgM ~aIf8xxD$x3*Տ=7E?͸:7X)pQ(uQԦ[H]10iRPERq5ƗRD1$ R{ !Im ,Xz R,XD$R)nI!Ig}"%,tg&L+q(}]O" N3@x d,w)X NS<5ڧNnDG9Z2" ڑu)#0L-[_':EfF6 `_>EU"Hso&`X/ J _ _34?D C0$bk ,4T.ˢ E(rd$mmPsօUUw98Uq疨= s <"ouu i34٢j-=*/=žiqNH b tji^+9aNA VEұ fq`S773/&S,"{T7(:ڬCB?*xV6zAQ^1 ʲ-6UѶL30S#$n'XmO@1b}TQRf2" 03 *xF$}1;D ޝ}"6>*iQ%j m,'Xd!DGAaE;:LLj Įt9NIg&%Dg @(ԺC8zS VE]\5Fa`UTRU4HC?Շ'Ch|S FyHau{:;~Q0Q{ƧE!BXyaF. '&qTOT(n%ghkBAhYf[*-?E]xM+'XU\,:RCGOdf*bFQm} dFo ss\X µ6rbf?[ =rxQ`|qxHXhp`UT7,~L&PyzPm{E۞; Eaw`VX׉F'"uD[>]cXP#GixY< X_ZpdKR(.TtT *`H=V2OT\0ߒWHJ;puÞUc)7 )qXTQ< ,yle`%6Ӆ1|CG'U, B?OeDdľNt;ǛdɠInEI'07 6tTTL^6K;;yr'梨faΪeQVt'xDtcu"=xh0:F}[@eOs E7>rxQ!WV6 xF";.lL}Hv6@QGD" ,B-Bca0RqxQHRoͪ9OvR(:tU 2ӴPJ9?(ʘ~Qyc0H(.}sv*6ǰ.8ଡ(h0o:,܏$"_ĕ{EyߢW*u40 ,꼤1Fhê'XR`47sڹPY0("I8 )=Q+xF%Uό_';׏$>SG?p> Em=(VxN2ƍԏ$GD )g;pӯ05q;6<LO<|3~綢" [X1؟  1#A!7Y O8+XIn>xU8|ۜO* ɛj^r/xeq1ޖmx}zsqb(T8o+xDbiioħ 9%lgF mmS{"pcNI%pW;Ҧ\L;~#B~9 E/+,o EG^5H‹``Պa?Wk00~LO!eeQ'IlGNC21mc&QH)D)QUQi`U ^XɿGM?%:[N(ig~u!WˇD, <5UV Jh(xHR ^uQa.5sKHZcQZ#ٍs,Q2zGj,)]= ,J[®v1Q(@Skqk,O! [X4,*;/T*;n `U, :&L/bMTCh0ha.` Eňuq$U6rрe6$x3,%!.<"Xw~AtLzy쪣d:u<أ]wǭp͢fGg4'V Eablp,J᧠OAӱ'DGCP0WO$ QEXOڤ GrŦ'xFcR EKG`] ψŽ OxmFߩEѭo9OnAi&FQjE06Q0vu hNJ+yˢq]i/식ڭP$;p] 2|*? KxM!=ĩX?ЉIbts=Gꫮ`tb`U2}-mA \~L W,C`QV)%r̵^( ,!OxIrʅP=0{|X0 0@˅˅) Po3")ӎ_AtDSGDb;.\2ByG{`UF !%vX)xF*Ge9*{s   N VE}~DR~ .['?;ejwC1]Vdv3Db荢;#m}0 FmdIU^b=ZՁwQck 17'gUѭoO] -2*j QDEl?SZgDa)XiƷ>beQA/oE/PXgK(O8>zjQq:˒P]#TiDY TI(J4'Ne ')뢝*F]ј=WMea,c?&Xyj`భ}?^Kk)CQ`]$U/1AUQ3dan$ :X6c (Oڔf:..*麗``UA `yiW!~ zlP@9TDJ CadL _~2ּS)sB?Z OP2<\.0|5IV("dZ; QIz0r2Z? <"*a姁e4)9h0SoEͅۅEJ7٢(ljo]O/y`Qb6d\uTO]D7OIу cH*(w rz"咨|3%ƹQaiDRӯG]^װDEM&֨r-yj,sil*<I'% E|D{~ 흟^P<~n‡os%Qm-tXr77n"?Po`Udt FQ‡'+$*W _ _ :` rU4cgKvtUTK p.0HJp4' 1@ xເoy=>gE>Q⒁qLr?rIt#6B װ?D]4h'D{i4IO|hx(D*Y ӍrI]񴷧ny9(Xq1*r:Α!k#G$;>ҦґK[OT`)ZEg^E>x_G༿#E`k`Q;AגU,ZQ;yz(xF'mQ*"ta`e6>Ҕ/LHs lOfVd+8@g,xԵ"k" WkO<Q. ԘSC GS?P&)XIlDp;#") pgx]錮f,dts4bD TMKs\*_Qy}Lp_6c[nb6gD[I\2f3t]RԆ]f -u  \7w@;pE"P0F=.| XzM" 7ؖ6@ lv$ 1`Ti`YW dY ^`zrG#"N&ËVі6|,H7p^/b(J;-m#';BDJ6W ,b%<0X`U$V`hel=`Q'f{{n^^L] `ψLeQvdv;SI O ^)k>|(H*#E'cTCkz<~ٜŊz&|X:asi QhHvs@Is&DUэ5-\im}qu D(x(uf=,`lo}w;$RwH '7Zrn[> `מxJ(08 4,3^Տ#,v ,JS~tGi'mH)xBXbJp/Z+=As.=(Ov)ʼtI!4| 4OS= @V(NuQGP"x5| k" ONg_.mW„䖮``ZʖCv:  Tݦߜ^jzYURaFCnmJzDr5D5mi>J2p3,O0*X <x4zM5E*x]5 XJzL]Cpb"IyzͶ-a}XU"!V; ! EξpoE.[iZ=k:1"K_"u,70u Oo_ψ˨y]ŒFsh䚶<״&1F@ `VJ[nQz1G0̓%t Hdom* _ i_0D$}`(D{ ?U<64.JNDy#@QtU|U;"LQZU~p[inRzǀ"A :P@eWZ3QO9E\H a Ob#%_'(APP`(48x#W H: H3"Ot`,<L,3``Uł "3nжa:ZSvV0ذqkچi2E!rF<,rhK_y]c@YPI;XIvTh?76aK S7 : BǯՇxk bCtr|<Z$T(U쟭`Uy<_dH]4:V33xzA7F)xD$V F`_O\_XIZ*XCBE~j}IYP990 2A7 xD$~*NVZoȰgfwH$[c`eR# ]bvrܚU*MTXo+ <:ʊ,OCS]|9\LTEDmlsЃ{LAU#n`E*k`QśH!7* ꐫ`U$@1$:2UXӳgw+}ܯwH#q\N 0C(PfE޺²J(f"7u,[U*ݰ6(ЁV] &j)xBW5] .J& `~ɹОGE.!qkDVsÕ kih=@* *xDTVs|8 l'@<8y5:,R0~wٓ9x?,^(ق6J30~w_&;)"=]c5c´4ও'ˢLqUB2:H-OQ$%>.W0o2T0b-{(q|:IO]<+y;W $ID[ 6**=>MeѴDwq"xE =ih:5tYX4(y0m`BfU%7_ȋ,Lp,C8!V l`YC~Hq6:w%>L҅'2<}h?Ģc#"in2 ƫFkyN'yߋ*.B8Ʌ"T=Pl9H &'eQ_y6DCl"1dA)ThnFD}lpqQTAv=i*5*X@IWS1S%9Z+m lsi%QxjXâH6# n>i|>9 rr` F:iᱯ`"wPthaU6ѵ*חhנ џN~]fIt}*,ˢX9.Qȡ`|۱1rΤ\3x"1T|c*tQ{]aK"O]TJ>%q^}HJ1#ޏU1&cQ~jpQxM5} QmjvIG>B\z(Hn$z!^! VE(+mESp0dtyI#'{'ߋlLE/.r%pE&2ˢ>scU* VET곦`|%Y+)xHUv=H6I}Qy2Vc /Ejqu .xBD/p2m?m>OmkЬOg`QCB\k»}>IUJb2,*P@ʋOw`RU(@N(mՖyۣ;X?' W*ٕUQL4YXIWpP(< `Kt`UBj)ko54Mv %.*ڤ8aR3Tyl"${b'mW.w*X{(E=lG:X~/}AϚU,+tQ>/>Rb*K"_% UBt9p_3)`hc zQ"c9o EiͮGD^(1Sأn9\!1H܁WS_Om c Ŷ5rni^sxgE[­6(j7DG*0@ņ/0T[anLL>)U鯓Z4/6_k9~s5N^yGL {(ڏ=/ EѾEPH ,݉QT"}=M9͉wHިD"+P} 3 B 6KxaEc1آ5\L{(6*yg~?)ڽ1Rh?ipO,]5F `Ɨٯ~ܧU 3_LWj+%FIsaUk`GD2P*iL}FRËu' W1f*xBRO% ƀ|5DwxvQ$pQbf++ -B/%)D1R?(e*VE/ xo!sCP6Qz9/A- 7.j^4^)>Q*46j!Q4~"+f(Qc O R(C_Hտeǿ&>SUQl*_wȗ@:O`8 fqFG㒨߂k@Jk~b& 1eAǧh\(MoS[NXѵN CPЗ8d_Oz\%8 vMiAabRh?|N1ux&|8}.ˢmB=/?\f&IXMPtx]L\`H 9> VE)Ԩ`U$'Wt1#h#&_y{,0>QgP`IĀ `d ԖYJas1RSg xPr16, $+Ά,D=0:>f;įR Oǔ,~tOb$ M; (ڠήttZ`YTNX* 6AErs +") Z8j1ÓOUQ>3#@rrm6v6 jsK ݥ!P)Rx*xHvƳ<#*gؿtGi 6 * Y2l,Ѯjr pů;L VEr9y&]n(8}/O(JAˢm@0itn*'`hpE(;u $w9HMKE n>Za*xD$I F`?p @LXxDYr(lԮX/#xD$3ҴSTh[C}PUQSwOL_$At+D)EL15JbiHxOdm>B24O%{:s~HdN0.r*Xɶ+E9QPf=Et\3*~(xD$n(5wi7O;bye9WA{dGFQamiÓo'<6"MI+")reF} 6_'Q,V+ۦQd~DU`\T IHxCW|r :0:\IDW߸A$ ЯJ[Z$2݃Qe426**1AyrJ2Ƹ@b`%<(!-lL#P"a6$\*XI$\*XI^4lxFh 5FQ!x]8ψ$0J " ,xF$ظlIKO `b%WYh)7 _p*\WrK++[$#$8[]612)䦔̞]ӂ1ԺqQ+ ]mv'z\zQhZ (- 4 D{_Juڎ{!"9xC+".%c!Ewkg$0T8]r:~.8WZ<$*T`UTӶGDUEh^X5`oI#)xBf|?UNshgE[ɉ}ن89:SʧD(m )7ExͰ&tK08`Q' 6X)LSz'CXoclZ$5}FX9]P B_3(+0Dure>4٢gOw٬^Ð7%*xB]TLi>S#x?+V+lâW Q2(l#x >qQc25 qcmq5Q2q00#94[ǁp:n`I50Wx(Jux O\~ MHF,hj`Y$Y*@)x(H.ܽ ҸvM)H>~V$-`YɦâԗMpo`Ygi>#mxψbiyţ7$O 3<#e`Y$3 (ψā`^U}m$DE$rmˢEѻDi9 Wj+LQ Tj^KĹhHi+Ɂy QT`Fwu\ N5 ~V$\eX)D_m*51HE=t~Ўa:1O5PqJqZ*XQ/vo5l}eQ_8~ )Oe$OvA cfuv`m o7b#?3n+edd >8'z0!APaz]M Vj|7"q4,N$GoA-4 ' `qT)qT$-],`0 F*bh4SH &h+cO~<_'C͔mS",?,Ax(H3P)D)W2ȓI5Q "S0J} oX0W(I X R3;C.xGM݉{]>b`۶Fh WqxD$Pl`RVSk=~Yh6K)X9N{(86ZF=4<"8!s0m!h/ku˂ԟ`u}F(b6@+ E7oźvuR7oeUQψ"~sz=ɩDXEo)XI3P!Q~im"ȗ@UNQCG)"i|S`"@w VErK{t(xF| -c3" vT1@[23ռ$*Ȫ`U$V4x*'ǜ0c -FC3d$coimq(% =# +G8R0 Xy:2&Xx8UxF$\wO7h_\@5Qԧ $ `_8G *p^/6jM'kUH|O `Н=6-]3} lH|%WR=iPF[QT {]3R 646ўOݚ]d=-@m3m]I7.`D"Y-{G(wI"m> 1*d$fK EԿ3Ea `rp6DSX=-+ԓM#ھEUAE^WBV RbQQAƓP˅Q?arbyaQ V `ɇz y;H0WW| 1v E0@JUS-FZQD0?OyóEQt} ES|ОQY Sg xXo Qݥ'Dm $84,p#"6.n]pFW0~%bm | `.qW0(X+n`QIEQ_QF*ZPLS>FN,zM4ANQ%fψg7W QWc|(|EpQ(TƦs ۨ)X]ͨ;<#-U4@Q%ͥ![:Hm(wE>]T2. O8"QC َ(C%cQ3}q2'EÉ]>wea'|mx(yxN3%bT)$`YTpJ?d,\JO *kF#QFCh@z n﹡EyEQ#Wxœ2D-D:(;ȥHRM$70jVo >\|aۿ6z(~~$JEڼ'#h4a$Q9om6%|  [~My=0~- ݝ(I$jDpLL6< O$A(er-MC}.m9 p?Z$69 '7xHW+&( ,ݰo QJ uqS@ Q(>ɾGDenO:g%i۷eL=#"i ;'4UhsXao`2EPģ`>@MA#lq.e39huY8 {X]-!9IEb~ VE) E{P4'U,*Z{a ^1sw؝A[EIk)"O1b+o"pu=N_cˢL-+w]&z|)ۊDj(b;NWvshLN;3D>㛚\Fq E~Ic;Pwˢm;s- c#+'VNRU>dI>< ~+iaLF\9|]JFvExjɫl 4rtT0~ #JŽ0W}bBnZF0TOhP̾ =jU(* {0SM>"ZO;`xaUh=GS}VijDA㎪eQ:<#*De:OWTX&3?S$65詞Jx`U$7(W,]e޲'ZD:*)c5CvߨK?-Ә.ij@f 7 , ""5kXe%)t%s6}'D}h5b`@MQ.)'%kĥgDL <$ xx(x*✁f~ TsE!b Јψ"vB:J?̰ΠQR1Oψz <#rlN} w\0<+n^0frP*YHxBl=$ X1 )r\r${EޣrqeQu#\GpHv뀂U$CC" ѥ ++7z}"j[綕WD-aVEۖa"?5No+H9:3hk4h6*!`T`$ ^fx MjĝgX_!ʑ+IljkW(ꃶJ:(IUHu5U E _NqkoXj`11"hAƍE#), -l;[W[5EqW(>SퟁOIw o+5<ͣAeQpr*X Y8&J zEQ! rrsnvAxϮeQ-hX%۔uM8;E 5n2V|) <" % Qf xDemEu%>_!r"NNl)ŹՏAFэ  QY"i0j^di`qG&l0EhXa#H 軡"ڏO[3E*m] wF[eنJ0g3"_*20xU@`/A% YEINVf`%{ B*ia`UTmpQl'b` (xH䨻,';E{KLwM NXB͔ ?3_DAgq<ͣ+had  O ăW E8ERGb0NaB,.)| "+GC0[A8dD+Xȵq..ab+e7(xD$9pLn`U1sa˜ehyuI1Y+*t1')OHz*(?ogSV0~ +x!%4i P@`(4*T~Z)(n;?%I!c"Q$-(Ⱦ*)?00EzJ eb(A墐ʯE)paIb/m};1PM *E.^wh_,IM6 \(U#kIWz=H$X*XG\(fU,JO-?s?a/ x4Imf @ܼAT*ũ hQtkib5ҢMESi|e0U@AWֳa ;$vAU?.Hj1( sRI1\QދX>ў85{jU 4iwH8A48d`Y.^׷KBhw$6h@FXy$bX4g=`xO]\ Xh3i@+"4c/h`Y$P`YIXg1O0VVψs65,R܌Db3j^5a7)GR?Xš`U$+F6G\B."q[ߞ|ԗZ& aޟw6`}GL| >cf0]86(sA6<40RaՄpuJ+ <"r R(ݿ"S^+`]&B?7c"X4xNˌJ9vON>q%10ĩ>qˢw;|WhR~ގ${AG]8y]÷ؾj1GD}od}]ArcUeO$nTD&,xB3:~T=7KQThMU' =D1770z  $ Qe܈3,*viHCMFy$:(E}6ETQTJ{Qo4?)XG {PFߋ8QmښD==H4*l:JinJe$ (U7(8K3/e8ciV0@7z"RHo5 ;{%mevW8 Mj2Yo`y2~nOB䮨q.++YN|%f0]!qȍE2wd?vGۼU40B ~DHHVE^:F(`+EPfd`U< xN;+K?N}ekx1*gȧ50Cψ VErz VENN!9Y#") 0&5r`S0tL~ OKJ}Q 5hGaGFe*~&Jcjmm_9 5 ,6"`΢`(iD2n`Ud`]@_ &rfͣ?G ,Вü<_y]fnK3 ,vsp3+Dm`U$NoC$r}IsVg. ?ϋh VE8`(nJf\IL(T(42 ''ᅩ $&Pfe.LI}V|r(Tj}. J _JaR(>S5< :ヰE67Ү:rr"Cm*̚0G(R,*_V 2ܗ1q,.Hy('s)X&O)?mPOtQ2Z0H b% EEX"뢄y?FMs =GϊaE@' =9<*sIӃdpj7VW K#Ts{a!a` ^"z~RR6'% aj`Q􉥋{7"sS#O&1Fiz$w0DB<2k:uRa^W!O2jH X9),dYYu㰰j<* EE׃#*60Iɓ7 c TheW›."q>/^K?*0 S)OEA"txH܎g 80b`LRdk8͖rr 7O$2d@%餮ci JؘVMR#00چ%FQ(ܘt/sO ݥ։D{Y1l%?83"(C0K8ݵg1t$Qq:q h׼ E{h+ "9/'>QQ( XBar] g:l+c MU ^#"$`;9.AQoS% =R!S(zv>etQ>Q EӂԸh^dGl5|zV(k96_IO?t4>ka`Y <_V"6\do.GGE{$It]c?# b;w hda`Q7ö> VE[ɐ=w$XZD:})`1"n 1S]+œ}"E0U Qhdm ,oBz=JNNaj0#_Fx?xDm|FQ#/;A6YFY10Rp|J 55P~H9ʡNXxv:d}I*Fe^,;Ek `YѦEѾ g&=^0Lc;kXVL20^0>FQqH*5<``U$d/Hb A`iy%VjhØ85&:g(O/"/v'g +X s9pDX m=~CrVZ]D R$>[#ڸ6uҹ$c4[q VE K\hN,U[~ݡ;Y*xD|2-s$?X*`FӘ7†zƿn+_0^Iz( a; VEAqm8XFVEkPqPy S $l2L^%Zy4X,LBM{ &#aٓ'ggWDG~*O1̮GϞ\cfʌl恵U/IovD<#C Fx'%eEm 6 Byp9 0Dm6ۤ3: <"|6 g_` 'DD(J|@XT4 ,BS$˔"Ye "`Pa`|Hnr?gD=Cko(Gg`|%1#R/Nɢ[`U^oI#?0oPha*HeL h5m*(5Q{m2.(draQt KHCi0]^Ad`U$+!_H +bK"1 o[T> ݍQa`Q ćeE}f$Ֆ885:9ֆ$h_ :m~#홂eQ)_DlmTlKi`U$(ד,&2՗Dfc 밁}=q[EW=%ޗDI  <#r0`W&B{K,U`qeQhgqgD}q  !Xa^ꔔ\[!/o;%l=tM䥥ı ɑAUQ6s 甩`J|2'zr1R,*aKB |rד7G-t ~\)$n%%{6\Eߟd:W]1ILD"3"O.Iw*(e.| d:kr*XErn6 D1h(cOvrO$ P46-x,J3( /AѶI]9]vտɀbz^Q)?Jg1`ONnA&}SqoFcJxh EATRj3 "h g bԍ%u7d7u]2(*;+xHLV֯:9b 0z'Q/SaT`|C,8ù'D{C)LP"X쥿y/l)֑2)g3Q}a>'2:[XmM4uQEra69x>qOH::NZ_}uR(x@#"ZNݏ@HH E=R]8>UQq`5+nEa4 a{91yUѥ\>Qԃe^/4p$`eQE$<"=47ŸIxT"P=+'p7; zԗ '%*XIa"L? `a3E{ g@`D^W :$X6PːHe FQa^iF[ VE΀ Uƭd>󔄹gБY]p42}*9{NQL$g+P[wA$O"ė`MNhQ] 'WH{]hG~CjOX \} M0"p?7>C+(woԩ~#>?Q&dXEYzբvΟkɁuwagDOq9D~vOzv/%VX*P*W)j2,* <%㧚?.2r<թVEATS?kw~-/>Q|<"ʹ[xޙ="*'k"HEhOyqNЕ<.2$C7.xH5Q.K WDQk㻩w%l@TBL7 R5zKE<" ҎH7p'q2';20N!aɫU{.:'-B:}Ckh7#65Itl`YZI5)sAt ݄v[戉"Igd$ G"?Sw9m j~_ F)er۷21H 8۸ٷEzԆ FQTn`U$8*XIv W(4;xR32(B I?=]IalQ]eQ a@``|%PEQf8N(Tk|~0Xɫus+0x/ -o9P\avKBVsU *XW%h9R+2+0gOtyu1,8V( tLD~X^6YvPi׫`'`"/M+0D`U$d0t?Ѡ,eo+xFyJ&?-j*xDKAXdF5*'y6Ѿ*FE,yaͻ"ak:wIpπI}mo_K"6")Z=U. d9 /*rX=Wegjsv(xD$ c/0\ ,Veӽ$m! 2Ll]vh1 :i#S`BE݂\;1BKj\;m &qçVr*un.WIlrH((xHN(/Sh7ăuI؆H$Rl(j܃=Ď+ @`Yen2=!?-^bD{>*Xȃ}(&PVk`QZt?)۷~Xu)x630~s;`E)҉#R Du ܸu6S_l"1]*cTt8wv{EbcqXyIvXMGE}$?񕪧٤C1rostso%2I v܅G HHb'm @!~2\&rZ0QьU,YDu=N- +8~Y)Nj2PqO=QR 0}.CB>GDr O+"f޾ V`C#dzE ḔHW L;EICKEb9tVzM%:J:;j_m<#=NQbtRs(7jETΊ7/|"9n*`"eߋO6UQhQ.̓3^` TW*IBd>6-G#p_4* >P0<pxF$鹰dW*;(+xHɃ\5FG uBvhm`Y$;w <#>X]h2Ճw?䩡UfT4=w =y6KT ^K*& ape j \ NZ-^I2*,W$'s_)"q|֏~rb&J>^Oņ l ҉}&'/H-X( 8 (X^Q޸ÕgoVׅxD$ɑ ޓX;&)%$N? btM3W\%OxWrߓeQ= (1o \s(Jc.008~z&O >!~ Dw)O\<"*GDi(%,2~JƏ2bKVERH}MQ_,SOO@aLQ^9}+x(H(Uc{=L|8ȴ8(#SbGKeJ$ADĖZ5[TK| VE.Eq]jȳwuQxIcD5 (d&z,m=KhBkGG8 Buag`]Tk9(Ċ c lY`l o:9W0.lY_ ڃdupAC'ˢ~GD^q1iNKL[_0cQ:sv>D`B,g:^%ty]-.<䅶Z  <"%Z0 dЅՌ@z w@E =睰c%y})ww<# ؖ6'ګ\]a^/IK|$-x-JH:v)Xh RސsϴK(qK+E-7z  pG"Qʒc*j(x(N{m')_GuޖM$?+"iNn {{܂V*EV6oW>s/rpMweQ!D{08mE 0j^K_MH';X@*B|* 0$T_`R my]zQ؊Ev ,?p$tRKEK`yϠl&}a)y)[(%n=D5*%"}˒kU ̔v; _ם=Iلm'6a'V'<\U4s9 `Nx9; _,#qx0.DQU> c t9&'1]"im`a L `'[_ψ"p&xHѾ%3k+ЇmH^3; ؉^DeZ$i |K2 d F:s5* NC (bHO3;Wj~n;Oxܽk*$çd`U$n|e7PXgDQN=i$SP%E_œmhwAfVEr9t"qQ`H#"vG,)E`/D iS(ڋ#],WB;E SW ]>ħ'>QEQipܙFcIIRp(oR[ tdx'yNpzKoE"ؠlqg`SFQѫKPt0 4_0"~߁xO7M~7q[tji`YT*Ţe(&Lu 2Xj`UB-H"߾ VEăd+)X]B5 ìA*xF7]DhLCpi`YTm*XIq '}!LQQvy"i_Vfw#H v41'}1zQ#:Z<)X)PݴZa5^aMPQ\89\E`YGD 9Eі9#$p|/N{dc6Q_>_!Tdm`U$ jܲ:Q婰(䀫ψJf<drՖne}"ۺ_k,#2򶓦& Jx3 "<S%QNt,`{U:4P@E7VQYg鏩qf'0SvíԂ "wHc$?N䇕$LjXI:Ě1>P$8*x(90mSpw )se)OoSߋ}I*!7KDR V9OT ,ay^is,ԟ,WdɎ4e,\M ]_^djcm=\'|bxBÿfS;E}r+ZZa/~]@ xc`Deu +EBNaP0?C%#~K|:*Xd6j^ qؔnI\q9ItGE* 2+x(A:xDTz ;&~ Ok10R Y1, f +%30~} 9bΒGDO Th7\ĄRTeQ7xH(YƙeY,"Gѷ͓eQ+yMDխɍVaeqHM>ִdm`wfSi} 7``r"\G!z:1DM$oS>op GE5rMl7Rq16햊c _[ME'K?Yr-aV>o%)92 6.yAdN\lv SB^ EҘ"\4F>حHu7g <#a$Mev ?A~n1wUUy7J<"y47+D}'jF D+`1QENzc_ 'h; ؿ9HeF 7!{I$,MD}[S%y^3 `v=wE O$%hEcl(Xuz&h Џ˿I([}-c&dxHʧ`Zo FQ$%(l,``U7l(X(7A3"i 044x5yIUt7ݵ_\zNGRmΠX `vFQxe؄eQl[$'pQ_$$.+MSC łyPφ's+Z1@o7z]Kƿ*`TB23B_۰#ۀUUo9UFQ'5jy`sFQLt 8 [FQX 熛ivI7ރN6j.7 j~MI-f0K8F_I5E Qc ]Sn`EOo VEunHB2ᓓ>81KVɯBEriS5QsTXdm3zN T7eTQ2״q0FgCͯJ 3"Yi Q a9oy/V`N}'<"8*4CWJƒucTOogZ)xFzݠ`UTC '}JJ'ڟ184*JṊXb~q`3v@Kh8jR- E[ FQ(OדL> >]"8P"AB"OI &;@ 20* ; n85gB7RAmZx^W3:(l&w`f`m0f<-m" "ExrE?*a Wzs9(tzF FxAEQ_p(]6NqF+o+XI'O$c`wU^ajZW^Ow_8(xB샍wnFQ(̬ ֑`,7ΧUQq8dg`Q+O~:Sr2l`YC"bW0CXD:%'M\m4(R?yˢ1u sy ʶm8(`QC ThoZ XIz=&+lԅlmdDvE׆ Be^.]N'M2Ʃ㝢+ 7IDZUͽ)se[:n+xD76"O5r VEA;)R ɾw;/ToJEHvF)xD$/S,JJ<"},1i'5ɿ[$90iVXdX#5x34'))Iȋu ~HBHp/!#>o QRF hd"` 6s+0W ,B[p؇U6Щ\qh dЪu(~69S:="-BK~$慁񽏅c@B Q$Q$MA`HmE,|0rXI`q10&}`|- ,v 1`Q9m`AdDE}7( y* >`GDƢ`=qH{50"jDk6,J"50Rxe7BM?F]U?(qG FQ( <" R  pXm]dIɺ>ѥ>=ZǬEs$) {0N=-cl`U$2;c = HYPEΔw(|O ,.gf`Q~z200~mOM 15*sl,3Osi'7j,$*wEEsx *Ms" hօ*dr\#"6~`oZH"yVay]r-v=9ڃnM&Hإ2,r\N nc}$G*u 2r/!p٭֝^\XD>oX8e`Q6L-퇟Nvsؖhba 9vZE<!=O+D>s)t􉢽{!)_HZ ]OeĂG"ދi; :R D=I<)xBč ܎SsﶓMEbQ+G W_*y*,x3'xhώ`QXέ~Z;C%03OA',@,+n! ogE{.TVT\^ԗx"QE `A7*Sǻ98Zx(\03*#,lSFxxNI2N"9`'D F FFhE瓍%Q NC"bVNݗw,gNExDb3ѠGDf:OuC4h`m}y5O񋗊] 'MeX!R#oI QO}Oya~q~(:Tee?Em) z`SߞN+X]:D `%203VE R Eb_6(lSN vO FQ_}'D=ʘ`qJ}(6*e3h 2 (b͔esU J=*`roACX5;Wv@6 `%pfh 6t3KH L0_&+5KQ%TbN:"E`N KHO-]_(;;Em t`Yy*ݘV(Ծ4(guO9|xD$tNQ ףoi[ 7' ,MK݈ixO x|ԓw,IzG!0JQ0~}0: @̅X዁UQtV,7~;%@(ssPs^isbN2" # z}y5lܑjG`|NxFTO]ӫ-ԏdtɾr FQQ%>R3oQ E}jK }=aU+2%))(s੻UQ|W1SfZ˃evt6)HXD,d/8í(bEhu^ h,V36 'u$CS\?( s+H~`K?Ѳh?/U,XL'X(]~v+Ki?D;njsqIG6T OL(@;!_⩗C/!v.RHNհCJ{ۂgv2db`UjV" tԢ}8 7(C5WV\w&*=O"d4ERJHRB.H"Va}ЩE_F&VEU,`OG(oc`cXFn#/DX<$OpDR4^OXg`UTkS?9 d70+*E:5<"fW"r0FQǍEQL3dEA˜sו&8'q΢ޑHi00ZBK$H(XI+Hg '>#EI") 6Q psˢXM]h/c10C?-ˢ`(i`Ut޹V ]2,{=s(xBԧϊn+q}2kGA`NI#5)OjQ%-SQ &l0yh6M FQn畁E/I8P::).jG$[tŮ.Q )*(SڀUt00(ay#5H栍s u' p) <,j i Yڥ``U&"'8HR.qxz:57(jk\'Vsqq}DFSpH,:1T|qc`$)ͤщF+fm7\E?M2|7oRyL}ۑ "2'X}":?o#He`Q xF"[4 I7@> FQJE1\.Ѿhx5UmZ+xh_FוCb|C\,pΛA@ct3̩@>f8lZ^5#^|~ƻ!%Qn`U~E1]. "1zzR(Д" a 0(3ĽE9 ,>}* * F @@W"[ 藤`Qgq3F]ϑGD7ryLgwqV=@!^/Wwi#Sl+RVZԌA(*{NEǓ᷉ä>)ݮOwNZ_5a壶zRsET+u@VyMOߋr}R@3o`;a)X2fjrIt!qn?7Cˢ-rn_8?)?;ghF= ؓD]Ӣ]9 185o5+TCI + П 8D2*Px(t6E` J 륔Xmp00~Xa`Uԇ &  VpkLv9 xF:y]0&0(5Xg aATO30/Q1_W|Ibg| r_UQlXvtR`3AjK>/M7طs ߨPi0Pݥ7"KBUe E\B,kXO0Fk`)rxgE~Y%nDZmڔl_4^>Cxݑ GSNӡ&D1 so%s²?jKE(/) O$vxS ir9I A")!ɘh EXI B h`"iKaˢ M,'Fw^'lMY |H "{]C0s 3mFmsnE5@2CI}xf "K <#V,-S)Xi'#Z6+3^aҁSIQM XULrx]7 gUN@ τ )ПQúq|](b``:8UEK~]H(11* !⑔eG]$ [!瓾O\nShst欀UssY%Fư~$'mx98,GݎEQN+'7̦`}A=NM u2"ɴ湑=Q{mAʖUQ>E96O|dZ>DAVi<xF*y&)x3Ebeڡ" #;%Ɵ(.kn`YRfWRMhne T`\x I7o`U$/|(.qn^:I"rz)nb @h?7cϒ93?՘UD(J@đlCtɻ/9:JSX"&+XI\AYFmϔb~*;i{ENIe5w(ŮetO[XhWb"a@Q0Z68L0H*(e'M50@  *(QQd)MB/ee,4_vq4{)Gg)H1{U'pJm~;3AE[ 1K x n5=D1gN~Dٺvy-Z_6ܝ lU0~E-exQnm7vE{%*U@er2VPH&!E{uksp->\{:Nϔ}Ee7"&gDR܋N"QYOw!Q&/g0lqqrpބx2dQ A dND3C$ƟxH԰jb\< {U:#"у~HiqNk^5t8i$Ԁ 5XrE޼B X#fa=SGfC]=#a"5*r{UWd}HN@#6<,(DJ1*^$Sh`YFًY$!S!8;$UR7`Ph˰L8L:8 $7I\̹TZj~}<w Mtiؗʍ(ǃɉ'mszR8vڬS< E#'u=eeNӶ};KQ6%H9($,BψrݓJ ,3D EҾ]R,iݰMjW&хf>BSo}zf>D{pZ2hHsu qoGItvi?+5|c^Hؖ!U+`R-hem'OoFc`‰$RoR!j<&|Z83(Xv@d`Y \ 6(W w|qj(c>[^Mc` XI:E(qxI;qIVn+y&jJcuC niJթMI\;%?Zcâ?{|(?fE(XYE%Q9Nw.2J1*r>wvNj$b,>xI ТW0zܞ6,꟎D _XتE |z5X&X5 [qo2Gsw/eˢ@[{/`׷Kd}]>]/I(Vxh`k~@fQ jn\shI#sϊns*xF$?0e}+ z?BO=>#F;``m{`ՈQrdh`N,:X?V(Y?ޟh[@إ0Px ijtoɴ~ e"YXG#Qh\N 3C'\-d֣`QgFzaO~Zc*H'%}@ku 𯋜OV$=_"jl3';+?\h&r3(Px|1E*8NӶxD3"b#qR8 xDu6` u` (HJGzQ"xn' m6i>)Pĭ Ӊc57"*71,3(w<;ʴγeU|ٗE{шU/9kEbSX<0HZKC0O~ `i3B>Qdh`Y$u0e( " |H11ͅRzQ(د`X1opye ,M"~{O*%չ./jEI 磤9 p$SyL`|W6j;E_䀷Mw~ ԧV69_ 85xBZ('Nc' EɅ&E{ڔ߳w{dR QSp͙bNVE^jTO%n 3mn].1eN6ʃR>#K7?DVO3(ZlkD hyC(1b%WЬ3@3UQ, wf+KQEFQ}R.=oFG(ZI)] +q'(xj@Dѓ?GD[_@uU`n}h`5OAĸ(Q3/U ,zΫ *%b+)0heX8$>10rTdl47qbI+YSSDDzEQ_N*'9C744}Q@=+XU0~R-Ω72*eQ1OH R*pQ pm)?6ፂ4nUV:wq m.;e0fXܰGDtБŀao:t`3 wF*>R0,\Y^NhO>ST~ nlGf;WDnPnuhOuwHBuL<#*>d7zqTmRugDI m`U$i`U$a7ܿ% ,zݲnYZ ,iUQhdc`yG vHWNk`K"1/Xif,h7061(Z43)+؆ ؔxlJ'؏)q񓶌 rj PW!&T6џ^8AQh!`MXk`(c,9􋂒:^'gPDlj"]}e9.R¡Q((Sqn䈧EbYD  E\XuPd FuOFC[ᆰUdЀG IdDYl7wmTB`C=T;M)کpW5S9*'W/Tεe>ѐUQt︁UQp(%? Ohzb@ "F;^qoˢ|cUQSo/\rH!Ir a ^Bx VE2oA&,)i+xHzAze 57 <"ʹ&AT$c|9 F*oAVE961*9:0zP1*ʜOob_BnU1a?Ia媀4_a#$0qb!Qk"G,Eraښ$zrR*=`T(Ա@7l\ψ!3t FQC<&%rFUx&+K*UwX;` &K85|+eHBˀ-~.l"귄\6ڰ zp7`Q#6xO\wfD9ϒvf<*X9qeL@&?xhɡvjN.~%>=dX=*XF h`U$baHzܢMMz&[pLma]$o%R\yzm$^׷K.ۀ)5*J* KQoj0Qi].^~+602 e#Ζi-&r3 -| D %9ER"O|p<#MG&ў'hmeO€a`Qm250n\`Q, ,B++"`NҎ \eX XP/Xc$g2Oy`<9Ak)?)GQPv\Sڗ,+!i4St6WDFl&^45@$H 67 : ~#$;4$10ʐiNR$7u@pqc`|SIz .`QdD/w (_hWS?wE}`d3^xb`YTw5EIhP*VS"dD P6^Ɂ5 EmXm1z q'@Y0}oCLHw|[ | ī9Q `NzOE};lkX$;IYL^JOţMa?/G(7}K`p(*``| %vI,,D ,<m7^K7?c=oY?ď >['LY ?,YEgI690颾(I#]/d<-s '|IV'D{a')EG55 E2xt ?ˁ[חD ?,u h ]|N6Xy܎5*N~D{-uD{\jltQO% S$x/ѝl8$[m!歫+p lspH|`W(;A"X *a=rc$_+^k:&ڦ6EE5sodˍ QTph>(zI8ُ&_5k(Ճ5O) `H6gv?9Z%+'zF䥖 fq0Em`dUbTvsH<~1m(\ FH .C`0%a sP AsCqθZ$0ZY(xFT yt(X 45#uK"/.0ަ y!L;*j%BB b:\@ߨu0+'3ӱ3|qV:'˙D-a"w EQ(m=r ]@D1sD>NϮag#|U%I _\4/Ȋy]nI 2HzWR.ME=UBe:F^<`\;XIe `hj>)'i 9.('q9#b)R{qDũG7y>j(5NPdhףDL1S0~10u h@;^d[=EZeGD%IܭW1S+Ko ҙAM}?I9dogHK+SKkUR`ݬڂ} ,rD<t!CIc\\(a'P2m* v)zڒ + '6I\ ^Is g ϥd\*?Sn ":aALc B40)O3P8/sA`i ^DX0$C#Pf0GyѪ`:A+9lYӗ=8̶ rU'JQOONCUzkQ_*j}= h$ [Ŋ54 M7` &M=+Iq,PEH#*.; <" tEWpclDnO?9h. kEPEX T* ɩOVH,)a/_<:! nE0Zntw^hR_NL>O yYqƮ bNw UN>9I8d30*51"*6F_u 6eO*3T*=oL(*skd$V*di$`YTݨ'Xx+Ys`!.kDE `a)ר"xSXxh٦ iXW7sK")d7į%%uT^O*⯈xS_,,Pƙ'=N%UȆ9jhK@ut etR?dS`YԗX0lc 5+D)%GDA=9iL e E sͳ/m"qOŽV. 1Eўi< HPqUQm-&F?I%gDѡXxNbE5+x(;8V=DҜ ~8v8Hޟqϻ XG̛5@++06IE  >Qmh'D{00*zl26_׷KÅUEW I/\c˓vbyrAjk Q{yYm)3 DEid+`>ENqE׎V|*=ܲM}VE)5xo~Hvc,%p&|RƎVEb '':%BnNk:FR(' yoσ%QIvr Ot2͟V]nL;ٍhsUQ-25dj#ڹE}|s=]"&0?ѲH0*xD$vp`mI9aUQ#2EX 5" X8"msDbq 6ʮ%7xHMQ٢eN1\-&"Pj`U$goo^C1@b(x>D6PD"1s" ey?N)xD$WW,qJYC1x|+\Q _'*uI6)G%kĊfZ3"If5k 6@==I \Xf\w@H,hvu&`@Z4uä 7d/i8syGElPaS*1S[8yMPaή_}{qk!kYv0pEjXo`]1;Nރh' D.<Aŕ5 D +zAw1R:F݊Q`NhUbW@zI)n (KSDb! $RDk`U$G &x"MPo4z8xkdbDd_q0+@H 0 M6~THnm<nf$(`|G= fki&ʛ5QԷ.M5[սU!d6Qc dTxDwoqst񓸍z:i{p fE(T Y%}` |5dV)x,hss$WrVktG&HqZ'mKA+~' ?@tx?lh?#p'k\hKCSD܏ E1Q@}zd8Ts[EE&^Dž{ O>f*xBԗT@q)Tb`U#.r}IOU4R+"4tM00<398=^+xH!s U-ϟ u}$кE:x(pF|xg@1Uѥ&GQ`g_ukdd@`N}` ENv`[ODߙb6P*u&r>^S;XOCۆ}/SXC\2:1?)5R**㎒EQi|yEY)\qVu6d#a}:U0JXHgK? ˦<" "[SZ $d3$Nm I)hqUVOrx2|eǴ<#rdj`eN4z&| ~6\X{XWw2-\BerI`Nggb7@tx\H +!w(] <"dXy W(Y"z*Yp#BFF FQ b`Um DiF7N'oqxrEB.v=5r^VT} Fb _y ?>`b;Ѣxqψ D^EVE[D7\ 9}3@_lŹl2Fld6Qp+2yA?$mJ$JZNR ?k5j2 ͗DιUѥ82Xy<$ VE2cnyM$5eT7?:a`"UxF(m-=g%a"GD4- 070a6(?6=(}_ )*8>X8Zh]0D|H ,A4H H̽4|m'Wʴf`U}sxéO$爐XIVEѢvW},񵬙:F*Yduȅ=ODG-!6Uk Z4þU)V+?){,[.\)Mb`B7&.WDW$Cfܡ?,Fxg?Z" Sr1GI5qT=T2>l7dfs67$t>gFBvO I!C8hwՃ7u wQ6~E{f4Q)_ǥRX6w7l3EJ%) >m9m]-%)X.r,O ?#")H;]]䇹Q 5y޹?U89$,Q>VE/ra7=".rE^/I?TNx{ĕnVErԁ5 FQo<4*/8Q70*\TvFk@4`[9jWր_cj |hs`r(1E}$K ϖ{c=4XKIdC7?ID2X@'^@y-FzHìvRw(sE$ 3% OjB3l$ğ8fQlx,/.AK^Q g(A]ZGF/qAY+&6 Q3o('f5^\DU810Җ1 `j`U$ LK"_?UQ#?}cERW{>夠ȉ/+m@_}Xt^Idx>N E{ GDUNaS*}\l[`QQ$>j/BдɮoT7*[V{p* (E!O; `L3"yDt԰珁;Dy}q6tbQ ӋsD ~Fi@hO=qX=, u'i{5S4 f`ˢpl`UT:RIdX+<&.;)] VED]I "%ǡ D2du _;ӫ^MNuSE#ƣeQ_wψ~eQ_o0)X?yg1WS|RA O 9eNr> Z0"9Lt30~FN|$Pī4Vc*R_n(Ơ@L\\,Z)g]ISi?ѿl 68:OƟ*xB@)O)ƙO"]. :$z eO-"9J?&+fBis9"5pR,l98tF|Nnm"I"=_,ZOY/v` k;u,V, `>6ǡDi%]bW} FKMfHaFQF "isx$z"vX=}'im.]he`UT#t5INǰxRHqhtȭ#.U,r 3 ɦBZ C-ϑN)S]"IEn_U~\HɰUtLg? ]ucՓ4VwEjs%haQ٢>6xhxgDwA5O>1F3;JxH\f AEyQ GDjA v2xTBiT^A⥁eP}p:)<%EQ_erR(Qdži)EveE=8@o5 |(2݅('l+|vI$؇F7EYj wŘ~20yX%)E&Yk>)UQKY <"򹒯Q4+/b"I]ƅr8qLr*xBj-1TWz繫st2&L woW*Gt_ J 'vHXCߦ~7BM䞎,v_PTkt݁S#o%S.Kɝ4@SD(qA̭~Vϰ?/ZX;PN(DG}oA7BmSbI=Q R+ ?u&ФHn.imAJ>Q1(206̊EIY`=^', |U O$ ,|YD>SUAτuQ0LK/"YKQz{R ԹKKgbC(@x `mtlb`UzCDa'M$ 6 X՜Ǟ?]:ͺ'ף$mV+xho!LMݰv3EY+aB 㣛 8=`U$O (wPA'!P,mC"J8\aH= 4+)x蒳ϑw&=488 ԃe2 EЀ VEMa96%UNz^q O`E}\Hd]^`f20q ,XI)`b"oTirAZ`dne&lBIHJɾ!x<|}qZ-lfWyQQ%l|M$:Sm"YQa.5}D/|#HNAK=qVas0&PCmSh`|ȍ1&gRm,>Ҳ1W e`e4;=Hz[^(H1#ol@c1ϛ)Q==nDX8̵%ƥ@CU?7oqs25<#_APոU jlQ ޷@j[,2,=O}B 2 |bIFU 7 \sI$n+X  , Wyk}"+P`U$xj\Rb$8VEr܌/WUjMX* qĜND?rE (EmV,J xFL<04"xgO4_ mFkI(`ޖrv3"Ks,I>0"O cɢ$9[';(fVEۼxI6,rlpA30L=G." CF}[yQ(2S0B#0U4,u8~8IC4vsY3y*lkrjLRBMpmXZ{U`:EIK"ٌ"8o<(CZ mtt`=6yFo(yjiLUFQ"050>L70jL(aGD'R'E?<םbnE(ޥ?05>[$hb 7 Ы< `jnd$`YʅP- Eaitx]=sDGkCAew\vu"X-`geO^D.t"qcÔݎ E F=X`Qy~E۔yHp1UWD{<   /"AB{V `Jd;vf|(y,7H2R[`+u\E&jŎE^c&Kqڼ&KT ,v+r}*|q:e0jmf`Q)Z#)X#;|#H='6HP(1'- pINH,@ = .c? ͭ]kgwg짬װQ0#"'ԣLR⒎/ܡ[$q&9"(C%IE3|+FّR 4?ˢ?B vWO'D{d,8V)QC%OLT( K_ GAOTÆKoEj~cg ,Da_/J 4jghqA5,9X%,A-~(XF*~$g3/Q܇3/gŇUQki&ra6V+eQs\<9; kTcs2|#>tW㉚xQ `0tpwUQlvHaQHL70>}[~E MQ,Cv+ ͪh7 ~v8X/GcCRՉ'Nۂ(ȉwMt+3]Քq:R- 'sKVL|HO'[?)X:Nʶ)(/aVUp 2sP%0,v `z7A6X6R@?hd>l,B養vd/.'%rX%N~$ {XyHᕶ,3:}ھg!N}zPy h`;襒 LWlwd6_䋢\`n#gcN~ǯ^(ψ}涓>sw3GD`0eR_ E{f%*E aٗe _~]%13DP\fMa`Y*S ߩ?P}0b50}ռU42"W$aJ' <"kO5֔m}…U6X{BbFe*'5+uX:~`U=o&9i*/UQ$20+gP峁UZܾO7э PC p3a9572>QnmXžącx8dl9aW|RHoZ<ٲ ePh Q$V9`EŎNq.VEO$ :2P, ,U,r]V#( @҆54(xD$y?ITe-?ot^QOþ(H(|'5N `2 OP>yB.AYx (C0m`!FQu_=]"g*L 'yoф xF$|4.)pQˈ LP9n悦梨g`Y$Ͱã> ι&[GYzMZI7 $ 8#}].iCJ+ݮGQO`>Rt ahȪM"rMhP9G+ψ6=`eF2(enZڛoRۦdQ (hqu9Ç8M*u&ERpEH#8<%I WImeQcǴvӔH bݖtl݀ juH&HuR A7l HlRrQ7(ibܠ',4}FAb 6]Ωj3Nx &oD֛&7H60iwГW!]X V0 =Q !T#9sgP6 C(Gio;(D]W*@(bБ"䐅^t }>}NjY(ހ\0jQ Y=砘Fݴ=.R/Q[VV*+pQD8Wo!/S󑔲Cj %!,L)VV*$tt$ڈH%-poRܘU]H=DKOQ pۀ:tTD2!<R9CA n "95114ębcY 1QލUYxdq'="Ϊw>ӎ+r4 4q,B:Iv-@\ΆSnd$fXGwuxQݝ%b e`i3,X/ɷa$HR~l3#c .x~%@grw牳la!3s]"ׁ\K n]  3+[i?9',sd $5D \7uI{@\Ltbv.84c^PY,#KO 0I_wB"sj̯bgk)OB6!F?d$seE\~y-BL)*V'jy7£a/64>Mz~Eoаyy7^0њՉz MtReJÕHkj`S 2l_4Y<qWeS|qԂP~ܿ=7Cc~z@RXCiϧO7w}x{~`7=|z5};ӽ f0 6gҰNxp{zendstream endobj 119 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Height 360 /Subtype /Image /Width 360 /Length 24950 >> stream AdobedC    %,'..+'+*17F;14B4*+=S>BHJNON/;V\UL[FMNKC $$K2+2KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKhh" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Z( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( *˔@#]/Z ( ( ( (V[`̎4b (((4FRE2$} > ( ( ( *E؃H@{aJ ( ( ( (lR;whj( ( ( *Ϋgl$xU#gmdNp;sҭC*OKE :y2S`O IzoL:Ӯ<1Vkɦk;y S$l@^A1V\yz[y**yz^A1V裞Aʊ^A1GL:պ(rL:+g~R\OFRFhAʊ^A1GL:պ(rL:k뫻K[hfm37QOZ;Wh.]cwk,iKH#CB:#-U0kP;8 8"2_ m<@ftg?SXptu-WDЬΦs8T㴌k&snlvW}eUΊ`= ,XRv^CjɶL5(Xè{GH-VFPp mR8jM&QBH<$t8棸cI2d˴9 21ҭF$k(aP4rjF/'e[F~~BZeOMD|ZsZ_a?Ga?ZQd;/00J6I16U]_ /. /.(ٗeOeO֥YٗeOeO֥YٗeOeO+fC,H{d2SWj-o2Ts/003 "YEvQ IjWWF_a?Ga?ZRِӒW~$@w_߾]jQE]_߾]_߾]jQE]_߾]E4$dII',~~g[5F_ ״uQlICeOeO֥6E]_߾]_߾]jV^ϩ/\ m\~j ž9٥?,} Hmaic\d8l/U-e+F'?UJ䃑g00J++#K/00J( /00J( /00J( /0!Bg;ygyqVPY (Q@:4gDedF9.{+DywP)dlGyR2Vkk֖].!8 d89W[6͖%uJs g0k#ͧ; Xv\~Ǖ ?5lPE_6b*=T"%ԙIB.OT4NlV3VmCĀsbXG#smlp+3KcqE٘)e#v,-NVdWv7Nd6~:0+PVEopd`X6k3Dn'xmQ kLC0r:V־]Vd(ێ0#VKN F%ET`sr2km}"2~ICy8 lf݄VZ<U?S}UODS^]vV]a\2da*k}CTNSk?Ŝc55`\ #γ_E.%֑ VR$T§mtoJ}a>~,ܻ WOESȗy#έ%o4mq\5DL{axs[VE[]\wTFUSX7&?b-E9n_s VUq X,ƯOW+nil-_C!}G_v29^iy*{D ڣw l3sTjУ Ym/&.֙y䖸d/m׭%ݭ>) r{ON+K?!ʮ7//VӭUTu'ڠU3LH@@8k]khbH YGiڮZ"xF , zXg%m9\mhI2cU} #jEu]L?+܊dT7&C>i0żf$ϗ֓´3%7? _"3#%k{;♒ǝX\3UZ|n٪'N+%t2g6e?7|?ta<s F%˚38%yR°&38\,26QmŸSp s#éĨ rp8r<KksbՓ}u 6&u A޾J@wcA#VN*ɪee]"nA;#"im*C1NgE1iquyiWy,H펙 ᵭarQ go{diE]|?=hdvwzT?;n=qe( ((i7s #+$Y[bC> )!Qmy2PCݞ3W۱Z݄.!Iv;wqƀ(Zkʲmzج#C֍U>u]צ xFfxl7k"3WFOO95ea$֩NaVqj nAtf;^0T ?TJJ+QInڱ#F! ?[`e$]>u?V՘)4XI-(xb>iR蔵=*E.H37%֖{+@khg ?*u[etU[hVpST訅A/eʬ.6Xc6`s xU|{7LyJx#U?)F#7Zrܙ7Yo\pQwznqg];*#~gQVK鐧$5vVVT[$`u'?JYYa!Wa?, QJVB5]1;#ubN@ǿJR[vMV.dy[ЖKi7p L3涬Y}kYR#(Fm`QJu>5rVtbcu1[6f_֩[4ҬlU݇oFTQWЧRLsKw;00e8TU.NZJWe>Sn"n%.b9\_EEJ{uoghUmABG5R;[y!a4>J< uV0qJ4╆IWh扶SS5};`XmwfgfQV⛹*M+i1z kAIWҼ~>~^P~wzOhEPEP-V(&k0*` g5r}F%!W=0TlcҬMimp[#g@Hf<B{"'e|˹siǚceElV=kSGZS??lP=aK7$kBB)b8'~/>X1 "|;YAʰ+<$x矊:#gc#27ރ#f~NOM4U|sV7ߺ4m뵲}G'5yM663]Jd\g+[[~cS|SRJ3S mnhAH̝{O]9YTAjx2s zfpmV3y|NiYX]ʩUA9sT,g[hFEz3|Ui:m"kȢ G_ѴwHY ξ &p\IcO3vCYKzhXGtiZ2qR?OZ-iv2=8*? ׾h3BX㝠+q"[ .#Ӓ.~u5Lw-NUѿ4|[KI.v^3[ߏ֣"Ǚ&s^ahdFv-fL ƫ7cP񓟮N~b֚!}E]=tlqΩ}{vS*9l~TMG]9.k,w}x?^,̌+I bIjb7mΕQ<ѡ$gH1<>z=AsՀT}pEz q7S wrb!]bJ~:3bo-_rf* V{.& Ȫ;λ+XфNӷc^es#'B]~@_)XPy&VF#h:^hC 0q>V%{i%8ch\ 9ս<Ɠ0hbNB(0W@?.3Nԕ%GpX|b*PQp+bmpociukQjgCc_((P >##`I PrHId[rM,F$Y=P? 5{/϶H&C>TRRGqk[/Կ]?Jcf8b59%}KKe> )ߠX٢%}KKe> )]٢%}KKe> ( 3B+nf3uf%}KKe> )]Z峽icIhP)A7$_"IlRtE 4V7$_"IlRtE+ٛ5KZ5{ -_.+ chYe:t r2Qd-ţGK˦ZHF Z?G˻NI^Vh୅T{p*cKe> (}/OT&RJ -_.[/Կ]?Jvf -_.[/Կ]?EY|? Kʴ+_ӭHaԖ8*|Ke> *%)6&]ѣue*|c#To+tێo$_"IlRtEwqY$lXϾ?%}KEY4V7$_"IlRtEAfj\AF)r  ?QR7$_"IlRtE>m-q[EcKe> (}/OREcKe> (}/OQtfPW[/Կ]?M(u q1ܦ^|w?7mfQL(?&.$е̢#V?5r)"ܮώ1rZu!SY]km;2խm3gކHERݬ6? 7k §Es"Kv@ (ݬ6? 9$ȻERݬ6? 7k ŽI2.Tk m3A̋`HPI=Tݬ6? B_aG$6qbRMx':6Ft9ɲ9& (J|mk2K1V]<|WjH bxzD$ ]vH;Wp:~5\v|f4E]iym~,m|IJvsOϵ.W|Ȋ _P u d}ͻ8/sTJ7?m&YBa #ZNTd=֕&#n{l_ʠC61G+ȧ.r8W{S}w!_u8vPO2M.{@L^ڕGk1{ ]bR[9ck:lihVO8\lqC#ĞaCp㎽(}w#km්WYE'%$0u瑞SVou%ˆ=2`g89 A8lM۹n`c@*G~3Nࠜ5=;n^׏VW(Kmc,l :/i-=otm,OJ=rE]ͫ}7d#sYʌUШt[ tgRBê[=\rHѯ@G5޶s8]Y˻h d:DiKVߞtI*zt*~k񟘜Ԋ5[1O y?9J*дgN ,<҅u% "cx)zsURᢞ#ikWRGT;+7hQMGY20e<A=[Y[]n9e0rQʦ9T*:7;S63)Arb}Ql&4`W#ۡMdk$8#nl<[ѡy.}խh]}[NtYaGlt]M=r匝t*ٻ7ߝ].3$Z3 xO8ڶEPUK{و*nIWQrؗ$/TRt%>ѻb>Q}%LCnci9srQ{H_BIWtn#*r2N,3X9UluAycwjlmb'O&}(?vEjm؞ЍvPê_Zh]C#V)՝miHQԚm^ B?(\+Tr]4.Q 7-n Đ?oz'o qNi5\b+p#wݞJߥ6K r6~j6tDK.[ ح)rMFs~h2Ӄgu`lCc1uQ@Q@:}2Dr+;AݑTRRGV+OkX󽼬>F+M,~eT0e$09v`֑÷> ?_ִ5-q3ng5\zϿOMb8.Kp۴i!\NFPp}[yIMMtI}^ZNdy?b`'xo%][#V\I+g.Ź9 e$Ӿ~Oz8y.CeQaZťy{p A\W1EUopyt~FoWE6.?_jA7/.9xS?LE5W.:#wXPV~Ь2p63:zWTA;sXSXx$דms5J$+E K }+ׯcEu_96"B̟ Y+8]ٍPpS9F:v$MYIvCL~snO@eA1+;PYI!FOAS|o2RwO^}6VwE>Zr$Mqj7$lȹ! }:~uJҖk13} jr6enPxʾ?/r]ii.$[EpV=bQZ:0}?fuXٺľkԌc<}w~ڡīs"o{m< @%?L 樬E>kji7E;m.?coj[dl6Ob+ paA`SkXҊ}UcNW]Ͷ4Q(:Stv AZv;)Uze)OqSc=mu; - 3ƞbfl~?.jk/k\k;а==+t'5qS嶛*6-5Kpu;o#,7yQQZ*Q쿭Ԕ#5[h4>|F?4oʺ-2FMgxQ䨯'Y`xF6+\@Ѝz2hvLzJ?.?x:eK_T?;n=__/EQEj_MmhMo$|9R2x+Xӥ[<%M民Nn>R.'%6FBA@$g'=r]ԪII@$s VF6Ok3ج#C֍gx@wſy]zo !ѬFB^e*1W4/FUgDq-żWEIAElkzdV 0-*.N#-u>Y7iR^>sQb"{?J^G;Ett i@SߟγtwuclR[]e.1Tq9Bq/_62vK!2)G!OyhM]>"tf\En4[- ҅`Gʘb$ns3ڀ$ mc{tIW}KڙVhw",NG;ZW٥l)cE`I\m q&_+~_aI]/G/EhhV)jJ O<.l.| ƪxt7f(P8E\稭+-u YNKyVq<^\7#ʓἵ,',D#Z4''co-3*K = "$EĆVnD X$9pm "#Zz~$6rLFD&3T}4Y˸\Gz"eNU❗5s-q]բ_7uDz?*iZi\?Pö= .>.X(Fϧ8v@1Zp|#c6kEl;VxR7G:U❌EsN+L<8qתd;o ‘ʴUbd:rEZUR 8'􆲷YT~8K]g<)xϭlQJ5g "T-WSneG T|+hR$I*بm-ŬF5$?1oMTj:~F'tLČZ6;6\AԏʷnbNTLSj(QbEJܼADthJ$I^wd.~jȏh<ݛ7)֩%*Tlsb<iVa`$SZ W{#/B)s-':iE~aG YRG3)^9i8Vjcc8GW*4mntߵ^鮪V`1 5m7\t'נ4RWدgm̧xݏ֛"7(;NFGCUA1_ݴ9C9?~un^Pg.qB?RORX?WE-!YA7d`>9->\vF:`~rWT">]nO-Wvf^{*[՝/MEӉ_-9*Y gOѢE['JET~O,^X:BB~?lbt]eۑd~<~q\eV(r4Ueo抒SrX4&"h&:e^Lζj9I$*\sH#ܢ(ɵ*gCce袊(fim%/0FJK>x5z!O,+I $tkk|3&@sZ*"E*PEݾ~0is3l?Y%yncj\@OH4}0ӭ?=-QocLu_Lu_ه+~!lV?Z߅ ?Z߅ ={B-QocLu_Lu_ه+~!#۲.RF8?g?g?=Ea,K$Dvb[2 9ByBK%kHc .r@9c:oƳ6Ѵ}Fo0@s}k?i~(?i~(sx/eH%[PY$1ȮK\lgtY\Ml.\}+wLu_Lu_|#mV2Oa/c c r ^-[|-㍿x:϶[?ثg?g?/f?hWeC}>m?bc c {1B-QocLu_Lu_ه+~!lV?Z߅ ?Z߅ ={B-QocLu_Lu_ه+~!lV?Z߅ ?Z߅ ={B-TvSE.Tkc ^\"(CZ#@w%ƭQZQEsڬ2j6Vג2=L\`1P;=@5=gk#+$lА?*=N;mNgIm܀rE\"q4 %p18=8zkYϟl`ŧ8lձ@R$@ Ut_X׼Z^Ũiu.E$n##us-!mG N>iu_GATEԟmi a&;E<^gT{=e #:$NO٤ ;&+GNYe3yaI>4ۿGqf0H( ӷj̲o[)m;YLLvGLg?u-ZK2DT+Z4ܤF*^h(:Y~}Xc𥲻f ənŚMp\d euSMz*rz [qPwi'=^Fs$*D_"+^9{=udo/!ŸNݯS_7(l*jjve3XUY%q_Zu/VE/>Er"D\c?ȊƄNutl)P!R)3k^QUE]'d]*J )*H\#m8?ږUm~\*ܗ$*{naYbpcf* $_qKs:[K<lunŞTI;cK1pɧPr59L:Wջ)en`jWsyQ_͈q[?!}>(FݶL b} dI_Oa  DE]t.1YmA#uPSݵnNݕԵy] ; bfRB77Od'>[upWc#7]KFE0:#gYVW6hhMrd]qdnYѫԡ1̤dۘs?% 4؎'&'XerRL`?֦Tjek%Sĺw߁fipLo޴`9sZI6:*㷰mVH2 q1@q?SP]}m1i6Ov2;RrTr*bk~] xy%fH`d5^F`gg6Qw +PeaI)m)Uk @ ja/=|d:H]6c(!l;10sq\eƲlOeS7?E^  zt.Q|vSƨYt_z|6:nSa8kP-#T>7j$1UmV]lHg+]I#n5ݧ\E#I$ Np1+Z8^HuXʮ'NYx8LURnX[~uoP{=RZGAr3ǬȰifW%վf}_5Xo$?:,>G=ޭiCY^~t@7&;{I⑁$ɟuu7!YΎ"`,Gׅ\ͫ?gKO74f+BBg *bQU^kXq c\I!S!qSmU.KcɊGf<UGuWK۹7پŭq%m:|I3wg+iaH՚3 #I:d"*UVx1zՄGr x:9'<s#C֍ciLۭ9gy?q[C^-p^S^BB?zs/>Ji R[ybRe05\,ENGT6t4nEJ|#1j*L,QE-=QTFvU(bm݅Rb`pA)J)ѣHPd['5ݤ/0 MʄG~;;\A99=jݓ[qlgqc&R`ÂE%QNRs#@ (QE-Ė$WF >3QQRB.. S>8)]DGZRP!cBN2AR2,2$0iSB0d{ :8ZDw}2"#<#(ȍw7̊e~;+# +;f +5@%O3^Nj$WhUۯWgQEQEa]jSj3aIt>N1\3Ҵinbs䡒pc'fi}%\o2A'?7_jֵŌ]UVCR G.-9Vf$Qݢmvi7yk-JX\J|5$Z]K[d?ːޟwE"U 饈(J ԚqTmu~G0TS??]_ ʚ* w:+ѝG^tUKUbV#ȗ6*\r˓TZZ5U1`-2sq^NNZ}[ Ppqº!Os=Kgʷ9+]*9>W&gi̜>PMk 6o_?w6s#$I=UʧЪղM]pxYYo?\^nE%+ۙGE\~Y9S,ϭ]V;c;w]희vVß.1ZV]0G.>Q?g;pcBxd8?k_~ݒKk =]/!bA `Ƣ)?g0aܮ3S,l%+ԨSdǤ}LG8B3Ӹ>/a=2.@ߟp{H!$jcTӢ 3"?ƊXM/:HMqsxV!2\vEV*>x!o:T'b?,۔RʍqʒXU"\G)hMRH<5(6rC 0-ynSq隽?M;Fі?0U 9"ygvsEoKO|3 夲\Xc$ZJ@ʦI*Izïup} pۄ1n3nżFŰ;qUznmG੤! [s#x6\1m$a"C2cwUu*X`2፫9_sI))[cŌM̸fhn}9uA9lq< 5 H\ux€*vbeY.mC7l-P~wz:QEQEQEf^%Z\[-f4)p=l Z4PEީ}im$igdc' S}Q_L-[KY-,EJ;횏ahf@ZѢ3٨/&j? Ʌ(;횏ahf@ZѢ3٨/&]RY#$? 1`?Z "Kr yF X S횏ahf@ZѢ3٨/&j? Ʌ(;횏ahf@ZѢ3٨/&Xl\/8+V4bh6R35 bIK]COf@Z b5P>@l G5֍G0}Q_L-h@l G5֍ڥGntDg J 횏aj[]rIoIEM@l G5֍G0}Q_L-h@l G5֍G0 }wmgd#7 Z Yob[Tf@ZKES{an41'v{VQEQEQEQEe4M4 :4,ObxtDh hc.;avv ((((׬V{H}@q^Z5\R1qq!EIcec'u޻j(lẲ\hwpPz5EQEQEfk4lh9,^}_6ؽ4'Ly ~`*q3+8e<+iVq;Kc28nxjC$ i-0njL6ׂ=[PEPEP\ơG:]iaH@ᅍD}1c28BW$J|v1ۏ ,fbL-<7c~Q@t-..7  I9˅jPEPX~(#5gln>>*O^zEp n#nθx4^#~_A=+-E"L'͌~. oEsco$Re[hʉe2'q+((((((((((/6>LB_\{9Q׊˰bkuwgqGqv*X}gd ,>%>p'²~/TCo=-㷑Wb”Nۀsq mz?>(&6G!!Wprp$UYFo]ItEcw'x$`qo{*npnOPleܧgU3-qwp/xn%1 n3'KHf @X W8jw |f+[ -ʬ|)늱=Gycels!}ty|-96jKRYEi16y`wq9#[$6r[+|ű4RBFXA_{Ȓ >exeg|x'> stream xZn#}'/ P Ȟ@lv ^ (jEfnI$/.~( WN*7\ d]v\^HK_uQq)(r6q+)Z]*jUt> xj?`', I»0tVZ_o׳Cy3:4d z5H:OŜ>Χf}:jYy7<фR,-Ebsws@TDkix_ (l.NO0]|^p5{yR|_~YiU{ĉ:=)JJ. k+ACL0Ht%dSzy*~^.ʳw)u>ԣvi)PlCkSdcc8⧴$)im`Ŀ-NCZYh2~lEz͊?FUxD#fy =,oӒDWQ)e4^,c匉<(MY"1Z2 ,n:zd-*AUk 1j'O$egrDd[ ^Y:FQ\䖺<]88 v6h>+H3Z dbi89VMVZ`ScN e]?G]TY0to*]&[>BQ iY0ߖU%9v;~⫞Jl'ϼ^iSPRn*C#' L,f '̣eC-R1FR>к}&(Q̃NO<4ev)Dqj(xO7[d(mnV26Mvu>/M+o.J(WE{Eh t( L^]}Vt\g2k󻻛/n#"DpLJK|)v^vuIBY;«&BkUyOu5!4uhvᐼ P?7/Hbڥy#:bw׋=+}V'QbFIX`slasд鲸" x:jho47*L+REhBap袷eۮgyvC/W!=TmsNCR$Z|ɡ? #7PIF+iT̿nUx~`t,G%pqq` S AmGKt"61oTf_j)ai+T;uy0zK @vR2A@4)B6cjۏyaW r||aEuK={a̙JزnA:T7l3xRqV⬽v M!Ks*|w_[F%2c'|Bi}'ԥ"i_*4%w0`NHX8&DjX7f6>,p&~(QbOTQmJZF#Uk*x^#O__Mzm `#^ėzҩQ=='fZU5>z_MUi^gI4Tt*ɫU x\\3VL gՒN>Kڴ(N*` M5#&Fg-Ƭ53qV>9~+Y^<0!9# m:Xs\Cg2Y.Ԍsw){\&-o+w@"4oYu yU|WeִS=@[PְXXLih_b~؈r5B&g}9[oUGHcjqvٺfP FӑF{ۼf.K|/FWazAL$ϻt|Mi41:`ҸO{*e_z;_개~^09{!{pXhg%~_endstream endobj 121 0 obj << /Filter /FlateDecode /Length 2494 >> stream xZog؊0R)lQXiDIELR {gvH}8bX|=@_dQs ; 6館 YY㘄}=#|%Bzk$o#-֛.ުZgiJW/CcH牥P ~)uAVCC`zB./"}΁JsMH_$:&dMzTfVZJLM0'H"v<rAp-QO;v(TWÑсR z6r`%yGKόW4[k)`a`CkS@}|;H)H45u-:Nba1:FDX{z(T~%Nf_b\ q*;74pA#wVl bKgҚ6WN۱m4GYLiWD?NOT-S7o[zיF6w7x Z׉&*6"NRq)B伃$yo5C]rnjVNu4h!e C[%e6yv hN. IH'm0۳ ٩L9W"F":h*-@FYlXۼ{s( :A.} t6F3n]b8TBWG$fvvht.ta Is-7mj5 ᠑B|sW_*DBDwDB!b 6=U` 1/jljv)-/U O6f N$n®@Ɛ>^(͡p fG523c.J ;aNƜ SJuR߼5R`zBR"$Rf2`Di]  7  /ϳ'PH'xlsZzC"hl{A+UQ_~ß 3m ၒyBi[vM9vuuGeJ͡킄l%EZ.( "G=_^VPU; =W=/ VFժY\SDoRD 4yX^k~T陟) k2@a2YzվpWcq"乔~CP se)F>dnu߷4GyB[ך9}9D~PHNbPpۡ7wzt*{!Wv1,\iGʣ0Bȕ؆gC/Hg =9^BC!N'?6כ<]#3:]^{qӭDO(Ϭ{hn3cJ4h?`w\rz}h ߷FMUϝ!լmCAwRsnޱOe97htKϼ?S+Hd |` !<'endstream endobj 122 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 439 >> stream xcd`ab`ddds4H3a!sO nn? ~.ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SRCLYiֽLJm?~|oauOt/^Ҽ7;%AqRYSf-:Ro2߮]MmfN7Qw5Stsle[^#[ϢFnҎކYWu/_޽gy˻u\1yV™9==}ӻ'u+y Nʾ|<< Kkendstream endobj 123 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 493 >> stream xMAHaw9mY;͗A s ,Fbԥm{6p绾>p Cp_6ic^P> stream xGCMR7$w,  ]VQmqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR7.CMR7Computer Modern123QN͋oKL0bg͋§j~'eg #e'͋JiuP~>}L讧Ǻɋ !74/XWϡ=:4MFkgo0w!¨oU CfQc3asloozb-N K֋06U;ixwlЖu4a}]qljeoYr}wCna  7 ڛ "endstream endobj 125 0 obj << /Filter /FlateDecode /Length 230 >> stream xN1 E /ۍc-(ʲR#:"'N+P%3:btZu#gѫ d{A/v&؁#9X\b)E-.0-+;8 G9wD\eXZWIh-#\YR̨SRRasx궼sY{sC?bu8L_ɱ&k:9'>HNd7|[c#endstream endobj 126 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Height 360 /Subtype /Image /Width 360 /Length 21010 >> stream AdobedC    %,'..+'+*17F;14B4*+=S>BHJNON/;V\UL[FMNKC $$K2+2KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKhh" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Z( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( *˔@#]/Z ( ( ( (V[`̎4b (((4FRE2$} > ( ( ( *E؃H@{aJ ( ( ( (lR;whj( ( ( (25S`O IzoL:Ӯ<1Vkɦk;y S$l@^A1V\yz[y**yz^A1V裞Aʊ^A1GL:պ(rL:+g~R\OFRFhAʊ^A1GL:պ(rL:n9;_KGf6i{Տs߈\\Zzېes؍⚓'i/;f@Di~9U* ՗KoڟTz.tr-[_A I1Lcw9p44ǖxEc{eOFOw}˱EoFʊfz L:<+ Ѯ7  [0@pS޲><E똥[G̓+w|cJ.c1$ڨT.`~f`8$ X=jq_Q ~`3s,Wmk̚zflّ22~C@]UϓG擓c&?h? ZE.y ^*veفnwgn*d_g(|EX˲S0I0MHx\?#W*\l]QIҖaEVeg_Q!_B8 VMj+kFt >O*Z@ dZoI#F((*gCc( (1cmH Hg ##VArʳF@#OOS, 2=[hMb1TP{/ zIyV3,@ si<(ag?*wڍa9~l!K@dĆI ci'?h/< 66;0\5 "R1|.D rM1,򬛈g5CK^rVX-:joh$UIT6Ҭ,ЬiGet`@+oW-N;[(a`c#Ft뉎N"Evp\*S+ ~۷ iR0w0'ɿWɮ5Rc= bW&|-_%.1<(XtVPJ}Y#)mthFd%(Usglq5kP3* 1cb8MrC ycw0HEo$,l>e8#,ֿWN%f^5~kkLͰ58HoqoҸnV魽OR[;C I9yp?E\5Vѻ_qiwth9/a[kasp&pB@&Td]Ԧ hG@RE 㟭uWzWvř!g)QT(c[ $+nI#ZX8߽m}n3A%QH8!s|ֽyv}> X݉bsG?B:y ^I' IǀeI(wcRzlelE뚔S!Ό\vNOֺ:gTпZ5a FiNMz%(U&̶G\FMV+ k"p؅'4OOŔ=V4II#`4fu=g>^ņ9}H5ɤǡMY%M'lFK}pD,7JaqLkߒNx⟹V+$!wMI]C:\ӬWf1CitI\ NVo zr4XTW;+{>~ʆfw.sj#Yc|AVݤ$Xc9>7 }?$u5P~wzԿEPEPsҠU!ղH 1ԕqcQO.ceFF-ПhҲ[8.QJg΀*zk8?u@u~O?^T%u  u/*>Kr<\㏡bwW&sI\{ 3p W\ɭ$Xf~7_ĩ52\y6P#xPFyFT&Sw`ұf{Tbr<ؼrj[+ 4ʎ]~E'[w1BPsU(E&q6HO ;cy,],1eIͩmQ8&QBĒXO~j䶒 o" 9ڀ+>qҩ.[ MxI#b2iQTIkOG,rO&o8+d$N3EKmI849ޮP?t7& H>jrX9Y4<,Ub&ԌUA+ +2^<+Vf2gKZTbblE q2o,V0M~V`{ԺjRlfgbŘNI54WE$$f7s(OFfCqn飑y`=?Jadw._| dEJKBԭ@5k_L0WVJf}5%9gTV9'Ngt[<j:+K".Vr;kTY(rT)/.{۩;1\'85]IR ڒ^s;Xm?i%,ڈUx^P0?Vt[wOWPkWQM>/UۯWgQEQEeV{-wʑ-ˍ­G틇>sw(5,dhulRG~5%cڭrByQ?rkbZ44KUU/q?ykKA,qNἵ'&̮IExٔ_2e*+^'Wv >?TdW6C͔RoQW/4Xehãg9\nXu]‘Af0es?Ppj+TewLa~e_,O ъ=Zgͥj1FsJrn17v~AMFĊi])$ Я^Y>џM"HˌF?ʽ +zqܙ+X('-ʈI(ߟVEce sa\=yyZTMYx;wQHd=Z45i!x61 K)STu!HcGE]KE;,s<E5ڹE^ǧwM rxq7T]cS&Qqm''m۱P}3ΥRisܒW݊ =+WĖ+6,O\$ֲa58- 8LaiGV ~8FZv3˧vE$(MA}lMy!a{eITNN#tڊe:(v.y1L{O$*IE]nȩEX-MҸ;W gJ}Fhgk8~wUgSTRRG0JМp8O]4m$7.,@K9HiF 63~ ׫LcRZy^ n:*AcͦjbMʣL̊|?5j?g>&TͿ _%8;)nAw +oyLc݂1W4eF}wH-B2;7_ؑJ gm/(#>k\ϴAZ+)-3ad[o,%bE`sqW'[`Z=7*tvO밒 o3.IoMcSC WMMNk'$c1*K=. t6y cqxjE196  mѼ[H7cm}ܗz*d ٮVR^4ZmNn6}Ŀ-KCQlh{%hGZ9>Vt4W=wIȴ}Ŀ-Vt4ݫ~ѻ9`}Ŀ-h/tG:h{%hGZ9h{%hGZ9h{%hGZ9ht ?$w"53n+)x+::+GZd"CH:)`d>(rƻtup2 AIgei#adi#gIEsi{)GfBTC)h/tG_?x+:+GZ>_?x+:+GZ>_?x+:1u7%iLi @E};RLN-QEP(sNҳ7P<23/W"%$r= 'z Ufzm?8ZƟ7nw4V,QU fEWƟ7ni3|Al=,QU =hUi3|AƟ7nf"_ ?ٰEWƟ7ni3|Al=%L\]3I,1k/rv j [N6qiNTp$eF>^qR^b`jvLD=A ?̊/qֽdȯq\UdC?\y3gC4+̪2,Rold`: 9MSRD1&zSnr%m#86o}plsw,3Fؔ#HRs ?_mwjWW 2N؇-&# f/~K1wzsHXo$a刳1 HߟvfRuX P탂F4r0G7byd[kayeaG&܌LG cЦD朓,ѳܕe!Y H[ 8<|r"]b*,U ^͏"_ ?ٰEWƟ7ni3|Al=,QU =hUi3|AƟ7nf"_ ?ٰU:f 5y=^ ߛZre4Ս(3 (1.RMY[{y2с bkW,#1!ݷ8ǷDMpf a\z0ڼAV, Xc]' 03Pm]~1qJ_??ج#C֍QP-m&e,!4m +j(Š((((((ݭW(VAQV)Ěj(C ( c;\B%8WeKHi{~%t.EdƩooрSժ˒a , \ZMYGdAݿP+2Š(((wzT?;n=_(()v`hv ܮzZ6SzUw19P8q tסF`\Zscj* kA5vk_y?WO^TpGz:3L2Os+Pt`@$Up2I (5 ( ( (+_\5H-4q:T5ыW\& * n dSԴ&-?Vcx?EOճ[b??WP}QE`lMΐbIF:1RV}݇38go_ș;+~fgd ykVai8 +tsDjh?"N_cv*Ѵ& ̚8=70k('dhJÿNsExIp>c`& ;ƟVaAYAEW1QE\0`ѷ**tk0^~]H1Ek}џ=m5RD*ps8"Y'C5Q8ɢ.hCc1uJ/EQEqoy#C}6Wb7;sӦ?x#( v%xlE\Zu`:Ѡk_y?WkQyaݐZq,Boά]Ⱦ'NY$GA ǻnQxSV)o M"}״3V\0o )kAkmgaRW::y+qbNU%Ny {|N*Fi?( |{n5('UY[i|aqv]`Y SJ1ĺ ΢(88m2,V;6H*gNi8]Icά=K$#F @`$Vnp=^i*G}.O? (;9wkYQgQU tQ3nkP6Rt$ I'\(ԍL [}F#ЮJY(9#x ~끍_ßC5brp- U4t_ QJ_T4Bі]{ HN?E6$`U?}-t?+5^)Jޟ201;ݳAQ^^iV-wIqW/BK3*"qIsQ5+AnjN+],n߇~_:P?f|[`2u H#WMzq&?z3ra^#[ifm20j )nmo,p3?Wg\| Cc1u/EQE>RX`HYZ B@8pA=j<'trt8A6oK׉nw0$>E#kt\t!?0?h5]~<3ipl\BjiC;:dH^0]F$h׏upGҼ᤾y%bp2̍ɯSCkrN1_C 5 2qßV\WSEڂ,~?k&Ut;4cl8$ߙx塺B6}d9<wC !IodhQqu}-vJʹ1#+cBGM[>fN#K$ͤH2S)98FI}wj)۱A:d]EFTQ|Y5]Mci*a4%xݷ}6ǿJPMAt;uy2m|?4eA0?kgAeB '?34[dž_ dn78-$w:\B¨ U[JZ3-B1eo􋵲֮e B e-XK`~;'>wOMyx(Tg>'5N{Qbv́.*+'"Ei$`18oj洍T{c9"G`qS%դͅ o4 nqrk^gWK J][q6Pz%m'n" [6RSY]K,P/ScéI ٕAݲM@q=FA[,-(dqu: /\FDΣےsΑFɞ2Xr+;_^WDwS[>~trn/ZE L66-b6I}5Uh)wXM#yRDq5m Զ.ɑ-X1^s ,gkSGC[6ڢ1>3 I?UprR[Da&7k/cR=~FYSs98}s{7> >Т`Fsf+Kk6XdeOQ,'5uXYvt׳$ֲ9iWo4LUBΟGݞreo$V`=%6sר%KnPԞ.Nsw/8{tK%UAx?G\Ik$R6Ay3Xʋ:;ƪS̖E0?1"^o2\Ā $IE0 (sjPJAIJT 2=hf9QPMs9y ,ơkpSʫk(eX8Ѹl>I U^=S(18<(=b5DAz+a%'S z RVZ!XFpz%Osn`݋gΏ:|cd/??W0BKA9lNs'4֜_eNHT?;n=__#/EQEwKs <2)=2A5qm/@Y q;e zʚŪ[w 1 4d(fY `;E "3 s5ƃZ!sx)5N 笥Np>WLRIt)6ɩY J]rDvLث1r| ITʢeG/yu%p#HG}oԾsB%heFt;X]H,(6(\6k0m7<(2\ }yc t3h+#웋 sax\4dd* ǘQb+ nFŞ9(~lHSsVsMmw<Z{8x&WlV84#$2A]i+qi,k)yh@_jα o?Ʋq`מkc!&0xYs$ʹ ss@y\"$ѻ#2t0qƥ0yNr1%rĖh=nMĥ t:5q3h:>™Zl=. $.>c'd<;{&Ӓgu*Ol*zE:~l&E H ߉?Z] ;m\Kl<1GXS}_mS4նa@w{?%b3FP.RX"X`A"iIo ܇i,ngB Qp}x-D1Q c5'O[Y 6y`qyr-gKo$*EGЀG½ ]6AkșXp @7VVE@:?(=H68?\¹ar_tO+F=N8DcS#!l\)9;UcIheDIM z mZ4u.32?+޾4J>+hug{YZ i #'ʡ]:33B1U)u${q5O QC{E-wzT?;n=HQEQE`}2}cf@gca 򍧎z9ϥiZ^VFŒ%ڞg 4֖5R:}tjjkMBT143hP(ȫ_l Z4PEީ}im$igdc' S}Q_L-[KY-,EJ;횏ahf@ZѢ3٨/&j? Ʌ(;횏ahf@ZѢ3٨/&]RY#$? 1`?Z "Kr yF X S횏ahf@ZѢ3٨/&j? Ʌ(;횏ahf@ZѢ3٨/&.E_ʊX/jԦM'ԩǡ BXEWP!{٨/&C$s(Ϡw5G0Eg}Q_L-l Z4Pw5G0Ed6|Q۝,BRBf@Zqܒwl1RSPw5G0Eg}Q_L-l Z4Pw5G0Eg}Q_L-Ci_]G٨/&n[F IݞեEQEQEQEQEfkma M΍",bfKץs`Ͷ/e1 C7 c|nj t*EdiU%1A>L:[9Kkc +1( r;QEQEW1i#jΗfkd%c3lr=+8acz2foX̶q9+-ҟb'}6(B%٘>lO ߽vP])'KKMRNrFZEQEV64vMtYyʀׁ^nQ@,mۈ[v& =䟗x`%aKQnȓ c˂rq5@dXV2YLog袀 ( ( ( ( ( ( ( ( ( (3l "&^lvr@Tu  *k[ķ i[<[Tr7):{ ok  kFlCp0ăیxRP-(Hr}NZA_=ٮp8UF Tu;qqTCi{Xn&EUە;BWwU7 '+vy/^__~P1ۋK T$`?S,qr+EwD28$c'zOaQyo$6sm=_ NlͤQZLMX 2g<}@|I ܖ_.qldeQG8EW$O^YD_59609m= \mtIΘE]}UQ.͎LmbI<Λ#?j_$k4Q\\[YAې͒@N$ȫwդPOd¶Igo&|'b9{V先Sۍ"=EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPendstream endobj 127 0 obj << /BitsPerComponent 8 /ColorSpace 82 0 R /Filter /FlateDecode /Height 360 /Subtype /Image /Width 360 /Length 6496 >> stream x휋]U$ bcY֖$VEQ+BP<7| "%)(# {cyYgs_Yس@LLLLLLLLLLLLLLLLLLLLLLl/hƲX>S|= gpnF. f¹pnF. f¹pnF. f¹pnF. f¹pnF. f¹pnF. f¹p^ ޭc'WτR_Ur>e3\_w|?[V\ ?u5M?%ǔ^oֹ G5`[|pS{ཧĭ?pj׾^xyO|YX^cwt}{>sYk6+@8+_ػK ~ꝃf5sg3yS/hf|G^^<|>4¹|%ۗ㍿ڼ|pۋ57m,1|¹\87#Γ+ȅs3r܌\87#ȅs3r܌\87#ȅs3r܌\87#ȅs3r܌\87#ȅs3r܌\87#ȅs3Z9ټz,?Miy-ΝnS 祓+'S8/\żؙp^2*iQyI~ࡰ $X=K y\YE]%B^FahV|Fr=e1aM8חc~֋8hc͘"$8kc$9cΣʇ S컴pU>KH|^ ;@^.ǐW"fcȹ -G{G!G,G+)9在Z8,DTn'up.-8Xsqrs}gOS* g=<.06~r,>-}Y2UrVlN*>0 <}i1X!gUÝ{93 ᜐxYLl##{}:{r|In:8uYјܸ#u"w4v΁֊i,;ۛ(~8Xxo,T tLJ ౵ByCr,כ nؙ ciQvh`#r" *Flu~\8Xڙ^r3 ( ᜒiJf *]st=nt&͌FT,9y>vd̓Ƅ)Wqhtط}j<%י P":WmdoP盛ޡ?[!_@Iu357 t76"'u:4g3 Vkؼ,"TT ]l\B'wP,bpC\eRZ(gs.j(X0s}8VhW~R-/Y2wn -&^xÝu+i{M9ʥ,^ȟm~]㌢_qiv[mO^ M ܐ, :U4@P $]6Nr*̫PUIVN.h'=qvTpN!wsaT ֗p "Lxpf o#w`Wgȩ7A ށZ󜟿jr^<8R̺J#9Z<n-8?yާg7?>WpUWOgWx+ݬ19O8%U_X{ oE ?]|}p+G(33vyQE__Xr>4RpF ?gOHsGYRuЍrqn'Kp}B.#0x _#礀z8o1¿)Go資Kg~ nja6;CIZ0_E ?Ǐ]|@=<Nay8gŋ:#[0 k|[_u -V }ڰ9{xp/Ey<(n8}5:n r\xfI% <4}!(6:^_¼svK4wpa8Bi[G*H  :&oMJR-7Pn4fZ[5,Z*˜ ˴]q@`v0f& tW{cU5R|! SVj,|BhiI)Z`{*_ LJ+6_TmÜ8XJ2?CH,sj0aƔ2;vP!ODX3?GK3&M̄`F »ɟJfʩ\F6 $`S G抎s+șȒhEdb h!<}5geBGs.Ͷ^":E~$"!Nsa13zR@@9M]/ZmM/pG 9q^;H<2Wxa'?SYoi͐%l1S9nҿ85r뽴L"!}9DSN4MɔOȐ.^‡^=; :蘕'U5sO4u'T.˹\fr.q3r's~\Uo9)*Bٕ$ֽGJ3a}LL2½O:?vq"1i8-ˋn =V;kK͒j˟UDw@]q>S=C<݌1KبϥvV92y9ʤۜ_4KAmvW"#jG y ׊fHi'n|Gn u{rc o!;7T\B kMs77k)#J!y~P׫I݇hO?^D2! $2 Z׊ʽ\t7*esWϮ]0*wfG~"XxF(vw:CSR({ڋZk5n(} J? /$8%G;ʴCy #u<?Gt&!}ŊXk:2ޞm/Pn;1O`Мyv ThԐݏ0emr/&{D#v7AUFu9LطwskRts0b"iYZUv2q$g=cV(j vo#o[S4|ro)G*++F97lA{ko %\3h(K˴ kޓNϵr L7MVqZ7G\Q9G"U֥cF߮ ' o_E~s>6;?fx8)Aݟsjtخ8d&uU5 {ϭz]Aia#n97 z`D^y=@xܺ놜k3|Ͷx,' XcTn[1x%zr{! kKt'"#U"6$r;Mcq$>;GIބ+~͸g)99fx~뒦ϦK)x>ƤL%$eAK sGn8Zrs̰)aL4ǺzviP @XFYЮk>@{ g1.7`0KB@١cRcF[y9@G^9f]{TLpg;AަrIv5 e(V{kn: FYJ]zȬh gVJ u =q0u\WH?w;"f7wtB`[?8VdgԼÂ)Lgc#i./IR(,A4}8kK=5YGmMoԀ\;+fSiM$) f8lNgpbbbbbbbؾW7wA7|M9 W"ޭoNy;jcG?44:¦}E{jO<ߪ†e? wna?)8u)_p^}}^4wȉH|ۖopB='?o>_gmqey|շ"5rB2༸?h79_:{['v^9wn ۰zvW/8x%O/9q!)lw71퓃?_SpFoz ~=l8=·CN\H~?ڍM~ioz pFV WW 8;q!)8m|0;fl[_ܱE.^8}.+*9p֖gXs>}vy {e_rRUҏk,^ wnZHZn. 8;Cοs,MLLLLLLLLLLLLLLLlZvnjendstream endobj 128 0 obj << /Filter /FlateDecode /Length 1973 >> stream xZm_S_@W -W0H[>dڴ{ۦ$v9;iUi&yy{~qSٶl;uFYZVȀk2%5fz?{<s,E|A D)]B)CJttmi-UN#`F&ȴq]!ܢS =M'Z!W _7׳gl2Zfz;hl2ɈĆf\X(clå3wrГNO9YLC-nb=oPђĊXQBs'x!(6g Jfkñn Fm"͝]nv}t#݈[[Ą$QcQNA{ }g:G=_pX p9I4DPN$ZC RRXn,hbx2E}w(7֛r%"bJ`Ҡo,j)U[ʼn05]wOt8NU,)N_{zLd"_~1[)m9w"3# Ix.++|U?Er蒁 ԰12  Ѣbp õ~Yy? C|5C}N5'H+w%;Ǔ >틺\M华ȒrK6 iU~Y1IH7&@-R)vԤQ3yj1<N/CG6UHS7c%\LHʒ~ljVؕLD|"cJAhU?&pUj{`PuBXzU`4 TTFL:vcx\ ! :'Xi{ʈxN!wOh!u{pqmtϾEK Y[\5zF|״j@AGūPBu42>P#oG n4~.[p!.~֭XԩD< `X= ;Un iHz`lЉP*AT0O jԜ pO ocRqx`,D$]A?wi=8!ĕq +*]C={y+fGrshGƴt? 4OƁ̙q~96T =) }L "endstream endobj 129 0 obj << /Type /XRef /Length 140 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 130 /ID [] >> stream xcb&F~0 $8JdZl_ "yHW ; DHv)"eHiGU`R%X/X=cdYf^,M@$AD2E3AkAl`rG endstream endobj startxref 354771 %%EOF lme4/inst/doc/PLSvGLS.pdf0000644000176200001440000021305213141431220014514 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3453 /Filter /FlateDecode /N 70 /First 571 >> stream x[[s6~_IA@t2cqv\bg'E˜ʒ#i_H eI0 p,aiR&4N2ReKXƬQ1HhUʄdR% ŤV @q4SҢaʠLe3@x;ڄ0IB#%4a2eF(LQ 82dxcuRMSL0Kp`)E:,qXL2^$8,^YA4Fs2xcݩd9 KD'|bўdN4j"ĥ謁FahЀȄ%dP KڭAM,YjNBhYcd SB5@V80!U *>0)", + X"3~ d#3~4s0/~tĞ>CAYL';2g?[&&ibD*3$OI/U ]!;N9Z/ >M9F8g/nr~=+K~ : biӇI 篋@+ ;YCI. [XX@3ib=<$ RгFq>>̮}\S7GLkVrz` _=qr=od^,+vټ|v;Ajw@5`.h~*Q%LD#3uOC U&ۂk}7T 'yw]ٚ_l"bt[Bpg~|s~Gc~'|>s^! 5LRly<͉~5Fh:?и[sg]&K`q5Ab>c!y04Ƒ҄0аL*BmJJ˜u4a4ŴM-di4MӆE֛tnQzj6EzUTuMOoDשׂZCBq![|?;9/?o !3~BZlpg|S3ɯ.w0Cn;(P-|O VR8)&9D&xOzOtaylcZë^_ $# ,yY |64H; @+y @@,} #ޝD!W3X_hhzC.k\< m7.,/68x:&MMc8c"SXLf&s } Kbdg&͍ofU{g+S_kioTT!A#,[5+V+NMixD/Ò4mjVW PѤA(fb{>:>ToS=j J~L#?U_Tpwcm Nk޶>þLn:|~z?=TeyfyAO[뱶~UPnwG="[kjGSYJs>܁ W8|d$!"#fzA3ļT ^jѺLOǬE5cf7']6{7AyGc-}j!T&P&-6 >5A"'d>Ԫfú4ei6i)I>֔!H_WJ)܂;vQF_c7_r}_xgAǞ@.um]]x]\y4[ͅ6V6>8:{ ^FbbL:dҖ:8Ն54 Ua3čzt*9Cg.Sp Fg'!yz>8A$Հ:!M}-mvN_'\jYٴ_*j5I:ұ:Mrn#ھ^xeܝD"| (%H1DHmHT:?:l!utKn"udq6*ݧaյ,SfaFwg$kۖW~ʞҞ[ak"(S'wνOwůzQIm\c`BqZ;!r{g"lzN<@\٤kU 0~}4m_/f=9WF6V|6R|j08Cښ]1yqY܏?I>Tkw&|6Y9B3V}zspowՋ# x&v^+#[{cCю_x ',z1;i=qm{;zuĵbX%mewTYjHnfr)'C䇸Ě!t^\&];y= zz/?k]V܅6t9bDX8 gEc` XB48{Ϊ{&K<ӵo8{^wǠt!U%ueGZbU$W[7YxUnGݺޱҦMŅ 6ۮQ8Nuyo_0_mW(]qa8o[ KU*G0Y>W)d0 o4lݳistQt+6UwYuU=m]i{~m>:#sс{}r79tWjPVgp"}A8\b?.Ԣd{hendstream endobj 72 0 obj << /Subtype /XML /Type /Metadata /Length 1337 >> stream 2017-04-06T14:28:15-04:00 2017-04-06T14:28:15-04:00 David M. Jones CMR17 endstream endobj 73 0 obj << /Filter /FlateDecode /Length 4345 >> stream x[n}@^ynO߻\ 8 J(Ԓ)Yr~>zfgwR Á x4ۗ:]=z;Og}VWgՙW^8ǀ} g2Ѭ1]0؇8:yoT__n0 =nl._64 d^RJ(}s%el1n}_X4t/y>+R~צΛKXsz{ߒOeДdӴo}Z_)etzZl aiɤm3Qةjg{Zߕ>/{Wj.U6U - ,{$Ozvp`Lm^_9c[eNH}"!bϫMTu |?^"TR/g"ޱ}+e %ugw"ۻ P&y5u!r]"P H$ԋ)Y5gy1R9f|0]4Ar VCT.'Tbcu ? ;IIrzcA˰$6 eBN~ v`ldRN|LPz'ܜ{ w iKžO'ckіWbm UG, fcc0¸eDŻi^bZq")s:^5x)5x(%%DեHIDZ[R]cwRL]9pu"H^)C.D\,|F,t)kmv]H&}~ ;e~Зw,YwS"43GB=Ҫe]3̒w7 "(,G;N k1ĺ)ߩ@{?=3@7_/3[sSba fNsNgC%f) ĥe{^DD8x/N8 cK7[".[)uVşl_4lF.Rl+6()Bky"\Vm)1"Υ ^oeG¬ݜh𸻑SGk+k3<S5WD浼ǡ}./6iakGD}9w=iGZBtD|<榒P@],dUJuT vͭH;R(>Aa7ZlFj$NWCS"2hI8*1/F=̇M~&g'n7^Ť:ڐ9[ͯ8Qos1+aҙHEDodwWӎot=^5or>|Nf S¦N(*crM *ϟjLtM"Lu\qZ71 uQ )g sY/r ȅ2TX<[o)p ^_P2&CdP|WmCcv#_Nmєڍ  nP*UiuۧS<ǝ%q&;hm=P6Um{v`Cb㛧c;hɜ 4qFqG=E>25ąs[r*ʺV\ kt1QYȎV9́<жP*v'$T>penr`-bF;QM'K8zXЫ9rXAaF T~{uV rCwLflMW߫^ 28@6lx)/ UrF*hicD:x| ?5nOW$^f#խi82p%Fh83^qXnw7!BD#LT09a]aVt4d!;j r_ި&c`@:,D xa:0+…E{<)Ɲi0S9Z{Eeb>&IVɶ:8uВwwX!A0z[uoP5K:LU4~`6F]V98J&=l6W5NE I:PYM(J/b T[mJ S~QAKWvnB7)  녓*_JDp j+QkUgM4y})?WqL-j7JM<_8w2:{$V0q:~{GB<7.aʛifn`|qA[kxCN o #JOOŶjŇvbXiӪʍ7w9ot=W&Y$uAG{_<0Qs1<) .tWx̡ͬ0RKNIhϷ4j8cI-ӌYgWcB F~)~Tx*<Mɹb2Ԇh{am縦.to4t1wo_Iob}:"q  . qKl|MhMˆe61;CldZt7ǗO|kŃ:gYAn:4j0|ƙZ3Te}Q Sa|+Ä)0,Z(bMk-ϱsBͶrrͅC*]FpX~)XRm\RPi? u4ԗC#"fYUQ~hVfL)t5 2#xHW#}n\>V%~jEl/lp]uE&H%~4p LOu WOâ'٠G-7̢,ä']-C/lg`ϱj9΀GB=Cy\=v:G4GqciF #?_51| 2IGo;rP.9ԑնyjNA Թ #|ZjX8 誙DNN-{yJb7OPZ? TZ"Htvfd`"5r!B;uM3h{*G.;?6dzO5vIJ":IP̗6J 3KZdO:'66|eb䊩 [ȑ?|J8=RpQ|)Ƀ0ͻֲļ8lM'L]:k3 tІYwlJE!}<˪~ -f~>؎/w(rݣ=4sMi#cZjvGͦE&SLptQ ?b~~w/endstream endobj 74 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2231 >> stream xV{PSWWAu[\&j]QHPBț!B"(㋭eݵv]]uuuc\zؙkg;Ι9s=~G~$eQs'Qd(A_1UU 3BD)iE˔*mjR\#!)p$o-,QRq)8\/ɒ JiLX,hTBC333Ci!f%L%Q4Yj,ALH)dBeJ*]#KD*d)AOQԩi􌸬 ]XG' D4Dl&[mr"XA!"UD$`K%eQ%rE/~AeSU$FteA|xx|E ^?]` 1Hs8s )W%ĸKWsj af)z[e6~ >F9}m@/CY4>&12B$"=A8c mt/;p|s}O{8Y޾VB2$֪)wfɀK$z}@T]v$׵t[QgIhܼ'S~[J )|% vh(O)LYPR!sC%8$OcCUl6Ɲ f`g7mbۂ,&Jʒ剺4`~1їq'l8}=Rӧ}"BoɑUU˪8H/V5պZq%{PlD$[BmFRXDž_`_`'[C"t_:јϕ {:cL{"s^d?s|w:$2qiC%_`33x*5++L&KWY]\iu{O}}ybE*]3_WNcLƏ}yBqN`ă%(RKdÝt`?w^]nU;RpB'wS$>-=1K,,ݦXq=LRG-E} B5K#c PC+<%FB_'[v\43:˘ĵ fr5bPG`%60CF? Z.]$`GEܵPikd՗eO:s: ȵ[AƼ {3lFkTx8mjfEޚub{wj߹fD~ &>Cl(q$(7jiF BmaAis]T#Q1jzߑ4C0{,3͆(:>}3EL1l$B{BFc9zXPhU$ERi0)S1]&-C FCs:? *gV/07+gD~/JPl4I!bU}'S[8WjcPp+5ECfJy0Rw9f[9!RKg,ÉMҨwwԷbS xЩFtCt"!΢ybǡkbܯ@x0SB6څ其pB8jfQi ,|G;z#%S݄ 6tKw<Euk CEXl&Vgr\{,SK"rATGPC<*؜/̲ǛF= M3=M> stream xyXTGѨǀsPG V,Xiz6ԙY 4J,hLlĨѫިQcMr>IgF7/~owFDuFD"!݄Ā3_v&Z,2LOARbHwG(O;ۉ3fLk0a ;===Bwx{~kO+l}Ug06@+\Ʀ*c!=ػuJFJU`QR[7:9TYE5ʒAr IrmAyk=|Hf0C"D]D*c +=9{'I' `!/&ޚKCTx}#+ϝ+\AYXu:D\Ѣnć:R-}-Cw>r!,%ww{OW. {]/ŸHESrdž)c1? ͺ+rȀVߵO;eo%VT{ hX0- {ԏûVJ)?gj8UUA6mpCAXwvaՐ%KQ*d)쭧; ^6& Mn S&xff!^she_u*CDԌV|#KH[.&m^&/ј7jv;ߵ/5OgAm4Mt{-㣚N#6|C/ 尰;J-f'H,SV TPc ~( ! `m zT&73>m$h$m,3zI jj%U{iϾoIbg͏U2KJۓ[K;I=2qG,<~f3qZ$D1$b Ub>An7~ooj.T@/N9#BzERC9781)$0RYshz}ȅ/}\tE20 R ba,ӗh" b`L" Q.Q}j ˦ `@w1o9 i~h8~iJ-V̫v:2cQRr6Ea Ddz$j  ætdncyG) R wDLr12ȴ>=7{;{F=32 2JDM?⦬=Y<)8(ZSySsMB=%~`ޭXD-(+hQu30?{x|46gmG5\:C?^ 'K%X;]ܶ7Ehna#e# hJ` M;4Gr6Da4B!:1!%iL9?3S ԵoBzq*Ef *;Y{6k"*h7(ҜݾeaHJhT:F&>Su ˘^v6D\šGܚ̜rC) k7{U,AUPZj8L/xG2_>o#Ž8d~&i F y(TZDDt?8{ 1mZM!  v[}H^nR70mTuK)MβbTRLqMU=hMFPjj3Z캺YEZRV`"C}f}EdQTtLst˱Up$8 Cʢ+5ņK =7G:,u-KyR/2$f~t*ƫzɾ_!]αlFIBd!N&r$O/cH5/JQʯ=I%M1%(:5喫A(xL+Լ&wl/ 2)K>&1^ъnba$W` 9|I'Y%/4HDH,TmI)Zf&IĒMqKކ'ɢ4*WDջH;<jlmh4 t]gIa!;K7|Za~kksP5Oa4){c}fV+(s"XL#O'JNfҿN$P YǦ+sǩ2Up6&#p udS,廜i35<Ή(ի@ %}DwjC.;53% 4P`wG߲Eؑ$;< w4ODNh1&-a?ߡ<@'?Sp*.CGV脉Q6 (9, F=$>ܒ[H)Ҕ eBKWV46-{̑wV Lz,FRD ϟ~7JC4,4ۈ'46 lar=u_T:+ʁc$ș= |sIM@a9W!KKA_ҫckv("oG箮OcdjM3F}PNިLdEj#LH(,?Q:(./f~yZʪy6_CۣH,j1>Uhyp{&ٞ]W~ x.cu蔹 3c/×3lqRrSm p?Ɋ @cBu~oljVs040!/A)2%BHIeN!yer{^%̸B C.3/Ay)HdiF@.*< (,<п"N]0]]K!V;؏LZ^NX99Zq];#F^vCv\=}Sesݧ#h3 .s; l*so?O:[r$0[0}CnܪiהFz퓶|Rv054xypx;OQmx^FI/B4s&LC#@B *xe N|rKA~^0P+U@=Hh6?h;f ?3W9h$a*Zo$p+, "5)xEoRc_echJrɖ`tcÂ󮄜 L puv7,QG"Q§pLpKLfJjBË#-a|KKlh%"F-,[\HFؘrSULOj3bkwPm=I^H$K_KKb1D?G/=":'~ȣ$'&*=}~ g—hţlh ]UޚHM@rNsE`:~K WpAd|\xߣ*PG*D D,CV)!e>,inf&µ!A_;GϿmLp=]=Jt%{CRL7jfH6}@SzgI~~&Fvb._ )*@(djRsYvi("FV#Fz%GڽLEV iD~M&y8fmdnr20IdȤfs5-G*ڍb-7+ݍ1oX5+؝l^E"[I-_Y5Q [eY? [dp( Z4W+FV¯lzrz*A,\(1mw: mFjj4Z=ZoJۻ-(,F};5\7l+,+1>>Ak@\,Df#v .Ӊ*1nS%\amdmippBR"и7(4Lo&39Cw 7aa cFW$gA8PĵӀ*s>$pG_2}j?jㄝ;kvrqʫnnϝ_ 㻿pjsCa<sr˥k;-ZǢ޳ͼgMuy}q26µڸrh} #X(NEw\3"5q|,Y^l諪#qJcCW뭄8SrV}dg*l5hmAz曏NUps6q`˻KdfIgogtֽZQǽ+nQ$Jeᓊos~S+.N*)(-VRO8i(p^/v .&Fi*LbT5:}[HQ=RpSAJd9b0i9(ʢG3on3EIO)Y̢׾?Q(@ h|(BLe qKgxo14\jnD-5h 7X'PGEBt @"$@Y g}=Q5BD*~.,bS@T$YH^J!ip54\׭PRedϨ 6ui -|\:=7#{+=I2;YipI":/$%-N1mES IGmy׳4emR[endstream endobj 76 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1060 >> stream x=Q}LSw}Ҿ'US{9&86dQ&6Е B)*"} / VLʰ ``B\2g#9MƲl lUs=ɽCSaML”ץZz5L(g`2P{2 -<Ѵla-/3ڄx]3Qر}{dff48.YtChUJNIZSuZ;!QیaCZk {-f5ڒ^Lf -zLQZmӖ(5*ʧ *ʢؐ3*"}/h؏$*V_&O "՜lmbLn0_n+7T;."WѫCĎ` `ȒTA:J2v٨H=EUz Y^̻AϓŌOl1 wb&^3Tɵ9N-xw pl*9*ŌDkPV/b4_;+\[3wrbtkpq\UK$y*='xq̹xU?u.4^2lz0qkiSVOD>Ux$ 8]v9O=2*0" [6iH?#<7;Ņ̾jK.p0übm.QIsQSmQ#j7Fb**յRĢ8M+endstream endobj 77 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3995 >> stream xW TSg>1sTJzFjVkmkhU"Ցg 럘!;#}:bu.}~u~R`DX0yD&'_}#JO#'siii+¤)+eѯ-]vPS"J"}7%&}I%NV8'Jrw[bD@QS~ IɲfEjZXzxFDf$*:ஸx%˟]1ӓR"j vQAR*M6P{)w>j#zLmޤP[mv%,ʓz77ZL (#oOL\UniO+lzӿ3ۙ<~qaxVOc<61{{s^mN*ss"hbO[J}IdNzg20t0o7xNٚ eF$@p?kԚ4B(.G84W2P;lX?w '7 vν_aB.#4 a>E]!S34۝.ۛ0 F[RyNVӳA60 nemyli@O ~G6nrsq(E/dze`3h:u;$d KI  6h>yr NqEShS( DC"Dq $a/0Q ijvs?pq]2\s[G*S%*5hDyIuv 0yVfI *`j"FZ(Qk'ս3#%`;Zn|e6˨\:xK4!bᗓ1SvMM CG*}. y;"᲻M,BLfQ :4:̧_xƵ~s_Xi#OGlifpKnE=+hJwUWcf2N;=1=m*.j bt~T$:T&u0Rѿpj֫_ >#sB3;)kTa\KH~†z]EEvzc^ B4^xzjO 9ezXDK-<;Sh=P{|i> )1!rZ)\P u";-5Fyj*"J#eqs1aVA* ]f ]|J|iԮ0ȧja>0eje"M$} ^©.?lv88],si*.=j#J(pNTٚiGq֦Zuի[hOvJϢklaDs)`,;duvH={kn-RsfSK"Fqs`y;0#Gg6J_?( !wdD GPv`cdԐL 6\[*f5{[F*#f }~c +`4 Yg};֧O:ZiJ)Tg.?H26ѿ[=6G}KIǑ1 Ek?{!KHA$ץ4k0g?>4y)i^͜(`\ =o{뷡m|n{QFLed5^n_߃p\5!GYBbF7(]&3RC0C}`J| ~b[hgY?nO't69ޱp)f𻧑#@A7Fՙ}d6Mӝ>1}:`x?~<ДZrGdN8P[޴uC)ƹ,jX r79b9ey\&O/Y ^hHOt3肳4ꛥVr s,b<}DA5h3T c5iͭƞ//a/_WN h煛 ZӮ WC.Uduv5^mV4X"O2ey93B!4Ԛ{tܾ|zOVA]TGP6_ 9LfeNMY}ICmN{dZ&l>$7DbbT 5m[g<>c:MAΰ-$鮰CG)}SQTh4(J_Έ+"O4.Qx9FhY51!!%%!1gW]YI]]ʼn8S ut"zYݘʠQ/6.܎YN-`L}C4FYs.\f0M?(_gou8S=!5wH;<اޤ~m_!w,Nrabgq,q/ؕ,@(*OE V3.p[kn=q1 endstream endobj 78 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1209 >> stream xS}leo^V@)#]hau*00V([vW, ¶kņ"u(ƈ1D̻d^&orw=RȐ(2Wf'_jOPڼ I -m3 fC<ՙ88v!$OM:Eu%֕99/αnsԚgW]AuP+|>r^.Ʌ,Ju퐽}\TnkJ&/KI7g%+*#p3[~#I3Od0)hY)xJR[75w F䆧X=qEv%*~]Qu%u2w/ήof 6sGpaL+i!9p&`A.r&^8+ż;l1R*q}** յIkp*>tCn^ҾRYdd4 xDpᱴ2yhpf̱bJ[lqj@FL^=Od¯,_ܹ0x!|h3OB2rD.fV`2Z bIy(MRgn`yGrjqjkiyL椓79Vc ~HƓ[G 5ʇѽ{$9Ar(Ҋ=Ȟ`:x[]+1I5 M 0%T_2OIͪyBMendstream endobj 79 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4160 >> stream xW TTW}eA' *E+PAtPL4((CP2,L1T < " S#ф!qH1fi݉N9/3t'׃Pgs9콯1H$ 3f~uJėHlyiVR2; 6H m#3$,Zq  s>nƜ9Sf:;ϱ[ڮ PF(v^aUQqvNFE;}zll4eH䴰7&MUEڭs [ <޴na!#<#BT!JaZ8*:F{Ex?U;רq1s˸VNY2*Ɠf5qb1o-f#*Y0wƙY,a2e 7f2+ 3yXFń0pVbJʘ1a9Rɩ!# &2aedni)mg0.7tkm9׊Zgdak'7/i#JGJGf,y漘mgF A)Jp+J=EyW Z"#|𓓫 Vw :jn5*#HbOFAҌVXVRx;A\]Ɠ tm#y";'U]hUV^N6w5.ӣQrŜi_j _ |7K-I'ӈA|qtGѢ2#'!5R423`u>- ߖ_?qE'&0eYK+jAW'M$`GJ>»ZY}tg+?~(L]~% ~k.OvWb'C6,W(jNӔӹ=4Jp_Ɨm}oעǝCp)'?Ň8WU}6 MeYFgC![?;kqdpL[Wr=kyI;[Ǣ'znEn-nݓ'#'E? 8 )x| .>ܕR0I36gP7ӅblUAk]=0M 24 de3*vB&yqnΔ7d2Ѵp +* ڜxb ;JNXv7uPQ-:38mOb}[Ty늖*/AҼE:!'=ʭq>Ff3q *󷌲HJX +u;a#bS< z1O˻-AFWEt,K邲F|ZE)3 9se z\4SԋQ"|~ނ|ah`@؆Lr2[eQE4(VC@yeւm )m@|u{LWF}[z_|`(*.ϑogL2k:#{S%@> +rj9"9˿p+d}[ŁMEC‚zU ,J/e30UV|Ģ3YCtbrZ=l:45ky;?r dR!]ϣ}p E)gg}v pvMlMvA)=fx(153]-`J9Il&/`ir0Z]`ѣ!391436fk"ȂdH4@gԇGƨ6w*߿΍jl l-b KR uV)wZ28b8XO=LVʳ SJO!l:⾈JK^z:N囒@hIM#WbAW 2߼CuM'J땑~6-V-jAU&s,>ڋ,\ &&0[mg;2kh{DܛE_GdWܐDY!Ԛ6yٞZh86EՈo tyZ$w0i)gp擫]EƊ,Hbv_V;Tu~ho, .PwB(jwDfxD\ssƈn9̂96JI9ťZ.pqro.ć~5;0p5cζ]8- j7- 1ﷲߺ.v!ƈ j1lCѣ&m5\w|Md'Jq5xu -eG`rMx a }|Thk2=7iVgn 堾ѭA]j V"t͝VBGn)hĮh'w6UG YHe !NŚ'أsxW ީ&q]m&Bn hdM~EMM"L=DusY'QK451IaSļNfy: }g,99EBqqai}{[$ܨOӣH)j)-(% QRNdBv[=1Lfi@k!u~3N_GJ 4-\K" jKӳ2e\TǙ pVayL~:eR- }HC :nBJNbnVnJ70[a`CO@~4}Qy{nWik Ÿ+p %3q Q`1FYf S[Q,6dY[0"(sm[]~A{=_,._S#Ƈ˷2g'BL~O`2\ ]˯p.̕R\tIJBbHHlHv!Y-Y̥5$,XNtù݊*!;Z'+Z2J΢-z RQAԻdǨ=R 2tY>./F痻->h>yƄV`}^ztwW!'!$65.6^=ПGP@CwV-Tڰ h}=abȍĵ6*CC9~Tdzps)w<9s7ٳPԖBGeKp +Wk5Xm&#ԐvR~~bE8h,.kFi !Y W+0m=,awxZ-bB)y;=k4qZIj^wwÝgPpq_yAi/ЁLTު69Tp^wp‚&e$:ۥg; GZ#Z7%RgtE?J ŵ|آhq+6 Ihl1m;=Gڳ*2Lp"w3\i}.Nmą$%-ŋ@&}ڀ 5nx_M}n{ʧ|AA!tE$ƠJ'(+bOCeaڬ09v!ͤ0+K ۄ (1:X`R Gףz ֘XSڬM@oĂ8Kmߟ,r`~(?}.=@HɌw=e)ԍ%g!n.*-%kЖB++Z ˱fR3endstream endobj 80 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1573 >> stream x{lSsBJ[Yjד(%MC)e6 /iK8gď?񻉝  RI+ mPJv)3is8G9$!"H\۝o_6*ᇒ[۳歆 Hg6EgPHBhruU{bgc]/ܨدWuJEiժJxQ1vVbϴV镆ݾC05{nWuVڢ6UWUW+di2M6ڬh1fI*-:^IDkVDCak!6O $Gl )DTm!H2鏥ҿT7WO Z OIh(h2Z.t]OD\qp%x Ա3;D(F® mmTwsgOgf̏D!|#+l[Ѵ:Dr b AxDP]֋˷ '7.(苄OEX1^1XKP'$ FYF}ٞ;Jڿ-~ VFEU.nf4YX"zOX</rNe3㗡pK oEyr~YSţ<$ۡHvEXg#㼞+Bҭ80ͷC}cavIᚁ\(q=p,e`'Jq('ZX2%wZ=rG9Ig%}rhJrF`ϣ,ڽ@/F9ӵhC5$=$X:kLr0r;Ƹ &>C?=iKb[,2]TZa> stream x-mLƯx@9.\nv"pRto,c4=h7+=1Z2JƘ"܋b$J6D0 S&Ɨ&Dos&3y<_~!T*ilk4UL*xN\YaײM:yg+ƶ ز!rU*Ȼ|n{MdXLEumf^rpnd̢sŵ[c첉fvc0;nocZBe ē8Kn2Z%N&ۀSx$R }:u7߀ڰwY;[7X­CWJv~迚)^xnK;;>tC)'K #J E/Mt 8?ϗ0ϧP-}8=y+:gh N ~r&QX,Ţ_3)L7@ bxNz&F/boEpV(A=I+^ĕ  I0g^mZZܩMW<h,GaˬW6*G)H$AR=*ܩYLHbiԢ|]r}vqvt&nͬN} 3)*g#992+:wv*ZNjM~K˟-M_^Z&޽Ӱ<^p&޾ <!LpbFPw/N~;qp2wv$TvQʜ\#u|yxp.̓.X> stream xVypb,6TANaWp$ Wq IB!Ŕpcl-YmIdYnƗ @l:ʄ0i6t(Mz2}2ɼy|o;=ĺ/\y^}ܾ{!' r Y#]*k5ʹgV',Px\rժ'OXJRD^yD*.*QVHjJZMvRԉPT֮^\,+Q,>XSo($rL^&U7H/:YMJ)deT|DYfXQ[Ie;syUy;yOy+yO=+|=AM%ۧP6@CMZ:CrzP1PXCDn:gҪ@:_oA;:rR#;X۹ f8ItKn'웧 zT0gKch HCnu~t"w!&wL[7q[XR(Ggu/8>"YY]iq-U6UeB2q *A_jah !P@_JnJkA1 Կs<9X|օ՟LBKͤ N\F` F= y;\_0EBOa00IAi@A ll1 '렖Ș %]B4NP tSB}z D ñZ`*`߃E7Qn;.7*ANSvlz-𒿁˫TW7HLwHkTNUr k*kZNbMt軪*JwrqX.% kNIW)B &CZG)_OHxdot7 YQvN/zڧj6i$'i ]|vil|Qo*nGyˏ?֤&]seUɫQ8;^fv*!Ϟ}_hl*ʩQމa; vt\"Vv:DBP;pT}.,Wo1~/D&ߞj.s lF۴1h 7هvd'!'(Vͯ"6l5WoMɳhH' T"qo` 1Caz8At߯ץƘ'y~+ w"栉!G Cbj^Vo?4vPܧʧ M]?\BGrZK=5dzO2̌"m4CH0W*Xcxp;J!yvY 9!tOlF$l!ݑʸrK fMh#UT5vRn>B/#P,85<"@ ġհ2DOB$75:nfM@,[s˄7 PќAG3ЕU+SQ%K ML8N&!ՂH^Zͅ_w^4$CK=_>y9[6i({E\̽pWi{G-~TpftS&'Sendstream endobj 83 0 obj << /Filter /FlateDecode /Length 222 >> stream x]1n0 EwB70E7q Z%C4DgKMQtx@ǒ۽9~b\R|o.6(o~=*Y6дSR[CqNt!R Bf4yC%k) :,ѯ@XW; eFv"k?4 y+d6 a9ȲsWQYBzY<=b,c_m^endstream endobj 84 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1243 >> stream xUmLSWm!+۲/mݖ!bEdc|[TtA ^7µHZn6fј*a T&S?l~0˒-zpUsNχw+a8moX#{v}]Ky2SJ Fϼ B+>Ɍ۬ՙʶvtEKtMu{+2Y#5W(4:R+C%׶()IhԽz5M BoPRJ+ҽwQ۴tBMI-V̷ZHuC^cP*SMO)8T(4F j *ð]yGEuc_cI܃܋p?#`c} w_gwa~a|ëm2} q΢ #u3+]^O$A&L&؅k0ud&>,,1ޡ KYkk vP}U!|ߺ܀{Z4 tb  v ;nıj~.HIn`cBG?7ii`2*2ÀtZ,̧#+ci>+H-qD6sǬ؄+}"kq1lN jy#1 %Z 4\;ED0 LZBv7RdiX?͇G-fl\JS mU_S#wn_3%zT:rr+dS)VN=n:zt'i7n3N {Lvݮk{~Of[J'HswǿO>6opL`wB~ v'ҀaL[2wVm4'p ʯ[2u8}G=b׻m;AcOߍx# $yw`?W!wԙae9h`p^泓` @:~%^thZIg_ln%9hOQb(*Y -䜣e9XaO3!d(u&ab9ⶐ8Vˠ3攰YhEֈ=pB̞FyH]G2wFREKc9>;?58\ \v*U*uX+eG"UI)$Of@O> stream xcd`ab`dddu 1T~H3a!.k7s7Bߣ``fd-lp/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS@.%E )Ey LF B cyls?Eu%%tsd/>}tǟi:rYl[vG[:(`阾Ad]xW}O=k3O9vwnEmj`լ#V\9dO7Nj6N~-V]$Cmwwfnnl|e ~8?u߉p]b1ù|< gendstream endobj 86 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 666 >> stream xKq5O]P"dUZf.7qu;sKy~s#ul ʌ Ȃv'ڛϻd% r-A\laHxR(@BB>~amTK[SūkSMc-~A)MZpddI~6Q^}ȲzQGmu4swX#lc ⭤‹fk?K18A(Abypt[ldL3b@[5<,B*§V"{--mnw^'%s?p zgRވ6 i:MrS_)` ־mn,j߇ś0Ps . G5ř1 z]W҉*gN'ԑxy,*EԶ$,& UlP8q.9gg/ J! m뾿Y[B>t]!N̛' $0Ga[Wq.tvyîxg\{|\Ôk-+,UҰ @0PoҟH!}JO/aҞ KwS;rY㌢,U( /:?endstream endobj 87 0 obj << /Filter /FlateDecode /Length 4666 >> stream x\KoNrȁ)@,rM~?b$HX>P%&)e)>UR rӏꪯz~zuOFiq^4Jȧ:>̛AoviD: :1<N\?ڱѰ^qU>j0^֝VrQ97vNL1ZaSfvRNaDFE_FIj ^O5\r5:|z8&oN*bi錃ZYa W>)Y*I;׼NWJOf:-lc1Cm-ƣ!ltX|Ov.Q-X5)} m73[r_}Ya$Jk:-j,oY_pR,*ܿVg Fvy3UګfS;XT3e'ܨyI6N^UЩhT{o;1 ?NI꬞> ׆@a c ḥ{MiVtq@^ٹ8ZH8] ТG)Pif׮W; $ov!QJzYWiՓ'x"✑Tż?S+NWxTm>@[@Y6s6=QPv& $fP{'@,  ed=1 ȲF'?1]9_ N.! bҝT9vRJ(L&, >&ps~0-jg 2MKD-Mt 8QZj,̂CE8 f̿45)G8y.t;" ru3r3`^|+D=l(p#+ n) \9] \t˰%81xDAbpZhlr֎ew_s.bvI0S93˼jR$Qq BagTSuPyxSC@J Q^#̦|i n1"0퇣P:UXMfJd_bސs[|!y^ҵH;RqP+O7y p}Ac<*1F 0Ӈ)R+, Viїԩ^=|SF`&{=)vK/ԙN(wVOIbI֓'ł=rg|?Χ-C,gnlDSopm~=cKch8bA+t@&c<05fMtuMz!$J+.bEw":iEf!O:*Ɇ\f;Pv(;M9p@_ɔVaPR{i~г1y:DWl<O3NZ=1 'Gǿ9*sHj{(s3cLF#"Ԥ .RJ W(*J/}疠T0EJL)?*65jI~>c@~>Xa1h#7IAx?FO CiN>6" gm]r4qy. `Nӛ-Wjڳ4GKa-hYicM,gFq4p)йf#eT ay 1X:P!͌oJQ^jFM;&(c(ZFR{lnv2=^)YA1Ց8{,ղH>Us*sQ)^!5~D~|Q"` vj.^NnɑBir GeLI`_ƟᐴXV/p&V:4L҉ȺaYcmjha ɹ !l*3 S/ȻmS } >/^"^,=&]}?u"No79;Ƀ]f.+Ga/z;G̏^Ek4 qKMU".@,lJEg[c~E 1_dGFi E"4V@KE1ElC v%`t7C_niO~4n3̥^k|DJo/dY~Mj%? ί'&ƇVQG/^fK,KN0S3W-)9i+iQ=)V'q1A3R?'?$IƇ>h$Pzxٶ._hP"xzM*d 5I6a"``,95CzOI4P<>GoG[2eCmVvπ&'*km4aCOXM-HR Vw׃ىpM-Ge-Pkzj!Hՙӈ{ך׵ ^AüJ̘RQN޲Zhd!= ֑JTrY&Jy9*pnVR>5.OxiH6[<A&[$RP-Cӭ+.vp&tw/=޿'2h1 {6ɋƇ~eEPSyWԼ0MҏqAl$st&0m?gA^{VĦ|T7>he O+a~_ƈ·4XGD6Kdc7&(Rq&财oμ3,uB''Y$n϶b۳> /mwVm?Nf2lMD,yܬ檅C/ C\CGz9`$vG48\`ReT9Sc w| مc ԄH4urln1F7>\%\ovHɚe pv[ ->H!A(~Rfx򰴌Yi,(S0~)/0<o傳ZLB*kʌt#ۃ*yX׫\Z"}66Bq@x;Ѣ)8^ DvSnY^@ ]CԪ1M^qy~Q`i&v["H5YK5%apRp H/<3di(]jmzkE"ÛRkOq|/KGiO<_9Vgu}`p17wDMi 6׼e:5R|p]gS\EXyqĜ>7n)}lx 2[ThGP2pi/@b');!IH{Ia-.P=qRXHQ?0m}8A}]Q6';U'I1x[endstream endobj 88 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1407 >> stream xmTPu߽=qE<lnLnT9b*$%$vpA " #`qráL6d0QP:T3fd6FNxWӞHA;|}.u ˲צ۞>UbUAp5ƒ=A%X:8ҟ"ڣ՝Քitq0EL59Ŝa>c.13!a l kaWu8s9=OLHN^b'k$gn5_L9RUnq#;WKĸ9\lּ}=@\]6x]syOyjAQMS&R%-`PB6Sr_Znנޱ7 u`F6`5͸y<7T 4YE2'LI@ˀ*QLʛxyC}md~.TaC~9LG3m8 j .pU톆tibr6$kueRw!%UR% Ek! u Fh2LJFkrS2#;.ln%/K aUP[usAR bOE+VËabMv },LTd( 5Pxqymn)[ݢP&!s;$b#e |1NFޙ}*0P}DWTBEmC[1yEi etUCh=EqJE:M3 x+h?10i\j]N7A|]D|-_V֭qי#GOfmv=4 z-Iqte"RjxEKm5a na'}p ?.CW8 }umVV7^-Zu5ԙ?6,-:{ós̓HL_}Ke%hW5*[znL,&ԓ$"5bO lVG_2˩/*~G dj=Jtժԍ솖¾j&ɚ݀k9p97mLV-&tAM9> stream x]A Ebn&ƍݸhӴ`X8Eo_4]|2'od?v -zֱ5j&ǢF0N+U|-@vW5rS -Ai'mUu 6OFBmYX5XG0kĩp㘾r 676Uendstream endobj 90 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 348 >> stream xcd`ab`ddds T~H3a!ann/ }O=J19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUML:)槤e2000100,cb`fddO~J3^.:{aE.Uv,-}˖? 3}< 3'uOX0?!].S;6vvuO4xOl妳ɽs.20~Jendstream endobj 91 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 499 >> stream xcd`ab`ddd v541U~H3a!3#k7s7ˊ B߃``fd/r/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS nӃP9E A L@30ֽucź>c9lߵ~L^2FrR}_nrlsguϝ:W>mr-S#z|gx2%[euweռG&Ddlk j讪=W2Is'} }wn=eKӻnn ߡkEt9`koߢ9~>':yn)?zٻv/k񝍭Dɕ3{VY3vgW>> stream x\IG Onp/08߃YdQǼ0o6sk}O?}%θu3 ὃalRMz7 ~}c0ҁdf}LQi{ĭ%=?m΍2:]`:dJS=Ϳ&h7u 9!"r0]n8{P汌pX~:0$ٰ%! %4~J{$!]{q;L\y DICJǨhP~Nm6;e0jE 7@l =#=̠bt;*c'3HR#a͢2"l"vN~XPt3O&pʂpzVl74 v1) Ӈe83p*Ǿу"3`@o2*=3..?&XȨ&n_h ^M7pr|YAcA+-^XM+QVv>zZexe;$F?,*6x¸ٜբhJ?&D˔@&8en<~I&K栘zG$?Q3lٕ5juhzLp̩; ۼ"Jt螊x Hv3H`2ffF`Do͢侞hiriVqTbʶgvMP~"V{XI9I;ĿwH(Ge46M1xDjO8ī!r6!(l:@Ƅ[6bhq7P`'C]tR誱t" ĵ/J$^%l>Ogh_VEhʆ/a_PԴ& ]Q=j=r̽Uܛֱ.?.)zYzcq}CD{#u'1Tٶg$h bځ0ܜ1f8Έi硾<3ߜfR2.`YJ h0ɬ?A"0-tT&%(5xvf&T:h 4*`iRFiaнUxz10}MbJ J 3 u.i,-i1zyUt x36#F6r;}4gX5MUa5$MWOqIc?]fnq8#aH O1WZ$SG10zR@";j$J[x,q8l[-~7K<˛w6Ng%fբ92e k= 8uYke 3׈ýKIҜu:))m >[\ڀaƝs ^Eb;&Y!v v?[زnNE)[@MyK 5h>ϐr2QՉD-٘E:aI sU(ȸ_@ 2EaM$gxuX F:/S |.RŌ; @·Sy_+y_~Rʛ!X"3&QZ}Pd@z,s8yĊ&(zl)\bJ-pq7ADʥԁ1:ե|6Gw&+@qN!Xݺsy%0!_(ID]dl%b :>Idr< ;TzU7EDKHZP%0tn&ڒ(OpIQ-&`^خ` 9Z*Ϋ-4 o3(Ej l,:d%e &95yZܲ93,0[%1qԶ̌R ^6TCaQX kBD?yR7bB3h'WzsuRu%)}VRid,h^X0 {' pW'hEr!@tUx; U|xOCҳHp%׋JWypZ|%QDc^ Oˁ..dޱj+P ! Qy-\TʗI;Xlpʔ~y&꠲V0rR#60GaUׇo}hf͎LᐎNf,_ƅ(r&'fYe/\u~Jɸm:N ˈD&b؅];dMy3jL\GfّM$V#\5hHܤ`*nKV~$%+{rȓ KD˕:؝}EgDH1Jm(Tn`j\N(مZKK+PO`;ml}yhu_cୂmq5s/ ԬL#urM.LmmH=K3q0jpIm#}:+=~ ehQp@%3hhFwc䛡U]# tPbmdB%F;_NtD.ȝnJwRqx-I aw.z9,0=WBr^uD]:jⱫW~zt&H#L<7^IbXh#^ |SQ+Qi%~ەfGDϣ-Γuܛe-y֖sv48ί +p{F1Ϋ{8B2w)SzP|i=f݊@߀W&6cIAVfuըr mJsAK8Ett+//00Tk'cx'Z RFkYgBu┵h,&R-v=!Xf]~w(vF\9YLlp} dn2,rE`-< BY!Si_|ǯ ae?PQb PsO7 6rS nS+:G'ef./psUiڦE88ˑas'Syg"j^}"~:XY4ߏÝ~Z*LϨ'&"}Q OzGTiP 񪫉<Ê\_qo\-j67 c:pIbG(&{<&r^/Hy3[X~;gqs]M7]e%t$Ц.dyAgrT9Gn`}4.7[Zĭo叢ȶ+Q)9PSLCJK G&AHLL>oBjΙw./ Iendstream endobj 93 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1317 >> stream xkLSgO)#cUɚHttq0Y(9Ͷ8@7 { v\ZKRJS ½=PA"L1s\it,̖,ه3aٖ_ygXdLVU1|p_>*D>$Ǝ> ih2),JUZQ!׈הo޼i8sݺⷫejEF/eRMS%.R*d7jKFVMVצ+okxV+k4j)]'[Y|eL]CJ]+-U%D!(",b'hC"8[s$GcE9Y.塘EԽh\k['L|M$DIh5J0!Tq(zrqvlّ%8>W-2K(lw9bjG v `;!e#syfPWgD<QʷoۓkѦ C cDWRu\No.87tL=L(pS"^mU@[t]6/-ѝ[Q;|ԁDZt( ]3~s_XϩwiirBiBE0m I?KhOǨ., :ߙn8!WbdEoF mQ$*)?])8'Rhك_z=fttIV^ wNVtmLH-PI >Z12a:I]ScsrɄ'zG `c,`uPN;l7o,P6}[F/cy/whK}lłRRE&E{sK y-u*Á `@j LzKFIxr~T60(|8a*!v%FOo05[endstream endobj 94 0 obj << /Filter /FlateDecode /Length 4812 >> stream x\I$GFHH\Z]``BF2!,0ޛ=Z"2+g FszչFŒ|':_wNwѝwdqwz hJEkS+kvΚNQtB _YH6CF/?F ~Qq]v4)uBcpB⏰ze=L\܇~uJܺ+=61h72ڡ|p߉6BXQwqsQsOQDr0T̑[P"4vVzR鑑7Ȗlm'VYΎDΙ-cAu 2Sf ?D&Tub~/f0eKY=kPpl0q8JA2jAwѹqBVƂݨ&/17gZ:ӞdG-3vWRe9wp:Xc}ұ$7\inETd}L{ #4FT"u>oki'iG*=΂zViKI !3oaܾaf tG3J%$RXaMHkQkt5vLzgn5_$&VhԸ2 .DG0YC7B =7%֋ʘ9UO6yɣ~skbɗDVl8&hԝ S 1.=wm}QJCkM3!x[tɥT\ S0OLg?>oq0`N9K%D9101*8װYK7-~ɐXns9+&Ll& GEtW0p&BM8Ƅ@Hkz(5o*ؔݾ1 `Ct?\`, d}oQB=0 U* O_lf![c4ЍZ/]9CUߒ֏Y蠁Ӿ3@ Ij*ẃ8_R]*u&%n>Lh=Q"ÿ$Ckgb)da6n܀WO%̇GP[T` t X*eq1j- loeI1'.2U-S|n>A_L8G S8R.v_B =`L|B-Fz|:"VT|Y1̅[tFUzZ&ITci/kU1.լV٠`,ٌ`3 tuˮSPфsT73Tw"ʛ+*ʓ* oI,lϖbCV:~YwxΛn0;2Ʀ~-ujuݭ'˕ó⹾U6+LE\$[P׶8!œ Vx15+j!4 9byAJ8[S~+ &YY,/ipa~X#WQ w݊QKqݠ"_PGw ߈.VdJ6TYV] Hj@,g:;=wqKXB4>1XMʺ\2N68]L*\9Z qDԒvJ/uuU9J2acPNjw:+: 84G Lſ B@(&%OKaC?,>brxWҞ2xʌFff1tku.O1y3x|B]FI%(<[J?pk ŰB!;=HўxH o;iU׫2`}dRY5:0v# wSR/aAwY nh=9b0Y9I$[iX}*f 0&ݛi*1i M\>isژ^_2cWgLUOzՐZR6 Kچ.*/Y`^97\ =qBͦM_*ڽ;+kErji Xsy>E0ב̲oVX,Pď'?]IGeL+4|tB ΃@AqP[tD}@4 m !۶#H]#Mh0ζ@ssZ`:CNX/ 1ٜ:+-{Һit@KMGo!Q%!@ubEXns. 0I|Ùw2.>sw(:* HFms c,lw^*΂RյNX,ҠeEh#`Y C:$j N*]RUŨV`t Xe'*$iޅR=h+q 8gCK zf*4vNMEiz3J[PlDW E?O88Ne*ޝb Bq'Rq,ݑgIa݈_1boW0 ~3#}hqFnhǿAxmhJ69S>x#94w mi6 - 0"{-Sspk/CjD9C,{RzVڿQT#`q4*hֽʜltu)ro3j>֩҃#Fu<Ѐ?L;hwMK-mqšR;hɪ}4b:GmwyO Shp&"p, N, fF|}'9K!Ϧ.3EG WM\qʝ\`:![Yh2~ ~.E7 VNm+DClmC&ΘG?3Js([囬ZV%j*ݾ1\@N OķZw Cendstream endobj 95 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1097 >> stream x%kLSwϡPjY7%80t72 8rz=@iR [8 P/: st2g4nɾl..0~zÓ&M%&P4M//,AS*L+U %s$I@84rl~[UQI47zcMU5ϥҹ7ep9yZFU +j_8zUޮy,՚Y5eUgp+֘4FFmxNYp2I^k0#WWki_AQTRl9EQG%]Ji{ʄM>gI$}an$N ogk:aDv7٭^_S$]@fF|࠷%̒5:H"p\hilJV#%:܀XK۠qii8 (8#fg,nfm^;XSp=#}' 8y݇<>WIv$~3.Szf^͆HV d@_=d.w tlS 8"B7B=#p%MM`kavwl J@$C*wDyƫoR 1KD2\d^ )Mdjtv&sS:VL$K‘N?'-.K-'I=P^]``.0[=YaL>ڋja7}:%+BJxm _ǰv4. huZQ}P bfs.A o㮙m_fzn 2H*YJ TarW@$p.t< +CCtv۵7L{Yu L4k`[M8`\6ŕ;k|Po]c\|᳓l H"m |H62k VňG'\'"r/rЙsuPؕ֍6UW{ީXYX-nB&#dLNQ: rendstream endobj 96 0 obj << /Filter /FlateDecode /Length 6143 >> stream x]Kqɇ5N/ b~dd9VAj W]X$|owfUMwf=zfCꪬ||1ɍKJlJܔ]m~ jU~Sn z㬙gwWns(E)F}ç^8G)lf*ϳO9E)&"~ L~Y""n|ive`ea?.xYG%B^Pqr[AkmFm.[]ٙƔhWOl ,mtZ|fYwZNVy݄tZ{2!B *ca2l(ÍWјxS=3Q[yz(v 3O^])p.icHt*e^=gOo)%ǣK'mf/dD:@ [7*lj;-F)?))S<%v·^[ oF\d`2j~F\jnܮ]ѰB\1xZ>3PB3p1[fx6U)Nɼ,m9LLV6DjgTk(bN3G-qyC: .yoہ6Q!i@qc}LvN1ǵfp lM4|UG:z:vp!GgpO+/ʛe|b wrA >ikniRX6/(P˔PxԾ~<.-(j+dsݶ_!;Śk~I =68 pr%-wԆn+L$DGOH?:%<iYU&2{,JjtJx&O"MoJχz4N"#;95H;{*{7y | ֛`)޳{BB-c&Wh+˦`jޓ2633Y\<":#=?lJ g`t&,vB'p|uj0ℬꇱ:}g Ԁh}>q/OtNϻ6wB_.WͶA"koҀ`k,z UmO$Yt%Rvv{ l)GsK7IaÆ`n.`èӸ uoOXnRHQHbE|rzab4&;vM9FLT n ."-yEG&ב N"m4 gʠ Nrۂncc,~B-c'EcJ-ݚKC~qecAd i]9j<O;g*r3>4{07F.{It.L e2߲.nUDjO_碃h0`Kl4Vv/g H `ukAǤ|6{֓d_.:~:TH>{(3PQA8|'W!WL`g1`r o9έ)rV>́ <тߒ1P3e2 42]P@0&x?^5:a1&"Y\fkURm 5'182-1z;ZaL?rnl 9T$G1 2qY'VhEH\sWM:+r_xeY|6'+rM!YJTGp.rk?$[c"pQ5`A1{?M: pp!j_3yLY^@&bŁC&x7U5{#!ꅠ~5kGUȓ^Y >UnUOQyGC飖k*zX5j(^亄('l0BM$Fyv i1;@RAGW9pS82l ;n挖p& 8H |()}Bn}qVImᢹs~#3q mxCEgy` &ś:)3 (Q؂s݀άDK0d$;R2C88aFKB;shI>41[t a~-9KM<5I,V.QTLeK+ad\cs5Q50m$Z RM{99*~ Wݘr = RH_QZb$!/b$ =9P9<=I娛X>2r훽Tkfᔤ4͝iDW8*C@!;Tn  ]P`hA8S_3]Af,pXp۵CT^.ĠJ $ i:xPqQe#Yɫ^u"ֱR'aJiF="tW'Y|{zv,3 C(pq*b^#! qY 12esi9XQj?iŲ)&Ӌ6 bb]gwUV(fN#4>3\2K]6L.̺;v]㋈2*ݵ-  JE-yVq뱽yVVZosm:A7Jdw)N8=)Wv乙8׉9*՝CIsL&d!D?zIT[ |>(I9޷U>ϛp$,#@|U& :g",hy]B~HT{%=%vRآnֵeJr a8nhHC%"@rB3Xp˃ɗ9 WsQ:l%% h1%"( sAgreO Reze\S'z,(vG%|~)Š̸VP|%0LNhr>k ֥W nhx~(7eƮ %_hV-} 6\)R 5g0MBF3<) mH) _͆yTN* ɓ(-r;n:3J^pPPf$]t.gPMKkZ u&U!sLsf_WKxXE:P~`V%>(gq b4TyH]fB杪(,J>1k7DRiuoR҆)xXĈNˤq˼h&w'En)\Ԃ s1EbP_?/V/p̢s^Hh4r:o&kty+\ކ)lXnk"^XaNOv[lRpu]2>:;8ń}hqjh}0\K}?3_7u'W>k"Ÿ>zJrX>.ۀ( F XR" L'ûwk5pptq#A܏I_.o>,#ȼ>GyiS1G)4nN1.t|z\@xi|$弉q{vG\Fx%6K?}i7wW6OÛ3:hT\sw50IvJϼҍy`x- ()3?y a1 38, z 8q8UE\""20EzuF-MA 2-j{eROMיeXA?Bt4$=.4cou;Uh KRhl/,z2`'1̧^rӉ]ѠЪ 5Y3%SbVn4'@ W\f/C BOR9r4Rf䖲i?^TaœG}Z4C0@ $o[\"l.c}hċ4r4FSdh, ڗt^AT)ΠJ9!r4AVP3TQ6}a /kҽ1F1ܔ+amHF[KD8NyX +ۃy3Ywp&0J ]_%E{K~.$CqqU7κEq^רҩ\œ&. y,EM*,i9e=6C:JE,62쪎cٻ9Ei[e+L<ӾWTe目c9 =cʗB {E(6mJj <͸)ISN3 r)׌A~*`8ҙ_1' whI^&1~2#}岺DJ@ *Sw1ܑj^ xzEo`xBN*;+a~F'Zir9 3n]Ȃpd3y9ɾ`)# >y^姀Vuj킞2PnI贃?pa|!ĉLVX'I1io*,C^n3J6ٜvu/oE}uUǻa qNiPo|uؑZ3eRgo : O̢hPPsET|"[*Øu;Vz{0'T7bsgavl@';Je_k[*h%9! ܾp%Vm`m -kd.~sF g63e5Rvx\+S4.XܾH3@ SoT).ئ wKl*hP ~or~l|0'́𻄫eBjpH)~7$`iVյ$X^.DiGX/m{h'ԻQlZՑkPS Zwyٿ6 Z75 kj#[@)k+KU/*Im >|䦱h~yNFKiH}aLS'MUݙ\_BT{QN&&x**4ڢebX~yJ}̨#uPce*ZEa=]~k&m=^t ^hS֚(ՎJ T'<8ﱉ!g٩M֡4]<&lF-͹H:y%t FϲՋK{8F).MXAG 4׶u~xj/sXnh5קmN㺆=h=y ojD' ̊T ̼jeޢU%@WuBtszQcIfV/x:˝s5m;[EcEW3(Wr,}`֓`!wFºxFQe&W"I5 ;,d0H9"WKu_gE)I#&.aQZ}ZX8mvyVk4@;T̫bmjTd|qFL{+LC鳔gd7Bө:>a!/r6yeo&U9T3Y*ƃHJvg&WBؽ*4#M$jvÐ~s7ۍ2#-+V%?tS}=twJs%}ʫ+\Ƽu#}u#b ;(]v4rߚOAth0rZ./5k \xY$ 3 ե^FX*F?MGl:SwꑈHCB.0,po]M d圉 +J2;º OƸ}+J5I "jBj]>v OuYd"~ aAKc-$v ^)`PZ]4Rendstream endobj 97 0 obj << /Filter /FlateDecode /Length 4338 >> stream x\IG6'|_{׮!8 cأ "y$rɬ%zy43B~Uf^lT7k䃇asvs6g'/NtqSj$`sIjl6lN/Oܾ)(v{(\vnoq9*&%{߳}z!^)5y iTIQ)i_Oޗ}q6:,6;^) 7d^Y=3_ *9L^Rs9|Ƈ41a tꐶO:-heLO;l  @^f[H6_ m 81㣃NxZ5Orb,rTӧ^? H tXߩ@y%d&n.̈́< i#^h;q mǤF;7NN0 qz{# J Eh33|:d*lkSB3jO1Ȧs^ ؘUP>Cn!`{U|khu߾ȏh}g!ko"!vi|9ʵ$L%RԨ\ZGdrF<0-n E):ĔyZ skEi2DÆ? Wy|гE/2i$d=&*$'7.4}xu=M`%aM,d!S \gMSgfVADҖs? '|";1\\.%q(rዅÒ^wi8IЈF!|AɂΝ@ZmoHIZ>{ |1? Z6;k:[p+d1𼌎Kf^r#];:Zf$dtl6WV!I7:\iosly\h,72,٦nk[W>m1'ݢ@H 257ǫnڗEkrt?x-B34 |#rH8r9\ + ʨfRoGKXZ&xPZ2kȵFeTqyk᢯ ׳+*7u-ja(,aF7&#Ğ-b:6IF#z<7d$>]R:mycuQ`Y[kudaڦ6՚ҙMr>UΥJf,3-y&R8`,>lyx={R2d yu֧:=FhVYɁ`!t2ASGsœ b#N  fn 8Im}(,(y! q:E9]ՑƤʒ2]y,@Eҡĩ[Iut7T>%c$n>%þ~׵8P1C*PbQRzr`#iHPp\M.EVmj="ޔ A"OyKEr;J](g<9DY}+[0fţ<Y)t&E˄l{-r.]-~.frb,Џg̞]ߔ3dgc\+~a{:E2?lIx"$-K 3yj.kzuXKk+uaߗ5BJQJJިZ bޢ΋HvtǥubDEuka-uI۵,ǨczuN6+jb_Q+.RcT]f:'3 44K P fcQM EUܻrK*M;v=Հ& Ð.pj 1'*=0߅0$5I#Yֆۥv~q1!dO̽5(ʢ.M?Q^Sr+BC[-l`˝n#{gt3w7EDǻ>}+bGz&!T'xR vm&aBTE; 0obXa֗.03`puIj CGHa=N\ɥ`~=t7ơM>=kMޫΠ;d1B_:h4 :uͺK({TZ{Ň\r@Tĥ*.h9w;Ц,pTޣRgz~]|d =]/Ft6GNnB#a'Y5|2s r|'/wΖ:+TؖgxWtQH w`Ь !R=z(9~k zϏbnWa{_mĉt"-V{*كG Ib$yW*|ygZ.FCzZ5-ĹƮK#pE6ܥ+Zӈ}H 흈df2!Ra,eB0>9=_Xzendstream endobj 98 0 obj << /Filter /FlateDecode /Length 3015 >> stream xZKoNElnfXpMEEи E[N~3kERhayD} >'wb픔ͳRn黖R⻕Dۼ8 k9:o4?j~5I˘)_BZK⤋Xɱ5 7X2K"h,^IcR}|0[Kk_洴Zvg$ى2WyANqN65O_a$mR%l)eȤVXt?IZK7WЈʸ;M%WnnGQ6"stSycJ(dRe{4BNj.0EXMك[2uZNx4LI;zx$G?bֈB?ӱdG@*hLS(srT` k Q/1`-0ywtDw1H_T ;8.B)3c ȌPl$g (։8O*ȔA b3^Dil]Yc'ɖ tf&*`N*s $]0 xq=7:ُq[d^1藁y(vm֬Cao=-MH .L8j@4Tep I^}#Yu+ :{ibFҲߧ#v!upDWh&_<-IrroIĘc;w0 똺_кnbJLa)#U'/Lt6hf9Y0u_Dg}f5֏(a ٣cN1AhM17Tg΁#DO>>FMGbEabŮRd:3G2,Lw|[2K*HVRM{*`pZlb+%gP?\B:ZWEpo5o0։h'dJ_b$R,вY?+}FC7_O6a?7QZԩ"2!:7nr8 .5{&ɩ8ə Z灨:@wI(oP>Z-R}ȵ_h<S3]䲪<:e9UD*çԂ:Xmڈ#z WM؛9_/|< (y>E =O(\a9;ڡgAm“ZY+b_Rŧv զ;ZzSt.? 2r` Za!LXԻ /zR7ڧ;.:>o9Az`bz/y%C`ֶJgM{K| fh;jDûpEayhr ̪6h C~tTĴ팃Թ5OiV h$ssv#muW;ghB2^|^R[W,USEt _Re{+҉xl8+l&y N8~Evw;]V6gwуkf{Ύl aESZ EZ9[ua1ea3T1l\* ES)6י)4ݐ3NJ (aIoh!I-Qbx7)X΢ qc7d0 LU  Ucwzcﳋ}fZS"D=8%m+g\~ۅ9G:Ք\Nq$SHWPGo7)/='6TЅX&W269R+m0hxb#׆oVhNhrGOlr6ʼn|KS4K'w)fkXe do0ҝR(3R^]]o`U{66a)Vy%zbi0vk8f 4gv@}uiL(%IgdaoPB'siBNˣ/rAƄ1k,ݫ,\j74܆uO!0_~֝KЃ ?'{ll:n_!,#z T2!|{G=r7!V+慭FWZx.odY"bބ'.RN& Ḫ<> 6v2W5ThTъ<O9{TR#T-=zV#Vr+W@/idB8D/ljendstream endobj 99 0 obj << /Type /XRef /Length 128 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 100 /ID [<2fb776fb24dc9d0c5def6a12ba6681e5><2116362963de3720e8d6a411b366eaa3>] >> stream xcb&F~0 $8JR?@6[7(@$ ~"Y@W0[̞"A$QD2՘H&!D 5H`5[FE,4aQ AdyRx endstream endobj startxref 70809 %%EOF lme4/inst/doc/Theory.pdf0000644000176200001440000046066013141431220014605 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 3769 /Filter /FlateDecode /N 62 /First 502 >> stream x[[s6~_$d&Kb'w@KVv@7Yc0 ;!,b*`B3Ţ0R$fY‚@ 1nX! ,X :Ic)pYM(Jp&%^ &DaJ&c0,>dJX Dx.Q*  iC!X3ir5aDőD8 Bf:E3R,NϰDS$GOh*Q1 ZF$1B,R*TVځ$J%\[I(@b=AzT4>#Q0 .6TȡN#q&EQPȑQQ ` J@6 .F_AVôH#Q`Y&{ھ9"N"c?o'A,Ё c)_ ?R%ˇWn:h9{p>2svb1糂%Nb6Ҧ䈿χ _H2}G P P p-vmƵ1HW8$g dYƮ2*K]e 'r" A6Ӎ=&q^?L9u-q;8tS"|:8 _״q&3'Y1|j6JŻ7\B`:'#ɛ"lEyŮv+s 9a"7y>,SR[*02 Q]hȕ1@oeAg#" Z$zbvv|t]7?M!9>S>s"*q:ZY2lx.;q;g0M4?kAX]/BݜA .?N3;tNC媖BAF..T(teWL!2^6X}j[RϾˍF0DW Ń5mA,]}JSOoGt?qa] 2LsD2I<"WsG Wg4=tј?K2֔. ߀Bl|]}~?c~O9T_Us`:N͍-;ngW|Mк+sjgX>:^]ghR3'$zAEgv~[sϲy>v"^m/:;W%]_d7["ì/ƴ҂,E>oSw+OCl +mM`-HT۾g5Ft`˗SZl.Bm"J SEN=oذ$g֞p?iYx9c&#s} 71cpt +Uu+Ȏ1Cu_#8ȖD"8rp>,fBKw_FmsZj`8Lշ pmAOJh! hMՔh5qL1 \.EާXJwSz CNGwN7ǽQL]mFHSH#i(0/NBe.4SG2`5bF_nkz ʠ֟]lvpl ]~wPcciG=ZQ) *s"Y۪tZ=XɆ}b8ƐEZ :[?^tظaƫ9|u$3t_5(d{\jKg}+&֝p~zs9L1ӹ߳Btֵtc5>/EڂBZ^K^,"/;g{7Қ.҆yQכ;aQ?jh5ivAOEx&|.m§5@O^A^T\uf~~ wYtfl{<uGXC~ZKjTF):re/JӗD[Ve[lS-VSR]UQe Ψ RǮp|PNS{GYpG0 v**d~HY,Pnh8waSTY2p*'ӲK?}zVMע̮OsBxOO'9h+v&ZH Ypq6Wf\fﱟQX񊀭L\/b%#ЮO^I<7/P_B&-]RzޯrBG|D;6c磌łǠ71ˡЈ*kW Q•JN+}z|/sO+IKMߠOXNj: ~ʿ4|Nir)YťN~Ml=h`-VN󹀚u6 DX̪9*q/*iScٛ)IZ٫n)  T| vw  Jw[s&ȕ8!/(SOP1l #Y]%¿7P%XNA;)E[\W\MT[>4AEy[#tF zU?@?QݯFϵ6X>ve~3nbg Ogmm/9]i)Kdyzs;a\哼nͪj&. "I6,Y]dBtϼ Q}FK:Y#>Cq=^#ߨ8Zf:,湞+x{߼mnk)Y?AEA)jz)wVb\PV~zbAaSú2׶7Ѩ~oG qZ|ˇ/"0_*Hxe޼kբ˼u7wl2No/Ǚ#g LIT,=[IC/O;czz첫a/XjJ8P:Q&Kڪ'l\dtݍ}:YNVAާ_;Y}Ny BNQI%>>/Y/4{/ìI7S^ȩqldOىUQ}ݤb뽥KktŪs P=qh-v=jJo5.Č}(YI)%b0zF SD(tCe塬YW:Y&G ث}wzKV5+>M?sbk`x L &0UŰN§E X;Z$mh=_[u|> stream 2017-04-06T14:27:44-04:00 2017-04-06T14:27:44-04:00 David M. Jones CMR17 endstream endobj 65 0 obj << /Type /ObjStm /Length 1392 /Filter /FlateDecode /N 61 /First 508 >> stream xݙmo6S >?E8y !-BMD@lgt~e2C͔f DI;dzs$yV m$jE^w$)U$Hjkը.x}Ig{RBbxSP$SPQ4)C G@(' $D r1DCQi,ECC^E?GFH|(%(<5#A LN2g %W@"h1/Lĺɐ,e\p%*@ ..YRJTPMN+!, F:A \`{HNm a=h'1E &lXP˜*?l/|VQ/<M#(=?s4ٲ~1,"_3X-ʫj`_4<3TuUPc5.:)HOz- :;;ί^ź O'T^K pZ`0 vQq2,/ ];},[>-Z^Veyv4;, rZe0r6I%8l1ޏ^yx4z:Rc{ٕq6X"8Bb՜evYb5&ZRٵAX 37.Vpwm5IxZ ;aOrn̠G55o厑#YV-u8ժqwSQiMꂫש)l"в=?3~g5chl1v8%e)ka]&e^5*k9ZA֬3);kXqn-FcLPlm3vT|.89g'7r~8+r}O*86p,gl(>_c$?/6q:9PD [zS>  (Pw w(=(HփÊ=r),@[N4&@^. %U K?xb:Č91x<8A`89u;w6Њcis'>+`7(bKUuE_-iqx?TGɮ'&Fɇ\VN7IrO!4'ͧ _]sFƉ=]Su6XW~̤./ժ>;@{0S(b;-mrcHSΉԩ zyLq .#{\rHqq$o<"q){I۸z'ni.R,HE`7?7@N*W*eu;^36bn.L endstream endobj 127 0 obj << /Filter /FlateDecode /Length 4131 >> stream x[r8ӵW=vÄI!&Iy̬FC%Z2_\U3~7|mZݟt7}cU+ +bauL4+](f+ή޿~M]֬- ({ܕ=x琺+λt/q4twn8Y?vu~}PK^_uHP hS޺HDi&R)MfYvJjv|ŲĐH--օ]x {]`<  lU\fv2$-h ;-[Ư.|na?@t&aØb_ߓNɎTǝ:]sR Tfr^S+&/" l.xή&LD=Id)!sMv^K:M CA)Qewhů##PVzǀbյƓVv175|#ztL7'}fGf2[Ȇ?UeFKQڐҳWc詇B ԱlH6 ,. "f[vYKk>cɭ8m *O@ϣە"&>rnd4~jґSQqx;ClYa5Ge3=] aQ7z-}~&-X큗IȧP׊z-kwmBE,rΊ'Dbs" Uyb}"񹈤3? !bD ?|)YVEdf,|I3AC.faH?-Lpvoc:fA=`njAwcu?JK\ˎY[,GD;z<3#6PFꭈ {+g&m,I_`dxFf|mߥZn-0ű@ 9%8[O+P6BN '.ړ).;EQN{[uihg7TҝDf3ђXF( |O"',?7eb2Jv-e%U}AA !(SzU%_,y>:ϐ ;2"1P;s$=?TTUpbި JD;ʘ4=4+M<9C0&.(>jTB%K$7!=<dm4:0v䬽a#\[y,rV5ZGpORZՙq@Bo~5H9;;O?,YU@p=?e]PV?J;Vv12)Ġq$͉ӄy:}gVdUG۳#Yb!)18Lt!P=+sPơ#%Xg0jUdBGIT2F3yjqK96<~dsHDvjS0 E#㨀il/zE$$GIX1hL |4q)&uK2u,x̀JZ䕡<9xlj([*4pեRPwB&8/(^ _nd rZBP>dPn6cJ"K ?b B-gK7lrV>4Wal%7@XZ ŌDZ[nJCoaЋ^rڕ<=;r%PSkK㭋Z&U5+Qc(ŚZrjSǵW".y+c-q{ӨXwޜ0 u>6R<SK-'qv.<.V4J- TJHxr:./T fICsU+({. 蜧G^mוJvNUPzG03ݞ49kt.Iْ>.P׃L…ԢZLNF b{YޙZ!/E0zG.jőоySZdMϝlp%">l7KܜW} Lh֎iǏwgwPDo^+L#g EV$P8m5W j蜱:mܛ0o69|/cwVG˺N:Iњ~);(1$2ibjSjJ58ҟ1FX\EvP@O|`/GKU#z8aąz}aȜCL89DD&^=d~Y, ܴ)Uf2fx2]\dODTASjfDRIRÏKQzGg&vHZ@}zv\PbD/#'( Rq5y< 6luqLV)ΝKӶ6$rr&*3Y nttԗn0)5y]FHf;"a|qԸʝw%a!wu#f=8%(;*)4opFu̶nh)o-[B~H>R/svQ)%rCn5 ,q2{ ]f߅_24}2(V<}fZ3-cn&8XEዞ&N$]m(=(o+> Д,H~=G5TuֹI)m((5ry>jRoE4Y#"'34;t) ȘfB"L6%R$.k/.qbuJ5}HsKT 1IlNY)eLG\NE0jR4S b.. /:GY0qH:9Ox1Sʱ6S`N2u(.CW2|j)Tq|R_-@i!P+ZZm7}%˜5yS`yqKwZn;@JƋŮr蹧fMyN%Db\B$w̩lQZ?>vj2;/7PoWpuLm}@sZOl mFQJau{_.ąVt$e:s^],yc[,CΧy.t_a]|ގ /+$#:.BB$o2fK d!|6lf\5v/~M\^v)$>LZncՏqKw;vf u?3gh[yF]$0 Ų"_Z<z* ժJs2MKu 33iÝ* .rΤäޥf՛,jendstream endobj 128 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1821 >> stream xU{PSg@ ]fSIl}P[Ku.oе"B$QBBH#@@cx"QۖqܮmwۮS[nQ~hvwvfw̝ss~sH"hA$?19c}$bxw: < [ApdY䏢]?!x$YR֐T"FZF>>>ѳ11 Z.T!pbQR"jt 2F!:"J(R6yFT!D2\Z(ڦ,шR hwRjjQP.!bi2Q.hŕ2y R4"H'2,"El![mv"A$)D86D7tE>UN ?ߦ"ٖ0^V"Q>. o )j|R; 0%56dJ~3 sOy !ʢ>ݻۓ2 cs n6E΢c<6Ǣ$&VpHD"\/ɐfB=2>8c=NLsyOe9PhJUU˯"2/@^͖&٬od^y;FX7h p!k/к4,Z<&mxo(,<*alx=bc]?r $X':&>[h RCGpζ =mcoc0wF%9B;0`ѻӈCkQk~`[l hKˎw;zmC#=M6fD1/y*80]&a\ Nr$;CoZϴ[r-rB?qE>D\r27wه*26-žw.O}b^0J3lTJRzZK5oHH8ˠRT8cv bO9¼1xuJn¼-q* :Yh/u,3@řLcPJ9Mz]}]su˞CTgh[#s!e|Ps!Ar~eVS[1VTWcTR 5YnǍ>:G54.j.: p@B >Bqrtyh2k)c[ԫc2/nڄ[(;د]/N+͕@<Ս2ѯN ʹ>t܅k nF/Fn.EzAk+I'}?/dQ#BAzlM`j4FF=K!_+pt l(#*L C Wӟq^7kh ƙwu;ttzSE}rdpȋ[߬9~%I!Gr- +wy8Zy됇ه^QRѺ+zN爜`V ^iBO '\!z|\O{q C1fz; ZB6c@Jw?YS> w.!'Hendstream endobj 129 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7045 >> stream xYTTW}ȼ"SPFbCwa,X 6TiC@`@*T4&&FMbQcӾΌ%_ר{s>}GDuFD"ˊL?!݄W8iHgX!ï,ju})H$ Ov  ُr8cƴN&̰_)_) 7k|d1fd!3{0>*@o'',~QTfco>x.A!20>aR\H]B(|썈%K;|K./[ޯg?~5;}8`@ʁ]O] )rd7 yh7؇k|5YPtm3 "a`r6HT>]l.S1R]B-je0#f s@)>lFr O$vA ҕdI-\J˦ ,bgV8Nb#Q! V @lt >S<$JJ_Kuq5 Vw0B-K6?^>}lW'ڍ:Ʀs Ie=:`!` @oNxW'ғZ:#r *D?\@e7Hg8ڰV cĢ~ƢIg(4Mwz XAfaY]1]30ߙ^' xYejIԉ`"|0}/A 4@nx0r3yvMxsFT/BCn! q( `m ,B2%)p 7)$|IHX3Pn*K,)~Ҟ}-ùų[U6+ BieR^_\SRm1:S!nU:QB,l$Q#Q?VK]5~(I gѓEh4eߢfoqfFv]Șv~G/:>~!Hogk03-+˫Z OGWRn1y6G-[Ԩ y0 T1ڋXc=@Mo!nDX,K&',i;{EvZ>AF[gߣ8蔆U+ *8<_%_αlNEBdIfYtlN>EcH /̤Q=Iۥ]>9(69W?&dn_ 3 vDJ]ْBӋjnb%a$_h0b9|Q'YUHr5!A#^QCnJrI2n½LA[x,jωI|67BHW~Pu%" }1]XRtE|DvF`B1U]-j[,4l-UKØU*1&2#ȧJnIeҿN*P' gr ǩ3Ռp6‘Gf#p uj#,廖 萋Ӥ P[7LbFE۫ Q2|7dxE xcϵ/C3H&)@ܹ}"/<9agbd[<<hp&ǾmBH;At\8m 3=>E};$fF=$n+Uqd2]UeeUM~Mv{=H?·Vܚ$*yLz FRD OFt,m1(%h*`m@4Ğv3RD^F.#FK#-P̽>Ii޹r4_<#]IL|AbYVS_3. /&Vrn-HbdjjKߒ3F}PoN^ߝznCF 1:yA PS^P|#g'J-:c]a,dž y$05c\W` +͎SեZȨwwTT ba&z~S9y>'4w~OV jŶfCmqd!&W+!;a ȏTTNmTTZWYW*J(2dgց[?17/HTL2-cSVGVFDUEWk+8aWaG {v D;'ֈ:Πg[n(+}Wr8u"dz3ٮǒNJ roDNDBRLe ށJ1g؏v}`a:,;Om`'5=nRG&e!352!\G^weL".JJ$J(lUEɰQqLx+!Ӿ1U73l:OD7rwn_+7,49QTC%6[vԨo|= ܞ~W QHQ]R[PUZ'$"|K`^sVn<Ӌ8A{=1guOQ@b ;l;[ƦK?hO#%Bo7ΰDj=EOjЮ[b_oP)VjHd$k7)Ba lGf#ixNFIZ&3m=Rnyޙs~adҶ4 `_mtYXLhK&k#BXf}jPRF|2z\?0sѢdӷ)L&]xI#BCtu5źL֛" yJzeE9OKGccRKջK'|O&v8""уGhHsc&q>&,ckd0i,,hwteMw]@obglWa4R{Ѥ8^ܜl G<⚐Css-тV q|g.R^? 9XD:b?SS]/> teȨYbBD%FAJ'* *v9a’01Z@ hi%m]Lx|xc)ғg/^-F]EuMtEPHBԘhgՋ0QY-d huG,ĠG夫3f8sFRnuSQ4ylRpCA̛zƅ$`2ҕi Pߎ8gxfQr:5$FY8mqK҄Z$],2J^M@ q6b#CRbz>4B>D/,b@R^ $m~*T&IʵUE7͝{n??{HIt7`F~\MI7e+= r o\C(Y2PSUi@00|n A,hA U@fJ"'[oݓ۱3Ń|4 ؠhUQZvb75 !^lwGf0ԱӽECxI,8wne5x5S,IIP$'s/ %gf^\yXXjƑ1zH>;~$]kF^>1a\hM0cpC{FȔ>m~'DhFiqՒxi0&$x'xLoC?jIQ$sʀ؂]ei*/4mCK) .3Hg!my׳4u}2?),endstream endobj 130 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1060 >> stream x=Q}LSw}Ҿ'US{9&86dQ&6Е B)*"} / VLʰ ``B\2g#9MƲl lUs=ɽCSaML”ץZz5L(g`2P{2 -<Ѵla-/3ڄx]3Qر}{dff48.YtChUJNIZSuZ;!QیaCZk {-f5ڒ^Lf -zLQZmӖ(5*ʧ *ʢؐ3*"}/h؏$*V_&O "՜lmbLn0_n+7T;."WѫCĎ` `ȒTA:J2v٨H=EUz Y^̻AϓŌOl1 wb&^3Tɵ9N-xw pl*9*ŌDkPV/b4_;+\[3wrbtkpq\UK$y*='xq̹xU?u.4^2lz0qkiSVOD>Ux$ 8]v9O=2*0" [6iH?#<7;Ņ̾jK.p0übm.QIsQSmQ#j7Fb**յRĢ8M+endstream endobj 131 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3585 >> stream xW{TSW?1sTD%= lm}㣭uUJF9 &BK" y|Iy3! @XfVKsZktn޻kܹ̄8p}߷?3xе{2(>?>}ybgꝈ2ǣ Ǔ&%gw'$*BpY!o̝0dT,- YHKA[ (QH~gΜI%3fV$li⸐I2EȺh8ělwh4YC&ʼn2Ȓ 媴茘ج8q|BݛJ~~9{XZOm6Raf*fR[2jJmޣvP˩Jj&OR()5SxcWLu0i7 |$Jۂ d'#&?_q"Oƫ&u3t4*_ vQ!-. $tT8?j8^nZC?vMVw M a6U՞ڍ vF%e7v\th߭s;߽aK8\ ёJƌ+XJ767/|XqmWHe#Ԓ&p0?8(}Q4yB#c::ul6M?rݻq3gC do57K8eRE"r횀ʴ+N 8ZPfkb tPYphL&0Uל6X䬴)L9(pVVGU0Ob9` jD*8Cihu  KLWSr?Qt4v4%9ѯjyOIv>ZʢWUF.0,2/p#?np wA&_ Y5V3ܓoh4I/?x=ڞ3"<^ s,NqN44~s䡗-f.9D"Rq̈́0m$f"o1RKi HG(w4$'ƭBlq]~#zA[Sѳ'n(U@Zk(r)՜ HX]rs%h*FA*S^9C~q~ ??zh)?[}Y $a ]mk&y}z..ew@-*3lէd#QۡR_.-Θfڼ2gȊ<aL^qte{Q>@e>TXp1j k< .7w!,'kueтҳh[ґDaFyfC;ipAGB{\Ƕ,\s6P](kQT[ L7D٭5ww˷@$Ce釓5=!+v=+t1Ϲ m;yen#ulر^U8E/5"La-"5}yk-~SB* Z *>Ha>g#ݱq> %4:\z۰)͇ʡ->1-HSИ?H&yX^I}=2MF+#RZQk>ǢOt=FcёFثpm D!jLb,٠RlbGy@~lWD'vA-I&6mV}$ugȄ&0NCeiF ױ!U['ehnǬqt$| S䪕Vڙ_dJƑQHW\ /w]`# o nrpr_E ME >w-lHhbtRP3) ڪ?c 8Sx'h:bФfWRrtDҹzN6{uv<0Bwě|b ~sGv{5## drS iGG ٸ !/XuTrAbc#>%8~s*M){O_KhY[#ܳ+30_OG@Q{3,>8&5YQ2Rt Mk8|UEdєZ2k˽p͸k? ̓<9NsX,(!*0s"f"w#~MAS^>K:6mRKOA?&zn|GP1:u\*lm䌢2)InG_G'M< ԡM! h8~-z&b{ wٷzcs]TTV ̗0Mlػ_.:H%03q,C]UmGRWl.m+&PfFl&wc$29%ٚl[9 -hi;͎";hBd`%#h~E TK-h@s+\DeN'=w, 9*rhRBZ *`o?Zd : })0 f,5ߋ%b!z?`+$!J.LOԐD&p/1h@ 샇VZ6dT̖h5r'7[~wݫv" &4X8<5@))=_Rb& <+Q%߽3N#wovģa"#\>)LJ; J SF;\ˍYP7ZwoE/zendstream endobj 132 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 502 >> stream xcd`ab`dddw 641U~H3a!3k7s7YB``fd/mq/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS nӃP%E )Ey ,9& n ~ ,QpB']}|]R'PoJyNY||pnInKo9&}#gԽ|;טuu?8O0޹=~'zo^4c 9.; ;W_LJ{w?43~w{w'4~dž^#wG8.0{ ~'Mg?u[|>>xxBendstream endobj 133 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5138 >> stream xX XS׶>1$稈SJYqE| G, L2 c$+("`QVzZתgVZ]7ݷ`}_ kKD"a:/4}8aDC.mUp `mu|mo,Dѥ- b7~鎎f;ީsVxyC _;=B"ƿgδiS~S<ߛ0.;nGGPS*]vY'4#9#ORfa=9/ ]2bs*].^k׮h?}Yz򔩌7Ìd>`F1.jf ˬe1zf3lb0f ʸ2i,e13,OJƙYf3[ boƏ0}%z Hz1)<t4UJ+-}(\xn(\kAl֞-}RɱWz~;7`@f`ފ}{~cPAc9 J Ak,hoI펼n0.YA /h@ Ҧ@(p*!'P >eaCS3hLkACX)MQɏ۠OP:%(9R/#62D*V3Bgz!'se*b:+U'[jz~'frXq<֦f,Hp a xՋ*aku!CȘVT%MJg4;m8PF{#pbWߠ[PֹY+Og%jw<]^iD9xg:Dl8cǂ,H1I+qgB\҇F ,UI/Ba_I:HVh4ڀ]&OD FbdeE9) N$5=mZH*" m^!HqGpla=h?t6ZA6>{(5-2* 1\1*m^qt,8BCߴȃuv`2-p `gPxo\O\=rӬp,2&dLl)*_Ҳid*Cv7@&y-Sˁ|z#Zp^'z4HSh krxۤq'-2?rxv)\2/Uk6lbm_5s |79^Iz,cE[La5v}⢎{ɥ`"Φkvw^~A_t5g ΐIdwlʦ&IKHM di5z ~8zDl)2^!/H~fҶRMiI$ѭg%54EnbERYтdZ+A}$Ps02[a,BྨpTd 2s#~g@Y^% OPy~C7~=h"PYD߀]KMUA@F:rքGz~;K*2bi4V~b4B5-3 pKO7!=Ce(%Cejx*ZY]}یilQmۗ󿖓؂‚ NPQKudֽ>ng6l; ޥuK`}%" =\g8EQXgG"ߢ`9wK.&[gID/oM˸$[ylh6IyU")hn_bѹcLr>X۰>N!b!d4T@g. ڨGhDt%'Qz}lBwiTnFN>j88UuzV A&@šTY2i8W#yuqMsq*p4,2oe9)p}p!*yfh~-!Hp%pbyq-Slj1 B,0><ί^X7 FώjRa0#xث ##JQ C9` 4Pz pL-O ^kvTeq;Z҉":rLbGF=ym5+7H ,t<ի6Pm#~NVI|1¼y%}M&!Iwl!~)?B ˎ5mJmJ CiET;2/ޅN敲2meA\;YI범 & KMP^InX{`heCg8 '|Q IQzmL2p0W1FC++ŵGX%dkfw! ^\hlD[Hg盳zI a#Jj=c櫮Wcl2yu% GHI{r{{Q1`Sj*XBq2p ӔD-شmGpƣG0FR}_Hq.O<&f,ee~YZQL.,wCeG*0[{&b{}{#NJwG'9峥Ʒ+re+`&mv@A[Gu!Ð}&~\9u ܿN۶,yu5fj괇x))_A"e!.uwBba& bi@C&<-{hqO9YٙWDc JkSMLIJƂ,'cewV_x6w !CisObˌfȅ.gؗuVhkJ߿8ɾ7}5W;~y~Xݺ'JuoI \?|o }c%sf>EZ'~h+bw-Ӄ.%AIXC,rT_v' 'E@LLgL}-|\ )B؟^Hչ5,<1Kv#r0đx b0@|X 2>^Gbt-sh7F{VTKc"vԁb "o GtQB*34E7IpV{%mHΣ-[R>j4.񉚹M+4yݑohS7XKkO5)NjI+Q nXR?@a)=q8]|Vr{(NxvS0u; LزW%3zJ7z陠ȴ ŷ_s7~JeQ**ٚhL='?mzRIiY+229(0݅0ݵ2coeˁ%vGlƩm̾OtMQ& 8:ugIQv^=!Q$ěr>vǞM220菆vDnAh@Z,ƛOff ef%@lםo0 (NGC;_ K"tuO!u"«11.;Xޤb3/_bܤR0%l.Kqg!HXD+Rr'Nŷ/_+(Nq#IH3\?"-sR{Sw}w qW7V~Jx,ursW޿H"Gu/@k `&%EC"TŘ ZpFZ!.CpQl[j{p6`/3% ]Ef5DӋ$o tJ缳GHGrh.(+GN^(ePdݳ&%} 6 ӹendstream endobj 134 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 405 >> stream xcd`ab`dddw 141U~H3a!cޏ<<,+ }=\19(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMUMB9)槤1000103012†'gУ =/$^A\]ٞo 4wf-zvü[8%ە;'wI,%jlt\U]-_=MxMy+W/,.NΝ='wynSn\]Xҝ%ܙV߽MW,0~WNb?u[2^endstream endobj 135 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4447 >> stream xXytS?!m8`KsUPA/J t@f(6mӤmy8'M3vJ&H) P@+ rQ׻\{_{}ir.ﯶNoڇGDM!x^8EhCX)Dk$F H͝W|SFTi49-Nn$tNGK-ߒme %PeV0N7lTéS! ۠@)32nШ3EJpy=V*6l$>}֣.o|frq8Ôs(D_с4pG/m[wsѹ$@rhdVwPgRLkgj6ZڡA^Z N>V.Ikh7[?xc;o P?*+ʅӟ)s}RwoY*NqlAǎI!8䍽z\cءu7Ti5zm&F P5ߞ͚6S+D`6U7!K'tav6X95Ϯr=spO~Ӷ&ڤ(~R݌.|R8ՠ>au KWTe !o{]JxkF;ԎMp>=ӋCp0䃑T:m.&{Ύ&SMy* [ JH& dmRQ-0YҦNdGc_h mY$}6کXtS Z289s_< (_ŬuE5$RLtnqsL0=ѼUfFeyWػkF:8tfZРtVZÝR3QYjfV iG\ O;5u#nz2{TqBM-[]omWOY6KEutSU \|о=.ʝ)} ={jO@59)F=UgYRCsӍLLE~86<&t\ R΄t&2 ݒVr<@b@o㽚,n%Pu@B?9rҁL\Ib\#heYbVgBYmP?8M9Zn;iߘbr΅}ۨ17Z{:Z*囋AK*OY:9-0`uwZYOKBʿ派.@߇Ga!=72Sy2w'սj&a(h}Dej7TcJu\]:Pfl(D@^ڝ068B}њ~SYFO&0l8k}Qt?~LXCMIJvlYXIlэ,O7ki<d PDͣ 9lFʑl>谷@-٤ptSm? #o ` tdfGW!w w7FG5W-nl:{ @'A Z: R4H4Ku߆ ʟ]ɆlWTfDC,-r/ D rtc˸ڼ$ݩ`olە7n˒fC!t-lDcTe4f݆]?~W[Q}&FE~xYxPb.A1)^ۑބc5=ޮuMfFK_8SGhP]QLD\ ΐqH\sR02Y)᳌c?0+_gDYqnqZ鼞Vn|VlNfYOT ZqԅEᏹ?x]PMp=O]ZLְ:b# >TkehpmaIS -{C:z$N ~ p-Z٤1+PºF%#@78 ^ҡ\JGnTa}Q/;08s.+5M UV A9:i!kX8ulQ,Yc9_4j5F% ]]G'7F,X_6gﵐ6?C>Sg) E!`{>XcR\x,pJ7ql?B C-PV%h!'$1g!GR4s0sڇ9zb_7u޼Ե߾G|~./qNұ(:s|Ԋcşc+绶e~^G&\^T!.ymv@Cv-Nk{>sZ jO_gڮ`LU/< J=#^FȈ*i1aiRd~ȱ.L`DƔZv%^_jJOMm/?}\v[ :C *\a&FѢqʲ.jp}`%( ݏ6Z^or[> stream x\YǑ~ ؽP>jmceh6wca1 iwDfVeD5=Ѓ5Yq|qd|&LϮ}؟}$^>L<+{v}9 Jy֪cYsTƟ_?^uT"ݛh}!nӧMARs-c" 7nM4K-q^ǽ0I|Q^ ?Yad@Z]aC0i~A o/+XR\s%l&u&m8aU Zu`4c'm]J%5%Hrwsjƒprn`ѥh󻋺@䋅޷D"ޑc#QnwاUMwGZc q _3w`^.?fXX4*ߍvH¡ph.Un[f䦳`һ+1jY'${kxZxx0:5"Xp`6\lEʉ^:᭹[rU,eSMqW?/ǷL^[,jx͸CdSCb9t xxڌtG6ܖoӨeR/{u(4g}p2~mN@JH `c|?p滢o41@md*<=HQD- y>tI2>/cM1Dͦ K @eR+e#/H66532[byaH9 G&^eAV ̺0=<>HQA5*.hnk{ K&K/m'⚲ؼ:̐*X"j6ΚZor&z~nv/A B}AHp2]C"l;n|##ק:1Um6}ܥ(kQ>3T #\yl3='}C2 |!qVa% 'Zp}``ϧ&Ӏ:jM\(7ry7z*-:Pz_p(Αj,10G*7;ʅ~^V9y_X#dRS {ʓ!TJ}],񬉙 !~wA70Lcdž 0ZPASYa3$}q` ,g6\{*ƋL6w 3eɐP6=ƯH OC) #+B /yDhccs<2s(Vӣ 5,K86ɋ$BNK{u yglH;SL%jb",;jN0pKҬMM$J 49Sd -XkHNB&|SjWȞPdRPz5Bۗ1%)gg 6 sz7iu(M6R1c)Ӊq`lD:z`Mcd#C֞M"sl=B;JTmbܻN^yP{,yv_6* QaΑS;YA+şO)0OyO(x(VGѤ_d@/Qi47H-:(."]K&icaW@$wEj]``L?,ͳy PF-A9;VU`Ҳ?G3ޓj^XWM$$3dK3*аS}3mQV0vԒRG@B*"8ILTiUvݐZmà$NzCv%y4$|}9}][B> f!P3Z*\C$V]tsdHX0y(`ޏ'رkqu3$ߦ7 u6#K|Vn,}5u&!yͶ\eOJs0* e!M~#foosjIL/0v㊛uϴ瘪T1pEQi,xuYbOzPx'/6*LNE{(Eqհ!Jitq/x1UƋ2 MٽX 3X%*4uVu,}0D-!6Vm7܄BLx8Ts`2rMaJMi/fjn)9E%4Zl*)c&8+n34qǔr`庰%d‹cY<_~ض&[6( Zjf=2Nfئ؛Y@s y̓ɘV4~.cvB.VٕҝIq"tڣk21<:U.=+Ikߙ}ݒQ~9'פ_jǷ2[U#e}*]xkkϓL='EƹKlS`O 7XqjzN;1݈!]>)$Wf?մ9>-(WdMes̹-i o%%+MNBM_5P@R^r~b<8)FĔiSX bsX|Sz{<})Z]`Q T`7PtWD..?)_'_iSz' 9Ol2[p_]WoRx2[&[}7n+m.ls[**֠N_ dˌMW}"aË(NzUH5:t"/_+iDLp^av;*HjfL7:}[>!Gٌ qLPꚌ2&[(\zb`M8KzD~ު뭊%?e=Ek^wvhny/9<ȼ,qiDF^t)ĢL k0GaRa>b/Jg"| (BW>l68l6-~3v[2Oq'IQ[,pFm{t-/ dâ7a6ޤtWulanr1.\w0$G|LD_+Nt5vEȗ]kT x`(|eyE%؊ d$`2:H=[::5un˨Ƶ.SMZjE&U+\vKjl^T-So}~XE*<ZJ%tz_uZUڸZTfinLlxW)zBqi6X8$%?Qoq}c-wvCɾ~'%Nb֌dDŽ 5`GKwD#{e2St 3NfFċ'Pkx=T$kZiwDQfr['JA)]ֶ)H͊t=b9.C\-ƷmRm\)ڐ7/X1_=^S5=FW\z'oDKIy\w*7yjwT8ɼM8H'ta巿Ӂm~).3U'"_ پoSt014 uvH/ z{' !zr}!ynRo ʯXª.}/cOŬ 4FS1cpz$7K{!(rvE@>MOWa[?勔\:tpmؚ,?ѓr[:9˵49_/ (y f|J_=L*}]A'A'/7,RHVaFo*4t$+6Λ\п>*+]{ٖGgA/]bfG~j<[A,E<%]GnFk\O{er| 4Ov g ԾnXnendstream endobj 137 0 obj << /Filter /FlateDecode /Length 278 >> stream x]=n0 wB7) .钡EL" 3%Cg3Oh[], ۭ%kQ˚7]BU- .}(=5$lQ3(,˿=1?l{=N "DĉDfH1p 鑑*,Ę@d͸ADUΎd<{X|G:AsiEH:يVj=eYV$z6[Cx\[kXvLf*4I=endstream endobj 138 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3254 >> stream xV{pSB!$xT0{BBMLYB\(Ilކ زel!KdI[Iaҕ-€1F1;mHHۖPBI;d]2;iGfwt5s>6xs \vrv)]6}_͵Nݚ2|>O_s! ?OOxr%kT ,Ų9k֯Y+y9%"ieYiMNaL,EuΞڲJLkbn "TҐ[+x}EL[ 6srJD9sgk%urHSX[.ֈdեayi~_4TVHJʤu2 7 ʏV+In {A"v{}[ۈ7DxS<xNsKqۈ4 O3g>ϥ/KOe͚I|'[5O5ol޽'__j5s ے50jN  {3Sgnr"`myDߟF+bt4Y)YH9pz&%6Hv)isAHe{Hob!34j)Ej{ǀD(@+sEZ=mT]5 *E9: MEO޾Pd#rC@D;=t&go"g |nT^!VRTuO \:-^|Ʈ[Ww%hCĽd0J4P*_[m(tأ3Uƃ&*=NgkV ZHI1Bٙ'PZ|>ɅALqw>sf TWmDW7$ a mh14Ru\AĆ ܖW?P FYN:;*~ I2R!i}4޾b~T1Ɔ v!`Ko.'v[FTY w-5<2SnѦG jV>w>raYH+B K{!D csϐߌG(g\mAk2ɿ^d9^x+fzv`G$P)ӛtfF&oφԞr'߅ԫGKfC;<ѱ)4n̄uT&,wڅk%YŢAc_Vm OV/лd:S43-vڢU4/r&V.brY^0{;qWbG3p#ġ<_Ovh~d"nyNwC ?t{S"Ҫ l42㐜/"sq_chTx_WhªN ʜz%tUW{bZIlg4z PgSHj?6 BqJ:cy]v\UbZk3Nq)ΏvirܸfpXdf7LƱlVӣ&>'QZF$ t*qr2dP ޭ{}V7ǁ!$]A@6Ƭ>Hj 0Q__2sh/;X`<媒 kq ev 3l~0Bu $8s'yiOt'-Iendstream endobj 139 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 876 >> stream x-mLƯx@9.\nv"pRto,c4=h7+=1Z2JƘ"܋b$J6D0 S&Ɨ&Dos&3y<_~!T*ilk4UL*xN\YaײM:yg+ƶ ز!rU*Ȼ|n{MdXLEumf^rpnd̢sŵ[c첉fvc0;nocZBe ē8Kn2Z%N&ۀSx$R }:u7߀ڰwY;[7X­CWJv~迚)^xnK;;>tC)'K #J E/Mt 8?ϗ0ϧP-}8=y+:gh N ~r&QX,Ţ_3)L7@ bxNz&F/boEpV(A=I+^ĕ  I0g^mZZܩMW<h,GaˬW6*G)H$AR=*ܩYLHbiԢ|]r}vqvt&nͬN} 3)*g#992+:wv*ZNjM~K˟-M_^Z&޽Ӱ<^p&޾ <!LpbFPw/N~;qp2wv$TvQʜ\#u|yxp.̓.X> stream xW{xSeOhG,4+qavAEPP9VX E-miҤM4i\m$ "":3̳ *)_w^g$|}~ 2 B!+7w{7w Ue+3O/ Yy{r֏P2z`Pд.o0ܛ%Wh t]Ϥnݺ6n*}LYYRT+-RUEL{BRl۰ASTS\)_H5 2TW^>YTS&{n(TeJiLY[\**-V)**eE55EUWjG4+~B[_w&άlz鏖%l<(8,.zA`^/+"xR $d S94A */Z u&98"-oy*l%7n;jWg-mٳ0~>JfwvlիV9hd)j^S10)[ ^Zn-r40_"b'hfAAmK=0F>cq{P=dd3(Fc9['ri<7o<?;|kT0 'q$k2 ja6.bf9P1슀$ -6dTP o `;N;z S9؅9Nh^,nc8 tPM4AzԌc# Um 15Bk}愱 &כkf,g Qٳ!xlZنb_7TFTV?io)]]N7}q%DJ4wvfzi&J} m3pd1BK;{AOEٳ)>'%D3K]w xT}6֮֗j?R N/DFQRCG !=2A2ȭhu!(_^~CYߡUctV]tv!_ñ`2GalajᄭdP꬘vcsM|d}΃7Fv2oc=Y^=,x%*z. v`9֩Cosjꡲo,Hpv8.Hܦ4Rw#ca='a;:>.Pɸ`!(cT,\ZH͍+`[ 0wP%HM7x]`L2xj٧0Ij 54pjv½,bBkm(uKvDOLD/L2 y!>La )0cNBn tDz(U_+D3'xfr`dnm`H=NEÓMgYϥg/PI5`ɫ/'nFT^LSHqtKF/~@m-γQ캄,cjχ#ճDRףVJ0ɿg5xwht^=PBu Xz*: .9Ё/ί.(z{_u#hEWm@Ǵ?m(eCjio>x+$@~1S$^(uuڄ6QBtԦO$Ƶ<57lr eÇ`U;09rZS?uw&^|;Jh >ESWxZ]/v;N=jX> dɏ |H?߉ֶ?;M$z9򑐾8T$&$׺)qnx8| /g>y'^ܝR@nܐ@V|?!hCŭCxlf7ݧxn;_ PbXԊmXxh<}k٧C?=ēһ6Y&w$5YVļrwûuVouw}ĈAkOVUh`&Eʜ;ΑV: =ͷ5'ZW>BY_W6 }_^MpWm΋雜|PS݅hXsqtԉڥ6%|-ρ%qpA e5XV'o@^/q>{ҝswNžgzF~ '~έY{)=*'.^>eb Z|$S+Ϻ5ⲲO"5endstream endobj 141 0 obj << /Filter /FlateDecode /Length 244 >> stream x];n0 @wB70EZ%C> stream x{PSgsU%L)PkU*UZD &.&$rys! $B(CQWmY2Y]]tZGRwYg;C'۝s9w3ϼA9ң7(YU`ԾHw؁Ed+|42gA(iWWxMߨҩ[e)eV\*ZJ^.QI QXS!5A&WI%譌 juZVMթJU{)KEZBMj${EJF+KD:SgjD%QL(TZXʥ2J&QgR>BщU*vFq$.(WI,--rVRObj9 I.[hq9՜4N1g@ $\D+&< $%(7{C,'şX#x#hr s;p=Ò#aŬJrH͙6X65y.0jk@kҡ nU(} Fu:@6(Q \.2ݵ ۍ3 xd?I ~`Gxi< ~p :!y;;v/Pm;Ch#h fhL. xM~&wewcFwU4mv#XA ufm]UD:-4}-.+؀)TƵ].S~Q-'pK[3V~WpCۧGOw/NY[RPBa.dT @0:jz(NZmzMLJQj&"os# ~OGA覘ofd| >6g욥cvCtm6569sSiAc gjuQ_5p.9م@~;qcbVGAzs=1B7ZLt- N:sd@b#^v3\(֯ sv ׀De0JƋYGC̱+|_3Sb4[sd$lfᎤN }mm6KM-qOkg-jx|C  GQb,̼~y=eZQKiNVzZ0os>YjàjdLwUpŠ[y羚EOܜxOl^"dRks{׿y:( YiÍbpt$Ӕ 6Rop >5i;'AYIzk[TP~T%>^7;c[B̃ ~>6}-cA<䧝3jچ"gPGղ(=}DAh F)Ɔ٥Mf0F䧉E\& 461EgA|9j-D;~VB,>D4%LIJ|A1fndNd PFN<{fjd"0y~/6xs_Ή}m~npܹ ;sendstream endobj 143 0 obj << /Filter /FlateDecode /Length 5703 >> stream x\oq싃 <~}Y ,``{-?P$W₇VTUQ=GYA䰧_ߝA(7q_~O^=R fӂlA\D;X Ɯ\4-A׫σ &ߟsXl N[Ș0m9N1/a2'A90H#rR4CYi(H`JZǼ%1ƃ:EFPQbW /OJF!&{C\ЅӮ?%ά*[h q M MGiI_#ΥHƴ{[ ,(*^ijq+;+o8Eo^eFؾM}EQt` Yb6Q  ^E/l2H efwr7J\ڋ"dXSG 5g4ޡQ.8>b-4 }j М+zhWqGt>qI}*_xiyn'+6 5S0 \)"s!n<=?Fn?=:b%[AJ6:);.zʓCop/:#=3slNXRKb^H>/@Sc|E;7' gW63yE5 ={iקg߮t-8yG[9:ϋzFMVݝ͡fj_ӻ> Oly\P L$E*R{E*Cd=-%ɶxؔ">F( <[4+M9`ڶ<Ux6~䒑g.]z|׆=.7[ ƿD7١%㷧.efw~{ Y ӽ'v6'%g#7 56 |ەٚ/Aôq轘pp&f GG`N >.0XCE 1< 8 !{ϡX7KXPffI">CIefیw{WR?_&ˆ1[AO7L3]/d͏*A 7&Q2?4ʼ(\B./V;MFR-i ݵT,|31bA2`]%tzNyZCvW˞ ]V`BL*a#VRnq4JԿ2?T;kd|i1zJDNz9!PUF2XZ7d4Qq*7LCj){G3n:4mH(uǞ qN})ҀRZcTAZHDStX6{< mQY̾Ye`N]g!ůXAeN#5zyG߈aK0q`abE&Hu'8T ZE , |-C&vı$h؄AMf ZE>~r0xӋ1-w-ڑ!s?gE~XLMHUN̬Նeu]͸1v&ظU1Y8y<ڽh(|ŻBёZ˾ )vAb9njB ?Dc@cn1 #JY98\vjrwVoʻI[IK̇|^t2Yeq K)-fށ+kTv/N|prW!z!qM]yQFQDkprGSBKB\[zĈWexMXRc*LţY(WZ,D% to]\7~6uF A\ʏxB>:Bq=XkHTbLQ<TuuSݢ ٽgKʷD阶?S4)dYn!PIӲs?}br$ɐfW>43$]WmP֕8%Vʱ_>*,ѓMGP)e5EE a[v}_4ӔGȧtA+yɝ,+:@lj(Kr#U.|kog4S×4*hPxjxB81IK"؇BzD6YhAg|$/F~+!Xiy8׍`*lꝌqhDཇ.cFt 霑nUQn#ZkH(?- !KcRKV p `y5.! :@ie*+sZ5únap*UFxVw{BkC%EK(t%9gz A}k$d9 Hrj3SlQ)' 8s~i⇡7D QcϯF*u !'".9vjșr|wN?a" vΔ+~CTSj蟟r`5+[w/7^M~ erI勆 WQd|;<1(YE%nVٍMÕ`Ʊi=f"(&:J1776ӅGrb~j)`m«#`vw6x9x/x+Dqb|'{)"T2oNYYq[6KFwD̾ݞm^ (~P6Ʒ+F!Ŋ)s:DuwA1c۷9#n*3b&$?^' ϗNFk< -&rUI%;E,5z9E|Z y+JjD/8ȋ P<5۳KڹAb*| zG W>m7Nm~c[DCϤ,c/Qbd# RR ,`A=}cL u8$Q"<&NI9,_&V`@ۧVRh2Q]%H2 U̕,`ͦ'V_Lj:7g3Jyi s,yTHjiwrǜn<{o8!ڬR51b3D;nk?ٯmE]YGCD v-'>C4xw2Kzʵ=2_v oKJ"ʼG*x&Z.J" 0-v@ U*;6wϲv(D:łW] Ǵ:֥-֒-;R:`a"ib^uP"˳B>!/0tKrh4WQHxT2nW|V[ɪLJ疁2B7;, m8|DC@,Ou&1L!rl*ҳKRzQgu.ֲhb- C{ :MocekdUp:-- QLe歾O-D1L^g3񭴇:{?($endstream endobj 144 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1718 >> stream x}TP񒠗t&݅hH*uD8@=8 -" q0#4i;H 8Q;LJ:ww*:}Ϸ>K( Gzyo9i5osNjiO5OTܓCq>pq׸oYy&IEqg8J+v[lJ*XmJNK`6n]i{XJLYP* v; \aJzPK7=|yyZKkiۺl*˅]KrcKdz d%Q\Z&KNS*9K򝖂K,B\nJDlNK*-TZRI_N|p?'`ʷ/CaY*ZeECಗ؊.s/y>M\ϐ5+切PLGZqi%~ mi''I$]"bvWµWFsGQ]ݩ-նj&"b A00EsANM11"pz@gؕh:NLK~ڮ~| 0DV7W^’ 8Wǫ\Z_p3n,zޛcOC> h{ tv.geXP C_i>}-#e)?Ʌ=grFr MP {P]A\S"=7QuzS& 7 d^v1d{=f*D́ū=cYAX(zfCoUөuD$>˯@_^T<׷"yFh8v8 Әgu͞STlmFZ#(F5T̗x5Y:=/>w SO-/a'Fd=WVVW1bb?S=]*#!5ZP\QXolOg^SD:\B܆48 o8wK}UU Sk[8Σ4Nk8-*Txk2S͂f8ʪqQh5jjiMcKW1~\x!g5,AixỘ)Dm;a=0^9HRv)0C0!!ii>Bowhd9Noc1 o(M 9547O*h <`pRa.0OtB.k-5^BCRmji2~ԦbJ~v7][KY uα/: w`dRp Uola7!Y5a+Jg ?Uv1"R* )60qFEiu{vvUƔggLת!xeUPv2S1]4x13<Ϗ:k褸t$&yA=Lb5;I^8kج^s`ĜEFA=tu 1)̈́=VgdAu;^jp-lc27joendstream endobj 145 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 877 >> stream xEoL[eKR.h1d7Z _d΍a 3VVim;n +Rɐum?X\gblsK&̠uKhWo?'00 Stqx\(% HLTK/z|!yhzCv;X 6fU㲹A*m..^av,56~1KgL!َҠ,lb5suH!ls1{45oITG JR"+.&ȬKp[,Mlj Whչm@Si`T=#O F|+MXLWt&|[[p]_p%z}p:NېU.e?J2Vk053dxE 8v>浯&.E6c~2_kMc1{},sc |_؝[oOV<5S|X{ hڅO%Rw7J#C0mʎax_ěa8Vְ2m9vᐦ OB&Qd9 qcڅyDώUr^%UJM2jpF(Dߚ;g;Pp~F%rs330͞>srqD@ kwrgbX  ۍ#?[dxb4LEFKf Z{4Lr X"v*\sdFBWXZuBHbAZ0> stream x]O0 <*,eBSehӤ!|tf]˔Rfj7 $@:<jIGºWDUOHl"#sZzj6`. RYɛBZUp~q'>?jyC,*Yendstream endobj 147 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xMKQFm̢̾pMP jm#v**h3x!$ [hd%DIAhf?ÝɈ>< adj}Ɲa쌴9*'c9hgv/C\вHOXl&DYT.E$E&QEdgL!E"iE%L|2DLId~@wȒ2,*Dž7)YQ$Y]V(BHEQ#.yBU篭J3uy-w#F V-w߸iwXpWYlz `̂ژ4{ċ;j םϊOb5(C CP:.O*pջN]hx[>/=/`endstream endobj 148 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2321 >> stream x} px, =)ݽVQ 1-Bx$Dr].+o}\rp!9B4_h(V[(L=:]"mv3;o~ߟ˛I$YIio?ߵ;r _ y#/_…˚UڭjeiQ\)hjʹK'z}AunFFjN55jreuJ9)nDҦWi:VaXzCKeU6+^aeb+Vck_abcb+ǰ;;;7$LJ{2mmBߧ:WtAȞɌ^mDDtܗyt6{w0l\[-Ȍ `W:1.;MWש79tx{t?Gc%OTTԄ]z6Fs;|kCAm[l"ye(n-P>'XûxAdY gȏE@sSvH^pxvpK)hyX} ,,bЃr:iOMcwҢQc/)=\_tU I7[X6,q=#$RYZPml|RX@8D} 0Jo $ ei,!HBo,HNۓNfz;*8v`0t61v7EɷeCXK~TXE~tE eY FG }(C7LF PF  OŔU4I߀@ @`x;Bz1NIo"9~pz cMmUd뺪t1vs> W c$יS`bxrY+۸FX^R<8z qͺZɮ;n7]H|l8.ziqsli%b1l$[^.<𼬀W| P  vj4&k{RۅR{߻e94B6ai.Yxi/'_ t[) OVSf;+7; w? w>-uQḿh u=zFϗ)Chu{b;J{o>}*ؤ1*Y9Є򑖐Tc[+^TҼT}ԅ`{+] W#ݗDźfbfC3}oN0Q,K[I*ƹ F>oqShD3b\fѰ`'<'{BA?_Hup՞|9E*bьXC1v:lBO%(~Hdr9& =y"Ƹn²XQޑʤ|ݾ8]/.0#ΦQyVҺQ-ch:-+Rt24=-Y9AN dMY=x.0R>{<5R|Cb+I+;I"8؟hY=YKUyb^ r+d ;=,'O?6"{؛F^&lO1â9knմ!n<&7\L`3h? |#nPhT{N)(b0$'7R[DM?@d%n!\4^;<ã`< I%P VqމDw9q6Bf,f=q- laƒ//#cAJ4_QǰFكv4ɶG+FZ [´Kh8".eH*Ae)*Kaeui)E38aw(?iolnl״hR(3oښ~[B)mG&fA֨=EDa/vw%:uϟcؿ endstream endobj 149 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 858 >> stream x%Q_L[e6:Zɐ{o&6&h0 Q noio{BJe2J[P2Ɵ Y\21l =n%jq't |ttȅD}5?25Ƭ61߱|z;Nv!i֓rлM޾W̭"̙h.${': Htl"IptsÃ_vD#㺔BJYVmgUo]QRP~sendstream endobj 150 0 obj << /Filter /FlateDecode /Length 4570 >> stream x\͏G?p[r‐< C,HE`wm~ڎ78&!կkۍFO^~Ll}{&?n<8]VmΟ7FEƍSo_sh':q{E'!np0;!tpWXuA]q[*hX>(8|GD(a< yAd!E=JE'ϯoEpm}Y ޼'`/+)4h>1'g"=CX3xphU*;eG~V\GOvwAڀۤ ڀ VZCWޒ0߸5-H4:,fTL.jfLԛ41gM4e`c==U]PiۧţrW Y= M5gp#5`o4:N1&S)gтUkڢOw{~wl7j w@H5!vۇqlڲ0guMoHDg'6^!1 fǭb1$0޴n&L+.pK]EjߎRhsN)m?鬕`.̉Fѭ`j+]ԑBNqq9"BR"{kGkj{(IQ:>)_C@Q H<g_8$Q B9 %j'CdeB6S]Y g˔%(b a*zcPtFРX^tY*8(x#z`L:ܞ[eB@\%L]K*& n';ۄx}8:\]!m_"K~ l$QDi:fwP1TaQ1*ndMxoFS#VK2 aЊqH:%k̨5QFdPV#QU ze iiJ5@.p1ϰt_g׏TlY@QhhZ@8r=f֩` ˀ+XoLd? +WG^v> Luo$QDIWU`uy5I=Eq+Xwh\L)RG yMAb@%] x`)5V;*R8 Tgk꠼P mBs_}e^8֙*_/ůw{UX?A>+@n<2 'CP5夆;p4mpczY oڊZ )K_&QNJ9uWR:7"?vd P& W 4wK%h̝% D0 BvD!mgwX35@i@ F]4b>4FT)hǔdş `6!%;g"բ'n{;! J.!r`F8r0[OTeX PAz2a>Hy2 U?p71ydӏ#0္a%ށ& QULc)tg*'#$< 6V qZ`*j9y"$R, \ \i~P։8 'ǸyVɭP% ʀ5%+Wz*=K@t278֯pp_0̊0(W&X LwkO4 OL eb1@[jђ=ɡF=Um-s!:0sU@3eIc'9fo>;!<,#췬8Q)z8oݖǔpwmUѥL{-KUUH+r;كSn?r;/kf$IH.W_{9 QowJL8pyRyqΨlM&tH" 'VVQ܊M/4ZW X[aE7d*$7 3` ~ɩ5v,T @0F!7 dqz7 J>t: 973x$#[; qx{hn)V`څ@tqyufd̑/APpX0;]4lM*zA(u9*S`5(qkimFdHՐJSmL\bSKj&- CK$ 7*w,N*\"ަ5xjS+/vÏOp-Б咷i$`/V[W!A6㠛w, )Ҩ<;Uv>d^_c#^ ,E2d1[XDa uH 1dw)Fņ^êdFjuͺcT~d fDbm\oaobwdV<#?8 LM5|wj,'4Ur)B*sdU_@%"Qiƀwyubv uNBr &| ]AI˨1,,5b'ͣQuORan0r ZuOڮ'u{[+>J'B>tcPҷ p&i':?AU?gI4]1hA{ KV ;ZEz;<g?"8犀cAݷe˂77^cN-VhNV13oDyV/H2!*"҆WeNs˜auXN4p ySX{ER%y|:.E<ǿjNQ?;+Ig[!f=vtbi&Y8I<~l>u-Dj2IJ_x1 X7VlmVhMO|ZW^]ُB[ ?_qpg*c f?jl=S4SN|dw^={;>W3"k`:ses͎l)kN iZSJOHܟD8&C|k|*7/M}?I2AV2I8wg)endstream endobj 151 0 obj << /Filter /FlateDecode /Length 5447 >> stream x]IGvs2\>Utslx6 {C$K셢t>Ȍ*AY{[_]ɛ͋/4xɷg@:99{|OV]$xOή_qcNJYc7ݩ\^;jm\7guڼ<;-1nn.vz .`v49lJ.%YmۘsSz早+ZUænn5o3&ba.oŖ.j3qoZ7T4ii:t*׭]Ԛ6kӥ]nM]dkL}o@2>n"++U)ؒ9B6#g|0e7?БDJ/o^bgJ+ܳQ.)>:é@mNl.ƕ8>&xCZѦ.${|d?ܖ=V_>#`jf8 m8 <-q̊2k.jj`~)F*#\ẓ}]GNbl5@v`맜RLZ*jjqYod]6\h 2¶'jnԛXP\LYKعn Ŋ.éCS >g&=7$-%P]n:g"4kd @L`jB-F$Τ|W }S6z!̠|@6?Fg=eKM97{4<'B弃abm|^XMk؀یlSs0;R >~Zf?T,5jhNN4(J'i{x׋wǣEEؿ!*j!x">:Lv)(>C~<J ̝`)gR\P`QczP Hp4z qWĔ#˂0ecmw 6ܔ{rM; c$\nbyrM=Vs5,"ٹ@gÖK77y&g@nD @=fځ`ct/E 6A58㒖3D씂ZD:`IZ ,Sp2cdQ2ncH0@xEt*B )pt*9aSR$MS}ٶᗻ.mS9 ͻgAf߂s-j|x7 8#dnaIa2E>I/D])ׂJ.tyd\# LߓjcLfk9~KCfѻ DakHs{s2x)?DL(- @ s?v.d1\[p e6]Ə_u<ɛ={,d5{H: S' Oy_ G0m7 p{$tb$5-B @sh, ª Z Z  y76'" w657镎Ed}IWy߂ceJ_ؐjf_n0+rGEDi0z KMc ecS@l3yz|/'+u1&@r,Bt1)+gB/Jg pgEB faty{{{JN )_DzQټuIF(n ɳ 0r)]ipuӖ)T(1jUe;uK31Y^P>NԚfKJq1@IS*'4neLt솧rͬJ1B3F]godVa^5* kcF"daB=|_q#l [dz< !(aw}pyI$ni~ڌJF UX?`#usW8dfj0S>8Cԑer 5{_N*IZ9TdnɁo0 ߯V٘n ->3BP. 6UXORѩwy.*_~V;E۱(T[8͛R{kV*0lJ~Pi}7ՔLNK҆Sq:w/EX&b&2ukK'+i]E{ا%L^Y eMGb=iNs]#T5GXaB ~B9 Ri9B=J&Rc݌>Jf|14uΧ||_aBn^0'E ~[;ڥA{BbOcF$_iB:5גiwj`@8R|;-U -vzF$n8$KbkW.Y|`YL.&̲:ddÎ@^}S0[S<[ӥ5}oE ц3Z:e@y؞v'Die{/EGkSr6v ܵjW Ԑv|>h,ԺJrh奠=(ɈE$"M7--!/\o? Wqda.fN |wfВ+wQ.\S4J%ksQ-#+:Ban~KZKŷ`Uqf|ǥ'q~FA[ +9T5V+hLy)T0iLE\ȏY}Jh&rN% 0hvk5GCxmo2ʑbtX:smۺAZ$ c nMk/q- 4I{b9[zsݻ$ cx^6K'9?N[H4|1t>{mz50^&Z +>.^C΍a*ZK1xS2{oYEṔol7=?QkCDj1čLA][I5+UW=3E̴z5?Xez M#Y Nc8fղ,:7!SZ* Lx0q}B1kYJ c˨g241x4}db>/ʚDFR_Cd0oaB 7sM_IQV4z+d-h^G$_8Bد,)^T+j2L&-f_c\+&ϓvL^5sV߲+deV Gd ,>'G(QJHt>3g~*aNN,ui9 D{Ju m0G> stream xcd`ab`ddd v541U~H3a!3#k7s7ˊ B߃``fd/r/,L(QHT04Q020TpM-LNSM,HM,rr3SK*4l2JJ s4u3K2RSRSJsS nӃP9E A L@30ֽucź>c9lߵ~L^2FrR}_nrlsguϝ:W>mr-S#z|gx2%[euweռG&Ddlk j讪=W2Is'} }wn=eKӻnn ߡkEt9`koߢ9~>':yn)?zٻv/k񝍭Dɕ3{VY3vgW>> stream xEKL :dmb0|%Eb8yE#U6úxlgt9l25HbѣE%\|Cu bڙ+g9GJk#?4*Шg6ZJR>~DUl9is!5' N($.YH`1938cL c+:~p,+x>/pQAI4WC,$`;[ C҄j$i Aٌ HRmA7%e̥md(RnR>D5oeu^~' SDxF!ƍBB 0B;`fBa|^:h\,)Sʖtґ?.^~mH@l{y¿ڴQs^-5;7Wݢ ]t|yod/.]!w8A.ȏmXp&Yؒq$h=NFj>.ϼ>L.*s]iry3)=&JTZp06Gɉ ]G+ Bx , (f&Vlht M^,bׇW)XskЎU/7]%e>gis:˪s"Xp,$[|R7snn٘fל ?zWNendstream endobj 154 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1526 >> stream x}{pSUmJz.FfWAٖe|PQAq(- Z"ЦimӦͣMGI$m䶵IJ+8˸VwwpoΙ9~( vyzW.OWDs˒;dIKWc*l 7*fjֵ5urc&JKݬܺeK)Z__jR:VʼnFz5תx+)1*YyrfSPzFlsPi  :#+˛kjNQi*1Oq*Uƻe+WRj;UI ^h Ş|j[+ϯ(Enf鋷JrR Bx+ϗǡ vf/}.@#4P(鉱){W)iԺUK F(#fyěZ2LM5 mHWYwP F˫,v`#Xvv`='NbM0wt|^s.ۍ,}=$w-'B<q4bVf݋d\ȔH 1-]~wFW60)M@"(agWXzW݇ @d(bEߋxJo44ŵ&M{AQ_>y562C-=uH5-mhĂR。0]zW7?@WUk[3` Ck0{FXء@ k_n8~9@Q)̅.䎅J"Oq*;D[G!,:τыx| YDiUx;4m5'=p9ɉ1up&I߾a?_c8!bmmz 6rX}Zv˟Hߙ>w@W Ά=֤jo_[o#YVւLWNVdE=endstream endobj 155 0 obj << /Filter /FlateDecode /Length 5152 >> stream x\KIF6B !.}w+Ȉ} Z{x=9ۉ̪Ȫn{=ݙ_<32_mD'7/n~߼x8gdqS|x O)hڜ??=F7ΚN9=^D'th-_%1`\`udJC"B\ .Ffu"b T ҆%uB_Rr_2:aa$>WԢC|R(Zuޏi a:QʑG0v%l)ͅ~yg#dg?2mA+m.S25ÈHtH<8M/]:Q)R&sGz{m}axct$pv2FÓ7 [02,2Hf>N"|$3b! z^>{}bg", h~pH퓛&0K :CY-lp( "7JK~T,\Y(sdc"̌FEp=M`SS1^yJO抶 Qb/ȆfeRTh$o3I`|NP@W.ͳ ~ A!8HdNP@[P@XPRjGg6Q}dK _S-b\o~E0ڃYSZļ?N>ͬvQJB@>hMegv蜏I{=|BdX{9Ҧ$ou=yCoP8:ºũN;'#֊{ cV ABPƅ2-;(PֹW[:%=JdjD y0 8BXZw68(\Hc}=ԗEv@u3"qڹ ;w:,:P|b\ F念p'W/~%#8eo ڀGl 3Z$3lJHMIqk+:ޟb? ۫΀{vFQD7/A3V)Ms\_ vFGl2&  (iNĴ=d9ɥWy3NΌM.D9T+ᄀ*lbS֦F|o3..:Wy<@w1}sH̾lr9(#^%v9emV:3ϝ3%p ?ܗĵyDXd,|}G ~twGvG>;p϶,D}J!]LHpp!yDJ`9۫CD85ZXy`W';~"T fr/ "mt sHNk?I;BąPp_dgy?P93Άb56i]Hͅ3 ΘH>Td"4jNT zDNmwUN*Y4XYpј\Yա-pE:.㚢 |aedo=Ď; `Ue-NY,2 7풪u*Z8&AUZ10feequvsLt.fխHNBVXY숃LȦuG/+%8!ӫ:>㪗[5\Ч'%'ք[Z^0Ҿ,KhcDSg0X 6bunnV%n4c~M~CC*׽gEO-('̽|P1lA5=7'B#f/%>V\Rrx'=r2_W~R3-t}\Sˣee'HВ6}9y༶>;fͮi$8B,\b6U W$|B܍#)NzƥrȷV<1x(Nӳ e3qiT#@V@nz*tg*`CHL[=Mm0~ kX VCe CuYtaW/ LIx|^v cAkE6VȶImT.j% (Cp MTLkd&qgpΠg#24L,Wc=9*wQٮ:74^ƤL_tCFM,"b7APS*5v;? <'yI.pdп֛8I73qv(T>3/ZduSrڹ~xs24/Ċdp̖kP%YSC7`*::5=?cZ3_NNpgU$2x$;m?-gJS PNXƣm)msϤ{(KK@]HK ۮuapEbScye3XOɿ)&/FM6T5PDI4_,Un'*0Ձ2SX&NO?{<[B{J"#/Ufg%\m: Fw#d''GLd`uȴ3Mɪ2CN8=dJ2 L4UgGiဋiC99b;m OKJH Q 7Eii?ONEpNHkkg+_&KV}n-ErέP~P t,y: dULCВHbBZj)sʪiq|DGtL2`+F^;kعJNi̙!"Xk:"$rQ~(dlv!:? c}o̅{!*9I$w!#ԎjBN(ND S&C/][AU;ocFulx Exeo3>kg2.Q-HskںӊW)ͤ06 Y1/€{˅O*Q)jr15 ƩBmh) ~9U f_FJ!}k`n+WvډB9;O#vӟ$xqw8)ӤdhNWe~r~ZrJH;+]_D5GSӝNh578`),IV&gq94)el2Z#q= | 6 G΅ IWkRF\?dabf&C/W3ӿ L@o>MDKix ,e,`L_O1(sUqr!񀃅j71ob5.2%jfV T6'yr9]г0CwpArmmY2J=Ze8,e{w)C+%1H # K@*)rT QY f5ȩֶn.$@ g޹xg"ʨ̌]*xfS/d!$+mF%໰N'"-Y! Dޓ`GUKV̯I5Kw 2Jԁ@`5&~* !bƐMGp?Ȁͮt^+7{)1MtwLXo&+Trs_+Յԇn^SO'b:P!.7g3H'>`Q(mnϴ{7g6TǪD6PA0Z 54 3}~o8;Awƍ#k/CwuCF5"1rous#"G ^G ?v0Ngw5>A"yRh$&JѬWihYcUZhEV#DUn15\w0ѻG]ҫt"2P`6>ki;5ib7"C0NoN01 f#C֚hcLW&F9yXabsߊWyg*d n)w?YӆWô-%:KU'},Vktk(A[e).Es}F*/) Ñ7ڶ9p(÷c*u:$Cx[-YCɖzAh샃^jxcodCz{ '3?=3MF:!e s_{QK-$F\:cBGq{~h5|7O$L9-xK,[:|*, HYU.rx,C_6uwC›endstream endobj 156 0 obj << /Filter /FlateDecode /Length 5259 >> stream x\Kq6'>.!I c҇pI )߮Ȭ,avdeFFGևN{B޾Bw/a|zޛI& N]n0.ί_|Y9;X *}6YGIV>%sNi: 뿾z?jpwg.9[|<+;` ?*h,me"|dtyucrFS-{ʜ3CP6!XO%T2in-ue8l8!iа<0YhT?` vmqp9I2DNA\FY; QO[qWI*`(&&% J2D$[WPcȾA9uj飫/roqH:Χ}Xmȃ@!s;~L"F"Փun86tC>2׭ xgBcPhtlϷ!?$/7TCPr֙6DئcH>=˖!0?Er:&035hU:`ܼ_ 6}9:J˽t`E8|Z=Lnv#3MIL,' +̘1_2OqS!8s3\pdLe X/A" fz?8>j2I x~d4BJqJEQЬ uAq7BJ,M@ޮ s @)a\ʍzyqs!f0-t!1< 1u!YS|Oe}FIGz[llc `׈Ȱ3$ ʂJ`kz)&= a_YgKnh S&Cv@,ZZ3˒AG l|WZ$jyxlԎVvȆBEv~#$K \Yq:#HIhK PY-h \8m߼8Dܾ f;ݞ!BLg{;1oY (~JC'B 7| xs{.s8T*>Ƭo,@h(0ƣ:pa>n ` ^$fB]#.( g#0?_=4Q’lsǟSyc3򨪨,1"["Cl-f Pq# WLbogD"Wӂb@F,Κpn8QM¸Aѳy#Z*K,YN:!0 .q"Kg Ku-M|$e<(l hU1,97Xv) A`oMyNKX O09yl`1wk-Kd sߐ YtB&œK \ aTb`7Z:3mv<(6T4Q-[iЂL k,7J}q&t^{.2K,t4or)T+4z%߻+1É&,ӀDZo ¦2ř~{ (dwuJiȑZ/מwM YhǬHnp[-ax{eLz! |Iw4(cQ }%z|3 ./l3Ŀ4X V3a6H"=5H:4.Ҕq#LfY ޞPd#+8RpMf1D05rW߿i8RLO>1lyEDbq;I ¡mV tyFxf+͎HNs|F0ϑP&*h5 #d?o+h9QxP|·hDS CcpI*; pT4iJS/7CPVŨ;c.k1cːF\_2G3AnjJ&hP}PFfA24熞T) qV\c~p'9"9G񵒣&ݱ-8b|Gn7Ih $~prC[ʯ¨Z4eMI(i?آC{&ʫH} Zy,n`"zB|>%dcgrwA"-3hザ DQ'|yyc^` 3%T׳)#8ѧZ0”cR6aOgksSFkBlU@}EL/U2R芨qRaeX(wh6$Mϼ+Ye0K+/%@5d`+]dM/Un̙^m%Q.JSs?5g%_wfȪ_ުSչe2(9E9Y*Ӂsۺ].m>2v0-S斪ngv\һ,w`VNjKO[YsbyVp)!0ltbĐmр߃S1Jڲ8nGY7Sخ/] @j±ef Q4͘%3Ӑ},NjәsAmiSGh}] sPs&ܤV'-'/ؤ|2+5 'Ky;k#Cd6ԡ]n oqG̊i,VRβJ'Ed6 )[N'׋U'u L3M|9#GbswÅ{,ÖD?PEWOw*yJTb6m08-Ddva5RCYW.H@UFC=P)mTi1`DF'XkWafP8|>c!S(Et5d{J4X\أ06K/i*pX(i!4:7$t}28M0a yga;Kumߺ%c'8Tպ \=>$[߽~ʧ&ɇ)OU81I.$ZѣBcũ18*%G6LAl9gӐ: m=Ydi7N ̛,[ (iJ-0|cNcjɆhwaTOcxVQIXW,KR\v0o_weh(-:LiɎ$5l?kgv+xm AIE=nCȎti]{ h;2x68lHA`"F)OT#c٘톝EZ^Ӷm@v vK10bFvt~#,E7o[z$yʼ&ZV9"kTKUbcJf2XxGqɓ969 /xbcizZBXi|B swATL4PlyT-t&1]9''?.Mk9_LgХR} ڐah",zAS.C2B(_J]8Jmh30qdkE> @8DIC"^|Qt )i=? %ė00 ^w1˳mQ (|ȽV ʎOme 2}D1\b&){-荱`ж)yb'S3PCJ7h&Hy |\zXlSTPl^f]UI,E.5|%KBSRS˟1O.T@ EtU0x5.Ytd IFSS4%X5yhȹk];Dw~DW],U]ǹHss)!cqCNâK '\"KA2K]{OΊcT4D4_IPU*&r?̊>fz}ݛX$Ci} )yR]$55㮐slU9̈n&t(x('$vaEW? \^|.$7rQRyQkt;+;KMVVy-T*43IU"7Qts voo0YqKv>4!)vg_q$> stream x\IG&ۄKalρ0 i$l͢%qˬ|Y36s}Wɍ''~7oOɫI?nO.6:U.Z6NL*tFꍳSoN/N=as, mZ*m=†`/w8F:gte_l 1h`)<,yV.(XJ \T^#EH6n\cxa URh;& c࣎JOaLJ {ӡo1igȋ;_)W֘sz7?v>!=p>@N~cp19 $2Yxn 2IRlU$(W_;BwZ(3+ ǕTDV:WZrmuB'Ip-FWZiuGK-f/Mg7MxQa@QdDKɍ;nG4P8>_ |V/>}Y9Ӝx{~hQA'Xygy*…?(a3 (7B&d^2KC-b*ND qU1C?qT!{Yn Z]m68U%qՊH63;^;W pZ#8"X:z"YGBF+e7}]nʼ̣Bni(;j2D^Fkh$! y5F%gVmǩJb</rO^##SfZ @ O2.bZ8$xJ|PPWLvAoRrP!?|f]Hye6C6rR!B۰1-UzI&w6"y8XEMI!;cꨱ614MvM$<ɼ>wvve?%`tZA[mwN.^zO=H>;jQσ V9G%0N16F ГH@Y=2PF m":&85p/$! 0W#fFn u;q6CphM:|ŪApP4a4sh !:hqlAӜ_/(/^xAe!9f5R+ӅEif[[!*bYMWћ4b: 泦jkwRAA~N VL5KX[ vr55%ܥ1ش Le&ĄL`l-'~2Q%;[ eAa,l؜验c2]4^M(N::X(s :v6}'5J8H.&%Ng a&y{kk 8F| Q AO$ty,MZE0gWlI [  cC| GMh@yo69ZͳesRrx85ZཋepFD" B^#rNEV?/,F"1[׫ÚC?0Zs5I _7,%1#l<%o:'Ed43ˤtWɊB׎beQ0,؝z+yEaKˆ9G=GDԑQ= L_% JZ4Ŝ~-?,(7ЪfCe&%~Na{#`6w%K-fyqs04p}`?aQҀߐz7qfY\s< g;L<{MsGd^1Cx] !sCjRtRB/f+vUw:\_c;XX*alv4'Of"I'іO'zž#MMocVJ ۹"Mnb dYIfM۹UxٟHī%[U[f >:K0}\H/"`[6zjoj?U0[^?$Ȫ)`ObBn},ZB&i`S:]7?86(~dΖ11[72[y9h+hYxU,k9`Ol0n0{PS BŦ1d5f.AxC`7k VA1FrQ=c!%1^$7.`Qc A KX5҂ #RZPc9`tV73;f@?KFgEEvLlc@iYj+-QWF {`=hig+~&LV? HP8iЫ jO hyNN .”.FꍸrgnajXPP"!QgőrޅPí 5 / V3 DϗA(VH58 R_RS>"g> PWPqsh^-n8]iYrr\R 84 *} {"ەu[?FKv;uo> bS{KR޿GkKɛR%8ZmFuf&nUrg<i四eZN,2"nH)w' xøl腷⫻fkXIP%%2i:R9[f{}C ,K^㣗X"~,T2sL|GXU'o~=ii5@$ >.)fTjTtG0 7i؇<>~AGFebT6rp3ML٣|4Q{Է9 F@ɰ,(w|YW-)CGM_q}檉{pw 5*ݵ*A WM#ci=V4ފc//[% 7#`:o{\MH,RMW[,ÝSziͮFfo_ wBˌ9ώI@ 9cJߑ! &$!|OINO啦iuj6^nqQ !l;e!Zʱ<74S:K8`jXy]=+xP9N:]{lTn5i[b ?β9,";+c~<>QxK _Q*%Ƅa *] nkW-ЮF(?Nqd [b`j(_@ЁC|C4xPRG?5GO*]50j]~kjK`*`fhQ14oY, j d*`:]ktM-W; s]*] ̪k`;?X l6lOV"(7`[\[[PKb|Ix7'bW0P߭H-bg6'柩VK!}@UП]7>@ v.\> stream x\Ɏy훠Kۧ[]} 96 2,)vȬ%#kP0H=չDfxD+wu?>=}"vO?]gh?ljw$x$`Y*wg'l>}^2E*6/NE+:Tᚷx Z67_ B:g a_<+<-ƽImW悾"ZuQ(0A U EavvG4lNKJ{shZ,vv`]>a=ϋ( bߏ5ĉF׏y [R觢-Dcɐ7{dqRV><]CtVcP cPH١Q荑Jm4Fԫ)ddojM(Afnv d Ҁ8aPxQy(x~Z)Zea?1@s+W'_-f*_eְϰNL`S^mݓyK5V/=17 +1Б\WЭ{C`^-"K[pnA&=b4Vk;}zV9$%)QE2WEl!˽h/R-0w9(牟&i(&OSN)3XX~e.E)mi< bݎ XIu,JqS~R:(crr:GI/)y!4j)cyYb}XSRxEJzBNNv^!(#Jڑ+h .^iNz0GbSݙyJ%:nJEZgȷYX|L_V9[46>?6c$~3`e>* kqޭR_:R9 =QLd=EǔS0u6,*L'L.7`oa*)ݴWPM&+8RcbB:kcqQ)F=6rBJc2w C#M[ǝ ' Y_iȆ:i#c 'ww i9Q0u:" m"whA#${FUi,cjaâe-cfg`/3"Yzj3&aJL&x57.j,G_dWy%To}e798#JuUoëfAF՞]\-'WEZA|uj" 1WOO 3K[웫j^v:V z^4RQ>]·% -XtXb~A]WkČE<1yeS;~/sD&MSwgZt |uk5?pk}o@tGItEyX )#]nxAHO֏3{M+A~B>'`_OR8c: [$g}dЁ@o+ଥ5%1BI G,}O!9v\ÌE_78"8{~"LcOuܸ4x$x!5L YŚNT1] R_.^gPD#8QK]{K>,AuȑD*Odž6{2*EJ-- G1 wpn0j'C!a,0YPvKwk' \)/ȴ48vU+W]nF CEH`y7XzQUjoH.7$دsT^$=G1V]s96Ra'^[ Wݏ-Í)B拂˺JcAQ:pxlzz*]h|1{uUpsOFx  &( ^辜ff~^ 5PƷ']q?n򇺔f6c)#GIy6LCT`;`n\TkA4|*Xc:0y阠"]õ4Syp.s=0ۧBjseu`jDŽ&(o6[GIF,/%>“;z~J.J`#GFd-ʮ4u\vgH g  Ҥ[>ݤ~D1Ճb.RtB~Dm5g.> stream x\͏Gʉ˃[7"J0+ lzN`TuTtϛg_}| G~wLϾ;]7r֪ųS+1kvΚA=9 pv >zPrDRE>=?A !Uk%v8:80wʻmp}ҸkDI/Sk0fralͩZG6ejo`V iH_ˆ(aǖ- Z**:߰%ItEv@_ NY~{'-+Mcl!H/~B^ʋSʪy ``;ѕM&^&|Nσ: qq@rr7aC0o2^,8(D_59V:gA2ri]4H[vvu>'iLKZ͞" XdyCIgA'c |}y5 Z`/wѹ$n> n hT4,( ]ֲ`zKHXɕH1w_D#bdnhaN"1.6y͏82UNƪl0U֜M6hFF؅<WJXdz gͧߞzA~J*ϙDrY)d {65 @F e~NE:0 0n7=bp%-=K6:̳$ |frvLQ3,\+ WR4`}Xp3SvZA"٥yљ7&dSlDR=ҒY u$"dR:YIC[)aD%TmRe~_g*h h_`ؓ=OE6 ,/p?Wgp62J` Qhro]4S4%z.TbiD*ƛ$O˚*8r8("6q6Zlbg 3iZI8`~C*u"i6xxȅ)Xb3cIZuD]wTÈ`>Cik+p 8Zc d:eH2fR3v?av\a}/YlG@3!vP:bl ^RhҌMd'Y.>: |Kp>q;XIi%,܄Ma7Z`$ _ď RN6#?Yl@_pƴW|Q#U"Q~~qGذlmPL)Lo^$Gpwg6.$v MVYD ( h춠*G;nevC,#M7=b2p0P9Ƭ17}?nS k*Ca/* lkQV?{:CtWm Նzڀ6h.b"|l#{ސBmR&|Pvް747TBC nIYxV=iaL皺BC '}o˦qCT&bJ#]t+ CUoLqxwd)lCx|#}c-Ӽo,WPGJ^]lV A!NPfjWt̜ClD4ct2 J4xG@Ub-O^`92ݚRo;R'+b(upL6)uh~`n}Q|$۸Gkmv :&%2B .9!JLԱ `TFB.".a}Y[dԀĉ0[[V^5HLĩk7$R1ӱߥ+LJ)ʌN WlFN,o"]8`kN7pmhœ&$Qx\/ܑVUػu;O]8ě&$D%ҝ?L.q|@o1aNB6V-av+;y?lsB؋@3AXCRJgq à}Eo. ؇8fRQC,rC۸!;ܐsSmt>gl(a2\AQVP HZ4ZfS]48iaT 47K$ŝaj Ih&64&BѮm$Ky9ejiSvR pXa~Rgu+(#1]:U7$Er7%BpYe<޾&x"DUdIlV1ж䄢:/bX2T9V'';RkǶ3'".XU>.7.5unK[=Wy7YPLj=ga^&iA5Zo (<u'b7S RG*P ͬ?AZ +} ܤ0Lfz.jfjӮO:lL$ndJ$ 8HnԺm@!>*UmmPV.CIԔ LJ)9tzh,'֯RiDSnzyIdEe58Y2VS.^l8B~B M ;9RsQsJV/}HZeXnaݎnJbFBYxRTWrԓjE^8?pSl6|))" )s4Y$xI$l͎ d*߆-uH h`}[_I[!o@G=lV;}z_Mjܥ\8PI.&}YD3أvB@&P8"; 5QO+%h0[/o6q2'sC˶04Lؾvf[nsm>6xizS\6 ˁ<\ "IP/ ?:tsj" p8[Zު`jH5bǜh`X1YnВ#|i%W&b8-*z^>+p,EDOO/oϛ<d! cd0rHG#7䵵j~DNY%Iwo1%D[U.U&Wc}؂_;}6zŦebi%* yҥ:x'.xZ;k AR` Xpj( n>[jƻn+ov#ˆuehȁ] Z7sM\GD&r4K s_בEQx+ațDבZee1+`o?k)8TqV֡tgvXc]>(o;5(ThqKx'hRK>@1NHD♚Os`p23߉L?K .k\?F|Zo#ݑ[nġ*bfHU-x%lsϝ$;%H9K֐R1>Gq/'} R} |Xx]nj NH6 CsQ}xM Q# ͫ ",t,Ǜ,3 m9 K:p8V`P6GKBlK; ב˭G-IR^N0ڄnC}h@_9#ߪa6uR9]t ᫩[ZH.+/1R* HMe(9.L2j?BX pB Io,&f0k\V.}">N:HaB խ]uժuZ9Z0!OWf0ll^ONjiGsUl^>/zE^cL4'9v*;Q&a!PK9Л}HiD8Ly~=);>] NJAѪջgT0ʛ8Rn'D{C7pʪ$a>/zNX U~:6RۺPSh`*g+gmNȐm,C28s=M ;vB5VuoN,z qsI!DdK3U0G|4li/Dt7z%[ 8m@rt:> stream x]Iq61'A۞*HHπ-M93]YUYU՜GʘugfEFŒ5D/+>yO_GѷdPyvs+JGkţz!qtH/%:ӧW)S>6J/O 8NO:dRpB,}:*-ٓHHM_=pOZ83oȬ_a!h_ߣI ^lWvh24Ĉ P%U" A }0Nґީ ޱI0z댄Jh՟ a=4XfphK 1u`([Gm ڛ(n /u^)2H*mW\rs>IGn ݰʊ8Ѧ{`f_ "6y~ ւ͹Y=߬>*+>kF_ɱ&S:h8PmcXTyF+]΁qFnphxG_ `( godc1;:I'N\E"Z5d ! xuG-5`8LCG5|ҙQ@jX:K @ŀCV<]^tF@=x԰U>$ n@{08 et@~LD= E$0W,bOCP􀚟MGMA( e *bbP؇0 '1pKVA[xf*°83d} ᭞q9(p,>R&1 DQqjݡ И,J:RR^mLt 8<0BǝyHmd (lbe$(l֢ ߀a{HnwA& =D;d} D;EhtI{Oa8QJC~PQ %?ث8țr.,j"f{"4ym/MH}g>0oR|\Z/I<le͚yDf}DFkB 06}l8"_ڹM皦 tNOW]=V9YRLAeÐոf'v O Gߝ,-rnffL^,~.}d^Ms 2"Q;r+RA=)v)iywM$da2ك+$a U֛f {yJ }` aMR rXl7d2 ]U[򦁖3ri9Tȁ߻ɒ8BXf9yKfi=Eׯ>FMa²xe1y۵0B9\7 /<' ֞j)_4d'\( V lz!SR$F*&A:M֙zsloEU#QC e‹v687B}MfJE Sn7 7-'1ն&!Lvg] uHeURa6҉IOZ<=bG`A^rE e]} ,b(ECWh&b锒7)J0f-},:7E! %;吪69]kdvL/~H*{f c+!)s_;A٠siU6r}᱀e; /M4-'fW, pBT|]}x1 S[rGzGp6}85 ~3NCD._EQbԄ;C{52?$0D3j 9xO_Q:ujk Ô) [N]Ro .nA҃lG^ItIj1hT Ȭ1^ّ=<y[Q[ҙ֞U헊2Dgr3O=Ϫ ͂n N LMp~&'63RUeJ'juXX;mQMՓ'R:k蠺GzK{U%"ff#h֫%uR d+_Lx[O n| *b]1*IHzHh}Ypv'(+RB#b]L|էvlX Y]&Θlms5"ȁt"}E|΃b3仩θTkzV˻py`fVrV7셗˾O.E?𞛇"Cgf)/NrIo>1#^ə&ح}3In@T5NJ%R.JX)vܱ")- KlxQrſr A[NR6 ʅSMJa`Nq_=~%o۱e/޲(tmм&տ6`'&BR&mtYv-fZrldSl iɤ?-q{`yƓI{qKϖ8c|3qc@&;zL-1җ-SR4lx)&s*@} vҁ:\ C_8!>D0$\r˔Lm+>4o[F$u,UޠCk Tw-jU!/wc%-s=f-zv3}poE18ڒpj:h~喍 ɑ$S[G^koI;ҵ<Hp♃e1f~9&[_CW^g8>.pԅw-]p䀛>*KEpy܀U{ ymQ0  yZ^]5=SuCE4H>_roERǯ:2endstream endobj 161 0 obj << /Filter /FlateDecode /Length 5159 >> stream x\Ko$IFpV8 qkNa]iZHc4l/`֛`Eھ1B >2z,/ät[8ȠTs '39yt%8,iu=@z|,+o5i _>ѓf*xLcܢMƓi&qFk9Y1n-md$egpWƲ''` `|Dwɑ~D\R2P9| H; 0S#0~Q\t?o1'dbQvniª"V; {ij%ffq0HJp2pZiKGV 8,,4VRq; ;Q '=rsu&w'5v9?X7qP1#\PAQ>$I'9f$e$O/%=IKOQb1~őTmRr@8!l:9@-,`PM @hv 4+yTJzaKbO% Cv</HOl遥zc/V 3_k 31ōSy6AWd&$?dwi~ $A@djZOk-',BY5 4j.ٺ@9Z=y\XN КB0Q $@z olEr^ U^$ix=AħyW) ߘ0~KֆwZZKp9M(f-tkDUQd}(i)]g6[S D0s<|rov5HN],de|x~_ `j`oy0$BXn])*c>\)>ZuDGp}YTEKm"@ Y&0,"l$"di ok) _ h$ $3jB<~Q:Y?+s6%" d  Θr rq )70=y|"?dv?rbߞ5!kl߾BxK0$ק4K,LPG R\fî#_O"'`cܞ|6g`#0}т;K4 px"&E"Q0l#{cͫD3,g\$4lY4FO>c=Ӂ󓿙O6ﹽ_S8ocH^TU0`VyƓ=In ]!́JJW uPIH i\\!TN^ `Bubp$ta71d~9lݕ,E>@9؜w/D蚰]f iȫCXoh  *2ChH+*~!9+ч,e97Q2 -q=Ȋ|X-Ň\AaءZ)GT V Y$ב0G]Nfг^I_ٷor!M:EJqII91 e;}$Ji6YpBr{͂,(ȭe G;dh2*LrmKA]JPhƜ 垠^%sUi@/"bWJwmߓe8i, A7/\w)gqME5loP c\,t0SqͅAȈᜦDd0蘂f1q%^SKٿ3'_~$ʢAx|z {ErVtIA(9DJ[@C4X; ~qR߱'%$;`u9z\ig2_Ώ?PX_qm2VB" lV6zWr_p -W ZG.Shl}p#ZWR.'VJ6XxgSH:bmO$|x#QkDZ$yI.XXBwS>L,[&UJ D&d v HrEyu7EܯXtތ*EEv[S(},sH?fma Pedk٩R%r ;|FRESP O: ֪,zALbpeRRȖR:wul!!UR Lk9G`9^UU*R5N׭K"9D]ΐ\ fo ;i`Wp3 !OP- 9"uƖAZU0J399_y$'Q GF&j2dg2/[ w9:|&gxv Rg6_^q4|nKutשu\: zEyM,6<]4M2"DVSOpyt %kޠS¸Tq,  _y*.tyֿ{iy@1z}x;eUp"L@j=Ԣ ˑ]῔M ĭ- n9xN_!!(]A b $(25q%Eyrdp€e.Yׅw)fک{CM+#T),>,$#MY2$O2p]Ga 鬅V+Kg97k].<Ջdu$&`O' 2+$F[mAR%Bux=,4c#):ۯŷ!⍰u`,BMUZ/Xڠlr(j~x~薘"a?x*a-gU*)T2٬4?\'2 GbX%p^*d6IBk.nK 4G 腥5bbP>fhPE i?́hVHR䮿4+-T*7R#ސ oѼU'gz0f|RhjYhϢ̯!(IΫRh@-2-w:hO55Sfj.d*UZA0⶗Iq#'AL)qBU.*>V:«,JQqMcC{ੌt%8m {P܅`bs DJ,zw929PyrhX}=O w{¡jBU UzgXJ1ک%# V~LRMe.jʫx # 6^~EN1afa{>:$_4/=D\B{ h.\v7`@C* 7K-K9Ga 3(t`|ȥOC.̗~G-u8`En$ L͚kY9W <|&\\"K䏲e+;a;ל}Kʠ",1s) dAÔrm'Mb< _:e Z>W,88֏ (pP RmPV)hD@-T,0] FWAd),c"gJDwNGT8}UH6_q︵fJc5R˞"Mb"E&IBT WvC&!kK'VycqI {?\xNJTs/n 3 @Nj́BwRm'$ҋ]fGݲ#"֤yP̚ع5Y7/( *B#^&L۳r힃ҕw3o0A;9HTR*߿8ph415J~ei*]C~P1hGZ>l?d7cBJ\!=v'.%7oKKc74Li,hQ=`Nj5HX&!&Vk`VZA p|AU'G֯e+aO52M2QTLcƿN\!՟L9>w[!F33ʕi`TuO<=&}\I[|aC}q~KiB$0 ðѹ,[GƃYM| Xy/3: k߻^inC |tLRY~҄H)z.ۈ^3B؏Xᩂ_ K?1cD$1,wOkgl/U^X ijBvW0胠- wy#AR}=Hj@:P_SeEݟ hd 4FFx $`> stream x]I7rVs}{/F" /a<2'd[ҁZjvS")>;*dj.8x`*,\\K1K> q x9SV]{rߔRH}鬙]|y?<>tp(&p ? !3_nMFw))9'd7<-  Q0Mz\DG췫4FI=O1[| n`kώiuꈫ[t V-SD1hN4Uw)Mi[y yU~Ig;(`Be/ɲMF `_B5e=6н K)܊+-q6N1˓41籞SpQύdޥ@vcˬ//!?2F`yy \0qx>o KL<-EךjӲ, NzH*|X%{d0 ~}=A[ڐO0ć8XHW~]GÍ&jF5fP2:ϛ!O;XFfyS|Zϙyαmp^-ʜ#W]t3C b|s猏"5HU`&1 yu0n)"cmALϏpn>W?t1N\v3bfA}2Wr S[ձ6FOLCj;%FgCx|\2uEj+rr*H6FlSB~Zх5} %WsٚL_O=ʷZŲ>]:U?<|@cB,JOVɌb( GRl ju) 㽑ַb% xb4(OPE_ Zݘ&$t< ndfcf6z xU' eP{u~ |! B&i\y\دJmcͨ95@pJi@h hWv~Ut@pa֔1Qp 9u FuV9*FMտ16N w:{#mld;`حjcaA/caano^ +aUno !k~rh $quw=DGyz /D5 )zyF!eHR L/y>@Aw7m Nn -dg7NTWoԖ1:x_ݞh.ȇHzD~ 9ܔlHnr}YӁ9=G 7Av >Xx@K>էO&onVÙU,W^`VUSX#8T084` )@S 6% @>af` -$&Xy)t & `kہ7G:4g鍐Ɉ䙀q|rORAT  X;ܜ! (:7D\6N갊o2Lє_X_qnX Ó[ '9?o#iPA[ ̀‡)5ժUtUI=e:Rhq] \kRl3łP̞XxH|' (q'5F(33䶦DshD-_& DIgL.㙆 g<*¬7Brx{yXg'ׄPqzq©mBxJjNͺ5A3, &]VԻa/;GKƼ3IDRRփWN$*g?GbTλ-0VOX`Wa/&pʼ :gs(G8 ɡd[q?~R8gH@96` @1FMp Zx pCg?Z8U+rsZWЌ"P6G;ϵufR,.A=IpY%f jװRş.0ypӅ ^|var? |s3(a^ s4^8%ٌ2J]RH$\50y=pFrWo{Q dA@Iz#oE"SY2|@v0mJ APȁA6p NJq2#հB8, dm3bR{y - 1؀c!VNlV-HDPL Rү2_5 0~rgŀ!@C%wN8Y7E*FD7w{(򺓳A.)  `N,>@RXi'g guX@a_Lt=moꜣ%4SSG3xt\ TI޼ NP8ʂ ə*/Te*nH r,NΑ`lVsf>-il<8MJ/*f;?B/ X޸l 2aLqg>re7uB>(arIcx]_uuu+ѸU%OXp.ni֤0h*#[8/r I[5Y]ᮯnkr`WbH톡J)%Zbil#5s,ㄨ=SQ#tiZrPZaMphZn8\)"S.plcPd %>gS6ɫ/no͕|bL"_:F5ϗL*x1 zMG:iO/pDg5q+'9 me?GG6zmCU%yu2q$ʤ!"-u%$Y[UfO~s U%n [o,u4,6oW(*yx~6/܁HN~[BW vR~rJ.dԁdsr3"X[%7I[e)PLyL`P JQ-f[:{*>"RLzj3eX!NR1)iv:r91V]"Xkc ,"j yTd"d=G5V>_ѩn]\:ր7N)+WĪ+##!KgzHw0},אַl4ĝdoF,zdԱH&EZtbȗYm>n~GV'# >϶]>&Ӗ$b/SCeSX'ї'ʜTu_n?bidm5US:adҞz7K~;fI`,) Ih)52E< 5[UxMcU4ٙ_C}?c49bkQUu QHnlp1O(1.,R bbsNUGr$pfnkcM6^TDaɃ;?XOeEֲE^;MYXz0W]K72_>TaPcfx2GW< Y]ZH'=*/+ nf:X*!^793ވ)eΚQgKo<u\U.4q~=$'(\7hM.#khّW9+2Io : %U0ՅBRv\ZwZkyMEյc\D Y>TRY8vO8c7, zߓ }3}/U&&g -'ed@[Do(L~Ju椯YOS^je;B;rosȮ[̥byt!'ܤJ87$"}9:AkrfUz%o7 ~d)UBUQ^1T TR擨RrA%'ͭ&v\o:*Q[%\f֩.Wx{@%fF+^OJ`co:. ÑͺHpI\7cW7SI\/tGAw6D3޳M-J+ci~P DpӅsKhmko3lRd08D1jrS3!v5]<4+N~& 9 vL{L~#iQ~merU|FMhi 6vfv{tjgZz{m$ߩsIXobChJzav%A*Tixu6 o54"HI|4U=Jm  #,17":~A=o p:`Us72-pNܭbw'Z?'%<8 Zll7'+mA|KlS:|3JYT|n &oFWO .X !Л&@k{'Zޗ\k}yx_WOnueI>xMKVϕD[АV4ai5=~AHH;&fNPh ";Й=aEŬmJﳑLJU VWu(-ʦ85bl,KbX>9J"ds#FoEͤd5~*rh SS;IFߞeF0I~"J>E$ީz'1'a8e= ޥK x@CwGiL;"D\).`^̫r!Ha. fXo),8y4@4׫ u$\cG`6~34SLC#<-_Bn 0hbd?s> stream x]O0 X ]Z?eB%:t8K结ϲnr _XցV$h, x> stream xcd`ab`ddds 4T~H3a!ì<<, / ={ #c^qSs~AeQfzFFcnjQfrbobIFjnb ZRaQRR`_^^[_nPYZZTWvt-(-I-ROI-+(Me```4``b`bddqӂO|܏,IzuOX4+>]֎vɪ=SL+^~ os_ļ lhendstream endobj 165 0 obj << /Filter /FlateDecode /Length 6585 >> stream x]Iqfط "|}yc5k_B"d ږȱ(K;@$|owfU/Ug!ok˥މN_{~D?= ?좵jw$?)+kvΚN;8AӃRcTt:!> )Ց54qr@/sBH6؇Bcf腳%Oғ+oKl#DLO(a2և78/Ӆ':B:u`0$~Dwlq![a`M Rxez;X+ԥ]˝1M QDD sgO@N{KKJVi/flbU*eULI?Zk5ai:c==n`r]}DtF8j@ ]Jui aDN{1X[sQvB (=a"s~QhT9^[4嚹yEKhRmoT:̧:(̟Cfak:C.-u NJN e-IV&,Ȑ)Tx#.ip#]J`=1y_ma )Jt G(_%!#3v0Ȩ43`&1GɳԮp:) "{*鬍AMNkH05=gGZӗ/ȤP:.~AĬYoZ*ơ;zW&B`?٩;Lg#l;8u~:mԂe$q*lLuOmBS'oϯ.(Ho/}zZEH6}blN/ނA*mhYT!Mi ~({?+ kRk [;o6gjI~+tlf9tA"6aJ cR h{ _P\&Qɳu@@Xn >Sb@6gq5yDHIT]MR&1b7jC[LL$pnlNh#h KXөwe[^fAS -T@3/ ;ڗZ,^ҶO݋jP37zVg&Yި<)1WoxQ471^F*5!]& B1S0>*s%X}0н[܄D/зLˎ{jFݣrqǞ"!6;Z H-ki[n?x0U"S|f ${~6%J CZgW8CK|)rr J.~{]2 ]l0 sW.p,vmF-uٖYKzl;qoRUWc׋ .S3rZ@:@F$ߢ+}Q:gQb>Y2cV|1pZ0VbR Y$t0+).D~V> ^xˁ{ޏy< (4ZA7Ukٹ0j,5y u Σt}P4CA>S¤1KqZ U 55LkR8ma\^U?aC3)ۦ,u~'u#~wxWڵ@5I}p!%ھB0X#edK̿zMV ڴY40Np#ÿLS E=O+`-f>t<|f)80pa|Ai< NIgbd /REn8k"xQ-kj[ZC%w\$`]c4E umhX =2",l٩A3;-)&@!ebB|)\9*o,fCt|n4 mfO+k&-0<C wѹ(BH~n;Ijk4ۖ3hgy ` ^Fy9cͥ'p \&6 [98A+| U"$|S,#7I,,3vj!<ƒhX2jĻ*p|Q.nƲles }[yj`PHWD [YQ[Xsu wAaҏePY 3YoWxʪlR5JFiz î+Z׹ї5D[_<C)M>خ8x2,EphA26Ơv!MN(PKx`ޖv BØqChE/]w0$8Q) O"tVA'RQca"luiVJ\W@_˔ }b2I%י sӫؽ8[ jK"dDLB s:'szy}όioX<\q f eO>*B\s(|^q>w ©l8O<>u4?`ÊWS}x"*I hh}Kb mZr~`eT!g 僩5˧by.u䵚0ty1|(~4Xi-S U<7r&A)Fr4 YFdFY Fp9MomY5*PDBU-*mESe 2jtf R\kI1#P+ݑ1;S[V X9y< 4T$]u!袲-o :K8Un l JeFU5P} Pt@Z*//|XU[+ZuB結F`8"|=)ΏI /|DGNNCb]@1=P?T UQ/ū73+EL|x˔ f\UE15AT6D9Nx٫okѷaKfၩs~PsEq W+Do(c0+ŷ'ݪ:;JnxU`}[RxS7N>#9y= O*G`Xх f:zI^-2[6f+r"\)');֐m4,rrО.PSM4/tʅ1_RtNas7ׄR 5aFzSE=[Fy1'&.eK#ukH`ڹ)=R/ ;]*JzJ~EƛY8-$^HwݯsМpLb/$2({z*{(wqȺ)?ȮLp?tS 5uGC^5|W `!W~l˃ ?Y bPfE0KE.T9uտ% y65>bC'7Oiɂ)17&\XjnN;"{-o""Qh92 P$kX@+`NWh;=2D~^T;&fwqxZ߼U2.Ʋ\eCSgE15Ce^:-lw)%n. FG7AEEEָDEXg(@3*JCㄊZ[7A!`/ Blm7WqܶAa5  dPa.̤T3+漱Y<ޮ%EYȝ>AEXĺ+Yq (7j&zt!Զ ,^O||y ~DU]>2/]O^#>ұ4Fwx&[ۥ|4gWfr@ME,B62>7z+R6"qF܎۷5Ȉ,E Oi`b~jA;y$*tB踨Ō\ ZdbF6g⢞Ǝ+y7Ih5܄nZM v^F:s{vMoߦUCX?Rom&2iUyzpO)zq%KV_*A~b k>1yYEkyM^+*h Pґce1q- x*a28gQwuq_Y10|VG]jI֘(A˿s7î֬jtqRTBz!zq"OՖCD4 +FGb5O"0m\}׾1D$sHnRCɋ:[YR`BW3\a $*?qGDh bREb~3S#TXO=I}Yr6oT*{fŪ{c^Te>Fu(x1DWH(:70xB6Z|fPyx_t^Klt+323GCAؔ\!Sendstream endobj 166 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 384 >> stream xMKQF8c** #Ze 68Bt$z Y╱DQDݔ6l>$'c5*2nZE;E&K9~$ ӳ#R)v'=8O{q(FtRBU)OVLZYߟ}ӍT4Uq#GV𜞡xAnڈZvbdB6nhIVimpx+`Sxn۞b`&AzfUƎ^Aan.jrU]~"|9|BAZrF޸"jOpw{Raxq %‡˙kXKw>:Z=.4}+wߝrJEKoendstream endobj 167 0 obj << /Filter /FlateDecode /Length 4936 >> stream x\G_7 ]h}9sg H!E]| xog{ΌIV~=/uUuu|<Sٽ?<'}|O~q RZuzx/I fP{Y B 9>?< g)|T+OBH6kړrCyt:ke>DNU^yhM"̝@FhSJ҃*C0^!KdDc쉟&-yوҀWb^Taᗠ@`X KlZlke틅ų,8_֝,rR?2NQ[nil!7Ѥ5ը 3T3P[38fyog|(zb~EرߤF[[7`ckW$764G0PPqkA66W?Pqlql=jVÖc j#~Z3ڽ0/ꆖ醎rnt윋 ͣ h =؀F7~#1e'[!p߶ᾢYmF{gy)mnaafZچtLe! !HUE  $cߐpb%6ATO<4`vg毲Bߩ8r9k딵%(oZ~Ã= w)&bnʟSϺ #[YJEᓌSEq Sv,.N!02"n`'6,5:W2\ ?M-1efK0!u! 2!\(u x!9}QfîZMĤ9wa0N y -|t rp?G*>&s:6u0A?LqEZu. pyHpq&qcvb;k օ4 i^WatlTVhY d]g}z*0 ʥ./?6ls4 .8"|&P5SS[ᦑtU G< T{X943 KCv= =g tA>Ƙ=u^Lcmʚ88~K<ѓ +2UV,1L2I|L,u:pbÔ`@yS1 $2;rygL<{)Fгple6-s smyX$Ϛx]į!yU=SdZzQծste6j,&$-P~EGb"PbTf ȭ„sߧ KE} R~"n[~g~>F~?)|7PX4?pAZ2(L騋f&Q^р-Oց M?# Թ\$Slm vd4X; Wp)wY360&v füY4ZNv*kΣt``Y_d)9q!B-lpgXS}/[AMTf@YP2N]oC=+4سLFyލA@@9sG ɛ`O),Pu[2fM`0W2̗Zrw .<?HeȄUdl:u~cTN/~#Vó-Aӽ؏zZueU5YXBA3@S.5a:PN9'L䌭JF2H )M]DA (bX dB :C [m-25\)71bs9͏'k]:4@"URin]E8-)B̓9O հaJYZÒ'1m:t6?q)9I!c12ltVI<ɆOj*`kSSU%-Hrsꥪh~N>0IudoT 5&P -0AgC9߻j* XaW9RaeҶ<Īs~xpM꬐ զuJ +uLKC2E2]`'<Ց2Anmڪ$S i-X`]7(y 6vAKR6rUnco0Win,[8&R @Jgj riS&c% D-C,4X:Jhߧp*T25e0Nx ڒ^.fo $0k߼Ɏq k^\ ahkl=t\s rg2ŠƋ'->VJ3Ƈb=`XSo1#^w2OjZaQk Koefm{>qq.mІP\L?-G _R|yeD/ 6vaE^68?1_tp/ n:ʚXpJ`MAC0/2[d c/щӊ'z3y=G562y 2E(U ns,4Œl8KL^97&D럗)g ,yd*SPv|m@HEco0pKâUmW)2½I[\3SxYZr}~m!ܵg{u[&YnOg. O6זUuiHXRT&~]zY`ݥ%MYmvߔl)k3Dv>^ cuPqu)m=Y9NzHV:J<at>DZ?MY gڭ~Ƚżk;̋h8jUMup$-toJ셰+{IWKpyu'/U=ggBcDD&Ft*PEAD*ؼ7tINEl;HZQ`]wWHb|g].^QTSX,0{`N Wng,[?T%Ps4b}pRL@}&꒻>>o&ژ 3#.Lx%L!?u.$H E|1n(b:va\ `%SP%m{Ӆet#_+R3n঎ nn%;ۼ`Jq~U:\Y[_Ua T5§z<|=VT+/RBd2I @\|Z/B;$c"xխxU!|snsnmQbJ1>ȄQ[#lըU-ŗkF˅'|Xzϐ>X;>> stream x\Ydu8 UǪkFt`ؖfF3-""~o9]%oUfO'Ӓ>ҞqZY f⒎ᕵbcU;Cٿl0 wHnҴ^~s1?%y7ݿd?A;{Ğ*^㨔RE2O#R^~c q. ]=AF;|e0Pfw\ce08݉)}ve`촫գWF|Ɉ~a!E "8mpy8xw|U*JV U-XFUR=N)d )d{d5!r-NO'o۞3d! fg4nH-&?x~(w]w~RaQ,,ʦ G( K?^^}V'5J,hB޾tj^3Vș+LdOL.eϸzz eO9lY գNǴƠKEO7HSkvDL3YK:X*ɨ!'6F,1D*88zQf v 09] s%'܋CT@QRtX=vf(dk "ⲃyiQHmiOA<8`܆@hnm 3?omV1V`a y0x=RB4Z>"b!v ֝Eb<-s1&EXS@]m5C~-!Eu0.q@FTTY5D&ba3 YsL8v'o0Õ\l6dgEkى'Ӓ, ?-"B[ah#Bi)͡] s7]'UaUGr :ZSA#֓;].*O4VY,Ic`A zO)PG'eP5Nb)#x !䐤 BIiCy׃*l"-rgb4:P.mD$VGt$}{gNQ"֎ߋ`isx(F ~H#s"pjhG OX䗚Ҏ,?i 91$d3_,aS^m$HCY)(2341Y>OxL [hޕ_tIN~SNn w S|͔8yAqJnG[/IɟvS{D=$o>}+]@Sît ax *Sv:ST&1&1ō{y'|p|o-U%_$qg??Z Mdz0zw8L&Ԇ߰ѐn٭SD<"l[fv]WiKA-9r.)UNetZ :ܿ׎8U)|]C^k$q*κ䘗7^F#dnN u۱ ݛl٩EdQ>E ^hzxqd3LD*g*M9HZjG)T豁a#-]WM{qyt3P|*O}4^ B<5IY~PZKd#$?ųKn5#~'E<(E]G[2ݼ;#5髮~X@Q՜ZuƝlN;Z'=vng@wU(ߔ}$0N84QuB 2GοA O۾mN]֑L´l#:v| RF4zY~弫31@͑1 ,)٭)(xv^ R )ߗ7#m˅%RRjW*mͳ;} ,)Y KJ+*tǩ)+rÖ,9:}*Rz"wS'~`,4<ı|!N5d LKr.O=٫Um62o,jh> stream x\Kq@0l×>v[Rt-2(Z ;$# 3vvGdfeEdeTga̬|""NO?3jos/G!X9Z-lGjWmk>D pTNAi[B56eZF6 At Iڭ{G[o; ? 1S p(N# :6zPRhi䭂[G%B_P(HߓF0|,ۿ|0vL+`!F囹)iaJ6Y:HbQr N 9PN?N!N" *n-':iJ؈&RQ׬r xb?IOp{=狢OE~1>iQ8H6#ylI'^Z3|~aŻeuFP&*͋Woo]2⮍cs䪅&j\^N@#yZt0Ayx4tZ{ޘOmo6:>zإ/hea_"{\N534uDT *vzl4v_Cݘ!l^dܠ`}>UE4j flAʡ{$:p g(F-d$TU텆RT[kul-o@&M;`m!٦$ L(=@H8LB\7tPhYc3z֍ث ȣ$ x^L8@$h>X`ν}z 6I#P\rV ȳ z؎Aܸ/ 0u7 2625.+ 4pA'E"M̉Q騀la*-:k}C>pLƞQ(6ԯZ@d@L؁}Dxzz Dk9>Q"/|2%}VA|8 _Ac8LէEj%Ptuy\OGO<0AdҜ]\J*O2DHkH" d¶׬I0q?''zCgaԝa F2V*T5">~2 QɚI?Jm4|[ુRF&Nj{MZ_W%H*M` 0ky#C܄/SG ~bt@Z):ԇ45gL10 aG.$G&|̤=G[ʀ)$ ;˹k.E/48Bz qe|sA9V氮Lsqy]7HS|>q XL}3 W6A&&]N~j&̇0%Bh6Zu(;U8m'TѱD\'~u0U"6ýp2Oƽp-f:&e& t=6foE=9rrRBUDxh޾ 9Z4D#Md܎DRv?&ISJj?Y1IolCc =3*_T>]=$Ӎzy7==ـ XJ0N2mČh } {\:oLUttj-SM(c_ ̎LfSmEL$֕`]*u6:DKr;Q3Խ>DL}v:6no#  ;'UЏnLai-yS 7Ō%u8jQ x&P Ze- 'l[Zou\/]c(ԊSž Ex"AZJ\D|ʇ}^|ZiadP:KG <-ҷH:"N##Eܕ!Dgmm 3|+[5עpʣ4]lLGyouhq0r-WgŸ] "\[l`ǐbsOt<7@ e"F$šSoNMcgo4E Fn&uGaV 3/O!&fC)gQ% )4Ieu T%[,$TX ǥd}q{I=U$H˅'Sw^DϦKm M=}V}؋a-pa: bZMqX497叁x6"`?BUmnXRxEճ%d-=FŗdmoFQW&dY-*fcl');Q2&&qZhm$8xϬHQAPuj^g\Rf Ihd{\ [E5&h֛ڍl&qV9tAJ&v c5AU >5ckTWe7Ltբ1?35> h#ʧԀ?tm愒6%(Z,$A~ER=EfH  [.!fpҧp%ni")ѥGZ}0:bo#_%ӀKeviWLF"1w¨tbW1`Fνzi6PNUoڵ6uo)=>J>9 v)q03Ϗ[N y5;"=\9dWLJ00QGVgm@Tۿ"g9/ò2%ƾOy?yC&^3ކ $oHU-ghveH1c2f͞^F kra eb&hmbұZIdWhf}jDV˳5=X kVf)Dc뫦Q |Cj&GGc, 4dlbsPnD;uWi$f&PZAVJw<ëYyy+SD8:_:,@4fǚsrz㷋׭ma~S R)+$qXDa+ '8nkA9mMp 1ޓ>6ՂQ.R@9ã2hAI?&喡d \۵P7Oئ:}XR=;qXb`˄͕OS>+TáחgIquӭ >J>˯I$w XV-]ͼa1 xn+`fp3cnlցߊTOFwgeuXf@nL!wD`n>x,8͸pqMw1,oO+Y0QLiLLXa׭cx-P|Mr3gwm45cs~o<`j`WAfO'l\mhu̪62ڵǵ}qm[@pm0S%ʐB>:;hcVLƦ,j [5|14B uT1]i*i~`Lz?o#v'^Lendstream endobj 170 0 obj << /Filter /FlateDecode /Length 4855 >> stream x\Is%G&;~M 0a0<#ˉBНC_iI"`aM@[籂~%1$qpp+o5'|f|3 _PېE""r_k#u1Z{F|@Y[ꍆr:8o}=F2z }M2K\0ѵdJ1Biks;P/dDU 0'@$~@Ax-H/C Px-LLJcjB`:k`>t,Zojc=0×[Ɣjg[` N3]J'ggTiT">!ݒui6~N,Bm*q:]e3 cQl%} GOEFW֩KmfAVF̱6Cbk^#k/55Wۏ/r1nt*.ɤm<@aWG?\eRM V^E/2J گ9fTZV3H\0Ɯf3IgpT;$>%LP5=<~g WJ0$KoIB5N'S!OpYYcQ l5wƟdB/->snpd#gmb q̠|ad*snN,M^R RxX/@Q zf  1md /gb>bokn?@uXXr }׼pAnr /YAajRV (h5?͋6Rܻ*MhR/)~S.sxmYYk vi=C3 rn, 9{v`#nSwɝ3-4jzCg@_ g8Kc&O#%gr^$Ƒ1Y-ZfD8uGAS\0W~9ۓ\;bITB9& w߃qŽsĤA8E"{[o'U~}RkvGD}@Q nQ/臖ɋ,ͦSmg|D#~^W{yn!Q; |B)=0Thm"F..ܮy *V-ݛWz8Mlg΃iX"wa(İ.Mc^‚3<{W-X:kE2nE[Le0{.bC z!ޣQ VeNDz=W-~p"$Ah q߱'MqsKXN2տNiWWv emũmeMFR,(f``1S~c,bφ~S*z/9poTf}Q-uGXSE`0 r0UH\ w?==x,c[˝@c]8~!a9 7l|I+o$^! 1ON f|2vƩ{o__.+?W Cc.G. ,m­ӏ~i0ki571t"V ,DGٛtM`raR;1I"E*ǭL5`E4:\evyh󰚲4 :PMfCݪ^f7. ?[F`@nAkxS.8˰{3 N$wcM.<(b)ХeIb(Pw [dFزfj!!%Z.ق?ѥiZ:Qa0yrh\spsY:Qݰ081Y򆅁q[7,@CvW?JGPzZ՚O},0f7ZCQ1нJ. R[qoU7wEu0ĵ1A ǘU2,pY55zh|*\A4Xbދ&7.&\YY.JЩ1IsK+"=,>I&n zg5b16x6CXo[DI.}Bd}n+f?w/^濠Xc,L?"<ӠNa mw(cęN*+maT*)>(QXN$䈰QG?RW|g7,d2'߇DS/PPŻ@ӌRGao 7c8F:p Z#Р%&_I1wY 0jS/0M&ڼ77չ+ksYVǵ`W&,C_]mk8sʏφV}#DQ+bn,0Pܮ(6`ŚoY+zhP>Dolk)>?6F(9Q79` x[G%aAcXp쬳Vm ) S2k=Nk"(~<̅`]x9dKendstream endobj 171 0 obj << /Filter /FlateDecode /Length 4024 >> stream x[KsGU*(6\MB bɶt%KYNܙ>=])vR^x;ϼXVr~Kzv} V^UߓգC O)hZ>=3JWΚV:᎜#JbiIAA󼩐1$>Tkŋm희 :azJ׼SPs_& wx MT#iFQy&[ҷ26ڀq5#MLjü:^ӹWF2.'RNT9M cCcNȂ,_/e3B2p(b>o31pJKm`ed#[Cn.Z={е_CPΎqdm3lx,|;3YVXa9svD6al$'SթrqMѣ-;*}H>Z.9v1y|=tՋiT- Vvd?iJIaPtvwn[D9+"` HGI/@:qz6 `k-;jĎ٘ :6׋5oQhxy˖el*Φ($Xl+nɫN Zs9o**]hl. xM4uRﬤFybjI[|h!9ɵ@ضpqu9)}G&!*[ J Dj%4gÖ/_ăCvn9!c&H4p5V9hR=L.kDaIZY4P{j8Y"iN {;1%Wdh&a?-iq뒻[rmA5hdi>LgW!yƂHPWk,&,yYq]bk@-=2gT-Z9 @^ymnݐzogP.8ο+H9s]uӔaR1'a훜oMo[؟ ByG8&[ NE b1i9!:1FByo2F+UeJZ <Z=+$z}\4`W'UҲ_C  W//{uS2"bzpb҆CQPi/cVOj ve-X -qQ tdq-|InI\@b]2hA-\`A4 ^$B~RpP 9`P9UW1*F(!v5f)0%,iUYByq6N?[h1)T5bRT±̓VNa1Dh2k1M- VNC0qa ݪX l.*[;6Or!{Φ!}.IR]6՚>9tLF%2R.Ɍgo]w)"X͗dbxBWˎҴkcl>JL9[+1 wS䑁Ԋlj<<./檠,)ml3 8={_kޝÍjjv %^ O3.؄PxqV Hݽ\ARG @9νQFrꦨqCكRi/Zf:2qʟ8X0G^O%1L<'cisݴA{vQ. ~+/lb%Lh&:Z1}2ͼUBO`L*yw/j)gG(S+tH2gRG{j^]̊?)=,!PT|(vhPGj{ne3d 'jI|K@m3lsiu䙑pv=a(Z[o%(|S' kMd zΠ$un/5<[I*jM ~ NXEl$ Rkimm~KfX90o15ka1S5ǻΦN]-yr+գ咂pw3E}duBa+2o]wǐ i8Ө);pZ~kސپ@Mm Oj"+MYQNE/y0endstream endobj 172 0 obj << /Filter /FlateDecode /Length 3095 >> stream x[K\G`7xR$bՍܗz? <$BM7|0(O fǡ>˃W+U'H}@7@CH™5Pit*[K:4ܵm[[f.qOvlTXے ''Vn|ӞDHx^7Y7A.$Km?mi(jʩƮl5b ^+7{6ٜ1T](܀fP]fjK5Aasޝ|2!L|i.)CG*vBY`iǻ-Y1pX,'h.guO6/zae+sv9 NC{UXFmˣ6RbAW01+{tƫN6@SF_A dCgIye- q1jYtjNN6XVz,7{ ʬ_OkhHHQ!!7+_t1%SW{-*eჾ= n*& d_W)H2g;(%h %WcQw|+j䣤נ,,x=J B1NN⪳#W9r&eq=9樏\Q] 17ဓdه\!uNSXPuA,k&p94:s-Bw: ;jOkPmt) <z\ KcC쪱dvXR#N žI֦cF;ӓ YO[K$M=fx`ӯ.ǫ/S_2J'u%{`,I4+ +~U"$x/zYGW5{9 z~%r5*%`]EtE WJϜ, NIxMJɮE^K3˶JT3<@cԒˢ7us^W:ʓ/RE^Vd2=۪_~jnoh*Lb#!єIsͷ%op$ B("qqsPV9R NG 65/yB6S&wr UTַTztLe[O[V]A:tHJ!T:m0C /,(՛%}vrBQnSp^ =C6Ӟzvb`I׭5ETk6ԣX)k{E=&m\,7% 8I%%rYv6+g|3$C*X`*Uҥ!%V;mcssa88̅Y=*d+PΓ{2_d<- !$^ֻA'Mk݆ݭ>˥G:ȥI.$}FDWF=o=-|]}6 Z%g-FJ<~!wQ^fn`O?ij碭@5SIe aMd(Ur*3c7#/5112) ;}}$Qvpgt[TV{= +|ֿlj 2SI}+:&Hڧ^y i qs!+@*'88~Twa6.c'tI;~HԢjyH=趴q{g=x<=&`aGuQڦV_˲vYo_:[V%7#uqun, X˲Ԣ?T," Ge^ecu˹梕T; }5w3^֏H rSy+"-RSTn6IN; [8M:A!~l2bIa {N<L.9ʗ("%L%N}Cvh42$[hhv&%9tnUE4-,w(Αw!qWFw!Zp޻|Tٜ+b{>p25 `J"cvd"g)z4)lϿfZ8F#W)W,]~>DKyB4>ʮ=܇8 Ղu%D\_w%Ȭ1kWe\Rt1<[u}ӥH}.5 K<(<æ5q,gYF*{12|„$O! Wv{e#V6Z'<ь&|<³kt-{z:씼%;ޓKz d>ؔ>5ƨWڜ\]ZښJNjmD[ry--"U-*3B>Fg=-5^MREtsob*wZt3)-Dap~$ V"I+^ UA쁶o`^^Q]֛KsxayJ!ۮFխ;3\֭W߽ojF a#%W6E[s]TW^k@1@yVxPS՜w8%2E7dG˔>㰲Z1}^=JWF2 6ˬ}7sgrc?;e=C+VAG5omuyfm&_,ۇendstream endobj 173 0 obj << /Filter /FlateDecode /Length 1566 >> stream xX;sEίlVtUP$.:YAo汻3{wp)iNS~]m~x庋.6wJ_vUr nfoRG$G#ku۫_e?=_AR*WW4JTC$vV\T}5t YJ/.qnb\58>1@`Z}1DAci}Ziz8+5Bé@tpqՉ󌊃Jnڠ}0Su6 c(ڋ bQj$V4dbCմInw; ᘻaVfG!dm)S$u?pD$ NZ#l"ފ0ziZ\.e^gX"AQGtGvY yoelo:gT?=;8`IR~uHMcu飃&dp<NaV%&b!!DjWm8]/Op_ͮDkLR/lvj3Ȥ}.E/ @J T u&,!zh3W&@*=7#V:;py0uE@67b0`%A10eĿoE` RҐJz4DĿYKz$SFq[Itt^4IE*`Rc7rRM#^|[Zb.VL}xTl焾˅CIIsm`΀Roq%#?S sD #U0-}=WK+Wtgp\g,cDӕbցfPN T;̴!@UAگxo%̏#aך5Kq?eW䬸9 |ԘwOҎhT&9+q|gooCgʺ;)〬JcAB ki%9Vo&mH4C;6sOnyc#* Hojr]7bOFCrwwteޡA~h Yf''yVKDKh6qGVt"HnqYs^X<%Njő#+1b;&ς M]i]fLd)afl@zڔ^\ a_W{Qd"e1YVuyIry >9V)I cR ujB#ժz\6I}mFOvYTlK$n|R^]s`iC˔(`#'uV[l-OO_gh'Im~ qs.a[*eUXlelWQ32es+DY) 6P1&&U^%?Zchf݈NKlpfELZPsY&͑wTw7rnM7Kk.oJ۬bE;~p>PND:E?ÀըRǩO~ʋ|] i@QX yM endstream endobj 174 0 obj << /Type /XRef /Length 206 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 175 /ID [<03026e5218a96c1a6226c9c4f5570ab7>] >> stream xcb&F~0 $8J҉wf_KrAaQ"eHz"@X {) D Wk@D08Xo; 3,H2 MgEl`,0y)vJ8]"%/my DJ1Enl6!X#4&ɓ18" endstream endobj startxref 155599 %%EOF lme4/inst/doc/profiling.txt0000644000176200001440000001064112051752003015364 0ustar liggesusersOctober 26, 2009 Profiling the deviance In looking at profiles of the deviance with respect to the parameters of a linear mixed model I think that the techniques is more effective than MCMC and that it has better theoretical justification than approximating degrees of freedom for t-tests and t-based intervals on the fixed effects. For the fixed-effects parameters the profiling is straightforward because they are coefficients in the linear predictor. The interesting thing about the examples is that the change in the deviance (the likelihood ratio test statistic) does not follow exactly a chisquare-1 pattern. The profile z (signed square root of the likelihood ratio test statistic) indicates wider intervals than would be determined from the standard error. In other words, the distribution appears to be overdispersed relative to the normal distribution, in the manner in which a T statistic is overdispersed. Another characteristics of the profile z for the fixed-effects is that the slope of the profile z at the parameter estimate is shallower than would be indicated by the standard error, especially the standard error calculated from the ML results. I attribute this phenomenon to an anti-conservative calculation of the standard error. It is being calculated conditional on the estimated value of the theta parameters. If instead you re-fit the model you end up with intervals on the fixed-effects parameters that more properly reflects the variability in all the parameters in the model. I think this will be very effective. The current profile method for class lmerenv profiles the fixed-effects parameters and I have a function for plotting these profiles. They can also be used to create confidence intervals and to create the p-values that everyone finds so important (although only for hypotheses related to a single coefficient). I have been working on profiling the other parameters in the model as well and this is where things get tricky. The parameters in the optimization are the theta parameters, which I don't think are directly of interest to most users. I can switch to theta and sigma at the risk of some redundancy (once you have done the work needed to calculate the profiled deviance for theta and sigma you could just as easily profile out sigma). The (unexported) R function devfun in lme4 takes a fitted model and returns a function with attributes that evaluates the profiled deviance for the composite parameter (theta, log(sigma)). However, I don't think even that is enough because it does not give profiles of the variances and covariances of the random effects directly. I think I will be better off writing a function that takes the variances, covariances (or, better, correlations) and log(sigma) to evaluate the profiled deviance. The reason that I use log(sigma) but not log of the variances of the random effects is because sigma cannot be zero except for constructed data whereas the estimates of the variance of the random effects can reasonably be zero. I need to get out to the bus stop soon so this next part might be a little too terse. It is straightforward to take the theta values and the sigma value and produce variances and covariances. That is done in VarCorr. The part that still has me pondering is how to go the other way reasonably. That is, how do I take the variances and covariances of the random effects plus sigma and get the theta parameters. Anyway, that is what I am currently contemplating. October 27, 2009 I did some more work on profiling the variance-covariance parameters in a linear mixed-effects model and now have a version I can check in. The current code is still pretty rough but it should be enough to start. There is a lot more that can be done more artistically about choosing step sizes and adapting the step sizes according to the current results but this should be enough to get going. I have been thinking about the kind of structure that should be returned by the profile method. For profile.nls the structure is a list with elements corresponding to the parameters that were profiled. Each element is a data frame containing a vector called tau and a matrix of parameter values. I'm going to stay with that for the time being although I will change the name from tau to zeta (it is the nonlinear analogue of a standard normal, not a t statistic). Eventually this object should be reconciled with the profile objects in the stats4 package. It makes sense for these to be an S4 class. lme4/inst/doc/Doxyfile0000644000176200001440000017762012051752003014353 0ustar liggesusers# Doxyfile 1.6.3 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = lme4 # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 0.9996875-9 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ../../../doxygen # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = YES # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = YES # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = YES # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text " # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../../src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = . # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 8 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. USE_INLINE_TREES = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = letter # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = YES # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = NO # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = YES # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES lme4/inst/doc/lmerperf.html0000644000176200001440000153210212565075351015354 0ustar liggesusers
library("lme4")

lme4 Performance Tips

  • use control = [g]lmerControl(calc.derivs = FALSE) to turn off the time consuming derivative calculation that is performed after the optmization is finished, e.g.
lmer(y ~ service * dept + (1|s) + (1|d), InstEval,
     control = lmerControl(calc.derivs = FALSE))

Note that this will disable some of the convergence tests, as well as (for glmer only) making lme4 use a less accurate approximation to compute the standard errors of the fixed effects.

  • models that only contain random effects of the form (1|f) use better starting values for the optimization which in tests have cut run time in certain examples by up to 50% relative to the previous default starting values. The InstEval fit shown above is one such example.

  • lmer uses the bobyqa optimizer from the minqa package by default; glmer uses a combination of Nelder-Mead and bobyqa. If you are specifying the optimx package optimizer, note that by default optimx performs certain time-consuming processing at the beginning and end which can be turned off as follows (here we have specified the "nlminb" method but this applies to any optimx method):

library("optimx")
lmer(y ~ service * dept + (1|s) + (1|d), InstEval,
     control = lmerControl(optimizer = "optimx", calc.derivs = FALSE,
     optCtrl = list(method = "nlminb", starttests = FALSE, kkt = FALSE)))
  • the nloptr package supports a variety of algorithms and importantly supports additional stopping criteria which can stop the optimization earlier if it believes it has reached the optimum. For many problems using these stopping criteria will result in the same solution or nearly the same solution as the default optimizer but in less time (up to 50 percent savings have been observed); however, in some cases it may stop prematurely giving suboptimal results. (In the example below omit print_level if output tracing is not desired and increase maxeval if the optimization requires more than 1000 iterations and you wish to allow it to proceed.)
nlopt <- function(par, fn, lower, upper, control) {
    .nloptr <<- res <- nloptr(par, fn, lb = lower, ub = upper, 
        opts = list(algorithm = "NLOPT_LN_BOBYQA", print_level = 1,
        maxeval = 1000, xtol_abs = 1e-6, ftol_abs = 1e-6))
    list(par = res$solution,
         fval = res$objective,
         conv = if (res$status > 0) 0 else res$status,
         message = res$message
    )
}
lmer(y ~ service * dept + (1|s) + (1|d), InstEval,
    control = lmerControl(optimizer = "nloptwrap", calc.derivs = FALSE))
lme4/inst/doc/lmer.pdf0000644000176200001440000171060313141431220014266 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 5405 /Filter /FlateDecode /N 88 /First 745 >> stream x\[s۶~?oMwr>}'N{2Zm6JTCηP.TiI Zd)S:63,LZ1S;LH n1 ΂ܢ B3pRf eÔ)ETiТ)*d$dj4Ljə ʖe*uL:ic9@,eyJ KK@\Xn/QjԠfb X94PR1lieQa.&6ʲiS]1Zxi5 H6b-k fвα$4ˆ@54 a a5hѲSDLu-[iq<5a-J-Z.Teyh\PJ# 0:[r C˙0-g SG̒C͆CYw1i"9'.;Brg^o$< X Ӭfh9.pS):ʀ6XSL  D}Z_bla)gm])0ޗ(Pxd%ăY{LWe]Lâ-`'ŤWu9{XæHgmkT Nʢcv ] L^`ER4[W:.ޖ߳OU{ŮdR^bf2dZQN6* U7名aYu9.7ܩbڲ/bBytg6,躙V+9iwAf g ?{s̞]5v:T-rвpjkj1q8@yBP=@);вٔjԣR-ãf6nd cYҟ@ \gVF'Dվ ׳X_ wcG9vRdÉH8T]䡨ubJиM,bQs7@q6aQǻdP4y7:>s@8CG55n1HZ'*67X8j&!>Ez@OBG崙MhZ{r>;k M\!!dsOh88+[<~ ʛ~MeDrhL7qL4a\ग़G崝-@65 "hR*E@Av|Ǐ7rHǭ'@^exGF\+1:b@\yvX#2UB Xt٣'|S`:z&wX-f',Mó\ (unǜ]1*fL Oھyٜ>6lQVclnK'We2]wQ}0[ 8q(E~N$l;d|7!8f7[0+zgd\$r;TF]:;0M˻ނb g.2 Ttu)۞05=Ξt'GomEG7jEmz̲ 6en /yY7Wv.\$\ fmjZ`gbPE&?[$ʫ`6˛(hTxXV=ļ /ˬyy3ު+h㶪eT iMaWV cl ˬiykw/-AUa #t{9BoYbUE_> UytɳV͔h/.xZk4zZyz&SZ\vaK{W#ihG6hu_C8.FÂ?.AAY P=yUy_ѫWXܮQYA` ծ+O_flI:EX"܄ͻ1ŰĐY&[cz?v:eѷٷDt.>頪 Alo Vyђ-9/&[\~,m\;lj 4A3/)TNel]N A;7h.v*!pLmB۸hxHvZW9ЭaGlοxó{.gAbr'f]B&\]zYMGqW=ǙZ=g}ÇSX0P-gg{|r茶&uԿFhCޥgIWceI O?8.Ƭ 螵* AϾLq\4[Amkˣb0[sZ{>E.bkr۹cg%.l&`)1Hy 1pȝS*!cܝR?L4jDPVkfNDzlAcl(0- B0QCYH䠙2-^A8Z+҉n0ͣE10#1<18c6L1T1NÄ1J1FhR9@/C{s6©D.&wI Tkiv@2)M\I0sP/ėbBL?&& , &fE1ubC=3$=#S 8JQ5&*'(z)*%|.O@]Yx޿xێŸhAS?Oō"sW_k 瓂]uu~׾A9u:;V%jѯꕭ->ջպa|c5ccV=JEJJqW:pWxC2vKHPŊKwT5|3l輩=[fNm:J\ 7ы| r}gwy![Fnǰxq}=inyFXF(&d.GϝUcg.)@pZ0Ci51i/*YtmPX+]@ݑ.8}$\'t6d iz*ς KzwTkA"k[bBsn6RL}&(8il8ZO| s9?/fWT$y ux限`Ze튵o=y7gO#G7;"Zkޙ\2 PʻIv?Lټ_.=s in3FLn8PBG!yk7xLZVdmEjOWQ~Fi? ࡢhBۂ)Ac}Mcڢ#,1dvWFdXmMgKtγJ<|/] @9"֗w~6u鷕uVVrw< HwVlւO4G/y}l@S/l͆Y.Ӈ+UǓ:?CS`*?Z ܆P4뱣CI؜\n"YwJkC[M 6 N"zA+Pg͚P S>rA)T.Fwbuh<(Ni1:rb;pZKmQѻK˙g)c{/Lt0ьt 崗~=PmJ$uR)w ir&݌g;}>w[_]?9$æJ%iIl8fYYsnn۝Zjخ&!MFUbGt] F]2FF$'y=O\x aL*67G^%Gi@5Q DsgS頂ܩ.ǩqHKrb14çOi[ɠgHeYCdU T4*!ğ8JX Nh7w).9Uv/V$.7.Jm)HJ`=L:F_0RDQ W 42G0Rhxz2w$tH$neUS.:LF l@䠠G՘'=v/Pt`5 1Z\B,M3}BĤ;R 7+]LvJ`1Ml ZQ*}(O{/s)h<@w`k6"{wD{aLE;m.𫱼J.clGg8NZ@;΅l&kvk Ҿ<:LgX> ȝ*C-0y o6ZxNtL \ UC_",=0b4!e[>)uy1r0]1[-+3sO\\W}a~o~I) !l%SDR lB)+&4ԥڵХ~ }Q i+!4R4ތ.5L !q@;CmÔ K,X#뛫-+첸wLzCf-Zj}@R,nn$;=27CQ__DּVu3ƽ6.DkL!|'1|&HDJF[.(ݞ ڪO^?wk1ksY%endstream endobj 90 0 obj << /Subtype /XML /Type /Metadata /Length 1731 >> stream GPL Ghostscript 9.10 sparse matrix methods, linear mixed models, penalized least squares, Cholesky decomposition 2017-04-06T14:27:02-04:00 2017-04-06T14:27:02-04:00 LaTeX with hyperref package Fitting Linear Mixed-Effects Models using lme4Douglas Bates, Martin Mächler, Ben Bolker, Steve Walker() endstream endobj 91 0 obj << /Type /ObjStm /Length 3455 /Filter /FlateDecode /N 88 /First 806 >> stream x[r}Ẉ].r\%KR@_LBb `09gv, Kk=,VhQ%EHH1 daahf=Xa]2cp^~;jPD#jL>VfFk!<:)H ADN(&H"b܌"fqFkIr"qy,:H]_ KyqX k=2Ny#r…[ss@{Qt !"O%(0JtEY:*(EÇ*sGI@3  hU|ⲖfEk(@3lՑZȆJoOR89d)nءIeMrv/PIbUNaT(lB=^,g5o-&պ1111t#`wimc{ioslcwPOl4w{[`FW+ 7l:g'zWtT|뀫WWӓV>5O?랜\ksm~ͧttimkochclcjcE.qLN.)ri=xs 4&~~~C-ȣaӃGmh.ubSm}wv6y[QF]m mM;lm>#aM|6߄x_]CbYl:Mg,6%=}X+?4aCv[|]\0_:l[p~X^\NO =?c.srןxy2]~4__Ll8%j;l~Z?y*rsb.bN^Wc6-%R:'ָU77Q?HLG"VaBVOnb' uyqRן EyG1"rc8<󙯻s3L}gL~CӋ jBG:#'ٻkjSKO65hYkKcwkZ١Hp F\\_\ْdCH˄|'#@2IBЋ к&$i2Rv2ca>c:*/(c$$ cA#猩R؃^06o0Pv諽ڋ})FP]B, 1HeG97EF=K܃$p f'}2W!C_H։,XKQk]lVc{=5Ji4RF)MF-CƳ+%{iA{lVu$(Il;5#kd[H5R )jy)ɚ @[w[=ՄxjcMekLȰDŽqRt4+Df 5B-\, l`ԌpL\)"F*=A`{ʃy@/*%v,,\"Xc4{W𹵳 c=WD[ z,3Jld>:l偌$W߹9)M2rͪ&쁶zlüZݾ@#XL",3Zg# D_?d`a[ƨG g*"CYk}3vc 6:4m+?=~ëx9Y.}{ag[aXܮ pԘjmoq?Vl׎$M禚>A Լܝ'.ڝM+ӻl67WhVj׹3 <3,>gT}V RRuUߩTN)hBz\z[B-եR+wׯյz~Uײm-_b:#H-*{A;RdJ rVTYҾ>NMPH"B@~E-{N~)o*7,`Ukcݿ6<Շ-D?p1 r !heWf}Nz7j |L&-qj6{qڗH Ӱ-q9 !5cݽ y{@s"TsYԝl, 9ă9a{I"em-*Y &-3 T2=/.Fcpc*rRm {4!Ƀ˥ j-Z@19mR#S؉Ֆ ׌cTwx%Wn;,=ѸM,hš?ug,AmL Rrc<*S|)HA\YCd'Z]22;B$bpvs.H)%Hi1P"q6YIB[<G -z#`b>fQcCVj&, x݁6VoMUȻϺۘ؞7;HSNlKfim^hь4wxsƋ[wo`g{d`_L}>]ZD0r7KFG `j ܥ2?|zƼ<lYHk;J>!ݖG]knH#ٜ6':Y퐸($G4paa sgaL>wd`tON% i|ho9 %<SRiOR5$9\u]dF@r9^Xx\‰PMo/8]ϗ'o?+u^-ryu "/)ydQ| a4}]g%}U9`w~1U.ߍt; EH;o_xy\]΀qos5ٔKr ¹t{Zޠ7]~c73> stream x[n}W n`oJc恖D }Ωn.b6I7- է~nm(E)o#^E'8Ud$#;efߏ  .b fHc81Xp(IIpČJ QRÉUDQN >7N98+ .jrw]dJG0@P^"O򞏰|#pq>sBT0c 6[IGج\SQ!a2B.<*V Sc"r%Dx,GJ&rLVDJ.U)*4rT*Wbd!xUK*1YHrRh9C-Ԏŋ*4N{U|5FQ<'IU`pz56[#U01 0g OHҴ4>ED3g0?)zZ K"a   0 C"AbfB43<| % F3/?FӫL^٨j< G;c?tL1k'4x(ʹ8p۫7Wg/9xrFj>1?놳7\oڂ.VohQl:}NӇa–uɠz0qm]S߶ݱcX{kn[gylTR7wݺ}n߭wݺ6;߭a b(?GW7dX\8mo/7k1z=>&'FdLW7y6^BJ[ʌ QBj6 Cbq0h03XZG?`v\g ghꀄƉh?<\6(Zu 8z> 4%7 ů n[(T{i>90 FmbJL (T,F~ :9\Y^,.p r ԁ%⪥q[2,#h7D/z EAv(ő^tz4KAɎI44MtdHLyBIE4c5H"Vm OP99Ձ ٶvj#l/ЛyF<Hݧ t(-v$b76-rтQOAaд;` +tLu;O (-p^ ڄ(#GR]Ԯaɞ51+j##<e]LW#(|hLŵ zGnDx<Jb`0GD3a `[IL'Lڱ$:;q/)TN&'KSu,Xd[H0X @dA͜ *xUp+<>^BX؝ ֪#]Jt(׵w\q]{|n]{um-]٭nV[oW;]Y|FNY l>~ϯg'wcۛtcz~Q+{Gg! jp>B +A.5 ҋL,Yd*$1sfC`r <}(IAo?o:09n;I1MA|) -Ĉ|CYwԺ-AF:cI|MŴ+kZOIiB @'eסbK^@1βӼ/PbNv 97b[^]] @`meo{a~_;|:l[k'ܳL68nܛ ucm64n= O8psxI8^6[/fW7Hl.݋rzÏ\kXIRVdް7 b0"1ΠuR; & $]|nAZ7Ljpw7Q~uZj=}ykx|dCsLnwBmЮ|9;׹endstream endobj 269 0 obj << /Type /ObjStm /Length 2836 /Filter /FlateDecode /N 88 /First 802 >> stream xZ޿[8i9e[Y2dwW'i/t^ wWKμyCggYwGoB8]QM5LUF\8)F|H(Up|FJ@/%x5^< ' 챠ec-oTU6{^LQI4AţLIe;Մ*6QN( 7yѱ5J[fѪheX9Uf LnbƒA_6ٵgILR/٤LjRŰL`^Lƀ 8 &DŽvF'$lxRL p*DLoJ5U0!(NhZ4Z5\#M̀%d7p' yFp p$Δgw#2 `Wq%9x4)ܯ_9`N ADR]ƅNjݙֈG'+3{Z77f~g.GC;df߬W oao'÷cWb~vO_,n/7i痛f= mW/ח/={}A__>,.Ň ?t^30V$ENôƻѱGFhZ(ePґS~#PPLc2O@AhLMܲ@Aq4PE ٷx=XꣿlWKrzzkfǫϖ7oͯ1]#.6붐>y2n! :7H6,vT JV EQI+`Uf.5D 1_'ճ{qqn`L mnCmLs6ren}1%\1ma1NG0B@Rhq a""MkJiNXg-c`ꃅmOϾ{4r5aJMiӣ TODyO?y>߼{W7+[-(l%DH HZw;E_Mc;"܊f\lv۾nKɖ%oXXо[=iO#vŚO0^1oi{}+WIv~¸1hv(L9S0BY[Q&F#f'ɈyڙRv(!Ӫ'lna}: ,)z0~@U1…SIJE UO]0kruQA*cd1_J9ccVk)m82vMPgnD)R]`#­f#;U{گpҩ;vFײOe㞖i e%ɭZdɷ%% lC[tf=BT"]ԍpI:X-XT0č%-$=(JMSH}r(f>.T.qͦXoZ|P(nG'z tZֹ6M8CQX5Վ.6}]'rvwpp XǒH?tX-kp<;endstream endobj 358 0 obj << /Type /ObjStm /Length 3843 /Filter /FlateDecode /N 88 /First 827 >> stream x[ms9~Bo ^m@q [|8dc8l4/Vӭc\b/Vb6FO ShT,S*$TS&Q3,=^LEkQIL 8TАҡ$h\9/0 JIdQ1yO4e>X oXJ@5=Xcd!Q?@`$͢W *DeX $0%IQ%$P,4lbkfiaC$VZ H+!g$ !h= i ѠQK9[T2ЫGH* IzWAJAyV&dTh1fUeN կz?-\^'ץnJӔ)]S M#.#]ʃ6P8l۾)CSƦ o'ipbyê.><}Fߪѷj}Fߺn?O7AzЩ#Ar!3rF,~/zpHz4nb.P@6p}zhدF[V*2M#rӈܸ 5x8NA=r~#_A܈2|ǜ}3oɔ@dwQD'@.nxJ{'"'Om,LEIFin[cIkTS'-Ӳ:=kgŔpwP</šx#މb89+y!E9UHq:-Q L gi5sq~!Fb"&t^DLi5>6'1ӳUx6,fgb.g24qxX`٠6{6F8jX"ռVٜA N~<,O,)ף @:2C3I}r[ijA^ϹFox+y5(8F8 ``ۂd/#g{{cpPH ~.1bH=g+ƵY.huu^WM}xOgb9~SAN+JPx\ݓ5],)Av#}6yO8ߋv{\OynȬ*L]r#&7C+oroF)-]X{e w%!u\s5`FjvtEɎ)ؠa\B87>|XTk͕Ѽ*t[IۚNOm{²\v^m)E=ɰJAP9j6:ւVI.`ssIh?>_ cNg7[kk5fccכז&e֤zg<#a_dyai6mnjMo2`]?"m|[1Q)f e)濏WZ(\s:15.Uaeo6fDO=IK7m>vb/z᠍4'],ȠJxRMtӏSvzJЫSN)wCv!Oqj]X5k=Pj{WMVP͈IwE@J@`nłkГJ3qurVa݊ꨁd;]~a6'YyYkc,c/g"?Vl^|e}/"R}p.ֆcu?n%fl0fa0FY7`Tц\,xOo1oyn} U}TSAun.P IwѥȯoS}˨5|vIVցd~tBx39d [_8" )eʎ[x#-~VЅ V `X_ dU8٦"W5S+CB(N]Zr'du=[#0p:rgvT\dĴ\ ⣜ @IQ{r<$KEH=Z&^DTm,q I[u\!*R[Tzq;W0֢1^XA>GGT:iNqQ<&)JNI+ZnÅH9f{+֜Qð(hPɢA m5u+',N[d\LΝi[!4-_-N{n~%jyBХZMw`U@>9$p@( loհ,xrkJ=SMD$=8U+h9;xb4&){qȕOP&[#S򒁙YfvI@&ĺG,#:JðPg`;( اMnZM+0\{σ002wʔ2~R:@8(N9Qh~𵺔5ymFPsᮘBDl\2QߔQ9KmllC Gԑөĝ0SN,hK,ם"AIJ㤴NwꤶgeC& n~P.O}eO!&H4Xz^̧՗gOuK;IyCBcm:?Fm:4eJ|eNĊ:dk|B +6ZuvOh6Znbeu|E 䤜#:C, ?ɠoZ:yBȠȗv׎w7nz#[Ma$)nz$[́DzrBY/!J6([dl-fPF+ɘ kIPiVa#]Q>IXl5 +pr_+30(5mf*?endstream endobj 447 0 obj << /Type /ObjStm /Length 2794 /Filter /FlateDecode /N 88 /First 805 >> stream x[m_EtUwt: 8"Ap[,6Zyg6]v;Dgb>!ySA?)_>OpAs{.)OIgRXla&|!Q!DL7d$;}1b+xJDQiobN0pcN4K2C`n0ibE3WdxgT")cqd2$,G\49RɊY\6@)PWV!D#f!ME )/)#(ڂy8E.qT1a6%ȞrX+e c 3AYANy.0qbJ=mIwߙrڬ?p欮io>k^.fVY(_]؜׫W|<{muie˫}7/xj6χ~1~K+v󊱻k&_3Zܩg智ynIWt^)+{ͫt*ݼJ7ͫkS&OF~|ZlqDpn-]y]t]돺돻M*'rpί: 7?QB".Y &rR_<$*#(J-`iW(/Um R"uy!z4e,!ڄ9!nEWH>d2J&v('l Q6i|WJF:BQi ЫMހPnXc#ԛ$k<i~$=꿁Dp`~ XΦ[;_T*)N)Z]V#U.  4m28.XaNɻ&_yJͿ!ͳNt|PxlUu9~P [9OP7hD֥C"964e4+jj-=(p~GP'hŹr.lapuX ,e nȁ+"}dV i8S&BV D,Yh !40b9wr$i:P`J9 @](iar;6"9VB &`N V˩[ 8DG C;h q4kLɃ&^Hvb݂[ Ä!K赘8ZCF2 aZAGN:@4zV)Og$Ab0?]V,֒ VXDxAt팗k!dZ!$^5s~Р7TH agP!'Eo#&P7G0($sZwL`Zwwk#.p!jeOHXD`7ܫΧJCG b‰Xoad"ug_pI1tIh|"O PkhɍZCRkebb hH[{a^yĥ\#zPeDȠu#Â}#. d7i6w> CȑZdpPwZeWA[ =hRVj YSӤxL{ [L5`wt;eW=Uۏ5G?.Ql UF0d7ɕIXDF$H gy݀h~ŋrE_6Źi,Wo Ӽ^,.׋݃K9_->lVWu7{ ݃`BxxyW}X_wԟ/{ÿvZP6g~/.r-?6O͋欙5oy[sѼkeY6+]۴+jͦO~4Wl^.ֈlUG Mk l:{?$4/5jO^m|O{M?` o~굎:ۼk"~p6x #gH100Hi|h_V5BV#gZyX_iС^^nH$U=^ NYЈrHq~ζt#qفBΜoD,`g6╆o *P+[P% <c Qj2+IFM @a)Czɺk\d% 1AK9`Ĥ XwLWɭR&}H(Q;WD_vendstream endobj 536 0 obj << /Type /ObjStm /Length 2792 /Filter /FlateDecode /N 87 /First 775 >> stream xZr}Ẉ}Fv"JrTJXx)}}N0`g/>}{vdZ:KgLIqL:8Jf+45ZƹUXeIL 3nhR]2n%ǀ34 ZK&bBXfB&mJ;&j C!%6I!LJK$bҐ$aҗt2UZ1SCgtɔna «I&V28Cm,TMDIWq5`c[)p#`pbs AW432xAe:i_2aPN9M3{IjtK3 ``0t2+wJOzf,54lmHa@I Trv6͜,4HzP Ygp9p[k簆\72kh 6򶤁ǀ&%`μ'4 b+wɋo!ؓ_P),.={s{[a1;Rwz]Bղe}lb5})H,+ha$?pF[ĉm#P,Yuˣ:l|AuB"cms1ja:}i`)JRhqDsDSt̒7b[p.v$< ̦[g/߼fB fS:mLǩ9=4Y1P:]uccϯU܅q@wl7l™t,L}b"_ Yj`e٩WC,i.ɿ:οo_#^Úms,XI; :fx!P]'a %DiӐWqASB4iw945olf.m71{ȯODX[0lla] +cvv-Cw35ɖask:ܬFS7^Ck\^AVRdŵ2/w+ o;8*}_3TQklT$5Ym(;Q.>L)9(*hk]Id_}PŁԳ3dQ*m.5-Ӛ@F$tZ2LksRXBBh/C-Yd+ , kjO ϊy=]+6#]Q,BټtNw| w'Ngqmy1cn6}EX?eMJPh= yuG=ީm\"(u)Y~Xm\{%f\V|Zͦ}ljV.=%k)OS8 UɹT<)3NxT -ͦCHWT:|4ňLH+3Qbͨ;eO3],V;kV5zr@ECW/!ǰ -1$c誱06@"kmJ";Mc N_lpķlSEye&2-meA4bow}4E)|h|q6+iwr°%#Cd/2͋.ɋ6m@^P-(G9 %\8c4?j 1瑕j=&2=R׌ԡ(dD=̖c̼5[K^6 cY4ۖVtB>Lӽj1fvȌO޾xTցf u lm16gs*CЫ%kZD>ew0>3yz6~+&46rb:qZ3a,'iδ#ۉq1G;NwSE0jTNUQIiևف+ĐyTWLoWL_{ZRGZC•='4- s.t˜r }Ӣ^Q¿"cr%M(GI]A/&*pK$(% '՗E PdaX/=I̢/9$җR=Fr@*M Z! 4KQq*2U`} G*=~dritʩνYYyhu5 g5O_y< D&gdgnɚ[T' Mf3zEcq\C~_/0^vpꮋ],fq@C) ^ w_'ܗ0w]ΖhC[̪qg]xtGN(AY V"=V -UmQmI裹<&@ߒhI?5endstream endobj 624 0 obj << /Filter /FlateDecode /Length 5123 >> stream x\KsȑdgbGz7wv=^c Efk(|TU4pn<ꑏ/̬/M-=\Ǐ\ߏW/W^nZF_߼W^5U]; BՖiYEc~#t)D6چlA򍪺DΝF~7lDjqڊBӊ hU7Q> ՂH [kLagj!lvߐ5B;L[2BMZWْۥN97xڥ<_!{y#[TÄV؟hηU#ԍ,tLWZViCT]ئ6E- irʸֆ}6}~s+wxWp*kiWFY8z!w<._'$c". )].//Fi Ár۰"!Uf?#$INa^7B g<Va$狠?R$,@OLį3q#rUOYB:>Hqr(e|al̏a(> .\u}AIa/!X3"t@)Tl*,fʥ?){s$_eAV%R`ZTi2}tƬjYЂ3T0$_"sy\BMȿ Z_iCґ+^UZeu_ iiX\ V^~)X/2Z?5]ɬF԰#*">N:A""e؛&?\Z75 iЌЀXRz{Bd,N`\MucN`:AhN)|³(Pnz0͂O X+ЈP 32bHd>L8ԏ͂0<=1"SXhV /bl%'*kJ()^'@fу8#rks[j4?uiu]e h3L 2 |jpBcs T>˘է,+Yg}c%>X>*;8m 1.@ gjh $"Mm&>}f.)E|O3J4ucw6dmB9'0)an\mTjSk+';ʓVqpZӕ h;@T)7O}:iOe4=mMhl(DZXk*t.R),{:3t!S b%ʣ3aIZk&Lh?d‹ G6mTwc%jex{`DZ"XϝdlkZLqcH2¼M|L>3@6ߠORjb05@h:>Tx4҆iqt\-!'VӓToOOOV ~:ARi6@ RdQ@'<Ӏ$Ճ/v!,umJK·x![=nZT[cC >ro 0"Z25x̲m†kcBS _b5GwSON]LGB`%)~=[yg<QwaQ*L4ʮ>lC%N~xobhx ,<[4i3Sy:~1Tul8DE7K)# k<ë> jG.J=[#d+}EtuʩZüљ9k+/8k`@5 FR (XcJDy-UXnnLTd 4!۪8w?p[[ԡSnl^GK qhf#Y.c ]ƤQ {wOΡz!%8F;2&\:r,Mj;Tߟ7kS3:}*a !Υ'2Q oRr ӆ#V1S[ zn)ynLfF1*o,Mpcœkq1BQ"iOpSTzp0U>)virlc&zSF2lݚIt}--BW:dO7F$GPឦJPG(ʹX8pp|0Owh0ceP{8sMI4VX!B9$O=C*- cz<#d] \ PKz}7StHC2#Vy,.Vk"j/DOyB8Zcqy򂅹/017⡨)Gb>72zRگZ_&>;pRrȾueЛKK秊4F6SceYٝc)=2k5АSù3|Q:E wxS1bb)F1iI^ oږ qҬДdama ͇ ]smݧ:1|It}YdqLg?~ELm) xRiu_as?ô(]$]~$q!`{>]H> stream x]ݏq<Co7Lwp ؆Έ!偧]#':ISU=5C  .S]]wW]+:/z?𤻺}_?W^ߴ ś'Qqŕ3 \>iaP ֡uN/l]D[߬Rn]d]ǟ ͷR:뙹6|@èm0ÖӋy26(^”)TOiټ/ ^ּ/7Ow \joCPX&Ϻ槅mIݰi.=hޤ68eS\llEq]:n+4! Vq=AVnWhҽZ<``DuM=̉ {]b1w7/IqsHk%௜@b ?jT|/k.mbYMQ1Bp n,DR {QFA7*IIa$??((lp` 6˅y{V\WL6'8(gi27%3{/\qD H٬]F[ .Zel!;%ž]mU^qQb`)3u˛Vjilmp"*ß SͺCtLѮ85*e(̱Y\ޤk$ ]/"z m,_f\HFiIɴa W~}ցk M]-jNf%oPzhL\r,SmoUh}HfXqjvik-^,qℱ:T!KF01zN.rF آ*)S\!48_Jݎ$yՆQ(K `ټ.5#FL%-lEfiѺ&sv!r%y7Pv^6KY#:ޠEI? = z'4<NVa$"eJ4e^+4EnR@}I0ZzNի 9?fSPa x}G"W m!,\U&"?Fflt\ܠ:BѱeEX ![r6fIiԿ)#$RiMH?+9M1iFy*V"AuDk0^; $BZj_7ANӇ&9@+RNiZ%T#}Ӻ1 F "?Ꮔz)jO? Lq!=) szȚ٭ji+R|AOuD|֞=垱Xxj%@3vp%z`24Z<$D?DLi,q)/7l+9X&'N$D130zn6ۦ>%g6_q5M/ti]oFNszah㾸 @@E_V\1N_-ȵ-5`Y׷d;[s5F$jX;~P%%e&VA %;5]S;bŇfCd@[CS:H?/a홫}[t%&G7&gÄ$X_.%;}enȤrDRD(bㆵ[N|"_q>9D|'xy씕U\mˢMT{%P)n2L8&db|<_s]NK\0z':(7@MRYm#k\KäUmR5*9KOpފw"ˉ  ;*` |Fi_VNSM13-5zeC%ء_F hs7Z)q0mxrengz6&S1N+m0=v?-V>C+}76SRP34e‡G^%6n&J5aeU{X%ql$CO+ml= a|( V_%1;cj Pڐ9]m[^gu{hCeSBVf c@ ^ӽ M vG =8cQƨ");7T$Lk;]\b@dFx%BN}rȱ._6)1Ե^Eٰ!hRGODE g>LCgQFGdH[9G]kgv ]j;?S\=} Ad^tRI9+\N~;%|_80=9rO,<'B.Q*a'`0- ӼʞIf6?:cKtin1S/c.PmTMN#zL۔vMdO$̯c4iuμNohu_I{Z3N)#zO .z˷ Il ^72b`j F" ݻ6W+1=q}{ cbCP윔r^=:'4J{- *!KNe O|wsG5k^ x3#s7vxVXjzB2EKGLNKw>.{A=^ã_V]""t]n-Y>U\z.(2*UQʗ)`.ZϴW,U;vtz٠[K*kG7xfO_-K~QϗaMD2{++wإ;Lה`/xŋLi L qҕD~D;MFMؤ}Fd] viT@e ,'~,.@}H\)IX&pƷUUt؃{bOޣjܕ\|ZCldo 57`-%+0weLqkwDxj|ObyALk,KD2k\/Wrj JLt*FxIFr~oF7nVCOʟK>~A3_FVGxˮӶU lQr^<&uke1뗅) rqSތAqԜBdE>dԶ?6`|Lǥ4$a{%b)7󦗝8D1q.5g+bWib_Qӯ+G{/'$~Z#s }cͪ|H3@7Zޯ''hendstream endobj 626 0 obj << /Filter /FlateDecode /Length 5229 >> stream x\ˏǙ_ O98"{H3;~l9$,E=PHCJ$eI}_UwWuWytА}3V盋|^],|3%M˗Q>s|fԳE5 g勋vjW~pW-w󅔲f\UY}~{~W( _̵ FUW jM6N'\4^H];c/oh5jVo]^ջEa _{TxKgmppDu+So1[އUl&:ƊʹߛuTo+ϒO댢|&tY΅|1Nl\ݧgLo8UmJW74ա!/ߚWˆ/HlUvH] Z+/fO/.}*#a~XXI\Wf-wqh)tTZvm[\?cke]Mmo{Mwe>a{hIlzrudYxLZmRRWaj#6t( M66{~|Ep Xm"AE7$LUD ΐ H^ .m-D~٠N`s+f xY@V8T2ik+LQL/8CV8l{+xt膘Z;C>!V0ҁ`&a ^K g86;<(lQV&ڞGcn|k? Vvx!jhŠ48F&xG6Zi~vZv\Gc1HQ1e̗Ęςƺ`3jMYLh?]&%mGB E&|/ǼIijܡ;%1@2ڂg t#:Y%y6x$t,SXZ8c٣=D[boKnm7րN,GOSY|ŠEqĵtB$N! \$z<"Q0G#УdQWC]xx갚s8҃]7K@Ȟg0P_Ea,(Iq3(٦Z}R=R/j1+k5nܹ!31B.3J2eL zU gG e)וRTI b05$%نq, >4߫jI΂)NljSV$‚2Oz~T3+Ƀ:=ZmwÍ.(shd/=>n8S!|7멬m]!4dEt!]Mz/p5Y>SzD"ϖ[K'd: ^h)@ë?&h,.BDvJ%566kT.qڳs` O'wٜSlaqOMڕ)xOwWB_M%Lrd8sVcJHrYIa] 0ܶ0Ozd1Sb" hWJ`ZVE%1&"cCoл=lJ}Uƶk8Qh\WXBY&(eitڶ)i : 8GبYѵQ:f" ~JjiECK*9$=Hx"6 OL 9QS>*-ѽ*;'w!)Dgq/yOM秮CAӑfr̞egZ &Z | &k*l'z0kK)tQ;ﺿ5LRV^6WlP[)bk2*\8pCzˡ7'$0,:z1(8)K>6;ȣaY Jzs pk^P]χx@8z}0Ctj>a6ɮec ; Ay)!5U&im~|b$'gJNTU1USţX4@ /e*=갏\e}o\RQо̎GbtrE6a~VKImߤ(o"s@Lfi>-& /Ah Q+-$G}8Ae!$m b^4x~.%q平J_j:yN2vR"rxKEs]D4DK&g7zl+/x|zI7IѮT0HWFHar(P>-VFwn{;εmշ%,X`\ Kv"Ir>6N1c2 XcYKP;͂tu}|ZsV ׽݇/pA:\ʿV&) YKj( zVn?u'2[3ߖ IjjzLzwy[eb8-xQ"ʨK௺r+tD͵x"h+1j8P^HmԮ5̡x.U%G L2st@PQ*]i9DZPl :0zF7}ga*SLn(xAt3m/Su~._C+h#.#k7肀x:R$ n^$;8Ò9s[dJߣ+$j8d =)z \FZY)}]zE_#^Qn=Q=6͝CRiqS3?8-cElqMS_-de^; v#۔r$N\ bW (ߎ!}Y/LTDaillM8 &/ˀ4/4]S@r}/AL@Jiw49zW1&\ 4gNk_Ğz'LԒracJg2׎c m%kK]sRD>}m2esak,4G 04,hlx !0mAv]4 RΰD_|VHyo[bdzlFZ}&dkRHV'xb#yvff`E!=DQutj'qahr?@ш<j5oޮvF ԰@))>;5-U\rI}XT*3ttϑsD7ΰ dg['oB .p 3'm# :^MQ>p vG*O )8HUkѽLAߥ\Fl["6Ag;| ިZy$Sr. LC BQ;lj ry9DS;BcEq-8.Џ/6N,(TP/`%@F1ao!cAx\w7|@+(tX{kn**ovH}ݧr~nq&n͑%z׼"HT/ 85յaWODSw bNC^nЩ{_WFTI6gGo񽎧xy1fBwXN/j͙*խ _*]ܗendstream endobj 627 0 obj << /Filter /FlateDecode /Length 5160 >> stream x\M7ryB=8±:tx7 uX8ȇ) aK=Mr?/QTk3tWP@"2e~Zu-[u/}~w_[V7?]0*y~ -`Ժα^\ҼeB2juuwqevJZ\ss\ !ڎ5_l]GˬgOj?l_wt>VOֹ`Y[6_?8|hwwSro/:N7JE箓͆z,d\tBj ]hzuBM$nw7ۭNg6rU"}˚.Ǻ[x4럄m5P1w&-!R)I* UV/ˏeC(^X&DҶ՚w,hU\U -@D\rbߤ6.o[iK~+~0m mњiRJYaM&`ԯ(m :k:Hh>9ɟ j)̷}{_/1h5n$M%en>OXꢭqH!a CR4$m]w_ڀtkrr7<$drI  Ip* 8m G2#Ļ_2VwZ7=:)̺)a{=|a}yuNj`tj?odF6wri6$}p Ek]@ybQ!cQ$Dsn0ngfw05XOBж5wf2z-=Zxa&g!$]d{is嘫h6 /^f.nEu,4f !)!\k}MxdWvD iEks 7^>[K}7Z BC;flpbV lkhq+_8ԆB9Kn׵Π9$zA~ӺKMҰL>p>sw,%xdqĶ J B@!WW.})&-ew#;0 P@GU)UKN)r.r5((iӒ  48g0?˄!| UA^@-pܣQjL\B\;X_Y8Wy;v\X/oD9 ):ovizmvU Y 4Mwr*u5P+ #5O Ag, }}< rwiq۩4J%SPۺ)~Mиžu6<#1 3 k&R@lj񻅦a Y1Ocm.:^Ӗ>/}6yfpKyFӊ(@F(Vy3vPDT M”qfq.ٲ@A"5\)$ƆTLDZRM'0T0SGR,yGrXg6q"*;kl鈦rwaLu1<`޽4;p ޏl1ғ;6CwE+@zD͘h=^2:f!N!vNQP9yG/jZ 1+JA NJ%D:(MM8w9 d27yO1@wTuJKhfs&{;4{&en{x`'h{2;Qޛٗkv' 췛ogX( n"-BB6?׭C_6O=Gm`HSX[=n&f͙kؽc2soְG6' l0dO@d, RL ew V$b`LmpFYg[&ShǀMlrzUyO눊U+ER4D;JޗY@L>+rN]]a[\ {簫"NXU|¹}U]YCe9BmT]SW^Ug|T:[Ns&>ӻw^1HeҪk7}>?"pf>VG PlshDH2'gN0i$s&b÷p$(&#FjO ?;O$$~FH|=##wX$wfsV4̽%'VW1O Ztzs+5NVOјT8D,kolY~fY{ӛy~^E4ՙ=$k/2ޞi'W3Þ>h6:Z%}j~-r/cv$̰R;sghBK`8GMG{q'bUX$Ș{o.FSSd2=ZK5m~DL|fN~]O"7?N*H"c*QB$""4ﯼ8x u$ {*Ϭ^/ү%!#D%CD@' h ;gf6Eo%jo1VQƞNB!Daz(hҕ&QEPv)UIy}4gR\)Nmc 5LtHޔ .x1*jTw5rlmjyhfF8oFd17F145?wf(] |۸Cb9%b#,5Ú+WCH!^0>5Ih=ʭ(qVvƹŨ~*gExy")>L[=OIH*wl+3/8D9WJ~oiuDTl=?Zl7C}w0Smn<C5%?a̠Gl-Yr֊,bR7ޚ~ᾛY"Z&z+O̤Dv|ZlCS t<'ٙIYb.i?@+&ݢz''QJ(i;q=sw,PJ]Y  eKRQ*_lohRd/jNWG(?J ۠^.g|IggGBnJy$[!P8}hvH{=QȪM?ˌfv_{KC*ˎ:eҷU}3[UZƏLA𵯾ٚ1Q!rRvYX|ɻݏ^oB"«Cº0ݒIMX B)z>%GLXLҁ4gU* Ug (5G~%!{3-M(*V+-)EٙC0fz0^,o3E4y%=g鍋&p"iٸ:K',lҎғI;/g=k_~/<9qy~څ/ȪHAȡW**RCېWј\JH !VR(.z>t ftD=]U#_Ë6HurKl;;63I7M}o܌A68R_2ݤqk 6P0'^&Mr%ʡ<ˢ^Y}Q*?1zPUv:]:vz6JU%*ShƦ;G}mPgh5Uj"vnr F̙?I0TʧiZ?_Ga{aa?Sd*@%79` Qbtt"li0"DƥktXBmBT\6zr\{p=Oryﭾ1> `J4"M_'3yz 4LxU15WR%wU~39;GS|btyRBk$`+o[W Y fH:f[ZMZE/2?N34@D|ӷwRJ`>~w6F!ZISv+cG{?c]nk/Kv"oHM+w 92De ^ǰ=&+p‘YچQbgdbx?4%DK|W`DJS&S)M_VK~ '񐳬evT;(Tܓv WVxι48D8/=A gAS tRr9=k/BM|l쯼 b,8A|^="/A Q IMK,X=2pT!bT4RA' |ءq@"DH&;Č,/c$endstream endobj 628 0 obj << /Filter /FlateDecode /Length 3286 >> stream x\ݏ۸?/?XC{@[\+^h-l'iMQo Iɤd ^IpeA% 7o^9kgnӌs FXS̿Jεԅr~W?`i2Zʂ1 o\fow,J5--Y/xaQTb9/J*?ܒŒi- `+dX꯸jNEbRΗ\F)#-.Q0,}8}`RJZ kW,r`=eimlS-(\3.I8tCj-< SEanG>(0*=H h'8)h/woS\za=~Ρ|6fݳ7v.,z_+4ʌoԤ[7;x T_|f,fW_!TATIdm =A1rݮzd p!ͻ0d7F[Z:Y0ABqXm4nv ʌz3e6`ȥ+X!\e mTf=VNh1yq M y5}V#1KtZ|1&M~DoHTLn4r?1,`&JyR3 2'u0&jXB隬[|CR&7ὄ]STťp+]p%N ]ʇq̟A oK 8HNq["`ûȭon, C$pC(@$~r(~(~(F3 [pU  V]*yt]ӤeOBP IA2:0 QSL*Y xgƮ} [97. N#=> k#k%O^0XHy&`*0_~HtDtջ3$@6-csƍ#  8GzK7óWޫ;`:A{fn1bC%yL0,FXH;(N[*St`Q)|ꅠ@  uK"UlNa؆_֣K Gb M|l%iO 磾vL(%E,z3 +ڴo`?^H|Bypunƪ]-ul}R^.SmυbJ1\ *h+>'G}hZe*LrSBBؓ`3x ǼlC>vITP.ٸdBV{= 0!8-q&@}i?BI(ƭwr*7|Vp?kF',n2?'7H,dδ#>U`[ݒ Px@0( 3h6m]Suc%ZĘ ހWIqb \FI*Zh_$byb*#g R>Bal,>Y)j4w0왇+[s4".3"X$ᒪB``*yQ QhQZX164E(M+}%ը%T1L&O h3zpD``?WyҺN; Xh8TGt >nazCƋ54ԉsc_*q>sH1NpRRcS& I4m[&|M<Rqٽ,qz:TҨƙ~3t6쟟0R~yFrEJ^ $AyDPdV,O=[pt]0#Uk\M*&ծ]W٪1kVHueȄ\e I CFC qS'>cԴc#Z$Ҿt]&a uP{C\.#$B| |}IT}Œ,Pfjz Ñr/EV,usj$$p(('5$2By􇟹 0bZǪk6yR4f.¥1 kBL1(`T XUӻs{I}L&ߑnWyJKŴUz.?vo䵁bnH}&(f@4i^i?6$g#oWSO{]c"լ̟Qڣw05txp0aQK|6=4cǾeNkwhńbI_QHy R!VL`2 c^/oݺYL,tFȆX:1Z̅\&R#ftsE%#\iMriLHk({?b{=vi^.M|mEu1m -c+isz-+ (Dd˒]a` D5UVfVG*2i]?bڟ86FgMJ^dSAN8}j' Ѽf?jw}:L{ԓ` t;tṖq:8wQz)Sg:fB9&\@2,=z$ g r2'D"ӻTgBOJ<{/QÄ`+8ۛ9Z=}WҵY:6#0|#FTGtzDiv?QFe8—?m| :endstream endobj 629 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5784 >> stream xXX֞uaf+RcEEŲR)(Kg ]4(,\s1h7Qc^sI9Q;{y)B<4;dcmo  *~Yx9RB/ Ÿcj_t( -!sCEpxyرTh9{o  px87B#!>[|B}VlYcr˗t9/a:wۼ\w,ܹ(";5zۮolY?+0Iho6Hn{ݾp ]rb4I6q7BSRS`'mj:-CFZb{8հGTxrUd/=ɼO9]tfB%*p*l鑵>osgz _ ,ج&h u8D=`'@Ve3ERGh r1bIC/~;M\#spH;p0$vLRJBߐ dĚ<pߠHz媦ቊXs R ?Qb а8x-kH HtҚq*NJZOX K<.7_84]Ks  0T1⬹V;@ƑėH]>h$U&jxShb&I` qMNxDf`G068Op&C^є 1>Vt݋Ė«0*=lAA(y0]TWV5s: N(sx?gOZ *pemLwt6 FJ`&*gd"}˭ߺ~G q"oQ +*cdEa;uyy&,2YXlqj3j6Waʛ #}g9t|*gkYqޣEw,BgVh±`\\H̆`y4vsϊZyI.'OGFpfJk.{i)YJIPIy9a1 'bOq6qD>]UU&r~JOft9\rWu^מpCgk"vXs*{㜮$l-DS@zSFۘ$#Tj߭U4^WHTvcd̕Ki{Pa1-&[N2HPƕB֞$SRɩE~Q@κduu1)ougXZ(TL:O|P,? %`wTY ="Cw3t>,ۓ[ޫ01!Gxo6ca)2&,*XGOM\!^󔔐[Xr1p5^?B O-rii'i}?3Ԓ'˯RΉ-~ 5/~ /IL&w`dcm"f Ln8xk8-Y#b ^A]E(B" Uo^1jD&=I.Qas&vn>lX^p^UN! ېsOYٗv-^ӹ@.1rޤ.%ND/p;]cE.=a_LF|zRn8$$S;t S.r8VtFb9<>Klv吞UBmVqz[z8}J+a[4hUC9!5aEPc`;уX$O)k,M,ٕ's*M[7qe2q#Q:#yo6P }AʖeCxbOсk}'L.hN>ܰ6 vys?;7^5i2IrN4r6o~C0O8t&˩ݛ8;_j(t"eՏ[Vޣ}3]*[7̓ȡKOmwXiE-+.-.-:к8]J X..弬CCN9Sl]BD˒lى.) wmgbK+Ѯ[efQzפ(+t)NCLjj>UN}dN ޙΗ9t7$9.bC|HXfj7Gk~[ ygdd_>R*T-?;_ qd11jTxǜ6huQ zNNMa]UeO!\J2z |8:hvzSγEqĖ$JGiGPe HN~{J.R  [aSY?t;m }ҹ4:~ܧ͌+bݗ=ldj8L'PMFJɒ4iRZk)o ;=,JlN Ӯ4D_2of3,tD8 Jlw,h*ݳ:~i'^HBYƅ4l"q yΝ*5S{r¬̈́7Wٓ~ u/fV@D7E+ OII>dڡAs%^4W*jQejMJvrNRx\>-?I _Ŧ]%dV(1H+XTѣ_7Znxx`#]Isp$֧$/ գy5e*26SjfdPbEw8bxSxДvHX-52*_2:=btTW*'"#a$ "ÉC倎'NYB3zh׺-n$:mptY MgwWp͟C^)M~R55s&-|HzX~=Rd3u➸]o>XP"[6b[SrL82c>%SŎ1]NzL&E6T8.Xz|zUzت8igfi2[! VLD\\h* ߲ݼ6掾jR/SO"EВSe:{>д~CP&7i4'\ 8\|a04r kTMu[|n9To<&R:ӄ~RTODQEَ(O|G#6ebzKM;wT}\YV(ګϜ@ UΪ6n}(kc곡]=3lغݟ.(\-‹esHMW:RC[ Fчx]0dPC\4!@acO|tyKVfΑmqnwλ/#lJ w;]˝.G*p/+H:F%D)9FiJ#Жy|?QNW̻F v&yCw H]\jDZ,+KT~rC -1d*ӞAeAme?h5wƪ>5 &qD풦p]k?"ZamD+͹Mu5GJOV^%67]LKpp@-X}>E ʤ4f0k8&bQa/)QH=JS?csxx!1G0M}d%a:+GK5xD!K7TX7I&>Y`|][ߢI2'1mm+-` L q$'1 ^P2pk+=s ?8QҶ{Zr[WhH5 qԤ6m\CZn_) ƾ6ԂӶxZhcWo^7h) pܣ{O|HgL@[E&lg8:XF.W75{:[z]jSR+öm_▷7Չ'3f@ ~:/ ;"5-oۙb~r"#hQO)򐧯v[ckryov+*4r2?>X:h9rw'|X/l쪂YY"ȇhv&9{7)]z@sM?rB73yh1V7^h߳ p!T] љ @qc~(G~kLJw2)1' t۫D"Jx9{7*EW}b%x 75YR0[ګ'IOKOO3egի9d>CNV!'Woo Tendstream endobj 630 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2830 >> stream x}VyTSW1$#b_ZZVǺ (FK}Sl!_"`"QQmm[걭:ֱ|O/s:/Ngqorw[$0J"-ҮHY?mw&6=)"Ŷ)^Yi hwf?\k8㺑T"YݐzwGlռ)*Dmfjb*"9Z?%`j6S\WM&"5qI1*mjf*$7(X hiH`[Skm[(3YaoJjQњؠ=R2*z S![ j򡼩ʗR)*ZB)dʉrƊXsIg\)'(mOvRF䑴=`ϵ_k#g߅N{D;x+C9~rwk;諩_ϪȥɜᱜGJV ~j]L袗l5JOS<#MgIu E]q)JD*p{d Q.yL蟁,zܹ*(@ +cb!4M#pꎚC͇:`-cAV8"Hn[CV;;R؍  ؔCk{nP߽Ɨ>j :| VW7ZbMXRہ,hֵ`QS݋RE#%cנT*X 'G+}7tGD>c6h69TaQel̄86(їUgN]S>Ed|Wg쵧4S-s47Ya<TgJ¦rXH@G;˓H6Юȝ~tٮhXB:Nֵ"RsrDt`яb@mIlkh " w9\v) T(JS [*ˠ(^]a"]_];-)^@uXcp ;bߣ:ɍK9<j,abi3ONi'Zb몕:^bq΍nt~Digbcn{it;`37ZXs}EՂK'NU)P4[K1[h4:O4fK3p3. ݱ60"iF{|R!mjC#I^:-̜pGZpUek]@K z3'^=c>ea:ث$(WӅУ'DrDZS_QHC6L0yi< %;ˉ^ زK4%D0zN6mvlZEy{aՂJTTzOJ$k6shDgs0G<^'ƈʗgF׺,p NS8 ff A g_C!p[y~"rr-BvB_>æU:V?z>$lM!H`6xXngX>= =3E &Pgl\dSL`&F8h1m-\QsWa8WoM`duV{-Z-Q6 ߨ ^AҡHS*0dL2Li6J{*#ivw;֪Mцz@r.A8'zY73lvӈuH$gq'ΰ~pߝEiȂM\eQ}v)$o4"iEcܨcd;e4!} )ES&,8^ñvQ˵dDQmiʤ(} 䁮l5aܢiAc}qڗ/2-o,:XӅsoOm0*j˷ŐϤnmݵ{/GVLV%~~p$~2|VsF(V9vy[}vg=+.)5p%a)Z⅟|o.:n0G[V43/[^2ɤc|?Dà\nۿuITPR6VI ~K^fbn E1(WQS]pqBʝm7>@O<ې{N{\(YՉsl/5觃 m{v!lSO{~ yļ+kWn~iJX%G/ 1eb%^X)6Htg~bC^>Gej$l>'zX 0 c8~ Oxŗ[DQpRRm-)0,/C VƪT1p1đ'22Py'8Ŋ,DPGrG-ް[̐YibRss\B(PR Rlya-*9S7n5{9']X5rkqxXVnёf߶X[8 +0endstream endobj 631 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 9568 >> stream xzx ڥ deJC Љc:"[HrU\mM&@HBIh1B ?+Bͽci{fwޙ2D +8N?f[c PЉ{O茵xs&nf'L\mFG{ͽ(s`{@h?@7`O3?)zXe^~aA^֎ۭ]9c0p?_k'wGoWk?W.l?Zckx*cto,tv\AQ< 6.ߴ0EA, ]cCg{kQF7F2q?KQ(j5ZEͤP5PʖFSvj5ZO6PFj5D-Rq"j<@-&RKI2j2BR+itj՛BYP) >KQԗDYQ*Q4CCuFP)_G>z TttH)3*z%4SplYKsG;e tӃq,輽.#u]niwc^/{Nyר^zO]Y8Z_.%wLo-WYzJ[2/쿢[T 8ޤ6go˪X7 xuPAك|z:khkR3#nje9nԣQm1zcclǚ=>0ƃm4p[FǾ3uh.MKɈ(P*s҈ ;T7BhԪdi@tQ'klc 7ݠ}Pe:R` rt\p} zN Ea>lq[BrsoZf&.射<k%r/C+hqO]c\en2(0*kFϾpдPvCI{hvWm@c6ʛޣ҅@0ĥ$ʱϖb K&eB.j%I(I,C+A0C p [ՑUP YԌ4JDI& bC"x_ko$N;mGP3O?7r <>-z >ge:yWnjn -E! գd'Yi}i2H|iu |Wp!,-ڒQ'Ch-6{2v:A]Bg+7< uFpm!|7l+?C4}U}7ҡV 6P1h-1)*4q0\&W$+dx.Kѡl@U>u?kH02/߸BԠNI4C02Ihd>i<6ׯOB 1Nq dCFq*6|7BG1~y$h4Ѡe2GA<9b؍\6VOvFS1#!F֞"xqVhū𮥸W%H<6-$B!|R\Pl,:-K`PןDG96eR>Gk$lΟypj!wJE X>$=]I9V c֊8\/@;B'ڬpT`e,("PQf~b Q$8̠/t(b5wkH+/$(& 0?nE4zwZ&]W:gx`@ӈZ&=FkCs:4kLES# (#9%"4bsoS? oՕW,z8w[͢NH߂ؔxhȫ!79E&B#Ao[YV*4%CP!KtԆH\홎9K S_uJa9AZ'S&@l LOVT;.Kl BdՊϢ ]Q mpw=pVJ&#dXJGBbNZ]Rj4)._UF>g^ hW A( Eg*SK?]eil~zl; xX)7Ukwb8x*#'57T% Ld|)52 JGZfU~$}Kr:p-=u <.b 6|(R̄b}\#=m^}./.Юv#v:5*MM rW#悻M(1k~QsR(wPOp TႿd:5x"LZ䣄2h^<4YDO޼xXq7t7z ex$=ƣѧU_a'īP܀V!z@RvX͹V"vmY&*˔YlMpԄIJCqA -Ҹ!8)`̗FUN0C|Jr})fVVMPL#(Y!"*њ< Wff#KtKU^*DPE32[~"IJs1Ug,Q:$p!mwYzFuxF: ÅJNҫri,BC 45noX,)..M۪UΩeG>s=6F,4{ΩUJ?8*G/Td]4#P;3XAh>%h^f_z7@DB"yӃ!|L?1Zb g;Q ½֡p{5L0XrjK#GMp Iw}\pW)>u59غ,%3&9xLblyanYjFG"M)Caڟ5P<HٲfU)@T1+{<n61j0i~+IͤUФڙbUη:BһHC6vŢktt3QK۷zBApFSK5>=U5b9P¦S'3+`?4TT:i׀QĕaaĎ/sMC~4Q Di' g "pxpfwDX|*X!u@m3X#ȟȠ*$m]*%)v(VI钳SRIU6B1(lHW[7H^lHA!S^cvb,ZͩxT]Kv=i4IO$UJ‰wXW`Mڋi_Ϻr9)>UWtNӇ8L^ϳjQl> oʺTQlQ*1btNI,³J!%[𲫳u8X%4RSZLUh3Ss]n.zhOM-'Wrs}H_ur#x%tf"B[V 7TBzFԉ(׶uC $YEg𠻢*):IPKڒ+bM~Ņ{Ӿ v,q8]ڿV/[J I R䑌i}Cʠ s5 N@=0DSEfTI^:+qg_Y sUpkDP*P+*gJߋ$*Un{*͊U2ɇw/ٷ)CMp%hS ) ygp! P);f_F~~$,-EV'JG#w2.kJt=/] rH /cdDX<-B(4 ٳC%7m(rO>D,:/hL]yPƞF׺uM]7,t_ wF ͡CX&G@ \VUSPZvW@پj4c?xģ4ꆨˆ$3'bO̢U&Mt;5g#(-@ 7RL˹n(v{6#+:GGmH}Mws1Dz93ZuuիcBjJ 5@-WEM~`zfcTc`aWCZ1mK9@hU$92y%,^) v&93Wk 2%ynfyaX uj*[qEGݸO˞=@f0'x˫&W84h(X.7zI!GJS ;G.1+r>F(6,3ԧgհ}KLPY D/$0;8;בUlvp WJ @ C_=aAS4` Δ!#+9\pqu\Ъa3lIf^Lp_5:t@ZbF91rO$[ h1w6խ-yZqeJ,]$  /عZ϶džyY-8uKh%!>_O+} ҕO.ډ:<>U+@fF5QMd85O$-6ior^JܙXZ  I;]}ByIՠNn{Pkr2Xmjq%VR:u)pA&8?9RF 'h%7xXS'C^[ZULeD_DXS~p1+cdW." ǡhAРG(S/46HbhJAP )e ` ޢf 8@^/ęxUA_"|3Oy+y>Օ/4r$.DZ-4ID5^?yhϾ#&%l9@Xt,Qq)L:Zm^/9"#Y$U wp} 0m]mƃF~0z GkX8x b0+}DE`nuT% 'BFĻ}O~ MUq*鲍F߷"^S-T(P)4|S]s!"~# /Z4#7+xp+d&L'Dk9[Ied[XtBRRT f|v,h$9MJ(Q4Ew!;Iw?ÌBGNc%͆`n9{g; '˲}^M;FJ

 fB ș?r ʜFwM0r$RbݱJ5vŋ]w "RuuʔB&ZO# <|$$nۑ0^D{oD#-mtOH-| 0Μ!_6ZŞR9 1-jYQf!EIn/;7:,"^ySo'5gi'36h^ h.M4,ࠏTɠ`ِg}UUS u6뤉RtA/@cdx+#W\uՙk_O:5j9C_kdȄؔd>=UPJ"$U3'q<`6EgeIfK}v)`M(A \qq0L@G\7*P:#jcG?^h`)&[QGEuG?UaGN}$>\JP1!ݍEi1S(Kz^{LK;S@F2,~S";Qΰ5cKY6w(>LG@B~F6 ~kfDf;i&1hkVBkGes窴ZUN"}EE3=qL\&ru$2C̋țJV\BPNɹE D_i4j4^ V)Ĵ䴜_.,Zɓܠ-ZyYf$H<,\as[A۫hECp{YMYL| Ie #|lŵ|) "(fn>TxVbWj1ON%_;Tg.*0ۂ #YˆHRC6C;ت"ҿ莞)7k 0J%8Y{@J^r (NDj .f߂<]E O{bol( ''3O?wGkY|U*c:ZIq@'ԶYC V٠MS1Mx&7(׷"=ƞzAˑ#HyYhwi /^ dfo6#WNK~A]wkoqǽHLE-o\Z-kH]?cʂ w^E=gW􁏭Lhxr <^vϏC}-A:L:q{>27#3co]iˬ)2Do_r>.~{"1rK( #`YcՑyDy3bJ]"Wx~ķ[Pd_֒&s7YUdf>{Ą;{fQuUTBa:yHGO\?A4` ]ad΀Z !:Thb=HzveTaZ><بR֎_.t.mCs~IR@݅+蘾~";~gkdڜ:DLxZІrrO{Gv8շNhD|OKgN <ޞs0؊\5+WN]Yװѕ',nW(Z&rU<MţԼh$Caʼ|d#8e%KJ!mAaa%P @ 3#`۾h,_ ?_] E~wps\%PĉQgr"4́\+пiDLEHZr}#LÉЂ&F^h51FQO;>ZE܄X݀;b!Gg'9l`SE۷u_mP)Q$'+R!qi< 0ⅸi"59=ѧH|=:"!"WO.}~B&oVbs9õI*B#C˂ r-ޅ$|OJδGL&ɮ@NbJt>)kQ(J U7i_h/-|աZ#9$nm޿W,'M Q*V)WI\$n{`υ qSʘg׶n~j7wMd8p>TkZJqZr) g簚Y~oۢPTl۷;kV2) YnĨOM *u+ w\}f͕`Ox{TAu||rT@D"/ WQ  Q ūVsm![iR(B%nαL,Urc6rr6Z":9.N9?)xQewAKc0AcX)!=6) ?6Δ&楤EB$$%)M' 0 P !SJDk43F0nL(0N=Gߍ~'1˜zjwS' nZƻ-aND#v0px4/@3y}s9ӏNho'%xPI DzI#9A&ƣ"ΜFlT83⎉#J d \cOI.U\XF4`Fcf=-L]ސ6fCHa\ZW@<2Ȝ~u3-E'u:)?q;]9(:L1i6ޱt#0cpg"i0 o/ٞaU|"6Ob{E7']'2tڕbvn[WZK F{[7}6]jSu\Gendstream endobj 632 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2486 >> stream xUU PgqVaDvIDԀFcLH6!AQ 7#103o99=a"jT$ ]׵kM$f܆JRUU=0dS M&-Y;jlkL1A)/F)QfLZ .2:SL%:!M:1I+Mh>>Һ\SU&D}W.1CڌU{'&#wiwT'ToWo SlZ6i҆kCcE)Wi#w,[xɫK_[.'QԋTDVSk(ʕRRnFS$r44jX)lB؄/o;)Thځn`xfNsytz ӄy U΃E:b~t}t -v=EPϗם) l?#^W4^xbɤNs1 AקH:e[\':o4r^0W 'WjtX%%:NO soBdWFGGWK/'=/tn` we*8ѽhTG\;ީ4ݴ%l`ۡ4AQ\r_ ;l[9V\X,=GNq% %l*x"c2`UoᔆÍA3xt//<eFIΪp&(.5q\kC 0 c󁷷tKj$^[ 9>V#8vWjij\֙XcNݙG:Z>>h(Vv뀽٭c5RUd6̟κ/}rʀݰW4\<يJy|ܔHᢆI (Ut↱Ҁnn$1{2{ bH ~X`45<*; 8Gmh`crTB8 Y,gtL  IVqj ]]ܕ߉)8QՐ:1K03X9up z^QeL/])[HJx| cVNpU,^3M.ac=ћH\o3B='qSA,,ޒ1֚;Rx~A=ilh `9+ k2rp@ 5F(. }ҁ4`iHS7.x gKU"gȹ+LQihCF9ȒC s' }'2/"S|[:9rVkAk <0BQ+1Nvهqzy#p&Lw% *LOfw~2r H|w$˛jK\}G&4M%9_W9Qs50->W:}5ݕ8URMaȓoqQ&KCZ.%KDca9bHL78?)4GdA,ߌ*4^UG9й+C3 =Ӓ[UȼNlp89ZRkB'n^Ee|z9\74j)!ZFNtlH.\~pЖSKx6-no?l: _%oT[ _IQÙ)=8t9cŧv-{Bp֑ēp?nja`UؽQ۷Ĕ7Yz`=v4**59:PKw92'Upe'?ڶ6@,+fiTXh4U}IcPTd={28d]32&Jfe?< W}oapw`%,Yd;hKNVI'j Ziʊ C9q; `z7UyZƚ|mWb%} za?7EʮFh3j$HcNXW[ZjehwaEGjՃkmbPZSRS|=D0 '-mX2{ō3gWsp)s,-V@`zP̐&@+']vʯW㶖ZZdnDlj8b6N|(T~\_YkW^VkqBQrUendstream endobj 633 0 obj << /Filter /FlateDecode /Length 202 >> stream x]= {N T_И"L ,Ƞ})`vyd]]izJu:2oA`jփҮ&Iݤ> stream xy\,ev,05Ěb] EE.m)K.1bNJeը(F_4yI~gK>]Z{˝;s{箈ӡD"xK++?_ZxT_!L uwtqpw }4Zֻ8x83Qz"_?@7`/;.7q7Y?A/?iC&l󓒋&8v5s5umffvny޿50 v uv({S6o h9xKy0gV|mN]>v#D--^d.|ŴWX;aξ>IQSTj;5AS ʆIRQ;],ʎMSs=j.eOmQ{M5L-P )sjeA-RK(Kj)eE}HmQ)ʀG#6Dqʐ2t(cJHMMC)P#Ի(j5ZMEPk:j(K"KQє *yGQ6#zb=?>D(*lb2a1wȾQmooY>wس&lcolۢ[\܄'2g(He`|mLrty x'[9/+1aOqR7ESO4-~ڭio!KwO1b6FF_»RQ| >9T~K4)/DrV_ 8ԣ2g5H}XJLw"oZT..Gvs؈ kV*Uf%ENEĪ-aaX3A=ofD S4^Vv`eJV}!` td*|kPd#fW֠@rHjhC1.٪ bAΦB` إϦU?bZ#!T JTګP(j7O^@=mO.Ciz:T*isNG9{⧁#ϿT9CPiVRtEu*] 9?5z1^oͳZgjjwn|< V)*ETp< VqmA(V|SW9#f`(dDG6#UUJ@".Eu>Iq I|j2JlW1#VLx+w̷@%|;ZPT q}R]'g y+b@MbjggbՋ7\]@ tr/J Q O0?==%a(zE('}qQ({T ~rZa+zr@8\`y<`~O24"30%rqWSk̵n%8iPuJ@ WBQdaT]cCpNHE:%1߃1}2!?x` tUCv)*c/۽5Җ?,f?<Ѓ;{{V x:}+ʤu,m_S+Yvuh!0xm}2aq: ;b21yʕ/\h䛹}ԷUO@HhO8&߂e S #^_#^$]_F]|G|RyrAbGREG!v1֯J4,pR):zH G 98v!fZ`&ocLSWRMݛ F'asl 6QW7TJBT+X%% gw"u3vW=B#4+`ĬA$ eAeOAT._&j~Sw?x|֢*p'OkfP =aG;X+dC#54+; E]&m6zg2ylעw'v4۵`E*CgѳUA;;;xKQ'ݧK~ղM[OL 2ѡOa㣃,Tž'GWHi]G m"~0ǍrU3 bУU! T @ 5ԥ^/Gp4IF'G RHņ$|I~VI0ǫqofpF1d| e+)3eׁGdFBԁ2J3CQs ") Ω 0mPJ@ˁxv~ퟎTE֖4u(xPT+Pb>Q7{l5asGON]]}6j^OC ['Y99n tx"t?BnG2"u8 } X ЃsB~ #gUZc[H,ސ|P۰hxO]0~,V錵?W?ϵ@|wxKᏌ7+"<8mX 4X#Œ!N<2tҀ,<>%,ٽS֡u"e<]U:#G͞J<љuF wi1U H*C '*8Λq mk-BU1bΣ2Aw N]k)|vyml3 ORpE\o1k Vk 1òy'O;^YSد,T`a98?yK%]fBof4~L\k\7hVUdՎ8Jixv$U^o܍/, "*6R3g6N\6x55Av7D^Mt?[tEyf`w-O`;9 QJ~*^rA(>i||k:}ʕ1MUvGskțD0>8 Fo6x zN`)(xUbңIKG9LcpYhpH/:a}gVI +$ ' qni64EFյ$; kmicMa~Vj0%Fx>5bTu_>Q[#E5zXӲֈ{nŅf&oiXYi<o<}cyx=) k{d_'B>}ܜ*Eᓼup-icK"bLgMqezIe;_ JX,-ؐ})u9턿ߖ`GܓxӲ5HNR)#mvH"eU$\LU~I}YpR}9 :iP3/pEjN`=!-j-jT4*h)T=@W]MCfjNy AD 8z`w3L ԿrO@GP KĨ.Ӷx]I!б]]Kv EH,#7'-1 ڴ|I}Rw2x ǃ/'E ip>F c"H"l|VseXbLL.6,52-4,XTRљ}$߷bxdwuZq!jwwG1k1ȽsU !^TL;~Ac9͎v7g1 Ɍ4f e>ds"R`nVQ#:e״21$TbO,:lꀒl&&톧jN,{C"Cs1 kɑ#%g8{ޏzza  9tys+`'XGokY'T81?%oi>s'?Dj/fT4>e6 devgh?v6KuT xʕFF&&%&>~2dyхE*"#Q!(,,-KQ>Q!E1EѕQj,),iF"R =! N<m{\ޏBIiR0GT$e<Zx”0ٲe(zÁ4Z߶(aRLi$`G<)!ękHvvZM{&Ƚ$B[3sT[ч~[s/5F-zAW+R@zHmp/ ;3^ԋu"bx'aTD~3ʥue]nf:Ž8ֿ kM%,u)|\mz-*fz-CJIM{@p&9/*y()02^VVgA̅kdu$ru]tΔ˝w98:'-~,L2/L_K9HW>{[WshqʹˆS] d#< p {{Bn_7qE0 ^< qVNymթ gxte̙,Ye*߽bMLH73( f8a'#ETFh#٬rE>C=AbGH `H g A…S|٤j)BK3QS^(*H:4#_9gzي]ߡQ(0wck) fp1۹:|vf~.aʤr}ˮ&wUKfTWØߢ u#<:{XO>k 9ak,'njWGt OL%H&$%)=0GNx75p{t{ˎu?9uC^sQeҠ0RqRPqXidEmNyA& oOB9~^۳uis:=q9Ą5,o.**!֧O6~ԴHwa[{fg:[a'vtlBIdH\N +O]F- h }!p=6Q.\=N]>E'ŹrK!1Fق3$9 CUʒvw ^2Wކ %]F5bxIu5kӸq( . .F1a1ajasL&h\S+ DHm)]*I /Л ߕd&72F8:}qC *s5 uD MQu]wbQ Y)XE%x gb 4?d-b⳥uMHJh&/u&RsP\D ݽ\b=HK ?Sqj$)ꞀYiQwW ;3*?`>ikԺV iwWi L-cȟjMSA Sao{9}QR~|YbQqYqȸ\%A5ЅuN}\۲s9|CdLr\JxLjkC[H]>|X=ϩxΰ$kC{у1q/2(!=p1̾-ڣj/AM=ꃓ_ZIN$O4K"*sJywRB9H ۆ~N "%iReEVEPLjiLoY.*rD2cb  VTGF:ZPdUff^P_jEff`endstream endobj 635 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 7312 >> stream xz xSaDP y.y Mfl7I3sMZZh A,3sG=i WSJ|zZz :p87lܖkBb}ߜL00OrcX?eJ?ɅCߚy 3|42?6?Np9褕I)1i̟p\aW̛.4\(JNMny7%7c'JL591jr`;l>y;l=cw -OX2iUr@k֤X' ]/ې1+bSdԖm w_/>{Ҝ'{v"AL%6ӈ-tb+1F$O,b1xx"!v+9.b%1M"{Y5b5XK,$ "b#M%xb1NȉD<(@"# ^C* u=W͛CRɗU#Gk<:s`E<ŏk'c>2qks)X/:|bit>/-Z=y_LY6%rESoLl:=}t8! v{"GkJ*z*gH@})D ΨtUՙBHK>T2c సW$D9!fV蚀fW\>Cu?|K0cO274Sj賵*)iV 3 Uj{%]v @{6eQ$^.ۄϬp%hXJY rNЯ'C.r{vVjcq]AeՏ0gl>" e:%djiB->/|A _p{D>\ӵҁF||L^rPDCtJivb_*VZhtah؏t,byq @#x_yq`YN~5Wyw/$ӣ~OnNȈ(jm8I=Z7km?w3堧?]7G5ȕԆ! t6]BAůըAwx)4\z:B_曮3' AG 2k{ќl~A?6ywHtlNyBh@NY^_*N0jKӽn&~ݭN:"i˪ ;AYh6>Ʈ礄rl4t[ tn&$GjYs[Ĭi/SŇڊXN/iÖvvo[nG͈Wލkxzr;D\BK\f96hГa|'21*.y,ag. R]SKA<Ġ]o eJlF+aDz96^n/^r:v0$:%ΠkHL~:̋{9z]v4%bֱ Fw˨s%$ImV%РWr`uM%y[(ij@ī/",2Cy_RiCA :2yƼUA_4/K2J f섾Ƥh~&3>$K83W 1g2R1uEJPVohD@`Z(uB%equˌ=>xQ &<]`n;d6 :tp `S^!}Yn.:|`ڠBgE૲̠̥2WIRE,]@'TXF$~ ѼKݘN1os's||YI#mde5-%Ԫ@AʭY]aײÞ z墴VCu(:&4=}嘄:f\RY~FZbVӭhTl_F$23сvE! U2]PHyPl7S51}^ 䜥 AO%Zxq/E;~)h7tюTO l`]Gvkd h, 63\ 0d=n2 lPd?D~yŮkA YeQ(2p7`-euJ͠J@*~l5̢V;yȴ (w@KmRG 0sكN53Hc :m8=ֲe}fۤ=[x`HP @&CMWPɊaTxuJO`;s3A ĉ Vv4mm/@)ٽ2/SAeHKHF!|'䉦JdaM)@yU}f&bl᢯Kn6`(L긌vwNmx01#Mu`=7NkWWր C rv0Pށ JBÿ2 f$9Ǜ&j2,)-q/!ni e)>$qDa/9Bir(Ɠ#r;w!ߡ1G f /7+ǧlR-  Jn2VOSU(?C^Y}2·\CLfAw'%sgO>V~;pԬ a@r+]!lcM: f+V'2qK^OVZ]$H$V6$vꊡF%3pK<8AHé~ UBul @tFvd4j1_%o *( j%>dVn.h%(hc-ˎG hnE饷߱ FI֢HAߐ; F-g+ joh:6XA0 ͧB٭d>wEKΉ[{ՐRI/R>^:loГk:3TA4\VwBb~f=ȧv" ]Xui9Qt|ɺ6@UPowTA!Yad8u* e:AFI8X=x7b1 ȝPpԤVtRf" " Ex?ȧ/hCW "2DQTUULYhF罜q_p{SYdC4oh8ّb"v7c]B5kxK^߿L"ň |a rT ZJZTHv(;NYtdcn:cq.MFb |o8N2$W]CK493NޒyQ)%AA8#mZٿCh=^~:щtƱXE~v״kbbPCJAo٥.3u-:M% e Ͽw$\t;DƏ-o[e2Cn/Ī4T+մp*4ڟ.)w76&V1vcETޡ㒕RRJALm_~VxVOvjvގ V9el&@^J@?4=q[~nB I ƚ΄/"x+*jn,;;^w4Vi_5K"DT=G\˳=Ba0(@ ,ӽk9h%)PnOnHԊ-q\SlaV~okW/O6Awoq߷5J*x{Ļ"l{X$ڪh oJguř.+˞Z~Ԙ]8}zAƢڌ&r-;.dk&1̌q-sqj 3h+g>{TsT3s 8 ȅ,t6pIS|LzWK1hb{z9he#r<6۾P}NMv?FZr7lL&Y}M-G| xUJ< 1JBls{7X018ꕹMg$gA97 p'´FfCFBONJ-^ L K7lȅ8d;ū|(-j68* kOԞt:7TC:)XjZ$&o "j&ג{! @ Z7K5<+txK],Cx\BB< q8$ݐe,@6}4X7N%tPؑVbCCj!@0 ~&~6c|{@RdCA? b>rE-x@ֲ|B?B z>c[[ڷ/R]* Ͱ{O &wy]@v$u^Icț~'iws\& -iE ٖƱ/eyBؕF͸H=w !e|zmB\=i@쁐9);=oH@-G#=h\ƍ2,f $B]mpāQovo I4le쬥l:5!4D,b֨9y2!lQXj/^E[Ш#IK/ N M X,_5XɄ;@=4@*:ӛކwXZ<y8 .PhiA2):BduQIR+e NA+ k" 3 dABU&-IMgGcGbɗ'huj0 $&[ v;l@iQloߢd:K]Vʹ`AUŁ۪8hEdeP;'oӾ劯*:=xY<15j0ԞYTRUysf#م@&;ך)v,74d;[r]Bb$(@j1qp |#$ _VNy7GY ĦO./`'mƪ`Y]h 4s Ak(A1ӮPw}I#jav!bU;e?Faf]U>%n|*;RXry;%ʜcs8$^@2Jv@3ьZ zَ[ʫԽh*sdř,Pټ 04beثrЌ+_a>M8̥sĤSe'P~(݇. ,3P; o;^p Ux,'e 8i Y8᛬V! !LڡBRn|s)A ws&]JBe+ [ӟN\蠘cRv{ --4 SavJyh^d+hBӕfu ?Txmg' gR~k}ʼ[}#dkdAZ@* %.4=[OEWA> stream xZKo>'堓"a@$[E^1;0ƻKj}гK ?3c^ctyt:qzsď~=8./P^{q|yu++ qi+s|<=^ߎxv{v6RWhpֱ ~ɰ+|Жe$4k${MRpYI۶fٗU ;_/PK^*_;*#ۑtXF5~q5u >sX;ӥSjXbtXkqX|*LY{6uwQX36Ѥ-P8*FЮWA:6j^%I˶mvL~M4]Nբ΂Y*}?mS; -[i,YݴsIJ4;, nmP^ Fʬj$^twtBcMk}2o9!}6}e6`V?eY#?=}]VgPST E;쭱57{\(a ֩vC/kֆs a9cR%.X6i9g[{@h&ѭZtr[h`:jyKb0w* *j5&Už|;WkR@ -`ҟ/,n/rUTsdJIcO1UP4|Sa&J0;ѓ솔.X}<ڟJH{uL1}M^6n/ia/i{SMqz_-Z U(o&.=|0]&1( !=ʱ;3Tw{2\vg̑gƷM5}bo&?i Om{OR _M gp<po$qv3O@ܻpyWٱG~7 w0EwI}?awЃ8L^֫$/3T&Fj97PFBm2B?D(^ 4ݼp1vD":;Uj ՗8_DW˩qr A)$%%0uL\@@^@]_^<%%Ah|#{pٱhKv?=kb0K43 8V<4MzK+1NMh&c+;BbG`УQHmiQ { g%(/GeƐmbzs4! V}@~ov?J`>IR]g`#$JN_q;40@Žz@bwyt]TW:p2Sƺ3nywizE)%y 3d܄Uh)E)''_66Gzv2qӔaRIEr-S~k΍oLMu"y ~ *]NnjV-7ŴZմ}sz71ݬcfn~mq3l91Kay~KNïlyنQ ObUt2}}+e*Xl!p5;K{(*`j|>t*ᖋJ ߲{k,Vji̹%?(]-˛Ze$uZ[ ap(eߙWrfZVPS]эRCwC,m~*[SgY}M1S u\)X4jKYE|g*$MbQ w)Ce:66^¦I 1?(@nR6&:f>׳%A'zBVN ĖakċdK!hP$8v3<> ڕ0;+NOYB '7mSՔI;񭷔 <ۧ;ĴCfHKjW4f8"ͷY3ZM_!iI?:-{,번 #LU(^8n"!v Q+b|gōQC`SZJٰ۩{.BMUӭfy %ˈC4Ep$)׽s,g+V8 Y}k08q蛪,JĽ=NP;GF<ĬI`G!'fb,9vOHƫNA:c)lFRs.(VI_W˥t?/9^*U(ԛcKw ,<82.IKeLL[v)}c* :bsc^ 酯]>˃C;@VDhMA/X/+$w{fi? uD>endstream endobj 637 0 obj << /Filter /FlateDecode /Length 4353 >> stream x[s7~ד*>݁UhsW݃d%+)DKeHY>~ ` IITD4<* >*rwpfzW~u\GG•.>|dU]*?Ac.yZB z\\n(xt<[cYݍ'Rʢ䊽i~ɾ]ON:OD$!k Zfu?D4|g/N7V8H]Xc_h X= [q$g9Nk#L #Z+G!0+/\:h%RW0&-&/'n.8ji#I\5[KXg1&,~GTRB)-|U{9%*Qz) A.\Mg|=*he^&4bm\8}9v9FUH !o[XMᇓ `wj?ڳd ӮEkϹREYޤ"Zb-]6fEXY(h"Dbqg+e$y }Y}|[v\Epfޏ-0i}R_:޿_8_A5f40AD_`Kkijuۡ'Y[OSd/O͟-z+bmD[w v{"iDY>R|mJr yQf,؂- *]mVeXjE&9˴}&'a} d_e388ni2~ ݡJI}JTLhMK[_BIp9! Х *&PP/| 7&C;o? r$S MDTC{D22]VQ$jВs pPmAҏod2Z7zX'XrFYn_'};8h냧_4jed, G#N Q>Al4x$ppmq6@dڟ+JnK\|@'[OדxW*߳G_2(D,cPObbGXs%lf!Cո5r&-ѳ4XDD ;3ˈO-/4 Q¦_N^ZSQBw/b ƺZ_O:=+pg(o"lKں4(/|^xVޫ֘,.>65-^@>] c4 $C}VA$24C|TD)k2IŅ74b׳/KJv@UPܠ2r5+ jFl` q_bmVe舆vQ W3m`E[c9 !}G) szs 9/Gr Eêܖ5!7@G`iB0`-Ces]}ْ}HeYKN-gJkT ] 3Okm7fw;:e[UHP!V]!;j 5 !g"i^Q<$>;T WdD!*Q=_P~͐dU&D!yFN )&`LАA=j'tp&51R4Y8q#.Bɞ&I&*8T ~,hT}'x }ܥ#C.= |'j'ʹcXѸ J_ضXBQf}k(ۓ05BX8ŃW]QhJ!7[Ee].sVJ ceID%10aY!q#2ݺ2~pp_,!nCqalzuw):A~Ge[GR`=~!wnZ3*dZO^vjAJqf(J.hqM3N& Q!/e&n$|vj-{gRq\8yмmGng^g5zڨdӟEpBf=_yt{HZ\?}0 #ӎc궳O B&?F2gwe4;HGW$J8vHw1%F>*.v¥ >~Ziye!ʇ.X~ɑljm@AvC`xwQ  ԟKHr>{VJj6QLa3ҫWjw!7W`)S4H$^b>p[Rj4 71Qji‡dWfеʝ*lf>($dvݸafv~ysׅ^KI<;ΧUT!)1emRp:cd;ڿXs~m3x#'c`6*IaT;Pz)Qw\kKTzLr4EKYIC,iCڿg\ HGx͡46;[[@A%D~i&|%Ed UiEZ:o{ڦYBY厶ϤOOJM*L~8J@_2ˈ%uYɅڸҰ?$7rYp&elÀa-(t:R /^\s> stream xWyTWTDҡ*8b$5܍ emVi땥YYUF\3qL4ƅLf2y601yg;Sϭ[$ !H<׬W$N6/,B Jp(xIq. ?E}2pqc?@ƢhB*lN[=cڴwLϹ)Kz oowPLkzMƋQޓbc"ޱޛ¶z/^>`ܯW $vY¾DURr5!kC""*} b@l&[%{b1XN |Ujb&XK# 1J%s$.wqH]]er7a&G=-xۨu2&5˛fxAkhu󤪄HK#ӄK6F]S@е~r5 Nf$e/h 8ӈȨ> B zpNI2;@={Gh#<)E+n_\-,R|ѫESohz" 9ׅqr*1co_+kfR Ggk6S:5o\Hϥ|zz{Rba߰W_ BS+*U0|NBXyYznkES{y`r*.^{ DBxBv}J*E/( &4f5W^6dh0\\nzMS 6,mdQl>N{=á"M4gkPB gC\WY \6E%4 Fcu 㮪h:U׊>ub}Hhjdã535i5 QtTW&OxX80PgSIU9Α=IϪ{bC86`n84)啝]yɨvq3Zb37\l?CRyt_>M$od.L<0}:CD& oB'ATh.YfKd3lVӈjԤ/ cZyZta mb{:0kW"duZ֡ꚣ=FAoqFǽ>,"U8 q6"EpZΐ)2b58X:< /3m/z:z+d&<ۏmI);&ݔaj嗠I>'4CV;t-ŭpS*N* cz6kqmq:m1{:vmhf.<ꡪZk*.{6| ]̋ڒ42pū;IRCʠ^Up)ӥ4o/ |p.g#)+%(zI ŸdԆH5o|C'N׶+=i 7(x-L#Vsʻ`4iLvBzݓBhcLF*M8' k_~m\oHbuZSN̺bSO/N4iluz7Iupk40}2|da/AYF'CvEpp`ᔭ]O*T#|\OdTFL"Deb[Xm; $Q$Rw&!9\&*ZL8BpT:Llۦ{kS%;bk/v?|Zpzu`~*g*ؽzC,tNl ! ރƴv){DMr\U]#'[$ $/[rHj w!F!fa]T1]8^]VZ]Qzfͭgld7OE8-LR˵M m$5h6¼Hj&wWYXURz=H2/>yMjnmV%K_oB^h ׮m$Ho)5*-ihTWVa+/pz-[{vzk3GMˠդY$8,u\lb&=TZlM5EO$OTdo2L]g^-;qpQ;+d"vP˨^-:֫"HN~=Q~YOì;U`kU%KHى$?yݓA֚\2#q<ks1YLZ -Cy(,u) ]\E|#@Mf*-ѻeͫ|}U*ԡuǛ_) /}rNc$>hZNSrrud`+<靔W2YY\ZjmnC#,޺GGlZw&˻jm3`YCQ!;)~ >rTOꎐS*9˼Vr&hfrRQ*ggf3!"`)Y*|!Sgm!Ō$x-\|ٟMa)tJ P51D*S'1c;rb{2<m*v 3>XjV5Z/kUzo a}yϓ>ol {h x+كZ1?^ d9V0JqM U`(\N>  g> stream x]n0 > stream xT{PTqUqgv'zw 5`$** .e'dyP1 s-hVMҦ9bz1&dg;w] H쎋$J 2 %k׬J)},6??o P~`FF|3IHn4]yH*=Sc͚uV1/RH~ +L1q2f1Q(g s I  {&.EdYPT$.,+Kr rBV8+_XP_[/H\I^X(`L8;3_$1o[$hdL"V1q!NM4fBZ0D qL  *eyX7f~t0|pB!{BFcP uu}@]sR0 Ny 1WKL7gB|_B!OW|>i~ͭ hڿbeW)~ɸnA%/؞!Eo&c{9(aghGפsM]Y  rh(9<7/|PqU4Z=P򒴢ww#hj9=V;8^>kuBK/Z| q 9gjP?cʝLV<~?f>`[u&JZUj'xZ@RuZ`XME{،}8eW.y\G4mWxE[ǗLjo[O6Rrܷx;ʢmKmtxc oq5P04x\+=[}@)Ϟ{tDH)yEe$eu|sZʠ\N"Vh0l֌f5& 4b&d;ץqzi8TSpjʢwhx(RqZmЂrjvQiNunS/I1{Aq_P>~o?N>:3Kvu3'mՎjBm;{w?Խ Qё%*lY=|s#9$+۪ժJ#KK%_|%(_m:Fm1閼!t+-i@- _)y̳"܄GwJx|xW7u.lf8E]8G8ǡ8Bq(@148 e_xq/DR@ xS)qɻG)I,d/$2{^PDr#p);9-*gDAԉ!l.ZQ;⮃FnܭU*Ezzc2P( Jp؄Uȕ2[PNCWjAƕykfؤo ҅*=J0^0z "5 p=W _)5up0hT:CkǵSؤku.jpXVpsVS`yO3|oYf\6oa\H~>J6{ht~>ٿ8Z`m ӎJ"~?ȶ3 i `e6I&0Ym33S'.qBlkui΢g:Bgfl m71Q?#`[endstream endobj 641 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3470 >> stream xW pS׹".`LHԹW $c А$fŖ%ٲ,WlIe6^20l0$mhBҦ$ }yG2}&oݑ=?-Q1QH$SJו-Y%E^z|"!!Jx,pVB̩ q1C XgG~:|3/].O_Z(_PSn\(ߤP9'Ԍ씼L"S##Ysmkm޹eS #}QB~EQ\N>u&mӖm9;v%͊AQ?PS.'T4Z@~I-PK2j98PR*D1bc_=%^/?GO/LΛogS!.!ioL_ݿAA.I+*2ZW3IѬk|_&[eggX ųF(4 =µގJnG#rXoDm% RB'`Vs؁yMR 'ӔA~Pvm,e4CWPFViQ,6BR ^b ڬ g㿎z4e Ұ 'ZxH.x!peh'@v!;+s@jb޹r聡_*DlGIx .:Pf}׆Ao5؊SVh߷_Rsֲ&ijVc1lԞ'Ct5E9F-5X*!!'C"qRp^d@0ᙯ.ۀ뮃,` 3w-Ԑ79Wp2o >G7Q=\%zYϦ<{h,r)ag%S ‡_N i"eP(pq]mCNW(JnX@fА26@ TQV VUDtu5ucfwI=AuOPMVyqOe(Bzo 3Pр.݊xjywJPoo10{AZu P.J* yB2UR+(Dd^ AOHphTkap:m9i{r7$H3AΠ] *;y|no5}k|h C(6Z~ h`4N\FFG 49 *8  D~F'%⮊gٷѺ/r$erL|c1g[篂sgiR^ KIB^I^Uf5+b,/R%, =#6r5:.}TLT9R 40]b֔i܂CU@5;js~^$nNs9Yۮ5uu(z}4cpuemŊzEyNSE%FmaT!ؾ1gh 0`8Q|k]}=́cփI<2R2yn鰹#k]?>f-G%}Wӳs_ս/nm{ џ@ ]"#V)1s*clr?u59k̮ʡ3H!'I 4ZM,y'gϢ%)A'A$I^Y?7{hzZ i,S%8Cɑ 'O%-JjHa{%qhyA6TQѭ~xueB2v^p*3%J qS6;

> stream x]{PSwoIIR,ֺZyT@@ @W!pBA^A F!k׭]k[Gq93SyC2n/TRY 2~ 7L$*$N(0V\\NIVƦP_@A/siʸU&QMT%lQ~)Tf_7[i)0xo?ΝEm¨US jP)?&Q>zԂ/W#~whhhLF\)/+Nl.zL̠,):y=PDFd4d=@0mض#齦0 Y#}Mp;UpS.ۭ#gУ@/"4mCw8}mk.l@׃CU^ &t::h,dkW:K/ ozǮwcKk˭F Pő3Xj,k'lXǧ '„r^w9SaPLY={$d^H-\YɽSrHq,e0LTIےoufhqpkwLӔz`g V?'5E'ߞ\c_"\mʲY aOײF`?b 6Bch曫sՐ 3柃1/͏nVabOSPM8=ܟh%Nw$M5]紤̼=hUDq>R{-B?^ӫ`Ɵ>pG܋y)=p E[Y-bS}Ν? ? "ctiPpN{7P FK'qh{o\N|dtḟt'fUbBڣeO"5?SL<{p9]eVjṷK>^jhlrJ0}goXVGڮ|kR5 YEGor3>H[4b:ݜC:gNBP3~}ܞtMr1퉐4Aef^yynKbv2VcL"NTݖp3&FG$zUӇcȅ̝Czswhh㨟 {L|n3$'.-)5!RPRȉ2iX'tHA~6G$`쭴5Sw?@REpmLVj&Gb$Rnw9:j) B P*Q>N^mhOX}ԍS O4,ADj{T۶G1|&*4T瞖ݟE\H82n҂YE\?sp|Gj1]Q*~E+ǥ/ 3n wR5͉ [.Ip.,q9Ak;7.ۛS?ᓉse7Ilo}lXD/ )d`o9L2n|}q橁ZV`غ%D%kHZ]Y5&>0pπ :SqI)9TG@!d֖<~전.W_ɢ?*]P ř~x&Xgdu Ȑ$7/u82NpԱ8:f*;j*n뾬wV: .g+*I.ݲfZI'SVqendstream endobj 643 0 obj << /Filter /FlateDecode /Length 328 >> stream x]1r0E{N {ƣi\$Ir+q%NkX|yi+ui*F)N/Eu~헯EJ[kIqQ>_8N)B/1!)2- Qz *ʘ%=QjXYF2Eb *0q *Dlr8bT`Q6jq2* ]F-SG9kyأF> stream xXiXS׺ ىJ!9*-Zm=uTő*CCID@$@$Ȑj{UUbmYŏvOxVZ~} = qk?T!WM2}Bo27{˓oO>ޢ0t9VDԤ&ŧ yt:/0JxFjit"S( \=LfBT<0*&^* Tna +֯ 4wVAL+(S.WȔQGD+4&6 IM!f:"D|F'&)F"DL#6[D0XBL'KvbXA$fZSC"%(b,cFxE7s=.x.5ǫ{wWYp<-\,&Z *;J6,c|Z믽~i씱qq[uF6ͅ^~uD8w)X57V]]jEq\Q] CDxź{$d8vvY5瑏w>SF BlD] /=tRbHH<Q'B/ 9뗭X|s>Z;i:`> . W™z=s|u.r!FYnbaIۓWHY ;@c+Dp-F2;`q?S\.oo/Q945ɬ˫#&wFP:13b8|0%5ZD׿7y_=L g.^cm9>|qG}*@+]J|U͵u 45 dJKivN0)Aj:C~Heh#޼c:zhr"p5hvbcϊ (JEb l> f汐'v_vFp5IuCN2M9~4>a'=@d]\Qf pbVTZ%>pOC7J\?޼Rh:2T #݇lKI{ I#dVL$I"jʬil4[<~qQm/NiNLˀT^i늉pCb=6|@ceGh~vvw0. WߜX6r@Y"*jTJ.'uSqs|z~^>Zj E MSS`v"TхEd@琙.TJ8v>#-n؜}`ힲ{){qXtLZ5/Vu LaQ-ޅ4zNq,r͘;wO|9N~*& l*Lfwqٙa2:QI~VBLWNFU'*"VԷTVgG.8)v''5s =>quɀt{:w28QDuUC`!q?w2h z{c $u==s;B•so;%t%QgfvX 2@nJ DBV`%Δ4$CQP%t[g`͵Z]5zZogRsw3Y<4Rh/Lh *O4h+v&5FCc6`]zeˎ˛Oc*NwM8f):1[DN c[:z(_ÛpM/KܞhloÕkSf1M1)g,i0y-8+j0\8"n($/évW4xA/DAihqN.O)YC98*鐗hH5h" ArRԷfP̍_oMM-*.4~3X?*f!H9D* *dX:Iꦩ˭`5[kM^x>$t@.\-: .TL NzFX,,r#y@p8Ov(*HsS]WASa^? $ Di3i%145`Rde O{JO n][VHzO= )ng {UytWj|}J􅎍nfC=I(8 $H_>X!{K|,,¶ڲc|0ɝ0{d ;4)@)PEm̀TYtd|ႅ? Amu>.#PQaxۍh9K9+-r+'`Irn*yϷ姂`Iml'A#hQuFf,Fd N/ӫfr r,k+h>)tcd BV@& 'JJe->簢 McβS݆~M xqCfG6B'T%DѻΎ:t$ٻ;?(2"GDMsJkc_^}hULKgrR2yU:=PR^ߖ77e72GʫKJ*R,U@TTΠoAS1'~a9kF0 qҸ\}oigw#S_]nQ?Bsd ]p`jtx%Kbx2 дԃNS`(}<+sa%Ģϴi͌ YqWrNb49oF"-(V1|Pɏ!7<+O:Wkxʰm` =&8 >.Nl*;N4ӯkUpnvG{oT>cΘ,SfY²xU[VF endstream endobj 645 0 obj << /Filter /FlateDecode /Length 5092 >> stream x\[8v~[#OyM *qi;9`gb nkTm !{!)Tv U%v.߹~]55[5/}UY\z*y[} -`UVo.|_J 2NE%-wٶz#V}|iն+ TS{8v-]*^%z°UیY-7S/DqQnld| 4[)_[ YH]ó^5 j%lE%֗?_l$Nk4yQzlun@۩4՛d4}an(U;x5cl7kv݇U]ۯ7Vizֶi?koC\#0T*,bG UN_ww(Tqi|}?FπI <(?ܮ*We#a띀hQͶN}m2N8)w0FZ9chYLb/ >;ݒ1^frm^8夵(~4J˚>(&lm(֊^D-qZ_TQy5a=Taeö2u-efL {I-qPq ͞Kp+:'/L;zp{̙pIxl (=eJJs} 0F(as wt;0D3Ә 2kA%#yD3+zRvv a)^3GAv$)X)-@zm~ 9c (r#VD@`r1w]d2n͐ !<#@||ԻFpH@no6 h5R}BE1z!ؖ+dwPN~bݻqVݥZ, RgS$2=Uq?$*WlZCwx ~PzemƿKy]99zD<mdaeUnti)-=i5`~ݼjfkqR#=+>GE*nCG bt:1 Oj֖`Hmz W~$\j܇WĒ65a @Dې30@ X*,DU =qjae{E^8N\ Ys\vp:_  W^ Њ,ֱklYx c dkHMuT|DP'NNB;$r'fJ0I4}ҕm " XqQLȎJF PcA6w[F),얮 9xcd-x@ x4*LQ>M'@$iϢ^jj@]F0*)ʼn776d(}I9@:js45ub0%Dn=OmeN"e%g!P"qv5; JÏU;aP)4F\9Zᷧz9 Z1gt-nFG@U6w-rN`PA)T7 jcuvu@w䛃 st ?kC9ߤt|<ʾ? J2ɁP#b$T`9}E!v#&/5K}Fh?t !9ZPF`xQ yobs * h\9j]J$GYr40H-Z e^%ClP\@IӳpXM+{p۠0B߅.̥Omg7tD': 43F=d@OR!ftМcƂʖ!Bl!4pj"L0t*g:`A$Ga*^ h޹G* * B+Vԓ2uZ_>!@&JU,qba凳 O6'!7 i{ WS\ =D:;9>Qf|㬋F1Kf;H|s7q~wCNW_~ w?kzV4ܸV1>{ KDb*$(i%= p1ruB׬5su~RVb}i҉X6E!e/]Q.)"XC4NK<&DYJڭcī!4 !f(E`ˬrzmFEjzǦ$H'bXB9t<~CZ AY +Uɼtv ~ƄX%ycquVDEĊMC[΄aOd0=ǘ-¼a ŝ]b5@Ue{ֿ b)6!7M Wso%M3vHHH64FƢZؓK|0O>06"!Ҥ((z(lPaD6/eqv78a:;`6L+3{XW5J2Y+HLZO a /pcb OTov,BsqLl_6_ƛbWץc OiF[:,42S<|up~@:9=@Yg:_f)Ns_4 g_0 B\83meyNVV.4M+?1)S**D 0 4` W6]7-00F֐Zφز뿙I1nX0=Li #7IWͫ낳1)N]DrobVڱ,'EX=JCO" "M\/?u > (VtnM&r˩xXM:d S{o8 ,,2u6P0w$Re˺گ<1Cݰ&e֋MP~ٜ$G+0dd!ބ=bN8:e> >w8fVJ +=f"-L=j 8܎lSe oP$ iD~Q^/֐d}Y>>5ZP .SޭY<nFN$]v#p$Ul"b=7HJm߭6AoPW`]*YKpl`D 35pis.sym)92o$$Uy aZSb!kW}j"C> stream x\K$q[ 9˚J'ߤ ۰@g|)mԨ¿?A2du{ma3|ŃЋv7Nj^v_B xԇ!˗o.^({2/w_?~0x\R j/wJ+v<6o }sЭ[O91n:8}k]|L~=_OJz`1V+Aw#nᷖUzo@0S&j έ^b\+->}ս)) v89xhspNt8}(6":"3ubaж+Fd ˋ]D1W;1J}I (ĵn?9x]ۍqlָ߭Vbf9]. z=ʏ#j67qLo, =s7iwX4vwcS݆s.u0e}v%u=NoӴZ週Vx~P{A-Totg?-'iLLω$QoVņ]1dARhZLBMAmi 2.a7S +Rd7?:\)wRm%NB庿tF)Y,{꣮}"z7_AEk3f\E:f tN=}<`X@Ɏzy# W90`tI?Q_2؞F0R4QOmcVu6c4ޕ,!m{Uq/T <fo۞2Ϫր9ܼ?>\ߵ5TiLzM ;+9vUA ҂20h'L/<IZ[I 񲢾RG?)Ȅ;Rw Q_E J]YSl>nS\R{Y D!K F)>ۗ&6yaX7n(Ο#d5襩þ|%)LѾ݋HiAKD_P;z|uNǦ"3Ҋqz_>{8t i0 HjԷ}0ܟlkqi|":eIT x(YvF: &Xt?u fP.Z|jF8T9lsV=fʸZQD@dWN{r1.q%@R[8^ "J64Ww F@j JqV8pj5p!'I_6l*!x9yLֻTTۜ'cTdQ= &b|[6jxږٟ 6SH[9ڠ3E׫ԦρibQ%;08x㶡f,D/uX>hy&"tԜ@ܧ=ECMFmK}&TDZƽD??_wCgKkXFdJ()ptBC?9m'"j+җ` hB+2 ?0,!- #5f R{ /vt"Ji ܧĽvVA*%%cKovDʑk =)Ѧz)D=mf魼mH߷HpYW 38״]kA˄gpUt_Ek5ax`mz/LX"Uڳ0YAu6%>j)a5$4isT}W# Ul v͌|np^s$|I<+DT`Z`X8@oz64[8mct} 6hdGfբejx4{@ހn7$I2ExPS)td*[+nO(?o%Sj,c7UHP GL~+ѣia!xQC7t| yw $rkKϵm9I\[;11J' 1  >0lvJM|qicQc}l2c^5?}]v 60XJڀyT*z $V/9wyx+ @?64m\?ͰN6^XF `}>*F~\Ukh(aM;QlP|l771ά.mPeCʀH$q4EfpNiY$k biIFaTPTAش@c+})~P_q<OH,pf16: Ch,iLh㋀{:A@pÃ)zM)RSll5>,%tχjTh tl*b&"=N<.) NA7!sHVp+,"y 5BC *R6դa$'ucRu lEWLc&B:Oq?iՀs*I~٪yi SSpbm.'ՁJAX.D{Yӊ^HSLpO8Bb9?J`Nj,|JJ޸7SgaE4ݑa}CT,*%ł+k'4+ gL2wRc0 xv/U#LLF'PaK.LT&aS8);ԀKY _:թ)o+IHb񬕊I,Rx4JŀBD,B=*4IED_~Ad♸I\h|#vJD)ܙff /f`ٖ7(wɂ w.`.ZL)⩈Xv,wɜ֔);/C&ǘO4wɎS/hHrJhX -G7D9RjuKxQ.d\>5s"@Ks0Y_l$1$yv;ƳI8o95Δ{`u +XIn-1}CD(i;|q<l:bE\&࣠w^@+ SE,c4!tGŨ^Ã3*Y1Ĺ2G/lEV[eCK@D(vxfi6z̖qB%$YvV4(:LUiA ȣ1Iq2 _I:KOMk&q)F%ѼX=/WWs 2@1NNъK#H U0LG`fklA/\}zݶy[Y<]1%+=^WN|-(k䂅g^;b(+ĸ+O/6`W;,NgDZ/ڥ@{h-w^\w^oXT~MKX0O("io'Ӂ46_~lyAǡ=7rϝ`tk!bN'4z9j)=zo,&1>@rcU)˲7wW[b XU>/LL~݊e3ԿSىI/}'w,D,qG#+_o"`zxً}URaz= U$ _9ƣ"}\Pupwa$UGI 03ET)S ʡ|'r.Içϯ|䪓1YFsyfjWRK3ʰ =DJ3wހS-D-0_E"'*KL#^ %5`hـϴ7cSV^{#(sО8"k$2:LLIM2^e~hA 8(T, Lے!rcLj ͉@ 6Kz-ߜ;)&D{#!*j"%<ZbOW&z#O gn싸_?ER*p\IwV*Me}w&z:Al`D۬1޷azg*lC"}/!՗EH: .G̦R{qK"~a0_D#>is-{E=jJzRjs IU%xarqqcpSKЂ\_%R"tjF,զ߈tDXu[Z|dJRƳI poږ3o+ ,mrhbx5—Hi>B\op .@ŋQ^lr;|ڐs`N3 6a~r\NZL{sؒfS%k*(.4'a0&"srC@_o{ڲDsfP^2l\Fw ]l,]\zƼ#4AzQ܌}Iu>G4ȱ/YTX,_q[Q~9W5LIvb-IوrʡӋۦxStQ70G#Ŏ"MDnSR!} VYk0_61#$Իendstream endobj 647 0 obj << /Filter /FlateDecode /Length 4630 >> stream x\Iɕi>m>ɱ*GLÇa s`WKՔXDҒڿߋ%3"If-jOTLF-^/-:s7nqso]'[\e LZ\^4L/^1hT˹W]h.S°5/2m-/mdly]^rCO Nۢ\Vx&})TkSޏ&-wYci=:^}:0۬ ׼V֫MV}<LrZjsB.8!Na~qR€y˙0Y7L|szlB5_&3 h:D w7YͲ5w<|ѴKd=˗Z1F+!`ϡP$ ϞciAPELJ:FM{ayWhZfdP j[t4*j\cڶBgF^XH~펗}2皽9f*U}j$017-ڦ~EúE?aȽ0:0֪w퀅hjZa;OdV !rJPRdsIoϱtKޞ[JZC'.ۤ4t%1O_3HxCX'XҴ[kj+JeCHW4 ʝKsW"|3 iM.Ĵ7M~&,]fe[+pV0'gZy-7MLEwV0<ɯ<Xs7I~>rCfwOeB7*iQgnc{;6kLYrn0Xzֹ$iFi CCYXJqH9im$9Z%1OB^TKrF}d:srDB;mU92|IY #u9'Yޱs@TkB3o ^ONsdIr>0€%G"9آ"TQuLl fMN5m`1a} 0=ndOlqL?ܕн,Ȅs.B7ͫmw/}^\Ϩ{҃8j2K@q!YNAZJStZ 6Okqa{CU~3ai>?ݧv_P;JYW`9$$_loLSaOOjbh/vΤ~sn7UxL $o&4Q}(Lo88汳dNTԜ(7Pu%N$/a1CZ8u]#ǝԣSކ6e/{`d#{]zT#<׽Mz\="->` #-ã6pDVi'2iTD4SV7DOHGzMg!jc`WF)k5FAVqͨ&s^yy(9uXEуz-L7?Ď:^_ŋ7RTZ*RQfENH[jo9jf~}(̲Cz ,LGh3 S<1ѵ{tX@E CT(F_=եcVdՇ{gf"^H$\OW]2VlT/K'e܆9iu>TM{Rn/-тFƜ:aWjT6 (l7g]yY y/Nf5 ѪaNM6_L j(R<ؓs2F˼Lâp5<8^59+WBV{5I3y5ugugz29N̪}5s?K#'?GI p`"Tpf'ٿe2#ZjÂx[Uˬ)g\wcb![- RxO#n!mXt~YUE*jd͔*%hZeUA;b !0Wa:+}*|Q5HCx\  [a屌bK|&ovXiw3)Q9D&El[۟J{B#3Kt<<҅c`*jƃfbdefde*j54g ~4ZxvӧHk9#Yrgrt R)2!t8y8ΪgcS'O}&ʝhEs7|z$v”Wy^O&c[2u^: WjF FU@8@=q& u{gjKm'~%Ug4bRӤW?[0B@M8ਹ?=ZΎ؞:/,!8**g+66+cj{hv:DyJQn{[ ;IYˆtm&D+Hݴ?u) q;Yg@@ECꉑQ./ d]%aʏmw~ uș?[Lxy͸Κsgg(3[҂] hVW2Hm,l=-J~~4( 8ˇ܁-!I(MNlNZTI8hb'HˑRbݡÊ.*)hd)({1D8wOHtdz)2T?^ZB?92>]TҖ'"&"Aic (%#5o&2#K}vMH^u0 nUTk?TB2L!*aY*mc%?9;CV 8?Ⱦm3l>35шé:OE!3GT 0YT~}٬>u/ ӵ:uԧqEƺy75|j{&&P|D}fݻ :? pG^؃dKك3! (C0t =7_ ,{tOYeⰅe#SH?2ۺ_e1SZRj້)iROW79)?*su thwV-F_U>̟VȉX-ǫ"zGN]1Kھ9r&K-v9; IuBv,/N#D|(>cTRpk0f9]N;Z]- #DV]"q}YTXgBha8kR@=BUnC&+0wjfBtġqQXOhID z/U<ů^ʖaBߍ٫ IBݩ#2eK?u krendstream endobj 648 0 obj << /Filter /FlateDecode /Length 4743 >> stream xMo.C/́0`۝!Q'V P%%Efv9TlQ#켙:J6_[5ѯGד/N`'\WIJQtBMNGӓװ V'G/*+% \eVb΄edl[݅ W2SJ/x󋗿I%bN9?,$)bgH-0PLQXP[İufqlȇC*X O ynǫfffVBx2gC2͚e.ż`PԔlr?8˵e)h6з3&֢,>"DU!96NI8> U|W7u{utX*mU{(RRғo乑f |&u:, <<$%a,g T\ xn~ 9Ι<svs T<rgɃ><7o9g 3!g_*gf$6!&sH%X]`@25L+(Xf&&WQA(P;Od Mn=DĠ1#/ob"*SoU e6rV#EmfAmB+nlA%ޒVFa.Yx>L<ՌZo>4ˣHlPMѶBm1>6oc?WmE}onrڠ;e !<9n2q |v`ǡ#N- z žD1mŒhN7? 4<z$!u`eA$umKu▮P0M<#'*e$5xZ+*CI˝uYISt"W XYS41 vM^b|1 er:u8yned^e;yR gGQ2,ӼV On}]L- ؄W*I]qS˫ΧI+&blI)Z)b*iErSI08SNb~Cgr^Dۮ"%C5,ʧӬHgck y\Ś9-Jah+? v 1vHxM[t;^C#=X^NJu@#t ʸ5u$M cl֟4vn+ b2@h*#Rz- …N}qq8gGJb\_pE ֗R p;9 rQE~{4n0Q0!(I9 ݥt) wbXޠR.|Cj=hNJJo|{p:+>ibf^M @e:lPJ?_^=(y9b'ޟa8>:eB?dNڛ o־!ۛ):>^\Ljyo|+ =k._Kh ]s+v*cL8R$'=s^Ϗ5ȗ (Ҙ[: M)ݹ(1"v3>M , XRdOad:SyuU*#9xək'p_8&TdQ0В&O?x:MҔNGuԁX`f@˹ʻLDPb HXa@xyLˋ@=5F|d TݖWvR=IbUϘ* GmZJxi)b֯AT-GnQ`2.# AiA41ՄlKkBt%! q pf~-j`X@Div%/8f,b-|'k£Cb [pzP (^I^cd "Lo?ߡ'ٙp◼ X`jD DCY=RWHp"UiJ~}G ; /PZ/dn|T( l:/P ,i`nіBTzy,ӗZu=g:Hdx5[8A[9IѼk , ]c$w'3G_0J "KM2*茽29W71|-2>ϻ<*4ѽ mE|O>!^ xlМzw G lm./E&+%6E SCU#tŠ_͏wvƟUSBKmb:O o=#?-/Y9/Zr8Ի@"]p<;W -UhC(ݑ:ɧ5 qro&$Jӄ]!oڹABi8hfvΙ%].s9*9aPqPYob>Z۪.| ?V!o\//x_O)07BΤaW輦HΎġsQq0^R25!j*$'vEtҕ$ q{W7 ix:\޺hlv蕑\JW:%_S2=^H3yuR$ -zQVw~+ώۄN/]]ivRLIYVv%uh։V;P [$<)irC`?0[! rHV %ܕ\a|v[gv-#'bXm_ 4:dDV sVu o6`4/6LI0-զRƺ=[D>S1*jƜҫ՗&,vܚjdQ΂İt7$nhb,wf~d~fx[i{z7$b>T ?<͘LYp#vǻ%k#r i]־H>)Ίyue-1#DBE ;g+^2Zy$2EAO 9|Ʒ͔M@jId\ )wVZ #&2\dԕx m*rb5v oƠivb vC25B!`((A[[0x4m4id1PKslp.h44a GśLvOr^bPdB"$9OyPĐ.W_m %#:O]JҒ$F5.߄ƋfcХ bX'κmG fy,=C#Ir~L?<3ϽӦE0d `ێ{޿ 0J*;z쥟UK+@wVwg ˚>QnVdVCX%zYc;b WCl뢾I'*6{+ThS4ߦ3YU46>!#?,{|Q˭qٿl]@@?hfΙ!dgqz fu:ZjV#yUKCE6a C*t͋P|E?|[yJCaHҸ0zѼ13.k PߣeOV4"Qfd&Se\;L#^ׂw ϩ~u_՟ݦL,ש#P}O頒3yYAm{OVTϟ'E硫H:'>0? mn\:;M<yKRb#|[YPF'WsMzY{-{2Xb$UYlzl e>E`ߛJޏ/׻-C> stream x\Y$q@ODzp.Uޙl+ l!@p˪#"33|`OUq|q~iji7_}vh6_zI{߼B xT&շq.<nquPfsxY ݵV)U7zo. o}5|42Wmo k{s)aY#r Վ- .zqؽTW,Dp)=lHLj]祇CW[}/ДS&j`E%w[f e5)WjYV.>8n"񸔮n,̑5,*'7.0SFNv>񒭔Wھߕ p8#$1ձ1C߱+UK_:ogǍtbvIu"]fNj~\tuv6:՗Wy%fN_%vYZuHϫZ1\~^]|}VKr6R޸FFpFVxR/v o7;b t1cGoq"_)k3qDЇYC&#IP-1N=\[ g;loP?1q/T;02>X y0.[D:H S $HI,u9?\,jaDnRMz?zqeZ @(;OX]ρ{,Mhh3GѼw6+cR8pT3~Mཁ)|KZC* xJжDMIb~|LOMءc5r 2ec΂amee^c.,026I|&ZJ&O4C闇z.>"ia5,rLφ)$-1fdx@?&$ c#<651V_B!*`$MBK  J HY<@ lAS &|.TGf2(- 1ר^:CAᖟ ~}Ȥ}_.+%@x?C-6=F-j>|h; h}$I/ [#}d⩁ي4I*P% hnE`F{2m|(<TݐɮD7i#,cT.?q" WyWKDZ00)(j~u FtT:$gU}xo1Jpgv+$I^M4KZ =] FA閂j8yf8[h 㶹r6"3_ieɏj}hDf'xe?vj8?Gμ`0UIDN )5to LvL>2Eh M|hm2Ŋ5 c1>Rdynks!e?=am6DɢowM4e 7Eh93dic*%#A3f>g$6B,\.` ^9| S!b*68: 36='2[I@ "l hae'Lq.R^jhEbgEu};bkRX:9OIw"tǖK)چV8#b(lHFMFe@D$Z§F7~,IpIšXnwסQ\~o3jǥs(nf@14\E_+AmC^8v&<Yݣ6bLdX91@SM쩔;F_]{@~m.F ǣA'.!j,ķO@\ 8!\y4fHt;ZTF `aTE2XsgJB0PFciu .m"hP8SR}Y"̱)9,W1 ۘJDzZzd\Pv@Fob5?(bE^*bC ,SFŔMT՛XŽ%:7R}u(r߭ݛBF)" d6q0M3[A%blSY1ܵp.#TqRXaT*R(YWyMUbhPaF8F2nwS@ў1ɵ7fwQF*9k;bʄبL,hsyTFXƬ_пff@Y(9TyD6Gt~~;fwpd:L-ֈZy":j5f{Эk^##VRex+2mdu&Դ|w}C1.DbO40Ftᰮ#<֔s%<Hv|IGW jo"O ^ BEr#R& Z፠z9#bY.Xr(Đ8&rQ D2O6ǣ)Zisb1'fjkau*^]ZwoRH],sun?W"k;f>)Ӡ)ďfmخ.˜{ZLDyܜZͤ0 zCDȧ4gΤ]|lWܚ` \URkPCL0eh%D""5j-͢%\jc1h)e?%|(P%&@MjR=@~ZCjڹ4FD\Q֣h[k*O )i߻Qԍ7|1-f6 (aOYDp̯po=~͌us!0'XO"3/O$0{EdHDWqD|A,fˣ9¡ŸZ(XjaNX5T&t{b jnjx=5iPIpCǾA%cÐyԍ+:Lf-+/Gmӧib<|jqYJYb%4xyƖa1[摦b"_g~l߀o(BZZ;wiw39?3K*Ls2PR';i%=Lk00Pzg tڢΰOKb+kTvU<8~b>9t쬽EK)w5ŧqpوw qt$t__?endstream endobj 650 0 obj << /Filter /FlateDecode /Length 6378 >> stream x\KU6bWޠ0wC6Ϫ{&0a`BtTiX2Q`8<m7<9et{hB՟>o:oޫNt 8LO6dc9i ~pMSC .mS_|>rLzÐmtx[ w/~_gq>'xryD1T6JB 11ī(4ӊCLLqB?G5ᥐ,(P P!})Mէp1=6bh|)(BANa9G.YN97oiuBO9:i32/S5ggpT(th:j<7ҫ Y/"7O $.I$jIM  GmٽW@3f/t۽ /e o_DCP>Z$@ н Sѽ?i!e6iPj)v0C:ב,:&| m]k!G{c;kI+-?m+܎_gh!mŌE:Luش]K~wlЋN+:f6Ҝj#lƂ6@_/lIs_ٶ͊08ZuVcj;10#DnR@j!}TR+k k MEPxχ% ytNLgtO2uECA>e/:kbGZUBS6u-9SQМzi;( =>F#O|N. %QiБeId4[Zkۜ0σi[MZzud>*`VB8R xsA~ XwiwkQgs66N8k^v؇5.%іUsj i/39.ʊR֑R`thF|wkUb86.0λX^ Y0minaCهhEVO>+,&` ¼K~ s>,K?;7檍,drOGb&my–xƴႺ6&t~&[#Yn-4 ,qql'чRvsd#[UE9HJvهM D_2 @ր)8[X̎\Ba?Po-2{0Wa=UhP5$p (S waUOmr2wEzþil)f@Ժqkj> g렯c׸떱̴[i) 7(öT4-TٰmD4>=Ra ׮ g$Tgb6`jiX'"OؠXZ?I|c_ϺS:C, c]Aҧ23M}R}iueɻC~L1J)˸{RX'IV7BQ_t#iѳ0liO[v:[GL&pӁvFBO'BH䧮l ùx+d5%2_z= ag`Dˀ^VN˙+ɔ)AM4I N94V~I[zuq%P!J+(I5.B$A )KuV[sv p声$񻉀+xnEQRbz EPV˃kmz]KJLk&(a,iR]&o0R9 -t"۰jGǨ4nwM^4oJrJ/Hӵ?8Ve܂l6\H2o= Wn\-Ӈy/+.Q~_*R=S9387`Q?Ox;%>I\hg-+%Z㭨'i 9쮇FiʾKuXzlEژGYz5xPا<=Ny͚ҚJ &`8WsM9NsbѮ0hfP¢PuGIXypP_fxhC%gסL[H¯pF-bioI%3!H*)UB)DѶN?{pEo:)4WBw8 W*+|,һ ~GteAt0SiSAhp:: "刹:0CYtRe=WYPؕm+E\[^-%/9Z7ZۅZޙ5# c 㞼 ny YHMá69 1bIBh Sy.i'Pu KEABw6/-ߊY[P)M+k!0򆰄Kc.lL۵?ַI:ɛ[,In?%Z|#Dz=%pZVB8dd\@{8u;}'Mizqgט$0ƍdUh- %|P vD,m8r,NyR!8Af쒖.]ܕɜ HZ@OB-J1r1]?Rϥp1"5Ys%AFW)Yýp'hyNgDJDܶEVF8&l2YhsxN/QɒKC&}ҝdJ [JUTʃn}&J[.7PFmʮT4)Ӎ⢺mqdQ!J=O34Uo z>ɏ5ȭiX`#hi`na4O ]V#[NR_)n& N#1,,6 <_&Z4w!kmm48muLg >ZšH%.\8ИmH\n-h0xnwX 국ӅVgʼnՒ5VniΧ2ȍR˅#Jb*ŗيs%&R81㖗PZ͂ {\L5S u"HYhtyY ڝ 䈜Wjwx*[wڣӴ, yӵ I)DyCؤ& /ΓЗ@MzֻpΓ 1VZZɱ5neBڦO79WKE{ouF|Q Y$smxxSRqհS; 0H9r .%oxF}6 ydeß[&= 6cvoUcR"eU;O /1(}|21z5Be 5phq_M7Z'8£2c'n( Y|W [ }%<ry}=-.i &L6vqp5 J!f 3ܔ4l'ERjJOc  1,"a^Gɝ/c½e㍽u5U*(|O:}W= ކbԫGMdHwBuYTd2H9n)MWa3b1tc_r _E[W5 TYڡ\ˊM cXmJ\5nԀ+o<PpUxX^8*hmj\6$ݞk"7oj7o8*@4u7s"$Zȳ43 uY?]dn"7.Vn[K.i)Eb ˱FEn yb > -S?QiIV`sׅQ~AmW[G{+HqMO|\]7B??R\2:Du&>!9Li۴b[\G7jIN-|߂eWA@3AgdgѨ߇+wayUpx佬>B PO< xZ _iE9g ;_o՟bU!&BhAWTvTWTZ01Ut7jB7SwRю/kjn(Y/Q2.=CHy6Gy{xfFeaS,5j}ka1 N\>*@MWj)a 䀡jQܵw~N߹P,YW(Z%4, [/)SKP+ 8t N4s5pZM k"(]D8+^]6|u[ҫo E)g7GYy'͝ pM Ҏu"/S eJ.o5]K o,߿\$5u`Uen Q=PLeq sL=43,Jj>عLyW'{Hb!ҩ+* i%/D|S@"~hnT3Z{=%Y6Y̼]*"ײƭ@2sgv2G*~ i;*)yc>=ϗ'_j|l fkm_ Q~ }%ڃ$u&wX旉ϻ!a6_MzP)LuITGu}Lvk!h%mqy,`(9ŧ@.EXWZsS%TO7 0 +-D>/4F [+UcZIr urkK[0kBjz4隂8YrMni;'4_fܨ)8̯nu)fׁRSZarb>]Z<Ş|רp&~MqP=ynfuvf, .U?@׸Vޮ,caAҥRW TRyXsuP&-icZ!Cs&7~v S.07M ̋C/̼W.JQ^z6yqjfuų W0endstream endobj 651 0 obj << /Filter /FlateDecode /Length 4948 >> stream x n&J=bd.YoE蒅cpu[_C2EɨϗwH`c&nbW~eJletzWl2^ )ɲ*D)0񀀵[|Rv=Ϲ&#bX[ @bZxQztګ)(\y_l4,TJ)jSOlYLm 4['SX݄hL.cg\vF"BClVp5ZW=Rxgmv}xi<؎mc$Ej[ej/"d'=/D{)ߞI#r{.g^/怒}d=U уb24Z30_Xij,'4k%[-OUn[?$NI67?17S@Bj)4FA‰ kl i;;%ňL`/tt!׺éhK.8 X훪eH3!$x$4l!*'!9XgDKM/;mv]8zGk92MNլteUZzܦk)?uūcQsXW/= }g]mJ*N$C [IPOϳM}sLNBp-SH^c?Ƶ}D(@0Xy=Q&CE=]a^hX\h5*<7s4Ʉ8e=A2L ʁ5XԡvY P/?er nO;H|9 [<*DMQ‰l0*AK.9$5^F̀;n6.eg|i,{kE\ :gIG {nz5*߮) !.#Uco;N-9FQ3ho\F Dy8S 9wu6(tDV >{/`؄!JX]VF FoΉ3p1Yj!M{$vFؑ`?~)?ՙUPx|Bʂhs])i4ӀoЋS]x[b$c C= [1ˑ٬?]yF 04D ,Y:}G@;44|C ТBbq@l7xa >A84-E His2F$p8M>;Z*jϘ #߰F?/AM1J{*B*`3{k<@y4M1mB;(e.cȃs!I ˵uSMKdx2S:_0E.*y}N"zIvwlYSFg65Fջ7/6wR\3{|jhrV/];rגbM C?' 09 +)ozRocs0'Yɗ :e-D=yhBV}'U Q D}|]q[o(Aw 'YzAmnH/~* M/:¸$ C(ͥvBN,{lܶLق*;#g1WٷfW\K̕X۱ U `hB)bj].gcI@]zf 0hV;R.x fi,$61&J,EzPZ2=+$04xaQ2PX*M<+QDA&)?@YF&zBIWh6v]GR:nV㡼eP^jpܻ xM(`R&RQtL3]E<EfP_ޱR@ w;:8 f0`VvZ >So<%M6nhCZlA^4(x k3gCE&VmHI3Q8#=c3Cqrdpl>ml 'xxʴʎG Lf 07صCIkf3} |BSQ @(CAϣ3j`hM}4G9uX0S<4'3k 6-?yϓI0x%MXV֒12=NeC`C3u4٤ b`+< ]r cTK8Jb-Ϻw`qŜm,gbL"=HxaZ3yp``|>28P7KNB4WqWN=V*puZ>$|Wf&nqtӄA / 9j*[u];nb Q3v]Prǚ#Ma փS0 <W];y g5&Ajvh0x0?6>z bn4#I)>>hҪȝ F)H{%_/W E-6ꗍ<=s5z no!g% ĥfU.4m2 r3JqG:G)Մt$ޮ t@,#.nB;Hoe~;!@\ƨy(XڮfcλR_ʂ8…3+ =@z׳:4)MM0ڦ^eZk!j_cQ iTB_$EǦ^bXah"7S$cC+>F<\zp4}2ZHlP.3&eмpj%l&Rʸp2tS}6Dr@|$Ҕ4O( PA`ʹ'-\61c*(`?*&p nѰN=7UԱf=s@k]vQbGQ́F я8OI~ɰ鞕TXh(z8(KŇ(OC85$eM,' hW뎗K$$V]r=*DReSl y$p0X&܅bHp ;CM Qx*WwYuT45 ƗSdl8G0S$Z؂OWM5hqw#мm##Џ*}Yemlw {i?TҺ-mFp=l|Zk# {oe7a3rP$1wh;Ξ?&Qi1e?^9mwN4 ^ DW'.): ^+ x*7K`L/Kz,EX,wX:p7/Sخ7uyd#-sI~0/11Wū](|&8KMhSK#a]7w%,& +hT~~H$: C5$ǚ3 ;p55hƝqԇPsNf@w^™tmx!w5AM̯ yչ-D2;u1&4cX4a Qa{Wx<@.H r||cA)gz~/1 'X,"Y;4 ;Ke V09d;t^6z*CӌYL `hYa-v?z$} ,H?NiuWS`?oRoÂB|T==z< TQv2A.E X@Y,|C"z> stream x\u:#`&kct O`<s@}IjM7!yKYU,"Aص^MS?޼>=k6_7͟^@ oj׸vwm7tԛO*i/~ƭlZBtۦnUa[kl;)eݴ)rU;lwV^?aSNmſ/vkU[[6;kk /;@V/ެLGhxwFilufO(+~};ND+F \[^~= ˋgl7[.M6uc^ gVdJ@>8n%٥2-T?: O|) rNV}he׏蟥FffYo⡨ W{'g3"[=FĴ:aq8D!wRfke|<PA^aan[UPYKq8cJu|݌!ϩaUʀHA_.{#P# IuLyEo޴]HmWbFOՏF& [y ?[bt|?әH| da]팼µx GK}<~! c/N>q)&Ϳ8Ï[ @}QibOS#XY}%5Mzgi*Mס%het՟ -/RIw3d[V dXf'ڵmԹƑ.x{"8͡je?u hncuXN;W4zT=PkϤFρ}iES]zVbBV2:46(pzHp/-6⳴N(!ID"4GE`JkmQ"אF]c>v6q8v)gW щg>o.pJ8Z@t[/d{.aoطzgt]3T\K!X'o՝=9C763o~ #@V`>۰1Qhr{\i8|) bnm:U'8 %ԗYkr בz kN:Sex+]T#4mIZwi6;VBYz34>"JB7Is,Mt o:Y%5?!PQ^rVl-Hܘ97!IaMd9\\2( %Ha 4]aС_}+E![pA1'NcJ& %1Ă.PC,aC\;zr :?.Nt/0L~呓tg-Y-p6`2 =}X;"-M)t2y%,H]eRr?n.#:BQk5ǝB#H13y>T* Փȃ .&c0jٯ}8RdLG!P#bʿN8/Da@}qSتwz6tV 'qdƿ+[O7V bhՍkB+ts&-pL)xJ5<½U÷^5|Pk {]9rЗY a1&ESpo41_:D:5d(-ߺ*Ѫ"#{02M8`AqOl͂]erpDUC;`VU39_W1tPQA7I9ðVph{z1%. n /@(T1*0ɺe:ڥ*(Xv/5( f@D͞WƆ9f? ψehxZ]\){E-S=Y*8V҈-xhfNEi.ZDaAT <b?5U]8!6doMTCg_v N~pǀVe1ӞY\Av՚5Pi  #ikKq5 ҹ*Xh. yrLxUS e2}96yYpB n&gA}̑K|.)O4Ņ chjU *sim0o[p_?3 ]^Jxt?eQfk0|BI:U#N-R8n[rmoA(~GPպ S>NL&Ŀ2}:2^EV2NbyAQA w:ݱFtt.zY5޼ʭ/$UC¿}:#f3Ґٿ?v4HVD oE wixz@[6j"GMvl\Ү(dr\څ0K 4;쓲j !yRb;E=1K0"~,I"+`9ǫ#YIK`A1T󍢓?1}cgsN)H=% !3kJWJͱ0*E17Vȏ".䶜ILbVhԩ\V^Sz_(<˸4- "vX x㥒O. v3 >ow  +s0jTK]=sK A ?L1%A}NZ W("eꥴH KW*zDIW7lQG&"#[^;5XM[F8z&*ՀY;UqY?)Y$; $8N5Y`)˴^"}T6Q:)Ww_+ @&S~:)L4]0#vEf,祴P 7!^):8z@?in>n×imJôa즋?kq:H%1|^fWr^DB_̮4(6bWZN#SP)L 551*K/`[.JUt]cN ?eX({DL]Wŝ?upk[I_Zp]cRB=v9.(eWβ&LWJZD(R1JA#Isv׻8%z) t>02 Sw\!ws"hq:cd.!sѳf(4 gR@c|x~HsUW@Xr$%n P & iͯѨIzmhZ+]Zv Wdl O3/5iM|J %T{TP *N803g\*x]< ``);U0Ria Rn3Nax,?0~ubaժxekXR?=X;fo d ?ϙ滠KC͢ y4<] /tKJ54TK +pkƨip"B[-Zmw1T6oN*}3saRpxlLꧮ q0/ˢS] ١K#dCF!-g > stream x}K$G޽:v7e-XII =$Mfz!UM6βem3fWO9l{x5m{W?6~AWgH+S1/}%(ڝqqB6_ܽrvSٖvpuMf5&Ǽ}_y*l?ooKʒ`߳>T3Ont[eMź黧|xƼ?^L,nzU&e=GB~G2CBi֥/?h3 YKϛ71Y۳S䝉1{<SNS4Ų!M2}[c<]CDSG_ɿ\6f79ZTPs[6OnG ɔ ]$>ǥZڔG-*Y%h4jQ*-92QJhK)*+&ڤ;]f$k)Wj)p*kioYo dnL 1)7f$r^`'>& 0}8QSQE\"OeӨI.Vb'%ϭ4~K$?|D1p:)[?q4)B14;c7aJfl0c6pTCc>$6Ѝq34T% U1 /sH\8 g|iδFyok8؉j3o 5smi4l YŹ~/UJKv!BydÎE +3. EZې+$kd iFvS*Y$ %JPb'};JVihYdi*yQz:04`M$'e$\nK#i5&]B eItݐkRDl;XiC =CbiGO&vN$ɔC`/X^$ c}@kI9jBky.ɋUGS izB [7"kv֢{8,Q R,(AM0h` UCDHByl}G@1@O>?QԦ~Rwxʃ$O0 !lBGLJȡ<$~ >O;6j QSPj8FFz#fQZwzip"=wFYq;Ti$͐wEF4S-"2F$4-4\)' NrW4d8$lm$vdM HȴD*B ͦX_Lc!r 5tBFIٵEDv 4ȮCTZ"@ +U@ CM1;];)]뇌B&]ÁrҠ`PDJ3jHȨdP|7QӼӸ4&U'DSc5*IB2jOjZ: i b Q!P3YPL\XY4%zȪ=H_(4e𠒫bك/(ETJd@x`)7A!('o'2Ud1};ьP[, de刞%X$,, NpZVlȬ*ɠRKH"|X"`4C 2kr8ђD3%d T 7$dCcj'4@1@2I "<$Gu"-$He J'#탩$Š%lZlZ&xԻaTRZP!)zVHdia=R²%I{y9Yl^|H\ź`haM[m$߷VJOaEdEdOG&J%z^}TO|4j;_V"rA~(!C:B?{"E\n@YHOR(q k JiEok@7dk)DI.GX2< b%%W.0Xi4״^]SGskW -A5Ӣ@5 `*q03(Y,ʕAɚZj JV@5sdX՜UYwX? h!5\5ITIViA*>,UFGk 4-) ~9Br\O"kKb| biUZ(CV!&Xġt)#R%/ -ħKK€JF)'L:`KHsZp"ٙEΥ0 aPE OJHpgK\/ $| F U9g%T )~@YSFu'ú<@%<AԌ@ zM   :MZ4-@BFh aXZe_,  !!TFB@Uc(VR@@iH<[!I<@ srPTOX*O'A*/j(hk| \WT;L>i&QGga`GK x0d"NI%r H |OdM| 0l\Vr0@?rIfY|`d*wuYt^bw ,+jô4QQ"FhSBDMn)H TXQ6\AF t48CFKO _9#K0$do! p9@@4'8Sb`ס0@=E)Om c>dF_$T`D| 8P H,q>p8;Z {rH?L6;Dk|8D+*\aaƕEk 4BA F.ցH.FOB`2G;&܄5$R-aD1pCv(Va!RV@! WGk "9#&2ha!F[`>qNMMʂAѥ; KJ+Qy^ϯ,:vw*8`|<$E {!hnʇuX';l\)^S.\ :?S$+Y庒&4Lk WNQ?N~ MAB3y7sNV&MKMI꒦eEqӴ4iYT- 9Jf rr6tr6v ?s@UN(55*-bkgMFncwIhAFI1ϺYJ.b(5-~@њdWLEњ`؈yѪd"1qq*yQz&ҚZԙ%9"cQq儌`41fd Bhf)yќs@H"gCP5(pEAHZj B}p(Z+ڲ"O%(8X"d6,(@ KR+( bR+bT4bra$Fs>఼Xo F-j25> R DM }0( G(:$a.Rk\ ! Z,* RVQ! Ph ܊#d`H g/&ͷ,rHg=3HN$gPo,h+A[,hkEa5Q;`^vz$ BJV50G3| bEXQ&+< H !IpRP" SI,qAYxA@2E$4*82Ѥ$ǑCTu( VÓB<@KxAy/6_ #Oyr-1q8Ox`AѪ"h9g$,=+NZG< Ƌ 35ʈZz$Rz5?_|D!Lez+b4)`13XD8EgqHuWBɲk$ǜ\Zz~Mb- he߬$(qTw,#q?ĐzudF]E7]B vʬl˵8D0]B ~ƌ%d19,P'?]][NnkC-MN&?{%+`E4(YSAd %+` 9뫫5Z*-g}eSelvI f4IhȍSB6Ӏ&Y'fSѢXH.rzUT%؉;T%PvZ*T%8-T%(yCO>=8WBO-/IТtc&9@DesF+$Y}Eٜܝ.?Jٜ16挜qlΈ3F 3UqesF>(3X9) 5ʠQ:'IDsvȪ9iR99x 3FC'ꪄHـJ a:#JmNJs|NAsF 3>gL*|KT:)4-1 Sw6)Θ5K_(Θh6#Z,TMsTOUU:'<+1O^S1ӠB`#Z*tȨ 7D1Rs!:g)039cABad\bks9#~|J~H霱sMI)̔qF9cIzP9c!ː$èJϙ&@GiR:9i5KS>'WIL tN2zR霔%JLh2V"96u}{?oP6; o՟yGW~}wvw_E^-׮̀ΗSzqro7޷Q%B)F7 O۷?ޟ|+ZCΧ<)ێ}kf8 1׋Yo!nq;N=Pͼiua.?,rSGߤy+3]`XXʹQ}vR8a#Ӂ|z[ܼ7BI)9ZVU4$1LJzO~U#48.:?g(ޔ &]>d{/h/rh.TsaP5v[ % ofc?B˲O*>Mup\2(r: <=QӤIn֬ݵX6~]rrqpf͏oWNQ\?ʑ=7<:y۷o~z&=PW{?̖+[Ƿ`Y@i E@~qSAAo~E8Է7&x ϋVf+)\PQב{s JqhPr<p_pn%HS8gx0P^]ܛ8yA;⑝·pZJ[mz4mQfT}~9_K'O;GҲB4Tqo!EޮʴY3Qm\̨S#8x>?rN$_ z~LeAx}mΎ`?gx"MA7pn*Ms&Ǭ֏ߴ`O;uYʉj!tHmKQ[I|[z,F#m1qofzyUo.8y,^(toHAhSqf 5% 2*T#Kgɀh73C|/7;78XdkQz0h [q4U㺩O곛gm:nH-ִF\E4=M~1 ??|.na}zb4󊙙xɣ6oݹ;-J =$%>y&+C\3'JL8pW搋RSl PL}p 8烕xxB<EIi+dۭ+xلaOP';i!w*(?JRqF2s*Nv;Ss}P_nqəv&s6ϲbyuv\d9tdoe# P6RL{[.w4SQnKgV/`d ذS^f0?xƢ9RJ񥁘NpIl9?]rS [l(!W6jAU`/FLh㥷s8M =IMAx}Us[R k_]|MF{RZO+pcbp2Vˑgsá>(mGP/>xӢO "޽9[1I~Z\:rJ)Mst`S%P^3,H\r*ƻqGay |?q3ρhdyXۛU2gMhXR;Q2Ǜ[yΞz8HʙV"͸yl/u9ebTqo?d _ d#FF. zsDqv ئ앝0gzQҔG2r,|>UQ x5۳憾Cn}[;p)EeaB&t:6ňC8U\|8薁Z<%^sfvsy-1|DlԨ$E\WR)8<#d%CybX:Qlp>E F;_pHOsG9Ql C/w׎/xOW>1q>~kVNñ欞`z䯶Vvm>~>c=|u8bX!Y#70/W`=O>Eei'Q>lGU+\k|s++UosH=Wl@jLC/BToqMhFv=P'#H< VqGu(5t2}xtca( EM@*rPs'v9>xa6g]ZbB<5ɓeػAXfahɽyڌYxs3<;}xpV1SM%'#ۆ~Pa1pvE.\o8wsG_gooo9فkgI~nE5^ V+v0ZGi=endstream endobj 654 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 837 >> stream x]Lg߷Wzo8i2P+DLLN *{ mB=acMCX[qXjR/!d r[5RT*CEHѿ7J?Akte9s- ?/ZH wIS^^'Cdx߷{x{ACnO Ek<6b%L %OuzoϨMejQ 2i.t-jurSꌡhË{'Mls| -f:v7)UƾngWOw@NVG` -+qIurwKUL*[Oz;| bAI;kwcӖIXDX뼋dz~L C ӡIysN$@R9 \NRx=`1qR3Z?*)lAj2Дgk=WͳĬL2b՜LoȾ &`R4g:!b^!J51#HDK@#C  (1ad$?0HoqwАKr7vfkO8yr =endstream endobj 655 0 obj << /Filter /FlateDecode /Length 127503 >> stream xĽɮm˕_qxuMiXNjnT*c&2.>ŌΥ,M;ޱW11??w/?~wߜO䚏s?~~wh\sz[e˯~]kLW?_?o{9kݯY#׫3/_k˿a߸.o"_u~ |WW,SX}?_oγjߟk~_??{:K|:gAP?}^lwfX}_[Gm̭7?>jx'J\^s~֏1ii}^?М,2.K>.<{ߜ'|[Qj87?Zs6>~o>X%<ϵ>VyIXs+ycsUUz;O=W/^\?^ς}Rlj_z?ydև=k[;;wc_{ë{}b[9?ϭ?VUZ:[u?W ɟnr[g ,+\؟G5Mj_h&%9^*eVKYsA%<_$/[/#'Im^jk?}?KhfEmXU㹊%oRwҗU,ykzsK{3ٹv7V{=VU>oo?WUN%R>oJHZ%sKoa7YyiGٻmE>6b#G=ѡ)%9\8gJ֑ϖA|Qra tlեsSΔ jGQg?Jq/eG>Ǥd ]ArqUmJqQ.oK8cqϻ*qBr9ܸ(96Ϋ$6 $u,|j!:PC[:_*'T>ZVzҖ77q^LUG>ϩӵ8;|N V9%lcHm͝W 󟢏{zh(u9ǐ߁R D+zJgpe4Y[yi(o+ḱG~nSmON;OuL}޿N<)>sM>|a5 sY *9٠TNFLVJUz+s ʦ䜌\>QS]&ɝTܵߊ `40i}%sEg\A5.r6Ҹi[: 3GAVYUZSʍ7|oT-!w.?gp T kV?VSb zj!* 2/n@MTwV)t߸bKJT8 otʯPO9nǠ 9M8P=%K|'B2bg'J`s!ιwt%j8j;gp~Хrm軧8ǮG:nxfJSt&zm]Zr֭/VHAD%^~3P([xH6\g\}MaqZ"~9֗>vՒ ז~{+lG eI`ʪy߾}A:~Vnz_YI!+~|3:6w88ny㝯)H7ptN"3#_?J>P' +HZR:|$I=9AW-/q(£twѕLwevrIqw8eD2J-zjXyt?Սj7ev< {j /~ V>{O\:=KD|Bj U6rXѕBų1cڏ!~n-K'ܵ+1)nIgOre[ gw;2 7˔:o V~#ޱ^r?2SB:$>׳a~6pN’##M'9{#)ȍerB򪍎{~^ BSWhfZgT/#XP2=}LSAvJZ* n6h9w(tK\^xt},j1~'}\cVқLRt,d-hȫs82MQБ,YMAo8˞9sQ暚Ka҄{S.Q4k̋4rq 632c8!Ng(\ Z)(E0S:/ٺk8rqGRl^xAt}WY<$ŭPm^ z)ԢyQGUg2tՑ$LpzuC0(&aJ88ȵI@pM(q$; ;H @6Y6KulIh^YV 9%Qlqr ṉA~ϑxGn{CeҜfwqVDLͨ: ;ҭS8:ܷ)&q{RXTK㻊\pWh=O3˨XG\x,84f|nfY@m\2 k/{$}ky&̊Rnrx Cv%=d3~<T!{l cķ־2A KPe䐆 2^Xl/j!9f[ң_܁`nWRU}4~GÇkuwT`t2>|kDS =oK`[]Ec~d)kT,G|iTG8yH_7>;I5OU*fsFԙAem~fGP#O>' 0G"U\ _]H$ACUYq>0Ƈ}c[k+l^Yhwgŏ~n 8JNa$D 纩aCkv*cHUThU^YfqogFH8<i-)BZc[vd"DC:S³V ES4qX EŠee᭎XXRF#*jW+gu\7^ "*Ɋ !76+61Zd.G]${?B~)q8CUҭǒ RX䮫q!wqccy )a3EuW?mIh0ewJo]$ }e2-rF?ݹ£;-l>j.vb0ESMSݵpdTzu²鶥度!_ip$rZ7q 9aaΛѣ7UEIVL# KR*:]^XcFaL:2K>z5 yTB2oS~$RB1E%+UE'Dd?ǎ ,ߧH{Gc7d?^=8X *ُı*oP~$=VyJVPE s%yTAyR)C*MQcKZWX*`5|I/#[k,e$Y$ȳ?Idc |qȺYGE ' 'Y?K ;HWّd$1 M`QBe #!^ 2(dG2 ّgɼ۵1JXv ؑ,?F q' Q2@v^%b@Fxǎ 1J{ Q@gǎĤq?d% #<@vHK ;5YfA ;MΦN&I1`mq["dGB<݋AV E!;j䥐 ]H '@0Ș 4XmEgSxFO8oT?#֟8Kࣚ\"dѡ<eΏ ?B Q1mvTSAI4 p&$yϑ[>/EphiRH$cS&V5,)ѦnH+p=}zR=BdHin"AWm揖!1agJ3ŤPMA懘Ud).r%5'Py_:Qg1c+H/ |^+ω}ri0Z*XPPˠX#&Jzw"F*&GN8(*(~ .D%LUBM^?*ď'gޢu1kwc0cУr~=v&/Uo*c`1hO{1:#?]x(Ucx=_=vVQ =r2zaq Q5RoHyMBJǒ԰#$m*h l>`~'$!Ăjwu\jߌZQN5 !Q͋8A5W*;qY: u/ K6+قY}gΘ,<%NՒT38l!H {WPPecʕC,:cܼ>[t&Wk^R䫣/-gP_;[y#3 %]^8;,%/~n! ˜ճ{ Rh0Dw WPߖI]2ȋc/v+vXNRa>=~gztQGщvnp)0 mxP*ۜvl9ivB;)p_[޲a״糈|RuuV5G2@uu:,!xΪ4p[?A/)upFC@) ̈́~yQ"@Gj"Vp@fYӮ"P 4$2]A/!zTИبLI(X#?S7S:,䧭&П=Tlbzqb6W5ZIuXEEY+$®4}*%@' P')GMd-RDj`\Pֹ{0 Zf8dy 9$!Jkj+l/¤О-907KV.4zej+$ĹԤGcNy- IXBzћRY&R2;|TGr )`i'UYS xj /ÿmjaɣw ȝzx3 0[w!_lfn;,,#|-ORWڬYTkT2 Invdv| Q-T Zainc,*ԕ(| &M8}7 S4( 1WUt=V| M(qឦz,Ѽc [aHbQ~MH;qlk%!Xe&fE75s:ƃo᥏vIkkjE4ޡ[hsrQ"F*!)=$\[7, miD +ᥜ 7 |u::Pd­<ܪ04(ڍm)T%k؆a?ھR39=UU?e@bUN<>R Up\\j fuLp*J-SP}*ǀQ? ؁BXd8_jJ#>TKQTl=ރUwц.{٣6фy!~%ҳF !H;dJ|U#ʡY:z(t8WoHt룹as9d^u J%OV2\֥x@lG\QO!nE)A},|$2A<-S2MzlLMwE]= t(Zg6:Vh̳9ƔǜVj8#ll7#Emוp-Z,Klq2ېr]j[d.΢LԦҸxdnbgp9](MGnbo{V%VDr%*>Eaڼīv[z՞|g}ZOwx8Gn 8a)G;'~Cyn4Ehfܺ#-G|.o,VgLɺ:Q!`28]VĆP aMo[q2=6#ȒhTlNcudINԽ#[B Bun\—U&:`ޫ)g %Sqj_R[*tIm ^6*ڧ570Wٺ)D6jP /aBnVJU<-j>pLjBRorU5*;A0,g} mOYEw<8i N%4'i>3b:.L @.)M E*%0 Kb-ONFgQ,<eT1H<7 X Xe8Ah]OM,HH7Znbm_eE0^_ƴQ+ɿevozhT&La>Gu#}6g'sP[K#A(ĐY#x% T|'npN@Rzg䔶Z3DM{SlE%A\69IWST԰hjH0#o,]ZO NlEVH~MD_7 sy$1e''-\ o7廒B@E^v5712TI7{ޞk/M7s|$By_3.oڱ g-$iyOdH˘9js Յ66jЗPݑcmeTRYY!VՇ`y>M#[\A?T*}`kzWW?J\7-q"}&T$VjO@R b հ|% ] tW{eTjw1,u,Eا(vP~UiLbwơVDV|Z'є=FcVdq^בM9XK?5KTd4_,qpf~ƅtlS JqgjKR=}ֈXH& SH! )fWc0#=9)M$烵)+0XLȄv .4d(X0S %W[GnXt[f={k7R1P@ug꺅!j؃>v?ȥlS (C=Xߞ wv < g*Ve#{v"5Xʵ- * ,)e`4oN9 F/^``q%R/"vu ϐ<1c)UU>_Q( Tq5}e(T4r+tXm+4EQM0:Tt{prgoQgQy^&_L5kgj+BCzz5x; @AgC/p/~AA6`ṅ~B)]23zZ/dn0_ q_{q^TT]ecXEO%* w?2X*oL`=Vy##;aU!;7$yɴ՝䱊%RmwJ届%o,{%or.* \/CB1* wb';bG5,b *ɋ*VѼbGe-Vl?ybutwMA.V3X XiX'U>b5I8l ,(b zb|cLE7F%bJ>jռzf4vqY]tE`Y)*~aǪab79z3ftkwF aY 6af⵪P7DX:鹟6ԎVB[E|:OHd6hǫa9hFч(aYA4% .R EjYE݀aUc1Ց{fW`$0*PA;FnhSXlʺB-Vė-ƽU[lVOXE |9ۜ\6-X|y/_p ғUS"=.b!p;`hIYc{BO%^)w,U<%}~wUj$F4s"x O;`lGˤGq2vi&Adv bK 7Ntf? 7*RmH=TxKL$jExj0:W4jӚY5 &]N|QuE) uQBNb'Y={w$=kg?`D1*&,UT:TUbFԶbXWM4&?=fܼl~_`Cm;ԥ9|]ztvWi~ #=\oƭh $QY!gQWȇǻQUG%wt_z.lz"}t1[ oAÈ#8 (kڕKz*aX7M-Vi>ӟ&ZwG/ieӘ1DndVB k<~&ᒆ[RfmZ/lvJYJ%U\ynDJ]M`UJDzCZ*|"ɲ[@xq5KM`|]sg*$ @#km}kj=Z+즺;UT3aX7S*Fm!l0#&, h:,Í an]sֈMe6 Z/Be׎hYV$>dza4Ii>U A,=ꖸ{wZE"l]Oj []Far]_oP3JCA]r}+PLLO7׮]8a Dqy2}w}&y`=;N[%7ň]i؞}8Z2z*nTLy: {ÞUH)r^YffOHwfK%\E&_EVjLKu4OUB6iRtG}PJF}a"Ԥ/z垵龜j30w#棼vsi1χ(g 'uR+S}~7QZ¸.(ۣ,aW9^nx>nebclx^B3%W<CV5&A^ǽ>^[*w G(hn85AΔKb#.b0C5=Cz|H᪎E%Vˌ) JrZrGq:'k4L>y+~F7kY!hj/~]7mL罶(0Y[a{JĐU&.& $l\]T06ٽޓm$h2AkuODfaGR?!dKÓGZ&5͛WFMgLC Q>_E"9*+ko,=ŎȪbGW[]]Mg`p\W4Ou1hL~>C{vv8GeWmLFOu"MBljSA߱.u2j޷[SIAHI@湎-,/ +e3ұC@X#El'iyJ!X;$#Ig;l0{]@k W4Jz_i)I/e W`D/01vuLH̬K7ɺF3B7P$odŌՏO7(m3`[. )dX:=ާ tj6LAdy&7#9;ߪQvTRKL-PsAd) VrM]=D6Li֮o'bf!:J48yT N5yXi;}_*pM=?'@8[3۷'{]kꁒ~a+*Zvw{R,St5HCi:kjm a Z7vH [Ep&9\g**wC'Tlje0/YfS7]n8nm?GiwqpEN%|95Tl^˕mv`p9,:)06M¶Лh}ebZb"2{$rZ.@BjLzeJx eF =˭Ҥ^Š K94r#۸ݦVNaטL^رCs1SH~#"F RK\#v sNBm`rȺ9Yn'[y۞kW۴ 4-bXrNwOvIԕ-XFZv4jQQ!GYabd 5.tjgb hfv:!s`3fz*6MMkdeJ3oY FNK7 %yg{k}Ț8Ӷ vLV:S45bTE`QHF7ZE1Z.M"1[3l YG &yHhi q9l=QQU$2t2wf֦ؒ ;15f]w c!bk !A*yZ|5Ϧՠل*Ht|!jِS}na2f(uV`15;BJf瞆ٍ*J>^O $ys:et/)Q} 99GlJ.jM"_ߏ^g3NJ0sfKT_l^Q~b@^:䥟EhxZ\u"hK _ jy.+|4.ìM$ݷ8Eru7j4Gp#Ŀ r Ydw4ح䁸[vTsL'n(Ni,:b :őM;0u Hc.cR%]avG&{r3b\1D gGbS1V!X ؏ *op~dVy gCbU{g,ϝk<;&Ϳ [BcKZegcKZeZŒwV!?y!yk"cK2X<g,L#Gv@,e &@li2d*9KQc[e GHeC3=3>CGk3];}-N"@iAߣxj5`rx\R] RyZbwH-Zi"o^EiEޡx%y\B] ByQZbw(-eEOiSӨq9͆n ahuoXʛ5߬{4h. pkBa. 6>f-u=k\  "Voj۰c\n`Y?P$m[ݪtI..&m34-+]1x%{a+bؙ}ݵyǴRl 1D*ٚ'Sdž$Hk]9w$Ń%me $jZfsv-s#jA^wfn1pqg4ۮ %LjFM/}!AVU^RZ5جNqE$E6E3 $+kaN֎<sv3wt[Kt4Fz`rۜFN?a^ = T=4ce{m'g.aBVi̦\‘cͼbNO)zaa2ݕwa 6;^P ˼/KPpJI#[)yiUv9^k+6"BR='hTV%ߘ5<vFRm/\0 v19gnaZN؋b:sV F|xA'Pj*nDJ>$=~\ơSCM8\ JV?#DZ)=hp35y3a#g[| [Șܸ`XMl1;p5F YBϼF&<|:o#g49eٖqdkh7()R2h?tuq=RȻ}i$,]C = "իh2K!D1r*1mReN@j YHUK{ՈFILNһijڱT0VvG5'skL2頎 WUBw|fĄ8/Gs*Q͓ 4&, 7#=_ ,,贃d&`Xh!X-K#^cnub!u["\զn5a0E:xq}< %&F[Q]2]XVd=x 5y AJm偝='\L9o0ķʎW=? Ә UT^̦2h5G[P*ҝ0IT\eJ=*DKt=ŝ3<ɬ=+1:gim9[5B8m;15=@s,ҵS_R+5-CLAP?x)40B'9.0CS#LQ~ЖJSTr\_QͶ[Q jX5:`eI%:&L5 |`Q=YTtZH-O6 L8G "WL+ʔ'v>^FIU rS^S s9z:HHQUBSkk7*b%bIs"QLjil"Rep.x+24Q4ttl۵ᦓmGqg6nZʎxSDy\"~ SM$PKyaMl-%_ߟIfbbAZ2KH^?,3(j7!H]9lGk7,?W^dry\#m<Y+EޠHZy-EeJ]sL [u_JӤ*JWs* =/XX,`hEtL4MKZ5ru?-0Դ|hT;cmZa!a,f̈#AKUc7]9c^l r6R% i* ȶIL^Dg|MHep2訇N}!bii($tzHCkrUZg/>7z Kv?}_?\>ސA ?!ѣsLwz赀#I78R!e否݇J %wo $=A ΞϽf{Mi$=B$>HH0k|Z9BraUr>FpP^|Z%H(UOB\] Jp[Bry(w7x(wKDADyL*gU.JpQ^|õSbwS[O=%;lwJým0w|^+p.!%>!嘈aPM\˕q-ME\exGW;<?os߆mu;1$ϐқ|N =):2'/" H X}k9,L&Oh+<vͭ0ŪSك6T۪s`OztX1һ+|@8"%3=0/zJС[aBЌM4 kUod(v/$>5a;n6pBIr*ZKxmuѐW"(U90g L_5֑d*})l+ŋ%["^?Ґ*9`Ln#qNUG2GmF5V=*BR3DPBkʸ ~3%\:XD@>/!szLjNmq]Hnz ҃#+q$Mܺ;8WQ*4WZ! Sv'?b/.'+#3=tO;+)L, /Ys6 UC3K[y)NVڡPIMƎ. S&جU$ YZE U2Q,B_†G s];L &Qf'48|yMJ!2rky%ビ{/!^% H1B0a8B*b1Df׫V=ű)\AǨ6Ϊϸ{,+r&)x% Mƈ[miyjcwOzK׺VBZ#1tWlR" F˒цz/e؏pxZ\]'jw ySZ inNуb^Ь޳^Tar4HC9#9'u"u˹1L7X -=Sjuc95붻75,5]Yf|KU\R%@7 уa$]5GœsF>g29S%jќ &yur ]"˦a|fwD+`p> 8"U;lYp+l14p] lhh<8U/JfL) c9aesbx2rGA7$%(0(1Ya !@%L_,scK*#ޏTi3l)A#Ov#mʜ` =Mgz"=Gh(]pYEvM5\M-MwXDyԖlqb̙ۍ_/p? Xm(gَzP[VflKbkX mSHnx$³S6] ]GaZk@c%kG5#̂1(8B)˿4}$y{3uhR)nelXtSݳOM6zͥɦmE2ʎ=x]kx^U tqbum1Q*Gdel1[Ѯ1++N|w$N @5UWB df9PKxaVvׄ[U [pZl([?o$D*j6wI/: e}fme7pNHFFLC{LtnLNe# '!5p>wi%,/l<0L"Ţfa~7ZhLʋ񂕛q*A(s\Q\{>_2 cGbLjw%os*JG5X%$Zcڋ(#+Z^$pYE`|.b;05X"+\Ē/ >XfXoj~]4؆>ܺ -:vϖ%ϊ:!|MFgt2@ȉASet=;c6Y̫љ5ѹ!DVR29jqp`x$98Vy!z$blf\3" WuHiifH6U6L0f6!_7eWUTY\@\gY_OEf1! 7Nӆ_^{6v K11ð"W94HSpcnMv1=K&B^fq׏gQGzh0Zhi%U$PfT|1sz#x8{ %B+>cch[fBIT6"yw̒37|v_ Ś1^?w;ao1HF\Q5-RTxGnKfؖ3 "ɉD4m)9>rrcqL+NJ?q3(gGc:PN%sSD[@{}-$&Ň2IjE,%vʹDns(Z#G2Րu?}tf/QgQqYAQJRO@w3"TA45S]n4}SF6>ҺJ(vu&LgO5&d.В*`@B D(2:oVE-z3]BƍbfWvhic4GT6PB`#N)FqY^JwLI2~}Uc^KRF$U@RnjA}g{.CXw,z[iq峋jnbJACY8Q( h"n$)2Tթd+%8ZQBeVLi4l5ǺxHP,a ˬxZ &v,`aoMh3&kmW*`x<b:$է cf BE"/ZOhΥXf4 ~ix-I^Ɋ˙ &$CHЌ9YVcb0ϷB涢4AVֲFh^蒒C%asShYeReB8,7nA{L{QgͣYfW})S}2z4G[${bkpb̆//P(7/JABkF.+Kf׶skk|b.OH8WRWp'=LrW+mlfD5>J{>1ꜱ’&_R#MBR:e;ˏ>!y@ ,wGʄ.WX]gmգ'|ԣ߮NYq4ųms,?Sv gަ^@i{ m 34Kvz{D&ZW ,i2˸1$zx˳*]1p~8nR^E~9mw96 G9*x7;>ӈhn[pv'ԏAM2W1fXGVt]FZK9 w^N5 gGCwUdY ?%rΉOqC537P-VݟqD*;瑵nI kR1$0-3xf&JԺ!iazNݺT4FDUn)g`@+7~" M6@s# yF8Le=- k52581lqc1e#P)nv=`5-hdA]ú#2#-qh :rC*Ea'HEL9>"~l֪уX YEBN=zj zDs45=Mn58A(Z}d5M|ҝxfJsj*%JDͯzsJփ틴oO% b;p$DD@Uv0FQh3YN 60X-iWJAk+RPWzP=J1ݗho1:rd66#:^ ScB(ΌfX,JtaHaRkđ#=ƹjWԡ!8Sx!:E jd :V\5l)|h5| mBy[1,8:eLG8esvt2:R 6Hu8!rY;}GnYE "z-3,lk<e YI#Sߤ ;ym#3{`/yZu`ukRͱs2} 49,ThSEp]AlpcqĝL$9m "[GZdW2!6;-2߁[PsLGaT7݋6:K3(^lW"Gx{͡ߎLB),5YV [:QNvG/gu*6t DڊMR3g(rJLPsd #F&6.zL-{&"}53vvf$.^top}mFإ-ֺ%ȼkPM<"FAm1d6kr$oëP"Q2u3P9lQ\2QjC/TcB '>0ֳA *3" ]Bɚ=?$~mmnJY8oh1םG#2ʠ7h s㦀 c'f X5fT=ln)K?K[V4 ōme+ɬ>V1W\R<!i @{OvlAPzYbS4 RY֏U>|/E.@ͬl$)]U9STQC3bȨ gbJ8mdȾfr`s䈮a$LW74e~02Cm7]~׋**7C:в  -䋸 ~3ZJs # @F}Q>jLZD1^˸0#,8樲mQagtdf`?˞6FJ k&־!NrrfC-R[׽v0t F7c 2Io|GX"֦pUZ5{w3bBZ!Fsv]Fm5%Pޛ%f+uN/^שj-(R)ɧ]3hei*9F #l.]itْI#4̮EĽ 떜g2b[:ZiH̍xВQ"b13 a$҈PȤ89PvzpšYÚ/Q6b!uI`b<yOEA9|@{E~95"V(KS?[?o`"u됣x}QA_g*?K@8#Ok ?.?`y`ƿ@p~I G1@:xW/w-NO.-f}OO{!y88 6v4'A'ٞ?_yݯmTmx+RnrV>g$ş]b.Xn NoK:RK_x~@w+~} ka Ǡ8T >|,1y /vGA[W>#S 7?x]PhvG@{|KGckXyo&IjND| tM&(~|c&' J^{h- [-+ĦPHH<呸RKLdkvqLNxb&ϡ[d[4l*]ڣn, B(b+2vfQbͣZR 73fR_ =: ISYtAoe5.Hl)JAX2\dߢ zTJǭ. _v SYLb$oZOT5_Z9"sT xuظϿT!fxESJm!ɻ6AZ  q?rr=zn>EWCtl 9k/bJ z~o%`qz5Ww˵Ox J3v#yP]y+B0A{T%-6ivh-9;RdX*u}Q%p[mX U'lեZ+t_^5y/[쳔]k 5M+`}mO)U5q 2C'F$,1V36f@J Z(M Zfܧb~\LS+V9FԠIzE)q]3KJ,CgzI &!/g>Ed,7HʨX8ŏd} )++Lje[VFRҐ MJGs,Dؐv`E|'힚2FFJo =۲ʀE¦х-ۈPc+kٟPNTH G_ ՜!|OH?8ys4K+]upSK`KaCI h&mg$OЩPW f:]Kqk]X?{2Hh?6(uk@RxījG.KИNàی].8N)!.ǞBgE e..afkTHD@\++)IF1+71gwM/Y Eѷn,gMu/ӓЀ;a_JoCrP$LF`^You+SJ:gemHg;9Vk\׽I?.:YÏR7&=F?r3MԊ==!m M*] :\6hq*A,XEuUq ,"b^҉01Z&Q Gm1QMD5ZX*E)te, kL/Ⱥ ^c3Hwİ1IY`ᥘN2ռ]Rּf}n783GG(iwr6Y"ZCߔ= iLzG E,#gAc{{[n+1J^!\&=,O0p=檯!JJtQ܊r݋/g֜Zkvm#ҩ0!g !0&(M ѕ2d7Cت0Lan3嗳3:"ӌqi7HzP黛 9[$LZ=n(cPV;~rW{Bw$"7~ bAc_gm)iv1BŶ[]Z{[:.<FFWv g+]G>ST N `Y $願ݡb,PFO*޿f+,m4)¡aupv3K1RtX(U z;gv|{2D#~<ǧx=)a}k)~W5qpk?R盞lPP`h<ta {ͼ>fŏX~k&+gI3qn`#UAHCb(G , ]@.Y ]Y:yz{D>S q a=U#L`+K L*Jk$9z KPons,S\W>{?ȗ6B24=lئ~ :429)HuyJu CIeY~{^qd4揀pU`eEO3ߢ`Z SGѵ鱄;9n)P\ ǽrQC< VЩA]QS.}!C[BTINu nя >p_B'izW$1eɖoo;:[qۡ5-SsJVςs-d8h{ۧYV4@_SK_]s;@~&@.;M`p4LqnhZ.aQ4~d&A*O9]ͭ}tN(V l~ y[a1{ !\Nӱ"b*l`3i~FmJ5!6_j<'_'Ar߹wtš8q[zhj0l=b_f ӽ ؂43[7 f^f5dma4tI?̷mU[p]|a IeDWipu={MS^?)wc0)AojT s=SCS36/,ΟNufoT3?"jmߪ&CGf$NGs[)Bg M'ЭZfSu]N1ZoJ5JztyDW@g=%V85.ս=c*&8>ކ=j< k͘xS%>3l2bLY2$8ȓn_SR$u,UIT]ђݘ;v\bXdU f+Q 61#@ڌRpb ƛFz_vOA)FfLV8G[gf5\Y<)ҚW_(Yt[`[UOPLW@yn' YB-E3 h˃D^FJrztdw9 Rhş[u#VHo NNR7qĤfjmsYɪ;%{X@=[-AK(Z5Bv/zA-H&\\w +JB( u|`b X\@B -,hYFU?D®9Y gZ뱍@=fD]i;S-&[MxG!8bpVeTұya̕B$;n?|n4 ؔ}VjKS8{ :y)4%˃Kȃjk43x3,_O׃N=FY" t8 nRrz!;yX KŔt tQk%^\5KMg~fGG+@,0L_A,GpFJ)3^~zx*#"+!rC]\wJ%d_bqGN8.+:1Y_s"ߪK-`ҧ i^EU,"5)2qL쎇rR2 dސRXJeZ%K5Њcq ΗR,8Pv9.2C 'CHN"K@)hϤs_6YBWm4X}sgKPeq.SltsMDG4gФ'>([ۧYPJf"2}T. Č4rSs|QL Ae.xΆrgԧq)cDžjcYFr1{9*)~QSaEoTuq6,u(]ȗsoKPgqis=YII)EiӁ 動iU/*ɛXTAg[]  :#ܙўXsV~ڴ^fVXv ^_yBGéK%ۜLrɰO*5rPH`pS"u!i?Ccꬴb/Q,U"B[gS9r) 1ʩ5ڊMJo3J;kr #J<'bQW=J.xO]1s@-,U,J3,ڔ;D8 Y%iKwZ䌦C<C1aGޗ!M?aR9~v#v G#Fص'kO8b?a.qP't&׽W>ؤBdpݛ'p6I7' 6'TM6'~#ʿz}Q4D1.{QlWbW84Qf5?D1(V(VAמ7Q+;Y"Q+&լ9Q+u^D1(VM([Q+ىL篂)ƕeNM`qEt3z>) Sg]d1Sz fQ,7[9E~P~Y'૟3u+P^Vin7*YBעV%1U+ev!:MӖjv\OW⯦sRe[Ѫg+ZZJ]Yf6a(a$R3vC$8= Hڥk.7CIWVݠjf$~fYrPX͒{b5k2t1nrػ}Dyv.2M;rbe=vQ Џ| UH߯b|CJGMҾbV OŸC̳{1+*ԏ]ly$Y^9w2 4mX¾T8A6R^^*|o\ dp30o'9|g}#Jb7ZCf˽2<0[^nȾfU!v,gxx[A!P4xEA'W''IbW(\oP} Et(prLN)5L`C'Uh͊d"-2 Q {o,)pH0V Qvv$.$aze ^fCY!-Xf.Vg$:I oBƵ+ME?2ZGq^YƬFi6M7+[␝[! VR;X30u^9+S4~ Лs薮|&#{/*s/n,Oz^g1 cB> "~]v;&P+ xPhO&Yiwkxd.Z/V+֐L/_Wkt|_R>9M+7h^3uhA抅m+۷bsU#D׊hI%ᮉnM HA o M-UiX26$K<"x]9^~0.٦s#M2Ըv+Zة׏|ծߍOȐۧw.(Zz\&VvFJd˩2$R1lY~c}gsǩ4,l~wy|~?. e0;}d!c jk#=UCO*MIueqb5hREr 4jFMB?*E1Q@E=n9>tšA|OY< [*jV4dH!@y"\BhUQBS-*%z6d0T3[0CQW!qSTe8b5 -.$/?x+ Bʮc$Էaci< 2!o(#V̀6RhbN,'0 V8Tb2FT % ɳT9qⱢ%-KjQ":")DsZ"]WY-HEu{`^X&vj Vz9pAL{yKq  W?sОNߞ$MtJ˦LAfZYOP(Hƾдo[$EIpt1萦≑17\vR4YH~'xM,OuD͝pq(ʇG5z(q0h=UGAY=0u rX3K=P@9V=~2 }i2xox0wMOEhum5-Ch¢a,:;WQ;yu& Ki{yNSRNgtzBHc(nXԴ .[h4̖AAzӜ&m5)r6`^GҏV1^jtv 12O!,g1;ã9/Z&4XV!pV;( `lPÕT; q>\5Z\άjF T'=l j$BBg"ynq X[MVdۋxTq{uxE*lwG:_"ŝY[O}oԡD_XicHX~|;t)X&?9*"D5֛# %6B?qw4cZت[Ŭ94FhmNf.9Xb8+yWp}3TL5-QVACjT}cHʗ L4uLuNQ?6wqMM 3 ד5Ryy_AXVJ.m_.Q!XJe}TFޤ Ns@j3|e[euaGR鲔n pι% <6xR`bNZBJlUmW+W+pn(ʔXߟ`]T{h=I$xc|~q~Į]>d]|vp%vo'KOس'ƾnN4m^| mO6n+lpm6iɓ&&&^xcqعIsZT`5i5FT-rEma+CJ-=ug[@9*PSљԊu#^YQ;;@f67= @*:ZYHRÔITơ0jOC`"4%Hœ)D.|9K.:.,wu]J\ ԯJ\0Ͷqx~f}s $ҍ3`aWM뤷F+[H,_ W?oZ A-3ZKlrX-gh-a&ZbCj9|@j&%6MJKlIMFKl %69oYbO,ɡM>h=>`T(Lyf{!:^|yChl視x ߼!6ڍV{'z9.g-rV> ]YyZZJBMrV>///yFgg]q9+3V8=F+4<:Y],("']yPA Ĩ&\Ei,S C ¢\YMNN]U<$[Zg^7* zeϏCI5L AHY_^ѹfm|ƒ:Ԗ@MiQRuOb,MTߜJ2E#wl $CY.UJ큹I&B1VzJDKPs.Uv$3:Rq%+'zx`,Ś2z@F8(M´HƖ2)̪:Q|hi5r6T +p:yCv!u]cy\~%>( 6&bGp =a*G`;B!f("*Ew rKiFjcK"S~z,.+9%bY`Y΃xO&dN%(A%98Ĥ" &SԑoU]DJᨬ䗠BE9)HdM4pM\lwoW鏦UN5'zdb0L[B g hq<'[gl1Q۬KeujVlNm. )UPBjv'B찳rkw+dھ{qN? Z CgW\/c G*n!IJ͌QFC - c\&l| v&D7;s*1rZ5fc@3as3iێCt;yl܎fv;5z3S a)3(x#wuE(ݼG Dw=SQn YXLOREļyL p3VI]>۴ d2WM%2~z=ƇubcW'2,Â2t(ƈO}k0T:^&X‘I삯TzfCo;RgK)*SCTONWB͠{ۀ g`fډN_ѡmh<Р:!ّc- y#TA4: [mLw[s~dzNxۢ(>dG,)"Rv!,gmF\p[ M #߸'KЋ4@~F=%gjV4|G_Jy pc]ausKaTզMLqdz Ag`Gy|]k4S}< Eb<*"fsӡ)<[`RE_ap(+c> :F}X<ѹͨrqEPSxX-Lٍ!#~_miAAגwiR (ev.>H`M̐ +p18N!'r@_\ ZC3}TAy_ 9&d5[b>q5n w: Աi $+ZRԠ6\9OfvT$)4sn,k%+OQKtlްa;lIFN.Jd}i3ڐx>+|nخ$]mm'j<‡g0]?ج|N0%(#iWduB 6'%-g6Zݦv:LLIN4$ ݖ>T,274]+qpu%8^>PKT8;a*1IedwW34nV7( "0Sr"pYt8`aL-Pv8x{64kDc>I8.xmg`mG]=5^jD@1)KCGY!{j I HRÞ5ҵ95pW\.C)9CNv c[ $q>J `|Rgqo` ԉH(1ht"Cax+(QI'qHln?R3V?t7-񞫁##\|G'cv.?v AoB? 92%<-9 6I#-ڒaHÔXEIC>ɠ<$Vdv} {1kH2eL0*LYUc/O}$5XBz Bo9991|/Aٴk(0&BI1ד?}97N:cf:`rϪV $=MtlGS"-9n#&wraBK& t *9̈K~4X+]gr= ݤu*έƷYRE}k`FZkD-8L Na=ٵ5Q#ψ@8mMaQ:4ݑBS㐚%Z>qH趖r+N!j` T%g})**qQ/v T^PK }LRmx:igF%ZzAlŧ9<祁Ϩ6*ɭ ?z:p  Y;sq'&١РV=v}dh̘+Vk+y 0@'*Q 'L%zqCmh,wZRFESb.r, y=tQ_+aAp ê <+RZ\pT{-CS9%;T=̲-|5c7-q&e{定`0vx!-`r5]a`T0 {әK=|X`K#ifɾ1uU9}aDQp˲NM8c'l_̟"&OUPozƻ-vo.OY~RW,@,p,rpny, Zx1dԕ ##.OʳTĕg,?y+&LVM>d<|@cIZ9|biyJ:ZlobMbkmR|IlɵW>ل%ߛxM(m+,sIXTGv2 ýgpŕQ#+z ָQ@vR=%%PP$u^dU>V, 4]̕*ʽ"0ܓ~)$zDtqqY^'P0J$ ,,t^ݎOo: F=?Ym2h'! >,  wH}}Au*=CB4̌BWK\ &HLhi]HgQc`:*롳h|=|BA8Y>KCG泰v䡳P#-N:hl+_EUY(rΔ+,\-g&տY(NDYG"$v-#)-D]ε.3,jOZ>Tv8g&\E 딐ѢE5kx_| >JYJ0}5 Yߗ-|5;ng7gWfԢߔzr1ZX&Y7Ʀ\JYk:uUvho#JlZ؜ZQwMr%bLL !ߌ2$D5D[ڕF ko%lh2Ch_ $<EYY1'#Y|/,Qtbc%;뢴p3qCS1bW ap4{Aa`yd|K.Z^OzƇ"7.V vxV=~Ȱ_?lˆ֢1$UnޗM7ZYTK3v]oZ ۇDPb S>h-|5Ŵ)i調drr.ijilRqy`4ZtS1$YMHY|׫Z MPQ()PH sT×8tNp s@hҠNU"0#&}3'6?)=FDZP-!*HC j #_ lZEm) '- z- 3p#'6-'Q EێY#XUxD[^/Ao9?d&3o,$0v ҙBQnv }-ԇ܂>alBa}`* <ṧ=bzJO$0Ӊ(_>3ajP./ ~s-CnM +(+.j;yf?[`Q;pZIa24! In"b+)Mf|11LpnPB2/nbRܜ/z %OݡTQbZ|/<^ |~'j̬ϽMbvA䖆Ysw&1'YeOxCn!䉏< |TI긨-u-/W"a'M96\)qm=/H%>/^Y_gh*<"^+MQx,?@ȥ-فAKsiC濕+DRlʆP}@AmQc;5]N6z~ wW@fMEIW䭠Y`+p[\8CfSfMQ{-jj g5pJP[/7f2*|-¤W}md0nƐUq[qu-0UE%ݢny[8-eLMߕu[aH$Tu[˟f@%2[tn;k릶,Pm(ڂFqn߾.f =1TկقjIs;NtlA[݇Q1h>nf ԛ2|- kPttq i[PhΟƖ~Clpע.-8Y,6f| xx-b8ܼzכ֢MkaŗN&_xB(>L%+o==]x-lqqft[+<ĖWv2N:L,I*E;=Cukq6G`;Jw* b'r . jbT0 ]ܖȟt{FN&B}|xRZ 6ʑJX,;xHr*/S1MW&}1A@Zb-<` p/^7^klW11AFă^y'8J\x]ʔu╏v!2ݻx]& \p-ed@,| 4ym lC&&lDkXɇ;p ЬegV0eDL2 .Rh 4L+P+C'VnAEnܻ\ J#3N;3xqW2,? .zZaA-'̖%'qG߫ ]rq \CV:eḢA^ 4VhrZ 4^+ng]Y+|3dRiVXoϹ>:}`˻Uo1| IkZ ̘VRX Һ/Ь{rt/2[|Eg'id鹢9헷 0r"a=ۛ2= =ĿrPf-n6a 7 F>vm=UݹfW˲yx#Md ˈFxx v;6/a3]M#yt=Kaib+2fk9kaH:;sл9k ՞*Jz_+DtxpСfRÕAJ r;{kskjGrS1uQ1sXr=#"Aks\IK;^֙ڕ>j W^6J*{ñ<"dP(K\1ž[1>+xvX]!>;SMZ\aɥ(VvZ,L|";,نf¾V4ˋe38r0Zaţ[+,2uhKSl[طϐ|pr_2=K=*0ZkA[;Pm@ M+p iW+p+xg=Wd\N#390HK+9)IN;#1HxBu9[r6ɥÌ _(ggp{Wh #y rA*٤d~t.e>k_!Dqr񲡔Sbl.S֦zvm)XB.b`G\XvYXiEn$wB!zp `.UnJp [c Ye G g]cWfl84}?ꯕqo|QTC; rsd]ꎁZDȜ6 yv~dߟq:v9fQ&,U1@a%%{So!@ݴZ6[+^FSy+~U!(h[ZU@\s7 ggߗIb۰˫=b0nN29Q'tl?Z`'V'mRDxe>0Z3l@ iћ֔/ 7=Bv|Foj۱3Xܘ^N말m$RG3;dq~'8̹(N3gwx:l\2VB9Ejܜ)>XeJpCacsU8\IWgXoGޠtioe/5"wUt">A^DVZ2$K*IuoG}إiA0+0uy0dW1YxNǗ?7 zwj"M69Twh17KkrI#3k u_geŰ6< vڸ〔]O>-VpJLH S#w2,_`VhphU/2[/S˕,49@Q_@W3,ZKq50]T*R~ CΏ7{*mL >p4b9"ΦV~h-2*+Н 6[2 L&~᭍ی{8cm$qdl,+w;IWD3/6VZػĚ󌄚o-4c >îaKAE.J۶H0lEEHadJqzOV>m+bPD^ ,Ԫw?-F&;=WQK=%#]atHvhyCyo:6`~XH 6#D yJz.c ?nc6c8cљˀᔼA~ԡ=>$WzVûw 5av\>UZT@rU:F!o]B!D+lf :+,seʁzGKytY/l9U;|zߥߝ,۽s1%Xߜ.Gg Hr#\mUeˋ^LDŽ~I0Hr{N[xNj-!. rQ#g̓㰺/,;3CEkT9OpFA g2ޗ|3 #{f9&72RzW5LUŊ5V|k`O=:笛3G↌]uP27 LUD%H@9x, .daÅ3ŊI?IpyeT˭^Ҭz-j7 L-k;>ZpM;~Pw*-dZ\м}- ߰QQUG$Teql1#PˍܗZ{̢{;- 댢+f] }s;Mr" "xLy꜃ 0&l%dT aO[ w!To Db H{ `nCŅ~:xP,Q~_0`{32r~h$Og7\{١V_eߪ\Bݱs&&1In.J c$2옅yaE Jx"73ԻY㤿T|yu,X䌽ƚMʎYodnˌ8XcuKR((ngMq8I87ômߛ>ÃzHl]+%WJyoGűv!G3"OwpK[w,1GRT*3c"w`;Y[V  0Bdq'hEW vŽkSష0ۮ9*M;|vpERF٨:壖h ;ӪvlârGm$;(:21ߵNH>)k3SN-;g^=¥evA,vr D׹,Gșwm*9E^^8s9I0Ծm#bC?+R4n.=bLlKy~ YEZ=̊&>$*wXh Tʄ19Y`ݘ]kPMHytMm$KZ)'0yE@amE醴&QV__î(\.Zɯ)z9Cʣr0jX9tѢ}>rm#+z` or0orY!78i+/^rǍ*[*(T9VǍ*uPc|Pc.݆-w bf] ӚN_UZk&^<%vhV)ޝZvMShS#c y]\4PͰ,!V2:^+,yPF{&uy:쪑CrB ήl>xu=Xf]r>m F\Gvk\XN,;`PNVa}~JI)e;:RúE7Ty9!o#jW*_ESBʷ_S e:*KZ2JlWk3$mEc]Ch\wWw#`"sGB9A9x @_MQؿ$Hbaیk/Ԣ`*#!#P۬WDCSUcyEE*ݖߧig);͡N-r<jl_w3?QCT>OW.ES}FO r%i6PZCX&U70KWDNۤq>G56RZ-LKBقd]! Ww>#H^ke,GSöUZ9)*NA9~KR,[ӽGg\Msk*x`SubzRbj%i06a-M;.sqe ["ܭ.=*8M#j[J_ w#'/Dbj4|6ǷNcL>S~W<9Mw~^yx@ Og-F",kOfaK[qgäK`|#WA8X2mn~Z1kt@[dT2XOF &$xBk^+F] iߘ?v]]HB @XjLF8Nȼ2% @.tCMDav}RJ=h'AzT=yvX48M Pa+af^?*E)1@]97?IZrFq" d)  ],ܵZ6D:zS1#DD=b:Do!1b_7u\8^)٬?Њ}yκ;80B$ 0l)?X)E(CncT!dX1li;b%>KPSs~?VY\z _ݬY8k<S꾚e2TN[ņ~ ? n?)lATbkI5ʪ R\K[NESP.)l A˲) |Xubd\@`FZ!7sjPma~ @w"* ݫk'2Oz-~Hx;8puH U1 ú,zaw|qrP˚R $;mGkPܞ{Y1tm^!ùh&#9TTy" zak1֞~ո  Udo YQl#9 #>,C}â.pƿ,߼O2?Ȱ'f5Z-S.7ÕIZA ;C,` [?SPη*.pȝ`ݜ'@"xuh)`ծVyB3{1cD@j1EJ0fgywyHՒN38j\LQFpY0b7Jv">weI&r9!=\}J5"IP!Ap^ٺbe.Bz) a/V99Lcɧw<] sK\"nnvg]G$c_Vo-nA ߞ5YjgBv]Bkj}gR8NZ%eZR3g>gRb#dULpz2#4C;;~k%?W""$;_'BihukVL񔊠7O럃sVYZئ;Ћ1(x gXYxU^;JX0?K,x~ĥ}V/g}0kFMw A~S2Th+!PrK Z+$VF84L![1&=5y-D:F\o6a5')QxfkD g4a3!rH+#٦O,~<:wLI# e#?,+6y\/}Lnѹ+ŞI8sn{.nNEe4ݟ b*5S˄3B28DeB604"wnQG*R|;@D0=A2,p]_I2qՓ߂qMP@DoC}Б,(J=ǂv,4Ԍ|cdh:4}g‡cS:ir'7eQ!"s><~r;cV -Ր`2 #:nIe8Jř- u*Aȑ^oNư.+nΠ6J&xKsl;ꦔOBTWGoIcCj˷R/f~+'.-"aVt]btX"<]4ϐql%guV@XBt6/DJO6Y."!](X-AbOTY !(:˺M?6 ɚK1xB/H5+x$FpH2W`!.<o|o_|: 1vtb~tO H8@)G4^%Q,բu/-.tuÛW4%~|OaluW4=Co_Z? KC"?}QJοgĿ} /}9>o}1*/+0ل &&Wu>2g_!>UkjfPɉe^I%匮̕Pڒ֠eWz,R79<3ɻ0RJ &VCOeB-gD29Dڭ,U@2 JHQKIYzE *jm04Z7Q l k6RThq^ßar|Gqy.:l&+qY- LVYR YlE+ߨ6 j_[,UtXo*Y@ #Ž2һ7zVbUTE հusuHR i޸ :|-lpnqE5VpQYM3#3N㎣F5Vq4٘ߣqo^g/Ȩ[n╥ WSEtW `YV,:GWA\3`[GA4㴈unᭊ8D*a( 8"] &|^ ՈƸ$Bkx%J #SMWEeZ*F*T).Q:B31j4i`< {6 +UӱiwMl"%=.0ha3q/YqfVTZՇ{/G5~_mI ǫ^XƭbAG6# .XHFhU}6wtbL e 5^C`lau7Ƅlz]: "7wsZLd@ bp$օpLYyoBE-uPQ+gCdpoFercd j YXyoi|,1-;/vqX?>+o_ [R.QroBD|wۻPaUҟ7 '{%d9&Z]\˳=]D0k2{ᝤ$uu5eeb[5AZX6}٠ǝ7wAlGca̷ߕ @w׽ЗBw##x5+D))4qLOXccb}Y!ٖW +3+IgJo.)3P&tqjZFV*z̈́DlBet1ܓՈc.w md.&{; ΩYDJDCsQYnU^TkmR_#2^ƘӟRB^p uv5O\0C1 EGWC^tZKnA+Bxؙ"Ԥ "6T߇y]M/Ɠ+,DH\a@BDlU*R:)zdtR" %&(["(llJ&}T2+m#5Q`$} W,0;Rb WBxK +ӈ8U+8Y^1C8SGXNjC  5ˌ_XUW=5gඍgK'H!_ \XCKWTVeJjdotR[U^!3Sƺ¾j#$"TM,^4/WQp#ζe1~R,!D+dg43TI 'Vb3YI0:R@k3^iNYEY(!\a*! }а!w~ _hGG.~_]W%Wl4؈ Gv{  xȨu rm곣kEUfFc4S鉚s/_-a.ͱVWT8f8v䢪Aԕ&6Lx_YD18Y#:࿒WEU)Bw6$:QWDI =) 7\x#RVhC(4n'i.|aL zAU*7(5r-!aWD_,Ync]D5P)^*># aJӽ+ $ND꺥,Z/p@,™|vd5ҕOeMYAIU@3^eC[3ѣ" gTQh.FV\Տ-Dş(MlBª#*HW kQ1n0/U#`Gb۰]mOb]vE@NuyɱxHעO& 2vU]gTëL$"*:T9ZI10N|Ѻ5)#0pJMh)ZR)XS.[a| Uf YTpKf|3U]#\JyPd#flLLx^qXxd^w$]fDޚHN V4l4X'5%ʖbQ0qU3Oܯ@o/btRӲ%|$UC a"TQ^SN:&WqBNnj&N1B _!]dҍOdQϽ=Tc]a)&-pu*xS8j%|$$ApTO&Dz)dcc"@C>~|x"X#X-d:JN_›0UŠ2$`5M;,ge)kp>E*N"YL)4r0 nq-hN}Z {;-Ԛ\묨<h)A=ZJ,1Xְ hwJHl{kSmYЈ+6S8(H8Bd7SL-Vs51(Tߝ&~~ &ߧ~Y٨ՋQAch-'&3Xbc G5+@;Q?_Rx]"TQWȊ,5e=rT| 3Uׇ9΄c1nԫ jIn5Cf4As(?E7,M*;rpj$z98b*$9w8 s%gt(*Z16);*b>]&m_Psx2U-Y @I Q]ΰ;閻2і7 4Qoqi÷ {ןyW&.&Wk:W P5k~"MTh-aT{Dq9wgpڗD3껕tE[7T]6uG¤7}:U["ґE%0ig0D)6qZHM**Ss N:5&뷃H8ӊK)&]Ei5N?+"+8X1Ag t)M71?ܢq|r8axH$(U=Htb<3Vx(Փg]szݛNmKŘڌAg|[>Cp;#˜^2_iu"X$4ٚ2 J{O[.p`– Єi8+jF hx̀PP Er%nj 1` j=HO3-褨W<,\G:!J{[K$3鰟)ī@"tm I'vB'WfХYj>k"Z {ۋh؝|â*uLaOk9JKA_8)Z%(rѵwhr+cjz[r T#|q*e퐍+֪$;O2֫=Qs5k4ľ`7sb2v O:?Wtktk|ktktktk~άFtlɸzo o6=,dK$^l8ywl$)ERQ V U@rUP+d9 Q\ DjRSg U1v(@V zLd`k%3hĊخX?]i"C=!XQ(fղV=S eX5Ί3#(Ethn|LR:V\X0YI<,绷qN5@?:q/GrɸnWCu:63o NC+C%줟]C풚p[4CҲԜ9jczC<6?Zm褤zEoZ6氵"wC/(Zjex&r6yDMlM*JlM%x)x{!x&r6yAC& %6yBM l{J?Af3>Wʟka_qsB~~T;lE,2o~lζuaW攩~;=u[KK~˳Ҁ$<ѳgԒơ+}˝-D)OYk gpzz럮`L&pQ4U#&vg͒6%B:DrOcde,JU/DG2lʊJJJr!Qē`wbN|4u5m"(8ri2Rfe $HݼD0 NY DV*ۛI-Esze㻇e]ۢȑ|/=6%<6=ҌcU4?0naWr2L_P([VCltk[7oBS [ w[.!C3x˔9|А^1XK&,FCVUXHJ_mWFPPVLlĊi/DDW-Fx_ua_Ce1GC!ns%F VՐ| &fQn{ʭK$$HzDzImkЀ"!!A)ͤ;%ssphc-)=T=H ꧤ=`R/#fvYE*ǐxHo"nHP#4jӮ#;,M4+1rfg2v"63STu64!C$)8,E"NK`\| ͖ Qd =]B| Ytw{|P$vم\+[( E@\b1"Ϥlbri 5w w&љINq0|P3":?,$ mR:(W95`(8Xn'={Wţa 1 _?R`Xg݃"|ޏIN-%@ަ](lwLyʇv'C(^~Q{)LC>ppw{6S!G62;N9-F"rסaH:ixU]MVw-ARsC 9_y|~([ ż}Fᬝզ _E V\7@ úж[t5ӌ,ӑlђ&*`9R|ox95hǑYzx|u^mR^o %Ffv&!yrJJ=!@r1s=9WlIK扗=ܮ50ʅXe|5 %L%¶G(IR+#z+2W1-5S&krv~kX쥑%adv|z6$VALPOUM.<@@~eÇr.q/u9ûuOn_u'pA%bZ .h7  BK3kd> \ۙ9+ҹ?$n>A!4q*Ei!rw#Lsz\kOV+QDaH oMΕC'k:kN`G&{Jo! @^JW3NRqp}$MKjuIT 5=:&r31[)X3h8" x8G+0.`]FhnjAvI+#ibƧt1z?;F.C,bM7{gK&˂i֓%<ݷJZIՔ⏆VaP#M*G6{'mLrϔ&-5SYeA~r#:W(WPɁt$5t]I tgl4\vG9)c]ή:wM* 8@dJv15&*$s.# ZYbt%NHc:-r/Ȏ"@d)Yh*4'v; ]x4pX*.NG!i7PR}pY:-&1 cte ^+AB{tlOf'[.dz$\6? pn<'5XyWv8:өrvsXwҥjJ_S.U_%(1oI1]B[P' puK(Qɥ@ zPkTU`* 3Țj+8.& 9r9=؈:Sx- )%v#,<g☺JYzj(Ĕnx@XqcKRY~1Dp޲6YPpYՁ)dgv~(^'CKwx@esZEe]F: Qtg = |Ϸ%7Tܞ0V-k)> K 9lY^̔F^5!d!J|iwR֠ݬ&+g"_˚!k_xd3kSn4xɤn{^Y%R}F7S^xAFS-Mgd%EahwAmqE[i)2%8f>):-J x@+M/4oU̧%eì=:b$rl߾+m6W 9r ~ٯސ4"JGgi_x*fae ?\BTjX)- "]񴕹 *jiNl8S$! M pjPǐ1Wz.JM%6Tln*=kdM@㑫Y=rN5* 4vW M (?x'fQ¡kjCDiw!|Vd<$<` <{ZrqlplҲ9ea\g&#q-b&@s›M&f1לfI,3 'ܥ ODit%$;O1Vv;xj8kbZ)S<+ jH Z -L,VlV(֛KEJ6LBPUB=$W+0pȭzp9 F+Yy-[ Cw[[s8!\QȂ܃j`q^5نRԆXlM*QU WBѢMIR! h1*&RNrM:A3볭ƚ3g\Ǖry iԇGۈҐbrv9d ʳKU]~Vyv ʳ*gW9૜]NP*bX9`]egsV.rvyAZyv ʳY+ mGrdN~Z{eʽ4 +/U8YiV.m|KݗRoǸ4N*?tFge8>a<+g|-gotYrV^ܗ!vXxqZ&Q׹}(Rh$[VxOL4N}! N-!qap3C#[U$WC M6ZJ,MPjbQmoK9ZUu-hLy, +,9F硣4t׺@QҚp6>QZ1b%dfI6?%)Y0Z̍ . 5K47ur(یG]#,.  " $g47P?P-YAҵOB͒ӦJW[j!g\!/*Z)fgl c[ŷHF]tw@Xu` Trֈ[1cLP5A[W>\!-٬^Lt;|- P9MBi  I#9-Dۤb( >4.3㎰ ba\ A7xաq>._ae@hu&hu{!,7}:jhFl*~|̋8iZ$?͚ .yۭŠrqJ'&8s8*6JbPȽ{EX=ut9?L6Tc/ה%~t*SWČi~@F 2ģG"6I ֥BVJR`.OlA"ExFX2:[H*V;P9Of"ʪسLkD5IfJcwy{d;C:: t1݀;#g&\l'5+]iI.5gw8)Vqhؕ*TV]D4 DFMJr$LEjdxSfgvg .iqF׭,VU4x> uPk5Œ^MC)\e/-PvkTO k 0x)@n#gZ{^Vsjx\͓TQbOfW I2rˆ*كf<9T؈9ؔm @ڙ$3 bwZpdQq.+W5GĄ3(u:Ye +jfzd&g=aQx.ձN#؜fG9&9}8j'*LLjĄmR _J}z",ƻÊ@|4) mE>&--k>W9z850jy\BGf<qkS#{EYPv_i72%, .[lbR%3n=$k9WT_?߻6BQ/ӓ]q+Ƭ!Y+Rt/ݼL[rb1T\v61N.f:=gv%8S$ǚE5;Z9 J z_AC(Tri[xl#%NnzH;/X~j,c]NeqE&iP=Q%lߨ-qx)'rovi ]w5cKH&}?Ncv9+};ʍcRΐV7v22+nM9 m^D ^;lP \ɖ(><94=Y۰]] Iʡg(gEʨ\Qs@ 8K[ӹQHe{q9&ECb[YM30݂~4Su,Q,S NI(i,cDSx 0#+!01r ?K\NqhM IZH75*IRA>G9 *ǼW=eB<%/T,{:KRzBJXfyt٬)e>ԿP}AƫcR؍agYKgE9A sY߫=j;G&{`Qi?:]وKNxs$`Du$)X3AO ;b)մ~>ǯČSMӫt Df"}V߾jsRٿ6qELK 5~ PƇ_?rVXiV].|wH%4k9E6dZʨ'圏Nw}e5^d B0P=(홥6Bho dx(N2Jr6"J'f}~VP|3mm^gRo`{}H:kH<(#jHT^@$jyİ> tAryۣ$ dcS*Q0{*ИNNIڑoRҀӞ=%[W5 UNŏ4*NKFuOp8O TSHHaтͬ!DdD.Fn/J!kJ,EgP#M#]aGL+<%752.*f œ/ljyiŹq2&EfNsĜ i2Ye- jhQ/.Lr$؛H8wdEK+mJӿ)kY*bv#ѪJ)ٲz5BILpTfj$ZrYŜF6\1Ȓc=bs&${<7R&ǁ kN ͘=OOfH[a R%^/&8,Um]jh]fiMj`ۯJojY5b.߫%V^R+t?*ǒ"_'J\gX6Ch#Ysl+ ^,4U CetVEQbNSӺ2fW*UT"!QaHӣL-dRv.(@!i鯆ڔ{yO5g8ƿJ2y0`\q,_jƙ]\Ww!"\T}ՙ n\F'`yIHZYy h?d/}{g>PA+WXa^lf%uL2zC{8?Rd3Д[D| (0˫(~n;17mkΐ4W<[+8WJ!HCTJ1sS)_(9E܌?\l62:-&ɜf,gMpg͜ʹ]s(g1DT@1 uepȮg)r3:ʂ#5o2UBc}ycyx0bf.LH}VM"c)}*m@f1T *j` _v42%C IBFgu2;,5U/2&˷題MH~!QYBCVb !s^AH>2OhB'1tY5/Ì6U6R. ?f%HW~υ>/՛2pmF;oౙ(Sdәe&>IxX|~1;' is;ژP?o*k\HRPր.H^NW(lXY7khm>{CE=Wѩ%9l{[[dΈ&ue=/yq,0 -{UEq* ا5*2J')rOE3VF\E5)&U;]oq4!@`[I @<ʅ_֌znZGUwup?Wlm4uqϊK$ "cfTƏo(sS:Dn/fY){lW3vCgk32:Vbנ A 1e >m2RȴejنKs1B^>ϊ\7|'X2CBՠ/WھRu uMEExn<2V;2׃`c=!i.l T{oW;^ Yn {p^Vc|AXi᳂MFv|#<3 jeLc "7Vt7(´%f'gF.nF3yH#:u2T-!dh2*Sw*20E U2O)X;>y vZlb--Zk&#xMjxdL_@ےTxJ6MKxJ#y`Mw+Ka y;Ccv> ^u%őqL}Z{!"vF-lØZQZйRWܣ8N0o>Y1&q: .­yZ_Uή~N ͛jX/0y`GV+TAT_T{gMjzꉮh$9Ytj1EQ&5nHhw<;[wO!f8$ʾ_"d-U8ѯщb;u}NFb:DJO90nlW=Gr㤳}ʡ81BeRM.SIwtܷ{6cN) b3DN~cVKRB5͕wJpcc 9q@ePZ z,"(䅧m+\JGf'D#G+.qsSetɪ/ϙv,0= %X1.7=r$A,zwR]UepӍ:=]Ʃ]S38t(@_> ^-\Q[jq{SS#b[U8`|Ӟ3/a;Or51DAI H98++BB`L/8ϊ5Vo3, PKɕ꺿|{+)}f*Yue9Lj*|fhOgG O{-c1=/SWr؇3():+|R ҽQ @#tkZ FU0wˀ+YI)2 U%\A4 g&%yg`l^*7r&}0{ӻeR E8q0Ї$qp^-%!K]Jaڷo"Og(#Ǭ}<%6DۏQH,}Ԫ.K_.2?ω6Wܮc?ԑ{<!vvn?/8)sXl(iBfH`OFj:/[f ˓S/*͠) @iÉPJXj+VͫMm@Gp1-ӐbQy: R4&wU\0ϝp3g#LU4[u3Yq o؅YQ6ž*[a=UKDE+(l&򦐛,H6DW|ww-.'gf("H# m#0-ag.T(XPw>eOF|! CF/oLC΢Ǩd`xTZN܁ݦMh ,ί ҁD;)&ZIWSckHnD6pqu1o()5SufӜK tKQ\C}]&~^Cv'W>p8XKzodl?7܀]c_ӥtlW.GV {%[\@ĪBiV#NKbao0E 璓hBYCú}QAqcρ\rUpJ'np)Fev7]0CTqqrrvI-u#90^C2Ockp~Q8NflDrBv A&x`{M7l۴K˔x2=%A= P >Ce pY;&4[!γfd 7uJMWD.F2$ |̎zQn~*G"0J+\LӤuTNLǡSTohT_Xw#xP%3 ~ꗗjXɆeo 'q9r"Gٸr"3Bp O!AXe$ .3{s 2U`?YhFr/E8E)$#rP5d@6g_A+DtCsUjfpNMYK{gBH5ļ`I۬TiM3p*=uz4b*.kOM€GN辪;{?kL=?C>.܈UTQ@Cx#c["yN /GMITYyPyx6ٿ 'RXMn`?A./`?A./`?P&/`_k3|CϽ 4<{+ov)@!{XyK>?` •eTt 4th*!P9+&Բ4 ݜaxcW'M xM^~Df-.`!f;P7 r\YaCU CЍ֯:T^ fdL>x9ZT|س5w2"Lk^:U_@J"1Y7#``.zЍOItN X gޛ%ه r3DWneS<DΛH=Q}䘉_)s}0 9邬d@[ bɋXoapA=O%];6- WY_(u˾Hhq__8AB/X ^F4&!]\7xǏc@,j xEz VF^h/vJz}ِ=ug2>QZOo`=u`sחh;&[fv&kjFʃ`G};BvB aXx@;j9vyD-ƒaa@þ3SDEŃaGoM%0uÎnl;(=v؜v؁n_v  )ѵ.G_> H~}m <@CtXYV]C+ԣ^nGVDĭM!|sz1`}u큓PCo=UX[=9[(OKUF92`.NڧEww@)p^cIJ+`J`QP =O 02n[W(|@[׀u،?R-LiMV12l<3b{K;Wrŏi#)k`3\<$!ޗhu[:lV#;ʩ߈5nA=\72((idcLf>OCz6&k~TP_`@'?^[zSz+K+?W6Jr394TsQ!P-:M_~(uLJv118ͷDԿC\qstEg*:?s_E >_S%_uQ%pRmTOoJ?,h{+HѕÄJp}~; ޾ڃ:i TzlqT.?R!)?~k~W/"E=. uJ_a;q}4[@]AjՀ[,BUNptemሺXQlA \Th:4"ُ Uɮb6]/)i2nw|$(p>n# bEO`3O%sd .vAp{me 1* H'f]ͻ^QCb,oM(tp )i+_8S;- ~pRRНe<5'h#ovĭ@}R^'e9k-'֓jQ$mC8j%\2axLepwLZ[t֘B-B*iFM P'Eؕ%1R^鑏Zm ⊊4Qv;h˓eHDV*E$i VWW77F2$&5c2j c+qPh .Z2E+@3(WU׆|C;E19 u5msfkd|>T?VL'RVQ¹&;uOqW7_u@88joJ^MtNzTʑ4GʶsloyX bFJ=4^'˲ɌweA>dYv oq v\\sM9k<&@?T k'6PS9; v#}Fȿ=MAYB5rE>\2> ("!m$ 4|,ce%1>8 )ѐ 9z+:']'`!͚O=KgO3R?kx!>e1혪(;9 C҇[٭ՍB]ʁUxmڗl yl#UC/dŊ^ q+Yժh XAmCL*vk6=,SٚJؙm" T86țIuZMtѬ 9 vC)efU؆sTNXr_so/Kϙ$s ¾V2/K᎘3Lӣ22,UI#w*h!(EQ6TWDt*WM+t",W)i=`3,%`o)OJQfU#ep+f2K&ޖqb^(7 )sbZh"IT+Sz1Mb3zw=-TV+ƒhc59VJx{:O掛@(hbIUO(ނhc"LAR̞zD+ X޷+<a*x-S=A;BBꌨC?R-VH-jj؄~%ljIہv'i S ܒ/,"0JNzx<0tWV;\G;&CjqpMgMn@|SJ>Ks 2tS$B+L5%TZWW[FE S˱+}M$Le_F;؟ځP+Â3r<>wS)d6I78lQh}HWdP_NQK>t"lG\1HLl`g~NĒH?8$`WO&O{EI+پOFVN( ׁI?*J3߂3F۶# A-K:]"ceDNMj}=y[Lpz-=Ls)rk2,~y+Dz')^,%|T㣚j=*`2aT"SBisUAW`egk+HG\D0 *9ScD [Jàb.qW+< 3E Rpϑ?%Nh1|_W2ˌܰf\~wCĚ<>kTro9S? iWXkXk`g/obb>%Zxnr&^y {/QX%^/>TfNn4bhxNWy5QBzt=)'";!SUF5)zP#O)_#uJՈp@}nf BMHuA0B08p W%6}6Js8,B/D@A;3MM(ͺ_0OĪ;5 wr Fk6dϩV̙Djv~ 5+D{0.\moQ {/D1ܑ +?`ݰNJxu҉iL%egn`g` ǡ`(Ϋ3< KE,m.[/5oߨai=W]^A]4`غ\}/B?+N 0/En9Wj#XƸXCj埕<7 o4p&^@d^6:WT7p2s 0,x<` [R,'j|[Y`-/GK`  ZYh9_}  hgZZ^IJhy(+4Z^k`@K3@KX-킖@ -/  Fuu }AKrZS|` ߣҌ<OB2HBmN c:/rleIwbZ~axv[rYU: AO(= K5θp_lۂV*ĕGaq$H)tjcC@ԮLo{lɫ4 e'+Ւγ} =b\k] VXC_$Z..qzP}t;kZWx'0t9%nW E4Yѧwu#$k+s?:bOiz{loABhۂ!^0A߲蟕,pϑZ!^0ʄSBN䒖pݭ~Xs]bԅN=YxIyBZVDƫ$mғewX> HOW#9geָ3wf%JBj;n H; cxP (xvmX:6˶ޝ3$8;>^JG@ p>&\ %bvEVپ[|VӏI=瀖oYEu-2GBa)g:=%H0!]1.knpѿH5[1XgnѨ`K\=a0d,E5J L炡,ub 1nn3+6Pd'q pCՓT#g*70X3EѓksyW $+1=[x][e[{7!iKvf;.Dž.3)" :6&Ѥ;8G+c4gJV W YF^[1/i/Qt}ĐG}bE]yKT[\!nބQ/D ö0=Ԕ9R8e:fH5[3,py*5sڼ+pB6G8Ѡagʒ+M9/z($d:i@ИG!P\I~,Br>hO: 1J;Dp`AFө@ 7mLJ #LV;ogA¼UVĬ% 0"j5q^P¹SW4û>+&c),bhVC>$d~u M0jҝBM+ ^ #%3~z(.|!pE%get"2ײe@T^ǯ%,8jPG jnQ4Ryc% r P!PrF?J8倔Nh&TN\d3x L{ ={@ٸ'pC.dA.ؾ/&ɸS^vc'%ܥ`N5O߮71)X5|ȼ}23@IWգm᳘hi5}*wU 4ƃ #e u|-OT)"a+09v*O6Ta/U !Od4edkC| Հۊ04sJ4-PQA&:yRIѻ/ҖPdiL}jKY--3bdا=X =/Ym,^smz4얇]R9B_XD2LQwgط_GUD($af#6WORNۖöy35 UVxV! $ Pະr ^ Oh_ q8`$w{/~B70=`~p `zMzdCտIu;?e/ DȉHE_G?'/?.o?.og7X~pa; (V8gk5߿w_+0Nw /wX%V0`.˿qD;nb/ygDw*7Lp Y-! kXy 웳f&JK|oxЍ3H?-JZ|>nΞ@peL>4X}&aO48\r5;{9xmrڅ/vqT ~K=k=,\M0e}^rFn++EARw=Q]Z$U,NTwd dGP:6Sҡ ҋ4&eH&s'߃vZIU5+[vLe)D5`l]Hu>+bkv.fJhq#u HO\Iyfi"<4VB]Ц8Yvi\ٮ7>zKn{$z^5щ >C)*׋ϯNq sˀp ):6D.V#e's2y魶Y$6tRk6Kĸے?Ė0&2p+MԞ,.Dԡ7:<\J~E~878GV1~t׵;cQu75KV$@S[N<"RcڈrVٕBT=dYh/CLz" hnath8k8r,-G΁T/dkv 5/6W C7ǚV xZ8qbVoL4mNIO[\`T8#ǂ ;SXA Vdo3MixŽX쳒lTN|O78~ OEtׅ~ڌ{񌅈Ŗ8ESߛ!Dl@.F,y{\ ?|T3DN9#cK*c8י&G1=ᭊnPhxXz)C},z(vMDBfnk'\!Y|8Roe ,j|dXØ> 026 bmöq0C]DwG/\ͣ$rIvYz؃!֖ OqI0**)D }Jo X\XF ItFcf7Gc)g߀jgV'MY&Fj>c %݄*w3 7=}|e ?t]/>\mx.6Ȣ00T2B'9z˜ =/G=qE`"e8;rpf:WPHh҆թ=3`*_<)t=ne;!p^ʳxn9_4.W;G]u_]`!bWEE85vs!Q2%%WwCëBu utltḣQ!+'V1c@vZ IeUg\ˉLݧ>δ1.PsQ[rWuFfvLI[痬<Bqfc[1åZׁTQ5J HShڹW jl)%ZJ=;G5HdلuNQ=o'9YTu&u2  ]|!@3 ^p Mr9m"4D`=lI'fl\F-"Vv;Z\}mLQL[G>.Qb9ѽ`pSd Nj.ף!5^i0As_\G>(rx:Lt1:pgnOI2@>hSu;FS̝/I6.E똽WQ}cldӣ!.PTpt~p^ƥ8{ &Yu''ZH9d)n*sQ/!u4T/ +.ɵ)MDٗ鎱Dޚ=#ލUZ`~3ڢX賲<r lMV9.XoWSYI1 ,KnEE}>9 +(WG=Blj^*hLʓڕ6|tV 9YaXŏ IR.frJ+hag5|g@ZoxD#b g]C$YQ ֫*ԔEM5*L[eSG÷Ȫ'75k85?87 =R+٧}|5m2SXdȕrnCFL8N7S)Ԡ,d,-dx$+ʥm61[3ѹ!}$# x\< #P8lkzW?b-QᾄNr]&Fq zB,+t3㖊~sdu==n;o=\..+tG*`3{OGѯc1lY6Gi u-Pc~ _>^玞ٸ{1e::x4DC\ H[ Es[ܹKGN;&x]VnW Y%~?wS|Qn"m]:Gr&Rm>UxbRF^ "p|?7ucAkoU'<g'o?/?&/?g7O (O $O }CaWPo̿ʫ]4]jd{rJ".^yԼkiU+ܨ?7YzЕ6 }k|"#]J{(K`]~?0%.G..l`rgxg?Pv9 DK@]~?L s)s6ʫMEMjO ʛM ^yIg0x/6钪6ʛMsMji=ߛh&L"=j |mSTߚP}㨤 S&McxI}fߕ/dg TߚTߺP}l/P}ƼlP}륚4jh5c[oEtd%Ӽ+->Ճc֠W2]5_X7pux 5ȍ6h㵮9{T: !a,.Ac꩷xzJbӳ>$OL}|0w ROy%Ru R~ b>^ށ >8R@,H}3y qn>?#R@mL}\ {0R@C5H}s >Tԇ:;PySj`9>ԇސRz@CH}q aT> ԇe:0^S \`7x[w_*շVߊJX}s9[Ej\iUPၪR}vڼ7z8t-Om#{Tօ%Y߆JYJ\ѺF/%CTvF󔱍ߒ.dW򃬏xYzYu[\b.w>AA8K]Lt}ۃ}<Z@}>A=<Y뼁WCkWj@Ch}vL>4և ׇ1908\Fpp}}d7,% 7!X6۸Li=s/KbPhV aߌ 8{6¾a3s?av_C0{#[ 4?6 FNBvCVDanXAS%av [:w=b a0QX@7J"EjȆ1_UžLx] b߀I7 a+]@쩂Yľa` W 1ľD^ i{b?b^{pF>a?S#bY_uhN X*m=U7>^\zzW_wOy{u-?x-\~\Gp}vq">NAx8]ct}ܲx"q[>.Aǥ? ]#P@]Jw>AׇTׇ?wf[qaO>lY:0]^7ߔnYrؿ2O}7@j}+ q`O.3hF7o`ԃV7.}`u;z:J=_FIa|.|=6vA搈i |=S&tHc| sU2¾a`= =/l>/=SP_I_օP{@W+z\7 h\`߈ xī_et.}BH_0FF1"끇"c6~hP`ySԛCc6/|Lg~4"+ 73.(Дq-׺_}) ]G~ ]ޭ ]=zoxu]t}I:8l\pO?HŸ\mpoE=[~>AׇjP>] CozwV\Cp}h>[&Lp}Xksa>ׇe;߭7u c[!2B7g7Oc `ߠ' oEoqp |WJ{m|}I}s_9!m|}~a`8]8`|=7R Y׷&tC~Y7L^+%MfkEȐ5K \Ï:\Ϻ\0ԃW-Sp_5j9q$߆zx z՝q|7\0rH'Ϻ뱯?&z'*ףNHWy/p=lp%ޟ:z/|޿ޏyu뵣[-~+o^z`h}Y;8\GXp}8@[+vq>Uz_}p3>A[l`}(v>A[W`}Ӄ{7>4A[`}aD> և-:W[ov[%~C/ Z# 3r>"LAFcځF8{@ VWUPD^ŒV+^yU,j5?XGkR;K`PYUU˴{ǖ| `%߬Rj*!XKQbw5 qTߩIUz"fLlCh|L!]&W )!:$Iu DGYBEܾ \$~d]&{sZU!s., w o 3 T#3rEp1o<0G#Fgl<5'VrA._g tlчJӯG#1Ӆ{HWddsFq+CCP]u|Y%&wkhgJ P1F\h753s2'xqgRӦ/ E:{`h]8w/PJo<<p&У>q@6{f PޅhT})(gLjC f`v3~fp2AqfF '$ޚZ %6&(wϨ=t^-EɘZ/|%3bypu𢐼3;:n=\OD1˜:u~J60F 4}0F?Wk) m~;%e(36"5}+$:m8Y!A$^6UۑDċϧr zS?D2574 }U5ǫhSţb(7r%U#UxdDȌz :\"6*RQB54eC29#O(1~#i& [zH4"И٫J u?iA/bX]@Ќ}zMU W r '}tBqtU`jI4xpʻOaB!M.fὃRGA(de~x\F΀co@R&hPNF(y;6B<{h8:I)"`$3,6$]4ޯXd\!U8 I~x#0H=97-U};}9^9 OX`@[x*Si DA]aiJ00>vQz gPˊn_&*ibRF8pS%ۧF$pW\Yg ֓'ӽ:I#K] xVy4bIe>,hU!9NxCrU@ P1 f0Fy ҇Z-d莢U-Fz:K)3PqCC՛Cn/LN2rV22#=Eam@T7wb|'b2\6gU]MREX˳J,}ov[OQ9^ hu(hZ؏e| s,eNJi~d*҄T? ,j˃c5GIlBeϵpter?c:0YGVܢ$Ԧ:ᩔ!+GA+tc{S Hд⨙$'6zG2HNPqXq R W M@˻$֙J*k&*)^3 rLc7I19sfp/~`{:/eAPj+8lI6tAϸg-mhd F\xaJ =$笠#_!YV}c+@{ % T.hF TzT1R&b x"?ƅr*mpmf%~^fU)hӳ8p.a :K tYS,La._yE/w|Ԉrg 8#Bfϴ\x#jjN他L:%Ҍ<\n ˉ$ÒBLvUR.35" X:_TrAfUl18Vevr|B7 гق=$|d0dXn%89+(.'P8jD % Ə? kii Fd4!s6w>$X>Pd=`(] Xw3qAa ZF% t3t; ϿP*_@t^|{D{-Snf,6$ZѤJHXʖ| pA$6/p^p-Z )F"7lN%Z$GZħp9F"=Zd=g>ZI ^%+N qpXBu0%XHj񪃁1V ,p飺+3c) 9p(tXxq^p>/>ٴ(H@Bt)LW c)%%R x' 80 k:*D9%כ]1Yh\xl6cC4N.Nz$dۀ=6-qgN2J&&{%LKE!ؐ ݄ ;,Qs9}} /'{^&Q@p:)G6x۾&-am\G~OSc/HaOw lE՛ܢ`Ѧ:լO$^Ax_lpx!O_e*Oum@x6߂Y\6Ii]vmg *9Zfif a"&KP#DaT!L>:}T [5PLP'm]ej =l ЇvHT^7fa 0=]M`.jRj!ib ThS",ZU29QKŨ(QP FIsJ}C 1ǟ% h_O ) BL%_UnlRqR1@?$\u?'l-R:i$^F‹(>S]m42ϰ aQU޷?ԈA՘A]qϣ.y{icNtL9)qʜo.v lhfQ'13F2{47FS5daY^9K'? @m4fRD* @mp[w<2VYhi,` |r 2:8%"f2pAO <⧌9Yplg \xJ^ waW[>X("~lr h%JZ'5xGXGjo[O5OO6,CKT@(=ֹFfWJ֣y%EQ/p$lzs@-(MX)i&#plvq|i <ǒ&HPcaDM?g._t]ТsfO׏v_rP.~T`ƔQ ?Oj!H@HU?gTú A=PAZj1VPQcNzxVЙ%%|IVBK~7 ꅿ :rå\k ̨CU\RsmjR'yeM[p NA" ]1m/b tmJ-ƇZ9]L^.a#u; ]3|hiZfc-ܰlDe7l~]̦qʃHfjuFv mћC$ĕ#dDL SAB{J 0һ)m*+oзs_A]?7?`R+8#Z3Svx)-4V˶0u~yN T 陇kYkfe"콉Ϙ6*<.[0-hhxK(c>Mj :`Z'$=21~L0qr҉3DGSRBD YRg㶓ؚ.opr( mi8۩VlJ³( ~mZ<6chd\ /,bV8R`4ţ t"KAtZ576ZlV~2h>L;`sk&r?8Nߛ')1/"x^vc8qԍ8rNjT;<^6q#McoDEn'm~vݭ]6 4K[QAfXj YO8z"=zՒ@u͉CB5PJ-ǶQЏcܧ1H:̂g2昉GPP_kz3maÄ D;أl{9Rtjwb.;ҏϸO9Јjl=mɎ9Cwfy  ~d+3li1 lW߯[Jjd1fh.UX ;X!`{Hi+pDE\/4%؃>nfH0`5ic>lgxk ]qG(TkGIR=YX亻$΁N! Jl4,ɏ)bLҋa"TM/9"aq7cc$=B%+ya G6 KIxW"R-EQ0/<,Jg񰔈Q,2'hfSaϨ獇Dl.@ݽ14E_KA`f/<|*ЯG~ݿo_3l~@ج ~{7u ~u}h`_!}6uƍ}vc_P8Wߞ} :W{zm"̟HxTMX~X/$H<iA^Mǽр|D]8= J nNPZf>РޕPٕ-H2a )XeptC4[Tfkɶ܂[P67=@\JH]G%] 2MDACJˉha7mSb?٣tn"nJUCuQ!"q9{9bJ{tX VgR1 fbdCU*SQ^QĎjݽAE[F>2kZKI ,,Y\&,-{uhKSɦ--ix-v:}"BVFԍq=uhCӀW{>ׯ_L-93ux8ej, KQJ^ :|ʯD#P2n&B(uq$OIӻDtpR &WC9CkONϾ!C0gd#> 6}ס.yr8g[jLVe\Ɔ))y<ْPsmJ^z>uDA S#|>EV7 JQH{Y*U.2n6p?n=DITY6~{X?礨Ä\tcYg ȏSvL Pb`%-ҷթfWpWSg\V+00؛b)߸tF[.`X|< |j_32bu˻a;}*P4ϢmwOY(|c8E 47#-<U$ñ& l7#Iˣ&9 Bƽzt]Ze 3`ȈT,!y-(L3su}$y*gRSd^E}AKxRKՃV7undk듑},w}BMVyF&%60ۀ^Bf!B`2bx3V±H?Vͽ,49|*ZfuŨ.& ,EmvV|90Y_l h}q cr`t<&eT; Nk1TZ5=N(6EN9>/ځ$do_ı ż L%|Yvɷ)Bu?H6|zJz\ҦS(>f8 lny%a!}eNNa*1clw$:M0$[%iHeu.۶媜{OcDžeXn|Ur֦gT'1LV}W.ɒ1TVazw ᧢؅[ 2C; ALqQ䐵0iņ<Ӝɶ6M_wE"D9A=IvM+ïE">Tw^!cWj\?ЀRwk"զsn P sUSXZCJxDy e\B E,VM6ʣ*IPYݘ@M'*7׷e6kgF߱PY"4'8LGP4~NjT̵@EYKl7d-w24n+ (yfģeoF䟀^ZW$ի9#"ص=K6f=qojM%% Hw2?LTT@4vm$t5mPYjI)UOeb!@D! ࠠ`) yn>6If*VC`a, vimª`neT$̚`DW5KݞT@I*zٸda7""w>òG;>kq:h-B5ԩŻHA@S.?˘S'ʐՎ eֈC^}2uFb4PC$n./1"a߇(L"-x] O]@F`zARܴl5{>ݦSȿo4L|#%jcDT* 5y7ICAht)E\pzFs+=NsInFO'd\1_-JuiVF bq+Sy!r^S07K9d9P&z%nY֬TՒ^ȭPV,X&QLH;"{JYW)baS0iRŒT7<%L/ceҙ#AW~\z%2R)!"iaŀfjIż u8J U'gP**ch#ACiӤAT:+׼z@Eo wW_g@|"_8]̻Di,W >݃*sK~CV ]#t,Zw޿/)h=ϐ_ϙMc@pCS%2s;}L)د?DfWFڸA24P' y$DZM‰N?t7[; M#ݸo#$bK1? tCrșc.=QUkYR](<!pbRBRiͺ :n{ֲ:nk1ɭ(Vև);VL c>-WVsy dĸ ju!3^US6]&s]9wP Rte?#,4qjYdN6#u }op?åOO7!pE&xcȲfm}aSA]pTYZ0[بz|PټZ٥n1pHFyy\e"'^Q-$J ;t_APutˤy* ku5A+f'SRdLYfNSAIv<]OX &;;C#P1:d٧4El M+Դ| JYNV]ɕ}CR<|*0#Z!fz?E  aM;̩;<ݻ @oea2{K*7o{|$6JNʝs5Q,:d]@@w7^w^8us n4v×zCqIp.E.e/{>()HyV=^w'JPaz9"* UȁV%FdQ]s+eo >;jʜ?Nh;j8!$NfFcJ2X*_}g%"^mNB͓Y\H :霶A7bSA[m`÷:/ =!3fL: ,Cw!1ݯ =Cj 0Fl|py*( ͵vNI+SKV^qctExΡ tu =-1R@,#Yk5:Us[LOĦY+DIZ]JhKaW@ TF7<C|"d+xF!#oʲA=^jI آ&$9(gvϾ nގIhx/Pʐ"C%:W.I)S gϗc?!ja{?g؈$k0]A{˷8-IwK&F`1ێ3R0c稠w\GP7DZ` cMt\Ǻ< QۥoGqݠW"TY`r YaB(m/K[#0GF!X y% # Cs#6.$wËS1Czxܚ9hoekpΎHSc)ȷ5o ^e4e\Ժۧj>/@ū#4hC1荏q5(t0 Y+s| C;W16$*afǠXl){ul5<ߩxܯ`g%;R@'öMQBz0I7R".~<Y8As? w:݉t)!ij ^' yDۧ nn`y"ɆSP"( ,9|2h&|WMZ1R醉d[Ea_%XqlIVzPе  4y ZcnqpΟZ2h4ʂ(0CG>S9~ ;鄙1r2+NVRگ^)IB* }ϔg<-?\17,r(<7?[MPf{P1J$־.'Ҥjqp,PbF=b,{KBPk*M{ެz0{57i1eBMVMJm[b[8R6tiRΟi\$.s.mSD"?Nf\`K ޟBP;t₠ITHBAu sߋATͣJy_@~^wTe]/\Xn |)b?)YUӻw%Q&A`PQsh6gVWl<Ɔډ?p#SEdGlI 6M8lWiHʑ| H>V5r, '_VwW?hT(yO@X-:± +/8,ۻm[E{ Z"|Ȇ "_"Z"|:w{ ZɕTE,".b\g֒/p F-f\B* g| )>V 7Y%$߬taX%$3TZU }H⢆Ɯ1 i:NږX}%ٖm$-=bƼ[n4$e-!Xk'^ !dК3Cpf}r>(BMkV$"V 3ȃR |$76$]ն3MyK76 Q!vp˖T-\.X:.R_,)Ġ֌GE=$"\KKXېd(9[z<3NBJf(jƤѭe%C6$D`͔fHҐ-#z_pbf .8\ͣO H l93, =I: z%/$%OeZ }mIҲ(LfXdBzX+DuJtڊk% hx-qsP+X6f U*e] 7j@.DJ9[-0  \UM]#Ft`< :T4XiiOC$6ϛ4 $qvtCI1IDÊ&]х"(pz8e5 G.A d!&'4@%qtC}t繽`Em 1.x`:C :܄ImX d{ث@מ~oF>M?e=YOVY˘pqVc&菖(恪 [Ui*)NkK~7_7O[VAd- =?Yg _G;ԟR46Jmа=**Lp3:=mmVI"cVTSHb<8q_B6qCOVĉH"㇧ $-舿1'aNS"œK_% >$Y"ݒ&Ou-KF',ѧK٠~+e  ,[&/'$~,$)u~jU٤ ,WAƢϒL}zDPue4lfCHRI*0D/&5"$^sC~A8rCʥu, @S&5ݻH] qԘeP NoZb8/VMO[Fu$ٺaAykPtZ>_M>=>^]nqţS7jr?hRgi)V$<<-wwuSp%uq<5J |YaВQ@.G)+S`xVQx|wz̴4cO uR۽JnnƮwEϽ=ptzޭv }@ q8mSv BqjAMq=faHJo%M>xo/!B5ALJ^[/"κGgm׃CqkEy)=bfuĹ8Τ\z6 Dxm阰^B~yMVKؐBG4M1W#5N2 ٪J&=(!5A2gG?yV ݆IGFwN#0ZpYf>}*;]\~}([ٜOqR IR9T6+̋4ٺʊ a/oYI}+ lJ3I<_whjm=#H &?7S*$T=icmz("lf 'W4eM#LZfS VBO4'A,dz%~*bPQPa:ґK-!i# s5_Z^UeH :a#J+[d{>{v^ּ!̣toz[Nwn3|q/yC+Ҡ[n3 ygۋ~ȷJhFK3rorB?Z 5aVSnuUpBv8V޳ڵfo*#! :M XVlsoa[ߦHy.nz1$~{*݊FS8>|\"0" 쿙 O%܁L0JZ4̮wT#Mp8ml@йF|-2nP뇷L 0V6iK[7U DJTqjy:ӎՎ]hR(L^n=dS&;Smkcܸ};`G֜Ste7ʴᐶ<ZScm't&keB+ Bunan ۬21 [h% Ñ ]0U0)Az49d(j`SHkjS0L@Xĥ!Am:ۂ+?a[:}Z*k! E~,Dߊ΁1󺳥KE$Ph2@&gӝ+|xDCdt%J)૤"1~C7Vc9QobJDճfށ0(vVqb䩎RڧehfO-E,߽:5JB1fsvpŌfWҝlb%)lc1Ugk`}ui˦:^9>4$_NשYQ&sdהe} M{K] _egmS7;0>[JC"d֟3l5N/Ih+P?jmSn;qhV5KjuBlI2fy-|N|78zLڏi M;.~ bÓ9b~OVC`luPPg S˞㆛ӷAU T-f:-טּ?lDR㋆O2.6۷Y#h lgAPjo ݁EPA$vv'D|&֫}á{{N=pkya N(p:@mmMG$ژM_tMwU%K6RG&{8iMKg0/ߑC^'=vOUjE܈K]#MJ Mz;*à[ކ*>DL?i^CV%xdtShު&윩 M%d"ArN>r\b&dKBK\lo!o2LpWb*6pu9uY0hSt qv(*I8Oٹ?n-ss1uOvX3<@*Y8)'ǍD*vQ/zu?5<=Ҏ4 #\n 5,i1%c%̫_Õ(w7! ޒ.>}+#POʔ-C Rb%Wֽa ֵ8r[-Hi;9u_lg pӼIwsy>nuGq"(-`N`58$x} G"W(ujoiJL7?V5H(rafG(rR~C5KMV(ZZnfw׿tsE=潅G8e[c@L۔ okzeF(0`j{O>vu=vȢ'zN3w gMT^>?،dV)[bgh]X*EZbcKZiڵ%_-%?Z.D" BYUB* nwWnHZ,^ŒVAk!\K,O8tOU$?lyi \FfE8L[C@O56*C/8J2fL0.'K*4DJےvY$HC4P* vO'T UP5xJf'6m-yOS6 ^C5K$[ ّtɤ&qKhFZ]8ذk #޼F`14) ^_LPٟH욦+)ԇeǓMK uZ;M w^=#z9Je,0+ NnrZJ_RneJ ؙ&?u>XYa޹>ujݾ-> orxg=JsdՋwܢ~C ̮ZTM\JYI$l,^4C0MH;Iˈ+̘ WvWTAz$QLaŶtǑJB5;lO\v`9swV(&.FMS0Q5Ա1bRr2԰RaaܚΘ~G6808aT%LpMXLnXR;L+_ұ>?6PYSo#68QsߜS%^f2i4M%~?1D]>w(R9Hz)>89?2*hwFa[SŦpi ?w"W5|xK2-oen7V3|Iz מJk;L-L;})}tT 4\ ]+SK"9eTd,YLzR0:TPVEUaL,U,H8h!i~h/hh/y(qӝYCF-RtDd*si)XtRA/{8fQm% _BrTC94fr1D+Ál"-` ,yٗod`; b3|~ .y2:NCh3Urzͨ hξJ'4͜5f:LZ:IGZ99N#SX҅h3͆t%6Qf %+fCK"L?oDyӞ8c@h\"tU@aJt=4^3X)@ nE餒螺S?LbGŅPI"#H$|&K[['NVYm ΣPS@CsRqeg;`4 #24Z[H䢖'i`;m9F 4zn3V34`X(_P#cUx7aV"G9F6<4%T;'<氹1`qgw^ܱZ&V1;i>.%Tø(x j^'uZ $C/©>@mrm|}Pb'P}xm NG)[a)XL\*_WD4RVIE\46IO>_vy$#) Hl+Fzr&"7[]u΍Euk&z>tKz9DuˎJuvs6^7~3n<.`7v,klnE* Q y`؍s<^ ؍#x<bWg6<]ߘ [uvA.vY ]tִ\|µU5yT5C+43cv?%՝/yŭy*F,"@ԉ| $B9]fnf&j#ȁkZU 6>SbOĤE+iOz>nr}D2MJHp|Jyd)%%I{ ]$CK|ZCIfۏ3 @? x\HW0ChB2zG;\j ry*t/rUؾ ]]iTWB}Nj.&52iNvKH}He@x7<.HA*^SUD"]J˔1=u I2%-* .BN::8Yu+F="4QLV(d:S'u.4(,QrT벖Kl`*"~ A|FTei\J~OSM~*oys>13> ڡB*+k^WـMb8oo 793 KO)C!Ͳ^1!B&dw, |܆^vU`wa@l:aFHdrLu| aX+N!6/9HH3PO3Ss^JFO5ؚ9c$y+},Tnc]Sࡏ#R!dthz4a4MǾW LLgrxajmER5<*F= '^`Ipm >*2sžOߔFiT>)TEyDa?m0GX?\YD@M;1'TvP\- y`s5KeОo?Ӽ& 䘭6lBw \+D`ݯ_8}a Y>Fs+1#1T 6M3zKn٧T&cP܇e $~L]7c}7ح^87(+~1D~U?_ ]º kR}m t籢YôMnHڬԢtyhDM NYh< R-+hfH&~Kѩrsp[y, 2d*BhҋR21# AB`lM0L5ݫw*yIr,9KifJ`D3G2$etzoru+UihPɄŃ6l `^&>[pشk$ۍK &/*I .&P8ГZb6ԙ "Š7c7^J9f/HzN鳪MC'ݾw{)M*Ms]I$kR՛S7lcb8zvj(FS|eX'Uk%zgi6E7+Z=1pR"Nz|>Pi2 E(I@/9'ʉpXw}édrLA \7Q.ĨԤf3 I!Y6l.Tf \!n! :hì3n݅`b]DdUEHCuC}L44dЈա#jc;+㷱WOO`mJo2y2HqTc5,:Έ.IU"]$7U_$,>13|2RH ꓊e-&ic jm}YTC *&MIl9Lw%uOBe˾Z˺z")ޢТ䮊Ôg ωa"s b<  O9<#7$Avm@HVxe-buFb,rͼY=JtSkkzK3 &k^p5c=<+)X{|E׼[u haL֬C%YOp<75^֛E NW]I-b qg+#dn+5Usm 6qfwD;]Z$-]KD4rr-ƅ\NYp54>1oN ./]k. CW .\|Q*+=fuK?`pezHm2jPmȸGNA+^6yA=#`8?mU&XBbn)@ԛ)InU^lPTҠ5)Ѵ:̅] s`0 p޽'| 's9hjsWHsD.wy!v#]}]lC$rG`k3l9x=ΛhQwAֻhQwA[ ׯE 8"Bk3i]]Xwϟ .y<ĉڌdhڌyf4y֌)`g!ksKyA%C:6WU/\Yrj38 kAKc3T0f8#-ڌ1?Hb+#-Mj>'Z{V7&{Qhm@jmT-BkKj3Y+L-wD_ M2PZmrRe96\1X$ xZ8'*ڌV XGjsl'6#5ۉ=ʤaI :)Wq!QG*pP&`f%_U!ecĪYBY1O3 ̶ L3M X٫ef\ c?[+cLK%Tu;< 3P{S~z޸>9)$v0] s,׀'^= CAJuI|AU>|4w'2zn. 6).UxQI&W,0%TM>SFmmHqKSMnރ*@! ݂Ӱ꠺b*"lM&SIIF)2ge8V*hyS_Uq&x`5+2e5e6*7BJ+My]z,TS Zɝ5X':ڥ~cYv,aS;&ݵu#0W*h.G6s|gjt%º!mauPySN 2L)4m t3*Wz]~nb}xpk;~52Y["D@}B Xöko겑bhfWIRrv$q?)gJ%:S4V22&B*CvWbF,mH$ծ^6zԓ"1mP]V.dCfwejؓO~vLGq9L'zZX-#TW1rڰZ"ê#3㿛r `oAVOS4mޫسW[س#B(9 흨b+pZin0wֲ^qzZh"1n u\ߖ("Sͱe0~A5ڋ/VjϺ[3DBS%FC֡h_;ha$.(m*e$LɅ\:>ZL7 :[]̹ܙn1:338嬨̒rAT7*ב]r8ӦN,Ẃl9瑬ͤ,{BB-5(3[6l 8CWT͑l͋d'b5dÁpE03^sNS2"aOO1^K'2T\G(pnV?4eXX+bc]R4h3]U-bSHG+!D #bV9#O?4 7K"pFA6)"w!NvoKVçJ''Ķ 6*. T߸ 06p#ΤjLR&cUC{`&EHrɐ~blؓJST,/FUpg^3ˀxgUR`Jw[Z*AvKSW İd=o)lӈsyٽz)3ۘ'g2F-^noOY ) 2"݃nNX`6n"m67`;ԿC ?_S%A&#3owz??VRlfA3IU 5^T!?y[q;dSϑ醩g1X!g VzF4Y7P; P,#G$\$:$S@ dy T,W^s9|?Th^ia(x8.ePqzNhTY"zL"U\8*-f8-S<-pڇfi7X`W-) 41VpKU ITOiqf3,bv v$QY%0E3j /=$PmD`uh?6 cdFQj`zSL''A*7](Jؔ"Igg͋V^X$[<]"߷M jhW)ٷ"*23&w|2mIj5 }}$kk;lZ$ U.eg_l CtrrK#V2.wy 2wcp]}]dr sgfgty Gr<.쀼ȣB£G2/l:b,ዘ i <~ABq9J`$@H[a G1%TS[z(XD{UI4z.Uk+e^ؤQ$v%1  ''yAjaw.@S7ZWnGH,gUz٭d0q$ljMRlxm!#Щ-ta dY(;'MW<<`!L_>0쩥bdf$M5A~=k)k0WK*_fꡲ.HّK0"- e"v]%!4!PJlzŴ؜% = "M5^/0 6>)4u$ e76qyv:616DGD^j*P$Z..rbF 45f뺠;0@,Τuy2q[No:F5%/$iYx`'$02lB"5q^iɕ[V%uER8"HBSN)pJ]fI6d1]VPbqۉǯ Ái fXA&W3MSlڂ'Rj64!@4KTQ/+E329B,s*:oa76=ʸ ae$Ĝ t5#;7t[ge[nHbޭ10nf7V9AZ 0auU$^1`Z4r/5gaY͚u|bsJiD& *FDjErەN+RRS} NJj 0/# 2W%C/wtJC! Fɀ 56806]Ig/b/ڰ!_[׏ xiX}_ulD׶MؗyN e{gUP ) u)gqd@*l?3~3Hg|౥ b&&)Иե)Wy ?.TțNUaUz`4֯4Y"ɡzd4 U)݋nf-KS]4 k#cJl>9GI|ng3?D6$؂٤iJ/KW_[+_Iۢ)/,YTYY??=kH,N -MDmM)djf*I_gi N;jӵ3J6>Ym[JkUjMgIj4̸9F</ളMs+y3Q~Zy%l_!=c+EHVs jF)RfеpuiW]UvIEo-C鶫{t8bAv %319,f 1B*QiRXPZR@ $~D5fLvx4vO_hO$Pf#[<QFdCTV_&sҫf6!Uo5sঐN>d2ǎNCMolXi+W"lpkZ%1gTMS{jmC3g:Zj Rb\X.~(Uf1CUXuvhVY 0~E,7i.6?-AVIU2L15(CWҹXl2cHWP>aԢ]0o ۨ*t3,pBp#e63>u*6Qt1VhEgιz&_o="7g/\@F>mroYl5Wv8fxXʌsiיƲa\Ͷ[cDc?gYUe9d-G If$Ih8DkH *ek(d٤s)t ;&z:u@*)$M "[i么_*~ш!U~_%& SÚ@ աS֋U7Q;ɼ踫|$xĀx <>i|Ta\ч]G|>\L+]ܥ"VTEx&](@N1^_n˄"tc Չ% )a£(6ú7$T3@1SXYD{Lt{ȲbP O'01TÒ9%06Z􋚹êSW&UE.]}ȳM]mB&Aw>@4g-C4ȧE9} Zp#KW=} 2۷ ]p#Vܾ {4-CԠ-h9G`A[uƢ8V 0:t"^ImI侅S? r߂nYa#lLA˳XIQ'ǵt! QD侔o$I n߂}H1KCQ^ =>N["};F̗zcDEnN[2}K8j߂Q<(ЉhD/vbG>ב>՟;I|zߕ87tx~Krltm3 301=MszWgse@ECں<.zDif-mSM#۬iR8Pl~4?Bqp^ףg"E8dչ], dgXDjcBhW"!ؼ/Үgˆ*}\*\_}=B )qg!݅G(&xnEU! .Nu\6RʶUF\]߇i̖;tP=,qŽj hpкǬ8N& wRb'bD6_`HNhD C@ӚwޞsK24Ǻ咯kˎ;Լs4l6e'ͨݶ!AE5}VT1BYc(J}~z nr:g2(u4h]V&1E=ξ1U%pC#j`K}C}wTyG]&}hz{\%4Xw)ˎ`ÐtX 2Q 7>stqBzPYJ1G٤(wMnj1PYú@!MmzŸ󊬧zA[@Ф-0pV8&+h[18dˉ0B<m$.nsEzX}VtW9 =I&D8ccS7t]TT bۋܻ:C 8dovuN;?Ȟm6J܍~ b\jAЛ 4Q/C)e~MUR;Ă6@*ۖDjrE2]Ϊ6(l.5:Z#yC\ZG\N){^s*!w=y 1o $LIv'ar4,ZݮôNh=tdl8EEp@rBk8aR'R(M#wt0T d^@ھ6+q+z񟇆*3Fmե^0Ҋ#iK %ZA8blZ ^Dj!NVyisEĢhލt٫jsthF]F iN:.s }}/xu*Znj+=ÊX<4y]6}.50@.bK9GS,@!B/4U%?+P0nQ҄[:+Y)!Z1l]TĀi_fkrT`&G4zDoy"@Iv)LG vM#eI.*7JM]^(~ĻRF=5B“D:.jlF2'g' 5krWM8pC(X>r"|?p<ޠ_M6z/5_#܏=AULGxɋ۞o?_|O8ϡ?p12l=0.?/wyp!L#a]?MX}5&-'nOG mxi﹖|9tX |LA]4 *HmE# :V]4.Dg 3=}aOy(ǭ޲sr+ c*H8alHHC'u;1P !GڳQ?a4}=׼߿R{~nRisp !-EO^~tm~\;s?~ H_7Ǒ/W+z}x^/+h((~Iݛ/o߾ӗOqp~3"|%o^nsgW{jc=%痏rśꁵ~+5=E:{s:&_|1ޖ3lLi^pymO} f~'k]>7W Tm-r͋V_ľG6q^{uWŃx}zu;ݽ]o.;ytLݶRzf :?˼}պ<M~zc[.~8~jN7Dw!Os=d/ݷ-!O˯]_Wp,l*>Bᄏl?2gޞ?EmK\zUkswoyXUD}Vۯ_?]?)3kcpqo?zxW]ʺ4DvlGl{7;\ES\Tɷvzn Uexo5?`'Yu9c^]dnDŽw?+}ݚ~u{޾ۧo=.p7hY?{ 7s>}{٧_utJ([X/;D/Ö'mn?hvc? {ȇ~nW߼fʯ}Ov.!l}՛?i.\+^?nmP%K{ݫ7.3o?7hXq?=[w\H$&}WŋpMah\ u+aE>x{5^?BKe_|F./p5^jwn5r? Z\xǙZާc ՌdFؼ>ݡ/'c[[[w2dׯ;3tB{}BL@7!: c^?-_yS~L'"p3by'}=M8{tknC.Jw#mBw3U ߽O(_&{Z"q?*J_|÷4,~;Q>57֟Q}}Oc~*ֶ ZYGX_/pSH۫96-}3Uytww#AʊC~zOܩ>~ˎ˧3t< N;޾+o ObQq_.˯CܦCZ]{9a?f=sz_SĨpơI.[?Ƕ}H?}ջwo__oE[qRGendstream endobj 656 0 obj << /Filter /FlateDecode /Length 8272 >> stream x]MsHr}G0 Ue{6fE (lQKRÿݙdNu"B~W( z?Ű{ 1uyKGK/v/];klٽ_tYDa{k|ۋWw7/~0ʊwח/'身J~ކ?y._HR`^}/hT콁?~߿Yk^wHw_kO-9l?ь<:N4 )W.lжawnp{}ǐ08/~RwW7w`bƱ?U^a>މw8?8vWav`v7nrp?~CPfH)cq$'b4s;+Fà^OB\BSla(){IAWd źި%Y(WLw4̖P=d-,QhD-,FV$XW BnMq>B/',V{qNTr% (,R-~*6CD 9u9ɧ#I.1NR8q~TIF(G%s2<%$t3<#s2< %s3|41g=c;K%Z !B΄)u0Vcxw0^'w AaȘ:H IÅ8qM] ؆` felYG&K#{Z>>%#HjbN1(m23[>Qk<G(v@pǜ#`-[(㠊}]pWϖ %ޞq͋*,ʇբ|A5t'k7\H/q[?TG5m8cn ^Ŵ_+ jmAqon9źIfij= 7G-^;X Ph9\~d'XN쯄- nWiGj!]y|w}O|+\=(p"u O+|GN+MkcB(XS)8PYt>f`m(8VСJ7ὕ} U=l3[(BrlaaڄZ8(s(ɲ\?yJ9/k\8"?̜.`("?A(R"?("NRx{N=&()9(1 JxJo#~;Eqo}nxcZ&0xTVGy'BiHx _"QMwIRԋaZmç!,{yOuŔ$]T"$ ȂPeA'ʂq6Wg/|w-Ex,,+M}xH.- (w3[(`?y3[Nju1^hsisa 2 $qP8 8A,_2 1'rF̀%DJ̀%DJ̀%DJȀ% M"en@9QP|Ѽ6KipV0A)P22<ªTGz]%-RvlEWTivJ0{Ç_P7i qz~9cuSΘFp;eNogٍm 5}Vjf MmpGذAafGGN H 7=s)y@s9䜟- XKdU-38EO^.o쵖9\IyM%-7FoӮB7$}7{Z6 y7}FoPFoA*5i3*{o+ZٵAH= qIiDm$ΖfF9inbi7AawxM ״؛AkMPD|=Xu5X(ABY 2ZmHc[5v]Ռw4dZXoT 4>$|3vj$m9niJT i96UgLnHcS5c8)Gn8>t4<%:@.qF= mGs[n;-NKAZcs'- ܉d %6w"(A;Qh`=I8~}r.]P,]P ]P oJ.Xz^zjԳPVr8T>)mvl">@5䁱͛1a yk6o[]}ތd rћU5 ^, laĦA%[(iAJhDQeEzl $kn8]8lЁC3L#g#=C̔=b0{23ؓA3L#H׿3$E/jz')S_5- 1 &*>lDW!L]\LVK>bU s, fa.]B=i qҩCY+',ZNX(儅ZNx(kdKZ7lҡ:hޕnz۩+^TE+>`MI]n ]Puڦ]-޳Z m]jؖ@%;|ەNn*@+쒳̒3q.I܆D$Ζ]鈶ZoBmJG%ؕʹǡG ;/و0[rQ|{% UV |!=8._h^ rr)m{5w仫wu?X5̟z~s{Œp8=⡀ B?>%{KW0L_'Dw.Ep[_ )9}S-N͗Kl2<ބSq: z/tƌu&. Au?CX4Kpw˓߹/~#C+> e*x z h7@m> 5*~%=Bp{)|@U>,4"i%&ec8ge}CC<97q$-^|>|{%}0}?-8|P)G&7xv݁Iwa|UZ\;yftQBcvπ~5qyE?zǠ$ WO0b]~y4=1 חxp==A ]=!b ?_b!!͢x,-u0W0ܟւʘŦP]=ZaӁ5v{8-='w9*?ohw+y8o&g~ ="ƋIp?JaE(`\Jt0NUMP~wj!x_LyǛ۩) 7gǴ jJPp{Ch~7%@tup[pd(;q7Mq}?}~2b;lqtx5!A_/ 8׋x'a#Y"M+p=- QQiE-=&qT?]\y>{tn2!&.[8Yj￿{64 "zwۜRX*A=P}_|&GLdVVWm#'IJ͆;_amʗ^Xb˺ŕu1[ 8޶,<_?l;X[E8Zw۸́i -a;W9mC՜մʼnm|5)$d懋Mendstream endobj 657 0 obj << /Filter /FlateDecode /Length 5128 >> stream x*WwkX:!^TT6L4() 8 7eHHxPa$8R$^t| [)|%5o_%7p oF΢l)pz'p66t=K9ͪ`jwo ٠&5`RΓ00ߜWQ8d|QC&z!z az@HYu5HAgWVooRҪ"x<|OEq?&$05'ё&!eJӱ0butc)=mT ZFC6e% T$ V1d,[']`^Ws!9^- SH|=]:?aɳ!N䮦:Pf^3w^}~.ӧ# eSVq# O9s{N WoʚеL)B"@ֹy򂖛Mg%3ծ +KSeAkaX-tbˇ6F<5o/Aq}1ZQ Zq|6U/>=®τE!SEO˸). Q$bSeBmS?o{KG~9 芹EkdzLד\DV|j!*Y@L "_ތaDG>6"#z%9uJak\po?~: \qliâi|6LEFslk=yhCrd#1Lډ/ծ~#>+R"Y10T%BhLcNq|߀F7"AKp.|}8)3ՋLʇ(QX],E2m7v .~·9;*J hҫ^P|ϒ"<6,]<('ODC5;<P'68SNPxIZ.Jhr ~?>XryXccUҜ*,$йp@["CajBpBbewq=5X<JN37 G ^f""mH3ᐑEy5 KDKj < - |]*"K9!elhyy9/ED "mSSmh@o9-R]ypEiA6$S}HWh6I˟Tउ~A@Tڶm,r<my&m,ܧ$kW9e{S 6],h2%rP;|cURT vqFj1Yd(\4#9&lLm1KbFցڋkNLdC5Q`x;JݤS/'~j}b*Eq+h4\`1)2Gg*_՚K6F4jCh$M[jǶ+pohK9DwWa01$edkd z6Q2ĥϫP͔>:ff9rxӨۊZrnM P1MQ29ՠ,t =cI(\F ;ˡ@R ֻPO >;Ս휐 n XA 7`+kx)> U zodB2b{Bлhn{:! ;ۼ k:c~*BUTryas//t 4 u>?Ӑ|\#Yضn@X RJ?Y9cCKz%DE{8ې6gL{$d?,G4mN0<}VT,v5V8 lOJH$De,,q2.*g ,qoHD>|Y,q&efPvcBSZaԲP`6qEZoڝJ];dyF<trT2p_Z`Bzyk$;V-x60`s?t &c70_]. ey46k+Lڧ zҍ.Xﱡ$p(O>QtA+zC5ʁUIQ3%5&osqv-gs$mo=agowÒMkHx3Lc <*ӏ/wM3*'V $29mU0sX|~gxqe<3MycO(̒f|&q"Jžkr]~id~,6J*b )?mڟ(BuA?%w ӰqړiF)&1!. Q1u;l2of2iwԾ C.' %IZ !ETи6T"_)cr BHG 9IQBYzL4jI\WU|ᐪRenxWf􍸺,c\C =ftuJĘ3r ||>̽йԹחߐeUBgjXwc1R+j/z>h↼4# ̰얥cT=_eiiPEL{”¾LZ=h=n?MG4ən ֎=Dhdr8Y*E^"~3#bx5Y8.otc sCȹN{Mn.*O;̧l3+l\t<;S&RzkQc?j@G4o?H r 3~0Q)9V6kfr6):LMEL[g$TcOa)!÷:zNyGlSoP1^[e*U<ˢ(qA5%C+תy_zgœL{`Z|IݪKE1!T27za;v)? %y] :աHPve 0c]N桵ݒakqrҸcSD g" &0@ބdUQSDKR>Il+?3/b]Sw4!'|.z޸Q@=^S& Cfu@ډ<0=|B}C~$ʔ]S`d0w582·T6 0H>f_x\Sղ(#:mԐ ظY'\Sw ƈ;zi6c䛴EXm<(MM9_S1E8m) c , _!*(-,+BgjΗԷ&`a.Ԡ^5]؂逢҆~lHe,[N`۲UQ(w I+E}}dj_L<#l fF@幰r0tJ}_ ƽ303kh֢?ӷð`)o1΀l= 7r[pWg$/t1ځMh>IMjUזv]S\n> stream xXy\Sg>1i!՞jՎk3Mm KB$ٷ$!+k ; *cUV;n_gC3s{~9xV(NL7֊I6y&+kv=@;@dqkHMa*PqH-P2 yÐf0 ^[n.!,zO :;BwjA 2r#  E#+|V_z5.nx4MV a:9jviNT +]u-@vHxhm~])q0:Pk.l[ "n/ep*4bxo9>wi@1Fj/7l .&W@O]D"ޗk0Qj'-L 4ط.Y:*ꛫ)GZfȥd.DJ(4SaMtԛ@ڋAVfG'ZM:q}<4 FSin4BF85`e'݉68_+nJ#B@/${&B4}.YjPPqh' :Z e45hJ@ !ls W?ś0 R͌iqZ4SV;4K^<c~"znbqQN&*4JHo $FM߹Zsf̱ܯiY, F txAzj%nrVz4:%l#m AnF0)I#+7sOEmfJNj~'xי#ҊML:c"VlC lzjr0 B(V r} z E`ZjƂU@6տM=ԑsQv10?QjVLȰʕĐf]=(ZT!JEO@T*/נ))+Ӕzk=둡kWnyVO9BlY.#Y7R@*y>Dt*.4a KET菩 `3)ISI1\ye3_cؼ|{(8⟥pA(?Nj~Z>)V6 +%ފ{%S~Z2M}& )ŻY@@mNn Xcǜ㣿YlRꩂ+9Jm~[)}u|,(wcB6v40`1RT $!e rGr(=Syhz!nYՐ:_g;z9CGHQ,|FY;ϯ4Eȸ=@Uw4\lzB;#[wMөg%6YWm Fc? vK^*2=_b2mWčޞwK1xS?9^:Q~ey[=PIg%ic2ELa{HMG+Yۡ_nIPԋA btny],Vo S-߽zY_t{1(gltnHRʆ@>Ƀ0yKY!@92Tњd:[Ln "=dBVI騆""ϝ&ϔDj?R_{r]H P5Pn$ewDEPQXK䘟Sf"JoҚԴxHW'7(ES~76O{mq[Kge~k(_ݎYJYRhNfZA~ h#MM@tP4G1{vatXtC/&tӍ/اϺVgp'5ћ6cuUeej_I{e qp9O*KhӆmPwh->oBƩ3j uk@nt\JO5;]RsIinwwF6Nz⣿`'0xZ +n@FPp^6Ut^p պZ{JW5sX/0xhvGf˲MYKqp%GrSisNoxL N&*c_y qȤy\. 4;)-WozvpJs`[@3d )ktt\֤KUqb&:k3?sIyMk7(w8,ݏ5'oS0b+&N8d)pqv¶+QM{4z" yw;:(i?k:[r4Z)px읺]ԋl0KϭQSrgbDKT<(¿&t>׋>i6,()i/]~usfo5UBfыM&ZM,'DԲC"yJ8UR_Q^) ͫ塝=(#nGw(Or.g}BنTʄFAQ 3>TYPj⮿YXFs#0C3-Q1teWRV%T` OF=7ew۫述Sy,~>!tZ,4I\71#P]>jocZ=2}֠gx -P FuuK҄ImT6&hPކUw} L 2( ZҀ "SH͇M <;rT{q/܉t$ZtjSX,b,Ff?'8yA;7Sk`Lܑ9|ZSXe,[Ρ<s\9FSYtS}Eg id' +s$qXQ,m=\K'pe%əeյrЖ']=zIqRUQher0[E7$$,+2H%xohu^] 839k8:tCqg qu(B)\z|Wh ,&I(Ōǖ% Ve4~$Pڔ?.t0î:DoԷ8E3ԍ#jV/M/ ?]ʍR.[*Sz=NY3(_+ #rf.ɣ?$0%xzbAvܢȰQU2/T <%RRt\?(/֢_2QO›3 ؠ)Zu:=,;2ؽܳ:ܕGMw*ww$2e# ܚ~8z=sY5}"6v6A"|N$1}.x+S'(O:,dR7JW cƌ, U0{ń60 %gendstream endobj 659 0 obj << /Filter /FlateDecode /Length 3032 >> stream x[s۸?MG%> -ɥ7;ĽLFuHCNҿ )S1Ƀ# \C1kr-rz|} +}=J.rxSNRxz!:nW1%Ohl̾T+sNb*kٵp]3U+VE_w#}N{H/p?/4_)`B % U;SoJu))^ׇgD([$ÇQk:ޏ[UcW^Zs* D4wÒ,UݡW9FM(A"QI#4H=?VI$VJQJ1#6HgŠޕ&,N8_B}L! V>FE?Lj,3Wu~KO΂O ̩*1L+K#}7eY37J- vГ":"͙cO @-YL=VRZu}4 /;6R qgm/ȱpzZ}  kZEJZu%ѻHŹ7bj)xVCp ST$kͼ?N}sX)z {f_6TtW2h#E#K'^yZÊ){MrĠۛR$c{w"STSh:Ѿɪjs=cۅCH p=8+_VZA3^+$)U3>HZ`b| |?!$2Vih\B ja2|ɽ0D&G2-e_ A2)yl"4O%X\7܊EƓT,.)0--~IX "iШIzl~7X3zD$e]UM:CBd XV)u48+R\s,"נ0M:Z^oY -(a(%T> GEf*|Zu-`ߒI R':e@v'ƾaR 5pNJg菞}th$?dU!߶v,u(*ɺΏ%_T9.ya]Ci_^cv[Mp$6I=!Q7dgQ}2Hcm ճ8g9P<Pm|1g.Iw\g-r I8 D鷺_ERۊE,QWv7l.dF5FR[cS[!b淧Y:}Ϯ_ekl% W[< 9M:ok1<]M3& Wb{i7N&2\ - <=zܔzռ5ilqQGLS\، e` UOчuTozV0em\PlnϨ:Rk _ =ձzajXm2IS_9^Ⳳe|"#W+yMu”5nN7J?r\VBp;r$de엊y&|d2wK;jR/FX""m1J,ip8:C[0|OϻF}Zl8[̶Fa R4 QdH|n#G6=a =i04dn'uK)p>-hd*&\=8L8G31P[q6 ıh4H`E6c *<'|]׳FCK=Il,T%v1z^uV:Oð}:5tB WI / y1V`P1+ÌXlL7&eĆ&7,#si`fCB$k: Wk;俻g؃\3ZIn7e_6jJY$nBqAbݒP61~,w֋|OÝ*P%] XjHwN#e.[ p7YsǑ꒻A> stream x[Kܶ>6\9&@(U.˛J*r!Z3;2gV+R!n$haģO˪d W/Z^jӂez|z-`ptc˳˅ni^2F <.^_nVUY)isզޯBbpZCˬ >H\o}^8txUdOb߲x=*6o'E1ve1I_q T_JY}esWɢ5\K>}\N(WZ-A|gB~\lz[؄?/,vQ%8,ݦ|Kfg,[.J&.=ִ߭.edEY;k ⥆yżŌ&QV7yY\RNZܮTfw3{u>syèIP>pJJC+[l`w0'3QJ+~Xwg YT?^B:.E1.5^8=6+kMam8eكlMLo CMyBD `g,~2>@P!Es gެh̆5j!%Ai:bv8XrLD+UX+6TKq8V?-?G}o>R4P.qk/S \%t]*&w%V[#W*!.םNi6 Lߏ V!84Xr%hTdA?~'+an[##8{ phZ)<_pȳ!Xv۷l/گ/_\L& 8ɥN}e}OivdFvžؔYuQP0W:=3g 8uyAPSw&Р H:c&zvr%$:Ý1]za69lY f 0Uk6D=Io9ZTw₲: |[[S"pmiwOB J %`G8(:!ƈd-+ 6OOxmt~*s&iʚ+ `κ;ךޑ`/?^k[N0A7,$Mk n+Q%\q5eI)5Dsiм.=J iL?I| x衆G-dw =Y/pu],&Rm}^Ҩ|UHWRT& oU)Ob+Z'c@̬:a❻3{̸Х'ᙽ3d+DA!Բ!{l%! bzJsG} I$'LEH~ͬf*Nf(̔wڌ_9^>W/^2Y ,x ,e,9 Kt+L(<[98F[&*iY}K1Vn@~8C, 01n,X/{3m>xI弸8'Oƹb,YtM\g%CovX r]K"fLT+~:4)szyS`+h"0)a2@q >pdRt"hw52^7ToqY3 .7۫a58ġ* +XVrt L:IW QWTkojR8Rg Ʀ eE?OOg|?bpU\l Tb>LFHN ǻ[[nXho#5@i-:9"҆fx;̧4Duiw749Q1h*x2bV%=y'%n9:`w N悏xhfvɠoEJp_Q>ê7٬^dh8g1Ǐ"/IYux9H2kI}!mE)uTL;`Io2UKPp^Gz&LZY*3=1μyu9nREE~!>Dxkkpd=f##Ӥ'hXn/(UT_T%Hp!v:Q&)0ҝ|p=cd; 8t@Nf=5 ~[ۿM3zqahBơQ}d%bvlZtUa5 `;!d$>x&'\rn#q(jn28HY3\s=:E\#+ym}he1)&Xx5пULηJ{gV&8ڏ22y^|v|G:؆'@]W cFE͕,%3زX\#ltq6SEϕybR[q2'&?$XG\DהKzWZ2? =t\",+>\ek'Qϳ^6g';RTg'$`eY> x'[1ųF&%,OPfTǞ` _pu~H^Vc$6?<$?ُ0;8KYIgȿ=rr>1m}I+<[T?V{U3%Ba,f%0Me!C9r# BBl=E+_Ӻ<&;u7GI]]8TL**z$O%79cb]2bO% ,1 x]K0d!Mm1۲B9Fxi:G@ %ˤX(zɱH_^=vQH䂊 nrrc>kT N;/@ mJ Jt1lY55.Mk#SĀ_e&F"4\Awm:<+)~E2U!!,2!\N͗ vv8r\UAک@ri> LDDqa1*yVD6w3OKv4=3EO$pVHe5LcR5 Ssuȶiw$͡\Z^!fn{ @VZWxE`M0qTК|=Prʑ?9̎F[ A2ov1mWp@m'P-_+b{VHcf/Χݕ)nIY/yR62P_7WIB(&]1= dbeȾ,G> 3nTaꌍE nDx-r]mܝ=_:dg -Rܺ#Q&s2x+gѐhzf<Ƞy$o\ 4Yz߯F~y7$~fӀre34ӎLWۘ#xc/b:?]UXWsI>Q-J'xȉEәoz(gendstream endobj 661 0 obj << /Filter /FlateDecode /Length 4311 >> stream x\Yo#Ǽ&? mq2}wYY'@ƒV,)j9˿7?$U} fzDi4Òj555/>wVnfvsz F05Ξw'k&(S;fgϛWnܹfvnX]2m՝# TM-o;t/Uz5Z inY=%On ?*t Ǘn90kd>K>}_wY'NRB(xy4ZT z G@.3L24~or z]Um%= rHпMㇸYg @ؘ2Xx^REsI8LvT",=;|=;h (I#\*{׮a@%l( GVE8v^pTUw䑲0M⹎RT5ךj uYW]=_hSdsvĂ~I[[f &j%bUy=Ә?&+amyitØ>8jy\'zժ\wE^g 塹;"M8nI5Ta'0.p ίec-ە3=H Zs܍\UosI5h$TD8H e_Fdvrޯ/2[6{[H>Y^R+͍/j6v}7F~KAx>-8C|IGʼn=tƋy"znX),Y0헛n}u  :}A?^k|$WKyn?q^(ǫg%ƓJMm2T'HB نED2"!16N/c~Ɛyc`O[K%CΩlB&+ᙑB^¸.5U-վ 2NkƐkAj{ԴGD6X 1)OoJ*l9z-{-w!ǁ@j-QWS /p4w& &wDaI]ɦ05ؔK_HX8ͯ&Ì;,,d$3~1!9[3E C9Y}@60!rd#0T- nc)OaצC鑐r+(3 ⍠}6_0U)EGpe⭲b =z3?*>>~{55@1 LxM9aJal)+:ʅ CEȳCQml$7zfP-/F8 i0> Fu ͪuQ>(W}vQ/T<ڮS:(Bt-+'t!ٹmXD $* , v0;C7fU-MտnLIݼDA>ƃ2K_zpk&ġdsz/p"Le'qʏ. B$ B&7aRN‹e> @> `#,SץZcGo{>5%l px}G.*6eɛU+%E zc?K9N\i2sZV@f?2Y 2;evM`GaH7{<,JݗnBH>K,H({ Q}LJ1WeDrWZ4?%jذuI®F-d +=S 3sXѡ( Pָe_Ԯ~1ṵn8|[+P0k.gt%L6YOB=sȎ$I 4:ԬYIOAF+$U\zݲub1q/r5 ;փh|X_]so KS_Ia3[QZ3xZ`~$0lXOe)JR,`7DbNсJS^^ѬExCxq[|5 |UKA mk}.[2vTd+mO@;`C$A]KxZƉ<$4h~͍xz }@Fu4)bD),n]}lȣc aҵZ_V-SZ:&8jA :KGg14iohH^, uszF4sdО}ximY[-IJIBvE4Ю*v&`l~7qވ J `/R#U${! ́{Ϭfysf3HI`$q:R޳d0t(N\b XQvp7D4JQ h?jK_LbY'cy;P6^ESR;.f piU{r|47п&;Q;INԒv? 17'65Vv1x;b3εA%^<xgSRQCEȦsEڬiY:ry<еxl]F> ]I2lMn-ll_3l8wǵPI;!& G9g r ݄$wVr^>)| HDݬU8,A-,]vb'8\n*\"!B\ Q(Aͷ|K5\ts?,b-`ɊLG)ɻ\]꣫/#Dcp4XrZ <)z-&FXڀb-Š"+^}]ʲ!SA@QG'yfJzX!pJϦV<䭺UPGH5,`Acu( r7?K0rOضoNEEvШjגf/se }O#z5wbL V:3{Hz3<%!]v>pqiN+vAKEk#ҐGUMĒ&| ǚ=FShLh3_Ƿ?%@ƐUb$_)#GG1SDBdCprtHͺ%NRc㟄jRo%s>7v..jX&K_67Qr?l[JڸO'QϊW ?Էcۨ+O9X`Q3|Yl+ta?CĻ\qhm{Mst}W sL͸yƳ$v4o%cO%Tg\y{|:_&SUiMAi cs|\ߣtƣz+[NW~óƶ2oR*MxKz;ĸ*v0Q;L_i"`,_H~"ΗƒT`[X rri@M.z9J3x߾xl zE V_VQ%FM;qowa^(wqR;/a޻qN~ iziUM+LV硝6x<ܖY`2@At-ҕw0u꼯w:B"|B`v9h3$XJ*X]4wuv״cVw=4&k\z"+GߞFendstream endobj 662 0 obj << /Filter /FlateDecode /Length 3665 >> stream xn+_tI AvۺI2!ECE}zJBC ݵuUummN+6dvsXMc-e*'|;#/LbRv_.ȻvA+aԑb,ڒzX !*$y|*_9b M$"#~SŶX's2Z2isov9#PhjSX*irصC5<[uH!]mSx %͇Y7cC`]p &ق˴#W^NR1R kZ9g{g΂pAw: wP+h2/UZ('&,RTr*‹(R .r$Hv@. {3RVƈշpKm?I ގ i:+EVwoRt,Lp@6zo$~FNUv Ds=oj Դc>ȴTiH3 MTk:Ć #]4iņM2!7ba hY%y:?xkLV2MtS{q+7S*pPS< pi`fHJ^&J yhAsaUE>Iuu ^m҄΃y 4"`&\e )INy[ NU[k>vje`\dGLu{Wj굄78=8P5̌Kl%h P5gV>߯g`eGG_yV;~/O$#%yWorڵw-J8~JGThP1&q[z]N%9 [~}ww_2 kӴ0, 0e /p+.} rq"{˅%]q9Sm=^I>^p.6uۦ8<,ʓ9ރf__ vKa=F:XyD!rzSUW;I1Ӑzzc;p }R1Ued05<- Lׇ+f[ „ƣӆoe Mc8۞a|$gĢBWǢUL" <\'2q"4rӀB͡94~f*C c%C&ƑD`}4 qQ\Aj8 ?)fyeGPWy6u cŢ.+w4l}їh&/9kx>/_ S+"%u wR2/J(dAo`LlvőL1 }NeT /5KYB+NWLΘQ]Uևrq[>.8Fb֪vX[t \]yC LenYڃJ0Όވi瀀sFis?`oױ>i_x}1eq۾UD*)ژ~1JT2u%!rJEAyg8~qhU ͫ$_z9ֆ 'eAۛD 5 C -ŇV*sاi5VJ}:BW^GAUL{LQӕ3@"R针Tkcbԕ:pT(_l;1fK7e2bkB=1MF152f|j&*]>={v0*)`B@lj LI։v4E2RT*UsF>I_,X~b026tT$kq1>wA'EF iEЩ;փv񮹽}#3W'风,Knn8tIV5\UJ΂C%{*,e€;Є^-^-*GGtvDWwX|8FþC?Ŵ:a)_ i: XŸ9m P:+qWz Ed!| *^:/,!cd  z ,4ey_|8HaJr8)!|,1EGb}y3ߴ_=5'bw"FJu9er $^A (őfUL$Ě!bJzn':Ou'pw!|{TFM,8sqmַ7S_M tOBMaFxEU <7"ܘ~UnP%XKS>p x:HlB MqU\%w̜UsEYxFlϱ(Iqͻ7/9O-%r9S+ _B/0!If>:)ro]g {J^]g2p9sGmQ7Wq2hMjJʃ}jqc0Cަzߡ3Зg|"FLO9>PzU߃kƪ14Es.}C^Uuk>#fSj8l0.24/w"8g{2®5!z PH^0)=߮bHXęj̞7>~'px q Hezdc8JsL&pvh?efGn 9e\9AΛh-0Wׁn{w oj6a9^_1pܔbi  /3Զ=88-p[ VJMgдpV!HƒSQ 32 W yF~#ύ<ɮխnKg% %v_tvOLQ9D=IQ,?A ۺx }ud|OQgM.0N$s%'atHdr|<2THny#Ͷvo GAJMj_1B~w5tFZ&IbQɳ/U" Ш9oSxx9ڴ ;S. YqD*gƶ'~j"5É07y޼,&3u3n D,ȫ]Y ^8^'~nWqܞ~m{2MiJ7C3ŰVdp(:7|H0 l!ȕC\>e9m5hA dÐ_*vڛCB58eendstream endobj 663 0 obj << /Filter /FlateDecode /Length 4912 >> stream x\Ks^deb*4p-))Le"3lg(Ysng8$m\eppy4ͪ*/{9yʪ];av9̾<L0xTʱ剟 4/3L鄚nNΊ4w󪬔ܹj]o !DYz/eVb _Ixu[h9U&z°@,Җŗٛ©fQr\ӳ+[|o[X8v+eqWɢF~|@}޹*ePZN/N ߟ_'@>-UmNT{>f=kk=cpQ2&l r"<]&w8mlŐ7I 2f%HF5qW<@h.@Qee@^vװ2)]㭟Yvxgb.$ Oʕܗma r@ql/J{a])l2tn͂ 8';Xfo-걗bϸs]W7iy{+ɥpLfvMr2)SBYwTPM}{B]aACzc)I~{ZsU{ZJ rxʯ2nJ&ev 2WЌq v2F\3CJ)L5 ln' c~Y&3vc"NyRvR`81m9܀C--X:{MS,(`,hsjRy;pgS_p]fJJ Տd\DjrlA~wYl [fN׻v{=)SkK%c5|Yr-Ђ?A|ӥ.!祇+C0='TtpKUySaR X"SbUG4ܪɱ(wt978 }_uB!zՁ-xӹ`q{؉yu/F߅1%PŢG ??M[UlNL(d,{IUu?įkVIp!cn}{ si2`AD S6<,/,WI~ӽu ^Q,n}< 0Wˏޮ4u=BxH,H J'L1|6C+4udsd* 'a1,b#ytvǍhHCmufG:- &@q&Tiz+A Xyr|ZJ@XBSکYj/ 8f,I{F4TQd?`^]]2:([;oVu8 ?f8!8^&wUInVKQ+RD A-g;|NO aV|Ecy./Ę|:YP Ed,'ɂ)7K|ۋJn*Y-| 5,mN2cc" WwiL߆Ɍmf5U낹(Zޛj<@ iPOHt5)W98_;+0ՂR[:^GU^kMꠌ]{7*PL |Ei'n >4/4\`X+#%V , Q":Y b+6#Q/cZfA.3WYX=͙hfUt%F,'VH^ k |v+ECMD9i"8Ћ'wAʹvHx+i8+Ys;՛$q*1Q"`Dc 2&I VWN ë vlNCF?EڕgHc,~EC9O靑ZH; |m*=yV,?z@:zXFR"ժ1l`l`Thd09v^moՖ'1{=)a =&؂I44= &y4)Ѓ g;8_el*2Xv]Y}Ck2 oݧS"`|"Lk3]E-x6F+k  ]d؁¸bj~>m2_bbD-gFk}5xQŀY2%T 5f*W> ̻1WYp2hF"3rxCrܫ]__ Hi lBr4O8TsVp 3Iare_._MoJ:I>(+s‹vͲ^)RgU(-M+oXuړWCX@Z Ztxd 15'*1nw+O:ps|٣aɨ Lj]T4عb,>v4i937 2x_!{gb]%w,RAP L*d1a&uN-i2璽mQH)ܤ.' ߗpܧh{ԊΏkOB@:cLn|2e,ve| 34Z9ytoT҇#\;QI!d-#s%g"y[& r*Op$dFNtiAka@3Y[.3Nt:@/uD"H*{nKf\X%{8dnft%kJ0$X=XL|q0{o8FcRtq~K8s H1"\$}hEwb9E9c \di8?we~N>CЭN:$yNOYt`LM[t0UB<5VcEJGN^#xHp0vIۮ;<4&$$wiZT=)8Sl3H k.Qz!i 0d9w*D5~ތ' LQ:f }iߠfxi;1>>KMg$ Bl[.k]v݄^7zC ɽ N 7~ޥ ='endstream endobj 664 0 obj << /Filter /FlateDecode /Length 5783 >> stream x\[uA<ʼnA0tN׽*MZCΎ@͌FHQ˦sÑD!ЃHvu];fMf _mUݞt,w}s#`Sf/5zfPewnܹvl !DݰfYm >HU/wa.]}Ws*^a'qnY}=y8U}]ۍo[X2V䮑gYb/ h皔tBj 仸>8_l!%-.^%$\q&e-a՛k\#j6mrv- ` Q]9@Sn|qlcx.H2yZ\6b ؂_w;U65*U:2%E:z_ &̲6g l֛9,!#^I{,Cȣ'TcnU-|Y S'wDo/~ m. -k4VluQ¼4.jSْMT@Q#Yh ṍph57c 3fwsj%B!$|yw!}T&;: Y^}=8!xL 7b0&-K9& .a`&#dT[ cG z;_n^\/إ.z=$`-ږzJ"NdJ_@kd5_X;\wb+җ Vf.{}%B܇nBdCy':N]&AĜ^ĔhOIķ65y5->&O&ɛ MMh%I;IMc"&m }",yc%x3M[ JI&Am:ofWBDP%hFHֹ,|خB#ⷥ QDF[!+_Q}[1lb|NAY4( D ȝε.r~m>ZC)WQ$~OgvI+pN"T'hhI$` !D-y ~^PeD/^kY']e,o3[@PN:T^EZƏbDT<=uP+T?A; 7 z[NY 1#o2cv* !`^%@z& F\ qckuPRV}mqJݓށ)Y Eg;G6:7CȣE"bO~ˁ1eqXfkhFi10xaC( F(RZd:bz CF \ϭNwlVR>MX b]=H (\`(|UO2Q'CЎÃ4V1a9~lXZ] %^ց$|dsSwZ# :sHH,BMCfXw4CZЍU|Vk2j5 ڒ|T %ʼnfй#`hλ_mV3Ŷ`ʶw܇ Hak)Ubжݼ*Zyn|^i,yPrlsZBٱ-  8X ʞ>eɪ/2!䳳K)Z&@=m'd ..p)Iy ;t~j+;c5fFú2VxV>d1cAqkUnu7S~T>6,T M-i}Y%My) DTٌ? Mn/=<[[36D=Oy̒-򸝑5+8Ι~0s(BNM[&L|͒ 14 ΤUI}͎Lcuꔒ0V5h!# n2 ,üxGugne=/cuG2 $ew( "wg!I :cLv7g/u!3l6p(+jRͩ>|ByRŚTWRABL$BVHc>n)ZA z|dϫ'}QOR$(~_X\?{.&HANYVK@bwIN/.UJI@&*mr %sg9XEAJhFB4e^xZw#Nze~ThYzm8'~߆l(n;?P/び 4C\§`Hxc2z8o.D(ـ];gҹ*{9JݡŀtU/N$a])OTcmlzPm1~xY꺜wV&w>WS'p|.(P<[Hd pyp>o2[}GSuE8ÿgvfP U1@Ve;j xS[P}('*y+RHEA+}^}-t^^Zd գ{Wr. ,pKAEAq=I}8ذ6'e|=sജ3Ifj*ۅ<_VXgEs]V)M-Z.(Ϗ ֧ pضi0`NRLxx!N BH[q< UX s450rGhUJ=$t" Y*r1#iy.  5 `-i E8+^d_c{65sܒ~!7u$Ct$}I LmK%SyU􈑷jѿ/d t 69s/X=_[$1 YhDښn}pŰ:liCT Fn_YVkpG >qgF9r&SRKQ:p y+ i7KBSwڭ/كY=/,n #(DW T4{pbs ; /}wr~ۆx+w]R!ɠAvN?kބRٿ88j3T*۱tދ_Bate*zRc>гIh9n* E):#8CUzate_>{t{ JA: *%Da\N'NA@Q~s|2٭pg"H|oqENhOp>ahU/*Z[:AEϑ#PT:ap ț]ˆxqYWv|AҚK~~rk4@8R}鴽q+&yl$scxbFp9U~QTԷFųAHTe㳇9ߝ N"EXą~𰱡Ѣ2`3dDrL3r̆8:gv? Ev;ᔙZ/v־4b\dd'r]rJx`RbL(T uM߼W~kH.bH-tےgc#"ûm/mʵ1Jd*ԛ)*gٕWaHʬ; Xd5cx~TRt'CJ&B&?> 8UBZ)d5x´$FiH "?ng:J~lH,$fJ$dQd5<sX㎼Ÿ/KU,=nHc$˛M֦M9%"+_?߳/fV1FkЌ%KPb?Ǐ5YasҩGv ըpw4 jA121Gy"cBdhm_oI/</9_s$r?rf5hRN>T<\B†2L7ʜ1+G ɪL#رj*TGxoe&<'GQ=[jK}f~W?P3!39Գ`! CGr<)~bGa ae}o7M>ySF QxYN? |g:Dw aRQDOKbqGR:M?d3sg;hcTPK8 $!ZQ!]'`6j`d7 BC25cö.4.5ٖoa/ِR]б7rjbw#č9ɍh;s'.$KR:˶~s$wrOJliNm{o}>ɵp(?-\Bg[@2Wܤ "˵d7D~?'0Tt;V,D@o7^HJKoY1:] q,gS[S6[?4v+-|~;q^l!// E KG?'~ǁnAendstream endobj 665 0 obj << /Filter /FlateDecode /Length 2353 >> stream xZIs/$F1;eD&4U5AE6elTJBt{{8#clrK-wߍ>{:nA[#-ܒ4#LPab|Uћj;\Sc*L t7djjFc#.Y5Y]w6 VPc`VidNG'P5z`ă|P ڏh9Ghn0G.7OO_p0j>B\L~]ގ?_ߍsa3V si2'j\|87 L~ްﳫ&cET&E FdT[a#?BctF"kMx8 `!iiPgc_ց >Teu^E5?J|g6؍2IT]ŦX7yI4dDdZϛbBTFqˡ(ThO"zgTIc-xr9`;L{Nٔ0s]b6YĐsØUuCa`RBwT;Z%M8v3~N%1:RAI GkO#*;oPi|5 *-<FAA_/". Te2(ey!Lb;bZ/7P=SxlP&S{I/" /$|A 7zd4C|1 _r×UBM@q&.s(.^R\FzQ0LQ% 5 :xvqr"eYF)]""пO){aٻ7biJ(h`9 "pB(I<(B:=99IvyB%|RkYҨPh<+n e:@D[֠idb8 ]لhGE;VZ@](2c*wл3S^c;4 s[Xk)OB}^6Y} ~dֹ B2|Ӄ$߾`^}%>{m}XYu^mPugP-)ʼxU}sFw}JrbHu]\ӏ*9*SZđYl4nYJsty?.ko~J],WhE!L0KT1BM鈕KT{D I1PaXfNjt{, AR l}^Ḧ́yi4dzDDƻxW1L|Mx߶,s"FwcA9VƧhe?dnFܖC_-?&zF AmWɰgϿTm7y_62{/PK]|+~j/P »xXY1P`7e(X'~#v{ #2ڽ`>k Zw|Ul}D>5pLj[mۮtQA?Î[7k7t?~O~`4VB qLP7 2N%nuk;;z^vbaY0Ʉ(6Nr{rS?5M w^Wu^5>߯M(Ts8\+EpFxqX Hf5L0顆k;Pz^~ڵ HTP"pE݊kmj1v% #Bg>뜱RZ? jȏJeFi;zqVU=ث!_m ?1nn CTgAȼ`5d푄[,ϗ-ǐ s'&5Ӿ@^ͨb]T[{"2&P WLnLc{a7ښ)ժ}YKTi{X(rendstream endobj 666 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O10 ڲ 0~ 8ʀ0%:t8K结ϲ=(n H0hYhqgy⤼M2>yUn!tfDSmcL+;/fTgqp 8榹I*`~xS V/rTendstream endobj 667 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 711 >> stream xm[LRqlG=eY2prjkkk\K" 5AQ (xăEA! ɤ˚=Lj|5zہfty}C,ᓷB^qK/U+jmTc)NY3,nJS({5%:(1#̽ rBk)zRie/Wq+*ةRRM ^;1S*sRu+Nur1^_[QS߬WՖW AK|A"T2\0OXOɹmVJ̜->s, j1@Lp\e&#_esnULˁt*>zC,df;5\4 88`Tf7g'4: TՄsv FoV,^bfJaK "^zfX[#2>o$4}Ϝ'ost֑a.o?tJ\ 8Iq]?'նZ>^m2sa]dgrцsyX.@s#H?!'(MgI)E!;LFendstream endobj 668 0 obj << /Filter /FlateDecode /Length 3722 >> stream x[o/7O}KK i bYE~%YC2I[N")QDf7CJؐ_>|qbj5ëo|)p8 teCˆFwИ VVpnz6QB0r4/Ymr4BdS"rU.Fcn=cVABv~_8q ^̋vr_O0ނ9~#% "ROfjJgP]\&Ϊ&i*Nt/b^Lx:Ͽ-7Ytq=K,޿QNZU,C*ӂA΁[JPS};AZPrjVlIg\f-dʍO\s&($6Rj6YO?qBaWN#(V}) 8\g.MfR4Z/]0qYLP" sqP0yE=d1p+&Us3ӷK&fh׺20+N ޚ0>ЖQyRugdZ-ZT,_gX|bDd&cUd_Q]FEJ0V'>p|mfXh~ް4d.'(0d ۰` 8{ 3,NѰSqDD5$x=|9%RF`#~n3n;kX9~RGC(\ / 踫~L3)74 H1!)=Ը 6T|Y΀YқDN(A nd)TkkW&j5eL(,*w|FF}?K w0}6d;s\z!ETjYpOs '?O2&Yi6./NS*C!?(|9Kc`XjW02o|ҁq ff`L!YEc\6 l֧m.|tFu%uL_j!Ë&ZEi.C)jkb^_';SŒ==*n9*ϥ{%kp&U9pӸgՋ!&SE`͘Vզ/tWE aeKpµ;4` ڋYĥ bĀRFag]gcO"O@Ϫ WO<0`,Q:bvrs;uw&c?%P8FˇHoRTӉ4 {"Mx5:F^sYW9#wH6A4@p+Fcˑ~ݿGg~dŨY4DY6)Rlǩ* E*陸'jJ6`z9E75;&CY{F~7'#ӫGuȟ-}d]//W5?6o6HlXWb# 6PMoT@;$^V+X% KDMPbZ31iɼ@OnnU' JʫvQOw`Psj.}'\S Rx1d8bϿ7VAY8C7\ ~:lDYwLPWa(7)tΏ#BH%&MKK?8 QSۯbjy+,BFE}!\JCq7ލ&9dZi(O]Fí͛MJQf$Z ­c7x,Ytb C(r\D^1=6l:bZ*)[%!q(H~h~)l/d466>Hk7Ёϩ|rS >N[ K,\r15-_0H"G]/nF϶xoF9!-nFMWQ';r] *E"m8i.`r ']KCL+KaBJ@8X>錬cM;lz}щR'*OB-RQ8T}*-x''84rCaJ=0@Ґ)3\^@!3č8 i¢ KZ*N*x `[02\ePa4DA%QR1LN9p\֛77NBXH[gmb'oq/J2",]ald">C{B:usڊ(Oz w*y}\\ d[ЃK#d~y~6ֵn%rAFtJ0aNJoeN^xLZd SB护gx(ۜKjc >j/GjtY 2`C؍&[=]@Ӛ^0kOBI mПx n~D{Yg񎙴Q~ܗ]:sѩnűD>fOW7=/߱b|6Y+^}~quDc =y:Ļ8F2fTQHiVJ> stream xcd`ab`dd M̳,ILf!C<<, ݗ3#cxZs~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+k꡹ e```Ld`pb`bdd} &9 /gtʢ3j۪;Z*ʲ 9WO=oz&M 9nzUmiS~\ٺ~}ڱ=/&gw ZynF On}wεd+/85ͬQlKN^,KH>g7ޞޞ =L3gbOOoĉ< x6endstream endobj 670 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 412 >> stream xcd`ab`dd M3,ILf!C<<, ݗ3#cxZs~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+k꡹ e```Ld`pb`bddY} h=?3~}u߿+Ψn,j Ho_9gNwEg/zrMVcfG\іY~ Vp>̗|}_i>ߖߍE[5J&tsĖlۿuwW۽ns7&]-|8O^3w>rr\,!<<{z&ᆹxxL;wB< owendstream endobj 671 0 obj << /Filter /FlateDecode /Length 5080 >> stream x\ݏ#Gy 3z [udrr$YkFYO|o*-MW⼛ _|s믝]NɻNOg)Oo=^w'#.jxg3_ir{v^ )erzy9_Cǝql )xW~ueW8 V 擖 Win^OnfBۭcdkD8hL*ž;ܷ-qv>;欓7(` ӿO'08g@ZEPƺu'WT[C7-VjRu|fm@~Ag 6Ǐ"Xrـ˓_iGgCxu:v4{k ^_4ǾyJȸnk߾ͬ(*\ڽ *Z"*vn@k%J +pAc2Wl]LQܰ񦵖uˌzv}n[7H$¶*J10UK h6g6 J" &>O6v`?2>ϖ=: +!L3K;ߚ%S*  ^MN5@pڈI"@$*k^6N^Gn!1Mн~ğChs EF{@{e(ueYF\hHNvȶīƷ||y] Y"ҮE) d`~qAgD!xWψ࢘OLpb>zZuT"6ZuX'h +X6ncvbП <`GM(Aj&d5([#܅c@ ,3 뽊&1Ĕ ClKmgJj RIH, 4A*u7B"|C";l]@fy!7)ڃZƊ8 #̙|6 PrH`uT3 A'qm$Vf[CTZGW 6ɁAGN3JTa'Ly;nxXfO?976K4d*:,ramvNhiꢸQ]Ӵcn9"@nɓnw%`{XкњҩUoS<Z߯z57Hs_Ĩj<x" wj ^R8\"YHͰCUB*5,.TF擨 HIX^,_mVe)*ZL.|B** N7sQHD4GjUԪjti/t?VS[ sB5 Wi#^֓hZkF5T<`wY[:d[lYk:ZFQ8t \ 6؍rj;jjsp DA>-.^לߺuC[P~jRa LM22͢A[ijvn4A.+/nS+XEs0-hBfg-L-;[~pK?j<0STfAlCXNaLCHlI> Qi95oRH:uoص_I:hM1 [Dz`=½RBTpBv|ҕ2wvxā]ᜎ[G {crHkạ@ԧ'A?^aSVzFccɓezi޷^dBtֈ5zeiN]PMC"NJ}#$LqL^T(x_6Ěn3zkD |A鐸RV[pM9t΅]dOVLH>iRMU!}>!aҼ2sa7,/-nXN`fx<$6U@E<|8y'|OW#,h6,cNx()?G./7p`[I5y)*8,%f'K\d$J蟴8Zx=eX^d=?t bq`@\JS_fW5ҨbW/$.A]Twy׬n_dkB{ƽA 9 o9+N+YxZeT[JOsnʶ Y`a!Kmɋ/_d_xk?r`؅Mc=+}<]uZ4[7٢b`h1b NlcO0͉7 v`3F[3Fq$ͪ}_3XF\B6 n[QWv>Q&uJЍ)p+S5fs姷xW,1m^̩K9? 2b |X,K ZAe[ WˮbL$ˋVV)}53tWxP(*?Ͼ0M+`1Lic> stream x\Kw#uNZ mHwdea9ɱ(ǖ$#cg `w](J:۬yiw\?v D(5"gyN1=Y^[dH]@W4+TV-dЖ-!x' Rug#9RxW"Z¯Esdo8<!\}jINC<JZ ZT1/4B12/ǻ瑄kHl7dIIdHPǠE!Y4)Fj3P l~֙\_ZQ~u0*ugEv-s GrB2Oh A[|ɶF6#xYzG (Y-(%A>}R3Kվ8ѵ-hr #hD>?'~AѲok~SG&TrZtMʫ% O'gxq)^nn ]F:${n̬墦 㑐02RZBµ d%2`])bOl7w }1ny)Ԕ'Ϋ|-Zd >GG>hCE>Pyu#!*=bz,X꼻еHH&(tQx@OBll.ɻ1qn]5}Tu![حRvc<'.(Xu+]u7!˦)UL|*u^{22vsq|_j'Y3>ǩ}J (//'<%m ɬ"`~"YzӒ*cx;0R|9=/:4mn38o#‘3T旟p] p~ ;N Y~ ty:rx礃U;̉v9sB}o2 #ֻ3}mG۾F9\FF6UO1rVx^ JkwjGǍ#LbgWj_}S v4H:_ܔ'^}+'-jכ:~uG5u`i3D#tcf8{S6%&RUmeGc=DR踯>!-GeH }NzSZ}C zGT Eܸ4d˭k kPpPtP;!l5ֳ*}3@(IsjjW4e`IQKL03 a+!W`J2嶪ZaB91qÆzmR$СDƨLV%Jgh$'G]!KXlL8YvTH&%jBnLClVq_s$vV%UK}Rᯂ#O k9Np Z,_q^| O]ߓCIc5s>Q+P Vr*Df1Ms> J/(Wr88SzQ,8֥ Ez[KA󍠔ڮ M7 j? 4_KhB|^۝iAXOm\xAPp3lmjc̔Y):#IJzBqT<|Ϸ J?I9UI&5c2''-)vW6 jY09$ #1h1U `DuQ6]9E$2~I ) TqގS9tM˓E1(B-/1Ȗ燩\0nS%Pt,qj.?¯@BҏF<5J(+Z"R9Ev}e.s\Pfs]桐}7K| eI%h--m_QKC|!CO?h)$յPG^dk=/22*%(gy: p%_K<EJR{LDQ ϗCRT3DeJ\8G0J/؟Y8:5iɫ"`/7(q`n*⻥~z&[EBjgUbݳjJaOIQ4|yHHdFAunZuo6tY_,Cgֻ|/c2V"CNPQ ǬD&lOyj!~ENu2d\֑6YUmT$bhܮg ;F]rwQMh5w_o@*SP:$F QHt۾݄ݛ/J/wa~ƑV 8uEgiSE `@y.Y)2(#z\l07Z ςF:ru3z:16oüH1H2bxY/rvo0'H|$0&LuN*k6/W~ߦO9d?9EiRї YfQ/ש=Ye6ҫb=wmelzx7i,OLY^5 ~p\OuK|HwA~ޭ1sݚno) 8/?51҈+ Ŵi1vzgƾ4kSWz^.onWOH @d2endstream endobj 673 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1198 >> stream xkLSgu6s8ts.1e1h`(ŻbB˭R(@ -->m{T*82ˆ.a>,%3eYe_}}~8Ɖp_#K^*.ۚV).?GWD_%x\n,q..EKОE(c1Fނd BV(nڸqsBnS bX&'HآLLxL">anvJVP+ĿP0+%% ƒ,a;fng]~QSt!ܡS aB<EP%RM6HmFB}@*cD'3ZIv\N_@5֓h h>+5U@=rN P/, 5n-̦jU[dM+ <ڮZQnt@2f!ϼ-=>+oX 3WF2j^^.9_.W>==95䧝[ M`n/P8EnX&ZӲFά3C ChŤЂ6R2Gh/|Cn&hi1賒))}=ܯ`c9 (Y1?galtz'5Ym#zD('+[Hys{u\IP2/qk@Z䦧)OE*0JqmNk5ycz> stream x[o/>(dYݠCM#R%ZM IWNw{$%n`:ffgſ|z3ףGގg מ^BS>v|l5s3i+!,8I]ZZ^{6L8֬'S)eUsž]W^zj2$|=b H?kxqɩɏgG_zY X!+J_Y7ְ|nx=R)oA;{UCRNjٹ|#5O\[UyϦes㳯Ggq(IDdnc6FJkMHl no,4[7ˤ]j-ع1t~nB[BSywfk۲ك,Oye*.;0g瓩y~6+-q,-k<ᕄr+j72$d=l$ntq( ge:6ɕJ`h= HfA%j cm~}^ɳ(uiQ z p)dX\#{{L5kDY\[MU ].ͦ}%'W#;PS#N*U5XwJdv.ыk뺕} LɴrSThf_Ҁ>) #5)}տ/$(R70oS+,&W/s6se%]L>v`֑ vVv$U4 d+ 9[ +͙jm [!8:C+Y 38>xΈeF@Hxg6(ԳȏY^DtȢ&QLq@- xZqխ:٧eh-N[Ώn'T<7?yvn[?_-wSCg3ll̪ 8l:qtbmnEi@BZdJx:u0W((WInڠ\a8%m!VZAOTh҆Itߗ D)>@$jj Q&QァШi/AcWNbM5pxyL|q!ڊ9̮\ if4^mk@ku5صwa>|``*ͷ֫fzư!q}yN`rujW<%_qzKLLy$yi;C`F8nh<* Y'rF`FGd 9`޲70\T}Jj\ҍl_kG9G 3mȡz D{S짒J7,пu /QrESIS> c0 MnJQ[DĀ8J;|09`mz` ? ӂwIM_8城GZ-~VYQQޏ+xL,bCoh{ 5|. +*T<|yx΋l np*y,sz̋%K7X`)x)f Ȁ.2`B@#G4 ܖ~HIH,TQ"Z Ta޲6P!}y۽v}=ǹBǁ^⥙P 6aMNTfb?\ e#5+Xɐ V*I"V7\^2Cyk7TWݣO4<߯6 i-p)J.XU4VA Cu \ A{qɗ.`+ۅ0t.=`"oF65;\]|r|NU7z_0߁R0,} mS}sPENdW@&٢c趬p\6byth.%ü;@U:n}JЏz(JOYmAZkfSLOE3De|Mk`y Kt2_H v6v4 ]uSUcrq*tʶZ`=m>E/kʍ3AmjɋRd#'~QZ<5{+/;=[9^W*Tǿ$儳fD6 @Ja2>hF,%7LEkdžHl.߿]Α՚.TwB5o@wwkBX-ۏm|Kj^jW%]k yG-9Efaplnw0 iQEPw[ ODfv;%)3dx)B8"opWx败[U9|'} ]Kq{0HG&{-kxiPUC%zz!د d 2SE7ZAqpRݶVZf w3LG*l]\ 2 {xv3[`,(x۶õgA g p[8?:A ş#ig!RǛ*X  $^rnKFš'*WBc+~R> stream x]O0  0@p' aߗ,N>~l#GpƲ5 HeQV-ƃ剳B7OfKSUiZB 'mQt1 ᬩ˨*dh*q\C in X3 _xSendstream endobj 676 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 324 >> stream xcd`ab`ddM,M)6 JM/I,If!Cϟ^<<,o/={ #cxnus~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+kawhNbIIfrjI~c##5|}aXPSl?@?.-ꮕVW]X{޳u.]ڽd܏߯\ҽTq ?oZȶk?s=g7 ==3zz&L?guO}20yendstream endobj 677 0 obj << /Filter /FlateDecode /Length 7091 >> stream x=ےuUJ[zcNqr$*.%Ʊ*L˪ŝyf{!9ƭgfIZIA/] _ƪÓɟ0z{z{ Gzi32ݏC?(isx!u_Ƿ|iն;0+鸧jOg[>?$a~xOaV2 hLisSIz\;zN֦8 _vz,Unq?e#FD,(3FܬSF07,NЛDͫMK8V9dĢZs?r7HH:ZĻl9~Fb $bAx%>v[8(|w%!=% 79Kigy~Eq~9 sU% !4 GX:uBY_ Alπ@x?~6n-(V.ԈA*G|^3%` 9eedJO!vmkقύGj(ahvzh2W~"JA瘉N4yՠe $x>(pzj(_rL9n>?B"ElWoR iLvI*l>e[#2^) "(vn,0vJk[!;2#u- 8LᡮQhǺ__[[Z*0v*<\" 2*4p:\0 z9,99A?]~OLB%Uz}MH2&jЯ1h 4\r@hh߷e, _46LbЙ6)^"::`3)hI&R0E{cuWtBwO5AVskSzfݠ[3<49@T2)`.%o9Q@/,tv"Zsg}fDWg^Ak4@0L7pтF/'ys3Ptb0|d B,MƝw .E>P\BjS>6 dm^ &Ô?XTmAYr=YU)o4Z  d.zSKȘ˄x @?y^3y1LgE:t]nJiKP*^OB@Sv/ /p3gC"@$VpZ۷ _QFr'e`HЁ,fBT>4ɛ>/l]RԲRϣvH3.1Ž%$a!OZ`0.:pw!, UIYr.^vЂ=ȶosvJ8e62쩇j>NS@&]r3l7(e0TJ^QEfO"y0fLv+M >$Ȇ=7#;5~ }ڐR"=cj㌴ h"mk 2M+~saI (X~ C2 I_g hm4TYS(iy@$)0fdq xC *# i Ԥ]fw_qC ʓܙ{x&o0(qCOr7akCg-.dX9Ai25]_"2pX@|5q)ڭzb S{7"Dnxɨ^2 /ZzhST(WG 1PźjG\v>%`).z}UJs^ Z%X{2?saotʞՔYg?^K.b@EZґm^*7'$a UmAGQ{ˆ{YcWfyYJ“0 SH*!?Lm;ƀ{eQW{Pqဢ6';<-*9,'iD(BE +EY)ke!!g~ζBկbiQGDԠ= JteCv?I7׋ӓO͗{Ar gL"pgl؆So- l^;`p" O#sc%N6I}}a V8jE=V[H%[xɸauOz)1 OBzeYBh9J SoG7fv|ނEp6 =s)\BD12{cd0ׅ .Hh"!b#Ԓ PLogVV4JAXPQJKA3zXvX-1NLTo#ORZj mdjܼIҝ6y i17$K!Q1dak%Mʀ'Pl R>ӅĿQQD?ƼWr(BSdTA &Z'G"fBÁ{w/f7o+3SfMXc5sVٰۏ2BQR 8%ֈmƿ,&OeVxW)%( صY}gЦ2ͼJQYi 5_dp=DQcI wM[a+C3LG=ORTbHUs]uxS6d/Z6͘/dp1_Zu !OCk[R4KX kCn>,Ǻ6#x!ens?5x$֪d߭߾@w(i292XJ+Lm(pw;d2<[B4!۶YE@*{0 bW)=ǢM_Wp^9( !oMuڒ/Ex'u~80Q`8X񆕓>R<ЪJy@ʼn6sڪ6Ψ&c\&w U!j'L.* fkC9ްn0؈{=as4WHy,"φqH[f#tfg顗՝Crf>bu*D_#d_B+Wg})7E鰚Idr d砇ALSh=X1PP= AT]JF[ =I\9/N߃Z#=wa"YW]lKl]mHhʦo p=1؜nuzbtBR.Mmv rq{#mş,>x90[,{́Ȕ= |-'4!EeYN`%+Z6~ GkWMU8opJ 4s}GIt xfy3]xrX?!||.8yHϡm|S]x4+lyn2pϭ QDN淪&I|ν\lw{<oq覩Q>"Tp"{9M_,cUt]3IZ32vQo#a)oEQF8C!Hp(}.o֫HX*I0Ѯ"SS?Emt530\̧E\+,Høނ)hz3p!˔8H2iNq~b֕EB+jEš?VzFNdT/,yӁ' p̖i}lb<ڲ2B) "둤$B3?mIT4٠Vl<ޥv?!D.rNH"rL#‡a6V ԗ?s!i 8R2U1r..2ӑODeO/ `pڰFH m<$apw<_񎄥+U9cpO0rѝEW?>j 7w_+rҜW ^\T,~L !w5YwDߋ4$ ek?9d(ޅU9w2TM:0PQfU8V+`( Pp?wߗ9iX.Ӿ^RfE<]"ӿ i4 BRW/+3}泤ՒDiaCw 7hqj!.LD"qY3]kj (;pxʴSq88Fv]+%lB]ΒDžW}p [d{pˮ3՜-r:vencv[1TׅS'?Jl͸wKفUdl(-¦1t :bWXd{F/ v\X欐.|| F:_%֚ڧU dY6OC T2}n/s%sw 5*8r=(ց1HS׍5|9ԐbD18SõR=D~_CghNt gii΢Q53Z*JbE3B -vqpyB RР]Ђ=SKkgFhx:PyAPȗ/퉤ٵ5^=X͘#-e`DSˀk- 7hXʲW''&. sE'22/K6;O7HGep];Bu]~$֊_hl?Ɵ~q5(ˏqE&֖*5Oëo BtZ j ;JǴyCAiK8vM2y;M4:1mfEyMf(NmBDPR7?,+8[n1#G|o;\+2Ci~endstream endobj 678 0 obj << /Filter /FlateDecode /Length 3355 >> stream x[Is/LL3Jrpw-Eg1c@V2㚖l2Y-?o(YҐw \3dI+q[ R!uׂ~3Ζ鸴QwNg?NBKx{r!1a⁤HI2VHn$g-xa /'@rM)ltf,Agv\oeHUR vU/Dᦠ2쯀!21lDfυ!0 ndE%4_/g݂p1 V~HRf-Flw$۽pAN_\4c`'6nd nќ*ZORXMHw6DԹ𾅟dnM/}VC.EK]Hs$[z9r-MK] !,yz ?U= Ma6T BfX7*!cSXLd>w\/f=e:[`t~="eډݎ“w.m Mp.c!J!=RG`RCʭ`χToo^NgW@\M|W 3ZR,EԁTC}G(h"e)`9HI:@1Zb8܃>Swbv9Oـ,Ua*+ )f[< R]@j~.rrPV#=܆p^2у^jk4,Sk0x)dn+E7t+Kf Oі}:U9H-?&;7I1^/WjX=R҈3BU@샡S^'M&^zݓ؉G]s~tdZwę,!OzQ4 a?0C6YV} `ڼYflVBHr`$3P;p$>UڴlSuq#}4U'M6Gm/f3pvR@.䣨(ul;YU6BK('=WkXυ@9x 2:Ug<׻UY]Z-Oj/.zh%,fo~ph/ߓ`6ՋHIUYk eUtl~pg_ݣwwW?@_J<ڿ^ju1=_6tW쒋pb_8,B53p[[.Wށ#/3ʞo\Idh@lNKa6N&d^9Uֹ3& )¾P [i#Qa R Rit 㸶1jDkgu} [~$@Mƒ|_m],Pyuòx/;Pm Ǯ$AXb5֚2@=բRp./URC%3GL :/i<\W%Hđ,w۫URc*VEWRSun_t ;lKX2D v] !T\XůXocm569/G;~4C=~RA(Ǐp)2*eu[w#Ud."by}n2|<^)׭Iy9'=#lXpPThǀ[bUbObik>%c,^#'r gi BHN|ju!D~AESWm)Y;ɹ8đ拒hm?HubPy^h&oϓm8ҡWgoM}̇COKy US,CU\Nlycs̳̹DN oUendstream endobj 679 0 obj << /Filter /FlateDecode /Length 5252 >> stream x\o$q7 l?F࡭OwC lG< {$.nw%;vwzW|Z_j{fq{8go=]g0B(? bq, ?Y eθ6(؞]6?h/Chn7R)vy:ޜ/ >4[;.a.oW5yE)'lOܺyƞ4voh US͗|ߞK t_j gY}@ЕS&j Y#gKb v>uܳ1mkvw% 2 S(8TIDf6 i%ׇ~$ߒhڷR/BVS#vQ(О/5hy(LVçWi+URhqHy'm`A!0!sMg5-ىyD$glޮua]4%ItyhMƩSTg*@ $X3' ߖ^G"P_| '5;T!oU.]7Qد,Ls{ҮI99 9MgZ re_UY|=pp#[;?4)|o L&Q%L{O^=_o׽9,?2;̄">8Ypb?ьE hs`Gzj)1i4z4:oNг@>1?&Rp#i2m/*`^LZ]g=xpWu6OK8>bTITcKFT,tM`1ƶI AS-Y{r3!w/p e՝Z,ˡš,0iDk!u4M0:/B:V#g +[Ptq% Ug/"&:ΈHX< tIM8 0}zpߐL dh`ʔbIJvQ|^%3Vȩޯk 8I汳&SUMᓫRY^lAC&5ĠKmnO`f GIxj'zÚpO%UF4DAZGMC.(5G%2S>%=!1Wͧc~s_|Y}HJe\9VG i4|I-=ͿmX~+p*s1%i$KTL<+mm`p3>Bmw{xg'Y:4 &<vIr0˒=jv@b$A kx;e1Z`bR)U%!!TUd tO|thK!""e}JW- {B|ItfU6zc1F P|&Gj'*zހlxNwT^U 6/E@ŰZ[E7Wv@łCke.(oh3"!҈j.\wrS+g 2}CZ[)&Vc?"i7Ca(E= Pھ` v_6i]WQ.2tTIMdM07zإoy&2RBNX|L(`9/>C]@ qRsX*L:*Vds[mAugs`7#%9D N7 eqS!vZQ AK#Xu gg-%1f(eY3{<֖sq_}*}?J)\l $`4"D~4`yR,IE7@ZN]F2@OuZ:eS6(;`ʼnНk~9ө/'ImU+picd.}X='ȟ=[$F z=&($ac!(0?!~FZd=EfJIˡ xgdz} A찱o9i/33c@P_uR"ڍ}呧Dž 8k;zS[4lаgH 9sOP;n*8 8'j}{ nFCT_5& (-8\qjJȐK l\? quI66rTg@,}[q2b;hDݰj8.ÂCpdJɷL6Xdü@ԥl C@u(Jnc--J|-I F6Cm0Si"_k#@jǾQ]}<MΣʔaVn"s[ސuzn,mlHlx]ȇ.ă l .F^6sOu3vԳov ' 4YCZs(U-.AQ5)J,3a. ||$]$.mӰӲPA;*U&7fPMiĶ$ܙq stX,K6Qx`ۨibafI߈&@:JL+0Rg@Ŷak&b Bc-݃ha|uq{~W{?`mً>^sDt֭;Iӣ۩6YAT>^-19l|0]#t,ukLW?J+Cp4^+vL:ԥcؠcbwUXx)6$o&oV.rDZX6HbGbU3,>q1+J՚>@=9WeyHC*Ɉg- Qm+~ tt\]@訴3X" d#G!= $⇘IL*c<%0EuOʀzhPv1Р]iq){43x!= gSrӶ_\SE?ݵ'ƄU#Cwz _Zr{,M,Q.=9NFem:"6xOlXák\77Pq-d3=#k؞Iٜ}9FƜ@&Aa0L w H: G#Em`4'yW g]>VO Ae/'kkI5v'.P ba#usofcTv?S30ܤ">LGP0EGiPx [8V~p.6Ivƍzx=_Rz>JI\OS}ys(.!{ޅendstream endobj 680 0 obj << /Filter /FlateDecode /Length 5957 >> stream x\[7r^ @a{NN&:]v|H3g䙑d懤Hvl9/>=l^Uk٬gylr.~TU%l>c ekI6OP~9(&~۬WoE֫ҭ`k#~ `5YtCÅ9&C#]+[$S?|/8j,C W 󮬳XR c]Y+tR%@7[.n6ԴI\ V[n)R /K.[T-ӝ3"XtPO̦}63]' wɑ-֩6ðtuL'B/jR ~̱V x>sfu+v*YRJns>^}EA }b"\&"[(iItGnިkX׆dA8 0EE šw`xYat ڵ']W '}/ǙcZuNOmf !jId$K]z +IIS= \de:?Togq,|ԛְ0=ۜ  ogKR@2P:v0 _ԥL[,n +a*\2`4BKZ [p0N5!5d+~=}fm(ll೮XG4ey|~VAؾ"4ỸYaUоBF8&Nj< d=>̧Pq]Kd5c̖j=hq%2GI=V]6ۧրp x^giSsV-κrEyt`H*r#x%_$WsEUCwŒ\~ls~tfuA%RV؃|219n>E|rgq%o>'ÝvQ8my ո%,-iU.:P-S4c*i=#fȸ7: ^4,&Vg A}M[Agµ֡V+m'"049z2Zi؂iy2yClkNVD*O\U͗W/pIn݋z?'JGU~{`I@Ww}K1`fN$awXj??y8o죳F;duĞ ,m7);\b91N^?CH餯rK?*mYD-5'JKhy'j?*p.wUw rVu zTrL_0jO w_%*8hU_rdp †h 7 =#o#&n KKyt?:A#)-C P IxF$q%V:U)""-},awVy :x) ~,H *AX XpPLl8ӣ>X0=23JUcyCڜ8~b:o71c)lL)[POiΗb>ZGu(5])iL>[̤I1f贿m8p1w"EsD@Z(gUXx:™:Ѽ:-_bŔ8wC (N 8"AD2s,h JSz I3aڊ{kŧݟHPq#u֝b+mn*Ǣ4|s' R# njo XLծ$]+.'eD~^ʋ.NdFGC ˔lwHBP9tZ]"I/TU##Դ4TJ{bp81%Y0 n>_+^fu_M"zuӠ>>Ӕ2357nShܭ-zbtF!Af,D޹}`Ktͧ[ս-(0LLr9a<$,K()aai0c[DV]K׵ Lt cY'\7 Õ5t(#2"bӆ 9fR؁2x ^ ⡮J~lbbG|~.,M}dYDB$0?f>>Y:zoFV -,0bۓb[08͋u#$4'P Oc8Ēj)gzr_e@մm&|b3PWcJ3빓D$!{w"Nt8[\z63>x[?nKŕ$z;!57 rAM00O࿧&M&6:Nѹ)?iQ)3I߯2۳7̇OYIYpE'WqaEOf$Jr!0Ba̳0U_xJ0w $>#PF$9<%MFZ n@8ڦʳOEG^WiG=DDH_D*cWFllJ̡%M̢ۚ%pAjBirHidњQb%x ^@4iW?aiP~3&Uۜ/ɴ:k}bT(ӕ#R%&`I|H J[yb]$ۜV#<ii d}C8%<9fE+ې=|ye W&Z)VpRi8b[Shq;W@?iecKvd=_ Ϝe0aFy}*LD} DR^Bo,)=ʦ I6'Tn Yr`vєnt2< S08l|a켧7ða7z+[ټ>?ԓTV$'`4K"V%Fq P*T%(Mk+TWGN㇆j,:d,qʑ #˖,5 Z氼|{I:{ơi]f.5)㔛4FaAdIT-,:nP.xgnp`@99Gm xs%T勛" S=fUU#5wi@mcG:*')sGX|NQmBi0B>j 8^wߐV"E!ES~ Q`w?OĭwTnȄYfS 擙'#6]OC1ICfH!Nt ~awp90p0)Fطҁ ;ioCQJP a8,^}tϓI.4 0MI4]2~,MfrDtf`ClOT{N]FfL8t29auS;@;eM_iN)4 MA{ǤMxD*SI+A ){L.ݮP<9?RN>8ݣj(C<:?vTP+!h|Tj]:wu63B0:tD} &\QTnFH.Yhzyσ8NDhiQX`$#V8cnGhc)u5+nB 'a \%!ڮߏ0 c++;#rԟ՛+Td">LEE.يe `at6{:2Y#Iqc]j“T C>eAĜS7DBxċW`"j;$-a4Q e$ť_{."Z xJè<#jhN࣮G|l|^AD\E._F[2to^}c,֝S>Ҧ`îBpG~ۦ3\<1^2kY'8/n%)vQ#!GZendstream endobj 681 0 obj << /Filter /FlateDecode /Length 5451 >> stream x\ݓqOUޮ5)&yl䲝_EUҥ*cV<8W]zw7Y<9 >_EײE~UUz}诋߳ů7[\򟲅e LZ\_5.LR-i])aXj۬JvL6?dr5o+n3umvR~)}VN.bWBVk]躴ܹMcC}uN4o_j7XuٿLj{᧖͋v_r7͛zo_oM*E4Q1夵rPel 9tܑFH}p Fw<%Uyl5 -]&DPrZ \knkU}˫tPYZA<-w/+ 9 htTAkP/YLCQ,˅TԂF)t*pvXԓ~,H1}Kkv0O=~hUn0>wPao]т؃P Ro3an6%-𬋕JV6BR;ض뼈"vH $]:$i-5|~_W5 zksd^Q  & GpjR|62sH=p"ofW4iղeNE:eI`.qk Pu-%`M-Nъ"ӛNn%-5L:!"k\fR,(>Ѭ񑓝e.7 3Zu0fNs 2$TD9`WEgG.5.9bd-,Ř~8scl#5 *>ϥξLuJ)KtކVT{*ЩSRMWΫR]!X,* Ƶ~P/9/ts;f@6L{ 0w 0:C@f9S AL5)痲da( l<-Ӯyy竻~X.0Xj7h}SBUMW<*E~ўaBWLTt^b}`ޠI +rsp<Œ$t+xPn9Q?xDsoНmj%sQւ>/bTXBb! *_C?MqMq&sV0Lvh6ԧC2]$zq6U2ZH!!wAHܒ9`Ҿ≯MzweGE)@:I7[ԺOu2TSAn*wr/.XcP3EK?2!256/0!jl?R]`3b. ~cwuNEExJ%E(ViVLz{S=KܠӺȸ@/6J⤬nP,qϱZaY Xj`ӓ~=1TiGEZrI ),]##7?)I`-3b5 A(-IuKQ˽kкfMgЁ\V;u0*Qi5Qӱ%!28L*{MqU5b?ƺbYLbU{AԇrL 6c:3 x8jZt-ә":X%J0ӄ?Ն|xhDôZai]GM>&& MbU]VP8B U$qmvv3;@].v#kTz1Lmd$E?qN ˀʀ"aV(;,'!oĥ ,)79` 93T]8%cfXdVk<%%b皘uA3ĜZ1m_xĢ?Z 㠥 ,ոA# ;E(XIYnQC0g1%:|PN,MwbB1Cn{~l4d3~b{utf5~aԀ|_l~[vȹv٨^σɬXT>C6ۛ}6#6p<1KaAbbSdq ܃0 uG3+wGwOhWc 8柠ShѐP .ZeĆxvSx(M';b$~0~er!yC",h[B `QCr(eV#p*jka(B &)ffC cj[ۙ6L6Ų0@Zmu3dNI|џWY8pka̔T &M2B:LcSaLy:K&>&s qd~v))5.D}q+{֗dLJkuGɗ@59sI9/8,%n&~ :969{5&ʔEPI$ޛ.O.RJ|0Rg#,gDo˪gzL|n>L 's y5^*|}ߗ .+{}d5w J!Ҳy]l$NƆxmҝBLE[LT ߮4Hs7&UZYjfӯzZvr(ԤXkTE! pPXd\+D% "[>(Udi.(Fi,af0Paܰ~Ƌ ڐBb)0Q s^7SV R|NFf dě׾+XmPLcFԡWYZx+DQ6ٟ(sS9 Qٝ(ܸQ6/LǼ]Jc '_a:J ~jԦZXOC^ :D[_SZPE@`5їihckk% "s? pGJ$ dMYvY>蟰95D 3UCrdyB4%l3-`=?"!bCL. FͲ\Rr%95~e2P e;>=Vp ";v8]C)nI/Ԅxn}6QY $;h #+Mɗti;IF7q ɩL !> 3s6lo섴^9K=kZ .mN ߆VAO4-K°3;>55x MV{Q~.'SY8bJB* x~S_W[. ";Jv GS#mti$ vRl#cٱ#:q:#E^NE/]:b-R^=s;$k hrthm4J1fLJU\*nSK,Mls 5?.d~e5)ˏAU G+/fL+|A8ߚ^;I0J%5pAþ]5Y9r;[ԭ arahS5eKt,?_Ƀ-)frs :4.ujx Kn2hceMQx +:G= u kg <UdMpÍ!0> stream x\IFv>ⱣnB9X0rC"8>Mgu.wԘOi][m#UíoLH㛬 L&vwݬ5Umu a7ReA2k-IUj3Fk%m3q25fzTʆxĨ6:S^4s<[V0Ӵ-4xȚₜ`7: d eFBѝڸ4 OwFa w hZ4Ή hջH 6tLw1I&M #xa׏1aqxx|\|u@h;lP:C>zfaia@0hn-@m=m %:T@uJ{Rmp.H `t^P%d8'sЃuz!*a0А?/`A)i'=vMXs)iΑqcUWXḿ|k &mLv{'݁*k] m"R`/T&@VnBmnKe;VJ(>c8ti;PAs;mc;Ч'| @%/c'0[J#Ez9U [6Hű姕 9?E +eTm1X\W:dQ[Hf0$?_0&XКq^J:mkIA]wƂG؀d_:ĩ@J`@aV=-yF4%s,\ pCm#Ex7s>IJMr[Ckq7R;/NfI NU9Jq'|Gwk–{Я %nG2"~.QLxŁZdKx&@U-mn5ͧMuF.dm46gČ{}4j2]⑙DFܨ1'[X(*RAB? M{"Qs.Kps3Ιg9@#-M3P9hDy.ˊ_dz?&NTCpD!Quێ#@ۇouȷHR|.߼̶qF;q(N&iU[ *lYEQM 9NؽfՌFCO6YvƜdJSb@H%FʕTl 5 \#?dޞnNX(Y+2^<jI0 cvRWw臘v՝%a58Cq7,Vz[JT!B_8h^wƭF|y; {tJpV\,:mCvDsMò,>Dxt KV"@lL˜d} I 15~:bOء#P:3pPrMz'=D u3gáI@%O\%f D4)Y8nzR͇LHO <₩,r<*?KLb8w&;NPoc PͿmgpt#PNT`[9$&2m%PҖFhW0LP-%>ڠd6)Z]B~>SBtjP9P"M+Bah9m呡8[Br[ʎ"QY'96Ez`Q&JucR9u" ]r@GDNUZ"Pp:S%"H_SU]Խx-N nCMP!j "?,me#GUcc)V334.9x+2 #3Oo*ok-/K6.ПI)1av&~1- ܋ծ(D2P ^ysBbҀ7.Ҹ%JPωz&s>iʑOCs'/8=H7ޜ;x~4Y{Qix($]e2>p<}>ŬnW17=]t%yB n@`RLT}h hOgر7bPE^uCz&Y)आUcd4t8r֔' Uy-lOh]/A@I- l3[KfvbBkKιP.q`3V󶵔qŔFs?WN>VG0>hfe0صd= =]{':S<Ӭ݅nnƩW9:bӵ }Uu)h:ÈA'ͦ1k%0J{rըGavcYL %?0 dV6Xgx9:1WvaD^0vYDu`eu-Y"/ dvߖgyү,X.=S-x#&CjR(1%Oi8jwgN,P_GY%$=0h; Z)L%43*$s@\R޷" !%=p X$yeNQ1 `#*UZ#U\=R2Xxf(\["픲Rn)ձGŸKi $U ;jQW5B+(yOu,~WZl;`,1eݟ?7x`ԩAW9e%%x1;!Th! mŦS 9IPևNe.wYqʌȴcSs,UH ̀KF`gCm&+ ?[ daj5a.pb0xTdM(,pUHNiwc3M& e;8Xr]Y36D!LPlgy]o`d4osAGEЉ9rv5r30|Eb`mOoLtyfvb8RN)ovw]}|F$KYY,.ebjF&. z96Wf.`d|&B@鹦([\fgT"č"ᇨNrfW;UtG1&6\t.Ԯn%9Ax\mN2iϲ ܅7:MqXMcu] vZ=w*In0iVxҧܓ ˙/ A'ӑtqy}^͵ܘ#gPC5BѼݞpM3Zw)#gP(\d4Uf~I`kn|̱nquT/}Z& / (' |6\xM( rZ=,jևFZ}-f"t|eSĊf7Z /ٯ e0G ^I.SAҼOkel7._tAM%A.ƗwŔX% љ!_RV۬[ĸ 4;vRר`LfӴ$ KYɎiv3o'v"m^>yu╷s\Qc/Wb;7ea&? ǻ™(WɃ6}M!ԝcܧ"ph:Jљ qMEoXx_hykTePۋ͚’gs lf2N;†y֋D!õVp،/\_.6Z.ӿ|o›K _c dә8;g٩R}Ɠ{f IH Fz "EK. +RX) #i=&3MPP_;kNM×0b⑫GCQy̹vV .W6qǵfk)H)]ą?LJg<&%*u@N`H"'ʮj|v#H\#ohF2(d!2twc8]g(Ϡ-W^n9CRܔm>ND+7,"/_U|gL/vGf/.a4p3oѱKI&6 bEá׍>2$#f ~,N6.]D\mޙQ"2? '92C=$gž4;%K4~wC"ô@B_Df;j6vU)''d6TT0,7C uUQ !ާ}~r.`8I?6zLSpRVcJ![SN~ax> stream x}Mw$DZ~V+{eÇhU~g Գ$<I?X 1!}tܸY=G]Uq#eN}/>9y_ }[;g՝TwRRٷN|l.)/rǗ/yק~I.N𥺚,_\}zo/S m/*[/oI~x./7_>4J޻ߥ|rsqh^'];͕tR.t%3`$_";˻ЋBQ)]zoaOϞ}K)ٸcL}pR꾜 Ð\=䏏TПmVbcT L*(#(CQZډHWПwb 陋Yd߼~1 Loyr;i鳄Yw(>]+ "aֱJ=IrdZۜaĖ &0F-<%|A^be <܊s.+,I1Iv[3V%Opwʲ"]}:Jˁu-gV Lk)$yKn_SΖH>eqU+)UUЯ2^J>}iOD"kdm0@痸w*ir(Oл )i IT'$A s/T1U}#QB1%ҟ:wLIG(3$xQWQ &jP)D6=.I=<(f,|JQ&1$ҳQ/= +JkvAVQqS)OwH)I\'}2X2!7Xx D)/N]JVXD( .N9'(Hgʠ, rp@Q"=$T`$+J0ȄD:""f i. DZYuF*g KwںAVԈ0oRClF,SCaĭ`U sA5p^d0R†/U$b¬$GQ~^$R!KEA0HhHQz-K QTI.Q&E"ɻdpd "h d9o'8Bi\ad=/*if[iQ+ӻZ`$qtMϖ遒T1TRaҨd/ne2QRa[Ȍ4.^S.a#T`2Tyy"= m%A"NELZE[(A7М&5&P#]z RM-Igq;KuGVXdiCKIT#V;9PluVS. vK荐~#\$Gy/Na#W`L$G 1HGJʂ/g>^=lkLDV^$߅eeF:^=svI"AXeM* 5U?T tɢцJNhJCnR*Y g4D\2;鹐  ;D%ɖ)]WsI԰>BE%Ŭ#VAĈA Tb$znh!4 2SI;i2̰@7%u"X!)XUI5P&.c&ݖT\B"5b`Ztp1:edF^pOH0UpX5FM/ҟ^c94~k1P5+oG5IqHg8ZJ #d'LKtaPH2M5.~A\A68j߮&,8 ehp-5FhniW^R1P҄x{i"@#phn%T ),+ ]CV/FF|GKJ I!j*|d+&9|OI]JI1~D _$6Q? 9֎jnoַ^Q&0;17FqAb(1iM>7z^=U{M߁IuRyA3224P֊zbnQ0\\9A]`V''яQqEG5]G5YI")<ؤ$Gi)o^tT$D%&9J dII"asF`0t4x |?2JY@D |y\ώ7#c?׹0UxY8Uh%DV%Cx%H %W

hޣP@UbGP%Y1`܁wI uvOT qs\b}v i!EFW (ERLS>Kwzx#"E=V[x,}hWOFTU%qW?.0RH:V~,D|FfFFSPX @ ÿ|XX,9,ҟyMo @aT!-^-6PqF&(Q)d:r 8jF\O" dWDu.-2@3\Pݠf>z:"Q(.'Ԉ bCm BM$I7iŮl!F#kpXV\GD; U:G }@Ea&Zb0LNebSXEZ6G̰!AK2 tv[2d? Ibҡ $(FJ *cB;=aӂHZ%ՆF2*i2ŗwjId4'Tl(=植jKJeeg߀/5ũ(8<3DфIM ZÓ4i⦷ & vxc46(8-;hMu1ބJ+֙ 0lRU5I)Pt)`H]Hʞ>0\7U< gnjv`MJ?1Dq ֱ>Q$J6{´\a*ۚ?ܪd:Ο%KHdn0pĨq`6u ~pQ62k"SsZX7 |c\vH"4IQG (A~8[}E^DXҍk!]$Uu% ^&Jw,",օ%bZVvIDDbE1QMJbK, &i,aRbμrY-Sfv$akuZHGֵ)=㫖d${] t+ை !D.1Sy 9E5.>3έ)~Qc:Q\"QOPFYi.VubKM/C*.[f.٦*7ƾ~j'hNA4֗$Nl BQIP:x-ϻLskhYj1[ HbSZQ͔dnJ@Nm챻:qUjNF6]xqkH1|@LoDgUKۀ W+uo6VcUEX p7xWQ+!ꎔTn""Vr!g>MI0{;snXJĬ=P.x l}\8qk: O{jQq .Un#u5+pa)l_@HXfd`%*Hr&; (0Uu#aAkwC$dj˔d58sajrE.vk &yS bϚ5N]L 8X ̼ !OAF] `ӕj"[Yt/>*PRuZiԥXt/4M:nVPK7 l Fti q}:.;Dԟ/v,3%,Rx.D-.Q,f\>q3a@FFiBG]0du Ԝa{/WPviFTs4L"uHV1/$5Fm J.6qŒEljBM F(V$m=Aru D=VQc;q 'a agLՎ+D,st|ziORaɨ˂ .1ʭَpś aQyFq.)&:vK5zq~Ahz#_WĆyE'U0c䖉Obb"NX XNjc-bqM 88^j)2M\$x^c|B Ǵpw-D%%mE0IM#0/=9ûx&.ݹ&!uLvFVHz7 ^MdFjSZG]&SRy.93|X/8.0({KlrL3v*'c95-qxznvPD2$;q7:nyD+ؚf =JiSo928ơ$C:c}(Iơqhȡ+JGk6.ơ$Gr(e0vqR./ơq$P#e$JتQ&ڋco|r(edG"Wơs\C)IC)ַPʀC)(a92 t^ơx,EPʘF@A?c)R %3-P8>JY$AI—YDX^1(L};Db`qPNHw %c2 k ODQ94 3Rƙښq(wt% *Uױ53IxX2֟Ϋ{p"QJdHPw;c`RB)c+=BIg5"Rf-jeP*_XQLcPL$_;O8bROʩc>i>)N/2v>I5LZm>ISFJ2T>id7FwT\I4mOOR5IY%D T.I<odJ";W+H96% 2I 5;oFb,юۭ&Z AXo(n7~*a=?"RO_k{{#foZF a}(J5???̌@]r)F'-&9J Y G@711Z z-3Q!Pp@II? K>1x; N9$g5ShbzD :X%GheF3Z, Z-oiֲJ~RO;JFCw>5ҶZ۞p=$Ojy'\<J 'yUS˞3& MZ{rF䘥L:m&dEm>M bhE$;<@eMPQ2I$/)96>(m9t+6)EN!m)pY2iuڦ>mSFd1ڦ\P1"D0,3cmRЏ/lM2:Xr)K_"kS#ىM Kr)c&cm`E1'6I'mS..!;$'ڦ\۪h36ጅ7'6:ݒ6)a1ڦV_eML4pN$j6ڦ#($Gm*$3ڦɄDm*JCj'6WFTN6I.lbmRVkM%lOqh`n*yFTPfӤ0M403b/W+uSAg&XS7ieMZIKT1& vFD& 3ȖbMɛFI7אiCYo߇M;imVo-Mw:4z7Mc:4F7 Mt:04L7 3MÔ;04DoӦ7Mcv1;ӘꝿiNDAAaŻ{cpZNps8 9Nv';iN4|r'q~8 Y,NY*YJӉjԉƊՉƪ։gDNhD`4H GXCBsuȿ\)P#yv7˿(ٷ]XZuפ&sqws_;^LrKu5˻Ss{-*~c# `?8E^\]?˿ڽzoY;vJręEwIq//^]4 vwN8ڋnza7{S??>RIwr׭YtXmB k\f:htH鶯]a~ [h/.^:>SԆMɭ|j,۵e.NSK]-M\_7/|n^Qvw: Oo.y~Q4GŲeoFl.ՌA\#O;ϾoPe:h O{dy`iwE緸7[K ^|M 2\k.̍Sy%"~FCM2crs{y7﮿j9[yRURo:W`;;%?j4CM:yya= iW3Mg  Z#}mQ5j|Gc@#NLͬy6j{]*N7-0@m ?6n6Fs*Wnէgewk-cɰ|k*^Y1p=)ؠZwo7dӓu9ݫ{E)C 7&.K&vyۍ_`sՕ,Nvz/7aLSxq~2!8vFZxy>ܚśi\@ ŝc堾덯 Е]l#(Ⱥ_UK~i+6~[˱.j52"l <`[Y$SV~!A:8o,>qns6vss=O-ԂY)*@MڋyrXvWO; fP3=՛ebn?W`9{~5ٽQr~ÀȷH2nu7fr} vbHq9'^\k%;ˇG-޹M/zMC.2~ϾX1fϵOёksw<Ĵpz/Pgf@~ܛə?\#Fm=+m;oĺg \KXvՕ-v67ž' %n9$SD(X&Vxk2,_lwqs;U+4/Qdjm*N(?|sпtMi}?_ߋ(.C2-7ip~Lv?’zaʍo^ܮJLaҎSi/nO^T\ ŵ pNM]"M^ ߝ0@^f۰D<,|d hJ|M2 S'J,m7wwo~_|>~&1ʛo/o^s4[8'/ ?&>s~\qg3ږoYJ{ܬ[}mĶ~4s49 qit&` {5#<~[W?DŽȴO.n.&K.ξJ|YR"Y]nv~kDv Z*RT_^\}֒JYu>gCtЙIgˢ}W\R6ScJ9liX3D߲ЇKuRޑrRLVU{L8?/.ܾC#ZIUjVjOU\!YY-"坳 ! Ȓj}?:/ hI":~4Xt?lV{!=UBWۄiU ۫FXk6zd.ϯ. U.}ݹO~KTVkw}HG8l75FK29WµDKuPo.uЃN9:_o\9#x|IF\k'ě}s_O\5J;_W'Nj_b?/o{u㏛@73אU!؊"֎RÀ;|?x9@>q0#1ugׯL5WNAճ $Xn DB/u0= [SZ;\%Szo_CWQ\TOYfSb9^[M#e[JM#~{ 9{gn9ŝU\u"endstream endobj 684 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4695 >> stream xW tYlNH*h2cBIHIiFBVY//ey.I}&rƎ싳ЄH ҍ2_/ރws<4{{'(@kSY+婹9gnWZ Sӄ97MBv:9:A44E&QּJd:= Ų}Y̞=wL:?i2i٬Ui9YRj~zҪYkg%Z eIO'JL*Lڔy6&ذn3f¬Ԋ yjZY⬂پb,57]QX"-ȟ[V,+SX~raϊ.O\/ۘТ% 2ɏʼn{P:j>Nm6RORjSj5z P(@MX l^`8NKxv*:#3 㟏JhM@]?f˘ǞwdG&&%NKpq3=생LOMrH:.yGg諡ګ[qW *#X1 7/Z^ ;<]Uxְ:q萯&Sle_Õ\AF27C.jw#qaGssρ>^P-*P;z֋p3_ ))t ~ Wfe[7uG"C|h|5y2P sYX Pi? P1ySn"N9@65fNU!@o\Y&S=o)] \z6:(P%;Wt=Wy+KIsf(W ^S(}gxᾥUemXLSJ~/ЅEIj3Zs#546Fٛߺ x O<)!֝ړ}z` 'pQ M{+ V}Щ.1󍣽1%71&|N 7~-D6[ѓÓv6Q>8M Lۙnd^aOW RQKy1sjf(4cבt]iF!tCѷ8W/|-fE{Sim;Fn& hyq{I~Ho?B<mYy?;% as!k<6^F|Z"B!(C}v&>*z oE <`+xo'Cu¢`E}(dM3p/oU9$lnkO~ re& +څ=l(wtg >SbsxvnJ uWU4 )a~?cRVΜE ٥%\bo(:e<?',ykA\̗Ι?sj, IGdv+O4[F3!16r2Q5gN^8[8OEcMYfLCWG %91xIpldfͼӦjԅu*ة[eeT9@2؂B;2FT2zqxΖnW5f9h 3-G|'_/cuJkՖm^i=3^Kx[2K.78a/v6jتwokl@`Zi1h&VF:NgKB>0#Hd6bb -1Ab2.WWwmk}ZG"Se,thŸ}n+9pjc"GyC4KN&iOUo - C Bpyvv5A W);TΑ0Jt9'i=j f4:#r}( Ix|w9Ԏ((q ZժCPF:B~Fhj`>~)W_,Ca!m_/>(.( /lXŴY_Zͪգw1Lbʲ#ű#c[k!EF %w9EBGCb79N1ʔ ;\x7D~61GxDQ'^c=}4gɗ4,Gg -㕷/ l9{su,^qHQҔг(-e3n -i4u!hX&:hmt蕰*-'x -$ 5M׫a]XYTo(cNhkg ^>~{eywC @z[DxqE}#D e$v4-),dXw$F3z؝ZRus驹@V:.ackuٝKww-4 |@$M]#@_l=?oSxMQD~(sMj[a{)$|-Jc*L 7?m!Ьz8{Eq›bء/KN_(蔴ow; dv̍h=-R Cw+ѝb4wd?TP.8ܓ ̑7@ߺ ɥ Xër^ς\zLiHV3x%^Ode1zbDw #D_y &0h\EfE&mx?>"E><;Eub %G3q;v?'NJ~.,ʍԇbh9EeVɬzWwc=z}ұˣ^f;1-Y&1s&9<Ƹ]Fۻ[=MACॽQ"/˷o hL٦.a_%{?KG_ ѦAq{I$?$??R3 |coڴ{?.lVZǏovsⴍ@Q?Fendstream endobj 685 0 obj << /Filter /FlateDecode /Length 199 >> stream x]M blҰ.4FaQ ]x{ajqMyyd]Yhv Na1֠4䜎F-UMғ;Kxyq/rV#>If/i@ZD `ǿV3<炴粈aHݲcF$&J Z}I"ϧj 삡1Tb,|;\4Bcendstream endobj 686 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 950 >> stream xmmL[eǟrnc:PF 2tDp[& +oBː=Q)SB X4DB2Cv:hLr>?9 EQ^+/WprN2]E(9E"B 2`_@07ږ?nPx/dzӸW ?.)a^zEd_y4qC ^po&^wwx*8x16#\Ve@?m?2,l~3+ڻc}Xoݫuku=*dm!BZ:r%"i{WM-G2+ !wF 32tANqK#'l(N+:v'n\_f&_Ti2eZskڝT&S8)"ąYz?/.!+/qcK:n *B`e;X[4=BE_:C/y?yL5xMφđH" I9*Ib5;n9$]΀928%,ăendstream endobj 687 0 obj << /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~endstream endobj 688 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2382 >> stream xU{PSW!M޴V[ڑfg֝"R@1 $ n yw.j[mWjZ}M;vf\=v/vgvfs}}wDz!ܔ+WU*{|iqnf%T-K*ky)We<};݆[y}Ze^XUQ>ÏZWKKҧse5ʚ*ntCNntb??X%_Q'--+Un+/nlyY-[s'TUʪZ9A 6ɪk֮})A|b-!#^"V&b!q%V"xMp)-*\!<7o޷"wc $(4aJrtR-ywQqh8lX䤔{ʁl{z>:~d͇W;F֯QX^GYϔ* hTSv#e*r8&]ck:[#8$%Du|則xRǧ&.9ҥ.&"M!mHٔ1$R~V}F@GJp- nĭA{ބdP_E J>uԓPh !T`uZ,N{ ɌuY+Pewa%ͦrL͵ԐFF(4!Ip qy^^q3eВ6%h0C\QKkX}:=;NYh>LHnfHVua+9C@z}hw~@R=@6ά+*Rj-/=}P2[jKHFИCv_ ܨӃ@{hU U-Fw׍aovKb o0(롧QNɑɣ=#@H;=Y(xxQ+9@1b0]xi~>~HQp H,fE r4[sY.N~j-p->%}{m60JZCIq~`Y\] (Cx3q -Y/{-Tkwd.+L_AkKb4fN7_} V>N:p6kvl.ܩ?55 ǏycX]9*ic ob#`42exY++ReN$;B>($ɾ~ɬR]S6L=etÓB)y)xC.b"uxȤRUJZ~y7T7|KOjG` z~^ҴB?{ ,>k+cY8?ϓDdv;t~;v}d2ԵKM-Brhas9cy $O4_76'/-y0h:RO^^[MD*Yk>g< YH>@Fg ^g4;\Tsu@u$S)7E{a8K]h_.ßϲg0Mi:͠,tdQުiK߾UgcW|N N%ԻBtZ]Pmjo?;H%f~e@@gt2t%ɉȱ=$960d,lW\zS-]\?+Fh& T xw'Ho#<.mP4hd?%3bO8/ߝ{hwN<dWD_w/j6Cpf˰Cq^mT]WX]>(Qe?~OIϦuPjuDوfvhO,vGgNONC"Πiju v +G^Q"Qw,!cQQ[MZ>iKǮ=o'b^j .h@&;P2Dm?'{ @BK QG|^9QR_QH(F{qؠR'-A[ Ђ9>9ԚQϓH-AeX"R%K}[xJM-RwqmmK̸x M2owYw=GݙCpf}\HP Rendstream endobj 689 0 obj << /Filter /FlateDecode /Length 195 >> stream x]=0 "7?EB^`a!ib M4= /g~$kIu&QN44VGDu8xyimKbƨžaOkm@ɮ+VƺX`e/+w.)W> stream xuU}PSW7/_Ej?$hꈌ+VVU?F!|$! A 9$ATiKm;LmݝK]LMn{E:}~{~A.!lHK3r֕،yVs~ނ6MEK;PIFcZiPRW@ ѓIvoߣM0&rRpNc:y- eL=5@q26Z\@#@ TV8Q[gdfzMD`ˁU]d'q+My@Ws4 TJxtJeH\TQDžvc+&]uFlƗ`ԿPp{nF)/wwvƕLƒk>D[ l “1 |XÙ~G -MЍ{\HH12]WR M>`-܀8od+T^Ưgft]\+Ob𞃉vIy}b>vO>nS G!?ՅU_,Y!_-dv% +nV:CPL' =qh,J˯R7.+M@^GtMtt4W`mIݡL œ+WGI0儺pBTQ(H% gƦ0{B )Q&'l5i_oW_r{G٧.lnn?3 δ?=@ \ͼz # ma&>dOfyyl>+Mҗd9߹ڡCflpc^L{z/Wh>;Ϣ~CGn`X:Nhv&' Hi2=.8;DńP9oG RrJ& &ԁZZô:?^Ï9mRp ,".I^A{HG$RSX̞Ql(%s$T)TM W.iPvFF3_q ^OSNįf?~=^6Jendstream endobj 691 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1303 >> stream x]{LSw若@Ap07|LM'>p&D  -H(CGJԈ!f3a)]Ӹk ,'99'9|?琄A϶2U<77*8p@pXpYLIHȦߓϦ y#s;94ZylHIޛZSU]d Pw򾩢MM? M̤N2-]Yi4jl & Pxe`y2'E)r^MCWX+J:*ni< \n0֩ ];оk#0Ʀ3$RJ7&w2D,t|H"QfW6׏A^/Y6+LL`& ;G`ZEM">אǚ绒pɰWȡBP nh,̂tB0l9Æfgx"E}cQ$]PY]#@^wٟwvwt /wo]KV$\;$8/78,.*8;t:# r-wwvtp[yŦ n36S53tYXxdTt̪85> ,oďgϙ;6P)Wj#FSfjQ zN-QoR+*j!ZDQ){*HQ#)+*MP"+j)5Me[H- #0Z|$1ѡFtdQ'Z7}fU[Gۻcc]ºcנ6e0}iN2أ}ȿρUo3Ӭ'D w>z0vƨ xRN_gl*zVqr[[(VP1fzdh5ų6p8wd}dϑAĽXf`Z-A.O#7k%״ ` R, &|u ۡҥ+ߜ([Ҭ8 W6Ȍ3 Nᰣd*YF@̑e$#mJQ2nC|< "ɏ-f9 d؇-H/+l8o ކ#pv!8mUAOfH f3m@}P-vɥ~ckwfBůe iƈF!{AhX%K-T2(fi>U>HεW<uGcM!^EsGum)j~ɮ~C*U | pTU2c9NCbЁhɦ;>ri ԅIzE/(٨8!td(M,R%˃tNrJUG]j)BNaNw`NjJAWS@vݱ|[NPނrZP-0_]%`3HO =er$4{^{W3*^ 3{ [(K{^Z|V?;|cy6tL0\,!ˎKYìBv{gʉe/R?}/&[ I.n: g/h5Nf:TR9zui2C2=+tWkx)`'yK:uviT2hzJІWid,\y@ =@d- F8 OaG4鼹@% =́F:tR*N'ILSdeyz` j~ {V=:#nؤ  MFP@`VRZQg66?X*Ejrji:HܳpD)< .z|e2v3b;ã8>=,C[O7z;$8)# ^W՚T AwфQ²ce qFp+U7o: |rH]*lPdfOix*$z dlj!b6ztB(-#]c6X NXe؇4ˢ#ýΩ:+.i@d^| +_EE P*@/~-5O"[eqIDT /csvXh&B&4Z LJz M0I*'{b;rMfѿ4q~Ѳ^]E+$?B[4 d9%ꁨ]P?#4C3pg nqŁu[9f>ZDgyxd`<KݷШ;;+dkhvF*2n|g[ѡ:K`؝wx|hɯ(O,0p3Y<>Lzگ Y&;.|?EJl'^c!:O%\<-#֢T}RT1be\28P)i|'luhgR^nf~V^Z2#[M]ݼ3谤&w*9t6VR-ѣep ykXrRKV䤼e#}wr8Sxa{Ůe~Y O|Jbxٱ_IP* %L0**ܰcZ{ eNG]K>&^k>l~2kx3e˞ee*UX QʠSSx&ƃMh,ĵ80V0kCMebCy0__ɱCPYD!QזTsx50k>P ~I\^'+2eHUV-I%ӹ=AoF?mr7FI؎g_dCp PYt; ߉2H()\ZyLQ^Vv93BXYZHdL(/4Xd%hqUElM*49~KŐ#?'AiWhMP$@Uh ^,0/bxN@+@ΔW3(M@]G.눗$%JEē'&Q|͚1HCb2\,C"W+ uS4JȜU.; H~z Y 8\DuD$F:lZG? D@6D#CU-gmpeN.q.ĺ4oޙ|݀iI4{B{ǒ?:#ؚxNQ舅(i2*B.-v` ⓨ[ԬN$]Qha^l?z$Xhɓcm]3 GSxendstream endobj 693 0 obj << /Filter /FlateDecode /Length 206 >> stream x]P10 N+(HUX@@:(C(cp\}v!YW> stream xmkLSwϡrnִ^N̹K5.N"+P(BKrz^(he /ӡfHL6lfq,K}6wط%|x."8%Q_03kwGhc; &AI2' ~øq'x='>$h4!I݊ԣ50y잀sCS@\F}?%ZcnL 60$gq"tP! <>3 K.X=uhz%TQ(o"{:܌[rcG'灸1T^ `27߂G|F#ern@pGRwz,  Vi;(( OZu(zt u_)6(JðC (9~v 3E??<~$@+‘PJViC1rp]{Fɪj/xGCO66-ΐʽ[ƝKOQ&ڊ2Оkv%LU w հ"\yYcu%?}} }^yU%9f,!Ũ TȚf&{Awzsְ \sxeyɾ E\M`3c9+Sf씝G>t0@FBS_xܾ:`N` &jI0<3WPijQcnu$}$q8 Hj|X>l:HO;N/dpzX(v1#0Yendstream endobj 695 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 860 >> stream xmQ_L[uvc7BY`{Ctdmeљn6{J۬Y ?f馋Q31&>l&_|:L|21pДizWGg'pYǿ`q8G=HEj.7妪 /i+,]jKuމqh^+ m{ Ae#kg|c3n:͚FoLvg|CyY {X,]Ǻ?vzaO(#U5eqj'h E)Vj'M?K^j~Y{L&{ xGX2LU\5XQN;CL&[^! w.n 0184F~pBf)PE:GlWmXP}¬6MZP﹖[ɳxʂz6SIY!hmO{ɋ[0 p:EU(pnxSl5 lɮb6Q]"ۄ4,Y7;悉xރ Wql *mԸl, e*4d 粂pFlh(LQ`Bd25ȑGXL$/f|^'㉭0!?l~HUTEĤĈ{H7!b"]ĊF h.i*@0X ]K*"Gڛ? 'r85`s'+IZtk`/,'zڿ/V4m-_OKuեv]z/'d!!f)1Vل( c-#endstream endobj 696 0 obj << /Filter /FlateDecode /Length 5491 >> stream x\IIvsÇH89#33  50S@jlzHQM%IVHfċoޒll֛j_x%,v3k> A̮xy1sA檓v~0X(Q6wWo׫rb|_w|oV?BvG)'h}Z상bW___ l3!̬ r f۫;|؝a>Zz%M #uKg6 2j@6*ʪ|?xq)ORšɵ66ZoΖqSX X%_ۈWr"uP5~傁bWr6)|Mɛ9.#0~$Nҁ8 y l6X @l^Ƭ/[l7$k:K}خ72'X@r҉0[H.7p!7=Gh`x%tice- 8@KDp.W׿2{: ;ڪfA28OVot{HAwojmƯE(`e`BZVS7?e`pKDbOLK@8HDG4f8REcfjzFOJ{G `{/Ut9Zncbf@#~>mp.r0NӠt1 ۶s:isc`3e+6YvTE=5weRqB[K-ʟ O P~P'gr}k1-@n%ht^fe&h(Saτa+a $OWa$Hw/kdl4HkE:!jLR8FO$W#|7`Ghhְ{L{YduTcD *^FУZIhd}}l&ˡCwu!~70vH% h c t_^JO;{_J|G߰ZTn3 Pi$ AW2I5غgl4?K< UHFK7he !?ZܶK!7pIѴE/^lV#JO^ /$N#&cr8݀nwpZ4(F8</!Ф/0(#;/W`NW󤓪 ؼ~5{#zr )bxπn`wރgg> A>L4m@$pxy35osߗ1C"4貑R # & g}*}r,ĕOZBѵ9)N cZ%X㡀)j3]bJcF6K!`Pߛr" ?ǟ!l62 6\#Ŀse'WqH `T ~^/SO3VEYhpιY. qO}j C52*b 21N;!LYJڈБH .|,./V.xU~I}WFuP\VTBcE%)0}!X 情Vw (~(-l.I&<Fa ^t[HoP!OqP )觓]fg"g3 p7, n9-ELϛr3)#!.;8P:(iI1-_ Y+i3k+GlQlUV"zY+ФIUGxΓI۔E\_)8jlK d @>\¤fcަȔ O)"4"^;w1 R0AZ6CƊ\pY"ETw% J<)$ r3)[ b4S0If,d!4H/{)gMsJ yyӉI6b]2TqMsz8JEXYJQ̳\b2¡O4+T+n./q}<8-+|ܸ*zpF< 1<ѓ8xNЊӭ-sDiYu UsAxsLRZӰ^NCt QvNVHw|qB` 4OM͘$d,)]vhTIM$fLqc2=4xDIVUrzƃ#ܭҽcM["{V._QZX zU,cŌNsS' NLcc6Э玕fK.OQs TDc'v؄JBH9j_A" &tT2XLT~\Mz^CBڔds 2 n(3p[ Ey MVmơt8%ҟ.Tt*j*AԤ79PBwcҀÎZqv]s7<+$Qh"cVڕEAbR[=$_BT%?>V scdߨŤAnq2ga,/J4h 0]P> <D6VHBΦOHҖcJ`\@O@1T9'bpQ]xNsО$ X( Ih:iʄkWLw⽤63c~Dَ]gZ՗ahۜ^жuA~) GɊUCӝ%.5 4cC~OTFi3nZ @KMW4ΞyU<{(mNW~hWe eO]Y@* 2V2/3>0HG',̩19iH{i,KCrK k}!z9bhLn0xA6(OﯺBr'/ъ SvZ C> f*icCg s4-&ZC{8vb,>q*a{P)Cxȓ"#KT(S7Kf ZA4 ɑⲨGX_7{!lUF9Qa ϒ;X5MYj̝2}WzH/`QSX3dO5; 0>D-QAVIV%!MSl!ZSOm7b;ʹ)/a.j}ۊקteU,F[sjw۸ P֪,Ed|,f'.zt\Տ%$ [[3*[t_8c]:Z6~91tFU1wAnYIKؤF*q³WYm*jږh-r2}O.5 QqVhb1xvm Ǵ:M7t=d'ʱuy&4ͯڃn&a׿`RdO5Ov.SJw3r"$8nUҒR sm 5 ʒ,hj:=p69r?G[hrOВD.d$OmMQd3JrX9wd%YjPcw)}Pc =1]pP.^[z!8 Y$.k˫_:性,ZTV ;Ӈa<=6c6tf({Q ^[](юboy}{F:*͕>h7dN&>2h|5?w[`赔/wQ3DjyYO yj6Rx ym2_W&Yz?%IM7m>L~0ͦT5kz<(grxr?,I]]] 6GUĄ398.=Md_F`/>1k.yzI"]s{6.E?s`iÑ\77Tؖs6r ©K6lB]ѱv'ީ#Xj,LD&u2iByo48'*ZL[إe 3Rkb̟``.[aڌ -tdBgȮ۾(}Wtp*# Mnq=QWƨ+UB@>#,0ڂ9ҙ~ Ό90w9WL0B3|MjnZÅ5l'tP},|RŽۢBNHR۩m}* B'#)AT() ٓRYmnȪ=)!(qVItm(T%zXi-6-HLBۖ~~;p_'Ɲ&Z!{_Gendstream endobj 697 0 obj << /Filter /FlateDecode /Length 5231 >> stream x\ݮq6_ؾ0(0lMH.dɆ$6!y.W]b67HUuLWO=ݞ}ZͧfuV7uy_}v #z^n_݄Gʋ3Yo׷`mL+'nn6_n߬3ʉo^7f87Jj.ԫH|0hռߞ_ g?oeMzL V5az/I}t3 a!2هgSЗPGag<8fg]X,~&W2;+g6}X;a;n]Ef\!,gZ0Kܩ+ϚZ krf, T7׻& ]gAjyDw

& !VZc&yr]U]ٺH xd3CpxZVQ(eƢy2jMR,(O6i16ZHϺH,; 64 y`VB )Z(ܜnUY\@h8!̿3P =d |E7K}]4! n~K^SBG# H%hVs<7l Ңy=ma}[ϚfuHX>C 8նCNi!EUTB) 5)$ G??i)W=OwiSsPPE(3*L1X ktgɦ煽Q C*; %DNmgG˼@:!eAE3(e|7̂`qr5Zj$7,+O{UT =xR}%̇f@>>ഖljGAM< \o0ݻ5arڥ)3}V* i"q0 $m2њ0>k<{{@ʘ$i%Е IK~IEZ~b>P4(Rv#C:G5zc&r Il@, %,?9!$tED܉ř]Z/e8>u [qxnn)_4!0){a;DČ(*>l𤻟T[9. ,Mf2VVA%D∑h8s?L@!BgӚC@̵O8D!c௨hPOb]74/jBTUW@Bqe+_tOx}|B96?cHm[f5m9뎟[nlӨe. (lIħ.u/ҎrP>pwS~D9! dZF;W鵍C#&;b}4Ey1`^j[9'E.! h+76(hn%5CKB rΉ#G6 ē eda$~@#eڛqzM|ԳY?/ B2a4${!- C1>NŴpUd3 XB AiU,~V?bLj< :rp3,˱c#Di Y@U]|t%#I7?^q^IMP{-g1 C_8Gyg]1 SʛP_ ~xqDͥM3z8NjBVxsY2yp.u\sm #q#L F] !TqeSWDg SC~QL^4aI+i;))`QtXq-[6ǜ-mRm> y0<> ǨQGD>|4/:U L8Ii R+ӉP$ȏdR4xTKn%XiYGty7l>kVH2,<[P))#ZF Û+pA@ol|>kNRN1+!-|g5ќ|:9B@JDKD OYy 5ys|vMҬb_CFzLx4t 6|>0xIl'Aq+!@4J-F!oT'%/c8CⲒڶZZNSHχ&ҵ؋kSDk< g-s*AIA} )4/KE1*| $ lb*Wp`BʦpZV](O jU2S`+0: j( XPpϫskްџԍ x՜tߪҵp!xјxc#UrX?Xհ6bfm jQBv!s&J#4g5 !XqV!q&" T,!6:*;*7XD/' JVqF"u|,Y\@Xɂ, >.Ftc`?{18D}(Dk2*YӲۚ`!k7~P&ƶRR[UQl b@^:O\N u ֲB5 pB Wl0l@ȔVdQNdIdsd99+ l–J}Ku:7R`dY#PIUER3? UpgJ]H*8"1iGwG-}LOZdiUdo Y Z΅$FRf4{MK ҨrATsNXsxQcVI2vƱ?~|)w|~qXf!.̋Q8(cZ4IsUC$"\4gn$9k|$J{y?AN*8O+Ehb] EgDߍBaPvZ[h) גɑxv/?|WBBwS,^w@ B&|j̳g,#׾U`Ûd}U ~=l2b2ܱ<)RKN% abf<13E\;SRTT";3PiT sOpwU }#Çx ^U-IFƨ$Se$ @^b)uޠI'[ˌW.:yVUaDe> stream x[Ks#qVn d| UGXr(B+ ɡ0 3jt 9T@]/̪qZ>c_[gW6:񄇧z-ۓ?rifVK=;>yns;g- r7_H)[ƛ|Aw5Hn^- }4|.0_xru5E[5/'70\bZȟa&sVs=S͒F7`'tY:}댂N/NNJBV[PV|gAU²4 ^^GOJYj}GndIѼ-k|0n2,i]d7\nQ2]\? xovYhE 1[Vpa|q޼$P}?Z+MMGC;#ej)6] K $l[irfVjX`JC;iL-"bp*ҶH86-`ұ`HͿĆ V), { A7PDrfY$5WK̶msSrFUmp'w!`^}g'2NOxM϶xV#Ù5@3s֖Ь}xVx/FmGgG{8։SN$t"s"2{H3p'RND$ݑN|t"}Nw":]N4@Gjdp_rr:m7wnkE"]4 cohz89 @'[n:v0c]&q/ek}}5ɠG㈄,Z:Ոh3رذ!&~bG&b&4[[\+6$hF-%N&EfXv 2j{Zk+,ۍ~!P Yp  CC1l^QP2I}|6ZP9c="DK,6V(+NZј ՛\# O&{QR%@lဿ2hMV,495e wipRmDRc`Fj\n@V!̬v?Y%Wi)y@QYxLlbߏQFl9% {gZf|kB 48j9p96vȧ$!b';`!n'9= F&f(O l$1.tXN_ofы. ejnx3͇j o"J$ռ/z+؆jd9imـtu⛯@(7`M gjc`hA " rrRe\TlJ|+TYfH5*!{HO"xMpݟqg?1ȐX=?,U㏆@j;D"VHk!|JQJL5%Oq`f" /a(zP}.j%(T (< ?:gowsռx>v$T]"8֣h&kqr rNeC8>p6j8ۂӁf]!,0k KRU$)MGlV474ԝJ]dd_ye`]U+YP&v^~ٯP?4"ب Xe}KUE|SE]_^T2bwoOz$GIV:?G5D6]H)'#$=\ٿ/-n|2($#Lvqм F^n`HY*u~,6~VބAl{Rؾ*ђ1N]^5]ZF囩rΪE6"qOZd9^:*AqMgBru)$nOiMUª&lv!_;.`zeRQBrjs1DL,I,Ä:Rs$kIxȔg][h5uŒDPwSiRHjmoFȳ+.iR0 #C;&̀myQBxځ7qUޙiWgw]Vae]˻ӑ!.56TSR%YWA[T_Ƶj K4$¤aB| nTyzk\oia~[ۘ$8;/~tU^} (?.IL^YG`݊'%5=Ii b9uϹhp_XF`1GhO;6eTں?苽Zݘ?*J'/[!+56!jJ\$vF}֩X]F\~`ȯ 2P'E`F3_r;E:êoLl]x9؝ Wn_HcZgYw} "\8SK8bwqБUY9]2ݭ $`PtR-᷃*G] qⶫ&IuKq@=𫢶O锑h745ij<Ʊ!VAI>z0͵* U//bA§+ I $Fo+u} #(9mdX5C00f 苵A/zچ"اo*pWRB 瀮 ~[V,6+-i..H>) _Ol[+}Mō ns4AD4RϠJ"M;8y;V+gY>)˙"CN^ x@몙=u X,G;ؓf ;\Ɨϲ i2C?X9:{FZO B@B, Fb/Nv|̀]G*u| b.\.c5%/DI,*/g.u|F̽AZV[{2duN TdnOߛNwW˱Y@h/Z]~5<)\endstream endobj 699 0 obj << /Filter /FlateDecode /Length 3508 >> stream x[ے}/8Ib0%"L*q/rUR+"rWIq `Wߧg@ua `0@/-+njy.gsX~}-)]j_eK˖F 8, WBc&XZso\\.^ެR°/,uZ !ʊݻ٥+~8`+Oo 5^)xp.x~iS֨os0 VLWJJcNRl+x_H Xg9cZyʴ̔r2/ѴaFh-vD-Ss0qd0D:TݖuWWM FtkcZlW,[BoXoM$k̖Rڮ G\;n"bvusZK^U]ݰZqY:Cj?7ǻ ܵP)(tJ_~n:" Ϳtf`Fvŋ՗ðH;܃?FVRhh,̘9m:CJU ӚkU:lU-_2تp* 0VJ1! {ŋmqnd0D=H9frU3`4,޾&̃6+BǍ,^cJpN7+5IWtu_roh21 !hԿxwJC `Ԥ`VFԀ:M8P͑ŸNՃIrI.jvNOt,~G2c^J |idÛ~׻;39 tK;&RdY:tJJߝw\;9 6ZѸq^dӰJ .3x*xq q}sFfx 0O.WXpnj  J@@ڏH\B!:bT8 F pj?C6 6tx '\ @fpdBGA\A2V-Jjc+m& D6ieDE>Y<_B.$(ЍbLXn#ˮW+* Gmk!=ȧNl;.Ұk=.3%`7T ޯ`vrY=_;,ɑ+p@ iQ_Wȋew] &EeC=K Q"u"8]ك iS#^ɟtٟ 5ZgmB5XϠAc*RW`*ORPݻ%b{u2;M\'|U_& )+rUϛf{ [O FԜ)9YBХjֿV^  5`A%0djD,,)cG,ښjJg0V%%Y/0";,P|V8 ]RIbanG4/U? 쎥Ou6gϝ. U*ң]*@Yj#rQ aM؍wiҜGT/xvVqTAuơhv{} Ҁ } _=i#R{|MT9K1̅ 1\\]Z\e\@R $9dl:仟>BgXOl PCAQ(ER٫HoP. OQpX8-E7,h8!i^OE~0_f]cs2ה8fP6 Ӟ恑- ŹLciM6Hn;9Itek Ox6lO_! SRFnPb4o=w_P3e. iQD!rUɞAzOS)սGj"z Qc9@Ch1QJԪ4ɓ>萂}M6Xɘ(RY&m\i]D=jH4Eﹷ;5^敪. f\DNQ 9Uy؈,rxΞ|]MՏ=BA mVm葤{:3&0=уģ,`w|9@Aieek& qSDq?vmx@%?$$ri %~SG ! B[ƛ&'Mj.遢`xw~=R'*>4$$"N4O@4_KK8g skyꨌ;,4 LN՘>?A:goj6D(/'Y&"30n)1Tζ`̩Kd$"޽ס ?O3Y#h|\S,}_g.G><֑u?@Sgs/`ڤ"NWiz%??k&jl]qݓ@} Tg>x/>fiEeٽ$+OLSv]R*e&YJd=K}*WN9z9wN :r(H33iu؟bİG;3m4"d?fJTU8CFm2m/`^V 8]=qz$/'frn ɹƳ2諁&{#n+ݰf Kg,#]7FfOLyq$XH&qL C)c̓ x:TO7EY:aypJѧ p'D;._i>gj Tp4z O,.!s_={UPuV-2BuÌ钳P> P#xϑz6?-endstream endobj 700 0 obj << /Filter /FlateDecode /Length 4171 >> stream x[oo }+~H$vvjQZ:ɗ#e@ѿ3.ɓG"o ɟ9jO |FxI/zq;Zhk!,88yQ=\/Yʹj\θ9,WRʚqU=\|r%,󑵶-NP0z^የbZxǧ'?Y=\X c~aP [h8SnqX\|֪cB"k_T__7TLϲWs4ir!N,V\Z9.LL.s7WOu|>j୬6ۛ*I}^5<-$*!UVLͬ6Ƌ铓?#};H) + _YmL|ReqpsHDDTxKRtKji^횫lMwIE\`Dx8RUT@0Qջp0MjyU6}pڶj䣚CeBsݜXLtbTҒrF20FVlmSR'q7y9^!iQm{CFYsK7ymqra&}z\L6.LOvr@ߝBRy"+f('_A/sS].l r䰥n6D!9%)I="/k5`P @ndJi2~mws}Jx & 7}uUJK㐫xz6Wje/zKZg wW q*`(3e6?1: Rﰏ熟t'Qv ( ]S}?ŴSD >llV\slk74F1/ î8E6m;չ&aHd]0BݒouFr!9I%= ^JJ^+ ף˞WLAuszkeI/Ni{SBfoezgGGܠib KF?)i6í$3kC?(Wz} <AБ%ٴe_G$mMmqGe6l 66ZZ5mOKU=?6 2̕ðGztRځ [4}|(}(֬q=?$}YqS[3½.mfYj旗 @<ʁVp _*G `s6ב$;kx@7fliA10P M}(=H0c>)3\ m-[jELr4B8fN/E6p ѿSFaOn%~s{%PtDPљgXi6EuV=&y!~*x=V*at@z|9*w뚃^f QvFHfF^iNo {[L`ErDgENV[~/p!rK>Ϋ _Vŗ/nA6, 46AO ^_GȩSzp;+PHęl$Lht~󎆵6ƻZpi!`nc4\ J^?_42:x;Ny 4/KnZf&{(%XrM 2PikmT pvxXeC[Et̬^2 Si V֜aRXs!j6(kq Ba@iX$W^Ǣ}-A|Ltp3g@5Hy\ 1/ ƈnGgDN(ǰ K3)!׶D6Ywe&fe5kHya t(aJ vDZ!ώq"D &ƣo1lu}vLl 3:ա2򒨆ԧaXn! f(!X+Ľ4?aDb.5=y~ᖕC.s^3jL0"١Lm@ 좪R0`3h%k}BB%{s- gf#wc^i> U9(cv@D 1t7FJ=*2 t޿mfFȤen+?b=ReSˌ~cax R@C5MOIiY|P5OW@@t-/RST}5D& F8:3ܶ 7znPc,[w|g0qixY5r'A@M8@%pruTaޞU-Fk"D'C) ۭ*=~JBX隇wv~v7 )}咁=[7Pa蟆Y(Æw˟]<~M|ݲ~<6P^n4\<@Q1 'I0'Ndn( X߆'L|/j_='m~X}i G pV}E#=d@p~xi g +17Tع͕A~-t5e[Xh&J L :>OL@);d~r C(8a`F@ TR (PQ-{ i4~0ǒ/>T]ֽN^=>G߸2c!F#NޕG~QLK[QuE*aS=E2v1BjXM\[P' P8%SLr@"z[ڊ=LJɘ܆v?]cL07:WR: 8TC*ʔv8>/IQl5sT+jN*7be;/_7I”HҘ\O=lYEtÕӊCm!AwEw;֙^/WNy*|HV6m&|6Il{S6n$ḭleon!(;qX+b:(?6ĸ'#HqD.b"Џ\lԌ8S1M3,zWm x0'`G[bJ6*cOr8eRKE3mͭC.3=N`NKm7XnrsBnόCP>2vim|Q tRPPOhWٿ괅3=0+~#U&FYfS)]#5Eͧ%& k,~{\#&sWv}b_k\rs 53Ӽ+0u;1NR ft4ר75aK/|H2IMi\0lے[IƛYP ۢjʚeET~'G(ԷPh(0<,ڊxL6oZ7آ)*YMb='cd )j3{}LH~kRhPb5$lR߁dk9'y8_aT]>%3gK4:(=^^T N]gl|O2!^L_x8aGV*ƞH88>˨K}¡K0F`P *x}KcDumkaD߄nuX XiHE,o,U$4Q9/tGѹ~r7i=.g\X't_` C<&U.]PG5m4G[x, Q>FUA8{[wu_g6 DrB3ʥ߂PJsծGr:j?}釓kendstream endobj 701 0 obj << /Filter /FlateDecode /Length 5658 >> stream x\Ko:v{l0 Kd pGt̢; 5[v_O06?$IIe*Iy|Ajjj/؝VY>Uw[}sw05?g'k&(S;V绳wnܹznXM{ZoeV۪$\Rpn;t/UaWqlY}]oӍ3#'~-Lp|஑Uk,y1x皔uBj ;5Npnw8ɪ>,Ѣ!=GM94ݕD|fƹc4i/%/VW}$ST]wXܝܨѰȏ%_ #ijz&\RrZZU\Zio qqWIz7+N&Ɏھ{NYXWh%L(V})V>fWnQuK#>dkkpVU_ɐ'0eHwn<< {Urˏ2g$zh  (}zR\knދBf#UnE:6mu%#5#2ɠuՇʛt&-^E{ itw`-T{hwB{"BcX$' 3%Gc{yLW- gջ*FPMd v}) ,n9m+.tvWOsž Z()N?--HKΎ,æގfhLX r4pF\M8mD?dZ?%;5)ϥ+|"az02>|O&pQL7Η{C71`J3%=eVC5&UC C8}$QȆٜ(3s@PQ4#PRv<5nwA1i`=53{"MD_#R;gKj9{NWБ0a[qlyf),M#w m?7#mUpd"1QNFU1nQS7x|ؙDM^rƜ RPx2ݝ{=ektaDNar`G^Xh4鿜'개8, yCnY-^imXDjGoy ٧umu X]Ŝ)m%JްRDUBb0DŽoW n3Y2JFwU#y #`gjˊyFho泀$$= Q! %f֚"G粤ЀKnc~0ͮQS,Rxy~$}Q~Wioٔ)LC`8YsN'9ӣ%&gQT~dE/29nX@oKڢ Q < 1$ 8.:_Y*& x-)$YS7<ҷe~f3$ʽwf5r.ŐWh1e;asERq:x@I?Ii`U\U.s`҇k@T]@+]-#jVq=Ch(d:f҆E ~9OŶiYWDžD)\/#-gQwBoHW>[iIoTvӁbUBF]^qܩP#1YЃd"T H *xyYI/WL?cV< nt.O c81@&E~`f1uGtH.td"@>٭{j`X웩sGֱ0ҟæ"(b{, DD1n8U©Ԕ hԝx^1+T /u4S:_alakaOaT\=ƅAŅO EU`Q剨v7-gxKWh5=G$j rt^yd&nカHmW+1\r@—4 V6J-Q!]3˳>(N0@1%%}"((cX|aDŽzsK$?[z[;M(5pUjo,ViY,6f!F6X.xd%<0H鏗J* D/L*1C0OMHi(as[ˮ,yܘdM1.%b8H˂t;r"~V95 bk†: sVCi*O4x$y>_6#VzkM-ȓ$i@SNuHE}8q0v"ª ֵ٘({C]5KI^ΜtQ( r5/&0!C|Q"unw "Ha;"8(NhdPd-̯z=ΐ_/֙r2m zZxE]4$+dÅEu'yST2=l+Ч{Fe+,H &{, Itb?Bypz-ОO"ZM_4ն˧N+dEE#8k G{0ӑPFSƧ̸wY`lbI*݅͠V˰!wC 2@O?*.8No"=~y`zf{bѰ%mז1=U5'G nE\)}ZV5S@ &(',Iy 6k_:@u<Kc])[98O؞!d@!j_ֳˆSDp R9y`g= M@"wo JW_pWH@0CK0OGkv~-_]^^gjTpnYE} (Pww1ctAܦ# LN(||fDtơ:^:8|6 X]hc)V4p q4T _Rb,cPRJ3*}JZ$eCiR*CK=#Kn08Q[ ?Б>0U.}ͦcs "$V]o?A5 UC7]*t_/t2!Esy!o̻{l+&T~H-ϙe )J^x$Uҥn&)f٨L3j9lϘ ٗEynJ+qq9LR g oGh1̻xQ&8|՜B+vu%PĸtDFQ4`jG`B43JOVQ\4Җ1kfl%=jG.5_*A Zxz Fdͫȍi_ep7,;s?ݧ$AʁgwKxH'ϰLTkMH_z8`}?cyw>0IȁK`In-i(SO8qnDRm'\0N'F)Ö/]|&P=w>7IєX< 0#! $]O+-1ayg0# EBzDm~ koNFIm1!5݅:c^(n&M=XC)jH~JWW20yɓ'=yqߦ!σ TMCab+S3|N:jV.%&DQ47Mlt(x~Tr}#Pc&}Y) (`3[ hSKiS~-sfDA*GTy/r34,h|rLKtwiSư!yh !ldvu(d2o4CL PxIN SsN0ke:껐m dR*UL3\ͼ/=5JO5柲9 vDp Mi\0Ksh֧.=Om1H6Qlf=l`Y ,uw<hCZGF=ԣS gd\8ҁ3x~9\nj81^Fid_i6#g6p3:ݪ1@7j=FА؋ |Xt%_\{zba4xpIŘă-MZ3P#՟m eA? ݢ٧{Qta R}VuSms፧Cf%ս9EB@/>+=?=Qlh,%'uJ<,hX>Լfxu)e!b򶂰<]qlљ{>xƕ5ŒjTY bd|Z2ڂ eql+u:f3$r:\5{) NDM&8;G Z8endstream endobj 702 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2620 >> stream xVkPSg>r<-lT9Vkmu캽qkZ [=D.PlE-hvwmZgv;+&̜/߼yyxD=55U"X\F4MMGc [Ta(̴fg^)P& {:I+Tꑢj(ZEL z ;Z< jStX4DY@sl;wybSc@uKrq:1)jrD})JF(֎‚L3&o" =2z]yq53wTI$Dyܑ~Տ(P^K{Z/2> ")- -wzbGM涻' 1GV,/+%w{Mnڜv8$ĐJ(";~VVH_sUE77(CF6_*ami>2TsEbل5ǴÈww1hw:&UTuj_`16OF T_/kiy=a>hzJovGsKίi aYzEtRS*RXŠ,9mR]wX 3p{pDi2}9kjK@u3-™u JrO!6V"Ԋ~܌;}\A"$'`]0S_0[PɌvB7+̐S)vKMAPoCL  ~<ʧj̵qYVɂT ĉ^/u|cucw("Z"s_Զ^^%qx0]\FO4D5Vu%Lˤ2kI;Zy/LKf>lt+ ~bG~poh@Z (}no3cށN} Q׷MYXKgG*P &y_VmQ1\ЀZNuu&pc/8`x^L~Hzޢo2/jY#ŧ@1aF+K+U5r/n4{24T+Kݽv:\`sD;j6¾%w^qeJLR1 S;Kp7{iAJf}ю3.5]ЗST)xBL&Yf+/`B"$^sl3>{%P]NfElc=ܒ2suuygrI_ѱ.C[+C/_$ǿ@(^(9TO,T+abqؕ8S񹪣> stream xcd`ab`ddM,,IL64 JM/I,If!C9w؏<<,~ }O=^1<9(3=DXWHZ*$U*8)x%&ggg*$(x)34R3sBR#B]܃C5 U!5|_1[]rgaQ}3ޡ r{S&wuVVusMӳhܬcmX4:R7런ni3fvϐuZb;&MEwu\DBcc9N {ĤW̞)9m9ϏZ.WiӾ,`[u[%${^Ooo_爛K{xx;1endstream endobj 704 0 obj << /Filter /FlateDecode /Length 3975 >> stream xn]<A s3 IM, @>%ZބyEsBr%zɝ3~3Zſ|}ͯV.:L0rԱ˓~ҼbBό2jv>yN~^iE9rBQQF׻|-ڒ>Huk6Y<ñWJgKx "?I r|7Y9ro+%mnpG%t %>߀vUVK f~BJ6[4}wUFzUƘxÇBrV>' 2s$]"i9|cSuGC:S<_mbߪ5M\,5y1_ 4+yZ[ *T` p '5vnHI+A 0t-FV!(͵憴[GAyF.,tvM U oH+夵D[lM"BV6p* .Ϥ/ jl@k>']s VuJ^Ώc_l6j;"r=gEՅ,QqlD". }DuˮzV QFP0:y~v(Oŷwé~dtNEtދҘ'o֎?# bӓ_NPQX)AYLJ ^ x.O^~!3 >RSdL+ bD~tZpuN9o´:يY^PbUSL -`-7ovY/7i9 x!ޜ/\oQ('8vFZ:A~^dKwȕ!VRϴΓϋXq'Z-7SIA2pg`4|2g|RgsϼȨ\M,0U|"`} x nDqDBKbXjąh]0 ۶&3 P^WZCh;s V 4<_&EXg$ʽd] 4W<T- =B*C^?OC*i %3H*%*mrʂ &I@Vߓh8h$5Y:)g{-jb T1mt/F&; !7Bi\[0x]͓k?{av4 9 or>Q2Ra  hwȠV~]vuT2ɷ)+eQx8T*>~| R,G8 ], ?RSIh.fn9+?8NF%Va!KAR$Vb `ʨL~GpS #BQb+묑:ǐۨqXw|0s僴Aqha4ǮK{8y3WkRM=:BW}4^)8"䰧#|z]]< R.y[u.uo{e;^ Pw 3֜+uPg*~˾" L`$ɏh,L޼}Z"nb=|/2LX.[I=ɶUQ!S w_0kM+2Zm8ovDJZl)}#VL%|_ seEkE`Q^ㆫ(b d~ii%~A(( *&W{avd S'4-=Ev TbD.<ƞZ %/?)@ L5gs]ziXY˺fbFo8YvE€?o(oIQ:PR—Wq]ڌ^}9.B%Ebt_{zMހ_U}7c4_,ZJk%H琓e^Iou^4ʣD ^n&Nytj`Yu{U88wj,TwNE<[†#B=1VJ#?n95U1pIn~$` DhFmt>gA,|k{@0AMj=wYdnЭ;;6gU-8b{<m9DZ n5> ?~JW+.x~g 1RZjqw7 O0;5QʼngO1qRvaXb:G1޳`!KC17 wY +c:>0ʇ^ثOQ h02S'.9W5hEh)|ć 2ƍOtc޸ ROF+p-JW_$H\tFN^G"g i*S|Ʊj8)U~~h1W 6 RѬVx/Q>벐\eƂɻ*f_ZyRvCIw8)8ujo{"psqLO1Z5/ں}?͠8+8NXVB|1,|]Ͳ|T.8LN]-T΀M5IfsXӌI#,+cHQSAdfP}df!rXI(mq &rR^=k0b yvǻrXb2^K#sp4NgWVrMMӍ'`YLg]elr+\q삔fZ'L~Gzk%"{Hks'bz%?>QN̐hT2X1$ܓ2@=G8B|k">$;Le|23=JҕA;Z&B2PYq6 6eL4՟L`}) f_9/ŗ9, "M>G /QNÒGՁ3X4IpH砾& F0/A'AK2B[%_N KTendstream endobj 705 0 obj << /Filter /FlateDecode /Length 4320 >> stream x;wg?qz{ޟ} #痷ga.<2Ҝ[m /-}*R+'gwZK)vZKǝqxMմ~aoy֓b_goz=dӳKǾK`q%(N*r/pu?|Nj_8|7gL_Ͼ< 1:8ҟk_s/;]Xٜ|p4z5u[n 8pnBIvSXiaiY <(G duB+yѓ+,@*njI`MׅV:'k6LJ?WȉD`6?=N~|xU]_k;GG+8֖R72$s ^(.uN"o#WkmJANOt*=( 2AyS%4ogp?QJZ+KqH`9# 8eQ^*;eN|KbRRG TiO 0YT(#( HxgXb]ПTp쐼kՐR]gֆq5m.t;R`+8mv x<=)HZf²3c9mÉ FFo!U~ǎX^l߅sܧрeM:#uɱX2z* {G=8&@ѹt-CZ{+F+*'Y]wjp0'yScһ3n9Ǧ..mMD*#ÎjRa7"YOD㮚0bJ*mO"orcWљ !2 pX"fӼo`0x ]Ly{Dr2j=øSBN̺ (K$  vS6- mX:S۳W$f`~=Ŵ=g7$MxVKm7lNjAՂ$\:Q5M~A=ϖ{c7N>K'$h(djfjw]qY-`{ɪh`RWw lċC.:;.e;ԅ9KpHS9_2j׆؅bܑhZ_w hv" q'oMBuN.D7sS/PYynPiMҿؠƤ2"IpޙGV Ai}JX|}<\ͰD@j"wRPRfXo@rNˣEyRx`f J4|^%/F Jȅ4a mGOZGr( $p14/|ޗ(qgz>(_R2}b Xpno*FN8?>3 BurPd!y*Q"6Տw8ӋI7B$I7S۟2 vm|㧶e 9hG˴XAuCj`@,oS B1VTgp h8Pe h^;t`jN)8 0`h@ ϳCCnI m;{M`q=oyzRu.H'ADdR/F9'A"DvD#=|Hm[Yploe r.Vz! <>id x6Ak_EW/HJ-ybB /)wش^ض}hP#ڿ it4KaY^kjIDx,v;LjI] n [0;+IFؙ|Aש!,y &ATڍ(ЗȜ2r5GCda^Q+D75<Ȭ=N:0KBTyxz<(x 'aĶi U >)mr`. ǣ F6~,)gZf l=vl S}nL\#Rk#Mш-'bJs"A϶1l  O~J`$7nUc eѨ-U2( 2a쯐Əs ';>C 7 Tբ~} |pN^/>| Vô2ʔgP>,+0iM@]qX?: A1Lt8u\ۊ $P]k(6M],RYJ ePJwwM+z3_E)e[wP˗oZӱ v4BkjTWgM޲ ݒ0R_\K6ᔨu!OvM7L'NaEcЄ2ާ*ɓe/ts(59Nt~)&/Ÿh F Mv?e&(a5R3 7aav|JγWآ1ɝWԠssaڿi2トO4gM2Nq ?h L/oSӮ6-FWbmK S)E>_BYn-)6ZHS{k,>'5old ƕJ>TD$5ԥfʟ[y@ d-x} ΂C1hܒ|nYH=j`QK$-IQA)C!lݠjh r9=BjҀ0!ZbWÏb }B )mr!'ZTuLR},u3p}jn_S(zOgsendstream endobj 706 0 obj << /Filter /FlateDecode /Length 4072 >> stream x\[o~o-n#;7E$] >AV&]Yvsfkh\r̙3΅eQlQ?ᆵjR-N~9av9aJi+'Q(SZ结BOp3,[sO_*^lUY)aXe ԬujgBbxv~/7xcm~U.O.Džրr#Se5G;*LqYZo]MyPRrz]>-pJ:O)+u1+3&@uK8LUxևU|ъtЊ|^jQWPJσ2,damj41VvGVbGg.eܭyE[\bQ%l:Ē&e]\d-: ]֞=梴&j7f .Ų^%m .dt\'d#RK< QUhZh ۮDԟl^38s `a`pE|!`B3=8H#`gsCHYΣf3Qy|$(IUX(|Dv@ U2?G:~FjQ\\wK+7P*@⭻ hQ6J$7B..V3!YKR?net3PX j:~0ix7t(y׭RE<:ܸM#<ִaZt^Ǘ)1kM3Wع̋ki]ZY4~Hrb]fu>I% &L<HO `WdU?S ~(F`&Mm0T%2.DK~&6"!S{`@ȅIr$<'U8scܘ齹G9(]y E&"hJE{Q'Rxbў4Y%u:|H&H[lPCf\n<^@XY"YcOWkiS'ƊDQnܰ❟c?u1 ` ̉.ö%06|h`6vy"[ C›B4Ϛ4Ƙ?ttGu}\9&A:ߴm6ɤFph#U|fS\&T L\UhZ<dE& `;z @Q-yYqE?|5Rc<Ց;~ۯl)\z$ 7Ŏdu?#^2ܴ;ZAgnqX<#騞]P!6kbM3ǰ&cd*B 5FE9ܶ`BL%%g-1gf53K]yNC"1?]&s&0%7-)1_upj(xu Q{}L T A7HWxbqCk$)F<ڥ2<@WTk^e*7@& 4!]LcZ#t F͠"f<5CaM۾#n5@ avtH t+͔$KHR(n˔`4,n#2 ZQpP2ҎR= V)-NjzBWB8iĦllgsw%e(C MAZCC(͎DM :=Hk7ۜG!I]X́u4N%SXi.& J54jRCRb7:ke#1ry\j%%o1-N2QHiy1e Ut/`$BZ.' ϊp|TMiT1΄4[b5 >+[0'BIA;>sҼbmCt9Gq->C?וL~Dtn]=^0:FH,F$l79K2Gra^kWcZ0$ŹͯZm}DblrI֦nS`~0on7nzzIi+p2|#EVj wzmM =xZj k.l%UQfnq$a ۉ䓰%c_8UUɰqɐ:TO*v,`jM#sM6_,_t̳`ux^JO*-5 &ڬTL7?Qգ1edg<]{(+^@ŋ~5觬 K>[U'i$ncyB4 >[ F7jkt;m@ZdT@g'U_VTEgc4gD,I& s {{:xYN-&R1i&jJ٘SQHdюz! .H:dbDJ8͟0 P=1w(`󴯹biCCXEDC|Y, XȌ> stream xɒܶ>}CibTqJJrTM${$9˷=llvƒ.WYMwYY/^9k. Vgf|aMfsKgW~+:Rg5>&_K1a%yVmyKinI9_FR<˩ ϫ/Yn|4~ nySeV&N QʣJl<6`Sݺa]o$\"c1;Ҭrߴ;g~vlN|[ljdq.e .㕶63v&63fQzV a5ɏ8[CzI^uL 9uS՛úW 9\ƭV?xMƕq Y (g@Q%Ga uG]xxĠ8s$N|(0T@2˜$%jOɋXn)ހ8 IHJ]@ @W3Lu&c/@%'{$J/岽_"}<9'F#3{\VE;5iimĚxt=-% 0z! 9FW8DyD4t.BwpEv{ͅVqʲ + 3!MBj%7R2!9DbɩN=Ip_Eo G 30lY !'jbIs@Cβv'tuNq:.Y'SmxI>%uV s $:}9Kď@iأGąr%TT>s(xu?W8./$4܅,Mȃi& S?Q ufk4)JOcJz[8l\EdB!P_uz^4zSHA {P4}Pv, }Ǧj{= 5ֽr1Aܲ5=N3EZ. kP$FF⨗p펥YLz(3ygf5Nn0Wf|bp9 o+UinR3-^AE>m{rU9h߱d@r&iI7>{U y,Ő, T, {)hd L<NdR}zqW ú*7e9:uE!"H"& 1m{3Q]B0 I4|x!L;-ߕr9C .Ӱ%a%he@"HDMksFR_âP*oČݲR?컆>yH:1c7OR#XϋN$N[ B&)LJ>ϛ'P^_N&!GfSl">ϪkcДī%=~ jbBS×+ȏ\ ňzH%=i$B+8Is֐|DE@rO3}!i{U5 ٛ})i)4k+p+EJ]u՜0e {ݩ?N4cNӊUQ\Ze^Op$,&_m-2j?Nl,ݾ6oeC?LTYpN[\'p:ic'kfQ^ LNmGO\;9w-\@疣`par8&=_h]`_ώ|C, > A#G_~~QnL/Vi{--pԅwU x#(!RL8ZǺmprI8jn-݈Hc\QFp>̱a!pcC3Hs_Ts f8'Ct0i/`ެw:4tQv:@vspi\7m^< wl_=b\ ll<7RI_~c"7I,{,( nI`.jvRj7Qϧ/J.(DTwMm'J!ȱ_cg<|8]5{XQO ː$l|7?zp ?wD3+fɜѫ7s>خcY1OS>eك\:!lbY&, v@9%OHz[#dܫrb WCnu)ygJ%,6N?y,1I--kwwr/SC6u<|+y(~*m뻧նGٯ6[a^^i}Vmaal9yx[xz?Z_|㐦o [>O/yWZV{L;, K(=^Qs>FqJoBSخNwml:ZrP|W{Jw_|_-"ZO~lW}]]e{M\{ k# gGqSI#{ 7>Vo}Q6Iqb&s-ž0m)#ivFM~?9= GjKw v湀8sw-1,olA뇋RTendstream endobj 708 0 obj << /Filter /FlateDecode /Length 4687 >> stream x\[o#Ǖ~ׯ JFu>8^ pF@H~51RInUUդ44Ճaws?3˙y>׿;{;wg?|ܬg_HHE˷gU9 rYgxXj9z^)7.ߜ]u_.oE/Rnq~/ABk iG?E6) cv|;~Q}a=zΜs^ ж]fl8m˷)z@-zL d"tw|f;e@%Rl?B[ݞ" }E xDHa`mo ~fChB5Ҽ.;05 9>0%t嚳4 !suxC-cO`||?c7gZwT0;{h_WB[gR36%ItlGtOIJ/ȧf`S~d`S?KĦp̦4GLJՏTsU^*C '-IϤ_]y#!ڌs4Ec1Ou|zj_֔xW #զwƱ9%NXO{dz4n^e廷h 1Nп|n|P?.):҂[J˳svv}w&{4 3c\gv…vqkcG9cwdpGS:_[&KV :^GchbeP#Tw\\V$3#\]Jk!,|tqy>*0ze8 ÍfANĈO.Xk_jb]6#lL*zӫ|,}-*>)#TrE)OO(TS,J(՘|&~HV4rbl,o{`V 6dUD$DzIVz)aMu}‡ B<},>fQƜSLGYDR8$VnȮ߿:03ϣa`5:2-n5i1#TS9F+LE^$HF  yj8xi}(O%5>&iŗwA!/J淿Ƭ Bp}ϯ'b"!> '˜˺pŻ~f7DI#`t`fn&8?.|}4vҲzCla)4sj/W+"6ݸ#3aلm8`{Mt 'Y!%RIE"p4(FA03Kp`*ZwgKNά4P;㘰56j<{R?TҁHyƪTAS@kP LS # -)aY&%ZK%[l\SbRƖ3 I{/8‰?k9c{(mXGO m xSs d<M59CmeڸmiAcj4HbF+VA1jߒy%u2HMKq|Jr MC 9|W x(´s6wM("nYM`fAc4hCOi``Z&yX6x%s-#O7n!{[ f3lCyR)HEojsX-maxھ`Q+: Gc3M~˯pӬHI l|--3/90[ˁe[ :L w`4szx+zA<43ϥho1h s0AU%-5921) ݒy🎛6-]Aih]ːۅ(d5]8is]z+M 7H!%tJVpepNh ;GˁN+X̸%)x-ihFP1io7I }#a~Eopp HVf3d<9Vgg_?wv(u149 Q?gK! cu+~@ YǶ+!QDs઻Pʰ ;vn.vB , ٩_`}3f0_QXA51ԣȳF *BQ 9Xne( ZHnaًKHHoI[@ Q#RIX42Jᖊ4xx&*dF-A6H!gn*d0$Db"LZ2~IO @{. 10 #Bd6[WӰ,[aU^)GCc`2aJR&M*=NKgHd!d"$e HzE&QA䦟klF[N ϐDN=#r"De16\+}`Xk& 7ǔ&T"2px9A.@[ JG@M!$T@g/8jJN2o|\*l,!YؔI>Ozup2C8X8@@0N~&Uyyt<,{B<6CB~\KLWS0a4=1I﹝ eH1-y2d`0ib+NId 2s&d2g}r 0q!n{Ce}!ҐY&bE^Dѫ$KesBHә|F h s70M$3$ r\#Zz44+J11q&HsqM.'-õCEÝ421I6#H[B_iZ [<8g-5~*vF-5+=e ku󻪏Ĩ&75z,V#Q7d VAxtyfǍif[tJyqQs=Zw@q+QWǺIZ $S_#Ԏנu_9zSxS+^?+7 uw[ܿvsϻT?\LtK,]#\]v~Ls(_# W}jfY. ?x]- oѠT^4 s̀HVw&Y$Oc d?.q㩑͡~3ԉNHwdy`:Sn׸j1ͩ^W 'iՠfGiG0ƐuцՃ$J5:H&㰚d; DŽۣPp{ooDCS6 {u(2mmr۽.K{=DSQx~D`,N#kHy 4۔}HKnVj%8*JXXsr+<>b^3C[eViܮw#MjtSI ٭py;Q|)tb/Qgxu'`;x8`{Bv' tHNa]o^k<7Ni oWBN&};/tW9ʧ㭭t1) -w Ѩ2MTsZu aDvw4M.Aї2J$>9T5X qjܵFw&*@-!FN | ?K9H̫QjcY#I`rtb:GV#|qaue> ^((_rL>BZ]"ҷCʣݨ?G;rD֥SD ŏۛ~\-Mѓj܍57x5VZ#_w|^l}ۇfA5?*83is_~*PR<~gX I6Q,׳k'?h~~Nr{~kk\|~y3  Dm'1@jfZpM|SQ-n\n74[Yv6)Plc\GncJ4"kysd[endstream endobj 709 0 obj << /Filter /FlateDecode /Length 2315 >> stream xZKs87Aک&2Gjdvg+N$ڃ,Q g$!C" YA_8#Clo_čjOFVf!r-I3P &`~,w#a55ֳzt0AW&]AMԨ!C]Ϫ֒²n=6h-P9F~tUs+ӳFXȯ#S;I9Hs4K`ѧvcdZr0d1@܌&N V.lI\ΥɔCXK87 9NkSj2TDe {`m)flJh|Rml:QA3 &7KAݬOe٭g:/l44(& e\'8xT27~ {R;K(`̉ҲCbٌLx3zJC-SVmݺNaZJ+3L~wpV m|~MrY4j>v}x{1uj.zWOv/ͫɫv 4kzk^<Ięb|/=.MQ\~@4OѿrwgTOb6f͞wA8a7Ib7JQ {2ns<>m7&xZ9``nHq3!]mhýc7-7pHz@):l{(T`)O-rsT0C5ZZ:n>3r{_ANW/:Fv67P 0? vU,nPԝH@x]4ETUݲp 52z>b>WP:]:M9  ;UǬQߤLL[b")_= 1AD6~usl. ȩ"]E7`MF]M u?y>/5RiGJRQan Aƻ2=EZ0n3=3;eх]βO#5+fn@D!;?Ļ R=60ơb\$ @7~l;Z3Jh3@B>0n CxŮ~y}o1 Co:MlN~E]Yd2 $} ,SvcX:=C6\0 &ȁlT!֪4eP>*&σ"R"XQ:;_N(3ڤR*I\zP]IYv]nh`*B%RUm%x: R:j]9W7==y1c)&7Q/f 0M%D*Ev Ѧ'؝LS~[{ic^Q s,º͛(m[.B1KE,meQ%;| <#34J1w|(`?y؄AVyuFqV+DŚ]4]U>7i"kTk"7JStm?T=Y_R%4'HSS/Y;jY4MHpOv6١j *z+"R蜂C*0J\Ti[{,8~Se%?r׉dWD%G>A8LrD+Kfȣ@8LPz0 endstream endobj 710 0 obj << /Filter /FlateDecode /Length 4153 >> stream x[]o%}?"hN7^k~o~FrNU=kVAoO-> ];bxpu\|Q#=5%M`O?iGWTMEƚ ׊)N9̗k<]3q}i`J '\2*քI#M hdNDnXqJ-0cM~bM r6p]* TFn ?2>bM{$xEظA=f.dS&ڑJaJ*T8:hي3 Eca.?|@A~h ,E2ty[IƖ3'{eh eTJksQƹ? gLF8clf~h!pH (;l?^P!o nh  ό6=(@&7^l" ?/#%)R"ecQ$ÌH(<5MN#eH4l, `Gwy<}6':7(IjKQؑ@|0h<@&Y~FP%KRw#$O`xdކ~4.;篎9<0z5Y&9bcW)Ѓ 4"zh[ IVy#+tfR?8@x1Rq1V0㑦K0 x<Չgqձr[n o'ḱّ%vY缁&K2&6rxIk-9Q]k[;h>WJn%o%גݴ]ߴ7xWPs[Ì/4i ?:?;Bl)]u_]zfyz#$ǧH@j_•䝴 X+Q;0UXP|յENZWZ-|DE`(2x,*a@J>K!5 /k~r;$<6 @tM(jmJb1{3ykxR%wG ztY:QG1`Z3KH4$^"̋xGM T '\Q"հZwl@*EcِTn*$t&H( d"WyQP$l*qleV"xUNDA옖eo=H%咡 (cWT`%/{ /"`3x**h]D1WLUs dp hnỦs ֲkG "kEg7ZF& W F:D,N(NG Bnef*l P2=/EnyKkx!U1[0uB"pw(as$lp`sTDI75lqH6O[6"Q}_`dV`& |!X+Vޏ;n$q<@l2 JB@ /]SeEīW)(a5j AZ| Пdzru lD2X+m7bݔg_xPd '<%w U#BJ7MKMeUԓ頎\q)c^v"$5xxβ&S!^/XFJ$v&l pV$Ll #lg]6Po\TjdRnZSz>x܈qOX. NscM^!-Dr"JQ斈%Wr#3H}GFI̭;`G6ԋ)(U;!T TRB I 2A!Hp}K^p;4 *aAX28lbH$1{{iU$n |7r gJl[wW,T[Sy̡E3ؘ`C5"*ؐ٬ʄ9hK&~zcclP3 ĽU Xq腤 +bA\9JQ^bYB}ih_P6|u ^ e9T]⼽_gc~d_/6Cc϶8k/%aoCov l] Z';תyon o9#vת#fy覼UiV64sȬ>j3w;‹:[ً]_nʭ}ͷ%Dj{q߲¦G޼4nzbogݶ~l5=¡nsww3nXK~~!͗.عlA \|;7WWzݚ{( s?-o.??/߭ƽA\Y],dF`>_]\a\nN 1?7VHcڞq;K?p{7 2 slz ^lW@6jzn_`endstream endobj 711 0 obj << /Filter /FlateDecode /Length 377 >> stream xuRN0+|ܠ؜PTjCJK[HZa>uP@>r&(ߋ[CW tE^PoEE_%0w'b(L&gN+2[7J`U&IR vfA4B&n7xH$ NO;(pWtJN*-rH Z!(3> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 713 /ID [<60487c143ef5619032c9ac7e495e457d><9323f2227c464516ff473a4268f6ac2b>] >> stream x+DQ=>Ƙ;wf."XB3MԔ,P;$!2VHRBbF6qgs.~V endstream endobj startxref 495328 %%EOF lme4/inst/testdata/0000755000176200001440000000000012771005141013677 5ustar liggesuserslme4/inst/testdata/polytom2.RData0000644000176200001440000000374412406350752016417 0ustar liggesusers pT>M6@$$! /I : ($ t$7}$7L&֩⌎"eRb% "Eh 4!:N=dY#vF|s.[dԸ嬆lseǝeZ \O^P!\D*2YYR'K?LucI0kȥlxc?mT;g*pY%<'l O웳:Om еcKż>/ >и }5BA)ּɿ7y=o~ti^jtW} ;\cNB{Ym4>5g^$j;C [NB }s-Mw^JN\owA˓~xsj84p[3Hh=><8ozLӶM־} /qNj3>yOWB;Ǵ>pFsiV/OvgɳEQvb*X`~aA M7?L=7RS|[7tgŃzD4OMOy>yxfŧ~{ˤ޷y_Lkw╄6 p^ {m>rՏ+a=g,fBU{vʅ%zQabQa2P `Yc\'w6nKv/k^nZo_/`Uiot{ 4Ъ8Z[<v}]~Rm@WOQov&6]U%NQW7Zlb.oc❦b?t'+pVBs{<o4Οy3OÆj偛RD>ٺX>pHY=pp Nĺ X`pUoW>SIx_u^-Y~.xeǥoq?hۜ-urp+ĕwꕌاڅЯw';OhB܇{/`:L 7|*c8A(u"hW{\H}hiZA>ʘcV2!0W iAGP\Bl$!R 7Q4 Mi~{:ءh :6#j?5?\I@PtNMD:leeAscڱqK ꯆMB~JS 5IDmBVZ{ov"RTN84%\%SR>萹rH`fdRB=G:EsR%/E7°Ќp=m"vL=Ķ]^OM5eZGY 4ճ7- ! QaC6ᛞOȦ6^cSd/٩]Īuȫ=zq;JŠJ1s^T.9 ,.Yq)'ZP)wD4.Q唆uipq߶!nj3v+wK mQdD4 aG@!,ýi&{ b4b "G$ "7!)qTD"1Dd!& &!&# nFLEd#r?@ r"# JΣ;Sc y:O YxS6 xj&,\,C\,\,\,\;r1+r1P=.fbV.fbV.fbٸٸmq1q1 \\\j? LI3q._*70By |o }}C>@zV(ʕ+dLF#r/i_!lme4/inst/testdata/badprof.rds0000644000176200001440000032011312565075351016041 0ustar liggesusers]\KO (;( rbDD%$!$}g {]n.WζuxVV4܋=[y;('bi)gD/GxŃ;L8xzxW;Bʀw}Оcj8q˹ioW5׽w>=VQi[O6mCpVY;uUxc Һ-DQu`nDGhc;l+ߐ}~2^qkX8SǧjÆxJLs3^~|&2(≑&wtu/S(W o/̓-2YWVvy-(Oh7^kn@L3{Dž+ISQ{B7{q~s&WqIZݠef 3E.AՃ]/6/]zh$\P4eK )x9JmGӼ7n=KwX +,1}L.7^uGjqp伽kǫ9vS'+u@-6R #*=* 5x{d3^7}k鎽o ?bE|$VtCIm@+:>SHt|-`l;O`O+ޛO=%K:o +sp# t4ӱo|ĀIlyw{H|~2óa)EѠF4?J]0vF1; 4lh;eot%K>ߴº0<b2$68Bϓ4n?o"n%g v@߶b$Fq#1!r஁{Hrc=y+x[y"%[H\bb2{v~'B{[FW=&9t8廪$*Z$qw#+u#q$3oş,X`Ր$~w0))VAiGH[[ *oRt?|C̀^Wj;%tmZxr!ݾ.A/ʺ Uz njw~lz@_n6'< 8lot>ypf%]g>KM@;q?;.h0`VaUZT˛+m$8r+PNi7>; pe@8J:L8SaF_<UYvV`t݇9>p͔ ]Gn\ h{_j>o ^oA>nNϭ=SӎӋ^}*p[]C:y ~Q xdg=潅roWo*`^T[ :9WR/gA>k,E[nJ&Ls@ŝ{nӷpPmCd&~pʥzd9ۇO.7+F{&>j ڣݪ>SڥZ/C*m 0Ϫ%Q V VгwZS*KA p}u:zOKajFXK< \]Wq'`B q2ہn{8B=`>qNn8pj?VOq\{8_Z7Ts GMgt|/೅ϬA܍yF@n?j6MWG-u5VK{n؎?-_:Cjtn_jr K {z祧 a%ΒUQ/w4pϳXo2 TvY]Oc`Yډ!3]k<zg#a{MqM/{ҧq3M kN)ݹ˃d|r5|'zs["͢\Bi7sy2]^hsLڑ͗K0_f2 r޿G? ߙ/9 S%Thfogc3S~g&'*3+2_=roJ=Qz4gi#.=9DY4w=.nkQpE%Z4$ۯ]w <<6jjf;Vo7w/Ug1p}͕xї/%\ k٪91/Y*]WX8/僽l2zػ;>_u++T^zN nU( ]ŗ،Ƹ#{[&.-IkGul G5u+cEw>KK]^fǪ彛Ȇ|Wx"wطk{ޭ/ׁϚ/zᅺ2 w÷SKp]yŒ1OϿɕqg[% 3jnM?;>瞾⮩~#l]ݦKx/xa +kӺ.fZ;. g:̳ 3Ďoa;HޱQpdqs+"qh |An#:$N$qyW[ C$&_+T;|y=%Iy.8p:xpMd==DEAS%vNg_8ˀ|G_2S75m!d.ڮ T\1 }d|ߒ=*XyE绀UyX݀n+NMא1Ѻonx?/-'7VYSV"×=Y֗7d<=N*pL72eYA%GN˧Vyn!m3G3'dK7#Õ:EQ"3s&w@>S,ׅ\z(N/Z׹X"钾~gB3&?N.gB&/I^amyV^Dd=%l纩Iru߭!E؋p;/|Gj]6$Zfˑms֣C+(Gqb~qu}ђ:&OCOxnuC ?8 $9CScnH {1*u'1b%SXЭ$. XL@wFEl,th`a-::CַTkIPd`H'w;XYr5$Bң]XѶ1I>f`[Kz8UP+aUYz_tVMKt;!Wf pjmvtI6l/8`aWXT]#guI=mHL]ޫד"_ 2 nd{lXt &u,&1qux;,膮I6}`#-Bb Y㚒|2!XJV$oבmٞэL!jIB̫ޭ±_oֵyy<<=xf [z2bxWS=RxΏa6s]hɲO>slgΊOVүX/UvGjaIGbwg |"2[!S=N X*!2ڬ5}ǁOX /0/w\f)u{|g` z֫4(0dz`c@ya 2h`T½De)ۖ\dyc: (z3Dr0~Ochy|{O:SV0T)zwe;aN-pċbWG )qސᦪ;N"gWpQ2(w-\16U=<psMy)Mȝn;UWWp] w5@q'7^8q+ $}.7,NqO5'|X6n_=%Ӎ[]v8P=a oe`N(Z8dpD;NɊNY_s^\ p{Om\q75;To-EwlJpۭt<"?&zx9ϐk[ 'Aū& 2SFi)ۉ񬲛R;y6̗ZGrO (xQ`zл{([555 - _:Q=-86s<ĆAGF=E&vѹ`̦P|K5{{r6೯tb~@=}󸯄zwyZj1ң5»4>ߖ#n_k|^ p2VIGjip5ݛsCcgaռoj.wxjjxŧTz~]v>?4x5n۽m8NWE5ZXz(So=?LSj|\>|գ 3?Fe`ߢ+j| xHs^zzLSe5VT (8Y4C'zgk yK;{*QA}py;d0SLu\0mz/6ڰ `gwV) P@):Rm[S< ꍟ7za]pG5`_a3i%;)?y^A Ww`͍_3(.MUesƀ X8[[Ƌ_M ص򼲀-DXwv YyF`/v|vK<\Y*񻋀g~|n2PWwIM G*vy Ll!3bg/ڇ^oN;v>8gp%qΙt0l|`v?XЦ~zp ܛu/?πkB?=pLSa'&T+vcrWt5`uZ Y0,,>hZt\SͷCRs Y&灁m퍛:Y޴ɻJO MO/w+6r~'z2;W|+Cv൮w_ DCL=(spRdFଂ]ҡ޳j)Tiv?kNO5oE^=[ݟt]%?~Bc~:6hًjo4{D;==6B4wrB ݟjfOfۆ^p!sGlS}@EE8Dwχ?xeε*j`րMu(;l7:қQU3eޥW^ M+ʦuph_pOoO~v6+ဍ޽}}ƀU\|9\î[|1&OL} ]0YϤ;" \XvؾDeR czq/S̺My0𚹀v*9$:.p)Wťlj1Ph1wB4$W\RjJ; Ev\2.o7EWz2> \ZBj =` G\jgD~%Dfwc72*poGhe ;mm){?<\&ʱ|g }yY~j?Wh"P pDǭ}W5z8}) \Y^T@l{4J<5#oXD'ox 5y!uqF [u.rFRyFƥc]i)^R5JUg׃&/ؕq v8VT&t]iT%7$M~ٰ=j<>Vjl" M8y\Tk/hqsڱrn1yh211M3K{IW=5.5W_+o oqbܐ]6&WhMNlJ\nM9Dr.SwԸ;ƥSh\&YO`qʐ&uw-}5n3㪹hËN_ƽ^G3fM1 h/_~]gZKS c!?qXZEIТ#q˝]տqy9,0xGqs/MݥqwƽoNE!2#No/iXt R$jqsM&.8sP`TQe͇Duzʓ(ObJ5T P5u1 =|_Ct p?8y|`g}=s\` ݠH%5 Y]+PmJ<=گ6^u?e ASr4$߿S,\0jI8Fw ҵ-`n&dlƀeX)l4@6V*ktn0 y 7OÎlyB,`T~yۅvt\y((Գ`|}k*B.p`臀Cu8yS7qSVT5Tg<j ޳-m(CcO 61i `H xޯR+uJYa@ƽN[|]|?):ҹRҘ5%F$Sa.h MS'ݛD%?ܐTl) X2K zn=GB~>M/{:O(ior+;{/4Qj.Hyxg'$vkV*f.<1غ9׎.3Fxcxg%zRN+;W/q W)0:}+/*83 鵛 wQzu屵 !* X~gXH鏅 <7am7WHZ9. `mOT$`xbw{I *mu[K%+r!G XzD@ǒ_&_1}]@ <sHf\A;'H;."p[ziC#/ r9{w 4TDs[T ʥG^8t7E%5S֕]qFYnT|j#;?[6 Ʒ ;0N}o - 79wO/^2?`Mlm+@1|t|E|NR&=MͮJS>O`;ةS !0S#5#]n ,@ǝbVn]@Ҭ4O,uy{;0߫헝K$UQCZ=+q3`콼m \"}҄PygknW8\8xC`ɳ-{mՋ hJɮ*'|7yĜ?o~ {l7ő#/zgq=A6WMC/lJl"͖c]M+:[X,_~} `э&rbW %0z׬oj |Á@Ʊ#O l16'nVY6N5 |u?@_2^>XzD\܄l`r$izފ;Cj~왷{o:%`޺' {uo^|w"`.864`x$ja dnzuI$KTcj`샀VTIP"DX*dcRLG6CYNc񨿟(_W9Ŷw`(E8`[ ^oʟѱ0%F-O-Zj%uEfkʄ6K[ﶼC5׷|v5k-U[l~ǭAJ -PϴOީŻwdZ65H+wƤհXʴ/ztָ~w5:w6=BskZnxʣ/^ۼH it~.wX, s|KZ+f`evTG5kxo n5j׫J7uqxJG6`剳C]pY޿஘WZF!];Z )uMk6v+*&H!9̐dDc z14'K y,UD!d Tj>ռk&ʒlbǙ~y~< ZЂ`F5nXYYSFcC?D@ODA䏐O )ȿ!wD/OD)E"gDFwDGD"HOD&)%D+?KD/?LD3?M_D7)?'D<OD@P/EDQoEHR/ELS?"T?SEUUcEYVshܰ1/OV[~}9/*c0FvL72Fr|/ßXVgs~-smll_\eV~鋏 _6kڟ_fRLw_H=Q?ʟ ߅ 0/AdoAhAlAp/AtoAxA|Ah@ZAOB!'B"7B# GB$O WB% gB& wB' B(O M!S?* B?+ B?, B?-_ B?. ]awmwmwmt5ퟀ/@ ?@/O@o_@o@@ /@$ o@( @, @0 /@4 o@8@<@@/ADoAH/AL?AP/OAToYsA]Aa?AeAi_ 7, - - 32]ߋh?0 S~bz1oh2__3h3CS~iz4OWh5ڏgSmz?7ߍ{h?8?h9ot_޿h;S~yzeIeIeInIXh1?{UA,M@ng<]9LI S5&A Z07 q/PFMZx1o70M˼XzXzXza^`^`^`{eee]ږݨݨݨ&Ny3ev4m c%"ly< kQD*P־ hxMݎ<IF%T8$*a+vUVf'6E$#6GQ͊hWptIUj?< c41hbb5v)%*"H K*'0ɫ}\KϮW Vml.EW$SDv ^1o㉐l$g-X$fS)v㬂JjX 1@f԰e4_Am& eff"YˀT=ncUz``ASblf)c(U(#rntfp!$HtԆ12F25tL Zѥ V0.Y(KսbD$OP i'[A3$+mBwmԋ~ЍEL9%)򭋲O!u|emG^)% ଼I,Gjyc <82$FLPV^˓$J(>}.G'"hUBvC)iwݦHqe)j(IEM0, ďP* uj"9#^3ڴ${#[E<T'k;Ԃ=gVׅĒXaL]_*Kq"T!gkEBQwaA bt3[a%$Pܹd4}T"ʥ}xSaő>35렠 vl]]|n IJHHmD5;[[" xy #O7jM_3D HkH G"z@SE4gp+}ulap:QN$)fZ2#3LA6X,oMa4#6(൵.VpL5rKvIf63=n0o&x۶S[nZequA Ѻfm>'JlBb1[2U8Zʇ4@#,dbG 1bֈ6#Р3A@(QumBrCk~Y G"O^%J6]VTK̐ED+vJ >>>F8D)$*UAJ"Ĥ RP TJ@[JEΒUNxHR I"BLSUDBDH*5јD@('2h"1lR{(.bT&HD$6'HZRRHKWN*r. bA0U!$KDiRI@q@DHC,UJDj"XA$%C"]q1IDȂ 2tdH<3=<$zrCDU$yK|/佂ްK$,%mVr d~a2) WC)ML)nDK%&(mM[ ̈Me!#?g8ԏ^&lxQ##GՃA@#WU)Q')*+bd=!H+)jb1ڰ}@O eB#mP[PEIa SAB z|!a %m6: xhK(^.oBa8CjDO=Dém8dAVeaT23DZX메5] /?ꋃP0laF%Խ,ґٶ?7k;"d-0*ѭwU>R!O U9œ+2o4 ;IBj1fG5AE]EIJ%]Y\]%-mI2x 2aQ&͢qp4 3- T-Fom vH1+B+w'B(%$:§7mj2NE6;UKǪA(1#YaX Bo%?[Ŏ(9K1EV[r4%d) LpLu d|B_(L.K)BW Ejv.ǺuuOqٳe<$6ZYETN3M-w # gYqv,-IK;5%+aqCD4בh3;Jw1X! k/ҳ ,v.U KbQ<==}("'m4]!8QEPҋu"]@CtR ѭr]J RIĄ> #ED$f]Әi@\ib Td8;52&'f_"uCR>alsL-ݐ$e2ÄPŘ\^#q3HceuNeTIט`ʬ5|^& /3k2-gz" 2gT\ALd *h2hOH^ KLcZ]lWƆt m*˒ =NQ2毭1z ]\,/UX"lT.*aX*R\$xfl}A?L4e3eʺ_ncF9kQ^`it6shש2י %HMcι0s/Qz_7#`FzιD)j%l²%6^622s&hviv]4P٩wR%ISGי| 60یI y4Q">[2ceű ϴhTIm؛w2X1rQ~V))F:3 UvJ)Pl 䛮iӵۛkb:%ͽ\&&TYBCAJꛪGP' S^/buÏ>:QFLYFqcʄ>Ĵe121T)яGFY" Ѣ Rphw&ب)&z&Om\#3SFrpn1 QLm,OQa-|R*ٕ^" tdiB3 OJ$reR [cNDZY\ ̤ȥ=G74Ÿcf|'UDC8g[K$V}rZԲ'' W׹X *}s Ge F$1,;+؟psGq.vjuMA: M$yPtkrY*-BڂDIM@Y۱TFɂrDh'lbILR\XBfAH{ J IH4`AYpD^JK6XɀdäNdb/})!RoYl]SϤDT&*uCGL*%RNPhRLFBT e<"r+入\RS@T*'} EEŜZ {Od7м8\%Sč!giefp)f>7rP*Gq:wP% *k c^NWg94 C55hH!cu*Ss1rXe_f5y_MTaՉ5Мgɉg*c2"= jR& xN5Krfh3E9cόv*iB"abRyzaThg;(c <׭wq"DÞj\rtw2M>sˤ/c<}-ɰYA8kR@=!keo?2Fצ@XnIΖћ#0R|ŕ" Xmzz%pVdzʪH#X=7 R³389'+Z S֠~gʚ)]Ȣ.E֚h1~' B-0SII4Z௑ E-bCY1%rM<PIEMXuCiʢ kQtÍ^3f^ ERF1IRZ*G)awwbR%+9F&nXkH j km-qJKle'BZw+\*+DR`Ca3yks̮gWˑ䱾p۾Z]<aQqM\&UG6T|Z3#x5cA(c%>g$r1sc":OH.56p_+Ț|+s }}$&k9,(Ch^6b4iv+ /+, 9oQ 9!czЌ nR'$pgSa3:#_t&\N0壔rTBۙ-t$'JjD{+d^/n"t,͕:QMY ^)p#P&ӽeL8r;pb/!3bnW 5hgkpKE6çGrUIɨ=J"ӽCr;XXk4A~&^c:B(" \tSAH͋PԕJ?#0xf۵ ZӅwHT1h|c,:gL' { NT~1#mA_tE7j]/t2\fs̬9V$Ґ  ɉS u3bkrej l5I.&<0 P`EZ" Y!kfٿ>J0m8~&Pg74e`х7/}.I3O2&jrIJ  * @ r}qTgrhFKe3S# E>o8i&sY~3% /nz-ceNƪlvEîCba}O t3(Z$t+b2c;xǰSC2USfE|i3#.GϞ,%z5)Z= 9Q/`>SŢ}QO\)$zԡ}4ˡ1m6~X|JHzd1L 'QK6r`dvŹ S NdY Z)xyNtf`|M0vPI"$A KdujS3To-"ڈ!ʐkB0؏dMa>O!iӗ14Y(N0A RyN{FʲTeHVieP Ŕ;uY]7c֟hb85ςm._c3G μK~A{%K\hmZΛ;= WJcלeW+] ,YL=at+N-6.N`8NRU[݊" c'mM=3fbe>gdA|Wr3HEqFV,#WeF/IHԶzJ[ Qdٶ|R6!7l64p60hjLdOP)מBM,@Tk'/%Z "ࠄi\"I$ jÃ$D羁N R@T$c5I0Ob|<4v,k{Re媻9crŘf*k8C vL~**IVM\֭}-u\E4VB&& #մȊ(ǘOQ%E(SP2 i  2sʼ(T< V6TX4|Lj).qb] SL\N5ЦT^A/1~##ڙ]#K1t[L GǏ2Ho&fg7`(ЂS TZZ SLҞBR^-j X"ۡ8Zʤ=5'%w*n $|$*S,tK`QJeBy\0N`Ƕ.,=ZV+Uft(D$N#@/AoTYFto/9*%!!C(ѡV$5.%}3|Ǎkf)8$31kʴ,(/~Xf/f's8- u홻@=UHusfJTJ7R2rn.E{%rH+ |gb^[,"-Z5mUJ_!DeO0O"3t\,%rY(EX/'L̖Da"T֥L&T!-"HrXtĚq8qa t V0@ZْT̔H)e;+2ڸced-R+BsG|,Wg?c\\lR-8aԸRGfO/ /q? X1S+f_gu,Dp*s0E aa8Xy3s a桯0O ?iІ\0䛲> bb4,OP\|_>)Bv eBLhɑӒL__y" :h^N\`}=PBԱH_- B3$<G^pKĉps!e0„ń+ GrRkhɁْ+lS@Vd-B"D~^(5\?=a$(Ԧ-#sLa"Z,=̖1`?M {)%\ YL -Vb_\+TZDO_M +LrzfYUI1+6nLOde\Y؊gI$+v.L 5c^K?E)L>8D@bH eBr#ew#,Ȍ$lI1#$m * UڣEOAo8!2IR kϊL ugrY@+$Uys<ɸQ <*opJ겂.jZv<Z2Xݔk7ՖLu<E029K3  k.yJzVv E 23w8cBt %GBf:5siOz冥B&mZ=\\9aȞՁzbz\yOi.MaӢ)ff6-M6-\?ˊ9:9zIJO&)URBP"&z̀]Zn!o_0sYly h x̢$ t`:Sj"*Vil`_'pJ?E]0PrDZJ,~X*6 *%Ą?}"'@q}b也@\['W F.'3Y0[À9[ȓ(uIc\"^,}̖|1d?I xDrB"T,BeK$L K1b+b*dMLG rQn_dA[X_ߋl1Ų,̴r\aZ~)嗢?l=JB #Orf.-IǿLG`lQL ,F̢0 w= l)FrNs`eS):a]SKT -fK ْfl =cMB8<ڔC㧡>m,12?kc20Q9:0[Ph*:Kf =*)~7=kft sk=!ęI 'M8' %L} =deI/5_>W0˖s+(i`dY_` ?IaS_)D>RB@4|,%y5t◟8N7D chKe+B g|zB>eU +RS {JNUIDK!'rZ"3+%=J"4 kz33ld[[y r,ԏ6T~2 X+%H(17tR `tTIBf ,FYBeDPj844q4LU!@iVGH)lj[.mf^iҬcĵ$|,QUlqi1iUcR%=H[3`Yuq V簮.g:)c"G`d SaLMIfs9G*ڙu;3fKlPDPPQ *]2J#q Ċ9A$CFL+v*9ّ*I) mJLkLHf2c&lÓL'z  |tU)Ms!̝,[.'f2(LYsR]$1d"1qc-e=)Ȝ.e?r?w wsk% ^iyd--S.~3]]˝^~S fnƺϢ<*$:HbF_Hf|c_I:㽀O\!xDf GҬ|a* I%6o X!Q =xZV #S#0Dag^KϬOY(O IJIEB51%F(*SКHM(Ȩh97-*Xt7ehʬu\]u(lKP8#nϬ۳[T]; U(maFČc8 \udLcJ:JjqNaz|2%<2-8@O4USfsK'ĜSil`;9F {'Z(3r61!MKOK=NR[Tt{B `r҃sR{6og27Di$̹5M=w-<5R5oc1Qx[=Sl`lEQwYHBt&*Eg;u9&LDbc-%g6 kocQI(Ɖ&8ܟ?Z1zY ?cӾs ߉2t_)bcU\ɓ%k-rT(I.Rgd؉)#kvF F3AaEtF1x#+;HLUZ!6$s鬾3GWhO87!V).ļun+&>_qfᾸTm;WWn\f^9fZ3?ݐ>NjmLoZ 72 i_cڗbUxxU}^POMo;s.4ۧ*[4#}s.h#.j} Ҍ69~ ?{oxԶ,CSHI0MS Vb;O}W!k~^VҠƫu闆^ -8wW[Z|jsNSF T "MPq47^p&ϖk7'?Y6ÞC5;_Ux&kTѾbi5*pn unMCj;i#lmZ xPϚhiWiV|uO! Η$n}_,~Dx~I! 4xϦx}ք:*TMdui1r%4^YEDbr+hIVޏ4!jsVMdG /҄I5&ºQ4EMwi9dѲ1V}oh5?*Vlop&1T˞KïJ~iՏHWSr^CVƂ}N 'BɊ$׏ Q"E ڧ]Ds{^ϋ.Z6I?w7RvqzCu7]1F/se./8dH|cyz*Kgݐ'ҾQLa*~ϮZLh<¦zڜ{`}u_GTצ/Oa],?;ji}Njף,!5TdxM%y+m@Me*{om|M8O1;k2q9QQhM+ PT[4T8^A[My2?^O}iwIvQ-֡4]K+H׸^թzӆ Ֆ?|6ZZß>my֧%U6ZPFP^{I#EG2=a y aY!BY'W +\$މZ`KLY, Hf@H(B Q!^\ELRq`@.IT*29"l'!uݏ9 <XϠM) ZɑP[0&Bmߠx9>/c 3(^(M'KP%2GJ"GJETF4c 0" FSa~0/=rk54BkShyS-+5Ž9!I70xmoD5S|{Yq{l)mCr .ie.⊌H*5=2ΘI^$ l83dk*났t:q R I* F"P%JDX)u43Y$4{P9bMC,?Gz,(@y?X^i6+(&R !:s/vvFy@ycC-B qzH79; Y]-}CV2Wŧx.R_A PV+fet[oW%uCz8bu({vQug|߅w3\?ik_ȿfFѻ4VOsXjKFѩ/?ư1FM=и9F߼QEhʧ =߬n=[pQl7yCEwSZ 4z&{t-+X_uoܧ^o joS3(^{ɴwkBc*^5K?iMA>˞W:V`h}5n/Y](کIjMKn%2VjĵH=W "46䉫]J#?/>j?^f[׸ek\͠{Uy)7G8z\6aܹВ&KR/ſrîR# ~s5S4i.?vf 1MxnbjGd ѯQؗM ]F߿3+f2ݱOfį@"~P7$~7M ~d7M#~3,7}]_ &Pd @A t}a'vS&'uDJA)#H27%'Y(U (%fqjP'~Ryȉh:JL0*aUPIwAB=I-4qD(0Dž"Xiw]ky 6_2I 3ة0.E!7@+a"UH4UɄr1>_9E eriL(2^<)}"(08pjQ/>)FR B"H~kKBQD#Q1ZT+I"j]tQ]@&|j}O_WU }UNQΣ:Gu:t( -@n4u𡢡kXX; ޓu_u_pex޻#{>c+|5;ݿ.H2z {,w=b"Y/P9v_+},{wBZD8Ao`Co9m.` aS&?Q\Eٰ#f{н/Lu6GKO} l\Ҕ%ÇW'l.]^ٷ?[OG*p>cб@{޾ś7ßAO{Fn -v|{CK'TP\c}ڣiQmC͗oȨh SsS4icʖ'{zaµGkNeGV`chfS1SYtŒ{̑j' 㗦~׍|u^0tK݁i}/dC/}q_w$+.NG /gG/wlyb}=a޹mή+λQ45J'OjB~ו]d 'yB?^3}_Px ]>3TpOoPtx^ǑŮʦi::OG5]m/Ut;Hun}_%k/~*G5_Ϫw^sC 6O' $iN(<(/\0WzŶ+7*^'{CGWK[3R6A{}}ߦo Q;鹞]RLSnR~z:|Wѕw|cGKnx?1P>N)F:.:FG%j/:y̸_ڃڣ&uzA@Ү⒧RԐ:F_S\<`r;9ON+vݟ+Hxvǩu _bZϦ1v9.Y7tZeyͤZ={$׃v9juL+%_e*79)evpk} _̢.oR"1.JB$"EBb0'AKiFe6B"ԩ J[衭 K@\,l+U*^h5H F1X莪O&P2,k"^nitrPeBZ_,: ~J\ ^!R8L44H\Ķl=jC߂ܡLr%rbEXT&.M{}(DC%J-Nڑ ls}Q8'tߢ5pfkh!]K>P(S"'N6 U*# cĠiHAA ry?:Kb)ީ\B GT\[%j" 'g"yZ#PEo `WB!.Vt#XV8`, $FZ%88Pko fp.<}u##}d(*ÐU1q=TGJ JZR?eC9(4q gs7Byi #hQwx wax&꿈l1#-3K2h}f{Hs)^a6bY=c}GHPA%8@P `nGVL"H)Z%r$t1BBc*]P,T 6j' L6Ϳ(O>[12}n86hQ?P|<(o|*Xo|,gf?k_Z|/S#ӌyVwr`8nd˟|beV,4s wsxƾɈ2YD2]=4KK`Zj@(JRT%b \A̽mYj?Ґte`&;m]*Oa*Z޵_cӼU_RIDtFF-`0& R\$)Х@;G󳱊^âA#08+{Kf:ԭ#ޣ),zքӜyrTBe6^ AE0`uJ$҅b.%IzhRTW=pprʔTaUXso`5:c]Q10{Lͦ-m n")J{њv!; qZM/fb}6NMɊc%ʄbbTUTgX'U%*U z{zQDNh I*5P%NTZI<hd\]@AI/D^$\HHedH()R/uߛ=`NȵksOeȈ,fp0Rk*9 #*=s W\2sk@0߱ZE46d^&\eYQ Y$ .ʔut 'i*$NЉZujL*" {[d39hazwPII_".zn! P2$E;ׂ?ڀԮ%m~MzT#ggm:UU~L6w~P[ @$W 4N 24gQqvzC@zfmeȶ~&iS"JT2]-Q&F |<=R0K!gع6h\6ϰV.g+MnFfqȘaL6F#m*jϏΣӋfvhHUVs|̜SˆBۚFj3ER(=HHL5#O!(Ӂ'9M6a.MLofI PT,ȚlGvΡɩxVVEfffجc†0 b5-9G1-+0R$QWgDEfLګ A#=ސ3& MZ"dyh;L.5+-g0pPՏi̡f Ur01l׏-=H1@4P:<"sMFܝLrզũz; |MQfx?+kwj.\ҀZEcL҆J 1YӅ¾N*y=vݡh'v;?h;Mvؠ,hmBVosc;i$5,>Jɮ%^NbF }vZ*,"˲Y+P5s`Ft"A$JI"TۘTCr\@jM2hyI [z$)P k(r,UE/s(mZ]]DeE|D2RFEL:` D$6'rDtiT4"T*P W@rP)S8/ATHDewQU=}T3D\!Pq մcɝD H<}<<r}G<D(I$ 6csʯ(G\2Ϯ"kPYEΖ3b ˊ0`.==R@NIf{(u(\#g!p+3qkXsKJ3}h!3"J/g "* gHTͥcc1=3mh!0Ӫџib9Ѭv$Z)[G}>F3+OǬƈ_MZ[#԰'Mѐ+U\V+3hJg'(NGcZ<ޓoyDoZ{6?g1x#K#Ʉ(-%1IqqhKDRb@'ÁVA;**BEb)#aI $1\JKo91n!YJR=SizN&6''mb)dJ4KhrHDDRjٺPYeNPhRL]Ԥ)߿6VR%)e= &xI EEۗu{=LDI_p$@?YS mpu0 `.\vL93hOxNgΊFT5f8-@# B(l'l˘2"=ȒWѮ\T˯,T8dΑ^'. '? 2FL5<n˜blN|Y w g%ʌQ&l|+$ 鑎oQãy2Wqu_zVU Eek]mHVJ$AÎޝB"YԂ H}w y Cⅱڋn2bI0I/%]66dIee,Ɉ (}f0>,c0xiEGa*,Mo*.OMKߺ]s]Zg]Zg]jPFZNC>sev'EKW4) ^02-T YG4ycGI z.BG+mJE"Eϲ`C-C 7G[8\TH^C"]TG5E .jᮚ/}U:}U jWt~t~t~t~t~t~t~t~t~t~ttttttttttttttttttttt`-}oA ZprKm?I{AiuAvwwz~=- =6y VUx+}oA ZpuokjfO}oA Z62i_e~ނ`X+T\w٧QI|3P ^aSmж5,|)SCGx]aC|u&9o?>`gx;:~ Mt~1.tTx.|LmoZB,v7xף]vY:r *67/vY$nʚث}~8oQdM{RO4V'AGpK\q߫w`(E8`[ ^oʟѱ0%F-O-Zj%uEfkʄ6K[ﶼC5׷|v5k-U[l~ǭAJ -PϴOީŻwdZ65H+wƤհXʴ/ztָ~w5:w6=BskZnxʣ/^ۼH it~.wX, s|KZ+f`evTG5kxo n5j׫J7uqxJG6`剳C]pY޿஘WZF!QoȧC'drv?&RHbc")`ODmwk@{BL}@vD{Q~?z#C4 Fc[|#cnW%6#1VIK dѴÍ|FгIx57 yRpp0^'d/]/8wfx+n"m^힋]pkc{^|^cT7и syukgǷ|Y^;qXS ]B6M:|Ci/v3R yޜ.Z>&8`g=,>hK^6` AM|u$yo]fM i5+ŤrͶ*vɀð91;F/Us^{5Nox~=NXd&Hj;t&L`L_"F)kXg9)0Eة wc'nބ{//p;7=xa1{&aEa{ԩ؁Jy.ݽqG ;x ju4/}έ҆>v?*9|c}QkI؜zn~lHNN (|Hϴn'"^ۜ*S%M2K1NXVGJR4QŴN)ւuuPQl6m|ٰK%Ӣ k^ -KyˍKkM{DZ߿u|^LnkL^k>}_? &xڿKS[h[=6žJ ~7sZP7m~w*`N^mt]}bI{cE =Մ(@ȣzp%]nj`Ǟ*M P>?{j}r7&xyi##~-X./{х#9Xuzuw|=*ە(W4_pvC_\;S'Pj:nƦS'ϣXjlS뚆˰##&8/ܫa]}l[X@~f`mt, ۽=nMb]+~:63nt nzrl)]}4+}׿ QSjFI[i{/= ;ݼ9E\ox&N8{vvqWNMΧZl!n]\YV+> _)Gﯞy' Q>ryGK??'V!agQB>*<_D?<%'~+s>⮮aݸLÖޫv}ΈesKθn+n._c7 V }cG}ıGzy^]pc؍<("J<,1Rހ*VSwu"Xs=Vƴ=s@{rV5wW_pҬJ o#3]#M4+Wa56ol'͆寈m5+l׽5+bzWc)O&bf_c7,{sf lL[16n^ACs^eaettP={f1}/;{g;*B}9}eu?7z3]kXnht!;E[D=3椔78@g<$`7|ʔB';|7|ר|W|W|Eە X;U_5HYF1Fwfߡz5 ^e#qLVbJI </X[; q8^x]xNM튗;\Tm^9xj+ +vXs ըq/fety:m*AuW#d SPԝRYBRgC,g,҇;JER"+.|KT@(5'tK oP0q,3{2h5LM'Vu үec`~7mٯ:J)Gra&E݁_-h-uh{|P{a{1gTjᮋJhHܷ_烻yymmvܧ6o2~_^Ϊcx**+/_J/֦UogX?"yj'W-3`nʼn߭^\ji5?ߖ#n_V MZ(c4^=]S۽9?4x]_ƣĀ_T^ Nnӂi*V ᾦšr+jT8֤|ODkBYa׍;t++HӸtzްk#M>ŋ"W*׸\ jLzp5nC\jܖʤnk;杤/<tWMՂ 5_MYKo>& `Ɩ|υ>YxccӊERC^/A$>Jsr&CBY,y4SJ.\p`A Tw /ojA "Mжj҄&QhR2XЂI;ģI=Ip`A Tw Q22!2B!ԯv`A Ei#)e4%,hA;=w hc4Y,<+-h]VBjc-#_D ZJ_mL߮tD ZJ_mLpcn*^&h[i7SF7֢qcKy?˟30ks-W -h܌f\bNss9т hh%D Z07Y;w-h܀߬mUۨ˟-hA1ڂZ)cmA 7F[qcmA h!d~<kU J={h^E)u yuEG6= s eE+X{Z}k^&bM7IUaa>,22#2z†x$屗z 㣯)fn&#2gnJZ/%ӊaUS!s$6 mZJ/˔BcK"RC* o,' o̱.+[":µ`ubGG(RKrfՈPP=LꖑK5C$BZWY <z Йz&"!\[̹`$c=""4YeY$*0UF$ɌJ(4T*([ ƑѿNX5ί\C<8-[jvэÚj:hڧԹkN{;x=iJu'|"x 75X^9wِo3o\{^pmOܻ:SqؽG5ZUۊ_=Oa^Wo=Hy+(`QՃu^ {,;70kAIǰ b_\}ͦοV-Ƿku+fqX 96w[5il!tkڒf[nlO[].ikK96ѽEK~쁭Y]5=-ja`leM~ibQA+7=;`G}=i3pQ"5;8/CBء*^);',sajj=%w3͢|Mmlp xvr!!Mnu36^y֙(l3:86iNNkf{B!l:k G'v}[ԫȥi+=2ǭֽ;fR5ؑ4T ; (>"!!.!%"vpbbwbc vbǭ* r{<{gfg͔ƀ{o. za ǕPUǣ%t)nh~?}tsُNCvfB3zE:uǣD@̬;@wMQV{Wv^q 1^Pz$^t|RYZʳd;BvrdNNnpLtC{נU@寎= Pu0BktH6TYyPuߗΉ@L .^rgHV}iT\vp-Ɗ] E,T ۚm' Ӥu;RĹoOJ.h (A%/}|*;TUF-R"=cؿ+ҟԌsBXVz[~﷞V1oV ocYr  ~ ~ ~ ~ 8'|cnAd }JNu>_['}R$Tn[aDȘAPMSWX:+Ao&܇^ꔈU>^<>t 5UON׃ O(],(Un{\wBP({jp(Z8:YML-^>KnNc_WDߔk}Q[IrWsF8xa_*!bmRko/eM:P[Yj,Ms!{c IշF _˳68eız/?̚OZžL ο>)yS$Ugo˵B94$Ӧt -#Uv4}Dhli2w cV BgXn.N# n>`=\%MB#gNit| eT@[ w(Ww, ZnZi~1~[{ME}uҠI^ P8=bܙP`s#vd@5+/=B,Ƀj/u:?B\Ow"t؜R6\cImyeFƏJxA~M ƛH;n"ذMQpT#"BՈp& U#\a֯5M8d+l]}-9?Uǜ/I=cN>a=Q#7~-D+o6ʝ 8Ov2y6UX }ݢl9֗3RűT+S .gw,i¯}XˮC,XŸ:ck&!OeP͜7V@֐f%>:pVaҔ翶>#N:·s܏z^"yF? ڜʖG= |7Vc(N3awgnR ;qe|rPa m~yx0,5pDN| v?8bI&Y$vk9}w2E}Loo"j4!btBWкc!>fjQMfѺ]NDWdL" Vl2\zG~Dfqb9ηBI`R}c XH<&c$XI>f⏝|!FB݀uPg BFvR߲k"\ڋPj1BMF5V#lz!FTR[ +ճP\BFvRȮQ2wŸwZ(2'ieB G\(gieB2kǕB KvV& )2Zdw'_!ɝ|͹!iŸ'Fj6>Rȶ?&RȶFj?6RȶFj춡>RȶFj?6RȶD^5vQ )d[_ƶ' ܟP -BeB Jh!lJ-TB )@eP -M(Jh!Di"FLr2c̢Gs\ֶ^='>p޳'>e'B99(2 9{aPⵣ #2'̸_dI-'O~ ;b)~ԋþykOϕv.L(y[G'=j&䳍7J4z-F+ `D0#CB"5-x\;^aahO܏eN>2,\|3ŸŠHף ID+ bF3c[~6[ӠWp]A7KLmqU|io[ݗN!#,r+z+sƯ^4rd^@H``AdV)!pί#pR)(( OA"iQmTtDg{ H/ <4l9Uܘ#eٗ'Tՠ9Q܀B 3I>V.G|Aj*V}A<;$ҡ :x!Ba!Np~~tk4@&~NU;W_U;vrnE$ b&50gKQn,ǧ.io2~HcD>Rםb}b)vޘklHC6 c.8*W1&:}N3L| m,f]}󽧰tѫUa&&nݸq*Xj3r]tR;k]v(tk/ ~]Yh OjaPox@wߑ c\sTк ڳwZkED*Ƣ6C\ @xK]xHЃ]>N0SW{=̆J 6l3׾+>g9*̈́;u +z+<*DKy sg[%bS`5E2U鯏k2R,ۻx9(wOgf~L5sF})^rA𘓔D@g(vQP˓v 7oT7 Qm?&8,)ofUu{Y@hh⫫'Kw"롧W/BRPq&xnHvB셔gbӾե[TxdzBjylh{iWbyՌк>9J!lL&m:o-)d^>㗣t-4.]pXJq\=qh f@]. +uGUw$C|[x Q5fQI<paj+*@7AIܫ_/ ;{mD[w`ҼG4(mй;&BNN_^k3xxEQaP԰AS)]:1lR"M9YPAt~> coӠKZ &ɫ+ ݢ=bj5ks3?W֙~}|a^u'zx&31 gypk"EPDJ/~>ReOY4n_Ӡ|%BD5;"a‘ַ7Ck/r!Ty2(~%T(9$vts%d:a6tWq8#}Ͽ WP1Ny ((m84hm5{˒T̝Ӣz2Li(3pUCL eCyIН;SL/@U߲2-w/tzu'I]QOX UZu! Ust(+c)CLe\BtAJл-N(ޭ y =n]\Lz4TntK+Wg])v3t|L-{ɇAWMю]&Е [ ?g}̬evBl.*i s{x φ΋;*k=usNFܹW'f}m|d?73u*f q?u G)=*(ގ_sv{y57Vk{}tA;?!4| P.k[<>u<mSQB%GwJe^nZ jwCɻikFioD=MEYNH`7P@Exsy?9cJr, Sy?O)5+oLtrS*s&*F["vpx_ K>]&!wro&CZ-Bh䯹܍{My0wOV¢٫3\`u '*ҠiszM܃bĬS`6[ðl^2˗;JʌR0rq'_%f2xPǾ;OoO[] 2~LP|ה m&bL Kp0o\nt)pP1`^mZC61co!~[H1M͙/߹x,rD#xh){iw[F {b#X:n5υd,3&wO=]\c+,e\PwaCIߟ̅֩~f҂O+뾥uF/,#^nɱl*=!he?(_J(ko-8pkiZ+IO#xC;].[D`Q?jiذ5ca77 +Wao|.I1<& iV= XLoX1{֓'ka}^7V韇֮pr eK6ï+`-xrD/"$z91ϘKB\L̵Sgg2ވISk,Ҵfn CzI~b)F{/bġG ׄ|Q?t{\]/`ŲcYFTtd`HXHDP &Oܟk'+,l1GaFIz1<57xsՂheAQhfx 7Rc˯fk μ+;rIim4 ݂5mk~! r1dENbERoe5֋Ʊ_ bBcx  #H*%Y:u.Z0EezA#R$-ʹ-H0x/~Pᓇf-j#tD6|@ 8Ra4:J<Ph=&؇j/Ÿx[ c!EyE%D[1!Ba!Np~~tk4@&~cN97 oQo }(w$n7t"Qh1Xav/.*)XV8#$ˌ `t0ڎA%0SD@ˆ C}6,#S[ŘȰxq+Kޠpfltdܑp ` QFs4QSApVL 3*0AM%&$<*7::8b&Deh3aq }lxĦ4d5zʳ/j+14BSn4ό{WE =~cRnaF4j#=?3 W{獇[@hF ],ٷ7u9B' TƴYa뭌zPOl@ފ2m yljO=֯iՖ[&~xЩue9w׏2g'gˆŜK qyzXaAioXQ~ 'B |)d[$ GXus;yϸ{ȂEnRM/F.Xb[+v ^~X>x̑ݓy>6cQ:mPxȨKy_x}Z2=Q#7~-D+o6ʝ 8Ov2y6UX }ݢl9֗3RRJO%ܱ^0Kv na5/`7ꌭk nc`'j`ɤa,[Į)U_*㾠k_;E6l{^@f9[wZm9]OL^g=FXL ۽g^0 w ?@aڄ{Y]e7eﰃdV0(x*w>=;p bV\pWpLG 7^\-9!Lg p VdU\\^ h0Qb'va/~x8V< eT x6J%\LqJUs_+ .v?ocuS{0g#ftɭ; mB\4>O3;I'(1 ٠< -:p}WO֮ci@sgD6 0S i3`6(y4SPV7~Y@׾&X4}5nJ YAr few) Dl̷gx΃ y ױ|B?> 0ٕv54Pa6Wf!@7#-kt¦nY8-Wy "Q\nc>@=0:v^zb,q)(`HJf*`jѤbp@im'+ ? re3{ eb l9?l <8ãsH>X`xvʗY ݌*NcSS?|fpx'5@J=FM4<&ZLK?wȈ5C ~b;ȒB[rgi 8YyXGXNu77;bHtr reɀ^]_ \ x^od;zYaH '"> ]Pz@gu %QZRӳ+}gTKԁ/5'@։ caNA$N|2f?ps@n .|ʝd7cew+I<"f>}.5'Hћnd_ <ͤ]+vf? g/AO|g㠁aUMGΦ"l{kHI܇>, +K &ҁ =w9ZD[¼]]`ۈ.)`>z鰄N9,JR5'|/R2vk`gl`o5`Mcu굻h]:9zQQy?6:yœw)+>jFCH'xC;].[D`Q?jiذ5ca77 +Wao|.I7NyT˴YFcc̤F WKϨ`}7{Ŷ/(]xm/Yk&,!?ũ`LZD%WFL[1>?X;{ }Rq,&L{q̓^xu_FϪayy`zoFb(/H39κcoу1vX|:X qGVn.O0Zo캵OדY 0=cY4ƺwU`nS+Jw }U"Pԋ~ء ːC8 w1vy7|jƾ1,xk)nc\v+ n*FXr=L<䆝KP}fbX0v9gIX; sTʐkי9R/G_S +)LY+MGﴴh;zzO>r'pI5z"e1䢌_<9c>/*:z-)~?o#s@A@\@Eq+Z[5<>(5[ t(OT{,|olAIrh0WWω:]2eS/x- oΉ=ZWJ ܶ0ǀ3Lh8r7Q x7.u1@{рn:fvKځ7$yP=`σc_l] }ȣKCeaZ-r:!:Vmd̒',}u-_0lmf|=Y.ࡁ/<[_< 3)g` \>wiҚ~Xez2 %p=`Ǿ⫍0,=5(W;@{v>`M,cZ 4lW,@H?C:LsZ*%㕦E*i `ּz杅"`{d YP,MV:z4WE+`h[g|u??#Kýb^,,$ ~;s*vX>FbYI.`[m6Yţt+oF|ދɴX,£W n+v|e?B 1`n;wcX 6_xqt,]ޘC5p)X}d-Q-?{N5p}sX|M;F4&g_u<*?e O0 ݀Sc[`]|L9Q +r}-v.-ߏ`=mk}./&}ϡǺX~ڿm>퓀Hk3&]`k0^ Z}n- K7ǯ英Pc)>gw,Sq[1[PCvnމG KL`wFϦaZ[oYٮ8ؽUP蝹|O_Sǰ/X_6D"3ʰg]_=LT=Vyp^q"{Dv ?=vZ߉ߌOQZ;`!*la//ݜf(ܩ/wnV,Ʉ ٝ<>n'nz?NݺȳՕ`"_nvq"W)QM K[̟2ڞOQ(o}9F~qj17 CJ]倪c1zmǘp6zwl7mZW@-ksv5$yb_+ogGi&2`<:`wyX~F0Ϋe6`À:0϶8}d^b @(Qg?=? +j ƍbf7aV hc EA=T@FmX}،|lqCuYֆFvqPy`s\ab}t:u0?%b˖7X.7tvb쫵{0wa\ٛb?,n/a,L .gZA X>Z2iрb;[XO@__hJؙZ31A6R^㫙QYXvJSy;`7mJGF4g92p+.b.۽~`RX&:ۀ[4L;[}$ྷ0m(]g4<udpʞwoJ ⿣_Xv`aXsK|-0;u'JuFU`ۯN*ʫ<ԣr7Ųl 7ea_LL;pĥ r{ ixesӱnF\^x~{*o"s^X |oeoXx 劬a{Ykf>X떹X|?b?*j)H(vSEm=8ho1nbT7`dt5>iw%fjQMfѺ]NDWdL"1^;;1yt_5jvqA0b2w誢lbo y l-2Ñgw6/Elm7>beoXzEė]/G#sw|)^+3\שv Գao$|ɩ\yoۛ16]ggȸPIjFC2j`);oÂx`ϛ (kY `:'`MCtM?2вE:H'@qE7d=Ai>;XFlW_i9$JQuzә6u4u_{ 9*@3<*(Y೾m2q=&-  ]~r?W\$8WLcEFAlwʞF>Sp0}i{ jl\+pB ` ]9d"M`@^J,G_7RyӁ~3?xfj`\]AK&) 8\e~Z=q"F@^f[X7`ɀT}m>4r/*p$@={pIZஈR324LdpcuDzٱ[6ңtZ!rfY*ނ_ Z\ 3S6^wsl~fJF%)瀲:G*(״{u'ɑ懲5&Nx6pɀ69ZzI}%ޘȚ#/ls7fXird @$NyzS@=P-x`$^NE~ mL01 0_d8/skqu?@x7)rA7$#FEAQlw~ekղ2@6/pX)q{ON~~r\^ JvN `צu@=l:!fݻ/:p eD2@.z _L^SsYO;\rђ]Nvtm 1 pgac3l X& [zڜy0H͞L'w(jm 8&V pG@[SؼD>,xF+Kr־<d 0 ms֟mήWWmz?^L;ɼw;߳=~SW*דm̶3SxvQvLuZW o'qIj/O}{PȆY(tP(s#"\~"71W֏(GؾkaFxW.z`ݦ(w|Z z|f? ܑnS;G,p ݝ+TϾ w6vMK-/"j?`r*pE˕Bbgnirwc}Wnx/ |3m; ѵi, ݹA5=m90K|9;/0W;K!P)ru !.Cx$S3L{r_G$fs {\V 򜥋r;[U]h@9?Ngp]Gd.8u`.UccSH*/_?#f,L.ga8Dz 3&ǟ̜0wVZ%c=ɳl,7s6`bk"~cXX\ NQ9z`@~ݜh8l@SfdX Z9OqQ|=!]"=t,s][=>q]P1`'ZUo;*=%-Wb(_0POK+'^ e*%,ϡ(˞ilI6ҜAnQk(_\igP8C(HvS^[%?eњ)W*8/Bl@yQ>1 eaMDHCP/?b0哂y#}GA8K};¢~('"e)+?BiR7zja':jv᪗ʀihT`K(;&H~E>{w*PfGQf_p'U(sk|i@.PJ_;h}fnRGgL4h .5]RbCDž*ֳQ/52 PB}0Xϯ+ ^姧3+Q& A1.x>< $$K4[Kwۊz[E@WJ^Pb> iNAn(+>|[ ͓nCVx|}O3g `.(_]7d/O>54j|߭0Pm=Fw#5+D)?.ܩDPԹ|,7C_|^ry8hSEy5/|vg@W4<_/b!x !!e{ 뿫wkOݝk_ ^IfiCזǎaˀ`=ҋQXW _W n4]F>Z:(01f&d*)VB' 2 n-l&tðt~ƨP樞L;赚ǜЇ?5^kL| XbOSh?jVJҷmX›.gC>7"?w)6}g@7.HMTr>vH%̈́r2H/X$kzF[;RDP7)g!zwHM-i-D\xhODS0t.4]xgꡮ|9᝜+g=;g겊./]Ztm;LS3wjPЮz&msqxp8{ENEqxld ~_*1hQ ?f(|&,,gBܒy"lC@,"y&deuƧlӞMM?njcf57PʛSư''Be? }*]t[ѵ§He4 sGA FTB Cc鏂n_~)(;Rct#gT (cN_}305(ڔUЕ'NJdӥ9.*CE='H۲m)RZ(zJ&ӄvDjGxv/pgAi⤠ז%A_{m>T# }5}"2fAT T--U-V72EЛɱ5::%bak:*>{FCMhՓA}S6t? nz=u5z?^;#ʢV=NGSn>gw}WFU/7egh;=fxV\g՜Q%^gؗ .vľmǚ}>lKjgtֹs;kvSgȞhvR- )Nq/ox%iϭ;=dJ orbP$٨5<57xsՂheAM )ݱWl5 zgP@.2MU[Y%$CnAb 2g oE/G1a!Aa cȈȈ|bFO۠yȏldJ19oj+fVqZ!?aKy #^y?Ĉ&}s.Br$\ 󔪀WS%jHN刾jswKcbѱ\bQ蘃``G^ #Ί bɒ- HWSE3]C !Ӹ?5a޸]eQ% 5s?LAx'ǡ _Chy wТސ8 1⹂V#>FbfFq(p3s)e6u)8$ы#tqb 8s>o];qv(AZU;bXdSx5`q'zGxi$P=t .}"ztF.-pgGW?xC}{5^O0+9ѣG/>D-Nn.LwC|ۡ%gc:?{GԄ;Q|o/I+יV o{,Թ!^0C B GF'@4W =<Ëy/zHccIb}IwE*^>X”p'^a#wu;+g@ x%wZKDyNCsn)%x/jKu(c"ܑ'=9sĕ 2/r:uekޜB>R.ozߍ'HpLJi gR y9ܦ4nءt&y_J9"iHG" XiB=P( B= z@P9gB=POH Ϛ~ڬьz?Afz%Y@=`K̤͂0 )I 393$̼z?Az@̫lOg͂|?kkϚuZikșy ONbp a@|q8B9/Rp9*Pc*n!;b_E]h>rky[OLO_L x"+YFVHM\ӟrP@Q>C/j?94O/䛲/-9J_Z4+l> y`]Y@jurN|lj5|e- ԍ32)PdFka^e/_v7&' PΜ'J@ٝC!n\663O~b~ _V/yf_oF ?^K%<8w${S ^ݻz;Q\ɓpsc+_OcܼQ:h<[1S5%/D  \jx>cM{M{O@-K "\ye7\Cƙ9 t߿v{/E36rc/x%,AU~2?|t7t >[KO` M?)B%w/֭vz3M\rVnB:3W3TޕG!".ߜRJw찻: zc݆o`!# &u҄[q4Tba  qZ(U\a\Z;5uBWv$kUI쁥cǸ 2e~"lD幷{nC!ʥ#á X=vu`kô;윾@EsKد{Xf`Җ眎>)PnlE(?{:[:W?N:C6y ' Xec;!O)`\`",kkF>ᔯ&&Ɍ׺82ҁݰp^A?wMc1}3nwn}x$T&ۥ[1ñp=RaA.7IŘӂo6:Nݫdvx Š)6*um,㧰g *گ+~0 c{"6<XqctX}DWƅzA쏰MYOOZؾM $ upXcT"wf̠ աzUt=͡&x} Տk'[ntP!Q?ثk嚵ya:R"c]?E-]bBRf;c_[2> pˣ[S;PB&wJ(;lI5# ѺNN MTj% whUCƋo4FjT=\9|&Gp;wL ;į6b6e|5Hm>c6?OMuDrmܙa8~1Ƞ5bsrK^G76!f-_g~5sEGЛ}Pҥs봵 }]nJgf-ˇ5/v Ĝ&ʋ3eFvM V PbPD;QTvD'YM2*n) jn? [N:d9azBZ/v׎s\zbwJ_B10~Ģg:1%6}~ߠ']Tt]cEbPb0y#LMvőVPޣW}Zib͆ϺC!l |Tn'i(F0k(Z쎓X Ӝ?xaO<p (="Dckpͺ7Wn¾ 7kI36\_ hQ|(Oণ>b(VXcGn.#<k숵u6%sf5sZ9|(&_ hQ|[MGm6װ t_&pQ|MYF {|XF {| YMFb1rQ| IbQ|W5_|7}}}BF 7rߧ 7rn,/57l,rr]2oSR6*G1ƥ`Er80d2+aGg!!z ?=GA#4499J*QңZ k?qx`v "U.Ƞa%_j]ɴ@F%ɹ쀍u{5jXOZ|D.9F]nv.PGBͫlC*m26,CDi֨kSW ťK&–,z=jd~rR}%k#}qPx\}e0a7BݜV2N:OVg& =z;vHo+?D:u+'h eMwDᮍO`kΌo2T}"2dd4DꖰUpƸ-GEFD\!g$2[lrpmGՔ5ˎMNWXz\-7\e2N~^Ȩ)M:ٰ^y zY_G_WVk:_:QݻYZ4zy#PN*U#:/bWvQ݃~P>pn'g"4Wag cһԱﰺw,=;]CGs{^c5\™Gvu1g|b~ߕyƱE73.{gb2 Ί^r5qK٦ݫZݾKB5ͷRVvئ4D-evչ%S^ކ"\:詻;:zPQ>䄱/ O<=+ztYpv^6/*/q3{s'dtk`gL0\|z˲Q+؏~U3N8]@?aBO Grb;Oi̥CȪ7gCEV黯X1r>i1ʪPq%q]ЕRVTٝW Cš#{:@/psn0?T>qԋn{wΧ7Nt*:tCk*^90#&C/ĝ{ ըpoF>"J ?xM3G^7ο~/@c+V-=6z5SfCJ Z+`~!a0ƇI涒׳vFGL ld(Y,WOC5 ʠ;+N0ai5ON=iܧCIʘFM)"dDȅ!Dyre#D?g"D|0qGaKDԝѣ/ ҂-sf icAq4Ͽs.8~NM,рP?9HJytэ,βk~ 4*KC CjRsZ&'6MIo4=fo@b&F}o@LcYc"b8xɠ\?ZCCp˗tc0}kgˑI#&lWSOTq;JSh$B`+ǚg2Չe pco۪(xnm~55Q٫6 -w`D{,bN{hï 荟^𲬈xoVs3htx gEĶh jk [xN'νS4_ ACv|yK cWP{>]Gʹ~^J=5u9%7Vs 0% 4Մ^SΛw ReFP݋]t*!d\IUCRʊx7Q!XE∘V=Aj6|5b=9t.Z'DAh! fJ\)@/j\jmt--^{FH#iܶrSڊr;/VWxŷɔpd c+OkvMwwR4׾ h7_~.ZvSO*Zc}BC8g tH;E P.zԌk3t`Oy+VlFgHi5q>eh"7+*Jٚ1lϾ p3㸵r/jI!,Fl0`ŲC"bFǰa|]s"&` r;0i$[mQ䞡`F2ոo~ON]ԉfƉ]L]b]S Kpz?eb8S)VHy="xv3|(=3-p' #Y/1!A& Lf LTS81]/ Mҏ `-mK%rH+ M20.I1NLs<;|f(Nj9_]fZ"G"~{"c 1N+@yV|Տ&>kZsIf5F" 4| !5$~\l8xn@dD,ć#*z%ϙ-$8V|3ŸEIY9i|"ߟe^D>Ŧpi~vœzv<ޒM1'' f$FoEM+#w:W:8xDA68+rDB$sC'DR\E8&j1Nn |4`Ԁ[AjJ~m&j;W$R+"֒1cOj`'BɻbY@[qy Ax3e(~NN%6 fD |ǦJ4X:$ ՜ߝۢ\M/K^噹ʹ?3Nm{[ZFO҂ƹ-]_נ)y,wi[3~)gE#.H=>Ű/^cuE…s7H4?<[!쒄0[њ^IFڷ^o^! "-##%k- wVÿAo^B_Y  q8ojfWs3n7!5ixpz更!FMl' Ol8ȇNw!tϧAtxR]Ͷާ\p;~GPϧ.-6-?oYt!BIa]!+h%ȘJ:6]ܞVwӽ2luGIC,wn1 9>"DN1xX kHԼ51}čڀ}`t6= sdOB]$ҥ쉽i!:iWN|8 1ջ11lNߛsFb 0;'y74s3fˏv*<i^Fz@ |֦Evb?^tk% 1\L-]ok#f7X[ )};~/53K,?BF_ \}T*"3 Dq+^0?b;btg=LigMjI!\Y-{ K{]GdPa _ >C.@y]Qdhd=O {'!^bGtF9} xc&7$$&AّI'l'&ٕ"B"hIMsfK mH{5\4oq9y#tyKGZxiGwOk0d˽s;8{'p瀞;Ѹ#'ex<nj0sܽpsG<AFk?6~4Z{G9Χq#G'_l xqco1/ނkτ\]DZGFskqgpϵA`'/?!<^@N=r帛o 5ǟ'^^_%m o4.G1,>nJj~}.n3Hu2hߴ"6qAYq1:jb'#*L6dDXh!%"Ȉ`bb 4Z|7m 31zQ<~gy3D/7f(c8^^gQF絉uXfG$IIoͶ2ܞP@_@ո]CXav7tkt +s<*n!;B_ ~?5Ŕsux _QM`2,V@Kvs[L=ф?M@rjNA$ÜD;V\ĽßzSo!\'=;߈I<7~&g+ uNu-)-"r:#~ϙ}Y |>ՁӞȘm h!fA6UpjCYJib=KM%s&3Oy2'|cf3#2+ eOTy=hX Jǖ->; f΅H?֬M2F8끘=K#P7g!W]uB|&}~w^pG(*] CL;.:0FlCa>f.m-aSX+BTYpGeS#[:OT(CAY|{vz6V 0>۽{#&!1ܾo~H;MfP kdNk]؄XM/|y!I% ڽ|7a {-}bJ}`;|JP[F6Q.ՙW TFʌ23/L>nDc,DG˖~/7IJ<^9J҅D0P)KTv3XM J(|7}(ܪ QKV@TFk^fm_i%7C_H>ytGJY;mgrs4KO{pRW }Mcģ-*Iv/y4ܚEl";!H95%H+z! EOɚP*scF?0ʾ$R B-` +҄ZF&j|Q|ʷ #{OF*KFSj~/Ѝkr?%1Nq-;"+DAzi%7I_[Y%7)ִɆ~`/>hdWTWo0v$A# GFĩaZ9Sg2)XOeڿ;А:߲Bap͕qL )ovr(u^Yb v{3Gdtm{`i1 Uo'osdI:!44܂hH!!,n ; [y)ZyiK5Py'JL[\6q\ 7/M moѢԅFhy 7/mI_· 7/]4 BG(ܼ=a[5Py?;\nW$ܼo 7/uIKi땔h4}蕄SݮHyin^]Ly}ɪoCm^:+iwc L-tjY>۶*kztŒS3o؍{f&Tv~54P! :! rjaײشWP=ti;hĭ$3XQX;lڳBEyxvR27Vw=Z]/Ou [nJxŮv|ms]Kɷ^~>\%ݭRո_,;x 1|`?3|L~{,s ͊ ]vόXdh=>A*+bo v}-+$n!g_YnW)Ts+bKωDzͺl9(;zbyj$rO{M-՜4눋si Opq_]|齔5UF`ǛȠ[sT$G fބlHDw|;o gk@\F[qjY?z12𒤉dd`7ӐV6]]$9Y0ݽwo#n__v OA6!?m\x'wC؆"rLC>7*iÛDyisn´ֹ ڌSFa* 7/m2\ҚɏpRK7/"n5p6:Dn^W$m n[ ܶ#ܶm ~7/~}?n^aN?yؼv ~Snåu3ZL ?:Z-sm'2Yu2OC.w17{*<&ɴuN7sNu (3b N׳f 63GLVm Y ؽf a3}tB%n@uKь(-تEedz(7;ė}G`=プu^"s=!1}oB_Z*|? t&@GQ[ 3uo@cEH߇/uvogq}!Lu7yYXd;l#6/Fl:{6,MK$}|)'^ڝN )W8 Ni x@19 î&&IF ܹyVd¹0W7 Ñ?Sv:rD$g[ ܮ(|EغG}ScY*ϳ`"&7K;>3Et??2F</mīO+'ͫjt]awwH &i`>;0rXGxv* X^p;+=._X"w-4G:ut D9[Då:3QбN{UzXHAͅD;mÛ\-g􄛕l^; !#~J!Bvo47NO8SDuI RmG(O^1KLs=K9{o^"5ڔ|bK|^p:hv0NAZŭP9>ZÓ-~b:GhxBeGO#o=і Oe_{A;*_Pײr6JOكwt$=ڃ2z臆Fx41[!5&*%TD%9j(0&Y 8ځY{&LJ q{i{DTǓ,eG`^rp6p3':dA<5G<0&& ֹф66 Nv 8p4ID p쁳h١j3TAL֑5A|cx#BS z}HtrJY'MJqjR\bB9ql+&ܞ0+eq;qv2͉Nܲ5 ݹcsBlB|\(;$TrDrr3257o`;JqbFGGN(ql^0+0'7f(ːH q DQQ _t,J-ݟ Z `3Cb,V mUA hhVt<+ˤZFi-!+:. 8pbRs*34)2!Ȅxƀ0fD%afXDHhȰjq86 a 5rt F}+&BH0+O"qқ9Di3_3фyb8]LJQPy(7H?Fg*9gKCCcY1a; ^L0Ʌqyp(.y\*4WCLA"x J,±W4hKK.Ҕ,(qӏӂhX|SF\O5P7$> FEFİ!/(TøYh͵(64P"VFjfw4F9U Ji2{+!ɐh21QR ?-z,w(5ObdKˀj4/5M^TėX?p'_ޟGu3깗y{a&k*-"^C}_}1wHPFnw볏sth} "|?&bIm׭ (HPLNz%"}O!w<_5miVZhfmn5ζUwJ&?S%;oLxkid;z4cG^@E1# {0ztcmxJ4OLtԄ;tz|P[cJ{>9_Ia:SH x9@1pYjusC,&a`.z 7`p&a=C@ϒ` HFh zUG``ډѢA x)q@Dsc>z !R =֠Pl@M=G zҰk9lE{sy2i^ZhK4-R\JukkRͶXe nk*URZV[n^YoR*u%9֓xJ/SP͉ Ē8"NĖx&75!L33̜< ,3+̚4ćܚSJ' 6zQD]?#Oz=s+5rdu<|Ƚ9|z\%Ox0Los^'}=boxMdVfux3g?^äKu'[l^;mF:$ gw>HpLJi' ) `n_sc?oI-`"iHG" XiB=P( B= z@P9gB=POH Ϛ~ڬьz?Afz%Y@=`K̤͂0I 393$̼z?Az@̫lOg͂|?kkϚuZikșMnܢ-⹙ 6ȸn׍'y!~ޖS ;kנ (DV'j'T;2??P@9S5OOSrwN2>M+l>(%/(祂eOw'gsMs7^֒0 O8)Ef!Xreojap?˨yo"/1/0 L u?eee%ο|P׿X?N_7.|:tFY'6iBOP#4q?Ku^̹fKnMcJM5Isv\ز7.I>Isa-_>Ef(!q^d|>,l69Hoȸ|C,rwIIs-v㷧tqe!i-ńFHZ&v8 f2ޅ5_{D&tDEޢ"b鈅]`4$vgzgoٻfر`bL6ݐfy3͛7oH '4>LY8aA&-j|Q=I 6,} LtK4o(%55ќ]c 6Ĝkt^/$I$EIҺ Y] OL%D>EE^LBFO“pZ%JVC,-C%2N羭>mCE<֫8iT*/"Lx}Kx}b@%X>@{}@!Fx}¬pE"#8ht8Dp>/郆F .],BX>{}`BO3P.x"t":ukShյZ/k⦩˚˚h*otzNŒsX_ϜC:#`qރ K@9`pe+"!\ԃ\'7)E$E*@$O&r.jW!UEbT݄TVȾP‚5~R |*L*’q6cLn =)̂pV޿l&?ᡗOt a/#Vupe@&ѯ5;>5_/w]MϕYB 6hH4o=&rG~Z0:X%0'dGĐ\ bWĐ.!z._TB*ȗ\9Dwp\5S=DiWR o{n|mMΠ~^>t=Ifڗ$BqND+r\.Y@.^J+* Rx)+K W5a^bn4< f^r|Nx;aĤh|QZTXw7r]OB ,4{@ד5Tڪd]-mA=K-~ݠg<2$U? `(N߉b^#\ٲlBf˅E^Gi!)$Qi|Km /LyXN9-3Mx .(恙 p0 |xiMVal_bJ!NZ!._^X9r(x'`6o/V#uaCVVzbYCnԬ43Of>?0p x-l{ŅP~t{yuz~KXhmĈ9򂩑50h'=2 li~ΡGaםzYb_iR4h3zP*VsЇtC#,\FTC̤i6#4dYp! ü40!M_;&jpM0LE34=0LkJ MZSϰW0bg1!4!즮;;_sĉɷa )vg5:e)t͔VYto$;on" YD3WlAK~aRZC3zůB/ _HMh Az8v-#Ŋ{T=E8 ?q@^Tx'RΠ'9*i\㲥tNHiSe\>.cp?̴;AF:z+Sk>V,)hBm WBV*d_TFb+G7$uTTΐSVJܛ0Љ)* V%*zFe2\x ;Eb".JdIlMXTW#K4%n1j5G=2gϐ: ŅK yoS$ v*XͨQ#qt N HMM8ehۇ̛ 37t3V0{:.~ r#]cC#qQØHFqdϜRz.$U*T @VbP"v%ҽ;c!]F}˵?>/C忦QE  CIk8*I~ p:1L 8 bHJRTwd* \W?8i>H Ҏ~Z? d/KU{E?Ba_k̷D${;6}O5y$u$3hrg9S~?rxCDjeo,SM'1!Zo]T k~o;M{￳^cg3*i=~ުkL$U5cqm-s[)Q>tkD+*eJ"|0%vh/n]%"{ v":e D{<"Ӥk==km ͗OD35ʃsz6)~LM=cҔ.P([AҐ.Ĉ%0UHs_C c XSvGov;nOntR\ycG X^_ $n(6CJnD=X:<*CO*< b[fǚ7Ias>{$*<ߨڎOT'T}'щHԣKx@^Tz" ]s }&t:g:~%qtZ:4 ߕdd"զA?n{OʟzJפ"6%"*` DJ*,]^Ú{Pp ȮTX(o$QrcBp8!ᛩt1o4/K"&JMDV~5uܟDѱuMkڤ :8?:f`%NSU@SЩ7)d\+yH$\+-}JZ<3'T۝wºŢt7y - C}Bˢ(H<yKlmtb\Wr]2'NK8.y$6:1#ӷ2 .@JGFUٙj&Rh~@^8:,o",+i'q 2颔4Z@f%$)ht23[os4q>͘s BGojCoLa֟#?P_I>+C}%4桾RNuiG37m蛇6h_.8C}䣾I|+ryhqHtX݊>֧P=rY¹d-M Cf6wHsA0:WDNJ*ugWUz>s%zڸVXmj*a7oY&: p-}/hp՝1jIy:Ǵe={I{x7|`_vUEv_LǏ]Ĉf/*O)ij+H/ ^|/pm tK[o" j?1HHΨctǚ:+ѩ i>Eod#KLm8I2YTyPIm< [ ~V)U hf}R@*"7iԂzD24m$B  N1LٱϮK1tMNI+.(L"(:PAOQ,cC3]jr*/.'7!F,0 tVyUP$%IH m`$$$!a cPS&0W R.WSxH/ibX&R8dc) 6.u no'D>>]cA5DcB&Sd7 TsLqi4n6[x8.҉JO EeT͸eeMб,5@65[ĪmU.ԸDo nc ]d6#[vkn!CxfYn\oOwE MMY- ]LL]'rѮ˭Dx*d#suk֦]\\דM7CO[zIzNqK~ C(JWN2|*0jW` ÿ4X1V8,g#MW[H~iE1ҁv@Q=,:K=@Jrn.V*>(K*7No)V"a@(\L^]b@tQ]x 3D lmpSȼnpҜ \";ZwM5sfq}OQޖn- #t1<9Q{'))x]" b姬Ta h8ucC0>g-vȏl7*-_M3 z0~g1.׮űu@8l6)nfg]7`Fxs_5-Gh }Aj;CM*q=]zy_^m~+ =$3s ?qE\_I;e`uo?09_Ʋ !_ sMpbɸ<b:Z0,‘ I"?6d38tH?0`e1]@4jKTR@,N"am49E Ct LPbE#:yG zY7j |G*<| @?u_NT(X=iJmsѶMd;6&-? ,6QGsUC dKtm%tMօF6dZF$ h-ʔ#PFz^ |9#23cΈO-x:c{F]oƷ0QD)`ŵ+ᷞ*~dsVhP<4`l*/|3fأU-.4fDžKȃЛ[Bk#FܽGL4-<\g[MHF" 0;$eOb0# n2IU&Az8q(@۽qʎ-'g 0>; ǑNB+HVAƥ;w8"}I] K,jTosKn־ڷ%C4B!b/}iڷ}/I ծm-CR/ms%);T׾#/w}ɓd;UN׾3l}k߅X.Ets4RN)]e<YR3h,Y$3[FgqE<, IR'9E"sNA^"N>GG`|}/_+~¯  /X,e2`~ ?X,e2a X?,e2`XF,#e2`@XF ,#e2a@XF,#e2`A XF,# e2a`XF0,# e4e4e4~3  >7aYp 5 \eY0grs5 Xh,fP@0A a\r,- `!\%0Y`p|µY{>a aO`Z# [e$TR(Wd^MEօGeR%^' RED!8$OeO` B/\BpD; '@!'\C" Z6 T@J^V \!1%d501L1c@@V  z77B_^>@A{A;A@@;@AA]A@|z#zAL A˜fEr;2 ~Bg ӭVs(Ӥq.':S"Ҹ c$y} ?Aa`X`1]x0ghwxET$u`#)ԅFpEѧ \'eAU!~{Tv`~N*ku+a2'X@YmYS{}v _(&8r|Vm ;;Əv~g3Q6`?.2nAe2nvQ2 06QaLeI,<+*j Z\*D/<) U"B%HqHR(E*5*kIGߛ@"Xg%WFSqEZrAOt Yyo,;7[ .|ꝫ;>O_;>CU; `Uw/fFY ܿϟ '+:OlW ek~Ĥgrkħʇ3 REa؎&2b0HiEo_K&OV2RP9Z F?E Ie?Q>5/f3gkݩ˥Rs0\[B2yҫL8Vo5a˵.1Loxڐ a|s:e?ނu\Cj@/PAsd`yϟ{@0M/;+?H_0ĒO(^{ְ{cNȊ Obwg^X)c._Uׅ ێ˛z|gV 0$7WGw!o 24;K?omU[EBْ G@8l5pǣw a$8_%c8A%Ẃp5Oʟyzc>%JMߪ߷R_e0~fg4a/ 3_^AV=Bc:G}h׈>QsUn[V9UlfYfav뿏ENI݃ aGv==\rGǜi >{`}΅, +z@U}6y@UBNҧ)fE~ z¯_=渰o jԝ:+߸ xp}:B{=yqo#'r~S9uɂ_w^@N䯖S;h5},[DVҊ"|}~Nڝ3eKf/:ѲqGOnM ޾+6>}xfkvLsmwl*5[օEgh |ޜ RރVya}sep<败}jS;?fPG[s̾:T_w1bIQnǯ4I5pPp6|=xvRvОK}~ -ǢMQ3+ir/̎zxzTX>b6X/EЭ^Cհ;s@/\̂Y> ?t*I 7AfԊ ֛GuOB(}_b]uiKXm>60ԖՖ/VJXqPƊ jќ0֚6ҚGw+2BbM+# a ²ibr$X=H*ugɢDE*դU[*VpQ .Y[&>\[&H'8C/iYg4Jf8Hj<W?.Ų$<\}-ʂ'+`oנ (!RKӕ$-Rb & _ Ab41Q7WJGIe 4?/6v~d툦k,0KF*\6kZO):mP~ZɅͽ|wԒamE6 {OFo.R-3ȵr3ȑLƏ?tMIq3wD(zZ0zlOߦ~S"f=c 8<΃9-|PKf}2.UoVZR,WY}@x[2ۘzGZ23AyeHFa~;Sk,W5W,,yr -fo`x qT;_R-,S1VӽhNwyS3ނ y`&`v1L_9^|ZFl&(# p p)7噃g sM0q՟ 9=` o9@H'?V01r0-.]fh5D"e|2A @hX@&a0];6yJ\Ŋؒ=/Szx=.ܵwtWqr?~c)>Wy藫&Jѽ]AOX|s dZǩ W']u4 .[F<'yu4*ϪOn>9,2KL,.KK,&KJ-' HRK[D$`ȥ-Fd,CbYp"`yX.0, BmAXhKAB ,K@,@K?`e`-;fu]ڒ, 9Х-8q .>4)++?(bqy5xN}ʥjX&C()~O3!Ï5 *xpӱ/ =N:>'Ih힢]z[<4s2{՚z-p+Ŋφ9ֈG钝,1_4$XADOQwg :~k&yN!n|bD?G+8Zt͓ޓe|nyNj|e.'5r<) xRp'1I/ \',n,l^͓lel6s=x\On'%K+b|ZZA̱|2Bڧg\ITu]Ib \ϜCw0Lr)kag:#ZˀX[ݼJ7m >FJ3׭jx?4:?lmő5qdp']kf7i~j{|ma{>ZiGLt7rO'HQ{3O7cLd|5TzIC7bM 6J0pOyi8Su7QG<Lcg篯i|q- yI>$q853GY#<Ƴ~YSy|i>˥F[}7W:u4=ʓ?o< ~_K%a@CN=t9;֏TK'yW(-U֒ .+d7+eST3p L ]י%fzޭ1i"L̗,D%6nx&\ @W)*&#JU"%qXM'Mq RܽIXћ pJ7cYoAh+yCNq`ŵOP$#Ќ 78SHSRp&Ot䈵灄3:|dhۑ"eBDdBmg; @phCYd8Q?^rXjs8,b"Úm|>94Dmg=iY;6{iv6 @\T@$J@pzV8ubqX)rц Wŕf*ո$E؛LKQ5_˭Y}w!#G,8E<!۬w6HkMV1Sb]!rY09v;K".S%ijERA+~ue%9c qq=1LhsgߝנkS@n?r(1j퓓WA)S/uLN?RC2.c*+Xh'AmNd_0 Q;R(F?JET{ӹ* 0)sg,uqz1+jbHgaWzn=^ ϶;87+L8sq RS ?pK~q#lӧaCC ޥp*^V=xϊmm{ևn {|[y\3x[ i7ym^IMm4YƮN 7v7Nn>t\̶%Czi^wJѣĻG.0pƑe'fOK?UmGl:5Q^ TrXqs$|.?x\\FJq>xV#A?,XTMsD?,4ͮl_'{i.,|~nŊ}z)a),`Gwme/A]rKa]kP͚qmkO!skmD,]b{(RkoZ_B/\Kг3<=~uUy;ߒ5ckw*fmIdžjvMx={h5r9t蝚U5 unUflce'k|y{]'O|Y5anf͒CVl[2M4^J|L=3wqiQSO +퓢5WNjvhӐ˚VVR>Do7?C4ТWtFT.vJ-Ywe5]쩘)0yM#WM/~5 M^#ҺXgtXWMeпhL=g) grp%?Ga_\$ <)I*!9 z?Aƞ56IL!;$D,0 eKU|pkUN06XN[ ߶kETtyXeO:.TcFy?,)uz=nx8=C4|XN66εUIw~:n]װ7[KaM>[B$QҖ)b?l݌p3 F#U-U_qԼngBsQsoo&wȈ=}-=Jͮ:|71$͟l_-Yystzv4J?MF]]CFM5_/3 _ڮ&+.kJgغo<c5wT 9fMfůeӡ/5}Ol7*z6+sC|t }a-B]:`Sf履x{jqЏ\qMͫOUݎ}'|qg3Yor}CnwruE+~90i_pL; b bx>τR8YX_Hy@{)y#I(殚=ޝLWNͱ#^?b5g[OEGK~Y}a/'4{`'}a=0hptՂb2JŸ-ՆabMg8 v Z*jVLs,ޞ!Nb>`#',u?'XͧՒ=l Kp6sOlAO+/鈹OV۩WÚbw}yֹ/Uweꋵ}}yA7wՇauji+|&+)=L5BwkR'Ӝ6EDNz(AHMw_^н19uWo_W4}jՉCUVVt5s"۹j?#[_Kh>nέ{jЌ].{,s5=t*lӸ)E/jSzc>#zcLޠ[їk4KSXؒ51TfOaif58(E2\R)"/_g"M* tWhXEqH!eaɠVz )2Rr ;8ID)2Zv,M  } 'J^[᭭Iwhy~e׳S8M*9?7G_~;쏾Y̹֫~_U&D/o~i z7 oh0O6uyr+kڴr`jVuuqkfC|#Kh&:bOBWi'纾Mݚ{CWײvGOfve(4cil_=.%{$蕡C"lBn+.ذr+zdm-QQmB#9҈`. b?ǢYh?NP G)[V G*'6݀<"ϳ!U&iŧSMM]7y已4'{(vЃ~G{/j0Aݥ0E !ºN\Kr70g\4oYe9V2jc>u;UYX~4Y֜[ 4Ř[Ȓ5VvmrI \U٫wX&{< "x> ָɆ6 `W! b5v_ќ0?1s4͍MWLzѶߖ=MF$-W2s(zJXd?3Gg_퓠OtKYס.l7z-ifCgnFf4yݷzgkLҳr/=2Oo1)wv^3J3AEޥ[Kh]Nq v٣5{ys6أ _mjq:1WS]}Խ{/Gtq̮36+ڬ8h8:_^AM_>aw!A9G11U*5"DEJjeJdTRyR"%.*ZCy<-%W^!I QXn@O߅d?/(&B+HU$DŲ4\%E `7Ma_s =dpF'dw+6gkzР`y~χ]#,d5h ձPA:, dz`$JSrzkkx6e4H MȻ<DCOK+/?49 ǵ|#8ͫˁ HrKFS䠔0rXor>΍8{EɝyVIw -%6/urrY_|KX:XYMh)IrN1xVƓܚ/QѤ Ɍ \`J#PA9tպaElme4/inst/testdata/sbTobb.Rdata0000644000176200001440000025076212565075351016116 0ustar liggesusers$egZqBp@/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_7o7o7o7o7oЛ7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7oQ???????????????????????????????~/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_;w;w?q\'whx1G\ x R$x`;(ۏ?Q~~q~!￑of Ra?~؏c?~Ǐ?~؏c?~Ǐ?~؏c?~Ǐ?~؏c?~Ǐ?~؏c?~Ǐ?~؏c;~lǏ?v؎c;~lǏ?v؎c;~lǏ?v؎c;~lǏ?v؎c;~lǏ?v؎c;~lǏ?v؎c;~lǏ?v؎gv؎c;~lǏ?v؎c;~lǏ?lǏ?v؎c;~Ə?vn؍?Kvn؍c7~Ə?vn؍c7~Əe7~Ə?vn؍c7~Ə?vn؍?Gvn؍c7~Ə?vn؍c7~ϟ+c3~lƏ?6f،c3~lƏ?6fy?6f،c3~lƏ?6f،c3~~=]100000000000000b>`>`>`>`>9C}}}}}}}}}'O3:CC!!!!!!!!!!!!!!!!o>؏؏%b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?b?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>b>b>b>b>b>b>b>b>b>b>b>b>b>b>b>b>rGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG>>>>3333333333333333333333333333;ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc~}.a>>>>>>>>>>====q''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''|yyyyy)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))3>e=e=e=e=e=e=e=e=e=e=e=uƧrrrrr:SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSg|~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ۯegggggg^qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq11111111111񞱞9333333333333333333333333333g}||||||||||||||||||||||||||||||||||||ۯ g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>wYn oT____________________________________________________________________________________________________________________________________________________________p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_p_WJKKKKKKKKKoXr_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_:KKKKKKKKKKKKKKKKKK~ۯ_q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ۯ_]Ps_s_s_s_s_s_s_s_s_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkg~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ۯ477777777777.hoooooooo oB2222222:[[[[[[̷ܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷܷ޲޲޲޲޲rrrrrrrrrr22222222222222222222222222222222222222222.㝋;;;;;;;;;;;;;;;;;;;;;;;;;;;;;zx\88888888888888ccccccccccswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwΙ===============yyyyyyyyyyyyyyyyyyyyyyy=====================󽳽w_10?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?y?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?8ۯLyyyyyyyyyyyy#######################ojyyybybybybybybybybybybybybybybyrCǓ{bybybybybyxxxxxxxxxbxbxbxbxbxbxbxbxrnOOOOOOOOOOOə=<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>a(gFl__________________________________________________________x_x_x_x_x_x_ orv}}}}}}}}}}}}}}}}}}}}}u+++++++++++++++++++++s~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~e~u֯ܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯܯY롦777777777777777777777777qqqqqqqqqqqqqqqqqq9777777777777777777777777777777777777777777777777777777777777777777777777777777777777777~=Fwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwgۯ8~`X?~`?~?0p?p?p?p?p?p?`?`?` A : {w2BJBP! 2De dV["&Aۂ222wTR9gSz3TwUSCTݟS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTS~Oz?UTSu~O:?UTS}O>UߧT}S}O>UߧT}S}O>UߧT}S}O>UߧT}S}O>UߧT}S}O>UߧT}S}O>Uߧu3}>SgL}3}>SgL}3}>SgL}3ht:?SgL3u~:?SgL3u~:?SgL}3}>SgL}3}>SgL}3}>SgL}3}>SgL}3}>SgL]3u}>SgL]3u}{~>SgL}3}>SgL}3}>SgL}3}>SgL}3u}>SgL]3u}>SgL]3u}>SgL=3|z>SgL=3|z>SgL3{~=SgL3{~t:>SgL3u|:>SggL=3|z>SgL=3|z>SgL=3|z>SgL=3|z>SgL=3|z>SgL=3|z>SgL=3|^? 5W\=s|z>W\=s|z>W\su|:>Wz\su|:>W\su|:>W\su|z>W\=s|z>W\=s|z>W\=su|:>W\su|:>W\w\=s|z>W\=s|z>W\=s|z>W\=s|z>W\=s|z>W\=s|z>׽>W\]su}>W\]su}>W\]su}>W\}s}>W\}s}:?W\s~z?W\s~z?W\s~z?W\su~:?W\su~:?W\su~:?W\su~:?W\su~:?W\su~:?W\su~O-:PB_ u~/:PB_ }{}/:PB_ u~/^PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ ~/zPB_ ~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/:PB_ u~/PB}_ }/PB}_ u}/PB]_ u}/PB]_ u}/PB]_ u}/PB]_ u}/PB]_ u}/PB]__ }/PB}_ }/PB}_ u}/PB]_ u}/PB]_ u}/PB]_ u}/PB]_׽q/TחR]_Ku}/TחR]_Ku}/TחR=_K|/^TϗR=_K|/zTϗR=_K|/zTϗR=_K|/zTϗR=_K|/zTϗR=_K|/:TǗR^K{~/TR^^_Ku|/:TǗR^K{~/TR^K{~/TR^K{~/TR^Ku{n/TR^Kz^/:TR^KuzN/:TR}^Kuy./奺TR]^^Ky>/TR}^Ky>/TR]^Kuy./奺TR]^Kx/zTR=^Kux/ݥTwR]Kuw.ݥTwR]Kuv.٥:TgR]KKv.ۥzToR]Kv.ۥzToR]Kuv.٥:TgR]Kuv.٥:TgR]KuvוR_WJ}]+uוR_WJ=RgWJ}]+u{yוR_WJ}]+uוR_WJ]]+tӕzROWJ=]+tӕzROWJ=]+tѕ:RGWJ]+utѕ:]ROWJwJ]]+uuՕzROWJ=]+tӕzROWJwJ]]+uuՕRWWJ=]+tӕzROWJ=]+tѕ:RGWJ]+r;w^˕zR/WJJ\+us^˕zR/WJJ\+ݷ+s~ϕە:RGWJ]+utѕ:RGWJ]+utѕ:RGWJ]+ݹ+tѕ:RGWJ]+s~t׮ѕ:RGWJ]+utѕ:==RWWJ]]+uuՕRWWJ=]+t;v;vוR_WJ=]+tӕzROWJ=]+tӕzROWJ=]+t~ϕR?WJ\+s~ϕR?WuO^kutϵV?Z\ks~ϵV?׺SZ]kut;uѵ:VGZ]kusn͵]V?ZwZ]kutѵ:V?Z\kusn͵V7׺CZ\ks~ϵV?Z\ks~ϵV?Z\kstѵ:VGZ]kutѵ:V?Z\ks~ϵ]VGZ]kutѵ:VGZ].]믕Z]]kuuյ}}}VoZwZ]kuwݵVwZ]^]kwߵVZ]kwߵVZ]kwߵVZ]kwߵVZ]kwߵٵ:VZ]kwߵVZ]kwߵZy:VZ^kux:VZ]]kux:VZ^kuxvzVZ=^kxzVZ^kuxF^kxvv>VZ=^kxz~'7F=ݨxozQ7F=ިxo:Q7Fݨuxo:Q7g7^Q7F]ިuy.o卺Q7F]ިuyv>oۍ:Q7FިuzNo:Q7FިuzNo:Q7Fިuz>oQ7F}ިy>oQ7F}ިy>otn:Q7F}ިy>o卺Q7F]ިuyozQ7F=ިxozQ7F=ިxozQ7F=ިxozQ7F=ިxozQ7F=ިxozQ7F=ިxozQ7F=ިxozQ7F=ިxoz]Q7F]诗7F}ިuy.o卺Q7F]ިuy.o卺Q7F]ިuy.o卺}Q7F]ިuy.o卺Q7F]诟7F}ިy>oQ7F}ިy>ot/oQ7F}ިy>oQ7FF~ިuzNo:QU+[uzNou7ozUVު[z^o:ݼUVު[uzNozUVު[uzNo:UVު[uzNo:UVު[uzNo:UVު[uzNo:UVު[uzNoUV}ު[[y>oUV}ު[y>oUV}ު[y>oUV}ު[yyNoUV}ު[y>oUV]ު[uy.o孺UV=ު[xozUV=ު[xozUV=ު[xozUV=ު[xozUV=ު[xozUV=ު[xozUV=ު[xozUV=ު[[uy.o孺UV]ު[uy.o孺UV]ު[xozUV]ު[uy.ozUV=ު[xozUV=ު[xozUVwV]ު[uy.o孺UV]ު[uy.o孺UV]ު[uYuSwN]ީ;uy.坺SwN=~ީ;uy.坺SwN}ީ;y>=SwNީ;}SwN}ީ;y>SwN}ީ;y.坺SwN]ީ;uy.坺SwN]ީ;;uy.zSwwN]ީ;uy.坺SwN]ީ;uy.坺SwN]ީ;N}ީ;y>SwN}ީ;uzN;uzN:SwwNީ;z^zSwNwNީ;u{n흺SwNީ;z^zSwNީ;z^zSwNީ;uzN:SwNީ;uzN:SwNީ;uzN:SwNީ;uzN:SwNީ;uzN:SwNީ;uzN:SwN~ީ;z^zSwNީ;uzNzSwNީ;y>SwN}ީ;y>坺SwN=ީ;xzSwN=ީ;xt/坺SwN]V彺W^]ޫ{uy.彺W^]ޫ{xzW^=ޫ{ux:W^^=zW^=ޫ{xzW^=^ޫ{uy.彺W^=ޫ{xzW^]ޫ{uy{y.彺W^=ޫ{x:W^ޫ{ux:W^ݫ{w߽W^ݫ{w;y:W^ޫ{ux:W^ݫ{w߽W^ݫ{wu7:W^ޫ{ux:W^ޫ{uxu7zW^ޫ{ux:W^ޫ{ux:W^ޫ{ux:W^ޫ{ux:W^ޫ{ux:W^ޫ{ux:W^ޫ{uxzW^=ޫ{{ux{y:W^ޫ{ux:W^>ޫ{xzW^=ޫ{x:W^Uu߃{PA=߃{}|PA>z|PA=>.僺|PA]>u.A]>uz|PA=>z|PAA=>z|PA=>z|н|PA=>u.僺|Н|PA]>uz|PAwA]>u.僺|PA]>u.僺|PA]>u.僺|PA}>>|PA}>u.僺|PA]>uz|PA=>z|PA=>>>u.僺|PA]>u.z|PA=>:|PA>u:|PA>u߃{PA=߃{PA=߃{PA=z|}|PA]>u.僺|__|PA}>>|PA}>>:}н|PQ}>G>|TQ]>Guz|TQ=>G:|TQ>Gu:|TQ>Gu:|TQ>Gu:|TQ>Gu:|TQ>Gu:|TQ>GGz|TQ=>Gu'z|TQ]>Gu.壺|TQ]>Gz|TQ=>Gz|TQ=>Gz|TQ=>Gz|Խ|TQ]>Gu.壺|TQQ}>Gu.壺|TQ]>Gz|TQ=Gߣ{TQ=Gߣ{=|TQ>Gu:|TQ>Guuz|TQ=>G:|TQ>Gu:|TQ>Gu:|TQ>Gu{TQ=Gݣ{TwQ=Gۣz{ToQ=GuxwguʻrRwOI='utߓ{ROI=.>'u:|ROI>''z|ROI>'u:|ROP'z|ROI>'u:|ROI=}ROI>'uݓ{RwOI='uݓ{RwOI='uݓ{RwOI='ޞۓz{R_OI]='ݹ'uՓzRWOI]='uՓzzROOI=='ӓzzROOI=='ӓzzROOI=='ӓzzROOI=='{ӓzzROOI=='ݹ'uՓzRWOsOsOI='uΞٓ:{RgOI=='ޞۓz{RoOI='uΞٓ:{RgOI='uΞٓ:{RgOI='uΞٓ:{RgOwOI='uΞٓ:{RgOI='uΞٓ:{RgOI='uΞٓ:{RgOwOI='ޞۓz{ҽ{RwOI=='ߓ{ROI=='u:|RU+wwwwwwwwwwwwwwwwoҷ}?rWW_N.!Ct=?{~h?.)\/J?˟Ov;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;=x=nx1~ 8~L<~,:~l0x[o ma-0x[omq-8x[oKmi-4ޖx[oKmi-<ޖx[omy-2Vx[o+me2Vx[omu:Vx[okmm6x[okmm>x[om}- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$- cKؒ0$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-cKؒ8$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-IcKؒ4$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-cKؒ<$-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-)cKؒ2-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-cKؒ:-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-icKؒ6-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>-cKؒ>_n\t:Nt:NNt:Nt:Ϟt:Nt:Np:Nt:Ny8Nt:N<{Nt:Nt=Nt:Nt:Ϟ't:Nt:gp:Nt:Ny|/t:Nt:g8Nt:N<{>t:Nt:NqNt:Nt:ϞNt:Nt:Ϟt:Nt:N3:Nt:N<{&t:Nt:'t:Nt:W8Nt:NivNt:Nt:5t:Nt:N壝Nt:Nt|wt:Nt:7=Nt:Nt:oZnNt:Nt9Nt:Niyp:Nt:Na't:Nt::t:Nt:NMr:Nt:Ny1Nt:Nt:s>t:Nt:N9Nt:Nft:Nt:·`t:Nt:oÌNt:NtNt:NuS\yF9VzZyG?1=;yGyg=h=q=gggggggoܡuszџssר8=wnzzWy?Oy:H3|g==<=wyy"=z>\GH=wyR=Oy?cY=r=x=|O)zO|Oz|皞9z'=<= |5=_zDϗzo2=[ϗ =_|W=uz=_y||ozMϷzW=ߡ;|M?#==T^=|FA=?_Wz=ZϿz~LϏ =Sz=Ng{=sz~^?z_zW_z~Co-=w?z^O&DO?Q'DOɣO?Q'DO?Q'dGO?Q'DO?Q'ӣO?Q'DO?Q'Dz?Q'DO?Q'D!z?Q'DO?Q'DrO?Q'DO?Q'D|O?Q'DO?Q'D\ӣO?Q'DO?Q'D/գO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?Q'DO?}>}s}>}s}>}s}>}+ϯ>}s}>}s}>}s}>}sW|_}s}>}s}>}s}>}sϯ>s}>}s}>}s}>}s}_}~s}>}s}>}s}>}~+˯]P_{wpo;V>v?Tw{wᄈ}}շmվr{7;~S߱y?nk5_{fپLy }O?uqݾ}wws>ws~F~_q={q7~Zp᯽;vos?}?uoʍoշ=!WnFӾowlѷlw7۾x_ؾ~7;}NwyW=}+}~Sz}>|_u'ߟ{Fܿ|o};Vow[V}_ߊ};Z[׻}w?w[߻}ڿ@7wߟ_m{UnƝ}+~ܷ޾w﹫}OC~(~~7[;k]}=c?ַ}}_[Vw{qO׾n/=w2q{@}^|/~û޳ܱ~޿}s;ow烹7\Aߗܕ_o|coz} Yzwޟ};z~zoM={߿ި_KVorzNܛwwk}ûMݳ厽Wׇo`~mFs̯ }{+Z0ݛu>Vun}˻|}rמ_u7^{-u>^޳o}Sw߯w^zXޯw}fޯon}cǯ?{~ Y]~;|Uz;goo웺cz{_ݯ[n;n}{zo}sww=Ck·wkox{׈ձg'>>>>>>>>>>>>>>>>WNt:Nt:Ϟq:Nt:NyNt:Nt:Ϟw:Nt:Ny|5t:Nt:'_q:Nt:Ny|5t:Nt:t:Nt:NkNt:Nt:ϝv:Nt:Ny|Ut:Nt:;8Nt:NNt:Nt:ϝ/t:Nt:NNt:Nt:ϝ/t:Nt:Nv:Nt:NykNt:Nt:ϝw}t:Nt:3ύ?WNt:Nt:oZ>t:Nt:Nfv:Nt:NyNt:Nt:oz>t:Nt:ΛOt:Nt:NfS9Nt:N|KAWNt:Ntެ|5t:Nt:lt:Nt::{t:Nt:N;8Nt:N^W;Nt:N鼯kNt:Nt:ot:Nt:/t:Nt:NC/?Nt:Nt~לNt:Nu:Nt:NMwr噛t:Nt:NNt:Nt:ϞOt:Nt:N+Nt:Nt:ϝOt:Nt:NAWNt:Nt;ut:Nt:NNt:Nt:ϞϽt:Nt:Nyt:Nt:t:Nt:NלNt:Nt;_tt:Nt:NWNt:Nt;?Nt:Nt:ϝyt:Nt:Nu:Nt:Ny|5t:Nt:Ώt:Nt:NWNt:Nt;t:Nt:7:t:Nt:N9Nt:N鼷|t:Nt:7*zt:Nt:Nt:Nt:Nf糮9Nt:NYlt:Nt:o1{t:Nt:N;8Nt:Nt:Nt:N^s:Nt:NyEWNt:Nt^|t:Nt:5?Nt:Nt:o~5t:Nt:=Zt:Nt:zkNt:Nt~Qw9Nt:NyK:Nt:Ny˦;]7qft:Nt:7<t:Nt:N9Nt:N鼷|t:Nt:7*zt:Nt:Nt:Nt:Nf糮9Nt:NYlt:Nt:o1{t:Nt:N;8Nt:Nt:Nt:N^s:Nt:NyEWNt:Nt^|t:Nt:5?Nt:Nt:o~5t:Nt:=Zt:Nt:zkNt:Nt~Qw9Nt:NyK:Nt:Ny˦;]t~ ̻|[s8<⇿edz}'uGst:|¯\\飾~w:N:Ƕ gNse[oOt:NI~?'|W豯x?aO9O[^{z'^sq:=ǾW?y{S9Nt:Ny i}8uyʳtt:Nt/}>?^۵[s8??gߦyi}7?gN-c_//S~x㧮nm?9^pO ?;?n;q:G>?=Ͻt:7m/s8'O?~W\{W\N9yx]?V>aC+??gws<_{;ݞq}?> ';~??eCs^}_>㙿Zι]|#>vYg{^cI^yz}ǽ/sSWom8a|/;G9oNo?f|]Uo_퇽|3/yk3'}9p:{W^pq~OOx ݘ|o?~·c^_yt:|?9Ny{狮:T;'_st:{>w|}3?M~_9ɓn|O|_~t:}WG7s8o|kt~a^y{鼝3;<|qœ?.} g|޷;/g4_/8xO7_p_V>gys9v~أ>}k/3Y|σ◿[sE[=.g?|onN>>/ݴ=|=+_7Ͼדx3_s|׼F5{>W=9 _>| s~y|> _Ͻ_G>?|7} _>?Oxw/s7.^S;5}?z7};};|7W3g|GO#~ugo)~+?[y]W~~GO\}_v/'Ǭ^=ޫy7'ksze?zn/W=)?W֟q?םo}_8۟~x/̭3_xg>O/sy{'uO]7|˝y}s/W_1_Ͼ?~Oy}hO\;p:Ke=֏ҧs>oO|/='ߴ?M{߳k0|zu{<^7?wz~~|o~c~fxigo?-WK~~w?[q?9oa'?z}O ⦿G_Go?>S?;ox/]~/vs)?VrG|M7?%_R_?mc--|x>|ޗ>w̫?C7i/,{?[5? 679}<|ɧ||{?o/zg}wun|{??^ʳkwpQ''9Qɑ 98DD"dZf]{h(9ӟVZTRo񃃻{w|qC65 ]~;s~Lu1׃ ַK69ٽk,;O9ԽK˅͍HS?.nFFȸ/ u~- Z5\?!r\n:sM;nupRlΈPY7{`:Ox[{9.`]AV|7Wod?̌evܶbL} je:Ʈ-#*~|qjD -~Ņ^=(>jE߁v#; 6oκ]wvjWl%}.NsNZD|qޛ]sfMcľu}:>Vs_;zߌ^>JTL=}P;mOn>9eԻKKMsQf* we n$P`U#K}\ -J[[l+#.yy[y^EZ|:i(c36X@|)uv[kuWVo7"\ɅZ>}9!qmJx=J-{gvS/:^oz'o*nhF 3_Hex'ŖvCNxg㬝nj{k?apZ{Z~W[l&)>6_]FNRwlƉW *߅;16xnP6mǥXg{x1X12H̸6eBc2绺=q6ݯM[kzhސ=,QθVK|06EwYssbe;"}ʯm'kw꒚>0raxj!Jxϯ<5%}~2&eġWd಑+co+FVE+݈iblHw,fdذz?ފ{`lLG M~ORԢ#{`1cv@jMl"# {{]Ԛ x.3{|"^O;%*u"_fl1vE|X Xx:*Sss>O1C}NX?#=07|;ecC;nOw0c#ݙV1c1c~|rssncrg~{1<[6#'K7fW/q8vK|>0~QF6,cf|vTXIcGfukx/<-ck#cq'qJs{c?ڸà=LUjkmK[w۳yϬ}=0V#zU'6x11\`&TAs?80X;Am|_]mjy0~}ca0%LyTX(GJ{Ai}rcx| 뉲x^80ML<0q8JDm祮/ @ p>+np} ib*Ǖ {S;/cdh~_H_ϤF;jBxHO׹qL>gG~<y  9(w0O2}ޕҟxuqri }ʀ@s`XR}XUc5uTJ_(uҽr0K>AgxNfdP;TZ(F-' j/o*z\-DZ{ҾT Jb}#yo<,#"[-Lu2.JyWya_=N~`]?e/,%:[6y"i|b%7ה~HX(eJajH=_8_TXg!|S{ݠ]j9O ߟB-PCc#yw=coeqc!Be*?Jy}\1E׷>__V56?砖1;[ ˸0ߦü 0E~^+Z0UxJE$)6nӃ q`cyܟw}`\x1O84j;0e=]OϔQjo'~<89y_O0S[)=<0q<?<״xsT}0Gxܠ(<>?(yQ)= 3uu\](m>''@^0@p80Ox^ @}qr21bV ?GjmnpS(@ Q0sJYXHez c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1ُ(eacqƊ&'n,(]A}cm{\șMJ1cӷ5͸JV_뼾 cGW=\lq=0˺b(mwqPnm~ߟAjpyCV+&~3m7}]-Jq\q7j}E=0cStʷ`ל&Yum\rРr\ڝ2 v:v->Rvġk{c1n]H[Ƌз]æ6H6K:]ʳ{vz81;M9װL?Xn1c1[>dQO8/2f0[`1cv=:#cI/}r=)mv{9Tc9ي(XpnзTjWV+<ƋXͶ[[|筛q7².18ι=m-#kRn=u<{1oU񫏄u 󃦃A5>_˿Y5cMל/cUlMfƅ180G.PMkoXnbSgu̮\-ҢkV_`q)~Igv}X}͝ 'Ql?(~mcc=sYۖhjmv_zXϥ } obmZ7lש^dE{&6Fdx~Zv L6"d{̯)74|PEy0w}i{`e{ۓcCٿНo($CmUs[%0Ɲo?l9ڡdի1Y-Vej cP 77~nb{`so3_8DGǞ9uRyg ;c9K{`u_n48= :Q}5'jӝmoBѳɊ`[fwK^pxu渽ۂ{ iub,~Koȑ+۝J۔ϪqB1V;Xz`e{{;v37_*)=S;oًu [ƫ|~lk\|ܬ-8v9չF_~vM۾&֧y= 2No=|g_C;~̹ljc};z[;.pҸ|ްSzϭؤzs%/mufJƲԘC\܈;4~N̮FodP򋌾KUzy# r)6Ϩ3gu~_Gn!x٘ucoY6޾ڻed~C[zEOc̈]fWm;-\!ܧ9VOH^ozY|2ީlFɰݒ[\Ӂvk[xZo7IK`u|ov_Ҍ4EZ5l4K{h=]w}0nͮoz='M1ꭿ㯧o͘4q@t擓XO4ge&~qiQ=L7_p7q^;?ONa V5Ҹj܂ۋϯZ~?Ͷ=u>[ǟ< Έr(1&=hdϗ]Оg}eVgyenv# ܭl5[\5Cۗsn-~rצͣZif*rx:v\) :_,] +1)2Z<|(?wƎ1c=w+Z:8wnح[Țݩv䶶qzǩ;]u97jx;`qd=@dJ˖ˎyrcCr\/qMQbC|<[zrnȉ/>ADK!f>Ð}uue[}oW[l&)>]c)IvzOܾ~'^+7oxىPشl5XY^i7A_ɛ[%TڭΔK4.\^7+6 t}c19={`jbw |`<]-بx:#˝j\ů[`q{ݩ#"\{`ln3G{`]OM%Y-\cr Ǭ!#kVc˨+s+מ8TR1/79|a^>\KߞLj݀m cStRmټ6f`m ~}YT<џ} W/_mҸe)[=w *ZTںl;:٭LF=a{Fɾ34/lj)9t͐{~GXrAZ\+&uckKX?kйM.m{`oO꯵cCa7#c|ߐ1n9]ex1Ac1O5~=0ہ$'ۛ51X[PoMN{rs}5W>l>5#@Ǝ.[}jP6ok0Xvܭi=:ݘ^pVc_7ݻ=0T)Űv۽ED@?k6wxSqQˮL-uY~x\uK{`h4z@獙#g/ƺŸ}Rgm{=luxzc}jqA13{`soZ2wON`%5|g{ˆ{g캸|{S}4Qυr9x]Zm/X9nNmÑg{`vM&k=0]y5nx iO 1c+Ns{;Mբ_);`Q_"B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!$*.d#X=Jw&NQ=M˄hQQ|9gϷ{sedmR?~ bcc]ϭ=ZbLR䄞1F%'kݹ_-M6LFyؤG|n/'~しs#)-XaBGCѰoLؤGw;YGE3WŸlme4/inst/testdata/respiratory.RData0000754000176200001440000000270112057454452017213 0ustar liggesusersiwD@U;iBkS-س{K(k-츉S YzlS?ߖ$EKG:Ohhf$Ov-- JAi.[éRD0̄鴺7۝foWυ//φ%-VPP0)Jb߭zVkFs[^=Q+nT\*Yk0p[eS` L8 f,8g.0s^p<#Qx<΃yp< Og9dnߨ?Wq'/Ϭ1cw{'}~O|v(8{q{ƨ-i}mxO|}IoۓWaAtdⅉ*&˜a"`"3cL},}L1>&؟A0Qx|L1elwd}_L*x ,|28f_LlZio<1!Oudx>?<L3y|L{r ]Ax8y}}/m 뒷7mg˨ϻz{~Ϟw f??ogΕ|Rz^a|Kڞ: 'i[ڿidY9kiWJۖeIӼ+|96&#m>$q6&34voz_ֶey(ײAKR&|=qTA@Y{u;4&uϻ^|^xy"K]pGcp|>Wg|_2| ߃'3h`X7/ ~u6~}7f/B󍲉C.}8\pZQqUFVN^5UP5k(Q^Fy5k*U^VyZk*S^Ny:u)S^^yz+W(8tq8lᢄ;2*6**v**↊(Q^Fy5k(Q^VyZk*U^Vy:u)S^Ny:+W^^yl67Z~JkJըpj)m~xzZooFӷv˩{+[A3?F|Z(}{{c]m kp 1KirHlme4/inst/testdata/prLogistic.RData0000754000176200001440000006421712057454452016761 0ustar liggesusersw{;QSJo5*%gDQ,(CP1?VUZf̠`&`UHZesFw>^9ӽ}O՚w9t߽Ϗ?*ՏV|ɗ [|˯//+>_GOڟ'|'|7|w)__4;毸czp=h~ 4C O͏S?Q͟vaW~|wbmOo4`~A/ Ώ9h~0?w:x~`~7-88?h'0?5wίr~ݍopgs|;?x 2O^9ԍ 80Еo>{w_yUW_}5w_{uO?;4G1G0?_|>y~;=y综7w=pەoA[0 `8q?=i~!o4wϺr7}o?801'̟u? 5O?mOy/r~_~_z7οϯzo3?=i G>hDžG9_}М0qÌ'z w]8;p'?pa6W_Ͽy[οs̿|? `'o|dϏl'o~o}Ə|o{ί7̏}p~ϟ i'O|Iί?H?H?yO`~́k4~|7<nAO|'}`'?g<܍9›'|'|7|re{{q{[מskqz{ur=uu9Ly:3ϸ[k׳Q޻qc8eyGˏzN>G>|G\۽:s]^gx[k=~[v\?xfgzݞ}>b3^[wsumG|wgᵝG;zn񡿿~<u>5wǑ3?Go^џG&nƭЎg^ӥdz#?ϏVZ}[k5ݻ絝\QQQyس5{sZu=G<[ggoYx&<b糞˽=.9x^{-su}]Gyg؏~n}yy=^5ukpv{z^ףgݟGk8zԵy8u~Э;wѻyG?ڎz={cxy_|=zv׳{ڑwqw֯{Y=ukw>5׏_{<3Gٗ#w>9\\{k}pc^=,uGz}s5{q]8#ӭrĹum sk߳^s<gs5{/k{㭟ۑ-^go>|#u{zuyG\g3p]gy[g{1<1[7qo9oZ{q:588>?u:x~ﻦGVu55|x_rOC{qvkwr]<]k~G^í:|踶AGk{=<[z鮣s?rvkss~qq{rs_{z>ܷ|f}ܽ[wkv]v=CvsgeG|#9^8/95qc~|܇tk}:wK_[]~qks^{xG'oqM;߳}5#v>~9.}o9uGGq=\pɎZ{^guk>^%y_ڲG~/}owy/k{[v^׼~׾޷k?=>n8^L~{ok콸}z\#_kvڽ\|;^Q}מGG~}s{}<=Qyqg^k5kws\zc?gG'Ϝs佸>|ܯ9.ɧyɵ:߭z﹯ynKv|t>fߧk_q%[Q٭g?Y{Ce8gG9x[8\>_{Ο>n}sc/ߣ/Y潻>x_?Zo9>K֯Vk5r[GG^׽ϵ;g_K_w-~]rG?k_{_kĮ#^Kk|X}ǣ]k>cy >z_r\rkqszyy? ȥ;uηz^Z,=לkzx}p:.95ss8u绾_z]b#?{<9=5}wg}ߺ!G~no}-={%k|Up]s_{w?^k>v\\rKxkޏ|<%ѥ߷]{ ]뽦:mݺn>t[{?Gyqr<#}=5\rOz[Gt{8.^9qD/wky?t-y=]ҷkף~^r{^Gx.]^3ޟ{9y#5_KٿS6G^˭#g#[[YLJk?_{}}yϋk~wyqGֽ^#ދ[ѯ%]s|{ךKχ:uO޵]{.=5z>zy9.y?ӏlݥǭݽ^[߯K>\?9.wϫk{xy.%c^;>Fr^^9s>}x{xn1o}]y]{\sU.y閟7=߱n}̵sѧG[wݭ~>}6{gK~r[-z̳#zKF.#{\3szg]x=q]z{_[ޫKqw7wg.qEK)zmK[k{}gk_[_k>̻?~__{w~s}ϧ[҆wGyϪ]zߺ\ۓ{[?gg5Y:zַGۗg5~G~\{#-=]gw\1G^<+y5#Ϗ|V?w>-NvͿϏ:~ݻ״?c9>+yq 6ZK:x͹iq9>t/W|_ɷ.__~aw?ğ~[|W/u?tOGOc >~O\W}7ŗE|/_/~1oO_xj|/_W|j|#^vˎx/;eG숗#^vˎc/;ˎc/;ˎcȗ#_vˎ|ّ/;eGȗ^vˎzQ/;eG쨗^vˎ~/;eG_vˎ~/;ˎc/;ˎc/;ˎcX/;ˎcX/;ˎcX/;/;/;/;/;/;/;/;/;/;_-N_2c_r/ro;mvN{io;m-bo-bo-6mmco{6ro˽-ro˽-rojojozo뽭zo뽭zo{6ͽmmso{޶mmko[{޶v{yo;m޶[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%cd얌ݒ[2vKn-%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[R%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%[һ%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[2wKn-%sdݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%kd햬ݒ[vKn-Y%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒny[r-9wKλ%ݒnyҒ8}KL__N.n|'{b'{b' {`o7 &{do7ٛM&{bo[-{bom6{fo;;;;;;;;;;ٻػػػػػػػػػ{fg{fg{f/:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ:ѫ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫWA^ z*UЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫAjЫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%Jz*UҫWI^%*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWE^*zUUѫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jzUӫWM^5jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&jҫI&ZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫEZjѫE:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:ӫ3:+|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|{=o|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ߞķ'=oO|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{ ^·o/|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|{Ʒ7oo|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|ķO|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|·/|&'_SNlme4/inst/testdata/dat20101314.csv0000754000176200001440000000265012057454452016017 0ustar liggesusers"","Operator","Part","y" "1","A","P1",1.98353608160299 "2","A","P1",2.00732095292274 "3","A","P2",3.0749991860642 "4","A","P2",3.10873748962838 "5","A","P3",3.10259147754259 "6","A","P3",3.1218519017369 "7","H","P1",1.98645821273731 "8","H","P1",1.98245215138499 "9","H","P2",3.05996458578668 "10","H","P2",3.08242270866658 "11","H","P3",3.07070635017356 "12","H","P3",3.04616336618396 "13","B","P1",2.01140125992474 "14","B","P2",3.16219985241226 "15","B","P3",3.17248908910763 "16","I","P1",2.02958667163046 "17","I","P1",2.03750617769168 "18","I","P2",3.10722354113837 "19","I","P2",3.14463646758849 "20","I","P3",3.14980086225833 "21","I","P3",3.14796987608195 "22","C","P1",2.0111473607758 "23","C","P1",2.04559677186758 "24","C","P2",3.13151922069791 "25","C","P2",3.17781632049401 "26","C","P3",3.11138686811249 "27","C","P3",3.1244031385292 "28","J","P1",2.06213053462212 "29","J","P1",2.04785872740746 "30","J","P2",3.12921603371435 "31","J","P2",3.08574354980366 "32","J","P3",3.11093297024656 "33","J","P3",3.10771861052026 "34","D","P1",1.9903388547876 "35","D","P1",1.9778607292647 "36","D","P2",3.05476621783899 "37","D","P2",3.08762882022979 "38","D","P3",3.06490702715964 "39","D","P3",3.0651276340067 "40","K","P1",1.96350449941429 "41","K","P1",1.98851436583367 "42","K","P2",3.06846787597901 "43","K","P2",3.085126393163 "44","K","P3",3.05210884681015 "45","K","P3",3.05642838998105 lme4/inst/testdata/boo01L.RData0000644000176200001440000007376212374550357015704 0ustar liggesusers\8ޞVe$A{ݩ]P)kE(2"de%PPs7/_}y^<<|rG>/(B(]~);F Jڡ` }1soԂa3)Ͻ!6tnBG?XF Xb^`r]|"z9}AO3a:~ 4ބ:R9Ϸƣ?kVx45Gt*7>,OSF: KծS/dLr7.杘Qd]z)_})(5Vn\@.׷1JX3܌U-[XNP-V\ 8CYLr~waT7ABlu B̕ԟDՖ3xEKtsظI%;R-g?fS3(oL'0wMÃ/d0-ekv3|;)Izt705hIN-|1* XNjlq$O ]6&IXj+?s0d@uFo[NjX4jNeͰ-s ,tJ~g.,OE?P+hvh!IPZ Wzٻx}ksιkߑ8 +ɰ)O.QfŷaeKp;r =N&n#G4yWؼX% /]o&VQ`M9vR1G z;B<ڄkZ4c|60#>xG$Yk0]nKOƑ}̇JP՗Vc֤;|VX#D2#OLqD=N 1ZJ0]߆vkVsho͵NfWa0yMAi: MNes~7-*0ޭHg55q_񩏿?ގz9LE-"`n?C56ky.c1mb2/%9 ȼOOkugn~g)mѤuN>z[br8 ;hѺX%5Y\*˴.ܗX`Fo 8$V{dT r]eLX7~$ %q&ÏnL6J&wm=ԛ^R'7=M^j ph` PCi-<8Ҙh0T,J<7k3mOFb(r]4 WcbϬ)zhd'S)UgVS?uXpOkc=dsNҙ<0dzw1EFpuˊ F|,Yi 埄0J2[_ÝJy4ix#*~2>sS:^}%ƭG<6a ~'TW6&'^;/t1.^_ug_ѮeO ǼvYlnq'Ow4뀛|?x ,Ioü3hK$j`{4oO |E~ nL@}2{UWG0Q{yՊeRh?);|5me5f.y%[-x/y'ƼiւRYfXgdQkKwa-2F}o4֡|"^%Wz:(Wd̗sQ뼪;-ӰNu\Vz?sG~y%ū*U켺lrWH$Q,eR2G6>U*w ^I0.~%pӭ 1.ʝG6?Ħ2S3ozy{"ƣ|paS1%/`<+2qI uuD+Xuc].G=R?cX~Ku>?; ǯ0Qq+bR,QFo`Q҂~=7nM1n=w4Vϰ/n>T9|K̻Vp9]⸾46w:C+*fcb1It۟kh׌[Qf!#H^)sII~x|ŧ^y[0_oџIc4Rx76kn|uʹ/ [bodaÖOm` f߼LYDX&̿g G1\К&ƭydƇWdw`V[g-=/Q};x.+>+1m3ME'U=DgeٱYxqi)G>y}YM#۱& d ?y*"YU"dy8ך+04,ς^Q^ht7x\_XIuB}?mDL0껞i D,x놖ӽr0N\^41 K0!vc:w,_8$W՝BX\'뤆D(w2}} ^`Jسe/udZ︶c^h+| y/HQːVs/Kqa2X3Jby[y–2 /C@~Lzy}Y;ω^3ZJ\'c4dXLٓ!:Ї}eN`!:~-_>:fQmMX\~Dν9xn:k=*0&q2W`GP)"/k{_ƍۂ{0.eBs1~ k`( yh. ?Inu4zP#R6ṭuH-Nbגwp&i_tq(LM$LS=G^hze.rRMwb/Cb's%kكqzyȭf%ӻ12?t'Ò]ß`*$\iCYJ/N]!ٻnagzOqEkjk{Cܱx̄^,=ˣ;c sNN \R鎯-z޶X]W7~9'XKIb}p~`3Sm~7SS{2Sa{t ֩#[fjbpT4':"eoG.Xrx7 S;y8qϙ1x6C7J6!w+Z-0XyȂEC=(HHoϝJc`(JnFEc|unsv!ozƙKݘꛇ;#~oѾmϹm*?T_vajLsy藁׎zu>k*J,1^_r.q̫GxȊSM{Sﰫ[1N8Xw%b\x7y6TEֹwXv-fxұ1ϨL[X\[h}lxc>38u}9 oD3Uހ&ecqv]7~=3m5)_wDa}}H\-=SJZt]F `7sfc| /xfUx{X hyyvXWu,{XW-OżPڄs[c:MU kQHU:JW0*։Uu_vQ`4,קjFa}# `LZW Xs&8",q}NףXbێێ 'ysXgeEOky9Ovag9cqui6Wn-%: 7uaU:۷}țP[5eѾ TfOF;V%2KnpW{m33Y}Q֣T0ʟuy5_<.=",t0^ U~^f/.Ͱz`1&wo[GK_N«o?ԛxqӑp#ZEra]Rf.׼fʅWa\xYXY:|Rrh77ê;>.RfғA y3z s}M1(/Sʵ9@v{`S6B7ouE7KVH\ӣSG ̍|~tn4Ow$*аOpT>fb'UE$̧ݟ,ʰouoiGzb-ֽfݫq=愶M7^hz}w;K_Lb>uoӱwn eOa)ekeV0N ~ S)ޢkI>aQ|Te!Ԕw_Y9 Y_:yHbxpoghlr"VR eǓ=a,uiE*y~/%O f>C{ʻNYuz2 몢Yߢ&iv. k67gsz"1X>u?(?g #Â&-Cr+Md4 yW`=>,;:`ғ}H#Ұgҏs4J$ oaรl7HFW*J=B{pOIFطi -ʻw.G9|)`{Qy>-Ɉ)|m?뷝y+wbUX5vΣ*Oa+6WD@R̛+= wvy嘯&ߨsf?vy8}v`21~Px^^%+6OCZ9QYu0/XnqU]}n i)1@|0cu&ȗz^n@.5&7]a@ 071qiֵ1@y޾] 7I]Tm; TJi[:e2} n@#wa7ynʨzKpjI*J}zy@*t63|TkWq |{}ܯy2GȒח;uI@i:rv/Pь-+sF5'/R}^f@OZD;W>F'@X"w^dQ:{nCGJ\EE^?yO_Uyr/ma r@tbhMFq`+d%J ~*Y$^"mb^zMѹ9pc8fII oeif(EKuͱJR }0xG;]VQ/8.b˿] 1mƼJJlxw[E>Vor-i`}3eoqٲ?;82y@mf Mڷp 8l_Z9lsȎ7fꀵ l|os/L-q12LSJ-ʀ@m"o3H8z:M*oHL{:~4G^@bs_eNvm YŢyo4Hs N(?WsNpROoO@92t\֢@+:>>)~|+cM{XsPmOO9~k[Zӛ $ؼ%@7>w[XuA:9F@[&8+ (-3qҖO@_z_9PGnJrHUϿ_(4DDIx}T`&nj +1lwRt Öo inV8D0\ڔqSn@0d锩@ܬ,rQڵ%@__V4LP~a-P?v*`o8I#*7t,ym`{'aRiijÀh:Pn(shD=; B ̗-kvf_q Q@6۾k~K?h/]`y9G#,yF5> Q&]ӭ$mk i4eI]T:-PUG1Vnju K:]YVMGztZSr:؉SPR[}qvIsnOWYy`Lթ@dz+1\=9Ъԗ Ruk~dq'cGO{Pħ@6z )N13Ȣ_f2b,Y@*Q}VYL\%c׎[{hO?l d @^9&P]?Wҏ[yݩ+;{!([,% %Ir̻ wRcGWx=SRK3b5|se NzJH&MUt` 3 D.B%UX#@[,rEo:-PŞ:t'j߈ڳRya;lrz@->,|~w6㠙H``X;R' %yc-w@1S w;%?+j9y ={7!ii -n[R1;w @mvw%7B1/42ހ8z_7[O: 8h\uy?&>raAIeC+"ޥ҅#O~0[`Lx{:>GdaEX81%rы[u?2zo=QT[.G: .=s2W-m^o^iK,:VN2ƗI*[>/!}7W:]{׳KʮCU\}[#bbw'KU^ק1y࠰7nJM܀7 :z.L;6y|p4z</VB# -ktz/qAh_(7y܀;5kp~bady%gZ."@E@ySd~~/+KJ`~!MRx+:K=.(9Ȳjft_^ןk0ɖ>h6s{oU䆩&,ewJ3:@ݜ%n tե3kIQi@Nƺ%LrkLbJo Fj`^`7bԱ`~& UYl?S soY}`Ϸl=9یc~@~,.v;柹X ڹ||@]}I~] B@ `<vmIޣ- \B)+3US2+S=VmeWMX+>< f7FK9)qٮV-@T6s2=uEzO H.ve!}7؇ Ak'yEbc51B5ga~2S!Ra,}G{)%MN$K&LLE?{&g5ޟ7(i}继yn菩˒Ǝ2"P,fؼ޾[i<ň/`c&WoXRRneAK :u  *Kk=ڟ;CiP #, dC5|{h;x. o`9@<*EH~@ yܰyS`ԹԖ _Jmt{dzz7\O>Q ?܈n@3;Hx_LJNJr'@긱k'П$E~R̹w]cQ9ƘQ~19Ñ=4>FA.j[}s'SލqoGԩ@?|R _{(O~  =[}p,~k)8-pqKLvq/Ԯ ~/6D`)pYx{8茯- U>'H\+PDF_&ݙsD1oU2 ?=\} n~ud+`pi7Op|7i5p\wSx*0}m 9H`?-1:I+Iikesɥ@jQ к/#w1d5?<GWKA r\& DJ@_lb]sL"eSnـM%orFcI =Y'b\?ત)'[Fmwyc:Дedζ!'`_N1^~ N[3rDh#Вy*tF]ujAp2,̓R{+7{+I&փ; cb=1!Ƶ5kUKMG'm]w$o_ @%EЯGѯiQGLܯeyo6mlMP~`ۃX6*EJ z>fPS@Y䯋ޛۚu>`wsGn̓"rMP ]y-)7f=Mr+gϚ)r噆p6SyMݼgx0tV<6y*ۧfo@޸&cvPfL_ ZwǚL -><ͦJy|[^& $/eby;Шą@k|2u6p\NIXMqre f^ab67MS3o ؍'Lݝ@ ZS[v0/(/NAp_<5Pǫ?h0,~8{u[w:%g.;Z@NL:-ub%,_?ڴ"K3g/2O "^:l stPmsDzuI322OLZ'"tKLy ]z="?h޼z0cG8P:ƿXԉx| 10]`PF8Q%yM70FX Z_W:`qEhXػuUNZ C3>̟fW*j#Z@-ddBZ0)>QY9P$78vzVJ kM~s7 X~BO6)ybp38(<c/=X%w B:a@:}II$'dە⏺\k7[\,ye>Ue%ܩ2k^p*M-j +;lIؿr+(4ey@JIC׍O8+}ш#P'i@m A;#VQ t87DV޾ z{Ȓ67`?Yi= 1+~U! o~X>9Q'ݭ>7}V5,Lz6Jϩj֥k'cjZ VVhD]t0B},:٦8ZH7/d-Zj)q2c9t]@^P gR JbJͳk!Q>&Pb70ֆx> ە1h;uKn鯱p;ctc:Jz9TA.i6nԽy> YlDkK?jͮZh_ j\'KX 6 mA@2=x>P0b;*CxbMe}5޲x[tC6|ey?!H_P*(f^6rΕ'\?6 D 0|Dc=~ރ@+-Ⱦ R69Dbi@yމЎg-G9a;@;FuTb9EzN'X'Rą׭zUpnDEd<ppvf tijoQWCzKaTY{??Or*~&#$mNmȹK/om0~m 罐nRy2Aw,* ]0QmO:QnXRf<[v5>u=4Z< (şoĤ+*1G?0Xv{*+dz G혐SP>AXcݶ쁛5oSV<ʱ7L&7Y 5Z1[>{٥"k @?N2%3[>Q:{G¾#,3d/]e(T=0VU#a%?\(l@ڂmm |#;/X>']XOflSh;wpg䷓ @2jC{AP"a;S)ʟ}<t06H>\w(Tt=;'VU]QmqBVb#}}؏ʑM|^&lЇ ?\B{|vc?f얦mbGUz2ќpdԊ#w?a4^\r%^rdg;}1G+6b3vDeFK&rf./J֬&wWi;qS,pwhH'-5>뻷7Wڲ|?aps$.]rt| VMO9.V3TeWs yX_O]]I`DY8y5 ,M W;*}*yGh-6inlN oXu.#UNf(F;!Oظh1|[LZwe2R>?屫Je\fbr 6e02;(k5{* :=&XZ7̖KA$&BzSTYXT|X༙7Fyfн!ҼtQ^ubs^?m(yo?``9ѼyMv(70rKXy^\*Ι/kWOA/K$/ -6T?K;,|w?47Kp Fܚz^ 6DEG=&2x?8TY$wqĞ`[`нT0"jX4O;MSOkltxZp8X:-(h-j.0'?LcMÚu`b֜-@!|®`ydߑ30P!T,>aK[@o%^v&5MS,P5=A=k1x\N;BmL(l=OB8ߞ@G2pfDaxl=z4<z3B?_s_E`~W6*an@4cc:8 Yyuyڟ_J[.0[4F\\hw`񐼒 :'XǛ 6e3yq$me}Ϣz1iK0t u8כ֦>ރP^:\ h,z#j`4khz'#7?si55QYvE`SR;[ބ4v~TMPl5}xU}-gδE` e)ŐJR{]5+KG8(+VoSY]kV^ˑ14Z؁a Wp0P jC^|y /.z(|omuLRO+hIɚclw`t0c9{tfQ={[0T <췋<,N`A9,Nڢ'} XμmӮcyo`=沜Kl6L/j|td Kܱf*Qؤfe:|حnw/Ig{5Rϱ[lA엩6mV~*Jmq,>]~db#GL+ڄ7+Gۃ~Puʱ:f:w2` 3/&ƕ'UI ם[[N2R( t  _ ulրAiw?k;rP.۞56k+AĢoFze7T]g74<Wλ倭AH<8^; ̜KXY0VNjAV~Z}&>;Qo& ?U a]0rz~IWP]LDAS@7t^4'eij1AgYz>rp5(v>97^[޵S?^1gy펞MډXߞ'=_ɢt]g6E.+&#+ =VmG S1( al`3YQ.x6@ VNm}㱪;^~B1C̛[LFj@Qqq[S`ӳugm~L?;V?RҶ@׭Zi =`iU`P Δrǭ`SsݠZ/:BGyiדbJ+7g/(M"r`tYgynhg\Cy[׋IJM@dx34vn߹0ůnV3ZD?~^qVՇjq Qi.=inǛSA'R2`>3T'g]iw $W}b,Dd]ga.Yv o6K2X)V,dxX# g6؊TUàcp½ :毩+,p vQ03Zw,m\[w~cσƢ*SD~aO~Kz 8D<جYPخRf QNZ0ዾ%^ҫ|@i٫y CTpA5OD7o /J|*-p#OzwȊuY`P-04wӍ) 3ǂc3~曁/idR6PTxdKh^B{}Q昶8dy4`}OFj"QO[ &[]$Woxb:2ygwvޤd_0ӵn+\g3j^S8 WVԛ/ݻgP6 K{اvws5 vW\V#F< ֒Fe IwXQBЫl[џT}̮O`<3Ljv=6Bc8}CƓf@%6WJ@X6,F &xXqbZtbrys36 5yEkr;F#7 p"*xA}"z{#\W^uۂJlb(O.2j v tTvpa݊`P 7] |w]fmG 6˖Oc-]RF&=^_"#wdOۇQY$k3ts 8&&6k^>?\;,?nt7lBhiGK-Jd+@yn~>{x$Li_(~*zDg4hK_n-9Q yW7 We R3th3= 0ޚeQ֨ ]|7~蓂͠sSQga^&W VZujXNv\Q{L7k]2mX6_?l+>|3/0Cxr>t ~9@&{=և_ێιJ`ҿܳ+h.x5mA+S>0dE޲%êB̷̀N=,SW&Y$L)Ka};7N-N҄&}oWD /vk /;#} kno+w&9vR1u` 7`s[*h%L=SR:(qATeWޟؑK@.׃ޕ2"7``Hz'%-Zzt87xxP]|̏?)ccl~@rv;R&LJ|mi _j@Ft>rb't|B}$|xsC X;XQOܕ TRvwO]a9]N܍@yX1xN{? 73)kݖsٔPpVO۽Zrgvy.h;R0OlÊܶ\ @YWVrrk;ZN/6|Ɨ/p vg" f[x0-e^/:Kj4Mâànt觥"|1,662"2;_9(~Q / Zu tٌ(ٟoֿlR;y4oKZ7%w@EgAu{dŒbMfϨӆcR{GԦ,Rs0Hë{#UZiϝ(&j N+իo%'VȂKV5/ )5!타Ņ`DF~T'Gmw}G%Q=JtգA3gt^IݻNe^KDVfɥb@lui@.=^~&Ec^a0Oxü G3o-Q@Wnn]K7\|0xh=#kUﻀE% 8L냫A_ɫ 0]^Խ̼Wt zhctXٻz문 l+p|u9W0, NR㕢f'MtZRdF5X-nmUt04 ࡇTO>4DT:FľGPnzRIRvΝYCREyu ~=Є(iEtqg@MlR)"-Xz 0h? 6]`#TǪgv53;N)`Pg \4Rr|J- HR#Es?fڒ]0$^Z& U-@}aQVd-E>fL9t.hg\rwZ[4a?83 / ONCiO;e|L%h[A) }1{`Q׽t\ -vd;e?0&0tV5.M֞t>m9`:[A!p$<4<}~~¸\ GSH=CQ Ѥt; Yܪ֧dv+L(91lY\=l{u-.ˁTwk\3B~6<()иo 'd݊ ozA>ŝqπ?0,˩-ߪm\+q0[_,lbC;W󃱕\Jz`3s/%zz.b];?v LW쏞 'SV+onaꂟu⵰M'涂́Y@ zg_b?lgV/=Ku &0.o: ůq#xə;`, d y:'.>,۝ W j"o7PLǐ?é~m`7`(ofHЍwW WyM6x{PiZs{༽R`yCb]?oڸ̤d}GR*A%|3Ͻ0p9x-,0z[u&>lէ%BZfiwkN)`N%'2R 2>Jӱv|W*߫ҭlv5~`dJXSN\:8ot.e[)[KU\guhj9^˭h5Q]X{zg*mSY.[U - 5}#^fUÇ`2dh&*y<:y":<]#J{4u`$t""3󯟣@fƦ#`z$>㯍5jo`TP6N<89 g־Y0RZ;Zሪ@ҤΩ:&5c{.U9eΝ#kW- nWo^}`ySb 8^Hv зd MǐfrL0:{Oc4[v@fؘ}8Si?صo+ l|197.=ɣ@#}nz^kT/T˻|y?g:Poηr!LTfoςdU7}9W3lLJS} =}9 R}X۶KU%ɕU}QNWP,=7#(r^Ox5/ޜ*T;*-urq+d!Gj ?rb[~]L(^knz)32Xu3%x?v'[M{S?rAޚJt=\4}kT 8;S5C(2wOp{79݊"%={]fz9rG6ZtM'9c AXgWgnж@.Z4֛z9ap= oPy?J{3t׎9f}*G*yGRr0HɰTtWɴ~v!<񶕞T7|vYu]+{_{:VDyn/a.*J}vӛSN4U~#k;B1 Ɗ+&I2Z?3ߐP(8@o^}n&J1gl_^ ^t\"µBx?6q[捞~\龪Ym)(O'FWfʗvݯ JZ.KD-j؍?(KCv͓jPmGxy NY(`Y'JW׼sۗ7mzuN䚾WO ?])ڊrgnW.z==/e;<#fW~^d@h'_^_, EBGo]>3ḑ[z#a# Q#jϸ=*l߃.4:MIr,VX0F"iSZWZGg6>9"dWY=Qk&LP9ReMZׂƊ9הH6-%pG˓\t|;̑E_>*mmc8+ጿ>̌To?~dr>Iy#Fϵ]Pצ{[.])ģ(S5YajS*n_2:Շntq)dFg?p#s╞ ަf,a'挫{S3;ͧufWX4D?2*_lʯ3N*sH>4oU{ӥIQBSnMp_?lM6ڭ?V̻X׸vժvY%/Bnޟ?5֝^w,¯,~_d'~M:fQyp5ȻQ,8Ř%* `t{v :׮Ŗs]KSQK3_ƹg#>D0R=m5w2Np1=_|F4ߪ[9慟аiu)bʯmX`x͞uUb;e<妍Wɓu37n?b$S/7R?N|e Kɋnofy E.xDd>cOvE* / ;N6F%J)ʌхp *= Nqd9=17ȶPZdk5{\ܿз쁛>8!+8=p˖!:#6o%pҭIԫ=:f'Ϩ~-nwÊ*DI&YサPlL`LN~rJ_.8{Nnkd U)_BoŧvDdv9Qa1vQ VM;:lnvxDи u I EEE9',h qq  SqTugWq"]l\6+rrfe/#1%`Ȑ8"5dߩ&G^nREωutДC5Ĩ|B&~oA4!9s4x!ccg *jj"69qQ*ZrKbS5fW9 Ta?ԑHVҐS`_+j%QG?GX95Dž|'PUK0RaC{FܼxT\\H !#7ܤIJT#] 4Nnlʢ`9=SUذh9G;9ȨU9:]@TPAՌ4&XEMRh,*"&80*=)-FC.T+XKN-ժ& pؠ[FhY(i!%$\8~"G}ܰr+J5xZ*E]&Z⇸E* Q1 l d dۜ$ z5bBF#épQs55UDBDn+?K B5B,q]mӐ80Z3._%3_9Fz~rdoC8>2,2*!/A(4#Q|{a5?ii\XQ-|/ϲ]ށ\~IOM"9 q":3'9k/42254 `o44f)? `;teX=fyp``cD p<&9x ex1^gÑH^y/0gyJ`Opz#zp̏$@6/6xCs'Gq W?]L̏%@6 8 A?&@6?kICl"g~<ٴ xD_]Ll5pO箯@/=^qS9P 2U<rS =*΁Z\J5 x=4"xzcȦٸ퟈7|̏ڒ (lH?synA?0oIs$ VμrϚMlzm?! G̙Oo@O}uz)$T8yECs )ȕ{/\C?wbD+G$@=pL  w8҇F 1zpGqp% + sCK |=3?k_gc9p?;c șH =H!O%'s"|S {>a2r#3B#Bϕ?W@bO W^9xμ r]|n+_<oJ︐3oN$H!oɁ6y[ʿ!$ʟb B忔pO_cgޑ/\؟#?'O)<q˙Syz6y9\z6?Ňq;̉k?s8k|8vq9[d7w"wƱ3?Ƒ7=~$8c{~{Boy%@.CH%syiGvR&AglFsܞ ?w.[Cs+%Gp d=rh߮~z.r~? g~r?nz.3d$ogqO%@n| =9^5/ę$@.DksYM 7^!8O58@oJ\6̛ ϟE> x95wȵO9rBcy~#^-|h̏@6_Lse{8q WF mq' ?o#e9Pg}G;g^/\&r-{y}߁\rkz;|ȥ? cD\^?ϗ|ڏ1r_"s [?X[QhzF /r$#?/_Xq@N}͎¿Ň8=#rk8ž>O@olhNy&99Aq /gK!Hy1q% +L^\r#/C3O]GCs+2}#G' '~#@N!U ȕ_S &L\x yU䞏!j1pu?szhBה3O\&7%9-pXqm,Bo5lx aK'D\zOz.̞@:c oNߡ sjAȵ/w+9|HO8qEy~>'Oˇ?Ɓy)sO'Gs4A8|9 k>%ใ?#@ȍO8s + W@~ r[9 rK |Bp̫ |Bq,+<^ux~wμ.rz.^M qp_cx !Ǒ%@/ =#Ƈń! !?ώˆ"r@ů|$\ȵ8p8P&XǙ@b|I8=wu0=~HK W 8O%Gs 1lđΙO\J =:?e/G\L 7l5~^o%p 1l#U+v^.μrg'!"9PfÙ%@vρG.gތ?@b|9#3oK\=z.!G/! W#$p!ٸA# ^d'ҋz.oy;$Bx-;7KqQao||Hv/rhy2c;}3BhoqlɃ4d%WVQWKIq6c$_xi o)b1="CAU@pGpOy(;k?rtd[TD=~1bVHs/ػP7{ rҿb=v_ CZkNd'RMNC-7?X;Nq&'fe?[gpTCݿIZ)g9`q ٿ4{]> \Yj ]8yU~CIޥayo"k*9;Jo7p5ow ~ax_$}M}m%eK<; Ҿ / x?jY? _1xЏUAvj7)yE??M˝K=?~k 9k F8ta?"B%?R_u1}g{ Ҧ*/ǎ%Oяw?՝0MR=E_$ru7P ilTB+C)3tϥ`s~A+j?)˫^YϞY (eWD5hh.~/JGغ˖|FY]vO{0]zCߟ&7{x8ŮQыw?^&;޹or{Kx;loq:@`߷YOn|mKџޣ3B0? ;U߿HQ,zokN9BĜbR<7qTwZҁc-8ocQ*gQQAVrXS⮹w }~9Ftx~)\ߟBiйQFfJڡ`߈ R?tF)ƵFw0q s,6wH$6[Gj favw0"lme4/inst/testdata/Johnson.rda0000644000176200001440000000150112406350752016010 0ustar liggesusersYKo@iZ P qȦ/Np W8N˕/Hp̈:]O r3ޗW珗qPJyʯO?g^Gy8q0F~ڱzjL? HȁLm" #WL4>sGw>NGNZ9WGi|/F(ispz:l0] 8Isnre.?&ɟ*[6^7MeR{WK6翬co۳k7U &!;JZ>hOu : #Į{BԄ @BB<B4x,! q$3! B/x%k!BPs)0gs;y\9\N;C 0ch1ch1ct1Fctͅk{U==Eg-QrŠ4Hz4^v=쵞&?D1 68:h`OtN.%?W)A~Tū۴pyhj\}:}i: )@<4Ȇs0 |,K ?O`>=vG\ ~BL\hlme4/inst/testdata/koller-data.R0000644000176200001440000004043212406350752016232 0ustar liggesusers## pre-3.0 compatibility if (!exists("rep_len")) rep_len <- function(x, length.out) { rep(x,length.out=length.out) } getData <- local({ data <- structure(list(Var1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "i", class = "factor"), Var2 = structure(c(1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L, 1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L, 5L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 15L, 20L), .Label = c("I", "II", "III", "IV", "IX", "V", "VI", "VII", "VIII", "X", "XI", "XII", "XIII", "XIV", "XIX", "XV", "XVI", "XVII", "XVIII", "XX"), class = "factor"), y = c(3.73765398950867, -3.51120790925234, 12.1839225738012, 3.99609672879415, 0.843627704171421, -7.04559578539489, 0.513269008677759, 4.97769282578416, 2.49430806799148, 0.991538609280039, 4.18993164324262, 4.3495841603998, 2.83356807975164, -4.38859480555673, -12.8040811294054, 2.00835405533382, -7.57752515517392, 0.0841271210580592, 3.97385034892221, 1.34021074875535, -6.15996774521369, -6.54791733134537, 2.45854953209851, 3.79168002929171, 3.3138523173418, 10.7249115083109, -2.61761510114253, 7.00054855950674, -1.41115081941217, -4.962079292659, -2.11897136221405, 11.3389479789342, -3.72007754886636, 1.85089812379994, -13.8876705414662, -3.47251691568837, -1.96549041362968, 7.43791514734734, 10.7670172194604, 9.0127360873934, -11.7785916585473, 9.41346544434414, 3.0127924406654, -3.18985078985838, 2.84881578678173, -0.518750656475174, -9.3910681816332, 5.44675513450321, -0.337785395918151, -3.74895467408259, -2.45092543383682, 4.39554056987047, -2.0377325712407, -1.51257287759295, -9.91227053755506, 0.762554547726971, 4.54044289109928, 6.78162414227225, 10.4202003897547, -3.31389234456542, -0.641684472376911, -5.49456424419295, 3.69188120245216, -9.31158764467119, -8.00780251835972, 10.0497198410038, -4.00925384505182, 6.2252006228895, -2.22230342778685, 1.37977166715494, 7.63574063435222, 9.79836237907647, -6.20551488840541, -8.68579293785654, -15.7480632123703, -0.621423547375865, 7.16382226999263, 3.72504852864388, 2.83963721816555, -0.0783794025199791, -0.327785205836536, 2.33088670969178, 4.56828185195326, -6.82103022203118, -2.62491672188438, 10.9533909781835, 2.36400010867679, 15.3986739639712, -2.35999930282853, -1.57034592402079, -2.8753451641529, 2.07166604912804, 0.416348528971394, 2.18379536038872, -7.44070562275176, 6.21491641202581, 4.25020861349387, 8.28301243102129, 6.63649017223375, -0.807005609945074, 0.339176476821582, 1.84392904573721, 12.6678961255872, -5.54507373899084, -3.35304172684939, 4.91154786431173, -4.07402415037762, 9.91914794606301, -7.57046435117739, -7.13672855279298, 3.9933939213261, 4.39759526470308, 2.01318150029584, -11.3169462524575, -4.84706361944487, 9.19297484538868, 3.45466726515196, 6.84010606482168, 14.6503920636412, -3.48897836916374, -6.95803822401051, 2.92739129952437, 2.59744323098399, -3.48030807668084, 3.80884927141782, 0.146537520665281, 1.23274373143113, 9.56356244034861, -3.90142244693781, -4.15652710053429, 5.13773978189916, 2.39604983320635, 1.4176777822535, -6.62963835125375, -4.58820529348173, -0.981446146619961, 2.387756636853, 5.5512753200343, 7.28207112068619, 4.99635176663038, -3.0317536960328, -1.26378875439712, 4.7545181565469, -2.38299158055602, -4.42758777890398, -0.774648672685208, 6.91269897656188, -1.03297702849414, -5.62852887452025, 3.79472412722679, 5.58882468098643, 6.43315157276225, -1.24365478076283, -1.95645171888266, -13.3160547038501, 1.78226065662045, -1.72342459043359, -0.04418632351, 9.49474285906078, -4.17077567575033, -8.74723750940909, -3.75922187856885, 7.39410827622686, -8.34826288671374, 3.0004545328915, 7.4676655049279, -1.29476592482056, 9.42445817907791, -3.29094405327681, 1.84755973188091, -3.85429966111946, 2.76665794121458, -6.85236683821404, -4.31723416458849, -5.34712805340844, 7.19326723176176, -2.44464409715139, 0.54038517656137, 2.78299516942633, -0.659415040404154, -3.43368834988226, -2.78971341955039, 17.3089594669299, -2.94766979448066, -3.04234072194565, 4.29658249247909, -1.88326448704999, 5.96173521150885, 1.72334947131553, 0.758088078833381, 5.33916201545216, 0.975947155850382, 5.71373563308963, -8.98874954661072, -9.14263535163617, 6.19685095828309, 4.18549045981156, -1.60345945880404, 1.65158690452792, 9.02885529962572, -3.03303799789107, 4.15057190949107, 2.65258923053848, 3.87289674855652, 1.10563654211507, 4.63834991124262, -1.75508857805948, 10.9405320264838, -2.1693445251728, 8.86599938141546, 7.52658434905415, -4.74354436864734, -3.94837907069635, -3.37175483807791, -16.5840137211132, 0.17716885258081, -2.95625597219348, 5.62532261883011, 6.59379357816671, -0.0250981457050328, -4.9527429751923, 12.8421683874558, 10.5166711838515, -1.62393695811031, 3.94029463687731, 0.500704762769804, -0.983863058592869, 8.49001155304681, -2.57222970809997, -1.99902505941696, 3.24034991854071, 1.45322505199253, -2.18063169639079, -4.53014219966026, -6.32357846426992, 6.32562264709672, -1.88828662934226, 2.55408065455179, 10.1318447183679, 1.64098314225015, 0.746429734740446, 0.895061628930342, 4.53738785346549, -11.4814478445714, -1.76428897575099, -2.83651762148439, 6.32901687547852, 9.21021467090194, 1.43524997301248, -0.313773323137739, -9.64649488243277, 2.88524049252622, -1.45214344911599, -8.15317889668781, -8.69367917177197, 10.8117957975906, -0.815685548127596, 7.81213740188911, 4.60992633431547, 2.59523387939341, 3.51760858963661, 3.88657059324826, 10.9427758931758, -6.33530718890243, 6.22520469029045, 9.45158967125123, 3.29523802800378, 7.38864124667566, 4.54754386610381, -0.538955560446215, -3.2808220372572, 5.42312809707991, -1.11443380940403, -4.18382162462028, -3.74627651629556, 2.97462300609933, 1.00098766127957, -4.69527711955825, 0.728177284963873, -0.411590408404451, -5.89810220151414, 0.0265343509226786, 9.36265906671256, -11.3641950628064, 3.75259390977136, 5.92340842181436, -0.61626754617014, 11.048637471232, 4.29131981688655, -2.8916914398775, 3.29549908298842, 1.20089821576483, -3.47931862363529, -11.1479314221727, -11.9751636112503, 6.29231826160596, 4.19526471652106, 4.16522331168374, 6.56356486617731, 1.52379269602587, -6.61995705818778, 5.6471655268325, 9.51189288768841, -2.36429560898456, 2.00446921571432, 4.88102343855882, 2.47947900845377, 14.9983484474455, 5.33666877767093, -1.41432000747851, 5.02625197283469, 2.72305150728996, -2.24599458375212, -0.335001004678743, -5.58376060223309, 3.1622346970675, 2.38936033908977, 3.6086621064926, 12.1802095502301, 4.11697330891395, -3.92571551300487, 2.83746024670742, 0.669791999666865, -2.89648250687162, 3.70446400475181, 1.75550207737955, -2.67166373628429, 11.2976991997501, 2.63845881072759, 1.3641672366352, 7.05681626817195, 5.73958459384673, -2.95111835363882, 2.94104103509708, -0.380323955842286, 9.98869433579686, -4.43858932051191, 7.02766843170125, 9.14964437854237, 2.81913370344062, 1.59583147948653, 6.98152770904925, 4.39034112156261, -5.81348272822057, -6.71607554621091, -1.79727536943419, -3.22259627331994, 12.0572597979597, -1.95525422699139, -0.000315197522259059, 0.52624451834627, 12.2126930232618, -4.68553124615585, 1.67057167602644, -9.83515834965236, 1.74123259280161, -1.67200676117609, 13.8269213324389, 6.84257519146863, 5.33441772160316, -6.33651886787928, -1.66649793204419, 6.39995921794792, -6.68259735687546, 6.08981926235198, -3.53583947340409, -1.21103587811449, 7.24975022684127, 4.97801019029663, 3.14976379524903, 1.96758553600254, 8.43197057862052, 3.33822717991332, 0.235378273638341, -10.1630873499494, 5.76230996838168, -4.61549138480825, 8.20531094191712, 7.12941741404648, 6.00054322848315, -5.48192520344437, -9.59876928907475, 1.7683225066202, -7.1390901352502, 4.25471218768541, 1.80718924948737, -4.20866358864448, -2.44486024149221, 3.91749495580739, -0.158740143510694, 1.47791160298965, -1.34641057801835, -0.668352362532367, -8.17427466239714, -10.2034896388957, -0.860308461006896, 3.75705378224295, -0.336485137456501, 12.5132973642976, 3.49023309888176)), .Names = c("Var1", "Var2", "y"), row.names = c(NA, -400L), b = c(-4.36950232041146, -0.0424473953245598, 5.56953719092376, -5.30334683089667, -1.10285116011549, -0.252162996387152, 2.0499747831754, -1.74063623059889, 7.15605161270018, -1.33699218239019, 0.888758869258693, 3.14516697594312, -2.35262555592678, -4.94052004170718, 6.34707170732277, -10.0261204723322, 2.73257418977353, -0.638617261850626, 3.2694706345968, 0.947216484246937), class = "data.frame") function(i=1, group = 1, npoints = 31, slim = c(0.1, 40)) { stopifnot(length(slim) == 2, slim[1] < slim[2], length(npoints) == 1, 1 <= i, length(i) == 1, i <= npoints) nv2 <- nlevels(V2 <- data$Var2) if(is.numeric(group)) stopifnot(1 <= group, group <= nv2) obs <- which(V2 == levels(V2)[group]) ## those will be shifted and scaled ldata <- data if(length(obs) > 0) { shifts <- rep_len(attr(data, 'b')[V2[group]], npoints) # <- group can have length > 1 scales <- seq(slim[1], slim[2], length.out = npoints) lb <- attr(data, 'b')[V2[obs[1]]] ldata$y[obs] <- if (length(obs) == 1) lb + shifts[i] else (ldata$y[obs] - lb)*scales[i] + shifts[i] } ldata } })# end{local} ##--> getData() function {containing everything in its env}. ## getData(group=FALSE) returns 'data' itself lme4/inst/testdata/polytom3.RData0000644000176200001440000001320512406350752016411 0ustar liggesusers |7@ / (n!5$B B9Ir\VkZ[mBE-Vs RSm~闙yofN74Mײfǽ9z,-Gw̏47 EMM)zl!:_3enS% GN~Е,O)m/N+~PJ9JӺ9yHKJ33'(ܽ;+E?=l=t?ۅǰuIL<6sݥ"~e_onA} =/ϣ]Oͮ2D7e0IJ[%j'||ҭكoY$»Ex{c76g^E{Tgg_yXjRiӡW~ո(+)Q?E~lJXTUOQ^k?w(5"4+^5OZS綜:ܴdKo>rtj?z*=#>)} Չ#7^D|+/T;ށö;|O?|{÷;o?wr'ox%ptܵNztq\gU|=??ooi̋w">U'+0%Pn+Egצom1h*}bk71_ƛ>gߺUS;\}'c&=ԕvǯ>G P=b_ua'b>k-"x{<KtC=aޞg2_=׹&)yrm%Z`>%p<ճq|Vl}1E{bW3'|y:GiU$~b:.\??<+t@zKf/3>~k%{AGo=7k?'ޏؤKu]+K4~:}v2߃^ a}kFo2k7'mDž~qW*U?l/䎀n/Zlg%We˼?mTR~/lb7ŹQ|_cxǸ{{}?u27ZSSS? s.qT:<3]^pr;k[UցNpH6{P,8.jxެ^#{~+֑ݤ^^?4ͧm^ewz䴅/ 1~'zd ;_+g޸uRcnLk)0~WnJ.^/ ,~9^krQsǻko܂o&^{Y:ZxLZݳ|mD+;Zh}YjnaLo.pKͽK}k_eg 76_~hc>9[~tQ]u^>냗ͤwN\z)\KqYvJ$;μO}?yOI(e?{ U\Z嶂s ;|'gj{0_ܽ5Wqvο; *KV}y9^:5Uv |󿲞NNq$y׃b|9:~.~)~sc{Vl)ιQy:+ʨc^zT0|_kOT} {G~(ua>{%ٔUKg>ÒҫbnH3߭KӾW|a?a"#\=z<{1'=0X`jwyսIcvjDƿϒ%럛D_>ɿ@͇v4HnX7z1{S Qk{`dQL^:SR L a]JgNyYNu+?t(]Ȃ<=z71֒K5vݴĶs׆ rˑq}5_czz;~nvi ws!#s? [;xX_uOE5V?k4.eyľO5HAyG/Mfiڶ{;)>핇sJABR_U +< . ,e?˜d}2s>T~]H/),hmpwOq{ dsϋ[(8pɑi}!j>+}/Hn}PLg}Kvsvh{}9s[k+]_)ۙiW{1 CjΪ!N5Y\~AR,~갬/R=3EkNL{TkIexYKsc~%_~_ t7\7-?nz-3!hҼ'lu>!6Fnkk^sk..OK^w9Q|#e=mnc?h4~yNg~󢛞ҪUS<ޜy.휂}WJT/q8>=Vn}+m}mR/zvd[H<ׅ<.LhmIrYۗ˗He=RGVvrnlm[EykNG_6W(a?~a?~a?n{=.k~-qv^N8oAqa8*P4EV(nu&^07?X4}_9LEúDX{HC_͟i^'6 5ڲR0IN4&t*pztzՠIw3W4=u6]}:|tHsG:}GWÍ>t#K|Ksh8~e<^{77kRHTFc*gԌw^X 5IЯpC8n_lkËBx}® A1` ut{nhۏey͏cy=L 볞_G^嵾^?]Gt?߇{f``w]Gm{|}X=3W_ҝoL˟Ξo'G~n=X~g7L~W:GU^g=_^d~Fܼp* Ǎ/\T(?]3a*fR2f2F]LUJ;(\P@GcX`(0 88NNNNNNN #"8f=ы_vq-&/#A[J2򖓷B% Rdb[Lvn1-&T,#2)ed]Fved]* 5Ȯ!%5ȮAv k]*얐[BvKld얐[Bv)WnnnnRR[JvKn)-%dT*얒RKed양2[Fvn-%ed^r[Nvn9-'dK&nxYAv+n٭ dV [Av+,^NIb2-!o-#o9yEI* +ޒ]Z!h2@Ɣp.1Rmdp1.FH T #b$\̐Ғ].FH #*NH #b%R6KH #zp1.FHX@*p1.F% #b$\p1.V*FvI 4$\p1.FH +%$\d#b$\p1.FH +L]!\p1.FH #b$\ptZEF-&/#A[J2W4AeKo. Aep$\ Aep>$\ dֿAKҠUb5h.$\$FR/HӒ]. 2H .. 2H)%2H .K- Aep$\ J $\ A%u Aep$\ AeJ].K. 2h X&/] .FKP _ cbD1H#] .FH(0&FGb`t1.].E/R11",)Ci,-D;^F cb桋C[.v]l7tmb˩daL9cb~B.6 ]*tS"$59ՍEFs66~^nUP'+/ `4,kB:sܦPcKۿ1X+ y]_O>>SѤyhp~c<%`lme4/inst/testdata/culcita_dat.RData0000644000176200001440000000046312374550357017110 0ustar liggesusersN0 ${Ll|ݦdZELi+ ƞku]Ja2*&(K r[AOtgy B}8$r Y[jl{ِňKW,YܰeqGB w&UV<連V }?kLmZ_[Gt};QiY +:qٴ˖[A;ba Brvip,&_z?5!,woδ =n/Qf_E Rlme4/inst/testdata/mastitis.rda0000644000176200001440000003777312406350752016253 0ustar liggesusers} ,WU]v$l=H讽xY @0!WqAETD7D]Gq_Qf\uQ`V׫o{^s~~-[c=?ks >O{1?Xp|n?x:c<,Xsxp+^ K/x9wpO o{IO)O| >S 3.\pJU yx;@^,_ S׀ _1u  _4·s`٣s30  '8A&2q<0|9 Y7^/@.:GXV@V3jY,dpBE` pȁ\|0? 8@o &2%v] ?<Gr@\t={]kFtG͢ma`i~;p'I) ! >~_ S~K5C _x+fak~tkö=;9??UokH~A$O  =\g3̃`@#O|_#~~u:{y*>bK@?~`@7|'2ۄO[د[ڿ=9ؓ=915:q`#6(%Db6_6e3e#6;R~2ХCuxpX |/6{Ճ/6@ (' Q|8HH2? ? ~Ͼ <@_9ḇ{Cz#17 ["g &2[р2IC>lZ5 A1F|1FI bqJ @vrsk  a?  Y@ ;2 /3=/3Bua`3u]μ x4jK,o'~k!_iG =Zo1s[خ-lם!;wsг9m:ئm:؎8l=l#Fx#~% bTI1 zl0Hmb  ca{ bX`-XخC|tNb =z5áO{Cc=bC bgY d9C!fqgm3SZ xbO r bE,q`#GLIvs{-{N` l- |=t1Ik{M ; R!̤ [0  lшC~VwCW^^ yG7CCŃcX<1G"5dDFq F ⚁, daA6' 3ȅvh!wBCva?1W;!XyCG\X)G~З=>=bGL{5#y؏G,ȹ-s{ ]zԈ^@qK},tSz0A͖ $o`5s1k B?E> En-58eauEif|!%X[*ndĥ 7@~7@2A]@ng"[#+Emw,r Xʾ_G|7=G~_2𐁇 a# @j``A 4,hXB6,|,ddwr/X q}}[m실F vhe^[k%ɹ6Ryq6bOq,@Ab47ЭA3!1 ^e`aC۰q"[ؐz-Q8le) pXÜku '{#yf=GOA o9? Abd_ l6&rq's͈Ur~>`/17 fK@ 1; VQ@ y8 %^#ȹ[b ;C̘~gb 6<w۝I -xeA!:أtb9Vl!o:M|/ܡtG'瓐jV>ɞ9;@~uL} R CNpƶXr 9M%/| |9AN`O bu̝ & rV& vN` t v' t;ANDwDx#.;:Np5:a5C㤶Ěja#~M` 3A-9,s&Đ`SH` bJI`# l$$) $$6}6!n3*zMivm%<~4b^tͲZͦPe׬\mͦk66뾹ȵYhS;:,YMVguXЦ͵o<=M/tt|텶ӊڵ3/@sj~ihWDMѷ1@ ulY)Ͳ>ںбUYRWƊԿ o{yyAԇ^/NS[i6UFm塩Ԧ>.4ܧvsJvFR?ԧwiS}*j&r9ωNA|ԧ(MK_Ɩ4$K$K_Zy[PYT%Bmj@vImOMVѦ +%4ikENm Uh>%/Unc+峨ҜC͵]XilE4 EPj)SS6U@j, n7V4vJ\jeZQ=dhؚƪLOeΩ]Q[גi@4Tʪʵ?)kmԧ8vN`2 j7|TQ"o~&*u5UB訝Mt4!=R3h|֙m mLevFm_\O]hl O.}JSR Նbi.SGuפ%u5ShڮIki̩R;Pl )hg.ݍ (Bg_"#+ݘZc2&19y+cjFB {a/bj5YUҍ'mheoB˔HqPVҲfdt1B9S|ÂoZ\*iX% k)p7^\S0ɭ)y LIK&P1iSZIcU3232$$n)wBr'_0“L y򊑚L`S2;%(y=%S2 TLbY79bAa(VZ\KHv)s2)32)[HJn\2\ʔ"P1jN25#DbC(1SV05bت*@RFˠbTlUKZ+bX%U\R35몦U5,ѨI挬yxSsnksQ,dk@Ń=ӤnN '&#13B2"`ZR|-sFIn"Wb&DDI8 a (t.!J!5ѓA.2,!jzk0fQ)P32&Rp'-w˙ILn]B*3FX?yr8Yyc*@aj2@ FjFHyͤkf53Z3١VMZl%r `$QqR0BeoR7 lo3=y+2'ĊĊĊSNU V}/XEGX봠ҽk: X5gZ ܍* Wj#iHCH(5-vN͛.)Bi貱 )#(' a/eN| QZ6s0&q7^)o}0ǰ RAZPIY ) $E7@3; 'צBqPgT4%]>) ǰZ6M5jN%AцG1ZѮ$cbbC⢾سN >++sBXntW/VJy$c [b AJF*B4;gsrMAJFTS )!#5Cl7# Ri{ Wb4|HJ˦; F݉ $KYV3B2(XTme5sPS.C H3ݲ9# FRF^O3d)a#/KW-m# ˠa iX /asiǰ4L m傰gդlj`dbf!D Fx9 -8,8,( AEn4m"Y9R2R1BHdLqAlQg+Hq]l!tqKnUm9 oX%5n@ba4`k,IajGC xIL=a4 {#ǐǐE^ҰWbHS<5)+]AYʾ%RRq7 |,eFn%yF$e$c$'2 L`Ja+C.#'o :KfA[G#NŚۍPTNB L@*>Rix )ݥ#)5ۂԌ0ɁT| Nq{Rˈ~neDʾ6 dHM<LCBD213R0R1(etA1Ac d%w#KZ wH<EJ 1B9w|*)rN getk!(@@(] вyϔ5q ҜrVFWP9n*"+sY5RFg݁0ӌn'bIL\AX&+ R0c^/d+ F2FjFYIq dQqB\,*ިeJ6ˊ}Z9?]" BZVsYn͜V@(g\a% .WOY19ycNQBӏnw+tG`tz7A R1Bܺ 9##%##L9$e$#$ISO3LK *&P3a,K4e,RQ1 %S+y sVbARF2FrF4+8ce,e' edr6@88I ha#g &]0ya(誼 <ȧMͅϡt^^6k`!r_ Bcj59@GC7eK4Axyg=g)r9DG^ys:y+`dа]s  &X!9`mR 9s(9g7P9\ EϧHϧ@ T) Q RA(yF6*˂-#3J4hy|Ȃp@ FD10^BK$ |l'@ V1bRܭ&5KG(HAFA.h4!/OPh9/ rNypd-n-^tǭcB_rK^~ӿt} ~Ot8zH᱇w p?'~“!x)'| 7p!CO; >3N0x :cO0x{H>Hy'|P7,_y'.%&y\U^Ue-]Ҳu*] %6]4]cݥ.DteKxk 1p:{P\wDy?]yk]ӲorERK뮿˒: []7_>_uz_Ouz_Dw뮿{B]ȸ5_u î]kt-7z/6b/ qb_vto\ǜop:K﮿/\ˇ7;^_~Ѥn_Izۯכ~_% m;'~'yx}:[*^ΖlΖlEe:Sobz 3:#S8ΖlΖlΖlΦoԧx}Wx4zGx} :[:[:JJJ*Mߙw}{$>K3V*jjMW:[:[5:[`Φ]4:V_1^ohz;;Li3fR6kmlK5^WzOL9`z=:MMc>84 ^!u^o,o(wfz}ןࢩi,I534s>E3>A>=>9sE^y^QY^.Tz}`x}X#{Qwy}חy}-{%׷9z}&_gxm'x}C>z}F{Aןsi,џxx}?zxi,'i,I5KR%XWu=b@3fR6kmlKOOESgX7,{]]hlKhlKْ^,ΦDЏΦ$X???OASgX n./nBSgXi,x}^&:ƒLc>3{X"Lug*hc;f?yc}");##7xN9+nCYw0y9cd2/u0nrjM׼;1n`JooC30~Nqx[1{ƛ1`}s\7ɞc5_ZTwG&>vku|Mk);)nCc&3,KcrFOu<ydl#tpM|5.ϑYoGy;M<1~ĬvɮwcC9v05}oco\֭gTS\cIcv{މ$~M:q>olچ3vsm|'4võ֎9r>51[ލ=]ts ;k_p|o7v M<;AÑ5O-1n^lc/k8V:۫Jɢ/_'vI5fi/R;\rIwk/v]}? "\x4n 0^|ȱ!<\AS9Yċ].\95_A\5".wsv#Y3^LL~eBFz󣼇p4ҏyRőN:@s ΣWjEf\t<ΉΏO!O"0K }jZdx0 I﶑%Hҁ/6cԅʳͪme.wZdV}k OZ;{]@FcsWt zI9Q݆a'ŋ̱ ǘoOM0 $mC>X> >[w|>dCsG\01sVG1&=y@?Cm?,.xԑcfF:ݴبߟC4jw\e!wZŀs&s9gM~]dbΎ/s7яE˾|76Ƹn@[n5rO.u׼72pwYatoS ղu"򸮎l-~!pQ:3oLwt<ìO:sl퉬!l:wwl/SԬOW#l9w16{%d7v1\g]q#ynێX{|73/qYڢ ޱ\~H}˃+9ul5K4/܌=OCbر‘LݚXƽ)ӷ[`ۊcb5c@vzT1cl\- R";۶Ixo66Ecݠmfh7d5̺crn\,/Ncxiݸ)cA!CZ'nƙnh~Ƈ9nH[`Ve}gG,!Ocrǰ uLŚ1;fa0nhObʦ)Cdd^a֌g*O`9?̿c[`OߴSg]0'xnldؚX7Se6AОrT\aC;5bT, )}M8K_|J]q_?"ʿȧ|u\÷e{7ذ<6}^e+t%`w/['%/6qdU/ho Z7iQnl;oܵfް_Dk||i_@#:{p+[oўoum e* dVK[13[yҘof~~d5gDyJ(^Nq#F㦬hF}iQ/Jፑ+cowmذCs_xY~9NbcL^h Ԙ3f_ l|1hW_mw,ĘNkZxUQF| <´->/v:~a{qk K D:Of1,)q,bCYF9Jlsش~yRԏu*/E yԇ1m;~$.,Ğ02woyE&4}E{x8E:Hlxw kq/-yiMDEWjG\qcXO͌-!Oeu_)/tcZ_Nlࡦ#w6>ˢ;DojuEЃ9h]>r*ͥ}xuQ7F^yPWF]1~w~>':@^qry|,|G˯8$>>"Cr!{b_ukJVkVW_wVdWaN~(%uxyƯrj\Ot~VCh!_jXYCRӈJ.*#v%6.z?}ʹ~.>xq'Źk?Wv_$&~]ta"㣣ͼ:޿|єC/b]ms@kg38yQ|9QT<)$bone'Njef~X,mDj~ S$uR2, D/Nt$yEb6tsssmԽt{ڷE} :{fk'm Nhߎ5-AŞϲ| ?qⷒ]ήĨ3Z?{FO'6 kzϋd [:+/ݑE$(ͨ}^(,! 4;R=m0;$=d+WlH%Q_6kbb_eqmⱗ|yQ|G|_i=1yO/DIؘ[~2O؎-_A`d.5Fs{iĂ'HCzwˣ+Mw~p7D[ےx '1Oje%,1ׯ5d)+n]}*M׮}v;pi|e+#ȏűfq7GZHD9DGpm)Nc'~x+}{lis'D~D] |zw;Ad$u؆lyiծ=ճh3 Q59*̤(Y_wy\Q7E>7~&SrṿFb["M7$<6J-uO9 ]KkL_._rF}ɺGαOzfy;mdln>%Y>uI|\bƭf$ƚe?e 妧DYK9*5L[{9-9JlQ{ձޖV'|,{ܛ'x,#/]Nط;}~)0ȋ kNsKe{u v%>1GlJly7cyO]'VK:o߽bbo<i~U^c_ؤ}>xNuk}S:b&|Zܖ܋='Dlᾐܻs_M6`[%qlrl]{٦5l+ӱc;m,mmgsZ^cNk~:sk8^|,jmNt̸Am'þ`]ݰ[;ݯn?tDކ^]7{^ ٿkQ.阝Nurɽ1:{v Wz"zak_2;wXoAe|u]SG~~G'O}_N~㠮ߜh_GYŷuȃ;(4O!cq^wXwX[_|Sl|{Lr]t]kx&~/uŷ{u/CL8%lISlme4/inst/testdata/tprfm1.RData0000644000176200001440000030104512374550357016045 0ustar liggesusersXK3 A ҋmW?  B{}v}ޟ7]w+%yOwnwgvfvfv\;9r8NJny?.ǚ〥v*/.1ñr~c3vEK?,n=m7͜R[轿sGf |>sR-gS]Z%ǻ]j2Tj}_V|!ݓ u%<_/Ats>yMC UWݡ͎M /W@ȿk:'ltPrZF!'k»M3ϜyaP ?ᠵVW]eT&|qFpbJ}͙SS$;>^]c +,ZF^ 9cz8m]CݼF߲ߖ?rZmw_Oh{Ezڝog̭HνZV=uI}ؾI6-wӾ.,|N)T%Jyηc/k2Z'>gpֵ+N/k+a3x?j/o Ǻt.{ض:t\~7׺F+WK\)eB; tGٚO-k^lbMl;8sM~VϜ >NXwk]{D1ЬCCT%z'B/NYW4벬Kh-^ZSk8^RTr61ZD5VkNv%|.$Mf}aQ 4q#xwIQdcp8Zz*|t)rzIu\jK@;2;A' wA-u^xŃ\ OHtx NuDtxY.W;^ qmճ['}q|g^c wxx)^7q:{nY@~5uzW  a'k<5}uؠӌ$V7n,rlw{XèU|O7 $=?{d6l2cx٤A6W?zT[ޅĶ"+ e'yUˆF}>=C;Cθ׆Gv>axCaX/Kz5p{G:0ޠ/χ!O8 dzMn~d6k0Ed: P|[0Asa0goðñ'<~0-um 3KstFV`խð&vlJZ`x;>n? R֏אָ'Qk0bclӖ]T)#*?_>]>.CȄ2bnk "ۅo]10,F=0ȸmjCZ(Ep9w]&\ߓ4n{G6? 4͒kwma uձ`Lw>wůCPtSۢa-Uc75ƒkaӚ}:0k̤٬2ů#z3g3Xkb~O:բGBXcd9wvI]Fȓ/kmn_wzfզ0 Å0HW10xק0U7Kk3_&:ήִόa'ѱyi3h^}bf\R3z"ʏ)tiVǷz0xv+K1|?YYYZ\ԥ_#:NnWOn>EpBR+*J[F=3={_lzxbq5&!JNse͜k[jM{њEbN6Bz6 h%9}HsG_B4/~:7<ԤU25w׋{wv lK/ƝuqI$E<&MY\ܥ< pc䜪*KI]#g8nNVY0&8Tϖ@'V:MK"9e>=H [ifjQO1G4VuU賴>4AW69|6H{AKFwݨ՜9{ʺ?4<#gG1۫u`X)u$oN3gf=&X:uM]`}JgYL Q2.~@xӖYg M-9w7-86/=+.g>vPYpkԅoWyDlwiYֱWطZ:n%Ś:59HPڶ>j7#!ebMs wKUڍlvW-V<8E_3[|5;:dY AܺVG*hus{{fṠ43i-wvľ w7=?6(,+ 6Wq4^o 6{/bp =%>QR[G8&ꯪ%v9hq_P|Վ$+,j1RftVm_7{^])X ݧԚV +u8֥(~:|a&tؼuVM%Kr:ݿi?Qd|QL BzƼu@K˼z"&,jVXX%}q`ś$l󃞾˕ I]u*,JSCCvṁg>_wO47*./q <u6mp X rܼ.x~ *]z[ ~ni 2bgХV%8h#lvŦ-9GiKֹK  w܃i'%oݺ#h +|ѬЫұCE'*#w%N,q-:zbqbQǫcݻ}Ǎc ljУ]˞@."@BԮ2[19q)N}u"fE <`u'xH^nb s Xu:573Уty:㡇݃ >?xz3tXR=arfdD\?`Xۤa寕Ҹ|{nZ"V'^Yufb]P<zt;OX)<`.ڧ?9v5 ˵}gL'XwgQ/X}u%6` Xؕ@֤M!4_>o$F/3a0XXZ`=zFrQ=΁!֜I1>w߸h,mZH.tj kfpVZ#.~{[O.PYh񂞋aMާ?۶~~!FY0b`~Ӻwah%Q0bxir`D2&>[kFM|i #˖vVWӮnC9#F3v̟[릡Xq[09V=aiW~ I0b%N]VsvaĬ%{K$ <7mBf[aͻݭ25m[ՊZ'kH8V?{kN߀5_OEXs ^&Ú~?\4ҁ`b]f4>3;2;qk~O[#F]bY1lȗWhBGwKe;;ou1z\܏8FLpub gר0L 2KqCq ^`}~>`XG@/ԩGJG]?LZ%m*ݸ;Oz:Um֜x-~-}j"h ۟z5x wHO=7O8YR7&ڽoZnҩ Ot?Xtb4A_w];v_K r8 9x,S3vL8[>{#x'wW=sKհ?OOl ժ?.gԴ̡klwoŸ?jmFmKWd" $R?" "|Չ ax^Hi}"ID:HQDB i(iE"aY׏%" aMSD~$߾u1.Ǩ?_52{0UbUQ.n/&IbЧ&y wg5[nl %U25Y]zX2`rFPZhJ,:I(:VAÿw%P^Q%ʻI_;ʧw{*j<&׹QԳӀW50i%cis}ܔ C>܄ˡ[9u2X'225: ~֣)V(k:%s4 e5>}a5[6,sj;yEe(XL{[(=fյsPz<ꯕ^RoGi#DڀH{i'T"=It*ԋHt8n&:DO=!~{i["HTNK?#%lӚQv""]ED:HeDڅHi?U |iFӆp6{+ytޠ ȷHӉ }$ 07HHB< 01x5z a噥\Vn'tX٩ˣA@FynzynG݅4~;l0V2悠#R,p^|wLJD"saj@$|JU"P$Wx__PD$aR *.$C>" ltk?@@A!K#{ o/++k>U(D W/NgN)E,VM/>U< n:*S58~`p~W,Ep88}~XCl^6ٻ39j"p⎷xyS#jTzӉw[pH;IKB{A_e;ݒ5.[ځ='7)!=Նw`ww>BucA`}X&jEVqYvDpmԾ]ZZ >7ibAc>щmvF\v_uSVN#rrg~޳7V^]F=u|Il1)fFtVW51vl0Fft.J=4m3 mi5~k;5<_g MONڴ _o^o(&XvӖZg{U&0xrkxf}+hoNC-ik55Va@oJ LizNu3mON٩Qu7|ޱĺ5;{"3~VD?ݍ.&fiR2Q\X(Ig:Q--C?g1(Yȯ4YIj tODJI(, TRv9岸8ɰ3jH{9֘5wbť`0uR%P/p $ۗ-E%i H*.OTcQafŝROd!od:~28xW:"AƒYZ"VѪʐs ▅Y2#f0ptoKeq[WI/S:#ɬN&W(r&#DqZ0-I,IP{NJRULR }"}qTt܌IQRfFʔ3*МI4cit!НZcDϫyOT 2.hԸR =UmT_U rIiy1Jc2bi*cuX`Sm{땊A 9A/IY̑0bBȵ*ɴ~ D6Tfz Q\$>j cPX$en|?wA8RqT WvRuH!bl O Ws ?JExjzNր+N)?8>rlRT]#D$d}-a2L&Cғ{,ӒY1 :؆TR8Z/ƊRJ,2]@@[oTw3αubz6W?ЕMq,OJ%UfW. KhmV5kd>vä:11&X,D4>0zeqІj{ 'As+'@W1E~;xJ/TIdG^{q3'Vж])& 3#CrU"JN71:bza'X(1AY;i%njs6䰬IĶ鄼3ePx5"Z!UY'uֵp=i:E7Mg]7cdiX[Q\P =bH,de6Y]̉ u`VKTxY()D`:_%sԵo)rT0.CL rv"mhd:GC}9VplGa4k<,qx+=JNηq~~ 6 >/f -U-5e\Rl-j;HEd% ͎V!uiא9v7elɁcn1}%^[3PP߲'$-FIFQQK/f֮] i„_<47UT]P W0:R>@t:Ic*R-}tI@/b#5>hQX$fiyXY@Kݴ ϔbSmH^.҅(KĎb`ޚ:Ma ~Ғ @f&0u PEMgACl'lb32$qы>~K)I>1ʶry2LdPd̵{475=\W&Xa+U \AC>\~ۚ16xF(0Nnxs6.xɊF5a`L s[XқaYӑ914 L?7%*o&dFf{Q\wAX",F8[FFS+z*} *DƆߛr,a*C$6*H`|mS h1ɴ8&<^ѱ2?!5A/U.J?&|&EhNsP#82:=SYťXf9-R7g1>?hhrgaf1cua8.UPF F$E NH .ٮFtyL͆Cg!SH)S^r}GO:CQ7Yt!yX1D!1+F+/2&Q2[D#`"x-T0%__"fwƽ=1uIX]f_z8mʎ*AoX?p__?>I_IE jnQPa" Sӯ2Ki256FG+p@dB EPT Eݛ-QBT:|2'H]9ZiBzۯ;}T@|361X 7P 1ll55͇\bN, ifi?}@wH9>8TO/E Y"PsuMn$6~8r8;Tɝo*U*~+Q#{} ىGБ?B)HFa)=Scs+un%Ux5dLQtVCN/6VŜBjn$Eh%bڴoI#@b"#-SbbH@;g` =KQA*J^2 1Z%YWz!Ffl6iI?ޔeJH)Ś>()IUorRC+h8Z5Da Ɣn=Ι1 Kub"35j!kQ;IdJw<<TT UVݧA8E69rLG3 ]CTmU2ɥ(̾uJ[D }XXza0F7mDnx1iC6Q'JD3tg8%H[]hI8$ꐗYJ\eZP6.t yw9±/v#˰DV-3<@uayD<Ȩ# F~ʉd菚2 =ʅ3D.|"Oa?^9W8_a3~e:-!K7D7? s0*Q ^OsѪ~.PK&_иs"L*Kpv`N\PEJ[g~mih]]sQ 124I FFy:D¿_da/Hw\d8% HWE,RY?z[_din¦ve |$[ct4kp<s*%;B,$7?`E-Û?AAY?@͇<@(Br2~241$ e1zXHFҗƒoKx 6"qәw"ts*Z3o~|4AlX/'@亚-ہC6kn4K>#%&3s,=[1zz`e'SM3da6%ꥆ t;=T qZE>*e&ZەƝeH*O%s 0`5)&>;u>兓;lpr5"^ZuȨψ'Wb2ԗ7~})>\d?A)l@lY) rbƮ(0@̨:=cS JQROD;?A NpE0nQ*ͨ+\fHeYU3( gy`-У>slqUw:UCmJ #ֱj9\6 >f< RV Vg[ x4FVU\b$Nʉ30OFbis/B5>9Pꍆ@JBR9r BeGAlr`ٝ {^}ڇb01^~+7\:Á~>89iXX4rllx n,t.-knA _gc&GF G0<%<3Ea8QQtc?m, AChU4?2_ n DqRb?~h)59NKeaU㜜"gM( @~MZR1P >>1\?KGH}L'1F5oJZ)ϓj eXJ!ScgV4uT3j2{{/l0sVfk{N(fbq1 uTY ic6'89f Z`1K /'0Ru6ʈ#Cq9xw^ 6rR6oۚfo2BD"gUȍی`-W6Xm/QT`d.h9ꍒ0r4٤ZD^l Pf=%D=\F"9Y+AMaR/ʸuMmg[&"&КZHkI~k! $<8hd.P:"3N^*ړtUL(P)ĩ$E 8\(i& Qeg2Hwv7J SNBMz ?^""#*DU#Ex`JLu % D W CFX61w ֶQ,P*BdD *k.&kgdV1 W:I86) b Q!d >-`Zlj~[e֏ T>Pɽ~Pw+;+ˮs3ˮ.R˲k{5󸉟vP)e"UIb{~Mt#C K p'GF3JrjVxsk~ J$Uۦ !(J)Tx%bi˓B1E vq2EZ"h)i]4+r/غТF,j'IPB;)Q?DY+v.*W2(LB'"ȿqm ST}EXTOP-I0EwQ* JQbP( JD/{yQn0.e((pbjQ-TI h >SbY43TM?MYY?l%dDUgcnډ)ZBТjNY~ϿdͬpL8$[Qg gq.EGh >K}5ZQ_oA*Q.^x8]x~$6S*,2AS#c9W䁘 W PPlO쮔Yzkz߆Åfy t{x$o `jU*%Neq5l"7R.8rI#CmVd{ Ij,/}fN(W_-P?-W /vu{j7= SD2$/{>BtՕmצ}C.-1#ڲ-9 q[)E/@,#(BWtƭk˾߽:<Ȍ\3ڟ!ݏ\(t8gFupc@frPO;iܜKi"$3U#$zdlA ?LG ҕ֏.ҜE1 Վ0P8 _2cΒ?0$eL~ːR(P5 3`bˮsxOУ[-1 gx d$pM:EW՚E ?KV F.Ub?[;r-š7,nY\|>t31?NƳM)9 T8{@]b9HLP>WU;wQ!'@[/j*pbEXOP/2'b,ƿ1P.v J@!L(BӢT,J'(ZP wR&F őԝxSZ1BE0oC!EDXYPh{g &S,/{l(,@+Ka~.f) \gT,$II ز+y*WP-n 3Gx əaw L-Z*ڇ`4+aN&ꗱ|7\IJ h}K<|[R'b "NĿ*ՈY/_)iCEugjc20-Q:0[)/  o}j_-c}_j"E + ; X 6K- d3YF F;,3Y b"˓AwQ ʣ01_a+Y:NR'&ʿ2grYAjn@;/nK|:!slK4meK  e#ǡUƩv 6jڲa9StqWmF/\/rKrPg^BͪX\d.rރv9 \yUlf궒6"p{xI$Mn#C4˿GI1fc42oV'P1cWQ9ƝT7Nnr~r&|4q2 4"6kRTvD0~LVX^kf2ƅáDpE(nXNQ~Zy 0"t7BkyiT;c][e_UJoLM |Ed02bl\ aYSJ(Ð`XO,"X܉YdF4NƊb}YHK~q-V;XFc2JkƚV2>{[oSyꔯ (/`XT3<>% ,7`M|vm\LϫG3dD4s x N nGbb81FD9F[d444oZ5tP9#G7CǷplUEH~kq~OFÏf1)#\LnSF{a91֘ѺSxQYL!e 1,G\1օxӤtLih/f@C ʐ];;9?bcs :sXK7- EDEhJBR޺*uu;ԁhl|l||Ae.\D#b b̠(Ѻ+o LQLFmRĺ`2W[i|VO_բTe/pm|5H-)LׂΰFs:X@Gt٥s2` T뢙g1l?"^cFGVlGWMƥfz#i!h\/0;LWE!!g+b>'sce6c& =V0.hUHglCZv<e[vU>wuQL}D9|3*v&ULu ϒ0ʙaV@Ez5CŒqB꬞C9 bq9w^3}cj7CXew˳ŹS)ṃP T|RKE)>5XHŃJoiX+L@=(]f$Z"n䆗X_;s'Syt 3hAo*d)jK3lmWv"8Bj'6y iNatkIG0E'@51]STTpKulBƝ,ns+oA 1n365YX<27!cK$rFM1O_<+79&2ӎб4E=,¤[8&[obItӸzM)g1bb67 pC2hL]lYQnc)@fHb LXj}F5D( e"l; ά^&+Y+̭c2>_׳k/~`|[<[a' ٬leqqJ&!0:Xy>2[_,K\a8+NoCܣǝM(@jGnOrɼ(~1zI蕭A!yb`k<b@'3vmև.'k%*ۤ_>*8ZX U'݃6iIWa\+V-)i .[%-zw{x{)wEo{&~XNe3*޼k?ػg7ރڳ0=a +v,#{=nJF Yb*l$cAXO+`RU |(-/Jg?f %e.w  &gm=ҳLhY*JݻzT(ں Ty]׸UPpPؒ'ݠ2sI5aPeZ T~?c$6(tr\ e.AE@VP1+Cnw?T,{b6G?3*Aոfw&ZU@@:PfL*Pdk1LZ.y*UTW P)/5)T=Р ||PطogU~ߎ{v LdBGifWس6Zb*3}~-U.xT{N=;x |s|2ʕP6lx}] RFT2s`36⩨mP9~lU ^P f*T. vF"7-O&W:yR() Vߍ,7 PVN?CiWΉgM0VꮀIʫm{'@ʚPޣT5f̐0=YSSݙ2;ri߳JVk:ea(}0ޖ~/VAYˍm[n7\;p  m.*[Gȁu,n8}u 8cX(`O$p*}>= ^㠺CMalր)#Kiȅ ʛnT8?*nSL0*3a=S-?)Tlpb ,Q/8jЊҸgd&LzWLGlU*n\+4~z?p8T ï L[)R:LW/5LMy׳$Lv]fS66j0)s[P>GC@؀'^`ɖ@UyU釠d^}+{dVBPRqeԍ+j#so~?K &e *o=Kn>A) ?:bb({Ug޲xO(&^t&A}I\ ~Aayq{͆J0xk xh U=gUw^(y!`RԠŻƩKb oD7J G]wSpA0qoiimή)*E/lXau +EXV;Ry0ʴ,%Ԓc0 / Wm|:u^0:pcbއ8qYCa8W<.%{-9cuRW[ePܳY3(pOPIq[^ {mx;aKP_k`}= 1,|*fz<Ցy&z!,?JV^ l9abbJă6k9 QAf y[JoP|xN.10,ܥwa/u{~/` q꽆{~M-/gouLN[ &}0鴎PqózJ$^npm%T->T/)zn?TxQ=/|VO;E/r0%nf0 q.vEn-5 O/ ㄃bfVR˫cSvv>k_TIlPv¤ koG~Q *55CXJFN '5 UM& BgZ: "q5ޫ[.`+քIrzn0i]5ahںVP T}!;Nx( +<#t߰PLOwTg-zJצչ2Po6\t&zh76$Z~k@~cr޽ cnBEOE&_'L7"LkcAi '| ~kWzL JU o`J7j@Y CuݳFYo1ТPm;6WZkGmAU#cCYMΙmPzھSYc In8xL]~|JM05ҵ#AYUyP}(7i4ճ:cwPuç<y]$J>E&CBMwۭT蝧YTLcdTM.\ !&W>ei0y~Jph0CbC\Jg<;Ez`jFä#^`mP{P OaFAE\Ct\@0=/'aSä>m^ UUq P!S6w?"CD00&4Jg23YW2+FV|n3VR⨥߹L "a-$J|̈́B*2WtK*|8/ EJ@a+8/h4ve2!֕ o}1sYa%H `s8< S]x0A XK`_XVbGr,N,X">aE_[1j.b`Eu h)TG dĠ[~F lQ!5^[ѥ 'lJ6WN<v:%(VFrtES?J0Ax6`R6F"Etg);M@j#+"8N[(:I\d}Ae3$7G&1׆,AgW  <+fw,, y ?؆K}>\_ύ\uA%Y, ]gda֑}S%:>6,?Q9xj^^koz&mPԇV= gja[$ajW_}V~(vYՃPl  5oti_j2qVnV/Ss7rw57k o>jK<|jy+b:]./ת^KjD|ty#Z3p/CϪ[fʡcׁoMh]KNߚRJֽU* YkҺ=Vl,O_4 j={B{j}n۾?(]mjfP[s]F2}j+fM;wj:j~ P~/K6@8狢` sA-8ZF)7ښ^ F,>K/_-Z[oUL<29*A[{&._3xq G[!#go) 8Z3{=xr&8t&S|z7F-W´AvmvV8>tLك8 ~H@ Y~GmN+pޕT91`W זm* n{`qmn) |w۸˰U:@>G8`VP lܴ;XK7_|V-MӣCq8/)ڽ|JS:?H l/tE,y6 XeoŢ]>8ZW(o{dh^]nv]se<(JZtmiсq=G_X^H!ZmǍ~ ^E.դ&1yDX7^,ezjry>2o'ϴ@q`=*E& xXl tryMy= m[ ż7e "SV؇5=!#Z[yׯ25._3`EX}Wu-SΖ(meEɄO6Nk6ZI&? b| t>nVkar:櫤_Ȋ#s9ZMKN- gkZjzzhCZW،!=&G>j)6ݕC߼9ZR/7zC{*--ѤL&8ڀfr'ɵm~%AJ#ae~LuQ9# ay0z V[8kTLowf纲Z6jU`X\U1r\}^ჴMpUwӧ}aD}-+!d`2.Q-- XaOuXH +,*tV`-т́UJ+|1[^9.Z >l0hwsaPnگ큼_i,̈́>d\ŧƴ eLj KjI-%ވ67gD4lܔWē*)vm~Q;̎a"EroNs-~S 85q2ݖYS83ˬe4ZfM9YYSe&ͩZȳ],meU<1 XRsSfCλM\z9u"?`N f"<@uDpvsqwE)"q|J2_Rɍcy\: ,˙&Z Y,We >AAU4;M`>n֏ZBԒZRKZSeChSʂbj, Qc _NT& zdgIQ*U}qOELۃn<C 2D↟ 1"ߜ3 ))2-*Uh9*L9>:?fPaţ UVmt2,DJ!Nx5$ߘeX#+YXqb1!Rbfݓg8۰jHct8X$ i}S1d+kHqRTJsӽ=oJ22C!m`X۫hTw\|a}͇G\VZM>t[Ԟ!%?i!*3qɇԅ\!-J\n#G>%d>t>el>别|>|̇qU׳lp6\'ND2Nʦ;RxW®]U# ® î쪉].vA쪏]i]MvKZ`W+j]m=vuĮcWO.ܣa/":|39va^67^l v~i_]k0v Ů5Fa]kvMi5fal욋]k!v-®?k)v-Ǯص`ZZ]9[k;vĮص4صcA:]G8vĮSuby캈]*v]Ǯؕ]wvǮbszw>bgl]䅋+.fg}bzӘlp1b \s~ .&\L6lp1`W쪆]~]lp1bdv.]+0bd nK®6N;9zQWғ =w*UFކކG݆݆F݆`;8GC:8j;3l UxSLIodsmRS1t5(.De2Q`(LX& ,3Q=NʸW2PgI ^,xYe˂/ ^/9SԟC-1{$\vXl6KGQAs* G=7EԮ 1&Vʚ ?̢#q`uX8{)̀L3j:Ry B&*RمVvlDH!3F~7Z*Z/i&K&*b-+I/K#D^Fy(HOqR232?geHWb%RP2܇,\c jz{;#.<@Yax1 0#,(ǘχvVqc M<3L#ivSL@]w?b1pr9HCϊvj2m_Q,MO@y]>sx:!qs%/vÚıwsf;EߣStoL SpdݠZ8@C4y5{г0Ҋу7$k+[r xu̟| rwNJ/\_l&}iٰInzj놮,QoLl~ ~b]հӰ~e@ Ў-{7E˜6L4- ^|''X Gwm3*x w4jXoIb락OΫW{KL&[NaԒZ ,!nI-%<5 Ie?$i3#Wsu\r_܊%wpCrH%w. . ©; F #H`R0)@ F #AQ:xN{GQ4xA j/D`S0)` F0#L`P@xۃGP0B(! F#B`R0B)P F(#J`PNxNGm.Q0(a0 F#F`S0)p F8#N`S0"( F#A`DP0"(6 o`6 opFo hh4Z -@C ih4@Z -HC ihFzwW+@o wl[A4 Z0 -LC Ђih4`Z0 @o wۿBhh!4Z -BC Bih4PZ( -JC =jƴz7Z- FC hha408ALB\7ɫHS#;4qbpq<ĩꢸ8P e؝X(Iq2_sV3y<7 ߖ~`e|CN[r\YI`3,3̋[j.zwqecٶ48*3\sY&zإ%taBU:ܼlǛJ/[zvǎ-q/rv+Un56.\!mPk_¹u?[Q> J};O82G~+7NZ| \sjL2\_._yny"4bmS Obu*PPv=-|D0Fku  v&rH吐!!CB,X b9$ pP tlŻIi>})Go&xu|-xNç KwgW׮β @+"8چt8Psh2x?|@9q%y*e˂/ ^,xYe _:VQdjpCfh X'4`|\84`<Ѐp@耟ap 6m#CĝęēďĉąO­D` 46`stJ9pBM- 2['w@`Wt"ykGdƤQM#r3fl-IjIO?LrnZs.VUC*uV%©יgeyAyOf7LR 04^2 `3nY7.WWs~V4~k vr;j f&'L④șc7:gh}-OsU̹/\&ž(S0_:!9B 6]:<*nہ-,;QQ"| Z b |"~0QVϡ4x3{M/.>z1[gdS>m~|k7A\mFBX돁2UO_R-<@.y߬pH@~wXu0~c+@U7Ҙ_14H\rZ̕/˝=9rHse%gR yDο«=e:~[AH`ޙzEWQOQ/ӳNK"?F} ) K_7K8 Zofz=o=ّev#5ɑeX3 .N-\Fwp2vwZ?7U@Es\">?9ߞ/?aK5׳Oxʩ@b.جRU G(˳f'>Ƨ䚹.y =4˗_;y,@'/A΋f*'-1T~U^~nyՄ8d*W).v|,>/b\!",Q%Uܥ:A0b>ZG2y5>X~N8,^UA{~cxc1I'epȀܨ+KзBR+J>"EZ%2?Y?WϘ#dwq@SKGrHl^Ny6^ wsܱ")FXYX&q)1B)yq6;n|I{}4{ :P&qL\bE5Rx8/ EJ@FSM95cH^#Үrٸ31v–H>o݆*K l/x/X}2bU_(&"P!sOL"dS)4,p[6"eޘ/(lƙruRp{,U+~0!RD\)DJqZ 1\ ͵0F ~_c1+̩4x(.R"P*M08kDd,2w -է_j;@>xl5\$bPlEr݇ m&6U()bzarWu[zc$$XI9z,*q߄H[2نslm'; ߑ2vA2A F$h+=KÚc@3ojhbG!؛B$iY@SF1-"޵@Y3ibٟH]xYEo(ԹѮLF!eIOwc q{N|aS2a#SιVmo** ^Dx"‰  ^B(DbӚM]c3pddP-D~ΤlGs-#qE@13 G]93I$JWY?o{ uYC)͔}9ub7ie GE3]vL&' cв&=.\}׸e2x_/C+h7 1Fp R?& tkl4nhBgjn!}>,F];R=e #'U_~#Va$_! wZ]a>,Ϙ}aGGqL6^"k}tnE;b_1pr9-C_/sLŸZnr .+0mXV(*j/6a =I%iψIul RRvAo< O7_ubj=1ïaN,C'bftBQdCHlR0F>%xc|+%6Y BQuV[f5z1!ܨq/٭pBR {OgMwFqfS&Ac:bRi("ZǠ"+3B]iRq\&1(_r#j@c0tT=Q+ОbPV"ya0Uy df7rɜnNLIFɣc.8/Ă8L.Pm 8<4 fp;65LW$"D@M.cfSETZ-G t+lqmk=GG2J~X;DbݜJ[$ŋSh>:྾~|~; XZsȤ"GV"nьnueEJ&Q 'cԺ&S:gH,R(RĘ\w1ifuс|#2YϟGjc*2WNհ#GW#ے^$?ϘSoc37F:2׾0̵4*s(YD&X6=iS>6T˯1r4/HRܖ!K7'|7p¸` |LƊ9w)"Gnw#(edQ޸B-(<1ˇ@ui{n^"G1059v$ud_ur@l=uH|Xk)] ݝ 4ЦSXG 2́>'6;rB~o@z{HU_=Oħ[2D/KE) FvAG565&>w&G?c8Uy6ܘ@=v >Ia^SƁu)$m4#f?H(wgn`=ݐ$H0Hhn[FBi(lOvP2yHMY&0iIc#3  G3AL#R0/Kθ_f(¦f9]_>/O%yTm&ْ3 l[^AOџhksEee ~9;PI"H rA7K Ȃ n:<ۆ]z5YdUF*DO-d;En!7 ^,rh\On 7[(ȍS6| ot #h>D~Rj% E²x)=7JrI  YF&"Źmg&Z9E1igCu)6yreґ/V'e0{?>bEIS Ї'QIڅ\%:WD1EWcPC-<)R\m:⋚b4Ɖ`WC AGW,`\Iq^#`3R_+MKECJ*]'J"XݦRX _H4 '@W1E'S >9$TAW\8M&C-r UG H -3 (E-qSKٖIgl.6+vMy*%!ŗh!!)B6#uUnWs ۼG#:P4{ NM?YqLPnzZRtˍC )[#4a")i 2Zr"qtf җ30_G)RzĊb!F Ř2"b5H>Rb0F? \ނxB KU 2#r$DZWtc aQ_l*ЫuJTO:?$+Q1Iw۵iߐzRI#L9~$:8K?Pp*HE)|+T% NdQr$ܜg'̴:uN΂1Uy\3i:&#xO#];~7] R(jj zϲ-+ߍG\ϳԗ-!t6 0jE*v!-Pl^HMP Nˁ YYlRtsDK$<\DWon֒DQ~=%p T!\1"[6w=F cDudqS| +:*c 2C ^BfAiF} eq1ܺ  ;F.?ձaJ$UyB~mP'47Be԰=WX䎈($zj&M3E),![ *u04̅! jɑz1-5D+r__mSMnAXsͣ=Q>\. zaqLʨC,jüpr899yoEx .oˣwxU1i:0bgÆ?d,ʞ]ppoX6 Hg{ :nå]% Uf*&Hm.fKyiwC}eiFMSmWlr6+6y*Ȳ6Lkwùj`+Qf2jI-%`w{>ok.*12tˑo{)?=tEnͲNY#>mbyaKU$DYr,>|iG\4UMprMB(|yis!2MN)C"-F% R>K},h}p,C(cB,C(2XP!'OC(RYVŁGgEKXzyҐջ a'S$G jgY,p??\' Yc"PXdWnd gO 3pt˾࣋@֑r?;րVklvډ@' ʠO:wL\U[7ܶ̈k>zD{Nu*xubZ^_K :t"RTrAIZSkLe ;|nu0jE3`؉qKagg8Eî)Yu=]Z>y|cnE`x,?ulk^ϰ}zVkgc|t^O7K`|}Ur7VOsbtzfզ0|~Mo 6{/bp =%>QR[G8&ꯪ%v9hq_P|ՎԫKALgYaar:70B3cFj8|Hۣݣ4sZBcAO& =%|9 KlRTzԪKX3Rq ,LzV%qXX)eޡC&mJ}Kl;pX}uzwܾ3&ϱ0\Xaa;L9اߴ.X:a!^pZLM,b%U^3\Ϩitݛ珚~ۃQyN|+۞{6;5{Gi?kV ?d?()V(k: ,m( ܲaP+*CbC1ŝ#=_Pΰ tVuwvur :Nn-[PvB>܄ˡ܁r%s+W= }lJ^L ~1< |?XjC-zN3/ND"Rq6宓vB1p4 |m6ut@Z?fkm:W~|^pP/ΥR/_ֺF+W+g+0l]1"<0|C0a#2aO0hAۥKb0brqڒcI-鯟Q2(?y}JgYLuM]`'.gY F_$ys* +%~۫u56(&걤7H]e$i# w]p zwٳQ衖-:Y zL}xyHlnghqbQǫVPXRK;Wlx5᧾)ËT 􋌇a `*̃֫C`d|vz,%S}|>ҥ4Hiu" JDZH=XRKk`*NOR"]AU4HuXRKK,)v,=.wE|%2ˑ4##~VϜ >NXwk]{D1ЬCCT%z'B/NYW4벬Kh-<(pht$PǨG?P60tRyHK塈:Ð>[8˄`{mo'^XfYrώ(ZRK/i2GFwy8߈*"[Mw|I/X͚OïOӾBX@m!{~XƀSO%&#q57 ZDJ5zDђZL82BMFGi_"Ui="]HÈt*vDђZȴ\&vG>˟p䎮 TQX@⁖Ԓ;ZvВZ҂q8rGuZRKZR*G/ @KjI BJ% H<ВZ҂Jqi)ģ-?x%fҖx%Җx%Җx%&Җx%&SK<ڒZ".DZpIO꒥alf-KgwuT4qE"K%Wj;Q>N-2):$/6~ZD>T.P0rStxGNWۨf,%YNeX KDRv@@5GBR2qV]P*d+Jux ҇t)fEiyмFȳ}QDeuf:0Ey(nsh^e=%?V UXXʗ+dqbXoL6?(y˜I7 ~4RQJ5zYX RׄIgbCaZyD1*>,aTu7Z6Q[ ި~^>[wHMcnj )-O1”p*D?.AT1M6݂֖be-/ebke e!Z3nRd>VQ˅jY@3 hcxI_> D"Bb.@'7r'|.E[Cu6zfz q2E"V,j #,S#8%jGx< `"oY!Y;קO5(0 h%^Ba8i>ŲKutn}aPԏD66PgLÔ`LK*.V=RJicy 9:tn) ٌ:}Fր|oGII&ŜlIEucheFEth FNhB Ծ1HL8mBM+C @f֔pm20rD0*9&Fr,줢TӞOl "ב]LNeMC3g vՂ?ơy(=R#G/[_W U+yb '[<p],KITrVh-FI‹c3[ӭbi,Mlyl)JmD# y !MX%Lcڛu ȆLN( d酐h+IGd4R~npB [+UA_"4D}_18;*U"9=ѣv dnb(U]C8T : ĉ[$c@NF6dĴS2&f-3̑c ;+:TF7؅KABIBR ֘=S@Rd|\> d_! LoYZW+-(iM0V-.<^&#z=5g -&<5s9dj‹79j Ghvl@b65[tt ^i&OB\.- T|8\")տu4Հ,5 & C gY,?CPkFY.D  Rrbc *i&Pm2%nb_1+t,?˟^nI-iANpKjI rׄ[RKZӟ&ܒZ҂5Ԓ䴀 О8L!ׇ9Izl|]7",qoC}w~Xwy!z`Q1 3kG^Anܔyaн 7KAA'Հ%&o<2V-xݒ6×WÅmMkC ɩggUu*pkCrϬn0NfUzlJ\H<̄D[pqZm[*[ vTw Yw!%fqo%5C;(T|yd]yэR]i{ࡓ=op?8=co~C*烳?^o9j*d562QH(ʼnb*fj1yd Sbd/IJ^V/gym.H/H7ߎ^GWJb(IN*l!^^v߀:-MXsU9i:%5ڎ|A2-Cޕ8`C҃C{ '3v ߉J}z+4rA_K{Gf;Ng>GGBO)e!r#δOmZpw+{t- d%S3_;h271j5^ݶK vDp3v$6ׂ.O ߾SsxG#cA4 <,:iFt|ymºj#:7;؊y'_cN[y7Teb5Q|!M3]^ 8ŭ.?4Ys^F_ռ҆ ,y>8eZ .ls@+fef 8 ؆MK1(-"c8zJŬΧQV>8Z,pd} nH"8^1Ӂ&&OJ$Lqpշ䉻W˞TH xux75` ab?:4xqrbc3g_q x68!Nxjң#ލOU2 x׾6ov}o˵`򏽟;Uhpeoר"PgsM[+bhް"XјOwN>Vl JUz3mXE3`Q1O*c/u{lkq//F*ne;ol7y} V gd%WO{{3<4r4[ xǖIவ0I8${i -F75ze{MϤL s5kh7pI풮;GӀ;B2Zv- @Mnj6vVG1 Z6ѩ:að{?t6aknq/&3xP xPNyWxP7xP xP xPxMnoyWi8\R+{h8 aco?p,`T!6g] N5j8qskp<ݩJ5*Ļ-8%׽/`߲՝nBv|-ߞ쐞j;;!O >m5X"J V,;v"6IMj. k-ִi gf1Ķ;#i։z.)t+W9[e?M+.u:zRkgg>$h6ޘ3T#:qrӫښY;G~Vfh:[zGu6ִ?mﵝFW/3ㆦ?'m¯w7@G]vD,~iKMu3ʽԪkZ[Xb\=CXFu txxA?>ŹNvևwmkC-L8J]=_mś.кD;O /^$@+WEgpCV4tWqO$oDK]4,t35hC4tƽ[m:\;m?nQs7-[8`Ȏ裸QQ1F M J/R"P*9Fc739,&HwZ!"~ERB,H$ ,, Dqx"M 3pb1,wv0:aPS4CYj0͍C[\Tvx6¡L  c ?YX1"P y(O7mQxW~3:L '֪26CjQ^j]\$<NL 9sjd׼kL)+,ZF^ 9cz8m]CݼF߲ߖ?rZmw_Oh{Ezڝog$,k^j쪍Rxzj<)qT=:Ys7oE XBQPێ|| Q`n|y Du3OMJٱDp}. z7 2zqN8"xamŸӻ.."ȁIoz]VP>:itx p/|F3#_ ?QLs8{U-_;MV獗ҡ\8zmg =Vo9 8uiiqpPm^j`pɵi'  Ϗ-\i+zƃ[N }NQ*VKs,?/5mZ\o"Yt_|Xtin'3FЦ%4S/yfl3Tg/]*rF0!e uEZOj:CzE+i{n-Fʥ[ݚ>坕j? A`#ؾ?'|٬e`kg} ^5snM}j;ğ:% 8<0M^K~]xxxʎ6KQK}7X[eJ@RqCaw&+Ý{6،(0"ty.`/M?M|X4~7b4S'#3۴gT,_eG7MҋmjTe, ~࿟ЀFMV:+77LK'ȉ.opq葵.\X/L(׳9eߪ6r@;c1iR@f1Ohu+C3BǾ2Ѫ-X:0kR`ߕVY(B #ibG}*W6lh.<\XI<)8f-LC:7 XANݫ}9:i-+M592Oq].62s?Iy s?Mۄ BhG(xyAVv?j!jvR5l]UaqCKkKw/`95  ?8t5POGC)=~ON.}چ{ aTn:`bEw#֭',ԣLQf$W= v]l)|jkWd;|_I2RO[lUWnוּ[ҽCJV^y|msR+}llWk.Z"5@ޠ%;Զ3ݺ婫Os'sU[ &0g)bFw{YSjȆm(|z^1ѰMm~E97^ t_}tÃS/N6^v$x2!zNZDPs>QVGg jO_~jL3_sqXJj]%UrѺ(Vmk5 TqOo(=+rlSímȁvx⛧?Uؽ8ЃSɔ ࠛ!l lGhtvay ҫib@/<ETST M,RX]K7}SN&X2-YqmA)䵨UZ-jxOfk8۴MjTD9PM(U/;ߎhXR4JӺ{xډŔ~-z%lGM9EmW!X'W[8 | os|'tzyTFԇ.eV>(q/tm{64Dq t.;1,t]AZѻMꏰf;Q%-Z:,)Z4xX.orw|zu뎠)G:BK^Z?ܥ^l ?8idxۓƃG|v4xwGׂG6F_x4řU돃>< ͋/ބN0 S ׊ >5蒲Z0:G폻y._Z3j%eJ/1t-WKoFު4 \ޫfq SAk[Y X8蛘nceU{eo;.WϯLs?8ppc=XGrS 5wՀs9W]x \j鳼ڗzg{7L_=;k]Kqv5.il0Hӕ8Y` mҫ7#Uӳ*{/R^ WO5C`V}M`T/[ ^8ar ZWr`ŕ= ֎; l~5S|l#xnp^OH|̌*-y K_eK_2oFnދkj5OmB z5J203$ L:=}RUnQ Cw'AAe#  ~ٲz4Kй[`gψ`pV:X/ j] i;qt vX=eWZ`X]4<[F|h0)fgz0> Xn֚|1 ]{R@z={Xhb>>h1a|lpt5wAφYq>Vb g-XS; xl͘> 3:̯%JD9x٤זuM~u0`;a]~O(x^KOQٷ6}=8}f4lfŧgqїYH%^3[IO/pO-\:摱`ohV֫\J?IPk&[GQ-h?UY> (s9n;vnح^ dgǯ7>O y*HpgYK;q_XYns*pi ,%,͗X,lk~> "V2u[ u[wExG{[7u[ u[ u[ u[z1 x+Q_bظO;~{ܣщm2GkO% >ө^@yAj4OVx_<եެ~[YazA(nĥEs[xwStnPx 8sVgg q1O~;fuSK=+K٣0uS 49Xfە1oρښ&~~(GVl l{ yXabbn4k;htJ=Ypè7>4>"%4>2_kf\s2i1]Jk{&:bAB@@T@zQdADlKHBbk"vT`NQĮV@Ŋ"bG*! ('3ٽݝݙ-NYg_*lיQK,Gv_;fw$4-wG ׬1~.gy#>\Gu"iѽuȱ3(tuFȋsohޔ8eИ9"qG?#oZ$~ 2_HK_=/=H1=qE"*o;Z^"HgLFCPD,-T=?nm\$z>voi9z8/jQmyPl$>g<ވb뻠 lFc1[m;LG!;Lǖ/oc6űX?l6I{O5`m5(U1c[;f}Ilm.F6 U,26^ٛ;XE_̖TUɋIkg]:o[꣯v] d)VG9YI[A,S-8Z}{wt}y W ,| q*K#J*YJRj7e X>z`Ӯ?9sA|%qމ U'05`7`WAзtʵ^#Qt )v~hyfT^3lnvʷh*g80gP),^K!FJ7Ty{y n|}B)ҏ늾,_6U]LcuE蛒z7[ǟЏRY٨za+񋀔rQ ȳ;,T+ g?ٷ s懔^jJ#fh,:wY5tJ(tC(mRטQBѤ}6F8N,zP:ezRUD:Ȏ4exmPF:(n +"[ 3{H>ʈAR=Qz$~pxhv&?StFþ)@ˆB "i0{2q6:dķ7ïrW+Doʪg'&MQ5/L5{&Z⊶$o1LmTFm?gA;KןʍgyrOZ9i+ҽC]OXVivZky,~p99uN!e5EnLqy{.i%Oq~@?yEͅ6t^JBu+IWezq(!cX /ӹ?vV>C_a(@3 GrQ6:/OrJD5Zg6]J &tvY[*3 ٷxFdBCgL]'hM91ae7 Dǖ1V$'.i+3n6Y*嬸u6#r*Id\rv nW[h+yix 9ED t#QFDԻyq:>膇¦m эᚃl.E7mxnXi[-ޛ\|wy zo1n{/ ωѷޠhe'#3eQ,.Cl 8]eWm4@PLq蝉9zףϵ;N;$w]пjơw\$лZ>,VDZ2w|O6v)r꒣WD>G*F(ukQ=Jˆ<7+e:9w8CDH3e+Oy2?ex-pX;1ݑ!XQׇՌ5+0#eۮ٠OU:ANj(ziWϢWwS$бs zq^.*}0x׳4O|E^s=*\f^:*=\svYTMjyS{Hqg#py‘?O8 G<7|̑?91G<ȟ#scy̖?u>J'zqULzѼ͞Yiǧcd'϶C+i DOEŢg6NycٻQᨤ Rͨ|=3jW4% U@EvT›n3EEq秸gHYo#(uGЛHf)޶UX5⦖P*$G8^NBJdIK?7-b*-@gb?`;i=۫ꘂޘly L;0VMd3a/]_*}v%U7l7d=._׊nY9 Wz%XMV\2e)F[w UۃrOoS=}4zMXwZp*8*S㝦2ʩ3-(NG9!UF(nw> ztKGZѩ) r+ln^B}tݬ^]!,BwS?;Jkf N|z *cPI+FOL|SDVbIQۖ[f[VkzizD 'zaPexnM0znΘiӾE٪cogrm|S݃JRWJ mBM"#9# 8# 91Gqg^qc)ȟB)ȟȟ|kh`aEˤuع : et荔ItٶOs ;ak]tn]uJPC۫Sޠ̡f<92Uxq}pEVݑjBύ=-hY:is<>3]JS+/:YQڽ: 9X e-Ky zڷ zjBf.fkYI^ύǻ#XԞ~=^5=2[u/Eܲ-TdN#k%FqZ,Wcmy@8}~|rM2^%oW/oUrdz?6OTR<ƒz{?|R\mn $%!B?v;tMQ=[Ra>o> PU9þæO:l)1W&AoU2)qFewÄn$P#ץqt4-5 Pl7Ȕm:]mw8,hG2+q<V}=cjZf2w*Ѣ+F^X V3ŖhAjů [CqsMjRrO377;ШL5Ȥ%W@Z}ӈ))mgľ}xUݝZtSKSY:?gC%'@FCgA$y6@֨tB? V+0DGQM} 1& UX\t-a/C+Sl5>ϑDUv:ƣOF߇-[~>,Xh#VXI޵U/VLU ֝d+X3mge,1u>:0iiOXjn-1g[9e%+ߚR3P)N gLz&^5tkRuY(lZk`XcmufwrRCyL7Wϵv>F[/>j,ڴ|ܶ=Ϣ _V8uY. {_ݩ}l96H;50ڴdج'sY S8)$Shd֢cЅ_Y̥(AkQqPUh p#{^'uՠC_mTNd%RV>֮![Y3~~ػ3Toqhs{ - w2 К 7>LDIID;FIE{Y)\rfz!eT|iE]oӺ/ds c Ni։+xM/b],$lz nnZ qh啫.1_Ċ~X]\ 2\ ]JX+ӵ-nm > teo2jMJ1gV UܫUkW 3ˏD*"!vBUˆm0DX%. EX%J,=:J;axgo=axxaX\yǖJLV k#z+V[oX% ]fV$*7ݢ*1*qi\xa d:a`6;֮2JJX%U]#n'X%(5V 6Pcˤ*QڟJ6SU‘JX%FEX%T#wVwe[ĴUA:a؜6J?5MX%vnӊJ wJd͜MX%JO&3,V?-"{IX%\EX%X7DD3DU"€4*q(FJ Ľa'U$[DX%zuJL캕FX%^4JlfJX%>EV ]luB0aV q(>1V BsOGpO!Grc)Θ7,ȟSȑ?S?ϑ?l#*"Ǽ"-NFtGuCTMQ}&<=GgUPψ9,u{}v0=߯@:XbBO*ط1U$06WP+DTyz<[I?#ߠ7[V~ⵔroⱬ(j/am2Z J H _ZɚyYUl Ʊ6l;ޗO5ғ}(*NJoIZ;^j+kdzCxL{~6kVwAnZ] ;̺uur͚rǔ' - ".[O)` ikMѿTwoR|XZ?]w\9:{nkRЫ7:`Cx㉻2;ݫ"Rx/=V)Wnoo Ti |'V1ݵkbۮD%>|ܞ'VX%Z.{bU,V[XϬU!<:ܴ֓|J+4K(YRK2*w ?V#ATO:N 3>&zXT! L{kJ\_Fg_ba`}ΊCr`#u@ˆi7 $ 4\.%Gw8^ m&I}.Qs7q$CjcbhnXkzg#O^E9B;E:ݛutaI7 6FWLj͖@n YwMu3^;&ug,^&+YO 4s3ͳ oX#+簨׮WxoxzެI>TX˳F,tigW\v'XNݺԛU&NaO6˂Yv{"O>%ғbY\tJ=I`Iwп|}3s?\]$AɊCR%gdi %)\$iBOu)/Y}e(i8\ e HZ!i4߉&M|'Z; N4ѻwGmԨ@| -qT'X׀׀׀fkFEldi;,aI0GqNbh ȖiS:l-F~^~'?82g 7+tY}7~ߎjCI3ƃ.`cu`}[Q<:^ XgܴV`~'VN VqnKzJZy1`xzxHQjьeo*O9Ii[n_:ԧ2vxw4/^mJm폅1}|z.X2" ?^\j4O㧾6hW6j`!f$h_ClS{VxN`{䕥gO팽ѣ#taW8grY%_j?>"h(ȧqY`9jenD>(5nprQ;' ^K!FkQs@g>ɾWf rr'-QC7d3*ҢunMF^ N9#zؤoػ(˪>+3% ;Z+UNz rvy#{8J\>,6o$G1wzM`?k~!î~] `r-ks>GN˱Р|iKşm~5<ֱDzoub}x27$~Bn;/v3){^ [~UEa~T1Gi+?Wr;]W ?nX_f,ݑ#+ȶFpϰ:j%k#}9P}sY9uheN}f|92VVDž/YW T*dݺ?mݭ5֝FZ8Nu$T| ҍ`7uнQNB։aWQ17yb:P힮YhwluQ'kDw9+}lVwC_%jNc4mb֥K2ޣȱZ4ƺsǡ![,WjvЈlK։ J/R4ʟ`l1M˙b-J xm JpIUY:LL= Juדw|*ZfG?ӚJy[-{} k}[:3g|z3 j ڟ "Au-;<;P*aA%pAh9>Tb5z*lYay9JS@卿B #jMҴŷAU]jwPux沸RT}K'~!ݝ? W i[jIڔ J3vdYʹеpOi c{QS'hK:%Ck;xꚗ Au}mj>}&-hh|~iQ/tBw)P+> 8*f˫@V@U@jgCLΤព$P)VrWr ^Ϥ_]w:%/oX<# fOAw|Ǘǯ:l'ޑ0ynS=,lS>o*[WR9{*.`,lt%N9`;5`3 Nf耇-;93a`;{Vx:K.LˆK%/,d&Np2vFev)? g8ɧsC}v㮘.e`w3{駯[Co7VYq]rH9c>?c稙Q@`gBZA>Ӕ*Nzz]69 w\ ?E }duYOA l~3v.};[|ΗccŸTr(yxK~[ba#${:/~8]xOjӝaD[m T_{$./9x>L 1 wF+<3D=Ys3竛%>W&M)Uqwbë6Ox:q7@Ŷ;6 7~Ӻl"k‰璁K߭yw> tom"A+aDz%}mHDevaNLzŠggHʶIp\35總qPovgያSV>]H[Ȇ߮_ks'kd3kj>}]0ž,Nzw²%~+ۘq9\:q '3J5:ǽqs\w=qr{qrMqwsB.aBxF 禿s\[q}9Lq=8;M{=8pj9lyqs޻p\9| &rB 8}-S9.:pmB)WvY /;M 4v(kJT$€1B@oMwϾAo+}K4~S2K̘7&gj ̃w&F+ kfCn_AcUe٠)rnk$f$a R 2Œ'!l1d6ݠ(L* .VX)To7yy8zI={Ȥ4:$2{7d[[[[[Z֊ ...................{9h/o}ƌ85f-Pn[RayB(-~okhaCSߊ7ӢvUyAǸO@eD/ 5@%@mܑЉs6Nzƨà}6[Ak&O=e<^bT7YM|rk HY^׆d*7ug늕^܄u棬s%\ESgP~ }XoWΗLT#}y [fVt*fjJT;|/T0W{r97$fOYҚ“K} ӉI'%F[ģ:/AwZ8.7t3ѱo|TCGC~ɣc)s|QEVhN ZzeLQQ<'t1'&]Ste[[w6b:`+ .{M*,Jqj ט!1KHlsW pG--ղNTc20\ނTt{Ȕʹ]kYPjC+{pˇ}OPG% 9d c{"ώQ]s.XB[0rZ0N衜d4Ltk#vl`{mH3o 9(q.LqbajcZwhu KEzGcZ至ɭ,{QS{]' -:yDn5H^7{/HMtxֿYD4.W.K+g? G1bdUtYw>9Ha1+NNgMjе{ÚKb,:yv+~N{t\ލ_fm:35}nXt A[G١{_j7j뛻wlSJg(-C/f^0zzaŸ }mFcNJ)mP+@?{mn>XʬX}Ϧހ;yD'{oL}ںd;۵Va}.CDfvm~.J!iߐLO6'?K67PfC(a.*ŊйSeV,y+.[0xV*;Оnnc 8UBwvnp?ɹ뒾|B%s<3 L߽sudӮoIm@ n钪ђ:u.E[3Zf4?-1ZچEBk [NGm6]>V~sFh}^Ur\zk@=txy3tX$MC! ]3!Y-fʷh*g80gP),^K!FJ7Ty{y n|}B)ҏ늾,_6U]LcuE蛒z7[ǟЏRY٨za+񋀔rQ ȳ;,T+ g?ٷN:r!h(9|($h"::3 ]ey>u2 C3J5fԾt4`E/t͆Q?Υ=TNlQNg5#@^,$Q"Ec=ʰ[ÊȖǝCQFg "W#{C794LYF2PIԇ(Ki!#A4~Z!zWV=;?6hjyaQ3W'~==t:j0#t;fmY-9ع=zx}{+xmf5ׯkT'LBSs1ݝeUy+yLއ3YOKWb۶xorVN•^d ywee,LwwmC&3A/AO'z_>^S"*- xmFrȞ+N;_2KotT.?R5av㊹ `?Jx k:)6;f`e,t*Xh J7‚*t1ECfoGXhUoAŃg,Wߥ6/ŗsk'K:03I_fDX5Mp\]osscNM%K;*gwpz GA)ĮbW(>8"q8ngK:'Nyӫ3);Jɟ\%b7(̝ 2w@z,+ǚzl9 Sϔ3y> ϒy>ÌÌÌÌÌÌÌÌÌÌÜÜÜÜÜÜÜÜÜÜÂÂÂÂÂÂÂÂÂÂÒÒÒÒÒÒÒÒÒÒÊÊÊÊÊÊÊÊÊÊÚÚÚÚÚÚÚÚÚÚÆÆÆÆÆÆÆÆÆÆÖÖÖÖÖÖÖÖÖÖCĄ5{^sׂ{^k׆c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3cccccccccccccccccccccccccccccccccccccccccGmec 3N즉 (ҺTȒl3ND۬ juVVvTڛ2a^GJuU|~^!~aaΑa>0vu 2}M.Do$ޝ9#{ɘwxp8_?i,7 rF~EO҂qZզvkp$"9ߜ%#LdEePHpPdB\&Ld2aF/\F"ɏB!2L(Pa dzN0@auJ.IK.t;M;mM )0'_JN) FS0@Pc"+B $z C O ҽxuQ¨>TË+BO(*P,?7]T)±RVCMIʗ K٘dfGSD@&'vd7X:\X:thRDiRHՔ1XFJp@\3%) mfp[sM3m9Ю\EofpU8 ԛ@fp;sK3jfpu8Z T?BFI,smܺ)G 49t⠏C7@dC/󽉓,qbm/q=>*%90bP08k]q808x@|qGp v3>*&qnq48r*q,08,a1KqXJV8la8laq؉nܞ␊,q8!8p8C&qep8!^8ǁ3C!E8g8<%q Á8a98ھTGtx}!gx@:ddnqyCod]DdnA8`I兰žBXPH>8#x u 2^7x Q8aqUnK+5⽠G;a2ktkymEyz^AhHHHHH(/_)k=kyMEzDyjFA/_Xk*k&΀׉r"ùj9儞; = =wz=4L.1]bt%KL_tǯ7 R=cy_a:cWAuMƊWmJ/J[ )ez2]"Sq/oldeIݏkì{v]Ū{^Ū{^Ū{^L.1]bt%KL_C?'u}~s{GM ΁_Fo w'<]E}LOoz})PaòiK~W$CKR(\)JD$Hz_?[Pxuη{<"ϭH ~;Gj@_X?EH1V.?JH IiaFRi;62풺G>Aߙ^zdA60"^Oܶi#(+ Kn&f_ԕfPWׄ{-6x!Zkx:KGT{ZPMlH8^Mll&6W|ob㮫5uCuvIy.dF7 Q>L'Rp:(~^>L܏;$ ΍B/5^3ͦDHLBU,HxEWҹRzA2YR;~%o[oS`=.ߗBn6{9M^3l㚖>}WpQS4 ]Hz"<|R1բÁc}O[ R;^WvuRfW'Bj2`ŖOC$?,-86y@m8#1$ys}K8uo a$8"sgj/5b[rSR[fG.˴]:b>K R :FHͩX|ܷRK|T O\=W/zq݊|->N|8;qv#;Kg׍8;8[4U*fKsO+T%T}~h<`z3身Þ{CJ=>λDZ>>2~ӌ܈@Hے>}bHp<6o m=BL.1]bt%KL.4z\-(ܟzMP=&TO CEhzDP!T/u鱞@y懛.\trĥW2S#>5MɄğ:[y/rz۸ ɪ>}|bRԐȿw+kldfGS6YK DiLP|aQBB"q1p .Axȧ(U}>kRIߚ{G[75}>I Y)A^8ij?3G4$ƔV)`=dkPPo_/f=9ksV'n 'ujpWE9x18kr4YHAa0fG-V'C}8!qI_~07hR)\*p#ASKrG:RVD 2RbFG4eIlywy&?nEvwbbAqSYzSR]7OL& +Iى]S|qQhBqSZ`QMԂgsw^:6Mcb}de…X q]]DE%+:C(\Ӫ[hix7,q#Gol{ߕ6-m)M^ܛ4l/7r7rh4" )Pmņ$g#oDL'|4zvŒhYW:*!\_I:C]C ?4:sū):@D]\P3`#X3}fO200&a#^3h^tBer6xx c! 4d.3b&%Rwqzt+sS8Wr^Ž{8nkWsq]^ƽ{աȫʸ1 k'.pdp58Kq ethxzЉ0a'n]+vŮ?B܆y([SH{4yGWްyW˕.צo,]2N-\n6gK@&UcP/պS@-Y>5n{K$?o,N:t%6O,KU=9X49}7Z;1DeKntD7K~dƪk3wtΎ ϕɍy/*/p3042ľQ/YvH=yO@ЉYzpdx<~2d.] WYux&ŠRDf̒U0%40_d A$W"b O%1%r7~B!Ri0\9NA@ pk6 넑iy]3߆"H'~H%EHy+xt$Ek j"_KDa vEt5@f-My7 e7l4 [5OC ׸M1UZ bi\="&/^762΄7Nu>qE _2X>KJwzd0Y^BtDU29­jL7|I#\zDʚhAU*> Aۆt`AEg`HOj5q޺-Ͱ%O@H˫;, |o{eK} A l@%_A{9汻حJ]r<Ќa6%tޤZAW{e@{a6K~+D\F@Wo1}-[=ϫc@%в,F u O2:Lvd]4 oIL"0d`,`F#bl-g`}0yDvٴ2/8e oTBD-r?`?\lH`LL o"KR|BȪ~%oNDC?aώ@3u:\NNڧgCGseٻ疜lߕ6$DEurmaf );NC˸IxJеz&9/d=i]MO`Izz D4 ^Hge,vR!|c]),gt&=wn>wgU&{p|[r=K(AغأGG@DU).}1`_ 4H33^ATƃ1SKr!nY?>*:;zi0-mt|?8;QY~@:p^оLܛ"7x3q9'ѿJ+|$0ϚB1sƕ%@+Pd~՞@tIo]3rB:#F|oZ#5 p߬pR@>N{뷝> ^ ^< ~^R}2<ۼ!QCФ6eKC ]̦#tp_{ T㭏byf!|o͹m4($ŜAXtJ-`$<ߦtDduWʅ%.cw@4M{ sn:T{5aو} r)v1|~㸴[q@/66] L}[Jq!;Xjy>ħ[._Qt[v9Eng7щ3vWu>) r8YZ>9EδD<|;콺wKrQ@eAO cOF,±jG_! o=:ZE-jJUyӓ,!;Vů;3~ dD^ejx[GOA.wQth?4œ7 ƒ-θ.zAz4r{=qB@ ݰN3~@;Rl|1"V+=G|vdZ!έ(OU>xp1Cŧ[Aǹ)b˘<|* ',p~,;oV0Dhwh B|)#BrVb}t07$*0h 1X~N`ϗS:DI9?u⟴T::G£vT7a@i܉DH05ʌ1jP‰&tC O ҽLG P /z,I\-4Q l/vCZS ivZvBsNa."/  %Yҥ΅A6KM߬i4x֊/ u u%9µ7#YsLApk_/3O^t&PTQF2o;O_ շnErn,zEZG‹;,o롧uͥ# X :=I;1Olܙ[WdTwWw6Aȴ>S)]w"KjΕI=BtbK0[vaXI5(Xnj lIf@ab 朜nYL>0pE\1ߓUqtXp붃{X SwyMm;3"LzW14p*Y$r|N S9b75wk)XFnS0w~l>a%(p82rAVH瓕L)B'@/G;ޞ`~tJ.,$39"'ݷL@w_Iak;. P/kVt잱x"aQ-+1Ecs#*Շ`L~|鯯t3 az4z8z(fo踬Չzlʛf) y80s.!?H9ELvXy KY)=1,7|{!f-7q\]﮼L 'i{@MY@`}v~v;Q"㫼LۼFu_s㾗CvGJѱa#aq{"z>4Xky+谈FVIlxxp `c'KnkΪ,Z Ȏ\>5/6,z3|h@/">tǑה4,rlpQ 𽚳E<4֎ՠfqX?&vŮ-%VV΅mߜѱєnUZ0NW[EtmMTDۉ/WoWJ\ΈP`%u2]5dTcU<QǭkQfYЂ;j$sff AI#;:Yj^'ǟ..JH6Q|]T}sx-$Жql&Af-Fa_%, -.1Dd_?!]ZQDAj$li_"uQ_%.&E&I$ ESԉGG(_Qm(߉o~{_ E]Rܥ!ODKLƲ%~fV¢!am|h]GtQ}pbKNG`ʓ#Ż#^CPpM!h9 H]tQ'֠ݮ"CD$^A RN1v&"yU" vu*ڦa1ۨ&nuv&AȔaA!i>K`MN6e]i/|b]Yqƭ'BDAyw|a =zi>+*Ƞ$qx5`* ms h7PZXC9Ik_Nz;Qr^Aj``j$z%r\vu rW7qǵL=_⻽"ԶtR߫=4|`DvW͘yہ1m^eK(>ؖei_,c>]6$[;?L8o.!~Ƨ363rWqB3yO Kޜ1}tnw~R_ [$Qil Ef~ѠOs"?C̢X@yv?@ .Ͼ r bJU:Z{?Xv|w7JxnZv|ပwl0-wawtbgxc:0:cnӘ* "#6Ay}Y.Gomu@}jb7\]wZ:M*L6cA2^뫫!ZoCx_m6@ہ1j^k#^l'G=nCUv/0| ̤.VFChRjkD 11c7*5gyh}xN=>Ox}YGDv5IϭbpHZ~ L\ &C>"JGi@7==[Cy՛YQ63CtC;2bk  1Ol ސyvK-1r=H~@oUH t'Q`D =ӻfѺ[|?3uQ'?B^/^%R!(îE*$X` ܤ Axq-l"O^^#<.B=ɀ~,wDXH'.@~ZK(KbI/#bA뷭. :+x6-B$bOL{(*TOWt{v$4D!yUL0 U,'~&BG9g(=s!ܤ԰.>Xh)Hr4LW9U4WqNHݮH.gU>nDM44Ϩú<¿SRCfeI98O􊱧@w~P``4EA%)0F;pfm\G$'f mjaT@vzb?~ZKC~`z7KeX[4t댁Î;y$SXtNE#>\vJ]s2er zظ<[_5|##n vݍE`.kYTخ]jF+\1VothDjvZzf8ژ~$Sa~qJL{M|>k _pbj"X;UݰiB]u1Q${g<]XhD=dOՏvJjEL:r9 Zߞ tŻ֧ar[3Fǁς{!_[C̱>fQibm<8MUw fzpmW9(Q'N뚗x'%'XDNE"0}Fֽsc0!ׯv UƬTs\S@Ig,6P@Y}-xC'dXb$[/8ϕ {NVr%mޒ@⧁]8絕G''U$D̊S^{@}+x;}Bm 60WX`1\ նW_V>7=Erwz6SȖ_IX׍~R0m;V> ۪k-_n2)Qqoo=l"0S'SlVTvqHwCC7yb? ucęqOO'oDºFx 0փю`h^s*fu8pzXn~1Ɗ=2NwJl %rz;^@Χ>GT8okW|b8ش|p> zax{{V'l;;P]Z9nT`@@OnӡTMǞ":*a8trΧơecItqyRWqrʻI\݂j(+vŮ۲j~.*)*)pZo]kmf3j!&(R}($q:U [=4G9f?G(:L ݃idg*Q$xGdgW5-?ifG#Ӭ /`VE7WzA }`kYlQ-{'A[)ajN 5'q-ou;;ȃx[ޚcu#nyk&vŮbqI[st[[~ 7@||{|A&q~܁%ppOڅWvC'NO8=qz$1 !4 Hl$H5 2F\#AЪHhHhHhHhHPl$o$thH W'bnb&<ה5{^ גy-(,ZӵkkkkmVϼ_ˇI3:}JwY{y7Je Q^@/ p,q@DA(Oڰ^@"[ͩ\"OCPsWAԴDh8Aȿq75Ѩjs/[)9ʇJcjkS0n^E]f ijMS}l|I ,I$*`"yjjjrsbSpTkkLky8]p[<4(DhBxfwϋ{_kO]WN|NJT{T zA>{- +lܔsh W]N=E^8TnFHzGf:6sO7熓O QƠ4*S jK~[='7[M/ݵyHFaoPK0/`>[sfu.2̪4m`m]{NiS5>-֏A;gj΅bd yS30MM CAY"YG= ^CA/VX׿^Xq\cӱKFmο ?NU:7XzwSlOB6L]mo^a7]yw-VGtE/^E폵O?\0pPFoPTnq/5'<ƩD" Fޚo/(+/·o҇,W=[Β_ϕɍ=ne0mئ[V߶@٤|r[t(w۶G2@4ҾtFd(9F #?ԋ(_ 3!$8vM66\p; 2ܬI9 Y$:7ԡSdR 3UDF 6Nn$R{'&/ĠƨOf5h2L?7ꓱ6s$`FمsEqɜoΒ!F6X$xX& ;ýB bcZp\h2!aF/\F"ɏФ%$g >tWf1ȱOᏎ)ݔ+K {ܥlL^i6;"4=K'q7G\naI# Wxo8SC#7+Ak+ SWPO]A Пڟ?uI|ϟ8 nG(7fp8 :5ۙ]V3h7Ár֑#gIH!# F$BԨ8aBqnTᔣo:uqǡq艃p0Kqš7v8ؓf~8R3q!#ph\q808x@c >B%XL1tf0 98a> qXR8a=q؄C<[q؆vv@L8$㐂ARIl9IN㐎YX8!8\2WqMn㐃C.wqCq(ġb 85e8=pg}Wj蚮/d" ȸ\'uLx u 2.oȸ 훌K2ޞx u 2^7x Cq0dnA>8#x u 2^7CkT\$ p;㊫:.l^+R;/RQ/Zg_^&_R_~___@-h HchA=&քZA׼^ϡ-Q$g9gEBjBϝ)B: #KL.1]bt%]$Кy0SZ &wZcE6%l2CBd)ݜ{yc#{.K~`G]fhV߳bXu/V݋UbսXu/V݋UbսXu/V݋Ubt%KL.1]b!= b{?uQG-NQ\"Ͼ݃o wxpsnh`y,VI PJ"RR-=|=H,w+w(~;{y(:<[u E[7<"w @Gw@a'wz'S \[H8B*'+\ [_oTmBn]d7x5n+Z' -ƭxYo<'s7q%{DQK_I\V7uδP5'#iĿriSMm$EoIp7I\6 eʽ%VʮVggCۛJ{[k?$)Ղ4p~3J/S9eq~u5t~`8Fr\ x*xsjє‘h1F9, KŢ=iwNNK,NY4."67K!5_Bw c:'eqvAW՗Rst'륰(^DК}~~T&B" { \" B}{7:C'<+2H]+vŮo\ s8=qzM(IYB<bWrg<>G8=qzWߘ[JG "wݻdne2w2'lp#۫=]<gY|<g|<f<f<f<f<f<f<f<f<f<f<}=}<<<<<<<<<<<<=}<<<<<<<V<V<V<V<V<V<V<V<V<=-<<<<<<<6<6<6<6<6<6<6<6<6<6<<<<<<<<<<}&&|)k|%kZ6|/SS>6S>6S>6S>6S>6S>6S>6S>6S>63>63>63>63>63>63>63>63>63>63>63L=Ow0`?Ԝ99SQ!LBZYYYYYYYYYYYYYYYO0Wa?”F5555555.8rMe`7Mj$Z|ݓ1s_с>Ԛ!_buDh`W7<:׋I?1ǀ*#8»Th%N+)KmTjK%UEw_NVNvHɏ`{ϊe'`V~S߾ 66nzitK筧_mk21<Vʲzz΃ݎIHG[hwg=ߟ<{;c{=$Ծ)S]„})=i{AB )3^A:ca_@rI5mWP|4h@рG%ƿr4 L'xwXvlr,fV]EwS-{=>i\*MwpU-yi|RݗUGnJ Xau['^Hם35rt%KL.1]bt"c羊P( c-AzIP=$Q$VG Az@pzO!^ך 䑛7n~ΥK'>.M\Zxu9x)3>5"S#޴LH"7ސ߷I-K {lMѲFlv4eú@&&P# Jxعϕ:2aTH(B$2\O %^8e @2Հ]Ja7|w׻5|@HֿAbDE\_I FfDDzQBaiBIX})=(o%e=r;_wrCɽ{&>Lp; Urɽ#ViWµ ]O8`uK5wQ ethxzЉ0aק]+vŮ?Ϊ܆V qxSʿo]?^p'mldvM^f. _].W\\^.Y.w\_FNt6rٜBg'OORQ0]BſXAVO]7gлR~;mD>i0pR[{d$}t$:X2+皈$Sw.-1% Xm$qfZf`7n o@Hbnq/IdxōD PQ,TvAO;UD\pZñAA m ~BxEE-^qL7oV`k"8j͟"Tc#ky}&ˈ3ݣk=@~D3T9+G6W!}!Q?oeBBGQzMٮV*͡l+q_(e[K_k2l [F_fgK,.Xۥ>-5yy,aDkXb=0-m/$_.-kQ<ĂPY%῾/D dE}Yj[jqٍm$_jTR$[T{GGbQ$& )H3_Du£]]"';jKfqF>á_qFMkA$Vވz#eǦzL)5GyտHXsDW'k䍍 s;ejE`ݹ(a^;P:~, #|M4gbq>YI&D uObʄÔW+hHX>&ŏ`l2K|,k} ClMYh)vh ?wQ !&))aF}\a9a*|3 mIq'KBWݳ?JZ̀"2!|uEnk@SfR0]PD,nz( yx!=~d7@x˔#p`$o{ҝf|-ʇPoAk2/! ^Q*0YÁ(pRcpr0>cntV tq}<^Ͷ{"?H`]dԀpwUE 79S8:o]s}׉UPIp w#suԵgp{rƜVt߼.?9~m/m\ra~0_|Sis%vOgGz:b:eԦh#L"Zk]v[ "SF)(_EGm;䠍h_2V~I+qjY#`c"u">P W`nc'`Ν}5;"}Wڽ QN[O*5hd FAO iVU*vw0h识WxRE0֟s ߀s/n,zyݻH]d}O8/!L' IW{h_Bw6Z@/yD~/ӟZ%kNb{<ĎuoI' uE+6H[7U:"Ήѡ]lOZ2Ua90F/ۮ^ ̸S3m R'> hSܞ֋zy)/;:ook^g?M-ao`Qm}$)5yzp߯z6x0wQ_۱z4gJHSzVڱ~ku+vŮ]R)$)y'G3cֽ||h0!`Z:mzb_3.y5|{ Ly9g!uLn#7ÑoV8) 'jFeO/UA?/)^> zmY܃@hR2! N. f:/mVGk~Bc׏ʰнOc^O=@eSvv~xٮ1ӉlwX:%a0mz]BL;to : w\!^0KF&*29n7 W9 R]"D%v5hx2B@)e>SLA̮Cޫ{w1.U.O!,)O-^5hlz#XlIh7x}VChXl5*0˝q]D§.?i Qq!>X{1lPa!4?έgvr9"V+=G|vdZ!έ(O|j|* "&b"/sMlS1y@qa8?Ue7x+y hwh B|)#B""*>N ɘ{,? At'\0r\M }#x:gȩ{rKmm[ZQ *Λ ބyf=R**=1=O`jfFfX M]ta=;/<eʵ}/4[ #aUCa/mzކILu?<&EЫzI$@ݔ>o/YZѨ)>X6$о$7aefw|4@UɮPHˡv bv{2~dzAw̆b,߾jnEiu^;WbZcF}F㛼f녛.$lO:SQ%uwǻS˹9ӻbP= e._@(EX[BajmJ1g&S0y'A&6J( FnԆrד@W{Bd}(h-Zy {&ןY6s*=J4&#azU~1.(Uk A0#4ۀV2^I&!sr]BJh[0dǓX7_rR0!::ղA,jYMc#=ڻtliETDgM(I`s(8qݥ#uH A*YFmLK#ToBl)J~i =1O#FaN;7i~g2ޮb{Q0dwVF9fqjaS~&_MJlMO63o0}4Cw /xڪ@ \Ht9VǪppم$em疇-ުq2RUE<nZ Ą$LXMZM01h[=X=wG銀JT;H XPQ+Qb}J{EP ("HÿAyyIv7N2$`zkޚ@gT*BVLT,}L0P }n G;yilФ,|PH:bu ?38(% 4Xe_Κ{&5Κ^)E8k?3kJT-F=YoBi,xOIe[o.ڴ$x3 /׍ZyaD;uƋaI/o.E=|B.vNNk"Qfw樟5s<~ksʹ̰?f2:f8k2Y-4&~(0@GP@a0 (XQSQ@G[F0-c>QpBa2 SPtf0 HRQ/ hL DS8g+<8ȅ(,Fa) QDa QXz6P؆v7 QF!(C PG!dRPHEktΠp (\D!(dp(D! ;(C!('(P~N$ww0J?G#;B72Bd,r$(D >ZWv!;֓ei/-EPu.nMW?9(/ݵi߅/ic}c|(m.OP*m4Blu)7~H2槖5A|x8lȇPɆZ5V}jG<`ZNGd^S~.oW\ϗ (K {;F+rqu!kSj:V ࣡Z򎗭]n=$ g>Àr r@c>>,3 X+$=ܒPI5 ^3ͥX-hINb3,jEy>ӡ|0JT4#loLgC)L?Mg/ĬrOA@(oU]SKP0fx8`u~0L\T)e7zLJ1 &,-9z=L3ۗ雝>]&0j1`qB'xMaKC-[%P%P%P%P%P%p8E%0"@bLGJ ?̽L܍ 7 fCց|}%KOĂ@{i{8|1B,T:0㥯bX%/~Cs;gv/a[ %NgF.!]Bt %KH.!]%t\We߼F6[dټD6; yl 'y{E{oþvfN>& ?WˌQ_#=Q_g&ot{C1mi@s>NrwEZԃn]V\vg()K 4*`%m Ҍ|r,b Aec%_tt0.6(|0k9q[Rqd:zs} 8P~u>$(ؾLy^;$( %M˗͙ 3EJҤvOKbk[nn~=B[hāt_;KsVOhݒU#IJu\t酄(ˋ{ᘪmR?mW-$n/}SkXWo\``㬄‹𴍾fQ3{IQ5Ye^hV+Vga3 dDKu;fDhI4 ?|"-T1֤|'8ߏ&фD5ƭW/E.O'?)3Zpq< WǕ<Ɖ7z]&kNşG3fZI,$lxѸ 4=  Gw|"DV`0+[{&b'ۼ_gpuIf;4C݂۲1?IژX3)-pPy9Mox\JI^)S!ҰSӣϰS$}^/mz:#)<_-5.e)b|kzqa>\N9vd& 0Pp^89-?o ΃~i k\۽[/[?^nut8^~^qٌ!:uzבYeGWIJ/W,\~=m/R:h[kٽ|=0JmD3oȻt,\vnA:U)u΂޴x-c?ڝ#Lٜ28Q2XcYn|\d j N"<; "G$odty@`P=?48 Ǿt[?|Hfܐ@6xlGۘAԍBE~N1Guo{"sBŤ!8^=u6W7/R.l~$/ڰs)8F{4'ͣ BU]3 &_y)y7)T|R4yqT{NڅMB]%녥mRp8+(O+N dUC͑9ʠEkŊ`F8x=5#X0By;r3aG oUo G {O_ݢ:y4e&\5eK?'.Γgn[T'N']uo 8c㶀u*  D/S 2}cPV&+c5x?A7kV쓒;rKvʖx[-Sl>ЯH}#HY!oi }oynvZ;TU7n!XS맟N{=e GƽHPkdZ5/% 3fBa wC%Xþ*9HߪP' qPEMM!KT7/(爭YPziPJuPCs[ûLO@Cq5ÏP̜PX $AProme]SP7oaXt( KR_}'b~?U7h0v $)6}-|v?Bo1k6,weE׮ï W9͋ 6ۨn )U1kPuK⠶FMv(~x@f勣<>pR?Paokfݵoˁ <k&_5:P-rEɧi'aMrj] ˵2o hG\7KG6$,AHzxr<߯.j4r_Po4U돐S/\GNHmq|Iu=z(1xV qz,HUd댂iu%!'< ]hz;NWZG>n ȾS&׬]_{ ˇ?wI ]+g[mn,ӗ4_3ՂU:]&>BbƜN^tQn: eHY@S{ERC=o s^w=K֦x ME]ZC$@3ah.?ah/]ZZh+x*F[[EOZMZv:@,J=k,;*.q0#L8l{Ec}WCrZ_?y–\[l\j6Hk u*tFHgƆ/gwuWO1buENO9R,_}n󏙉o{LjIgo#å=ZTOTZt]J~t^m_wZ!|a]B*!:^3 dQQd=pĎatAWU"V݌.kYʟr5 ,G OWƝf1X):m: ro`S0ξ<~dBh}XUF06r ZUfُcx)em \G{UsId ~qK諞R4G =5L3f7C+{l5ݠo%9F~;7ܪxX7O/} {OťQj-aC450{)j7aL%Ut|Z^8 SM}әz}rRc˨E+6-8Ee [3Y9}VwB*-J2bB\_89pa栒^nhtw[ERo}x %|ReTt5CChPQWa[I]ZS9rQ 3@bjA\ѫk{vlL1QAӒq@3 >j3 #A_g!Nև"1`ߍPW7]Ҵ!㑋+8gtΙLp!mc6T]];t `yLq:|C}S < a2|M>?j K׌hfiyҕp[p((Z2Tu%'m_5lJ|"~ 6nC&y[?qb^eK>#A+(/yV!HӻćgQU*W6-ld'q ъ,=]e8џ^EDSMSJJ5ZӳƺWh;Ue~ _i(Po1?؃|̡8 =|gYauj TȾ}&f e97YQ O.~>έUʁݣ+9Ѓ}#’6ܪzbj$//KYXW) %u * -ZY'x2jk"bF_W_m(ݒ^tnF.({8bHLp>}p#Z&}l؃a1x 8bE%x$f>?xF7@~EBD媙pYQ@QyÜAsU&%cUJgEC+րbI zP]6(zTU^l n `kjz%x@/='.њ9SVhpMZ v{؊Ľc43&a[<؋MinlU'Eb˟ص= 9e2[]ԲEl)d<%"tFuH6[ [X23e|q?(t6x3̛U jrS7U_izO>$=SbOȭ R֗,Ms]O8w*8*=OM[jNOUe Z?gR=5(]F}+kЮBF a]QIh.zxf-bߢC6p;!wEAAtUh{9a FCAh3DUkĠ^n*_zC)WG$*om*^7nB8MgT<~4*9~캬ўPe/ԡʲ-=Aխ'r͂=Bv]y. 5>TxjowsY 2noȨ3]WA%4Q=ZqzM؏')] 6QqHiTB͔gWwe:>25+h Ak /gFB7(s0@Y((/dj{xe' ^5&bR3@ʣfAƒ)QPLX殡PSd%ycF7>{nw0SΞ WT\^d]>D;CU NΏ- ߘ5\Z4_a=|uk:pڝNYvjd1[4<*c}% j3~ELuj0r> Id+:R:L 80* mp@)?D?}Ԫ9Γoր1  \g MAN?Օ /Ac0rfr \=yl-=%H<;ÿxA>A2+suUYl3?C{:i0&~T qq{KBނpc yYZ{K`["1EZ T{eȴ;LAMG"s{7_E67, .|;`+O_+Jn_V"SaJúIHH´9fr!>NGeز9z?U,'fʬb>{`)E { c@DK>dԷݵ Q -Owvw~lZOoK(oo^1qx}͔Tڱg+c{fw+e 8fM.TVW\Yw9|\GTo<2{lh:/ | Ej.i 9E+v|? % ĩnV5z+2rznE@$98`^PJ={$W:VvWמuߢsU?ݲ d(lZ3'zbfrw6eE;_} { ӋmN+xyxT:PsiAC{)6MG 0Ki.L3քF5wMG&a5ص. jF$cC_Sڪ gV OfM,R7ҧ8LO 8.V0"x8ldmi .>]wƏuT^]|9{ zqr4<;ZxNf3IRfx%ԕg|ѾzkV\=r oj޳ouR at %VW儵&.SZ|ҶX2a}3JksjR]X!ex? R΁'(jF'[)98~Bڙpp:yKu-89 TR~Bn쮉?._gו<iH}UXRKn" ,-v$x~Y0Ž-y8v' ]115Mx-{"̡.| ~+SYt o;[9YsP˽5}1JtՑ 2{&ؘ]!57v~7dsq"pfC^>A=-Ug`bP祱جP[2fcC {]`>7k%Ǽ)ʆlS%e]q8@ +s`Nz7a/>i&P'ZM)bZ wV5+s{o4_>:6YӇz&@>?p+xڥȫʼn5HއU"boŻQiHcCaćE a`E@٢M co^ﴂ]>ڈ15ǒmv{ >h{JoU]Q 2KV72m2kǕo'c5qhB{yQ;bq#o^bGywC‘"2w `͒7L]q+ ̢K-渃kjoG8d!ɵH|ȤH䂙ow/c/n>PCbߋ#QEL)(Xf%j$ŧ⵳@F脸I]ۯ-0߸!*_昼ON=-Gm&Wo${#/iX&_#s_8:1d{J.IJouA[hpH?.oiS.'v\&"xR_Hsu~գ;ɸSp* -xحlme4/inst/testdata/polytomous_test.RData0000754000176200001440000000374412057454452020131 0ustar liggesusers PT>`aQY"t#q_CTq4Q6jI.pmffkjfL2iEvM5Uh0FUI3NcϽ{aӺ3M3S90[/סּɃI8=䜃cߎχÁͯ@ m Qho2&|9jUml[FM[FtxCI?̫[yGO9W l,ꐿ2^6ܐe]fݿ Nl>h:[}V]C{ѱNsܽIpP](XٙO]OCjy1e|h%ͪ\Tu>5~kj~ JmzǼֹ﯈Tzv)~n)Y\T\8~;T^n0p;ǭ+?W[69T]=:?n N#=t@5vlLa[݉]qW]GS pMWG<ۭ+d$=)@:{ո͇瞻sFyo8P=';y{lׅQ?,"x2~x6t q ?JA( joPۚ-M+o'^sFXAX&j!a232 GH Rz.DHƗKi=J? ԧAL5dB63Oi=͏AcOǼ?<M1[EfDUgyDOi ʻΩDQ3,#dNutBH;6N#_jh߄zz!"2қ6Mo|!"!&D"1 HEL@!LD"1 111 q;b:"Œ1aAXp¶p>ݙ Mh-3yj8S6󔃧fT>OSwgbV.f.bV.fbV.fbV.fb܉ٸنq1q1q1M\\-ٹٹob.b.bVô4Q`J_GtK>jV{}!oQ' [kV~D`` 9Hϻ*uF9$? ?׮]odT?&q _ =0!lme4/inst/testdata/badhess.RData0000644000176200001440000102406612457544274016256 0ustar liggesusers #Y*Isx|NGx&wGb!8[=[ݖ3$@˱مr>±.ˆcY]]ppJ%[o_=d{[Vk͊Z5ndcF޵8ٮ[ W_.m4sRcZ]V Y>RloVUsv _Bh#WP-lTjb|ntws'>'Co>7:=G+F7gGl7*Li) vGtRzB?7aǢ^ٞւ^#azK<@Âgkpw]m]-fW^_ԔS}L,⩸'#txuzOuLn^ZjSGw#'*坍+jC;fu^ntϻŋD{"Sfѐͷ_:kR3sǽժ!2w}w4!'f!>y!?me`Zp`i=FdgGfYW)r08<EWkK{H#%z'f6ddExԩQj^*O7+Zy%]R?SWWjz)RjJQ2#`ϏNb'6!3:cƣ2zǼvo?gAY =7muCҮLR> <5Oœpy?٦FPqx۪7y2޿k>^>P;tN>jxv<6iS{FPyڡttܦ-޶=v|__[LodwSo_J~[)TK}O7N5Nw*`7KJ6'uMI6C9_aV rNwtNXZ7='67.=w:{G;m[}ۚ'7wIn$mbohk?{>+NP.NImm[}ۚ'5O,,βo y.ɓ, ,ץmo[}'[k?1<1/wxS77n7x@'im:?-OLǙxoMt۴_}ߴq}1t|x}6MŴ/M6pqStRv6Ӗ'yOY~O2ߦpu'w͸dߘMøybߴN[K}(e7>-Mq]UiY+t۸?7ﯦMoyJ%Oۚ9~Z5oyMJ5#mϔ6]oeJwwyUt~5Z?zL2ߦ{z0CwFSid6%Jqmt=7R)MYA~[NOLomGDmhǴtNi\M-g}EQt(:4jq0=y鸍\Cݺss/ޕO \!wX`zK/yYWW/׭U;WTkkvjV6+ [k ZgE?? ;m?"qkgqogo5#y|;}+4lɁǧ^j3!Z6+Pjycv^Pt0%W헏D_R pkx8V?:Vևy +wsc큁;Zjeó8 92p]:ֽׄ|(73hn}-ᷴ7c9-'Cí܇[؇[c{${>6EqoهSǧ#bW}y-jnö˛Ս qr_ ʙc Ӿ=>!b{2h499nkO=k1>.=/#̖(춓39$d ̂d 0'`> x h@%`0 so;}' &p'`|`+ 9:M؂i1s#Y"8l}K+ Op̂e`p x| `vЧA48)r7[9'N;,YoKG+O7+Zyc;X,n^hZ[?S[mVjE`mgRpKa4>:k9ރ< 7ĮW =]gW>V4^=w";Go|/_d>xy~WZFPqx۪7yy&OPCMM>Ӧ7jS5Ӗߦ6mUMqڷ>7}57;Y[}W;J'N~BwV߶-mo|=xYmk?շ7QΗ y>7~bolW %y>}o|gٷV߶ M?I;g[꛾B'S[tN|o|㛺4߬䉭tIǴ?|C3 7~ߜ/0joxgM;cig$s؜ě$Oo!'-jo[V߶扭m[}ۚ'7wIna$mbohk?u:7uI]/_FwZnkmmk<շyo|g7xg9w}O|7uId9OM]f.mmk~ߦd|1qn︾MǸyb6ԥyb/mK|Aͼ5oȓlkVϴ?|Ctwe|6W`:~0n67>7>u^_cRɴim:ǭ>Ӛߦ'yn{۴iv7\M[A~[NOLomGVx;P?ڨzG~AAQ.5}༃(hRjz2mqSsܳ\ؕ׵{> âwʛs0~BfҡK[ .pv#їsnc#慭+e Zڵ]\؍r_nyRWյF\[+=QTl[WwJYXةKfR>.;P4vsd{ ˿Nrg(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( <[\]y|";}Wޟۦ>!t܈j:no[&OP:Ϛ>jxv<6iS{FPyڡttܦ-޶=v|ߏ>N6GUJ~[)TK}O7NZ<Ʒ->1Go|;˾m'6'dN~Ygxw|oM];o|g7xNC(KVR <%s).7+ybo;ey1ߩP y7zߜ/PjoxgM;c)gPD&Yx;Y9tm[}ۚ'5Olmk|Nߙ'iΓ勥p?5w}Olmk|mk<7u5޶5Om3~[>no[V߶ K2}yo|;}ěx/&|7>߶o|sr~o[}'k[HRK}ۚ'&O7&xo[}ۚ'&O7$ybkmwџ7$mkM~ӗ'&O N>{q7}x(uI'{b|::gEYmk?շybo[Ϸ<3_{ܸ;o1n_1w|kҊ<1V6^%Ӡ fCo; Im/yB7&ěx祥kQ9o8f}/yB/·񼘲qSxNY?1s|C bx|9ϓ'If|)oqSxjK1ϛqɴ1}χq)oqx5iR|;Mjk|lgk\"'֌qNfԷ>:e,mwڕ~GrY7eybn%O8;}jy?1)qYQ[io_j:n(j[E}EQt(I˴{Lm\ n.sraÍJus0~஼p2P~Yot(Rh |nz$jQy ?^YҼ`e̱7[ 4mv#{nm?/q ; F]P*־ֿ6*S;ʚv}kQ?"##vol#`]߅vW={]u0^ܳۍ%?/yYWWzygjmMv䡝jU9gvV_z|Lxqogo5#y|;}+4l5>>/uuR=8uԁiЁs7w2p̊]oG&vHF:HVą OO@66+(t^i_վ_}_Q_?焯_745{& @v {Cj[r:9pHÛrf\xsXOXorڵ\lWByz,z`lVֺzۮԳ!3YSN7m>ȣl-W}NdշvUT/o#\}1Ȣ,|OdɃ}zgtg.uzCNnndjVjlQnVJRmvG֬K?>{ݨUlF6t47^[,b^ыFX.>sN~{֨tRTިsʼn>[=\m̬W[}UvEKzxK쳴 reM[oGzGt>^hT]utƮUZ<WQXw\m#ZlloTg A58Y9_lbS t;6*-=YUNݵks>(s,fY>ۻ@{,Ynm 5sMH0I|}K*/2}on^td9{)~gDYtOW/3ɓm5#xOa">F9701J&Fy.g i"dJY#xM֜9;S??Y9Aւ}2ޡ\ 8y%֢[vh?ԐT;Yu=گ] ӣ cv琵^k\`B\kmy'H9t˽svc!yoxC_Z/ћ}7?3F́t?N &/~V/nnnaտm B0f.2K æo7Z2ݜJ_ =V=~ !ھUn8|в1ϩԓq#1[ѝz]:?1ܵBxbz.68{eGV7n1sdh/.7v*NY:W)Yz=JuπV7"SOxLQly0aٍ08_wsNlRN𖵲㹽_{ח:Zܗ>ҧó[;FC{V*{&J76oYv}0L / =>ޖ!%q%q[8Pr`{i@ '}OĀjH땍5!׆ǔ{zcܡ ͡eڵnd/ 7J[1RcXhK{uo[UfuiA.ڗ/,kknoK;Ro҅J=WTm晒ޚKKN7=3rЍ6z|SqguR܍8]aphz~ o~忽LySn=7Ŝ?npu64ﲁ7e?ߗ Wz޶{Y^oEgm~?w^ӭs@G N碯ݯAd{я~>u|w1'&}?e^dc'ymۣ!;F_| i%~OE3B=tCy|NGkя+c>>7zH4Z/|Ńڣ=%pzfLTL)mWa .aHʻZA?/uOEp*Nݖ>x㴜S{nG?˴tbUv8 QE>u֪57"zVuE#'h^ u$s"â_h{ׂ m:hAt#}bf %Dqm:f|A{pzߠ B.7*澤\ 4w"1G+og~1;0W2Ά}CmoO+q_(_ja}^yQ3#"8+6};<;JW3d+?e7'oY] 滛;3fY59 tMN[O>,Frlٻ,^輚曕BSj]:b _FkR/#}yWDp"WbhL4ezP\RqДNGӥGnjc~z@,z&wʸg)sQomN}'C*|iAN4N)8#{ G>_}Oz>Z'=C\Peo9~m} ǯ }i_׆ЧqniQwD9!wF9.s^?s]@#כ퟇~aq75ˈ?)oo۟~}.~8˿+ןܫ^ٽ^?7^?:=(~1t<_=S{}^_gsz}E~,0mKq#>≠Z\&T~g__Mwo=X%7=cm>-#6O7l=c7k7(sRgF͹ RYSǛިj:OQ;tN[~۴V5}Γ77Ȋd~+N' SoBԷybo[|c(}xg9w}Olm,OO;Vߝ,:-&3ěw ΰo;;7B7PΗ yB73~bopXW !y>o|gطV߶ M?IZ;g[꛾B'S[N|o|㛺4߬䉭IǴ?|B3 Sw}s$Cm7J߳o|~bq~o%y<7u庴շmoxk''xr~o7]ߜɓ,5M?r]&Ado|;Mw}4u޴Էyo|7V'S'iqy ~.7Yϒ'N?dLo|;˾m'5Oo v5Olmkr~o[}ۚ'wVߙmk?w-mmԷybo[%u<7>AMo|Y>No[79_f9mɓ[sܵ[w-M'Y[}ۚ'5Ol=OL)u r1ӺL#M7&ě'[}kMb|ߩM$ީW'xoM9'ToxoM|1|wby2|73Ol7M]/޶&Oȓ,牭m[}' yx'|:_lɓ{Z?O(V߶扭M?~|۝wl5M?r~o|剭yBS|7u9%g܍{q57uxxGd[3;Q]3/k糌ӡ=χ1x<Ӿȓt)NEj/5eV#cybה6^woӥ7y2ybӥ6cS֯Ǔ_G~S}ߴ|Sm}8NY2>N%OM;jk\3|N7LNN:̯1dǔ60cZ8mxV iW}#gy~ߔqw<0sǽ5lx /}wƘ =gi=foqw86S?Qn4 ZkѽZ;1qtR7֭zzyqy`r~(Hd͝`Fx|R?ꟗ* Kz%s9JY ³wE=Vjn5/o{P^ho۫=҉޿_R;1-W{ZVmVwW<]ÝZ {$Aͨu;Z݆HjEHG_Ϋvݎ!~_i>_LLx1:GˏpP}iGI/^"68u0G&yDd#v{[\{u<1ӯ?Fiaf'yQ2A?е҈a1~K[oi~oާߛ{s[彉ss؇[ I}m BBOGEOŝ]^+7+SHܥlr(esIND<_qXs|zY*JFiYj^6J^ڮW֪ͭ |0dwͅGkn3:L=tY<"T4wF+ZjM)++Jܔ9e^UV+F\nrϹ͍l:|p|]sD_u9RAOy5A=wl#"}f1w$?).ˆ(W!))iv&fP5ɮFumG򭱳YZ/5)kN,HlBڵX|h{Jb"Ü"~3ڃ};}w;{ UD2UWz3&ȁC}#på$ZMGe$yuR_ֹwUV֑^̔Jn*ޓ["f>sD|e~A:ƛꅘO~_%CК|ཝuGMQVz $I߉{qGή+2uhTjrHx'cZmߍNٝlv޹i z w&SVٽB‰D1#T[M Hh{{ xW!Rb""š>]~@՝zݑ<|ik+6O쑍!O{_d_whʌ,pN.ZUV_-(UHTjJܖ?!'jBk594B,;Q2sf%=K&gr+ֵZx߶y|菅D$g"ί9Mս:W3n.w~3} zyUc\w-0 ?;di'VYh]ޓi!yxlԌn7xG̈́ Wkյz{IRvݥR֎T¹xkȉWRѬ˃H&D2Aë卍V#rTz eݗGIucFfzݠSq3]}=Jh/r~O*XuK-ᷬ+'dyzi73V3qٳwv?Xp{Yj5Ǐvgt\3z[IroZA&*[k3Ǝt˥['ʶLxCz9HbLtOM;='ؓ5D iC[:-ZS!5&E.evAO?S' ^1g>U UvsdhVy;;3dKՂ7[߂Ī"$w}M7j}VHB9gr̅k[;2GN6uR_6+kw] N]qc!ހ_|O$ǣc`h vX/ u>|˅z3Ct#1g枭Lz v,!K܆^qW,܏b$1]pz{?n?×*N% I]Qa^h 1pWEb`L3/S;o)hv{3ԕ^.{gʘ^S2kڵó[]X{ ^swxGTޮo=]lus:׷֫`j^\ބϸ5;np~9,ó͔17;e$.K]_4:TܕÝm} pIח 7GiD|ɻas[v*G~NuGxb𛻾3zǜY_5敛;T+o/Ƿo}έεkQЌ׌\9 }?!rz6/[w%sNCΜT,*toh m$_ۧxN_7fHfs[ϻK_Գx:u_#?Uy0gWF,wIç+*6{~i.zl5Wh{CZqAJo˛ ,z\rH.ЅOW׽,' =1ۈ|M=W-c\Û_<Ip}0',1pJt%agK\q 5ײַ;vNS+vy7B;YhGTL@z#0w?u>+;?:=jJ{F"qlS3{fL*ߗG͟%չ=OMWrD/} d[@"Wq vv=|Â.iZ>Kkʫ[礌J>gJk͝_NQkA:i r/ݠY7,63}R0u7-ӿs;VeZ=Uwo/$>Tn^nY+7' +͵ziRWIw̤I}< #Ξ{V+tn[~^ug֌wڎ; v Snl;PrnT*ƍڟM.t:ȁ:rշ~~ rP|g@Eq/N*mOݪkwlǻ,!ᓼ{]`{thu[JwnG*>~8w}Eާ}tGJjoڏgJW'[k{.7d FRThJ7o <׺9Fٻ&x*Ss{ucg8F浝#ޝj;WyŶҥҩ3ղְq#%0޷oݗeֶZw*dn qUjlɈ/ ϩ|uw/ f#ѫnV: rAV4Ҡ;{ѷ @2>|(gC~{? M^o7&CfFΎ{LwO^U?73a[#? sBa O$~̲TWSl(ğ}{Czz~e^!eeh+Y 5mh+W˙Q7K=3ιF3{'܆ZˍΚlZw"W,n9'g[֫F3З۟Dώܨ R3GUzw"t}kڞ7tJ&,M6.>ުɴĻ#r`u?}'EFr$/ysrH-`w{;ʙ7xL/НdvkI\pe,۩ZU[rwޣp^ԂIjwsd(8v`_h{_q;x3'jg;Δ*ՙQ~1!A*iG5ti'{xւ)*+~3^w5tJfݿ6|+tJ:z]w~[k%7}]6ީr_RxaW/^pK[Pk;+7:W8) L:LMdpGv*Hݞj?m3⵾^V{^ڋ#"t@ߋWF4Dns+~8D=5\t!W n' ?}&^=ШnnV/@˹qp.S.lW?{.l^tRk6 t7pܸa@9]}yAd;xhG݈ /n݉sctKUp}uZ?Ddi͉9Dhq#=Tp1f"(H"=Srok?{ܟ 6slfII|w[dMhwEա lr)h*MHi~f.d[QRع]z~$.yY#.oWk>teOC GÁqvj^ fŻ?H+z:[k]ZWËgԲol)m{Q(ʿֿ񄿳ʫb(@O,}hp붫5O|]L"Waٹf{@쓙jJŻ#oߏ{ٹPS\j̼akc-y!QoWG&:nX'>'Ѹ"$^Ng዇OaN.w,)N]<%Z-=Pߺ1w/k̡֯Wùx%zM@y1\I^= =24vcj/\%.Vm۟r}@RިD݉M?12<9\N~sP6wi_ܨD_D=8=C~uc{`; i{ؔv|(':K- !n|cNA?ѵHtҺU1K**잭v=`gbI+895D١=^cӨR, .|y+2ɚWVj i=u:YvެVW7F_q:g==oNU;2A4"c`VQr]PycC>.n+m`5Zh⌺1)fܘߛB]GOx[ÿ*#.ngiS{=jy>֜w_o-pw/ΕBo V6ϵZ8\K]A `7?-P C i{xcW?7]="zZ\݈ùG?"{py[$LԶn}R!;CFUt- ?Nojլ(̿pb4{I@Sb։DÍ5 ·9x7jʥE~ufx"0C8󣁎1O9q#z^v72>w8;h7f!{|MCwm;o ijSy"H&ROsc:)RkK{ZP{dVW#IjP78ߝzv.9+MUYj]>7OiHOOJd'U o&[`'Ch\S[C|߻8n'[W3{V5G/{O߈iA=|8|`Sڐ}/X>S9Nvv"{(׺nUo_ |T):{kYKg ߃3k-~M~1^υ#d";%;b{Do^w60ox#YoG/FQyO\79ܨEϼov-ؠsaQyFq6#6 3k-rzs8GmU٭fyMI)y^]ԫi;ָL)7'rM-nh߷~מIѧ{1}n춺qϲvG9֧:Zp?Hy(G'!O`^?dZM|79żrrq7G}'zU#yׇ{n{Pj 1W#:>sG7!"wq#X7g`%vBWZk0=}E>tܬ_~4䝐;5Gw^B*jiNFSMOm Cr^{uD[~xo o|5Jww^o<]sjm.y堞|_(|g;Vjs^zf'e_a*~yOh5Z;w_tb]){$Jm>Obmgc-i2RPx.v'qݽjP1nHvr FjknxqQckJ3 \Wohv}1K*| 3=_Qw~|u~ÞVص+nn"쫟H}]Dh"&H~5PfC/׶.golNh'I8(LSj(oդ&i$4$ȾH(u@阋G,knpa HB|IdׯN6#)ph1ٞQFeҞIǩɡ2{Y y z0F>34_޺Ӽg #S56/?`f8{b '&piPX +}3TV}sgFؤHL4NH雙FPK<ڈ6J:Hj]+ڶ7BLh&I$ j+s z۩BFi-%cH gt5|=wf,Dh"H;${2LlT˯~))aZҕcuhgt5{ze-䣗fIgy8QXh ꊃ>v [.1HK=rg:Dhm`rLqY`rWs y;TVTDnL 7sw.@:/9joSf kJgi{'O.m7=nGepꞤY);O1.q(<.&Mb&ӥr$:\6P̲SH9/WW8Sj#_jD5)m?W7՟m'_+o<ȰiI7~Ǟ!=,N]8;sg?t;)S[.~B.+m6.۫Sδ6ֺox,pUyx5Nr}ٸ}ӧfцR}П+ Zؠ;Gp]O@2Ut{7n=R {mEg>g:ӏ~\D~|83u -~n0G=nAS܎>$I\CGfSt `*>;э5 I]в7~u=E?]Uncey`%p3%rNgQM~C56?+Ӄi>p Y c=w6shۚ !zeyB\WtgʐLqokL F?9DL`?ӹ9_گq{n Vng뭿v6{T'&p ;Invyʫk[).]Vi/;/=i\^hT )o,4oҕj&= H; 6!ڊBP$\ڷ&SRΝ |헾onܳFZf>Xu$o\]S͙FgQMpg&$P^yƄ!{z ڴ"]4Mӆ-!~FCuL%z6۷F tLCeTL.[voN6¦wͷd Vvo3|!\25a}WڿV| 6SnH& lj/7?\}2wI#h$AHBɛFDlniw.ډvҝc4Lci.Rt&qm>7neϽ'A;OLln0{#u&FNnbC{FPt šW7"á)Fr3_h{LYk~RAߵ?j"*q3@q寈Y @;fX}%&3`Eۈ[g ?ԽQ)relc١PDYgCȮo9~SdKO˩Y胯|Տ{kt}x58oOMT*?)6)(Ъ0>SW۝-3k G+WUgѳc3j})cv#JwZ DxU-nFOC]s#nn[cw`rQݻٞ;.n3YPla\|"?{>l<^Y]Z"'>9 јhRg w>3V7ԩhDLx>=_<SqkY^h"C>bODBAн)#߹(ј¸zxlZ6_UU_ڍ,sp~߻HU#hkkZg=I3T-oTs)ߥ=eҏBy;zq:Zsk1}uMR!~%Xxk:7zá߽ cRh燗>~$8FZ;_F,qT\ZWO Vk[ZetLh?1vV[Eڞ{|̼*.Byn/i^ikR96ZY)yy땧vuY:XI' {]hwϔ&Hz6~K.[n%zU(s3콼3SF|,p񏴖94%{^ȄJ2>-y]A~ЋLuG]c>1 ɦzKZC+m,;1F||tN.=B` :̅6NPoF#G2_a;[i7Q)k$).V:-l4k4j}'oИz.^Pm@އz`U6*y/#k8lWG zyھĻzo6uCo_䈜$n] HƒXx{C?T˽'jzT f9/a5+[3Z5WUKO_? ǣrW,ŽZds?ݯ9X]W14N}xgYveGٷ~eU61`PfB~Bcv3?}&^W5zhdoݣgDnj!Y`4|ëZmYiT/ojKN]RϭmU%ovzj[?'7KP(q!Pt>ww\FuܔwjQ kڗZ3^>l8wGY pi3D%EOU7(E/m >N*s14*ѸZk:V}LBe:2oوYuPI/=7zj߽?kthQ >xq{Tfh~mi灮:9@:8oisaѻ<`}X:3YCg7| &gWOa`͘c2̴mTZDOoQ WK9;Iq|D)r7rMzdƻSk:'|kh 4 $]T]|XRsgYs?$/!n]z@ >'ɑogAkmL^ݬ^LCU_>zqtf=lA^k_}EVh:m{wӧy|;}+ll⡙;EK: Skg ?=";˿oئ/v^ۦFPqx۪7yy&OPCMM>Ӧ7jS5Ӗߦ6mUM?4ۮ~tVC;>o|7K=Z_:oZ<7o|{+)ϓɸoh~+}0jk?ÿ|3_s|12'}Mou6]J~'S'};]jo>ƌ~SƏ'yn{ ۸iv7\MYA~[NZOomGVxW?ڨzG~AAQ.5}༃(hRjz2mqW =Nrg ⋬O?/Jt܈j:no[&OP:Ϛ>jxv<6iS{FPyڡttܦ-޶=^GxFU|'ß~^J~[S[}O7N<ŷ->qGo|;˾m'6'd l˳ ޶wxSNYyxg97ӧ0ͷ:.m:/-OLǗt+yySM[MȊO[}jUqCQtR(}5/3(ӥwPEQMJM_mc:ncj.{6+9n9o=ܕO \!wX4ݬ_:}ZYydol>^il_>}`[ËbG* [kVfkF{Z^;E?? ;ۍ~OIisL^iTv3K MyPiΔ[JiZzeܪwv~w*mZ{D.w>kEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEMYłܓo'W=x~cJc1y9~Y*Y+w{oƆsE`Zl.@9F92汙W.V[JmD;\ڬ4dWgZ˴=GGxBxoJUBok >،،،،،،،6m~4vZ}g,c36c36c36c36c36c36c36c36c36c36c36c3vƶ;c36c36c36cg,c36c36c36cs,c36c36c3alflflflflflflflfƶ?c36c36c36c36c36c36c36c36c36c36c36c36c36c36c36c36c36c36c=]cge?;M^mv،،،،،،،،،؃Ǝ._Y;،،،،،،mz،i،،،،f?6mwfl7v<06c36c36c2;c/glflflflflflNi،،،،،،،،،،،`lƶaa쌝6?ƶ+c1vZ|06c36c36c3v~16c36c3m_flflflf$Nc;yelflflfɍatmGf촌mWflflf$a;->۞،،ئ~eal[;}ϵ(((((((Ot+)))oo|;}o|;}o;d3?)))))))=Mt)))))i|0onӥ7ӧ{?|Co|Oo|OL`ӡ7ӧ7ӧ7ӧߦ0fuXo:,LķY}۬ >mVi6´u0fuXo:,LķY}۬ >mVi6´q}0ftTo3:*Lŷی ~mFGi6´_|Qa/0ftTo3:*LwO[Mŷی |x:.= |x:.= |x:.= |x:.= |x:.=M |Gߣ~th_{4/=M |Gߣ~th_{4/=M |Gߣ餀tRp:){8=N N'|I餀tRȪ||IV{·]|I餀t`4=X' |I߃u`4=X' |I߃u`4=X' |I߃u`4=X' |I߃uҰw뤁:i;Ux|ǫ.;^u W]wUx|ǫ.;^u W]wUx|ǫn[uݪVwU7ݭYwU7ݭnM;lo|wn[uݪVwU7ݭa?][wo:u|p?][`[wo:u}'=[dddddddddddddo3? [VQv8;Y;Y;Y;Y;Y;Y;Y;Y;Y; [fdddddddo0wwwwwwwww;Y;Y;Y;Y;Y;Y;Y[l;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y{Xغ_NNN&lşqw2wշ.|' |' |' |' |' |' [}wwww~a~;Y;Y;Y;Y;Y;Y;Y;Y;=NNNN6|' |' |' |' |' |' | [`ָ;Y;Y;Y;Y;Y;Y;Y;Y;Y l=*lO|' |' [} Viqwwwwwwww7`k@\q`8pH6dk\@-a>`!7AZAn&b7i\ 9Po@l-;@N@czL8$A0<ANQAGΧYː?˝}&mB!BB!B3<B!B8 B!NB!B3B!B!B!NA!B!a!B!p<!B!0< !B!px B!B!C!B!LO@!B!^!B!p< !B!j^ !B!0s B!B!B!B@!B!B!B!z^!B!>B!Bax=B!qYps\]+:wfsB`1xO#okM,iyFު/4EyFb|F;4rF#_wj]9s9 K+yF~FL{5>_#_4A|F>OWkk4F>:4F7h5Mf|B#ߢoȷi5S4S5N,k9\5hF YwiY-ȧ4 ljF^KF^wk{4i>L,l\|F~F~F~@#@#P#H#X#D#T#L#\#B#?___-W5u5Co4j7h7j545ihjoo {54545#C#cSQY9y_Y#Q#FFWFFFFF7u M-m]=}G?4jh???G#FFFFF~\#F#V#N#^#A#O#Q#I#F~B#Y#E#]}trhy,hdQ#hA<5Fcy\#OhyyF^hyF>G#44F7h5Mf|B#ߢoȷi5S4S5N,k9\5hF YwiY-ȧ4 ljF^KF^wk{&jikgh4354#\|yB"bR2r F~F~F~F+Z:z!7o545M4[4[5kikwhwjwiwkhjiAFFFFFFFFFFF~T#F#V#N#^#FGO55h/iȏi/khji_C#FF/S3s4j_h_57wF{4i'45_4YG7FȂF5FCyX#hQ<5F^'5JJ#k4ZN#k \|Fިț4Y7k-yFP#oiyJ#Ok5%yF#3RS#Yy\E\e\Ȼ54eyFޫir|F>j+5!|F~FZ#_>h:|L#_k>|FQ#ߤo'oȷj4)|F5FjڐhF YwiY-ȧ4 ljF^KF^n|FW#?M#?]#?C#ߧhhjikhjiȯȯ____Z#?F#F~F~F~X#I#Y#F~F~F{6vN.n^>~AFFFQ1q I)iFFFFF 4?k/j_____]#_#@#P#H#X#FO_g5hȿȿȿȿȏkhjik?h3i?FO4/Fc>Fc0,j<4>lhdS#w4F^ȧ5n|FW#?M#?]#?C#ߧ5a~F~F~F_#?O#?_#?_________ȯȯȯ F~F~F~F~Fk7o545M!;Vm]=}!a=c!FFF~T n.N]]\`>xi}֘dtM[EؚצXc6m4]_i &`ZagPWvc t!t[F0}-7I ޽0]F7 b:q`.tgZ>=Rx WtRn*\,kՆNY,VkkՋbsO>/Y+73fEl{RW㢷=?ZgM w'}Qy*/%mze]]P1o/ KCv"Q֫ЎmdFVit.7Q*7fTLO5O+rrzU;Szϑ᭝fR!<-3%">S~ϔ4xS|y{\nVU7˧ ds/Oȓz͕f-;ʫ66+[N.+͝z)o]oln=v*~UDKJ~&7X5sNDV=k>SwޫF ;smJ>{IC^\;SԞ~ϵխ˽]7ϟ ǫ鶟n-4ac~9:?ꕑQOmҝ^Q9/ <\'~n{< csP;_ | zDts~}SNt3JνrW' ρv_ PБzGJ8 h)R 9s|z$mg'WG9+6x5{Moބ-ngǷ>sk:b}PsB??x羏&N6 v'7Mg{,w[F;iR2N}Rt;tZڔSoe)_)nޟz&KG5YY'4af0W@#h0. _r YF(Dj @O}MVɃ@oM9@{#i׬Hr&Sl2^0Gjǀ8 Io G0iS`T3i6>s@QEQEQEQEQEQEQLwwwwķy7>7>ŷw2V}wwwwwww&Lwwwwww4k7mq7 R|ӽ`ӡ7ӧ7ӧY}Oq0P|S|S|S|OoS`o:,LķY}۬ >mVi6´O|aa~}|ZtXo:,LķY}۬ >mVi6´O|aa績o3:*Lŷی ~mFGi6´_|Qa/0ftTo3:*Lŷ; -ی ~mFqt\{<Oqt\{<Oqt\{<Oqt\{<Oqt\{<O |Gߣ~th_{4/=M |Gߣ~th_{4/=M |Gߣ~tRp:){8=N N'|I餀tRp:)dI``~.I餀tRp:i{N뤁:i{N뤁:i{N뤁:i{N뤁:i; [߃u`4l W]wUx|ǫ.;^u W]wUx|ǫ.;^u W]wU7ݭn |wn[uݪ֬x[uݪVw7U7ݭn |wn[uݪVݰw|p?][wo:u|p?]{Ru][wo:ޞqwwwwwwwwwwwww醭da(lddddoak,,,,,,,,,lddo3wwwwwww]`;Y;Y;Y;Y;Y;Y;Y;Y;Y ,,,,,,,l V,,,,,,,,,,,,,,,,,,,l=,l/|' |' |' |gVIָ;;Y[l;Y;Y;Y;Y{u,,,,,,,,lv_|'|' |' |' |톭qwak\,,,,,,,,,m'[dddaָ;Y;Y;Y;Y;Y;Y;Y;Yx5\3h$['A15L[cb+l\JcLttH [mo &ɂxa`k;Y0枭A0ӸJVco  ybk7H<1]i Hswis\tM[L`vL rֺ雘cA<ȱda_:oe}JLxA,LohG޷4D'I/lHcLttH[a:niN޷4$ ۏut ֘>iN۴<7HIv@ zaX['I5޶j>Y茷5ަsib{5;q 00}wi+Lmt.1&ӵ0m6m DŽc twvi4R'lV:ALzao;& [A`kNm1ak9iN|4,[akm &r:cBev1O 1q1-&`x|l {FmoHCLL\ za:ao[a:X[%!rbza:t,اt 9h:no[ax1OL[cb+LX=dbb+I/l oȱ$&IĻkDzt;HX70'o[}@16<- [}x޷imIVLߴ 1Yym1&:a:no,lAF b{ue8@JL|M(5oi$xr$ ӵ;m [} /w0*0[{FgnB!Bt!B!fy!B!p,@!B!*!B!f B!N=B!B!:B!B'B!BxB!BafyB!BB!B8B!B*B!B85B!ByB!BռB!BaxB!Bë!B!N-B!Bh-B!B8B!B5|B!z!B!rۻ˻>Wu b`)xr`ܪˣgK|(X/_6W7vJ=@g<ِ%D^8|\mT\Zonν׫}*{Aqqr/=]^oo9b"dZyWˍZ߼˽9~f|t{=՚Zn+ vG^iloe:vgT[͝rkYwsοFޮW$gGF;n8k;zuuv mEcD3է+kC-eZ=z|{uOŭwsv; lA[ J}E>ӧKz]wU_Y:>3&ß?F!^Nvj B!B!B!B!4B!BXB!B8U,B!B!$@!B!zB!B8u<!B!N!B! B!(B!©1!B!p<!B!0U<!B!pjxB!‰$B!By%B!*!B!0WC!B!Z^!B!Z^ !B!pyB!Bk!B!B!Bewsw};,<  R`9x?pﺳΣΣΣΣΣΣΣΣ6f;ۘlc6fۻ}4mzyUG϶Pt;f~罗^n_xaِ-^Wdv[u hBu,>z[}>w_{Vd>z˷ȺΎ9ѵc*W6%/n ~~U/ɽܡ/ }gqWGكne;{[u?=9Gcl =D¥z?ʸq^A-x8m j/;!ΎwA-+oov~«~w7cf#[v~6n{֯Lsχ9``-䷛~:}xpmV+k_?}=~XHyakz{c=j@n$6yi"9 ɰۊnH77)Fvy^ڹ]zqi$tC\}k"/t{>4sǽ Yk75o):nu\,o씛D$Q)KGKB9mR;+c75r__$c_{~7KO@>ڎ-sZr(MT ^m+?HY>'3[w6֪Vխȵ}_+B LF+A<d6.)*Gr1}fMh EZ]uxs-!B!0t!B! 0!B!pXB!BI!B!N=@!B!:B!B'CB!BxB!BafyB!B(B!B8B!B*B!B85<!B!pB!B< !B!0sB!B!UB!BWC!B!@!B!z^ !B!^!B!0s|B!qYpE\!wm\kz aQx@xPxHtDxTxn̩ |`mz 'Q|MK›oPxEۅ/DxFxpFR»9pA(\. Ww ?I2={ \ >$|𓅯FZG _'|Lz³7(|'oU6ۅ"T;焫5aE.% ¦pGxQxI+4 ?C>g ?K~~/~_, L¯~P¯~_ F¯~_ ?$7+7 ?,&7 [*o~;).w G~?(?, LŸ?-g?+9 ? AY"%~L_ׄM𷄿- O߅/ H!?/ L-?+ _ J F¿G? Yn#H;RԿ#H;RԿ#H;RԿ#H;'RԿ#H;RԿ#H;RԿ#H;RԿ#RԿ#H;RԿ#H;RԿ#H;RԿ#)wGߑwGߑwGߑw~Կ#H;RԿ#H;RԿ#H;RԿ#H; GߑwGߑwGߑwGyPߑwGߑwGߑwGߑwڽܑwGߑwGߑwGߑw}BGߑwGߑwGߑwGߑwL(H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;RԿ#H;Ӿ+Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]Wߕw]w=K^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/KRy^?/m/8 }>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}?????؀????????????????????????????!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C#G?#G?#G?#G?#G?H#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G??1c?1c?1c?1c?1c r1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c 'O? 'O? 'O? 'O? 'O? N? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O??)SO?)SO?)SO?)SO?)SO?*)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO3g?3g?3g?3g?3g?3g<3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g??9s?9s?9s?9s?9s??9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_Y%K/_%K/_%K/_%K/_%K/_%K_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/+W_+W_+W_+W_+W_+W_J+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_tY5k_5k_5k_5k_5k_5k_Kb5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k 7o 7o 7o 7o 7o 7o l 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7od-[o-[o-[o-[o-[o-[o+-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o;w;w;w;w;w;w;w$;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;wT={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={???????؁?????????????????????????D9#G?#G?#G?#G?#G?#G?#G;#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G'O?'O?'O?'O?'O?'O?'O?I'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?493g?3g?3g?3g?3g?3g?3g?K3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g /_ /_ /_ /_ /_ /_ /_ ^ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_$+W_+W_+W_+W_+W_+W_+W_*+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_7o7o7o7o7o7o7o7o$|7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w????????????????????????????????y'O?'O?'O?'O?'O?'O?'O?'O'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?y/_/_/_/_/_/_/_/_,/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_7o7o7o7o7o7o7o7om7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o???????? ???????????????????????m/_/_/_/_/_/_/_/_Z/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_????????ς???????????????????????V?????????????????Ϣtbafffe9mSfffffffffff:}ϵNWӺ䟵J<s9?s9?O?????????s???????????????????????S#G?#G?#G?#G?#G?#G?#G?#G?#G?9#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G'O?'O?'O?'O?'O?'O?'O?'O?'O?r?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'=83g?3g?3g?3g?3g?3g?3g?3g?3g??3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?O._ /_ /_ /_ /_ /_ /_ /_ /_ /_Q/_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_S+W_+W_+W_+W_+W_+W_+W_+W_+W_+W+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_t7o7o7o7o7o7o7o7o7o7w؍7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7=;w;w;w;w;w;w;w;w;w;;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;wO????????????????????????????????S'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?{'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?/_/_/_/_/_/_/_/_/_/_r/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/=ux7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7oO>??????????ܑ??????????????????????S/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_G!C~5~tśINGUO*.v_ӿ nk>ğ!gگ~Wvk71/_^?LJ7~o3?Ϳo]oz'#~tDzt~, N',t~?;Io;`~υYv?d~ ml|-UNo~._~ _2>]!'biC]~=G@%~˼?'s o?^?-G7?W ~_w?Cp!8Cp,X` ,X`]8X` ,X`X$X` ,X`h` ,X`r` ,X`  ,X` /% ,X` ,X?% ,X` ,X? ,X` ,؟K ,X` ,X ,X` ,X` ,X` ,X`\` ,X` f` ,X` B` ,X`sz` ,X` J ,X` ,r` ,X` v` ,X`  ,X` /Ղ ,X` ,؟3 ,X` ,X?,X` ,X`.!W˹~E,j1[’e,yS_o=/i-k[Ǻֳ lh#Ħ6-li+[ƶ"/aIK_2`E+_*Wa?dgnv=eoײuk=7MojfWWon u[Gm۟߰?i;w]j7}k??Cj0?ck8?OSj4?ϲsk<ۿ/K_j2ۿk_k:ۿo[j6ۿ{k>G?j1g?k9_Wj5߲wk=?Oj3ok;dgoOC~ ?!C?!CE?!C?!C !C?!C?1C?!C?_?!C?!C/?!C?!CM!C?!C?1C?!C??!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C~0a/?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?ǟ>?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G~h7\(Qo?(QG?(QG??o?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c~?q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8+ 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O?ǟz?$I'Ot$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?O')SO?D)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?O/4iO? O?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?O7 3g?g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g?O?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?O'9s?9sΔ?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?O/}>}>}>}W>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}=???\?????????????????????????????~? ?!C?!C?!C?!Cn!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?F?#G?#G?#G?#GnĈ#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#Gc?1c?1c?1c?1cnȘ1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1cG 'O? 'O? 'O? 'O? 'n̄ 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'Ô)SO?)SO?)SO?)SO?)SnД)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SQa3g?3g?3g?3g?3gnԌ3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?09s?9s?9s?9s?9sn؜9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?~X /_ /_ /_ /_ n܂ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_?^?,_%K/_%K/_%K/_%K/_%Kn%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_V_+W_+W_+W_+W_+Wn+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_k_5k_5k_5k_5k_5kn5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5kG 7o 7o 7o 7o 7o 7n 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7Ö-[o-[o-[o-[o-[o-[n-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[Qa;w;w;w;w;w;wn;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w={={={={={={n={={={={={={={={={={={={={={={={={={={={={={={={={={~?g3?g3?g;{n]K!trww۸3= ==I Hp$@p [@.;{f0Oznoծ󽿪r]sNwwwwwwߕwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwK 7o 7o 7o 7o 7o 7o4o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o &M7o&M7o&M7o&M7o&M7o&M7o 7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7o&M7olo-[o-[o-[o-[o-[o-[oy -[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o/mo6mo6mo6mo6mo6mo6m=6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mo6mK;w;w;w;w;w;w;P;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;wQ.]w.]w.]w.]w.]w.]w.].]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]w.]wL={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={/}>}>}>}>}>}>}߃>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}ˀ????????????????????????????????2!C?!C?!C?!C?!C?!C?!C? ?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?,?#G?#G?#G?#G?#G?#G?#Gy#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?/c?1c?1c?1c?1c?1c?1c?1c=1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c˄ 'O? 'O? 'O? 'O? 'O? 'O? 'O? ' 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? Q2)SO?)SO?)SO?)SO?)SO?)SO?)SO?)Sz)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO? ?3g?3g?3g?3g?3g?3g?3g?>3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?/s?9s?9s?9s?9s?9s?9s?9s?܃?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s_/_ /_ /_ /_ /_ /_ /_ /_ X /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ [/K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%KCX%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K+W_+W_+W_+W_+W_+W_+W_+W_+X+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_V˚5k_5k_5k_5k_5k_5k_5k_5k_5kX5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_e 7o 7o 7o 7o 7o 7o 7o 7o  7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7oÿU-[o-[o-[o-[o-[o-[o-[o-[o-[C-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[oߚ;w;w;w;w;w;w;w;w;;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;woſ={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={_?????????:??????????????????????[/G?#G?#G?#G?#G?#G?#G?#G?#G?#GC:#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G'O?'O?'O?'O?'O?'O?'O?'O?'O?':'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?V˙3g?3g?3g?3g?3g?3g?3g?3g?3g?3g:3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g? /_ /_ /_ /_ /_ /_ /_ /_ /_  /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_¿Ur+W_+W_+W_+W_+W_+W_+W_+W_+W_+WC+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_7o7o7o7o7o7o7o7o7o77o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7oo;w;w;w;w;w;w;w;w;w;wû;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w_??????????|?????????????????????[/O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'OC|'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O/_/_/_/_/_/_/_/_/_/_/|/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_V } _ʿSb??os 9ί=ۼ?`O38`O>~ί|ί|88k6z~gޓgW]kO z|_}{I ɽ+zG$o?sz|ޟuOA>O7{|~Oz=߇uAw{ٓ;olO3g= z=A7;x :?i`OyWǾ;o z\`y= =;=;m??I{=?|ޟuO>kϺ'Awpޟw|ks{'I'^w>|ޟuO?gY$=9AY;:+{vu?k?=FOy??kϺ'gݓI;=`Awp{z.=$=?~u~]OryO|y;w2zou>ؓgy??k`Oyw;&^~OI;zA3G'Zw-ؓw{}\A/z`O~A=s?뼃AgO>kϺ'Awp{s{Y{= z.??yqޟ>zޟ?|ޟuOށ巷'Aw܃y{z=Aogߟuޟw'ɼ6{=gY{Y{:WEU0yAqwq;w0`|{Y{Ҿ|ڿ~z\ :?iϺ'w'y9Y{{Şsz|ޟuO>kϺ'Awp|{k{YGuSWe[87{= 9_={;w0`y{=_7ؓ`Oy]#9OŏdW#.?Eﯾ?= ^= G_}?OzYwW?{3:~d#WΠw[:?|>K:ob__'W6WGd}og~q~oW߇q_<}ڽ=`ļzuO~_ڽ~d>=~d:G'_W:?{gWdWg߷u~{/`D{vy~Or~9z o $uɽWwAo zY-_}9G_Ǐ7_ >-#[?.7g|~d{{mAoWߏl_r~y~޿q~u?ϯ6_ _?ם y_=_{n?K$%g˗/ΫIy'o_"_}/{??_~??3'W+G~oG~C') ~Ç~oz˗O?o~_G ?y7~l͏+&77x]?sR?oOA?$JwޑHh_ޟ-]~W>Ο?C_k___=WЯ_ ~W~;s/ǀc#C?6m%x ~o?gHv~᧿^T_J_˟/}_ÿK/_/?˿~' C~7xᶺ|oC7wނ-x ނ-x ނ-x ޾ A $H A ]'$H A $H A$$H A $H A~T $H A $H2 A $H A O,H A $H A$H A $H A~$H A $H A~ $H A $H mRA $H A Gt A $H A ;L A $H A $H A $H ? $H A $xA $H A S$H A $H A $H A $H?) $H A $HmA $H A Ӧ$H A $H A~ $H A $HOZ A $H AR$H A $H ?k"/O8ooD$*1KBd~?Q/|ow~ 7-O_?CL[F򷓿ϒw?G. iJKґ/H2d. YJֲd/9Ir.yK>"W]#__\%__'~?PAUC?H~M /XD#/-?NO,?M?Cϒs+<˿@˿H//+䯔_-ʿNo,*6˿C{+>@G?*1Bg?+9A_W*5Cߒw+=@?O*3B򿒿ZF('?EV~!O_'o_/?y777oooo(ooo[C777oooo7777\77777777R77772777777777777777777777777777?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a_G | #G?#G?#G~ G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?[}QGQG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(Q?c?;b?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?o?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8qO? '|@ 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'OhO$I'O?%O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?O~RO?)S|`)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)S~?қ?4iO?O?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?q 3g? 3g|B 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? d?,Yg?'e?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg/9s?9s|b9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?'?+y?]}{v}{z????ɯi!C?!C?!C?$!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!CW,O0a?0a?0a?(0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a?0a+#G?#G?#G?,#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G????(QG?(QG?(QG?0(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG?(QG??1c?1c?1c?41c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?O~?8q?8q?8q?88q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?8q?'''O? 'O? 'O? 'O?< 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'OoI'O?$I'O?$I'O?$I'O?'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$I'O?$}K?)SO?)SO?)SO?)SO")SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)S[4iO?4iO?4iO?4iO?AO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO?4iO??r2g? 3g? 3g? 3g? 3g& 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? 3g? q?,Yg?,Yg?,Yg?,Yg?g?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Yg?,Ygڷ9s?9s?9s?9s?9s*9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?̾?}>}>}>}>}>}>}^X>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}>}D ???????/n?????????????????????????oC?!C?!C?!C?!C?!C?!C?8!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!C?!CGۈ#G?#G?#G?#G?#G?#G?#G?ȋ?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#61c?1c?1c?1c?1c?1c?1c?셎?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?1c?$M? 'O? 'O? 'O? 'O? 'O? 'O? 'O?b'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O? 'O?oSO?)SO?)SO?)SO?)SO?)SO?)SO?)SOzSO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SO?)SOGی3g?3g?3g?3g?3g?3g?3g?3gϼ3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3169s?9s?9s?9s?9s?9s?9s?9s^9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?9s?-_ /_ /_ /_ /_ /_ /_ /_ /~ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_[%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/]%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_%K/_[+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_[5k_5k_5k_5k_5k_5k_5k_5k_vk_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_5k_ 7o 7o 7o 7o 7o 7o 7o 7o26o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7o 7oߺ-[o-[o-[o-[o-[o-[o-[o-[oօl-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[o-[oߪ;w;w;w;w;w;w;w;wK;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;wߚ={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={={ߊ;????????.???????????????????????z;#G?#G?#G?#G?#G?#G?#G?#G?#G]Б#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?#G?j;'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?Z;3g?3g?3g?3g?3g?3g?3g?3g?3g?vQg?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?3g?J /_ /_ /_ /_ /_ /_ /_ /_ /_._ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_ /_:+W_+W_+W_+W_+W_+W_+W_+W_+W_Յ]+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_+W_*7o7o7o7o7o7o7o7o7oK7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o;w;w;w;w;w;w;w;w;w;ww;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w;w {?????????.??????????????????????~{'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?]'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?'O?~{/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_~{7o7o7o7o7o7o7o7o7o7ovo7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o7o~O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O'''''''''''''''''''''''''''''''''''''''''|_|~>ۿg?/`_ηI;oo9~ k~O/ogW}o}{`O38?`Oӟ~{ίq~= ίq~=}{߿ow?~ܿ??_>= $'x~ѹIp}/:Wݓ/3W3;78^p?}sssWI_}WٟW``;p<ใ;}<g2ؓ`O~g0w0_:#?}/|Dg_kܿ3s{|ܿo߁S9_uO_uO_uO_uOI0w0לޓھ|ѹ= $ؓྃ;_sO_uOW:Wݓ`o _uWؓyܿw0wσѹsUU$;pI0w0w0Oo9wp?Gӛ>ϗ?~s{ѹ= Gޓ:Wݓ:Wݓ:|3pC G`lG?(ྃ;ྃݓ:-˗```s0E{U$ྃkW;ؓ}!߷;)<~}/_tڞޗ``yU;;;pӻ:w'{U{U$ؓ`O~z[;ؗ//_sy<|U{U$yW`wǜw0wl0p%{3ۓ~`O=a3~?O?ÿ%uoO{p=lO0O )_~|_^ >s4tw}^Oϓ}~}+ؓO⾿\?m}Gwg6ww|i~{3ܓ>W0Os9~gOϽ`w7{<<3>lᄋsy{Ï?O<<竟;/}]7U'ϗ>XO}WGvoãE׏>~g?y~g~GN~=a++=K+«}?{?}2wӇwc/OB+?}orOH|t+}/ p/8=\x_{=? /߮eOuOG/~qg?sN<t/R?O{2Syǟ~哫~o;5ɣ^s?ҥgn_w}⭟Y.Ϭg5??ۦpzn:q_ߞח |{dO?}rcG?S7=GiG#|\t/o?27Fxߏ) "%_|.O1d;pz!y z+i{ {~u~~8M~ç˃=7u7~wSXw~Ń>~uDN?O_R>}⣧_ӯzͧ_~OOGqPyٗ~q>q>#nۖ}Wo>yo~Wӯ?f?WGq9nG/~qtD?{zO|k맇ijo ֳj?8byoR?7ϟ}o|Ǡ?< >g}G~'o_kO_|xW;O7==Vt͗~?Q]c~g)pwO!>l yvt ?_>|/_Ãz~~ug_t\xK opsY߼:~~!9} 9|}8Wɳopxcx>zO+M_?x󥃯я~}_!ۧ{ //PWsU{~'_O㏮٥=o{۸A<;/7/?8*>}$|7>?xtew~ovq?$gwxkڏڿ9w>*W}Wu/N^Y^̿߿b ;\DZ+Ͼ=N}|㚏_߿_8~߿yo7->=7<|+>߼u=N_>><:>Gwq==>xǽ~囧G;<[_鷟DN?Eo,x/]6xs;s I?qi_w_yȇzwU #O|1Us^?g'֓#}k?_|Ýxxcxy_ Ώ}O'GO_'g$:<߼:ו5^ڟmzM?ܵG~~q|>!k?|~쇯)[WO^^q_{Aw|4??Yo|G6{uÓo/=6y.M_3駮LOdoN>p\<W߯W\/^6OrŠNWΏE#q7M|州/uߋx'}zkϯz9*+ϳW} N/wÅ .;{?ɯ~wYN:dYsw~?sW|o'_B>o:Cuk'5mK֔+>_+m}v._]_q ^]=?{.6 1<חƸTU?_ɧ>ħpS#qͣOwq'_goϾKlS^k;xW~k?|kG}g |o嗋W>:cO߼|zu`O\/_|?v}Kozz2쯴N|L.~ms_Wa'Oӿj?ٸ_:~[+ʿKk0?Jt[eo?q'ۣq_y/~O2gu>K]yAt[ RyCsBD{~o^w^#swޖ}i3v.s7_wzU/_:w{ƿ=S'x߻]`</Iqo}os6ѿ?y'/^3أ6:[~篏^}/</~WOǎ/}?xO^9/>8p^+G/iƏ|o<;ϓm_{/~'O?<~׎.W^7 ]3U|_O[g?wҩ%ٕ߮{ӏ'WW}_#o.=s/;Nr/rؤ3}zo~mNO ǟ_[df}Sּrp8xa~*Guӗo/?mݖͿqxs~߀>+ ^s߅M8K7O?f7Gs-ݰ?|a߿|_|+=;>y\x_G>Ml/n [ooo[(O=}q?E=_U[mKW?O>֖lFO]f{߸_ݾ:ߎǫç̗|z/_<}ןuo?R|9gw׶ч?;]֥-;zK|}~s]}= |5nz߽:/zIjyys~ u<om]:G7^+ʍ_׿ɳ|oqTm|?zZyWIvW_zso-h7_:xrg,+߹%|Gܝl»/>}rm}nzvy~z)|__.?7<]R.G'mw\sLPm>я^7\I=y3?MQ\--S}upx e?}ٻxވpf7ќ)g0go9{k[6Nv+.%\qŏp\Kh a}ekcgξsfz3=د~/O~=/}|[ ow'/O^Oxw^~o}7dN_2N, (:O~Ï_\燯z͝?䣓+ێׯ_UGn^;×Ϟxyt={o?;?OٷI:w?>g8y|XL88v6 #;lxꛇy|~s?p/q!<}=/l?(>!ߵn)D/߯>ݏߦ C>sG?U/?חuJ}?w+ۥ'wB=# V}|Gx{'r5~Fmx>{ܱɋ7}x]}}A|u|vGϏ.zxqDu?}'y'/ǞK;h藯>:|1~=zv6kߏ<Ч/z?۟9>~%^|pM>gDn* >}߾Eup[tدo}wΟ_ѶU£דK5/0骲_|7>w'??y&Uߣ}|VDO?͏_g/|Kϗ ]zop7)wD^?x#n{C՟}vNOo9=7jxo鏿y'1_{Kt:?:oW^v7U-몣枝}_{,Ckv\^|!]zUrsgᣟɕ?o^~6w~A|fĭ&^7ƶgsxr˗O>vs\%tyZ6Hon?,[8ymOrvvիy[˜\/6/οs|iRm\?O/Ws|ѣ߆ @tx wu}U_y5ea8/4s3nRw?7_ވKxϾgSqG/~kGii6}yܾ'5/'_}/Ѭџ>8{s/;Vߢ?O[w%>9OYGyq./t[=>}zWNw'|ẞ;?'}?(_{x7_zrZXG};ߣm{u}sw/Wvz>:۽h-\'[}~o:ܳieNͭﰪ߻ߚ[sܳɬs;':s<Γ>N}~&;g=۾kn>oݗ{ Wͭwxn=hwy5[jnͽK-\5gY9Yy<,knͽVL+O4ޡ'Ihnͽs'=9ܚ[}sYunshwuͽk-Y[sknݗwWɬs|o9ٵg|{+VΉނ95[?/έs6kc[ghܫ:]Y9~~ku[ol:ܳY:dֹg='[sO4smIlytnw<'=9뮳YhuWWͽ:ܚ{{p<_.ߧ{u=ܷ>'[r^n[szNf{s2ܳͭwyn{[sk][}sonݗ:'|N4[sO6Z'[D}2x;e:߻|ߺ/5ܚ[sz9g=ߚ{u'|gY9~rknͭp~ͽ|9ysҹg='[sknͭ5~'{~Nm[Ήwsͧ5ɪs=k}8~knͽs'=9ܚ[}Ճs=9uYω}{uYω|]:4N=kkti{|ҹg='=9ܺ/u_n9ܚ[soA{[s|ܚ{枵5/w|Ϻ߳έs#`>:':'|Nf{s2ܳY~s2j}s~~k{_nN[~kY~s@e??hnͭnn{uҹg='έs~kssqMs|kwy5ƹN|qeҹW;'}^4>u5}}=:':'|Nf{s2:':':'۷߫ϭ2yug[d{_z0fW{Y{ֹg='έsV9u4Nsz5duՃwNf[d9>7=a>~knͽɪRDD}oS4ηzu_Yui]O79ܚ{瞵Of{s2ܳͭ'7sr2|]{e{6srs2|^=Gݗ{V7o9~s=|^[~kߗ>m=~?:':'s=<|O1sgϗܳ߇{'ܳ߇/{سs2|>=>|rqǯoy=~zo}ݳ>߮ͭ۴jnͽM3|^n~Od=۱{tϾ7|]{>=|_Ճ۱'yyw=/9ٮU=|]='za\{6ǎs;=nתsd\{=wxY_Oۮuޣ=|?zͽl}M=ϭzp;Wͭ}}u_wϣ\5D[sk[5۷4z={7Fϱ/Ꮷv7ͽ{2;.gd:۽y^so:y ߿=s:~:::zߴjq}~תu}ѪUZG?yGVZjպ:˾ow}-_}~ϱ޷}YяΉVwmx̱~α>vG۾}[G?ZXGSs龝o=:zwUs{ylяv[sOo~koߣطs2z]Ssk{t[޿}sh^g{t?.}{Fq׹2|e>uGϳos>vGy4v[sܣOyg>~Gso窹5޾ܣ|G?:'۹jnͽO}2z}x>4v6辸me~~Kso׺ks}Z5ǹGzpVͭ'۷g=߾Plz]F};'s^so{ww}]8z_휌o}܎uW}|3z>ͽ'3۱jnͭy۹G?/}~Od;we[u5\o:޺me9=羝sܣo=zNߣܷw̺iF|4v4cB{s2zN=ܣ}sjw퓳YF{׹G:'cf>~wyuǬyu_1o{v_};'ݷ=z^=ܣ}//gwܣݗg휜E}uYɬszNf{s5.ϭ>~oY[sk][}sonݗ:'ds5oͭ>$έsruGsvN2~knMu5ܚ[sk5.=ܷ[7oͭ>$ۭY9u575s|yYhnͭ5ܚ9ɶͣ77ͽ}sץOsknͭg[guNq~ͭG=[eܚ{瞵Of{s5&7YszNf{su_n}gֹg='{ݹwܚ{}}P}YɬszN4M2ܳͭ5ͭ~oCEs_>Tf=ߚ[skn}_5CE2~:ɺ},slYɬszNf{s2ܣ2M>tfoͽYYVi7~_\:CG}q}:dֹ299ˬ5޾ՃM2ܳY9~oCLw}1ug{sr_]Y[s|oCLw}foͭo3ZS\&:DskMRsk[$:'{zNf{s2:'{hDe̺߳έsݙfW,=ܳY9Y7szN;^7{z5^7^7Y:h5޾u_l}fֹu_Y9Y7^7Y~}gFsYszN4f>uYɬszN4$ޗ}YfYhu3uYω^7έr:Ce}nfY9Y7s뜬Y9Y7u^7u^7sEs˳̺߳έsnfoͽntͬszN4uYKͽnf[庙unu3~:ɺF{̺ߚ{:妙eֹg='έsnfY^+^7{:Zufo}mn\7=9y8juͬsگ{|Y{ֹg='guYfY9Y7u3Yϙ^7^7=}9ܳY9Y7{hu3ۜz̺߳=9uYɬszNf,{hu3[En4|:ɺuά0۞YuֹgYhu3ܺ/׍^7{hu׍^7}^W5>>{z?:d2?ܳY[sYso{fYY:ɺF{:DsY}nfmͬ9܊((((((22u֌7nF?:'}:kF۾IF};ߣmVe݌~α*&}N|޷}Y39Q2'ϫvGDQdhͬ=܊(wzohE'έ.z)&^7oEQeyghEQItNE'=kfe~ͭ7Xg[Qd̺߳έ(e>unEz_ju׳:sϚY{ֹg[Q}ϵ=}(ݗ.G[QzFQEQ=_Y{ֹg[Q>SM2뮳FnfY5u3~ku}ezNf[Y7YV]άܻQKezN4lYsI|NE$:F((=+YϷ^wUMnfY5oEQEywrs+(EY/EQEQ׳{WCEQ/ɬs+.gRsw9YVMnfYVEQ.f>+?ʺ:lYs+WԃFnfoͭ(ffoͭMV6ɺy~}W֍ΉIf='έYɬs+6Gպ~+-Q~~Y{ֹu΋(}E=nfYV֍ɺ~~+DdqSv9:F(z@$>/έ(ݗ}}lezNf[Y7:'&9Qnu3~:~+J1Y}iu39uYV6>wnf'Drf=߳έ+Efܚ{u̺߳=k.g=}gϬ}˙hnͽs+fs2܊˙uY3|܊Ikݗ3~?T&e=Sd>~ϚCd ?{vN[of>q;ܷw{ _)2|lu3<|ObϞ/Ϲgs+.g}r ?{vNﯞݳs2|No _>e ?wFϷg{~+(l[)2<(ޣ{}ݳ5î;5e\:'۵~tK/3P2~tNEQ6>޳z<`oEQ;exݱg}ylne uNEQV>Eٙ t_*(#z鎯!2|}<4O)2| cη0'(U{ y~{6{ߊ2sw\G̘wE (~ewEQEY+_w9Y3zߴsʺx(goo*&}N|޷}[u3:Ǫ(d9ݷ=zmg[DY#ϫ(dt?[?vϭ(r׌}o(Mqޏ>7:_Cfݷ=zmEQ=Oyg>~+(sf/_DQv'{}2z}=z.ͽ]=kFrFž(3/ԃ;}[}{p|e~̑o(ftߩ팾t_*X[Qv?D=(̐ϋ|9z_ߣ9َUQ[1!3<|s5W=v49zFݗܷ}ی~<̑B|W}>|wodvedط꾜+:'funezNf[QdhEOeR$}UQ2Y5o69Qv9:F((=+YϷݪ(kD{̺߳=kߊ(yf}unEQEQv7z}(E((2szVQ$AEQ+ɬs+.gRs߼*sgs2܊Itͬ=܊(}}Ff='έ(d=܊(~Y[s_*(Y[s_*V6ɘhMslYɬs+fs2܊}nߊlKGFnFnfuneLtNEͬ=ʺ9Y7u^7oe=n.G{hEQ(ɬdֹeRQ//MslYɬs+FD$:'mnfY5oE06wezNf{hMsrYAs+e󭹕MVv9YV֍herLffֹgͬ=ܳFrf=߳ׯ{ine39Fs+Yɬs+.grֹgϬ=܊If=߳έ(ݗrY7sItNMsnFnFnfY>V6ɬ=ܳFrtM29fֹeR$:'fuY3~knehe~]fs2ܳF((Ae(z}:G?~q?O}ͫ_^|̓W?<8'k>y/?y/_|ɾy/?z}4wO>'>_>z=2~#~[w_T.}mC3x/=h>s8_|'_tͣg=ڭër㌟?=7jGtt}vgOן:]tONO/ѻK_?o\;wgWs?Wl{ z<}󍃧ӏ^yk?oٛ냧/?>x׿k>|Ķwq=KG?ÏNƜ|_>ڎ~ӟ'?UVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZjժUVZnzsh^5۷jnͭoܚ[soߪ5jnͭoܚ[soߪ縮^^g{5۷jnͭoܚ[soߪ5޾Usknͽ}ܚ{Vͭ5[sg=ޮUsknͽ}ܚ{Vͭ5[sk[5۷g=߾4v[sk[ߕiX5۷jnͭoչq=ގUsknͽ}ܚ{Vͭ5{?u]}sFϩǮf{iFϩǮf{iFϩǮf{iFse4cM3zN=v4cM3zN=v4cM3zN=v4g=6cf{zیWsYoj1m3z^=fmFϫǬy5=6cfwrFϿo?z^=fmFϫǬwzhwzhwzhwzhwzhwzhwzhwzhwzhwzh}}oo4ܷ[7vFsn}hۭ}}oo4ܷ[7vFsn}hۭ}}oo4z_ܛͽz_ܛͽz_ܛͽz_ܛͽz_ܛ]Gsoͽz_ܛY~Wf4\i7[+{7[+{o^;o^;o^;o^;o^;o^;o^;o^;3ܗ3סo^;3gW}PW}PW}PW}PW}PW}PW}PW}PW}PW}ׇ澸>t4/}q}hfׇ澸>t4/۞Yn}q}hCGs_\:ׇ澸>t43g11111111111uʬ_~鮏~鮏~鮏~鮏~s}YIsͽn4Fsͽn4Fsͽn4Fs=&ί׍^7{3שͬs_άku׍^7{h3>hu׍^7{hu׍^7{hu3ܗ3ס׍^7{L4Fsͽn4Fs=W>ˬ_^7{hu׍^7{hu׍^7{L4Fsͽn4FsY~̺{hu׍^7{hu׍^7{huͬsEsͽn4Fsͽn4Fsͽn4Fsͽn4Fsͽn4uM3ץ׍^7{h̬׍^7νVfݟYu_5:fֹ*^7{hu׍^7{:Y4Fsͽnf}3׭׍^7{hu׍^7{hu3۞Wsͽn4Fs^7{hu׍^7{h3>:g}Fsͽn4Fsͽn4Fsɬs6~{hu3ۖYQsͽn4umϬ׍^7{hu׍^7{hu̺έ(((((((#sݿko9Ve݌~uN3~ݷu֌޷}[e>vG۾ʺxkcUM2o߳fsoo*5kzo~+.gt/۪./=λDKyȌ>vG۾(ʾgǾ=޷}oEQeΌ~x(dt/:kFVZ'WEQ/{ad۪(et/۪(9ֳcY3zm5m[Q>S*}T2ϩη~FzFQE!r:kF۾(}S2ϩ9Y3zߴZr5MUf>#}[u3޷UQv9/Z}۷UY7o92޷s2zmU[nF?ZXg}:Ǫ(׾ߗq~α*fod۪яl_F¾}۷V]^P(}龜#osIF}[g}۷5o!3oߊ(fF?_y^yȌ>ZXe>vG۾f~+(sf޾(nFe2((OF.YEQFgtew2mU]KnF?*&}N|޷}[EQZ>䪬яIF}[EQ+lzpijݝ(r_ZXg}۷5};'m{֌~uN{Ve݌~mUmco(+GM=:kF{u֌޷}[u39QetFپ}۷UY7};'M=:kF۾x-_}N|޷}oEƌsdorF_/팾t_Αяx۪яx̕яoovgaϖяf~Ϛя_9VE$ϩ9Y3zmu3۪я(Weo}~kպ;oΚotGw:ǪяVZՃ3޷UQv9}[g}۷UQ6sorF_/3}3zm5m{֌~uN{}~ϱΚc5Mև\g}۷u֌޷}oe݌>:sdUC}龜#};'mY3zߴαΚo(dP7sdooߊ((ۖѯzp~uNEՌIsf~Ϛяf:kF[CFFsvF_*fs(YF}۷UY7}[EQ+lzpicU[DQe݌}[e3}((ʮd#R)dooZXe2>ڷUY7o!3|ϑяVΚo(3g}P2(}QEٯ~((ke}{3zߴsfiXu39QuY3zmUM2o*fuUQ6so{~ϚяΉFFW92q9Q~ط>^g[Qc{o[Qv9A2q}ntso{>~+{F?}ܷVEQA=_ΑяΉNF]d<փ}{\{]{֌}oE}yEQFgt_ew2۷>=ug9#s[QS*}T2ϱη~FzFQE!ruGϧs(m3cCfy==kF{iFϩs2v}/GϹox#υGyȌ>:ߊ;}[Ss]%=z};'f9#Ǿ!3|=92|=ݗyy|+&}?}9z}go}9WtNͬ=ʺ:(ɺ~+r_Q(EIf='nA9A=A; ?Zd?ίaװk5v~ ;_ίaװk5~~ ?_ϯk5q~8F_#ί׈k5q~8F:F:F:F:F:F:F:F:F:F:F>F>F>F>F>F>F>F>F>F>F9F9F9F9F9F9F9F9F9F9F=F=F=F=F=F=F=F=F=F=F;F;F;F;F;F;F;F;F;F;Ƨ/|p?C?Ka?W[Ֆ~_mW[Ֆ~_mW[Ֆ~5W~5W~5W~5W~5W~5W~5W~5W~5W~5W~W~W~W~W~W~ԯRZWKj_-~ԯrZWj_-~ܯrZW+j_~үVJZW+j_~گVjZWj_~֯ZZWkj_~ֻ֯zX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%ֻzX]bKw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻{x]Kw.%޻$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KwI.%ѻ$zD]KRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKRԻ$.IKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKrܻ$.ɽKJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)KJһ.)Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.Kjڻ.KZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.iKZֻ.i] er?6~W]p]p]p]p]p5\p]u 5\p]u 5\p]uu\q]uu\q]u \7pu \7pu \7p݄&\7 Mnup݄&\7͸nu3q݌f\7-nu [p݂\-nu+[q݊V\׭nu+[q݆6\ mnup݆뢯ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW jA_-}ՂZW W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2 }e+C_W2}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9Wr}+G_9*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U}@_*W U**************************************************2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2* ************************************************** ====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO ='ߞ|{oO =÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o=÷g ߞ3|{o^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/^ |{o/·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o·W ^+|{o7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{oo 7|{ooYЁ,8#Q` 'X8 Np,` '0N`8q '0N`9s 8'pN9s 'N 8Ap 'H q 'H q 'H s 2'Ȝ s 2'Ȝ s '(p '(p '(r *'r *'r 'hq 'hq '`'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvN\؉ ;qa'.ąvhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc';؉N4vhDc':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvDg':;ىNtvb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`';1؉N vb`'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'&vbb'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'fvbf'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'vba'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'Vvbe'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6vbc'6v"Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz}, Dz},/t=n4uzB+!뺯?m%KҪ 2;[ll;iU8$' $pz@O*UH@s8j+Zy3gx)}Wg]}'}B:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,6m%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:v&XRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,cIKXRǒ:Ա%u,c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:c9:cl lXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJَDKXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұt,c)KXJR:ұu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,8MԱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,ciKXZ:ֱu,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXFَDXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXF2:ѱet,cXFDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,8MԱeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձeu,cYXVDz:ձXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>qc:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cy:cl lXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOX> wҝN;u '8Np8q '('('('('('('('('('('h'h'h'h'h'h'h'h'h'h'''''''''''X'X'X'X'X'X'X'X'X'X'Np:u \'Np9s <'xN9M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbİa&M 61lbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&ML61mbĴi&M<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM<6cM,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbIJe&M,X6lbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&Ml6mbĶm&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlıc&M86qlĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M\6qmĵk&M6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM6kM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gM|6gu,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:б%t,c KXB:бg?/|/o֗~[|g܏O}?k?}˧w_?_>g1_=;};_'_G~?ヾ8~?k?o<;۟~qoy?ǿK}_g_}+C_l<l/t\϶}l ?z~?~1㗷~G?;{~t?_sw9_'+?>ٷ}_?m_;O~yO8p8p78ׯ/޼x~yk_:!_{b]\C:7\Waԗ?ȷ^Ю;?a6Wj~aOx޿wYzo~kzz7_o?o֏|~y>}qW-¿_|oz?|{0W\?`K>=^Ox?wy_{?Ԛ޿q?>f;w?8v_ꮿm{Q}!?O?ko}{}_w>}G?~ʇ?ӏ>ƿ?]}_=|7;_;o\[}\?^g+ݯ=}/}ѷ<䧿|=}?g_'ܿ/ү~~u;[ _/O[oW[?W_\f>G+ _/g{|q_?|| }QG>_w||]ֿٛ;}߿I|o|ݏ??7?o|?[~ï=_g;~ώޟݏ>O>,}>}ǟo|o3og_ӟ ?[I?Z_O˟S?;Ϳ¿?s_{ʟD+~/ᗿ|~ޓO|AͯW>_ݯo|>[ ._pw% 7Wlme4/inst/testdata/lme-tst-funs.R0000644000176200001440000000734412565075351016403 0ustar liggesusers#### Utility Functions for lme4 Testing #### ---------------------------------- if(FALSE) ### "Load" these by source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE)) ## e.g. from ../../tests/glmmWeights.R ##' example originally from Gabor Grothendieck ##' https://stat.ethz.ch/pipermail/r-sig-mixed-models/2010q2/003726.html ##' ##' @title Simple LMM with 1 ran.eff., 1 fixed eff. rSim.11 <- function(n, k, sigma=1, beta=2) { stopifnot(length(n) == 1, length(k) == 1, n > k, k >= 1, k == round(k)) x <- 1:n fac <- gl(k, 1, n) fac.eff <- rnorm(k, 0, 4)[fac] e <- rnorm(n, sd=sigma) data.frame(x, fac, y = 1 + beta * x + fac.eff + e) } ##' General GLMM simulation for the model y ~ x + (1|block) ##' i.e. (2-way notation) Y_{ij} = \beta_1 + \beta_2 x_{ij} + B_j, ##' i = 1..nperblk, j = 1..nblk gSim <- function(nblk=26, nperblk=100, sigma=1, ## st.dev. of ran.eff B beta=c(4,3), x = runif(n),## sd = sqrt(1/12) = 0.2887; allow also x=c(0,1) shape=2, ## shape parameter for Gamma nbinom=10, ## N for binomial trials family=Gamma()) { stopifnot(nblk <= 1e7, nblk * nperblk <= 5e7) # some sanity .. ## ch.set: a large enough set of "letters", as level-labels for 'block': nc <- length(ch.set <- c(LETTERS, letters, paste0(LETTERS,LETTERS), paste0(LETTERS,letters))) while(nblk > nc) nc <- length(ch.set <- c(paste0(ch.set, LETTERS), paste0(ch.set, letters))) stopifnot(1 <= nblk, nblk <= length(ch.set)) d <- expand.grid(block = ch.set[1:nblk], rep= 1:nperblk, KEEP.OUT.ATTRS=FALSE) stopifnot(nblk == length(levels(d$block)), (n <- nrow(d)) == nblk * nperblk, length(x) == n, length(beta) == 2) d$ x <- x reff_f <- rnorm(nblk, sd=sigma) ## need intercept large enough to avoid negative values d$ eta0 <- beta[1] + beta[2]*x ## fixed effects only d$ eta <- d$eta0 + reff_f[d$block] d$ mu <- family$linkinv(d$eta) d$ y <- switch(family$family, "Gamma" = rgamma(n,scale=d$mu/shape,shape=shape), "poisson" = rpois(n,d$mu), "binomial"= { z <- rbinom(n, prob=d$mu, size=nbinom) if (nbinom==1) z else cbind(succ = z, fail = nbinom-z) }, stop("Family ", family$family, " not supported here")) d } ### For Model comparisons ## a version of getME() that can be used for objects, both from lme4.0 or lme4 gimME <- function(mod, nm, is.mer = is(mod,"mer")) if(is.mer) lme4.0::getME(mod,nm) else lme4::getME(mod,nm) ##' @title All Coefficients of fitted (G)LMM model ##' @param mod a fitted (G)LMM model from pkg lme4.0 or lme4 ##' @param incl.t logical, indicating if 'beta' should include std.errors and t-values ##' @return named vector of coefficients [ beta | theta | sigma ] ##' @author Martin Maechler allcoefs <- function(mod, incl.t = FALSE) { iMer <- is(mod, "mer") sigmaF <- { if (iMer) lme4.0::sigma else if(getRversion() >= "3.3.0") stats::sigma else lme4::sigma } ## incl.t: rather also the std.err., t-values: c(beta = if(incl.t) coef(summary(mod)) else gimME(mod, "beta", iMer), gimME(mod,"theta", iMer),# have their own names sigma = sigmaF(mod)) } ##' S3 method but also works for lme4.0: all.equal.merMod <- function(target, current, incl.t=FALSE, ...) { all.equal(allcoefs(target, incl.t), allcoefs(current, incl.t), ...) } ##' some optimizer info isOptimized <- function(mod) mod@optinfo[["conv"]][["opt"]] == 0 baseOpti <- function(mod) mod@optinfo[c("optimizer", "conv","feval")] lme4/inst/testdata/hotpower.csv0000644000176200001440000141507712406350752016310 0ustar liggesusersprocessor,meanpower,benchmark,frequency,cpuid p1,7.324179,bzip2,2533000,0 p1,7.496593,bzip2,2533000,0 p1,7.405863,bzip2,2533000,0 p1,6.363187,bzip2,2133000,0 p1,6.395308,bzip2,2133000,0 p1,6.384302,bzip2,2133000,0 p1,5.490629,bzip2,1733000,0 p1,5.483198,bzip2,1733000,0 p1,5.480151,bzip2,1733000,0 p1,4.649210,bzip2,1199000,0 p1,4.630940,bzip2,1199000,0 p1,4.625473,bzip2,1199000,0 p1,7.428633,bzip2,2533000,1 p1,7.427268,bzip2,2533000,1 p1,7.331579,bzip2,2533000,1 p1,6.347989,bzip2,2133000,1 p1,6.365998,bzip2,2133000,1 p1,6.357357,bzip2,2133000,1 p1,5.627052,bzip2,1733000,1 p1,5.608685,bzip2,1733000,1 p1,5.615898,bzip2,1733000,1 p1,4.741167,bzip2,1199000,1 p1,4.786623,bzip2,1199000,1 p1,4.762826,bzip2,1199000,1 p1,7.004987,cactusADM,2533000,0 p1,7.093704,cactusADM,2533000,0 p1,7.025764,cactusADM,2533000,0 p1,6.151898,cactusADM,2133000,0 p1,6.146071,cactusADM,2133000,0 p1,6.266060,cactusADM,2133000,0 p1,5.443718,cactusADM,1733000,0 p1,5.400585,cactusADM,1733000,0 p1,5.453255,cactusADM,1733000,0 p1,4.586592,cactusADM,1199000,0 p1,4.569230,cactusADM,1199000,0 p1,4.635432,cactusADM,1199000,0 p1,6.991971,cactusADM,2533000,1 p1,7.014679,cactusADM,2533000,1 p1,7.024759,cactusADM,2533000,1 p1,6.140629,cactusADM,2133000,1 p1,6.321114,cactusADM,2133000,1 p1,6.206828,cactusADM,2133000,1 p1,5.641199,cactusADM,1733000,1 p1,5.576559,cactusADM,1733000,1 p1,5.546000,cactusADM,1733000,1 p1,4.703030,cactusADM,1199000,1 p1,4.703498,cactusADM,1199000,1 p1,4.709328,cactusADM,1199000,1 p1,0.802887,cpuload_all_0_4096,2533000,0 p1,0.823776,cpuload_all_0_4096,2533000,0 p1,0.813596,cpuload_all_0_4096,2533000,0 p1,0.705422,cpuload_all_0_4096,2133000,0 p1,0.700868,cpuload_all_0_4096,2133000,0 p1,0.772355,cpuload_all_0_4096,2133000,0 p1,0.769459,cpuload_all_0_4096,1733000,0 p1,0.785656,cpuload_all_0_4096,1733000,0 p1,0.741173,cpuload_all_0_4096,1733000,0 p1,0.715079,cpuload_all_0_4096,1199000,0 p1,0.746938,cpuload_all_0_4096,1199000,0 p1,0.744320,cpuload_all_0_4096,1199000,0 p1,0.793975,cpuload_all_0_4096,2533000,1 p1,0.801187,cpuload_all_0_4096,2533000,1 p1,0.821500,cpuload_all_0_4096,2533000,1 p1,0.769949,cpuload_all_0_4096,2133000,1 p1,0.803394,cpuload_all_0_4096,2133000,1 p1,0.797375,cpuload_all_0_4096,2133000,1 p1,0.752796,cpuload_all_0_4096,1733000,1 p1,0.682685,cpuload_all_0_4096,1733000,1 p1,0.830054,cpuload_all_0_4096,1733000,1 p1,0.828793,cpuload_all_0_4096,1199000,1 p1,0.734464,cpuload_all_0_4096,1199000,1 p1,0.729982,cpuload_all_0_4096,1199000,1 p1,2.639820,cpuload_all_25_4096,2533000,0 p1,2.646274,cpuload_all_25_4096,2533000,0 p1,2.680734,cpuload_all_25_4096,2533000,0 p1,2.410497,cpuload_all_25_4096,2133000,0 p1,2.438758,cpuload_all_25_4096,2133000,0 p1,2.397109,cpuload_all_25_4096,2133000,0 p1,2.175346,cpuload_all_25_4096,1733000,0 p1,2.244378,cpuload_all_25_4096,1733000,0 p1,2.220490,cpuload_all_25_4096,1733000,0 p1,2.007379,cpuload_all_25_4096,1199000,0 p1,2.024049,cpuload_all_25_4096,1199000,0 p1,2.017452,cpuload_all_25_4096,1199000,0 p1,2.583530,cpuload_all_25_4096,2533000,1 p1,2.605316,cpuload_all_25_4096,2533000,1 p1,2.675611,cpuload_all_25_4096,2533000,1 p1,2.354572,cpuload_all_25_4096,2133000,1 p1,2.368738,cpuload_all_25_4096,2133000,1 p1,2.394058,cpuload_all_25_4096,2133000,1 p1,2.167476,cpuload_all_25_4096,1733000,1 p1,2.190850,cpuload_all_25_4096,1733000,1 p1,2.200268,cpuload_all_25_4096,1733000,1 p1,2.017053,cpuload_all_25_4096,1199000,1 p1,2.018347,cpuload_all_25_4096,1199000,1 p1,2.013233,cpuload_all_25_4096,1199000,1 p1,7.160959,cpuload_all_50_4096,2533000,0 p1,7.049209,cpuload_all_50_4096,2533000,0 p1,7.059752,cpuload_all_50_4096,2533000,0 p1,6.289371,cpuload_all_50_4096,2133000,0 p1,6.054588,namd,2133000,1 p1,6.168702,namd,2133000,1 p1,5.933308,namd,2133000,1 p1,5.396238,namd,1733000,1 p1,5.350237,namd,1733000,1 p1,5.374985,namd,1733000,1 p1,4.518551,namd,1199000,1 p1,4.594393,namd,1199000,1 p1,4.560752,namd,1199000,1 p1,8.012897,omnetpp,2533000,0 p1,6.184991,cpuload_all_50_4096,2133000,0 p1,7.996135,omnetpp,2533000,0 p1,7.884490,omnetpp,2533000,0 p1,6.556004,omnetpp,2133000,0 p1,6.616897,omnetpp,2133000,0 p1,6.543446,omnetpp,2133000,0 p1,5.595988,omnetpp,1733000,0 p1,5.630009,omnetpp,1733000,0 p1,5.617182,omnetpp,1733000,0 p1,4.668482,omnetpp,1199000,0 p1,4.692154,omnetpp,1199000,0 p1,6.156328,cpuload_all_50_4096,2133000,0 p1,4.692437,omnetpp,1199000,0 p1,7.812482,omnetpp,2533000,1 p1,7.850498,omnetpp,2533000,1 p1,7.807735,omnetpp,2533000,1 p1,6.512861,omnetpp,2133000,1 p1,6.533383,omnetpp,2133000,1 p1,6.515984,omnetpp,2133000,1 p1,5.558801,omnetpp,1733000,1 p1,5.610032,omnetpp,1733000,1 p1,5.612178,omnetpp,1733000,1 p1,5.464799,cpuload_all_50_4096,1733000,0 p1,4.798786,omnetpp,1199000,1 p1,4.773864,omnetpp,1199000,1 p1,4.813577,omnetpp,1199000,1 p1,6.693102,povray,2533000,0 p1,6.757011,povray,2533000,0 p1,6.893947,povray,2533000,0 p1,6.053913,povray,2133000,0 p1,5.862311,povray,2133000,0 p1,6.056741,povray,2133000,0 p1,5.076462,povray,1733000,0 p1,5.436113,cpuload_all_50_4096,1733000,0 p1,5.296442,povray,1733000,0 p1,5.032880,povray,1733000,0 p1,4.438435,povray,1199000,0 p1,4.563837,povray,1199000,0 p1,4.479808,povray,1199000,0 p1,6.572876,povray,2533000,1 p1,6.786938,povray,2533000,1 p1,6.995105,povray,2533000,1 p1,5.915063,povray,2133000,1 p1,5.814211,povray,2133000,1 p1,5.410239,cpuload_all_50_4096,1733000,0 p1,5.775260,povray,2133000,1 p1,5.391570,povray,1733000,1 p1,5.152379,povray,1733000,1 p1,5.342374,povray,1733000,1 p1,4.613804,povray,1199000,1 p1,4.521932,povray,1199000,1 p1,4.662929,povray,1199000,1 p1,7.550661,sjeng,2533000,0 p1,7.549944,sjeng,2533000,0 p1,7.565555,sjeng,2533000,0 p1,4.552876,cpuload_all_50_4096,1199000,0 p1,6.462362,sjeng,2133000,0 p1,6.489192,sjeng,2133000,0 p1,6.502295,sjeng,2133000,0 p1,5.616605,sjeng,1733000,0 p1,5.604410,sjeng,1733000,0 p1,5.606518,sjeng,1733000,0 p1,4.695374,sjeng,1199000,0 p1,4.692729,sjeng,1199000,0 p1,4.697471,sjeng,1199000,0 p1,7.524268,sjeng,2533000,1 p1,4.535080,cpuload_all_50_4096,1199000,0 p1,7.528705,sjeng,2533000,1 p1,7.549319,sjeng,2533000,1 p1,6.490119,sjeng,2133000,1 p1,6.457564,sjeng,2133000,1 p1,6.464012,sjeng,2133000,1 p1,5.732492,sjeng,1733000,1 p1,5.690288,sjeng,1733000,1 p1,5.712512,sjeng,1733000,1 p1,4.810806,sjeng,1199000,1 p1,4.804903,sjeng,1199000,1 p1,4.610057,cpuload_all_50_4096,1199000,0 p1,4.817711,sjeng,1199000,1 p1,6.109395,soplex,2533000,0 p1,6.270586,soplex,2533000,0 p1,6.590721,soplex,2533000,0 p1,5.736592,soplex,2133000,0 p1,5.751460,soplex,2133000,0 p1,5.504064,soplex,2133000,0 p1,4.937829,soplex,1733000,0 p1,5.152247,soplex,1733000,0 p1,5.086209,soplex,1733000,0 p1,7.048147,cpuload_all_50_4096,2533000,1 p1,4.319122,soplex,1199000,0 p1,4.264816,soplex,1199000,0 p1,4.324712,soplex,1199000,0 p1,6.404688,soplex,2533000,1 p1,6.495103,soplex,2533000,1 p1,6.137693,soplex,2533000,1 p1,5.629738,soplex,2133000,1 p1,5.763554,soplex,2133000,1 p1,5.751472,soplex,2133000,1 p1,5.108479,soplex,1733000,1 p1,7.012887,cpuload_all_50_4096,2533000,1 p1,5.033805,soplex,1733000,1 p1,5.142141,soplex,1733000,1 p1,4.447336,soplex,1199000,1 p1,4.561792,soplex,1199000,1 p1,4.495249,soplex,1199000,1 p1,6.917542,sphinx3,2533000,0 p1,6.554045,sphinx3,2533000,0 p1,6.643631,sphinx3,2533000,0 p1,5.947679,sphinx3,2133000,0 p1,6.160829,sphinx3,2133000,0 p1,7.147269,cpuload_all_50_4096,2533000,1 p1,5.874515,sphinx3,2133000,0 p1,5.237006,sphinx3,1733000,0 p1,5.222622,sphinx3,1733000,0 p1,5.263053,sphinx3,1733000,0 p1,4.419383,sphinx3,1199000,0 p1,4.415336,sphinx3,1199000,0 p1,4.554036,sphinx3,1199000,0 p1,7.106266,sphinx3,2533000,1 p1,6.762935,sphinx3,2533000,1 p1,6.784459,sphinx3,2533000,1 p1,6.179207,cpuload_all_50_4096,2133000,1 p1,6.021488,sphinx3,2133000,1 p1,5.936309,sphinx3,2133000,1 p1,6.051072,sphinx3,2133000,1 p1,5.440961,sphinx3,1733000,1 p1,5.260541,sphinx3,1733000,1 p1,5.467814,sphinx3,1733000,1 p1,4.569128,sphinx3,1199000,1 p1,4.703785,sphinx3,1199000,1 p1,4.556264,sphinx3,1199000,1 p1,7.168048,zeusmp,2533000,0 p1,6.168021,cpuload_all_50_4096,2133000,1 p1,7.093960,zeusmp,2533000,0 p1,7.157715,zeusmp,2533000,0 p1,6.275074,zeusmp,2133000,0 p1,6.247166,zeusmp,2133000,0 p1,6.263418,zeusmp,2133000,0 p1,5.482904,zeusmp,1733000,0 p1,5.515964,zeusmp,1733000,0 p1,5.450458,zeusmp,1733000,0 p1,4.629340,zeusmp,1199000,0 p1,4.648817,zeusmp,1199000,0 p1,6.171757,cpuload_all_50_4096,2133000,1 p1,4.620487,zeusmp,1199000,0 p1,7.182846,zeusmp,2533000,1 p1,7.106384,zeusmp,2533000,1 p1,7.043764,zeusmp,2533000,1 p1,6.246131,zeusmp,2133000,1 p1,6.233096,zeusmp,2133000,1 p1,6.297902,zeusmp,2133000,1 p1,5.555971,zeusmp,1733000,1 p1,5.598505,zeusmp,1733000,1 p1,5.567507,zeusmp,1733000,1 p1,5.494715,cpuload_all_50_4096,1733000,1 p1,4.734995,zeusmp,1199000,1 p1,4.760881,zeusmp,1199000,1 p1,4.779051,zeusmp,1199000,1 p1,7.451816,bzip2,2533000,0 p1,7.487045,bzip2,2533000,0 p1,7.380234,bzip2,2533000,0 p1,6.331873,bzip2,2133000,0 p1,6.404149,bzip2,2133000,0 p1,6.351403,bzip2,2133000,0 p1,5.497384,bzip2,1733000,0 p1,5.479292,cpuload_all_50_4096,1733000,1 p1,5.510975,bzip2,1733000,0 p1,5.507619,bzip2,1733000,0 p1,4.655445,bzip2,1199000,0 p1,4.627256,bzip2,1199000,0 p1,4.632897,bzip2,1199000,0 p1,7.346820,bzip2,2533000,1 p1,7.504487,bzip2,2533000,1 p1,7.496681,bzip2,2533000,1 p1,6.325352,bzip2,2133000,1 p1,6.409070,bzip2,2133000,1 p1,5.568964,cpuload_all_50_4096,1733000,1 p1,6.340912,bzip2,2133000,1 p1,5.615465,bzip2,1733000,1 p1,5.607749,bzip2,1733000,1 p1,5.657040,bzip2,1733000,1 p1,4.771824,bzip2,1199000,1 p1,4.759465,bzip2,1199000,1 p1,4.796110,bzip2,1199000,1 p1,7.170256,cactusADM,2533000,0 p1,7.165660,cactusADM,2533000,0 p1,6.978948,cactusADM,2533000,0 p1,4.643568,cpuload_all_50_4096,1199000,1 p1,6.098283,cactusADM,2133000,0 p1,6.143039,cactusADM,2133000,0 p1,6.126104,cactusADM,2133000,0 p1,5.403895,cactusADM,1733000,0 p1,5.456380,cactusADM,1733000,0 p1,5.420357,cactusADM,1733000,0 p1,4.566391,cactusADM,1199000,0 p1,4.555657,cactusADM,1199000,0 p1,4.606176,cactusADM,1199000,0 p1,6.972612,cactusADM,2533000,1 p1,4.644317,cpuload_all_50_4096,1199000,1 p1,7.098136,cactusADM,2533000,1 p1,7.194188,cactusADM,2533000,1 p1,6.312324,cactusADM,2133000,1 p1,6.242171,cactusADM,2133000,1 p1,6.187713,cactusADM,2133000,1 p1,5.578983,cactusADM,1733000,1 p1,5.543930,cactusADM,1733000,1 p1,5.577186,cactusADM,1733000,1 p1,4.761386,cactusADM,1199000,1 p1,4.750059,cactusADM,1199000,1 p1,4.648125,cpuload_all_50_4096,1199000,1 p1,4.727331,cactusADM,1199000,1 p1,0.757565,cpuload_all_0_4096,2533000,0 p1,0.901997,cpuload_all_0_4096,2533000,0 p1,0.740010,cpuload_all_0_4096,2533000,0 p1,0.809661,cpuload_all_0_4096,2133000,0 p1,0.778533,cpuload_all_0_4096,2133000,0 p1,0.745850,cpuload_all_0_4096,2133000,0 p1,0.790352,cpuload_all_0_4096,1733000,0 p1,0.769557,cpuload_all_0_4096,1733000,0 p1,0.729699,cpuload_all_0_4096,1733000,0 p1,7.154393,cpuload_all_75_4096,2533000,0 p1,0.701003,cpuload_all_0_4096,1199000,0 p1,0.646180,cpuload_all_0_4096,1199000,0 p1,0.710139,cpuload_all_0_4096,1199000,0 p1,0.823405,cpuload_all_0_4096,2533000,1 p1,0.776203,cpuload_all_0_4096,2533000,1 p1,0.880324,cpuload_all_0_4096,2533000,1 p1,0.770271,cpuload_all_0_4096,2133000,1 p1,0.855371,cpuload_all_0_4096,2133000,1 p1,0.860172,cpuload_all_0_4096,2133000,1 p1,0.715277,cpuload_all_0_4096,1733000,1 p1,7.045469,cpuload_all_75_4096,2533000,0 p1,0.731947,cpuload_all_0_4096,1733000,1 p1,0.778875,cpuload_all_0_4096,1733000,1 p1,0.784647,cpuload_all_0_4096,1199000,1 p1,0.940300,cpuload_all_0_4096,1199000,1 p1,0.969057,cpuload_all_0_4096,1199000,1 p1,2.610456,cpuload_all_25_4096,2533000,0 p1,2.629393,cpuload_all_25_4096,2533000,0 p1,2.592080,cpuload_all_25_4096,2533000,0 p1,2.368639,cpuload_all_25_4096,2133000,0 p1,2.347721,cpuload_all_25_4096,2133000,0 p1,7.081794,cpuload_all_75_4096,2533000,0 p1,2.369008,cpuload_all_25_4096,2133000,0 p1,2.170850,cpuload_all_25_4096,1733000,0 p1,2.187700,cpuload_all_25_4096,1733000,0 p1,2.169334,cpuload_all_25_4096,1733000,0 p1,1.995794,cpuload_all_25_4096,1199000,0 p1,2.024416,cpuload_all_25_4096,1199000,0 p1,2.005713,cpuload_all_25_4096,1199000,0 p1,2.616114,cpuload_all_25_4096,2533000,1 p1,2.629432,cpuload_all_25_4096,2533000,1 p1,2.573401,cpuload_all_25_4096,2533000,1 p1,6.274067,cpuload_all_75_4096,2133000,0 p1,2.340639,cpuload_all_25_4096,2133000,1 p1,2.334513,cpuload_all_25_4096,2133000,1 p1,2.355372,cpuload_all_25_4096,2133000,1 p1,2.177150,cpuload_all_25_4096,1733000,1 p1,2.150997,cpuload_all_25_4096,1733000,1 p1,2.171347,cpuload_all_25_4096,1733000,1 p1,1.990444,cpuload_all_25_4096,1199000,1 p1,2.003146,cpuload_all_25_4096,1199000,1 p1,2.012580,cpuload_all_25_4096,1199000,1 p1,7.051749,cpuload_all_50_4096,2533000,0 p1,6.234613,cpuload_all_75_4096,2133000,0 p1,7.089267,cpuload_all_50_4096,2533000,0 p1,7.104610,cpuload_all_50_4096,2533000,0 p1,6.248358,cpuload_all_50_4096,2133000,0 p1,6.192728,cpuload_all_50_4096,2133000,0 p1,6.182963,cpuload_all_50_4096,2133000,0 p1,5.372532,cpuload_all_50_4096,1733000,0 p1,5.404963,cpuload_all_50_4096,1733000,0 p1,5.398304,cpuload_all_50_4096,1733000,0 p1,4.596589,cpuload_all_50_4096,1199000,0 p1,4.579096,cpuload_all_50_4096,1199000,0 p1,6.199017,cpuload_all_75_4096,2133000,0 p1,4.519778,cpuload_all_50_4096,1199000,0 p1,7.040613,cpuload_all_50_4096,2533000,1 p1,7.072137,cpuload_all_50_4096,2533000,1 p1,7.079440,cpuload_all_50_4096,2533000,1 p1,5.999708,cpuload_all_50_4096,2133000,1 p1,6.211818,cpuload_all_50_4096,2133000,1 p1,6.195115,cpuload_all_50_4096,2133000,1 p1,5.517328,cpuload_all_50_4096,1733000,1 p1,5.506055,cpuload_all_50_4096,1733000,1 p1,5.504528,cpuload_all_50_4096,1733000,1 p1,5.366127,cpuload_all_75_4096,1733000,0 p1,4.652970,cpuload_all_50_4096,1199000,1 p1,4.669598,cpuload_all_50_4096,1199000,1 p1,4.666228,cpuload_all_50_4096,1199000,1 p1,7.072537,cpuload_all_75_4096,2533000,0 p1,7.043999,cpuload_all_75_4096,2533000,0 p1,7.083700,cpuload_all_75_4096,2533000,0 p1,6.175679,cpuload_all_75_4096,2133000,0 p1,6.192874,cpuload_all_75_4096,2133000,0 p1,6.174849,cpuload_all_75_4096,2133000,0 p1,5.395843,cpuload_all_75_4096,1733000,0 p1,5.452204,cpuload_all_75_4096,1733000,0 p1,5.390319,cpuload_all_75_4096,1733000,0 p1,5.406462,cpuload_all_75_4096,1733000,0 p1,4.553489,cpuload_all_75_4096,1199000,0 p1,4.581027,cpuload_all_75_4096,1199000,0 p1,4.560125,cpuload_all_75_4096,1199000,0 p1,7.066292,cpuload_all_75_4096,2533000,1 p1,7.054933,cpuload_all_75_4096,2533000,1 p1,7.078831,cpuload_all_75_4096,2533000,1 p1,6.186979,cpuload_all_75_4096,2133000,1 p1,6.196897,cpuload_all_75_4096,2133000,1 p1,5.419530,cpuload_all_75_4096,1733000,0 p1,6.201036,cpuload_all_75_4096,2133000,1 p1,5.507220,cpuload_all_75_4096,1733000,1 p1,5.513977,cpuload_all_75_4096,1733000,1 p1,5.514773,cpuload_all_75_4096,1733000,1 p1,4.673456,cpuload_all_75_4096,1199000,1 p1,4.666935,cpuload_all_75_4096,1199000,1 p1,4.665087,cpuload_all_75_4096,1199000,1 p1,7.090820,cpuload_all_100_4096,2533000,0 p1,7.086372,cpuload_all_100_4096,2533000,0 p1,7.096715,cpuload_all_100_4096,2533000,0 p1,4.547251,cpuload_all_75_4096,1199000,0 p1,6.197248,cpuload_all_100_4096,2133000,0 p1,6.198943,cpuload_all_100_4096,2133000,0 p1,6.201587,cpuload_all_100_4096,2133000,0 p1,5.404947,cpuload_all_100_4096,1733000,0 p1,5.416471,cpuload_all_100_4096,1733000,0 p1,5.415273,cpuload_all_100_4096,1733000,0 p1,4.569183,cpuload_all_100_4096,1199000,0 p1,4.559325,cpuload_all_100_4096,1199000,0 p1,4.586461,cpuload_all_100_4096,1199000,0 p1,7.062837,cpuload_all_100_4096,2533000,1 p1,4.533927,cpuload_all_75_4096,1199000,0 p1,7.062552,cpuload_all_100_4096,2533000,1 p1,7.064909,cpuload_all_100_4096,2533000,1 p1,6.225398,cpuload_all_100_4096,2133000,1 p1,6.191985,cpuload_all_100_4096,2133000,1 p1,6.187552,cpuload_all_100_4096,2133000,1 p1,5.519980,cpuload_all_100_4096,1733000,1 p1,5.521278,cpuload_all_100_4096,1733000,1 p1,5.525456,cpuload_all_100_4096,1733000,1 p1,4.675795,cpuload_all_100_4096,1199000,1 p1,4.670104,cpuload_all_100_4096,1199000,1 p1,4.597021,cpuload_all_75_4096,1199000,0 p1,4.664792,cpuload_all_100_4096,1199000,1 p1,8.157098,gamess,2533000,0 p1,8.099629,gamess,2533000,0 p1,8.122932,gamess,2533000,0 p1,6.653020,gamess,2133000,0 p1,6.651594,gamess,2133000,0 p1,6.685322,gamess,2133000,0 p1,5.651978,gamess,1733000,0 p1,5.646459,gamess,1733000,0 p1,5.649114,gamess,1733000,0 p1,6.981300,cpuload_all_75_4096,2533000,1 p1,4.713070,gamess,1199000,0 p1,4.693035,gamess,1199000,0 p1,4.684810,gamess,1199000,0 p1,8.095747,gamess,2533000,1 p1,8.091684,gamess,2533000,1 p1,8.111003,gamess,2533000,1 p1,6.668545,gamess,2133000,1 p1,6.670029,gamess,2133000,1 p1,6.651458,gamess,2133000,1 p1,5.740524,gamess,1733000,1 p1,7.022184,cpuload_all_75_4096,2533000,1 p1,5.731296,gamess,1733000,1 p1,5.694317,gamess,1733000,1 p1,4.810379,gamess,1199000,1 p1,4.813509,gamess,1199000,1 p1,4.811340,gamess,1199000,1 p1,7.395859,gcc,2533000,0 p1,7.397167,gcc,2533000,0 p1,7.398783,gcc,2533000,0 p1,6.444419,gcc,2133000,0 p1,6.448252,gcc,2133000,0 p1,6.720881,cpuload_all_75_4096,2533000,1 p1,6.448061,gcc,2133000,0 p1,5.593764,gcc,1733000,0 p1,5.586390,gcc,1733000,0 p1,5.593365,gcc,1733000,0 p1,4.708700,gcc,1199000,0 p1,4.711186,gcc,1199000,0 p1,4.705519,gcc,1199000,0 p1,7.410904,gcc,2533000,1 p1,7.417557,gcc,2533000,1 p1,7.427895,gcc,2533000,1 p1,6.159058,cpuload_all_75_4096,2133000,1 p1,6.465884,gcc,2133000,1 p1,6.470800,gcc,2133000,1 p1,6.473590,gcc,2133000,1 p1,5.605932,gcc,1733000,1 p1,5.606668,gcc,1733000,1 p1,5.610217,gcc,1733000,1 p1,4.744196,gcc,1199000,1 p1,4.740263,gcc,1199000,1 p1,4.726929,gcc,1199000,1 p1,7.573360,gobmk,2533000,0 p1,6.157714,cpuload_all_75_4096,2133000,1 p1,7.587223,gobmk,2533000,0 p1,7.539697,gobmk,2533000,0 p1,6.447659,gobmk,2133000,0 p1,6.455211,gobmk,2133000,0 p1,6.446162,gobmk,2133000,0 p1,5.584590,gobmk,1733000,0 p1,5.560943,gobmk,1733000,0 p1,5.581879,gobmk,1733000,0 p1,4.680402,gobmk,1199000,0 p1,4.668110,gobmk,1199000,0 p1,6.186279,cpuload_all_75_4096,2133000,1 p1,4.681837,gobmk,1199000,0 p1,7.505741,gobmk,2533000,1 p1,7.544285,gobmk,2533000,1 p1,7.541051,gobmk,2533000,1 p1,6.451016,gobmk,2133000,1 p1,6.438838,gobmk,2133000,1 p1,6.462114,gobmk,2133000,1 p1,5.586154,gobmk,1733000,1 p1,5.572719,gobmk,1733000,1 p1,5.595973,gobmk,1733000,1 p1,5.515422,cpuload_all_75_4096,1733000,1 p1,4.726796,gobmk,1199000,1 p1,4.722837,gobmk,1199000,1 p1,4.692772,gobmk,1199000,1 p1,7.371059,gromacs,2533000,0 p1,7.367448,gromacs,2533000,0 p1,7.363439,gromacs,2533000,0 p1,6.431620,gromacs,2133000,0 p1,6.409606,gromacs,2133000,0 p1,6.417368,gromacs,2133000,0 p1,5.579813,gromacs,1733000,0 p1,5.470626,cpuload_all_75_4096,1733000,1 p1,5.559858,gromacs,1733000,0 p1,5.552557,gromacs,1733000,0 p1,4.687890,gromacs,1199000,0 p1,4.690725,gromacs,1199000,0 p1,4.686398,gromacs,1199000,0 p1,7.374815,gromacs,2533000,1 p1,7.340847,gromacs,2533000,1 p1,7.346634,gromacs,2533000,1 p1,6.412580,gromacs,2133000,1 p1,6.425931,gromacs,2133000,1 p1,5.486995,cpuload_all_75_4096,1733000,1 p1,6.395884,gromacs,2133000,1 p1,5.569475,gromacs,1733000,1 p1,5.571409,gromacs,1733000,1 p1,5.593955,gromacs,1733000,1 p1,4.776821,gromacs,1199000,1 p1,4.791883,gromacs,1199000,1 p1,4.791656,gromacs,1199000,1 p1,7.638230,h264ref,2533000,0 p1,7.649705,h264ref,2533000,0 p1,7.667748,h264ref,2533000,0 p1,4.709936,cpuload_all_75_4096,1199000,1 p1,6.521251,h264ref,2133000,0 p1,6.478445,h264ref,2133000,0 p1,6.469785,h264ref,2133000,0 p1,5.564680,h264ref,1733000,0 p1,5.571208,h264ref,1733000,0 p1,5.574473,h264ref,1733000,0 p1,4.689649,h264ref,1199000,0 p1,4.685754,h264ref,1199000,0 p1,4.677830,h264ref,1199000,0 p1,7.653624,h264ref,2533000,1 p1,4.653221,cpuload_all_75_4096,1199000,1 p1,7.672803,h264ref,2533000,1 p1,7.656325,h264ref,2533000,1 p1,6.470491,h264ref,2133000,1 p1,6.477796,h264ref,2133000,1 p1,6.467163,h264ref,2133000,1 p1,5.600949,h264ref,1733000,1 p1,5.596917,h264ref,1733000,1 p1,5.590532,h264ref,1733000,1 p1,4.692823,h264ref,1199000,1 p1,4.710524,h264ref,1199000,1 p1,4.653704,cpuload_all_75_4096,1199000,1 p1,4.687802,h264ref,1199000,1 p1,7.851812,hmmer,2533000,0 p1,7.971634,hmmer,2533000,0 p1,7.978137,hmmer,2533000,0 p1,6.623589,hmmer,2133000,0 p1,6.613633,hmmer,2133000,0 p1,6.572183,hmmer,2133000,0 p1,5.539348,hmmer,1733000,0 p1,5.574066,hmmer,1733000,0 p1,5.578951,hmmer,1733000,0 p1,7.065313,cpuload_all_100_4096,2533000,0 p1,4.664168,hmmer,1199000,0 p1,4.671283,hmmer,1199000,0 p1,4.675379,hmmer,1199000,0 p1,7.937051,hmmer,2533000,1 p1,8.009874,hmmer,2533000,1 p1,7.991923,hmmer,2533000,1 p1,6.592152,hmmer,2133000,1 p1,6.537510,hmmer,2133000,1 p1,6.513707,hmmer,2133000,1 p1,5.567450,hmmer,1733000,1 p1,7.150949,cpuload_all_100_4096,2533000,0 p1,5.563863,hmmer,1733000,1 p1,5.575713,hmmer,1733000,1 p1,4.652886,hmmer,1199000,1 p1,4.654485,hmmer,1199000,1 p1,4.662682,hmmer,1199000,1 p1,7.142330,lbm,2533000,0 p1,7.189904,lbm,2533000,0 p1,7.135083,lbm,2533000,0 p1,6.333849,lbm,2133000,0 p1,6.284655,lbm,2133000,0 p1,7.043443,cpuload_all_100_4096,2533000,0 p1,6.325274,lbm,2133000,0 p1,5.473942,lbm,1733000,0 p1,5.468606,lbm,1733000,0 p1,5.433995,lbm,1733000,0 p1,4.642242,lbm,1199000,0 p1,4.620951,lbm,1199000,0 p1,4.604566,lbm,1199000,0 p1,7.188644,lbm,2533000,1 p1,7.132509,lbm,2533000,1 p1,7.194170,lbm,2533000,1 p1,6.180740,cpuload_all_100_4096,2133000,0 p1,6.352996,lbm,2133000,1 p1,6.348269,lbm,2133000,1 p1,6.339934,lbm,2133000,1 p1,5.444438,lbm,1733000,1 p1,5.475287,lbm,1733000,1 p1,5.467870,lbm,1733000,1 p1,4.604334,lbm,1199000,1 p1,4.636862,lbm,1199000,1 p1,4.615935,lbm,1199000,1 p1,7.363881,leslie3d,2533000,0 p1,6.280515,cpuload_all_100_4096,2133000,0 p1,7.381968,leslie3d,2533000,0 p1,7.377833,leslie3d,2533000,0 p1,6.416458,leslie3d,2133000,0 p1,6.407606,leslie3d,2133000,0 p1,6.419199,leslie3d,2133000,0 p1,5.539396,leslie3d,1733000,0 p1,5.568293,leslie3d,1733000,0 p1,5.568239,leslie3d,1733000,0 p1,4.702500,leslie3d,1199000,0 p1,4.690761,leslie3d,1199000,0 p1,6.216597,cpuload_all_100_4096,2133000,0 p1,4.697601,leslie3d,1199000,0 p1,7.404502,leslie3d,2533000,1 p1,7.386024,leslie3d,2533000,1 p1,7.432685,leslie3d,2533000,1 p1,6.442886,leslie3d,2133000,1 p1,6.418644,leslie3d,2133000,1 p1,6.408870,leslie3d,2133000,1 p1,5.560286,leslie3d,1733000,1 p1,5.560509,leslie3d,1733000,1 p1,5.568989,leslie3d,1733000,1 p1,5.400930,cpuload_all_100_4096,1733000,0 p1,4.703883,leslie3d,1199000,1 p1,4.695555,leslie3d,1199000,1 p1,4.700049,leslie3d,1199000,1 p1,6.827102,mcf,2533000,0 p1,6.934707,mcf,2533000,0 p1,6.819120,mcf,2533000,0 p1,5.986872,mcf,2133000,0 p1,6.052062,mcf,2133000,0 p1,6.034620,mcf,2133000,0 p1,5.369547,mcf,1733000,0 p1,5.480531,cpuload_all_100_4096,1733000,0 p1,5.362848,mcf,1733000,0 p1,5.303617,mcf,1733000,0 p1,4.532132,mcf,1199000,0 p1,4.517051,mcf,1199000,0 p1,4.550448,mcf,1199000,0 p1,6.806147,mcf,2533000,1 p1,6.813672,mcf,2533000,1 p1,6.910395,mcf,2533000,1 p1,6.090883,mcf,2133000,1 p1,6.082206,mcf,2133000,1 p1,5.419674,cpuload_all_100_4096,1733000,0 p1,6.105825,mcf,2133000,1 p1,5.281371,mcf,1733000,1 p1,5.286519,mcf,1733000,1 p1,5.254626,mcf,1733000,1 p1,4.506822,mcf,1199000,1 p1,4.573684,mcf,1199000,1 p1,4.581482,mcf,1199000,1 p1,6.764531,milc,2533000,0 p1,6.704766,milc,2533000,0 p1,6.664954,milc,2533000,0 p1,4.554840,cpuload_all_100_4096,1199000,0 p1,5.915672,milc,2133000,0 p1,5.920122,milc,2133000,0 p1,5.952288,milc,2133000,0 p1,5.295641,milc,1733000,0 p1,5.303889,milc,1733000,0 p1,5.283955,milc,1733000,0 p1,4.491137,milc,1199000,0 p1,4.562380,milc,1199000,0 p1,4.449514,milc,1199000,0 p1,6.888090,milc,2533000,1 p1,4.539880,cpuload_all_100_4096,1199000,0 p1,6.897050,milc,2533000,1 p1,6.894057,milc,2533000,1 p1,5.987905,milc,2133000,1 p1,6.019819,milc,2133000,1 p1,5.990509,milc,2133000,1 p1,5.170337,milc,1733000,1 p1,5.278592,milc,1733000,1 p1,5.297249,milc,1733000,1 p1,4.474729,milc,1199000,1 p1,4.553986,milc,1199000,1 p1,4.613303,cpuload_all_100_4096,1199000,0 p1,4.445343,milc,1199000,1 p1,6.712315,namd,2533000,0 p1,6.856095,namd,2533000,0 p1,6.730185,namd,2533000,0 p1,5.938768,namd,2133000,0 p1,5.892265,namd,2133000,0 p1,5.905198,namd,2133000,0 p1,5.166398,namd,1733000,0 p1,5.146840,namd,1733000,0 p1,5.105446,namd,1733000,0 p1,7.135091,cpuload_all_100_4096,2533000,1 p1,4.478981,namd,1199000,0 p1,4.587023,namd,1199000,0 p1,4.503018,namd,1199000,0 p1,6.755839,namd,2533000,1 p1,6.744189,namd,2533000,1 p1,6.848786,namd,2533000,1 p1,5.988426,namd,2133000,1 p1,5.898955,namd,2133000,1 p1,5.973581,namd,2133000,1 p1,5.280409,namd,1733000,1 p1,7.039828,cpuload_all_100_4096,2533000,1 p1,5.223274,namd,1733000,1 p1,5.175529,namd,1733000,1 p1,4.510972,namd,1199000,1 p1,4.481555,namd,1199000,1 p1,4.549084,namd,1199000,1 p1,7.864908,omnetpp,2533000,0 p1,7.823435,omnetpp,2533000,0 p1,7.922773,omnetpp,2533000,0 p1,6.573642,omnetpp,2133000,0 p1,6.469634,omnetpp,2133000,0 p1,7.052935,cpuload_all_100_4096,2533000,1 p1,6.514158,omnetpp,2133000,0 p1,5.570808,omnetpp,1733000,0 p1,5.565535,omnetpp,1733000,0 p1,5.578639,omnetpp,1733000,0 p1,4.660541,omnetpp,1199000,0 p1,4.675657,omnetpp,1199000,0 p1,4.674411,omnetpp,1199000,0 p1,7.800399,omnetpp,2533000,1 p1,7.805857,omnetpp,2533000,1 p1,7.854756,omnetpp,2533000,1 p1,6.250407,cpuload_all_100_4096,2133000,1 p1,6.525089,omnetpp,2133000,1 p1,6.487123,omnetpp,2133000,1 p1,6.499683,omnetpp,2133000,1 p1,5.525935,omnetpp,1733000,1 p1,5.523530,omnetpp,1733000,1 p1,5.531818,omnetpp,1733000,1 p1,4.676205,omnetpp,1199000,1 p1,4.686991,omnetpp,1199000,1 p1,4.662868,omnetpp,1199000,1 p1,6.615869,povray,2533000,0 p1,6.169406,cpuload_all_100_4096,2133000,1 p1,6.900662,povray,2533000,0 p1,6.557395,povray,2533000,0 p1,5.450124,povray,2133000,0 p1,5.427708,povray,2133000,0 p1,5.446149,povray,2133000,0 p1,4.930432,povray,1733000,0 p1,5.195226,povray,1733000,0 p1,4.930222,povray,1733000,0 p1,4.454080,povray,1199000,0 p1,4.298672,povray,1199000,0 p1,6.168297,cpuload_all_100_4096,2133000,1 p1,4.374468,povray,1199000,0 p1,6.412226,povray,2533000,1 p1,6.428514,povray,2533000,1 p1,6.558154,povray,2533000,1 p1,5.753157,povray,2133000,1 p1,5.808292,povray,2133000,1 p1,5.819128,povray,2133000,1 p1,4.954219,povray,1733000,1 p1,4.909715,povray,1733000,1 p1,5.187356,povray,1733000,1 p1,5.580810,cpuload_all_100_4096,1733000,1 p1,4.251885,povray,1199000,1 p1,4.321718,povray,1199000,1 p1,4.441414,povray,1199000,1 p1,7.613283,sjeng,2533000,0 p1,7.561911,sjeng,2533000,0 p1,7.605416,sjeng,2533000,0 p1,6.479316,sjeng,2133000,0 p1,6.500065,sjeng,2133000,0 p1,6.509589,sjeng,2133000,0 p1,5.608853,sjeng,1733000,0 p1,5.501108,cpuload_all_100_4096,1733000,1 p1,5.590874,sjeng,1733000,0 p1,5.588608,sjeng,1733000,0 p1,4.693775,sjeng,1199000,0 p1,4.698040,sjeng,1199000,0 p1,4.695050,sjeng,1199000,0 p1,7.535381,sjeng,2533000,1 p1,7.543458,sjeng,2533000,1 p1,7.529869,sjeng,2533000,1 p1,6.492155,sjeng,2133000,1 p1,6.496299,sjeng,2133000,1 p1,5.508151,cpuload_all_100_4096,1733000,1 p1,6.503881,sjeng,2133000,1 p1,5.588109,sjeng,1733000,1 p1,5.583467,sjeng,1733000,1 p1,5.585895,sjeng,1733000,1 p1,4.709630,sjeng,1199000,1 p1,4.713754,sjeng,1199000,1 p1,4.721644,sjeng,1199000,1 p1,6.378498,soplex,2533000,0 p1,6.351865,soplex,2533000,0 p1,5.950439,soplex,2533000,0 p1,4.658399,cpuload_all_100_4096,1199000,1 p1,5.362884,soplex,2133000,0 p1,5.662363,soplex,2133000,0 p1,5.670488,soplex,2133000,0 p1,4.859540,soplex,1733000,0 p1,4.878554,soplex,1733000,0 p1,4.865558,soplex,1733000,0 p1,4.231186,soplex,1199000,0 p1,4.321156,soplex,1199000,0 p1,4.233179,soplex,1199000,0 p1,5.867889,soplex,2533000,1 p1,4.698302,cpuload_all_100_4096,1199000,1 p1,5.994055,soplex,2533000,1 p1,6.042013,soplex,2533000,1 p1,5.658842,soplex,2133000,1 p1,5.762084,soplex,2133000,1 p1,5.296520,soplex,2133000,1 p1,4.725245,soplex,1733000,1 p1,4.895597,soplex,1733000,1 p1,4.845594,soplex,1733000,1 p1,4.232763,soplex,1199000,1 p1,4.234447,soplex,1199000,1 p1,4.656544,cpuload_all_100_4096,1199000,1 p1,4.266230,soplex,1199000,1 p1,6.687491,sphinx3,2533000,0 p1,6.628709,sphinx3,2533000,0 p1,6.743814,sphinx3,2533000,0 p1,6.000692,sphinx3,2133000,0 p1,5.981955,sphinx3,2133000,0 p1,5.723673,sphinx3,2133000,0 p1,5.151377,sphinx3,1733000,0 p1,5.176628,sphinx3,1733000,0 p1,5.103001,sphinx3,1733000,0 p1,8.122498,gamess,2533000,0 p1,4.407137,sphinx3,1199000,0 p1,4.433843,sphinx3,1199000,0 p1,4.400740,sphinx3,1199000,0 p1,6.574955,sphinx3,2533000,1 p1,6.666487,sphinx3,2533000,1 p1,6.632906,sphinx3,2533000,1 p1,5.977275,sphinx3,2133000,1 p1,5.989348,sphinx3,2133000,1 p1,5.776171,sphinx3,2133000,1 p1,5.103527,sphinx3,1733000,1 p1,8.171060,gamess,2533000,0 p1,5.174030,sphinx3,1733000,1 p1,5.148496,sphinx3,1733000,1 p1,4.394685,sphinx3,1199000,1 p1,4.415764,sphinx3,1199000,1 p1,4.387746,sphinx3,1199000,1 p1,7.110555,zeusmp,2533000,0 p1,7.108726,zeusmp,2533000,0 p1,7.135861,zeusmp,2533000,0 p1,6.267369,zeusmp,2133000,0 p1,6.211096,zeusmp,2133000,0 p1,8.147651,gamess,2533000,0 p1,6.284173,zeusmp,2133000,0 p1,5.461732,zeusmp,1733000,0 p1,5.504670,zeusmp,1733000,0 p1,5.388581,zeusmp,1733000,0 p1,4.606091,zeusmp,1199000,0 p1,4.605613,zeusmp,1199000,0 p1,4.655022,zeusmp,1199000,0 p1,7.090725,zeusmp,2533000,1 p1,7.097323,zeusmp,2533000,1 p1,7.095378,zeusmp,2533000,1 p1,6.654341,gamess,2133000,0 p1,6.259628,zeusmp,2133000,1 p1,6.271157,zeusmp,2133000,1 p1,6.273350,zeusmp,2133000,1 p1,5.492717,zeusmp,1733000,1 p1,5.479648,zeusmp,1733000,1 p1,5.440629,zeusmp,1733000,1 p1,4.612406,zeusmp,1199000,1 p1,4.600932,zeusmp,1199000,1 p1,4.654585,zeusmp,1199000,1 p1,7.317748,bzip2,2533000,0 p1,6.692805,gamess,2133000,0 p1,7.357375,bzip2,2533000,0 p1,7.305158,bzip2,2533000,0 p1,6.337949,bzip2,2133000,0 p1,6.313949,bzip2,2133000,0 p1,6.337564,bzip2,2133000,0 p1,5.478140,bzip2,1733000,0 p1,5.415669,bzip2,1733000,0 p1,5.487623,bzip2,1733000,0 p1,4.625002,bzip2,1199000,0 p1,4.628526,bzip2,1199000,0 p1,6.680723,gamess,2133000,0 p1,4.632521,bzip2,1199000,0 p1,7.343127,bzip2,2533000,1 p1,7.325662,bzip2,2533000,1 p1,7.344201,bzip2,2533000,1 p1,6.334642,bzip2,2133000,1 p1,6.353173,bzip2,2133000,1 p1,6.243079,bzip2,2133000,1 p1,5.480481,bzip2,1733000,1 p1,5.479015,bzip2,1733000,1 p1,5.485842,bzip2,1733000,1 p1,5.633904,gamess,1733000,0 p1,4.622453,bzip2,1199000,1 p1,4.628674,bzip2,1199000,1 p1,4.625269,bzip2,1199000,1 p1,6.999528,cactusADM,2533000,0 p1,7.017907,cactusADM,2533000,0 p1,6.974230,cactusADM,2533000,0 p1,6.066185,cactusADM,2133000,0 p1,6.222805,cactusADM,2133000,0 p1,6.151170,cactusADM,2133000,0 p1,5.371750,cactusADM,1733000,0 p1,5.643825,gamess,1733000,0 p1,5.421321,cactusADM,1733000,0 p1,5.375146,cactusADM,1733000,0 p1,4.545712,cactusADM,1199000,0 p1,4.545355,cactusADM,1199000,0 p1,4.562064,cactusADM,1199000,0 p1,6.927227,cactusADM,2533000,1 p1,6.997798,cactusADM,2533000,1 p1,6.916112,cactusADM,2533000,1 p1,6.175251,cactusADM,2133000,1 p1,6.104968,cactusADM,2133000,1 p1,5.633502,gamess,1733000,0 p1,6.216790,cactusADM,2133000,1 p1,5.381126,cactusADM,1733000,1 p1,5.351813,cactusADM,1733000,1 p1,5.391396,cactusADM,1733000,1 p1,4.547174,cactusADM,1199000,1 p1,4.594331,cactusADM,1199000,1 p1,4.573058,cactusADM,1199000,1 p1,0.708621,cpuload_all_0_4096,2533000,0 p1,0.685896,cpuload_all_0_4096,2533000,0 p1,0.758312,cpuload_all_0_4096,2533000,0 p1,4.673766,gamess,1199000,0 p1,0.663900,cpuload_all_0_4096,2133000,0 p1,0.673140,cpuload_all_0_4096,2133000,0 p1,0.717095,cpuload_all_0_4096,2133000,0 p1,0.745450,cpuload_all_0_4096,1733000,0 p1,0.667275,cpuload_all_0_4096,1733000,0 p1,0.660539,cpuload_all_0_4096,1733000,0 p1,0.646697,cpuload_all_0_4096,1199000,0 p1,0.647531,cpuload_all_0_4096,1199000,0 p1,0.741264,cpuload_all_0_4096,1199000,0 p1,0.638057,cpuload_all_0_4096,2533000,1 p1,4.674024,gamess,1199000,0 p1,0.683027,cpuload_all_0_4096,2533000,1 p1,0.696002,cpuload_all_0_4096,2533000,1 p1,0.684276,cpuload_all_0_4096,2133000,1 p1,0.616663,cpuload_all_0_4096,2133000,1 p1,0.629783,cpuload_all_0_4096,2133000,1 p1,0.584777,cpuload_all_0_4096,1733000,1 p1,0.610829,cpuload_all_0_4096,1733000,1 p1,0.619494,cpuload_all_0_4096,1733000,1 p1,0.644549,cpuload_all_0_4096,1199000,1 p1,0.585345,cpuload_all_0_4096,1199000,1 p1,4.681026,gamess,1199000,0 p1,0.557637,cpuload_all_0_4096,1199000,1 p1,2.524636,cpuload_all_25_4096,2533000,0 p1,2.550947,cpuload_all_25_4096,2533000,0 p1,2.553142,cpuload_all_25_4096,2533000,0 p1,2.295575,cpuload_all_25_4096,2133000,0 p1,2.324522,cpuload_all_25_4096,2133000,0 p1,2.317162,cpuload_all_25_4096,2133000,0 p1,2.049599,cpuload_all_25_4096,1733000,0 p1,2.036680,cpuload_all_25_4096,1733000,0 p1,2.087688,cpuload_all_25_4096,1733000,0 p1,8.119296,gamess,2533000,1 p1,1.878058,cpuload_all_25_4096,1199000,0 p1,1.901557,cpuload_all_25_4096,1199000,0 p1,1.860273,cpuload_all_25_4096,1199000,0 p1,2.509180,cpuload_all_25_4096,2533000,1 p1,2.480566,cpuload_all_25_4096,2533000,1 p1,2.441330,cpuload_all_25_4096,2533000,1 p1,2.273023,cpuload_all_25_4096,2133000,1 p1,2.260842,cpuload_all_25_4096,2133000,1 p1,2.254558,cpuload_all_25_4096,2133000,1 p1,2.045159,cpuload_all_25_4096,1733000,1 p1,8.092899,gamess,2533000,1 p1,2.077904,cpuload_all_25_4096,1733000,1 p1,2.079217,cpuload_all_25_4096,1733000,1 p1,1.884210,cpuload_all_25_4096,1199000,1 p1,1.877622,cpuload_all_25_4096,1199000,1 p1,1.885504,cpuload_all_25_4096,1199000,1 p1,7.063353,cpuload_all_50_4096,2533000,0 p1,7.084280,cpuload_all_50_4096,2533000,0 p1,7.069367,cpuload_all_50_4096,2533000,0 p1,6.192365,cpuload_all_50_4096,2133000,0 p1,6.249635,cpuload_all_50_4096,2133000,0 p1,8.170779,gamess,2533000,1 p1,6.255597,cpuload_all_50_4096,2133000,0 p1,5.367234,cpuload_all_50_4096,1733000,0 p1,5.377595,cpuload_all_50_4096,1733000,0 p1,5.454217,cpuload_all_50_4096,1733000,0 p1,4.523450,cpuload_all_50_4096,1199000,0 p1,4.546450,cpuload_all_50_4096,1199000,0 p1,4.589407,cpuload_all_50_4096,1199000,0 p1,7.049496,cpuload_all_50_4096,2533000,1 p1,7.109095,cpuload_all_50_4096,2533000,1 p1,7.073836,cpuload_all_50_4096,2533000,1 p1,6.622984,gamess,2133000,1 p1,6.265219,cpuload_all_50_4096,2133000,1 p1,6.185685,cpuload_all_50_4096,2133000,1 p1,6.183063,cpuload_all_50_4096,2133000,1 p1,5.389149,cpuload_all_50_4096,1733000,1 p1,5.451892,cpuload_all_50_4096,1733000,1 p1,5.049642,cpuload_all_50_4096,1733000,1 p1,4.541249,cpuload_all_50_4096,1199000,1 p1,4.595923,cpuload_all_50_4096,1199000,1 p1,4.539701,cpuload_all_50_4096,1199000,1 p1,7.079805,cpuload_all_75_4096,2533000,0 p1,6.645181,gamess,2133000,1 p1,7.177394,cpuload_all_75_4096,2533000,0 p1,7.089532,cpuload_all_75_4096,2533000,0 p1,6.174109,cpuload_all_75_4096,2133000,0 p1,6.182443,cpuload_all_75_4096,2133000,0 p1,6.181207,cpuload_all_75_4096,2133000,0 p1,5.362829,cpuload_all_75_4096,1733000,0 p1,5.372885,cpuload_all_75_4096,1733000,0 p1,5.438516,cpuload_all_75_4096,1733000,0 p1,4.534511,cpuload_all_75_4096,1199000,0 p1,4.561629,cpuload_all_75_4096,1199000,0 p1,6.619355,gamess,2133000,1 p1,4.599798,cpuload_all_75_4096,1199000,0 p1,7.069370,cpuload_all_75_4096,2533000,1 p1,6.935301,cpuload_all_75_4096,2533000,1 p1,7.006164,cpuload_all_75_4096,2533000,1 p1,6.157208,cpuload_all_75_4096,2133000,1 p1,6.244552,cpuload_all_75_4096,2133000,1 p1,6.174857,cpuload_all_75_4096,2133000,1 p1,5.363650,cpuload_all_75_4096,1733000,1 p1,5.360356,cpuload_all_75_4096,1733000,1 p1,5.280544,cpuload_all_75_4096,1733000,1 p1,5.743861,gamess,1733000,1 p1,4.607615,cpuload_all_75_4096,1199000,1 p1,4.544880,cpuload_all_75_4096,1199000,1 p1,1.533704,cpuload_all_75_4096,1199000,1 p1,7.097292,cpuload_all_100_4096,2533000,0 p1,6.978437,cpuload_all_100_4096,2533000,0 p1,7.159011,cpuload_all_100_4096,2533000,0 p1,6.188853,cpuload_all_100_4096,2133000,0 p1,6.213142,cpuload_all_100_4096,2133000,0 p1,6.206415,cpuload_all_100_4096,2133000,0 p1,5.369659,cpuload_all_100_4096,1733000,0 p1,5.753084,gamess,1733000,1 p1,5.453383,cpuload_all_100_4096,1733000,0 p1,5.384608,cpuload_all_100_4096,1733000,0 p1,4.578382,cpuload_all_100_4096,1199000,0 p1,4.533682,cpuload_all_100_4096,1199000,0 p1,4.587163,cpuload_all_100_4096,1199000,0 p1,7.087315,cpuload_all_100_4096,2533000,1 p1,7.061236,cpuload_all_100_4096,2533000,1 p1,7.159853,cpuload_all_100_4096,2533000,1 p1,6.187304,cpuload_all_100_4096,2133000,1 p1,6.268457,cpuload_all_100_4096,2133000,1 p1,5.759302,gamess,1733000,1 p1,6.084581,cpuload_all_100_4096,2133000,1 p1,5.371621,cpuload_all_100_4096,1733000,1 p1,5.365592,cpuload_all_100_4096,1733000,1 p1,5.429151,cpuload_all_100_4096,1733000,1 p1,4.526440,cpuload_all_100_4096,1199000,1 p1,4.595600,cpuload_all_100_4096,1199000,1 p1,4.549674,cpuload_all_100_4096,1199000,1 p1,8.006161,gamess,2533000,0 p1,8.081431,gamess,2533000,0 p1,8.115882,gamess,2533000,0 p1,4.801209,gamess,1199000,1 p1,6.622693,gamess,2133000,0 p1,6.670415,gamess,2133000,0 p1,6.596661,gamess,2133000,0 p1,5.608018,gamess,1733000,0 p1,5.620440,gamess,1733000,0 p1,5.606762,gamess,1733000,0 p1,4.690482,gamess,1199000,0 p1,4.667803,gamess,1199000,0 p1,4.696159,gamess,1199000,0 p1,8.023554,gamess,2533000,1 p1,4.804529,gamess,1199000,1 p1,8.107332,gamess,2533000,1 p1,8.020061,gamess,2533000,1 p1,6.609896,gamess,2133000,1 p1,6.633036,gamess,2133000,1 p1,6.626856,gamess,2133000,1 p1,5.638363,gamess,1733000,1 p1,5.628377,gamess,1733000,1 p1,5.624916,gamess,1733000,1 p1,4.685452,gamess,1199000,1 p1,4.703097,gamess,1199000,1 p1,4.795816,gamess,1199000,1 p1,4.701554,gamess,1199000,1 p1,7.396257,gcc,2533000,0 p1,7.415336,gcc,2533000,0 p1,7.413622,gcc,2533000,0 p1,6.465171,gcc,2133000,0 p1,6.469086,gcc,2133000,0 p1,6.469150,gcc,2133000,0 p1,5.593833,gcc,1733000,0 p1,5.588618,gcc,1733000,0 p1,5.586163,gcc,1733000,0 p1,7.385315,gcc,2533000,0 p1,4.711472,gcc,1199000,0 p1,4.710417,gcc,1199000,0 p1,4.707981,gcc,1199000,0 p1,7.392002,gcc,2533000,1 p1,7.392990,gcc,2533000,1 p1,7.396556,gcc,2533000,1 p1,6.457552,gcc,2133000,1 p1,6.459168,gcc,2133000,1 p1,6.446078,gcc,2133000,1 p1,5.583786,gcc,1733000,1 p1,7.389044,gcc,2533000,0 p1,5.588122,gcc,1733000,1 p1,5.583892,gcc,1733000,1 p1,4.708402,gcc,1199000,1 p1,4.708369,gcc,1199000,1 p1,4.706305,gcc,1199000,1 p1,7.504289,gobmk,2533000,0 p1,7.518797,gobmk,2533000,0 p1,7.475594,gobmk,2533000,0 p1,6.474809,gobmk,2133000,0 p1,6.468665,gobmk,2133000,0 p1,7.385461,gcc,2533000,0 p1,6.442329,gobmk,2133000,0 p1,5.546280,gobmk,1733000,0 p1,5.548930,gobmk,1733000,0 p1,5.546798,gobmk,1733000,0 p1,4.661994,gobmk,1199000,0 p1,4.676379,gobmk,1199000,0 p1,4.676659,gobmk,1199000,0 p1,7.475655,gobmk,2533000,1 p1,7.455604,gobmk,2533000,1 p1,7.485458,gobmk,2533000,1 p1,6.437036,gcc,2133000,0 p1,6.446046,gobmk,2133000,1 p1,6.449122,gobmk,2133000,1 p1,6.410598,gobmk,2133000,1 p1,5.544454,gobmk,1733000,1 p1,5.558750,gobmk,1733000,1 p1,5.542925,gobmk,1733000,1 p1,4.679126,gobmk,1199000,1 p1,4.659939,gobmk,1199000,1 p1,4.664100,gobmk,1199000,1 p1,7.309635,gromacs,2533000,0 p1,6.426255,gcc,2133000,0 p1,7.316015,gromacs,2533000,0 p1,7.348898,gromacs,2533000,0 p1,6.411944,gromacs,2133000,0 p1,6.385395,gromacs,2133000,0 p1,6.405603,gromacs,2133000,0 p1,5.557547,gromacs,1733000,0 p1,5.557315,gromacs,1733000,0 p1,5.531421,gromacs,1733000,0 p1,4.682684,gromacs,1199000,0 p1,4.674792,gromacs,1199000,0 p1,6.436343,gcc,2133000,0 p1,4.681409,gromacs,1199000,0 p1,7.355980,gromacs,2533000,1 p1,7.330102,gromacs,2533000,1 p1,7.336534,gromacs,2533000,1 p1,6.420015,gromacs,2133000,1 p1,6.432328,gromacs,2133000,1 p1,6.383915,gromacs,2133000,1 p1,5.542928,gromacs,1733000,1 p1,5.547829,gromacs,1733000,1 p1,5.546399,gromacs,1733000,1 p1,5.571573,gcc,1733000,0 p1,4.679702,gromacs,1199000,1 p1,4.675488,gromacs,1199000,1 p1,4.692994,gromacs,1199000,1 p1,7.580638,h264ref,2533000,0 p1,7.646719,h264ref,2533000,0 p1,7.572186,h264ref,2533000,0 p1,6.479855,h264ref,2133000,0 p1,6.501906,h264ref,2133000,0 p1,6.437634,h264ref,2133000,0 p1,5.550851,h264ref,1733000,0 p1,5.571871,gcc,1733000,0 p1,5.563237,h264ref,1733000,0 p1,5.615136,h264ref,1733000,0 p1,4.665449,h264ref,1199000,0 p1,4.668676,h264ref,1199000,0 p1,4.687919,h264ref,1199000,0 p1,7.526171,h264ref,2533000,1 p1,7.538398,h264ref,2533000,1 p1,7.616365,h264ref,2533000,1 p1,6.442015,h264ref,2133000,1 p1,6.512760,h264ref,2133000,1 p1,5.576912,gcc,1733000,0 p1,6.438029,h264ref,2133000,1 p1,5.604892,h264ref,1733000,1 p1,5.569775,h264ref,1733000,1 p1,5.582781,h264ref,1733000,1 p1,4.665032,h264ref,1199000,1 p1,4.670023,h264ref,1199000,1 p1,4.673973,h264ref,1199000,1 p1,8.045739,hmmer,2533000,0 p1,7.892556,hmmer,2533000,0 p1,8.015449,hmmer,2533000,0 p1,4.688429,gcc,1199000,0 p1,6.488609,hmmer,2133000,0 p1,6.474431,hmmer,2133000,0 p1,6.468596,hmmer,2133000,0 p1,5.492987,hmmer,1733000,0 p1,5.609606,hmmer,1733000,0 p1,5.592188,hmmer,1733000,0 p1,4.658665,hmmer,1199000,0 p1,4.695843,hmmer,1199000,0 p1,4.660050,hmmer,1199000,0 p1,7.965375,hmmer,2533000,1 p1,4.690429,gcc,1199000,0 p1,7.920740,hmmer,2533000,1 p1,7.992031,hmmer,2533000,1 p1,6.504333,hmmer,2133000,1 p1,6.463298,hmmer,2133000,1 p1,6.469344,hmmer,2133000,1 p1,5.550758,hmmer,1733000,1 p1,5.497244,hmmer,1733000,1 p1,5.552932,hmmer,1733000,1 p1,4.651051,hmmer,1199000,1 p1,4.644749,hmmer,1199000,1 p1,4.693774,gcc,1199000,0 p1,4.648930,hmmer,1199000,1 p1,7.245504,lbm,2533000,0 p1,7.157887,lbm,2533000,0 p1,7.202447,lbm,2533000,0 p1,6.367352,lbm,2133000,0 p1,6.312207,lbm,2133000,0 p1,6.352326,lbm,2133000,0 p1,5.521424,lbm,1733000,0 p1,5.547407,lbm,1733000,0 p1,5.522241,lbm,1733000,0 p1,7.394992,gcc,2533000,1 p1,4.644355,lbm,1199000,0 p1,4.651664,lbm,1199000,0 p1,4.632042,lbm,1199000,0 p1,7.154515,lbm,2533000,1 p1,7.143480,lbm,2533000,1 p1,7.160304,lbm,2533000,1 p1,6.279877,lbm,2133000,1 p1,6.368747,lbm,2133000,1 p1,6.290233,lbm,2133000,1 p1,5.422099,lbm,1733000,1 p1,7.409252,gcc,2533000,1 p1,5.487602,lbm,1733000,1 p1,5.562670,lbm,1733000,1 p1,4.640833,lbm,1199000,1 p1,4.643601,lbm,1199000,1 p1,4.599959,lbm,1199000,1 p1,7.380995,leslie3d,2533000,0 p1,7.342509,leslie3d,2533000,0 p1,7.369402,leslie3d,2533000,0 p1,6.442817,leslie3d,2133000,0 p1,6.435683,leslie3d,2133000,0 p1,7.411074,gcc,2533000,1 p1,6.428373,leslie3d,2133000,0 p1,5.514990,leslie3d,1733000,0 p1,5.541925,leslie3d,1733000,0 p1,5.538447,leslie3d,1733000,0 p1,4.687124,leslie3d,1199000,0 p1,4.675701,leslie3d,1199000,0 p1,4.688017,leslie3d,1199000,0 p1,7.339382,leslie3d,2533000,1 p1,7.370216,leslie3d,2533000,1 p1,7.383608,leslie3d,2533000,1 p1,6.450737,gcc,2133000,1 p1,6.411649,leslie3d,2133000,1 p1,6.416394,leslie3d,2133000,1 p1,6.372517,leslie3d,2133000,1 p1,5.535637,leslie3d,1733000,1 p1,5.558814,leslie3d,1733000,1 p1,5.549190,leslie3d,1733000,1 p1,4.694957,leslie3d,1199000,1 p1,4.706113,leslie3d,1199000,1 p1,4.687444,leslie3d,1199000,1 p1,7.055037,mcf,2533000,0 p1,6.453034,gcc,2133000,1 p1,6.851061,mcf,2533000,0 p1,6.944222,mcf,2533000,0 p1,6.146618,mcf,2133000,0 p1,6.170092,mcf,2133000,0 p1,6.091334,mcf,2133000,0 p1,5.364534,mcf,1733000,0 p1,5.344392,mcf,1733000,0 p1,5.351025,mcf,1733000,0 p1,4.616069,mcf,1199000,0 p1,4.636687,mcf,1199000,0 p1,6.446154,gcc,2133000,1 p1,4.541673,mcf,1199000,0 p1,6.796715,mcf,2533000,1 p1,6.968338,mcf,2533000,1 p1,7.170599,mcf,2533000,1 p1,6.153099,mcf,2133000,1 p1,6.167998,mcf,2133000,1 p1,6.170352,mcf,2133000,1 p1,5.393605,mcf,1733000,1 p1,5.398057,mcf,1733000,1 p1,5.373096,mcf,1733000,1 p1,5.599063,gcc,1733000,1 p1,4.603046,mcf,1199000,1 p1,4.650359,mcf,1199000,1 p1,4.605447,mcf,1199000,1 p1,6.974468,milc,2533000,0 p1,6.750068,milc,2533000,0 p1,7.048887,milc,2533000,0 p1,6.030443,milc,2133000,0 p1,6.100170,milc,2133000,0 p1,6.134509,milc,2133000,0 p1,5.375433,milc,1733000,0 p1,5.609841,gcc,1733000,1 p1,5.406149,milc,1733000,0 p1,5.381073,milc,1733000,0 p1,4.523182,milc,1199000,0 p1,4.465988,milc,1199000,0 p1,4.572155,milc,1199000,0 p1,6.967621,milc,2533000,1 p1,6.760777,milc,2533000,1 p1,6.820954,milc,2533000,1 p1,6.085603,milc,2133000,1 p1,6.087726,milc,2133000,1 p1,5.615522,gcc,1733000,1 p1,6.121352,milc,2133000,1 p1,5.370485,milc,1733000,1 p1,5.359246,milc,1733000,1 p1,5.378291,milc,1733000,1 p1,4.519337,milc,1199000,1 p1,4.612999,milc,1199000,1 p1,4.526001,milc,1199000,1 p1,6.728922,namd,2533000,0 p1,7.065589,namd,2533000,0 p1,6.854230,namd,2533000,0 p1,4.726365,gcc,1199000,1 p1,6.175668,namd,2133000,0 p1,6.051568,namd,2133000,0 p1,6.011336,namd,2133000,0 p1,5.331469,namd,1733000,0 p1,5.269391,namd,1733000,0 p1,5.255894,namd,1733000,0 p1,4.480702,namd,1199000,0 p1,4.616203,namd,1199000,0 p1,4.559609,namd,1199000,0 p1,6.712035,namd,2533000,1 p1,4.718312,gcc,1199000,1 p1,6.926562,namd,2533000,1 p1,6.733017,namd,2533000,1 p1,6.118964,namd,2133000,1 p1,5.996721,namd,2133000,1 p1,6.158135,namd,2133000,1 p1,5.192207,namd,1733000,1 p1,5.264487,namd,1733000,1 p1,5.265817,namd,1733000,1 p1,4.619508,namd,1199000,1 p1,4.552421,namd,1199000,1 p1,4.725397,gcc,1199000,1 p1,4.486684,namd,1199000,1 p1,7.782189,omnetpp,2533000,0 p1,7.745701,omnetpp,2533000,0 p1,7.819091,omnetpp,2533000,0 p1,6.537471,omnetpp,2133000,0 p1,6.491413,omnetpp,2133000,0 p1,6.565493,omnetpp,2133000,0 p1,5.553583,omnetpp,1733000,0 p1,5.569669,omnetpp,1733000,0 p1,5.559334,omnetpp,1733000,0 p1,7.598611,gobmk,2533000,0 p1,4.675025,omnetpp,1199000,0 p1,4.662234,omnetpp,1199000,0 p1,4.692678,omnetpp,1199000,0 p1,7.788568,omnetpp,2533000,1 p1,7.688780,omnetpp,2533000,1 p1,7.705064,omnetpp,2533000,1 p1,6.502275,omnetpp,2133000,1 p1,6.482434,omnetpp,2133000,1 p1,6.449632,omnetpp,2133000,1 p1,5.553178,omnetpp,1733000,1 p1,7.637274,gobmk,2533000,0 p1,5.557703,omnetpp,1733000,1 p1,5.562486,omnetpp,1733000,1 p1,4.671987,omnetpp,1199000,1 p1,4.659250,omnetpp,1199000,1 p1,4.692611,omnetpp,1199000,1 p1,6.707079,povray,2533000,0 p1,7.037117,povray,2533000,0 p1,6.796207,povray,2533000,0 p1,5.844443,povray,2133000,0 p1,5.945511,povray,2133000,0 p1,7.596891,gobmk,2533000,0 p1,5.992743,povray,2133000,0 p1,5.201441,povray,1733000,0 p1,5.071937,povray,1733000,0 p1,4.930430,povray,1733000,0 p1,4.518805,povray,1199000,0 p1,4.359955,povray,1199000,0 p1,4.570876,povray,1199000,0 p1,6.693350,povray,2533000,1 p1,6.420700,povray,2533000,1 p1,6.776098,povray,2533000,1 p1,6.489876,gobmk,2133000,0 p1,5.820121,povray,2133000,1 p1,5.913063,povray,2133000,1 p1,5.648901,povray,2133000,1 p1,5.238927,povray,1733000,1 p1,5.104726,povray,1733000,1 p1,4.975001,povray,1733000,1 p1,4.601637,povray,1199000,1 p1,4.441890,povray,1199000,1 p1,4.376317,povray,1199000,1 p1,7.551859,sjeng,2533000,0 p1,6.457329,gobmk,2133000,0 p1,7.522033,sjeng,2533000,0 p1,7.494675,sjeng,2533000,0 p1,6.461241,sjeng,2133000,0 p1,6.467534,sjeng,2133000,0 p1,6.472376,sjeng,2133000,0 p1,5.581004,sjeng,1733000,0 p1,5.586774,sjeng,1733000,0 p1,5.581501,sjeng,1733000,0 p1,4.690065,sjeng,1199000,0 p1,4.683386,sjeng,1199000,0 p1,6.490080,gobmk,2133000,0 p1,4.692917,sjeng,1199000,0 p1,7.480065,sjeng,2533000,1 p1,7.464711,sjeng,2533000,1 p1,7.466380,sjeng,2533000,1 p1,6.459025,sjeng,2133000,1 p1,6.460253,sjeng,2133000,1 p1,6.441043,sjeng,2133000,1 p1,5.682033,sjeng,1733000,1 p1,5.665563,sjeng,1733000,1 p1,5.701126,sjeng,1733000,1 p1,5.606073,gobmk,1733000,0 p1,4.804310,sjeng,1199000,1 p1,4.810938,sjeng,1199000,1 p1,4.807480,sjeng,1199000,1 p1,6.279444,soplex,2533000,0 p1,6.416942,soplex,2533000,0 p1,6.222442,soplex,2533000,0 p1,5.613126,soplex,2133000,0 p1,5.746791,soplex,2133000,0 p1,5.527216,soplex,2133000,0 p1,4.987505,soplex,1733000,0 p1,5.609050,gobmk,1733000,0 p1,5.147779,soplex,1733000,0 p1,4.865469,soplex,1733000,0 p1,4.351824,soplex,1199000,0 p1,4.457801,soplex,1199000,0 p1,4.298126,soplex,1199000,0 p1,6.412497,soplex,2533000,1 p1,6.088744,soplex,2533000,1 p1,6.394227,soplex,2533000,1 p1,5.431805,soplex,2133000,1 p1,5.678159,soplex,2133000,1 p1,5.587278,gobmk,1733000,0 p1,5.527683,soplex,2133000,1 p1,5.007500,soplex,1733000,1 p1,4.508490,soplex,1733000,1 p1,4.990143,soplex,1733000,1 p1,4.822172,soplex,1199000,1 p1,4.490758,soplex,1199000,1 p1,4.520205,soplex,1199000,1 p1,6.688574,sphinx3,2533000,0 p1,6.734214,sphinx3,2533000,0 p1,6.784816,sphinx3,2533000,0 p1,4.696276,gobmk,1199000,0 p1,5.893676,sphinx3,2133000,0 p1,5.843804,sphinx3,2133000,0 p1,5.812111,sphinx3,2133000,0 p1,5.151810,sphinx3,1733000,0 p1,5.286700,sphinx3,1733000,0 p1,5.134488,sphinx3,1733000,0 p1,4.407213,sphinx3,1199000,0 p1,4.489747,sphinx3,1199000,0 p1,4.564912,sphinx3,1199000,0 p1,6.641894,sphinx3,2533000,1 p1,4.696505,gobmk,1199000,0 p1,6.682499,sphinx3,2533000,1 p1,6.768835,sphinx3,2533000,1 p1,5.905966,sphinx3,2133000,1 p1,5.844525,sphinx3,2133000,1 p1,5.807216,sphinx3,2133000,1 p1,5.312625,sphinx3,1733000,1 p1,5.254079,sphinx3,1733000,1 p1,5.260415,sphinx3,1733000,1 p1,4.600032,sphinx3,1199000,1 p1,4.544649,sphinx3,1199000,1 p1,4.703176,gobmk,1199000,0 p1,4.594604,sphinx3,1199000,1 p1,7.068047,zeusmp,2533000,0 p1,7.066575,zeusmp,2533000,0 p1,7.152517,zeusmp,2533000,0 p1,6.235042,zeusmp,2133000,0 p1,6.247009,zeusmp,2133000,0 p1,6.252009,zeusmp,2133000,0 p1,5.455635,zeusmp,1733000,0 p1,5.459552,zeusmp,1733000,0 p1,5.497972,zeusmp,1733000,0 p1,7.569113,gobmk,2533000,1 p1,4.615425,zeusmp,1199000,0 p1,4.624989,zeusmp,1199000,0 p1,4.631698,zeusmp,1199000,0 p1,7.101810,zeusmp,2533000,1 p1,7.086005,zeusmp,2533000,1 p1,7.074507,zeusmp,2533000,1 p1,6.250644,zeusmp,2133000,1 p1,6.276587,zeusmp,2133000,1 p1,6.243518,zeusmp,2133000,1 p1,5.599268,zeusmp,1733000,1 p1,7.604312,gobmk,2533000,1 p1,5.547344,zeusmp,1733000,1 p1,5.626747,zeusmp,1733000,1 p1,4.741578,zeusmp,1199000,1 p1,4.761326,zeusmp,1199000,1 p1,4.793897,zeusmp,1199000,1 p1,7.611685,gobmk,2533000,1 p1,6.500499,gobmk,2133000,1 p1,6.475731,gobmk,2133000,1 p1,6.509244,gobmk,2133000,1 p1,5.581230,gobmk,1733000,1 p1,5.580246,gobmk,1733000,1 p1,5.570381,gobmk,1733000,1 p1,4.689897,gobmk,1199000,1 p1,4.694882,gobmk,1199000,1 p1,4.690746,gobmk,1199000,1 p1,7.404205,gromacs,2533000,0 p1,7.438164,gromacs,2533000,0 p1,7.384376,gromacs,2533000,0 p1,6.431205,gromacs,2133000,0 p1,6.442765,gromacs,2133000,0 p1,6.411289,gromacs,2133000,0 p1,5.552259,gromacs,1733000,0 p1,5.555375,gromacs,1733000,0 p1,5.569084,gromacs,1733000,0 p1,4.687848,gromacs,1199000,0 p1,4.693300,gromacs,1199000,0 p1,4.700737,gromacs,1199000,0 p1,7.376915,gromacs,2533000,1 p1,7.376693,gromacs,2533000,1 p1,7.372927,gromacs,2533000,1 p1,6.438235,gromacs,2133000,1 p1,6.415884,gromacs,2133000,1 p1,6.424190,gromacs,2133000,1 p1,5.578656,gromacs,1733000,1 p1,5.567088,gromacs,1733000,1 p1,5.557561,gromacs,1733000,1 p1,4.689439,gromacs,1199000,1 p1,4.693020,gromacs,1199000,1 p1,4.688849,gromacs,1199000,1 p1,7.732792,h264ref,2533000,0 p1,7.693412,h264ref,2533000,0 p1,7.699815,h264ref,2533000,0 p1,6.510539,h264ref,2133000,0 p1,6.502212,h264ref,2133000,0 p1,6.488769,h264ref,2133000,0 p1,5.600571,h264ref,1733000,0 p1,5.589921,h264ref,1733000,0 p1,5.603507,h264ref,1733000,0 p1,4.693854,h264ref,1199000,0 p1,4.691474,h264ref,1199000,0 p1,4.693818,h264ref,1199000,0 p1,7.649739,h264ref,2533000,1 p1,7.667810,h264ref,2533000,1 p1,7.691413,h264ref,2533000,1 p1,6.554205,h264ref,2133000,1 p1,6.490267,h264ref,2133000,1 p1,6.509085,h264ref,2133000,1 p1,5.572467,h264ref,1733000,1 p1,5.579261,h264ref,1733000,1 p1,5.565348,h264ref,1733000,1 p1,4.690519,h264ref,1199000,1 p1,4.697001,h264ref,1199000,1 p1,4.696860,h264ref,1199000,1 p1,8.078427,hmmer,2533000,0 p1,8.082277,hmmer,2533000,0 p1,8.078251,hmmer,2533000,0 p1,6.667370,hmmer,2133000,0 p1,6.671319,hmmer,2133000,0 p1,6.667091,hmmer,2133000,0 p1,5.572263,hmmer,1733000,0 p1,5.583523,hmmer,1733000,0 p1,5.602766,hmmer,1733000,0 p1,4.696346,hmmer,1199000,0 p1,4.691970,hmmer,1199000,0 p1,4.659762,hmmer,1199000,0 p1,7.965587,hmmer,2533000,1 p1,8.011520,hmmer,2533000,1 p1,7.990328,hmmer,2533000,1 p1,6.565242,hmmer,2133000,1 p1,6.550513,hmmer,2133000,1 p1,6.547804,hmmer,2133000,1 p1,5.568800,hmmer,1733000,1 p1,5.542244,hmmer,1733000,1 p1,5.578698,hmmer,1733000,1 p1,4.658903,hmmer,1199000,1 p1,4.676469,hmmer,1199000,1 p1,4.649615,hmmer,1199000,1 p1,7.157684,lbm,2533000,0 p1,7.158267,lbm,2533000,0 p1,7.154550,lbm,2533000,0 p1,6.291333,lbm,2133000,0 p1,6.314160,lbm,2133000,0 p1,6.300521,lbm,2133000,0 p1,5.455231,lbm,1733000,0 p1,5.424173,lbm,1733000,0 p1,5.497417,lbm,1733000,0 p1,4.653251,lbm,1199000,0 p1,4.625413,lbm,1199000,0 p1,4.631805,lbm,1199000,0 p1,7.198178,lbm,2533000,1 p1,7.216762,lbm,2533000,1 p1,7.215823,lbm,2533000,1 p1,6.376516,lbm,2133000,1 p1,6.300388,lbm,2133000,1 p1,6.300965,lbm,2133000,1 p1,5.427429,lbm,1733000,1 p1,5.500972,lbm,1733000,1 p1,5.472300,lbm,1733000,1 p1,4.639886,lbm,1199000,1 p1,4.609046,lbm,1199000,1 p1,4.627501,lbm,1199000,1 p1,7.358961,leslie3d,2533000,0 p1,7.371695,leslie3d,2533000,0 p1,7.374163,leslie3d,2533000,0 p1,6.440240,leslie3d,2133000,0 p1,6.451477,leslie3d,2133000,0 p1,6.442604,leslie3d,2133000,0 p1,5.566527,leslie3d,1733000,0 p1,5.558410,leslie3d,1733000,0 p1,5.554268,leslie3d,1733000,0 p1,4.687364,leslie3d,1199000,0 p1,4.697924,leslie3d,1199000,0 p1,4.689961,leslie3d,1199000,0 p1,7.378976,leslie3d,2533000,1 p1,7.380566,leslie3d,2533000,1 p1,7.369273,leslie3d,2533000,1 p1,6.412106,leslie3d,2133000,1 p1,6.437175,leslie3d,2133000,1 p1,6.430760,leslie3d,2133000,1 p1,5.554629,leslie3d,1733000,1 p1,5.554288,leslie3d,1733000,1 p1,5.575827,leslie3d,1733000,1 p1,4.689104,leslie3d,1199000,1 p1,4.685437,leslie3d,1199000,1 p1,4.681047,leslie3d,1199000,1 p1,6.996454,mcf,2533000,0 p1,7.024368,mcf,2533000,0 p1,7.068278,mcf,2533000,0 p1,6.100733,mcf,2133000,0 p1,6.163525,mcf,2133000,0 p1,6.207893,mcf,2133000,0 p1,5.330699,mcf,1733000,0 p1,5.283706,mcf,1733000,0 p1,5.379973,mcf,1733000,0 p1,4.581691,mcf,1199000,0 p1,4.594683,mcf,1199000,0 p1,4.574379,mcf,1199000,0 p1,6.884627,mcf,2533000,1 p1,6.894889,mcf,2533000,1 p1,6.853905,mcf,2533000,1 p1,6.183896,mcf,2133000,1 p1,6.141791,mcf,2133000,1 p1,6.131329,mcf,2133000,1 p1,5.308326,mcf,1733000,1 p1,5.369050,mcf,1733000,1 p1,5.367232,mcf,1733000,1 p1,4.545109,mcf,1199000,1 p1,4.540210,mcf,1199000,1 p1,4.581944,mcf,1199000,1 p1,6.981468,milc,2533000,0 p1,6.784319,milc,2533000,0 p1,6.776681,milc,2533000,0 p1,5.979512,milc,2133000,0 p1,5.956561,milc,2133000,0 p1,5.971352,milc,2133000,0 p1,5.151436,milc,1733000,0 p1,5.166351,milc,1733000,0 p1,5.269986,milc,1733000,0 p1,4.480208,milc,1199000,0 p1,4.397769,milc,1199000,0 p1,4.466466,milc,1199000,0 p1,6.909139,milc,2533000,1 p1,6.803507,milc,2533000,1 p1,6.946161,milc,2533000,1 p1,6.120526,milc,2133000,1 p1,6.130547,milc,2133000,1 p1,6.127123,milc,2133000,1 p1,5.331079,milc,1733000,1 p1,5.434196,milc,1733000,1 p1,5.410328,milc,1733000,1 p1,4.617966,milc,1199000,1 p1,4.673069,milc,1199000,1 p1,4.584633,milc,1199000,1 p1,6.780933,namd,2533000,0 p1,6.911350,namd,2533000,0 p1,6.807684,namd,2533000,0 p1,5.939104,namd,2133000,0 p1,5.991703,namd,2133000,0 p1,5.972560,namd,2133000,0 p1,5.288740,namd,1733000,0 p1,5.310902,namd,1733000,0 p1,5.324871,namd,1733000,0 p1,4.548917,namd,1199000,0 p1,4.474496,namd,1199000,0 p1,4.499101,namd,1199000,0 p1,7.050212,namd,2533000,1 p1,6.742022,namd,2533000,1 p1,6.734949,namd,2533000,1 p1,6.026140,namd,2133000,1 p1,5.922697,namd,2133000,1 p1,5.951870,namd,2133000,1 p1,5.323312,namd,1733000,1 p1,5.253283,namd,1733000,1 p1,5.335697,namd,1733000,1 p1,4.638590,namd,1199000,1 p1,4.606203,namd,1199000,1 p1,4.586715,namd,1199000,1 p1,7.993566,omnetpp,2533000,0 p1,7.873180,omnetpp,2533000,0 p1,7.777293,omnetpp,2533000,0 p1,6.481420,omnetpp,2133000,0 p1,6.476269,omnetpp,2133000,0 p1,6.519196,omnetpp,2133000,0 p1,5.580040,omnetpp,1733000,0 p1,5.547516,omnetpp,1733000,0 p1,5.567198,omnetpp,1733000,0 p1,4.655346,omnetpp,1199000,0 p1,4.641153,omnetpp,1199000,0 p1,4.654636,omnetpp,1199000,0 p1,7.871288,omnetpp,2533000,1 p1,7.836773,omnetpp,2533000,1 p1,7.786465,omnetpp,2533000,1 p1,6.469602,omnetpp,2133000,1 p1,6.479457,omnetpp,2133000,1 p1,6.541152,omnetpp,2133000,1 p1,5.582128,omnetpp,1733000,1 p1,5.599187,omnetpp,1733000,1 p1,5.655523,omnetpp,1733000,1 p1,4.781450,omnetpp,1199000,1 p1,4.763705,omnetpp,1199000,1 p1,4.769715,omnetpp,1199000,1 p1,6.974120,povray,2533000,0 p1,7.233170,povray,2533000,0 p1,6.524133,povray,2533000,0 p1,5.560799,povray,2133000,0 p1,5.455135,povray,2133000,0 p1,5.858599,povray,2133000,0 p1,4.928903,povray,1733000,0 p1,5.123524,povray,1733000,0 p1,4.958132,povray,1733000,0 p1,4.353551,povray,1199000,0 p1,4.419981,povray,1199000,0 p1,4.253198,povray,1199000,0 p1,6.488924,povray,2533000,1 p1,6.615106,povray,2533000,1 p1,6.919769,povray,2533000,1 p1,5.783348,povray,2133000,1 p1,5.762641,povray,2133000,1 p1,5.803577,povray,2133000,1 p1,5.070770,povray,1733000,1 p1,5.102557,povray,1733000,1 p1,5.299922,povray,1733000,1 p1,4.358595,povray,1199000,1 p1,4.441538,povray,1199000,1 p1,4.562883,povray,1199000,1 p1,7.564688,sjeng,2533000,0 p1,7.567346,sjeng,2533000,0 p1,7.555804,sjeng,2533000,0 p1,6.497957,sjeng,2133000,0 p1,6.465938,sjeng,2133000,0 p1,6.467236,sjeng,2133000,0 p1,5.591732,sjeng,1733000,0 p1,5.587606,sjeng,1733000,0 p1,5.600917,sjeng,1733000,0 p1,4.688703,sjeng,1199000,0 p1,4.675439,sjeng,1199000,0 p1,4.669819,sjeng,1199000,0 p1,7.530686,sjeng,2533000,1 p1,7.522219,sjeng,2533000,1 p1,7.545079,sjeng,2533000,1 p1,6.440486,sjeng,2133000,1 p1,6.461290,sjeng,2133000,1 p1,6.433589,sjeng,2133000,1 p1,5.697425,sjeng,1733000,1 p1,5.688962,sjeng,1733000,1 p1,5.705791,sjeng,1733000,1 p1,4.800145,sjeng,1199000,1 p1,4.799262,sjeng,1199000,1 p1,4.800703,sjeng,1199000,1 p1,6.038899,soplex,2533000,0 p1,6.110646,soplex,2533000,0 p1,6.412415,soplex,2533000,0 p1,5.529926,soplex,2133000,0 p1,5.375904,soplex,2133000,0 p1,5.469881,soplex,2133000,0 p1,4.953742,soplex,1733000,0 p1,4.928611,soplex,1733000,0 p1,4.815330,soplex,1733000,0 p1,4.378132,soplex,1199000,0 p1,4.285365,soplex,1199000,0 p1,4.260690,soplex,1199000,0 p1,6.416552,soplex,2533000,1 p1,6.002996,soplex,2533000,1 p1,6.100067,soplex,2533000,1 p1,5.678440,soplex,2133000,1 p1,5.659198,soplex,2133000,1 p1,5.338485,soplex,2133000,1 p1,5.078856,soplex,1733000,1 p1,5.117877,soplex,1733000,1 p1,5.062965,soplex,1733000,1 p1,4.334753,soplex,1199000,1 p1,4.356669,soplex,1199000,1 p1,4.348118,soplex,1199000,1 p1,6.681557,sphinx3,2533000,0 p1,6.643822,sphinx3,2533000,0 p1,6.646209,sphinx3,2533000,0 p1,5.861987,sphinx3,2133000,0 p1,5.775528,sphinx3,2133000,0 p1,6.177924,sphinx3,2133000,0 p1,5.435203,sphinx3,1733000,0 p1,5.214938,sphinx3,1733000,0 p1,5.198332,sphinx3,1733000,0 p1,4.342585,sphinx3,1199000,0 p1,4.427512,sphinx3,1199000,0 p1,4.373077,sphinx3,1199000,0 p1,6.794483,sphinx3,2533000,1 p1,6.659656,sphinx3,2533000,1 p1,6.851118,sphinx3,2533000,1 p1,5.838746,sphinx3,2133000,1 p1,5.785142,sphinx3,2133000,1 p1,5.984911,sphinx3,2133000,1 p1,5.240341,sphinx3,1733000,1 p1,5.297313,sphinx3,1733000,1 p1,5.239297,sphinx3,1733000,1 p1,4.514700,sphinx3,1199000,1 p1,4.510299,sphinx3,1199000,1 p1,4.515225,sphinx3,1199000,1 p1,7.020743,zeusmp,2533000,0 p1,7.106069,zeusmp,2533000,0 p1,7.014693,zeusmp,2533000,0 p1,6.159353,zeusmp,2133000,0 p1,6.268083,zeusmp,2133000,0 p1,6.263139,zeusmp,2133000,0 p1,5.453290,zeusmp,1733000,0 p1,5.458265,zeusmp,1733000,0 p1,5.476140,zeusmp,1733000,0 p1,4.624702,zeusmp,1199000,0 p1,4.623200,zeusmp,1199000,0 p1,4.617494,zeusmp,1199000,0 p1,7.086582,zeusmp,2533000,1 p1,7.077547,zeusmp,2533000,1 p1,7.076621,zeusmp,2533000,1 p1,6.257766,zeusmp,2133000,1 p1,6.208704,zeusmp,2133000,1 p1,6.208352,zeusmp,2133000,1 p1,5.552186,zeusmp,1733000,1 p1,5.503467,zeusmp,1733000,1 p1,5.532897,zeusmp,1733000,1 p1,4.719371,zeusmp,1199000,1 p1,4.704682,zeusmp,1199000,1 p1,4.709862,zeusmp,1199000,1 p1,9.368109,bzip2,2533000,0 p1,9.210580,bzip2,2533000,0 p1,9.130486,bzip2,2533000,0 p1,6.287883,bzip2,2133000,0 p1,6.306010,bzip2,2133000,0 p1,7.252160,bzip2,2133000,0 p1,5.588974,bzip2,1733000,0 p1,5.669977,bzip2,1733000,0 p1,5.660946,bzip2,1733000,0 p1,4.629323,bzip2,1199000,0 p1,4.648715,bzip2,1199000,0 p1,4.648430,bzip2,1199000,0 p1,8.164346,bzip2,2533000,1 p1,8.358045,bzip2,2533000,1 p1,8.453694,bzip2,2533000,1 p1,7.105383,bzip2,2133000,1 p1,6.936547,bzip2,2133000,1 p1,6.837463,bzip2,2133000,1 p1,5.736205,bzip2,1733000,1 p1,5.773266,bzip2,1733000,1 p1,5.769453,bzip2,1733000,1 p1,4.759058,bzip2,1199000,1 p1,4.751811,bzip2,1199000,1 p1,4.728820,bzip2,1199000,1 p1,7.130523,cactusADM,2533000,0 p1,7.052730,cactusADM,2533000,0 p1,6.991332,cactusADM,2533000,0 p1,6.198179,cactusADM,2133000,0 p1,6.204172,cactusADM,2133000,0 p1,6.237836,cactusADM,2133000,0 p1,5.360039,cactusADM,1733000,0 p1,5.361195,cactusADM,1733000,0 p1,5.414564,cactusADM,1733000,0 p1,4.545428,cactusADM,1199000,0 p1,4.532912,cactusADM,1199000,0 p1,4.535379,cactusADM,1199000,0 p1,7.100674,cactusADM,2533000,1 p1,7.083077,cactusADM,2533000,1 p1,6.942537,cactusADM,2533000,1 p1,6.066888,cactusADM,2133000,1 p1,6.105935,cactusADM,2133000,1 p1,6.206309,cactusADM,2133000,1 p1,5.466701,cactusADM,1733000,1 p1,5.489182,cactusADM,1733000,1 p1,5.519700,cactusADM,1733000,1 p1,4.688284,cactusADM,1199000,1 p1,4.674222,cactusADM,1199000,1 p1,4.665798,cactusADM,1199000,1 p1,0.791267,cpuload_all_0_4096,2533000,0 p1,0.691495,cpuload_all_0_4096,2533000,0 p1,0.737902,cpuload_all_0_4096,2533000,0 p1,0.802815,cpuload_all_0_4096,2133000,0 p1,0.865459,cpuload_all_0_4096,2133000,0 p1,0.880783,cpuload_all_0_4096,2133000,0 p1,0.931488,cpuload_all_0_4096,1733000,0 p1,0.919615,cpuload_all_0_4096,1733000,0 p1,0.853751,cpuload_all_0_4096,1733000,0 p1,0.748597,cpuload_all_0_4096,1199000,0 p1,0.666730,cpuload_all_0_4096,1199000,0 p1,0.705650,cpuload_all_0_4096,1199000,0 p1,0.902060,cpuload_all_0_4096,2533000,1 p1,0.830888,cpuload_all_0_4096,2533000,1 p1,0.754914,cpuload_all_0_4096,2533000,1 p1,0.763575,cpuload_all_0_4096,2133000,1 p1,0.684919,cpuload_all_0_4096,2133000,1 p1,0.718068,cpuload_all_0_4096,2133000,1 p1,0.757273,cpuload_all_0_4096,1733000,1 p1,0.770605,cpuload_all_0_4096,1733000,1 p1,0.946653,cpuload_all_0_4096,1733000,1 p1,0.790336,cpuload_all_0_4096,1199000,1 p1,0.775580,cpuload_all_0_4096,1199000,1 p1,0.785950,cpuload_all_0_4096,1199000,1 p1,2.636745,cpuload_all_25_4096,2533000,0 p1,2.569482,cpuload_all_25_4096,2533000,0 p1,2.637374,cpuload_all_25_4096,2533000,0 p1,2.379990,cpuload_all_25_4096,2133000,0 p1,2.364348,cpuload_all_25_4096,2133000,0 p1,2.368129,cpuload_all_25_4096,2133000,0 p1,2.170196,cpuload_all_25_4096,1733000,0 p1,2.128257,cpuload_all_25_4096,1733000,0 p1,2.128887,cpuload_all_25_4096,1733000,0 p1,1.993116,cpuload_all_25_4096,1199000,0 p1,1.998615,cpuload_all_25_4096,1199000,0 p1,2.015756,cpuload_all_25_4096,1199000,0 p1,2.612029,cpuload_all_25_4096,2533000,1 p1,2.681268,cpuload_all_25_4096,2533000,1 p1,2.640251,cpuload_all_25_4096,2533000,1 p1,2.344558,cpuload_all_25_4096,2133000,1 p1,2.303975,cpuload_all_25_4096,2133000,1 p1,2.284932,cpuload_all_25_4096,2133000,1 p1,2.172029,cpuload_all_25_4096,1733000,1 p1,2.187923,cpuload_all_25_4096,1733000,1 p1,2.177213,cpuload_all_25_4096,1733000,1 p1,1.992963,cpuload_all_25_4096,1199000,1 p1,1.965641,cpuload_all_25_4096,1199000,1 p1,2.002820,cpuload_all_25_4096,1199000,1 p1,7.013588,cpuload_all_50_4096,2533000,0 p1,7.023713,cpuload_all_50_4096,2533000,0 p1,7.015561,cpuload_all_50_4096,2533000,0 p1,6.125521,cpuload_all_50_4096,2133000,0 p1,6.214890,cpuload_all_50_4096,2133000,0 p1,6.220968,cpuload_all_50_4096,2133000,0 p1,5.429044,cpuload_all_50_4096,1733000,0 p1,5.440207,cpuload_all_50_4096,1733000,0 p1,5.459876,cpuload_all_50_4096,1733000,0 p1,4.554056,cpuload_all_50_4096,1199000,0 p1,4.561988,cpuload_all_50_4096,1199000,0 p1,4.561237,cpuload_all_50_4096,1199000,0 p1,7.050101,cpuload_all_50_4096,2533000,1 p1,7.030803,cpuload_all_50_4096,2533000,1 p1,7.008448,cpuload_all_50_4096,2533000,1 p1,6.221840,cpuload_all_50_4096,2133000,1 p1,6.199659,cpuload_all_50_4096,2133000,1 p1,6.246252,cpuload_all_50_4096,2133000,1 p1,5.532477,cpuload_all_50_4096,1733000,1 p1,5.482385,cpuload_all_50_4096,1733000,1 p1,5.479604,cpuload_all_50_4096,1733000,1 p1,4.640129,cpuload_all_50_4096,1199000,1 p1,4.628738,cpuload_all_50_4096,1199000,1 p1,4.637343,cpuload_all_50_4096,1199000,1 p1,7.033771,cpuload_all_75_4096,2533000,0 p1,7.133033,cpuload_all_75_4096,2533000,0 p1,7.123946,cpuload_all_75_4096,2533000,0 p1,6.263004,cpuload_all_75_4096,2133000,0 p1,6.228382,cpuload_all_75_4096,2133000,0 p1,6.231730,cpuload_all_75_4096,2133000,0 p1,5.391562,cpuload_all_75_4096,1733000,0 p1,5.405845,cpuload_all_75_4096,1733000,0 p1,5.379584,cpuload_all_75_4096,1733000,0 p1,4.514574,cpuload_all_75_4096,1199000,0 p1,4.515840,cpuload_all_75_4096,1199000,0 p1,4.582290,cpuload_all_75_4096,1199000,0 p1,7.083844,cpuload_all_75_4096,2533000,1 p1,7.110531,cpuload_all_75_4096,2533000,1 p1,7.103408,cpuload_all_75_4096,2533000,1 p1,6.224737,cpuload_all_75_4096,2133000,1 p1,6.144888,cpuload_all_75_4096,2133000,1 p1,6.157522,cpuload_all_75_4096,2133000,1 p1,5.427536,cpuload_all_75_4096,1733000,1 p1,5.477382,cpuload_all_75_4096,1733000,1 p1,5.556737,cpuload_all_75_4096,1733000,1 p1,4.703785,cpuload_all_75_4096,1199000,1 p1,4.704698,cpuload_all_75_4096,1199000,1 p1,4.688425,cpuload_all_75_4096,1199000,1 p1,7.143017,cpuload_all_100_4096,2533000,0 p1,7.139867,cpuload_all_100_4096,2533000,0 p1,7.162977,cpuload_all_100_4096,2533000,0 p1,6.227885,cpuload_all_100_4096,2133000,0 p1,6.172089,cpuload_all_100_4096,2133000,0 p1,6.185204,cpuload_all_100_4096,2133000,0 p1,5.395601,cpuload_all_100_4096,1733000,0 p1,5.398130,cpuload_all_100_4096,1733000,0 p1,5.391826,cpuload_all_100_4096,1733000,0 p1,4.633451,cpuload_all_100_4096,1199000,0 p1,4.663223,cpuload_all_100_4096,1199000,0 p1,4.621678,cpuload_all_100_4096,1199000,0 p1,7.121588,cpuload_all_100_4096,2533000,1 p1,7.032857,cpuload_all_100_4096,2533000,1 p1,7.034951,cpuload_all_100_4096,2533000,1 p1,6.160787,cpuload_all_100_4096,2133000,1 p1,6.262832,cpuload_all_100_4096,2133000,1 p1,6.253293,cpuload_all_100_4096,2133000,1 p1,5.561621,cpuload_all_100_4096,1733000,1 p1,5.561839,cpuload_all_100_4096,1733000,1 p1,5.563556,cpuload_all_100_4096,1733000,1 p1,4.658068,cpuload_all_100_4096,1199000,1 p1,4.658975,cpuload_all_100_4096,1199000,1 p1,4.704594,cpuload_all_100_4096,1199000,1 p1,8.148946,gamess,2533000,0 p1,8.166530,gamess,2533000,0 p1,8.145177,gamess,2533000,0 p1,6.668508,gamess,2133000,0 p1,6.672105,gamess,2133000,0 p1,6.693568,gamess,2133000,0 p1,5.640383,gamess,1733000,0 p1,5.643450,gamess,1733000,0 p1,5.638352,gamess,1733000,0 p1,4.688382,gamess,1199000,0 p1,4.695710,gamess,1199000,0 p1,4.699827,gamess,1199000,0 p1,8.094477,gamess,2533000,1 p1,8.124675,gamess,2533000,1 p1,8.109363,gamess,2533000,1 p1,6.659885,gamess,2133000,1 p1,6.647197,gamess,2133000,1 p1,6.633672,gamess,2133000,1 p1,5.752773,gamess,1733000,1 p1,5.730814,gamess,1733000,1 p1,5.747230,gamess,1733000,1 p1,4.797575,gamess,1199000,1 p1,4.795382,gamess,1199000,1 p1,4.798396,gamess,1199000,1 p1,7.366995,gcc,2533000,0 p1,7.378631,gcc,2533000,0 p1,7.394518,gcc,2533000,0 p1,6.426191,gcc,2133000,0 p1,6.427294,gcc,2133000,0 p1,6.434152,gcc,2133000,0 p1,5.578017,gcc,1733000,0 p1,5.558869,gcc,1733000,0 p1,5.566383,gcc,1733000,0 p1,4.685562,gcc,1199000,0 p1,4.685852,gcc,1199000,0 p1,4.683214,gcc,1199000,0 p1,7.384182,gcc,2533000,1 p1,7.409104,gcc,2533000,1 p1,7.392710,gcc,2533000,1 p1,6.452483,gcc,2133000,1 p1,6.452659,gcc,2133000,1 p1,6.448642,gcc,2133000,1 p1,5.594788,gcc,1733000,1 p1,5.593298,gcc,1733000,1 p1,5.586595,gcc,1733000,1 p1,4.704142,gcc,1199000,1 p1,4.720805,gcc,1199000,1 p1,4.719145,gcc,1199000,1 p1,7.603615,gobmk,2533000,0 p1,7.596027,gobmk,2533000,0 p1,7.601794,gobmk,2533000,0 p1,6.463998,gobmk,2133000,0 p1,6.488585,gobmk,2133000,0 p1,6.484007,gobmk,2133000,0 p1,5.604395,gobmk,1733000,0 p1,5.570196,gobmk,1733000,0 p1,5.591909,gobmk,1733000,0 p1,4.677071,gobmk,1199000,0 p1,4.679954,gobmk,1199000,0 p1,4.676626,gobmk,1199000,0 p1,7.568667,gobmk,2533000,1 p1,7.572087,gobmk,2533000,1 p1,7.528643,gobmk,2533000,1 p1,6.467030,gobmk,2133000,1 p1,6.456815,gobmk,2133000,1 p1,6.475086,gobmk,2133000,1 p1,5.584552,gobmk,1733000,1 p1,5.548446,gobmk,1733000,1 p1,5.573418,gobmk,1733000,1 p1,4.691090,gobmk,1199000,1 p1,4.697476,gobmk,1199000,1 p1,4.706128,gobmk,1199000,1 p1,7.391396,gromacs,2533000,0 p1,7.418544,gromacs,2533000,0 p1,7.375790,gromacs,2533000,0 p1,6.423225,gromacs,2133000,0 p1,6.409316,gromacs,2133000,0 p1,6.423112,gromacs,2133000,0 p1,5.560565,gromacs,1733000,0 p1,5.557887,gromacs,1733000,0 p1,5.571445,gromacs,1733000,0 p1,4.682662,gromacs,1199000,0 p1,4.678742,gromacs,1199000,0 p1,4.683346,gromacs,1199000,0 p1,7.354137,gromacs,2533000,1 p1,7.396065,gromacs,2533000,1 p1,7.400445,gromacs,2533000,1 p1,6.417854,gromacs,2133000,1 p1,6.426512,gromacs,2133000,1 p1,6.438677,gromacs,2133000,1 p1,5.562886,gromacs,1733000,1 p1,5.565701,gromacs,1733000,1 p1,5.564174,gromacs,1733000,1 p1,4.705260,gromacs,1199000,1 p1,4.694617,gromacs,1199000,1 p1,4.709358,gromacs,1199000,1 p1,7.739203,h264ref,2533000,0 p1,7.718419,h264ref,2533000,0 p1,7.712873,h264ref,2533000,0 p1,6.497298,h264ref,2133000,0 p1,6.478925,h264ref,2133000,0 p1,6.465847,h264ref,2133000,0 p1,5.588307,h264ref,1733000,0 p1,5.596121,h264ref,1733000,0 p1,5.616192,h264ref,1733000,0 p1,4.708790,h264ref,1199000,0 p1,4.695429,h264ref,1199000,0 p1,4.702169,h264ref,1199000,0 p1,7.701139,h264ref,2533000,1 p1,7.728831,h264ref,2533000,1 p1,7.677269,h264ref,2533000,1 p1,6.484470,h264ref,2133000,1 p1,6.524625,h264ref,2133000,1 p1,6.503812,h264ref,2133000,1 p1,5.584017,h264ref,1733000,1 p1,5.611938,h264ref,1733000,1 p1,5.605989,h264ref,1733000,1 p1,4.686813,h264ref,1199000,1 p1,4.707678,h264ref,1199000,1 p1,4.698541,h264ref,1199000,1 p1,8.116175,hmmer,2533000,0 p1,8.155873,hmmer,2533000,0 p1,8.013372,hmmer,2533000,0 p1,6.694338,hmmer,2133000,0 p1,6.656989,hmmer,2133000,0 p1,6.610664,hmmer,2133000,0 p1,5.607349,hmmer,1733000,0 p1,5.611320,hmmer,1733000,0 p1,5.608788,hmmer,1733000,0 p1,4.702430,hmmer,1199000,0 p1,4.689236,hmmer,1199000,0 p1,4.703234,hmmer,1199000,0 p1,8.080863,hmmer,2533000,1 p1,8.151544,hmmer,2533000,1 p1,8.024466,hmmer,2533000,1 p1,6.575250,hmmer,2133000,1 p1,6.645224,hmmer,2133000,1 p1,6.623643,hmmer,2133000,1 p1,5.584055,hmmer,1733000,1 p1,5.633041,hmmer,1733000,1 p1,5.624776,hmmer,1733000,1 p1,4.694803,hmmer,1199000,1 p1,4.719914,hmmer,1199000,1 p1,4.670912,hmmer,1199000,1 p1,7.217848,lbm,2533000,0 p1,7.247591,lbm,2533000,0 p1,7.246704,lbm,2533000,0 p1,6.406575,lbm,2133000,0 p1,6.287281,lbm,2133000,0 p1,6.301191,lbm,2133000,0 p1,5.530591,lbm,1733000,0 p1,5.533608,lbm,1733000,0 p1,5.509535,lbm,1733000,0 p1,4.683519,lbm,1199000,0 p1,4.701019,lbm,1199000,0 p1,4.639820,lbm,1199000,0 p1,7.226338,lbm,2533000,1 p1,7.245781,lbm,2533000,1 p1,7.249513,lbm,2533000,1 p1,6.379260,lbm,2133000,1 p1,6.396951,lbm,2133000,1 p1,6.392963,lbm,2133000,1 p1,5.543382,lbm,1733000,1 p1,5.511237,lbm,1733000,1 p1,5.500721,lbm,1733000,1 p1,4.652038,lbm,1199000,1 p1,4.685589,lbm,1199000,1 p1,4.658347,lbm,1199000,1 p1,7.369486,leslie3d,2533000,0 p1,7.398890,leslie3d,2533000,0 p1,7.398263,leslie3d,2533000,0 p1,6.421084,leslie3d,2133000,0 p1,6.453619,leslie3d,2133000,0 p1,6.440868,leslie3d,2133000,0 p1,5.586310,leslie3d,1733000,0 p1,5.562647,leslie3d,1733000,0 p1,5.580875,leslie3d,1733000,0 p1,4.713201,leslie3d,1199000,0 p1,4.686164,leslie3d,1199000,0 p1,4.703138,leslie3d,1199000,0 p1,7.419931,leslie3d,2533000,1 p1,7.417680,leslie3d,2533000,1 p1,7.365033,leslie3d,2533000,1 p1,6.449278,leslie3d,2133000,1 p1,6.449052,leslie3d,2133000,1 p1,6.448905,leslie3d,2133000,1 p1,5.562482,leslie3d,1733000,1 p1,5.558606,leslie3d,1733000,1 p1,5.560080,leslie3d,1733000,1 p1,4.690396,leslie3d,1199000,1 p1,4.690648,leslie3d,1199000,1 p1,4.699369,leslie3d,1199000,1 p1,7.063081,mcf,2533000,0 p1,6.954591,mcf,2533000,0 p1,6.991925,mcf,2533000,0 p1,6.254507,mcf,2133000,0 p1,6.131408,mcf,2133000,0 p1,6.241142,mcf,2133000,0 p1,5.390356,mcf,1733000,0 p1,5.367105,mcf,1733000,0 p1,5.397563,mcf,1733000,0 p1,4.670628,mcf,1199000,0 p1,4.588855,mcf,1199000,0 p1,4.670246,mcf,1199000,0 p1,6.922196,mcf,2533000,1 p1,6.911187,mcf,2533000,1 p1,6.930377,mcf,2533000,1 p1,6.234998,mcf,2133000,1 p1,6.262464,mcf,2133000,1 p1,6.159353,mcf,2133000,1 p1,5.404492,mcf,1733000,1 p1,5.463422,mcf,1733000,1 p1,5.351947,mcf,1733000,1 p1,4.563027,mcf,1199000,1 p1,4.624799,mcf,1199000,1 p1,4.609264,mcf,1199000,1 p1,7.006116,milc,2533000,0 p1,7.023613,milc,2533000,0 p1,6.931222,milc,2533000,0 p1,6.111024,milc,2133000,0 p1,6.101160,milc,2133000,0 p1,6.171903,milc,2133000,0 p1,5.434469,milc,1733000,0 p1,5.330086,milc,1733000,0 p1,5.369091,milc,1733000,0 p1,4.576817,milc,1199000,0 p1,4.622077,milc,1199000,0 p1,4.482868,milc,1199000,0 p1,6.995388,milc,2533000,1 p1,6.942388,milc,2533000,1 p1,6.923033,milc,2533000,1 p1,6.145250,milc,2133000,1 p1,6.080615,milc,2133000,1 p1,5.970840,milc,2133000,1 p1,5.393360,milc,1733000,1 p1,5.317966,milc,1733000,1 p1,5.346608,milc,1733000,1 p1,4.581216,milc,1199000,1 p1,4.630230,milc,1199000,1 p1,4.489931,milc,1199000,1 p1,6.984109,namd,2533000,0 p1,7.063134,namd,2533000,0 p1,6.799202,namd,2533000,0 p1,6.027720,namd,2133000,0 p1,6.170297,namd,2133000,0 p1,6.264214,namd,2133000,0 p1,5.369453,namd,1733000,0 p1,5.301913,namd,1733000,0 p1,5.333949,namd,1733000,0 p1,4.586759,namd,1199000,0 p1,4.676396,namd,1199000,0 p1,4.533802,namd,1199000,0 p1,6.969198,namd,2533000,1 p1,7.137450,namd,2533000,1 p1,6.818571,namd,2533000,1 p2,8.668336,bzip2,2533000,0 p2,7.822247,bzip2,2533000,0 p2,7.620651,bzip2,2533000,0 p2,6.595420,bzip2,2133000,0 p2,6.602111,bzip2,2133000,0 p2,6.650013,bzip2,2133000,0 p2,5.621009,bzip2,1733000,0 p2,5.631541,bzip2,1733000,0 p2,5.607610,bzip2,1733000,0 p2,4.531557,bzip2,1199000,0 p2,4.487720,bzip2,1199000,0 p2,4.511777,bzip2,1199000,0 p2,7.742300,bzip2,2533000,1 p2,7.735869,bzip2,2533000,1 p2,7.634333,bzip2,2533000,1 p2,6.641555,bzip2,2133000,1 p2,6.668252,bzip2,2133000,1 p2,6.666500,bzip2,2133000,1 p2,5.645764,bzip2,1733000,1 p2,5.593371,bzip2,1733000,1 p2,5.597726,bzip2,1733000,1 p2,4.499786,bzip2,1199000,1 p2,4.523102,bzip2,1199000,1 p2,4.485200,bzip2,1199000,1 p2,7.362883,cactusADM,2533000,0 p2,7.417263,cactusADM,2533000,0 p2,7.299547,cactusADM,2533000,0 p2,6.525772,cactusADM,2133000,0 p2,6.440715,cactusADM,2133000,0 p2,6.560376,cactusADM,2133000,0 p2,5.508711,cactusADM,1733000,0 p2,5.545656,cactusADM,1733000,0 p2,5.525858,cactusADM,1733000,0 p2,4.464020,cactusADM,1199000,0 p2,4.468087,cactusADM,1199000,0 p2,4.440122,cactusADM,1199000,0 p2,7.336975,cactusADM,2533000,1 p2,7.235442,cactusADM,2533000,1 p2,7.386975,cactusADM,2533000,1 p2,6.438700,cactusADM,2133000,1 p2,6.525239,cactusADM,2133000,1 p2,6.491036,cactusADM,2133000,1 p2,5.533409,cactusADM,1733000,1 p2,5.513144,cactusADM,1733000,1 p2,5.506039,cactusADM,1733000,1 p2,4.408835,cactusADM,1199000,1 p2,4.451556,cactusADM,1199000,1 p2,4.517723,cactusADM,1199000,1 p2,0.922956,cpuload_all_0_4096,2533000,0 p2,1.312327,cpuload_all_0_4096,2533000,0 p2,1.099245,cpuload_all_0_4096,2533000,0 p2,0.872172,cpuload_all_0_4096,2133000,0 p2,0.767544,cpuload_all_0_4096,2133000,0 p2,0.747110,cpuload_all_0_4096,2133000,0 p2,0.728387,cpuload_all_0_4096,1733000,0 p2,0.966984,cpuload_all_0_4096,1733000,0 p2,0.975208,cpuload_all_0_4096,1733000,0 p2,0.699431,cpuload_all_0_4096,1199000,0 p2,0.831029,cpuload_all_0_4096,1199000,0 p2,0.790871,cpuload_all_0_4096,1199000,0 p2,0.696309,cpuload_all_0_4096,2533000,1 p2,0.717631,cpuload_all_0_4096,2533000,1 p2,0.785079,cpuload_all_0_4096,2533000,1 p2,0.704711,cpuload_all_0_4096,2133000,1 p2,0.649384,cpuload_all_0_4096,2133000,1 p2,0.656851,cpuload_all_0_4096,2133000,1 p2,0.683720,cpuload_all_0_4096,1733000,1 p2,0.714953,cpuload_all_0_4096,1733000,1 p2,0.630716,cpuload_all_0_4096,1733000,1 p2,0.704738,cpuload_all_0_4096,1199000,1 p2,0.644382,cpuload_all_0_4096,1199000,1 p2,0.599703,cpuload_all_0_4096,1199000,1 p2,2.610696,cpuload_all_25_4096,2533000,0 p2,2.667956,cpuload_all_25_4096,2533000,0 p2,2.626943,cpuload_all_25_4096,2533000,0 p2,2.416280,cpuload_all_25_4096,2133000,0 p2,2.355120,cpuload_all_25_4096,2133000,0 p2,2.372612,cpuload_all_25_4096,2133000,0 p2,2.040426,cpuload_all_25_4096,1733000,0 p2,2.102230,cpuload_all_25_4096,1733000,0 p2,2.106361,cpuload_all_25_4096,1733000,0 p2,1.894291,cpuload_all_25_4096,1199000,0 p2,1.864648,cpuload_all_25_4096,1199000,0 p2,1.862761,cpuload_all_25_4096,1199000,0 p2,2.630830,cpuload_all_25_4096,2533000,1 p2,2.615028,cpuload_all_25_4096,2533000,1 p2,2.643852,cpuload_all_25_4096,2533000,1 p2,2.379534,cpuload_all_25_4096,2133000,1 p2,2.368282,cpuload_all_25_4096,2133000,1 p2,2.377004,cpuload_all_25_4096,2133000,1 p2,2.140709,cpuload_all_25_4096,1733000,1 p2,2.029251,cpuload_all_25_4096,1733000,1 p2,2.060044,cpuload_all_25_4096,1733000,1 p2,1.888552,cpuload_all_25_4096,1199000,1 p2,1.881832,cpuload_all_25_4096,1199000,1 p2,1.883586,cpuload_all_25_4096,1199000,1 p2,7.344304,cpuload_all_50_4096,2533000,0 p2,7.474934,cpuload_all_50_4096,2533000,0 p2,7.386247,cpuload_all_50_4096,2533000,0 p2,6.473187,cpuload_all_50_4096,2133000,0 p2,6.394754,namd,2133000,1 p2,6.461742,namd,2133000,1 p2,6.195897,namd,2133000,1 p2,5.444340,namd,1733000,1 p2,5.518177,namd,1733000,1 p2,5.333762,namd,1733000,1 p2,4.359040,namd,1199000,1 p2,4.499080,namd,1199000,1 p2,4.317818,namd,1199000,1 p2,8.099535,omnetpp,2533000,0 p2,5.724378,cpuload_all_50_4096,2133000,0 p2,8.071319,omnetpp,2533000,0 p2,8.183534,omnetpp,2533000,0 p2,6.698313,omnetpp,2133000,0 p2,6.651318,omnetpp,2133000,0 p2,6.646020,omnetpp,2133000,0 p2,5.671519,omnetpp,1733000,0 p2,5.694801,omnetpp,1733000,0 p2,5.653245,omnetpp,1733000,0 p2,4.524776,omnetpp,1199000,0 p2,4.547090,omnetpp,1199000,0 p2,6.460612,cpuload_all_50_4096,2133000,0 p2,4.517351,omnetpp,1199000,0 p2,8.161324,omnetpp,2533000,1 p2,8.075237,omnetpp,2533000,1 p2,8.094529,omnetpp,2533000,1 p2,6.827988,omnetpp,2133000,1 p2,6.819753,omnetpp,2133000,1 p2,6.792450,omnetpp,2133000,1 p2,5.701032,omnetpp,1733000,1 p2,5.700414,omnetpp,1733000,1 p2,5.691484,omnetpp,1733000,1 p2,5.505477,cpuload_all_50_4096,1733000,0 p2,4.530818,omnetpp,1199000,1 p2,4.505056,omnetpp,1199000,1 p2,4.535174,omnetpp,1199000,1 p2,6.839420,povray,2533000,0 p2,7.272048,povray,2533000,0 p2,6.841869,povray,2533000,0 p2,5.886510,povray,2133000,0 p2,5.802708,povray,2133000,0 p2,5.745587,povray,2133000,0 p2,5.091991,povray,1733000,0 p2,5.551105,cpuload_all_50_4096,1733000,0 p2,5.119625,povray,1733000,0 p2,5.139771,povray,1733000,0 p2,4.349870,povray,1199000,0 p2,4.346685,povray,1199000,0 p2,4.296282,povray,1199000,0 p2,7.249134,povray,2533000,1 p2,7.122214,povray,2533000,1 p2,7.154352,povray,2533000,1 p2,5.991982,povray,2133000,1 p2,6.192621,povray,2133000,1 p2,5.490754,cpuload_all_50_4096,1733000,0 p2,5.966437,povray,2133000,1 p2,5.242868,povray,1733000,1 p2,5.226251,povray,1733000,1 p2,4.967641,povray,1733000,1 p2,4.378665,povray,1199000,1 p2,4.495515,povray,1199000,1 p2,4.359721,povray,1199000,1 p2,7.906982,sjeng,2533000,0 p2,7.919500,sjeng,2533000,0 p2,7.923554,sjeng,2533000,0 p2,4.406170,cpuload_all_50_4096,1199000,0 p2,6.624825,sjeng,2133000,0 p2,6.645723,sjeng,2133000,0 p2,6.661244,sjeng,2133000,0 p2,5.716373,sjeng,1733000,0 p2,5.720100,sjeng,1733000,0 p2,5.712913,sjeng,1733000,0 p2,4.545249,sjeng,1199000,0 p2,4.547621,sjeng,1199000,0 p2,4.539386,sjeng,1199000,0 p2,7.886943,sjeng,2533000,1 p2,4.460667,cpuload_all_50_4096,1199000,0 p2,7.855629,sjeng,2533000,1 p2,7.874775,sjeng,2533000,1 p2,6.772122,sjeng,2133000,1 p2,6.767496,sjeng,2133000,1 p2,6.819461,sjeng,2133000,1 p2,5.738621,sjeng,1733000,1 p2,5.734354,sjeng,1733000,1 p2,5.734444,sjeng,1733000,1 p2,4.559691,sjeng,1199000,1 p2,4.555545,sjeng,1199000,1 p2,4.412751,cpuload_all_50_4096,1199000,0 p2,4.541288,sjeng,1199000,1 p2,6.653843,soplex,2533000,0 p2,6.399370,soplex,2533000,0 p2,6.387972,soplex,2533000,0 p2,5.920167,soplex,2133000,0 p2,5.568625,soplex,2133000,0 p2,5.878921,soplex,2133000,0 p2,5.025548,soplex,1733000,0 p2,5.046512,soplex,1733000,0 p2,5.058035,soplex,1733000,0 p2,7.363811,cpuload_all_50_4096,2533000,1 p2,4.058052,soplex,1199000,0 p2,4.323804,soplex,1199000,0 p2,4.156381,soplex,1199000,0 p2,6.332638,soplex,2533000,1 p2,6.677025,soplex,2533000,1 p2,6.410491,soplex,2533000,1 p2,5.795301,soplex,2133000,1 p2,6.231620,soplex,2133000,1 p2,5.685411,soplex,2133000,1 p2,5.062316,soplex,1733000,1 p2,7.374972,cpuload_all_50_4096,2533000,1 p2,4.982067,soplex,1733000,1 p2,4.975647,soplex,1733000,1 p2,4.221869,soplex,1199000,1 p2,4.060385,soplex,1199000,1 p2,4.300062,soplex,1199000,1 p2,7.196062,sphinx3,2533000,0 p2,7.066138,sphinx3,2533000,0 p2,6.930935,sphinx3,2533000,0 p2,6.259139,sphinx3,2133000,0 p2,6.063616,sphinx3,2133000,0 p2,7.455245,cpuload_all_50_4096,2533000,1 p2,6.226061,sphinx3,2133000,0 p2,5.278320,sphinx3,1733000,0 p2,5.258042,sphinx3,1733000,0 p2,5.270276,sphinx3,1733000,0 p2,4.295251,sphinx3,1199000,0 p2,4.248585,sphinx3,1199000,0 p2,4.456897,sphinx3,1199000,0 p2,7.276270,sphinx3,2533000,1 p2,7.016697,sphinx3,2533000,1 p2,6.968139,sphinx3,2533000,1 p2,6.503232,cpuload_all_50_4096,2133000,1 p2,6.265327,sphinx3,2133000,1 p2,6.098622,sphinx3,2133000,1 p2,6.256232,sphinx3,2133000,1 p2,5.270980,sphinx3,1733000,1 p2,5.268122,sphinx3,1733000,1 p2,5.262141,sphinx3,1733000,1 p2,4.331897,sphinx3,1199000,1 p2,4.391471,sphinx3,1199000,1 p2,4.344317,sphinx3,1199000,1 p2,7.392177,zeusmp,2533000,0 p2,6.468550,cpuload_all_50_4096,2133000,1 p2,7.436636,zeusmp,2533000,0 p2,7.469846,zeusmp,2533000,0 p2,6.535101,zeusmp,2133000,0 p2,6.602472,zeusmp,2133000,0 p2,6.578984,zeusmp,2133000,0 p2,5.610018,zeusmp,1733000,0 p2,5.614410,zeusmp,1733000,0 p2,5.622850,zeusmp,1733000,0 p2,4.503118,zeusmp,1199000,0 p2,4.486522,zeusmp,1199000,0 p2,6.478238,cpuload_all_50_4096,2133000,1 p2,4.493432,zeusmp,1199000,0 p2,7.407859,zeusmp,2533000,1 p2,7.446717,zeusmp,2533000,1 p2,7.514262,zeusmp,2533000,1 p2,6.562354,zeusmp,2133000,1 p2,6.541931,zeusmp,2133000,1 p2,6.496246,zeusmp,2133000,1 p2,5.542881,zeusmp,1733000,1 p2,5.541649,zeusmp,1733000,1 p2,5.546097,zeusmp,1733000,1 p2,5.064998,cpuload_all_50_4096,1733000,1 p2,4.482843,zeusmp,1199000,1 p2,4.482881,zeusmp,1199000,1 p2,4.468367,zeusmp,1199000,1 p2,8.912111,bzip2,2533000,0 p2,8.187594,bzip2,2533000,0 p2,7.632519,bzip2,2533000,0 p2,6.640838,bzip2,2133000,0 p2,6.605085,bzip2,2133000,0 p2,6.645390,bzip2,2133000,0 p2,5.595728,bzip2,1733000,0 p2,5.076264,cpuload_all_50_4096,1733000,1 p2,5.544077,bzip2,1733000,0 p2,5.607030,bzip2,1733000,0 p2,4.460078,bzip2,1199000,0 p2,4.451000,bzip2,1199000,0 p2,4.481296,bzip2,1199000,0 p2,7.688907,bzip2,2533000,1 p2,7.757428,bzip2,2533000,1 p2,7.724820,bzip2,2533000,1 p2,6.604078,bzip2,2133000,1 p2,6.620437,bzip2,2133000,1 p2,5.488692,cpuload_all_50_4096,1733000,1 p2,6.595351,bzip2,2133000,1 p2,5.588870,bzip2,1733000,1 p2,5.603338,bzip2,1733000,1 p2,5.564448,bzip2,1733000,1 p2,4.463643,bzip2,1199000,1 p2,4.479838,bzip2,1199000,1 p2,4.466001,bzip2,1199000,1 p2,7.367363,cactusADM,2533000,0 p2,7.290269,cactusADM,2533000,0 p2,7.273959,cactusADM,2533000,0 p2,4.535297,cpuload_all_50_4096,1199000,1 p2,6.412066,cactusADM,2133000,0 p2,6.422730,cactusADM,2133000,0 p2,6.367419,cactusADM,2133000,0 p2,5.501322,cactusADM,1733000,0 p2,5.471949,cactusADM,1733000,0 p2,5.479428,cactusADM,1733000,0 p2,4.404004,cactusADM,1199000,0 p2,4.431115,cactusADM,1199000,0 p2,4.435461,cactusADM,1199000,0 p2,7.273981,cactusADM,2533000,1 p2,4.505246,cpuload_all_50_4096,1199000,1 p2,7.236771,cactusADM,2533000,1 p2,7.250910,cactusADM,2533000,1 p2,6.456370,cactusADM,2133000,1 p2,6.451408,cactusADM,2133000,1 p2,6.474760,cactusADM,2133000,1 p2,5.461200,cactusADM,1733000,1 p2,5.479117,cactusADM,1733000,1 p2,5.496323,cactusADM,1733000,1 p2,4.367126,cactusADM,1199000,1 p2,4.402416,cactusADM,1199000,1 p2,4.555312,cpuload_all_50_4096,1199000,1 p2,4.411666,cactusADM,1199000,1 p2,0.872781,cpuload_all_0_4096,2533000,0 p2,0.889651,cpuload_all_0_4096,2533000,0 p2,1.013592,cpuload_all_0_4096,2533000,0 p2,0.823269,cpuload_all_0_4096,2133000,0 p2,0.879328,cpuload_all_0_4096,2133000,0 p2,1.003314,cpuload_all_0_4096,2133000,0 p2,0.802448,cpuload_all_0_4096,1733000,0 p2,0.734419,cpuload_all_0_4096,1733000,0 p2,0.846459,cpuload_all_0_4096,1733000,0 p2,7.351272,cpuload_all_75_4096,2533000,0 p2,0.716735,cpuload_all_0_4096,1199000,0 p2,0.735022,cpuload_all_0_4096,1199000,0 p2,0.745674,cpuload_all_0_4096,1199000,0 p2,0.776441,cpuload_all_0_4096,2533000,1 p2,0.812141,cpuload_all_0_4096,2533000,1 p2,0.765204,cpuload_all_0_4096,2533000,1 p2,0.819408,cpuload_all_0_4096,2133000,1 p2,0.833151,cpuload_all_0_4096,2133000,1 p2,0.895622,cpuload_all_0_4096,2133000,1 p2,0.868644,cpuload_all_0_4096,1733000,1 p2,7.422172,cpuload_all_75_4096,2533000,0 p2,0.804510,cpuload_all_0_4096,1733000,1 p2,0.800438,cpuload_all_0_4096,1733000,1 p2,0.740669,cpuload_all_0_4096,1199000,1 p2,0.696759,cpuload_all_0_4096,1199000,1 p2,0.678690,cpuload_all_0_4096,1199000,1 p2,2.649819,cpuload_all_25_4096,2533000,0 p2,2.678472,cpuload_all_25_4096,2533000,0 p2,2.657558,cpuload_all_25_4096,2533000,0 p2,2.406055,cpuload_all_25_4096,2133000,0 p2,2.385902,cpuload_all_25_4096,2133000,0 p2,7.371473,cpuload_all_75_4096,2533000,0 p2,2.420535,cpuload_all_25_4096,2133000,0 p2,2.117213,cpuload_all_25_4096,1733000,0 p2,2.088161,cpuload_all_25_4096,1733000,0 p2,2.095109,cpuload_all_25_4096,1733000,0 p2,1.873193,cpuload_all_25_4096,1199000,0 p2,1.854026,cpuload_all_25_4096,1199000,0 p2,1.884281,cpuload_all_25_4096,1199000,0 p2,2.629647,cpuload_all_25_4096,2533000,1 p2,2.604342,cpuload_all_25_4096,2533000,1 p2,2.658397,cpuload_all_25_4096,2533000,1 p2,6.472345,cpuload_all_75_4096,2133000,0 p2,2.389699,cpuload_all_25_4096,2133000,1 p2,2.412413,cpuload_all_25_4096,2133000,1 p2,2.409322,cpuload_all_25_4096,2133000,1 p2,2.130982,cpuload_all_25_4096,1733000,1 p2,2.128592,cpuload_all_25_4096,1733000,1 p2,2.189550,cpuload_all_25_4096,1733000,1 p2,1.901175,cpuload_all_25_4096,1199000,1 p2,1.946460,cpuload_all_25_4096,1199000,1 p2,1.904894,cpuload_all_25_4096,1199000,1 p2,7.355840,cpuload_all_50_4096,2533000,0 p2,6.568247,cpuload_all_75_4096,2133000,0 p2,7.511033,cpuload_all_50_4096,2533000,0 p2,7.369782,cpuload_all_50_4096,2533000,0 p2,6.454413,cpuload_all_50_4096,2133000,0 p2,6.448259,cpuload_all_50_4096,2133000,0 p2,6.592593,cpuload_all_50_4096,2133000,0 p2,5.499300,cpuload_all_50_4096,1733000,0 p2,5.467050,cpuload_all_50_4096,1733000,0 p2,5.559979,cpuload_all_50_4096,1733000,0 p2,4.389213,cpuload_all_50_4096,1199000,0 p2,4.442711,cpuload_all_50_4096,1199000,0 p2,6.541374,cpuload_all_75_4096,2133000,0 p2,4.402918,cpuload_all_50_4096,1199000,0 p2,7.284114,cpuload_all_50_4096,2533000,1 p2,7.475448,cpuload_all_50_4096,2533000,1 p2,7.410442,cpuload_all_50_4096,2533000,1 p2,6.445664,cpuload_all_50_4096,2133000,1 p2,6.468035,cpuload_all_50_4096,2133000,1 p2,6.486113,cpuload_all_50_4096,2133000,1 p2,5.107814,cpuload_all_50_4096,1733000,1 p2,5.482757,cpuload_all_50_4096,1733000,1 p2,5.489845,cpuload_all_50_4096,1733000,1 p2,5.503624,cpuload_all_75_4096,1733000,0 p2,4.420067,cpuload_all_50_4096,1199000,1 p2,4.391006,cpuload_all_50_4096,1199000,1 p2,4.415725,cpuload_all_50_4096,1199000,1 p2,7.366315,cpuload_all_75_4096,2533000,0 p2,7.461207,cpuload_all_75_4096,2533000,0 p2,7.374166,cpuload_all_75_4096,2533000,0 p2,6.557461,cpuload_all_75_4096,2133000,0 p2,6.479697,cpuload_all_75_4096,2133000,0 p2,6.467145,cpuload_all_75_4096,2133000,0 p2,5.505718,cpuload_all_75_4096,1733000,0 p2,5.567438,cpuload_all_75_4096,1733000,0 p2,5.487585,cpuload_all_75_4096,1733000,0 p2,5.558886,cpuload_all_75_4096,1733000,0 p2,4.420036,cpuload_all_75_4096,1199000,0 p2,4.398119,cpuload_all_75_4096,1199000,0 p2,4.393356,cpuload_all_75_4096,1199000,0 p2,7.365290,cpuload_all_75_4096,2533000,1 p2,7.333933,cpuload_all_75_4096,2533000,1 p2,7.228669,cpuload_all_75_4096,2533000,1 p2,6.510221,cpuload_all_75_4096,2133000,1 p2,6.469800,cpuload_all_75_4096,2133000,1 p2,5.498978,cpuload_all_75_4096,1733000,0 p2,6.417416,cpuload_all_75_4096,2133000,1 p2,5.558841,cpuload_all_75_4096,1733000,1 p2,5.491829,cpuload_all_75_4096,1733000,1 p2,5.480348,cpuload_all_75_4096,1733000,1 p2,4.411110,cpuload_all_75_4096,1199000,1 p2,4.392236,cpuload_all_75_4096,1199000,1 p2,4.351633,cpuload_all_75_4096,1199000,1 p2,7.510206,cpuload_all_100_4096,2533000,0 p2,7.428985,cpuload_all_100_4096,2533000,0 p2,7.513623,cpuload_all_100_4096,2533000,0 p2,4.407262,cpuload_all_75_4096,1199000,0 p2,6.488003,cpuload_all_100_4096,2133000,0 p2,6.466621,cpuload_all_100_4096,2133000,0 p2,6.585959,cpuload_all_100_4096,2133000,0 p2,5.499731,cpuload_all_100_4096,1733000,0 p2,5.571603,cpuload_all_100_4096,1733000,0 p2,5.506619,cpuload_all_100_4096,1733000,0 p2,4.386608,cpuload_all_100_4096,1199000,0 p2,4.394680,cpuload_all_100_4096,1199000,0 p2,4.386733,cpuload_all_100_4096,1199000,0 p2,7.390933,cpuload_all_100_4096,2533000,1 p2,4.456733,cpuload_all_75_4096,1199000,0 p2,7.495037,cpuload_all_100_4096,2533000,1 p2,7.425119,cpuload_all_100_4096,2533000,1 p2,6.464815,cpuload_all_100_4096,2133000,1 p2,6.474147,cpuload_all_100_4096,2133000,1 p2,6.508878,cpuload_all_100_4096,2133000,1 p2,5.498111,cpuload_all_100_4096,1733000,1 p2,5.576963,cpuload_all_100_4096,1733000,1 p2,5.504074,cpuload_all_100_4096,1733000,1 p2,4.410693,cpuload_all_100_4096,1199000,1 p2,4.356453,cpuload_all_100_4096,1199000,1 p2,4.396068,cpuload_all_75_4096,1199000,0 p2,4.452037,cpuload_all_100_4096,1199000,1 p2,8.474856,gamess,2533000,0 p2,8.495342,gamess,2533000,0 p2,8.503718,gamess,2533000,0 p2,6.822615,gamess,2133000,0 p2,6.927389,gamess,2133000,0 p2,6.901957,gamess,2133000,0 p2,5.768043,gamess,1733000,0 p2,5.764228,gamess,1733000,0 p2,5.755123,gamess,1733000,0 p2,7.223342,cpuload_all_75_4096,2533000,1 p2,4.545158,gamess,1199000,0 p2,4.543199,gamess,1199000,0 p2,4.543843,gamess,1199000,0 p2,8.480115,gamess,2533000,1 p2,8.483110,gamess,2533000,1 p2,8.537262,gamess,2533000,1 p2,6.943990,gamess,2133000,1 p2,6.952854,gamess,2133000,1 p2,6.965641,gamess,2133000,1 p2,5.763336,gamess,1733000,1 p2,7.313777,cpuload_all_75_4096,2533000,1 p2,5.770878,gamess,1733000,1 p2,5.768715,gamess,1733000,1 p2,4.542097,gamess,1199000,1 p2,4.540765,gamess,1199000,1 p2,4.547814,gamess,1199000,1 p2,7.743319,gcc,2533000,0 p2,7.749409,gcc,2533000,0 p2,7.744196,gcc,2533000,0 p2,6.720040,gcc,2133000,0 p2,6.731928,gcc,2133000,0 p2,7.312517,cpuload_all_75_4096,2533000,1 p2,6.692509,gcc,2133000,0 p2,5.730467,gcc,1733000,0 p2,5.720743,gcc,1733000,0 p2,5.733357,gcc,1733000,0 p2,4.560061,gcc,1199000,0 p2,4.556028,gcc,1199000,0 p2,4.555660,gcc,1199000,0 p2,7.742350,gcc,2533000,1 p2,7.748833,gcc,2533000,1 p2,7.745293,gcc,2533000,1 p2,6.503963,cpuload_all_75_4096,2133000,1 p2,6.752897,gcc,2133000,1 p2,6.758615,gcc,2133000,1 p2,6.762822,gcc,2133000,1 p2,5.726975,gcc,1733000,1 p2,5.734479,gcc,1733000,1 p2,5.727405,gcc,1733000,1 p2,4.558151,gcc,1199000,1 p2,4.561435,gcc,1199000,1 p2,4.565684,gcc,1199000,1 p2,7.888281,gobmk,2533000,0 p2,6.423235,cpuload_all_75_4096,2133000,1 p2,7.818827,gobmk,2533000,0 p2,7.843162,gobmk,2533000,0 p2,6.619130,gobmk,2133000,0 p2,6.603754,gobmk,2133000,0 p2,6.610696,gobmk,2133000,0 p2,5.717669,gobmk,1733000,0 p2,5.410827,gobmk,1733000,0 p2,5.706118,gobmk,1733000,0 p2,4.540494,gobmk,1199000,0 p2,4.541664,gobmk,1199000,0 p2,6.124684,cpuload_all_75_4096,2133000,1 p2,4.534807,gobmk,1199000,0 p2,7.843785,gobmk,2533000,1 p2,7.890987,gobmk,2533000,1 p2,7.830483,gobmk,2533000,1 p2,6.802249,gobmk,2133000,1 p2,6.723930,gobmk,2133000,1 p2,6.754704,gobmk,2133000,1 p2,5.707858,gobmk,1733000,1 p2,5.703010,gobmk,1733000,1 p2,5.708552,gobmk,1733000,1 p2,5.497946,cpuload_all_75_4096,1733000,1 p2,4.533482,gobmk,1199000,1 p2,4.536400,gobmk,1199000,1 p2,4.545382,gobmk,1199000,1 p2,7.697115,gromacs,2533000,0 p2,7.687977,gromacs,2533000,0 p2,7.733464,gromacs,2533000,0 p2,6.622552,gromacs,2133000,0 p2,6.628427,gromacs,2133000,0 p2,6.577257,gromacs,2133000,0 p2,5.708457,gromacs,1733000,0 p2,5.551635,cpuload_all_75_4096,1733000,1 p2,5.714285,gromacs,1733000,0 p2,5.699859,gromacs,1733000,0 p2,4.544737,gromacs,1199000,0 p2,4.544475,gromacs,1199000,0 p2,4.533645,gromacs,1199000,0 p2,7.705648,gromacs,2533000,1 p2,7.697548,gromacs,2533000,1 p2,7.726809,gromacs,2533000,1 p2,6.688688,gromacs,2133000,1 p2,6.698436,gromacs,2133000,1 p2,5.492338,cpuload_all_75_4096,1733000,1 p2,6.709482,gromacs,2133000,1 p2,5.694750,gromacs,1733000,1 p2,5.686839,gromacs,1733000,1 p2,5.697888,gromacs,1733000,1 p2,4.541703,gromacs,1199000,1 p2,4.530229,gromacs,1199000,1 p2,4.532102,gromacs,1199000,1 p2,7.970542,h264ref,2533000,0 p2,8.049174,h264ref,2533000,0 p2,7.970580,h264ref,2533000,0 p2,4.480819,cpuload_all_75_4096,1199000,1 p2,6.793067,h264ref,2133000,0 p2,6.788485,h264ref,2133000,0 p2,6.770978,h264ref,2133000,0 p2,5.681983,h264ref,1733000,0 p2,5.685901,h264ref,1733000,0 p2,5.684976,h264ref,1733000,0 p2,4.518812,h264ref,1199000,0 p2,4.520146,h264ref,1199000,0 p2,4.520119,h264ref,1199000,0 p2,7.930072,h264ref,2533000,1 p2,4.542382,cpuload_all_75_4096,1199000,1 p2,7.969775,h264ref,2533000,1 p2,7.982637,h264ref,2533000,1 p2,6.739473,h264ref,2133000,1 p2,6.778583,h264ref,2133000,1 p2,6.706197,h264ref,2133000,1 p2,5.699279,h264ref,1733000,1 p2,5.678660,h264ref,1733000,1 p2,5.683846,h264ref,1733000,1 p2,4.519504,h264ref,1199000,1 p2,4.525260,h264ref,1199000,1 p2,4.516112,cpuload_all_75_4096,1199000,1 p2,4.518902,h264ref,1199000,1 p2,8.332090,hmmer,2533000,0 p2,8.288000,hmmer,2533000,0 p2,8.211784,hmmer,2533000,0 p2,6.822939,hmmer,2133000,0 p2,6.858301,hmmer,2133000,0 p2,6.823537,hmmer,2133000,0 p2,5.635162,hmmer,1733000,0 p2,5.640137,hmmer,1733000,0 p2,5.642081,hmmer,1733000,0 p2,7.479221,cpuload_all_100_4096,2533000,0 p2,4.495294,hmmer,1199000,0 p2,4.491646,hmmer,1199000,0 p2,4.494040,hmmer,1199000,0 p2,8.202962,hmmer,2533000,1 p2,8.191215,hmmer,2533000,1 p2,8.206799,hmmer,2533000,1 p2,6.812949,hmmer,2133000,1 p2,6.826969,hmmer,2133000,1 p2,6.817305,hmmer,2133000,1 p2,5.709398,hmmer,1733000,1 p2,7.403850,cpuload_all_100_4096,2533000,0 p2,5.702602,hmmer,1733000,1 p2,5.699491,hmmer,1733000,1 p2,4.496865,hmmer,1199000,1 p2,4.498920,hmmer,1199000,1 p2,4.503564,hmmer,1199000,1 p2,7.468214,lbm,2533000,0 p2,7.470328,lbm,2533000,0 p2,7.467153,lbm,2533000,0 p2,6.566366,lbm,2133000,0 p2,6.566903,lbm,2133000,0 p2,7.472509,cpuload_all_100_4096,2533000,0 p2,6.506509,lbm,2133000,0 p2,5.610509,lbm,1733000,0 p2,5.616637,lbm,1733000,0 p2,5.541847,lbm,1733000,0 p2,4.412195,lbm,1199000,0 p2,4.457192,lbm,1199000,0 p2,4.454374,lbm,1199000,0 p2,7.479563,lbm,2533000,1 p2,7.478410,lbm,2533000,1 p2,7.486115,lbm,2533000,1 p2,6.526170,cpuload_all_100_4096,2133000,0 p2,6.585715,lbm,2133000,1 p2,6.584968,lbm,2133000,1 p2,6.584249,lbm,2133000,1 p2,5.540536,lbm,1733000,1 p2,5.543427,lbm,1733000,1 p2,5.542880,lbm,1733000,1 p2,4.459201,lbm,1199000,1 p2,4.409619,lbm,1199000,1 p2,4.459886,lbm,1199000,1 p2,7.647510,leslie3d,2533000,0 p2,6.481376,cpuload_all_100_4096,2133000,0 p2,7.609238,leslie3d,2533000,0 p2,7.654667,leslie3d,2533000,0 p2,6.681958,leslie3d,2133000,0 p2,6.683873,leslie3d,2133000,0 p2,6.693822,leslie3d,2133000,0 p2,5.658642,leslie3d,1733000,0 p2,5.652082,leslie3d,1733000,0 p2,5.674492,leslie3d,1733000,0 p2,4.516753,leslie3d,1199000,0 p2,4.517961,leslie3d,1199000,0 p2,6.555505,cpuload_all_100_4096,2133000,0 p2,4.521622,leslie3d,1199000,0 p2,7.701827,leslie3d,2533000,1 p2,7.639823,leslie3d,2533000,1 p2,7.678791,leslie3d,2533000,1 p2,6.701325,leslie3d,2133000,1 p2,6.689452,leslie3d,2133000,1 p2,6.697416,leslie3d,2133000,1 p2,5.662046,leslie3d,1733000,1 p2,5.667578,leslie3d,1733000,1 p2,5.661465,leslie3d,1733000,1 p2,5.507431,cpuload_all_100_4096,1733000,0 p2,4.513461,leslie3d,1199000,1 p2,4.520378,leslie3d,1199000,1 p2,4.514416,leslie3d,1199000,1 p2,7.157336,mcf,2533000,0 p2,7.042216,mcf,2533000,0 p2,7.146450,mcf,2533000,0 p2,6.416707,mcf,2133000,0 p2,6.259794,mcf,2133000,0 p2,6.309672,mcf,2133000,0 p2,5.371720,mcf,1733000,0 p2,5.514336,cpuload_all_100_4096,1733000,0 p2,5.368029,mcf,1733000,0 p2,5.379065,mcf,1733000,0 p2,4.410760,mcf,1199000,0 p2,4.398140,mcf,1199000,0 p2,4.347800,mcf,1199000,0 p2,7.159258,mcf,2533000,1 p2,7.123828,mcf,2533000,1 p2,7.104821,mcf,2533000,1 p2,6.274356,mcf,2133000,1 p2,6.243245,mcf,2133000,1 p2,5.507250,cpuload_all_100_4096,1733000,0 p2,6.375473,mcf,2133000,1 p2,5.408732,mcf,1733000,1 p2,5.427212,mcf,1733000,1 p2,5.550744,mcf,1733000,1 p2,4.392227,mcf,1199000,1 p2,4.348079,mcf,1199000,1 p2,4.370406,mcf,1199000,1 p2,6.897670,milc,2533000,0 p2,7.003660,milc,2533000,0 p2,7.062145,milc,2533000,0 p2,4.437396,cpuload_all_100_4096,1199000,0 p2,6.231478,milc,2133000,0 p2,6.203602,milc,2133000,0 p2,6.386018,milc,2133000,0 p2,5.413491,milc,1733000,0 p2,5.407941,milc,1733000,0 p2,5.281482,milc,1733000,0 p2,4.338538,milc,1199000,0 p2,4.300269,milc,1199000,0 p2,4.309624,milc,1199000,0 p2,6.807714,milc,2533000,1 p2,4.451196,cpuload_all_100_4096,1199000,0 p2,7.012661,milc,2533000,1 p2,7.003133,milc,2533000,1 p2,6.226545,milc,2133000,1 p2,6.225975,milc,2133000,1 p2,6.204355,milc,2133000,1 p2,5.269440,milc,1733000,1 p2,5.443980,milc,1733000,1 p2,5.417593,milc,1733000,1 p2,4.311705,milc,1199000,1 p2,4.303479,milc,1199000,1 p2,4.421558,cpuload_all_100_4096,1199000,0 p2,4.325093,milc,1199000,1 p2,6.938081,namd,2533000,0 p2,6.972166,namd,2533000,0 p2,6.951200,namd,2533000,0 p2,6.147003,namd,2133000,0 p2,6.142745,namd,2133000,0 p2,6.132263,namd,2133000,0 p2,5.363339,namd,1733000,0 p2,5.181665,namd,1733000,0 p2,5.264602,namd,1733000,0 p2,7.381742,cpuload_all_100_4096,2533000,1 p2,4.309124,namd,1199000,0 p2,4.300174,namd,1199000,0 p2,4.416391,namd,1199000,0 p2,6.959886,namd,2533000,1 p2,6.974985,namd,2533000,1 p2,6.999311,namd,2533000,1 p2,6.125823,namd,2133000,1 p2,6.200251,namd,2133000,1 p2,6.130767,namd,2133000,1 p2,5.374634,namd,1733000,1 p2,7.485597,cpuload_all_100_4096,2533000,1 p2,5.365782,namd,1733000,1 p2,5.478289,namd,1733000,1 p2,4.491014,namd,1199000,1 p2,4.282677,namd,1199000,1 p2,4.342381,namd,1199000,1 p2,7.971861,omnetpp,2533000,0 p2,7.994824,omnetpp,2533000,0 p2,8.030955,omnetpp,2533000,0 p2,6.697328,omnetpp,2133000,0 p2,6.764146,omnetpp,2133000,0 p2,7.387212,cpuload_all_100_4096,2533000,1 p2,6.780626,omnetpp,2133000,0 p2,5.631726,omnetpp,1733000,0 p2,5.662592,omnetpp,1733000,0 p2,5.634020,omnetpp,1733000,0 p2,4.499625,omnetpp,1199000,0 p2,4.496396,omnetpp,1199000,0 p2,4.500980,omnetpp,1199000,0 p2,8.041714,omnetpp,2533000,1 p2,8.040566,omnetpp,2533000,1 p2,7.916587,omnetpp,2533000,1 p2,6.475818,cpuload_all_100_4096,2133000,1 p2,6.734006,omnetpp,2133000,1 p2,6.813479,omnetpp,2133000,1 p2,6.858670,omnetpp,2133000,1 p2,5.646928,omnetpp,1733000,1 p2,5.633628,omnetpp,1733000,1 p2,5.648008,omnetpp,1733000,1 p2,4.497336,omnetpp,1199000,1 p2,4.469353,omnetpp,1199000,1 p2,4.492875,omnetpp,1199000,1 p2,6.567259,povray,2533000,0 p2,6.557094,cpuload_all_100_4096,2133000,1 p2,7.150488,povray,2533000,0 p2,7.102911,povray,2533000,0 p2,5.926310,povray,2133000,0 p2,5.912783,povray,2133000,0 p2,5.597764,povray,2133000,0 p2,4.941375,povray,1733000,0 p2,4.935496,povray,1733000,0 p2,5.265553,povray,1733000,0 p2,4.266371,povray,1199000,0 p2,4.224556,povray,1199000,0 p2,6.477325,cpuload_all_100_4096,2133000,1 p2,4.224509,povray,1199000,0 p2,6.580170,povray,2533000,1 p2,6.814935,povray,2533000,1 p2,6.574627,povray,2533000,1 p2,5.590968,povray,2133000,1 p2,5.579437,povray,2133000,1 p2,5.607555,povray,2133000,1 p2,4.956203,povray,1733000,1 p2,4.937004,povray,1733000,1 p2,4.968894,povray,1733000,1 p2,5.509344,cpuload_all_100_4096,1733000,1 p2,4.242750,povray,1199000,1 p2,4.240922,povray,1199000,1 p2,4.213081,povray,1199000,1 p2,7.840164,sjeng,2533000,0 p2,7.876756,sjeng,2533000,0 p2,7.834978,sjeng,2533000,0 p2,6.753640,sjeng,2133000,0 p2,6.742820,sjeng,2133000,0 p2,6.743404,sjeng,2133000,0 p2,5.720948,sjeng,1733000,0 p2,5.505538,cpuload_all_100_4096,1733000,1 p2,5.707757,sjeng,1733000,0 p2,5.721602,sjeng,1733000,0 p2,4.543181,sjeng,1199000,0 p2,4.525117,sjeng,1199000,0 p2,4.517296,sjeng,1199000,0 p2,7.841695,sjeng,2533000,1 p2,7.832495,sjeng,2533000,1 p2,7.809115,sjeng,2533000,1 p2,6.750341,sjeng,2133000,1 p2,6.779409,sjeng,2133000,1 p2,5.576067,cpuload_all_100_4096,1733000,1 p2,6.759082,sjeng,2133000,1 p2,5.702186,sjeng,1733000,1 p2,5.715140,sjeng,1733000,1 p2,5.706959,sjeng,1733000,1 p2,4.524256,sjeng,1199000,1 p2,4.527575,sjeng,1199000,1 p2,4.534391,sjeng,1199000,1 p2,6.499592,soplex,2533000,0 p2,6.422674,soplex,2533000,0 p2,6.937462,soplex,2533000,0 p2,4.460054,cpuload_all_100_4096,1199000,1 p2,6.049652,soplex,2133000,0 p2,5.907942,soplex,2133000,0 p2,5.778324,soplex,2133000,0 p2,5.249793,soplex,1733000,0 p2,5.154613,soplex,1733000,0 p2,5.318577,soplex,1733000,0 p2,4.359830,soplex,1199000,0 p2,4.257608,soplex,1199000,0 p2,4.152931,soplex,1199000,0 p2,6.443663,soplex,2533000,1 p2,4.453967,cpuload_all_100_4096,1199000,1 p2,6.818349,soplex,2533000,1 p2,6.175218,soplex,2533000,1 p2,6.178607,soplex,2133000,1 p2,5.832589,soplex,2133000,1 p2,5.756715,soplex,2133000,1 p2,4.983616,soplex,1733000,1 p2,5.342861,soplex,1733000,1 p2,5.153376,soplex,1733000,1 p2,4.224264,soplex,1199000,1 p2,4.123986,soplex,1199000,1 p2,4.472081,cpuload_all_100_4096,1199000,1 p2,4.296061,soplex,1199000,1 p2,6.993822,sphinx3,2533000,0 p2,6.957778,sphinx3,2533000,0 p2,6.954613,sphinx3,2533000,0 p2,6.290932,sphinx3,2133000,0 p2,6.037829,sphinx3,2133000,0 p2,6.022283,sphinx3,2133000,0 p2,5.263500,sphinx3,1733000,0 p2,5.256983,sphinx3,1733000,0 p2,5.241496,sphinx3,1733000,0 p2,8.369323,gamess,2533000,0 p2,4.261023,sphinx3,1199000,0 p2,4.258945,sphinx3,1199000,0 p2,4.274763,sphinx3,1199000,0 p2,6.947924,sphinx3,2533000,1 p2,6.941933,sphinx3,2533000,1 p2,6.954091,sphinx3,2533000,1 p2,6.032631,sphinx3,2133000,1 p2,6.017887,sphinx3,2133000,1 p2,6.002271,sphinx3,2133000,1 p2,5.286615,sphinx3,1733000,1 p2,8.352978,gamess,2533000,0 p2,5.245570,sphinx3,1733000,1 p2,5.047551,sphinx3,1733000,1 p2,4.132238,sphinx3,1199000,1 p2,4.122151,sphinx3,1199000,1 p2,4.121511,sphinx3,1199000,1 p2,7.595309,zeusmp,2533000,0 p2,7.437328,zeusmp,2533000,0 p2,7.515771,zeusmp,2533000,0 p2,6.595933,zeusmp,2133000,0 p2,6.602537,zeusmp,2133000,0 p2,8.367415,gamess,2533000,0 p2,6.578082,zeusmp,2133000,0 p2,5.553352,zeusmp,1733000,0 p2,5.528352,zeusmp,1733000,0 p2,5.610417,zeusmp,1733000,0 p2,4.517411,zeusmp,1199000,0 p2,4.514367,zeusmp,1199000,0 p2,4.463233,zeusmp,1199000,0 p2,7.293682,zeusmp,2533000,1 p2,7.430121,zeusmp,2533000,1 p2,7.307699,zeusmp,2533000,1 p2,6.916576,gamess,2133000,0 p2,6.454258,zeusmp,2133000,1 p2,6.468906,zeusmp,2133000,1 p2,6.457243,zeusmp,2133000,1 p2,5.560213,zeusmp,1733000,1 p2,5.550754,zeusmp,1733000,1 p2,5.546029,zeusmp,1733000,1 p2,4.487911,zeusmp,1199000,1 p2,4.489311,zeusmp,1199000,1 p2,4.510988,zeusmp,1199000,1 p2,9.163053,bzip2,2533000,0 p2,6.914611,gamess,2133000,0 p2,8.303591,bzip2,2533000,0 p2,7.755955,bzip2,2533000,0 p2,6.641699,bzip2,2133000,0 p2,6.605153,bzip2,2133000,0 p2,6.674193,bzip2,2133000,0 p2,5.624049,bzip2,1733000,0 p2,5.663806,bzip2,1733000,0 p2,5.620885,bzip2,1733000,0 p2,4.458514,bzip2,1199000,0 p2,4.459291,bzip2,1199000,0 p2,6.921678,gamess,2133000,0 p2,4.485152,bzip2,1199000,0 p2,7.627689,bzip2,2533000,1 p2,7.748330,bzip2,2533000,1 p2,7.788377,bzip2,2533000,1 p2,6.685622,bzip2,2133000,1 p2,6.656847,bzip2,2133000,1 p2,6.667656,bzip2,2133000,1 p2,5.640354,bzip2,1733000,1 p2,5.620826,bzip2,1733000,1 p2,5.647620,bzip2,1733000,1 p2,5.758148,gamess,1733000,0 p2,4.492023,bzip2,1199000,1 p2,4.491047,bzip2,1199000,1 p2,4.490731,bzip2,1199000,1 p2,7.312882,cactusADM,2533000,0 p2,7.313110,cactusADM,2533000,0 p2,7.427105,cactusADM,2533000,0 p2,6.614816,cactusADM,2133000,0 p2,6.618935,cactusADM,2133000,0 p2,6.564221,cactusADM,2133000,0 p2,5.559643,cactusADM,1733000,0 p2,5.741411,gamess,1733000,0 p2,5.533845,cactusADM,1733000,0 p2,5.555092,cactusADM,1733000,0 p2,4.430918,cactusADM,1199000,0 p2,4.403316,cactusADM,1199000,0 p2,4.472816,cactusADM,1199000,0 p2,7.359533,cactusADM,2533000,1 p2,7.287212,cactusADM,2533000,1 p2,7.292651,cactusADM,2533000,1 p2,6.492384,cactusADM,2133000,1 p2,6.445976,cactusADM,2133000,1 p2,5.738860,gamess,1733000,0 p2,6.476126,cactusADM,2133000,1 p2,5.576411,cactusADM,1733000,1 p2,5.582163,cactusADM,1733000,1 p2,5.569631,cactusADM,1733000,1 p2,4.484137,cactusADM,1199000,1 p2,4.455610,cactusADM,1199000,1 p2,4.443195,cactusADM,1199000,1 p2,0.922110,cpuload_all_0_4096,2533000,0 p2,0.859067,cpuload_all_0_4096,2533000,0 p2,0.960653,cpuload_all_0_4096,2533000,0 p2,4.536025,gamess,1199000,0 p2,0.829476,cpuload_all_0_4096,2133000,0 p2,0.835220,cpuload_all_0_4096,2133000,0 p2,0.810049,cpuload_all_0_4096,2133000,0 p2,0.887227,cpuload_all_0_4096,1733000,0 p2,0.828144,cpuload_all_0_4096,1733000,0 p2,0.868095,cpuload_all_0_4096,1733000,0 p2,0.773598,cpuload_all_0_4096,1199000,0 p2,0.952486,cpuload_all_0_4096,1199000,0 p2,0.717246,cpuload_all_0_4096,1199000,0 p2,0.756819,cpuload_all_0_4096,2533000,1 p2,4.539234,gamess,1199000,0 p2,0.886433,cpuload_all_0_4096,2533000,1 p2,0.749116,cpuload_all_0_4096,2533000,1 p2,0.929682,cpuload_all_0_4096,2133000,1 p2,0.803519,cpuload_all_0_4096,2133000,1 p2,0.715872,cpuload_all_0_4096,2133000,1 p2,0.738657,cpuload_all_0_4096,1733000,1 p2,0.761181,cpuload_all_0_4096,1733000,1 p2,0.761702,cpuload_all_0_4096,1733000,1 p2,0.833987,cpuload_all_0_4096,1199000,1 p2,0.653975,cpuload_all_0_4096,1199000,1 p2,4.540515,gamess,1199000,0 p2,0.676427,cpuload_all_0_4096,1199000,1 p2,2.694207,cpuload_all_25_4096,2533000,0 p2,2.681916,cpuload_all_25_4096,2533000,0 p2,2.648523,cpuload_all_25_4096,2533000,0 p2,2.447670,cpuload_all_25_4096,2133000,0 p2,2.387759,cpuload_all_25_4096,2133000,0 p2,2.425888,cpuload_all_25_4096,2133000,0 p2,2.113073,cpuload_all_25_4096,1733000,0 p2,2.149906,cpuload_all_25_4096,1733000,0 p2,2.137658,cpuload_all_25_4096,1733000,0 p2,8.332224,gamess,2533000,1 p2,1.911440,cpuload_all_25_4096,1199000,0 p2,1.927771,cpuload_all_25_4096,1199000,0 p2,1.910647,cpuload_all_25_4096,1199000,0 p2,2.649837,cpuload_all_25_4096,2533000,1 p2,2.674620,cpuload_all_25_4096,2533000,1 p2,2.648479,cpuload_all_25_4096,2533000,1 p2,2.426499,cpuload_all_25_4096,2133000,1 p2,2.420270,cpuload_all_25_4096,2133000,1 p2,2.354325,cpuload_all_25_4096,2133000,1 p2,2.133340,cpuload_all_25_4096,1733000,1 p2,8.396450,gamess,2533000,1 p2,2.129542,cpuload_all_25_4096,1733000,1 p2,2.125890,cpuload_all_25_4096,1733000,1 p2,1.920042,cpuload_all_25_4096,1199000,1 p2,1.902823,cpuload_all_25_4096,1199000,1 p2,1.878589,cpuload_all_25_4096,1199000,1 p2,7.379469,cpuload_all_50_4096,2533000,0 p2,7.457517,cpuload_all_50_4096,2533000,0 p2,7.381570,cpuload_all_50_4096,2533000,0 p2,6.460163,cpuload_all_50_4096,2133000,0 p2,6.535250,cpuload_all_50_4096,2133000,0 p2,8.358435,gamess,2533000,1 p2,6.435637,cpuload_all_50_4096,2133000,0 p2,5.477792,cpuload_all_50_4096,1733000,0 p2,5.565533,cpuload_all_50_4096,1733000,0 p2,5.503962,cpuload_all_50_4096,1733000,0 p2,4.444357,cpuload_all_50_4096,1199000,0 p2,4.398590,cpuload_all_50_4096,1199000,0 p2,4.413319,cpuload_all_50_4096,1199000,0 p2,7.374898,cpuload_all_50_4096,2533000,1 p2,7.468699,cpuload_all_50_4096,2533000,1 p2,7.271542,cpuload_all_50_4096,2533000,1 p2,6.901617,gamess,2133000,1 p2,6.448964,cpuload_all_50_4096,2133000,1 p2,6.271330,cpuload_all_50_4096,2133000,1 p2,6.598767,cpuload_all_50_4096,2133000,1 p2,5.510290,cpuload_all_50_4096,1733000,1 p2,5.045917,cpuload_all_50_4096,1733000,1 p2,5.570588,cpuload_all_50_4096,1733000,1 p2,4.421778,cpuload_all_50_4096,1199000,1 p2,4.474134,cpuload_all_50_4096,1199000,1 p2,4.504168,cpuload_all_50_4096,1199000,1 p2,7.445703,cpuload_all_75_4096,2533000,0 p2,6.927323,gamess,2133000,1 p2,7.371844,cpuload_all_75_4096,2533000,0 p2,7.470957,cpuload_all_75_4096,2533000,0 p2,6.475195,cpuload_all_75_4096,2133000,0 p2,6.475035,cpuload_all_75_4096,2133000,0 p2,6.568882,cpuload_all_75_4096,2133000,0 p2,5.505596,cpuload_all_75_4096,1733000,0 p2,5.513069,cpuload_all_75_4096,1733000,0 p2,5.569655,cpuload_all_75_4096,1733000,0 p2,4.425325,cpuload_all_75_4096,1199000,0 p2,4.403991,cpuload_all_75_4096,1199000,0 p2,6.925283,gamess,2133000,1 p2,4.461685,cpuload_all_75_4096,1199000,0 p2,7.349372,cpuload_all_75_4096,2533000,1 p2,7.325203,cpuload_all_75_4096,2533000,1 p2,7.355883,cpuload_all_75_4096,2533000,1 p2,6.451428,cpuload_all_75_4096,2133000,1 p2,6.431636,cpuload_all_75_4096,2133000,1 p2,6.458355,cpuload_all_75_4096,2133000,1 p2,7.550091,bzip2,2533000,0 p2,7.743382,bzip2,2533000,0 p2,7.737534,bzip2,2533000,0 p2,5.756473,gamess,1733000,1 p2,6.624340,bzip2,2133000,0 p2,6.707262,bzip2,2133000,0 p2,6.666895,bzip2,2133000,0 p2,5.609801,bzip2,1733000,0 p2,5.640675,bzip2,1733000,0 p2,5.648984,bzip2,1733000,0 p2,4.482372,bzip2,1199000,0 p2,4.478927,bzip2,1199000,0 p2,4.492770,bzip2,1199000,0 p2,7.701177,bzip2,2533000,1 p2,5.735256,gamess,1733000,1 p2,7.771393,bzip2,2533000,1 p2,7.712281,bzip2,2533000,1 p2,6.679230,bzip2,2133000,1 p2,6.682500,bzip2,2133000,1 p2,6.633566,bzip2,2133000,1 p2,5.639896,bzip2,1733000,1 p2,5.601365,bzip2,1733000,1 p2,5.632246,bzip2,1733000,1 p2,4.491430,bzip2,1199000,1 p2,4.502173,bzip2,1199000,1 p2,5.760970,gamess,1733000,1 p2,4.497433,bzip2,1199000,1 p2,7.392239,cactusADM,2533000,0 p2,7.411466,cactusADM,2533000,0 p2,7.372906,cactusADM,2533000,0 p2,6.499167,cactusADM,2133000,0 p2,6.564387,cactusADM,2133000,0 p2,6.526044,cactusADM,2133000,0 p2,5.543688,cactusADM,1733000,0 p2,5.547754,cactusADM,1733000,0 p2,5.557743,cactusADM,1733000,0 p2,4.544986,gamess,1199000,1 p2,4.505647,cactusADM,1199000,0 p2,4.491492,cactusADM,1199000,0 p2,4.506511,cactusADM,1199000,0 p2,7.381666,cactusADM,2533000,1 p2,7.422259,cactusADM,2533000,1 p2,7.413577,cactusADM,2533000,1 p2,6.514058,cactusADM,2133000,1 p2,6.505574,cactusADM,2133000,1 p2,6.531406,cactusADM,2133000,1 p2,5.510775,cactusADM,1733000,1 p2,4.544943,gamess,1199000,1 p2,5.559238,cactusADM,1733000,1 p2,5.552435,cactusADM,1733000,1 p2,4.480632,cactusADM,1199000,1 p2,4.432096,cactusADM,1199000,1 p2,4.446530,cactusADM,1199000,1 p2,0.929391,cpuload_all_0_4096,2533000,0 p2,0.858381,cpuload_all_0_4096,2533000,0 p2,0.829969,cpuload_all_0_4096,2533000,0 p2,0.860665,cpuload_all_0_4096,2133000,0 p2,0.713444,cpuload_all_0_4096,2133000,0 p2,4.542860,gamess,1199000,1 p2,0.773904,cpuload_all_0_4096,2133000,0 p2,0.733737,cpuload_all_0_4096,1733000,0 p2,0.713545,cpuload_all_0_4096,1733000,0 p2,0.820878,cpuload_all_0_4096,1733000,0 p2,0.772940,cpuload_all_0_4096,1199000,0 p2,0.748235,cpuload_all_0_4096,1199000,0 p2,0.854846,cpuload_all_0_4096,1199000,0 p2,0.735261,cpuload_all_0_4096,2533000,1 p2,0.842775,cpuload_all_0_4096,2533000,1 p2,0.826151,cpuload_all_0_4096,2533000,1 p2,7.720664,gcc,2533000,0 p2,0.788432,cpuload_all_0_4096,2133000,1 p2,0.900020,cpuload_all_0_4096,2133000,1 p2,0.700615,cpuload_all_0_4096,2133000,1 p2,0.706659,cpuload_all_0_4096,1733000,1 p2,0.777855,cpuload_all_0_4096,1733000,1 p2,0.779631,cpuload_all_0_4096,1733000,1 p2,0.873232,cpuload_all_0_4096,1199000,1 p2,0.776090,cpuload_all_0_4096,1199000,1 p2,0.786603,cpuload_all_0_4096,1199000,1 p2,2.671904,cpuload_all_25_4096,2533000,0 p2,7.715569,gcc,2533000,0 p2,2.605339,cpuload_all_25_4096,2533000,0 p2,2.679796,cpuload_all_25_4096,2533000,0 p2,2.358104,cpuload_all_25_4096,2133000,0 p2,2.377721,cpuload_all_25_4096,2133000,0 p2,2.373986,cpuload_all_25_4096,2133000,0 p2,2.106099,cpuload_all_25_4096,1733000,0 p2,2.087228,cpuload_all_25_4096,1733000,0 p2,2.091971,cpuload_all_25_4096,1733000,0 p2,1.884305,cpuload_all_25_4096,1199000,0 p2,1.869104,cpuload_all_25_4096,1199000,0 p2,7.710047,gcc,2533000,0 p2,1.859125,cpuload_all_25_4096,1199000,0 p2,2.618310,cpuload_all_25_4096,2533000,1 p2,2.629301,cpuload_all_25_4096,2533000,1 p2,2.617292,cpuload_all_25_4096,2533000,1 p2,2.376418,cpuload_all_25_4096,2133000,1 p2,2.373120,cpuload_all_25_4096,2133000,1 p2,2.347331,cpuload_all_25_4096,2133000,1 p2,2.121074,cpuload_all_25_4096,1733000,1 p2,2.097676,cpuload_all_25_4096,1733000,1 p2,2.084312,cpuload_all_25_4096,1733000,1 p2,6.746140,gcc,2133000,0 p2,1.898368,cpuload_all_25_4096,1199000,1 p2,1.913107,cpuload_all_25_4096,1199000,1 p2,1.902435,cpuload_all_25_4096,1199000,1 p2,7.392897,cpuload_all_50_4096,2533000,0 p2,7.397908,cpuload_all_50_4096,2533000,0 p2,7.466708,cpuload_all_50_4096,2533000,0 p2,6.455317,cpuload_all_50_4096,2133000,0 p2,6.469707,cpuload_all_50_4096,2133000,0 p2,6.431213,cpuload_all_50_4096,2133000,0 p2,5.571296,cpuload_all_50_4096,1733000,0 p2,6.754353,gcc,2133000,0 p2,5.477309,cpuload_all_50_4096,1733000,0 p2,5.106522,cpuload_all_50_4096,1733000,0 p2,4.427874,cpuload_all_50_4096,1199000,0 p2,4.405589,cpuload_all_50_4096,1199000,0 p2,4.406027,cpuload_all_50_4096,1199000,0 p2,7.381177,cpuload_all_50_4096,2533000,1 p2,7.412180,cpuload_all_50_4096,2533000,1 p2,7.478976,cpuload_all_50_4096,2533000,1 p2,6.450206,cpuload_all_50_4096,2133000,1 p2,6.473243,cpuload_all_50_4096,2133000,1 p2,6.743530,gcc,2133000,0 p2,6.478555,cpuload_all_50_4096,2133000,1 p2,5.570466,cpuload_all_50_4096,1733000,1 p2,5.051136,cpuload_all_50_4096,1733000,1 p2,5.040290,cpuload_all_50_4096,1733000,1 p2,4.393538,cpuload_all_50_4096,1199000,1 p2,4.456060,cpuload_all_50_4096,1199000,1 p2,4.456171,cpuload_all_50_4096,1199000,1 p2,7.334833,cpuload_all_75_4096,2533000,0 p2,7.457601,cpuload_all_75_4096,2533000,0 p2,7.466262,cpuload_all_75_4096,2533000,0 p2,5.719224,gcc,1733000,0 p2,6.429464,cpuload_all_75_4096,2133000,0 p2,6.464843,cpuload_all_75_4096,2133000,0 p2,6.529903,cpuload_all_75_4096,2133000,0 p2,5.469649,cpuload_all_75_4096,1733000,0 p2,5.493960,cpuload_all_75_4096,1733000,0 p2,5.450758,cpuload_all_75_4096,1733000,0 p2,4.416194,cpuload_all_75_4096,1199000,0 p2,4.398827,cpuload_all_75_4096,1199000,0 p2,4.462296,cpuload_all_75_4096,1199000,0 p2,7.468001,cpuload_all_75_4096,2533000,1 p2,5.720936,gcc,1733000,0 p2,7.396566,cpuload_all_75_4096,2533000,1 p2,7.421565,cpuload_all_75_4096,2533000,1 p2,6.469143,cpuload_all_75_4096,2133000,1 p2,6.514833,cpuload_all_75_4096,2133000,1 p2,6.471839,cpuload_all_75_4096,2133000,1 p2,5.569373,cpuload_all_75_4096,1733000,1 p2,5.418879,cpuload_all_75_4096,1733000,1 p2,5.580112,cpuload_all_75_4096,1733000,1 p2,4.397610,cpuload_all_75_4096,1199000,1 p2,4.402553,cpuload_all_75_4096,1199000,1 p2,5.712612,gcc,1733000,0 p2,4.452260,cpuload_all_75_4096,1199000,1 p2,7.416715,cpuload_all_100_4096,2533000,0 p2,7.386297,cpuload_all_100_4096,2533000,0 p2,7.394228,cpuload_all_100_4096,2533000,0 p2,6.565320,cpuload_all_100_4096,2133000,0 p2,6.502407,cpuload_all_100_4096,2133000,0 p2,6.474010,cpuload_all_100_4096,2133000,0 p2,5.502248,cpuload_all_100_4096,1733000,0 p2,5.573511,cpuload_all_100_4096,1733000,0 p2,5.535375,cpuload_all_100_4096,1733000,0 p2,4.552821,gcc,1199000,0 p2,4.410260,cpuload_all_100_4096,1199000,0 p2,4.458797,cpuload_all_100_4096,1199000,0 p2,4.450587,cpuload_all_100_4096,1199000,0 p2,7.384319,cpuload_all_100_4096,2533000,1 p2,7.383627,cpuload_all_100_4096,2533000,1 p2,7.499263,cpuload_all_100_4096,2533000,1 p2,6.522496,cpuload_all_100_4096,2133000,1 p2,6.542835,cpuload_all_100_4096,2133000,1 p2,6.566490,cpuload_all_100_4096,2133000,1 p2,5.421521,cpuload_all_100_4096,1733000,1 p2,4.552019,gcc,1199000,0 p2,5.504035,cpuload_all_100_4096,1733000,1 p2,5.579979,cpuload_all_100_4096,1733000,1 p2,4.408065,cpuload_all_100_4096,1199000,1 p2,4.399655,cpuload_all_100_4096,1199000,1 p2,4.408429,cpuload_all_100_4096,1199000,1 p2,8.431125,gamess,2533000,0 p2,8.417891,gamess,2533000,0 p2,8.444971,gamess,2533000,0 p2,6.804762,gamess,2133000,0 p2,6.788101,gamess,2133000,0 p2,4.556753,gcc,1199000,0 p2,6.804355,gamess,2133000,0 p2,5.756261,gamess,1733000,0 p2,5.751131,gamess,1733000,0 p2,5.760028,gamess,1733000,0 p2,4.534357,gamess,1199000,0 p2,4.544065,gamess,1199000,0 p2,4.540083,gamess,1199000,0 p2,8.449220,gamess,2533000,1 p2,8.470947,gamess,2533000,1 p2,8.507657,gamess,2533000,1 p2,7.730978,gcc,2533000,1 p2,6.899975,gamess,2133000,1 p2,6.951004,gamess,2133000,1 p2,6.939839,gamess,2133000,1 p2,5.781511,gamess,1733000,1 p2,5.757472,gamess,1733000,1 p2,5.764970,gamess,1733000,1 p2,4.542754,gamess,1199000,1 p2,4.549389,gamess,1199000,1 p2,4.542665,gamess,1199000,1 p2,7.729887,gcc,2533000,0 p2,7.728000,gcc,2533000,1 p2,7.723721,gcc,2533000,0 p2,7.734504,gcc,2533000,0 p2,6.733419,gcc,2133000,0 p2,6.722841,gcc,2133000,0 p2,6.718094,gcc,2133000,0 p2,5.727368,gcc,1733000,0 p2,5.724950,gcc,1733000,0 p2,5.722845,gcc,1733000,0 p2,4.554604,gcc,1199000,0 p2,4.561075,gcc,1199000,0 p2,7.733737,gcc,2533000,1 p2,4.557537,gcc,1199000,0 p2,7.748696,gcc,2533000,1 p2,7.751813,gcc,2533000,1 p2,7.746394,gcc,2533000,1 p2,6.776484,gcc,2133000,1 p2,6.764655,gcc,2133000,1 p2,6.757949,gcc,2133000,1 p2,5.728743,gcc,1733000,1 p2,5.726167,gcc,1733000,1 p2,5.723524,gcc,1733000,1 p2,6.754008,gcc,2133000,1 p2,4.560813,gcc,1199000,1 p2,4.558304,gcc,1199000,1 p2,4.561504,gcc,1199000,1 p2,7.814470,gobmk,2533000,0 p2,7.833520,gobmk,2533000,0 p2,7.834054,gobmk,2533000,0 p2,6.632708,gobmk,2133000,0 p2,6.640901,gobmk,2133000,0 p2,6.645374,gobmk,2133000,0 p2,5.717266,gobmk,1733000,0 p2,6.756675,gcc,2133000,1 p2,5.713208,gobmk,1733000,0 p2,5.712508,gobmk,1733000,0 p2,4.528768,gobmk,1199000,0 p2,4.540806,gobmk,1199000,0 p2,4.520483,gobmk,1199000,0 p2,7.777093,gobmk,2533000,1 p2,7.814054,gobmk,2533000,1 p2,7.833592,gobmk,2533000,1 p2,6.739818,gobmk,2133000,1 p2,6.716670,gobmk,2133000,1 p2,6.754435,gcc,2133000,1 p2,6.795867,gobmk,2133000,1 p2,5.695564,gobmk,1733000,1 p2,5.682236,gobmk,1733000,1 p2,5.699529,gobmk,1733000,1 p2,4.539653,gobmk,1199000,1 p2,4.542335,gobmk,1199000,1 p2,4.526741,gobmk,1199000,1 p2,7.707333,gromacs,2533000,0 p2,7.684751,gromacs,2533000,0 p2,7.663097,gromacs,2533000,0 p2,5.721249,gcc,1733000,1 p2,6.697022,gromacs,2133000,0 p2,6.644949,gromacs,2133000,0 p2,6.659606,gromacs,2133000,0 p2,5.695614,gromacs,1733000,0 p2,5.679330,gromacs,1733000,0 p2,5.692419,gromacs,1733000,0 p2,4.540812,gromacs,1199000,0 p2,4.537977,gromacs,1199000,0 p2,4.534455,gromacs,1199000,0 p2,7.700766,gromacs,2533000,1 p2,5.724945,gcc,1733000,1 p2,7.684226,gromacs,2533000,1 p2,7.723272,gromacs,2533000,1 p2,6.714266,gromacs,2133000,1 p2,6.686102,gromacs,2133000,1 p2,6.701575,gromacs,2133000,1 p2,5.678840,gromacs,1733000,1 p2,5.692199,gromacs,1733000,1 p2,5.692118,gromacs,1733000,1 p2,4.534392,gromacs,1199000,1 p2,4.538721,gromacs,1199000,1 p2,5.724255,gcc,1733000,1 p2,4.530985,gromacs,1199000,1 p2,7.923974,h264ref,2533000,0 p2,7.914572,h264ref,2533000,0 p2,7.923581,h264ref,2533000,0 p2,6.796638,h264ref,2133000,0 p2,6.756905,h264ref,2133000,0 p2,6.767782,h264ref,2133000,0 p2,5.694432,h264ref,1733000,0 p2,5.684479,h264ref,1733000,0 p2,5.697118,h264ref,1733000,0 p2,4.557393,gcc,1199000,1 p2,4.531567,h264ref,1199000,0 p2,4.516228,h264ref,1199000,0 p2,4.521322,h264ref,1199000,0 p2,7.902206,h264ref,2533000,1 p2,7.915084,h264ref,2533000,1 p2,7.960253,h264ref,2533000,1 p2,6.742382,h264ref,2133000,1 p2,6.778731,h264ref,2133000,1 p2,6.780539,h264ref,2133000,1 p2,5.691044,h264ref,1733000,1 p2,4.560257,gcc,1199000,1 p2,5.701930,h264ref,1733000,1 p2,5.681968,h264ref,1733000,1 p2,4.531929,h264ref,1199000,1 p2,4.532589,h264ref,1199000,1 p2,4.527736,h264ref,1199000,1 p2,8.154468,hmmer,2533000,0 p2,8.180862,hmmer,2533000,0 p2,8.163255,hmmer,2533000,0 p2,6.786672,hmmer,2133000,0 p2,6.839844,hmmer,2133000,0 p2,4.561523,gcc,1199000,1 p2,6.782191,hmmer,2133000,0 p2,5.634812,hmmer,1733000,0 p2,5.633374,hmmer,1733000,0 p2,5.655248,hmmer,1733000,0 p2,4.488473,hmmer,1199000,0 p2,4.490269,hmmer,1199000,0 p2,4.432353,hmmer,1199000,0 p2,8.212069,hmmer,2533000,1 p2,8.257181,hmmer,2533000,1 p2,8.192004,hmmer,2533000,1 p2,7.808398,gobmk,2533000,0 p2,6.734512,hmmer,2133000,1 p2,6.819751,hmmer,2133000,1 p2,6.802179,hmmer,2133000,1 p2,5.642927,hmmer,1733000,1 p2,5.633518,hmmer,1733000,1 p2,5.684819,hmmer,1733000,1 p2,4.485449,hmmer,1199000,1 p2,4.486706,hmmer,1199000,1 p2,4.517079,hmmer,1199000,1 p2,7.459597,lbm,2533000,0 p2,7.796897,gobmk,2533000,0 p2,7.367697,lbm,2533000,0 p2,7.462852,lbm,2533000,0 p2,6.536344,lbm,2133000,0 p2,6.553163,lbm,2133000,0 p2,6.590545,lbm,2133000,0 p2,5.599543,lbm,1733000,0 p2,5.529541,lbm,1733000,0 p2,5.546254,lbm,1733000,0 p2,4.457813,lbm,1199000,0 p2,4.470450,lbm,1199000,0 p2,7.780507,gobmk,2533000,0 p2,4.453689,lbm,1199000,0 p2,7.518733,lbm,2533000,1 p2,7.508428,lbm,2533000,1 p2,7.518575,lbm,2533000,1 p2,6.568014,lbm,2133000,1 p2,6.571683,lbm,2133000,1 p2,6.612942,lbm,2133000,1 p2,5.597302,lbm,1733000,1 p2,5.580930,lbm,1733000,1 p2,5.552409,lbm,1733000,1 p2,6.722603,gobmk,2133000,0 p2,4.467093,lbm,1199000,1 p2,4.441544,lbm,1199000,1 p2,4.447989,lbm,1199000,1 p2,7.652464,leslie3d,2533000,0 p2,7.655279,leslie3d,2533000,0 p2,7.607904,leslie3d,2533000,0 p2,6.677096,leslie3d,2133000,0 p2,6.691065,leslie3d,2133000,0 p2,6.702743,leslie3d,2133000,0 p2,5.648748,leslie3d,1733000,0 p2,6.716767,gobmk,2133000,0 p2,5.659105,leslie3d,1733000,0 p2,5.656574,leslie3d,1733000,0 p2,4.516305,leslie3d,1199000,0 p2,4.508511,leslie3d,1199000,0 p2,4.509473,leslie3d,1199000,0 p2,7.625334,leslie3d,2533000,1 p2,7.669149,leslie3d,2533000,1 p2,7.668638,leslie3d,2533000,1 p2,6.665592,leslie3d,2133000,1 p2,6.668136,leslie3d,2133000,1 p2,6.726491,gobmk,2133000,0 p2,6.670521,leslie3d,2133000,1 p2,5.613198,leslie3d,1733000,1 p2,5.637651,leslie3d,1733000,1 p2,5.651672,leslie3d,1733000,1 p2,4.520730,leslie3d,1199000,1 p2,4.523335,leslie3d,1199000,1 p2,4.522555,leslie3d,1199000,1 p2,7.228933,mcf,2533000,0 p2,7.259515,mcf,2533000,0 p2,7.108799,mcf,2533000,0 p2,5.691218,gobmk,1733000,0 p2,6.313376,mcf,2133000,0 p2,6.214520,mcf,2133000,0 p2,6.384684,mcf,2133000,0 p2,5.422551,mcf,1733000,0 p2,5.475965,mcf,1733000,0 p2,5.359053,mcf,1733000,0 p2,4.359528,mcf,1199000,0 p2,4.394569,mcf,1199000,0 p2,4.360935,mcf,1199000,0 p2,7.103432,mcf,2533000,1 p2,5.680769,gobmk,1733000,0 p2,7.096076,mcf,2533000,1 p2,7.210757,mcf,2533000,1 p2,6.388944,mcf,2133000,1 p2,6.328745,mcf,2133000,1 p2,6.198418,mcf,2133000,1 p2,5.448537,mcf,1733000,1 p2,5.450125,mcf,1733000,1 p2,5.430448,mcf,1733000,1 p2,4.449378,mcf,1199000,1 p2,4.397009,mcf,1199000,1 p2,5.684809,gobmk,1733000,0 p2,4.426905,mcf,1199000,1 p2,7.038039,milc,2533000,0 p2,7.285793,milc,2533000,0 p2,6.984548,milc,2533000,0 p2,6.216499,milc,2133000,0 p2,6.309555,milc,2133000,0 p2,6.189595,milc,2133000,0 p2,5.286934,milc,1733000,0 p2,5.256980,milc,1733000,0 p2,5.234406,milc,1733000,0 p2,4.532057,gobmk,1199000,0 p2,4.383779,milc,1199000,0 p2,4.286034,milc,1199000,0 p2,4.355464,milc,1199000,0 p2,6.974566,milc,2533000,1 p2,6.962368,milc,2533000,1 p2,7.069615,milc,2533000,1 p2,6.375098,milc,2133000,1 p2,6.178430,milc,2133000,1 p2,6.233954,milc,2133000,1 p2,5.346915,milc,1733000,1 p2,4.540816,gobmk,1199000,0 p2,5.379779,milc,1733000,1 p2,5.372979,milc,1733000,1 p2,4.264977,milc,1199000,1 p2,4.279229,milc,1199000,1 p2,4.328787,milc,1199000,1 p2,6.906931,namd,2533000,0 p2,6.987017,namd,2533000,0 p2,6.893720,namd,2533000,0 p2,6.101928,namd,2133000,0 p2,6.143921,namd,2133000,0 p2,4.512664,gobmk,1199000,0 p2,6.085972,namd,2133000,0 p2,5.333240,namd,1733000,0 p2,5.343412,namd,1733000,0 p2,5.334107,namd,1733000,0 p2,4.375536,namd,1199000,0 p2,4.285943,namd,1199000,0 p2,4.362754,namd,1199000,0 p2,6.910427,namd,2533000,1 p2,7.027512,namd,2533000,1 p2,6.892823,namd,2533000,1 p2,7.779584,gobmk,2533000,1 p2,6.090947,namd,2133000,1 p2,6.192343,namd,2133000,1 p2,6.088346,namd,2133000,1 p2,5.319966,namd,1733000,1 p2,5.331167,namd,1733000,1 p2,5.306892,namd,1733000,1 p2,4.435741,namd,1199000,1 p2,4.375376,namd,1199000,1 p2,4.357716,namd,1199000,1 p2,8.017258,omnetpp,2533000,0 p2,7.823790,gobmk,2533000,1 p2,7.961481,omnetpp,2533000,0 p2,7.950124,omnetpp,2533000,0 p2,6.685071,omnetpp,2133000,0 p2,6.747289,omnetpp,2133000,0 p2,6.679387,omnetpp,2133000,0 p2,5.643378,omnetpp,1733000,0 p2,5.641455,omnetpp,1733000,0 p2,5.643629,omnetpp,1733000,0 p2,4.480079,omnetpp,1199000,0 p2,4.458723,omnetpp,1199000,0 p2,7.779580,gobmk,2533000,1 p2,4.466376,omnetpp,1199000,0 p2,7.929130,omnetpp,2533000,1 p2,7.891244,omnetpp,2533000,1 p2,7.947568,omnetpp,2533000,1 p2,6.724734,omnetpp,2133000,1 p2,6.707922,omnetpp,2133000,1 p2,6.694675,omnetpp,2133000,1 p2,5.590527,omnetpp,1733000,1 p2,5.638569,omnetpp,1733000,1 p2,5.619356,omnetpp,1733000,1 p2,6.741570,gobmk,2133000,1 p2,4.450267,omnetpp,1199000,1 p2,4.473119,omnetpp,1199000,1 p2,4.460286,omnetpp,1199000,1 p2,6.927866,povray,2533000,0 p2,6.968145,povray,2533000,0 p2,6.447218,povray,2533000,0 p2,5.880882,povray,2133000,0 p2,5.734679,povray,2133000,0 p2,5.695158,povray,2133000,0 p2,5.028132,povray,1733000,0 p2,6.713905,gobmk,2133000,1 p2,5.140945,povray,1733000,0 p2,4.894739,povray,1733000,0 p2,4.144321,povray,1199000,0 p2,4.184438,povray,1199000,0 p2,4.222302,povray,1199000,0 p2,7.018076,povray,2533000,1 p2,6.567670,povray,2533000,1 p2,6.643244,povray,2533000,1 p2,5.752495,povray,2133000,1 p2,5.662812,povray,2133000,1 p2,6.725624,gobmk,2133000,1 p2,5.821202,povray,2133000,1 p2,5.159910,povray,1733000,1 p2,4.891117,povray,1733000,1 p2,4.970381,povray,1733000,1 p2,4.217146,povray,1199000,1 p2,4.192269,povray,1199000,1 p2,4.189459,povray,1199000,1 p2,7.778356,sjeng,2533000,0 p2,7.771230,sjeng,2533000,0 p2,7.776975,sjeng,2533000,0 p2,5.684471,gobmk,1733000,1 p2,6.697342,sjeng,2133000,0 p2,6.699211,sjeng,2133000,0 p2,6.724662,sjeng,2133000,0 p2,5.659139,sjeng,1733000,0 p2,5.661661,sjeng,1733000,0 p2,5.653503,sjeng,1733000,0 p2,4.506523,sjeng,1199000,0 p2,4.502035,sjeng,1199000,0 p2,4.501270,sjeng,1199000,0 p2,7.771351,sjeng,2533000,1 p2,5.697897,gobmk,1733000,1 p2,7.787600,sjeng,2533000,1 p2,7.774420,sjeng,2533000,1 p2,6.680895,sjeng,2133000,1 p2,6.702438,sjeng,2133000,1 p2,6.699881,sjeng,2133000,1 p2,5.653162,sjeng,1733000,1 p2,5.653779,sjeng,1733000,1 p2,5.647664,sjeng,1733000,1 p2,4.504540,sjeng,1199000,1 p2,4.507885,sjeng,1199000,1 p2,5.688641,gobmk,1733000,1 p2,4.522939,sjeng,1199000,1 p2,6.275554,soplex,2533000,0 p2,6.300017,soplex,2533000,0 p2,6.309414,soplex,2533000,0 p2,5.610662,soplex,2133000,0 p2,5.471601,soplex,2133000,0 p2,5.391873,soplex,2133000,0 p2,4.900026,soplex,1733000,0 p2,4.925636,soplex,1733000,0 p2,4.983935,soplex,1733000,0 p2,4.523362,gobmk,1199000,1 p2,4.057267,soplex,1199000,0 p2,4.003564,soplex,1199000,0 p2,4.029173,soplex,1199000,0 p2,6.298442,soplex,2533000,1 p2,6.300213,soplex,2533000,1 p2,6.225009,soplex,2533000,1 p2,5.777575,soplex,2133000,1 p2,5.197989,soplex,2133000,1 p2,5.813722,soplex,2133000,1 p2,4.742044,soplex,1733000,1 p2,4.521394,gobmk,1199000,1 p2,4.913983,soplex,1733000,1 p2,4.973364,soplex,1733000,1 p2,4.041599,soplex,1199000,1 p2,4.007366,soplex,1199000,1 p2,4.196758,soplex,1199000,1 p2,6.890802,sphinx3,2533000,0 p2,6.965376,sphinx3,2533000,0 p2,6.739989,sphinx3,2533000,0 p2,6.267915,sphinx3,2133000,0 p2,6.066025,sphinx3,2133000,0 p2,4.537307,gobmk,1199000,1 p2,5.964912,sphinx3,2133000,0 p2,5.226295,sphinx3,1733000,0 p2,5.226396,sphinx3,1733000,0 p2,5.212584,sphinx3,1733000,0 p2,4.242343,sphinx3,1199000,0 p2,4.173280,sphinx3,1199000,0 p2,4.252949,sphinx3,1199000,0 p2,6.904393,sphinx3,2533000,1 p2,6.941571,sphinx3,2533000,1 p2,6.866031,sphinx3,2533000,1 p2,7.705351,gromacs,2533000,0 p2,5.964153,sphinx3,2133000,1 p2,6.209001,sphinx3,2133000,1 p2,5.999931,sphinx3,2133000,1 p2,5.232537,sphinx3,1733000,1 p2,5.227632,sphinx3,1733000,1 p2,5.240068,sphinx3,1733000,1 p2,4.305711,sphinx3,1199000,1 p2,4.331239,sphinx3,1199000,1 p2,4.199929,sphinx3,1199000,1 p2,7.400265,zeusmp,2533000,0 p2,7.662346,gromacs,2533000,0 p2,7.376543,zeusmp,2533000,0 p2,7.293437,zeusmp,2533000,0 p2,6.456373,zeusmp,2133000,0 p2,6.477515,zeusmp,2133000,0 p2,6.441412,zeusmp,2133000,0 p2,5.529273,zeusmp,1733000,0 p2,5.494410,zeusmp,1733000,0 p2,5.486911,zeusmp,1733000,0 p2,4.419324,zeusmp,1199000,0 p2,4.397297,zeusmp,1199000,0 p2,7.674356,gromacs,2533000,0 p2,4.406356,zeusmp,1199000,0 p2,7.274054,zeusmp,2533000,1 p2,7.288750,zeusmp,2533000,1 p2,7.400492,zeusmp,2533000,1 p2,6.426690,zeusmp,2133000,1 p2,6.499617,zeusmp,2133000,1 p2,6.500235,zeusmp,2133000,1 p2,5.490577,zeusmp,1733000,1 p2,5.502255,zeusmp,1733000,1 p2,5.525472,zeusmp,1733000,1 p2,6.730799,gromacs,2133000,0 p2,4.394831,zeusmp,1199000,1 p2,4.413656,zeusmp,1199000,1 p2,4.452288,zeusmp,1199000,1 p2,6.668236,gromacs,2133000,0 p2,6.713306,gromacs,2133000,0 p2,5.685365,gromacs,1733000,0 p2,5.694805,gromacs,1733000,0 p2,5.689858,gromacs,1733000,0 p2,4.536785,gromacs,1199000,0 p2,4.534886,gromacs,1199000,0 p2,4.542320,gromacs,1199000,0 p2,7.693253,gromacs,2533000,1 p2,7.672264,gromacs,2533000,1 p2,7.689680,gromacs,2533000,1 p2,6.708593,gromacs,2133000,1 p2,6.685686,gromacs,2133000,1 p2,6.699897,gromacs,2133000,1 p2,5.690522,gromacs,1733000,1 p2,5.681952,gromacs,1733000,1 p2,5.682593,gromacs,1733000,1 p2,4.544351,gromacs,1199000,1 p2,4.534963,gromacs,1199000,1 p2,4.538036,gromacs,1199000,1 p2,7.891792,h264ref,2533000,0 p2,7.995026,h264ref,2533000,0 p2,7.960754,h264ref,2533000,0 p2,6.673803,h264ref,2133000,0 p2,6.682148,h264ref,2133000,0 p2,6.736755,h264ref,2133000,0 p2,5.703188,h264ref,1733000,0 p2,5.715857,h264ref,1733000,0 p2,5.701911,h264ref,1733000,0 p2,4.526233,h264ref,1199000,0 p2,4.530356,h264ref,1199000,0 p2,4.529325,h264ref,1199000,0 p2,7.936883,h264ref,2533000,1 p2,7.932017,h264ref,2533000,1 p2,7.941605,h264ref,2533000,1 p2,6.775659,h264ref,2133000,1 p2,6.789637,h264ref,2133000,1 p2,6.796918,h264ref,2133000,1 p2,5.695520,h264ref,1733000,1 p2,5.686281,h264ref,1733000,1 p2,5.700751,h264ref,1733000,1 p2,4.522575,h264ref,1199000,1 p2,4.516401,h264ref,1199000,1 p2,4.541860,h264ref,1199000,1 p2,8.231733,hmmer,2533000,0 p2,8.167816,hmmer,2533000,0 p2,8.220769,hmmer,2533000,0 p2,6.677822,hmmer,2133000,0 p2,6.672945,hmmer,2133000,0 p2,6.701438,hmmer,2133000,0 p2,5.675754,hmmer,1733000,0 p2,5.642362,hmmer,1733000,0 p2,5.641763,hmmer,1733000,0 p2,4.496390,hmmer,1199000,0 p2,4.503637,hmmer,1199000,0 p2,4.527933,hmmer,1199000,0 p2,8.222607,hmmer,2533000,1 p2,8.313988,hmmer,2533000,1 p2,8.199892,hmmer,2533000,1 p2,6.753854,hmmer,2133000,1 p2,6.755296,hmmer,2133000,1 p2,6.796961,hmmer,2133000,1 p2,5.678876,hmmer,1733000,1 p2,5.646922,hmmer,1733000,1 p2,5.709237,hmmer,1733000,1 p2,4.497208,hmmer,1199000,1 p2,4.496096,hmmer,1199000,1 p2,4.504424,hmmer,1199000,1 p2,7.477614,lbm,2533000,0 p2,7.508319,lbm,2533000,0 p2,7.518346,lbm,2533000,0 p2,6.542361,lbm,2133000,0 p2,6.590268,lbm,2133000,0 p2,6.546181,lbm,2133000,0 p2,5.609166,lbm,1733000,0 p2,5.587128,lbm,1733000,0 p2,5.559200,lbm,1733000,0 p2,4.444910,lbm,1199000,0 p2,4.468923,lbm,1199000,0 p2,4.483980,lbm,1199000,0 p2,7.506716,lbm,2533000,1 p2,7.504145,lbm,2533000,1 p2,7.400757,lbm,2533000,1 p2,6.566614,lbm,2133000,1 p2,6.552945,lbm,2133000,1 p2,6.553041,lbm,2133000,1 p2,5.612672,lbm,1733000,1 p2,5.591661,lbm,1733000,1 p2,5.564389,lbm,1733000,1 p2,4.482094,lbm,1199000,1 p2,4.476636,lbm,1199000,1 p2,4.478725,lbm,1199000,1 p2,7.691564,leslie3d,2533000,0 p2,7.653857,leslie3d,2533000,0 p2,7.692175,leslie3d,2533000,0 p2,6.627313,leslie3d,2133000,0 p2,6.696654,leslie3d,2133000,0 p2,6.708043,leslie3d,2133000,0 p2,5.670748,leslie3d,1733000,0 p2,5.685455,leslie3d,1733000,0 p2,5.692837,leslie3d,1733000,0 p2,4.542047,leslie3d,1199000,0 p2,4.531405,leslie3d,1199000,0 p2,4.540454,leslie3d,1199000,0 p2,7.649756,leslie3d,2533000,1 p2,7.723362,leslie3d,2533000,1 p2,7.677562,leslie3d,2533000,1 p2,6.722073,leslie3d,2133000,1 p2,6.675481,leslie3d,2133000,1 p2,6.733423,leslie3d,2133000,1 p2,5.677758,leslie3d,1733000,1 p2,5.678539,leslie3d,1733000,1 p2,5.683006,leslie3d,1733000,1 p2,4.527106,leslie3d,1199000,1 p2,4.548616,leslie3d,1199000,1 p2,4.531594,leslie3d,1199000,1 p2,7.270929,mcf,2533000,0 p2,7.139913,mcf,2533000,0 p2,7.117256,mcf,2533000,0 p2,6.434495,mcf,2133000,0 p2,6.356603,mcf,2133000,0 p2,6.295331,mcf,2133000,0 p2,5.419023,mcf,1733000,0 p2,5.521925,mcf,1733000,0 p2,5.459022,mcf,1733000,0 p2,4.400375,mcf,1199000,0 p2,4.367145,mcf,1199000,0 p2,4.384530,mcf,1199000,0 p2,7.297533,mcf,2533000,1 p2,7.233157,mcf,2533000,1 p2,7.074211,mcf,2533000,1 p2,6.326068,mcf,2133000,1 p2,6.425803,mcf,2133000,1 p2,6.357222,mcf,2133000,1 p2,5.457953,mcf,1733000,1 p2,5.429434,mcf,1733000,1 p2,5.404250,mcf,1733000,1 p2,4.373892,mcf,1199000,1 p2,4.362207,mcf,1199000,1 p2,4.391448,mcf,1199000,1 p2,7.411007,milc,2533000,0 p2,7.154410,milc,2533000,0 p2,7.142348,milc,2533000,0 p2,6.296998,milc,2133000,0 p2,6.299147,milc,2133000,0 p2,6.394274,milc,2133000,0 p2,5.305656,milc,1733000,0 p2,5.271699,milc,1733000,0 p2,5.393401,milc,1733000,0 p2,4.313922,milc,1199000,0 p2,4.322541,milc,1199000,0 p2,4.327853,milc,1199000,0 p2,7.045299,milc,2533000,1 p2,7.023277,milc,2533000,1 p2,7.040661,milc,2533000,1 p2,6.239506,milc,2133000,1 p2,6.346907,milc,2133000,1 p2,6.228698,milc,2133000,1 p2,5.430242,milc,1733000,1 p2,5.347822,milc,1733000,1 p2,5.297178,milc,1733000,1 p2,4.414963,milc,1199000,1 p2,4.317796,milc,1199000,1 p2,4.310889,milc,1199000,1 p2,6.929126,namd,2533000,0 p2,6.938779,namd,2533000,0 p2,6.942598,namd,2533000,0 p2,6.114675,namd,2133000,0 p2,6.140846,namd,2133000,0 p2,6.135878,namd,2133000,0 p2,5.349609,namd,1733000,0 p2,5.258147,namd,1733000,0 p2,5.362015,namd,1733000,0 p2,4.314459,namd,1199000,0 p2,4.317927,namd,1199000,0 p2,4.314729,namd,1199000,0 p2,7.015294,namd,2533000,1 p2,6.934658,namd,2533000,1 p2,6.995924,namd,2533000,1 p2,6.150290,namd,2133000,1 p2,6.318496,namd,2133000,1 p2,6.177540,namd,2133000,1 p2,5.257535,namd,1733000,1 p2,5.393085,namd,1733000,1 p2,5.228378,namd,1733000,1 p2,4.411342,namd,1199000,1 p2,4.407543,namd,1199000,1 p2,4.316180,namd,1199000,1 p2,8.050981,omnetpp,2533000,0 p2,8.025448,omnetpp,2533000,0 p2,8.056161,omnetpp,2533000,0 p2,6.625326,omnetpp,2133000,0 p2,6.583987,omnetpp,2133000,0 p2,6.584231,omnetpp,2133000,0 p2,5.647414,omnetpp,1733000,0 p2,5.690417,omnetpp,1733000,0 p2,5.659622,omnetpp,1733000,0 p2,4.515611,omnetpp,1199000,0 p2,4.496301,omnetpp,1199000,0 p2,4.531579,omnetpp,1199000,0 p2,7.998059,omnetpp,2533000,1 p2,8.043611,omnetpp,2533000,1 p2,7.956780,omnetpp,2533000,1 p2,6.703664,omnetpp,2133000,1 p2,6.738333,omnetpp,2133000,1 p2,6.752574,omnetpp,2133000,1 p2,5.637977,omnetpp,1733000,1 p2,5.638782,omnetpp,1733000,1 p2,5.634313,omnetpp,1733000,1 p2,4.495821,omnetpp,1199000,1 p2,4.516762,omnetpp,1199000,1 p2,4.496367,omnetpp,1199000,1 p2,6.582903,povray,2533000,0 p2,6.597157,povray,2533000,0 p2,7.012698,povray,2533000,0 p2,5.814737,povray,2133000,0 p2,5.557651,povray,2133000,0 p2,5.835154,povray,2133000,0 p2,5.123365,povray,1733000,0 p2,4.976248,povray,1733000,0 p2,4.949843,povray,1733000,0 p2,4.255560,povray,1199000,0 p2,4.246099,povray,1199000,0 p2,4.130584,povray,1199000,0 p2,6.544684,povray,2533000,1 p2,7.056260,povray,2533000,1 p2,7.047725,povray,2533000,1 p2,5.743930,povray,2133000,1 p2,5.504571,povray,2133000,1 p2,5.956701,povray,2133000,1 p2,5.187653,povray,1733000,1 p2,5.093782,povray,1733000,1 p2,5.070403,povray,1733000,1 p2,4.098441,povray,1199000,1 p2,4.075795,povray,1199000,1 p2,4.230862,povray,1199000,1 p2,7.824997,sjeng,2533000,0 p2,7.845631,sjeng,2533000,0 p2,7.836829,sjeng,2533000,0 p2,6.656671,sjeng,2133000,0 p2,6.638437,sjeng,2133000,0 p2,6.635502,sjeng,2133000,0 p2,5.704905,sjeng,1733000,0 p2,5.699531,sjeng,1733000,0 p2,5.698388,sjeng,1733000,0 p2,4.533617,sjeng,1199000,0 p2,4.534360,sjeng,1199000,0 p2,4.537811,sjeng,1199000,0 p2,7.812254,sjeng,2533000,1 p2,7.829381,sjeng,2533000,1 p2,7.865066,sjeng,2533000,1 p2,6.752144,sjeng,2133000,1 p2,6.770305,sjeng,2133000,1 p2,6.746963,sjeng,2133000,1 p2,5.700014,sjeng,1733000,1 p2,5.703763,sjeng,1733000,1 p2,5.707076,sjeng,1733000,1 p2,4.535165,sjeng,1199000,1 p2,4.524910,sjeng,1199000,1 p2,4.538365,sjeng,1199000,1 p2,6.376464,soplex,2533000,0 p2,6.526672,soplex,2533000,0 p2,6.661570,soplex,2533000,0 p2,5.685290,soplex,2133000,0 p2,5.611340,soplex,2133000,0 p2,5.668898,soplex,2133000,0 p2,5.000928,soplex,1733000,0 p2,4.997440,soplex,1733000,0 p2,4.813731,soplex,1733000,0 p2,4.064344,soplex,1199000,0 p2,4.035057,soplex,1199000,0 p2,4.074170,soplex,1199000,0 p2,6.438442,soplex,2533000,1 p2,6.346444,soplex,2533000,1 p2,6.343073,soplex,2533000,1 p2,5.624945,soplex,2133000,1 p2,6.534519,soplex,2133000,1 p2,5.603607,soplex,2133000,1 p2,4.695701,soplex,1733000,1 p2,4.714774,soplex,1733000,1 p2,4.984924,soplex,1733000,1 p2,4.019569,soplex,1199000,1 p2,4.038922,soplex,1199000,1 p2,4.017679,soplex,1199000,1 p2,6.672311,sphinx3,2533000,0 p2,6.941670,sphinx3,2533000,0 p2,6.930215,sphinx3,2533000,0 p2,6.215214,sphinx3,2133000,0 p2,6.010311,sphinx3,2133000,0 p2,6.015790,sphinx3,2133000,0 p2,5.256432,sphinx3,1733000,0 p2,5.132856,sphinx3,1733000,0 p2,5.256674,sphinx3,1733000,0 p2,4.260261,sphinx3,1199000,0 p2,4.337695,sphinx3,1199000,0 p2,4.184282,sphinx3,1199000,0 p2,6.914231,sphinx3,2533000,1 p2,6.925939,sphinx3,2533000,1 p2,6.648843,sphinx3,2533000,1 p2,5.986828,sphinx3,2133000,1 p2,6.076473,sphinx3,2133000,1 p2,6.282051,sphinx3,2133000,1 p2,5.279661,sphinx3,1733000,1 p2,5.253747,sphinx3,1733000,1 p2,5.308700,sphinx3,1733000,1 p2,4.262980,sphinx3,1199000,1 p2,4.267334,sphinx3,1199000,1 p2,4.166551,sphinx3,1199000,1 p2,7.360940,zeusmp,2533000,0 p2,7.415692,zeusmp,2533000,0 p2,7.323273,zeusmp,2533000,0 p2,6.499724,zeusmp,2133000,0 p2,6.439796,zeusmp,2133000,0 p2,6.541243,zeusmp,2133000,0 p2,5.543462,zeusmp,1733000,0 p2,5.541953,zeusmp,1733000,0 p2,5.542506,zeusmp,1733000,0 p2,4.451612,zeusmp,1199000,0 p2,4.434409,zeusmp,1199000,0 p2,4.479397,zeusmp,1199000,0 p2,7.320014,zeusmp,2533000,1 p2,7.483709,zeusmp,2533000,1 p2,7.421937,zeusmp,2533000,1 p2,6.450331,zeusmp,2133000,1 p2,6.548162,zeusmp,2133000,1 p2,6.508515,zeusmp,2133000,1 p2,5.522937,zeusmp,1733000,1 p2,5.530901,zeusmp,1733000,1 p2,5.525100,zeusmp,1733000,1 p2,4.470682,zeusmp,1199000,1 p2,4.438893,zeusmp,1199000,1 p2,4.430606,zeusmp,1199000,1 p2,9.269943,bzip2,2533000,0 p2,9.181166,bzip2,2533000,0 p2,8.515253,bzip2,2533000,0 p2,6.521095,bzip2,2133000,0 p2,6.552160,bzip2,2133000,0 p2,6.550897,bzip2,2133000,0 p2,5.568127,bzip2,1733000,0 p2,5.574881,bzip2,1733000,0 p2,5.586492,bzip2,1733000,0 p2,4.423868,bzip2,1199000,0 p2,4.465303,bzip2,1199000,0 p2,4.441217,bzip2,1199000,0 p2,7.607452,bzip2,2533000,1 p2,7.583284,bzip2,2533000,1 p2,7.683649,bzip2,2533000,1 p2,6.555378,bzip2,2133000,1 p2,6.543244,bzip2,2133000,1 p2,6.556998,bzip2,2133000,1 p2,5.604192,bzip2,1733000,1 p2,5.578498,bzip2,1733000,1 p2,5.514401,bzip2,1733000,1 p2,4.471645,bzip2,1199000,1 p2,4.467405,bzip2,1199000,1 p2,4.456580,bzip2,1199000,1 p2,7.365067,cactusADM,2533000,0 p2,7.184181,cactusADM,2533000,0 p2,7.224386,cactusADM,2533000,0 p2,6.374637,cactusADM,2133000,0 p2,6.424650,cactusADM,2133000,0 p2,6.384992,cactusADM,2133000,0 p2,5.383118,cactusADM,1733000,0 p2,5.432349,cactusADM,1733000,0 p2,5.481396,cactusADM,1733000,0 p2,4.383581,cactusADM,1199000,0 p2,4.362111,cactusADM,1199000,0 p2,4.427286,cactusADM,1199000,0 p2,7.187291,cactusADM,2533000,1 p2,7.165601,cactusADM,2533000,1 p2,7.206958,cactusADM,2533000,1 p2,6.461541,cactusADM,2133000,1 p2,6.328999,cactusADM,2133000,1 p2,6.319206,cactusADM,2133000,1 p2,5.477851,cactusADM,1733000,1 p2,5.379752,cactusADM,1733000,1 p2,5.406985,cactusADM,1733000,1 p2,4.452332,cactusADM,1199000,1 p2,4.437302,cactusADM,1199000,1 p2,4.466300,cactusADM,1199000,1 p2,0.781494,cpuload_all_0_4096,2533000,0 p2,0.630608,cpuload_all_0_4096,2533000,0 p2,0.678009,cpuload_all_0_4096,2533000,0 p2,0.672911,cpuload_all_0_4096,2133000,0 p2,0.672097,cpuload_all_0_4096,2133000,0 p2,0.726246,cpuload_all_0_4096,2133000,0 p2,0.928975,cpuload_all_0_4096,1733000,0 p2,0.709541,cpuload_all_0_4096,1733000,0 p2,0.763314,cpuload_all_0_4096,1733000,0 p2,0.717052,cpuload_all_0_4096,1199000,0 p2,0.632961,cpuload_all_0_4096,1199000,0 p2,0.739817,cpuload_all_0_4096,1199000,0 p2,0.671555,cpuload_all_0_4096,2533000,1 p2,0.722860,cpuload_all_0_4096,2533000,1 p2,0.762171,cpuload_all_0_4096,2533000,1 p2,0.701506,cpuload_all_0_4096,2133000,1 p2,0.695676,cpuload_all_0_4096,2133000,1 p2,0.677670,cpuload_all_0_4096,2133000,1 p2,0.608012,cpuload_all_0_4096,1733000,1 p2,0.581046,cpuload_all_0_4096,1733000,1 p2,0.602586,cpuload_all_0_4096,1733000,1 p2,0.626674,cpuload_all_0_4096,1199000,1 p2,0.617752,cpuload_all_0_4096,1199000,1 p2,0.698240,cpuload_all_0_4096,1199000,1 p2,2.648770,cpuload_all_25_4096,2533000,0 p2,2.590931,cpuload_all_25_4096,2533000,0 p2,2.632333,cpuload_all_25_4096,2533000,0 p2,2.388863,cpuload_all_25_4096,2133000,0 p2,2.344290,cpuload_all_25_4096,2133000,0 p2,2.386106,cpuload_all_25_4096,2133000,0 p2,2.061674,cpuload_all_25_4096,1733000,0 p2,2.076357,cpuload_all_25_4096,1733000,0 p2,2.054546,cpuload_all_25_4096,1733000,0 p2,1.854445,cpuload_all_25_4096,1199000,0 p2,1.882877,cpuload_all_25_4096,1199000,0 p2,1.872401,cpuload_all_25_4096,1199000,0 p2,2.545962,cpuload_all_25_4096,2533000,1 p2,2.597125,cpuload_all_25_4096,2533000,1 p2,2.593416,cpuload_all_25_4096,2533000,1 p2,2.295646,cpuload_all_25_4096,2133000,1 p2,2.318120,cpuload_all_25_4096,2133000,1 p2,2.329303,cpuload_all_25_4096,2133000,1 p2,2.057819,cpuload_all_25_4096,1733000,1 p2,2.083298,cpuload_all_25_4096,1733000,1 p2,2.041516,cpuload_all_25_4096,1733000,1 p2,1.863181,cpuload_all_25_4096,1199000,1 p2,1.826636,cpuload_all_25_4096,1199000,1 p2,1.840608,cpuload_all_25_4096,1199000,1 p2,7.197853,cpuload_all_50_4096,2533000,0 p2,7.293988,cpuload_all_50_4096,2533000,0 p2,7.377686,cpuload_all_50_4096,2533000,0 p2,6.406475,cpuload_all_50_4096,2133000,0 p2,6.443676,cpuload_all_50_4096,2133000,0 p2,6.433758,cpuload_all_50_4096,2133000,0 p2,5.448255,cpuload_all_50_4096,1733000,0 p2,5.515202,cpuload_all_50_4096,1733000,0 p2,4.980935,cpuload_all_50_4096,1733000,0 p2,4.417264,cpuload_all_50_4096,1199000,0 p2,4.343333,cpuload_all_50_4096,1199000,0 p2,4.402337,cpuload_all_50_4096,1199000,0 p2,7.299129,cpuload_all_50_4096,2533000,1 p2,7.349866,cpuload_all_50_4096,2533000,1 p2,7.423882,cpuload_all_50_4096,2533000,1 p2,6.060722,cpuload_all_50_4096,2133000,1 p2,6.487030,cpuload_all_50_4096,2133000,1 p2,6.408424,cpuload_all_50_4096,2133000,1 p2,5.040091,cpuload_all_50_4096,1733000,1 p2,5.437353,cpuload_all_50_4096,1733000,1 p2,5.453429,cpuload_all_50_4096,1733000,1 p2,4.530586,cpuload_all_50_4096,1199000,1 p2,4.474189,cpuload_all_50_4096,1199000,1 p2,4.496183,cpuload_all_50_4096,1199000,1 p2,7.287853,cpuload_all_75_4096,2533000,0 p2,7.386725,cpuload_all_75_4096,2533000,0 p2,7.417119,cpuload_all_75_4096,2533000,0 p2,6.413027,cpuload_all_75_4096,2133000,0 p2,6.420347,cpuload_all_75_4096,2133000,0 p2,6.507294,cpuload_all_75_4096,2133000,0 p2,5.448832,cpuload_all_75_4096,1733000,0 p2,5.527847,cpuload_all_75_4096,1733000,0 p2,5.437237,cpuload_all_75_4096,1733000,0 p2,4.404265,cpuload_all_75_4096,1199000,0 p2,4.363011,cpuload_all_75_4096,1199000,0 p2,4.364740,cpuload_all_75_4096,1199000,0 p2,7.266584,cpuload_all_75_4096,2533000,1 p2,7.308175,cpuload_all_75_4096,2533000,1 p2,7.370658,cpuload_all_75_4096,2533000,1 p2,6.374640,cpuload_all_75_4096,2133000,1 p2,6.398361,cpuload_all_75_4096,2133000,1 p2,6.382784,cpuload_all_75_4096,2133000,1 p2,5.431620,cpuload_all_75_4096,1733000,1 p2,5.425882,cpuload_all_75_4096,1733000,1 p2,5.509352,cpuload_all_75_4096,1733000,1 p2,4.455556,cpuload_all_75_4096,1199000,1 p2,4.523666,cpuload_all_75_4096,1199000,1 p2,4.442063,cpuload_all_75_4096,1199000,1 p2,7.425648,cpuload_all_100_4096,2533000,0 p2,7.325747,cpuload_all_100_4096,2533000,0 p2,7.326802,cpuload_all_100_4096,2533000,0 p2,6.418409,cpuload_all_100_4096,2133000,0 p2,6.502611,cpuload_all_100_4096,2133000,0 p2,6.422575,cpuload_all_100_4096,2133000,0 p2,5.456761,cpuload_all_100_4096,1733000,0 p2,5.523443,cpuload_all_100_4096,1733000,0 p2,5.454802,cpuload_all_100_4096,1733000,0 p2,4.413043,cpuload_all_100_4096,1199000,0 p2,4.351561,cpuload_all_100_4096,1199000,0 p2,4.407001,cpuload_all_100_4096,1199000,0 p2,7.312861,cpuload_all_100_4096,2533000,1 p2,7.440854,cpuload_all_100_4096,2533000,1 p2,7.311524,cpuload_all_100_4096,2533000,1 p2,6.421963,cpuload_all_100_4096,2133000,1 p2,6.435915,cpuload_all_100_4096,2133000,1 p2,6.412313,cpuload_all_100_4096,2133000,1 p2,5.523343,cpuload_all_100_4096,1733000,1 p2,5.456579,cpuload_all_100_4096,1733000,1 p2,5.538373,cpuload_all_100_4096,1733000,1 p2,4.443776,cpuload_all_100_4096,1199000,1 p2,4.470956,cpuload_all_100_4096,1199000,1 p2,4.462223,cpuload_all_100_4096,1199000,1 p2,8.373395,gamess,2533000,0 p2,8.392178,gamess,2533000,0 p2,8.353384,gamess,2533000,0 p2,6.882396,gamess,2133000,0 p2,6.901254,gamess,2133000,0 p2,6.878629,gamess,2133000,0 p2,5.705348,gamess,1733000,0 p2,5.712261,gamess,1733000,0 p2,5.703255,gamess,1733000,0 p2,4.507392,gamess,1199000,0 p2,4.511676,gamess,1199000,0 p2,4.496028,gamess,1199000,0 p2,8.371066,gamess,2533000,1 p2,8.343958,gamess,2533000,1 p2,8.387252,gamess,2533000,1 p2,6.876170,gamess,2133000,1 p2,6.912351,gamess,2133000,1 p2,6.890601,gamess,2133000,1 p2,5.708360,gamess,1733000,1 p2,5.714031,gamess,1733000,1 p2,5.713237,gamess,1733000,1 p2,4.562935,gamess,1199000,1 p2,4.556408,gamess,1199000,1 p2,4.551409,gamess,1199000,1 p2,7.658452,gcc,2533000,0 p2,7.653970,gcc,2533000,0 p2,7.667756,gcc,2533000,0 p2,6.700420,gcc,2133000,0 p2,6.695218,gcc,2133000,0 p2,6.702302,gcc,2133000,0 p2,5.675661,gcc,1733000,0 p2,5.669450,gcc,1733000,0 p2,5.670253,gcc,1733000,0 p2,4.518874,gcc,1199000,0 p2,4.515966,gcc,1199000,0 p2,4.512421,gcc,1199000,0 p2,7.673305,gcc,2533000,1 p2,7.675699,gcc,2533000,1 p2,7.678500,gcc,2533000,1 p2,6.712211,gcc,2133000,1 p2,6.699434,gcc,2133000,1 p2,6.709792,gcc,2133000,1 p2,5.682971,gcc,1733000,1 p2,5.680327,gcc,1733000,1 p2,5.673319,gcc,1733000,1 p2,4.508285,gcc,1199000,1 p2,4.523905,gcc,1199000,1 p2,4.527103,gcc,1199000,1 p2,7.834418,gobmk,2533000,0 p2,7.827594,gobmk,2533000,0 p2,7.831586,gobmk,2533000,0 p2,6.742540,gobmk,2133000,0 p2,6.682181,gobmk,2133000,0 p2,6.735620,gobmk,2133000,0 p2,5.628257,gobmk,1733000,0 p2,5.673235,gobmk,1733000,0 p2,5.670366,gobmk,1733000,0 p2,4.519668,gobmk,1199000,0 p2,4.522074,gobmk,1199000,0 p2,4.518204,gobmk,1199000,0 p2,7.793989,gobmk,2533000,1 p2,7.818991,gobmk,2533000,1 p2,7.729982,gobmk,2533000,1 p2,6.698026,gobmk,2133000,1 p2,6.715771,gobmk,2133000,1 p2,6.685965,gobmk,2133000,1 p2,5.674176,gobmk,1733000,1 p2,5.699394,gobmk,1733000,1 p2,5.703767,gobmk,1733000,1 p2,4.520029,gobmk,1199000,1 p2,4.529354,gobmk,1199000,1 p2,4.522946,gobmk,1199000,1 p2,7.621362,gromacs,2533000,0 p2,7.651521,gromacs,2533000,0 p2,7.638299,gromacs,2533000,0 p2,6.686906,gromacs,2133000,0 p2,6.720595,gromacs,2133000,0 p2,6.677738,gromacs,2133000,0 p2,5.674039,gromacs,1733000,0 p2,5.664626,gromacs,1733000,0 p2,5.672223,gromacs,1733000,0 p2,4.502527,gromacs,1199000,0 p2,4.524485,gromacs,1199000,0 p2,4.521642,gromacs,1199000,0 p2,7.710288,gromacs,2533000,1 p2,7.690700,gromacs,2533000,1 p2,7.716513,gromacs,2533000,1 p2,6.709503,gromacs,2133000,1 p2,6.695384,gromacs,2133000,1 p2,6.692249,gromacs,2133000,1 p2,5.697663,gromacs,1733000,1 p2,5.683484,gromacs,1733000,1 p2,5.675754,gromacs,1733000,1 p2,4.516179,gromacs,1199000,1 p2,4.526260,gromacs,1199000,1 p2,4.533525,gromacs,1199000,1 p2,7.904552,h264ref,2533000,0 p2,7.993490,h264ref,2533000,0 p2,8.038294,h264ref,2533000,0 p2,6.650250,h264ref,2133000,0 p2,6.653201,h264ref,2133000,0 p2,6.661240,h264ref,2133000,0 p2,5.698978,h264ref,1733000,0 p2,5.709593,h264ref,1733000,0 p2,5.718453,h264ref,1733000,0 p2,4.529245,h264ref,1199000,0 p2,4.520307,h264ref,1199000,0 p2,4.524552,h264ref,1199000,0 p2,8.006744,h264ref,2533000,1 p2,8.004481,h264ref,2533000,1 p2,8.000559,h264ref,2533000,1 p2,6.816365,h264ref,2133000,1 p2,6.768831,h264ref,2133000,1 p2,6.824310,h264ref,2133000,1 p2,5.713311,h264ref,1733000,1 p2,5.719327,h264ref,1733000,1 p2,5.713828,h264ref,1733000,1 p2,4.543368,h264ref,1199000,1 p2,4.545502,h264ref,1199000,1 p2,4.531779,h264ref,1199000,1 p2,8.305465,hmmer,2533000,0 p2,8.351480,hmmer,2533000,0 p2,8.317464,hmmer,2533000,0 p2,6.765017,hmmer,2133000,0 p2,6.747467,hmmer,2133000,0 p2,6.730229,hmmer,2133000,0 p2,5.705798,hmmer,1733000,0 p2,5.715146,hmmer,1733000,0 p2,5.700130,hmmer,1733000,0 p2,4.506291,hmmer,1199000,0 p2,4.518913,hmmer,1199000,0 p2,4.500818,hmmer,1199000,0 p2,8.384079,hmmer,2533000,1 p2,8.266278,hmmer,2533000,1 p2,8.395160,hmmer,2533000,1 p2,6.805004,hmmer,2133000,1 p2,6.831038,hmmer,2133000,1 p2,6.889059,hmmer,2133000,1 p2,5.715639,hmmer,1733000,1 p2,5.682287,hmmer,1733000,1 p2,5.659209,hmmer,1733000,1 p2,4.515967,hmmer,1199000,1 p2,4.523764,hmmer,1199000,1 p2,4.527268,hmmer,1199000,1 p2,7.538854,lbm,2533000,0 p2,7.545158,lbm,2533000,0 p2,7.554376,lbm,2533000,0 p2,6.663806,lbm,2133000,0 p2,6.572024,lbm,2133000,0 p2,6.570432,lbm,2133000,0 p2,5.638651,lbm,1733000,0 p2,5.648991,lbm,1733000,0 p2,5.622822,lbm,1733000,0 p2,4.500340,lbm,1199000,0 p2,4.505226,lbm,1199000,0 p2,4.476040,lbm,1199000,0 p2,7.534934,lbm,2533000,1 p2,7.542574,lbm,2533000,1 p2,7.550758,lbm,2533000,1 p2,6.660092,lbm,2133000,1 p2,6.587728,lbm,2133000,1 p2,6.644957,lbm,2133000,1 p2,5.629295,lbm,1733000,1 p2,5.599057,lbm,1733000,1 p2,5.585833,lbm,1733000,1 p2,4.470641,lbm,1199000,1 p2,4.499421,lbm,1199000,1 p2,4.476070,lbm,1199000,1 p2,7.687785,leslie3d,2533000,0 p2,7.678202,leslie3d,2533000,0 p2,7.708442,leslie3d,2533000,0 p2,6.588945,leslie3d,2133000,0 p2,6.624744,leslie3d,2133000,0 p2,6.641455,leslie3d,2133000,0 p2,5.674577,leslie3d,1733000,0 p2,5.678446,leslie3d,1733000,0 p2,5.670474,leslie3d,1733000,0 p2,4.537453,leslie3d,1199000,0 p2,4.547849,leslie3d,1199000,0 p2,4.551565,leslie3d,1199000,0 p2,7.723194,leslie3d,2533000,1 p2,7.685320,leslie3d,2533000,1 p2,7.657989,leslie3d,2533000,1 p2,6.705484,leslie3d,2133000,1 p2,6.697033,leslie3d,2133000,1 p2,6.729183,leslie3d,2133000,1 p2,5.701337,leslie3d,1733000,1 p2,5.691649,leslie3d,1733000,1 p2,5.696948,leslie3d,1733000,1 p2,4.553755,leslie3d,1199000,1 p2,4.544530,leslie3d,1199000,1 p2,4.546152,leslie3d,1199000,1 p2,7.257932,mcf,2533000,0 p2,7.203687,mcf,2533000,0 p2,7.319455,mcf,2533000,0 p2,6.537464,mcf,2133000,0 p2,6.399607,mcf,2133000,0 p2,6.432081,mcf,2133000,0 p2,5.518235,mcf,1733000,0 p2,5.501436,mcf,1733000,0 p2,5.512610,mcf,1733000,0 p2,4.460291,mcf,1199000,0 p2,4.428293,mcf,1199000,0 p2,4.402313,mcf,1199000,0 p2,7.225962,mcf,2533000,1 p2,7.186473,mcf,2533000,1 p2,7.233076,mcf,2533000,1 p2,6.372606,mcf,2133000,1 p2,6.276682,mcf,2133000,1 p2,6.412172,mcf,2133000,1 p2,5.490740,mcf,1733000,1 p2,5.457998,mcf,1733000,1 p2,5.468981,mcf,1733000,1 p2,4.439585,mcf,1199000,1 p2,4.495024,mcf,1199000,1 p2,4.393197,mcf,1199000,1 p2,7.065013,milc,2533000,0 p2,7.029214,milc,2533000,0 p2,7.073419,milc,2533000,0 p2,6.248867,milc,2133000,0 p2,6.274765,milc,2133000,0 p2,6.298253,milc,2133000,0 p2,5.397468,milc,1733000,0 p2,5.473824,milc,1733000,0 p2,5.285267,milc,1733000,0 p2,4.384341,milc,1199000,0 p2,4.398400,milc,1199000,0 p2,4.345062,milc,1199000,0 p2,7.138194,milc,2533000,1 p2,7.109214,milc,2533000,1 p2,7.145125,milc,2533000,1 p2,6.229906,milc,2133000,1 p2,6.259982,milc,2133000,1 p2,6.319132,milc,2133000,1 p2,5.495265,milc,1733000,1 p2,5.286348,milc,1733000,1 p2,5.287354,milc,1733000,1 p2,4.396795,milc,1199000,1 p2,4.326555,milc,1199000,1 p2,4.378415,milc,1199000,1 p2,7.208198,namd,2533000,0 p2,7.269270,namd,2533000,0 p2,7.284748,namd,2533000,0 p2,6.488364,namd,2133000,0 p2,6.118378,namd,2133000,0 p2,6.122769,namd,2133000,0 p2,5.406859,namd,1733000,0 p2,5.402358,namd,1733000,0 p2,5.416277,namd,1733000,0 p2,4.458186,namd,1199000,0 p2,4.498793,namd,1199000,0 p2,4.335869,namd,1199000,0 p2,7.121163,namd,2533000,1 p2,7.242378,namd,2533000,1 p2,7.216252,namd,2533000,1 p3,6.846031,lbm,2533000,0 p3,6.586362,lbm,2533000,0 p3,6.504973,lbm,2533000,0 p3,5.829135,lbm,2133000,0 p3,5.834229,lbm,2133000,0 p3,5.830293,lbm,2133000,0 p3,5.205769,lbm,1733000,0 p3,5.304743,lbm,1733000,0 p3,5.278026,lbm,1733000,0 p3,4.622610,lbm,1199000,0 p3,4.631536,lbm,1199000,0 p3,4.589321,lbm,1199000,0 p3,6.479340,lbm,2533000,1 p3,6.504289,lbm,2533000,1 p3,6.481439,lbm,2533000,1 p3,5.886963,lbm,2133000,1 p3,5.871323,lbm,2133000,1 p3,5.859972,lbm,2133000,1 p3,5.266861,lbm,1733000,1 p3,5.316369,lbm,1733000,1 p3,5.274188,lbm,1733000,1 p3,4.577934,lbm,1199000,1 p3,4.578398,lbm,1199000,1 p3,4.632554,lbm,1199000,1 p3,6.729281,leslie3d,2533000,0 p3,6.699151,leslie3d,2533000,0 p3,6.732476,leslie3d,2533000,0 p3,5.934617,leslie3d,2133000,0 p3,5.925376,leslie3d,2133000,0 p3,5.953149,leslie3d,2133000,0 p3,5.381205,leslie3d,1733000,0 p3,5.377505,leslie3d,1733000,0 p3,5.402295,leslie3d,1733000,0 p3,4.644293,leslie3d,1199000,0 p3,4.651461,leslie3d,1199000,0 p3,4.662961,leslie3d,1199000,0 p3,6.691536,leslie3d,2533000,1 p3,6.709159,leslie3d,2533000,1 p3,6.720302,leslie3d,2533000,1 p3,5.916079,leslie3d,2133000,1 p3,5.948298,leslie3d,2133000,1 p3,5.942937,leslie3d,2133000,1 p3,5.406553,leslie3d,1733000,1 p3,5.395558,leslie3d,1733000,1 p3,5.395004,leslie3d,1733000,1 p3,4.662023,leslie3d,1199000,1 p3,4.657937,leslie3d,1199000,1 p3,4.646373,leslie3d,1199000,1 p3,6.243659,mcf,2533000,0 p3,6.318424,mcf,2533000,0 p3,6.337868,mcf,2533000,0 p3,5.604023,mcf,2133000,0 p3,5.623647,mcf,2133000,0 p3,5.672235,mcf,2133000,0 p3,5.218892,mcf,1733000,0 p3,5.161288,mcf,1733000,0 p3,5.216092,mcf,1733000,0 p3,4.509054,mcf,1199000,0 p3,4.593256,mcf,1199000,0 p3,4.559865,mcf,1199000,0 p3,6.360998,mcf,2533000,1 p3,6.264448,mcf,2533000,1 p3,6.254859,mcf,2533000,1 p3,5.667510,mcf,2133000,1 p3,5.662427,mcf,2133000,1 p3,5.669977,mcf,2133000,1 p3,5.193099,mcf,1733000,1 p3,5.132641,mcf,1733000,1 p3,5.164575,mcf,1733000,1 p3,4.559984,mcf,1199000,1 p3,4.571338,mcf,1199000,1 p3,4.545032,mcf,1199000,1 p3,6.128567,milc,2533000,0 p3,6.220759,milc,2533000,0 p3,6.305118,milc,2533000,0 p3,5.589731,milc,2133000,0 p3,5.526954,milc,2133000,0 p3,5.687628,milc,2133000,0 p3,5.097835,milc,1733000,0 p3,5.201371,milc,1733000,0 p3,5.180858,milc,1733000,0 p3,4.474973,milc,1199000,0 p3,4.477919,milc,1199000,0 p3,4.527218,milc,1199000,0 p3,6.323338,milc,2533000,1 p3,6.168686,milc,2533000,1 p3,6.309338,milc,2533000,1 p3,5.599037,milc,2133000,1 p3,5.618053,milc,2133000,1 p3,5.560283,milc,2133000,1 p3,5.194054,milc,1733000,1 p3,5.046982,milc,1733000,1 p3,5.146161,milc,1733000,1 p3,4.472811,milc,1199000,1 p3,4.531456,milc,1199000,1 p3,4.548242,milc,1199000,1 p3,6.304531,namd,2533000,0 p3,6.233595,namd,2533000,0 p3,6.347127,namd,2533000,0 p3,5.533623,namd,2133000,0 p3,6.172469,namd,2533000,1 p3,5.601113,namd,2133000,1 p3,5.620182,namd,2133000,1 p3,5.681311,namd,2133000,1 p3,5.075275,namd,1733000,1 p3,5.126423,namd,1733000,1 p3,5.180029,namd,1733000,1 p3,4.540318,namd,1199000,1 p3,4.544577,namd,1199000,1 p3,4.542497,namd,1199000,1 p3,5.465880,namd,2133000,0 p3,7.143948,omnetpp,2533000,0 p3,7.203950,omnetpp,2533000,0 p3,7.183563,omnetpp,2533000,0 p3,6.133266,omnetpp,2133000,0 p3,6.095951,omnetpp,2133000,0 p3,6.073243,omnetpp,2133000,0 p3,5.406902,omnetpp,1733000,0 p3,5.435553,omnetpp,1733000,0 p3,5.405653,omnetpp,1733000,0 p3,4.620280,omnetpp,1199000,0 p3,5.459963,namd,2133000,0 p3,4.667271,omnetpp,1199000,0 p3,4.643006,omnetpp,1199000,0 p3,7.207893,omnetpp,2533000,1 p3,7.166765,omnetpp,2533000,1 p3,7.173010,omnetpp,2533000,1 p3,6.103929,omnetpp,2133000,1 p3,6.039488,omnetpp,2133000,1 p3,6.007789,omnetpp,2133000,1 p3,5.436213,omnetpp,1733000,1 p3,5.406599,omnetpp,1733000,1 p3,5.140832,namd,1733000,0 p3,5.420469,omnetpp,1733000,1 p3,4.647248,omnetpp,1199000,1 p3,4.370397,omnetpp,1199000,1 p3,5.027692,namd,1733000,0 p3,5.097252,namd,1733000,0 p3,4.498618,namd,1199000,0 p3,4.453510,namd,1199000,0 p3,4.542324,namd,1199000,0 p3,6.366356,namd,2533000,1 p3,6.228617,namd,2533000,1 p3,6.203433,namd,2533000,1 p3,5.452638,namd,2133000,1 p3,5.679080,namd,2133000,1 p3,5.594955,namd,2133000,1 p3,5.026483,namd,1733000,1 p3,5.211624,namd,1733000,1 p3,5.159122,namd,1733000,1 p3,4.466784,namd,1199000,1 p3,4.549561,namd,1199000,1 p3,4.420337,namd,1199000,1 p3,7.198448,omnetpp,2533000,0 p3,7.257681,omnetpp,2533000,0 p3,7.214877,omnetpp,2533000,0 p3,6.047626,omnetpp,2133000,0 p3,6.045281,omnetpp,2133000,0 p3,6.086115,omnetpp,2133000,0 p3,5.375472,omnetpp,1733000,0 p3,5.390059,omnetpp,1733000,0 p3,5.394248,omnetpp,1733000,0 p3,4.644598,omnetpp,1199000,0 p3,4.645860,omnetpp,1199000,0 p3,4.640424,omnetpp,1199000,0 p3,7.208424,omnetpp,2533000,1 p3,7.228244,omnetpp,2533000,1 p3,7.172076,omnetpp,2533000,1 p3,6.077679,omnetpp,2133000,1 p3,6.044584,omnetpp,2133000,1 p3,6.069317,omnetpp,2133000,1 p3,5.380832,omnetpp,1733000,1 p3,5.423888,omnetpp,1733000,1 p3,5.405350,omnetpp,1733000,1 p3,4.664499,omnetpp,1199000,1 p3,4.649093,omnetpp,1199000,1 p3,4.638958,omnetpp,1199000,1 p3,6.067127,povray,2533000,0 p3,5.964999,povray,2533000,0 p3,6.349749,povray,2533000,0 p3,5.389937,povray,2133000,0 p3,5.287601,povray,2133000,0 p3,5.398114,povray,2133000,0 p3,4.971480,povray,1733000,0 p3,4.922794,povray,1733000,0 p3,4.969451,povray,1733000,0 p3,4.392223,povray,1199000,0 p3,4.390498,povray,1199000,0 p3,4.333411,povray,1199000,0 p3,6.467665,povray,2533000,1 p3,6.367531,povray,2533000,1 p3,6.121508,povray,2533000,1 p3,5.268150,povray,2133000,1 p3,5.409796,povray,2133000,1 p3,5.189648,povray,2133000,1 p3,5.101194,povray,1733000,1 p3,5.056613,povray,1733000,1 p3,5.003178,povray,1733000,1 p3,4.408261,povray,1199000,1 p3,4.390336,povray,1199000,1 p3,4.338633,povray,1199000,1 p3,6.946962,sjeng,2533000,0 p3,6.935496,sjeng,2533000,0 p3,6.945642,sjeng,2533000,0 p3,6.017190,sjeng,2133000,0 p3,6.002830,sjeng,2133000,0 p3,6.018123,sjeng,2133000,0 p3,5.417273,sjeng,1733000,0 p3,5.424851,sjeng,1733000,0 p3,5.420164,sjeng,1733000,0 p3,4.668009,sjeng,1199000,0 p3,4.671206,sjeng,1199000,0 p3,4.661369,sjeng,1199000,0 p3,6.927903,sjeng,2533000,1 p3,6.928289,sjeng,2533000,1 p3,6.925092,sjeng,2533000,1 p3,5.983301,sjeng,2133000,1 p3,6.006891,sjeng,2133000,1 p3,6.010865,sjeng,2133000,1 p3,5.432814,sjeng,1733000,1 p3,5.418997,sjeng,1733000,1 p3,5.425955,sjeng,1733000,1 p3,4.665561,sjeng,1199000,1 p3,4.667258,sjeng,1199000,1 p3,4.669184,sjeng,1199000,1 p3,5.808738,soplex,2533000,0 p3,5.852924,soplex,2533000,0 p3,5.726322,soplex,2533000,0 p3,5.116441,soplex,2133000,0 p3,5.046185,soplex,2133000,0 p3,4.991563,soplex,2133000,0 p3,4.784573,soplex,1733000,0 p3,4.664874,soplex,1733000,0 p3,4.802122,soplex,1733000,0 p3,4.240447,soplex,1199000,0 p3,4.334830,soplex,1199000,0 p3,4.274788,soplex,1199000,0 p3,5.496997,soplex,2533000,1 p3,5.879626,soplex,2533000,1 p3,5.755689,soplex,2533000,1 p3,5.195222,soplex,2133000,1 p3,5.127049,soplex,2133000,1 p3,5.003612,soplex,2133000,1 p3,4.508997,soplex,1733000,1 p3,4.806416,soplex,1733000,1 p3,4.754676,soplex,1733000,1 p3,4.274689,soplex,1199000,1 p3,4.188769,soplex,1199000,1 p3,4.152505,soplex,1199000,1 p3,6.259584,sphinx3,2533000,0 p3,6.163977,sphinx3,2533000,0 p3,5.980166,sphinx3,2533000,0 p3,5.506215,sphinx3,2133000,0 p3,5.336078,sphinx3,2133000,0 p3,5.254709,sphinx3,2133000,0 p3,4.919064,sphinx3,1733000,0 p3,5.062400,sphinx3,1733000,0 p3,5.124573,sphinx3,1733000,0 p3,4.446398,sphinx3,1199000,0 p3,4.398092,sphinx3,1199000,0 p3,4.464450,sphinx3,1199000,0 p3,6.156734,sphinx3,2533000,1 p3,6.257369,sphinx3,2533000,1 p3,6.098140,sphinx3,2533000,1 p3,5.448571,sphinx3,2133000,1 p3,5.570839,sphinx3,2133000,1 p3,5.538589,sphinx3,2133000,1 p3,5.025364,sphinx3,1733000,1 p3,5.157273,sphinx3,1733000,1 p3,5.106067,sphinx3,1733000,1 p3,4.404404,sphinx3,1199000,1 p3,4.468802,sphinx3,1199000,1 p3,4.411756,sphinx3,1199000,1 p3,6.496751,zeusmp,2533000,0 p3,6.453240,zeusmp,2533000,0 p3,6.515564,zeusmp,2533000,0 p3,5.760398,zeusmp,2133000,0 p3,5.824207,zeusmp,2133000,0 p3,5.752453,zeusmp,2133000,0 p3,5.269152,zeusmp,1733000,0 p3,5.227863,zeusmp,1733000,0 p3,5.247018,zeusmp,1733000,0 p3,4.591507,zeusmp,1199000,0 p3,4.612616,zeusmp,1199000,0 p3,4.624739,zeusmp,1199000,0 p3,6.516767,zeusmp,2533000,1 p3,6.522862,zeusmp,2533000,1 p3,6.538490,zeusmp,2533000,1 p3,5.714971,zeusmp,2133000,1 p3,5.791563,zeusmp,2133000,1 p3,5.766699,zeusmp,2133000,1 p3,5.303745,zeusmp,1733000,1 p3,5.312815,zeusmp,1733000,1 p3,5.316774,zeusmp,1733000,1 p3,4.607670,zeusmp,1199000,1 p3,4.639174,zeusmp,1199000,1 p3,4.605297,zeusmp,1199000,1 p3,6.816574,bzip2,2533000,0 p3,6.763406,bzip2,2533000,0 p3,6.822030,bzip2,2533000,0 p3,5.944206,bzip2,2133000,0 p3,5.916967,bzip2,2133000,0 p3,5.938198,bzip2,2133000,0 p3,5.277554,bzip2,1733000,0 p3,5.229043,bzip2,1733000,0 p3,5.255152,bzip2,1733000,0 p3,4.566472,bzip2,1199000,0 p3,4.589378,bzip2,1199000,0 p3,4.632907,bzip2,1199000,0 p3,6.864820,bzip2,2533000,1 p3,6.871118,bzip2,2533000,1 p3,6.860859,bzip2,2533000,1 p3,5.908434,bzip2,2133000,1 p3,5.918043,bzip2,2133000,1 p3,5.977872,bzip2,2133000,1 p3,5.341469,bzip2,1733000,1 p3,5.355015,bzip2,1733000,1 p3,5.355271,bzip2,1733000,1 p3,4.616337,bzip2,1199000,1 p3,4.650236,bzip2,1199000,1 p3,4.622974,bzip2,1199000,1 p3,6.451101,cactusADM,2533000,0 p3,6.394685,cactusADM,2533000,0 p3,6.407973,cactusADM,2533000,0 p3,5.844464,cactusADM,2133000,0 p3,5.796943,cactusADM,2133000,0 p3,5.764974,cactusADM,2133000,0 p3,5.100172,cactusADM,1733000,0 p3,5.194723,cactusADM,1733000,0 p3,5.150834,cactusADM,1733000,0 p3,4.453965,cactusADM,1199000,0 p3,4.444155,cactusADM,1199000,0 p3,4.467874,cactusADM,1199000,0 p3,6.512280,cactusADM,2533000,1 p3,6.408334,cactusADM,2533000,1 p3,6.422821,cactusADM,2533000,1 p3,5.749981,cactusADM,2133000,1 p3,5.706760,cactusADM,2133000,1 p3,5.742180,cactusADM,2133000,1 p3,5.287988,cactusADM,1733000,1 p3,5.280809,cactusADM,1733000,1 p3,5.292213,cactusADM,1733000,1 p3,4.595286,cactusADM,1199000,1 p3,4.574868,cactusADM,1199000,1 p3,4.573757,cactusADM,1199000,1 p3,0.828143,cpuload_all_0_4096,2533000,0 p3,0.795022,cpuload_all_0_4096,2533000,0 p3,0.920105,cpuload_all_0_4096,2533000,0 p3,0.864918,cpuload_all_0_4096,2133000,0 p3,0.871607,cpuload_all_0_4096,2133000,0 p3,0.821350,cpuload_all_0_4096,2133000,0 p3,0.897045,cpuload_all_0_4096,1733000,0 p3,0.996341,cpuload_all_0_4096,1733000,0 p3,0.898420,cpuload_all_0_4096,1733000,0 p3,0.882890,cpuload_all_0_4096,1199000,0 p3,0.773503,cpuload_all_0_4096,1199000,0 p3,0.863304,cpuload_all_0_4096,1199000,0 p3,0.887920,cpuload_all_0_4096,2533000,1 p3,1.002733,cpuload_all_0_4096,2533000,1 p3,0.934064,cpuload_all_0_4096,2533000,1 p3,0.884411,cpuload_all_0_4096,2133000,1 p3,0.900087,cpuload_all_0_4096,2133000,1 p3,0.996731,cpuload_all_0_4096,2133000,1 p3,0.933675,cpuload_all_0_4096,1733000,1 p3,0.893362,cpuload_all_0_4096,1733000,1 p3,0.932443,cpuload_all_0_4096,1733000,1 p3,0.794651,cpuload_all_0_4096,1199000,1 p3,0.811233,cpuload_all_0_4096,1199000,1 p3,0.788678,cpuload_all_0_4096,1199000,1 p3,2.488060,cpuload_all_25_4096,2533000,0 p3,2.479985,cpuload_all_25_4096,2533000,0 p3,2.439499,cpuload_all_25_4096,2533000,0 p3,2.211725,cpuload_all_25_4096,2133000,0 p3,2.268877,cpuload_all_25_4096,2133000,0 p3,2.264246,cpuload_all_25_4096,2133000,0 p3,2.096478,cpuload_all_25_4096,1733000,0 p3,2.124826,cpuload_all_25_4096,1733000,0 p3,2.076953,cpuload_all_25_4096,1733000,0 p3,1.998452,cpuload_all_25_4096,1199000,0 p3,1.951064,cpuload_all_25_4096,1199000,0 p3,1.938937,cpuload_all_25_4096,1199000,0 p3,2.441308,cpuload_all_25_4096,2533000,1 p3,2.437020,cpuload_all_25_4096,2533000,1 p3,2.447227,cpuload_all_25_4096,2533000,1 p3,2.278157,cpuload_all_25_4096,2133000,1 p3,2.242438,cpuload_all_25_4096,2133000,1 p3,2.269420,cpuload_all_25_4096,2133000,1 p3,2.095815,cpuload_all_25_4096,1733000,1 p3,2.087772,cpuload_all_25_4096,1733000,1 p3,2.086998,cpuload_all_25_4096,1733000,1 p3,1.961929,cpuload_all_25_4096,1199000,1 p3,1.952572,cpuload_all_25_4096,1199000,1 p3,1.945519,cpuload_all_25_4096,1199000,1 p3,6.470385,cpuload_all_50_4096,2533000,0 p3,6.509295,cpuload_all_50_4096,2533000,0 p3,6.447373,cpuload_all_50_4096,2533000,0 p3,5.761534,cpuload_all_50_4096,2133000,0 p3,5.811560,cpuload_all_50_4096,2133000,0 p3,5.747802,cpuload_all_50_4096,2133000,0 p3,5.101489,cpuload_all_50_4096,1733000,0 p3,5.124413,cpuload_all_50_4096,1733000,0 p3,5.102189,cpuload_all_50_4096,1733000,0 p3,4.446866,cpuload_all_50_4096,1199000,0 p3,4.489788,cpuload_all_50_4096,1199000,0 p3,4.574763,cpuload_all_50_4096,1199000,0 p3,6.467593,cpuload_all_50_4096,2533000,1 p3,6.437556,cpuload_all_50_4096,2533000,1 p3,6.455579,cpuload_all_50_4096,2533000,1 p3,5.733567,cpuload_all_50_4096,2133000,1 p3,5.827755,cpuload_all_50_4096,2133000,1 p3,5.773749,cpuload_all_50_4096,2133000,1 p3,5.236833,cpuload_all_50_4096,1733000,1 p3,5.247825,cpuload_all_50_4096,1733000,1 p3,5.214530,cpuload_all_50_4096,1733000,1 p3,4.542251,cpuload_all_50_4096,1199000,1 p3,4.506481,cpuload_all_50_4096,1199000,1 p3,4.532812,cpuload_all_50_4096,1199000,1 p3,6.446034,cpuload_all_75_4096,2533000,0 p3,6.453610,cpuload_all_75_4096,2533000,0 p3,6.443960,cpuload_all_75_4096,2533000,0 p3,5.820556,cpuload_all_75_4096,2133000,0 p3,5.752589,cpuload_all_75_4096,2133000,0 p3,5.827601,cpuload_all_75_4096,2133000,0 p3,5.121474,cpuload_all_75_4096,1733000,0 p3,5.181154,cpuload_all_75_4096,1733000,0 p3,5.129902,cpuload_all_75_4096,1733000,0 p3,4.483750,cpuload_all_75_4096,1199000,0 p3,4.530829,cpuload_all_75_4096,1199000,0 p3,4.496746,cpuload_all_75_4096,1199000,0 p3,6.544034,cpuload_all_75_4096,2533000,1 p3,6.458474,cpuload_all_75_4096,2533000,1 p3,6.462237,cpuload_all_75_4096,2533000,1 p3,5.756911,cpuload_all_75_4096,2133000,1 p3,5.752585,cpuload_all_75_4096,2133000,1 p3,5.825655,cpuload_all_75_4096,2133000,1 p3,5.253201,cpuload_all_75_4096,1733000,1 p3,5.325408,cpuload_all_75_4096,1733000,1 p3,5.259558,cpuload_all_75_4096,1733000,1 p3,4.604788,cpuload_all_75_4096,1199000,1 p3,4.543839,cpuload_all_75_4096,1199000,1 p3,4.532831,cpuload_all_75_4096,1199000,1 p3,6.481305,cpuload_all_100_4096,2533000,0 p3,6.548460,cpuload_all_100_4096,2533000,0 p3,6.477168,cpuload_all_100_4096,2533000,0 p3,5.773490,cpuload_all_100_4096,2133000,0 p3,5.823834,cpuload_all_100_4096,2133000,0 p3,5.855935,cpuload_all_100_4096,2133000,0 p3,5.144269,cpuload_all_100_4096,1733000,0 p3,5.131518,cpuload_all_100_4096,1733000,0 p3,5.198863,cpuload_all_100_4096,1733000,0 p3,4.451441,cpuload_all_100_4096,1199000,0 p3,4.474254,cpuload_all_100_4096,1199000,0 p3,4.442865,cpuload_all_100_4096,1199000,0 p3,6.484829,cpuload_all_100_4096,2533000,1 p3,6.454172,cpuload_all_100_4096,2533000,1 p3,6.482774,cpuload_all_100_4096,2533000,1 p3,5.848065,cpuload_all_100_4096,2133000,1 p3,5.771965,cpuload_all_100_4096,2133000,1 p3,5.760466,cpuload_all_100_4096,2133000,1 p3,5.268857,cpuload_all_100_4096,1733000,1 p3,5.257411,cpuload_all_100_4096,1733000,1 p3,5.261262,cpuload_all_100_4096,1733000,1 p3,4.533687,cpuload_all_100_4096,1199000,1 p3,4.549334,cpuload_all_100_4096,1199000,1 p3,4.537405,cpuload_all_100_4096,1199000,1 p3,7.564976,gamess,2533000,0 p3,7.549053,gamess,2533000,0 p3,7.568707,gamess,2533000,0 p3,6.292820,gamess,2133000,0 p3,6.264456,gamess,2133000,0 p3,6.300992,gamess,2133000,0 p3,5.390908,gamess,1733000,0 p3,5.383244,gamess,1733000,0 p3,5.387345,gamess,1733000,0 p3,4.560637,gamess,1199000,0 p3,4.570057,gamess,1199000,0 p3,4.566949,gamess,1199000,0 p3,7.577739,gamess,2533000,1 p3,7.586252,gamess,2533000,1 p3,7.619107,gamess,2533000,1 p3,6.290228,gamess,2133000,1 p3,6.328875,gamess,2133000,1 p3,6.296175,gamess,2133000,1 p3,5.375070,gamess,1733000,1 p3,5.379787,gamess,1733000,1 p3,5.395251,gamess,1733000,1 p3,4.697298,gamess,1199000,1 p3,4.702834,gamess,1199000,1 p3,4.697691,gamess,1199000,1 p3,6.783044,gcc,2533000,0 p3,6.784952,gcc,2533000,0 p3,6.779680,gcc,2533000,0 p3,6.013434,gcc,2133000,0 p3,6.018536,gcc,2133000,0 p3,6.007304,gcc,2133000,0 p3,5.333561,gcc,1733000,0 p3,5.333277,gcc,1733000,0 p3,5.323759,gcc,1733000,0 p3,4.575368,gcc,1199000,0 p3,4.573780,gcc,1199000,0 p3,4.578833,gcc,1199000,0 p3,6.807542,gcc,2533000,1 p3,6.790947,gcc,2533000,1 p3,6.786544,gcc,2533000,1 p3,6.016921,gcc,2133000,1 p3,6.013901,gcc,2133000,1 p3,6.010630,gcc,2133000,1 p3,5.421387,gcc,1733000,1 p3,5.403307,gcc,1733000,1 p3,5.396317,gcc,1733000,1 p3,4.694659,gcc,1199000,1 p3,4.696241,gcc,1199000,1 p3,4.697709,gcc,1199000,1 p3,6.955033,gobmk,2533000,0 p3,6.955938,gobmk,2533000,0 p3,6.948305,gobmk,2533000,0 p3,5.995178,gobmk,2133000,0 p3,6.045125,gobmk,2133000,0 p3,6.029523,gobmk,2133000,0 p3,5.318719,gobmk,1733000,0 p3,5.321992,gobmk,1733000,0 p3,5.310989,gobmk,1733000,0 p3,4.679169,gobmk,1199000,0 p3,4.672240,gobmk,1199000,0 p3,4.677885,gobmk,1199000,0 p3,6.962729,gobmk,2533000,1 p3,6.917930,gobmk,2533000,1 p3,6.950089,gobmk,2533000,1 p3,6.013382,gobmk,2133000,1 p3,5.980111,gobmk,2133000,1 p3,6.020672,gobmk,2133000,1 p3,5.439904,gobmk,1733000,1 p3,5.414864,gobmk,1733000,1 p3,5.406547,gobmk,1733000,1 p3,4.663252,gobmk,1199000,1 p3,4.653554,gobmk,1199000,1 p3,4.652024,gobmk,1199000,1 p3,6.689641,gromacs,2533000,0 p3,6.686603,gromacs,2533000,0 p3,6.710131,gromacs,2533000,0 p3,5.936462,gromacs,2133000,0 p3,5.952464,gromacs,2133000,0 p3,5.941089,gromacs,2133000,0 p3,5.393334,gromacs,1733000,0 p3,5.379326,gromacs,1733000,0 p3,5.381049,gromacs,1733000,0 p3,4.664079,gromacs,1199000,0 p3,4.657465,gromacs,1199000,0 p3,4.666879,gromacs,1199000,0 p3,6.666875,gromacs,2533000,1 p3,6.695921,gromacs,2533000,1 p3,6.714920,gromacs,2533000,1 p3,5.905492,gromacs,2133000,1 p3,5.934500,gromacs,2133000,1 p3,5.937542,gromacs,2133000,1 p3,5.395299,gromacs,1733000,1 p3,5.394272,gromacs,1733000,1 p3,5.379123,gromacs,1733000,1 p3,4.662072,gromacs,1199000,1 p3,4.647128,gromacs,1199000,1 p3,4.653932,gromacs,1199000,1 p3,6.996885,h264ref,2533000,0 p3,7.009216,h264ref,2533000,0 p3,6.970078,h264ref,2533000,0 p3,5.997734,h264ref,2133000,0 p3,6.007426,h264ref,2133000,0 p3,6.015771,h264ref,2133000,0 p3,5.413799,h264ref,1733000,0 p3,5.391237,h264ref,1733000,0 p3,5.421458,h264ref,1733000,0 p3,4.647170,h264ref,1199000,0 p3,4.660657,h264ref,1199000,0 p3,4.658410,h264ref,1199000,0 p3,6.983057,h264ref,2533000,1 p3,7.073755,h264ref,2533000,1 p3,7.025055,h264ref,2533000,1 p3,5.979382,h264ref,2133000,1 p3,6.033478,h264ref,2133000,1 p3,5.991676,h264ref,2133000,1 p3,5.420156,h264ref,1733000,1 p3,5.382527,h264ref,1733000,1 p3,5.415738,h264ref,1733000,1 p3,4.643042,h264ref,1199000,1 p3,4.636394,h264ref,1199000,1 p3,4.637739,h264ref,1199000,1 p3,7.270879,hmmer,2533000,0 p3,7.173579,hmmer,2533000,0 p3,7.319839,hmmer,2533000,0 p3,6.098122,hmmer,2133000,0 p3,6.095208,hmmer,2133000,0 p3,6.084661,hmmer,2133000,0 p3,5.401685,hmmer,1733000,0 p3,5.404937,hmmer,1733000,0 p3,5.354623,hmmer,1733000,0 p3,4.634466,hmmer,1199000,0 p3,4.638487,hmmer,1199000,0 p3,4.627544,hmmer,1199000,0 p3,7.359766,hmmer,2533000,1 p3,7.336113,hmmer,2533000,1 p3,7.388733,hmmer,2533000,1 p3,6.081827,hmmer,2133000,1 p3,6.081634,hmmer,2133000,1 p3,6.089843,hmmer,2133000,1 p3,5.372932,hmmer,1733000,1 p3,5.379470,hmmer,1733000,1 p3,5.412259,hmmer,1733000,1 p3,4.617326,hmmer,1199000,1 p3,4.625890,hmmer,1199000,1 p3,4.620252,hmmer,1199000,1 p3,8.157029,bzip2,2533000,0 p3,8.081994,bzip2,2533000,0 p3,7.728690,bzip2,2533000,0 p3,5.898830,bzip2,2133000,0 p3,5.901150,bzip2,2133000,0 p3,5.863446,bzip2,2133000,0 p3,5.215891,bzip2,1733000,0 p3,5.236388,bzip2,1733000,0 p3,5.227370,bzip2,1733000,0 p3,4.587547,bzip2,1199000,0 p3,4.587128,bzip2,1199000,0 p3,4.590464,bzip2,1199000,0 p3,6.758058,bzip2,2533000,1 p3,6.711403,bzip2,2533000,1 p3,6.755043,bzip2,2533000,1 p3,5.877256,bzip2,2133000,1 p3,5.811564,bzip2,2133000,1 p3,5.934076,bzip2,2133000,1 p3,5.273533,bzip2,1733000,1 p3,5.315134,bzip2,1733000,1 p3,5.338369,bzip2,1733000,1 p3,4.594534,bzip2,1199000,1 p3,4.605074,bzip2,1199000,1 p3,4.618281,bzip2,1199000,1 p3,6.361836,cactusADM,2533000,0 p3,6.354304,cactusADM,2533000,0 p3,6.343426,cactusADM,2533000,0 p3,5.578564,cactusADM,2133000,0 p3,5.700375,cactusADM,2133000,0 p3,5.690366,cactusADM,2133000,0 p3,5.206165,cactusADM,1733000,0 p3,5.231965,cactusADM,1733000,0 p3,5.150728,cactusADM,1733000,0 p3,4.539980,cactusADM,1199000,0 p3,4.540420,cactusADM,1199000,0 p3,4.560723,cactusADM,1199000,0 p3,6.302842,cactusADM,2533000,1 p3,6.513739,cactusADM,2533000,1 p3,6.499139,cactusADM,2533000,1 p3,5.661833,cactusADM,2133000,1 p3,5.710346,cactusADM,2133000,1 p3,5.669626,cactusADM,2133000,1 p3,5.171280,cactusADM,1733000,1 p3,5.129847,cactusADM,1733000,1 p3,5.156624,cactusADM,1733000,1 p3,4.535676,cactusADM,1199000,1 p3,4.543909,cactusADM,1199000,1 p3,4.569462,cactusADM,1199000,1 p3,0.829760,cpuload_all_0_4096,2533000,0 p3,0.896865,cpuload_all_0_4096,2533000,0 p3,0.849449,cpuload_all_0_4096,2533000,0 p3,0.906978,cpuload_all_0_4096,2133000,0 p3,0.825517,cpuload_all_0_4096,2133000,0 p3,0.756354,cpuload_all_0_4096,2133000,0 p3,1.018834,cpuload_all_0_4096,1733000,0 p3,0.953354,cpuload_all_0_4096,1733000,0 p3,1.020151,cpuload_all_0_4096,1733000,0 p3,0.791841,cpuload_all_0_4096,1199000,0 p3,0.755343,cpuload_all_0_4096,1199000,0 p3,0.750423,cpuload_all_0_4096,1199000,0 p3,0.812891,cpuload_all_0_4096,2533000,1 p3,0.838071,cpuload_all_0_4096,2533000,1 p3,0.934356,cpuload_all_0_4096,2533000,1 p3,0.933525,cpuload_all_0_4096,2133000,1 p3,1.057791,cpuload_all_0_4096,2133000,1 p3,1.011773,cpuload_all_0_4096,2133000,1 p3,1.253325,cpuload_all_0_4096,1733000,1 p3,0.909858,cpuload_all_0_4096,1733000,1 p3,1.082258,cpuload_all_0_4096,1733000,1 p3,0.925438,cpuload_all_0_4096,1199000,1 p3,0.900565,cpuload_all_0_4096,1199000,1 p3,0.878825,cpuload_all_0_4096,1199000,1 p3,2.414154,cpuload_all_25_4096,2533000,0 p3,2.406882,cpuload_all_25_4096,2533000,0 p3,2.461060,cpuload_all_25_4096,2533000,0 p3,2.189735,cpuload_all_25_4096,2133000,0 p3,2.211509,cpuload_all_25_4096,2133000,0 p3,2.167483,cpuload_all_25_4096,2133000,0 p3,2.091804,cpuload_all_25_4096,1733000,0 p3,2.065956,cpuload_all_25_4096,1733000,0 p3,2.077409,cpuload_all_25_4096,1733000,0 p3,1.929455,cpuload_all_25_4096,1199000,0 p3,1.941705,cpuload_all_25_4096,1199000,0 p3,1.896772,cpuload_all_25_4096,1199000,0 p3,2.406313,cpuload_all_25_4096,2533000,1 p3,2.395511,cpuload_all_25_4096,2533000,1 p3,2.415002,cpuload_all_25_4096,2533000,1 p3,2.228580,cpuload_all_25_4096,2133000,1 p3,2.261568,cpuload_all_25_4096,2133000,1 p3,2.229046,cpuload_all_25_4096,2133000,1 p3,2.046685,cpuload_all_25_4096,1733000,1 p3,2.036034,cpuload_all_25_4096,1733000,1 p3,2.067646,cpuload_all_25_4096,1733000,1 p3,1.955181,cpuload_all_25_4096,1199000,1 p3,1.940523,cpuload_all_25_4096,1199000,1 p3,1.931569,cpuload_all_25_4096,1199000,1 p3,6.415764,cpuload_all_50_4096,2533000,0 p3,6.402750,cpuload_all_50_4096,2533000,0 p3,5.571421,cpuload_all_50_4096,2533000,0 p3,5.771132,cpuload_all_50_4096,2133000,0 p3,5.710776,cpuload_all_50_4096,2133000,0 p3,5.700658,cpuload_all_50_4096,2133000,0 p3,5.160303,cpuload_all_50_4096,1733000,0 p3,5.084699,cpuload_all_50_4096,1733000,0 p3,5.084549,cpuload_all_50_4096,1733000,0 p3,4.491018,cpuload_all_50_4096,1199000,0 p3,4.513494,cpuload_all_50_4096,1199000,0 p3,4.515721,cpuload_all_50_4096,1199000,0 p3,6.418901,cpuload_all_50_4096,2533000,1 p3,6.493806,cpuload_all_50_4096,2533000,1 p3,6.406375,cpuload_all_50_4096,2533000,1 p3,5.703362,cpuload_all_50_4096,2133000,1 p3,5.703969,cpuload_all_50_4096,2133000,1 p3,5.716061,cpuload_all_50_4096,2133000,1 p3,5.280254,cpuload_all_50_4096,1733000,1 p3,5.207359,cpuload_all_50_4096,1733000,1 p3,5.193683,cpuload_all_50_4096,1733000,1 p3,4.505799,cpuload_all_50_4096,1199000,1 p3,4.522597,cpuload_all_50_4096,1199000,1 p3,4.503144,cpuload_all_50_4096,1199000,1 p3,6.484234,cpuload_all_75_4096,2533000,0 p3,6.420733,cpuload_all_75_4096,2533000,0 p3,6.400447,cpuload_all_75_4096,2533000,0 p3,5.791391,cpuload_all_75_4096,2133000,0 p3,5.715978,cpuload_all_75_4096,2133000,0 p3,5.726699,cpuload_all_75_4096,2133000,0 p3,5.097877,cpuload_all_75_4096,1733000,0 p3,5.102737,cpuload_all_75_4096,1733000,0 p3,5.079773,cpuload_all_75_4096,1733000,0 p3,4.425151,cpuload_all_75_4096,1199000,0 p3,4.572707,cpuload_all_75_4096,1199000,0 p3,4.508813,cpuload_all_75_4096,1199000,0 p3,6.422891,cpuload_all_75_4096,2533000,1 p3,6.422682,cpuload_all_75_4096,2533000,1 p3,6.427175,cpuload_all_75_4096,2533000,1 p3,5.797998,cpuload_all_75_4096,2133000,1 p3,5.730017,cpuload_all_75_4096,2133000,1 p3,5.737068,cpuload_all_75_4096,2133000,1 p3,5.211742,cpuload_all_75_4096,1733000,1 p3,5.219696,cpuload_all_75_4096,1733000,1 p3,5.222384,cpuload_all_75_4096,1733000,1 p3,4.513504,cpuload_all_75_4096,1199000,1 p3,4.509616,cpuload_all_75_4096,1199000,1 p3,4.574363,cpuload_all_75_4096,1199000,1 p3,6.445603,cpuload_all_100_4096,2533000,0 p3,6.435468,cpuload_all_100_4096,2533000,0 p3,6.433921,cpuload_all_100_4096,2533000,0 p3,5.744303,cpuload_all_100_4096,2133000,0 p3,5.756589,cpuload_all_100_4096,2133000,0 p3,5.736553,cpuload_all_100_4096,2133000,0 p3,5.169479,cpuload_all_100_4096,1733000,0 p3,5.105588,cpuload_all_100_4096,1733000,0 p3,5.111594,cpuload_all_100_4096,1733000,0 p3,4.510746,cpuload_all_100_4096,1199000,0 p3,4.519699,cpuload_all_100_4096,1199000,0 p3,4.519367,cpuload_all_100_4096,1199000,0 p3,6.541732,cpuload_all_100_4096,2533000,1 p3,6.433743,cpuload_all_100_4096,2533000,1 p3,6.413937,cpuload_all_100_4096,2533000,1 p3,5.759937,cpuload_all_100_4096,2133000,1 p3,5.810111,cpuload_all_100_4096,2133000,1 p3,5.745631,cpuload_all_100_4096,2133000,1 p3,5.227261,cpuload_all_100_4096,1733000,1 p3,5.227783,cpuload_all_100_4096,1733000,1 p3,5.299212,cpuload_all_100_4096,1733000,1 p3,4.517759,cpuload_all_100_4096,1199000,1 p3,4.516963,cpuload_all_100_4096,1199000,1 p3,4.519213,cpuload_all_100_4096,1199000,1 p3,7.549777,gamess,2533000,0 p3,7.543999,gamess,2533000,0 p3,7.549306,gamess,2533000,0 p3,6.265581,gamess,2133000,0 p3,6.301265,gamess,2133000,0 p3,6.297592,gamess,2133000,0 p3,5.372867,gamess,1733000,0 p3,5.384034,gamess,1733000,0 p3,5.367044,gamess,1733000,0 p3,4.571291,gamess,1199000,0 p3,4.588577,gamess,1199000,0 p3,4.582185,gamess,1199000,0 p3,7.603359,gamess,2533000,1 p3,7.547615,gamess,2533000,1 p3,7.608239,gamess,2533000,1 p3,6.276040,gamess,2133000,1 p3,6.282801,gamess,2133000,1 p3,6.298369,gamess,2133000,1 p3,5.494531,gamess,1733000,1 p3,5.506283,gamess,1733000,1 p3,5.508155,gamess,1733000,1 p3,4.678758,gamess,1199000,1 p3,4.694351,gamess,1199000,1 p3,4.695355,gamess,1199000,1 p3,6.775143,gcc,2533000,0 p3,6.773323,gcc,2533000,0 p3,6.781372,gcc,2533000,0 p3,6.013433,gcc,2133000,0 p3,6.006996,gcc,2133000,0 p3,6.013897,gcc,2133000,0 p3,5.321410,gcc,1733000,0 p3,5.321925,gcc,1733000,0 p3,5.320732,gcc,1733000,0 p3,4.572893,gcc,1199000,0 p3,4.615420,gcc,1199000,0 p3,4.612478,gcc,1199000,0 p3,6.783746,gcc,2533000,1 p3,6.791551,gcc,2533000,1 p3,6.787764,gcc,2533000,1 p3,6.003947,gcc,2133000,1 p3,6.006270,gcc,2133000,1 p3,6.020452,gcc,2133000,1 p3,5.444372,gcc,1733000,1 p3,5.457858,gcc,1733000,1 p3,5.456859,gcc,1733000,1 p3,4.699829,gcc,1199000,1 p3,4.705085,gcc,1199000,1 p3,4.695564,gcc,1199000,1 p3,6.997146,gobmk,2533000,0 p3,6.918758,gobmk,2533000,0 p3,6.973121,gobmk,2533000,0 p3,6.041325,gobmk,2133000,0 p3,6.067286,gobmk,2133000,0 p3,6.059700,gobmk,2133000,0 p3,5.304259,gobmk,1733000,0 p3,5.319062,gobmk,1733000,0 p3,5.303129,gobmk,1733000,0 p3,4.550705,gobmk,1199000,0 p3,4.565456,gobmk,1199000,0 p3,4.546416,gobmk,1199000,0 p3,7.001124,gobmk,2533000,1 p3,7.003851,gobmk,2533000,1 p3,6.968339,gobmk,2533000,1 p3,6.029929,gobmk,2133000,1 p3,6.040239,gobmk,2133000,1 p3,6.021029,gobmk,2133000,1 p3,5.447167,gobmk,1733000,1 p3,5.416371,gobmk,1733000,1 p3,5.428608,gobmk,1733000,1 p3,4.677215,gobmk,1199000,1 p3,4.685770,gobmk,1199000,1 p3,4.676323,gobmk,1199000,1 p3,6.764765,gromacs,2533000,0 p3,6.662096,gromacs,2533000,0 p3,6.672348,gromacs,2533000,0 p3,6.687032,gromacs,2533000,0 p3,5.907962,gromacs,2133000,0 p3,5.913009,gromacs,2133000,0 p3,5.926128,gromacs,2133000,0 p3,5.374141,gromacs,1733000,0 p3,5.388015,gromacs,1733000,0 p3,5.386885,gromacs,1733000,0 p3,4.656412,gromacs,1199000,0 p3,4.658785,gromacs,1199000,0 p3,4.662419,gromacs,1199000,0 p3,6.676376,gromacs,2533000,1 p3,6.696795,gromacs,2533000,1 p3,6.714873,gromacs,2533000,1 p3,5.940134,gromacs,2133000,1 p3,5.925728,gromacs,2133000,1 p3,5.925774,gromacs,2133000,1 p3,5.399143,gromacs,1733000,1 p3,5.393865,gromacs,1733000,1 p3,5.388596,gromacs,1733000,1 p3,4.657826,gromacs,1199000,1 p3,4.654321,gromacs,1199000,1 p3,4.654346,gromacs,1199000,1 p3,7.017528,h264ref,2533000,0 p3,7.017553,h264ref,2533000,0 p3,7.032129,h264ref,2533000,0 p3,6.043260,h264ref,2133000,0 p3,6.020271,h264ref,2133000,0 p3,6.042408,h264ref,2133000,0 p3,5.423598,h264ref,1733000,0 p3,5.365841,h264ref,1733000,0 p3,5.390611,h264ref,1733000,0 p3,4.674509,h264ref,1199000,0 p3,4.676282,h264ref,1199000,0 p3,4.669022,h264ref,1199000,0 p3,7.040821,h264ref,2533000,1 p3,6.987936,h264ref,2533000,1 p3,7.055514,h264ref,2533000,1 p3,6.038700,h264ref,2133000,1 p3,6.053285,h264ref,2133000,1 p3,6.035099,h264ref,2133000,1 p3,5.407111,h264ref,1733000,1 p3,5.430579,h264ref,1733000,1 p3,5.416694,h264ref,1733000,1 p3,4.654757,h264ref,1199000,1 p3,4.667845,h264ref,1199000,1 p3,4.664901,h264ref,1199000,1 p3,7.393374,hmmer,2533000,0 p3,7.373652,hmmer,2533000,0 p3,7.386961,hmmer,2533000,0 p3,6.197092,hmmer,2133000,0 p3,6.158340,hmmer,2133000,0 p3,6.116259,hmmer,2133000,0 p3,5.361652,hmmer,1733000,0 p3,5.373969,hmmer,1733000,0 p3,5.391481,hmmer,1733000,0 p3,4.648830,hmmer,1199000,0 p3,4.646414,hmmer,1199000,0 p3,4.636281,hmmer,1199000,0 p3,7.252656,hmmer,2533000,1 p3,7.301987,hmmer,2533000,1 p3,7.411808,hmmer,2533000,1 p3,6.114557,hmmer,2133000,1 p3,6.168612,hmmer,2133000,1 p3,6.094848,hmmer,2133000,1 p3,5.412660,hmmer,1733000,1 p3,5.415932,hmmer,1733000,1 p3,5.422865,hmmer,1733000,1 p3,4.648987,hmmer,1199000,1 p3,4.669290,hmmer,1199000,1 p3,4.661204,hmmer,1199000,1 p3,6.528972,lbm,2533000,0 p3,6.521778,lbm,2533000,0 p3,6.523163,lbm,2533000,0 p3,5.845173,lbm,2133000,0 p3,5.832603,lbm,2133000,0 p3,5.859258,lbm,2133000,0 p3,5.327938,lbm,1733000,0 p3,5.272019,lbm,1733000,0 p3,5.333070,lbm,1733000,0 p3,4.621221,lbm,1199000,0 p3,4.610446,lbm,1199000,0 p3,4.613365,lbm,1199000,0 p3,6.514257,lbm,2533000,1 p3,6.498087,lbm,2533000,1 p3,6.518062,lbm,2533000,1 p3,5.891015,lbm,2133000,1 p3,5.882087,lbm,2133000,1 p3,5.856975,lbm,2133000,1 p3,5.280689,lbm,1733000,1 p3,5.309048,lbm,1733000,1 p3,5.269556,lbm,1733000,1 p3,4.623364,lbm,1199000,1 p3,4.614508,lbm,1199000,1 p3,4.608499,lbm,1199000,1 p3,6.717083,leslie3d,2533000,0 p3,6.692297,leslie3d,2533000,0 p3,6.719110,leslie3d,2533000,0 p3,5.958828,leslie3d,2133000,0 p3,5.931378,leslie3d,2133000,0 p3,5.960683,leslie3d,2133000,0 p3,5.341220,leslie3d,1733000,0 p3,5.405417,leslie3d,1733000,0 p3,5.381951,leslie3d,1733000,0 p3,4.664851,leslie3d,1199000,0 p3,4.669775,leslie3d,1199000,0 p3,4.656077,leslie3d,1199000,0 p3,6.704189,leslie3d,2533000,1 p3,6.697021,leslie3d,2533000,1 p3,6.726360,leslie3d,2533000,1 p3,5.961750,leslie3d,2133000,1 p3,5.949081,leslie3d,2133000,1 p3,5.975164,leslie3d,2133000,1 p3,5.374453,leslie3d,1733000,1 p3,5.396183,leslie3d,1733000,1 p3,5.401758,leslie3d,1733000,1 p3,4.671156,leslie3d,1199000,1 p3,4.669440,leslie3d,1199000,1 p3,4.659972,leslie3d,1199000,1 p3,6.291139,mcf,2533000,0 p3,6.260673,mcf,2533000,0 p3,6.233254,mcf,2533000,0 p3,5.618897,mcf,2133000,0 p3,5.685550,mcf,2133000,0 p3,5.610690,mcf,2133000,0 p3,5.176947,mcf,1733000,0 p3,5.250819,mcf,1733000,0 p3,5.208039,mcf,1733000,0 p3,4.574110,mcf,1199000,0 p3,4.617164,mcf,1199000,0 p3,4.586226,mcf,1199000,0 p3,6.233967,mcf,2533000,1 p3,6.277645,mcf,2533000,1 p3,6.212844,mcf,2533000,1 p3,5.687692,mcf,2133000,1 p3,5.653337,mcf,2133000,1 p3,5.705580,mcf,2133000,1 p3,5.174885,mcf,1733000,1 p3,5.309172,mcf,1733000,1 p3,5.169179,mcf,1733000,1 p3,4.576358,mcf,1199000,1 p3,4.553002,mcf,1199000,1 p3,4.496557,mcf,1199000,1 p3,6.380949,milc,2533000,0 p3,6.151439,milc,2533000,0 p3,6.126892,milc,2533000,0 p3,5.565237,milc,2133000,0 p3,5.621423,milc,2133000,0 p3,5.549091,milc,2133000,0 p3,5.035873,milc,1733000,0 p3,5.152436,milc,1733000,0 p3,5.057173,milc,1733000,0 p3,4.479044,milc,1199000,0 p3,4.538285,milc,1199000,0 p3,4.477741,milc,1199000,0 p3,6.293513,milc,2533000,1 p3,6.203744,milc,2533000,1 p3,6.272003,milc,2533000,1 p3,5.623287,milc,2133000,1 p3,5.619208,milc,2133000,1 p3,5.645848,milc,2133000,1 p3,5.051271,milc,1733000,1 p3,5.107685,milc,1733000,1 p3,5.174417,milc,1733000,1 p3,4.525324,milc,1199000,1 p3,4.437130,milc,1199000,1 p3,4.471786,milc,1199000,1 p3,6.195413,namd,2533000,0 p3,6.216464,namd,2533000,0 p3,6.179830,namd,2533000,0 p3,5.658462,namd,2133000,0 p3,5.628528,namd,2133000,0 p3,5.668782,namd,2133000,0 p3,5.144718,namd,1733000,0 p3,5.058796,namd,1733000,0 p3,5.154958,namd,1733000,0 p3,4.476065,namd,1199000,0 p3,4.469190,namd,1199000,0 p3,4.474722,namd,1199000,0 p3,6.210848,namd,2533000,1 p3,6.293774,namd,2533000,1 p4,8.080032,bzip2,2533000,0 p4,7.680405,bzip2,2533000,0 p4,6.941172,bzip2,2533000,0 p4,6.031020,bzip2,2133000,0 p4,6.033616,bzip2,2133000,0 p4,6.108115,bzip2,2133000,0 p4,5.355595,bzip2,1733000,0 p4,5.318975,bzip2,1733000,0 p4,5.340942,bzip2,1733000,0 p4,4.639325,bzip2,1199000,0 p4,4.624907,bzip2,1199000,0 p4,4.632820,bzip2,1199000,0 p4,7.001340,bzip2,2533000,1 p4,6.930876,bzip2,2533000,1 p4,6.892742,bzip2,2533000,1 p4,6.039121,bzip2,2133000,1 p4,6.066926,bzip2,2133000,1 p4,6.049034,bzip2,2133000,1 p4,5.359263,bzip2,1733000,1 p4,5.369600,bzip2,1733000,1 p4,5.344832,bzip2,1733000,1 p4,4.540457,bzip2,1199000,1 p4,4.554719,bzip2,1199000,1 p4,4.574794,bzip2,1199000,1 p4,6.584222,cactusADM,2533000,0 p4,6.498915,cactusADM,2533000,0 p4,6.558910,cactusADM,2533000,0 p4,5.825721,cactusADM,2133000,0 p4,5.919980,cactusADM,2133000,0 p4,5.807501,cactusADM,2133000,0 p4,5.253551,cactusADM,1733000,0 p4,5.184130,cactusADM,1733000,0 p4,5.217440,cactusADM,1733000,0 p4,4.580768,cactusADM,1199000,0 p4,4.562307,cactusADM,1199000,0 p4,4.602657,cactusADM,1199000,0 p4,6.528641,cactusADM,2533000,1 p4,6.658123,cactusADM,2533000,1 p4,6.496220,cactusADM,2533000,1 p4,5.773882,cactusADM,2133000,1 p4,5.870550,cactusADM,2133000,1 p4,5.833149,cactusADM,2133000,1 p4,5.253617,cactusADM,1733000,1 p4,5.265361,cactusADM,1733000,1 p4,5.187839,cactusADM,1733000,1 p4,4.480669,cactusADM,1199000,1 p4,4.512220,cactusADM,1199000,1 p4,4.497293,cactusADM,1199000,1 p4,0.794821,cpuload_all_0_4096,2533000,0 p4,0.806628,cpuload_all_0_4096,2533000,0 p4,0.769586,cpuload_all_0_4096,2533000,0 p4,0.765084,cpuload_all_0_4096,2133000,0 p4,0.710470,cpuload_all_0_4096,2133000,0 p4,0.680543,cpuload_all_0_4096,2133000,0 p4,0.848093,cpuload_all_0_4096,1733000,0 p4,0.792572,cpuload_all_0_4096,1733000,0 p4,1.028382,cpuload_all_0_4096,1733000,0 p4,0.674306,cpuload_all_0_4096,1199000,0 p4,0.690297,cpuload_all_0_4096,1199000,0 p4,0.783007,cpuload_all_0_4096,1199000,0 p4,0.734936,cpuload_all_0_4096,2533000,1 p4,0.845024,cpuload_all_0_4096,2533000,1 p4,0.811784,cpuload_all_0_4096,2533000,1 p4,1.015690,cpuload_all_0_4096,2133000,1 p4,1.013301,cpuload_all_0_4096,2133000,1 p4,0.890385,cpuload_all_0_4096,2133000,1 p4,1.191639,cpuload_all_0_4096,1733000,1 p4,1.197877,cpuload_all_0_4096,1733000,1 p4,1.089004,cpuload_all_0_4096,1733000,1 p4,0.871614,cpuload_all_0_4096,1199000,1 p4,0.783384,cpuload_all_0_4096,1199000,1 p4,0.850108,cpuload_all_0_4096,1199000,1 p4,2.463935,cpuload_all_25_4096,2533000,0 p4,2.526907,cpuload_all_25_4096,2533000,0 p4,2.468547,cpuload_all_25_4096,2533000,0 p4,2.255799,cpuload_all_25_4096,2133000,0 p4,2.257937,cpuload_all_25_4096,2133000,0 p4,2.226795,cpuload_all_25_4096,2133000,0 p4,2.030633,cpuload_all_25_4096,1733000,0 p4,2.057157,cpuload_all_25_4096,1733000,0 p4,2.031586,cpuload_all_25_4096,1733000,0 p4,1.869808,cpuload_all_25_4096,1199000,0 p4,1.896791,cpuload_all_25_4096,1199000,0 p4,1.895889,cpuload_all_25_4096,1199000,0 p4,2.377050,cpuload_all_25_4096,2533000,1 p4,2.372591,cpuload_all_25_4096,2533000,1 p4,2.390975,cpuload_all_25_4096,2533000,1 p4,2.196020,cpuload_all_25_4096,2133000,1 p4,2.225245,cpuload_all_25_4096,2133000,1 p4,2.189814,cpuload_all_25_4096,2133000,1 p4,2.004594,cpuload_all_25_4096,1733000,1 p4,2.011927,cpuload_all_25_4096,1733000,1 p4,2.035173,cpuload_all_25_4096,1733000,1 p4,1.856395,cpuload_all_25_4096,1199000,1 p4,1.901735,cpuload_all_25_4096,1199000,1 p4,1.882523,cpuload_all_25_4096,1199000,1 p4,6.559526,cpuload_all_50_4096,2533000,0 p4,6.616892,cpuload_all_50_4096,2533000,0 p4,6.561842,cpuload_all_50_4096,2533000,0 p4,5.929682,cpuload_all_50_4096,2133000,0 p4,5.591120,namd,2133000,1 p4,5.618696,namd,2133000,1 p4,5.731951,namd,2133000,1 p4,5.094415,namd,1733000,1 p4,5.164608,namd,1733000,1 p4,5.152460,namd,1733000,1 p4,4.414231,namd,1199000,1 p4,4.435810,namd,1199000,1 p4,4.472022,namd,1199000,1 p4,7.408736,omnetpp,2533000,0 p4,5.776423,cpuload_all_50_4096,2133000,0 p4,7.343837,omnetpp,2533000,0 p4,7.306274,omnetpp,2533000,0 p4,6.252165,omnetpp,2133000,0 p4,6.180234,omnetpp,2133000,0 p4,6.227766,omnetpp,2133000,0 p4,5.445170,omnetpp,1733000,0 p4,5.419540,omnetpp,1733000,0 p4,5.415511,omnetpp,1733000,0 p4,4.647433,omnetpp,1199000,0 p4,4.641397,omnetpp,1199000,0 p4,5.876108,cpuload_all_50_4096,2133000,0 p4,4.665809,omnetpp,1199000,0 p4,7.401462,omnetpp,2533000,1 p4,7.316676,omnetpp,2533000,1 p4,7.358871,omnetpp,2533000,1 p4,6.261209,omnetpp,2133000,1 p4,6.187339,omnetpp,2133000,1 p4,6.160315,omnetpp,2133000,1 p4,5.409543,omnetpp,1733000,1 p4,5.399376,omnetpp,1733000,1 p4,5.425768,omnetpp,1733000,1 p4,5.289927,cpuload_all_50_4096,1733000,0 p4,4.563403,omnetpp,1199000,1 p4,4.545937,omnetpp,1199000,1 p4,4.536883,omnetpp,1199000,1 p4,6.056932,povray,2533000,0 p4,6.233296,povray,2533000,0 p4,6.277253,povray,2533000,0 p4,5.490198,povray,2133000,0 p4,5.457778,povray,2133000,0 p4,5.362136,povray,2133000,0 p4,4.810614,povray,1733000,0 p4,5.277076,cpuload_all_50_4096,1733000,0 p4,4.916992,povray,1733000,0 p4,5.049631,povray,1733000,0 p4,4.488263,povray,1199000,0 p4,4.441786,povray,1199000,0 p4,4.280294,povray,1199000,0 p4,6.081804,povray,2533000,1 p4,6.202238,povray,2533000,1 p4,6.289145,povray,2533000,1 p4,5.400256,povray,2133000,1 p4,5.531326,povray,2133000,1 p4,5.213634,cpuload_all_50_4096,1733000,0 p4,5.573011,povray,2133000,1 p4,5.102954,povray,1733000,1 p4,4.770790,povray,1733000,1 p4,4.879339,povray,1733000,1 p4,4.311355,povray,1199000,1 p4,4.368606,povray,1199000,1 p4,4.386569,povray,1199000,1 p4,7.073466,sjeng,2533000,0 p4,7.062760,sjeng,2533000,0 p4,7.098378,sjeng,2533000,0 p4,4.543054,cpuload_all_50_4096,1199000,0 p4,6.153805,sjeng,2133000,0 p4,6.171728,sjeng,2133000,0 p4,6.181722,sjeng,2133000,0 p4,5.427287,sjeng,1733000,0 p4,5.442463,sjeng,1733000,0 p4,5.442909,sjeng,1733000,0 p4,4.683348,sjeng,1199000,0 p4,4.679890,sjeng,1199000,0 p4,4.676540,sjeng,1199000,0 p4,7.084234,sjeng,2533000,1 p4,4.511945,cpuload_all_50_4096,1199000,0 p4,7.095320,sjeng,2533000,1 p4,7.077067,sjeng,2533000,1 p4,6.168076,sjeng,2133000,1 p4,6.157053,sjeng,2133000,1 p4,6.176246,sjeng,2133000,1 p4,5.431623,sjeng,1733000,1 p4,5.436173,sjeng,1733000,1 p4,5.427127,sjeng,1733000,1 p4,4.560906,sjeng,1199000,1 p4,4.558656,sjeng,1199000,1 p4,4.598268,cpuload_all_50_4096,1199000,0 p4,4.565005,sjeng,1199000,1 p4,5.843884,soplex,2533000,0 p4,5.959078,soplex,2533000,0 p4,5.979794,soplex,2533000,0 p4,5.447101,soplex,2133000,0 p4,5.086261,soplex,2133000,0 p4,5.079695,soplex,2133000,0 p4,4.777254,soplex,1733000,0 p4,4.726349,soplex,1733000,0 p4,4.875538,soplex,1733000,0 p4,6.598165,cpuload_all_50_4096,2533000,1 p4,4.238354,soplex,1199000,0 p4,4.372620,soplex,1199000,0 p4,4.384038,soplex,1199000,0 p4,6.035502,soplex,2533000,1 p4,6.034999,soplex,2533000,1 p4,6.074981,soplex,2533000,1 p4,5.478006,soplex,2133000,1 p4,5.114872,soplex,2133000,1 p4,5.242818,soplex,2133000,1 p4,4.719605,soplex,1733000,1 p4,6.691885,cpuload_all_50_4096,2533000,1 p4,4.873293,soplex,1733000,1 p4,4.796142,soplex,1733000,1 p4,4.293699,soplex,1199000,1 p4,4.141002,soplex,1199000,1 p4,4.194473,soplex,1199000,1 p4,6.213675,sphinx3,2533000,0 p4,6.138118,sphinx3,2533000,0 p4,6.426975,sphinx3,2533000,0 p4,5.535953,sphinx3,2133000,0 p4,5.669336,sphinx3,2133000,0 p4,6.078816,cpuload_all_50_4096,2533000,1 p4,5.570825,sphinx3,2133000,0 p4,4.967297,sphinx3,1733000,0 p4,5.008103,sphinx3,1733000,0 p4,4.991706,sphinx3,1733000,0 p4,4.401196,sphinx3,1199000,0 p4,4.388896,sphinx3,1199000,0 p4,4.501480,sphinx3,1199000,0 p4,6.348969,sphinx3,2533000,1 p4,6.285059,sphinx3,2533000,1 p4,6.201300,sphinx3,2533000,1 p4,5.674286,cpuload_all_50_4096,2133000,1 p4,5.640561,sphinx3,2133000,1 p4,5.514907,sphinx3,2133000,1 p4,5.653091,sphinx3,2133000,1 p4,5.050237,sphinx3,1733000,1 p4,5.036773,sphinx3,1733000,1 p4,5.060928,sphinx3,1733000,1 p4,4.346822,sphinx3,1199000,1 p4,4.348797,sphinx3,1199000,1 p4,4.299507,sphinx3,1199000,1 p4,6.675378,zeusmp,2533000,0 p4,5.272457,cpuload_all_50_4096,2133000,1 p4,6.595625,zeusmp,2533000,0 p4,6.669207,zeusmp,2533000,0 p4,5.914307,zeusmp,2133000,0 p4,5.979733,zeusmp,2133000,0 p4,5.987090,zeusmp,2133000,0 p4,5.291324,zeusmp,1733000,0 p4,5.312613,zeusmp,1733000,0 p4,5.294613,zeusmp,1733000,0 p4,4.616981,zeusmp,1199000,0 p4,4.627526,zeusmp,1199000,0 p4,5.949189,cpuload_all_50_4096,2133000,1 p4,4.624734,zeusmp,1199000,0 p4,6.582039,zeusmp,2533000,1 p4,6.665240,zeusmp,2533000,1 p4,6.607982,zeusmp,2533000,1 p4,5.923871,zeusmp,2133000,1 p4,5.916526,zeusmp,2133000,1 p4,5.985647,zeusmp,2133000,1 p4,5.282442,zeusmp,1733000,1 p4,5.297671,zeusmp,1733000,1 p4,5.330267,zeusmp,1733000,1 p4,5.224040,cpuload_all_50_4096,1733000,1 p4,4.534250,zeusmp,1199000,1 p4,4.497176,zeusmp,1199000,1 p4,4.505877,zeusmp,1199000,1 p4,8.459110,bzip2,2533000,0 p4,7.487829,bzip2,2533000,0 p4,6.946105,bzip2,2533000,0 p4,6.095964,bzip2,2133000,0 p4,6.063303,bzip2,2133000,0 p4,6.083062,bzip2,2133000,0 p4,5.343229,bzip2,1733000,0 p4,5.291473,cpuload_all_50_4096,1733000,1 p4,5.385649,bzip2,1733000,0 p4,5.361155,bzip2,1733000,0 p4,4.618148,bzip2,1199000,0 p4,4.646788,bzip2,1199000,0 p4,4.634850,bzip2,1199000,0 p4,7.013047,bzip2,2533000,1 p4,6.991454,bzip2,2533000,1 p4,6.938819,bzip2,2533000,1 p4,6.109360,bzip2,2133000,1 p4,6.092773,bzip2,2133000,1 p4,5.209989,cpuload_all_50_4096,1733000,1 p4,6.063661,bzip2,2133000,1 p4,5.406470,bzip2,1733000,1 p4,5.405838,bzip2,1733000,1 p4,5.412433,bzip2,1733000,1 p4,4.508311,bzip2,1199000,1 p4,4.543905,bzip2,1199000,1 p4,4.525746,bzip2,1199000,1 p4,6.717829,cactusADM,2533000,0 p4,6.562581,cactusADM,2533000,0 p4,6.509077,cactusADM,2533000,0 p4,4.518368,cpuload_all_50_4096,1199000,1 p4,5.925666,cactusADM,2133000,0 p4,5.890721,cactusADM,2133000,0 p4,5.851184,cactusADM,2133000,0 p4,5.275856,cactusADM,1733000,0 p4,5.281209,cactusADM,1733000,0 p4,5.237624,cactusADM,1733000,0 p4,4.560519,cactusADM,1199000,0 p4,4.558066,cactusADM,1199000,0 p4,4.562065,cactusADM,1199000,0 p4,6.685006,cactusADM,2533000,1 p4,4.503472,cpuload_all_50_4096,1199000,1 p4,6.591869,cactusADM,2533000,1 p4,6.535292,cactusADM,2533000,1 p4,5.953283,cactusADM,2133000,1 p4,5.916431,cactusADM,2133000,1 p4,5.848679,cactusADM,2133000,1 p4,5.266333,cactusADM,1733000,1 p4,5.273938,cactusADM,1733000,1 p4,5.228960,cactusADM,1733000,1 p4,4.465393,cactusADM,1199000,1 p4,4.467908,cactusADM,1199000,1 p4,4.576806,cpuload_all_50_4096,1199000,1 p4,4.463572,cactusADM,1199000,1 p4,0.695621,cpuload_all_0_4096,2533000,0 p4,0.757379,cpuload_all_0_4096,2533000,0 p4,0.783284,cpuload_all_0_4096,2533000,0 p4,0.732996,cpuload_all_0_4096,2133000,0 p4,0.741656,cpuload_all_0_4096,2133000,0 p4,0.599184,cpuload_all_0_4096,2133000,0 p4,0.819459,cpuload_all_0_4096,1733000,0 p4,0.756464,cpuload_all_0_4096,1733000,0 p4,0.863453,cpuload_all_0_4096,1733000,0 p4,6.429352,cpuload_all_75_4096,2533000,0 p4,0.616008,cpuload_all_0_4096,1199000,0 p4,0.615331,cpuload_all_0_4096,1199000,0 p4,0.675685,cpuload_all_0_4096,1199000,0 p4,0.870717,cpuload_all_0_4096,2533000,1 p4,0.787436,cpuload_all_0_4096,2533000,1 p4,0.841796,cpuload_all_0_4096,2533000,1 p4,0.721689,cpuload_all_0_4096,2133000,1 p4,0.854846,cpuload_all_0_4096,2133000,1 p4,0.892208,cpuload_all_0_4096,2133000,1 p4,0.953458,cpuload_all_0_4096,1733000,1 p4,6.652912,cpuload_all_75_4096,2533000,0 p4,1.073428,cpuload_all_0_4096,1733000,1 p4,1.164466,cpuload_all_0_4096,1733000,1 p4,0.815982,cpuload_all_0_4096,1199000,1 p4,0.904882,cpuload_all_0_4096,1199000,1 p4,0.813464,cpuload_all_0_4096,1199000,1 p4,2.465210,cpuload_all_25_4096,2533000,0 p4,2.491615,cpuload_all_25_4096,2533000,0 p4,2.454335,cpuload_all_25_4096,2533000,0 p4,2.248652,cpuload_all_25_4096,2133000,0 p4,2.231646,cpuload_all_25_4096,2133000,0 p4,6.561814,cpuload_all_75_4096,2533000,0 p4,2.251393,cpuload_all_25_4096,2133000,0 p4,2.061516,cpuload_all_25_4096,1733000,0 p4,2.046553,cpuload_all_25_4096,1733000,0 p4,2.063389,cpuload_all_25_4096,1733000,0 p4,1.910831,cpuload_all_25_4096,1199000,0 p4,1.915017,cpuload_all_25_4096,1199000,0 p4,1.929045,cpuload_all_25_4096,1199000,0 p4,2.414465,cpuload_all_25_4096,2533000,1 p4,2.410812,cpuload_all_25_4096,2533000,1 p4,2.411688,cpuload_all_25_4096,2533000,1 p4,5.863692,cpuload_all_75_4096,2133000,0 p4,2.238941,cpuload_all_25_4096,2133000,1 p4,2.194531,cpuload_all_25_4096,2133000,1 p4,2.209629,cpuload_all_25_4096,2133000,1 p4,2.033201,cpuload_all_25_4096,1733000,1 p4,2.067730,cpuload_all_25_4096,1733000,1 p4,2.018656,cpuload_all_25_4096,1733000,1 p4,1.904688,cpuload_all_25_4096,1199000,1 p4,1.884682,cpuload_all_25_4096,1199000,1 p4,1.878086,cpuload_all_25_4096,1199000,1 p4,6.599051,cpuload_all_50_4096,2533000,0 p4,5.874602,cpuload_all_75_4096,2133000,0 p4,6.685640,cpuload_all_50_4096,2533000,0 p4,6.609408,cpuload_all_50_4096,2533000,0 p4,5.866031,cpuload_all_50_4096,2133000,0 p4,5.879013,cpuload_all_50_4096,2133000,0 p4,5.966071,cpuload_all_50_4096,2133000,0 p4,5.250968,cpuload_all_50_4096,1733000,0 p4,5.247550,cpuload_all_50_4096,1733000,0 p4,5.230454,cpuload_all_50_4096,1733000,0 p4,4.525040,cpuload_all_50_4096,1199000,0 p4,4.615787,cpuload_all_50_4096,1199000,0 p4,5.862601,cpuload_all_75_4096,2133000,0 p4,4.597765,cpuload_all_50_4096,1199000,0 p4,6.688124,cpuload_all_50_4096,2533000,1 p4,6.572303,cpuload_all_50_4096,2533000,1 p4,6.594694,cpuload_all_50_4096,2533000,1 p4,5.944620,cpuload_all_50_4096,2133000,1 p4,5.888751,cpuload_all_50_4096,2133000,1 p4,5.460685,cpuload_all_50_4096,2133000,1 p4,5.119579,cpuload_all_50_4096,1733000,1 p4,5.303873,cpuload_all_50_4096,1733000,1 p4,5.246359,cpuload_all_50_4096,1733000,1 p4,5.230852,cpuload_all_75_4096,1733000,0 p4,4.439065,cpuload_all_50_4096,1199000,1 p4,4.524205,cpuload_all_50_4096,1199000,1 p4,4.521480,cpuload_all_50_4096,1199000,1 p4,6.660235,cpuload_all_75_4096,2533000,0 p4,6.613620,cpuload_all_75_4096,2533000,0 p4,6.615021,cpuload_all_75_4096,2533000,0 p4,5.951866,cpuload_all_75_4096,2133000,0 p4,5.897661,cpuload_all_75_4096,2133000,0 p4,5.890890,cpuload_all_75_4096,2133000,0 p4,5.239591,cpuload_all_75_4096,1733000,0 p4,5.222925,cpuload_all_75_4096,1733000,0 p4,5.230087,cpuload_all_75_4096,1733000,0 p4,5.264021,cpuload_all_75_4096,1733000,0 p4,4.539350,cpuload_all_75_4096,1199000,0 p4,4.597250,cpuload_all_75_4096,1199000,0 p4,4.592302,cpuload_all_75_4096,1199000,0 p4,6.657050,cpuload_all_75_4096,2533000,1 p4,6.608593,cpuload_all_75_4096,2533000,1 p4,6.589705,cpuload_all_75_4096,2533000,1 p4,5.970487,cpuload_all_75_4096,2133000,1 p4,5.963732,cpuload_all_75_4096,2133000,1 p4,5.233527,cpuload_all_75_4096,1733000,0 p4,5.986981,cpuload_all_75_4096,2133000,1 p4,5.240839,cpuload_all_75_4096,1733000,1 p4,5.241298,cpuload_all_75_4096,1733000,1 p4,5.227058,cpuload_all_75_4096,1733000,1 p4,4.486046,cpuload_all_75_4096,1199000,1 p4,4.484821,cpuload_all_75_4096,1199000,1 p4,4.431895,cpuload_all_75_4096,1199000,1 p4,6.597231,cpuload_all_100_4096,2533000,0 p4,6.609993,cpuload_all_100_4096,2533000,0 p4,6.601006,cpuload_all_100_4096,2533000,0 p4,4.591511,cpuload_all_75_4096,1199000,0 p4,5.966430,cpuload_all_100_4096,2133000,0 p4,5.983693,cpuload_all_100_4096,2133000,0 p4,5.916718,cpuload_all_100_4096,2133000,0 p4,5.246492,cpuload_all_100_4096,1733000,0 p4,5.248191,cpuload_all_100_4096,1733000,0 p4,5.307003,cpuload_all_100_4096,1733000,0 p4,4.590994,cpuload_all_100_4096,1199000,0 p4,4.536484,cpuload_all_100_4096,1199000,0 p4,4.538079,cpuload_all_100_4096,1199000,0 p4,6.634716,cpuload_all_100_4096,2533000,1 p4,4.534676,cpuload_all_75_4096,1199000,0 p4,6.594756,cpuload_all_100_4096,2533000,1 p4,6.695946,cpuload_all_100_4096,2533000,1 p4,5.965722,cpuload_all_100_4096,2133000,1 p4,5.898505,cpuload_all_100_4096,2133000,1 p4,5.899597,cpuload_all_100_4096,2133000,1 p4,5.256713,cpuload_all_100_4096,1733000,1 p4,5.221800,cpuload_all_100_4096,1733000,1 p4,5.313920,cpuload_all_100_4096,1733000,1 p4,4.435176,cpuload_all_100_4096,1199000,1 p4,4.455610,cpuload_all_100_4096,1199000,1 p4,4.524149,cpuload_all_75_4096,1199000,0 p4,4.477733,cpuload_all_100_4096,1199000,1 p4,7.705558,gamess,2533000,0 p4,7.711456,gamess,2533000,0 p4,7.708992,gamess,2533000,0 p4,6.424804,gamess,2133000,0 p4,6.412227,gamess,2133000,0 p4,6.401775,gamess,2133000,0 p4,5.503469,gamess,1733000,0 p4,5.498539,gamess,1733000,0 p4,5.491509,gamess,1733000,0 p4,6.598161,cpuload_all_75_4096,2533000,1 p4,4.683663,gamess,1199000,0 p4,4.685089,gamess,1199000,0 p4,4.680040,gamess,1199000,0 p4,7.674841,gamess,2533000,1 p4,7.686107,gamess,2533000,1 p4,7.692780,gamess,2533000,1 p4,6.397773,gamess,2133000,1 p4,6.403800,gamess,2133000,1 p4,6.386173,gamess,2133000,1 p4,5.503062,gamess,1733000,1 p4,6.689500,cpuload_all_75_4096,2533000,1 p4,5.491068,gamess,1733000,1 p4,5.500438,gamess,1733000,1 p4,4.578927,gamess,1199000,1 p4,4.574569,gamess,1199000,1 p4,4.575693,gamess,1199000,1 p4,6.930200,gcc,2533000,0 p4,6.931366,gcc,2533000,0 p4,6.930682,gcc,2533000,0 p4,6.145499,gcc,2133000,0 p4,6.154074,gcc,2133000,0 p4,6.666035,cpuload_all_75_4096,2533000,1 p4,6.148623,gcc,2133000,0 p4,5.448819,gcc,1733000,0 p4,5.444084,gcc,1733000,0 p4,5.439584,gcc,1733000,0 p4,4.693243,gcc,1199000,0 p4,4.687519,gcc,1199000,0 p4,4.685505,gcc,1199000,0 p4,6.924107,gcc,2533000,1 p4,6.928827,gcc,2533000,1 p4,6.921525,gcc,2533000,1 p4,5.963828,cpuload_all_75_4096,2133000,1 p4,6.144690,gcc,2133000,1 p4,6.157861,gcc,2133000,1 p4,6.143241,gcc,2133000,1 p4,5.441326,gcc,1733000,1 p4,5.444358,gcc,1733000,1 p4,5.447174,gcc,1733000,1 p4,4.583025,gcc,1199000,1 p4,4.573928,gcc,1199000,1 p4,4.575393,gcc,1199000,1 p4,7.129289,gobmk,2533000,0 p4,5.963048,cpuload_all_75_4096,2133000,1 p4,7.073448,gobmk,2533000,0 p4,7.071459,gobmk,2533000,0 p4,6.145222,gobmk,2133000,0 p4,6.152819,gobmk,2133000,0 p4,6.190662,gobmk,2133000,0 p4,5.410582,gobmk,1733000,0 p4,5.406409,gobmk,1733000,0 p4,5.406122,gobmk,1733000,0 p4,4.660869,gobmk,1199000,0 p4,4.663285,gobmk,1199000,0 p4,5.958487,cpuload_all_75_4096,2133000,1 p4,4.642556,gobmk,1199000,0 p4,7.047116,gobmk,2533000,1 p4,7.052859,gobmk,2533000,1 p4,7.061293,gobmk,2533000,1 p4,6.148989,gobmk,2133000,1 p4,6.191047,gobmk,2133000,1 p4,6.179403,gobmk,2133000,1 p4,5.408122,gobmk,1733000,1 p4,5.412085,gobmk,1733000,1 p4,5.420199,gobmk,1733000,1 p4,5.236861,cpuload_all_75_4096,1733000,1 p4,4.552515,gobmk,1199000,1 p4,4.549051,gobmk,1199000,1 p4,4.540130,gobmk,1199000,1 p4,6.839372,gromacs,2533000,0 p4,6.856695,gromacs,2533000,0 p4,6.884049,gromacs,2533000,0 p4,6.084507,gromacs,2133000,0 p4,6.123298,gromacs,2133000,0 p4,6.098609,gromacs,2133000,0 p4,5.400739,gromacs,1733000,0 p4,5.306236,cpuload_all_75_4096,1733000,1 p4,5.396037,gromacs,1733000,0 p4,5.385639,gromacs,1733000,0 p4,4.664482,gromacs,1199000,0 p4,4.674318,gromacs,1199000,0 p4,4.672696,gromacs,1199000,0 p4,6.883636,gromacs,2533000,1 p4,6.877058,gromacs,2533000,1 p4,6.865657,gromacs,2533000,1 p4,6.083785,gromacs,2133000,1 p4,6.071637,gromacs,2133000,1 p4,5.234744,cpuload_all_75_4096,1733000,1 p4,6.085557,gromacs,2133000,1 p4,5.386110,gromacs,1733000,1 p4,5.398406,gromacs,1733000,1 p4,5.407215,gromacs,1733000,1 p4,4.559427,gromacs,1199000,1 p4,4.540895,gromacs,1199000,1 p4,4.551522,gromacs,1199000,1 p4,7.164183,h264ref,2533000,0 p4,7.151691,h264ref,2533000,0 p4,7.157507,h264ref,2533000,0 p4,4.506767,cpuload_all_75_4096,1199000,1 p4,6.158758,h264ref,2133000,0 p4,6.164041,h264ref,2133000,0 p4,6.178448,h264ref,2133000,0 p4,5.417896,h264ref,1733000,0 p4,5.421180,h264ref,1733000,0 p4,5.416980,h264ref,1733000,0 p4,4.651822,h264ref,1199000,0 p4,4.664005,h264ref,1199000,0 p4,4.675156,h264ref,1199000,0 p4,7.207207,h264ref,2533000,1 p4,4.512399,cpuload_all_75_4096,1199000,1 p4,7.212010,h264ref,2533000,1 p4,7.203701,h264ref,2533000,1 p4,6.171228,h264ref,2133000,1 p4,6.156816,h264ref,2133000,1 p4,6.171078,h264ref,2133000,1 p4,5.422386,h264ref,1733000,1 p4,5.415284,h264ref,1733000,1 p4,5.405191,h264ref,1733000,1 p4,4.549286,h264ref,1199000,1 p4,4.548440,h264ref,1199000,1 p4,4.490157,cpuload_all_75_4096,1199000,1 p4,4.539887,h264ref,1199000,1 p4,7.515162,hmmer,2533000,0 p4,7.534777,hmmer,2533000,0 p4,7.501657,hmmer,2533000,0 p4,6.231349,hmmer,2133000,0 p4,6.252248,hmmer,2133000,0 p4,6.330691,hmmer,2133000,0 p4,5.413985,hmmer,1733000,0 p4,5.412601,hmmer,1733000,0 p4,5.428064,hmmer,1733000,0 p4,6.592510,cpuload_all_100_4096,2533000,0 p4,4.640090,hmmer,1199000,0 p4,4.635453,hmmer,1199000,0 p4,4.632493,hmmer,1199000,0 p4,7.447664,hmmer,2533000,1 p4,7.499097,hmmer,2533000,1 p4,7.624722,hmmer,2533000,1 p4,6.220085,hmmer,2133000,1 p4,6.307870,hmmer,2133000,1 p4,6.255043,hmmer,2133000,1 p4,5.421419,hmmer,1733000,1 p4,6.559410,cpuload_all_100_4096,2533000,0 p4,5.400334,hmmer,1733000,1 p4,5.412523,hmmer,1733000,1 p4,4.521721,hmmer,1199000,1 p4,4.527306,hmmer,1199000,1 p4,4.527676,hmmer,1199000,1 p4,6.662329,lbm,2533000,0 p4,6.657328,lbm,2533000,0 p4,6.677425,lbm,2533000,0 p4,5.982179,lbm,2133000,0 p4,5.904572,lbm,2133000,0 p4,6.588996,cpuload_all_100_4096,2533000,0 p4,5.982689,lbm,2133000,0 p4,5.277693,lbm,1733000,0 p4,5.344655,lbm,1733000,0 p4,5.302597,lbm,1733000,0 p4,4.606143,lbm,1199000,0 p4,4.561289,lbm,1199000,0 p4,4.600083,lbm,1199000,0 p4,6.680719,lbm,2533000,1 p4,6.592958,lbm,2533000,1 p4,6.676645,lbm,2533000,1 p4,5.883665,cpuload_all_100_4096,2133000,0 p4,5.980107,lbm,2133000,1 p4,5.981221,lbm,2133000,1 p4,5.983100,lbm,2133000,1 p4,5.334358,lbm,1733000,1 p4,5.272987,lbm,1733000,1 p4,5.268794,lbm,1733000,1 p4,4.487684,lbm,1199000,1 p4,4.477500,lbm,1199000,1 p4,4.492329,lbm,1199000,1 p4,6.819065,leslie3d,2533000,0 p4,5.887403,cpuload_all_100_4096,2133000,0 p4,6.871520,leslie3d,2533000,0 p4,6.819366,leslie3d,2533000,0 p4,6.085486,leslie3d,2133000,0 p4,6.072129,leslie3d,2133000,0 p4,6.057514,leslie3d,2133000,0 p4,5.413945,leslie3d,1733000,0 p4,5.366333,leslie3d,1733000,0 p4,5.394497,leslie3d,1733000,0 p4,4.657168,leslie3d,1199000,0 p4,4.648740,leslie3d,1199000,0 p4,5.952470,cpuload_all_100_4096,2133000,0 p4,4.650025,leslie3d,1199000,0 p4,6.914132,leslie3d,2533000,1 p4,6.826340,leslie3d,2533000,1 p4,6.866761,leslie3d,2533000,1 p4,6.121810,leslie3d,2133000,1 p4,6.075459,leslie3d,2133000,1 p4,6.120293,leslie3d,2133000,1 p4,5.390113,leslie3d,1733000,1 p4,5.391596,leslie3d,1733000,1 p4,5.392118,leslie3d,1733000,1 p4,5.243321,cpuload_all_100_4096,1733000,0 p4,4.539608,leslie3d,1199000,1 p4,4.555802,leslie3d,1199000,1 p4,4.549601,leslie3d,1199000,1 p4,6.347532,mcf,2533000,0 p4,6.320587,mcf,2533000,0 p4,6.381535,mcf,2533000,0 p4,5.733896,mcf,2133000,0 p4,5.814806,mcf,2133000,0 p4,5.789955,mcf,2133000,0 p4,5.213671,mcf,1733000,0 p4,5.292760,cpuload_all_100_4096,1733000,0 p4,5.017477,mcf,1733000,0 p4,5.225602,mcf,1733000,0 p4,4.516799,mcf,1199000,0 p4,4.522627,mcf,1199000,0 p4,4.539838,mcf,1199000,0 p4,6.364918,mcf,2533000,1 p4,6.297074,mcf,2533000,1 p4,6.446405,mcf,2533000,1 p4,5.768581,mcf,2133000,1 p4,5.713690,mcf,2133000,1 p4,5.231802,cpuload_all_100_4096,1733000,0 p4,5.808753,mcf,2133000,1 p4,5.076463,mcf,1733000,1 p4,5.243132,mcf,1733000,1 p4,5.146095,mcf,1733000,1 p4,4.405154,mcf,1199000,1 p4,4.398807,mcf,1199000,1 p4,4.369572,mcf,1199000,1 p4,6.278526,milc,2533000,0 p4,6.283425,milc,2533000,0 p4,6.299458,milc,2533000,0 p4,4.583875,cpuload_all_100_4096,1199000,0 p4,5.679414,milc,2133000,0 p4,5.694951,milc,2133000,0 p4,5.682091,milc,2133000,0 p4,5.048611,milc,1733000,0 p4,5.060528,milc,1733000,0 p4,5.050799,milc,1733000,0 p4,4.482875,milc,1199000,0 p4,4.491892,milc,1199000,0 p4,4.355219,milc,1199000,0 p4,6.284047,milc,2533000,1 p4,4.532265,cpuload_all_100_4096,1199000,0 p4,6.279448,milc,2533000,1 p4,6.283909,milc,2533000,1 p4,5.695706,milc,2133000,1 p4,5.697207,milc,2133000,1 p4,5.672722,milc,2133000,1 p4,5.042464,milc,1733000,1 p4,5.044358,milc,1733000,1 p4,5.042400,milc,1733000,1 p4,4.353512,milc,1199000,1 p4,4.362203,milc,1199000,1 p4,4.591274,cpuload_all_100_4096,1199000,0 p4,4.276643,milc,1199000,1 p4,6.328070,namd,2533000,0 p4,6.328713,namd,2533000,0 p4,6.281396,namd,2533000,0 p4,5.604077,namd,2133000,0 p4,5.612117,namd,2133000,0 p4,5.597226,namd,2133000,0 p4,4.978129,namd,1733000,0 p4,5.126670,namd,1733000,0 p4,4.955994,namd,1733000,0 p4,6.616214,cpuload_all_100_4096,2533000,1 p4,4.447682,namd,1199000,0 p4,4.456403,namd,1199000,0 p4,4.459368,namd,1199000,0 p4,6.257101,namd,2533000,1 p4,6.289042,namd,2533000,1 p4,6.358662,namd,2533000,1 p4,5.434035,namd,2133000,1 p4,5.625104,namd,2133000,1 p4,5.615994,namd,2133000,1 p4,4.970061,namd,1733000,1 p4,6.677746,cpuload_all_100_4096,2533000,1 p4,4.944520,namd,1733000,1 p4,4.985106,namd,1733000,1 p4,4.345933,namd,1199000,1 p4,4.376777,namd,1199000,1 p4,4.354096,namd,1199000,1 p4,7.353179,omnetpp,2533000,0 p4,7.444547,omnetpp,2533000,0 p4,7.426832,omnetpp,2533000,0 p4,6.202114,omnetpp,2133000,0 p4,6.233553,omnetpp,2133000,0 p4,6.593944,cpuload_all_100_4096,2533000,1 p4,6.179165,omnetpp,2133000,0 p4,5.426341,omnetpp,1733000,0 p4,5.341965,omnetpp,1733000,0 p4,5.381215,omnetpp,1733000,0 p4,4.649222,omnetpp,1199000,0 p4,4.655228,omnetpp,1199000,0 p4,4.642003,omnetpp,1199000,0 p4,7.324473,omnetpp,2533000,1 p4,7.335337,omnetpp,2533000,1 p4,7.317964,omnetpp,2533000,1 p4,5.968076,cpuload_all_100_4096,2133000,1 p4,6.225114,omnetpp,2133000,1 p4,6.149469,omnetpp,2133000,1 p4,6.164959,omnetpp,2133000,1 p4,5.384409,omnetpp,1733000,1 p4,5.384483,omnetpp,1733000,1 p4,5.397740,omnetpp,1733000,1 p4,4.534558,omnetpp,1199000,1 p4,4.515205,omnetpp,1199000,1 p4,4.520829,omnetpp,1199000,1 p4,6.507843,povray,2533000,0 p4,5.918805,cpuload_all_100_4096,2133000,1 p4,6.216203,povray,2533000,0 p4,5.979234,povray,2533000,0 p4,5.161980,povray,2133000,0 p4,5.493625,povray,2133000,0 p4,5.508008,povray,2133000,0 p4,4.835562,povray,1733000,0 p4,4.770986,povray,1733000,0 p4,4.795074,povray,1733000,0 p4,4.393681,povray,1199000,0 p4,4.242010,povray,1199000,0 p4,5.961939,cpuload_all_100_4096,2133000,1 p4,4.419948,povray,1199000,0 p4,6.049657,povray,2533000,1 p4,6.123948,povray,2533000,1 p4,6.067450,povray,2533000,1 p4,5.135941,povray,2133000,1 p4,5.513549,povray,2133000,1 p4,5.546679,povray,2133000,1 p4,4.759201,povray,1733000,1 p4,4.791224,povray,1733000,1 p4,4.804410,povray,1733000,1 p4,5.246013,cpuload_all_100_4096,1733000,1 p4,4.155177,povray,1199000,1 p4,4.312688,povray,1199000,1 p4,4.144392,povray,1199000,1 p4,7.072196,sjeng,2533000,0 p4,7.083793,sjeng,2533000,0 p4,7.099202,sjeng,2533000,0 p4,6.157890,sjeng,2133000,0 p4,6.134015,sjeng,2133000,0 p4,6.160028,sjeng,2133000,0 p4,5.435968,sjeng,1733000,0 p4,5.234939,cpuload_all_100_4096,1733000,1 p4,5.419125,sjeng,1733000,0 p4,5.446379,sjeng,1733000,0 p4,4.661313,sjeng,1199000,0 p4,4.664976,sjeng,1199000,0 p4,4.663005,sjeng,1199000,0 p4,7.064882,sjeng,2533000,1 p4,7.061256,sjeng,2533000,1 p4,7.096101,sjeng,2533000,1 p4,6.153953,sjeng,2133000,1 p4,6.141476,sjeng,2133000,1 p4,5.230351,cpuload_all_100_4096,1733000,1 p4,6.161822,sjeng,2133000,1 p4,5.436706,sjeng,1733000,1 p4,5.410934,sjeng,1733000,1 p4,5.446584,sjeng,1733000,1 p4,4.559911,sjeng,1199000,1 p4,4.550878,sjeng,1199000,1 p4,4.562426,sjeng,1199000,1 p4,5.678277,soplex,2533000,0 p4,5.629431,soplex,2533000,0 p4,5.619230,soplex,2533000,0 p4,4.400576,cpuload_all_100_4096,1199000,1 p4,5.048126,soplex,2133000,0 p4,5.095932,soplex,2133000,0 p4,5.136258,soplex,2133000,0 p4,4.764171,soplex,1733000,0 p4,4.791074,soplex,1733000,0 p4,4.520010,soplex,1733000,0 p4,4.096222,soplex,1199000,0 p4,4.247911,soplex,1199000,0 p4,4.223378,soplex,1199000,0 p4,5.535761,soplex,2533000,1 p4,4.570072,cpuload_all_100_4096,1199000,1 p4,5.553541,soplex,2533000,1 p4,5.551742,soplex,2533000,1 p4,5.419561,soplex,2133000,1 p4,5.047315,soplex,2133000,1 p4,5.078560,soplex,2133000,1 p4,4.482598,soplex,1733000,1 p4,4.470727,soplex,1733000,1 p4,4.780665,soplex,1733000,1 p4,4.144298,soplex,1199000,1 p4,4.138032,soplex,1199000,1 p4,4.507222,cpuload_all_100_4096,1199000,1 p4,3.953183,soplex,1199000,1 p4,5.987617,sphinx3,2533000,0 p4,6.297827,sphinx3,2533000,0 p4,6.342201,sphinx3,2533000,0 p4,5.935232,sphinx3,2133000,0 p4,5.706360,sphinx3,2133000,0 p4,5.849637,sphinx3,2133000,0 p4,5.158341,sphinx3,1733000,0 p4,5.075216,sphinx3,1733000,0 p4,5.056603,sphinx3,1733000,0 p4,7.675165,gamess,2533000,0 p4,4.428349,sphinx3,1199000,0 p4,4.293275,sphinx3,1199000,0 p4,4.301521,sphinx3,1199000,0 p4,6.024217,sphinx3,2533000,1 p4,6.285107,sphinx3,2533000,1 p4,6.256052,sphinx3,2533000,1 p4,5.538870,sphinx3,2133000,1 p4,5.531720,sphinx3,2133000,1 p4,5.549406,sphinx3,2133000,1 p4,4.839155,sphinx3,1733000,1 p4,7.649106,gamess,2533000,0 p4,5.041027,sphinx3,1733000,1 p4,5.056404,sphinx3,1733000,1 p4,4.317517,sphinx3,1199000,1 p4,4.321876,sphinx3,1199000,1 p4,4.324503,sphinx3,1199000,1 p4,6.684187,zeusmp,2533000,0 p4,6.565585,zeusmp,2533000,0 p4,6.568193,zeusmp,2533000,0 p4,5.913677,zeusmp,2133000,0 p4,5.907794,zeusmp,2133000,0 p4,7.653330,gamess,2533000,0 p4,5.915095,zeusmp,2133000,0 p4,5.237411,zeusmp,1733000,0 p4,5.311893,zeusmp,1733000,0 p4,5.241093,zeusmp,1733000,0 p4,4.611422,zeusmp,1199000,0 p4,4.620500,zeusmp,1199000,0 p4,4.663002,zeusmp,1199000,0 p4,6.730363,zeusmp,2533000,1 p4,6.682489,zeusmp,2533000,1 p4,6.632157,zeusmp,2533000,1 p4,6.416054,gamess,2133000,0 p4,5.839733,zeusmp,2133000,1 p4,5.919078,zeusmp,2133000,1 p4,5.928586,zeusmp,2133000,1 p4,5.305804,zeusmp,1733000,1 p4,5.246087,zeusmp,1733000,1 p4,5.320630,zeusmp,1733000,1 p4,4.501698,zeusmp,1199000,1 p4,4.501916,zeusmp,1199000,1 p4,4.504342,zeusmp,1199000,1 p4,6.932227,bzip2,2533000,0 p4,6.381062,gamess,2133000,0 p4,7.040825,bzip2,2533000,0 p4,6.969417,bzip2,2533000,0 p4,6.071051,bzip2,2133000,0 p4,6.122154,bzip2,2133000,0 p4,6.088062,bzip2,2133000,0 p4,5.417383,bzip2,1733000,0 p4,5.416463,bzip2,1733000,0 p4,5.356387,bzip2,1733000,0 p4,4.619486,bzip2,1199000,0 p4,4.622874,bzip2,1199000,0 p4,6.382347,gamess,2133000,0 p4,4.613053,bzip2,1199000,0 p4,6.926196,bzip2,2533000,1 p4,6.935736,bzip2,2533000,1 p4,6.951268,bzip2,2533000,1 p4,6.057682,bzip2,2133000,1 p4,6.046977,bzip2,2133000,1 p4,5.977601,bzip2,2133000,1 p4,5.411342,bzip2,1733000,1 p4,5.409554,bzip2,1733000,1 p4,5.378340,bzip2,1733000,1 p4,5.487169,gamess,1733000,0 p4,4.550301,bzip2,1199000,1 p4,4.523131,bzip2,1199000,1 p4,4.572943,bzip2,1199000,1 p4,6.715955,cactusADM,2533000,0 p4,6.662211,cactusADM,2533000,0 p4,6.645398,cactusADM,2533000,0 p4,5.957361,cactusADM,2133000,0 p4,5.848739,cactusADM,2133000,0 p4,5.842896,cactusADM,2133000,0 p4,5.215291,cactusADM,1733000,0 p4,5.483802,gamess,1733000,0 p4,5.276300,cactusADM,1733000,0 p4,5.192915,cactusADM,1733000,0 p4,4.596675,cactusADM,1199000,0 p4,4.526724,cactusADM,1199000,0 p4,4.573403,cactusADM,1199000,0 p4,6.537054,cactusADM,2533000,1 p4,6.494996,cactusADM,2533000,1 p4,6.564629,cactusADM,2533000,1 p4,5.877824,cactusADM,2133000,1 p4,5.836525,cactusADM,2133000,1 p4,5.488043,gamess,1733000,0 p4,5.960100,cactusADM,2133000,1 p4,5.329269,cactusADM,1733000,1 p4,5.316056,cactusADM,1733000,1 p4,5.283248,cactusADM,1733000,1 p4,4.492271,cactusADM,1199000,1 p4,4.470310,cactusADM,1199000,1 p4,4.496498,cactusADM,1199000,1 p4,0.808382,cpuload_all_0_4096,2533000,0 p4,0.718475,cpuload_all_0_4096,2533000,0 p4,0.690418,cpuload_all_0_4096,2533000,0 p4,4.681696,gamess,1199000,0 p4,0.798335,cpuload_all_0_4096,2133000,0 p4,0.795754,cpuload_all_0_4096,2133000,0 p4,0.902695,cpuload_all_0_4096,2133000,0 p4,0.919984,cpuload_all_0_4096,1733000,0 p4,0.981480,cpuload_all_0_4096,1733000,0 p4,1.065947,cpuload_all_0_4096,1733000,0 p4,0.926084,cpuload_all_0_4096,1199000,0 p4,0.784465,cpuload_all_0_4096,1199000,0 p4,0.762855,cpuload_all_0_4096,1199000,0 p4,0.668710,cpuload_all_0_4096,2533000,1 p4,4.686200,gamess,1199000,0 p4,0.719888,cpuload_all_0_4096,2533000,1 p4,0.726355,cpuload_all_0_4096,2533000,1 p4,0.719248,cpuload_all_0_4096,2133000,1 p4,0.929334,cpuload_all_0_4096,2133000,1 p4,0.738890,cpuload_all_0_4096,2133000,1 p4,0.810881,cpuload_all_0_4096,1733000,1 p4,1.038396,cpuload_all_0_4096,1733000,1 p4,0.951603,cpuload_all_0_4096,1733000,1 p4,0.668930,cpuload_all_0_4096,1199000,1 p4,0.635359,cpuload_all_0_4096,1199000,1 p4,4.679015,gamess,1199000,0 p4,0.672245,cpuload_all_0_4096,1199000,1 p4,2.435383,cpuload_all_25_4096,2533000,0 p4,2.487107,cpuload_all_25_4096,2533000,0 p4,2.435483,cpuload_all_25_4096,2533000,0 p4,2.265002,cpuload_all_25_4096,2133000,0 p4,2.276173,cpuload_all_25_4096,2133000,0 p4,2.261395,cpuload_all_25_4096,2133000,0 p4,2.012549,cpuload_all_25_4096,1733000,0 p4,2.036047,cpuload_all_25_4096,1733000,0 p4,2.047333,cpuload_all_25_4096,1733000,0 p4,7.638675,gamess,2533000,1 p4,1.945207,cpuload_all_25_4096,1199000,0 p4,1.906675,cpuload_all_25_4096,1199000,0 p4,1.910328,cpuload_all_25_4096,1199000,0 p4,2.454366,cpuload_all_25_4096,2533000,1 p4,2.375762,cpuload_all_25_4096,2533000,1 p4,2.385910,cpuload_all_25_4096,2533000,1 p4,2.227628,cpuload_all_25_4096,2133000,1 p4,2.209548,cpuload_all_25_4096,2133000,1 p4,2.204832,cpuload_all_25_4096,2133000,1 p4,2.065747,cpuload_all_25_4096,1733000,1 p4,7.688758,gamess,2533000,1 p4,2.057361,cpuload_all_25_4096,1733000,1 p4,2.091303,cpuload_all_25_4096,1733000,1 p4,1.926715,cpuload_all_25_4096,1199000,1 p4,1.902055,cpuload_all_25_4096,1199000,1 p4,1.897971,cpuload_all_25_4096,1199000,1 p4,6.600410,cpuload_all_50_4096,2533000,0 p4,6.617251,cpuload_all_50_4096,2533000,0 p4,6.598405,cpuload_all_50_4096,2533000,0 p4,5.975870,cpuload_all_50_4096,2133000,0 p4,5.970302,cpuload_all_50_4096,2133000,0 p4,7.653580,gamess,2533000,1 p4,5.979304,cpuload_all_50_4096,2133000,0 p4,5.300876,cpuload_all_50_4096,1733000,0 p4,5.308435,cpuload_all_50_4096,1733000,0 p4,5.269754,cpuload_all_50_4096,1733000,0 p4,4.566415,cpuload_all_50_4096,1199000,0 p4,4.542570,cpuload_all_50_4096,1199000,0 p4,4.532158,cpuload_all_50_4096,1199000,0 p4,6.594934,cpuload_all_50_4096,2533000,1 p4,6.620903,cpuload_all_50_4096,2533000,1 p4,6.605435,cpuload_all_50_4096,2533000,1 p4,6.389662,gamess,2133000,1 p4,5.661220,cpuload_all_50_4096,2133000,1 p4,5.887239,cpuload_all_50_4096,2133000,1 p4,5.409570,cpuload_all_50_4096,2133000,1 p4,5.310061,cpuload_all_50_4096,1733000,1 p4,5.176166,cpuload_all_50_4096,1733000,1 p4,5.295793,cpuload_all_50_4096,1733000,1 p4,4.456051,cpuload_all_50_4096,1199000,1 p4,4.481859,cpuload_all_50_4096,1199000,1 p4,4.443863,cpuload_all_50_4096,1199000,1 p4,6.630145,cpuload_all_75_4096,2533000,0 p4,6.379528,gamess,2133000,1 p4,6.614971,cpuload_all_75_4096,2533000,0 p4,6.605332,cpuload_all_75_4096,2533000,0 p4,5.882117,cpuload_all_75_4096,2133000,0 p4,5.890066,cpuload_all_75_4096,2133000,0 p4,5.890799,cpuload_all_75_4096,2133000,0 p4,5.300221,cpuload_all_75_4096,1733000,0 p4,5.304513,cpuload_all_75_4096,1733000,0 p4,5.264865,cpuload_all_75_4096,1733000,0 p4,4.570026,cpuload_all_75_4096,1199000,0 p4,4.539009,cpuload_all_75_4096,1199000,0 p4,6.415182,gamess,2133000,1 p4,4.537371,cpuload_all_75_4096,1199000,0 p4,6.586238,cpuload_all_75_4096,2533000,1 p4,6.577694,cpuload_all_75_4096,2533000,1 p4,6.582277,cpuload_all_75_4096,2533000,1 p4,5.953071,cpuload_all_75_4096,2133000,1 p4,5.954111,cpuload_all_75_4096,2133000,1 p4,5.939314,cpuload_all_75_4096,2133000,1 p4,5.236452,cpuload_all_75_4096,1733000,1 p4,5.237012,cpuload_all_75_4096,1733000,1 p4,5.225164,cpuload_all_75_4096,1733000,1 p4,5.482383,gamess,1733000,1 p4,4.424184,cpuload_all_75_4096,1199000,1 p4,4.435193,cpuload_all_75_4096,1199000,1 p4,4.479426,cpuload_all_75_4096,1199000,1 p4,6.615388,cpuload_all_100_4096,2533000,0 p4,6.662647,cpuload_all_100_4096,2533000,0 p4,6.605566,cpuload_all_100_4096,2533000,0 p4,5.913816,cpuload_all_100_4096,2133000,0 p4,5.933984,cpuload_all_100_4096,2133000,0 p4,5.993996,cpuload_all_100_4096,2133000,0 p4,5.239529,cpuload_all_100_4096,1733000,0 p4,5.488363,gamess,1733000,1 p4,5.264930,cpuload_all_100_4096,1733000,0 p4,5.255482,cpuload_all_100_4096,1733000,0 p4,4.527757,cpuload_all_100_4096,1199000,0 p4,4.550100,cpuload_all_100_4096,1199000,0 p4,4.539981,cpuload_all_100_4096,1199000,0 p4,6.632827,cpuload_all_100_4096,2533000,1 p4,6.596363,cpuload_all_100_4096,2533000,1 p4,6.768894,cpuload_all_100_4096,2533000,1 p4,5.967261,cpuload_all_100_4096,2133000,1 p4,5.978302,cpuload_all_100_4096,2133000,1 p4,5.484171,gamess,1733000,1 p4,5.980969,cpuload_all_100_4096,2133000,1 p4,5.242790,cpuload_all_100_4096,1733000,1 p4,5.249081,cpuload_all_100_4096,1733000,1 p4,5.250843,cpuload_all_100_4096,1733000,1 p4,4.432119,cpuload_all_100_4096,1199000,1 p4,4.440403,cpuload_all_100_4096,1199000,1 p4,4.444903,cpuload_all_100_4096,1199000,1 p4,7.651033,gamess,2533000,0 p4,7.677123,gamess,2533000,0 p4,7.693445,gamess,2533000,0 p4,4.575291,gamess,1199000,1 p4,6.437191,gamess,2133000,0 p4,6.415197,gamess,2133000,0 p4,6.412940,gamess,2133000,0 p4,5.523194,gamess,1733000,0 p4,5.491976,gamess,1733000,0 p4,5.495048,gamess,1733000,0 p4,4.692436,gamess,1199000,0 p4,4.683715,gamess,1199000,0 p4,4.688339,gamess,1199000,0 p4,7.686117,gamess,2533000,1 p4,4.574260,gamess,1199000,1 p4,7.717528,gamess,2533000,1 p4,7.670270,gamess,2533000,1 p4,6.429282,gamess,2133000,1 p4,6.394869,gamess,2133000,1 p4,6.404158,gamess,2133000,1 p4,5.506846,gamess,1733000,1 p4,5.500316,gamess,1733000,1 p4,5.497283,gamess,1733000,1 p4,4.574190,gamess,1199000,1 p4,4.575323,gamess,1199000,1 p4,4.575546,gamess,1199000,1 p4,4.585933,gamess,1199000,1 p4,6.933687,gcc,2533000,0 p4,6.937632,gcc,2533000,0 p4,6.924873,gcc,2533000,0 p4,6.158107,gcc,2133000,0 p4,6.154083,gcc,2133000,0 p4,6.146031,gcc,2133000,0 p4,5.444952,gcc,1733000,0 p4,5.446853,gcc,1733000,0 p4,5.448285,gcc,1733000,0 p4,6.900179,gcc,2533000,0 p4,4.692633,gcc,1199000,0 p4,4.693513,gcc,1199000,0 p4,4.693861,gcc,1199000,0 p4,6.919854,gcc,2533000,1 p4,6.933586,gcc,2533000,1 p4,6.928654,gcc,2533000,1 p4,6.149654,gcc,2133000,1 p4,6.156643,gcc,2133000,1 p4,6.150389,gcc,2133000,1 p4,5.450176,gcc,1733000,1 p4,6.915304,gcc,2533000,0 p4,5.450391,gcc,1733000,1 p4,5.450106,gcc,1733000,1 p4,4.576881,gcc,1199000,1 p4,4.577246,gcc,1199000,1 p4,4.580686,gcc,1199000,1 p4,7.108439,gobmk,2533000,0 p4,7.098793,gobmk,2533000,0 p4,7.109801,gobmk,2533000,0 p4,6.174264,gobmk,2133000,0 p4,6.163120,gobmk,2133000,0 p4,6.904334,gcc,2533000,0 p4,6.163558,gobmk,2133000,0 p4,5.452096,gobmk,1733000,0 p4,5.431492,gobmk,1733000,0 p4,5.437890,gobmk,1733000,0 p4,4.667478,gobmk,1199000,0 p4,4.673065,gobmk,1199000,0 p4,4.667444,gobmk,1199000,0 p4,7.068906,gobmk,2533000,1 p4,7.050989,gobmk,2533000,1 p4,7.106049,gobmk,2533000,1 p4,6.136102,gcc,2133000,0 p4,6.146737,gobmk,2133000,1 p4,6.160695,gobmk,2133000,1 p4,6.153433,gobmk,2133000,1 p4,5.420574,gobmk,1733000,1 p4,5.417749,gobmk,1733000,1 p4,5.433114,gobmk,1733000,1 p4,4.559952,gobmk,1199000,1 p4,4.570694,gobmk,1199000,1 p4,4.556823,gobmk,1199000,1 p4,6.876225,gromacs,2533000,0 p4,6.143429,gcc,2133000,0 p4,6.888071,gromacs,2533000,0 p4,6.875610,gromacs,2533000,0 p4,6.120187,gromacs,2133000,0 p4,6.115914,gromacs,2133000,0 p4,6.108161,gromacs,2133000,0 p4,5.407081,gromacs,1733000,0 p4,5.417466,gromacs,1733000,0 p4,5.412190,gromacs,1733000,0 p4,4.678179,gromacs,1199000,0 p4,4.665698,gromacs,1199000,0 p4,6.152260,gcc,2133000,0 p4,4.679363,gromacs,1199000,0 p4,6.858111,gromacs,2533000,1 p4,6.882665,gromacs,2533000,1 p4,6.896874,gromacs,2533000,1 p4,6.092226,gromacs,2133000,1 p4,6.092612,gromacs,2133000,1 p4,6.099953,gromacs,2133000,1 p4,5.409149,gromacs,1733000,1 p4,5.419310,gromacs,1733000,1 p4,5.422466,gromacs,1733000,1 p4,5.436888,gcc,1733000,0 p4,4.560824,gromacs,1199000,1 p4,4.565534,gromacs,1199000,1 p4,4.566869,gromacs,1199000,1 p4,7.186179,h264ref,2533000,0 p4,7.203286,h264ref,2533000,0 p4,7.173723,h264ref,2533000,0 p4,6.210697,h264ref,2133000,0 p4,6.231780,h264ref,2133000,0 p4,6.191562,h264ref,2133000,0 p4,5.434073,h264ref,1733000,0 p4,5.444360,gcc,1733000,0 p4,5.420042,h264ref,1733000,0 p4,5.446474,h264ref,1733000,0 p4,4.674702,h264ref,1199000,0 p4,4.664659,h264ref,1199000,0 p4,4.671584,h264ref,1199000,0 p4,7.163435,h264ref,2533000,1 p4,7.209862,h264ref,2533000,1 p4,7.176689,h264ref,2533000,1 p4,6.182780,h264ref,2133000,1 p4,6.194609,h264ref,2133000,1 p4,5.440626,gcc,1733000,0 p4,6.210331,h264ref,2133000,1 p4,5.439708,h264ref,1733000,1 p4,5.442332,h264ref,1733000,1 p4,5.441445,h264ref,1733000,1 p4,4.547316,h264ref,1199000,1 p4,4.553666,h264ref,1199000,1 p4,4.558720,h264ref,1199000,1 p4,7.546996,hmmer,2533000,0 p4,7.540406,hmmer,2533000,0 p4,7.498898,hmmer,2533000,0 p4,4.699142,gcc,1199000,0 p4,6.234446,hmmer,2133000,0 p4,6.264932,hmmer,2133000,0 p4,6.275279,hmmer,2133000,0 p4,5.408042,hmmer,1733000,0 p4,5.401333,hmmer,1733000,0 p4,5.406924,hmmer,1733000,0 p4,4.655359,hmmer,1199000,0 p4,4.636597,hmmer,1199000,0 p4,4.645435,hmmer,1199000,0 p4,7.460590,hmmer,2533000,1 p4,4.697355,gcc,1199000,0 p4,7.440109,hmmer,2533000,1 p4,7.470484,hmmer,2533000,1 p4,6.252856,hmmer,2133000,1 p4,6.229130,hmmer,2133000,1 p4,6.218684,hmmer,2133000,1 p4,5.420309,hmmer,1733000,1 p4,5.397467,hmmer,1733000,1 p4,5.413232,hmmer,1733000,1 p4,4.643107,hmmer,1199000,1 p4,4.629884,hmmer,1199000,1 p4,4.693183,gcc,1199000,0 p4,4.619102,hmmer,1199000,1 p4,6.649203,lbm,2533000,0 p4,6.667623,lbm,2533000,0 p4,6.694410,lbm,2533000,0 p4,5.958123,lbm,2133000,0 p4,5.948485,lbm,2133000,0 p4,5.962019,lbm,2133000,0 p4,5.273506,lbm,1733000,0 p4,5.250581,lbm,1733000,0 p4,5.329853,lbm,1733000,0 p4,6.933539,gcc,2533000,1 p4,4.589989,lbm,1199000,0 p4,4.590018,lbm,1199000,0 p4,4.612087,lbm,1199000,0 p4,6.640264,lbm,2533000,1 p4,6.664383,lbm,2533000,1 p4,6.667295,lbm,2533000,1 p4,5.979707,lbm,2133000,1 p4,6.011726,lbm,2133000,1 p4,5.951827,lbm,2133000,1 p4,5.321710,lbm,1733000,1 p4,6.922470,gcc,2533000,1 p4,5.279322,lbm,1733000,1 p4,5.274505,lbm,1733000,1 p4,4.601808,lbm,1199000,1 p4,4.617246,lbm,1199000,1 p4,4.586092,lbm,1199000,1 p4,6.846004,leslie3d,2533000,0 p4,6.835155,leslie3d,2533000,0 p4,6.818855,leslie3d,2533000,0 p4,6.031932,leslie3d,2133000,0 p4,6.088218,leslie3d,2133000,0 p4,6.915420,gcc,2533000,1 p4,6.089241,leslie3d,2133000,0 p4,5.391464,leslie3d,1733000,0 p4,5.378344,leslie3d,1733000,0 p4,5.374468,leslie3d,1733000,0 p4,4.649222,leslie3d,1199000,0 p4,4.652356,leslie3d,1199000,0 p4,4.657157,leslie3d,1199000,0 p4,6.844218,leslie3d,2533000,1 p4,6.840421,leslie3d,2533000,1 p4,6.853872,leslie3d,2533000,1 p4,6.148004,gcc,2133000,1 p4,6.085356,leslie3d,2133000,1 p4,6.051818,leslie3d,2133000,1 p4,6.070401,leslie3d,2133000,1 p4,5.366448,leslie3d,1733000,1 p4,5.351370,leslie3d,1733000,1 p4,5.374671,leslie3d,1733000,1 p4,4.646351,leslie3d,1199000,1 p4,4.643123,leslie3d,1199000,1 p4,4.643900,leslie3d,1199000,1 p4,6.275310,mcf,2533000,0 p4,6.138068,gcc,2133000,1 p4,6.517668,mcf,2533000,0 p4,6.386587,mcf,2533000,0 p4,5.808581,mcf,2133000,0 p4,5.856280,mcf,2133000,0 p4,5.803464,mcf,2133000,0 p4,5.166066,mcf,1733000,0 p4,5.156548,mcf,1733000,0 p4,5.130370,mcf,1733000,0 p4,4.496511,mcf,1199000,0 p4,4.519401,mcf,1199000,0 p4,6.131237,gcc,2133000,1 p4,4.415283,mcf,1199000,0 p4,6.347916,mcf,2533000,1 p4,6.477164,mcf,2533000,1 p4,6.491654,mcf,2533000,1 p4,5.823900,mcf,2133000,1 p4,5.794994,mcf,2133000,1 p4,5.686443,mcf,2133000,1 p4,5.097893,mcf,1733000,1 p4,5.105608,mcf,1733000,1 p4,5.181628,mcf,1733000,1 p4,5.433977,gcc,1733000,1 p4,4.482938,mcf,1199000,1 p4,4.526396,mcf,1199000,1 p4,4.538470,mcf,1199000,1 p4,6.330962,milc,2533000,0 p4,6.356455,milc,2533000,0 p4,6.234789,milc,2533000,0 p4,5.654394,milc,2133000,0 p4,5.675061,milc,2133000,0 p4,5.775766,milc,2133000,0 p4,5.150441,milc,1733000,0 p4,5.427914,gcc,1733000,1 p4,5.117653,milc,1733000,0 p4,5.107709,milc,1733000,0 p4,4.457532,milc,1199000,0 p4,4.381596,milc,1199000,0 p4,4.445456,milc,1199000,0 p4,6.464946,milc,2533000,1 p4,6.242834,milc,2533000,1 p4,6.244333,milc,2533000,1 p4,5.644220,milc,2133000,1 p4,5.703363,milc,2133000,1 p4,5.428239,gcc,1733000,1 p4,5.719158,milc,2133000,1 p4,5.147139,milc,1733000,1 p4,5.111335,milc,1733000,1 p4,5.108159,milc,1733000,1 p4,4.440487,milc,1199000,1 p4,4.467720,milc,1199000,1 p4,4.436064,milc,1199000,1 p4,6.319860,namd,2533000,0 p4,6.227753,namd,2533000,0 p4,6.157382,namd,2533000,0 p4,4.688173,gcc,1199000,1 p4,5.585294,namd,2133000,0 p4,5.507277,namd,2133000,0 p4,5.608260,namd,2133000,0 p4,5.025922,namd,1733000,0 p4,4.977062,namd,1733000,0 p4,5.078939,namd,1733000,0 p4,4.475552,namd,1199000,0 p4,4.493037,namd,1199000,0 p4,4.450997,namd,1199000,0 p4,6.229536,namd,2533000,1 p4,4.690889,gcc,1199000,1 p4,6.323169,namd,2533000,1 p4,6.322738,namd,2533000,1 p4,5.373170,namd,2133000,1 p4,5.547226,namd,2133000,1 p4,5.591829,namd,2133000,1 p4,5.077059,namd,1733000,1 p4,5.020025,namd,1733000,1 p4,5.044377,namd,1733000,1 p4,4.501393,namd,1199000,1 p4,4.435284,namd,1199000,1 p4,4.692872,gcc,1199000,1 p4,4.459241,namd,1199000,1 p4,7.359229,omnetpp,2533000,0 p4,7.337800,omnetpp,2533000,0 p4,7.284838,omnetpp,2533000,0 p4,6.142880,omnetpp,2133000,0 p4,6.190595,omnetpp,2133000,0 p4,6.142180,omnetpp,2133000,0 p4,5.355007,omnetpp,1733000,0 p4,5.391426,omnetpp,1733000,0 p4,5.371661,omnetpp,1733000,0 p4,7.013496,gobmk,2533000,0 p4,4.626523,omnetpp,1199000,0 p4,4.626970,omnetpp,1199000,0 p4,4.644856,omnetpp,1199000,0 p4,7.254007,omnetpp,2533000,1 p4,7.316138,omnetpp,2533000,1 p4,7.202869,omnetpp,2533000,1 p4,6.171895,omnetpp,2133000,1 p4,6.160583,omnetpp,2133000,1 p4,6.178671,omnetpp,2133000,1 p4,5.347982,omnetpp,1733000,1 p4,7.007518,gobmk,2533000,0 p4,5.354659,omnetpp,1733000,1 p4,5.385090,omnetpp,1733000,1 p4,4.634941,omnetpp,1199000,1 p4,4.612512,omnetpp,1199000,1 p4,4.602267,omnetpp,1199000,1 p4,6.143612,povray,2533000,0 p4,6.290370,povray,2533000,0 p4,6.412159,povray,2533000,0 p4,5.162250,povray,2133000,0 p4,5.190802,povray,2133000,0 p4,6.998986,gobmk,2533000,0 p4,5.452812,povray,2133000,0 p4,4.756379,povray,1733000,0 p4,4.913973,povray,1733000,0 p4,4.742383,povray,1733000,0 p4,4.208942,povray,1199000,0 p4,4.290439,povray,1199000,0 p4,4.375428,povray,1199000,0 p4,5.989684,povray,2533000,1 p4,6.134598,povray,2533000,1 p4,6.102097,povray,2533000,1 p4,6.104343,gobmk,2133000,0 p4,5.451367,povray,2133000,1 p4,5.376807,povray,2133000,1 p4,5.293506,povray,2133000,1 p4,4.824520,povray,1733000,1 p4,4.732097,povray,1733000,1 p4,4.766324,povray,1733000,1 p4,4.392495,povray,1199000,1 p4,4.214679,povray,1199000,1 p4,4.295827,povray,1199000,1 p4,6.987937,sjeng,2533000,0 p4,6.089806,gobmk,2133000,0 p4,7.009017,sjeng,2533000,0 p4,6.992120,sjeng,2533000,0 p4,6.142251,sjeng,2133000,0 p4,6.111843,sjeng,2133000,0 p4,6.118720,sjeng,2133000,0 p4,5.401430,sjeng,1733000,0 p4,5.395206,sjeng,1733000,0 p4,5.398712,sjeng,1733000,0 p4,4.645833,sjeng,1199000,0 p4,4.650018,sjeng,1199000,0 p4,6.130915,gobmk,2133000,0 p4,4.649399,sjeng,1199000,0 p4,7.023184,sjeng,2533000,1 p4,7.014124,sjeng,2533000,1 p4,7.017467,sjeng,2533000,1 p4,6.109512,sjeng,2133000,1 p4,6.089261,sjeng,2133000,1 p4,6.123548,sjeng,2133000,1 p4,5.404254,sjeng,1733000,1 p4,5.407768,sjeng,1733000,1 p4,5.399689,sjeng,1733000,1 p4,5.403693,gobmk,1733000,0 p4,4.651387,sjeng,1199000,1 p4,4.646490,sjeng,1199000,1 p4,4.654394,sjeng,1199000,1 p4,5.620064,soplex,2533000,0 p4,5.753549,soplex,2533000,0 p4,5.500358,soplex,2533000,0 p4,5.105691,soplex,2133000,0 p4,5.287307,soplex,2133000,0 p4,5.405788,soplex,2133000,0 p4,4.726458,soplex,1733000,0 p4,5.399249,gobmk,1733000,0 p4,4.719132,soplex,1733000,0 p4,4.722461,soplex,1733000,0 p4,4.234512,soplex,1199000,0 p4,4.179534,soplex,1199000,0 p4,4.197320,soplex,1199000,0 p4,5.549143,soplex,2533000,1 p4,5.677046,soplex,2533000,1 p4,5.974386,soplex,2533000,1 p4,5.034889,soplex,2133000,1 p4,5.536539,soplex,2133000,1 p4,5.406135,gobmk,1733000,0 p4,5.030574,soplex,2133000,1 p4,4.885119,soplex,1733000,1 p4,4.498565,soplex,1733000,1 p4,4.621003,soplex,1733000,1 p4,4.210216,soplex,1199000,1 p4,4.094165,soplex,1199000,1 p4,4.107388,soplex,1199000,1 p4,6.239112,sphinx3,2533000,0 p4,6.240338,sphinx3,2533000,0 p4,6.258944,sphinx3,2533000,0 p4,4.653891,gobmk,1199000,0 p4,5.552842,sphinx3,2133000,0 p4,5.509548,sphinx3,2133000,0 p4,5.478621,sphinx3,2133000,0 p4,5.016167,sphinx3,1733000,0 p4,4.999557,sphinx3,1733000,0 p4,4.918292,sphinx3,1733000,0 p4,4.399479,sphinx3,1199000,0 p4,4.408232,sphinx3,1199000,0 p4,4.366888,sphinx3,1199000,0 p4,6.294740,sphinx3,2533000,1 p4,4.664038,gobmk,1199000,0 p4,6.285698,sphinx3,2533000,1 p4,6.280789,sphinx3,2533000,1 p4,5.587876,sphinx3,2133000,1 p4,5.784171,sphinx3,2133000,1 p4,5.507704,sphinx3,2133000,1 p4,5.019866,sphinx3,1733000,1 p4,5.017587,sphinx3,1733000,1 p4,4.892398,sphinx3,1733000,1 p4,4.397146,sphinx3,1199000,1 p4,4.399639,sphinx3,1199000,1 p4,4.666198,gobmk,1199000,0 p4,4.406431,sphinx3,1199000,1 p4,6.552706,zeusmp,2533000,0 p4,6.569833,zeusmp,2533000,0 p4,6.549605,zeusmp,2533000,0 p4,5.924571,zeusmp,2133000,0 p4,5.884883,zeusmp,2133000,0 p4,5.885512,zeusmp,2133000,0 p4,5.216260,zeusmp,1733000,0 p4,5.278384,zeusmp,1733000,0 p4,5.257629,zeusmp,1733000,0 p4,7.002873,gobmk,2533000,1 p4,4.594212,zeusmp,1199000,0 p4,4.587678,zeusmp,1199000,0 p4,4.556410,zeusmp,1199000,0 p4,6.695661,zeusmp,2533000,1 p4,6.709691,zeusmp,2533000,1 p4,6.563993,zeusmp,2533000,1 p4,5.807331,zeusmp,2133000,1 p4,5.905986,zeusmp,2133000,1 p4,5.875103,zeusmp,2133000,1 p4,5.221399,zeusmp,1733000,1 p4,7.076152,gobmk,2533000,1 p4,5.215035,zeusmp,1733000,1 p4,5.277314,zeusmp,1733000,1 p4,4.559281,zeusmp,1199000,1 p4,4.593211,zeusmp,1199000,1 p4,4.576547,zeusmp,1199000,1 p4,6.992435,gobmk,2533000,1 p4,6.147417,gobmk,2133000,1 p4,6.121738,gobmk,2133000,1 p4,6.157160,gobmk,2133000,1 p4,5.397982,gobmk,1733000,1 p4,5.389899,gobmk,1733000,1 p4,5.401368,gobmk,1733000,1 p4,4.666569,gobmk,1199000,1 p4,4.667062,gobmk,1199000,1 p4,4.662939,gobmk,1199000,1 p4,6.819308,gromacs,2533000,0 p4,6.809796,gromacs,2533000,0 p4,6.808015,gromacs,2533000,0 p4,6.071959,gromacs,2133000,0 p4,6.060646,gromacs,2133000,0 p4,6.079989,gromacs,2133000,0 p4,5.382826,gromacs,1733000,0 p4,5.395780,gromacs,1733000,0 p4,5.380147,gromacs,1733000,0 p4,4.663168,gromacs,1199000,0 p4,4.670317,gromacs,1199000,0 p4,4.667410,gromacs,1199000,0 p4,6.841713,gromacs,2533000,1 p4,6.861876,gromacs,2533000,1 p4,6.856688,gromacs,2533000,1 p4,6.078903,gromacs,2133000,1 p4,6.074668,gromacs,2133000,1 p4,6.108060,gromacs,2133000,1 p4,5.381230,gromacs,1733000,1 p4,5.376343,gromacs,1733000,1 p4,5.394199,gromacs,1733000,1 p4,4.671987,gromacs,1199000,1 p4,4.667653,gromacs,1199000,1 p4,4.662976,gromacs,1199000,1 p4,7.086537,h264ref,2533000,0 p4,7.097331,h264ref,2533000,0 p4,7.074704,h264ref,2533000,0 p4,6.175719,h264ref,2133000,0 p4,6.147902,h264ref,2133000,0 p4,6.137571,h264ref,2133000,0 p4,5.405588,h264ref,1733000,0 p4,5.407606,h264ref,1733000,0 p4,5.398612,h264ref,1733000,0 p4,4.654670,h264ref,1199000,0 p4,4.654093,h264ref,1199000,0 p4,4.650539,h264ref,1199000,0 p4,7.118876,h264ref,2533000,1 p4,7.119999,h264ref,2533000,1 p4,7.101815,h264ref,2533000,1 p4,6.157611,h264ref,2133000,1 p4,6.162167,h264ref,2133000,1 p4,6.107630,h264ref,2133000,1 p4,5.410542,h264ref,1733000,1 p4,5.369027,h264ref,1733000,1 p4,5.402499,h264ref,1733000,1 p4,4.645372,h264ref,1199000,1 p4,4.658246,h264ref,1199000,1 p4,4.643242,h264ref,1199000,1 p4,7.399208,hmmer,2533000,0 p4,7.399640,hmmer,2533000,0 p4,7.386222,hmmer,2533000,0 p4,6.165540,hmmer,2133000,0 p4,6.244964,hmmer,2133000,0 p4,6.163156,hmmer,2133000,0 p4,5.393035,hmmer,1733000,0 p4,5.395934,hmmer,1733000,0 p4,5.383661,hmmer,1733000,0 p4,4.621726,hmmer,1199000,0 p4,4.620317,hmmer,1199000,0 p4,4.621437,hmmer,1199000,0 p4,7.484595,hmmer,2533000,1 p4,7.430324,hmmer,2533000,1 p4,7.482318,hmmer,2533000,1 p4,6.243912,hmmer,2133000,1 p4,6.168945,hmmer,2133000,1 p4,6.158426,hmmer,2133000,1 p4,5.386870,hmmer,1733000,1 p4,5.377995,hmmer,1733000,1 p4,5.338694,hmmer,1733000,1 p4,4.626727,hmmer,1199000,1 p4,4.621525,hmmer,1199000,1 p4,4.625695,hmmer,1199000,1 p4,6.529758,lbm,2533000,0 p4,6.537524,lbm,2533000,0 p4,6.543020,lbm,2533000,0 p4,5.952794,lbm,2133000,0 p4,5.955896,lbm,2133000,0 p4,5.986342,lbm,2133000,0 p4,5.268013,lbm,1733000,0 p4,5.268836,lbm,1733000,0 p4,5.323842,lbm,1733000,0 p4,4.554399,lbm,1199000,0 p4,4.589218,lbm,1199000,0 p4,4.598807,lbm,1199000,0 p4,6.573668,lbm,2533000,1 p4,6.665585,lbm,2533000,1 p4,6.649121,lbm,2533000,1 p4,5.952892,lbm,2133000,1 p4,5.997274,lbm,2133000,1 p4,5.889475,lbm,2133000,1 p4,5.266441,lbm,1733000,1 p4,5.260061,lbm,1733000,1 p4,5.284690,lbm,1733000,1 p4,4.603574,lbm,1199000,1 p4,4.601115,lbm,1199000,1 p4,4.597724,lbm,1199000,1 p4,6.790418,leslie3d,2533000,0 p4,6.780848,leslie3d,2533000,0 p4,6.843780,leslie3d,2533000,0 p4,6.054554,leslie3d,2133000,0 p4,6.046001,leslie3d,2133000,0 p4,6.024416,leslie3d,2133000,0 p4,5.364315,leslie3d,1733000,0 p4,5.369654,leslie3d,1733000,0 p4,5.358593,leslie3d,1733000,0 p4,4.655589,leslie3d,1199000,0 p4,4.664981,leslie3d,1199000,0 p4,4.639648,leslie3d,1199000,0 p4,6.828770,leslie3d,2533000,1 p4,6.833864,leslie3d,2533000,1 p4,6.838416,leslie3d,2533000,1 p4,6.050987,leslie3d,2133000,1 p4,6.060997,leslie3d,2133000,1 p4,6.102686,leslie3d,2133000,1 p4,5.357352,leslie3d,1733000,1 p4,5.390714,leslie3d,1733000,1 p4,5.352539,leslie3d,1733000,1 p4,4.646203,leslie3d,1199000,1 p4,4.649935,leslie3d,1199000,1 p4,4.661957,leslie3d,1199000,1 p4,6.312232,mcf,2533000,0 p4,6.313017,mcf,2533000,0 p4,6.371204,mcf,2533000,0 p4,5.779688,mcf,2133000,0 p4,5.739292,mcf,2133000,0 p4,5.677009,mcf,2133000,0 p4,5.054118,mcf,1733000,0 p4,5.100515,mcf,1733000,0 p4,5.220156,mcf,1733000,0 p4,4.514913,mcf,1199000,0 p4,4.505061,mcf,1199000,0 p4,4.495709,mcf,1199000,0 p4,6.273281,mcf,2533000,1 p4,6.403572,mcf,2533000,1 p4,6.517576,mcf,2533000,1 p4,5.557742,mcf,2133000,1 p4,5.644869,mcf,2133000,1 p4,5.860206,mcf,2133000,1 p4,5.121283,mcf,1733000,1 p4,5.024103,mcf,1733000,1 p4,5.081835,mcf,1733000,1 p4,4.483491,mcf,1199000,1 p4,4.525015,mcf,1199000,1 p4,4.531160,mcf,1199000,1 p4,6.261496,milc,2533000,0 p4,6.308658,milc,2533000,0 p4,6.259977,milc,2533000,0 p4,5.667672,milc,2133000,0 p4,5.669276,milc,2133000,0 p4,5.663578,milc,2133000,0 p4,5.040135,milc,1733000,0 p4,5.034666,milc,1733000,0 p4,5.048340,milc,1733000,0 p4,4.360899,milc,1199000,0 p4,4.356079,milc,1199000,0 p4,4.465243,milc,1199000,0 p4,6.303023,milc,2533000,1 p4,6.283525,milc,2533000,1 p4,6.353766,milc,2533000,1 p4,5.659169,milc,2133000,1 p4,5.710889,milc,2133000,1 p4,5.664308,milc,2133000,1 p4,5.018057,milc,1733000,1 p4,5.157778,milc,1733000,1 p4,4.882974,milc,1733000,1 p4,4.356058,milc,1199000,1 p4,4.381375,milc,1199000,1 p4,4.451227,milc,1199000,1 p4,6.225782,namd,2533000,0 p4,6.245912,namd,2533000,0 p4,6.215741,namd,2533000,0 p4,5.570045,namd,2133000,0 p4,5.581180,namd,2133000,0 p4,5.563911,namd,2133000,0 p4,4.949224,namd,1733000,0 p4,5.095077,namd,1733000,0 p4,4.930018,namd,1733000,0 p4,4.437827,namd,1199000,0 p4,4.435906,namd,1199000,0 p4,4.427859,namd,1199000,0 p4,6.216752,namd,2533000,1 p4,6.231996,namd,2533000,1 p4,6.242300,namd,2533000,1 p4,5.566223,namd,2133000,1 p4,5.567416,namd,2133000,1 p4,5.654757,namd,2133000,1 p4,5.083611,namd,1733000,1 p4,4.930004,namd,1733000,1 p4,5.090621,namd,1733000,1 p4,4.454906,namd,1199000,1 p4,4.427643,namd,1199000,1 p4,4.421476,namd,1199000,1 p4,7.252518,omnetpp,2533000,0 p4,7.158625,omnetpp,2533000,0 p4,7.256693,omnetpp,2533000,0 p4,6.185973,omnetpp,2133000,0 p4,6.173470,omnetpp,2133000,0 p4,6.106522,omnetpp,2133000,0 p4,5.384937,omnetpp,1733000,0 p4,5.375818,omnetpp,1733000,0 p4,5.350168,omnetpp,1733000,0 p4,4.626654,omnetpp,1199000,0 p4,4.615736,omnetpp,1199000,0 p4,4.631343,omnetpp,1199000,0 p4,7.182511,omnetpp,2533000,1 p4,7.275448,omnetpp,2533000,1 p4,7.297512,omnetpp,2533000,1 p4,6.168586,omnetpp,2133000,1 p4,6.129400,omnetpp,2133000,1 p4,6.149546,omnetpp,2133000,1 p4,5.355265,omnetpp,1733000,1 p4,5.347253,omnetpp,1733000,1 p4,5.372178,omnetpp,1733000,1 p4,4.608356,omnetpp,1199000,1 p4,4.616620,omnetpp,1199000,1 p4,4.614673,omnetpp,1199000,1 p4,5.997776,povray,2533000,0 p4,6.462792,povray,2533000,0 p4,5.960739,povray,2533000,0 p4,5.106668,povray,2133000,0 p4,5.100214,povray,2133000,0 p4,5.531312,povray,2133000,0 p4,4.743416,povray,1733000,0 p4,4.759681,povray,1733000,0 p4,4.810176,povray,1733000,0 p4,4.237866,povray,1199000,0 p4,4.216002,povray,1199000,0 p4,4.247862,povray,1199000,0 p4,5.990664,povray,2533000,1 p4,5.972084,povray,2533000,1 p4,6.424794,povray,2533000,1 p4,5.125699,povray,2133000,1 p4,5.459106,povray,2133000,1 p4,5.110767,povray,2133000,1 p4,4.745197,povray,1733000,1 p4,4.758495,povray,1733000,1 p4,4.739466,povray,1733000,1 p4,4.378871,povray,1199000,1 p4,4.381788,povray,1199000,1 p4,4.385382,povray,1199000,1 p4,6.962199,sjeng,2533000,0 p4,6.968741,sjeng,2533000,0 p4,7.018780,sjeng,2533000,0 p4,6.113101,sjeng,2133000,0 p4,6.123628,sjeng,2133000,0 p4,6.122998,sjeng,2133000,0 p4,5.395943,sjeng,1733000,0 p4,5.378402,sjeng,1733000,0 p4,5.370427,sjeng,1733000,0 p4,4.664886,sjeng,1199000,0 p4,4.649323,sjeng,1199000,0 p4,4.641318,sjeng,1199000,0 p4,7.047354,sjeng,2533000,1 p4,7.001293,sjeng,2533000,1 p4,6.986336,sjeng,2533000,1 p4,6.097015,sjeng,2133000,1 p4,6.101763,sjeng,2133000,1 p4,6.136717,sjeng,2133000,1 p4,5.382689,sjeng,1733000,1 p4,5.376789,sjeng,1733000,1 p4,5.371089,sjeng,1733000,1 p4,4.654970,sjeng,1199000,1 p4,4.646423,sjeng,1199000,1 p4,4.644080,sjeng,1199000,1 p4,6.030477,soplex,2533000,0 p4,6.066515,soplex,2533000,0 p4,6.065171,soplex,2533000,0 p4,5.563899,soplex,2133000,0 p4,5.536432,soplex,2133000,0 p4,5.466834,soplex,2133000,0 p4,4.839377,soplex,1733000,0 p4,4.955604,soplex,1733000,0 p4,4.950174,soplex,1733000,0 p4,4.448703,soplex,1199000,0 p4,4.291084,soplex,1199000,0 p4,4.496642,soplex,1199000,0 p4,5.656575,soplex,2533000,1 p4,5.647637,soplex,2533000,1 p4,5.540780,soplex,2533000,1 p4,5.038271,soplex,2133000,1 p4,5.042599,soplex,2133000,1 p4,5.008078,soplex,2133000,1 p4,4.797761,soplex,1733000,1 p4,4.417978,soplex,1733000,1 p4,4.733860,soplex,1733000,1 p4,4.030005,soplex,1199000,1 p4,4.203365,soplex,1199000,1 p4,4.041655,soplex,1199000,1 p4,6.143606,sphinx3,2533000,0 p4,6.210546,sphinx3,2533000,0 p4,5.913106,sphinx3,2533000,0 p4,5.486365,sphinx3,2133000,0 p4,5.473484,sphinx3,2133000,0 p4,5.461683,sphinx3,2133000,0 p4,5.001262,sphinx3,1733000,0 p4,4.824427,sphinx3,1733000,0 p4,4.820512,sphinx3,1733000,0 p4,4.397369,sphinx3,1199000,0 p4,4.397025,sphinx3,1199000,0 p4,4.257344,sphinx3,1199000,0 p4,6.263154,sphinx3,2533000,1 p4,6.231966,sphinx3,2533000,1 p4,5.970324,sphinx3,2533000,1 p4,5.485719,sphinx3,2133000,1 p4,5.493336,sphinx3,2133000,1 p4,5.506690,sphinx3,2133000,1 p4,5.093663,sphinx3,1733000,1 p4,4.818315,sphinx3,1733000,1 p4,4.814421,sphinx3,1733000,1 p4,4.401669,sphinx3,1199000,1 p4,4.260078,sphinx3,1199000,1 p4,4.393360,sphinx3,1199000,1 p4,6.624126,zeusmp,2533000,0 p4,6.668482,zeusmp,2533000,0 p4,6.593960,zeusmp,2533000,0 p4,5.901079,zeusmp,2133000,0 p4,5.938048,zeusmp,2133000,0 p4,5.983028,zeusmp,2133000,0 p4,5.271186,zeusmp,1733000,0 p4,5.313683,zeusmp,1733000,0 p4,5.237803,zeusmp,1733000,0 p4,4.593254,zeusmp,1199000,0 p4,4.547684,zeusmp,1199000,0 p4,4.546501,zeusmp,1199000,0 p4,6.653392,zeusmp,2533000,1 p4,6.535437,zeusmp,2533000,1 p4,6.536757,zeusmp,2533000,1 p4,5.872919,zeusmp,2133000,1 p4,5.877854,zeusmp,2133000,1 p4,5.875457,zeusmp,2133000,1 p4,5.270166,zeusmp,1733000,1 p4,5.266851,zeusmp,1733000,1 p4,5.266854,zeusmp,1733000,1 p4,4.626936,zeusmp,1199000,1 p4,4.635995,zeusmp,1199000,1 p4,4.595469,zeusmp,1199000,1 p4,6.863999,bzip2,2533000,0 p4,6.886298,bzip2,2533000,0 p4,6.882145,bzip2,2533000,0 p4,5.958045,bzip2,2133000,0 p4,6.025944,bzip2,2133000,0 p4,5.995056,bzip2,2133000,0 p4,5.284547,bzip2,1733000,0 p4,5.327661,bzip2,1733000,0 p4,5.319994,bzip2,1733000,0 p4,4.606481,bzip2,1199000,0 p4,4.600799,bzip2,1199000,0 p4,4.611430,bzip2,1199000,0 p4,6.711344,bzip2,2533000,1 p4,6.887602,bzip2,2533000,1 p4,6.879695,bzip2,2533000,1 p4,6.014456,bzip2,2133000,1 p4,6.006830,bzip2,2133000,1 p4,6.022483,bzip2,2133000,1 p4,5.316966,bzip2,1733000,1 p4,5.293381,bzip2,1733000,1 p4,5.324152,bzip2,1733000,1 p4,4.489125,bzip2,1199000,1 p4,4.510943,bzip2,1199000,1 p4,4.483410,bzip2,1199000,1 p4,6.465221,cactusADM,2533000,0 p4,6.531129,cactusADM,2533000,0 p4,6.526786,cactusADM,2533000,0 p4,5.794986,cactusADM,2133000,0 p4,5.818553,cactusADM,2133000,0 p4,5.863792,cactusADM,2133000,0 p4,5.223037,cactusADM,1733000,0 p4,5.168174,cactusADM,1733000,0 p4,5.243245,cactusADM,1733000,0 p4,4.535377,cactusADM,1199000,0 p4,4.524246,cactusADM,1199000,0 p4,4.590613,cactusADM,1199000,0 p4,6.478683,cactusADM,2533000,1 p4,6.576615,cactusADM,2533000,1 p4,6.464665,cactusADM,2533000,1 p4,5.829766,cactusADM,2133000,1 p4,5.789048,cactusADM,2133000,1 p4,5.816615,cactusADM,2133000,1 p4,5.248051,cactusADM,1733000,1 p4,5.187823,cactusADM,1733000,1 p4,5.237987,cactusADM,1733000,1 p4,4.428741,cactusADM,1199000,1 p4,4.454306,cactusADM,1199000,1 p4,4.417272,cactusADM,1199000,1 p4,0.722159,cpuload_all_0_4096,2533000,0 p4,0.719371,cpuload_all_0_4096,2533000,0 p4,0.758168,cpuload_all_0_4096,2533000,0 p4,0.670156,cpuload_all_0_4096,2133000,0 p4,0.684035,cpuload_all_0_4096,2133000,0 p4,0.644335,cpuload_all_0_4096,2133000,0 p4,0.989976,cpuload_all_0_4096,1733000,0 p4,0.955171,cpuload_all_0_4096,1733000,0 p4,0.871260,cpuload_all_0_4096,1733000,0 p4,0.641427,cpuload_all_0_4096,1199000,0 p4,0.668223,cpuload_all_0_4096,1199000,0 p4,0.589270,cpuload_all_0_4096,1199000,0 p4,0.801899,cpuload_all_0_4096,2533000,1 p4,0.970034,cpuload_all_0_4096,2533000,1 p4,0.728873,cpuload_all_0_4096,2533000,1 p4,0.661858,cpuload_all_0_4096,2133000,1 p4,0.881136,cpuload_all_0_4096,2133000,1 p4,0.856547,cpuload_all_0_4096,2133000,1 p4,0.888018,cpuload_all_0_4096,1733000,1 p4,1.095322,cpuload_all_0_4096,1733000,1 p4,0.938805,cpuload_all_0_4096,1733000,1 p4,0.723071,cpuload_all_0_4096,1199000,1 p4,0.710574,cpuload_all_0_4096,1199000,1 p4,0.896410,cpuload_all_0_4096,1199000,1 p4,2.423255,cpuload_all_25_4096,2533000,0 p4,2.409522,cpuload_all_25_4096,2533000,0 p4,2.412286,cpuload_all_25_4096,2533000,0 p4,2.186921,cpuload_all_25_4096,2133000,0 p4,2.254566,cpuload_all_25_4096,2133000,0 p4,2.214283,cpuload_all_25_4096,2133000,0 p4,1.980618,cpuload_all_25_4096,1733000,0 p4,2.035500,cpuload_all_25_4096,1733000,0 p4,2.004785,cpuload_all_25_4096,1733000,0 p4,1.894933,cpuload_all_25_4096,1199000,0 p4,1.894045,cpuload_all_25_4096,1199000,0 p4,1.898676,cpuload_all_25_4096,1199000,0 p4,2.414117,cpuload_all_25_4096,2533000,1 p4,2.385911,cpuload_all_25_4096,2533000,1 p4,2.375013,cpuload_all_25_4096,2533000,1 p4,2.169345,cpuload_all_25_4096,2133000,1 p4,2.199849,cpuload_all_25_4096,2133000,1 p4,2.219975,cpuload_all_25_4096,2133000,1 p4,2.013074,cpuload_all_25_4096,1733000,1 p4,1.999451,cpuload_all_25_4096,1733000,1 p4,1.988401,cpuload_all_25_4096,1733000,1 p4,1.866161,cpuload_all_25_4096,1199000,1 p4,1.880976,cpuload_all_25_4096,1199000,1 p4,1.852139,cpuload_all_25_4096,1199000,1 p4,6.626268,cpuload_all_50_4096,2533000,0 p4,6.668152,cpuload_all_50_4096,2533000,0 p4,5.789458,cpuload_all_50_4096,2533000,0 p4,5.850452,cpuload_all_50_4096,2133000,0 p4,5.740013,cpuload_all_50_4096,2133000,0 p4,5.854490,cpuload_all_50_4096,2133000,0 p4,5.195997,cpuload_all_50_4096,1733000,0 p4,5.015454,cpuload_all_50_4096,1733000,0 p4,5.270435,cpuload_all_50_4096,1733000,0 p4,4.512113,cpuload_all_50_4096,1199000,0 p4,4.515438,cpuload_all_50_4096,1199000,0 p4,4.510972,cpuload_all_50_4096,1199000,0 p4,6.647147,cpuload_all_50_4096,2533000,1 p4,6.570038,cpuload_all_50_4096,2533000,1 p4,6.578607,cpuload_all_50_4096,2533000,1 p4,5.838328,cpuload_all_50_4096,2133000,1 p4,5.860358,cpuload_all_50_4096,2133000,1 p4,5.818446,cpuload_all_50_4096,2133000,1 p4,4.971316,cpuload_all_50_4096,1733000,1 p4,5.305943,cpuload_all_50_4096,1733000,1 p4,5.232325,cpuload_all_50_4096,1733000,1 p4,4.400685,cpuload_all_50_4096,1199000,1 p4,4.462086,cpuload_all_50_4096,1199000,1 p4,4.454924,cpuload_all_50_4096,1199000,1 p4,6.546075,cpuload_all_75_4096,2533000,0 p4,6.547394,cpuload_all_75_4096,2533000,0 p4,6.648013,cpuload_all_75_4096,2533000,0 p4,5.887855,cpuload_all_75_4096,2133000,0 p4,5.851693,cpuload_all_75_4096,2133000,0 p4,5.865583,cpuload_all_75_4096,2133000,0 p4,5.205897,cpuload_all_75_4096,1733000,0 p4,5.278325,cpuload_all_75_4096,1733000,0 p4,5.216636,cpuload_all_75_4096,1733000,0 p4,4.515393,cpuload_all_75_4096,1199000,0 p4,4.519530,cpuload_all_75_4096,1199000,0 p4,4.515073,cpuload_all_75_4096,1199000,0 p4,6.676377,cpuload_all_75_4096,2533000,1 p4,6.618057,cpuload_all_75_4096,2533000,1 p4,6.599025,cpuload_all_75_4096,2533000,1 p4,5.941571,cpuload_all_75_4096,2133000,1 p4,5.872865,cpuload_all_75_4096,2133000,1 p4,5.899697,cpuload_all_75_4096,2133000,1 p4,5.283256,cpuload_all_75_4096,1733000,1 p4,5.226436,cpuload_all_75_4096,1733000,1 p4,5.210248,cpuload_all_75_4096,1733000,1 p4,4.398292,cpuload_all_75_4096,1199000,1 p4,4.464025,cpuload_all_75_4096,1199000,1 p4,4.409325,cpuload_all_75_4096,1199000,1 p4,6.611720,cpuload_all_100_4096,2533000,0 p4,6.641100,cpuload_all_100_4096,2533000,0 p4,6.563484,cpuload_all_100_4096,2533000,0 p4,5.919150,cpuload_all_100_4096,2133000,0 p4,6.036911,cpuload_all_100_4096,2133000,0 p4,5.868833,cpuload_all_100_4096,2133000,0 p4,5.216462,cpuload_all_100_4096,1733000,0 p4,5.285457,cpuload_all_100_4096,1733000,0 p4,5.220961,cpuload_all_100_4096,1733000,0 p4,4.514260,cpuload_all_100_4096,1199000,0 p4,4.514198,cpuload_all_100_4096,1199000,0 p4,4.572735,cpuload_all_100_4096,1199000,0 p4,6.577325,cpuload_all_100_4096,2533000,1 p4,6.572092,cpuload_all_100_4096,2533000,1 p4,6.592917,cpuload_all_100_4096,2533000,1 p4,5.947579,cpuload_all_100_4096,2133000,1 p4,5.890797,cpuload_all_100_4096,2133000,1 p4,5.914583,cpuload_all_100_4096,2133000,1 p4,5.297460,cpuload_all_100_4096,1733000,1 p4,5.248159,cpuload_all_100_4096,1733000,1 p4,5.217087,cpuload_all_100_4096,1733000,1 p4,4.423014,cpuload_all_100_4096,1199000,1 p4,4.430258,cpuload_all_100_4096,1199000,1 p4,4.426150,cpuload_all_100_4096,1199000,1 p4,7.612585,gamess,2533000,0 p4,7.689073,gamess,2533000,0 p4,7.697081,gamess,2533000,0 p4,6.378624,gamess,2133000,0 p4,6.363107,gamess,2133000,0 p4,6.379463,gamess,2133000,0 p4,5.475552,gamess,1733000,0 p4,5.483843,gamess,1733000,0 p4,5.486208,gamess,1733000,0 p4,4.686400,gamess,1199000,0 p4,4.685299,gamess,1199000,0 p4,4.683684,gamess,1199000,0 p4,7.654370,gamess,2533000,1 p4,7.638897,gamess,2533000,1 p4,7.684567,gamess,2533000,1 p4,6.390534,gamess,2133000,1 p4,6.367941,gamess,2133000,1 p4,6.374859,gamess,2133000,1 p4,5.484697,gamess,1733000,1 p4,5.458538,gamess,1733000,1 p4,5.475710,gamess,1733000,1 p4,4.563092,gamess,1199000,1 p4,4.564226,gamess,1199000,1 p4,4.562758,gamess,1199000,1 p4,6.895989,gcc,2533000,0 p4,6.900517,gcc,2533000,0 p4,6.910001,gcc,2533000,0 p4,6.131312,gcc,2133000,0 p4,6.125623,gcc,2133000,0 p4,6.129381,gcc,2133000,0 p4,5.426910,gcc,1733000,0 p4,5.428504,gcc,1733000,0 p4,5.436612,gcc,1733000,0 p4,4.697284,gcc,1199000,0 p4,4.687604,gcc,1199000,0 p4,4.684684,gcc,1199000,0 p4,6.929067,gcc,2533000,1 p4,6.928972,gcc,2533000,1 p4,6.938542,gcc,2533000,1 p4,6.155380,gcc,2133000,1 p4,6.161271,gcc,2133000,1 p4,6.141258,gcc,2133000,1 p4,5.438743,gcc,1733000,1 p4,5.437104,gcc,1733000,1 p4,5.434957,gcc,1733000,1 p4,4.574590,gcc,1199000,1 p4,4.573134,gcc,1199000,1 p4,4.568825,gcc,1199000,1 p4,7.060043,gobmk,2533000,0 p4,7.082781,gobmk,2533000,0 p4,7.055602,gobmk,2533000,0 p4,6.209484,gobmk,2133000,0 p4,6.167584,gobmk,2133000,0 p4,6.125205,gobmk,2133000,0 p4,5.412208,gobmk,1733000,0 p4,5.418190,gobmk,1733000,0 p4,5.400753,gobmk,1733000,0 p4,4.651411,gobmk,1199000,0 p4,4.654018,gobmk,1199000,0 p4,4.686143,gobmk,1199000,0 p4,7.119686,gobmk,2533000,1 p4,7.089704,gobmk,2533000,1 p4,7.157462,gobmk,2533000,1 p4,6.132097,gobmk,2133000,1 p4,6.131561,gobmk,2133000,1 p4,6.132606,gobmk,2133000,1 p4,5.407726,gobmk,1733000,1 p4,5.416244,gobmk,1733000,1 p4,5.405103,gobmk,1733000,1 p4,4.566444,gobmk,1199000,1 p4,4.553877,gobmk,1199000,1 p4,4.559046,gobmk,1199000,1 p4,6.839492,gromacs,2533000,0 p4,6.855795,gromacs,2533000,0 p4,6.853079,gromacs,2533000,0 p4,6.094690,gromacs,2133000,0 p4,6.084111,gromacs,2133000,0 p4,6.108504,gromacs,2133000,0 p4,5.422993,gromacs,1733000,0 p4,5.414179,gromacs,1733000,0 p4,5.419731,gromacs,1733000,0 p4,4.670681,gromacs,1199000,0 p4,4.661287,gromacs,1199000,0 p4,4.682326,gromacs,1199000,0 p4,6.895877,gromacs,2533000,1 p4,6.884426,gromacs,2533000,1 p4,6.862014,gromacs,2533000,1 p4,6.096508,gromacs,2133000,1 p4,6.099919,gromacs,2133000,1 p4,6.065171,gromacs,2133000,1 p4,5.395094,gromacs,1733000,1 p4,5.397210,gromacs,1733000,1 p4,5.413243,gromacs,1733000,1 p4,4.567628,gromacs,1199000,1 p4,4.565638,gromacs,1199000,1 p4,4.569892,gromacs,1199000,1 p4,7.161673,h264ref,2533000,0 p4,7.226888,h264ref,2533000,0 p4,7.157208,h264ref,2533000,0 p4,6.200137,h264ref,2133000,0 p4,6.187011,h264ref,2133000,0 p4,6.207156,h264ref,2133000,0 p4,5.453415,h264ref,1733000,0 p4,5.459118,h264ref,1733000,0 p4,5.444987,h264ref,1733000,0 p4,4.696142,h264ref,1199000,0 p4,4.699029,h264ref,1199000,0 p4,4.699112,h264ref,1199000,0 p4,7.168121,h264ref,2533000,1 p4,7.252463,h264ref,2533000,1 p4,7.268015,h264ref,2533000,1 p4,6.220782,h264ref,2133000,1 p4,6.204912,h264ref,2133000,1 p4,6.210163,h264ref,2133000,1 p4,5.439574,h264ref,1733000,1 p4,5.429504,h264ref,1733000,1 p4,5.448873,h264ref,1733000,1 p4,4.570142,h264ref,1199000,1 p4,4.575300,h264ref,1199000,1 p4,4.568945,h264ref,1199000,1 p4,7.545271,hmmer,2533000,0 p4,7.526226,hmmer,2533000,0 p4,7.535183,hmmer,2533000,0 p4,6.334240,hmmer,2133000,0 p4,6.331531,hmmer,2133000,0 p4,6.292283,hmmer,2133000,0 p4,5.454719,hmmer,1733000,0 p4,5.472864,hmmer,1733000,0 p4,5.415916,hmmer,1733000,0 p4,4.652777,hmmer,1199000,0 p4,4.648383,hmmer,1199000,0 p4,4.642319,hmmer,1199000,0 p4,7.517050,hmmer,2533000,1 p4,7.514164,hmmer,2533000,1 p4,7.515930,hmmer,2533000,1 p4,6.347454,hmmer,2133000,1 p4,6.330508,hmmer,2133000,1 p4,6.283581,hmmer,2133000,1 p4,5.451618,hmmer,1733000,1 p4,5.438445,hmmer,1733000,1 p4,5.447317,hmmer,1733000,1 p4,4.546531,hmmer,1199000,1 p4,4.540155,hmmer,1199000,1 p4,4.564045,hmmer,1199000,1 p4,6.664792,lbm,2533000,0 p4,6.678468,lbm,2533000,0 p4,6.664732,lbm,2533000,0 p4,5.987225,lbm,2133000,0 p4,5.980118,lbm,2133000,0 p4,6.004022,lbm,2133000,0 p4,5.313025,lbm,1733000,0 p4,5.297782,lbm,1733000,0 p4,5.378224,lbm,1733000,0 p4,4.614084,lbm,1199000,0 p4,4.640421,lbm,1199000,0 p4,4.624601,lbm,1199000,0 p4,6.701227,lbm,2533000,1 p4,6.681757,lbm,2533000,1 p4,6.677058,lbm,2533000,1 p4,5.999017,lbm,2133000,1 p4,5.994728,lbm,2133000,1 p4,5.993513,lbm,2133000,1 p4,5.352825,lbm,1733000,1 p4,5.344527,lbm,1733000,1 p4,5.307195,lbm,1733000,1 p4,4.514544,lbm,1199000,1 p4,4.529007,lbm,1199000,1 p4,4.553917,lbm,1199000,1 p4,6.876441,leslie3d,2533000,0 p4,6.871867,leslie3d,2533000,0 p4,6.874331,leslie3d,2533000,0 p4,6.085691,leslie3d,2133000,0 p4,6.089907,leslie3d,2133000,0 p4,6.090694,leslie3d,2133000,0 p4,5.416615,leslie3d,1733000,0 p4,5.401402,leslie3d,1733000,0 p4,5.416554,leslie3d,1733000,0 p4,4.679778,leslie3d,1199000,0 p4,4.681532,leslie3d,1199000,0 p4,4.690164,leslie3d,1199000,0 p4,6.871783,leslie3d,2533000,1 p4,6.882017,leslie3d,2533000,1 p4,6.894721,leslie3d,2533000,1 p4,6.134175,leslie3d,2133000,1 p4,6.117589,leslie3d,2133000,1 p4,6.106240,leslie3d,2133000,1 p4,5.403603,leslie3d,1733000,1 p4,5.417575,leslie3d,1733000,1 p4,5.421589,leslie3d,1733000,1 p4,4.564865,leslie3d,1199000,1 p4,4.564660,leslie3d,1199000,1 p4,4.562240,leslie3d,1199000,1 p4,6.362346,mcf,2533000,0 p4,6.402161,mcf,2533000,0 p4,6.435081,mcf,2533000,0 p4,5.780849,mcf,2133000,0 p4,5.859319,mcf,2133000,0 p4,5.851596,mcf,2133000,0 p4,5.117438,mcf,1733000,0 p4,5.184254,mcf,1733000,0 p4,5.225946,mcf,1733000,0 p4,4.590071,mcf,1199000,0 p4,4.614198,mcf,1199000,0 p4,4.546985,mcf,1199000,0 p4,6.433474,mcf,2533000,1 p4,6.459249,mcf,2533000,1 p4,6.365082,mcf,2533000,1 p4,5.814909,mcf,2133000,1 p4,5.782643,mcf,2133000,1 p4,5.865223,mcf,2133000,1 p4,5.236729,mcf,1733000,1 p4,5.247035,mcf,1733000,1 p4,5.171708,mcf,1733000,1 p4,4.398222,mcf,1199000,1 p4,4.385839,mcf,1199000,1 p4,4.448636,mcf,1199000,1 p4,6.290119,milc,2533000,0 p4,6.306578,milc,2533000,0 p4,6.307724,milc,2533000,0 p4,5.745164,milc,2133000,0 p4,5.681790,milc,2133000,0 p4,5.722119,milc,2133000,0 p4,5.120191,milc,1733000,0 p4,5.110053,milc,1733000,0 p4,5.107872,milc,1733000,0 p4,4.547858,milc,1199000,0 p4,4.519317,milc,1199000,0 p4,4.466051,milc,1199000,0 p4,6.381780,milc,2533000,1 p4,6.373172,milc,2533000,1 p4,6.396025,milc,2533000,1 p4,5.798022,milc,2133000,1 p4,5.839677,milc,2133000,1 p4,5.703847,milc,2133000,1 p4,5.202448,milc,1733000,1 p4,5.228765,milc,1733000,1 p4,5.177574,milc,1733000,1 p4,4.363874,milc,1199000,1 p4,4.424296,milc,1199000,1 p4,4.432054,milc,1199000,1 p4,6.276682,namd,2533000,0 p4,6.312768,namd,2533000,0 p4,6.317381,namd,2533000,0 p4,5.696359,namd,2133000,0 p4,5.756210,namd,2133000,0 p4,5.597427,namd,2133000,0 p4,5.149865,namd,1733000,0 p4,5.073443,namd,1733000,0 p4,5.171027,namd,1733000,0 p4,4.453961,namd,1199000,0 p4,4.488276,namd,1199000,0 p4,4.490243,namd,1199000,0 p4,6.454623,namd,2533000,1 p4,6.402070,namd,2533000,1 p4,6.282661,namd,2533000,1 p5,9.001007,bzip2,2533000,0 p5,7.828073,bzip2,2533000,0 p5,7.417338,bzip2,2533000,0 p5,6.432434,bzip2,2133000,0 p5,6.417069,bzip2,2133000,0 p5,6.433465,bzip2,2133000,0 p5,5.573131,bzip2,1733000,0 p5,5.565290,bzip2,1733000,0 p5,5.566179,bzip2,1733000,0 p5,4.574289,bzip2,1199000,0 p5,4.586086,bzip2,1199000,0 p5,4.566007,bzip2,1199000,0 p5,7.413760,bzip2,2533000,1 p5,7.437364,bzip2,2533000,1 p5,7.423875,bzip2,2533000,1 p5,6.282342,bzip2,2133000,1 p5,6.270477,bzip2,2133000,1 p5,6.279580,bzip2,2133000,1 p5,5.475769,bzip2,1733000,1 p5,5.458932,bzip2,1733000,1 p5,5.496254,bzip2,1733000,1 p5,4.593083,bzip2,1199000,1 p5,4.584604,bzip2,1199000,1 p5,4.586417,bzip2,1199000,1 p5,7.164991,cactusADM,2533000,0 p5,7.240967,cactusADM,2533000,0 p5,7.102150,cactusADM,2533000,0 p5,6.269131,cactusADM,2133000,0 p5,6.248799,cactusADM,2133000,0 p5,6.227296,cactusADM,2133000,0 p5,5.458778,cactusADM,1733000,0 p5,5.429172,cactusADM,1733000,0 p5,5.481473,cactusADM,1733000,0 p5,4.510458,cactusADM,1199000,0 p5,4.539653,cactusADM,1199000,0 p5,4.555690,cactusADM,1199000,0 p5,7.069915,cactusADM,2533000,1 p5,7.028337,cactusADM,2533000,1 p5,7.150164,cactusADM,2533000,1 p5,6.207420,cactusADM,2133000,1 p5,6.077695,cactusADM,2133000,1 p5,6.078140,cactusADM,2133000,1 p5,5.403102,cactusADM,1733000,1 p5,5.442737,cactusADM,1733000,1 p5,5.431902,cactusADM,1733000,1 p5,4.546240,cactusADM,1199000,1 p5,4.551658,cactusADM,1199000,1 p5,4.549793,cactusADM,1199000,1 p5,0.705297,cpuload_all_0_4096,2533000,0 p5,0.790096,cpuload_all_0_4096,2533000,0 p5,0.825098,cpuload_all_0_4096,2533000,0 p5,0.710362,cpuload_all_0_4096,2133000,0 p5,0.712346,cpuload_all_0_4096,2133000,0 p5,0.705250,cpuload_all_0_4096,2133000,0 p5,0.603550,cpuload_all_0_4096,1733000,0 p5,0.889479,cpuload_all_0_4096,1733000,0 p5,0.719622,cpuload_all_0_4096,1733000,0 p5,0.676365,cpuload_all_0_4096,1199000,0 p5,0.671494,cpuload_all_0_4096,1199000,0 p5,0.663434,cpuload_all_0_4096,1199000,0 p5,0.762674,cpuload_all_0_4096,2533000,1 p5,0.674946,cpuload_all_0_4096,2533000,1 p5,0.722284,cpuload_all_0_4096,2533000,1 p5,0.665316,cpuload_all_0_4096,2133000,1 p5,0.764467,cpuload_all_0_4096,2133000,1 p5,0.734964,cpuload_all_0_4096,2133000,1 p5,0.679361,cpuload_all_0_4096,1733000,1 p5,0.610497,cpuload_all_0_4096,1733000,1 p5,0.678445,cpuload_all_0_4096,1733000,1 p5,0.658478,cpuload_all_0_4096,1199000,1 p5,0.608322,cpuload_all_0_4096,1199000,1 p5,0.627150,cpuload_all_0_4096,1199000,1 p5,2.600377,cpuload_all_25_4096,2533000,0 p5,2.606106,cpuload_all_25_4096,2533000,0 p5,2.611883,cpuload_all_25_4096,2533000,0 p5,2.328310,cpuload_all_25_4096,2133000,0 p5,2.301365,cpuload_all_25_4096,2133000,0 p5,2.320969,cpuload_all_25_4096,2133000,0 p5,2.112416,cpuload_all_25_4096,1733000,0 p5,2.108074,cpuload_all_25_4096,1733000,0 p5,2.125013,cpuload_all_25_4096,1733000,0 p5,1.944506,cpuload_all_25_4096,1199000,0 p5,1.952504,cpuload_all_25_4096,1199000,0 p5,1.930521,cpuload_all_25_4096,1199000,0 p5,2.567208,cpuload_all_25_4096,2533000,1 p5,2.587394,cpuload_all_25_4096,2533000,1 p5,2.529975,cpuload_all_25_4096,2533000,1 p5,2.342627,cpuload_all_25_4096,2133000,1 p5,2.357507,cpuload_all_25_4096,2133000,1 p5,2.310387,cpuload_all_25_4096,2133000,1 p5,2.081878,cpuload_all_25_4096,1733000,1 p5,2.091976,cpuload_all_25_4096,1733000,1 p5,2.071291,cpuload_all_25_4096,1733000,1 p5,1.924987,cpuload_all_25_4096,1199000,1 p5,1.887041,cpuload_all_25_4096,1199000,1 p5,1.883800,cpuload_all_25_4096,1199000,1 p5,7.188240,cpuload_all_50_4096,2533000,0 p5,7.170780,cpuload_all_50_4096,2533000,0 p5,7.168531,cpuload_all_50_4096,2533000,0 p5,6.225315,cpuload_all_50_4096,2133000,0 p5,5.894654,namd,2133000,1 p5,5.826830,namd,2133000,1 p5,5.884042,namd,2133000,1 p5,5.209292,namd,1733000,1 p5,5.196327,namd,1733000,1 p5,5.194273,namd,1733000,1 p5,4.526681,namd,1199000,1 p5,4.466405,namd,1199000,1 p5,4.518304,namd,1199000,1 p5,7.901570,omnetpp,2533000,0 p5,6.241531,cpuload_all_50_4096,2133000,0 p5,8.019340,omnetpp,2533000,0 p5,7.866505,omnetpp,2533000,0 p5,6.490474,omnetpp,2133000,0 p5,6.477282,omnetpp,2133000,0 p5,6.463378,omnetpp,2133000,0 p5,5.627915,omnetpp,1733000,0 p5,5.643298,omnetpp,1733000,0 p5,5.681142,omnetpp,1733000,0 p5,4.647914,omnetpp,1199000,0 p5,4.627374,omnetpp,1199000,0 p5,6.234108,cpuload_all_50_4096,2133000,0 p5,4.624417,omnetpp,1199000,0 p5,7.921670,omnetpp,2533000,1 p5,7.871181,omnetpp,2533000,1 p5,7.772565,omnetpp,2533000,1 p5,6.445993,omnetpp,2133000,1 p5,6.466624,omnetpp,2133000,1 p5,6.467184,omnetpp,2133000,1 p5,5.528694,omnetpp,1733000,1 p5,5.536751,omnetpp,1733000,1 p5,5.520506,omnetpp,1733000,1 p5,5.462344,cpuload_all_50_4096,1733000,0 p5,4.631928,omnetpp,1199000,1 p5,4.620921,omnetpp,1199000,1 p5,4.626619,omnetpp,1199000,1 p5,6.459304,povray,2533000,0 p5,6.896987,povray,2533000,0 p5,6.571676,povray,2533000,0 p5,5.549903,povray,2133000,0 p5,5.618604,povray,2133000,0 p5,5.822017,povray,2133000,0 p5,5.343214,povray,1733000,0 p5,5.470680,cpuload_all_50_4096,1733000,0 p5,5.009049,povray,1733000,0 p5,5.001553,povray,1733000,0 p5,4.288942,povray,1199000,0 p5,4.422982,povray,1199000,0 p5,4.265546,povray,1199000,0 p5,6.953221,povray,2533000,1 p5,6.976235,povray,2533000,1 p5,6.426009,povray,2533000,1 p5,5.520908,povray,2133000,1 p5,5.733153,povray,2133000,1 p5,5.487655,cpuload_all_50_4096,1733000,0 p5,5.709507,povray,2133000,1 p5,4.903975,povray,1733000,1 p5,5.082899,povray,1733000,1 p5,4.932585,povray,1733000,1 p5,4.254645,povray,1199000,1 p5,4.324182,povray,1199000,1 p5,4.269801,povray,1199000,1 p5,7.636147,sjeng,2533000,0 p5,7.658570,sjeng,2533000,0 p5,7.652665,sjeng,2533000,0 p5,4.510045,cpuload_all_50_4096,1199000,0 p5,6.558794,sjeng,2133000,0 p5,6.563536,sjeng,2133000,0 p5,6.589647,sjeng,2133000,0 p5,5.675155,sjeng,1733000,0 p5,5.681905,sjeng,1733000,0 p5,5.691880,sjeng,1733000,0 p5,4.650484,sjeng,1199000,0 p5,4.644856,sjeng,1199000,0 p5,4.647082,sjeng,1199000,0 p5,7.583248,sjeng,2533000,1 p5,4.509225,cpuload_all_50_4096,1199000,0 p5,7.583953,sjeng,2533000,1 p5,7.586984,sjeng,2533000,1 p5,6.415224,sjeng,2133000,1 p5,6.409330,sjeng,2133000,1 p5,6.421988,sjeng,2133000,1 p5,5.574252,sjeng,1733000,1 p5,5.584333,sjeng,1733000,1 p5,5.609616,sjeng,1733000,1 p5,4.647996,sjeng,1199000,1 p5,4.651090,sjeng,1199000,1 p5,4.507825,cpuload_all_50_4096,1199000,0 p5,4.642111,sjeng,1199000,1 p5,6.180595,soplex,2533000,0 p5,6.423210,soplex,2533000,0 p5,6.007745,soplex,2533000,0 p5,5.566432,soplex,2133000,0 p5,5.331348,soplex,2133000,0 p5,5.550601,soplex,2133000,0 p5,4.992892,soplex,1733000,0 p5,4.945444,soplex,1733000,0 p5,4.957272,soplex,1733000,0 p5,7.251727,cpuload_all_50_4096,2533000,1 p5,4.210953,soplex,1199000,0 p5,4.201710,soplex,1199000,0 p5,4.212120,soplex,1199000,0 p5,5.980772,soplex,2533000,1 p5,6.023124,soplex,2533000,1 p5,6.140228,soplex,2533000,1 p5,5.422055,soplex,2133000,1 p5,5.670495,soplex,2133000,1 p5,5.266966,soplex,2133000,1 p5,4.844845,soplex,1733000,1 p5,7.266063,cpuload_all_50_4096,2533000,1 p5,4.821222,soplex,1733000,1 p5,4.849314,soplex,1733000,1 p5,4.120865,soplex,1199000,1 p5,4.114282,soplex,1199000,1 p5,4.068336,soplex,1199000,1 p5,6.690784,sphinx3,2533000,0 p5,6.685643,sphinx3,2533000,0 p5,6.706402,sphinx3,2533000,0 p5,5.800731,sphinx3,2133000,0 p5,5.829857,sphinx3,2133000,0 p5,7.250375,cpuload_all_50_4096,2533000,1 p5,5.928085,sphinx3,2133000,0 p5,5.191218,sphinx3,1733000,0 p5,5.227753,sphinx3,1733000,0 p5,5.276782,sphinx3,1733000,0 p5,4.300759,sphinx3,1199000,0 p5,4.303944,sphinx3,1199000,0 p5,4.343394,sphinx3,1199000,0 p5,6.528631,sphinx3,2533000,1 p5,6.721690,sphinx3,2533000,1 p5,6.494765,sphinx3,2533000,1 p5,6.287493,cpuload_all_50_4096,2133000,1 p5,5.822028,sphinx3,2133000,1 p5,5.725077,sphinx3,2133000,1 p5,5.886563,sphinx3,2133000,1 p5,5.166960,sphinx3,1733000,1 p5,5.196467,sphinx3,1733000,1 p5,5.084967,sphinx3,1733000,1 p5,4.371047,sphinx3,1199000,1 p5,4.375458,sphinx3,1199000,1 p5,4.364758,sphinx3,1199000,1 p5,7.304423,zeusmp,2533000,0 p5,6.319315,cpuload_all_50_4096,2133000,1 p5,7.225791,zeusmp,2533000,0 p5,7.170325,zeusmp,2533000,0 p5,6.254010,zeusmp,2133000,0 p5,6.269339,zeusmp,2133000,0 p5,6.240975,zeusmp,2133000,0 p5,5.533157,zeusmp,1733000,0 p5,5.533983,zeusmp,1733000,0 p5,5.478021,zeusmp,1733000,0 p5,4.572499,zeusmp,1199000,0 p5,4.572944,zeusmp,1199000,0 p5,6.314361,cpuload_all_50_4096,2133000,1 p5,4.574032,zeusmp,1199000,0 p5,7.253807,zeusmp,2533000,1 p5,7.220552,zeusmp,2533000,1 p5,7.197026,zeusmp,2533000,1 p5,6.201306,zeusmp,2133000,1 p5,6.200526,zeusmp,2133000,1 p5,6.338285,zeusmp,2133000,1 p5,5.513835,zeusmp,1733000,1 p5,5.467839,zeusmp,1733000,1 p5,5.515306,zeusmp,1733000,1 p5,5.464343,cpuload_all_50_4096,1733000,1 p5,4.564728,zeusmp,1199000,1 p5,4.567662,zeusmp,1199000,1 p5,4.559026,zeusmp,1199000,1 p5,7.403285,bzip2,2533000,0 p5,7.523575,bzip2,2533000,0 p5,7.420216,bzip2,2533000,0 p5,6.371872,bzip2,2133000,0 p5,6.369516,bzip2,2133000,0 p5,6.392064,bzip2,2133000,0 p5,5.556215,bzip2,1733000,0 p5,5.457116,cpuload_all_50_4096,1733000,1 p5,5.505698,bzip2,1733000,0 p5,5.596453,bzip2,1733000,0 p5,4.566833,bzip2,1199000,0 p5,4.569944,bzip2,1199000,0 p5,4.567959,bzip2,1199000,0 p5,7.404287,bzip2,2533000,1 p5,7.437802,bzip2,2533000,1 p5,7.475166,bzip2,2533000,1 p5,6.314685,bzip2,2133000,1 p5,6.273311,bzip2,2133000,1 p5,5.465522,cpuload_all_50_4096,1733000,1 p5,6.307044,bzip2,2133000,1 p5,5.525371,bzip2,1733000,1 p5,5.530528,bzip2,1733000,1 p5,5.515588,bzip2,1733000,1 p5,4.563888,bzip2,1199000,1 p5,4.566692,bzip2,1199000,1 p5,4.585533,bzip2,1199000,1 p5,7.024819,cactusADM,2533000,0 p5,7.233452,cactusADM,2533000,0 p5,7.168276,cactusADM,2533000,0 p5,4.512236,cpuload_all_50_4096,1199000,1 p5,6.156380,cactusADM,2133000,0 p5,6.155660,cactusADM,2133000,0 p5,6.252696,cactusADM,2133000,0 p5,5.457064,cactusADM,1733000,0 p5,5.487009,cactusADM,1733000,0 p5,5.477789,cactusADM,1733000,0 p5,4.551773,cactusADM,1199000,0 p5,4.551501,cactusADM,1199000,0 p5,4.526404,cactusADM,1199000,0 p5,7.051004,cactusADM,2533000,1 p5,4.506448,cpuload_all_50_4096,1199000,1 p5,7.034997,cactusADM,2533000,1 p5,6.972458,cactusADM,2533000,1 p5,6.154772,cactusADM,2133000,1 p5,6.130382,cactusADM,2133000,1 p5,6.192665,cactusADM,2133000,1 p5,5.451903,cactusADM,1733000,1 p5,5.379775,cactusADM,1733000,1 p5,5.489208,cactusADM,1733000,1 p5,4.543088,cactusADM,1199000,1 p5,4.518383,cactusADM,1199000,1 p5,4.504897,cpuload_all_50_4096,1199000,1 p5,4.499184,cactusADM,1199000,1 p5,0.804402,cpuload_all_0_4096,2533000,0 p5,0.745750,cpuload_all_0_4096,2533000,0 p5,0.783161,cpuload_all_0_4096,2533000,0 p5,0.694982,cpuload_all_0_4096,2133000,0 p5,0.804037,cpuload_all_0_4096,2133000,0 p5,0.713237,cpuload_all_0_4096,2133000,0 p5,0.625112,cpuload_all_0_4096,1733000,0 p5,0.611339,cpuload_all_0_4096,1733000,0 p5,0.671986,cpuload_all_0_4096,1733000,0 p5,7.155858,cpuload_all_75_4096,2533000,0 p5,0.622109,cpuload_all_0_4096,1199000,0 p5,0.604658,cpuload_all_0_4096,1199000,0 p5,0.636737,cpuload_all_0_4096,1199000,0 p5,0.768756,cpuload_all_0_4096,2533000,1 p5,0.726388,cpuload_all_0_4096,2533000,1 p5,0.811905,cpuload_all_0_4096,2533000,1 p5,0.744926,cpuload_all_0_4096,2133000,1 p5,0.735409,cpuload_all_0_4096,2133000,1 p5,0.707182,cpuload_all_0_4096,2133000,1 p5,0.723774,cpuload_all_0_4096,1733000,1 p5,7.326063,cpuload_all_75_4096,2533000,0 p5,0.719425,cpuload_all_0_4096,1733000,1 p5,0.668773,cpuload_all_0_4096,1733000,1 p5,0.617425,cpuload_all_0_4096,1199000,1 p5,0.725626,cpuload_all_0_4096,1199000,1 p5,0.635793,cpuload_all_0_4096,1199000,1 p5,2.633619,cpuload_all_25_4096,2533000,0 p5,2.649340,cpuload_all_25_4096,2533000,0 p5,2.653321,cpuload_all_25_4096,2533000,0 p5,2.351286,cpuload_all_25_4096,2133000,0 p5,2.330859,cpuload_all_25_4096,2133000,0 p5,7.247238,cpuload_all_75_4096,2533000,0 p5,2.337790,cpuload_all_25_4096,2133000,0 p5,2.119123,cpuload_all_25_4096,1733000,0 p5,2.156778,cpuload_all_25_4096,1733000,0 p5,2.167164,cpuload_all_25_4096,1733000,0 p5,1.991414,cpuload_all_25_4096,1199000,0 p5,1.981549,cpuload_all_25_4096,1199000,0 p5,1.961839,cpuload_all_25_4096,1199000,0 p5,2.593156,cpuload_all_25_4096,2533000,1 p5,2.614733,cpuload_all_25_4096,2533000,1 p5,2.575895,cpuload_all_25_4096,2533000,1 p5,6.330613,cpuload_all_75_4096,2133000,0 p5,2.367439,cpuload_all_25_4096,2133000,1 p5,2.363516,cpuload_all_25_4096,2133000,1 p5,2.361199,cpuload_all_25_4096,2133000,1 p5,2.153102,cpuload_all_25_4096,1733000,1 p5,2.133663,cpuload_all_25_4096,1733000,1 p5,2.121841,cpuload_all_25_4096,1733000,1 p5,1.940903,cpuload_all_25_4096,1199000,1 p5,1.971332,cpuload_all_25_4096,1199000,1 p5,1.943494,cpuload_all_25_4096,1199000,1 p5,7.143178,cpuload_all_50_4096,2533000,0 p5,6.332558,cpuload_all_75_4096,2133000,0 p5,7.134332,cpuload_all_50_4096,2533000,0 p5,7.148730,cpuload_all_50_4096,2533000,0 p5,6.323698,cpuload_all_50_4096,2133000,0 p5,6.262357,cpuload_all_50_4096,2133000,0 p5,6.219170,cpuload_all_50_4096,2133000,0 p5,5.277277,cpuload_all_50_4096,1733000,0 p5,5.446769,cpuload_all_50_4096,1733000,0 p5,5.360969,cpuload_all_50_4096,1733000,0 p5,4.477767,cpuload_all_50_4096,1199000,0 p5,4.487508,cpuload_all_50_4096,1199000,0 p5,6.324708,cpuload_all_75_4096,2133000,0 p5,4.469725,cpuload_all_50_4096,1199000,0 p5,7.145262,cpuload_all_50_4096,2533000,1 p5,7.239119,cpuload_all_50_4096,2533000,1 p5,7.241633,cpuload_all_50_4096,2533000,1 p5,6.135687,cpuload_all_50_4096,2133000,1 p5,6.122979,cpuload_all_50_4096,2133000,1 p5,6.224844,cpuload_all_50_4096,2133000,1 p5,5.450905,cpuload_all_50_4096,1733000,1 p5,5.457089,cpuload_all_50_4096,1733000,1 p5,5.534148,cpuload_all_50_4096,1733000,1 p5,5.529239,cpuload_all_75_4096,1733000,0 p5,4.492413,cpuload_all_50_4096,1199000,1 p5,4.481087,cpuload_all_50_4096,1199000,1 p5,4.482909,cpuload_all_50_4096,1199000,1 p5,7.226649,cpuload_all_75_4096,2533000,0 p5,7.102701,cpuload_all_75_4096,2533000,0 p5,7.129626,cpuload_all_75_4096,2533000,0 p5,6.215542,cpuload_all_75_4096,2133000,0 p5,6.286899,cpuload_all_75_4096,2133000,0 p5,6.310165,cpuload_all_75_4096,2133000,0 p5,5.440975,cpuload_all_75_4096,1733000,0 p5,5.532383,cpuload_all_75_4096,1733000,0 p5,5.443287,cpuload_all_75_4096,1733000,0 p5,5.467223,cpuload_all_75_4096,1733000,0 p5,4.489521,cpuload_all_75_4096,1199000,0 p5,4.477460,cpuload_all_75_4096,1199000,0 p5,4.542084,cpuload_all_75_4096,1199000,0 p5,7.144110,cpuload_all_75_4096,2533000,1 p5,7.136475,cpuload_all_75_4096,2533000,1 p5,7.145951,cpuload_all_75_4096,2533000,1 p5,6.218584,cpuload_all_75_4096,2133000,1 p5,6.355796,cpuload_all_75_4096,2133000,1 p5,5.478712,cpuload_all_75_4096,1733000,0 p5,6.302957,cpuload_all_75_4096,2133000,1 p5,5.519712,cpuload_all_75_4096,1733000,1 p5,5.450985,cpuload_all_75_4096,1733000,1 p5,5.468366,cpuload_all_75_4096,1733000,1 p5,4.497491,cpuload_all_75_4096,1199000,1 p5,4.497132,cpuload_all_75_4096,1199000,1 p5,4.499306,cpuload_all_75_4096,1199000,1 p5,7.274488,cpuload_all_100_4096,2533000,0 p5,7.159419,cpuload_all_100_4096,2533000,0 p5,7.161882,cpuload_all_100_4096,2533000,0 p5,4.514453,cpuload_all_75_4096,1199000,0 p5,6.332537,cpuload_all_100_4096,2133000,0 p5,6.375250,cpuload_all_100_4096,2133000,0 p5,6.204013,cpuload_all_100_4096,2133000,0 p5,5.436526,cpuload_all_100_4096,1733000,0 p5,5.459115,cpuload_all_100_4096,1733000,0 p5,5.464545,cpuload_all_100_4096,1733000,0 p5,4.506705,cpuload_all_100_4096,1199000,0 p5,4.499143,cpuload_all_100_4096,1199000,0 p5,4.494808,cpuload_all_100_4096,1199000,0 p5,7.151449,cpuload_all_100_4096,2533000,1 p5,4.505404,cpuload_all_75_4096,1199000,0 p5,7.160145,cpuload_all_100_4096,2533000,1 p5,7.266036,cpuload_all_100_4096,2533000,1 p5,6.320739,cpuload_all_100_4096,2133000,1 p5,6.328584,cpuload_all_100_4096,2133000,1 p5,6.229778,cpuload_all_100_4096,2133000,1 p5,5.453799,cpuload_all_100_4096,1733000,1 p5,5.466138,cpuload_all_100_4096,1733000,1 p5,5.469578,cpuload_all_100_4096,1733000,1 p5,4.502776,cpuload_all_100_4096,1199000,1 p5,4.492428,cpuload_all_100_4096,1199000,1 p5,4.587303,cpuload_all_75_4096,1199000,0 p5,4.512680,cpuload_all_100_4096,1199000,1 p5,8.248821,gamess,2533000,0 p5,8.191490,gamess,2533000,0 p5,8.254868,gamess,2533000,0 p5,6.698650,gamess,2133000,0 p5,6.747813,gamess,2133000,0 p5,6.732916,gamess,2133000,0 p5,5.699716,gamess,1733000,0 p5,5.715770,gamess,1733000,0 p5,5.704809,gamess,1733000,0 p5,7.222275,cpuload_all_75_4096,2533000,1 p5,4.644382,gamess,1199000,0 p5,4.641876,gamess,1199000,0 p5,4.640435,gamess,1199000,0 p5,8.132123,gamess,2533000,1 p5,8.162990,gamess,2533000,1 p5,8.211422,gamess,2533000,1 p5,6.581901,gamess,2133000,1 p5,6.599102,gamess,2133000,1 p5,6.605495,gamess,2133000,1 p5,5.609655,gamess,1733000,1 p5,7.269446,cpuload_all_75_4096,2533000,1 p5,5.633557,gamess,1733000,1 p5,5.692159,gamess,1733000,1 p5,4.640369,gamess,1199000,1 p5,4.641595,gamess,1199000,1 p5,4.643330,gamess,1199000,1 p5,7.479546,gcc,2533000,0 p5,7.499540,gcc,2533000,0 p5,7.517329,gcc,2533000,0 p5,6.551890,gcc,2133000,0 p5,6.564838,gcc,2133000,0 p5,7.230562,cpuload_all_75_4096,2533000,1 p5,6.568466,gcc,2133000,0 p5,5.708154,gcc,1733000,0 p5,5.689210,gcc,1733000,0 p5,5.683024,gcc,1733000,0 p5,4.671521,gcc,1199000,0 p5,4.674585,gcc,1199000,0 p5,4.672316,gcc,1199000,0 p5,7.526120,gcc,2533000,1 p5,7.533180,gcc,2533000,1 p5,7.534391,gcc,2533000,1 p5,6.335481,cpuload_all_75_4096,2133000,1 p5,6.437841,gcc,2133000,1 p5,6.431965,gcc,2133000,1 p5,6.449726,gcc,2133000,1 p5,5.582535,gcc,1733000,1 p5,5.584264,gcc,1733000,1 p5,5.581475,gcc,1733000,1 p5,4.682765,gcc,1199000,1 p5,4.685046,gcc,1199000,1 p5,4.688610,gcc,1199000,1 p5,7.717486,gobmk,2533000,0 p5,6.333865,cpuload_all_75_4096,2133000,1 p5,7.671303,gobmk,2533000,0 p5,7.722712,gobmk,2533000,0 p5,6.565805,gobmk,2133000,0 p5,6.542599,gobmk,2133000,0 p5,6.587822,gobmk,2133000,0 p5,5.666493,gobmk,1733000,0 p5,5.669083,gobmk,1733000,0 p5,5.674546,gobmk,1733000,0 p5,4.661352,gobmk,1199000,0 p5,4.674590,gobmk,1199000,0 p5,6.330773,cpuload_all_75_4096,2133000,1 p5,4.648713,gobmk,1199000,0 p5,7.638996,gobmk,2533000,1 p5,7.569724,gobmk,2533000,1 p5,7.631669,gobmk,2533000,1 p5,6.400174,gobmk,2133000,1 p5,6.444502,gobmk,2133000,1 p5,6.412498,gobmk,2133000,1 p5,5.558362,gobmk,1733000,1 p5,5.552742,gobmk,1733000,1 p5,5.613774,gobmk,1733000,1 p5,5.453127,cpuload_all_75_4096,1733000,1 p5,4.662067,gobmk,1199000,1 p5,4.683255,gobmk,1199000,1 p5,4.663418,gobmk,1199000,1 p5,7.499916,gromacs,2533000,0 p5,7.508872,gromacs,2533000,0 p5,7.522026,gromacs,2533000,0 p5,6.549026,gromacs,2133000,0 p5,6.546944,gromacs,2133000,0 p5,6.556214,gromacs,2133000,0 p5,5.685432,gromacs,1733000,0 p5,5.522513,cpuload_all_75_4096,1733000,1 p5,5.689671,gromacs,1733000,0 p5,5.679606,gromacs,1733000,0 p5,4.676246,gromacs,1199000,0 p5,4.661323,gromacs,1199000,0 p5,4.667511,gromacs,1199000,0 p5,7.538172,gromacs,2533000,1 p5,7.500039,gromacs,2533000,1 p5,7.497181,gromacs,2533000,1 p5,6.398001,gromacs,2133000,1 p5,6.391643,gromacs,2133000,1 p5,5.444567,cpuload_all_75_4096,1733000,1 p5,6.399963,gromacs,2133000,1 p5,5.580299,gromacs,1733000,1 p5,5.564090,gromacs,1733000,1 p5,5.573713,gromacs,1733000,1 p5,4.671278,gromacs,1199000,1 p5,4.667982,gromacs,1199000,1 p5,4.656786,gromacs,1199000,1 p5,7.763815,h264ref,2533000,0 p5,7.821324,h264ref,2533000,0 p5,7.818111,h264ref,2533000,0 p5,4.552120,cpuload_all_75_4096,1199000,1 p5,6.586978,h264ref,2133000,0 p5,6.579946,h264ref,2133000,0 p5,6.579773,h264ref,2133000,0 p5,5.717261,h264ref,1733000,0 p5,5.721372,h264ref,1733000,0 p5,5.696026,h264ref,1733000,0 p5,4.658178,h264ref,1199000,0 p5,4.663197,h264ref,1199000,0 p5,4.682285,h264ref,1199000,0 p5,7.842584,h264ref,2533000,1 p5,4.499578,cpuload_all_75_4096,1199000,1 p5,7.804958,h264ref,2533000,1 p5,7.793702,h264ref,2533000,1 p5,6.502690,h264ref,2133000,1 p5,6.498195,h264ref,2133000,1 p5,6.468006,h264ref,2133000,1 p5,5.611481,h264ref,1733000,1 p5,5.575761,h264ref,1733000,1 p5,5.551728,h264ref,1733000,1 p5,4.643451,h264ref,1199000,1 p5,4.682030,h264ref,1199000,1 p5,4.493379,cpuload_all_75_4096,1199000,1 p5,4.681131,h264ref,1199000,1 p5,8.146016,hmmer,2533000,0 p5,8.263012,hmmer,2533000,0 p5,8.178554,hmmer,2533000,0 p5,6.593416,hmmer,2133000,0 p5,6.554287,hmmer,2133000,0 p5,6.565420,hmmer,2133000,0 p5,5.671699,hmmer,1733000,0 p5,5.701635,hmmer,1733000,0 p5,5.716101,hmmer,1733000,0 p5,7.173856,cpuload_all_100_4096,2533000,0 p5,4.666438,hmmer,1199000,0 p5,4.656507,hmmer,1199000,0 p5,4.634965,hmmer,1199000,0 p5,8.100953,hmmer,2533000,1 p5,8.200950,hmmer,2533000,1 p5,8.120150,hmmer,2533000,1 p5,6.604491,hmmer,2133000,1 p5,6.580505,hmmer,2133000,1 p5,6.555641,hmmer,2133000,1 p5,5.567938,hmmer,1733000,1 p5,7.201752,cpuload_all_100_4096,2533000,0 p5,5.559871,hmmer,1733000,1 p5,5.591518,hmmer,1733000,1 p5,4.639047,hmmer,1199000,1 p5,4.679625,hmmer,1199000,1 p5,4.635792,hmmer,1199000,1 p5,7.345913,lbm,2533000,0 p5,7.296463,lbm,2533000,0 p5,7.327514,lbm,2533000,0 p5,6.518545,lbm,2133000,0 p5,6.445514,lbm,2133000,0 p5,7.176676,cpuload_all_100_4096,2533000,0 p5,6.462029,lbm,2133000,0 p5,5.604387,lbm,1733000,0 p5,5.610231,lbm,1733000,0 p5,5.613730,lbm,1733000,0 p5,4.623358,lbm,1199000,0 p5,4.618929,lbm,1199000,0 p5,4.645540,lbm,1199000,0 p5,7.306653,lbm,2533000,1 p5,7.334783,lbm,2533000,1 p5,7.370286,lbm,2533000,1 p5,6.252226,cpuload_all_100_4096,2133000,0 p5,6.309596,lbm,2133000,1 p5,6.337437,lbm,2133000,1 p5,6.387621,lbm,2133000,1 p5,5.496634,lbm,1733000,1 p5,5.508495,lbm,1733000,1 p5,5.456785,lbm,1733000,1 p5,4.650021,lbm,1199000,1 p5,4.619673,lbm,1199000,1 p5,4.666697,lbm,1199000,1 p5,7.511493,leslie3d,2533000,0 p5,6.275082,cpuload_all_100_4096,2133000,0 p5,7.545121,leslie3d,2533000,0 p5,7.498162,leslie3d,2533000,0 p5,6.440260,leslie3d,2133000,0 p5,6.444057,leslie3d,2133000,0 p5,6.489478,leslie3d,2133000,0 p5,5.662992,leslie3d,1733000,0 p5,5.673577,leslie3d,1733000,0 p5,5.657937,leslie3d,1733000,0 p5,4.673137,leslie3d,1199000,0 p5,4.678485,leslie3d,1199000,0 p5,6.253176,cpuload_all_100_4096,2133000,0 p5,4.667393,leslie3d,1199000,0 p5,7.525196,leslie3d,2533000,1 p5,7.477102,leslie3d,2533000,1 p5,7.508898,leslie3d,2533000,1 p5,6.404246,leslie3d,2133000,1 p5,6.406635,leslie3d,2133000,1 p5,6.407719,leslie3d,2133000,1 p5,5.547190,leslie3d,1733000,1 p5,5.560452,leslie3d,1733000,1 p5,5.529228,leslie3d,1733000,1 p5,5.466994,cpuload_all_100_4096,1733000,0 p5,4.680794,leslie3d,1199000,1 p5,4.681735,leslie3d,1199000,1 p5,4.685997,leslie3d,1199000,1 p5,7.061824,mcf,2533000,0 p5,7.161133,mcf,2533000,0 p5,7.128345,mcf,2533000,0 p5,6.242592,mcf,2133000,0 p5,6.224265,mcf,2133000,0 p5,6.235893,mcf,2133000,0 p5,5.525705,mcf,1733000,0 p5,5.465261,cpuload_all_100_4096,1733000,0 p5,5.507631,mcf,1733000,0 p5,5.479131,mcf,1733000,0 p5,4.621130,mcf,1199000,0 p5,4.636137,mcf,1199000,0 p5,4.615138,mcf,1199000,0 p5,7.125309,mcf,2533000,1 p5,7.199595,mcf,2533000,1 p5,7.151414,mcf,2533000,1 p5,6.137505,mcf,2133000,1 p5,6.133671,mcf,2133000,1 p5,5.465358,cpuload_all_100_4096,1733000,0 p5,6.116329,mcf,2133000,1 p5,5.365679,mcf,1733000,1 p5,5.409680,mcf,1733000,1 p5,5.462842,mcf,1733000,1 p5,4.578822,mcf,1199000,1 p5,4.577370,mcf,1199000,1 p5,4.532180,mcf,1199000,1 p5,6.951211,milc,2533000,0 p5,6.935158,milc,2533000,0 p5,7.013848,milc,2533000,0 p5,4.514333,cpuload_all_100_4096,1199000,0 p5,6.251447,milc,2133000,0 p5,6.085247,milc,2133000,0 p5,6.192742,milc,2133000,0 p5,5.352761,milc,1733000,0 p5,5.340563,milc,1733000,0 p5,5.497814,milc,1733000,0 p5,4.492774,milc,1199000,0 p5,4.617175,milc,1199000,0 p5,4.509610,milc,1199000,0 p5,7.014238,milc,2533000,1 p5,4.555561,cpuload_all_100_4096,1199000,0 p5,7.087383,milc,2533000,1 p5,7.021015,milc,2533000,1 p5,5.923450,milc,2133000,1 p5,6.085651,milc,2133000,1 p5,6.129871,milc,2133000,1 p5,5.291217,milc,1733000,1 p5,5.297089,milc,1733000,1 p5,5.323975,milc,1733000,1 p5,4.635999,milc,1199000,1 p5,4.503766,milc,1199000,1 p5,4.554792,cpuload_all_100_4096,1199000,0 p5,4.618976,milc,1199000,1 p5,6.997884,namd,2533000,0 p5,6.859943,namd,2533000,0 p5,7.102365,namd,2533000,0 p5,6.076355,namd,2133000,0 p5,6.299069,namd,2133000,0 p5,6.200936,namd,2133000,0 p5,5.423916,namd,1733000,0 p5,5.322579,namd,1733000,0 p5,5.358697,namd,1733000,0 p5,7.239366,cpuload_all_100_4096,2533000,1 p5,4.573722,namd,1199000,0 p5,4.520042,namd,1199000,0 p5,4.541826,namd,1199000,0 p5,7.081874,namd,2533000,1 p5,6.890483,namd,2533000,1 p5,7.277037,namd,2533000,1 p5,6.016045,namd,2133000,1 p5,5.891757,namd,2133000,1 p5,6.213449,namd,2133000,1 p5,5.257488,namd,1733000,1 p5,7.278906,cpuload_all_100_4096,2533000,1 p5,5.298329,namd,1733000,1 p5,5.309634,namd,1733000,1 p5,4.459163,namd,1199000,1 p5,4.555863,namd,1199000,1 p5,4.496134,namd,1199000,1 p5,8.007470,omnetpp,2533000,0 p5,7.965819,omnetpp,2533000,0 p5,8.048712,omnetpp,2533000,0 p5,6.697454,omnetpp,2133000,0 p5,6.717212,omnetpp,2133000,0 p5,7.232288,cpuload_all_100_4096,2533000,1 p5,6.770689,omnetpp,2133000,0 p5,5.700545,omnetpp,1733000,0 p5,5.673563,omnetpp,1733000,0 p5,5.732709,omnetpp,1733000,0 p5,4.645356,omnetpp,1199000,0 p5,4.671439,omnetpp,1199000,0 p5,4.662961,omnetpp,1199000,0 p5,7.825224,omnetpp,2533000,1 p5,7.902100,omnetpp,2533000,1 p5,7.981820,omnetpp,2533000,1 p5,6.338200,cpuload_all_100_4096,2133000,1 p5,6.438639,omnetpp,2133000,1 p5,6.435719,omnetpp,2133000,1 p5,6.503908,omnetpp,2133000,1 p5,5.539543,omnetpp,1733000,1 p5,5.554646,omnetpp,1733000,1 p5,5.538224,omnetpp,1733000,1 p5,4.664249,omnetpp,1199000,1 p5,4.631228,omnetpp,1199000,1 p5,4.657870,omnetpp,1199000,1 p5,6.590611,povray,2533000,0 p5,6.256886,cpuload_all_100_4096,2133000,1 p5,6.870570,povray,2533000,0 p5,6.598754,povray,2533000,0 p5,5.843358,povray,2133000,0 p5,5.873813,povray,2133000,0 p5,5.969378,povray,2133000,0 p5,5.238232,povray,1733000,0 p5,5.106985,povray,1733000,0 p5,5.411090,povray,1733000,0 p5,4.408929,povray,1199000,0 p5,4.297484,povray,1199000,0 p5,6.367855,cpuload_all_100_4096,2133000,1 p5,4.483417,povray,1199000,0 p5,6.608117,povray,2533000,1 p5,6.926403,povray,2533000,1 p5,6.616907,povray,2533000,1 p5,5.670398,povray,2133000,1 p5,5.752413,povray,2133000,1 p5,5.770162,povray,2133000,1 p5,5.052675,povray,1733000,1 p5,4.936318,povray,1733000,1 p5,5.234887,povray,1733000,1 p5,5.534621,cpuload_all_100_4096,1733000,1 p5,4.393439,povray,1199000,1 p5,4.276500,povray,1199000,1 p5,4.548294,povray,1199000,1 p5,7.669158,sjeng,2533000,0 p5,7.670352,sjeng,2533000,0 p5,7.602621,sjeng,2533000,0 p5,6.605279,sjeng,2133000,0 p5,6.617946,sjeng,2133000,0 p5,6.615260,sjeng,2133000,0 p5,5.719153,sjeng,1733000,0 p5,5.458710,cpuload_all_100_4096,1733000,1 p5,5.692375,sjeng,1733000,0 p5,5.715513,sjeng,1733000,0 p5,4.666690,sjeng,1199000,0 p5,4.665713,sjeng,1199000,0 p5,4.660300,sjeng,1199000,0 p5,7.626423,sjeng,2533000,1 p5,7.623944,sjeng,2533000,1 p5,7.650809,sjeng,2533000,1 p5,6.451626,sjeng,2133000,1 p5,6.449114,sjeng,2133000,1 p5,5.536469,cpuload_all_100_4096,1733000,1 p5,6.448000,sjeng,2133000,1 p5,5.578861,sjeng,1733000,1 p5,5.580811,sjeng,1733000,1 p5,5.582886,sjeng,1733000,1 p5,4.667849,sjeng,1199000,1 p5,4.648726,sjeng,1199000,1 p5,4.655937,sjeng,1199000,1 p5,6.342279,soplex,2533000,0 p5,6.060391,soplex,2533000,0 p5,6.397071,soplex,2533000,0 p5,4.484209,cpuload_all_100_4096,1199000,1 p5,5.537124,soplex,2133000,0 p5,5.736735,soplex,2133000,0 p5,5.637916,soplex,2133000,0 p5,5.055520,soplex,1733000,0 p5,5.124236,soplex,1733000,0 p5,5.143299,soplex,1733000,0 p5,4.293791,soplex,1199000,0 p5,4.301867,soplex,1199000,0 p5,4.210620,soplex,1199000,0 p5,6.543484,soplex,2533000,1 p5,4.486875,cpuload_all_100_4096,1199000,1 p5,6.455953,soplex,2533000,1 p5,6.125245,soplex,2533000,1 p5,5.768889,soplex,2133000,1 p5,5.650353,soplex,2133000,1 p5,5.504964,soplex,2133000,1 p5,4.960638,soplex,1733000,1 p5,5.049908,soplex,1733000,1 p5,5.063227,soplex,1733000,1 p5,4.202918,soplex,1199000,1 p5,4.205582,soplex,1199000,1 p5,4.485361,cpuload_all_100_4096,1199000,1 p5,4.270222,soplex,1199000,1 p5,6.671463,sphinx3,2533000,0 p5,6.729029,sphinx3,2533000,0 p5,6.767820,sphinx3,2533000,0 p5,6.000274,sphinx3,2133000,0 p5,5.913143,sphinx3,2133000,0 p5,5.865630,sphinx3,2133000,0 p5,5.280347,sphinx3,1733000,0 p5,5.239704,sphinx3,1733000,0 p5,5.286614,sphinx3,1733000,0 p5,8.177719,gamess,2533000,0 p5,4.403071,sphinx3,1199000,0 p5,4.507608,sphinx3,1199000,0 p5,4.436828,sphinx3,1199000,0 p5,6.761318,sphinx3,2533000,1 p5,6.717252,sphinx3,2533000,1 p5,6.779399,sphinx3,2533000,1 p5,5.777127,sphinx3,2133000,1 p5,5.938600,sphinx3,2133000,1 p5,5.914412,sphinx3,2133000,1 p5,5.187344,sphinx3,1733000,1 p5,8.174587,gamess,2533000,0 p5,5.276076,sphinx3,1733000,1 p5,5.232094,sphinx3,1733000,1 p5,4.452802,sphinx3,1199000,1 p5,4.517783,sphinx3,1199000,1 p5,4.439369,sphinx3,1199000,1 p5,7.164091,zeusmp,2533000,0 p5,7.159990,zeusmp,2533000,0 p5,7.289240,zeusmp,2533000,0 p5,6.292574,zeusmp,2133000,0 p5,6.299048,zeusmp,2133000,0 p5,8.217903,gamess,2533000,0 p5,6.355162,zeusmp,2133000,0 p5,5.538276,zeusmp,1733000,0 p5,5.550033,zeusmp,1733000,0 p5,5.596351,zeusmp,1733000,0 p5,4.600486,zeusmp,1199000,0 p5,4.571130,zeusmp,1199000,0 p5,4.603869,zeusmp,1199000,0 p5,7.232283,zeusmp,2533000,1 p5,7.172879,zeusmp,2533000,1 p5,7.259233,zeusmp,2533000,1 p5,6.756641,gamess,2133000,0 p5,6.326539,zeusmp,2133000,1 p5,6.316823,zeusmp,2133000,1 p5,6.358890,zeusmp,2133000,1 p5,5.537333,zeusmp,1733000,1 p5,5.589508,zeusmp,1733000,1 p5,5.545909,zeusmp,1733000,1 p5,4.629252,zeusmp,1199000,1 p5,4.598993,zeusmp,1199000,1 p5,4.636608,zeusmp,1199000,1 p5,7.807821,bzip2,2533000,0 p5,6.738577,gamess,2133000,0 p5,7.470597,bzip2,2533000,0 p5,8.945059,bzip2,2533000,0 p5,7.099166,bzip2,2133000,0 p5,6.456217,bzip2,2133000,0 p5,6.477323,bzip2,2133000,0 p5,5.639159,bzip2,1733000,0 p5,5.647405,bzip2,1733000,0 p5,5.597273,bzip2,1733000,0 p5,4.621531,bzip2,1199000,0 p5,4.638541,bzip2,1199000,0 p5,6.758516,gamess,2133000,0 p5,4.595808,bzip2,1199000,0 p5,7.456223,bzip2,2533000,1 p5,7.509579,bzip2,2533000,1 p5,7.437240,bzip2,2533000,1 p5,6.299287,bzip2,2133000,1 p5,6.323817,bzip2,2133000,1 p5,6.342073,bzip2,2133000,1 p5,5.594607,bzip2,1733000,1 p5,5.529790,bzip2,1733000,1 p5,5.539343,bzip2,1733000,1 p5,5.728945,gamess,1733000,0 p5,4.604939,bzip2,1199000,1 p5,4.627070,bzip2,1199000,1 p5,4.619040,bzip2,1199000,1 p5,7.226608,cactusADM,2533000,0 p5,7.218874,cactusADM,2533000,0 p5,7.096409,cactusADM,2533000,0 p5,6.286956,cactusADM,2133000,0 p5,6.297518,cactusADM,2133000,0 p5,6.301910,cactusADM,2133000,0 p5,5.505619,cactusADM,1733000,0 p5,5.717398,gamess,1733000,0 p5,5.478654,cactusADM,1733000,0 p5,5.463277,cactusADM,1733000,0 p5,4.543918,cactusADM,1199000,0 p5,4.572735,cactusADM,1199000,0 p5,4.589360,cactusADM,1199000,0 p5,7.162197,cactusADM,2533000,1 p5,7.154719,cactusADM,2533000,1 p5,7.213663,cactusADM,2533000,1 p5,6.179228,cactusADM,2133000,1 p5,6.183016,cactusADM,2133000,1 p5,5.720655,gamess,1733000,0 p5,6.256445,cactusADM,2133000,1 p5,5.477131,cactusADM,1733000,1 p5,5.471642,cactusADM,1733000,1 p5,5.475383,cactusADM,1733000,1 p5,4.623483,cactusADM,1199000,1 p5,4.563480,cactusADM,1199000,1 p5,4.579324,cactusADM,1199000,1 p5,0.854010,cpuload_all_0_4096,2533000,0 p5,0.872667,cpuload_all_0_4096,2533000,0 p5,0.846638,cpuload_all_0_4096,2533000,0 p5,4.646025,gamess,1199000,0 p5,0.772780,cpuload_all_0_4096,2133000,0 p5,0.833799,cpuload_all_0_4096,2133000,0 p5,0.785536,cpuload_all_0_4096,2133000,0 p5,0.812088,cpuload_all_0_4096,1733000,0 p5,0.842662,cpuload_all_0_4096,1733000,0 p5,0.873174,cpuload_all_0_4096,1733000,0 p5,0.749742,cpuload_all_0_4096,1199000,0 p5,0.861600,cpuload_all_0_4096,1199000,0 p5,0.740831,cpuload_all_0_4096,1199000,0 p5,0.878215,cpuload_all_0_4096,2533000,1 p5,4.648369,gamess,1199000,0 p5,0.851396,cpuload_all_0_4096,2533000,1 p5,0.897661,cpuload_all_0_4096,2533000,1 p5,0.812152,cpuload_all_0_4096,2133000,1 p5,0.714598,cpuload_all_0_4096,2133000,1 p5,0.757689,cpuload_all_0_4096,2133000,1 p5,0.701435,cpuload_all_0_4096,1733000,1 p5,0.729500,cpuload_all_0_4096,1733000,1 p5,0.775804,cpuload_all_0_4096,1733000,1 p5,0.672070,cpuload_all_0_4096,1199000,1 p5,0.736637,cpuload_all_0_4096,1199000,1 p5,4.654220,gamess,1199000,0 p5,0.671363,cpuload_all_0_4096,1199000,1 p5,2.640790,cpuload_all_25_4096,2533000,0 p5,2.675939,cpuload_all_25_4096,2533000,0 p5,2.627218,cpuload_all_25_4096,2533000,0 p5,2.406474,cpuload_all_25_4096,2133000,0 p5,2.346722,cpuload_all_25_4096,2133000,0 p5,2.369318,cpuload_all_25_4096,2133000,0 p5,2.144143,cpuload_all_25_4096,1733000,0 p5,2.171965,cpuload_all_25_4096,1733000,0 p5,2.140744,cpuload_all_25_4096,1733000,0 p5,8.177808,gamess,2533000,1 p5,1.996354,cpuload_all_25_4096,1199000,0 p5,2.021414,cpuload_all_25_4096,1199000,0 p5,1.985476,cpuload_all_25_4096,1199000,0 p5,2.627402,cpuload_all_25_4096,2533000,1 p5,2.631298,cpuload_all_25_4096,2533000,1 p5,2.643477,cpuload_all_25_4096,2533000,1 p5,2.372052,cpuload_all_25_4096,2133000,1 p5,2.383938,cpuload_all_25_4096,2133000,1 p5,2.413223,cpuload_all_25_4096,2133000,1 p5,2.134267,cpuload_all_25_4096,1733000,1 p5,8.157443,gamess,2533000,1 p5,2.160203,cpuload_all_25_4096,1733000,1 p5,2.114727,cpuload_all_25_4096,1733000,1 p5,1.984654,cpuload_all_25_4096,1199000,1 p5,1.990461,cpuload_all_25_4096,1199000,1 p5,1.951933,cpuload_all_25_4096,1199000,1 p5,7.057936,cpuload_all_50_4096,2533000,0 p5,7.168893,cpuload_all_50_4096,2533000,0 p5,7.199291,cpuload_all_50_4096,2533000,0 p5,6.315065,cpuload_all_50_4096,2133000,0 p5,6.236755,cpuload_all_50_4096,2133000,0 p5,8.166224,gamess,2533000,1 p5,6.347815,cpuload_all_50_4096,2133000,0 p5,5.087127,cpuload_all_50_4096,1733000,0 p5,5.493658,cpuload_all_50_4096,1733000,0 p5,5.146643,cpuload_all_50_4096,1733000,0 p5,4.513503,cpuload_all_50_4096,1199000,0 p5,4.511053,cpuload_all_50_4096,1199000,0 p5,4.497410,cpuload_all_50_4096,1199000,0 p5,7.173700,cpuload_all_50_4096,2533000,1 p5,7.261405,cpuload_all_50_4096,2533000,1 p5,7.165261,cpuload_all_50_4096,2533000,1 p5,6.558264,gamess,2133000,1 p5,6.207589,cpuload_all_50_4096,2133000,1 p5,5.668987,cpuload_all_50_4096,2133000,1 p5,6.330903,cpuload_all_50_4096,2133000,1 p5,5.486378,cpuload_all_50_4096,1733000,1 p5,5.104827,cpuload_all_50_4096,1733000,1 p5,5.542071,cpuload_all_50_4096,1733000,1 p5,4.503695,cpuload_all_50_4096,1199000,1 p5,4.515183,cpuload_all_50_4096,1199000,1 p5,4.554132,cpuload_all_50_4096,1199000,1 p5,7.137547,cpuload_all_75_4096,2533000,0 p5,6.568075,gamess,2133000,1 p5,7.165094,cpuload_all_75_4096,2533000,0 p5,7.277410,cpuload_all_75_4096,2533000,0 p5,6.242224,cpuload_all_75_4096,2133000,0 p5,6.242657,cpuload_all_75_4096,2133000,0 p5,6.273437,cpuload_all_75_4096,2133000,0 p5,5.478565,cpuload_all_75_4096,1733000,0 p5,5.493526,cpuload_all_75_4096,1733000,0 p5,5.509401,cpuload_all_75_4096,1733000,0 p5,4.497245,cpuload_all_75_4096,1199000,0 p5,4.504949,cpuload_all_75_4096,1199000,0 p5,6.584880,gamess,2133000,1 p5,4.502330,cpuload_all_75_4096,1199000,0 p5,7.170678,cpuload_all_75_4096,2533000,1 p5,7.253080,cpuload_all_75_4096,2533000,1 p5,7.217964,cpuload_all_75_4096,2533000,1 p5,6.230895,cpuload_all_75_4096,2133000,1 p5,6.241443,cpuload_all_75_4096,2133000,1 p5,6.280402,cpuload_all_75_4096,2133000,1 p5,5.536217,cpuload_all_75_4096,1733000,1 p5,5.463268,cpuload_all_75_4096,1733000,1 p5,5.469271,cpuload_all_75_4096,1733000,1 p5,5.591911,gamess,1733000,1 p5,4.560277,cpuload_all_75_4096,1199000,1 p5,4.500152,cpuload_all_75_4096,1199000,1 p5,4.508502,cpuload_all_75_4096,1199000,1 p5,7.152944,cpuload_all_100_4096,2533000,0 p5,7.291106,cpuload_all_100_4096,2533000,0 p5,7.200033,cpuload_all_100_4096,2533000,0 p5,6.292750,cpuload_all_100_4096,2133000,0 p5,6.342986,cpuload_all_100_4096,2133000,0 p5,6.271561,cpuload_all_100_4096,2133000,0 p5,5.484698,cpuload_all_100_4096,1733000,0 p5,5.590762,gamess,1733000,1 p5,5.546028,cpuload_all_100_4096,1733000,0 p5,5.486870,cpuload_all_100_4096,1733000,0 p5,4.519709,cpuload_all_100_4096,1199000,0 p5,4.562169,cpuload_all_100_4096,1199000,0 p5,4.502870,cpuload_all_100_4096,1199000,0 p5,7.169664,cpuload_all_100_4096,2533000,1 p5,7.207892,cpuload_all_100_4096,2533000,1 p5,7.320017,cpuload_all_100_4096,2533000,1 p5,6.182196,cpuload_all_100_4096,2133000,1 p5,6.219267,cpuload_all_100_4096,2133000,1 p5,5.606090,gamess,1733000,1 p5,6.260335,cpuload_all_100_4096,2133000,1 p5,5.547195,cpuload_all_100_4096,1733000,1 p5,5.480366,cpuload_all_100_4096,1733000,1 p5,5.550687,cpuload_all_100_4096,1733000,1 p5,4.513061,cpuload_all_100_4096,1199000,1 p5,4.515367,cpuload_all_100_4096,1199000,1 p5,4.564656,cpuload_all_100_4096,1199000,1 p5,8.193411,gamess,2533000,0 p5,8.234117,gamess,2533000,0 p5,8.272491,gamess,2533000,0 p5,4.665334,gamess,1199000,1 p5,6.774779,gamess,2133000,0 p5,6.784397,gamess,2133000,0 p5,6.777228,gamess,2133000,0 p5,5.744892,gamess,1733000,0 p5,5.723293,gamess,1733000,0 p5,5.744791,gamess,1733000,0 p5,4.653907,gamess,1199000,0 p5,4.645816,gamess,1199000,0 p5,4.664375,gamess,1199000,0 p5,8.194004,gamess,2533000,1 p5,4.660211,gamess,1199000,1 p5,8.209686,gamess,2533000,1 p5,8.217469,gamess,2533000,1 p5,6.612294,gamess,2133000,1 p5,6.601748,gamess,2133000,1 p5,6.632108,gamess,2133000,1 p5,5.700441,gamess,1733000,1 p5,5.666211,gamess,1733000,1 p5,5.665780,gamess,1733000,1 p5,4.658415,gamess,1199000,1 p5,4.655852,gamess,1199000,1 p5,4.658684,gamess,1199000,1 p5,4.653254,gamess,1199000,1 p5,7.524706,gcc,2533000,0 p5,7.504632,gcc,2533000,0 p5,7.510743,gcc,2533000,0 p5,6.520612,gcc,2133000,0 p5,6.522233,gcc,2133000,0 p5,6.522335,gcc,2133000,0 p5,5.692374,gcc,1733000,0 p5,5.691507,gcc,1733000,0 p5,5.696498,gcc,1733000,0 p5,7.517659,gcc,2533000,0 p5,4.668081,gcc,1199000,0 p5,4.668078,gcc,1199000,0 p5,4.667298,gcc,1199000,0 p5,7.509664,gcc,2533000,1 p5,7.500540,gcc,2533000,1 p5,7.512322,gcc,2533000,1 p5,6.506582,gcc,2133000,1 p5,6.525350,gcc,2133000,1 p5,6.539059,gcc,2133000,1 p5,5.697626,gcc,1733000,1 p5,7.515308,gcc,2533000,0 p5,5.680146,gcc,1733000,1 p5,5.673336,gcc,1733000,1 p5,4.674484,gcc,1199000,1 p5,4.678828,gcc,1199000,1 p5,4.677866,gcc,1199000,1 p5,7.714908,gobmk,2533000,0 p5,7.662191,gobmk,2533000,0 p5,7.699907,gobmk,2533000,0 p5,6.596096,gobmk,2133000,0 p5,6.569694,gobmk,2133000,0 p5,7.531896,gcc,2533000,0 p5,6.580221,gobmk,2133000,0 p5,5.688494,gobmk,1733000,0 p5,5.693509,gobmk,1733000,0 p5,5.688261,gobmk,1733000,0 p5,4.655763,gobmk,1199000,0 p5,4.656723,gobmk,1199000,0 p5,4.654103,gobmk,1199000,0 p5,7.622863,gobmk,2533000,1 p5,7.668449,gobmk,2533000,1 p5,7.623780,gobmk,2533000,1 p5,6.573880,gcc,2133000,0 p5,6.419837,gobmk,2133000,1 p5,6.448390,gobmk,2133000,1 p5,6.437001,gobmk,2133000,1 p5,5.571506,gobmk,1733000,1 p5,5.566390,gobmk,1733000,1 p5,5.575227,gobmk,1733000,1 p5,4.653421,gobmk,1199000,1 p5,4.654321,gobmk,1199000,1 p5,4.656171,gobmk,1199000,1 p5,7.502195,gromacs,2533000,0 p5,6.568729,gcc,2133000,0 p5,7.513457,gromacs,2533000,0 p5,7.467903,gromacs,2533000,0 p5,6.535809,gromacs,2133000,0 p5,6.522676,gromacs,2133000,0 p5,6.535997,gromacs,2133000,0 p5,5.699971,gromacs,1733000,0 p5,5.688172,gromacs,1733000,0 p5,5.682767,gromacs,1733000,0 p5,4.666452,gromacs,1199000,0 p5,4.669046,gromacs,1199000,0 p5,6.558337,gcc,2133000,0 p5,4.668109,gromacs,1199000,0 p5,7.484871,gromacs,2533000,1 p5,7.503540,gromacs,2533000,1 p5,7.486664,gromacs,2533000,1 p5,6.398801,gromacs,2133000,1 p5,6.426795,gromacs,2133000,1 p5,6.407605,gromacs,2133000,1 p5,5.561678,gromacs,1733000,1 p5,5.560230,gromacs,1733000,1 p5,5.557249,gromacs,1733000,1 p5,5.699617,gcc,1733000,0 p5,4.666550,gromacs,1199000,1 p5,4.669595,gromacs,1199000,1 p5,4.667167,gromacs,1199000,1 p5,7.802297,h264ref,2533000,0 p5,7.748330,h264ref,2533000,0 p5,7.815680,h264ref,2533000,0 p5,6.598452,h264ref,2133000,0 p5,6.617417,h264ref,2133000,0 p5,6.669388,h264ref,2133000,0 p5,5.688741,h264ref,1733000,0 p5,5.697469,gcc,1733000,0 p5,5.699873,h264ref,1733000,0 p5,5.719166,h264ref,1733000,0 p5,4.545853,h264ref,1199000,0 p5,4.665656,h264ref,1199000,0 p5,4.680843,h264ref,1199000,0 p5,7.760694,h264ref,2533000,1 p5,7.798183,h264ref,2533000,1 p5,7.775371,h264ref,2533000,1 p5,6.495456,h264ref,2133000,1 p5,6.462292,h264ref,2133000,1 p5,5.697895,gcc,1733000,0 p5,6.466792,h264ref,2133000,1 p5,5.576174,h264ref,1733000,1 p5,5.581303,h264ref,1733000,1 p5,5.556726,h264ref,1733000,1 p5,4.674406,h264ref,1199000,1 p5,4.666606,h264ref,1199000,1 p5,4.663231,h264ref,1199000,1 p5,8.159735,hmmer,2533000,0 p5,8.126072,hmmer,2533000,0 p5,8.182795,hmmer,2533000,0 p5,4.679084,gcc,1199000,0 p5,6.628760,hmmer,2133000,0 p5,6.684756,hmmer,2133000,0 p5,6.646070,hmmer,2133000,0 p5,5.662834,hmmer,1733000,0 p5,5.665183,hmmer,1733000,0 p5,5.646857,hmmer,1733000,0 p5,4.667367,hmmer,1199000,0 p5,4.657812,hmmer,1199000,0 p5,4.648735,hmmer,1199000,0 p5,8.117713,hmmer,2533000,1 p5,4.678602,gcc,1199000,0 p5,8.039492,hmmer,2533000,1 p5,8.111983,hmmer,2533000,1 p5,6.522864,hmmer,2133000,1 p5,6.585317,hmmer,2133000,1 p5,6.484958,hmmer,2133000,1 p5,5.576368,hmmer,1733000,1 p5,5.546797,hmmer,1733000,1 p5,5.584847,hmmer,1733000,1 p5,4.644732,hmmer,1199000,1 p5,4.645617,hmmer,1199000,1 p5,4.680925,gcc,1199000,0 p5,4.647741,hmmer,1199000,1 p5,7.284958,lbm,2533000,0 p5,7.296222,lbm,2533000,0 p5,7.299259,lbm,2533000,0 p5,6.467159,lbm,2133000,0 p5,6.416261,lbm,2133000,0 p5,6.423684,lbm,2133000,0 p5,5.543831,lbm,1733000,0 p5,5.568186,lbm,1733000,0 p5,5.610465,lbm,1733000,0 p5,7.540153,gcc,2533000,1 p5,4.607057,lbm,1199000,0 p5,4.607270,lbm,1199000,0 p5,4.614859,lbm,1199000,0 p5,7.399501,lbm,2533000,1 p5,7.298686,lbm,2533000,1 p5,7.337862,lbm,2533000,1 p5,6.292499,lbm,2133000,1 p5,6.312462,lbm,2133000,1 p5,6.287299,lbm,2133000,1 p5,5.435283,lbm,1733000,1 p5,7.546099,gcc,2533000,1 p5,5.495095,lbm,1733000,1 p5,5.494393,lbm,1733000,1 p5,4.608550,lbm,1199000,1 p5,4.604511,lbm,1199000,1 p5,4.594630,lbm,1199000,1 p5,7.436663,leslie3d,2533000,0 p5,7.521856,leslie3d,2533000,0 p5,7.499173,leslie3d,2533000,0 p5,6.570131,leslie3d,2133000,0 p5,6.577533,leslie3d,2133000,0 p5,7.544440,gcc,2533000,1 p5,6.552691,leslie3d,2133000,0 p5,5.680476,leslie3d,1733000,0 p5,5.680609,leslie3d,1733000,0 p5,5.681132,leslie3d,1733000,0 p5,4.684513,leslie3d,1199000,0 p5,4.672523,leslie3d,1199000,0 p5,4.676029,leslie3d,1199000,0 p5,7.542559,leslie3d,2533000,1 p5,7.496425,leslie3d,2533000,1 p5,7.510778,leslie3d,2533000,1 p5,6.447566,gcc,2133000,1 p5,6.436771,leslie3d,2133000,1 p5,6.404041,leslie3d,2133000,1 p5,6.390745,leslie3d,2133000,1 p5,5.549777,leslie3d,1733000,1 p5,5.530712,leslie3d,1733000,1 p5,5.558986,leslie3d,1733000,1 p5,4.665363,leslie3d,1199000,1 p5,4.668496,leslie3d,1199000,1 p5,4.687140,leslie3d,1199000,1 p5,6.985403,mcf,2533000,0 p5,6.441932,gcc,2133000,1 p5,6.943078,mcf,2533000,0 p5,7.046350,mcf,2533000,0 p5,6.241018,mcf,2133000,0 p5,6.229739,mcf,2133000,0 p5,6.221255,mcf,2133000,0 p5,5.492375,mcf,1733000,0 p5,5.406696,mcf,1733000,0 p5,5.482329,mcf,1733000,0 p5,4.577629,mcf,1199000,0 p5,4.527926,mcf,1199000,0 p5,6.438081,gcc,2133000,1 p5,4.591710,mcf,1199000,0 p5,7.094030,mcf,2533000,1 p5,7.021807,mcf,2533000,1 p5,6.999464,mcf,2533000,1 p5,6.046786,mcf,2133000,1 p5,6.207250,mcf,2133000,1 p5,6.075036,mcf,2133000,1 p5,5.326328,mcf,1733000,1 p5,5.372372,mcf,1733000,1 p5,5.325025,mcf,1733000,1 p5,5.587672,gcc,1733000,1 p5,4.577952,mcf,1199000,1 p5,4.495973,mcf,1199000,1 p5,4.540163,mcf,1199000,1 p5,6.809389,milc,2533000,0 p5,6.873574,milc,2533000,0 p5,7.025772,milc,2533000,0 p5,6.235689,milc,2133000,0 p5,6.064213,milc,2133000,0 p5,6.118070,milc,2133000,0 p5,5.410872,milc,1733000,0 p5,5.589968,gcc,1733000,1 p5,5.414891,milc,1733000,0 p5,5.419682,milc,1733000,0 p5,4.471750,milc,1199000,0 p5,4.436439,milc,1199000,0 p5,4.480959,milc,1199000,0 p5,6.818508,milc,2533000,1 p5,6.828204,milc,2533000,1 p5,6.841546,milc,2533000,1 p5,6.077582,milc,2133000,1 p5,6.092049,milc,2133000,1 p5,5.593936,gcc,1733000,1 p5,5.907360,milc,2133000,1 p5,5.210057,milc,1733000,1 p5,5.232289,milc,1733000,1 p5,5.299617,milc,1733000,1 p5,4.457711,milc,1199000,1 p5,4.482401,milc,1199000,1 p5,4.512150,milc,1199000,1 p5,6.903034,namd,2533000,0 p5,6.887896,namd,2533000,0 p5,6.983032,namd,2533000,0 p5,4.694492,gcc,1199000,1 p5,6.055036,namd,2133000,0 p5,6.052936,namd,2133000,0 p5,6.041005,namd,2133000,0 p5,5.322259,namd,1733000,0 p5,5.400682,namd,1733000,0 p5,5.257273,namd,1733000,0 p5,4.495473,namd,1199000,0 p5,4.496817,namd,1199000,0 p5,4.469679,namd,1199000,0 p5,7.004345,namd,2533000,1 p5,4.687417,gcc,1199000,1 p5,6.990854,namd,2533000,1 p5,7.048277,namd,2533000,1 p5,5.909397,namd,2133000,1 p5,6.122505,namd,2133000,1 p5,5.954230,namd,2133000,1 p5,5.272382,namd,1733000,1 p5,5.131582,namd,1733000,1 p5,5.168980,namd,1733000,1 p5,4.516490,namd,1199000,1 p5,4.495657,namd,1199000,1 p5,4.687546,gcc,1199000,1 p5,4.469481,namd,1199000,1 p5,7.957052,omnetpp,2533000,0 p5,7.911801,omnetpp,2533000,0 p5,7.955896,omnetpp,2533000,0 p5,6.590525,omnetpp,2133000,0 p5,6.518209,omnetpp,2133000,0 p5,6.569165,omnetpp,2133000,0 p5,5.663171,omnetpp,1733000,0 p5,5.638002,omnetpp,1733000,0 p5,5.709367,omnetpp,1733000,0 p5,7.651674,gobmk,2533000,0 p5,4.660021,omnetpp,1199000,0 p5,4.657736,omnetpp,1199000,0 p5,4.657658,omnetpp,1199000,0 p5,7.820370,omnetpp,2533000,1 p5,7.868825,omnetpp,2533000,1 p5,7.932100,omnetpp,2533000,1 p5,6.480428,omnetpp,2133000,1 p5,6.411368,omnetpp,2133000,1 p5,6.460051,omnetpp,2133000,1 p5,5.526284,omnetpp,1733000,1 p5,7.719893,gobmk,2533000,0 p5,5.573395,omnetpp,1733000,1 p5,5.517702,omnetpp,1733000,1 p5,4.625244,omnetpp,1199000,1 p5,4.643224,omnetpp,1199000,1 p5,4.667513,omnetpp,1199000,1 p5,6.857393,povray,2533000,0 p5,6.618302,povray,2533000,0 p5,6.545578,povray,2533000,0 p5,5.748432,povray,2133000,0 p5,5.896365,povray,2133000,0 p5,7.718437,gobmk,2533000,0 p5,5.570973,povray,2133000,0 p5,5.056135,povray,1733000,0 p5,5.037494,povray,1733000,0 p5,5.137851,povray,1733000,0 p5,4.314119,povray,1199000,0 p5,4.281910,povray,1199000,0 p5,4.315016,povray,1199000,0 p5,7.081585,povray,2533000,1 p5,6.534799,povray,2533000,1 p5,6.577317,povray,2533000,1 p5,6.493443,gobmk,2133000,0 p5,5.763295,povray,2133000,1 p5,5.759805,povray,2133000,1 p5,5.512581,povray,2133000,1 p5,4.911186,povray,1733000,1 p5,4.944603,povray,1733000,1 p5,4.916866,povray,1733000,1 p5,4.349746,povray,1199000,1 p5,4.307939,povray,1199000,1 p5,4.267817,povray,1199000,1 p5,7.696953,sjeng,2533000,0 p5,6.467342,gobmk,2133000,0 p5,7.726224,sjeng,2533000,0 p5,7.730700,sjeng,2533000,0 p5,6.592277,sjeng,2133000,0 p5,6.606083,sjeng,2133000,0 p5,6.587024,sjeng,2133000,0 p5,5.710990,sjeng,1733000,0 p5,5.699744,sjeng,1733000,0 p5,5.693041,sjeng,1733000,0 p5,4.688333,sjeng,1199000,0 p5,4.686162,sjeng,1199000,0 p5,6.484501,gobmk,2133000,0 p5,4.689402,sjeng,1199000,0 p5,7.682814,sjeng,2533000,1 p5,7.691952,sjeng,2533000,1 p5,7.669504,sjeng,2533000,1 p5,6.464310,sjeng,2133000,1 p5,6.490712,sjeng,2133000,1 p5,6.459992,sjeng,2133000,1 p5,5.592805,sjeng,1733000,1 p5,5.589669,sjeng,1733000,1 p5,5.587299,sjeng,1733000,1 p5,5.610656,gobmk,1733000,0 p5,4.679524,sjeng,1199000,1 p5,4.678076,sjeng,1199000,1 p5,4.681105,sjeng,1199000,1 p5,6.292316,soplex,2533000,0 p5,6.119347,soplex,2533000,0 p5,6.594976,soplex,2533000,0 p5,6.323776,soplex,2533000,0 p5,5.820424,soplex,2133000,0 p5,5.982474,soplex,2133000,0 p5,5.721943,soplex,2133000,0 p5,5.591265,gobmk,1733000,0 p5,5.459451,soplex,1733000,0 p5,5.043503,soplex,1733000,0 p5,5.360936,soplex,1733000,0 p5,4.390133,soplex,1199000,0 p5,4.555781,soplex,1199000,0 p5,4.488092,soplex,1199000,0 p5,6.571329,soplex,2533000,1 p5,6.305655,soplex,2533000,1 p5,6.621175,soplex,2533000,1 p5,5.688944,soplex,2133000,1 p5,5.586189,gobmk,1733000,0 p5,5.470215,soplex,2133000,1 p5,5.805409,soplex,2133000,1 p5,5.122386,soplex,1733000,1 p5,5.214366,soplex,1733000,1 p5,4.968534,soplex,1733000,1 p5,4.396816,soplex,1199000,1 p5,4.480204,soplex,1199000,1 p5,4.249754,soplex,1199000,1 p5,6.727288,sphinx3,2533000,0 p5,6.744798,sphinx3,2533000,0 p5,4.665118,gobmk,1199000,0 p5,6.773987,sphinx3,2533000,0 p5,5.878252,sphinx3,2133000,0 p5,5.970852,sphinx3,2133000,0 p5,5.921857,sphinx3,2133000,0 p5,5.124370,sphinx3,1733000,0 p5,5.363358,sphinx3,1733000,0 p5,5.251521,sphinx3,1733000,0 p5,4.289309,sphinx3,1199000,0 p5,4.364812,sphinx3,1199000,0 p5,4.512187,sphinx3,1199000,0 p5,4.663427,gobmk,1199000,0 p5,6.795668,sphinx3,2533000,1 p5,6.780493,sphinx3,2533000,1 p5,6.888358,sphinx3,2533000,1 p5,5.745691,sphinx3,2133000,1 p5,5.771002,sphinx3,2133000,1 p5,5.733741,sphinx3,2133000,1 p5,4.918981,sphinx3,1733000,1 p5,5.141676,sphinx3,1733000,1 p5,5.113083,sphinx3,1733000,1 p5,4.399736,sphinx3,1199000,1 p5,4.652477,gobmk,1199000,0 p5,4.391718,sphinx3,1199000,1 p5,4.369798,sphinx3,1199000,1 p5,7.428000,zeusmp,2533000,0 p5,7.362024,zeusmp,2533000,0 p5,7.298864,zeusmp,2533000,0 p5,6.479775,zeusmp,2133000,0 p5,6.457404,zeusmp,2133000,0 p5,6.484006,zeusmp,2133000,0 p5,5.612756,zeusmp,1733000,0 p5,5.653358,zeusmp,1733000,0 p5,7.644873,gobmk,2533000,1 p5,5.646926,zeusmp,1733000,0 p5,4.692352,zeusmp,1199000,0 p5,4.659847,zeusmp,1199000,0 p5,4.573474,zeusmp,1199000,0 p5,7.265687,zeusmp,2533000,1 p5,7.302763,zeusmp,2533000,1 p5,7.250165,zeusmp,2533000,1 p5,6.191387,zeusmp,2133000,1 p5,6.277512,zeusmp,2133000,1 p5,6.267814,zeusmp,2133000,1 p5,7.629739,gobmk,2533000,1 p5,5.429415,zeusmp,1733000,1 p5,5.437947,zeusmp,1733000,1 p5,5.425218,zeusmp,1733000,1 p5,4.624974,zeusmp,1199000,1 p5,4.625890,zeusmp,1199000,1 p5,4.667500,zeusmp,1199000,1 p5,7.655244,gobmk,2533000,1 p5,6.403427,gobmk,2133000,1 p5,6.402417,gobmk,2133000,1 p5,6.398100,gobmk,2133000,1 p5,5.561803,gobmk,1733000,1 p5,5.553036,gobmk,1733000,1 p5,5.546647,gobmk,1733000,1 p5,4.650261,gobmk,1199000,1 p5,4.670206,gobmk,1199000,1 p5,4.663084,gobmk,1199000,1 p5,7.509112,gromacs,2533000,0 p5,7.493208,gromacs,2533000,0 p5,7.508787,gromacs,2533000,0 p5,6.537047,gromacs,2133000,0 p5,6.526712,gromacs,2133000,0 p5,6.459224,gromacs,2133000,0 p5,5.670596,gromacs,1733000,0 p5,5.669618,gromacs,1733000,0 p5,5.680759,gromacs,1733000,0 p5,4.670946,gromacs,1199000,0 p5,4.667443,gromacs,1199000,0 p5,4.666610,gromacs,1199000,0 p5,7.518853,gromacs,2533000,1 p5,7.457678,gromacs,2533000,1 p5,7.484535,gromacs,2533000,1 p5,6.358241,gromacs,2133000,1 p5,6.365669,gromacs,2133000,1 p5,6.364062,gromacs,2133000,1 p5,5.549202,gromacs,1733000,1 p5,5.561498,gromacs,1733000,1 p5,5.552655,gromacs,1733000,1 p5,4.672509,gromacs,1199000,1 p5,4.671969,gromacs,1199000,1 p5,4.674032,gromacs,1199000,1 p5,7.801495,h264ref,2533000,0 p5,7.776977,h264ref,2533000,0 p5,7.769628,h264ref,2533000,0 p5,6.506188,h264ref,2133000,0 p5,6.450846,h264ref,2133000,0 p5,6.443079,h264ref,2133000,0 p5,5.586661,h264ref,1733000,0 p5,5.603041,h264ref,1733000,0 p5,5.597441,h264ref,1733000,0 p5,4.670330,h264ref,1199000,0 p5,4.666141,h264ref,1199000,0 p5,4.672398,h264ref,1199000,0 p5,7.790682,h264ref,2533000,1 p5,7.726759,h264ref,2533000,1 p5,7.720738,h264ref,2533000,1 p5,6.465508,h264ref,2133000,1 p5,6.429409,h264ref,2133000,1 p5,6.439005,h264ref,2133000,1 p5,5.544247,h264ref,1733000,1 p5,5.558855,h264ref,1733000,1 p5,5.542444,h264ref,1733000,1 p5,4.659084,h264ref,1199000,1 p5,4.656712,h264ref,1199000,1 p5,4.668222,h264ref,1199000,1 p5,7.979032,hmmer,2533000,0 p5,8.078153,hmmer,2533000,0 p5,8.102020,hmmer,2533000,0 p5,6.530005,hmmer,2133000,0 p5,6.504826,hmmer,2133000,0 p5,6.475802,hmmer,2133000,0 p5,5.508733,hmmer,1733000,0 p5,5.569385,hmmer,1733000,0 p5,5.592673,hmmer,1733000,0 p5,4.626704,hmmer,1199000,0 p5,4.631743,hmmer,1199000,0 p5,4.629606,hmmer,1199000,0 p5,8.007460,hmmer,2533000,1 p5,7.997322,hmmer,2533000,1 p5,7.943983,hmmer,2533000,1 p5,6.465712,hmmer,2133000,1 p5,6.539431,hmmer,2133000,1 p5,6.591565,hmmer,2133000,1 p5,5.484135,hmmer,1733000,1 p5,5.549085,hmmer,1733000,1 p5,5.504663,hmmer,1733000,1 p5,4.639017,hmmer,1199000,1 p5,4.633557,hmmer,1199000,1 p5,4.636447,hmmer,1199000,1 p5,7.294768,lbm,2533000,0 p5,7.287238,lbm,2533000,0 p5,7.275259,lbm,2533000,0 p5,6.388228,lbm,2133000,0 p5,6.460905,lbm,2133000,0 p5,6.442295,lbm,2133000,0 p5,5.490888,lbm,1733000,0 p5,5.487069,lbm,1733000,0 p5,5.488370,lbm,1733000,0 p5,4.611462,lbm,1199000,0 p5,4.611396,lbm,1199000,0 p5,4.602162,lbm,1199000,0 p5,7.303777,lbm,2533000,1 p5,7.227586,lbm,2533000,1 p5,7.305695,lbm,2533000,1 p5,6.283461,lbm,2133000,1 p5,6.292307,lbm,2133000,1 p5,6.289453,lbm,2133000,1 p5,5.470930,lbm,1733000,1 p5,5.473528,lbm,1733000,1 p5,5.406795,lbm,1733000,1 p5,4.553934,lbm,1199000,1 p5,4.603702,lbm,1199000,1 p5,4.566047,lbm,1199000,1 p5,7.558139,leslie3d,2533000,0 p5,7.508338,leslie3d,2533000,0 p5,7.508238,leslie3d,2533000,0 p5,6.520634,leslie3d,2133000,0 p5,6.539916,leslie3d,2133000,0 p5,6.514359,leslie3d,2133000,0 p5,5.675605,leslie3d,1733000,0 p5,5.689840,leslie3d,1733000,0 p5,5.691122,leslie3d,1733000,0 p5,4.658210,leslie3d,1199000,0 p5,4.680479,leslie3d,1199000,0 p5,4.699151,leslie3d,1199000,0 p5,7.490177,leslie3d,2533000,1 p5,7.486099,leslie3d,2533000,1 p5,7.579736,leslie3d,2533000,1 p5,6.368766,leslie3d,2133000,1 p5,6.412277,leslie3d,2133000,1 p5,6.381998,leslie3d,2133000,1 p5,5.550767,leslie3d,1733000,1 p5,5.547972,leslie3d,1733000,1 p5,5.550622,leslie3d,1733000,1 p5,4.681770,leslie3d,1199000,1 p5,4.688762,leslie3d,1199000,1 p5,4.677069,leslie3d,1199000,1 p5,6.902917,mcf,2533000,0 p5,7.080362,mcf,2533000,0 p5,6.975160,mcf,2533000,0 p5,6.186018,mcf,2133000,0 p5,6.139584,mcf,2133000,0 p5,6.042218,mcf,2133000,0 p5,5.475332,mcf,1733000,0 p5,5.492071,mcf,1733000,0 p5,5.357540,mcf,1733000,0 p5,4.521457,mcf,1199000,0 p5,4.470861,mcf,1199000,0 p5,4.514733,mcf,1199000,0 p5,6.831698,mcf,2533000,1 p5,7.078649,mcf,2533000,1 p5,6.854792,mcf,2533000,1 p5,6.240123,mcf,2133000,1 p5,6.192022,mcf,2133000,1 p5,6.245980,mcf,2133000,1 p5,5.427232,mcf,1733000,1 p5,5.515175,mcf,1733000,1 p5,5.448460,mcf,1733000,1 p5,4.572566,mcf,1199000,1 p5,4.613933,mcf,1199000,1 p5,4.642534,mcf,1199000,1 p5,7.064241,milc,2533000,0 p5,7.084312,milc,2533000,0 p5,7.156765,milc,2533000,0 p5,6.240881,milc,2133000,0 p5,6.209347,milc,2133000,0 p5,6.235164,milc,2133000,0 p5,5.444720,milc,1733000,0 p5,5.469648,milc,1733000,0 p5,5.398460,milc,1733000,0 p5,4.530153,milc,1199000,0 p5,4.569879,milc,1199000,0 p5,4.625646,milc,1199000,0 p5,7.125706,milc,2533000,1 p5,6.834380,milc,2533000,1 p5,6.775301,milc,2533000,1 p5,6.198281,milc,2133000,1 p5,6.176919,milc,2133000,1 p5,6.228902,milc,2133000,1 p5,5.373103,milc,1733000,1 p5,5.240862,milc,1733000,1 p5,5.394451,milc,1733000,1 p5,4.433215,milc,1199000,1 p5,4.423029,milc,1199000,1 p5,4.432227,milc,1199000,1 p5,6.813929,namd,2533000,0 p5,6.943568,namd,2533000,0 p5,6.803185,namd,2533000,0 p5,6.295293,namd,2133000,0 p5,6.097163,namd,2133000,0 p5,5.977446,namd,2133000,0 p5,5.383184,namd,1733000,0 p5,5.577463,namd,1733000,0 p5,5.504536,namd,1733000,0 p5,4.608712,namd,1199000,0 p5,4.506342,namd,1199000,0 p5,4.480106,namd,1199000,0 p5,6.999818,namd,2533000,1 p5,7.186704,namd,2533000,1 p5,6.985859,namd,2533000,1 p5,6.155200,namd,2133000,1 p5,5.944509,namd,2133000,1 p5,6.140264,namd,2133000,1 p5,5.543833,namd,1733000,1 p5,5.443347,namd,1733000,1 p5,5.413079,namd,1733000,1 p5,4.594358,namd,1199000,1 p5,4.514354,namd,1199000,1 p5,4.620580,namd,1199000,1 p5,7.946133,omnetpp,2533000,0 p5,7.966723,omnetpp,2533000,0 p5,7.968794,omnetpp,2533000,0 p5,6.607948,omnetpp,2133000,0 p5,6.567509,omnetpp,2133000,0 p5,6.547769,omnetpp,2133000,0 p5,5.609282,omnetpp,1733000,0 p5,5.665703,omnetpp,1733000,0 p5,5.665051,omnetpp,1733000,0 p5,4.670185,omnetpp,1199000,0 p5,4.651478,omnetpp,1199000,0 p5,4.667170,omnetpp,1199000,0 p5,7.890242,omnetpp,2533000,1 p5,7.861953,omnetpp,2533000,1 p5,7.913724,omnetpp,2533000,1 p5,6.476828,omnetpp,2133000,1 p5,6.453396,omnetpp,2133000,1 p5,6.489191,omnetpp,2133000,1 p5,5.585820,omnetpp,1733000,1 p5,5.644585,omnetpp,1733000,1 p5,5.612162,omnetpp,1733000,1 p5,4.639715,omnetpp,1199000,1 p5,4.627714,omnetpp,1199000,1 p5,4.638748,omnetpp,1199000,1 p5,6.473481,povray,2533000,0 p5,6.582476,povray,2533000,0 p5,6.443021,povray,2533000,0 p5,5.406471,povray,2133000,0 p5,5.696055,povray,2133000,0 p5,5.707160,povray,2133000,0 p5,5.239487,povray,1733000,0 p5,5.313918,povray,1733000,0 p5,5.227393,povray,1733000,0 p5,4.426355,povray,1199000,0 p5,4.384379,povray,1199000,0 p5,4.556506,povray,1199000,0 p5,6.530638,povray,2533000,1 p5,6.990928,povray,2533000,1 p5,6.685843,povray,2533000,1 p5,5.698527,povray,2133000,1 p5,5.771019,povray,2133000,1 p5,5.951864,povray,2133000,1 p5,5.091212,povray,1733000,1 p5,5.325439,povray,1733000,1 p5,5.135271,povray,1733000,1 p5,4.384659,povray,1199000,1 p5,4.534944,povray,1199000,1 p5,4.401020,povray,1199000,1 p5,7.679278,sjeng,2533000,0 p5,7.672679,sjeng,2533000,0 p5,7.681795,sjeng,2533000,0 p5,6.605545,sjeng,2133000,0 p5,6.615878,sjeng,2133000,0 p5,6.614613,sjeng,2133000,0 p5,5.734085,sjeng,1733000,0 p5,5.701221,sjeng,1733000,0 p5,5.714256,sjeng,1733000,0 p5,4.673072,sjeng,1199000,0 p5,4.678507,sjeng,1199000,0 p5,4.668716,sjeng,1199000,0 p5,7.677135,sjeng,2533000,1 p5,7.607377,sjeng,2533000,1 p5,7.646293,sjeng,2533000,1 p5,6.462645,sjeng,2133000,1 p5,6.463606,sjeng,2133000,1 p5,6.464383,sjeng,2133000,1 p5,5.675409,sjeng,1733000,1 p5,5.682335,sjeng,1733000,1 p5,5.620796,sjeng,1733000,1 p5,4.666066,sjeng,1199000,1 p5,4.682251,sjeng,1199000,1 p5,4.672334,sjeng,1199000,1 p5,6.644492,soplex,2533000,0 p5,6.369862,soplex,2533000,0 p5,6.601246,soplex,2533000,0 p5,5.892519,soplex,2133000,0 p5,5.682532,soplex,2133000,0 p5,5.934204,soplex,2133000,0 p5,5.219013,soplex,1733000,0 p5,5.274485,soplex,1733000,0 p5,5.301000,soplex,1733000,0 p5,4.436746,soplex,1199000,0 p5,4.406128,soplex,1199000,0 p5,4.365884,soplex,1199000,0 p5,6.209692,soplex,2533000,1 p5,6.409892,soplex,2533000,1 p5,6.517424,soplex,2533000,1 p5,5.890363,soplex,2133000,1 p5,5.753500,soplex,2133000,1 p5,5.864593,soplex,2133000,1 p5,5.014087,soplex,1733000,1 p5,5.256140,soplex,1733000,1 p5,5.241607,soplex,1733000,1 p5,4.393847,soplex,1199000,1 p5,4.331529,soplex,1199000,1 p5,4.310582,soplex,1199000,1 p5,6.943357,sphinx3,2533000,0 p5,6.893710,sphinx3,2533000,0 p5,6.931267,sphinx3,2533000,0 p5,5.943833,sphinx3,2133000,0 p5,6.151754,sphinx3,2133000,0 p5,5.962591,sphinx3,2133000,0 p5,5.319178,sphinx3,1733000,0 p5,5.378605,sphinx3,1733000,0 p5,5.391005,sphinx3,1733000,0 p5,4.594212,sphinx3,1199000,0 p5,4.575232,sphinx3,1199000,0 p5,4.446991,sphinx3,1199000,0 p5,6.977981,sphinx3,2533000,1 p5,6.824674,sphinx3,2533000,1 p5,6.758247,sphinx3,2533000,1 p5,6.042991,sphinx3,2133000,1 p5,5.995314,sphinx3,2133000,1 p5,5.854628,sphinx3,2133000,1 p5,5.289029,sphinx3,1733000,1 p5,5.222386,sphinx3,1733000,1 p5,5.237890,sphinx3,1733000,1 p5,4.407965,sphinx3,1199000,1 p5,4.399261,sphinx3,1199000,1 p5,4.396668,sphinx3,1199000,1 p5,7.226403,zeusmp,2533000,0 p5,7.318381,zeusmp,2533000,0 p5,7.239982,zeusmp,2533000,0 p5,6.337579,zeusmp,2133000,0 p5,6.327664,zeusmp,2133000,0 p5,6.329323,zeusmp,2133000,0 p5,5.596654,zeusmp,1733000,0 p5,5.645490,zeusmp,1733000,0 p5,5.594366,zeusmp,1733000,0 p5,4.647715,zeusmp,1199000,0 p5,4.596574,zeusmp,1199000,0 p5,4.620125,zeusmp,1199000,0 p5,7.330602,zeusmp,2533000,1 p5,7.259252,zeusmp,2533000,1 p5,7.238597,zeusmp,2533000,1 p5,6.289160,zeusmp,2133000,1 p5,6.312909,zeusmp,2133000,1 p5,6.283892,zeusmp,2133000,1 p5,5.571671,zeusmp,1733000,1 p5,5.617590,zeusmp,1733000,1 p5,5.558945,zeusmp,1733000,1 p5,4.626248,zeusmp,1199000,1 p5,4.660729,zeusmp,1199000,1 p5,4.592474,zeusmp,1199000,1 p5,7.497223,bzip2,2533000,0 p5,7.584725,bzip2,2533000,0 p5,7.623329,bzip2,2533000,0 p5,6.517835,bzip2,2133000,0 p5,6.539237,bzip2,2133000,0 p5,6.512138,bzip2,2133000,0 p5,5.661761,bzip2,1733000,0 p5,5.655831,bzip2,1733000,0 p5,5.639667,bzip2,1733000,0 p5,4.624081,bzip2,1199000,0 p5,4.643123,bzip2,1199000,0 p5,4.645906,bzip2,1199000,0 p5,7.482304,bzip2,2533000,1 p5,7.567518,bzip2,2533000,1 p5,7.573622,bzip2,2533000,1 p5,6.384043,bzip2,2133000,1 p5,6.402303,bzip2,2133000,1 p5,6.380359,bzip2,2133000,1 p5,5.542890,bzip2,1733000,1 p5,5.554701,bzip2,1733000,1 p5,5.532464,bzip2,1733000,1 p5,4.622438,bzip2,1199000,1 p5,4.624392,bzip2,1199000,1 p5,4.618307,bzip2,1199000,1 p5,7.113072,cactusADM,2533000,0 p5,7.274859,cactusADM,2533000,0 p5,7.238854,cactusADM,2533000,0 p5,6.235408,cactusADM,2133000,0 p5,6.226261,cactusADM,2133000,0 p5,6.362919,cactusADM,2133000,0 p5,5.547659,cactusADM,1733000,0 p5,5.569111,cactusADM,1733000,0 p5,5.526496,cactusADM,1733000,0 p5,4.591950,cactusADM,1199000,0 p5,4.578882,cactusADM,1199000,0 p5,4.612875,cactusADM,1199000,0 p5,7.279994,cactusADM,2533000,1 p5,7.229195,cactusADM,2533000,1 p5,7.214511,cactusADM,2533000,1 p5,6.235524,cactusADM,2133000,1 p5,6.260476,cactusADM,2133000,1 p5,6.143601,cactusADM,2133000,1 p5,5.465943,cactusADM,1733000,1 p5,5.462746,cactusADM,1733000,1 p5,5.507150,cactusADM,1733000,1 p5,4.570814,cactusADM,1199000,1 p5,4.589074,cactusADM,1199000,1 p5,4.607683,cactusADM,1199000,1 p5,0.816586,cpuload_all_0_4096,2533000,0 p5,0.772580,cpuload_all_0_4096,2533000,0 p5,0.732160,cpuload_all_0_4096,2533000,0 p5,0.730942,cpuload_all_0_4096,2133000,0 p5,0.798471,cpuload_all_0_4096,2133000,0 p5,0.810098,cpuload_all_0_4096,2133000,0 p5,0.866761,cpuload_all_0_4096,1733000,0 p5,0.829527,cpuload_all_0_4096,1733000,0 p5,0.747212,cpuload_all_0_4096,1733000,0 p5,0.730173,cpuload_all_0_4096,1199000,0 p5,0.809231,cpuload_all_0_4096,1199000,0 p5,0.651092,cpuload_all_0_4096,1199000,0 p5,0.798084,cpuload_all_0_4096,2533000,1 p5,0.802979,cpuload_all_0_4096,2533000,1 p5,0.807589,cpuload_all_0_4096,2533000,1 p5,0.777735,cpuload_all_0_4096,2133000,1 p5,0.873324,cpuload_all_0_4096,2133000,1 p5,0.756894,cpuload_all_0_4096,2133000,1 p5,0.686404,cpuload_all_0_4096,1733000,1 p5,0.676999,cpuload_all_0_4096,1733000,1 p5,0.773405,cpuload_all_0_4096,1733000,1 p5,0.911126,cpuload_all_0_4096,1199000,1 p5,0.735864,cpuload_all_0_4096,1199000,1 p5,0.943272,cpuload_all_0_4096,1199000,1 p5,2.604358,cpuload_all_25_4096,2533000,0 p5,2.619684,cpuload_all_25_4096,2533000,0 p5,2.623157,cpuload_all_25_4096,2533000,0 p5,2.314196,cpuload_all_25_4096,2133000,0 p5,2.337121,cpuload_all_25_4096,2133000,0 p5,2.348197,cpuload_all_25_4096,2133000,0 p5,2.142244,cpuload_all_25_4096,1733000,0 p5,2.194834,cpuload_all_25_4096,1733000,0 p5,2.100407,cpuload_all_25_4096,1733000,0 p5,1.940072,cpuload_all_25_4096,1199000,0 p5,1.922868,cpuload_all_25_4096,1199000,0 p5,1.962481,cpuload_all_25_4096,1199000,0 p5,2.584539,cpuload_all_25_4096,2533000,1 p5,2.560736,cpuload_all_25_4096,2533000,1 p5,2.595780,cpuload_all_25_4096,2533000,1 p5,2.375332,cpuload_all_25_4096,2133000,1 p5,2.338403,cpuload_all_25_4096,2133000,1 p5,2.352211,cpuload_all_25_4096,2133000,1 p5,2.128245,cpuload_all_25_4096,1733000,1 p5,2.123874,cpuload_all_25_4096,1733000,1 p5,2.148701,cpuload_all_25_4096,1733000,1 p5,1.924020,cpuload_all_25_4096,1199000,1 p5,1.928965,cpuload_all_25_4096,1199000,1 p5,1.948891,cpuload_all_25_4096,1199000,1 p5,7.173039,cpuload_all_50_4096,2533000,0 p5,7.156464,cpuload_all_50_4096,2533000,0 p5,7.227943,cpuload_all_50_4096,2533000,0 p5,6.336240,cpuload_all_50_4096,2133000,0 p5,6.361080,cpuload_all_50_4096,2133000,0 p5,6.364505,cpuload_all_50_4096,2133000,0 p5,5.570146,cpuload_all_50_4096,1733000,0 p5,5.371336,cpuload_all_50_4096,1733000,0 p5,5.500142,cpuload_all_50_4096,1733000,0 p5,4.518213,cpuload_all_50_4096,1199000,0 p5,4.563556,cpuload_all_50_4096,1199000,0 p5,4.526024,cpuload_all_50_4096,1199000,0 p5,7.280868,cpuload_all_50_4096,2533000,1 p5,7.276821,cpuload_all_50_4096,2533000,1 p5,7.279610,cpuload_all_50_4096,2533000,1 p5,6.269238,cpuload_all_50_4096,2133000,1 p5,6.274423,cpuload_all_50_4096,2133000,1 p5,5.572450,cpuload_all_50_4096,2133000,1 p5,5.493332,cpuload_all_50_4096,1733000,1 p5,5.481616,cpuload_all_50_4096,1733000,1 p5,5.485912,cpuload_all_50_4096,1733000,1 p5,4.525544,cpuload_all_50_4096,1199000,1 p5,4.588796,cpuload_all_50_4096,1199000,1 p5,4.588699,cpuload_all_50_4096,1199000,1 p5,7.235796,cpuload_all_75_4096,2533000,0 p5,7.176038,cpuload_all_75_4096,2533000,0 p5,7.226101,cpuload_all_75_4096,2533000,0 p5,6.366764,cpuload_all_75_4096,2133000,0 p5,6.366574,cpuload_all_75_4096,2133000,0 p5,6.303610,cpuload_all_75_4096,2133000,0 p5,5.561177,cpuload_all_75_4096,1733000,0 p5,5.492350,cpuload_all_75_4096,1733000,0 p5,5.488715,cpuload_all_75_4096,1733000,0 p5,4.523196,cpuload_all_75_4096,1199000,0 p5,4.522140,cpuload_all_75_4096,1199000,0 p5,4.575640,cpuload_all_75_4096,1199000,0 p5,7.146750,cpuload_all_75_4096,2533000,1 p5,7.191359,cpuload_all_75_4096,2533000,1 p5,7.180570,cpuload_all_75_4096,2533000,1 p5,6.349883,cpuload_all_75_4096,2133000,1 p5,6.220384,cpuload_all_75_4096,2133000,1 p5,6.256777,cpuload_all_75_4096,2133000,1 p5,5.396974,cpuload_all_75_4096,1733000,1 p5,5.485385,cpuload_all_75_4096,1733000,1 p5,5.491532,cpuload_all_75_4096,1733000,1 p5,4.575498,cpuload_all_75_4096,1199000,1 p5,4.596649,cpuload_all_75_4096,1199000,1 p5,4.530986,cpuload_all_75_4096,1199000,1 p5,7.241545,cpuload_all_100_4096,2533000,0 p5,7.231433,cpuload_all_100_4096,2533000,0 p5,7.197141,cpuload_all_100_4096,2533000,0 p5,6.302733,cpuload_all_100_4096,2133000,0 p5,6.320980,cpuload_all_100_4096,2133000,0 p5,6.327021,cpuload_all_100_4096,2133000,0 p5,5.524778,cpuload_all_100_4096,1733000,0 p5,5.524568,cpuload_all_100_4096,1733000,0 p5,5.527858,cpuload_all_100_4096,1733000,0 p5,4.581792,cpuload_all_100_4096,1199000,0 p5,4.592749,cpuload_all_100_4096,1199000,0 p5,4.520580,cpuload_all_100_4096,1199000,0 p5,7.179669,cpuload_all_100_4096,2533000,1 p5,7.231748,cpuload_all_100_4096,2533000,1 p5,7.190693,cpuload_all_100_4096,2533000,1 p5,6.312556,cpuload_all_100_4096,2133000,1 p5,6.276734,cpuload_all_100_4096,2133000,1 p5,6.292643,cpuload_all_100_4096,2133000,1 p5,5.567311,cpuload_all_100_4096,1733000,1 p5,5.502547,cpuload_all_100_4096,1733000,1 p5,5.507439,cpuload_all_100_4096,1733000,1 p5,4.521357,cpuload_all_100_4096,1199000,1 p5,4.523792,cpuload_all_100_4096,1199000,1 p5,4.538029,cpuload_all_100_4096,1199000,1 p5,8.217705,gamess,2533000,0 p5,8.268621,gamess,2533000,0 p5,8.245542,gamess,2533000,0 p5,6.781688,gamess,2133000,0 p5,6.761908,gamess,2133000,0 p5,6.784616,gamess,2133000,0 p5,5.746147,gamess,1733000,0 p5,5.764614,gamess,1733000,0 p5,5.773037,gamess,1733000,0 p5,4.678156,gamess,1199000,0 p5,4.674546,gamess,1199000,0 p5,4.676650,gamess,1199000,0 p5,8.221570,gamess,2533000,1 p5,8.209311,gamess,2533000,1 p5,8.219425,gamess,2533000,1 p5,6.601010,gamess,2133000,1 p5,6.601255,gamess,2133000,1 p5,6.599450,gamess,2133000,1 p5,5.622146,gamess,1733000,1 p5,5.619977,gamess,1733000,1 p5,5.640404,gamess,1733000,1 p5,4.673809,gamess,1199000,1 p5,4.675851,gamess,1199000,1 p5,4.685634,gamess,1199000,1 p5,7.525653,gcc,2533000,0 p5,7.534822,gcc,2533000,0 p5,7.533592,gcc,2533000,0 p5,6.555956,gcc,2133000,0 p5,6.544175,gcc,2133000,0 p5,6.544503,gcc,2133000,0 p5,5.709695,gcc,1733000,0 p5,5.705406,gcc,1733000,0 p5,5.708668,gcc,1733000,0 p5,4.684953,gcc,1199000,0 p5,4.682839,gcc,1199000,0 p5,4.676019,gcc,1199000,0 p5,7.529800,gcc,2533000,1 p5,7.533534,gcc,2533000,1 p5,7.543220,gcc,2533000,1 p5,6.441931,gcc,2133000,1 p5,6.439182,gcc,2133000,1 p5,6.440798,gcc,2133000,1 p5,5.582746,gcc,1733000,1 p5,5.584717,gcc,1733000,1 p5,5.582858,gcc,1733000,1 p5,4.686005,gcc,1199000,1 p5,4.687171,gcc,1199000,1 p5,4.692853,gcc,1199000,1 p5,7.642388,gobmk,2533000,0 p5,7.683653,gobmk,2533000,0 p5,7.653266,gobmk,2533000,0 p5,6.578684,gobmk,2133000,0 p5,6.573952,gobmk,2133000,0 p5,6.573187,gobmk,2133000,0 p5,5.689305,gobmk,1733000,0 p5,5.679455,gobmk,1733000,0 p5,5.696811,gobmk,1733000,0 p5,4.675654,gobmk,1199000,0 p5,4.670342,gobmk,1199000,0 p5,4.663146,gobmk,1199000,0 p5,7.604933,gobmk,2533000,1 p5,7.657982,gobmk,2533000,1 p5,7.617304,gobmk,2533000,1 p5,6.437502,gobmk,2133000,1 p5,6.435582,gobmk,2133000,1 p5,6.477496,gobmk,2133000,1 p5,5.561727,gobmk,1733000,1 p5,5.577229,gobmk,1733000,1 p5,5.571061,gobmk,1733000,1 p5,4.668258,gobmk,1199000,1 p5,4.667685,gobmk,1199000,1 p5,4.664804,gobmk,1199000,1 p5,7.503810,gromacs,2533000,0 p5,7.496348,gromacs,2533000,0 p5,7.521756,gromacs,2533000,0 p5,6.530395,gromacs,2133000,0 p5,6.534561,gromacs,2133000,0 p5,6.523337,gromacs,2133000,0 p5,5.668047,gromacs,1733000,0 p5,5.682861,gromacs,1733000,0 p5,5.680550,gromacs,1733000,0 p5,4.666331,gromacs,1199000,0 p5,4.669479,gromacs,1199000,0 p5,4.667154,gromacs,1199000,0 p5,7.473923,gromacs,2533000,1 p5,7.494586,gromacs,2533000,1 p5,7.503131,gromacs,2533000,1 p5,6.381521,gromacs,2133000,1 p5,6.409155,gromacs,2133000,1 p5,6.404996,gromacs,2133000,1 p5,5.565349,gromacs,1733000,1 p5,5.543227,gromacs,1733000,1 p5,5.559028,gromacs,1733000,1 p5,4.667384,gromacs,1199000,1 p5,4.668124,gromacs,1199000,1 p5,4.666767,gromacs,1199000,1 p5,7.720523,h264ref,2533000,0 p5,7.802582,h264ref,2533000,0 p5,7.805552,h264ref,2533000,0 p5,6.472769,h264ref,2133000,0 p5,6.468017,h264ref,2133000,0 p5,6.503728,h264ref,2133000,0 p5,5.633747,h264ref,1733000,0 p5,5.565739,h264ref,1733000,0 p5,5.567899,h264ref,1733000,0 p5,4.646072,h264ref,1199000,0 p5,4.654898,h264ref,1199000,0 p5,4.666790,h264ref,1199000,0 p5,7.740139,h264ref,2533000,1 p5,7.730858,h264ref,2533000,1 p5,7.661138,h264ref,2533000,1 p5,6.438558,h264ref,2133000,1 p5,6.442684,h264ref,2133000,1 p5,6.503130,h264ref,2133000,1 p5,5.547144,h264ref,1733000,1 p5,5.549812,h264ref,1733000,1 p5,5.537255,h264ref,1733000,1 p5,4.668600,h264ref,1199000,1 p5,4.667975,h264ref,1199000,1 p5,4.666584,h264ref,1199000,1 p5,8.092936,hmmer,2533000,0 p5,8.067553,hmmer,2533000,0 p5,8.085892,hmmer,2533000,0 p5,6.481090,hmmer,2133000,0 p5,6.505221,hmmer,2133000,0 p5,6.489453,hmmer,2133000,0 p5,5.544419,hmmer,1733000,0 p5,5.535082,hmmer,1733000,0 p5,5.540134,hmmer,1733000,0 p5,4.662979,hmmer,1199000,0 p5,4.627106,hmmer,1199000,0 p5,4.636026,hmmer,1199000,0 p5,7.971217,hmmer,2533000,1 p5,7.887496,hmmer,2533000,1 p5,7.912615,hmmer,2533000,1 p5,6.587163,hmmer,2133000,1 p5,6.561731,hmmer,2133000,1 p5,6.551079,hmmer,2133000,1 p5,5.531104,hmmer,1733000,1 p5,5.543723,hmmer,1733000,1 p5,5.538145,hmmer,1733000,1 p5,4.642067,hmmer,1199000,1 p5,4.640946,hmmer,1199000,1 p5,4.638956,hmmer,1199000,1 p5,7.311544,lbm,2533000,0 p5,7.329062,lbm,2533000,0 p5,7.292106,lbm,2533000,0 p5,6.343914,lbm,2133000,0 p5,6.380890,lbm,2133000,0 p5,6.307024,lbm,2133000,0 p5,5.419388,lbm,1733000,0 p5,5.429671,lbm,1733000,0 p5,5.430755,lbm,1733000,0 p5,4.608975,lbm,1199000,0 p5,4.591636,lbm,1199000,0 p5,4.608203,lbm,1199000,0 p5,7.290129,lbm,2533000,1 p5,7.309613,lbm,2533000,1 p5,7.352691,lbm,2533000,1 p5,6.286047,lbm,2133000,1 p5,6.291736,lbm,2133000,1 p5,6.330654,lbm,2133000,1 p5,5.471196,lbm,1733000,1 p5,5.480784,lbm,1733000,1 p5,5.478851,lbm,1733000,1 p5,4.609530,lbm,1199000,1 p5,4.592835,lbm,1199000,1 p5,4.582448,lbm,1199000,1 p5,7.532209,leslie3d,2533000,0 p5,7.500954,leslie3d,2533000,0 p5,7.514352,leslie3d,2533000,0 p5,6.425924,leslie3d,2133000,0 p5,6.431965,leslie3d,2133000,0 p5,6.433334,leslie3d,2133000,0 p5,5.551177,leslie3d,1733000,0 p5,5.550020,leslie3d,1733000,0 p5,5.565553,leslie3d,1733000,0 p5,4.677642,leslie3d,1199000,0 p5,4.669814,leslie3d,1199000,0 p5,4.673525,leslie3d,1199000,0 p5,7.489896,leslie3d,2533000,1 p5,7.505656,leslie3d,2533000,1 p5,7.473888,leslie3d,2533000,1 p5,6.398019,leslie3d,2133000,1 p5,6.395304,leslie3d,2133000,1 p5,6.402186,leslie3d,2133000,1 p5,5.527787,leslie3d,1733000,1 p5,5.535331,leslie3d,1733000,1 p5,5.533006,leslie3d,1733000,1 p5,4.672755,leslie3d,1199000,1 p5,4.660316,leslie3d,1199000,1 p5,4.661943,leslie3d,1199000,1 p5,7.020957,mcf,2533000,0 p5,7.014031,mcf,2533000,0 p5,7.056846,mcf,2533000,0 p5,6.230346,mcf,2133000,0 p5,6.183401,mcf,2133000,0 p5,6.164130,mcf,2133000,0 p5,5.435111,mcf,1733000,0 p5,5.482771,mcf,1733000,0 p5,5.424487,mcf,1733000,0 p5,4.528930,mcf,1199000,0 p5,4.560314,mcf,1199000,0 p5,4.547768,mcf,1199000,0 p5,7.046930,mcf,2533000,1 p5,6.925832,mcf,2533000,1 p5,7.009465,mcf,2533000,1 p5,6.140245,mcf,2133000,1 p5,6.155336,mcf,2133000,1 p5,6.082117,mcf,2133000,1 p5,5.402787,mcf,1733000,1 p5,5.336873,mcf,1733000,1 p5,5.264313,mcf,1733000,1 p5,4.537427,mcf,1199000,1 p5,4.510070,mcf,1199000,1 p5,4.505023,mcf,1199000,1 p5,6.949828,milc,2533000,0 p5,6.791311,milc,2533000,0 p5,6.794962,milc,2533000,0 p5,6.024990,milc,2133000,0 p5,6.011926,milc,2133000,0 p5,6.026245,milc,2133000,0 p5,5.275656,milc,1733000,0 p5,5.388880,milc,1733000,0 p5,5.388595,milc,1733000,0 p5,4.533592,milc,1199000,0 p5,4.431519,milc,1199000,0 p5,4.514237,milc,1199000,0 p5,6.824429,milc,2533000,1 p5,6.795462,milc,2533000,1 p5,6.799122,milc,2533000,1 p5,5.915174,milc,2133000,1 p5,5.956814,milc,2133000,1 p5,5.974664,milc,2133000,1 p5,5.191576,milc,1733000,1 p5,5.153697,milc,1733000,1 p5,5.270921,milc,1733000,1 p5,4.449937,milc,1199000,1 p5,4.383200,milc,1199000,1 p5,4.476536,milc,1199000,1 p5,6.853863,namd,2533000,0 p5,7.067999,namd,2533000,0 p5,6.819432,namd,2533000,0 p5,5.964829,namd,2133000,0 p5,6.078144,namd,2133000,0 p5,5.865356,namd,2133000,0 p5,5.354650,namd,1733000,0 p5,5.302451,namd,1733000,0 p5,5.224897,namd,1733000,0 p5,4.464240,namd,1199000,0 p5,4.457812,namd,1199000,0 p5,4.464578,namd,1199000,0 p5,6.825756,namd,2533000,1 p5,6.821699,namd,2533000,1 p5,6.927322,namd,2533000,1 p6,7.192051,bzip2,2533000,0 p6,7.196073,bzip2,2533000,0 p6,7.174841,bzip2,2533000,0 p6,6.338266,bzip2,2133000,0 p6,6.319319,bzip2,2133000,0 p6,6.382844,bzip2,2133000,0 p6,5.510649,bzip2,1733000,0 p6,5.458915,bzip2,1733000,0 p6,5.493974,bzip2,1733000,0 p6,4.628251,bzip2,1199000,0 p6,4.607149,bzip2,1199000,0 p6,4.614514,bzip2,1199000,0 p6,7.193860,bzip2,2533000,1 p6,7.183218,bzip2,2533000,1 p6,7.194356,bzip2,2533000,1 p6,6.308683,bzip2,2133000,1 p6,6.347557,bzip2,2133000,1 p6,6.340608,bzip2,2133000,1 p6,5.411857,bzip2,1733000,1 p6,5.445159,bzip2,1733000,1 p6,5.465946,bzip2,1733000,1 p6,4.624652,bzip2,1199000,1 p6,4.614595,bzip2,1199000,1 p6,4.629840,bzip2,1199000,1 p6,6.831406,cactusADM,2533000,0 p6,6.861094,cactusADM,2533000,0 p6,6.931441,cactusADM,2533000,0 p6,6.205904,cactusADM,2133000,0 p6,6.136361,cactusADM,2133000,0 p6,6.227812,cactusADM,2133000,0 p6,5.414410,cactusADM,1733000,0 p6,5.437257,cactusADM,1733000,0 p6,5.360849,cactusADM,1733000,0 p6,4.584148,cactusADM,1199000,0 p6,4.564439,cactusADM,1199000,0 p6,4.538176,cactusADM,1199000,0 p6,6.850210,cactusADM,2533000,1 p6,6.966297,cactusADM,2533000,1 p6,6.836090,cactusADM,2533000,1 p6,6.057338,cactusADM,2133000,1 p6,6.215639,cactusADM,2133000,1 p6,6.240960,cactusADM,2133000,1 p6,5.384486,cactusADM,1733000,1 p6,5.404463,cactusADM,1733000,1 p6,5.457245,cactusADM,1733000,1 p6,4.514024,cactusADM,1199000,1 p6,4.574318,cactusADM,1199000,1 p6,4.585937,cactusADM,1199000,1 p6,0.804665,cpuload_all_0_4096,2533000,0 p6,0.697051,cpuload_all_0_4096,2533000,0 p6,0.793311,cpuload_all_0_4096,2533000,0 p6,0.769268,cpuload_all_0_4096,2133000,0 p6,0.736293,cpuload_all_0_4096,2133000,0 p6,0.707070,cpuload_all_0_4096,2133000,0 p6,0.786369,cpuload_all_0_4096,1733000,0 p6,0.683903,cpuload_all_0_4096,1733000,0 p6,0.776461,cpuload_all_0_4096,1733000,0 p6,0.762274,cpuload_all_0_4096,1199000,0 p6,0.676134,cpuload_all_0_4096,1199000,0 p6,0.658541,cpuload_all_0_4096,1199000,0 p6,0.809829,cpuload_all_0_4096,2533000,1 p6,0.787536,cpuload_all_0_4096,2533000,1 p6,0.789395,cpuload_all_0_4096,2533000,1 p6,0.726941,cpuload_all_0_4096,2133000,1 p6,0.742459,cpuload_all_0_4096,2133000,1 p6,0.684883,cpuload_all_0_4096,2133000,1 p6,0.756875,cpuload_all_0_4096,1733000,1 p6,0.846523,cpuload_all_0_4096,1733000,1 p6,0.815562,cpuload_all_0_4096,1733000,1 p6,0.816477,cpuload_all_0_4096,1199000,1 p6,0.698524,cpuload_all_0_4096,1199000,1 p6,0.725133,cpuload_all_0_4096,1199000,1 p6,2.606073,cpuload_all_25_4096,2533000,0 p6,2.625199,cpuload_all_25_4096,2533000,0 p6,2.581875,cpuload_all_25_4096,2533000,0 p6,2.390247,cpuload_all_25_4096,2133000,0 p6,2.335693,cpuload_all_25_4096,2133000,0 p6,2.400409,cpuload_all_25_4096,2133000,0 p6,2.140085,cpuload_all_25_4096,1733000,0 p6,2.150205,cpuload_all_25_4096,1733000,0 p6,2.110639,cpuload_all_25_4096,1733000,0 p6,1.925602,cpuload_all_25_4096,1199000,0 p6,1.953559,cpuload_all_25_4096,1199000,0 p6,1.949677,cpuload_all_25_4096,1199000,0 p6,2.552582,cpuload_all_25_4096,2533000,1 p6,2.545042,cpuload_all_25_4096,2533000,1 p6,2.557646,cpuload_all_25_4096,2533000,1 p6,2.326810,cpuload_all_25_4096,2133000,1 p6,2.352912,cpuload_all_25_4096,2133000,1 p6,2.315066,cpuload_all_25_4096,2133000,1 p6,2.096010,cpuload_all_25_4096,1733000,1 p6,2.084973,cpuload_all_25_4096,1733000,1 p6,2.103947,cpuload_all_25_4096,1733000,1 p6,1.932025,cpuload_all_25_4096,1199000,1 p6,1.928633,cpuload_all_25_4096,1199000,1 p6,1.913663,cpuload_all_25_4096,1199000,1 p6,6.886122,cpuload_all_50_4096,2533000,0 p6,6.901125,cpuload_all_50_4096,2533000,0 p6,6.929834,cpuload_all_50_4096,2533000,0 p6,6.176979,cpuload_all_50_4096,2133000,0 p6,5.924688,namd,2133000,1 p6,6.052464,namd,2133000,1 p6,6.038282,namd,2133000,1 p6,5.195265,namd,1733000,1 p6,5.206010,namd,1733000,1 p6,5.282692,namd,1733000,1 p6,4.567091,namd,1199000,1 p6,4.555210,namd,1199000,1 p6,4.472308,namd,1199000,1 p6,7.533085,omnetpp,2533000,0 p6,5.558535,cpuload_all_50_4096,2133000,0 p6,7.536945,omnetpp,2533000,0 p6,7.532184,omnetpp,2533000,0 p6,6.405022,omnetpp,2133000,0 p6,6.414565,omnetpp,2133000,0 p6,6.429162,omnetpp,2133000,0 p6,5.482277,omnetpp,1733000,0 p6,5.533380,omnetpp,1733000,0 p6,5.524447,omnetpp,1733000,0 p6,4.627796,omnetpp,1199000,0 p6,4.621417,omnetpp,1199000,0 p6,6.151261,cpuload_all_50_4096,2133000,0 p6,4.620985,omnetpp,1199000,0 p6,7.528614,omnetpp,2533000,1 p6,7.479352,omnetpp,2533000,1 p6,7.452973,omnetpp,2533000,1 p6,6.426314,omnetpp,2133000,1 p6,6.465232,omnetpp,2133000,1 p6,6.433497,omnetpp,2133000,1 p6,5.513115,omnetpp,1733000,1 p6,5.528949,omnetpp,1733000,1 p6,5.527368,omnetpp,1733000,1 p6,5.056039,cpuload_all_50_4096,1733000,0 p6,4.621709,omnetpp,1199000,1 p6,4.624501,omnetpp,1199000,1 p6,4.610116,omnetpp,1199000,1 p6,6.278761,povray,2533000,0 p6,6.276687,povray,2533000,0 p6,6.298273,povray,2533000,0 p6,5.943821,povray,2133000,0 p6,5.683423,povray,2133000,0 p6,5.814051,povray,2133000,0 p6,4.862487,povray,1733000,0 p6,5.355505,cpuload_all_50_4096,1733000,0 p6,4.940909,povray,1733000,0 p6,5.114627,povray,1733000,0 p6,4.400047,povray,1199000,0 p6,4.378139,povray,1199000,0 p6,4.403242,povray,1199000,0 p6,6.599823,povray,2533000,1 p6,6.362218,povray,2533000,1 p6,6.784064,povray,2533000,1 p6,5.700684,povray,2133000,1 p6,5.816118,povray,2133000,1 p6,5.377580,cpuload_all_50_4096,1733000,0 p6,5.669758,povray,2133000,1 p6,5.064734,povray,1733000,1 p6,5.125730,povray,1733000,1 p6,5.172016,povray,1733000,1 p6,4.241415,povray,1199000,1 p6,4.246487,povray,1199000,1 p6,4.246033,povray,1199000,1 p6,7.332606,sjeng,2533000,0 p6,7.332759,sjeng,2533000,0 p6,7.283600,sjeng,2533000,0 p6,4.523093,cpuload_all_50_4096,1199000,0 p6,6.409864,sjeng,2133000,0 p6,6.398941,sjeng,2133000,0 p6,6.426427,sjeng,2133000,0 p6,5.544006,sjeng,1733000,0 p6,5.544184,sjeng,1733000,0 p6,5.532074,sjeng,1733000,0 p6,4.641412,sjeng,1199000,0 p6,4.648012,sjeng,1199000,0 p6,4.652124,sjeng,1199000,0 p6,7.324605,sjeng,2533000,1 p6,4.531055,cpuload_all_50_4096,1199000,0 p6,7.303873,sjeng,2533000,1 p6,7.343339,sjeng,2533000,1 p6,6.404254,sjeng,2133000,1 p6,6.403155,sjeng,2133000,1 p6,6.421680,sjeng,2133000,1 p6,5.534236,sjeng,1733000,1 p6,5.538205,sjeng,1733000,1 p6,7.409080,sjeng,2533000,0 p6,7.363776,sjeng,2533000,0 p6,7.305007,sjeng,2533000,0 p6,4.581132,cpuload_all_50_4096,1199000,0 p6,6.427259,sjeng,2133000,0 p6,6.408532,sjeng,2133000,0 p6,6.403373,sjeng,2133000,0 p6,5.531202,sjeng,1733000,0 p6,5.523955,sjeng,1733000,0 p6,5.527104,sjeng,1733000,0 p6,4.643977,sjeng,1199000,0 p6,4.652116,sjeng,1199000,0 p6,4.652198,sjeng,1199000,0 p6,7.414879,sjeng,2533000,1 p6,6.911041,cpuload_all_50_4096,2533000,1 p6,7.402179,sjeng,2533000,1 p6,7.460207,sjeng,2533000,1 p6,6.390439,sjeng,2133000,1 p6,6.434791,sjeng,2133000,1 p6,6.426222,sjeng,2133000,1 p6,5.531174,sjeng,1733000,1 p6,5.542665,sjeng,1733000,1 p6,5.526293,sjeng,1733000,1 p6,4.650594,sjeng,1199000,1 p6,4.663474,sjeng,1199000,1 p6,6.862369,cpuload_all_50_4096,2533000,1 p6,4.658966,sjeng,1199000,1 p6,5.980280,soplex,2533000,0 p6,5.903042,soplex,2533000,0 p6,6.358749,soplex,2533000,0 p6,5.654760,soplex,2133000,0 p6,5.619995,soplex,2133000,0 p6,5.643375,soplex,2133000,0 p6,4.820267,soplex,1733000,0 p6,4.957297,soplex,1733000,0 p6,4.828476,soplex,1733000,0 p6,6.905436,cpuload_all_50_4096,2533000,1 p6,4.243390,soplex,1199000,0 p6,4.289237,soplex,1199000,0 p6,4.245600,soplex,1199000,0 p6,5.910001,soplex,2533000,1 p6,6.351725,soplex,2533000,1 p6,6.318652,soplex,2533000,1 p6,5.591309,soplex,2133000,1 p6,5.352564,soplex,2133000,1 p6,5.334958,soplex,2133000,1 p6,4.913452,soplex,1733000,1 p6,6.140450,cpuload_all_50_4096,2133000,1 p6,4.864737,soplex,1733000,1 p6,4.989799,soplex,1733000,1 p6,4.222106,soplex,1199000,1 p6,4.322487,soplex,1199000,1 p6,4.354251,soplex,1199000,1 p6,6.700573,sphinx3,2533000,0 p6,6.568797,sphinx3,2533000,0 p6,6.667075,sphinx3,2533000,0 p6,5.989438,sphinx3,2133000,0 p6,5.723358,sphinx3,2133000,0 p6,6.145591,cpuload_all_50_4096,2133000,1 p6,5.923844,sphinx3,2133000,0 p6,5.119519,sphinx3,1733000,0 p6,4.944156,sphinx3,1733000,0 p6,5.235788,sphinx3,1733000,0 p6,4.358568,sphinx3,1199000,0 p6,4.406938,sphinx3,1199000,0 p6,4.427258,sphinx3,1199000,0 p6,6.629769,sphinx3,2533000,1 p6,6.740993,sphinx3,2533000,1 p6,6.625606,sphinx3,2533000,1 p6,6.155448,cpuload_all_50_4096,2133000,1 p6,5.872148,sphinx3,2133000,1 p6,5.937497,sphinx3,2133000,1 p6,5.693413,sphinx3,2133000,1 p6,5.131321,sphinx3,1733000,1 p6,5.111232,sphinx3,1733000,1 p6,5.222713,sphinx3,1733000,1 p6,4.386215,sphinx3,1199000,1 p6,4.389909,sphinx3,1199000,1 p6,4.372334,sphinx3,1199000,1 p6,7.084212,zeusmp,2533000,0 p6,5.363405,cpuload_all_50_4096,1733000,1 p6,7.001970,zeusmp,2533000,0 p6,7.044037,zeusmp,2533000,0 p6,6.185229,zeusmp,2133000,0 p6,6.180106,zeusmp,2133000,0 p6,6.135668,zeusmp,2133000,0 p6,5.384826,zeusmp,1733000,0 p6,5.402829,zeusmp,1733000,0 p6,5.372351,zeusmp,1733000,0 p6,4.567639,zeusmp,1199000,0 p6,4.574031,zeusmp,1199000,0 p6,5.426638,cpuload_all_50_4096,1733000,1 p6,4.582350,zeusmp,1199000,0 p6,7.024942,zeusmp,2533000,1 p6,7.072508,zeusmp,2533000,1 p6,6.973886,zeusmp,2533000,1 p6,6.182217,zeusmp,2133000,1 p6,6.114144,zeusmp,2133000,1 p6,6.172696,zeusmp,2133000,1 p6,5.407869,zeusmp,1733000,1 p6,5.415783,zeusmp,1733000,1 p6,5.404504,zeusmp,1733000,1 p6,5.360125,cpuload_all_50_4096,1733000,1 p6,4.494412,zeusmp,1199000,1 p6,4.573784,zeusmp,1199000,1 p6,4.568363,zeusmp,1199000,1 p6,7.254730,bzip2,2533000,0 p6,7.348006,bzip2,2533000,0 p6,7.230800,bzip2,2533000,0 p6,6.336377,bzip2,2133000,0 p6,6.306259,bzip2,2133000,0 p6,6.302273,bzip2,2133000,0 p6,5.462726,bzip2,1733000,0 p6,4.529073,cpuload_all_50_4096,1199000,1 p6,5.470722,bzip2,1733000,0 p6,5.454492,bzip2,1733000,0 p6,4.603918,bzip2,1199000,0 p6,4.605022,bzip2,1199000,0 p6,4.638201,bzip2,1199000,0 p6,7.147940,bzip2,2533000,1 p6,7.151065,bzip2,2533000,1 p6,7.133745,bzip2,2533000,1 p6,6.329949,bzip2,2133000,1 p6,6.313510,bzip2,2133000,1 p6,4.525196,cpuload_all_50_4096,1199000,1 p6,6.297420,bzip2,2133000,1 p6,5.422602,bzip2,1733000,1 p6,5.493559,bzip2,1733000,1 p6,5.448769,bzip2,1733000,1 p6,4.614712,bzip2,1199000,1 p6,4.636677,bzip2,1199000,1 p6,4.637854,bzip2,1199000,1 p6,6.930613,cactusADM,2533000,0 p6,6.956667,cactusADM,2533000,0 p6,6.976361,cactusADM,2533000,0 p6,4.529746,cpuload_all_50_4096,1199000,1 p6,6.166776,cactusADM,2133000,0 p6,6.137850,cactusADM,2133000,0 p6,6.085407,cactusADM,2133000,0 p6,5.326049,cactusADM,1733000,0 p6,5.327107,cactusADM,1733000,0 p6,5.349254,cactusADM,1733000,0 p6,4.532840,cactusADM,1199000,0 p6,4.561834,cactusADM,1199000,0 p6,4.526426,cactusADM,1199000,0 p6,6.951290,cactusADM,2533000,1 p6,6.867989,cpuload_all_75_4096,2533000,0 p6,6.895063,cactusADM,2533000,1 p6,6.902181,cactusADM,2533000,1 p6,6.135522,cactusADM,2133000,1 p6,6.051644,cactusADM,2133000,1 p6,6.112427,cactusADM,2133000,1 p6,5.363660,cactusADM,1733000,1 p6,5.367919,cactusADM,1733000,1 p6,5.335722,cactusADM,1733000,1 p6,4.584966,cactusADM,1199000,1 p6,4.555656,cactusADM,1199000,1 p6,6.863503,cpuload_all_75_4096,2533000,0 p6,4.592798,cactusADM,1199000,1 p6,0.773572,cpuload_all_0_4096,2533000,0 p6,0.781211,cpuload_all_0_4096,2533000,0 p6,0.711879,cpuload_all_0_4096,2533000,0 p6,0.748169,cpuload_all_0_4096,2133000,0 p6,0.768307,cpuload_all_0_4096,2133000,0 p6,0.743254,cpuload_all_0_4096,2133000,0 p6,0.799760,cpuload_all_0_4096,1733000,0 p6,0.737162,cpuload_all_0_4096,1733000,0 p6,0.708386,cpuload_all_0_4096,1733000,0 p6,6.966061,cpuload_all_75_4096,2533000,0 p6,0.605458,cpuload_all_0_4096,1199000,0 p6,0.753513,cpuload_all_0_4096,1199000,0 p6,0.617626,cpuload_all_0_4096,1199000,0 p6,0.751325,cpuload_all_0_4096,2533000,1 p6,0.804563,cpuload_all_0_4096,2533000,1 p6,0.773258,cpuload_all_0_4096,2533000,1 p6,0.670396,cpuload_all_0_4096,2133000,1 p6,0.749871,cpuload_all_0_4096,2133000,1 p6,0.702696,cpuload_all_0_4096,2133000,1 p6,0.703538,cpuload_all_0_4096,1733000,1 p6,6.163570,cpuload_all_75_4096,2133000,0 p6,0.703547,cpuload_all_0_4096,1733000,1 p6,0.743156,cpuload_all_0_4096,1733000,1 p6,0.649826,cpuload_all_0_4096,1199000,1 p6,0.766185,cpuload_all_0_4096,1199000,1 p6,0.770258,cpuload_all_0_4096,1199000,1 p6,2.578694,cpuload_all_25_4096,2533000,0 p6,2.693525,cpuload_all_25_4096,2533000,0 p6,2.606717,cpuload_all_25_4096,2533000,0 p6,2.273598,cpuload_all_25_4096,2133000,0 p6,2.306904,cpuload_all_25_4096,2133000,0 p6,6.245343,cpuload_all_75_4096,2133000,0 p6,2.269801,cpuload_all_25_4096,2133000,0 p6,2.066132,cpuload_all_25_4096,1733000,0 p6,2.074606,cpuload_all_25_4096,1733000,0 p6,2.078170,cpuload_all_25_4096,1733000,0 p6,1.905123,cpuload_all_25_4096,1199000,0 p6,1.907899,cpuload_all_25_4096,1199000,0 p6,1.897327,cpuload_all_25_4096,1199000,0 p6,2.531995,cpuload_all_25_4096,2533000,1 p6,2.539674,cpuload_all_25_4096,2533000,1 p6,2.556780,cpuload_all_25_4096,2533000,1 p6,6.165706,cpuload_all_75_4096,2133000,0 p6,2.323876,cpuload_all_25_4096,2133000,1 p6,2.293170,cpuload_all_25_4096,2133000,1 p6,2.314381,cpuload_all_25_4096,2133000,1 p6,2.084868,cpuload_all_25_4096,1733000,1 p6,2.095312,cpuload_all_25_4096,1733000,1 p6,2.092392,cpuload_all_25_4096,1733000,1 p6,1.912458,cpuload_all_25_4096,1199000,1 p6,1.862693,cpuload_all_25_4096,1199000,1 p6,1.893214,cpuload_all_25_4096,1199000,1 p6,7.081671,cpuload_all_50_4096,2533000,0 p6,5.409896,cpuload_all_75_4096,1733000,0 p6,7.031735,cpuload_all_50_4096,2533000,0 p6,6.992053,cpuload_all_50_4096,2533000,0 p6,6.111994,cpuload_all_50_4096,2133000,0 p6,5.448592,cpuload_all_50_4096,2133000,0 p6,6.097863,cpuload_all_50_4096,2133000,0 p6,5.397876,cpuload_all_50_4096,1733000,0 p6,5.342738,cpuload_all_50_4096,1733000,0 p6,5.401385,cpuload_all_50_4096,1733000,0 p6,4.507687,cpuload_all_50_4096,1199000,0 p6,4.518196,cpuload_all_50_4096,1199000,0 p6,5.357100,cpuload_all_75_4096,1733000,0 p6,4.563508,cpuload_all_50_4096,1199000,0 p6,6.982688,cpuload_all_50_4096,2533000,1 p6,6.948675,cpuload_all_50_4096,2533000,1 p6,6.982686,cpuload_all_50_4096,2533000,1 p6,6.140966,cpuload_all_50_4096,2133000,1 p6,5.436640,cpuload_all_50_4096,2133000,1 p6,6.131832,cpuload_all_50_4096,2133000,1 p6,5.349077,cpuload_all_50_4096,1733000,1 p6,5.221166,cpuload_all_50_4096,1733000,1 p6,5.325591,cpuload_all_50_4096,1733000,1 p6,5.371171,cpuload_all_75_4096,1733000,0 p6,4.510476,cpuload_all_50_4096,1199000,1 p6,4.560645,cpuload_all_50_4096,1199000,1 p6,4.510411,cpuload_all_50_4096,1199000,1 p6,7.020259,cpuload_all_75_4096,2533000,0 p6,7.076098,cpuload_all_75_4096,2533000,0 p6,7.007040,cpuload_all_75_4096,2533000,0 p6,6.097392,cpuload_all_75_4096,2133000,0 p6,6.190737,cpuload_all_75_4096,2133000,0 p6,6.149567,cpuload_all_75_4096,2133000,0 p6,5.342580,cpuload_all_75_4096,1733000,0 p6,4.522461,cpuload_all_75_4096,1199000,0 p6,5.322998,cpuload_all_75_4096,1733000,0 p6,5.400103,cpuload_all_75_4096,1733000,0 p6,4.513380,cpuload_all_75_4096,1199000,0 p6,4.508984,cpuload_all_75_4096,1199000,0 p6,4.568377,cpuload_all_75_4096,1199000,0 p6,6.984796,cpuload_all_75_4096,2533000,1 p6,6.964602,cpuload_all_75_4096,2533000,1 p6,6.959939,cpuload_all_75_4096,2533000,1 p6,6.239035,cpuload_all_75_4096,2133000,1 p6,6.134648,cpuload_all_75_4096,2133000,1 p6,4.587513,cpuload_all_75_4096,1199000,0 p6,6.116058,cpuload_all_75_4096,2133000,1 p6,5.326744,cpuload_all_75_4096,1733000,1 p6,5.410083,cpuload_all_75_4096,1733000,1 p6,5.348010,cpuload_all_75_4096,1733000,1 p6,4.518853,cpuload_all_75_4096,1199000,1 p6,4.561948,cpuload_all_75_4096,1199000,1 p6,4.512589,cpuload_all_75_4096,1199000,1 p6,7.029772,cpuload_all_100_4096,2533000,0 p6,7.106137,cpuload_all_100_4096,2533000,0 p6,7.019471,cpuload_all_100_4096,2533000,0 p6,4.524336,cpuload_all_75_4096,1199000,0 p6,6.109573,cpuload_all_100_4096,2133000,0 p6,6.190719,cpuload_all_100_4096,2133000,0 p6,6.120508,cpuload_all_100_4096,2133000,0 p6,5.346425,cpuload_all_100_4096,1733000,0 p6,5.406082,cpuload_all_100_4096,1733000,0 p6,5.344842,cpuload_all_100_4096,1733000,0 p6,4.502740,cpuload_all_100_4096,1199000,0 p6,4.516189,cpuload_all_100_4096,1199000,0 p6,4.530505,cpuload_all_100_4096,1199000,0 p6,6.983751,cpuload_all_100_4096,2533000,1 p6,6.873904,cpuload_all_75_4096,2533000,1 p6,7.060363,cpuload_all_100_4096,2533000,1 p6,6.947092,cpuload_all_100_4096,2533000,1 p6,6.152397,cpuload_all_100_4096,2133000,1 p6,6.149620,cpuload_all_100_4096,2133000,1 p6,6.167184,cpuload_all_100_4096,2133000,1 p6,5.417590,cpuload_all_100_4096,1733000,1 p6,5.356824,cpuload_all_100_4096,1733000,1 p6,5.348467,cpuload_all_100_4096,1733000,1 p6,4.566538,cpuload_all_100_4096,1199000,1 p6,4.513033,cpuload_all_100_4096,1199000,1 p6,7.065101,cpuload_all_75_4096,2533000,1 p6,4.513288,cpuload_all_100_4096,1199000,1 p6,7.860477,gamess,2533000,0 p6,7.894990,gamess,2533000,0 p6,7.873755,gamess,2533000,0 p6,6.595312,gamess,2133000,0 p6,6.627596,gamess,2133000,0 p6,6.604295,gamess,2133000,0 p6,5.579326,gamess,1733000,0 p6,5.595735,gamess,1733000,0 p6,5.579535,gamess,1733000,0 p6,6.895445,cpuload_all_75_4096,2533000,1 p6,4.665433,gamess,1199000,0 p6,4.666369,gamess,1199000,0 p6,4.658463,gamess,1199000,0 p6,7.896807,gamess,2533000,1 p6,7.882795,gamess,2533000,1 p6,7.899510,gamess,2533000,1 p6,6.606132,gamess,2133000,1 p6,6.599861,gamess,2133000,1 p6,6.608563,gamess,2133000,1 p6,5.598025,gamess,1733000,1 p6,6.160357,cpuload_all_75_4096,2133000,1 p6,5.604100,gamess,1733000,1 p6,5.605942,gamess,1733000,1 p6,4.678967,gamess,1199000,1 p6,4.671093,gamess,1199000,1 p6,4.663707,gamess,1199000,1 p6,7.291030,gcc,2533000,0 p6,7.268134,gcc,2533000,0 p6,7.251287,gcc,2533000,0 p6,6.425407,gcc,2133000,0 p6,6.429206,gcc,2133000,0 p6,6.160105,cpuload_all_75_4096,2133000,1 p6,6.432277,gcc,2133000,0 p6,5.564327,gcc,1733000,0 p6,5.563235,gcc,1733000,0 p6,5.569593,gcc,1733000,0 p6,4.686093,gcc,1199000,0 p6,4.686154,gcc,1199000,0 p6,4.688098,gcc,1199000,0 p6,7.218748,gcc,2533000,1 p6,7.227408,gcc,2533000,1 p6,7.215866,gcc,2533000,1 p6,6.271842,cpuload_all_75_4096,2133000,1 p6,6.432567,gcc,2133000,1 p6,6.429157,gcc,2133000,1 p6,6.432423,gcc,2133000,1 p6,5.572024,gcc,1733000,1 p6,5.576781,gcc,1733000,1 p6,5.581057,gcc,1733000,1 p6,4.693470,gcc,1199000,1 p6,4.692716,gcc,1199000,1 p6,4.694046,gcc,1199000,1 p6,7.348870,gobmk,2533000,0 p6,5.372226,cpuload_all_75_4096,1733000,1 p6,7.331046,gobmk,2533000,0 p6,7.377649,gobmk,2533000,0 p6,6.430689,gobmk,2133000,0 p6,6.456616,gobmk,2133000,0 p6,6.440314,gobmk,2133000,0 p6,5.565825,gobmk,1733000,0 p6,5.579463,gobmk,1733000,0 p6,5.549990,gobmk,1733000,0 p6,4.678973,gobmk,1199000,0 p6,4.677319,gobmk,1199000,0 p6,5.356479,cpuload_all_75_4096,1733000,1 p6,4.674528,gobmk,1199000,0 p6,7.354482,gobmk,2533000,1 p6,7.358812,gobmk,2533000,1 p6,7.388838,gobmk,2533000,1 p6,6.458769,gobmk,2133000,1 p6,6.422305,gobmk,2133000,1 p6,6.470220,gobmk,2133000,1 p6,5.555281,gobmk,1733000,1 p6,5.543049,gobmk,1733000,1 p6,5.545588,gobmk,1733000,1 p6,5.365763,cpuload_all_75_4096,1733000,1 p6,4.657722,gobmk,1199000,1 p6,4.674550,gobmk,1199000,1 p6,4.666484,gobmk,1199000,1 p6,7.170498,gromacs,2533000,0 p6,7.191570,gromacs,2533000,0 p6,7.184397,gromacs,2533000,0 p6,6.397631,gromacs,2133000,0 p6,6.408916,gromacs,2133000,0 p6,6.381215,gromacs,2133000,0 p6,5.556929,gromacs,1733000,0 p6,4.526696,cpuload_all_75_4096,1199000,1 p6,5.546378,gromacs,1733000,0 p6,5.556632,gromacs,1733000,0 p6,4.689953,gromacs,1199000,0 p6,4.686540,gromacs,1199000,0 p6,4.682747,gromacs,1199000,0 p6,7.197509,gromacs,2533000,1 p6,7.187147,gromacs,2533000,1 p6,7.196614,gromacs,2533000,1 p6,6.394322,gromacs,2133000,1 p6,6.398600,gromacs,2133000,1 p6,4.529932,cpuload_all_75_4096,1199000,1 p6,6.414943,gromacs,2133000,1 p6,5.548168,gromacs,1733000,1 p6,5.556239,gromacs,1733000,1 p6,5.546452,gromacs,1733000,1 p6,4.673786,gromacs,1199000,1 p6,4.678211,gromacs,1199000,1 p6,4.680800,gromacs,1199000,1 p6,7.458699,h264ref,2533000,0 p6,7.459809,h264ref,2533000,0 p6,7.462504,h264ref,2533000,0 p6,4.539106,cpuload_all_75_4096,1199000,1 p6,6.460371,h264ref,2133000,0 p6,6.465506,h264ref,2133000,0 p6,6.453429,h264ref,2133000,0 p6,5.549707,h264ref,1733000,0 p6,5.557517,h264ref,1733000,0 p6,5.553220,h264ref,1733000,0 p6,4.667669,h264ref,1199000,0 p6,4.670274,h264ref,1199000,0 p6,4.678516,h264ref,1199000,0 p6,7.442965,h264ref,2533000,1 p6,6.921893,cpuload_all_100_4096,2533000,0 p6,7.413292,h264ref,2533000,1 p6,7.473932,h264ref,2533000,1 p6,6.444011,h264ref,2133000,1 p6,6.484994,h264ref,2133000,1 p6,6.460432,h264ref,2133000,1 p6,5.536570,h264ref,1733000,1 p6,5.578841,h264ref,1733000,1 p6,5.543765,h264ref,1733000,1 p6,4.665835,h264ref,1199000,1 p6,4.664479,h264ref,1199000,1 p6,6.918943,cpuload_all_100_4096,2533000,0 p6,4.669324,h264ref,1199000,1 p6,7.769963,hmmer,2533000,0 p6,7.762346,hmmer,2533000,0 p6,7.780624,hmmer,2533000,0 p6,6.501534,hmmer,2133000,0 p6,6.522592,hmmer,2133000,0 p6,6.496887,hmmer,2133000,0 p6,5.557097,hmmer,1733000,0 p6,5.554162,hmmer,1733000,0 p6,5.501061,hmmer,1733000,0 p6,6.930465,cpuload_all_100_4096,2533000,0 p6,4.622785,hmmer,1199000,0 p6,4.629806,hmmer,1199000,0 p6,4.656143,hmmer,1199000,0 p6,7.753809,hmmer,2533000,1 p6,7.812500,hmmer,2533000,1 p6,7.811284,hmmer,2533000,1 p6,6.524448,hmmer,2133000,1 p6,6.595940,hmmer,2133000,1 p6,6.488885,hmmer,2133000,1 p6,5.552318,hmmer,1733000,1 p6,6.199205,cpuload_all_100_4096,2133000,0 p6,5.551854,hmmer,1733000,1 p6,5.505986,hmmer,1733000,1 p6,4.649042,hmmer,1199000,1 p6,4.647604,hmmer,1199000,1 p6,4.635471,hmmer,1199000,1 p6,6.992589,lbm,2533000,0 p6,6.981607,lbm,2533000,0 p6,6.979328,lbm,2533000,0 p6,6.274481,lbm,2133000,0 p6,6.276121,lbm,2133000,0 p6,6.197428,cpuload_all_100_4096,2133000,0 p6,6.269081,lbm,2133000,0 p6,5.485523,lbm,1733000,0 p6,5.413545,lbm,1733000,0 p6,5.422286,lbm,1733000,0 p6,4.602770,lbm,1199000,0 p6,4.604686,lbm,1199000,0 p6,4.557662,lbm,1199000,0 p6,7.035998,lbm,2533000,1 p6,7.029299,lbm,2533000,1 p6,7.087253,lbm,2533000,1 p6,6.273723,cpuload_all_100_4096,2133000,0 p6,6.333113,lbm,2133000,1 p6,6.286366,lbm,2133000,1 p6,6.284046,lbm,2133000,1 p6,5.419236,lbm,1733000,1 p6,5.475323,lbm,1733000,1 p6,5.419598,lbm,1733000,1 p6,4.592741,lbm,1199000,1 p6,4.591573,lbm,1199000,1 p6,4.593851,lbm,1199000,1 p6,7.177958,leslie3d,2533000,0 p6,5.377154,cpuload_all_100_4096,1733000,0 p6,7.176732,leslie3d,2533000,0 p6,7.191730,leslie3d,2533000,0 p6,6.395792,leslie3d,2133000,0 p6,6.389030,leslie3d,2133000,0 p6,6.417031,leslie3d,2133000,0 p6,5.536360,leslie3d,1733000,0 p6,5.521542,leslie3d,1733000,0 p6,5.546717,leslie3d,1733000,0 p6,4.661808,leslie3d,1199000,0 p6,4.666335,leslie3d,1199000,0 p6,5.373136,cpuload_all_100_4096,1733000,0 p6,4.661230,leslie3d,1199000,0 p6,7.191953,leslie3d,2533000,1 p6,7.154658,leslie3d,2533000,1 p6,7.177407,leslie3d,2533000,1 p6,6.363606,leslie3d,2133000,1 p6,6.399487,leslie3d,2133000,1 p6,6.407340,leslie3d,2133000,1 p6,5.526113,leslie3d,1733000,1 p6,5.516762,leslie3d,1733000,1 p6,5.535754,leslie3d,1733000,1 p6,5.377186,cpuload_all_100_4096,1733000,0 p6,4.661325,leslie3d,1199000,1 p6,4.660849,leslie3d,1199000,1 p6,4.678965,leslie3d,1199000,1 p6,6.892406,mcf,2533000,0 p6,6.869011,mcf,2533000,0 p6,6.850275,mcf,2533000,0 p6,6.033994,mcf,2133000,0 p6,5.941442,mcf,2133000,0 p6,5.910339,mcf,2133000,0 p6,5.333996,mcf,1733000,0 p6,4.574831,cpuload_all_100_4096,1199000,0 p6,5.228202,mcf,1733000,0 p6,5.279337,mcf,1733000,0 p6,4.480932,mcf,1199000,0 p6,4.600824,mcf,1199000,0 p6,4.492438,mcf,1199000,0 p6,6.883410,mcf,2533000,1 p6,6.754550,mcf,2533000,1 p6,6.914473,mcf,2533000,1 p6,5.975002,mcf,2133000,1 p6,6.106332,mcf,2133000,1 p6,4.527342,cpuload_all_100_4096,1199000,0 p6,5.973508,mcf,2133000,1 p6,5.325249,mcf,1733000,1 p6,5.224486,mcf,1733000,1 p6,5.336110,mcf,1733000,1 p6,4.521381,mcf,1199000,1 p6,4.481454,mcf,1199000,1 p6,4.496349,mcf,1199000,1 p6,6.875090,milc,2533000,0 p6,6.748704,milc,2533000,0 p6,6.720647,milc,2533000,0 p6,4.528331,cpuload_all_100_4096,1199000,0 p6,5.931718,milc,2133000,0 p6,5.904551,milc,2133000,0 p6,5.934842,milc,2133000,0 p6,5.157347,milc,1733000,0 p6,5.286682,milc,1733000,0 p6,5.183727,milc,1733000,0 p6,4.437381,milc,1199000,0 p6,4.446305,milc,1199000,0 p6,4.454884,milc,1199000,0 p6,6.775477,milc,2533000,1 p6,6.886944,cpuload_all_100_4096,2533000,1 p6,6.643446,milc,2533000,1 p6,6.869238,milc,2533000,1 p6,5.889676,milc,2133000,1 p6,5.904974,milc,2133000,1 p6,6.078810,milc,2133000,1 p6,5.139721,milc,1733000,1 p6,5.272512,milc,1733000,1 p6,5.140929,milc,1733000,1 p6,4.427022,milc,1199000,1 p6,4.427508,milc,1199000,1 p6,6.985664,cpuload_all_100_4096,2533000,1 p6,4.426186,milc,1199000,1 p6,6.631757,namd,2533000,0 p6,6.603405,namd,2533000,0 p6,6.704480,namd,2533000,0 p6,5.854594,namd,2133000,0 p6,5.853360,namd,2133000,0 p6,5.676616,namd,2133000,0 p6,5.235973,namd,1733000,0 p6,5.064593,namd,1733000,0 p6,5.251096,namd,1733000,0 p6,6.916929,cpuload_all_100_4096,2533000,1 p6,4.447248,namd,1199000,0 p6,4.453145,namd,1199000,0 p6,4.392992,namd,1199000,0 p6,6.334202,namd,2533000,1 p6,6.391019,namd,2533000,1 p6,6.613873,namd,2533000,1 p6,5.850910,namd,2133000,1 p6,5.868202,namd,2133000,1 p6,5.863821,namd,2133000,1 p6,5.101601,namd,1733000,1 p6,6.272523,cpuload_all_100_4096,2133000,1 p6,5.238354,namd,1733000,1 p6,5.103617,namd,1733000,1 p6,4.445153,namd,1199000,1 p6,4.455715,namd,1199000,1 p6,4.406629,namd,1199000,1 p6,7.622858,omnetpp,2533000,0 p6,7.573355,omnetpp,2533000,0 p6,7.583869,omnetpp,2533000,0 p6,6.407819,omnetpp,2133000,0 p6,6.444579,omnetpp,2133000,0 p6,6.194807,cpuload_all_100_4096,2133000,1 p6,6.476401,omnetpp,2133000,0 p6,5.488561,omnetpp,1733000,0 p6,5.476727,omnetpp,1733000,0 p6,5.506213,omnetpp,1733000,0 p6,4.611182,omnetpp,1199000,0 p6,4.643915,omnetpp,1199000,0 p6,4.637195,omnetpp,1199000,0 p6,7.496780,omnetpp,2533000,1 p6,7.404743,omnetpp,2533000,1 p6,7.526186,omnetpp,2533000,1 p6,6.164444,cpuload_all_100_4096,2133000,1 p6,6.433564,omnetpp,2133000,1 p6,6.370172,omnetpp,2133000,1 p6,6.429125,omnetpp,2133000,1 p6,5.478985,omnetpp,1733000,1 p6,5.536632,omnetpp,1733000,1 p6,5.521981,omnetpp,1733000,1 p6,4.616514,omnetpp,1199000,1 p6,4.649536,omnetpp,1199000,1 p6,4.623038,omnetpp,1199000,1 p6,6.425395,povray,2533000,0 p6,5.358098,cpuload_all_100_4096,1733000,1 p6,6.388847,povray,2533000,0 p6,6.314247,povray,2533000,0 p6,5.378873,povray,2133000,0 p6,5.765644,povray,2133000,0 p6,5.428149,povray,2133000,0 p6,4.903280,povray,1733000,0 p6,4.953766,povray,1733000,0 p6,4.960096,povray,1733000,0 p6,4.414176,povray,1199000,0 p6,4.407862,povray,1199000,0 p6,5.361922,cpuload_all_100_4096,1733000,1 p6,4.415858,povray,1199000,0 p6,6.749415,povray,2533000,1 p6,6.720489,povray,2533000,1 p6,6.232061,povray,2533000,1 p6,5.694350,povray,2133000,1 p6,5.361383,povray,2133000,1 p6,5.703281,povray,2133000,1 p6,4.964492,povray,1733000,1 p6,4.861927,povray,1733000,1 p6,5.145136,povray,1733000,1 p6,5.359019,cpuload_all_100_4096,1733000,1 p6,4.235072,povray,1199000,1 p6,4.246140,povray,1199000,1 p6,4.243885,povray,1199000,1 p6,7.473607,sjeng,2533000,0 p6,7.446793,sjeng,2533000,0 p6,7.447741,sjeng,2533000,0 p6,6.427994,sjeng,2133000,0 p6,6.422045,sjeng,2133000,0 p6,6.414864,sjeng,2133000,0 p6,5.550214,sjeng,1733000,0 p6,4.524084,cpuload_all_100_4096,1199000,1 p6,5.539805,sjeng,1733000,0 p6,5.537279,sjeng,1733000,0 p6,4.662468,sjeng,1199000,0 p6,4.657195,sjeng,1199000,0 p6,4.659751,sjeng,1199000,0 p6,7.324351,sjeng,2533000,1 p6,7.328809,sjeng,2533000,1 p6,7.287898,sjeng,2533000,1 p6,6.426399,sjeng,2133000,1 p6,6.442047,sjeng,2133000,1 p6,4.525002,cpuload_all_100_4096,1199000,1 p6,6.424498,sjeng,2133000,1 p6,5.558089,sjeng,1733000,1 p6,5.543711,sjeng,1733000,1 p6,5.553864,sjeng,1733000,1 p6,4.662362,sjeng,1199000,1 p6,4.670488,sjeng,1199000,1 p6,4.668849,sjeng,1199000,1 p6,5.936413,soplex,2533000,0 p6,6.376211,soplex,2533000,0 p6,6.377778,soplex,2533000,0 p6,4.577811,cpuload_all_100_4096,1199000,1 p6,5.256329,soplex,2133000,0 p6,5.271741,soplex,2133000,0 p6,5.633089,soplex,2133000,0 p6,4.861410,soplex,1733000,0 p6,4.879841,soplex,1733000,0 p6,4.863896,soplex,1733000,0 p6,4.243724,soplex,1199000,0 p6,4.052000,soplex,1199000,0 p6,4.237057,soplex,1199000,0 p6,6.370929,soplex,2533000,1 p6,7.946243,gamess,2533000,0 p6,6.355505,soplex,2533000,1 p6,5.889005,soplex,2533000,1 p6,5.270845,soplex,2133000,1 p6,5.238862,soplex,2133000,1 p6,5.630823,soplex,2133000,1 p6,4.664819,soplex,1733000,1 p6,4.573349,soplex,1733000,1 p6,4.866644,soplex,1733000,1 p6,4.211850,soplex,1199000,1 p6,4.215194,soplex,1199000,1 p6,7.955737,gamess,2533000,0 p6,4.223368,soplex,1199000,1 p6,6.628372,sphinx3,2533000,0 p6,6.586814,sphinx3,2533000,0 p6,6.608366,sphinx3,2533000,0 p6,5.940498,sphinx3,2133000,0 p6,5.743441,sphinx3,2133000,0 p6,5.741295,sphinx3,2133000,0 p6,5.114599,sphinx3,1733000,0 p6,5.142471,sphinx3,1733000,0 p6,4.973813,sphinx3,1733000,0 p6,7.967802,gamess,2533000,0 p6,4.408524,sphinx3,1199000,0 p6,4.410388,sphinx3,1199000,0 p6,4.291073,sphinx3,1199000,0 p6,6.591821,sphinx3,2533000,1 p6,6.610657,sphinx3,2533000,1 p6,6.344759,sphinx3,2533000,1 p6,5.721985,sphinx3,2133000,1 p6,5.755287,sphinx3,2133000,1 p6,5.996170,sphinx3,2133000,1 p6,5.104959,sphinx3,1733000,1 p6,6.634494,gamess,2133000,0 p6,5.123398,sphinx3,1733000,1 p6,4.922578,sphinx3,1733000,1 p6,4.419282,sphinx3,1199000,1 p6,4.398907,sphinx3,1199000,1 p6,4.291675,sphinx3,1199000,1 p6,7.136300,zeusmp,2533000,0 p6,7.086003,zeusmp,2533000,0 p6,6.949880,zeusmp,2533000,0 p6,6.167482,zeusmp,2133000,0 p6,6.176662,zeusmp,2133000,0 p6,6.660229,gamess,2133000,0 p6,6.146349,zeusmp,2133000,0 p6,5.342023,zeusmp,1733000,0 p6,5.341951,zeusmp,1733000,0 p6,5.418049,zeusmp,1733000,0 p6,4.588599,zeusmp,1199000,0 p6,4.588552,zeusmp,1199000,0 p6,4.586435,zeusmp,1199000,0 p6,6.937365,zeusmp,2533000,1 p6,6.924967,zeusmp,2533000,1 p6,7.067855,zeusmp,2533000,1 p6,6.665914,gamess,2133000,0 p6,6.161553,zeusmp,2133000,1 p6,6.239795,zeusmp,2133000,1 p6,6.166997,zeusmp,2133000,1 p6,5.340762,zeusmp,1733000,1 p6,5.337774,zeusmp,1733000,1 p6,5.354004,zeusmp,1733000,1 p6,4.594081,zeusmp,1199000,1 p6,4.593312,zeusmp,1199000,1 p6,4.597053,zeusmp,1199000,1 p6,7.388855,bzip2,2533000,0 p6,5.609255,gamess,1733000,0 p6,7.295492,bzip2,2533000,0 p6,7.309258,bzip2,2533000,0 p6,6.310831,bzip2,2133000,0 p6,6.285741,bzip2,2133000,0 p6,6.295086,bzip2,2133000,0 p6,5.451513,bzip2,1733000,0 p6,5.443430,bzip2,1733000,0 p6,5.464332,bzip2,1733000,0 p6,4.626918,bzip2,1199000,0 p6,4.612037,bzip2,1199000,0 p6,5.609767,gamess,1733000,0 p6,4.619070,bzip2,1199000,0 p6,7.233686,bzip2,2533000,1 p6,7.189004,bzip2,2533000,1 p6,7.164367,bzip2,2533000,1 p6,6.295901,bzip2,2133000,1 p6,6.329915,bzip2,2133000,1 p6,6.319719,bzip2,2133000,1 p6,5.467579,bzip2,1733000,1 p6,5.477993,bzip2,1733000,1 p6,5.466950,bzip2,1733000,1 p6,5.614149,gamess,1733000,0 p6,4.620046,bzip2,1199000,1 p6,4.615898,bzip2,1199000,1 p6,4.619758,bzip2,1199000,1 p6,6.957934,cactusADM,2533000,0 p6,6.914374,cactusADM,2533000,0 p6,7.044346,cactusADM,2533000,0 p6,6.110856,cactusADM,2133000,0 p6,6.119381,cactusADM,2133000,0 p6,6.184983,cactusADM,2133000,0 p6,5.337060,cactusADM,1733000,0 p6,4.670280,gamess,1199000,0 p6,5.412257,cactusADM,1733000,0 p6,5.343478,cactusADM,1733000,0 p6,4.557023,cactusADM,1199000,0 p6,4.590271,cactusADM,1199000,0 p6,4.532089,cactusADM,1199000,0 p6,6.964698,cactusADM,2533000,1 p6,6.915020,cactusADM,2533000,1 p6,6.953574,cactusADM,2533000,1 p6,6.175569,cactusADM,2133000,1 p6,6.076668,cactusADM,2133000,1 p6,4.671789,gamess,1199000,0 p6,6.210463,cactusADM,2133000,1 p6,5.281083,cactusADM,1733000,1 p6,5.360681,cactusADM,1733000,1 p6,5.290809,cactusADM,1733000,1 p6,4.601482,cactusADM,1199000,1 p6,4.584356,cactusADM,1199000,1 p6,4.562330,cactusADM,1199000,1 p6,0.833629,cpuload_all_0_4096,2533000,0 p6,0.816351,cpuload_all_0_4096,2533000,0 p6,0.898737,cpuload_all_0_4096,2533000,0 p6,4.666637,gamess,1199000,0 p6,1.039655,cpuload_all_0_4096,2133000,0 p6,0.783085,cpuload_all_0_4096,2133000,0 p6,0.793826,cpuload_all_0_4096,2133000,0 p6,0.864611,cpuload_all_0_4096,1733000,0 p6,0.740573,cpuload_all_0_4096,1733000,0 p6,0.784910,cpuload_all_0_4096,1733000,0 p6,0.967378,cpuload_all_0_4096,1199000,0 p6,0.648623,cpuload_all_0_4096,1199000,0 p6,0.764496,cpuload_all_0_4096,1199000,0 p6,0.781278,cpuload_all_0_4096,2533000,1 p6,7.908024,gamess,2533000,1 p6,0.774730,cpuload_all_0_4096,2533000,1 p6,0.807265,cpuload_all_0_4096,2533000,1 p6,0.691360,cpuload_all_0_4096,2133000,1 p6,0.727763,cpuload_all_0_4096,2133000,1 p6,0.718575,cpuload_all_0_4096,2133000,1 p6,0.640646,cpuload_all_0_4096,1733000,1 p6,0.722075,cpuload_all_0_4096,1733000,1 p6,0.749314,cpuload_all_0_4096,1733000,1 p6,0.661644,cpuload_all_0_4096,1199000,1 p6,0.767542,cpuload_all_0_4096,1199000,1 p6,7.954695,gamess,2533000,1 p6,0.772222,cpuload_all_0_4096,1199000,1 p6,2.550697,cpuload_all_25_4096,2533000,0 p6,2.562663,cpuload_all_25_4096,2533000,0 p6,2.567665,cpuload_all_25_4096,2533000,0 p6,2.269530,cpuload_all_25_4096,2133000,0 p6,2.270879,cpuload_all_25_4096,2133000,0 p6,2.331533,cpuload_all_25_4096,2133000,0 p6,2.070714,cpuload_all_25_4096,1733000,0 p6,2.077143,cpuload_all_25_4096,1733000,0 p6,2.052563,cpuload_all_25_4096,1733000,0 p6,7.913836,gamess,2533000,1 p6,1.897102,cpuload_all_25_4096,1199000,0 p6,1.923558,cpuload_all_25_4096,1199000,0 p6,1.894601,cpuload_all_25_4096,1199000,0 p6,2.559343,cpuload_all_25_4096,2533000,1 p6,2.564049,cpuload_all_25_4096,2533000,1 p6,2.542646,cpuload_all_25_4096,2533000,1 p6,2.289196,cpuload_all_25_4096,2133000,1 p6,2.304290,cpuload_all_25_4096,2133000,1 p6,2.293778,cpuload_all_25_4096,2133000,1 p6,2.078338,cpuload_all_25_4096,1733000,1 p6,6.620404,gamess,2133000,1 p6,2.067451,cpuload_all_25_4096,1733000,1 p6,2.066593,cpuload_all_25_4096,1733000,1 p6,1.900786,cpuload_all_25_4096,1199000,1 p6,1.900241,cpuload_all_25_4096,1199000,1 p6,1.918755,cpuload_all_25_4096,1199000,1 p6,7.012832,cpuload_all_50_4096,2533000,0 p6,6.998368,cpuload_all_50_4096,2533000,0 p6,6.997770,cpuload_all_50_4096,2533000,0 p6,6.241168,cpuload_all_50_4096,2133000,0 p6,5.498513,cpuload_all_50_4096,2133000,0 p6,6.648741,gamess,2133000,1 p6,6.120372,cpuload_all_50_4096,2133000,0 p6,5.298164,cpuload_all_50_4096,1733000,0 p6,5.361046,cpuload_all_50_4096,1733000,0 p6,5.411162,cpuload_all_50_4096,1733000,0 p6,4.569292,cpuload_all_50_4096,1199000,0 p6,4.528481,cpuload_all_50_4096,1199000,0 p6,4.522675,cpuload_all_50_4096,1199000,0 p6,6.147838,cpuload_all_50_4096,2533000,1 p6,7.074576,cpuload_all_50_4096,2533000,1 p6,7.027694,cpuload_all_50_4096,2533000,1 p6,6.631653,gamess,2133000,1 p6,6.102803,cpuload_all_50_4096,2133000,1 p6,6.118165,cpuload_all_50_4096,2133000,1 p6,6.131651,cpuload_all_50_4096,2133000,1 p6,5.418313,cpuload_all_50_4096,1733000,1 p6,5.354216,cpuload_all_50_4096,1733000,1 p6,5.345958,cpuload_all_50_4096,1733000,1 p6,4.516165,cpuload_all_50_4096,1199000,1 p6,4.586397,cpuload_all_50_4096,1199000,1 p6,4.574204,cpuload_all_50_4096,1199000,1 p6,7.042202,cpuload_all_75_4096,2533000,0 p6,5.616565,gamess,1733000,1 p6,7.043255,cpuload_all_75_4096,2533000,0 p6,7.065249,cpuload_all_75_4096,2533000,0 p6,6.259265,cpuload_all_75_4096,2133000,0 p6,6.231777,cpuload_all_75_4096,2133000,0 p6,6.122456,cpuload_all_75_4096,2133000,0 p6,5.352126,cpuload_all_75_4096,1733000,0 p6,5.354859,cpuload_all_75_4096,1733000,0 p6,5.415553,cpuload_all_75_4096,1733000,0 p6,4.520488,cpuload_all_75_4096,1199000,0 p6,4.578987,cpuload_all_75_4096,1199000,0 p6,5.614568,gamess,1733000,1 p6,4.576855,cpuload_all_75_4096,1199000,0 p6,6.957416,cpuload_all_75_4096,2533000,1 p6,6.958360,cpuload_all_75_4096,2533000,1 p6,6.931366,cpuload_all_75_4096,2533000,1 p6,6.191662,cpuload_all_75_4096,2133000,1 p6,6.089252,cpuload_all_75_4096,2133000,1 p6,6.102629,cpuload_all_75_4096,2133000,1 p6,5.423405,cpuload_all_75_4096,1733000,1 p6,5.353476,cpuload_all_75_4096,1733000,1 p6,5.336917,cpuload_all_75_4096,1733000,1 p6,5.615926,gamess,1733000,1 p6,4.523284,cpuload_all_75_4096,1199000,1 p6,4.531840,cpuload_all_75_4096,1199000,1 p6,4.580618,cpuload_all_75_4096,1199000,1 p6,7.070748,cpuload_all_100_4096,2533000,0 p6,7.039137,cpuload_all_100_4096,2533000,0 p6,7.063276,cpuload_all_100_4096,2533000,0 p6,6.210609,cpuload_all_100_4096,2133000,0 p6,6.209368,cpuload_all_100_4096,2133000,0 p6,6.125397,cpuload_all_100_4096,2133000,0 p6,5.352824,cpuload_all_100_4096,1733000,0 p6,4.674148,gamess,1199000,1 p6,5.351123,cpuload_all_100_4096,1733000,0 p6,5.424441,cpuload_all_100_4096,1733000,0 p6,4.517152,cpuload_all_100_4096,1199000,0 p6,4.526656,cpuload_all_100_4096,1199000,0 p6,4.506046,cpuload_all_100_4096,1199000,0 p6,7.014676,cpuload_all_100_4096,2533000,1 p6,7.178739,cpuload_all_100_4096,2533000,1 p6,7.046155,cpuload_all_100_4096,2533000,1 p6,6.119935,cpuload_all_100_4096,2133000,1 p6,6.228922,cpuload_all_100_4096,2133000,1 p6,4.670029,gamess,1199000,1 p6,6.147797,cpuload_all_100_4096,2133000,1 p6,5.354063,cpuload_all_100_4096,1733000,1 p6,5.361719,cpuload_all_100_4096,1733000,1 p6,5.350171,cpuload_all_100_4096,1733000,1 p6,4.512983,cpuload_all_100_4096,1199000,1 p6,4.575106,cpuload_all_100_4096,1199000,1 p6,4.525629,cpuload_all_100_4096,1199000,1 p6,7.915754,gamess,2533000,0 p6,7.859730,gamess,2533000,0 p6,7.860926,gamess,2533000,0 p6,4.668775,gamess,1199000,1 p6,6.618994,gamess,2133000,0 p6,6.622166,gamess,2133000,0 p6,6.672102,gamess,2133000,0 p6,5.600724,gamess,1733000,0 p6,5.595525,gamess,1733000,0 p6,5.623430,gamess,1733000,0 p6,4.673320,gamess,1199000,0 p6,4.680381,gamess,1199000,0 p6,4.680364,gamess,1199000,0 p6,7.812060,gamess,2533000,1 p6,7.231020,gcc,2533000,0 p6,7.828513,gamess,2533000,1 p6,7.821753,gamess,2533000,1 p6,6.635177,gamess,2133000,1 p6,6.547886,gamess,2133000,1 p6,6.655996,gamess,2133000,1 p6,5.598160,gamess,1733000,1 p6,5.610179,gamess,1733000,1 p6,5.622643,gamess,1733000,1 p6,4.680171,gamess,1199000,1 p6,4.663752,gamess,1199000,1 p6,7.236096,gcc,2533000,0 p6,4.676239,gamess,1199000,1 p6,7.369910,gcc,2533000,0 p6,7.332950,gcc,2533000,0 p6,7.335048,gcc,2533000,0 p6,6.431449,gcc,2133000,0 p6,6.441859,gcc,2133000,0 p6,6.429665,gcc,2133000,0 p6,5.575296,gcc,1733000,0 p6,5.574647,gcc,1733000,0 p6,5.567036,gcc,1733000,0 p6,7.222310,gcc,2533000,0 p6,4.693926,gcc,1199000,0 p6,4.686450,gcc,1199000,0 p6,4.693401,gcc,1199000,0 p6,7.300236,gcc,2533000,1 p6,7.274600,gcc,2533000,1 p6,7.289599,gcc,2533000,1 p6,6.442635,gcc,2133000,1 p6,6.443564,gcc,2133000,1 p6,6.438981,gcc,2133000,1 p6,5.582379,gcc,1733000,1 p6,6.438390,gcc,2133000,0 p6,5.580159,gcc,1733000,1 p6,5.587059,gcc,1733000,1 p6,4.699031,gcc,1199000,1 p6,4.706883,gcc,1199000,1 p6,4.704939,gcc,1199000,1 p6,7.348784,gobmk,2533000,0 p6,7.333158,gobmk,2533000,0 p6,7.369109,gobmk,2533000,0 p6,6.470641,gobmk,2133000,0 p6,6.455394,gobmk,2133000,0 p6,6.422052,gcc,2133000,0 p6,6.445297,gobmk,2133000,0 p6,5.587026,gobmk,1733000,0 p6,5.604440,gobmk,1733000,0 p6,5.575816,gobmk,1733000,0 p6,4.668856,gobmk,1199000,0 p6,4.679352,gobmk,1199000,0 p6,4.676293,gobmk,1199000,0 p6,7.315994,gobmk,2533000,1 p6,7.326742,gobmk,2533000,1 p6,7.346183,gobmk,2533000,1 p6,6.441040,gcc,2133000,0 p6,6.460726,gobmk,2133000,1 p6,6.446821,gobmk,2133000,1 p6,6.454577,gobmk,2133000,1 p6,5.583556,gobmk,1733000,1 p6,5.551076,gobmk,1733000,1 p6,5.562301,gobmk,1733000,1 p6,4.688637,gobmk,1199000,1 p6,4.688529,gobmk,1199000,1 p6,4.682493,gobmk,1199000,1 p6,7.211214,gromacs,2533000,0 p6,5.566761,gcc,1733000,0 p6,7.231305,gromacs,2533000,0 p6,7.190723,gromacs,2533000,0 p6,6.428064,gromacs,2133000,0 p6,6.428350,gromacs,2133000,0 p6,6.433260,gromacs,2133000,0 p6,5.553182,gromacs,1733000,0 p6,5.554530,gromacs,1733000,0 p6,5.565423,gromacs,1733000,0 p6,4.689542,gromacs,1199000,0 p6,4.689460,gromacs,1199000,0 p6,5.564959,gcc,1733000,0 p6,4.685473,gromacs,1199000,0 p6,7.228916,gromacs,2533000,1 p6,7.204632,gromacs,2533000,1 p6,7.184375,gromacs,2533000,1 p6,6.407548,gromacs,2133000,1 p6,6.404801,gromacs,2133000,1 p6,6.394077,gromacs,2133000,1 p6,5.550717,gromacs,1733000,1 p6,5.563193,gromacs,1733000,1 p6,5.553940,gromacs,1733000,1 p6,5.568854,gcc,1733000,0 p6,4.682072,gromacs,1199000,1 p6,4.689406,gromacs,1199000,1 p6,4.688267,gromacs,1199000,1 p6,7.429947,h264ref,2533000,0 p6,7.416809,h264ref,2533000,0 p6,7.421479,h264ref,2533000,0 p6,6.484343,h264ref,2133000,0 p6,6.475885,h264ref,2133000,0 p6,6.506030,h264ref,2133000,0 p6,5.573762,h264ref,1733000,0 p6,4.678366,gcc,1199000,0 p6,5.571464,h264ref,1733000,0 p6,5.558372,h264ref,1733000,0 p6,4.668876,h264ref,1199000,0 p6,4.679421,h264ref,1199000,0 p6,4.686142,h264ref,1199000,0 p6,7.409688,h264ref,2533000,1 p6,7.439882,h264ref,2533000,1 p6,7.432443,h264ref,2533000,1 p6,6.455023,h264ref,2133000,1 p6,6.450933,h264ref,2133000,1 p6,4.676818,gcc,1199000,0 p6,6.477702,h264ref,2133000,1 p6,5.554652,h264ref,1733000,1 p6,5.578750,h264ref,1733000,1 p6,5.581540,h264ref,1733000,1 p6,4.676167,h264ref,1199000,1 p6,4.673140,h264ref,1199000,1 p6,4.682489,h264ref,1199000,1 p6,7.873570,hmmer,2533000,0 p6,7.830477,hmmer,2533000,0 p6,7.901035,hmmer,2533000,0 p6,4.682932,gcc,1199000,0 p6,6.583834,hmmer,2133000,0 p6,6.529200,hmmer,2133000,0 p6,6.600148,hmmer,2133000,0 p6,5.596851,hmmer,1733000,0 p6,5.556874,hmmer,1733000,0 p6,5.558757,hmmer,1733000,0 p6,4.658984,hmmer,1199000,0 p6,4.649897,hmmer,1199000,0 p6,4.642720,hmmer,1199000,0 p6,7.711149,hmmer,2533000,1 p6,7.239734,gcc,2533000,1 p6,7.754724,hmmer,2533000,1 p6,7.763608,hmmer,2533000,1 p6,6.497994,hmmer,2133000,1 p6,6.570182,hmmer,2133000,1 p6,6.541278,hmmer,2133000,1 p6,5.539296,hmmer,1733000,1 p6,5.567002,hmmer,1733000,1 p6,5.557142,hmmer,1733000,1 p6,4.658993,hmmer,1199000,1 p6,4.628717,hmmer,1199000,1 p6,7.232260,gcc,2533000,1 p6,4.643430,hmmer,1199000,1 p6,6.989773,lbm,2533000,0 p6,7.007309,lbm,2533000,0 p6,6.980961,lbm,2533000,0 p6,6.350190,lbm,2133000,0 p6,6.332296,lbm,2133000,0 p6,6.317900,lbm,2133000,0 p6,5.448203,lbm,1733000,0 p6,5.483197,lbm,1733000,0 p6,5.496907,lbm,1733000,0 p6,7.237727,gcc,2533000,1 p6,4.629858,lbm,1199000,0 p6,4.649327,lbm,1199000,0 p6,4.666913,lbm,1199000,0 p6,7.073697,lbm,2533000,1 p6,7.083371,lbm,2533000,1 p6,7.066971,lbm,2533000,1 p6,6.343798,lbm,2133000,1 p6,6.331096,lbm,2133000,1 p6,6.325697,lbm,2133000,1 p6,5.469361,lbm,1733000,1 p6,6.445857,gcc,2133000,1 p6,5.434455,lbm,1733000,1 p6,5.497813,lbm,1733000,1 p6,4.626745,lbm,1199000,1 p6,4.597520,lbm,1199000,1 p6,4.602883,lbm,1199000,1 p6,7.180857,leslie3d,2533000,0 p6,7.205500,leslie3d,2533000,0 p6,7.190239,leslie3d,2533000,0 p6,6.392046,leslie3d,2133000,0 p6,6.404279,leslie3d,2133000,0 p6,6.442356,gcc,2133000,1 p6,6.389006,leslie3d,2133000,0 p6,5.559985,leslie3d,1733000,0 p6,5.564716,leslie3d,1733000,0 p6,5.543455,leslie3d,1733000,0 p6,4.699028,leslie3d,1199000,0 p6,4.698444,leslie3d,1199000,0 p6,4.677449,leslie3d,1199000,0 p6,7.173055,leslie3d,2533000,1 p6,7.197164,leslie3d,2533000,1 p6,7.178381,leslie3d,2533000,1 p6,6.444817,gcc,2133000,1 p6,6.414006,leslie3d,2133000,1 p6,6.409710,leslie3d,2133000,1 p6,6.393344,leslie3d,2133000,1 p6,5.538124,leslie3d,1733000,1 p6,5.555370,leslie3d,1733000,1 p6,5.542025,leslie3d,1733000,1 p6,4.666919,leslie3d,1199000,1 p6,4.667789,leslie3d,1199000,1 p6,4.677684,leslie3d,1199000,1 p6,6.738471,mcf,2533000,0 p6,5.569469,gcc,1733000,1 p6,6.765265,mcf,2533000,0 p6,6.707140,mcf,2533000,0 p6,6.123817,mcf,2133000,0 p6,6.169754,mcf,2133000,0 p6,6.075213,mcf,2133000,0 p6,5.274165,mcf,1733000,0 p6,5.355751,mcf,1733000,0 p6,5.297797,mcf,1733000,0 p6,4.592284,mcf,1199000,0 p6,4.605496,mcf,1199000,0 p6,5.573548,gcc,1733000,1 p6,4.592354,mcf,1199000,0 p6,6.844547,mcf,2533000,1 p6,6.754352,mcf,2533000,1 p6,6.754004,mcf,2533000,1 p6,6.160729,mcf,2133000,1 p6,6.164712,mcf,2133000,1 p6,6.089432,mcf,2133000,1 p6,5.269189,mcf,1733000,1 p6,5.409839,mcf,1733000,1 p6,5.429291,mcf,1733000,1 p6,5.572570,gcc,1733000,1 p6,4.577994,mcf,1199000,1 p6,4.534242,mcf,1199000,1 p6,4.589680,mcf,1199000,1 p6,6.832832,milc,2533000,0 p6,6.665932,milc,2533000,0 p6,6.647593,milc,2533000,0 p6,6.098592,milc,2133000,0 p6,6.068323,milc,2133000,0 p6,5.995698,milc,2133000,0 p6,5.319235,milc,1733000,0 p6,4.682135,gcc,1199000,1 p6,5.279899,milc,1733000,0 p6,5.209345,milc,1733000,0 p6,4.477919,milc,1199000,0 p6,4.574124,milc,1199000,0 p6,4.575472,milc,1199000,0 p6,6.818234,milc,2533000,1 p6,6.762202,milc,2533000,1 p6,6.853958,milc,2533000,1 p6,6.043657,milc,2133000,1 p6,5.958648,milc,2133000,1 p6,4.682578,gcc,1199000,1 p6,6.004450,milc,2133000,1 p6,5.267245,milc,1733000,1 p6,5.349601,milc,1733000,1 p6,5.233242,milc,1733000,1 p6,4.450046,milc,1199000,1 p6,4.489897,milc,1199000,1 p6,4.476726,milc,1199000,1 p6,6.798895,namd,2533000,0 p6,6.761954,namd,2533000,0 p6,6.758913,namd,2533000,0 p6,4.684944,gcc,1199000,1 p6,6.036868,namd,2133000,0 p6,5.887500,namd,2133000,0 p6,6.027690,namd,2133000,0 p6,5.204947,namd,1733000,0 p6,5.302216,namd,1733000,0 p6,5.245226,namd,1733000,0 p6,4.501275,namd,1199000,0 p6,4.533154,namd,1199000,0 p6,4.545617,namd,1199000,0 p6,6.764241,namd,2533000,1 p6,7.350008,gobmk,2533000,0 p6,6.782063,namd,2533000,1 p6,6.520265,namd,2533000,1 p6,5.899596,namd,2133000,1 p6,5.918155,namd,2133000,1 p6,5.934290,namd,2133000,1 p6,5.344636,namd,1733000,1 p6,5.279542,namd,1733000,1 p6,5.210613,namd,1733000,1 p6,4.492656,namd,1199000,1 p6,4.533153,namd,1199000,1 p6,7.384204,gobmk,2533000,0 p6,4.572820,namd,1199000,1 p6,7.600543,omnetpp,2533000,0 p6,7.596936,omnetpp,2533000,0 p6,7.737399,omnetpp,2533000,0 p6,6.483574,omnetpp,2133000,0 p6,6.485165,omnetpp,2133000,0 p6,6.468396,omnetpp,2133000,0 p6,5.566458,omnetpp,1733000,0 p6,5.579650,omnetpp,1733000,0 p6,5.557247,omnetpp,1733000,0 p6,7.415271,gobmk,2533000,0 p6,4.674109,omnetpp,1199000,0 p6,4.624979,omnetpp,1199000,0 p6,4.644195,omnetpp,1199000,0 p6,7.480594,omnetpp,2533000,1 p6,7.573886,omnetpp,2533000,1 p6,7.514826,omnetpp,2533000,1 p6,6.412745,omnetpp,2133000,1 p6,6.467600,omnetpp,2133000,1 p6,6.452200,omnetpp,2133000,1 p6,5.521646,omnetpp,1733000,1 p6,6.427111,gobmk,2133000,0 p6,5.563933,omnetpp,1733000,1 p6,5.534854,omnetpp,1733000,1 p6,4.658741,omnetpp,1199000,1 p6,4.655081,omnetpp,1199000,1 p6,4.645645,omnetpp,1199000,1 p6,6.400574,povray,2533000,0 p6,6.489154,povray,2533000,0 p6,6.421459,povray,2533000,0 p6,5.512951,povray,2133000,0 p6,5.798655,povray,2133000,0 p6,6.443257,gobmk,2133000,0 p6,5.884492,povray,2133000,0 p6,5.168315,povray,1733000,0 p6,4.948946,povray,1733000,0 p6,5.150208,povray,1733000,0 p6,4.358761,povray,1199000,0 p6,4.378927,povray,1199000,0 p6,4.499941,povray,1199000,0 p6,6.640444,povray,2533000,1 p6,6.555371,povray,2533000,1 p6,6.776608,povray,2533000,1 p6,6.434877,gobmk,2133000,0 p6,5.850486,povray,2133000,1 p6,5.764782,povray,2133000,1 p6,5.811927,povray,2133000,1 p6,5.072101,povray,1733000,1 p6,5.294858,povray,1733000,1 p6,4.974907,povray,1733000,1 p6,4.474436,povray,1199000,1 p6,4.444779,povray,1199000,1 p6,4.525731,povray,1199000,1 p6,7.435310,sjeng,2533000,0 p6,5.539903,gobmk,1733000,0 p6,7.444004,sjeng,2533000,0 p6,7.374478,sjeng,2533000,0 p6,6.466459,sjeng,2133000,0 p6,6.464813,sjeng,2133000,0 p6,6.428645,sjeng,2133000,0 p6,5.555873,sjeng,1733000,0 p6,5.558331,sjeng,1733000,0 p6,5.558323,sjeng,1733000,0 p6,4.661174,sjeng,1199000,0 p6,4.678075,sjeng,1199000,0 p6,5.535041,gobmk,1733000,0 p6,4.671411,sjeng,1199000,0 p6,7.385341,sjeng,2533000,1 p6,7.298258,sjeng,2533000,1 p6,7.308753,sjeng,2533000,1 p6,6.432482,sjeng,2133000,1 p6,6.430411,sjeng,2133000,1 p6,6.433949,sjeng,2133000,1 p6,5.555197,sjeng,1733000,1 p6,5.565339,sjeng,1733000,1 p6,5.570968,sjeng,1733000,1 p6,5.540996,gobmk,1733000,0 p6,4.677114,sjeng,1199000,1 p6,4.671016,sjeng,1199000,1 p6,4.671938,sjeng,1199000,1 p6,6.376388,soplex,2533000,0 p6,6.350230,soplex,2533000,0 p6,6.404246,soplex,2533000,0 p6,5.636266,soplex,2133000,0 p6,5.367462,soplex,2133000,0 p6,5.287132,soplex,2133000,0 p6,4.920939,soplex,1733000,0 p6,4.658515,gobmk,1199000,0 p6,4.936597,soplex,1733000,0 p6,4.811742,soplex,1733000,0 p6,4.335392,soplex,1199000,0 p6,4.403415,soplex,1199000,0 p6,4.216023,soplex,1199000,0 p6,6.092514,soplex,2533000,1 p6,6.076505,soplex,2533000,1 p6,6.091131,soplex,2533000,1 p6,5.400741,soplex,2133000,1 p6,5.497688,soplex,2133000,1 p6,4.667625,gobmk,1199000,0 p6,5.551434,soplex,2133000,1 p6,4.859722,soplex,1733000,1 p6,5.006381,soplex,1733000,1 p6,4.940036,soplex,1733000,1 p6,4.264893,soplex,1199000,1 p6,4.263328,soplex,1199000,1 p6,4.294460,soplex,1199000,1 p6,6.529769,sphinx3,2533000,0 p6,6.735374,sphinx3,2533000,0 p6,6.499201,sphinx3,2533000,0 p6,4.655263,gobmk,1199000,0 p6,5.852401,sphinx3,2133000,0 p6,5.945008,sphinx3,2133000,0 p6,5.756478,sphinx3,2133000,0 p6,5.227842,sphinx3,1733000,0 p6,5.206602,sphinx3,1733000,0 p6,5.132128,sphinx3,1733000,0 p6,4.447178,sphinx3,1199000,0 p6,4.388733,sphinx3,1199000,0 p6,4.462838,sphinx3,1199000,0 p6,6.689724,sphinx3,2533000,1 p6,7.309564,gobmk,2533000,1 p6,6.578271,sphinx3,2533000,1 p6,6.782970,sphinx3,2533000,1 p6,5.782222,sphinx3,2133000,1 p6,5.971206,sphinx3,2133000,1 p6,5.734832,sphinx3,2133000,1 p6,5.075338,sphinx3,1733000,1 p6,5.168027,sphinx3,1733000,1 p6,5.143900,sphinx3,1733000,1 p6,4.411540,sphinx3,1199000,1 p6,4.368862,sphinx3,1199000,1 p6,7.333326,gobmk,2533000,1 p6,4.457090,sphinx3,1199000,1 p6,7.012705,zeusmp,2533000,0 p6,7.031471,zeusmp,2533000,0 p6,7.066081,zeusmp,2533000,0 p6,6.192927,zeusmp,2133000,0 p6,6.275638,zeusmp,2133000,0 p6,6.228828,zeusmp,2133000,0 p6,5.436549,zeusmp,1733000,0 p6,5.461577,zeusmp,1733000,0 p6,5.407271,zeusmp,1733000,0 p6,7.332056,gobmk,2533000,1 p6,4.592190,zeusmp,1199000,0 p6,4.574289,zeusmp,1199000,0 p6,4.601717,zeusmp,1199000,0 p6,7.163605,zeusmp,2533000,1 p6,7.101380,zeusmp,2533000,1 p6,7.045996,zeusmp,2533000,1 p6,6.193712,zeusmp,2133000,1 p6,6.269280,zeusmp,2133000,1 p6,6.245646,zeusmp,2133000,1 p6,5.463486,zeusmp,1733000,1 p6,6.447584,gobmk,2133000,1 p6,5.395016,zeusmp,1733000,1 p6,5.416933,zeusmp,1733000,1 p6,4.629672,zeusmp,1199000,1 p6,4.635191,zeusmp,1199000,1 p6,4.659434,zeusmp,1199000,1 p6,6.456360,gobmk,2133000,1 p6,6.419364,gobmk,2133000,1 p6,5.536975,gobmk,1733000,1 p6,5.532145,gobmk,1733000,1 p6,5.558925,gobmk,1733000,1 p6,4.665235,gobmk,1199000,1 p6,4.669388,gobmk,1199000,1 p6,4.655354,gobmk,1199000,1 p6,7.173733,gromacs,2533000,0 p6,7.163312,gromacs,2533000,0 p6,7.181241,gromacs,2533000,0 p6,6.399772,gromacs,2133000,0 p6,6.394010,gromacs,2133000,0 p6,6.375227,gromacs,2133000,0 p6,5.533638,gromacs,1733000,0 p6,5.538384,gromacs,1733000,0 p6,5.535510,gromacs,1733000,0 p6,4.650437,gromacs,1199000,0 p6,4.668646,gromacs,1199000,0 p6,4.663604,gromacs,1199000,0 p6,7.152821,gromacs,2533000,1 p6,7.200873,gromacs,2533000,1 p6,7.183278,gromacs,2533000,1 p6,6.374389,gromacs,2133000,1 p6,6.353846,gromacs,2133000,1 p6,6.389370,gromacs,2133000,1 p6,5.526948,gromacs,1733000,1 p6,5.536283,gromacs,1733000,1 p6,5.525940,gromacs,1733000,1 p6,4.666306,gromacs,1199000,1 p6,4.666652,gromacs,1199000,1 p6,4.652820,gromacs,1199000,1 p6,7.478316,h264ref,2533000,0 p6,7.448871,h264ref,2533000,0 p6,7.490999,h264ref,2533000,0 p6,6.434044,h264ref,2133000,0 p6,6.480475,h264ref,2133000,0 p6,6.480451,h264ref,2133000,0 p6,5.527816,h264ref,1733000,0 p6,5.536293,h264ref,1733000,0 p6,5.556285,h264ref,1733000,0 p6,4.642190,h264ref,1199000,0 p6,4.649711,h264ref,1199000,0 p6,4.654241,h264ref,1199000,0 p6,7.423047,h264ref,2533000,1 p6,7.447506,h264ref,2533000,1 p6,7.445493,h264ref,2533000,1 p6,6.443596,h264ref,2133000,1 p6,6.467341,h264ref,2133000,1 p6,6.427325,h264ref,2133000,1 p6,5.539389,h264ref,1733000,1 p6,5.553936,h264ref,1733000,1 p6,5.552286,h264ref,1733000,1 p6,4.649575,h264ref,1199000,1 p6,4.659861,h264ref,1199000,1 p6,4.648712,h264ref,1199000,1 p6,7.780144,hmmer,2533000,0 p6,7.790290,hmmer,2533000,0 p6,7.866254,hmmer,2533000,0 p6,6.528993,hmmer,2133000,0 p6,6.548859,hmmer,2133000,0 p6,6.575874,hmmer,2133000,0 p6,5.556285,hmmer,1733000,0 p6,5.550622,hmmer,1733000,0 p6,5.502482,hmmer,1733000,0 p6,4.633861,hmmer,1199000,0 p6,4.620948,hmmer,1199000,0 p6,4.626334,hmmer,1199000,0 p6,7.768880,hmmer,2533000,1 p6,7.733164,hmmer,2533000,1 p6,7.743371,hmmer,2533000,1 p6,6.498200,hmmer,2133000,1 p6,6.561367,hmmer,2133000,1 p6,6.474299,hmmer,2133000,1 p6,5.547687,hmmer,1733000,1 p6,5.525622,hmmer,1733000,1 p6,5.528620,hmmer,1733000,1 p6,4.651272,hmmer,1199000,1 p6,4.637929,hmmer,1199000,1 p6,4.636765,hmmer,1199000,1 p6,6.970664,lbm,2533000,0 p6,7.033044,lbm,2533000,0 p6,6.897987,lbm,2533000,0 p6,6.292591,lbm,2133000,0 p6,6.265914,lbm,2133000,0 p6,6.332441,lbm,2133000,0 p6,5.429743,lbm,1733000,0 p6,5.434103,lbm,1733000,0 p6,5.454142,lbm,1733000,0 p6,4.579742,lbm,1199000,0 p6,4.578805,lbm,1199000,0 p6,4.572069,lbm,1199000,0 p6,6.992603,lbm,2533000,1 p6,6.968949,lbm,2533000,1 p6,7.007358,lbm,2533000,1 p6,6.345765,lbm,2133000,1 p6,6.267048,lbm,2133000,1 p6,6.269080,lbm,2133000,1 p6,5.404797,lbm,1733000,1 p6,5.416397,lbm,1733000,1 p6,5.420517,lbm,1733000,1 p6,4.621076,lbm,1199000,1 p6,4.595156,lbm,1199000,1 p6,4.580701,lbm,1199000,1 p6,7.180664,leslie3d,2533000,0 p6,7.174296,leslie3d,2533000,0 p6,7.180082,leslie3d,2533000,0 p6,6.390410,leslie3d,2133000,0 p6,6.375479,leslie3d,2133000,0 p6,6.399616,leslie3d,2133000,0 p6,5.519166,leslie3d,1733000,0 p6,5.526470,leslie3d,1733000,0 p6,5.496283,leslie3d,1733000,0 p6,4.648204,leslie3d,1199000,0 p6,4.654948,leslie3d,1199000,0 p6,4.660035,leslie3d,1199000,0 p6,7.176913,leslie3d,2533000,1 p6,7.181206,leslie3d,2533000,1 p6,7.209414,leslie3d,2533000,1 p6,6.404958,leslie3d,2133000,1 p6,6.377340,leslie3d,2133000,1 p6,6.392712,leslie3d,2133000,1 p6,5.517345,leslie3d,1733000,1 p6,5.528666,leslie3d,1733000,1 p6,5.527127,leslie3d,1733000,1 p6,4.651977,leslie3d,1199000,1 p6,4.663717,leslie3d,1199000,1 p6,4.659466,leslie3d,1199000,1 p6,6.758945,mcf,2533000,0 p6,6.633518,mcf,2533000,0 p6,6.703446,mcf,2533000,0 p6,6.041922,mcf,2133000,0 p6,6.048621,mcf,2133000,0 p6,5.987128,mcf,2133000,0 p6,5.292815,mcf,1733000,0 p6,5.287025,mcf,1733000,0 p6,5.326484,mcf,1733000,0 p6,4.484346,mcf,1199000,0 p6,4.510526,mcf,1199000,0 p6,4.549065,mcf,1199000,0 p6,6.753433,mcf,2533000,1 p6,6.764830,mcf,2533000,1 p6,6.722166,mcf,2533000,1 p6,6.097835,mcf,2133000,1 p6,6.104502,mcf,2133000,1 p6,6.086572,mcf,2133000,1 p6,5.343428,mcf,1733000,1 p6,5.243853,mcf,1733000,1 p6,5.306930,mcf,1733000,1 p6,4.489691,mcf,1199000,1 p6,4.490668,mcf,1199000,1 p6,4.498604,mcf,1199000,1 p6,6.711212,milc,2533000,0 p6,6.498279,milc,2533000,0 p6,6.530293,milc,2533000,0 p6,5.980211,milc,2133000,0 p6,5.882304,milc,2133000,0 p6,5.961623,milc,2133000,0 p6,5.264269,milc,1733000,0 p6,5.246622,milc,1733000,0 p6,5.257094,milc,1733000,0 p6,4.440373,milc,1199000,0 p6,4.422370,milc,1199000,0 p6,4.415161,milc,1199000,0 p6,6.604528,milc,2533000,1 p6,6.496872,milc,2533000,1 p6,6.557844,milc,2533000,1 p6,6.054062,milc,2133000,1 p6,5.929306,milc,2133000,1 p6,5.940099,milc,2133000,1 p6,5.227735,milc,1733000,1 p6,5.246932,milc,1733000,1 p6,5.248888,milc,1733000,1 p6,4.458244,milc,1199000,1 p6,4.422150,milc,1199000,1 p6,4.490767,milc,1199000,1 p6,6.627672,namd,2533000,0 p6,6.551736,namd,2533000,0 p6,6.533887,namd,2533000,0 p6,5.869357,namd,2133000,0 p6,6.017684,namd,2133000,0 p6,5.947174,namd,2133000,0 p6,5.095045,namd,1733000,0 p6,5.253639,namd,1733000,0 p6,5.248563,namd,1733000,0 p6,4.471039,namd,1199000,0 p6,4.465477,namd,1199000,0 p6,4.437471,namd,1199000,0 p6,6.553616,namd,2533000,1 p6,6.536685,namd,2533000,1 p6,6.607111,namd,2533000,1 p6,5.793770,namd,2133000,1 p6,5.958109,namd,2133000,1 p6,5.927264,namd,2133000,1 p6,5.234888,namd,1733000,1 p6,5.128875,namd,1733000,1 p6,5.258645,namd,1733000,1 p6,4.446230,namd,1199000,1 p6,4.439249,namd,1199000,1 p6,4.447624,namd,1199000,1 p6,7.667120,omnetpp,2533000,0 p6,7.576394,omnetpp,2533000,0 p6,7.625868,omnetpp,2533000,0 p6,6.477820,omnetpp,2133000,0 p6,6.469590,omnetpp,2133000,0 p6,6.509525,omnetpp,2133000,0 p6,5.539853,omnetpp,1733000,0 p6,5.517822,omnetpp,1733000,0 p6,5.545888,omnetpp,1733000,0 p6,4.618151,omnetpp,1199000,0 p6,4.630201,omnetpp,1199000,0 p6,4.640170,omnetpp,1199000,0 p6,7.572662,omnetpp,2533000,1 p6,7.620533,omnetpp,2533000,1 p6,7.559092,omnetpp,2533000,1 p6,6.457391,omnetpp,2133000,1 p6,6.404534,omnetpp,2133000,1 p6,6.430827,omnetpp,2133000,1 p6,5.516316,omnetpp,1733000,1 p6,5.531369,omnetpp,1733000,1 p6,5.534693,omnetpp,1733000,1 p6,4.618310,omnetpp,1199000,1 p6,4.646712,omnetpp,1199000,1 p6,4.609234,omnetpp,1199000,1 p6,6.499691,povray,2533000,0 p6,6.372817,povray,2533000,0 p6,6.364023,povray,2533000,0 p6,5.800125,povray,2133000,0 p6,5.478872,povray,2133000,0 p6,5.813254,povray,2133000,0 p6,4.903226,povray,1733000,0 p6,4.896565,povray,1733000,0 p6,4.929314,povray,1733000,0 p6,4.278549,povray,1199000,0 p6,4.270084,povray,1199000,0 p6,4.430582,povray,1199000,0 p6,6.434297,povray,2533000,1 p6,6.925069,povray,2533000,1 p6,6.467926,povray,2533000,1 p6,5.445564,povray,2133000,1 p6,5.799410,povray,2133000,1 p6,5.425007,povray,2133000,1 p6,5.075582,povray,1733000,1 p6,5.112070,povray,1733000,1 p6,4.902062,povray,1733000,1 p6,4.251929,povray,1199000,1 p6,4.256942,povray,1199000,1 p6,4.228411,povray,1199000,1 p6,7.363985,sjeng,2533000,0 p6,7.328727,sjeng,2533000,0 p6,7.359398,sjeng,2533000,0 p6,6.451344,sjeng,2133000,0 p6,6.440759,sjeng,2133000,0 p6,6.479191,sjeng,2133000,0 p6,5.557796,sjeng,1733000,0 p6,5.564453,sjeng,1733000,0 p6,5.560427,sjeng,1733000,0 p6,4.661855,sjeng,1199000,0 p6,4.661603,sjeng,1199000,0 p6,4.664217,sjeng,1199000,0 p6,7.313672,sjeng,2533000,1 p6,7.343339,sjeng,2533000,1 p6,7.344518,sjeng,2533000,1 p6,6.429889,sjeng,2133000,1 p6,6.456025,sjeng,2133000,1 p6,6.425797,sjeng,2133000,1 p6,5.539097,sjeng,1733000,1 p6,5.553346,sjeng,1733000,1 p6,5.550155,sjeng,1733000,1 p6,4.659898,sjeng,1199000,1 p6,4.650686,sjeng,1199000,1 p6,4.656206,sjeng,1199000,1 p6,5.868004,soplex,2533000,0 p6,5.895289,soplex,2533000,0 p6,5.775562,soplex,2533000,0 p6,5.638391,soplex,2133000,0 p6,5.671613,soplex,2133000,0 p6,5.669413,soplex,2133000,0 p6,4.789063,soplex,1733000,0 p6,4.875562,soplex,1733000,0 p6,4.787525,soplex,1733000,0 p6,4.235070,soplex,1199000,0 p6,4.232554,soplex,1199000,0 p6,4.234910,soplex,1199000,0 p6,5.807692,soplex,2533000,1 p6,5.773622,soplex,2533000,1 p6,6.244686,soplex,2533000,1 p6,5.343888,soplex,2133000,1 p6,5.271672,soplex,2133000,1 p6,5.651390,soplex,2133000,1 p6,4.683802,soplex,1733000,1 p6,4.842500,soplex,1733000,1 p6,4.900738,soplex,1733000,1 p6,4.242145,soplex,1199000,1 p6,4.066269,soplex,1199000,1 p6,4.101743,soplex,1199000,1 p6,6.524109,sphinx3,2533000,0 p6,6.492516,sphinx3,2533000,0 p6,6.528790,sphinx3,2533000,0 p6,5.782948,sphinx3,2133000,0 p6,5.624555,sphinx3,2133000,0 p6,5.745968,sphinx3,2133000,0 p6,4.925799,sphinx3,1733000,0 p6,5.141842,sphinx3,1733000,0 p6,5.030346,sphinx3,1733000,0 p6,4.402445,sphinx3,1199000,0 p6,4.354186,sphinx3,1199000,0 p6,4.405819,sphinx3,1199000,0 p6,6.321104,sphinx3,2533000,1 p6,6.458603,sphinx3,2533000,1 p6,6.316017,sphinx3,2533000,1 p6,6.016463,sphinx3,2133000,1 p6,5.731458,sphinx3,2133000,1 p6,5.751130,sphinx3,2133000,1 p6,5.135252,sphinx3,1733000,1 p6,4.950837,sphinx3,1733000,1 p6,5.112719,sphinx3,1733000,1 p6,4.321868,sphinx3,1199000,1 p6,4.391221,sphinx3,1199000,1 p6,4.291053,sphinx3,1199000,1 p6,6.870862,zeusmp,2533000,0 p6,6.901750,zeusmp,2533000,0 p6,6.886824,zeusmp,2533000,0 p6,6.275461,zeusmp,2133000,0 p6,6.193934,zeusmp,2133000,0 p6,6.212040,zeusmp,2133000,0 p6,5.417537,zeusmp,1733000,0 p6,5.429037,zeusmp,1733000,0 p6,5.421295,zeusmp,1733000,0 p6,4.592862,zeusmp,1199000,0 p6,4.587428,zeusmp,1199000,0 p6,4.580947,zeusmp,1199000,0 p6,6.950002,zeusmp,2533000,1 p6,6.966534,zeusmp,2533000,1 p6,6.939235,zeusmp,2533000,1 p6,6.269110,zeusmp,2133000,1 p6,6.166180,zeusmp,2133000,1 p6,6.205174,zeusmp,2133000,1 p6,5.415541,zeusmp,1733000,1 p6,5.404804,zeusmp,1733000,1 p6,5.362688,zeusmp,1733000,1 p6,4.573996,zeusmp,1199000,1 p6,4.578385,zeusmp,1199000,1 p6,4.579410,zeusmp,1199000,1 p6,8.626454,bzip2,2533000,0 p6,8.387087,bzip2,2533000,0 p6,7.638297,bzip2,2533000,0 p6,6.319215,bzip2,2133000,0 p6,6.809696,bzip2,2133000,0 p6,6.611532,bzip2,2133000,0 p6,5.455871,bzip2,1733000,0 p6,5.452464,bzip2,1733000,0 p6,5.450370,bzip2,1733000,0 p6,4.624722,bzip2,1199000,0 p6,4.601354,bzip2,1199000,0 p6,4.600332,bzip2,1199000,0 p6,7.172583,bzip2,2533000,1 p6,7.252843,bzip2,2533000,1 p6,7.150051,bzip2,2533000,1 p6,6.288656,bzip2,2133000,1 p6,6.317841,bzip2,2133000,1 p6,6.299789,bzip2,2133000,1 p6,5.474401,bzip2,1733000,1 p6,5.468617,bzip2,1733000,1 p6,5.494879,bzip2,1733000,1 p6,4.601702,bzip2,1199000,1 p6,4.608595,bzip2,1199000,1 p6,4.619481,bzip2,1199000,1 p6,6.829326,cactusADM,2533000,0 p6,6.930804,cactusADM,2533000,0 p6,6.944997,cactusADM,2533000,0 p6,6.122392,cactusADM,2133000,0 p6,6.186206,cactusADM,2133000,0 p6,6.131105,cactusADM,2133000,0 p6,5.331746,cactusADM,1733000,0 p6,5.300936,cactusADM,1733000,0 p6,5.317042,cactusADM,1733000,0 p6,4.554564,cactusADM,1199000,0 p6,4.527460,cactusADM,1199000,0 p6,4.554945,cactusADM,1199000,0 p6,6.852066,cactusADM,2533000,1 p6,6.748395,cactusADM,2533000,1 p6,6.890521,cactusADM,2533000,1 p6,5.977963,cactusADM,2133000,1 p6,6.111678,cactusADM,2133000,1 p6,6.099339,cactusADM,2133000,1 p6,5.303328,cactusADM,1733000,1 p6,5.352799,cactusADM,1733000,1 p6,5.324288,cactusADM,1733000,1 p6,4.578756,cactusADM,1199000,1 p6,4.528390,cactusADM,1199000,1 p6,4.538509,cactusADM,1199000,1 p6,0.711804,cpuload_all_0_4096,2533000,0 p6,0.669786,cpuload_all_0_4096,2533000,0 p6,0.828254,cpuload_all_0_4096,2533000,0 p6,0.807803,cpuload_all_0_4096,2133000,0 p6,0.891759,cpuload_all_0_4096,2133000,0 p6,0.760787,cpuload_all_0_4096,2133000,0 p6,0.723752,cpuload_all_0_4096,1733000,0 p6,0.763492,cpuload_all_0_4096,1733000,0 p6,0.880679,cpuload_all_0_4096,1733000,0 p6,0.836713,cpuload_all_0_4096,1199000,0 p6,0.755450,cpuload_all_0_4096,1199000,0 p6,0.879758,cpuload_all_0_4096,1199000,0 p6,0.838814,cpuload_all_0_4096,2533000,1 p6,0.712423,cpuload_all_0_4096,2533000,1 p6,0.722224,cpuload_all_0_4096,2533000,1 p6,0.708391,cpuload_all_0_4096,2133000,1 p6,0.725568,cpuload_all_0_4096,2133000,1 p6,0.705967,cpuload_all_0_4096,2133000,1 p6,0.672472,cpuload_all_0_4096,1733000,1 p6,0.659644,cpuload_all_0_4096,1733000,1 p6,0.734553,cpuload_all_0_4096,1733000,1 p6,0.577170,cpuload_all_0_4096,1199000,1 p6,0.680270,cpuload_all_0_4096,1199000,1 p6,0.624029,cpuload_all_0_4096,1199000,1 p6,2.561061,cpuload_all_25_4096,2533000,0 p6,2.563151,cpuload_all_25_4096,2533000,0 p6,2.594132,cpuload_all_25_4096,2533000,0 p6,2.278153,cpuload_all_25_4096,2133000,0 p6,2.295679,cpuload_all_25_4096,2133000,0 p6,2.290024,cpuload_all_25_4096,2133000,0 p6,2.044253,cpuload_all_25_4096,1733000,0 p6,2.052675,cpuload_all_25_4096,1733000,0 p6,2.089820,cpuload_all_25_4096,1733000,0 p6,1.909063,cpuload_all_25_4096,1199000,0 p6,1.885075,cpuload_all_25_4096,1199000,0 p6,1.893867,cpuload_all_25_4096,1199000,0 p6,2.524879,cpuload_all_25_4096,2533000,1 p6,2.516661,cpuload_all_25_4096,2533000,1 p6,2.543112,cpuload_all_25_4096,2533000,1 p6,2.288672,cpuload_all_25_4096,2133000,1 p6,2.267015,cpuload_all_25_4096,2133000,1 p6,2.295154,cpuload_all_25_4096,2133000,1 p6,2.057174,cpuload_all_25_4096,1733000,1 p6,2.060436,cpuload_all_25_4096,1733000,1 p6,2.112800,cpuload_all_25_4096,1733000,1 p6,1.892119,cpuload_all_25_4096,1199000,1 p6,1.875082,cpuload_all_25_4096,1199000,1 p6,1.888537,cpuload_all_25_4096,1199000,1 p6,6.888041,cpuload_all_50_4096,2533000,0 p6,6.876739,cpuload_all_50_4096,2533000,0 p6,6.967315,cpuload_all_50_4096,2533000,0 p6,6.157361,cpuload_all_50_4096,2133000,0 p6,6.136949,cpuload_all_50_4096,2133000,0 p6,6.229938,cpuload_all_50_4096,2133000,0 p6,5.349768,cpuload_all_50_4096,1733000,0 p6,5.345238,cpuload_all_50_4096,1733000,0 p6,5.422863,cpuload_all_50_4096,1733000,0 p6,4.503382,cpuload_all_50_4096,1199000,0 p6,4.509784,cpuload_all_50_4096,1199000,0 p6,4.522666,cpuload_all_50_4096,1199000,0 p6,6.868341,cpuload_all_50_4096,2533000,1 p6,6.974176,cpuload_all_50_4096,2533000,1 p6,6.890857,cpuload_all_50_4096,2533000,1 p6,6.140227,cpuload_all_50_4096,2133000,1 p6,6.239290,cpuload_all_50_4096,2133000,1 p6,6.145929,cpuload_all_50_4096,2133000,1 p6,5.421382,cpuload_all_50_4096,1733000,1 p6,5.361618,cpuload_all_50_4096,1733000,1 p6,5.348360,cpuload_all_50_4096,1733000,1 p6,4.537984,cpuload_all_50_4096,1199000,1 p6,4.508257,cpuload_all_50_4096,1199000,1 p6,4.518018,cpuload_all_50_4096,1199000,1 p6,6.917240,cpuload_all_75_4096,2533000,0 p6,7.032159,cpuload_all_75_4096,2533000,0 p6,6.891562,cpuload_all_75_4096,2533000,0 p6,6.164180,cpuload_all_75_4096,2133000,0 p6,6.196968,cpuload_all_75_4096,2133000,0 p6,6.166553,cpuload_all_75_4096,2133000,0 p6,5.363924,cpuload_all_75_4096,1733000,0 p6,5.342218,cpuload_all_75_4096,1733000,0 p6,5.432173,cpuload_all_75_4096,1733000,0 p6,4.513851,cpuload_all_75_4096,1199000,0 p6,4.597357,cpuload_all_75_4096,1199000,0 p6,4.540128,cpuload_all_75_4096,1199000,0 p6,6.872704,cpuload_all_75_4096,2533000,1 p6,6.846622,cpuload_all_75_4096,2533000,1 p6,6.858196,cpuload_all_75_4096,2533000,1 p6,6.216268,cpuload_all_75_4096,2133000,1 p6,6.131626,cpuload_all_75_4096,2133000,1 p6,6.124979,cpuload_all_75_4096,2133000,1 p6,5.352541,cpuload_all_75_4096,1733000,1 p6,5.330632,cpuload_all_75_4096,1733000,1 p6,5.411132,cpuload_all_75_4096,1733000,1 p6,4.523315,cpuload_all_75_4096,1199000,1 p6,4.521818,cpuload_all_75_4096,1199000,1 p6,4.524803,cpuload_all_75_4096,1199000,1 p6,6.921919,cpuload_all_100_4096,2533000,0 p6,7.022541,cpuload_all_100_4096,2533000,0 p6,6.935546,cpuload_all_100_4096,2533000,0 p6,6.175114,cpuload_all_100_4096,2133000,0 p6,6.177380,cpuload_all_100_4096,2133000,0 p6,6.168544,cpuload_all_100_4096,2133000,0 p6,5.423499,cpuload_all_100_4096,1733000,0 p6,5.355457,cpuload_all_100_4096,1733000,0 p6,5.357698,cpuload_all_100_4096,1733000,0 p6,4.504725,cpuload_all_100_4096,1199000,0 p6,4.513155,cpuload_all_100_4096,1199000,0 p6,4.518314,cpuload_all_100_4096,1199000,0 p6,6.889181,cpuload_all_100_4096,2533000,1 p6,6.878769,cpuload_all_100_4096,2533000,1 p6,6.979561,cpuload_all_100_4096,2533000,1 p6,6.177304,cpuload_all_100_4096,2133000,1 p6,6.159299,cpuload_all_100_4096,2133000,1 p6,6.191598,cpuload_all_100_4096,2133000,1 p6,5.355937,cpuload_all_100_4096,1733000,1 p6,5.344130,cpuload_all_100_4096,1733000,1 p6,5.275007,cpuload_all_100_4096,1733000,1 p6,4.523446,cpuload_all_100_4096,1199000,1 p6,4.517296,cpuload_all_100_4096,1199000,1 p6,4.580053,cpuload_all_100_4096,1199000,1 p6,7.918341,gamess,2533000,0 p6,7.919330,gamess,2533000,0 p6,7.902258,gamess,2533000,0 p6,6.654193,gamess,2133000,0 p6,6.646611,gamess,2133000,0 p6,6.606312,gamess,2133000,0 p6,5.589695,gamess,1733000,0 p6,5.598044,gamess,1733000,0 p6,5.601239,gamess,1733000,0 p6,4.673920,gamess,1199000,0 p6,4.669903,gamess,1199000,0 p6,4.667329,gamess,1199000,0 p6,7.930579,gamess,2533000,1 p6,7.903296,gamess,2533000,1 p6,7.901234,gamess,2533000,1 p6,6.601490,gamess,2133000,1 p6,6.624216,gamess,2133000,1 p6,6.648023,gamess,2133000,1 p6,5.604404,gamess,1733000,1 p6,5.617995,gamess,1733000,1 p6,5.599315,gamess,1733000,1 p6,4.669139,gamess,1199000,1 p6,4.675610,gamess,1199000,1 p6,4.662148,gamess,1199000,1 p6,7.224278,gcc,2533000,0 p6,7.223058,gcc,2533000,0 p6,7.212040,gcc,2533000,0 p6,6.430928,gcc,2133000,0 p6,6.418917,gcc,2133000,0 p6,6.419409,gcc,2133000,0 p6,5.567132,gcc,1733000,0 p6,5.572011,gcc,1733000,0 p6,5.571675,gcc,1733000,0 p6,4.675832,gcc,1199000,0 p6,4.679411,gcc,1199000,0 p6,4.680276,gcc,1199000,0 p6,7.219082,gcc,2533000,1 p6,7.218021,gcc,2533000,1 p6,7.221352,gcc,2533000,1 p6,6.419921,gcc,2133000,1 p6,6.426401,gcc,2133000,1 p6,6.431011,gcc,2133000,1 p6,5.562729,gcc,1733000,1 p6,5.566362,gcc,1733000,1 p6,5.559612,gcc,1733000,1 p6,4.674242,gcc,1199000,1 p6,4.673347,gcc,1199000,1 p6,4.672020,gcc,1199000,1 p6,7.358327,gobmk,2533000,0 p6,7.372981,gobmk,2533000,0 p6,7.314780,gobmk,2533000,0 p6,6.397370,gobmk,2133000,0 p6,6.428716,gobmk,2133000,0 p6,6.426018,gobmk,2133000,0 p6,5.559582,gobmk,1733000,0 p6,5.545058,gobmk,1733000,0 p6,5.543385,gobmk,1733000,0 p6,4.644468,gobmk,1199000,0 p6,4.638879,gobmk,1199000,0 p6,4.631252,gobmk,1199000,0 p6,7.286864,gobmk,2533000,1 p6,7.321071,gobmk,2533000,1 p6,7.313946,gobmk,2533000,1 p6,6.466461,gobmk,2133000,1 p6,6.438360,gobmk,2133000,1 p6,6.451706,gobmk,2133000,1 p6,5.559842,gobmk,1733000,1 p6,5.555455,gobmk,1733000,1 p6,5.570663,gobmk,1733000,1 p6,4.642384,gobmk,1199000,1 p6,4.650553,gobmk,1199000,1 p6,4.649227,gobmk,1199000,1 p6,7.221355,gromacs,2533000,0 p6,7.187900,gromacs,2533000,0 p6,7.174908,gromacs,2533000,0 p6,6.396504,gromacs,2133000,0 p6,6.399297,gromacs,2133000,0 p6,6.392914,gromacs,2133000,0 p6,5.538009,gromacs,1733000,0 p6,5.524777,gromacs,1733000,0 p6,5.555652,gromacs,1733000,0 p6,4.665303,gromacs,1199000,0 p6,4.671593,gromacs,1199000,0 p6,4.674853,gromacs,1199000,0 p6,7.179327,gromacs,2533000,1 p6,7.138140,gromacs,2533000,1 p6,7.222382,gromacs,2533000,1 p6,6.399067,gromacs,2133000,1 p6,6.391881,gromacs,2133000,1 p6,6.370778,gromacs,2133000,1 p6,5.550114,gromacs,1733000,1 p6,5.557844,gromacs,1733000,1 p6,5.541645,gromacs,1733000,1 p6,4.659602,gromacs,1199000,1 p6,4.662920,gromacs,1199000,1 p6,4.667716,gromacs,1199000,1 p6,7.467827,h264ref,2533000,0 p6,7.450578,h264ref,2533000,0 p6,7.514165,h264ref,2533000,0 p6,6.472405,h264ref,2133000,0 p6,6.444608,h264ref,2133000,0 p6,6.470930,h264ref,2133000,0 p6,5.557263,h264ref,1733000,0 p6,5.543767,h264ref,1733000,0 p6,5.563482,h264ref,1733000,0 p6,4.662770,h264ref,1199000,0 p6,4.654444,h264ref,1199000,0 p6,4.654623,h264ref,1199000,0 p6,7.398715,h264ref,2533000,1 p6,7.449097,h264ref,2533000,1 p6,7.416142,h264ref,2533000,1 p6,6.447821,h264ref,2133000,1 p6,6.449550,h264ref,2133000,1 p6,6.423841,h264ref,2133000,1 p6,5.554429,h264ref,1733000,1 p6,5.537982,h264ref,1733000,1 p6,5.544390,h264ref,1733000,1 p6,4.656402,h264ref,1199000,1 p6,4.664738,h264ref,1199000,1 p6,4.666311,h264ref,1199000,1 p6,7.844905,hmmer,2533000,0 p6,7.839876,hmmer,2533000,0 p6,7.826513,hmmer,2533000,0 p6,6.564170,hmmer,2133000,0 p6,6.542060,hmmer,2133000,0 p6,6.570818,hmmer,2133000,0 p6,5.580961,hmmer,1733000,0 p6,5.575593,hmmer,1733000,0 p6,5.531177,hmmer,1733000,0 p6,4.620790,hmmer,1199000,0 p6,4.613771,hmmer,1199000,0 p6,4.667160,hmmer,1199000,0 p6,7.790547,hmmer,2533000,1 p6,7.783470,hmmer,2533000,1 p6,7.818344,hmmer,2533000,1 p6,6.517467,hmmer,2133000,1 p6,6.555430,hmmer,2133000,1 p6,6.529552,hmmer,2133000,1 p6,5.547126,hmmer,1733000,1 p6,5.542318,hmmer,1733000,1 p6,5.561788,hmmer,1733000,1 p6,4.642812,hmmer,1199000,1 p6,4.641071,hmmer,1199000,1 p6,4.626151,hmmer,1199000,1 p6,6.963338,lbm,2533000,0 p6,6.956336,lbm,2533000,0 p6,7.040591,lbm,2533000,0 p6,6.295043,lbm,2133000,0 p6,6.287872,lbm,2133000,0 p6,6.260848,lbm,2133000,0 p6,5.463797,lbm,1733000,0 p6,5.431042,lbm,1733000,0 p6,5.481090,lbm,1733000,0 p6,4.618374,lbm,1199000,0 p6,4.618481,lbm,1199000,0 p6,4.621226,lbm,1199000,0 p6,7.014112,lbm,2533000,1 p6,6.969904,lbm,2533000,1 p6,7.067157,lbm,2533000,1 p6,6.312888,lbm,2133000,1 p6,6.316303,lbm,2133000,1 p6,6.279533,lbm,2133000,1 p6,5.487476,lbm,1733000,1 p6,5.436013,lbm,1733000,1 p6,5.464438,lbm,1733000,1 p6,4.619710,lbm,1199000,1 p6,4.610437,lbm,1199000,1 p6,4.605537,lbm,1199000,1 p6,7.159322,leslie3d,2533000,0 p6,7.196283,leslie3d,2533000,0 p6,7.175725,leslie3d,2533000,0 p6,6.394479,leslie3d,2133000,0 p6,6.367319,leslie3d,2133000,0 p6,6.370915,leslie3d,2133000,0 p6,5.487874,leslie3d,1733000,0 p6,5.540059,leslie3d,1733000,0 p6,5.513468,leslie3d,1733000,0 p6,4.665736,leslie3d,1199000,0 p6,4.650041,leslie3d,1199000,0 p6,4.661548,leslie3d,1199000,0 p6,7.176855,leslie3d,2533000,1 p6,7.204896,leslie3d,2533000,1 p6,7.217993,leslie3d,2533000,1 p6,6.363637,leslie3d,2133000,1 p6,6.392664,leslie3d,2133000,1 p6,6.387067,leslie3d,2133000,1 p6,5.502875,leslie3d,1733000,1 p6,5.529076,leslie3d,1733000,1 p6,5.506607,leslie3d,1733000,1 p6,4.664679,leslie3d,1199000,1 p6,4.657392,leslie3d,1199000,1 p6,4.660979,leslie3d,1199000,1 p6,6.793185,mcf,2533000,0 p6,6.894579,mcf,2533000,0 p6,6.908113,mcf,2533000,0 p6,6.027500,mcf,2133000,0 p6,6.062554,mcf,2133000,0 p6,6.061415,mcf,2133000,0 p6,5.236104,mcf,1733000,0 p6,5.322102,mcf,1733000,0 p6,5.271921,mcf,1733000,0 p6,4.494163,mcf,1199000,0 p6,4.565286,mcf,1199000,0 p6,4.512413,mcf,1199000,0 p6,6.885589,mcf,2533000,1 p6,6.887341,mcf,2533000,1 p6,6.901357,mcf,2533000,1 p6,6.044777,mcf,2133000,1 p6,6.006817,mcf,2133000,1 p6,6.023427,mcf,2133000,1 p6,5.323272,mcf,1733000,1 p6,5.327043,mcf,1733000,1 p6,5.334619,mcf,1733000,1 p6,4.521569,mcf,1199000,1 p6,4.613234,mcf,1199000,1 p6,4.535190,mcf,1199000,1 p6,6.839292,milc,2533000,0 p6,6.754672,milc,2533000,0 p6,6.827511,milc,2533000,0 p6,5.988219,milc,2133000,0 p6,6.059185,milc,2133000,0 p6,6.021989,milc,2133000,0 p6,5.233429,milc,1733000,0 p6,5.274233,milc,1733000,0 p6,5.174282,milc,1733000,0 p6,4.418105,milc,1199000,0 p6,4.466595,milc,1199000,0 p6,4.567598,milc,1199000,0 p6,6.727271,milc,2533000,1 p6,6.799199,milc,2533000,1 p6,6.858397,milc,2533000,1 p6,5.974359,milc,2133000,1 p6,6.056508,milc,2133000,1 p6,5.971081,milc,2133000,1 p6,5.190454,milc,1733000,1 p6,5.240552,milc,1733000,1 p6,5.242165,milc,1733000,1 p6,4.468187,milc,1199000,1 p6,4.410457,milc,1199000,1 p6,4.413698,milc,1199000,1 p6,6.787332,namd,2533000,0 p6,6.809240,namd,2533000,0 p6,6.818783,namd,2533000,0 p6,6.038154,namd,2133000,0 p6,5.992598,namd,2133000,0 p6,6.072707,namd,2133000,0 p6,5.236790,namd,1733000,0 p6,5.232343,namd,1733000,0 p6,5.171578,namd,1733000,0 p6,4.438258,namd,1199000,0 p6,4.459942,namd,1199000,0 p6,4.471555,namd,1199000,0 p6,6.647503,namd,2533000,1 p6,6.580400,namd,2533000,1 p6,6.572328,namd,2533000,1 lme4/inst/testdata/rankMatrix.rds0000644000176200001440000000153412565075351016547 0ustar liggesusersb```b`f@, $X4/bF1DB"f%YfasRRs,,Db641YLĆq3@59'f" +>FzP2$,Â``g7*&*=}1Jx3CC01 t>PgV(ha9ǽK? aV4O4NvFޕ͟ 3׭B:<34. 6bv'K6=)ge'pUWQ=I07jڷUf.-j_|N:ԫO={AdRS6M%Xw΋qP^Ձe־ <|*>t]<>u8wMNoyx7L؛> qNXL^ BnR-}l?p9Y˯fpxUwc 腳9dEOqty\[pOYB& k?'Aإ~Z*eYoݨ Xf /;{'_NhNe—O9|yEXY!iUO;W.ߜ- U`g_ >.Q )[#X__Yа&A|rp?ys rR<ԢDP2)[fgQ~HP!$G JI,IK+jrYplme4/inst/testdata/lme-tst-fits.rda0000644000176200001440000076267212764365102016753 0ustar liggesusers=|E{ U4Ew.wrY?{o~^{WR$ݙٽ _&7͛7o޼ySbEǙ$3^ gⒹ g;muu.!Vu:l~K A_/&mYgna.]J:;urX)\Q(o[VJKl> N.f{pbդ15L¥브0]f:N!\v.GǑČhFn{';Dy`xgE6mjfcv@9o/DipP,rq[`d2qy)tfT.wF;x\v6J䠴L\V&"] v2j+\G)J=lU.Nm- (m,p㠘77q%!n*#AaV"%N‰À6X\U&Iȴtdf28vt:=Z xAm0\1Qp91FȧBWvҳ |-;Vt~ʌ9X!ѯ xaq8[yj\ïZzP5{It)>HK#í.w"T/ZQWY/8kOS]Sn)33x%[$l7ԉ }7Ѧ}iҒ%VT12 0(4IhvV1Bj>(`T&Md UPnM$ZҘ1cJ]Nm&jkM)\}|؍J&drik-b0a (]r:2@"+T U2A";S]NfZbTg:J-".4@})Fp!݉M< !Fz߽ߛхOMt+>Ѵh-"od@ MM GÑL`lm#f,"h)thZHV"INf۪_,J=D`i\zGx8A- êf=!+lSYKP%0E*S u.Fp9md"Ŋha2Y ' 11cxK1E;b@ T_< oi, ZZijKuK+co$-n^jL5EgAhVZ[$˅!֬I sP^Wl9@c$TVN:ȴpYNc Q[__@u8(tTQ n`AP-T6X5N ؼ@gL^ڀ=^K-[,bj zt1ATb:0l<1!]bT pH%-N luna5Xr<: dO *$gZYc v?HP~[J&E*k{~0Zh`P xH˕mu.]`d X8G?dn'C l]FPx$bYj1dv*' []-uhYB6?`* @ټQuS]_# 6T+~ \Se#o*n)Y@.rOUmM?BVI,MSBOգ]Ϣ ;K%?^d?8p!,^csW b!PjbbD| 7byWJ(81zli嫦Dž3t,i4Z9VcR OdPJ(|I& Hq#5.-cD3 4X 0Ec0rWH|~)8 $u@`{<^dr& L 0ѠJP N1@lbFdDb|xf?, 1_#(iHnPmQ&N?aT)UʋJyFUzߘ\}pf(Db|G0eme\V %}4hLAU9셡ȹQiC*-c n}Jmɳ|0jتoPg{u_dJڋT{=r`5&&^N3&b϶yafsI^0 Q{FWe2PhZJz 0wVmYdPJaޝєLJ '؈/W`2.GtB h^ݏw0ǏWB'J<"H6E-3Mpɗ;؉IM!(qa&aW >Q)J.`~+1شV&-ZjB6uZq~3H飡~9HԜ?WzSg4vw`K^ Mai@+U 𮳡W5 uI1a{~rX&gC&ɰjqjA6Blr)*a'30[G a)0ad8dU3(V T8O#@3$L ]$ۜzQNpxU:zdgps& 0=䢙1")N^{ eb,E8fʙvWZFq=\g<@Apۭt;S<귭hs5bÇ[,@IR62q WܱlLG4|*Op(maݖOLg5,ȳNz\_ 쌤5woi";&T{R53c){X%!椓a*# @<)CpsF W *(󒍨X$X@FiX72&Fn p}l\aG˨FA"4s38G :VPBRt2kaK^ `"]D+!=]^jӂ=>IjyZA+jp8mUFfZB|,^sPY*(xA' M(D&#-kX',IrƢ'҇}#H!U3t4b] t*Wӎ7I Y7 6pU#)@ڂ/P U9ڀMu@Hu֐EZ'd`Ѭ4E j2tRdp OxEoԑytg2ƝXL;Ý>. U!oΪPA gxMSo#0̟R8ꑡԽ9 nQ2;DQ0ICRqߡ>yLKJfTe0a)? #2^mkPG]#d5.VG T A8 3ŘJH7PVDHDtD=+=;S|ZNpN"h0,[ţҽĖ60R 3m 3ѼRZ;+_@gfJ9NX(18- չҍ2*OV6"K τH{FPF6x 2$ґ|E7 t [@A?`e>ENG747Zq>NċMf6:0I2Da]c;{~ӍOe\ TbJ(!ur.t;\-?uk lHNkTI;2E;;yTTc'Fsؓ%/B>;R,G$N\B&RS{] p4HiԄ x gəЩ>gmȣG se}ֆǨfۼ$ i8UR 3`9dĔ~9C>B':࣡G>X>l&Ǹ}q"PJp(,`'=IkEѷ2hw.djy5 naAd`Uh ϒR0+`$i<0,IR)a0L3<83#RHYE51.&XDĺh;̂"rBǁ$LSRu`[ZQCmN Ed5"%M/EQ2vLk,:/89t8V.1^ U= kD\[$E%MW҆E\Ъ K 4Ҁ:Z+-8`\ ʠ g\ꮲ+Ƥ%9j5Uﴹ~U*â0MJyvCI58A5=n1!a;zAߦ<,^ L)pn12!t0 Q :)=8K 6@mepdGH,iu-LL ?(:951{tĦz=OboA>L#2FafS1Җ` P'zz(ȀV֔\&z̶ :}EFv R@-9ftQ8PE84R%-V>4sѧf+fmGԠ?Ěu.~Hns_OX "LlJGW- e;Ϻ&msX/l2xust@|ZuV_sBLgQ"KK!lJimh"J,"`O(P$ :iN򼓠#LYN E(:hrBˢ`|*We]] Ưtc0,dьt];r! _"G>91y!$[ w֋VnyUZ탵K`˛ r"IkFzN0nIu&w3Z:}I]Yfr[E^`dNiB3u{c;xDi8/"G&F0oNE$!}VɧE崋:qY]<*Yfj|Rj]$B EM%BY:(9|^)\IRXEDI5b0coqH@;uǓY!']isykۉ0@+YQB͠ji$KЕ '&-TmLJd,B5KEvS>Sɤ 6a$-4*Ɏ@\q&&9Э)p]$O`"iLG*D/ͭy6~}a!ŝ~n1870ςz4hJ*R|6MϬ&9}|9nSR)?[0t|4m+70 _/"Z@7_EvӃk2t /r fpdt45`9Y,Gkt5ڙ-R4)K*LvK^MʼnZhҩ~"~5LYeb\jVt^^*/_Ѐd@؋w{iKnDbp.rK: 'z2@=6ۉVU>ef%րkiN\MJgu c~&OPquzw YS2”Xы0Ɠ3Qf z2E6iU UI6wRY16ltSM/r,|(1w@)=AX! 05FNI!HV+|~֢}Rc,+wO"m2YՉ;.j,$v; y|Hd(agJQϨڱ,~@meAaVZ_{ aX'ޢҡHja&&D4I6$T|&ec+dYk{1Em^mwM q _Ɍcf. xKzUtjdݎTNxxKo,B6|ač 8Tv[rHsTq<>ͥ>e["vM `DzhCXJ?NI8yHL*)5N\Wl\Q4a)pJ[Ҹ|y! RS !}T !tLl FdӠJ{FjڈۍG>}CKviE!ę8:s&P4#/afi[BdŽAX&HB! Wj\&IB8!90*Bp{**"]M!$ A s_TBdv)@C1$}-po5aCWB`r&4;؄~4\ǐ\̌:JBc_IJs$O/5UnsWffS#A>üͳ.އybbO ,%1'61þa^igi؆8 2 A->q\ L E%P^ZTy- F3!H5 A(p{|aB$H+ 2Ӷ'-^ਃko5!L¤ ńQ#[!񾝊@4!ZD ɁQۋPQ $oQLi!"^t+9'T$ڼ TĹL!1MhiѢb$ۛQ 48 dIMp lL;9 r6T|pKm,j #o&/ #Ih16vĹ`LPi_TE;IhJ& iB$JkLHn*D3q.v{odHwbJb%zOl G"3VZj=/l?J%ds{]-[gȩWG qL fXP|P8"ڿUgh jh?LI^T :Z+mcm}5t0[j Ab`/*bv+Hkw[_$]R++[#DڟjC.!:>,sq1}h9[bEGG1pB6!N ͅQ+'SD]r6esWl-w6lh.}4snİa>-)OΓ5nSN9e^?Cxul~Yck[=:N9.>keUUPkP7څئp\4La|B)%l&s J**BH1A9N] øݡ"(# p]v,n2c n^18f&Y*B\&~ '66RU*Y gf Z߄X8%p,jrEP5K>)ٞIdZ>ԖRēAK[7\A5vZYX2"+HNnHoIZaLbt ր$W&Knrk kK1ѡNؗj{SM;;N[:b5nҤG,NڕSZ緹6C.Q!%&/gL[pte<3(%I80F8IZ@qZ8!qnݩ.ԑ&"D2!:pɵN鮶nX|.ߒ;7-*:U_ ưjGJk0Gʙ3XFćtaIZ?u IEl^amqI e29CS!"x{NB(d4SC}CahĚ3v@f'7%g9SZyݶZFCCaJ[ȓ!eR Bi$N $?Tꉢ NQ-(>ŧ^76a.LuCYAi0I VGwB~6pQaٝ$T.XWg{02YM(WeygSy˚]&.2꼦z2a$u~?U34]O6ӧbK'jT/:ބ{LO)ބh5&|RM=̟b}aļ I7!er~JOFHwWTH2HUOp󏍉< i(FM&jJ:f 6wXd(LNc-#'\N( g8f=$R8Y(pŽ"ꛇ1ᒏ]ڧH ~Aw#8@-3݋p)E!9W`{@Ơtc?@yrQ8DcP&JsΓHj pW0\"EqP9J`nG0N@y#1fQ9ȯ@myw.7/D9_Y!p)Hnoa%U`P2/Ge@eV\VePYa@e@`h6@YbG&˰;՜V\(P e"NAwP0{Sq>S\ !0/;Sxw&k9u_ վ0׏8I@+&zD2#ǖ+7oY^H;SuI(FPGtp?1OPmzMD`p9["\tACЯ/۹ćq37rjy{>/@/D.ȿH{9JsD_\\CEiCiF߄IN[ ' ZN@ro߀h?RN=\OmuwRu z=((}ȿ A!)70#.\ĩDžǐ86KpE~#Q=db)-9u}ۂҽEM?rSzJ0Dd&aY)D#pMLSr)SJU+T(S^d:wixQ}8Dk@tyݠ<]3Y &>,|Snύ;"KT.RSk,ufE#YIE!]p ЮOW*dl3 ^`w`qJ{04j49'RE>AǢ>EtNOC#KJ>㣇,+/9,DhZj7Ta|wu<=*ndTz酃GplQI{tS@\MK3*t@M_c¢:7MCi}8c8R_C y ܊>5$xd+׈>CǢ7Յ(jd2jO!% RȪCی%vx=8D[2UMfX/M{F4T"Wsp CUWp0~xt2sisA9s:=53J>3D[Q!藧Ǘw͌4_6Kg8N1EC3>ЗnW8="&k9Fz˙K׻D@3Sdt-&iq X0GY`IX56KQpӵ lr$.V>o9g_FqrGӛN gcBk:^橎6w@iIVa8cυԽrvjb4F֋NP5if_Vux309Fbpȥm+i1]}iñ6ux=$o"g8j03Z33))Cgè1g7uSw㧩5{*W382GX<^"%4a$ \733:̨h:M))9?f iE&'2xf$fTxQB',C<&1T 5&PӹEve>oQC#|éCB>gئDҦx XXW5ŪxU /Q:Zy/}/ ?,/r=b9g#.{ .=]*.&\'\&EvsVQ]Z q kTx:x]}:==?@z>Y~%<9:dRpykJ'pݝ"lTe< aUt IC p}[Y+QNGqLf<#GCu/Υ8:25t~X^S9 >rbBH-w'_*4_׉;ì|DFb!IF%> >NR&T|$)R8?(}G98EJ.+#J8%@y'Qwx!,:n e|߽gLiG"IHyԂR-U@7Y鑔cB#*,gP­/;8|'"nR0SFkF"t>QmRa}uRNìGJj輂_FUFf95G?3̶?5tgF (!?#__gBf;>6ʛ$N?wKz5NK◄+~ʑd|s&9$r䏖<+" >L;YdA{.41&@ThN&Hm#YٜZ1A:!4A nv t -Մ,0ոt(]o T$NF5.{OBn8X ~g#Ds@xI:QuppIpt45QT-J1hz \b+=y:9'fh'VoQF3sȟԽ0 )߹LHw._!>Qe_c˥A-aBB{09%Rz͗]/䢗zKqA$#"I/ .3+\wjQ=.nNy#Eayڦb_L)2Yr,z-*  R]vD-OT60qEwttK/ 3ltHËCĭʈf[c9t n݇]vA} .Pb]mӏ6#GdǥqÚ+shp*Wȥ.E21wHWLtNwԀM2{m%|D{!7NK?r&&R!&*U_5ǗMs~ۿ9ǦOL~)/8N>'7xo={~|e _Wg-6V`#[{۰`K LH$S:Wi,dž~o>R*C'5e[F11I+y٩U[p[)}b/|ER(~QQ( UB+K7'c Ϊ+$<#$_8(gJ_ §ճێY6P)^R\CC/sJ>Ư)~ [p)GIPHlBe[%8ը":!:EP9QI~U1ɯU 85/I+Qo*_Nj/nRmRlDS>_@p $5O=c!&;*|{DEt:ULGQs:>dD~D3w3%sNf)%Myng `R殆_u vy8.J V:OB~*dz,&SF*TJ) RnT,TR %RD&:I2OJ3teMwxKhtE|\wu/2i%?)tmKP^(((l# o֝E1ғ!+(8yk6[*N;Cu n7rAr#r Ǩ, gk&âwX3L|GFH qz8S >NY(Ǩâ4n&wp3A]̨_兦1,#Y!r'Ht$l1)a769$dH" VREHAtM=}>1~Zw]fix_?^{'ҿ{?]ผ '_]17wOWM9=8r/޴q3w>绞`p뫳tƂ~oU}鳃xn^U׎ʈ~}lȪ{|} Ny>G~b9:=p?>aqM0SƬaSpK?6zzԙƿ>Q|qnxyo4MX3\q-5<.ٻe?g/_}:#׼*8|Ap'<7|p|I7?>7/ygdv\n0h=c ʗvS6r8 U=هþ t㋇ g Zϟ-Fs_S?y?<_O{={o7KҽK;nOϮWr9ԏ'ure |FA/@0Xh[9/\{m~|iZ ך_O,S Ͼd'Y QtǏ~ϭMwS*=G?̹WU/~^{i>hnjhD|'`7zp#0' 6'ߒ$PrŔ4GW 8CGR9$C%B+,Zka/4Zɰ\"킡 v=ؗ$qPX꙰zo%''FM]Ĩ+S /&'6Q`8yF2n8-xW9IdЙkmwZy$lu.syYž>+$*7)ѐ:3d4\ԯ5~_m!l|/S$HS犂 Bo>'F)ڰ`:*) &2O;n121('5zě;)픒@/#`sY|Zx-omАXɺhc QA~|szFF䓥׾P,5`&x[p(M ~#̢ Bt9Qrf\@3;DAN{D05P9I& Bk uTهC|CĈK9'C)\bbbiRm@oۄ᭔ٜ$DmS遇a3=0_Ű;#xY /у)FqfOT?|.] GI]YAZ$*JhZ+84@ ߉B"/#ˈr"_B/!K%~ gU6T(U gKKKSqp + "X~+J#j:.p){x6r(ە1\pynl4aࠄT;U $D^XX"EDxTX\F%yrb/Vʑ+C0  ߫C2\p'";nO@8A֋bQe2 ((((W# JY` +'*RJԅIDFMd@Y෦%t%R; R5]AVVJVE&HM2 ӋI/RcV $b3h,ҩF*T$Q^BѢDvz)TUZ21J%4(R`P(RJ*1Z[JVWbJ!XadZ@f A aP֧_䈌u6V-Rʤ&߂ې;`YҤjP掜2 73J$䭙e*I:H"MI'=0G*x#ʐ~v~Y]]Jk&lu{{q6ۑZWoPT+jJz_idv6 3a3Cî ,hn&;]b55Hwȯr78A2nTFH \US6f*vK]LM2R4!bb=B3(J'BIJ(T> OhBe*PфJ$T& 8Iy$TGD椛kxtYdN^ zIW/+>Mh>I‹ie 8XxIbNu) @u'].Ƭ !n 4n5pE:<] vzrm˷-QÆ1 jP7BjP#8Ժ'r}S99t\8eP8aÎD8kY*aْ2oÊbyR^,ǖȓr .\*5eBe.ӕea伣d(ARb*,PPI[XQ%=NLτ1#[@b,>@A3T$_Q2c*/{s?yu΂/]1xd5]3<򋪓g eu5g~Qu3P%up[{2ΫzS|__ָ9>B~̴{*-3}Qe>sG|gE)ov[GOX4mnx{ew?~{? v1 f\ܓC^ns# +rwϮ/{`c/Ǖmuw OɂYWb:n5e3dL~Bw.|QGsK/on;'8av}&|׎nx%.p\W>ơMܙ#7,/0:L!%h`S .8}LW0ٴDy>\A9`l0NJLnY8nKedV1A-\6fRtå։轏;\~x.Ney˸p,};\xAyyKǡ9i |'GEKe6^HåLTD.sOgCx7;4K ){{-c{*-cp=Q罃{;{NڡTAwy!޳wl3{w'޻åchʻFW Jqֱ"]Rxޗ; lqG#BB$pBv43.uk *'m͂I[-*'S;;Kwpwwpp$pn p/*p[{ w/ }A 7@17&46uzn3Y5Z\QI'En@~bAa/eiGv8*vkk~O ?'i_:s/4vskyz bQc OűLs04FOw5h [/ڳ3LRjhSM薎 X:1[:գvY-ɒIb$xXSr{e6> #Z $3Snڀ۶$V;Sl^Et"j)G>%T P H0( Gㇿ~ Y:bd wPlo3W-h `Ia qÀ6/I 9CQg[BP|J!ښɅo$,0._̪ =42%ϐCldt_HHlF2MOX%X9]nU*KR ?ܮfIN:0~M?;)DE3%!wPE)jASūjUL}~Ar X=)$<&I416xł8K1n૸z 6ORW '$_OBȫ 6OG{pw}[Nj '|$#Fvp.4]$Z#tJ"&Js?&%=97|OeX>]˕2ԍ">j?vct٢c1<3蔳kCkŽ6| ްqD3kf;h?qC.^m/[IelRG|ҏnκ[/1W{Kq7xk}'e~)_1#6!R8K%'"ǭ\PkAOs''F|ckr1 7lxa6—ҫ_ /|f~p.뻥Gmz5ANn'.}b]'r1/pyk狣~1b8 lq2Gg4X[x7g2_gDƳlOKej#|q\\~;OD!ǩOW߼n͋t|VRO7}qG\[lk+7H~ui@u}#'N&62Oؗ( QIķnovc!Tĭa7Q4[~붹pl( l553[<\8;4B_'8`͠.3Mbݓq^֫fS.m-s??b%=+Jyտ7$?래\{c ky;mw8u;+|=^c_󚧃7Tٹkow\?{sVnw=Q̿㢵|;vKw\/uœ]u]Owȟj` W_?x[u&<ч/_N$h]|Ww~v}qp[{?l㾣fe}J̺讘{o>>#^'^~:x3xyOO/xo7|"}:Zx;im[֮_OoD6U~k;wVVxG ߶VӲO[++ޓ~ >^-$vxJRgO'^J<DOգ=IylxG(< </Hylg{}8/xDuh<:K=po{}Z;$xޣ 'uwNܙ' gO[7^xcit|~ x''^<7z>>/O#izj x'ҧOܙ~ x'ҧOܕxy~_{y**o7|B=3yO[++ޓ~ >^-$vxJRgO'^J<3$Oc =wIi+x'^>mq8^i'>y-tz >m vH'^jG~? sĸd.BR_K ~)/ee4z1o[V,oe[9~+yE% HR@ߊex2bJ XR,C)u+XPJd(%J^B2RJ TƪTW*R*+Zɐde22r LW.C)Pe(2r2r(QrQrQrQr-GPFPFPF-7Z.c\hr2F2 BXy-U^˔ru-T}( BnӞ((HJ_BU\*LWY )TTc ձe2ul:V]nu%rK喨-Q[. #w2)S:X%42k}5D9Dl1A+/On%pX3%IY 5Y^)J6)Kc_BsRx fcP%BMZMlv@IR9b W9 BU`,vxsڝ>Kk: D͊xJ4iBKL8-e{`X'ߎp?Ke ;_#X\jC Z[\%콵KO _Q*~O_aw+~_Q?/{Gٙ_xS_/~t >  uyqrx^0'ߏoӀC'R[PZ[_2c)-k7 \}uv~٩n~igTꚾ;>O筻K';-Òy;>J~훖2/sKg~[4_r+S'?уN}wޛUC|skxޟvR͹fVڷRiv{ɒ]q{?Ϭ9}'Myjn/>:eC/;_>G;?+Q_'3I63ŏ[\5 ER/_F7 {?:G7ydƻE} pS`2XfQCtޏn}>\=W}pǡ;#uw(Nn6^H輗7鼗꼗7e(ƻxtS =Y=xOn zO%Ӂxr{<㽣{,L13.MzCgG3{w'޻Cӊ{w Syf+֒sғ%/չ; e1P& w?pA~q2ؿ DtBW6pN\yAFNt". Znf }=#=ܓ=\-ܫm->Sk~7v}A}M@?163>6ud:l7H \N7I 1x 3nzg"<O'DxkKʽXtlRI3l~sA*d%63Jͯ8 I3Rp$)pB^8(/pd#\U*P!:Tb ltCN*pn$N*pB 'PQ8I4 %TNF 8i 'P<864‰Td N '8pp~C#CN*p" 'PAD8:$4K6ʜ oB͕;bo,@ۊ~ Хk,9/ Hq5k@uu0lpvx+LZ݉轫e'AVBM,%rhdRh,TyWAL9IԪɮZYy,{rm!\/~A|mNOy/}~)0|/_yU^Gduv6G֕9lw+GU#פd q'o˞oU.>/{s?yu΂/]1xd5]3<򋪓g eu5g~I=;J)ĚĬ۪!颉JRrDi9y9u| |kf:/b06`Y\_e G@یF=vc1PF$=F/! kYİ֡ bGXiN_Tp/x6ҡ6 ;4":#/MW]h@?`7zXoE&͗M yL8szZMJxW#*U:J䯁[P@'KpN݈!Jr9#nˌy>&DH2O6 l2,gM^4_(`7,M^e@U$6VoTNR2D^el]0TFi,lW [Gl֑QYhᣲ0SCZBoSctXk)ULX2^4Iٌ*U-1zdq Uag,Y-ZXpk%116ivǺI#LQ{HU IaS\ifU=lC8EhKBpV5Vb<{c:[`Q:7[$Y6W,0c tESSqeګ/ aWt3q+q'nis97u@ixorR灃7#[nஶ8,n.|6oBIr<(5y0p[MB~*dV+T=&m}&GmmxD t U{@K: ǽNv  UTitK6LNj i|5?^&ΑGQ{+~ !gu q^tl.#Y=taotZA–j)F"-ZWU\6OaI4M%שp딢֙$n[є056fpRD):TJyx$PH]YA`vŞՀ-~OX|e" 'I~rxw{;u ~pg}Ȯf5MZVaEpH𢆯mY!O'j@)t1w%Hu(H%a1@F֐qT>?!%  `oB>^ zm%4g9Xv>G2gq{-pnx%X\BFA Na`'>TOf{-I@H])|3v]kH*S P ):7i&҈ҋB<266UNbk808t5ݶlC{P8afeX|5JU">PmWdjsǓN ƅJL+@:*2)Bh掌~}a'ƙJ([C0@_K =*6Z6߷O)|LO2DFQ mIi%QF:b=Ć,Hu`E CEdNǓale1IC[SMxj1ӔBlL"d0t>D>b2}AO{S:"+N(jJ75Qd^DԷ(5L1깕QÕ+LxXtdCi_^80Š-!>%`GobH]fZrFI+M?7Ic/T9pUòXL/K༅, 3?vkIK:CgjPΫ!eU~X4Ƹ4P,Ps$>XK4\"Z㋐E Em'Ϫg0f89٣ I/`Hckuva݃_-҄/E*eKT4Ak"/y]ʗPyAٕIEizCEc:N$l7J/U+E&P Jq[4"XW\WYBG5 Vl,0[^AQuXVr" c R Os grsWLI]1u.( My ͱҚL~|x2$e 0-d"[1Vr=L m,4x y ^o/NxI&Y멬Hrë 1jV.!]C񢴗3aUt,DzikgqT>`MX0Y#^kČJEF# b,ijaKS ~T^a2 (;^ԜBp64j6XS.+D29"U5 Q~X/mbE"krO\oR9VCF0KERLB='W#1MS\EEqCCzij P-[m /IPrʼ.Js V4R݊y[[ȩW2+9k1g4ac,%u'< Tqs2Kсavy56?N3OVo`C-?PTAORgtnw(9$+L"},Z=q}BY=t"dFFe3ˉ EUXd&'pidh1WbRЎb+28xai_!]=wZ${TZ(4/;b)"]!Y@0Sքki9)r:08r1d!`xE\ʟ/q#>*qt6p 0nr$ƒu>*$5KB5j0qN `ꠤD_F~y'g79 |&|焘Q\guҽ.'Gc]EIdFoU("DY;{gjLFw?*tB^F,P*k)Py&$_Ep<4Zn=bFⶹ|f]M2-,")퓒6ˠ?b́+ 8} 3B@ 9p큥6Rok yuN`չwgZP3Aw(mJ[Z56o-XLIqgA $owJ nC 7r$IRO(øk]dWP"=%k82l&VIN8:@M+jH0c=CwȏL]hHq"^ỏȈF?L 򶢍t#7McP%naav(zO*>DKXE%'N$N7~M ^It#B {|v1 %AtbXld.V#8@BBvyYy'T\.?k̤uBg3,MFEjLf$k!:?.J4!(QgİlSe{I!.ѽV(\i0 YbМG֞6ۗMTݾ棴<7}ɰQϳO ɟ+n~gݣ >%W͟j𛎕ҝuH?n ~& ^Oyf4Swk̷?ubyJ/öۣC"`qeu\3'!y%z(?ә>ASGNXgDBG,ao\j e~nc.#oQˇF<PUeg]ގevȡIJ&2c7܈e5'@wI[^@Ȫt]0S1IJ;96PSwǿqG\#cfuD'!G%{mbI;N67U dD. PA|D.QoGx_8ng%ybSѽ]z\ ׹[Z+ŕyݠ3蓎zljqDeUNJ{e]R֤KOE#DR k W#[[H?aE6Mij̏q0#7VPp0Ǟjwmowh#3;;e\0HnDA:a$ xawXk#(d!:EQy]n-xwYlꖻ_~}˰6~{&x>{j>eo}osO2>Vw?Xm9ŹW65:'SLے֩}.]-&>Y|O$A3OުxY 'nYt7q:FM mSrEh4̨R=UU> Ʋ2@+aD"SUFBim--?dl\6ܤ:fm$NPʣ[ j~R=ri.oAniv:儯#;ڂGNSyҍ߬M_Ss{o}߾8ConﳻG|MܑfSz>'k,3zB/ "T=.QXEҗNyZ{Wxz$R'd-e 'E@wC~_JP~ S>ۓ7B1|\ }NwQ1~cuiL/\bS9Sq|>6L}-uQ'_ViSřg]_Ng3/^uu=[>bI˺ ^>N~X׳ik/)Kd}-?|rӭ{~>Z5|}7|a֝|ڍeW.Zw]/Y4wgX!nԡ{.κߣjՃu֟g[Pm?祃͕o{e^dv擖nǼ{_8/;|'Xwsݎ=}suY7[q.K.@S2i4B .aC)CzJ`Xjx%J7@0 :2-c3D.GYvJhu*И& 8s[Yж,6xa/VXN A\i2iF8wgQ(W:ݞZ^h.OEx/T}R{S 8܋UDjJJ Hqxd(qd6Mq%JG)w`* b1nS$3EBU#PwI6z \7{päPx7 `JIm8 SED*̝Q]P<՝DT#PP}'!4n>XD'+[(@Dwf0J3 (0&(Qnw$JQԮEn A}pps!U`"e(=*,Fy p #,?.k7xDs+p#\ADDId{ u**X6ǡӐya!"/`- RNPpPqH> 8b4;(:4 5 QqDC\X'E!OT7e9{L:b#۱`Ρ뚤N_A^:yo>  IVҝF"Eo 1ƱxC@"`HQí@wΘo{]t:|:oPO5MtADĨ4\s'6Ŭ'8['h{6eLp(61!%zKSx\.2vj1-8RLH1ϕ#yl˼ƨ/m=)%4=3/I)R~pB2qo8U9KzVpd]x7G.^^43b;*{ ꧶ymAfkobYF]RĊ}&:4YĉW^6u^V]6WԢuQ8QL-?kEbӛƁt+,ge rЫcyx[tqjڱ rpIdT6Th=_1}J߉vlNV[#Е~WFd@=D*cO1@Pafpl )U؀*yAd] hYaH0 Bb/ivFfn8 Ʊ|qO$E*ouT aQOB(qe ƴXX ^.V`m@Z~*"S~:xFhZ!: *@ox(ՀE!Z}yrFqʮU˂ !Qc˴,ѬsxðB"qK)E"K<-KKP*z`(h gPs2,JPyH&eIe3X^)N_gCp5rK6#QY,SG5 Cqbltz4(.zf|j;͓?*< nJ|54$RM!&@iB[i@OtH Cd~BT ʉ9 hdNHǶgo&02$ j#C:&r4!lOLwX0fO:e͉ݸ<,#(gy0^-K e-|D<ݨ~ XLZ";,W%B#Y7^5zifҷPXB(xMM(߭tؼ(~ϙ杅a&>OjOö^R^錎)^m..H|.rSS\.IĩĩsjW:Kcgt+uњe\F,! }Rܲ.ev0qK4L-`GPa']=qymX!crŸxбFWsE!:#6}&]S{Q߲mfL.?$}nizu?vewD} 97T2X3fL?gNy|N*?D}8*jA<&)Cz[G)lZr`^n~K| !~U%)o68w|_P;&z gRf4-֙b!br*#=Y^K!ËBcOpm-L*rnPʣ'PqW"^Bk^Nz#Q t`o GȏY$  `K_'۫s=UPD,HQY {|:[.085b F@(96o @#ORx'0Z'3$ E>gvP}5Xl$Æ(R䗢&Hyd$lVl\lmж-=*2ېFD[n0W5bxgf`)>Hkɰ\:0Ĝ̅2Z (XNOi9[<\K'Nј䷭0K%=劅o%I2 Vb^G#(&r=L ynK' Fհ :w5\L2̡Wbc*47&P%&FfrF>=i74fo[EQ1R U #5R}$D+$)\ M-lijTH1H/QVK z&68QZ<֛+C x"2bTfV-˛ l7i<(I!4\Kba+ *7rL_y$FWoiN,t\qoVZr>0 iPc|dO1YX&z8)V@Iei1u1^mDǎJl}MBso\mYmDS%l.4wG^ߟAPEk%60J^ #i #SA$!&uiX"6K YD ye/&xZeZxmO: |ek= > 3NtUg,9PyȦlw> bhP$q#DɄk((A]9xu%H:<3~zz-8Ў zKzE!I5j$ 3?yTمϔڑVo "Z>VE4ZeE[c2CJe#~Vu2q W'xZ`D TWaAbGmE#-pĖT6SF<6[`X FV3ӴDFJ4اgfJ9NX(zUx0ţ0:%uc^)\HE] 3!pH#FCz)dLi'u͝YQ*e+8zjeo@Bu6fN ;sRHvvXT3% 6G+!a !5){SHXƂC~$6)\pGh%&D4ȚX40 L8%a7܎#YX`jkR("+ )^ aq &%hFPYMI95!$RֿI5b r8N o}FY@B7%v J"۹rqJxz'5ku]HnrXjęH@TӤ8=Uי&ZPf>{!*ҽ/\qbxT%ړ}y?Qg{ ~\yG=mr|Aï_wv?.{/_;W7|~?d>gCA_6\IէV'_[ɏa3#9O;' {V cS }`9߼?w­wN?8s{#_]OL_`2mѾW?5Gn׆}Ɨru.>F\ :q4\_1˩ө8>s댆N̨l)\}JM(L 2)UAwyK:?nZL7*lԗ'2NT;MA ǥ4&>Q~=tQZH5A,q뢜^Y'Zʒ,1T]Np#eS'WxH'\ݍc>2la#ڀO[=p::? _~hdiԓ}4,(XYe͑DzfiYåe)çe%=ZߥOlWLr0RC>-K1>4eY }%0~9nH㮻>e?Y^Q_D]?/ydz4xޔŗ|m}i>ۻ W|%ac#M_sgfwr󖌝y} ߯ݽׯ]ouwfB략{-|buϗ޿u?WF[̽w2Ѻ%.H]*iO#փ3 nuG/[iNzZ[SVt֟~kqwu΢=֟}hgɿw}ԡ7h,ǜ'_8_VeݗMpACwm ~>cذ;z_Yw^~⋫Yz|vs=sᓁq녫]||[O*?>pv!ڗ֔Db>{ېaB1ѵZ#.nM٠5=U]!D٫lQ= W[eZIHY"eR|h:mZ~jRg֑ȡIm"KR(R醂'nRSB~ު܋hf?Ґ. 4d#ַF}+iNג'q۳vŲg%`E$)VRCCEWws8J}R} E;֦~# ro˧֍;~QTK3_3\g>۶O8.ߵڪOq[|~x~qwnc.c1݋LWdQebt"1"a:%Cv,}'5s[!*IDzVxDH2Oč'x֗~xE/:{ -u2Z8% >kw+W[GΕ;]0cEo?'t;/UսYuri[.wok>+mUƺԈQkPhlE>?UqNs??JJ W}uRzҌx0ߋeo>KH%B5=beeέmҀ.5)F X:`I2;pQkt#p5nGx{wpp3(3>M}\, n pe7n,{ppH;"RnLMb Ңp%.6eʷv0Jo?soԞbt$<=hz r77mmzy7cN!D6E(o&uqlw6SklnD;gsP;#-rXQƋ8KT6%S}{4;B^ע`.z=0@({e`#b?wz]rs=jmSH-;a9>q_̕Q)FGރ;9h`p+4mwO,e/48¦vLbA,بwWK716.n嫳yee#5 t޶ƲH+t^F%uAT_yH jBh3hٺMrfflF55M9[Ӕ\T5 k`fmScF)#TWjmF&ѕ[nlL!$JSP"`Yó9:44DcfXq +l4['5ۻE"F8?ʺ|pgM];]GxZߝYw-ٺbW^b}yqKGoR;U[9OY X{U/vKɺo[k`XwY,~sT͛ ֯I~ɦ.aMy̧̛6Svcݳ}?8źtӚ{?|uӷS,zen8qݸJO_^0g )#Ica%qœ?b)SSXvmm~ᄳ͝!e:ǴY\³~b$!FZh|L?{& wawMe*oZ >$3}!'C̓A4`<:xM, H K:1m؇0OFvnf7}7}LP'V"'amzg5;s%Sa|ω|| ޿ԧ)Egy~8jJ75Qd^DԷ(5L1깕QÕ+w|V#9vrӑ]srFa9zloL">.wK:CO ?Q>?R/R$7oDڟs1_ʁܯRbx.Rp%MgayX.^HZ2?Ur^ /;â 5iYܴNgp+8RISdWp ;4":#/랺ЦjV:,h%+<Eri*H8tZ;ʶJ=^qGy#CH7nF&f/JaO""?RhEMii[Nr@bQeBq7FL g/Űy0'ǡxB2<׿΄Gy%n z{o~;Fc)~+Q\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\F\FiG՚l$7mݱ]aj06B i4\r`s$p  _{_w\xG~8|w>z5'4zIZy=~K['x+=>AB$M*K㠫_6AxC pp~Y! Wzp*is3"7jjdh iZ5cQS}N7ֹA{<qa\' D_3JۼnYq¤uǾ,'~9}6)qUNJ񕅊A(-/J'DSM7 !0l# ["fy5˛CWPp0e ή ڀowIvgSph#-QDމ(rAr#r Ǩ, gk&âwX3L|GFH{4C!uȋy:, Af;8 |7Ō: 4兦Nd۠3X7֒D|LF3&>J`xs:i79L[dd[dydu~s˩.E:$[G -㜓:Tl&;ϫ#ʬ{.eGd6K:xKj;twՓ7e|oX'9 :4\iGiܱ~z‘_` BWNʷ[{Ř}wXT^}yW7]y]v9=f{͗/.d/h=h|zɛ.~fo:Z1e=` &u2yoouovX/9rͺyKߙ{>t}o/͍}i߇j<_~{ӥj[rn=>?;q;2o g;qǑ>bB;'zIđGk7< "EE ǘD$S$1M+򛑍Olgm.@.\gg@ x~/%9=sĜ>L|sz.1WJ^BŖ$)ڳVtE"G X6 f4<ׇx53ꧺ2]4 CDE1Ӷծ掁lK>ۈ/NZnXoѪ%9O| -/ 0X/?b;~=Rۙ=C zO\ kJQKWJMWTy96)?]ȗ~Ȑ2N(C zT͙OtKv vIX9P#4j'a@Xf&H$r1UYCQܰ$MCoMf&5ֶK1(- `WV5[_[m<ϝ&h]f[wgsCԹ_i/pWI/o<:u8/ϔE_XEA.uE^O\/l{乃qS0%uLuIO146s `9_8`ayB^IoLJ7LN<&~j/vL~3tnr0ӿ3`"ׂܣ}/`0S6rOݰC-{6~('5{0wBIhM}LA0m@g%[:o}*- 'DؐsBފCSwx⊃`s;,RԊ+ww_ݱ= 1DD|T_> e/B~)^@%LnO hkR>NhctʵP(Ox`z#!?>'pE?pߺJKx;ĺzo[.`=0d\x΋qkݵhٚҽ?WZv^[mݽ?{\,zګK/mRo XǬ5^m[_m^g98;:)6)un,(X8"xhlQS ƚF1zgw`E+|;3{{b03o޼yoM.S\i|[>'ώe|k?8~7>CF {oŠ[m<ׯV%] fŎ m'wV|pbIpw6:V25='U𨂭䟲@gނWwiz-I9@GeTyږ[^^on/Ta%)qivc H{]fi%TVa5$xLA[ՏcږyXfTPGu:r+,eaGi=HwdJ+.>R+QDBu|2By|G|!7cQtOvx⼈W0}xO]EZ !md+7 /5Sq#;Yq;Ѹ|։ $'RP9T`G@M1Ez4z8_"ܰ`Y0_g`x)VZvC QeP8Vtc-c"c%v'6TKR]⭁ewM[F0u`!D  7Av# V#ogg+D8 7EŁþCħ VK8| eZ!ʴLDAv[ċv=hMg خ6`!`02=Qxk 32I/l,k+`<^Hvl>Bvox|C , }pCvfHus3;aKz0|3]U q:.|[!,OGڅ ]H׍ >T]M rg cύwKM`c/if`F(\zs# O\OiqIpJ?դWyі2^fI):sÃEjVO3k\ aQI&TRgF0lK KR\=|I{uKݸK츥yk)iS`\x+q}=Ip~S":IoyY&o*sH?U’2R[0U/qoKWc j\:̏\ynBtK/AB0OXO1T&P+>'/r\jy/O1ǥߦKF P?աU%fvN4ٌ? pa?-D? Ѷtoa¸0#ٶ4onħJBS Qsl'ڿy6/ADx{)8~)dӗyн$,k!NbmQqߋ>懛$4TJRn<*t-4fϰ a<6(^[j %G=3)WBpt%e[f$#2}XEdӷ=7BQX=^Cʄ%e@fSZU{L<p,8 !oYpΥ{= Ԡ q0W۝ˍoH<~\\a|͕+OMd;:BCy0z>R:9z8W'3WG~)~ +\* _0%A~lK}10c(7|4 |1<*xThz9+kJ6k,/i+Yb1̪fdM~["8ɷ!ДϺJ#Yӑ*~|h{}QRB2dw<=4Ij JJL. ظ̰\9 P0]0ϊQu،OR%$q.ƚ⽉hVEa3+J@> .N!lqaI5N ٧j0~!*}8aӰSp'w{ GD 2>pmzg[.nlRJFF)P+LF>21a+cAxT yܽ z kܴL sL|ʍKͼuP`j%wOA,+ү4qW0&/,JT^Yx5a8WmMx)¸^J<ɚጡ42quLT˙ؘ 30$t" !\-aI gN%3'b&\ 8D0L+Ge䢙cFŚh5- ZJ<-xZ9jx:tP1.Vx.m+<~{S0{aأaZp,c͐0^XVd +'\rt{)1A%n{jIἽ='ct6\1qhS_[B\:.+0? 37ĺNTLf[v" ۘb<#hfiusq4analꆅ!⇢baQI*>.Zy2m) ;;!"ojO0D~ڈ0T:>r¨?SÄ=$~8Kvt'>l֪j5u u]Zẘ׭1\/`w:e­C\6N11$)ee=Rj=Rj=Rj=R*YצdRR#t]9#\GJyGJeb=RjOz<9Z"xRRRRzzH)ozBo#05H5̬}Y#jM9R1Gio+#7q97q%r Ⱦ.kWzQif}uXr5u27ϟзV pnۛ<:%%:YWUˏ`K%߼̋| 6`mNV1p0;pTXu)2m`ZJKlʐW#{vfBbܤ= l2b$0k#16,~Rc.`ׇ^KFw t|V|V{76;Xۿ+,7bF;fITŶIGfų*ʲ*'\C. w{y/RT xA3jOo%>ĺLͻ[ޑL& n_m 8d!ʭf)FnǒTUD7`Kx *8*ѬaᙳQ`Fm2B̹}Rsnka[;*gĝC<^m!>Ɓjb#J{?>)`_ʰ(wO5,)gdw (`x+!8ܝ.mqu .k6@ q(=XvWoe] xGEQqX~Qw70rkusgoP#f"nZ Rǒv\pE\ BQ>Le"%êMA0_EH^:ͭV%(Ak,M*V-TܴE(lEyd $#-K+G~Ij$SkDRr#{W7*֚]w>'hiE?)SyD$վKb g(YTAwC|8p~yI]#`ҍHP+4S䖬t zYeyJ0- E{Fa&q uu\HY;͊'H>ؼ#kmvb<)RFP oYeᚩG8گL֩>7?|BIϛj4uIQz=YcJŒȺÏ5ٔB&Ǝfg}s^=;@Ϙñ?=]5::xӫzckL6^fҿǜ9Zd3ovyEʾMh7R^gl@RF.XvwjrtJ[Їz,qvf[z9c'=F|ѥ Q@E1dfnHt7 Ia/7u㯳d=o=zЍvv/R凥_"=ZIMN ݭ.0lΟQMK;M>h7ɚ+ofN׽2,l`3YzR€;'E=E6m-Io޹3ٴ)+<1$CNwLJ'*BpӝyG]qt6&.teGoES"K2< %C{^d=VREyN0Ҍ۰$g +Lz?0Ij'k!% ف<_< ٨N٘gcxǏn#݄g1}-Dq|/?d7}v}pa01* ( W'sr/l{CiPXU$$ %ӓef@H/vw yր4XK=;$$PH.VQtFM)odufRhRRc͔.A"wYBw'\f h/ Ǐ/FY2#x/!뉪zz#1=?_7?];g-c|t0?>փ8>lAX/f+ چ:w!RTb4MID3R[{qm'q)3%yϸr R]n;bGv4Cic_՘q1.E(9ńEb6Vρ7GLf q&lDp*>S/d[xCBoEa[cH DOkZ⵰C!fI4 !  # rO9r=;IOhg( 8%D:O& נ{gf[|wRO8+~RH^j^?N/&=B5$6ѫ'J/#z>amENև)B,,Qsb"!4zjMa=?f\ 0j_ }A#]W?&,fRK ӾTvL~wOMq#a:{NT{!ʝ}9.% gcQ zǭ7Wi/mTξY_\E{~M_ nXC¯27>-YUx i:vcIѨׅHva#O_?~?S1\?dBi:,WiKhuǻ5d%KR&䑢-Кm8IT$Zi%EhJyM5!J2Q):=jHoK0sGr^H2">K>NCdE=dAdA6ETdcKOnN8pypGDl㕘/LP+zѲHq+UrU"|zGƏTuH*PQ*4F˘N.*P⍑m"66G 9r#4H(oU] ~uM<Feyu_58p5{Ք}WC̔[[jAm$˃+6dݥ;g3d ]*ȉvХx:jo~+H'oGG+rFF:o =s\+]{xm.ϷCH= n94"&mCu;LM|p{@o伛6w_ɥtsp ㇂W;d)υW3~HȐ}IJ\Z-r H{gUtox|*x94 ;ۤMd}i)h#I(:TS\y,U؉]G I#J]=UvĤ*7򿺋0TVe4;,Re(2Z:LJ'⭘tEX: [:4;VK@TJ ^POKf}+Fc*Sf~Xr6oC7'\YR*aխM>"Uhٚ0k=U01"Xvtj߫"?ҧ~ r-=Ι=J8Re7Z+<b[D/'x|1aOҮv F:2uAN] ;|ΤԫYsIaUgCυ]Z>uPc isgAv V>NX:k=Đ 3m;tzۿ R瀟ƀ^uNNi\?y3GjW ^Z'hj{8f?,l#zC'ׇb\)wul{jKߟmO~pJz,h?})O?5j Mp-ܥ׃3>w% W\&hrR Я*T̰D"X|8Q[|;{ Sn %`;v]*zWݳoMѾ&ZgK:^l~wb%*8k_U/j;ävbO/ՃW[wئMu-g"^{ÊkV:%m QzO~> lÇ|M_~dՏ^'vrEn wIN_um^Чp H.6-ϵ")uz0joΘjoqaź9[mSE,ݱD+]]a-j*zt<é8^1kN1Kͩu!=E;yY-b' ^Q,}dfT|CBF:Fbհ|/F10n.j$H*Tщ1p7WvYv|ҋ[Zhc6TsX^U$ccerjt4rۑԠ;9/}xky¹.i *\_"Y#lo:;/1/ÂVX}-B!l)} \ V?Uz֗YB R"g.cX-d9`>ݎ i6p;BoBcTE'*G HSU4ޫڰ"Bqzv&g6 N)+kJ/78Åc~ڲمHXh/(~1QZ,~+}pa2^esgrP-f+zV&Tycž'߃Va}q>-KgEDsw=o>ie? ;;!L~P@ g}݂_}Ct 2!RXn[w]Fˏa#C G G G gDÑDÑDÑ G G gPFCO4?pTDQ gP GON'8}t GO,@?3h8ҟH#)gt")?EÑ GS4O 4zGuS$} =l6Ac.[xU_Q /Y.L&.6=_xA[E~ Wp. 7z9T4N>aWՔq1.& ?& ?& ?& ?& ?& ?& ?& ?& ?& ?& & & & & & & & & & &&&&&&&&&&&@&@&@&@&@&@&&i83_J#~i/Yb|a %,`w]#UjDBhXY3~wϛ nB`N?*; F˒֥"6RG"Gv1i.5XrUR#n$X}.+؜:C47 ޛd~}Aviy':nx ^<ؓW:]D( ٖ. uxFAg ?Ch/ YI<6k[gOO?BDZ'oQ%j3RۏO%Xd T_=gg› :қHh߳8l8'}WNt5?G* KR`+kM|B@T@Cwf!IA%SQ]z*U#@(RfHZE)- hLTh*{H!9J8$"Jӡ9ӺO\ռo_tV9dAMqR#ۙ_+?fp`=pģk9 [Eɾt^Z{a/^}ڧ} |bZ׊ݵ4'-҉C9KΟ uU=u`=?=vVx1`h*ZJiZm1Ew^+KYMM4k0xt%﷉ڋO M{%es3[iwxmp~뻉*Se~MٴS%iLNN7Rvb(//IX4:pcY;"䱱p6 '3:'ZF:7^똞'? IЊQ8e%z.[ö!SeFhgt^g&w!\gB'Xڂ^(/\XMjǜ`iUp{Up&E?S+R9BG#8?}Gh?{F&x?oQ*6/ awOJd3[y߇6pۖk3>&ԝՏou/aR)1e`ĻQQE1VRbX9>i ݊55)3!ZE&mY"96!1C7LcjG6;n3t.-e ɵ/7=1n:cCg}:vRKwus9%w]mv7I7Y5j9NK~aKt./6eNueYD4K2s.R2za:~蝠}`NDǞ: s>r~qtNΝ{P{aϲ5linmt.e'TA7ok_'>ؤs87c6cVЕ=I~zN:1D77tFv^ۏJ'jG'wuI%:{@g h?lQ9M'thCFt .i_}X?:ik]ce:[8^Ƙj: jx-8s)3aô95{yZH9i=^V-X'?Pt;ʇ&:{%]\`:(i.68%%D}V#%@_q`HY?EIjBhxSNBuJDz%#" Ȯͳ1ފ<|͐ !ݐݘgcxǏn#݄g1}-Dq|/?d7}v}pa`di忪nN ;+Y ?ciHepuNprC͞^XJJ~[yEPnm^tZ yӏ{6iR"?\vϝE1<{ZxEf~6hQ<ЌY 7<&p6 WܞPq x9E) `6[zL"Aַn{HYq߼wVOOPFv5z#-qZ-yt1ix(Ӛ2im/ڡ#J7`"`l`#ڂQx$pDY8"w+xʄR&eDȯ5 ˢ0 ݛLJ0:B_\ݟkt݇:`i\7?ΡaX/# LWt:%H V.ӑv#7EtsukÅ#+~WSB|\|q%Fs8`S?X$#B0a#?G.}'BR'4ʸX8 jRū6hKA3Qg"55.߅t*)b\#6kaJp݅c%o).B|z=r%n%vGcIYĖɈLV;tčyVOW2aI5wԲV46# NloV<\FsFD,-5xr̕d6vgrc"߳tG-7WG+_s SٲtPLEn9s5Ɍջ_D gIb0q A*9x ÏO(̘w;:- o_ ,O U:޻aZKrXG~ *Yo!YӴNos-@w94/7Pn,Hl?>m4=CξX(}I)!y;x%AJ&SYtl\MafXHf(KŮlQgE ¨:lFE'afafcMDi4+"% D^17M}_} j./Mh4Ԩx~D=\^2Al""40m۸ƙѷrF( 'k,SjQ̠`L䇃$npBtw/km0ưJfd[ҰRW!g`?׬ú; ^^[ plڰ[ِZ.8sEpn(4  @iE1_E? ٳF+Fhj(Ə__öx\ @AHIFkw>kܴL sL|ʍKͼuP`j%wOA,+ү4qW0&/,JT^Yx5a8WmMx)¸^J<ɚጡ42quLT˙ؘ 30$t" !\-aI gN%3'b&\ 8D0L+Ge䢙cFŚh5- ZJ<-xZ9jx:tP1.Vx.m+<~{S0{aأaZp,c͐0^XVd +'\rt{)1A%n{jIἽ='ct6\1qhS_[B\:.+0? 37ĺNTLf[v" ۘb<#hfiusq4analꆅ!cbaQI*>.9DGco[KC5x\!A+.IdO#n0Eu^sņL3[\ / ~,~*rJŕ~yqpB%]6(U9uqo>`mZo%<ꄫYίݐժ":E`i.9Ϝ 8)dj>`űf]=[GGP_f N=8pe`ўNq_aiFw]y d#,,|W=ͮm\]W^v.6TxtXsǥ_;),p|`Ko`_GG,M ?_l+OR(d*,(V=hJlU*BG0QmnE*F Z{dfi"VAj⦅,Ea++8mP&&S0V%nX:_8KU#H.K]#A{D(ÿRDX־QD\Fȍ +?/< @K#,rIl#$R ]g?CϢǁ?KB!ȸ$n̞PEZ"d[ L-ˣUJ9lih( 40 3{~~nX 촺һdmתg)I6wtcd`R}۰դwHU\؝uiTZ IEoDz,ee#[zJ3;!e;4HéIx)~#={&Y8l <.N?s_ƥs_]hCzvc󶵜WY2!'ͮ %*{&:ٷooɀ95L:Fӿ_4Do,~F2cFCQ6A%sl )+z'^~H6}FC_,R'oŐAʎjwsI~ufSd፾\44Kk'K$$}mң?X֋d3.#N5Y'as $cRB=WXahN hW;Y h,~doEfFUw<c8=>~Lwte&<ۏk!t`~#)@#ۄѬQ6PH~0xNtfOHe_K6U&*^ w"Ӡ aG}2EҋIJ4~$;;<7~Tx=1iS-,A F?&L! ?]1 g0#|DAֵ>#:Ŕ)q +5/ldJ*ilR+ULWƀȳӇ1>~:+U@6_bzf*c-xmCux awӻ[PF* :Ȧ$B")-=8 ̶8 ϔ;M5;*߽מ>W6 2ZM8rSF'g dWWW_תzPk ZJ}ս=5 =>ݽ/Kզ7#~t!pb^Z2?ݳeڿkh/6;椁)<XupW O[/k no<v=+mSF`RǴkqT{ӺI}VKVKt=-r]VS.ծ' \mQ_gMWpz[ *joct9ͪ(UY f{AVуlzsgMm6%NYô$ЁV| ˸Rq>λۭ\ʚs]g^Fca؎T3;l4(`$a!F*;et q@c{qk+ SٝCAj;kRXqv|+$S38cp0ήM8'q 홌%iԊކq&B-CBtк a8HI˺CKܖκ3_s0l#OM3-?xwIڽ'M%{ыu!Rxںg2(ľ=)KPG@l 0›)J{ @4 PZL>QQHoET""Q#\BE}DūeDEC MG%a>4%33xM0RLTcc=jHo[.yy!S G%d_Bd?Dv .!/ { td"{[zxrsJ+̓;"gĴ,`D="[hQđ.>ZJ\({GƏTM{TJUh1#U^%}+TInjl#ŷ9:\͑찤AeE|(rWmcUnN9 [ ~y~)ѣ<޿-lt"зz k.Vme ^tg:~bܻUmp;엒}igߜz=8(ڱ-gkt8o`Afm2xjf` ]*aJf%ӗ?9-~kT}yG\pِ Q1:?ۢх `G=٭W^D<<,mũG-^^;[{`*O5[iÔn$oۡw*Mi.:LL[ ; ~Ļ'xxdZKKeR=~W?i88t#9^u}d;dxu[5 [jKLAI*MDac)-oNݺa$ V ត*;bR_][ha22VT-K&LVL:j",Ӆ-A +ÊbtRX@o%>#IF?J,97t}Yy F ;6}f Ud5Nj3Ĉbc`Uzndh V'ȏ%6 ùQD+t"*Oyk//֘惈fIU=BM xt;+t^4צLpĴ>m{x5oW=w*ݲ_.itWäfkt= <>G 2}kh={wm9 {:oy9ۿh=dla\t̷M"}c.o6Cl%ܦw # # Su|#}c|C![ш4Ac:~km`13ZM_3H-0iƩooӝzy77FpsTǓy77Fp[NOjn ܼ `b jDS{.r\b+nD~8ƒkp;% wsܖp;% 9p{Lk.nD8uS6WqK]RfąYq;% KRSpswnMnDv;ONMa;nDVuu:45COhG&;աNTaIt -=&o~ wkoa a,;N^BYNڛ36.%m~ؼ_>ҭ͝W\> {v4} G]{I5eaoZ9Ї2Irٖd7T_}~ֱ7-_G  fJWmv<&fc#ۏ|EVbӺppoN;= ^R~t͙:I?Tמk+dJWs]lA%ty5,U{QCv'[o^P%ոnVX=^{V\}mvcZ8Lnzt&*9.׫{MbdqßdhSs'^%vs&\3Cw㚉'Woh{WA2s{u[Z̷; Zy]UdY1[YH3w5RQs V~, ˞ yO:8]ګy+pȮle&hBB[>ȮlxA{vd7D6ʢ}پ@Ǣld)}L Mݔlcy6CSH>H GTw](>^?DHfOۢA:;SNSezP&2)a~e` L8e*a|E8EUwXfaO\1KNx?u8]#dEY*&$99 bYmm?Mǵ}!D:Q>uϘ6Êulav˺h8x$bט;j*zt<8?h֝,9u N*2/ IBAJ("_f\gg t^{]FՖ!}D /\3\\xM$9E,VN[|e 5 G( zF;K5U*M<6V&#epmg??e۩8+b$1&/ -mhvap-a^޲,@[uӗ,hNVR/m.]FJ[mpNEA5rRL{*O WqO%TX{sVߺ0Y-bj ~t8 " —.ImQѺE7*EY.L/"a$b"?sORX%,S SFv5wӫOqrhJ.Hy3=E2 9pY) -r_ p.:`z.ڶ%W Q 2+"k'EV(XՉXimEZm_#@fRd+pc6 QMzݗZw'R).*ao=*Iޗ} +`o7;|t J1wߵ @/+}|TS9WMyq;83b;Ǻo\YR&GTz/I XOܙW.eؽoPI;8879kƮ~_ lvZw7w YGv~?B<t2C='!QUjT8QzK:OI"Wcu[@Yg3ޞӎ,z t{=t ڿ|njURZI.av]zPo2݅oU/"hH- }|$tpdλ}}1j28?"d rͭ^xݬ/΃Gj/UjLl^읮nh)8!=eJemkpB^w6 k>JoFDuu՛S5WX#Ȓo8AVUJOp׈+ݐ v:~k\xy?7kXyCa7NN#]xqZW$8XbQQ^Pp`Aҫ=;?k3wYf΍nԻ[=lķoJǿK:ޭunfǿՎ;mw[o߆ǿ;-yoߢǿMwv=[o߾ǿV>|[oǿŏV?~[oǿ6@Ȼ5w{ 1U϶9 Q|4- /ܗXTc9r')ք: G`L0]YAvQł"BOe AAaPe "YẀ&1:[4$~C)R$7X&rF"9yK" q~ i|ac9-t6q3qq|2xr}۷H{DtWOv:&hc?df0||x`n5ˇDp E㺉en:!@7#c/yǚvҁS: b=\. fXX|]dRg>1Α|s^f= sOӛ]XSl%pJpōi `]#D0"tGpop'a z#*1JRe4#<4#w|/^vr  lER}R>RSpXmx6\{Al&~,xfs;*[6U{+E#*gKȣˍ,Flˇ4q#Q(ށ(ÖCⷤ Z&7j;YnSۭ{vy1E3Ρ3a:sx0K/*Vi,ضV]ǒ.ԁ"Poew] LeL#? vz<_B˄q7vZ1>F6>w6.) bz/5I_8js_mSԛܢRYeZ݋gu7Ϯ [Pvq2 @'A,xxyɪ6L QXÑ E@s8Qʿ{Wq`^gU2Bm&O( L@FO)ROT+aU6pU M ҺGH`|'TVh(-8ḮHa m}UJ?h<$?p$?p$?p$?pO4O4ONZ~H~H~H~bt'ꟑ?P GO4?pT8Tӡh8h83pHgOp?EÑ GS4|DS4Op?EÑ GS4Op.M; $} =l6b)2[ l-/H0xn2ta2Hv4޿^T(ʱ`p~Q_ @ux7̉qr Gi_w" _P+#O45O|/``1}sh JT$Dʚv@:5y]hfVaw-{2SRfLHqYrtSF*CBHR(:&ef쿮LqO)>/[/~{!ȣة8^{o6OSJGa[751S\JV7׮, 2mFiLtv9P5 :Ri2/@9vT_:u>Mـhvgڶ7׏j~#)9c.AREV?M~Á'jC="‡Ȯ~oС>2Lbxoۦ6MNp0~~O3>.##nˊj"h6.TICP#S^_^Ίkt$'W8,w(OM.Ѳ$M,^꬈PF)Q{".&/0Vܶ&HzrST<æ_'[z?^-@bUSφfL@<̎כ Í/m즼*U:np$ZK ^ZȋotT j(ɥ}OcರH̋]F*1HtiITy$W5f?VX5 tC Kif~$8WC6P[=9<{޳$y3⏩]bUA/ n7gҨţ}ޢbs klW"ý# _͇y_ͩ͜ۯšIsЬછk}O.,[|X[km׺V}Wm9rj>yP#o5c Z4 n.|wm6ЦoeY2Qڬ\Ǹ )S_:G,xFi5%:s!-O7|$n2TԿ<xC5pӲ ikNt3i3zߺP3<IIƦk?<>m3xr]d[j%X8n)~>r}꺓&m'|s5^&/ W')v1ho- G,i,QN^I 17gh?/1=a2Z1ZuL?17T/|yU(=H2GV)c-ѣt z eF*3B8Bیq3O51t sW!y]t|~FV| >Nض ?px_1w\~(}`}i,^ca9{b(@”%%K=''mϡ[&eF4ĶQCȤ- [d8r13IJ'Xߘi~!é~\¿(MԾJ>uvOi:m~O>;uE<]~qn5tket3 XFR{ҳ :lGw^2B09`/#oGgӜvVLΩV_~8W :^W?^{FevR%{kӅjz?ȩf>;=]ol[7:j~^紣Bqkr׬Aa:g D-uվNg$͉vjumF8zCGh_+od:e lSα4|Q٩Z:eߌ $HK[p))!R(T.9\ WE,JHRDylD(g`lU:L%"H>k!R# ف<_< AvCvc1~?H2wb:0pݔM ۑ}m~٨~n?_٪Dp6},. 3hy^=$V;Cs}X`p}tGYn\WDu#~~EH1vtsgW32bo +}n:UH^sy XֹɷNG9{1 LlV zs]nU5nˑ^zlpwyh׿!7}'MlISiy SssIo\*M) zP-xz٘~vb_Yp dy$lpXFN/mi*q.95UfIObA~</Zf;渀'e*MXBoI 6^Ox# ubPJRÞKU@bR]>S |R}w.tY.p>qf@~AIDXi" " /ڗFiAPXU(P(P~!|`U8_ @|#B5 ᮉBx+ C&fG#z>=!`}"|b-8~ @8&MWW?d`&]N!X;ߍO:sh .<7U5a #·t]HME \tpCȊT-_9~zvp=)pN4T? { AϑK_/~znT22.)B駚T*o5Rƫ}LT>);YgnxHif w!,*)݄JX,Zxiwo|[=/iO~xI?~7|I~547ONse5H(|<& F**_||z%!YΗKM=o<)F8tIhg/)%$3OvC$T2p*) ˕ ` ؕ 3JhAUͨ$Ub>L,l)ޛ(f1X6+95⼉ 4kAO0aBT@ oK]=Kf8"(PD$RQm8SrUtcT26PZdeJ 5 t pP\D £Wes Ir{[L r p]_** aXWsgK^ס1`KP\G^eux~eUXt&F}PX׉U\~j Œ~BaWg#u,m78ٍ0Mݰ0@dCR5,*IT2w%#hy2m) ;;!"ojO0D~ڈ0T:>r¨?SÄ=$~8Kvt'>l֪j5u u]Zẘ׭1\/`w:e­C\6N11$)ee=Rj=Rj=Rj=R*YצdRR#t]9#\GJyGJeb=RjOz<9Z"xRRRRzzH)ozBo#05H5̬}Y#jM9R1Gio+#7q97q%r Ⱦ.kWzQif}uXr5u27ϟзV pnۛ<:%%:YWUˏ`K%߼̋| 6`mNV1p0;pTXu)2m`ZJKlʐW#{vfBbܤ= l2b$0k#16,~Rc.`ׇ^KFw t|V|V{76;Xۿ+,7bF;fITŶIGfų*ʲ*'\C. w{y/RT xA3jOo%>ĺLͻ[ޑL& n_m 8d!ʭf)FnǒTUD7`Kx *8*ѬaᙳQ`Fm2B̹}Rsnka[;*gĝC<^m!>Ɓjb#J{?>)`_ʰ(wO5,)gdw (`x+!8ܝ.mqu .k6@ q(=XvWoe] xGEQqX~Qw70rkusgoP#f"nZ Rǒv\pE\ BQ>Le"%êMA0_EH^:ͭV%(Ak,M*V-TܴE(lEyd $#-K+G~Ij$SkDRr#{W7*֚]w>'hiE?)SyD$վKb g(YTAwC|8p~yI]#`ҍHP+4S䖬t zYeyJ0- E{Fa&q uu\HY;͊'H>ؼ#kmvb<)RFP oYeᚩG8گL֩>7?|BIϛj4uIQz=YcJŒȺÏ5ٔB&Ǝfg}s^=;@Ϙñ?=]5::xӫzckL6^fҿǜ9Zd3ovyEʾMh7R^gl@RF.XvwjrtJ[Їz,qvf[z9c'=F|ѥ Q@E1dfnHt7 Ia/7u㯳d=o=zЍvv/R凥_"=ZIMN ݭ.0lΟQMK;M>h7ɚ+ofN׽2,l`3YzR€;'E=E6m-Io޹3ٴ)+<1$CNwLJ'*BpӝyG]qt6&.teGoES"K2< %C{^d=VREyN0Ҍ۰$g +Lz?]PU' $L"ʧV%sP@Gp~`<6SM~ gUm^z?"(fm4-&f.}L;+J,=X_Zökح@K-TXA?N߰Qj|zq-cu,| (}N|F,,,Qs4X"!4zje`?f\ 0j_ }A#]W?&,fRK ӾTvL~wOMq#a:{NT{!ʝ}9.% gcQ zǭ7Wi/mTξY_\E{~M_ nXC¯27>-YUx i:vcq!}/hf5ң]ةtsqN2o܎!VM&2Z+7[5yՌpax̰dLD8R /)J{E&ByG2!;Or"[H")2BO‡G5vB M4.yÒT;M@ TJy,ձP8-TCz#w ^`) *Bke8*  !Ӑ}w}G}{.7#;ƓS:\i8>x%ek'jlaG!G*#JW|,RJ\ޑ#Up, Tiv1 Ͱ2˫o*axcd /lf% -+[8$Gq%_srQY^ݯzM|h?ܽz^5*x_' 3ĖZy~*`;I>s nGwLYsW/ r$tN<_ dg}Qzʀ[}OWh^^ۿK1<;r+ 솟J4TkYKp~ɮ {z/MNnHңt nO|sxqŎ{Z<).߮-P=Ro|IPN S'4\U6# 5t U۵^\e9M3%9&ͦݗ~r)8?áիE.n sa̱R;2o_V{˭\Ҟ4Y%O hu%YSux8~iiG6ioS)Y_e HRi"$WKi)|wDxOҹc:TcV惘$*^tL~ؓ]¸gLASN?:23)*֜tRnwX saG]8BY0*j]?gßw>Zt91dxsLs!om91WSt[UZ 眸#U?g>lA@T|n pzLnt.yVs꜃#Jߪ_ˇU>y1]ܨVż ?w / 2e pڣc.+e ~ZUg=b3/sY' Ž%ۈC? v |J_~|ԏ$'^S/-wIN_ܗm^Чpz ۴qx2ikxKhۖ v2ܢK۾TӓNn$f쮓z &V^> [7>fݠWf!fXX>J׉L A> |yh -]*^:˅)e$F"&1GLpki=D>V2/r|hL7AwxX }a Ǚyb,Ԕf] Wd̴ۧw feIVWܝ49HuúaN/C+՜ ;ڲ%.uSW~7i-:K/+IG>v+ }=K+?vNtI^T܎RpㅩźI:ǝ{V//r_d/ܩ7r71srG_kIi h{NE ` &xIEd  Y2O>/8)[x6E௚Mcxu1,<|MS(ޥInM`{%{Es6vbE!{XÎ+rZm-w f'e> >Ʒ51^t讞trMƆ|at3>3|@XP? ^榃/k3hn~yc>2y laX2t ]gݤ53P}r}Ƣ""|>Î/刉tS^7'69W(W!8:bS 0,hE""WPj̵`eSܭwh}Y,(a-y1>B Ƒ1l g+(*4(I\|Ҍyxۀ4^ g +rY*gg8xF|^2clzN̒'>#k0JQ|Ph>4A~kqx0\oW-{5]Ļ/ B[ߞ7ZR/%> +"@_Zս?^b Kn@Qc*L'pgj3}Be/\`r1t S7gx| /No˄Ha meTw?,?Bg'O4O4O4O,C G G GOO4O4O,CO'?pTDQ GO,CO4?q:'h8O4?p(ҟH#)h8ҟ҉x: GS4Op?S4Ks(~ cꜗ -܆]" h,>e *2ЅD"?7'^xVxQ*ǂvE%'\ fN,OՄq5e\AIÏIÏIÏIÏIÏIÏIÏIÏIÏIÏIßIßIßIßIßIßIßIßIßIßI#I#I#I#I#I#I#I#I#I#I#I#I#I#I#I#I# *.}p3_J?~i/Yb|a %,`w]#UjDBhXY3*G}D~d׽^U]w.3uWQ0R\x. <8Iwٯʐ˯L֕vk's]ԡ2al~7&Kn;q{Żɨց  lFi̶tv9P5 :[jDt%OjOR ]kݔ:HP}zR%8AV~ۍ &/0T~|j/ ';7]"hTWV9;>޼M0׹DBd49#L|N?rgfhF3fx SԶYYϦ]֎"pɪ U[фREXY W~cWtU%YwwF".kȪKsET#70d/? 5ޮ@S#,r=Zզ|L2/-*@0/3+Zd$*L'ْBj"*@r{!F&D5*QdrFAɾ$};e/nUsIǮڗL_+՟ b;"Oux<自W%GM&ϸ$82y~R`W2"}8Ls}ٌdrR2m)v7dkdɯYJǟrK$O?J)k7NׂSo)lDtR!2u翚Q2E=$dʷ?=O${2$S~ ;7VBLEad5t㇒N8=Rҹ+ɔ1W&SW𲎆LypvdʕNO&?'Edċ}n凸9D&(FQtxp2H{?zLPq2>X(oVݵL'[92b6i~m7dԯF6A&r<9ٱdrf E&Gl7drb%u?djnu88L^TQjxrv.iA}x\J2f%#)bsM> 7i[EW0|%΁#0Vj'tj }L]QdٽS?K} }LEGo57C8_J >EJåxt#_}LMRGPxS"G}QxEDo& xO#tzDDx6!(^ [ٕ}٘87C#A{ QQ$ٛPcd_DtDgH,Oğ(?w$s}ccuFSBv{YuF9 o(=H/ u'?bx?;W\쁾Q`l /THLR4'N^YB< BM BU2eLPh4rhB j&G0ck` lP?[]'^瞸+PO_Az0]4!3ai>{UX YqQ{=YPq{ Ѳ$M,>/PF)Q{".&/0V\# /,7zLC>laz}" @oO.x%?,﫿&^"]%]}xQzS ]!T_]ԀC LԦK }\giG kk5ҵM䛷 k&/#Mrnjƫ8L 4Tu~ntK&f #k4VBUZ+5Цʃ_M w%tuS5slD:g˹Y {ZBWZTKY d:aٸ (>Jް=C*͎4mB5tBWze!ա~c d A ^}hJ;,~{Y_}> +ʪĖ97yߦwU#t \Fx{;Ǐ=tՕpiksMݎ3J]JTSw:͟nNսdǷ_MgVЛ_']ZE=kgddٗ_5밯nKdOGd9++yS9As.SWG֮2bxop1gäs{UmB{rdՃNK{ʽ'|iNn4m(~\ge#tew=k|KF=KG ]{ N5}ا@zQc/ %@z| prei[ϯ[w=/nC͋O$:ه}Oҟ2:sF 5M^2NbM!ML H0E7r(zj[dJՔRC>5νERU(L@5t Q1U#mȊb4Ϧ|"䱱 0_gSp43򲘃Y^3YY^i&MZL+/Y *T*0"lu)"m%(G)b^HfPװ`tF س$ex܁ xy񧡢—iK7:͒ߪ<6S{ PXa=|a=|a=|Qzk+$]^WxFp2ax2 _PD?YR@&z}3` 0<96 _Pc"U.lrX۶|)6EeBƄ5aL{ `yƉgUPR(?)34sgpQG$ƫyEȘ*,p ~5EB0W_q׬!3!>1?Ϧrpܸ0ȗEO1vd0 n,N~ؘl){wZ8m%/!okQB"~:{9h,(b?|Vq=fa\ji'ـaXlhg(t%*qr5 #/x. s5WH^,䪉ixC;d]n'G&PR}\mNjO_1>- . 'ӹ+\v.:+g/)OtWHj4ǝdbIVu@]oVo.AWj/eHs*ψ>d9#2us>:Yݣķ;KjO/O#.ٖYGہt:Vmw~ I}VŚ5IylُvZ^W֟N ϹT/]"~^Ic7.#(C8vͻZ 욮ْn[ ( ktBvƊRp[n8+PAse\P3:8k܊6HN(o9KLgM=(Ӏ2ޔ?ePeZRP-e:PnQJnIޔKD=[)C xvhRf-G(s2(s2(s2(s2iG[3(Ilʼ[| _ s %TyPKB[B U/%TPeEBM"eRƓ2^iD9PV' e^FPc﶐ӕϸ 0 |NA6CGնVj[mmm~hV)2]kh"gN^(mR3~=gx;0Gw (g sYbb 'ٳt9g9Zg3֙C̡u:sHXgնVj[mmf fɗH-kk$l\/v>y4X,%;ট@xyixGq|I0]tAgzQEd  Y2Ou?c`؛̂GψH.%W<?΂j5%Ytǰ܂Ow)xxXdo^b#g`ἍݥXt8?ryH4V>߱L-@>@> ,|D#z5AF!3͔7 D>\c`Cn2xàXKVw't`;c?"%tVz8q3-8_ټv|-(/GLs$򜗾YuWjD8^ˆ;: يlrc6d5 >]n\dl8٨!u2GDL[ƽDJnGƮ!{cE1.7~&d 8.k]Z;3e"J/6%Q hԀޣ{k?wxFȿ}io潙7L+k̒vBC*:N{ k7oB.mxտutk~tڇ5 }p=* -ʚ}~8l=seTPuΫsA[Yi3ǾF]_p,{egktŬVDt aVuLYp_ ne`gV~<ix %C]C sc0rtdK!|~=YCdIք F caJ@ ^#V&Lg0IM4_)pS>y ɘM;cOh˫?N^|c/i;-\Éhğ8Vc8q xp)pyWpbh G= { Rǰ]V^a/o|Ykgm-8Y,o7Ûfqx8Y,Çaq8|X>,×eq8|Y,_/×cq8X~,?Ïcq8Y,?ßgq8Y,G#`q8X,G#dq8Y,@G #bq8XA, G#bqa^Ջz^h=z-goGhSnSn惛1ŏ^/&~,C#RQrd%RRR =-i[>W7*'/Euuj|,y4ZF=crIёjY4LRɤ 2Հ4)k vemd`W[K|{/?vFaUTƶvOكd`Wfv+֎5}v]l|l}_Y`?4;+W| |#lu;t[Dll;ݺvaD#g[ke`Q\aVnXou,:6Q}h?4KekTTal QW$3} ':_g ۥ*OJ8گN-=hK$ix+x+ ."""rȿkD Dw]tEw]tE^@^`ق=?M TԇbfRӓb fjzdVRj*HMݨ5e>4HUEaԴa5!eٛ_M\,eje1鹛k{RjF,UȭG`D -  oerf6z*) `ɊEH 3X%uGNlo6LޑsQ%k"Q֤ XuS<:R^+|ִM8|˖o.2_td~% M=_/k3%BOMa=$qLs̐@`N<䞊YIln,LqW{g݊y9`P:Xw 6lΡ\* d/zLB=pB"V(@l&n[팴.'Cu|!YRJ'YLHs:\%: '%ʒ&-Rs9ʙ1>[Ymȥؘ{1 i(M5ubm} eKyׁgg`rɚJɱm|i\)֩q hyK]"*F(g7&Ռ}(Yf;4)|/o:Y%$1 ? eyN v:簯I*3zϼWimJ'Rs*f׫\GDCȯA0]&fH#P:eC$^ x4wM~rKnhZśQw1-&LF#0H0N::IFa)@{>Hw_w ]B͙ۚY\ +o&ʠIPT*l 4F m1w4]Tzزr(jAQ29{^1L~~Ȧ  *΋;g仰n^$b.4 V(Pܨf3doDbhLL;0Q7~QuSI}$G'[dHpx KӪ!^؉ZJ>VٙJ?-& ,u>!waq9'Qr=RD*M8iUGt͑B/GRڱ/xPĝf[I#Wm$ ~SwE.}~% .Mmj7 WB'!u)Z*G-񘘘ؐg(Dίt1.a6k_5%YL1UiTQJt)S2m=&=֣a ͗Fҵ@別|t#_. orҒ|ir{q{^6(f*RّDo6zȕ(z<)2AL'J8\c%4vgupVp+ 0 ?%&cI,k.Bs10VTcQ7|?yHU~? 0ƈW(N>3ok@*])M[Sb޾,^ ~F1_LC(3@ ?*wZ4UFFsd*U|dN1=+ssgJ+y{ߡGɓJyALלmg Bcd)8Cj2 >К2\QI&W+W X/FkA&NSDfDQ'FEq56ժMU+eGoԢ};EP.223vnKH$S) n|5i;c{Tɶ..T Iڟ˯ce~VΥ3QKsEmSȯMlEzUzׂ07]\$K?ŤKR\X樈(œ"g.?$Q$`)b(^Ѣ9RLj"I<sRqT*cё(k\YbxT 8/t.'[w+BehKS ͑`͡mok엣YB,;, l 3Kd.r.!*y.qD vZpwf%ܞc XChi BFCuCF+Z2ԛ͛82ds=ҥ~G/>S* O dĶdlȚ#s6 #cfN(> *z­r.ndu \I'?*Bf)[uɑyߺaBf}GZ*& 77 t|x3Vm<݊5~2iݣٮ{YLҡCvw@~-d<\adȜ$쓺em!jc K3!6v!S2~/dY0`]GuVCSVMYS\kpdx5Fgd>wΑq cYY|@6o7޽nBnRjȬty~6W*]u,됑2jqa'CAV^ޠiN(|,a;&Ft\={X cɇsRkVBFPžJ /ώn@3ln>Bsq!x8c& ȴLGѭT}?B d* v2zTI[2ӶΟ^O_[r: ۤr3!;CfXMyc+P7Er 26X4[~թ7C߶YY Ddt{kNbtկb'F ) }p72+l a_4GYuˡ-B:7Z9 /sFoJVUd)b׎QWu_[e_4E ֐o͇ SN h;}3!#1E1h3a̰C] dMg0qtzVtL{&~&ZL8':LtqL|o?13p &7ƿgY&1'4I. L:paaIo n>JYqÄkƘrD&D=qOaLG1&7W& ב1701y&_SLTOq }0bG3e3tcg9׊19_'ϙwlk7g¹21k>;\sqm(ózzPQnx=#/n(c-I'*H4iFEˢv'˸1@qx@rcn ?P] ?a uC~>#_|rbJ_lΉ#{pƗE•/tdN3B_O_?R'~1AyHAwVB5Dzp,V)AZ26u2s]f]i4b3"ž傋OjrAɇ R:,/.DWDw2N{C@iK9{uYrOAU~d9jlWdP3FAag}OG2=ɍTq듁YJzPL3:smͷis n2[U߾z?pHf(?LmNuV5P97؜wD֧C߻n'oƼ$Ȳ!wvw a^3 +P| z/=>bʷ#ӳ>Gs*>W t x8=Ix=I$Vw.uE)?YoYw;,>ڹվu-tWT^>hGAy`t5~ѳ׶ؖ[Aq _l.Y"1!j86jtemϔtˮjN JZϣX3PLu}9CK}nc;tkb=kpm4 ?wXqjez6ʟےdDֻ'IőeN(ǵϦVQ{66Ⱥ8) 11 {zg"慇\ Q=86%`:T:WukGOj܉^&p1L I+ x@`SϣI o -ܪkowh$jŌfE_ ,׾mVke-)ר۬[0fŋb4Um8FE&$t(0ۀp410'<0n*kb~U^B\Y%nҘ(s(XY}\*KUu4bƿHN$!􀮺kc5wZoKc5FVllDwQQ@-ED&HUD U&!on2Ga;0Tj\KBP ANvN^%s-D_1re&!:J2.VRV87y9> O`ΛfHiǷ:m Ik4y$_Yrԑ\[B<"!HDNO`P1].5^8pxx&kK g'%_ ɘM;cƥ/… y Wp_/_Ukf*aM cn$F;p|aCegJ'vl?lǖl Ė UŎ}P_YC`0Ъ,mI;ld Ux[E@~w::к]{5b9>Vx⒕4oayϡ\m9oUm3% nbd徚r/IpK5O^d̉C gJÖЯaxd\]\mh:}ÿ\6/LEvӔ_ u&/EՒN&--YKj-+4b dHudedL\ϴqe.ayYxNF:S aƫtǩ|($EЁ ZÙRXy5hY;a:Svnͅ\}8W՗s\8W?՟s\85s \8נ& ĹZ.8Wj_of762'#⁈5yOJI[nj3)ԵurK EJP]%մg. ޹П#?fRl]S_?G:n|uZ!Q5xq۷MMXVd/3o?nDvTKg[wxW:?ݾߞWj 8l\J 6~#<֕n祍jyUEzdȬUWJ%y]qK_笏;#K]{$>=q 2*sN\=VD 5Z30<>y1< 67 ֡M$@V nh4<^/~ ﲩ6 ~{UjbqnoۄN a*0UIYg/t9{/O-8UбWB*+j1 >R./y)y*5o^}Yc{/OͻJzUбWBbo%{/OF\-O H ~[ZY=/ ߙڃ?տo?շe"? Q25T.ɄжZ[?  h5jI[]P^"PwN!N9(PKS!B2LF@|`>E"X` J~ H{Dp g\@pn!9!r] $O -Z$$KP*"@| J"$- jK4BA*g "@4 H $D $!g H $D @2)^übO0$9oi tsPg+I`OIhwIIIIJ+JO9kiURԱK r/\]skrW~|#oᅫ_Ky5~|G>=u/ q}fyzkvؗ}O`} nR@M~&iѤQN}]dF.AViKnPc{ȡ 7Sq3EL7Sq3EL7S͔\L r/&/.i+>/W=u/\ϫ η͗[?i~6S чL:ecsR1̆e?dz/sv)nG% :0]7-N&rR's)JIk@b;.ϻ* Rŝ8g^\K.ih Q^&"9𒫼|삧t_~2B$xyγak!:>^7(/_g6 iI&ai~^𫂹VyĴo @9q fi}xw]|27~X.tg':3@+Iqu6|u'u/}/+AGU52P.~h=ե}JVazg<k^w'כ o'Y||7/m=.%ִ[Y=vP]S`yGRaˡm߻ɬf )}5W}_W;|n$=q_>W/M.f;`W5}lQGlt6Qy6jW>viR~m,hqJYwfkA7F8|<d{Uߛo"WE" &aDTzn:}lcKIv0=hfnxw]>Jc6ѫo?4[$@}u_)BN{93Pf vbѯ3~Q' tTvx]e8:^I’2qpeMwcu =/-rjk.yWQw.aKA·JwbGOkZ5Ѧ>{BCr0CW_җb?cosRES4M{?#~%\^3p_p8OlʘS|Q;\^qOK}1-+1hfLc<py ɘXx8q x/p1zgM?7Uo|Ykgm-8Y,o7Ûfqx8Y,Çaq8|X>,×eq8|Y,_/×cq8X~,?Ïcq8Y,?ßgq8Y,G#`q8X,G#dq8Y,@G #bq8XA, G#bqa^Ջzگzdi+zMO<Apo}n"_13Ə^/&~,C#RQrd%RRRYD =2[޾Y%7*;/~2<"G̛rIF(Y= Xiz=>)2I-8GS#ղh䙤IdiRKVbW2lzn+1i=dRdv a߹7^{؏37=v8Za;+ ė~\ Irpozӗd*u8Gٿ~ /jdȺGdK {mݐ]Y+޵yV=rF7XXj:3FźӝЅ+]ޣ.lV@Áv*W7_V|j@wf5W5-TsMyύ_orZ|.#?:|ѷ> ,A. ;fK-?P:1LܢԗL-Q93.EpK>en*]g*I%[ިBpKR[VFpK7ݯIhOkLݿPJʄˁ_< ziiW—4;_ugm{6ѲM=ʒ y4a!P^`*'v樢GnmT=$$|qHvca>^lx3| ʍTdӥGY[bAtͺmkXA>\'X>\fbqJV7&k\5(kYR:xJݩ]{i)v?do4\E&T Nb4M|>"f@ B&Ɠ`uTG?1-] ɒR:b%D|*-ё$Tx<)Q6I|h6̹ Ն\zАDQ \'*FٷPvdwxvU: Fz-I]([19ƗƥbIGN%nyvcR_wR0hO3'}_Bw0nPwͣ`'ZsZ Q2{.\ϜƯ~,5Ro}Jϯy΅yD40)ea tA =BPYo^I~Z?DIp7.q_>8JSW.74y^]{lf-~[ubd4CxSDa\l(ሄ~eQq`ZWx >}5bg+>SwL( +@AOd+F<>VklԳ!qrs%ۜu.fqA 1>d LiF@cІ\.JHޅ+NŭW-+Gҡ161 $*^%c(0l ⼸xvN O"ao J ύ*Nj6COF,&4uU =tG[{t%@&h(/ tI0n ROȯ tÏij<2a¢a^wyQnz2% ף*E҄VuyD:+"g~$buMynfv{ ż)" ?~ o.p%t2Zrlur(b  L$B"]W:z0M,H&s4(% vP?[ʶGfQY0[}|Zr|j>_/ju? sSZ˷|9iIPZ498=]/^3)]7MSn=J=V UF&E3S.:3:\+zFےmV@1d5!xP+1f_Zr$*?lZec+x' ;,AJbےytt9b鳝_Pm ,~x9-[IG>5ngUZc:?>A!#pmRQ Y x~@2v?N`+ ./[a*#EbV2*>2IcN2WS3Ll o9BKjv+i?6Wmg\9`50d-dd[&2n%Ctm=pٱs+Ag?WV1j!c[w[!c!:wrP 2_-6 OƷ]I@Ff%BƢ\z";cd,3nx+o5Bƶ㷼~]0d!d\cr 2.^!e*dFkϳfQy :˗Y2ndaq>hzAf'L;d+R5QB=Q'ħ> @jHt٠h:뺢tfv^ecׅkVߤ!Ќm@fOJy@arpYLY'Ȕ YՃ:1xm:J݋e6̆D;!p_U2a ȼ[[|̐99jMQ`]K :M"H:{Xyu5XQOh$U PjrAF (PؐfØa1 L̿7qegZ2=gg -ߜ īeDOr͉ǵcg/hОcpBQ':cQ2F965y 9+UbeI2%&JcI(JL#*M? s~hƘUu6X8F=jm}|;ēZrG|I@G{[:T5B?§9h6u$^G-&<H<oyN:,TAJI5*uŅ,*>&^ ?Yƭ՘[#Gu1V _ =_̯[z!l>f&&gnPW 3뚇~F~.P<{OyVnrsfQ ,V"dmSD_ك67,|#pz': CZrV-YctV\;WKD|J_)7!Jq%Azxwl:0~8r!ɷ.(Z0fuepp? p-:kM|W RQ`ǧ}7ߞ=v&~p&ޭjҋ_Ao /28dCl;/@$wk=M;}hM{9$0%{ǔU5s xb9+Nl3\rYcJҡo&HɅeڅ[AYt z/ǡtk׸Kϔ j'ds;ZL'.<'9{uDև۠^thsW^+ˊI.[*-CK?C4I#؊Oi@BO+mƝ/֤C#WAV|TzQtҭC[C5)9m~t(MY # /%'^ jiY9t[YocoFԣW?ʓ o YX2,;Apv_PSzyYn̓Ϻ๮߾]Hp o"A{~@fx! CK$#P͉#'M~4v؇C5z,ďN}75Jls S~ ֨J\:x|}sr"G{7 /m 8=(aU@tr2-6j͜:j]:*Ȣ^њJH=JDr4-T=]Z(X1cF2 OmS_)'7';'tx"ڎíM2QIGyA#Oj+Wt+jf;Ͼ]?g y "xCW&}|޹h[V6" u֖7 y9ސnpo|ccLWƬKh}yN*>/.Rw|c/kv{2fSΘqk-~--AT*{~V?P̱o8~xƂs| k.+d%=Oxa9-7jـB3ǝ6B/.)IƼȚNJf-. -Y9A&YF,ld -}ÿ\6'HvMє_t/E"xEز 8N#ƀtTG֋QF&B*!u%)~,ΤѤPOA䃓(,E8@)c# c#Q @(%t$яH^ qNXxyΔ[{s9WՇs\}9W?Տs\95s \9 5y#=cg?_lDzo_ҜC#:f@eVӾVkꆖ(B]ۨ9Xs$}QG!1䟵ck8,9C93ϋax I蔦0nV% [8GIUbiTW) mT22|Ӯ}{l@ 7Z(Mt|k!YZ~lzQ~2uѨ8<hT03QcF͜=F5:53{-JSc&[fdћ:7/:%xߒ<.!ٹyx*&O/tӐ6=ʆ*}⇣'e ;hD@aE1=9d;_K9li0;(kKx(Fs6I;(r"ިEs uphS"ǟWy:5W]^pӤ"# + ִPU|f?Y޷O_*]V{X7cδ/X;Sr"k$Pf8tZp-s鶹)⚏ ꎭ"ޙ5cl>9k.;u֌ǦP9ֺn'IaEE9祎# : KiC=?cqn蹢x %C,ʡ9̱bw܋:b-RaG [5Ѧ>{BCr0]+vUl2͗6YÛfqx8Y,o7Ûaq8|X>,Çaq8|Y,_/×eq8|Y,?Ïcq8X~,?ßgq8Y,?ß`q8X,G#`q8Y,@G #dq8Y, G#bq8XA, GaY87Z&59{1uZQޕXAk{^n惻騒1ď^/&~,C#RQrd%RRRb =(9[޾To?F@e(`/0PGr LJeԓIIjR9ZI=f-KRɤ 2Հ4){sK :ϗxnV-G8-+Z2 ~6|p|4Ώ Gׄe\3 N(ۄf,xzɞī6:VM[߱t[,!Z6M>ص72{Qت{g`O7m=SuݥZxka`OX[@rGţQt(Qt]=toGu___p{jI [95tO_RRCjh\KuP֙65)3,*Pe˘حlȯ&} \WTfyG1t*'WqX[gF6 2_A3TB/A6uۨzXA>af3pD㼮誒"+.dM$ʚ4AV5RwjPZGkÏf/:[A |v#j%};'M=_sk3%BOMa=MLsŝ4 'rOEլ$ 67vƾ3[10׸2j:XQx+Ɔ9E[%aYYo~$INyR!0xLܜ׾i]OL˭c6BNf *dIBWʓeIjćk`ȜCL-׬6Sl̽4Z5X mzXK2Ȼ<;s} #=ȖKVTLoKcтdZ'yOnyvcR_wR0hO3'}_Bw0nPwM`'ZsZ Q2{.\ϜƯ~,5Ro}Jϯy΅yD40) ea tA =BPYo^I~Z?DIp7.q_>8JSW.74y^]{lf-~[ubd4CxSDa\l(ሄ~eQq`ZWx >}5bg+>SwL( +@AOd+F<>VklԵqrs%ۜu.fqA 1>d LiF@cІ\.JHޅ+NŭW-+Gҡ161 $*^%c(0l ⼸xvN O"0o J ύ*Nj6COF,&4uU =tG[{t%@&|5(/ tI0n ROȯ t×k<2a¢a^wyQnz2% #@*E҄?VuyD:+I~${8uMynf»KߗμɁr ^9w.p%t2Zrlur(b  |bkHJGacU%)DQuΘFdN 2g+Shl=*fP|o/ #O[4͗ Fs9)[$_(n^ /Jwvq.ᦍzr%+OL*#R|))Xy ݙa\E=@#m6@+ |Ěs!qw3mp,b93Ѱ,f6pݤW2~-X)vU,ٱRw1g׎۵~)))lZSjܔHpt-@R5Uw;vՠ.8`aob vGBꭦ{=9 jˣwAzG Ck,y:g 0o+@r"*mS=|SL9_f|ӁGj; Z> )}/y\k=rQHlX$VxUu#$,;}0`wgTقu4(B} KxYVQP <4 wl /OK$_ݵh9_'<\̉砺]%U@Uzڄ4遴 A򻭯? 's k.^\l~2P핟(J:?ǥMkʞ//SRuĞP%fzMbAAիxvJ9P}Mh~+? ߗ7h`B8PͪR!]"K@[]A9i{aﮀڲ~5c)#@sLLPSZ!ej*"(e$7 uVcCث7dE!^lEAQLy'I>4RCFm#$. ?ۓ V54< _ljH2ӎFvUwA5ڴ@5qADI ]ޔ+{CbW̭ Chcj1 q$ݎpExHFvC B}iM ed6$"&Mī4bNމh -]hF-ybLT>=F[HmFuDH/QzHČ$ϦDT  j>x97 ѳ3 [AG!D@q\v UAW!PG@o6,-T= mhT6^ ͑`BrwWNdvBKN^;脢V/[8 q:}-N3B_O{8~Nb/ﺳ.uqN"; \t^d~]ؿN"=T 6|G\T N1哿W=?H~SA.BnUz,<2魲{:Ьŵ R2ۏ'31!>tue]y1dw56tqmx 5BT5qoiG#eQO#}~.@:c 9M@5bOy8)ނg {GirWJƒƃo_ K9^tx;HVB](;_z[j~#I߈½k>rKڭ%լѤvA:^iOGy_KINIMףr:MԴS%KcΓ/L S EJ}r:j.?e<@?).1e4޺KXg[dlSM5ld㷃zJ6-rpq)tK J֏ɴzZ4P =s _)@HŦxu2Ue&!M~g6'd1.OAznICi/͇;;4?&g-=^m^3RmP$IT짺u}gA zxqY.%Yq ~^o&"}6؂Tݸb2xĶvoglYz&_VOؙ'0?NY84:RZRWi884SfnRүS3uLY{ j=9Sx7RPց{:d%U@3=՛vu5}J=m %C۵^;,=GƱG$x/,ϡ! V'{R߀FRa:X{nјЮF`0ѿdT톗m=Nt? Fd=-P{鹠k28DFQ:?vu07KÎ%Cݑ(?e-%\ns ٦Su;$jGƖq-Nvh/qЩWKKM?Qr `0etk²9OF DU5Gd?HM^o9#| m;YtQ: 7%?t IMw/.~2tv@exow..NHU1d`Z.ЙJ fA6$˲yA'˩8g3gs=lManX&`k"ؙ&h"8L&BPD(n"0Mje[xYX'kY87gᬾՏV_?6  60%ۤQwG VpCTJzN3l6yo?.q_Mai%k K gXNmG]I[L/S &n#wٹ#d"NPءb*vCo: [ybAjZKtd u\1Զ-7N.у3]vK_w`wg&S-ȰC]@v< (1yufiPfcybBcVTg1:[kݸ˖/N&.!e>l^%-_ 5{AvgIړEfYQFG_enHo'U|:A:i M\)pR%UwS[R:fFe?hbcWEKk[!WۄN^ce*RO^ a#@ A 4BAA!@A AkmE@͉id"A'tAAnXw=> Ao}EzY(F!@#"Ax @ A24"(GPz)RPCj2`C E0 pF HF=1~@08?"`~B $?#` !`f!`! ,D#X`)e#X`%Bk#5 z-_r q^;s97}3Kx"G-Gkxhhɩ-_՛9F6k[қa_$ ''Fƞ2mDuWC$_Ney{yDߓGU=h&Ohiޟ'dV̊Yq2+Nfɬhhh~A Mf Ve}&"pa_.* _R;f*9L\)9<~g7q1vK\^3)yd܆iq2Q:)HPJZ3eH|^K,f mn:ᙛ$K| N?*/q5~(ES4ES4iXSzwmkFXK5$XL$XL-XL$Xk̊abmެ͇6?X[ kcqx8Y,o7Ûfqx8YgŪYwV{g`|X>,_/×eq8|Y,_g*Y~VÏcq8X~,?ßgq8Y,h*#ZV,G#`q8X,@G #dq8Y,@G#bq8XA, G#^՛pV_Y9kg 6Nmˋayqؼ8l^6/͋aysؼ9l6o7͛aqz^zqz^Sp|9l6_/͗ar|9l. {q^~6?͏aq9l6?͟as9l.{p8l[-a !U}ZQo{{^_m{1`ˏ^/&~,C#RQrd%RRR2E إ[[rnoF`^FyhG0W&%A?AלF) K+Rf+iD㼮+.YR:ZxJݩU?"EG+[;W45z瘽v<[-D haTOl,&ySʔ::|/ i8{*®f%a 35ig݊`PRFgՊ sJ8˳82};P 0c%LܜJi]OL˭:zu|!YRJ'YLH:\%: '%ʒ&-Rs9ga1>[Ymȥؘ{1 Y(?Fk}#3#(;dwxv>#=ȖKVTLoKLN 5q /ċ?w#γjƾCx,@|>7@lqㆪZJ`h9kDqʌ3p=sZR ԜJ*=:9P6käߛ0L7ҡzd%Ce!Nz%ir-&5޸D8(Mm]i߻yuEl5lf]f  鯓NmņqQi@XJr8$#yp#loչ&Wl/g pe(lBbň'Jx]40P}0c35ó:eVL>.A#ӧLU"و*Zün%DG U^ThoU'  0@A#)闔uh/Mw$푹QXDoķ[a U|#1߆o-ŷoť]Rq:gK9Ъ 8WD8OA4ES4E3cqSġQf9c`'zMz~cl/`?x|1)F+aroڌ0g8]|˗ KCߋSE1SWΎ>3ܹ$mqJob[T$4x[zYjECh%g#\|b V'Lh2>/% R"q0Hej85e(hWU%d Z׋@>T,4pS͈N>;:ճ|w g<&F%c+*YOUr8Va6UIfdqL,rQYu+]Bb'Japۮ*uNpr]WbMUApS66l.uw[d9迿ߝ_{,/F:6K.VojpHgŤKҶ\X(CZ_.HAqLf('d1%hQI(x'D$|9R8Ap@*3HE5?.,1<*N:haP;jYN!.]Hf0W]PRVv3w6Y2Bgj\] pe">O <`yN+R=P67P5<wA>uJVm*o<4?ƐSCJ@ʅqc!uعo5;Z7dk8]bK(R :.# ]Xqa-xZ-O\fwEN)Cj 7f1$ i>*GK-|(gށ.^]҇bQJwBrg_y3oWr8 TMT1<\ť'3;Ui  -%#gGuo.T:-^(bCkL!/n)\_ l'lލX (=U  Gv ǎXx5om =G_}r4soR*w3>(vkf3H >" i w Td{v'{4l**?R~9A^X^2AQO_p ZJW›/ȃ5{*jv[pmK@&Ԇ/i0b}$D^P4Q34 O[ߗ8g )w߾vz}!Yoz;mxMޜ=gԛIz{n4Gkwz{hۡzl0؎9 M00y\@UuI 詯 A|7hCXuz>:;G|mxUnV#~bz3uq 9xh. ĵ)m{)گ UM?% ROyHJ~ ';wKb¥ʆ!~eo:Ai]a% ?8yjٮ\Z ῥWVu Ɔ}wTmtho4g&9 4!{z ^NsBJlvR R8's#ķ#nB|%pt7+# zP}RT n*.uGI-c6ߍU BSn_zL֬y Շo*_xLYGkT[ P5ndX nhGh|l,=9ȭ|λ(Nn}:u<(<|2~ptyPmsAcʧ@#+v1(.vS{ Oķ0nW\T)ʛW}^#MŠI!T WJ<\jRLT`;*X+1YӳkCZZ1MM6 )m5nJ$z8ʖNpoq*ȻyjPuu0HiK71iq#!V=eѻ ~M5<\R ~9wD>vj3t{@#B -^ǔ[ ˋ<5D qm|$iXx +<:{[0qI3BbbOlA:q>Iφ% r( (V;6ɧ{gz k9/xHy.DsPݮ**=mB?B@⍅ Wן9D5T PK.6?YrOW}~]Ϡ) eA@bq(HOO&ArHh^`BP]s<;CMsUw 4ՋxvF40Z(fUܮcQm1r]Me%j2fSF昢a>^^CTDPL<ա1HnF$ X1 ?WoɊC yO1?U9zKN>H|h~%Ww'G4I]A~'Y$Jk|ix$ƿ#8ej qzjij㒯2)W6?(N RŮik[*I =[0dc%@H*!p5xnk#\y6"*StQr i%b 6Yk{v :uuK԰<:qjsY4u`0kz_ד!us^nj^0pɑI j䡗ʌq%11N7y,ESS' UyP,C RnbZ>~0`#]n >DSa6~Fk j AsƛRi'QRHy1!{;*tS?(J޸~܃hP.m$hv}eATŅ~KӚ@B-%lH EESī4bNމh -]hF-ybLT>=F[HmFuDH/QzHČ$ϦDT  j>x97 ѳ3 [AG!D@q\v UAW!PG@o6,-T= mhT6^ ͑`BrwWNdv}BN^;焢V/[Eq:}-N3B_O{8~Nb/ﺳ."tH݁?khYRaCHp7SпuNgz[wPsh%KZM=[}P@k}zu5^un} ʹwfU _e'?fdMH6./RҬO6Q/g)ﰔ,!̮W:;UM<&aӷs{oS~MN{l'Y>dBI2ФC֬; !~xy5"TJ%ĢmiIm:Q˪g-߷"k,[NE[AqiXI0oP#ff/а4CIL^oCD!uU!'g/aiI'yZKn{7ٰUG zHmjc=s 4Ҭݿ& "u@륆Ҿ&'H(ᡓC?Em3jnRtkk7#{-&~|H_T:U<6 nȥ ų֦_ov H1Çd?~Q \(AzI$=',4邔,5YWX7p(ǎfG' 5Ӣj5eݚI5s:¡1KfB#,:z@%_rdKy%̛L-yzPgdqC#G $k&:6 >9IQ챔t^-6|":7uKх 9gЪmth!uRP&H-?cmI 5㒹qD8Y{1zYNChQ;f'4lX$ps(YM17Hh-&e֗Pו\n٬Q,U ON ]F-h;}>Cn[8k)4Z[Ik|cQ J/WĽ]e~>1ԁ$ݻu!;o#~ΘӔ{7_ ˼kd3/;) rVYV*΍+ƫ^)W6 7H()zfz֭Nd%x*]Ӹ u^μ̺S#xuY쫏ޒahbR(눿x?l$x+ǯ ρl$}?}^ٰdz3K3Ȑ-{k#5иʓ=z>(`KG>8uM)o<;dl(pX\݌ kUAֿ~y ngꬶ '=dHaCCc=)"xyx"u+6BΝUԾt]E织Q@| ye~ K2R d)bN ׎j(hhc`:ƺVA۱[cu:Vt8fj/ҩJ| GĿ{.8=EK5 R&zWZhӄY#Һ9 SưUQl* ~i99y̥v^m2ȕH:<g>՗qˡpa&v+n:"0|wpHVp KVW oQ]W}ښ6)Ք{I[1/9Qar&ۤTеrKawz}7SZLdq P f~#^Bcٺd,r#\%#vy%#–eU:vL}u13w- z0:-׹_uA%zӵ`'/̪՚-JPNmVܔ{:O?Z/lV Ox=7Y\Bk2hBl_nH vő'>dnC=$_,}_PQuӾ.e=(6ַKM.zwR!jl)k5ǁn? /ڳ{ˍФzAPvXvϝ/H_BvC]SxT>>? l/b-Wە#p줤 Cls/Rc36 `փᣪMNMLmM>az=;{8p5M4ƮQq 6Z$P9L`c#Yǜ_Fq3ND(3D蔦0ADsYq؛-F%̎K.Fh)(7ڷ] ᱖u&:>Q,m1"wr]V٪2UO:[W?{ZojfmU㘼UM3gQLM^KrRԘ+6- ?@Oͨ/9K}y$qOuikk+}-(>[䱠0wJ=)ZRtPĸŠf:3><6R sKWA%fke?9>jŒ&!) ^tA#gq2udU1~a:N=bg?NTo=/\D${.909\ Qg(% [ S"RQK&T5gO{SZxŎ0!agL&k)))lnMOo_?3/x.ES4ES4?s_34ހ >!G$c >B"U$t{Vˋy6X?k `mfqx8Y,o7Ûfqms6V1+{Ɗ=cc`X8|X,_/×eq8|Y,d{NJ=ccq8X~,?Ïgq8Y,?ß`OY3GV,G#`q8X,@G #dq8Y,@G#bq8XA, G#=Y87gᬾՏsY9l4//͋ayqؼ8l^6/7͛aysؼ9l6o7͛Ɲyqv^y;/;zar|9l6_/͗arظ3^ܙ?/̟wˏaq8l~6??͟as9l6?;ŝQ(zp8l[-a !}+ܴx&0MSwݞ׷YBN$o )@׋(Ȣ*ieI'F2L2V}SSK뼾d{xw3< U F (Yͩ Xiz$>)2IM=K9GS#seI*YSa +w7<ߦ& +l?(oĖ~tkQX;ymv6`n o=zn+j+>]rشXnߔD3u4u4hv>Osssssϡ{ pA4ES4ES4n4K _%-.~lb/`OiM=ʒK94B^ƟQ /*zYv#MBWvVQ[pp5Ja KT 3 Yg#uUloL^quQ%k"Q֤ XuڧSz:R^}4{_d۷LY~oD_=LDn P-)rS=|aO+S8>{qMCSv5+ ͟)Od:V <ՌktaOJ=BG[ذ9gui$<+#;1 1Ar~Z#&}lP!#:iPO0vn/$KJ$ib*-ё$Tx<)Q6I|h69k΄XrjC.=܋ahCQXRF٩'Ƶ$3ui0CldMOjHE؏64.䔚PBr|S7B<1f;G)4ɧNᓾI]/!La7vʻH-9}-(NR{BgNkWj?S7ܾ^W<<"F~mӆ20S@:T du7I$?-\$b8@/H+m{_<ͽ`6wFׂ-ތl1q`2A!`l5JTo?,Xa{qa0Co))DsΘBGώ6 ."A}O?WCn%GyHu56FB7B𱒜ߠcZ}MŦ}oV g!VϭٷTI:hoYV+ыsuJG(A2i%OR+ F2e| ^RA)D`$:p@k0QΕ&+J*&:7b}Yh:8jIbG|Qwte?YggZ%buV;yLJVTUR~SeqmZ)?4N-ڷX(#!>cVrN2WS3mGUl oBjǚ?6mNg\Qs+;69Y^(umfKw8*r,\IuYiQ,* u\$a>"1IH#Q 8Ap_]OBhWf9Ж>~!_9~A+K[V/Gp3w6Y2Bgj@El@IıGL=O#iEup{]yK]$ GP{9״ͱՠ~أm]`rxf30P8„;n~]GB&l\V]ϫCxM%~^zz hxsC`өKa+€O%Z6F]Ty_5zN JAȟTUVweˠ.:v&h"x"X=\ (<ު,c^9 Wi(W;;:c) 7uS P٩& @OUAsuˎ!eM!iN'KAjObC#_}1Vzqi@P%/AC>u'&:ݿ6}C,P-8ƧTwAaJ wz7i T+|R/ /H;V2!|GC^MZ脓k@򋒹S j_MB~H+rAr0(88xuЭ0d eGvCȍ@^ɬ ?t Ʌ>:q(G4jl (wP5q%8T\l]ԫ#֝~p:w-Sm$ۿd5[Vu:?? EuKMC^W>C[]mʏT# QQ VyW . '^5GdY’ W־q"(;Z=c!(T7{kΗZS}N7積i?dv~أ~;V'Zq)~n)G}I7 P=k>g ua͖5/ܰ.N%SWaj2wF#zϠv\nUPxp0}L faFH>tUa>$U7c$P>W$*(H~l|P޺Rȭ0P]zPI9_4q"ls+v@ѳXj7Bm.ebv}N.֭?*6շſϺEܬu VMy #|8z$$C* 8}0κU Էf7 ynRz6Pc\jrLT`;*X1YӳkCZZ1MM6 )m5ޔ*[:½jąhh:wA]q /@Cꏄ[Mzr "G~ A6Xt:paHV#DUۦzۙrpĿŏ 7w.|{S^m%$./{w墖+ĵئb'H$8GHXv>ma%< ^?[GiPP$=*˭,Xyh$^$-4ܵs@9_'<\̉砺]%U@Uzڄ4遴Wן9D5T PK.6?YrOW}~] eA@bq(HOO&ArH^`BP]s<;CMsUw 4ՋxvF40Z(fU)4mױȨPn9VWPNػ+AM&lS4x?,vԫkHi:4<(򵂤+u } Yw$){G*'cQPo}=S)CͯTn ?Q@񈦻s+: B%)g6Z~ HIe#$FC~m FUdP\e=n7_P׆w:uX.Mڞ݂!)i|N]@a5,45|v8,(3|5ɐJ/7HYvpȤ W^ʌqBSQu:cVP|llmP9fϝ/{U՗r+­r+Va%P' )3_kPY #4ޔ"M{H>AlJDࡐ|Ы惁@ }=<4P+~MaF TuS % ?ʅ~agl*Qh@`Hunr?'CDhwOp>':B D%@)SkI;_BN4Q֕*e$2Rfri,JRE*XS $1fU6"jSتF|DOJ-9N nsJ:TB?Gi6u! 4Զ$JCxV@9W49qЀԗtToAIG7x@>Qnx#/n(c-I'*H4iFEˢv'˸1@qx@rcn ?P] ?a uC~>#_E5z/l,p]$)}<8,wi'Yo{^˼t:4L Lx ~ 5j@[f 㚶WU*pn-KJc2=\]TT ӮOz.O7AE^Kŧ"%mzy{$Ȋ,YU ˖OWH -o@JOޅlIJ|O$9ft(6|G;uLNRDs')4X6=RHWA$T۱͑@6?B^qv{=ɠ)#N6<2l :lLɻwTrTx6F=}3["2}/49dut/s^m)>et״?.k{:L9A*_ofB1`5}<\8T~Hs,nE+} k|}œ;dޑ_ˑMP-(=)ˤ-'H5dž7qRU\[B͡m6Yü #q; J|D@@mZ!7؃(SΟzR ӡ;a6ž_] w|8Yjm"Țg538?ҳ AQOV`2Dv:8_l!}>ritɣy&eI߳P=nO:Hu^OȺN2v\@J "j'H͜·^{uYBlvZA}p8rYd[GT֣V fpP>έ |5G9eZ*Y<B7{3At,/AVprHx)n.]Wet:[Sl_w(<2BP۠/ 2pJ+ew.AJh7O8~>dݸCsS^3IkOV0a]fA'烲GƑM=/RKx1%|pY=ԘyCt~ఴB:TxKzƭ5˭_Slk g~Q^RcA`eD6n.Fo$^D:r {EtY߫B>3/¥¹%)mnZ@_ՙĦ@Z"U) %CB1((b)b)֖5mjR "ѰQfU;qQ*NaDljDWO &_ZȐf+O/eeݾ*YI"~Fyi92 ݒb  y]C|YL$J.6l:NΆ߹w$u1 S_A>hhhhhr=\ɦLhB]kXz$6JI'O'C =ͩ$p+ 2J\%APIP$(U+ *ZڕJZ%AQIS9 \j8[2gœvZӒqZ1Nki8h5C†׆׆זkcY1H_pj#" \|FRfz0p3j~w3E*<ˊT-#{MA{!9ST)׽lf}{ֻ19EGҴ$έ*5UD H(')iue$W|LΞxQK.(DDk%Pii\Hei˜R:OjsG/DžcƝuv÷NV訙avhh~ψNBeG/A<ɍ:d [P,Ԋ(*N8nGm™G~/Ll)Z yֳ~"yr4ܔ焝s@o_7#vn [q-lX{/GuyR#΄dmpX2JSL'QU@.Ûz  % |'+??*PR#K1GT#V0f KM-2rNAul8Ga3:L'+FM} _Be;uN{2~4uYPS3DM-&c@S.}e^6f}esRUZ6g(sΔM4/Ιՙ36ј*f P<9WMed|OtT'3O˛(D/2L*mh%gm٢wl9ɢY֖?bV[+\~˚m!۟*](X??Up2E⨊eR}Υrs;ڨ^ssG$*+Hշsxȱ c~j\]̞]̞]̞]̞]̞]̞]1S;될Y . 'A6 а. 7&I5`=`йWI=D?BGI.)W#u(T٬O)$DĜDS@`Ak CAΘh=+:!pE1BLD Ao"`A )Q B0 A0cP#+t]9XL@0 SLG0ls$ `!"X`U X`=6#؊`;v!؃q9#88pAp\A@\x-E } A!+nrqP{A 9lpv *T68HpA *T68lpP4GA+fAe *'mC*T68lpPOkawDFq.Y.Eb⛝kF%K/c~^TY{%OK<_Ƽ%X#\Pb倽@ Iϊ&(.\WY[YWYO٠|~|I%Kʗ/)_R|轠 c%YKif婯қ԰c6eMnѤ&|B=˺tN\5r➵{'L)G5*=}/*wSҩ{Խt^:u/NKSҩ{Խ/)_R|I%Kʗ?4u:ʽbR:*qN;U48.9-NSXT;>ƸEg҆ΆNށ |7N] IR$Ĕ")eD*!_,Y]weOޏIgseX,+SJ|20TF݉GsSvwHyVv_0YOjo̞K492L!쇔-ef e!RFtOufĬ))^*{ DMj#`%d7T\KK3Q@>ל9I'_idLgi[XcG=\si|IWVx_ꚾdj͞:ɡFr':ɱQOurCT˒vY.keCli]4 K%MÒaIӰiX4,i4 K%M>R˥r飳\,>"˥rhXMÊaMӰiX4i4 k5MÚaMӠr飶\x->R˵i4lh64  MÆaKӰi4li4 [-MÖaKӠr飽\8/>˵i4hv4 ;MÎaOӰi4i4 {=MÞaOӰi84h4 MÁ@pi84#ӂqZ2N+i8m-cƜI`Y0,j 5 C͂fP`Y2,j 5K%C͒fPdY2,jz 8sނ98o`[X1Ԙ#V 5+5C͚fPfY3Ԭj 5k5C9o·`[0-lj6 5 C͆fPa2lj 5[-C͖fPe2% sŽfPc1jv 5;RUo,&~2?k\1:i%K]W)Zֆ vp|S~@/Z\~0'G.e$Fo o|cmhWƞvP$ʹ/ y _Mɔr3ŷ{|¢_DžD0_CPx_0|}gX|5LQ_2[r+3k$ֆ `FOR^5u'0;]b [fxsتzRcZ'ί[K #`k݄{uq>j%;6d[6XX?2LOߘ Z {6O8 l E lYNc`#al– O'a36 ^ ; >[t6sz^v|g ?EG֛N9ҭ%v[jNjNjNjNjNjݮ=&nwZCebN'Ew? ?RM[b0y-`>/=o`N&cKXc;yG*wivzk Cx_HZnh}>j^ާ+OL~~?mzw_a;̶i!Kʗ/)_R|I%K&˗0=W|) ^cOS%{zG<žaOo' ^8.1<6fJ*O/}I2F 0s:[d/qxcT f[֪}|%N?/??$=WLEuYV*(V'V,bRJbr,ʷHsR.w!_VG6秨$e{oPP8hUe^U "jbpW1>5~X`tcgBcJOI+EyEj%_''W\__YtH&{BpU "RqS peQ a@~k1Oa`CűH~[(\U5kT#^07 UJJHGoɥۚ99^e9T`YhQ*"9bcDfȰ1k2ZH\3c;\«b=B|V}TikpTxX(?,R꣄kO$~S+h)T0ķ4U&rm0fk MZAjRbRZDD#$6$Gڸ)1#FHQ)F3X98rI ɽ*%$[fT k/C:xQ )!cSl?;ʲB*U]}*T]ˬ*]m$diU !ֻг/sQ5!FM(ljgbٙR $&=#)Z1)BŧɎ\R_U65ɭ)UUVUͳkjU(Õ TNBYtţ(Vj|_(`ե95Fs(!w<.*Wم_^Y]+sN(9c''ImxP\r%$F Ve#nMV;{ֺ Yќ]1Z)Eג#MBJ/PGDH*>UY)D0_] w}r;]'4>Q8mRfH&V%YE)ODX/%z2w,nn"o2nnnnnnynnnanKnAn>xs%SZVA? 1'#.9Ĉ4P ۄF6ZqB2~.S~ifR,R,R,!' 9=)cK{qLWyweW˕Ϫ/KZHfS͗ՙ/&`8Jbe5"wN Sc5ݶiEQF*cWk!iH>KԂl`*k6?Ug_̋6e}wKTj sK̫!#.u*ʜjHXNN*6$T|m_MXbia_~278>|{z8+iCU@Λb`03}ĒJ<{֬Tt2McWdD T{ ŧ]*EGPyϏ ,eX P|P<.W (%Q+]oC!|~ :+fFaE* ٣$G9[?{quJT1tvY.ȨhQc?80ޘ+ŧ8#ݍڈ URݚ!ܚtzP l |y˂D.f[ go+ߴW3[ɻn+(6jY^J]V*yQ*&*+Qkv 4_i緸RE(=lP}M3hAiRHzoVC5C  JEU:1kVVH{GRU$$Qut1ytW$Jhj$g9A(MxgxMF-}soŻKf.V6i1*abTQ*v(:S)#y%E]>'CIJ# Rūm8]L0Pl>mh-B_U9=̈́qq7"Bs9qnt[6hY [y9CaX+tj^n:kGYY  ;=!f^&m$ f2yH~> oqd0jokfAH5SBwHfixj}wɗY M;FFC3OC+:4UN<₢AԗFkgs شT?+[W9 ^WۇAn#l̨1 !&ϛNzD- u qhօWWAg 6GA3 p ӳZCi\U!ܡy7 ܤ䤀֣ff:Os&_qȬxg %:exSyb;X!TT]F_l{F?<I !w̳,p]F<lHeW~K< ,^"N:k/[? ?Y4Aϗ^k{]ol4BDՄc!JsOo@4;υh Gwӵ!.cm=1Ψm BΰeO!btpēiCS 20)ĘMF@勇fۡn{t4 MW3? r۷M̀gv{݉ ~VɊG BB /Da)cK3uȃ0{b0"J́6fI'XBij~*S J9ͳ% (tAL˷AI״]1*qᄞ,O-y3Ysit| /_! ,$) C{?QYzEIƀ7 6sq˽3!yw>Z1pP>X"D- o|Q3 Nl{ QG̚<. 6ty{!FkDu "% "s;NQ{ԵZ`I/"äm :ـ޵qY=ۿg WSy]vը\Ԧam\ +azHUZV~i5KKKX!kHdfJaI0!![=)x7Dk) ?2{v_5FQz=m0to0 E0xULaxژ{@ XCA9{1:^wVxAJ!0,d؋@nu(I߹B~| D\47">BX :TSus77z B,杓oJmp"~qWHnE8 |}8DHvVzgWeS'6jemxcC䤔> dN'Nwa*H^7!fP@4"9.75l&Agɝ3/']=Cd@NaC:`&ba~t(8"|``w H RHC1K{σ+ Ƕ4D5" 3;懲n=kO΁ A}1[_̂haȬ&@̵qrz_ 6i7"$t ";sxh#DF}j7"Ϩ5;- wTÃ/OwEBf%ʯ&~c1QHa1_~ABۧkd{ 48`ǵW tbm ts h X=wf$J:)f(R#6.-nT4 w[Yv DB.Gh#4t:JdxH{ڭ,TbdE.G!Зaa3yNbCحCZq̇KYqtw(Z4]{Z^wlqF=ȝ՟fEC7P"~#g hnAT?I4(T-T^ێRK#l^6.Dzj/@k 抈nlAl;L[SEF]jlx" "yHDhf<=:DNQ #jQl} Wϙ\" .ľ=BG!FVB;nR}(fpqx酬 fEG٫OTcoZuՏHZC!R9~!D_d o,D^hjD DXáx0$ qZ`CD*Qm!RkQ@!ԗ !.17u0Qp A6b<<σ:.H1!{3:]y%>)ut9UX`9RQPCy5#|F ,!v(~tLTئ u2F/"8hJ/GD^p^ߏ/D$ړn}!ցMHXhRhۤ܃eޜROU8}.PeKݠUDQ6poihQD4xL4VPʌ&,CוX,!j~5j:«m%3Ӎg |];j}'+;鶕M!%͑z1h=_/8 _:hv仮%/!ix t +!aX?P?^l%G7m 6 ~M__T})ŋp%7JB+ ůok -Y,1}QI.^.?O#0ZF&75 k먾T3vSszߣW]*?<дxa+NeB˽=ڼ m4; z|)3k7h__U!vn0hjYH f 76{0 s6}2#H7Պ16b| Cx0ݥu –}k6Bhm[V͞o1?Mnr I1GKi -Zdfay/҃&scCC)&4g8K>:0tvEn<)T'o]LٌZ!MZw>/ l|ŝz4LhЍ?/ ڬ}R|\AL PiwԼ}Co!I/r -'ta M[ ;,Yu xך8?;tǧf6y隧zH;V)~5󓺎S2B3, z^[0i q%-& wo<: 6_zDX& .2u>% +u8` 7 x?7 n͔ZTzu)/{^Ӆ i ¦S'y` lrpifxhS/^ĠOJB#am&m[&oRE8!XZ$xwz R,R,ŒU+,vZ\vT:Q2iԧr,.TqH6P(􎉠+p`b ȟHTfϗCJWM+ɯtgVM1,OR|%HHDʕ0s,A+(6(#7s1z% {Ih;-^-(y.Ν5,itH*on o\Ol %RP2/͍1)b)1imY^J^6&ٰ* HUiVa~\Eo=NԊ}H!y bB1> Y;a6TjqY_"?ʊHmUQ1բr1GXF]RQ1!>"k?pDIfYW} yʡEVz:{l3X ˈV4T[i|n|2İӜJ SI$U+ JR%ARIUI]IP$U+ :b̥u+s{@;-ii8-f6ӎvZ3$lxmxmxmv_;Ưe;1zʂY.CMYx}DlHBvfC43ASS =|'$fIj~YVm\{M A{!9ST)׽lf[}{Ƥ9g?G,(RrPŝ\(S"}<6E9=-Ur*Rh&GxQ2*OY@O(_:ǚ#.Un;*iC[RmyR G( Ҽ aBΏB쓨u*I+Nƫ!U؏~0璯x+޵|c}?N/#c-snqnK׵BeY_+Pf8ȭ:|#nn t}뜼xSx;ԕu҂BG!v9fYB]6N'=I$蘍l"݂NoV@5^prj l?Nw566a[&Y_Yc7;752#g `nB`lppH88;H(unTm D;F G bB)_zϏ 80ԇTH($̈́L&(Hl1VHM-2rNA8Ga3:L'+FMw} _Be;uN{Ҫ2~4uYPSE.&«@Ż8ݕˏ1gv%,] Ӭղ+Gv%TzW(sΔ 7/Ιՙ3.ܘ*f P<9WuSed|OtT'3Oæ(D/2L*h%gMwyI%=@Ul,OT.{jԟ*YS"qTEɲT>rROܹ\ݹ#Gr'8WX} 01:Հ)4sI[ qW _ ҪLniWfTftS3i SmՀFՀYՀ&Հ?jj$WV'05hйWI=D?BzD(^#a G,B?u(DkLʎhbN),X!A`#61цPq 1BLD Ao"`A )Q B0 A0cP#+b9XL@0 SLG0ls$ `!"X`U X`=6#؊`;v!؃q9#88pAp\Ap FpA*tVНVjXʞ.I knuhVyn>ўe'.9pJfΔHJdc`v;)w锻t]:.rNKܥS)w锻t]ʗ/)_R|I%K_rcJptOzۏ/T2]oJ/ 3=S^!Ə_?U72^e{Uiy]ZEo[75Iw%dG=&_\%HTgB+-2|^BP^.CRJD .+{m Y^u^-wc{Ix_Ag彊;>$Z1fp2m8 ,>OiI~9UJxKx_NWJ+(j[k/fb&tFe\>|20TFˉGsSrHyVv_0[Y}Ojo̞@K492L!~-ef eلRFtQufĬ))^*{ DMj#ګ%d7T\KK3Q@>ל DI'_idLgi[XcG=\si|IWVx_&dj͞:ɡNNr4&:ɱԑLuCg?˒vY.keCli]4 K%MÒaIӰiX4,i4 K%M>ʥϭrc\*>ʥϬrhUMÊaMӰiX4i4 k5MÚaMӠOr郲\,>&˵i4lh64  MÆaKӰi4li4 [-MÖaKӠOrC\ />̵i4hv4 ;MÎaOӰi4i4 {=MÞaOӰi84h4 MÁ@pi84ӂqZ2N+i8m-c`Y0,j 5 C͂fP`Y2,j 5K%C͒fPdY2,ju s~݂9n_`ί[X1ԘV 5+5C͚fPfY3Ԭj 5k5C9Co`[0g-lj6 5 C͆fPa2lj 5[-C͖fPe2Ԙ3̙ ̿cŽfPc1jv 5;R%o*qCf?b_xygmJ.Հo|-kC;Y@)? - G``~zD#D*f7pk+cW ;sm3$kyA^WS2 `?~-D!z|J0hqa>|1L G_w)%%e SEm̎\z lhdW'F5GXwzcl;1ˢ|ؼκyKK6-ֵV{7L.n1[8_|c5&)cvyֻgڭuL͡{ư̈́M4Nrx¿VYaԓ:ư374syi[Sj\AKqdՅ!$2)Cn#܇ 7[3Hw=Xnz(R{[Һ%b$!9!9>HN1SJng"r$p.OG{)T6KĮ K^t)RBDϧ~wtוeSb#ֻ8:"U&BYUjPHҪCw\g_jB,Z(QIJ3THL=$D{FRbR.ՅOW\3TKK%|!G1߫mjz[Se/0KH"%jc9AFrwum qATaY9ûbR0%G4^ T|S `N(f)VJ/v O2 "|*qۊ $`t$L J'&RLj^J&&xe dDDGG݂EFFݬF݂FݮDdERF&FF (f/*5-J{,b.OF\rtmi(2^ >>l\;΅d\$XXX2F?rCNJyr5zŹS0ș:6n*rΗ+՝/U_̗r7o3̞/73_M"ql$ R=kDA"' kd+m4<   ы գUB|O+UF%P~: ڿ%KQ0~a25] Żę {׵WCGDS !\Kp.vUf'"f^GQ*\Pv|9:W@&y,Xd#%H ގ ^*P684x>BҟKM=ʢTS)DZDy!>]>P Wx0T#0CNH º#i֩a:kuVmNB\x=}?}1eƫ._Fp-Hbr7ҳNԊ㽫k!\m 1M~l!e+p+ 3|>wfYN|AcOZM9P1Wb閵+}Ԁ62G5ܰy<ͥsg祙yNqIoƼü=MGn}%=YgpneZ xJҒGm_Gnt. PG{5ͩPW5 ̱B7ܸ$~/ȷ{oDIz?z҇s4xXnNOZ M Z8pب=xi_";]=pKgx9CdG\vY;i @7dU ^<*ӎ̆bymj~9 TqC`Pi֨IBYU>?ګkT#}>y3_o[wN3 cM > #v4s5ǧ=Z4CC=ܡɚ9ϝK̭fA -;0zr9o;.pc0y,Gܮ`;شjHVڨի6UnCf|߄N7< 2z3t7d \Nv&EM6}vX]3;NuC,$tH Xz9g 3(2`4n 歾i*sn`nZ7_=bsߦ`3q=acgvzu8 ?ΜӮm3'Ȿ8N?}۾Y 6o-l-/I9݂s+Ůzܶ-+GD 1|'.}ΛteL.04LM9SZ\ TC7U-KʁF!y}[j/feϓ`>wǷ`>œŵ|.|7u| r2`qe5s~65mm٬݄y#4f`!qIP`0OM5<5w0/{=3H^94 }b״}}xˏ!(_:WkFGݐ˃|̘cl|{7`>yK _.2L)_6WFE;aC16H  wEÖCzZBf>/f(ߞ9-l>ԽeC0?lIj&k5VG1wf`b3٢Y0wkn=||G'h]2?9^fUhmrޮ`eȰY퉝}fwr`>"t4_Yr+۰qv0_acI`>jֳΨ>D \ m[ۣ{s ϛyVzÐQE7Z _{o Pp>;4JǤݟ^Zm|&#F"-Lm+'"\?[4B{kAIv_Am~}tI$#. DTNgրd$_=|\X= WxhB)e/h)š=FGWJay5spAxgԙ=L{C~&ݗJ޺]P|.7\ߐ=8$ho K$w,5ng^!|Qw$e('L̻|ydT?vP9NX{U$Gӭ&`>opIFZ3r6D_&oʵ돤ԾCQ}_W__E5G.`)ҋ.v?r+#whsz`5͡ͶI oCS M[v tg9di^pj-8n;W6xe}Xf`7^%`bGh8iYLg8= 0{-!OG jFᷡUQY~T{X]hr_+h}V:63xuKqNO[7$~c}r1Q@}p:Vf;Brqǯk#nGxp 8-[N\ncNW&vW΅?EhoCNyQZjrs-0Fx < }%8^L lg :z nmr:Omny.88xl9>/H߲l&[~\}Vpbp/uZiB/_p (j eQ{w!gV9N7F#M4MzӆTC\\k><&:m9ozm_pAm_,^ygµc̣mmp}M6_ C%@+A&شK64ڨX4asg -v p9֖Qy֗(~\1D^Lv8et6mnr3tkվ75骜S t>d%t`|h'Byp%s 6n]s>j 2贬7kCeh+Y7'tߒEO;qMGcǮUǃ޶9{Xoi/hķ·1$vnSp;e(*J[fg#Cp#d.0oNP~B>l4386^t *a^8) m?i}炓mŻS_i 3z$ըq1dIr6^D xEKt3=vu<# G xƄM6|u=nϸ3xf#L3{gvEϛ۷^<[^QCnb[5gv_w]@cÃۺ7 {{SxW^ow l[R|~pӾ/[w23y!u-,omrx`?p;:xf7i3N4? =9F_xL/9ӧ[ xwO{.ux/-͓,,BesOhzf8L#,smCwp㏽V6r8JsJgןs1\g#lm3sίfs1羞3Mxez>]8~q=3U{=yϬeL/k~ܙ>]‡cBǮ^30u;L1uŗ'O'Z)lwlsmM / mn7||#ß-ꬓI].{7ۄ9i#!W45*xVxzPԑxݤ?:i }3Me91y~Ok42X7|5]ltפjxIxfQ9Q i3Glܠ|TyY 6VDz':ry4,OAx݄,ka[6u`mf'𬢹Wz( kxvOw]gI=V0".]Gxۋ?H㍭ye.syݬf~?qѼcc52p]7OnPG8C]w!<듓«@fwWk?-y7]-;'/e3{6﫛&iVʬ;G;X~X|]_/_cҙI21&9W?D~ d~J ǥE@k[}=лʧ !,h6ysl64wҰhzSg'/G6~i1}Z}5yW^F'1}\~fx,Vvm UmIe,ǔ>Fqݼ&#Zsro|L y%+l{$#.ꐰꮼgv{ÓS^SFm}:h򽯍yyᆓ}f4?rcR^9*pvd:z| AeIM@,rN9`nFө{7{ON[@?dk {9N}oS:SȬ7]2Ζ/ WjlDSoт}xgd|Ag67Rw 𜮨I̟p̴˕6ȭ"p 5WE<y+vlk2^́ϻixm;ݻ+mx{Vݼ\W8pOve^ڇ]~sd>R_n΃flj>}5;6#!)#xV^Ţz<域6kzOLC?W{C!'6qJOn_w!ޣנrwNk}wܧ2iݼB}A]@}}zA1WƴעB~ݛeoF7"LdÀ[OCG7mov÷=+5nG  IH+z^~\^~Q撰Q|XR >2Egy|W24qQOzޣ~4,4A`?`/z+ڐt ^aV.ZXxu[]C~!n~3njoۆSqզWwg=榗h}-?ʕ;$/|-nly$*+l _Zm> uN~6y]zjO?Su-uĤ׹<Ѓp~K/%9\p`#JK8l~]^/6玸שg}.Kf_abǰ +/uxwf;x)Z?]0猦> yVu%p?+%,#N; ۭΚ CAasAэ73=dv66Jv[ Jn(z+nuGD6nNg*_bb?K_q]IP>xW6fn^ }~V+43fh\Y#5onNE: j% Ydm˭SD`Vkq {7-!\o+Z>705Œ``1sbhC`^ X+`'6hyl78Ӿ^Î#?iGMܳm6'yEfEhG5D)#Cs]&OUhl{q<5Lc29кzYNG݈cq=:ת??AvI "Kxc"HPgMH bVCأjp^R8,t]8Vl .^Nנ9K#V"=pjSzSfaґd;O3k7Nąi31YSxg?pNͶ|~//yo9~ݕaN*ӵ5NBa^Y=4Y$mJȦ;2([: jEx8$6Lpjy~'OonwyxؾM$d=t8 \:9>]i }zbpaHPOfBWpAg\aezTvG.90h'$Zd r˟4t 8]d#ssOc:`Fw[Ze]$\烦*]˙>C``/ܾXʏ9[?؃{Q9~7)~*]5{Fmߘ}n91E `RPPw}`tWyG|Ň;lU/@Ɨ0jTm!{pݻs&6l׉.⡕Zx'm~s:X^Q'jܯ&wM#ܧQFoNy j S . 7__OesxDu|qy>mInx<`s |g,ZaO`cG]k+v2l]0lyJ v nYq-;uڪ| 03:s#{-'WSk3b#luпsvڠ޲%{>]r1%3">пlG#*rk s~C 0 6 mk{OO!i`Q_voK?C!,u\Uv)K7Sl[4߰׈{|8# ?PMMG8iqP{[OnF4^p[1܎pSaza-Oq162snCD`y\ͳ\4Bx+gI.gSy!~;v Wg<g#^vG^[bґ|_? tCBmu0]NL0j)7p t`$0 =򳟱Qz h#ߠxA$g߾Kw)ꣴ`׮ ֦4;Ͻj]ˁ~vG\^6[jfሏ&{I7; W}ϠxRu_)M%Yt|{>0\B^n_fwzf n0‡;7l] lZ7[~GxxNiu_Չ!z^4'0оÓ#!FRl[zC7ncįFz7؀^WޏK0 mëG?= FeN5j il쭷@B3m,"ONX &u;5qV{_ i,xk6K|<>%Q=st`5s߬W=j"KՏ{KǍTF:R n2)0!^:[ V|}µQ>^_aO)6FLE)C=pl[!<1]Yj˔ŎW!zϖ?7>/̢@nnhhY[m7v\kNU6 t ,[fv|/: su#vAol ;.fjNg .!7^mn}j>OE3|wD3}{X[t7;YrVxO!>Z:;馝v$ KF< { 7Nt# r34W[Vm͆׌~P=7vhCyz`P7e`r *oe? 76^#`m޹ۅ;gCqPH8INLAA+f#<ŀ5[i z!Ʌ;͟ԝ^;1Ϡm&|D+{8w'gtZAKo w7SO}DxݞK@sVp+'O^;OLlcw/ȲEo"v  Cj!;AH/on)݅pja[ºμ1֛|;okno!䓵w?]ǣP2ZC0]j;50ÑN]4#>Ha2|}z;"ܧǝQr/R6FXo( ]=_!, H6>i1uy}SqY'|԰ ^7V|fx|$"_T[Ọ̈#k?D?(g|o~ܜl͊DǤi {!ϵ}j-Cy(| :S#X*vyZxoQLoAaqp[Kw,{aW]x|ߎ>KWOO%>{1^N'q6ny+ @?f-G8)З-:pRIq<z i z  nCBMC¥nB!wfu1o;r@LDcB7N̆Ħ/Nv?V >N ݍw׃Ğm,')o7-Fr9|<]y'#cϹJB‘##"jQ,AzA3 !aya1K aÏ nAϧ#rx KH; қ(L@zfi=To {iHzkToԔF>^V3! bƅ(]FVkv!Q-tMA{DeL@{Ğ@{ueܻ@;^9=N2x'`AWW lQ@`!6WG{ݓFtAxoQʥN+@8=ojЎ6e5p~-ۿ2i-4pMph-O:_6'vо6ExxnLw9M ?NXXm-;N2[ #湬 O3mNUP@{/}Ʈ/O|lPf>![@G4G~:t7z}퐅áA?t|'%=ԟ5+,r*h5`ho5׼W9m AzEO'׾ʂ3m~&vH}>gqq^=!yUoWW[FjG7$U;BrZe3zΕSVtka;@҆3Bt\_vKMbY|6Z[!q͏.@ASP9D\շ BPz[t6g{OIk~ OKd@{,ًNصƒ@{Rjޞ|-&ˮo͍=mmvFey$uz}LT~@P*`.JG ]Ag@yP{;wiq[.Coxݵzh^ Wlt2Oh=i*uոQPo9=&}W#=ӯhIxk&;Joߦ74R`,.*wQ1㔕A;vo 4i_#JX}顛7嶻:C^[iѻ)O*WÏKʴ] Ծ>k=uσ:u/|oN:JcZ aN~4;ixۧcm\OX] zMzO  OBMeh}|yY{m#6~CǶO 4y _ؓqOg8(u0֓z--(sz::qf\VO렩,OkoW\uD/u 3i#. x+}FI5?Ե1;?G#yN4y!͝i^,yRl<]mY[?i󣟹4킧O4Ev}թGgFtӾi .?uxz7wK<7qn]/Z339 q;f5Mo>*O-'%hӉDIPpNN4w> EuumMC}i(A'ow j{N#.B̖(wΧ |we>hQ7tDvT?Ǒs(n}-Wp~7mȀa}2z κ"!O&4`CZ_ģ"gDR*d"(>>fQ>|1S Qq>Q5 %ҖenM?Kq6'x:~ᾋyaW[|9p| x @/F^YW Ҹwɶ,5{? yWOgoތw0l y3ڜ 1cO[<0Ii/ޡ  m<ؽ^4Zy#y{'~ Rv\޶~Hb#/ėj WGQW;Tu=LGUU$>@>sЌ gZSz rrxhb;.V8>WSvOL.Z-?%w\㫱s]5CsW pᮠvwXu<޶ԙ;iZu9o>`d3G>σ?Ƹ{^󺘚XkWxӨm])ۆlZNV.GwQ)Ok%h{r."ѿRie%  /ǫ#Ո isQ2TQoCcB|D^0ư:abHKDx@Q.0"HXq' h6AOT4V&I]adã (GDEDyg*_2 }A#:ܟJy%l[-̥#.dH X+Yt_K#T~ ٛ4FVg_WA]_T,\_[v-mdegNQ2cdQ˜صѳA-,%i__2{L;$:|Hs 2"^rB e#@#HʅUU[qIVf+ѠwPNA9W /fULݤkjm"eO +<W..Кd1TqJ6vf&T.DPcn/V\1ےošUEg+[{mj/R/ 3(WN\EVV*_%EE8~d"^n@Y1R.-.m"޵]~{f/f?}J"`\WtxU:1kVHrI+cg._[+?{yImZͷs|_n7'ivBaʻ\Z٤Td5ŢRaPT5%3SgJ >֓KitϚh]`p3[B_HpyF$x2 $Py$E^x e=$ABkn!;$P6im$mm7HHy6<Vŭ~ ݭ#cץCu қ@Bʴ}CʬͽԂCjBb{z>YhqW1$|uA}HwQ Q)es{Hlzy6u;Ɛ8{N!qg^Y@%ї׆A~iu$͐?4 $.?>)h$zN8z qZa$j۷;$jzfc͝ EU2$~}"f@O/$b9H|92ϳ$8M4$F5 $ $HLUϰj ^hTxiH\pރ(fVXğ'Bb7'"H}$FH Z]Xn0?{5oN qu-襈ޔ lBb[D~uԆwC⠨.F.36o_5h׽"]$&lz-s&V5NE-h:~AӪZoX.׊AG'H }5Hp"y$ ~BA>GᖒoD%O%tIE&.#KI$ۓ8D>','ߵI~?ߵH>^o'^'I&JkE_ɯ.uHHL3\97|M%|O=O&1I7a#>ד$N%:O>"QI3`2=|g20Rn$tl#SJ>O%q]$M䳐dyNl@~7!3IB3"Ù{|V=7*ԡv];8,8:'$x̛߽KK]rYoeԐ=Я[eovG.&ЋQ;y"‰Q0~OHLb_/69Cu q1.&N#RcWBn*1goe;eu-|Y%d?C+e-J ++ʸ] -nQIײӕToۣ֫5q7{D$,,/Y Ś)7dS >şxW>DIR\XJix~I]{YqV23Xn{Pw%{ºn[ zbK[R# "~|AӤ\T t +!aX?P?^l%G7m 6 ~M__T})k=`%7JB+ ůok -YցNd#/J? e+|*)S5BIlq^.),`B^ W_;Y̿0,IB_ WiW+C^{i|!KU\U-mlIMX1Cmغ^*$TxjHzZZs0\/cZ[k„-6TFK5.]ms `x^j &[ lu {0? _>/l2k51/1emLw|?JϞ=uCekLX;d-7$5&!Ҽ|,a!Ch2^YgbB刷7 &mQyyq*}s )*vJQ)wl[T1[t*ɹr{.#SC}G<9_yBl/F/ J}a%gw(T*QSAcb PO҅r8Up2k"qTEɲT>rROTG\J R=V6 @A5Ղ 3qz&GW= hI5=SzY _|@`JSx&l)J>? 7ggbܥ-n #n vbFЍTZS㙘Mw8nӃXӯ 7^ƒmɼbZ1o[ ֖yk˼c1o홷[c!Zrq,K9J9K9lJ9lK9J9K9J9p<0j,˹A*5X+]w t[|YjoN__A|Kۏ|YG ߿_,~xd'5ʘWНYj._ʞȾI `1fg71y-'ZFU5w7hϲl} F.ܮΥž;%Y(\"XTDet1E"]L.HS)bt1ER|NI. +N5<]5;vz U [~TK-m?j(v0b>U J B)[g.`ASXT;>ƸEHwuLI#;"wߕP)EBL)b*BRFd"KX%ߕW;16N:s-2_e_ $ğR?! [9qJK8+\<,eϑ$2+ ʭ c))Cˉ;/v2gU`_P T,ː-vx ~ByTKb+%6%OI6dk5/Z{Ix_q彊{C>$ZcLa𿋈ZC@,bD-1Z*V]%/ QޫXSU/w]iԷO|M/y1s]8?d2܆|#1_/Ea^2=}h}e+>Ca^ꣶBx4egr0.*V&i\9[ p]i9+!]9P{4/seڟyN{?]!zmAP ,ttKsioPV)f}>Uݲj5!ou$ ݴh+ngm(,4rkH{|~ 鲱%qm/MS6'-zXi7[@mT)/Φr2,O73*zX,Ic΄TxKلrlfE}^9թcY3jFxHusAo66^Yk}_{9Rh̟?y=Wk%=JjOFDžrBviLgDfh }  8mMNXLk^xUBo wlp< O'ԝ&,FhFu_tP}a]Wc"Q:vs_B-.]Ae5]: &&ہzc}!&Fg*]ǧ^unrwu.6ᴟʷy'wooEW'R_ԏ^c#:jMZ;7\)zSkڿ߯~+?I|)5 $L}IR,ſT?iK|)M"&޳O:RI%O:7>s]V˚v.[eGiMÒaIӰiX4,i4 K%MÒaIӰiX4hV4 +MÊaEӰiX4i4 k5MÚaMӰiX4i4  MÆaCӰi4lh64  MÖaKӰi4li4 [-MÖaKӰi4hv4 ;MÎaGӰi4i4 {=MÞaOӰi4i4 MÁ@pi84h4 ECܜqZ0NKs]~/l]BM _zB؄'RYJvp|S~@/Z\~0'GE#7B=_Iv|caq'1D5w(?=!~Ӯ>匍}wh<E_.= &Ya OV0tnNn+RҰf]Y+?.MǦwC8ţ9㮝 ԖVvԡ nGZ:[jO ;Z>n8a _89$d:86;06loy+a[ jÕ*'Uh±U [Ŧ[5+{8aށ{].:Rnmm K^K9n.`Nmmt>V\0\1rpHmpyD᦮pno;.v gi>q|hvÒr-!!YjCjw\TI`H`H`-V07 {T~m+_1"}yEm{V;M3K},3Մ1Z諽>}ýR|}5y]^^oizYMC 7,H=_IW߿~E_ӳtx= m?j&vΗ0=Zl% @˓C\bU"êC_21EUd.Lǘ6L`.Lo4Ƙ =V0)#7J[ MPD=5G GfSc+Q^HfWe-[Vo>7 cރ#yy:8Fҧ/$T[Z+1R)%nER [K9M)j cH}imVٽJRvG]H}ū'~ c|nDF}[1>5~X`t^x^ RU+Y?H`*+DQ /+.ɤroP(5ATUXJ!neSG;;F=TU U寚_&K:Ly3 PաqTtze~Oz/Fg*V{2TDr*j -# =ac1Z[FefEDp tvQE#IQaJf.>'I)zrLJ8Pq2@ W!RÄ$,7i+L=JJi1Aېekz$m*b"}D@dʑq<MOHP,Af'2b(,]S{JPH =b!]WM"ZTq ZfUmBm#!KRs]~ ,6jjD6N<ΔR] 1IъITJ,>Mv\erP-R/e5`ԯhŨMnM"guRo]VcB٥dd$tʢ3L,E$U RG.͡a9;_H{ /L'Ŀ6SO(AK. zpIXN6o񞵮!.*,kV4gxWVJƵ$H 1|<Q|OUbJEҢ@8IԀ%9Iڋ44N?ߑl\Ҫ2LSfɫ8+(3Ե u 5s%SZZ ? 1'#.9ĈV (…#m\Oigc?)?) Rޚ>G7Xr2z⿴/gfܿ+U^rΗ+՝/U_̗rKfD͗ՙ/>B8JbveQ=`WTT#ڞ%KD0~aw5M{GG`R˖R,ſ, 3 K?=E?i?eK%l)lI-[&˖ՒIlN$GxpK~+\_N_]'͗_ ØE2hbzxso˪/pƖELog4G`tkc[F$7 cհ- _&&I_~%#|B 80G̫o_j 1R'O3֌Ms^sG#;Jڱe|uA@]Wx֞s៓\x9秽kue!w-C* BZ74JaLa- ="2aQ,Muy 돤Ծ ר|z̗G,07q`>1|Ku0wuU{[wBo{mд ŷfm`с1|`؍`>tn >~̇z^]2͟㶃acMLB$sȔkE%M)E&E$$(J}g&22˔yd9y~yk]Zkk ;vB3ՂP$KkzJ$Aid˓P>P`خP(=V-ICw:Ae\UkăP^ц^w(9RbJbȑL"(ydqBW&U#viŽ}Hۉ[:Hh#Օ@ڸ1ލA(,e֯cH½mixqrY>0C r<|VfvU)oӽO/?/H/rԼ;k`Juk`M0ON%Nn:e%"_bK}=*"F>dU``O9Ū+h1oxCLA>Cl{G[bbOsdCmv[ \B2b$]K—,$1yF]F16`qgv@1=2,XL nr-`~*{JxDV8$I ;m ȮYI ?oll 9CC=s #a46 Jyq{r(dks lÑ\퐝'w! ypBȞU"rIQfeS~z %=b"O;Ч覑+S:$voT!t }jހ> bO뎓U Чke}|EgdD0q>)$^OW><:Ďf^>3_ʭϣwMVcp{e:ywm[ MϾWfGb4?k&2H}ç4W Qi&2C:^_;8[tJC dt aR䐅&=5jOň d*V\zi\YiKNR+7wO8@T9M '-ɐ1286-TBnH"TԹ-,,|^ft3w4BlisۻAz&(% &˙䛡0Do SёuAa&>=9(E"rYj:8J|ufѠN(&&[JekuCP*7vev-9V }MTQtp|D<[yokv6uhoA_2.J& m#Nyq&HۄCXa{ڂV!̾TZT7s0;Z##PsEi`sk3z]ݣ#`N/H0Dvl5?!&Yhgw4GN0P; yچ@<#cm<}h͓ Tqwj:8[XJ|~g Ū Y&Bw2w-s6!3cng=ea* CaPKg|}Nı٠<栆bǙ 32Qp Ozx ,2*k!-]_Jv"q2\۵Ck#  !2x$Ì9nr^M8Gn/Iwg6eHo=b)턣;D3;C.-6 !ua35u > y{dBq~ņdA+P>Pr 3o 6ljMj q qoY%6ړRrQc!u2gRi:%d_pq>V˃t2+szU^(#v^icE#DR&pS(sB ǹ `0|ѽk=ץԵ}Y:a(ej,qRZsuh)(9* `de-si .8ŏ]|g3v4&fi֎GZs=Ք;VA tp8{ ,E ,dCf? ;L驼L =;`sL'm0=H5.q>?!AA#)=m F/d+XLҘŌ%vOuٶ1CBuxp8;p99CU(BHuO.q X.p2 NQ(vL@f}"z0d0LbzSQܐAaetp8{ ,E tk uT U{*:]Ɔ:ζ+zHBгHm;%6;TS6I?!qho|[l-[Y w)  B_wWE8ᯀ+ե~ /q+Jpuy!_$ȋC \]Z WbE8ᯀ+ե.q+Jpuy!_$ȋC \]^ WE8ᯀ   φ8D748!8 !xnhqCpCp?D"dB Ỹvd߿]X*,ڷ\YrYs t2浔ުTFF+W HsYV^xg~@oϯI~E3xi]ʖ6gmW:XoAAjNr&G PJ>Kf5FW%12v6271Yn'o?y ?xϳ&غڱ5k~ol bפ'i?RZ~.?Tkہ؈ܚϕ6sՉ-?%F0YL 6FֆƬkqk3?ڒ%Xot4tr\~ﱄ՚V MziQobJ9#=I?Np^CDs{]tg6,[Q\#ѧ3B\NcIwFy~hxaszy_?IT%+c~8x|Wvc%pfʿOxou{YS'ز\WooY90ww~Zz ]Xg5-O~74ĚW  {,\1߷jg-W}U^$3!$xk]?Y_M'X`o~M+GE1kQg{Zed%';u/ 0۟Fbmm5%ĵ%Y)h';$wZaY?qo Z;d?kX֤7R:K(*_;i* 5~+Yy(s[9U <. [/v1ͮefW]Vg0if͵km򳫟_EמO89XMgus?DgE'56ZU!^aNljic:=g ;I5~9vP۲ZnS?b׼YQ׷6滶X!R\ʟUOW?.튷GI$VKIv\bTث?79K;:XU??W+4 |*R_B5//iُ2$7YWOnﲢ}oRkoG(Ih,O^kv5IP؈u\‚"&<%147vE/~'w*Q[z@A;/ߟqKGQǷ=RgU֨@BbC fH~~8?> 8CO!ega20q_Y8ᯌ,LW_d6&q+?= 8s0i[KTE+˅XW@5qNnt RY+?ƒM^qXBk1}q@Q|U4(Mһ /WAQ=M|L+JMC&euݝ51"kb!~JH|]荛"\ͻD \AzHOG΍iIUR nh@qKuݟ l ; /k\9zoB^xH(0ʶ^h5UtZ#;etk١!W5PnSn-!3*¶Ά'>rBL8<' ]Kcrr؉0MQx`8m5B #;$fxBj|Te& J't걟!}֧w!mb#4U1 CVt@ŝ)%@ ޖm#".Zvf=>Rc-CT P2@v>BTdhe PףРTx,菞y8B`@OnHIA!wKV_?ƞI> ^oŎ'Up`43S%lz&SJb i`2B7IK]DY  ëoR. V0w0e XKb6ƀ0)u7,x0 tɤAad? x|gjÛ.9j {3J`-_Dt+ -lRhdvg nXyN*2~o#@c+֠k^S,۾&%t}6O=M2^ug%~0J5F3$6p1#W77vV^Z[J/U4gѸi@u,Q\u-Q\}Z%[W%k]Kq>.Q%k_%kYo&yzX!>*O~uAgTB`H.V/3Vag/4F#wD@M~B{I PAH\&(0ƮJ[c4l{B^/(/ dsnys8ķh' ;Tr>% Λ͐vZnTd&a7\-#̐V(*k;ڝvtQ%01E>Vg A Yp7[Y/Bx&{*Ӗ\W7뺈|)[R|[>c.^A}sg1hz (YUB)_!WYa`Ay"dfv 7nߖa6CN]fEg#s#yM(HD+]lmL7 mJtӧF YǏH7uحl-rX }EA.2pmL*%Ǜ`"zN^t-$HP6-ًЁW㥋AFpp$_ɶȽK,6CC-d +/t\, y _s0ܰKEI O=}*T5KAuvU׸ds9&P^H[0j+QzvP~H4-X%yQV-'4ܶZU~µQ\ŵyI6xseZzfg[NBrj[] e==׮ZyFӳeaV7BEiqrt8_ioq_11w67dWr 7ԄB1HV0\VчBr,X)qs"i\x=XF :)\7 ^v)8fQAL^`BE`$&|Vp$=|҈~32>/dlZ۔\0]~8a}Od#f|e]*{,\6*bg!TսcA1:g}%s,,t7u&=@|/xϭyiY5(ڨ̗E=aƇ6o'ㅴ5AQ{@U (Ywb qR]tgg3D h#n`agKÃK9C! $L`2*r sZ^3ns){|z+Շ{>3PHR0XZ P/6قLw1E ?{j'Q'P-昉+(/U9bI|F6'v}w@8NwӻC S\dT!6 D!HS'poͨ;aw*&dzL~(< q6vAé㠣>~^ ʌFsm&éA :0Îyl@wHfS ZFt]0' 9 :˃>':㶿x9 t *A!$žďmm]! ~[奔6%Y%i_%Y0W<%i]⟖%?yyi7/ {rXi翪q}rc[_ED N4-K'GNG?]v*l\05PEXn֎"A;*>oDwDzi"UTo!~ޛ"Hd6)O#EBce[MwȖ9#* Ìyhbdn{HoDy ud(iV%5t[RV?ߞˉJEbdyN-ly@ny*i{;R7v˽r-rJuUbf+xrMbȽj<- 6.pU..%= fv~rM54^V;)1&)㵊FzE -sm98t8t/i遛>c[Cʈy 8Cb2zw$E3x%#2˒s!q&ߩD֔@Wٷ;B`Kj6ZX]x/$qt_nId u.]IX])XAoKژnsjj`jdhnm>PC6P#hdloX}tPXψ'W'Z6XXrM} B!X;8.xrIלX;Xc~L"T1 RgL R+)/_gZYg-zR0.D7=MT 1K hNBƳ%pݵB*u< ͱ'AeW_DCf uf㪿: hsC ;(0S hbA>>uΛ9#$b4^jo/XAӗ ^R?#E -';\ e ^WvԏG=|oY?Wh<S'!A8 {`=prJz$t| "YmNx{D ;=o05T0d,{7L@k{YVFs ,TɆȷ̥#iFxMulxDXKƂ\.7C0(|]lyz>A.ڱAOLy-[%Frz!ܱ_O2Swq)xȸ]m"Zn >mX#I"9Aii|,J.4HymN1NO=^׃JҚ>70g4 PUG W3n kn`BE0HŴ9|~< |>I?|&*߼O xVA In@1cj"ȧcШ Jdj^i$,1ޭ`^=cP_Թ/jn>tςxd-3)řOZG  C Kp H72ki6EP!ϊP\xTRZkR֥?)6*79x,xEa?A^~O.)E _2ޙRȦZ9^vCh֓E(0*czA7C'@Wd}Wtt&®,uS< td~z2dǾ-Ke)=@d O"p˶=GhAu,]u-]u/]-y+tߵ,%wyyi7"|Z)rC,l.޳:H9y5/uruA'C!. {PI ċ⚐t|r101|U 7|eg.g&Ak-qӏʠ|tBuP6gmd` PbWnWÄcdܿNV*gdSlF+@/ˋAY ʕU뙐vx7"]a1uR5L )Kk2C^mNxmdwC^VJ+Bb44 Q 6'oy(僌DyzϤʰO%w6+!R@oG;Bm*ϘGzA-k.Pk#)FT1 .ln۵[Ix|OiŇ ] 7T'~~^hFj"@ sPnM`^6r\t}G@X @sꁷm7yO j% HAEZA𗫎B_h$v乧BPc]JQM4Pڂo׃pddЃΦ 1^7cNr3IE ֔!C;T 8zcI숤mM{n`)s@QH@xis0eCi47d=L`fUN?1c  !(4a[!$5&]/$> )ۄ3 5.ܨ8uxUҜVqL*g|axxuyX*?A cw}zlC{C~ Xh2L krD$3jۚtjRxxb>x8;{:΅m'/_6,aVZn2D Ybo8&|]MrRݶ9F4A+wJnQ,; ;HPl+R`=!Tn,w:MdC.=짎YM6^GVohX e}|튢+R7cI4c9DXhLAB|+>CۭNJXAX8gB3'.d&Gdm9#l=<1,%]\fIzoZpKE 3]s,||Åt>9*~5){nJNy/5 H}$~7 ۔XŒZ߱{u/L{Rit< of >w [$we9~Y*\ŵQ\'gVyhWU]p ?z#rK6Q!V+3?: 8q{2 i 4a0nYWsrsWq=vR RL + No 얘 ż XmkezFAP.}n >] ..wCV tQwN`)>b1`\ŀ쳣}z̛ h|)zb6 7<:,b+zI[x³Qd93_`xp .U4xvzȶĚ~пA-X$' L vy |OPm#{{0{YBgm`/αكjso,יuMv+֠L;]TEqa~*SW:z?z6R||kųT}sA3p=$GzȿY?Kg?KӾ? KS?uKS?5KS?KS?UKS?KS~YzϬU!_s AGf/H3psuWgzOe dx<1hO)oBt .p&`<.Tu'Fu(C2v̥=L9 t_"?{ Uoܙ~ 1RyZԖ| |xnRlB45)*'gkYΈdI#Se7}tJ`dMaCͯQʑ]f(^U@nYfU2]XLb" hH)τ q*I["IM)4Vsfe^k>}m[\f_d$C\o`8G7zٌH>ؔpNH ';L6ľ;e˴ _Y׀)pNR 7Mhm 7Uͻ>ތo-Լ wO24膒|TH> }gsu4gL3khusK;;HCG*Z>̪_j-nq =V%K}[aэX i>,mzTE,!y VdqJ"dd̶Q7hϊ)f=z[, !vyh9 o5!~8HHq@k$\1yH@NT ZR-!cYF zO 3cn9y֏ݵhu[qa.d Ū(;dIIrՏIo @b1{~gu#[eg,e@~% AER^ 4ntT"uԄ!i/h.%y@ͣc軺xЕ%,@I| k$ވ'i@Ծq-͉$`F^V">ߣF:>o .VHԂ 0uR;FąQ*Kg7{G'qRL[@dgց'j$9S_ڭv3<1հdQ QRsZ(wHYD R#G@# ߭a03 lrl3(/t% XQ *3aRӀnoV}wpCк(Q$#Rv/^}GʿnNS'z[6okpw/\A Cڗe q \ŵQ\'ǰVO*<\p^b0sXuwN=pQjP{,=xUU3lڥY0gR@bM9r|nv{O*ԕ7Cp+kQk_6бeay#ApW S% )Ɛ>Cj Lx=[yXWB׽ <R/B{zezlAkc!ҽ&Wy_C.{x+r/ƧzV~c.,G!~w%F$`mJe>xC`[^!P7oO/-΃JoEPyU(1 T:{* qp`m*rԠT=:Tn2"3/c Jm: l`vj?gMƷ3~6uBLq\cd[)wuf`dב-6`{X+XDXVFr|V0B@W f޻( vz:PVϥ('A9כJP.$i#({׳883,FFNY-d%n~l;i&N 8uTAߗߪRm񜊁iC "C2J)FriUOU*Hz+OuP3{]@+3="YXK]AĩV/?}EߺޟaA\xɌGG%7 l^ r^ǟUp>So {"A,H'FvKDy"b7xrr8oqeU ]v=,E2g3N>GOhF9O5k#[?%ȇ1Ĉ蕶C|}9cN'`9iw%IxtSK}{x\kea`Ț hY4וG;_zQǬokzHF櫿Z!/Q^Of6O0i\|b/qQtuAYcCU$ eK|7f`y<9 5. B uHJ' *ߨNP4^n/ŶpmFqmk?o/ jEt[!҂b{ȮbRf,!lgh+p  68X0@<Hjd6Nx݃+s{zI e ]ײ=GoC|E!w" s$7y3xk{{0@P@>\/ PUhpClÀV{׆0 8jCR'i\F~̾XKbhVUV3P5!է|j'5nj| vpc'<@BjRPs-:d yxoztԈk5J@uD_s4St1㋷Ljlb#2Uz$B*nB9F<#j1`ao%JdYQٹdw*F`e.?qUUF*N ӂa7ހ*90Bt)ypazWoy KU+iA=7@;@ F&PiP8ډt"6suIύCЂ. mh N^sQj@-ɻAf-uW@^ʾ;A&O{|vv{B#CA'o0f`?CDG >Ȁ!km+ {P㥀ۇ0k2cQ0we\i q2̓C:'08ѪrMvj+ 4j*s+OH ߀T늨hOhWѬ%i[⟶%i_%i_%i_%rŗl_%i_%i[⟶%i[⟶oh֯5儻ww 2jeAIfPj>D~gw(C^UeBYm,&CY$H-5Vyك3Mt~6 %؃Z]Q!C6#;xXLMװ^guO{(?V%{y vρ4eaCUIz(Zr,V䀹o-xdG1+ǿͺ?C|" |9̿L7P{[K=Bû'f \\ MGgmCuIFA=[d%޽! @>3pЦ,@ p%7t°T#Uh֯v,%?`]_IVTN(ߝ|w&߯%(-ndhlȻtHҟJoR}OfR]'HE}z'd:3sE aNųޛ". LeBOh/&~BǏȹ88SmLJ|UcA e(6Bx?!*ll.{"_9x!g(T$ yÃ{k]"S ,u u6v#]HR̊^4lZ*z\8#Ȉ˨Ai_xD#TngZQjBB0)|9Y H vWBCoMo%) @P}:rn{4R1#jKO E7A؇6vPj3 ak|A xN {kp0NO$K% EnȾs2xA{(1HB'%dp˩!crsǙM d{%[ܞ=%q{JIE|{O>n1hb[ ܃[;vʯAkoj] }1uB :5} Ԁ>tC[9?BO+{{OpzX*:_}zÔtPZKU^Vy rR2n#ػ9> :.z^1J}c Xhh]j_F Ұ]a藣C 4I*⦾yo}C6TnoP[#+)`dgCG8|&yt\RU;n6jR=<"8@ lY!qmd$!Z-"ހJ`dm :ps\f6U^ZUJ ^CԎ!+$$SĜznA')3]g7,AVf) g>nE)vK:hA*u3-Lw kFH}hӯ 7ߠ if#/ eB,A[[a@\ (M~dzU <) 2PA*iFs/B=xE6$_Fr=H>*FYà5xRܷ^yM_-DLC7뇚li%mRgsG^β*h{h>G Jq3ᮿ$L` +Uց]܊NPfWˈz x5?ȩB>n;Hw{ '+"zJħ ?3#<Ĵ!r|o̫ qD.( @N?im8!Rs%;G_;n /PP:=.5cJR)p K9R,d zwםƮgoǒCY,ɆW~cXrX*W.Ks\hk-d\ӽxkg2#itp:iStm=[ܯ;[qI18כmhd[| /٬$hNsزK._sGKm|uUҍ^jqĺ' }R<,Sżo2m3 bY!`}<ڟȌ|܈؉P$G( f #I_UAIjᭉ,StAvN$c>f%&'K7`'VL p FݩVInn6}V뷛⻯n+88=}#!7 +̓~A>!зvXKUX_P0u )WCw'P!Ja(bm^7Fx@ Hf Enr( MkK(Til@ɭV _81cBl/9͡Pm@UG(,yjQt9zI>w 9?3limT (t+8;Q9֊b=!kPȓ"gF5Kq0Qd;bHD.K=L|z,sP\ A/gGKڟ% U擩1A̠ ޫxLC.Z^S:jPrPHr=*K{Ꮉ+yI pM`) ":(~6~j|9(bm兖۴CJdj3z>0։ֳEdԝ8('%wGۃ)Ӈ B!~f^KytQ >w1sIvըF|tZɨz&͑?h%GӋ,$fG'v`P;pգ@,/?s{9 |Wޣr=:)?Nse4'OmX7"f{=Z?u mgL!nnxZ_ ,x]_j^@)ƞ=TPHQeH=nnVCQPw}/v9)^P4J Ag3. Nu!Q(pzVPc8&fJ%(@jV;PI F.[ JKCiYPzǼ_"W:kjMCWV喜>x (J/ '\J9pC(me?k=uđ(Y,# 5whl:PKaݠD9 z(Ej-(=MqZUE9![G/` HGQ}u.*J: }MT~g͉"(2JRZ]PMM>ziFy4s1_Ra{osz|]J]+m/g갇 #:aJxJ fjgR աEs:(gBf(]Rkhe无Qgx(f"xJ?JHxCOUl.Tv́rܳ)Xzg h~mi2_ "Px@9jT| ק9{PfkxPfC[z (rC(C*w5`LԨt;$mg0Sz.? īExJ)s_2Y:[CvcoS~"NɎ=?<@. /L7@y- pl& =bXCPng4(GԸoZMsm{ZtCɝGFڛK{4JsTP܌U;(z@4/{RcI:_ /aPbYHJ7s@jAJP℮L(%"G2PKiQ(rhC;R9xJ/㺨ZoSj?% Қ% iP$8$9.:+ jPD/LʜԠyo_@Z;2CZoeGZMlgxIV';?#ǣN"Ω_HB6rbHv!m.u.NRH[Ÿ t1 I}tlH3tJkfBU?#}Ir9o~C+睤-H)\ǑRҮ.i? {ÑHS*)U  X|~u">iK ArҶ3dica ilU^ti#{2ȅ"A&A֞$Ae.۠HvYM7&p3X,0E19\Cw d\ʕL@ں Ϸ!m]fWQvQ҆ l%8zNq"mA'Svp4&fi֎GZs=Ք;VA Hۺ69g }RhqD2 DZ\OG 2اv]B z#2瑎w7(w S6`i$wWv.&~;żS^Wsi;x/ږgiq^/{ih2CicT^E6y7G!m:[>#m_FEREB셷 mĄ"7*P9|Ӆvڃ9dzI1&8pX#NC>pUCǟ~A[>f'H%N8bz+zSvY]I=gųDyD,zT8plfqiϔҩ i"2Vg}צ#~΄!ݦ>5i "mm]wWk5{ZxƸ#m^=&}2BKɌv<8Iz ۦ֯cYx!muϟC-vdb>UJxG̐]lאvyKNՓЧHW_!XP~~~(;ҹiC]>wp_{iY`N 10APo&fTDgÞ$ql*lf1WZ-4Po(bÞW`ѮP9"-JCHVbQF00<f ٺrfwu0,R\3{̶9^_ne{!"`iJbњA|dMsOB:H ɰ-5>w :&xR.I;Dv7Qxͬ~eo$Sٙ-2 |ig1vv} I-N&`Cki43H7dʭrfm f<g™fL_Ķ|y*`П~E}%\Oy=֯ә^jj7/Yˍ`mrz=`!pԚGQ)1rRC1Ns^D1y'W<,+.bE$EsLg)]a>10'y$ .x(9f 89%kn0;Z#sj9 v[g*ِ]l=QAR`v|I05=Bɹp\| f 7A9|Nm$\I`v!.~ޠzQ8^s ϕپJE<YǺGN)_9vo_U !;%\r0gzk0-of]anɁVzG"FvRirR}JwC:__tiC qD HX~v\!C_!&%Iܶy`p:-y=D̛7wj0~"m0WDs_Ξcmρ4yơ(Ϟ^m/d{*j{%9>+{h:T;G\I;"3r;'Xbmؓ FG|0,D|߸ry%ze75-6峅}I질IMlV J0sJ}#}|>E}A|.ϐEY]S]W>Tth|rBe/HT7ևD<{\!1gp#g(iH=ԸdH)^KW7_.x-ǐ?Z .WDpn՗ BlMg+\`,7a F3Yr8 [<нo Wrq-W=Rix' hk֯_BBfL_# {8:UA"g孛@wC),!IBՐ8$U}4 雄2Eې E@R%8Ɏ@2 ei[wIzl_)~}w*!f4#5iyVM?x%!{E yК' 6w;6 x*dCLw4獜r$cp} HJϣiaѶ ,L>fBې:-V_nE {IP(3 ӻ2s]So~ 5-B-uM1|xjJ«;P_y`U<^pZk{]Cs QS ;NHV&J.Gxm;#(A.Z`Č]N~ b>WnrG;oS&4~SBH[%jhc i%T]㭁뤅ފ!.>TkBLCp)~;!TsgE޹Wu¬,$$n'@C”`^'T#OUeO7 J0>?1۳)3B1s?+b:>lgTeTJw FიٚhT+@e>Yh9u2x!q(rc![MfU/*ouӶ4'kFQ}cW[0*O=^%Qz=d:c@1N~ti@vPQ R,@N1+݀2g߇ǦAvqT>r7o63l#{ (d^G#̳5V,وIsbuh.lJ [m]T/= ]lF (ͼxʯ dS[$ŷ4y:6шRڄΚ7 V-1QJ^:ٷ>3zxaqې}ǝ;=J _ޏ(>K QHlqR l}ro_ )r=^_%5 (1ng7l _$Py?%TZȢO~JȪ [aӊ>f߾ټ|eBY #S~z 4+3㭻h!{RWv~B<$3r.n"eKQ~s [wC2OAM@ydr؊rPGmw8{6@NAF iٹmȕ>Е~'y(~足>yxɾ(2"cP9r}%X_w(է:4O:On?vFe<8^7/;REl/ٷP<}E%[Q<WߎiCnzA}>ۂl!lA1)ɹ,_p?7yX;\[K8~5)0x92t|}(kӢxG yit7Q 4@"wU,q"v0xyQ4}V> ,>QAϯ3Db3''{NȮʝQiki i*| qH`=-E^ gAl)TO:I~Wnw>hC("3vI EgQtz3m~<b{8&pP^6{t0-hv_/ԟںȸC}y-^(~|zZFw='^/|"b*'?>zn܂PNN*(*٢׫(ȼKAa2f1y{:.1ET>`LYĉ58Cɢ.2"& 7A1p!0n3pksPCI͚ruEZ߹;Q;~ abrZVJG1vuG{ *S06N85pݾO2ƌA߽)@_Ygl @_^v"K}7ƴv0'|MfG+BAM3kAwOU'+7)A|u1>C?N5IMf>Ç i(/Dy.]> ֲqBT}"g"[Clk?ϰ>I^9(oxi br8Yŀ.z &\}b,Ϯ ϳb!˦ !~p>W=2FKx 2\ځ_]2Qxޭ1lf%V2|cq,O2*x2=VD^s(Zt~.ώ4, ^Aג!uRcȨXפ"2L/C9o$Ht {u@ lЪ<wx@Ӻϥ܁ ^ !4sWջ{C> d'B2tTA<끻n~.>Ey8Or -hgg).b+4)*[<+ŪrJFy;V)\y'V}]2d@s20r") Ub.ANSoP=Fn`kL/,OCƽ'g6o^ԗ/?jbfnyF*rO }VH9; cN `t28ˡ]Bءqp dkxX)o=JG C%*5^=>rBPѤ*6(0@p牼!n vcē!CQo|{j.ڏѓt5$0%RCQU]P}]ICQ85Fϰ0Ԏ/(%_M1˂n]^tU~`5#({!DmwkurGscPqDh 3Za#C*d6rk2x=k',D*ޮ0Q;8KZw |mh{2 NQ(vL@f}"z0j]L2{*jr-摻!S7yM([ ] g]ҿa^tgヨyhA~$^)IV=I7,)9s^ʹ(Rv#&ҋ܃<8.wҿiy@bLkQ{%X- ;dN:хSnz#sUG˨kPQص͹;{A U~^T?!mۦC;AW^7JAVGbDnfOYnMnaR dt %"2WW޵n-+4=^ҚEX3A;7>6O3 !t¥rޢSzebש] (vF nwh:vȠ[1g܁YDowJ@8ek: ӹ CqŊNlFp=ԩ#uf5wNQK\9R?ngnJ!H 63N~M,b RRpRgn= Zgô#9 XP-w|=99T UdȽ@} kC.n ]W|<M]{$u)Ho:"u] uSn#@ꉯ>SboT`ANyӅԳox5g68kOϕshBM换:x >3܍Qm&(hՂg";$["Ґu >H]zLTnI3G"T\F2DG,j䖭n/IToݚyhzT jO"?R'8r! ; 9C"#cSM-OP';8զG|HDtOg+ڎW0#uu6M^H%~BvFNHm]t1va&\ RGx?MG>㬃TP=(ЊW"uuţɑ:sײu>Y͠/ȁm'D55+sO!eiae5S ~J޴ E6tƑ:ӏ0HkHMgd l\7Q@;gD,,OA.Jl4X;$H%YπX-A<@ 7ZYA4h}v=:^# g=*?*ϑ:Uq`\K^4L6&$.jQ}~~L6?|3֤ТSX0'S6cIvѨ\~IKn#U:-;lhjP练ßMyaؔ*8pfe !RX1IW磱zH|4VߎnAIN `qf ͵Uw}>x;-h=H9|T7ũ}`ȋI0aС4̰fWxtіzӓ&?`h`0qm&ƾ-8]}{y8֭鹉lh]\e]-weܝޖh %/ f?v]1rٺ;BFkDq2ۖ,Oo[)v=h~_U;ƫ0dpʒ0~ʪpbBǑ%J 5%M';-pDaZh BՃs]qm,k_Oz;y0c`|y[`gcc~D%#oH|2W;[WE46MY/}_ŋ񄺟qsFd@~/oMN,[ <{+x cW SON_eZiXkE)K=C~6#h>u6g7(' |xVuh.9ೋ /w!g&J?hϾ8_,m::/g)Xmvo,|Ei` M@CFlتt}`+o=x#-4} U^6'  b}882-$=p$E4p|uŧq3Heak />J &@ӾA31\AhzpG09,`3똜 gB<m?@k?[~ߙ_״q4emVmsxq5@PSXI)Pm Gt(ظzKN}StMj?=~nQ&%بBuwC}Q}?n̺|qd{~h/~b3ʐs:y}S$XԈu$ q`{eVk/0= X=G6Xǃ[|npt~D|z+wnvlpy86ljЌI3٘4?NF;>d'vh߂&>خ ܬ@o? }#~ G[j U<85kB6~D ّCއpM6#pZ`3vqŒ+f0すΘ鎙ޘ<`0̄`&3Q ~.$&S033133\,̬̤cf3fcf7fpA1s3(f`&t t+njn|]XXoO>XAa"XNtKZN";$d#%fKˌK =L V3niX| >wKqVp[9Ro"SZܪ1ҥ{~P1Lit?giy>$r!4sDi(}%y?Ï5/oW,OjQϬjTJ=ԓlh4v~xOV VR6:3Y/y5ME pË pJYAd$`(:q-h$%?umà q,.{+Z.p8"RVr)πjHW:=|נ\υ*{1բ?8x[҂#+;0c  0H g Hഇe~=D]%m!LN#*jlWX]_Jx%]aW;GvsAWQ]}1~u+JlG \iH7lH7YUr֤ n X\l`2^놩;N"mp.R'A+vq rOt%NB^_QVs*ˆJwEM;(ղ9AI[ 86Ńoby@ {` Mn?GڨZIꜮCm^'U3}`Lڨ쐗X< BK΋: %mԡYp Т_򫌷<-Q CKV~-ۖS4 $mP{\1-lO%ӁM9$̧)'y `(c6? 7OCm#`ǐ^ ;!Ѿ%Was7~Ze|%ې6:@1x“=08;.xΗfwcv0v؛igJӫ6,F/FYf^O@k,iUqc`GU#Q c( vV[Y#efcf}<2_"ˣ~*N%ىJٸ2q*ʘG%D|KʱʩQ0)j ׹T [*dU҉UY5^RY#J IxIN!`>/>#gy l8qROME~$m0PU\kTtáFgFlOOE@Ѭ>_%@3zr4ڈvxi2D/ Y/ +Pq_s%gQNϻ}ĂO᠍-5t JWtWvC}Ӡ"pTpyI~~tߧ= Zm·}55 4~ʠ 9eCiz?m>*yQj [*k PfX4~锡`T7jk՘Co1@ux~q ~v$k3 i\H 3eO'l]MOTWWxVD8RK/$ a{@–m<xOƗZ6T<8l 'ev-lj '*_ΆecdcZs"{%{JUKտyxe oH\}6/xM+'b9, ' NܘP{d3.}3 1K9SDW)y!SɉwǺ8[4.~ i>oV v}zou2GQ<ZhŜinU?cܫ-9ho^@cxu*;rn7lЧn~Wp4,/Jl++i~+ƫ_hU_iiiS4^_ ]PY.5vO z@+}µ6ujxn`$9~ /d UTe۩MH+dBceP+[>G6Sr4LGj'_ׯKyǓ]@i2Wo 鱴zWE[UQ?חoG)J,?P Vc_~sU%DZ bcƗtb!%D86D3"\0FK,D .#~ DtjZlnOYdɲҗ(~X 3m1c:}q +]6Nn ~4]>oŽJs/+~qr䶢<-I͟KB `2!U$-)+A`hTS0 ϨHh)x=gܷCpV&R-;^o뫖~5W[h'>ןw4Ŏ K gņlX1Ki~42~▯+0:($0GACszByClUMB'9Bؑ(Q4'JJVF򈬁h*q2HOHlB :J%u+L(IdD?I!¨,MԟfruDq 7hu6zvҚ4C_7ZfDkn/Ċ"1z)ٞ%PbCTKT+8!z"q_^iSڊݽFyz?S=mDsj2HOX>bI&6*jRWCA@r`¿oP$;P؞kCL4b"PPڋpԋ->c XJ꼶F{|oxӌ| ||||C||G|||7||MFdmZT}1܅ ┣ZhR 3a֕0'#|QVe!E6Jf?>ĭJ{(;#qMH(X[x\@OFR|T|9_|kɗJkkYz˗kuQc9Q$5>K$Г*=Uև̣ b #9)Փ8vޔF_dg7ogNk<\ 9` ,Ic8ɦ&}l\bDtR4B>gQo|փOc:]7(Hެj uyG&ܳ[ '+&Z-6[JPȉV |v">{ϑ&=Hѕh9vTz՚˪_ZHSƊC "\6먐+8B3'8L,dNɪXM@޳&Ħ0]̑Pj," 9U=fHr䡉C;& sIV.U`tT,C*V^00;9"0&Xm|" ipt8t1K%';Nm (h*ZUcq7؟RB :E FFW^G,Ml9WXe"nqZ!QFy9FP1*J%d+= 1] _!nV9q s%ǻп,2K5JEGcCC9lrC@?Bě `GSF$&I{wKX)4Ycm 7uY,HT7Wbe[+/YRUf'U?is~lBVYO>Wц?GtA: 6.W /$V*VܣHoG,&]ɪ_*E Bم:*$|?"ecj"E?Y ;("-O[.2$R%H%-'odHzKQ] D.(V$->ڕrb#*M c)Q k D$+?I-T%{ʪHUCV qS{*V$A$"+QT(*0 v< om>owR}-h:@ r/0 $! ?ua߬Zͦ4ɷLyc.d~ =rٛo4[^6CiB^OBY'+Wd@^sMC w\-C,à ~7<'}7Aހk{A^tOC~BfTgAL5[ o"w oih3X;~Sok y'8c1Rً7y׻1>kǺ,ƏܕࢶZ#-~=015:dV8-(W)_Eԯ7rlxXk99`gN y֤W ɟԱ'ӿSp<+O wȯ*ȗH_ǛI#]G!\"eoHoH5~)7ߔ{g?CԷמ["FݘFu$lbh"h"ܟO&lN'6HD%Dk!u_'F$NgQ[>\BsGt#Gg+OJ1݉%l$(a׈$lw_O߉3'Y=U}ȣ2M.Kܨ+G/:ǔG%5OFHq`2F"įWԬ/cG@n߳>"P;A7SW@Ëw9 , Le- =L5\{,($x24m$ydan*?2E@i&CJ`5t<=APd$~~f|2yu!燨?M7*^@NVcʹ0+ڠ۽!hv0xcjh= h2훡kTdt/;66ʅƃ"5xC}ý{uX~ёTX G֋7K?r~ !U-xAoCPc|T]bZ,_O c.pϛ_Aǒe{'b(DM_8gxE`=_cj{NXnCIfabw޵=2xOY[:"f1~L=h ݎsnb:7Ƈf^fSPE߰2-Awns6ALK Kgqw!Dۥ9"hȞSvQ9aZ-B#2ieQA3Z//[[^@S!ed fj˵߫.Zúk:B DT%hIj:~^e>*QQHb00ʉA1{lF"L+[fyel?ʋPD-YMZWJ]P9)++Rhϓ"4iyPGTQe8//MάR5I4Ո_'JDT2OiQvE$uVVb o^1PI PMUfP~C^!ev mu:B+,R)N@9zZ_ײF$k8GmQv WDHR`ʼnO ҐsNY,?`iPq0&~?W,2 #a/@й/0r@ *MO=!F[&YNaGI"`~SZih!d2M"ib>}G%C#^J&:j[N41KĘ]2MՑ%RL_!]ꗖ_*L ek* T&T:W41bHYDL3R3 z dWdW41A$#,=ibAeU &fCn nw!ٜ^yrȫ~!7)7eme. Nۿr}~~vςܰ7 C߷iK?[\3 r9OcY%g@#;.Ycn@^ Ɨ!ϔ߬t3Veot.}ܹG2!Ou{sZ#!2yb;4&q!O}'!oAxeA޲ΗҪp(N!o~ěX'^v5NK;;<}1e ;5-dܣYACn,F{ڬ =V=JWA/zrg)}/ FySܭ7@ qh Z !}e׸X;X2gOn{FymU&f&f&f&f =Ls=41#q&zdLGLG#!LGFCYɾߨYdS񿣉?0& A&tBc}=HqHmQ4\-?s<"DtFAG= Bdn,]Ui!|퟈~M7 1uapߕ"w?/C`[\{;#}MoXqPcT.]D[7L,A(0aiK =7zW>bA埸7@$zBZI1W@Ц+6 l =#AF1|F7.#QwK JllB*߫CP3rYrhA=_]Un"h:6꺮k?Z !Ce3g>ywƙVFjb>lJ.h@-.#d[1Pڽ_AȹڑX=ZN꣐B1Y0{?|@#?}suh;6ֻ-.x&m4mPps1c]TO= '}IAM9܁@3ۙU_cT)s.wŒ0x<1OW4AՌF`3#cI@F'_!¬TN,=s295Pi<6SS1_2޶}1@y1!PN{?t![5ؼ[GXs],41l_&源k&Ԛ cFjS Oi&qn='A K)F#=CKPFc[SiӈL/gTNAբIsܑbV/ DĎ V=6NJQiaxuFd)U$MR5h8Z<zU_=} OWAKfFqC-:!FRF4^ѯNBlFbDwC+%ܲ+ۻ={7WM}֯^K:I_ՑW l_W A'ӯկ^!K:cӀ"#ceYymaLE!>Q&D'E @W?˳fTSu ˧y>)sڴ.^N6 HR2*ʓF-eLߊX.:.:.:Sy!;%?!'u@C6'6Wtp,UpgUO/m|aJ7$ a{@OA_mIyIc𵅫m<xOƗZ6H{pS&>ES%iY(Tb%)FY̨REu'GOx COwJ~淞40* mԎl{sΒpfYC2鎓阕8AYzr&om,9umqO b5NzCw{t fs20 Zkw,)1ڡ>On3֢;U.:|ٹ?RV]}MGxog*45mBeC؃5QBR'hQ.]:6J*؏K_>x5>|UԤ?;PGSZ¦MƬ蘊ئ[jnyVp"{p&3_mST6:=9wD/U;ٻ1yd 6|!ԎYQNok 5} A6OtV~4ߘkBIm޶{2Kv5Ce CK6M(oJg)?z팖k8 Eoo#8B8xj~FPI$ES}L&(DGb*^r*0D;E?Oɖ/QR!1db(gb8M1ȪxtG,O_>Y<' [JEݛtݒB-`H!W)V'+=N A/!zq_'zHUv9]?3g3EJPCTwLQLLYyr.yk,'d I0Ac#rլoѐ+*j@5֖[JtJ\w.;@@8yZ'w.T+(uu9jZ_>a\2+K/c&?X7q&?8͐: fLȯf1_Ə5L ?W߰~p+[7yoҫo㋿FbɏF}ׅXb!]~|lk!^"l,!Ce ޿u &m8-0c;8a3nLgt 3>G03 3Ήp0' c1ɘ٘bff+03ٌٍa 39K<< ~Jf>b f#]c`$&S 3+/ 6A- |at 6s`t+_F^hhhhhh*_ZB      zWI^0/SXtPlkI&m''ɍ()ɭ)=*fA]9s]Bx* 7"Mo/{M^իޗo/ߎ_E!-ԬܿZ.-QOo( UB:mrJ+k.ו']~Rrm^щl^ndV;IH9$wEU{CEo6Sd)fl3E"Lm6Sd)U"^xbxbh:*y}YU_["ܲGbr{v\~f B݁j݁csU\]ĆEsܹ41[ᮋݨG݈x% Aa"XNtKZN";$d#%fKˌK:|JxO3niX| >wKqVp[9*I[u:=ZZy*=),-χ[V.Df( $GzVe!_,OjQϬjTJ=ԓlhU`֯ dW?:JFf5E?&I:NWttxQQI/+ȟdCJnF}%)hԘ?W x+Z.ije/*VHi;ZYziYK} ˅J\_-ދӊ%-80# ?V@!-[[I Xِ8-qV)N{(Qh8z<$%4pkq[HE,j)ӈJ>uW^IW#kΑ]mcǁ6șo?dQ7h?8wn8n e??a?\ҥR2_ٹ5/59\OmCݭE|HȞzd\e[t*Ӛ=Z8u7r?6WulʗnE<[n墷UƇ7-Q/C4m>VĒ2?:<~#i#Yr5&>18Nϣac>>;c6A°affaߟCMim" V+h**<2V6E#oSak-Z7Ky/Q\ũDWYb8;1UIRT2UFC"2]e4PRXȞOu\9V95j0ET:*aWlQ#JQ:#kOk%kF`RS^9> 3u b"cV%PO⠡#!VPvp"@L:tiL`|N4ֵZƅaWӍj-6QDŽ܀=Y\mY'K--p6I [(\m+K~2EbKv(l] dcZpJ!lXr8V\૱"Pxh9T/?'yGXxo؎rS.H(3r\; ÎaGᰣpQ8(v; ÞaOᰧpS8){ =ÞaOpp8P8( Á@pp8P8)G #ÑHpp8R8)' ÉDpp8Q8(N' ÙLpp8S8)g 3ÙLppP8\(. ÅBppP8\)W +ÕJppR8\)$i+t! V>!D=-2?,"QjR хtFGD7bX!UtDL`L";"&$0EpجQlQ,)K-.ƷJ=PQ6}-9/Ux Iّ}鋣C"Uٗ\L[AEw4x#ܥON1K^cƽM}ϳ >Z+/m=l6|?V $^XX: Z5zxs+E^^Q*/}aOG}6fM==af9zә\OCӲX8Ǝqvp*mg##Da&XpY"\"0GԾt7OV'd2e/Qlfb, x!ujQ+@5zjW;Svo !쨤?纼]dm. GMn~ӒVnKB `2!U$-*A`hTS0 Hh)x=~%^pR~nEbcAzZU?F񏺾W~5Q[mrz՛|WIzrSN|R V4V;&,1OaY, vJ۹'zb+,+nJB+ha%uU h"[aJjBV&dqrZQDv;A,X.:=Jz\( kZ:ƹ&O6{Aԇxa`C :?'OcQNPҜT4XD"(H!HGA"#HăHdPҺFKk]h+1ЎQB^I3$ ͎I!5S`bOAحW8Pu5*qqj`W!Bø.Ȼ>47sU!=$VE$Hx#DKc}9aeD O +Q f)4ˠӌ̡T2^W<$kDFt"t;Jj/g_gLpj}VIo7jG),I>D 5zzsu)jFĊQ_I L)C 1iiيQYb%.= \?DKK-r'G96[_<Ⱥk43ukvI49@6)D,֚dbr_( u%9D^$ &EHz]XO*Z;iJ^-CrxpZg &: <ϭ-NlsVfxS ׭2DΎ(G:HnĐf%9Uk#1H!G ܅ %.L2Y )V $&Rs$T4<R]iΤiHrN"BpjL '(ɴ0:# S+$i'=v`x>sp7b*bI!R-r"ٴ唳 H=; |GT'Rw ^M .eD ",v>*]-RrBB&Г8WyPrmhDvSM$g8#)gp%4K`#_C#k䣁c}#{]Ci#xcu#tÓR#kZ:.Tbgᢅ KyB"k. a/ow2[fI6'nUv ?dAMT7h|J=j|J˥o[KVzt[\K৺䐌%CTq:گ ?%T!SgI`P$ v4aǏE*ԓL PH. 1Y: iCh;[ta<:FŠ"tZf3oLXF>`k '=䕤 'ܴ4, #'Zs#TQbe"Z6Z pHiCw+#}'ZRHK2x8-UG?IlK1JB%ĆFDIĻ" ;f\;9"6Cd&'.%bpıkحihP <)p9OAߐ뎇ӎ*^=;]V\ċU[1V0<Rqoqeͭd`6SQ_ IQD0T5ތҚ1){Қ*UAiϕӻ\FEyHc!LߊTpJXH R[퓅}!=|W ?ȍ"ҏ$ D%DpLFO]ϓ<%9"V _R"}o&ގw!ls|D!QB"!QD5"|S"\Qb"_{ovpkvc"בIzƊ|p"<9D8L^"}ח ;(9Ag8A!D}l p MIЍ(şD<ɿn*av'"^Mg^#"ޒ |= 'ΜHgM|V盗# )eNpD|aJ7$ a{@–=T Wx2 𒟌/m|:t'Vp:.yH3J|%F((I1bFE̐gh/ ?9GŇ{sǣkY>}7.PC} ^m7L?eYPG{R >ḋQMVVW"ٰ!mͨjht^Ow؜2.ljrˢg(j|3Kh n۾ ԸEjݨqӹrPӖfhh@vB!#z JGO 笶DF~T \-1]~_F<.a2eQ~irxm{Q{_ 53F=஀d{NgU84d=8]4OGᙐcݓ& upw9SwS~Ӄs߁KbM0KH%1"(S3ZBH')ܛɱ<'",:Q) |P/". DDh6"VuR!1#,QLЙNFS%#RG8 uaK|^{>[RLa^19WVڝ+oUJbAAJ).!NY*ED\Bl!n bvƣgRp)N[v#*}vnCB(ەb(?ٖk#p&;+="p=zB˟LOMxOQJX@9,!0$BxyXÉ#+*6.Q aZȮ&WrccbvBD2mHR(I0 11a$ i·ʝt5PAD78 bɣuݩ7F/VKȡ$w$XJfaD!ǫJ| jEtEG3ͣPЏk&mEBI?O$w}ð4rߤP22p'<+|$nD29S阸بQ"b_D"GS貑}4ZI6t-fomXhÀdž' j n1maw%]K7A,ẁ'3?Yv5ۜ˚m~(eRϵOF>G$w(l0"dq/TK_Lm'KNjߦ jtvKGS5ڽZw6VSځ7ycΘw|bMOKyr [m8CG*s޶6CM8Ps8?om*ܛ3HےZjm>lQ i3X|ɉ C[s9oewh5C^þ̳wꝛC^G S)]Fo0Sw?v=jZo Mc|Mo~}]P_gso?);~!~kqa_ U-nKwg37&w·g?od-r_Nœv7(J&gŽ(ܭ\C3K.5|Ľ xesseHVpvt;n/ !8mG[ߏHO##RʃՃc١?Sc2>nDPy/xܑ=R{W?8ޙN= |8pbcY9l WŞ3ڪ/*KǕh@Ǝ}OK4Ho mpt*h7\ΐo{L~A?%'<i<  Ku {s}q8~&e]rcK ]hC6<V Rz_Xf~z}Q#?hP+^wq[SH~;Pis|+' Q]np+PcW#=Bg 9P{oc!#}]nj!#|PEC['_6N8Ci4;nUd%(z'W pd14v}ZaR(u-ӂ?݃|PFw? ?>{9_ng7 XL'}Z:gkӢl(أſz5]8ƻFO(s՟f֟yW'elcDn>J55R8;lGYu{Ys bCqZ']&g|OWGv} ƴ~rb]=v7El^Zx\0 ܚ y *kjRv`MwtHןkGw~MgvQ_?DIܿ1o !r"5ºny9l:Cťs4}owh a̽χ J W.7nV{~ڽ Z`sޚ`5MI:{y~uf5>g55_#G;?kvoBG˩/(ܮs;PkOj9MS0ˏ+|箮Eq-*2j{]t*z;>&p\z 5,]rj@An~Ƶûk+T__6<2p$D8=+ ~N\{0XV/b 3Az5eMq -ɟln Ÿdu۬wX=,,UݖWoھΙB9xdvy#Ԡ1־wMYڛ ޛxk\w'H0]9iMixoWǹ T)-^ C{CsmߌELqm;km ;,c%VR2?uBu,Uw i ?eI7ľ—_78 3Ofutq [:1rѩhl4>c hu+llb5j⠧zv6j@TѷסQcWGշ ?_1( [_OxK=#Tعsܾ%K\vEΩبsw\ﮡA%A[6M͵7["P{[ex?8d}z|ʽZxt1=d$,d"wh(UG=nJe-} g{,ׂ >okþt|ڐ ]<ƃ»Zr|}õ7K1Agu׏o/Y/~^pd>xod}r^3_ nʆiM}Gh^?ۯq2R_|磭g]+K#;=:}/wzmUƖo/_8m4dK1M<;\: d:6;Dioݧw ,hސ`S!k[b_ fw㿳 q R/:hpn^0(Mlyj0]3n>;_v,lՎ>AwM wpu5=h:Of71n~ rl>˶J EZ5⫯tyjǢ҃c"n[ hPǬ2&>rӤ {UȰoԻ 2d 7+ h*Oy}6Tx(u|xDYLy Nvnn;i0[5p?=zPnCj<9-=6MZP{99\[r4/XnK'n&Y-r? .{~i ㄵmljUG&}kq'jybjuc$wgo5!g[{:0Ӄ"bP|rVKc.Nv/ ラFhexTyQk dl4E~ߚ}^Kgy> S&e`;cU]#Vqv؛C?y);@7a {}rwҽxe;Qg2JmV=~yGv;iOm$wngД_o5m\)7 5p?OYs.m;^]vL2V [B@ozPm)Pij?kt?jڻ|~qطa gea}מG"h`iРԌK(CuÞQа]`I땰1`{wol4%l{ZXt{ qꚏzrUxw8Y)&mQ oCkjsUj-U ,@>V2z p/Dn 6?.lxi}iyCiD׀^O*Zr1O]j=xno]]:QxP0:egsY+ޗfW/'}K*P(MLPPt:'OPhf(thŢÀ+ۥB< |ln^u%>Z,\2(Ґ(Fuʫְ}fף8pdY>Ml'? ny;:}s[-&mo~3C`wב{yn7{6e3pȱy d3C&z'dG_JJt:CBkr`KazE`* ~?qNn64ȼ;C/*ą0p)c#sv{LG>;t[!Q; 6ks[)~p<|]=? X=`0;|s'Yw;pl ݞt%>{)17mMvCE_}24/]6ySbtT nEeGĨ)kΎM@C?lA*/BaO\hP3| oJaz!g(=`Hi,H)Ctx-0= ^W6wحzl~l6ޏYnZ ~ovt:cF^j)YŴnqOE h*#r9/rRSmcE5C3_Nd.= z8&%#ž@||toպ{3j[tJfLz 7Ή.svCW{a\ v"~VٓͰ*s<n񟠛mm\f:ޫ]ügnlZ]x# w\Шޮ]os- 'ڬ,y ]5L#Ϊ6=t2t|ofYOb'tĩtzh¶X?ڏp ]fڴ z|3aetشmTT-JP0ݒCQ%5WL&&qn֍,JEmZCNݧNr|^}6!|)|? KYUqr#W?B>v_-4zImgkF=g|mXgOp#꫱E9Oonuw:@RC~i=~fD{C'uvqgiSޮ }֌؃n谟xf[C/w#<Po'VuEBBXs"llE|v">{ϑ&q;DERNz^ȘCڧPqvPM=GUL>#A9m?0]>wC?#lNrA)N୞|+y-`bRComr۔ߑ}6N_1^{g^/ taKMց;o([UH ʽR TJ.4R :ԞvVj_v{u;T·4 찘u>4۽k]̩!Eʅy̾m#K`7.-2Ui$H jGGeA#.k!ꋼ@Vʘ=YY{36lkA׹nͦW_Fv2>>yN_ 7)D o#ZA)u.߄  ~оy˘/BaҖ/NXeW`}lƬgͯZځlӛ?G`8=onTߒ}e/^s x`iMp:xhio>% ?M MZ3c߅2F C`Y΂;^&@ +=@g6b@zNaLoá5*R򹨉iCV^4\3Z0S/M}=7|By@j_6\21@[d| [t_)5i0-:9M\MYP?h${©DpmGzp-Y/ϻ :xerݰepTޜA=;e'B OL,B6(Gu?X x+Tnmg +mF@!#벏Q'F%9 -GdE'qYAlVH'1"qEIWCfFG%^ OQh[5ONz~&ܔ__Vn)zT=h6Fwh4ȉbwNHnv+iؘ]Qi#tԟr :;@=j9ޅn~{ }Ve"lM惇N̾mxj]:xd".p$[K&r@qam3Ai3y[yTIܼ/LjmjpfCj5.{*z.;J9N,y&fj`SO`mOrAO|wAޙ>6:b"ڂ3]o.Yo VÕWA^WX9hOeb#.+I@6[ϫ7.J¦h&6b/6Lps F!"NL2%[z|z0sCNb}|Nٌ5'AڕGJrrQ'-gOT윳-oثC6m:Bp9cSrǫf]?o?-wOG1c$u\Q#X};'r:M7--24V 4l aS}"/ޟsZ&mZC1Ú^j E[ANO}:KP< <ο`:\w}p_[&͢{v^pvQxvrwz[-L/苚uM` dWV_ m=%l[t$Pñ/iwvZ{kw>4g V_wƵݳd|5ÿ>  þEnuR8mSÖLl! }ʰ^4n\Tp7fɾjy4/~UO}5={;:/_{}l+`o_{* <]=+HN<);i)w;xakm`^/ M*wیHP;R_n<ݠpDZK$[惢K.n7ٚ(\e<|]輜`ڽ9Wku'o7)7o5lsH>`-9OLd A?w+T{ 67Ktpb'8'|`rթ>I#}]zz8)Xtv(7M}cj'p!5V m;9 < 'w̬cr؞Q* }@:lH*|gj0~]-S@ДcgUk[e׿>㉿kPAMczĖ'@WOޒӡPb-9!Na%6}NHFd`z E@1őI+C]`M`S#֑4v_BvƝ =[ݾ`[x`]na…tޅihٮ`ب³w\@3V'dc~nko8sq|ۡ| `.|rEG[|7ht)0qlG6pTIh8٨N۝Q :{3/'f/06S%8.TL]>,|ً~ka= 3O&e={>q\ L{&mGɥyAvݼƟ%S\~ْ@GfmWК@"٠^݂ dOVu P"" C?| )~B!Bᤍp96lme4/inst/testdata/trees513.RData0000644000176200001440000004424712374550357016217 0ustar liggesusers$gV;sV6klp؝z&g0xfYi%K5N`㜳Mr9,|T]}߫?TNwUOymz^u}{ϽOO)}W=y~ˏғ _[/[|ޑ{+/soO=w޺>nwos?cpں۾Sams[;OcAKX<9=ݚ|skg繟[^ֹ89:Gs,{r5ZϽno3=s]ׇݩss=~Gιڼem{sx=?uj~=g^\m>?~m?O~wu?A>tDZYKxu>q_ ={xk}>[k<ߕN~Ͽ+?zż>z7~o"yU<|>:zu%Xu빋s<[yχmvm߱._DZc8,etsg[zǮ3~^S[nmw{gL;׮UZ-N=~<ܱ:{Mz=_ {W[[9`,Yl67G}}b?[s޶Y뱼>.;vn헯,znm=ku똜SkX5/s㺼g1Oǵ϶vñ?fm1ז۵׶fǏ=ױlulvNy?X9X\=k,,_{|mjuܩߍq,o[kϹO>n[wr-sQ{<>}=|ly܈M#۟bX1CZ]|kQyk{{=k߷̼̎m>;9ZqvO]_q.~v'/~ʥvW~.~vO]?Rg^jwK}]s.~vϻ]_}K~v/E]_sLk5MaӅyiҼR4EҼ4EHs4o-7}Ӽy1%WbKyi_{򼿜 Ȏ^?֎|< g*ԯ_=P;P9PO w @}~O@;P=P3P_eށgԟ??P7P?Pa@@W_>Pc@w?PoQoQd@с/_Կ=Pf@?|z& cIOXˇM]؍:evM`7MMn2vm+ضbۊm+ضcێm;~򦚞Y؍W.}3p>3 M`3 pg=p7p(p(p( -ض`ۂm 9 9 ݌fߌq~3o87fߌq~3o͘jkkkkkkkk'Gw!p=p}B>!p!pO' 39}BE, XO'^ x*UW^ x*UW^ x*UW^ x*UW^ x*UW^ x*UW^ xUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUW^exUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^xUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUUW^UxUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW ^5xUW^uxUW^uxUW^uxUW^uxUW^uxUW^uxaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQFuaTQc yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c yl!-䱅<B[c };vѷoGߎ};+dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l!-dlB6[f l ^!-䴅rJ*B[r Yn!˭J*B&\Ȅ p%x|J*+dȕUQ F%`J0 Yt%`2BF]Ȩ u!.dԕRKȮ u!.ՅWB^]ȫ yu!.ՅWBF]Ȩ u!.dԅQ2BF]Ȩ u!.dԅKrB.]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!.dх,EB]Ȣ Yt!'Y/Gۏx|ƟxǏy~{[}WR[/[|ޑ{+/soO=w޺>nwos?cpں۾Sams[;OcAKX<9=ݚ|skg繟[^ֹ89:Gs,{r5ZϽno3=s]ׇݩss=~Gιڼem{sx=?uj~=g楞݅\{?o} /X.{W>vbVR:{:ggw+醴kzlnS|~8u=#>{xk}>[k<9 s{_ǩ~εqpkN=_6{Ⱦzw׹> ?DI? ^w.yӗ>w|Y9Jzt7VO~~i_>w>:zuKXu빋s<[yχm^zӛg^[lu_r=Zz?,!<[cyocfer֮umg{;zY)>ZqYO}~l=\\?kصzc_l|ǎ͞.y=ؽmX=n3ynkf:,[ܦ^DZkϝ݋qo|^ᶵv}~ou(>zk}ߵw|ncۚ=ǖbkύ49,搜z3t8{յ䗿nmvg}Hqc{ssgs2b͋| \w>uy]}_/`'_6z,s6کy:?y=sgVs{}mkoY~߲]x.7IJڿǼ{fV6k}^ڿ/^صZQm]7k뾹:oCDI_z}筷Oy|ǯ|o>_}Go3_3aO~ۯ~7_׽W$SGӖ:\ߜ~\Ozmԥ_[z}٥vח_jw}RKp/R']jwKO^jwKKz.~vϸ]?Rg_jWK{.~vW_jw}R\jwK_t5[$SiJtXa!a?]?=y)K1/yK^4o+K^4oy4Mi"}7{Im^^b~1/Dż<Pc@@끺 ~b^TEt>9P/*AE?/_/O ԋE" /_6P|~@}z4P4P1Pe@[V_9Pf~@ 7ov3vd&cۊm+ضbۊm;ضcێm_g2vչgOX,c7^V8JϬXn‹apC,b X8!|o'az'az!M, ˁeF^;qzv21= ӓ0=)Ya$LO$LO$ڄSpjNm©M 6l۰mö H,." H(0c1Y 9 9 9m -ض`ۂmq~7p~7p~(p(p(ct3F7ct3F7?Ķ87fߌq~3o87fߌq~3ڇGڇGڇ(Oָ9qsXGo[r3=1y!lBAGz[pˣ-V>-1oو.-`"$Gh9zv}߅~Zͷ^(U얀W =vAs5@dyLΙR:Q[EqlPsP$,i/^x; 6Ss'WkKX`p$TlQL$wbVYOP'u7.ZI)cƠ' Y.!Q-R!I`,[Ӄs/ =؋ ͟jjͷv»h[YCR@W =XyFJXPᔸ9smYʐ[d/mrt|EGa9dInk7#mvG|!KbyaE?oćq>]cgI=HBIkw/'>t @C"bOf9Anb+P7vp< i֯,/'GPΠ#,UX>6kD5t 0= $GOo1U\_wo"_*"-glXcknއ"8E\9DGHhm$<j6^}DP {a鷥f W ͗~4ƁM81vufThsFVRN&*iˆoRky BMJ!ts}iÜjdBb:O_.}ίeZ}ʸ,H{]/uW|3` F7t2ǙS7WRus>7IT_Т:}E-4#`}KE$OL(baUK5elP8hã M9XU"O;u]bV|埓?~y'6k OOm oJVZ~FsWh9(9[ƾp'Ok̽#v|ӳ<, $%JpV6º5|G )a_pԃ)`_E-_^9?0c#KG\ƧtjB`*lXEaX񄽁Pk&4 !66)[Ļg yJi8s0(7H:+re?QZ^Ԥ%\=GV} mn y(V- H,7[=!cQuSgP5|*ǝh!ymhM{ҡ׭, + ((+N!^) OqxF ݏ%-ix5ETA{)v@ T 3 ?d8<GN-?~ߙ&?/@Bge3ԳIf !3΂Y[(0 >D!&@vŔ8ֵ.O^ĻLU>wĸ,oYS㾯e/{BlιW W78kW d/# DK83m&_K5Q Y;5lD+u\>KX.W5 h ^C 720WW !Z5@D"113xv8*V pa 0;g#^W:`y0KY~l|S|u4\"B!m)u)N(brA#4>9hsYހs"6.MaSHK78aU^ TEУ&/jUSpZ.>`\|4jb&yKoQ!GZ98!:WW:7=R/ 5a!\Hat< g~y^<S EJ(v\&<$|86[~10dm"x9T[1&@۝8 jmQy /=p}iϹY@6!9MxV*d oܣH.܉W={oce]3M5vckyyHE+BrM؀Č1Cd)ۀ0Cj>lsa fG500z~:9\]HNlG"n v{m*,q%% tEh8=m aƝphp5t2jͮA6Hhqnܭ̉-)FC/1|ꕍ<DB(Y֜.723}KI^q~ F{6P'IY+58iI]3@uz+%҄tl Sa0^}_TvuU;%C۾ b+f2C""F>KO϶ogSQ@Fk1XAŖ5xū 1ir>*ETe"?tH zV\dtp_1X?=WC+v Ye̛~ z9} <4x!eq-Q^JQR#qx*Ӏ/i6c]6KE/SҎ)6dlD6r6,?beF#3PܦBYXhк¼<w =e~.-}'ԓ{C8YSH޽e{OqIQ^c{` GHµ.BqOPzYc>G2 aZ[A+Eȉ>uL^-ʧZdC?m[hA#<~ ѽirf?ELCɂAM&訊 }9G8MlI.(6l#ONbCKׁؓa?"s,tǐ:g >Fʆ-`(M 58ֶy6~A!_S{ a8gnxάmSr)ReW(+r -'mbaߣF kQ:9+8Ie-#yi7@2yأ8~(k E)^p,.QrC?#^.uZI]*:67LK^$?bhwV<*Zȳ<*2/./LQʸmyD~j] k\^!MOLFtJJۿ ZRB8` Y#L!d),/d+Q#uzr 558-세ЁFo]pےԶ⣝D8[B:0Bn;=2tkxdN4x@8w^O?υH RL;ZkݐO(ЃW)"YN=gܚ²lХ%1 qjPPךE0@[.4!\Uȯ$9bY"Yh#l0)9RƗʳd 3mỵ΋Q)QCDc5-3zu0> ˧}A$;MO/z4jd^AZc_FxM(݅ [4[d|+XH^Go(xqv2ƶZ-|_1[d8z{C{-E”BۊΞAG(Oa}+NA MdViJ%ٖhaߩ/V|Z9U>mMfALi#rNz~EC9@dY"E c"F1!t꼺96x*Mwg,cAm"k:MŚ5 !> ߓqUJNwW̞]ee% $7"949a:Xڷ'4.Ns8CbÑƲ&u*lSmW5޼۾ oֈJ6ICQ d1bHdpqBdU8EY`J[ `*$^ojÂJpT ң'I>/)z+}O]xv1k bqűQb|KX=fMS5У=U_wiUsҼ:]IxB!5R;!Í=>kapO߼* WUv65ԱTdE+R+[ML3l᳞b9L=Iek70=פ1 ߃!? C= 8(#NpXb^zR{HN|À9I>X:?YB>Jp-Ug!:?YB{#OPnh5TOu_}q:VؓH0b¹L(z`.|2ǤQ#rtE wpiDn1X/}֦<$aL̶vYDyX>˽.8n,%^&l~U mnM$ 9"%寧{vFu)Ėtp+B*mx'Q־9 W=!9p"{ۘoWu[=Xq`]T!GZD^[ND#ɲjTΪ'.;AtVr XŭeM 4 UXg@ADO~)>*7 ܸM/WPj?#@VP/!#6#oAp$|Րy83}Y$_)E44VJKpثy)Oazu~]܀)V+IW"C=ntC*?Q"8)"=ڰ5]p`կx~ݒ0fjfߘ\y.+ov0ѱ_*m+j6Yn>D( ItZ} "1{L4EFIqՇ>R/ aҊDwR3xa'p4s| 9/U;jWvc0u3ۇJu&b&*`*9T+Nπy6/;qNב(6i_%^uwbFy=+˅¯= ͞mH+EOhm f' l BC}27tYj?ܘ(us2~RreVO"(k-dC⇳f  w "YO'c[N>>hJÞs+\? 8>r$}Qi?ewnq'mۿ#zWvxwca3km DSoawZaK#:VoXq]Ec;ͥ c$ǺF qŠ*U4f|( S_'86tK9"[ !etv (2P8D1{PQҭI2j8/כo&iv5=SSVk44l'H.B^?}/BJ/u6֓V!Pȼ9']n4i`#4#X6j# bCɐlԾL+qT֎ 꾲 l QG7yT7wC2l9MCkS4$FUiL֒FHh3>0 YZlme4/inst/testdata/crabs_randdata00.Rda0000644000176200001440000000141612374550357017436 0ustar liggesusersWKo@<44P !+ ϐp^MHLRNn=-=v77;;8v}*򺖊VeQRU>QZ-*RrMˠP{@}B]}6 _ZbWGo|$r@>+Ϝ7s mBp[s9̋ub>u~'vs\OaW'|/-+*/c~zmM\F~>f_A\)KLs\VY㴄};<vE}qy ΤOu[YSI}7Z~ XkcZʞi1oGq0\Z;JݼEj1s&᎖63׵rOfͤyCm-<)u:|T`32/+V-h4Zr;I}+\64r#ȸ1LȊ$F4,~W؊fLkyŊ$Rb aIYlQqͲsxe>npM %岿F㊞q6BJwLYnGoa#aTσ#p2pG\#3a9d#`lme4/inst/testdata/SO_sep25.RData0000644000176200001440000003112712406350752016165 0ustar liggesusers]|E=:&K"]Q(&A H]j B %oȽr)7Mfg{23{ܢg=s mhg,;Ck;h`[ WX. &XD}X˞ #--WY4CjųWgxv^Yj A?7|\K-k6L3DZ>yqsZJ>a7-3ø9[WݛdbڬR-#IKPFomGzϟ-9%KQpWK/_b'#6V c<_FdLZ?3*!ZZ0=jZ 2^K(/*W{sMKUwhx239~Yɟ hɩV?]K'1u(373b&fm=~64ixё"bK0q\lk*>8mhqk͈:.jKӋ7g|uyNywp9ԩ9Wd3ǿ2K8+;ps;eE6'h(.foxΖA#ϯ.<V{3l%O_*7\92razu%nvQ"O-"o/cu|ws6"|Qྐ[:=ma ޷Et~67 N.lrnM`ըD1~;xӊPNJNN/<6C)6SC󸟚/[ïK<6gxR\xRQ:5>V*GE@E>SI<<[+y$nWyTЁ?wF! /߼կ:;ߋ>;_pxzby WY+ց`>#rΟk]c♭ V{ (DLK=((1"u[^-lE?ۚ=Y<\X[}[>&9Wd7CM3!|_y:sA1F.-$_?ߏEO, {CgŃN7/: j޽dw똇y<8x:C_S%^ ~z?~UǑ~WyB?:<RW5eܩ82BoyTX0@?k"϶(gz=+ޮ]91hؘ6(vʽsƪ%晒S>}PeK A<|qkm=VQ|-$jH ,%n3h`G{6fY~s͡, vI ẉowv0]Ykloݺ 9%jIx1g^_/?Oą~O ~:1//ցZD\x-Gݷō:4_u:n`ؑ»œ0?^O~>ncf7,%GV1a[A 7]<{ֆNمs?qsxV9ג"ɦZϮmwg;qlPX{WGUCŭV.?\\nZ,9ť聯wZY?ʃBMvR6ztzbs.y\>k𚸻E_3n^mw^|Ѿ5ۈ;9x-6wƷ/lSq fs6]ݶuq0v{Mn}\1-:t~f͎>;UDF4>}ȝ*SW\G\x6%tm ?{?ݩ꽋ű= h]xt>n7^<*~rެuMWQxGÎ(#rkcwDb9Wx*/.%Rz@O'_WKW'n;K܄WYՉ#qNO4プ[wP͛,Q#r.[l0bOE(~r}i'M{Xew?:u>y莸R`㝁#?iWz[,~+T 斏m(湳0%vzcPn^=WO':ZuWvvS,ʞ+_Um8'.+?T|hX"OOqRAQT o֗*1u~r~JV?pī ?pCƅd?|_n'xI*o_}qR2>OUd?wR/%~ #q>4XP>f,qyfuqk͹e­k"j?/~̱Lao WOp;0ģ#^-u"RW~\9mokgWi4k _]R׍hRvg V*=>0#-"ø7m z~^sΏ·{fO&JoIwn':6W}8U.(nh=C `]G%eɓ義ݿ7.|ߘv AﯸN! 趻!˞ k{N̼kSys/J5׭uL]wܸEl%o\xfa"h㲋gQ'N_gp{l.~i׏\=_|As{%aŕ'˛5\(\7~AѺ[C>7woP\br?v@6Cn65rkqELs"Cc_N[~ԤIXC'Uq0>9 *>Sq|^B/{XJ"b|_Q"f)ĮPlT빭 qД1r3xˎ5G>¾/獞˱뇅 ;qG<׵r zc2"Q OD>%*a^K_W3z\`umװI΢y?>>/yT^K~:xgvp;n{%РuDdYQ#"/gA)ϧfo2#ū՗?->;z+F 䚥[-k":_mW5pmm-N^ \zcwGW2]a {AqY-פdK܇6]\"-K87Y?ڳٔeUN ͳ~hxwcb[5xG<3ܰGg;Ϸh:jJ}8㿌UG)uPxT~A7SK}y~u|URGEG<*ƕxf҉Sϙk0yF'%5sĨ%zuAw~hP^.LE*9!g}?/"d|NV?V :lk^cw&˳^O6j"D{F]Y.W{h5_~D3> ;[OpS>(]VO8t<_?{5ݺZ]T)qEjrrQJO/վ@6 q6FuiQlzo|&Eu:4op9բc˧7mOn}9TRxJT}[_,6md0dL ƈgQ.(y7\O_(|Uz9OF5qR̼cUmǹ Fз1v_w;p #\<Ͷm?Unۨ&1ЯWS&mŮQo)G|.)AWnn0%fs»~_;(Th7*G5n7<8%_~q#nqhTt~q ?xtq:9ˌgꊐB?׫W8q}_ũqT:BxOΫ'BU_[{^tZ\Ů䐨iGΕ]s^x,5ؼkQy/-#|ܟz_{#ۇ}vyz?B9KiQ"qN ]/ ">K)_yc\|x?G3ǷKKl~swJj96I'ƠŗXO)h ƏÄIg$c,*<:[%5Om]SZSOAu=6x7|II`6t}NOKi*oK句UX]+s\&ucnZS?gzu18Y>SY]J5>6kf[?/*v }cV_1᫰Ыݻ!ASݎ~Og7)UJh^s{}X5>~DzMcC|-iϋY\YVWjMw7?Mx~:V_SkE/D}=\}=`O8O/Gj?Ǽ15JLWu2T|FCm7b2fQ!$>%y`|!?#=)N;B:cO8GyEhkg_ !7ک٩? ܬ/ ?GC~'C%y8I'^zyNok%OnAkpnG2#q`p#k|Q3".B\"U o_a/Zd^/^̃Wy).9ES( ~S3?KuD,<5y=u~~:M zss`\]|dba 'g< p~@#q;O΃4>uuOO~  ]/s`~+zAT{Љ+OyJśf1݇~0?#y>K/{:N2.>zo\T=%O?GuPspp780s|~Ƹ|BzExyMl^Ϻy=}xy~cz^9A}o>z|8y.هnq\}ˍ(q?;}N`݀?prSُ}|ՋsޖG_RF_cC@*q1/ͯ[gc~s!==9OЏ&8aē Ѕ?1՟\h81ŗ?"y$}'x3)q:FgyHgH?/Vǧ|/tPyԵ:~Qu'%n֗IDžtrՉU4a $$yŵmWg%yL#E'_]t>;ʋL-NHuM/L0?N |M=~n\w_Y?fܺy޷p˼:"O&=EO15^g]Ѹ<}ЏL.`@x޴Sh$9793GG덌#qӉ?^'rۑ_Q\5gzpzQݕ8y >L-u~ 5yyq̬fyp>1_q9/!u&_uqKOCG%Xߨ.itիo>җ1N?t y>gY;<> ~b,#TY7Toϩ\ni-uˑyM4I4xQqc'ؗYx_ቸ%r~!0:M_^]N%}~ x -tH3 ?ky^~>CB77Te~c`ܼo[7xr=۷~$:4-MDS 4W'0528:'=]ͫ|<|.~8TG5qGN^ xyNy0+Luyy#S5~<z[KR!\*BZ^Jϩد2Oƿz'^?]ͬ\HWOAgu%~} 4aO9C_Pgs_u6sJ:w ?N~ߡ?\>#z0sjx!^?-ܚoR М1?4_s)_=g yyp}pxFo^_srI#|NhM>aɟr>!~kgKyurz3?>ǟw545{?䏟ik'Ks_u>?C6Ljuz.n 'wguG-lo5gH~q%~Nl ZӘeC&?I> ~b,#TYys*a[x K|}2Eu\[Gž,E'Fxe!y+tzWSId3>H?9 ?3;_!3\9$tc}yz@>a`ܼoY75ϽWNzؼJi~@y~c~^2>I}o~FuT]:\p3 wDP]AsBY(s1Gt:os|qw7<4S ^}:\_?hM>!sPM>!~`KySi/9ϡ%?=saf?45{?䏯isj'WzHc9~K˿!ؖg/MKo?'jb5%2{KofWkKZ-/Kcoqſqۣz}TzCXD2[>ǎi6=|ŮלTX>PzO]Nh~tq71}j]E; [jOkMm*ZZfFhԨ6cOoWYSSjY _3Úޱ-:eMeMiD]'ϒ%1sĻJߌIɏ{)gz&,5kK^5㷌.1;fm%5W3*.k{uKOekKfifxgvkK\q5\ƇYZ\>%ߺ̸LfFlVK7na5˙d%Ѥ s|VK0cV0PgEVjވg0X+Z XX{3T ZxV6ʙVKkbJ"j&j1ZXjNsV`1=ܝuD^`mOkʟjɟjA1N\GTWTOm5^X叵^XuĀO s`q ˏ3r|5{`35?ϟGmt~˦plme4/inst/testdata/gotway_hessianfly.rda0000644000176200001440000021750412406350752020145 0ustar liggesusersxEC9B9{rm]@" (("\*ޥCBϿefw]I._6;{o޼yfwǁC J$*R!È5SJX,z1ِP%?aI2Б v x/CX )ʼUo>ųOMاA.IefM ` ( }i!!v^ *?( i0$] y?Ղ]&gI!l"[D4`˩T{*'~*(5pyDg}(S لU$UȢ&R89~#_V-7x>EGS%z 2|vfdr4b2Tj5ٍjwLCjGzD.iX~\5) O۸SzʚMT){F2|K!{Fv&j; b!֮J̈9rQ:\ngڐ#:j2]Nmk繘f6gf]5@Re-њ9JEZ-SXσLߏG%f$}:8f_K]33Z"8A_hs%: |/ǽw t|T.X? czuQ??l}Q02鋭M|_L> :X/G3M}6u}^תVDt!"M(p`nK '4n ddQx9c/Z,=q[Sp^~g1pp:XDAZv:g^~~z};643٘ ܹyķ<[woи}7"nU{,8Ӵ&oTK=@X,5Wy)=7qMw=_}\!W^vD }_6|3k+_۷Ֆي[vo~!ԙl:~'ùK~+R/ټ-=_*mӏ7jjA- Vs?S%E[W_x2abe ({Q7^Oئw&8JiPc) [׳1}oƎ֮ו dpyS]ݒ?r)XveuRἰCNT Ug'*7$L s>K/S\zRupǢN6I60Z,95SE=%ɷVW{(40C7^A&Q CF ~G`Dz/KFTr7W}5A(oO}}#{TzD J Ks;-F[QseY0t >{[zrj_p?Op+wSm^i+sͽgn djE ֶ-Q <>f">&勹g3C}VIsWÑ5G[Ʀi6't+y}ɥeǂ{/G}+IR'7>}q\S+Q1}S3;_f&Ac/\[qſ[[~c~FMa oyo~ u4)phѿr,Y:\xe]S[7ooYCp7BFL MڝwI(I5Ohsc&W;ɤVRF3ZotAm:Uٔ7jfB^xCHvփ'm959_ӳM2tD8ګ,.]`r2tR[DbB v Gp̢i]8;(qqЂcp&D= ֘ĩƎh8TiieWL.yp p Hz)M5L)zJlR+3R:T&q)P50x81bI(~8˧41 9C,9ӒmF&@WSH"/X%D&*O޵)%Z*V6\JŤ`* f\9Z>TߗTH--'CQYbV~/U0~)X&G$xX:V+:VF_A ^%VOT5 N|kjw-.[❊SƩ 󡞳`('10z0^}o,o7 aFT=a"1QCM Q>y%< Cɴ*jeY=D\! R40q2qBs9jT%iQJ%ݩC5,ac+-R*vLle}g!WV9 *W6^ٔȼ윅KCWJṢzg%ݠ JJ9~f"]!ItBn yEMJe>]ZycF 1+ĤDj֏Q8oTFl#5*7& QyJqk!K*2%b[^GU~)7gAѶ UUAk@)Xa3O@PPJ󕫆d@{`匓k5\!Cmd8W0򓪡Z"eCAZ 8N\XePT"w@_dDb޴x{Oc\<5|?gz4~<?~8 0LR *q[^WJ܆8h?\QP1% ,!d1̦UJ_ %z<=2+8sE!dZk²CL"L.C1%fꀸb|ąiX:#ӕa~5Qߩ|RE ݆i, +0߬|X wy2N3 K2[%gdJ `+ۙ UnUw]E/]7cxX<% )5!^{,:{|P}A2QxŠ5-nBOsHjC{{o TBM*v\eWYBi-jVCc-6=2y~.\)yrz%25Q ^2-!/r$%63Exܺ2܅'MZI䌗zZDm h.@jY]_Hݺ:*s2mEE_8{/ľLu]AD5tߑ6o Q$'&$`f3o7W<ő#Sk6KpŖDm'D]oTk{@bH%39q, 5,\Ar|{.|޽'E/T#*$ -Eu)2H@}2a`IYĐDwrfQ f*~sG,,OǥLJOM6i(ăQjfK[U3fN8J֪IF6Ҍj@L%NX85'ԧx)Y7ؘ=Pl|;@耣ƞ#g6vBQMJ*( ?X՜SgN-W|¡͸B`QJ!K$–!U6R,?UX]%V]<1 @j,"/Xv6[0Aϱ&,}`Z^R$|E &ce 'J^B!K:`LsݑN8)1? q"Bl94KLm{v1 w-bFVRHYU ΰ~?iulRۇ0̀r&pXF .k*+3D!m6i+8ӭT+U2(>TWxa$YVd^ Р_FviqEĻ3*!te=`-=c AB/a8RB*"jqR-EJ+aad < A^G-):@ @b5t|Q:a8XӤ ATA,!vKС*SɾR:|*aYr trB (S3f) Pi"Rnˊe#!?QPH2_uJKҀ0tgq# d)t 6]Y4'_ǫIP? iCN`? PwIQFJ&7<-O/ڠ2jbHSSAQ]ɯ(NX2 J"Q%_݄4DZ .LRӶ |(ă/SGBF]veEH[XF/8 !Bm[[Lm.ͯ9/ {ar}Pa-[.,Wз9[D:™>,8[, 7MQ\__]Yw,ỹܘC"8[aΨJZ)x

c￞{8I"un. ~ 8[z? N5׷'ԉkIRJz\7{p ??]%7NZ2bI_.DYn6QeK}rvr?p~GbeptӨM?g|hLt4l?퓓A{4LJ>'ڴ0\nP7&_N^7&~NQxD/WC|1ڻ.T^߃.w5p6xUk75'_:kvɶog*RΏf_'fdCtq:0D:gZeҨOV~gOJi6YM֬tz)VP-I+r\@,3،zު'U% F0/cw$y񱝡I=KAeA!f_x8$GdIwGn{OEz{"O쩚  b8$&c7A?YC=A=I~1U{=i< rS(Zh9Ra"EPgn*w,6v`(ÝVɇpOX'W<0}2xNWڲSx޺6vV!*uC xc oL>)|KߛUI.m:f }F/QJ!SiiT,՝y5ajAX5=4[,*MAo$*coJlT6 ƞ-ܝ#g)k1M'n032NF~b<ieڅQ(t5kVd ڵBLfFёMjh}2k uBYB=̪E$|MV%KbHBH\$ $Y7 d &s5U~2X5 Q,:GR29So%0]Kf.iC7Y%qa^밼;([Ύ撕wqlĞ]1oEu$lzRg*OHP ,E{3n NDbmuHė/ 9лj嗪'n>߆:`0KB ~PFd X~;%GVa[ sSLˤUKK^5d|bĸditRO J%Zj]xL@ 1֦Mci4z^s7fĮ\BS^s &)~ڴ|^BL4i@ PP4FZK#f2 bfS4G؆0 | ,P aע xh"Τޞ-<;*dxz؃'ѳOM:@BsZ.sQ9J#i)Řl'BNׁ)*IiBIPfh-5yJ 9:qfjՠXgc.|#LhTI;E :m䤈Y\.=*O4I-j-2 aVsq k6oyshU8H=u.%lz&J7.5PW\.e>_ !',ZЙeu w;%ʐ6"`?LgN"ϑxpM*B C0ѕMOl6bbaosQ okSL( WIDI1Īu4[C9 %;Ȉ 9ҒXJ[ahtT9>TW|OIx`"-ݚ,֒|t"LC$:}r2-uפOrI]ūPH:S+3͓LJqg Q#"Q<;Ap}v@ǻp̄-ev*BVnBn~Xg\ >hNJrhzѡ^r C{t^f0uxƒ+{0'5=8S0/irj|b,jBOVz$lF9N(I&c,dZ mZ-VR|AP8kG;{c>ɠ|czRN4$MǔD;;gLFůHLTF֬SgjD\J\:C%Pn ,u25/&.T Ɍ\W|2D{ %He\GT9@BGeR[Ldup!K*Umӧƻw Ԏ<ZJ`J 'ƹӫᎹK–N= ktzhJtjY)ʒ;)SҍP;:u;fz$n*,:&BYr֑4kJӨNʺ=XҞw f$f:d^J -r4^JQ&{V a隒=N-%6/Hl]4?;mS=:Z(Ѫ)}g6i6PG&=w$+YoXCB w'FN_ p\h(N 6dk}YϨ#}{뤎&H!+&d֑j aHH{8L1. Hr&?Q:5Uk ZPR}YG@*Iα\IH0 ȣo{n`xo`bP4VcjX>0"%ϡyy<*(̻<X(6:]# Ø܅ g#;VEjšhc=GĎj^R4e:fUbT oؓ/7I&U7% mW0O:r kaZߐF$-}T'|h fHy3y&!&܆c}6'>VRA`\SӶ($w aoYGE*I!;rQ$j1 bbdv =dXꔂuwg eOrR%f)xS\Ogq=eO܆@}K>t#4J-nZC}DYy?蠑)y2| P4D"j\&\*I+[<6me%4kG-Xܧ\]BJJR" )Q-t4&S%d&$l<"TTuxKP0h53C̄ŹgYx:Ce~I/H B0X`{ 6P}BH`qϊRaBM e"Z3)PuBf,.l.Fs~]"agMo Avɺ"* S8Q5 !Y"KB8 ߤMvRy4J D dVa!CQWyQIȳ"z VA}X5G] lO4#U^W| L }@YH).\Tn;"FB:6܌踛P19P'lV--3$l&!-EXDV+<.jdS`[pTRrDh &QL5b] q3#e0(U ih!B"Cg_ -vG)9f "` r 26Z !\:C_x/ɐaV6p #M,Z[j9au1-& >E*+ϝPt.5lQ!ԡ2˄ VbV>1'%oŎ_z.R@@Y9P-h0Bk})'_()/ۆ?mC|9WTƮA|}TnfPRrCZ+Vc>ɲ岾z}E zBf o ]p5-Eܭ.6u%N];ḴTDɘ7PBo#?Jr:a !0fC/uyZ6\ӓSEpx =1\jWVLd'g5oʗT)ͥJ ",tXB3`@$v.ow-qnƯL8g'Ww=ft%T9GMР5U}f v:B[}Hת}r-A*ɔȔE$,1h^v=iTpCDR;iź g.2Z}]ۯ]WHkEK!5 }k tL*:zz )[b4AW1dKlFЁ۴iHbv`ab bDZ#fMF`ȹARO 0}%HM5w-.t\.6P3=ۡ8XP(C)[z8.u.Pecr@ND|Ȏi+ DyVv_"d>3k)/jKR5SF"Rjn_Nʑ4Ln[dlrcQ)9h\gt"ҥT=4 $L)h ƳVJ(ʤ녥sw.Պ՞9+RDVA(~5pr8h!.= B'* wT8mMZ#/#[Z+%| Ly FaⶤG 5Gp;'s!QݝTeO`ժY-ܠN#`|8%KJXõ}8>s(~03E"ӧX?/ì 3B/HM4A$>AR }A")P(w%>1#E Fh˗ALL vI6]:uXw>>a&E LL/"fgW+ZSaDOh90_rEόP ?{f Oax/39g'S P>Ѭ5gue ODK K4<D̄NB Mh W ,L)N۷wN(:2|OwWb`]Ru#nrcl_&1|/.G bىL5:q78EJ(X}U?`kY< ΁p,^b{! 3ޜ nT\L[z$?HǼ ᐻ0h=?jpAR݋v@peJ%l=o…ɳi*eiYd5!BNL?wrk h x̧$(]:UGw7"9 A(m=AJ<3HeK|[m7g@"ۃT扭Ӟhg_w&Sj^ }k2xEW/vX`d"9Z(MM!M^.]xċOx`䋈).ABkNJr‚*>RB| >SD$PBi0H}b'Vb(`B&~ NN,b~܋|30sp/Q)M+~Iˤg̟MڸCZf0xf VZȇWGa O %Fzg|SUgHQoR0<9Etq[4ό*!R'7֢W#. }fK1<^<Ȱ̖,K 4#~6dICaKyE&?|e€BgsGG=ɋ"S !=8xĎ3`pe>k@WIQ.ˋd!&pR$HhT6acgq/Qho=8g@Sq_O[U(jkϫ ZE8l@鸭/`Rzo_V7!S $Y<1!Qs\=XSJW(o$J $'H0}f O5咄OI>K,"EN܎&xy㶟ehئxO<g}³N}h. [υYmReT](R Ʌ"XtCPP Z/``^gdzE@˗ {t$qEQ~p)-)ưPrH+л18w urRu´i U9#=BkA<º4+4vy ְPE~v H3-#"کfB*' Mf+NtU:u':+Մ I#+$g=#\}!@0RdS/kq,5du̕ A{"kV![:a'?GG[N,yV0tԐ$E>p3FAG5X q֨55ŽOī\,0͋x6d,F9=IN$;pa'I iP$HJ{k{yDZ4"q啷Wם5 ^EewPC &19<{,0<@pF߱tX:<4B=uR)`9G)rSRQYW!`/#@n Br3ud?2}bB˿ I;!iDY-3o4oYyZݘ}7kzᡭqWa(9,BI,[)7Wip*emەzad+Ee)(#pRlltNaAxL8,CYŒE~=f~QR w;%@نCS6[8ޡ~yuUIQ/ _u9cy ]*dzG0ͷ<'8'AS+a7NP2fheWіݗ$匎Fi7Ɣl$ j.l q/v2 u7`KLO}p!9XSt{QKFSͅmEScqVij8@S^!{cASIȊu46߸uhJ4UMWeҗj55lܨR6aCiM͠'7d25Շ?FZlqfM 9PS\^;5lbM lT=745_.RqeoMؑ+KS#KI-@"M%e։c55?都=.Y%T=mUVZ Ah*{Ş@Sը^;[Șyrsvȋhh[?kw]}bF[ݾ#$^XF?67PM_{7Y22 _P خ<%ձ`[Nk%dT2*JhVɖ%J>֤8uٔF;FBkVNwχC y[h.PPjoeV3TD°7 cah:(} At 2(JNF&5o$xSO hzYI^!,چD@ՙLE`aIZj3,FVKAo&s͠׉(1}WNP-ebMET$LI",Cbu-8Qo4&dMB8񒔡m_qFBj O1̄  ?@| +S ~bB7z~"*`0)a '#XA0  TX: ꉖ} TT&Kq)`*'J xB * cJ`!<)Li N6hHFAQea'-]) 9IH|eMKm` )TH]_MVSCs !zP4x23L"rꎜJdrG46э3b5&Ai?ơJXpJz(0Ig9BWwʆEtijMS&kƫmN]Vq˯N ^T}l垊v7 ;#|ti;=\󘅔\_. &GNQ+:eOn~h]_45ºUr4#]ua/Wz oX+ 7= |wҎ!hCfV@]V..g $uV.rxyEQ&ɇ/Oa̓$z^4|*i=z@d{/Um|m:DL;rʒFy {QpTYZ>BlKYݨޗU$oÌ$ y9F-~A5[M޵;k7V)(Qo t~tҟ;bR "v9JEl*=o(Y|WmZNkc&)vùYUu\]lU5+86X'>=i8i4S20ruLU<ւ,1#%)>I5~ T>0*p ^m%7<j RSw%5&-0Vg[}p ܂%q[(Q"5Eq3%Dr2dL>IOm覵$0~Hv@~(Ƴ0paz\:k@L#2xB?l(Q*ҏ2{v"VnS9l~gjIP/bG[ҍR|ľ^hMӹL9ƒgI$rIYţg9\+!7ր;-[g7xP+wF0tG;>Tx^N'w ֏Í[LjHYWcAq@NňGOnTx5aJEF/p4v͞ {۠_Vۋ~p&Y<=}e&1ܛެ[d,v n}[nw//;pdjEN[ۦkx|63kͽ }LLg3n_ xroh:ڗ\jc\ xtۗz^OrG.nɃNasDF_9 ۧO{ܫZkxU{qX܊+K w59<:v෈+΂#iڞwOKwmS<*[7Vu:x㕑.wMo= vy gS&$e6\puvgzzfv:pꇪ07tB90Vţ&3+hc>yeCpk4tz7*%wBF6oĘب-I Ձm BXzY䬽V j-Ya%p-J)X:ݿ{O^=t-X_{s>klKH[W V]|ݦƁ.ϟ,ܠwǃ-b ^{έR=sM_,ͅqX>VX=UX}i]ӻ`E!?UV-y`꺡_u ;Xrj_O |ʝ.:҆Y-~o7ځ3o( C` ;Y98N ;q!iegn4jNL3m鈰FIΞ1$VF2r=EZj>| 99+eH4n6ڧL~$w=}ʢ U통ҫ>덷(x7eATzZѓ-{)`1\ 1=Zc#Hx3njdiX1tE+ tfGnq5:`p֯7xRu=I)nt뗟 =X6x⦭ܻ['eA/W?j%]~JOgRjlGq'[S]Z+RUQbZ8b6$1RA"ܞ -U#GW&_w,8E2WQkfasыXwU*Zkԩ{dgUү8*EW]C Rup$#=V!ۘ l^9fR_AA'⥐=0ئ twѭ#$JuL#Ţ:!rY7v" MO*R`ح`M%fϹF rMr1ո[z mo!_JoMNDa|/ɂ86H9AP8!`XR3jXIP-@,jɪv$o%uޚ k:ɂKiՒj?!ݍJQ˦ѶI Tx7 lve9bVr.vķaqjIšv^<Ҁ"+Zz#Kp7ћM4b {EI H3HS]d.UVKڒj⺴sr3HǡAOt6)"[1}ͨm#d !E$PK54%dUox jTO+ky.Ps:;V$)bbUb#+tɑT`1p_5@ EPq$ob Q()/ƈ _aDj@ h#e0dGe/A9#=d_zua̬ @lqF OJ#zJeJ1j"V1Y3^d./FUx¿+~j{TIPI"xO1T@ {jF](jpr9IMpvCNfQD,bUDa=L^ACjZ$.&_ 9"P;I) 9#~`cKK)2CP'͔=Em5DǐcZB ǹܰd4dQc[*"9'굤J ,|lr,c矺ގN 3¹p$I$ d/||;/1b3Z[)b Y5& LQ 4b>YO+""`"{Pq \;&3s؁[ $u9/oawJ{piP҅d;=5KeQ]yh:x\V@'ոGi{o[Byv6X,073O1J-퐛"Az) ]ji~EˇO0Ýq}7Ncv]f$)BLnCY3 ]1 #H(t2'Mvg$L$Ӓn})iD^OfN+EP QjGF*I" S%1l+d$B!$3 dTZ:-aE̡T-LǪmDQeh x$U)03VިgmG[7X%ja^E?ӏ`#0oT Kͬ #O)HNA Qzl($#/XNؚ^'ZZ8e fxpiύ z#{^ޘz4-MjZ:=L[WUĨΉ<2b2dC?L-wxV^B 'DYu8`0HTD:r%.n\hjJ$xx'xikSIXo 6}*N~ G硞:=@wjm;GSO㘫n}ci*JwD/9X̽5oŤkf0U':Veb>&?'[4&>EO >dxCktIxF.Y%ނ|%ZpUGu:y=P?)01W|@ SE%8H︹<}3pЧ  tт7hÇM)=KNy52߰Qvxw (t< VA4zjDqfDػe8Z~'_Y &fx|WA:̎(* wam9JZ6-e>6k*%lnE]Oz 73ĐxWq5q$ל8J[[$<ܧxRȹ; {yBr8`+x-٤'EQi4b`^'8'AB1{O6{4uQ3 ١?NMyTXzoHP PM?t%1K-P. V{'VK:I :[05&_"DOa8X]u)M̧{FՎ{kz5q{SSIQN fmKTXFTp(~LhDî;EAQ7[l*ay,&yR wC0%/)+g0[ tD-%ȹMY$=)YEұB*ZPJ:GR?@%ҵI):2ԥ"a^|bл0RFyWImHB ېb#5&= ݯ:T!"P hYG*ԪGZ}<=oOE52Zc(-ԂK#w̪|^k܆j#KR#+ۙ- 3%, 3ыDYB ( @3MސͥP,<~ ep,BB4)KWC1UYZ"?P#yY^dKkD݂e[Pw:orTJ1Te(|&* ƍ騥g\aÉ@)8<ʲۆ6C$=X,J#?J|mN@7=6xjl7 }\к/t9//><;xn// (].|3q 72r\O&W=": 痙ɫY ?⦱WkPs4xto- 7WyG}Ӵ={ۦ.xTjG*3^o4uh+#]zߺ{x@‘L(I˲m&;^&5{!8HO_ʅ&LP/j8. /tx/r{=ʊ1x;ƧE!(⋁5uy ӗ-,zZ+*<[nqϵU8v[8\^o^߳&է}.gy;ƹ]8[ᒻ}]xy ;? pz J˧G{eijeijeijeijeijeijeijeijeijeije4ah–ф- [F&lM2e4ah–є-)[FSlM2e4ehʖє-)[F3fl2e4Kߔb$"\RcF_Mxx~5jՂE˴̯Ƽ_5a/F= `AjRN |*kIV5p<;XI0cg֓֍vW[ǨXZvou. K-(-̈́f62gcQuRu6pu}H$֜%M-IƁfznKASB=^ S>odJ'lR0,A aލ`?ȏ㱧:Sn<do?Vǎ3߅=5" lʴ|R6[Ņ໨C̜VYu?\:} }ؾֽ:>lػ?cʁ-WķmzHzW?x&QlA'6Ӕ]7Xp 4ʰp|<]O^_UD1g`a\hֵ׳%.6?pKߵ7^c8wǂs~?ެ]pƯ[7s|kM֎;)UjF6c6WDy˟hlUgk߼iAznO{o5x-֯ cOO\\x؞.^PwāoO&/}3}]^jq [_UP|dٰ7ɰLΥ~1 {T| u&L#WuU&.*yO%\ oϪ\xAQJLfqTX*d߳.PD}'컮<%w{~3*w5wEڃm׎ֳRMoWt| 6jȰ),\ASªnTwM^dXa^sZgQ>;2'>,;jqlbP?5׷t~~Ioִβxck?1yܩeC0bOL:Qf[?Of)oڨUwu=h797Wq7,{ўO Tߟ2W7s6S?ڞ5nO=g}Km%9릗˭N [ &N FpMm2? foힱپro;,˜I>r297ھ?tV@޸?-W~[ON-8 |>"oFvDN7ym`S α2} ?|;^Q;þ/z̪n r^l.5L{20r,\/&o޻ٵC׻O5!_r7Q;e]M5e}7Eٯ?fz_Mήڮ&N^> _}udJ&vۯv\KBƓ.ɰܬSakk>f:ӽzy_m[wLO>v g6~ՋΟk?Zoz6g}|63W*߱U~۽JOYj?[^V-\o gy4 ٪ggv~Zaw d8ڶ^p}_cz?I?c| -~d})3c'ߟQfAcɻNe|:)9ࣵKlw}~c~uqU!͖K%San'G o+kkF?dQCNsk9ddmUu=Ss_mˈsߥYG{ΐO֌>:s6ygSrdp ]׷ 0L{{[dXqߑa7I[vW?n?ۢI~_6;4KeoơRk޹~"'H~c*$=>ҡc4sW~vρ%a?wN; U +ؚ 2z2]d8aE֍sd8طGVpL3+kMhSds׺+@~ɟl%=W^ܤIﴪ8|өY)dYC&6Λ Qk?I%d'ø^$Æsӑ_\~=wO.t"Cvʑ?_%žۻ?\Ъd 3'==U I8[eDiG%T O%CO"÷_|c2x%o>NU~]d\WvH?Uã3Fy?}0+mUoBVVDuve|Ua W#aL71;Ugٜ{ZpC ]۳~;dm#?ks K?;;>[u [UO˿tcK噯D'G=tN"?$*^&1`plJ~_BOu&~L ]8(.ѻMjH#Cp+dƺ&n}97 z|2]Xk&~b}9%)7~KJNl?_g+/V~fI Udx^^Wd+cdXrdX:f{;Yv\2;hW峃v^45!^x d8;A;Ao/={v UWBi- ˣz 'ûMem15ɰ:L2WRaߧU[K*džePS5qWva, n,a 2{.&"$.] nhGI俼kPkj:0Vm\2u4pl2C&4U 2xခ5A Ņ=F~PQo_5!-GϙW&s̜͌(M7wlrƫLDAuNkcVڣ_ lve/\pJi(]`1#}q؀M%!;*~swL^=d'‡~J~͎:Zؗ1~M;:S5Z7ͮEn}]ac]*ٹ4]/|V=]~^}ۥy,/oMMW+֟Lӧ{?cxӨAegeg<~?^^mNI~d^Mq8E\Дo1W4aw^]/p.t hҫ6}v~@jyϒAQoji5:i={n(^BA29I&"9Y'Vxd@G4AD`g1cv*/A9KEmEPDMUԢ0hm ̓ < m ̓py06"5p6UĶ@X< W8chm ̓py06"5p6U@hm ̓py06"5p6UĶ@[FrX; j`]qh6`$Ɍ (@@b|s{ct4f/aڊXφ 9%am{_ Ð#[:ߦ}/|BvV_ KDs9>l/d7 Y ky|0|/|B}o0_ _ 5g|0'/d}$ 9[B_ fc}/|Bl-\_#Y 51p  /dfkxk>!FB_܅+C5S nSbU-=[ɮ.+]r}ګwP*Uw:^Y;yy;_ Wer^BUEPzUf%|/^Y;z;_ We^BUE󵗬PzUf%|/^Y'x;_ We^BUE}2PrUfQ|/YY'Ey;_ %WeeޱBUE}rwPzUf|/,Uf"&P.U.њ̢^ }75ޱBok2d-/dzZ8_ !pzC(Z%k|/P&KB_ hMBњL/Y }75ޱBoEk2d-/dzZ8_ !pzC(&;B_ xMwBњL/Y }75^Bo}k2=&ӈ]KLZL_ edbB_`Mo-/k2}k1}/_[ }LZL_ dbB_(&ӷB5ʯP~Mo-/k2}k1}/_[ }LZL_ P~Mo-/5&FOz3OM5f mŪ5[4jIAT3[^ZkRķ S5ӬMdB֧fP~ZBFa6cUo229U5QtoFQ 0 ^*30= {E3E)3#<^X[z:#m2gH&&Cլ<wX= ՙ,,1U qrU铓P$}=q̟E&Uc`Uqye%gh XDB>oՇ"ɡt#LGluH:ިN711ߖ@XP$-&BZե|HdƪɖBwz1I,E]X:Idմ)VCX:b61,SV;uT,b ?'2S`s6FA/w ,f"orE-RĥxH nƤ+gXm ^[<pADJsѐe_wP]/MWKi6eb=\ J,aWL/Z3 u% kwAgI`Ÿ58.mb4q~+'I(Uy$A KҨضbU[3Mj?ԩ B'ꓴɬNMMMRFXZm1#L8$?ILJMĞP# dAe45Gff|x..VӴcXtTRl+֪RٓYMDn6̛̗P19qdډsGl̬72Ib[ 09thH3!b Yh*ѵٮWw.%{ޢzs%{B_a- }7E/ޢzsX{B_aQ- }7E/ޢzsX{B_aQ- }7E/zzcX{B_aQ- }7E/zzc#۪%q&>EΫQG"Q;ʒn Vꇘb9>_dmމhh \7Dspݪ>A4?h 8?4!Ͷײ4%k6Qce=M]wnMoU~Q7Y;x7W[=ی\E~o,iԲuViZ}ҦuK5^65諦Ov.j5o~$ƿeFo5ѣdWKi|y$}pwb79U5Lה]?tmذ&MLF]4ݩQX Z]/T5;08@9_ lp%uoTW7׽]aY5Me֞ =8uvKHw5o8sα&_R{Q] |Dff+-47V A zilGs!4;0m?\*`Q?jfc?}~άS9/8<LSy/O kݰ?`nmUi7}Vƶ:M\/*G$IO D 9TH؏2#,D$'|GgFw}gH,CTNF$q\#&FykڧOf sj5 Wq0 aM7ݮŦBuv5vi,km԰;f{.La;;ryXS}V '" U]p̾]ۣSz5`fk-bp9.t:8rjΫ_SіkuˋGij٢ 7drk^Y!}kiOvIE:-kVXN#M[| -gKL'붵ٺ\&fS\tRw v5M렩{swin >P8|-DbG0%]A喷k[I|%jeؗ1r7?\~Tpd儌7Cz:"U#jysYq\X2~zg {{O0pXMWѦjmKOe;1#(gT_ FF1Ş nna ~PpmU5伯K տtw;3DޝNK%Ժo[{ *@ m6um/7yJۈJ5}50LxpsfEw*L8XutA}bGknSmṋ7ڽ/]k¾vzXkC[Vk6@C'@[eMc&dڿՖՉ N).jl8_/WgS;,|c?LW~ NǥTdBڑ'(H NlsRRe Y:ET~SI1V`"-L|]k{:]wxLNp69#(r>S͈pSP䜄"P"_(r"(r"/(r"OF䈚(X /Z(wo\\MKk5!!%Qry%h>̉TxsW\k*nzyMD>T&8f=fWX^ q늲M^ՋJ v3O<2 dXc0xCv~J~͎:Zؗ1~M;:S5Z7ͮEn}]ac]*ٹ4]/|V=]~^}ۥy,/oMMW+֟Lӧ{?cxӨAegeg<~?^^mNI~d^Mq8E\Дo1W4aw^]/p.t hҫ6}v~@jyϒAQoji5:i={F2`FF23lp}ovl}_l v8tC̉yǃ# ;rV}NK-~Q/7<԰;TnGSyԋM58TQi JM´2jS^ GڤQP!CQ4p0:< ,Wdq #a'u ;BQ:t`TBQ'}iH6*a ȸ 4*OݒͿ'w_ $!TSۼTI::Tܯ!o ELQEgrhLizBncR[Wt!On'|b'sI`3ZLZUx[eznO{o5x-y`鉫  j8{m u+Q-}^~k0 joՓ #6&)Ϲ5a*/dٿ΄idJde_%ot+Yt՝+ܦmLfqTX*d߳.PD}'컮<%w{~3*w5wEڃm׎ֳRMoWt| 6jȰ),\ASªn:YV鋖zj]bj >G'Ȝ~uOA'\COw%עO:[:~⍵?q%%ÈSoh?1DUL$o;X^%ro?>9a;l߷3,=:流M;5Ph5zF 15yBydք2 dzp]O8Nzƃg6hPo.wc^f޴__wScvۯaʩWoj:`__1:WwI~ibwj_e$d<Қ Z=u콶c3ݫךeLݶ{Gb!n=mL??~&m.AmgU\c?*#l{~Zb?[ʽV9h[U^l4_A=pصm:ሥ&#j_Z`п/eP|fp3j,{dXZcɰd_?~tv2~dx{;V{m'9#~u)lC1W1N=P=g/#^/k~f9C>Z3`M-ˑµ*|FG:tm_ߞ3,oo%0 oaG}GG<'o_=s~?o&}[t9n{ٛ~qTwŷ6ߘ| ItX%~js`Ffӿb}Cu'e?}îL gi6NXu9U,\1sS3Zn ~J CtQkvΞ{Dl/{nҤwZUD_Ԭܔ`t2~̬ġ~RRd娵ݍ$2aܿ}m/aù_H/wqzО;Uy:aYGjp/]oV%KLim=QU칭VoH*O&2L;(|*N~{+ypo[:-$7o5"F6kNb;ƭ T0߫ G֙n.cv.Μ9;l6a?r.g4v F~ ޭvvϵ}< ['j!Ce ʛe3_^9՗IT25 _﫵U~񉼚_~I1 et%2dV/5gs3'>ڼ$[]Vl= [qȓlŭGV<<2j\uxleGOjV =Q5ON赝 >}I28o:F%WlmKc+h71/v Zs"җpvnv]yA^z8p-'f}WX-;h[i+G>?NwC\^OcjauKdX?OS]j?z37dgIE?0 Ͻ,G;R `_yyydt3Vm\YX}Uo>z^(ɡLYsgPQؙrk VU!>݋O#GxڝQdi^ wgPiX t/|>CO_ʷiկnŅ>.Wxi~/o[p*jx{y |Ϛ| /oWU\:o_\p?kv=+@oKzVw-?/t*px 6x䮂Y\)z?+Z~/ݗ{~/o#('pN 92(/(9-(M(DŽ9KXG $b$TsuPN*֣Vո9Ԃ}bˈgˈgˈgˈgˈgˈgˈgˈgˈgˈgh–ф- [F&lM2e4ah–ф-#-#-#-#-#-#-#-#-#-#-)[FSlM2e4ehʖє-)[FSfl2e4chxTx^N'w ֏Í[LjHYWcAq@NňGOnTx5aJEF/p4v͞ {۠_Vۋ~p&Y<=}e&1ܛެ[d,v n}[nw//;pdjEN[ۦkx|63kͽ }LLg3n_ xroh:ڗ\jc\ xtۗz^OrG.nɃNasDF_9 ۧO{ܫZkxU{qX܊+K w59<:v෈+΂#iڞwOKwmS<*[7Vu:x㕑.wMo= vy gS&$e6\puvgbAxJ!R:t,D_qba@0V=GV`WmU䕝V}OvZ!dP"Cu14|ݖu[73,nKuMaT%FU5=f&RIaP.0F09i&t%sxIOtntՑHvkS]\{n=Yƞ#\"a|W놨5 .;%ӄTY"R9RId(.3UOt|]M >V ?ǡLjX.-eq|U,wZ:P:^LtKg=ǽre쏞Q|2ww2˸B",|ԳyJԳD=G`jycjeW'`HzQ.axhfN0P:?N&63R(ɛAbɯg2d~P}k|`w+eb:իKA:)yN`&N[p4,cm'FxWHGZOo7Z7]m6Vi[|]C){DSƑFٿNƵľ4נmSqJMkL% 蚤pS6(KSsܭm2O_3^msB/?62_=^~wZe^_g,T<ˏii~/-SO+(Q,}4<\~4M:7? Wu˞*|5a>+и廚F]ijЅu |ghGt._JΤ{,? fZOK?S Xؤ=^682Xnt㕡d}ʮׄ-_nw^, 8 `]mQ' '1&6jKDǛ|0;8R[[7lÔ1ć#c8p&#yz<+ wǥpX!Yzʒ1JZC:⍤Qt4izJ 1yzȣp堛]h4-a7=.o '` ѿˁ/rDr| &O\5rjE ܅QÁxP:7` =}y*‚[U£z{;>\\Yo^oի6-=k[*]_}Wqrqo.YޅЩ- gqzk|zw_> X;.w\X׎EDю%Je?WWU-fvf_׭Nt}Ni=-͙E/[lr} l)SM~.Xݫ/X5zѶu`i7w{zy Uپ3,J~2輬㟂~Cׂu?Mw^Ձ7wƶTxu9`exmz8쟯^lX>gQ zw \w,RaU`V`U\nn+ͻ&lDYUF|,YdP삏Ͽ[/|?X:AA#UKʽ}g1X3s"`O.e5 Vuja`YY,) :pG*XI%5 nʘXmڝS#>X>VX=UX}i]ӻ`E!?UV-y`꺡_u ;Xrj_O |ʝ.:҆Y-~o7ځzp\Ckf ݬ%E6GZ.,ă⢜k+E{rO2xM#wQu g"B' iDd)S׋^Rbn׿8ӛw{_﫨 FU>#=IPO' s\d[I/ј#8\'G)YZm$]+aHu+ ׼i!ccaaԕl:Stރ"dZs{d?0(DªE+Nu0.Lkk`G_=nSr&ƌDr dž*aTdNć 0nLG-I0C `0_IPuZ Y=JNO P+PQqdwg?YY"9M$uy9RPU 8!OA FkDW/J1URDf1ΔUq+ `Zx(ylq'ZMN(6Z=aq6.S+6Lo(CC5щ"RX(Z*[E* Fx^2TxHK]^"qͮgVx}-M_s/-mkZln.,FYp [ZA>n b((<%9 7HRHI$= V7xLU(L[3:fwQݽB J AUKr KE@`GE@ MQA{ 5ongvgv$H`evf޼̛o`IdWCf%a8\Nޢ5$1-Ur1~91X>Cf.71N?sQ *(+LAg4LwvVLe:^.wa pSiKR ΐwyΪ^) 2Ƀ>7"ťN@n",r#DF7ثіsۊQnZQ9X.U ד_cXrWS\@v_@kd¯xᵉRo':p7rIpY.+t$\{_.KX.a8tm4ep8t|X7FP>/ˇ;5B*FqatiO&BY5MoU1eE^<.y3b5o[Z/gw5PPu}Olm}?ݑ^?v82bo8ZE=6.raƧj C[s{_ulڿ( 8}x;x4bKnąlWPv4̜L=?|-YmYwgQ dW]h\2?ȶʡ'O ̞mf;4lq l7m jt[ƏyvdsON}mwU-?@ efg>ypn>fv^"5+Ő2 P񏀜*e`΢OJE?e(X!YJ1ã3)ڪ/+SesOTLT!d, c1!RKLD1,?4SݡD_NcM'\Ea3[ g#WIfXc0hXɬIpNÍbo2UL)]E(N" L7LPJN-I*BZK!X*" 6ָnw5U|)=>C4Y.,d8fN'0j`9SgtsV6%+%oNDPp suF\Il>Ӓoj)Wo+T=ոr#>L 2eI%`ằC&&p";0rq\?܁&12\ansʰAM7-:'$S/*9š;%>|"eA/~eeg}KH72y9CKl/ʝgGs۲WlOySϳT^S^-/|xm~[/S^Cy+~*ʸ=ʝgw2W/^/T4Oy~)Gy?~ ?[~2.ߏrYx[~/?#d, >yƽ)w)wOw90+)1,h->HYvޟpJחuч+}eUA⏢˝gwK)u'>*?νSg=< - Np!!=\sDPʰBV(n9rˬ?ԉIǵ⯙`\S+۳K}11kC]00OX;b4(`4T\N%ix1y'3q%"M4#ۅHR8-ZG~l%B]B3k]CA5*ja<ǧ[ C*S&J#(jNЪ 8ѮaaFpDVy7st 莣juHǻ Uut|8>ǧ| ga`K4FRu&SUk1O`z΢)!f Y)zC `7 WiY=lqi4Pƫ)r+F çKG>L_q-pq|?>ne1OtȴⴓdXW&ӄbDڕ$'/t2^y.O9ix94_*4[v(B0hi1$;,̒rE'h8x>::Fs?{L3%$C#m7E0BA 0i8g! =0Fx3x_1^61;?XN*Fx{Qo+рsn8sr8C.%}\DnBA=Dhc~PXM?j%N%F R;QS=AHrddBʮՅft|8E:[&ɳe'4MjWsiF<)]DDtΕ)Czd˹J!p)[`Lnhs@) g0#p=a-^WXUxv!\7+hQ/5/S!^0}Y,z~Ļ?#8iOWڍD}*OXf S2/Ԩ+FxI`=Mȉ҅N;Œ8U7$i9zuchS޳vcWhk~eX]} Vt@-k\"yƃqLÅ\dp2ypgݥYio` [M $x5r̜XyPhH# Z ?yCY)/0g㽺 |8pIřm`| Jɟ-@zʤ4 ডtBתL4H !$*Sig1N<+SiLtYLK0Ui2lO+%T,/_O=-!,e{Zٞ.gvIj7+˙ F1᠘pPL8rPL8(&Hb p(Yxx")&D1ńCPL8_;͗J1᠘ppbWL8G1᠘p@壘p`r/G&a3&4$a)U fŐtktTC!j p@1SA9ٍ(eQ.yʸjNd3 FiˈT):`3Ҧ,֬lm޶;H&y\j}SV%!ג`֙&AQUQ&>$dX mPL8&! GR\(8+jȴ3!^C:u>-~58hقM`jVfvO0Y&9ˈAx{XF>0f$!D*W;S9mvg{5Ytn}S*{5>b&8OL9YϠ fS7,G!0xגT_\ECvEdຌeDD?u)RJrRU=KZo<KZjP#N/d\.m6.F ͢g"^GGe~m@ZFgW,<C gTwzcPz.{p1w#HH-Tcut&7;@aKexj _L!Z6̅#QX(~ɜF팏<,Z9:l.U/jo'/ 󧩉xO ruecMLn-9^ Q4YƴlZ㔍  MI1fz@?]҄r#_Xt|0:#QɉX |x!RiϪ7K.kšzŎ\`\Y` A0+ a%*ޗRFle8֫7ӴýF:T?,NM;mv'44ET b&yTJXC IqToHyO}3(|aX\ݟRrPEѕng.^L6~g;wkc S;F۩J^sW Í~we€CvI.>n]m[=51+i[Afʃ?Ξ989?NNL>=owLNX{v3; Z]}/緮 x/g+ߛNo^_GVi|gty}g3 VLrЈ8[aKO)zӏ-z||ya{_m6A t!=L0vxێg66a|sc9|b^lϧUX}Ѽ'n= ֍1}Owt?(<:ѽmoJρwd޶v^vOܾ\yVB7O#\ Vh~hٺm"/Y`:kɾ'Ϩ{Ω|fܾ_m\Gl7cκ N>Բ)| xc;΃ˇ=p-sWmBp8?G;pB&jN&1jM9v}nHh4hi$Y񢈚_ JO2l5E5 ^t+<Ԏ }*w-:Lf]`3c%/IS}zbẶ\pL\\9˔7Y9t/NJl  S{"1⩪8!@\;:!%bBׁ”ijUuaA ] Á4kB~O\GUCz⢪"絈yQK{tRDş.XgYꐲ9dts2?AapHxFTv:D/3Y Y&*W*D=VлPR{ 8Rr⢼8\N7{[貓, G ] &FF|12$*-j#U"U(OP,a ۤr^V.'ʧ\xWIJl(zЕ(B0ar̞6TE %OD5Q āDZ,"eR[OR%8h3Dm[BY)(o`'ȝ2e*%bԙ4}.hn0LsLpiP^LȦ\_m5rJj]@" f'!JD;[qCpefk'2|"8nԋpa;vsħ`߅s= i~h?ӇO*^ 4|D{_ieo ?:j rULsxgx4<ƃc0?bzƋxLC|a>1^Ga:/9Gv˟7 w/nS.eܦS[rST8NVNZ~qSєK?AƏZR|`<*%Ӕ O4R.&s_1>\-jR}+;v&\r{H6%ҲPn/aK\Un/yijr{|]Qn/^NŠBY^rܤX oTsX uE@N;X Of bܩQ,+1Q,+]|()r19N@._&r|(KLJbriTr b=0N@X g9YPNL@-! 侴72, |3yGOɵBz>>g ?4yH~msR^Gi2a_'0}LmG/`Q̜oٿ/KǦ8>ޚ8(3Wcya9bjxxؿo1|^鶮TuujNv&QPP'glpMb8-H* ğTC)N'rc=^* Iڙwfglf`ҵ&=[gcs/^;;EJ Ijf;mܦ\1|7 ?>A)nh譢^Jė_B&p'Uޫ3 J5}-zCG3N *`| CrI&ON3e`̬4Q8ǢOAt?h>Eݎ5CqεځޢtK,/[C58$C褣5B*/ZE7"yWLIڂ#}oވ>@u@R_KYk5Ȕ8G'&Px%JOfX֒O5'ǐhfꖼDvOt<+q*qԗ%mPJ~۠6,% KoC ~axz΃<ė2%CD I)mR~ߦfy0 Gtn?PU?PNQ%@qT>P?4WҎJ~[ [an#ǃ{FV) 6Om>j3۵Ӷo? .'{?+<},\>{*٭|s5ݪf{׎ V/d#~(x1a>0>?.| |>QTwz6Iav9y;x$8ȵ2(oћ[u7q;~>gJ[ԣa>U7>h ]qG0E 8?wۡAA ol M|+7AᲤoִnlj'MV^,pb5s ;fcm n^̧#lg Y}vQUӋl#6?rfmpcWb||*nOm56lMI߳\>˧/oR.+o7v)#n37Uxx\@QK$ofW>U5K|W}/.Ο;ltP۵Bv^7-FpsOj?xPkp_|4Bs'm>&6IBƊ{˕ؓ}ED k%(q^sub0_'Z=s:ٴ4ioz{b'o5N6j,lۓ1V]_e묽ҕ)Nek?zUl:F~ܨ:mӳa?֫[/rKXsZ'_]j]9[1غCËu<^O4uE|Y4wؘ6ejSS ۆ5\}?c}ýٺtdFg% zվfgїS=sK5j7G:7v'>j_lXKlufޚxwC->z?ڿ=8%UD ѫϨ˥֠c? Y50669db&(fJ >QAߟmAWjԓ>]ޫiYc˥/7ïp3dKJf#R@P{6&#+B8(LYRV,-~DO,(cJ .~w逜w+eu+`2ytjfsvmn/]Aa8EXS J` BV^"N0Y ]nTԲ˲n'6^T@q!rj4 ig W~y(lJJ<ny3}?{mgƿI:Ymۛmo= \^Sk[k;N1=nq^Pt`Dެׇ*8mE1څ\z~~q6pNT?̪>3y?Oɼr׬\\֪;8PXĘ>`AUZjo1庯cͫkĽ_z+8yn>&o:+=OX }$oX㹮ZE&Y#ls#r7zBDm/Gp-q┯ׂjENn$k\d.4q'(<ՠxYAǯ jV71/c>xefS-b< 1vܝ/7ďtjz pÛfO)A]7ZŌ/gf|vqyf1rM/,<*c%Rx9߃ywK9èŃ9Il)$=ŞՖwė@z'x\_irSKgK9^Oe,F3d(LlZ$֗e5C1XΊUHPOc$+ [dWp\|*dKwd5[)/'$BT)E_ۻjJ~izcJUpR7@{cፊ#x՞ҩtFM[ 6(.N^Y:9lY􏪔?u)l<y¸Xۚ6 Dzٰጺ2ÕRqv s3{9v~ڞa8ZF9\Bpm9] ¹,st gv.CmΞ.ہBF.ەòLb Pc*#O?<@Ŀ%o748aZf h0Z6셖 5^.v/`j0Z6Z6\E-pp3lͲaOjٰ̲gn zlySLc1v8TypFFa\ ˴f\vZ|in,HBwQ2. k+ݖmn<'pŽ?2~]v%ܟv=\"RR:8'7Ls;htG9:E.x#a$0_>^^Fy!.u#Q2rB ~6qLљHknfWCT&Ӂ}X.bb Ei.G^pZIɔϏPrͥD%[8eDc}7pmwq}m*#7,!owvA~* t}x xqK4U\~?n6}apSr5~lj*f{w;N?ݗeNya< 9~ ^y$ jwz[}5'b -F{^5Ns|&ݵ1:$,^KmDj~I񱍞֌W}E[l=jkި2NwGm<~ɳ񦂲/G2ʝL>P9x=1] *iξywVNI9bѐ'nS&tC w[_l|8SdspYxxᒶ]}1,g˳xͽb5^]Kfk9*3SU@Iz?6M,V}6]u]QD˘WI4x(-~r~?`O_tP5'{ Y͇܃Cn[8˜˚܏u>P]aߝ$u>_A>Nj[qhw?x4<)|y>Njsrn1w*Nt?_[>+|t~iYӹSOyOYZcs3Ž/]_?[VNn[; =qӒ>‡淼>兿{M?Oy駢V_ygϽ2,|=xɝ~ K9Ut> )o=峢~|+ZIe]_~%}[~/?rg`x 'o`%| #HZ6-~i_򉤖IEIEIERk ֖kǿx_Ox2St8_Rwk-'Xy]\\6ggU\QD>Л`fzG@HzB[|,W+uM7vhm3 cܫj W>'5j`D)^ /ANh iŌ jMC=: w%*X@QӠsIX$W9:\BJUBUm6dGh096ϮpC8#׆ABߑo5ܻ:=5'+Bq #N NNst!VZ*ymTuHa ENLK:^F:9pDh0bjBFu|i_G+1GE"wW5/n՘@du,x iSf=0A񮝷eYnwWw,0f[eɴk"I󈫊]>3,hn]9[s;T^[L|Y8erm'UAqX*ײR.kt\>UwHEXJPysX "awXHʑcwGQJ ÇT+c#EI{\bp0|xYpp$_c]FaHbwv;Gg&/ۤ>?>Ӥؽqs|+3 -b8Eb JTKjCpen#7>58+Ɓ>^[ lxʆv}o,~\ںhCֺ-[AF]AA6v6h; X· }u@~1(X\zv_Ξ]$w<8KhZsd9v`W?==Uiqmõ3Zuɿx`'(-ۇ2_ ~۽cHpE_xӶSA k-_~2a֥+.7 ;t{BhyW:8$qɹOc5 (r΂AU p2va;~_Hgb ^\ P];~eWܭDK˚-'R PphKO,K>NwdlzOQds[lwv}ωu5џw{?6o:eɂ?C֌j5 K]>dpW/z4N?vn;D#/^#| ~vĥa+|ޠ6lЬ/oZn8U ZqmJrST8NVNZ~qSєK?AƏZR|`<*%Ӕ O4R.&s>hWLY 7fe(}8jXqTB0#8D.2iF" fcv->E5k (5f8AYwqtO3P?p߂CpB8.q)hbvGϗUA2ª!bѻx#{J :t^%K8\jG*T 5rU ߏ` 4Q|>)[` `}{ ms!qS8MDe>%G yCtc9z&W#0!G.ΛƳqoM(htPm^hB?^uzO{hSv7aWh9ttk㸽]r+xM}QoTp7 ᨋцc tuzC# k <~06./p\`B1-/5H2r#|8#hWApayDyy7@`#@Lj 3gw{-ו lߩT!w8%F2BIDM1)|a7#W6t4߉tu3ǥfl sӷՑ#nr}qI \.M/Ru&SUk1duV6ݜ5eZOѵfC925r,5#&Ӳj{fԌ]MK@#DQ3tof0}%Ƶ|fne1OtȴⴓdXW&ӄbDړ6繪O;Ug˔dWnF~|Vg\קxQ8I}jx\OQ,#z|Ԗ'Mq]/3)JϣeU񪎔4hьvG]^][tc4u;F Oҽ4OڒDR@Nr>tUTh4r1>|i|L%JϻOtyMwRق+v1 bꠧBKjh1Gǣqūl8#ȸ^٤WUhtvT[ uW̅{(a>}#0}4N\d@L0%fPx=D.$P},SAp-1zka&{$6/N*_퍬UhDWPxx&HIWCnU⬘>cuYf,_dESZyjB# H~i]z7u.OC{g G#=D:\Wc|O|' 8S|*ϧ%!DxD#OuiC9"W{ƖĆ-4 9&k0N:AgJzibH'5:C*& B  i٥ WpQSɸgnN;h|J/` /@=kx>K(yD:k#z< N#< s:Oco8x6_xQ5gk|~1^:?6~֜?ADKWdKHu(<iJUyUZt>9i Dv/c]y rW∓U$O/+g1S~a)mX~J!y/A%؍L0MJoۤ6%6Cs@c}.=L*L݉x}4D3*L}1Ub~эM ^vTc_7m]rDzIڶg8EO YTܘ_3h 4Lmbp}rX;g@5Qƭ=:hс] `e+lzn5X3کgmrDp4'üޘ|\poc_<pLÑo-`ش/ Л_ecйt?__e#lVZ۾*pxdǏsb5v~SK?N8͸qSmg;NvamN>@a'7*8̀|嘵Zv}a+m*[q#G",U|AߣlQ]֏ݬ?ֶo_52X^xk_n\~۵)~~&WH^nqän/\5zetp7Vm;#ă/V}mUs9l@H`&2"r*Wq{/;JIJcxh\C(q:zfYcc46Gl}=o5~M6'_lV6dk+Vk۱uuQn|:?ؘ슾tl=MΥ dkWmSۣ2[//rcX_;[҇7ocT+=qS [w5sdZZKz}Ã>n>1}:,qSbc~Y5Uy9<͒_ٺ?tlg~Q_}6{)gQ+Vjb؇Wlt×[o`4j0qK٘V2!ؾo?^W0WV܆ĴlNw`[o??7[g65xw@5'6jlz%Cӗa5ix[֠esgs-1vj0ܪF7?x[ӤYЦp;^v6bǛckY? 'wYm A|42pzH1RuFМl|Q ufUVu"I@,pRV0eJY_eŊQV+ϝE2V=U5pohg/t,IkCVWTV A~'8pg(\N>1Ɵנ#<)ᭅ\^ʚSqW.PN..|j+ݎ=H{C܊Z|Yp;B8E*A-pl8V,[-v=Tnnݱ*(L r"8H7^X7dNpu+/ם<ܘNGU~]m?g Yi|UGXqfmp!JO [? \v_7wKY~ ^hDe;0-_}vqi *V8auV0]~*/q!;|yԁH^CF$|q?UoNg[` OdZk#ډ|E/ȗ$xI$%IKR[xcm95bMe63\~g6#(x`]gNŞk޶{^j/ F/#I~ qdp zl\#7 O#L?| ~?f:36PiH]"@]t1+u ˸ TO7\37yfcQ0rpd PPP)vW QE`z~u^ѷ$T }_&z[M"f7;騮J4C]cl^Gپ72LYfTB*~Џoϟp(1b! α_7p rCQX(@@a-&F)ʧyR#V5]ܔH1y²rpO0C 4#±P"o } mq Ë`xUQ?0\JpaxeF@0BdUB3BAc 1QX‰+`Y."qGKfV.OSʟ_~b$-kſD¢Y *gkM<_JB 2,@< 6efԄdRձUuGXQ+X _~8XV}鬺t.Sύ4q%cvuU"+JJ͔nLCIr/đ{>tp8<\|0?~ e׺Ll[U_{m{We[}rG+abB'0k'Ol";}wZCOe O]~q7 "3Uߘ6dM1X,1P6fdb!Ǫ7MZ :>&%@YAZmjAv* Ǔwl̩)SxN8~n}㜤fef3c-ÄNϒ[/!> sG4ҸyyKSK3篺OAȈ^!=j 3}Om{@xLzkԜ5ApCGLm-#}_b"PLj@Xۇ%L;9L$[l!0Mo*j2"{ys"Stf!T-*a#YiW!(} VB׮LU1DjHq:7C;O Qr|  c[HMA,.E7$?(& 1>+R|5MX%ӋH)r̓`|Q H{[gUD]uh9ۜn0rkaI Bf}!+ˆոЀxtM>O 訏] pMYVּ5oe͛Qּ#Iri)k?e9DYVּ5oe۷Pּ_Pʚ歬yCtʚ歬y{qKq]>o&it3u1g(m=YBdG ~{J1b6o^_o^'/B6(?}W52!x}8!/"Xen°R a04)Y)yurtnxB|)]ၦ#~, n,clww p> >jkP>89rzl3f)X`P:Kosw60&m'Oր4zr?ohy8?T.;ռhe.{5#5fk21?xn|<x+73D6q!XZ՝ MsR]U: < ltOۡW_f=!eV5ic$PgZlKƌA]?2|"ey=`;̉5.]c_/~5l2Vm{iYƷJN5zǚ==@[9ny ׍'.7pezOtO/V[:;'&[6ز߯ve)oc9Qwu~-N}뫙umG^\`XQ6n>;xAc`qlϳo}lwkG1c/AyTM??UWk m:>cX./v솵m_`4' >t`ΓjjWMG/mo֚V2|>tث,2jZy}+/v2?Pg5捺1ڳ ΜoL_i rI,+Ʉf  }LSX>&Ծl2 ||CM lme4/inst/testdata/lme-tst-fits.R0000644000176200001440000000615012565075351016367 0ustar liggesusers#### Saved fits for lme4 testing #### ---------------------------------- fn <- system.file("testdata", (fn0 <- "lme-tst-fits.rda"), package="lme4", mustWork=TRUE) if(FALSE) ### "Load" these by load(fn) ## or "better" attach(fn) library(lme4) str(packageDescription("lme4")[c("Version", "Packaged", "Built")]) ## intercept only in both fixed and random effects fit_sleepstudy_0 <- lmer(Reaction ~ 1 + (1|Subject), sleepstudy) ## fixed slope, intercept-only RE fit_sleepstudy_1 <- lmer(Reaction ~ Days + (1|Subject), sleepstudy) ## fixed slope, intercept & slope RE fit_sleepstudy_2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## fixed slope, independent intercept & slope RE fit_sleepstudy_3 <- lmer(Reaction ~ Days + (1|Subject)+ (0+Days|Subject), sleepstudy) cbpp$obs <- factor(seq(nrow(cbpp))) ## intercept-only fixed effect fit_cbpp_0 <- glmer(cbind(incidence, size-incidence) ~ 1 + (1|herd), cbpp, family=binomial) ## include fixed effect of period fit_cbpp_1 <- update(fit_cbpp_0, . ~ . + period) ## include observation-level RE fit_cbpp_2 <- update(fit_cbpp_1, . ~ . + (1|obs)) ## specify formula by proportion/weights instead fit_cbpp_3 <- update(fit_cbpp_1, incidence/size ~ period + (1 | herd), weights = size) ## an example with >20 fixed effects (for testing print.summary.merMod) if (require(agridat)) { ## Define main plot and subplot d.apple.agridat <- transform(archbold.apple, rep=factor(rep), spacing=factor(spacing), trt=factor(trt), mp = factor(paste0(row,spacing)), sp = factor(paste0(row,spacing,stock))) fit_agridat_archbold <- lmer(yield ~ -1 + trt + (1|rep/mp/sp), d.apple.agridat) to.save <- "d.apple.agridat" } else to.save <- character() ## data("Pixel", package="nlme") fit_Pix.full <- lmer(pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog), data = Pixel) fit_Pix.1Dog <- lmer(pixel ~ day + I(day^2) + (1 | Dog) + (1 | Side/Dog), data = Pixel) fit_Pix.noD <- update(fit_Pix.1Dog, .~. - (1 | Dog)) anova(fit_Pix.full, fit_Pix.1Dog, fit_Pix.noD) ## Warnings about non-monotonic profile (and more): options(warn=1) # print as they happen {interspersed in verbose profile() msgs}: system.time(prof.fit_Pix.f <- profile(fit_Pix.full, verbose=1)) ## ~ 90 sec on nb-mm4 [i7-5600U, 2015] signif(confint(prof.fit_Pix.f), digits=3) ## Results in Nov.2014: -- now .sig03 now shows [-1, 1] ## 2.5 % 97.5 % ## .sig01 10.449 28.909 ## .sig02 12.951 48.203 ## .sig03 NA NA << ## .sig04 1.073 3.066 ## .sig05 0.000 27.794 ## .sigma 7.651 10.592 ## (Intercept) NA NA << ## day NA NA << ## I(day^2) -0.434 -0.298 try( ## FIXME --> ../../R/profile.R [FIXME: show plots for the *valid* parts!] lattice::xyplot(prof.fit_Pix.f) ) ## FIXME: Error is ok, but error *message* is unhelpful ## Error in approx(bspl$x, bspl$y, xout = zeta) : ## need at least two non-NA values to interpolate save(list=c(to.save, ls(pattern="fit_")), file=fn0) lme4/inst/testdata/polytomous_vcov_ex.RData0000644000176200001440000020602212406350752020607 0ustar liggesusers\N%h("8p@*{ZpOD\`(E%mi:8^[{fgLth :Ձi4#ZB0^`dd/r${ΰ#]y,$MPvG5wmvUaDJΒ9Pxvа< @aNP$/YT06}3K mgu e c(ưD8=^ U^9@)^  tA䒆ưx Њn))&h}}:u8A_u)>qY`Brla$N&WpPݬT>*q 8WnerJIӣ +D*TfEL6Sq؁Ja mK1 A;H}mJe%V!rR% P$ANF',-*FkG2uTKAr ŠY0) SD9!BAЯ[*bjx|_T T%Zk(A9Ҁ(U_}(!S!9O'$y'' pg(p^ғdE/"eB(¥ oRJ|XŽn 9 ЦTz BkN1.+#K\jQj\xEKeڴiCfH)殰@ 09O=8D(X(@XxcGC* *5BE 0$dr(LTpzrC.r\AJ: 6=NsYp,e|&,!,LN` ,>3 fOV(!\QXA/X'EUƏ! Lȴ$|s' c$#;,! Fʂ 4ń & b!9[<\!N2EЊ!_ g"$s[eG-Q|xh ,璨Ԍi]-i؁0S 80 "˜ `lK LI -d]Wj aqj,*}4xɴ}Nݿcrz,0>W떸;JH]!q|NA1g5{j{PW!(r4 Oȭg2e_~E'COD pŊh(lwvua7Be3jx̹K&Oh/2 [i(mi۵EyM&J>,a[UEz.[M'I αY"1x(c_}foG&u̾ ^scy w!>[vfREQ,jr ׬E_YEO Sp";H ო ߱kcEIv-z]AN3_% 5xT#Q=x\>M9(s][$B@8&[<_Ge3E7{}}\g=*;:q鋬gRj^ ^M99wQr?~3-vYHӕ˴yImE߷x~"ȪcG# mj,8w|XI s]N:b%$ώl2& _BuoI]trRuENaZ87.\o7)?{U_ x4jq54rMaMDE5w5}X)Y_]KS6ƹ+jPs鷺|o_ٕ${W|Z uw|c4jDz뭑 SO2ZXxvO #*:o\!nk=+$6IOÃOWϾ#rsc3D#s& |C䲎bW,/EӾ8TemmDk>_Myq:v֔DE Ȅ GҌR[яo 4E_ч:V.뼲eKr;jH:2K>ZZE@a@{*A1&= tfoV^_^>xYԯFHotffo3iө/?k[Q{HMx(>м3:-rWzO$T*JWuؘ 1:g? S]J9-%z{KOEOiY]=a$(tMn:SEOf_ܷ918w| fsғ]5ojB~ƋnT;?]tMĤyYe9Gl8Cۍiys-#E\ ~\ꖫGoivOw` zӾ𘷍BDyY/|)}mѱDu.2`}8<^~l(D"D4 R^KrwEII-,Ѵ[egQ㈨鲒.W,9_P(^Zd*Q-FM6?m{sݣ,ow`r--yߦqCxOL%Vwiw[QKNGEi Z$m_bg#z7^qqCNL DiYTzp|Ѝx7=C'֯h rxd wr& ) )Q+R׏l,lC/1rX;4 ~]Z(g/됈2I>PJOuir&| jHP35yh-XQ|lqߪ,RTc;V]1Y2*w-e^|kQò1YA|nՔ _t AShu *6:7$HQ'oТژ,uDmX""Vb*m]|xDYQԆ MY;U(ɓwR5ӐqS,#>QhͲ)R׋*[mRi1j®S%&`f|TpU=8*҃ L rJ_pM#$hAzR?Jg! }(B&7F;P煾{ 9 H[,7뵬?VX{r =M?%Qxbx;N-),eZ 7>GOݏ>A%47(SL/5zFuÌ whwdw Ez$!Jը35]5}h 'M9֗s'<1~9G/ vv߿0HTZ=y`԰O *κd"ȉΖ`Fq.r &g#*X5`IZ:Dؙ"oɵoTUp!KTpAZ(55n]Qziɫo4FiKSXf׶bh tɉi//r?@ډCeZW98 |r\ڠt_Cϖɑ!v}+G3#/xd>wܜ4QV!]>Ǹ=Lu,)//z9˪YDE=z!ņe%׍E?v`(6,g ZԵ~袚[BFӚυ,<8һ8ζȢSqH$,aqTCУc!t <ع,df55!N_ =o2~֞r?XZ=.d_ϯ~nI˼W-ZWo]6l Af;}<" ݷY3"{,60*.6l5j5R|[xLru=HoQAi82!O洁לf k 㫺m~Y MM \2hH̱LeQcVO:<, 1]?O (}qbxa53Q?nЇӢ}j7igQEE B'R8Yװ6ooA5y12b\M?n=9CHvV!Sΐ*wr:ŗՆ8CzMy)d1 wdN -dpz˖Z]š ӹ8TѦtn Wߞ.]lќu Dw\[+Ή~yȤ咱?67ia@ !ji6 5d4%ފp"6f'x`6~W7MgASAfT>y d m(i^7d0~hİo햖~9krϰ+gz:x6ۂŜ>EoLbi#z=rnK -[F/>u1j6e^ mc/kghпƎ]B~L}?U}uS~jhV a5@a1 _N}{223t!9URgq~Kq30t$QvY7Ҁ܈Di6L[ݷv(w‰PQvfKrqiN ˪/Sגe\I_){] $wk:Y@S |>+dW#>eLr >ͤp(]ސnkjjK^btLtG)ModhUM'!;o@Vi+Q!w'_ :%5]9WV?5ԃۧ޺JFjz2 w3Utf7?O 37xځfۯ^? l5@7;\zQWo.L`/ZK>Ͱ%mvYzoNr֑lCzZ'fPtam@7;t6;dYZ46̴^!!'_{m_r|[ctH3M5P89qm|鑻2XS}ڍ.Sț7.nߖ^<4a @7;@vS_/BSDB5 r5[q}*t·Zg\ѬjʻWG6 gy}Vx2L 2H_]|qO~ͪ!ƻ ~JSVC'F2xҾqP*O@v>^K/^ZU2^ d7LtFH_& `2o<53l9@7;@4Yg|0F1{ыאEA=FweA0u{4 pB  YLu6ҳ66mZ,xuqEGnvfHo ;%tKW2hĄBX`H\21poa@v()BD>yAP7ؙxm "7F߱dٜ*m(_ _m(mC2‰Oi. K&A5)%=hLD0\RiջP%'uQ2l7;|27X1{@v$ 6mPeX)OƮ?9̈́\pG @ڇl!Jꉆ'쥅ksf4=S &I#]X$$OEtXEw\'!וkOV@K>8ve'>NRX 9) 8aA\I!r< G/pሄZ$ v?UId7K(.T4N%R!h| 5Gh\$:Ar@,)3E`MǞ&#᪠8XXaPX oSRx)*;H(xބ6%eR='M6l&UJI:R|YhRP:ub:9Rĭ UA-As<>rċkH- I8)Q?#itTVb}E l ؑp2} eۓ(CN?-aR QLz$:(DmCS$$f if7LФ`'y@ed%W j(DBq%䡇m ym_J J5pK.(%DgETðZ|7 a֥)7Ws,!'-}0LhR4!|CC4E Q}.` cd;R"IQ$+4)t>Mi IX&iJ1EpBh<MieEP(,Xb)Qc 2r"bJu!)d:HǖPYqM$HCFSRr$~LƒF"4LjB12S&d\$w>Q#AhdTbo)jDuyl)!,x #hb.,c7e<?]\N,47׻j]+khCR_65LDE5U  aD! `U(Wk!^&a4c'7EcVWkEh0NkRݻaC@)ɐݪ4\Î4Rҗ' OR bh^0 BCP"Y|}W 驡ʤZc%]=Y* bu #AoEV?TPkL!ypzXKp V^+Y"\8QV/}God7U" 5  C1=`_ e46 WFc9Ie1$!;,eLHPI8VBk r3vLT2joJ%K*dA;JBeuG~Ƨu#HR}D) G@e4!%E?LEʌU:_<*tKְ!qiPMϔ B5O94}N Y5>OSU{&ΏY Y릌j9!ï[lgo /s>CGąX- R.ywLHpņG?:5/997Hhog5x<FF=*i+;<]?6/r0 5g<0}U;0/LMp۱8g#!Asw>2 Gzq68ԎAY^1Vۢqqa.u~fޚ |8}hs H}Q@Θ<(o!H,} nhxn xd!mzbR: 5j>z?Pn]U֥l nub]> Nݱcx2 ju/trV>~-}UkV *_Yw:sE: gle4o/: ;du!˸kqVj7v}rA%,G-,OieF?O\5lmpnEYz C>t>}1gP; r)l>ȾPOG1YBm;;9}M_nHpyz;OwėB?͇.9oK5xMK1~V@i FTø0&0=#-k։$e^O\[?2yt5P~%w|"ݧ P 9m=>1;{9A͙'~{հ='`dM!L\ 91r[m/dU#NKIw: d 6a &B71qTjצ;)3 QPky˷(L `\sVBo|}zһh!ka]5dh(q5ﺽ=k V3i7TZ BU̙uUt/:x>~БY=uh~yMZ(5!PqzlZ0ffbр . 2hקS0{@VDBS/f. eHkCœ{{D˘nWfNy\:p: &AkTa2}V} \ oU<~n)5b&nmՅZ(_cZA Y! 7iwd۴[-0}BPUP擴 TΎZ8p@AqE-'@^[kO Mb6-}f]Z{wj?ďa鬶hD/\,0duZֆ5} NtcPO]Az sp~ȝPɽ<_XV 5TjSמ,B 18AP-Q# ͞Z{{;],LX5$QuׄV%Q3^n@: 'j<Ʌku4h8:Co:]Vr!3OwͻwڹJChp9ĴN;ԥ]\v/ݞB5oY{Nݯh6K ? .5鮯9csQd_{_Rйb" bzj'e<3a^i 2&o" ͿTV̈rҍ~*Ɇ`VS3SbƊR0ف?I"/' GHjOIi4l=^*+{,Y[[8x7_o$p= Nm  &5A>oǎ?@&VO|5mgDȓNAVsSiT5A.o?)}=_iI kP^T ֮2=^Ng'hrXҤ*+4ٷ$_"~I}C#uP/~E/EIV)V tMتX<5Aa]To:jD^XJ1~h"$~)Qg4ɻfR$D4Jf(ag ([ѝϖ*EYQ|UweRĥ<Υjɶ%dj+I%By4)jTꐻ\2Ԧ0|ėY|nUtU2|R UeW2+GQ:mPA|!!]G28~c{ 0y!z*+jzFC}N4R)W_B%=t  CzdUg@o paǝ⫀-@.gف!/~5M zjUt%jQ]J[j ǬG A(VLy-f8Å0`6g  &X|Djr})kRxp(l$^ bRV(lMj'_d'֞IjC3)\F3- %Rq_i!+e3"IP@_ɹ,͉PuM>WFeƊT&u7'˝܋A-^ FL|:Fdmo ?LS$n>HAg4JRK\|U]@}#Lcq)>O_|0S3•c<.1G(`K((RʆeD:$՘LZ$XI*c#:t`#ULmaKًT;\AE}ٰ `s,e-r\cIR pp"||i"Oΰr‰eG pCHŜ%p}8|7 B~4@xч:5H?VHa\#BQԢsH\9Frzh*@+)uP:iDvT*1}BLa#LH ?s9dz֠$1,~0}"x؉OH $B|*n% UlJ?EƜ̕f%T.$̫PRT P%VzS)'Иsd(),BX|VS!ͱ}{W{%ґe%\NUd.A, owHpX 'بܑRF{Ȫ06BVHCl~)`7w__ྌAz^De(b. ;(K+Sv~auVRbċ =HcBRhD"wT sC6&N,q:8]y+XbFppQE F&)F^Q9EUkGp(UШ`bLֿr%-I C5&!rlgB ʴk@6\R'3xa(N[.3ESZj5}N8v0f.Mq2X 룇 EcM\0D@CY<b7*v=eK@q`S\z'8fGX9b˘5E4'qήLf8'I4l㲍Qb8 7=oKFPbq!,UbwaºˌE:*]F2E(M9+ FʤNib& @K Bd i UsRSZF| `bDYEe5E,nXO+q΅*TSY#Q+SI(S;H6~TV{u'I4o"!cUplX8eFF Rhh%+PyFrHsm'5-ÒI-yܿok%UZf,7bŮ$ZLtC{/ G\QЃ^ӆ~5dy8abi]|ܨ&Jz\px'Y9,bW=$!uz0& nyQ`VWlI֍:RۯGy+^ZQ, $ ץA!p!022]b+;*<HEIFR.քER],bBN<آ`=^I磮SBc9b~f5?xdRbғ2m]2?fęZ>^Vf9d\ER/'#Lyzkg~EkX~+hhFSbY{OYU$%fƤ$smOOrF0JwexO *z$ DƣJ%DHxJ M*@H 9`2dB%?ܦ0/9\̰Զ)MY9, 딩LG/ܯP}G(ґ:OqTaUUKY%b`CvX0Z'R"[ zIwiRVRV=$ ;v'| FEuEkrB é(1AJ%p }FA&XP`]/4zU>sm'>+ׁ$b,$!@>l)Z _USL: $T4YO >ƫd 黙}hJL\d%xe:2 P['0f9c Ld\oW&D#Q`'ZR@K3t}1:'^)fZBY (#jx@hD$'@EĎ1,g-[8ܹ,~ 3tb0#9,8!4jDɌ×[ld"d}db c'Ƌ/ A*%d#ㄱޝV#F €lك !"d(lT^tC#>⇠zT/VES2T 2 ߨ4U5Qʲ:M˒zfTCo#E &W=$nXf)5 Mu?AZ|ia|e{4ET5SC)Y{bo W=2%{`ې,$lF{>t17J K "Puj\Hԑ}0`E%74AdyXFWa3Btak,WEItd?VgϢ QplhAR31cۧR5!=B˝;+o LN}j.܇ - p-|ʦ(UzadZY/k―QY4<{0C:H$ rؙ")cO?q%7LrJ̍nL>'6YDm đ|'F\*&7of:HRa8A d {AsHY*t"ǯ&s6faSĢGC'WaIi"sL:Λ#+@x\!קPre2RǸ +nh۝lt DkvȲ4 z%&UL`2cOd},%Yl놇%5H%ΊP c\o)%d'_!pJ"B)ۤܚI%S^lcH*]"ɈQ^zGS^#8BvDZA5f]ld ::d# * V@ȼ+Od%'dAj +vrՋFb$^YY(`,N-QƜHYrk!dIο.TH iTT#©嵣kAHi~[~MyUT lI TkДɔ2/W߫_*`pcE8=C"yYbT!>\MQ(E_Uiɲ%&D2Lʙ)!WCa4W`!yYwDH5&A?5$v)M[_dCB"Gߝ:Z جP6iy %SQ_Llh$@EJn&R'KX6)qti^aY5F@hR( KӭU∕*j5&#>[!:5Mc5X,l& F7հr5Bn)L0#mG ^tKjFؾ9Vd4)(S dV3206mIi6ePQCQdTE㛲iGt2hGRl  eP\⥶C RԠZX;ojh0,Y⭼L- ԉhYIe}6;a%˕q8&viwklC d/5,jOZCwJuuaE ;*$j7aXB{rCVhԏތ0ȅ^*8@B:$J*Qa/ $Lg[҈Mb$*^F+I)mW5dR*66 a.>9.t\H;"E%;qbkx5뫖t@·X,K1ڳԨT4 aw+.J)Z8r J۫C'EE6'E*N5 x% >U HY-}d oe$ZHc쨈U)E.b7% Q~D= B|}f,9%#U`OY#(H-z"^ Xrz2u# ȩ ːE#I硰<$~S.(IZ_VQ%n8>Go@A,;s@gd۷C Nŕ" 4BR|QMIUʮK 2Mv/K&. ItNη,v zEp106(LuQs|^ eZrGurTcT* oz2eMe0[#oaQ(9?z 8kK=)2 TR\\aD 9P LLPۋLUv ;,B=9 ORsT= \x@!7DAP•XK:2YȏE8*ѡrCLCJT*eݐJVP$ZFє\4(gE{( HDzTft5 /9_ ڒiWnD<ДnAkC~Ƚr/Ž2fClNDPLCYVts!B^tZȬVIFʪMA]B¤+>]> vkK^zQ!P;JHwE~Y;RǍ ,YF&b3"*R0ebl;f*ʰiWr,.vMRFQBf!542,BWh*0Py& 3@ϓDI`9cCZc:4+yo;g(2+Y^_@CnE=P$%#LI ",ŏf"*f@ƖZȫyj%ly@=e vZQ2kc/g((0$+hEijT!S!z^ :EX JyioǦz%[@q֩Z)k*VE֪5M7ک3W)*i +e ¥9 `Fe$/·q`b(GaH|% 1X48r7z7e89#&MLd*JΕudFYq,!Q:]~ W:C#Ifvj2ƂFÿtZlE>;x[:zU3D3!ECZQJ(⺡alwUWΔ;yQNW@e_ID\)rHV_'E0kTˆ1B&cUD%.VvYtD%'-f﹒(:ѣ+vas|Np/>HT7RPHq dA 匧0%*2Mf~h e0>T$l¬IM܌&+`J$1hUd@w!=1Ox)ǟ:8`&zS2 n d:ST-vX?89j0qB#޼iEo~FȔS&-sفLe-r!|C|$dʮJ?qajI$Wi*uPLGk;$ȍ RF,u 8\L@0ĉ${ f J.RX({[T.%Hpb=”I+,Nw 3TЬQ3bw2*9S% f]4dUq!0!qCPMb}ȏe&!7Q,5K\i%cA#g2)/ ֛wD>lYʦYȴY,/%y(ePCDK'BjƬ(WQxKMqOī+Y*Įr!&RpS/<2XOj!J3G2#ljˎrrnÔ~ L$=P+kD%@-2DǪA/dr<gF{GrXBx,M,D SXOm&8Pjے*ђj)a={u d@] jdj4p%e*0x| M͂@bDGbDS@UY 8ʢYrJljA@؟KZ^҃6 Jđt:Ɉ&jJNBxB1 -F\)aI6*`x| |B܊'=ih#"]b)E9=v!Kyz̘t.klK5^{0|D%bk),H}|<ꤊFGHWzH:I_J2Pd.B23VRxszGZ@&(U@f %U"L@|~zI.f$Q1S9t ZbDU%S0U;]WʮRrIFVV[hl 8jRU#r2zQB>vpܮnD@ #wm~UMDM!n@!) ܰD ]x!' 9/=bDU~CW\~_9U?OZL ^}B5} >vr o2 %gO®|YTӧfrȷ՛;fϞ08|594Qh+P||iwi@MA ߎ&+{-P"xevPt cBTˍ^] 9{:s-o7ߚT?[rK_~]3e=xOfֶm;Gr 349_Cg׀3@Z'Nv58~!O}AzIWGvX? .yՎos=rEYLZ/ aɝ R ڠ烷b!F&C:c}]|S+_,ͷ=jXp8(0GU;#ˡSc[,| @olf ^\|'vxrަ|NOAƢ^o6zMso)ˏl,4ߗ޴sstJgm2ֽ"b"?tn['vē#<oF-\qZ;A5=_Z2V{q nb Φi^uH AܧU1`xM'/ "g+xqɯN $ q葳 4u*$=`b=p. x֪P АMq^6csoN:|Ws'p*1%lWw˘͈5rk.rH?cƙݡxm^7b{f~Q;75?Mo[Doh o{u jPenލY_85am7<>[ݳi ,,p^z{!RV@k> [8&'(y- εUc~@ϸZeV(8U6jG& tւG/>nIm8u9ż0X 4ih|^8xVaZ<ZW뇶3n;ߺ][XWNVAk)z̽A^Gv9H^:^%ʾ]M?ؘ _ ]³ٙ/,v6+]P;9}=wý7R~ǜ'D:| q3;͇]2z YլgND}&VxR:7sz׷/>(6y-hUYTtℤw4}>|P B6an@3…|!0"<%dɍed*Xz`r#yS>;_XEwbLa.Lx ` \QlNp20P3@zs :wGoC &k~  K9*ijjK&7$?"7!sFV$ `!.3EOۡ#Rd ?,"%3G.Rl@67FO!7AבTIS4R- ] S9xX)M2atEpL{ H31{;h!.(Ԝ9ٗ|g43 DP|\,δN²s5s"{ YQC`66DK%.j0$@ÓߥLփ3kƓKl`!ҭn׀''>ý&U*ײGc>!~-êxxf3;- vt=6y0yKRs{;;g?+O6I 8pyY9gƂ?f@3/in\*s֟;nD~s}VxyI|f7kE(\ѷVqqqutxy^2XP8 l1͙X|ֲ.QRK@vq>.'|ΏjQcxjٷ) ؎g9X1=ElS<ۂw.zc՘ ܰD~6&)g/8/W%C{#W|x]g 2<#v}Me'@5ك';k7tM Osx;}r-]юnvskp7ArAqS }C=[$Kpgվ!<;Y=ո9bdP8DY_X{C̴ŭ" W\jx?d+F`wr?_"Np RzIìY>Gn|f۲fW'{99CYF /Qvsv Nk[X[+p}lo }[{9 @$~Ybz?sYItd6鼑~o9MbѰ%f!M;Ҥ34 H~tȠcAEx;]?v+qJp"Gl 4I]u3]m$Z\ag ;#4=]1y猦#@ahHڃ`h<Mr6[nH*{ul`WEZz4(lƤHz ;o4}/+!CsNîZXyH[̯NhixX92`k_5t7!.M!DGDH&5Fg۝MJk]ޑTl RYYBv(' DJH±U҃$T$!EbiBN'GM1C&2[_heGQ1;la)ِ5!9w $׊T,eiU䞀,MHΌI Y%Y\UFr$WlIΎj\MEr$W\=Or H!99\#kLr.$JrMI5'97k!dp+eқcs͛ῤ_-_/WKW+Wk' OY <xf-Z3kgϬ] gggggťcyqVr{#e6&A=r,JK>3'0[V䍈A4T 6F2񱻤m=#, ay(0f7$yϖ,\'%DluB^8 _S^ ?"I7i)0܃G z]4wƭ -u" i4@aXK:_iyepVi¡U8 ߮pHl\?К*eGQ dEF9%9m}i9%#$F "uݟ^9UmE*W-HSUdVBCNڍڍħ=d#qPXb,-cYjk+y-ձސ>tOU&2&V&<tpfēФ!alDa>ȇ!bH~S ^5ɸYÃ#e*^q@]$>)v@@v@Ha&w~vvvvv߰FK;}׾wґESʿ8`qG[_~[jwkTRʆ_ޭǢy쿕]m)ʚCnkT )L@="Y|?T|g.i;3h-6/Ec݅")1"" YE2?0:48:aebrhwIit' FU4SJw/,@Z@0k(˟*-Ȳ#(.M:Dj|lñuh`YقpWcBnhp=r C+h S[~!~õ)o;r4j53H]&gˆ>srW)|.bV! S7lԫʫ(9 A*6nWs?ȘH.?[|#dJ{yavKf[EE3NK|F0xTGs5qS~wbex>N5 I~/wqks@zcDyM׹lm!:fkepܝs:n%J p;wu^Fj#1It1VycCo3΢1:nnSCq-+~f[{,}ODoS'~50W\T$y ɣ}N,t. z- . rv߼m mctf61{/1ӑV1nE;X-c,egR1-6cܷM1y{Ԑ$m(a Z@TC[K>۫DYBM>y$C;#f^1o8}$( 凣1fs8êm'D+/C!:>(TA2@!EX3AOgaE߆:^uQ~m]d>cBCIFq4QIu5#]An= DOMv@yhx~g]Eo=lo`%Z21rgQ;7D/]Etrԍnw7(k9nM=:Y0?ArWHhiFuQYE6HpW;<Yo<1Z2D쌹^XTC#'N v5ǡȉG[lGoeenuEHOk?; C{88b$o#]I=p{э 0Ùn@0 N "°P}}zmHNp 1 y4N &ΓГH.x)ͱ Y:6[I C0o]`%AL/BRK 3Zt brNx8ΰ|e K0SZM%oi 4Cۀ2…h_iH |_>;[oLI;uˑM  a:dK. hңVafl?Ĕ F`,ln0 bF4c6f±4;*VDI5`Zh5%t L$k/aSVՁrH#ORG֜ ` Lp1,>?su;X gJC VN:*LG}%"݈_]h<8OڟecO@FN5DE>l{RTu)(ڧb;csj[{0*:m_ewUOh, ]QűC3< V4M@3bN^y}?PԨڨj />V5[ .3=w)q@=fΥފAj_Y<4MܑjPJc7].|}M2:jh7@X{D2b@ mZ|;*jxe ;U4zkWcPa3\1JW xQQ<o}CwY=PiP,*> >w_qmLa&(//^$ :"p]VƷtȢ_jy;ދ*T$xe>2Ua:V[ ISxa'պr?<ݬa4o{zbzowI%]w }5\*["zBǎÊ x  w 9la>nRa={5X~T_Y{Z&C}1賦TQe{K78S'*W})<¿< .~6j:\M s'4*ߟ~:=5Ǡp9;0۶.5XVQU?@]i?9VE;9tm]\3R'i<5*~ NLpu4S#{)oxk4UmxtgSO<o?˛u'00Q63*o~_g=S4QU_/djbw VXc][4QU~7jju-iwf)gwQU~3N {P*v% JyF_ݟTOӯ⿉8?0(H=N ӱ|Da~ʝn/t8Ƿ5Wwړi򨪟2W诐߱8n0]1'&u QU?jqGSΎuKa_QU*lz6It * grߴC}lvr~Z^bXMG?i"ԷVh8E PU@4E0@A*@)h8EP A4"hSp1N4E)fh8E VA)h8E ZUtjh8E ڠA[4"hSkh8ENG)p`4"D)h8ENSh8E :Ag4" 6F)Mp+NlSh8E "XLĶW! sB"S,hO- $&( к.h?-Q\m2`LCCyî3?!"ˋ|al#;dnFna؍2tWZ8S]F4=\18vSa-gn6n>-2ޥ[;(< vav6 OK|vGal> ӰCt˰bF;;d[o9̙FOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO?-1e#Г%BxS_IߓF{ p z7ōr#ؽgZZZZZZZXdFU{rS(>Ifd2ZM=LE# h)E·!Pht1}V K(?J`]bc~#d؈&۔&,IonF&i22ق݌݀tͤI&C2v{5vK52 c>v4bhFMh[IQtlllˌJ\k)^ wo:ؕcZwA8~K%(#$ԝ7" ,T%EX7AJft Q*h  JZ>N16TadG]le/-K ?L>23y> HT}d%RbTD[oqtv}m *ymIL+oc/Y'2絉s<mx{Pc3ZݘjZ߽akZ'[9}X\[$TãnaG ٽiSbv@>&Mfš ޻@[Ǡ4^};X?]L +}aѱ1unx2_ז$*0|+YQzˁM"WXu-Wf&1;z!ds?,ڐ3l DW06Zxt#z=29dz#YA'mavMЌW+/y +Yp{{KtAT>ч+|X\j1)ه`sgǓXФ;fC#tndI%S\OH*ٛK5"IR׌"D)B4H+o53؄ <'/e ] GL([V&IFOh%~G2fd0?kU\ dS4FHMx+laP@@ ٗD.6#їHSKBRބ0fߝejBGX $^ShDP+tÃӱ%W^D_f OmI6Y4nn4&VJ ddZ nnnnd!?יL1iAN |~btLXl &8,YUnyBޮ 3b6 R>|Kt¡]j*j8d5Y>u1v]w%#ҫv1a醗w90|ѕ8|S:L'{)/m@P 9Mw ajƵxO?pfqqgaOG0>vVL[~ۭ{U8LIsH3f}qa8ܼ^Ap}&tͨ7ӱ>!NOYrΦ\0zNbvOlaެFLâ`Uu8iY}w/^HjUy0?_\<9YG춉Ϲ7wk#V#0Ӧʦ8|©:>eZ.G6ô6qa0Ӂ}az7\øLJ5 JMz 1dά+cpXzϣU Bz3o5H~\}/ Kþ[&sM Du:&Aw,6OBλ:z;8LMzԤUSoǫ|kvšiAh۔j;ZY]=iCf͸9.7㰎^;]V6l j zf]pmMmY1!]NKm1 'O>lmtjz=1~D>t*toK/s]_zݔNO6\APqPS1Y,zW8{NG^:gӾa_ g:qh~meI84H_l|R֯Yuov1?Cơ_a*O'0a]~8W&'{R>t>mj7H B3R7Ou o[L|^_s[jq Bktth5l]i5t3_Ꟍ¡SrÍq{]qhtC1>FԌV5aݖw|fѷJ,0o8~ĉ8wj4cn_.zxAV{`|\v>ho7 â<^ THi抹G1|+7@pXP|i°Y'1>} d1Yw1C zO9bpu6 0wrܪYSC-cEz

yæ73^Mơe'_l> އt[P},vld԰HQSqXܨqS!U +%Z >eվ꿵(ѷ霅E띰out!AzWLr <__ٷS+s=G@)JMu\{2 :3PK}lksO| Z[e]gw[ ccNn5c從gfCY #\<|9bxs}o/alı"0f1/8HkM(Z)ՐQQAʼ𥁺^ 7T|NbAf=]u:ǁ+' <<#nK; 4]=wܰW qa۷xsO-_ m+xwVo_]}/gܲYD  2}8'M4ǫ]WIAUSqduo!˯ gcMּǁ u.Ш3]>:z _,ۉ' g͸s~f7# q-뺃$ gCFt r%ڸ-x2i3/|i{DSȶnFoӅ.YLlAF>q='mXxݧ$d)ys_ԡ}Lh&o*pTϗzxjUEqJqmIϼ|F_ʉqWtIkܫ@sfX2V\麱v/xd1h!v1q cSƃѳ_:|k'/3yikde!]5y٩7{kO2>{TIy@ܰWP~OšWtVO̶֛YO^Nß_?2YU<3 i޽E QiiA:Aͧ]që3=(dλ_uf̡ sڮZFdzF ֟Z,78_o.TftBPh]~.Z"'tڠ'A_ͽ&u~kH-՝eǺYeEW}a'0:y᡼35="X[@N],:T2a^(;8)jW~8rcشčGI]^e;۫WS~HSۭi\My\;Ѿ2Ks-n_=fx✝``?ZN>}J%nGޫ0n h:r$ھ!xܧZ]fA푣.>ؘ780n`HawlGDzSL8S@;(XXt-kxgxQa>hq~5SXXXa|ȥ[z^,ڊGDzS|oSݲjXXQ|ȥ[e/O40~ÑCכ7ҁ2iOHi94`&AnsL^ʉRqܬm^YS[A~Ю~MY|}tj^eyJ[:Y{7z5' j8f;3]_@7O-_|aXg_(e~*Əx2?~놚6khX|0jC勺#Guo}qkJOCDz n =h(e~*ƏX)1M54~,sUX.3@+\tN?R!Kr̋p:hՍnhBPUW5z#>~֯;=tfCh,+:.<=W]N̏4Nߡ9(YN|1ئUYׯb;4>Gct|lGb=Vy<=t=JJ*pf]Grznc(wzGᇮ_TzxOXv9VuG叮_Xzg`;ʛQSaW5' 'm'?j*lw$M|h(7~GMᇭ_TzJl6GM叭_Tz8 ѽGԯ(>zˇ9K_:NTMSbzިߺ;*il#?@wh,=t#I˽o;xwh?]Ϗ8lxߡ!VQC0^z[|r1<Ko) P`k徦?j*=,s85QSa}h /tE64s4Qc}~G`h /lEߏDks4Qc} ܩw/s4QS}_Z4s4Qc}_ O:vTz؃2nB-۶r%?J;?GeWy |r =@S [I=;_Ncxh,=v };_NSxah*=<]jl|t|;_Ncxh,=j|J>RH?vTzx9*m?mKw|9ၞsTrKNDNKMj<(Pds^n-W d2YL.; `3yALarZ`E])|([W{ӪU*hH޴J ޴iiU{ӪUMڛV+~*J }0[Y ]u.=(mwHtE@>k2Z%S׿2mmO~ӚU//?8|YQgWzo~~ viAG̞ZaIi ǺľK_y!Q&遢7[<ƀv [lۥߛ|ȰK-[;-]58/&wu]<dތXl 'w~QkpG8ty˕\C>lXZ p1nM^['0%<] 8Vϭk]\ ݝ3R$`.8R"Xbb?Oje}$[\s8}-\ybɨ@O[Tԉ|Rop_q9oC25Z8or§'G'qAjm/792xoхi \'fdžUYsxt=8{u٩ =j͊u=ZY> ܧ 1{Ɂը#5AoCφ=67$h2p=Ќghfzy{ j tHLVdq@܇ۿhsׇ|T10;Mܒ' S`ތҵ:}Aɮo@^}TREօ_:z4@_ 7v.F!jod#d 4U--<Ņ ߞ }0?ʃ 5-?AZz. ҫWҷL:x .[,hr n3^ooy&x7f~qhFיɅeYk>e:pN LC4ߠ-@Кݏ߾Gt/v9rTN- Pm]v2/ڄ<.̈́Lkߧke w![2M ~Ơwͫ.z% \{#ko'?99灒6cF_9NOwWo7xHԴynbl/lR D7x_k'xf Eިuc# =9_jԬM:O7Ct1|g/\? n-3^eEL $!TU;2qle>N,-o,V gwr$X?c5 ~v8 JJ]%ji6{o3x3̡z9ϟt?{λ{4ҏ?nexٺ!Lcmo|x<8d>Ya7p. {0ܻ՚QoA9ۮT ;!aW lvg_FltJAw &S- B3sʤA/~@(hsX3HoqOgKo5ݫcvW{uXfێǝ,Y^H|_2~$M+7d1o~]P27 x((d0?eCz^yq{@On <xNky&Hw.pH'pLmAÒ8wo >,r[p7u'pڢmA?m@9&M 4m,HlpT׾S'>ܞջ4 XI?Ye94%/ܶ0Y4QO&5%ev?Z;օ[>_?e,DOѱms^ףjVi wd5\_3>~5 vNSAAlk0Z&/ո\c]WXO{16|vb\jkN šBKL/61PVxK)i7^iG2z'^Э nGߋlܼI;=RNos;8jo^-[Pw˕;FΐghOUOjmVAE~A.Ay{}AQ̶C ٺk5{Nt ^Ó6B:c_Rߧ/ U)fCP|I5@qMɓVJxB ^n]AzpČG; .,f: ~6<hu6g"w -ӽrWzz12:H)_Ys(ض4nVƓdX7;d"0t9Ŵɻy]N(<$^)ne&8ڃW~}P 1:&|,j龲5Z~=#, +ޜoJtٙN8Yc~`ɔmҶ 5NCNS݇@jƵN> g m7/~٩7ӡ >vVL[mW5F>4}m:lܼ^A@E}@ьz3C w,lZz^ ꄶGR @8*W| ,m^νkxr-}JX9QZ,ȴ鱲i'x©iKxi# mMܡm@0Ӂ}Ueq#)j a.%sf]JoyԸ ͼ rу%:Kþ[ W7GMymASv.:z; 5QVOV: d$]iAhgnSҫCG-lku2gui.Ĭ|!'.7]yO|= {+W_A/{+宐']/wE5Y]}2tzNv׉KGDn|K]d>cBCIFq4QIu5#]An= DOMv@yhx~g]Eo=lo`%Z21rgQ;7D/]Etrԍnw<_.Bhw8zd U#p w `7U:"h4iR#wg]n.=$}yo{o,c1gb[O0ÁmgxgmɚMlܦyvbQyִ)K' OzO *y{.,cjw`w3 u;}b?\ptv]^.m;7&_Ntqy}a;^UиIK7 6kz Bs6sbR{߫bBz^kv}g;-?ak^o)mZET%WܣCn]]H8ٸד% 7sqp9x{zskn9ĈM,Où=53o􋫒OHxse7^j|(]"1[?tlXx1U<NJM?&t !6bEsŊ}gF^V|p'hQ 3SuMKv|TwhpyEj~;vb)G6DG?]Ic~;SEKv|T:yD2nBٷO4H-Ѥ7Y˟7[ cc uQk,4tW~y q)$tl??($zN. RjhCPw31bUǯk]K'-)uzS]g]9=RjIgUCIW^ݱ }چHU.ԉrol6X& r3[r 0Ȯ(6O0)'練:٢[;`42vIn΅K>8Y%UE'U vyWNebI쥪A=w&ը111@^ !J..V͵tfi27R70EQ:!`̓TWereHq;A]0).Wcr5xOV ٢Du!U^%ĕ;,+դ:Xk`0KaER% W%8TAn<ô3XRW YUY9udd5[~#W B h0F8bǸ :Nݨ`\lZU]L+߸D QMc bGIT5y Q2v%]:\@kG5wZ(*T#lǯDQFCL$rI}/+PͷO;Ր"Mi$7׈X9Zql>R;Yc}[ދX'TQV!&oQ]S]'o j eϥ|=@50}YB='8.bfR qRLxe阳*.J;7%5s1R=QBST`ğ"WӜM'tCyg3Uy}fVMk<pzuDT|(w=@*ѱYtXNImWA7hM4,V,*8 JMKɅ7O~t4N/GLdYݖ?c(#<? )d-oj*=MU In%ᚌPA:SW9(eVM1-d{rV702.rhW@zgz H[#׵K%)?ܝ#:|Z(/GUѹUʻ$|۩ݝ:.VUS\%ORKP@W=Sp0'Nc%R[bVW[!+877jG#QQ8SjcL귂^VL{CVt5]pQU[JC)q5q7%UƾrJtSsKE=ȝ!:W\j3ǹgFg>Uyhb,ʗͺdNE\RJ¿ n ^|fC5@.diR2x:+FjW#Rb3 Җ@i*7w&sB$>I&1rF)"H@`]uC:tz)N#$Iu|t!;Kq"cdb){5aߪzs?u")%VʱT!=7 gr:sTz~R1/oM壈C kY Q͔ j?Ŭ3 xQ@vh8Zs 1gqs+g3o3WKtWNm~5_~IU%R|r]UŖx\uUT{dZ O1äf)7>PηScsśf}˕ 5JCd#~#Td60`ڎ2-V:yho %Вti ^s=EkU`pDzGGXCQ`CBJ^c%EZh)QV#`諏6*RI^-鄤m _Z(+8i勌4L18Dq7C&9Kb2bvKKH3,t9RZ('dPA #?{=Gɂ0b DWz1IŽ]O1ksrk呥<]jm:'dn]SW;㑗ԌXdPdЀJCrUvağw^I_Vڣu{G.K r㘺Y8v F]YS-mII7SEqlDy>6$G%gAzKbr.2[VwO.%z.&h>nlEۅpl:2Iv췆̭.pX+?,hTpN-M!^V88a?k:Y2#G ƺ..NyBg欽pdD7c Mn}9ZapϣH+¿ V-G8s= 3[m9|pgs׷y9E惡PT, j ' }PtQŋ'턧;Ŋn[qpaGV^O8=d:&L8]p v8iڽ`p|NV-m'mjN^P턮]]bn cvZMRek^&ﱦӺ빵/F=bBްAv9>SgkSPZm[?^<_ 8pmpf5J.0T꽱Pt_Vqp!OB8^N=xDԕ?KX)R5ֹJ,GKwHx ($ ӅĂUqsy]_y w*jC651[x8RɴkK9p7gGyf>י;^xWf +7^Pq+/<"n'Lx{S{+~?zpm͏ ?϶|}:ѣ͖ Yg ` kݟ O+ tEѤ |"ܾ9>ϓbr #ܟ;A-Uo~Xn1aկ׈'G^yIp)ϧ-jrlc?ٿ1dƤNoLM7fdƤN$NL:O2 I&'td҉~I'ID?ɤ$NL:O2D?ɢ~I'IfD?ɤ$3d҉~I'I&'$N~I'I&'tdӱ~O2D?ɤ$NL~I'IfD?ɤ$3d҉~MI&'$L:O2D?ɔ'tdOL:O2D?ɤ$S>dӱ~?OX? 7fƤoL:9ƤoL:9ƤoL:9ƤoL:9Ƣspppjo[Fx<Ͽoy#9H7oI&|23e~H7oi$FZoOrpH7oi$GrOr#88I'"qdCH7wHqpH'9oOr#88!$oOrpp3Akajݼ|0[$oOrpp­ƿ9+>38"p~651M৯3T27wH'98Ax8Rɴl_-a–9i>* hƺ.u$o $ϝ'Uz"hFY{W-뉤#!<okR}2S&bǴNX}s L8Ģn-ԡ5^xeGD8!s&SLm<“tƤlRڻE 9!L[7?2/L89Za0~?3u2q>}2e:1 ,g)G𬊸0&qOs@&đ !?~[(/)4ÊtBTDʙ)Gt2=Q2S&?_ߖI?`胢9R1α~M_II)GqfW}Za.fL>!'~;Nj)TAui_CɿcuV`Ѥ s4?57u]f@\6L8Ă'[^Ii}sB-2S&&,c~BxCX̔X_}Moy#A,8vΤ:ԭaf@?1b)[v`Nfđ} jrln^ҳt2qd{]<&ԆMs?2qd?N }*UZָi).?f {2qd|I;~ )GpˤﱦӺ^9R̆+I49b~Μ%G:n_<63eppf5JdүqvyqN>{v?F}x̔#@QҗvO!\:a{#{-k4O[כ4 >I]9\B'nF5>̔#A(:< ܡ&Z~6-2S&+t¤N9[r\eL .~ne%dL>1H6}mhUFx>i4EocM8vD3X{F^;G%G}Fh'א kk%֖V_]rGB%&EYv(*D$<>19ʩ\~RUM.(2 v.|Fj r;G 3"a3]èͼfCTTE Q)CWV\kUly>f :ܵHXԼ6IX$F:$,KYNjmj8>teps9Z mq.51:dFN"Z# :ko.&6Zi&ɪB#c"VCD4Y cc uQk,tHUT^I4`~~W \r=i! wsqd$xHv‘q##GzC ޾8pd$xxGF/W >qd$xxGF/W nHőÑ##GZGz#o_io?ގ82}qpdx;HőÑ##GZGz#o_io?ގ82}qpdx;HőÑ##GZGz#o_io?ގ82}qpdx;HőÑ##GZGz#o_io?ގ82}qpdvʑ#-#=GF/oG ޾8~8qd$xH ~ E>駕~~D~^QOyԧg4XFx?<+譆}&96>D(=N8%W3ML.+Sq12^Cbu!+$"I,N8d [R&,V>j5:G1w͹ g:u,c2.rSɵLMc7#*+ML'\ŬJD7lf4"mcuˌ$cx.6q4|R:M[7ؾ[Kϥ|Uu-܇,ҮRH$eDJ\{T)23 ǭ8qTK((:&HTIkb1d ӛc\{XќdKͥlXA3 )C&Z?}$玈5ISjd-L""@XT2i%܇&h$ZN\.:M.R#K'"$h|(i.:aTGyuZF|˂v2d IEwƩ W]%6榼1Ʈbj>/Ȧ":|/_6q| 6P ZIC[Ȧ"ʌoQ]F۹ƛvG~mlRyHh-T:9 WeDRJ)TLfW,^UeU˕˕ ]޸OXp~UFv|=VXXf@lg{$,XEX=gM~aB74V_h0š+nvFX6{+ kJ>]^ aӳ M pm>L+ -9Sk1GEɄMG^vCw |1~ћ/_6oY]amȉ-.>d^XoS-+~>WzGCcšA36WDXc;p9wMa㞘jWN\L5nꌟ WMЗo*5.yj%fq_MTMJڹ>P/4b4|qH)o޳\SźViЛ?96kۀ߿E}B_|Qsff`1mno=Q }rckakg˂'(0Ϳ,;Cw wv9HІ*ܿnMA7:ҷbj&'v̈́jۄݲwBFy}^^(dڤ7a乐wؠۊ<=[>XQ"p/7~0'mFQ4SuQ#AjmEg=K yb\hQ`k Yn$!G{E i"bE(}p% [BOG ~aR9Z `0pՂ# {;~袕۷7=\%3td&&n-oe~Z/>\k4q*9'$=_aR8u\ή%t?ĊR>´oK.X6Gƻ++k[WzS䑂~/m,i)y^ΜN -EJYO[I :tDsMO 9y巍 ;~a2}W\_g#"R%+/"ck6<-ÿ KrmQim\ѻʬ<7V)R>_" C|O=G+9[Sa|%NqȻ~RhjOź(,]@a=PX T[JZ}w{zCC{Ř~"a??u/FjGܽ'}Bf޷ZnNM5^G8x7NC+^=WzJ2(yt! oZŸ>|.Drfcy.Ƣ=ֻXatB s W |7TnW~bu<(7;z^t{)(? <{bj}o* s~ruo},_B\.cޘ~;B6Fu}Afto×(V8gu0/q8i džtK_6[񱍈sA !rL8ʹ% i v/VBPj7| ݗ='0>(Z~@ B V42t獈K}4_%B /#Q׍Ep9{P} Kk͈PV,pb"Px$r oe( u+"8u(lD/cxH8T of>=ȸKϫ0:`#ګî^ru Y {2#amY{o{m+?6?ka? z|Eӡ:͕!(}mA=(~1'kћrhiAӶ/rV9XwHn^w!?@o/AoPYrw#_}Xs6߁QxXhSm۱՗¨ˆ^I K?@=r8"jTn=\5S|ϤGOJ7xKU/T+G_+ֹ3*3_a+a^,ހpT PG7G>.\"ΉT~th5"O*%D(v ʷ(Br4_E‘|l^N~O=PEۮrMA75x\{v"]Q}y0.@A6>[#k9[qzZ0zQ=\K8~t>iRzQh෇{iUDnO1Q{{t|8EU59/*;e|ыeoFrsЯ`{Ans8T~5|Qr ɞ//:! l9˽feB/U<0?D/U~e?C,{hNANyX^{oMI@u|*\kam7j)#9g mjT? C)Xۖ`; m2ݟh( n=ʣ0~l:CQ}ێ>~C*8.wcQ, %Q:p- +_+A Z6}I܀Bm?]~~Иs<닎?@m~p`u\nzm/8~njrLCa+{oteNIߎi}[9fÛz(V?u+Y/'p>/-r zg4wIy+vr/ A~< ֭tDi:?DԃنjvU(|EeW?PEa+&:+osp-޼bom{潋O-lq煟QyJמKm a;%*1l^95 E-9;QX=: 7z班xww+2>Hn i[z i`\"A=^J?# Kh]f++3#gՙ-ҵ?2 m] M!Ƿ,24ٞ4Cob/t-pyPGyNjɫۄ4bׇJz*l6t`awE#~y [l(}h~qޅW)債 ]z-oiTݫb#ze]0]#5`?Mqt׭^40. Zƣ JK S~{'ϿY P= - CzIjuC7J{/ (cuy; w"9[^O+|y8gϽxn)?*GY{50gwsu^><F,[1:4%@t?ȏK׀4^0?qRB7ZQ*{!0 j :nՋwڹZK^t{.$c+G)ezϮ aj{4 5%,ʷɹHΠbdo8ѹC ý:h/֭sݟ^TMXC\_OstTGKנi[z iȸDqx`K|tz+qF>ki~RNx]k;}Jiei|,|!|%,zwP8߂-M#ꈰ bAl{D,G(;@MDGKDAdGdJKd?@=߱~/ w=Z lQx4e5'p~[f+[ϓu7X7)+bZlW/yр'+6Y&G8ߵ(>K?!ǁV%נin%2O%D}A.h[c*9lpɛr9Mpq~\>]r8HsoL?x>%' p%~ .vTi1}8n'>SIEơ=@@TJ|TDt?Mq[aDi`\"A4Es2/I)a(ste)Fb|l?upxB+^߯]_K8X[y:?L.ơpm,9B_Z>Mv TJ|TDt?Mq[z iȸDG06 N70R8Na9s5GnD5b&M'2nPB8o[|sa~EÈ./$2k Bn0?ԃX6jQ'uмg/ z|b`$O84= CL=L?Hu6̀4=@@TJ|~ 5`?Mqu+`%-~]4Pٽb;R9#~$qO RI}qho~߹Nq'0}ǿ m9~m~8F`9>o f_}E=؁轩k4`VX/< h tAdߴE m Rx8GZ/ kا. 8ޠo=@i֭^y?@=7$#F`Gdma$r pP-6'[qؘUJy$2$=ΟC{89)trc9>+=7a@t|u~qy_u N9utԿU?)Kok?j&vQǁH?`7շK׀4`VX/< K?@yە:po wL de 2[+88Es(p*?#%7'i=@`7[A%נ8?K0O%PbԬrS"N#ga? RdVU d޻T3W5*@(Sqp. 9zSogL[_%Q?2_?O]q`A z>_2aXz i`\@Al"97Qö6궫p,9"M8u d UB9ϋ9Ez>ˢ9z݃7SVWI o5O`{؁zoз=Ai֭^yHzkvXk;3Od@ю_}p$~.h,vyQ8HǑsY<9B?{?cJ*?̀ }`;@M݁~ }` %a~ 112.w"? Ϸ:9 4ۅpN,zCwgL[ `'i=@N"zo~ }` %@%ced^׻~ta?!|Op~yQ8HǑsY<9B?{ ~ ~~d~3~`(Dt}+@z O>n0?ԃ\T^[!7p붣~=8.=/J)88 {?coJ?2_?O]q`A z>/QO>ȺK0Ox彉u7 yyq@g^5{/S0>B<}NBj;c9v ;v5At9;s';5ǎs ;'} |Oαi8Kϋs|9 ~ ~ ~~d~3~`~{|_aXz i`\" ҔCg ^DN} {3|'irn%8r. s(p* f_}@q`A z>/^Ӱ[a4w;9H=e=!ҟ쾋!|79kw{pOù]8/ |˂@p?={1RJ~d~3~=@`7[A%k~qu+`%PbQFt|<'xwt|!$?O:D'JqgN&x0nt|N-;E=ø\.x| ߛ9!׀:;sp^T9,zC=&~ ~ԟ!~`vQbv ?7[A%k~qt@֭^d\ԃX|8NKojf}Q- Qo$,곹9`BB l6]cYcusA7hc]c_z tխ1+HA#Bu&C^(7X!1Ptj 7guST>H&QvZ]~x8&AkEaQocsE'u֚]϶Oo[˄;x$–] h^Bӥz{l/t.=>v폅g5V7Ptt9sŶpqohxC=r{RlOMIݼ/s->O<_aa"n;} ^43k~x'Wzvc~7ys]/1x9' V68}oص3_JSUbdsކsj31?i0Xg(%:zh2gygG>˫y?tDIJlme4/inst/testdata/crabs_randdata2.Rda0000644000176200001440000000356212374550357017364 0ustar liggesusersKlU'qk H)IiI)BՕ8k-PP/HpBp@zBHU-҂^3ΒIy;oy8 3 v Lb,˯8tq7D{! 8Qf<x+G$Q XG(o ~~vrJh7<(G\.[C%9{tG;Пa<xpq+\d~/aS<{%<`F.ٵ0>h_dH(WfVG3$Ɏ5A,vRqIex."N},qTF6~O1O]nŕq⍫:/^)򚰸}8򓥕f{4KxX\'.782Nqu[ t2#N!Uy[A-n[a-mh8a Mvsa9M64qB܏ؕbC qhvjAXI`e+PQ-FFF=QiTQ⋑0TTq'mq/Nz$%NRdF}5Q_j7A6'o"&ye:*ifSӥ|6_rg 79?L[f:CPݣ ZB!8o[ѥSSTzޟ$&8ro<3_|xy?6(ow9W7ɻCŅO~eR#~c|,\87W$3}'/#c7o.)}^a!a_\ۊ[o CgȾ+orZ_w_t?_Ql- cjgtG;Пd쑹 dXr:Ly)_vKSM٥2&QaʰIGt(n%d#F:L9PÔErw4thC㓎پV) tXX# ґ b& dVɤ(Cp"ˍ0n~>;lhbZ*slh" v`驘n0bCYB8h:ebz/>43| `_վ䊘v-^Qs?hbz7<[Q5bIǛz~*[$5I?(*-f|ﰈ'@L`Ƅ& tL{t"X5%|bͤ\B@6=MõV?i5 zcż=z{xV`Z?S-e=) z{q؁GzyXhe5KIΚyS>m,.e(0[_@Ȧslpx6%˝2$Se~23nW]TG:IPuRj%6[ v]e`41.[yt倧6%^oձ*o)܍X!l&!k/+lk>HV(' wq,;Mci /Keo/5'iHlme4/inst/testdata/fakesim.RData0000644000176200001440000001035012771005141016232 0ustar liggesusersZ 83c%T([ %Sr [a0eL3)!;T*%;ؔ$ڥl׊vܢTgƬEgyyYk}yy Q~)C)?8sd Kc| YHOv, bM"c }8oEÓ"cA0fL8œ]Sxl'M'Z"l]r6pTHzܿt:?;/9(P@ N4 46ev<@mFCJ͎g-@swC.dv<1p m+ SfhѻgY Q@k^ܠ}J`g xGiT* @.?v33fZ4u}rr]gr 6@8g o>?l6m&3i5I?I´؁ n N-5:Fc n7q'!_?ѐ_SCԽaguB^?a&3 RB$)B=H=QSHH6#E.|~*uEbE}~عREAuoVQ)X->^n8Q(y) R|ꎚ/AKQVP40<2 NQ}qpc|R8ᓵ*]ٚNEQd="R*43>>2aM"cdȷ]xQ/zXŏE.*ս|$3ɓGzY6+8yrm uE./;}dQ,LWv"38$/ɲvyCpѳO=+q"Ljh-(_{aĮB~3 Z&zdH$g.fabjB2o"?+p Q9ӧMlws߷5I~zc\l~~U uW"+D.4iyD㭊ow|Olt}Dg 'p#SKuU5X_YiH]38{d 5k*~In_)WbSFBcrqߖr8/6;7ZWc|tʇ5&miշݞ[k1 T︓yQ/,s"Fg9Vm8X?f}aa}Tgh -pCˌKK(FվuPt݊voԴMʊ꺲\%҇mCE<P;q/^,%ANKT8}X]hZK4B{I>6SpA}`Ubux~"/!a2J:}"ˆ?7ؒ`ɾ<} ۴?>%vP @޲9SK9oZ)^_{YCӜ߇g6>4}0i~a 'E" T{ {O:/Oq;)v"UWm$׋^޹U)QX؝!Tg6NSR-]eUyС;4dmiV>ݯqIn׮¼D\,#h*!fj潰ڞS7->Ns$qXHIA ,IG\v օ~pD\b*ͽ H߽UR=ァ{ 5}qg?7| iH:/4ѳ:ioqY_U]6 % :DVJ5+^Fun'տˬOp;7,K{e֨`ˏy1Y˶h v-Oʇ1 OkS7)=(W$/ %=ԏ+QuWhXֳ$VpvdyjGNZ9k]3 s*xv$T[ DKDbVUIwӖ죦P$tKW|HJm~]KyAmFNk#lEVRҖ]yߡXWuբҁծzS FVIkbޝDvﯙyדT.TxKG#ES!máu-ʮV:#}@fwH"Oe ; ^4螇Շ*cw3 }gQE߸\3LiXMoWPDyi7wr vUj tw֗s[ZclѾ|& ɬݼ.g@;i|莭K8%d[x-IHw\ϖ֚a>1;Q1מvO-283GGݐ"9R3Hyﶘwf͢W1E[ |L Z,Xo}d{RVh]ydXHqz9aߩՕ _ʼh5')3zKD;tl~)9/iKI-w&Ξ< C%)](Ԛ GҪҹ}9||c߰KvlkHqCA&xYVgѫ9): a`18Mp[UVRH``z+ }}ܥ]|$}"į%NLRi L+q-GSQI`tEyQ{{ <jח5y)cnmZ1}rEnحsGw 77Ew- ϯ9!(+fY%ShYGzN%ґnfu5S>픊s9HQmU7';df(K=pC*@%M2:`[hؤӥwby^t~jwyㄓm Wm'.veJ/ѲrYnq++bݣAݯ5#v3,qaA5"®tD͉m}; VjfEN>Rdy׃wAA;)M S EMa-7 lqw2 k0 D 60,%Hp9gkűR% _/)o0I--KIٳ/b&c`g SD e%/b(y1ci{iZ4D~U6 bN'h2Tz#Ie: K؁e(^6bХ 84GE=HlɡH zc(Ivc99Va[\x_2@ԓe3qQe`,mcp2qaMSyS9lr,b( |yNl3MG>l8t д4͊=*3(˂{c0?' ߨ9zjgWsXm;Ca!tD̎:X^P.  %NSy{pnʄj *^Ԅ"{ xfV,0a:%^z>ܜ$ J) v)(GY 0eMGSME0}փ3ǟo:}~ѪG2d8Dky;7ϟqMv|}y#Z997y״;:g\_ o]כo]u=^3ޓmO~iΖiymxMv CDobqկ~:7۞w90|S_Wכc} ]\J+@}p?^o7p;+cHGX `O'Lx6<^ ZGT4|>_/¹P_Gw!p pm'pc9AGu& շ/K@{Im6m&~Lh3VN '9 XG X'8l'S4x:<^/Ayp  w{ql/Wp| ΄6|΁~ /"~? Ș``R!/,Pm pd08 ^,+Uf}5Np'7[k#BCr~$w;.:JSRAݷx<G(jx <f'9\x^/Ujx oNx7I |N/pm ߅v>~?gp>\k~ ;Ov1e`.s\2Cݚ9 Ky c s dZ`,0< i`o2-?30y 4Osk`^ط k8g׌m[S%S+rYT5Ҧ5)Ml UK=/R/e^ʽTx;sa0w;;RwHݑ#uG;2wdܑ#sG;2wdݑ#wG;rwݑpG; w(QpG;Jw(QtG;*wTQrG;*wTc|=MŨbbbbbl=zd֓'[Ol=zl&fl&fl&[-eE٢lQ([-ʖʖʖʖʖʖʖʖʖʖʖɖɖɖɖɖɖɖɖɖɖ˖˖˖˖˖˖˖˖˖VVVVVVVVVVVVVVVVVVVVVVVVVVVVVɦ,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbSĔ%,1e)KLYbʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒ,ʒHkF66䪑׷{vY;T?pl!0~Cں'lnd蒖fȦei9t|IՁۆnmxۆ{ad".lme4/inst/testdata/radinger_dat.RData0000644000176200001440000000310212406350752017241 0ustar liggesusers4w>g1dI4 ~%TDX..&?.29~mgvrj+ilF(QWlK~Ft{ҏzy=>}}?ս))3KƉC~G y`pe /q&Rr~gcxC7vwzn?x/`^x]U}?wzx`顷hPcp73{&Z~H$;wUFG #ei( / Y ES EʂɛD q%nƸT}5L/5AJh5`Ӯ+g'+kgG:.,+ZZ֒XnM޺`+:,[%2Ic4#VjҶٞ"J]ȫ4Ϣ=-g%-,߶'K%Wf-JNul-ZѬ2]ueBBJ~bJtX\%I.hOlvΑ?gDS ~IKU:!} DZeRUr,)])HL MM6"kyG$5_%:m!w!%AOw]FT*KJ˛GʚOۏzʼiRbmRhIT/f(nzl8Aַ; '/yq&GQ iYiEOzvөkm&,"wm+咓uGgsJo ^e+m/3vۍ׻,YDcn+ohU/խk$ ~R6sfXj(I: 6 }P='~$&c=4H"痈\լB b(R4.kG$zoR$1.2Jvޙ'G# ;ӫ {[SbimR;ir2ɍHyK^Je8n7ꈗ2?(ɶ(£"/ED ;žjW6iQ`S|NNNmWRL;/ DnraZ,q*niMګJ 7i,gD#CV}WP{#kݧꗾ61_WQD~f89PPB|[ <ْeI5 zוgb bv|^!@ W87H 8 pB\ȃpi'E"(3P=~bpA9T@%TA5p jO:hk܄D諀t=4bЈA7A3 Xt+ x4ѷ1iĤ1!҈KcA߀66KwcCwB࣠1!f A1H0 >hFT@2#zw  M.0``<ʘA<"5aS(7 S`*XX4 ~3a`#bd a8&L|X.\a1,7X^ X(YX ~A Tk w0Rmz /7%HBn$&.)clme4/inst/utils/0000755000176200001440000000000013141431220013217 5ustar liggesuserslme4/inst/utils/allFit.R0000644000176200001440000001306413141431220014561 0ustar liggesusers## library("lme4") require("optimx") ## for optim optimizers ## (optimx-specific optimizers require explicit gradients -- ## we could use numDeriv::grad, but this seems to defeat ## the intention) require("nloptr") meth.tab.0 <- cbind(optimizer= rep(c("bobyqa", "Nelder_Mead", "nlminbw", "nmkbw", "optimx", "nloptwrap" ), c(rep(1,5),2)), method= c(rep("",4), "L-BFGS-B", "NLOPT_LN_NELDERMEAD", "NLOPT_LN_BOBYQA")) nlminbw <- lme4:::nlminbwrap namedList <- lme4:::namedList if (require("dfoptim")) { nmkbw <- function(fn,par,lower,upper,control) { if (length(par)==1) { res <- optim(fn=fn,par=par,lower=lower,upper=100*par, method="Brent") } else { if (!is.null(control$maxfun)) { control$maxfeval <- control$maxfun control$maxfun <- NULL } res <- nmkb(fn=fn,par=par,lower=lower,upper=upper,control=control) } res$fval <- res$value res } } else { ## pkg{dfoptim} not available ## for nmkb meth.tab.0 <- meth.tab.0[meth.tab.0[,"optimizer"] != "nmkbw",] } ##' Attempt to re-fit a [g]lmer model with a range of optimizers. ##' The default is to use all known optimizers for R that satisfy the ##' requirements (do not require explicit gradients, allow ##' box constraints), in three categories; (i) built-in ##' (minqa::bobyqa, lme4::Nelder_Mead, nlminbwrap), (ii) wrapped via optimx ##' (most of optimx's optimizers that allow box constraints require ##' an explicit gradient function to be specified; the two provided ##' here are really base R functions that can be accessed via optimx, ##' (iii) wrapped via nloptr; (iv) ##' ##' @param m a fitted model ##' @param meth.tab a matrix (or data.frame) with columns ##' - method the name of a specific optimization method to pass to the optimizer ##' (leave blank for built-in optimizers) ##' - optimizer the \code{optimizer} function to use ##' @param verbose print progress messages? ##' @return a list of fitted \code{merMod} objects ##' @seealso slice, slice2D in the bbmle package ##' @examples ##' library(lme4) ##' gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ##' data = cbpp, family = binomial) ##' gm_all <- allFit(gm1) ##' ss <- summary(gm_all) ##' ss$fixef ## extract fixed effects ##' ss$llik ## log-likelihoods ##' ss$sdcor ## SDs and correlations ##' ss$theta ## Cholesky factors ##' ss$which.OK ## which fits worked allFit <- function(m, meth.tab = meth.tab.0, data=NULL, verbose=TRUE, maxfun=1e5) { stopifnot(length(dm <- dim(meth.tab)) == 2, dm[1] >= 1, dm[2] >= 2, is.character(optimizer <- meth.tab[,"optimizer"]), is.character(method <- meth.tab[,"method"])) fit.names <- gsub("\\.$","",paste(optimizer, method, sep=".")) res <- setNames(as.list(fit.names), fit.names) for (i in seq_along(fit.names)) { if (verbose) cat(fit.names[i],": ") ctrl <- list(optimizer=optimizer[i]) ctrl$optCtrl <- switch(optimizer[i], optimx = list(method = method[i]), nloptWrap = list(algorithm= method[i]), list(maxfun=maxfun)) ctrl <- do.call(if(isGLMM(m)) glmerControl else lmerControl, ctrl) tt <- system.time(rr <- tryCatch(update(m, control = ctrl), error = function(e) e)) attr(rr, "optCtrl") <- ctrl$optCtrl # contains crucial info here attr(rr, "time") <- tt # store timing info res[[i]] <- rr if (verbose) cat("[OK]\n") } structure(res, class = "allfit", fit = m, sessionInfo = sessionInfo(), data = data # is dropped if NULL ) } print.allfit <- function(object, width=80, ...) { cat("original model:\n") f <- attr(object,"fit") ss <- function(x) { if (nchar(x)>width) { strwrap(paste0(substr(x,1,width-3),"...")) } else x } ff <- ss(deparse(formula(f))) cat(ff,"\n") cat("data: ",deparse(getCall(f)$data),"\n") cat("optimizers (",length(object),"): ", ss(paste(names(object),collapse=", ")),"\n", sep="") which.bad <- sapply(object,is,"error") if ((nbad <- sum(which.bad))>0) { cat(nbad,"optimizers failed\n") } cat("differences in negative log-likelihoods:\n") nllvec <- -sapply(object[!which.bad],logLik) print(summary(nllvec-min(nllvec))) } summary.allfit <- function(object, ...) { which.OK <- !sapply(object, is, "error") objOK <- object[which.OK] msgs <- lapply(objOK, function(x) x@optinfo$conv$lme4$messages) fixef <- do.call(rbind, lapply(objOK, fixef)) llik <- sapply(objOK, logLik) times <- t(sapply(objOK, attr, "time")) feval <- sapply(objOK, function(x) x@optinfo$feval) sdcor <- do.call(rbind, lapply(objOK, function(x) as.data.frame(VarCorr(x))[, "sdcor"])) theta <- do.call(rbind, lapply(objOK, function(x) getME(x, "theta"))) cnm <- lme4:::tnames(objOK[[1]]) if (sigma(object[[1]])!=1) cnm <- c(cnm,"sigma") colnames(sdcor) <- unname(cnm) sdcor <- as.data.frame(sdcor) namedList(which.OK, msgs, fixef, llik, sdcor, theta, times, feval) } ## should add a print method for summary: ## * fixed effects, random effects: summary of differences? lme4/configure.ac0000644000176200001440000000043312354315753013411 0ustar liggesusersAC_INIT([lme4], 1.1-7) dnl package name, version dnl test to make sure we have a compatible version of RcppEigen to link with echo " Testing RcppEigen package version " ## http://r.789695.n4.nabble.com/Use-of-R-and-Rscript-in-configure-Makevars-in-packages-td2223991.html lme4/tests/0000755000176200001440000000000013216511172012254 5ustar liggesuserslme4/tests/offset.R0000644000176200001440000000240312406350753013672 0ustar liggesusers## simple examples with offsets, to exercise methods etc. library(lme4) ## generate a basic Gamma/random effects sim set.seed(101) d <- expand.grid(block=LETTERS[1:26],rep=1:100) d$x <- runif(nrow(d)) ## sd=1 reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## lmer() test: d$mu <- d$eta d$y <- rnorm(nrow(d),mean=d$mu,sd=1) fm1 <- lmer(y~x+(1|block),data=d) fm1off <- lmer(y~x+(1|block)+offset(3*x),data=d) ## check equality stopifnot(all.equal(fixef(fm1)[2]-3,fixef(fm1off)[2])) p0 <- predict(fm1) p1 <- predict(fm1,newdata=d) p2 <- predict(fm1off,newdata=d) stopifnot(all.equal(p0,p1,p2)) ## glmer() test: d$mu <- exp(d$eta) d$y <- rpois(nrow(d),d$mu) gm1 <- glmer(y~x+(1|block),data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) gm1off <- glmer(y~x+(1|block)+offset(3*x),data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) ## check equality stopifnot(all.equal(fixef(gm1)[2]-3,fixef(gm1off)[2],tolerance=3e-4)) p0 <- predict(gm1) p1 <- predict(gm1,newdata=d) p2 <- predict(gm1off,newdata=d) stopifnot(all.equal(p0,p1,p2)) ## FIXME: should also test simulations lme4/tests/varcorr.R0000754000176200001440000000102612051752003014052 0ustar liggesuserslibrary(lme4) data(Orthodont, package="nlme") fm1 <- lmer(distance ~ age + (age|Subject), data = Orthodont) VarCorr(fm1) fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) VarCorr(fm2ML) gm1 <- glmer(cbind(incidence,size-incidence) ~ period + (1|herd),data=cbpp, family=binomial) VarCorr(gm1) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- update(gm1,.~.+(1|obs)) VarCorr(gm2) if (FALSE) { ## testing lme4/lme4 incompatibility ## library(lme4) VarCorr(fm1) lme4:::VarCorr.merMod(fm1) ## OK } lme4/tests/lmer-1.R0000644000176200001440000003067312406350753013513 0ustar liggesusers### suppressPackageStartupMessages(...) as we have an *.Rout.save to Rdiff against stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE, useFancyQuotes=FALSE) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc all.EQ <- function(u,v, ...) all.equal.X(u, v, except = c("call", "frame"), ...) S4_2list <- function(obj) { # no longer used sn <- slotNames(obj) structure(lapply(sn, slot, object = obj), .Names = sn) } ## Is now (2010-09-03) in Matrix' test-tools.R above ## showProc.time <- local({ ## pct <- proc.time() ## function() { ## CPU elapsed __since last called__ ## ot <- pct ; pct <<- proc.time() ## cat('Time elapsed: ', (pct - ot)[1:3],'\n') ## } ## }) oldOpts <- options(digits=2) (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm1a <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML = FALSE)) (fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) anova(fm1, fm2) ## Now works for glmer fm1. <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) ## default family=gaussian/identity link -> automatically calls lmer() (but with a warning) ## hack call -- comes out unimportantly different fm1.@call[[1]] <- quote(lmer) stopifnot(all.equal(fm1, fm1.)) ## Test against previous version in lmer1 (using bobyqa for consistency) #(fm1. <- lmer1(Reaction ~ Days + (Days|Subject), sleepstudy, opt = "bobyqa")) #stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), # all.equal(fixef(fm1), fixef(fm1.)), # all.equal(fm1@re@theta, fm1.@theta, tolerance = 1.e-7), # all.equal(ranef(fm1), ranef(fm1.))) ## compDev = FALSE no longer applies to lmer ## Test 'compDev = FALSE' (vs TRUE) ## fm1. <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, ## compDev = FALSE)#--> use R code (not C++) for deviance computation ## stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), ## all.equal(fixef(fm1), fixef(fm1.)), ## all.equal(fm1@re@theta, fm1.@re@theta, tolerance = 1.e-7), ## all.equal(ranef(fm1), ranef(fm1.), tolerance = 1.e-7)) stopifnot(all.equal(fixef(fm1), fixef(fm2), tolerance = 1.e-13), all.equal(unname(fixef(fm1)), c(251.405104848485, 10.467285959595), tolerance = 1e-13), all.equal(Matrix::cov2cor(vcov(fm1))["(Intercept)", "Days"], -0.13755, tolerance=1e-4)) fm1ML <- refitML(fm1) fm2ML <- refitML(fm2) print(AIC(fm1ML)); print(AIC(fm2ML)) print(BIC(fm1ML)); print(BIC(fm2ML)) (fm3 <- lmer(Yield ~ 1|Batch, Dyestuff2)) stopifnot(all.equal(coef(summary(fm3)), array(c(5.6656, 0.67838803150, 8.3515624346), c(1,3), dimnames = list("(Intercept)", c("Estimate", "Std. Error", "t value"))))) showProc.time() # ### {from ../man/lmer.Rd } --- compare lmer & lmer1 --------------- (fmX1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm.1 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) #(fmX2 <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy)) #(fm.2 <- lmer2(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ## check update(, ): fm.3 <- update(fmX1, . ~ Days + (1|Subject) + (0+Days|Subject)) stopifnot(all.equal(fm.1, fm.3)) fmX1s <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) #fmX2s <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) options(oldOpts) ## restore digits showProc.time() # for(nm in c("coef", "fixef", "ranef", "sigma", "model.matrix", "model.frame" , "terms")) { cat(sprintf("%15s : ", nm)) FUN <- get(nm) F.fmX1s <- FUN(fmX1s) # F.fmX2s <- FUN(fmX2s) # if(nm == "model.matrix") { # F.fmX1s <- as(F.fmX1s, "denseMatrix") # F.fmX2s <- as(F.fmX2s, "denseMatrix") # FF <- function(.) {r <- FUN(.); row.names(r) <- NULL # as(r, "generalMatrix") } # } # else FF <- FUN stopifnot( all.equal( FF(fmX1), F.fmX1s, tolerance = 1e-6) # , # all.equal( FF(fmX2), F.fmX2s, tolerance = 1e-5) # , # all.equal( FF(fm.1), F.fmX2s, tolerance = 9e-6) ## these are different models # , # all.equal(F.fmX2s, F.fmX1s, tolerance = 6e-6) # , # all.equal(FUN(fm.1), FUN(fm.2), tolerance = 6e-6) , TRUE) cat("[Ok]\n") } ## transformed vars should work[even if non-sensical as here;failed in 0.995-1] fm2l <- lmer(log(Reaction) ~ log(Days+1) + (log(Days+1)|Subject), data = sleepstudy, REML = FALSE) ## no need for an expand method now : xfm2 <- expand(fm2) stopifnot(dim(ranef(fm2l)[[1]]) == c(18, 2), is((c3 <- coef(fm3)), "coef.mer"), all(fixef(fm3) == c3$Batch),## <-- IFF \hat{\sigma^2} == 0 TRUE) ## Simple example by Andrew Gelman (2006-01-10) ---- n.groups <- 10 ; n.reps <- 2 n <- length(group.id <- gl(n.groups, n.reps)) ## simulate the varying parameters and the data: set.seed(0) a.group <- rnorm(n.groups, 1, 2) y <- rnorm (n, a.group[group.id], 1) ## fit and summarize the model fit.1 <- lmer (y ~ 1 + (1 | group.id)) oldOpts <- options(digits=3) coef (fit.1) options(oldOpts) ## check show( <"summary.mer"> ): (sf1 <- summary(fit.1)) # --> now looks as for fit.1 stopifnot(all.equal(fixef(fit.1), c("(Intercept)" = 1.571312129)), all.equal(unname(ranef(fit.1, drop=TRUE)[["group.id"]]), c(1.8046888, -1.8097665, 1.6146451, 1.5408268, -0.1331995, -3.3306655, -1.8259277, -0.8735145, -0.3591311, 3.3720441), tolerance = 1e-5) ) ## ranef and coef rr <- ranef(fm1) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm1), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) rr <- ranef(fm2) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm2), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) showProc.time() # ## Invalid factor specification -- used to seg.fault: set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4,each = 25)), habitat = factor(rep(1:20, each = 5))), { y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) }) tt <- suppressWarnings(try(reg <- lmer(y ~ habitat + (1|habitat*lagoon), data = dat) ) # did seg.fault) ) # now gives error ^- should be ":" ## suppress warning that uses different quoting conventions on ## R-release vs. R-devel r1 <- lmer(y ~ 0+habitat + (1|habitat:lagoon), data = dat, control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) # ok, but senseless r1b <- lmer(y ~ 0+habitat + (1|habitat), data = dat, control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) # same model, clearly unidentifiable ## "TODO" : summary(r1) should ideally warn the user stopifnot(all.equal(fixef(r1), fixef(r1b), tolerance= 1e-15), all.equal(ranef(r1), ranef(r1b), tolerance= 1e-15, check.attributes=FALSE)) ## Use a more sensible model: r2.0 <- lmer(y ~ 0+lagoon + (1|habitat:lagoon), data = dat) # ok r2 <- lmer(y ~ 0+lagoon + (1|habitat), data = dat) # ok, and more clear stopifnot(all.equal(fixef(r2), fixef(r2.0), tolerance= 1e-15), all.equal(ranef(r2), ranef(r2.0), tolerance= 1e-15, check.attributes=FALSE)) V2 <- vcov(r2) assert.EQ.mat(V2, diag(x = 9.9833/3, nr = 4)) stopifnot(all.equal(unname(fixef(r2)) - (1:4)*100, c(1.72, 0.28, 1.76, 0.8), tolerance = 1e-13)) ## sparseX version should give same numbers: ## (only gives a warning now -- sparseX disregarded) r2. <- lmer(y ~ 0+lagoon + (1|habitat), data = dat, sparseX = TRUE, verbose = TRUE) ## the summary() components we do want to compare 'dense X' vs 'sparse X': nmsSumm <- c("methTitle", "devcomp", "logLik", "ngrps", "coefficients", "sigma", "REmat", "AICtab") sr2 <- summary(r2) sr2. <- summary(r2.) sr2.$devcomp$dims['spFe'] <- 0L # to allow for comparisons below stopifnot(all.equal(sr2[nmsSumm], sr2.[nmsSumm], tolerance= 1e-14) , all.equal(ranef(r2), ranef(r2.), tolerance= 1e-14) , Matrix:::isDiagonal(vcov(r2.)) # ok , all.equal(Matrix::diag(vcov(r2.)), rep.int(V2[1,1], 4), tolerance= 1e-13) # , all(vcov(r2.)@factors$correlation == diag(4)) # not sure why this fails , TRUE) r2. ### mcmcsamp() : ## From: Andrew Gelman ## Date: Wed, 18 Jan 2006 22:00:53 -0500 if (FALSE) { # mcmcsamp still needs work ## NB: Need to restore coda to the Suggests: field of DESCRIPTION ## file if this code block is reinstated. ## has.coda <- require(coda) ## if(!has.coda) ## cat("'coda' package not available; some outputs will look suboptimal\n") ## Very simple example y <- 1:10 group <- gl(2,5) (M1 <- lmer (y ~ 1 + (1 | group))) # works fine (r1 <- mcmcsamp (M1)) # dito r2 <- mcmcsamp (M1, saveb = TRUE) # gave error in 0.99-* and 0.995-[12] (r10 <- mcmcsamp (M1, n = 10, saveb = TRUE)) ## another one, still simple y <- (1:20)*pi x <- (1:20)^2 group <- gl(2,10) M1 <- lmer (y ~ 1 | group) mcmcsamp (M1, n = 2, saveb=TRUE) # fine M2 <- lmer (y ~ 1 + x + (1 + x | group)) # false convergence ## should be identical (and is) M2 <- lmer (y ~ x + ( x | group))# false convergence -> simulation doesn't work: if(FALSE) ## try(..) fails here (in R CMD check) [[why ??]] mcmcsamp (M2, saveb=TRUE) ## Error: inconsistent degrees of freedom and dimension ... ## mcmc for glmer: rG1k <- mcmcsamp(m1, n = 1000) summary(rG1k) rG2 <- mcmcsamp(m1, n = 3, verbose = TRUE) } ## Spencer Graves' example (from a post to S-news, 2006-08-03) ---------------- ## it should give an error, rather than silent non-sense: tstDF <- data.frame(group = letters[1:5], y = 1:5) assertError(## Now throws an error, as desired : lmer(y ~ 1 + (1|group), data = tstDF) ) showProc.time() # ## Wrong formula gave a seg.fault at times: set.seed(2)# ! D <- data.frame(y= rnorm(12,10), ff = gl(3,2,12), x1=round(rnorm(12,3),1), x2=round(rnorm(12,7),1)) ## NB: The first two are the same, having a length-3 R.E. with 3 x 3 vcov-matrix: ## --> do need CPU ## suppressWarnings() for warning about too-few random effects levels m0 <- suppressWarnings(lmer(y ~ (x1 + x2)|ff, data = D)) m1 <- suppressWarnings(lmer(y ~ x1 + x2|ff , data = D)) m2 <- suppressWarnings(lmer(y ~ x1 + (x2|ff), data = D)) m3 <- suppressWarnings(lmer(y ~ (x2|ff) + x1, data = D)) suppressWarnings(stopifnot(all.equal(ranef(m0), ranef(m1), tolerance = 1e-5), all.equal(ranef(m2), ranef(m3), tolerance = 1e-5), inherits(tryCatch(lmer(y ~ x2|ff + x1, data = D), error = function(e)e), "error"))) showProc.time() # ## Reordering of grouping factors should not change the internal structure #Pm1 <- lmer1(strength ~ (1|batch) + (1|sample), Pastes, doFit = FALSE) #Pm2 <- lmer1(strength ~ (1|sample) + (1|batch), Pastes, doFit = FALSE) #P2.1 <- lmer (strength ~ (1|batch) + (1|sample), Pastes, devFunOnly = TRUE) #P2.2 <- lmer (strength ~ (1|sample) + (1|batch), Pastes, devFunOnly = TRUE) ## The environments of Pm1 and Pm2 should be identical except for ## "call" and "frame": #stopifnot(## all.EQ(env(Pm1), env(Pm2)), # all.EQ(S4_2list(P2.1), # S4_2list(P2.2))) ## example from Kevin Thorpe: synthesized equivalent ## http://thread.gmane.org/gmane.comp.lang.r.lme4.devel/9835 ## NA issue: simpler example d <- data.frame(y=1:60,f=factor(rep(1:6,each=10))) d$y[2] <- NA d$f[3:4] <- NA lmer(y~(1|f),data=d) glmer(y~(1|f),data=d,family=poisson) ## we originally thought that these examples should be ## estimating non-zero variances, but they shouldn't ... ## number of levels with each level of replication levs <- c(800,300,150,100,50,50,50,20,20,5,2,2,2,2) n <- seq_along(levs) flevels <- seq(sum(levs)) set.seed(101) fakedat <- data.frame(DA = factor(rep(flevels,rep(n,levs))), zbmi=rnorm(sum(n*levs))) ## add NA values fakedat[sample(nrow(fakedat),100),"zbmi"] <- NA fakedat[sample(nrow(fakedat),100),"DA"] <- NA m5 <- lmer(zbmi ~ (1|DA) , data = fakedat, control=lmerControl(check.nobs.vs.rankZ="ignore")) m6 <- update(m5, data=na.omit(fakedat)) stopifnot(VarCorr(m5)[["DA"]] == 0, VarCorr(m6)[["DA"]] == 0) lme4/tests/getME.R0000644000176200001440000000366112565343470013420 0ustar liggesuserslibrary(lme4) #### tests of getME() ### are names correct? -------------- if(getRversion() < "2.15") paste0 <- function(...) paste(..., sep = '') hasInms <- function(x) grepl("(Intercept", names(x), fixed=TRUE) matchNms <- function(fm, PAR) { stopifnot(is.character(vnms <- names(fm@cnms))) mapply(grepl, paste0("^", vnms), names(PAR)) } chkIMod <- function(fm) {## check "intercept only" model b1 <- getME(fm,"beta") f1 <- fixef(fm) stopifnot(hasInms(f1), f1 == b1, hasInms(t1 <- getME(fm,"theta")), matchNms(fm, t1)) } fm1 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) chkIMod(fm1) fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) stopifnot(fixef(fm2) == getME(fm2,"beta")) getME(fm2,"theta") getME(fm3 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy), "theta") getME(fm4 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "theta") ## internal consistency check ensuring that all allowed 'name's work (and are not empty): (nmME <- eval(formals(lme4:::getME.merMod)$name)) chkMEs <- function(fm, nms) { stopifnot(is.character(nms)) str(parts <- sapply(nms, getME, object = fm, simplify=FALSE)) isN <- sapply(parts, is.null) stopifnot(identical(names(isN), nms), !any(isN)) } chkMEs(fm1, nmME) chkMEs(fm2, nmME) chkMEs(fm3, nmME) chkMEs(fm4, nmME) ## multiple components can now be retrieved at once gg <- getME(fm2,c("theta","beta")) gg2 <- getME(fm2,c("theta","beta","X")) ## list of Zt for each random-effects factor lapply(getME(fm2,c("Ztlist")),dim) ## Cholesky factors returned as a list of matrices getME(fm1,"ST") getME(fm2,"ST") ## distinction between number of RE terms ## and number of RE grouping factors stopifnot(getME(fm2,"n_rtrms")==1) stopifnot(getME(fm2,"n_rfacs")==1) lapply(getME(fm4,c("Ztlist")),dim) stopifnot(getME(fm4,"n_rtrms")==2) stopifnot(getME(fm4,"n_rfacs")==1) stopifnot(getME(fm1,"sigma")==sigma(fm1)) lme4/tests/ST.R0000644000176200001440000000067612406350753012744 0ustar liggesusersrequire(lme4) # sorry for fitting yet another sleepstudy model in the tests m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ST <- getME(m, "ST")$Subject # copied from vince dorie's simmer.R in arm: dimension <- nrow(ST) T <- ST diag(T) <- rep(1, dimension) S <- diag(diag(ST), dimension) vc0 <- getME(m, 'sigma')^2*tcrossprod(T %*% S) vc1 <- VarCorr(m)$Subject[,] dimnames(vc0) <- dimnames(vc1) all.equal(vc0, vc1, tolerance = 1e-6) lme4/tests/utils.R0000754000176200001440000000042612106753646013556 0ustar liggesuserscheckSlots <- function(x,y,...) { for (i in slotNames(x)) { cat(i,"\n") print(all.equal(slot(x,i),slot(y,i),...)) } } checkElements <- function(x,y,...) { for (i in names(x)) { cat(i,"\n") print(all.equal(x[[i]],y[[i]],...)) } } lme4/tests/resids.R0000754000176200001440000000115112261277451013700 0ustar liggesuserslibrary(lme4) ## raw residuals for LMMs fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(all.equal(residuals(fm1),sleepstudy$Reaction-fitted(fm1))) r1 <- residuals(fm1,type="pearson") ## deviance/Pearson residuals for GLMMs gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) p <- fitted(gm1) n <- cbpp$size v <- n*p*(1-p) obs_p <- cbpp$incidence/cbpp$size rp <- residuals(gm1,"pearson") rp1 <- (obs_p-p)/sqrt(p*(1-p)) rp2 <- rp1*n ## FIXME:: restore this test ## stopifnot(all.equal(rp,rp2)) r2 <- residuals(gm1,type="deviance") lme4/tests/glmerWarn.R0000644000176200001440000000104312374550357014347 0ustar liggesuserslibrary(lme4) library(testthat) m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) ## hack call -- comes out unimportantly different m4@call[[1]] <- quote(lme4::lmer) expect_equal(m3,m4) expect_equal(m3,m5) ## would like m3==m5 != m4 ?? VarCorr(m4) VarCorr(m5) ## wrong??? is this the report or the getME(m4,"theta") getME(m5,"theta") lme4/tests/falsezero_dorie.R0000644000176200001440000000132112406350753015556 0ustar liggesusers## test of false zero problem reported by Vince Dorie ## (no longer occurs with current development lme4) ## https://github.com/lme4/lme4/issues/17 library(lme4) sigma.eps <- 2 sigma.the <- 0.75 mu <- 2 n <- 5 J <- 10 g <- gl(J, n) set.seed(1) theta <- rnorm(J, 0, sigma.eps * sigma.the) y <- rnorm(n * J, mu + theta[g], sigma.eps) lmerFit <- lmer(y ~ 1 + (1 | g), REML = FALSE, verbose=TRUE) y.bar <- mean(y) y.bar.j <- sapply(1:J, function(j) mean(y[g == j])) S.w <- sum((y - y.bar.j[g])^2) S.b <- n * sum((y.bar.j - y.bar)^2) R <- S.b / S.w sigma.the.hat <- sqrt(max((n - 1) * R / n - 1 / n, 0)) stopifnot(all.equal(sigma.the.hat,lme4Sigma <- unname(getME(lmerFit,"theta")), tolerance=2e-5)) lme4/tests/lmer-conv.R0000754000176200001440000000112312051752003014274 0ustar liggesusers### lmer() convergence testing / monitoring / ... ## ------------------ ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## convergence on boundary warnings load(system.file("external/test3comp.rda", package = "Matrix")) b3 <- lmer(Y3 ~ (1|Sample) + (1|Operator/Run), test3comp, verb = TRUE) if (isTRUE(try(data(Early, package = 'mlmRev')) == 'Early')) { Early$tos <- Early$age - 0.5 # time on study b1 <- lmer(cog ~ tos + trt:tos + (tos|id), Early, verb = TRUE) } cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/vcov-etc.R0000644000176200001440000000743712406350753014146 0ustar liggesusersstopifnot(require(lme4)) (testLevel <- lme4:::testLevel()) ## "MEMSS" is just 'Suggest' -- must still work, when it's missing: if (suppressWarnings(!require(MEMSS,quietly=TRUE)) || (data(ergoStool, package="MEMSS") != "ergoStool")) { cat("'ergoStool' data from package 'MEMSS' is not available --> skipping test\n") } else { fm1 <- lmer (effort ~ Type + (1|Subject), data = ergoStool) fm1.s <- lmer (effort ~ Type + (1|Subject), data = ergoStool, sparseX=TRUE) ## was segfaulting with sparseX (a while upto 2010-04-06) fe1 <- fixef(fm1) fe1.s <- fixef(fm1.s) print(s1.d <- summary(fm1)) print(s1.s <- summary(fm1.s)) stopifnot( all.equal(fe1, fe1.s, tolerance= 1e-12) , all.equal(se1.d <- coef(s1.d)[,"Std. Error"], se1.s <- coef(s1.s)[,"Std. Error"])#, tol = 1e-10 , all.equal(V.d <- vcov(fm1), V.s <- vcov(fm1.s))#, tol = 1e-9 , all.equal(Matrix::diag(V.d), unname(se1.d)^2, tolerance= 1e-12) , all.equal(unname(se1.d), if(fm1@optinfo$optimizer == "Nelder_Mead") c(0.57601196, rep(0.51868399, 3)) else ## "bobyqa" c(0.57601226, rep(0.51868384, 3)), tolerance = 1e-6) ## std.err.: no extreme accuracy needed ) }## if( ergoStool is available from pkg MEMSS ) ### -------------------------- a "large" example ------------------------- str(InstEval) if (FALSE) { # sparse X is not currently implemented, so forget about this: system.time(## works with 'sparseX'; d has 1128 levels fm7 <- lmer(y ~ d + service + studage + lectage + (1|s), data = InstEval, sparseX=TRUE, verbose=1L, REML=FALSE) ) system.time(sfm7 <- summary(fm7)) fm7 # takes a while as it computes summary() again ! range(t.fm7 <- coef(sfm7)[,"t value"])## -10.94173 10.61535 for REML, -11.03438 10.70103 for ML m.t.7 <- mean(abs(t.fm7), trim = .01) #stopifnot(all.equal(m.t.7, 1.55326395545110, tolerance = 1.e-9)) ##REML value stopifnot(all.equal(m.t.7, 1.56642013605506, tolerance = 1.e-6)) ## ML hist.t <- cut(t.fm7, floor(min(t.fm7)) : ceiling(max(t.fm7))) cbind(table(hist.t)) }# fixed effect 'd' -- with 'sparseX' only -------------------------------- if(testLevel <= 1) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE : (testLevel > 1) : library(lattice) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> all.equal(), isOptimized(), ... system.time( fm8.N <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("Nelder_Mead"), verbose = 1L) ) ## 62 sec [MM@lynne; 2013-11] ## 59.5 sec [nb-mm3; 2013-12-31] system.time( fm8.B <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("bobyqa"), verbose = 2L) ) ## 34.1 sec [nb-mm3; 2013-12-31] stopifnot(isOptimized(fm8.N), isOptimized(fm8.B)) all.equal(fm8.B, fm8.N, tolerance=0) ## "Mean relative difference: 3.31 e-06" [nb-mm3; 2013-12-31] str(baseOpti(fm8.N)) str(baseOpti(fm8.B)) (sm8 <- summary(fm8.B)) str(r8 <- ranef(fm8.B)) sapply(r8, summary) r.m8 <- cov2cor(vcov(sm8)) Matrix::image(r.m8, main="cor()") if(testLevel <= 2) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE: testLevel > 2 ## Clearly smaller X, but more RE pars ## ==> currently considerably slower than the above system.time( fm9 <- lmer(y ~ studage + lectage + (1|s) + (1|d) + (1|dept:service) + (1|dept), InstEval, verbose = 1L, REML=FALSE) ) ## 410 secs [MM@lynne; 2013-11] fm9 (sm9 <- summary(fm9)) rr <- ranef(fm9, condVar = TRUE) ## ~ 10 secs sapply(rr, summary) qqr <- qqmath(rr, strip=FALSE) qqr$d qqr$s dotplot(rr,strip=FALSE)$`dept:service` cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/nlmer.Rout.save0000644000176200001440000000706112406350753015213 0ustar liggesusers R Under development (unstable) (2013-12-06 r64406) -- "Unsuffered Consequences" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: i686-pc-linux-gnu (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(lme4) Loading required package: Matrix > > allEQ <- function(x,y, tolerance = 4e-4, ...) + all.equal.numeric(x,y, tolerance=tolerance, ...) > > (nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ (Asym|Tree), + Orange, start = c(Asym = 200, xmid = 725, scal = 350))) Nonlinear mixed model fit by maximum likelihood ['nlmerMod'] Formula: circumference ~ SSlogis(age, Asym, xmid, scal) ~ (Asym | Tree) Data: Orange AIC BIC logLik deviance df.resid 273.1438 280.9205 -131.5719 263.1438 30 Random effects: Groups Name Std.Dev. Tree Asym 31.646 Residual 7.843 Number of obs: 35, groups: Tree, 5 Fixed Effects: Asym xmid scal 192.1 727.9 348.1 > fixef(nm1) Asym xmid scal 192.0528 727.9045 348.0721 > > if (lme4:::testLevel() > 2) { + ## 'Theoph' Data modeling + Th.start <- c(lKe = -2.5, lKa = 0.5, lCl = -3) + + system.time(nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ + (lKe+lKa+lCl|Subject), + Theoph, start = Th.start, tolPwrss=1e-8)) + print(nm2, corr=FALSE) + + system.time(nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ + (lKe|Subject) + (lKa|Subject) + (lCl|Subject), + Theoph, start = Th.start)) + print(nm3, corr=FALSE) + + ## dropping lKe from random effects: + system.time(nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa+lCl|Subject), + Theoph, start = Th.start, tolPwrss=1e-8)) + print(nm4, corr=FALSE) + + system.time(nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ + (lKa|Subject) + (lCl|Subject), + Theoph, + start = Th.start, tolPwrss=1e-8)) + print(nm5, corr=FALSE) + + if (require("PKPDmodels")) { + oral1cptSdlkalVlCl <- + PKmod("oral", "sd", list(ka ~ exp(lka), Cl ~ exp(lCl), V ~ exp(lV))) + if (FALSE) { + ## FIXME: Error in get(nm, envir = nlenv) : object 'k' not found + ## probably with environments/call stack etc.? + ## 'pnames' is c("lV","lka","k") -- not ("lV","lka","lCl") + ## nlmer -> nlformula -> MkRespMod + ## pnames are OK in nlformula, but in MkRespMod we try to recover + ## them from the column names of the gradient attribute of the + ## model evaluated in nlenv -- which are wrong. + system.time(nm2a <- nlmer(conc ~ oral1cptSdlkalVlCl(Dose, Time, lV, lka, lCl) ~ + (lV+lka+lCl|Subject), + Theoph, start = c(lV=-1, lka=-0.5, lCl=-3), tolPwrss=1e-8)) + print(nm2a, corr=FALSE) + } + } + } ## testLevel > 2 > > proc.time() user system elapsed 3.984 2.708 6.840 lme4/tests/drop.R0000754000176200001440000000104212051752003013336 0ustar liggesuserslibrary(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## slightly weird model but plausible --- not that ## one would want to try drop1() on this model ... fm2 <- lmer(Reaction ~ 1+ (Days|Subject), sleepstudy) drop1(fm2) ## empty update(fm1, . ~ . - Days) anova(fm2) ## empty terms(fm1) terms(fm1,fixed.only=FALSE) extractAIC(fm1) drop1(fm1) drop1(fm1, test="Chisq") gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ=25L) drop1(gm1, test="Chisq") lme4/tests/fewlevels.R0000644000176200001440000000113212565075351014402 0ustar liggesusers#### example originally from Gabor Grothendieck source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> rSim.11() set.seed(1) d1 <- rSim.11(10000, k=4) library(nlme) m.lme <- lme(y ~ x, random=~ 1|fac , data=d1) (VC.lme <- VarCorr(m.lme)) detach("package:nlme") ## library(lme4) fm.NM <- lmer(y ~ x + (1|fac), data=d1, control=lmerControl("Nelder_Mead")) fm.Bq <- update(fm.NM, control=lmerControl("bobyqa")) v.lmer <- VarCorr(fm.NM)[[1]][1,1] stopifnot(all.equal(v.lmer,19.55,tolerance=1e-3)) ## was 19.5482 with old starting values (1), 19.5493 with new start algorithm lme4/tests/test_times.R0000754000176200001440000000072612051772014014566 0ustar liggesuserslibrary(lme4) ## utility for timing individual tests testfiles <- setdiff(list.files(pattern="*\\.[Rr]$"),"test_times.R") tmpf <- function(x) { cat("*** ",x,"\n") system.time(local(source(x,echo=FALSE)))["elapsed"] } fn <- "test_timings.RData" if (!file.exists(fn)) { times <- sapply(testfiles,tmpf) save("times",file=fn) } if (FALSE) { load(fn) pdf("timings.pdf",width=5,height=8) dotchart(sort(times)) abline(v=c(2,10)) dev.off() } lme4/tests/priorWeights.R0000644000176200001440000001301212406350753015070 0ustar liggesuserscompFunc <- function(lmeMod, lmerMod, tol = 1e-2){ lmeVarCorr <- nlme:::VarCorr(lmeMod)[,"StdDev"] lmeCoef <- summary(lmeMod)$tTable[,-c(3,5)] lmeOut <- c(as.numeric(lmeVarCorr), as.numeric(lmeCoef)) keep <- !is.na(lmeOut) lmeOut <- lmeOut[keep] dn <- dimnames(lmeCoef) if(is.null(dn)) dn <- list("", names(lmeCoef)) names(lmeOut) <- c( paste(names(lmeVarCorr), "Var"), as.character(do.call(outer, c(dn, list("paste")))))[keep] ## get nested RE variances in the same order as nlme ## FIXME: not sure if this works generally vcLmer <- VarCorr(lmerMod) vcLmer <- vcLmer[length(vcLmer):1] ## lmerVarCorr <- c(sapply(vcLmer, attr, "stddev"), attr(VarCorr(lmerMod), "sc")) ## differentiate lme4{new} and lme4.0 : lmerCoef <- if(is(lmerMod, "merMod")) summary(lmerMod)$coefficients else summary(lmerMod)@coefs lmerOut <- c(lmerVarCorr, as.numeric(lmerCoef)) names(lmerOut) <- names(lmeOut) return(list(target = lmeOut, current = lmerOut, tolerance = tol)) } set.seed(1) nGroups <- 100 nObs <- 1000 # explanatory variable with a fixed effect explVar1 <- rnorm(nObs) explVar2 <- rnorm(nObs) # random intercept among levels of a grouping factor groupFac <- as.factor(rep(1:nGroups,each=nObs/nGroups)) randEff0 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff1 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff2 <- rep(rnorm(nGroups),each=nObs/nGroups) # residuals with heterogeneous variance residSD <- rpois(nObs,1) + 1 residError <- rnorm(nObs,sd=residSD) # response variable respVar <- randEff0 + (1+randEff1)*explVar1 + (1+randEff2)*explVar2 + residError # rename to fit models on one line y <- respVar x <- explVar1 z <- explVar2 g <- groupFac v <- residSD^2 w <- 1/v library("nlme") lmeMods <- list( ML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "ML"), REML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "REML"), ML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "REML"), ML1 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "REML")) library("lme4") lmerMods <- list( ML1 = lmer(y ~ x + (1|g), weights = w, REML = FALSE), REML1 = lmer(y ~ x + (1|g), weights = w, REML = TRUE), ML2 = lmer(y ~ x + (x|g), weights = w, REML = FALSE), REML2 = lmer(y ~ x + (x|g), weights = w, REML = TRUE), ML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = FALSE), REML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = TRUE)) comp <- mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE) stopifnot(all(sapply(comp, do.call, what = all.equal))) ## Look at the relative differences: sapply(mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE, tol = 0), do.call, what = all.equal) ## add simulated weights to the sleepstudy example n <- nrow(sleepstudy) v <- rpois(n,1) + 1 w <- 1/v sleepLme <- lme(Reaction ~ Days, random = ~ Days|Subject, sleepstudy, weights = varFixed(~v), method = "ML") sleepLmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = w, REML = FALSE) sleepComp <- compFunc(sleepLme, sleepLmer) stopifnot(do.call(all.equal, sleepComp)) ## look at relative differences: sleepComp$tolerance <- 0 do.call(all.equal, sleepComp) if (require("mlmRev")) { n <- nrow(Chem97) v <- rpois(n,1) + 1 w <- 1/v Chem97Lme <- lme(score ~ 1, random = ~ 1|lea/school, Chem97) Chem97Lmer <- lmer(score ~ (1|lea/school), Chem97) Chem97Comp <- compFunc(Chem97Lme, Chem97Lmer) stopifnot(do.call(all.equal, Chem97Comp)) ## look at relative differences: Chem97Comp$tolerance <- 0 do.call(all.equal, Chem97Comp) } set.seed(2) n <- 40 w <- runif(n) x <- runif(n) g <- factor(sample(1:10,n,replace=TRUE)) Z <- model.matrix(~g-1); y <- Z%*%rnorm(ncol(Z)) + x + rnorm(n)/w^.5 m <- lmer(y ~ x + (1|g), weights=w, REML = TRUE) ## CRAN-forbidden: ## has4.0 <- require("lme4.0")) has4.0 <- FALSE if(has4.0) { ## m.0 <- lme4.0::lmer(y ~ x + (1|g), weights=w, REML = TRUE) lmer0 <- get("lmer", envir=asNamespace("lme4.0")) m.0 <- lmer0(y ~ x + (1|g), weights=w, REML = TRUE) dput(fixef(m.0)) # c(-0.73065400610675, 2.02895402562926) dput(sigma(m.0)) # 1.73614301673377 dput(VarCorr(m.0)$g[1,1]) # 2.35670451590395 dput(unname(coef(summary(m.0))[,"Std. Error"])) ## c(0.95070076853232, 1.37650858268602) } fixef_lme4.0 <- c(-0.7306540061, 2.0289540256) sigma_lme4.0 <- 1.7361430 Sigma_lme4.0 <- 2.3567045 SE_lme4.0 <- c(0.95070077, 1.37650858) if(has4.0) try(detach("package:lme4.0")) stopifnot(all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 1e-3)) all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 0) #-> 1.657e-5 ## but these are not at all equal : (all.equal(sigma(m), sigma_lme4.0, tolerance = 10^-3)) # 0.4276 (all.equal(as.vector(VarCorr(m)$g), Sigma_lme4.0, tolerance = 10^-3)) # 1.038 (all.equal(as.vector(summary(m)$coefficients[,2]), SE_lme4.0, tolerance = 10^-3)) # 0.4276 ## so, lme4.0 was clearly wrong here ##' make sure models that differ only in a constant ##' prior weight have identical deviance: fm <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy,REML=FALSE) fm_wt <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = rep(5, nrow(sleepstudy)),REML=FALSE) all.equal(deviance(fm), deviance(fm_wt)) lme4/tests/prLogistic.R0000644000176200001440000000220512406350753014523 0ustar liggesusers## data set and formula extracted from ?prLogisticDelta example ## (Thailand, clustered-data) in prLogistic package load(system.file("testdata","prLogistic.RData",package="lme4")) library(lme4) (testLevel <- lme4:::testLevel()) if (testLevel > 2) { print(system.time( lme4_est <- glmer(rgi ~ sex + pped + (1|schoolid), data = dataset, family=binomial) )) lme4_results <- list(sigma= sqrt(unname(unlist(VarCorr(lme4_est)))), beta = fixef(lme4_est)) ## stored results from other pkgs glmmML_est <- list(sigma = 1.25365353546143, beta = c("(Intercept)" = -2.19478801858317, "sex" = 0.548884468743364, "pped"= -0.623835613907385)) lme4.0_est <- list(sigma = 1.25369539060849, beta = c("(Intercept)" = -2.19474529099587, "sex" = 0.548900267825802, "pped"= -0.623934772981894)) source(system.file("test-tools-1.R", package = "Matrix"))#-> assert.EQ() etc assert.EQ.(lme4_results, glmmML_est, tol=3e-3) assert.EQ.(lme4_results, lme4.0_est, tol=3e-3) print(lme4_est) } lme4/tests/predict_basis.R0000644000176200001440000000303312406350753015217 0ustar liggesusers## test for models containing data-defined bases ## ?makepredictcall ## ?model.frame ## ???? data(sleepstudy,package="lme4") library(splines) ## lm0 <- lm(Reaction~ns(Days,2),sleepstudy) ## attr(terms(lm0),"predvars") ## library(nlme) ## lme1 <- lme(Reaction~ns(Days,2),random=~1|Subject,sleepstudy) ## attr(terms(lme1),"predvars") ## no! ## attr(lme1$terms,"predvars") ## yes ## detach("package:nlme") library(lme4) fm1 <- lmer(Reaction ~ ns(Days,2) + (1|Subject), sleepstudy) fm2 <- lmer(Reaction ~ poly(Days,2) + (1|Subject), sleepstudy) fm3 <- lmer(Reaction ~ poly(Days,2,raw=TRUE) + (1|Subject), sleepstudy) newdat0 <- data.frame(Days = unique(sleepstudy$Days)) newdat <- data.frame(Days = 5:12) tmpf <- function(fit) { with(sleepstudy, { plot (Reaction~Days, xlim=c(0,12)) points(Days, predict(fit), col=2) }) lines(newdat0$ Days, predict(fit,ReForm=NA,newdata=newdat0), col=4) lines(newdat $ Days, predict(fit,ReForm=NA,newdata=newdat ), col=5) } stopifnot(all.equal(predict(fm2,newdat,ReForm=NA), predict(fm3,newdat,ReForm=NA))) ## pictures tmpf(fm1) tmpf(fm2) tmpf(fm3) ## test for GLMMs set.seed(101) d <- data.frame(y=rbinom(10,size=1,prob=0.5), x=1:10, f=factor(rep(1:5,each=2))) gm1 <- glmer(y ~ poly(x,2) + (1|f), d, family=binomial) gm2 <- glmer(y ~ poly(x,2,raw=TRUE) + (1|f), d, family=binomial) newdat <- data.frame(x=c(1,4,6)) stopifnot(all.equal(predict(gm1,newdat,ReForm=NA), predict(gm2,newdat,ReForm=NA),tolerance=3e-6)) lme4/tests/refit_allequal.RData0000644000176200001440000007773012406310565016203 0ustar liggesusers]XMX7,~ȢX0a{Æ tQ@wPz?%<ݖٙwgggfVJ"dIrr$.:s_2ycxRZgjYRPTVsֶf+kg( 4`bDWxSxev?gipuT2|1c.ˊ=͆ʓ~lIjM([4Z<$\K NsUm|RJ,3RW̕Pi~+H2|UlMW$OsJ\Nɸ\VfA,*X-omnemm>k>y`Dp_Ih1W)HT{Ƀ[ QY M,Pa;{f =k8cע 2#5ŌJ+'L#x]G aL7il| QN#r¼d;[1̠ZRTŞ`4 (09 5nio}?4tk kBJEO|.x $#hī[ 0!t,N57r .,emmIZY$m3+ ݒ4\wag2UE>Vє6pLҍ4.s΂!Hb qc@~[MQ27uA2.@JH!;PH5>56Ad*آ&,NT^.Z!ϴ#P,Cځi6rvT3j.9]]pN^-*\S; ГФgH{º!LRcIb|1{ =@~OgU׍^WjJd7jŲRxؾ(G>uh6IMҐ$m/]"^>O1D7GKlSpثR1- յ-V[:*` ;0XS.g2łe)Վlfk3EUm8ӫBc7ChE#Xg[m e.\Phw$a"u-hII(lF6̑kݹp.پr3[*Ì) loi<ݖL` 2͞sYA;#93+ܛ {V<"?kϪ`2/o{(a!5iVh|IO4ޢ%akF w_!Qm 'wϢZ5XήYvn-~8FDklmLcRSZ'4-(9_(JH1K33Rro7$U905s4GH$ZT@4U*h Ora՞DxE_Yck8xKL@ _8+V,tcuD1iE;n%m̙uCf2ǥb?ֆBcV΂#N]Y,邲d6x1[M$Df  +0N1VDєR,˟A1Ǣ8f Ql :@Ēl{zaA(GK¸.̉`$`nu5䅉C;,sr_YM&3lX}”ʢR~=6xN'6ݪF5&0vڴkM`)bWs~%k:aD'oX5 BBImq2|8ОPbY%ZSC(W` ;s q?,TĚ|,p6.fZlgZ 7,U w79PVT3eUˬm)TLsoB E&>r :3*qc(5Vˌ@ YpdFT /lQ6Jx HDko~"6jɜ)-aFa *^gtVF4t$њ E*@6NKw4Oᳵ`L c҈[]Mŕ# )ǀ7`s(pm2Ʋ;ɪd%G-DC8وq tӻw" }#\2T's$skCرecepu3?)2(ĶdN49;얻[:Gʩ(L(S=UOdn#KtG@V+Gu#< yKƠ5]vXҕkh8IsK {Vd.D2nNvbՂak5N0؛Mifؚۈ}O\x" N$$-|,?7B\$* /fDg+>~Xu }4=RPAd8LJt{{G=>,Tkb&P_n#Yz4G۫gAc vl.-vX<&P6ǪI[DɊ5q%~p L<;4\h/7.ΎAc]v$|>n8<D(,y`0p6yH8e:ˬeY 4sրtarUD"'b貏'Ed^P 6!D [`Xn"w~ƴG Fb\#B XA`IKIˍC&2;4pmP MΡ~4-ڙgP؇2PsbJs}~/ሣ6%&ҙ8MC^N*>dthaR$d柘N;p%>X8IH9J!l$d+A#L u"C4^{88O>gjJc /N),a*'bdwHX+*H uR=('Yhp,?5#wub'EǤX`ƮZ:pS{<}F8d_S=Dd.(Sg{*\eeͰeM)GIO['ȰWG}.l|.O pAy翪'8Zk#,fZ]XQ[–>_bK` 7qX8{(+YX2a> | D Ɂ>E.C;pv8sladA_k~%30li6ld'Fbs4F,Iw X]3v- < A: B-_6ԬTT[S#"J >*Iu]7> r%VujU&Up19}%*H0/ gfm'Y_WWJ#FF? }#|{&3Cd9M0`L"l06ԩcԪ>Tcը8>%iW:՟Y5iL5b"`I 8xLV?ay˺ȓaPuxj-X.*n~SϚ1q=#, yDÅ.誳Cj` 46?tC|ǻaf4Aǫzyzi̹!] t1z^>m 0Y֒wlVዴ&`||Ւ53ߩYTlbE! /ƛxqHX'u=,}EN⚬d'|^poI9.8OϷ( =62eo~#TBҔIj˯Z~}m% B5rmah5SΡGld5A]@;S?h_W0CJיæx q6k0j^]@1#h l 턽 AI]bm9\7@/D _p U|&\^j?#_Х3&uޟ%b &6 #6X\.<_ Glu1%(o`#k*`Ɉ옒c!=22BV" O Y2 ߚѧ|W) J]vLq&OC1ߚBtX4"]$-LpӘl_CbjDp0w`P%W='y[xk k4l_@/5WpYȠQ)X e4"nxuR;X[OꨃZ{w-JPvTbl߯V*![-ŷaYװkb޶Ri5_;Z+GL[TF-[Z[6іW-`<hV~uVd sױAd=𨔂D~`0+"3t ֑eimȱGNp Ba[@EP'4n0)) A Wݿ@-"+>[!u% 8/vӟUؽ_1n-\nh҈6ʏmڐ>Y~)XxQ@Gӏ.1=usab؇y6a^:u/aHy0G | `MSaN5cqC R0o!%l(_ 0*b }c*)hk`pEXP9F()^Vr[L&WLTi yYSJE -ZTA#{Ǡ ;G.&4<%$GњHf$-;a|#9E 猜Fr5J1բ;ug?Cy6ʅW)Byr9*Y|-4VF&ri F~#_kAN֘h#p]ԜMwm5QW׆UͪI"X%h֕[:bH"(L"~ДDCA ( | Bt Y¦BH@=|SU5HBű%U_u_~D+E8D1հ?60 Jjc0&9p?ܗྚnMPd݁;PG}3uVȶtkg2͂ܗdy&'ɬ9}9OY/Tcxmq"j O}j_߲pvn T]NgLRkn4Nqn'Ӊ]'hȊ" z%bݐ f~Dr\WQAcZuIq#Taac 9Ժ1ĩK2qk㠨㙬?A0X;>c8%YC[Qو+YOYb tI5g:PT C %:ѯR@|n X tLj$DxlD&g!Ch@* b24mgsK͂z)^_[@zhg} 顝ɇvmɖU7q]&Ns=E˂y{#k&NQzP/F~&N 6;DoB;J%u2¶RxoAl0dŤRfVXjȔT~A"*<RX UaS!a%Nb؃,j$i=4Xwi%4>Jha 4fY'!J6M4I ,(p|,` iG$8S6ky i;gO0ЫЉu:[.Խ.۱Eވ:βVJͪDuk?DnӮ.K1\oCz2mfQvnٟPC*q,I5MXt0$#vhbD(iB3a͒1 'U΁O -4`4wĎaVP)ĄjZ QqGX#D+ԲӂD 6T:T cT헌- 'REg\Gt 4 N2PY/%D]h!C0M$"୐,Q/]:c:&"$^Lv/Q`M`hW`TFOҩ P(i4IIpgSyM"J&F!%M Lnɻ/cIbp|QB DHi[ mfRG"0w,zB૱^MCFuzEL2B ɤ-ɼnֶdLM2lkwk` it [2ܜjIZcYK+=bFjd"}=>/S%s̠;0Ts24:ӞJ1gcU4+5/ksl%Be"$4I_$ 8ZݎS-h,&c|L E|TE,2t0it Ku[Ogu9G%i!%cKlh|~XcJ\!9C3 V ,ec Ɉ\NyY0˫CA^![Y&g—1cM:B1Z#3 nkOv`Rd:ICs4ܖ$pՃloE>$F70"BWA^x7p>1l`gM3سf#5%pvKhX#69Qj.4>%9jNz2wu8 9+)w3\^Xitn,[ d [W&n >c_|FfMN&AVI]@DB&jO'nhAc0Mhb`5UIt8 _G/MB̶Դ W^۫qNG]\hHh ܈YZVN豝\3evidyDh8rW_e2-6^kǺ s [Hb[SHڤ&W艻B6Ŷj!l%A*$Р%4=@w !I2{Y @X"L4Z%{8o'Idx,8'ZKа~ŬoY"$1IzSYa?ߚ fbϔ9zVWhka%XAH93;F7-':E\uNx o_8(6pci$h " GƓ!t`oRNw B Ł&[ЭC-|CS2h37^i 'mppO5ݘadBrחѳvg0yDzmeE/KmV{LcNxwԅ*Q6Ka]RA#a[[WZY9wM_8^<-i^Vvm=cظ{WVm'ESMDFӐ"сeYQ39O)/@~v^X Wxvv|ǵzSjr0yzo߸] Z{t!hFVay|'SUZ.*JHHHHH%U ?رg:VTp>%\rpy0'¬S6 j|s}ȸ)jQ\o G2⥩#g Il(.6B5)՝6Dz^WUz^WUz^WUz^w% x<ۡhИn:"15ca_ސˇ&7p/Q٥_۝;[?FׂcC?FO-0eQlỦ~Y6P^hP4J=uE| O6cdw>= z.k)4\?qg=w8L |**_blfsDvJZrsse=ye w]}i cSn0rNYT*}+'ͅ E!Mm[sD'=g|]L 1_4`Joz)dQY`xP=YeD)ഋ\;ON(<,1*8iRݏ,h=&t m>zqUQ@B+036h簰 As=FZ]OyY`5fq6}S$"~/MBPRjFmPMO_+X3H՞Q!/y#PaĨ N!{ Sfh[G}FFMx.tR?{<%jc9ZlE @a{q| Ȳ笹}}hH<|f\vluz-xFa\{p`j޵>n@ҿ qK D_c \=u)䫫w~|[ZEis#o~F[/z^lޡ6d{V|H @˝l&_@1Pz_Tp v[ȴ~sc˝f#/@#=maRVIw RS&7rm.&ٳUB( 51/X97rE}1 z1`JkH %5YxdخA핷EkB!~:@VPI佌uVo P7t&TWWz=~7dVVyr54vď9%75/@˼v=F>5D"ސ1Euu|vB;~S1Sa$(s~ 1+ol:3+0Y<3zi)|&@B(&rT}"cQ֐](@S`UÜP֮#ݣKzOlгwOWΏ`M %my(:uq˯(v㪏;#PY-Piɲpҷm{) vJ|ՐխL0@g DR[@)n3Zk]9',<^H_;E&C]݇W X};>p. \zo] iFe_2(ln'8``|\1-(18ov?ErAhݿoWl\v/=b>?jO22Ɋ-=gUwfJ\Kc&.[5؝kDyjvM2 pE~ӆGG*aS?E~Va.Y~`Ɛ!Yai qal'κgBܿ/}9Q~Kv n2.(?)|yJ03|6+ 6s_e5/,KԆ:@Zd=o-~e`-J6YR҇iQqo6ke͡8oJk_ΣO]'4@2%v[~ y5xČ3\=7+R( .=<1EWvV7y( FNn[̕M!i͕QFăE7!* (|_Ej>Z^eCܾu2zM/R(vskNCKnԎESL k#G\B(wyRI(fޓA(#p0אcY)5{ JTDlYQa[zec|wz ɮ]cJi/HW紺q+J_8W!4T8g^{[|QQeC>}hM{'h+»8>S )M;oy_'=\/>EN*AI7n^Ik;Jtc=U̡BnJ1g9LyA%OMOr*v\4%Sq)y*5yRyTv÷Y%*XD:&̝u^|m4zPTvF:ڿjdPFy^Z u1{C{7 q :A;.Ai/nY>zLe(WE1g߼>DÛ͑qP77dLM;:9PUe9`ܞ H66vkyef7uޥPcdM(h}{ܖѹ hyq9#'N^}ѷӣkMUW?zzUByc/'/ۏ/K@EvDL=Bhn: /[?z}TSkS2WR/8T6_Y`Yfc-Q4ۡ<`x>Ƚ\3lJSw_@^ k˳¢EWBd{>UJ4hϟfї;gOUE(䋓e_<"ckkkx>({;Ѡk|F-dMT6(5~T~Wx(z]l2JY~7w2<%/M}q.:ߛ} }D3 e mxh(\̙AR_])n$Tb[ToVLHu*Hsω{1,8bF%V e8g3PZq+\sLe,1rN<HuH)<6MJ -Wq}rr }`֑aPM !*YkPuچ! ;:[ }7'b9qY_E7 x Ն|ޓW&o@g4lV洌,Vc$E)4㟦4Þ!&TA{$ I$DA'8۟ z2{"s"bMY?T!p{4 2jFe2) ga LR|x.V`+:c%ɪ%^0"DDRIO\ {NlD#cq< R%W"QM0hq 3q8"D"IصrZ"vm~b7$vID(C)" q#;DZnV»7}*.o]=].y3ƁiO6vT3sPby&ֵzΔ4ۭ,ĎnbԆnOPFogj WXlŭա ?A &@/+wA~cax!bKLCɶHѡc?111-ٙvt&{6TdڙL`YTd ٜJ#؜`!cp3^#H'9J~G~G~G~|ux։^F_ԊXe'm9$1nr2 ?7{\S/֤YaQΫ%]Qٍ%(!u LתRo:=X_fIP2eX~nT!ſ 'AGQ珖Bְ+*n'CxdM]Bkء/1@E!7 (—yz/NAqn@ B-POF)Ptϭ0Z2͒m:p~9~cr >4i* !; UOC̀Ιц =ZECIk<.: y Dڼ׸.knzL'>7v"?0Le*+( S'WP+=2уu N>H9HUb PNخZ,L)mCxx@aᝡ~ro*Ŏ|om*h2'm׆ʵsڽ风 .F/N22/`jOno>xyɋ枏^_(YS׹93T0;KQ\v\_@d m #uO#F~Nms ~ݫ %z=n 9aZ> \a3O0x uj95uЃ@~!Qꋭ5bF_GA:#U ٥JrKu_Vn>Q&ރ,æ^LEcw$yLRyFCNRܥF߽ǭѝ+=FBZ!W.KVLbi %菉X**Jtk O}`-~uXz F6E SOqܬ'C⾣ۓ) j~ QhJ6Ql SCAgrx/ܸ T8qUQPcL%Scš2T?T~SycB9~[,_Wf!wdjnG]]bN߲w/JX'#:}{(r]0 w|C_im᦮P|(*S; w%RAϭP^tf>73NR؟uGه흦B'·ڽ{u1_/0qMLݤnWx=}5sjk0֤=xw[A0$DO|q(ۮMD=f6zvA ɜ7(DYys#!yqS/8ex#)SQ3 :ndGp.R?3JS;B_F)A+:߆=d3@?_h& ,;ziB؍:GA:o}!(YD?p Pz)ܱ>)#ۨ^/Oڧp3<+$'>P&+ *B^,XKR,B w3+]ٛ[32"xѡ*i%ͫ%N WGeur3dJ#GT6^R ׍"x%{<01^ns=X@vtb*R]mo ]dx\@&SQN/8å; |BJ9;oppeAx:>\l1d0|ڱUvSyt~g@PIn n,䪁®o2~s!f3FiiQQGE+}r3E|":x`:E(]Ŧ(i}'PQ~OL y7n4;/_\jfⅠ%d9PeVS⃃OsnO}lo^9iy[(ǶyUN/w!a}P6kVBшkԡjPp wt$+)|GAu&]u1/(+PJGf=gz]m{~uțkf)ɲ 7y}Ȓ,TfxN0c'(eÚ1׿6PDH'BY[_7Pϔ'W]Ad#=NӆZ(5.OeܰӮ?v*5Pϙ྄S,}ΔN5Δ}*Jҫ*Jҫ*Jҫ*J$׉*ɉ"?k4#q~zK*QZL?@=.;DհBR=ֻJڈbF`ɠyk 8j/Ὲ6b=|0aU1wOWYWJ*{*cä$PMVB%%\RŕQJubІ#ַ\$N]{˜c3C䁄u1ٚ x5; \.V9"j!L:rהxfiesg }O GJ#ҫ*Jҫ*Jҫ*JҫH({2> Q2~:A5gH3wX6d[ 2suT{6ۻ1c\TI)'{NctL)S|&BԙS/Xvq̵.Ql9X#5ۃ7SOdU't޹5J'Ug<`R .TfÇ`OV,*Tx}ڟ{%F{'&1!b'1l6T}s'6S)ZsU8^T:-r\e'7$Ln}meM~+ޛGזG!{JxַrUHhmoIk}%]<>W~.;E[x0|޽<>~.fsJљâ]W( ܽ_xhpu`A<axFXv0=GD% W@*N _6dd'aF,M3t '~ 0X2@( ,EZPDoH̨kOAAMV'()8+D"Mcn6M$ I5z,ʑVU)$I&O'R  kL16]A5 ExMˁgG-H$D?/? .PC,rvPM/dʘUӿei~~k~lzjmwBu:# fQT&+z-qv`cdgܨ6°յRma@|Ta y(!.@Q Svtg"tڼCM`Ujp/,7nURn;ׄ%AJK=oύ{᱓BOhM8/#Wh QyErO= ܑ˪TȦ){"7}Ӥ\>`-/ViU|-@Wڟ}6x Ώ=8 ϼw}$4˜1R[VE2 -S<#ՄM/7 _ݍ2"N$-.48 J`EzhM 6iF-> ӎޢ7ܲbyxkziInso`[vzm;]=,r|jJՎ'Z7ZD.̺ugߟy:O~ݰJ2ij;՛RϛM-#gS.2WCčF7" KF{ݰ< WuvYW1W?C?C?C?C?C?W_, ,(utA 5gEI0W\+<#Jҫ*Jҫ*Jҫ*JﻒBZۡhИn:"15ca_ސˇ&7p/Q٥_۝;[?FׂcC?FO-0eQlỦ~Y6P^hP4J=uE| O6cdw>= z.k)4\?qg=w8L |**_blfsDvJZrsse=ye w]}i cSn0rNYT*}+'ͅ E!Mm[sD'=g|]L 1_4`Joz)dQY`xP=YeD)ഋ\;ON(<,1*8iRݏ,h=&t m>zqUQ@B+036h簰 As=FZ]OyY`5fq6}S$"~/MBPRjFmPMO_+X3H՞Q!/y#PaĨ N!{ Sfh[G}FFMx.tR?{<%jc9ZlE @a{q| Ȳ笹}}hH<|f\vluz-xFa\{p`j޵>n@ҿ qK D_c \=u)䫫w~|[ZEis#o~F[/z^lޡ6d{V|H @˝l&_@1Pz_Tp v[ȴ~sc˝f#/@#=maRVIw RS&7rm.&ٳUB( 51/X97rE}1 z1`JkH %5YxdخA핷EkB!~:@VPI佌uVo P7t&TWWz=~7dVVyr54vď9%75/@˼v=F>5D"ސ1Euu|vB;~S1Sa$(s~ 1+ol:3+0Y<3zi)|&@B(&rT}"cQ֐](@S`UÜP֮#ݣKzOlгwOWΏ`M %my(:uq˯(v㪏;#PY-Piɲpҷm{) vJ|ՐխL0@g DR[@)n3Zk]9',<^H_;E&C]݇W X};>p. \zo] iFe_2(ln'8``|\1-(18ov?ErAhݿoWl\v/=b>?jO22Ɋ-=gUwfJ\Kc&.[5؝kDyjvM2 pE~ӆGG*aS?E~Va.Y~`Ɛ!Yai qal'κgBܿ/}9Q~Kv n2.(?)|yJ03|6+ 6s_e5/,KԆ:@Zd=o-~e`-J6YR҇iQqo6ke͡8oJk_ΣO]'4@2%v[~ y5xČ3\=7+R( .=<1EWvV7y( FNn[̕M!i͕QFăE7!* (|_Ej>Z^eCܾu2zM/R(vskNCKnԎESL k#G\B(wyRI(fޓA(#p0אcY)5{ JTDlYQa[zec|wz ɮ]cJi/HW紺q+J_8W!4T8g^{[|QQeC>}hM{'h+»8>S )M;oy_'=\/>EN*AI7n^Ik;Jtc=U̡BnJ1g9LyA%OMOr*v\4%Sq)y*5yRyTv÷Y%*XD:&̝u^|m4zPTvF:ڿjdPFy^Z u1{C{7 q :A;.Ai/nY>zLe(WE1g߼>DÛ͑qP77dLM;:9PUe9`ܞ H66vkyef7uޥPcdM(h}{ܖѹ hyq9#'N^}ѷӣkMUW?zzUByc/'/ۏ/K@EvDL=Bhn: /[?z}TSkS2WR/8T6_Y`Yfc-Q4ۡ<`x>Ƚ\3lJSw_@^ k˳¢EWBd{>UJ4hϟfї;gOUE(䋓e_<"ckkkx>({;Ѡk|F-dMT6(5~T~Wx(z]l2JY~7w2<%/M}q.:ߛ} }D3 e mxh(\̙AR_])n$Tb[ToVLHu*Hsω{1,8bF%V e8g3PZq+\sLe,1rN<HuH)<6MJ -Wq}rr }`֑aPM !*YkPuچ! ;:[ }7'b9qY_E7 x Ն|ޓW&o@g4lV洌,Vc$ٌbYw該/SPೌꉝHe4@fP-t*bO[id:ՌdR$X EPZ}h{얏$&T{="M""1ѝ5q/9Yֈ&2dzq5K 푫^s1mhOڣ5P= ?;11i5O_D`oPD`?/xh0oiFQ⺥o姑ioFrtsVHҏ#H?ҏ#H?ҏ#H?ҏ#4{_/*`p>u=l5n>p)2ޟ"k\LP<}X%BU /\K :>?6H1 RN'l֟qm9 -Zs9iZa)m┄btӻO\_ ^L~u~|3:1с!Ǣ7Y-en=j$_M9G63䢾-$VNFGfkܚ4 }6l2*yu1*Qde?z\8rZ5\2MӶ, ^3\J ܭ >w$H^R:\(*_v{Edl]Ȼy;%(E2Os)(ͳHA(zPqz1nYU[ 5C38(ea**N6*U߻J]B=>D'{ ;~niy!/)XJ:ֹncp5&nkp^*d۳//&.Ba[l1uKͧֈuP??UzfpEx4;J% Ve4ځFP"fnމ:>/+էv!9dG y930}Gq(iEg!o]WÜwem@Mi_2ćwCN)cLetj {ŠgC&zAݩ"瑗BubUi;mH17,3OS͢|CR pVvznCx9}AE#v0i;:BFLPP-oT0o!yŽz2k:2=:GvCQ߽vg) 칡 d^iDhɡm"ٯ{_Gm!'l_K߇ 26c6liOU!N2f@PtߠzH3$V}u2] KH79(Xg*4CA=T]~2KsW;g5?٤]ST{x2~ۋ(y#=B)\* 2ϡhI*X453pHHk1J%w`XP>}IQ?]U,M1 WC]nYi ޯ+Coqݦ(cj)tHwx{!e8A/}0a2 mXɦ9*4p4ma ;z(L\eYңJ8y> pq8j~ ^ulqP8T5G_J}y;oL3=o jr,䎒U͍u˾kPL[E ;~9[~o2>E"t|fvB~.o+7m-U~z?ʕoE^ejrnw]*\=tы'}v@jNYe{| ?$]s$$o:ū =;SK#5zvFh5ʦ}9棳 4E.ON ꦓ#PX$wV;+u)FygG%G{WB;8w)dNhN!CQ+XB߄~e`(3gE>̓6!a!WwV>t|S2]O6`_i(4bfۥqmĽ:3vx vwj>;nA2z\Oq[nxjX"džK-e1iP2cC3;kCs_ヷ.W6tf5Nw>uIW@;8k(X#E K;:heܬeѡՃ_}kKA  CfҽusK (Pn4봱(zw: c+[ ld }?RNsq3Cy*hRPxj{ ۫;⟾+ם}zv4}YPU;(lZrBN<6\y]T0[TJҗzdSj q+_|,new(v;j/]63UT[:Z;SE}rmbz}ڝry; Z ^{F{<B4 ̀9|IۋNJd[>K}un} 3+NVGgCJclLʠ4-f(46h[(2~<am ".9Sæ(umހZCe2/bpZHq *T{qV|}tֿ WW]05)RYR2͊ЩZOAkc{d@EE(8`3w%[5wAF~􆌒_ GOT6fۤvQB4nNw&^vog(4BhdP}sBworں.K&n) Of@Ym ƚnK<O=' /[ZF/\ވ"5VUV{P Z>3M mnOSy^y!1$vdmd6%EW.k#7u#_(eu LFώ?h>r2&(+ozn$/X9nۿ,Q7}$e*JywR:Rڍ1΅P*~Fi}WV(E1}pZPǁu& -֐߲DA|%7}G/Mx\(H8Z'/%yߘ'\/;'ed BeIZnGzyE :Pޤ{eAE(wTыkVE({ukP<{s7{&O=Rf__?:t@%ͺdyĉȠn3\nC o=KסAqSϣ}o|6;FMcnxy6N @%Zrѷl(_d|*eg4yǽ^սVA)u ls;Ȝ|QV_G 7 C6A;6nꗀ251 |*oi)ݺ;F]ҍf0xgپ~mD^kr5IrSo*XPq(Yub};xxun22eI<7`ϡTϪjhTѰW\!fֺgUP\eJ(<;duTC} C-;G)Iae铊|+U!Ee_) 3zwvoc PYԈ6Ї[m~LS6J,Rj _|pГIwnO =G9-}k6\?$JfJ(q:T 5ҐnٞNd;=b1]?^hZ^>Τ+2R= &PeJ)RLL;٠vOys %YcPsƙUzΚ6vY5J~ ͞'NLЇ5OY )o}ҿyXx;(x׵dYX9x$j9F>*Jҫ*Jҫ*Jҫ*JJqZQpgP`JߟXQf;V[E'힕D?V]dPމ!o _{1\՜܁bMf:ؐm-U>q'!d:F?M.v!elme4/tests/predict.R0000644000176200001440000002471112650276557014056 0ustar liggesuserslibrary(lme4) library(lattice) library(testthat) do.plots <- FALSE L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions gm1 <- fit_cbpp_1 ## glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ## data = cbpp, family = binomial) ## fitted values p0 <- predict(gm1) p0B <- predict(gm1,newdata=cbpp) expect_equal(p0, p0B, tolerance=2e-5) ## FIXME: why not closer? ## fitted values, unconditional (level-0) p1 <- predict(gm1, re.form=NA) expect_true(length(unique(p1))==length(unique(cbpp$period))) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") newdata <- with(cbpp,expand.grid(period=unique(period),herd=unique(herd))) ## new data, all RE p2 <- predict(gm1,newdata) ## new data, level-0 p3 <- predict(gm1,newdata, re.form=NA) ## explicitly specify RE p4 <- predict(gm1,newdata, re.form=~(1|herd)) expect_equal(p2, p4) p5 <- predict(gm1,type="response") expect_equal(p5, plogis(p0)) if (do.plots) matplot(cbind(p2,p3),col=1:2,type="b") ## effects of new RE levels newdata2 <- rbind(newdata, data.frame(period=as.character(1:4),herd=rep("new",4))) expect_error(predict(gm1,newdata2), "new levels detected") p6 <- predict(gm1,newdata2,allow.new.levels=TRUE) expect_equal(p2, p6[1:length(p2)]) ## original values should match ## last 4 values should match unconditional values expect_true(all(tail(p6,4) == predict(gm1, newdata=data.frame(period=factor(1:4)), re.form=NA))) ## multi-group model fm1 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) ## fitted values p0 <- predict(fm1) ## fitted values, unconditional (level-0) p1 <- predict(fm1, re.form=NA) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") newdata <- with(Penicillin,expand.grid(plate=unique(plate),sample=unique(sample))) ## new data, all RE p2 <- predict(fm1,newdata) ## new data, level-0 p3 <- predict(fm1,newdata, re.form=NA) ## explicitly specify RE p4 <- predict(fm1,newdata, re.form=~(1|plate)+(~1|sample)) p4B <- predict(fm1,newdata, re.form=~(1|sample)+(~1|plate)) expect_equal(p2,p4,p4B) p5 <- predict(fm1,newdata, re.form=~(1|sample)) p6 <- predict(fm1,newdata, re.form=~(1|plate)) if (do.plots) matplot(cbind(p2,p3,p5,p6),type="b",lty=1,pch=16) fm2 <- fit_sleepstudy_2 p0 <- predict(fm2) p1 <- predict(fm2, re.form=NA) ## linear model, so results should be identical patterns but smaller -- ## not including intermediate days newdata <- with(sleepstudy,expand.grid(Days=range(Days),Subject=unique(Subject))) newdata$p2 <- predict(fm2,newdata) newdata$p3 <- predict(fm2,newdata, re.form=NA) newdata$p4 <- predict(fm2,newdata, re.form=~(0+Days|Subject)) newdata$p5 <- predict(fm2,newdata, re.form=~(1|Subject)) ## reference values from an apparently-working run refval <- structure(list(Days = c(0, 9, 0, 9, 0, 9), Subject = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("308", "309", "310", "330", "331", "332", "333", "334", "335", "337", "349", "350", "351", "352", "369", "370", "371", "372"), class = "factor"), p2 = c(253.663652396798, 430.66001930835, 211.006415533628, 227.634788908917, 212.444742696829, 257.61053840953), p3 = c(251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848 ), p4 = c(251.405104848485, 428.401471760037, 251.405104848485, 268.033478223774, 251.405104848485, 296.570900561186), p5 = c(253.663652396798, 347.869226033161, 211.006415533628, 305.211989169991, 212.444742696829, 306.650316333193)), .Names = c("Days", "Subject", "p2", "p3", "p4", "p5"), out.attrs = structure(list(dim = structure(c(2L, 18L), .Names = c("Days", "Subject")), dimnames = structure(list( Days = c("Days=0", "Days=9"), Subject = c("Subject=308", "Subject=309", "Subject=310", "Subject=330", "Subject=331", "Subject=332", "Subject=333", "Subject=334", "Subject=335", "Subject=337", "Subject=349", "Subject=350", "Subject=351", "Subject=352", "Subject=369", "Subject=370", "Subject=371", "Subject=372")), .Names = c("Days", "Subject"))), .Names = c("dim", "dimnames")), row.names = c(NA, 6L), class = "data.frame") expect_equal(head(newdata), refval, tol=5e-7) library(lattice) tmpf <- function(data,...) { data$Reaction <- predict(fm2,data,...) if (do.plots) xyplot(Reaction~Days,group=Subject,data=data,type="l") } tmpf(sleepstudy) tmpf(sleepstudy, re.form=NA) tmpf(sleepstudy, re.form= ~(0+Days|Subject)) tmpf(sleepstudy, re.form= ~(1|Subject)) ## from 'Colonel Triq': examples using *fewer* random effect levels ## than in original data set m <- lmer(angle ~ temp + recipe + (1 | replicate), data=cake) summary(m) # replicate 1 only appears in rows 1:18. rownames(cake[cake$replicate==1,]) predict(m, newdata=cake[-1:-17,], re.form=~ (1 | replicate)) predict(m, newdata=cake[-1:-18,], re.form=NA) predict(m, newdata=cake[-1:-18,], re.form=~ (1 | replicate)) predict(m, newdata=cake[-1:-18,], re.form=~ (1 | replicate), allow.new.levels=TRUE) ## fm1 <- fit_sleepstudy_1 p0 <- predict(fm1,newdata=data.frame(Days=6,Subject=c("308","309"))) p1 <- predict(fm1,newdata=data.frame(Days=rep(6,4), Subject=c("308","309"))) stopifnot(all.equal(rep(unname(p0),2),unname(p1))) p2 <- predict(fm1,newdata=data.frame(Days=6,Subject="308")) nd <- data.frame(Days=6, Subject=factor("308",levels=levels(sleepstudy$Subject))) p3 <- predict(fm1,newdata=nd) stopifnot(all.equal(p2,p3)) stopifnot(all.equal(p2,p0[1])) ## Stack Overflow 34221564: ## should only drop columns from model matrix when using *new* data library(splines) sleep <- sleepstudy #get the sleep data set.seed(1234567) sleep$age <- as.factor(sample(1:3,length(sleep),rep=TRUE)) form1 <- Reaction ~ Days + ns(Days, df=4) + age + Days:age + (Days | Subject) m4 <- lmer(form1, sleep) expect_equal(unname(head(predict(m4,re.form=NA))), c(255.645493, 262.3263, 268.86947, 279.0608, 293.9390, 304.4721),tol=1e-4) } lme4/tests/agridat_gotway.R0000644000176200001440000000452313015604046015410 0ustar liggesusers## require(agridat) ## dat <- gotway.hessianfly ## don't actually use gotway_hessianfly_fit or gotway_hessianfly_prof, ## so we should be OK even with R< 3.0.1 load(system.file("testdata","gotway_hessianfly.rda",package="lme4")) # Block random. See Glimmix manual, output 1.18. # Note: (Different parameterization) ## require("lme4.0") ## fit2 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=dat, family=binomial) ## params <- list(fixef=fixef(fit2),theta=getME(fit2,"theta")) ## detach("package:lme4.0") lme4.0fit <- structure(list(fixef = structure(c(1.50345713031203, -0.193853259383803, -0.540808391060274, -1.43419379979154, -0.203701042949808, -0.978322555343941, -0.604078624475678, -1.67742449813309, -1.39842466673692, -0.681709344788684, -1.46295367186169, -1.45908310198959, -3.55285756517073, -2.50731975980307, -2.08716296677356, -2.96974270029992), .Names = c("(Intercept)", "genG02", "genG03", "genG04", "genG05", "genG06", "genG07", "genG08", "genG09", "genG10", "genG11", "genG12", "genG13", "genG14", "genG15", "genG16")), theta = structure(0.0319087494293615, .Names = "block.(Intercept)")), .Names = c("fixef", "theta")) ## start doesn't work because we don't get there library(lme4) m1 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=gotway.hessianfly, family=binomial) m1B <- update(m1,control=glmerControl(optimizer="bobyqa")) max(abs(m1@optinfo$derivs$gradient)) ## 0.0012 max(abs(m1B@optinfo$derivs$gradient)) ## 2.03e-5 abs(m1@optinfo$derivs$gradient)/abs(m1B@optinfo$derivs$gradient) ## bobyqa gets gradients *at least* 1.64* lower lme4fit <- list(fixef=fixef(m1),theta=getME(m1,"theta")) ## hack around slight naming differences lme4fit$theta <- unname(lme4fit$theta) lme4.0fit$theta <- unname(lme4.0fit$theta) ## difference in theta on x86_64-w64-mingw32 (64-bit) with r-devel is 0.000469576 stopifnot(all.equal(lme4fit, lme4.0fit, tolerance = 5e-4)) ## Fun stuff: visualize and alternative model ## library(ggplot2) ## dat$prop <- dat$y/dat$n ## theme_set(theme_bw()) ## ggplot(dat,aes(x=gen,y=prop,colour=block))+geom_point(aes(size=n))+ ## geom_line(aes(group=block,colour=block))+ ## geom_smooth(family=binomial,aes(weight=n,colour=block,group=block),method="glm", ## alpha=0.1) ## dat$obs <- factor(seq(nrow(dat))) ## m2 <- glmer(cbind(y, n-y) ~ block+ (1|gen) + (1|obs), data=dat, family=binomial) lme4/tests/test_timings.RData0000754000176200001440000000131412051771621015706 0ustar liggesusersuS]HQeWJHkBQJ-!삮HEzw\ !} %Z BbD$t) +(-;ss՗A[\WGWX'K0ee+ 9fs~|X PWg~ pq|paj_*xvu4^hOcpYY8x!`7PhӺ= hxCg]p^x'8gW磮g Uhx$z ОbjUh8L~oٟ9T@(`ޚ*׏Ko= !2SʣꈆM(˄7N ^)OP$Ra %̗ټfqj8i,Ix4,NM',_8,a4RUpjPP0DzĽ6^NҲB+%dSNՒuHaM 옷&#pheU7V6[n8ɤEd 5NWJ|MHk,~j[^irX6JM"Q5TDFiIr/O,(DN͈*?MaNRn sYˉŃX*]R%(sܩM v_Ulme4/tests/testcrab.R0000644000176200001440000001045312406350753014217 0ustar liggesuserslibrary("lme4") L <- load(system.file("testdata","crabs_randdata2.Rda",package="lme4")) ## randdata0: simulated data, in form suitable for plotting ## randdata: simulated data, in form suitable for analysis ## fr ## alive/dead formula ## fr2 ## proportion alive formula (use with weights=initial.snail.density) ## FIXME: there are still bigger differences than I'd like between the approaches ## (mostly in the random-effects correlation). It's not clear who's right; ## lme4 thinks its parameters are better, but ?? Could be explored further. if (FALSE) { ## library(ggplot2) ## commented to avoid triggering Suggests: requirement library(grid) zmargin <- theme(panel.margin=unit(0,"lines")) theme_set(theme_bw()) g1 <- ggplot(randdata0,aes(x=snail.size,y=surv,colour=snail.size,fill=snail.size))+ geom_hline(yintercept=1,colour="black")+ stat_sum(aes(size=factor(..n..)),alpha=0.6)+ facet_grid(.~ttt)+zmargin+ geom_boxplot(fill=NA,outlier.colour=NULL,outlier.shape=3)+ ## set outliers to same colour as points ## (hard to see which are outliers, but it doesn't really matter in this case) scale_size_discrete("# obs",range=c(2,5)) } t1 <- system.time(glmer1 <- glmer(fr2,weights=initial.snail.density, family ="binomial", data=randdata)) t1B <- system.time(glmer1B <- glmer(fr,family ="binomial", data=randdata)) res1 <- c(fixef(glmer1),c(VarCorr(glmer1)$plot)) res1B <- c(fixef(glmer1B),c(VarCorr(glmer1B)$plot)) p1 <- unlist(getME(glmer1,c("theta","beta"))) stopifnot(all.equal(res1,res1B)) dfun <- update(glmer1,devFunOnly=TRUE) stopifnot(all.equal(dfun(p1),c(-2*logLik(glmer1)))) ## ## library(lme4.0) ## version 0.999999.2 results ## t1_lme4.0 <- system.time(glmer1X <- ## glmer(fr2,weights=initial.snail.density, ## family ="binomial", data=randdata)) ## dput(c(fixef(glmer1X),c(VarCorr(glmer1X)$plot))) ## p1X <- c(getME(glmer1X,"theta"),getME(glmer1X,"beta")) p1X <- c(0.681301656652347, -1.14775239687404, 0.436143018123226, 2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108) stopifnot(all.equal(unname(p1),p1X,tolerance=0.03)) dfun(p1X) dfun(p1) ## ~ 1.8 seconds elapsed time lme4.0_res <- structure(c(2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108, 0.464171947357232, -0.532754465140956, -0.532754465140956, 0.801690946568518), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1,lme4.0_res,tolerance=0.015)) ## library("glmmADMB") ## prop/weights formulation: ~ 7 seconds ## t1_glmmadmb <- system.time(glmer1B <- glmmadmb(fr,family ="binomial", ## corStruct="full",data=randdata)) ## dput(c(fixef(glmer1B),c(VarCorr(glmer1B)$plot))) glmmADMB_res <- structure(c(2.7773101267224, 0.609026276823218, -1.60055704634712, 2.03244174458562, 0.624171008585953, -1.79088398816641, -2.44540300134182, -1.42366043619683, -2.26780858382505, 0.700927141726545, -1.26219964572264, 0.369029052442189, 3.44326297908383, 2.26403738918967, 0.46417, -0.53253, -0.53253, 0.80169), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1B,glmmADMB_res,tolerance=0.015)) lme4/tests/evalCall.R0000644000176200001440000000056112374550357014140 0ustar liggesusers## see if we can still run lme4 functions when lme4 is not attached if ("package:lme4" %in% search()) detach("package:lme4") data(sleepstudy,package="lme4") data(cbpp,package="lme4") fm1 <- lme4::lmer(Reaction ~ Days + (Days|Subject), sleepstudy) gm1 <- lme4::glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) lme4/tests/lmList-tst.R0000644000176200001440000001531012716161751014463 0ustar liggesuserslibrary(lme4) library(testthat) set.seed(17) fm1. <- lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) fm1 <- lmList(Reaction ~ Days | Subject, sleepstudy) ## coef(fm1) cf.fm1 <- data.frame( `(Intercept)` = c(244.19267, 205.05495, 203.48423, 289.68509, 285.73897, 264.25161, 275.01911, 240.16291, 263.03469, 290.10413, 215.11177, 225.8346, 261.14701, 276.37207, 254.96815, 210.44909, 253.63604, 267.0448), Days = c(21.764702, 2.2617855, 6.1148988, 3.0080727, 5.2660188, 9.5667679, 9.1420455, 12.253141, -2.8810339, 19.025974, 13.493933, 19.504017, 6.4334976, 13.566549, 11.348109, 18.056151, 9.1884448, 11.298073)) stopifnot(all.equal(signif(coef(fm1), 8), cf.fm1, tolerance = 1e-7, check.attributes=FALSE), all.equal(coef(fm1.), coef(fm1), tolerance = 1e-15), inherits(formula(fm1), "formula") # <- had been wrong till 2015-04-09 ) sm1. <- summary(fm1.) sm1 <- summary(fm1) stopifnot(all.equal(sm1$RSE, 25.5918156267, tolerance = 1e-10)) cf1 <- confint(fm1) if(!dev.interactive(orNone=TRUE)) pdf("lmList_plots.pdf") ## Calling the plot.lmList4.confint() method : stopifnot(inherits(pcf1 <- plot(cf1), "trellis")) pcf1 # nice lattice plot data(Orthodont, package="nlme") Orthodont <- as.data.frame(Orthodont) # no "groupedData" fm2 <- lmList(distance ~ age | Subject, Orthodont) coef(fm2) (fe2 <- fixef(fm2))# did fail, now fine stopifnot(all.equal(fe2, c("(Intercept)" = 16.7611111111111, age = 0.660185185185185))) stopifnot(inherits(print(pairs(fm2)), "trellis")) ## ----- needs a non-trivial X matrix set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) coef(fm3.1) (cf31 <- confint(fm3.1)) stopifnot(inherits(print(plot(cf31)), "trellis")) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) (cf32 <- confint(fm3.2)) # ^^^^^^^^ "glmList" stopifnot(identical(dim(cf32), c(5L,2:1)), inherits(print(plot(cf32)), "trellis"), all.equal(unname(getDataPart(signif(drop(cf32), 6))), cbind(c(-0.400041, -0.311489, -1.07774, -0.841075, -0.273828), c( 0.743188, 0.768538, 0.0723138, 0.274392, 0.890795)))) ## "glmList" (2) -- here, herd == 8 has only one observation => not estimable expect_warning(fm4 <- lmList(cbind(incidence, size - incidence) ~ period | herd, family=binomial, data=cbpp), "Fitting failed for ") fm4 # no pooled SD for glm (cf4 <- coef(fm4)) # with some 5 NA's ## match NA locations stopifnot(dim(cf4) == c(15,4), identical(which(is.na(cf4)), sort(as.integer(c(8+15*(0:3), 47))))) fm5 <- lmList(incidence ~ period | herd, data=cbpp) fm6 <- nlme::lmList(incidence ~ period | herd, data=cbpp) ## for this example coef() *does* work ... ctab <- t(sapply(split(cbpp,cbpp$herd), function(x) { if (nrow(x)==1) { rep(NA,4) } else { g <- glm(cbind(incidence, size-incidence) ~ period, data=x, family=binomial) cc <- coef(g) length(cc) <- 4 ## pad with NAs cc }})) stopifnot(all.equal(c(ctab),c(as.matrix(coef(fm4))))) if(FALSE) {## FIXME: but I (BMB) think this is actually an nlme bug ... summary(fm4) library(nlme) data("cbpp",package="lme4") fm6 <- nlme::lmList(incidence ~ period | herd, data=cbpp) ## Warning message: ## In lmList.formula(incidence ~ period | herd, data = cbpp) : ## An lm fit failed, probably because a factor only had one level try(coef(fm6)) ## coef does *not* work here try(summary(fm6)) } ## this is a slightly odd example because the residual df from ## these fits are in fact zero ... so pooled.SD fails, as it should ## library(reshape2) ## library(ggplot2) ## ggplot(melt(as.matrix(coef(fm3))), ## aes(value,Var2,colour=factor(Var1)))+ ## geom_point()+ ## geom_path(aes(group=factor(Var1))) if(getRversion() < "3.2.0") { if(interactive()) break # gives an error else q() # <- undesirable when interactive ! } ## Try all "standard" (statistical) S3 methods: .S3generics <- function(class) { s3m <- .S3methods(class=class) ii <- attr(s3m, "info") ii[!ii[, "isS4"], "generic"] } s3fn <- .S3generics(class= class(fm3.1)[1]) ## works for "old and new" class noquote(s3fn <- s3fn[s3fn != "print"])# <-- it is show() not print() that works ## [1] coef confint fitted fixef formula logLik pairs plot ## [9] predict qqnorm ranef residuals sigma summary update ## In lme4 1.1-7 (July 2014), only these worked: ## coef(), confint(), formula(), logLik(), summary(), update() ## pairs() is excluded for fm3.1 which has only intercept: ## no errors otherwise: (evs <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.1))) cls <- sapply(evs, function(.) class(.)[1]) clsOk <- cls[c("confint", "fixef", "formula", "logLik", "ranef", "sigma", "summary", "update")] stopifnot(identical(unname(clsOk), c("lmList4.confint", "numeric", "formula", "logLik", "ranef.lmList", "numeric", "summary.lmList", "lmList4"))) ## --- fm2 --- non-trivial X: can use pairs(), too: (evs2 <- sapply(s3fn, do.call, args = list(fm2))) ## --- fm3.2 --- no failures for this "glmList" : evs3.2 <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.2)) evs3.2 ## --- fm4 --- evs4 <- sapply(s3fn, function(fn) tryCatch(do.call(fn, list(fm4)), error=function(e) e)) length(warnings()) unique(warnings()) ## glm.fit: fitted probabilities numerically 0 or 1 occurred str(sapply(evs4, class)) # more errors than above isok4 <- !sapply(evs4, is, class2="error") ## includes a nice pairs(): evs4[isok4] ## Error msgs of those with errors, first 5, now 3, then 2 : str(errs4 <- lapply(evs4[!isok4], conditionMessage)) ## $ logLik : chr "log-likelihood not available with NULL fits" ## $ summary: chr "subscript out of bounds" stopifnot(length(errs4) <= 2) ## from GH #320 x <- c(1,2,3,4,5,6,7,8) y <- c(2,2,5,4,3,1,2,1) g <- c(1,1,1,2,2,3,3,3) dat <- data.frame(x=x, y=y, g=g) m1 <- lmList(y ~ x | g, data=dat) stopifnot(!any(is.na(coef(m1)))) m2 <- lmList(Reaction ~ Days | Subject, weights=runif(nrow(sleepstudy)), sleepstudy) m3 <- lmList(Reaction ~ Days | Subject, sleepstudy) m4 <- lmList(Reaction ~ Days | Subject, offset=runif(nrow(sleepstudy)), sleepstudy) stopifnot(!identical(m2,m3)) stopifnot(!identical(m4,m3)) ## more from GH 320 dat2 <- data.frame(dat,xx=c(NA,NA,NA,1:4,NA)) m5 <- lmList(y ~ x | g, data=dat2) stopifnot(all.equal(unlist(coef(m5)[1,]), coef(lm(y~x,subset=(g==1))))) stopifnot(all.equal(unlist(coef(m5)[3,]), coef(lm(y~x,subset=(g==3))))) lme4/tests/testOptControl.R0000644000176200001440000000327212565075351015420 0ustar liggesusers## https://github.com/lme4/lme4/issues/59 library(lme4) dat <- read.csv(system.file("testdata","dat20101314.csv",package="lme4")) NMcopy <- lme4:::Nelder_Mead cc <- capture.output(lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl("NMcopy", optCtrl= list(iprint=20)))) ## check that printing goes through step 140 twice and up to 240 once ## findStep <- function(str,n) sum(grepl(paste0("\\(NM\\) ",n,": "),str)) cc <- paste(cc,collapse="") countStep <- function(str,n) { length(gregexpr(paste0("\\(NM\\) ",n,": "),str)[[1]]) } stopifnot(countStep(cc,140)==2 && countStep(cc,240)==1) ## testStr <- ## "(NM) 20: f = -53.3709 at 0.706667 0.813333 1.46444(NM) 40: f = -147.132 at 0 0 19.18(NM) 60: f = -147.159 at 0 0 17.4275(NM) 80: f = -147.159 at 0 0 17.5615(NM) 100: f = -147.159 at 0 0 17.5754(NM) 120: f = -147.159 at 0 0 17.5769(NM) 140: f = -147.159 at 0 0 17.5768(NM) 20: f = -165.55 at 0.0933333 0.573333 17.3168(NM) 40: f = -173.704 at 0.23799 1.4697 16.9728(NM) 60: f = -173.849 at 0.449634 1.39998 16.9452(NM) 80: f = -174.421 at 0.52329 1.69123 18.1534(NM) 100: f = -176.747 at 0.762043 1.88271 32.8993(NM) 120: f = -176.839 at 0.751206 1.75371 37.2128(NM) 140: f = -176.853 at 0.706425 1.7307 35.7528(NM) 160: f = -176.853 at 0.710803 1.73476 35.7032(NM) 180: f = -176.853 at 0.710159 1.73449 35.6699(NM) 200: f = -176.853 at 0.710271 1.73461 35.6689(NM) 220: f = -176.853 at 0.710259 1.7346 35.6684(NM) 240: f = -176.853 at 0.710257 1.73459 35.6685Linear mixed model fit by REML ['lmerMod']" lme4/tests/drop1contrasts.R0000754000176200001440000000123212053461366015374 0ustar liggesusers## drop1 may not work right with contrasts: make up an example something like this ... ## options(contrasts=c("contr.sum","contr.poly")) ## drop1(fecpoiss_lm3,test="Chisq",scope=.~.) library(lme4) oldopts <- options(contrasts=c("contr.sum","contr.poly")) fm1 <- lmer(Reaction~Days+(Days|Subject),data=sleepstudy) drop1(fm1,test="Chisq") ## debug(lme4:::drop1.merMod) drop1(fm1,test="Chisq",scope=.~.) fm0 <- lm(Reaction~Days+Subject,data=sleepstudy) drop1(fm0,test="Chisq",scope=.~.) options(oldopts) ## restore original contrasts ff <- function() { lmer(Reaction~Days+(Days|Subject),data=sleepstudy) } drop1(ff()) ## OK because sleepstudy is accessible! lme4/tests/throw.R0000644000176200001440000000144712374550357013564 0ustar liggesusers## original code was designed to detect segfaults/hangs from error handling library(lme4) set.seed(101) d <- expand.grid(block=LETTERS[1:26],rep=1:100) d$x <- runif(nrow(d)) reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## inverse link d$mu <- 1/d$eta d$y <- rgamma(nrow(d),scale=d$mu/2,shape=2) ## update: these all work now (2013 May, but compDev is ignored gm1 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L) gm1 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L, compDev=FALSE) gm1 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L, compDev=FALSE, optimizer="Nelder_Mead") gm2 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L) gm3 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L) lme4/tests/lmer2_ex.R0000644000176200001440000000564312406350753014132 0ustar liggesusersstopifnot(suppressPackageStartupMessages(require(lme4))) ## Using simple generated data -- fully balanced here, unbalanced later set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4, each = 25)), habitat = factor(rep(1:20, each = 5))), { ## a simple lagoon effect but no random effect y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) ## Here, *with* an RE, sigma_a = 100 RE <- rep(round(rnorm(nlevels(habitat), sd = 100)), each = 5) y2 <- y + RE }) ## FIXME: want lmer(* , sparseX = TRUE ) {as in lme4a} if (FALSE) { # need to adapt to new structure ##' ##' ##'

##' @title Comparing the different versions of lmer() for same data & model ##' @param form ##' @param data ##' @param verbose ##' @return chkLmers <- function(form, data, verbose = FALSE, tol = 200e-7) # had tol = 7e-7 working .. { # m <- lmer1(form, data = data) # ok, and more clear # m. <- lmer1(form, data = data, sparseX = TRUE, verbose = verbose) m2 <- lmer (form, data = data, verbose = verbose) # lmem-dense m2. <- lmer (form, data = data, sparseX = TRUE, verbose = verbose) ## Eq <- function(x,y) all.equal(x,y, tolerance = tol) stopifnot(## Compare sparse & dense of the new class results identical(slotNames(m2), slotNames(m2.)) , identical(slotNames(m2@fe), slotNames(m2.@fe)) , Eq(m2@resp, m2.@resp) , Eq(m2@re, m2.@re) , Eq(m2@fe@coef, m2.@fe@coef) , ## and now compare with the "old" (class 'mer') # Eq(unname(fixef(m)), m2@fe@beta) # , # Eq(unname(fixef(m.)), m2.@fe@beta) # , ## to do ## all.equal(ranef(m)), m2@re) ## all.equal(ranef(m.)), m2.@re) TRUE) invisible(list(#m=m, m.=m., m2 = m2, m2. = m2.)) } chk1 <- chkLmers(y ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk2 <- chkLmers(y2 ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk1$m2 ## show( lmer() ) -- sigma_a == 0 chk2$m2. ## show( lmer( ) ) -- n <- nrow(dat) for(i in 1:20) { iOut <- sort(sample(n, 1+rpois(1, 3), replace=FALSE)) cat(i,": w/o ", paste(iOut, collapse=", ")," ") chkLmers(y ~ 0+lagoon + (1|habitat), data = dat[- iOut,]) chkLmers(y2 ~ lagoon + (1|habitat), data = dat[- iOut,]) cat("\n") } ## One (rare) example where the default tolerance is not sufficient: dat. <- dat[- c(14, 34, 66, 67, 71, 88),] try( chkLmers(y ~ 0+lagoon + (1|habitat), data = dat.) ) ## Error: Eq(unname(fixef(m)), m2@fe@beta) is not TRUE ## ## but higher tolerance works: chkLmers(y ~ 0+lagoon + (1|habitat), data = dat., tol = 2e-4, verbose=TRUE) } proc.time() sessionInfo() lme4/tests/methods.R0000644000176200001440000000145212374550357014060 0ustar liggesuserslibrary(lme4) library(testthat) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) expect_equal(colnames(model.frame(fm1)),c("Reaction","Days","Subject")) expect_equal(colnames(model.frame(fm1,fixed.only=TRUE)),c("Reaction","Days")) expect_equal(formula(fm1),Reaction ~ Days + (Days | Subject)) expect_equal(formula(fm1,fixed.only=TRUE),Reaction ~ Days) ## ugly example: model frame with compound elements fm2 <- lmer(log(Reaction) ~ splines::ns(Days,3) + + I(1+Days^3) + (Days|Subject), sleepstudy) expect_equal(names(model.frame(fm2)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)", "Days", "Subject")) expect_equal(names(model.frame(fm2,fixed.only=TRUE)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)")) lme4/tests/savecopy.rda0000644000176200001440000006605612750203223014607 0ustar liggesusers= xE3KDH8 G2"tf:I\I^xߺ^x*(*^(ⵞx౞92$v=uz{^SY]^X]x|\??'^sjCeoǹ'F)JUrxի lXHx05שTjYQj)u`@TzލS-8!`z8gc>,qu`v0BvĤSn}FqV$\ HM%7$A*?͘~s͜PRWUBDHQ8 ff$:o~ru&lm2v#ςHur~"2oWƂ>ucaG¦Qֿ4H@T{ Ssl0f#^zO񡏯<T^ukQk3Y:lJ"-DMdm9Ǐ7B>R y2 5OWbn wN!˫\H\3ZCe8 jaZ0:D  a&رXOw/zQKomK'AfO9N7]hg?r!3H1>:N,8#5{2mN[MM@VSǛ: i=,mVdVFݒRI另]h}k廪ch\'\a0KR`DTW=B+1B bq*]A')R3oya~oe,erUڎ4I[R&G2%.LT}]XVBn$qdv,9Lh^: t,ȞN-~``Fn ̩ȅ&  bL9.pRLhD e/Aub0xf (:aUA^ǫף~0MbVQ2Vjbt<\rʖutJi a#!=GǑcHb?- 0:. d_ ŨJIV ܐuRpr2d*1kY`p2Is j*oK& JRMRSݐNskS#&kv*J;u9iG}-^}'])׳:N4-WRA1ĉ僡|ؾK ;kړ "+=6T- EVA!EdQ^vV:BЪ9jPp`$,rf(cp̰pzp E$J,Mb(3n0_-2 uc mf!mt@C%lbFCgJ߱O?!HDfNE1+T MMДԅ#nЂpE\w\6#hEc<:' ˣp !6lM4:IŖ #N:shXeD$I^ D܆,o"6|t E0@zՅ@GJzI8R\"z DB,F#ٱK iQ$&dw3AޝBJdO$VhnZXb= T:%oCo֢yh(Fa14C܄VrU NoP @n$AZx#18&j8Z/J#CSdxb߭d0boM`N3`vmZy<`*y[s|N'"Mc>`V6bd*œQ:Q|hʦQxG BQY1L(zO$Ղ!8 Y@dæ9vI*ruڌU,wWΠ@#aem$):)*Sp&`fHX44t~nspec(-VJ͹DH$lU2{'cGlؖEY׫nXM8[ B{2.AqnX2E$vVk7籶L%lK:$!ݛCpɛ]]e԰j%Ĉ Tns3*|3wbAZ [ff\+k&ta[F7!]閎N<S0YU{(hy~-B1Wx\d4q~dz: :~h"ɝv[z6*)kEc˗PgZC l($ RvмTyh:mMp|bI}l6>_BъgP-tF^D約k~(yes*0/޲SjnZzp>ul(Z-TzPFɰ$@~"!̱^@3X)8:9Ğw Y$8@ EOV)66 [M1X v 88Yl{#®hЉyD:W[&v)?$\$K`_߰ɧKRW:q)Fh{kyxA躻t$ͣ*[<-FTuBY%9FN2o6NEYd\4d3ȊyQƁ+7})w';[iL\,ӣR4;RZh-TXb,L9!s @4Z׈TeY*%&V"C1}«1vQ? BK;v&;}]]Q|mBAsH1vTw#kI:\ʲyi7;F?mG!!uD>DC"`.!{XXt'#6uqdCOnJdUze 1-WDq1U<=/ʙ-"dkòUިCԺ3B" ULu^AG@*ϣ^ j}GjF!Zxr.hzrqZ.DHթ7e?;yT4c×25a8dc9!O[" ;FA8;ѧB&_Y6!o=!t%.E]jAܑxDy۳|DDj> b3]Ԛ͔:uR6A*6ғ&<(I#ĂT@ܙ P3z"Mstfz0-aLK$z`1;xX? 4(BB  ƥ^kP99.D rQ*SIb& kvܓkTpJ Te]QҢ٣3 0ZRe a`D6s0`wh|Z )6C|tLSTo,fѬ:"nHj`[ZNI]&kƶ s>B-7&rU9]6X1XR)~HQNRf|JWLu$Id #j7Iel=u|3 i: t ;6`e;AKzb۬nvi'bm֙2*M'wG"Fr^ it!r9Y925q2:[PKt(e$siP6%rV /xu HNpu-LZpܜy'pGlς]]]w$NM̐GTCU8X8 Gǖg ~l-~ IPX3w,X6WajI,n4 o'Y?iKbx_"LЮ>Q sMM8Vl;\!m(fDSOtP]`F$]Bn1Yr/0DjJ$N[d?v"b=+'ӡ!UbsֈDЪoJ ^JKgѫ+D^\(iaa678n NA[~0RdÓd 2@KY'15Cv4{XwS&#Yȿ"N1n'O{d8w69:u9?j>G}'~3}J$%di)C:#~<-Np0YWKi,x I|ؓE&v vY5D[,Z-Sp aj&iVˀ4댯hzI ?QA͟dGLeMt:H'>Qt rU#ɢ,mML" jR%oUg\:B Ӌ8Db,&DfN4?mH De[dүQTQC%zNiDfvmIA{̑H0FHD*f3 ݷ<|`JPE462i-@>'p7:TB@{ r:+$ 5/Un!dn9)U?K Tcݖ i.ioh[CeރmC۪P ]tKB,R%f[eZb/['me@%ݴ&Wb%_1 lg(*ϼί ɳN9 rʤ|ļ Bp`X ZRX|a! y=&R9T;Odu1NcCcޖeܴ[ݍ4Di$b~)&pNWkiȭG'5qV MRCS=Z(zuF>سSp,y~OJȆH5Q F&ƛ5S9[(po4S\lmtuzfwEkGbĿ|w%>zJr!usy26OH2"}*Y|i여ZQK'9jD(QT͞{\u JWBd~ yۋp- \'AD1p{*A9c& +H\AaAIqV>'#٘]V^ţhA2Ei 1v)r9{+ȗrobˇU+X9g:˾Uv1,WgBK.>{peu;`:2E엳֍GzG"m)kΜvg[u'iv݉@tu;՝$[NW\iԝ)֝(lOCRsQ'f6F׉f'+ e_ZȾEImDłl  +H\A=P9S42*"CEQe0nq t%+I#^ZDc$<%,@}8EVWd?%V(nLGy;JDWBr`ZrEJa2q~" 亮$DZ2 _#Bq'rBBWb`$ۛ1|4@H- LXɫe_Vh"eGq%v]Y{au3L3QhZ3YfZ̐cY uҊIKfREfaR_m r\PSsf9-c(ڋa r '7әmvq_K6BA!,K,uQV@F$) bbC%̄a軈1n:WBbS=}uտDfeb\h|~\vޜӘArf-|>1@,)Lj_T?]՝|ۨ4DT͔s!jY{K\S{pt*N|BH-E+T̗r fC I1ɞH Ez>-õF\ڼ<\N^=\{u3H9Mn#֯$p`2ƕcEB\ղWfh3%Osrug^&@@:X{ռZ[PlvDJ,2T2g!Eul'PJ{1,&CN( fA GK;#ZCz]ᕔTȠP& P,P{˥],nП6loӒ&n/"jEYR;.\rb/xȃi+'c." ,,Pq~*:%P۞Ebٙ[a H]⊕1"Y0۵pQb4I+n^;` l%g[V)tIi(dlSX0 -]ryx߰uuD|j4{RRfE-s*ٌ-:cCh yc(AN6+f [¿]؁3o$8rP;W{unjGk> Xk'km-4$lsëfl/¥= C'-G;yDuw*sY.^VBڸ FfK]P$C`KO^AbbY.I 'Ay0-be"X,¥ Bb lduo|ئm#PfHo M*@ X:X>fi@^(0ߛJ<.VR+0fwVx:{Sm"bSK8qIʼnG'9=Tt&81Ȁpi#+ps;[9SZRR{gMSh"[wbh%Pac,}C "ބ Ҝ*sn'|bH1٣"ХjEuv0 ܚ&?S^IPImEuVϨj1Iǔn +fTG(PFaVyɨ\llVߏL,cDUrN)kgДmVI`eI $9&#t77256S-wYiLurfXu klp )94fXPRtPް9$I@M`WW&R }4+ ncM)'z DİO񭃐T˟3۲yhOjE2UpA@Ž]\bQN$FZz^ t{4)}]8tqrG;"+uj8_9WG9+-3] >d.ىsVC19ĸ ĨB֩A ^H6Le+V$ /J~M.ңԫ=θ$e/kh/j͛R9fq?qhÑA 8EE&΅IJ^/d9.m@4EђV@fYZ1<[lB ?G$&&rtW暊K3@TFaFg%r "H]* z ԯ3nEZ0"jP\x%4֕L4 vwr:%N#LP8bDtzI)bz$fj J-S YpYPJNCJp*i}(9Ic-/<|I{IAyfYV zE4^LE u\B;)fsWYre"zI+mLO8.Ld8KOfL_F]ȹܴ=xڌ%rxl{`21Mj5eDvl[L>zοҸ v4<0a$f%f-}u,A !Jx*-%ޠbY9pd>}q܍["gx#q@e,wZm] o")nF Jkg$q3`sssze,*`in 4~W Om'suyZtt Bj\ Ӟ‡|nz,O !c$;b\~c:PibՃrq^Ď&bX^Ȱ3"N֕\]`Z"`#hyLOa7ċz')^86kbwWWzM%X;z'^ : ~ ,;*Xrüy=Xie'-=Kg``K<[_|unNO_'>?ݧd̩@Ŀ޿a0~xOX5o?=k MH.;) hbhҳ3B,3s}DudW |H' qۿe'M}>6j@} S?\ .=뫊0b3/ہظaH嵋t9H7AlqǾy:И3ͻm,h{9ܥP9V ܿn]'K?>!NM9.hzdk c8kd]K@={s\ >-6@s~vw{vL}pmgN}@pс/y̷y 2|- [vy hxz;+no^G@oI׽t?l3@ e%!&Hy@ϋm9AgN(Z"wDe+{>DZ7s@[__?eE!hw hxz~xW^@xR)~,\k#ڑ+ _;4θ暻B<.V}wwȫ[Do3ú^a~#=0~v8Nyit@33cA '<]O=hݷDFw@cuod%78c6\+=/]tĻAg?_xDOV {ï ? 4\XyWЯkesaŧݸ'x|6?rͭl.<zWTDO_;1v,Up啳q_@t _ H2O@lCAAy9]uҫb MmXIZT4kTZ7^ݫ{uuGS/=9 :d򵷡iz:.pYqG_9c*~4x'?/gv!owxi9.%]X3_s&XgKKNK Yɫu`icx ;6?BtU|'}EqPGVB}qQG\|Xz]oP:O}zvhHߜ @}uc;shظn\uаyM7SGM:+аڗ&G~z@yݥ; 42[why'? 4l wk*H+X'#; 2憼}x]=g\Z>Nn^qB\ɿLݳ*ЕE⢙Wk_7O!Qs]i OtNjE)k_|Y_=z}f|L/6U.9@ߚ_? )_qA- zݕg4LE;޻z GC~x;Y6wÿbogwzүj~!G*j8e? D^zp<_*xc?޷D^9%g |_o!<-{휍@讏r u?Y ?좆w0NSVoXv&ԛ@g 7gwV8@hw6>!QG䝕y" A o2nɷ>_r2g{8SN o4NYsÁ5Dy׳}A J?-G8u[? ds`]_5d XV[ߟ;B!>8b}WBja Ϝp* 0󯻻& k`N_z;zy+AlC9uXo}Fš@ wY/r'=y¯ hsϿ4ߴ|,;V'i$@/zs c;.x4,TO =۲p? _V.G ?uwuD, 7Pnzz[i?ܵ߶Oч'*e5\[7?e<7|Oi2>Bl5.SӞ?4 4ܨЯAXt&hxlg^ ~EE7yn/(88Y shp5AAK hOc>HfAL%i҇۷M޾wQo5'8 xkq?s)4oG. 3%aé&]m#쓾>5Z\i{bS"Unwݖ_$n]d/+. +A˼7O;0oN̮7]ze'(y]kNɯ?K%(U_>lu+⃄J->>Xtpٸn3_ mo=zɰ񩗜n`҂7rwͪBQ/?9L{Xo+?[ |><軥ˮ;#^]?#^1{'p#0j-π3V_>> ̨MoW!=n[G\>qg?]qH|ӧ {|[GO~]]-`LI*A.uT\On{O'9W|A1wvC.>pex sYwʟf=d /Nxgx@AG<_bPw[xi 0bǫ/Y;SgsⅣAk@~ݲͷGw*&]ڇ;CwgiVN0'-;?<{(t}=rC'qBgk6>9ooƦWSޛ-;0u6t|Ē^#WyÝkYy=_|;naū㛾"]|7}]\{ Gf|||~78)ؐV5xq'lh9S0Wyl*a8ܿ{1]u3 5=VxU󷹞?-Zu#}qy')&IߢI#.=WʟwK\U2ٗO> ;Ʃ7eWm'{?{+|ȯ /O}q?5A}ҲN=yy& >\[ F?z'U3`ҷ}ƢnדLpgSwL:~M߽Uwދc.zW'mc~x^=zx{/> h zvG[-6SO+M^ݫ{uDhi3gQ]?zL|GtX_ij_H9Pt\tZS늉5 oG=AJwՔ@]5uWM]5US&D-xv9Tx)":ΥF|tޕ4nHA8tPE&޷ڜ9 O+ƾćk$0F,NL8^.e((PH*o,̽W^T 'ڡI6X3X bUZ@I1v'}>mlrvyvv"~D>c :ņ+H;NtO!p 2߷VEytkXJzr"ʍd Ih&CfDtmDłU>wm,m7s8V(21eέd tXC-sc7Mh('kv丨(͔jt lfniw[:kwKrZՁ ߠ@vSPʨ~ß[[[[[_kAs$I&_)'ɔddK2' LLI$S$S$S$S$S$I%4Aݱd䈱8lv;-oۑm~;JVM;JwwwwLW N#G=ѽJS.sb4pA1Ȍ9wƫu@|Jں!SHXy4I:2n:-BNw>(ScV0.'29ˮ?]DBɡ&-<6c~O;ۦ Yg# JUYĴ:sGI0k$H9#m.g`FĒVL" ㊊Zĸe$ Fd Id%sb\hW_7߸&]K~:k֤ }6NlO^"onh  |)7f|kwS_z|N.+[Kߕx 铿rcWԝQ0&oL|M\mj˭~-])kָuv^}˂]w{r1V޼L)K<L>;,tc׏ pɍwR{cݦ .j޺ t6wTe'7v_F]=nCG s@h>ف`-_I? ߻(~bP<+ƀzska pH( |Ch,s~_yӧ0V̫O_c>86->6pU'oX{=.[9_11ZQqV`N5Ъ1QlċAp.y:`pE.jo:?Ս{T ujBy#GGǣUzL鄹p7! A{&Dnf <"9Js1s&znc=>AQ\`hpP2 Эaվd4bkY& |1'mf(7I*LZ>@ʙlVN+ @+tܑX#-79z{=@ݻC&3}$1:iv]O;|2i`nX}h'ҕ3StX^ERjfU7IpJW2J8d GIcAΗts:. \}ݵ+jtiJZ{%]Yn^IVk|4iX7RkCcHZZZZZZZZZZ 4i7Jkc(QZ6Fim1ZkchZ6FkmOcs>}c6hm1FkcZc6jm1VkcXZc6im1Nkc8qZ6imCوm~[ߎo+Qhv~;V[sYZZZZZZZZZZZZZZZZZZޚetR2]隣LWe#tuQ6RomZZZZZZZZZޚtT2][6Jom(QzkF뭍[6ZomhzkF L׊e*,Ua1zkc譍[6Fo 9ǻ ;*Ni1.0f}woCM~pppppppppRbE=ֵݎ3rn~K]DK300#hԘӞMy3ؐmmqٽYN-d(;e}.쾯ݽϨr]ms,q9lKz.KwIݹKڭܺKm_R>lw%݅˅˅˅˅˅˅˅˅+K+'uTB9Npb^eV{i!, %l&^As5<>>?~һ_Bf~1մRvZMtvP*ۑne/]N>ɿ,:7_"Mb(+QֲH0aYU:D)k"z^NLm!TA<ϋgK[A4:$ƥ|5h;6'Qk$:6 eOuAPf>;68qƱg>ٍd@#hZt|;1,5ב~ V4 XԵu$V4x[7Em͗"|[ 49}|$c4`"ͻޔ$/h>24t,^1ҭf!@ `*F$FYAȹ\Iӂ\qCڏ򾺠c*xfb ֲ 24[ d\C~O[ngZxʆU~fj9)^ sr5R!|zcn鰉ou4Y%7n`4:.R6^sA .R 'OodloQsS6R>K'a -8 NL>G~ ow~u?}N-?">{YGhG{c2%uqcyՁ,ȑpP|oʓ.2H,cIxD%R>Y;:+ u>#ƈ +y,$3pl8U )~$gNjx-W^ݫ{?Ww|ڭϭϭϭZgCuyսWWw>>>?j}v67z>='qqqqC\C\[{{'C\dSmR(mVAi5vw uslVEDN;b[hPYpjYB k*qa\m-DwGmD`D2* +5Q+:ܸ56aRwݜI_}|;^ty/Y^&8F2ϸ4I!S]54s$x?'=c!>̆%&R+?DVeX䘩 '.mVI@θ*>,҇Hjpο9Ko^{evN*ܶѳx)4dpp%COF,k6/Q{S㢎G50xm5o]PO5wxƞG{6zpW 395?Ӎe<]p{+Z`=GpgdUCkS^\?-\8‚u_wk{\?~+X~wxp/J6`鰟zmC Tvm_q:pNیx{==nrL4أ;KaA]DoDcxF-ػϳ^D;QlGxI' #WАt^"{Q9-:V,6EX q6aဣ?"ߓZ> xsC\kNxl΂vsтm 峍~F҉ Œj 1pT²b#!(O SZĜ26v8 {a8B?dRԒCAc,Pn!vq -IW ǦW5ĵПTMTcD͌D4RMl*d휅O++z^¹M+Z+pj 6I9pP-$xGC4'AUE|ZōgC*mqX& : RG*JY&AnOm2LRL,E)qGprFhD&i V7)ҳWѧ&5mw<5 \HU'@YY$o(ᒠ` M_I4ISRB'R in!#4ܕI/(/d<_e<J M;Ɓ2&4~Gj/S(K50W}eʇvPۈ헫lnলt?#¸-'M!揙p}F)>eSVbg*6+Qe2$<8MSLR-O-Li:>pKvvn4]RwturhVFk YK2mV)谾Cc,fQ$JmsE-|9zm^|P}0\XV#hz!*<7Qc*.fSvJwCh;2l8̩fjH/ eH#Jk FD;nDOD=z C\y`l#ޏ8)&E|('b?)0„^QVH?-ܴ DA< پ9alA[9DQ?Tф\ C3!!:Ӱ_=c{* gdzJ j,ExWO`#FN~ <Ŀ$m)wUÈޙXUb^'Jc} uzfd; CPaD h0|-(BAҜ=ZB 5Yj*76H|Q0s81!C򡬃98Uk/Y?χטh888@ :ɮ[F Eo˿ 15iLqvjEXXHSąY2uUTk1Pm24qo- 7qKD,qˢPRf#9( A]Nc.,|HB 3+(ʘvD.X[Z :⾞_BNGd gdGIOw î?ј)3WR el"呥Tyd",$x-.S"ĄfH >3Ht\1x#1ȳ5 D9EI7&ZNDNDYMpl)u!cSJe;ҭeg6%q}E}ġMgI"k[{_'&ih"ۤ{9q9D9By$߲ǽ mx㦊?86o'SF}6 M3OCæﴲy Q'awVnъ^MkeKeNZMw;ӝ־i|jV»Ѧ~|)·mN[[ iԦV»)IkRrc%fDy᳏ZU݁?6*m%u2KªZς$mO XpvV<x)z_Y/Q.)DŽ^  }Qdj:ȹûZM< |8ד\ۣs<[&ҏ2l>`-X'، c\8߀g9|x?/&Re\2BO)68A[m"xN5atY4nK|e݄M^֤aB;b0#a&"u<9>E3#* RLK;s˳8RWH' ÚFO$j+airV:[[d%H)2TG.-q$)ã"ӚE '9\2O>*mg^} CmlD% ̲Ie@K>PI$"@7TH 0A2jR]7#Uy*<(/0A\J1#lWmm]DGC Eru`h =| QR)7P9հA gP`F捻"(hQ@dӤ0c'}5T5=g [8xn o&܎74x 7V7K;E8_)S|4t``FyrYdLBW)Xh2X;3q7khLbԚMۚf%R@y(5!U\28L,d8^] gLD`ba徔a ,f"3Z*՚Sc 4%:ImxeC9X@iID1g! BS&#˄#pLsuCF6 BRP-)-dT2 '/|Dap4%2BcM5'٧>PzVb`5zz{kN!%?S"pSA:" (U)&j 6pU5FNآmv[h!Ég4ӝFgR Q2~V7`(3LhhTٛf7{|,ڟ_ҫ1oLe’tG7iљe|G2U_7rakyA4OFP߬V8Eäml#˻!M֛U'#%@H˘\JO|&ջ\bx89Abp5:dy'es~j lv{4Ŋ*B\Rt|DZ&uӯԺC8jL>UJ>u@*\?4/uB@GBҶkMЀ J4qyŢ7g4J`sI!:"e68b1UU _kW[Hl-xI$ I։o0i0bQ-P,4 ewn2f cMzv/)|Fd_%DH6jsSuA)zi.Y|F[/O?4PA}|kڪ{-ϗw'3UkIn;M -(W8 z r)2 ĘAY YJUr A^sN lBB-G6YT?ǃIZЖ4!kDE6c])zcr`NcN_E;&Nf #qkc};(Vpdd=nX3ia*T}uLi$.,Si*dr ISajv:'%(RC:0*c4ў(k3OP*YfZ&,:-stf-I{w8DɎ+m]fː'xmsd͓# x7pBPvxS=9&nrņ(# LIG#c \KCdv> Su`(Y! XBƣs"[/Dp."G,} !%gM?rSEzqu^ݫ{u5oO,@'}-dct0ղ4O~/M{_NS#"vb9 baviEșihGotْiO.ӤNtɝjC|!:鐬 K>+ WD)6O~}92e4 rH l61E&@2279z967Ct$*ڈG bhKMh!u2 6x>"B͡cco:{lܵ*rM>#r8ҭ/Yq=4i'O=;NW 2Z~NB[P'^wˉ"φU`cL1CE> ˪{M4]Qfi<ҀB*\oW_7߸&]K~:k֤ }6Nl#V!~9j$D'G_נTD5B`'وu-:wJÎ 3#XֳYJklme4/tests/README0000644000176200001440000000125512406350753013145 0ustar liggesusersCatalog of currently-failing examples (commented out, testsx, etc.): glmmExt.R: "fail for MM" on Gaussian/inverse examples -- seems fine for me lmer-0.R: sstudy9 example. Should *not* work; is a meaningful error message possible? prLogistic.R: Thailand/clustered-data example from ?prLogisticDelta example in prLogistic package Presumably the problem is that 100/411 random-effect levels have only zeros -- but should this mess things up? glmmML and lme4.0 give nearly identical answers profile.R: fails on CBPP profiling from testsx: testcolonizer: definite case where complete separation occurs, GLM does not really give a fit testcrabs: ?? not sure ?? lme4/tests/dynload.R0000644000176200001440000000367112374550357014054 0ustar liggesusers## this is the simpler version of the code for testing/exercising ## https://github.com/lme4/lme4/issues/35 ## see also ../misc/issues/dynload.R for more complexity pkg <- so_name <- "lme4"; doUnload <- FALSE; doTest <- TRUE ## pkg <- so_name <- "RcppEigen"; doUnload <- TRUE; doTest <- TRUE ## need to deal with the fact that DLL name != package name for lme4.0 ... ### pkg <- "lme4.0"; so_name <- "lme4"; doUnload <- TRUE instPkgs <- as.data.frame(installed.packages(),stringsAsFactors=FALSE) Load <- function() { library(pkg,character.only=TRUE) } Unload <- function() { ld <- library.dynam() pnames <- sapply(ld,"[[","name") names(ld) <- pnames lp <- gsub("/libs/.*$","",ld[[so_name]][["path"]]) cat("unloading from",lp,"\n") library.dynam.unload(so_name, lp) } Detach <- function() { detach(paste0("package:",pkg),character.only=TRUE,unload=TRUE) if (doUnload) Unload() } tmpf <- function() { g <- getLoadedDLLs() lnames <- names(g)[is.na(instPkgs[names(g),"Priority"])] cat("loaded DLLs:",lnames,"\n") g <- g[na.omit(match(c(so_name,"nlme"),names(g)))] class(g) <- "DLLInfoList" g } test <- function() { if (doTest) { if (pkg %in% c("lme4","lme4.0")) { fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, devFunOnly=TRUE) } if (pkg=="RcppEigen") { data(trees, package="datasets") mm <- cbind(1, log(trees$Girth)) # model matrix y <- log(trees$Volume) # response ## bare-bones direct interface flm <- fastLmPure(mm, y) } } } if (FALSE) { ## FIXME: disabled test for now for (i in 1:6) { cat("Attempt #",i,"\n",sep="") cat("loading",pkg,"\n") Load() tmpf() test() cat("detaching",pkg,"\n") Detach() cat("loading nlme\n") library("nlme") tmpf() detach("package:nlme",unload=TRUE) cat("detaching nlme\n") } } lme4/tests/glmmExt.R0000644000176200001440000001051612406350753014025 0ustar liggesuserslibrary("lme4") ## tests of a variety of GLMM families and links ## coding: family {g=Gamma, P=Poisson, G=Gaussian, B=binomial} ## link {l=log, i=inverse, c=cloglog, i=identity} ## model {1 = intercept-only, 2 = with continuous predictor} set.seed(101) d <- expand.grid(block=LETTERS[1:26], rep=1:100, KEEP.OUT.ATTRS = FALSE) d$x <- runif(nrow(d)) ## sd=1 reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## fixed effects only d$eta <- d$eta0+reff_f[d$block] ## Gamma, inverse link d$mu <- 1/d$eta d$y <- rgamma(nrow(d),scale=d$mu/2,shape=2) ## Gamma, log link dgl <- d dgl$mu <- exp(d$eta) dgl$y <- rgamma(nrow(d),scale=dgl$mu/2,shape=2) ## Poisson, log link dP <- d dP$mu <- exp(d$eta) ## log link dP$y <- rpois(nrow(d),dP$mu) ## Gaussian, log link ## need to use a non-identity link, otherwise glmer calls lmer dG <- d dG$mu <- exp(d$eta) dG$y <- rnorm(nrow(d),dG$mu,sd=2) ## Gaussian with inverse link dGi <- d dGi$mu <- 1/d$eta ## inverse link ## make sd small enough to avoid negative values dGi$y <- rnorm(nrow(d),dGi$mu,sd=0.01) ## binomial with cloglog link dBc <- d cc <- binomial(link="cloglog") dBc$mu <- cc$linkinv(d$eta - 5) # -5, otherwise y will be constant dBc$y <- factor(rbinom(nrow(d),dBc$mu,size=1)) ## binomial with identity link dBi <- d cc <- binomial(link="identity") dBi$mu <- cc$linkinv(d$eta/10) # scale so range goes from 0.2-0.8 dBi$y <- factor(rbinom(nrow(d),dBi$mu,size=1)) ############ ## Gamma/inverse ## GLMs gm0 <- glm(y ~ 1, data=d, family=Gamma) gm1 <- glm(y ~ block-1, data=d, family=Gamma) stopifnot(all.equal(sd(coef(gm1)),1.00753942148611)) gm2 <- glmer(y ~ 1 + (1|block), d, Gamma, nAGQ=0) gm3 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=0) gm2B <- glmer(y ~ 1 + (1|block), d, Gamma) gm3B <- glmer(y ~ x + (1|block), d, Gamma) ## ## library(hglm) ## h1 <- hglm2(y~x+(1|block), data=d, family=Gamma()) ## lme4.0 fails on all of these ... ## Gamma/log ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log")) ggl2 <- glmer(y ~ x + (1|block), data=dgl, family=Gamma(link="log")) ## ## library(lme4.0) ## ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log"), verbose= 2) ## fails ## Poisson/log gP1 <- glmer(y ~ 1 + (1|block), data=dP, family=poisson) gP2 <- glmer(y ~ x + (1|block), data=dP, family=poisson) ## Gaussian/log gG1 <- glmer(y ~ 1 + (1|block), data=dG, family=gaussian(link="log")) gG2 <- glmer(y ~ x + (1|block), data=dG, family=gaussian(link="log")) ## works with lme4.0 but AIC/BIC/logLik are crazy, and scale ## parameter is not reported ## glmmML etc. doesn't allow models with scale parameters ## gG1B <- glmmadmb(y ~ 1 + (1|block), data=dG, ## family="gaussian",link="log",verbose=TRUE) ## what is the best guess at the estimate of the scale parameter? ## is it the same as sigma? ## gG1B$alpha ## if(Sys.info()["user"] != "maechler") { # <- seg.faults (MM) ## Gaussian/inverse gGi1 <- glmer(y ~ 1 + (1|block), data=dGi,family=gaussian(link="inverse")) gGi2 <- glmer(y ~ x + (1|block), data=dGi, family=gaussian(link="inverse")) ## Binomial/cloglog gBc1 <- glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")) gBc2 <- glmer(y ~ x + (1|block), data=dBc, family=binomial(link="cloglog")) ## library("glmmADMB") ## glmmadmbfit <- glmmadmb(y ~ x + (1|block), data=dBc, ## family="binomial",link="cloglog") glmmadmbfit <- structure(list(fixef = structure(c(-0.717146132730349, 2.83642900561633), .Names = c("(Intercept)", "x")), VarCorr = structure(list( block = structure(0.79992, .Dim = c(1L, 1L), .Dimnames = list( "(Intercept)", "(Intercept)"))), .Names = "block", class = "VarCorr")), .Names = c("fixef", "VarCorr")) stopifnot(all.equal(fixef(gBc2),glmmadmbfit$fixef,tolerance=5e-3)) ## pretty loose tolerance ... stopifnot(all.equal(unname(unlist(VarCorr(gBc2))), c(glmmadmbfit$VarCorr$block),tolerance=2e-2)) gBi1 <- glmer(y ~ 1 + (1|block), data=dBi, family=binomial(link="identity")) gBi2 <- glmer(y ~ x + (1|block), data=dBi, family=binomial(link="identity")) ## FIXME: should test more of the *results* of these efforts, not ## just that they run without crashing ... lme4/tests/priorWeightsModComp.R0000644000176200001440000000142312406350753016352 0ustar liggesuserslibrary(lme4) n <- nrow(sleepstudy) v <- rpois(n,1) + 1 w <- 1/v fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights=w) fm2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights=w) fm1.10 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights=w*10) fm2.10 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights=w*10) stopifnot(all.equal(anova(fm1, fm2)$Chisq[2], anova(fm1.10, fm2.10)$Chisq[2])) stopifnot(all.equal(AIC(fm1)-AIC(fm2), AIC(fm1.10)-AIC(fm2.10))) stopifnot(all.equal(BIC(fm1)-BIC(fm2), BIC(fm1.10)-BIC(fm2.10))) stopifnot(all.equal(logLik(fm1)-logLik(fm2), logLik(fm1.10)-logLik(fm2.10))) lme4/tests/mkRout0000754000176200001440000000006412106720370013461 0ustar liggesusersR CMD BATCH --vanilla $1.R; mv $1.Rout $1.Rout.save lme4/tests/glmerControlPass.R0000644000176200001440000000113312374550357015707 0ustar liggesusers## test redirection from lmer to glmer (correct options passed, ## specifically glmerControl -> tolPwrss library("lme4") library("testthat") ## data("trees513", package = "multcomp") load(system.file("testdata","trees513.RData",package="lme4")) expect_is(mmod1 <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()),"glmerMod") expect_warning(mmod2 <- lmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()),"calling lmer with .* is deprecated") mmod2@call <- mmod1@call ## hack calls to equality expect_equal(mmod1,mmod2) lme4/tests/glmmWeights.R0000644000176200001440000000730612406350753014702 0ustar liggesuserslibrary(lme4) library(testthat) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... ## hand-coded Pearson residuals {for sumFun() } mypresid <- function(x) { mu <- fitted(x) (getME(x,"y") - mu) * sqrt(weights(x)) / sqrt(x@resp$family$variance(mu)) } ## should be equal (up to numerical error) to weights(.,type="working") workingWeights <- function(mod) mod@resp$weights*(mod@resp$muEta()^2)/mod@resp$variance() ##' Sum of weighted residuals, 4 ways; the last three are identical sumFun <- function(m) { wrss1 <- m@devcomp$cmp["wrss"] wrss2 <- sum(residuals(m,type="pearson")^2) wrss3 <- sum(m@resp$wtres^2) ## compare to hand-fitted Pearson resids ... wrss4 <- sum(mypresid(m)^2) c(wrss1,wrss2,wrss3,wrss4) } ## The relative "error"/differences of the weights w[] entries rel.diff <- function(w) abs(1 - w[-1]/w[1]) set.seed(101) ## GAMMA g0 <- glmer(y~x+(1|block),data=gSim(),family=Gamma) expect_true(all(rel.diff(sumFun(g0)) < 1e-13)) expect_equal(weights(g0, type = "working"), workingWeights(g0), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? ## BERNOULLI g1 <- glmer(y~x+(1|block),data=gSim(family=binomial(),nbinom=1), family=binomial) expect_true(all(rel.diff(sumFun(g1)) < 1e-13)) expect_equal(weights(g1, type = "working"), workingWeights(g1), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## POISSON (n <- nrow(d.P <- gSim(family=poisson()))) g2 <- glmer(y ~ x + (1|block), data = d.P, family=poisson) g2W <- glmer(y ~ x + (1|block), data = d.P, family=poisson, weights = rep(2,n)) expect_true(all(rel.diff(sumFun(g2 )) < 1e-13)) expect_true(all(rel.diff(sumFun(g2W)) < 1e-13)) ## correct expect_equal(weights(g2, type = "working"), workingWeights(g2), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? expect_equal(weights(g2W, type = "working"), workingWeights(g2W), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## non-Bernoulli BINOMIAL g3 <- glmer(y ~ x + (1|block), data= gSim(family=binomial(), nbinom=10), family=binomial) expect_true(all(rel.diff(sumFun(g3)) < 1e-13)) expect_equal(weights(g3, type = "working"), workingWeights(g3), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? d.b.2 <- gSim(nperblk = 2, family=binomial()) g.b.2 <- glmer(y ~ x + (1|block), data=d.b.2, family=binomial) expect_true(all(rel.diff(sumFun(g.b.2 )) < 1e-13)) ## Many blocks of only 2 observations each - (but nicely balanced) ## Want this "as" https://github.com/lme4/lme4/issues/47 ## (but it "FAILS" survival already): ## ## n2 = n/2 : n2 <- 2048 if(FALSE) n2 <- 100 # for building/testing set.seed(47) dB2 <- gSim(n2, nperblk = 2, x= rep(0:1, each= n2), family=binomial()) ## -- -- --- -------- gB2 <- glmer(y ~ x + (1|block), data=dB2, family=binomial) expect_true(all(rel.diff(sumFun(gB2)) < 1e-13)) ## NB: Finite sample bias of \hat\sigma_1 and \hat\beta_1 ("Intercept") ## tend to zero only slowly for n2 -> Inf, e.g., for ## n2 = 2048, b1 ~= 4.3 (instead of 4); s1 ~= 1.3 (instead of 1) ## FAILS ----- ## library(survival) ## (gSurv.B2 <- clogit(y ~ x + strata(block), data=dB2)) ## ## --> Error in Surv(rep(1, 200L), y) : Time and status are different lengths ## summary(gSurv.B2) ## (SE.surf <- sqrt(diag(vcov(gSurv.B2)))) g3 <- glmer(y ~ x + (1|block),data=gSim(family=binomial(),nbinom=10), family=binomial) expect_equal(var(sumFun(g3)),0) ## check dispersion parameter ## (lowered tolerance to pass checks on my machine -- SCW) expect_equal(sigma(g0)^2, 0.4888248, tolerance=1e-4) lme4/tests/testcolonizer.R0000644000176200001440000000127312406350753015314 0ustar liggesusers## library(lme4.0) ## Emacs M- --> setwd() correctly ## m0.0 <- glm(colonizers~Treatment*homespecies*respspecies, data=randdat, family=poisson) ## with(randdat,tapply(colonizers,list(Treatment,homespecies,respspecies),sum)) ## summary(m1.0 <- glmer(form1, data=randdat, family=poisson)) ## summary(m2.0 <- glmer(form2, data=randdat, family=poisson)) ## detach("package:lme4.0", unload=TRUE) load(system.file("testdata","colonizer_rand.rda",package="lme4")) library("lme4") packageVersion("lme4") m1 <- glmer(form1,data=randdat, family=poisson) ## PIRLS step failed m2 <- glmer(form1,data=randdat, family=poisson, nAGQ=0) ## OK m3 <- glmer(form2,data=randdat, family=poisson) ## ditto lme4/tests/is.R0000754000176200001440000000134412051752003013012 0ustar liggesuserslibrary(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(isREML(fm1), isLMM(fm1), !isGLMM(fm1), !isNLMM(fm1)) fm1ML <- refitML(fm1) stopifnot(!isREML(fm1ML), isLMM(fm1ML), !isGLMM(fm1ML), !isNLMM(fm1ML)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) stopifnot(!isREML(gm1), !isLMM(gm1), isGLMM(gm1), !isNLMM(gm1)) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) stopifnot(!isREML(nm1), !isLMM(nm1), !isGLMM(nm1), isNLMM(nm1)) lme4/tests/nbinom.R0000644000176200001440000001246312565075351013701 0ustar liggesuserslibrary(lme4) cat("lme4 testing level: ", testLevel <- lme4:::testLevel(), "\n") getNBdisp <- function(x) getME(x,"glmer.nb.theta") ## for now, use hidden functions [MM: this is a sign, we should *export* them] refitNB <- lme4:::refitNB simfun <- function(sd.u=1, NBtheta=0.5, nblock=25, fform=~x, beta=c(1,2), nrep=40,seed) { if (!missing(seed)) set.seed(seed) ntot <- nblock*nrep d1 <- data.frame(x=runif(ntot),f=rep(LETTERS[1:nblock],each=nrep)) u_f <- rnorm(nblock,sd=sd.u) X <- model.matrix(fform,data=d1) transform(d1,z=rnbinom(ntot, mu=exp(X %*% beta +u_f[f]),size=NBtheta)) } if (testLevel > 1) { set.seed(102) d.1 <- simfun() t1 <- system.time(g1 <- glmer.nb(z ~ x + (1|f), data=d.1, verbose=TRUE)) g1 d1 <- getNBdisp(g1) (g1B <- refitNB(g1, theta = d1)) (ddev <- deviance(g1) - deviance(g1B)) (reld <- (fixef(g1) - fixef(g1B)) / fixef(g1)) stopifnot(abs(ddev) < 1e-4, # was 6.18e-7 now 1.045e-6, now -6.367e-5 (!) abs(reld) < 1e-4)# 0, then 4.63e-6 ## 2 Aug 2015: ddev==reld==0 on 32-bit Ubuntu 12.04 ## library(glmmADMB) ## t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), ## data=d1,family="nbinom")) ## glmmADMB_vals <- list(fixef=fixef(g2), ## NLL=-logLik(g2), ## theta=g2$alpha) ## 0.4487 glmmADMB_vals <- list(fixef = c("(Intercept)"=0.92871, x=2.0507), NLL = structure(2944.62, class = "logLik", df= 4, nobs= 1000L), theta = 0.4487) ##' simplified logLik() so we can compare with "glmmADMB" (and other) results logLik.m <- function(x) { L <- logLik(x) attributes(L) <- attributes(L)[c("class","df","nobs")] L } stopifnot( ## no more at all ??! ## no all.equal( d1, glmmADMB_vals$theta, tolerance=0.0016) ## , all.equal(fixef(g1B), glmmADMB_vals$fixef, tolerance=0.1)# was 0.01 ! ## Ubuntu 12.04/32-bit: 0.0094 , all.equal(c(logLik.m(g1B)), c(-glmmADMB_vals$NLL), tolerance=0.4)# was 0.001 (!!) ## Ubuntu 12.04/32-bit: 1.61e-5 ## except that df=3 vs 4 ) }## end if( testLevel > 1 ) if(FALSE) { ## simulation study -------------------- ## library(glmmADMB) ## avoid R CMD check warning simsumfun <- function(...) { d <- simfun(...) t1 <- system.time(g1 <- glmer.nb(z~x+(1|f),data=d)) t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), data=d,family="nbinom")) c(t.glmer=unname(t1["elapsed"]),nevals.glmer=g1$nevals, theta.glmer=exp(g1$minimum), t.glmmadmb=unname(t2["elapsed"]),theta.glmmadmb=g2$alpha) } ## library(plyr) ## sim50 <- raply(50,simsumfun(),.progress="text") save("sim50",file="nbinomsim1.RData") ## library(reshape) ## m1 <- melt(data.frame(run=seq(nrow(sim50)),sim50),id.var="run") ## m1 <- data.frame(m1,colsplit(m1$variable,"\\.",c("v","method"))) ## m2 <- cast(subset(m1,v=="theta",select=c(run,value,method)), ## run~method) library(ggplot2) ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ geom_boxplot()+geom_point()+geom_hline(yintercept=0.5,colour="red") ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ stat_summary(fun.data=mean_cl_normal)+ geom_hline(yintercept=0.5,colour="red") ggplot(m2,aes(x=glmer-glmmadmb))+geom_histogram() ## glmer is slightly more biased (but maybe the MLE itself is biased???) }## end{simulation study}------------------------- ### epilepsy example: data(epil,package="MASS") epil2 <- transform(epil,Visit=(period-2.5)/5, Base=log(base/4),Age=log(age), subject=factor(subject)) ## t3 <- system.time(g3 <- glmmadmb(y~Base*trt+Age+Visit+(Visit|subject), ## data=epil2, family="nbinom")) ## glmmADMB_epil_vals <- list(fixef=fixef(g3), ## NLL=-logLik(g3), ## theta=g3$alpha) glmmADMB_epil_vals <- list(fixef = c("(Intercept)"= -1.33, "Base"=0.88392, "trtprogabide"=-0.92997, "Age"=0.47514, "Visit"=-0.27016, "Base:trtprogabide"=0.33724), NLL = structure(624.551, class = "logLik", df = 9, nobs = 236L), theta = 7.4702) if (testLevel > 3) { ## "too slow" for regular testing -- 49 (MM@lynne: 33, then 26) seconds: (t4 <- system.time(g4 <- glmer.nb(y~ Base*trt + Age + Visit + (Visit|subject), data=epil2, verbose=TRUE))) ## 1.1-7: Warning in checkConv().. failed .. with max|grad| = 0.0089 (tol = 0.001, comp. 4) (Lg4 <- logLik(g4))## logLik() --> ML instead of REML: refitting the model attributes(Lg4) <- attributes(Lg4)[c("class","df","nobs")] stopifnot( ## FIXME: not at all!! ## all.equal(getNBdisp(g4), glmmADMB_epil_vals$ theta, tolerance= 0.0022)# was 0.002 ## , all.equal(fixef (g4), glmmADMB_epil_vals$ fixef, tolerance= 0.03)#was 0.004 ## , ### still 0.00374 on Ubuntu 12.04 ## FIXME: even df differ ! ## all.equal(logLik.m (g4), - glmmADMB_epil_vals$ NLL, tolerance= 0.0) ## was 0.0002 ) } cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/bootMer.R0000644000176200001440000000542712565075351014030 0ustar liggesuserslibrary(lme4) mySumm <- function(.) { s <- sigma(.) c(beta =getME(., "beta"), sigma = s, sig01 = unname(s * getME(., "theta"))) } fm1 <- lmer(Yield ~ 1|Batch, Dyestuff) boo01 <- bootMer(fm1, mySumm, nsim = 10) boo02 <- bootMer(fm1, mySumm, nsim = 10, use.u = TRUE) ## boo02 <- bootMer(fm1, mySumm, nsim = 500, use.u = TRUE) if (require(boot)) { boot.ci(boo02,index=2,type="perc") } fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) boo03 <- bootMer(fm2, mySumm, nsim = 10) boo04 <- bootMer(fm2, mySumm, nsim = 10, use.u = TRUE) if (lme4:::testLevel() > 1) { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) boo05 <- bootMer(gm1, mySumm, nsim = 10) boo06 <- bootMer(gm1, mySumm, nsim = 10, use.u = TRUE) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd) + (1|obs), family = binomial, data = cbpp) boo03 <- bootMer(gm2, mySumm, nsim = 10) boo04 <- bootMer(gm2, mySumm, nsim = 10, use.u = TRUE) } load(system.file("testdata","culcita_dat.RData",package="lme4")) cmod <- glmer(predation~ttt+(1|block),family=binomial,data=culcita_dat) set.seed(101) ## FIXME: sensitive to step-halving PIRLS tests ## expect_warning(cc <- confint(cmod,method="boot",nsim=10,quiet=TRUE, ## .progress="txt",PBargs=list(style=3)),"some bootstrap runs failed") library(parallel) if (detectCores()>1) { ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS"))>0 if(.Platform$OS.type != "windows" && !travis) { boo01P <- bootMer(fm1, mySumm, nsim = 10, parallel="multicore", ncpus=2) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS") boo01P.snow <- bootMer(fm1, mySumm, nsim = 10, parallel="snow", ncpus=2) } set.seed(101) dd <- data.frame(x=runif(200), f=rep(1:20,each=10), o=rnorm(200,mean=2)) dd$y <- suppressMessages(simulate(~x+(1|f)+offset(o), family="poisson", newdata=dd, newparams=list(theta=1,beta=c(0,2)))[[1]]) ## fails under flexLambda dd$y2 <- suppressMessages(simulate(~x+(1|f)+offset(o), family="gaussian", newdata=dd, newparams=list(theta=1,beta=c(0,2),sigma=1))[[1]]) fm3 <- glmer(y~x+(1|f)+offset(o), data=dd,family="poisson") fm4 <- lmer(y2~x+(1|f)+offset(o), data=dd) mySumm2 <- function(fit) return(c(fixef(fit),getME(fit,'theta'))) ## still some issues to fix here bb <- bootMer(fm3,mySumm2,nsim=10) attr(bb,"boot.fail.msgs") bb2 <- bootMer(fm4,mySumm2,nsim=10) lme4/tests/lme4_nlme.R0000644000176200001440000000177112406350753014267 0ustar liggesusers## testing whether lme4 and nlme play nicely. Only known issue ## is lmList-masking ... library("lme4") library("nlme") fm1_lmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1_lme <- lme(Reaction ~ Days, random=~Days|Subject, sleepstudy) ## variance-covariance matrices: annoyingly different structures vc_lmer <- VarCorr(fm1_lmer) vc_lmerx <- c(diag(vc_lmer[[1]]),attr(vc_lmer[[1]],"correlation")[1,2]) vc_lme <- VarCorr(fm1_lme) suppressWarnings(storage.mode(vc_lme) <- "numeric") vc_lmex <- c(vc_lme[1:2,1],vc_lme[2,3]) stopifnot(all.equal(vc_lmex,vc_lmerx,tolerance=3e-5)) ## fixed effects (much easier) stopifnot(all.equal(fixef(fm1_lmer),fixef(fm1_lme))) stopifnot(all.equal(unname(unlist(unclass(ranef(fm1_lmer)))), unname(unlist(unclass(ranef(fm1_lme)))), tolerance=2e-5)) fm1L_lme <- nlme::lmList(distance ~ age | Subject, Orthodont) ## FIXME: lmList not working yet? ## fm1L_lmer <- lme4::lmList(distance ~ age | Subject, Orthodont) ## FIXME: test opposite order lme4/tests/AAAtest-all.R0000644000176200001440000000044012650276557014445 0ustar liggesusersif(require("testthat", quietly = TRUE)) { pkg <- "lme4" require(pkg, character.only=TRUE, quietly=TRUE) test_check(pkg) print(warnings()) # TODO? catch most of these by expect_warning(..) } else { cat( "package 'testthat' not available, cannot run unit tests\n" ) } lme4/tests/confint.R0000644000176200001440000000235413215244712014045 0ustar liggesuserslibrary("lme4") library("testthat") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) fm1 <- fit_sleepstudy_2 c0 <- confint(fm1, method="Wald") c0B <- confint(fm1, method="Wald",parm="Days") expect_equal(c0["Days",],c0B["Days",]) expect_equal(c(c0B),c(7.437592,13.496980),tolerance=1e-6) set.seed(101) for (bt in c("norm","basic", "perc")) { suppressWarnings( confint(fm1, method="boot", boot.type=bt, nsim=10,quiet=TRUE)) } for (bt in c("stud","bca","junk")) { expect_error(confint(fm1, method="boot", boot.type=bt, nsim=10), "should be one of") } if((testLevel <- lme4:::testLevel()) > 1) { c1 <- confint(fm1,method="profile",parm=5:6) expect_equal(c0[5:6,],c1,tolerance=2e-3) ## expect Wald and profile _reasonably_ close print(c1,digits=3) c2 <- confint(fm1,method="boot",nsim=50,parm=5:6) ## expect_error(confint(fm1,method="boot",nsim=50,parm="Days"), ## "must be specified as an integer") expect_equal(c1,c2,tolerance=2e-2) print(c2,digits=3) } if (testLevel > 10) { print(c1B <- confint(fm1, method="profile")) print(c2B <- confint(fm1, method="boot")) expect_equal(unname(c1B), unname(c2B), tolerance=2e-2) } lme4/tests/modFormula.R0000644000176200001440000000356612406350753014524 0ustar liggesuserslibrary(lme4) library(testthat) .get.checkingOpts <- lme4:::.get.checkingOpts stopifnot(identical( .get.checkingOpts( c("CheckMe", "check.foo", "check.conv.1", "check.rankZ", "check.rankX")) , c("check.foo", "check.rankZ"))) lmod <- lFormula(Reaction ~ Days + (Days|Subject), sleepstudy) devfun <- do.call(mkLmerDevfun, lmod) opt <- optimizeLmer(devfun) cc <- lme4:::checkConv(attr(opt,"derivs"), opt$par, ctrl = lmerControl()$checkConv, lbound=environment(devfun)$lower) fm1 <- mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, lme4conv=cc) fm2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## basic equivalence fm1C <- fm1 fm1C@call <- fm2@call expect_equal(fm2,fm1C) expect_equal(range(residuals(fm1)),c(-101.1789,132.5466),tolerance=1e-6) expect_is(model.frame(fm1),"data.frame") ## formulae expect_equal(formula(model.frame(fm1)),Reaction ~ Days + Subject) ## fixed only expect_equal(formula(fm1),Reaction~Days+(Days|Subject)) ## predictions expect_equal(predict(fm1,newdata=sleepstudy[1:10,],ReForm=NULL), predict(fm2,newdata=sleepstudy[1:10,],ReForm=NULL)) expect_equal(predict(fm1,newdata=sleepstudy), predict(fm1)) lmodOff <- lFormula(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) devfunOff <- do.call(mkLmerDevfun, lmodOff) opt <- optimizeLmer(devfunOff) fm1Off <- mkMerMod(environment(devfunOff), opt, lmodOff$reTrms, fr = lmodOff$fr) fm2Off <- lmer(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) expect_equal(predict(fm1Off,newdata=sleepstudy[1:10,],ReForm=NULL), predict(fm2Off,newdata=sleepstudy[1:10,],ReForm=NULL)) ## FIXME: need more torture tests with offset specified, in different environments ... ## FIXME: drop1(.) doesn't work with modular objects ... hard to see how it ## could, though ... ## drop1(fm1Off) drop1(fm2Off) lme4/tests/glmer-1.R0000644000176200001440000002327712406350753013664 0ustar liggesusers## generalized linear mixed model stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## ##' Check that coefficient +- "2" * SD contains true value ##' ##' @title Check that confidence interval for coefficients contains true value ##' @param fm fitted model, e.g., from lm(), lmer(), glmer(), .. ##' @param true.coef numeric vector of true (fixed effect) coefficients ##' @param conf.level confidence level for confidence interval ##' @param sd.factor the "2", i.e. default 1.96 factor for the confidence interval ##' @return TRUE or a string of "error" ##' @author Martin Maechler chkFixed <- function(fm, true.coef, conf.level = 0.95, sd.factor = qnorm((1+conf.level)/2)) { stopifnot(is.matrix(cf <- coefficients(summary(fm))), ncol(cf) >= 2) cc <- cf[,1] sd <- cf[,2] if(any(out1 <- true.coef < cc - sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is smaller than lower confidence limit", paste(which(out1), collapse=", "))) if(any(out2 <- true.coef > cc + sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is larger than upper confidence limit", paste(which(out2), collapse=", "))) ## else, return TRUE } ## TODO: (1) move these to ./glmer-ex.R [DONE] ## ---- (2) "rationalize" with ../man/cbpp.Rd #m1e <- glmer1(cbind(incidence, size - incidence) ~ period + (1 | herd), # family = binomial, data = cbpp, doFit = FALSE) ## now #bobyqa(m1e, control = list(iprint = 2L)) m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) ## response as a vector of probabilities and usage of argument "weights" m1p <- glmer(incidence / size ~ period + (1 | herd), weights = size, family = binomial, data = cbpp) ## Confirm that these are equivalent: stopifnot(all.equal(fixef(m1), fixef(m1p)), all.equal(ranef(m1), ranef(m1p)), TRUE) ## for(m in c(m1, m1p)) { ## cat("-------\\n\\nCall: ", ## paste(format(getCall(m)), collapse="\\n"), "\\n") ## print(logLik(m)); cat("AIC:", AIC(m), "\\n") ; cat("BIC:", BIC(m),"\\n") ## } stopifnot(all.equal(logLik(m1), logLik(m1p)), all.equal(AIC(m1), AIC(m1p)), all.equal(BIC(m1), BIC(m1p))) ## changed tolPwrss to 1e-7 to match other default m1b <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, verbose = 2L, control = glmerControl(optimizer="bobyqa", tolPwrss=1e-7, optCtrl=list(rhobeg=0.2, rhoend=2e-7))) ## using nAGQ=9L provides a better evaluation of the deviance m.9 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 9) ## check with nAGQ = 25 m2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 25) ## loosened tolerance on parameters stopifnot(is((cm2 <- coef(m2)), "coef.mer"), dim(cm2$herd) == c(15,4), all.equal(fixef(m2), ### lme4a [from an Ubuntu 11.10 amd64 system] c(-1.39922533406847, -0.991407294757321, -1.12782184600404, -1.57946627431248), ##c(-1.3766013, -1.0058773, ## -1.1430128, -1.5922817), tolerance = 5.e-4, check.attributes=FALSE), all.equal(c(-2*logLik(m2)), 100.010030538022, tolerance=1e-9), all.equal(deviance(m2), 73.373, tolerance=1e-5) ## with bobyqa first (AGQ=0), then ##all.equal(deviance(m2), 101.119749563, tolerance=1e-9) ) ## 32-bit Ubuntu 10.04: coef_m1_lme4.0 <- structure(c(-1.39853505102576, -0.992334712470269, -1.12867541092127, -1.58037389566025), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmADMB) ## mg <- glmmadmb(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = "binomial", data = cbpp) coef_m1_glmmadmb <- structure(c(-1.39853810064827, -0.99233330126975, -1.12867317840779, -1.58031150854503), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmML) ## mm <- glmmML(cbind(incidence, size - incidence) ~ period, ## cluster=herd, ## family = "binomial", data = cbpp) coef_m1_glmmML <- structure(c(-1.39853234657711, -0.992336901732793, -1.12867036466201, -1.58030977686564), .Names = c("(Intercept)", "period2", "period3", "period4")) ## lme4[r 1636], 64-bit ubuntu 11.10: ## c(-1.3788385, -1.0589543, ## -1.1936382, -1.6306271), stopifnot(is((cm1 <- coef(m1b)), "coef.mer"), dim(cm1$herd) == c(15,4), all.equal(fixef(m1b),fixef(m1),tolerance=4e-5), is.all.equal4(fixef(m1b), coef_m1_glmmadmb, coef_m1_lme4.0, coef_m1_glmmML, tol = 5e-4) ) ## Deviance for the new algorithm is lower, eventually we should change the previous test ##stopifnot(deviance(m1) <= deviance(m1e)) showProc.time() # if (require('MASS', quietly = TRUE)) { bacteria$wk2 <- bacteria$week > 2 contrasts(bacteria$trt) <- structure(contr.sdif(3), dimnames = list(NULL, c("diag", "encourage"))) print(fm5 <- glmer(y ~ trt + wk2 + (1|ID), data=bacteria, family=binomial)) showProc.time() # stopifnot( all.equal(logLik(fm5), ## was -96.127838 structure(-96.13069, nobs = 220L, nall = 220L, df = 5L, REML = FALSE, class = "logLik"), tolerance = 5e-4, check.attributes = FALSE) , all.equal(fixef(fm5), ## was 2.834218798 -1.367099481 c("(Intercept)"= 2.831609490, "trtdiag"= -1.366722631, ## now 0.5842291915, -1.599148773 "trtencourage"=0.5840147802, "wk2TRUE"=-1.598591346), tolerance = 1e-4 ) ) } ## Failure to specify a random effects term - used to give an obscure message ## Ensure *NON*-translated message; works on Linux,... : if(.Platform$OS.type == "unix") { Sys.setlocale("LC_MESSAGES", "C") tc <- tryCatch( m2 <- glmer(incidence / size ~ period, weights = size, family = binomial, data = cbpp) , error = function(.) .) stopifnot(inherits(tc, "error"), identical(tc$message, "No random effects terms specified in formula")) } ## glmer - Modeling overdispersion as "mixture" aka ## ----- - *ONE* random effect *PER OBSERVATION" -- example inspired by Ben Bolker: ##' ##' ##'
##' @title ##' @param ng number of groups ##' @param nr number of "runs", i.e., observations per groups ##' @param sd standard deviations of group and "Individual" random effects, ##' (\sigma_f, \sigma_I) ##' @param b true beta (fixed effects) ##' @return a data frame (to be used in glmer()) with columns ##' (x, f, obs, eta0, eta, mu, y), where y ~ Pois(lambda(x)), ##' log(lambda(x_i)) = b_1 + b_2 * x + G_{f(i)} + I_i ##' and G_k ~ N(0, \sigma_f); I_i ~ N(0, \sigma_I) ##' @author Ben Bolker and Martin Maechler rPoisGLMMi <- function(ng, nr, sd=c(f = 1, ind = 0.5), b=c(1,2)) { stopifnot(nr >= 1, ng >= 1, is.numeric(sd), names(sd) %in% c("f","ind"), sd >= 0) ntot <- nr*ng b.reff <- rnorm(ng, sd= sd[["f"]]) b.rind <- rnorm(ntot,sd= sd[["ind"]]) x <- runif(ntot) within(data.frame(x, f = factor(rep(LETTERS[1:ng], each=nr)), obs = 1:ntot, eta0 = cbind(1, x) %*% b), { eta <- eta0 + b.reff[f] + b.rind[obs] mu <- exp(eta) y <- rpois(ntot, lambda=mu) }) } set.seed(1) dd <- rPoisGLMMi(12, 20) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) stopifnot(isTRUE(chkFixed(m0, true.coef = c(1,2))), isTRUE(chkFixed(m1, true.coef = c(1,2)))) (a01 <- anova(m0, m1)) stopifnot(all.equal(a01$Chisq[2], 554.334056, tolerance=1e-5), all.equal(a01$logLik, c(-1073.77193, -796.604902), tolerance=1e-6), a01$ Df == 3:4, a01$`Chi Df`[2] == 1) if(lme4:::testLevel() > 1) { nsim <- 10 set.seed(2) system.time( simR <- lapply(1:nsim, function(i) { cat(i,"", if(i %% 20 == 0)"\n") dd <- rPoisGLMMi(10 + rpois(1, lambda=3), 16 + rpois(1, lambda=5)) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) a01 <- anova(m0, m1) stopifnot(a01$ Df == 3:4, a01$`Chi Df`[2] == 1) list(chk0 = chkFixed(m0, true.coef = c(1,2)), chk1 = chkFixed(m1, true.coef = c(1,2)), chisq= a01$Chisq[2], lLik = a01$logLik) })) ## m0 is the wrong model, so we don't expect much here: table(unlist(lapply(simR, `[[`, "chk0"))) ## If the fixed effect estimates were unbiased and the standard errors correct, ## and N(0,sigma^2) instead of t_{nu} good enough for the fixed effects, ## the confidence interval should contain the true coef in ~95 out of 100: table(unlist(lapply(simR, `[[`, "chk1"))) ## The tests are all highly significantly in favor of m1 : summary(chi2s <- sapply(simR, `[[`, "chisq")) ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 158.9 439.0 611.4 698.2 864.3 2268.0 stopifnot(chi2s > qchisq(0.9999, df = 1)) } showProc.time() lme4/tests/condVar.R0000644000176200001440000000312112406350753013776 0ustar liggesuserslibrary(lme4) # Dyestuff consistent with lme4.0 lme4.0condVarDyestuff <- c(362.3583, 362.3583, 362.3583, 362.3583, 362.3583, 362.3583) fm <- lmer(Yield ~ 1|Batch, Dyestuff, REML=FALSE) lme4condVarDyestuff <- as.numeric(attr(ranef(fm,condVar=TRUE)$Batch,"postVar")) stopifnot(all.equal(lme4.0condVarDyestuff, lme4condVarDyestuff, tolerance = 1e-3)) # sleepstudy consistent with lme4.0 lme4.0condVarsleepstudy <- matrix(c(145.71273, -21.440414, -21.44041, 5.310927), 2, 2) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) lme4condVarsleepstudy <- attr(ranef(fm,condVar=TRUE)$Subject,"postVar")[,,1] stopifnot(all.equal(lme4.0condVarsleepstudy, lme4condVarsleepstudy, tolerance = 1e-4)) # cbpp consistent with lme4.0 lme4.0condVarcbpp <- c(0.12128867, 0.13363275, 0.08839850, 0.17337928, 0.12277914, 0.14436663, 0.10658333, 0.10309812, 0.21289738, 0.13740279, 0.09555677, 0.19460241, 0.14808316, 0.12631006, 0.15816769) gm <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) lme4condVarcbpp <- as.numeric(attr(ranef(gm,condVar=TRUE)$herd,"postVar")) stopifnot(all.equal(lme4.0condVarcbpp, lme4condVarcbpp, tolerance = 1e-3)) # return warning when multiple factor terms per factor set.seed(1) y <- rnorm(10) x <- rnorm(10) g <- rep(c("A","B"),5) m1 <- lmer(y ~ 1 + (x | g)) # convergence warnings m2 <- lmer(y ~ 1 + (1 | g) + (0 + x | g)) options(warn = 2) # no warnings expected in first: ranef(m1, condVar = TRUE) tools::assertWarning(ranef(m2, condVar = TRUE)) lme4/tests/optimizer.R0000644000176200001440000000467512406350753014443 0ustar liggesuserslibrary(lme4) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## N.B. is.all.equal4() and assert.EQ() use 'tol', not 'tolerance' ## should be able to run any example with any bounds-constrained optimizer ... ## Nelder_Mead, bobyqa built in; optimx/nlminb, optimx/L-BFGS-B ## optimx/Rcgmin will require a bit more wrapping/interface work (requires gradient) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## Nelder_Mead fm1B <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerControl(optimizer="bobyqa")) stopifnot(all.equal(fixef(fm1),fixef(fm1B))) require(optimx) lmerCtrl.optx <- function(method, ...) lmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) glmerCtrl.optx <- function(method, ...) glmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) (testLevel <- lme4:::testLevel()) ## FAILS on Windows (on r-forge only, not win-builder)... 'function is infeasible at initial parameters' ## (can we test whether we are on r-forge??) if (.Platform$OS.type != "windows") { fm1C <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="nlminb")) fm1D <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(fm1),fixef(fm1B),fixef(fm1C),fixef(fm1D))) fm1E <- update(fm1,control=lmerCtrl.optx(method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo fm1E@call <- fm1C@call fm1E@optinfo <- fm1C@optinfo assert.EQ(fm1C,fm1E, tol=1e-5, giveRE=TRUE)# prints unless tolerance=0--equality } gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=glmerControl(tolPwrss=1e-13)) gm1B <- update(gm1, control=glmerControl (tolPwrss=1e-13, optimizer="bobyqa")) gm1C <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="nlminb")) gm1D <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(gm1),fixef(gm1B),fixef(gm1C),fixef(gm1D), tol=1e-5)) if (testLevel > 1) { gm1E <- update(gm1, control= glmerCtrl.optx(tolPwrss=1e-13, method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo gm1E@call <- gm1C@call gm1E@optinfo <- gm1C@optinfo assert.EQ(gm1E,gm1C, tol=1e-5, giveRE=TRUE)# prints unless tol=0--equality } lme4/tests/devCritFun.R0000644000176200001440000000150212406350753014454 0ustar liggesuserslibrary(lme4) ## ---------------------------------------------------------------------- ## test that deviance(REMLfit, REML = FALSE) gives the same answer as ## the ML objective function at the REML fit ## ---------------------------------------------------------------------- set.seed(1) w <- runif(nrow(sleepstudy)) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, weights = w) dfun <- update(fm, devFunOnly = TRUE, REML = FALSE) stopifnot(all.equal(deviance(fm, REML = FALSE), dfun(getME(fm, "theta")))) ## ---------------------------------------------------------------------- ## TODO: test the opposite case that deviance(MLfit, REML = TRUE) ## gives the same answer as the REML objective function at the ML fit ## ---------------------------------------------------------------------- lme4/tests/nlmer.R0000644000176200001440000000425312406350753013526 0ustar liggesuserslibrary(lme4) allEQ <- function(x,y, tolerance = 4e-4, ...) all.equal.numeric(x,y, tolerance=tolerance, ...) (nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ (Asym|Tree), Orange, start = c(Asym = 200, xmid = 725, scal = 350))) fixef(nm1) if (lme4:::testLevel() > 2) { ## 'Theoph' Data modeling Th.start <- c(lKe = -2.5, lKa = 0.5, lCl = -3) system.time(nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe+lKa+lCl|Subject), Theoph, start = Th.start, tolPwrss=1e-8)) print(nm2, corr=FALSE) system.time(nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject) + (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) print(nm3, corr=FALSE) ## dropping lKe from random effects: system.time(nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa+lCl|Subject), Theoph, start = Th.start, tolPwrss=1e-8)) print(nm4, corr=FALSE) system.time(nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start, tolPwrss=1e-8)) print(nm5, corr=FALSE) if (require("PKPDmodels")) { oral1cptSdlkalVlCl <- PKmod("oral", "sd", list(ka ~ exp(lka), Cl ~ exp(lCl), V ~ exp(lV))) if (FALSE) { ## FIXME: Error in get(nm, envir = nlenv) : object 'k' not found ## probably with environments/call stack etc.? ## 'pnames' is c("lV","lka","k") -- not ("lV","lka","lCl") ## nlmer -> nlformula -> MkRespMod ## pnames are OK in nlformula, but in MkRespMod we try to recover ## them from the column names of the gradient attribute of the ## model evaluated in nlenv -- which are wrong. system.time(nm2a <- nlmer(conc ~ oral1cptSdlkalVlCl(Dose, Time, lV, lka, lCl) ~ (lV+lka+lCl|Subject), Theoph, start = c(lV=-1, lka=-0.5, lCl=-3), tolPwrss=1e-8)) print(nm2a, corr=FALSE) } } } ## testLevel > 2 lme4/tests/lmer-0.R0000644000176200001440000000721512406350753013506 0ustar liggesusersrequire(lme4) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc ## Check that quasi families throw an error assertError(lmer(cbind(incidence, size - incidence) ~ period + (1|herd), data = cbpp, family = quasibinomial)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasipoisson)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasi)) ## check bug found by Kevin Buhr set.seed(7) n <- 10 X <- data.frame(y=runif(n), x=rnorm(n), z=sample(c("A","B"), n, TRUE)) fm <- lmer(log(y) ~ x | z, data=X) ## ignore grouping factors with ## gave error inside model.frame() stopifnot(all.equal(unname(fixef(fm)), -0.8345, tolerance=.01)) ## is "Nelder_Mead" default optimizer? isNM <- formals(lmerControl)$optimizer == "Nelder_Mead" ## check working of Matrix methods on vcov(.) etc ---------------------- fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) V <- vcov(fm) V1 <- vcov(fm1) TOL <- 0 # to show the differences below TOL <- 1e-5 # for the check stopifnot( all.equal(diag(V), if(isNM) 0.176076 else 0.176068575, tolerance = TOL) # 64b: 2.4e-8 , all.equal(as.numeric(chol(V)), if(isNM) 0.4196165 else 0.41960526, tolerance=TOL)# 64b: 3.2e-8 , all.equal(diag(V1), c(46.574978, 2.389469), tolerance = TOL)# 64b: 9.8e-9 , dim(C1 <- chol(V1)) == c(2,2) , all.equal(as.numeric(C1), c(6.82458627, 0, -0.2126260, 1.5310973), tolerance=TOL)# 64b: 1.6e-9 , dim(chol(crossprod(getME(fm1, "Z")))) == 36 , TRUE) ## printing signif(chol(crossprod(getME(fm,"Z"))), 4)# -> simple 4 x 4 sparse showProc.time() # ## From: Stephane Laurent ## To: r-sig-mixed-models@.. ## "crash with the latest update of lme4" ## ## .. example for which lmer() crashes with the last update of lme4 ...{R-forge}, ## .. but not with version CRAN version (0.999999-0) lsDat <- data.frame( Operator = as.factor(rep(1:5, c(3,4,8,8,8))), Part = as.factor( c(2L, 3L, 5L, 1L, 1L, 2L, 3L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 1L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 5L)), y = c(0.34, -1.23, -2.46, -0.84, -1.57,-0.31, -0.18, -0.94, -0.81, 0.77, 0.4, -2.37, -2.78, 1.29, -0.95, -1.58, -2.06, -3.11,-3.2, -0.1, -0.49,-2.02, -0.75, 1.71, -0.85, -1.19, 0.13, 1.35, 1.92, 1.04, 1.08)) xtabs( ~ Operator + Part, data=lsDat) # --> 4 empty cells, quite a few with only one obs.: ## Part ## Operator 1 2 3 4 5 ## 1 0 1 1 0 1 ## 2 2 1 1 0 0 ## 3 2 2 2 1 1 ## 4 1 1 2 2 2 ## 5 1 2 2 1 2 lsD29 <- lsDat[1:29, ] ## FIXME: rank-Z test should probably not happen in this case: (sm3 <- summary(m3 <- lm(y ~ Part*Operator, data=lsDat)))# ok: some interactions not estimable nrow(coef(sm3))# 21 *are* estimable sm4 <- summary(m4 <- lm(y ~ Part*Operator, data=lsD29)) # ok: 20 *are* estimable lf <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat) dim(Zt <- lf$reTrms$Zt)## 31 x 31 c(rankMatrix(Zt)) ## 21 c(rankMatrix(Zt,method="qr")) ## 31 || 29 (64 bit Lnx) c(rankMatrix(t(Zt),method="qr")) ## 30 nrow(lsDat) fm3 <- lmer(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat, control=lmerControl(check.nobs.vs.rankZ="warningSmall")) lf29 <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsD29) (fm4 <- update(fm3, data=lsD29)) fm4. <- update(fm4, REML=FALSE) summary(fm4.) showProc.time() cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/simulate.R0000644000176200001440000001235513015604046014230 0ustar liggesuserslibrary(lme4) library(testthat) (testLevel <- lme4:::testLevel()) L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions fm1 <- fit_sleepstudy_1 s1 <- simulate(fm1,seed=101)[[1]] s2 <- simulate(fm1,seed=101,use.u=TRUE) s3 <- simulate(fm1,seed=101,nsim=10) s4 <- simulate(fm1,seed=101,use.u=TRUE,nsim=10) stopifnot(length(s3)==10,all(sapply(s3,length)==180), length(s4)==10,all(sapply(s4,length)==180)) ## binomial (2-column and prob/weights) gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_3 gm1_s1 <- simulate(gm1,seed=101)[[1]] gm1_s2 <- simulate(gm2,seed=101)[[1]] stopifnot(all.equal(gm1_s1[,1]/rowSums(gm1_s1),gm1_s2)) gm1_s3 <- simulate(gm1,seed=101,use.u=TRUE) gm1_s4 <- simulate(gm1,seed=101,nsim=10) gm1_s5 <- simulate(gm2,seed=101,nsim=10) stopifnot(length(gm1_s4)==10,all(sapply(gm1_s4,ncol)==2),all(sapply(gm1_s4,nrow)==56)) stopifnot(length(gm1_s5)==10,all(sapply(gm1_s5,length)==56)) ## binomial (factor): Kubovy bug report 1 Aug 2013 d <- data.frame(y=factor(rep(letters[1:2],each=100)), f=factor(rep(1:10,10))) g1 <- glmer(y~(1|f),data=d,family=binomial) s6 <- simulate(g1,nsim=10) stopifnot(length(s6)==10,all(sapply(s6,length)==200)) ## test explicitly stated link function gm3 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial(link="logit")) s4 <- simulate(gm3,seed=101)[[1]] stopifnot(all.equal(gm1_s1,s4)) cbpp$obs <- factor(seq(nrow(cbpp))) gm4 <- fit_cbpp_2 ## glmer(cbind(incidence, size - incidence) ~ period + ## (1 | herd) + (1|obs), data = cbpp, family = binomial) s5 <- simulate(gm4,seed=101)[[1]] s6 <- simulate(gm4,seed=101,use.u=TRUE)[[1]] ## Bernoulli ## works, but too slow if (testLevel>2) { if(require("mlmRev")) { data(guImmun,package="mlmRev") g1 <- glmer(immun~kid2p+mom25p+ord+ethn+momEd+husEd+momWork+rural+pcInd81+ (1|comm/mom),family="binomial",data=guImmun) s2 <- simulate(g1) } } set.seed(101) d <- data.frame(f=rep(LETTERS[1:10],each=10)) d$x <- runif(nrow(d)) u <- rnorm(10) d$eta <- with(d,1+2*x+u[f]) d$y <- rbinom(nrow(d),plogis(d$eta),size=1) g1 <- glmer(y~x+(1|f),data=d,family="binomial") ## tolPwrss=1e-5: no longer necessary if (FALSE) { allcoef <- function(x) { c(deviance(x),getME(x,"theta"),getME(x,"beta")) } tfun <- function(t) { gg <- try(glmer(y~x+(1|f),data=d,family="binomial", control=glmerControl(tolPwrss=10^t))) if (inherits(gg,"try-error")) rep(NA,4) else allcoef(gg) } tvec <- seq(-4,-16,by=-0.25) tres <- cbind(tvec,t(sapply(tvec,tfun))) } gm_s5 <- simulate(g1,seed=102)[[1]] d$y <- factor(c("N","Y")[d$y+1]) g1B <- glmer(y~x+(1|f),data=d,family="binomial") ## ,tolPwrss=1e-5) s1B <- simulate(g1B,seed=102)[[1]] stopifnot(all.equal(gm_s5,as.numeric(s1B)-1)) ## another Bernoulli if(require("mlmRev")) { data(Contraception,package="mlmRev") gm5 <- glmer(use ~ urban+age+livch+(1|district), Contraception, binomial) s3 <- simulate(gm5) } d$y <- rpois(nrow(d),exp(d$eta)) gm6 <- glmer(y~x+(1|f),data=d,family="poisson") s4 <- simulate(gm6) ## simulation 'from scratch' with formulas: ## binomial form <- formula(gm1)[-2] gm1_s4 <- simulate(form,newdata=model.frame(gm1), newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101)[[1]] stopifnot(all.equal(gm1_s2,gm1_s4)) gm1_s5 <- simulate(formula(gm1),newdata=cbpp, newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, seed=101)[[1]] stopifnot(all.equal(gm1_s1,gm1_s5)) tt <- getME(gm1,"theta") bb <- fixef(gm1) expect_message(simulate(form,newdata=model.frame(gm1), newparams=list(theta=unname(tt), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"assuming same order") expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=setNames(tt,"abc"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") expect_message(simulate(form,newdata=model.frame(gm1), newparams=list(theta=tt, beta=unname(bb)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"assuming same order") expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=tt, beta=setNames(bb,c("abc",names(bb)[-1]))), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") ## Gaussian form <- formula(fm1)[-2] s7 <- simulate(form,newdata=model.frame(fm1), newparams=list(theta=getME(fm1,"theta"), beta=fixef(fm1), sigma=sigma(fm1)), family=gaussian, seed=101)[[1]] stopifnot(all.equal(s7,s1)) ## TO DO: wider range of tests, including offsets ... }# R >= 3.0.0 lme4/tests/REMLdev.R0000644000176200001440000000233012565075351013645 0ustar liggesuserslibrary(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1ML <- refitML(fm1) REMLcrit(fm1) deviance(fm1ML) deviance(fm1,REML=FALSE) ## FIXME: not working yet (NA) deviance(fm1,REML=TRUE) ## from lme4.0 oldvals <- c(REML=1743.6282722424, ML=1751.98581103058) ## leave out ML values for REML fits for now ... stopifnot( all.equal(REMLcrit(fm1),deviance(fm1,REML=TRUE),deviance(fm1ML,REML=TRUE),oldvals["REML"]), all.equal(deviance(fm1ML),deviance(fm1ML,REML=FALSE),oldvals["ML"]), all.equal(REMLcrit(fm1)/-2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), all.equal(deviance(fm1ML)/-2,c(logLik(fm1ML,REML=FALSE)), c(logLik(fm1ML,REML=FALSE)))) ## should be: ## stopifnot( ## all.equal(deviance(fm1),deviance(fm1,REML=TRUE),deviance(fm1ML,REML=TRUE),oldvals["REML"]), ## all.equal(deviance(fm1ML),deviance(fm1,REML=FALSE),deviance(fm1ML,REML=FALSE),oldvals["ML"]), ## all.equal(deviance(fm1)/2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), ## all.equal(deviance(fm1ML)/2,c(logLik(fm1,REML=FALSE)),c(logLik(fm1ML,REML=FALSE)), ## c(logLik(fm1ML,REML=FALSE)))) lme4/tests/elston.R0000644000176200001440000000606012764365102013714 0ustar liggesusers## original code for reading/aggregating: ## tickdata <- read.table("Elston2001_tickdata.txt",header=TRUE, ## colClasses=c("factor","numeric","factor","numeric","factor","factor")) ## tickdata <- transform(tickdata,cHEIGHT=scale(HEIGHT,scale=FALSE)) ## for (i in names(tickdata)) { ## if (is.factor(tickdata[[i]])) { ## tickdata[[i]] <- factor(tickdata[[i]],levels=sort(as.numeric(levels(tickdata[[i]])))) ## } ## } ## summary(tickdata) ## grouseticks <- tickdata ## library(reshape) ## meantick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=mean), ## c(TICKS="meanTICKS")) ## vartick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=var), ## c(TICKS="varTICKS")) ## uniqtick <- unique(subset(tickdata,select=-c(INDEX,TICKS))) ## grouseticks_agg <- Reduce(merge,list(meantick,vartick,uniqtick)) ## save("grouseticks","grouseticks_agg",file="grouseticks.rda") library(lme4) data(grouseticks) do.plots <- FALSE form <- TICKS~YEAR+HEIGHT+(1|BROOD)+(1|INDEX)+(1|LOCATION) ## fit with lme4 ## library(lme4) ## t1 <- system.time(full_mod1 <- glmer(form, family="poisson",data=grouseticks)) ## c1 <- c(fixef(full_mod1),unlist(VarCorr(full_mod1)), logLik=logLik(full_mod1),time=t1["elapsed"]) ## allcoefs1 <- c(unlist(full_mod1@ST),fixef(full_mod1)) ## detach("package:lme4") ## lme4 summary results: t1 <- structure(c(1.288, 0.048, 1.36, 0, 0), class = "proc_time", .Names = c("user.self", "sys.self", "elapsed", "user.child", "sys.child")) c1 <- structure(c(11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979, 0.293232458048324, 0.562551624933584, 0.279548178949372, -424.771990224991, 1.36), .Names = c("(Intercept)", "YEAR96", "YEAR97", "HEIGHT", "INDEX", "BROOD", "LOCATION", "logLik", "time.elapsed" )) allcoefs1 <- structure(c(0.541509425632023, 0.750034415832756, 0.528723159081737, 11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979 ), .Names = c("", "", "", "(Intercept)", "YEAR96", "YEAR97", "HEIGHT")) if (lme4:::testLevel() > 1) { t2 <- system.time(full_mod2 <- glmer(form, family="poisson",data=grouseticks)) c2 <- c(fixef(full_mod2),unlist(VarCorr(full_mod2)), logLik=logLik(full_mod2),time=t2["elapsed"]) ## refit ## FIXME: eventually would like to get _exactly_ identical answers on refit() full_mod3 <- refit(full_mod2,grouseticks$TICKS) all.equal(full_mod2,full_mod3,tolerance=1e-5) } allcoefs <- function(x) c(getME(x,"theta"),getME(x,"beta")) ## deviance function ## FIXME: does compDev do _anything_ any more? mm <- glmer(form, family="poisson",data=grouseticks,devFunOnly=TRUE) mm2 <- glmer(form, family="poisson",data=grouseticks, devFunOnly=TRUE,control=glmerControl(compDev=TRUE)) stopifnot(all.equal(mm(allcoefs1),mm2(allcoefs1))) lme4/tests/polytomous.R0000644000176200001440000000247112406350753014643 0ustar liggesuserslibrary(lme4) ## setup ## library(polytomous) ## data(think) ## think.polytomous.lmer1 <- polytomous(Lexeme ~ Agent + Patient + (1|Register), ## data=think, heuristic="poisson.reformulation") ## save("formula.poisson","data.poisson",file="polytomous_test.RData") load(system.file("testdata","polytomous_test.RData",package="lme4")) if (FALSE) { ## infinite loop glmer(formula.poisson,data=data.poisson,family=poisson,verbose=10) ## Cholmod not positive definite -> infinite loop glmer(formula.poisson,data=data.poisson,family=poisson, verbose=10,control=glmerControl(optimizer="bobyqa")) ## caught warning: maxfun < 10 * length(par)^2 is not recommended. -> infinite loop } ## works but sloooow .... if (FALSE) { try(g1 <- glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE),verbose=1)) ## runs for 2880 steps until: ## Error in pp$updateDecomp() : Downdated VtV is not positive definite } (testLevel <- lme4:::testLevel()) if (testLevel > 2) { glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE),optimizer="bobyqa") ## caught warning: maxfun < 10 * length(par)^2 is not recommended. ## but runs to completion } lme4/tests/boundary.R0000644000176200001440000001701412771005141014224 0ustar liggesusers## In both of these cases boundary fit (i.e. estimate of zero RE ## variance) is *incorrect*. (Nelder_Mead, restart_edge=FALSE) is the ## only case where we get stuck; either optimizer=bobyqa or ## restart_edge=TRUE (default) works library(lme4) library(testthat) if(!dev.interactive(orNone=TRUE)) pdf("boundary_plots.pdf") ## Stephane Laurent: dat <- read.csv(system.file("testdata","dat20101314.csv", package="lme4")) fit <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead")) fit_b <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="bobyqa", restart_edge=FALSE)) fit_c <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore")) ## final fit gives degenerate-Hessian warning ## FIXME: use fit_c with expect_warning() as a check on convergence tests ## tolerance=1e-5 seems OK in interactive use but not in R CMD check ... ?? stopifnot(all.equal(getME(fit, "theta") -> th.f, getME(fit_b,"theta"), tolerance=5e-5), all(th.f > 0)) ## Manuel Koller source(system.file("testdata", "koller-data.R", package="lme4")) ldata <- getData(13) ## old (backward compatible/buggy) fm4 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE), start=list(theta=1)) fm4b <- lmer(y ~ (1|Var2), ldata, control = lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE, restart_edge = FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta=1)) ## FIXME: use as convergence test check stopifnot(getME(fm4b,"theta") == 0) fm4c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa", use.last.params=TRUE), start=list(theta=1)) stopifnot(all.equal(getME(fm4, "theta") -> th4, getME(fm4c,"theta"), tolerance=1e-4), th4 > 0) ## new: doesn't get stuck at edge any more, but gets stuck somewhere else ... fm5 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", check.conv.hess="ignore", check.conv.grad="ignore"), start=list(theta=1)) fm5b <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta = 1)) fm5c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa"), start = list(theta = 1)) stopifnot(all.equal(unname(getME(fm5c,"theta")), 0.21067645, tolerance = 1e-7)) # 0.21067644264 [64-bit, lynne] ##{ ## additional stuff for diagnosing Nelder-Mead problems. library(optimx) fm5d <- update(fm5,control=lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B"))) fm5e <- update(fm5, control=lmerControl(optimizer="nloptwrap")) mList <- setNames(list(fm4,fm4b,fm4c,fm5,fm5b,fm5c,fm5d,fm5e), c("NM/uselast","NM/uselast/norestart","bobyqa/uselast", "NM","NM/norestart","bobyqa","LBFGSB","nloptr/bobyqa")) pp <- profile(fm5c,which=1) dd <- as.data.frame(pp) par(las=1,bty="l") v <- sapply(mList, function(x) sqrt(VarCorr(x)[[1]])) plot(.zeta^2~.sig01, data=dd, type="b") abline(v=v) res <- cbind(VCorr = sapply(mList, function(x) sqrt(VarCorr(x)[[1]])), theta = sapply(mList, getME,"theta"), loglik = sapply(mList, logLik)) res print(sessionInfo(), locale=FALSE) ##} ###################### library(lattice) ## testing boundary and near-boundary cases tmpf <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10))) d$y <- simulate(~x+(1|f),family=gaussian,newdata=d, newparams=list(theta=0.01,beta=c(1,1),sigma=5))[[1]] lmer(y~x+(1|f),data=d,...) } sumf <- function(m) { unlist(VarCorr(m))[1] } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf) # [FIXME tons of messages "theta parameters vector not named"] ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary which(log(ss)<(-40)) ## 5, 7-13, 15, 21, ... ## values close to boundary (if check.edge not set) which(log(ss)>(-40) & log(ss) <(-20)) ## 16, 44, 80, 86, 116, ... } ## diagnostic plot tmpplot <- function(i, FUN=tmpf) { dd <- FUN(i, devFunOnly=TRUE) x <- 10^seq(-10,-6.5,length=201) dvec <- sapply(x,dd) op <- par(las=1,bty="l"); on.exit(par(op)) plot(x,dvec-min(dvec)+1e-16, log="xy", type="b") r <- FUN(i) abline(v = getME(r,"theta"), col=2) invisible(r) } ## Case #1: boundary estimate with or without boundary.tol m5 <- tmpf(5) m5B <- tmpf(5,control=lmerControl(boundary.tol=0)) stopifnot(getME(m5, "theta")==0, getME(m5B,"theta")==0) p5 <- profile(m5) ## bobyqa warnings but results look reasonable xyplot(p5) ## reveals slight glitch (bottom row of plots doesn't look right) expect_warning(splom(p5),"unreliable for singular fits") p5B <- profile(m5, signames=FALSE) # -> bobyqa convergence warning (code 3) expect_warning(splom(p5B), "unreliable for singular fits") if(lme4:::testLevel() >= 2) { ## avoid failure to warn ## Case #2: near-boundary estimate, but boundary.tol can't fix it m16 <- tmpplot(16) ## sometimes[2014-11-11] fails (??) : p16 <- profile(m16) ## warning message*s* (non-monotonic profile and more) plotOb <- xyplot(p16) ## NB: It's the print()ing of 'plotOb' which warns ==> need to do this explicitly: expect_warning(print(plotOb), ## warns about linear interpolation in profile for variable 1 "using linear interpolation") d16 <- as.data.frame(p16) xyplot(.zeta ~ .focal|.par, data=d16, type=c("p","l"), scales = list(x=list(relation="free"))) try(splom(p16)) ## breaks when calling predict(.) } ## bottom line: ## * xyplot.thpr could still be improved ## * most of the near-boundary cases are noisy and can't easily be ## fixed tmpf2 <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] glmer(y~x+(1|f),data=d,family=binomial,weights=w,...) } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf2) ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary head(which(log(ss)<(-50))) ## 1-5, 7 ... ## values close to boundary (if check.edge not set) which(log(ss)>(-50) & log(ss) <(-20)) ## 44, 46, 52, ... } ## m1 <- tmpf2(1) ## FIXME: doesn't work if we generate m1 via tmpf2(1) -- ## some environment lookup problem ... set.seed(1) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] m1 <- glmer(y~x+(1|f),data=d,family=binomial,weights=w) p1 <- profile(m1) xyplot(p1) expect_warning(splom(p1),"splom is unreliable") lme4/tests/lme-tst-fits.rda0000644000176200001440000042564112360034023015302 0ustar liggesusers=|E{^PH[`Pn RC n\B{7TT4go+**6)(J33{%_&;7{o޼yS|rEIvE6qV. o*p..Ur{崃QSu;9KJ*]O1ӋVO0'?t׊eȟV\T~X0ʧ̚)SLRs}ހ7P'9`7A4IY2RJQ@ukf9 g|D:)=@S݁.婞8.ʚQgwW*5^&UvwۏRZ]UЌZPi N@$B;6%;έ n_xhra*" ]mH æ.*Ȓ-jif(3+QH&&Q6Hq*)D5IQZ oC;1 ID;7X:#; ݈Ry%F抂Ot͘r M7Uh'>RH1<6NtQ> 5c2VKD|iH(cU2`XSGG!E0&ҪgP@y[Tټ>~e^"R;NL̺_UbTR:0lrQŅRStNzW;k h\v7(ˋsyx;=N|_岃 W!PP#bPExA*|e@%Vcպt\^% 93~XV D={Z(QάeVW^SDF&~8t~ %%rxS̄HUؔk!J < P޵J4tb!rrtr(PC3Kdtkh TL^_I @q|b V>&E*;|x'4rL{d:aFA}&4bȵFk*D Z5ENH:a+_Vz_!EsU2#̮=Ձ99r~.=eu@1RE#OɌtrQ{T$c\$qړP7@7M'd,0Cvj~6~pjY\N#C cD|v9ngEiH΂%~Ѳ1QMʏ K~>a4{SSGI2Y@JԪ [dTˏ[ʨ f Ye8c֊T[`@P׉WKt24?*cN`!TI8ހ lxÛX;3/7(? 7Ef;$x'-EA[ŶOM*hf bhRY0G_3a/ C^ ` o  ~1%w"*->uX(BiQ[ ?\ h:#}-k/rtWK)f͚xqd`MĢmur]DE0#q'D{@;H'DI]U`T2+5x4Y9e'.3Ay{Q0%1tA!y\n_"y*mtekdRً|e;qE$ y ?!"EAЏNVKGL֦> ۼU$Lbl-͑ÉE儉`8@[+RR+x~`/xWT,Ȇ 4sVjALGE#$\bqs L8`۝!Xm-0K 4 MWEI: }L>8-Nr t빬P܉HF?^Z$o~b"XT[]jwE;5gYhKσT3tD*l2Gvqzk.[91btڣe=$I(dQwb)Y:;‰V; L2\ ;x=]ZjU#=6U, l#^T< CI|i [ !(syV`e{,kA'*E\4"j#dO@:4{ rXsSE֜?_zNA0: D%#G2|[5OdHR5»ΎF\&dń1$]E`tU:d& g$RK4V=[ÀO Y) 7P)MΠX֨*qN6fH ,M&* `NoCPhBY%r,!mY*Iy--w(B<\#8g!?G6XUT1!hKq$ՀMpIn4VLؑ8aOo eKÈܝJc0WIq<Π9'/s"C8{= V8!hӡ9qR(X,&5Tx ;ż.W7ZE[fOp + m@ᐬoTXo듗ERb//wU)sg͠ у6J\/U^PP @Mr6YWځMA4(O(oI=|7psȻJ]$fFvC:74=;n?TY5DYș<"bslDm"!@/7ʲ*jǪ(Z!¼$ ̀ecmܳdq0™٬"Qь~mlzghia1:NْǢGz.* ѐ,ƴ A͞!%^[ WC­ʭa!/*'_ZJq<8]@0hQ;3ՙf;2K|w|1d0k Kí(QGt++V9tw"^˽)ʹn"a:A7pdݨ3e=<.%Ai_Cs@JR/)ﴒUVrŽ'|"a^=@^i|j%s} dˆdg.b`1}x7, 1䢦}zF44WstM}Ś&CM,H&QEΚ0|!9NHj-\ ZWt۬C= e=L[9jUd OxhԒy g1ƝxL;#>. U}(VyL/IxMzSN@=Ty #l ߌJrV]"kdSHuzJa%4j>ա%EF"VwȐbu7+IJepds;qOۈ_Rܘ̚0̗].aRP_ ]R먻swdgm,vxɂC5ǖiNN~jr]!(r5?}^8`u5&/ #ZPnkE8y9W\/Geig:Ď+X '`#P#;C`F@H΢F{<<l֏b~UqjxNwCSdS67= b=ވSUpR"]m4G/.I2us np-.?qw?XTj1TvTps]CɩWi>)[5 !9 L&59>H֨'I\7HWXd`;$R D)38dȫ$D:xaa?,@5'qjvFNjE #Y+8裲6<3#YH:n@i|KLY=(nGS:}tR~x4s43C/=HnrQ qp?Bv&4zua|_R)ɤfy5 J|:)1r%AqMt""mЀ' t@P:`d̪ߒ j/lm93a]c2eIWU ,7[h9YH dD/ղJr b?Vʱ`_Ej#7_D;]OUN#խ/ 7&fIvHnYSҕ[:C]g5Eү*>7;fX٘f eIh%@ Y"غZ2˄ E1R830C˨# M R~qnxNCV4F!eʽWd?ZʼD4HS·"Q &ʚvL g)IcQ\XuǢ%CNP$dtCbnFuͯz< GɢZtdjn ;U^B p:p~5UV\Xm+KsU]]7mCe#`lPÚno`6Rv߱jyUK($RM+R/k|mzE~I_lVc:I8L)DuTD#Y,KU/_ %(ck;_ix2h Q[[)E$*0rN" 2xS:jW&a2WxUD9 ɻ.meV]/XxLbXgɪtHMs5׻CD~)rtb젘!,[x[KVASת^AG[d>&`ha1OnC~&;ӄdNFeߣGX>Kbx_% S:QsSmX@h:b9xp#aYM 'CHى*h8`a;THU]@;AUT?^ֈD@bvo e& n)4)jM38Ue_$hU='BM ]c*ZBzԏ@!Q?E{VHŜ;c!|1n֓0Yg?"{8vNFMΨk#lt<η쁀U ITRi5dH=1I5v^)S# )BĕA|x _g(#@}TQ~$1A!$K7caH߱ 3@jV OY!/\nw{ƭ\g0D_ͷN Y*CWg~q.ii`8_yvRRD.R0.gB)f :upanT*DѝJub-' P*'d|JRsL\ 2Gѧwg<AQS(\ޠmFFp8Yt'r~b?&:~]o4W拐^As1F0H+Tj.bszcMcEэQюl_g~!MѱB?3b*] uc`TsLXkŒ,d8ifى5H!hM !ۈdz+e2/RvUKFSea($"^R+MXr# T"ڀd$TSoy\XoTW'vֈWEr|JWu@@! &R `}>oN)kB%%B`<9x:ʌAVYfeV#1q)zC;?@sUӠ,3Đ>*tyi 5D`m@?mjOqzFz sUSD[%Q,*JsB@,$nuxn{?lFm&E#򛭠T -Yp'Q&64ųL5G"2ag[Qֱ,@m 7e֗:)1bҀlQ%u0@#+Y*^ m lp{TM2O*Yk\1F>pϔ ?Ɍg/WxA zUkd݁TϠxx[eJ}v|'`m 8ګգDFE012Wۦt> y)U,ZkX4븡/U k\nFX'q -*66S'vO7qDȃE;dEUZ&Ƈ5S+Eq`]Gy3mt;Vv3]O]<{+@P{O˟$<2$l&БW-J~+Vf{M8"s̟^BA"I!B_lBd޶"D3tǻ^TMpYB'Iq$ mEhJ|Mb dR$I }1 uۤII ]j">Rk½Ć]IaЄ_`r;C^Ksqز2hu@_*YnS=Vsi,}2~-r-v05p}Q)mnU>C|rt70a-a>9̷afhK!ı=bC p(Zτ'}[[?lߝ+y* &ώ׈jx.PVTwA)|`)  #ljjV[0H"XEn:^{/,d!Mu:}brKjNX E _NnuDW@X舼z' T @̐*u'&t3W@ᅫ0Pf M$aqҜwy_sdž1+fZ=@wm`JFgDԚ4¤Mv_dLx̀-#^פz`W"c6%XRIC@JRXh/Q LVʐRo&/NQi/m@H"3T8Yk0ىM 0t*1zxb7`x$Y0&١c"B:cZ&tр/IE˃1=%.5~s$`QL Pi_LE˾mIJ6Y iR$JKLHm*D3q.vGoPdHwbJr%'_L@ +k#/ml?F%hoxWًݵE۝ -[g)WG aL ~fDp|T8AڿUgh hh?QLIVT :^+ocmy5tL4[I`T/&a6+HRk'[^]R|['D"ڟbC.):>&,sy1GuaU- :2 $DLdD3hmš5Je R4BYIlBIs&X``vd3loYAr`WTL9 h*aP BMbߪ-h-WoI@ 0h|A|k I5lD[ q{gV$ AP&IR  !qkd͟DjR$I -$SlVNd&ЖnMa$6cֽln)Emhmٱ6L}LnhҢ-D,3醊ꃴ":AU!_r#u=8daI"$"$Dm+D#<ڡ`Iq'- Nh.IX- a/כj kvOu^}p_n{`' TsDdP؟h6 F\FCܢ*<9Ξ)IdZDjK)w੠eԍT ^E20J"۸ 2ZnyAU)5`#Ӧ'Inb`MTSq۵t^~Pbucn L=zEld)G4NGTj1}6ew0lF2(R2X8V$jNom#prVFQ.k $CV"+KS62X2rɵ.g7x xbV|vSt0P86FJC+h-g`>ک8}b NĢv' y28JD ]۹ۤSe1C~#2+"LrM*'ƽ@2%b7̠diфO7cx|/G/˫aNa=@= Ǫu6 fR#DaL&zat>{&.=fjS)A6IXCQ=Ye;@Sqofh Gz2 н ió&*`c֒Cs pݞ@G; Wy}2MnAP8WrYͺ,"Wr*X2Dk=mz&Փu3I+(rn$*i&82w2 'ֳַ{I+kZ-|b?F䈉ryM1't0Nzp~&/,kru^iWEr%U`/Dΰ21| uRY!5=8SD5cr- iTl,<0n($4 h2A\Ne KŦOBְVcg9@(M8,Rgn(]YZf㺟+{ь}]`2<2MjV.]\/Tti+kю&N2;qrpbv%Kjʅe3=݅7B8ŏn/G~Mp{™T&Լ· //ɏ\6O8{뀰U[ck+;SB _ܱge]Aqg 5pT^s`>c_RXvʠ ǜǍ~y7ʟAS?hOlZ8qK/S UM8!ŷ}D2;|enSrK{PɽZ~ؓ}/!طuK ',~ݛ µ8Wߝ춅j ^t…?$~ŠQI? U՗\>eyn)8ns|I׬xUpn)K^}y; g;0U8q|Iaa,;i#}qӲ̿op|pPzw;쟼=O'U?yPwM;g(8TL.eWV,zS0e`$ɔhꯈ&|%NӨT}!ySׁzeV)+ ȿWGX\9Dw\)= WR}/GDB*|^p>n\ΉWp._oo]y/ x*Q;;˿ӹ7#< CFxCx.7a9~)[U GΒWzO|QtD'DQV)Sڻd#n|>sas]U޴hWc?gF GuW7fBWXpm/L̸s }OB}|RNDžЍCƿrh S^v opگ E Y&5 uno }Ɠ\0g׿áA}q,*?jB/=˧o,p'P-٫>p$Pm r?l l>:tPMgYrAC-xAu?㵎n͡?O7h2׸ _w4Q(h~P!=]&;ׇ2~4$Lb=^9F^+`б'=G]޼-P9}>s>MYuqHk\g۾jhō0;Þ~"as-)yNg .ZՓBixiN͞ x#dm飲¨"Z|'- 3!Z>eL#9ʄC])2ѡRP^D(-d9n|x/f`8Zv9t&%I'z&›zrI)äpǵmeP+r CatYN뻄%5NVx3ZlD|չ4Ad"LV%C <bPřCLEWuMz?ć F m@ڜ/$m)ihJV,)2`XJ#D3}R7Nửxsv;e!R"frn+vy^ɺ}+mjܱQi 1⛌G7TTh(B\I,5tB-«ڠN[4Es?H*š¢ Bt%Jz\@7;@~S %tS]Ou ~ Nb*x,'Mwqsss)P-㔱Lv9ud%),a_C p82 2aJ'!̣ZXtB䢲08OhT>Y.] GWyTGX6^zKoZTCGQ84xR0Dx1>I"‰ˈˈˈˈˈˈˈ@3x Ÿqp)qtqviqNcry+Q|L񍈊.p({xQ=3ua&0NnL$F==#aLPZmWBB We/!Kґ PPPT­%8A QrLeYG*R &&32*\u)\?n r * n8pP.B޲S\1rp2 ȍ@ 9xVAi&KE C2\p'";nw!Gvz"w8p=((tGif PF,,0H 拢 oʼnJF2m44Zh2A/!~o%}A]k\+f/w~k@A6BH!#i\:D۞-%O"6""BN 2 eZ3GPGhszO#uE!eQ (}#GSM5b4Ո1F6bc6" SdpF d v}~Dd\JdR)-ס }3z߂޷6qzKB P^9+R.v(hML_ޙSwUʞj#x*_cF_K^),[Ko)mV-a l|k`|0brCjP$7 ysW[ a`HմţThU"["l(?ExJ tA@0hJ.QyX:*]b]2"a]XSqy2ДVVQFϟAH*J!;jmLGen=ƖD50#`.[iB!#GI˕3adp'bbB>Bשx>Vv1, nfcKFjD`:ׄwP,1t|\F2]6OJ*ԚN$F1=`ȑ@l} ( S-N0vl&X* w"TlC;6 g51dL;d_;f6P*[J&T O8 `m2Hv IZ9Z[iJȗtXI׈tXH׈4k[k:KZ,\0ms c J_[7'LO<\k"m :<Дc[ZAQi~6KZ׈1)_]xoFxƶ'DMW F.rpA7==ᱻ>x畡#+`F]5( y+wq0SWw/ݦӮoB1qqB鯜Pڲ'Bt?>c`qq,rK'[׾9c祦u>7aq_tsM͆^ (n?}sw!ˮ'O_.vKC8QC[_X֮n}k0$ʼnW-9g )?#W\(v:9=zmӎeۖv 뤋#=g,Y*^wSlPCk^_n𓵟F4(97T-uF^zvovvNͽJ>_ uze4P7_RGB%]ߟrAf; KnK9B378vЀ?fPvTskpQZ; ?V[J?{ؠ7X!=;4W.= ڂY&742O,(Yfdfte0!JXIRFk&Vz=sn QK %2ѢIQ3DuS,0\3M}M4+-E#vd::EwDR| )qgTlR,Qu5pA8)q%Qd#p\3. :g#2X. )o?\j= pu2s ˴S# pCRt/01?w@j/$%Ke./& py402L2hB9?4K )?B,~h? ;?;8?wJ唿?w p^`#] piC~4߃wWZ]B$*!c!P(,&/v@1s2A  F[֭9ykX^NނmPI] ܩpw1pw%pWwp7w p_}=#IYB+F]>c> -pp=Or @t `p `B `hKGYk65[ses2{k|V'7DY-pdb!)N;N~˻o`iyQE?sUy2H@YLE*?OGߢ@`^fAV;K(6g-Ot +, J$055C<kKkx&D 6^ '^0/)H"bMJNOkK,}Ԣ((*F~oi rF+ >OiG2[NڨO0T _m/p/dH$_F?A]8m/ OPTʡDK*j^LsH'ɗ̈́'N|cKJqDZnEȗ[ _Ɗ5'2|%_Ɠg/ Zx!{Xw?~??W^l"֞Kٞ9=k/ڵwBg?F rOd˘{;3R-G4Jn9OSm{ԝi_ī|;Ã74|w?ƚ?z I/O/ 9H|資Hű֫pϣ32wG6?B,q+C1 3>ͅ'z18.9{ϝ3)r|* 2IGg4؞_|7?oiWq[w4S^ G3RcޣԓV(=kwm9d£+i{w߇?fp 5ozKEoԥSldl5r[ۓ{c tN9;^*a80|wzʾ;\/{~%2r6ʗi1>/Ys[K\a!eK:x^[LH>s2npT8~nX~ODa'O7 '2a IWquk+ʵ#WjĀ: OV>̢P[v']&742OėԌ`\^'M,mAĄ˔Hs #>]$$zq!\&iГg<\$<;LRg 9kl%,Ӏ!vW}.!ux2U;SUb(X&0r;0`tRḩ.xPYUcgl{Ot )w|`+,7GNtCWz^:rκ V! h%]ϟw}yg| C>q~\;}Qm::&gW+~)] -˪~,Mڡ˸oַ C_xŘ=!ےs.c+:}55BjΚPhsܣn:XmiPNx9BsF̒u>{79՟;U ?Yy{aJ͍¸nsC%Rm%n?kfml;y]d?Pw\6xM_ONN ~z+Owx,T+d kf޾S0[oY#_>}|acg o6 eG<Yqc xE oCoS=7ԧg f]?_>g(' $> hD?QH'hDv=}w[}>wT-}|ppDo_V֊ 7$Z; pOv%6~ykiO™p=I>O짵Vu$VZZI$*\'1DXIvGb?I>ϓ(Gk3QzI>ZlOkX[oc3Qimէ! o|DEs89N3eGΔ8=OO(O#IDy OOk?Zۗhp'<>- hp'<>- $'ۗ𵕧⹵M?֎D'o=c|6~ykiO™p=I>O짵Vu$VZZI$*\'1D~5Q$>Iy|DG.>C$ >|ߧV>' >$߂DigmOkC< W=Fw(j:'UrtތZ)_i& a)UvxGI9#,JTTZ-:UU#^s9\~E_.*6+Є @,7q[~a!~iwɶ?{E3oTHƍdingyEI̔8B@ȻռS Z *)8 "=~Tu d&j𡣗=0V;1 NaӗBNdu3MOqŪ߻O=aw0s 3f4}랫Up\]&8=j`y*vaN),4= 1#,yw+T| |H~gw‚ٯ_tӕ׾0G?JlŸ<}ʓW '|}`#:o.KB Μ¼ny0dOe+ 'qTX콏WT!,JYմg~{z^-,{cƓї’/7 +?{{Q}FabK5MX &띚}{yo]",NwM`?.}^aE}t{g˼<3w)y pn5;:1󲿅zaa?&-8 -^QX}cW ;w-;uPU׿ vO9Z8Ж@`qWm|;0=T>7ǝ@?]0SqKKleuߵ.ca_{?El9r&Î˷"jp#!?97Pa3SV]&\o8|㦱 v W9Q]ٯ7H!s#,]/pM{{7{7 a4P#!|`Aa@"?_H|:7n40KC:~QT n,Lb3s c'&WN; 8j?w1Cӆw4߃wWPּ9IAtB| e1P& w? d:e A^-Eۀ^¹s*AVS;?.b.J:nn{G[ܓ= ܳ{W{ ܻ}}m['~n'p{ ܟ / '{ǖL4x$+ Sא>cb{&Ódx2< OT܅&嬞4Vq,1MVcNitPq<"NNҐ '$H89Eyᄣ*PCbCE*PɆJ7TN '<'+p 'PqZ8م 4I*TN(B 'p2:'pB l8?hI#AN *p'P8Y释84I;TNb'p t8IHI\NVIÂ$n[ȫ &|#&߭F@A˔Xcխ}9EwPk[kEaQWXe]S=5q\^Oԋ]y0)k ;ȟEYd>Cw7b ;k& 2:Q *tQDlN]Bee`NiRC7CpV,cay \v=KXc|AX|4)B|mۯ '9q-w_wGs]p n}3m r_kP)'}YhwLjҲ: ;Lx; \[ |t͖ nv Y,npqwͼŠ ,1.GsξnK[zj" ;*!@'Zn-]T#N)˩ccm_雙0+שx?~A;w@ \珄K G@o -MJxW#*5:J[PpNYpN݈!ri3nKy&&h42Ogq$2V<Oʤ$U%M3_(`E Kx*21Fr!6} gl]`ӤY ԑFVKMQQu^bl;oQ4VjN k5:fLRŅތ'eS* %ͨ5٢S7~#̌l*?ǓREH'~$7{-Oe3WG.C=Ĉ~ahU_/u ONJYpݭDKW6Z{3pU ".¸5R!)FIxC>cԫO ЫqỶJWQċMSK[57Ɠpyjiĵ.јՔ.RsZ% wXty=j}5FVYb\=ڋ>i|^A?7$h]5PDdWG-!1nKiZBDZN(&~aIt=I2uJu&w:aI) \M";Yb &U.4R $"²rB Ȯs`.VxVl//<Г$_tWesL/*_ݎ&Lמ'$9&;Nv w,!(kҳ .]ݮ>DrVȚDi+d)t1a$d(h_ G[r|tz0?Q3& Iz(3H+J7ȳ=Î{$~ޥq~ pnx-@ R.xTN.B V^OWG(&N礇j=$)$Qtb :;9`[U&@J ҟBHҋB<2Uf; xˣ\6XӴGE& i`H\U@t%A7uy7xRA0?Fze_ LY8w"*k\?hi˴e>8܁WEWPF0͞gbTT(.pD l& :ϕR#dA 83(̓0tL{]&FIX%iY {Q۱("2 :"42lXQ[%qhe"{Q&}zܤZ4:Y6gG P&g~0!Jv0O} /}1Ms'7K_h,-'t.'3Ak{JjrHܛ"y\CpKW}.!ux'Sx-hnBdF|濉+?z"Ŀ{ _Ӥ K'tvd!±hTє( ;iD@$8\q(ƥEJ;(Fθ0fljQTW=aa.#Ґ=&X*SxfR;Q8۔;r ͠J#,~LzcY&v&21޴,Up8ǀӥeAwչ1"/ :>4[kW/Jn4Z绪U.?Tx]ҚWB,h,_lAzl6*4 Jחv!_L{ȻJ]X+0Z ' xdd;Vmɉw2btY-潘(2e-CO6`ێU.kdl͜V{pUr-ѨXH2w+,ǩ @licq*eѺ3Sq!'# 饪")%^qV [ƵdṁZ($#M klW8] 2 9˕ވfנ>/&JgcB=QПZ ^k!J(:pGH\tl"fSxJxDCnKHȌeRj]exZ>W BJј&ingyEIB@Z(VU?{2/KÕ܉T:͔FjWgx4sڕ Wlđr& aLq9Ӝ9䊰@e4Ǭ,Ix]$&mZqQ63cTHRg ܐ&a;)0:D+,"}@tjr&wt4u++W="Z0KN@WSFqڊ؋I3M, ϯs) >?=<>7C3P3 ցj:P^0HgIXisfIreTXI7FXЍFYs³p3kan/WQI|yY{I=LE}e `"A6'ⱻ̺l@3P)[$opA"-lzVBӂt5I{ Dg6DŽsy k8>'_ooŢB~2:7.tmaAQ6Ȍ7˛AWZ P<5ɛjZ>% 'n{\ȈnC'7?P.,ܱHݧr(7a@nTL)0 I eoBwF(]qfÈ0qE a7%op7&HgEIGWh6zX]fbK̴Gp~Gped1،';vɴ )ȩhb~" hv=xخre&7ҢR[ka 1`QQ6{@/)V@u*:\@a-V)c*(Z`8T"6Yݱ^-+.n6qYt!,uB"U(;[tJnu$De%+ N )Wq7dC>'P Gv 1~Q x@ݓcYHuaf1N, u;Nd6ѡ=<_ 14n* u1,0aIAia- x['Q>d3j4[lywŪtz7ȐhEhb:PwІ13=y:KILC,I2$E'ۥ%X^\_eH7C[V,&E]xB$C[],fyAGHyтlN=j p/Qn_bIx™EU-sׁzir; rY&\r?`#xV.Fߧϖ>|g&OE?Uۤ|J~'w[|@>,n]P K|҄=7DFtQZ7) :J'l%}  &s :&Ee 't:Fae\*/'oZJNѷ|hwr>*#\R*WjrȚE;?},yݸ1vpah!'477UrGe]}ڤT1|ظ|9`=twm3Wk+0l# 6gyA`7ϡL^me>7Ǭ <$0  x4!1;G¶m( 6,  of/x5^ܺ J^VU/KCqp4/E7CּRW񠋲a"kx {B4:э7y"÷\Cs`P\}pQ9:Rx~cncPL$_D]d4/uOUZxC,kIQ.^Hd#r!XYA}3|DECF%zgMri!ɥD'`Nkẙ|qVE2iyˇapݸk7^Og?m,tv}o3?ԥlgqیy!^v#xk_n_ϝ/=qsN4.|R߲}2lب_|yrsgg잻pmק].%^]sWxw;}~i|,KGظ˩w-r6>kѲOl֑m8o=˾Owx*]'=>܊ПSѶokssmGܳ~AƟ+^ʶc3 b{陳wո}liy{g?n~KIoܙ#;uXa[sW s9G<(ظφ^~/.U_,2ni0e]qhZ`6fWFV0kS`$5C+zw袿0ì9̸Q- #yJ_aMaE]S&K^XǶ8Aɴ% W0ZV ?q1'کG6pBRF 2|]{$z*|8.C۝*o zF<.8=.G>ڠ^=zP1|Gb80pJ{CL7/b9}ۛG}JmOi/wǛ~?䛗|#e lxy f}vs71Ƕێ_y}^YnaSo۳r[&z:Mߘl;i{Wö?}?mӯضwC-w={ZUC!턬7֟gض~4MXpo{7WtSޙ._-T~߻.aw묿g0܏x鶟'[l?{݀f끟Smco{mUms9vZw]߮m?|Ʒ~Q9;oxvǺ,n&Ǹ\t9>k0#M^⨱{e(ZSt^:o/tp*lk~aW}y%g<5|i%JL&\LmRG<)O&ı*dy8=U(ȢeI" 4Tz5|Wl8udJU9N:SN骁||ĵAC"ATȡgX>`T`7&rf]s+g랿upY2Y- u#A3Z2^mݵH22eDG Xh=O*x;@A@Q@@$K% $~.(`xX,U%[8ARz#qC3y-5:[@x%# JD#iQiqi"‰sWcG y(ppiw`6mK#^5Oa|1rJF*ﰡKIKވ+r~%UڧG8D^M%= Pk:*sPц}-iDڙHoE5e,T4 I4@E=!,\pbCѻzú~A"T7 ڧ5Gl>X׭ h+Vm~Q[m.yN Z^dzbx@]鶴]֭_VJhF7f-:5tڕe㛆 Lj:9%C2][ojD&r{QRr+][ߞwl6Z†*yCJVX~;Fb@#kEcOVdPPaPx*Za6`+liȶYr"LHǰj +jd׌c`+Hb\]'=CŸJ8uhҊ(u?+UkACzdUPB M 3i$r0#OXb̀.|K?6XP #w*47`ACݵ~ڔ]1)PfJqP?AG++$ڮu@&N@} =Lv4:yAǣ3 (x~Q{.9s[S>KN|4?&',#my<*y8y <</e; y:!z=%^y[Q>kf>ű ~tvt{DwRW>^L Oۥ?A` wUVswQXW'-q:Dk]xn֊ȶYYH k;Gcwd< ?42g`:kuq8h?D]3$í4]qV䒇[[Víímp|t'uU9Yӫ ʥ5U=U9xZ(mW>VZ kee+۶NzpZOnUAcn =M=6u=0goO~ɮKYy/4|oo4{GnX_';vko2W/lR; Ϭr߼goZ0֋s[p9Fou?v.}-)c4RxZpGH5G3zґ0e̗a})뾃Q~X/飘 {FNGDa3axL"/7UHO7ϡaEʼ7z9Nt\w֨bQشHg4f2f 1kπg> ?< f; x4!̈́wH akvEs64 1цapLxof;(w [xuKQ!XY#ʙ 1A2@Re{:nG-E|]*]x PcB4#Jh?_ rA#M<5^pբG@C]UG7}LDUec* $<26K~8e#/iJUƀʯ(9ҋetTcY!fHt*I_P U z1f˩b$JG}:sD*m$,tyM$$,gMB&*uK:/ ;,.'80BsxE 7,aC$H)pAzJ6Vz- dY^Lp ?.S 0-=*2iHCPH[ º<+}Px(ZS|t֒尻u/f3a9GG5g.K)v:Hf@y~`zdsˋQG iad2{7cm#<-UX[S?Ti89UR?OL꽾Pa2KJY@˖ Ys%1A3pdܖ/-59d5vO.PuB>S U';b@Fqٙ2kY#x/A 4Zh B~#Ve~0#he4`f\.8s%18q;Z Tg NҜ@nTULDdg WGIK&.:íaJw"&mX:"5*XbV7P-+T:Tsb6>qdðteD9 jLZw9c\UR'*Y*htHZCR;V,M_]h[l::0z c=]j_ SۮXexGsndvx}{y|J u<%fD|"_j#f#D`?JP6M{}ف;)[ yK#I"*wDU`dd&x\btYPrNÝؘDq5]V #3J{9#4㛚 fo[NQ̌ёc1R{pUHhTF: $]aXa8Niʳ)ũ^^ƬtLJ3pcx Ax K)Lh,:wVpbXwR ӘrƤeAFjJ6Y̙ t2Ah(y,!T,;7Ǿn hl`]¨*u}8*cgb(FBXXoD $,ҭȈטYV.16ޤcbDqp!mhc$2\; I<Q#)6p'NJ\s S"a}3~0 yP@S#)Q1=pdqU`R&>cu1^evJ\cMxsoBmLGhD%ntOxB~ZRb%g.D RXAi rHSE4< ٬2dPnUQx$9޺bd6S1Pؐضw!dAs8]j/s )0VnVN684E4,H}3%|NsӃl 9Gܹ42^ݧI'QT<|IpLF0h.Fxtsid ^dtA[b`lPŝۼک;:`2 sp,ܦĚg%[˕zT/+z9PY 0OފExe 2=ʤYe26eE%i{n;hAwjw)$~(pqe7h@q}NEE*d+ ]UP#2}>l?xD(o=ʛi5v_@'^P} @(x_`U+*ň_fZCVLirVPO~涰 ԟa@h7Z`F[dIF°[G[Ш]({= AHwS #ЦC5(դX%ZCqnVk6/j1S؍Sh\~f2X] yqxlh2,[PPtJND0MZ;VثE%\>@)18MKd$ȣT>T}Ѣl>+fn8FWt67_n,(_8 \P @퀛$1D!c8#/AY5vOvggԽmrl L(asm4̜)vrHvv=X2%+D+ca.Z #u RD'.^SL؄_ȋGQW)fm1vT i^&P'a`* ?H濓( Ȳ-2ee+Vu ûEDtx-B?Eѧn3Ms&E=:KjY*GsIdIҋVOO#Տg.JJu׊erPनAb4xfFn$c*qI0R>7IJ%YO0)0gR: zQ\?3 ;C7"=1>.HA=ci"l-M;&- #'YӬ@4xb$"Qdqs"pI [͸M ڦp tq>͆":frBrR EQBe`R#HBM EeE!3qD1,i zqPaEFTSМHf)ߤqqJyP#Y>nth%m\C985|]BnTYBeodcZ.n:?{U}Yc շ0g?vSOvp{_6^ڔKwO9鼮N" e޳g}GÏzrQ_- wenum(o'Җ4i缜땫|vxKw!tnBA>a`e;RߩOv0ϗM}T]woGߕʻE㶞8I=.WP1P0lS篿~Ts^)gMc?!ny}0{-H-ҿF2q_2 ˲B=,˚^ee)#\.-K1<|ZVc]/OAiRqyt=\RCoZbxh|+˻I7Z~i* ?OfCkJ;TrV¥P.riK\`(MRSAB޿\=%S=e3{Fb(=cZ<\+W)ʎ*Ti3_l!wR TGAp9K?YPh+UɶCV5\õjViPCX=:BȽ2\gv>LrcZ@*0  `AW)}#ߙRTBT| WP<FV4Z2I V`_SXt9h. S*V zPbq2nC Ɂ ,z(M&&U.P`^<.1<89|n~/e?NXw7_q׍5=}vE~ 3/h\vŚž k݆ m?l}{M\>Ofc6}zG>dz]|=#wة]}lOpϹ^I}L31kGjOYI +q:""kq)fbS\EU]kWbD̀=W*Sќ*Fw8-`qߘ=V)ZѸ-_[4,-;pG <_7Ud%uY6kl)TV=eYߤ MWNC&a96JL ff L\\mW6K,F:yS<q)mo+%-eKu<"IKwb/6𥣄fP&$]-‚\r2 |j&vl ؿ椗ot'dv~En8l; NF۶zkrfv߼xrێy>֎MO֫=DFK#Ġǡ *1M?-FGx9/Ј zʃ<حaZbNSmM} q7}9Z K)=l؜eB³m~sR=%[l>cMw6 is?m*8gϜ3O}!Xs~_sW3;pHᇃUa> }ed= 7ͤʗT"YmSgmU]tݶ_r=P;PT ٩mplm;?^+nSR~tve\>OS;7~x_}m-8keqk ww/ھys7ڶy)!x˖mK֜ >NNOdO~⡍wC CRl$; QKCp5!).AxdbƂ5f:!CسVwP?@8 :q ~"l#=_n6aW$dcMqbe1Hi1M!u(aIzVVVu_+(rOt5;3ޓQ;0{`ۏfq\vkMD !/" zD!k-&=jC ތϡV?C{ zޛ%Dod&IEa@{ 1cbi,BNo~E "=lA0V[yT,zXSO[xo(7 cOX}#(7Z)u(u(u(u(u(u(u(u(u(u(u*u*u*u*u*u*u*u*u*u*u)u)u)u)u)u)u)u)u)u)uP1BcRJ#Fr ; t֐jTT˨q>RRö́ it?gPe~ Fs2Mh|2AϢEy |9²02 !\*X6W]zFa]8(@z7Wxx(+&w/y7"zoI 1oz8MòXJ.TXQ9rD0]'`z%SR>O=:< ?0hhB#aa<'p`̯of{q=/w۩#-JWNO_8#oZ>ݸ1'>_c|AOWg<ռbj4&1pzMSpX!ť3Tڜ`F"N$15[=d.owޖ^8|·?l gpEM,j?3f]}D_/"PiAЙQ^*ĽuW-`W|6|^7FYoyxzJ_WuFRbfW ,#_^FF|9h,g7<a F9L&2Ӈw.Ktnk_ / *gGg4k3Gr3t𘵁g3x841;i&Cbw^u!l نPh08k&b_3%YhbcE^{jhf,ssO_">.ہ& >{Lk.zU:|9 Sq>::1Nx1zP]t<!IuQ 2T~e2'% 'cCf$Ջ.g?X קos֮Aa.G7ٚ]nۮ!#sᕧ=0t-_U}5^ho==qgYW}U_.;v7ͿqoGE_i_gtϖ-=W\q?ʇ{SSd#_d?HۧOۿƝݾn8l¦kztvmζ68a+m[ク=m_~ү,lܖwMhwo7/׮C>҅i}pL7ض[{ !gs߲VvmslW[KkS/;SֿKaIיy72o5mmOj˫yXg?t鎵[7~'drw5nꪳo{EpDžWYm4ףv\Ѹm; ZEaG++}zVAOV(fha"lv21L{  /I9Ș'›s9bNpZ,\*O"ݫ.w4rTEZ/)7c>d3IY?5(%a')°C-v x`H">.<%+a%4紽0}϶Y+_0؞m;rs?G nSm!N؞>^JFw>z8^>AEBQ}(Օw7jz+OR_]7𗬵||4|_kS>wm wHGo"ɁB=s}JfdJVUVl8%{FvŠ4R[ɦCg 6y'-޹w6t,=ꗑ_ '=t-u2vPw e^pᖊ_gn+>7- 5,ִP˜=<-y{k;rgYǎ}/Zeʬ?'o{rOBwwO}mKC*Msߪ1+VzGlgϿGB.:Pf0+*r;xNQP$iU!c=V˜C`VW?_J'zޘ{Kl*D r{|]{$z*|8.C۝*o zO y]Lqz\>.}A<{$.~c2Hp`|(7ޙo_~s MZ;>x1= |Q2ۯy}So>}Z`ϝ˶rE'O˶4su{_ןWl{޸+mOlOfnj;m?.arǕ>Զ'gJm{-μUv,鰱-}C}A]ם%g̋m>$曽mu[>g?}ᡶo?ϒ%XPe/¤ST2{堬.|~/:aP[rE7%olc/"5/އ|1-b[ēě^UlO 2!U]30Ft֪^l?*FAtVNq| [Nf_{!4K;s(2+]ovAY#c@& @RJ/+4tE@? ?ɟMG2PxoA, &@NOD];oϩ!P: aD&6vC6@흄ʤaße@{p yTv??*;L3ʁf0J!(ݑBܡ(mzCi#v'pfx?\*Ce@eD8C} av8qtl}:5'!LFSP}x@cQڙ(,"lfJ3; CO Q!< 2Զ~ ^`.ё^HaŜ!ze-ATYEXl/p> ? I4DzdmzYqoEm5G]Xm,:ǪM .mOכM?G"Tzay:i-t|6t|&:ͬ}G.0+i8NվL-|s8u/r=ojnhNg(<̼\^_J9+ f z{1t9\T2)F^"0|]זτΤIoOiȼmEuvaY9r$J=I h3Qay^8u{3(G#0Μj]t|7m;Go0_wmжHʅD{̫}p/p/BB_9ߒ&-=P#R;JA?Π\ZC#F3TDJH:TdEUͺ 5giy}@kP2ϸkQŌ_j—.YP騺c&G7Aԇ!r9!cqF''20j{.q_Dn"ER/ w2_1qjPH̀H` O7vWDx a[9]ߒɢY:u.ob+_FFAPpQdgÈb/QID9AO %ub 7FB<$*Did3zpm3:ta&=uf% 'aϭ 1 ]ꅼzί'lΗuk=c5Oa|1jF*{j7$"+:Z6_, cz8"S:魨\zxM|`'кN][][t\ڪ*Mqvmƣn Zu0S륋:Z 7 +"+*&J2D4\?dƊݬDk5'U9}Ll$,N9 7dCi$>3:F+9 ,mG:r-n]V HlW9ec+xk5[I/01dckXfAtcY?O!?S jO8]~w ,N)zn{j{oqxA>\O݊0W'u hX}qOכm2Յi?Id$˰\"?@x!?>ʒYPTv B";pxIናqnByj#Cy:CQ6b[s˳*!kE v9ߩ{v  oNx`:RqOi:j#ō" d6HHM]?k$VuhMNSiaɩtr*m4$ɩtbLcTESLT <Ō`J<%a&a&axHLdȟL<Rp;J!7+qk?U5X+όȷh{O{l/ BS+;?7}7_ٶ9ϷW^:ޙ}K{i{ngڰh{fEqmܹe7G#}ĤǺo=Og癲WMgKWM{s/yІxgmwEEl/9>=p=aMߝGln}sLn{m]9UWY>t Ѷtr*{Nj?G&{m.U8?~?Ble3*mlOŶ^wvӪW_1S۫m,̽*5\ș/?tս>önE?s?9p'5uI6uYNxԛ%0WL\u'f'G>wyڐa{_wöXw3?sJ>;tvׁϹ}l7xZ~fiϺ2/t ÖY}o1V\Sҳ\߃nzLy='QWҠLv+(Žto~]܊hvapi;5Q]AGYJDI0Ғ&~E'B PD@m I#f2˴u,I\x<ѤoÜ{==UjB:̗ <(ƎYX?Hz>'9 #@{0&&ҴcB7S>QӬթTqydQM 1(a`8$`-f& mSfC HA39H!9) B1DH;jRLjdI"RI( z&(25<01A/0J5 ȨjSL"T#.B)JY`DSyHNQD$'q9(!Oz'xM뺌MrX+fYH@hRӿo"o枝VN ؠc28;B :hK)PJPZ(P6{W~'u;/ $·N齧ߜ/-?kˌWLJ@,W1zֈ#+?fYeyJ"'-S"ݩy_'Ey/2/F<\E<u%]i ٱke ĪOhMŕ3g^=tRSOB~W_[ӮbԠ}fM} bn+~ktāBW}utw77#:x/v/|TkCcCJ)؇N~k U,҂.2zZ^?KLH|￾M-}+Kҕ4(ԵE%??M#Q$?u\]/OkyAOޏ|G^zoZ:업G5V~3cZVծPu\YOt- asT{:tR=mԈq5,'HOtuXN&w<8{92$v-v1Kf@"KJ 6?,C{^e ]Ls^T)"V X^ u:$",0XD' h.\0F«繸"j#:VPq}1 Ek07Hz\?\ n_8rk)q|KYXe,h~ !1 .IQyI0ܛN`^6We8BfNoMUH~5S.>'fF[2;<@^>bR'a' FDE, Pq^)d֐%3ՠF&5%[_"tMnp%ǖk#^f==+(wρ(||t+:blr~xܼ_"ynP ÞpH쩁=5FihuX_8`}"CwDn](7<&;1Nyec@/eZ` CBE!Uߌ@yqtb$|o E"O" <(aBp$p Ԃy)m0=% p8epM^:& 5_oV1T̳G!aϑw!eDWs[r1F ^<.j9c _mS{}kOdĞ?]eٲy3Wy-/}IFZܻNG;DĨ+O62l>xVKŊ6Zbo(hz5#2_͝Yt)X^6hݱk38VcIѬ7]ڄt=.RݸG i;< [ӣntTޭj;4čϟtdyQo6|o0LmI+16LӰbZm NLDxjI8UT61VdhIr6I$թۛ4W-|oq<Q\~N+sci=z^]T5l$F܄mWVё=LQt2f x6oݦ ~KÚG g2|M8BiH4 _HP՘0%٨cOm7IiQ61S.@V0-kqmJ,Q%g"S˪ȌOVYHLa ȲE",y ,D;6a>THz!; )e |kqϒF,D b">{.zffppk̫Vǥ=&*qmLHW8Y%{q+j:R6 aI=?&^BXq -Šî҉}yöoM`XI=ݟ +e~C3 ZGxflVSxP)HF/G1wס;Ft:cZCEjLMwC1BK+IZ_ŕI#ZEڼk;13y0Q?lX ެ$ee!3Nm6NyD&2Py'eQJQ8Ja$6Fy38w#ޯ,l(y&aPbSVlk|-S] ϕc,Q{#=,NhY}_xͧԗrGLR~V`.p&ܣW?_-]0qv)C\ 9SeR2~c/'xU3]ߜ5d ^]LE!#ǀsG'):<{6_Ua@WOo uώ%9odpN ׼&H ?r<1SjD|paؓnXg,(TϾ:zW?,(‡#Z =mqj);dUcxJ(U$ڵTԓnZGS5>ahӴWY gGS~zŁr'z7֭/-]Ehpǻ17/k{85=mֻߩ=֟m;s$8~jposfujW( 8W3#m'O`9U'CMc-Z0XΤ鑽 <϶_b$~]O U8?"ް~>>&ˈܓd㋇++3yx͎30.,g&d, e`dkJX]h/}& U$$ .H^G{X!T^aR+ʪ pf3.WrV;-Y T-g^M+nU鮩KSƠxYcT*RedF5NP'*e!>^IHv#Px qvEn@m'RC*B$8{\%}Qj싼py vf%]됄ƙ = dBIbф?F 7:2F Y|nBO\yY'pA/9YⅦYOe6|Agi>_*9|0*u/vqb/aْ8#fy#+9gVC(n~ K(KF-ɑCqk ?y?d2k_h^`u1(sk$U5f]3C]̸6 CWL7+t&dXƈ[7gxCC5-&y(v.Wv<ʠ2ʼƏ$8vBA=b BtJ9ԚҢBp削X@F)W(ƨWp^x垄MBu V1K9q^:c$Wu%KyB'..$NIC[cDg_jńA#,Idqf8\to1JDG'O4X<h4*?@f?E4$Y+ԪS%*s|WpDaߓa"WPBqho90CۈGHT%MN|m' #=AOZ[!<&S؟2CV>M#W$aaxX:mv}Nډi<iD ĤjK ld v `gc<\tB&2\x(DI|̛q %7ވ-%J&3f3~_ǹkLŦt׹p lN9z[9ˑ)\8||< #:[Bc9,PP,&1" "o1tYC#~i|A}dLYB$iZel޴Ipǒ6%Un #0 k8]*w|ҶEʿ?]9~߶i' y/r]R~e #kdpf}* {:huzB)KKWF]B><,?ӥGC;w[͠jݬ&<6x},ϬuAD ?N(38h9oU+gCSN &ǎ972o|@ UPҢ 5_w@+ߐT _MyKKzICpڟzW;ɹfƖW[~!\ڜkĮ`{/ʨ-?{caEL><8TG<`z[K[ & 47 :m\/R2PnnZf7~ջ}2jm3 +洫b iS4nibeAރ"|ň#C7;s.;&NL{m y|=,FF=^r/-Q_,~XLEIDG(;^tfxMLE8QwL;L0,ʱO `i "%~név`MV-ӜliYg?pp6eG ?L;`wᦇt_&#S0. (X;v1.W!ӧpl XC_wMwϯעeWwpoH#8j'l>\c6Z( Ǧ`i^v$cEsfNJTZ7yⴊll(^3F#rћɩ{8}G+}h"}Ɖ͊]&.-;cLMUMڬۦYQW*jߐLO\;1 [C:Q1?q쬡e Ґgn?}kѭ]9૮ c';tjlzu\ICG+ jʔ ~ZxٛS66x Zx:o%F Ykv_[&h爂FthȑwG 6w~U%/8+}e nll95yD!c) 957e)VA1IB\n}hdxNlK״.4UnhB+ӨL1B3?,rV!ʲLD3[[aȍW<Wf:<c+}ao _]~~/ܾp}S}abYVʳFEA"o+"q8Iҭ1զ 1SGBxX΋g-'В S9U>'+ Nuw}*_2OSNG\7- Gqx:n{v9ޖ gzG17Z[bp߷Ky ֜|nܿ{^qŒv/=W 8$,M~FeX~VBfI9(u2U$SXQ)*T}T3!ч)G$2zx켈Wܕz^8qn&+WRoue+W!2)-@5Wgy]'Qj-T r cbG1U녖[NbMoRNRWBAI>7yQP<UhC#(ƢQ|`Q^W ] [PeP0My*QJ(M rPٕQ*`ܪ(mrQv%pfx_1?ʊ@eD2j D顎偰CST~]zxisk$[z (4Bמ__eCb*Z'*REdvRUUs$ƙR AV)5?7gZA9D)-(E}K- _NNzi+Xo.-_o5<no8̛ۦ6#܉O9Ujux ^z>SЈ̯e/6zx&]pܥw-p"AAZk \>b%!2#r:=S nqqpIlg_ *Qt6$.Y8l!)^[F,hNJq `G&v L>s0Q|"rRˆ޷ʗ0$8ƴJ2fz|P.M;tC+irYtSTFd28[ e pT\'ƒq0aMu/% gu2-8võl, csxڋ2'KQx =(/,pPΉ\KYAP|^C.3(꬈Aucx "}\KN%R]\3r+N+]DpŸ7Zɲk\|(ܓ22mKzUhU;H'`!X1JZ|Q V8q$|XV='noOG=+ƒޅe'A,bHp" H(qH>HT.;'ao~eCxyxtl w;zu[+AuOR>2,W = E^HGdAuaY#>Vpam|(;q(1mp{mI796P [JFw'*URU䧒;)5D;oOһaaaaar00ʁ7*7XNS k/@t#'U 1]ΩۚW>WI"|*j;cĭlbv8ή%]rsYAZgF[rbEzI?'}T4ا}"|n0se?prRqӫX .\\`-M߮CW[wݿ,>st`6 6@ lPgZ i8pcǝ~S~37ϭ ۙ+UJE=lՐɯ|/~-2O×F)q+e`#'3l6s^豮#ǖ vr{g׉6="@މ\Oi: $YV̒:wRoF?V\lip`>`힒fOj9I}\ƕvf i_p:ut&̢=.3KO0YT:Pz;0lXTȸu}Oj0EzEѩP`6<o(zs=;e$lxW2Twʛ"y/?8Y'sT".m//p F!7M1㫇y>~II5n:O0KqnܓQƉr<WJZPb%ω j"7Ry oE(Ԟ[aL. agp_'/SvEGI?$~ 4,_I!P:s[/ߚ2m2wV%Nj`gUe Wc S2 [Uj 8hbF9:0v8M–1x霤kqȪ1;yBuB%rk: ެ!F%$n]%g#6)\0#|%йD7u(n9hM6!z/B_F52$An)ݤCVRw `q &VkHx^9|JuK$k)jD@(P9 %?."=AtFZ!W(Gewx^xH#ޑIIH@wIL9n0<9_.>Zז'A&XtcD)5 )rGV~̲|%khEN6[ESKpO 8+^d'^.y]zWrtB5jפK|ڃkM9e+]9js˪sFaEk}WQ:b? e.|2l~wtd_7=6zjySlP:d}s]Ġ+k۪rG8n]X]ܤI{,{H^;90ï@Fit:;{vk&ݿq&8]Sfв:^BWr+ХO4cmx:`'+ʜK^R+(J:Hݞ]Lͽ{btz7Ԩt'k{7zm* gky7]rz}.еsyt穒4 Еۯ5mM~:AwZ $?LX$.Rmxa"~(]N/K\|YQUSu*܂]72YO뾩ɱrM*yprd2 I[0/b^Dl~=X <4{`h#mˆ|Z9,`yr<$N_p .gKsXn˭c垉zrT*i&sS{e l2*H1d](;F` 65{LKߖįj%?6p7FWlo1PlQS o?Xifڍ# Y}JJK"6o~s=fiSdG9r JΈ{٣ӗO馿䵤ap^ }CKSEܙ=k!W[*rpRgTƐk T͇k2OqQKwZ_/Xi<d&dgWOϾRmT nOjoߡ`˥j?=,GwisdMåw^z^m~KiM_J4yv֮n,x Y.}O.<l~2˿(wвX?Pxqa /wkv|q _ug>Ku%?[-釫뮁Zz~>oi_/j}:iZ?{l 9 N*'yWW ./o*Ӡ9᎝_( A}@w\6N=_pq'Ol 7}6,56aWyS5#G=<\bAu**CG F1BT#.j^R y~F;5~:tsäַK;|y}Gc۰J?<4'T6'J&"b5$*i֘Sc2>I>:ub{S&nb![2?J89e8({VƂ-[$RU٫KѸ;Ĩ J*:7i>Omr3ZH 8~xDqP@yb*܎!Bp2F#EH GDR6@5<:a"7G?.]9UtK"|lk)om )o/6qGw$)KĿH z"HTXDJ,~g5F!!{ Z4yM1GЅ/r\8gr"?rpRayp@ r !Z,PE[ Ђ(ƊAS%[2yd r"rX:[ )ȭ\h1B%!ȭ0L(rÐ\{4K tk &¾݆6OިQ?F·ZS)@Ԧ`{ucHg NA811M[y&bB1G]-}~` ]*o%Fiy;)Sh '~ͳ$mEʪV,E&dGnWJ-_gYUu{5u#G7};)+zW*Feۄ ˘$1UÜw%/0>U9^ uun\Yio6kUbV?hZyntuc|\bm\.w+G6Ơ2J' CCR? M{|rJUQ:DZIԩN!{KWoTw* OP_t}GO-ƽpCMӿV9gKj/io7owcIaՀNDlg/_jݷOn?Xe5ӂ3yOjNzOg'Qxp$v]9 b'*^8ѴׁQ3BvؓF>Sʰ=Vn_^V߯k~mm Q_[.FH+y?hx | :w myrp 4cF֛5M *{YnY-~-d*p4YjYv oڱ]GR_n便s%/R.T@JvT)[`ddH=6ПI~ư YDb{xhi/}fc)ݷ󛗾5"d,5A:s΄qo-lf_9Ț#b x18@&Y*m0tT,>=~d`U22KBU2fZ2+d¨D$#ڐd4>ۭ))b*1:,Fm)c Þe13̜'x':g=?#7`8搶96./zj# +s.du6{VW\u>>edXy F18q|{{rb'\>b{ -?+~dxSoXIJOgS n_j44!aHf݇ (]Z}ג[^6eݛZQu5_(x~bV{BIyלYϹnuO=jbw޾u玲jZjcֽtg_<#Y|ǯVSuuo^{•Y9F/źw,]ݛ!XN˺ J|ͺ:qOإЫӣ%%>a݋G7)&g˵:랮p1atH7f݇ۛiXuoN{}s| fnF-gzdݷ{k?%>|u7{vκ;GhuoNa OֽuحѬ{2gtq6ؠ*$cݛ<=Wup $Dyak}.l₩{w'\װխWu򏢝YJ9߆Ǚv{g_TXgzNh}]E9>zycJNY$beaZUƘ=^'4rU:Iivm,v؂Un*M=.YHpof_JGUgtαږ A-:׊o?z,ZCqƳ}{g4&}pFq3G]9dո=`Kƥ7}(p=޲Ͼy'^>8^QԄ・ЃK+= ^Y'^gޏ |*>{ / -?ɒ%X=1;z[ .080ueUÍ-ypH_λ)slrrip˴]b;_qn5ͨ!AͰ[gvL ^8VuM pH-,G7t=paѢޭ_ ^kfwי .?Ł> =.75ٴ*pow]'11~ 8Mnz n *T8yPN,y@~Zsw/`̃ߴ+ucsp9QA'U mO^u8qB_S?L7ǚ=RoD7چ+~cQ{ۗ2tnInb ޯYo Çjj FD%gm^?ꏽ"{ݴV8i uxVfHܮ'']"[*c<ݰ?oR#tn?w_m7wNXE.}HtߗA:3~s=Dӭ3 hU%Fh)G[Rx2D-\vspxM7fsw%qJ4ݼ/,ph ڲCk;坽vZuJj++Q?K(UZ<1Q&i2xQ vhqZm!3[ҘHo6kXҁ6z49 xL6sISo}#N_>,8mnߡ[|~YxO[ݞ7˗;c:_7;.tX2`a-pHڷGU,= {]6}OAͧ] jc KUi{=/_EsCKpyjS>V}w?\o[N~) XW;<86F9n>Ӣ`!wT7п:lVȳ>UU՚q,x8dDѽCV_ҡjϽyږl),].9.8{6{MsFE'jjϭfӇMx}Yja W^+G#j華kyW,3i>V.zG->uճכ lIM_1XʆC{}I'ZܽdW݊a7~#59 ,x؞i6(y'p vMx(`oKւכSXlzI5_ j<<2N$ө_N ]U6m[ xc,8Wӡ`+-8|)B`&w|vJ w@KuqYVz~|lik-m?>m8gFiԜ&O~uUn+[]ڥ"N5{}gɮ#=/`kޫ n/u`{Ι%w;[ܹSn_&}@K#3YbX[X ~qozqo-|:ߘ7|87~<㶅1o0VsӾXb9֙տh9~j1? rLqj#xܗ\/r+%V,ݳC1HШ1+^]3)iUA6XaD)5 +rG(|묍Eq!lӯЙ}YP qAU{ȼeh+VŠ2ʼƏ$8v_|ňD#g!?xgO4h? 7e;gD[ķpd L;1)JMy°Va|\kk2]dm+0&rJ m/$˒R:Y4MS*b-v { 47 فrk萉c 2x:Tx+'V mz69ц 6t oyxɛ+ƓOKY=/i6#a>w&]r`"] V$ N]VsqU'mYLaL:0a"睛,?/ٳ6?(?,HKCXs=Ea-Y iṵMCжYp\[U-8P.6=.謿ئ鯯^CqEH?vohX7{-KzBts5x䚖4Z$>$軻yLx5*?kWM{` tBr߳&*so-7G/UmϕӾ朝[0gAFO3{  鲨߃u_K~:h8 6hS4ni;(={P7,F}ةku/F15&Ĵ\?szbdtsz;u)bNo?$Z$NLtD0{}@MghFь$t\uw̴ ϤrSd`@ ]rL [Y@!౯(%/^ 47,#<E#Cb4v:Z)v[_C&:\4Y= E?I\ Z_\o`sbٔ38zO.|Sܭ!gޭ#X$ q'R::.9\ӊ Wʺ,NN2Ǥj4 N6P+ fSlU,L{@En@nr#yynr\\n^y[  8=./P^ }cꊤp`|#&B/LJۧZOTdt~_/L]ւ+)*-^Wh8#pӾI['ٵ<9uQ}dQvxʝr7O.fv[G\*U_ }Ӎ9˂<<^yk[swS?#os4S1  x#/+<, 7aq^x/›Qh37Ft\!"P(?xW}1*1p]A'@䶄bMԕ(}nT'UxY( цFQ"EQ{22 .,),4 ˠ|eQa(MT4P@+tUPDUQVCi~Cm+Ki8ʈDe@8C;a:q]xpC kOjj/MwS ׂSKr@i[mmQv(M{oge@%j[_/Q+ 8 ۙ.<M1.)|\ߙ_o _bm%lM8(Ʌ-KqK[(?N{%E7J[',쇃JF/~|x KƁC2/e(Guzᒠx愭&?N3I, Ü. gAE'`›т%HMYF68qB'4P𥉉}%n?rVa؜?'V =T ύ\ FK)2gaaLY^UaK(0Q?GHI5ہD% ۑQ!D>_JN@1%H0߭Qx;o-..n~bw3md4Gh(g4e"ef4JXp"A8%FߗJ0ߝQxW;L%I qTȇiwQZ(ॳK )+K{ retL/VV[٤s6/ߙg9(l@kr—.IPErtA;S R)2 Yl3'pڇ_iEnCyHg{i.e%0qLl}6p+ 5EAYٞv ly;Ͳ >GX/ RA-MQ{PexUTF ůD̆%|DU NUl I\pBRBv!XYȽ3).M<|8g+aD䤄/alI1qjiE%Lud.`X\6P'3vV0#&&si BeJq"3F821O5`š2_Kd[pkP)FqYWe^Or{|Q^Xιɡ.8˃͇\X7gPYFaEPd+K7kf(Wp㯝 bWLܕNvajMX[k+Q.:B\Ցܔ%_`K&tX&/#fBiLt&6@ub>Bu`PY}P'eeۀmB` ъ=v)N^!CcX" 3qB;I,(ᱬ {~OE ޞz<:W % ` *O1)Y28Doj{IPx7S |\awO+'8i1ؾkY7wc2cW)Ɵ|eXHz`  ,]²F|HQv ;pxᓇ+Qb&Q,̓dorl 3v# 8OTĥO%{wRj<&vz'*cߞ*y¼۝+T8Ɉ_7 UQG_>18?SzSj~卑K^ SoDLn5CyhuOSiOHJbc{*Jg{!vLI0)1L1L1LccBx$ars1L>iN`9c"aU80 1L} wtttt)aa 1oTBo`^*߁rFNbS5ɕ1|LREaUd/Մw\[p]-KĻbvs17ό0ŊZ-pdwl[*L/4`u2:?X9zǝ=o_KZuJ}Cm(dW o?)C ˂:XWXKl;X8=fŶ`26x歏(?ѿ`ۊI`>c~Xo8Vnك绅g n)pڐ u`c.U85~Ivq`Gv+NvWVl3A398w2#s9;9 ,mPt;'9zf h0z΍ۡ`_+&4ر`opI`ӿKKڶm<`9w;H81w#a`SƟ k֫`Ccak ; foh>=L:rjXu`着Jlۿxp޿Kv}v ̯҉SwwsFyWݗe$lxW2Twʛ"y/?8Y'sT".m//p F!7M1㫇y>~II5n:O0KqnܓQƉr<WJZPb%ω j"7Ry oE(Ԟ[aL. agp_'/SvEGI?$~ 4,_I!P:s[/ߚ2m2wV%Nj`gUe Wc S2 [Uj 8hbF9:0v8M–1x霤kqȪ1;yBuB%rk: ެ!F%$n]%g#6)\0#|%йD7u(n9hM6!z/B_F52$An)ݤCVRw `q &VkHx^9|JuK$k)jD@(P9 %?."=AtFZ!W(Gewx^xH#ޑIIH@wIL9n0<9_.>Zז'A&XtcD)5 )rGV~̲|%khEN6[ESKpO 8+^d'^.y-xy$vJ7e  c-+ר|:AUGСњ+gΠ~1ʷ{ TJA]90:ŨAW ӥ̚tŔNDW"芉+ūo^'oNGt^^tn׆ƆҕxSs:ov : I1dh^QiYtkg]eʽ~*HGl768}iY3<[DnW+=iPk+J&6uũ6DG*J֣1I~v^6H0ߴt/ klfƠ-z]T?)tnT+-Zx$h^]NմoF5Ҿ۷,S.sƴZ_9>\oI 7~~=1e;]94}tV/2{a.{5]3㌗k2YO뾩ɱrM*yprd2 I[0/b^Dl~=X < {S Kj]L)0 ɯf簤?#-Ybؓ*&{.x32*0MgIafg @=)-[ZDp6eG ?\)ج]! 1' 7N]ˆ{x,'ÿ)Pylcg(o.jrռ+*҈·k%>6 &7)X]s HP@"(7Z%=P Þpac89Gσx?oχk~?r~y?؅=ĞS{jaOm䑆Vg}/iO7:,HmtY-t !7^F <WH:|\| wCze<7+/Áܚo o",Gs+U1X*FQMy'X<'(4T 2ڒjc߈GavdéI(c% ƅ`V=n(oO` L{RÔIx&FNkffQ\NI¦;aOa k|J /] ? bgVu\<دc5F'RO aSr{\ tqSFvx95YG>[wh ?xƣƗm06,n;>yWblT7ᙦaD yA.ﰭ̍y-~J2{u 87SհyܒuRra^ZEGvX(:hOmr3Z &YC-4md0$jL|IV8iWԦhZT} @{"Qru!&=NJZF*7&KTu *2U*S)TB<>,f)e*J*i'~U[>-^jud3AǢ'ߣ'e"@wܳd(?:$ECص*kDE>6b>dUcib/6qß"]ƨgXEc z"HTXDJ,/Kֳ%p{ a.8)J'>N ۾ 6Fa%t>\.(殨|? n.%hb1♽Z:(eWM%H1qCSh&`jc)_N86dN<|[EV`b'&p_6wF6roŨ6,oVrw7I6Y_sup*+G>Ԕ'{;SL ޜy! ū25֌iz|W k^Gn۸\{FޅZփ>΁ $nwp3|"UWEy$;-x`OʃǏ. mRv2{n&[XzKpic=*0 _BۧupgӒ7e2tƄysk^}IO9[yNc5Cσ[ h8tp0XsIvzFN_g_n+xF-΋685sϪj1{Z%OiXu CZvx p`7-Sףg?Ni04iګ|~_}FKل볊̣)Am~|OKsw֗.^ߢq`4xݘ O՗A{\N_d>-yGԶAf7Xش/~ N>)p1J,;\zwM+V+Pv匿(7h,1ǫ'%+- *8cB8yiU `Øq߷ SZpP>U3o5J#|;sip-J>]]Oߞeσv9Y?5`̷ yC]n:+P{u`s6'*M1U-S,{gOgۯk1M'*S_ ԴIOJ*83?:#,{{0Ǭ[sd/yOwΞ}*tg=WB䉉2LH# YG4m6;!Vݪ=M#7[W+:N YOQ.ך'6IuˀeZJ݇ܘRGNs8.'ܮL?G `=CÞͻ-|oE1p+*nipo?W׮ҳǷJ9f,grHqmŌٚ?Oj*og^9fKUp}T]N'a2pFso#ѣ<(^wOpM!c"|oJh5Xz:xD_8> Hyp wWn\MVtg UbFoJ (puI~_K?-[ /?YzG N'Gl:hViG~XY\Ńk!U^NoX~t\PeDIg2Õe\]8Y,YϬq+&2>e-ӓ(YhúMċ8glIl2vϜݳ$pb%~Ȗ5Oq}2y /4fuBa/L HOJ{ƙ.f\酡+tnx:2,cϭ3ljV{ȼeh+Ceae^ GyY; c1bj!:%]jMUiTV_jmWS!DEl\bUc+c /rO&ᵠ:WcK [V+<y$%r./N'#MRN|sD*bfǮ8| kg#P! 1/nvb $8q3 Lh.fpq%?pPƣG'O,MO4hV|V#SGҹҾ/6o77b' jcccccccccccgggggggggg``````````dddddd눬?*y[)̋ap'ړ¾e;Hp*-]J iry۫Y=5]hRg9JhT$⍆.g{i  "vZHojՁ?tl)P~ 9+R8[A0+W(87PrȜ^rġHmD#v?*P~c K[PI 'EgQ)ME|!{+e&ё+0m,gh6;>'m4xHߎ㇈4"Yg_nbRv%yg62@;ۅ_1.:!w <\QVʿ$R>MLw͒OoD˖_r%LW5&bS\Y6Êىdg!~zK^>!G6`)-+}Df:ǎ6F龱^~?X?xcqs"c\|wW] mmY|]SХjTZ_H#KV]`FP)4rR/STV+פ FcE3FoFn ^{KǛv_c)qʓ6G[DF!EI<z__jP0 &ws<9,[ss5 Nꋕ$DGl9]9*#7S'4\^L2x9u;֜mseG1BtoN&Ǟ*`Dy֢T%ܨJ $x 7FEqy *ȦwEWvݜݜޞXiW /ծ|mňC] L#d(k#sjԆjyWˇ5w KȌ)4 1{$YV+NZ(k2<!gLrM|*),%U 5TZLcԱ,9eXfr\kzlmT&Tq0Yh 1M(V ILejɌE+ZRlƊӹScJjX*Ve`@ܘA&ONNL! n!{EΘ&Vm,J'S)JˢSPKkЙR˴jcI 2+NI5bOG='@ |:,_g]%V$X2I"  a?!@F&a_ k:.j MF4b s)ϡOQ.GJ}ȧjȭܺal1k$s U1h|p{Ia卬ULu$RLBzHFpY)cR#&#ɘvTXL\ϜPbp܅_IFm QbFI9ȒbyFDk:g{ud,]&Zm ;^9"F-U6YS*b-v сE@5tD<IOx;o{[ x+ ke6ghC@: {[ x˼Z]Еw 3;9ThG,1PgK w&`98MqP$'Ʉ‰Gv=xAmh8|4=bD,OR0!e0W(\fo8^ב1RSKU:u=ܐ%F5Ivere<:Ѩ2w# C{T&g!k釖M?g2= љLB?b|aB!08tbPZ#6116ʶD1j&YQtjS+Bdjs(WeJVZx%yR&'9je{g#kRdyQo8"2:hJߟ_]ɒI%b[TK) ʿ%Ћ`HEWeOHo|ڗ@s|魴_Ci 2VzeڕG(]{"@!mZ9$dXg5)H[PΦ)u hM@KL:&^AH4>(|KaV!dA> ][<'dBT[CE\3' (Tʐ9*M |8oC>0$J@+dte:26Ajh6c$NNcK븟\SGfs:؜`ړ8YHl >_c ƯQD31"_h +0c"bL$Q X|$ bmXߣ>Pk1M=#3d +[&a(}DԴqBP)IԷ$3k_ [#J}d|bÙ#lKP[,}saAZ[#-B:^`A>+&a"|؈n4'gYgZ u!gړE j)K#$4fC9;Jc-xҫ9uW#f( hĦg$ʤh%ZL/qf"IiieF=8U$'YI\^7[?Faɱj@eD L*?WJ'PT&: 4U"u2dëjai7Uh2@_ ǟmٱeLSN*4SALOLA$3EhAlK0zc>C&r'Nȇ'mVq"e }d$(Qk&#{N*T6% 4YSR2@$ll"y6JS4aqj0c8! '\tMMwI"4ZYpp0,38U44$bgJ!-ѱJ+Y[ [mE@A0'}ȭ0Ef8)?e#FE:JذDVS2aD88աUTN#3|rCTV2YPYgEGrQF>2xR,¤C2Mߝ ]W'K0t{ &d8Ģ#P8Pa0]H Tp"H`R385zVjIPѦͧ> /Y6Z *C+LrAhYc'\9Dzw$!2^L9h2P! zjiY 8nP8<½Nos)ЂSȲ%  WF`-Q2E g>&WV[wP+[ş<&IB+DBpD\e jwMtdƚNʚ 2$F*̛(Ԫt9[kIX\lЂgK&Z Nh걊x8se2:d5gOl.`ZkI 㜦}=NgcȍihVQŝ{a`186"Ic7L7q?_lVjTbp\H*D%sST禲tT!jMr28c0LdX;wY"lNg6D-ΊIԼ~`m&d'?pa=ZRAϐ 2spvEA0[ !urs>o xKZJN.qW<ӨE,&/:L@R"G*\LAY{))$ "ҷD񗏀ܟ&/=xe.Y\$qKxgΪL5<°0󂎥M*8OÖ1y Į@ɇ"~ g@@&K\'T ?)_Njzr.Y"H% M,"Yr82ts)]\K{CX!nIhSR9< HB_ꖂF u2DAn1ĐCRQI֎ '%yb0ހhbkQtέ[c MVA9~L':USgB>H): F 1f*ď 1'N=̈xá4>5tL#FfЏ!0eL`*-2nld߷ɕh\ɚ˼]?o hL35QLڌi/&A҂3AߐD%Vx?(B4)":1 xat1mV@tj  LJ_h9b.cG~/E;!N^ s0cƢ;7չ~,zM"H|sx브sbۙV .]*ˏ<>k; Cz0;h~'x+<%I_%;5?&NYylXvǒ^#Dd)m^!]B/G!NuGܖHw$ylR\7"st ~83'M eSg%;H\-*c^FxqjuR4SP 2CϢy$f ):{ͮ;èଵС[.Gwiթs֋Fn$Hw{@]mr!V*5"Pƶ4ӮTUi8qmanzdwV  "[/@dfPE1Y![>#KG,T0;:mrlL NO=W8m]!,ba8m<x R7S Ԡ&B6yYZ1${QGfIV4L0:=&;P4T#Xŏ$kH,m=S ĈKu <4 mı*EzӀGFId&s6]H&c%jQB$(Pb&A/ qR8^"4$[<^ASP+vI^Kv8&d=d!Ӛ"dm? $axmb۳T=_6I bvyR[*-A΅$ʅ%-v@&ujys5Yfj$N$hL8iY.Ѱmw\@VQoG$3r9&*0D>jx6C#70+Ai[(=xLfgUx.zMg#X_V|?NK(!Ó{==6/* i/q,lEB[( d)r+lPZHM$O1Qu8j!~Nt𐑽{7źx{fٻ?BQ"R֪c(}@}@IlP>)"?c#,;Hs5bW1h߮cnnFl`sNl ,:dY]tU$pKO!=H tJIs!P~K'NtߨDv`sJn9ɌYAfH qmCjdB(B& |Ux*1ƹOMv_`K*W,K%K+s=30+l~>tYBn~d1_\`3ӟSKrqjMRj-9ܒH\$)A{-<>0Sr%Id@qEN"vt O"8xD MTtZ >$nI)$ IN> .2ʏ.?<4na?`hϹKR%HDV h\޲C[ɧ$tJX&V(!$J.2c7x>F2ąJ_5So ;˒mn3SGdaF #4}\YLBMwJ:ۦ* {/m$-YnK4M"u@L6.( KQO/Րn *C'dWjr^7i OE&ItJvX"B)B.Jr$c-Uqj,q˒O!K40$I@I4KBIpKRLNI.~NKY]c!-D֐$ܴOğ(iD1n* VB[#߽5& ,*FƸrkdg_du \(OL Q&&s?6UH "i!}z-:s@AvYHA @s 㰶 (i>+m`Dlu 9 l,9%B8vYAtxX$Ix6}2@+$vل8Etau[wA DIə!Yz`YR_k<@nVǸSԃL?!JRsYa`mQdZ& ;+z*}ʉMA XU,hZ asB"㰊@ IGAǬX]w ow;Ar&9W;>h-EG,/:ܢ-:> sPltb#GljR20jݲ-;>ҠSĒ?)%I Im|;#Kopo4L[d7@|ԟnF >i3Xgp;ݛ >Gi8uD;bȹ}gV,X3;x6+SObo@ sP`#zN }0-9>SS"D?#YBUvʁʵ։rU|HokdZ?-49|MMNTuXƺh>B9DlB0>; n+ 9 .[,GwI ,Sk$NX̨esjZ#oEƵWĕV\ax-%@L||"G:qa6ٷcOMh?\rjKWvZN:K;D$s40W+MnK x<#g%o@'/T@{ɵ쭗HɍybSv0 b2Bi Y? 6X&b-ޥ 8!S&P}MqS*'8ou\V3[*Ո/e䱌RT7KU8dg_i{/ )o#?XLD_A]|EpZD 0B,"Ȱd"5tO :+7MlIį\&e\jn}=I^OZ_FM]-yɮsKˇ62W37#]r[>+Oȷ UenJB˧զ~2W2ߎ~.su[= ˺Oڴq\Me+r:7ޗ2q]μ\2UmFIkqWƁň##7CkYvhbܮunf-LiKD;_ZE'Wiy,>c i]akf8:FiW^ZS-/znjSLU`CPV3RM%}[mK+'iVlC#`OP_*olZA :o`ߓ  :tB+Vg𧓊ݏ)8x1ݿ0ߎIIi?n/trpG4+zhZ%锍+jw S˶N rvƿN5SDQ4|Lk9-8e| u遲sVS^}}A: ɴ\i?:&ϣ[ՇK?Fk:UT9)W}}hMό6 j;[#ZUw~S!Bim6:?Ϧ'N*Bk>FO)#ɯkO_aZ~^Ì<(l)rCrn#5}>fݨb$PZ(1t2cUY{Ae&GmG'ͽZa0Z)Ϫ _۔6O3уs;\o=z@'ඣw1>7һj:HtY hmNd.UT~t~iϮVY)XiԡՅ/tV.Z5lw7z=? Aj̓oiuSVÝ{F3|cLU:m}_F6c׏s4K5@r]HzJݚj\S֩rw,2H_K 2N;0WcdGz|=zڮA-rmNk/?6rytZc?5Spr:Q()31b SvV5A2CkԻF.N+<҈qtqH5“ _9hm#T:5WI릮CnjTg:-_`2&7Ĕ(?Mee^aU'HQQB?)C[n=/wqy;:& +8CPuO\S1joVF'Zqq|G[L64/Rz?^)>c~!(uf)CoJV7vNR%)~]*˛c(ovkXuCP^,1)ѨK W+6$5`CCzP=o %F`n]P2qG)K[$O,Ǚt; |t} tG=$?̺h!lcAG)C69yh-~'}R=Jj %߫6}tuyVYѯ7j[֋V& A&ԯQ2TAzsdtce ݿ}nW5X3 ɯ_v1WpciY?\}m?3fT_=,k6$Zy1'Kn8*yUm2:{eD(r)24hhy2!|̹Undh22nW MƖyv&X '*;M3rS2NWI7ixiDl7NߞHg7]M< Ttt𔯤^@e fٸ'j2|ּFƭi075H`h} Gn~5PYCx#' n?'Pt~M92s 8ޮ-X21&e2w./]uCӾunUEtO|1>ݓ)bWw[VhR5~únzpêQy}7^bb΀4K0t+ _,|ECkG{v-:tlٕ! #߽5n9QNk^~`]cN*Ф[[?,n9D!2nCz?ۍ|rX|<<!~GFj͘ݠ [kw?UL=j04ijrꆂz|?@W>ٟFՇ5\/:b/5_GF l}KӪJPk@CtQe_MM0sCĖ*ARBP=q7qsNb &!lL$x a(e(0ʞe±U(eUZ^-cS{;IO$='˞ 06cC矛;~ }:73J/ kw޾_sE4hw4t»UFx&T]to#'z ┙ :S;5vi,ծgڅ,y U=wEgB~D8Č.~Yo#tɕ\,Ez߳j/«^j\g煚F~ApYIo.N^FmR ZɞTw9?XY^tvT":Sir0- |@PPCrooiթqN/&pq+Qo4~Őzdqr/PRR54r¡([G6`Ѫ Pτ]Sa k5ŘaҞ9b"Ṭ9SĬFìMf@N$&tb1Ert.İzaG/"f2 /l"VvL.k5 L+ |W20 d(L 6ϕf`2ncB(B(nbZК/͠ၵ+Vb`%̰IKX!+gzI9q^`HF%qF^k4XdrxzA:W%A)HՉ#6Q4l"b]5'cZ4ȤL(Dse#Q"[: bI*^Z:]ܻ̩&ZIO5z1!MD,8 >΂8{cFbAt9^ :~B~PA( v8Eb1[ytp`d@&̉Jh f!l43E([n([n([n6MΦ 1JD3C5Z [^rGi1;EHN_-TW6Sh 1}N}ɫZEKSb1|:V-Yٴ(qDVayK] rNW;@5.YKZ0I&9t^@I|:0 2ȴm`AV?Q'S]jGY%~$Mxvjqq j €WT񆼄bo O`~Jv!:rV6[n:F><7\֥a |t$]=E>L?/mSJgocHTt靟D{^;{ + nA(|oleK=mbM6xD?o|*ӛ셖7&7HjNv^1B Pi#9GۡY-4YD=y .._l~ϛ_4tLY5+a襻F&hӹ׈_^0[Mx ZWU$c| /%!&CXQ҉4tzNeZ"臠?dk`-! ea#43}*4Đ E0 pĵ:#B`41"8_ `&!dSLEiF07f ` [|{  ,B X8b9V"X`55"X`=0R'AE6NbCsʐVv7LVNSPPCl{ I-:q]Vk:/-wAsa/NeJCw[[~[.er)KpK%Z=l/hIbVX Ya1+,fŬ  ~#-f1a}"8p`_& P;j*:N-\ N$'~ɓ+cƣS)u |fI%'-J:S V6 ;SvSd37rҷ>HO':ͦFgHE9s+gw*|_9Fp{hl?8eF qꅱy&Ӑ/q+7;_dr9y|UNN#fmnCvuyon4<~v3:d٠9NYvʿn|om9ڑܖ퍓(*[xq6{z9Gu.'hi?|é ]'A_yʽD{k= bgI+꽹"q$b}{\'ܶN&VCbi+oY7ڜ[ s=ECW75EN[e7Ԋ].Y.!O/qʲcHdyt+C=n\V_CҝVEs=uD#z,=A U/f5Wt1+`TDü [Ɣy )cqu4an5z(ְV!/DNUIdBg !xN/hvZC;?neʁ <}W?1&Vo9m@ Q/&Má9Irc h+֑1xȹNa#sck8,=t눺-ct*J\>AFLZ/Ųe^әsݩzQ@t+.(/->S&)ӕC*n->$sp&/C-oq O->z/Kؓ!¸;y^;`:5LsԅaMD{Ģn|K^>ř)yqѹ.ijy_x4Z|WKQ9yRZO_c͇& $({^R$j)rILM} ›,iQ"O(|E/xfZrg`!K@ "O1v99bha \)0Fz_nJw"B/Fc~L'aI1h8c7t2ܷWzdHKj* 2H(zb 0wd*"@j{ yZ%nMij܏\ggSFS^޲ZgHɍͺFV%IW% :Uӥ) rL-[\m!"v츫yhՖe}Ҧ٠KA_ki+ _|bԋ"R>𕑛}TUJGj!mװr$`cvIS 4┴DIZ=GDn'0) 1Cq ndh>C.IDMP069NKrdxުWvOK S]_ޝWi4G!riIq\TyM$IH2&~$IQ˚eKr%nL\B7̘U0e}onM9 k\G/74gquzһ^9 zF"iZ1s h!ZS7_H .d[rz {ѡQJДV$j"IAH 2ڱYC\=bɇ¹U;v)4Jέ%=bnCv͝Z(gE.>`-Ǎu'ͼF\^`R_Sx&D}>DRfdP G"XNzWߓގֽ<ʃÞOlm< ni|d*Ol:v4ntVf@97'w3OŎ[Dؓk9Ѹs۩+\!9Uq/,aGϭ03))rcRY<8e`6# 'pʘdt2҂9y'q[%?l&AD33ƒm $5Z̅:.)](rhhȟ6ާ ixؖ6lirhv5/WIW"^Dh1S:of Q)55y s 0Yv?ɽ'6m9EK$1̖*UĨGӧ*dBl#O"W,F5jGtחHک(JʢQd֢iCqPRӤb`cɴ.UP#lulq)TWM`W%t 4Y~RT e4ԒjPlIp&AmڥVC@.iC%tJ:M(^J 6si; J9ccaq/qw!]-;ܓc8޹uӫP[ybl"ٖ3T351He9iLC{ST*{Z;jҀC6+p^nϒV\eÃn9Koʠ2-47mnh-t'DWjMRU` ̐5WJ %͎$ͣ0]}cSRYh  Ƥ$beO@+ȡ/3!fFEG蜦ѨN!%% ȟ*˜~#,L'R}j,T>c.$KHPHe)iIT4nf1*s䴮[LVhGT#*%{aiEG+F5R(<Ϳ"憆dQOg=Xg{ <,ڜ[VGx8'؊wh.h$gOԌxR ">sN/L9eVOGGS-{?=/!x܅mPQedV@t clE՘ NAorgZFiSL.+?^..Id2+H(hͰ7d VV+d* ܻ8Z.<ua_. c,#TBUxʠS4JJѓ3:LTw =WjNp" C}\ F8v=I:0%aMZIM7)_z/r7h~n;\マFv4e5Pifr:C\_ j i#JӪSG٘x=%*bȽR1rƦz۶#vGWcU^xs *{SlC4f.yuC{kszՌ҂NYXm{q7s$KhŽn> RI D s2DऐŐ'Q&=A$ 99@8#` R^}fG(oӣ">H^9o? ؖ]~a.M]~!M_q [b gAl2d_y@r6D|,@|kJ%g?Jeru/K獠ko@wwT|iMB` )!8!)!!BdHy^ryMRˠ W|^@Ħ!RvYLRY^_9(UTNĆi'hvL4qD+BEm3/1pl&<*Ѭ*:>uTC,UAM]|R4|~\T7]Բgmz6AooU*d՝.VrU 0FT4ZKy|U߀V4̹Rϭ+_} ~~_t.|50>voR0*D Nx3zInjt>'G%}^e0T>sS0=r`4b#ǿ@kD~ .ut=v&n7dN@!}]ø^`;whbWx[[e:lʰ}oJۿ5޵KXhj *.o^_t#x j_<ݿ[s Vg@5q]?c_=Nk#▧oW=GW÷^qٽށ/y8Nڦѳ^ ~_aߊt 6[7ٽFv cw)/TͿÎĞ, ƁY*N~z.{;|]4?,Xmʯ)g f^E6M&Mؐ* Gll]0T_>vZQ3KͩmoҶw]_]tj~UЫk ʿ[6~~ܼd0 g{=YP Q'ی]v<݉}L &OG yRqKʲ+߀T1SVj~ %;~x3qq1 ʳkyW~h`e(m+C?3~j7!B!B!1%mevIWik h֏p=珽Um-J6y$vZ *-`,lC4"akW 0GT_^g@lK FA1]7KvA9Z? XgНI08Uģ U\QAw :EHnOCپf?P{_y/,5⋞`ԥ(iүk_U hMy^ eL8b7hWd hH&h/Ǣ߃nnШA;|fOA~?V}S\kCK6m/zn8S&"Jzii`]lyrW6躗9tU8?~iPJ;=({OB)waAPt$j8}/$Y_g~d~g@cyAIO]m֔ڎ] ~I-tww0/Nʗ`Sl1s4k=MMO͗_8h[k +> #UVh}ЗXMu=ހo{g&`_D>7>Iw]lP덗 5M~Jųͭ*b~n ʥ#~Yg0迻5u*"I>ߛ gW/ C'Gxfq@9nHş <(C}eWN4d\{.o-FOtB{jbfnh:V _No)rmGZR׬K YztzZ`HߟJ#~j1JW;aR4x~C.˂f9U2+Æ /o"[\؍{*YԾ֡GIz/g{?R }bIҖ,G !@sݤK^x3R)Iϒ-$ {^MBPB꟡қBJMwFUeyC74Xi#|ϩgP/ZCsQ+uhKn~H߃;ZJVkyЄg^S>AZш0@+@[z&@!W~BAt 0w+pp@T7]>iZ"SgevS{}|X^}:[+>?*Wq"7g‚f1hԄD'P .P$JTx^/ӥck(*^br Ā +XmƳQ`1m]%E-XxCY`sq;qʲViJ6њ\iri 3G3І3tD~ezK:"; -َz֞ڑIיbQN%| xDiLзYg[,y>7ƞ+q!Q{ OWnyʣ E}>?sQ /YjAv1x^_1<Ўxۿ9 /ga[x#f#4UGtZC *hwo*?ju&^?K>[21^mЍ xm{E$= 顧֙4 w~JǠŪCzCI=F3*]:?1WJq<šMry)7i}[ӠIehy)5hF|Úz@B[sTN 33j#vx.i&۝<: o ШF"OwlZg/m,s²2u{E.T,uj|K~E1ZnjJԠy P<Oiyf0B(B(Bh~'"DdW%\9'"S4Zs"2'iπ7^ըy}ŜE>#A3{k!L5vMk ]S&Z9&|+hyh?G.b0^1unno*x7rB'{Ҙw"e9]rA v"b&C.ʘPĊNE{mF!yd>aPęm+d(DŽPP8Ę#5]9+Ig|Av|_A p :BP1 ֍2`LTD9Q) bl4p&¢e e e cӆiٴA6^V` 1r שW#{h1%Hj]\Z ~IqKMFA2GbO=Ȑxx^c5UݔEl? U%'V=O^~y)U>\dp\j'V!cԂF^5Iu=9V*#F;̰*LFgKdu2cl~0x0^Zd%kC-Z, flG/j刁.mmHQj;Ӧ|~.ux垯K!ofo|&٪V { oFTf=T)ϭzC{6͇{zSfX&Qˡsr]_?ƥ+9j|5pgx9xq'hϰg2(=2NQ/&z{auzո y0z˨we%:y7vj״|g:Dܺs-xgBg[Vs1r{L.*jEnUdfUoUvp޻dS[<oUi4Ә9+9Cfd$Ov=2W x)ebd+yBvi"Vo< NJbǢ'W<^џi㣜+VrtdW&S]Ǖp%$ገdq?k;qi8jp;,Λsx3 A+D[?@M%ݞv@;M/;jbDl$wV_aG@l,VDP AeU# A5@PA-APA=4@ kPaD DA#4AAF6CA h6BAmCAĚXFvFA4 芠b@@z"腠7>"臠?dk`I( B0A %$15 -4Ghh/Ti!1G`F ` A0!xLD0 &#`*LC5A0LF0\";# X`~DR,GJFZH}mh燈}!0l>  %roBRNe՚΋~]b@.c{{yG'K٣\$~!V, ZDŽŬbVX Ya1+B(B(1HYE{CǚI:ZS W"~?ɉ7qE*OcOYydg,qRiINt$Nv26Fm,S稊NEg4'Yҟ)uzyN8وv9WN^/ڡ;>:.NBzal4$ioKk#ׅ>w7Ǻ\wp+3> Yxې]x۩7 OE i:d9Av́Y6pS~(tROICYl,P[(-b eXla,0[-b cXE)(e},p[8-b gYlHp*}*#L,`(w&~Ķ:uSnf ėe^?Q1DPO(7%jS+*'Q rp>p>p>p>|K7$Mo B(B(B^G:Ղ\[#Ѹbd6*r׬b{>5[%6cϵ0]ןg/05p/bbEn =S^Y0VUqaY^G+vb[W;*:CƕqXj\Z]GQ9qej*ɐLh:VOR[N+Y}Cl|2Y>z+ۿy0Iv6tO Gz&Fb o>$ⱅ!V<\ S15b jJuD]t'%.#b&WbYˉ2NTA肨 Y@tۦ.*/P=?)>\#Ol"S[o&-$DRNRUćkHKלJƗV+s)V0;ZyOSJq]\#:pⅨ"[Uf%YQ5j+KR5%V,3?VS?١NܞRq8~6lft |o:p MdzrND w5*gt6na3z ٧kZ8GD[pG{0K&fȂxWPe!Z/[}ssJwrݥsڊfwwj6M.N]Z'$“dQEkĆ}4Q\%9(Hw8H_^3Ǻ#AsAQ c$ l.Pru0vM_q [b gAl2d_y@+gCķ~4A^9,S.C,K獠W7dG]]~QIs+ 9>d:q3NuCMbOo* kvlzs*CLA]{uAZf qCQt/k!þ W,/ow -`?¢'_܏e3ةfLw'݈MWg_L~zQeg =j0su%`lquwiS1TҼh6Neh=g zd;;obKЧnbmS0gp0|5ek@0(ڐ٪`}oY|~˿fAs++K5wZfLüߺ{Qouƛ2(_ f-4]b?h T~=8@ed~&7̺4IcпRKaʆ4lp_{?u6+Zan.]0f;5QoD뱱 M}-0dtߒx:t$ФXp4oρVŠV*#\p\k\?_)7}6+¨=\8sک D^e4۟2k@(>hh/R[~?BZ:݄![_yZ:4ish2cj߬ߡvؠU@f=\90V`p[8+nD?!="1h=]X)мT "ZKMG3ɶ!gߗKC>^#7Swm}FWa ۶G";^_f. Oe?6vd%h'l:hM\+o ;xnD(_EV>Y7R{9g~H+v#q1i<;wJPęP_΀&:ؔPf #v獑qEdo)䞟,= c'lsi%З=˵F*9dS=e"2T&Ŗ/~Oo{Yy@WAɎs{NJUHDaA{T=߶xg:h O'Q@!2  8;+0&>kvGS۟IO]m֔ڎ] ~I-tww0/Nʗ`Sl1s4k=k0U/!5s-4>ݹqж TW}ZGث6&I3I+\cG/#K!0l{ 8LT$=@}réo}j*٠>/vTkқ6*g[-8 !UfKoU[G]`wk$UE|2. 7-~!#Ϯ -k_/N 8W0|͊'r,Q.?AxP^!h+ @hȠL}\-[ d36`4*1@u@P?R4'(>̛ HRaY?8 ?ѿ_Gd}*@@=Ԟ~Z삾,h\P{)2lh@Ba&uʅݸW BeAk h~ěZyH~׸3 ШG*!mr44Mhg]=3h{A,B$.[%.,.)ԡ|hD]P^& =9h9tcL30%v:bϷz!?4WRiM@{~GOCT 9ؒB,k60G`1341 g B| T O߸ s  w`(H+ &$w?+s;ʵv3Z9Us܅7KNn0Tzә/gD&Mtu%:y\% h%'Q$JTx^/ӥck(*^br Ā +XmƳQ`10&?n%,{7khN0l!./kM!.WhoM~$!6%BBPIdf;NoԷַv.[|J؁oP+P@U>UrQ*P_|<ЃVG3mں6i80'~n#G85F B5冗ݣY>c= }Ixj1egQ|"~wk2.^dPͩ'^*y?#oUTk1giKwS@$g=;o8gkuSgAh=jUz*ۙ-kmz,ZNE\V%e~ݵןݯ\:>\簶} ^eʰ#5%nu}uL:[piő ]^gc4 |Cq< p❦Aj^rc ܳOiGax3+άxg,˦Ñ`ql;k^ i'3qF`PƼak$Px쭡;1uƎgADsl`za ofeތӋCb1KIzx̱B/>oc/6 _l> groC |=A}I-PwRbք9VdB*$-k<1L,bxͲMAK@8^ Y^gB\CkAꙁ1 }$vi#7Og; UdI!JQf~zOπx~!:ޅi˂g^>SVNKL̡C35j5QWm^I~o S޶S }Y䤞x[֫> K1ͼ﹅7EW=j~R hE(XyG>mjhpm=2gмOO~t0zbzfx ';Z[nYP~c7<+ oa[j5.zl+t3GE1v{F PTk-wD/UYLJc]Wƿ 04cF >x'ʮCC$3 @*6A/6 G :N^b;+w?C :Sxՙcph~`H.h)Kjd/-fIM[K/D%Ƣ wW1MdH<_F+!w8Y7QvSk?Q,D.ААААААаƪv>4,FAq%((邰] rwAX.+QP*.)!!sPrۄ?BFI,1ը4D_!86KQ|,GѭUO|B'QA APARB#DAcM1r94+Z#h=BB AW@Ao}G01S KF0A 40chV]GC0(E0& `2!`Y ``E~Dr+B::"؎`']v#؃`!8(N"8 s~Ep%\E[n#/<@@ {4Fr4x%B"$Emq j"6DHވ-BR j"6DmPDPA]"@mCچ j"6D4AP!BmCچI F6~nb]RCskWϯWk|~>_oCϿ1`cl瀻@L~:E,_#KP/^Bz %U/Դl}ZtlYi\uzYM8ŞޫLin9Kº+5IbC=LlɶxLP {Au/սT^P {Au/KP/^Bz %+#1Ư;u8pN*J-.:Nʼn N$'~3+aSw u |fI%'-J:S 6 ;SvSd37rҷ>HOݏ#:ͦFgHE9s⼞@w^w*|_9Fp{hl?8eF qꅱy&Ӑ/q+7;_>r9y|UNn!ι;dAwRPzgn\p9/iES^dcW8D gp;lɖ ).rW&5԰fO{0Gz  t`M4D_PP?MH@w9Ya6bœ[PCG9ByByByByl͹VmiH)AE杻vSD{hwL1*JX fb!L,1p&A G#bp18A R+fhŌ묘q3.b-V`b `G#ap08B! Gq3bƽV̸ԊC PG(#ep18a 0G#cp187_1+fyŌ78gp38 pG#`pD08" G#dpD28" HG$#d\lTFh0 al46bc}ҥR&eIYlR&eIYlR[-b b؂XlA, [-zKYwz)C/e祬uXyi0-b aBXl!,[-bcuP[(-b eBYla,0[-b cXla,6P){up[8-b gYlHpcW ďKos^ci9]r+t/ya ~b<<1QoK(WUOZ' y)#`iu{kS6/x,fvGxE'5|C"^n(E$I+T2AN4=NPdyz%-)rt sgk^mM)s3b?X뵺n}(CUUIdb7(CJjK8ӛ>[wGr``牋޸4zk&5o|NRzq7Anzf=zPIrc3؃CKT6;[??&C7b =JuD]ta%T4W3iMg͐QQ,+{9Q53.͠ E0l-Y@󍙖sBaty>P6&Sضlĭ6Gqx.hI'5su US<`C'F*2g6bMA;7ؔ_,9zh52aٌ 鎤bi"NIuk9[ [[[ۣ蛺[[yo.,E5*C1P>͞ӱef{*^T fjANy )Ri'zJT'MSG' ^nWKt 7+]D>E. ƄFܙEH䣛=A(;6ʾcZ~cw_AXIzr:C\_7MHJf str(fdLNY&F)qKn)+E#kl|2\/{ۂD6U[5CK{fo˝nshßƌ%;۹nvZ}uwrN3Z)˙͝Yw7s$KhŽz>6lRI D s2DŐ?Q>= A$ 99X8#` R^fG(oӣ">H^9o? ؖ]a.M]qǿA$+A$;u `Ϻddc fae,r00_)Mv2˔y#W ݼ65]wq>k}VÞ HKӄB BZùɅ!iRt?Ꭶxsxd0h@0C~àS Kb]0ۛVǴOã!%d egu>P yWƚ"0X AxОbPK1(7\!}Xg-wA=o\wy[fGmzxw?v־zß(tv3 tJKNn+KN٧{2U[@ʉ;:Z5Ctc3o/@?"U^W^l ]z>y"<$>co^ گ*X6KL)Qt}Ι1ӾC١aiE`ۣ @skM v|B?k70a-軍vm?m)+T6 YsRyFOas˃f!IQi<f&>&ͨ&т!zO `U .G x67ګiAW=|t}}OXàQA]12OA]~&Z0ƻ@%ؿЗha40: :2i1w:.39.+ 8{ m"?Ԡ S53~ !%lAjYUG:`vӤȑZ_ ^Uc_. FqokG͕ PodP_Ԭy4Ǧr'8|; _``h81F`\QkhSRet ҌnT C&\*7Wvy @3L2fs0h]&x|^^m/uc!_oܨ zҽK 捬3i?hŭ\1* =6}~:}6'=>IcƟ]ςTiU v> 78MC&i҆>f|^{~$v:>nC/!kѝނqVj7; juμy=++{;םt7pNV+p:~e0WE ukGz⓵BO]߷ͳ=#/|tp'b=4~9(?9Swn)_G~0dWhTG*w͈ 6Jd@H[UCA?x ށFGc]Oчt^~VJn-v\bM((]9Go2qfd6ϕ՟Z?  ْ2gI$7i}M5{{Z0mHH@vU"[ұXH|ߑTaa_}'gˆjK}S=|axKŲj,2(ŬvwO. ?Th0hcAw'VB.@ojWrE5'߁5 =Ye&E@Ya|I׈/zvSVsTI:ԯ}W3&~z<"6ye0YCD@w0)ݠycd\=#?Ǜ~B?'=m\Z %gOrJ/ٔohOUIT\tA_}S^V^,Z"U!cxPޠӠR -QwX{P*.UϷ-2Ip"_H=7 $0t 'πzځ݃  2۬)1 t;g[4`_/|bh04{`8>5_BjZ"#hf}smA-&hꋰWES^Mf>WƎA_F>cmB`zq =vg|m 9h+5--=@-4Wj'"U]u{=}Y,G Rfe_q[vMw qTb=|:A(7`^%Zlqg@$QT, Cڒh$hti Ϻzf "~5wYDq+I]J4\H3tY\zSHCш9LW?u{@slsƘf`K7t^o9 ]_CZ h"jwM@{~GOCT 9ؒB,k60G`1H+=fh~%chK$#Ab#h}q!n%h|QV%LH1Vf70w UhI {tɀZ.?;z~>1\گځF7Tx PN]p,t|,:^sށ/Ö, ^˛oc cǻ_TY 3ۏ7;<<!ݦ& POrTnv~YxNWʆ?_v=kFfQ{ %=Y߷fO8zYQOYZ q@ I@:=Gx=«QiYtذ,.PikL 4)ݓMV76KBbwT:?08` D=63k ]WNHz5x-U8^mFcP:eYP;|qX%E&ێ @0@Y᾵ Wy>xs΢o†H =xme{>\ϳ8^ߗU;VQG1? _!-.lp)| U:Skdpa*|7WL#Ch͹q(^sT fo&: / " t{GOywv?rO`;F-wV=8P}c)xKfy2(}d杋o)Ax]r{{=Y#μA~^mU ZyTnX&)?U?/wicjx 3@|4HزoRRO8^kɄzs*.=;J' ~A5/<*΀紮5 |JYGV*m&IԳ'N=e@+Q[otP|&@7G'ӷB z*f \}PGwS$PnYncQO=sW{L~swx?}qٟxs;XdH{ +,({m:X$d@r LѬ_bx9[\==uWuAFNX/jxm2%Zw\-I5h%{jPQzUV`gzMyQ}N<3~j!B!B!A4c яzKGS^9q^뿴g@/KIj<žbN l Aۀҙ0{k!L5vMk ]S&Z9&|+hyh?G.b0^1uvno*x7rB'{Ҙw"e9]r A v"b&C.ʘPĊNE{mF!yd>aPęm+d(DŽPP8Ę#5]9+Ig|_FYpF )\" ¯S4#_|@;QWMRj)sUj)\UKaAhC% :R.8z=rfnaޑaޑW"1x=g8EOh _q\\ce1-1LZQzw">>~)/kSC#(|]f}@ 7׽[νQ"L| |Q=;όk1{)6xQ7hbG4y?oMm?RqR@(Qɞ &Bh=,n~f<ʎVaQi|m<5>nxށñ M֌  Shx b?Ǝآl~rx }~*ަᵧwv>z9"b.uxfڵ/B >B[cЎ(h?zDwJP']Ek  Aײ-x w¯k߅/h'*^/skg a^ս;_L/N܁iTY?f.#$R*nt" EިS~ O^1o|M)Դ) ZOTfZ;U3p" ]#g4Q'T=rolӱS':ޙ[Cz3=J= .F^e=*AݮU@AiCAw=DA_ @@{4CŒ B ̘cxE8/! @0 hcC &!`*i#`9"{? X`,EJA#8Ng3#؉` ؇C 88N#8_\Dp eWd!6;BpBz %KP/^B[b^M ̆7!E'V؋~U5+@ S{u) mgITuݷ~4I_raha;ن *wA.rT]P *wA.܅z %KP/^Bzz}$;cؽy! n-cCE)8?Oq8ywM?-?{jԳa8EI'xJ:WFa'y ;Nq }f#FN6gkD3\H:{ΟQUSw.OoNgiqDzs^!Yn]Gy9=;/'\{>KwZєؕ!h1Qx9;68[m%?} s.;ȕe95m̑C9>cfA{9G>5 %B!B!O??P<<cPPPP<[snM={RD{NhL)}1Eatv"R~R&ĂX ebaL,E01G#bp18A G#8U1*fVŌӪY38Uq0#ap08B! G#`R_ʞ\ gYl,p[8-ņ97{G>gv#9қ\XyZydlK^2f"O'OLx5)rIFBޫHcA`#Ԇ G}/\6]a`HSM$ rJfJ2Hԉ 4U O@/UzE:E.a`+>M)eΎnj V 2V:t`m齢`iؘ ~:Wx?ò~o+b`a=[ɣ`yJBۄaE&+vu|X9^J͹`E7saq,9wyw8Xi²˕E߇loX07Qya7랼 +?P6QT;T;GCT;T;T;T;T;T;WjgI2ii5?52X71_ZNJ&Sv%vՄz %KP/^Bz "NQ#soxsQ iH#!j(PEKT^b]L,+aҒPcKBmD,1 5 $"RPCMbُe6\Vs4]8,ߧ&G CIpr) print(xyplot(tpr)) ## comparing against lme4a reference values -- but lme4 returns sigma ## rather than log(sigma) stopifnot(dim(CIpr) == c(3,2), all.equal(unname(CIpr[".sigma",]),exp(c(3.64362, 4.21446)), tolerance=1e-6), all.equal(unname(CIpr["(Intercept)",]),c(1486.451500,1568.548494))) options(oo)# warnings allowed .. ## fixed-effect profiling with vector RE data(Pastes) fm <- lmer(strength ~ 1 + (cask | batch), data=Pastes) pfm <- profile(fm, which = "beta_", alphamax=.001) xyplot(pfm) (testLevel <- lme4:::testLevel()) if(testLevel > 2) { ## 2D profiles fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) system.time(pr2 <- profile(fm2ML)) # 5.2 sec (confint(pr2) -> CIpr2) lme4a_CIpr2 <- structure(c(0.633565787613112, 1.09578224011285, -0.721864513060904, 21.2666273835452, 1.1821039843372, 3.55631937954106, -0.462903300019305, 24.6778176174587), .Dim = c(4L, 2L), .Dimnames = list(c(".sig01", ".sig02", ".lsig", "(Intercept)"), c("2.5 %", "97.5 %"))) lme4a_CIpr2[".lsig",] <- exp(lme4a_CIpr2[".lsig",]) stopifnot(all.equal(unname(CIpr2),unname(lme4a_CIpr2),tolerance=1e-6)) print(xyplot(pr2, absVal=0, aspect=1.3, layout=c(4,1))) print(splom(pr2)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) ## GLMM profiles system.time(pr4 <- profile(gm1)) ## ~ 10 seconds pr4.3 <- profile(gm1,which=3) xyplot(pr4,layout=c(5,1),as.table=TRUE) splom(pr4) ## used to fail because of NAs nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) if (FALSE) { ## not working yet pr5 <- profile(nm1,which=1,verbose=1,maxmult=1.2) xyplot(.zeta~.focal|.par,type=c("l","p"),data=lme4:::as.data.frame.thpr(pr5), scale=list(x=list(relation="free")), as.table=TRUE) } } ## testLevel > 2 if (testLevel > 3) { fm3ML <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML=FALSE) ## ~ 4 theta-variables (+ 2 fixed), 19 seconds : print(system.time(pr3 <- profile(fm3ML))) print(xyplot(pr3)) print(splom(pr3)) if (testLevel > 4) { if(require("mlmRev")) { ## takes much longer data("Contraception", package="mlmRev") fm2 <- glmer(use ~ urban+age+livch+(urban|district), Contraception, binomial) print(system.time(pr5 <- profile(fm2,verbose=10))) print(xyplot(pr5)) } } ## testLevel > 4 } ## testLevel > 3 library("parallel") if (detectCores()>1) { p0 <- profile(fm1, which="theta_") ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS"))>0 if(.Platform$OS.type != "windows" && !travis) { prof01P <- profile(fm1, which="theta_", parallel="multicore", ncpus=2) stopifnot(all.equal(p0,prof01P)) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS" && !travis) { prof01P.snow <- profile(fm1, which="theta_", parallel="snow", ncpus=2) stopifnot(all.equal(p0,prof01P.snow)) } } ## test profile/update from within functions foo <- function() { df <- cbpp gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) pp <- profile(gm1,which="theta_") return(pp) } stopifnot(is(foo(),"thpr")) lme4/tests/nlmer-conv.R0000644000176200001440000000155112406350753014467 0ustar liggesusers### nlmer() convergence testing / monitoring / ... ## ------------------- ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## 'Theoph' Data modeling if (lme4:::testLevel() > 1) { Th.start <- c(lKe=-2.5, lKa=0.5, lCl=-3) (nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ lKe+lKa+lCl|Subject, Theoph, start = Th.start)) (nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject)+(lKa|Subject)+(lCl|Subject), Theoph, start = Th.start)) ## dropping lKe from random effects: (nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~lKa+lCl|Subject, Theoph, start = Th.start, tolPwrss=1e-8)) (nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~(lKa|Subject)+(lCl|Subject), Theoph, start = Th.start)) } lme4/tests/testthat/0000755000176200001440000000000013216511172014114 5ustar liggesuserslme4/tests/testthat/test-methods.Rout0000644000176200001440000007331413170163631017421 0ustar liggesusers R Under development (unstable) (2017-09-16 r73293) -- "Unsuffered Consequences" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library("testthat") > library("lme4") Loading required package: Matrix > L <- load(system.file("testdata", "lme-tst-fits.rda", + package="lme4", mustWork=TRUE)) > > ## FIXME: should test for old R versions, skip reloading test data in that > ## case? > fm0 <- fit_sleepstudy_0 > fm1 <- fit_sleepstudy_1 > fm2 <- fit_sleepstudy_2 > gm1 <- fit_cbpp_1 > gm2 <- fit_cbpp_2 > gm3 <- fit_cbpp_3 > ## More objects to use in all contexts : > set.seed(101) > dNA <- data.frame( + xfac= sample(letters[1:10], 100, replace=TRUE), + xcov= runif(100), + resp= rnorm(100)) > dNA[sample(1:100, 10), "xcov"] <- NA > > CI.boot <- function(fm, nsim=10, seed=101, ...) + suppressWarnings(confint(fm, method="boot", nsim=nsim, + quiet=TRUE, seed=seed, ...)) > > ## > rSimple <- function(rep = 2, m.u = 2, kinds = c('fun', 'boring', 'meh')) { + stopifnot(is.numeric(rep), rep >= 1, + is.numeric(m.u), m.u >= 1, + is.character(kinds), (nk <- length(kinds)) >= 1) + nobs <- rep * m.u * nk + data.frame(kind= rep(kinds, each=rep*m.u), + unit = gl(m.u, 1, nobs), y = round(50*rnorm(nobs))) + } > d12 <- rSimple() > > data("Pixel", package="nlme") > nPix <- nrow(Pixel) > fmPix <- lmer(pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog), data = Pixel) > > > context("summary") > test_that("summary", { + ## test for multiple-correlation-warning bug and other 'correlation = *' variants + ## Have 2 summary() versions, each with 3 print(.) ==> 6 x capture.output(.) + sf.aa <- summary(fit_agridat_archbold) + msg1 <- "Correlation.* not shown by default" + ## message => *not* part of capture.*(.) + expect_message(c1 <- capture.output(sf.aa), msg1) + # correlation = NULL - default + cF <- capture.output(print(sf.aa, correlation=FALSE)) + ## TODO? ensure the above gives *no* message/warning/error + expect_identical(c1, cF) + expect_message( + cT <- capture.output(print(sf.aa, correlation=TRUE)) + , "Correlation.* could have been required in summary()") + expect_identical(cF, cT[seq_along(cF)]) + sfT.aa <- summary(fit_agridat_archbold, correlation=TRUE) + expect_message(cT2 <- capture.output(sfT.aa), msg1) + expect_identical(cF, cT2) + cT3 <- capture.output(print(sfT.aa, correlation=TRUE)) + expect_identical(cT, cT3) + cF2 <- capture.output(print(sfT.aa, correlation=FALSE)) + expect_identical(cF, cF2) + }) > > context("anova") > test_that("lmer", { + expect_that(suppressMessages(anova(fm0,fm1)), is_a("anova")) + expect_warning(do.call(anova,list(fm0,fm1)), "assigning generic names") + ## + dat <- data.frame(y = 1:5, + u = c(rep("A",2), rep("B",3)), + t = c(rep("A",3), rep("B",2))) + datfun <- function(x) dat + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <- dat + expect_is(stats::anova(lmer(y ~ u + (1 | t), + dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + REML=FALSE), + lmer(y ~ 1 + (1 | t), + dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + REML=FALSE)), "anova") + expect_equal(rownames(stats::anova(lmer(y ~ u + (1 | t), + dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + REML=FALSE), + lmer(y ~ 1 + (1 | t), + dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + REML=FALSE), + model.names=c("a","b"))), + c("b","a")) + expect_error(rownames(stats::anova(lmer(y ~ u + (1 | t), + dat = dat, REML=FALSE), + lmer(y ~ 1 + (1 | t), + dat = dat, REML=FALSE), + model.names=c("a","b","c"))), + "different lengths") + z <- 1 + stats::anova(lmer(y ~ u + (1 | t), data = datfun(z), REML=FALSE), + lmer(y ~ 1 + (1 | t), data = datfun(z), REML=FALSE)) + ## + ## from Roger Mundry via Roman Lustrik + full <- lmer(resp ~ xcov + (1|xfac), data=dNA) + null <- lmer(resp ~ 1 + (1|xfac), data=dNA) + expect_error(anova(null,full), + "models were not all fitted to the same size of dataset") + ## Github issue #256 from Jonas Lindeløv -- issue is *not* specific for this dataset + ## Two models with subset() within lmer() + full3 <- lmer(y ~ kind + (1|unit), subset(d12, kind != 'boring'), REML=FALSE) + null3 <- update(full3, .~. - kind) + op <- options(warn = 2) # no warnings! + ano3 <- anova(full3, null3)## issue #256: had warning in data != data[[1]] : ... + o3 <- capture.output(ano3) # now prints with only one 'Data:' + expect_equal(1, grep("^Data:", o3)) + ## + ## no problem with subset()ting outside lmer() call: + d12sub <- subset(d12, kind != 'boring') + expect_is(full3s <- lmer(y ~ kind + (1|unit), d12sub, REML=FALSE), "lmerMod") + expect_is(null3s <- update(full3s, .~. - kind), "lmerMod") + expect_is(ano3s <- anova(full3s, null3s), "anova") + expect_equal(ano3, ano3s, check.attributes=FALSE) + options(op) + + ## anova() of glmer+glm models: + gm1 <- glmer(y~(1|u),data=dat[1:4,],family=poisson) + gm0 <- glm(y~1,data=dat[1:4,],family=poisson) + gm2 <- glmer(y~(1|u),data=dat[1:4,],family=poisson,nAGQ=2) + aa <- anova(gm1,gm0) + expect_equal(aa[2,"Chisq"],0) + expect_error(anova(gm2,gm0),"incommensurate") + + ## anova() of lmer+glm models: + dat2 <- dat + set.seed(101) + dat2$y <- rnorm(5) + fm1 <- lmer(y~(1|u),data=dat2,REML=FALSE) + fm0 <- lm(y~1,data=dat2) + aa2 <- anova(fm1,fm0) + expect_equal(aa2[2,"Chisq"],0) + + }) > > context("bootMer confint()") > set.seed(47) > test_that("bootMer", { + ## testing bug-fix for ordering of sd/cor components in sd/cor matrix with >2 rows + m1 <- lmer(strength~1+(cask|batch),Pastes) + ci <- CI.boot(m1) + corvals <- ci[grep("^cor_",rownames(ci)),] + expect_true(all(abs(corvals) <= 1)) + ## test bootMer with GLMM, multiple RE + ci1 <- CI.boot(gm2, nsim=5) + ci2 <- CI.boot(gm2, nsim=5, parm=3:6) + ci2B <- CI.boot(gm2, nsim=5, parm="beta_") + ## previously tested with nsim=5 vs nsim=3 + expect_true(nrow(ci2) == 4) + expect_equal(ci2,ci2B) + expect_equal(ci1[3:6,], ci2) ## , tolerance = 0.4)# 0.361 + ## bootMer with NA values + PastesNA <- Pastes + PastesNA$cask[1:3] <- NA + ## previously set 'Sample' (sic) -- no effect! + m2 <- update(m1, data=PastesNA) + ci3 <- CI.boot(m2) + expect_equal(ci, ci3, tolerance=0.2) + sleepstudyNA <- sleepstudy + sleepstudyNA$Days[1:3] <- NA + m4 <- update(fm2, data = sleepstudyNA) + expect_true(nrow(ci4 <- CI.boot(m4)) == 6) # could check more + ## + ## semipar bootstrapping + m5 <- lmer(Yield ~ 1|Batch, Dyestuff) + set.seed(1) + suppressPackageStartupMessages(require(boot)) + boo01.sp <- bootMer(m5, fixef, nsim = 100, use.u = TRUE, + type = "semiparametric") + expect_equal(sd(boo01.sp$t), 8.215586, tolerance = 1e-4) + ## passing FUN to confint: Torbjørn Håkan Ergon + testFun <- function(fit) fixef(fit)[1] + expect_equal(c(unclass( + suppressWarnings(confint(fm1, method="boot", FUN=testFun, nsim=10, + quiet=TRUE)))), + c(243.7551,256.9104),tolerance=1e-3) + + ## passing re.form to bootMer + FUN <- function(.){ + predict(., type="response") + } + fm2 <- lmer(strength ~ (1|batch/cask), Pastes) + expect_is(bootMer(fm2, predict, nsim=3),"boot") + expect_is(bootMer(fm2, predict, re.form=NULL, nsim=3),"boot") + expect_is(bootMer(fm2, predict, re.form=~(1|batch)+(1|cask:batch), nsim=3), + "boot") + expect_is(b3 <- bootMer(fm2, predict, re.form=~(1|batch), nsim=3), + "boot") + + FUN_name <- function(.) getME(.,"theta") + FUN_noname <- function(.) unname(getME(.,"theta")) + + c_name <- suppressWarnings( + confint(fm2, method="boot", FUN=FUN_name, nsim=3, seed=101)) + + c_noname <- suppressWarnings( + confint(fm2, method="boot", FUN=FUN_noname, nsim=3, seed=101)) + + expect_equal(unname(c_name),unname(c_noname)) + + ## example from + df2 <- data.frame( + prop1 = c(0.46, 0.471, 0.458, 0.764, 0.742, 0.746, + 0.569, 0.45, 0.491, 0.467, 0.464, + 0.556, 0.584, 0.478, 0.456, 0.46, 0.493, 0.704, 0.693, 0.651), + prop2 = c(0.458, 0.438, 0.453, 0.731, 0.738, 0.722, 0.613, + 0.498, 0.452, 0.451, 0.447, + 0.48, 0.576, 0.484, 0.473, 0.467, 0.467, 0.722, 0.707, 0.709), + site = factor(rep(1:8,c(2,1,3,5,3,2,1,3)))) + + ## from SO 37466771: bootstrapping etc. on GLMMs with scale + ## parameters + gaussmodel <- glmer(prop2 ~ prop1 + (1|site), + data=df2, family=gaussian(link="logit")) + set.seed(101) + bci <- suppressWarnings(confint(gaussmodel,method="boot",nsim=10)) + expect_equal(bci, + structure(c(16.0861072699207, 0.0367496156026639, + -4.21025090053564, + 3.1483596407467, 31.3318861915707, + 0.0564761126030204, -1.00593089841924, + 4.7064432268919), .Dim = c(4L, 2L), + .Dimnames = list(c(".sig01", + ".sigma", "(Intercept)", + "prop1"), c("2.5 %", "97.5 %"))), + tolerance=1e-5) + + + }) > > context("confint_other") > test_that("confint", { + load(system.file("testdata", "gotway_hessianfly.rda", package = "lme4")) + ## generated via: + ## gotway_hessianfly_fit <- glmer(cbind(y, n-y) ~ gen + (1|block), + ## data=gotway.hessianfly, family=binomial, + ## control=glmerControl(check.nlev.gtreq.5="ignore")) + ## gotway_hessianfly_prof <- profile(gotway_hessianfly_fit,which=1) + ## save(list=ls(pattern="gotway"),file="gotway_hessianfly.rda") + expect_equal(confint(gotway_hessianfly_prof)[1,1],0) + ## FIXME: should add tests for {-1,1} bounds on correlations as well + expect_equal(c(confint(fm1,method="Wald",parm="beta_")), + c(232.301892,8.891041,270.508318,12.043531), + tolerance=1e-5) + ## Wald gives NA for theta values + expect_true(all(is.na(confint(fm1,method="Wald",parm="theta_")))) + + ## check names + ci1.p <- suppressWarnings(confint(fm1,quiet=TRUE)) + ci1.w <- confint(fm1,method="Wald") + ci1.b <- CI.boot(fm1, nsim=2) + expect_equal(dimnames(ci1.p), + list(c(".sig01", ".sigma", "(Intercept)", "Days"), + c("2.5 %", "97.5 %"))) + expect_equal(dimnames(ci1.p),dimnames(ci1.w)) + expect_equal(dimnames(ci1.p),dimnames(ci1.b)) + ci1.p.n <- suppressWarnings(confint(fm1,quiet=TRUE,oldNames=FALSE)) + ci1.w.n <- confint(fm1,method="Wald", oldNames=FALSE) + ci1.b.n <- CI.boot(fm1, nsim=2, oldNames=FALSE) + expect_equal(dimnames(ci1.p.n), + list(c("sd_(Intercept)|Subject", "sigma", "(Intercept)", "Days"), + c("2.5 %", "97.5 %"))) + expect_equal(dimnames(ci1.p.n),dimnames(ci1.w.n)) + expect_equal(dimnames(ci1.p.n),dimnames(ci1.b.n)) + + ## test case of slightly wonky (spline fit fails) but monotonic profiles: + ## + simfun <- function(J,n_j,g00,g10,g01,g11,sig2_0,sig01,sig2_1){ + N <- sum(rep(n_j,J)) + x <- rnorm(N) + z <- rnorm(J) + mu <- c(0,0) + sig <- matrix(c(sig2_0,sig01,sig01,sig2_1),ncol=2) + u <- MASS::mvrnorm(J,mu=mu,Sigma=sig) + b_0j <- g00 + g01*z + u[,1] + b_1j <- g10 + g11*z + u[,2] + y <- rep(b_0j,each=n_j)+rep(b_1j,each=n_j)*x + rnorm(N,0,sqrt(0.5)) + sim_data <- data.frame(Y=y,X=x,Z=rep(z,each=n_j), + group=rep(1:J,each=n_j)) + } + set.seed(102) + dat <- simfun(10,5,1,.3,.3,.3,(1/18),0,(1/18)) + fit <- lmer(Y~X+Z+X:Z+(X||group),data=dat) + + if (Sys.info()["sysname"] != "SunOS" && + .Platform$OS.type != "windows") { + ## doesn't produce warnings on Solaris, or win-builder ... + expect_warning(pp <- profile(fit,"theta_"), + "non-monotonic profile") + expect_warning(cc <- confint(pp),"falling back to linear interpolation") + ## very small/unstable problem, needs large tolerance + expect_equal(unname(cc[2,]),c(0,0.5427609),tolerance=1e-2) + } + + badprof <- readRDS(system.file("testdata","badprof.rds", + package="lme4")) + expect_warning(cc <- confint(badprof), "falling back to linear") + expect_equal(cc, + structure(c(0, -1, 2.50856219044636, 48.8305727797906, NA, NA, + 33.1204478717389, 1, 7.33374326592662, 68.7254711217912, + -6.90462047196017, + NA), .Dim = c(6L, 2L), + .Dimnames = list(c(".sig01", ".sig02", + ".sig03", ".sigma", "(Intercept)", "cYear"), + c("2.5 %", "97.5 %"))), + tolerance=1e-3) + }) > > > context("refit") > test_that("refit", { + s1 <- simulate(fm1) + expect_is(refit(fm1,s1), "merMod") + s2 <- simulate(fm1,2) + expect_error(refit(fm1,s2), "refit not implemented .* lists") + data(Orthodont,package = "nlme") + fmOrth <- fm <- lmer(distance ~ I(age - 11) + (I(age - 11) | Subject), + data = Orthodont) + expect_equal(s1 <- simulate(fm,newdata = Orthodont,seed = 101), + s2 <- simulate(fm,seed = 101)) + + + ## works *without* offset ... + m5 <- glmer(round(Reaction) ~ Days + (1|Subject), + data = sleepstudy, family=poisson, + offset=rep(0,nrow(sleepstudy))) + m5R <- refit(m5) + ## lots of fussy details make expect_equal() on the whole object difficult + expect_equal(coef(m5),coef(m5R),tolerance=3e-6) + expect_equal(VarCorr(m5),VarCorr(m5R),tolerance=1e-6) + expect_equal(logLik(m5),logLik(m5R)) + }) > > context("predict") > test_that("predict", { + d1 <- with(cbpp, expand.grid(period = unique(period), herd = unique(herd))) + d2 <- data.frame(period = "1", herd = unique(cbpp$herd)) + d3 <- expand.grid(period = as.character(1:3), + herd = unique(cbpp$herd)) + p0 <- predict(gm1) + p1 <- predict(gm1,d1) + p2 <- predict(gm1,d2) + p3 <- predict(gm1,d3) + expect_equal(p0[1], p1[1]) + expect_equal(p0[1], p2[1]) + expect_equal(p0[1], p3[1]) + expect_warning(predict(gm1, ReForm=NA), "is deprecated") + ## matrix-valued predictors: Github #201 from Fabian S. + sleepstudy$X <- cbind(1, sleepstudy$Days) + m <- lmer(Reaction ~ -1 + X + (Days | Subject), sleepstudy) + pm <- predict(m, newdata=sleepstudy) + expect_is(pm, "numeric") + expect_equal(quantile(pm, names = FALSE), + c(211.006525, 260.948978, 296.87331, 328.638297, 458.155583)) + op <- options(warn = 2) # there should be no warnings! + if (require("MEMSS",quietly=TRUE)) { + ## test spurious warning with factor as response variable + data("Orthodont", package = "MEMSS") # (differently "coded" from the 'default' "nlme" one) + silly <- glmer(Sex ~ distance + (1|Subject), + data = Orthodont, family = binomial) + sillypred <- data.frame(distance = c(20, 25)) + ps <- predict(silly, sillypred, re.form=NA, type = "response") + expect_is(ps, "numeric") + expect_equal(unname(ps), c(0.999989632, 0.999997201), tolerance=1e-6) + detach("package:MEMSS") + } + ## a case with interactions (failed in one temporary version): + expect_warning(fmPixS <<- update(fmPix, .~. + Side), + "nearly unidentifiable|unable to evaluate scaled gradient|failed to converge") + ## (1|2|3); 2 and 3 seen (as Error??) on CRAN's Windows 32bit + options(op) + + set.seed(1); ii <- sample(nrow(Pixel), 16) + expect_equal(predict(fmPix, newdata = Pixel[ii,]), fitted(fmPix )[ii]) + expect_equal(predict(fmPixS, newdata = Pixel[ii,]), fitted(fmPixS)[ii]) + + set.seed(7); n <- 100; y <- rnorm(n) + dd <- data.frame(id = factor(sample(10, n, replace = TRUE)), + x1 = 1, y = y, x2 = rnorm(n, mean = sign(y))) + expect_message(m <- lmer(y ~ x1 + x2 + (1 | id), data = dd), + "fixed-effect model matrix is rank deficient") + expect_is(summary(m),"summary.merMod") + ii <- sample(n, 16) + expect_equal(predict(m, newdata = dd[ii,]), fitted(m)[ii]) + ## predict(*, new..) gave Error in X %*% fixef(object) - now also drops col. + + ## predict(*, new..) with NA in data {and non-simple model}, issue #246: + m1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) + sleepst.NA <- sleepstudy ; sleepst.NA$Days[2] <- NA + m2 <- update(fm1, data = sleepst.NA) + ## maybe tricky for evaluation; fm1 was defined elsewhere, so data + expect_equal(length(predict(m2, sleepst.NA[1:4,])),4) + + ## Wrong 'b' constructed in mkNewReTrms() -- issue #257 + data(Orthodont,package="nlme") + Orthodont <- within(Orthodont, nsex <- as.numeric(Sex == "Male")) + m3 <- lmer(distance ~ age + (age|Subject) + (0 + Sex |Subject), + data=Orthodont, + control=lmerControl(check.conv.hess="ignore", + check.conv.grad="ignore")) + m4 <- lmer(distance ~ age + (age|Subject) + (0 + nsex|Subject), data=Orthodont) + expect_equal(p3 <- predict(m3, Orthodont), fitted(m3), tolerance=1e-14) + expect_equal(p4 <- predict(m4, Orthodont), fitted(m4), tolerance=1e-14) + + ## related to GH #275 (*passes*), + ss <- sleepstudy + set.seed(1) + ss$noiseChar <- ifelse(runif(nrow(sleepstudy)) > 0.8, "Yes", "No") + ss$noiseFactor <- factor(ss$noiseChar) + fm2 <- lmer(Reaction ~ Days + noiseChar + (Days | Subject), ss) + expect_equal(predict(fm2, newdata = model.frame(fm2)[2:3, ])[2], + predict(fm2, newdata = model.frame(fm2)[3, ])) + fm3 <- lmer(Reaction ~ Days + noiseFactor + (Days | Subject), ss) + expect_equal(predict(fm3, newdata = model.frame(fm3)[2:3, ])[2], + predict(fm3, newdata = model.frame(fm3)[3, ])) + + ## complex-basis functions in RANDOM effect: (currently) + fm5 <- lmer(Reaction~Days+(poly(Days,2)|Subject),sleepstudy) + expect_equal(predict(fm5,sleepstudy[1,]),fitted(fm5)[1]) + ## complex-basis functions in FIXED effect are fine + fm6 <- lmer(Reaction~poly(Days,2)+(1|Subject),sleepstudy) + expect_equal(predict(fm6,sleepstudy[1,]),fitted(fm6)[1]) + + ## GH #414: no warning about dropping contrasts on random effects + op <- options(warn = 2) # there should be no warnings! + set.seed(1) + dat <- data.frame( + fac = rep(c("a", "b"), 100), + grp = rep(1:25, each = 4)) + dat$y <- 0 + contr <- 0.5 * contr.sum(2) + rownames(contr) <- c("a", "b") + colnames(contr) <- "a" + contrasts(dat$fac) <- contr + m1_contr <- lmer(y~fac+(fac|grp),dat) + pp <- predict(m1_contr,newdata=dat) + options(op) + + }) > > context("simulate") > test_that("simulate", { + expect_is(simulate(gm2), "data.frame") + expect_warning(simulate(gm2, ReForm = NA), "is deprecated") + expect_warning(simulate(gm2, REForm = NA), "is deprecated") + p1 <- simulate(gm2, re.form = NULL, seed = 101) + p2 <- simulate(gm2, re.form = ~0, seed = 101) + p3 <- simulate(gm2, re.form = NA, seed = 101) + p4 <- simulate(gm2, re.form = NULL, seed = 101) + expect_warning(p5 <- simulate(gm2, ReForm = ~0, seed = 101), "is deprecated") + p6 <- simulate(gm2, re.form = NA, seed = 101) + expect_warning(p7 <- simulate(gm2, REForm = NULL, seed = 101), "is deprecated") + p8 <- simulate(gm2, re.form = ~0, seed = 101) + p9 <- simulate(gm2, re.form = NA, seed = 101) + p10 <- simulate(gm2,use.u = FALSE, seed = 101) + p11 <- simulate(gm2,use.u = TRUE, seed = 101) + ## minimal check of content: + expect_identical(colSums(p1[,1]), c(incidence = 95, 747)) + expect_identical(colSums(p2[,1]), c(incidence = 109, 733)) + ## equivalences: + ## group ~0: + expect_equal(p2,p3) + expect_equal(p2,p5) + expect_equal(p2,p6) + expect_equal(p2,p8) + expect_equal(p2,p9) + expect_equal(p2,p10) + ## group 1: + expect_equal(p1,p4) + expect_equal(p1,p7) + expect_equal(p1,p11) + expect_error(simulate(gm2,use.u = TRUE, re.form = NA), "should specify only one") + ## + ## hack: test with three REs + p1 <- lmer(diameter ~ (1|plate) + (1|plate) + (1|sample), Penicillin, + control = lmerControl(check.conv.hess = "ignore", + check.conv.grad = "ignore")) + expect_is(sp1 <- simulate(p1, seed=123), "data.frame") + expect_identical(dim(sp1), c(nrow(Penicillin), 1L)) + expect_equal(fivenum(sp1[,1]), + c(20.9412, 22.5805, 23.5575, 24.6095, 27.6997), tolerance=1e-5) + ## Pixel example + + expect_identical(dim(simulate(fmPixS)), c(nPix, 1L)) + expect_identical(dim(simulate(fmPix )), c(nPix, 1L)) + + ## simulation with newdata smaller/larger different from original + fm <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin) + expect_is(simulate(fm,newdata=Penicillin[1:10,],allow.new.levels=TRUE),"data.frame") + expect_is(simulate(fm,newdata=do.call(rbind,replicate(4,Penicillin,simplify=FALSE))),"data.frame") + + ## negative binomial sims + set.seed(101) + dd <- data.frame(f=factor(rep(1:10,each=20)), + x=runif(200), + y=rnbinom(200,size=2,mu=2)) + g1 <- glmer.nb(y ~ x + (1|f), data=dd) + th.g1 <- getME(g1, "glmer.nb.theta") + ## changed to setting seed internally + ts1 <- table(s1 <- simulate(g1,seed=101)[,1]) + ## ts1B <- table(s1 <- simulate(g1,seed=101)[,1]) + expect_equal(fixef(g1), + c("(Intercept)" = 0.630067, x = -0.0167248), + tolerance = 1e-4) + ## ?? Travis is getting hung up here/ignoring tolerance spec?? + expect_equal(th.g1, 2.013, tolerance = 1e-4) + expect_equal(th.g1, g1@call$family[["theta"]])# <- important for pkg{effects} eval() + expect_identical(sum(s1), 413) + expect_identical(as.vector(ts1[as.character(0:5)]), + ## c(51L, 54L, 36L, 21L, 14L, 9L)) + c(49L,56L,32L,25L,11L,9L)) + + ## de novo NB simulation ... + s2 <- simulate(~x + (1|f),seed=101, + family=MASS::negative.binomial(theta=th.g1), + newparams=getME(g1,c("theta","beta")), + newdata=dd)[,1] + expect_equal(s1,s2) + + ## Simulate with newdata with *new* RE levels: + d <- sleepstudy[-1] # droping the response ("Reaction") + ## d$Subject <- factor(rep(1:18, each=10)) + ## Add 18 new subjects: + d <- rbind(d, d) + d$Subject <- factor(rep(1:36, each=10)) + d$simulated <- simulate(fm1, seed=1, newdata = d, + re.form=NULL, + allow.new.levels = TRUE)[,1] + expect_equal(mean(d$simulated), 299.9384608) + + ## Simulate with weights: + newdata <- with(cbpp, expand.grid(period=unique(period), + herd=unique(herd))) + ss <- simulate(gm1, newdata=newdata[1:3,], + weights=20, seed=101)[[1]] + expect_equal(ss, + matrix(c(4,2,0,16,18,20),nrow=3, + dimnames=list(NULL,c("incidence","")))) + ss <- simulate(gm3, newdata=newdata[1:3,], + weights=20, seed=101)[[1]] + expect_equal(ss,c(0.2,0.1,0.0)) + ss <- simulate(gm1, newdata=newdata[1,], + weights=20, seed=101)[[1]] + expect_equal(unname(ss),matrix(c(4,16),nrow=1)) + + ## simulate Gamma, from function and de novo + set.seed(102) + dd <- data.frame(x=rep(seq(-2,2,length=15),10), + f=factor(rep(1:10,each=15))) + u <- rnorm(10) + dd$y <- with(dd, + rgamma(nrow(dd),shape=2, + scale=exp(2+1*x+u[as.numeric(f)])/2)) + g1 <- glmer(y~x+(1|f),family=Gamma(link="log"),dd) + s1 <- simulate(g1,seed=101) + s2 <- suppressMessages(simulate(~x+(1|f), family=Gamma(link="log"), + seed=101, + newdata=dd, + newparams=getME(g1,c("theta","beta","sigma")))) + expect_equal(s1,s2) + dd$y2 <- s2[[1]] + g2 <- glmer(y2~x+(1|f),family=Gamma(link="log"),dd) + expect_equal(fixef(g2), tolerance = 4e-7, # 32-bit windows showed 1.34e-7 + c("(Intercept)" = 2.81887136759369, x= 1.06543222163626)) + }) > > context("misc") > test_that("misc", { + expect_equal(df.residual(fm1),176) + if (require(ggplot2)) { + expect_is(fortify(fm1), "data.frame") + expect_is(fortify(gm1), "data.frame") + } + expect_is(as.data.frame(VarCorr(fm1)), "data.frame") + }) > > context("plot") > test_that("plot", { + ## test getData() within plot function: reported by Dieter Menne + doFit <- function(){ + data(Orthodont,package = "nlme") + data1 <- Orthodont + lmer(distance ~ age + (age|Subject), data = data1) + } + data(Orthodont, package = "nlme") + fm0 <- lmer(distance ~ age + (age|Subject), data = Orthodont) + expect_is(plot(fm0), "trellis") + suppressWarnings(rm("Orthodont")) + fm <- doFit() + pp <- plot(fm, resid(., scaled = TRUE) ~ fitted(.) | Sex, abline = 0) + expect_is(pp, "trellis") + + ## test qqmath/getIDLabels() + expect_is(q1 <- lattice::qqmath(fm,id=0.05),"trellis") + + cake2 <- transform(cake,replicate=as.numeric(replicate), + recipe=as.numeric(recipe)) + fm2 <- lmer(angle ~ recipe + temp + + (1|recipe:replicate), cake2, REML= FALSE) + expect_is(lattice::qqmath(fm2,id=0.05), "trellis") + expect_is(lattice::qqmath(fm2,id=0.05, idLabels=~recipe), "trellis") + }) > > context("misc") > test_that("summary", { + ## test that family() works when $family element is weird + ## FIXME: is convergence warning here a false positive? + gnb <- suppressWarnings(glmer(TICKS~1+(1|BROOD), + family=MASS::negative.binomial(theta=2), + data=grouseticks)) + expect_is(family(gnb),"family") + }) > > > context("profile") > test_that("profile", { + ## FIXME: can we deal with convergence warning messages here ... ? + ## fit profile on default sd/cor scale ... + p1 <- suppressWarnings(profile(fm1,which="theta_")) + ## and now on var/cov scale ... + p2 <- suppressWarnings(profile(fm1,which="theta_", + prof.scale="varcov")) + ## because there are no correlations, squaring the sd results + ## gives the same result as profiling on the variance scale + ## in the first place + expect_equal(confint(p1)^2,confint(p2), + tolerance=1e-5) + ## or via built-in varianceProf() function + expect_equal(unname(confint(varianceProf(p1))), + unname(confint(p2)), + tolerance=1e-5) + p3 <- profile(fm2,which=c(1,3,4)) + p4 <- suppressWarnings(profile(fm2,which="theta_",prof.scale="varcov", + signames=FALSE)) + ## warning: In zetafun(np, ns) : NAs detected in profiling + ## compare only for sd/var components, not corr component + expect_equal(unname(confint(p3)^2), + unname(confint(p4)[c(1,3,4),]), + tolerance=1e-3) + ## check naming convention properly adjusted + expect_equal(as.character(unique(p4$.par)), + c("var_(Intercept)|Subject", "cov_Days.(Intercept)|Subject", + "var_Days|Subject", "sigma")) + }) > > context("model.frame") > test_that("model.frame", { + ## non-syntactic names + d <- sleepstudy + names(d)[1] <- "Reaction Time" + ee <- function(m,nm) { + expect_equal(names(model.frame(m, fixed.only=TRUE)),nm) + } + m <- lmer(Reaction ~ 1 + (1 | Subject), sleepstudy) + ee(m,"Reaction") + m2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy) + ee(m2,c("Reaction","Days")) + m3 <- lmer(`Reaction Time` ~ Days + (1 | Subject), d) + ee(m3, c("Reaction Time","Days")) + m4 <- lmer(Reaction ~ log(1+Days) + (1 | Subject), sleepstudy) + ee(m4, c("Reaction","log(1 + Days)")) + }) > > proc.time() user system elapsed 40.016 0.144 40.345 lme4/tests/testthat/test-resids.R0000644000176200001440000000555012764365102016521 0ustar liggesuserslibrary("testthat") library("lme4") context("residuals") test_that("lmer", { fm1 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy) ## fm2 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy, ## control=lmerControl(calc.derivs=FALSE)) ## all.equal(resid(fm1),resid(fm2)) expect_equal(range(resid(fm1)), c(-101.1789,132.5466), tolerance=1e-6) expect_equal(range(resid(fm1, scaled=TRUE)), c(-3.953567,5.179260), tolerance=1e-6) expect_equal(resid(fm1,"response"),resid(fm1)) expect_equal(resid(fm1,"response"),resid(fm1,type="working")) expect_equal(resid(fm1,"deviance"),resid(fm1,type="pearson")) expect_equal(resid(fm1),resid(fm1,type="pearson")) ## because no weights given expect_error(residuals(fm1,"partial"), "partial residuals are not implemented yet") sleepstudyNA <- sleepstudy na_ind <- c(10,50) sleepstudyNA[na_ind,"Days"] <- NA fm1NA <- update(fm1,data=sleepstudyNA) fm1NA_exclude <- update(fm1,data=sleepstudyNA,na.action="na.exclude") expect_equal(length(resid(fm1)),length(resid(fm1NA_exclude))) expect_true(all(is.na(resid(fm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(fm1NA_exclude)[-na_ind]))) }) test_that("glmer", { gm1 <- glmer(incidence/size ~ period + (1|herd), cbpp, family=binomial, weights=size) gm2 <- update(gm1,control=glmerControl(calc.derivs=FALSE)) gm1.old <- update(gm1,control=glmerControl(calc.derivs=FALSE, use.last.params=TRUE)) expect_equal(resid(gm1),resid(gm2)) ## y, wtres, mu change ?? ## FIX ME:: why does turning on derivative calculation make these tests fail??? expect_equal(range(resid(gm1.old)), c(-3.197512,2.356677), tolerance=1e-6) expect_equal(range(resid(gm1)), c(-3.1975034,2.35668826), tolerance=1e-6) expect_equal(range(resid(gm1.old, "response")), c(-0.1946736,0.3184579), tolerance=1e-6) expect_equal(range(resid(gm1,"response")),c(-0.194674747774946, 0.318458889275477)) expect_equal(range(resid(gm1.old, "pearson")), c(-2.381643,2.879069),tolerance=1e-5) expect_equal(range(resid(gm1,"pearson")), c(-2.38163599828335, 2.87908806084918)) expect_equal(range(resid(gm1.old, "working")), c(-1.241733,5.410587),tolerance=1e-5) expect_equal(range(resid(gm1, "working")), c(-1.24173431447365, 5.41064465283686)) expect_equal(resid(gm1),resid(gm1,scaled=TRUE)) ## since sigma==1 expect_error(resid(gm1,"partial"), "partial residuals are not implemented yet") cbppNA <- cbpp na_ind <- c(10,50) cbppNA[na_ind,"period"] <- NA gm1NA <- update(gm1,data=cbppNA) gm1NA_exclude <- update(gm1,data=cbppNA,na.action="na.exclude") expect_equal(length(resid(gm1)),length(resid(gm1NA_exclude))) expect_true(all(is.na(resid(gm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(gm1NA_exclude)[-na_ind]))) }) lme4/tests/testthat/test-utils.R0000644000176200001440000000427512650276557016404 0ustar liggesuserslibrary("testthat") library("lme4") context("Utilities (including *non*-exported ones") test_that("namedList", { nList <- lme4:::namedList a <- b <- c <- 1 expect_identical(nList(a,b,c), list(a = 1, b = 1, c = 1)) expect_identical(nList(a,b,d=c),list(a = 1, b = 1, d = 1)) expect_identical(nList(a, d=pi, c), list(a = 1, d = pi, c = 1)) }) test_that("Var-Cov factor conversions", { ## from ../../R/vcconv.R mlist2vec <- lme4:::mlist2vec Cv_to_Vv <- lme4:::Cv_to_Vv Cv_to_Sv <- lme4:::Cv_to_Sv Sv_to_Cv <- lme4:::Sv_to_Cv Vv_to_Cv <- lme4:::Vv_to_Cv ## set.seed(1); cvec1 <- sample(10, 6) v1 <- Cv_to_Vv(cvec1) expect_equal(unname(v1), structure(c(9, 12, 15, 65, 34, 93), clen = 3)) expect_equal(2, as.vector(Vv_to_Cv(Cv_to_Vv(2)))) expect_equivalent(c(v1, 1), Cv_to_Vv(cvec1, s=3) / 3^2) expect_equal(as.vector(ss1 <- Sv_to_Cv(Cv_to_Sv(cvec1))), cvec1) expect_equal(as.vector(vv1 <- Vv_to_Cv(Cv_to_Vv(cvec1))), cvec1) ## for length-1 matrices, Cv_to_Sv should be equivalent ## to multiplying Cv by sigma and appending sigma .... clist2 <- list(matrix(1),matrix(2),matrix(3)) cvec2 <- mlist2vec(clist2) expect_equal(cvec2, structure(1:3, clen = rep(1,3)), tolerance=0) expect_true(all((cvec3 <- Cv_to_Sv(cvec2, s=2)) == c(cvec2*2,2))) n3 <- length(cvec3) expect_equivalent(Sv_to_Cv(cvec3, n=rep(1,3), s=2), cvec3[-n3]/cvec3[n3]) }) test_that("nobar", { rr <- lme4:::RHSForm expect_equal(nobars(y~1+(1|g)), y~1) expect_equal(nobars(y~1|g), y~1) expect_equal(nobars(y~1+(1||g)), y~1) expect_equal(nobars(y~1||g), y~1) expect_equal(nobars(y~1+(x:z|g)), y~1) expect_equal(nobars(y~1+(x*z|g/h)), y~1) expect_equal(nobars(y~(1|g)+x+(x|h)), y~x) expect_equal(nobars(y~(1|g)+x+(x+z|h)), y~x) expect_equal(nobars(~1+(1|g)), ~1) expect_equal(nobars(~(1|g)), ~1) expect_equal(nobars(rr(y~1+(1|g))), 1) expect_equal(nobars(rr(y~(1|g))), 1) }) lme4/tests/testthat/test-doubleVertNotation.R0000644000176200001440000000617213215245077021060 0ustar liggesuserslibrary("lme4") library("testthat") context("testing '||' notation for independent ranefs") test_that("basic intercept + slope '||' works", { expect_equivalent( lFormula(Reaction ~ Days + (Days||Subject), sleepstudy)$reTrms, lFormula(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)$reTrms ) expect_equivalent( fitted(lmer(Reaction ~ Days + (Days||Subject), sleepstudy)), fitted(lmer(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)) ) }) test_that("'||' works with nested, multiple, or interaction terms" , { #works with nested expect_equivalent(findbars(y ~ (x || id / id2)), findbars(y ~ (1 | id / id2) + (0 + x | id / id2))) #works with multiple expect_equivalent(findbars(y ~ (x1 + x2 || id / id2) + (x3 | id3) + (x4 || id4)), findbars(y ~ (1 | id / id2) + (0 + x1 | id / id2) + (0 + x2 | id / id2) + (x3 | id3) + (1 | id4) + (0 + x4| id4))) #interactions: expect_equivalent(findbars(y ~ (x1*x2 || id)), findbars(y ~ (1 | id) + (0+x1 | id) + (0 + x2 | id) + (0 + x1:x2 | id))) }) test_that("quoted terms work", { ## used to fail in test-oldRZXFailure.R f <- quote(crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot)) expect_equivalent(findbars(f)[[1]], (~(snail.size|plot))[[2]][[2]] ) }) test_that("leaves superfluous '||' alone", { expect_equivalent(findbars(y ~ z + (0 + x || id)), findbars(y ~ z + (0 + x | id))) }) test_that("plays nice with parens in fixed or random formulas", { expect_equivalent(findbars(y ~ (z + x)^2 + (x || id)), findbars(y ~ (z + x)^2 + (1 | id) + (0 + x | id))) expect_equivalent(findbars(y ~ ((x || id)) + (x2|id)), findbars(y ~ (1 | id) + (0 + x | id) + (x2|id))) }) test_that("update works as expected", { m <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) expect_equivalent(fitted(update(m, .~.-(0 + Days | Subject))), fitted(lmer(Reaction ~ Days + (1|Subject), sleepstudy))) }) test_that("long formulas work",{ form <- log.corti~z.n.fert.females*z.n.males+ is.alpha2*(z.infanticide.susceptibility+z.min.co.res+ z.co.res+z.log.tenure)+ z.xtime+z.age.at.sample+sin.season+cos.season+ (1 +z.n.fert.females +z.n.males +is.alpha2.subordinate +z.infanticide.susceptibility +z.min.co.res +z.log.tenure +z.co.res +z.xtime +z.age.at.sample +sin.season +cos.season +I(z.n.fert.females*z.n.males) +I(is.alpha2.subordinate*z.min.co.res) +I(z.co.res*is.alpha2.subordinate) +I(is.alpha2.subordinate*z.co.res) +int.is.a.log.ten ||monkeyid) expStr <- paste(deparse(expandDoubleVerts(form),width=500),collapse="") ## check: no spurious ~ induced expect_equal(1,sum(grepl("~",strsplit(expStr,"")[[1]]))) }) lme4/tests/testthat/test-factors.R0000644000176200001440000000066712650276557016706 0ustar liggesuserslibrary("testthat") library("lme4") context("factor handling in grouping variables") test_that("factors", { set.seed(101) d <- data.frame(x=runif(1000),y=runif(1000),f1=rep(1:10,each=100),f2=rep(1:10,100)) d2 <- transform(d,f1=factor(f1),f2=factor(f2)) expect_that(lm1 <- lmer(y~x+(1|f1/f2),data=d), is_a("lmerMod")) expect_that(lm2 <- lmer(y~x+(1|f1/f2),data=d2),is_a("lmerMod")) expect_equivalent(lm1,lm2) }) lme4/tests/testthat/test-oldRZXfailure.R0000644000176200001440000000076212650276557017773 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","crabs_randdata00.Rda",package="lme4")) test_that('RZX is being calculated properly', { # this is a test for an old problem, documented here: # http://stevencarlislewalker.github.io/notebook/RZX_problems.html fr <- cbind(final.snail.density, snails.lost) ~ crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot) m <- glmer(fr, data = randdata00, family = binomial) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-glmer.R0000644000176200001440000003713613157630046016342 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 gives_error_or_warning <- function (regexp = NULL, all = FALSE, ...) { function(expr) { res <- try(evaluate_promise(expr),silent=TRUE) no_error <- !inherits(res, "try-error") if (no_error) { warnings <- res$warnings if (!is.null(regexp) && length(warnings) > 0) { return(matches(regexp, all = FALSE, ...)(warnings)) } else { return(expectation(length(warnings) > 0, "no warnings or errors given", paste0(length(warnings), " warnings created"))) } } if (!is.null(regexp)) { return(matches(regexp, ...)(res)) } else { expectation(TRUE, "no error thrown", "threw an error") } } } ## expect_that(stop("foo"),gives_error_or_warning("foo")) ## expect_that(warning("foo"),gives_error_or_warning("foo")) ## expect_that(TRUE,gives_error_or_warning("foo")) ## expect_that(stop("bar"),gives_error_or_warning("foo")) ## expect_that(warning("bar"),gives_error_or_warning("foo")) context("fitting glmer models") test_that("glmer", { set.seed(101) d <- data.frame(z=rbinom(200,size=1,prob=0.5), f=factor(sample(1:10,200,replace=TRUE))) expect_warning(glmer(z~ 1|f, d, family=binomial, method="abc"),"Use the nAGQ argument") expect_warning(glmer(z~ 1|f, d, family=binomial, method="Laplace"),"Use the nAGQ argument") expect_warning(glmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) expect_that(gm1@resp, is_a("glmResp")) expect_that(gm1@pp, is_a("merPredD")) expect_equal(ge1 <- unname(fixef(gm1)), c(-1.39854982537216, -0.992335519118859, -1.12867532780426, -1.58030423764517), tolerance=5e-4) expect_equal(c(VarCorr(gm1)[[1]]), 0.41245527438386, tolerance=6e-4) ### expect_that(family(gm1), equals(binomial())) ### ?? binomial() has an 'initialize' component ... and the order is different expect_equal(deviance(gm1), 73.47428, tolerance=1e-5) ## was -2L = 184.05267459802 expect_equal(sigma(gm1), 1) expect_equal(extractAIC(gm1), c(5, 194.052674598026), tolerance=1e-5) expect_equal(theta <- unname(getME(gm1, "theta")), 0.642226809144453, tolerance=6e-4) expect_that(X <- getME(gm1, "X"), is_equivalent_to( model.matrix(model.frame(~ period, data=cbpp), cbpp))) expect_that(Zt <- getME(gm1, "Zt"), is_a("dgCMatrix")) expect_equal(dim(Zt), c(15L, 56L)) expect_equal(Zt@x, rep.int(1, 56L)) expect_that(Lambdat <- getME(gm1, "Lambdat"), is_a("dgCMatrix")) expect_equivalent(as(Lambdat, "matrix"), diag(theta, 15L, 15L)) expect_is(gm1_probit <- update(gm1,family=binomial(link="probit")),"merMod") expect_equal(family(gm1_probit)$link,"probit") ## FIXME: test user-specified/custom family? expect_error(glFormula(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd==levels(herd)[1]), family = binomial), "must have > 1") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd %in% levels(herd)[1:4]), family = binomial, control=glmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") expect_warning(fm1. <- glmer(Reaction ~ Days + (Days|Subject), sleepstudy), regexp="calling .* with family=gaussian .* as a shortcut") options(warn=2) options(glmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(glmer(z~ 1|f, d, family=binomial), "some options") options(glmerControl=NULL) cbppX <- transform(cbpp,prop=incidence/size) expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, start=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, verbose=0L), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, subset=TRUE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, na.action="na.exclude"), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, offset=rep(0,nrow(cbppX))), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, contrasts=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, devFunOnly=FALSE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl(optimizer="Nelder_Mead")), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl()), "glmerMod") options(warn=0) expect_warning(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, junkArg=TRUE), "extra argument.*disregarded") if(FALSE) { ## Hadley broke this expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=list()), "instead of passing a list of class") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=lmerControl()), "instead of passing a list of class") } ## load(system.file("testdata","radinger_dat.RData",package="lme4")) mod <- glmer(presabs~predictor+(1|species),family=binomial, radinger_dat) expect_is(mod,"merMod") ## tolerance: 32-bit Windows (CRAN) reported ave.diff of 5.33e-8 ## 64-bit Win-builder r73242 now reports ave. diff of 1.31e-5 ... expect_equal(unname(fixef(mod)), c(0.5425528,6.4289962), tolerance = 1e-4) set.seed(101) ## complete separation case d <- data.frame(y=rbinom(1000,size=1,p=0.5), x=runif(1000), f=factor(rep(1:20,each=50)), x2=rep(0:1,c(999,1))) mod2 <- glmer(y~x+x2+(1|f),data=d,family=binomial, control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) expect_equal(unname(fixef(mod2))[1:2], c(-0.10036244,0.03548523), tolerance=1e-4) expect_true(unname(fixef(mod2)[3] < -10)) mod3 <- update(mod2, family=binomial(link="probit")) # singular Hessian warning expect_equal(unname(fixef(mod3))[1:2], c(-0.062889, 0.022241), tolerance=1e-4) expect_true(fixef(mod3)[3] < -4) mod4 <- update(mod2, family=binomial(link="cauchit"), control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore"))#--> singular Hessian warning ## on-the-fly creation of index variables if (FALSE) { ## FIXME: fails in testthat context -- 'd' is not found ## in the parent environment of glmer() -- but works fine ## otherwise ... set.seed(101) d <- data.frame(y1=rpois(100,1), x=rnorm(100), ID=1:100) fit1 <- glmer(y1 ~ x+(1|ID),data=d,family=poisson) fit2 <- update(fit1, .~ x+(1|rownames(d))) expect_equal(unname(unlist(VarCorr(fit1))), unname(unlist(VarCorr(fit2)))) } ## if(testLevel > 1) { load(system.file("testdata","mastitis.rda",package="lme4")) t1 <- system.time(g1 <- glmer(NCM ~ birth + calvingYear + (1|sire) + (1|herd), mastitis, poisson, ## current (2014-04-24) default: control=glmerControl(optimizer=c("bobyqa","Nelder_Mead")))) t2 <- system.time(g2 <- update(g1, control=glmerControl(optimizer="bobyqa"))) ## 20 (then 13.0) seconds N-M vs 8 (then 4.8) seconds bobyqa ... ## problem is fairly ill-conditioned so parameters ## are relatively far apart even though likelihoods are OK expect_equal(logLik(g1),logLik(g2),tolerance=1e-7) } ## test bootstrap/refit with nAGQ>1 gm1AGQ <- update(gm1,nAGQ=2) s1 <- simulate(gm1AGQ) expect_equal(attr(bootMer(gm1AGQ,fixef),"bootFail"),0) ## do.call(new,...) bug new <- "foo" expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) rm("new") ## test issue #47, from Wolfgang Viechtbauer ## create some data n <- 100 ai <- rep(0:1, each = n/2) bi <- 1-ai ci <- c(rep(0,42), rep(1,8), rep(0,18), rep(1,32)) di <- 1-ci event <- c(rbind(ai,ci)) group <- rep(c(1,0), times=n) id <- rep(1:n, each=2) gm3 <- glmer(event ~ group + (1 | id), family=binomial, nAGQ=21) sd3 <- sqrt(diag(vcov(gm3))) expect_equal(sd3, c(0.4254254, 0.424922), tolerance=1e-5) expect_warning(vcov(gm3,use.hessian=FALSE), "finite-difference Hessian") expect_equal(suppressWarnings(sqrt(diag(vcov(gm3,use.hessian=FALSE)))), c(0.3840921, 0.3768747), tolerance=1e-7) expect_equal(sd3, unname(coef(summary(gm3))[,"Std. Error"])) ## test non-pos-def finite-difference Hessian ... if(getRversion() > "3.0.0") { ## saved fits are not safe with old R versions L <- load(system.file("testdata","polytomous_vcov_ex.RData", package="lme4", mustWork=TRUE)) expect_warning(vcov(polytomous_vcov_ex),"falling back to var-cov") } ## damage Hessian to make it singular ## (example thanks to J. Dushoff) gm1H <- gm1 gm1H@optinfo$derivs$Hessian[5,] <- 0 expect_warning(vcov(gm1H),"falling back to var-cov") ## test convergence warnings L <- load(system.file("testdata","gopherdat2.RData", package="lme4", mustWork=TRUE)) g0 <- glmer(shells~prev + (1|Site)+offset(log(Area)), family=poisson, data=Gdat) ## fit year as factor: OK gc <- glmerControl(check.conv.grad="stop") expect_is(update(g0,.~.+factor(year), control=gc), "glmerMod") ## error/warning with year as numeric: ## don't have full knowledge of which platforms lead to which ## results, and can't detect whether we're running on valgrind, ## which changes the result on 32-bit linux ... ## SEGFAULT on MacOS? why? if (FALSE) { expect_that(update(g0,.~.+year), gives_error_or_warning("(failed to converge|pwrssUpdate did not converge)")) } ## ("(failed to converge|pwrssUpdate did not converge in)")) ## if (sessionInfo()$platform=="i686-pc-linux-gnu (32-bit)") { ## expect_warning(update(g0, .~. +year), "failed to converge") ## } else { ## ## MacOS x86_64-apple-darwin10.8.0 (64-bit) ## ## MM's platform ## ## "pwrssUpdate did not converge in (maxit) iterations" ## expect_error(update(g0, .~. +year), "pwrssUpdate did not converge in") ## } ## OK if we scale & center it expect_is(update(g0,.~. + scale(year), control=gc), "glmerMod") ## not OK if we scale and don't center expect_warning(update(g0,.~. + scale(year,center=FALSE)), "failed to converge with max|grad|") ## OK if center and don't scale expect_is(update(g0,.~. + scale(year,center=TRUE,scale=FALSE), control=gc), "glmerMod") ## try higher-order AGQ expect_is(update(gm1,nAGQ=90),"glmerMod") expect_error(update(gm1,nAGQ=101),"ord < 101L") ## non-numeric response variables ss <- transform(sleepstudy, Reaction = as.character(Reaction)) expect_error(glmer(Reaction~(1|Days), family="poisson", data=ss), "response must be numeric") expect_error(glmer(Reaction~(1|Days), family="binomial", data=ss), "response must be numeric or factor") ss2 <- transform(ss,rr=rep(c(TRUE,FALSE),length.out=nrow(ss))) ## should work OK with logical too expect_is(glmer(rr~(1|Days),family="binomial",data=ss2),"merMod") ## starting values with log(.) link -- thanks to Eric Weese @ Yale: grp <- rep(letters[1:5], 20); set.seed(1); x <- rnorm(100) expect_error(glmer(x ~ 1 + (1|grp), family=gaussian(link="log")), "valid starting values") ## related to GH 231 ## fails on some platforms, skip for now if (FALSE) { rr <- gm1@resp$copy() ff <- setdiff(ls(gm1@resp),c("copy","initialize","initialize#lmResp","ptr", "updateMu","updateWts","resDev","setOffset","wrss")) for (i in ff) { expect_equal(gm1@resp[[i]],rr[[i]]) } } ## bad start case load(system.file("testdata","fakesim.RData",package="lme4")) rfit <- glmer(Inew/S ~ R0-1 + offset(log(I/N)) + (1|R0:trial) , family=binomial(link=cloglog) , data=dat , weight=S , control=glmerControl(optimizer="bobyqa", nAGQ0initStep=FALSE) , start = list(fixef=c(0,0,0),theta=1)) expect_equal(exp(fixef(rfit)), structure(c(1.27350509791919, 2.03306352889742, 2.97640884475551), .Names = c("R01", "R02", "R03")), tolerance=1e-5) ## gaussian with log link and zero values in response ... ## fixed simulation code, passing mustart properly dd <- expand.grid(x=seq(-2,3,length.out=10), f=factor(1:10)) dd$y <- simulate(~x+(1|f), family=gaussian(link="log"), newdata=dd, newparams=list(beta=c(0,1),theta=1,sigma=1), seed=101)[[1]] dd$y <- pmax(dd$y,0) expect_error(glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd),"cannot find valid starting values") g1 <- glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd, mustart=pmax(dd$y,0.1)) msum <- c(fixef(g1),unlist(c(VarCorr(g1))),c(logLik(g1))) expect_equal(msum, structure(c(0.233894052550647, 1.00174364960381, 0.24602991778166, -156.777303793966), .Names = c("(Intercept)", "x", "f", "")), tolerance=1e-5) ## GH 415 expect_warning(glmer (round(Reaction) ~ Days + (1|Subject), data=sleepstudy[1:100,], family=poisson, control=lmerControl()), "please use glmerControl") }) lme4/tests/testthat/test-nlmer.R0000644000176200001440000000077013156022726016342 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 context("lower/upper bounds on nlmer models") test_that("nlmer", { startvec <- c(Asym = 200, xmid = 725, scal = 350) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = startvec, control=nlmerControl(optCtrl=list(lower=c(0,200,-Inf,-Inf)))) expect_equal(unname(fixef(nm1)[1]),200) }) lme4/tests/testthat/test-summary.R0000644000176200001440000000242013215250754016714 0ustar liggesuserslibrary("testthat") library("lme4") context("summarizing/printing models") test_that("lmer", { set.seed(0) J <- 8 n <- 10 N <- J * n beta <- c(5, 2, 4) u <- matrix(rnorm(J * 3), J, 3) x.1 <- rnorm(N) x.2 <- rnorm(N) g <- rep(1:J, rep(n, J)) y <- 1 * (beta[1] + u[g,1]) + x.1 * (beta[2] + u[g,2]) + x.2 * (beta[3] + u[g,3]) + rnorm(N) tmpf <- function(x) capture.output(print(summary(x),digits=1)) cc1 <- tmpf(lmer(y ~ x.1 + x.2 + (1 + x.1 | g))) cc2 <- tmpf(lmer(y ~ x.1 + x.2 + (1 + x.1 + x.2 | g))) expect_equal(tail(cc1,10), c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.5 12", "x.1 1.9 0.4 5", "x.2 4.0 0.1 28", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.019 ", "x.2 0.029 -0.043" )) expect_equal(tail(cc2,10), c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.4 12", "x.1 2.0 0.4 5", "x.2 4.0 0.3 15", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.070 ", "x.2 0.136 -0.103" )) }) lme4/tests/testthat/test-lmList.R0000644000176200001440000001352112771005141016461 0ustar liggesuserslibrary(lme4) library(testthat) context("lmList") test_that("basic lmList", { set.seed(17) fm1. <- lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) fm1 <- lmList(Reaction ~ Days | Subject, sleepstudy) cf.fm1 <- data.frame( `(Intercept)` = c(244.19267, 205.05495, 203.48423, 289.68509, 285.73897, 264.25161, 275.01911, 240.16291, 263.03469, 290.10413, 215.11177, 225.8346, 261.14701, 276.37207, 254.96815, 210.44909, 253.63604, 267.0448), Days = c(21.764702, 2.2617855, 6.1148988, 3.0080727, 5.2660188, 9.5667679, 9.1420455, 12.253141, -2.8810339, 19.025974, 13.493933, 19.504017, 6.4334976, 13.566549, 11.348109, 18.056151, 9.1884448, 11.298073)) expect_equal(signif(coef(fm1), 8), cf.fm1, tolerance = 1e-7, check.attributes=FALSE) expect_equal(coef(fm1.), coef(fm1)) expect_true(inherits(formula(fm1), "formula")) ## <- had been wrong till 2015-04-09 sm1. <- summary(fm1.) sm1 <- summary(fm1) expect_equal(sm1$RSE, 25.5918156267, tolerance = 1e-10) cf1 <- confint(fm1) ## Calling the plot.lmList4.confint() method : expect_true(inherits(pcf1 <- plot(cf1), "trellis")) }) test_that("orthodont", { data(Orthodont, package="nlme") fm2 <- lmList(distance ~ age | Subject, Orthodont) fe2 <- fixef(fm2) expect_equal(fe2, c("(Intercept)" = 16.7611111111111, age = 0.660185185185185)) expect_true(inherits(pairs(fm2), "trellis")) }) test_that("simulated", { set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) expect_equal(coef(fm3.1), structure(list(`(Intercept)` = c(45.8945525606396, 50.1127995110841, 49.5320538515225, 52.4286874305165, 48.7716343882989)), .Names = "(Intercept)", row.names = c("A", "B", "C", "D", "E"), class = "data.frame", label = "Coefficients", effectNames = "(Intercept)", standardized = FALSE)) cf31 <- confint(fm3.1) expect_true(inherits(plot(cf31), "trellis")) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) ## ^^^^^^^^ "glmList" cf32 <- suppressMessages(confint(fm3.2,quiet=TRUE)) expect_identical(dim(cf32), c(5L,2:1)) expect_true(inherits(plot(cf32), "trellis")) expect_equal(unname(getDataPart(signif(drop(cf32), 6))), cbind(c(-0.400041, -0.311489, -1.07774, -0.841075, -0.273828), c( 0.743188, 0.768538, 0.0723138, 0.274392, 0.890795))) }) test_that("cbpp", { ## "glmList" (2) -- here, herd == 8 has only one observation => not estimable expect_warning(fm4 <- lmList(cbind(incidence, size - incidence) ~ period | herd, family=binomial, data=cbpp), "Fitting failed for ") cf4 <- coef(fm4) # with some 5 NA's ## match NA locations expect_equal(dim(cf4),c(15,4)) expect_identical(which(is.na(cf4)), sort(as.integer(c(8+15*(0:3), 47)))) if(FALSE) {## FIXME: but I (BMB) think this is actually an nlme bug ... summary(fm4) library(nlme) data("cbpp",package="lme4") fm6 <- nlme::lmList(incidence ~ period | herd, data=cbpp) try(coef(fm6)) ## coef does *not* work here try(summary(fm6)) } }) test_that("NA,weights,offsets", { ## from GH #320 set.seed(101) x <- 1:8 y <- c(2,2,5,4,3,1,2,1) g <- c(1,1,1,2,2,3,3,3) dat <- data.frame(x=x, y=y, g=g) m1 <- lmList(y ~ x | g, data=dat) expect_false(any(is.na(coef(m1)))) w <- runif(nrow(sleepstudy)) m2 <- lmList(Reaction ~ Days | Subject, weights=w, sleepstudy) ss <- subset(sleepstudy,Subject==levels(Subject)[1]) m2X <- lm(Reaction ~ Days, ss, weights=w[1:nrow(ss)]) expect_equal(coef(m2X),as.matrix(coef(m2))[1,]) m3 <- lmList(Reaction ~ Days | Subject, sleepstudy) m4 <- lmList(Reaction ~ Days | Subject, offset=w, sleepstudy) m4X <- lm(Reaction ~ Days, ss, offset=w[1:nrow(ss)]) expect_equal(coef(m4X),as.matrix(coef(m4))[1,]) expect_false(identical(m2,m3)) expect_false(identical(m4,m3)) m5 <- lmList(Reaction ~ Days + offset(w) | Subject, sleepstudy) expect_equal(coef(m5),coef(m4)) ## more from GH 320 dat2 <- data.frame(dat,xx=c(NA,NA,NA,1:4,NA)) m5 <- lmList(y ~ x | g, data=dat2) expect_equal(unlist(coef(m5)[1,]), coef(lm(y~x,subset=(g==1)))) expect_equal(unlist(coef(m5)[3,]), coef(lm(y~x,subset=(g==3)))) }) test_that("pooled", { ## GH #26 fm_lme4 <- lme4:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme_nopool <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) ci_lme4_pooled <- confint(fm_lme4,pool=TRUE) #get low and high CI estimates and pooled sd ci_nlme_pooled <- nlme:::intervals(fm_nlme,pool=TRUE) expect_equal(unname(ci_lme4_pooled[,,1]),unname(ci_nlme_pooled[,c(1,3),1])) ci_lme4_nopool1 <- confint(fm_lme4,pool=FALSE) ci_lme4_nopool2 <- confint(fm_lme4) expect_identical(ci_lme4_nopool1,ci_lme4_nopool2) ## BUG in nlme::intervals ... ? can't get CIs on unpooled fits ## nlme::intervals(fm_nlme,pool=FALSE) ## nlme::intervals(fm_nlme_nopool) expect_equal(ci_lme4_nopool1[1:3,,1], structure(c(179.433862895996, 193.026448122379, 186.785722998616, 308.951475285822, 217.083442786712, 220.182727910474), .Dim = c(3L, 2L), .Dimnames = list(c("308", "309", "310"), c("2.5 %", "97.5 %")))) }) lme4/tests/testthat/test-rank.R0000644000176200001440000000750213015604046016153 0ustar liggesuserslibrary("testthat") library("lme4") context("testing fixed-effect design matrices for full rank") test_that("lmerRank", { set.seed(101) n <- 20 x <- y <- rnorm(n) d <- data.frame(x,y, z = rnorm(n), r = sample(1:5, size=n, replace=TRUE), y2 = y + c(0.001, rep(0,n-1))) expect_message(fm <- lmer( z ~ x + y + (1|r), data=d), "fixed-effect model matrix is .*rank deficient") ## test reconstitution of full parameter vector (with NAs) expect_equal(names(fixef(fm,add.dropped=TRUE)), c("(Intercept)","x","y")) expect_equal(fixef(fm,add.dropped=TRUE)[1:2], fixef(fm)) expect_equal(nrow(anova(fm)), 1L) expect_error(lmer( z ~ x + y + (1|r), data=d, control=lmerControl(check.rankX="stop")), "rank deficient") expect_error(lmer( z ~ x + y + (1|r), data=d, control=lmerControl(check.rankX="ignore")), "not positive definite") ## should work: expect_is(lmer( z ~ x + y2 + (1|r), data=d), "lmerMod") d2 <- expand.grid(a=factor(1:4),b=factor(1:4),rep=1:10) n <- nrow(d2) d2 <- transform(d2,r=sample(1:5, size=n, replace=TRUE), z=rnorm(n)) d2 <- subset(d2,!(a=="4" & b=="4")) expect_error(lmer( z ~ a*b + (1|r), data=d2, control=lmerControl(check.rankX="stop")), "rank deficient") expect_message(fm <- lmer( z ~ a*b + (1|r), data=d2), "fixed-effect model matrix is rank deficient") d2 <- transform(d2, ab=droplevels(interaction(a,b))) ## should work: expect_is(fm2 <- lmer( z ~ ab + (1|r), data=d2), "lmerMod") expect_equal(logLik(fm), logLik(fm2)) expect_equal(sum(anova(fm)[, "Df"]), anova(fm2)[, "Df"]) expect_equal(sum(anova(fm)[, "Sum Sq"]), anova(fm2)[, "Sum Sq"]) }) test_that("glmerRank", { set.seed(111) n <- 100 x <- y <- rnorm(n) d <- data.frame(x, y, z = rbinom(n,size=1,prob=0.5), r = sample(1:5, size=n, replace=TRUE), y2 = ## y + c(0.001,rep(0,n-1)), ## too small: get convergence failures ## FIXME: figure out how small a difference will still fail? rnorm(n)) expect_message(fm <- glmer( z ~ x + y + (1|r), data=d, family=binomial), "fixed-effect model matrix is rank deficient") expect_error(glmer( z ~ x + y + (1|r), data=d, family=binomial, control=glmerControl(check.rankX="stop")), "rank deficient.*rank.X.") expect_is(glmer( z ~ x + y2 + (1|r), data=d, family=binomial), "glmerMod") }) test_that("nlmerRank", { set.seed(101) n <- 1000 nblock <- 15 x <- abs(rnorm(n)) y <- rnorm(n) z <- rnorm(n,mean=x^y) r <- sample(1:nblock, size=n, replace=TRUE) d <- data.frame(x,y,z,r) ## save("d","nlmerRank.RData") ## see what's going on with difference in contexts fModel <- function(a,b) (exp(a)*x)^(b*y) fModf <- deriv(body(fModel), namevec = c("a","b"), func = fModel) fModel2 <- function(a,b,c) (exp(a+c)*x)^(b*y) fModf2 <- deriv(body(fModel2), namevec = c("a","b","c"), func = fModel2) ## should be OK: fails in test mode? nlmer(y ~ fModf(a,b) ~ a|r, d, start = c(a=1,b=1)) ## FIXME: this doesn't get caught where I expected expect_error(nlmer(y ~ fModf2(a,b,c) ~ a|r, d, start = c(a=1,b=1,c=1)),"Downdated VtV") }) test_that("ranksim", { set.seed(101) x <- data.frame(id = factor(sample(10, 100, replace = TRUE))) x$y <- rnorm(nrow(x)) x$x1 <- 1 x$x2 <- ifelse(x$y<0, rnorm(nrow(x), mean=1), rnorm(nrow(x), mean=-1)) m <- suppressMessages(lmer(y ~ x1 + x2 + (1 | id), data=x)) expect_equal(simulate(m, nsim = 1, use.u = FALSE, newdata=x, seed=101), simulate(m, nsim = 1, use.u = FALSE, seed=101)) }) lme4/tests/testthat/test-start.R0000644000176200001440000000560312771005141016354 0ustar liggesuserslibrary("testthat") library("lme4") context("specifying starting values") ## is "Nelder_Mead" default optimizer? isNM <- formals(lmerControl)$optimizer == "Nelder_Mead" test_that("lmer", { frm <- as.formula("Reaction ~ Days + (Days|Subject)") ctrl <- lmerControl(optCtrl=list(maxfun= if(isNM) 50 else 100)) x <- suppressWarnings(lmer(frm, data=sleepstudy, control=ctrl, REML=FALSE)) x2 <- suppressWarnings(update(x,start=c(1,0,1))) x3 <- suppressWarnings(update(x,start=list(theta=c(1,0,1)))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) expect_error(update(x,start=c("a")),"start must be a list or a numeric vector") ## misspelled expect_error(update(x,start=list(Theta=c(1,0,1))),"incorrect components") th0 <- getME(x,"theta") y <- suppressWarnings(update(x,start=th0)) if(isNM) { expect_equal(AIC(x), 1768.025, tolerance=1e-6) expect_equal(AIC(y), 1763.949, tolerance=1e-6) } else { ## only "bobyqa" tested: expect_equal(AIC(x), 1763.939344, tolerance=1e-6) expect_equal(AIC(x), AIC(y)) } if(isNM) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=c(1,0,1))$fval), unname(deviance(x))) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=th0)$fval), unname(deviance(y))) }) test_that("glmer", { ctrl <- glmerControl(optCtrl=list(maxfun=50)) x <- suppressWarnings(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=ctrl)) ## theta only x2 <- suppressWarnings(update(x,start=c(1))) x3 <- suppressWarnings(update(x,start=list(theta=c(1)))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) expect_error(update(x,start=c("a")),"start must be a list or a numeric vector") expect_error(update(x,start=list(Theta=c(1))),"bad name\\(s\\)") th0 <- getME(x,"theta") y <- suppressWarnings(update(x,start=th0)) ## theta and beta x0 <- update(x,nAGQ=0) x4 <- suppressWarnings(update(x,start=list(theta=1,fixef=fixef(x0)))) x4@call <- x@call expect_equal(x,x4) x5 <- suppressWarnings(update(x,start=list(theta=1,fixef=rep(0,4)))) expect_equal(AIC(x5),221.5823,tolerance=1e-6) x6 <- expect_error(update(x,start=list(theta=1,fixef=rep(0,5))), "incorrect number of fixef components") ## beta only x7 <- suppressWarnings(update(x,start=list(fixef=fixef(x0)))) x7@call <- x@call expect_equal(x,x7) x8 <- suppressWarnings(update(x,start=list(fixef=rep(0,4)))) x8@call <- x5@call expect_equal(x5,x8) }) lme4/tests/testthat/test-formulaEval.R0000644000176200001440000001634313156025165017505 0ustar liggesuserslibrary("testthat") library("lme4") context("data= argument and formula evaluation") test_that("glmerFormX", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## WARNING: these drop/environment tests are extremely sensitive to environment ## they may fail/not fail, or fail differently, within a "testthat" environment vs. ## when run interactively ## AICvec <- c(77.0516381151634, 75.0819116367084, 75.1915023640827) expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ## interactively: ## expect_equal(drop1(m_data.3)$AIC,AICvec) ## expect_equal(drop1(m_data.4)$AIC,AICvec) ## in test environment: expect_error(drop1(m_data.3),"bad 'data'") expect_error(drop1(m_data.4),"bad 'data'") }) test_that("glmerForm", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## formulas have environments associated, but character vectors don't ## data argument not specified: ## should work, but documentation warns against it expect_that(m_nodata.0 <- glmer( x ~ y + z + (1|r) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.1 <- glmer( as.formula(modStr) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.2 <- glmer( modForm , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.3 <- glmer( modStr , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.4 <- glmer( "x ~ y + z + (1|r)" , family="binomial"), is_a("glmerMod")) ## apply drop1 to all of these ... m_nodata_List <- list(m_nodata.0, m_nodata.1,m_nodata.2,m_nodata.3,m_nodata.4) d_nodata_List <- lapply(m_nodata_List,drop1) rm(list=c("x","y","z","r")) ## data argument specified expect_that(m_data.0 <- glmer( x ~ y + z + (1|r) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.1 <- glmer( as.formula(modStr) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.2 <- glmer( modForm , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ff <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d2 <- data.frame(x,y,z,r) glmer( x ~ y + z + (1|r), data=d2, family="binomial") } m_data.5 <- ff() ff2 <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) glmer( x ~ y + z + (1|r), family="binomial") } m_data.6 <- ff2() m_data_List <- list(m_data.0,m_data.1,m_data.2,m_data.3,m_data.4,m_data.5,m_data.6) badNums <- 4:5 d_data_List <- lapply(m_data_List[-badNums],drop1) ## these do NOT fail if there is a variable 'd' living in the global environment -- ## they DO fail in the testthat context expect_error(drop1(m_data.3),"bad 'data'") expect_error(drop1(m_data.4),"bad 'data'") ## expect_error(lapply(m_data_List[4],drop1)) ## expect_error(lapply(m_data_List[5],drop1)) ## d_data_List <- lapply(m_data_List,drop1,evalhack="parent") ## fails on element 1 ## d_data_List <- lapply(m_data_List,drop1,evalhack="formulaenv") ## fails on element 4 ## d_data_List <- lapply(m_data_List,drop1,evalhack="nulldata") ## succeeds ## drop1(m_data.5,evalhack="parent") ## 'd2' not found ## drop1(m_data.5,evalhack="nulldata") ## 'x' not found (d2 is in environment ...) ## should we try to make update smarter ... ?? ## test equivalence of (i vs i+1) for all models, all drop1() results for (i in 1:(length(m_nodata_List)-1)) { expect_equivalent(m_nodata_List[[i]],m_nodata_List[[i+1]]) expect_equivalent(d_nodata_List[[i]],d_nodata_List[[i+1]]) } expect_equivalent(m_nodata_List[[1]],m_data_List[[1]]) expect_equivalent(d_nodata_List[[1]],d_data_List[[1]]) for (i in 1:(length(m_data_List)-1)) { expect_equivalent(m_data_List[[i]],m_data_List[[i+1]]) } ## allow for dropped 'bad' vals for (i in 1:(length(d_data_List)-1)) { expect_equivalent(d_data_List[[i]],d_data_List[[i+1]]) } }) test_that("lmerForm", { set.seed(101) x <- rnorm(10) y <- rnorm(10) z <- rnorm(10) r <- sample(1:3, size=10, replace=TRUE) d <- data.frame(x,y,z,r) ## example from Joehanes Roeby m2 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) ff <- function() { m1 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) return(anova(m1)) } ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- lmer(ff1, sleepstudy) fun <- function () { ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- suppressWarnings(lmer(ff1, sleepstudy)) return (anova(fm1)) } anova(m2) ff() expect_equal(anova(m2),ff()) anova(fm1) fun() expect_equal(anova(fm1),fun()) ## test deparsing of long RE terms varChr <- paste0("varname_",outer(letters,letters,paste0)[1:100]) rvars <- varChr[1:9] form <- as.formula(paste("y ~",paste(varChr,collapse="+"), "+", paste0("(",paste(rvars,collapse="+"),"|f)"))) ff <- lme4:::reOnly(form) environment(ff) <- .GlobalEnv expect_equal(ff, ~(varname_aa + varname_ba + varname_ca + varname_da + varname_ea + varname_fa + varname_ga + varname_ha + varname_ia | f)) }) test_that("lapply etc.", { ## copied from dplyr failwith <- function (default = NULL, f, quiet = FALSE) { function(...) { out <- default try(out <- f(...), silent = quiet) out } } lmer_fw <- failwith(NULL,function(...) lmer(...) ,quiet=TRUE) expect_is(lmer_fw(Yield ~ 1|Batch, Dyestuff, REML = FALSE), "merMod") ## GH 369 listOfFormulas <- list( cbind(incidence, size - incidence) ~ 1 + (1 | herd), cbind(incidence, size - incidence) ~ period + (1 | herd)) expect_is(lapply(listOfFormulas,glmer,family=binomial,data=cbpp),"list") }) test_that("missDataFun", { X <- expand.grid(x1=1:10, x2=1:10, x3=1:10, x4=1:10, g=letters[1:20]) X$y <- X$x1 + rnorm(10)[X$g] + rnorm(200000) system.time(lmer(y ~ x1 + x2 + x3 + x4 + (1|g), data=X, control=lmerControl(optimizer=NULL))) g <- function(X) { X$y <- X$x1 + rnorm(10)[X$g] + rnorm(200000) lme4:::missDataFun(X) } ## should take < 1 second since deparsing is now skipped expect_lt(system.time(g(X))["elapsed"],1) }) lme4/tests/testthat/test-catch.R0000644000176200001440000000105712764365102016310 0ustar liggesuserslibrary("testthat") library("lme4") context("storing warnings, convergence status, etc.") test_that("storewarning", { gCtrl <- glmerControl(optimizer = "Nelder_Mead", optCtrl = list(maxfun=3)) expect_warning(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data=cbpp, family=binomial, control=gCtrl), "failure to converge in 3") expect_equal(gm1@optinfo$warnings[[1]],"failure to converge in 3 evaluations") ## FIXME: why is conv==0 here? }) lme4/tests/testthat/test-glmmFail.R0000644000176200001440000000321512650276557016765 0ustar liggesuserslibrary("testthat") library("lme4") source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... set.seed(101) dBc <- gSim(family=binomial(link="cloglog"), nbinom = 1) # {0,1} Binomial ## m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = binomial, data = cbpp) context("Errors and warnings from glmer") test_that("glmer", { expect_error(glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")), "Response is constant") expect_warning(lmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp), "calling lmer with .*family.* is deprecated.*") ## expect_equal(m1,m2) expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, REML=TRUE), "extra argument.*REML") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy), "calling glmer.*family=gaussian.*deprecated") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian), "calling glmer.*family=gaussian.*deprecated") m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) m3@call[[1]] <- m5@call[[1]] <- quote(lmer) ## hack call expect_equal(m3,m4) expect_equal(m3,m5) }) lme4/tests/testthat/test-glmFamily.R0000644000176200001440000001177412663207251017154 0ustar liggesuserslibrary("testthat") library("lme4") eps <- .Machine$double.eps oneMeps <- 1 - eps set.seed(1) ## sample linear predictor values for the unconstrained families etas <- list(seq.int(-8, 8, by=1), # equal spacing to asymptotic area runif(17, -8, 8), # random sample from wide uniform dist rnorm(17, 0, 8), # random sample from wide normal dist c(-10^30, rnorm(15, 0, 4), 10^30)) ## sample linear predictor values for the families in which eta must be positive etapos <- list(seq.int(1, 20, by=1), rexp(20), rgamma(20, 3), pmax(.Machine$double.eps, rnorm(20, 2, 1))) ## values of mu in the (0,1) interval mubinom <- list(runif(100, 0, 1), rbeta(100, 1, 3), pmin(pmax(eps, rbeta(100, 0.1, 3)), oneMeps), pmin(pmax(eps, rbeta(100, 3, 0.1)), oneMeps)) context("glmFamily linkInv and muEta") test_that("inverse link and muEta functions", { tst.lnki <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$linkinv(x), equals(ff$linkInv(x)))) } tst.muEta <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$mu.eta(x), equals(ff$muEta(x)))) } tst.lnki(binomial(), etas) # binomial with logit link tst.muEta(binomial(), etas) tst.lnki(binomial("probit"), etas) # binomial with probit link tst.muEta(binomial("probit"), etas) tst.lnki(binomial("cloglog"), etas) # binomial with cloglog link tst.muEta(binomial("cloglog"), etas) tst.lnki(binomial("cauchit"), etas) # binomial with cauchit link tst.muEta(binomial("cauchit"), etas) tst.lnki(poisson(), etas) # Poisson with log link tst.muEta(poisson(), etas) tst.lnki(gaussian(), etas) # Gaussian with identity link tst.muEta(gaussian(), etas) tst.lnki(Gamma(), etapos) # gamma family tst.muEta(Gamma(), etapos) tst.lnki(inverse.gaussian(), etapos) # inverse Gaussian tst.muEta(inverse.gaussian(), etapos) }) context("glmFamily linkFun and variance") test_that("link and variance functions", { tst.link <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$linkfun(x), equals(ff$link(x)))) } tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.link( binomial(), mubinom) tst.variance(binomial(), mubinom) tst.link( binomial("probit"), mubinom) tst.link( binomial("cauchit"), mubinom) tst.link( gaussian(), etas) tst.variance(gaussian(), etas) tst.link( Gamma(), etapos) tst.variance(Gamma(), etapos) tst.link( inverse.gaussian(), etapos) tst.variance(inverse.gaussian(), etapos) tst.variance(MASS::negative.binomial(1), etapos) tst.variance(MASS::negative.binomial(0.5), etapos) tst.link( poisson(), etapos) tst.variance(poisson(), etapos) }) context("glmFamily devResid and aic") test_that("devResid and aic", { tst.devres <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) { nn <- length(x) wt <- rep.int(1, nn) n <- wt y <- switch(fam$family, binomial = rbinom(nn, 1L, x), gaussian = rnorm(nn, x), poisson = rpois(nn, x), error("Unknown family")) dev <- ff$devResid(y, x, wt) expect_that(fam$dev.resids(y, x, wt), equals(dev)) dd <- sum(dev) expect_that(fam$aic(y, n, x, wt, dd), equals(ff$aic(y, n, x, wt, dd))) }) } tst.devres(binomial(), mubinom) tst.devres(gaussian(), etas) tst.devres(poisson(), etapos) }) context("negative binomial") test_that("variance", { tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.variance(MASS::negative.binomial(1.), etapos) nb1 <- MASS::negative.binomial(1.) cppnb1 <- glmFamily$new(family=nb1) expect_that(cppnb1$theta(), equals(1)) nb2 <- MASS::negative.binomial(2.) cppnb1$setTheta(2) sapply(etapos, function(x) expect_that(cppnb1$variance(x), equals(nb2$variance(x)))) bfam <- glmFamily$new(family=binomial()) if (FALSE) { ## segfaults on MacOS mavericks 3.1.0 ... ?? expect_error(bfam$theta())#, "theta accessor applies only to negative binomial") expect_error(bfam$setTheta(2))#, "setTheta applies only to negative binomial") } }) lme4/tests/testthat/test-stepHalving.R0000644000176200001440000000061012650276557017515 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","survdat_reduced.Rda",package="lme4")) test_that('Step-halving works properly', { # this example is known to require step-halving (or at least has in the past # required step-halving) form <- survprop~(1|nobs) m <- glmer(form,weights=eggs,data=survdat_reduced,family=binomial,nAGQ=1L) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-lmer.R0000644000176200001440000003445113141431220016152 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) context("fitting lmer models") ## is "Nelder_Mead" default optimizer? -- no longer (isNM <- formals(lmerControl)$optimizer == "Nelder_Mead") test_that("lmer", { set.seed(101) d <- data.frame(z=rnorm(200), f=factor(sample(1:10,200,replace=TRUE))) expect_warning(lmer(z~ 1|f, d, method="abc"),"Use the REML argument") expect_warning(lmer(z~ 1|f, d, method="Laplace"),"Use the REML argument") expect_warning(lmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_error(lmer(z~ 1|f, ddd), "'data' not found") expect_error(lmer(z~ 1|f), "object 'z' not found") expect_error(lmer(z~ 1|f, d[,1:1000]), "bad 'data': undefined columns selected") expect_is(fm1 <- lmer(Yield ~ 1|Batch, Dyestuff), "lmerMod") expect_is(fm1_noCD <- update(fm1,control=lmerControl(calc.derivs=FALSE)), "lmerMod") expect_equal(VarCorr(fm1),VarCorr(fm1_noCD)) ## backward compatibility version {for optimizer="Nelder-Mead" only}: if(isNM) expect_is(fm1.old <- update(fm1,control=lmerControl(use.last.params=TRUE)), "lmerMod") expect_is(fm1@resp, "lmerResp") expect_is(fm1@pp, "merPredD") expect_that(fe1 <- fixef(fm1), is_equivalent_to(1527.5)) expect_that(VarCorr(fm1)[[1]][1,1], ## "bobyqa" : 1764.050060 equals(1764.0375195, tolerance = 1e-5)) ## back-compatibility ... if(isNM) expect_that(VarCorr(fm1.old)[[1]][1,1], equals(1764.0726543)) expect_that(isREML(fm1), equals(TRUE)) expect_is(REMLfun <- as.function(fm1), "function") expect_that(REMLfun(1), equals(319.792389042002)) expect_that(REMLfun(0), equals(326.023232155879)) expect_that(family(fm1), equals(gaussian())) expect_that(isREML(fm1ML <- refitML(fm1)), equals(FALSE)) expect_that(REMLcrit(fm1), equals(319.654276842342)) expect_that(deviance(fm1ML), equals(327.327059881135)) ## "bobyqa": 49.51009984775 expect_that(sigma(fm1), equals(49.5101272946856, tolerance=1e-6)) if(isNM) expect_that(sigma(fm1.old), equals(49.5100503990048)) expect_that(sigma(fm1ML), equals(49.5100999308089)) expect_that(extractAIC(fm1), equals(c(3, 333.327059881135))) expect_that(extractAIC(fm1ML), equals(c(3, 333.327059881135))) ## "bobyqa": 375.71667627943 expect_that(vcov(fm1) [1,1], equals(375.714676744, tolerance=1e-5)) if(isNM) expect_that(vcov(fm1.old)[1,1], equals(375.72027872986)) expect_that(vcov(fm1ML) [1,1], equals(313.09721874266, tolerance=1e-7)) # was 313.0972246957 expect_is(fm2 <- refit(fm1, Dyestuff2$Yield), "lmerMod") expect_that(fixef(fm2), is_equivalent_to(5.6656)) expect_that(VarCorr(fm2)[[1]][1,1], is_equivalent_to(0)) expect_that(getME(fm2, "theta"), is_equivalent_to(0)) expect_that(X <- getME(fm1, "X"), is_equivalent_to(array(1, c(1, 30)))) expect_is(Zt <- getME(fm1, "Zt"), "dgCMatrix") expect_that(dim(Zt), equals(c(6L, 30L))) expect_that(Zt@x, equals(rep.int(1, 30L))) expect_equal(dimnames(Zt), list(levels(Dyestuff$Batch), rownames(Dyestuff))) ## "bobyqa": 0.8483237982 expect_that(theta <- getME(fm1, "theta"), equals(0.84832031, tolerance=6e-6, check.attributes=FALSE)) if(isNM) expect_that(getME(fm1.old, "theta"), is_equivalent_to(0.848330078)) expect_is(Lambdat <- getME(fm1, "Lambdat"), "dgCMatrix") expect_that(as(Lambdat, "matrix"), is_equivalent_to(diag(theta, 6L, 6L))) expect_is(fm3 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "lmerMod") expect_that(getME(fm3,"n_rtrms"), equals(2L)) expect_that(getME(fm3,"n_rfacs"), equals(1L)) expect_error(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1])), "must have > 1") expect_warning(fm4 <- lFormula(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1]), control=lmerControl(check.nlev.gtr.1="warning")), "must have > 1") expect_warning(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4]), control=lmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") sstudy9 <- subset(sleepstudy, Days == 1 | Days == 9) expect_error(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") expect_error(lFormula(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") ## with most recent Matrix (1.1-1), should *not* flag this ## for insufficient rank dat <- readRDS(system.file("testdata", "rankMatrix.rds", package="lme4")) expect_is(lFormula(y ~ (1|sample) + (1|day) + (1|day:sample) + (1|operator) + (1|day:operator) + (1|sample:operator) + (1|day:sample:operator), data = dat, control = lmerControl(check.nobs.vs.rankZ = "stop")), "list") ## check scale ss <- within(sleepstudy, Days <- Days*1e6) expect_warning(lmer(Reaction ~ Days + (1|Subject), data=ss), "predictor variables are on very different scales") ## Promote warning to error so that warnings or errors will stop the test: options(warn=2) expect_is(lmer(Yield ~ 1|Batch, Dyestuff, REML=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, start=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, verbose=0L), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, subset=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, weights=rep(1,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, na.action="na.exclude"), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, offset=rep(0,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, contrasts=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, devFunOnly=FALSE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="Nelder_Mead")), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl()), "lmerMod") expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="optimx")),"must be loaded") expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="junk")), "couldn't find optimizer function") ## disable test ... should be no warning expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.hess="ignore", ## need to ignore relative gradient check too; ## surface is flat so *relative* gradient gets large check.conv.grad="ignore")), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")), "merMod") expect_error(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), "number of levels of each grouping factor")) ## check for errors with illegal input checking options flags <- lme4:::.get.checkingOpts(names(formals(lmerControl))) .t <- lapply(flags, function(OPT) { ## set each to invalid string: ## cat(OPT,"\n") expect_error(lFormula(Reaction~1+Days+(1|Subject), data = sleepstudy, control = do.call(lmerControl, ## Deliberate: fake typo ## vvv setNames(list("warnign"), OPT))), "invalid control level") }) ## disable warning via options options(lmerControl=list(check.nobs.vs.rankZ="ignore",check.nobs.vs.nRE="ignore")) expect_is(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4])), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")), "merMod") options(lmerControl=NULL) ## check for when ignored options are set options(lmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(lmer(Reaction ~ Days + (1|Subject),sleepstudy), "some options") options(lmerControl=NULL) options(warn=0) expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, junkArg=TRUE),"extra argument.*disregarded") expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=list()), "passing control as list is deprecated") if(FALSE) ## Hadley broke this expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=glmerControl()), "passing control as list is deprecated") ss <- transform(sleepstudy,obs=factor(seq(nrow(sleepstudy)))) expect_warning(lmer(Reaction ~ 1 + (1|obs), data=ss, control=lmerControl(check.nobs.vs.nlev="warning", check.nobs.vs.nRE="ignore")), "number of levels of each grouping factor") ## test deparsing of very long terms inside mkReTrms set.seed(101) longNames <- sapply(letters[1:25], function(x) paste(rep(x,8),collapse="")) tstdat <- data.frame(Y=rnorm(10), F=factor(1:10), matrix(runif(250),ncol=25, dimnames=list(NULL, longNames))) expect_is(lFormula(Y~1+(aaaaaaaa+bbbbbbbb+cccccccc+dddddddd+ eeeeeeee+ffffffff+gggggggg+hhhhhhhh+ iiiiiiii+jjjjjjjj+kkkkkkkk+llllllll|F), data=tstdat, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")),"list") ## do.call(new,...) bug new <- "foo" expect_is(refit(fm1),"merMod") rm("new") ## test subset-with-( printing from summary fm1 <- lmer(z~1|f,d,subset=(z<1e9)) expect_equal(sum(grepl("Subset: \\(",capture.output(summary(fm1)))),1) ## test messed-up Hessian fm1 <- lmer(z~ as.numeric(f) + 1|f, d) fm1@optinfo$derivs$Hessian[2,2] <- NA expect_warning(lme4:::checkConv(fm1@optinfo$derivs, coefs=c(1,1), ctrl=lmerControl()$checkConv,lbound=0), "Problem with Hessian check") ## test ordering of Ztlist names ## this is a silly model, just using it for a case ## where nlevs(RE term 1) < nlevs(RE term 2)x data(cbpp) cbpp <- transform(cbpp,obs=factor(1:nrow(cbpp))) fm0 <- lmer(incidence~1+(1|herd)+(1|obs),cbpp, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.grad="ignore", check.conv.singular="ignore", check.conv.hess="ignore")) fm0B <- update(fm0, .~1+(1|obs)+(1|herd)) expect_equal(names(getME(fm0,"Ztlist")), c("obs.(Intercept)", "herd.(Intercept)")) ## stable regardless of order in formula expect_equal(getME(fm0,"Ztlist"),getME(fm0B,"Ztlist")) ## no optimization (GH #408) fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=NULL)) expect_equal(unname(unlist(getME(fm_noopt,c("theta","beta")))), c(0.244179074357121, -0.0336616441209862)) expect_error(lmer(z~1|f,d, control=lmerControl(optimizer="none")), "deprecated use") my_opt <- function(fn,par,lower,upper,control) { opt <- optim(fn=fn,par=par,lower=lower, upper=upper,control=control,,method="L-BFGS-B") return(list(par=opt$par,fval=opt$value,conv=opt$convergence)) } expect_is(fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=my_opt)),"merMod") ## test verbose option for nloptwrap cc <- capture.output(lmer(Reaction~1+(1|Subject), data=sleepstudy, control=lmerControl(optimizer="nloptwrap"), verbose=5)) expect_equal(sum(grepl("^iteration:",cc)),14) }) ## test_that(..) test_that("coef_lmer", { ## test coefficient extraction in the case where RE contain ## terms that are missing from the FE ... set.seed(101) d <- data.frame(resp=runif(100), var1=factor(sample(1:5,size=100,replace=TRUE)), var2=runif(100), var3=factor(sample(1:5,size=100,replace=TRUE))) library(lme4) mix1 <- lmer(resp ~ 0 + var1 + var1:var2 + (1|var3), data=d) c1 <- coef(mix1) expect_is(c1, "coef.mer") cd1 <- c1$var3 expect_is (cd1, "data.frame") n1 <- paste0("var1", 1:5) nn <- c(n1, paste(n1, "var2", sep=":")) expect_identical(names(cd1), c("(Intercept)", nn)) expect_equal(fixef(mix1), setNames(c(0.27039541, 0.38329083, 0.45127874, 0.65288384, 0.61098249, 0.49497978, 0.12227105, 0.087020934,-0.28564318,-0.015968354), nn), tolerance= 7e-7)# 64-bit: 6.73e-9 }) lme4/tests/testthat/test-lmerResp.R0000644000176200001440000000435712650276557017036 0ustar liggesuserslibrary("lme4") library("testthat") data(Dyestuff, package="lme4") n <- nrow(Dyestuff) ones <- rep.int(1, n) zeros <- rep.int(0, n) YY <- Dyestuff$Yield mYY <- mean(YY) context("lmerResp objects") test_that("lmerResp", { mres <- YY - mYY rr <- lmerResp$new(y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$wrss(), equals(sum(YY^2))) expect_that(rr$updateMu(rep.int(mYY, n)), equals(sum(mres^2))) expect_that(rr$REML, equals(0L)) rr$REML <- 1L expect_that(rr$REML, equals(1L)) }) mlYY <- mean(log(YY)) gmeanYY <- exp(mlYY) # geometric mean context("glmResp objects") test_that("glmResp", { mres <- YY - gmeanYY gmean <- rep.int(gmeanYY, n) rr <- glmResp$new(family=poisson(), y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$n, equals(ones)) ## wrss() causes an update of mu which becomes ones, wtres also changes expect_that(rr$wrss(), equals(sum((YY-1)^2))) expect_that(rr$mu, equals(ones)) expect_that(rr$wtres, equals(YY-ones)) expect_that(rr$updateMu(rep.int(mlYY, n)), equals(sum(mres^2))) expect_that(rr$mu, equals(gmean)) expect_that(rr$muEta(), equals(gmean)) expect_that(rr$variance(), equals(gmean)) rr$updateWts() expect_that(1/sqrt(rr$variance()), equals(rr$sqrtrwt)) expect_that(as.vector(rr$sqrtXwt), equals(rr$sqrtrwt * rr$muEta())) }) lme4/tests/testthat/test-nbinom.R0000644000176200001440000000621413141431220016471 0ustar liggesuserslibrary("lme4") library("testthat") set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) ## mimic glmer.nb protocol test_that("ok with Poisson masking", { poisson <- NA ## use shortened version of data for speed ... m.base <- glmer.nb(y ~ f1 + (1|g), data=dd[1:200,]) expect_is(m.base,"merMod") }) context("testing glmer refit") test_that("glmer refit", { ## basic Poisson fit m.base <- glmer(y ~ f1*f2 + (1|g), data=dd, family=poisson) expect_equal(m.base@beta,(m.base.r <- refit(m.base))@beta, tolerance = 1e-5) th <- lme4:::est_theta(m.base,limit=20,eps=1e-4,trace=FALSE) th0 <- structure(0.482681268108477, SE = 0.0244825021248148) th1 <- structure(0.482681277470945) th2 <- 0.482681268108477 th3 <- 0.4826813 ## NB update with raw number m.numth1 <- update(m.base,family=negative.binomial(theta=0.4826813)) expect_equal(m.numth1@beta,(m.numth1.r <- refit(m.numth1))@beta) ## strip NB value m.symth4 <- update(m.base,family=negative.binomial(theta=c(th))) expect_equal(m.symth4@beta,(m.symth4.r <- refit(m.symth4))@beta) ## IDENTICAL numeric value to case #1 above m.symth6 <- update(m.base,family=negative.binomial(theta=th3)) expect_equal(m.symth6@beta,(m.symth6.r <- refit(m.symth6))@beta) ## standard NB update with computed theta from est_theta (incl SE attribute) m.symth <- update(m.base,family=negative.binomial(theta=th)) expect_equal(m.symth@beta,(m.symth.r <- refit(m.symth))@beta) ## NB update with equivalent value m.symth2 <- update(m.base,family=negative.binomial(theta=th0)) expect_equal(m.symth2@beta,(m.symth2.r <- refit(m.symth2))@beta) ## NB update with theta value (stored as variable, no SE) only m.symth3 <- update(m.base,family=negative.binomial(theta=th1)) expect_equal(m.symth3@beta,(m.symth3.r <- refit(m.symth3))@beta) ## strip NB value (off by 5e-16) m.symth5 <- update(m.base,family=negative.binomial(theta=th2)) expect_equal(m.symth5@beta,(m.symth5.r <- refit(m.symth5))@beta) }) ## GH #399 test_that("na_exclude", { dd1 <- dd[1:200,] dd1$f1[1:5] <- NA expect_error(glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.fail), "missing values in object") m1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.omit) m2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.exclude) expect_equal(fixef(m1),fixef(m1)) expect_equal(length(predict(m2))-length(predict(m1)),5) }) ## GH 423 test_that("start_vals", { dd1 <- dd[1:200,] g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1) g2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, initCtrl=list(theta=getME(g1,"glmer.nb.theta"))) expect_equal(fixef(g1),fixef(g2),tol=1e-5) }) lme4/tests/testthat/test-methods.R0000644000176200001440000006713713170160377016703 0ustar liggesuserslibrary("testthat") library("lme4") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) ## FIXME: should test for old R versions, skip reloading test data in that ## case? fm0 <- fit_sleepstudy_0 fm1 <- fit_sleepstudy_1 fm2 <- fit_sleepstudy_2 gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_2 gm3 <- fit_cbpp_3 ## More objects to use in all contexts : set.seed(101) dNA <- data.frame( xfac= sample(letters[1:10], 100, replace=TRUE), xcov= runif(100), resp= rnorm(100)) dNA[sample(1:100, 10), "xcov"] <- NA CI.boot <- function(fm, nsim=10, seed=101, ...) suppressWarnings(confint(fm, method="boot", nsim=nsim, quiet=TRUE, seed=seed, ...)) ## rSimple <- function(rep = 2, m.u = 2, kinds = c('fun', 'boring', 'meh')) { stopifnot(is.numeric(rep), rep >= 1, is.numeric(m.u), m.u >= 1, is.character(kinds), (nk <- length(kinds)) >= 1) nobs <- rep * m.u * nk data.frame(kind= rep(kinds, each=rep*m.u), unit = gl(m.u, 1, nobs), y = round(50*rnorm(nobs))) } d12 <- rSimple() data("Pixel", package="nlme") nPix <- nrow(Pixel) fmPix <- lmer(pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog), data = Pixel) context("summary") test_that("summary", { ## test for multiple-correlation-warning bug and other 'correlation = *' variants ## Have 2 summary() versions, each with 3 print(.) ==> 6 x capture.output(.) sf.aa <- summary(fit_agridat_archbold) msg1 <- "Correlation.* not shown by default" ## message => *not* part of capture.*(.) expect_message(c1 <- capture.output(sf.aa), msg1) # correlation = NULL - default cF <- capture.output(print(sf.aa, correlation=FALSE)) ## TODO? ensure the above gives *no* message/warning/error expect_identical(c1, cF) expect_message( cT <- capture.output(print(sf.aa, correlation=TRUE)) , "Correlation.* could have been required in summary()") expect_identical(cF, cT[seq_along(cF)]) sfT.aa <- summary(fit_agridat_archbold, correlation=TRUE) expect_message(cT2 <- capture.output(sfT.aa), msg1) expect_identical(cF, cT2) cT3 <- capture.output(print(sfT.aa, correlation=TRUE)) expect_identical(cT, cT3) cF2 <- capture.output(print(sfT.aa, correlation=FALSE)) expect_identical(cF, cF2) }) context("anova") test_that("lmer", { expect_that(suppressMessages(anova(fm0,fm1)), is_a("anova")) expect_warning(do.call(anova,list(fm0,fm1)), "assigning generic names") ## dat <- data.frame(y = 1:5, u = c(rep("A",2), rep("B",3)), t = c(rep("A",3), rep("B",2))) datfun <- function(x) dat aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <- dat expect_is(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE)), "anova") expect_equal(rownames(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), model.names=c("a","b"))), c("b","a")) expect_error(rownames(stats::anova(lmer(y ~ u + (1 | t), dat = dat, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = dat, REML=FALSE), model.names=c("a","b","c"))), "different lengths") z <- 1 stats::anova(lmer(y ~ u + (1 | t), data = datfun(z), REML=FALSE), lmer(y ~ 1 + (1 | t), data = datfun(z), REML=FALSE)) ## ## from Roger Mundry via Roman Lustrik full <- lmer(resp ~ xcov + (1|xfac), data=dNA) null <- lmer(resp ~ 1 + (1|xfac), data=dNA) expect_error(anova(null,full), "models were not all fitted to the same size of dataset") ## Github issue #256 from Jonas Lindeløv -- issue is *not* specific for this dataset ## Two models with subset() within lmer() full3 <- lmer(y ~ kind + (1|unit), subset(d12, kind != 'boring'), REML=FALSE) null3 <- update(full3, .~. - kind) op <- options(warn = 2) # no warnings! ano3 <- anova(full3, null3)## issue #256: had warning in data != data[[1]] : ... o3 <- capture.output(ano3) # now prints with only one 'Data:' expect_equal(1, grep("^Data:", o3)) ## ## no problem with subset()ting outside lmer() call: d12sub <- subset(d12, kind != 'boring') expect_is(full3s <- lmer(y ~ kind + (1|unit), d12sub, REML=FALSE), "lmerMod") expect_is(null3s <- update(full3s, .~. - kind), "lmerMod") expect_is(ano3s <- anova(full3s, null3s), "anova") expect_equal(ano3, ano3s, check.attributes=FALSE) options(op) ## anova() of glmer+glm models: gm1 <- glmer(y~(1|u),data=dat[1:4,],family=poisson) gm0 <- glm(y~1,data=dat[1:4,],family=poisson) gm2 <- glmer(y~(1|u),data=dat[1:4,],family=poisson,nAGQ=2) aa <- anova(gm1,gm0) expect_equal(aa[2,"Chisq"],0) expect_error(anova(gm2,gm0),"incommensurate") ## anova() of lmer+glm models: dat2 <- dat set.seed(101) dat2$y <- rnorm(5) fm1 <- lmer(y~(1|u),data=dat2,REML=FALSE) fm0 <- lm(y~1,data=dat2) aa2 <- anova(fm1,fm0) expect_equal(aa2[2,"Chisq"],0) }) context("bootMer confint()") set.seed(47) test_that("bootMer", { ## testing bug-fix for ordering of sd/cor components in sd/cor matrix with >2 rows m1 <- lmer(strength~1+(cask|batch),Pastes) ci <- CI.boot(m1) corvals <- ci[grep("^cor_",rownames(ci)),] expect_true(all(abs(corvals) <= 1)) ## test bootMer with GLMM, multiple RE ci1 <- CI.boot(gm2, nsim=5) ci2 <- CI.boot(gm2, nsim=5, parm=3:6) ci2B <- CI.boot(gm2, nsim=5, parm="beta_") ## previously tested with nsim=5 vs nsim=3 expect_true(nrow(ci2) == 4) expect_equal(ci2,ci2B) expect_equal(ci1[3:6,], ci2) ## , tolerance = 0.4)# 0.361 ## bootMer with NA values PastesNA <- Pastes PastesNA$cask[1:3] <- NA ## previously set 'Sample' (sic) -- no effect! m2 <- update(m1, data=PastesNA) ci3 <- CI.boot(m2) expect_equal(ci, ci3, tolerance=0.2) sleepstudyNA <- sleepstudy sleepstudyNA$Days[1:3] <- NA m4 <- update(fm2, data = sleepstudyNA) expect_true(nrow(ci4 <- CI.boot(m4)) == 6) # could check more ## ## semipar bootstrapping m5 <- lmer(Yield ~ 1|Batch, Dyestuff) set.seed(1) suppressPackageStartupMessages(require(boot)) boo01.sp <- bootMer(m5, fixef, nsim = 100, use.u = TRUE, type = "semiparametric") expect_equal(sd(boo01.sp$t), 8.215586, tolerance = 1e-4) ## passing FUN to confint: Torbjørn Håkan Ergon testFun <- function(fit) fixef(fit)[1] expect_equal(c(unclass( suppressWarnings(confint(fm1, method="boot", FUN=testFun, nsim=10, quiet=TRUE)))), c(243.7551,256.9104),tolerance=1e-3) ## passing re.form to bootMer FUN <- function(.){ predict(., type="response") } fm2 <- lmer(strength ~ (1|batch/cask), Pastes) expect_is(bootMer(fm2, predict, nsim=3),"boot") expect_is(bootMer(fm2, predict, re.form=NULL, nsim=3),"boot") expect_is(bootMer(fm2, predict, re.form=~(1|batch)+(1|cask:batch), nsim=3), "boot") expect_is(b3 <- bootMer(fm2, predict, re.form=~(1|batch), nsim=3), "boot") FUN_name <- function(.) getME(.,"theta") FUN_noname <- function(.) unname(getME(.,"theta")) c_name <- suppressWarnings( confint(fm2, method="boot", FUN=FUN_name, nsim=3, seed=101)) c_noname <- suppressWarnings( confint(fm2, method="boot", FUN=FUN_noname, nsim=3, seed=101)) expect_equal(unname(c_name),unname(c_noname)) ## example from df2 <- data.frame( prop1 = c(0.46, 0.471, 0.458, 0.764, 0.742, 0.746, 0.569, 0.45, 0.491, 0.467, 0.464, 0.556, 0.584, 0.478, 0.456, 0.46, 0.493, 0.704, 0.693, 0.651), prop2 = c(0.458, 0.438, 0.453, 0.731, 0.738, 0.722, 0.613, 0.498, 0.452, 0.451, 0.447, 0.48, 0.576, 0.484, 0.473, 0.467, 0.467, 0.722, 0.707, 0.709), site = factor(rep(1:8,c(2,1,3,5,3,2,1,3)))) ## from SO 37466771: bootstrapping etc. on GLMMs with scale ## parameters gaussmodel <- glmer(prop2 ~ prop1 + (1|site), data=df2, family=gaussian(link="logit")) set.seed(101) bci <- suppressWarnings(confint(gaussmodel,method="boot",nsim=10)) expect_equal(bci, structure(c(16.0861072699207, 0.0367496156026639, -4.21025090053564, 3.1483596407467, 31.3318861915707, 0.0564761126030204, -1.00593089841924, 4.7064432268919), .Dim = c(4L, 2L), .Dimnames = list(c(".sig01", ".sigma", "(Intercept)", "prop1"), c("2.5 %", "97.5 %"))), tolerance=1e-5) }) context("confint_other") test_that("confint", { load(system.file("testdata", "gotway_hessianfly.rda", package = "lme4")) ## generated via: ## gotway_hessianfly_fit <- glmer(cbind(y, n-y) ~ gen + (1|block), ## data=gotway.hessianfly, family=binomial, ## control=glmerControl(check.nlev.gtreq.5="ignore")) ## gotway_hessianfly_prof <- profile(gotway_hessianfly_fit,which=1) ## save(list=ls(pattern="gotway"),file="gotway_hessianfly.rda") expect_equal(confint(gotway_hessianfly_prof)[1,1],0) ## FIXME: should add tests for {-1,1} bounds on correlations as well expect_equal(c(confint(fm1,method="Wald",parm="beta_")), c(232.301892,8.891041,270.508318,12.043531), tolerance=1e-5) ## Wald gives NA for theta values expect_true(all(is.na(confint(fm1,method="Wald",parm="theta_")))) ## check names ci1.p <- suppressWarnings(confint(fm1,quiet=TRUE)) ci1.w <- confint(fm1,method="Wald") ci1.b <- CI.boot(fm1, nsim=2) expect_equal(dimnames(ci1.p), list(c(".sig01", ".sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p),dimnames(ci1.w)) expect_equal(dimnames(ci1.p),dimnames(ci1.b)) ci1.p.n <- suppressWarnings(confint(fm1,quiet=TRUE,oldNames=FALSE)) ci1.w.n <- confint(fm1,method="Wald", oldNames=FALSE) ci1.b.n <- CI.boot(fm1, nsim=2, oldNames=FALSE) expect_equal(dimnames(ci1.p.n), list(c("sd_(Intercept)|Subject", "sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p.n),dimnames(ci1.w.n)) expect_equal(dimnames(ci1.p.n),dimnames(ci1.b.n)) ## test case of slightly wonky (spline fit fails) but monotonic profiles: ## simfun <- function(J,n_j,g00,g10,g01,g11,sig2_0,sig01,sig2_1){ N <- sum(rep(n_j,J)) x <- rnorm(N) z <- rnorm(J) mu <- c(0,0) sig <- matrix(c(sig2_0,sig01,sig01,sig2_1),ncol=2) u <- MASS::mvrnorm(J,mu=mu,Sigma=sig) b_0j <- g00 + g01*z + u[,1] b_1j <- g10 + g11*z + u[,2] y <- rep(b_0j,each=n_j)+rep(b_1j,each=n_j)*x + rnorm(N,0,sqrt(0.5)) sim_data <- data.frame(Y=y,X=x,Z=rep(z,each=n_j), group=rep(1:J,each=n_j)) } set.seed(102) dat <- simfun(10,5,1,.3,.3,.3,(1/18),0,(1/18)) fit <- lmer(Y~X+Z+X:Z+(X||group),data=dat) if (Sys.info()["sysname"] != "SunOS" && .Platform$OS.type != "windows") { ## doesn't produce warnings on Solaris, or win-builder ... expect_warning(pp <- profile(fit,"theta_"), "non-monotonic profile") expect_warning(cc <- confint(pp),"falling back to linear interpolation") ## very small/unstable problem, needs large tolerance expect_equal(unname(cc[2,]),c(0,0.5427609),tolerance=1e-2) } badprof <- readRDS(system.file("testdata","badprof.rds", package="lme4")) expect_warning(cc <- confint(badprof), "falling back to linear") expect_equal(cc, structure(c(0, -1, 2.50856219044636, 48.8305727797906, NA, NA, 33.1204478717389, 1, 7.33374326592662, 68.7254711217912, -6.90462047196017, NA), .Dim = c(6L, 2L), .Dimnames = list(c(".sig01", ".sig02", ".sig03", ".sigma", "(Intercept)", "cYear"), c("2.5 %", "97.5 %"))), tolerance=1e-3) }) context("refit") test_that("refit", { s1 <- simulate(fm1) expect_is(refit(fm1,s1), "merMod") s2 <- simulate(fm1,2) expect_error(refit(fm1,s2), "refit not implemented .* lists") data(Orthodont,package = "nlme") fmOrth <- fm <- lmer(distance ~ I(age - 11) + (I(age - 11) | Subject), data = Orthodont) expect_equal(s1 <- simulate(fm,newdata = Orthodont,seed = 101), s2 <- simulate(fm,seed = 101)) ## works *without* offset ... m5 <- glmer(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, family=poisson, offset=rep(0,nrow(sleepstudy))) m5R <- refit(m5) ## lots of fussy details make expect_equal() on the whole object difficult expect_equal(coef(m5),coef(m5R),tolerance=3e-6) expect_equal(VarCorr(m5),VarCorr(m5R),tolerance=1e-6) expect_equal(logLik(m5),logLik(m5R)) }) context("predict") test_that("predict", { d1 <- with(cbpp, expand.grid(period = unique(period), herd = unique(herd))) d2 <- data.frame(period = "1", herd = unique(cbpp$herd)) d3 <- expand.grid(period = as.character(1:3), herd = unique(cbpp$herd)) p0 <- predict(gm1) p1 <- predict(gm1,d1) p2 <- predict(gm1,d2) p3 <- predict(gm1,d3) expect_equal(p0[1], p1[1]) expect_equal(p0[1], p2[1]) expect_equal(p0[1], p3[1]) expect_warning(predict(gm1, ReForm=NA), "is deprecated") ## matrix-valued predictors: Github #201 from Fabian S. sleepstudy$X <- cbind(1, sleepstudy$Days) m <- lmer(Reaction ~ -1 + X + (Days | Subject), sleepstudy) pm <- predict(m, newdata=sleepstudy) expect_is(pm, "numeric") expect_equal(quantile(pm, names = FALSE), c(211.006525, 260.948978, 296.87331, 328.638297, 458.155583)) op <- options(warn = 2) # there should be no warnings! if (require("MEMSS",quietly=TRUE)) { ## test spurious warning with factor as response variable data("Orthodont", package = "MEMSS") # (differently "coded" from the 'default' "nlme" one) silly <- glmer(Sex ~ distance + (1|Subject), data = Orthodont, family = binomial) sillypred <- data.frame(distance = c(20, 25)) ps <- predict(silly, sillypred, re.form=NA, type = "response") expect_is(ps, "numeric") expect_equal(unname(ps), c(0.999989632, 0.999997201), tolerance=1e-6) detach("package:MEMSS") } ## a case with interactions (failed in one temporary version): expect_warning(fmPixS <<- update(fmPix, .~. + Side), "nearly unidentifiable|unable to evaluate scaled gradient|failed to converge") ## (1|2|3); 2 and 3 seen (as Error??) on CRAN's Windows 32bit options(op) set.seed(1); ii <- sample(nrow(Pixel), 16) expect_equal(predict(fmPix, newdata = Pixel[ii,]), fitted(fmPix )[ii]) expect_equal(predict(fmPixS, newdata = Pixel[ii,]), fitted(fmPixS)[ii]) set.seed(7); n <- 100; y <- rnorm(n) dd <- data.frame(id = factor(sample(10, n, replace = TRUE)), x1 = 1, y = y, x2 = rnorm(n, mean = sign(y))) expect_message(m <- lmer(y ~ x1 + x2 + (1 | id), data = dd), "fixed-effect model matrix is rank deficient") expect_is(summary(m),"summary.merMod") ii <- sample(n, 16) expect_equal(predict(m, newdata = dd[ii,]), fitted(m)[ii]) ## predict(*, new..) gave Error in X %*% fixef(object) - now also drops col. ## predict(*, new..) with NA in data {and non-simple model}, issue #246: m1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) sleepst.NA <- sleepstudy ; sleepst.NA$Days[2] <- NA m2 <- update(fm1, data = sleepst.NA) ## maybe tricky for evaluation; fm1 was defined elsewhere, so data expect_equal(length(predict(m2, sleepst.NA[1:4,])),4) ## Wrong 'b' constructed in mkNewReTrms() -- issue #257 data(Orthodont,package="nlme") Orthodont <- within(Orthodont, nsex <- as.numeric(Sex == "Male")) m3 <- lmer(distance ~ age + (age|Subject) + (0 + Sex |Subject), data=Orthodont, control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) m4 <- lmer(distance ~ age + (age|Subject) + (0 + nsex|Subject), data=Orthodont) expect_equal(p3 <- predict(m3, Orthodont), fitted(m3), tolerance=1e-14) expect_equal(p4 <- predict(m4, Orthodont), fitted(m4), tolerance=1e-14) ## related to GH #275 (*passes*), ss <- sleepstudy set.seed(1) ss$noiseChar <- ifelse(runif(nrow(sleepstudy)) > 0.8, "Yes", "No") ss$noiseFactor <- factor(ss$noiseChar) fm2 <- lmer(Reaction ~ Days + noiseChar + (Days | Subject), ss) expect_equal(predict(fm2, newdata = model.frame(fm2)[2:3, ])[2], predict(fm2, newdata = model.frame(fm2)[3, ])) fm3 <- lmer(Reaction ~ Days + noiseFactor + (Days | Subject), ss) expect_equal(predict(fm3, newdata = model.frame(fm3)[2:3, ])[2], predict(fm3, newdata = model.frame(fm3)[3, ])) ## complex-basis functions in RANDOM effect: (currently) fm5 <- lmer(Reaction~Days+(poly(Days,2)|Subject),sleepstudy) expect_equal(predict(fm5,sleepstudy[1,]),fitted(fm5)[1]) ## complex-basis functions in FIXED effect are fine fm6 <- lmer(Reaction~poly(Days,2)+(1|Subject),sleepstudy) expect_equal(predict(fm6,sleepstudy[1,]),fitted(fm6)[1]) ## GH #414: no warning about dropping contrasts on random effects op <- options(warn = 2) # there should be no warnings! set.seed(1) dat <- data.frame( fac = rep(c("a", "b"), 100), grp = rep(1:25, each = 4)) dat$y <- 0 contr <- 0.5 * contr.sum(2) rownames(contr) <- c("a", "b") colnames(contr) <- "a" contrasts(dat$fac) <- contr m1_contr <- lmer(y~fac+(fac|grp),dat) pp <- predict(m1_contr,newdata=dat) options(op) }) context("simulate") test_that("simulate", { expect_is(simulate(gm2), "data.frame") expect_warning(simulate(gm2, ReForm = NA), "is deprecated") expect_warning(simulate(gm2, REForm = NA), "is deprecated") p1 <- simulate(gm2, re.form = NULL, seed = 101) p2 <- simulate(gm2, re.form = ~0, seed = 101) p3 <- simulate(gm2, re.form = NA, seed = 101) p4 <- simulate(gm2, re.form = NULL, seed = 101) expect_warning(p5 <- simulate(gm2, ReForm = ~0, seed = 101), "is deprecated") p6 <- simulate(gm2, re.form = NA, seed = 101) expect_warning(p7 <- simulate(gm2, REForm = NULL, seed = 101), "is deprecated") p8 <- simulate(gm2, re.form = ~0, seed = 101) p9 <- simulate(gm2, re.form = NA, seed = 101) p10 <- simulate(gm2,use.u = FALSE, seed = 101) p11 <- simulate(gm2,use.u = TRUE, seed = 101) ## minimal check of content: expect_identical(colSums(p1[,1]), c(incidence = 95, 747)) expect_identical(colSums(p2[,1]), c(incidence = 109, 733)) ## equivalences: ## group ~0: expect_equal(p2,p3) expect_equal(p2,p5) expect_equal(p2,p6) expect_equal(p2,p8) expect_equal(p2,p9) expect_equal(p2,p10) ## group 1: expect_equal(p1,p4) expect_equal(p1,p7) expect_equal(p1,p11) expect_error(simulate(gm2,use.u = TRUE, re.form = NA), "should specify only one") ## ## hack: test with three REs p1 <- lmer(diameter ~ (1|plate) + (1|plate) + (1|sample), Penicillin, control = lmerControl(check.conv.hess = "ignore", check.conv.grad = "ignore")) expect_is(sp1 <- simulate(p1, seed=123), "data.frame") expect_identical(dim(sp1), c(nrow(Penicillin), 1L)) expect_equal(fivenum(sp1[,1]), c(20.9412, 22.5805, 23.5575, 24.6095, 27.6997), tolerance=1e-5) ## Pixel example expect_identical(dim(simulate(fmPixS)), c(nPix, 1L)) expect_identical(dim(simulate(fmPix )), c(nPix, 1L)) ## simulation with newdata smaller/larger different from original fm <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin) expect_is(simulate(fm,newdata=Penicillin[1:10,],allow.new.levels=TRUE),"data.frame") expect_is(simulate(fm,newdata=do.call(rbind,replicate(4,Penicillin,simplify=FALSE))),"data.frame") ## negative binomial sims set.seed(101) dd <- data.frame(f=factor(rep(1:10,each=20)), x=runif(200), y=rnbinom(200,size=2,mu=2)) g1 <- glmer.nb(y ~ x + (1|f), data=dd) th.g1 <- getME(g1, "glmer.nb.theta") ## changed to setting seed internally ts1 <- table(s1 <- simulate(g1,seed=101)[,1]) ## ts1B <- table(s1 <- simulate(g1,seed=101)[,1]) expect_equal(fixef(g1), c("(Intercept)" = 0.630067, x = -0.0167248), tolerance = 1e-4) ## ?? Travis is getting hung up here/ignoring tolerance spec?? expect_equal(th.g1, 2.013, tolerance = 1e-4) expect_equal(th.g1, g1@call$family[["theta"]])# <- important for pkg{effects} eval() expect_identical(sum(s1), 413) expect_identical(as.vector(ts1[as.character(0:5)]), ## c(51L, 54L, 36L, 21L, 14L, 9L)) c(49L,56L,32L,25L,11L,9L)) ## de novo NB simulation ... s2 <- simulate(~x + (1|f),seed=101, family=MASS::negative.binomial(theta=th.g1), newparams=getME(g1,c("theta","beta")), newdata=dd)[,1] expect_equal(s1,s2) ## Simulate with newdata with *new* RE levels: d <- sleepstudy[-1] # droping the response ("Reaction") ## d$Subject <- factor(rep(1:18, each=10)) ## Add 18 new subjects: d <- rbind(d, d) d$Subject <- factor(rep(1:36, each=10)) d$simulated <- simulate(fm1, seed=1, newdata = d, re.form=NULL, allow.new.levels = TRUE)[,1] expect_equal(mean(d$simulated), 299.9384608) ## Simulate with weights: newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ss <- simulate(gm1, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss, matrix(c(4,2,0,16,18,20),nrow=3, dimnames=list(NULL,c("incidence","")))) ss <- simulate(gm3, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss,c(0.2,0.1,0.0)) ss <- simulate(gm1, newdata=newdata[1,], weights=20, seed=101)[[1]] expect_equal(unname(ss),matrix(c(4,16),nrow=1)) ## simulate Gamma, from function and de novo set.seed(102) dd <- data.frame(x=rep(seq(-2,2,length=15),10), f=factor(rep(1:10,each=15))) u <- rnorm(10) dd$y <- with(dd, rgamma(nrow(dd),shape=2, scale=exp(2+1*x+u[as.numeric(f)])/2)) g1 <- glmer(y~x+(1|f),family=Gamma(link="log"),dd) s1 <- simulate(g1,seed=101) s2 <- suppressMessages(simulate(~x+(1|f), family=Gamma(link="log"), seed=101, newdata=dd, newparams=getME(g1,c("theta","beta","sigma")))) expect_equal(s1,s2) dd$y2 <- s2[[1]] g2 <- glmer(y2~x+(1|f),family=Gamma(link="log"),dd) expect_equal(fixef(g2), tolerance = 4e-7, # 32-bit windows showed 1.34e-7 c("(Intercept)" = 2.81887136759369, x= 1.06543222163626)) }) context("misc") test_that("misc", { expect_equal(df.residual(fm1),176) if (require(ggplot2)) { expect_is(fortify(fm1), "data.frame") expect_is(fortify(gm1), "data.frame") } expect_is(as.data.frame(VarCorr(fm1)), "data.frame") }) context("plot") test_that("plot", { ## test getData() within plot function: reported by Dieter Menne doFit <- function(){ data(Orthodont,package = "nlme") data1 <- Orthodont lmer(distance ~ age + (age|Subject), data = data1) } data(Orthodont, package = "nlme") fm0 <- lmer(distance ~ age + (age|Subject), data = Orthodont) expect_is(plot(fm0), "trellis") suppressWarnings(rm("Orthodont")) fm <- doFit() pp <- plot(fm, resid(., scaled = TRUE) ~ fitted(.) | Sex, abline = 0) expect_is(pp, "trellis") ## test qqmath/getIDLabels() expect_is(q1 <- lattice::qqmath(fm,id=0.05),"trellis") cake2 <- transform(cake,replicate=as.numeric(replicate), recipe=as.numeric(recipe)) fm2 <- lmer(angle ~ recipe + temp + (1|recipe:replicate), cake2, REML= FALSE) expect_is(lattice::qqmath(fm2,id=0.05), "trellis") expect_is(lattice::qqmath(fm2,id=0.05, idLabels=~recipe), "trellis") }) context("misc") test_that("summary", { ## test that family() works when $family element is weird ## FIXME: is convergence warning here a false positive? gnb <- suppressWarnings(glmer(TICKS~1+(1|BROOD), family=MASS::negative.binomial(theta=2), data=grouseticks)) expect_is(family(gnb),"family") }) context("profile") test_that("profile", { ## FIXME: can we deal with convergence warning messages here ... ? ## fit profile on default sd/cor scale ... p1 <- suppressWarnings(profile(fm1,which="theta_")) ## and now on var/cov scale ... p2 <- suppressWarnings(profile(fm1,which="theta_", prof.scale="varcov")) ## because there are no correlations, squaring the sd results ## gives the same result as profiling on the variance scale ## in the first place expect_equal(confint(p1)^2,confint(p2), tolerance=1e-5) ## or via built-in varianceProf() function expect_equal(unname(confint(varianceProf(p1))), unname(confint(p2)), tolerance=1e-5) p3 <- profile(fm2,which=c(1,3,4)) p4 <- suppressWarnings(profile(fm2,which="theta_",prof.scale="varcov", signames=FALSE)) ## warning: In zetafun(np, ns) : NAs detected in profiling ## compare only for sd/var components, not corr component expect_equal(unname(confint(p3)^2), unname(confint(p4)[c(1,3,4),]), tolerance=1e-3) ## check naming convention properly adjusted expect_equal(as.character(unique(p4$.par)), c("var_(Intercept)|Subject", "cov_Days.(Intercept)|Subject", "var_Days|Subject", "sigma")) }) context("model.frame") test_that("model.frame", { ## non-syntactic names d <- sleepstudy names(d)[1] <- "Reaction Time" ee <- function(m,nm) { expect_equal(names(model.frame(m, fixed.only=TRUE)),nm) } m <- lmer(Reaction ~ 1 + (1 | Subject), sleepstudy) ee(m,"Reaction") m2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy) ee(m2,c("Reaction","Days")) m3 <- lmer(`Reaction Time` ~ Days + (1 | Subject), d) ee(m3, c("Reaction Time","Days")) m4 <- lmer(Reaction ~ log(1+Days) + (1 | Subject), sleepstudy) ee(m4, c("Reaction","log(1 + Days)")) }) lme4/tests/testthat/test-NAhandling.R0000644000176200001440000001674613141431220017225 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) context("NA (and Inf) handling") ## Modified sleepstudy data : sleepst.a <- sleepstudy rownames(sleepst.a) <- paste0("a", rownames(sleepstudy)) sleepstudyNA <- within(sleepst.a, Reaction[1:3] <- NA) sleepstudyNA2 <- within(sleepst.a, Days[1:3] <- NA) sleepInf <- within(sleepstudy, Reaction[Reaction > 400] <- Inf) ## Modified cake data : cakeNA <- rbind(cake, tail(cake,1)) cakeNA[nrow(cakeNA), "angle"] <- NA ## Create new data frame with some NAs in fixed effect cakeNA.X <- within(cake, temp[1:5] <- NA) ## NA values in random effects -- should get treated cakeNA.Z <- within(cake, replicate[1:5] <- NA) test_that("naming", { ## baseline model fm1 <- lmer(Reaction~Days+(Days|Subject), sleepst.a) ## default: na.omit fm2 <- update(fm1, data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore")) expect_equal(head(names(fitted(fm1))), paste0("a",1:6)) expect_equal(head(names(fitted(fm2))), paste0("a",4:9)) expect_equal(names(predict(fm2)), names(fitted(fm2))) expect_equal(length(p1 <- predict(fm2)), 177) ## predict with na.exclude -> has 3 NA's, but otherwise identical: expect_equal(length(p2 <- predict(fm2, na.action=na.exclude)), 180) expect_identical(p1, p2[!is.na(p2)]) expect_equal(length((s1 <- simulate(fm1,1))[[1]]),180) expect_equal(length((s2 <- simulate(fm2,1))[[1]]),177) expect_equal(head(rownames(s1)),paste0("a",1:6)) expect_equal(head(rownames(s2)),paste0("a",4:9)) ## test simulation expect_is(attr(simulate(fm2),"na.action"),"omit") expect_is(refit(fm2,simulate(fm2)),"merMod") expect_equal(fixef(fm2), fixef(refit(fm2, sleepstudyNA$Reaction)), tolerance = 1e-5) fm2ex <- update(fm2, na.action=na.exclude) expect_equal(nrow(ss2 <- simulate(fm2ex)),180) expect_is(refit(fm2,ss2[[1]]),"merMod") ## issue #197, 18 new subjects; some with NA in y d2 <- sleepstudyNA[c(1:180, 1:180),] d2[,"Subject"] <- factor(rep(1:36, each=10)) d2[d2$Subject == 19, "Reaction"] <- NA expect_equal(dim( simulate(fm1, newdata=d2, allow.new.levels=TRUE) ), c(360,1)) ## na.pass (pretty messed up) expect_error(update(fm1,data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass), "NA/NaN/Inf in 'y'") sleepstudyNA2 <- within(sleepst.a, Days[1:3] <- NA) expect_error(fm4 <- update(fm1, data = sleepstudyNA2, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass),"NA in Z") expect_is(suppressWarnings(confint(fm2,method="boot",nsim=3, quiet=TRUE)),"matrix") expect_error(update(fm1, data = sleepstudyNA2, control = lmerControl(check.conv.grad="ignore"), na.action = na.pass), "NA in Z") expect_is(suppressWarnings( ci2 <- confint(fm2, method="boot", nsim=3, quiet=TRUE)), "matrix") }) test_that("other_NA", { expect_error(lmer(Reaction ~ Days + (Days | Subject), sleepInf), "\\") fm0 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) ## NA's in response : fm1 <- update(fm0, data = cakeNA) expect_true(all.equal( fixef(fm0), fixef(fm1))) expect_true(all.equal(VarCorr(fm0),VarCorr(fm1))) expect_true(all.equal( ranef(fm0), ranef(fm1))) fm1_omit <- update(fm1, na.action = na.omit) fm1_excl <- update(fm1, na.action = na.exclude) expect_error(update(fm1, na.action = na.pass), "NA/NaN") expect_error(update(fm1, na.action = na.fail), "missing values in object") fm1_omit@call <- fm1@call ## <- just for comparing: expect_equal(fm1, fm1_omit) expect_equal(length(fitted(fm1_omit)), 270) expect_equal(length(fitted(fm1_excl)), 271) expect_true(is.na(tail(predict(fm1_excl),1))) ## test predict.lm d <- data.frame(x = 1:10, y = c(rnorm(9),NA)) lm1 <- lm(y~x, data=d, na.action=na.exclude) expect_is(predict(lm1), "numeric") expect_equal(1, sum(is.na(predict(lm1, newdata = data.frame(x=c(1:4,NA)))))) ## Triq examples ... m.lmer <- lmer (angle ~ temp + (1 | recipe) + (1 | replicate), data=cake) ## NAs in fixed effect p1_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.pass) expect_true(length(p1_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p1_pass[1:5]))) p1_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.omit) p1_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.exclude) expect_true(length(p1_omit)==nrow(na.omit(cakeNA.X))) expect_true(length(p1_exclude)==nrow(cakeNA.X)) expect_true(all.equal(c(na.omit(p1_exclude)),p1_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.fail), "missing values in object") ## now try it with re.form==NULL p2_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.pass) expect_true(length(p2_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p2_pass[1:5]))) p2_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.omit) p2_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.exclude) expect_true(length(p2_omit)==nrow(na.omit(cakeNA.X))) expect_true(all.equal(c(na.omit(p2_exclude)),p2_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.fail), "missing values in object") ## experiment with NA values in random effects -- should get treated expect_error(predict(m.lmer, newdata=cakeNA.Z, re.form=NULL), "NAs are not allowed in prediction data") p4 <- predict(m.lmer, newdata=cakeNA.Z, re.form=NULL, allow.new.levels=TRUE) p4B <- predict(m.lmer, newdata=cakeNA.Z, re.form=~1|recipe, allow.new.levels=TRUE) expect_true(all.equal(p4[1:5],p4B[1:5])) p4C <- predict(m.lmer, newdata=cakeNA.Z, re.form=NA) d <- data.frame(x=runif(100),f=factor(rep(1:10,10))) set.seed(101) u <- rnorm(10) d <- transform(d,y=rnorm(100,1+2*x+u[f],0.2)) d0 <- d d[c(3,5,7),"x"] <- NA ## 'omit' and 'exclude' are the only choices under which ## we will see NA values in the results fm0 <- lmer(y~x+(1|f), data=d0) ## no 'na.action' attribute because no NAs in this data set expect_equal(attr(model.frame(fm0),"na.action"),NULL) fm1 <- update(fm0, data=d) ## no NAs in predict or residuals because na.omit expect_false(any(is.na(predict(fm1)))) expect_false(any(is.na(residuals(fm1)))) fm2 <- update(fm1,na.action="na.exclude") ## no NAs in predict or residuals because na.omit nNA <- sum(is.na(d$x)) expect_equal(sum(is.na(predict(fm2))),nNA) expect_equal(sum(is.na(residuals(fm2))),nNA) expect_error(fm3 <- lmer(y~x+(1|f), data=d, na.action="na.pass"), "(Error in qr.default|NA/NaN/Inf in foreign function call)") expect_is(refit(fm0),"merMod") expect_is(refit(fm1),"merMod") expect_is(refit(fm2),"merMod") ## GH 420: NAs in training data should *not* get ## carried over into predictions! fm4 <- lmer(Reaction~Days+(1|Subject),sleepstudyNA2) pp4 <- predict(fm4,newdata=sleepstudy) expect_equal(length(pp4),nrow(sleepstudy)) expect_equal(sum(is.na(pp4)),0) }) lme4/tests/testthat/test-ranef.R0000644000176200001440000000213013141431220016273 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) set.seed(101) n <- 500 d <- data.frame(x=rnorm(n), f=factor(sample(1:10,n,replace=TRUE), labels=LETTERS[1:10]), g=factor(sample(1:25,n,replace=TRUE), labels=letters[1:25])) d$y <- suppressMessages(simulate(~1+x+(1|f)+(x|g),family=binomial, newdata=d, newparams=list(beta=c(0,1), theta=c(1,1,2,1)))[[1]]) fm1 <- glmer(y~(1|f)+(x|g),family=binomial,data=d) test_that("ranef", { expect_warning(ranef(fm1,transf=exp),"additional arguments") }) test_that("dotplot_ranef", { rr <- ranef(fm1,condVar=TRUE) expect_is(lattice::dotplot(rr,scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(lattice::dotplot(rr,transf=exp, scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(as.data.frame(rr),"data.frame") rr0 <- ranef(fm1) expect_is(as.data.frame(rr0),"data.frame") }) lme4/tests/testthat/test-glmernb.R0000644000176200001440000000462012650276557016664 0ustar liggesuserslibrary("testthat") library("lme4") context("glmer.nb") test_that("basic", { set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) require("MASS") m.glm <- glm.nb(y ~ f1*f2, data=dd) m.nb <- glmer.nb(y ~ f1*f2 + (1|g), data=dd) expect_equal(unname(fixef(m.nb)), c(1.65008, 0.76715, 1.01147, 1.51241, -0.61506, -0.6104), tol=1e-5) expect_is(m.nb,"glmerMod") ## 'family' properly quoted/not expanded in call? expect_equal(gsub("[0-9]+\\.[0-9]+","NUM",deparse(m.nb@call$family)), "negative.binomial(theta = NUM)") expect_null(m.nb@call$verbose) ## check: GH #321 expect_equal(fixef(m.nb), coef (m.glm), tol=1e-5) ## GH #319 ## GH #285 m.nb1 <- glmer(Reaction > 250 ~ Days + (1|Subject), data = sleepstudy, family=poisson) ## previously failing on Travis-CI m.nb2 <- glmer.nb(y ~ f1*f2 + (1|g), data=dd, subset = g!=8) expect_equal(unname(ngrps(m.nb2)),8) ## expect parameters, ngrps *not* to equal full model expect_equal(unname(fixef(m.nb2)), c(1.629240234, 0.76028840, 1.008629913, 1.6172507, -0.6814426, -0.66468330),tol=1e-5) ## control handling ... this should suppress warnings ... old.opts <- options(warning=2) m.nb2 <- glmer.nb(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, subset = Subject != 370, control=glmerControl(check.conv.grad="ignore")) expect_is(m.nb2,"glmerMod") options(old.opts) m.nb3 <- glmer.nb(y~f1+(1|g), data=dd, contrasts=list(f1=contr.sum)) ## make sure *different* fixed effects from previous fit ... expect_equal(fixef(m.nb3), structure(c(2.93061, -0.29779, 0.02586), .Names = c("(Intercept)", "f11", "f12")),tol=1e-5) ## make sure 'data' is in call even if unnamed m.nb4 <- glmer.nb(y~f1+(1|g), dd) expect_equal(names(m.nb4@call),c("","formula","data","family")) ## GH 322; allow offset m.nb2 <- glmer.nb(y~f1+(1|g), data=dd, offset=rep(0,nrow(dd))) }) lme4/tests/respiratory.R0000644000176200001440000000137712374550357015006 0ustar liggesusers## Data originally from Davis 1991 Stat. Med., as packaged in geepack ## and transformed (center, id -> factor, idctr created, levels labeled) library(lme4) load(system.file("testdata","respiratory.RData",package="lme4")) m_glmer_4.L <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory) m_glmer_4.GHQ5 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=5) m_glmer_4.GHQ8 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=8) m_glmer_4.GHQ16 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=16) lme4/tests/HSAURtrees.R0000644000176200001440000000406412406350753014336 0ustar liggesuserslibrary("lme4") ## example from HSAUR2 package; data from 'multcomp'; see ../inst/testdata/trees513.R load(system.file("testdata","trees513.RData",package="lme4")) ## model formula: modForm <- damage ~ species - 1 + (1 | lattice / plot) dfun <- glmer(modForm, data = trees513B, family = binomial, devFunOnly = TRUE) ls.str(environment(dfun))# "for your information" .not.call <- function(x) x[names(x) != "call"] if(lme4:::testLevel() < 2) q("no") ## {{advantage to if(. >= 2) { ........} : autoprint of system.time() etc ## else (testLevel >= 2) : -------------------------------------------------- ## Generate oldres: ## ---------------- ## library(lme4.0) ## system.time(mmod0 <- glmer(damage ~ species - 1 + (1 | lattice / plot), ## data = trees513, family = binomial())) ## ## 4 seconds ## oldres <- c(fixef(mmod0),getME(mmod0,"theta")) ## detach("package:lme4.0") ## dput(oldres) oldres <- structure(c(5.23645064474105, 4.73568475545248, 2.65289926317093, 1.29043984816924, 1.59329381563025, 0.532663142106669, 1.16703186884403 ), .Names = c("speciesspruce", "speciespine", "speciesbeech", "speciesoak", "specieshardwood", "plot:lattice.(Intercept)", "lattice.(Intercept)")) system.time(mmodA <- glmer(modForm, data = trees513A, family = binomial())) ## 7 seconds newres <- c(fixef(mmodA), getME(mmodA,"theta")) stopifnot(all.equal(oldres, newres, tolerance=1.5e-3)) system.time(mmodB <- glmer(modForm, data = trees513B, family = binomial())) ## 10.4 seconds ## ## lmer( + family) -> diverts to glmer() with a warning [TODO: use assertWarning(.) eventually] system.time(lmodB <- lmer(modForm, data = trees513B, family = binomial())) stopifnot(all.equal(.not.call(summary(mmodB)), .not.call(summary(lmodB)))) newresB <- c(fixef(mmodB),getME(mmodB,"theta")) stopifnot(length(newresB) == length(oldres) + 1)# extra: species[ash/maple/elm/lime] ## (unfinished) lme4/tests/extras.R0000644000176200001440000000153312406350753013715 0ustar liggesuserslibrary(lme4) ## This example takes long : only for testLevel >= 3 : d.ok <- isTRUE(try(data(star, package = 'mlmRev')) == 'star') if(!interactive() && (lme4:::testLevel() < 3 || !d.ok)) q("no") ## This worked in an *older* version of lme4.0 ## fm1 <- lme4:::carryOver(math ~ gr+sx*eth+cltype+(yrs|id)+(1|tch)+(yrs|sch), ## star, yrs ~ tch/id, ## control = list(msV = 1, nit = 0, grad = 0)) system.time( fm1 <- lmer(math ~ gr + sx*eth + cltype + schtype + hdeg + clad + exp + trace + (yrs | id) + (1 | tch) + (yrs | sch), data = star, verbose = TRUE) ) ## user system elapsed ## 34.991 0.037 35.132 -- lme4.0 ## 36.599 0.031 36.745 -- lme4 {bobyqa; 2014-01-09 @ lynne} sm1 <- summary(fm1) print(sm1, corr=TRUE, symbolic.cor=TRUE)# now message *and* gives the correlation lme4/tests/refit.R0000644000176200001440000001551512764365102013526 0ustar liggesusers#### Testing refit() #### ---------------- library(lme4) set.seed(101) ## for each type of model, should be able to ## (1) refit with same data and get the same answer, ## at least structurally (small numerical differences ## are probably unavoidable) ## (2) refit with simulate()d data getinfo <- function(x) { c(fixef(x), logLik(x), unlist(ranef(x)), unlist(VarCorr(x))) } dropterms <- function(x) { attr(x@frame,"terms") <- NULL x } if (getRversion() >= "3.0.0") { attach(system.file("testdata", "lme-tst-fits.rda", package="lme4")) } else { ## saved fits are not safe with old R versions; just re-compute ("cheat"!): fit_sleepstudy_2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) cbpp$obs <- factor(seq(nrow(cbpp))) ## intercept-only fixed effect fit_cbpp_0 <- glmer(cbind(incidence, size-incidence) ~ 1 + (1|herd), cbpp, family=binomial) ## include fixed effect of period fit_cbpp_1 <- update(fit_cbpp_0, . ~ . + period) if(FALSE) ## include observation-level RE fit_cbpp_2 <- update(fit_cbpp_1, . ~ . + (1|obs)) ## specify formula by proportion/weights instead fit_cbpp_3 <- update(fit_cbpp_1, incidence/size ~ period + (1 | herd), weights = size) } ## LMM fm1 <- fit_sleepstudy_2 fm1R <- refit(fm1, sleepstudy$Reaction) fm1S <- refit(fm1, simulate(fm1)[[1]]) stopifnot(all.equal(getinfo(fm1 ), getinfo(fm1R), tolerance = 6e-3), all.equal(getinfo(fm1 ), getinfo(fm1S), tolerance = 0.5) # <- simulate() ) if(FALSE) ## show all differences sapply(slotNames(fm1), function(.) all.equal( slot(fm1,.), slot(fm1R,.), tolerance=0)) sapply(slotNames(fm1), function(.) isTRUE(all.equal( slot(fm1,.), slot(fm1R,.), tolerance= 1.5e-5))) str(fm1 @ optinfo) str(fm1R@ optinfo) fm1ML <- refitML(fm1) stopifnot( all.equal(getinfo(fm1), getinfo(fm1ML), tolerance=0.05)# 0.029998 ) ## binomial GLMM (two-column) gm1 <- fit_cbpp_1 gm1R <- refit(gm1, with(cbpp, cbind(incidence,size-incidence))) sim1Z <- simulate(gm1)[[1]] sim1Z[4,] <- c(0,0) (gm1. <- refit(gm1, sim1Z)) # earlier gave Error: ... PIRLS ... failed ... all.equal(getinfo(gm1), getinfo(gm1R), tolerance=0) # to see it --> 5.52e-4 # because glmer() uses Laplace approx. (? -- still, have *same* y !) stopifnot(all.equal(getinfo(gm1), getinfo(gm1R), tolerance = 1e-4)) ## if(FALSE) {## FIXME: still failing on Windows (SW: how about now?) gm1S <- refit(gm1, simulate(gm1)[[1]]) all.equal(getinfo(gm1), getinfo(gm1S), tolerance=0) # to see: stopifnot(all.equal(getinfo(gm1), getinfo(gm1S), tolerance = 0.4)) ## } ## binomial GLMM (prob/weights) formula(gm2 <- fit_cbpp_3) ## glmer(incidence/size ~ period + (1 | herd), cbpp, binomial, weights=size) gm2R <- refit(gm2, with(cbpp, incidence/size)) all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 0) stopifnot(all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 6e-4)) ## FIXME: check on Windows == 2015-06: be brave gm2S <- refit(gm2, simulate(gm2)[[1]]) all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0)# 0.17 .. upto 0.28 stopifnot(all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0.40)) ## from Alexandra Kuznetsova set.seed(101) Y <- matrix(rnorm(1000),ncol=2) d <- data.frame(y1=Y[,1], x=rnorm(100), f=rep(1:10,10)) fit1 <- lmer(y1 ~ x+(1|f),data=d) fit2 <- refit(fit1, newresp = Y[,2], rename.response=TRUE) ## check, but ignore terms attribute of model frame ... tools::assertWarning(refit(fit1, newresp = Y[,2], junk=TRUE)) if (isTRUE(all.equal(fit1,fit2))) stop("fit1 and fit2 should not be equal") ## hack number of function evaluations u2 <- update(fit2) fit2@optinfo$feval <- u2@optinfo$feval <- NA d1 <- dropterms(fit2) d2 <- dropterms( u2 ) ## They are not "all equal", but mostly : for (i in slotNames(d1)) { ae <- all.equal(slot(d1,i), slot(d2,i)) cat(sprintf("%10s: %s\n", i, if(isTRUE(ae)) "all.equal" else paste(ae, collapse="\n "))) } all.equal(getinfo(d1), getinfo(d2), tolerance = 0)# -> 0.00126 stopifnot(all.equal(getinfo(d1), getinfo(d2), tolerance = 0.005)) ## Bernoulli GLMM (specified as factor) if (require("mlmRev")) { data(Contraception, package="mlmRev") gm3 <- glmer(use ~ urban + age + livch + (1|district), Contraception, binomial) gm3R <- refit(gm3, Contraception$use) gm3S <- refit(gm3, simulate(gm3)[[1]]) stopifnot(all.equal(getinfo(gm3 ), getinfo(gm3R), tolerance = 1e-5),# 64b_Lx: 7.99e-7 all.equal(getinfo(gm3 ), getinfo(gm3S), tolerance = 0.05) # <- simulated data ) cat("gm3: glmer(..):\n" ); print(getinfo(gm3)) cat("gm3R: refit(*, y):\n" ); print(getinfo(gm3R)) cat("gm3S: refit(*, sim.()):\n"); print(getinfo(gm3S)) data(Mmmec, package="mlmRev") if (lme4:::testLevel() > 1) { gm4 <- glmer(deaths ~ uvb + (1|region), data=Mmmec, family = poisson, offset = log(expected)) ## FIXME: Fails to converge (with larger maxit: "downdate .. not pos.def..") try( gm4R <- refit(gm4, Mmmec $ deaths) ) try( gm4S <- refit(gm4, simulate(gm4)[[1]]) ) if(FALSE) { ## FIXME (above) cat("gm4R: refit(*,y):\n" ); print( getinfo(gm4R) ) cat("gm4S: refit(*,y):\n" ); print( getinfo(gm4S) ) stopifnot(all.equal(getinfo(gm4),getinfo(gm4R),tolerance=6e-5)) } } } ## ---------------------------------------------------------------------- ## issue: #231, http://ms.mcmaster.ca/~bolker/misc/boot_reset.html ## commits: 1a34cd0, e33d698, 53ce966, 7dbfff1, 73aa1bb, a693ba9, 8dc8cf0 ## ---------------------------------------------------------------------- formGrouse <- TICKS ~ YEAR + scale(HEIGHT) + (1 | BROOD) + (1 | INDEX) + (1 | LOCATION) gmGrouse <- glmer(formGrouse, family = "poisson", data = grouseticks) set.seed(105) simTICKS <- simulate(gmGrouse)[[1]] newdata <- transform(grouseticks, TICKS = simTICKS) gmGrouseUpdate <- update(gmGrouse, data = newdata) gmGrouseRefit <- refit(gmGrouse, newresp = simTICKS) all.equal(bet.U <- fixef(gmGrouseUpdate), bet.R <- fixef(gmGrouseRefit), tolerance = 0) all.equal(th.U <- getME(gmGrouseUpdate, "theta"), th.R <- getME(gmGrouseRefit, "theta"), tolerance = 0) all.equal(dev.U <- deviance(gmGrouseUpdate), dev.R <- deviance(gmGrouseRefit), tolerance = 0) stopifnot( all.equal(bet.U, bet.R, tolerance = 4e-5), # saw 1.0e-5 all.equal( th.U, th.R, tolerance = 4e-5), # saw 1.2e-5 all.equal(dev.U, dev.R, tolerance = 2e-5)) # saw 4.6e-6 all.equal(fixef(gmGrouseUpdate), fixef(gmGrouseRefit), tolerance = 1e-5) all.equal(getME(gmGrouseUpdate, "theta"), getME(gmGrouseRefit, "theta"), tolerance = 1e-5) all.equal(deviance(gmGrouseUpdate), deviance(gmGrouseRefit), tolerance = 1e-5) lme4/tests/minval.R0000644000176200001440000000131012406350753013666 0ustar liggesusers## example posted by Stéphane Laurent ## exercises bug where Nelder-Mead min objective function value was >0 set.seed(666) sims <- function(I, J, sigmab0, sigmaw0){ Mu <- rnorm(I, mean=0, sd=sigmab0) y <- c(sapply(Mu, function(mu) rnorm(J, mu, sigmaw0))) data.frame(y=y, group=gl(I,J)) } I <- 3 # number of groups J <- 8 # number of repeats per group sigmab0 <- 0.15 # between standard deviation sigmaw0 <- 0.15 # within standard deviation dat <- sims(I, J, sigmab0, sigmaw0) library(lme4) fm3 <- lmer(y ~ (1|group), data=dat) stopifnot(all.equal(unname(unlist(VarCorr(fm3))), if(fm3@optinfo$optimizer == "Nelder_Mead") 0.029662844057 else 0.02966269809, tolerance = 1e-7)) lme4/tests/lmer-1.Rout.save0000644000176200001440000004600612565075351015201 0ustar liggesusers R version 3.1.1 Patched (2014-10-15 r66769) -- "Sock it to Me" Copyright (C) 2014 The R Foundation for Statistical Computing Platform: x86_64-unknown-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ### suppressPackageStartupMessages(...) as we have an *.Rout.save to Rdiff against > stopifnot(suppressPackageStartupMessages(require(lme4))) > options(show.signif.stars = FALSE, useFancyQuotes=FALSE) > > source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc Loading required package: tools > all.EQ <- function(u,v, ...) all.equal.X(u, v, except = c("call", "frame"), ...) > S4_2list <- function(obj) { # no longer used + sn <- slotNames(obj) + structure(lapply(sn, slot, object = obj), .Names = sn) + } > ## Is now (2010-09-03) in Matrix' test-tools.R above > ## showProc.time <- local({ > ## pct <- proc.time() > ## function() { ## CPU elapsed __since last called__ > ## ot <- pct ; pct <<- proc.time() > ## cat('Time elapsed: ', (pct - ot)[1:3],'\n') > ## } > ## }) > > oldOpts <- options(digits=2) > (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) Linear mixed model fit by REML ['lmerMod'] Formula: Reaction ~ Days + (Days | Subject) Data: sleepstudy REML criterion at convergence: 1744 Random effects: Groups Name Std.Dev. Corr Subject (Intercept) 24.74 Days 5.92 0.07 Residual 25.59 Number of obs: 180, groups: Subject, 18 Fixed Effects: (Intercept) Days 251.4 10.5 > (fm1a <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML = FALSE)) Linear mixed model fit by maximum likelihood ['lmerMod'] Formula: Reaction ~ Days + (Days | Subject) Data: sleepstudy AIC BIC logLik deviance df.resid 1764 1783 -876 1752 174 Random effects: Groups Name Std.Dev. Corr Subject (Intercept) 23.78 Days 5.72 0.08 Residual 25.59 Number of obs: 180, groups: Subject, 18 Fixed Effects: (Intercept) Days 251.4 10.5 > (fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) Linear mixed model fit by REML ['lmerMod'] Formula: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject) Data: sleepstudy REML criterion at convergence: 1744 Random effects: Groups Name Std.Dev. Subject (Intercept) 25.05 Subject.1 Days 5.99 Residual 25.57 Number of obs: 180, groups: Subject, 18 Fixed Effects: (Intercept) Days 251.4 10.5 > anova(fm1, fm2) refitting model(s) with ML (instead of REML) Data: sleepstudy Models: fm2: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject) fm1: Reaction ~ Days + (Days | Subject) Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq) fm2 5 1762 1778 -876 1752 fm1 6 1764 1783 -876 1752 0.06 1 0.8 > > ## Now works for glmer > fm1. <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) > ## default family=gaussian/identity link -> automatically calls lmer() (but with a warning) > ## hack call -- comes out unimportantly different > fm1.@call[[1]] <- quote(lmer) > stopifnot(all.equal(fm1, fm1.)) > ## Test against previous version in lmer1 (using bobyqa for consistency) > #(fm1. <- lmer1(Reaction ~ Days + (Days|Subject), sleepstudy, opt = "bobyqa")) > #stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), > # all.equal(fixef(fm1), fixef(fm1.)), > # all.equal(fm1@re@theta, fm1.@theta, tolerance = 1.e-7), > # all.equal(ranef(fm1), ranef(fm1.))) > > ## compDev = FALSE no longer applies to lmer > ## Test 'compDev = FALSE' (vs TRUE) > ## fm1. <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, > ## compDev = FALSE)#--> use R code (not C++) for deviance computation > ## stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), > ## all.equal(fixef(fm1), fixef(fm1.)), > ## all.equal(fm1@re@theta, fm1.@re@theta, tolerance = 1.e-7), > ## all.equal(ranef(fm1), ranef(fm1.), tolerance = 1.e-7)) > > stopifnot(all.equal(fixef(fm1), fixef(fm2), tolerance = 1.e-13), + all.equal(unname(fixef(fm1)), + c(251.405104848485, 10.467285959595), tolerance = 1e-13), + all.equal(Matrix::cov2cor(vcov(fm1))["(Intercept)", "Days"], + -0.13755, tolerance=1e-4)) > > fm1ML <- refitML(fm1) > fm2ML <- refitML(fm2) > print(AIC(fm1ML)); print(AIC(fm2ML)) [1] 1764 [1] 1762 > print(BIC(fm1ML)); print(BIC(fm2ML)) [1] 1783 [1] 1778 > > (fm3 <- lmer(Yield ~ 1|Batch, Dyestuff2)) Linear mixed model fit by REML ['lmerMod'] Formula: Yield ~ 1 | Batch Data: Dyestuff2 REML criterion at convergence: 162 Random effects: Groups Name Std.Dev. Batch (Intercept) 0.00 Residual 3.72 Number of obs: 30, groups: Batch, 6 Fixed Effects: (Intercept) 5.67 > stopifnot(all.equal(coef(summary(fm3)), + array(c(5.6656, 0.67838803150, 8.3515624346), + c(1,3), dimnames = list("(Intercept)", + c("Estimate", "Std. Error", "t value"))))) > showProc.time() # Time elapsed: 0.4 0.002 0.41 > > ### {from ../man/lmer.Rd } --- compare lmer & lmer1 --------------- > (fmX1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) Linear mixed model fit by REML ['lmerMod'] Formula: Reaction ~ Days + (Days | Subject) Data: sleepstudy REML criterion at convergence: 1744 Random effects: Groups Name Std.Dev. Corr Subject (Intercept) 24.74 Days 5.92 0.07 Residual 25.59 Number of obs: 180, groups: Subject, 18 Fixed Effects: (Intercept) Days 251.4 10.5 > (fm.1 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) Linear mixed model fit by REML ['lmerMod'] Formula: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject) Data: sleepstudy REML criterion at convergence: 1744 Random effects: Groups Name Std.Dev. Subject (Intercept) 25.05 Subject.1 Days 5.99 Residual 25.57 Number of obs: 180, groups: Subject, 18 Fixed Effects: (Intercept) Days 251.4 10.5 > > #(fmX2 <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy)) > #(fm.2 <- lmer2(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) > ## check update(, ): > fm.3 <- update(fmX1, . ~ Days + (1|Subject) + (0+Days|Subject)) > stopifnot(all.equal(fm.1, fm.3)) > > fmX1s <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) Warning messages: 1: sparseX = TRUE has no effect at present 2: extra argument(s) 'sparseX' disregarded > #fmX2s <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) > options(oldOpts) ## restore digits > > showProc.time() # Time elapsed: 0.133 0 0.133 > > for(nm in c("coef", "fixef", "ranef", "sigma", + "model.matrix", "model.frame" , "terms")) { + cat(sprintf("%15s : ", nm)) + FUN <- get(nm) + F.fmX1s <- FUN(fmX1s) + # F.fmX2s <- FUN(fmX2s) + # if(nm == "model.matrix") { + # F.fmX1s <- as(F.fmX1s, "denseMatrix") + # F.fmX2s <- as(F.fmX2s, "denseMatrix") + # FF <- function(.) {r <- FUN(.); row.names(r) <- NULL + # as(r, "generalMatrix") } + # } # else + FF <- FUN + stopifnot( + all.equal( FF(fmX1), F.fmX1s, tolerance = 1e-6) + # , + # all.equal( FF(fmX2), F.fmX2s, tolerance = 1e-5) + # , + # all.equal( FF(fm.1), F.fmX2s, tolerance = 9e-6) ## these are different models + # , + # all.equal(F.fmX2s, F.fmX1s, tolerance = 6e-6) + # , + # all.equal(FUN(fm.1), FUN(fm.2), tolerance = 6e-6) + , + TRUE) + cat("[Ok]\n") + } coef : [Ok] fixef : [Ok] ranef : [Ok] sigma : [Ok] model.matrix : [Ok] model.frame : [Ok] terms : [Ok] > > > ## transformed vars should work[even if non-sensical as here;failed in 0.995-1] > fm2l <- lmer(log(Reaction) ~ log(Days+1) + (log(Days+1)|Subject), + data = sleepstudy, REML = FALSE) > ## no need for an expand method now : xfm2 <- expand(fm2) > > stopifnot(dim(ranef(fm2l)[[1]]) == c(18, 2), + is((c3 <- coef(fm3)), "coef.mer"), + all(fixef(fm3) == c3$Batch),## <-- IFF \hat{\sigma^2} == 0 + TRUE) > > > > ## Simple example by Andrew Gelman (2006-01-10) ---- > n.groups <- 10 ; n.reps <- 2 > n <- length(group.id <- gl(n.groups, n.reps)) > ## simulate the varying parameters and the data: > set.seed(0) > a.group <- rnorm(n.groups, 1, 2) > y <- rnorm (n, a.group[group.id], 1) > ## fit and summarize the model > fit.1 <- lmer (y ~ 1 + (1 | group.id)) > oldOpts <- options(digits=3) > coef (fit.1) $group.id (Intercept) 1 3.376 2 -0.238 3 3.186 4 3.112 5 1.438 6 -1.759 7 -0.255 8 0.698 9 1.212 10 4.943 attr(,"class") [1] "coef.mer" > options(oldOpts) > ## check show( <"summary.mer"> ): > (sf1 <- summary(fit.1)) # --> now looks as for fit.1 Linear mixed model fit by REML ['lmerMod'] Formula: y ~ 1 + (1 | group.id) REML criterion at convergence: 73.4 Scaled residuals: Min 1Q Median 3Q Max -1.1193 -0.5973 0.0728 0.4817 1.1179 Random effects: Groups Name Variance Std.Dev. group.id (Intercept) 4.5579 2.1349 Residual 0.6678 0.8172 Number of obs: 20, groups: group.id, 10 Fixed effects: Estimate Std. Error t value (Intercept) 1.5713 0.6994 2.247 > > stopifnot(all.equal(fixef(fit.1), c("(Intercept)" = 1.571312129)), + all.equal(unname(ranef(fit.1, drop=TRUE)[["group.id"]]), + c(1.8046888, -1.8097665, 1.6146451, 1.5408268, -0.1331995, + -3.3306655, -1.8259277, -0.8735145, -0.3591311, 3.3720441), + tolerance = 1e-5) + ) > > > ## ranef and coef > rr <- ranef(fm1) > stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) > print(plot(rr)) $Subject > stopifnot(is(cc <- coef(fm1), "coef.mer"), + is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) > print(plot(cc)) $Subject > rr <- ranef(fm2) > stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) > print(plot(rr)) $Subject > stopifnot(is(cc <- coef(fm2), "coef.mer"), + is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) > print(plot(cc)) $Subject > > showProc.time() # Time elapsed: 0.365 0.004 0.38 > > ## Invalid factor specification -- used to seg.fault: > set.seed(1) > dat <- within(data.frame(lagoon = factor(rep(1:4,each = 25)), + habitat = factor(rep(1:20, each = 5))), + { + y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) + }) > > tt <- suppressWarnings(try(reg <- lmer(y ~ habitat + (1|habitat*lagoon), data = dat) + ) + # did seg.fault) + ) # now gives error ^- should be ":" Error : Invalid grouping factor specification, habitat * lagoon > ## suppress warning that uses different quoting conventions on > ## R-release vs. R-devel > > r1 <- lmer(y ~ 0+habitat + (1|habitat:lagoon), data = dat, + control=lmerControl(check.conv.hess="ignore", + check.conv.grad="ignore")) # ok, but senseless > r1b <- lmer(y ~ 0+habitat + (1|habitat), data = dat, + control=lmerControl(check.conv.hess="ignore", + check.conv.grad="ignore")) # same model, clearly unidentifiable > ## "TODO" : summary(r1) should ideally warn the user > stopifnot(all.equal(fixef(r1), fixef(r1b), tolerance= 1e-15), + all.equal(ranef(r1), ranef(r1b), tolerance= 1e-15, check.attributes=FALSE)) > > ## Use a more sensible model: > r2.0 <- lmer(y ~ 0+lagoon + (1|habitat:lagoon), data = dat) # ok > r2 <- lmer(y ~ 0+lagoon + (1|habitat), data = dat) # ok, and more clear > stopifnot(all.equal(fixef(r2), fixef(r2.0), tolerance= 1e-15), + all.equal(ranef(r2), ranef(r2.0), tolerance= 1e-15, check.attributes=FALSE)) > V2 <- vcov(r2) > assert.EQ.mat(V2, diag(x = 9.9833/3, nr = 4)) > stopifnot(all.equal(unname(fixef(r2)) - (1:4)*100, + c(1.72, 0.28, 1.76, 0.8), tolerance = 1e-13)) > > ## sparseX version should give same numbers: > ## (only gives a warning now -- sparseX disregarded) > r2. <- lmer(y ~ 0+lagoon + (1|habitat), data = dat, + sparseX = TRUE, verbose = TRUE) start par. = 13.3722 fn = 805.5555 At return eval: 16 fn: 709.74472 par: 0.00000 Warning messages: 1: sparseX = TRUE has no effect at present 2: extra argument(s) 'sparseX' disregarded > > ## the summary() components we do want to compare 'dense X' vs 'sparse X': > nmsSumm <- c("methTitle", "devcomp", "logLik", "ngrps", "coefficients", + "sigma", "REmat", "AICtab") > sr2 <- summary(r2) > sr2. <- summary(r2.) > sr2.$devcomp$dims['spFe'] <- 0L # to allow for comparisons below > stopifnot(all.equal(sr2[nmsSumm], sr2.[nmsSumm], tolerance= 1e-14) + , all.equal(ranef(r2), ranef(r2.), tolerance= 1e-14) + , Matrix:::isDiagonal(vcov(r2.)) # ok + , all.equal(Matrix::diag(vcov(r2.)), rep.int(V2[1,1], 4), tolerance= 1e-13) + # , all(vcov(r2.)@factors$correlation == diag(4)) # not sure why this fails + , TRUE) > r2. Linear mixed model fit by REML ['lmerMod'] Formula: y ~ 0 + lagoon + (1 | habitat) Data: dat REML criterion at convergence: 709.7447 Random effects: Groups Name Std.Dev. habitat (Intercept) 0.000 Residual 9.121 Number of obs: 100, groups: habitat, 20 Fixed Effects: lagoon1 lagoon2 lagoon3 lagoon4 101.7 200.3 301.8 400.8 > > > ### mcmcsamp() : > ## From: Andrew Gelman > ## Date: Wed, 18 Jan 2006 22:00:53 -0500 > > if (FALSE) { # mcmcsamp still needs work + ## NB: Need to restore coda to the Suggests: field of DESCRIPTION + ## file if this code block is reinstated. + ## has.coda <- require(coda) + ## if(!has.coda) + ## cat("'coda' package not available; some outputs will look suboptimal\n") + + ## Very simple example + y <- 1:10 + group <- gl(2,5) + (M1 <- lmer (y ~ 1 + (1 | group))) # works fine + (r1 <- mcmcsamp (M1)) # dito + r2 <- mcmcsamp (M1, saveb = TRUE) # gave error in 0.99-* and 0.995-[12] + (r10 <- mcmcsamp (M1, n = 10, saveb = TRUE)) + + ## another one, still simple + y <- (1:20)*pi + x <- (1:20)^2 + group <- gl(2,10) + M1 <- lmer (y ~ 1 | group) + mcmcsamp (M1, n = 2, saveb=TRUE) # fine + + M2 <- lmer (y ~ 1 + x + (1 + x | group)) # false convergence + ## should be identical (and is) + M2 <- lmer (y ~ x + ( x | group))# false convergence -> simulation doesn't work: + if(FALSE) ## try(..) fails here (in R CMD check) [[why ??]] + mcmcsamp (M2, saveb=TRUE) + ## Error: inconsistent degrees of freedom and dimension ... + + ## mcmc for glmer: + rG1k <- mcmcsamp(m1, n = 1000) + summary(rG1k) + rG2 <- mcmcsamp(m1, n = 3, verbose = TRUE) + } > > ## Spencer Graves' example (from a post to S-news, 2006-08-03) ---------------- > ## it should give an error, rather than silent non-sense: > tstDF <- data.frame(group = letters[1:5], y = 1:5) > assertError(## Now throws an error, as desired : + lmer(y ~ 1 + (1|group), data = tstDF) + ) > > showProc.time() # Time elapsed: 0.179 0.002 0.18 > > ## Wrong formula gave a seg.fault at times: > set.seed(2)# ! > D <- data.frame(y= rnorm(12,10), ff = gl(3,2,12), + x1=round(rnorm(12,3),1), x2=round(rnorm(12,7),1)) > ## NB: The first two are the same, having a length-3 R.E. with 3 x 3 vcov-matrix: > ## --> do need CPU > ## suppressWarnings() for warning about too-few random effects levels > m0 <- suppressWarnings(lmer(y ~ (x1 + x2)|ff, data = D)) > m1 <- suppressWarnings(lmer(y ~ x1 + x2|ff , data = D)) > m2 <- suppressWarnings(lmer(y ~ x1 + (x2|ff), data = D)) > m3 <- suppressWarnings(lmer(y ~ (x2|ff) + x1, data = D)) > suppressWarnings(stopifnot(all.equal(ranef(m0), ranef(m1), tolerance = 1e-5), + all.equal(ranef(m2), ranef(m3), tolerance = 1e-5), + inherits(tryCatch(lmer(y ~ x2|ff + x1, data = D), error = function(e)e), + "error"))) > > showProc.time() # Time elapsed: 0.408 0 0.409 > > ## Reordering of grouping factors should not change the internal structure > #Pm1 <- lmer1(strength ~ (1|batch) + (1|sample), Pastes, doFit = FALSE) > #Pm2 <- lmer1(strength ~ (1|sample) + (1|batch), Pastes, doFit = FALSE) > #P2.1 <- lmer (strength ~ (1|batch) + (1|sample), Pastes, devFunOnly = TRUE) > #P2.2 <- lmer (strength ~ (1|sample) + (1|batch), Pastes, devFunOnly = TRUE) > > ## The environments of Pm1 and Pm2 should be identical except for > ## "call" and "frame": > #stopifnot(## all.EQ(env(Pm1), env(Pm2)), > # all.EQ(S4_2list(P2.1), > # S4_2list(P2.2))) > > > ## example from Kevin Thorpe: synthesized equivalent > ## http://thread.gmane.org/gmane.comp.lang.r.lme4.devel/9835 > > ## NA issue: simpler example > d <- data.frame(y=1:60,f=factor(rep(1:6,each=10))) > d$y[2] <- NA > d$f[3:4] <- NA > lmer(y~(1|f),data=d) Linear mixed model fit by REML ['lmerMod'] Formula: y ~ (1 | f) Data: d REML criterion at convergence: 316.1615 Random effects: Groups Name Std.Dev. f (Intercept) 18.395 Residual 3.024 Number of obs: 57, groups: f, 6 Fixed Effects: (Intercept) 30.68 > glmer(y~(1|f),data=d,family=poisson) Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) [glmerMod] Family: poisson ( log ) Formula: y ~ (1 | f) Data: d AIC BIC logLik deviance df.resid 354.3560 358.4421 -175.1780 350.3560 55 Random effects: Groups Name Std.Dev. f (Intercept) 0.7115 Number of obs: 57, groups: f, 6 Fixed Effects: (Intercept) 3.217 > > ## we originally thought that these examples should be > ## estimating non-zero variances, but they shouldn't ... > ## number of levels with each level of replication > levs <- c(800,300,150,100,50,50,50,20,20,5,2,2,2,2) > n <- seq_along(levs) > flevels <- seq(sum(levs)) > set.seed(101) > fakedat <- data.frame(DA = factor(rep(flevels,rep(n,levs))), + zbmi=rnorm(sum(n*levs))) > ## add NA values > fakedat[sample(nrow(fakedat),100),"zbmi"] <- NA > fakedat[sample(nrow(fakedat),100),"DA"] <- NA > > m5 <- lmer(zbmi ~ (1|DA) , data = fakedat, + control=lmerControl(check.nobs.vs.rankZ="ignore")) > m6 <- update(m5, data=na.omit(fakedat)) > stopifnot(VarCorr(m5)[["DA"]] == 0, + VarCorr(m6)[["DA"]] == 0) > > > > > proc.time() user system elapsed 3.801 0.067 4.060 lme4/tests/predsim.R0000644000176200001440000000420412406350753014050 0ustar liggesusers## compare range, average, etc. of simulations to ## conditional and unconditional prediction library(lme4) do.plot <- FALSE fm1 <- lmer(Reaction~Days+(1|Subject),sleepstudy) set.seed(101) pp <- predict(fm1) rr <- range(usim2 <- simulate(fm1,1,use.u=TRUE)[[1]]) stopifnot(all.equal(rr,c(159.3896,439.1616),tolerance=1e-6)) if (do.plot) { plot(pp,ylim=rr) lines(sleepstudy$Reaction) points(simulate(fm1,1)[[1]],col=4) points(usim2,col=2) } set.seed(101) ## conditional prediction ss <- simulate(fm1,1000,use.u=TRUE) ss_sum <- t(apply(ss,1,quantile,c(0.025,0.5,0.975))) plot(pp) matlines(ss_sum,col=c(1,2,1),lty=c(2,1,2)) stopifnot(all.equal(ss_sum[,2],pp,tolerance=5e-3)) ## population-level prediction pp2 <- predict(fm1,ReForm=NA) ss2 <- simulate(fm1,1000,use.u=FALSE) ss_sum2 <- t(apply(ss2,1,quantile,c(0.025,0.5,0.975))) if (do.plot) { plot(pp2,ylim=c(200,400)) matlines(ss_sum2,col=c(1,2,1),lty=c(2,1,2)) } stopifnot(all.equal(ss_sum2[,2],pp2,tolerance=8e-3)) ## predict(...,newdata=...) on models with derived variables in the random effects ## e.g. (f:g, f/g) set.seed(101) d <- expand.grid(f=factor(letters[1:10]),g=factor(letters[1:10]), rep=1:10) d$y <- rnorm(nrow(d)) m1 <- lmer(y~(1|f:g),d) p1A <- predict(m1) p1B <- predict(m1,newdata=d) stopifnot(all.equal(p1A,p1B)) m2 <- lmer(y~(1|f/g),d) p2A <- predict(m2) p2B <- predict(m2,newdata=d) stopifnot(all.equal(p2A,p2B)) ## with numeric grouping variables dn <- transform(d,f=as.numeric(f),g=as.numeric(g)) m1N <- update(m1,data=dn) p1NA <- predict(m1N) p1NB <- predict(m1N,newdata=dn) stopifnot(all.equal(p1NA,p1NB)) ## simulate with modified parameters set.seed(1) s1 <- simulate(fm1) set.seed(1) s2 <- simulate(fm1,newdata=model.frame(fm1), newparams=getME(fm1,c("theta","beta","sigma"))) all.equal(s1,s2) fm0 <- update(fm1,.~.-Days) ## ## sim() -> simulate() -> refit() -> deviance ## ## predictions and simulations with offsets set.seed(101) d <- data.frame(y=rpois(100,5),x=rlnorm(100,1,1), f=factor(sample(10,size=100,replace=TRUE))) gm1 <- glmer(y~offset(log(x))+(1|f),data=d, family=poisson) s1 <- simulate(gm1) lme4/src/0000755000176200001440000000000013216511172011701 5ustar liggesuserslme4/src/Makevars0000644000176200001440000000073613216511172013403 0ustar liggesusers## -*- mode: makefile; -*- PKG_LIBS = `$(R_HOME)/bin/Rscript --vanilla -e "Rcpp:::LdFlags()"` PKG_CXXFLAGS = -DEIGEN_DONT_VECTORIZE ## For a release, uncomment the following line to suppress package ## check warnings about __assert_fail. During development we retain ## the debugging checks even though they cause R to terminate, which ## is bad form. Better to learn of bugs in an impolite way than not ## to learn of them. PKG_CXXFLAGS = -DNDEBUG -DEIGEN_DONT_VECTORIZE lme4/src/mcmcsamp.cpp0000644000176200001440000002115613216511172014212 0ustar liggesusers// // mcmcsamp.cpp: implementation of mcmcsamp and related classes using Eigen // // Copyright (C) 2011-2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #include "mcmcsamp.h" namespace lme4 { using Rcpp::as; static inline double pwrss(lme4::merPredD *pred, lme4::lmResp *resp) { return pred->sqrL(1.) + resp->wrss(); } static inline double sigmaML(lme4::merPredD *pred, lme4::lmResp *resp) { return std::sqrt(pwrss(pred, resp)/double(resp->y().size())); } mcmcsamp::mcmcsamp(lme4::merPredD *pred, lme4::lmResp *resp, SEXP dev, SEXP fixef, SEXP sigma, SEXP ranef) : d_dev( as(dev)), d_fixef(as(fixef)), d_sigma(as(sigma)), d_ranef(as(ranef)) { Rcpp::RNGScope scope; // handles the getRNGstate/putRNGstate bool sig( d_sigma.size() > 0); bool rr( d_ranef.rows() > 0); int n( resp->y().size()); int nsamp(d_dev.size()); int nth( pred->theta().size()); int p( pred->beta0().size()); int q( pred->u0().size()); double npq( n + q); double lsigma(sig ? sigmaML(pred, resp) : 1.); double wrss; if (d_fixef.cols() != nsamp || d_fixef.rows() != p || (sig && d_sigma.size() != nsamp) || (ranef && (d_ranef.cols() != nsamp || d_ranef.rows() != p))) throw std::invalid_argument("dimension mismatch"); if (nth > 1) ::Rf_error("only handling the simple (nth == 1) cases now"); for (int k = 0; k < nsamp; ++k) { pred->updateDecomp(); pred->solve(); pred->MCMC_beta_u(lsigma); d_fixef.col(k) = pred->beta(1.); if (rr) d_ranef.col(k) = pred->b(1.); wrss = resp->updateMu(pred->linPred(1.)); if (sig) d_sigma[k] = lsigma = std::sqrt((pred->sqrL(1.) + wrss)/::Rf_rchisq(npq)); } } #if 0 /** * Generate a Markov-chain Monte Carlo sample from an mer object * * @param x pointer to an merMCMC object * @param fm pointer to an mer object * * @return x with samples filled in */ SEXP mer_MCMCsamp(SEXP , SEXP fm) { SEXP devsamp = GET_SLOT(x, lme4_devianceSym); int *dims = DIMS_SLOT(x), nsamp = LENGTH(devsamp); int n = dims[n_POS], np = dims[np_POS], p = dims[p_POS], q = dims[q_POS]; double *STsamp = REAL(GET_SLOT(x, lme4_STSym)), *d = DEV_SLOT(fm), *dev = REAL(devsamp), *sig = SLOT_REAL_NULL(x, lme4_sigmaSym), *fixsamp = FIXEF_SLOT(x), *resamp = RANEF_SLOT(x); GetRNGstate(); /* The first column of storage slots contains the fitted values */ for (int i = 1; i < nsamp; i++) { /* FIXME: This is probably wrong for a model with weights. */ if (sig) /* update and store sigma */ sig[i] = sqrt(d[pwrss_POS]/rchisq((double)(n + q))); /* update L, RX, beta, u, eta, mu, res and d */ MCMC_beta_u(fm, sig ? sig[i] : 1, fixsamp + i * p, resamp + (resamp ? i : 0) * q); dev[i] = d[ML_POS]; /* update theta_T, theta_S and A */ MCMC_T(fm, sig ? sig[i] : 1); MCMC_S(fm, sig ? sig[i] : 1); ST_getPars(fm, STsamp + i * np); /* record theta */ } PutRNGstate(); /* Restore pars from the first columns of the samples */ Memcpy(FIXEF_SLOT(fm), fixsamp, p); ST_setPars(fm, STsamp); update_ranef(fm); return x; } /** * Update the fixed effects and the orthogonal random effects in an MCMC sample * from an mer object. * * @param x an mer object * @param sigma current standard deviation of the per-observation * noise terms. * @param fvals pointer to memory in which to store the updated beta * @param rvals pointer to memory in which to store the updated b (may * be (double*)NULL) */ static void MCMC_beta_u(SEXP x, double sigma, double *fvals, double *rvals) { int *dims = DIMS_SLOT(x); int i1 = 1, p = dims[p_POS], q = dims[q_POS]; double *V = V_SLOT(x), *fixef = FIXEF_SLOT(x), *muEta = MUETA_SLOT(x), *u = U_SLOT(x), mone[] = {-1,0}, one[] = {1,0}; CHM_FR L = L_SLOT(x); double *del1 = Calloc(q, double), *del2 = Alloca(p, double); CHM_DN sol, rhs = N_AS_CHM_DN(del1, q, 1); R_CheckStack(); if (V || muEta) { error(_("Update not yet written")); } else { /* Linear mixed model */ update_L(x); update_RX(x); lmm_update_fixef_u(x); /* Update beta */ for (int j = 0; j < p; j++) del2[j] = sigma * norm_rand(); F77_CALL(dtrsv)("U", "N", "N", &p, RX_SLOT(x), &p, del2, &i1); for (int j = 0; j < p; j++) fixef[j] += del2[j]; /* Update u */ for (int j = 0; j < q; j++) del1[j] = sigma * norm_rand(); F77_CALL(dgemv)("N", &q, &p, mone, RZX_SLOT(x), &q, del2, &i1, one, del1, &i1); sol = M_cholmod_solve(CHOLMOD_Lt, L, rhs, &c); for (int j = 0; j < q; j++) u[j] += ((double*)(sol->x))[j]; M_cholmod_free_dense(&sol, &c); update_mu(x); /* and parts of the deviance slot */ } Memcpy(fvals, fixef, p); if (rvals) { update_ranef(x); Memcpy(rvals, RANEF_SLOT(x), q); } Free(del1); } /** * Update the theta_T parameters from the ST arrays in place. * * @param x an mer object * @param sigma current standard deviation of the per-observation * noise terms. */ /* FIXME: Probably should fold this function into MCMC_S */ static void MCMC_T(SEXP x, double sigma) { int *Gp = Gp_SLOT(x), nt = (DIMS_SLOT(x))[nt_POS]; double **st = Alloca(nt, double*); int *nc = Alloca(nt, int), *nlev = Alloca(nt, int); R_CheckStack(); if (ST_nc_nlev(GET_SLOT(x, lme4_STSym), Gp, st, nc, nlev) < 2) return; error("Code for non-trivial theta_T not yet written"); } /** * Update the theta_S parameters from the ST arrays in place. * * @param x an mer object * @param sigma current standard deviation of the per-observation * noise terms. */ static void MCMC_S(SEXP x, double sigma) { CHM_SP A = A_SLOT(x), Zt = Zt_SLOT(x); int *Gp = Gp_SLOT(x), *ai = (int*)(A->i), *ap = (int*)(A->p), *dims = DIMS_SLOT(x), *perm = PERM_VEC(x); int annz = ap[A->ncol], info, i1 = 1, n = dims[n_POS], nt = dims[nt_POS], ns, p = dims[p_POS], pos, q = dims[q_POS], znnz = ((int*)(Zt->p))[Zt->ncol]; double *R, *ax = (double*)(A->x), *b = RANEF_SLOT(x), *eta = ETA_SLOT(x), *offset = OFFSET_SLOT(x), *rr, *ss, one = 1, *u = U_SLOT(x), *y = Y_SLOT(x); int *nc = Alloca(nt, int), *nlev = Alloca(nt, int), *spt = Alloca(nt + 1, int); double **st = Alloca(nt, double*); R_CheckStack(); ST_nc_nlev(GET_SLOT(x, lme4_STSym), Gp, st, nc, nlev); ns = 0; /* ns is length(theta_S) */ spt[0] = 0; /* pointers into ss for terms */ for (int i = 0; i < nt; i++) { ns += nc[i]; spt[i + 1] = spt[i] + nc[i]; } if (annz == znnz) { /* Copy Z' to A unless A has new nonzeros */ Memcpy(ax, (double*)(Zt->x), znnz); } else error("Code not yet written for MCMC_S with NLMMs"); /* Create T'Zt in A */ Tt_Zt(A, Gp, nc, nlev, st, nt); /* Create P'u in ranef slot */ for (int i = 0; i < q; i++) b[perm[i]] = u[i]; /* Create X\beta + offset in eta slot */ for (int i = 0; i < n; i++) eta[i] = offset ? offset[i] : 0; F77_CALL(dgemv)("N", &n, &p, &one, X_SLOT(x), &n, FIXEF_SLOT(x), &i1, &one, eta, &i1); /* Allocate R, rr and ss */ R = Alloca(ns * ns, double); /* crossproduct matrix then factor */ rr = Alloca(ns, double); /* row of model matrix for theta_S */ ss = Alloca(ns, double); /* right hand side, then theta_S */ R_CheckStack(); AZERO(R, ns * ns); AZERO(ss, ns); /* Accumulate crossproduct from pseudo-data part of model matrix */ for (int i = 0; i < q; i++) { int sj = theta_S_ind(i, nt, Gp, nlev, spt); AZERO(rr, ns); rr[sj] = b[i]; F77_CALL(dsyr)("U", &ns, &one, rr, &i1, R, &ns); } /* Accumulate crossproduct and residual product of the model matrix. */ /* This is done one row at a time. Rows of the model matrix * correspond to columns of T'Zt */ for (int j = 0; j < n; j++) { /* jth column of T'Zt */ AZERO(rr, ns); for (int p = ap[j]; p < ap[j + 1]; p++) { int i = ai[p]; /* row in T'Zt */ int sj = theta_S_ind(i, nt, Gp, nlev, spt); rr[sj] += ax[p] * b[i]; ss[sj] += rr[sj] * (y[j] - eta[j]); } F77_CALL(dsyr)("U", &ns, &one, rr, &i1, R, &ns); } F77_CALL(dposv)("U", &ns, &i1, R, &ns, ss, &ns, &info); if (info) error(_("Model matrix for theta_S is not positive definite, %d."), info); for (int j = 0; j < ns; j++) rr[j] = sigma * norm_rand(); /* Sample from the conditional Gaussian distribution */ F77_CALL(dtrsv)("U", "N", "N", &ns, R, &ns, rr, &i1); for (int j = 0; j < ns; j++) ss[j] += rr[j]; /* Copy positive part of solution onto diagonals of ST */ pos = 0; for (int i = 0; i < nt; i++) { for (int j = 0; j < nc[i]; j++) { st[i][j * (nc[i] + 1)] = (ss[pos] > 0) ? ss[pos] : 0; pos++; } } update_A(x); } #endif } lme4/src/predModule.h0000644000176200001440000000713613216511172014161 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // predModule.h: predictor module using Eigen // // Copyright (C) 2011 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_PREDMODULE_H #define LME4_PREDMODULE_H #include #include "lme4CholmodDecomposition.h" namespace lme4 { using Eigen::ArrayXd; using Eigen::LLT; using Eigen::MatrixXd; using Eigen::VectorXd; using Eigen::VectorXi; class merPredD { public: typedef Eigen::Map MMap; typedef Eigen::Map MVec; typedef Eigen::Map MiVec; typedef MatrixXd::Scalar Scalar; typedef MatrixXd::Index Index; typedef Eigen::SparseMatrix SpMatrixd; typedef lme4CholmodDecomposition ChmDecomp; typedef Eigen::MappedSparseMatrix MSpMatrixd; protected: MMap d_X, d_RZX, d_V, d_VtV; MSpMatrixd d_Zt, d_Ut, d_LamtUt, d_Lambdat; MVec d_theta, d_Vtr, d_Utr, d_Xwts, d_beta0, d_delb, d_delu, d_u0; MiVec d_Lind; Index d_N, d_p, d_q; Scalar d_CcNumer, d_ldL2, d_ldRX2; ChmDecomp d_L; LLT d_RX; public: merPredD(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP); VectorXi Pvec() const; MatrixXd RX() const; MatrixXd RXi() const; MatrixXd unsc() const; VectorXd RXdiag() const; VectorXd b(const Scalar& f) const; VectorXd beta(const Scalar& f) const; VectorXd linPred(const Scalar& f) const; VectorXd u(const Scalar& f) const; Rcpp::List condVar(const Rcpp::Environment&) const; Scalar CcNumer() const {return d_CcNumer;} Scalar ldL2() const {return d_ldL2;} Scalar ldRX2() const {return d_ldRX2;} Scalar solve(); Scalar solveU(); Scalar sqrL(const Scalar& f) const; const ChmDecomp& L() const {return d_L;} const MMap& V() const {return d_V;} const MMap& VtV() const {return d_VtV;} const MMap& RZX() const {return d_RZX;} const MSpMatrixd& Lambdat() const {return d_Lambdat;} const MSpMatrixd& LamtUt() const {return d_LamtUt;} const MSpMatrixd& Ut() const {return d_Ut;} const MSpMatrixd& Zt() const {return d_Zt;} const MVec& Utr() const {return d_Utr;} const MVec& Vtr() const {return d_Vtr;} const MVec& delb() const {return d_delb;} const MVec& delu() const {return d_delu;} const MVec& beta0() const {return d_beta0;} const MVec& theta() const {return d_theta;} const MVec& u0() const {return d_u0;} const MVec& Xwts() const {return d_Xwts;} int info() const {return d_L.info();} void installPars(const Scalar& f); void MCMC_beta_u(const Scalar& sigma); void setBeta0(const VectorXd&); void setDelb(const VectorXd&); void setDelu(const VectorXd&); void setTheta(const VectorXd&); void setZt(const VectorXd&); void setU0(const VectorXd&); void updateDecomp(); void updateDecomp(const MatrixXd*); void updateL(); void updateLamtUt(); void updateRes(const VectorXd&); void updateXwts(const ArrayXd&); }; } #endif // LME4_PREDMODULE_H lme4/src/glmFamily.h0000754000176200001440000001464513216511172014007 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // glmFamily.h: glm family class using Eigen // // Copyright (C) 2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_GLMFAMILY_H #define LME4_GLMFAMILY_H #include namespace glm { using Eigen::ArrayXd; class glmDist { protected: //@{ R functions from the family, as a fall-back Rcpp::Function d_devRes, d_variance, d_aic; //@} Rcpp::Environment d_rho; public: glmDist(Rcpp::List&); virtual ~glmDist() {} virtual const ArrayXd variance(const ArrayXd&) const; virtual const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; virtual double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; /**< in keeping with the botched up nomenclature in the R glm function, * the value of aic is the deviance */ virtual double theta() const; virtual void setTheta(const double&); }; class binomialDist : public glmDist { public: binomialDist(Rcpp::List& ll) : glmDist(ll) {} const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; }; class gammaDist : public glmDist { public: gammaDist(Rcpp::List& ll) : glmDist(ll) {} const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; }; class GaussianDist : public glmDist { public: GaussianDist(Rcpp::List& ll) : glmDist(ll) {} const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; }; class inverseGaussianDist : public glmDist { public: inverseGaussianDist(Rcpp::List& ll) : glmDist(ll) {} const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; }; class negativeBinomialDist : public glmDist { protected: double d_theta; public: negativeBinomialDist (Rcpp::List& ll); const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; double theta() const {return d_theta;} void setTheta(const double& ntheta) {d_theta = ntheta;} }; class PoissonDist : public glmDist { public: PoissonDist(Rcpp::List& ll) : glmDist(ll) {} const ArrayXd variance(const ArrayXd&) const; const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; }; class glmLink { protected: //@{ R functions from the family, as a fall-back Rcpp::Function d_linkFun, d_linkInv, d_muEta; //@} Rcpp::Environment d_rho; public: glmLink(Rcpp::List&); virtual ~glmLink() {} virtual const ArrayXd linkFun(const ArrayXd&) const; virtual const ArrayXd linkInv(const ArrayXd&) const; virtual const ArrayXd muEta(const ArrayXd&) const; }; class cauchitLink : public glmLink { public: cauchitLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class cloglogLink : public glmLink { public: cloglogLink(Rcpp::List& ll) : glmLink(ll) {} // const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class identityLink : public glmLink { public: identityLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class inverseLink : public glmLink { public: inverseLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class logLink : public glmLink { public: logLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class logitLink : public glmLink { public: logitLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class probitLink : public glmLink { public: probitLink(Rcpp::List& ll) : glmLink(ll) {} const ArrayXd linkFun(const ArrayXd&) const; const ArrayXd linkInv(const ArrayXd&) const; const ArrayXd muEta(const ArrayXd&) const; }; class glmFamily { protected: std::string d_family, d_linknam; /**< as in the R glmFamily object */ glmDist *d_dist; glmLink *d_link; public: glmFamily(Rcpp::List ll); ~glmFamily(); /**< explicit destructor to call delete on d_dist and d_link */ const std::string& fam() const {return d_family;} const std::string& lnk() const {return d_linknam;} //@{ Application of functions from the family using compiled code when available const ArrayXd devResid(const ArrayXd&, const ArrayXd&, const ArrayXd&) const; const ArrayXd linkFun(const ArrayXd& mu) const {return d_link->linkFun(mu);} const ArrayXd linkInv(const ArrayXd& eta) const {return d_link->linkInv(eta);} const ArrayXd muEta(const ArrayXd& eta) const {return d_link->muEta(eta);} const ArrayXd variance(const ArrayXd& mu) const {return d_dist->variance(mu);} double aic(const ArrayXd&, const ArrayXd&, const ArrayXd&, const ArrayXd&, double) const; double theta() const {return d_dist->theta();} void setTheta(const double& theta) {d_dist->setTheta(theta);} //@} }; } #endif /* LME4_GLMFAMILY_H */ lme4/src/optimizer.cpp0000644000176200001440000002647013216511172014440 0ustar liggesusers// // Nelder_Mead.cpp: implementation of Nelder-Mead optimization algorithm // // Based on the files nldrmd.h, nldrmd.c, stop.c and nlopt-util.h from NLopt 2.2.4 // Steven G. Johnson, The NLopt nonlinear-optimization package, // http://ab-initio.mit.edu/nlopt // // Original implementation Copyright (C) 2007-2011 Massachusetts Institute of Technology // Modifications Copyright (C) 2011 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #include "optimizer.h" namespace optimizer { using std::invalid_argument; using std::runtime_error; typedef VectorXd::Scalar Scalar; typedef VectorXd::Index Index; /** * Determine if two values are approximately equal relative to floating-point precision * * @param a first value to compare * @param b second value to compare * * @return true if a and b are approximately equal else false */ static bool close(const Scalar& a, const Scalar& b) { return (std::abs(a - b) <= 1e-13 * (std::abs(a) + std::abs(b))); } /** * * * @param lb lower bounds * @param ub upper bounds * @param xstep initial step sizes * @param x initial parameter vector * @param f value of function at initial parameter vector */ Nelder_Mead::Nelder_Mead(const VectorXd& lb, const VectorXd& ub, const VectorXd& xstep, const VectorXd& x, const nl_stop& stp) : d_lb( lb), d_ub( ub), d_xstep( xstep), d_x( x), d_n( x.size()), d_pts( d_n, d_n + 1), d_vals( d_n + 1), d_c( d_n), d_xcur( d_n), d_xeval( x), d_minf( std::numeric_limits::infinity()), d_stage( nm_restart), d_stop( stp), d_verb( 10) { d_stop.setForce_stop( 0); // BMB: this was undefined, bad news on Win64 if (!d_n || d_lb.size() != d_n || d_ub.size() != d_n || d_xstep.size() != d_n) throw invalid_argument("dimension mismatch"); if (((d_x - d_lb).array() < 0).any() || ((d_ub - d_x).array() < 0).any()) throw std::invalid_argument("initial x is not a feasible point"); d_stop.resetEvals(); init_pos = 0; for (int i = 0; i <= d_n; ++i) d_vals[i] = std::numeric_limits::min(); d_pts = d_x.replicate(1, d_n + 1); for (Index i = 0; i < d_n; ++i) { // generate and check the initial positions Index j(i + 1); d_pts(i, j) += d_xstep[i]; if (d_pts(i, j) > d_ub[i]) { d_pts(i, j) = (d_ub[i] - d_x[i] > std::abs(d_xstep[i]) * 0.1) ? d_ub[i] // ub is too close to pt, go in other direction : d_x[i] - std::abs(d_xstep[i]); } if (d_pts(i,j) < d_lb[i]) { if (d_x[i] - d_lb[i] > std::abs(d_xstep[i]) * 0.1) d_pts(i,j) = d_lb[i]; else { // lb is too close to pt, go in other direction d_pts(i,j) = d_x[i] + std::abs(d_xstep[i]); if (d_pts(i, j) > d_ub[i]) // go towards farther of lb, ub */ d_pts(i, j) = 0.5 * ((d_ub[i] - d_x[i] > d_x[i] - d_lb[i] ? d_ub[i] : d_lb[i]) + d_x[i]); } } if (close(d_pts(i,j), d_x[i])) throw std::invalid_argument("cannot generate feasible simplex"); } } /** * Install the function value at d_xeval * * @param f value of function at d_xeval * * @return status */ nm_status Nelder_Mead::newf(const Scalar& f) { d_stop.incrEvals(); if (d_verb > 0 && (d_stop.ev() % d_verb) == 0) Rcpp::Rcout << "(NM) " << d_stop.ev() << ": " << "f = " << value() << " at " << d_x.adjoint() << std::endl; if (d_stop.forced()) { if (d_verb==1) { Rcpp::Rcout << "(NM) stop_forced" << std::endl; } return nm_forced; } if (f < d_minf) { d_minf = f; d_x = d_xeval; // save the value generating current minimum if (d_minf < d_stop.minfMax()) { if (d_verb==1) { Rcpp::Rcout << "(NM) nm_minf_max: " << d_minf << ", " << d_stop.minfMax() << ", " << d_x << std::endl; } return nm_minf_max; } } if (d_stop.evals()) { if (d_verb==1) { Rcpp::Rcout << "(NM) nm_evals" << std::endl; } return nm_evals; } if (init_pos <= d_n) { if (d_verb==1) { Rcpp::Rcout << "(NM) init_pos <= d_n" << std::endl; } return init(f); } switch (d_stage) { case nm_restart: return restart(f); case nm_postreflect: return postreflect(f); case nm_postexpand: return postexpand(f); case nm_postcontract: return postcontract(f); } return nm_active; // -Wall } /** * Initialization of d_vals from the positions in d_pts; * * @param f function value * * @return status */ nm_status Nelder_Mead::init(const Scalar& f) { if (init_pos > d_n) throw std::runtime_error("init called after n evaluations"); d_vals[init_pos++] = f; if (init_pos > d_n) return restart(f); d_xeval = d_pts.col(init_pos); return nm_active; } /** * Recompute the high/low function values (d_fh and d_fl) and indices * (d_ih and d_il) plus the centroid of the n-1 simplex opposite the high * vertex. Check if the simplex has collapsed. If not, attempt a reflection. * * @param f function value * * @return status */ nm_status Nelder_Mead::restart(const Scalar& f) { int debug=0; d_fl = d_vals.minCoeff(&d_il); d_fh = d_vals.maxCoeff(&d_ih); d_c = (d_pts.rowwise().sum() - d_pts.col(d_ih)) / d_n; // compute centroid if (debug) Rcpp::Rcout << "(NM) current points: " << d_pts << std::endl; if (debug) Rcpp::Rcout << "(NM) current centroid: " << d_c << std::endl; // check for x convergence by calculating the maximum absolute // deviation from the centroid for each coordinate in the simplex if (d_stop.x(VectorXd::Constant(d_n, 0.), (d_pts.colwise() - d_c).array().abs().rowwise().maxCoeff())) { if (debug) Rcpp::Rcout << "(NM) restart, report convergence" << std::endl; return nm_xcvg; } if (!reflectpt(d_xcur, d_c, alpha, d_pts.col(d_ih))) { if (debug) Rcpp::Rcout << "(NM) reflected; report convergence" << std::endl; return nm_xcvg; } d_xeval = d_xcur; if (debug) Rcpp::Rcout << "(NM) restart, now postreflect" << std::endl; d_stage = nm_postreflect; return nm_active; } nm_status Nelder_Mead::postreflect(const Scalar& f) { int debug=0; // Rcpp::Rcout << "postreflect: "; if (f < d_fl) { // new best point, try to expand if (!reflectpt(d_xeval, d_c, gamm, d_pts.col(d_ih))) return nm_xcvg; if (debug) Rcpp::Rcout << "(NM) postreflect: new best point" << std::endl; if (debug) Rcpp::Rcout << "(NM) postreflect, now postexpand" << std::endl; d_stage = nm_postexpand; f_old = f; return nm_active; } if (f < d_fh) { // accept new point if (debug) Rcpp::Rcout << "(NM) postreflect: accept new point" << std::endl; d_vals[d_ih] = f; d_pts.col(d_ih) = d_xeval; return restart(f); } // new worst point, contract if (debug) Rcpp::Rcout << "(NM) postreflect: new worst point" << std::endl; if (!reflectpt(d_xcur, d_c, d_fh <= f ? -beta : beta, d_pts.col(d_ih))) return nm_xcvg; f_old = f; d_xeval = d_xcur; if (debug) Rcpp::Rcout << "(NM) postreflect, now postcontract" << std::endl; d_stage = nm_postcontract; return nm_active; } nm_status Nelder_Mead::postexpand(const Scalar& f) { int debug=0; if (f < d_vals[d_ih]) { // expanding improved if (debug) Rcpp::Rcout << "(NM) postexpand: successful expand" << std::endl; d_pts.col(d_ih) = d_xeval; d_vals[d_ih] = f; } else { if (debug) Rcpp::Rcout << "(NM) postexpand: unsuccessful expand" << std::endl; d_pts.col(d_ih) = d_xcur; d_vals[d_ih] = f_old; } if (debug) Rcpp::Rcout << "(NM) postexpand: now restart" << std::endl; return restart(f); } nm_status Nelder_Mead::postcontract(const Scalar& f) { int debug=0; if (f < f_old && f < d_fh) { if (debug) Rcpp::Rcout << "(NM) postcontract: successful contraction:" << std::endl; d_pts.col(d_ih) = d_xeval; d_vals[d_ih] = f; return restart(f); } if (debug) Rcpp::Rcout << "(NM) postcontract: unsuccessful contraction, shrink simplex" << std::endl; for (Index i = 0; i <= d_n; ++i) { if (i != d_il) { if (!reflectpt(d_xeval, d_pts.col(d_il), -delta, d_pts.col(i))) return nm_xcvg; d_pts.col(i) = d_xeval; } } init_pos = 0; d_xeval = d_pts.col(0); return nm_active; } /* Perform the reflection xnew = c + scale * (c - xold), returning 0 if xnew == c or xnew == xold (coincident points), 1 otherwise. The reflected point xnew is "pinned" to the lower and upper bounds (lb and ub), as suggested by J. A. Richardson and J. L. Kuester, "The complex method for constrained optimization," Commun. ACM 16(8), 487-489 (1973). This is probably a suboptimal way to handle bound constraints, but I don't know a better way. The main danger with this is that the simplex might collapse into a lower-dimensional hyperplane; this danger can be ameliorated by restarting (as in subplex), however. */ bool Nelder_Mead::reflectpt(VectorXd& xnew, const VectorXd& c, const Scalar& scale, const VectorXd& xold) { int debug=0; xnew = c + scale * (c - xold); bool equalc = true, equalold = true; for (Index i = 0; i < d_n; ++i) { Scalar newx = std::min(std::max(xnew[i], d_lb[i]), d_ub[i]); // BMB: what is the difference between using d_c[i] and c[i]? equalc = equalc && close(newx, c[i]); if (debug && close(newx,c[i])) Rcpp::Rcout << "reflectpt: close(newx, c[i]) i=" << i << " newx=" << newx << " c[i]=" << c[i] << std::endl; equalold = equalold && close(newx, xold[i]); if (debug && close(newx,xold[i])) Rcpp::Rcout << "reflectpt: close(newx, xold[i]) i=" << i << " newx=" << newx << " xold[i]=" << xold[i] << std::endl; xnew[i] = newx; } return !(equalc || equalold); } nl_stop::nl_stop(const VectorXd& xtol) : xtol_abs( xtol), maxeval( 300), minf_max( std::numeric_limits::min()), ftol_rel( 1e-15), xtol_rel( 1e-7) { } bool nl_stop::x(const VectorXd& x, const VectorXd& oldx) const { for (Index i = 0; i < x.size(); ++i) if (!relstop(oldx[i], x[i], xtol_rel, xtol_abs[i])) return false; return true; } bool nl_stop::dx(const VectorXd& x, const VectorXd& dx) const { for (Index i = 0; i < x.size(); ++i) if (!relstop(x[i] - dx[i], x[i], xtol_rel, xtol_abs[i])) return false; return true; } bool nl_stop::xs(const VectorXd& xs, const VectorXd& oldxs, const VectorXd& scale_min, const VectorXd& scale_max) const { for (Index i = 0; i < xs.size(); ++i) if (relstop(sc(oldxs[i], scale_min[i], scale_max[i]), sc(xs[i], scale_min[i], scale_max[i]), xtol_rel, xtol_abs[i])) return true; return false; } Golden::Golden(const Scalar& lower, const Scalar& upper) : d_lower(lower), d_upper(upper) { if (lower >= upper) throw invalid_argument("lower >= upper"); d_invratio = 2./(1. + std::sqrt(5.)); double range = upper - lower; d_x[0] = lower + range * (1. - d_invratio); d_x[1] = lower + range * d_invratio; d_init = true; d_ll = true; } void Golden::newf(const Scalar& fv) { Rcpp::Rcout << "f = " << fv << " at x = " << xeval() << std::endl; d_f[d_ll ? 0 : 1] = fv; if (d_init) { d_init = false; d_ll = false; return; } if (d_f[0] > d_f[1]) { // discard left portion of interval d_lower = d_x[0]; d_x[0] = d_x[1]; d_f[0] = d_f[1]; d_x[1] = d_lower + (d_upper - d_lower) * d_invratio; d_ll = false; } else { d_upper = d_x[1]; d_x[1] = d_x[0]; d_f[1] = d_f[0]; d_x[0] = d_lower + (d_upper - d_lower) * (1 - d_invratio); d_ll = true; } } } lme4/src/lme4CholmodDecomposition.h0000644000176200001440000001217513216511172016764 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // predModule.h: predictor module using Eigen // // Copyright (C) 2011 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_CHOLMODDECOMPOSITION_H #define LME4_CHOLMODDECOMPOSITION_H #include namespace lme4 { /* A wrapper around Eigen's CholmodDecomposition class that provides some extra functionality and member access required by lme4. */ template class lme4CholmodDecomposition : public Eigen::CholmodDecomposition<_MatrixType, _UpLo> { protected: typedef Eigen::CholmodDecomposition<_MatrixType, _UpLo> Base; using Base::m_factorizationIsOk; using Base::m_analysisIsOk; public: cholmod_common& cholmod() const { return const_cast*>(this)->Base::cholmod(); } cholmod_factor* factor() const { return Base::m_cholmodFactor; } void factorize_p(const typename Base::MatrixType& matrix, Eigen::ArrayXi fset, double beta=0.) { // FIXME: add forceRectangular flag to allow backward compatibility; // restore an appropriate version of the square/rectangular test eigen_assert(m_analysisIsOk && "You must first call analyzePattern()"); cholmod_sparse A = // **SKIP square test because we only call this function // in lme4 when we want to treat the input as a rectangular // matrix // (!forceRectangularmatrix.rows() == matrix.cols()) ? // viewAsCholmod(matrix.template selfadjointView<_UpLo>()) : viewAsCholmod(matrix); cholmod_factorize_p(&A, &beta, fset.data(), fset.size(), factor(), &cholmod()); this->m_info = Eigen::Success; m_factorizationIsOk = true; } template void solveInPlace(const Eigen::MatrixBase& _other, int type) const { OtherDerived& other = _other.const_cast_derived(); eigen_assert(m_factorizationIsOk && "The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()"); eigen_assert((Base::Index)(factor()->n) == other.rows()); // note: cd stands for Cholmod Dense cholmod_dense b_cd = viewAsCholmod(other.const_cast_derived()); // m_cholmodFactor cholmod_dense* x_cd = cholmod_solve(type, factor(), &b_cd, &cholmod()); if(!x_cd) { this->m_info = Eigen::NumericalIssue; } typename Base::Scalar* xpt = reinterpret_cast(x_cd->x); std::copy(xpt, xpt + other.rows() * other.cols(), other.data()); cholmod_free_dense(&x_cd, &cholmod()); } }; template SEXP Eigen_cholmod_wrap(const lme4CholmodDecomposition >& obj) { typedef T* Tpt; const cholmod_factor* f = obj.factor(); if (f->minor < f->n) throw std::runtime_error("CHOLMOD factorization was unsuccessful"); //FIXME: Should extend this selection according to T ::Rcpp::S4 ans(std::string(f->is_super ? "dCHMsuper" : "dCHMsimpl")); ::Rcpp::IntegerVector dd(2); dd[0] = dd[1] = f->n; ans.slot("Dim") = dd; ans.slot("perm") = ::Rcpp::wrap((int*)f->Perm, (int*)f->Perm + f->n); ans.slot("colcount") = ::Rcpp::wrap((int*)f->ColCount, (int*)f->ColCount + f->n); ::Rcpp::IntegerVector tt(f->is_super ? 6 : 4); tt[0] = f->ordering; tt[1] = f->is_ll; tt[2] = f->is_super; tt[3] = f->is_monotonic; ans.slot("type") = tt; if (f->is_super) { tt[4] = f->maxcsize; tt[5] = f->maxesize; ans.slot("super") = ::Rcpp::wrap((int*)f->super, ((int*)f->super) + f->nsuper + 1); ans.slot("pi") = ::Rcpp::wrap((int*)f->pi, ((int*)f->pi) + f->nsuper + 1); ans.slot("px") = ::Rcpp::wrap((int*)f->px, ((int*)f->px) + f->nsuper + 1); ans.slot("s") = ::Rcpp::wrap((int*)f->s, ((int*)f->s) + f->ssize); ans.slot("x") = ::Rcpp::wrap((Tpt)f->x, ((T*)f->x) + f->xsize); } else { ans.slot("i") = ::Rcpp::wrap((int*)f->i, ((int*)f->i) + f->nzmax); ans.slot("p") = ::Rcpp::wrap((int*)f->p, ((int*)f->p) + f->n + 1); ans.slot("x") = ::Rcpp::wrap((Tpt)f->x, ((T*)f->x) + f->nzmax); ans.slot("nz") = ::Rcpp::wrap((int*)f->nz, ((int*)f->nz) + f->n); ans.slot("nxt") = ::Rcpp::wrap((int*)f->next, ((int*)f->next) + f->n + 2); ans.slot("prv") = ::Rcpp::wrap((int*)f->prev, ((int*)f->prev) + f->n + 2); } return ::Rcpp::wrap(ans); } } // namespace lme4 namespace Rcpp { template SEXP wrap(const lme4::lme4CholmodDecomposition >& obj) { return ::lme4::Eigen_cholmod_wrap(obj); } } // namespace Rcpp #endif // LME4_CHOLMODDECOMPOSITION_H lme4/src/external.cpp0000644000176200001440000010777113216511172014244 0ustar liggesusers// external.cpp: externally .Call'able functions in lme4 // // Copyright (C) 2011-2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #include #include "predModule.h" #include "respModule.h" #include "optimizer.h" // #include "merPhylo.h" // not included yet in main branch! extern "C" { typedef Eigen::VectorXi iVec; typedef Eigen::Map MiVec; typedef Eigen::MatrixXd Mat; typedef Eigen::Map MMat; typedef Eigen::VectorXd Vec; typedef Eigen::Map MVec; typedef Eigen::ArrayXd Ar1; typedef Eigen::Map MAr1; typedef Eigen::ArrayXXd Ar2; typedef Eigen::Map MAr2; using Rcpp::CharacterVector; using Rcpp::Environment; using Rcpp::IntegerVector; using Rcpp::Language; using Rcpp::List; using Rcpp::Named; using Rcpp::NumericVector; using Rcpp::XPtr; using Rcpp::as; using Rcpp::wrap; using glm::glmFamily; using lme4::glmResp; using lme4::lmResp; using lme4::lmerResp; using lme4::merPredD; using lme4::nlsResp; using optimizer::Golden; using optimizer::Nelder_Mead; using optimizer::nm_status; using std::runtime_error; // utilities SEXP allPerm_int(SEXP v_) { BEGIN_RCPP; iVec v(as(v_)); // forces a copy int sz(v.size()); std::vector vec; std::sort(v.data(), v.data() + sz); do { vec.push_back(iVec(v)); } while (std::next_permutation(v.data(), v.data() + sz)); int nperm(vec.size()); List allPerm(nperm); for (int j = 0; j < nperm; ++j) allPerm[j] = wrap(vec[j]); return allPerm; END_RCPP; } SEXP Eigen_SSE() { BEGIN_RCPP; return wrap(Eigen::SimdInstructionSetsInUse()); END_RCPP; } SEXP deepcopy(SEXP x) { return(Rf_duplicate(x)); } // generalized linear model (and generalized linear mixed model) response SEXP glm_Create(SEXP fam, SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres, SEXP eta, SEXP n) { BEGIN_RCPP; glmResp *ans = new glmResp(List(fam), y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, eta, n); return wrap(XPtr(ans, true)); END_RCPP; } SEXP glm_aic(SEXP ptr_) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->aic()); END_RCPP; } SEXP glm_setN(SEXP ptr_, SEXP n) { BEGIN_RCPP; XPtr(ptr_)->setN(as(n)); END_RCPP; } SEXP glm_devResid(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->devResid()); END_RCPP; } SEXP glm_family(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->family()); END_RCPP; } SEXP glm_link(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->link()); END_RCPP; } SEXP glm_muEta(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->muEta()); END_RCPP; } SEXP glm_resDev(SEXP ptr_) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->resDev()); END_RCPP; } SEXP glm_setTheta(SEXP ptr, SEXP newtheta) { BEGIN_RCPP; XPtr(ptr)->setTheta(::Rf_asReal(newtheta)); END_RCPP; } SEXP glm_sqrtWrkWt(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->sqrtWrkWt()); END_RCPP; } SEXP glm_theta(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->theta()); END_RCPP; } SEXP glm_updateWts(SEXP ptr_) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->updateWts()); END_RCPP; } SEXP glm_variance(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->variance()); END_RCPP; } SEXP glm_wrkResids(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->wrkResids()); END_RCPP; } SEXP glm_wrkResp(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->wrkResp()); END_RCPP; } SEXP glm_wtWrkResp(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->wtWrkResp()); END_RCPP; } SEXP glm_Laplace(SEXP ptr_, SEXP ldL2, SEXP ldRX2, SEXP sqrL) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->Laplace(::Rf_asReal(ldL2), ::Rf_asReal(ldRX2), ::Rf_asReal(sqrL))); END_RCPP; } SEXP glm_updateMu(SEXP ptr_, SEXP gamma) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->updateMu(as(gamma))); END_RCPP; } // glm family objects SEXP glmFamily_Create(SEXP fam_) { BEGIN_RCPP; glmFamily *ans = new glmFamily(List(fam_)); return wrap(XPtr(ans, true)); END_RCPP; } SEXP glmFamily_link(SEXP ptr, SEXP mu) { BEGIN_RCPP; return wrap(XPtr(ptr)->linkFun(as(mu))); END_RCPP; } SEXP glmFamily_linkInv(SEXP ptr, SEXP eta) { BEGIN_RCPP; return wrap(XPtr(ptr)->linkInv(as(eta))); END_RCPP; } SEXP glmFamily_devResid(SEXP ptr, SEXP y, SEXP mu, SEXP wt) { BEGIN_RCPP; return wrap(XPtr(ptr)->devResid(as(y), as(mu), as(wt))); END_RCPP; } SEXP glmFamily_aic(SEXP ptr, SEXP y, SEXP n, SEXP mu, SEXP wt, SEXP dev) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->aic(as(y), as(n), as(mu), as(wt), ::Rf_asReal(dev))); END_RCPP; } SEXP glmFamily_muEta(SEXP ptr, SEXP eta) { BEGIN_RCPP; return wrap(XPtr(ptr)->muEta(as(eta))); END_RCPP; } SEXP glmFamily_setTheta(SEXP ptr, SEXP ntheta) { BEGIN_RCPP; XPtr(ptr)->setTheta(::Rf_asReal(ntheta)); END_RCPP; } SEXP glmFamily_theta(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->theta()); END_RCPP; } SEXP glmFamily_variance(SEXP ptr, SEXP mu) { BEGIN_RCPP; return wrap(XPtr(ptr)->variance(as(mu))); END_RCPP; } static inline double pwrss(lmResp *rp, merPredD *pp, double fac) { return rp->wrss() + (fac ? pp->sqrL(fac) : pp->u0().squaredNorm()); } static double internal_glmerWrkIter(merPredD *pp, glmResp *rp, bool uOnly) { int debug=0; // !=0 to enable if (debug) Rcpp::Rcout << "(igWI, pre-updateXwts) Xwts: min: " << pp->Xwts().minCoeff() << " sqrtWrkWt: min: " << rp->sqrtWrkWt().minCoeff() << std::endl; pp->updateXwts(rp->sqrtWrkWt()); if (debug) Rcpp::Rcout << "(igWI) Xwts: min: " << pp->Xwts().minCoeff() << " max: " << pp->Xwts().maxCoeff() << std::endl; pp->updateDecomp(); pp->updateRes(rp->wtWrkResp()); if (uOnly) pp->solveU(); else pp->solve(); if (debug) { Rcpp::Rcout << "(igWI)" << " delu_min: " << pp->delu().minCoeff() << "; delu_max: " << pp->delu().maxCoeff() << "; delb_min: " << pp->delb().minCoeff() << "; delb_max: " << pp->delb().maxCoeff() << std::endl; // if (verb) } rp->updateMu(pp->linPred(1.)); if (debug) Rcpp::Rcout << "(igWI) mu: min: " << rp->mu().minCoeff() << " max: " << rp->mu().maxCoeff() << std::endl; return rp->resDev() + pp->sqrL(1.); } // FIXME: improve verbose output (remove code, even commented, // intended for finding pointer/referencing/updating bugs; // leave code that allows end-user to see what's going on // in PWRSS iterations) // // Separate verb settings for min/max delu, delb // (and which_min, which_max) vs entire // delu/delb vectors? note length(delu) will generally be // >> length(delb) ... // // FIXME: sufficient to print just before/after update? static void pwrssUpdate(glmResp *rp, merPredD *pp, bool uOnly, double tol, int maxit, int verbose) { double oldpdev=std::numeric_limits::max(); double pdev; int maxstephalfit = 10; bool cvgd = false, verb = verbose > 2, moreverb = verbose > 10; int debug=0; pdev = oldpdev; // define so debugging statements work on first step for (int i = 0; i < maxit; i++) { if (verb) { Rcpp::Rcout << "*** pwrssUpdate step " << i << std::endl; if (debug) { Rcpp::Rcout << "\nmin delu at iteration " << i << ": " << pp->delu().minCoeff() << std::endl; Rcpp::Rcout << "\nmax delu at iteration " << i << ": " << pp->delu().maxCoeff() << std::endl; Rcpp::Rcout << "\nresDev before dels, iter: " << i << ", " << rp->resDev() << std::endl; // FIXME: would like to print this in row, not column, format // Rcpp::Rcout << "before update:" << "pdev = " << pdev << std::endl; // if (verb) } } Vec olddelu(pp->delu()), olddelb(pp->delb()); pdev = internal_glmerWrkIter(pp, rp, uOnly); if (verb) { Rcpp::Rcout << "pdev=" << pdev << "; delu_min: " << pp->delu().minCoeff() << "; delu_max: " << pp->delu().maxCoeff() << "; delb_min: " << pp->delb().minCoeff() << "; delb_max: " << pp->delb().maxCoeff() << std::endl; // if (verb) } if (std::abs((oldpdev - pdev) / pdev) < tol) {cvgd = true; break;} // if (pdev != pdev) Rcpp::Rcout << "nan detected" << std::endl; // if (isnan(pdev)) Rcpp::Rcout << "nan detected" << std::endl; // trying to detect nan; may be hard to do it completely portably, // and hard to detect in advance (i.e. what conditions lead to // nan from internal_glmerWrkIter ... ?) // http://stackoverflow.com/questions/570669/checking-if-a-double-or-float-is-nan-in-c // check use of isnan() in base R code, or other Rcpp code?? #define isNAN(a) (a!=a) if (isNAN(pdev) || (pdev > oldpdev)) { // PWRSS step led to _larger_ deviation, or nan; try step halving if (verb) Rcpp::Rcout << "\npwrssUpdate: Entering step halving loop" << std::endl; for (int k = 0; k < maxstephalfit && (isNAN(pdev) || (pdev > oldpdev)); k++) { pp->setDelu((olddelu + pp->delu())/2.); if (!uOnly) pp->setDelb((olddelb + pp->delb())/2.); rp->updateMu(pp->linPred(1.)); pdev = rp->resDev() + pp->sqrL(1.); if (moreverb) { Rcpp::Rcout << "step-halving iteration " << k << ": pdev=" << pdev << "; delu_min: " << pp->delu().minCoeff() << "; delu_max: " << pp->delu().maxCoeff() << "; delb_min: " << pp->delb().minCoeff() << "; delb_max: " << pp->delb().maxCoeff() << std::endl; } // if (moreverb) } if (isNAN(pdev) || ((pdev - oldpdev) > tol) ) // FIXME: fill in max halfsetp iters in error statement throw runtime_error("(maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate"); } // step-halving oldpdev = pdev; } // pwrss loop if (!cvgd) // FIXME: fill in max iters in error statement throw runtime_error("pwrssUpdate did not converge in (maxit) iterations"); } SEXP glmerLaplace(SEXP pp_, SEXP rp_, SEXP nAGQ_, SEXP tol_, SEXP maxit_, SEXP verbose_) { BEGIN_RCPP; XPtr rp(rp_); XPtr pp(pp_); if ( ::Rf_asInteger(verbose_) >100) { Rcpp::Rcout << "\nglmerLaplace resDev: " << rp->resDev() << std::endl; Rcpp::Rcout << "\ndelb 1: " << pp->delb() << std::endl; } pwrssUpdate(rp, pp, ::Rf_asInteger(nAGQ_), ::Rf_asReal(tol_), ::Rf_asInteger(maxit_), ::Rf_asInteger(verbose_)); return ::Rf_ScalarReal(rp->Laplace(pp->ldL2(), pp->ldRX2(), pp->sqrL(1.))); END_RCPP; } // function used below in glmerAGQ // // fac: mapped integer vector indicating the factor levels // u: current conditional modes // devRes: current deviance residuals (i.e. similar to results of // family()$dev.resid, but computed in glmFamily.cpp) static Ar1 devcCol(const MiVec& fac, const Ar1& u, const Ar1& devRes) { Ar1 ans(u.square()); for (int i = 0; i < devRes.size(); ++i) ans[fac[i] - 1] += devRes[i]; // return: vector the size of u (i.e. length = number of // grouping factor levels), containing the squared conditional // modes plus the sum of the deviance residuals associated // with each level return ans; } static double sqrt2pi = std::sqrt(2. * PI); // tol: tolerance for pirls // maxit: maximum number of pirls iterations // GQmat: matrix of quadrature weights // fac: grouping factor (gets converted to mapped integer below) SEXP glmerAGQ(SEXP pp_, SEXP rp_, SEXP tol_, SEXP maxit_, SEXP GQmat_, SEXP fac_, SEXP verbose_) { BEGIN_RCPP; XPtr rp(rp_); XPtr pp(pp_); const MiVec fac(as(fac_)); // convert grouping // factor to mapped // integer double tol(::Rf_asReal(tol_)); int maxit(::Rf_asInteger(maxit_)); double verb(::Rf_asReal(verbose_)); if (fac.size() != rp->mu().size()) throw std::invalid_argument("size of fac must match dimension of response vector"); pwrssUpdate(rp, pp, true, tol, maxit, verb); // should be a // no-op // devc0: vector with one element per grouping // factor level containing the the squared // conditional modes plus the sum of the deviance // residuals associated with each level const Ar1 devc0(devcCol(fac, pp->u(1.), rp->devResid())); const unsigned int q(pp->u0().size()); if (pp->L().factor()->nzmax != q) throw std::invalid_argument("AGQ only defined for a single scalar random-effects term"); const Ar1 sd(MAr1((double*)pp->L().factor()->x, q).inverse()); const MMat GQmat(as(GQmat_)); Ar1 mult(q); mult.setZero(); for (int i = 0; i < GQmat.rows(); ++i) { double zknot(GQmat(i, 0)); if (zknot == 0) mult += Ar1::Constant(q, GQmat(i, 1)); else { pp->setU0(zknot * sd); // to be added to current delu rp->updateMu(pp->linPred(1.)); mult += (-0.5 * (devcCol(fac, pp->u(1.), rp->devResid()) - devc0) - GQmat(i, 2)).exp() * GQmat(i, 1)/sqrt2pi; } } pp->setU0(Vec::Zero(q)); // restore settings from pwrssUpdate; rp->updateMu(pp->linPred(1.)); return ::Rf_ScalarReal(devc0.sum() + pp->ldL2() - 2 * std::log(mult.prod())); END_RCPP; } void nstepFac(nlsResp *rp, merPredD *pp, int verb) { double prss0(pwrss(rp, pp, 0.)); for (double fac = 1.; fac > 0.001; fac /= 2.) { double prss1 = rp->updateMu(pp->linPred(fac)) + pp->sqrL(fac); if (verb > 3) ::Rprintf("prss0=%10g, diff=%10g, fac=%6.4f\n", prss0, prss0 - prss1, fac); if (prss1 < prss0) { pp->installPars(fac); return; } } throw runtime_error("step factor reduced below 0.001 without reducing pwrss"); } #define NMAXITER 300 static void prssUpdate(nlsResp *rp, merPredD *pp, int verb, bool uOnly, double tol) { bool cvgd(false); for (int it=0; it < NMAXITER; ++it) { rp->updateMu(pp->linPred(0.)); pp->updateXwts(rp->sqrtXwt()); pp->updateDecomp(); pp->updateRes(rp->wtres()); double ccrit((uOnly ? pp->solveU() : pp->solve())/pwrss(rp, pp, 0.)); if (verb > 3) ::Rprintf("ccrit=%10g, tol=%10g\n", ccrit, tol); if (ccrit < tol) { cvgd = true; break; } nstepFac(rp, pp, verb); } if (!cvgd) throw runtime_error("prss failed to converge in 300 iterations"); } SEXP nlmerLaplace(SEXP pp_, SEXP rp_, SEXP theta_, SEXP u0_, SEXP beta0_, SEXP verbose_, SEXP uOnly_, SEXP tol_) { BEGIN_RCPP; XPtr rp(rp_); XPtr pp(pp_); pp->setTheta(as(theta_)); pp->setU0(as(u0_)); pp->setBeta0(as(beta0_)); prssUpdate(rp, pp, ::Rf_asInteger(verbose_), ::Rf_asLogical(uOnly_), ::Rf_asReal(tol_)); return ::Rf_ScalarReal(rp->Laplace(pp->ldL2(), pp->ldRX2(), pp->sqrL(1.))); END_RCPP; } SEXP golden_Create(SEXP lower_, SEXP upper_) { BEGIN_RCPP; Golden *ans = new Golden(::Rf_asReal(lower_), ::Rf_asReal(upper_)); return wrap(XPtr(ans, true)); END_RCPP; } SEXP golden_newf(SEXP ptr_, SEXP f_) { BEGIN_RCPP; XPtr(ptr_)->newf(::Rf_asReal(f_)); END_RCPP; } SEXP golden_xeval(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->xeval()); END_RCPP; } SEXP golden_value(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->value()); END_RCPP; } SEXP golden_xpos(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->xpos()); END_RCPP; } SEXP isNullExtPtr(SEXP Ptr) { void *ptr = R_ExternalPtrAddr(Ptr); return ::Rf_ScalarLogical(ptr == (void*)NULL); } void setNullExtPtr(SEXP Ptr) { return R_ClearExternalPtr(Ptr); } // linear model response (also the base class for other response classes) SEXP lm_Create(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres) { BEGIN_RCPP; lmResp *ans = new lmResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres); return wrap(XPtr(ans, true)); END_RCPP; } SEXP lm_setOffset(SEXP ptr_, SEXP offset) { BEGIN_RCPP; XPtr(ptr_)->setOffset(as(offset)); END_RCPP; } SEXP lm_setResp(SEXP ptr_, SEXP resp) { BEGIN_RCPP; XPtr(ptr_)->setResp(as(resp)); END_RCPP; } SEXP lm_setWeights(SEXP ptr_, SEXP weights) { BEGIN_RCPP; XPtr(ptr_)->setWeights(as(weights)); END_RCPP; } SEXP lm_wrss(SEXP ptr_) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->wrss()); END_RCPP; } SEXP lm_updateMu(SEXP ptr_, SEXP gamma) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->updateMu(as(gamma))); END_RCPP; } // linear mixed-effects model response SEXP lmer_Create(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres) { BEGIN_RCPP; lmerResp *ans = new lmerResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres); return wrap(XPtr(ans, true)); END_RCPP; } SEXP lmer_setREML(SEXP ptr_, SEXP REML) { BEGIN_RCPP; int reml = ::Rf_asInteger(REML); XPtr(ptr_)->setReml(reml); return ::Rf_ScalarInteger(reml); END_RCPP; } SEXP lmer_Laplace(SEXP ptr_, SEXP ldL2, SEXP ldRX2, SEXP sqrL, SEXP sigma_sq) { BEGIN_RCPP; if (Rf_isNull(sigma_sq)) return ::Rf_ScalarReal(XPtr(ptr_)->Laplace(::Rf_asReal(ldL2), ::Rf_asReal(ldRX2), ::Rf_asReal(sqrL))); return ::Rf_ScalarReal(XPtr(ptr_)->Laplace(::Rf_asReal(ldL2), ::Rf_asReal(ldRX2), ::Rf_asReal(sqrL), ::Rf_asReal(sigma_sq))); END_RCPP; } static double lmer_dev(XPtr ppt, XPtr rpt, const Eigen::VectorXd& theta) { int debug=0; double val; ppt->setTheta(theta); ppt->updateXwts(rpt->sqrtXwt()); ppt->updateDecomp(); rpt->updateMu(ppt->linPred(0.)); ppt->updateRes(rpt->wtres()); ppt->solve(); rpt->updateMu(ppt->linPred(1.)); val=rpt->Laplace(ppt->ldL2(), ppt->ldRX2(), ppt->sqrL(1.)); if (debug) { Rcpp::Rcout.precision(10); Rcpp::Rcout << "lmer_dev: theta=" << ppt->theta() << ", val=" << val << std::endl; } return val; } SEXP lmer_Deviance(SEXP pptr_, SEXP rptr_, SEXP theta_) { BEGIN_RCPP; XPtr rpt(rptr_); XPtr ppt(pptr_); return ::Rf_ScalarReal(lmer_dev(ppt, rpt, as(theta_))); END_RCPP; } SEXP lmer_opt1(SEXP pptr_, SEXP rptr_, SEXP lower_, SEXP upper_) { BEGIN_RCPP; XPtr rpt(rptr_); XPtr ppt(pptr_); Eigen::VectorXd th(1); optimizer::Golden gold(::Rf_asReal(lower_), ::Rf_asReal(upper_)); for (int i = 0; i < 30; ++i) { th[0] = gold.xeval(); gold.newf(lmer_dev(ppt, rpt, th)); } return List::create(Named("theta") = ::Rf_ScalarReal(gold.xpos()), Named("objective") = ::Rf_ScalarReal(gold.value())); END_RCPP; } // dense predictor module for mixed-effects models SEXP merPredDCreate(SEXP Xs, SEXP Lambdat, SEXP LamtUt, SEXP Lind, SEXP RZX, SEXP Ut, SEXP Utr, SEXP V, SEXP VtV, SEXP Vtr, SEXP Xwts, SEXP Zt, SEXP beta0, SEXP delb, SEXP delu, SEXP theta, SEXP u0) { BEGIN_RCPP; merPredD *ans = new merPredD(Xs, Lambdat, LamtUt, Lind, RZX, Ut, Utr, V, VtV, Vtr, Xwts, Zt, beta0, delb, delu, theta, u0); return wrap(XPtr(ans, true)); END_RCPP; } // setters SEXP merPredDsetTheta(SEXP ptr, SEXP theta) { BEGIN_RCPP; XPtr(ptr)->setTheta(as(theta)); return theta; END_RCPP; } SEXP merPredDsetZt(SEXP ptr, SEXP ZtNonZero) { BEGIN_RCPP; XPtr(ptr)->setZt(as(ZtNonZero)); return ZtNonZero; END_RCPP; } SEXP merPredDsetBeta0(SEXP ptr, SEXP beta0) { BEGIN_RCPP; XPtr(ptr)->setBeta0(as(beta0)); END_RCPP; } SEXP merPredDsetDelu(SEXP ptr, SEXP delu) { BEGIN_RCPP; XPtr(ptr)->setDelu(as(delu)); END_RCPP; } SEXP merPredDsetDelb(SEXP ptr, SEXP delb) { BEGIN_RCPP; XPtr(ptr)->setDelb(as(delb)); END_RCPP; } // getters SEXP merPredDCcNumer(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->CcNumer()); END_RCPP; } SEXP merPredDL(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->L()); END_RCPP; } SEXP merPredDPvec(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->Pvec()); END_RCPP; } SEXP merPredDRX(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->RX()); END_RCPP; } SEXP merPredDRXi(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->RXi()); END_RCPP; } SEXP merPredDRXdiag(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->RXdiag()); END_RCPP; } SEXP merPredDcondVar(SEXP ptr, SEXP rho) { BEGIN_RCPP; return wrap(XPtr(ptr)->condVar(Rcpp::Environment(rho))); END_RCPP; } SEXP merPredDldL2(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->ldL2()); END_RCPP; } SEXP merPredDldRX2(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->ldRX2()); END_RCPP; } SEXP merPredDunsc(SEXP ptr) { BEGIN_RCPP; return wrap(XPtr(ptr)->unsc()); END_RCPP; } // methods SEXP merPredDb(SEXP ptr, SEXP fac) { BEGIN_RCPP; return wrap(XPtr(ptr)->b(::Rf_asReal(fac))); END_RCPP; } SEXP merPredDbeta(SEXP ptr, SEXP fac) { BEGIN_RCPP; return wrap(XPtr(ptr)->beta(::Rf_asReal(fac))); END_RCPP; } SEXP merPredDinstallPars(SEXP ptr, SEXP fac) { BEGIN_RCPP; XPtr(ptr)->installPars(::Rf_asReal(fac)); END_RCPP; } SEXP merPredDlinPred(SEXP ptr, SEXP fac) { BEGIN_RCPP; return wrap(XPtr(ptr)->linPred(::Rf_asReal(fac))); END_RCPP; } SEXP merPredDsolve(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->solve()); END_RCPP; } SEXP merPredDsolveU(SEXP ptr) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->solveU()); END_RCPP; } SEXP merPredDsqrL(SEXP ptr, SEXP fac) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr)->sqrL(::Rf_asReal(fac))); END_RCPP; } SEXP merPredDu(SEXP ptr, SEXP fac) { BEGIN_RCPP; return wrap(XPtr(ptr)->u(::Rf_asReal(fac))); END_RCPP; } SEXP merPredDupdateDecomp(SEXP ptr, SEXP xPenalty_) { BEGIN_RCPP; if (Rf_isNull(xPenalty_)) XPtr(ptr)->updateDecomp(NULL); else { const Mat & xPenalty(as(xPenalty_)); XPtr(ptr)->updateDecomp(&xPenalty); } END_RCPP; } SEXP merPredDupdateL(SEXP ptr) { BEGIN_RCPP; XPtr(ptr)->updateL(); END_RCPP; } SEXP merPredDupdateLamtUt(SEXP ptr) { BEGIN_RCPP; XPtr(ptr)->updateLamtUt(); END_RCPP; } SEXP merPredDupdateRes(SEXP ptr, SEXP wtres) { BEGIN_RCPP; XPtr(ptr)->updateRes(as(wtres)); END_RCPP; } SEXP merPredDupdateXwts(SEXP ptr, SEXP wts) { BEGIN_RCPP; XPtr(ptr)->updateXwts(as(wts)); END_RCPP; } SEXP NelderMead_Create(SEXP lb_, SEXP ub_, SEXP xstep0_, SEXP x_, SEXP xtol_) { BEGIN_RCPP; MVec lb(as(lb_)), ub(as(ub_)), xstep0(as(xstep0_)), x(as(x_)); Nelder_Mead *ans = new Nelder_Mead(lb, ub, xstep0, x, optimizer::nl_stop(as(xtol_))); return wrap(XPtr(ans, true)); END_RCPP; } SEXP NelderMead_newf(SEXP ptr_, SEXP f_) { BEGIN_RCPP; switch (XPtr(ptr_)->newf(::Rf_asReal(f_))) { case optimizer::nm_evals: return ::Rf_ScalarInteger(-4); case optimizer::nm_forced: return ::Rf_ScalarInteger(-3); case optimizer::nm_nofeasible: return ::Rf_ScalarInteger(-2); case optimizer::nm_x0notfeasible: return ::Rf_ScalarInteger(-1); case optimizer::nm_active: return ::Rf_ScalarInteger(0); case optimizer::nm_minf_max: return ::Rf_ScalarInteger(1); case optimizer::nm_fcvg: return ::Rf_ScalarInteger(2); case optimizer::nm_xcvg: return ::Rf_ScalarInteger(3); } END_RCPP; } SEXP NelderMead_setForce_stop(SEXP ptr_, SEXP stp_) { BEGIN_RCPP; XPtr(ptr_)->setForce_stop(::Rf_asLogical(stp_)); END_RCPP; } SEXP NelderMead_setFtol_abs(SEXP ptr_, SEXP fta_) { BEGIN_RCPP; XPtr(ptr_)->setFtol_rel(::Rf_asReal(fta_)); END_RCPP; } SEXP NelderMead_setFtol_rel(SEXP ptr_, SEXP ftr_) { BEGIN_RCPP; XPtr(ptr_)->setFtol_rel(::Rf_asReal(ftr_)); END_RCPP; } SEXP NelderMead_setIprint(SEXP ptr_, SEXP ip_) { BEGIN_RCPP; XPtr(ptr_)->set_Iprint(::Rf_asInteger(ip_)); END_RCPP; } SEXP NelderMead_setMaxeval(SEXP ptr_, SEXP mm_) { BEGIN_RCPP; XPtr(ptr_)->set_Maxeval(::Rf_asInteger(mm_)); END_RCPP; } SEXP NelderMead_setMinf_max(SEXP ptr_, SEXP mm_) { BEGIN_RCPP; XPtr(ptr_)->setMinf_max(::Rf_asReal(mm_)); END_RCPP; } SEXP NelderMead_xeval(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->xeval()); END_RCPP; } SEXP NelderMead_value(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->value()); END_RCPP; } SEXP NelderMead_xpos(SEXP ptr_) { BEGIN_RCPP; return wrap(XPtr(ptr_)->xpos()); END_RCPP; } // return the number of function evaluations performed SEXP NelderMead_evals(SEXP ptr_) { BEGIN_RCPP; return wrap(int(XPtr(ptr_)->evals())); END_RCPP; } // nonlinear model response (also the base class for other response classes) SEXP nls_Create(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres, SEXP gamma, SEXP mod, SEXP env, SEXP pnms) { BEGIN_RCPP; nlsResp *ans = new nlsResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, gamma, mod, env, pnms); return wrap(XPtr(ans, true)); END_RCPP; } SEXP nls_Laplace(SEXP ptr_, SEXP ldL2, SEXP ldRX2, SEXP sqrL) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)-> Laplace(::Rf_asReal(ldL2), ::Rf_asReal(ldRX2), ::Rf_asReal(sqrL))); END_RCPP; } SEXP nls_updateMu(SEXP ptr_, SEXP gamma) { BEGIN_RCPP; return ::Rf_ScalarReal(XPtr(ptr_)->updateMu(as(gamma))); END_RCPP; } SEXP showlocation(SEXP obj) { int ll = Rf_length(obj); if (Rf_isReal(obj)) { double *vv = REAL(obj); Rcpp::Rcout << "Numeric vector of length " << ll << " at location: " << vv << std::endl; if (ll > 0) { Rcpp::Rcout << "Values: " << vv[0]; for(int i = 1; i < std::min(ll, 5); ++i) Rcpp::Rcout << "," << vv[i]; if (ll > 8) Rcpp::Rcout << ",...,"; for (int i = std::max(5, ll - 3); i < ll; ++i) Rcpp::Rcout << "," << vv[i]; Rcpp::Rcout << std::endl; } } if (Rf_isInteger(obj)) { int *vv = INTEGER(obj); Rcpp::Rcout << "Numeric vector of length " << ll << " at location: " << vv << std::endl; if (ll > 0) { Rcpp::Rcout << "Values: " << vv[0]; for(int i = 1; i < std::min(ll, 5); ++i) Rcpp::Rcout << "," << vv[i]; if (ll > 8) Rcpp::Rcout << ",...,"; for (int i = std::max(5,ll - 3); i < ll; ++i) Rcpp::Rcout << "," << vv[i]; Rcpp::Rcout << std::endl; } } return R_NilValue; } } #include #define CALLDEF(name, n) {#name, (DL_FUNC) &name, n} static R_CallMethodDef CallEntries[] = { CALLDEF(Eigen_SSE, 0), CALLDEF(allPerm_int, 1), CALLDEF(deepcopy, 1), CALLDEF(glm_Create, 10), // generate external pointer CALLDEF(glm_setN, 2), // setters CALLDEF(glm_setTheta, 2), CALLDEF(glm_aic, 1), // getters CALLDEF(glm_devResid, 1), CALLDEF(glm_family, 1), CALLDEF(glm_link, 1), CALLDEF(glm_muEta, 1), CALLDEF(glm_resDev, 1), CALLDEF(glm_sqrtWrkWt, 1), CALLDEF(glm_theta, 1), CALLDEF(glm_variance, 1), CALLDEF(glm_wtWrkResp, 1), CALLDEF(glm_wrkResids, 1), CALLDEF(glm_wrkResp, 1), CALLDEF(glm_Laplace, 4), // methods CALLDEF(glm_updateMu, 2), CALLDEF(glm_updateWts, 1), CALLDEF(glmFamily_Create, 1), // generate external pointer CALLDEF(glmFamily_aic, 6), // methods CALLDEF(glmFamily_link, 2), CALLDEF(glmFamily_linkInv, 2), CALLDEF(glmFamily_devResid, 4), CALLDEF(glmFamily_muEta, 2), CALLDEF(glmFamily_setTheta, 2), CALLDEF(glmFamily_theta, 1), CALLDEF(glmFamily_variance, 2), CALLDEF(glmerAGQ, 7), CALLDEF(glmerLaplace, 6), CALLDEF(golden_Create, 2), CALLDEF(golden_newf, 2), CALLDEF(golden_value, 1), CALLDEF(golden_xeval, 1), CALLDEF(golden_xpos, 1), CALLDEF(isNullExtPtr, 1), CALLDEF(setNullExtPtr, 1), CALLDEF(lm_Create, 7), // generate external pointer CALLDEF(lm_setOffset, 2), // setters CALLDEF(lm_setResp, 2), CALLDEF(lm_setWeights, 2), CALLDEF(lm_wrss, 1), // getter CALLDEF(lm_updateMu, 2), // method CALLDEF(lmer_Create, 7), // generate external pointer CALLDEF(lmer_setREML, 2), // setter CALLDEF(lmer_Deviance, 3), // methods CALLDEF(lmer_Laplace, 5), CALLDEF(lmer_opt1, 4), CALLDEF(merPredDCreate, 17), // generate external pointer CALLDEF(merPredDsetTheta, 2), // setters CALLDEF(merPredDsetZt, 2), CALLDEF(merPredDsetBeta0, 2), CALLDEF(merPredDsetDelu, 2), // setters CALLDEF(merPredDsetDelb, 2), CALLDEF(merPredDCcNumer, 1), // getters CALLDEF(merPredDL, 1), CALLDEF(merPredDPvec, 1), CALLDEF(merPredDRX, 1), CALLDEF(merPredDRXdiag, 1), CALLDEF(merPredDRXi, 1), CALLDEF(merPredDldL2, 1), CALLDEF(merPredDldRX2, 1), CALLDEF(merPredDunsc, 1), CALLDEF(merPredDb, 2), // methods CALLDEF(merPredDbeta, 2), CALLDEF(merPredDcondVar, 2), CALLDEF(merPredDlinPred, 2), CALLDEF(merPredDinstallPars,2), CALLDEF(merPredDsolve, 1), CALLDEF(merPredDsolveU, 1), CALLDEF(merPredDsqrL, 2), CALLDEF(merPredDu, 2), CALLDEF(merPredDupdateDecomp,2), CALLDEF(merPredDupdateL, 1), CALLDEF(merPredDupdateLamtUt,1), CALLDEF(merPredDupdateRes, 2), CALLDEF(merPredDupdateXwts, 2), CALLDEF(NelderMead_Create, 5), CALLDEF(NelderMead_newf, 2), CALLDEF(NelderMead_setForce_stop, 2), CALLDEF(NelderMead_setFtol_abs, 2), CALLDEF(NelderMead_setFtol_rel, 2), CALLDEF(NelderMead_setIprint, 2), CALLDEF(NelderMead_setMaxeval, 2), CALLDEF(NelderMead_setMinf_max, 2), CALLDEF(NelderMead_value, 1), CALLDEF(NelderMead_xeval, 1), CALLDEF(NelderMead_xpos, 1), CALLDEF(nlmerLaplace, 8), CALLDEF(nls_Create, 11), // generate external pointer CALLDEF(nls_Laplace, 4), // methods CALLDEF(nls_updateMu, 2), CALLDEF(showlocation, 1), {NULL, NULL, 0} }; /** Initializer for lme4, called upon loading the package. * * Register routines that can be called directly from R. * Initialize CHOLMOD and require the LL' form of the factorization. * Install the symbols to be used by functions in the package. */ extern "C" void R_init_lme4(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, (Rboolean)FALSE); } lme4/src/predModule.cpp0000644000176200001440000003574713216511172014525 0ustar liggesusers// // predModule.cpp: implementation of predictor module using Eigen // // Copyright (C) 2011-2013 Douglas Bates, Martin Maechler, Ben Bolker and Steve Walker // // This file is part of lme4. #include "predModule.h" namespace lme4 { using Rcpp::as; using std::invalid_argument; using std::runtime_error; using Eigen::ArrayXd; typedef Eigen::Map MMat; typedef Eigen::Map MVec; typedef Eigen::Map MiVec; merPredD::merPredD(SEXP X, SEXP Lambdat, SEXP LamtUt, SEXP Lind, SEXP RZX, SEXP Ut, SEXP Utr, SEXP V, SEXP VtV, SEXP Vtr, SEXP Xwts, SEXP Zt, SEXP beta0, SEXP delb, SEXP delu, SEXP theta, SEXP u0) : d_X( as(X)), d_RZX( as(RZX)), d_V( as(V)), d_VtV( as(VtV)), d_Zt( as(Zt)), d_Ut( as(Ut)), d_LamtUt( as(LamtUt)), d_Lambdat( as(Lambdat)), d_theta( as(theta)), d_Vtr( as(Vtr)), d_Utr( as(Utr)), d_Xwts( as(Xwts)), d_beta0( as(beta0)), d_delb( as(delb)), d_delu( as(delu)), d_u0( as(u0)), d_Lind( as(Lind)), d_N( d_X.rows()), d_p( d_X.cols()), d_q( d_Zt.rows()), d_RX( d_p) { // Check consistency of dimensions if (d_N != d_Zt.cols()) throw invalid_argument("Z dimension mismatch"); if (d_Lind.size() != d_Lambdat.nonZeros()) throw invalid_argument("size of Lind does not match nonzeros in Lambda"); // checking of the range of Lind is now done in R code for reference class // initialize beta0, u0, delb, delu and VtV d_VtV.setZero().selfadjointView().rankUpdate(d_V.adjoint()); d_RX.compute(d_VtV); // ensure d_RX is initialized even in the 0-column X case setTheta(d_theta); // starting values into Lambda d_L.cholmod().final_ll = 1; // force an LL' decomposition updateLamtUt(); d_L.analyzePattern(d_LamtUt * d_LamtUt.transpose()); // perform symbolic analysis if (d_L.info() != Eigen::Success) throw runtime_error("CholeskyDecomposition.analyzePattern failed"); } void merPredD::updateLamtUt() { // This complicated code bypasses problems caused by Eigen's // sparse/sparse matrix multiplication pruning zeros. The // Cholesky decomposition croaks if the structure of d_LamtUt changes. MVec(d_LamtUt.valuePtr(), d_LamtUt.nonZeros()).setZero(); for (Index j = 0; j < d_Ut.outerSize(); ++j) { for(MSpMatrixd::InnerIterator rhsIt(d_Ut, j); rhsIt; ++rhsIt) { Scalar y(rhsIt.value()); Index k(rhsIt.index()); MSpMatrixd::InnerIterator prdIt(d_LamtUt, j); for (MSpMatrixd::InnerIterator lhsIt(d_Lambdat, k); lhsIt; ++lhsIt) { Index i = lhsIt.index(); while (prdIt && prdIt.index() != i) ++prdIt; if (!prdIt) throw runtime_error("logic error in updateLamtUt"); prdIt.valueRef() += lhsIt.value() * y; } } } } VectorXd merPredD::b(const double& f) const {return d_Lambdat.adjoint() * u(f);} VectorXd merPredD::beta(const double& f) const {return d_beta0 + f * d_delb;} VectorXd merPredD::linPred(const double& f) const { return d_X * beta(f) + d_Zt.adjoint() * b(f); } Rcpp::List merPredD::condVar(const Rcpp::Environment& rho) const { const Rcpp::List ll(as(rho["flist"])), trmlst(as(rho["terms"])); const int nf(ll.size()); const MiVec nl(as(rho["nlevs"])), nct(as(rho["nctot"])), off(as(rho["offsets"])); // ll : flist // trmlst : terms : list with one element per factor, indicating corresponding term // nf : : number of unique factors // nl : nlevs : number of levels for each unique factor // nct : nctot : total number of components per factor // off : offsets : points to where each term starts Rcpp::List ans(nf); ans.names() = clone(as(ll.names())); const SpMatrixd d_Lambda(d_Lambdat.adjoint()); for (int i = 0; i < nf; i++) { int ncti(nct[i]), nli(nl[i]); Rcpp::NumericVector ansi(ncti * ncti * nli); ansi.attr("dim") = Rcpp::IntegerVector::create(ncti, ncti, nli); ans[i] = ansi; const MiVec trms(as(trmlst(i))); // ncti : total number of components in factor i // nli : number of levels in factor i // ansi : array in which to store condVar's for factor i // trms : pointers to terms corresponding to factor i if (trms.size() == 1) { // simple case int offset = off[trms[0] - 1]; for (int j = 0; j < nli; ++j) { MatrixXd LvT(d_Lambdat.innerVectors(offset + j * ncti, ncti)); MatrixXd Lv(LvT.adjoint()); d_L.solveInPlace(LvT, CHOLMOD_A); MatrixXd rr(Lv * LvT); std::copy(rr.data(), rr.data() + rr.size(), &ansi[j * ncti * ncti]); } } else { throw std::runtime_error("multiple terms per factor not yet written"); } } return ans; } VectorXd merPredD::u(const double& f) const {return d_u0 + f * d_delu;} merPredD::Scalar merPredD::sqrL(const double& f) const {return u(f).squaredNorm();} void merPredD::updateL() { updateLamtUt(); // More complicated code to handle the case of zeros in // potentially nonzero positions. The factorize_p method is // for a SparseMatrix, not a MappedSparseMatrix. SpMatrixd m(d_LamtUt.rows(), d_LamtUt.cols()); m.resizeNonZeros(d_LamtUt.nonZeros()); std::copy(d_LamtUt.valuePtr(), d_LamtUt.valuePtr() + d_LamtUt.nonZeros(), m.valuePtr()); std::copy(d_LamtUt.innerIndexPtr(), d_LamtUt.innerIndexPtr() + d_LamtUt.nonZeros(), m.innerIndexPtr()); std::copy(d_LamtUt.outerIndexPtr(), d_LamtUt.outerIndexPtr() + d_LamtUt.cols() + 1, m.outerIndexPtr()); d_L.factorize_p(m, Eigen::ArrayXi(), 1.); d_ldL2 = ::M_chm_factor_ldetL2(d_L.factor()); } void merPredD::setTheta(const VectorXd& theta) { if (theta.size() != d_theta.size()) { Rcpp::Rcout << "(" << theta.size() << "!=" << d_theta.size() << ")" << std::endl; // char errstr[100]; // sprintf(errstr,"theta size mismatch (%d != %d)", // theta.size(),d_theta.size()); throw invalid_argument("theta size mismatch"); } // update theta std::copy(theta.data(), theta.data() + theta.size(), d_theta.data()); // update Lambdat int *lipt = d_Lind.data(); double *LamX = d_Lambdat.valuePtr(), *thpt = d_theta.data(); for (int i = 0; i < d_Lind.size(); ++i) { LamX[i] = thpt[lipt[i] - 1]; } } void merPredD::setZt(const VectorXd& ZtNonZero) { double *ZtX = d_Zt.valuePtr(); // where the nonzero values of Zt live std::copy(ZtNonZero.data(), ZtNonZero.data() + ZtNonZero.size(), ZtX); } merPredD::Scalar merPredD::solve() { d_delu = d_Utr - d_u0; d_L.solveInPlace(d_delu, CHOLMOD_P); d_L.solveInPlace(d_delu, CHOLMOD_L); // d_delu now contains cu d_CcNumer = d_delu.squaredNorm(); // numerator of convergence criterion d_delb = d_RX.matrixL().solve(d_Vtr - d_RZX.adjoint() * d_delu); d_CcNumer += d_delb.squaredNorm(); // increment CcNumer d_RX.matrixU().solveInPlace(d_delb); d_delu -= d_RZX * d_delb; d_L.solveInPlace(d_delu, CHOLMOD_Lt); d_L.solveInPlace(d_delu, CHOLMOD_Pt); return d_CcNumer; } merPredD::Scalar merPredD::solveU() { d_delb.setZero(); // in calculation of linPred delb should be zero after solveU d_delu = d_Utr - d_u0; d_L.solveInPlace(d_delu, CHOLMOD_P); d_L.solveInPlace(d_delu, CHOLMOD_L); // d_delu now contains cu d_CcNumer = d_delu.squaredNorm(); // numerator of convergence criterion d_L.solveInPlace(d_delu, CHOLMOD_Lt); d_L.solveInPlace(d_delu, CHOLMOD_Pt); return d_CcNumer; } void merPredD::updateXwts(const ArrayXd& sqrtXwt) { if (d_Xwts.size() != sqrtXwt.size()) throw invalid_argument("updateXwts: dimension mismatch"); std::copy(sqrtXwt.data(), sqrtXwt.data() + sqrtXwt.size(), d_Xwts.data()); if (sqrtXwt.size() == d_V.rows()) { // W is diagonal d_V = d_Xwts.asDiagonal() * d_X; for (int j = 0; j < d_N; ++j) for (MSpMatrixd::InnerIterator Utj(d_Ut, j), Ztj(d_Zt, j); Utj && Ztj; ++Utj, ++Ztj) Utj.valueRef() = Ztj.value() * d_Xwts.data()[j]; } else { SpMatrixd W(d_V.rows(), sqrtXwt.size()); const double *pt = sqrtXwt.data(); W.reserve(sqrtXwt.size()); for (Index j = 0; j < W.cols(); ++j, ++pt) { W.startVec(j); W.insertBack(j % d_V.rows(), j) = *pt; } W.finalize(); d_V = W * d_X; SpMatrixd Ut(d_Zt * W.adjoint()); if (Ut.cols() != d_Ut.cols()) throw std::runtime_error("Size mismatch in updateXwts"); // More complex code to handle the pruning of zeros MVec(d_Ut.valuePtr(), d_Ut.nonZeros()).setZero(); for (int j = 0; j < d_Ut.outerSize(); ++j) { MSpMatrixd::InnerIterator lhsIt(d_Ut, j); for (SpMatrixd::InnerIterator rhsIt(Ut, j); rhsIt; ++rhsIt, ++lhsIt) { Index k(rhsIt.index()); while (lhsIt && lhsIt.index() != k) ++lhsIt; if (lhsIt.index() != k) throw std::runtime_error("Pattern mismatch in updateXwts"); lhsIt.valueRef() = rhsIt.value(); } } } d_VtV.setZero().selfadjointView().rankUpdate(d_V.adjoint()); updateL(); } void merPredD::updateDecomp() { updateDecomp(NULL); } // using a point so as to detect NULL void merPredD::updateDecomp(const MatrixXd* xPenalty) { // update L, RZX and RX int debug=0; if (debug) Rcpp::Rcout << "start updateDecomp" << std::endl; updateL(); if (debug) { Rcpp::Rcout << "updateDecomp 2: dimensions (RZX, LamtUt,V)" << d_RZX.cols() << " " << d_RZX.rows() << " " << d_LamtUt.cols() << " " << d_LamtUt.rows() << " " << d_V.cols() << " " << d_V.rows() << " " << std::endl; } if (d_LamtUt.cols() != d_V.rows()) { ::Rf_warning("dimension mismatch in updateDecomp()"); // Rcpp::Rcout << "WARNING: dimension mismatch in updateDecomp(): " << // " LamtUt=" << d_LamtUt.rows() << "x" << d_LamtUt.cols() << // "; V=" << d_V.rows() << "x" << d_V.cols() << " " << // std::endl; } d_RZX = d_LamtUt * d_V; if (debug) Rcpp::Rcout << "updateDecomp 3" << std::endl; if (d_p > 0) { d_L.solveInPlace(d_RZX, CHOLMOD_P); d_L.solveInPlace(d_RZX, CHOLMOD_L); if (debug) Rcpp::Rcout << "updateDecomp 4" << std::endl; MatrixXd VtVdown(d_VtV); if (xPenalty == NULL) d_RX.compute(VtVdown.selfadjointView().rankUpdate(d_RZX.adjoint(), -1)); else { d_RX.compute(VtVdown.selfadjointView().rankUpdate(d_RZX.adjoint(), -1).rankUpdate(*xPenalty, 1)); } if (debug) Rcpp::Rcout << "updateDecomp 5" << std::endl; if (d_RX.info() != Eigen::Success) ::Rf_error("Downdated VtV is not positive definite"); d_ldRX2 = 2. * d_RX.matrixLLT().diagonal().array().abs().log().sum(); if (debug) Rcpp::Rcout << "updateDecomp 6" << std::endl; } } void merPredD::updateRes(const VectorXd& wtres) { if (d_V.rows() != wtres.size()) throw invalid_argument("updateRes: dimension mismatch"); d_Vtr = d_V.adjoint() * wtres; d_Utr = d_LamtUt * wtres; } void merPredD::installPars(const Scalar& f) { d_u0 = u(f); d_beta0 = beta(f); d_delb.setZero(); d_delu.setZero(); } void merPredD::setBeta0(const VectorXd& nBeta) { if (nBeta.size() != d_p) throw invalid_argument("setBeta0: dimension mismatch"); std::copy(nBeta.data(), nBeta.data() + d_p, d_beta0.data()); } void merPredD::setDelb(const VectorXd& newDelb) { if (newDelb.size() != d_p) throw invalid_argument("setDelb: dimension mismatch"); std::copy(newDelb.data(), newDelb.data() + d_p, d_delb.data()); } void merPredD::setDelu(const VectorXd& newDelu) { if (newDelu.size() != d_q) throw invalid_argument("setDelu: dimension mismatch"); std::copy(newDelu.data(), newDelu.data() + d_q, d_delu.data()); } void merPredD::setU0(const VectorXd& newU0) { if (newU0.size() != d_q) throw invalid_argument("setU0: dimension mismatch"); std::copy(newU0.data(), newU0.data() + d_q, d_u0.data()); } template struct Norm_Rand : std::unary_function { const T operator()(const T& x) const {return ::norm_rand();} }; inline static VectorXd Random_Normal(int size, double sigma) { return ArrayXd(size).unaryExpr(Norm_Rand()) * sigma; } void merPredD::MCMC_beta_u(const Scalar& sigma) { VectorXd del2(d_RX.matrixU().solve(Random_Normal(d_p, sigma))); d_delb += del2; VectorXd del1(Random_Normal(d_q, sigma) - d_RZX * del2); d_L.solveInPlace(del1, CHOLMOD_Lt); d_delu += del1; } VectorXi merPredD::Pvec() const { int* ppt((int*)d_L.factor()->Perm); VectorXi ans(d_q); std::copy(ppt, ppt + d_q, ans.data()); return ans; } MatrixXd merPredD::RX() const { return d_RX.matrixU(); } MatrixXd merPredD::RXi() const { // inverse RX return d_RX.matrixU().solve(MatrixXd::Identity(d_p,d_p)); } MatrixXd merPredD::unsc() const { // unscaled var-cov mat of FE // R translation: tcrossprod(RXi) return MatrixXd(MatrixXd(d_p, d_p).setZero(). selfadjointView(). rankUpdate(RXi())); } VectorXd merPredD::RXdiag() const { return d_RX.matrixLLT().diagonal(); } } lme4/src/respModule.h0000644000176200001440000001112213216511172014166 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // respModule.h: response modules using Eigen // // Copyright (C) 2011-2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_RESPMODULE_H #define LME4_RESPMODULE_H #include "glmFamily.h" namespace lme4 { typedef Eigen::Map MVec; using Rcpp::CharacterVector; using Rcpp::Environment; using Rcpp::Language; using Rcpp::NumericVector; using glm::glmFamily; class lmResp { protected: double d_wrss, /**< current weighted sum of squared residuals */ d_ldW; /**< sum of log prior weights (i.e. log determinant of * the diagonal weights matrix) */ MVec d_y, /**< response vector */ d_weights, /**< prior weights - always present even if unity */ d_offset, /**< offset in the model */ d_mu, /**< mean response from current linear predictor */ d_sqrtXwt, /**< Square roots of the "X weights". For * lmResp and lmerResp these are the same as * the sqrtrwt. For glmResp and nlsResp they * incorporate the gradient of the eta to mu * mapping.*/ d_sqrtrwt, /**< Square roots of the residual weights */ d_wtres; /**< Current weighted residuals */ public: lmResp(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); const MVec& sqrtXwt() const {return d_sqrtXwt;} /**< return a const reference to d_sqrtXwt */ const MVec& mu() const {return d_mu;} /**< return a const reference to d_mu */ const MVec& offset() const {return d_offset;} /**< return a const reference to d_offset */ const MVec& sqrtrwt() const {return d_sqrtrwt;} /**< return a const reference to d_sqrtrwt */ const MVec& weights() const {return d_weights;} /**< return a const reference to d_weights */ const MVec& wtres() const {return d_wtres;} /**< return a const reference to d_wtres */ const MVec& y() const {return d_y;} /**< return a const reference to d_y */ double wrss() const {return d_wrss;} /**< return the weighted sum of squared residuals */ double updateMu(const Eigen::VectorXd&); double updateWts() {return updateWrss();} /**< update the weights. For a * glmResp this done separately from * updating the mean, because of the * iterative reweighting. */ double updateWrss(); /**< update the weighted residuals and d_wrss */ void setOffset(const Eigen::VectorXd&); /**< set a new value of the offset */ void setResp(const Eigen::VectorXd&); /**< set a new value of the response, y */ void setWeights(const Eigen::VectorXd&); /**< set a new value of the prior weights */ }; class lmerResp : public lmResp { private: int d_reml; /**< 0 for evaluating the deviance, p * for evaluating the REML criterion. */ public: lmerResp(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); double Laplace(double,double,double) const; double Laplace(double,double,double,double) const; int REML() const {return d_reml;} void setReml(int); }; class glmResp : public lmResp { protected: glmFamily d_fam; MVec d_eta, d_n; public: glmResp(Rcpp::List,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); Eigen::ArrayXd devResid() const; Eigen::ArrayXd muEta() const; Eigen::ArrayXd sqrtWrkWt() const; Eigen::ArrayXd variance() const; Eigen::ArrayXd wrkResids() const; Eigen::ArrayXd wrkResp() const; Eigen::ArrayXd wtWrkResp() const; const MVec& eta() const {return d_eta;} const MVec& n() const {return d_n;} const std::string& family() const {return d_fam.fam();} const std::string& link() const {return d_fam.lnk();} double aic() const; double Laplace(double,double,double) const; double resDev() const; double theta() const {return d_fam.theta();} //< negative binomial distribution only double updateMu(const Eigen::VectorXd&); double updateWts(); void setN(const Eigen::VectorXd&); void setTheta(const double& ntheta) {d_fam.setTheta(ntheta);} // negative binomial distribution only }; class nlsResp : public lmResp { protected: MVec d_gamma; Environment d_nlenv; Language d_nlmod; CharacterVector d_pnames; public: nlsResp(SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP,SEXP); double Laplace(double, double, double) const; double updateMu(const Eigen::VectorXd&); }; } #endif lme4/src/optimizer.h0000644000176200001440000001350213216511172014075 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // Nelder_Mead.h: NLopt's Nelder-Mead optimizer, modified to use Eigen // // Copyright (C) 2011 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_NELDER_MEAD_H #define LME4_NELDER_MEAD_H #include namespace optimizer { using Eigen::MatrixXd; using Eigen::VectorXd; using Eigen::VectorXi; typedef VectorXd::Scalar Scalar; typedef VectorXd::Index Index; class nl_stop { private: // utilities bool relstop(const Scalar& vold, const Scalar& vnew, const Scalar& reltol, const Scalar& abstol) const; Scalar sc(const Scalar& x, const Scalar& smin, const Scalar& smax) const { return smin + x * (smax - smin); } protected: const VectorXd xtol_abs; unsigned n, nevals, maxeval; Scalar minf_max, ftol_rel, ftol_abs, xtol_rel; bool force_stop; public: nl_stop(const VectorXd&); // constructor void incrEvals() {nevals++;} void resetEvals() {nevals = 0;} // setters void setFtol_rel(const Scalar& ftr) {ftol_rel = ftr;} void setFtol_abs(const Scalar& fta) {ftol_abs = fta;} void setForce_stop(const bool& stp) {force_stop = stp;} void setMinf_max(const Scalar& mm) {minf_max = mm;} void set_Maxeval(const unsigned int& mm) {maxeval = mm;} int get_Maxeval() const {return maxeval;} bool f(const Scalar& f, const Scalar& oldf) const { // convergence checking return (f <= minf_max || ftol(f, oldf)); } bool ftol(const Scalar& f, const Scalar& oldf) const { return relstop(oldf, f, ftol_rel, ftol_abs); } bool x(const VectorXd& x, const VectorXd& oldx) const; bool dx(const VectorXd& x, const VectorXd& dx) const; bool xs(const VectorXd& xs, const VectorXd& oldxs, const VectorXd& scale_min, const VectorXd& scale_max) const; bool evals() const {return maxeval > 0 && nevals > maxeval;} bool forced() const {return force_stop;} int ev() const {return nevals;} Scalar minfMax() const {return minf_max;} }; inline bool nl_stop::relstop(const Scalar& vold, const Scalar& vnew, const Scalar& reltol, const Scalar& abstol) const { int debug=0; bool result; if (std::abs(vold) == std::numeric_limits::infinity()) return false; result = std::abs(vnew - vold) < abstol || std::abs(vnew - vold) < reltol * (std::abs(vnew) + std::abs(vold)) * 0.5 || (reltol > 0 && vnew == vold); if (debug) Rcpp::Rcout << "(NM) nl_stop vnew=" << vnew << " vold=" << vold << " diff=" << std::abs(vnew-vold) << " abstol=" << abstol << " reltol=" << reltol << " scdiff=" << reltol * (std::abs(vnew) + std::abs(vold)) * 0.5 << " result=" << result << std::endl; return result; } enum nm_status {nm_active, nm_x0notfeasible, nm_nofeasible, nm_forced, nm_minf_max, nm_evals, nm_fcvg, nm_xcvg}; enum nm_stage {nm_restart, nm_postreflect, nm_postexpand, nm_postcontract}; /* heuristic "strategy" constants: */ static const double alpha = 1, beta = 0.5, gamm = 2, delta = 0.5; class Nelder_Mead { private: Scalar f_old; Index init_pos; nm_status init(const Scalar&); nm_status restart(const Scalar&); bool reflectpt(VectorXd&, const VectorXd&, const Scalar&, const VectorXd&); nm_status postreflect(const Scalar&); nm_status postexpand(const Scalar&); nm_status postcontract(const Scalar&); protected: const VectorXd d_lb; /*<< lower bounds */ const VectorXd d_ub; /*<< upper bounds */ const VectorXd d_xstep; /*<< initial step sizes */ VectorXd d_x; /*<< initial value and optimum */ Index d_ih; /**< index in d_vals of largest value */ Index d_il; /**< index in d_vals of smallest value */ Index d_n; /**< size of parameter vector */ MatrixXd d_pts; /*<< points */ VectorXd d_vals; /*<< function values */ VectorXd d_c; /*<< centroid */ VectorXd d_xcur; /*<< current x */ VectorXd d_xeval; /*<< x at which next evaluation is requested */ Scalar d_fl, d_fh, d_minf; nm_status d_stat; nm_stage d_stage; nl_stop d_stop; Index d_verb; /**< verbosity, if > 0 results are displayed every d_verb evaluations */ public: Nelder_Mead(const VectorXd&, const VectorXd&, const VectorXd&, const VectorXd&, const nl_stop&); const MatrixXd& pts() const {return d_pts;} const VectorXd& lb() const {return d_lb;} const VectorXd& ub() const {return d_ub;} const VectorXd& vals() const {return d_vals;} const VectorXd& xstep() const {return d_xstep;} const VectorXd& xeval() const {return d_xeval;} const VectorXd& xpos() const {return d_x;} Index ih() const {return d_ih;} Index il() const {return d_il;} Index evals() const {return d_stop.ev();} Scalar value() const {return d_minf;} nm_status newf(const Scalar&); void setForce_stop(const bool& stp) {d_stop.setForce_stop(stp);} void setFtol_abs(const Scalar& fta) {d_stop.setFtol_abs(fta);} void setFtol_rel(const Scalar& ftr) {d_stop.setFtol_rel(ftr);} void set_Maxeval(const unsigned int& mm) {d_stop.set_Maxeval(mm);} void set_Iprint(const int& ip) {d_verb = ip;} void setMinf_max(const Scalar& mm) {d_stop.setMinf_max(mm);} }; class Golden { protected: Scalar d_invratio, d_lower, d_upper; Eigen::Vector2d d_x, d_f; bool d_init, d_ll; public: Golden(const Scalar&, const Scalar&); void newf(const Scalar&); Scalar xeval() const {return d_x[d_ll ? 0 : 1];} Scalar value() const {return d_f[0];} Scalar xpos() const {return d_x[0];} }; } #endif // LME4_NELDER_MEAD_H lme4/src/glmFamily.cpp0000644000176200001440000004370713216511172014341 0ustar liggesusers// // glmFamily.cpp: implementation of glmFamily and related classes using Eigen // // Copyright (C) 2011-2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #include "glmFamily.h" #include #include #include using namespace Rcpp; namespace glm { /** Cumulative probability function of the complement of the Gumbel distribution * * (i.e. pgumbel(q,0.,1.,0) == 1 - pgumbel2(-q,0.,1.,0)) * * @param q the quantile at which to evaluate the cumulative probability * @param loc location parameter * @param scale scale parameter * @param lower_tail when zero evaluate the complement of the cdf * * @return Cumulative probability value or its complement, according to the value of lower_tail */ static inline double pgumbel2(const double& q, const double& loc, const double& scale, int lower_tail) { double qq = (q - loc) / scale; qq = -std::exp(qq); return lower_tail ? -expm1(qq) : std::exp(qq); } /** * density of the complement of the Gumbel distribution * * @param x numeric argument * @param loc location parameter * @param scale scale parameter * @param give_log should the logarithm of the density be returned * * @return density or its logarithm, according to the value of give_log */ static inline double dgumbel2(const double& x, const double& loc, const double& scale, int give_log) { double xx = (x - loc) / scale; xx = xx - std::exp(xx) - std::log(scale); return give_log ? xx : std::exp(xx); } //@{ Templated scalar functors used in links, inverse links, etc. template struct logN0 : public std::unary_function { const T operator()(const T& x) const {return x ? std::log(x) : T();} }; template struct safemult : public std::binary_function { const T operator()(const T& x, const T& y) const {return x ? (x*y) : T();} }; static inline ArrayXd Y_log_Y(const ArrayXd& y, const ArrayXd& mu) { // return y * (y/mu).unaryExpr(logN0()); return y * (y/mu).unaryExpr(logN0()); } static inline double Y_log_Y(const double y, const double mu) { double v=(y/mu); // BMB: could do this better if I understood templates return y * ( v ? std::log(v) : v ); } template struct Round : public std::unary_function { const T operator()(const T& x) const {return nearbyint(x);} }; template struct x1mx : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), x * (1 - x))); } }; template struct Lgamma : public std::unary_function { const T operator() (const T& x) const { return lgamma(x); } }; template struct cauchitinv : public std::unary_function { const T operator() (const T& x) const { return T(std::min(1.-std::numeric_limits::epsilon(), ::Rf_pcauchy(double(x), 0., 1., 1, 0))); } }; template struct cauchit : public std::unary_function { const T operator() (const T& x) const { return T(::Rf_qcauchy(double(x), 0., 1., 1, 0)); } }; template struct cauchitmueta : public std::unary_function { const T operator() (const T& x) const { return T(::Rf_dcauchy(double(x), 0., 1., 0)); } }; // TODO: (re)consider clamping this (and the other inverse-link functions) // * warn on active clamp? // * clamp from both sides? // * intercept problems elsewhere? // * allow toggling of clamp activity by user? // (applies to logitmueta too) template struct logitinv : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), std::min(1.-std::numeric_limits::epsilon(), Rf_plogis(double(x), 0., 1., 1, 0)))); } }; template struct logit : public std::unary_function { const T operator() (const T& x) const { return T(::Rf_qlogis(double(x), 0., 1., 1, 0)); } }; template struct logitmueta : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), Rf_dlogis(double(x), 0., 1., 0))); } }; template struct probitinv : public std::unary_function { const T operator() (const T& x) const { return T(std::min(1.-std::numeric_limits::epsilon(), ::Rf_pnorm5(double(x), 0., 1., 1, 0))); } }; template struct probit : public std::unary_function { const T operator() (const T& x) const { return T(::Rf_qnorm5(double(x), 0., 1., 1, 0)); } }; template struct probitmueta : public std::unary_function { const T operator() (const T& x) const { return T(::Rf_dnorm4(double(x), 0., 1., 0)); } }; template struct clogloginv : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), std::min(1.-std::numeric_limits::epsilon(), pgumbel2(double(x), 0., 1., 1)))); } }; template struct cloglogmueta : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), dgumbel2(double(x), 0., 1., 0))); } }; //@} template struct boundexp : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), exp(double(x)))); } }; template struct inverse : public std::unary_function { const T operator() (const T& x) const { return T(std::max(std::numeric_limits::epsilon(), pow(double(x), -1))); } }; //@{ double binomialDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { ArrayXd m((n > 1).any() ? n : wt); ArrayXd yy((m * y).unaryExpr(Round())); m = m.unaryExpr(Round()); double ans(0.); for (int i=0; i < mu.size(); ++i) ans += (m[i] <= 0. ? 0. : wt[i]/m[i]) * ::Rf_dbinom(yy[i], m[i], mu[i], true); return (-2. * ans); } const ArrayXd binomialDist::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { int debug=0; if (debug) { for (int i=0; i < mu.size(); ++i) { double r = 2. * wt[i] * (Y_log_Y(y[i], mu[i]) + Y_log_Y(1. - y[i], 1. - mu[i])); if (r!=r) { // attempt to detect `nan` (needs cross-platform testing, but should compile // everywhere whether or not it actually works) Rcpp::Rcout << "(bD) " << "nan @ pos " << i << ": y= " << y[i] << "; mu=" << mu[i] << "; wt=" << wt[i] << "; 1-y=" << 1. - y[i] << "; 1-mu=" << 1. - mu[i] << "; ylogy=" << Y_log_Y(y[i], mu[i]) << "; cylogy=" << Y_log_Y(1.-y[i], 1.-mu[i]) << std::endl; } } } return 2. * wt * (Y_log_Y(y, mu) + Y_log_Y(1. - y, 1. - mu)); } const ArrayXd binomialDist::variance(const ArrayXd& mu) const {return mu.unaryExpr(x1mx());} //@} //@{ double gammaDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { double nn(wt.sum()); double disp(dev/nn); double ans(0), invdisp(1./disp); for (int i = 0; i < mu.size(); ++i) ans += wt[i] * ::Rf_dgamma(y[i], invdisp, mu[i] * disp, true); return -2. * ans + 2.; } const ArrayXd gammaDist::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { int debug=0; if (debug) { for (int i=0; i < mu.size(); ++i) { double r; r = -2. * wt[i] * (log(y[i]/mu[i])- (y[i] - mu[i])/mu[i]); if (r!=r) { // detect 'nan' ArrayXd eta0 = mu.inverse(); Rcpp::Rcout << "(bG) " << "nan @ pos " << i << ": y= " << y[i] << "; mu=" << mu[i] << "; mu inv=" << eta0[i] << "; wt=" << wt[i] << "; y/mu=" << y[i]/mu[i] << "; log(y/mu) =" << log(y[i]/mu[i]) << std::endl; } } } // throw std::runtime_error("illegal values detected in Gamma response") return -2. * wt * ((y/mu).unaryExpr(logN0()) - (y - mu)/mu); } const ArrayXd gammaDist::variance(const ArrayXd& mu) const {return mu.square();} //@} //@{ double GaussianDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { double nn(mu.size()); return nn * (std::log(2. * M_PI * dev/nn) + 1.) + 2. - wt.log().sum(); } const ArrayXd GaussianDist::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { int debug=0; if (debug) { Rcpp::Rcout << "gaussian devResid: " << " y.max=" << y.maxCoeff() << ", y.min=" << y.minCoeff() << " mu.max=" << mu.maxCoeff() << ", mu.min=" << mu.minCoeff() << " diff.max=" << (y-mu).maxCoeff() << ", diff.min=" << (y-mu).minCoeff() << std::endl; } return wt * (y - mu).square(); } const ArrayXd GaussianDist::variance(const ArrayXd& mu) const {return ArrayXd::Ones(mu.size());} //@} //@{ double inverseGaussianDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { double wtsum(wt.sum()); return wtsum * (std::log(dev/wtsum * 2. * M_PI) + 1.) + 3. * (y.log() * wt).sum() + 2.; } const ArrayXd inverseGaussianDist::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { return wt * ((y - mu).square())/(y * mu.square()); } const ArrayXd inverseGaussianDist::variance(const ArrayXd& mu) const {return mu.cube();} //@} //@{ double negativeBinomialDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { return 2. * (wt * (y + d_theta) * (mu + d_theta).log() - y * mu.log() + (y + 1).unaryExpr(Lgamma()) - d_theta * std::log(d_theta) + lgamma(d_theta) - (d_theta + y).unaryExpr(Lgamma())).sum(); } const ArrayXd negativeBinomialDist::devResid(const ArrayXd &y, const ArrayXd &mu, const ArrayXd &wt) const { return 2. * wt * (Y_log_Y(y, mu) - (y + d_theta) * ((y + d_theta)/(mu + d_theta)).log()); } const ArrayXd negativeBinomialDist::variance(const ArrayXd &mu) const { return mu + mu.square()/d_theta; } //@} //@{ double PoissonDist::aic (const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { double ans(0.); for (int i = 0; i < mu.size(); ++i) ans += ::Rf_dpois(y[i], mu[i], true) * wt[i]; return (-2. * ans); } const ArrayXd PoissonDist::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { return 2. * wt * (y * (y/mu).unaryExpr(logN0()) - (y - mu)); } const ArrayXd PoissonDist::variance(const ArrayXd& mu) const {return mu;} //@} //@{ const ArrayXd cauchitLink::linkFun(const ArrayXd& mu) const {return mu.unaryExpr(cauchit());} const ArrayXd cauchitLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(cauchitinv());} const ArrayXd cauchitLink::muEta( const ArrayXd& eta) const {return eta.unaryExpr(cauchitmueta());} //@} //@{ const ArrayXd logLink::linkFun(const ArrayXd& mu) const {return mu.log();} const ArrayXd logLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(boundexp());} const ArrayXd logLink::muEta( const ArrayXd& eta) const {return eta.unaryExpr(boundexp());} //@} //@{ const ArrayXd logitLink::linkFun(const ArrayXd& mu) const {return mu.unaryExpr(logit());} const ArrayXd logitLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(logitinv());} const ArrayXd logitLink::muEta( const ArrayXd& eta) const {return eta.unaryExpr(logitmueta());} //@} //@{ const ArrayXd probitLink::linkFun(const ArrayXd& mu) const {return mu.unaryExpr(probit());} const ArrayXd probitLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(probitinv());} const ArrayXd probitLink::muEta( const ArrayXd& eta) const {return eta.unaryExpr(probitmueta());} //@} //@{ const ArrayXd identityLink::linkFun(const ArrayXd& mu) const {return mu;} const ArrayXd identityLink::linkInv(const ArrayXd& eta) const {return eta;} const ArrayXd identityLink::muEta( const ArrayXd& eta) const {return ArrayXd::Ones(eta.size());} //@} //@{ const ArrayXd inverseLink::linkFun(const ArrayXd& mu) const {return mu.inverse();} //const ArrayXd inverseLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(inverse());} const ArrayXd inverseLink::linkInv(const ArrayXd& eta) const {return eta.inverse();} // const ArrayXd inverseLink::muEta( const ArrayXd& eta) const {return -(eta.unaryExpr(inverse()).square());} const ArrayXd inverseLink::muEta( const ArrayXd& eta) const {return -(eta.inverse().square());} //@} //@{ // const ArrayXd cloglogLink::linkFun(const ArrayXd& mu) const {return mu.unaryExpr(cloglog());} const ArrayXd cloglogLink::linkInv(const ArrayXd& eta) const {return eta.unaryExpr(clogloginv());} const ArrayXd cloglogLink::muEta( const ArrayXd& eta) const {return eta.unaryExpr(cloglogmueta());} //@} glmDist::glmDist(Rcpp::List& ll) : d_devRes (as(ll["dev.resids"])), d_variance(as(ll["variance"])), d_aic( as(ll["aic"])), d_rho( d_aic.environment()) { } glmLink::glmLink(Rcpp::List& ll) : d_linkFun(as(ll["linkfun"])), d_linkInv(as(ll["linkinv"])), d_muEta( as(ll["mu.eta"])), d_rho( d_linkFun.environment()) { } glmFamily::glmFamily(Rcpp::List ll) : d_family( as(as(ll["family"]))), d_linknam(as(as(ll["link"]))), d_dist( new glmDist(ll)), d_link( new glmLink(ll)) { if (!ll.inherits("family")) throw std::runtime_error("glmFamily requires a list of (S3) class \"family\""); if (d_linknam == "cauchit") {delete d_link; d_link = new cauchitLink(ll);} if (d_linknam == "cloglog") {delete d_link; d_link = new cloglogLink(ll);} if (d_linknam == "identity") {delete d_link; d_link = new identityLink(ll);} if (d_linknam == "inverse") {delete d_link; d_link = new inverseLink(ll);} if (d_linknam == "log") {delete d_link; d_link = new logLink(ll);} if (d_linknam == "logit") {delete d_link; d_link = new logitLink(ll);} if (d_linknam == "probit") {delete d_link; d_link = new probitLink(ll);} if (d_family == "binomial") {delete d_dist; d_dist = new binomialDist(ll);} if (d_family == "Gamma") {delete d_dist; d_dist = new gammaDist(ll);} if (d_family == "gaussian") {delete d_dist; d_dist = new GaussianDist(ll);} if (d_family == "inverse.gaussian") {delete d_dist; d_dist = new inverseGaussianDist(ll);} if (d_family.substr(0, 18) == "Negative Binomial(") {delete d_dist; d_dist = new negativeBinomialDist(ll);} if (d_family == "poisson") {delete d_dist; d_dist = new PoissonDist(ll);} } glmFamily::~glmFamily() { delete d_dist; delete d_link; } const ArrayXd glmFamily::devResid(const ArrayXd& y, const ArrayXd& mu, const ArrayXd& wt) const { return d_dist->devResid(y, mu, wt); } double glmFamily::aic(const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { return d_dist->aic(y, n, mu, wt, dev); } const ArrayXd glmLink::linkFun(const ArrayXd& mu) const { return as(::Rf_eval(::Rf_lang2(as(d_linkFun), as(Rcpp::NumericVector(mu.data(), mu.data() + mu.size())) ), d_rho)); } const ArrayXd glmLink::linkInv(const ArrayXd& eta) const { return as(::Rf_eval(::Rf_lang2(as(d_linkInv), as(Rcpp::NumericVector(eta.data(), eta.data() + eta.size())) ), d_rho)); } const ArrayXd glmLink::muEta(const ArrayXd &eta) const { return as(::Rf_eval(::Rf_lang2(as(d_muEta), as(Rcpp::NumericVector(eta.data(), eta.data() + eta.size())) ), d_rho)); } const ArrayXd glmDist::variance(const ArrayXd &mu) const { return as(::Rf_eval(::Rf_lang2(as(d_variance), as(Rcpp::NumericVector(mu.data(), mu.data() + mu.size())) ), d_rho)); } const ArrayXd glmDist::devResid(const ArrayXd &y, const ArrayXd &mu, const ArrayXd &wt) const { int n = mu.size(); return as(::Rf_eval(::Rf_lang4(as(d_devRes), as(NumericVector(y.data(), y.data() + n)), as(NumericVector(mu.data(), mu.data() + n)), as(NumericVector(wt.data(), wt.data() + n)) ), d_rho)); } double glmDist::aic(const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { int nn = mu.size(); double ans = ::Rf_asReal(::Rf_eval(::Rf_lang6(as(d_aic), as(NumericVector(y.data(), y.data() + nn)), as(NumericVector(n.data(), n.data() + nn)), as(NumericVector(mu.data(), mu.data() + nn)), as(NumericVector(wt.data(), wt.data() + nn)), PROTECT(::Rf_ScalarReal(dev))), d_rho)); UNPROTECT(1); return ans; } negativeBinomialDist::negativeBinomialDist(Rcpp::List& ll) : glmDist(ll), d_theta(::Rf_asReal(as(d_rho[".Theta"]))) {} double glmDist::theta() const { throw std::invalid_argument("theta accessor applies only to negative binomial"); } void glmDist::setTheta(const double& theta) { throw std::invalid_argument("setTheta applies only to negative binomial"); } } lme4/src/Makevars.win0000644000176200001440000000102113216511172014163 0ustar liggesusers## -*- mode: makefile; -*- ## This assumes that we can call Rscript to ask Rcpp about its locations ## Use the R_HOME indirection to support installations of multiple R version PKG_LIBS = $(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" --vanilla -e "Rcpp:::LdFlags()") PKG_CPPFLAGS = -I. -DNDEBUG -DEIGEN_DONT_VECTORIZE ## For development define the package CPPFLAGS as #PKG_CPPFLAGS= -I. -DEIGEN_DONT_VECTORIZE ## to activate assertions in Eigen. For the purposes of R CMD check the ## assertions should be suppressed. lme4/src/mcmcsamp.h0000754000176200001440000000205113216511172013652 0ustar liggesusers// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- // // mcmcsamp.h: Markov-chain Monte Carlo sample class using Eigen // // Copyright (C) 2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #ifndef LME4_MCMCSAMP_H #define LME4_MCMCSAMP_H #include "predModule.h" #include "respModule.h" namespace lme4 { class mcmcsamp { public: typedef Eigen::ArrayXd Ar1; typedef Eigen::Map MAr1; typedef Eigen::VectorXd Vec; typedef Eigen::Map MVec; typedef Eigen::ArrayXXd Ar2; typedef Eigen::Map MAr2; typedef Eigen::MatrixXd Mat; typedef Eigen::Map MMat; protected: // lme4::merPredD *d_pred; // lme4::lmResp *d_resp; MVec d_dev; MMat d_fixef; MVec d_sigma; MMat d_ranef; public: // all the work is done in the constructor mcmcsamp(lme4::merPredD *pred, lme4::lmResp *resp, SEXP dev, SEXP fixef, SEXP sigma, SEXP ranef); }; } #endif /* LME4_GLMFAMILY_H */ lme4/src/respModule.cpp0000644000176200001440000001532413216511172014531 0ustar liggesusers// respModule.cpp: response modules using Eigen // // Copyright (C) 2011-2012 Douglas Bates, Martin Maechler and Ben Bolker // // This file is part of lme4. #include "respModule.h" #include namespace lme4 { using Eigen::ArrayXd; using Eigen::VectorXd; using Rcpp::List; using Rcpp::NumericMatrix; using Rcpp::as; using std::copy; using std::invalid_argument; typedef Eigen::Map MVec; lmResp::lmResp(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres) : d_y( as(y)), d_weights(as(weights)), d_offset( as(offset)), d_mu( as(mu)), d_sqrtXwt(as(sqrtXwt)), d_sqrtrwt(as(sqrtrwt)), d_wtres( as(wtres)) { updateWrss(); d_ldW = d_weights.array().log().sum(); } /** * Update the (conditional) mean response and weighted residuals * * @param gamma New value of the linear predictor * @return updated sum of squared, weighted residuals */ double lmResp::updateMu(const VectorXd& gamma) { if (gamma.size() != d_offset.size()) throw invalid_argument("updateMu: Size mismatch"); d_mu = d_offset + gamma; return updateWrss(); } /** * Update the wtres vector and return its sum of squares * wtres <- sqrtrwt * (y - mu) * return(wrss <- sum(wtres^2)) * * @return Updated weighted residual sum of squares */ double lmResp::updateWrss() { d_wtres = d_sqrtrwt.cwiseProduct(d_y - d_mu); d_wrss = d_wtres.squaredNorm(); return d_wrss; } /** * Set a new value of the offset. * * The values are copied into the d_offset member because that member is mapped. * @param oo New value of the offset */ void lmResp::setOffset(const VectorXd& oo) { if (oo.size() != d_offset.size()) throw invalid_argument("setOffset: Size mismatch"); d_offset = oo; // this copies the values } void lmResp::setResp(const VectorXd& yy) { if (yy.size() != d_y.size()) throw invalid_argument("setResp: Size mismatch"); d_y = yy; } void lmResp::setWeights(const VectorXd& ww) { if (ww.size() != d_weights.size()) throw invalid_argument("setWeights: Size mismatch"); d_weights = ww; d_sqrtrwt = ww.array().sqrt(); d_ldW = ww.array().log().sum(); } lmerResp::lmerResp(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres) : lmResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres), d_reml(0) { } double lmerResp::Laplace(double ldL2, double ldRX2, double sqrL) const { double lnum = std::log(2.* M_PI * (d_wrss + sqrL)); if (d_reml == 0) return ldL2 - d_ldW + d_y.size() * (1. + lnum - std::log(d_y.size())); double nmp = d_y.size() - d_reml; return ldL2 - d_ldW + ldRX2 + nmp * (1. + lnum - std::log(nmp)); } double lmerResp::Laplace(double ldL2, double ldRX2, double sqrL, double sigma_sq) const { double df = d_y.size() - d_reml; double result = df * (2.0 * M_LN_SQRT_2PI + std::log(sigma_sq)); // (2pi sigma_sq)^-df/2 result += (d_wrss + sqrL) / sigma_sq; // exp(-1/2sigma_sq x |pwrss|) result += ldL2 + (d_reml > 0 ? ldRX2 : 0.0); // det|LL'|^-1/2 and similar REML penalty result += -d_ldW; // subtract prior weights factor return result; } void lmerResp::setReml(int rr) { if (rr < 0) throw invalid_argument("setReml: negative value for REML not meaningful"); d_reml = rr; } glmResp::glmResp(List fam, SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres, SEXP eta, SEXP n) : lmResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres), d_fam(fam), d_eta(as(eta)), d_n(as(n)) { } double glmResp::aic() const { return d_fam.aic(d_y, d_n, d_mu, d_weights, resDev()); } ArrayXd glmResp::devResid() const { return d_fam.devResid(d_y, d_mu, d_weights); } ArrayXd glmResp::muEta() const { return d_fam.muEta(d_eta); } ArrayXd glmResp::variance() const { return d_fam.variance(d_mu); } ArrayXd glmResp::wrkResids() const { return (d_y - d_mu).array() / muEta(); } ArrayXd glmResp::wrkResp() const { return (d_eta - d_offset).array() + wrkResids(); } ArrayXd glmResp::wtWrkResp() const { return wrkResp() * sqrtWrkWt(); } ArrayXd glmResp::sqrtWrkWt() const { int debug=0; if (debug) Rcpp::Rcout << "(sqrtWrkWt) min muEta: " << muEta().minCoeff() << " min weights: " << d_weights.array().minCoeff() << std::endl; return muEta() * (d_weights.array() / variance()).sqrt(); } double glmResp::Laplace(double ldL2, double ldRX2, double sqrL) const { return ldL2 + sqrL + aic(); } double glmResp::resDev() const { return devResid().sum(); } double glmResp::updateMu(const VectorXd& gamma) { int debug=0; d_eta = d_offset + gamma; // lengths are checked here d_mu = d_fam.linkInv(d_eta); if (debug) Rcpp::Rcout << "updateMu: min mu:" << d_mu.minCoeff() << " max mu: " << d_mu.maxCoeff() << std::endl; return updateWrss(); } double glmResp::updateWts() { d_sqrtrwt = (d_weights.array() / variance()).sqrt(); d_sqrtXwt = muEta() * d_sqrtrwt.array(); return updateWrss(); } void glmResp::setN(const VectorXd& n) { if (n.size() != d_n.size()) throw invalid_argument("n size mismatch"); d_n = n; } nlsResp::nlsResp(SEXP y, SEXP weights, SEXP offset, SEXP mu, SEXP sqrtXwt, SEXP sqrtrwt, SEXP wtres, SEXP gamma, SEXP mm, SEXP ee, SEXP pp) : lmResp(y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres), d_gamma(as(gamma)), d_nlenv(as(ee)), d_nlmod(as(mm)), d_pnames(as(pp)) { } double nlsResp::Laplace(double ldL2, double ldRX2, double sqrL) const { double lnum = 2.* PI * (d_wrss + sqrL), n = d_y.size(); return ldL2 + n * (1 + std::log(lnum / n)); } double nlsResp::updateMu(const VectorXd& gamma) { int n = d_y.size(); if (gamma.size() != d_gamma.size()) throw invalid_argument("size mismatch in updateMu"); std::copy(gamma.data(), gamma.data() + gamma.size(), d_gamma.data()); const VectorXd lp(d_gamma + d_offset); // linear predictor const double *gg = lp.data(); for (int p = 0; p < d_pnames.size(); ++p) { std::string pn(d_pnames[p]); NumericVector pp = d_nlenv.get(pn); std::copy(gg + n * p, gg + n * (p + 1), pp.begin()); } NumericVector rr = d_nlmod.eval(SEXP(d_nlenv)); if (rr.size() != n) throw invalid_argument("dimension mismatch"); std::copy(rr.begin(), rr.end(), d_mu.data()); NumericMatrix gr = rr.attr("gradient"); std::copy(gr.begin(), gr.end(), d_sqrtXwt.data()); return updateWrss(); } } lme4/NAMESPACE0000644000176200001440000001521713215245753012347 0ustar liggesusersuseDynLib(lme4, .registration=TRUE) ## base packages importFrom("graphics", par, plot) importFrom("grid", gpar, viewport) importFrom("splines", backSpline, interpSpline, periodicSpline) importFrom("methods", as, getDataPart, is, new, rbind2, show, slot, slotNames) importFrom("stats", AIC, BIC, anova, approx, approxfun, as.formula, asOneSidedFormula, ave, coef, confint, delete.response, deviance, df.residual, dnorm, drop.scope, drop1, extractAIC, family, fitted, formula, gaussian, getCall, glm, hatvalues, lm, logLik, model.extract, model.frame, model.matrix, model.offset, model.response, model.weights, na.exclude, na.omit, na.pass, napredict, naresid, nlminb, nobs, optimize, pchisq, pnorm, poisson, ppoints, predict, printCoefmat, profile, pt, qchisq, qnorm, qqnorm, qt, quantile, rbinom, reformulate, reorder, resid, residuals, rgamma, rnbinom, rnorm, rpois, runif, sd, setNames, simulate, symnum, terms, terms.formula, update, update.formula, var, vcov, weights) importFrom("utils", flush.console, packageVersion, stack, str) ## Recommended packages importFrom("lattice", bwplot, current.panel.limits, densityplot, dotplot, histogram, llines,lpoints,lsegments,ltext, panel.abline,panel.axis,panel.bwplot,panel.grid,panel.histogram, panel.lines, panel.number, panel.points, panel.segments, panel.xyplot, prepanel.qqmathline, panel.qqmathline, panel.qqmath, qqmath, splom, strip.custom, strip.default, trellis.par.get, xyplot) importFrom("MASS", negative.binomial, theta.ml) ## generics we provide methods for and re-export: importFrom("nlme", fixef,ranef, VarCorr, getGroups) importFrom("Matrix", drop0, rankMatrix, sparseMatrix, cBind,rBind, forceSymmetric, fac2sparse, KhatriRao, Diagonal) importClassesFrom("Matrix", corMatrix, dgCMatrix, dpoMatrix, dCHMsimpl) ## methods incl. S4 generics: importMethodsFrom("Matrix", coerce, cov2cor, "%*%", crossprod,tcrossprod, t, diag, chol2inv, solve, colSums,rowSums) ## other CRAN packages: importFrom("minqa", bobyqa) importFrom("nloptr", nloptr) ## Re-Exports : export(negative.binomial) ## currently needed for some eval()ing methods for glmer.nb() objects ## Our Exports: export(bootMer) export(checkConv) export(devcomp) export(dummy) export(factorize) ## needed for qqmath??? export(expandDoubleVerts) export(findbars) export(fixef) ## export(fortify) export(getL) export(getME) export(GHrule) export(glFormula) export(glmer.nb) export(glmer) export(glmerLaplaceHandle) export(glmFamily) export(glmResp) export(golden) export(GQdk) export(GQN) export(isLMM, isGLMM, isNLMM) export(isNested) export(isREML) export(lFormula) export(lmer) export(lmerControl, glmerControl, nlmerControl, .makeCC) export(lmerResp) export(lmList) export(lmResp) export(logProf) export(varianceProf) export(mlist2vec) export(vec2mlist) export(vec2STlist) export(sdcor2cov) export(cov2sdcor) export(Vv_to_Cv, Sv_to_Cv, Cv_to_Vv, Cv_to_Sv) export(merPredD) export(mkGlmerDevfun) export(mkLmerDevfun) export(mkMerMod) export(mkRespMod) export(mkReTrms) export(mkVarCorr) export(mkParsTemplate) export(mkDataTemplate) export(Nelder_Mead) export(NelderMead) export(ngrps) export(nlformula) export(nlmer) export(nloptwrap) export(nlsResp) export(nobars) export(optimizeGlmer) export(optimizeLmer) export(ranef) export(refit) export(refitML) export(rePos) export(REMLcrit) if(getRversion() >= "3.3.0") { importFrom("stats", sigma) } else { export(sigma) } export(.simulateFun) export(subbars) export(updateGlmerDevfun) export(VarCorr) export(varianceProf) ## print() and print.summary() utilities -- other [NG]LMM packages can import export(.prt.VC, .prt.aictab, .prt.call, .prt.family, .prt.grps, .prt.methTit, .prt.resids, .prt.warn, formatVC, llikAIC, methTitle) ## export(tnames) ##------ Our S4 Classes ------------------------ exportClasses(glmerMod, lmerMod, nlmerMod, merMod) exportClasses(lmList4) ##------ Our S4 Generics / Methods -------------- exportMethods(getL) exportMethods(show) ##------ Our S3 Methods ------------------------- S3method(anova,merMod) S3method(as.data.frame,boot) S3method(as.data.frame,thpr) S3method(as.data.frame,ranef.mer) S3method(as.data.frame,VarCorr.merMod) S3method(as.function,merMod) S3method(coef,lmList4) S3method(coef,merMod) S3method(confint,lmList4) S3method(confint,merMod)# but don't hide: export(confint.merMod) S3method(confint,thpr) S3method(densityplot,thpr) S3method(deviance,merMod) S3method(df.residual,merMod) ## S3method(dim,merMod) ??? S3method(dotplot,coef.mer) S3method(dotplot,ranef.mer) ## helpful to allow direct access for glmmTMB export(dotplot.ranef.mer) S3method(drop1,merMod) S3method(extractAIC,merMod) S3method(family,glmResp) S3method(family,lmResp) S3method(family,merMod) S3method(family,nlsResp) S3method(fitted,merMod) S3method(fixef,merMod) S3method(formula,lmList4) S3method(formula,merMod) ## S3method(fortify,merMod)# but don't hide: export(fortify.merMod) S3method(getME, merMod) S3method(hatvalues,merMod) S3method(isGLMM,merMod) S3method(isLMM,merMod) S3method(isNLMM,merMod) S3method(isREML,merMod) S3method(log,thpr) S3method(logLik,merMod) S3method(model.frame,merMod) S3method(model.matrix,merMod) S3method(ngrps,factor) S3method(ngrps,merMod) S3method(nobs,merMod) S3method(plot,coef.mer) S3method(plot,lmList4.confint) S3method(plot,merMod) S3method(plot,ranef.mer) S3method(predict,merMod) S3method(print,merMod) S3method(print,ranef.mer) S3method(print,summary.merMod) S3method(print,VarCorr.merMod) S3method(profile,merMod) S3method(qqmath,merMod) S3method(qqmath,ranef.mer) S3method(ranef,merMod) S3method(refit,merMod) S3method(refitML,merMod) S3method(residuals,glmResp) S3method(residuals,lmResp) S3method(residuals,merMod) S3method(sigma,merMod) S3method(simulate,merMod) S3method(simulate,formula) S3method(splom,thpr) S3method(summary,merMod) S3method(summary,summary.merMod) S3method(terms,merMod) S3method(update,lmList4) S3method(update,merMod) S3method(VarCorr,merMod) S3method(vcov,merMod)# but do not hide: export(vcov.merMod) S3method(vcov,summary.merMod) S3method(weights,merMod) S3method(xyplot,thpr) S3method(sigma,lmList4) ## Re-using S3 methods from nlme (for 'lmList') as methods for our 'lmList4': S3method(fitted,lmList4) S3method(fixef,lmList4) S3method(logLik,lmList4) S3method(pairs,lmList4) S3method(plot,lmList4) S3method(predict,lmList4) S3method(qqnorm,lmList4) S3method(ranef,lmList4) S3method(residuals,lmList4) S3method(summary,lmList4) ## Auxiliaries: S3method(getGroups,lmList4) lme4/data/0000755000176200001440000000000012565075351012035 5ustar liggesuserslme4/data/cake.rda0000754000176200001440000000133512051752003013416 0ustar liggesusersXr@^OX 'RP,-Hc>W4iEiˤ>3|'9ehger9ۓN$'"IIS$$ HIR:%VaK҄&d4aIhBVr w5aEV5\-Q%]IvJh#OK9" V{7bu"uZMGu'd\&c7yԸfb>a {M k\>(K2FoFo7 #&LF ƴNwafY0-] #L{*ђؑKtCoXc$!|R@e6PpуdE @-M`Cn bc:/;w37Go=<(f"C\A )f5lxK϶\詄.[3 {/@gvKౙ_>dž4mbWG)ۧO72%M^Fߥ.}dxlcIϦ/l82s*RaE\rߗ6F|I }b?L:'y>^d+ժ$>l}emlяGNO-N{kߦ֋;g1M=#xc;9ٶ1qaoCɠU$ۂ@8!>2l>r}Ĉ!Ôʼn_3=C GGKR))eD'c2P$3UWIqJ}-5T&Ϙ cS&9/c9ְm23&7p}8n>4M!{7 3Lc9C4R֎ Ho1A61y4x!W՘O-}EmEEnsr'j#N dzD$sKUs[$ ݓ9TUcrl45hzkcxLoeNvq3)bWοD}0ZZ')/-Mɵ1tV^ nLKdH]}/Wt)x[wNӵ+,0_: ЭX2`ks X6 [Ss>)E&* G*m (w^tV@3yI>|D00:Ka(O1 y09\y"V@xtB%[vt?'^=<`}_M(n~DJ>cDjqم)9Ȱ fq4by8p kç\,=`rQRJ_Tn2PNPN/` `'kKkX(y\$#_;ٌ쳥zFbb9)z[}0FK4!}Ycn{\7"|";3;\`}TKV sOh1$+&]h_T=3=@ޜ\/}/C/FC  C/vmtcl>.Qd<:"[R[J_; v%12>!Ko%4\:G*_i nP$)w!DYĞz$P} J֍CJD];Iy\{> hrM 7w_u= {Hbc]en~oϳ,rJO!yDo 8c(};W~>i.̓Pr8" }5DjQ˧z;=|zץ/NV{II|#A@B{:&`y]C6}zw>熐}}v<7#dc'/$@B4C2!I%qw?3a($It =K2 #g }8Xw83ܒ>{Hޫ}GZ f;i]sVߒ U:YI꭯FHcMP u/uuܶNCGۦcXtL|a! U?ngʕ>^69]GB7j<Il튽+Qa5?T$ާgy !^6~}]yuK^_= MoB(Wlo7i|KjOG_]=]5NL+:) /:o׎0TCyK[ִn1z*h?Q3_  U~Ҭu.Sx,^5GOTU؀'\utCλڑ0С)MМg#0,/ײY_Gem @d~>vopYGS:MM:{VGu4+/)? ׺XyZ+k|1S}wK n#>M|x6C2cۀOi6ѼzPG<>yy^|}zvkȷC t%|𞚮¼ #O{r^퇠e̽5Q߁ <p_o}~[W?M@,7 ˳hTeTտ s05:FLƣt脺o{<} ]$Іdv<NNq7?9 oO&ǎ]gp2,P I[÷I%g?o7jE}?1Qlme4/data/InstEval.rda0000754000176200001440000040770312051752003014251 0ustar liggesusersBZh91AY&SYѤ"&?xP! (Pm@ ld$ж6,mm$k1*ւZbAJ- iEcm)0[e) ղd5IkB5љAhTٰؑM j5If*ж-%ZmuJ ueYdiMClUePJklŬ 62-b6Z ժHYDvZيmZūk+Erk4Y̶e@D(Zf"X6M*d0V͘[+L(5(i! [2ZPƛ(RBH(PT.2@HR P@(@QDELM4`#BfL#F@&&DmCA7CHƈƃF4ʠToU*?3Pi4b4ѡɀ#L!ai"&FC d`bTT2Ꟃb)b {Bia='SCFM4<6hb#GLGM%4!hѡ0C4I~F~##T'mOMO)!#=Oj6)CSF'T UJ?UU@ h4ѧxS0D?oTRT4d14l`@z?Tb dhߪ@F@@e2d;"TȽb) L@R BTPHB9a%B( R$ZȡRBT! HLB@`T1$c%BIX,BTdbT  *IR@TTbAH $BH(%I&0 @+ E(@Z1JI\d +1$& b*Hb&2l )$ LB#21$ E(B5RB TTc Lk,dYT Y XT!ALH J`$r`LH \d!rVA@ b1 Qd+$ BT%@%H(cH .R+*md,1*2I,*Bc E !c!*B@$ H%@@Y BLa12%`bE@a °RTRJ[i2I@1*H&2*b(IRf2b@XFLI ȠbH2)&2@%`JI`(b!1CpBJf!SP a1b,1T+P VI2J̴PR)&&2Lf$*Ɉc"JYIPE &1Hc2TʁLf$T *A` $Rq[ +$ c b³IY đ`C & bLJLI cc eBLH¸dHV&2d%a+E$*Xd@I ȡ,0Ơ(T2b @1TJ$ d+ T$&$$d1 H, P1!'p/E+۪^$@=%Vr/cޟ]_EU]R gREdE!X rr1!Y J+VLIRc B)[`Z&$1$Vc (ed G,T$g$yu>`&w=:XmbxTr[`R;a?%X\ K˶nM:mʳyxH+}'vXxN΍gH,2k}~\j# -"\RR[3|X}efh]\e{KY&~_ Zz{OMEMsnv_::/~(J%J"eWJ$czc0s/f9Ԓ{]H:}F}8SOIt|q!7Q=ǼR2^A>G='q'׃.=G]]Kq:{}Nu/#GztG>G9ԾK|FGtqt̎.]Hq>3q/n.$ÇOIu:9ԺsuȕuoΣuĽ˩^|8>Hϣt̎:|$Hu:ot}}`'I|Kqu$ΡK%ԗ0q O9]KӯIO#u'\9Ԏ%N{::rI#D7đ%{O=/g0q.q:c闸#uԾ\z87qu8=N9ӝ:θq:pSON^$sÝ8s:uqu.t>=˧OI{>@$׷>^u ]I{gӉ{G:q{.]Hpt˩u##Ϲ=R8Ďtg\>}<8%Ժq}Nu>K= 9Ӟq:8Q\^䓮:d:=::t>#XtθQ=$z%n!t{%KG%.q9$K| q|sێNt.s9Խ 7̎{q%ӝK:Oz|8{7O~q87Rt=$|dLq'O~u#.'LsGu0˨%ӝKۉ%ԓGΧ\N]Itq qq3G{z|=#uC'\H$7Ntק$|1n#uľz]I2_pI8|N>:>~.d=g$}8tGt'^㎸Ν={3/=9Iu=I Ã{: u'G|o:tӮ!\9Ӌٺupuu]9:2uGrN=$Op=/r]9N.KXY^}8q#:ˣ.=YeYyQ$H/kǶD ]onˏ;C ץ?;whi$$k.[V._C+į7BN'-^U^E͋ȣQյ'EjEkءl*}*Ҳ:;˷ 2k>FYkiljҼçeKX둷AHoY͹5-g^!5 C}BEbRϋZЯyyKZ 'byqYcȎl:}ob 0驋OgjLCs'znMg҆-ͽ|#T&HOHb%uy_yuΐjk{lSus=G7ITF5wB5_kg$8\Oǣ:ڮ?q6 f+F:vś?jӒOKT[ՊڋCnWSu'Yagyy1u:Э(ӷ?ͧJ;ța&Gjtfϯk36oowѵ>̢̛y^u[Vȹ'7R۽gvD/<uCэ9{q{&lˋ^..R@d{ ɢ˽Ko)ݝX%.cϓw^F%[J͓{E{ZKVnsqlOĝ7 }ß^T;T߭X`5K:+vO= 5^ xUE [0 &*tα̩ ֈi82ٲ`kO3U4IΒtbJ,:yzp1S翁y G/)o0+o!=\0CɩDVL([[ѱ|+qMu~yð4߶ nAB7)q ϻoZC#N}OZ2ncIȀaO;n j"@:7,9:OT}V@أEߚ ϳЖao\zGԨ{P3R/o+N!w0m[1JM0{$?`D1SVK.Z$k7D(ZUA}5]'Q^T ؎=(u,~`@b]qmP2[*`wQM紗q[uJmmݾUG7vϋyG{^4χ1C8>Cِd8HpEXN FAvw}nf_oֿ mmqlI'un FiÂV{:fij\A1 GNn4ėc&btZYw^ju*خUqB[yfm)6#:}KV1^b&݅m{IMDXSfq0B^d)Ԍ(Yj y߉H {n?e2ڈmgдxh[;?F%Ğ;w l2Nc9C '9= $ds'$s2Xĸ[V6.LYٽj5*QY qkr0jCv;Z2"[:3+]6nU~4T*H,GJ+];Ocb%/ƾYԓfko}݂ 3L}\cLbOI ^0jcSjŏ;iM΋gs_^\.F;m)ty_a5}Y'T\p'0Nkt.p_J]\, A_fsSt? ]JRkJ*?#OZ~GF?KQNH@ !#CLH[uj]d2Ҧh[J0R0p-],$ ߓښ04zNξ@@Vs_ ^1qwtTfABK/y'߂"/E/Q CU~ >%qO~W;EI=QbՏrۢF*zo I% @ AdyD6*aOV-vRjk/bZm.,C&"DYۗpgq;i3Ad}9+UmzQ@D 7ﻺݠ^y .i ,=CK i$X{_d Bg }M!AokEky'XJ7ԄpFctԙc')PBSbd ˲gS"g,´nUp Jp\LUerSh/|v$%U"KQ;-ܒHwx4GɡRQU6wy/«'`c'h,?7t[.iKcgK Zщ[)Aeh!ʛ>٭nsO͹c`u R '3s0䏎n ]_kj^92(6xveƊ x)4CؤE!HvlMrt>S ;.^0{L&5bJq˵dGJsnvW{,܇\M woxkAƓݹ+TfYũ~WkerKqָw QV|7(:-zsB¤ =_S1 2'ၾeHzPE D$!_ai>T=M7 ==r>ޞ|=s*^GyLspo{j:uA#FdtC/=kCǧ@QEL s9E `arn$Pt&F}GEߠA:7tE$)@>NJ2|u{ >QQDNLċ_DEG\c>ޮ$'wbUڥeeS9ڠ^i2UL%Ms9I_+ԣ+-6pp09>2$FUk.倴-wVjCddZ@CuXB:5IS!~h室=Eg) "?C>1m0=ZMаGx]hCOnC=m4!&|"s.bxZ86^uwoR@}$Qpbn@$RC]<`cTIr?pAZxzϙTZ`㶹iQ8&IB@EIJv((d)J4!E]&}2u5MYP;N#kva-tZwn9 b}$"ph.^w@\Cu*%2`jr}Ƣ;+&%b[C!DmE^97^ԙ\V{7MSLt4Xmim')! r5y#38E& edOCsJg'`7Kc.j~4{x̔C)6&!5I&߮r;KNK`J$A{py c,.h ⵓC(bݯ׀9P=R7 WNꃝ ~ 8M@l/1Z i NQK Y2Hp9qP>u˷3iZ;po^:ͳ %e˺:x HU\ _+_‡gӡ'8p~fkE$\aAjL-OtvOc/-&K1Z?.sԜ"ۇ.)J؝H(N$]TY8H6[y ur:/8]pr/3CY@ H$7mˠYNX"=򒥣_3]uxtv68H a'|I+-N_3Ng`*H:ϟ57][EϕsLj2Cc')Ne p9Wz@f߹Yy0- jQ[/"1_ qgey$3Q8C !Bw@V1:(vX1E 5 ,Y7tp$tV>ٖä&ܼ5f~Iu[lXo=鼇72S[1x#l8S#o;Abw٦!kPFei:;&>1V2neDGmgk0:M42etgm<i7LYLpGDʹvwN$Ne9Mhf>ɥ0Df9Xı,@PTV TSe%T]-Ue(WF'M5a(K5W~a!m3''$$*w/vmēyTQ_ iH5No~_ÓDwKCwBFgVi 4ߟ$<)tU`{9hrQ@b;^I; j($dK`;@Ll]#1%=w$; ޏ"q9 -  M7ٲdK Ty'򽯳U=(fd1gGdc_A+qH#F 1g@ĘO%CDbxlBT($)$3;/9[JWvۛ6/Ol%x`q*ݍ{q^AQaA8E srz Bzc 4R)DЉM/coA]. dQ`L萇z1Hq7%ndS9r{0HM;MCl:\2 1zMр)Ø,$"}aI}4x 9%[`H2Wdm""mq a{|_]0 ٫ajn{ j&2kd TxۦALُhz3?)8\5E fF}yΰ]{xB.*pR̈tI&6QI#9 EŠeD0kx2͂ˆ0#G9|#LKYݎMMwȢQPds2:,E(Rj y+ %sD ua"J)GP,T)\q.tg'Aw٥%Cb,e35E3ZVc*W_rׇhU˜!8Xs 6h$u7_:"P"2sΏ?p~6߄ iynہ;N|*6E S²ES3%k;$_M ^dD;a[/xt"' 87#s |+Y&6P4{TCLDQkb2TF9נ@P=dH_Lot0x)^ DH٧C`A>?&{EUeHi*~lCy;*mdh&hˏapĻWRt80a@9gI}rO0UEOd9\1f\r?bjr ;"bC1b&L>"vy F^63/081 ô7lm9vRNׄZ~QY;N#6Ɩ>%6hr8ڏ ?ikM&=c̈́@H ;Lܙå7}$d`I!Y.g&ՂT6vnYgud.-]vN@` wG2VE"!k!=V@A)@~jE@S%AH"gο;P}.o;Χ.V,mJ-VC3L01ЙUrԤ"fMR-dl6}][8*Yk X ,Ő$YfHvvD4J,?Ђj:ݳcpC{%^'k5m+mw2u"* dc&*ez{~/<r _C}ܫ_Ovt*6VWQEJwuΧ WgXŲ@޺Qv|ϫCm L*~ 1e.$;sRIXn]9TE3f^=K%mSs` <(u~òszl!q]46bPRM*wkS:52(](`}c: w%d'0{4#kRđΰH@6f6H >t[.ŋŸ}5[?b&v]km")CQ26uO)HS` |5_y"#i{G` 5~>~pDIXBC/ {t5":4E v2gutOSV_=i~$P1AtYFi)]/oh~;dl&|!z OwqFdIV96EӽOYUyٻw7c[7/95)r9&7'SX9 [~#y|FI+Wb >#GgR廌A'# i)( &I)+ZTCnLft((pJV~:47@G۶ͨ$qQ "UST6$&Aa>ħ]zzy=UpY"WZЀ6AP 3!1 /^p7a"7Xwj_~_+w馌!r8 `0-|?9P@2:J1S^{mmn`v$x"FdB=#E d`0v493GM;ώꧬ)` AHCaH" 0P`*O~wZx"?>m3wٽxݧVx*(*5D(P 4߳N609S5E9hoY4```r?&ad.߹۷{$'`dZV=ź2,Fau@rµm*bI?.|ʲ;J9_ek|Ӯ|ɔD]Dgh2PGmH$zzd K/ [pqTCкZY6!۸pP!H͒!4^J{@E0~PD\ \g(db[ˆi*E '&PْjE[%5d=d.Ң0氨ABEyoN;o Ww'd&qa2k,Mkܠ$cAb:OYJ _ϷU|h|Cǎ?yH>h/ LQ;Se^u,ړC*}FZ|n@ ŋ%M:xO OYE\c l>!It@d"2b154,Q8Lns]begm!'P8%Ax;eM {[8[$`~uߞ#ѥkrZ"3!8ȨPȊ|$fz7$ H%>fY_.A^&QsGp#)Ki!i7 0-"@Ը)[@iI9"$}6PH!v'$~ހ$݌`OrD݄>P*"/ $4>?Zqշ8ĊmfF:cu{1u }7m. =|kQѧMJ}z4}U?v*Qsv~ a/G1H@`Q1ton Y?#*GrH,@RYPlmFr~{` #Lh{C+\5t'\kB|[sKD69_[?]pmGv 'ojx"O+((t:I= 4h XoCjl 0`n6 'J]8eɶӦVh/GzHۤoo㰼+~Dwn*FU`)!D0g#d2Mj-LB*@.z6[KO-7n,YHCB?QTe $j/ &{*s#|q;zGxGXղ"uWHp'TT e;>y<۟4+?/o^B=j"D mv`-tbnjh1M$\w/^{g+f`sr ЄpL%@QQUyǡf=)7Dz~$  lğ‹:6#, Р-\ovܺn^BsbXk jJ3=ЄY SR'|7M=kt7gd9rEs{Q؏WKsqxuWMon&bH\EcJDwRL0 g xmA";q`Į|m0BP! 4H|E !bȱ~~C{fmTv =WXpiR+2#< (Fv)"؍aHT!;пM1K +Rʰ$iK|m!$f_AF3 #C[^*_DL'|Nڎd2m_pSXn.RX9|EƲ{ nvڇGh 6s t=+>(8RF"rn e`F&QvT)$5TtY uJ) #`^PRˆ`b5Ztg:=ItD.3Pk/d~Dl mk+_C"#IK IA@{eoGlOfT7QGOƚgdؿ(4"ї'mzCgϰE,8L/aNU'/k != F" PD_9!\0A= Pt:N|m4^ &Ow$^0"áM}gGA'3puQV(Mid&8</3lPj#I(N4 ˧J[*LLY7r6vAĿ̔,ܝEn(Ňk <h{ː/H4r9|WwI>18^tӻ@'* (Q4= d 4Q YPQF\(ty9-*HÕZ-Og"86txB馿ڷQtdVEȚ6I^=@漢>c?'pVho5ed Vt2ņl3 VIx#]!r)tP㰹BK mSe$,.xEvZ&E4p:j#uGAC[4 VK_;8;"Xz"{E*.$FI'SZGX׫uߥ{P0 PњȫRS˵ʼP ZBϊ͚p<N0Q`|E$ )s? xՒ(YE3-\H;o19NG]nh2 `KB+馜|ն\$ِ rnb>nф9nϢceJX5<n,\a(VJIɦXt(4LA4Ѵ_X)}eaP]Jҍ#K6Ƙ:=&cK\ȣP Ur5:THZj@Fz8w}T)n,"3)wM#V@Eܣ]A);N? yk.e=)i0@ۇ)=e('ːpN r^Ӝzl֡a[jw {3 {Ȑ(Cdnq1i XS%"i) @,>ف'C@ 0|{.;? nHsMd:9fwf&^GՐL9Of.u -)YIO#`v$ƯwHkRw'u?^~ ㌹ zDLԘR7?@QDA }i'=O0< ~J g vng *PLDhƙ"9񟣻C0+H ;r S`f!)?t-9;H w7\svğ}ڢQGs6`eDIKy_4j n_K =J8㊏D8YVzHL>V>R /|5SdmJ' 0P|D&D _IrƚZU-Nd4xtܸѧIW7, t)Ztj[% B3UܭgCi7BAe5qJ,D%>Ul5-y~&W?I!9c=$3X$4?P2X!E9 jLF.~w\㿴& xJ 7T1e\;%o"ꚘpEz֢:2I&Q O t`%#i1)GNkqB<9#8-r(9u-\زe-C`?RЊ/!mFamPV 8>1g9`)\dI$Q8E1PσId"wl7iS`SrQf?7wIIeV`:\ rWA3@Q AUtƵ&lKCbD@[r/\Z! [6Q$'sw:HlƆpdM*j`)&(稾 n4(/9Z־|x k??>j%$ЀWwO vYc#VؐA@Y#p -mt"/VK >A~w'yvn5l6MZ"L'KF˗S'o_ 6sv/@YJX$Ġܶc̋^¢hI*W >Oaek nLE|<܄!'>O_|нΊ>XRQ!ʈ.5zvI iLc<;W(Eb`_ `8muo'P8Bb^iXp2˯9[7k̝t}'{I 0 <"z9"+3 r1}'= wV}rȐ5D<dd`6aؠCIB3(`$""רvZb|:97!!Ş֩OhbitJ(W=½R"EW,4U z 87NB~.]f̫K@P;H'N3 !7:7f!Ⲋuc}v~&9.N1:MyAI!tPRhbZ! C`N]Ujir9XJڃ` FE;[4pٳYnЙ-6HviJJ.w~'/w*?!:sՓ,ObQ;S&V&~=Kӡ]զd&UPl=QK $lT Cwv1"Pz@{Ew؈5ʷp iz@ĚbՅ( hQ<\ kjh/ŹxsZћvWIt4sS@S66(BoV7>HFk~GoϿBm(W-tOAJWO5rHzlݯdusO@@8!A*|J8vb'#Q|f61+w[m!?w:r4갹SMhҢmmܓfwexЃgހ#9ka̱읛 d;~rwĚ.,s$rRq,;?! ;x)M??:=.A="KkMw9?7 ( 䲑Y2>/aRoUY;p"ҋg/*FfEQ`Mm#0k|O"D $}tI"z(t|{]enX\z s$#M"&W<WCȞנvLIm@'.`,p+Ԩ:[D'ydN} Ob;3۶} bஜ8nx{fQ@P\]xwtIZ{B֠=qIewտse}ezLG'.Mr5S<7#? O)cHZn_ʔhy Ʌx(pD  U؝ }iXwdS2;90{lnz3""v n (G3*JL5;YI0 |B}ievPd4&- !EAIɣNo ;1mY'2"<2N>oA '*D`>BbsDc\<ibOAR.Q{2@@n?5 ~;#e7ē5o ~*>4]yGO$^2UwjK_}u;[O}w7<\-xbPdq=QCR{=Jh璚BR4U[k'K]b$LPI;OWan/yͅIE*r ^6]=@9N_, ʟbrE3. = TR|L$kD{^]9X$hᏘljA .64E Ѿ-Pxw $CbQFJM`-'k^mnvt@æ!m!tG =fDK=~7nFƕiNdw-1rVWYӻ|Ŝ"fC$Z9ϾZ 7è5*iJA؄.MYD_|ijVCAsCws~Xx_ wrAau;El=a] +/BOH:ԓpWp[B Wj#q:0Mg_swl)۹eez yj! v$PDتFϼ;-Z12 ґ``2D'IN,#܃,/^92 Hh_&Gy~&UI> bwC? r gg:<)u\O6db/s^^~ϝ`w{H8hUPFA,e]E# " 3V}"Gl05ޥʘ >*xy \E.\ol?qg ("nЭ'n;9`%.BpPgo=+$s U8[1:ƀ3QA8f&w^$Poi`GoHnbYH@խEKf)K5C更}_+o$^^5~Jp{䡜ص])dǡb[_n+FQ{Kie%e|h$jkٷvY&wUd l۫P~7/cSDX>=Owc/E m*QHgcdDI<ܖ>2H0ib#tw!2 <ě>.C@햷i<b?DX2nP'>O̯k/szB *b5* v,2955{?BTJ%Rտ˅7WSfrP$ȌD e6HՓ'oWN~@h3}#\Z~nesp==Z) ՄH9u`cN2~蠀HeI}oPRjJCwz6%ssxyjNBuvv EAG)`.{kGҵqs-ڈKeQT:mDIH_OhJΈI@",&&RuEP$6 ڐR@U3^*0T$4H C [i? W<$ 0RCjy<~}ZFư>~6{;B k`k+{1=F? .[gL~  &NO@k ݆׿Xa%So N8NI^xn q YDuB,X,nD` !ý<+JsEy6r9@+;R_ \{N[\<83!:bFf^l/^˝B_G}/j[ zLm[Mc]ٔoe; Xd.boR:siMLi 2H?8dZ~]Ǽ`"KG̊^7]!u}FZȗ"}Z9ߖs+4ti]4kpFv/in͐\aZġE^FՏY#"hg%NT@Y" grd/7llaW{ DZv?k?@.7k|M>H6S1+-'sç \E٠ LppECOOj}bP_zֳ"zFx& ]JB~N\A@$P]\!bg?̜_@ml{:/,P]IL;NkkCruVg8qOA;:pn_ @8&#J;s/jtiQ9sֻr-|)Obtwl){]6va $^3yMuutw!i{[3/eAa=`bD-3$0h /9 pe<0a˗F u- knws~"iW+Fؾor9j(G&-H h Pv˃\ P>;AH(ģH%2}JMn C9P2"A!DhEVڦEyHU9lB(lI*x d,98LL`aa7s!3GS^bԑ< ϯ/HDWPPOkQ%h*I4LفnU?~:O >@e4`Q^ٙ{Hr#p:ݖ<$ Usdq7* YX(s?2S߹ L2z]_ ;nTC5PO"dZ^ރ#L!C|Gk>wi? $I֩a| l:)mIC ۦs>_yy̯Zr2݈ tˢ{QH%tn)5:_ ԇ)E<#o{~~ŀ6dR "UMNPs9 Us1oRc $K{E|,YA xe>'D |wp.BR\TUOï>6QWY@/ ÜЏFAC&? .lMo ?eaR{t/w$vAM=^V10w ֵr79 mC 1d*~;ͿHs0Y"齛Zyd$p\ld#(0P ߘI#mp;{t3ԟrPgGHF#'! LdO 9$߳#~f6(1ik4vÇygD ڮgT bRyjw)&,9§Imǃ/BݳmVm|d׼9pT}(jQv ڰUUyhoOȉP 6 x`%ْȄ]N͜-=VI?\ᡬw :|8HAeltbKZ;WE69,|bf#SU;H,N-stCd-%]h.B$@)ۃ~06{Q\7j ä %a(EDmsŹ,Dv(C#BǼ~}FTIA|bTȡi7ZDV5T 4Cj_M9;5a7$~nÝdWr\ֲL'H+\F x>#o'K^Q(676хҜՏfH9Do ǵ (Z~Fǔ$:Lo y_LW5uhb~ɦ@(=^?xQ*,?cV;?WMa^%OW8 ZAixdh#Oԝh#^I7$"}r d#5NOɈ$\[r"F +YzˁXc]Lhkl묆󞍒C JJ)tِo6ʽ_&)s}LJ!.I"R;,OBF tSQD(hn&:Pԧ1k Y2w P9솢lI?z^0 fv9HzJ"(9_Bݘ_Y$ p!HH3B"F'Dܠ1Q` I =I}gCa FY@H؁SۺpQ<O;5Y"9Cq"Oi/G9eyBx XGSO7{G#'{ߊ<>Jo*(°gK|լ{l*ID$ Opaj Sn7!M.i[n?儓rdf{wśb~D'gHʜȨ"=FBgy&(F702fY G:Y0QV(M~{%4/ٍjT7Z{ICo~sL͋'ǩ rGh w艟yK@A${mv.W5\a3mlw[: })"i]P;X̱műX 1|?t] Uh'y]N94S|uٸ澟~X;p4 $==B:xw;^]$yAUE ~jkEljŃI$S/{|)L-.?j7Ng !8iVtŧdZ }Ydqwe+e\9LikMjzn8gP݁1If.6m{41ӣd35Y.fh %S9Faj&[A- @ | _&'xi:PGRJ&bWquDOzPuӵtĢ1E 5EAE\'A\p{Vo@To+ 2,:;Tk*K:1CM H5[N({$OxRkR $Yh9 <@$2]EcE/s߳:uYxgd{Jʬ/_GK71>bg**,,„vQu= E!)IXTJ/QT9d0` Eׂ/|*9?ʟF59dpfBuy@CFwm SOBBn(_ cqGn^ߊv IL,V(:_)rkk ފkxY7ЉNd/2 yL?[CGZ#d{ Rį:(tf6'TdMSy7}RC;pQ&9dkV 0!lԇ'9_U@=ͺ3mj^6 W~k(۲[ @}I;/ u:[43>N5@۽6#Ie2 Pe@$A9)=SXptL T`&o~mI=A7]f.q D'ꓝ'L9$ "1M]ߋ 30hq Cf)d9ey9 㕛o@cɺw-X17_!aC܃[|3]Es* ynwqL6 3Ea e_$ cHnXP8'Ԝ˫ӂ`"4qiԖqGYmxa.hmO5i8Ce:&2 KFɬ罃 D `c{PD E/M/H?oD$܅$'ߪEOuљBIIcSN MD<#02 ͺYžT0૔E b+I ­s||쵌@y@EQ.[Z"^#͑x^r9JLMӒ]lDY %h[(0#rTVY+[d6%y9^jn#$ߛ!8hl @]cY`+ l%YJ`G941&E|Q(;}H rL;DX[@Eۋ~Mɑ)[b -7d,4teLBӳI4bQM۩XY+nNRZk;8ٿs 'rQkLɟ9Pa5$i8)|LEOI ]?('*|q٤_ܬB;(m7МtV~X)Px:!V|Z/ri6޳}IH.Ab3@MPQv  {%0ax' Xwr_G!uj$BhEDASOq뢤ue^!U¿7(( +PE((D o_173 aDId=CфCú@C]}{7MrpQ'7mh <:VVp/j|I!:a:+B ?Eg+V;ϱ:HD0B$=e|tRbM6LĄ ZR`*A,l;T0`w `@d eInߛ|tZh@t{5'q pt Ugd/GѣIp2frs,yB|q棧_AR"fS2:p@4EoX sZo5N kAZT.H|P2~u/87=޸.ٽ_B @@ .* QE{ح*m FTd3ir57&"gKN !R I>$ OJa!Sa *﫷p{׍$SߵZS4)"͘%JJp;Ԫ6"(uݩmmkنM2okMւcTAdRs@ohXs[~x~Skk/e{o, r0$ .tW]ձcP;am<#2LNHx7HO% n9Φ[lg"w XEsy^rWsg;Fr Tb{{D *Q @ݦsg=]hrٿX@MЕ%^#%'|̰f+@$3MТ !d h @1r8tG@F@=*.^[Щ $u\FG $%bP^Tr"e .$CM-cC"0Ak>H ʀ,KpEGC~+C+`" grL ,gpƫ.yHi=l`*+"sʏ dN{kc t rQ(G2/tc@Ї$ aNw;`К[ 2e;ΌE҃;gfTUC"2D!" )31QbGgN~^t_ I: yPڧ I} ߄A %QP~h#=\ g޻@keWkas7M3f2ۓZ5;Dvq0e+O}Է{C#7bfpBd;nn9}ٽt~u Xbq`#D*,˄#Z{Az$> ^6yŜ7sºD3ϑy**z/A)aƊ "H"d7{U-y[<vGlt}Q&I&S"r9 %iHZ%|䵤uXH=ОS J&U0LzVCKmyE2)m1gΡ`a 쟂C-\;M@9!?U7tA/@'L@9戱OzSs>@(g_QtxnkQ4,:WLZE:GOj>̛ uHɶZP3gE<{@ECu8櫋۰r0rrHP\i#MDUN_$CR' (D 73}@ $\IU!( Vk,0v>ə3;$]+{bu$ vD]տw<3D--ȏ\uE?Mߌ/`d#wuF* N["á3F妒K5Q:CL~@IF:rrλgOO9AJ怦2RU𴍓1kn:=I/խ}4VN] Y&3ލk2]P3$u2QU]t'fkȄTh)ɇ⪭RoU9dY|L۷Fᅩȶ<(s1N1ߨ|kye͒2ȑ(*v[]:9k:+Bk4%Bu*{b7Ïs?ՂrTC͑G$OU)`]E$"A*4[I$r60`g U^2>W?;?;:׵qV_uu<{iެQ~ RH.ە:}}2c(;7h˖TOX{j_xFDQnwQ lsӓDliY Ư 1eÉN:" Zw ,m !G|ihI ƔEf9Jzr## GHpY{':|B'{b+}>6O^_ x\?29h SÞ ^nvHtSM[M-߼@\\EaQuRng9o7wIDGf(A;EʲT:Rtg5~dje9u"/$9O`&㴿I_暑,rA[+jw|,!lHgFM$#-< $|Ib꯵9SB4deRHMgN׽ڔ%-jۙ,턬ͷbϺʂML+]*C%TD%S$ZbHrxuM,m+?Y*Igm6vݏuT1MUU<&K*p ldy e|GjE4Xt4jlEP`UjQLS (E4v%H,j o0!+GY-R6DYUouՐ&@ղ[kOt]*4MN"6VؔZ>uԸB+8j, n@"H,Kw% ,,bEdSF~63훺4[O?+eWϡw:iU8>}jhI/4[fЩ|+~\YIqx<;>2\+<˙A*hx I6Zb^yY @L6( >hW?f 'eV*(L`| EwVzt< v1W3Px?x>? ?~^|Ud=I^Wb4?j/"/u+i_OV /,/B{h/ЇSI>L+|UOdKo O Qܟ4ڥSR)=r–Hj/؃U|T/Géz|x Rv#z{HE {% $zIj W=bȧʕUO+fJz_OZM'U*z{_Wɡj{jOw{Cj*OJG{x=q|Խ/ztTb{X||*>R^Η'ªTg#+{_1++Ֆ(/_$TJےzu=U=T{T,bi|1K/gb/L%b:SQ|zjOz{=:^/~/~V/QM -bȲ4122heZVUZ*Z Ui5SVRbjXVM&ieah jM,2)ST5MCIԚVKjhɪhM&edbѤdF  LZM+,VXFST-MS+Id5YU2MIb+%6&+%5Z)d2e,hdKBɡj, ZVX0`ҴL-&-SLZIdh5Ve2V,4hMTjZ-L0dLjL&T5F-+-SZ*-~5jʲ4YFS)`hZ%EjXF++-Y ZM-VMCj4YS TdY5VQhj5ZFUhȰҭZ`b014&TʙYVS SʴLUȵj&hiU45+jM#KJj+  +KVFYV%hi ,YZVK--&Պҵ102XVZDb5M0aFdi0i05MV+)dY-FԲK)Y4XYLPɪ14-CTj--SCQ14, )&FIѫ IɩaY,,E&U#+Ve5,hԲ0&)a2 Z-M CLUb1ajZjXZ+)RiXeXKFj1XL+Iɥd C&K &TjLMCFS%dU#QSEMU2ZbhV20XhťLZVCHł*Ҵ40Y--#)+*}IZMIV%heY5 EʵEѩi+S)d&ʬVTɅCSJс`X4YXbLKQjM#%UKHS *ɢiZ2ZXY4-FņšYS1eh2-M#!ŔbɩddMU`ɕh4K&j`2`ՕZZ4Lŕdjzi!*EĠ>a;/_(||>d ±XNF&Uc!r%jRadʲ;U{E^id-&X{EډjjLVXIMCTjhVjV-M2X%#Q=50i54~2Z^d5V!2=9q얩WFFHVECTi^ɩijYXAܠH;R´CBŊ(>4J9utGWTڡ&VMQ~5S!^"w&(Z +Ee0u>%LZV+(!WViVVAja.'uNw*wwwsN9S!J,UjieWh9;JKB^ĚV V=*;w9e^>/;S/ȿ#?#?%~G}$WW9˗.rr\s9$Du˜\˗9r.r˗]uuuut$]r˜r.\r.r]uuuuR$I!uu˜˜˜s.sW]$IH.r9sr.r˜WQ$Ds9r9r9s.\]uuD ]s9\r.\sW]]uP ]\.ss9s9\]]]uH$W\˜r\r˜.uuu]@$˜ss.\˗?̒H@D$$$ DI"H"HH"HH$뮺뫨H$D$HAD@ H,,,,lAA$ `K +}?$EzWWmlnmϊz}z/<]u]]uffl%628!ccc601`痗y"!}UשC615SfyI"@cW^UzzUzpCD6D161C=z||Wz//>$ 3366D1 c1 la  F]u$Gګׯ!8ln"Ȇ1"8n ٩333<33<9\ ~HE!w  """$YV+ µaN͑fXD ^^WׯW!!ncn"ln"^޽yy痗_h@ٞȈmm!l!lN멩3<333<,a M $lll c 痟i$A$1@d cd @d m6ml55S]ffffygyyy33@m66@d cd 1@]|"B$>}ע1 llll 333333<3</9I*}_a@I6PTJbŁ,YD%5mkk[ZmmZ}www߁9.}I*}+T//ֶ[mZw}$ mkkmmmkk[[ymwwww}H<5[kmmm}wxuuZZkmo6$O>}#/_~{!"@mmmD^y$y[mD$I<뭶mH^^DB@uֶmk[[mI<$Dkk[kk[Zmm$AyֶZ[kmmd$A Kq&&jOKK"HZ&$ &|_3_%)AuNj^ȽXԞzIw+,Xx $) =bh2{;\U-S(IiXd5S&R^}r#RxYS({O*0j~e=;u*T*xih&~>=PxT{B*+S){rĖIdjdLxY"N{JiL,- MC(F骘ҼIY,& U*]rUbQ,xaO1YQ2=ƀ!܎ڕŪ50܌2Lڥ4ZFVM軝Ɋ*yEjFQi4=SU{Rʙ&#RثuxԞWd2!- NCҫ!`j- j-!{R422ejzb *e4^ȲL1jg]wGʧʃbERO=JQ4Kڣ *ɒ5MWssEdidjM#ShU'5I1VKچS MSDEg$RBF aX  Bd$!$*CM RjbbT2S/ILFUYM5=VK#QdQ{]sIBjjC &E{c!9P Dy~Q~Q'G䟕?(:F#L-Qbh?WO|>j#q5/j?T_$W|MEΎU1Webb/ӫOO1}"TG;9ㄱ4'_-S!hjLN UwHW+FPj TIjYUYRj %qGSJŕbE5j+%2] DթY ZLHX~_*>K)>G_4~GN}TuU}#޾>FA=BUdբjehbU|)||KO|~A)I4W>SK䏚 JԴ+*Ū5--S'̋U|+_*>R|/(B\$}(R>KOOCU}WWо}*} ~S>_J>W}JdjҵZO_IU>ҧҟRŒwyJʲMY&Ud9hiY,,AMUTbai_a4MK%a45_S%jVFtveiZ V*bb (ѥhF ZYQ4p&'qu8ꝓ*YM+jaLUŒw+ #&% xɢɁz%ӉiVh0jL"vRj11X0 & M%X )Z2hZ4Bdt=(eUjw+S;wGtx楊aZOJs\Q԰IU~jQZCI$heݢb25Z)%L,ұdŪj $2O( 5ZZ_`9LS*jbj԰ij'ԦܪN;ЯHxKKҽDңҞGԣ^ N\:.A\:Gur<\C\.WKqutU..KtrNP]r9N'KϒrWSʸTptN/CNwGuO5zЯT=#q.K<]/IQz=I%w@t@ p}2o@6=U;4I^ J5 }{w0 lHEYE}ܺmelSif(wll@ bPj04}}>:5+@v3MGvdI*P (QoRMj5Jf Q@[5Ar4K=)p] ::=.ₐ:_6N@Z@+sei lįݓҭp}Is}I;]+p-`])v>-alҀV-{ض;pco7WYݲPo䪽Nv-籐PU(JYRPw`UAn`t`vYEPjl*e&];}ݹ髵2Z5}1{ekHOU"g֠ۯn}Ϡ)SPKܽ2#[VfssҠ:λ]vJwuuͺg)HhmOϥn]KOvt45S̾v'KS[ 1nfMiҞOH IJz Q*@O$QiRhh1$"QBhiTMi A`Y@ӲO6䖼sTkxk-kЛnmh65Ebk+r6 jܯ7 mj3b mشEh(\4WDZWX֊,VrTQ-l&hѢ~olDTXѱA$Wۑ&(4EFţ` +Wc|КEEyW+4h,mFE*ܪe;RTD۔Cj$bh$̖*kyrV%M4igݺ6w_nX#I$bجRJ&5ZmQeL12bK c ܘzCͲe\Q"o*e'{JIBh  5Hb#$ Q2 4 ׻v?^Y!4U 2$RX %36*Q1RAch+_lDM wW&hFP(I4+ ƍIFur EXPj4lPHaADһdd쌲?S_HbJi4P"&% TF i1 $,QX*@ۗ$4FM(cRhI}L h 1A !V(HF-j"A%D6!4m S"MJ*1aHI2( Z, DdiIF,lQ(Ũ5o'RD4{$>D2DS @bQRFLLfdE Y(E ƍbY5f!HɊ PѶ4ƤTQhƓBXoU d) KS# 4F$ %k.Y @ I"K!|.i3ƌf#0PdB E˲1d@KݮXƉ)(LIFc{ޗ^=s@f@)$ fĦ"(!ɴ?.`"D 2/uAa"6Dh0!ADLI$,!b$)!BL 4(J LD$ Y#3!ed0`šedze 45$Xi[24cDlRE0@▉(C"L3$I4TlL"&4 Q 0L0RQI=0є*|Y*$ٶ4ݖjG['XE (jYt$;|nkYdʥx4o&ZN5l@ck_Tmpn;E[$4d>|='b:Ij,bi6̲cS6J(DR$DP dd%fD( &I% QAPV)%`&Hb (H("̄22*4Q6&ɢ*!ILBQ%Ih5HAF;DH&e""dv!EsEI3c@Z#i0T&0 $I"]1&dE dII$a)&)%i @$&DHڒL1@I,j R"0 "[ԅw4fe2 DbXL%$% _6dآL%[dwg{LɓJI\owDb(vb3J5/u/)iŘ3)Hc&bB0!XѱpJY 3) LIAWvݍ6I0A%402dQ䆍cd( 4fb`e4L$7!W-`h2h&P("`H,"2,,D0`&H Af#~r! PH!&~vbQ34.nTQ(FK!fB,Hr"ݺwFHHlA$ݼ^i$¼Dbʆh1JF"1ftPE$R˩&E4B5)cA%FD%モHBSjHU J@+c=}z)Q2J2uԤ)f!I2K2"b QLCq3" ,hHEDLŔĉ44D !fc&@f1@FDM)2 ()&`S L*J"B IXJdAI%dC&LouoaH!"b d鑢O8Rf&0b0"oI S"!v "1)&Ebsv#b=RM F"hJ5H(Q$A!&!$J)"ҕ04i7%, Ibhad LY;d% DDJEH FF 0Q((MI!% JQ DIŌ fJAe,Li)([6Fpp`skȁo# dOðD4d%6:4ă8r $]uV:亶iAEzW{=#DVs=t#,=>'a{>ۢ4`d![Lζoyș=%3ڕW670N4䲅8!0K瘉̷{&V뻡ZTvh2ܽMNg cT<WJd1PDCm:F7l^BLzdMk+wԳQM01C>?'_QIg^0D~__8o7#/=,̘ЀB 1͠1$`ԑo 0K IS E)H s͢P #RF$Ѩ!f AJaD e,ɒF IH"Қ!IHbd`ђL(ɀх&)L%5 cDAY i,I$33($2ID 4HI c "RL@,&dF 0h@ &H(<騢H61B QdH i! l1eJ M22 bhc!,@dFi`,Y6BJ @bC b b!HRZ 1 I!D#b5fEn;˄lF,dS("Tبэf[_tM(J1.߿~$>nS1wwwn/1!$@ihC_~ndHG\Ǘh4RhI f1 E$hQP^1&Q 6ht%&! X3$A($&P!"͹WϾ141W1-߻2L2b ?.1+&(&$) !2$LhI"e0(٥&1K"b|Lh'rPDDa6 db& &Ht׻(w>q1.a|0l}X4Ȣ$J2$,4HX 2D4(J])"'hɍ$h&A% f4Pƒ4ݻCyċ~\F",a2i`͘ a6 !LɢS/i DfbSE 62FLK F)O2`%N2i#Db CH&Z q"0t"0d,DLFL &v2` !d()#2llt*!/vkB3P)R0hdHhA%Q 4ɐ,FCf"T`FDā ]I2JILIfIiI&d02 i "H%1ldFFA0Іeh 1#)FS0Rdl,&c2F٥2 Q242Ri9v=(ϝ}oB;ܿwpgI5 + `Mf,ɨ%$ H1QĬ S$bJHf"a %KCLhf&"-2QXLRcb0HԘ@IHHLH$%#(DRRjSc(R( ~(bCiF( %2h &IRJbdF4 SM (4@ LE"`FLHJf10-LԖ(Lc$3V`y韝#QA)0j62$Q762b 2@a(a!e $II0L3,DH0@&bD 2 "i#$"Ą!M(F `L)$Rf@d I 63I!$I$rWTtS,La$,ƠaR023(J_.i4 lE 0DS&m" 2d3&,3&&3H$I"0 e * &cCa24RQ)72a"a R%$@6HH$Ӝ,M("R%24Q 2$i"L$jC(hi4dS"R_7HF(JR$b[$M$$dԉJʼnƉ%h43I 2e4"4l! h34S1Id&D bXSE eˆbC0b)4L,lAT&dbRL,$% !2 A*b4164@fB0sej&n[qݻ{\ Fn ^9B !Ly鬂0džeK3ecn2hfl4RcXYd/k.6jz>x]Dy4v)#cpm}C=-4j v6]BV6aL8tjk$GaJͱ %8B8TDeBQmC(QdMe=ZKR 9jbBNj|Bf7s XXm[ -fMf2JHCLNu1eA$[ :kEFp2RbmnJFmdugdK;B W#o Eױ\j΄CewZb owv3Y<&|&Zm!2"MYIaȶ񰃹F#[g Ҕ9[8t۝?npӝN zI8+[č%Ԑ,9\5SzoM:1:-qAS$Sn_}BsUׄmI,lM3Nˇ,g_ Sp3/4zpwMQp2M.3nX|zzz&լl&ԁB;)vRLKFέ3nb2 :,0[jyGSl=}OQsi"#;PbhX׈ԉV)-CerG0d+d-4Yɼ =Fy*F%Tr}C3MyoֳA%buۣJ{76DOt%B&G|/*9r8'n MdXC1:4KoSgS<$L$cb,cRkbM& fɘH2%)Df0@Rd F @hhI%M "BTPLMIQ EAM%c0QScFHD ERmF4FL(JD &0K!&dIQP3%RRJLcIL4!DJa@@fE"RȬY"4Y&E#@)4BT41%4bH6C@HQ !Y@3a,$!da@2cQIH1Q W)4$S,BD$&BRMDS6FQB!HRhDQiI;#e$@ `I$<_Ϛ@ld$ LBR(&FDCISH" <&LRE)0D"8L$T4AbLȊ6H&M%$ MYw_{~U$  (E%@@ْ~ %\F`he)sJ$B #s$ D$TM$ID1M$Hi"1$&% " 4B#MR'I0 )F&6@aDkLLLl& !!V.{ۯwˍLߕD# JK@d 3IBD LS$,FY6W9 6.RɌff&>xw2XLLInLF/6JI_7 2o2>n R7)Mܓ`b46$J)Ho7Bɤ2R A,P )F1f!3J 4bI$$FH !C H% (IFB``H#AH$Dȥ/"\LAn d[J=@1) !HY.] ѕtJB`,@@ 6 a(),јj\F¤DɉF<`5u6~9zdQrU@E܃ÙE624YE %błAdR"j4XЅO3H͍SR2dW a FJiFF$0I21 `d4a!e! Fْh4Tli4̍ fQ%ƛ$bēDdgˠE2d&%$*I$( 4A7P($dQ2ERbY,D4YfMXHdbeH%f̤ɤɰS1F,1AQgk|۬A M! )T b0c2PLY1hfLL4)$i(Hn H VHWsc"]J!|#?upf$di$‚I$PA!1111 ) I b1 d0i54P3H#=rGdu}\Rbe2(w(\ I`ɩwr=DcO͸nBbb&@Pȴd̄HJJ#$A ,f%FI #5I*\]Mr d4ݘ&B $ ʒbC)1%K,`!g;ˆ$HP1庐(Kq1*B(d0aI11PHvBRb(FD4X112La Ō餂#&FB6BC2b 2ĜC HlP YTĀp*j6K/ &a4J4` $L3Dj2$&FC2!S0!Hf IA*c%DRJ$"C"0`IAdFJ(Yđ$`L o]<ԗ0 n0s 9I+*]ш ! @D#I]Գ+h@$0)Dͺ '09$Ԍfnzu&1Q+$77E<&$2U{+l."zF&m8[5 ilAFEL@"& $4 F RX3"142I,&L$I SM$f!MQ $$i %H521%&M#nf2@A &ԘER4PR #2A)L&C7L``HH&1@2!fL Xh)3a ! fcn\nb 1DQ i!$F1kXLe S1)!BB)3I I"#I2DFHі$c&F L)@Ff&#16ԓ HDeiD`A"Q$`#M%4\fFĊ1ŔS3,$b 2EWtw]% uh",XcAw\eLe) @JAD!B "aB"d(MI1s Y b0lC $Ji fJۄD&dEA#@X 64 2)b,&I33K$(0f I22c]A!4 6DeI<H4ys(1$F4ܻ!H̢HJ#I@JQLaI2M$44TLFyp3B2D#!7#"i 1)CByD "%4QтyQDD1LҊF3M[wUe2X-;VMJeȻś7- G˄LRH0BQE&!Qc=sc RHC0h l~"I)3II$B%0Jf,1 H3M(13$M0)13BbZi!wqHH%C$3M l(ғ4! Ya2(F#FmCb`A&%*E1I((dQA$*6f ŌJc "(!aH25Rc (K%S)GR}ܖ"d0fdc(!)B%(MS,""X&Pd >b42PEDJD$H"gvz{~13D6 CJ"ٙ"bdj-3FZ- &A&fbc4I% 06`#Ji"aHŔd{܃$FsDLB;VB2J-M(*5Ff`#1$6(MQbLi&E)DeD!$&#IAA_u aHGw)" >\L0(Xł1f#+ )30aJ"DI"cb&FX4i -(ŊLD2(" REE 0i3 !JLPlۥ I,B("h(;s^^4M(ʬDNpK V,MrmtJ) âtcϖ ݔ(. *@ 4,bbMSΓ.9D9p׷5uQn(5n(5/XyU " \ OuUvꍕ۶;)lmb&ۨX.LV% n.bLORԖ8`FM,}to*3˝"[b=Zt`u651Br2GbY qՔ*%bhS᧞)"uQcUlB,RXZ(6М6Qa:-eS(ԭYb"kc%VH&$ո.a(k9i*R$IЩ8(POi}کX1"d7(QU%:V:Ģ%EV5LWfI[QXVQ,ByTߟpu5-*Q7?gpw3{dOs՘!6 4cl[f̩3ar$Lo6`}g^$G·uPjFUAE 99\w`j9x+JReͬD`JUb!g^X[ I g6rw12J qܴuУ2;~zTr)yuƉ~ZQ2yOOq0rb\8'ri aIcKeJ]2΢)4:§QƠR'lvXb1+.k9t"PM$ΙlS8!A4kc))glFk9dM.02TK IX li n 1iǕM(Tgj̙ L$NiֱEAR0ʓ*|g>umboߒLEWZ p̆7 wbS 1j| l YVX&glň5SP0QIg5hq:r3b|q|R_'41h0UG:1B`ؗ}Ψ#CH!v&lOSo\۪)N,MNGq,;)vz3K5*_W_mcNt֨dENc㞒]6[ ׆)NR:J/eY=ZJ3ykp. _4.o\wx"46*cK-Y98XJXN-Rj:V撻RE̕d)a:eA<+|}==nv7""J0_%*֦wŠC) Fi16 `s|[Qdě"ŕqGvk#*5K 'Z=IUV!8+_EBLC'.fyԜ jQJ_ ֧*EG LU mUVGs.j}JR-'TjF1=T)jhVT/w_)+؛h崉iESQSs)WnvOM^^u%h4i"h&!7T~ͫk`m6,|cp!E:`LrgSmYr[GĢB wcQӌsp~☐E4٘2h&bQ EbdlʙbD aBFIIuFbRLdh[ĆR)cDɔMF#@F`ĘiF(#1@A%lXőDhĔZ)B`L00XCf IDk4R̲ 1#Ef4Pe4)5,$h6I2cJD1h{ 2eDZ"4 bF2$h60C $ТQd Y&%4J6$ԒiLњC)Q$$,D 4RQ$EFI$2!.nE0VII2&)RI45{?^h6DHŦ& F Ő&!1B34b R4E6&Eb(JQ&`Ȁ@$O깢 $44!K"EI@_:f`QL&"b$dA1&hP#@C1 LIC(4$2BcKt3ff341 & Dȑ00%D3"DR".JFƅ&BHcLL*m+8sC "B2&$`Hc2 1aiHD((,M&` 02%fl[_wHc&hE%#!XF¿9F61&ɲPA s~qotTQ"Q5WX6I3~@1 ^ܺتKtoWM1CQHĦ$td(%&, d2HH5/‰IB42a0"I)S&J%bd%߻2䟻a4&ŠLM%#0WH!hB!HASB2IIЉ1(4J u6ź!32,0@@CI0ȌY1 H &e %$ F f.&iLTRe1$LHdM"%4FH"H DٰT!JWUtٰ90MZ4 Yn(ɰ4Vpp$8I&a1(H́ 4FS1PF($ 10Ee&&!(؃b̥FM lEi4XF-ۆ""@M&|ё6,#2Hd22dL"621hȥchnA/vA` b64ibLVb`1 bILhLDB1)% 4P" Jf&a) &"I1ќqnf붼#0"ZL&F4%1DH)Ba)9\a"u0 LMQ2h2H&A2i(QM(c5B|,X"P65 (vJ&REf%,kI"̆$ 4i1 LL0 $ $ɒ0RDɐ&fgΘ(RR l 2 C& L$W-.oc5o߽t3A b&)1$Ĉ$#-һI"`I2`3B&HS1Ƣe#(C2 %$`,# L23-LF$/NJDLll1Dҙ2"B4۰,@PC$S!e )"J+`a)!b@2 WWt4(I)Zb 2,(M($JH&adC2HQJHFcA"3dCS6fBF !&1$$Hf $ɓ1$A$ 0RH%JMhFsS(T$ dR$I#"$10dMcL )b3#6f RFT#2SLdQ#k5櫞{6KC\Ѥ*$ e28V`V9u1ҴR4_{k)QIM" s[mE# ImRy{(tes0BiȰ״WU#|dT3aMERsZ-\Gz uG_ja@"F!- !i))4J,2Q6bLLd"e&H"6fK6h))6))2aH d,5c Q$(ŚKݘ&d 1,(QJA@A $חeJ6"̤IPI,!chJ#%B` S0}(RC416i0`w@HRCL`Ɇ02 O;$L"#E,T.|{%ƇuDQ )@l&HI (B rS3M fBCTH3_{te b162 i,$(`&0‰4Q !J )11uSBRA@V#21Q RhЙ,L KF)`% Q2R$3SE/qȓ%hL2bc_]K/LMLd wQ{\{yӜ,FJ1;n"d% F0wv6a(#4$X/7!1&)#a) ab6I 4ɳ2b ur +4FD?]ْ2҃lHJI$ƅ0v$I15_Mݮ|%Ę+nuM#y ];M 9lkY[`ѡ~iM2/(SdlIF) Œ( Q4D4"QuobJd H#y2K%@uB(b 2J2BBHHI~J%A) iƍM(b&DRʒceLPB41#.cOu }DI{4Tђ aA"%"be&LLe1!0@H)!7{`uBYʋ.2xB11BE bzoё0&ƄS1IDEbd Ac &rĿؐFdđ$(0I$F(j T4J@&J)0S2 E*RSItgΆ$ROu؄HlZH+(i#A2)H01!bdɔHI3L ɖ)fd3$2 "IMcΩ,ђ,h2ba04@"$F cA 12(H1#1Jh$e|F1f`!$&ɄwkQ4%HJ}ۅ|JhTȡ`X2He$RHX 6QF5`f J4JPə!03ė_vņb]d12 򛑿7eP F@))HDS1 02hFD)@RT44ibN]S21"hDD I(bBC2JPm(Lj)L,ЉHab #6̑03D 20d&R@ BH%" 2DL#D(c)paeF!$a``D&Adj5l0ȠI4`Cf !F!`6eb(҈ lC1 PhdC&&RB4 MediH &%(ȍ%6Rs̎|Fu"`8IʹafbUEZs7U ZX-Ȉmrݲ͇#3.[;maHkT2f&%Dj4:\Qhǔ NQl 1v0v*vӪhUDM^$Ib,$!e4rNw5\M*rۡ&o e7cbAF1a [K91Yef\^oGa.9e+CcnisRXRD+v]eUdEh]¶)UeX"1BJ\jZbϔWFh ƕL/T6ͶCiGa9m LuҹnrSWlKעܠj)86MDS-zס [5M+HR,li$q Bi:l ^N5}?b"HI&I̿;d # 1FD|aL4F0buԐC(Se4HI0PA&,SHDdMLd&,R$d hňd#)"c)Dd)@D`) D+$CHH/b@B(0Jd2QA%hS&D5FK2b mPb"@$Ȓ4QEE(c}6HŘ5MF 4EL#XlbNvKAalʄ##ݺ0žtP#IBYLm#Q%2CeI)$,^\h**I-0iAIK0]݀HFY0I,eF&baB`"bID!Dk}[FC,PP,1RhQL$H&&aS ddL)^k3!!(1f4, %'XQ"4I  /~1(ccI@&Pa2"B`0TRIIII")H 6hDB!4$hLF2 )De}>s jP4͍ $"ID$QD BY &dI)3) ҚhĦRK0$&@a^]$HҘ)A2bLkFɔ`0 R@#JS L${bDDXX4Af̓QdAHMQ]4Í!6YB0H休l*V&$˺PQ  EK$IfVLIE,Aa@"PJLJD `aF B&P D幐H(FXQ&@h03d2alE2eh S( "$ ( #!?w"-JYə@ $DDYu)LD̈Щ &0I`HR`A=ۓ FIDe~0HXɂ(B&RI $`)Jh%Gp5${yuӕcݹb$c!@a$̀2&Q $3FkXc$E)dc4h̩a$waMd2u٘]&E-Ie*M%Fl rDwws4I# Hv 0`D@(QAQ4F/ݫBiff" Hј 1L01&LBBYA1 c2ɩaF -"&A%&ɤ2a~P&hJ1cDa2he cdɛ,cHe(4 $Lؙ$JP͍M߻$h L0E$Ie$)"aK)F H D,&H m)LFH4BH i`#4Qc!&)0dƚjPD)" ,Jh2w]AIfE!a& $J1"h"d1H " ҆dwu*#d!B\mu#^H\%^l[uekJ'$4]/),t(ɲvQ[ٮBR"hvy6i$k6,=dQAq H)I1e%%,B(h4,BHdb#!"Bk Md0dC)@ɉb R2a20QJX1#$l&d L$ $ױ&)"d&&HHѰLJf!!00J&JOvF )dS% #"ff"(@HD|E4L!CF )BdBJ2i0RfeIH`"C!aktEaFHi&jf##f&RV)4,hLd4b L`Q3THi "XR(Q2\ ϯ]JRhBc&2bM2hT4aFd "$i1 @,0LCb(~\2B22 M 4i$rDE dR,S)692,撘EH%HI&L X4QF"2"Iљ%S/)21MD*CbPPd4bYe%YdQ dS BhQ2,B&d &h30FbF`QFld J" )0XKBBQJaD#GH{Re(,d2Q-%L !$% H$(d1iLJ&̤I3&"E#b?w_{Zd3D3H-TG]\"P$E@@~k˰eAAPs DI2Pc I!@Bɒ iL3!@ d0i6$$L"""a!%4(J$ 3"bI)L#M$?緈4 X"idBI H"L?: !)($& 02hhB0JY&1 &~^L1BE H0̄$L I(PD0R1i,ȓ&J)2RHDTh4Hb4`0R023!) 0MDCIB&3b$Ha#H"T:'uvk_4J HSdBYb@ifC 2IL4dQMH1JbSIHXDʐHD̄2 0 )h#JTFde}n F$lbRD50!b0F2b$1Q&i&$hRJH0C #UpB"d $32 "Q H(FF C BFe]c,XLh_Ӏ ̓D2B$lD($Ę4P$0L@I(FH#(D0JdR,ɑ&hR# 1&)"AhK6&J~ϚщFov2Ab)3$("$D(%$i4f[dfJhf)Ѡ|{sEFr)V)*# 8vT6J10 We$6D! ] S`6@6Kc6JBd^a'$'R7d6)9;=IMP(+"dql }F6Aa"xǹc2QP7wi5`$ dd#Cك^9{v;S@!) !jW- !r q(6|b8Wp;IԉTP`HuP TP "zAaP @D*|{J"Jq:nl/e ȑ):y{ 0P)Yv (#wzS*SQ+QX2k4O)uUަ&81-NmՀ( \q<RȊ@>{6rlX\)WڌqUܣze4#*Fej9W4R0^qdOlmbN2U tM;yZmRXk??$'dحM+Ĉjj5[ iuKo{@@*SMod,kXT?V~S-,dw*yRIW+v+-by۝H~)~&^Lތ!,Y(.%KCf˼mªXGsV@UtExM(;D8ÈH:"R /UgXIde ]h e絉 D֠ȕEN+(zT-[ d;fy9#7VBTT` @XE<)3 ]K@yzmve\ ,wto1{c3Ңqq4vYRFJjH62 lClg+B])mdCmzlcQׄnBf-NKuÂx3קs"{5(tqUץ1⾹T2 2dvFqaDY&GD&bC`N>Ytԭ VG!iI\{'1 a Э)dh<#sHY$^cung+1ޭOg4-+Vڦv+W,ǖnu9 eZdыl%c;enUYTvlpIvT[+g0A,Qpިk̔mnDyt9Y3Y]ZUbb27|r1d\;$"ME I N!KDhGKj Ą VZtzqEQĺ8է SzI&0Łژ!ne0 bע ¢p*i] ( 4RЊ!.JFXbX;svYSR둒錏L݃gacKTDm IXZ(Tn,D4xPV 6 tb,34RvhٽXXMbJ@rmHeT-&w6j.AFXZa-r'0%(q­!$V WaH^ٶ&`De5ERau"V-VImt:p*e1&cJEf%C7bUO N*J+NoѪ&KjQoŸ Q ă]ɯ}oxTta#Vd p6n[vi4XJ6} 7ViKj-uQMXѬR kZCv^UMs7nyj5Wt'%NVVFi 4@ؖƘzs #TRV֚PBqMVupfR۫η*"dPRJ1VnahD7cQ9Acs[[MiJDY-_ ,EdfX3eLuSleI89EPdTwH]7 g1: fFMmF52yÌ5Fm?ax:lHؙ6E%!9믈O%"·IFu(+NsKe,- D]cJZJu1"aًl@F;# R6Ֆd5,JAAyDj^%EJ]UfWi&9YGEӨ4}3Y)kvkɨБVRmMhm Ҽ[tQ**LżuD'hz!nZ]tR$hZdc#p=8TbXk^6JEK%i ;;EER"=1-RW688㒨eX`݁grpجXU5AW,RUnꤚʴ,ۯ67]Jԁ*F}j4 eyhsJT"hʹxB,8rLٜ:5)tyc5Q-2-m=Ď."}eRAH=*L,kn+jKM%[DEUM5uQ1xC5TW ^%Dc* dE-.F8-kT+"zEQFQϛy7j"nUi%$csk` 5E-0u67XtiѸ ܙ38/ |O@dHQ@{<.qPb$+!orq㊆cqQE*"PreAXAHP*~:8VOkOo{+Q&'>W3VX\)FUJЫQ4 J>&Ԭ!/ lB .n3W c 6đ FQTqu{$Yz2z]؟Fm MUurݦ JWFS`jb"I5˯'"Dڶفl4ԝ\ FBR+Lr%+o0ƋQA&Ը\RiswF*f2UIH'k3٣J"_&FqRgG=&̵](j2hKTHKn q9Eew/-EٮΜ,Qb4Y Jj1\w8]vS$q+kDET$$|#mir$FDgA>گK Sp6l:݉ wa~ JZ7%&raI HXșUs*cE LuVQz's5e}4vbnROtwiuLnmkͅGsP`T-{O2i.ƿ0 )AllnYwUiM4 PBrD 82v 2FvUvm  kaQlCc3Av@6U6JE6U;8|\/YXOPHԨq w.`u'=|q>@U! }i63~Ts"~{hJHd$yL=Cf R %QU0\Q禍П?c6l`f[n$AET"I-=<0wFߥI"(Ԩei1l9s4_Z]oO߭Ңebv9%ëT_ݩXYc"g֕ 颳켧g$&;#iMf*bC}6A}k."0@^eK<78P]Diq3] b$]N"@/f+gռIr!~"'SRB؅*\ᢞQڧ;Jgao`À9WR3ejftydM rhP2i( "=ߒ5:q-2Mt;$y-!RV%VݮA[q 5毰ұuHN!Z9n2,9X%F$+GI:_:y+hzeblk(MlX"7FUVWֳ =|џw߲sX{HZD)a*ZZ1Rr+K9Gg,ѵN[bKZVaݿW"5Sg ?IcH%fĀPu TX[zm U#f/wfYׄZ.V% 4!.̥D5R-d{JDT^Fӎ %B>Yyߦ{Jfأ:TL&/ }u5g)+"CYX[f*鐨0.?Ku)}TW-[{DDأs3bKtAlbhL~& x:WiŇPüԎ5VGj-6FՅ3)pGP P62i8y?s,f_\ srFƜ{[cބ5Ѻ%(,堬a> UEsը2TER&l$Iq6z=ѷ&}dVi L9e0+ZPƲ*8u2eV6WU$#v텚۲O"[HCs}90sV%JۓpƢʇ^ҩL+t {#t]D<=y7B Mh޲)&$\$8ejO Yhya)kr KZSpdq=6hAmt,ٶ!BkrX 鈬),QVlL5(Wi:H*ڼ΄3"j.m˼kfޜ0"|a̓1vw.XSε|uG4u_ڷai%qq*t9>vCh!_Mf7ILNVnW(^AqR[ ;9)Q3*cgh}noy F=XۖٛPb,5F3øig<3f/^w T=eιiVh-˝DQ1Д|S`Xg8jJ(sH"hڤ I|b$\kVщ+zFu(YZmjRTZ%$$qW\QC9<#ifC9]ZQ+فŪ (4*U*UYjq3L&aiV:XB=,(qSh;+={Ob~,m{ך~,PNTԟk׏_sQLTV[U@F JY*qѻv-Ԍ';ۻ+7Zx^4 zEFlQB@7F:ቫx=zmlHJҺSV$I ˚CG a̙Klg& CDIL>٨}秓MokJG}5/  hbC+ ͩQ9f7deC'ü̳쥵e):H=أ4;1iU ЖeZkdI--2U,sJbڼVUH*A̝7C@9w*35"P gyP:ѡΉe`h3GD#YRnxdO#qұݖ-Z#J &rK0&JV e!f *QcI4G/}sXS(ԝXFPq`,RN7qJ{:Շ-%z5 mD+'kҪ>UG42Nom#O!˥"XEik؇ i2vhn-0Q2['UbMP5YMLr TuEȦ:hhCŔO!ƢuFBFd T-CvbZZ3eVzYj8Py *{xl*Č\ mh" ,맊VW Kbg(٧6sd*H}_Bšavۻ~-p .oTP m b8+'u[SSh#Φ]%s\~sNNU}ɽۑZt2P ZjWE*Wy~f]$ې 9'[?v;8c!&ruwEJ7ȕ(4DB7Ᵹbw,¢bJQY_j+|#ĕLk^'kg?/h!lPH| 諹SS$gNu_ T֜ Z"RҘr*z}p\%t s%-`+e?R(Ml"Mc6z+V2 V*()P|eYmdCO"hȲWەX$ GI]i/p|^M-C蓪1r4sU.N9n Sb+u)EĠXgZTn\IjVQ5?:%3h%B C.as)ȬEg|˸ۏ6Y KW(FRԿ.3MJ\f`xmӾ~ Ȳ,󏾽ôSUF# e(UUE+=f US+<BIOoX0Q"1Ovm03j+bISh](Zlv#QV㶓E<{>,=$L^U9:%^=m]ƨ2R.e`媢t|S.yVQ1ѝ̻Тըz]RIācMd%66sm T\l <(8(=\4zxY'w2d̞@a2[YX]v-rT""9@I1KrvM% %!\@{vAZJ%,V|2 ]rJvX:9G ) Ll`U\"$.:Ȅ%,(`U &hU=pY//uUZNR1559b7*,EM;*hym TXrzWoy5BBIw6?˶({[.Tq-@S?5tVL O6'ET9lcΒfgA y{#;agڂ#A>g"魊L*ʽEBM( r gebm'X:ܔ& hqG[vٴU!.;H@kFq]tˆ5[ܐs+.0Ę蚃i Y2ծ|nⅇFqp!`#E-^x;ddfZ9k:1uݍkM7:!:WٶyEx: 9J ]+MPaZ(Z01s_,kigv\XNR1d )Ռ1՜Q T,UT.l~%RR4.ki@8cisK;k皪 NK-@jXؖRр(4;Bm |jלޮҽ5d_UM l[&ԅW#G]VS+e53pjHdEĈ۞oK)$ڈ)ݠb"Kz>OSn*)*ug- SUlQ&snn0M%3>wwmdJ#lᆩč YΔ+misr/Xd{:uf*P H?sq'S*-N,|R%kU{XֶR&%?5So|)큱T4P7/n0i2˔e:Kkb4XBdg 42x9d3[HƓ'&c>aB})mn\ވ2}^RE>r֮yؚYsX nܩH*,V3JfY<* ~`Q_.x\KlwYy?)08l4$EKqA9]-gSg0"߭n W`W'?$li)J[[SIYh2ޣiى̹DH'Y];_Z.W'wepP#vo8 30caJo"S;re'QHmܤ?wHjx ʇkӏPR*l;c*QQ1V=>|$?Y~e~KBي^۫!ڙ`>}Y3'x<\HF}w9h @Cki{lvXEMXfg1.ڮ9oLey1aXS)F#Y{l>ȑhםWLG@qG*E]dդ:Ii1J8V"^BձA- NZ0\8PPF9nGĔrh[v|jek,X؆E'Tb?=\#,*|@hHca8V-ynY@dig=Ahx p4$m7z);~+'XJ-"$"0HG(-G4l)Do{=ʛ+?a|X"| zjzTBjK(!Z-+4KO}#{ a1I GjpoP(EkFr_;<ZSٴƾ۹[?`4Y^=Jy,&e{b~f1UL:Z?rT=P9~~gqϺuԶgBKm nW4GQN6wz{ǓX>?3L9Pm`LBU";6D-S#5ܩF2S[?fX]+d\V9!o|r4غ:L7K秸k90QQCRA=S,y҆B?8O?~Ȣ4NK\Ay.\,u5yћq;J#qjbŅ3FrYvϙNewnȃ89Y KEs`U|(en[: ? ݁>OUxeX3>iANPyHn`wW5 nŏTs5*axiks#;j@4e[2ƜCz0#HJ;wRa=c%S1:ԭ(DEV+lŪmfTKGE.o[a&殐ݛB+%u'Jfq83Cje+ҳ7&rYeS3t%t}y׬+Ӯ3̪` [v"6!UmN8aelO9Q^Kd|"dѥd͔4aݒ ICT|xUabm6bf@hvMKxVkXZޢ^I4:S&-r ,)U`KHWrOw3[*{?>ub/\/8ZDLk!8zRf}MdcuGP]SۭNs^KQo GJ&yy GXaĠNeH YIHe]k4WindOUt6𙔋Vڗ#-+i+%}*u3tZ"gtYAG=ed*vLAm0(gjF3啵W4N왡(k1͕+w;kC]M5 dT ֵ,DY`dG&')󶒯)Fq^ E`:N&Px/{UQ)&X[EQQ/)#˧̲`#Rŝ7 UOte0289ߙ~7 0Q*{,3J |2'|55˪q0?#d),HT=OԿ5nCXg‹"&C; S`Z=?^yœT XaT!|%B6hȀd@~:P"2`-ܦ=f9bć3wUK[J-x?'hÖnfwg8Jsd 0Y:Y%ws2r(Y7s1Ut4C/q1HkNZ5E#ORa{xo[QIyʮt_2!J~[E[c[Dho__= OwkyQJqB7هd&&*NRk~ņ;lH)Kt@ĊaщybdLЪi9U1vԸsݏٮ>ZmKH㤳Uo5S*'\ճ [6V9-Z:@+4 Оj~^J=/KĮRg/ <*[1M9-vsXpdF?/{b#tD><f\.)QU!ڪs$޹y[ RɓJXJ}3^l3"CpBX"M7A]dҶD@lyV4jVR-rZWc:I}U"'_/[6BuYۉHS?QW w6b!N:C;E+P`Zͦ`RGfxZi9nD6XBrL6# 6H*.ЎރsraN)R1mOM <qUDzr棶`N-,5F5(7HkHK=M[i$ 5Wac4s7= YPQrBuIWjFIFOfykFBԪ3QR}cjm4G]FVmq\+. xoEpQvldPNмAEӝ"(ZjwoJldR_/~ԩPal[mGsLq&H!H|Z2V8W3X9Sv;$L)' -E\PF'6qZ#n҃DHG0{_VE :g׃-p{KZ7]q5ʔDc*Zo+QXm31'W fަXnu7'RDQ\$ 8d !52%.hŭ4H>UMBL2sBTńȹhW)鳱=@}Yhm@R ukL4(xj@tKƠШri<T"=hU#/5<7A@$!RݚL'[~ OUy(V ]0$e.4E%Vos8 [:~>:Ow.0Y]0E 'q30بQ϶+&X ,qϱ_``,dC H4Cۅ+)!C{'g_@+RekQXq; Q VO4*{ 7ʋ5ɅqS9C> 'LcR}_|k+㷒c#mT}x O/ZYU_}eS 6Yg/vTMϼ q]7 CDS}̑-{ ?: /뀹ItK,ZpD{8Y%R6}Ƽ`?%=XgGrZLg%̀$y"DD.n;riȤޥ< RKn촚 1CJM;k Zjĵ Qd4(6/ݴ!*TU0 甩?3<jI9*xV1Y)KVcZϰu{)?*n]E`]`wQ0R,-e=ǣdlᴷΕY VA^YmQ4tjZDL 86Wbd9QLeUc%UV\'_?{pqokc EX^ cאf,\={YƄcSixn{@A[S窛ǧ)6п#rLmGwoj}Wn.Jǎt޳7.4pPVZ-*&Q8(ssTe^Fخ@<  z@g+zKSV X8Vn=V((aP.'\Va8ok›1D ! 4iA,CM¦=0 ݥ9DŽON9$ C[ńV)$6hMQ%`lDbiNڣ{yˈ|@**zImat(dg8gTXϣw߶i>6$8}<_2QTh ?5A~]i9^SB*4\|͆gs!aDSU5A>2r  3(,Dg &jߕ^X| ďIő-Q2vWE}M}ZYFK^h ,ݹjtwwt3&'Ha׋fI=Tp=̰vpMvYaOgB%!\!-^#@y ĖHpwvsnٹKhؕi} Tͣ/nT$ ARZE 6H29F}KZW_e 0aw0V*Ҟy5d Il&e?>y2q*_Vj'LB-&{LpBEe"CiQE(%2G Ede{6bB_r}r\.__ 5XWu S5_U3OvJ5o^8I*P ͨIdӔDQ5ߟD|x ?]Nn oY82O|(<%`wuuNӺAr(sWyzsỤ󾨢b`mwL qz3͸AP Do0~Ik2M '],G=>ϛXyKM$^8!u$cfg=f&N'-gQwD'7 مU@0yFŢd9^:'^Kӥ:2K.8J 7!>E-?9SZY ov; ZSnkL "iFɪrk\&ѫeW35gHkv1Hij2.$ei$vCu/ݣSS@LA"OiŮCUŭ: 9(!J2v)iqZ@k#U nTJ64ltc98 􎪖ˮBR%ZY"ϱNU4SVį1[wFim%cD$ yoackn;+I] 0EC##4RU*"%Ph#b1E.5WY테Lk@C&utORFCfwH";aK.o6IC.qj|"1Xg`1ێj'Qѩ/V q@W!إ9:٤ Vu6Z)$g}}WPĪU2E,(ʆl̷3EJZih8! :Z[ejxx"`^lL)uVKiY drVXUj;ia(lZmzlMUUb]. NB HԲ#k:[a'Lֳ[.X̣jG[d%cC2=ߞã[B؉ S Uu3gDz:p  JI[/- zo~fM(Ϡ'm2m8isosN=l|S<#,1Y&UX!<;P ;ʷJDT؊("pP~H _:F-3ꐨr:k!<XQ ZXU6%zE ZæfVlh!Ge8gMrV:'@2mښ*ɵ J%euV2`Pݕ" ȍV&Liڂu7\̖&-.3ŏ3\*)RKNCY<.f\s m'UIK^+1Q`a񓄨 玍k!ͥFV֭΁ME C,{&qdLO=ǗB(&u׫2oȬEЪǾI@vSk.y5QQEG`[Gm4Y7l",YӍ WsWmKF']-ϵQ)E[ `:)hYePUnFM*:{{} Ũ)ifbd2m<8R’6 [hV'X4Y"=Ө75qiOȩ;Hӕ udom1lJhUQCvY)8@&m}DA11-X1oes|^fT`WWvl"Fȵ[`[gCu^KTY6k | Dw[FjLO9"wzfa` Q; Vծa`a2el:|_CKraOb8B3-ȷp{z6柊6PBr+HTxJ KXs)]Qlb:&Xe3xAl%;Ȏ WCĢO{oq 0Gc5Mݩ6GPTg=x*YU$WFWxYîKYbO͂ա](Oޖ>9snq]NqNhTk&խ5\W'\3jD!5j ݲ`Q\KYaVRe֥lLVV *4\ȃ~1|&PT󪍲Ն\gC]SɦW'"+lG|AVB7cJ̎)uCzdR_rC̢"%8ҥT5ɧ^X)fi\bY: 4 TG9%)3->B # Zѝϕ;;X/)"8DdjDZǮl;iz* :PRsrۇI]Dޜ8筋W8uokVqb|bxu P/wqg=k=o u"vhDsB\9_スevs{wp+w)i>֯Ұ[!p@q sNwi{z^3.SYs/Q*w)s9*s+(MWH.oKHLhKyt Vo!1co]"鵢=JN-c*`ќyl>4$X0z7ʟ4z?Bն9lS7,2وW# 7]$`" i53r]["DQ6lĺa(yS~g6]mpҝɱ ءKKk2g " zBw}s>xҨ{<8>",TLu±H)U6M+LlܴDfršQVTdf|s">jN"K>T)p[(B8xnt5nZj0Y~"=N]~Nj]mq㻔hcXv龳}6~m>3[*g\(5;_t}*"OzO sOFqcU8<$&>lvt')s[I;]$sƳF*Q$H[--y]!8s+ L5>/zYvade~Y3D'z9;?z'FP8n{sf9n^xӞ 2BGNsWvů .{Xj[B`pK`5ei? yR!(LӬM03ߜ e\-|nX _)c$"":W]7 dI+nJĬ*uk6H__ q}Y3 ƕi C2a^ _B' %_2;|VG%,R RKDX.{@)z@ IR*s[.w/svpd{rXBC(rbȪ/xܭ>e&C$gPv$aXN紷 1 Ys1 cqE2r !q|g\mL=H8b5 %?3=<17o3f<>zru:{JaJ'Dj.OZv[ixqBzK HihŝbnHv wCPWX`zyf!U;ۼZx:3l<:gd}MfY& k3͓#5LHB],ogfq=[%Kj▄Kq,f["8^Jj]#Y}^]eYc>v)D@@Y8JON*ornlj jT/ \;wU*TcO*}w$B\2t}yI^40˭`32=$LWCtZpxNS>RSƱTlXSxC >Y%|d29YD6Z۰S-~g~uBZOL:yO=H"S5ZUT5d#6:O*ܢ?+\DI"OL8*T:=oT(kVҲYT~[X.WͣE?.[gpFm֤]:PTG&"b)NN /L' 'T :\gdLCB*btܮ O`O&7vKg,9֞ #9#0>TQ3-2}/viK1J>%"q"#ndL"5[Ԁ;Ǣje L1u3EK rg2jjaENY P`>iF0hˬSƤ|M[ILnU; i!%,]oӞ*ʡ>m=eiPl.X@Kdpq?xak9O}|ؓiJE?~jȎ{Jr,r_KI!J"T7YPj\%w.PrjϊH-glU?{k"i41 kw1QeP ^&ޮo)QdyrTʕ9R1L5*VÄZMlI_wOY={함Ԭh|a~ AAgsyMOHL~)6REw IoJ7?KG4A*HY>e/_o&=f#f}W4ӓ0_qKg*#f|YSO X9YCA6| >Bw-| Y'~瓛s'zb-~!C@2._\f\KlcEu:y@ۙc{$%[iY3#R y}GzU*i;aE,j/䩉_yuTd9h6*|;t-M}N" R 9N`VPv1.Wij2|g1ɟt (xX[4b\edH>gQXu3<ӍקZWƦ(2AmLX/n)p2SYBs"0}olɅ_ͻf.f6NȮj4q C!vm\gk7lnurmES;HqY+a֊&FS|t(:QG! B39lSY da b {_-wkx4PKO%x;uY2@ff:vjaDTu,!6˻{{a &RQ ckMS3 xĦ!z<8%@PQ>Sv!;ۮ :D{۰Xb@yf.s)HX=IX, δP!R( M+ )Ƭ-֙{0}tgGTҷ ̔8MK_Ta<-052(W#9Ϻn Ya)'3RVB)|auSǷg,"ۊ9sJCF&u9\T5 TS3tXkVE:a,;Oy$0ňekoY \%+D̍>sihԯyryh7"~& s5.+L4$bҪTQn;糺ԏ֯" WJr97*"T2SmmKH}k]&z5‰f[KȨ9BIeGug]Pi'p"%ĺws%d l's2(Q& Fu"hCiRҍz *.6J&V 2q~ITN5ߊ1zwA.Ⱥ}=R 2lLRUdYEFzQ,"ӛIK3- nqZ'otŌw'6=HI. l3̵?vQ&x)~:dbP%Hq'b$+ J=5Tc&&{" uܧ&ֲ~d2PqnJq?S)]V Imd ++Pii+:gVEf.S;iW^]R˚BLB&52M )5΂,.*(Z~e'?w׻^kQg{zǫ6xc=mJZ3D4ӓGKUKzu`S./Bp͊Tk}r7 Vu7>s!a  /]@)w*gQ@V$,v!}s4!YE=0#xԿl7Q Ŷ-)R:(;jTLjVB)0 ɌN&!^c s_ÑfG z4H >@f>i18 $,'}ØgO 9i%xHm_2wjmʟrɪ{UQުU#ڊA$?j!N00ZkU۶0D-n&rR ]1ZRk1қ:tdt Go/CQE.f$q<˽c'z|r)+wKBS:dkIhZyO'/?(z c ۔\Ȝ u\ϖiY}g%]Nnp uOS ̠k-hy O̷&%_ıˑ ύFz aey}3>SYFV#qF/dO8H~lfn52dC^ A'ZX)F<(IU_Kn9n- 44-Rzh; -$ٛ>`ic`bKWMߛeO~%n>3N''WeI$y٪s,L rqiRݛ>~h"Vb%sˠ~'Rᄸ h xXﵭZ4*2oҰfc&ٯ.ڗerTYM "ZLikyD3_y+:}R^g u%OH[gQc X)*J4]^U/0g{D3:Ğ9>zjPaWuL6=7 O4SHɹgWs\%h-uvk=ET:bI7jvܹO9:򦱋Xp^+c]/9ǡ|<;zdwţ @:b]K~w:;m& 89:WHpC8}j'^#Kϟw{8ԗkIf5NZqWa{CSFqߜHNH@ 5n%͸v6FʅkѼͩS%gX|NR o;B+ć`F X.B}+ҸAD!Xs(<TzL?ysd # "^,tHDhM-g7NVZY—M[UaNo[CD37\U݉DZ"mZK7VIY"xԒRw~ 5 d\lĕnk24ZL7ȶ]u5M Qde!s*ȓ %0%vܴIJѪ3-wJ` BmkL06{1e*,*)?sӝls㳤?2X&S7_ċ. Q?(|fpUO9J~ U7K;U[XY*JȾi='R9J@ iD!dTZ~j =O^"}\u'J d\$ =ɫ[5U,.;> ;׶,=@'Yk؅Z}Yg*Χ1Hy6 >|/BYܰXݷXQB9\ScJF+qMJtƖgrWSZ:@DQf+:9sW;UA $|m~_S|>"RTjas)$ũ[d}w*ɱx{MBYPb7 ycG\e"$ܫZek+~_UmtiVXN}Q;Vuς.2POm挥۽st S"KF~DφɧCDtO{2#)nq"lo3I5j~fmrYneo|Lf"ÛTE^!HZy*CE:va?\%S+ (ĭ5d)cYm ry-\SII۽ ;k ~+}+S&N! BcM.|uu)JҹN9RփSS9 OXةØ>K$s$SZ?zOJalX֟kUWʈJ;9$[![h%:jRc;lS)pͩUR "~q ^evt *rba3aw9BS'$9ǝgd53-X+*bHܸ]lt!AX>Ϝ1q b+9`ɮ:ov,ܥ̭`DIu5isS p%$iDG*mdPP-%TQa k~3ͼ[4a(BĄDn94)6ڵnH)'2 ܺ189wXWPV9R%h*e54IR˶>2h|ڧY OZˣpƯfyeE9E*75s4!g^r1\Wgwо[ 61ܤdN %|-ݩW4>}mj5[0$T݉fV+p[YD,(#qm tZY J(/7!Qw3%lc&"d3,dQqaXٮmu:uoNͪg1Z7f3Uw"c%3Փ^ݥC7U_7@f$repFalTiNY+1̖eĬ)}0~#9ZXXD<(rV; 5zz̃qS;f9ޜ-Me1Jacs][d+*m)dTsRI!Am`PV4Խ' *.XLߦ:&Zfs>Ř۬x,T,KHYs!t&g1Qg+RLj I?|fY{B\aJES,m*H;ywx`G%aD'11M?wfZM_uRGIr>}}W\D&:[;tIUnx?oXrjם7⺲.`p"`DU'aiForRcM s?utM@1+&hmSjP-eMI1U?}[&CQ%R޲"aV%2lE]L$\ua++b*5 ?VOOw|娍W{GF%Jn ~|;əIO(bo~&rf$`❇̽ mB~I׌RyF)qZ`b2ܥztM,1*f3t|10Sdduj!s8IuaVnD۲HrIy-,Bb|ܖ%JODskrOZ0'.7'Z"yN`v ZːɅZr2v5Pwޅ^Ҭs L^'0뢶a`T~#di5;n CLaYA:08H˪ꅿ͹MI#I[,2lS.Rڶj/TAV#]D) o9PusyjnsM KˮR KH簒`3k vQukUgǠe_UgYv?G)0H [OxpݫmPa`4WY)N\nҶm[knܧA+n.3j;SvֶsTv2iۻpe) lfe[6[ikm,kvW[뎹Rvˤ՚+v+ݖn a&r2nQ;*ګJحiusp1]j\Kv/{ު)W9SI2k4ݕiw niwuӕR諫]9ͷSmT]复۝@n]uIkNݭv J'Ed.;;Iv5գ]ӛkN;HeMv;n.M%GO5_s3nƭwvc] θ]SlTNwwXpr2r`̶mݻ9Sj2.m6kcGO!(?& T4 Pi=4#z4TQdh%= @*7ђA* Hi%tji5l?d}j`Gi4vD*:Vvv "磵V ł9xO0=q ѧW wIøatS޺zlt6#`Q=rui 99$5I6j\ c\j{wObuzzee)Ҋ[bJ;h撏Xa6 V/5%zZGԒtj[!eܘJݬX eůW֣FgeM˶[ļ*q'p;Pct{z63Ƹ۬8ۦz:'tcď3v$ nN!ljlt%O7U Ëvq\ (^UMSXwn8ƞ_X sfMOFW0c^MmhttI$vҜuM,.[g/!ьry1{RI] 5vm'kiSyxaVM1"HGht\G/k<ձIV]E&sdF6 Wnfd@5.fbDnS6[6eE*mک] BCEz{n%`Ҩ]dqӟ$]Vۨ1jz;u$Y=p>j7n6 ۛպՃ8 q HeO4[r@.D!Y8]ȋKu|viB(On8:6{7NMFT}mŽvnhN9l"c[f=nٳق7jX봇#Fx,نrqvH3E'.l6Tƺ-u%R:ǎud)랲uئ|N1sǭ3o=]&)^9zB t\|^]uZxnʜZt㪞z'0ZL6+fRD-6Qn6ڃݖ1|mv^9:$MEإxٞw6uAڗQqV#=rIf}X 5͹dqh8Fxܼ9ϒNtsÝ6$ul,n; P$3\붤lԙ&=b. Z:cv\;B%IZu|9WsՕkq$Z0'*v9&t[ c#A #:7GISlW{Yv8a.`(p!h OʝQc@u1n&˺.Ս ]Yx>+فmz\s7![ 1;%n:SPU'XtTcWl!rtLtlZU$xջkӜ[<8WIݣ7]ۆNݴ*=ǧV[E5bWFvYSFE2)Ofk2--CEАǿbRjiэ&X6\M IIWqaWWWn>..j$v΄mY'm&Ɨ&Kamy;oo2ժFYfL7mS7AEL1꘷(/xpkMta<T:VWk27b1H'&gɵkQd9GCyəz#8x\l3ֶCu "sgqgn9Z\uWcZ㚳k]$ δڋsmnl1NѺC`.`iɁW཈vrנmpK'[fsӒIjōhG\3VӔvmS{hړ]%vsHiM-`I[wA %K!f㞫nۓv瘅÷97Bd,bMJlI&bU:8՞_L^j*S;KµIjd]/#n: VbAs.KD*vw# r隨G {\h:ݹq,K]7awjyi\7N[CF؇#=PۓfK5nqI# /l)h26IEKw>m7 1d;.1ZK&67,A; .;E.z*QC$Qv65ь趗e!Ͷ㞞bvz ]Xz[ z6M[ Iܰ\AY9dHpKl$57cc*t5ٸgZP+:n̲AnPQ:{QoXD4%g<}V{@޴=k+;h'jXQ>c%fa5|ՎiWݩl4aDXVvfx"o骞|_+Nc[uVۈ ݯOMPNشtlgפ~Y[)fd-k m9hc̻'Nc{aN]hN]l%'$vԧ$lv(]$"s!7[Ʌ윺$gU;Xr5vϜWQJxQ-qtk,.^c:x]ׇap&[0 cvfSyGq˻undt&uɬ²EZ8ST77^ XN.N:9xfC:k;XtzzcuIkY<"bRՇK<8R:'gQ<G' &3:uLZEvFIƓY≬(xGhvruWy抧#KŬӬ%dƠʅz_msu] qz6Ovq47=y:E۰.1h\tmukXEsځA);Nt,\|AΝz%ԛY \&qʛSڬ+Y0ЃjZBv*TG(ZFl8щev$Ò1Q$-% vi9f{snGRvwDW.wo^+V ks`Ԕ&"4'7ݍ2B}v̾jUP<ᵷ91-hLhGsVKkQ+nyfٙuF87d [ӷR=qՑ7qзS4[$ngCc`9 pO5S cr^cJ֚ u"teԓg:j]I9B vJ2=yU8frrk(R{kXZ:;IHwZs'nbk$kۄ[ \S;|v;8۽d̻⹡E•ۈؘ4.-,ևi^< -kv۱<#t@&<FwgK 6n ^)mv7:Ѣ`̓#a=vƊG:4{@l61sq)f..K,Qy\׮ufmϪ=H:9G>;+/>>&n>kӥ7Ivwk]Ztx(U \smkk1:^:%3;ٞ.>}vϤPMpez8YwG*Uc7./xyflp *YDӮf+Ys\+ݷ B˖,[WlZylw=.@ll/<8/D7<%Dv4hk]&OltV.GE3r1$XzRLf֓.@˷I;ʹJMۤv%dσn+4;[6{(Lp\m=A:٧\ń51stjw%vx]S냇mp4[QFqѷZEr^'0"w6`3Aits:<ݥ]:YWC5F/f\AlsbR8.PgnܐW,A+fk[cLeq7$COQɷ֔n$yн3svG'tp])Ptq1ۇCw\9+׶t.MTc85ή9*5OGܗHF[x v1lHot}I1㥀gʗr;I#1{tE afL׹y{9Hך$8N  ve.pjUvt4U 3Q+I$;hFqzVrlUS F;@Sqfjtr8Cԧ`&B6QJqnkNm][kuuxaU'/h]q l^Lڛ3X64c!ePڹ1G7Crrv-)qn&cڊC:vIVCb ݝƭiBxPv\* DGwPg[kJe aGe̜UU8 *5xnm fE+yWmIݭStڏ^BZa.3ܝf1s׳[DIKhqGaauq=2n7<=Y Gەzp]g 1t0ss׌= 4q=ŶC1tuޕqb,<qŎMv(CGL< S^Hx|1rB17_Knw7Knij! P̩4躘"]B>|s5Q6[XTK$I<74Prˎ-i,)k\oKؙ4GM=q]=.R([jxѮS<$[b)MA ؏zz 3Sϩ\js8uD-\FaD%vvlqitL5"ϖ/ 4y8u͹yBAH< hf;lTԇ%OnpuƷcI68+XzC\(*’PlHInbt3t"ۥn>00P~;/j[\2kM{nmΎy|c(YpTf{{c^xŻ/d" vjy.S-8^%vPN5=ncV 9C<]\>=`byyj紲TS*5+;uǓx9pͶu 5(꧎gq-87DXn"^JX,y\:7iHK\R gn=^$| sC;W!j#8Jyݝɂ-v`֛7dugY:"ui|\{vu넻PT;=Oؖ7J)NT!! G-܊Vɢ@n*zE\ڀNv-P<шU3AOv"њP>{v #Uk"{#bV㔐SP7ctk[%<*zy9#WZ-:hzPzy;m|HYQe1 aJc  ̔7<447[;˘6\8 VRJسCRu#7,6<65ڋ=ƥ9j/ Qsr/mxYڣ7#ŷ)Wu@]=:vEFuчnـs Ƌ\ IP)9nYڽWݣe* l]Vs.cX4f6[ETή1Wh )97,pkC]۰e(Zuyc$ua]qկBstC"*ra6v؅ۜQ$HWۉnW(tv!Q4Pqc];vL;vn{JŒ\%w1`c8<ε&=q.Y29؈΋1oEEa 4=r $v0;\˜Lc˻&nz56<[˫ZI[F^;GYq#Nsrѻ\iͮPڭP^U(h6]Z'$'kxwgvu95pͨm㗎3sa7@t>x9=S=\$iy3!@yMàҙ Kd .x%WC&"ݎtOzY{'kdVN99y@艸khڹ\Y깜Eryurrs5>dbkF/qrϹjHq`ӂ8)c7jgplV[+b#A:3]ŐAV2F(DkҎz5`۫Ӟק>VhW&k&KYN`u] p p=;9PY}B*\J>Crsmՠ:]FjN1L63nppapu¦=sdvJl]icZ lKU(;BӢ3Op;w6؍zu7]sL9`/^Э\筣h4%Ykڍ)Ocv#6,UX_Z*7{n@XIq [P];p\nnqpFيmЃysIxקKlu[Y&^ mu=f26CA竡cŴ;9vS,G嚹I3BR[<$Ye1󮣻6p\qVs#SĹ@9 L)wȣ[sLcN0 z=rmPo{D6R3"q+i,Ha.Au1=ru;voB \WF]pv9E"ӖE8D7@= LuqۺjJخh9Nm`Vz6S 2Dۍ:DumMhm\ ۱Ǯxgӽ\=[F{¤Edm\D:1:F#H䫢{wtWž);CCas$mkhcMY-rmTX;Xݡf.swMA.^ǥp֤:-9Ǯ5^q5ɶіϮA7 6h5FJT1֜4,ǫ]VZWa7V*;NrG9(Ŵ4X|wKxi2V3ɬ,f6ivv]DnHkpgd\<=: y0sҼu!1Ѝ39N' ص@tsPEfvs+;M,IZ(uЋg6t*#LQ-Ŭui(1^W="/arFGڢ<ݣI,%-{ Wx:9sB-xֆqا+W]u jCz*6 zYv<{8WΖ%IDk%j(kdƺI+֌0\Tus-xt4v:0XU.Z)nݱ\L=KEgۭ^CܳԼ5[]Ȉ=e1s^9U@sp=۝KjB$ jMEDG=/cr{trs u͒k;T>1c7T[t K4<R;ԗ AzzNYv a/@O)۵m'n44${I%I)kYrN̞R3g.wS|t;wͥ&N=q;v% 6tjv)8M\BMQZfV(q&Ιka9W}g)=Ɗ͊R#H%cjZnJ]qdqmsƼOvmsq2e)ǟb9{x\'Q༺քU^.L+;nd-6זqmC.;1<փ麸ty\3ǴRtGN9Rc6݆GfRccu {u5eᡨ]Ov8uvbuԌrI^{hz.un \t8y%G(v+e73u>We:V<@J8mJv-kzmN8 .gQA`"\ъCT|&Kv)4Ul ABU0$䧆Rymo\D |nܧFv7'KN3Gf7o ll#&*n`6Tx)|S !+>J1n!@š;]nZSk9z=뎈ι=lM֪[ 4\BRrZR;ghp]7nz`ϯO7^Y s,zÛtpBJ/7<S4 FY;jFʎE%sx^5?W˒g'=WG [eY]%FI<,$%HієFsqLChxIRjݠΆͷnn 5#Kɬ&3#%Zz4ЗMuA_S/ ߏ/vy,]KX7Ec{}~~~}ǥniaMؓNhBz0F=)x*V@H3О(k5E*xKs2$LŨ qڕS@y2qa8,|#N1\ 2gL^1z}?oq}{wqߧwq PIi"ڧ}].+ql֝>*BaJR˷ 88.p JYlme4/data/cbpp.rda0000754000176200001440000000066712051752003013446 0ustar liggesusersTJPMҚF],"BJR\/pmLR Զ$ETo̥9&NΙ{Μo~ߩw/cV!<-ہx lCK?e 1w&*OO⪽Q"Nǔ!ɔ`gt>S8o= 08 ݌~K?$zeXq f3^tn9%xy,d%}flme4/data/Penicillin.rda0000754000176200001440000000072412051752003014602 0ustar liggesusersR@ED| nPѵmDp'r[r U7sfd,w }IheG]sJy CrZƵZh6r45N/I"+ 2?>9?/[ηcW(~qۯYYOzSb~O/MMΟWգ?EjZ'$!JvD"hh(K#: :$:":&k/9c"o<ڀt/W x<@ C`0L_bɶgRtv0_0 #oö3jiaܢo;@pxXf1emw9ho3r;NPrpʷ{Cy2\0e>IIVbwYf?\u lme4/data/grouseticks.rda0000754000176200001440000001263312051752003015060 0ustar liggesusers\ \E} $<7B!^B $wf9pO^#/ ! @/! ܶ>jTK4Z-}ǭZ[j6hR@;gΙ{h˗y}3vvGj))'#;u S kv]nvnՎ8 +l/\>v0 8{Mm}Dv<Z t; 1d`6p*pt`.<8 ,s@4`&1- 8X ,XV`X e&rEO/^ x9p%~ \l^\ x\\nvhM-ۀہ`/pp'0 ~9o~x# /~xK*k[oun7o~ x.^}~?O?_50 a#G |; |pp?iA y+oa |*#< 75 uǁ'o|]{Sn+     Wu       ĿB+ĿB+ĿB+ĿB+ĿB+ĿB+ĿB+ĿjWWWWWWWWWWWWWW@+ĿB+ĿB+ĿB+ĿB+ĿB+ĿB+ĿB-_!_!_!_!_!_!_!_       j@+ĿB+ĿB+ĿB+ĿB+ĿB+ĿB+ĿB}_!;%#oe+ջgǎveNSv"ىe'Δw{t{ۋ^Znihvihvihqiaqiaqi4Fi4Fi4Fi4Fi4FiDN#rӈF4"9iDN#rӈF4b;iN#vӈF48i$N#qHF4r-r-r-r-r-vmvmvmvmvm8n?w5w w܍s7nTZ?O~SjTZ?4444444444 ՚TkRI&՚TkRI&՚TkR-ZDj"ETQ-ZDj1bTS-ZLj1%TKP-ZBj %TkQEZTkQEZTkQE6TkSM6TkSM6%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%^b%MzI^Ҥ4;^uЍv"WmΈmgx;6ӖN:z+ ,Yr-9^9f]/l-[nX^?57Y\PzyN:W_g??Z?_qʟwϕ#AGݲtƾnx,Wql|rWNN8]_G+lN^wsB9{΋`9z,/XSuqNY^9f A[ȻOBҏYwW{|ɿ.p~BU q=/oz ?ϳ^{>T_ :;\@By4|ݲE9zڪj,lPS3Ulvd pB fD'e0˃d4eqdA$[*28Z>J2B8, `Q`qL/3%05f "qI Z%hט]&8KKL2 Ԙcy+2fIF .1ǥ@2|l`c $Npy/lWԘ%j\Y- Y2ؖH`֘9c{;jB, vyLD5f%"rαѳcj"G8>q|>|A#G8(qP>|A#G8(qP>H|đ#GR8m,#G8 q~=yǍ >8RU~y7c}|0ϡ#{c?ԞG&p6&@rrBc6+C6'A6'SOgֺ$em0X-CO xGc'bliLs=OyX3_w\0.|ݛxY+'z}\Y| /ؽtcO ^v[/p:ϻg}ϼyusPyVUCG>:8 U|g>3ڴ#Fr">B|y>_Oڵ..96^<ڰGX=VKY}ˣ(_p6.}cUJ<^}\*mze*UJ[j\[H:NSߡCOuUC7 -zn{ `rkja˂QxʩJa;ڡKv\ݝ\ [ygnx/ dƶª驖euqm{_4O7\r/Ogwϟa{4p+g}[}[;ܯ <08M翏X{9<{OЎ{.]t_:߾yO\=_^yfr[t}_4s}>\==yo>K9[ʒֻm}'{ϲ1זouIaվ-g:#>"4փ>U>ac~t)^_&zǥ-W/<;QL](#} m϶8ͶOpuGw_qW}o_X=o<>>=slw帠/OջO^OR9}Gܷ>n3^5m8{\}V@]yN~(:/+K%us)Vwuy=[1.N7ڸaAx *-z m[3nx0|}J]L+׸_֭c׵/ۯW_>?~?xN- Z36Zp=oSʯ>_uWXE'Ƿt n$juZp5-7ګjKChUSaS#>UHEV_SXSCp}~joKh*^ (W_ZP!@m\=>_ }% :<Ȁ/}5IdY*Y**Q?C4)ٙlMɼ KɞIoHɀFdlvdMUlf\'cYw,lVdI\6-Vhl5Nihݽll4| ee^XeVgmYY~vU(kςf fE^P(;g4^L!nVl?)d{8 ?K"g1Y ~B {^aVߟ}͖W~flshٟ5-Yکnb6;:cǶ벓oڕ}}:Cou:/ *wlme4/data/Dyestuff.rda0000754000176200001440000000043612051752003014305 0ustar liggesusers r0b```b`@& `bN pL-.)MKc``c`*dALX03̂bl}l9e9@THp1a pC359'f$ܢ" a 8Lk@36@i(( 3E3POjLߴ'P 9k(i{ } &&SbIr(\@#Bh!ϕXV lme4/data/Pastes.rda0000754000176200001440000000110312051752003013743 0ustar liggesusersݕn@vДr++]Qpn(m/X973QX2g˜3{zTBXªlRR9I'Bْ҆;'͛x?T ujbޜ97==1yz i_0cѿ=;|/zǹ·ss)zCys!uhzú=-ĥ|t\k{F%,emPɠU1h͠AZq|UM!:LLLLLLw5˄Ɍd^L]zgdp36ݟ$3$i&.X,]hA=hmA!z =v39Z]nHC:u 4h0`eee@&-Z h3f@ t2c@jn{^\\˳v^ ֵzf}K\KI|1=!h(ӈH&@">cCzcʽDE)?rlme4/data/VerbAgg.rda0000754000176200001440000001157412051752003014036 0ustar liggesusers7zXZi"6!X==])TW"nRʟXaqjnj-&kf83ur#|Z&0X~C-W1Zp_v驏,ͼuJQ"qՏ@`Fsɬ⨒&&1w΃7 @;ǁ% S 7\u1"\c2&6͜rMH+NnCPRp2ln`a.Wk3Du$yl"2|ƙ?(3k;ȅE燍zΏ5]8/(1&۰+KFN8]lnU )ל"9JM.}G}Nn%)̻}w_Ƚ1•Ebt]=neA&`T綂. \r,&M<#B}ػfD䙹Y칒;g#ScbZϞ(P*M=ԑ7W`RT558'95SoՏ &ڱx/bL~+_!R#C;ܴO$gRFd02R]HrpNfMУ5 aINb2fh7E wZ(V'#M3t+msI>q9KV.D_ L.V DW2J,-X6R] þ(D^ƵT|*]SFzR!]Z*F`Fn E5fD^kj=<7b \9Kv82SGFKx^M˄*Eq˜ͪ:KPZӏ rp ]}n8]!~G7pG4KEcgmHGt*ryVYdϭ:,)dҘpr ?I ox C1خfIJG0jyQB=Yn2`ذPRڶ.-o*!=ND]f>|JVAm!?ig͒zc '.H73R4\Kq45=C $:y&35,̓6|?/8fqz a4豍BSlƛB8~kc yTJ+oOMFՕZK*ɡy4z), <#aՠ:2OM@󓓅TYBq%RMO\O _3L9՛>ȌBjub6zk+駜=D; U$&hGWGY_XF41ۘeB*EL"eyfN}NkxgB#FU5e>4o]$7uՃvPfLJv_>l ^K)K*kK:1ƾ~?y_ڼ.OC dwFi'-nCמR5ezb}U;Z2S]WEUK;048<`<,.Uq3,;a126X:bؚ.3ƈ6 F $/K4Y`UZ~xM=k`t Xp{((-CV0uuk=7E7~̽:@R330 ,{:u8R oy3vܫ'>B&"t9A LUۋ 6ҿ**y_RA!oig#0fCb2Pu9c{هeI{KF`bՖGP[RVRF~9+\+dT͔ ;.g8-`gWNֈHÜ<ɉ Y(mL\m)JĚP>M H""s E E\ikv]` 1odDވʳ*@VEZ-hЫz5Qqd{aͦ(g e3NUynv1<M|fAdkx|5q 3iu)֖w4aX7U;N i}f}$Imx;y>YB;u;13y8(nXWH.]xe2K_]s ucr5 V>}"awPfp&i`]A{^@&Z ;:?9I&h!8~vC#`34zK+aafRR_LihAC9}떼x!LúO'ÂuᇁfZic DvyOr&-_y;"K vx5Rr=16ObK+mW/tΦ _=,mdHitx/ ^uTB$$&,`pD,TA^T;&ڑE3mݳoGX$~+eC!fツ^;LѠQId9{ʡ\wc\g-"M+M9:S&z8jq<¿N~/ͰkT7ucR1X cbFe*Ec@3֫nb(z3D]x1kKc<2aSoϏ}8?=PŃw/+G#U3X’W N~3U ՚HG2#uj)Uh'$$aï_=&"@-U;EզI˶NDY cu|2b_j7pEC+Z^( =[鈺'i0 uH= Ua=Gt+Ӱڥ(t{ %U3!8voʳ'}ɲ(3U26Ԣ-gl}Ãy]k6h,c=xNp {aE?'ނ9jvu֞qc g8:{&U>0 YZlme4/data/sleepstudy.rda0000754000176200001440000000307312051752003014715 0ustar liggesusersWgTW^V=D#h J4ذ+RvwJbK`XD, HTX*j 7Սsw7}{ΆzZZd2S-yܔD!  CB/l|]$@,; B.*MPB#.1ĽFߖvК}+d]J'f!#A "LvK:[nQmXyt.cYMO5ËoWjLfW<#LY@t]2oH8k2Ws-A[H8]mVo 7݊65G;Hg2 ;l{ ][\Ѿ>>,ks:&Vk(+ 8q?p{źsWz[U@{ꍲ&e`и=T]XzjVC]"غܟչwm8oL*)Z8ϺB2#B?@dK7 A0ad(kǰ$+`<:=-ó5$-*-gAL ;$}]hG_0+!{DX_ E/L`N ~q?FB>X] YLdw?iTwXhmn@ UɩW^_z}WL&a*fa. $B",%J"a- %DHDc&T"*N _ͼ{YG?4^FYфQQQQ(g,*!ďOUDK5 򃸙UGQûy"3#gz,A?ȣn(hVKST\ݒ k lme4/data/Dyestuff2.rda0000754000176200001440000000065112051752003014366 0ustar liggesusers r0b```b`@& `bNvL-.)MK3b``+d`d*BLX03̂blŁl9e9@THp1a pC359'f$ܢ" APeŕ|Gf/}ÁOhwz?F㛃Cu"U,#|/?.ٓUd7STh4h:]2A랩}ۉb\s9(w]I/EA8h‘92quJ_|csPA] tѯ$Jf Ȗ{[D9+<` r Nsc+qz0%‚ &XDf椠'r=VPRbjQ-RKҊZplme4/R/0000755000176200001440000000000013216511171011312 5ustar liggesuserslme4/R/modular.R0000644000176200001440000010400213170142615013077 0ustar liggesusers#### --> ../man/modular.Rd #### ================== ### Small utilities to be used in lFormula() and glFormula() doCheck <- function(x) { is.character(x) && !any(x == "ignore") } RHSForm <- function(form,as.form=FALSE) { rhsf <- form[[length(form)]] if (as.form) reformulate(deparse(rhsf)) else rhsf } `RHSForm<-` <- function(formula,value) { formula[[length(formula)]] <- value formula } ##' Original formula, minus response ( = '~ ') : noLHSform <- function(formula) { if (length(formula)==2) formula else formula[-2] } ##' @param cstr name of control being set ##' @param val value of control being set checkCtrlLevels <- function(cstr, val, smallOK=FALSE) { bvals <- c("stop","warning","ignore") if (smallOK) bvals <- outer(bvals, c("","Small"), paste0) if (!is.null(val) && !val %in% bvals) stop("invalid control level ",sQuote(val)," in ",cstr,": valid options are {", paste(sapply(bvals,sQuote),collapse=","),"}") invisible(NULL) } ## general identifiability checker, used both in checkZdim and checkZrank wmsg <- function(n,cmp.val,allow.n,msg1="",msg2="",msg3="") { if (allow.n) { unident <- n < cmp.val cmp <- "<" rstr <- "" } else { unident <- n <= cmp.val cmp <- "<=" rstr <- " and the residual variance (or scale parameter)" } ## %s without spaces intentional (don't want an extra space if the ## message component is empty) wstr <- sprintf("%s (=%d) %s %s (=%d)%s; the random-effects parameters%s are probably unidentifiable", msg1, n, cmp,msg2,cmp.val, msg3, rstr) list(unident=unident, wstr=wstr) } ##' For each r.e. term, test if Z has more columns than rows to detect ##' unidentifiability: ##' @title ##' @param Ztlist list of Zt matrices - one for each r.e. term ##' @param n no. observations ##' @param ctrl ##' @param allow.n allow as many random-effects as there are observations ##' for each term? ##' @return possibly empty character string with warning messages checkZdims <- function(Ztlist, n, ctrl, allow.n=FALSE) { stopifnot(is.list(Ztlist), is.numeric(n)) cstr <- "check.nobs.vs.nRE" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) term.names <- names(Ztlist) rows <- vapply(Ztlist, nrow, 1L) cols <- vapply(Ztlist, ncol, 1L) stopifnot(all(cols == n)) if (doCheck(cc)) { unique(unlist(lapply(seq_along(Ztlist), function(i) { ww <- wmsg(cols[i], rows[i], allow.n, "number of observations", "number of random effects", sprintf(" for term (%s)", term.names[i])) if(ww$unident) { switch(cc, "warning" = warning(ww$wstr, call.=FALSE), "stop" = stop (ww$wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() }))) ## -> possibly empty vector of error messages } else character() } checkZrank <- function(Zt, n, ctrl, nonSmall = 1e6, allow.n=FALSE) { stopifnot(is.list(ctrl), is.numeric(n), is.numeric(nonSmall)) cstr <- "check.nobs.vs.rankZ" if (doCheck(cc <- ctrl[[cstr]])) { ## not NULL or "ignore" checkCtrlLevels(cstr, cc, smallOK=TRUE) d <- dim(Zt) doTr <- d[1L] < d[2L] # Zt is "wide" => qr needs transpose(Zt) if(!(grepl("Small",cc) && prod(d) > nonSmall)) { rankZ <- rankMatrix(if(doTr) t(Zt) else Zt, method="qr", sval = numeric(min(d))) ww <- wmsg(n,rankZ,allow.n,"number of observations","rank(Z)") if (ww$unident) { switch(cc, "warningSmall" =, "warning" = warning(ww$wstr,call.=FALSE), "stopSmall" =, "stop" = stop(ww$wstr,call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() } else character() } else character() } ## check scale of non-dummy columns of X, both ## against each other and against 1 (implicit scale of theta parameters)? ## (shouldn't matter for lmer models?) ## TODO: check for badly centred models? ## TODO: check scale of Z columns? ## What should the rules be? try to find problematic columns ## and rescale them? scale+center? Just scale or scale+center ## all numeric columns? ## checkScaleX <- function(X, kind="warning", tol=1e3) { ## cstr <- "check.scaleX" kinds <- eval(formals(lmerControl)[["check.scaleX"]]) if (!kind %in% kinds) stop(gettextf("unknown check-scale option: %s",kind)) if (is.null(kind) || kind == "ignore") return(X) ## else : cont.cols <- apply(X,2,function(z) !all(z %in% c(0,1))) col.sd <- apply(X[,cont.cols, drop=FALSE], 2L, sd) sdcomp <- outer(col.sd,col.sd,"/") logcomp <- abs(log(sdcomp[lower.tri(sdcomp)])) logsd <- abs(log(col.sd)) if (any(c(logcomp,logsd) > log(tol))) { wmsg <- "Some predictor variables are on very different scales:" if (kind %in% c("warning","stop")) { wmsg <- paste(wmsg, "consider rescaling") switch(kind, "warning" = warning(wmsg, call.=FALSE), "stop" = stop(wmsg, call.=FALSE)) } else { wmsg <- paste(wmsg, "auto-rescaled (results NOT adjusted)") ## mimic scale() because we don't want to make a copy in ## order to retrieve the center/scale X[,cont.cols] <- sweep(X[,cont.cols,drop=FALSE],2,col.sd,"/") attr(X,"scaled:scale") <- setNames(col.sd,colnames(X)[cont.cols]) if (kind == "warn+rescale") warning(wmsg, call.=FALSE) } } else wmsg <- character() structure(X, msgScaleX = wmsg) } ##' @title Check that grouping factors have at least 2 and 1 sampled level" switch(cc, "warning" = warning(wstr,call.=FALSE), "stop" = stop(wstr,call.=FALSE), ## FIXME: should never get here since we have checkCtrLevels test above? stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wstr <- character() ## Part 2 ---------------- cstr <- "check.nobs.vs.nlev" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(if(allow.n) nlevelVec > n else nlevelVec >= n)) { wst2 <- gettextf( "number of levels of each grouping factor must be %s number of observations", if(allow.n) "<=" else "<") switch(cc, "warning" = warning(wst2, call.=FALSE), "stop" = stop(wst2, call.=FALSE) ## shouldn't reach here ) } else wst2 <- character() ## Part 3 ---------------- cstr <- "check.nlev.gtreq.5" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(nlevelVec < 5)) { wst3 <- "grouping factors with < 5 sampled levels may give unreliable estimates" switch(cc, "warning" = warning(wst3, call.=FALSE), "stop" = stop (wst3, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wst3 <- character() ## return: c(wstr, wst2, wst3) ## possibly == character(0) } ##' Coefficients (columns) are dropped from a design matrix to ##' ensure that it has full rank. ##' ##' Redundant columns of the design matrix are identified with the ##' LINPACK implementation of the \code{\link{qr}} decomposition and ##' removed. The returned design matrix will have \code{qr(X)$rank} ##' columns. ##' ##' (Note: I have lifted this function from the ordinal (soon Rufus) ##' package and modified it slightly./rhbc) ##' ##' @title Ensure full rank design matrix ##' @param X a design matrix, e.g., the result of ##' \code{\link{model.matrix}} possibly of less than full column rank, ##' i.e., with redundant parameters. ##' @param silent should a message not be issued if X is column rank ##' deficient? ##' @return The design matrix \code{X} without redundant columns. ##' @seealso \code{\link{qr}} and \code{\link{lm}} ##' @author Rune Haubo Bojesen Christensen (drop.coef()); Martin Maechler chkRank.drop.cols <- function(X, kind, tol = 1e-7, method = "qr.R") { ## Test and match arguments: stopifnot(is.matrix(X)) kinds <- eval(formals(lmerControl)[["check.rankX"]]) if (!kind %in% kinds) stop(gettextf("undefined option for 'kind': %s", kind)) ## c("message+drop.cols", "ignore", ## "silent.drop.cols", "warn+drop.cols", "stop.deficient"), if(kind == "ignore") return(X) ## else : p <- ncol(X) if (kind == "stop.deficient") { if ((rX <- rankMatrix(X, tol=tol, method=method)) < p) stop(gettextf(sub("\n +", "\n", "the fixed-effects model matrix is column rank deficient (rank(X) = %d < %d = p); the fixed effects will be jointly unidentifiable"), rX, p), call. = FALSE) } else { ## kind is one of "message+drop.cols", "silent.drop.cols", "warn+drop.cols" ## --> consider to drop extraneous columns: "drop.cols": ## Perform the qr-decomposition of X using LINPACK method, ## as we need the "good" pivots (and the same as lm()): ## FIXME: strongly prefer rankMatrix(X, method= "qr.R") qr.X <- qr(X, tol = tol, LAPACK = FALSE) rnkX <- qr.X$rank if (rnkX == p) return(X) ## return X if X has full column rank ## else: ## message about no. dropped columns: msg <- sprintf(ngettext(p - rnkX, "fixed-effect model matrix is rank deficient so dropping %d column / coefficient", "fixed-effect model matrix is rank deficient so dropping %d columns / coefficients"), p - rnkX) if (kind != "silent.drop.cols") (if(kind == "warn+drop.cols") warning else message)(msg, domain = NA) ## Save properties of X contr <- attr(X, "contrasts") asgn <- attr(X, "assign") ## Return the columns correponding to the first qr.x$rank pivot ## elements of X: keep <- qr.X$pivot[seq_len(rnkX)] dropped.names <- colnames(X[,-keep,drop=FALSE]) X <- X[, keep, drop = FALSE] if (rankMatrix(X, tol=tol, method=method) < ncol(X)) stop(gettextf("Dropping columns failed to produce full column rank design matrix"), call. = FALSE) ## Re-assign relevant attributes: if(!is.null(contr)) attr(X, "contrasts") <- contr if(!is.null(asgn)) attr(X, "assign") <- asgn[keep] attr(X, "msgRankdrop") <- msg attr(X, "col.dropped") <- setNames(qr.X$pivot[(rnkX+1L):p], dropped.names) } X } # check that response is not constant checkResponse <- function(y, ctrl) { stopifnot(is.list(ctrl)) cstr <- "check.response.not.const" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && length(unique(y)) < 2L) { wstr <- "Response is constant" switch(cc, "warning" = warning(wstr, call.=FALSE), "stop" = stop(wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else character() } ##' Extract all warning msgs from a merMod object .merMod.msgs <- function(x) { ## currently only those found with 'X' : aX <- attributes(x@pp$X) wmsgs <- grep("^msg", names(aX)) if(any(has.msg <- nchar(Xwmsgs <- unlist(aX[wmsgs])) > 0)) Xwmsgs[has.msg] else character() } ## NA predict and restore rownames of original data if necessary ## napredictx <- function(x,...) { ## res <- napredict(x) ## } ##' @rdname modular ##' @param control a list giving (for \code{[g]lFormula}) all options (see \code{\link{lmerControl}} for running the model; ##' (for \code{mkLmerDevfun,mkGlmerDevfun}) options for inner optimization step; ##' (for \code{optimizeLmer} and \code{optimize[Glmer}) control parameters for nonlinear optimizer (typically inherited from the \dots argument to \code{lmerControl}) ##' @return \bold{lFormula, glFormula}: A list containing components, ##' \item{fr}{model frame} ##' \item{X}{fixed-effect design matrix} ##' \item{reTrms}{list containing information on random effects structure: result of \code{\link{mkReTrms}}} ##' \item{REML}{(lFormula only): logical flag: use restricted maximum likelihood? (Copy of argument.)} ##' @importFrom Matrix rankMatrix ##' @export lFormula <- function(formula, data=NULL, REML = TRUE, subset, weights, na.action, offset, contrasts = NULL, control=lmerControl(), ...) { control <- control$checkControl ## this is all we really need mf <- mc <- match.call() ignoreArgs <- c("start","verbose","devFunOnly","control") l... <- list(...) l... <- l...[!names(l...) %in% ignoreArgs] do.call(checkArgs, c(list("lmer"), l...)) if (!is.null(list(...)[["family"]])) { ## lmer(...,family=...); warning issued within checkArgs mc[[1]] <- quote(lme4::glFormula) if (missing(control)) mc[["control"]] <- glmerControl() return(eval(mc, parent.frame())) } cstr <- "check.formula.LHS" checkCtrlLevels(cstr,control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") #mc$formula <- formula <- as.formula(formula,env=denv) ## substitute evaluated call formula <- as.formula(formula, env=denv) ## as.formula ONLY sets environment if not already explicitly set ... ## ?? environment(formula) <- denv # get rid of || terms so update() works as expected RHSForm(formula) <- expandDoubleVerts(RHSForm(formula)) mc$formula <- formula ## (DRY! copied from glFormula) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in ...), ## so they have to be put there ... for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i,get(i,parent.frame()),environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only=TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) wmsgNlev <- checkNlevels(reTrms$flist, n=n, control) wmsgZdims <- checkZdims(reTrms$Ztlist, n=n, control, allow.n=FALSE) if (anyNA(reTrms$Zt)) { stop("NA in Z (random-effects model matrix): ", "please use ", shQuote("na.action='na.omit'"), " or ", shQuote("na.action='na.exclude'")) } wmsgZrank <- checkZrank(reTrms$Zt, n=n, control, nonSmall = 1e6) ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.fixed") <- attr(attr(fixedfr,"terms"), "predvars") ## so we don't have to fart around retrieving which vars we need ## in model.frame(.,fixed.only=TRUE) attr(attr(fr,"terms"), "varnames.fixed") <- names(fixedfr) ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") ## FIXME: shouldn't we have this already in the full-frame predvars? X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, REML = REML, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ## utility f'n for checking starting values getStart <- function(start,lower,pred,returnVal=c("theta","all")) { returnVal <- match.arg(returnVal) ## default values theta <- pred$theta fixef <- pred$delb if (!is.null(start)) { if (is.numeric(start)) { theta <- start } else { if (!is.list(start)) stop("start must be a list or a numeric vector") if (!all(sapply(start,is.numeric))) stop("all elements of start must be numeric") if (length((badComp <- setdiff(names(start),c("theta","fixef")))) > 0) { stop("incorrect components in start list: ",badComp) } if (!is.null(start$theta)) theta <- start$theta noFixef <- is.null(start$fixef) noBeta <- is.null(start$beta) if (!noFixef) { fixef <- start$fixef if (!noBeta) { message("Starting values for fixed effects coefficients", "specified through both 'fixef' and 'beta',", "only 'fixef' used") } } else if(!noBeta) { fixef <- start$beta } } } if (length(theta)!=length(pred$theta)) stop("incorrect number of theta components (!=",length(pred$theta),")") if (length(fixef)!=length(pred$delb)) stop("incorrect number of fixef components (!=",length(pred$delb),")") if (returnVal=="theta") theta else c(theta,fixef) } ## update start ## should refactor this to ## turn numeric start into start=list(theta=start) immediately ... ?? updateStart <- function(start,theta) { if (is.null(start)) return(NULL) if (is.numeric(start)) { start <- theta } else if (!is.null(start$theta)) start$theta <- theta start } ##' @rdname modular ##' @param fr A model frame containing the variables needed to create an ##' \code{\link{lmerResp}} or \code{\link{glmResp}} instance ##' @param X fixed-effects design matrix ##' @param reTrms information on random effects structure (see \code{\link{mkReTrms}}) ##' @param REML (logical) fit restricted maximum likelihood model? ##' @param start starting values ##' @param verbose print output? ##' @return \bold{mkLmerDevfun, mkGlmerDevfun}: A function to calculate deviance ##' (or restricted deviance) as a function of the theta (random-effect) parameters ##' (for GlmerDevfun, of beta (fixed-effect) parameters as well). These deviance ##' functions have an environment containing objects required for their evaluation. ##' CAUTION: The output object of \code{mk(Gl|L)merDevfun} is an \code{\link{environment}} ##' containing reference class objects (see \code{\link{ReferenceClasses}}, \code{\link{merPredD-class}}, ##' \code{\link{lmResp-class}}), which behave in ways that may surprise many users. For example, if the ##' output of \code{mk(Gl|L)merDevfun} is naively copied, then modifications to the original will ##' also appear in the copy (and vice versa). To avoid this behavior one must make a deep copy ##' (see \code{\link{ReferenceClasses}} for details). ##' \cr ##' \cr ##' @export mkLmerDevfun <- function(fr, X, reTrms, REML = TRUE, start = NULL, verbose = 0, control = lmerControl(), ...) { ## FIXME: make sure verbose gets handled properly #if (missing(fr)) { ## reconstitute frame #} ## pull necessary arguments for making the model frame out of ... p <- ncol(X) # maybe also do rank check on X here?? rho <- new.env(parent=parent.env(environment())) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) REMLpass <- if(REML) p else 0L rho$resp <- if(missing(fr)) mkRespMod(REML = REMLpass, ...) else mkRespMod(fr, REML = REMLpass) ## note: REML does double duty as rank of X and a flag for using ## REML maybe this should be mentioned in the help file for ## mkRespMod?? currently that help file says REML is logical. a ## consequence of this double duty is that it is impossible to fit ## a model with no fixed effects using REML. devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) # if all random effects are of the form 1|f and starting values not # otherwise provided (and response variable is present, i.e. not doing # a simulation) then compute starting values if (is.null(start) && all(reTrms$cnms == "(Intercept)") && length(reTrms$flist) == length(reTrms$lower) && !is.null(y <- model.response(fr))) { v <- sapply(reTrms$flist, function(f) var(ave(y, f))) v.e <- var(y) - sum(v) if (!is.na(v.e) && v.e > 0) { v.rel <- v / v.e if (all(v.rel >= reTrms$lower^2)) rho$pp$setTheta(sqrt(v.rel)) } } ## theta <- getStart(start, reTrms$lower, rho$pp) ## ^^^^^ unused / obfuscation? should the above be rho$pp$setTheta(.) ? ## MM: commenting it did not break any of our checks if (length(rho$resp$y) > 0) ## only if non-trivial y devfun(rho$pp$theta) # one evaluation to ensure all values are set rho$lower <- reTrms$lower # SCW: in order to be more consistent with mkLmerDevfun devfun # this should pass the rho environment implicitly } ##' @param devfun a deviance function, as generated by \code{\link{mkLmerDevfun}} ##' @return \bold{optimizeLmer}: Results of an optimization. optimizeLmer <- function(devfun, optimizer= formals(lmerControl)$optimizer, restart_edge= formals(lmerControl)$restart_edge, boundary.tol = formals(lmerControl)$boundary.tol, start = NULL, verbose = 0L, control = list(), ...) { verbose <- as.integer(verbose) rho <- environment(devfun) opt <- optwrap(optimizer, devfun, getStart(start,rho$lower,rho$pp), lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) if (restart_edge) { ## FIXME: should we be looking at rho$pp$theta or opt$par ## at this point??? in koller example (for getData(13)) we have ## rho$pp$theta=0, opt$par=0.08 if (length(bvals <- which(rho$pp$theta==rho$lower)) > 0) { ## *don't* use numDeriv -- cruder but fewer dependencies, no worries ## about keeping to the interior of the allowed space theta0 <- new("numeric",rho$pp$theta) ## 'deep' copy ... d0 <- devfun(theta0) btol <- 1e-5 ## FIXME: make user-settable? bgrad <- sapply(bvals, function(i) { bndval <- rho$lower[i] theta <- theta0 theta[i] <- bndval+btol (devfun(theta)-d0)/btol }) ## what do I need to do to reset rho$pp$theta to original value??? devfun(theta0) ## reset rho$pp$theta after tests ## FIXME: allow user to specify ALWAYS restart if on boundary? if (any(bgrad < 0)) { if (verbose) message("some theta parameters on the boundary, restarting") opt <- optwrap(optimizer, devfun, opt$par, lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) } } } if (boundary.tol > 0) check.boundary(rho, opt, devfun, boundary.tol) else opt } ## TODO: remove any arguments that aren't actually used by glFormula (same for lFormula) ## TODO(?): lFormula() and glFormula() are very similar: merge or use common baseFun() ##' @rdname modular ##' @inheritParams glmer ##' @export glFormula <- function(formula, data=NULL, family = gaussian, subset, weights, na.action, offset, contrasts = NULL, start, mustart, etastart, control = glmerControl(), ...) { ## FIXME: does start= do anything? test & fix control <- control$checkControl ## this is all we really need mf <- mc <- match.call() ## extract family, call lmer for gaussian if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { mc[[1]] <- quote(lme4::lFormula) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } if (family$family %in% c("quasibinomial", "quasipoisson", "quasi")) stop('"quasi" families cannot be used in glmer') ignoreArgs <- c("start","verbose","devFunOnly","optimizer", "control", "nAGQ") l... <- list(...) l... <- l...[!names(l...) %in% ignoreArgs] do.call(checkArgs, c(list("glmer"), l...)) cstr <- "check.formula.LHS" checkCtrlLevels(cstr, control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") mc$formula <- formula <- as.formula(formula, env = denv) ## substitute evaluated version ## DRY ... m <- match(c("data", "subset", "weights", "na.action", "offset", "mustart", "etastart"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in ...), ## so they have to be put there ... for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i, get(i, parent.frame()), environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only = TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset ## attach starting coefficients to model frame so we can ## pass them through to mkRespMod -> family()$initialize ... if (!missing(start) && is.list(start)) { attr(fr,"start") <- start$fixef } n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) ## TODO: allow.n = !useSc {see FIXME below} wmsgNlev <- checkNlevels(reTrms$ flist, n = n, control, allow.n = TRUE) wmsgZdims <- checkZdims(reTrms$Ztlist, n = n, control, allow.n = TRUE) wmsgZrank <- checkZrank(reTrms$ Zt, n = n, control, nonSmall = 1e6, allow.n = TRUE) ## FIXME: adjust test for families with estimated scale parameter: ## useSc is not defined yet/not defined properly? ## if (useSc && maxlevels == n) ## stop("number of levels of each grouping factor must be", ## "greater than number of obs") ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"),"predvars.fixed") <- attr(attr(fixedfr,"terms"),"predvars") ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, family = family, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ##' @rdname modular ##' @export mkGlmerDevfun <- function(fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, control=glmerControl(), ...) { stopifnot(length(nAGQ <- as.integer(nAGQ)) == 1L, 0L <= nAGQ, nAGQ <= 25L) verbose <- as.integer(verbose) maxit <- as.integer(maxit) rho <- list2env(list(verbose=verbose, maxit=maxit, tolPwrss= control$tolPwrss, compDev = control$compDev), parent = parent.frame()) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) rho$resp <- if (missing(fr)) mkRespMod(family=family, ...) else mkRespMod(fr, family=family) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L ## allow trivial y if (length(y <- rho$resp$y) > 0) { checkResponse(y, control$checkControl) rho$verbose <- as.integer(verbose) ## initialize (from mustart) .Call(glmerLaplace, rho$pp$ptr(), rho$resp$ptr(), nAGQinit, control$tolPwrss, maxit, verbose) rho$lp0 <- rho$pp$linPred(1) # each pwrss opt begins at this eta rho$pwrssUpdate <- glmerPwrssUpdate } rho$lower <- reTrms$lower # not needed in rho? mkdevfun(rho, nAGQinit, maxit=maxit, verbose=verbose, control=control) ## this should pass the rho environment implicitly } ##' @rdname modular ##' @param nAGQ number of Gauss-Hermite quadrature points ##' @param stage optimization stage (1: nAGQ=0, optimize over theta only; 2: nAGQ possibly >0, optimize over theta and beta) ##' @export optimizeGlmer <- function(devfun, optimizer="bobyqa", restart_edge=FALSE, boundary.tol = formals(glmerControl)$boundary.tol, verbose = 0L, control = list(), nAGQ = 1L, stage = 1, start = NULL, ...) { ## FIXME: do we need nAGQ here?? or can we clean up? verbose <- as.integer(verbose) rho <- environment(devfun) if (stage==1) { start <- getStart(start, lower=rho$lower, pred=rho$pp, "theta") adj <- FALSE } else { ## stage == 2 start <- getStart(start, lower=rho$lower, pred=rho$pp, returnVal="all") adj <- TRUE if (missing(optimizer)) optimizer <- "Nelder_Mead" ## BMB: too clever? } opt <- optwrap(optimizer, devfun, start, rho$lower, control=control, adj=adj, verbose=verbose, ...) if (stage==1) { rho$control <- attr(opt,"control") rho$nAGQ <- nAGQ } else { ## stage == 2 rho$resp$setOffset(rho$baseOffset) } if (restart_edge) ## FIXME: implement this ... stop("restart_edge not implemented for optimizeGlmer yet") if (boundary.tol > 0) { opt <- check.boundary(rho, opt, devfun, boundary.tol) if(stage != 1) rho$resp$setOffset(rho$baseOffset) } return(opt) } check.boundary <- function(rho,opt,devfun,boundary.tol) { bdiff <- rho$pp$theta-rho$lower[seq_along(rho$pp$theta)] if (any(edgevals <- 0 < bdiff & bdiff < boundary.tol)) { ## try sucessive "close-to-edge parameters" to see ## if we can improve by setting them equal to the boundary pp <- opt$par for (i in which(edgevals)) { tmppar <- pp tmppar[i] <- rho$lower[i] if (devfun(tmppar) < opt$fval) pp[i] <- tmppar[i] } opt$par <- pp opt$fval <- devfun(opt$par) ## re-run to reset (whether successful or not) ## FIXME: derivatives, Hessian etc. (and any other ## opt messages) *not* recomputed } return(opt) } ## only do this function if nAGQ > 0L ##' @rdname modular ##' @export updateGlmerDevfun <- function(devfun, reTrms, nAGQ = 1L){ if (nAGQ > 1L) { if (length(reTrms$flist) != 1L || length(reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") } rho <- environment(devfun) rho$nAGQ <- nAGQ rho$lower <- c(rho$lower, rep.int(-Inf, length(rho$pp$beta0))) rho$lp0 <- rho$pp$linPred(1) rho$dpars <- seq_along(rho$pp$theta) rho$baseOffset <- forceCopy(rho$resp$offset) # forcing a copy (!) rho$GQmat <- GHrule(nAGQ) rho$fac <- reTrms$flist[[1]] mkdevfun(rho, nAGQ) # does this attach rho to devfun?? } lme4/R/vcconv.R0000644000176200001440000001672512565075351012761 0ustar liggesusers## These files are not currently exported; we are still trying to figure ## out the most appropriate user interface/naming convention/etc ## These functions will become more important, and need to be ## modified/augmented, if we start allowing for varying V-C structures ## (e.g. diagonal matrices, compound symmetry ...) ## In principle we might want to extract or input information: ## 1. as variance-covariance matrices ## 2. as Cholesky factors ## 3. as 'sdcorr' matrices (std dev on diagonal, correlations off diagonal) ## and we might want the structure to be: ## 1. a concatenated vector representing the lower triangles ## (with an attribute carrying the information about group sizes) ## 2. a list of lower-triangle vectors ## 3. a list of matrices ## 4. a block-diagonal matrix ## If we are trying to convert to and from theta vectors, we also ## have to consider whether we are returning scaled Cholesky factors/ ## var-cov matrices or unscaled ones. For the code below I have ## chosen to allow the residual variance etc. to be appended as ## the last element of a variance-covariance vector. (This last ## part is a little less generic than the rest of it.) ##' List of matrices to concatenated vector ##' ##' Convert list of matrices to concatenated vector of lower triangles ##' with an attribute that gives the dimension of each matrix in the ##' original list. This attribute may be used to reconstruct the ##' matrices. ##' ##' @param L list of symmetric, upper-triangular, or lower-triangular ##' square matrices ##' @return A concatenation of the elements in one triangle of each ##' matrix. An attribute \code{"clen"} gives the dimension of each ##' matrix. mlist2vec <- function(L) { if(is.atomic(L)) L <- list(L) n <- vapply(L, nrow, 1L) ## allow for EITHER upper- or lower-triangular input; ## in either case, read off in "lower-triangular" order ## (column-wise) ff <- function(x) { if (all(x[iu <- upper.tri(x)] == 0)) t(x[!iu]) else t(x)[!iu] } structure(unlist(lapply(L,ff)), clen = n) } ## Compute dimensions of a square matrix from the size ## of the lower triangle (length as a vector) get_clen <- function(v,n=NULL) { if (is.null(n)) { if (is.null(n <- attr(v,"clen"))) { ## single component n <- (sqrt(8*length(v)+1)-1)/2 } } n } ##' Concatenated vector to list of matrices ##' ##' Convert concatenated vector to list of matrices (lower triangle or ##' symmetric). These matrices could represent Cholesky factors, ##' covariance matrices, or correlation matrices (with standard ##' deviations on the diagonal). ##' ##' @param v concatenated vector ##' @param n FIXME: this has something to do with the dimension of ##' associated matrices. ##' @param symm Return symmetric matrix if \code{TRUE} or ##' lower-triangular if \code{FALSE} ##' @return List of matrices vec2mlist <- function(v,n=NULL,symm=TRUE) { n <- get_clen(v,n) s <- split(v,rep.int(seq_along(n),n*(n+1)/2)) m <- mapply(function(x,n0) { m0 <- diag(nrow=n0) m0[lower.tri(m0,diag=TRUE)] <- x if (symm) m0[upper.tri(m0)] <- t(m0)[upper.tri(m0)] m0 },s,n,SIMPLIFY=FALSE) m } ## Convert concatenated vector to list of ST matrices vec2STlist <- function(v, n = NULL){ ch <- vec2mlist(v, n, FALSE) # cholesky sdiag <- function(x) { ## 'safe' diag() if (length(x)==1) matrix(x,1,1) else diag(x) } lapply(ch, function(L) { ST <- L%*%sdiag(1/sdiag(L)) diag(ST) <- diag(L) ST }) } ##' Standard deviation-correlation matrix to covariance matrix ##' ##' convert 'sdcor' format -- diagonal = std dev, off-diag=cor to and ##' from variance-covariance matrix ##' ##' @param m Standard deviation-correlation matrix ##' @return Covariance matrix sdcor2cov <- function(m) { sd <- diag(m) diag(m) <- 1 m * outer(sd,sd) } ##' Covariance matrix to standard deviation-correlation matrix ##' ##' convert cov to sdcor ##' ##' @param V Covariance matrix ##' @return Standard deviation-correlation matrix cov2sdcor <- function(V) { ## "own version" of cov2cor(): 1. no warning for NA; 2. diagonal = sd(.) p <- (d <- dim(V))[1L] if (!is.numeric(V) || length(d) != 2L || p != d[2L]) stop("'V' is not a square numeric matrix") sd <- sqrt(diag(V)) Is <- 1/sd r <- V r[] <- Is * V * rep(Is, each = p) diag(r) <- sd r } ## dmult <- function(m,s) { ## diag(m) <- diag(m)*s ## m ## } ## attempt to compute Cholesky, allow for positive semi-definite cases ## (hackish) safe_chol <- function(m) { if (all(m==0)) return(m) if (nrow(m)==1) return(sqrt(m)) if (.isDiagonal.sq.matrix(m)) return(diag(sqrt(diag(m)))) ## attempt regular Chol. decomp if (!is.null(cc <- tryCatch(chol(m), error=function(e) NULL))) return(cc) ## ... pivot if necessary ... cc <- suppressWarnings(chol(m,pivot=TRUE)) oo <- order(attr(cc,"pivot")) cc[,oo] ## FIXME: pivot is here to deal with semidefinite cases, ## but results might be returned in a strange format: TEST } ##' Variance-covariance to relative covariance factor ##' ##' from var-cov to scaled Cholesky: ##' ##' @param v Vector of elements from the lower triangle of a ##' variance-covariance matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Vv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(m/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Standard-deviation-correlation to relative covariance factor ##' ##' from sd-cor to scaled Cholesky ##' ##' @param v Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Sv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(sdcor2cov(m)/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to variance-covariance ##' ##' from unscaled Cholesky vector to (possibly scaled) ##' variance-covariance vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' variance-covariance matrix. Cv_to_Vv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) tcrossprod(m)*s^2)) if (!missing(s)) r <- c(r,s^2) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to standard-deviation-correlation ##' ##' from unscaled Chol to sd-cor vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. Cv_to_Sv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) cov2sdcor(tcrossprod(m)*s^2))) if (!missing(s)) r <- c(r,s) attr(r,"clen") <- get_clen(v,n) r } ## tests --> ../inst/tests/test-utils.R lme4/R/GHrule.R0000644000176200001440000000410412565075351012635 0ustar liggesusers##' Create a univariate Gauss-Hermite quadrature rule ##' ##' This version of Gauss-Hermite quadrature provides the node ##' positions and weights for a scalar integral of a function ##' multiplied by the standard normal density. ##' @title Univariate Gauss-Hermite quadrature rule ##' @param ord scalar integer between 1 and 25 - the order, or number of ##' nodes and weights, in the rule. When the function being ##' multiplied by the standard normal density is a polynomial of ##' order 2k-1 the rule of order k integrates the product exactly. ##' @param asMatrix logical scalar - should the result be returned as ##' a matrix. If \code{FALSE} a data frame is returned. Defaults ##' to \code{TRUE}. ##' @return a matrix with \code{ord} rows and three columns which are ##' \code{z} the node positions, \code{w} the weights and ##' \code{ldnorm}, the logarithm of the normal density evaluated at ##' the nodes. ##' @examples ##' (r5 <- GHrule(5, asMatrix=FALSE)) ##' ## second, fourth, sixth, eighth and tenth central moments of the ##' ## standard Gaussian density ##' with(r5, sapply(seq(2, 10, 2), function(p) sum(w * z^p))) ##' } ##' @export GHrule <- function (ord, asMatrix=TRUE) { stopifnot(length(ord) == 1, (ord <- as.integer(ord)) >= 0L, ord < 101L) if (ord == 0L) { if (asMatrix) return(matrix(0, nrow=0L, ncol=3L)) stop ("combination of ord==0 and asMatrix==TRUE not implemented") } ## fgq_rules comes from sysdata.rda: ## result of ## ## library("fastGHQuad") ## version 0.2 ## rescale <- function(x,scale.weights=TRUE, ## scale.roots=TRUE) { ## x <- within(x, ## { ## if (scale.weights) w <- w/sum(w) ## if (scale.roots) x <- x*sqrt(2) ## }) ## return(x) ## } ## lapply(1:100,rename(rescale(gaussHermiteData(x)),c(x="z"))) fr <- as.data.frame(fgq_rules[[ord]]) rownames(fr) <- NULL fr$ldnorm <- dnorm(fr$z, log=TRUE) if (asMatrix) as.matrix(fr) else fr } lme4/R/checkConv.R0000644000176200001440000001632213141431220013335 0ustar liggesusers### Adapted from Rune Haubo's ordinal code ### extended convergence checking ### http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions ##' @param derivs typically the "derivs" attribute of optimizeLmer(); with ##' "gradients" and possibly "Hessian" component ##' @param coefs estimated function value ##' @param ctrl list of lists, each with \code{action} character strings specifying ##' what should happen when a check triggers, and \code{tol} numerical tolerances, ##' as is the result of \code{\link{lmerControl}()$checkConv}. ##' @param lbound vector of lower bounds \emph{for random-effects parameters only} ##' (length is taken to determine number of RE parameters) ##' @param debug useful if some checks are on "ignore", but would "trigger" checkConv <- function(derivs, coefs, ctrl, lbound, debug = FALSE) { if (is.null(derivs)) return(NULL) ## bail out if (anyNA(derivs$gradient)) return(list(code = -5L, messages = gettextf("Gradient contains NAs"))) ntheta <- length(lbound) res <- list() ## gradients: ## check absolute gradient (default) ccl <- ctrl[[cstr <- "check.conv.grad"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) wstr <- NULL if (doCheck(cc)) { scgrad <- tryCatch(with(derivs,solve(chol(Hessian),gradient)), error=function(e)e) if (inherits(scgrad, "error")) { wstr <- "unable to evaluate scaled gradient" res$code <- -1L } else { ## find parallel *minimum* of scaled and absolute gradient ## the logic here is that we can sometimes get large ## *scaled* gradients even when the *absolute* gradient ## is small because the curvature is very flat as well ... mingrad <- pmin(abs(scgrad),abs(derivs$gradient)) maxmingrad <- max(mingrad) if (maxmingrad > ccl$tol) { w <- which.max(maxmingrad) res$code <- -1L wstr <- gettextf("Model failed to converge with max|grad| = %g (tol = %g, component %d)", maxmingrad, ccl$tol,w) } } if (!is.null(wstr)) { res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } ## note: kktc package uses gmax > kkttol * (1 + abs(fval)) ## where kkttol defaults to 1e-3 and fval is the objective f'n value ## check relative gradient (only if enabled) if (!is.null(ccl$relTol) && (max.rel.grad <- max(abs(derivs$gradient/coefs))) > ccl$relTol) { res$code <- -2L wstr <- gettextf("Model failed to converge with max|relative grad| = %g (tol = %g)", max.rel.grad, ccl$relTol) res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ccl <- ctrl[[cstr <- "check.conv.singular"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) if (doCheck(cc)) { bcoefs <- seq(ntheta)[lbound==0] if (any(coefs[bcoefs] < ccl$tol)) { ## singular fit ## are there other circumstances where we can get a singular fit? wstr <- "singular fit" res$messages <- c(res$messages,wstr) switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ccl <- ctrl[[cstr <- "check.conv.hess"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) if (doCheck(cc)) { if (length(coefs) > ntheta) { ## GLMM, check for issues with beta parameters H.beta <- derivs$Hessian[-seq(ntheta),-seq(ntheta)] resHess <- checkHess(H.beta, ccl$tol, "fixed-effect") if (any(resHess$code!=0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } resHess <- checkHess(derivs$Hessian, ccl$tol) if (any(resHess$code != 0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } if (debug && length(res$messages) > 0) { print(res$messages) } res } checkHess <- function(H, tol, hesstype="") { ## FIXME: not sure why we decided to save messages as a list ## rather than as a character vector?? res <- list(code=numeric(0),messages=list()) evd <- tryCatch(eigen(H, symmetric=TRUE, only.values=TRUE)$values, error=function(e)e) if (inherits(evd,"error")) { res$code <- -6L res$messages <- gettextf("Problem with Hessian check (infinite or missing values?)") } else { negative <- sum(evd < -tol) if(negative) { res$code <- -3L res$messages <- gettextf(paste("Model failed to converge:", "degenerate",hesstype,"Hessian with %d negative eigenvalues"), negative) } else { zero <- sum(abs(evd) < tol) if(zero || inherits(tryCatch(chol(H), error=function(e)e), "error")) { res$code <- -4L res$messages <- paste(hesstype,"Hessian is numerically singular: parameters are not uniquely determined") } else { res$cond.H <- max(evd) / min(evd) if(max(evd) * tol > 1) { res$code <- c(res$code, 2L) res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "very large eigenvalue", "\n - Rescale variables?", sep="")) } if ((min(evd) / max(evd)) < tol) { res$code <- c(res$code, 3L) ## consider skipping warning message if we've ## already hit the previous flag? if(!5L %in% res$code) { res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "large eigenvalue ratio", "\n - Rescale variables?", sep="")) } } } } } if (length(res$code)==0) res$code <- 0 res } lme4/R/sparsegrid.R0000644000176200001440000000137612565075351013622 0ustar liggesusers## Generate sparse multidimensional Gaussian quadrature grids ---> ../man/GQdk.Rd ## Unused currently; rather GHrule() --> ./GHrule.R GQdk <- function(d=1L, k=1L) { stopifnot(0L < (d <- as.integer(d)[1]), d <= 20L, 0L < (k <- as.integer(k)[1]), k <= length(GQNd <- GQN[[d]]))## -> GQN, stored in ./sysdata.rda tmat <- t(GQNd[[k]]) rperms <- lapply(.Call(allPerm_int, seq_len(d) + 1L), function(v) c(1L, v)) dd <- unname(as.matrix(do.call(expand.grid, c(rep.int(list(c(-1,1)), d), KEEP.OUT.ATTRS=FALSE)))) unname(unique(t(do.call(cbind, lapply(as.data.frame(t(cbind(1, dd))), "*", e2=do.call(cbind, lapply(rperms, function(ind) tmat[ind,]))))))) } lme4/R/plot.R0000644000176200001440000004714212716161751012434 0ustar liggesusers## copied/modified from nlme ##' split, on the nm call, the rhs of a formula into a list of subformulas splitFormula <- function(form, sep = "/") { if (inherits(form, "formula") || mode(form) == "call" && form[[1]] == as.name("~")) splitFormula(form[[length(form)]], sep = sep) else if (mode(form) == "call" && form[[1]] == as.name(sep)) do.call(c, lapply(as.list(form[-1]), splitFormula, sep = sep)) else if (mode(form) == "(") splitFormula(form[[2]], sep = sep) else if (length(form)) list(asOneSidedFormula(form)) ## else ## NULL } ## Recursive version of all.vars allVarsRec <- function(object) { if (is.list(object)) { unlist(lapply(object, allVarsRec)) } else { all.vars(object) } } ## simple version of getData.gnls from nlme ## but we *should* and *can* work with environment(formula(.)) getData <- function(object) { mCall <- object@call eval(mCall$data, environment(formula(object))) } asOneFormula <- ## Constructs a linear formula with all the variables used in a ## list of formulas, except for the names in omit function(..., omit = c(".", "pi")) { names <- unique(allVarsRec(list(...))) names <- names[is.na(match(names, omit))] if (length(names)) as.formula(paste("~", paste(names, collapse = "+"))) # else NULL } getIDLabels <- function(object, form=formula(object)) { mf <- factorize(form,model.frame(object)) if (length(ff <- findbars(form))>0) { grps <- lapply(ff,"[[",3) } else { grps <- form[[2]] } if (identical(grps,quote(.obs))) return(seq(fitted(object))) fList <- lapply(grps,function(x) eval(x,mf)) do.call(interaction,fList) } ## TESTING ## lme4:::getIDLabels(fm1) ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. getGroupsFormula <- function(object, asList = FALSE, sep = "+") UseMethod("getGroupsFormula") getGroupsFormula.default <- ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. function(object, asList = FALSE, sep = "/") { form <- formula(object) if (!inherits(form, "formula")){ stop("\"Form\" argument must be a formula") } form <- form[[length(form)]] if (!((length(form) == 3) && (form[[1]] == as.name("|")))) { ## no conditioning expression return(NULL) } ## val <- list( asOneSidedFormula( form[[ 3 ]] ) ) val <- splitFormula(asOneSidedFormula(form[[3]]), sep = sep) names(val) <- unlist(lapply(val, function(el) deparse(el[[2]]))) # if (!missing(level)) { # if (length(level) == 1) { # return(val[[level]]) # } else { # val <- val[level] # } # } if (asList) as.list(val) else as.formula(paste("~", paste(names(val), collapse = sep))) } getGroupsFormula.merMod <- function(object,asList=FALSE, sep="+") { if (asList) { lapply(names(object@flist),asOneSidedFormula) } else { asOneSidedFormula(paste(names(object@flist),collapse=sep)) } } getCovariateFormula <- function (object) { form <- formula(object) if (!(inherits(form, "formula"))) { stop("formula(object) must return a formula") } form <- form[[length(form)]] if (length(form) == 3 && form[[1]] == as.name("|")) { form <- form[[2]] } eval(substitute(~form)) } getResponseFormula <- function(object) { ## Return the response formula as a one sided formula form <- formula(object) if (!(inherits(form, "formula") && (length(form) == 3))) { stop("\"Form\" must be a two sided formula") } as.formula(paste("~", deparse(form[[2]]))) } ##' diagnostic plots for merMod fits ##' @param x a fitted [ng]lmer model ##' @param form an optional formula specifying the desired type of plot. Any ##' variable present in the original data frame used to obtain ##' \code{x} can be referenced. In addition, \code{x} itself can be ##' referenced in the formula using the symbol \code{"."}. Conditional ##' expressions on the right of a \code{|} operator can be used to ##' define separate panels in a lattice display. Default is ##' \code{resid(., type = "pearson") ~ fitted(.)}, corresponding to a plot ##' of the standardized residuals versus fitted values. ##' @param abline an optional numeric value, or numeric vector of length ##' two. If given as a single value, a horizontal line will be added to the ##' plot at that coordinate; else, if given as a vector, its values are ##' used as the intercept and slope for a line added to the plot. If ##' missing, no lines are added to the plot. ##' @param id an optional numeric value, or one-sided formula. If given as ##' a value, it is used as a significance level for a two-sided outlier ##' test for the standardized, or normalized residuals. Observations with ##' absolute standardized (normalized) residuals greater than the \eqn{1-value/2} ##' quantile of the standard normal distribution are ##' identified in the plot using \code{idLabels}. If given as a one-sided ##' formula, its right hand side must evaluate to a logical, integer, or ##' character vector which is used to identify observations in the ##' plot. If missing, no observations are identified. ##' @param idLabels an optional vector, or one-sided formula. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' one-sided formula, its right hand side must evaluate to a vector ##' which is converted to character and used to label the identified ##' observations. Default is the interaction of all the grouping variables ##' in the data frame. The special formula ##' @param grid an optional logical value indicating whether a grid should ##' be added to plot. Default depends on the type of lattice plot used: ##' if \code{xyplot} defaults to \code{TRUE}, else defaults to ##' \code{FALSE}. ##' @param \dots optional arguments passed to the lattice plot function. ##' @details Diagnostic plots for the linear mixed-effects fit are obtained. The ##' \code{form} argument gives considerable flexibility in the type of ##' plot specification. A conditioning expression (on the right side of a ##' \code{|} operator) always implies that different panels are used for ##' each level of the conditioning factor, according to a lattice ##' display. If \code{form} is a one-sided formula, histograms of the ##' variable on the right hand side of the formula, before a \code{|} ##' operator, are displayed (the lattice function \code{histogram} is ##' used). If \code{form} is two-sided and both its left and ##' right hand side variables are numeric, scatter plots are displayed ##' (the lattice function \code{xyplot} is used). Finally, if \code{form} ##' is two-sided and its left had side variable is a factor, box-plots of ##' the right hand side variable by the levels of the left hand side ##' variable are displayed (the lattice function \code{bwplot} is used). ##' @author original version in \code{nlme} package by Jose Pinheiro and Douglas Bates ##' @examples ##' data(Orthodont,package="nlme") ##' fm1 <- lmer(distance ~ age + (age|Subject), data=Orthodont) ##' ## standardized residuals versus fitted values by gender ##' plot(fm1, resid(., scaled=TRUE) ~ fitted(.) | Sex, abline = 0) ##' ## box-plots of residuals by Subject ##' plot(fm1, Subject ~ resid(., scaled=TRUE)) ##' ## observed versus fitted values by Subject ##' plot(fm1, distance ~ fitted(.) | Subject, abline = c(0,1)) ##' ## residuals by age, separated by Subject ##' plot(fm1, resid(., scaled=TRUE) ~ age | Sex, abline = 0) ##' if (require(ggplot2)) { ##' ## we can create the same plots using ggplot2 and the fortify() function ##' fm1F <- fortify(fm1) ##' ggplot(fm1F, aes(.fitted,.resid)) + geom_point(colour="blue") + ##' facet_grid(.~Sex) + geom_hline(yintercept=0) ##' ## note: Subjects are ordered by mean distance ##' ggplot(fm1F, aes(Subject,.resid)) + geom_boxplot() + coord_flip() ##' ggplot(fm1F, aes(.fitted,distance))+ geom_point(colour="blue") + ##' facet_wrap(~Subject) +geom_abline(intercept=0,slope=1) ##' ggplot(fm1F, aes(age,.resid)) + geom_point(colour="blue") + facet_grid(.~Sex) + ##' geom_hline(yintercept=0)+geom_line(aes(group=Subject),alpha=0.4)+geom_smooth(method="loess") ##' ## (warnings about loess are due to having only 4 unique x values) ##' detach("package:ggplot2") ##' } ##' @S3method plot merMod ##' @method plot merMod ##' @export plot.merMod <- function(x, form = resid(., type = "pearson") ~ fitted(.), abline, id = NULL, idLabels = NULL, grid, ...) ## Diagnostic plots based on residuals and/or fitted values { object <- x if (!inherits(form, "formula")) stop("\"form\" must be a formula") ## constructing data ## can I get away with using object@frame??? allV <- all.vars(asOneFormula(form, id, idLabels)) allV <- allV[is.na(match(allV,c("T","F","TRUE","FALSE",".obs")))] if (length(allV) > 0) { data <- getData(object) if (is.null(data)) { # try to construct data alist <- lapply(as.list(allV), as.name) names(alist) <- allV alist <- c(list(as.name("data.frame")), alist) mode(alist) <- "call" data <- eval(alist, sys.parent(1)) } else if (any(naV <- is.na(match(allV, names(data))))) stop(allV[naV], " not found in data") } else data <- NULL ## this won't do because there may well be variables we want ## that were not in the model call ## data <- object@frame ## argument list dots <- list(...) args <- if (length(dots) > 0) dots else list() ## appending object to data, and adding observation-number variable data <- as.list(c(as.list(cbind(data,.obs=seq(nrow(data)))), . = list(object))) ## covariate - must always be present covF <- getCovariateFormula(form) .x <- eval(covF[[2]], data) if (!is.numeric(.x)) { stop("Covariate must be numeric") } argForm <- ~ .x argData <- data.frame(.x = .x, check.names = FALSE) if (is.null(args$xlab)) { if (is.null(xlab <- attr(.x, "label"))) xlab <- deparse(covF[[2]]) args$xlab <- xlab } ## response - need not be present respF <- getResponseFormula(form) if (!is.null(respF)) { .y <- eval(respF[[2]], data) if (is.null(args$ylab)) { if (is.null(ylab <- attr(.y, "label"))) ylab <- deparse(respF[[2]]) args$ylab <- ylab } argForm <- .y ~ .x argData[, ".y"] <- .y } ## groups - need not be present grpsF <- getGroupsFormula(form) if (!is.null(grpsF)) { ## ?? FIXME ??? gr <- splitFormula(grpsF, sep = "*") for(i in seq_along(gr)) { auxGr <- all.vars(gr[[i]]) for(j in auxGr) argData[[j]] <- eval(as.name(j), data) } argForm <- as.formula(paste(if (length(argForm) == 2) "~ .x |" else ".y ~ .x |", deparse(grpsF[[2]]))) } ## adding to args list args <- c(list(argForm, data = argData), args) if (is.null(args$strip)) { args$strip <- function(...) strip.default(..., style = 1) } if (is.null(args$cex)) args$cex <- par("cex") if (is.null(args$adj)) args$adj <- par("adj") if (!is.null(id)) { ## identify points in plot idResType <- "pearson" ## diff from plot.lme: 'normalized' not available id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") abs(resid(object, type = idResType))/sigma(object) > -qnorm(id / 2) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(object) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(object,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } ## DON'T subscript by id, will be done later idLabels <- as.character(idLabels) } ## defining abline, if needed if (missing(abline)) { abline <- if (missing(form)) # r ~ f c(0, 0) else NULL } #assign("id", id , where = 1) #assign("idLabels", idLabels, where = 1) #assign("abl", abline, where = 1) assign("abl", abline) ## defining the type of plot if (length(argForm) == 3) { if (is.numeric(.y)) { # xyplot plotFun <- "xyplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, subscripts, ...) { x <- as.numeric(x) y <- as.numeric(y) dots <- list(...) if (grid) panel.grid() panel.xyplot(x, y, ...) if (any(ids <- id[subscripts])){ ltext(x[ids], y[ids], idLabels[subscripts][ids], cex = dots$cex, adj = dots$adj) } if (!is.null(abl)) { if (length(abl) == 2) panel.abline(a = abl, ...) else panel.abline(h = abl, ...) } })) } } else { # assume factor or character plotFun <- "bwplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, ...) { if (grid) panel.grid() panel.bwplot(x, y, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } } else { plotFun <- "histogram" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, ...) { if (grid) panel.grid() panel.histogram(x, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } ## defining grid if (missing(grid)) { grid <- (plotFun == "xyplot") } # assign("grid", grid, where = 1) do.call(plotFun, as.list(args)) } ##' add information to data based on a fitted model ##' @param model fitted model ##' @param data original data set, if needed ##' @param \dots additional arguments ##' @details \code{fortify} is a function defined in the \code{ggplot2} package, q.v. for more details; the ##' S3 generic is just defined here to avoid inducing an additional \code{Imports:} dependency. ##' This is currently an experimental feature. ##' @export fortify <- function(model, data, ...) UseMethod("fortify") ##' @rdname fortify ##' @S3method fortify lmerMod ##' @method fortify lmerMod ##' @export fortify.merMod <- function(model, data=getData(model), ...) { ## FIXME: ## FIXME: get influence measures via influence.ME? ## (expensive, induces dependency ...) ## FIXME: different kinds of residuals? ## FIXME: deal with na.omit/predict etc. data$.fitted <- predict(model) data$.resid <- resid(model) data$.scresid <- resid(model,type="pearson",scaled=TRUE) data } ## FIXME: can we do without this?? ## S3method fortify lmerMod ## S3method fortify glmerMod ## S3method fortify nlmerMod ## fortify.lmerMod <- fortify.nlmerMod <- fortify.glmerMod <- fortify.merMod ## autoplot??? ## plot method for plot.summary.mer ... coefplot-style ## horizontal, vertical? other options??? ## scale? plot.summary.mer <- function(object, type="fixef", ...) { if(any(!type %in% c("fixef","vcov"))) stop("'type' not yet implemented: ", type) stop("FIXME -- not yet implemented") } ## TO DO: allow faceting formula ## TO DO: allow qqline to be optional ## TO DO (harder): steal machinery from qq.gam for better GLMM Q-Q plots qqmath.merMod <- function(x, id=NULL, idLabels=NULL, ...) { ## if (!is.null(id) || !is.null(idLabels)) ## stop("id and idLabels options not yet implemented") values <- residuals(x,type="pearson",scaled=TRUE) data <- getData(x) ## DRY: copied from plot.merMod, should modularize/refactor if (!is.null(id)) { ## identify points in plot id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") as.logical(abs(values) > -qnorm(id / 2)) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(x) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(x,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } idLabels <- as.character(idLabels) } ## DON'T subscript by id, will be done later qqpanel <- function(x, subscripts, ...) { dots <- list(...) panel.qqmathline(x, ...) panel.qqmath(x, ...) if (any(ids <- id[subscripts])) { xs <- x[subscripts] pp <- setNames(ppoints(length(xs)), names(sort(xs))) ## want to plot qnorm(pp) vs sort(x) ## ... but want to pick out the elements that corresponded ## to ids **before** sorting xx <- qnorm(pp)[names(xs)[ids]] yy <- sort(x)[names(xs)][ids] ## quantile(values, pp)[ids] ltext(xx, yy, idLabels[ids], cex = dots$cex, adj = dots$adj) } } qqmath(values, xlab = "Standard normal quantiles", ylab = "Standardized residuals", prepanel = prepanel.qqmathline, panel = qqpanel, ...) } ## qqmath(~residuals(gm1)|cbpp$herd) lme4/R/AllClass.R0000644000176200001440000013313113141431220013126 0ustar liggesusers### Class definitions for the package ##' Class "lmList4" of 'lm' Objects on Common Model ##' --> ../man/lmList4-class.Rd ##' ~~~~~~~~~~~~~~~~~~~~~~~ ##' @keywords classes ##' @export setClass("lmList4", representation(call = "call", pool = "logical", groups = "ordered", # or "factor"? nlme does use ordered() origOrder = "integer" # a permutation ), contains = "list") ## TODO?: export setClass("lmList4.confint", contains = "array") forceCopy <- function(x) .Call(deepcopy, x) ### FIXME ### shouldn't we have "merPred" with two *sub* classes "merPredD" and "merPredS" ### for the dense and sparse X cases ? ## ## MM: _Or_ have "merPred" with X of class "mMatrix" := classUnion {matrix, Matrix} merPredD <- setRefClass("merPredD", # Predictor class for mixed-effects models with dense X fields = list(Lambdat = "dgCMatrix", # depends: theta and Lind ## = t(Lambda); Lambda := lower triangular relative variance factor LamtUt = "dgCMatrix", # depends: Lambdat and Ut Lind = "integer", # depends: nothing ## integer vector of the same length as 'x' slot in Lambdat. ## Its elements should be in 1: length(theta) Ptr = "externalptr", # depends: RZX = "matrix", # depends: lots Ut = "dgCMatrix", # depends: Zt and weights Utr = "numeric", # depends: lots V = "matrix", # depends: VtV = "matrix", Vtr = "numeric", X = "matrix", # model matrix for the fixed-effects parameters Xwts = "numeric", Zt = "dgCMatrix", # = t(Z); Z = sparse model matrix for the random effects beta0 = "numeric", delb = "numeric", delu = "numeric", theta = "numeric", # numeric vector of variance component parameters u0 = "numeric"), methods = list( initialize = function(X, Zt, Lambdat, Lind, theta, n, # = sample size, usually = nrow(X) ...) { if (!nargs()) return() ll <- list(...) X <<- as(X, "matrix") Zt <<- as(Zt, "dgCMatrix") Lambdat <<- as(Lambdat, "dgCMatrix") Lind <<- as.integer(Lind) theta <<- as.numeric(theta) N <- nrow(X) p <- ncol(X) q <- nrow(Zt) stopifnot(length(theta) > 0L, length(Lind) > 0L, all(sort(unique(Lind)) == seq_along(theta))) RZX <<- if (!is.null(ll$RZX)) array(ll$RZX, c(q, p)) else array(0, c(q, p)) Utr <<- if (!is.null(ll$Utr)) as.numeric(ll$Utr) else numeric(q) V <<- if (!is.null(ll$V)) array(ll$V, c(n, p)) else array(0, c(n, p)) VtV <<- if (!is.null(ll$VtV)) array(ll$VtV, c(p, p)) else array(0, c(p, p)) Vtr <<- if (!is.null(ll$Vtr)) as.numeric(ll$Vtr) else numeric(p) beta0 <<- if (!is.null(ll$beta0)) ll$beta0 else numeric(p) delb <<- if (!is.null(ll$delb)) as.numeric(ll$delb) else numeric(p) delu <<- if (!is.null(ll$delu)) as.numeric(ll$delu) else numeric(q) u0 <<- if (!is.null(ll$u0)) ll$u0 else numeric(q) Ut <<- if (n == N) Zt + 0 else Zt %*% sparseMatrix(i=seq_len(N), j=as.integer(gl(n, 1, N)), x=rep.int(1,N)) ## The following is a kludge to overcome problems when Zt is square ## by making LamtUt rectangular LtUt <- Lambdat %*% Ut ## if (nrow(LtUt) == ncol(LtUt)) ## LtUt <- cbind2(LtUt, ## sparseMatrix(i=integer(0), ## j=integer(0), ## x=numeric(0), ## dims=c(nrow(LtUt),1))) LamtUt <<- LtUt Xw <- ll$Xwts ## list(...)$Xwts Xwts <<- if (is.null(Xw)) rep.int(1, N) else as.numeric(Xw) initializePtr() }, CcNumer = function() { 'returns the numerator of the orthogonality convergence criterion' .Call(merPredDCcNumer, ptr()) }, L = function() { 'returns the current value of the sparse Cholesky factor' .Call(merPredDL, ptr()) }, P = function() { 'returns the permutation vector for the sparse Cholesky factor' .Call(merPredDPvec, ptr()) }, RX = function() { 'returns the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRX, ptr()) }, RXi = function() { 'returns the inverse of the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRXi, ptr()) }, RXdiag = function() { 'returns the diagonal of the dense downdated Cholesky factor' .Call(merPredDRXdiag, ptr()) }, b = function(fac) { 'random effects on original scale for step factor fac' .Call(merPredDb, ptr(), as.numeric(fac)) }, beta = function(fac) { 'fixed-effects coefficients for step factor fac' .Call(merPredDbeta, ptr(), as.numeric(fac)) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) assign(field, forceCopy(current), envir = vEnv) } } do.call(merPredD$new, c(as.list(vEnv), n=nrow(vEnv$V), Class=def)) }, ldL2 = function() { 'twice the log determinant of the sparse Cholesky factor' .Call(merPredDldL2, ptr()) }, ldRX2 = function() { 'twice the log determinant of the downdated dense Cholesky factor' .Call(merPredDldRX2, ptr()) }, unsc = function() { 'the unscaled variance-covariance matrix of the fixed-effects parameters' .Call(merPredDunsc, ptr()) }, linPred = function(fac) { 'evaluate the linear predictor for step factor fac' .Call(merPredDlinPred, ptr(), as.numeric(fac)) }, installPars = function(fac) { 'update u0 and beta0 to the values for step factor fac' .Call(merPredDinstallPars, ptr(), as.numeric(fac)) }, initializePtr = function() { Ptr <<- .Call(merPredDCreate, as(X, "matrix"), Lambdat, LamtUt, Lind, RZX, Ut, Utr, V, VtV, Vtr, Xwts, Zt, beta0, delb, delu, theta, u0) .Call(merPredDsetTheta, Ptr, theta) .Call(merPredDupdateXwts, Ptr, Xwts) .Call(merPredDupdateDecomp, Ptr, NULL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(theta)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setBeta0 = function(beta0) { 'install a new value of beta' .Call(merPredDsetBeta0, ptr(), as.numeric(beta0)) }, setTheta = function(theta) { 'install a new value of theta' .Call(merPredDsetTheta, ptr(), as.numeric(theta)) }, setZt = function(ZtNonZero) { 'install new values in Zt' .Call(merPredDsetZt, ptr(), as.numeric(ZtNonZero)) }, solve = function() { 'solve for the coefficient increments delu and delb' .Call(merPredDsolve, ptr()) }, solveU = function() { 'solve for the coefficient increment delu only (beta is fixed)' .Call(merPredDsolveU, ptr()) }, setDelu = function(val) { 'set the coefficient increment delu' .Call(merPredDsetDelu , ptr(), as.numeric(val)) }, setDelb = function(val) { 'set the coefficient increment delb' .Call(merPredDsetDelb , ptr(), as.numeric(val)) }, sqrL = function(fac) { 'squared length of u0 + fac * delu' .Call(merPredDsqrL, ptr(), as.numeric(fac)) }, u = function(fac) { 'orthogonal random effects for step factor fac' .Call(merPredDu, ptr(), as.numeric(fac)) }, updateDecomp = function(XPenalty = NULL) { 'update L, RZX and RX from Ut, Vt and VtV' invisible(.Call(merPredDupdateDecomp, ptr(), XPenalty)) }, updateL = function() { 'update LamtUt and L' .Call(merPredDupdateL, ptr()) }, updateLamtUt = function() { 'update LamtUt and L' .Call(merPredDupdateLamtUt, ptr()) }, updateRes = function(wtres) { 'update Vtr and Utr using the vector of weighted residuals' .Call(merPredDupdateRes, ptr(), as.numeric(wtres)) }, updateXwts = function(wts) { 'update Ut and V from Zt and X using X weights' .Call(merPredDupdateXwts, ptr(), wts) } ) ) merPredD$lock("Lambdat", "LamtUt", "Lind", "RZX", "Ut", "Utr", "V", "VtV", "Vtr", "X", "Xwts", "Zt", "beta0", "delb", "delu", "theta", "u0") ## -> ../man/lmResp-class.Rd ## ~~~~~~~~~~~~~~~~~~~~~~ lmResp <- # base class for response modules setRefClass("lmResp", fields = list(Ptr = "externalptr", mu = "numeric", offset = "numeric", sqrtXwt = "numeric", sqrtrwt = "numeric", weights = "numeric", wtres = "numeric", y = "numeric"), methods = list( allInfo = function() { 'return all the information available on the object' data.frame(y=y, offset=offset, weights=weights, mu=mu, rwt=sqrtrwt, wres=wtres, Xwt=sqrtXwt) }, initialize = function(...) { if (!nargs()) return() ll <- list(...) if (is.null(ll$y)) stop("y must be specified") y <<- as.numeric(ll$y) n <- length(y) mu <<- if (!is.null(ll[["mu"]])) as.numeric(ll[["mu"]]) else numeric(n) offset <<- if (!is.null(ll$offset)) as.numeric(ll$offset) else numeric(n) weights <<- if (!is.null(ll$weights)) as.numeric(ll$weights) else rep.int(1,n) sqrtXwt <<- if (!is.null(ll$sqrtXwt)) as.numeric(ll$sqrtXwt) else sqrt(weights) sqrtrwt <<- if (!is.null(ll$sqrtrwt)) as.numeric(ll$sqrtrwt) else sqrt(weights) wtres <<- sqrtrwt * (y - mu) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) ## deep-copy hack +0 assign(field, forceCopy(current), envir = vEnv) } } do.call(new, c(as.list(vEnv), Class=def)) }, initializePtr = function() { Ptr <<- .Call(lm_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setOffset = function(oo) { 'change the offset in the model (used in profiling)' .Call(lm_setOffset, ptr(), as.numeric(oo)) }, setResp = function(rr) { 'change the response in the model, usually after a deep copy' .Call(lm_setResp, ptr(), as.numeric(rr)) }, setWeights = function(ww) { 'change the prior weights in the model' .Call(lm_setWeights, ptr(), as.numeric(ww)) }, updateMu = function(gamma) { 'update mu, wtres and wrss from the linear predictor' .Call(lm_updateMu, ptr(), as.numeric(gamma)) }, wrss = function() { 'returns the weighted residual sum of squares' .Call(lm_wrss, ptr()) }) ) lmResp$lock("mu", "offset", "sqrtXwt", "sqrtrwt", "weights", "wtres")#, "y") lmerResp <- setRefClass("lmerResp", contains = "lmResp", fields = list(REML = "integer"), methods= list(initialize = function(...) { REML <<- as.integer(list(...)$REML) if (length(REML) != 1L) REML <<- 0L callSuper(...) }, initializePtr = function() { Ptr <<- .Call(lmer_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu - offset) .Call(lmer_setREML, Ptr, REML) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) if (.Call(isNullExtPtr, Ptr)) initializePtr() Ptr }, objective = function(ldL2, ldRX2, sqrL, sigma.sq = NULL) { 'returns the profiled deviance or REML criterion' .Call(lmer_Laplace, ptr(), ldL2, ldRX2, sqrL, sigma.sq) }) ) setOldClass("family") ##' @export glmResp <- setRefClass("glmResp", contains = "lmResp", fields = list(eta = "numeric", family = "family", n = "numeric"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$family)) stop("family must be specified") family <<- ll$family n <<- if (!is.null(ll$n)) as.numeric(ll$n) else rep.int(1,length(y)) eta <<- if (!is.null(ll$eta)) as.numeric(ll$eta) else numeric(length(y)) }, aic = function() { .Call(glm_aic, ptr()) }, allInfo = function() { 'return all the information available on the object' cbind(callSuper(), data.frame(eta=eta, muEta=muEta(), var=variance(), WrkWt=sqrtWrkWt(), wrkRes=wrkResids(), wrkResp=wrkResp(), devRes=devResid())) }, devResid = function() { 'returns the vector of deviance residuals' .Call(glm_devResid, ptr()) }, fam = function() { 'returns the name of the glm family' .Call(glm_family, ptr()) }, Laplace = function(ldL2, ldRX2, sqrL) { 'returns the Laplace approximation to the profiled deviance' .Call(glm_Laplace, ptr(), ldL2, ldRX2, sqrL) }, link = function() { 'returns the name of the glm link' .Call(glm_link, ptr()) }, muEta = function() { 'returns the diagonal of the Jacobian matrix, d mu/d eta' .Call(glm_muEta, ptr()) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(glm_Create, family, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, eta, n) .Call(glm_updateMu, Ptr, eta - offset) } } Ptr }, resDev = function() { 'returns the sum of the deviance residuals' .Call(glm_resDev, ptr()) }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glm_setTheta, ptr(), as.numeric(theta)) }, sqrtWrkWt = function() { 'returns the square root of the working X weights' .Call(glm_sqrtWrkWt, ptr()) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glm_theta, ptr()) }, updateMu = function(gamma) { 'update mu, residuals, weights, etc. from the linear predictor' .Call(glm_updateMu, ptr(), as.numeric(gamma)) }, updateWts = function() { 'update the residual and X weights from the current value of eta' .Call(glm_updateWts, ptr()) }, variance = function() { 'returns the vector of variances' .Call(glm_variance, ptr()) }, wtWrkResp = function() { 'returns the vector of weighted working responses' .Call(glm_wtWrkResp, ptr()) }, wrkResids = function() { 'returns the vector of working residuals' .Call(glm_wrkResids, ptr()) }, wrkResp = function() { 'returns the vector of working responses' .Call(glm_wrkResp, ptr()) } ) ) glmResp$lock("family", "n", "eta") ##' @export nlsResp <- setRefClass("nlsResp", contains = "lmResp", fields= list(gam = "numeric", nlmod = "formula", nlenv = "environment", pnames= "character"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$nlmod)) stop("nlmod must be specified") nlmod <<- ll$nlmod if (is.null(ll$nlenv)) stop("nlenv must be specified") nlenv <<- ll$nlenv if (is.null(ll$pnames)) stop("pnames must be specified") pnames <<- ll$pnames if (is.null(ll$gam)) stop("gam must be specified") stopifnot(length(ll$gam) == length(offset)) gam <<- ll$gam }, Laplace =function(ldL2, ldRX2, sqrL) { 'returns the profiled deviance or REML criterion' .Call(nls_Laplace, ptr(), ldL2, ldRX2, sqrL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(nls_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, gam, nlmod[[2]], nlenv, pnames) .Call(nls_updateMu, Ptr, gam) } } Ptr }, updateMu=function(gamma) { 'update mu, residuals, gradient, etc. given the linear predictor matrix' .Call(nls_updateMu, ptr(), as.numeric(gamma)) }) ) nlsResp$lock("nlmod", "nlenv", "pnames") ##' Generator object for the \code{\linkS4class{glmFamily}} class ##' ##' The generator object for the \code{\linkS4class{glmFamily}} reference class. ##' Such an object is primarily used through its \code{new} method. ##' ##' ##' @param ... Named argument (see Note below) ##' @note Arguments to the \code{new} method must be named arguments. ##' @section Methods: \describe{ ##' \item{\code{new(family=family)}}{Create a new ##' \code{\linkS4class{glmFamily}} object} ##' } ##' @seealso \code{\linkS4class{glmFamily}} ##' @keywords classes ##' @export glmFamily <- # used in tests of family definitions setRefClass("glmFamily", fields=list(Ptr="externalptr", family="family"), methods= list( aic = function(y, n, mu, wt, dev) { 'returns the value from the aic member function, which is actually the deviance' nn <- length(y <- as.numeric(y)) stopifnot(length(n <- as.numeric(n)) == nn, length(mu <- as.numeric(mu)) == nn, length(wt <- as.numeric(wt)) == nn, all(wt >= 0), length(dev <- as.numeric(dev)) == 1L) .Call(glmFamily_aic, ptr(), y, n, mu, wt, dev) }, devResid = function(y, mu, wt) { 'applies the devResid function to y, mu and wt' mu <- as.numeric(mu) wt <- as.numeric(wt) y <- as.numeric(y) stopifnot(length(mu) == length(wt), length(mu) == length(y), all(wt >= 0)) .Call(glmFamily_devResid, ptr(), y, mu, wt) }, link = function(mu) { 'applies the (forward) link function to mu' .Call(glmFamily_link, ptr(), as.numeric(mu)) }, linkInv = function(eta) { 'applies the inverse link function to eta' .Call(glmFamily_linkInv, ptr(), as.numeric(eta)) }, muEta = function(eta) { 'applies the muEta function to eta' .Call(glmFamily_muEta, ptr(), as.numeric(eta)) }, ptr = function() { if (length(family)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(glmFamily_Create, family) Ptr }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glmFamily_setTheta, ptr(), as.numeric(theta)) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glmFamily_theta, ptr()) }, variance = function(mu) { 'applies the variance function to mu' .Call(glmFamily_variance, ptr(), as.numeric(mu)) }) ) ##' Class \code{"glmFamily"} - a reference class for \code{\link{family}} ##' ##' This class is a wrapper class for \code{\link{family}} objects specifying a ##' distibution family and link function for a generalized linear model ##' (\code{\link{glm}}). The reference class contains an external pointer to a ##' C++ object representing the class. For common families and link functions ##' the functions in the family are implemented in compiled code so they can be ##' accessed from other compiled code and for a speed boost. ##' ##' ##' @name glmFamily-class ##' @docType class ##' @note Objects from this reference class correspond to objects in a C++ ##' class. Methods are invoked on the C++ class using the external pointer in ##' the \code{Ptr} field. When saving such an object the external pointer is ##' converted to a null pointer, which is why there is a redundant field ##' \code{ptr} that is an active-binding function returning the external ##' pointer. If the \code{Ptr} field is a null pointer, the external pointer is ##' regenerated for the stored \code{family} field. ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @seealso \code{\link{family}}, \code{\link{glmFamily}} ##' @keywords classes ##' @examples ##' ##' str(glmFamily$new(family=poisson())) NULL ##' Generator object for the golden search optimizer class. ##' ##' The generator objects for the \code{\linkS4class{golden}} class of a scalar ##' optimizer for a parameter within an interval. The optimizer uses reverse ##' communications. ##' ##' @param \dots additional, optional arguments. None are used at present. ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{lower} and \code{upper} are the bounds for the scalar parameter; they must be finite. ##' @section Methods: ##' \describe{ ##' \item{\code{new(lower=lower, upper=upper)}}{Create a new ##' \code{\linkS4class{golden}} object.} ##' } ##' @seealso \code{\linkS4class{golden}} ##' @keywords classes ##' @export golden <- setRefClass("golden", # Reverse communication implementation of Golden Search fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric" ), methods = list( initialize = function(lower, upper, ...) { stopifnot(length(lower <- as.numeric(lower)) == 1L, length(upper <- as.numeric(upper)) == 1L, lower > -Inf, upper < Inf, lower < upper) lowerbd <<- lower upperbd <<- upper Ptr <<- .Call(golden_Create, lower, upper) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(golden_Create, lowerbd, upperbd) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(golden_newf, ptr(), value) }, value = function() .Call(golden_value, ptr()), xeval = function() .Call(golden_xeval, ptr()), xpos = function() .Call(golden_xpos, ptr()) ) ) ##' Class \code{"golden"} ##' ##' A reference class for a golden search scalar optimizer using reverse ##' communication. ##' ##' ##' @name golden-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("golden") ##' NULL ## Generator object for the Nelder-Mead optimizer class "NelderMead" ## ## A reference class for a Nelder-Mead simplex optimizer allowing box ## constraints on the parameters and using reverse communication. NelderMead <- setRefClass("NelderMead", # Reverse communication implementation of Nelder-Mead simplex optimizer fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric", xstep = "numeric", xtol = "numeric" ), methods = list( initialize = function(lower, upper, xst, x0, xt, ...) { stopifnot((n <- length(lower <- as.numeric(lower))) > 0L, length(upper <- as.numeric(upper)) == n, all(lower < upper), length(xst <- as.numeric(xst)) == n, all(xst != 0), length(x0 <- as.numeric(x0)) == n, all(x0 >= lower), all(x0 <= upper), all(is.finite(x0)), length(xt <- as.numeric(xt)) == n, all(xt > 0)) lowerbd <<- lower upperbd <<- upper xstep <<- xst xtol <<- xt Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(NelderMead_newf, ptr(), value) }, setForceStop = function(stp=TRUE) .Call(NelderMead_setForce_stop, ptr(), stp), setFtolAbs = function(fta) .Call(NelderMead_setFtol_abs, ptr(), fta), setFtolRel = function(ftr) .Call(NelderMead_setFtol_rel, ptr(), ftr), setMaxeval = function(mxev) .Call(NelderMead_setMaxeval, ptr(), mxev), setMinfMax = function(minf) .Call(NelderMead_setMinf_max, ptr(), minf), setIprint = function(iprint) .Call(NelderMead_setIprint, ptr(), iprint), value = function() .Call(NelderMead_value, ptr()), xeval = function() .Call(NelderMead_xeval, ptr()), xpos = function() .Call(NelderMead_xpos, ptr()) ) ) ##' Class "merMod" of Fitted Mixed-Effect Models ##' ##' A mixed-effects model is represented as a \code{\linkS4class{merPredD}} object ##' and a response module of a class that inherits from class ##' \code{\linkS4class{lmResp}}. A model with a \code{\linkS4class{lmerResp}} ##' response has class \code{lmerMod}; a \code{\linkS4class{glmResp}} response ##' has class \code{glmerMod}; and a \code{\linkS4class{nlsResp}} response has ##' class \code{nlmerMod}. ##' ##' @name merMod-class ##' @aliases merMod-class lmerMod-class glmerMod-class nlmerMod-class merMod ##' show,merMod-method ##' anova.merMod coef.merMod deviance.merMod ##' fitted.merMod formula.merMod logLik.merMod ##' model.frame.merMod model.matrix.merMod print.merMod ##' show.merMod summary.merMod ##' terms.merMod update.merMod ##' vcov.merMod print.summary.merMod show.summary.merMod ##' summary.summary.merMod vcov.summary.merMod ##' @docType class ##' @section Objects from the Class: Objects are created by calls to ##' \code{\link{lmer}}, \code{\link{glmer}} or \code{\link{nlmer}}. ##' @seealso \code{\link{lmer}}, \code{\link{glmer}}, \code{\link{nlmer}}, ##' \code{\linkS4class{merPredD}}, \code{\linkS4class{lmerResp}}, ##' \code{\linkS4class{glmResp}}, \code{\linkS4class{nlsResp}} ##' @keywords classes ##' @examples ##' ##' showClass("merMod") ##' methods(class="merMod") ##' @export setClass("merMod", representation(Gp = "integer", call = "call", frame = "data.frame", # "model.frame" is not S4-ized yet flist = "list", cnms = "list", lower = "numeric", theta = "numeric", beta = "numeric", u = "numeric", devcomp = "list", pp = "merPredD", optinfo = "list")) ##' @export setClass("lmerMod", representation(resp="lmerResp"), contains="merMod") ##' @export setClass("glmerMod", representation(resp="glmResp"), contains="merMod") ##' @export setClass("nlmerMod", representation(resp="nlsResp"), contains="merMod") ##' Generator object for the rePos (random-effects positions) class ##' ##' The generator object for the \code{\linkS4class{rePos}} class used ##' to determine the positions and orders of random effects associated ##' with particular random-effects terms in the model. ##' @param \dots Argument list (see Note). ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{mer}, an object of class \code{"\linkS4class{merMod}"}, is ##' the only required/expected argument. ##' @section Methods: ##' \describe{ ##' \item{\code{new(mer=mer)}}{Create a new ##' \code{\linkS4class{rePos}} object.} ##' } ##' @seealso \code{\linkS4class{rePos}} ##' @keywords classes ##' @export rePos <- setRefClass("rePos", fields = list( cnms = "list", # component names (components are terms within a RE term) flist = "list", # list of grouping factors used in the random-effects terms ncols = "integer", # number of components for each RE term nctot = "integer", # total number of components per factor nlevs = "integer", # number of levels for each unique factor offsets = "integer", # points to where each term starts terms = "list" # list with one element per factor, indicating corresponding term ), methods = list( initialize = function(mer, ...) { ##' asgn indicates unique elements of flist ##' stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) # why not replace the sapply with ncols*nlevs[asgn] ?? offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(flist), function(i) which(asgn == i)) } ) ) ##' Class \code{"rePos"} ##' ##' A reference class for determining the positions in the random-effects vector ##' that correspond to particular random-effects terms in the model formula ##' ##' @name rePos-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("rePos") ##' rePos$lock("cnms", "flist", "ncols", "nctot", "nlevs", "terms") vcRep <- setRefClass("vcRep", fields = list( theta = "numeric", lower = "numeric", Lambdat = "dgCMatrix", Lind = "integer", Gp = "integer", flist = "list", cnms = "list", ncols = "integer", nctot = "integer", nlevs = "integer", offsets = "integer", terms = "list", sig = "numeric", nms = "character", covar = "list", useSc = "logical" ), methods = list( initialize = function(mer, ...) { stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) lower <<- getME(mer, "lower") theta <<- getME(mer, "theta") Lambdat <<- getME(mer, "Lambdat") Lind <<- getME(mer, "Lind") Gp <<- getME(mer, "Gp") cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(Flist), function(i) which(asgn == i)) sig <<- sigma(mer) nms <<- names(Flist)[asgn] covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) useSc <<- as.logical(getME(mer, "devcomp")$dims['useSc']) }, asCovar = function() { ans <- lapply(covar, function(x) { attr(x, "correlation") <- attr(x, "stddev") <- NULL x }) attr(ans, "residVar") <- attr(covar, "sc")^2 ans }, asCorr = function() { ans <- lapply(covar, function(x) list(correlation=attr(x, "correlation"), stddev=attr(x, "stddev"))) attr(ans, "residSD") <- attr(covar, "sc") ans }, setTheta = function(ntheta) { stopifnot(length(ntheta <- as.numeric(ntheta)) == length(lower), all(ntheta >= lower)) theta <<- ntheta covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setSc = function(nSc) { stopifnot(useSc, length(nSc <- as.numeric(nSc)) == 1L) sig <<- nSc covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setResidVar = function(nVar) setSc(sqrt(as.numeric(nVar))), setRECovar = function(CV) { if (is.matrix(CV) && length(covar) == 1L) { CV <- list(CV) names(CV) <- names(covar) } covsiz <- sapply(covar, ncol) stopifnot(is.list(CV), all(names(CV) == names(covar)), all(sapply(CV, isSymmetric)), all(sapply(CV, ncol) == covsiz)) if (!all(lengths(cnms) == covsiz)) error("setRECovar currently requires distinct grouping factors") theta <<- sapply(CV, function(mm) { ff <- t(chol(mm))/sig ff[upper.tri(ff, diag=TRUE)] }) }) ) lme4/R/predict.R0000644000176200001440000010565413167511715013113 0ustar liggesusers##' test for no-random-effect specification: TRUE if NA or ~0, other ##' possibilities are NULL or a non-trivial formula noReForm <- function(re.form) { (!is.null(re.form) && !is(re.form,"formula") && is.na(re.form)) || (is(re.form,"formula") && length(re.form)==2 && identical(re.form[[2]],0)) } ##' Random Effects formula only reOnly <- function(f,response=FALSE) { response <- if (response && length(f)==3) f[[2]] else NULL reformulate(paste0("(", vapply(findbars(f), safeDeparse, ""), ")"), response=response) } reFormHack <- function(re.form,ReForm,REForm,REform) { warnDeprec <- function(name) warning(gettextf("'%s' is deprecated; use '%s' instead", name, "re.form"), call.=FALSE, domain=NA) if (!missing(ReForm)) { warnDeprec("ReForm") return(ReForm) } if (!missing(REForm)) { warnDeprec("REForm") return(REForm) } if (!missing(REform)) { warnDeprec("REform") return(REform) } re.form } ## noReForm(NA) ## TRUE ## noReForm(~0) ## TRUE ## noReForm(~y+x) ## noReForm(NULL) ## noReForm(~0+x) ##' Force new parameters into a merMod object ##' (should this be an S3 method?): params(object) <- newvalue ##' @param object ##' @param params a list of the form specified by \code{start} in ##' \code{\link{lmer}} or \code{\link{glmer}} (i.e. a list containing ##' theta and/or beta; maybe eventually further parameters ... ##' What updating do we have to do in order to make the resulting object ##' consistent/safe? ##' TODO: What kind of checking of input do we have to do? (Abstract from ##' lmer/glmer code ...) ##' TODO: make sure this gets updated when the parameter structure changes ##' from (theta, beta) to alpha=(theta, beta, phi) ##' @param inplace logical specifying if object should be modified in place; not yet ##' @param subset logical; needs to be true, if only parts of params are to be reset ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm1M <- setParams(fm1,list(theta=rep(1,3))) ##' getME(fm1M,"theta") ##' getME(fm1,"theta") ## check that original didn't get messed up ##' ## check that @resp and @pp are the only reference class slots ... ##' sapply(slotNames(fm1),function(x) class(slot(fm1,x))) setParams <- function(object, params, inplace=FALSE, subset=FALSE) { pNames <- c("beta","theta") if (object@devcomp$dims["useSc"]) pNames <- c(pNames, "sigma") if (!is.list(params) || length(setdiff(names(params),pNames)) > 0) stop("params should be specifed as a list with elements from ", "{",paste(shQuote(pNames),collapse=", "),"}") if (!subset && length(setdiff(pNames,names(params))) > 0) { warning("some parameters not specified in setParams()") } nbeta <- length(object@pp$beta(1)) ntheta <- length(object@pp$theta) if (!is.null(beta <- params$beta) && length(beta)!=nbeta) stop("length mismatch in beta (",length(beta), "!=",nbeta,")") if (!is.null(theta <- params$theta) && length(theta)!=ntheta) stop("length mismatch in theta (",length(theta), "!=",ntheta,")") matchNames <- function(x,tn,vecname="theta") { if (!is.null(pn <- names(x))) { if (!setequal(pn,tn)) { ## pn.not.tn <- setdiff(pn,tn) ## tn.not.pn <- setdiff(tn,pn) ## TO DO: more detail? stop("mismatch between ",shQuote(vecname)," parameter vector names and internal names (", paste(tn,collapse=","),")") } x <- x[tn] ## reorder } else { message(vecname," parameter vector not named: assuming same order as internal vector") } x } theta <- matchNames(theta,tnames(object),"theta") beta <- matchNames(beta,colnames(getME(object,"X")),"beta") sigma <- params$sigma if(inplace) { stop("modification in place (copy=FALSE) not yet implemented") } else { ## copy : newObj <- object ## make a copy of the reference class slots to ## decouple them from the original object newObj@pp <- newObj@pp$copy() newObj@resp <- newObj@resp$copy() if (!is.null(beta)) { newObj@pp$setBeta0(beta) newObj@beta <- beta } if (!is.null(theta)) { ## where does theta live and how do I set it? ## (1) in .@theta ## (2) in .@pp$theta newObj@theta <- theta newObj@pp$setTheta(theta) } if (!is.null(sigma)) { snm <- if (object@devcomp$dims[["REML"]]) "sigmaREML" else "sigmaML" newObj@devcomp[["cmp"]][snm] <- sigma } return(newObj) } } ##' Make new random effect terms from specified object and new data, ##' possibly omitting some random effect terms ##' @param object fitted model object ##' @param newdata (optional) data frame containing new data ##' @param re.form formula specifying random effect terms to include (NULL=all, ~0) ##' @param na.action ##' ##' @note Hidden; _only_ used (twice) in this file mkNewReTrms <- function(object, newdata, re.form=NULL, na.action=na.pass, allow.new.levels=FALSE) { ## construct (fixed) model frame in order to find out whether there are ## missing data/what to do about them ## need rfd to inherit appropriate na.action; need grouping ## variables as well as any covariates that are included ## in RE terms ## FIXME: mfnew is new data frame, rfd is processed new data ## why do we need both/what is each doing/how do they differ? ## rfd is *only* used in mkReTrms ## mfnew is *only* used for its na.action attribute (!) [fixed only] ## using model.frame would mess up matrix-valued predictors (GH #201) if (is.null(newdata)) { rfd <- mfnew <- model.frame(object) } else { mfnew <- model.frame(delete.response(terms(object,fixed.only=TRUE)), newdata, na.action=na.action) ## make sure we pass na.action with new data ## it would be nice to do something more principled like ## rfd <- model.frame(~.,newdata,na.action=na.action) ## but this adds complexities (stored terms, formula, etc.) ## that mess things up later on ... ## rfd <- na.action(get_all_vars(delete.response(terms(object,fixed.only=FALSE)), newdata)) old <- FALSE if (old) { rfd <- na.action(newdata) if (is.null(attr(rfd,"na.action"))) attr(rfd,"na.action") <- na.action } else { newdata.NA <- newdata if (!is.null(fixed.na.action <- attr(mfnew,"na.action"))) { newdata.NA <- newdata.NA[-fixed.na.action,] } tt <- delete.response(terms(object,random.only=TRUE)) ## need to let NAs in RE components go through -- they're handled downstream rfd <- model.frame(tt,newdata.NA,na.action=na.pass) if (!is.null(fixed.na.action)) attr(rfd,"na.action") <- fixed.na.action } ## ## ## need terms to preserve info about spline/orthog polynomial bases ## attr(rfd,"terms") <- terms(object) ## ## ... but variables list messes things up; can we fix it? ## vlist <- lapply(all.vars(terms(object)), as.name) ## attr(attr(rfd,"terms"),"variables") <- as.call(c(quote(list), vlist)) ## ## take out variables that appear *only* in fixed effects ## all.v <- all.vars(delete.response(terms(object,fixed.only=FALSE))) ## ran.v <- vapply(findbars(formula(object)),all.vars,"") ## fix.v <- all.vars(delete.response(terms(object,fixed.only=TRUE))) ## rfd <- model.frame(delete.response(terms(object,fixed.only=FALSE)), ## newdata,na.action=na.action) } if (inherits(re.form, "formula")) { ## DROP values with NAs in fixed effects if (length(fit.na.action <- attr(mfnew,"na.action")) > 0) { newdata <- newdata[-fit.na.action,] } ## note: mkReTrms automatically *drops* unused levels ReTrms <- mkReTrms(findbars(re.form[[2]]), rfd) ## update Lambdat (ugh, better way to do this?) ReTrms <- within(ReTrms,Lambdat@x <- unname(getME(object,"theta")[Lind])) if (!allow.new.levels && any(vapply(ReTrms$flist, anyNA, NA))) stop("NAs are not allowed in prediction data", " for grouping variables unless allow.new.levels is TRUE") ns.re <- names(re <- ranef(object)) nRnms <- names(Rcnms <- ReTrms$cnms) if (!all(nRnms %in% ns.re)) stop("grouping factors specified in re.form that were not present in original model") new_levels <- lapply(ReTrms$flist, function(x) levels(factor(x))) ## fill in/delete levels as appropriate re_x <- Map(function(r,n) levelfun(r,n,allow.new.levels=allow.new.levels), re[names(new_levels)], new_levels) ## pick out random effects values that correspond to ## random effects incorporated in re.form ... ## NB: Need integer indexing, as nRnms can be duplicated: (age|Subj) + (sex|Subj) : re_new <- lapply(seq_along(nRnms), function(i) { rname <- nRnms[i] if (!all(Rcnms[[i]] %in% names(re[[rname]]))) stop("random effects specified in re.form that were not present in original model") re_x[[rname]][,Rcnms[[i]]] }) re_new <- unlist(lapply(re_new, t)) ## must TRANSPOSE RE matrices before unlisting ## FIXME? use vapply(re_new, t, FUN_VALUE=????) } Zt <- ReTrms$Zt attr(Zt, "na.action") <- attr(re_new, "na.action") <- attr(mfnew, "na.action") list(Zt=Zt, b=re_new, Lambdat = ReTrms$Lambdat) } ##' @param x a random effect (i.e., data frame with rows equal to levels, columns equal to terms ##' @param n vector of new levels levelfun <- function(x,nl.n,allow.new.levels=FALSE) { ## 1. find and deal with new levels if (!all(nl.n %in% rownames(x))) { if (!allow.new.levels) stop("new levels detected in newdata") ## create an all-zero data frame corresponding to the new set of levels ... newx <- as.data.frame(matrix(0, nrow=length(nl.n), ncol=ncol(x), dimnames=list(nl.n, names(x)))) ## then paste in the matching RE values from the original fit/set of levels newx[rownames(x),] <- x x <- newx } ## 2. find and deal with missing old levels ## ... these should have been dropped when making the Z matrices ## etc. in mkReTrms, so we'd better drop them here to match ... if (!all(r.inn <- rownames(x) %in% nl.n)) { x <- x[r.inn,,drop=FALSE] } return(x) } ##' ##' \code{\link{predict}} method for \code{\linkS4class{merMod}} objects ##' ##' @title Predictions from a model at new data values ##' @param object a fitted model object ##' @param newdata data frame for which to evaluate predictions ##' @param newparams new parameters to use in evaluating predictions ##' @param re.form formula for random effects to condition on. If \code{NULL}, ##' include all random effects; if \code{NA} or \code{~0}, ##' include no random effects ##' @param terms a \code{\link{terms}} object - not used at present ##' @param type character string - either \code{"link"}, the default, ##' or \code{"response"} indicating the type of prediction object returned ##' @param allow.new.levels (logical) if FALSE (default), then any new levels ##' (or NA values) detected in \code{newdata} will trigger an error; if TRUE, then ##' the prediction will use the unconditional (population-level) ##' values for data with previously unobserved levels (or \code{NA}s) ##' @param na.action function determining what should be done with missing values for fixed effects in \code{newdata}. The default is to predict \code{NA}: see \code{\link{na.pass}}. ##' @param ... optional additional parameters. None are used at present. ##' @return a numeric vector of predicted values ##' @note There is no option for computing standard errors of predictions because it is difficult to define an efficient method that incorporates uncertainty in the variance parameters; we recommend \code{\link{bootMer}} for this task. ##' @examples ##' (gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 |herd), cbpp, binomial)) ##' str(p0 <- predict(gm1)) # fitted values ##' str(p1 <- predict(gm1,re.form=NA)) # fitted values, unconditional (level-0) ##' newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ##' str(p2 <- predict(gm1,newdata)) # new data, all RE ##' str(p3 <- predict(gm1,newdata,re.form=NA)) # new data, level-0 ##' str(p4 <- predict(gm1,newdata,re.form=~(1|herd))) # explicitly specify RE ##' @method predict merMod ##' @export predict.merMod <- function(object, newdata=NULL, newparams=NULL, re.form=NULL, ReForm, REForm, REform, terms=NULL, type=c("link","response"), allow.new.levels=FALSE, na.action=na.pass, ...) { ## FIXME: appropriate names for result vector? ## FIXME: make sure behaviour is entirely well-defined for NA in grouping factors ## Dealing with NAs: ## we might need to distinguish among ## (i) NAs in original data and in new data ## (ii) na.action possibilities (exclude, fail, omit, pass) ## (iii) na.action setting in original fit and in predict() ## (iii) NAs in (fixed effect) predictors vs RE grouping variables ## (iv) setting of allow.new.level ## NAs in original data (in the fixed or random effects) ## may lead to a model frame within the ## fitted object that is missing rows; if na.exclude was used, ## these will need to be reconstituted in the prediction. ## ## For the most part, 'na.action's used at the predict stage ## (i.e. for newdata) will work on NAs *in the fixed effects* ## without further intervention; 'na.pass' will automatically ## produce NA values in the output, so 'na.exclude' is not really ## necessary (but might get specified anyway) ## ## In the random effects, NAs in newdata will give a population-level ## prediction if allow.new.levels is TRUE; if it's FALSE they give ## an error (although it could be argued that in that case they ## should follow 'na.action' instead ...) re.form <- reFormHack(re.form,ReForm,REForm,REform) if (length(list(...)) > 0) warning("unused arguments ignored") type <- match.arg(type) if (!is.null(terms)) stop("terms functionality for predict not yet implemented") if (!is.null(newparams)) object <- setParams(object,newparams) if ((is.null(newdata) && is.null(re.form) && is.null(newparams))) { ## raw predict() call, just return fitted values ## (inverse-link if appropriate) if (isLMM(object) || isNLMM(object)) { ## make sure we do *NOT* have NAs in fitted object pred <- na.omit(fitted(object)) } else { ## inverse-link pred <- switch(type,response=object@resp$mu, ## == fitted(object), link=object@resp$eta) if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(pred) names(pred) <- nm } fit.na.action <- NULL ## flow jumps to end for na.predict } else { ## newdata and/or re.form and/or newparams specified X <- getME(object, "X") X.col.dropped <- attr(X, "col.dropped") ## modified from predict.glm ... if (is.null(newdata)) { ## Use original model 'X' matrix and offset fit.na.action <- attr(object@frame,"na.action") ## original NA action ## orig. offset: will be zero if there are no matches ... offset <- model.offset(model.frame(object)) if (is.null(offset)) offset <- 0 } else { ## new data specified ## evaluate new fixed effect RHS <- formula(substitute(~R, list(R=RHSForm(formula(object,fixed.only=TRUE))))) Terms <- terms(object,fixed.only=TRUE) mf <- model.frame(object, fixed.only=TRUE) isFac <- vapply(mf, is.factor, FUN.VALUE=TRUE) ## ignore response variable isFac[attr(Terms,"response")] <- FALSE orig_levs <- if (length(isFac)==0) NULL else lapply(mf[isFac],levels) ## https://github.com/lme4/lme4/issues/414 ## contrasts are not relevant in random effects; ## model.frame.default warns about dropping contrasts ## if (1) xlev is specified and (2) any factors in ## original data frame had contrasts set ## alternative solution: drop contrasts manually ## (could assign to a new variable newdata2 for safety, ## but I don't think newdata ## is used downstream in this function?) ## isFacND <- which(vapply(newdata, is.factor, FUN.VALUE = TRUE)) ## for (j in isFacND) { ## attr(newdata[[j]], "contrasts") <- NULL ## } mfnew <- suppressWarnings( model.frame(delete.response(Terms), newdata, na.action = na.action, xlev = orig_levs)) X <- model.matrix(RHS, data=mfnew, contrasts.arg=attr(X,"contrasts")) ## hack to remove unused interaction levels? ## X <- X[,colnames(X0)] offset <- 0 # rep(0, nrow(X)) tt <- terms(object) if (!is.null(off.num <- attr(tt, "offset"))) { for (i in off.num) offset <- offset + eval(attr(tt,"variables")[[i + 1]], newdata) } ## FIXME?: simplify(no need for 'mfnew'): can this be different from 'na.action'? fit.na.action <- attr(mfnew,"na.action") ## only need to drop if new data specified ... if(is.numeric(X.col.dropped) && length(X.col.dropped) > 0) X <- X[, -X.col.dropped, drop=FALSE] } pred <- drop(X %*% fixef(object)) ## FIXME:: need to unname() ? ## FIXME: is this redundant?? ## if (!is.null(frOffset <- attr(object@frame,"offset"))) ## offset <- offset + eval(frOffset, newdata) pred <- pred+offset if (!noReForm(re.form)) { if (is.null(re.form)) re.form <- reOnly(formula(object)) # RE formula only newRE <- mkNewReTrms(object, newdata, re.form, na.action=na.action, allow.new.levels=allow.new.levels) pred <- pred + base::drop(as(newRE$b %*% newRE$Zt, "matrix")) } if (isGLMM(object) && type=="response") { pred <- object@resp$family$linkinv(pred) } } ## newdata/newparams/re.form ## fill in NAs as appropriate: ## if NAs were detected in original model fit, OR in updated model frame construction ## but DON'T double-NA if raw prediction in the first place if (is.null(newdata)) { fit.na.action <- attr(model.frame(object),"na.action") if (!missing(na.action)) { ## hack to override action where explicitly specified if (!is.null(fit.na.action)) class(fit.na.action) <- class(attr(na.action(NA),"na.action")) } } pred <- napredict(fit.na.action,pred) pred } ##' Simulate responses from the model represented by a fitted model object ##' simulate.formula <- function(object, nsim = 1, seed = NULL, family, weights=NULL, offset=NULL, ...) { ## N.B. *must* name all arguments so that 'object' is missing in .simulateFun() .simulateFun(formula=object, nsim=nsim, seed=seed, family=family, weights=weights, offset=offset, ...) } simulate.merMod <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, ReForm, REForm, REform, newdata=NULL, newparams=NULL, family=NULL, allow.new.levels=FALSE, na.action=na.pass, ...) { mc <- match.call() mc[[1]] <- quote(lme4::.simulateFun) eval(mc, parent.frame(1L)) } .simulateFun <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, ReForm, REForm, REform, newdata=NULL, newparams=NULL, formula=NULL,family=NULL, weights=NULL, offset=NULL, allow.new.levels=FALSE, na.action=na.pass, cond.sim=TRUE, ...) { nullWts <- FALSE if (is.null(weights)) { if (is.null(newdata)) weights <- weights(object) else { nullWts <- TRUE # this flags that 'weights' wasn't supplied by the user weights <- rep(1,nrow(newdata)) } } if (missing(object)) { if (is.null(formula) || is.null(newdata) || is.null(newparams)) { stop("if ",sQuote("object")," is missing, must specify all of ", sQuote("formula"),", ",sQuote("newdata"),", and ", sQuote("newparams")) } ## construct fake-fitted object from data, params ## copied from glm(): DRY; this all stems from the ## original sin of handling family=gaussian as a special ## case if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame()) if (is.function(family)) family <- family() if (is.null(family) || (family$family=="gaussian" && family$link=="identity")) { lmod <- lFormula(formula,newdata, weights=weights, offset=offset, control=lmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkLmerDevfun, lmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), lmod$reTrms, fr = lmod$fr) } else { glmod <- glFormula(formula,newdata,family=family, weights=weights, offset=offset, control=glmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkGlmerDevfun, glmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), glmod$reTrms, fr = glmod$fr) } ## would like to do this: ## so predict() -> fitted() -> set default names will work ## instead we have a special case in fitted() ## object@resp$mu <- rep(NA_real_,nrow(model.frame(object))) } stopifnot((nsim <- as.integer(nsim[1])) > 0, is(object, "merMod")) if (!is.null(newparams)) { object <- setParams(object,newparams) } ## need to save this before we reset re.form re.form.miss <- missing(re.form) re.form <- reFormHack(re.form,ReForm,REForm,REform) if (!missing(use.u)) { if (!re.form.miss) { stop("should specify only one of ",sQuote("use.u"), " and ",sQuote("re.form")) } re.form <- if (use.u) NULL else ~0 } if (is.null(re.form)) { # formula w/o response re.form <- noLHSform(formula(object)) } if(!is.null(seed)) set.seed(seed) if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary RNGstate <- .Random.seed sigma <- sigma(object) ## OBSOLETE: no longer use X? ## n <- nrow(X <- getME(object, "X")) ## link <- if (isGLMM(object)) "response" ## predictions, conditioned as specified, on link scale ## previously: do **NOT** use na.action as specified here (inherit ## from object instead, for consistency) ## now: use na.omit, because we have to match up ## with whatever is done in mkNewReTrms etapred <- predict(object, newdata=newdata, re.form=re.form, type="link", na.action=na.omit, allow.new.levels=allow.new.levels) n <- length(etapred) ## now add random components: ## only the ones we did *not* condition on ## compre.form <- noLHSform(formula(object)) ## construct RE formula ONLY: leave out fixed terms, ## which might have loose terms like offsets in them ... ##' combine unary or binary operator + arguments (sugar for 'substitute') makeOp <- function(x,y,op=NULL) { if (is.null(op)) { ## unary substitute(OP(X),list(X=x,OP=y)) } else substitute(OP(X,Y), list(X=x,OP=op,Y=y)) } compReForm <- reOnly(formula(object)) if (!noReForm(re.form)) { rr <- reOnly(re.form)[[2]] ## expand RE and strip ~ ftemplate <- substitute(.~.-XX, list(XX=rr)) compReForm <- update.formula(compReForm,ftemplate)[-2] ## update, then delete LHS } ## (1) random effect(s) sim.reff <- if (!is.null(findbars(compReForm))) { newRE <- mkNewReTrms(object, newdata, compReForm, na.action=na.action, allow.new.levels=allow.new.levels) ## this *can* justifiably happen, if we are using mkNewReTrms ## in the context of predicting/simulating with a non-trivial ## re.form ... ## paranoia ... ## stopifnot(!is.null(newdata) || ## isTRUE(all.equal(newRE$Lambdat,getME(object,"Lambdat")))) U <- t(newRE$Lambdat %*% newRE$Zt) # == Z Lambda u <- rnorm(ncol(U)*nsim) ## UNSCALED random-effects contribution: as(U %*% matrix(u, ncol = nsim), "matrix") } else 0 val <- if (isLMM(object)) { ## result will be matrix n x nsim : etapred + sigma * (sim.reff + ## residual contribution: if (cond.sim) matrix(rnorm(n * nsim), ncol = nsim) else 0) } else if (isGLMM(object)) { ## GLMM ## n.b. DON'T scale random-effects (???) etasim <- etapred+sim.reff family <- normalizeFamilyName(object@resp$family) musim <- family$linkinv(etasim) #-> family$family == "negative.binomial" if(NB) ## ntot <- length(musim) ## FIXME: or could be dims["n"]? ## if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { # unless the user passed in new weights, take them from the response matrix # e.g. cbind(incidence, size-incidence) ~ ... if(nullWts) weights <- rowSums(r) } if (is.null(sfun <- simfunList[[family$family]]) && is.null(family$simulate)) stop("simulation not implemented for family", family$family) ## don't rely on automatic recycling if (cond.sim) { val <- sfun(object, nsim=1, ftd = rep_len(musim, n*nsim), wts = weights) } else { val <- rep_len(musim, n*nsim) } ## split results into nsims: need special case for binomial matrix/factor responses if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { lapply(split(val[[1]], gl(nsim, n, 2 * nsim * n)), matrix, ncol = 2, dimnames = list(NULL, colnames(r))) } else if (family$family=="binomial" && is.factor(val[[1]])) { split(val[[1]], gl(nsim,n)) } else split(val, gl(nsim,n)) } else stop("simulate method for NLMMs not yet implemented") ## from src/library/stats/R/lm.R if(!is.list(val)) { dim(val) <- c(n, nsim) val <- as.data.frame(val) } else class(val) <- "data.frame" names(val) <- paste("sim", seq_len(nsim), sep="_") ## have not yet filled in NAs, so need to use names of fitted ## object NOT including values with NAs f <- fitted(object) nm <- names(f)[!is.na(f)] ## unnamed input, *or* simulation from new data ... if (length(nm) == 0) { nm <- as.character(seq(n)) } else if (!is.null(newdata)) { nm <- rownames(newdata) } row.names(val) <- nm fit.na.action <- attr(model.frame(object), "na.action") if (!missing(na.action) && !is.null(fit.na.action)) { ## retrieve name of na.action type ("omit", "exclude", "pass") class.na.action <- class(attr(na.action(NA), "na.action")) if (class.na.action != class(fit.na.action)) { ## hack to override action where explicitly specified class(fit.na.action) <- class.na.action } } nafun <- function(x) { x[] <- apply(x, 2L, napredict, omit = fit.na.action); x } val <- if (is.matrix(val[[1]])) { ## have to handle binomial response matrices differently -- ## fill in NAs as appropriate in *both* columns structure(lapply(val, nafun), ## have to put this back into a (weird) data frame again, ## carefully (should do the napredict stuff ## earlier, so we don't have to redo this transformation!) class = "data.frame") } else { as.data.frame(lapply(val, napredict, omit=fit.na.action)) } ## reconstruct names: first get rid of NAs, then refill them ## as appropriate based on fit.na.action (which may be different ## from the original model's na.action spec) nm2 <- if (is.null(newdata)) names(napredict(na.omit(f), omit=fit.na.action)) else rownames(napredict(newdata, omit=fit.na.action)) if (length(nm2) > 0) row.names(val) <- nm2 structure(val, ## as.data.frame(lapply(...)) blows away na.action attribute, ## so we have to re-assign here na.action = fit.na.action, seed = RNGstate) }## .simulateFun() ######################## ## modified from stats/family.R ## TODO: the $simulate methods included with R families by default ## are not sufficiently flexible to be re-used by lme4. ## these are modified by: ## (1) adding a 'ftd' argument for the fitted values ## that defaults to fitted(object), to allow more flexibility ## e.g. in conditioning on or marginalizing over random effects ## (fitted(object) can be produced from predict.merMod() with ## alternative parameters rather than being extracted directly ## from the fitted objects -- this allows simulation with new ## parameters or new predictor variables ## (2) modifying wts from object$prior.weights to weights(object) ## (3) adding wts as an argument ## ## ## these can be incorporated by overwriting the simulate() ## components, or calling them ## gaussian_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") rnorm(nsim*length(ftd), ftd, sd=sigma(object)) } binomial_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { n <- length(ftd) ntot <- n*nsim if (any(wts %% 1 != 0)) stop("cannot simulate from non-integer prior.weights") ## Try to figure out if the original data were ## proportions, a factor or a two-column matrix if (!is.null(m <- model.frame(object))) { y <- model.response(m) if(is.factor(y)) { ## ignore weights yy <- factor(1+rbinom(ntot, size = 1, prob = ftd), labels = levels(y)) split(yy, rep(seq_len(nsim), each = n)) } else if(is.matrix(y) && ncol(y) == 2) { yy <- vector("list", nsim) for (i in seq_len(nsim)) { Y <- rbinom(n, size = wts, prob = ftd) YY <- cbind(Y, wts - Y) colnames(YY) <- colnames(y) yy[[i]] <- YY } yy } else rbinom(ntot, size = wts, prob = ftd)/wts } else rbinom(ntot, size = wts, prob = ftd)/wts } poisson_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { ## A Poisson GLM has dispersion fixed at 1, so prior weights ## do not have a simple unambiguous interpretation: ## they might be frequency weights or indicate averages. wts <- weights(object) if (any(wts != 1)) warning("ignoring prior weights") rpois(nsim*length(ftd), ftd) } ##' FIXME: need a gamma.shape.merMod method in order for this to work. ##' (see initial shot at gamma.shape.merMod below) Gamma_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) message("using weights to scale shape parameter") ## used to use gamma.shape(), but sigma() is more general ## (wouldn't work *outside* of the merMod context though) shape <- sigma(object)*wts rgamma(nsim*length(ftd), shape = shape, rate = shape/ftd) } gamma.shape.merMod <- function(object, ...) { if(family(object)$family != "Gamma") stop("Can not fit gamma shape parameter because Gamma family not used") y <- getME(object, "y") mu <- getME(object, "mu") w <- weights(object) # Sec 8.3.2 (MN) L <- w*(log(y/mu)-((y-mu)/mu)) dev <- -2*sum(L) # Eqs. between 8.2 & 8.3 (MN) Dbar <- dev/length(y) structure(list(alpha = (6+2*Dbar)/(Dbar*(6+Dbar)), SE = NA), # FIXME: obtain standard error class = "gamma.shape") } ## FIXME: include without inducing SuppDists dependency? ## inverse.gaussian_simfun <- function(object, nsim, ftd=fitted(object)) { ## if(is.null(tryCatch(loadNamespace("SuppDists"), ## error = function(e) NULL))) ## stop("need CRAN package 'SuppDists' for the 'inverse.gaussian' family") ## wts <- weights(object) ## if (any(wts != 1)) message("using weights as inverse variances") ## SuppDists::rinvGauss(nsim * length(ftd), nu = ftd, ## lambda = wts/summary(object)$dispersion) ## } ## in the original MASS version, .Theta is assigned into the environment ## (triggers a NOTE in R CMD check) ## modified from @aosmith16 GH contribution negative.binomial_simfun <- function (object, nsim, ftd = fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") theta <- getNBdisp(object) rnbinom(nsim * length(ftd), mu = ftd, size = theta) } simfunList <- list(gaussian = gaussian_simfun, binomial = binomial_simfun, poisson = poisson_simfun, Gamma = Gamma_simfun, negative.binomial = negative.binomial_simfun) lme4/R/mcmcsamp.R0000644000176200001440000000654312406350752013253 0ustar liggesusers##' @name pvalues ##' @aliases mcmcsamp ##' @title Getting p-values for fitted models ##' ##' @description One of the most frequently asked questions about \code{lme4} ##' is "how do I calculate p-values for estimated parameters?" ##' Previous versions of \code{lme4} provided the \code{mcmcsamp} ##' function, which efficiently generated a Markov chain Monte Carlo sample ##' from the posterior distribution of the parameters, assuming ##' flat (scaled likelihood) priors. Due to difficulty in ##' constructing a version of \code{mcmcsamp} that was reliable ##' even in cases where the estimated random effect variances were near ##' zero (e.g. \url{https://stat.ethz.ch/pipermail/r-sig-mixed-models/2009q4/003115.html}), \code{mcmcsamp} has been withdrawn (or more precisely, ##' not updated to work with \code{lme4} versions >=1.0.0). ##' ##' Many users, including users of the \code{aovlmer.fnc} function ##' from the \code{languageR} package which relies on \code{mcmcsamp}, ##' will be deeply disappointed by this lacuna. Users who need p-values have ##' a variety of options: ##' \itemize{ ##' \item likelihood ratio tests via \code{anova} (MC,+) ##' \item profile confidence intervals via \code{\link{profile.merMod}} and \code{\link{confint.merMod}} (CI,+) ##' \item parametric bootstrap confidence intervals and model comparisons via \code{\link{bootMer}} (or \code{PBmodcomp} in the \code{pbkrtest} package) (MC/CI,*,+) ##' \item for random effects, simulation tests via the \code{RLRsim} package (MC,*) ##' \item for fixed effects, F tests via Kenward-Roger approximation using \code{KRmodcomp} from the \code{pbkrtest} package (MC) ##' \item \code{car::Anova} and \code{lmerTest::anova} provide wrappers for \code{pbkrtest}. \code{lmerTest::anova} also provides t tests via the Satterthwaite approximation (P,*) ##' } ##' In the list above, the methods marked \code{MC} provide explicit model comparisons; \code{CI} denotes confidence intervals; and \code{P} denotes parameter-level or sequential tests of all effects in a model. The starred (*) suggestions provide finite-size corrections (important when the number of groups is <50); those marked (+) support GLMMs as well as LMMs. ##' ##' When all else fails, don't forget to keep p-values in perspective: \url{http://www.phdcomics.com/comics/archive.php?comicid=905} ##' if(FALSE) ## C++ code in ../src/mcmcsamp.cpp -- is also #ifdef 0 # @S3method mcmcsamp merMod mcmcsamp.merMod <- function(object, n=1L, verbose=FALSE, saveb=FALSE, ...) { n <- max(1L, as.integer(n)[1]) dd <- getME(object, "devcomp")$dims ranef <- matrix(numeric(0), nrow = dd[["q"]], ncol = 0) if (saveb) ranef <- matrix(, nrow = dd[["q"]], ncol = n) sigma <- matrix(unname(sigma(object)), nrow = 1, ncol = (if (dd[["useSc"]]) n else 0)) ff <- fixef(object) fixef <- matrix(ff, nrow=dd[["p"]], ncol=n) rownames(fixef) <- names(ff) ## FIXME create a copy of the resp and pred modules ans <- new("merMCMC", Gp = object@Gp, # ST = matrix(.Call(mer_ST_getPars, object), dd[["np"]], n), call = object@call, dims = object@dims, deviance = rep.int(unname(object@deviance[["ML"]]), n), fixef = fixef, nc = sapply(object@ST, nrow), ranef = ranef, sigma = sigma) .Call(mer_MCMCsamp, ans, object) } lme4/R/sysdata.rda0000644000176200001440000162111012565075351013467 0ustar liggesusers7zXZi"6!Xl])TW"nRʟ ,bo*m =F῞qۡWJ/m[>]XIRHm#4Ce 3цݺ#64KA RtUƨ%YTH4-Ps_4?g'5`wJk8vpfnbYԖ-!,é!`=mʷ=$G(#:ʃp?]X53Ə1A4,4CǛٮAPl+-J:qkL)>N t:PˑNZǵ>8 (ODh=xNSqk.RVqPgru`h}`lg*t/6Ĺ&J^DTD2a# t4ne'Nc[F}5L"=*˽rcd@6C>FZFd]N:B OUl 9:Tr vMh*T|wٻ ) x*IVB>RBP,-+o=r K)ӎ+}f2"iRYhy% (Rr!&NSni>C6 u@mPo=M|.S !Dnc=Icp8"_8pמUQfҷrNgw"vQzOe+.a엘ڭ@ߥ{4j#. z>Ύ=h@wJK}E|AMTʯP(m;߉r3?E%遝T%]:'귥GPnD`Ή3m:YFUE\MihbңliQt@m %l<'CTŘ&J,B< V_%wO\cАL@*FcD^pwH݆\c(VzEZ+u&zZE6yvl<+EDN;"!~>?ysx2e$)Or aH2dl~(b!c଎'+WE5Ynn@Dnҕh (?L k Ro2~nP4"Җ 6[L13&^B$e8)0T[7g~]Y C@ߴ lDWjY L!KG3.6}47p`̀n˕.z=d D(@ ![~ԸbD44fL2Z)l+_~E˚br ̒{$`'Ս T4)Rg"'C h+!ڴAbnV"t5T_>,J2<;K&(3MF$ؐwp B,:t!/; WrXIΊBdg+z1=gFHGJYVClo׽d8iNW$ǧ`|pRrl0(7wDkE$};2>0 } Z:T+o(P&Xn1ڊ|8'/p%e$'q \fb|L$F^'Iz6jF愘R>c!X]uc<-F;'􀬢vw$_"j!su>J50ɩJ:udlhmoC`sm*Hj?#Re=+z{?m?-9xSɴ䯭tf6J|${Sޡf"n?plYSfg1nHb?D">#ܭ6]s6s3ջ0<JT-FSyTT}φ^ŕL.ȖW)8C$w?Vi7N$ pt^+҅~֤ɼs 8oYQmEO&.$^sR]wɂ1;{$a0E5FaFFASaW&eڂ5M w@0)R/Q;g-k;;?_f_T&0$ہ`Ͻ 5Z _(gD̃&_9GFHu$Qdhwp$&9+@/OJ^O#k.#EQJ:ȣ8D>}*e#DK}ܕڴC4z0,(`Po ,rL(|͐$$F#tcDYq?Cn-c/$Fw2ܖ]{ Y7R3_EƣNL*ưm&SG-)b{D-EBZhe&iOqhXb*](m "] uZSC6(m:65" xHk/ Z!ZCv>2SO<+Owg'n>z*v16\lD@ ,Rٖbj#lFhTvANf^ <+r+Lrۼ#Cxn##1?k8 ?Hfi"0J5Pɡf."uHV_?@7cnA/TpٹaW#iW6:S)Y-8K$QPѓdPk.RnhyV.R.)e#"4Eym(TjQB*.=?B°?\t']n[.H@+A5z1(V.*.bz"[7BX!ϋSu>hxo'x\9jt͊Қq5шg8{V~ɓnfV֝׏ǖ N1Ei'CLU 2")RFP d}*v(3F1+5?$O3A!(3d'4f@2w)UmHK{a,|uj IVD+Mi(jXkDׁ-M8 gb _ThC 0X'tl8$(CmB?Ic 0;M@zYZgMLUvs˧i)qU}b} j!Y#MSu`5f7Vlّ:3wni$c&J Yb깊QHD E"So#HLIn D+"-%OMT欯2SwP/3,* rT+$zTÎWkM$8yG{KZQI0jOF#^۽Q9L#w| ۂvL"9\+L K &i=CDfC|j"e, 5=NkXfDTXՆDX͙QǔtKp[Vz8=QH 9/\\JҪ;؛y3U \h Q&ZjJl^>cѶވ oqp2>:XHWF9llWvazCXحM/U8ixZ/9+aY'Q )U0X%4C#~h>z:R X56*K[С8Nq:y'#_zD-VqXH.u58]dlgVVs $܅T-F+Lm|Bذpf=$"_/ѐ' AiZ箁7k"+v^_ݣ>sjQ{%߮DmS[A %8}G#TV7|4N3/I S@ qcbljRҿFsS Ѕ鿖̛(Icz,Ĺ9&D:fd; =^㑁<ġw+FkUn\ee5B'Guqꮆ Ŧ e %+عO}l27?"]zwgM}L6W`oviF'6˴KDv_MkBE\Эjӆo#X(G1= [ ];#L 7r7+v)۸ pF1Q"Gi]<~qD;e!3Һ rdiq(&e@ Ŏ鈔K4҅/X}]CM !XP$nf32>)WƇm .@ΈpƳ9&\^ SĘj{4EӸ_D{=[iG ڬN_`F(QF(كN+2,{ `mcP_`i!E 6^Ԍ'w$|a.ܝ}3yyUP˔Ͷ֖^+ƿ.HM-dfQq[_ץbKxJ f*^|h3ŮA4Yjtn|5juϖ28'x|pze:ל%,d׌E )@/_ [ˎҽCJ P]Ċfsv(~"tE 927aZ?'AmO(빀\$,gϔx(HUp=t􄄑 Ӑir7!un.} -!~5`?(cMDȺ~T)qcv8ED-&kY`R ]mK5$Z;)g}RWHAk]rL{H~Jijݝ35ztTՕPnzJy_5+ 3-,z{`-_LLXKt):oh@'Kn1<$R4T!t"OԌ CƩ9e[*܂XBx]t]6wu]1O}5q*XhZ#+k.= 5# #iT^^{S7|0}CGE" =ZIjt htcάhK*f½U8bYAd rkӚRiQHzn0FTjϺCO+32 Y_|wg*$/<,Л[}qC::ɹd0~iѶ/+8FP  Grm6WO?1f]TW;F{X0A8\tpk7 fg˹$X-V ЅvrUCsTZLQNJsZQ W_%rќeY[La2j  sT;F; <.h^ɟ^&;MwcGy&U#Ua/,4ּf)+!egQJv6UFgZ8,~ H=Sk z:Q&YO3$Fa"z\w4D KRGm .$[nN?EESx} T.>,owd&GXBz=D!.uo  m1ÒxmCQ6hE,j ̭˧P pB5r@HrQަ%*®ItCW3_bcY@0EnP,9-ٷD\::w͓ۤ΃oW( =픖p"`~ ǹ0^\}b ]o|U$KxiԀ0tϸugua6c #*[TnVP~Ϋews|p|75N~GZbbS&hXlD6}q?p Wsӱ{t ӳ`Y"z1> cSwrC%fX*s܋j̠k%,c0N9u8ر[b=S[!&1RP>Wv\d5T}$?)б-gr"8 }NDf\ѝhm*ʶji21י7}Y TNtc\.#B2Dw6u V0-{a~qjB*4$jǍ>: efo%TE$==yAg|mN7dfJ f5w4I@/*̑G~_Ⱦ. }XB9.u ֥L ʊ!pOIXrepSM%&6~`ֈLɨ lJ*O)O1`o~R7`a-C3a{4h)JqRv;gvYm S|n*.$ qge𙷠ܘs4; "T`U1q M:*(97y?i!Tr?j5?( }V`-S+&k~X'^D XesYz :˺65+<^9A"m(?먙,nG!i/XȩKs@;%2':;#]| Ak ğ]1WOѩXɭA=ttST0ll|X:#(L3AaQĢ ElPh,EnTJE!݇@i$rk885$Vጃ~\2S=']?(gkM孰W{Qi̎0̒5h?EK)Z)PN)"8L2DߖojN!1NXZL$LJX-q)iH?ff *xSjRq(AG4.7M˓ FOJ3tMhStsYK7k<{ O%O/QJ1 rf^2䞄YoدaVa~A&eo 4lK㋢C?̨9Mڅ]ԧaa8@hم[B= 3y-NC6N׺oAVn )u,#]Hșz>c9Lzhg)VvrW-U':x_e˒̤"U+0hE.@5@9ˍ~R*ȣP@`c6u wA" ] /gff;1ƩuyVs>ZJVlQ2 aģE*3U}`JRȏchSfj6,b{CتŒ(uEvX)ȁLJkpZ<_ "M?kvOT΅ 0{̧}+;3Q?mrG6kUY[.$PtAW?A ^Awn[5кs|9VEرL5kƗ"o^l)  {|Jow E9brK$7n3Lkvj@~ ӮK!z$*2dvp̑IR~#ROD&=AxOF@Bmv8`Y MFm/|0w/,Pdz0o~#$EϮ/wͥ>"+ (qw2Q6 ]2D]cP=Dmzܾd͗:kwG++B-oz\z ;T(BXxt5PY}%R9q.xTl+LGY&`z2 vkyvv+%N46z'fK~eyI񀩀I/=Qx\iZ[o(Cl Y}ܵ_Fqe@{S'ւ cGw(na(pdM-Iy6 Wdtv*]ǔ)jLqǀ65IG9>adcOV&B>Սyf,y(| b%9K4ܮ}JОjS%2u"Y̻:Yœ-(n ,McWI[x6J Ǔ7c#ּ y }9pC߬7u+58~>iU_vy+"o3}7n*gL&I%EjǏ8yC^]d۽逅,y/i2 aN9 >2N[VFaY]5'BշSZ(o^_@t)ˌ+y_I ')t Ӊɾ1QaB0Pfvݳ[(N+~7מH g_7~t+$&uUn{LO5IV]rCXD׆VC4>',MgD^4ºigĂh )?k2V<5wx }R?LiSQ 6;dԃFA kFܳWe#yyg\AM& %)g!sɞkt{Fv! ˅2pe1f7{$d+w.mSW'5;*c쬮Rݒ9 W v:MH<m-}j`-)%'q\;cWTK곂)XQ)y :RHYz]H;ËQнok%)2M&fNFQVdLk5=vwrn&)@) ")hl\<Νd SoUa +EMa%oVGܲ;AŒȄr7 kpGVK-ˈ1E΅cX%Tsl:qr|CY2@L<:CɑݘDKLK"<VvMzӾ4Ŭ%>SԷ'xï3Ƥ.E ;Qd*{:x1>A0Vw:8bվך3(GdxC[ aEO7j35(ğB^ǕoFeF#?;GPYE,3&GuV\!W] ZI.pZLq/sGpn-1`4k™..%el,Beg9,C Uz/<yQ{7@*1muH3'?;O+:ͦ`2{R-=٨pj,;[tW IZ2ㆱdi 6qݱ.Uᛮ^+i<ĺ|c>׶$څToy{QYT/hMVx]2pk;ߙz*FYYvu,p^W <ʏ֪dW=39h\<3EFZr}'`wHJ@7I In`6, 'B2̽rեj><3Z-`2Vb4;VrXٛ}*r8Ź]TfYg6G i.!f؜ [ )6w7] jGlj&9&BG~i6.F]g-9/^7􍌃KUy%gm[8? 14!JBb˂A7bO aަ*[^.뭬[v1w\{<{I#bSb@3E17;nMIt(xiiчbοp˶6nA2w kjQ.--oZC@<.\ "5wlũ_rfgMYSn&ƇNm>;JH3-(`@3>έHK^EogPVjs!egD*.wȿu:(AӴ֥`җkݎ QA4wDPD3r>%Sons}EcD(&~ƚi+i y 9>!`hNpMY`^QW푒VQ}MNr6ؔcp;ȢĄB%k~6{߳/œe랂 ^B1]Nlhϵ,ɜ+>%=L4w0=08:33ﶶ^ x9KBsG 4+P"rn@q9*fS f^ gUDvJq]UuZ"b WBܯE󓣃E"7g =SHY_hT$L^pvrS;{x~H ?0<VUr-1,fie†ϠJ~+_b5V@U3F 7X̛`%fL߱H'k4+L"):f&xzӛRsV}q0A\Y+PCM<YqF3Є)zRQ &#qv0!X'=yCy@|uFg5v++Htcl =P>,prad'!VRUR[%J+"h䗜mrwSmiR$K/%Qmd=,[C'G. #cfwX6[LKBKcx3bG>SdFmʿĹ %Z5ș[v-)miAH\},⥎sLZ* ѭCTreE:$l0+F*q2sgw:x+,x5<=MG^1;6ui8x= YCxIX.8e rE2#3kWO?gDMDIn(l%i#ll&=ߢjšInqVo*5:hkEb S T.Bu\ O CeD1]xw\*`RgHouqr6'~l`!P'l #NWä5lNHBvS91| jsIUoccCxύRGHfwLp40? ^X\3@A `5vkW5x nti>ć3g%1aO,/ ye_rNr:iRἩd ϣDuaRNnVxJ2* eҪs d1% -cTfFMZ e{Υ*:׿j6?)5uh2A |oz/[IԿ-$!xΒ (. @KPp,{VA_P5Fҋge@$|ƋpOM97xA7=uix'.ށ&~%z|ka⧷ٖi"I X~tJSa!@1-V1N OűPYkqpԜԲ+i-$_,zZᦰ:JX˙p0ګR?1x/2Ng2r_{q ˫N8nKcINt1+R͐~M} JG`B %AG MIퟐVVͰᥨ1ၛɰqQqq6ӰBt0bY+0=WGp}@`(-5&w2@ ٲ-?n&*DUPm爰F(5RTa0ԝ77`|:R\ymÈtv,*!f&OÃP-.bx'^kO |~|WOCD{Uܰ{3$5s:;2Pt8E>U3j⌗ "I:'7>[ YùIQ摀y,CH]aS6]o1 TEh䕵 mq}F\'Gn;j̚D;tfҪSϹ"te7#XnC ]0׷*Ē\*Tq!-/"?q>B0 v#ٜf\{:ԋ.KMvH~LR!Jao3NPe-=dM-?ȉ[#s'j6 {<O]Uˣ Ɂ,|90t^qekͳ8#ȹƛHսu&r=둀[' 8_G$sXӭPc"dqUǠhjq}xr0v뼑S1 gS%J|=8m:Y f< 4, :~Р"JP ^V `)?)K;_/#2=._G_O,)rE#O&Kq܇t1iΦʿ̀}98.䑣m> +ʷ)sl JŶb )1_veiL;vU@60,I_iǬRpRIt0P*T؏ިJxkCXIᖺq̔o"uu>_}n.dR55gMW*d>omPVtvˎ)P+eR#GuM~\BQvhOF`Z8_shi:ҽS_2\ssK:%8kb7S@8l ԛ%xi8vW2fIyGڧ,ƫ Q;(89ZZ`Џ>~ ~X#q 4}~7z5:IelLRnZ^67)(vx qQ$ɠ|`gY'+eY1DoUשMExK*duLJ:6' ZlQgTna՟u@C~wHo !]W'Pu.B;GVF|Cꁊc !} o__s7+O [H[[k f0S(Ax]sFgG~u؏.Fm)鞆lH'CЊ|S'{@yӵ(ޱ֡]Y;ذsÇ_KZֽիf<׋AnS#a>sʾ+u<8ۣgg/a[iki4?Hޠmku / Ǧ.RkQp(r\j/(f-/ؾ{ǻwEdDko p f,P߬fJ1Ʃ݆2 ,BO5jcºڼHdVߘM3'x}M]nxc+4}Y@@bsEM#~*D8:BWM$fcGJ#Uk%~卟<ds#3q)yJZKeϿټN]szDu? Iu:d7{[+ֹ+൧yjXμ4&9,[^ wjOeӼ)q*D3 VBZ=©GT3(0D[ !ɧӥ7QPuPT.8N64A!|3qz@e:KJge<ޅ꠽I@>T;wy7 x5:Z:&jMW-9(J/>x){[8ߑV3m`]2g;Z:ǵ3u7\J~`^j8?m[|7\5ew̗ďH ^c|?XtR.{c,+-J6:Ww #ZeO@L}Eq|`p =ygg)q76$ L1{,YOB[fq۱WlP[[r6SdwsN_{v^myQY;kޑ&ƞy=b=c!=S[V><@e[]"c@J,^۩He4u" Ac&SE=ËoPjp-uM̪-v$h # y"h~WJGP'gd=˼buJ{3r. _Gmdush>.jX2 <^S N+r*e%-|ͽqrQp3Y]„dxoj|}ZNLbambGS1A@ ý@<1zcbdB!+?*b8b7Dw]p(T d 1~K; [P&L$!咷H DkYВ@N~]/h۱3r"9 $ l+)do ^lѶJ"-Lk[*2jp&v?Om`,L ?/I ^ޯ~>h/'F'i?Gڰ ?=s i .ۜ4#ssbygƮA[6JߺFOAC3 xzo !@[yb'˺#{t4&%_gp03TĨ 'Xc'1ܹuM p.|iXp&qKDёsӹVg9[=Sr+"QE֫ ĵmmӊJ`vpx|a-a @-Ihi$s(7c($y(dP~ռݪ44&-{?C>@Th)gu-݄f¬`xPsRCUڄIʩAc#::@рe#JB~'HyU(C8(C<`,1tK1|w4kufL5teUՒ ̷,< *mSVy J0SK]U,#GcZB^JzC8؟wBY#I lP|[XZ NHM]d;8s<17b̭EؑȤCV6 r 5CŽ/aҁ(b;KTᗼ'TQcD?2uA_Zp}a%~X=}3~(;m]1CQ/1 jE38ʶ9ۃ]vzAXM\O>g.k?kF'ٕ!wm^t)![&C =*LP8) Q*vH⽲y1e0.3֫N,G,17VCOCg<(^I'(!ML‚@!k?솔) g7IvgP4[Y!2%>A*~m_ &`gx_,=Fu2BC .!0;6mv |??rIhv6ω9Ƅvt鞉|"}xq+1Wݟ?Rj26Hzdjmd2 ylL265כdH. Um Ab8-:ܽJ@\ALWK~xa9w{2 @hFd;>O/Tפ!W#RXUZ^AnZwOa /^DqnYj0}a# Wp^oG7"gYJ=qT_T#=G0lSրu_B0zY4>wN X$륎5Ϸ̊ : n|kJٵD@o͌lvָ$UH륾Ϯ ۮj1e.XNv 1Aޤŋo]:.jsHߌRqxioC1KR*pYq wG35jN_աI;Ћā:ꏙWL"ӔQ%k-!& z@qӡGJg?LFrPCGNS=wHP_Yn\_Gbb/P`_Z#5^NG,!KV5/5PGL(d$i[jNz)"KnHZ͸[+LY_Pt;>lɻF+G0{StRE0vLSnMHz\XWM{.% _\|iVl [i-bƯ 2vԲNc*nkZ<}?3LFSBB~G Ecg fALq%+Fm|hGX-I8^OŊ(ki^O^vi5<F"&(x!PӔ9Eh5iPjMшJZ|%x%Ϝdm]OMjT1O&<u 7]xdD{K;qm`EࡉVau24F"8{I$sXn 04h*psёed)P%Yd<K܊_`Ha8/cLܺ:Hv5ƷH-'QР s{}J/}jαZ[Rbud睭x Rlj Q4"Ҳh\##un溏{P(-m9Nz#鸙Y3-o ![bgٲՖN(Oa|y_֋f-|ѫBOuFvqdBE&Ls?H#9Bʝ?AȐ$;?upzjF ghYQKAVL\2jD˫pH9O2&RXPӕ7lpcV\+RH씟irnaJc%w-=}2PMBtwAXE_-7ɭՆK;}$epꐪxTeGk8nH6~5ġ8?GO =IF>Ϛ'#b7h"{tV}ExdXz'o_mZo ɲ6|&hc}F܈{6,la_d0=bX7.vI zAُ:^AՆ ,OE^ؚh!+P_+H:ȼhA\G22$%]Z4d,1ʣ|-~c7PٍE#[țWiixnyj-S8'5C1) tr–lݤx( UƛOE~< 8`W HV;[^Tݶ4>"k',e% ڹJq= ٦A烽;\sudDHqjVH|D|;5GEMEdM!Ѭml~RjKdINxCT]Q=IVyK^-L\!2-mNl|*|oܠ?bkN 3=9ԷDWPo͛y; z- 9&گ"ӍR/Tp߁J4T2Qm ,kPols9/A #Q*MX Z 5CIJJ0z&ɹXߓq;CjDnOLCM0@$+_F5Ӆ}J\hJ9r>Hucok|&f?,%1rZ%N8))í:pU@jR pkj:,Ϡ^)IA>U=MJx)rmr0nPf|'K-Ai4] ^K.@Wqލq~j)-6zmJ `T)nIS 1KW5iA1O{)M p/~=V4P툶m:0ϻp"`Ƞ1m䩴#z>d35ZXaeɂPKGEtS?6?ϳsPϋ9'/V`Xfa&I#ʹL)l"-I]%""6H}X,SZ EeV\ \Ll*F(b4Z"QDmti%riѠūZtCCMhvGk+FW/ZnF;znyˎ8'שo3MmEjr FŽ22ƀqN( {>i "wp p$OД2$AsڮAl%¢n)B=$MF8am&ʧca9`'߈jME3G=L#bzgU˗]bL [lV3E,%}q:,fʹ![XC &jaeQxwE Dվ?m~`V"Qv4OE|2*#KdZKCNƓG?ɬ/ = \KFF i/|<1\CJa6jY5CX(ArV 4eeuby:\x64'1otWCtEʞ@sSˍo"."h \};"jux-o8<+%R*F@gZ%?WlSU$VE9ZEL( Qdw'< 9Rbrc e#VA/չʘ`W* r"@/KsfWN)RȤ1ɩZ\Uw'{L%_fPtX8 7|R2tr2I{O΍+z'#wj$l!B?ύVz"$Hh,:y%VZVRj[Ԩfm($*htѻS^yO} CіFt kwC #<J.Ϩ 6YBRL~&޺ƒ.xw.!w-=%+@"0#łw"G{v3Im¹=q<C?w1  i ^w@v/VewְT(lmN T1'Ҟb YSyW*, Rs|cWdX. XŇMmZ;ŘpGY1L8~U)qZ3^ EX@Ig֬ 34 dB'm^Ohs+S>|ԉQ_JDJ?^su_h_F4qFJD)0 pJހʯW9#xw~Ը:@ Kh(J9(h5p2P~V_yjՍ|8ŕ:jӬ/J7 d%4gq54sagL5͛UA|YQ +!`)0Hdx؝I$O@EfѣÅ73[;*%Yjp, :NVTAР.@fp$!bP1_yBn'( ɎL &}.jЅ51(c3ˆG\"K(8m r{f'7wzsZp rx/v;Zͺr>74-[seR'9t;IҲ@[#[`r#7V/3 dʂ7k 5N7+4}I''"kspz#gW? ,H|'^}$LBb/)K˷8θfS]wD8=)x+x"+Zxm(p|-f"o]QּD1ox미)充0<+s+uoT=}L{ӕ`,b!AۼWv#2"zR:E%_}M%4Lx+QҺ~jҧemP1asѬ{VVsa'a3Zm 'r$eFP55 o~X.[J({w@vp%a6a{EWڵ5{b»Ni '1%[ QؚUxCpZ8BL$Z9 O4=,F¼SK;\,gǩҭ-f{A#vT7 ױ2:([E~Lhk Fb0T'485_ h_W^6LI, nB7anZTWA !~:Fm}xrيQϛ~@V亥zX]!k)_yGBIĻѶ=4e*Ҿ˗f1tkբGyߖbqf6Ǖ H4|Oe3;:ҟ"2t4;+%Vɽ:&{UJ@vP_\-@.63p$ԄF)^ !,3c_2DDؼxP\h41JvTWFݿnp%X=p=?+)Ϋ]RL= y_T8G8W~L/iš^JzrѥE^Q2 WOgvrzb6]I}5?;& =#:,A& N?/Uc}T_] ]qH4'L=K" ػ=fQb:E 7Gxqbhdnxu+zTz?r aj,@3r Sn+oWXu-#aҕN8D̘>x@j-7bkRɭK0UL=2=S?rCg˗[Ӛ|rm@#r_jvw{ʁBM}.7kL%*{82dZ]jTRi(6zyY@c_gRW./ӧ}gU/gnKU+0uȁbi,W48_׮ٖ{L|usc!O1h0rNS#/Tz{m7՞.})3Ì+M="a ص hrÛCȰFMڑJ-]$UaҺQƝ= G~RQ /Cxz5j^%E*Ƣɓ+nQ4̱/Yݾj0 eh .080@^BgB}V|0ؕE@z.FRw^MV3aR@~M']}}%]@,R)Fu@}JZsyṙ-5Td@20J`T_ @ aF[|aa)ᾳ@ Y333@٭ خ`ޱv'Ϝ$T:*8WFRmЪѵ;; / 騅؍T#. m ^h :)C6G"C]hE q u$B/~LɫLY;;%+N➰Be8)*Yr>1CSKgߦҽ7 ꗶ,=TY$?:՗r{=F]0 PWUOG̀oZv[o|9c7 8>$ ɏbw톤 {τ2yD@[{6ƆG y6MR~Eݦ8wZ-y+uȐV?L۲J><,@ᇚ<>|Ԝ;NSqTEǽw}|w+s:yل"pרȐF/F:/`T)΀[|qpNfFs03js5B+Bؚ rK Oq?ǫ™ @D$?kDnڶܨS6 >ʞwWNU{ZdUNÙU *^HCn,76%gOBy}Tx a |ݳ L\T`i_f2 =Ų6@#=)ue2]*N w:~ b|פ lS=R::<>DA[')F25yD`%7C+쀉\:'ZVbo;^lH1`~t|t^qI8p  gQy9^a u@#%45oV*Ud~ٙ>A1kTQxdTȭ{@Bׁǐŀb͍dTꖋ͹iaM 2' w!LŦ ɾ=Pe~83ܽ__[_  cuf9PlП&U> I s"Z%4zpt," ϲǘLn:hc;j4pՁZ(!RPiIϤqs/:ők"WdJD֍ $wȠBʆJzTT"]`4YK0ә5<ҴHCoa at2[&wl AG{ ^Mi$M4kU?hj2t<  5љ&.-$A x)nOx?#o9>?l][n.5;Y,XML bJ6~2+EL4 Mc:GWĘGv"qxkd5Sv()||p~o| s&QzWOt;ϣȯ"ռzzǜ )`J< &Оu)іAWqKRTëV.l.AdTtƄYH@?{BR4P/."k eJ\4`9bˌW6Ly` T;}Le>${3 ;H+]K2~ڜ%,g,(*iNr.eA`:m4[g('՝A4y "y,PH rF}AlﱨI8hUFQ K 2Ζ|XT{ mJCaA ɼ12֟IZgl,׫_[`ssfi2V)8WSk%tPsY+[ovvCГ LOD&i sX.tퟻWz-#:DƬ-ZOP~Y@;dmSI|V/A'c &7U4GH^Gnl)*q]F-ne"TCiVRKϷ-1x~&r=LٳN_F ;zN?|ۑyXk,ýW@1#AP#ֵ"&7,N"@3Ȧ}Mf~rcE6S$™$Xc jdsE'%A /Ť bK8潵yj qb6Qކ ۂd읽>h Sل̱y Ɍ,7eB 5m% E}$(qyN,B%@_u4yH;aobUqIM׌G@?sO2:|e"*'Nr%`f/$C9,ł PE§8i\v7JQxR){c(%>E)fЅoVK.B L|/ *MzR,-rnB&geۭ_4ZGG%0"B"۫ oVxw$3F<eHH+ $}unT_EgW|5;~€ͱ>4ԎRk nPKa cަ F`GQ]Kwk.u4]8kẻoe. V[!Jd#f"]0 y~⃳jX@;s$~OL0NΟ)ͮق?|g΅o3i7)ԑ<}+}Tޚ֓K{CwXcƣ1>.$]P6t/c {^? nVIN Hl#q~HDz-^QSE `ը捺=0F9!}|ivҏ[§$L2t5T%%N<+‘f2.D@z|. n'p1khľtҗk3-es`.r_ЕZ:/> 0Ƕ!5H4 g X #_+>,q:H߀4OQz)n(;^ Wu%x$ѶxPfzb_?AʥPCf7azмŅѰfl88ym@&LLsX3u]gh&C "$/} 3{bPSES2ВOAd:VǀF)2 LC<ϛynfElɭmS#eJ sLJ4 h&*;>IĊ3S]@]Axmzv34~ wo 8e`;h 04jFLU[7IE\2(zbh[O4e AiG jT S-9UqjWC<~NA~4ru;ƣc=/1bGͺ_ B"$YBoc7wmJܠ] tɷG*:X Z0{whɐ<{oFmwW==34T߼AVL`( u #eCN14Qc@a+P1%OsV=!+$6ud$ԗm{nV]8x[)#VXZHD RHcq .߂I/?ɲBgS>B |l.x I=usQEB4PC7f aX'͕&*-~`PC!]ӣ3ru=7pP:\?f8KLO~:U}3 qʡ`$ ҉u$1Dui)ҍ4&x|2x1쿷WԀ3i\2~q\|7tEꏮ=G=X&Sb9%ID º?'{G@]G7[ #9딇˝պ9+uH耒]2|3u_.\+GPOEL!D%}njKM7sWrQIz{#چCVC՗9,Ar4.&l8IJNM~Om\z%4(fݺF (}suɢcL%a*U2Z g!Bem]:VBSzď;h o8 !#(y):D7^IzyWVl5zez69rL~Bm=rm 0SfO [O&tWH*4L]3~S%\3 gi]?-8.ed.g"ɾ%_H (ɳk]FߖTRYOsg!t8賜s/Y>h`6~hv Jx?50Y i@SO'L;\D49h "*5t7;1=:(v3j3%fiL1T{ bI0u obP@lWQ;z,*€hm)|RZKē])6d.)f_^ŎM! ˫c4H!Óy!5746 >2QZ)0Ј1d%ԅfGaS$96INQl' !!6 z@g|nI;zbڂ6DWqxsl*J<`#DMϴ#JSa29P^ uEeEԑHxzH K%Kɺe +-:-,_=Y6qNxj.;H"M)Jryl.͈ Cґ%1 1 }'졧8_&>6/\D2q:A^]- 3ճ8}Дe` {e>VE5%b)'rGn$Yyo2J>3rS ^ ]" T{C; vSbv/zfPˬKLM<9CߺsM\65i &{Wٴ3N6UTobRAsV >jYYGAsީ}K ~[=yހY[մł_,*(A9۾8 w&i}ݽu_ruw*x+&c>E~+ MT˅wQbW(:vҳS(L:\ā]=E zs6 h'Z<+ȬUZGHB-)?}ޏ&ċd'BG|hXR t&"_5vtGYY\jʥoz}g _iPNG59d7ڏAμ ]P"`FlFC6֝iS5$uQv`n` ${&qfoUV~-l-O-~OX'%}EI [@qbmh N_ƌ\%lR_eZhJ קL)05F+DAyE턇Ҫ;{CĩM 9`їkquvLDwEeR.3M?삊-Ap sg*W΅oT[f4i6(P#D ixnWYt܉e :&A dvOjX(NcA] J &vyJ.u ixs*hZRô<Ǖ1ߧNJ ڶc 'ȟwT⥛Oe2o$C0|!LPY%3yU2M\] L 3$mtyхP*, 0;I>ܬ.bcYqMBFBvt Q$>pBh3x.qNRw#~?y\{% |Al!'Z%എhcy{eN 5lOn/K:evƈlX)A]FШ5TSqF P Z}z[[pH5Ë{XĺJQvyObh6v& ? +o7`j*7Iz ˹$.%<>GQ4SEhԲ?f):Mn"&JK-l{r ^%0 c4R)4v$j4(|OKEN, 'C| Y@Y)jŅuIl6x"4^o5:39oЫqlrRO5(3*CKVCW,NI4Mcu+N\Eu\gHQRIˇtpB.px7HtnpU8Y'qwb*'U:6lLRhb=8'H풖&F?O0_$F|G\;.;'qAU?;U`\1R'qi uE x H.oSYKr M7h!o{=lmyHo ΅g7YlԌfƾp(yEoHIĊAA/勛n"5o é# ĚeccR /^HA&dj )qRTHdyªC12[U+\3#wcOɉ>48$eV|'6z2#%D\c*&\1`;i'ٝKnͥ-at@QV>ܨg1S'[1X(`/V#|hH&Ewm_ע^VS{ 6afR'&Rm͌pE|+* }L%IFש uQ\^)dM1Xfqz5vA`Ոadb:;(cLV'zڵw;Y9J=i%DSIᴴyI٬MFQG"q`]vGuTcb6fgG/ RC(JE)ǥvJ]!h'bcgl]վ K:^gzfm4SIx|}bScoDr&E^$4Πp).=p ?/\7i#s6ื3N\`9V ـ&x%OY*TB;5?<°G)f"Y'jNUϸ[ >@y͗`ۙsl:I+dF f"`u t%гM"~-&f]N>{xJ! ه44}iPX]\Ϲ`97e/ n0"=\)D(}[xՆ)#蜔5Y) )6S`Tl.P͂GKk d`+,GKC:k-h5-*oLѝHϳív)`4Y)07ɶ`/f{_KlkCΫ8Hc^To OV"b @z,h^Tۃ&Z'PL.l'fMo=K9|Y0c$w 1P܋mž6<*g ΄w|J8 ~Dvk[7"1  QI36zᩛQ ߫13 6OCPfeo mD>[x.fIu0$FfY m!Ufd8ҥmܨL旭s&>z8/37(:4 M91ClYKJ0=^55Er3Ё0Lڠm? >,n7mbK@]m"̃6wًvv1(/D7N@cz6+1B1,{L=d.Ƀs>՘,?Pk0<~xVxw,[ƕvBAY`3/H.%趥}Ԓb@nb^CMNsPT#pI&s=2ԆԞzǂ.h&Vx _uN ߹<(Hk`q\ q <4,}bĵd?69 5 Yvsbﵲ0Ep x]Ԟ)gk=`k_I@6mǺ;I^M}IɄwC]K^[r '#޹BQtVuԦ!?ٱ f`]+RWׇX4~joZ>M<(-g@Ì7DjąЫQs F(>G<^31f1.a|+{\0X Q鬢FH_fn45{Ffe*Pv{ӣq0,'S=u(š\*-8+tXB? 08W kqeA-Q$GmeYaח}H5 kyKM6q<81Ŗ")LN(-#zF<'z?Y:ept֙RvqsF*G;;/McSm~H( i5PDZyHm&NıI2 !⏁$Ƨv^GK\C:{PHn SFˌ! T8pdjyd][$\P)mV%a7lqy'{>" {d+z.mVb&mZH51.Ќ᠝_&U_#c_F }&X|ASz3?cB}zUO`Ō2!QHISEŞA3Ť䴜J> qZtۈX[KSZEC e51=F hs6M:q:jtF>=⮅%j[f:Yu{Q1/yO&WnDc@:!T8Bva"3JxbѵXΙ|<$j9CGuA~w T4FfW%-А=} >t*b5Zz[kvё\wb9?Q2}*6O|ˡI-_[l=fPE;Vxc=ZH;pAhŊY'Ϋ-FIS5 n)G%m}TGu[RZB~Me-%uYO>ܓɫX (h|[DAn4U0_&WEh0nk/spKL9G^!N]{jNX@X$?BS0}e8%6?n>;n}60 NH 4'e8?i8'v~EN^*UCHQ@ U&2 $޾>j@Cz:%>or3kW&ю#xJр0JZu)SY{$$j2RL?xw?;,gw/uUwQ:Dalh=Xk-V{9X\ 6);ųɥw!+HK& $&<^P[f-gc]_3l7\##4xXsQƎyUgNJVN(Dʈe^*gOE1U\#>BMkm=ÕХ`}lx/_hiN 5?*Oó!ѲfuAC7eN!yPnot\zH,2_cMG(lcL6.P:O(}X`C.\,Ni21$;1Bl`Fb'ą RkkFlJ!ʽYB KT&{}Ay %c`~T&2mi% ߍPUݕ=N3Sm9{ PN-TAMA<7sGꗃW?9pG$zZry/#bFɫ\Ee~ؕ^ʁ'(KW6ZyG_'wf?!ĄP0cV~b3(\9hiJ0oGh2[\dkr^a"D^kYVTs9 TJuAYDոLOQ@*%4ET _4iZ~˂ڹ n<טPԣ"L83aLW*~㹏NMhT[P8NĨZ?p]1P%mm0'"0b I,Er*S]*k׷z+Az{;jRho][ rgzHo9X' G)qv3}z\`yߔOêY*y©$*C،bMC*zeJ^ FnM2m.Wd(o1̛ޔy݈!jIXxQ>'`+?@п,6D7EzSo(`ܚr=6`+VV" Q5syj~jSubka Vb1$ӱ(/~wnyngr3Q 7싍][N;ËZDe&"4tB? Y".#$-np8t,(*ב#cDڂkQ:#SY]%6 Y{βy4qGbTS_ƪ`& JOi?w٢rl2 HJid aL3P3{ Vޚ l0}9ŃLHnV_G2aS,I Fv+}66D4tpAL=(1uJfFq5{_4BBhAtt"zH20/=ۆhኽ+N-N<@*:~@l,RߙH6-6|:˅+;&SewQ8"QD?/b\$3CڴLۑ&@S/* c8¶ [~FɔNLhF089ېV#ok%sHsa@0T&?Kӣ(BAxSS=sa]H-czh162QBEoRWݥbQNjAIЬO0f,61btH1ɦRAlV_pjB{W㍞:+ú6t)a4A[ڼió6MX/I#'k ו\& i81h4ϰw<2mRIEύCێ3KHh&%pI'Ih@E9Q eŘ!:>zj>J4z+x;&~D_8o9q %YoW/6oX>pИ0.v~^RNCe<*S,tNJWō+ګK4?߽VʋE"I3%&iCw>G͐h-^,:kyjiZHCM.P%"HBiRHm{`>svBQraQpYF#-nTUU6,m>|aq&No;FDqO91IһϫE;k{-ц }}:/ZOoZgϭ'B |M Jִnj.Z~7-J+>RX\;;:RYf;^fL@6o+ʒgX9QFFTdw1MelQˈ\t_3v 'E[P~QLy h^^ >x a2bq"ymYR1~YlAYGS鿘tjf`dRe&V9֡38vgcDٳCىv̬#J['SjVj) '֧uS[_N.fHB7'&]r/Iܼ!  _ =wm>b;󙋍$_WIKGܲ>'R ŜzJ_ef\8Zd+=資,jw74|uNKT%Va rרŷBZͤ,RVwn9bLnUZS<~.Wޒ&  r-1X0>,٪O EyjQUH.)6U kt&&-;l-| p;c7rXI;2؃fu.k7FؚZNtvhp1`C$I8hEĹ:S9zڜ0gquۤosR:րcP;pCn OW-]~T{ۮe|~W,_][zN4+;/8VgEu"6k_"nlY Wvф WJ9>ypW|l*we^w>5e*z'\AF j-}:D-+r{ul;ԳiaDd as*vta xvjJ ^y[PY3s=3p 10Hq8G6nW@4Lp aUd(CΏU]t((˶QAb$Y9=G8^&~OTggfƒ OԠsc.'{7`Ft< BlNpj]bȤr3j*[FL҆oX%ޑU7g.NǓgʔh}\5Iai<.MեaEۇwЕm2p!:.s9ˑl,\|) :cҝEȰ7j9k[e:1#ǎG߾0SPr$YlK!KUwnغi[j(wo =<.A/MX{\y1PD4*F-49ս0EאQO̧%[qWNSʪHbYj>Zb=g5{o[1fQ0> -&7?agn7 lG*X<02ث븶HA+w_9\=OM= &x3ɴEqvmކ2a)sX0k MǶgE9MDwlO+Zvt\ #b<`[ +ٸ"Ω9}i(7ė Ԙ^Z%3= k'B΋lw{xc|*ݏ {j OȘ`=ͺH0*,wJ[Dճm)gqcn!cxB1#B]9P]S5űfc0Jw^Mk^uAny CsRr9bLN,:Ovcz$RL2dC 3`謣4VzZ7D  o]Ed a{}~q[zmjr8Zaeh/N|_1"ifp)e}T(cCL(@J%E4]FPo6v:ϕ㠴'k+\VY HWQ9xǵ^Qnq| t9Y@Ӯ٣ 98a?S)CZ`9j"9T !V7GrLpMBsrSbs B_#u%ӣ}NW'gu숽D:Jei{8eq1s[xBߌ eKob+|7l>3uWڃ%ߨIQYLI'd aAϐ% xR{]*9kmP%_[!o%zD)e~0(h!8A%j0#FյDcșdG%ŎZ1|[#CTNhylȈkH)T4^_HOδ)sdJGضyS'S(+.J$Һ f[ڦQ`Xc:ËS8w;]i`g ӂ:5I] :Իm|w <5e##Ob"VǴePfa1*1쵕 u1±cG#OÐb[ u.8I3#^!(>ZPP ?8!:4݇_3s+1LA$i}b~=eyMKg1JIY s~ͥa'?2Ix :5ZY/f@޿:3E$sո  C $1'=9GW@\7^A2yƺ_"pso("rvM6&0<]\AQAtPƨ=F3QW!p 8hRrz1Biє#A߮öjk:{4T'kJ?X8Y{rPSj,4f aٻQ^_@o:)ifY{8J&2yc72w`b4vRF}1yVP_4{ZTfNu~%H6ﷰ1;U־jy(-1W N? 桠 .O9 RA=u~\'RP@J+9H]CSzM_O\u{I=@7R1t\a.NjWaW9(ErV'l4٤j#CIhʙ-3(D)5bl"mqZ}] Ú!jQ?ch9bǏ+YsGIgwZ j \Nb'yv2%p KȕE¦l10le-rtW ?#ߐƕ<ظ,@Iboxĝ:ܽx9`C9#brlE˘>Xf(EB3uPwָc#ddC]unBT1:sKւ5-AQ$)BlI-|:oI;29CVoH8nE+Q .N0ʅ"9JT%=seF$..977w7EJ5HхreôٶKڄ76N3!RyQZk-b(%}Z~q;}\r!ceeĐofhn;RT,T?8ø/D&JKVoM0g0S3wZ6S2tBJ*}q:V#6Y*{4x5.(kbfa3A3\ D+gmoԁ`]T 3_ Xpn?;&]7Jv"V&Z:ue2MqDE;+Ά=gq5Td$5~R[ f2yzW{g7x"SubץBj#QICD6:o!b'Jn4;h?yrXwtaHt+ qiE|+=cl:iT6HoZL/:ndkB@uȋJ`5b[fdNm"^GW1wnګ._Rۅ҃ !s7uPB5 \dg ׄάaKY:FlqӬ`{DYRId%;@"`zvj ܋$D\qapK ;-c7Cq50Np~*eƏK*YGn`p](ʠT FWK%忹O&FtȒՊ|[{R1#vߣcZ(=xR)'~:J{9+U'RP)T@YOVuRaԭ#xٌ*ЫXPv*v0I ?,iMmgbi g-t=:ZE1%"#(_Y|<-)hsH3֝@3qa.KrTu!)!GmKɃħ䑄RKTv; w2yJ3נG\G1iN0`]7us/K1@ =LCV+iIBn|Ȫ)Ƙ|2{\>,3w86sQ%5X(n;[f:=C{ezBFWW"Mj ~uWB7#yLȑ :$i+_rWZSL`l3pi ݖgGaƜ0YP&rfojGPhբKf-e@;YjO͇%p45yB6A<#dA#yy3"+KGcpmv..RrW?(^ny0ceYlqr9%NZzVrx {Oek&EvSz>Rys8~)Y^v+‡H,-faoa6<^]c9]2i|r+V5؏n DGl< y*a~JlA/ܬ1BI_QljmdA8LYy[`W`CQ,1Y`aDiGTx̜4SW Qϊ70 Ws@ 81(CO|_M Ct0x]M:ףok/Awg'qɣ i$ i|]d)Y!- :Epf*a= l:Vvt.uΫ)@L}.L7Ő~doMdEi+ZPl ޢatn0sƊWܕyocYsis11أ8=  5ȗm `uAEi1`qdaцOk .`5e&+v,JCE0SѓO&_Y+`&X)ue{lq| aTU<%xЄ/-$52T Y.s{B/D׬{ɕ { 0I)mT)\Ub++uGdـ>0 #׵9:@6Me J<ja$v.Rk d & ; @ 0PL< L_aaa~KфG䗦 gJGI}oXGH6d;t0:-W:UMH+qZ5WZIr[JوZעΆZN.j^"xǷz\PXY~ijO—  Jm%.Cʿ4'Yfcn+WB|sI]ü*O)!63iCyJ ep$9q~Dhjƍ2̚:Õ2SG2KNV Ѿtl0@ +fG֩ZrV,f{%qX{Rߙ< wZn;:Tn%5Dnm 99f 5 a(}X 74ڸoq1_qt,NjL$4߻OC !/[NΤ YA.:2{Gug8O{$ǖ(B<;tX-Ռ%媰K2Fe9w="_7Y< -_A2=jjtVj&yDmjLcI*JDꧼ.' CF؇MxT( + T 7|jשV̯GO l߾7!H0P)P?%Nt"eC >m 1^ e# =+gzGp%WRw~O71Uy۝9CӒ󩐆= FnO/ʧM[%g .iz{0iz r]*: ڏR-,Kڪυ 7g[<_3aZu-;Eh/~=q$ 2ԻE ]<[FP?z~rAّV:|x_'oPauجbjg ǕJVD0yc_p3xpM@i(<0%O(2.)tǺCU|Rlb',zAicC'kԔͲ9)=O{ٍxblO 15A9 *,ZbahcX趝NEX/RFh1P8WSڂ=fr]Q6]U4K;hBxUʿ*m%Fe)Ni*\8o<֝<  L#0vw Wl8`EXI |E]QwTUg*^N&vZ 9g.@`BвD5+hˇXXgSX.m*3{I[E ܈l<|2'qZؓ\Ih2gKF߱^gdM˴Q#k@HiI+nDN#TGp wDYg*ͦ+l0g,UєR-]5?~3g>?b61jϤyQJ guZICbWYe2u$MFxP@Y0%@CZ6?M(9gZA!7:%[1ENt2ka/>kE_ ZMwFS]Tؒx2k Mm~=yw:osX+%&r|4f'Y uq'Lw6_F9;ZӫA0U]j4L+78็j=K=hhkgNlk7X/xKfc֛RAVbBItpyƾti(/%'  ~;~zMH#/6Z p@- ods)H/yJoEV_͑Hsh~f5|И_Fx؏( K K*N.c }b)w4|CGM8v5~ơkq`2L}~_R(eUǞvj G33-ggE26 {Mⶦ# ўƵpUv?&] ZS2߳r%}Z -t͢8=H3L浜1d8䓍*SYw◘(U4}-2^C淚6,\Wt?Je |@{AGHI I!^֝bCJƽJ5ga/_ƊJ<\4{_lj},=75Ht!Ƀ.HN]W.? R̦,i|CEv됬f#vS % 0wӰgPmo&Dtd)ħQIj^8NSad b,r߅Y%~`@yZ;?;'}[N)%q*ҏԶZ<~)fZy`XfN{kC$oTPڤ\?!U[pyx[m-b#pTXxf[9ˋznkN?TÊ2?/Q42:EF;r=n&!|{>8=˷fR袻ﶳ9P Aƭm^YP k'.B@[#>yk7]wpOf"}&b$N"tbזMy[6*fQ9 @t4[џU2 ދD9CPr坹n];4P4BYMH?u)JOlaȚjFE`#Xʳ=q L e-S(n*&w--p~y*ߣv5 s4Vke~u80uO!%ʑ.'u@82wZL! k&OE= +/*d'F+?Қ|]A5}v;MSk1M xd&rKVՏtޚ5K7a*vOyMޓ-_,_7 6N?:(A52^tc#߳ ^l}%gDs=%x`DlˡL(P_Z[ ՟wV2Rqodǫռ%9|Bzwmw ƙCWѤh ,"vsí}M̢) u| n6IRHD2*eä:rU_7Ӭjk]|,G:>XMGQe[Dk;maWc?%P3 E0]@[ &~P< a;ls8V:@d«BJX_(S%*9qKd חfl^ͭ:"M];ru?.;X5$ ƴTBeaײ =LrinnC@q^ǀb[Kr؅K->$U&ټyGq{Xio)[m*w8S|}7V(3n9D >E[q:Nr9lK3t c82}GؤpSbSYp"(xqzznSLi FtJ9w2:=R6H +QMM;ɋI(fp!P 5@ |B{1.ppT{wAMrVh% 0uE^y vIGU=KjGo4,H*_nՙȉ6kAsmIg\"!)>f]ǩ/9ءL <$~GzDw ;ϝL(%MV~)upILkb㡒nO"zRɳA9iUpmfyגOߋkcE_@aGpI3YU`{ 픘s?QN^޿~:K;,J% תQo >o]CCL㺼!\~ .<Oʚ}AC4qJOOd{13m*ޚd/*)F_hZ$G{=f{ GPT`l:۩EwN CnLZy[ךx,oXU7~+E+ KvW Gp "ѻș?"v >eK.O(~U]1U˛5uY¥Tʽr{R=d.1r=X`*+弣QTfWwkGw]e޷{ oXeďUE,_"(w{̂)W&N+ I !;[x7L ܥ7Hp7S>h@RsCSqi{pgo^"|@\<ϩXn#rdӕg,o8@j❒EZ 㾔v Wp,5urj̉m"L"Bo;6_vmWmJqܹ;ﱿ^jNQg^6~ >licTV 37㬐R A–F9ĩ=섲2 H"nʏ%^K|z7.%K[mCS2?xJ;N#^7:)#Jwu9.EYm P芙fR8;S KdpqN]N`{髡Dmzr[8m]FH2g(6Y=WаCx ,>h2b8 (]-sꅶTb*(PV#|*_%$.gNͯ~ciJYlq>^#SP LS/Ke0!?(0̨TU]ƶ 1i1ʨ{(9n^6C{w A$UL<=OtnjQ}p6>SLm pMuTǬ)`FOj  Ĭ2 ^u,0u-Ov@J콎1DN28}ʇUO(Z[@8|st,pf$pTiEK=a$W6'q )] /Ŀ~B[oJD;{oL@@=MIjp3γ7߱R"l9Elov &^(֫)?zg( /Sb?tm#Y}':PU^Ws"MJVs΃rpS<#TB5އ@fC|YIQG6bJ+^$WfSƟ?bI&Vyʂ&ƵvC {hG;[S u7016KXNK*^db^Il>HM'߯C<, }*9!J'N6J~uvJmyP# Bm?maM]#WWPz81U~g(38˽"^ BIl%=3NW $4p *VvjOv^ h`ICͱ~r~wKͶs{sk/6rbC _cN4< YPѤ[?-bԙlɏgƙǖpP*9R Mp̝u/`ݻ[3W*Q`D4&^cPTae䡝KckMFjs5 y>@ eVŤ*yAF)=q-?\Ey@Y]|\ӽtO%LJ0?_h($J.Cv ھ|$ԁ._>AIɱE$*vyߖF֤ ՝&1\KaVł'߳Ʒ@b"6,U^7[`mL_oE%~_U]&+QԮ*I[?^'LC1HܐYk@뢴%rMRTȨ+`Z A`|SnWwLZTg(Ȏbhw26&4ט7)PU2DMiVfmigBJ]X9tK7KIߑiA cZxKS5>0a:~DWLOIANNHGgn-( ﹽp0]y?uzBb'-5t ‰q .Q 06P5.X҈(6@<`:igl}34'\tR"ɯD=s xƜ뿯EmhWCD93L}O{gsh%N_&c7JS9 Y\9,} E5-ov}oO,ѬBP}/1G*?ђCaC̸$_zV0gjL1qt?b@,(V}Ⱥ'T܆ / PpY\J `ll'M%=:nWJl`8P7K^OP?cZ xeW݅?LM(.JjwhȎ)9J.I".vg%]m{!qې]&D"'Z`ޅXmGLh;ņoqQUxB0NiBmPN7M_']7Аn\nFFh*;ޫ8sT(]q8R MnY|B(R2Ȭͫ9xhZKĈ3orfK̷;RLEvO !b6⩶ [|u>MtL-Cz,V}[mǤ,Ho^H]bwzfi]*֠_Ε6ӂiN]I1zBHpjo; }3z~zWp&i'přgg_zw6h TN t&vzU v~'fȦ@qY7sǧ[HgO;OG. B^lyj%O|,*lKp0xODBj9۫Vl2?+ =2f7U;dT0oQEPKح=MI҇~NͷjN*5Q(-4_C_D2P2)Pin[pƍ;*G_ Cfttڦ|3"G'p]W[)1:˞dK!\ '61Oj9Ҋ[wgģJ$ _={XFs왼ԉߋ 5qKPs2:GEa RyQ.P2t%K0Gʤ6w#𐀊eQ/p},1ֺ)s 9=j=pssx@p24nn)m}fie$VZq?M;!HmrCxe%Mo)1U,0)ݑPb#FJ켨 n|PWxkiZRj.m0:mR):$ C_o^ŌQFy-ù|"l҂UP_  gi-2wtkFFoҮޙ]$ t>ϖO.ZUHo];8Z@:>%Xs@.oYd-x4kL?`#$p-P-`Ž$E59s:JH̞iDگFP9DKYכ}afEm4:;I.PNkS$u4g݌Pb栵ޔ=ć6ku#MW<hrGLhu$ř&GA 4$fl3e;!a.\"]+ٳ: (suN5EHu[ ~mO+L sQ0|cT (Ơdv`F eWdLE]s6Z #5Cĭ-l9݇I6Uv?suwlpPM;[YB`^RƠ 懸Qi҅bbSEH|iR=~7/W :{ͣ/:=mD-cnX x=|zŇak>؊8-@0&ײX&߻1}eO*9Çk0̈Hz='J~1oR24_x)P}OCvQ .` mo+R+_PqimzJ_c rQE6ʨsdQH\*)CS*K+O#)2Tɳ>RҍRDٗ& 2j~;fLde#!(Wցh[tEbL4j b?~ _,q8!Pw,Ȟ/'y}?؟XHb#6(BSCV RݥQ`=2+ :\T>2z1#HUSۺU~ *V3/O^TB7iGLS R]&G (8J.U(H{ HV0*N^şp K{q͞ca~8(*:пPHψGO5N&i.@~ S+MLHϯߒv{6Bf!e@3)L+Ts~}l[ h#D0{}ՑG@)3+b6h&=(gp~w.M;Cm)^3Jw?;C_4>AaO9&Vu֦{{0=9Wu;cnՂ_ia{׾C,x[2A }mLM̘*]QO'}1vÀׯ}/ UlWÎ(N}W"~樅z/$TΔ#DDC^r}jw~X*߆JzrFQH3(%9moZ>\X*1kzm) 8ԍ2>%VX9^v10Dʌ/XҜTcX!Iߎ SDyXK淋x mI_49$ L, 7xsTN 3HW2u;}ޡbF}a smFZPt#nu$@]f 䁅DM3 xt~[,eL-ҽ=-?l~U xPAa׏C]K8%~Q4z5{vn)OE\iaLS7AP3M ZgޞA:]):PI7{CmP$4mN@Q2N'(ITi־:m)Cx#] `QᎎJU QeǸ3}Ӷ v݁ßpϐqbðj W=m_jhQV">AbA9L =!ܒK">u s! juWͅ4kr {#v#%e.q !Ǵrso6A^ O%9*l!/xAk4$$IaJn?^THڠ^Z!]%qkCȯu6-Ic3$^w 'i*hݦ- BsLFG0)k6(SPA dZ?_r^6kwcמNO|-/W74ڃ1xTl4UX(K|yJj5#&ϭnwb$q7|c*PY+9e62=|3YƁD_UÒr)2Dirw=u !KFuM2‰ ;UƷESKtm8]۳/r428?$|UkH83?nL}3*a-Eb1}J2M cnKOP.( Qid%o#n--#]j6##eFy[?yd^"jNոu ghR L1T د2] Iު9$P_=nD9Yjd%h{xILb8j5`0CtHHuqWGX (CRs Xho]X&~X!BY{ƍ C}+€Ei 0e$-oyS"/F2x@˶VR-wF}#]S4gު3n ֛9 XKD6̈́IO_9̮N]+%umL8-x6 ¬jTLGj8/5=P Ŋx-;w* s$.8k޳h=l#Iӟ>ޡ'fjX1p31`l(S=XbK|XLL)`Yi#W8#jr9A~~h¼GY ~Mv߉GԣI ǜ[Bdm T\Lؚ* &99u jdCPsr݆e'GW!xlv̇P~",Ȧ섙b-DkGU`A ]o:d ow18 Wt@ ̥AVgXŗ;A>?T`L~vp+:nb Q x\[͎ T)臟h$n̉L$g'hs>B>\VAB-Re$W Y! Ә\Y \?ORs^#GQ½*4LԯhT#f_ʰmP ٭=: >",<1>V3m ԁzž$q z̦ip@mjG݉W ,Ug)xHVZe^v(z"]=z{-  V^=ދXC 1Ekw٬#O#a#>/Q0} QXb11&oVD:+%E#su l`ewX쾪ltlÄ-K9Ft ϏSg5jљ}1lüȔ21fEznj+2Qk{I #n~<׵H8Ҵl9™l5 /$csN싈O?ݜ(UfB*We}Br;5Q=?t$y`Y7 g)՘%3y"p)&ʮOY#³ brV _ŞYBl-T7z/'69$qR70@e: lMi$=\ٸ ꙶMP$Z ˝s/Ֆp%a0ՒVd|ҧRx2F2ʤSċ"M1}eɯ$\ɓK Zn4m[~P.ϫ1j4jU;q"`YgFRtYҋT?F7D%DEך( 0H aܺFtLFU8@JN>4T-džB[:+L p9nc[÷_M3~J}f#PoOF>W@ctW74yՅo$c2(q=XH@SO Y]~p{}zRSHR ![&+/JL`|nPU)h io6lmL8 ,VJFUjaT<ۚ?.~ZxH2yKJF$# $\_+He]g!>00w)P[a02I%<`%Ƌ{?Ɏ{A+u}=B/#r]0wjڕBdrT5Q2 {CepY7gߪIiʸM'ƩUchZfCw #YYG"UNgen4^pI#GYB6o$37P>NsD%{+[Tޔ>XHeIrL<-)(h3iK)( Yty环gڥj'YRh!M)ɭ+R.Vޭ[q{Ӆ-*%" { c yk8zFm{r^PؿEQK/Udm%G[]A-Izz :=x BUp{T|8HWޖk O\䧔mF`j;nx: hMqLEzο(\Z[$Wuw75qWw,5 zn? zc:U7DYVFcM E#K 3Iw:eZئ{XIP~XqTф*3P!ɢLyY YPE˽r/W?uh/6}4C5=L&."rMn=QdΓAhGC]yvg3 {JG)9ZEì~peU)iT\bȉ槻=0mEA)27G|ޛo;VUIln+O+ [ UvWmpnvZ(P3,em\BžKPL N)9!)lOW)–MJ$dÍE%/KF YO֩.-ɸ '֮91*N |NU{ZH:.Ln*1Ytw7ղ2F}dl:Хq,Ye~Վ} g sr^ W @s~%j'#6 g)atK  ȣ&w;| Ygm[ Ew[8j#~˼Qy&'?G9nXxF -Wo<" >]%ʶ-kiN(ARJFIwA/{ pErXpxz"iW)99/[t !NOB@˼ v: ^^5q N6oQK<_M<\h]:3k P=ڼū4vN2(G5M xN'*YKewޭ3cnҪ=d=j.b/0} (fMEab. @\ӟM0SU/Dpe-V3t-\'z\O\[\ }ʇܿ|fnP|#bK`kSPan;cS&+Ts1c<L/A"xxӆ&5% _{ȃf¥6eOR1FB Hyu<|;H+ĞNbF[{xSbI?q#?1`70Qq`.!UOPD`a(F(.+/Z+7_!w< X΅>X~Sz.C3NAw:WjĈ86?Sޚf7XΑT}Cm=T^xIwcZF#?&JؿWAmk#֞:oB P>\8o.@$!ʠdl"|\&@W! -Z'KjJ77­CّNeOԒ gEsEO$'"X.I) <һLH5ࣷUw[{2b^ҨUx-hq Kfr08=hD%m ŕ#qFe\4Pɘ&lgmZp¶'ÉQ n樜 {<X0-S0oj79˫Q2{lݡ"ߨ'Q3: [y[ z$WgXIzt&>/<}[˞D{jҺ g"0>ˉll "|\M1OgloCp#*}aӃRci1Ȯ@Bb՚)K:a1jME@VqbYJ8z$4eW2iOAq{0|7KFnJvIm fi۬cXuUۤ}V&3EFi XOަyĿG.9Yߒ)S?Lɂ>4AhZĺEЁǯx-)FwNZ9 ssGv0WYߜ=jп^1f^5/}^~{I):M\ڤquh:ֈKvUeN#(8Pd7c&di1{k(:q-Yڄ~cT]u; *sZƑ66"e`e)Y0YTm~'*A#GU}#c3ʤQIWDaN%fžXecW?ZJDÑ/UH1bZbsz?{άJ#|(`{PBOB{ IU|yk3h+YQyݑJ+Oޠ tC`E_p Q^?DNGظ eP-۴G ޹*Tb;ETvGP:SqW zԩxv)G}"%%d"cBP7$tSZf@GE GLʟV[5%mh% d(N`)>("3 V`0o2Grq@Ӕ$R7E6ln|kJ3f?7ʲRn@|z@ 9o{FBDm2f-zRO.rR\L>Ÿ@މ=/MbP0LkpɊ1w#n،B.<`ei uYj ;t1qoe{o>-<()43ɼBu\O.$r*gtb)ӏby-l5s՟J5x{ͺbVwq] F{_'1`ܺꊙ2AA5s/n31uI ax t\,j>doaZʟ$OザW kCΐ%$vl%Ϳm`:8z39m`;C AՀދϱÂ6Ww+/ka5:]Y&P7'bA[&*xj#=۩klϖ̵X ^<Diܰ$\~_YϜG̒i׷~j81Nɧ ݣؽdR<ٿ#7;ife=, -tv@8]"D;4ڵuHԞ4C_I_ V<8Bn:$MD/iB{sC)J'{%o8olU#f^aJI i%] 9@E&`nHhKaT@S 2KZ4,Z:6Qir˼.<{)r!1)"YKP{f[kP x|c!n qH ?v7{z"ܼILFSK*?_¶tjF}r tBeue" P1T)ǁnT%=l}bP " D.avkf2Ltsk9Q>{yi9k5D'iNc*""Et@WM d)7izS6)6S:fk_9S,s(>)uG,@6lu"0?|lYƫ|T`;yhg 0*NWWԤ-{:q 87Neg=LU{IH@ jŨ oPHr`o M.æAzk#<, WG;z!3lճ[ %ZVaz̃S.BgnQCs>Ȩ5x:_{#<`GA.W9qd]Nj\OT _ZBk d!vx97;C~|xIԛxf"Eڦ4%ǩ, Al *"|8~6Ζn;*Uy!L, 5Y) >XzhQ[tI\C<>-pivD߿5{Ze1)\ޒԛD3u:x4˂Bt%jcS[I P^Va{rh@KOEQTyUqWVȳ&9a"Օf0Heý:\\iOv&,k͍C~O:c]U1!6\ʌhj})&"X;Gv|>4rj9 hDՉXi?P$/@]3n9 |ݵ?y1&In%CziR53莝ZmRűqn7 e֪4Ig%5XMtހ@y|*0Om=0.Y3+26/tj} NuhB`$ ʕت&"W0=#&sU<,6HW=}K)+8_P!jLleVwҌSوvB>a|i?HֻM8V% 1z,<-`j#|<XD3& ?H,H/Bݧ #ޥB\47~܀e>]/8ޓo2pK҉7uzl ĐK԰SUfx>z\\/uVH](xXcsAƱzzuCExf0&ÙN@vp4R-Bm۴kǞR-1lE_?$ M{*޼uhLO](dFvSW.Mi!ۃBǸ}Zugiwᩱ:75cYW@Mc#&njps)ul#̕:?Y*鯔An@{Q43 W%k$/i Op7}ß8Ӭz7Hz57nzH+  TеDĿsk.jQQpAKבb۪}JIjwjL!OG0zyDс3mxu4KQ 8ꓕq-1ާ_tI-PF U\|*ɥ'kln~1V|Z[li(P/((ƨ*N1+9= 2P|u%.Xot (7\Lmn0ey@bĸ7 ;dj`!knitx[W'0 8H` ~ݭMF2QT *Dk24ZF^QM)eJXPnIN-7*:AM9n&<:XJ YBnnS+z:in-TWri}@X9,O(ۍP: |FEsZ6ٝ] zqu-.Lmo~ Ij>)K$lN/bzXDWk(+* AX͸{`(\Nݥ$* -_F>1r`.ܰ A;v0B]ф U&y(YaWMU?/4jD@+iO+A7=\F/@h5j9|3:@k4i/~Ig_WU`=2Qf>2[`8HH˰p%w$i:F׳߮pLEܠʍ^1FezG*5>"H}5k!Ӛb5HP0S:Xn;_(挐i`69 rۆ?W؀omq> .xt pjQoRX_vH% t\ Mז|WBlPa3dlp>3+sf&e 6zjQ-y 6:ǒdţu,<đH9,v?Qfj1eNWjvO_J&HE;.+o?m}TSإ8I3g>+$pkܿOFnX׾/7kHdOUO&wʸ{ '\i;1G'ނ61N5vይS5-U,?K>yMqoo(Yb=.B\|Cg gI"1 Ťgd}m~]ý208qsd^%eCO1#>;f{++syV't[Iƭ^x0,8z>JLŴpZ_/Uͳ9q Ӝ7}Ѹ?DVoa.<B]QH+F4ձ6yl>ذ v G3Sh5 SCLQ6H~S!%i$r}EW WL0RگE:NjVXI/`Āzcde_̼ao GSP4~N!.*ƶ"cRwi?MQ>*hmf G1]tn~Nu'N W06W 644i}8fF)?ZB!"U [݃ tU5!8 دH1gOhOblUh;s-oBg5 빛5U M% pvKr[ND6Y}7-ۿ%>RoY\j(#m0:sy! $baX8LlcCֺ;jNČ:4ifK<<ħYGWrJ\sbWILF]jt~߲lj$v(=% L^_|اkSJr z{^o`p'Mn鹍YeQhM&tեN~Z ǞߦHN,bwxzN bk]_P6"krgQX:X 3W5d?h;t6a*iB d9[޺aM v7iȖlSNo8DT3! q O@XKatpܪ"(hH|jþK?dys}G׸yj3"VՂ?625tMU5JjW.@b ~Pc`*u>@uࣦC8 C#KUyVbn]18>m4$|br|o*Xq0cs0EY6~q[%|D傛DQUVJ/0;G1=aTf]9v>6M{:HCА"}T,lV5r*"]cGHQA^v Z`uHuJdo#^"bto1[oF -EoٸdNz098ZFX^hk6w?DNQn6?_1\"gRIP?|! zt-e $ȧ!g5 m@bDAV9|@0A|13 goTpWl?D ^v]U)fvw, ;h~ n {t_~iyAk&$ŠS" u\({ &F_`Ye <%D EfO87~;}US XqDOrp{Y\< F`ǙQiSJ~d'ROf֛SxCAyOGr7|+쏰$U-)jXX~cdԬ (MhN6-K0SABM6EO Pћp砊3r1UCྡ1GC}{ =#X69޻'Jm2J e<]4D9A%η6VZ{]R$m-.{ >uС%hD( SWф4|jKus3uu[̽*}IZf^NsUАkɬǟx+II)e U%2X0}֭^I*AISB*bRr`7޸mQQϬݬI""ㆎiT<fNlEJrk p/*#^Ṹ^(?tUYpz{P0mܻ ܫ|\~⧾IK]U ?(CFߑ$_H(pYt3fƟ/o "oO?S(#aߏw+ 4r^i`taiۘh\6 Es;wgZ^u*+_ʵ^Cg݄8 7(-l5 u;jO /@[yn?me犓wY.9^#v9JDiOf;&Ih'bZ'vF.e>tLS {R1 m\-`.ޠ^ aاG>82*mwX-@H Q(B&YCbrh0>{Sjx`J_,^87@O&Ӏ+/Gu%̗bjm*=hhr˚fcjCI\}8kV.m)>FGFσ\ATJàFE/A2HCC[y) s$Jb^XRXJZ3I%}}2y]!t"xX: H [DdBe@nAȕ-XBNEE.7ф{ 7/6%>+駸C: ׿vDT6+nN/J}!r|} y2;}N?p+E]~a} 37ӝcڡ=<0J\{}pbBr,餮#B.}wy;VB˦;D/7G_g w8,:#X~FquM4jtVejq˳<Ɓ '4@R@=pv޼^}} (zݻ<ƾ|c, lڛ" ĎW4PEeo-LY,pn z35 }{֟Tt %mIlD[YBIu9}}}L[tQ,{pxoO$Ӎyڀ%z~d9Y"= B Gfa ė\); u2GX1Ϝ4UX6*$G9a` Ѹf"{mp_( gȨ<ȑ: rL^L<'Mڬ#-}GیJ*F:eok~ -cCm( hX aQ.K,q2&3$뇙 l0\LsT>~!YNba-xH~dTH\[ Dz vy|2O R9y}ZY߁)$8L49<5vQ jRtan AWi>-~/CHCq*8}6SVn$-fծ%TW]2,/TjN"kySuC hokZ\-xnFC LO{&t_ߐjIPgsVwhCOȓo`DفƉxcn~|t Ŭz.uP oSjbuR-Р6ƚtbZBb.1jJk\#NOSخh_"o?pN-!߰6#"i1:_,꽿i\f˾-KĕQe@ KE]v(ry\Halw5,!_q7:/c\0mi{}.}f_b﮲TEJ X'Ak9o*MFnO3r ]8uDKcՊIG@MʅmACvB64O.4FǹBfݯdO6RXA+UH _\ v\.?dʷWkN3c7"8 b 89|LBr'оuK1D$Qg6 k{;lZ~opC59fg힩~R>“(h = <+b!EJ гԵ1",(F#1z'˩n_""S;m4t y#alLVXȂrF3%U(SۛyZge$cO|o0)c]g"~R-N !N^ V̶ Ndr7BOq- uVdדߓ'J֜[/ TYy=hAńdzh2XqjkŴJ}O{iF<عYp2bn,b +}֓ ÿ]XpDH/=lzU;АKwL;V+"6Euvl?uv̋vFr\yl/Q h;x`cpb\cN]:}XW[|'~Gkp8h,My3y~~|#%auHC`/&.g*sG-\!HT?FwjO̦gB(fxՎp' ]5* `qa-%ßx)I\^8 ;וrM<7"vA:~m]'^)G#ጲn+\G{J% PRujXōS508'K0ʱ0=zA;nyQ@-$eQ)<dz9`qB~@r =ȣvb (ųQhl*v1?Z?3u:[8bF=\qD~zթA$ᜲSf:~ȧ7-Tk79ˣDegv0+95ꋸVLEI58)ÀڊN3T4`wܙ[wi O57r7V~ r}-MBp'ZvQWՂWoOXC %eEY PK`%>:kiMEȤjQS׀~trU(wFbL5 eTFȊz3A"2Jn Mמ`}dm僵(;Y Nl)ދ) O0t{J AM IC%>.)/ jpLX-:䓯$+}}Ҵ^f,ErT[X^&Ӟ>9 Rޜ КGMU{[zl'd1%Kq#fp׫AI\ "bm>' Bn+B?d7G:y%Sd?uEyu,ĘUxRdj2FLn+#]!wEۋXVB7f^ |E99\vB:U_rS=PU/?Ra÷?$"tҫ:%0,d.nnON+a"p%hoĠ` xFxN #8S]_vCd\*wjj7 _(駝o(-ZOo/n <'Yd|1k\3VqzMP<(Qt!xtyjߛƆIY5Q||<*U[V*J_(1ܤL ѨƸɢayxjgmc0,IKu8lu}B뢫_pf}Vi?YFrSs4O.dO)MgiN{J3jIy6PiT7#^b~ lׂ Cns˞BY;M).qUk_.T_~?gp^^sL5-D%i9 qtN?F;`b_3 ][phޱ>;Rb4fO7[M^wxdOUW&fEOfuuNQj%X>A1i;!k7x4$׶SJU>Dֻ(e45X5Yg*Q A\@nl{{/GjG<bR)6d-ڻ JZkj2y!]ѶA :֋`s0*T_WBةwEk'2;ߺdg1_Ghgh4'5)!څC `Ex7H}_'O5>c:郿 vQf|#p\)\z1Ǎw S + з>91)ޑ ͖,%% dZ*.ƈyrڰ.)4jڼd=t%g `&Py +MUJy/ƃ,6 %ڴσ"8'>-NfA).eh ce옴T MTSoqUraj񵤸_h7]C\mqfiWaAf4f|VѿOs[ K%Ő ّ==ns&V>f:Մ|f*⪇qFzM[ P{4mS膸낂W̵5J+7#:ᅳ"@|M@0fv,t.)~y,̧{F4'>i!`<( rY4hw̧,kY?9bY'g-YV*+[UE]RaNy+ 6}lqeڤp3mzΟKdSpY~piQ nF` SubcFbtG2{&^:gP:c˨ez >rj*%a q"yU'|*7LӸE߳ >|ˡHhC|pk0mkgc iT]y}4v%I6՝ZrtCLfOc WHR0-_Iagn\,эjܥ}-sh5s+hkN&@3*Ls`s*V5ͯn0tڸh$1"x͵WAFnn*5?8PwN U3@5ouA)y7&ք[{ofL߻#)V&`l,DRs?A 9Bi|pHg=/#[4C gR3ҏ9 5tbJ.p} Tl*'j:{}=*7?05ڰ%GnË'Bo#-`0m?'dn[WSc1̆ D|~cV>yhe}BOd=1iZ lE0rm q!V wdw-wbVv {i veT>BA~ܦk;a&9j ƢݏrjgG&դ'o- :. XrXm@{7%ddER&̆z Y>ºd5 5O0:~f H+OaY[*^֤Z I7 ;YBYGXtE>{|ǪWKAW-Em{6*9'}O{2bʑgkZb{*@7 `S>)o Paė6&!aXtP 3ÎX;s ­n"1$2+i+R9DzڳFŢȖ!K9⾌ԳQi﷕9:X3}:yԻ=5,Ϗ:RN@fWCpz)N7M%j*A.{5vrl$sBe:3sl`68]C\aA恜Ǝ1m,+A⑐n|'zx.9>)u%I`db{sS=8U?P2 :OuvZfF LB1+ )U) Pϴ$*.{T/U>{2c[Rl%D)O CBT"yHKћl!(e؀w>$G>}bq@css="nś^dAÓXXL[UP~1Ӑȥ82j\:\%%4M~5<̀4W!u 5e f0 y K\vB2+wUC_2*l:Q'hbPтI;qYC4t!?KNJm]#mo%mV%zRR@ʇrmb+&_ZU6 6ZWfV{n#җDOڔY>?HX3gz# '2X#hJ º$/ux9ʀ2ћ;+6Pi+tZL!Bݼt%MNeL7L,k.i I vu&*~u?\Fy娦X M L|+f bX(p{\m i<u:la]Gi[4~p磗c 0Ѵ(X)4HE{rrɝKv+}:,uEA3X\=:&_w$iZo!HB[<-NcCt{i"24)Z\F߸-!_Rw ùXZ" @p,>.S5s_-)E]+!V3Af23D B4U!h5`WJYzʃ~a vw& f xO.݋\jlҙBK)bT;̋y9$~)^Ng7:XR>>^C Tg L ܱP6&D -U0:{utsoFvfSPn&CBaQiic oAu~_ .u@H0ŧhpuAysހ #??KnwN^ L=Y3 {cS5ֽfWDk,p !LSB6Fˋ Z\0s3ubEݕ @y5}Jvo]n6*z׭E$^ixv]L[ΖIb%1s+qtih8ͻPWt oEܙO &4jOTucB:$JZ.nXkAmgE;qE#vxɑפC<.<|: \/zpjZי:EyZwbXPf6+4_u#ЕRG Xʰرk*ZcL !pox_Hi%)KuR!fX(2cʄJ"x^j]StE٧L(*@N :_2hWҚ&CHfdTb݌ElJ5;\rt7`4ЧGꁷ`?fvpME‘(,YpP}:>o Gm8?K<<)P)hq l?t)Zi{<] ىaN?AIMsb]E1d(*`n?ge$N^vEk#qzsqKDc_b`9DKf^t2QQJQˇlvߜ%GJsH/glI$xq6gZ=DtwsaNUo9dO"E A ZvG<4(C~&"i/?0Ĥl`wc$Vt}n\Z 5Z\ge蜮OHus^~Xqh˲UB< ڋyk4~dO1%D+9L._}7N쉶+x \2#3{eYCjC.F+xBGKqMX! uD̂KboPX;okZ{hjNt) &ȵQ"~i8z6;?]_Մ(͢=/~ ;{H59p"WΕ3ЀC2%?u`92/%'z&|]8Xj^eFI ;@X;wC7+ nYR^CxpBH?gs+PX+nބ|G]I.&줴?,_zuFzcvwL ?m^EP8C~MgD?=gk#P{&>G/ĤX""l"W.Jz9)kDRXF*l2?ü4|ГT"$K>E C[bZhܵd 6I'5^$ a$#vNoGEfd`e/EjsXi{,[Zj|?X(;ǜBR3q -w6}KxѵTn8n7VʞqfrW6g:oWh㌰l\XyZzgKۛ:.ƒ'G>YTLBDZU(!Ծ$7[$gگ:e#'{FХr*=Bp+śه:\WhkJGAgMI2-!h&ڜ0T$9NjنW`6/T9>qmG$_7<7_Ԉyex&_LvQ\Wk:FPuol̈CQyN"«<K3D#ɵ8D `00RzEPxT:244h]li.OV{N ܴљ<|"J.U%LBEDh1nIX>]@9 ׋ߎF 8_@/VD%Yڕ$%o ,2:ue YPǓ{,r\sz/"vBYs9CBZ}Y~,`\2k,Ղ6RPE x*ֆȀclS*Aȭw~6 `f]rܔd *:!CY1\hY"Ȓ.d=3?:A i.4 PuMH43A[Lh ^-eMGT:{6,Bt i-K{d 0rsr-$|֋74Μ)d;n蔄WiVM,[%h,H`JwqsADJ90HyPm* %V2$\0*t@RYMk%m9sk継b ^GwO}'ጅeu9B"-։Ħz<$nvF~횽*6&m#*_݂9cN-:bV҇3Rsi`\;;)o39E=4Ra^k<6V2${!3\ nbOs:%m1Hu&v{>㷘<Ǩ=Ǵ@ MlD_,7p0eUlC,ZM$&dXuuRj`:11_2oqÌdIvsbVbX,r'-yAQWA|y)p*Y{_ %\+ec^Ҙ^weF0PG  F"Cr 3tu*L֠/@*UdVttnh)/~1&盇-!n=$-HFgԙh"([ނ$MC}{szo,>:xIts$ZJ:Kq@io)\Qs-~Kܱ3Xw`x%-:c.QmSݣn]jģY2 8I滇Fk#&ܱЈߍj?y('n'( q1Vs+oQ)WlK-9ԁ,d$KӾ*XBeEu3kݦ0B(A ć ܬ,W“v_ gJ1#yLf$YPu];M2!]}ٸY z֗$ĐȀ}/[U5.39<'ӃbRxJs" ^m6W4HuE3M(1?- Sø3~}}Ss'Ziq8ΉƊUqT=⸥wFc̑ncSrǟ]OHoAf~8Ei|F~\%p`wݔ9H>\c3fǨ w/b-dp4&y5pcoӳUl8JGźgF5r,M:: w wߖyLS*,=kͯ2 !.ק;Ω1@WDrmS*vWWd$w FFx0c5v)xIʾE|R:`t6 Ip%2Rx:IĝtX%3#b By Ǩ఺7Z ۩'Q_d8>y- -Ԃl+Us?E3PƠJ-իtA9wpDM"kNpR6B֮?U:୭`6 GGUp]ǽ^FBy̸Ns d=Sq,,BMZ` Uh}x6Ht%׃w69⇰U]!q 3sܰh|ZRtЦAzkT ~K R{; ůH`=#+VL"1xun;@N9̹3זڐ %hF2׶QgƩD0jfbI&sY,d@Ea҉[b~AB0$2e= 9#5CLb7yja 1l e 1z9L6 Yo#_@J@}oY^)k/FrPeb,`3Upqe`Vz_ਖ|BPUP:!@>DL~3 -J}lCɽ;QJ4|U?KD aV-$O7ܻIy l0BeKm'Ajoخ%NIk}1t9eK.t(%4R#Q|$d6Ҝ_&O1K5[? |&16kjΒwxi)ѲнG>#0z'.ěPѐи ݘnIzk(ͶH~zcCnzM<l˓퐮4ieGO8:<4~նU6@F_rW|F{ZhK,0!n| 'xΎ3L2%[biDPjFfr" o)`Kh`" 5B7 HT1y8jo_HYσ<4ql6I5-t&FGd(;1JfҰ8aVJ֪0A]q9+iZ˅EJG [RG aAymzh2zܡT[pxӾ!HHD5b0}yw Iˠk@V#Ig3/Sa%܎J$)k$ݿ901~@$Wn{ȾP=m+4w $q +pN(SZ4ynsjkv0[ihkK \jK㨾R8#UZfFM])4dcƈɝ-33G$@{p|ZXy5@4TS'{Z"oVIh[`- a"G6`ZoMƊUaK OnA"F!MoC3)CJBWC*Bs;;̟7U̽¥Oi32YS˫--c{P$@5%Y3T>`9{((w\%NIg¸_+.u*F){PHEE'Kzop 3ȱT`Pq`~'xyb]#[Mb}hreuC\RV*lwks6BgG?'ֲ‘KdQR@ǸŅM z ?Pc? 586> B0KqB՛4w,P]قsWX}·ba'A,e#M~Uj |y ֟nD7ĝ_"A6F P]1PNd@13K2;S MIȁLS&Sg~'YnK/=| czQk =ΟhmXRp΀@ψ\nzӧe"Ze$cۂgKZORh.'H5uݟlV-4v#FW`y+7F}9rC#ˬP8AHqrx "+1O”(9 `U/;wx u˘]b+_* N ˏiƆR5bm+{mB0) h/:Cۓ)pʌ^)b 'oy8So*4|GH=XLVm&^=(rJn=6F܎V+h7OC󥤟i.p @珳|tѦ\Oa98ÁcM 2I؋ DYi$=[?cu:4 ?d?!.͈[NN˞pO;/ii_A} ޾ͼWM,A'ߟfihv]? Лt)%?|b2Ri a &;;w<jl2!GH$G$$J%\vh1?\'?e2W:}l}+~ ΣO؏i0ǐ+? `V:y{+b}-g 概UK=Sص$I}:9tc,*mpB]V>UwWj,OMLO2 eڔ]dW"W c vra jNAF374CT}{rm1䤵0>^~zM|P*5gO|ۀȕjZ*$KfDjA06pq{ :z-=.RO3xHjRQb|{y;*5.БCE s4[vx CGcYj_njЎs9'[1Pӓ RLKKtYG|OoTX[?x2rѶ4$6FrʆڮPah9=OOY 2Ѿ^Z bOP6`YqtᝐЛZd.+HյrT MɞTG"DH,aT?Pd0O~lC"o,,+Ck'1Oo$"m چ{hS7X !ѡHE3X9AVeLRT6dbj'ԑ׈.?<.io|b;ȵYf윢; 4%{6)z|a YȈQo8pڲE,鐥r[]',NYk]$coQ~#9|cs;ST_x؏~fȝ{W}#҆Y$S%>4d&OGLAsi6&Mjw!J\P{5uV:@lX LZ"t* T@d^RX.yoa4"Ͼh9]!AD Vr6.aXOq^AQf'"POw ,  D089 7j&\e|LJ_ۤ^g~/mse3$֭{bCR_ f Ǥ.>; RY:vLw}o+e=ӱWz2MLL@a=DRhoxA`x4,þ)񖙀ѣfL&Xvo3F2cag}=VoP W_ iSP_4  9UCMqTw5^Wl%)[D|ܭl/;U5+:F*#l3lJ&v'N,J|=H\NN )W1Q)=;'pak3 i&QVhli׿'n^LUv}8$(gI& Լ5u?@KaI* ȍ6SCP=Kc) |B΍"o߁@-2-aMF3Dk%yKw""/b uxBEJ|][~ąM\P|evʎ ,Tl v Q Złw@G)՛A﷌j!"ZxS4vkab H3|jz&f)e(W:wL4{Xl2=qq l!sw|pZ8(`VHs +^\@@b ZtFx]Pת{)x`srG﬉IS墳޵G g 7 3bz:S9l'ahidc4:bX]0_@{u-֬UNuI)r˗i=@B &BI()~,Ft'Xn+7;T 2h_\񍣞#)%͌bf4 !k=MC#BS\|bK%[n;XJFÍ12WDͻ^5t|<\(iOu>,nSZVWѭx7cLI~ )=xG-V8ũI< X/1A+!I\oMJsŐzVh@"TlC=kU[K@DVkrX.䵑RR7)Hx HBe)'2Քh߯vojWy1-*t(~RZh'5kAh=W$9қ47[X_z:!}t+F^gA$QCFKg,˗B@"1!5̜ts~#┱ﹸ\z~ &^>(<0jpI @šX cXrj Da\ٷ5_X6"Ynf_qt0RI;N`L%TIMe8'kN:$n_4ypz+unyD0'h9exyk8+%Jv䆢tv)Tگ:3oS礃ĭCd=e~Q [J)f5Mӽ(^2Vܾ!$tЍ&l$rU%>f-hNs;^~.}np1Gדl>T0_x9;2\I\" lz)I dGFEݞ#9&gPSžQab,Z.K4lx`?"O?=]_!я}&:vD.Dt!;*F(TU6#ŷWF阩'{ۄ>LxJ~Z *k e7o}$;ZSH0V!&@判D@\L]78h-Π5 @L ڗ:(: +ԅdcН*bfҩ&(B=Lo4 x4[ _>*4,I`_5[&84Un@ jx߾1*rɽ*Ro D 2uZDșg旮|)uuW3x)0<3Ž/򛘍*έֵ{EBxǫfC=bJ~O,{5_Vf-w),:`#LyWCt)oxqS@iC60뭪!s๜C *}p8CtZVlByofH% &):*y#p♍ٸ?8aG,kGmԴC{4gJ#Ȁi.E [\&;nMRop6ӯ\)f޸tC'ۖV3`uet>`48PݵM.Y2|PhD@j1AKN~$-=\SWD#l4!(ܻ6Y YPm7R{>G4e_ZZW&/.r9%gZ ybDFbQ"j|jba/XR:~WH 2Eq$υFuX^t{pWR ܦJ0'hpR3=C'*U\+ 9L)Tdޏ  1̬u9R<}۪5DfJkN^>į*uTcc8A&>s0U3Q0=ḚܳTDm]q+[DΰfXIAG$n%jH Bnj"NE_Thyh{x eX`R`:2逌#Wc;^KhcY=X[Ox*biwΡ%%9~$ٜ>{b9qm&HGgQ齻.=Ob rN0iu_DmW(:?0q[78"ݎƘXN vFm(rl9+D-#Noъ.Cg*FNf%Cxշa_J9/qQ&SZ_|k1`VV}AA$cf}z<'bZmj8 {Vd&w=Fvؽ{opmʑ;+\8q\:EFSCM+57lfnTaPKsy"Ó7=W+(,$U0ɽcx?v%IQ09&[*~-4<Nu܀a2DrdՐv) Fff+ &f}5'DeFk1 W6HЂ/kFZUaFmrg'+=lүA]^m[C蒙'XP̞pHp3y%QV/kh4e1M-Ƕ=#C[&QӏF⑷#3MHeIodvЖtvʚ\ē~ۥVʲoAaAPɼ2bqA{A௛n}G S0Ir(3 \6r( $y"gzY.B!%<BU>0~5$ 3!_ 'n00{C*PU˪{Y5.c~Rzů}_o*5rQ HTDè0:9ap(~xh$=Xw:֙n%cȇyl$G W@he,X]hiAQ심U5>T%9kLbOY P4m@ 6©]w}h9Ɠ**61ؔfWc`ixbp]РԿ&uv!gyNڧ^pA &51VityH'9툋b!*;J 2>ر ;g)LմiAkr=9?Nz t8I:o-:YA}b{S xCWМ} 2[GFr"`z=rLa3%0b=KSʀ4Ii^!02qWGbkt?V3:x{ b㥷 ^Zm•[z-O5c W c@aBOCSn~u kZi$t:&z ު;+ T^ws[kc_xwIQe+xȖg$Jh8XX-"}5~,47H"RAwPڔ˝0-uZa ٴe](8{bK[djR~l?Y҆gyJU/]k :؅ Vռx+ Rz'jРfz1jEW|V6u!z6FW b̚}SoB.olqJ"}2Jq6 W,˾ ]!d5~'kwI kZssFN@Et3t ʞ:׀-1([YʹJwDb{IJנ\NG>jW;K^z\/F2_+0g4T/Bwv g} .<5@\gdbšQMk.MogE/sB%U fYN/q/F5'fJi*JeFd;-]2Z X6ϹSA-57\BŹhLCu6~ˎ:8!Kq3)_U8x:`;@Rb t:v%lu&i#2Vv\*-9D82Efo '% "]+3ls=)-FEN=}x̞a[q ^ưh~x&3hqM'?M ZYj! z +XrRR= 8`CmK{ErT5lÒak1̾r:lv3P^^vFL@=48MPEEh^ Q`ׯ6P[~~|zk,xȆ+}U}bz.iD>\"-6Feʻf o=KVMb.e6zu%7BXo\mJ.j ]b1@ < A}G^jRT,w.”,"S|)|9c.;NToM]#1"QF!Y&t _B_1׽OR;x{K~qnM-eIGT/!)fo(͜ tZ'fCl锼W $SCٝ 4;:pPRyӄMm:~Xuܫ6O6; 0*3W=5'5 xN|? uD^2:;Sa`qt X ʟ{Lf8sPi78exҚBmS2&0LF L &\ ;4]h66(vZ7yuʰ.$DŽ͌' kȲu~L"rTw=yJr%oB;FƀYό&Y-|xh`JJZ/0R@a>}FpꪖryiVE4W媥dZS_ l Vq)E(BLڹ%n4I Ea yg]f Ҍ% ~Bp҂ ²2/b+8sDntD!6OXۗj čR(XѯGp)%q&3hFlsw;y ?oۡ%}.=4s@ ousSG:>6آ:Ą<Ӂ,ɺ/6nJHq]31?,s~7KيªEoJ'UaEeiY0vrzå(ǘMs9V5U1\p@]_ <ʹko> $_n/ʁ!GqQ1JYb8'?NDz,]Wbugr<Q=s2RD-rE2f -BbW3RU T%K8ňS(]6H pK^SՖ)$ O'eR`81)wχҰ( &#bL1_ 48hU[EQ_) eX_ENl͓/7jO1ƌt&.]Rb ML'EH '`mJn64hHHRF!*KiY&'UF1N"8b {Qt/SwV=^BHtW8{llks G? -<3*#'~\Խ+Rgۣf׃dk,'uN&u ?;lO_E?pR@ A)RizvQ uvOR:{%M ?OQIM/?bQ|MXW)ոo!V'"vi9z (4:RtXIb ],/zȄ?OM=Lb\S slmNFyIM%X>H@Kۺso-Ҁi 9tR]ؓg*X2s[PH/b5vPaëgi'>* MP:BIVNM4>凑\Ĉ0Z6Ǟr8 ' q/)%8=|a=_RZSG5ͮUi'.Mv,mr+] مMQLJc23v e&F1ƥ|W_KΡ =6f)f4Q3M(k)I6n5e |^4yTm{-I*˞v7 !8D#S=5)Elz1m_:sN`95 t%gj:kϾQK+He**T#~!@(Y43%iP^Lz f7S5a*=s\JR] :K^p_GCcY:4IhdDB*Ʀ ʤ__/g{لpظ+JXNy vִ[@:_uQs.rc.}&1' ΌW Ɔag^5:SRXW %9a~z~a0<7SX Ձ͠w"|$zddDlCiM,=e}אdruGpv:ylmƬCZ1%f+!xGQ-Q>|h 1ЫyaTϸ?׆Yaؽ0ؿzY/r`S֌DE:ţu7Cۜx׾IX:5F 6vR?}MT>Q^ٚ]yYq|Z H (VIu+[ʼ8/5ō~x`8Y,!sRgxi|o@Qc% D[W?xЋ {V/X4/ds5tCWg۔OY>8g-gbI;eNcSJFA~ZmI@ƻSuL}Ѱ0ބ|.ǀ{d#['QzĠtv˸*3}xfyH'1v[|Uhq펣dr0xM)x X\D /HrjR?0.]7 [{YjFC@hͰ\Wdq2bcIj tkS7fQҨ/!JFT˜WzU IOh GbL< ɢ u|u>d6k" [$. EPtM=˺6C@dklZ$9WFIM~Ǎ8s˥vq?QͻouT9g *$F_mQ|SAdC(+$pQ+.(I%pjM7 2m@?`]˥_f啠zet:-۔-ZIlTqE:ε7?ZTuIa=2 <j)2j ʤ 4Qm7;JF -erj']՛7C8 Z^2L^*CA!X&KSpw~^)#/@J4XGc!-azbG⊷t'y]Qpߘt?<({{ 0&'ؼ̵S 7.{I\E04RޕL\F7u]yM³;LV)X(ɜY^(}TsTù\jvccݸr+bRXXhoKߌ0 *m<6ÿf' bGYAqSzhעF3.x׵X1dnW:m.XQ"צ^/,9|yӫ eXؖ}/+| ='U'(zK ѥ >&h0Lbg97*ա,*z\<6* WeـKXOJߗ*ihε(X.̴&7O&kUg+l9f ^Msgmg 8] Peq-AgY; ȅc콮Jmяrx& 5 3aVt}"(8.Y@lsNڍ!Sc'cK Y@tEޚoϿ 4U!@1Jal̤B9w A ]Q02{c75nr~F#<*Nw#L Ux^fRf6%wS~wْv'_%NtJytq%_R5 <|"4dvQ;oƞO谜'yV2 9 G@;.Ce5$Ve~lZN:M YWuvcU6,!P;pY.Hw=IݥGEÀ[w) ѠfxZd}~iB{/8+ /)΅[w}x~<1B pبֿϠM?U_*[2^yYLIu"n&B.ͤ*Bm8E]h- u8el% 3s"`B,e98[> V7\T\Y^',¼)?[ `3. n}4Y. %]` %o[~!uCL˵YEhomSLF|W>/{xKbGO /O9|{#~sC2X6،QdⓢaƱigB:<$q?cKaa2vp(n|rHCvH-| mLTq -xcPF+sDA那XHDXYB$\d1F_0:NPU|p~xKbt @'hN#(+NX?DmЦ4e1qErbS'U~I `kaeKqRǸ̂XAҬRyQ%3A5s~9[0`< :֦6`QIZe'UM˪VnՒ$T% =%i9?WKzʦY9qa=1yl! Y 34&gO7-?5۞"!g8d-#i|!2"ˁO{~u<iCa5w92eƏɝM qa7 ˏ9,̈́}[4:wI.w)։оQ8QAjgmi~&2Ҿ~72v s*[bgMb޹|GھXm: ^GP -n[czz<2j79d9:.75ORxˑ[PrmeV&yRISܰ]]g!gk#NyܹV1eV' ӱkpQ}ƍ tp xe͔3L`_ldCpv-,~J9_+ Qj.xX8㽬m&s2xx]#Mlu}$DBAw2DM]j䁦Twr26i={d)F`R?ַ32L}3`^3oUYl< ezqTZUIftVo}_Ba '$˛Cabfx" C'ؐxTfHN RԎ~cS[A՜$v@ǿuZ0U 45;g=KE̲8m<>W'wx)GJ['5C`U3,S|`;֙e"\mFv6^>OsuW'ZQzsYGt_M4y᙭Mf9̛Bi{b.`Un[:ƌA? vL@B=e;&c9!fcy`iEԦ-=P {> T$ 8φ-X)b}2ex]~_!]u/,_DJ5D_nvZ^ksF^~}o-_ģ5Z r ]6HIPpE$|- ZJGdŭ? 0`Lo!1Fӄ{(r5ְ/8%ؾxř-pgR0b^tֺvENa@b,ɐ)W*9ca'+B]ձi{Ww3 (䤑|2]\1s6CCOlLQ.A(^ r5;C`ujs_ 耓Db7UNűv<˱*ӟ1A)|Z_jӹ*{nbW?3 كGW"N.ozat)0[]P#ŧ[GA{wN˭Ϸľٞ#kt:4qv XS,PA :A|<7lZtzƃ-.Q5fAމwىnCqQL|ڈ6կG0MǔdCM]\XFBjX×P˦,$в .%5 918#"c~~L{E_r`⿲뵆k[hžq%ZfLbIMٞXSuE`9V} !NP4҇&#*4yҤ2U>7iwৃ[yph.ݙ:T kx\ RQDŽYIMGۡf~[$ئ4eS jC7;ӎ|4WF哤r>'vIh"1hta孲3o{V^|>ImQmrMkoL{%1KQ-!.ʀ񜣣AH?&vOO$k/mIo)5 wF;ZGV?ˁ1Wv%~[y-qK֤G&Kl_~PQmq9QI |[E}^>{Ory2cĴ6iaY)Go!\U/^wU ypǸ zroL ׅLx؆1!)ClfsPm.TP}`u ^tBGm#M?.!17qj #BET${1 pʙ1{x?i"S=U#:hpТĠ3-׃C![\¹ژұVv(;D7(w0UG5ϷȁP!T O:]IZB*5X̕%xݭl*$hnqv(ev_ \ZӮ^E:GL'BEG-'>;aP5Th<'N=a'։h`=bAYLjlba")Ĭ %t?I g]BƿxE;ɲ876/Z^kӢP[5s7dEk{;K,l4=DfltFV _d=nsBa-8g%Ԃ\Q݂0@5x1F]$XxKXD_G'.g T%~Nt1D!ZK>(e݊0'<8FTy NH aXRX&BIMMQũೊd&&`/F#x"|E%ٵj[ r{¦ugkKʶO 7HݵA\!r*Ǯ%}^~$Q&3&$슇C[ZVy{ )S]ˊկ3ʹь{jqz{+wQ 2:? rֵ,ڵG(0ȩd76DaSϝt y;P mn E|[7qqF|i =%\uADtUOc?>aC2Zh$iw#7J%G+BpR3=u~a_|:!bB΁JSR,Hs祐li%fMu?J#=hʆ!W/Xʢ*0}ĺ{ IS>)I֖1s]X2 S([W`c$4U)Ԙxy3ӶJr ĐAԑhzf! G o_;RUal)gFj95"Ǵ.:M0o[#]p̰pX"0*+3!q^6BFR5 49,@II "ЭA,_q'`X] G8E8Ov*7RuWTƞ/:Re;BYѳ!V6AghZ$+J Cd؏4u,$o}OdYEe6o`vZ:v+6cQӫ`;+p+ͳqc(?%+_f`y f0ewB{L+CNJ`'6Z :a(v^" yI?su"ǭuB;xwUcJ9ҥgkID%NCS5\ޖGrEZ"! +_b⨒[FI¬,;+0feN(Xܝ#]zSmswBilA0Hw9\G6N\! u -ubx$PJr"ϻʁPw%i^GOr8g;yq"` JcTK]_"4<8p)I?w ɒC4BkĻ GK \p |];~U68M[ͮ/%_w=Ybru=y:pᑢJ5+VScːHQMMkRB@lPRW /IAE9 5]up(5#V>9 Z6 :A%7"m(|SvĺQ\ڄ-,k5qqT8,dΊHľwO>TR[TҷA#y62`vB+I0!, Zg̎4'δ Q3;!gU ]tv> s{ɔPyYґ$GQ. 3qjJr#aWyZ~s T-Y |]@TWܦĬg ZN6BG* PU8n,Y/xT]GiR]wpt Ҍ<8Hv頢)Q )cLQ6 r/u$ |\mˊ y3\$&%f32W)R¹/ᅐ6\Id&_w-t|nQ5bx"!|5^ۘ.d.LY 1}7/\iT ҷt5f]f NP"llx*UΓ{oLuơ+m>%Y>^|Ufq#rZ" U%Al%V0X++)=ӼSv.zR2Tߧou_N#}Q|]$T?K\׬W9ի<ค,1=SM&tZ>}8Prx1H ZXd4{'>U: E;Ue (XӒԟpx>@Hc:g-qYlhG8A6U mjTy~2&EIZ,xsl@eA*[a{*׀f.s$OτK!}Z#?OLP|Z'9y2 ꜟ)+ G::`G9,=`QQ`X#gyC+$3?25|y 6!ljN|]FOY j럒 -fy%2oȲ4sxTm-nw!]+-WDu>Ԙ`7Dz Xnױ_0y>+zct^w@zSgu&n0'uQb(b6bzSK*Nsq"ΛEݝ.X~S 1ky] k5@1}muD^q8.ˌ}e\_7]^bmj(_~P~5R]IZPrX%vg+@Gw ݭ+n^܆ڭSKr Y GIpvXN2$<#bcvc[ ЛMйBH25Bv? TĐ;sp[Q ke'<36-t H]1\!v2Afre;5]C ŧgl~ڤ'䡉ń;ᡄ9nw,^1.u`]_8us͊\fU1?x m֢3u4a_4 :_Gqɓ F. p)GJ v `bd4 ʪsY%: K{ :eAJMlao?R5RaiQ$˸tTZp.}dmR%xSn~S CG:Jq_\64cj@LlYcDRWY[ú=}N!sc=/|:ROeU{4& pDŽG#Ty{Z $.^"ɘԎeԨ뜸X.gW81T gKDD 9|Ų+X0ר">_=c?x֥ *Lқ0_>s GoƐCV`viЉHyGv֗>e-[k:yо\fč⽎Brw 0 SP5$(d r43~0 _* 0V 8bױt\p[ƣ7`,YtX8>WPmTY#(_`P \84 } #hly#Tӡ}vNO326`o WZbqޏre,YQגN1[zZxjAZy8cytE@LUUXIKNixAA;fKt,QDљvăWl%i"IuLYԣf-GJoՏ Vc&QFyT(&;>捸q1X珎~8{/q:?kc>LǷ1?#8:|?(gyʩb`S&aOjxM8-ZC] AN@!v0~IhnE64*!-5Yഊ3./ry \m?V`\= f'nUx4[L(ަ&{T,_1 B+@AN?{n$;;zU@dGTw'6'4yAݵ{'۶^%au;ׂXadP  Eu= Z"wqP!lʜ9fr "l>{r BPk '?+yW[" K$a-x氐 6.b/Q99 ȲA禘!qTI+zsqlP8ߵzPG՞ g]ӊ_+Ю_{:_G;8f-\g)XԐi+//wxaȨ2Ejǘv1I:?5!%ĹC2,r|J e\Ū2G>TQʚg q88ArUH-S?v˩U/7 c E.pTO|ڔE%wh.I b.lRJ_DG?QTטl/ 'Lϻ˛iiȪ(mr*(.|ԭ8SI^X\z ;:<&K84zQ 9*R#0ˋ#418ReL'4. } ukYLh"q{e w1#fj];G(4-PTȘU9:PX2Wg79My:5rT# \gSz7i!Y>ɾf}>nWoyT<1}ʂp ]V~ў)؏%A6E[ėL#L/i^z/x^J$8|sF0}4>w$}Zbt竛VX8]Ltm,NҝaOi,'M'3镋AULś=1l:^5T\&(,۸p>Y*c4<0U_ڠnGGCUkOy6kKr->Kl0uU@_.S;ćOZ L\  |O8DK| ;Oomi4VUd"#e'RH~邇ۈA\̎SM&&׉PE|X#ɞ2 @Ce&}e.Z--9%JͼCA<舅jm;Iwt-{],r'0k!Ѣ' Pp` [;nYR||ΡN4'S|?.K>B8Sk~7E3~1<5,rbōw7iUn\PRO ^ , 0^7 Urɭpz#yy9#v~JO_0&T/⼎k)( Ռ}aoa(??p(,gycl<'`lI.8NSxGN5#9qF5=`4d|=(M?pοX&ZӰޛױ:AJ Bd:yG^O{p%)h"O랉l7fC۪֭6=uVaL0+} v&d m ݅J9{+;Pc +'U:D7ZVFf,IR3%*ҜTnj"AmPt풷bMZ+fWu]"zqTW :Ɋ]R[z^ {[j's8Ҥ[,tb#ƌؑ0]jE+w"^WwwWQXc f6OޙT>Vp =M<9: yDU8>@|P!\ݔa9IZgB \B :^t~nMoZ8 Uấ*!#A$g0OYyI9Fo !{ʸoM됰O4>R%1 H1T,0e5q6ؾxNV$1Q Ҙ57 !1.6k80>y=U+ҾGK~'I)8ۂJǦqg\A H۝dz՟|])Qљ|TA` ?5}"hkE3z`# ޱz:|U4 FLUW7פ<]aGr CImk9R~LDSUPq[Qp3ة5fݒѸ@UZ=efIR[M-GU3u3ht=pI~8UD$ 1U%O:m=!MV6Kˍ+L/ ͬAIr 1dXٸ狚J`jTmȌ@h4beׅ]5/Uy*,7w*j̷Gb6wç3_'Mm@7FM{^_m 1ȍsS2*vm7h.' X'[I[ogZ9V2|,):T $SgJ)7uڲRS]ݖ!K^7&`O$.pZUs'![0Gh!nĢ!Qd[p뜖ɜwPnmK1vuICN ŬXyf);pM{F9ix{LT)ƥFOۗX- !!6n}nd>P4Ef,6|tB6_z 8oQ]p. jp4#u'=-!wIl`=gC[EnQ X S0ڡ׷)_͒aWF Ӥm[$ C81(>xa0{pECs[|eU,+8.(Ƞ~9^BO e*[*2hXey:pIX| 1 U) ||m+™Lk|G߉Dgϡ{ss_Tuѿ(n? Xf`Cl--PXCs4 $7W29);S?<Kity>VlEπ3;+CX fɞ+i[_l曶s9qyT 4%zg]\uG f! {"ШCWTqL8OTW 4pǨWBڿCQuIoTL$VIu4 ѣоتì䡂vgCX% $ CD$ѤPf015 C\& 7,ՁZ)o9b{J5"EvIЮOC 2)Jy/'A /9FLAx2|\olxopY}*.I?Es7~5/ջ%_SF w{Yֿ;XXB& CL@u$ov GT[uׯΓ+ 4,C7 mZֶX-[2z,;56.bUa1WŠ^Y4!} 5/n]V0ܷg50cյX(ѥD(Sz>X%ӹPcKav6#@H=03NJ[ _Rb,u4Ws B\U [:~XxI mrc{^Q푃]Πrvv~RT0K6ԅzYBvd+e 2zΟ$@ZPy4}q1i #&{(ŗ8vh{p҇ Ze` 6ox &<9'Kgx>%1}Ve|YO Q^Ict5lu~~h KʦQ9(mYm}%@vϨz.#6~͍li ȷ:wBӾVàǻ#yU&G`2Lns&I9p=I~!%!:\߬j Dx9*7uYkKGQzF)D'{>͢gUwEk.։Nt˟yf@  إ&Mjƣ >~,Gn˒-ckuՍ΋W&!C8ׂdvD /Uk+b· sJ"#cS? V>v ^'I㾌2yi\]c(-q">d~XQ#6+=/{ovJDu@,.aTrj,zY<(iO{{t$G3 8`Ǎ|,NRn E>S-@p"RwH6x?=B`qW@3MAF[{l_@>wɣcG8ʟtXRP!EBK%GPjHi*J*:6mle/la7$ry3/b<-p=ZDtkE|ӖˆfNhtU"6(1hYIK(FԒ8gnYȂ `RNV/!Gr,G bq3תE@ H˨{ BjMx3B5'J9bM;bHuِщc{`]x5sţ9~++XդLiQj񝈄!ṇYCG F$RA.zܾJpU3sǻ$lxvo%=(o^ } ,^؍T̈Xp"<'PÌ[gZc.=ZYI{>D.5EE9Aj3}@-SUG6tP?n B_å&P$+iԟMwh;KvctͶǿþY bb!O'GR(R|UN\#L+|.`+XMj*Q\{]Hc"H3-Fy_b#u+Tl4zBUqKGgɿ)t{&`Cp-c"< ' /:?-K0#*T}" ^VQʴB)`p  1Q[# 6hbMH$Qhus߼pӣa,suv1jAztp*3  3iB⿓p arjf3!|D">jFy~Xȑ. ^GzrwM);A5/l3uˈuH{D?@[x`t~Ɇ:tQsr 2# ᐿ/A;ȟ";Hb57 ȂCQ[S%% O(=z0cѫ!ᇄ$8:dSt~f*wqgέll*e$xF:+.F=JB0)'뽺C>L ӌ,]H,}1~,8*wf.o1z%$(o؋ږB,(b>8LW:I ʋRs$,a-ﯳ=P6kB?yJ$]5hf{py%%Q7b~GT"C0)etjI"MXN+S>B~lH0F'JZB3"l<^M3G|f+@%n:6[;") icQl<ԟW)qvNQja!C/"ڲudɹuuNT`t|p%aJѮ$txΌȄEm@/ӾХٝ)BJl])!;.XaMѾS`m^2T d3$y.?1lm `6)Qib ?'rH-4#2`L+f0ept> / $Gu~P9`/l(i3+eAaEӺ,F?U.+PXƖM2(DI(mH Bӌ-?;cNROw!F'Z3Ǒ`a 2 nhս@^Cjžϖyҟ^Vt,4/ϑ/=HQY@خ<]S;/u-v !;7U9-ٲev7Ip4#:5$$}K>@MBZ@CXYHW@T^,ay&zΖ%BlLZ6;bdac:7:؇ľj%#—"]Gb>aFضi)[i pԒr.DCNSc:y)\_iORad_PA׏j;vB`k"ԊI((j9/ Ɋh'*:å Dɶ*ј =Cb>`#%'FPnE_uxpz 4`d-13† q}!}7b|C" <}ڗUXls>67W$/ 1iG@ZFW{urZtSml%9?N`g$¾N#O[WsְNGV7po3vHW[L 2~&6B~|[9w@.4 "R2H+LcQkڭuV : -p)WfF,O7I8: Q,_/:c~rfoQWW˜2 233FmZ{GCW<$ǧ\^Pc@vH~Ud󁛈-J_(K\ 'vPmD8)`xCTuu8m򤍌1][>j֖%$B I4ᥒXۓ n[&/$PwS %cz8\ :j`>ra`'yUo[}[IJqnd/j /v(Tu0q|8`p Ն@ONސe) ՞;nxD jyH~:qb{N%>q3ߜ')6$xiنUqWφ5ips ڟ 6qN tuZC`AO0"Ck&HK"-KJ ~LBWOn]ցD EG^gi>s#SrD:syQ}?dيai/@:0I؂nQkwkδb-E~<:A!Ʃ-5~m9Ey)En> "ٴ#tu5XGŻlGU:JN%.TB_ƣzpzO(*90@tРooC+ +@1WXQWgLcYsy2TVp/܅i޽;݋1Uį/Әe$BKU@d@&[6J`]-z'}.r#%$s3KH̽oq7o=Y*E0ěVǎx^FaV !BXoLtc.]r|,*ci/JL)!yTh.D_pAg&ҡ=;2FF575t6 IIm.Xthm Wd~˼P>]2,u Hӽ-p kcj]PXtN\_b tYoGqhgP׿P,{niURFcvJFeN:e VE9/cC?C&kY'0{p ֌R$e +í0]m(28|Cjfqzmp 6S/h.Di5oqvw$֘7f@~'n4kDj*>%E*{릅  ãaj7PM\P+ 6R#DjqZ~;~]uo6~]RѾ1*7 >ˇýç[Qnd0>xZrbPiV)K,[_HTZ'cwY\eQw/缻gJŬ{ N`>)-G_Z[cTzQXqҟxA7=V'Uƾ}\0j&Ag,/mTKjs]Ӓ!{ S\'KQ\0+ebd jd>p2tJ=#df9*Em'Tuʴ"<9~SpURn)Zb@Sd4 M2`+"x1^Ma,ؚ3CĺLrY$6!+m'2G>߈QjTs}%KvD xD=KA+S-?w uu̯BC _xG;&"XR: 8#-X/^uYL2BI`͙se;  }N+1@ʹrQxnTauoSNS 4˝-2/@s@ӂb,U=I{FZScY)?AN L(FĤwiJZ)^"_2d!IY' -( ]+n/wW0>? LEb2\Vx,-%`zɲ Q\|>UhXQC~o<GC5j NXvE5cR'Ꟈ~qVp+^o4x.Щ52mvJ>}Ө_^ (h֤fye{&El&z_K= Hn[' N\AN9@ 鏗ɬA]oK{jQ<P6-|tm(O" 7m~zxCI q_vRM|¢G=Ƹ}LLKG6VϬdm82Un(\~GoXojj!\wl=stk:VBm>uaeB ,04RUś]>=kym To'p6\_@?a`>4o|%hx^/2XS2$vT[ڤMA-wOM+߫¦߉Mv%BI d?䫄GӋ~2䰑{;%cc/SKH ukɠx>kLU4k*0Cxӓ/ꥴ̊ j§Ƃ{019C_/ ~# 怱 #d9XT4 RΗшPybaTL;@x H_FWjsrx+oܗh, ?=r79e8;xjph7P۬6ڈ(dHM#ňكt9.rX/5x7xw .-98θ7# -ʖ1L_˹qBRE FY4UDrL]+% &&ayUO4¶csT-av"D3av%Y;Kd4ֿj7 繴ߞh뢳rk[l뾀$L|beNo;,̂Q2ņoتyԣ^(-lG`MR:я] H:8vhD:tx!sxv^'OIrZ[MMaZ\`N<5 摈w4YDl(H" uo `k鲷.Ց0ܮmV(3݆[ui*z{L"%Зe5y>ɶ|MQ(IkQr#\P}*4HGޓVuJ#|V<Ԃvbsi^G'8̉m!wu\Xuq: gF*ȭesRsP2[v|ԥn/|!}w82bp1NbAo(zF#PuM4 8,v- N;1 [FI|qzt R>)J$%"X(BP.U{oCZ~͂H[qTxі? x,\aq0]"|\Y6SjHN#fw̓8Jt}/elՊO'2&CD1آ}MbkTG"eLF틐9 p?f١ @všsϽܢ;2) / 9霪SS% Gc֖OW@6F'(ڕ0~o6z֠ӵ(ҁ$y2CVB- 'KVQ`'G 9ZFWVR>vKMj=W-|y8c2+BbToOATyR9z_aKNQK˴$8aA#Uc;&(T)'B_BM}iY!j1aE'QŚ0U⠰r4 )kT6Q)7.%1ŎMMUsmݝ0n#ojTɀD[lB$<[>GFzD|D3OeY2Y5bEƟ1(?L-&ZQ4$mmlg[c\Yh" g(:R$?g 3y]!&uiZ(?zOmu<nCI?<@_4&W߁";9\;};kLw yB %Y\C &Z|Cj(gE)F>e;z$k%fa%UzIʬL.潊/&hj]П?r$P]ۇi|)8&CW;?ReEXWdֳ\+۠7Fs:Ȯ[PDxm"*%[F"^7v9Ґg|7IґF@B{H:'ȡAl/fvz78#AZ}ĶTŠwjpA7#(VpShL4*Zsvm9Wp =균DVQ8у@yaJD Q44w ^K/%lC ą> ~0Biװ]J%Qw봊apN"r9ネR pɷKVXB8!Jlї ^h9 \^ো`V<̉?vL.*sa {WRjun>chČCFڞGۛzyW%! %4rUC6P (zr␳įVw"0")q0<"4-ᰥ${YP׆;Q U>5R #-R:CY ֚Lna YfCUr'"&n3W] yA<9A!K(pRzeQ- |X;Es@GZ ѵ׭#blAhϘS涵'%0Oii'S/YJC?;"F |o(N'g*1q{э(E;òlt8$aoP"-NVcQ*y giFnJC<皰3C\ :1!RPIKC/ 8kes8zb/u^.F䊒d͒r9GDY5a刦GK6xv%}&;8j7ɃB9DN$?Ѭ>W\1o, 4,\jKF NNTOX; Rޔ,BfQ_AEK%(5eق 7݋vjZ%"}HO1Pi QQY(W>GFJLv|)?[CnT&qD L`Ll;*Rd@$frAM'j1G9xH ,#+ת+~!MV \{6|>2ڔH=`̡ E?Brģrm0L8 T -itHY1%]Dٜ F>HFlI^u96ՆEG;6b+|sD4h(NsfpZ&K Yx˸ݧqmJSA$ i{~Ϫ[u Fg>'0B}OQOP=ьAG4\]Fhx#lB lF !;a]!r$>([LvWax9D7igkAh.t > v֙mJ8~lR~V%\Ǘ<^DQSBz-ذzi9L4UO'ES*@f fTOH/_v 𙓢ۗ Ah„?\!J/6ˎ][KйOxm^:T5 ƍn_-MC.Ug< iNn5=KiMRlFk&g 7\MzDGOrz&Y縢|H`WHEkd|9CgNR8>{K,_咝'md |T"\\R#%V-t V291od8ΌtGńPg#ШB'w} @Ww'Eip˼ `Ӑrp|ZawLYQ 9@!mvF[&:bT*:wuG dݐ(@9٫f9G{卸s(\]Py^`~8d"!k)%0qz9dʙ)Gw੡KX%+<,d˧J~x-[7͌j80ae}"~Qhsަh yvoQNP\XNS4> =R=3E*dz`QCEcX&yzz'|VfAJw xT̬%g)_`[d7q ?[c7S[IOsܱ"U9ax&JeYi`"OAP\rQN'c'? Iį@$j\(G.݌< 0A@}|V:ߗ;skeBȃ;H59cDl~.%|btfZ gYԞA]Y:u_+zAfI10ew)y x[уPmm sv&L>'~֚n(sm;bJHyJ V;WQihM]є`}%O\}6Vs+{8ך,0x wZUZP#bkK Z{R)OԔ'[Ǔc{ E847TƒvҲ΂֥i;:*#b8kSo|Kkq +Q xDoT4%.2s ð_)#lT_<tE -"&<=<J* ]oŭO[5eZ@ 3)j t͈ŗot0QCx|ޓ%#\ 6k%9S!WH'y~s_\&hobg [@shKs|ǽ_d7 m1ËFhwΓTS| 2<Üwi }2s%6oGYMdRU e23idPf}*?cM5Z4tYed-aI*SVN#Oxy ʙU cތZNr- \:ᐐ'ɼP"KHzü =75l69)c2o.F"`_v&ocGxsp+u!Jsh {ؠU)\őcډe>ǡeI8K*~ot"~y TGŁg5͐W LW;z'sq\e&*'4jh5ѮnUTyVd"e>6%FZmk1,eE,\Y iܲf-CJ|-~1 {tmўIM#tއf4aO~զ[W_6zy8TUa")s2w!;Nٓ RHY?N^_;lX.4 V72ّ**Uuɟ .]˼!3\mJhzK A[]%??H@ }Xi cD%z^X>D1@"x*&% _2ԴQ #n-Z59D7<$q2DXmXvS(pjGDQ[TY^F>}}jsF/)B'drDuLt7v$*t0-h(= RC Lߖ-!QQ`g=-s*2_@/ (xkdZJnrnȨsI0ی@_`6kkIKې):-0=/viD3}k-jOM\@'̎ReW,2W6>\R<%"tv8{6mtG+HwoKu0(;vdJ0jvDVWh4d0cԇ׬67PNKWCK9e!bɶ=ҤqF\D{\ԭ;UE7QTt|E;@ qYDlT7\S_D8ť6UrOm .A`E`Xޓ4PX@uw], 3{Jv~:2 qO|; !#DG?gvKLWujr`[>>`IkV8w9s/4- ,id>YX;UZ=/{\_{+RVY 3o^I fӖ^>QM$P;>=S}<5#5=XU!1Ė qHpo#jpJAC% vߟ̍pD؞\4+QeKM~ݠѬ՜4`?Zt>@R0?=yc O1L 'sNcKC2r3Gq(ZGh8CR[1Y@f4pUYLcZO6O\M8/^nn4}_*go5t1[ץ:(Wn/}"&LkM`;Y[qm 5BܸlKL<P$#"{v@o|xDn>fN .ep4P ͭa#rO ُ=q.Oe+s0S7ld ( Ɣ zGiɹB{9W\^QBmvUO3SӡhcжyINkުcwUv:w|yׅTfj7+{S@4<bw/  zR G1[B(G2_CB>;%nbst^(8,5~I!ȉj<6z1ebeUfD]TfϾ;SEubZ9HcڔKو|wF!$ڗc1sy#Uy6@W~Tf$&X>=Ό; .U,uAL" KLf͔G'_O#@寤+>#K8LF['Z 㖓ڭuɢH& (zFw&1 T%ύYxD `Ԛx!צ4z&SJ,œnj0mR0q/e(bTmVV'~.'+; 9Y*6j,xMa>u.b1@ {V"DV6&4n^F]zFf 6~afJDWh-3h֔YΧ|"YI6.OAqEh=w(^59:D?SdCNշx}!)o V:4nrb+M.P`BZgia8Qdg#GH鋚+Lky. Qgt@YcʄmMFL^gjcߙp"CRN?gP)JGx kG딘t bqmÈR?Um\q}F57# .;#ha ,2aю$! {;dCx=|o j?yՔ=gBS!z/c-uq>4GJ-#q};y<]`dԭxl~qX/.j6sOPZTb5br1)<ճç. /'&|BH)+<sͰ ,c:?}d繘 mnQt},Vvofﴆiq (4*{ ~+JIvjb P GcI;o'΂i#@,!5n`sǬ{EɧGWNؙ2W<`GT AFCijdAò^?!LfLH8L4l*zC֚iݦAF8Lם[k=)^v3sOMw~o˘UAa# 4{SY%TlnڝҘ)\6=BU@HTLѭW]r<,mS1ab!QwTgSrՙNhA6Vd;RG:ڄRȡKݮvY]0['HJ w$]BAAnG )}]CkE쁍  swaOʻ[E M2~h(VAÁA3cy/ToTKbq*M2vyaH G? zHz,:,$0҂}E"eK>֊*$!h$ID,!ɓA8ɣ]DCڻ-sUmT03cԞ;A@1- Z N4iܢ#Ubp p?e ]o$H#@Ϫ46̮nC. WypeixȔS0\2l ޤN-۱#P>"b9NƝjO]hIy⫲Ə vdZgeS =j|J43g^'T)2X_)Zc34>~$0 %m>5o0Aoss=eQ[WRXDidC-3O0Мqo6o̗ n f}DOTjs`2"}.KJr^=Iٽ4 JufTj. @GX*nL_4+V>h?45s2b * 03+>lf{}X51gB|BRHW!3APk't !?h3r~NAμfh0L7H p!98AG HJO5 uS#cv`.bͱ#$0 |myѴ.%?>=>I=lڳYR뷴ʼ}i6q3 /xOF@B)6D %KɒgI▤yl8TofZ[J['}my,#5]D6ա2-npoßHC۱'T#JNNO˛FƸC,jy}>{HuEs";A䦴߀Nsrۚձ OB* .zԹ/r']ŘAfF+SmS #sת0g6hr嬭*`a ck,"E!`OϷ ;W:)Cȃy cI-nU7ZY3g<1'ŵ9V|ˎk'Q31 TQyR@"0jva &ڠej4QHf&@1lc6-j[OE}~̘\Ciij~f L#]k㓭2'n_ / r*Z(db<3'5%d"v]S%LNfGG+AR="龝̝`4Mo51BW7ėѕx֢J}Τql*! ՚rGOXz*|= VGKƥ9ES`D /ù Qypp*m,麊Jt ӊߣ 'L]k?}aIMe2&dphPP3TTcj2.v? \.3-ù1My`;ȷj4(*wsC^U]^D]/'+Fޒݞ|-M:I*OY?`=Iߤee0pO41ʆ-Kp6k/~Ϙ]=E_;q68wTqٴxaTF`'߽z7)< Db& * fYl 6#2>^XR5흷/\@.ㅯ \8IKa^hԥ%{+c@ζP:[1svYAmׁ%X~U<٘ LǥH TJ1}ݙN6ڃ[nꢢO њkP}J0:p)ag2SRR\gncjc/ƅum)._8if/]zT0[ *`3K\`,3F,i4zct$WܯgA: W?TKD+a=r nu ,\GHRO0̬0y[! F' ReFz^*k=tK*=n[x({ZoetJGD/d>iw$b?ŶjVxiow)2S¡S2'~4wj̰ޫ*oSA+rjUvW:(o@UO7ui4~ÍC|J6wvu+\HEQrs㱨M, m.(E`I.X+R|MHJ2~\F ,uc_E|'~$ .|UmNݜ.`mdyFŞ=hlG$OwP-G].p%cu GMO#0(Ka%ZmK@m8EW>S_0o{3&42F\i44Itv~uDz.M'{cGE? 3/>J€*gmRվ,w5Bڃ,Iٮ*lkirR#JA=)S#͛"' 7bZ۹ uj >(&`g, erg1ܐ>g.)PJ\~fAp* { ʤ?vG;2"wg: Wq-/L 'JۺQB?'+;: A&Q}AEk!|xG[{M~W\Iks5WyL$S :8*rU&DR#g3TV|sKYjZwUZ˦.V?ٴ ˒I*j]!9mϩpza}( 9ZBC]7@eҾb-8KZ̿G^x<@gP&1\odJ]G Pu7biLV \e\ߣWP5f4cd5zH1BAOb)G`i;1r@f8xJu+)?w'mɔJ): f x\ͅ=$vю xkD5DbC}#wD9uQx\7 g|ZQk ONWcَ]K=o\ z?{έc"4+6:OQBE~xd|O0kISbxPohF%9 H'%xj: 9q<* >! ^>qv pOZa:Io){tQ Nw<%/:faJ#7x{uQsOTA Fy2tuC۟9,^]L}vp< gWy,OgĂ"f1=M/xqf#}o+;oas9 #F"\IƭIkIG~Պϋ[$'3Jev.)f~}q/Md/'~eu!x:ΈPuJOVzݣ={CՇ#lG^ڊ(مYuH!yFV "jK4aǃ]aqߨ(rc!PjXSd5$JfCuL9p"j'iږe+}UbC|&X35=W [xyFsC6j/欑՝=?0Ւ~s,؊v6ٕ (ؖO90'ԑjm;gc&B" æXdg?(q&AKHXW!9;đ 9m:48-Qh<]O7 x#ܰK sVqc:ENN;"0h@~SznevJ.Ք?HVU{rnzTdӏ uMMMtIeyPsm'"N1`ڨ-I:R3XJQrPS m;o%zPxC:#W7ojOET {&_VƼ~vbK;0O~*ŭsp a LjdDkxfw{T\ҶiX$@v)UPMM'6H%W]&dBJWh$B,@7 82 3 Ϧk4Or g6ޖٔ(x~`,U\S)W wɐ:+jD_bb93GFt.J\Ѵ!lQfk㙝ۅ4 Lk5ÁZkE3?C ]KBcl/ˏgsEfڔ璜ps+}/@P4NB!pIV3.])Yl9k5l=Tb1}1W\)ok >Sb0p2Asݐ+`f WRR[Hb,Z Kܥb'C#5)4{yQ OvV {r7[hM.TumE9,{X>]X=kQլ;[Ť27nEYL3YXTbX!ؗ=l{{_,l$KjL<2l;Wb& 6%$n +ёp<۟w03@] j>O`ڑ-zP2-X `?qjޖL% %+.R\\OWw{ rϭ3,xX*;# Q# #"Av~HOn蠔ك"3#W7'h=BK2>:%z.P;JDs&,Jq u/ ݀ࣃl lTV9[.qަH*h *{eȦvy:B}<rګ(_;;Jnlͣxl SZ3,{iϼJ0TڴaM`]HN Z`%qR%B)4ṇ!=FZ}i 7Ny(O(&AnV`(S 1kT"2sN~48tRm[b$2Zq3DdZʼnREÃRGo ۻ k~OT[; y\OlE7]^#gp1Eː2\5mc#wV؛>c`\8 A64J+V9}~M[~EWx}b70?֧#c}C&f#H^A )\! ϋ]1; `{ + eXkF#^CIl8Cw53Potz};;CKza2[jo]Jp6ʅ,>RY?T^OH XUL k/18LP. ίj 2P8&r;:PLEowKY\Jow @F;KQA^ǕR(_깄E]Ȭ,# 򑥍 X0Al(q_:E;cqR4Hu2jj se9s]sVH[dS4w:FPAȗ?c0lנq&%ҫd^Jٸ *ú7xu֟-k~2ݕA1q l0WT=pRGVN6,>Ajd3`;k$e3@x)?=ia)f%BbgQ$yl4>hqMiL>D6OxLC)ȡ`u^[{@d=ig9"SdV%)X!AHNtje<¾diCU5ҹCAIutJQ3Q=V+A͝ ę%`1$ceߡ]^Txn'Dlin;'r$6ˤ#nio.Q 4-|>ƬȻ\oinPRR -Ж+8b ѽ3bȈ#V˺0:)^N]Jﮂ;j+0#%h4 C&\*EC{k \-Kv¿&P=fsNi`Q &m'͹ݝZBS[xO V20ܕ=~B<:$W]kYDuhv`K06 .#b=m#JK IwTogڄx"S+p$(^6isҸGFK jo$U\Gef[-ޅ3]{`Y{6_oʱ9(O {P RdrF~x ]jjCﺷCVk<E=H?VpJ?.Mʿt|ЀWJNK+mV.?=ǣal*DcEp/Űr Wܬ<͢a~mΝ[a4 5IsIe (wuH_DzqsoqKGҤNaA>N& H8w1eCg K֔F4FدB9R*Oc^f&@SbMe1s ^5 йNn;/n]%|(ǰSW^IB>>Toe`6!)&&- ^;6oKv,8,MœKU1NɰgP+r쐏l_j&/e)IIp5:Hx^#TR黗b|RD9dmrO鑴ED6r:T[ٿ-[Ko̻ q5t0gfF/(9O_j3cx4V&Ϫji\mMpwwLERLXhd 'C89.jIK-25$ |+|hJCAo,ݍW 6˖%`O{w B'foVuӂ4_U!wS[cMA-Hb/a[-|7~K:nx`@UÈ-֔eJԃn*HZ't$y)r#n_X]Y*h k@p ?_ȅFkMKc fw y[kM ϗRKY}]B, ( ! JֆJUګXv[ G:tQ.2a0Ka ) VFӹnÉ"B9V(& 363R$5©P[=rQyEP@UyDw&fso$aNb#DVY4{2P!f-֢'1[XBVղ piD~ xݞ967DUz`YjM֓&_;4 .I5Ple+]̻@tW!:U;GÂ!Vs}O/qZ851k4"4Sʚ*x?h|ʬ/:74rw{Jk{3[dd̨i8g8 "Ǻ*2_%j x^Q4q×>maaZq> VcZDq␊IL<'c+qle^Cnco`h:WŔpqsJt5Ԧk5!%vN6Z 1vʃ'owpT .B9T#4f SYxj V&#ʺO:ZLY*54ӥ;2&. Єl $ {apoPu .%h] 'B>*ME~B3 27P/ީvΕُ]%PQCo靝OzFY7Ծn |5j([-!NM&pEhP20b|Icog Wȍ̆In<տf'mqʐǍ`%o 践EVN܎#ٻE7G?* g:MHjj=sSg?hhEew띷]z-˘\ң?`nF'G8 Nۊ5V%Qw+X{-7,]l:C}>2E T.& ^ɐ()Oǒ:$::Ξm{,?8%>oAOv;ǔf`Bq֮Axq`\=X-@)bL|D*- aPfp_3Ϥwh}LtMm(aVݩA1/~WFM;/|[GerBR^:@pnάAijwOBRI_/=t6l1D[1TȎG|^wZ0AF2۷JJvP+ƥpl]`?aJ)EpIchLÒߏC\ 2}VG}@'T˘L?~|/=S5E7%S)E>@cOP&4|cjp-ɦaY*qHW5Z=;80V5W0t0#b@t; kv2qY52!}$mѴ{-Dvj~ݒ\DڔHݓ)J2sŪl(3TO}ضL~qeLY0]c?WEi/]FbvM+X7ς5ȩ?Z٥>T06R'K-u`C)4A393Fl]*',j%˩"` 6EϻEӏVP"݊n,YYMA'DŽ+pXm\[<4/DmKk6$";A'PC'(7&fl #j( eŢezqe1u2&Ǻ#Wc܊FF{!e%#IqAK°bԍe zKt410_y6HLɬ*uycb\%'}=IWưL䗎|8Xh$RBZz33؞M'B=Ϯ ~Y }m웃:طAr+*os&[ TI D'MIs_m)iBV H3f6<]_U%u VHm=oQ ;'/Wq{K@Bp`'_pA;Rߛ!P۵M҅t /t`&cPs$"A36sk-^$CIEyTIw4%$LvCR֥ Wa$ W1쬸t( 3Z[Ouڿb ?tifK]A0QmqqDi% xT@r[Gy3U!@;7im-߰ YEcC;Fغ_n-*9qۄ4Cݍ\/N0z6R}]PX☌Ko=C>. tr%Omy~26|3ױ晬a$xSZ7ۺg}Ծd=[9ɉ#G+>e}ͭ -PulUwU }(LO(EclŠ0$1{^1vJ=w-A+3ţM#hmY3Zm3apQ\n.3hmk%'"Q\hBk/6EK=WyCzF]1!4hܔ1{d ^Qg)$Lgdhj=⧦g8>8NV.Jq(ҹ?yy0kՙ:: Fm;Z-F7$)Y;%1!*DdGRgŇuc?rb{LAv4@IM .lcؤ0Z!cRp==!wֺnlUq .N? zɼ$vJ{ʪ }RNʶUqG3'|2K+t jܝz'{' XA#zbY^֞aqP 87d,%R]l&nR)jZٿjd>l>ZvV.>jZFB-E![̨!(t6<\OL=dm[!$oTct Bd}I:7=.!]=,% fP+?/3鲚psh0Mpk˓WwLqAsjit@W?>ũ @/J.έӢhԴ(qB8#⊳:S \ -mڗ@%tѼi\N`dt~j]#c3= 4mDϹ%:h=٘k/#L"3z^O[q7Ӧ]&0Ŀ^w ;spͺD$ASi"kޘS7 mHp;i:Zڟwm+$;f -G}][Ni(_oo1q ޚá*,FINxgWDXbe&5]a]`E BW2o]?3Uӟ[K# :5Gp!]C:kT"{Cb."ș9PHX-S=QX4MxڷK¬_lq2s;~Hf=,@-WvvW;lhq 9EBej MX9U= m%BԓS|@:ɭMГOCsAlK {[k1v!Q.x5D!tnГbjp9:8eZ5k0ʌFK #4S(+1!EГ$BKCh4gΐD M(]Ԯ\PYHoѕhuS#s%bJ}i5+rcFFQP.kK֚hWֶu:6‚,#Kķļ|x),mkW+)LLWFQgD|]"4_BGzVMW!X'RNdBbBj oB uоl oX~mlaP[+VS QHSx0Ys-eAU@+Dso_P~/ l8͐;fU#Lٮ/oD4?5#(OVlz^-c֞9mG-*ˆG꒙,!.G!f&U@AHoUJ~\o㢖ok-$i!kCw/ !$zkVpf_[7 09ЈSv윗#)cg7AswBy]7`4 Y nSX[խQN%D-WTEENx_!waP /.n{tO@Y #tq&%_hɭ +7۝]e(9{!'!7UvmN& :;9 ՆTsgͿQ7xՓBCgk,ܯo(ĨB h &t1~@J-n.qb6>Va^nEQ=-' ClVU\|A:;~^^hXjpsOk~{-*/IjKb_z'7vXLCu;IU g\);9yfz6,_+4p| ߁o K&^VhP`a8O8ޙU&93c?a` :^+YؘW%೐ 4BDK]x(nj_}3|7*^|&MQn(P@akC :;mrp(bD9]! Y% ڛ%NG!!-_7pH-]:4'{ҿ H&s]dH9͟. 6נћ/:y"`yL^Pt8twJ#x&I&=6_HT;8N6h+ּOS6 Z$P8)O1Z6T0pӁEgflzn4yR͊ض 5dHq2M"(59MnShA@li#Q"Heh"jCOpڌhK)jq2=61pS3e݇l-yzc5GKSu6N[Bg& ֮oWƳ/[i1G/Ιݮ&V8JtHOS6%} v.'e3dt caaI&`>-QB5 mmESD@4<ܱB $'Z/5ǔ. Y>QPϼ50pz1fi*ZiЦ 64n-&>7\< Ǣk}m5iD~ ՖrOԧ(φ8mV}n %at8UMʟWC)iWL/b>Y8k@%532(@Tmi/@B8Ӕ0 p^b'͐, 9u@9G#u?,gzo7 pe &,sAv !!SbzΉrŢk ?yu<%k< ձL9!"!Sbfv-7(wdS1bKKV쉃w4sG.L!Ae@gVRGHa9j8Qvi4qGqTū~aŬF,{0yCF&vT7(7u>gJ>vcuhfۑpq·qEE< `fߓM%ј493L@%ri )Ǚ~

` F^SȂL課?~u}-H7,>E|Yz!vI68SȝADS4^]TYvD iB9grcp="ZLjw0)bXzvLn#?kkY#yVefI1Cl̞߾O$N_!֎6v@W )\T?VK-iio\6*4')ukIoZG >n9QpFdAF %{g`a$@<̣F"bE&!q76$ٙck" l4ebyБf!zTuYF7aI G:YKJ̿Pٚ1^ AJ1;`_+M%PxtHĚc @桋6,{_v < 6(tW ICk~jzւ4(ˆ2$ҧo.fӈ'Z emo[J!ǏnTd{07UFܚ4vN;Bd ƽN\λŦo HDܗӴ%@d^'hٰͥJv ݧ)t*x7f ?%tcC!˗|Z&*|.3,I16o<-<.`8o[3m|Rgäɖ_!szж^#8k7E+#[4ҪOD澷fUJKs"cB)d/;[wn=ؾŹ }ҧ.:%(0sk[إgof( ?qx`y!9hwx- ;M>9(e$ fEHQӅ#."Qr$Xiʀ:'Z'i1mgWt_\cg+MI2#Hpq#vgkz~< mҀ9[W6PuG5ʔDk-c6}p;w]rE7qT!:< GP-k ]/PE kqEnQ,>!gmA&$bn*> m Rk&ŵ`nuNin<-;W>0a_,g;*+~F[],3d λ\i*c,sBk$5)+dJB_"/d<\#J "5Qݙq1]rmEQȏfP-מ&c] .5`](΋4\akgmEơ򳌝"~ cBKcV?ħE jjn"5"+?,X%;d(㓽M$Uz%a m}Uf;Kc[?pD+NI},IW/AWwJO6o թx-hЪx" CϲB'|#,E%%,ֿ^ڨ }͚ZU!X$D藾=V'c?(o|<D˅c0NEHrIW ŭ6El<%kEMI1͕]3i i qIJۡ).v؉b49qUPzL)BD+8}n}Dլj:mO,IbfG_V/GE4 mRH]&~KZiq~7,Y>eBJ q" RV.&i4F4Be]sVY w eTޥ~{,k̎ X8[uumQ,*:/ 0e8"r`KelgwM āY*UPL:&GB 7p_U0H(d wWUJ,Nx#ݗ2(Vcwfhe IxªHޡLLhO< >fpZĂ!⒙5ꢢ:A^1^֞Bw\q/˥?'@zaH;ҁpϻ'U=%YStϹLE !c:|Y[]Ⱔrf*#-D[&k08FJ(WıKIa25ZCLt>-V`c$A9j-u܍7>0m tҫH XQС1"nQ#1Jgp^kY^4@~ Fӕ73(WꖇL=oZ \H붆>H7(%8%.C}tH6zl:K 3:HH_)qFu(95A7%չG`;c47I ;rhD E\bEhϨIo‚}>}Y䱈g!+#|oWb'y>C".x¡*Rph%OLY!f<*}xMd[p?}cUzz!S6}E^c;A(aP Z~ndQ\SٮLr u0Wu~`jLZ2}UFp' 3@] BAŠz33FlfO`32Tt_VOїX<2ǻyC0bp]XNLv[G_Ԡ GO|FQ0袇jVaz)Bⵓ SiD@rqb LߨNpe= ¨R2\圤/d︍[qB6oaJq^ U{dwڌqG9\7)G'LB%p/уx!,=Q,Հgbޙοl{I+~ prm}hCwylרN@UǹVҩ tY9 k{}Z/d?1,.  /,U0օc~lGgZܱ>cmdFzTą}~Iȹ;3Y/<Yj|w&!=m9;NliL_61R:NW8 O |a4 _+w厺qMPD0*h2F̤1g$=e Sm (<fopP-[} 0mΜvP`s'x1.n8&V"B+h$̎ZZciM.U&z sІ=}9AuFEчcueQGH|xЍ'` rI} LkjA/BhW/2ԗÙ5]s0ǭufM%ҽ!K$t K!x3A׋yQEשּׂ~WmU_ߒqvCq+ /*`ʈbN]1;JEef.nSUWcC!]"z~W1<([hӀcp* `KBYzXqܲ۸rF#ѹ{aP}_rᮖ־RQ;PprA}Du6^'nl?-єGz ``j (L'$#11 4.^3U{Fhz ۜ7V9n;vss@D65ٽom`U.YIdl92.B "leEۉb8-jTu 7)ԚoIU JA"}yq븱!J"p04Q߬o\"ycSj &/Wi +/;F }iݸmҎ8M #Њ#^ 5Drk9 ^3~8L~ۥKM17$s lC] 0-)Gy(na졾"띡2"hܙ[/ f !0B_BIԣif<,<'}b vg:fڝo'JeuU7j8f#h;cGIt}kPiHju;*o1ng Zo"_vMK3>0,ѕtOh'P<RE 2Bx X`)2ٚw:P\5ٲҷ_y=4Y?hR\!Tׯf2~ȍcДWrCp=*FS8C"Dey-Hi|tBDioqeְ3I䍤D^A}@1rǺiqwnu~7TKĕxswƬyDdR bxѓok*TG?(BgSȜ^@E{ g B Ŧ8 suH{A#?_8'9X m<"xN=я`,@s/` Dϕs+]lYY}PSOS6hl9^{bT~9RH?j-MP$]QIj׻bvzfHSSrt6v F~M[LL!0oą?x^Å2tD`+?}6Ζv4V`O,~x-I!QCɲwLHKK?f9$|TǗ!iιť_du/D2D)SyȾRI|G/}ѷF"brE"- ܨZH(e$NZx)]/w\~Clj^냑slX'nvJJ\x|o=눺FJ0>B @7:f|0o'jI?mJ*@ ,pg ^Vq2F@~b8ƋTx 3y69M"oY瞱&[ c:^@ATљ%gll 10 L35C fujDAc]ad^/2bBcT=.CD&FX0}eQ4C@oZ9r&.{zZw)Iʴ׀>'+yXf 0+A&0պ %ñ49uGJ‡&'$+Ҋ=Ve"|۞f#TkE߹UOfKe9јOҭ몁5VZT$[` ݅Ք!W KLٛҽk| oZ6 "zTnb㥪ťPcu 6z/\YH]iY bq4թ*u"ޙ= 7N&|ˁ֙9 m>(!$Y9Y>P{P-WÀi3AM)wXL rTa 0O0҂o)Ԏ\)*Fj+F`.rR3-rsfn>W;ѕzfC=Pk }D&BOD4_hTAלWڟX~ rT ~lVjHQ1' aT.9$mH %]IlEWpmSB(R.ff/kB111 @+pV"s_(|C-XI)aF2\ɍ'**7@0 ]S¥~ ¿'Z"WǠ"\0 6@d =/Se<x~'` i5p7|8#4PSIl,)?۳P~4EZ.`{QjN: j~j~,\OE7[tEЎOP $ %i3Ha*NNO4HdvLM@5S#Ь95dXb bh'\٬*0~|vX *y f3rߤљ&PS~ɤؘjg܆*4 eLbB9S ؛L6,5ZJBѮ~ZC<cMx7L{l`"$ pzpЭ_GKj%.`ET"nQBG(éךN>[w+D(M[e, E%]`)ӿҟ-``kTƟN N87וP))6[~%yilS#4{lglʻ8G?'{DQR)0tk`tUŮ-U%I}0q C,5xB٭ꯩ[o?+s%f)y gܝ M4zľ>- rR$]+ b='lٿ+:%>q6C5Q}=?ɱ9B,)xe꿥 NP?ܶi8-$f5w%PRϱK+l8kyG"23y"=q2Ɯ?JeR$&i U?L2*vZS5h^(p)be}1 2@[,SdhrHC@Y@4>MFWّGyU/n;<{_k &m.FY N K _NA=C8z 0!|@ԣCxvC $}a~:Q~\҆v3_jtWGXGUug.^G_VAw[H^*iV֌ msWPB$ncUj#bvo$&5uzL]*ӕB>ϴ  UL/^kVRڐK_U7|#W39-TySB TqɌAI9xA4/!@P5}"m7IDڥeT?rh9ʻƑJ\3cf\~`X55L i3$4L}SX E#\ ҢTzC>}(-*Tp'\p2 @\Ktt=B{QkMh]݉`d~wmm\ȏB٤2^G=RU`=iې cD< ?o另,qB6qn,7y1.4)\mtV')) mAdqx5~aL^9c#[+SҒJKi/P֙/κYc  =Xq.W5E, pAn+,UH$np±'$p.ZţP^& WEfCA:oQ6v鵻^~!ܗ(:rY&DD-%|!GX㫪N!E?w1 0>ÂwWep*>6s& QCTCNi$?$"!mia=~Ϻ( q'uTЈ|$z-{1_=vAå]4f%Ynր/%y;Iꊍ}5fN6~,%e@D$y/M3ym{"KO -w{F~EEnue׻E1մVU:֧¨eU(S$Q2Yi$kdQS7sm)5Q"咦g  ѫaU :< ED$#7@jtҗkJl\~|^7>._F4KE>HbP"I#$0l/|s7HӍãE!cט-[0-; `TzQ.4HS;nD2Vטּ7o|!q5* n6+5w`JAXzQ o"5sڜ Ϩ.hZnmkbe"Tԍ}iG_7E-[`;ˤ$˻9w_V#T]_K6>ͱNF!"/>r!p̊qXU|G@peDU[^!M\o]OC_2zEbh6RC15A~$']KrսUb?3bc؃"gJb eu|4 TR4}a1.6"уa^/5:aKcz飐̩6tY{)ݧz8\]H:EWTҜ|1bOZIHofY&oV挙ޡ*$UX0xl\їP>UIX*_6N'f͝r۷rN.ã-<_׈iIxKjdtXLv?\a|&vlp"AO/JU n{W5^W$~@T5TYla@ėm;'Ryw\.Žh'\P^\=UBn{kc=Ï5 `V,3()Ꝭ/h`k,Xk#}{wZ]Gؐez)Dhtk+L wH3k|iz`B%L </s63}h#?#'E+QZWZS+n׶Ҧ!D>7w=UPʷk{!2v/60^vw]. nw?1eC~^4$1|g~S/IJ+L9ϳqUC`Z:5b#kߩ ^J7⟓H]$1u"9f^'קSG/8M{DUDq |mjMuvgOAyd_]T3XM+Ox46@nSNsnDOPbRsi"VJ }J=%xʾgܷ, NkR-):/\$Eig ##2s \gv9.u1$qoHzJhc h́)&hΠ97|8C 3+F<|R:(ngU]IE(PcGhyoaq[ W^W0y˼/9I@8RכnfL0 [/zҪp:pVjv7\WS/K9mJjZkH)ܫX}rp<SQå5On? " t83mjV]al(UJgjQ։"WH'0(h(G˖2q^#OQ _%l=6J&p\< Ú&Rb 4 #fCp xrx3HV  Ty?ɫeU:6X/8E2䋤Q^ZF!:tKGK#`1ȤOA#vLR n3ǂe=q ±g 4Ho8wOÚ,M UiI9um5o*|3cSfhp-z" 5) E0z"sPT'!;F"SX 60-XC]'F 6_@oTd.ӶmoW a^7BɅF_š5Wup'J=C r86=.)Bѥŕz\t|-@ x;6{҂Mc~wyֿ r!bofIkҗ6  YoSr 4RA^́AG! #ꑄx3s12tL֠C74(j{qX‚w؏>,͕>%d3{0Z'V,Hl 5N4jxLGGʥOx ǝQ;3dA~ӌy }?C!lAf"g!`u~7 }c͂ -i-xulJ F"e67"G8zȞ/֠;L(t( K+H>#\L=^kv/dNpo<+rM[x߅TU Q}mhUGqq`>iV94Ёo|l Zga`c#΋B#Cllگ3Q2+A jJRc!hsd{ġB5.5@PtIzf${1`^E/tQ(.~dab&7=]ת[}zF2A Sߖ=էkeYpcG~]6+ބ#npK`+[FU }|O}":V1g.Uo#vt߾(Zqh,}eRT SJIfsi eXX]6c9TS^UԜ98F!>{K*k] amnWOlL}7?djf ʦC2I]:#[ b&叅g HÉ5V P}*V*ӱ+H[.V^`)[hҦY{J\xtQ3rG Gvi΂ȸZslWƵojYئZb@=jތkiuHA78jL]A{6] (WKP,~3QjX.0B孯O-eVi޼~E)<PTrl:Ѥ95BѓK7)9ݣX]Ad, 2DS)Gfpe195" Th&+2I/[< ĺWߎoZ7dTļ4K,J3r Z?"V(6U%y3 +RJ"|Dz Gc Hbqxњ{>9j(ɟG.uFzP,@;wrުFʛ:Pǂ=!7zQ`mH<0fWEeW+jyQbm]v8ٍJ:vB!rH%9uzJ^f,ve"۰nYDݯ?z;ޑ KH39,|?&[` :ùĔTtm@([df1= \"&K/kf)XBNikoa{4Yda:++Z7x*HSE'ᚹ |QD.f NP_ 0gqFSS5+Wf|6Ro}x8=@q{VM@߇$W4-S̡W"Vⶩ㥅Lt&C\EL$U3@y0˷-i,npWT:N/&kA.s@xf!X00MlCu+7#䮄b2=51]w(WxՅe WXQD)_ @zG u+阧ov,Q!>R$ɂz($K)=4hU@1O)#tRl*j. egI umDR;x4]=!Zc+ !2)(-vƔd˳9ԗC[sg, y\'Kur87Q#5!Ydμ5]}|SsS&nK127z w? Mό -\ػXXwՁ=lڊҀn 9dGԴ1YH\ G)m71j܌EJ\H+G &H#g 7|D M<$֙bBo5xnڸUGl/J̗7W8Cj&;ૌ$YTs_OIt/|(`PI^ $8#k9NgIn--.gK5sKl@֧.]ޝ!gP_♋r0:qS;@רpr?V\c_ck]p<-1Ay],*fW=,A] &;01δݣQ9 ^.N*73ӷ ـWqHRBprOy2- wd.?T(`'Ԣ&q2n J֋pv1XiḬEDSLb:I"),k7YiW*.H&R.ʫĮ2VN$$a>.efvTѦkJ gdp Wɡ_#xL8, æY=_m|(;ga `GQSjπ)mgP *>+9sP.1ͮ~τdߩX+& ^0)Z$bMz ۶3i:JOYo$u*u*4bq0Ty>˅ٜ>: q%eԤl[H,Mh!xLPt)y]~ ϱ9{J=@ʩ![N x_}&FZPEȃ|K,vPU&WF3wU@@jሂl˓"`̵Cp>b=U4QJS]R"]oXU+uϛ%Ʌ i{X[ITEtF˞y\yVI=dO6MKٓUx}M@ڜ;j5s[/6oKa_#iW=}x?1=qE @7vТ@H=26MҧonRjIxO8yP;\U !3ƄZH0a>MjRWEMRVi/qNg?n~`ݽua_w򋡪f?Er2{k5F!FZ+cPNQ&;uΠ/V"#ND:!MـPfk7<1P'ל<p> sA<קZ,3/0J`3s jT(,bfy3#!6k8g\XNyumOv(>Տ *C ږc~ֽՖ0U<'hͼ #_9Jp#.<ͪDDjz$9N ^JɤO^XȺ]n'1Y~cFsԎ7>p.##]- azQE^@{1X l FxKM/goP9Ҷ5C|af*p|k$ܬ,-RoV;O!E*x$vU&3oz -z?VVA-рtu]xYL;a2%1+wХzFΫ # IZ^xm6P-oAlmExd电yMLqiᬋJoM8# 2-` G\S&?~ɕfoC\ݞ'<m P+t &0YJ@JH J)C |;*j+аV3j ɛ``1b"ta| (W)Ib.{ 6 .(qcؔ7rMi**F놙Vo)Oߒאz&3 k"O7jZ!K3 txMz Vl`V Ÿ7(Lilߩ׭/,}&d:n*I՟wyz_eR tf{V.#Ʉ٩4TinSuiZmRc|q2\G~W:ziPMCX L"neE<98`$,%Wu sW;=bcd` km.={rM((Y 1v)Q gE%QPVӘᷛ~I$sLj2cG|w(?BprsԳdĵBv=Dt΋u H1/5dzT*a|>=Ek- א?~ڴ#iK4kEgBK_nj :g-jPk2f\P tp4Tv }Hw&Z*b_WLǬb4 ݉j8~8k .I!|Be8zЉ'x dɤ{d_ 7`vm]{Aƚ0j\WŌiYg]*µ?FQMv( &ɔRb4r2FZ YSR7 ($UVj V{MD#G #Zd ^LDIq uP4GɏtUMOsOfe`{?݊/ǽ w^5a@m($ HyD ל!0w:= Ю`{$6.">OֳiU9Ώ̮8 EfHğ ɮ f/$L  y>pW%jΟǂhVQo_~$ŮwrQǔ ذPI;7! v \(OqRE9'A 1* eEj.~Iq;1bK^An _..tZe/" P$Ęe oRQFAe$2GdN{sԿþ\7Ҷf\,cꥣa_BS~닚p6;Nɤ6';!!V1óOd"Z(#t'P=] "xZ~FGpY+[»j|4B ! w9osT^e'#A4$u˼5OqϱyYEaDF[KZVXlJX+p"ae2G$'|>-M;u|wQ!xь+KJ"x/^w !S^w`GM9oγGMڞxfM xM.?Rȹew ԭkyʢ̜Jz[m5JƘ F}DHXZrqM1!na1h6sI |vV5!tsg]P6YmӠ)R$Z53eQKG8| k"1@GE%@ :hgd8?l;,`o}YvtwrX8^x=*#XՃcB 5iFlUlsI_:F,G8/n͢(-7.Ivfo!]eeŋ,79$  ?L$X@uZO"e1~ A wq ǎBu_h,drJF֢z4;*շѱwiXUiJ5va^F<\p97,9"f#$DlLOFUl,^E L?:RSﶆ].iRj\Z+j\WGO4;!1qEq!eס<|Bȁlndr.(J.ΰ'7O.F]y{7ifqd6IaF&1!LT_X~{ Qx1\uI7wɕݰB}jIAZEcV~W,(^"}My;lu/eeiD' `x*E14$"HP~ș|m;wflrF5oݯ`VbD9j޶ꮊ0^)#_$qqhKBf`ؒiȻ4OߣS%08ԑYuCy#,%OB/Ӣrxs 5xft!3TUy#$zY;+U{#,mɮiG#hY caڷn)rAP8l8B]l]LB QώBE!Pl^Nq1Hr򲔯L8hb3{U &'RAg`I[8NfF¡\Rg'yy:I8/+)k.@Iw+*5}. b:: HzoQ#\v9KVƧ8$׈n%^H?%( t׿+!{Jl.ceJE(Qd҂ATmkV*9EUqRza}Q$ O0Z1W !ﰃRŧNqMoM -Ո$lkFᯕHX)يm b{ZߥZ1Q[ۏ?H_ >Ծ/@C!Pxx!<Ҳk-c<>+ ᴽgBj ^_Yb]+pxgoms _༻WN\7oVTe"Xd5qkX*t &[&W]q8 r/L1UuȳC;}r%fǤqx6z| i[c'H;V.P̚6\L/+JfY| e7\iޠ4gq)Ü>eYY;^ARUKxk%L@,nd !nBRul^|_'ĂcFyPM. ?+*VuNˎhK CB6nSݬe+1]e].y,Wބт!hRz>" _25]yE4S+YDxa6µ?0x(eE#LT6;%}̪ɿ ~ 4m% EXff`Orm'zv~~N? rczSz'CB *+^윩XB10L3R7v~`)MJ> v#7q~ KҪ"̢R2v1JP0I uPvõxy{ܾLZggaf^JI1z>k B`$7=E9,˖/i'߂,A8I*wO(>dsg׾} B I ?m>L8c!8PV_LЎ t.Œr²գ/Jo0T^KDy d 3Qߠ&Xxl͍LXuviFaYEX6K kϑm!jFEY9vpƜ/SםV6p?DWx^ x^ٞ:tή.^Q&V/oMbHqϪIK|oEg X×BԭJ_6#!tZMPs#̋}k)eW;oDl ff3b nq-'el`bloɩEUTkc>Eu&*0cxD \$式Z@Ʀo7cdTqtز(h*N|ٸ/мH騗ã {0wnÞ`X|ռ|?7f2,FdF,ɟPEoi1J`` % D81aD:ݦ:Sp%mϽ mg|)ϫ솁wXz.PУGwܢMTeG>怚D&\Υ9*1*k!ш@+s F]¼i?y#AΥZ3:_zNB;]?aƝJlO&5 ѵAn3l~)4L[eLr+(!QQQRmﻦ; ɗ&[z!Uꈁ(Lhկ0THS u!<&!7'Xw]v/ sd`9Ðz[Ķ8鋦v4qF3fQJ\pxF@p Dk<^axnha\O`g_W;'x9] zV,c/VI$~i nضYo[NVtE*?Up{.\u腇l8/ $L* z6쳁jQ2ȔV!g9轄K#b&Z$$To卷L!i{4iV+tK?f<*8 H\m[2xu}6 XǑr||/qO8cjVQ>x1C:]}/4^s)S1h1B }1k)'oa&%LFujJ,WՍJ_.z(` 8o~P8_:1aS~$Twb@5k ØŞ펋`cm.iMT _m AqM7&pFihy]?5-vnW]Uu܂a F[b3Ǖȭ_ ١ PӦytTm EA1#6'݅:/],RZ\Bj4Xi#_`НHLjJ&[sC86,bWMHGU90-bnGF<g:m(^iNG pnv!𢹒֨l_>+݉\|6rLA.Ulg.;35 ".0)t8%#0KF/m_Z-*NM\dMĎeeqk%,usCXQ3~\aHT2kP`qI ޡ=4RO06%(qlɥsAuU*RާT$pv+QYNOC낛=ST7"Zg]𛋩)]M0 лݯWth~5jb@RHi hY&Vu[倾<-yŦ@(2Y7/\%A7A }"GAxZ[]|qWݝ-%t'OXL&E⢯E`Z>$JW.ISzdr 0na&X3No.M@oׁauXѵpG4{2UyKO_?xmZfIR2xҨ!e'Z:j=-fPsmY&Lw+ lxNQ p7-CW[z\ 4N_4%I߲pB 'Š]t(X^;~P+u~,Dusu=G?li7VK8٫*bLgkY?&AT0)_7lC%+H"~"=1HxLHάGF a6wP|&ca1'`b,e B3N4C`\Ѯ1@,y%gܦ ̈́mjϢ|t蹂DW8רPR6Zy+U] :L^# wج.^p$|j8m<8;}pzNs'b;܇7m@>ymIl{@Y<[&H Ć};"g 1iN6nH'oVr`JUKg3)S݅|pg]ZSkZG S`(ƈø32d`G̲Pכ#DœbcЋ %N1Xz,~mhA -aE`sf'RjVR7`3_ a\MpF83Xʏ#2* &Ӆ'd7MU p%YAҀfr)Ŭyd,in] o~s8!x닕[p#[_Àc54C_EXo#KxqS,h/2NYfjBi˽ WBQ|h" TaK S)<@\d/T9J( b$m+Rެ46TpŮr2ԋI}UPb 2ٺTkd D)^/4NIipIqMɚXH:$,!gXfJ v2_Q-$/V5ݨ=}ybާx1ć-p觹'ИJn:"!(uйftVcLP'*͛psd ۈ+Xv#<v=W4'9;x(є5'[_V,8nNMST FjCĿT]v ВBcQ>_P`Y'T:S SIE#^iZCQ簁VK%U|Rr[V,G49Wv\ qj\%$Š%kYiifAuXV]b0fəAY h3[Dq`1dk*ܭSi1ZQ N#`2XW {atp/VZB(k:snNQvQ>Y.$;a vVpO]>)IΗ҅+{n0GGT\C}#iUPi&K! RtI,C]qbfH,\M%[+lwpC1!ȩ"QMt&˪&aE#puejo@Cly-S>| |t9Xb%i9Ă 讘]"?bEϞGzʹfX֤ OC>ьzkw{;{J֚3ӫR9w=v5u"k r@UA /uظ$ɰKg|v8X:DGqh oxX24퐈 qzF G2 ߈L0/*ƹ{3F4Ȱ9ad='P9=)'zz$c&,z Dseϋ|tmE,-|щ ()͢ jN:I'-Ez ffn & \?-6~7&?P3z 8̿7N#+Zy z(rs?﬋]i`W?ת`C~^0bN(Ph&;`P ֶ##( K 4CD)TNHhz@cQO>i ˵-E2Փ^A[BpSBν6lQt;o7@/)6GҐtEÊl$6rB` gu,gtx-SnPOo[B0IN ,(2muA/*PBG/ 2+nL2pf<kySU724jFT9{Z/[]r i]'31^OEaOtopF(+7+uWK2+S=Fkt\.kc# &D/Q}緹m."qjfVd<#uFmu,/7Yg[/YUb3`XE"_ThhWa=+ >2,5$.*H,gBMy*fE 3_ & +.oO;{dzmSdRLVГLLF3vtNs gq!zN nXUgKMߏO4ѷ d8q:T lkGtxPw>?5? ( 6o(`>ofo{26?]hHJDahcq^4 X=c²ܵ́ e@vW誃J) rlA6 EqAڲ'jCtSX0ڳGNqVxV 0B»=? ĬMDxh6Ņ5Ҽ]6 o . UXg@NfbxqI[ ]@Yr23x-!w¼1\\GH ۡK,wbi=-ghF=eʄUEQԭ(LIZMr{U#ʾ5 C|Sާ\Kb-nsjR&84 k_joA SE \[WPZ$`P-!&!~oo4a',rkt|o/|Xy,&^>E&. Ly=h6%&5v(S%cչTD>16z-i疿!Þ~Uosf*J`DYDo.,dg6$G) {M טbYl4R*^h0顃@I/qtBēI. \.gכ00$'A~67t.ocuvI%'d-&OY761h704{&U![mggOAEj5V`z|e\ǘyw!sg:ҍANU =[ӬAI&E_y>p o `xthH:6Cm  M.:l5['6 B8=y);$tټbl'gXEr GTgn@XmфwH̪vBc?L7N"X&C]9/oދ~'E}1*#G |,I6'`*G Fe*MVX( ]n%ĤS8Cs]6 'stPkCYiHYQ o( zP"ח#ZΏd>bR"C1,iZ CB.Ī{[Vx:_"ehnca%W`D9_Q"=[ZX ű1vtЋjJ&g:#r3#7(] hvxDp6lKFja) G< q=>N啒[KiI~`NF:wW.I2[bk7e+|kXXNa :2JH,1{;njjĭ*Dߐكdu1z(/&6I33>V%U:~+wG 3;!.L,XtfYm֦aP!D/GmjL8Y10 aBꙦ$ J* $U_`oѼwԙG/r [WPx#]JN.@ͷ³h]r%_\Gw.SIeX0n٩m ˁ'+yhh{'aWq Jo, h7]K/Jzi\İ?mP/pJaaw]-HIHV[\y~5cCK2p.Y~.w Ff٢hH<$z ygAK|6j; ~URl(*6Qs oj1!V qe4Woe8 ñ5}n,X]kNh m#C,lKƥȡ,*2s\|r;nϘlUBZ5DmchىD~ jHC׹ l@U%璘TlYެBjaus׋xb PD~ůPqxP&t]x'RI^38+0SXS+4< 1:>7M d|0As=fA^OGAy\˹}+?GΨ6Tz1[5 TIeeJѓ–bPcEr-2@Ab8Ot^H\vDGD!J'qx  [w*ie\9QYЃSqpg`:KQA*pԪCC3{ "،6o?_W6/yտ)Df] {$KW#~G dP Ԋb_Z]p5:jO9Лj껣GcjPf# š|Lֆz6̉p[NbWL _)=҄A-Q1dS~+Ek+_VLNjUNV3$ k9con:TXJA@l ڢuK0M (h9ۋʽQ߲:{ɳp ^ֹܒn^ZY 0U듫p!=p?C&P,{DվVVע>{_OX#H qA8x 8 wUq i }OtyI S CVE >$n xBqL!og 3Vp~S>8gə9PJa]TPg_6s FZ](*5_|sIT74ID~7eiO"F$"GLΡ{ыؘ{NS`(z2|ا8m&&NfYo\&(b PTSh{W!n3]SstzRk /8S2PMo}j;W8[AaYhmQ!X'qꛪ#5/t2/s}E! l=stY$=s,3}Q Co~IaMtVo\qwL"LwM |!*s_񈺏gxZ[q7ÄH*xTeK|,xbtk3"4\4L7rn#ֶfl#瑹R1zvH`Zf]N&'Q fڧce>= W-v90'g bQP-Ě*! ^Xʠ(m_ &:Yr3SSٲO7Q6)ksxpG]5/cBܐVOދPUu7V d"3+0)^Ix{N|7m=imZNZR$1=_aV1t`h~?VaÅ"M$0G:Yy**cD7&9!}GU*zrz1uJ}~%&;TR1f+jYQ||wS=IFr}n!S%?YVLO̞ 0t/%-!+ Ŋh*Ŗ8sܤK{kD;*IhqHzG<>^wAn\j )(RdllQGaek6ءY@Zt͠^=",P $t fiS>؀IhZFf?qL{gkL@9&s#w,;^ QjRϟp͵ ͰY{WϗK| JdyA^sz:[Yωuy7JslS03>#M.\m:Me2j]ZŠ #*ԐN~ufә-㹵y?4aDٲx7f܁ixӏ>f;j'k(<^*wsG{ p|+ueZH}c! jhC1uw|WIy{Nt(_-uڢdm ֑;X6Od@ݿoN3qZHr;||k]Sgt!Ҵ@!XebDpė:KjiMHsh;9 =jm@f\F+*bk DSאQ໐ ۤ P ~S Qbd_ ?HvU&KSEӁM@IlG3<^`e{XrqT$:JktڦFMZ,Q:ԯ>^7 ߫&518)'P'}J>SԹS%a%֢+Ml+Vy`ܩ4KV|LlS% K*w`#ݨ/>S(%&挱2OmW b*]zzJɇ i?䌵Bw0Y3{0●xyz{&0Tyv_\q4_]uFM ߪڪǠA(^F)NW7 +a򠈪:EiOi2(mbn-XN1G9?Ad@PZIƽڔ%``oo]?BV ޅ"7 ) ) ANyMf/riɼ K³^cDZ׶f'a|DFw|ܘAUꈦ]&1SabZHM2=ԡS&";7J7+MMԏ| YLcZc#l Gq닓m])dԽ iwL:n,EiIcL/EiF\*k?chX6r C 3H̡e j: Бϴӣ+fi&`2F=u\BڛXZAg!C,l|ub6~|0UǗ[B+T$,6p+]7ǔ޹5QTa'G`3dMqk;jފLc}}[V9 gۃ拷eE= ST0]l]?jkD"+ 2lY VxXv*|19}Q3I'w|eL5+PG9?&xD6w#_B5:ܔti=棴YP>W(AhAzZ-:mH6ɘbB-gIj K٩GKn'=m1>`H T'<1vI%ad yWD{*S3Ư}N%V#l;\NSijo܅ځ{UdziK̤ ȄSMB bvzbPVeY:`^dLF'\Bfe Ɯ%{uh,F`ʪ\`[Sx۔ .lQ,V$Y̵٘1떝8n*-eXL>`{=>%FbUc8 v,;͍=?Y0G2`E58m[~>M_8| 5P;ƹ{".|V&mNKDi/8TeS/]I:SlRQ,_wa=ju2γ` "lHy F< hqO*s :Eb rB=]0SZg9: <&ijND[cզ4/[KcAbe^|A/1 H0Om=$H2tC_y aQ`Kd_j$f3>_fk~[pϑo-`:ci\^聾7f >>Iph4H~ba]Wcb\3ǾT ?vN:g'H~1!~geM0 w@cE4txwxyXh5U (º\bmFgiygalEQK$}46m"G\M'#.5&>y(XD'ͣ2MoʐT"Rt 7%3=~:<8xl`K[fn_)\䤂8,.; 1I M8X.U_GSqѾ)98^c܄|坚!R9u [!1%A)DW&*(yK0s$6DQ{X%mˁژݤ+va;T?Uc`<YCxҭsP)Hx&bj/?izZGOL9 F@ g"ܫfr"^6bVCɠuxZ4zu#*ѯHtzgΗ.iE>!>8'I'T{$[Gy ɯF͒tLza>nZ܅mm9ZVsw>p3ī9S0 +=ųM >&JL3-97Nr*m~oC<#zz+X (6-ڔHo~"_2.یkWA*!OBTQ :ʹݶUg,+ur>W|~+FM8k*Po(A ]FF-%ĵCN'yI/۷Vr$!c$^nYb.))`L(U&acg{hM+^ɴ9a+̃Xj|qT/"mV4#RCb<`? \ i rm%Ҙ )TMʹvx2حt m2?x~d-3!d,CS5eת™Xn7|gbK%+Nxg 5KE)+}}kQ5ɝ 쐇fH0ü^)Mŝ8A5<߃O 5=vt)4O$sE`HgP8 ,߁V%-uGt$҄8xO9"%؋BAa|8{ztDm׺^ R0izl Ȟ̇KXEvc>,b 0\2h7^\$1T~_~qzE蘝58M#N &hp6Alϫ 'KM(fy ATCՂ\U3b=~0? S?[WO6ox`ջ/5*v)snLBv}qr{#ho!Dtm%); r,FTEfQie<^AC1E5K k؁u*dP\>Dt,+kp$F-e!IٗImi[ QЫ,BrwꧤڝT18c *A/6q5 JR`/7㖉pGww8n@,Jgd` TtkVvs0# W=+h.ҬQIXTF#ZgXY'd@QZ8i#=%&v|fgyCe{_i]m%0չq4r|-9,dqHvZ)-vFh\኏wV:+ QKwxJKe-ʨʼnPTh:KC*rH35mR^cdcZmU]PE z t0cR2Sl<-/$ߨ^k q8?I-P8k#R#-:07bSݩn}"X7)Ľ "' `GI9r[-\>E$2ƕ=VH\FMKN!@G MPGZ'B?ovR+5!~c<aJo9 6gry` So[F7MoN3/3up$x@VdtSyyˋXɣ,WJ+'yՐд<ML*o.ܑ!Kt3 nDh?)&Ӑ8E/rQ~ț(vM dNn8Fa?@,%G7WEn>S;甴mL(x"ijEK|cE冉y(LF_û'Pc t  TPֲI!ތNGRL|=m"T(m~ U,*?W+(ay*|.Ɉ 'J7" b3S_;#DZO=sEnX @6:Ig#'l3aBDg du#Tpi(~sտ\W*xjꑔ Vx=&ܣm֮LFw6:k\^eVZ8Wy)]Ţ()ݲXx(l? 8^#m:y 8$:/|E%|߾V5)k:uxh&j@7~1[8&P=TT3B/2wcA[м; H}+f.c?3YSybUrb\sTMq-[¥[4<FG)a\OyP|'_ЊN] 2&QT`O23@MN*i;\H#G+/O$ZFE6)[i; #Ays'oVNcu)9KSXM;F O_Кߥ]qhɸ_\0 GQs1BezՠfԂtp 9"-"+_0pX0p61u t^pe/Xq+99̝=.w`X.?0$M o6l| ,MU\Jr@zR߻ǗT܉VC'DV1W׎i:eYЂRY&Af!*K-+gڹ(zHi2@A~SRj*q Ј&MM"4$4 f7K9Ϣ@(,f.1r7I 9a8( h@j=cL?BN21Oi1^%Mq 34#w1ua? r:߇/M鲴NH!m+J 0 pBQUvsV\S1'( !قM>k4!61 _$JcOR5}XAHn(,zd`rnL5CR4M;JN8]Odɹ+J E+*:OCl$lYܝ)cK4(ݽ2.A϶) 'e0SkkvܔNrG[,JDZYOd w}65Od9a3'Dt?"/9FtU6T{V,A ɂwE@ѳr; Mp|h@W爵-2̌3 D(>i #aGUs{=:vvڭRzjMYFS'ޙ.Y]bhl聨@ &LuSfQ+p~<{kdzD7)T4~,^?['γ({H3R`Zr 3D\Q+ORhV z cB[-(qGڂuѰb4eV*Ycu`w/dA"|| +A "^z˄{P2]4y: Z+a\qRx2dziybhBǂ[JSĻZs̿qǵ r#`B@zV4 솶ިMȅ7zRB !3Ŧ?&`XsȈVq d/1dh:/L|B?Bb}A9Ğc]\MČfN1>Pr*DŽAIf 34uunb AE80¢/B -cIjC]t 㷩7Z,mT~I刣{Y$3lT?DpHbE[+O8Ӏ΄5)? 'XU)X7p]J,ŮkV IH.iL>ʅTHI۹ ZD Izs( [.?f;Dն:uBܨ6v=eǷֶ;? ]&]ͽ1qSN{:h* RY1}Xn$P򷔌O%1ПLp2vI=nKO)Iֹ N0fv\oT0XG̹~F4[G7~ȴ`ԦX!uQ獇qּki+qWoHQO T39Uj.i"cQB9GHFm.נ_cRj4߉cWeT͉- SGT@., _bóM[1P䦁ПVO~/CE9d|=G:3D&Sp8 =a߀'HؽXfc`ͫ[ʅ3U-GC,*h CJ/0yLJSQ}wu.ݣRڇy&H)".J45 Q.l G2RͥJyZYk-Baٜ }*)@ XUXAYX^q>@N Ipw^p| #v<8 0Ȕs{,1`5a@].H|,/oE@[`wx"lDkK|^zp] A|-5}5fug5/]Qf;O"E T j)81khcoR %s)\ EQpTYŀX84:[4b:Tqt[T2ENssk.TJJwb3{ZƺFеIicDM|"LTPL4sAݬ|`[KK@$|AIHMH.;f(L&0 6 }8 w+#(TzQsx?_^;hc>`wcNDp%iĖݦ Ѧ*ˊpGjt SfӊZѥ8]5IДK|D)rlǧeȡ/xЛ`\5er `Fy+Ӵ*zإn3M\%pת53u*+H{6΅VWU[H$LStI_+$#FTWؒ+h4ώjkU'; 2nMٴ̛3p#ă,=.EpW۠@BN*8+An_6=.i)k󮓒OR ALH]ER&SHHH9=z9 l&I@/† ` %P`eNGܵ_yc/4udUkrS/s|MYn&Tܜyzb#zAxmAqiH:`P$4Ζ9Ќ%V6 ݉x·~,U=;C\=Ai׿N8. G1V5/NR# }D42 r~&]0÷\?=3*믓ucVl"ybKX@WR`Pަ5O8Fx_ [ϲ)n? :z-YF-@s/*/ԈST@= oOr>Zdt2Z+‚TFڴb^;t#mRa(:өY=|/܋)҂= \*BYv/d颰$gLsVZ.Rr\)U_Z~XX.mXKp&YBr8pQ6aH&V9 л/:+Z-GۛlY@3*K袟15+s.+j\_o9EqmWRDĩ(rŠ)aZ./*/Jy# d8X4 1`̗R j͖ -~cL;ђ`ȲlL'u&)ðz:FmC~,x͎跰Ҳ97PK`G=8?EWЋW[Nj/ a(ٝ">3 Vc=j1R2;F"r|Y巳U-![=Syx >au_;%tjjN+1~h-Pe:a]+H|j]]H8$PQ=-Dɀ๥ݭٺ ch߿/QF,'9ĝmu#hoNTV%{d1ᇡDhIVT|BGҙxz B:5_ޤUaI恋TX[$9أehv @>Pa=\_i,)RzEY n_ _gN6;jM)/[%+sŞ3d)l^qmz`x*Sg͠WX1$͐xЕP?b~6SK/i(ބ=Ka؞=%C wt=/H}&耖*ESVVGq7"&M:d"ԩ8M1o2lBrdžL+!cpxg!L`PU btӨȍ>vg٨B_ɬ&7'֕'O5}C#ٗ(4͗ 6"H~톳!_^Txsj;A#g$ȹ2 %S҄ÔoM8[,{'w|X3|hA=`>yiD}AƕY]S3 ;S! }`P. lQ[wt5j"7@L fOt[1[BUGzN)7(u y| x={qţ/Pfi uJ7Sp}&y]B*0u S|bp$?)V0JT<'5&$ TUɿ @bҭ/N%=ʷ3 t &G1cMmbH -\k߀4~p1h;`Î5AW;Ľ:g8l|g,pOyWh 9}ߴ_..MNգF'ħWDgKLlH!&Xu czT W:^^eI@ L ,b#2Y=ntkN+>3M}lHw~/ofcsrxrnydNfH{o)\߾0VtTDcyaibW]Ceݴ&r`9ّI m0 ^sq mGVx-U5@.E1@&2S\3d ixQj{Qԛ3o|F ZG̐܄ˊ ߤuߕn;3 (Nmbk13ɬU}MF7ӊsݞNՏ')?a:1{۔tN9Vظ"QK>*)3$¾ա}0J!׶WONѭ |o zycJܱ`)8ƧPf̻af8KC8\YY Sϟ!)w-+ǃ@~vA?f!%3FDD``WY'El@T> -)d8ϡf"S5X@NaV#qszm:UI{9KgWjYB%BlV!댺vVAY.InD&ԯl5--{ _ϟh W#)Jdb.9ʠN#(^q(2 W1?>ni@Z;th$Xxa;H7$`b]#ˌ#9swl?03J1u|*_>SE>@=6PT e aXIPOٚͳbKU.o,XX6YMm&a`H$@(qq; 1=1z]} it^[ -M1 9 `z弶nW6 \;Eሡ_#ٽc}ykwBZ`Hy(Z ԃD1F'f4N$,`M52ďlI{H#3ϱEK|\ȩx'\c 4g>5i8{NAcѝ<Â%]i#Ap$[¬0u?rPw$H,j|E@>\[I?lS @′Кt ֈ\X#lN2)ڞS2ˬ{Q96+4ŋg\i:2҅MF*#킵Ћpn.?L<]g?RWB-hPӕnHaxJY]qrRJ6-dsL`J {!dp(u,SH҈ɑE+`J7}$oJ|dzAtbv2[3Nc|?]vof71 GBgas P-AWUDste`}Bk zIˌ ߷I #zq:ln`g LO@rḲGsbd s,:.e;ooz+Oo7BFaI7 iU7Xt~QjMxQE'i> Zub_Ų}wr*˵<+p .Am3cx.dkx.R{f^v=rԃIsE" ⼴9aYyv_P/N}gҸ=tk} ߜJ٤Pd)=]֪x觉?Am!wG |kP@ȀٿrSq3ZgZ~jPI{I `Bg;#w[ F@S/;U 'յCHAˆk 6MůjOFž^I@j{9%"IȲ-A {t%Y=Be+>vHba:hcv]fJ?:ls`3Q:(-e9|>3([` %( Zw2͈%X"67Y *UvAٝ"p7qo<9?OJê|UF)c8_r_G\:s78U.-}n;f'D g.j;$PWoe6_C^Ȧ- p~TKI4P~r `4G6Fb؄)X_vD5 i#[rVuctTjb0"ۑv@D4/UN+o4_ok #K[m.~mۦ 6 ўӿfՇ `%4zwCvj߾Έ;[w~93"0.c1 jS}({0 J4rUxXʖ='f Ŧn{N&[ԸR# !4aYEc;?|Ṳ0ä ͪ'SDN83:;}] |'!z^=ͿF=!h B ſy$sjeNE0wO{ZK :DY#3R&[Um6,\O@޼پÁu7A 4byx{x[cOޱH.Kկ[|Q3H$vB9Nu,3dT %2yAeN~yP='ie AV`=3y VF/bTpTާMYR!cqUYt:i0rW΂\DWnˆLZn}jzbpD u{}"^eI!I1%~! U PwQ;߫T;z#DaM]E*`78fC6Q3SUIXa9Tp ȠjH/¼f[܉ ;< ` .LiFiL\$uS/tES ]-ѣpoiDls 38QkM0\ٿOsMZGFtC&j'%"lJS%j f:3ʨߙ=BSAx{P(y>Q-)A4_&o9v춡9$k5Ԃm m Ub+2`C$?c >%d[R g .q2cetBϾ."ٻ%5SѢyMWoa_;4"5c (CY ݱ!A\uHl$W5hBmo~ы'&h >ik@$uU: P<9Ȑ)xL_a !HbsD6T 7v}>"hoi鉎*`&p..{n5%g#И-Rᾼ@y8wWsLzR/TČ=̦i+1;sF)/='֘i*>츪j}J2T:w#oF˥!\dkYҬ>*/6jn!ջTP/n҈8K`Ӟ~oh4YH'4>=1jv+(Li:$ޘzRV]Q5V* ̞O*ѻL~wNvXB&Ņ"4J]a1ӖfTNFD]ˋh?j3^R Z@i}4!ghv]ĹʢgYKMp}5l$S|"7V"Z B]wn:Dzu/DJDyr;]_MZW{Wy& pkpW]3qCl݁]5̒VU1ԲS h~GI8b('n㮏ўhW8b" ׀$m9Ypf=Eʱ#9DU6m"±œ=9zJR{{G:Zx:նMCp/N#Ⱦ2l<~EJ9 \ Ot[wFj#kѻ~ 6%[uZ{2 KMҦRA-w-%FW| ^.)a'&*ݹ.gS" c|B[_ eR٘nbtɉ~|.u ,`ь@w)9ʟXXfҦ{g-@5?Oggwa~H~A$SFGMcƃ%Y"u ExJHIg#ҞkwI-b&)><d?@>9CrI_X*_էlL.*_ JB{-ʺ$[*pIseԑ"hWӏLJ57-hR8Eҏ^LJ\T qhnma9Ppe+?9Hu@aKX-/ Lk+` cϮ7۬cđ>]|k6NOnU]q5+ ^Q ]1z ]{歂+Dd~!RG_|ZЁ|#stzĬ#U띟 h.B,̆2 m$" S?j*80ʀ۱kUG&0 V#Lx V}hcjtҳ >rL-ujj`q8!}&w.Am[e+9 @)yج'փ>L Ukl)s_AwҨy7 yfa%%:,==\M=ökX wߡqJlOmnhIH98%FOm}=N bÞGjUfEKEdQf bG3S@OS';Iu5@u^j Zn>KCNNVUO$9ͻO:K#?XH3,vEQvI͆_/"nXLʋL@d5KP1mJYΨcҳ+٭Cu]IVn81*B(,ҙcIĮV%w?7^z+`dpJs"û#xٹ֞mkU>8fe}z&D`x|*Bt~2a"-͛5N"9Vo=#V4%!doԚv~ta' o?}{ ]ؒO8SsׂrE4-!~?v&zmG1d3V;+9Sk4&tIM]P$b,)כ;lp9d큘:c|L–ĕpoH$cf\ɥM{9sZƜsCPRκ!ꧏڅDa<,0pYj|Eܢu]Fſ\; gxs~DqDH,0! `Pei8RNŽˊd{c@Q}(oߍIcJ^,R{2C&}FtKn;DwCy3S&_ةH ʁC3 t՗[Jd-QL앃b%ἶХX /iA $mS^+=k~KhׁN7*I^|ZAgEx1$2}T;G"zi qdS".![ (#/=Rr۴z1pk.Dcu33f3sUvP2|T`@@OARN}fk}ֹ8 [o$|s;8ՠtzv /`Á%iM>xe1up-e<SqDF=!hQ & &)HS& X{X޲a`1Qoݿ\>Zi#DJ!(X"?‚<9{WZ ]6q !aU);Coۄr3X9v>.)9k `pE. V2yTq&HDz|[%)b_ͼQA Ya\殤$/QQrT: vMQ:XL8Nv֮BnVfb*ʁ]aMk"p_rYry${%vpD%ߧ$NN`I[pKayu>#׆L>W;AN[C98 O6#6D&`b1FjqLV*T7-/e#2TV™ L!A. Ê㮪.V1Sl~Gn[hY: m 7(S-q:_!A=S(aA4P3 ǵh δW1 Q(JEU^q.:k&f o(FeЪC(./|b+5+!Cl|v1@eD{-0U='WzXwuw8=Ni0v[9d= NlM+-*#xLe7Xȉ])&> 61l*#ȴ@) g_U}d\ Wq s}6률b0p*5Vf;)Tmq*nP0J>0y{~#9zዋƽqxWKoTp!Awց^{jc3׈d>;A_ Ƒ{(*Ic0DaW#vc  ·N-^ 1_)ºә*ðcg2R'VdK78` lIo:x 5*Bc%*u# sv.=;xZwչ\W q6h}BFm@h'G0>Gq>%_Q_a.2_~s=l>+>Kjų(\We ,0bP9UbcRx[Nt;Jtpn`׬a`=X:(2HdM1qQ*v_g*Χ25njo7FͶQuu~O/G>-H li\WԜ5܍oKv 5MOw\p-{laRAޙU4P/'PE>`HfŻp{Пǖ3i;23bM'B`ySjEb{B1b}Ƥb$F0x|/G.Ra+,6Pt.8l' z.D2GE:&RDYODX2(ʅR/^l65sPnE1 LqC o2M6:֪_F3GY'NqI=V55eͰkhD]M?˹VK41.C%3mF!N7 x5?9wo]w!BiY`]JQakvLZI*fW!nCBr2 |zĈs䰔g+?u8&wn1Ӭ›BK} MS3V?t49%|Ƅlb,oTnh\'&Ǫ6BcH}#961 b॓C-̏ ߺ&QdE$y4;63M*4Py mtxUL(Up^_$" & L"(ևQh8nF  ij/5*hUЯ[H!Y3A-ߎ1UotǶ+74ŲҋT`yߞqNNծ^7M N3T37? 9xj9ںgr Ms'>L }ńi2힛Y(9Iv2תSdurP!RpÅLisLYolʍfѶP4nfֲr t PbL%Bs( 􆕾>q_ʅ튻Htv[Q?o]Ļ+ K?mfbAiJޕV\y.|Ji]hA"ZeM.JB<^eVKRɋ8N@]u[n_ eh5̆O+i|dv@QGf̼1ZU WV;&/fF? :5 ɿ"1{쩲ET ՌcOĽwp2Wp*=5k}.͚h|¼jݱ7#QKO}T$ r>:ze;`m屩7Y,EtY%ѝ8ց;-, Jِổ-Dyjf˚Ylw9C{ kd ܩCVR+p?'WS8=c̪vY(Qgfl Ng/^heӷh1כ''SP O[UUMN'< hgvZpoaO<jiM(Pk-Obp HӘRK̫+giʜd=2lkar$Yo\`F?eMñ*ѿV;$2n%#cL/zEdUQVU"}"7Ex78Ui=+DN#KcA?i:n9]ߠ|g>u^ NJ W8{gޫgdb76bA&(F[+A}R KmKvŴԸ+Ɏ# *9e/O_ms 5V@l&4*(Y(>'k… Pڷ>֭m<qm,Z vFuu^"oNh4du!9`4,BbYC)ZL8.ߙƄU[>tJaު̤bfuR N0/S»}|7ývG|I:G_t%܀ȱhQ.s=HL=тG˒˹E9\>_M. V" x+1$~ ߝu( =:QzDJF|;{ͮ4w6V Ek~:O1`|,Bg% Ed~C7^a|T0X> xSQ4Ⱦ䐯%C_}qGϦ|(,"ecݰ0i6`6tȞ\J1#Ԓ0gueU |};,YEc|uOrtN70&|Єp ;[|.IJ.PfzrYul|';a5벩ཏ*u%j-#dqVVQi- 6J5b6& iu3[+>c<0.'Zq{x2BmwNIo0)7WBvs7uܢ]PxVدa +(-ahMQe\Sp~AuO;;%b#Y ]ඊ#߮ѱGl0̐E  /\jeյ7оd n},ƽKS^ KRMv3>[,65px˖ĘeWF&ޓeiy9 4އEI"?M*E |y|V̺=0vDXܠ:2ptZ$ P֌lVD0797]5`m"❥Ý5'dMxy4Yuu%c /*NPcB%GG&𫵃ٻGOTя'*[uT/DO^ GF4# Vru^ZMʑ>1 uu\m$JwGD [#9oh&KVR[TCq\ J *%$1FO bT蒬g4^yRPa5H9@eQ9v¦NiSB>ww㧧jJ)\AOȆW瓖|\¯*-yFt թ?1tìę]BUa ]3S9sb@fz~ #dƠڌ# 3V96Vd /^[\m`vQ|yaw8[!o'TG&Y 킢15y[:ɬ4i-0|h }ؾxǦ ͮ+6Fd;]g}1{KD0|lMJkDSVJ*7YGuLBZ$oϸƠ]O{Rac7c ~J[I-.}24,MfWrquֆ>zb[˵ XGEk#c Z #/= /@ Ar;%Rik >0C:rL fjr Q[VNZHHR:qյg[Gp}惒7.2˯nޯLS`WҩYb(bxz[+(Ζ$k z dߣԿDՌB6tֱZgC]vǁK'Z\@m)Twc8mI 8Sʟ-9467bE$5-81DsUa}%Ž%t&L0$|@^R [pSlp 3V}Ho*|3UZB-z(67t'j o`<ڤT)3 gT'7 W'J ʎg\XbYTI9]sw2NۢN:OA j3~D0*?`kKioT=bpQ\1@ V;; r ?/(S#8> RbA?ԲDGJe(o݅S+}Й^14S7˃^NJyk`` :ƙdC y.%qޢТP2t<>>Q,A2!p'^XD@:|IQuNOJ0*0AtU(snHtE8OIic{Nұ6z*6'~@RϲuLhV4{-0rQFXgP[Ubԫvo,M^һn ]ʣ'.% lo o(1[mp:ߠQ[1bWToW;WQW=z`3+a7أL_!-qe\Ulz.zJCymgn@4-2;T]ȥet:'S7sF/87AC%:d[erŬ6}DKK CҦD]2I[|eiJm4MѪ\,aT4g;7ه"BS 罈q0Z w쎝'{2cViEcc #b~Jȟ%]76GNծu-!͜a@=Z+tq&|UG\D1h0aZ/{c߾5ăN!gӧtno3gD *Q|NK!) ?"1N_VP(E9$ < LNRxvJH4i&k%;׫5.Swb,O'9&=cR۩`߉/TaqA{(k޿^5r@䰽Yo7 H64&h5(^,5FF_7-n[Ax_#;6&+yHnkz>DTȉJ.]UV/>mΉ ϸG_X)p2}$q4gXp>]r8r*RDtb)H$~3}%Rfr{2̃6,i/k3ڶW ޞ3]eCRr[8l4_tkT]nXu>\PNiޗ9wTp,KLV1 H]Y+}t*@=oR݁š‘FkkP]aW.iFEW0;Q1?MG^2J zQwf_Jx2UPޘ!1~s>C:h-*8s~8ܼ/H:^ q!n cN<ᮻz9([a%XRS8k&d(>ą 3c']崰>0P'ʘzS^Þb*-&۔[Gse^6$U,rxo֐(.'l^ybs-S-Ϊ1 "s>z Пz:?6-ı2Ce$>vpA\q&4rGs$PTY o~!+*ppftW~_NWYmy_+w6B؛LoQ+J ZhV|OoOGj_[oUM#ǹH\)e[7Kۛgϴ?/VwTw_s2`oWo/$T'Pzp}Ro_.z+A,|<cEW2S)g kj`VfsR.},bK=6f1N "_wQ\N,6Z옶UNy٩[>*h$b"Jl;H}3|KE/1]_1T{{0HwV'Ic> sc)I#O " `ꓷ/JV[5YY` F(/I|.#x Wr)?; /5_I-u x-אvXڽ5:T;kwK*"Ҥ _|"$o-ԙ&Zjl2jJ楛74J?'SW?ٛPts2 *#hR4L?Ȯ kK|.+pR6W^؅1MnI[xT Se=Fe&rQ}E -.U7~@s<q};Nn k|DJoؗ]%`s-J`\,]'vmd;bpVY;dz&l9>q(;_OEWB{<ݾv4.9'LY0*h6|тRĐv‘W? "ےVˮU\#Xjjs52D18Hdn4CUpaZ3urtCDJӃ.hFcY!MoЬY}wO{5=8}5:.-A@|ܹɆyEuYnbQڮ/evB/nAO9z.'vCrC$Wݚۚ)xs Ik.@|_l_'T*Me<y'WqRGsTZꨴcIDl;އ2rv V!cQ  _})YzGxBɴPR>2xoԵ7Cw"@EvXjnu`=FSZLJ#Ŭ7O~_}@d9mBM$.S&<^\+~aտ%Ⱦ 62q+h4Yk%gsp@ѕy|mfC>5IłO6}k.nmb?'9?뢹}MRs7uW5R'Do~KChe1mNA?RrSJ`V X䬕2_7d$T @hBZ.#Tfy A)B)y+>z)cuٷ!hOY}0 ɇEɻ$@W9Ypz;c= b71l% -OB2*Bj0*%t0P+DIv̊Zrn-fz\_7poL^Y=44C   sd"qr.{+ xKN,v:Zce-if' op=_z":sX2OAHJ\iŴy)'Y) yUweu~'q Zu228~\Rn)mS02 " f^{WiDžv պT[J|FB " mL&E{G-vTZL5laD[?ΖηMܹy)6)р۷vUq8Ǭi5N/U10]FJG[Oh+,H nq!y\񛎿6/2§?Y RǼ [W ifhCr\uO8[M%;˽Z}seI{L.P3Fk8Ϙb=@q WQmnke/9ԥvy-TRG ܯuh] ܆Y-l;vu4=Z;≭򦚫6c;n|\SIpd/)FfbzBiހr[ l)[-ټ6C`PK|pG^IED6p eէ-kr.OyP Wg|4M.˔(vBmX]ppNwksz\\zœ>xj s5C\5F  DC[P@vr /)XaB= Xufp6a+5iYz-,:r8| ve'j}a%6FQ4~u1pW1 5L$w!eY&bmT}<ހ ,g '`M@<@9Fa88) zn6B0*gT.[mC!;toFx-CoX>~#H@44/S6ѿM߫6O??nU6s/RF́Rއn=+3Iild\sel\)0oK{'#$,M ,KoFSd:kr}Z3^>i |JBSiHD[w/D PljP}tg'Hy9""IVj#>$e t>4T\RRD'02jmxW'N!LŁ~A5#*{\OA7ͩ !)BD&5Ι~xyt/\c[4H\ـ J>9 ֛5PpABu^ҾijSqOШHƝr gcBD OUĢ#\<`!{JDr–vN v)7ӇXH?aSo)Khkm++mzj, %+f I + ;ߐǒR~ͷ((Ƒ̱dfMf]>_bskQ[ڋd34}th,[Ӄ ,&.qKZW+[ Z>PGU/YS zEt̼ݒ.wKuIa3~z䤣Hcp^fQ$l̊FQavُϿ gG-"ἪqL~-gӻR:hbFӟ(mL.\zj!m`^s RyTWE.@#pI E+t.Tyb d/U nFq=;]s*|%Avm6îʪDQRS\y()$x>48zh,iG _> JNȟbH`W- ߟ4""I&!p6Ľ(r?tco5@tJF71SN~F"k|G(d֞d{ic Z\% hҍ-t@c^4B-@e6Vܢgꆊߑ%Uڄ9$&[6 yЃ3S8ucn庇.Zdf=^{pH:Ågq>2bG 46*>֥Y{hy{49[trԦ=%M nV]FYvFaSkUT=U]414/ Ei7`݌}nEHg;Ɨ(Rj^TFwF^"Ɏ&eȖ2; ҟl!bW&d2{%~ 5n 9KQjI}c#`KN$.eA7~}wׁ" DA=vP? EdbmTL(n!gZO52l5tH!۱O~=Ug-0 | ^RA\K6G-mc˰Rv3؈<7ء dk2C-99U4@|W 3-@O,a73E/Fi/I0م.Bְ q[$@ŶJ jyL.| hL)qɈ[$ wQ=ԞKD4"}&g$Hfܷ0{(U$V9,~寙| Tؕ>?%wU"D6ङ.Q[?e 9Da0cba ^/SAG\v|2[//K>~풺zU8 @;Hh\dVRuLy9_|cuN\|F@O–5^czqFqc 5bt^DP@oi|iQ_Pk,~:,p F`ۺ:WגHgβ7:JW3YL-̳C(U&jGIcx9L(5(0(3B`/>RF2oFٜگ|" 3Iٱ먒R&W U^ϣT\Ԭ-n إL8[?Kq:qM^w fZľ~Xy[8?7*|  ~ǒm6X;6E- .ECOɱUr݃"L>n ]Җs~v2-*^T^~3N90f noJ2iXS1zoECz`^&u=Crkޤ<_56 FigeYD,Wj-s^qiAEFf{v89m C᥍Y4fe RPg0T#q tD pa.2 &cޞQTpۨ,+:} ;^'(go٫G(ګ*FJrJ@[ƺ o〃SKҜ0f;g_ݓIy8u5 2KDT W^Ul $;_Lh 7꾦m#־]=u*KN"s+OO&/bjqՆ+3 amFq A2[zilO╓?_׸01)Kr60/ȥ$jZdY49\(oػ 8ěٱm&R`ѷ\4j]ztئr@>9`x7Jq77@7a紪*ͤ]ŪaS фyfƫqLw,p2qEHؖJg$'V!4B -!٤ߕ\#2 (Y1jgpb}?+S'rO[%7^:&H^H `8nHH6C1KĻ/sϖK[z)!$HC{L{wH3904j"1Ap@34P"yAu(,#ݮx0+yU~ av |OU>nH @ձ-;gdG*BK!۳_ݟ`Z>RWiLcGK#81hLScFQ&d->R`Louiju$EGCo!wJ֋*zht '3A٩Hc@_ŃΘU`0uQSv'l)D$uFj$d]7K^8¡F/.eџֈ %t3ui}qӗ /Y<çz;_)mc<9Ҏfo8* | ]:d@HWVև-uHc,5GVN5yX[@z<<%K}jp+st u!y+)7 OD ^5B.`ȷ!$;y{yܕ+j 2ىe ƀ4ֲG_asz4eif5]FH潚>=mæ/deHHx? 2+mMbXM׉QJ&" ,کC$#0tW\_[2*M=1)-Q3wL m~JMVUJK^ Ɍl/KzH={ Q-咭PYG^C"zkކp"ZPȴE dh>C_#8@09y5hm.c2e iVK/ۓ4V"|41iO(OwS]! 0 3,lpBڙ7w(DA $h4ԺvOz26:hF[D:-,cv"1/PrMqO&<1G?DtIv?lnr1)+~V/:݁o鬥 D43tNitY2ш܉_Di U[ᓄж4ߕ` H@kۀ5c }ƎN;(Fw3}'R]R"} )yz՘+NʰiQ$+ϥ%t2^ޢ\:Ks[Αe]e><-u'CC]zn6?ew?zihb32}+%1q&ZZ!8">|6/[k5L4wo3CH.OH:_ n>1"fsV[ !5Er3Xt\P&v*Tׇqr}*2}dhJlQ>_՞qwX xͥSc[jqRm$'kt{.sPO61xX\LTz=9Ղu? i,,Ņu{cg;$c52> ^#F`)!eۭ#fS kZ9C^(t]&bO:^$x̃ dkrՅWb+g?v*ܗ"i0+2-_z\v`1h|-DHvIEZ W3枆Ś`p)MN gQlYJU~"ARn{l9ўBnjA' %0쥂Abú儫ܭX >ʡmxヌwdV#!}']r074>]dJۙ}M0E "1Z$-sYbD]8W`1wWɴ 3𐶲eG۪e8]h7ݲ:"QQ4*b,v0A7K_#hFaClYj?hO̍ ^y~kH7J-jK]bP2Vz%BGӗؐԹth8YϺp1EH_+}5\G4Mef9:GzY)>ZT+Pyen+А ^zh&;q'[ނGM郞1-ɾo&C~3Р xL] 0!NI3!RW.e]Ӌ^ 0#fsQ $hvhT:+Ŧt+rpPH\.v! 5 Hei v1k)[h~ Zr1 u8 Ψ%x ~XHQ}juO @.`P:c;^PdnbÖޣs1+ Ly5pafxXcldKTjHUJťw :*נ~2xO.{)~rSN,,nGDI<7FDÐ\Am\&4 ӼΠ/ܾ3An ,jHB !`I*;tB 1 -N@óayəGid{9*80/KK;DfFsK?(ko^ 0Kk7TXomTZe ̇: ` Q*ަ4y'E lMeYSpq/ϩ&"ΧeMi*pH:&ӎ"Ra1-IE+}/8`SA~Y~,SHJPD 6/hwnN9=(.mD,On[ʀx'CM٫)?UQf?ad`c<-dlO&4fi oFtoMmzVمwHJ¡N$+DIU3#]y>B9Aj*D+c}&Zck)[&kn$Ծv-%_epgFf360UnswG7 ^yhk=&9)3lc2bvF>ZCZ!w_kiŒs!{kKjzDZ)A[ DvO uT=:+Y7*9.,*Y;{A.aBoUdPLMpJHszGh)ѸJ wCa Fp$_sqht&g3H['zߑ3wLY*M Jo(qV8~D5 HfPW" EOyg @Qs4Tla;]ި矀vYPE+a‚ QOؑ}j:OEB^5{D:!- 0μ¬sh(:_K$ٗ[='$- A1#H|fԐw0ʕ_ukfvw ɝ/>a|⫁ȾK0)0GMk3T"X/ ՎH5$*A ^&wbLNI4Og⒒bĝGCT |xd#TsLd"1,*MSpEv m軫?17g)^:1"UVzY Մ+3l]̌jJجན]0[;c{ "硦'{[=n-go=TBFM4^|Հ,+$rrB(fpn=L.Yct[wٝ v/<"|[K2A`RgAydkD;c'OYCh/rcV~\PlCtŅ+O_AIp@n]瘑G=|pĭ7JTv<(TfܘOf^8۱__R}Rj39( 0؎Z?A]H`&?GʰU{0oj#89:1'=;㸺?מNRuy ޜƯPop,7>_ɲ o2,,c D@O.Ɠ)[kܒZ4nL 9^OG PMliZg.wuiM2 :Y;zO":׃ L'K=Q/Y\ F}o*7^*6uSW](XwFN},@jBH+ Ԭ=+i{ ːK1ļT( })`0ބcT>O;TJ^,yb`.CphV㇌[b5U'MTXs>bB?ɏ? K٘s u)|0 2>Z](!rvoUe]-ɳ$DDլZKIfX 𵇭oXŜoFph,B8|fKiɹP,G"wg.S<]ݴ<Mc (sQ­I4܍ Y0 x.dyYk7Y7= I.ȐkCXO{Uˆ/uPΎ$9Aݙvuh~N7^ DM* k;F {pqw4,W}4:;""O^1jԕai̼#kDV yM 7k =g.Q`gJP{=rJm]_ |0VC/ acSEx1?p{m! R{aoSuIn$w_c[hVP B׾G4CKj`3—L o82nH/+}~gln=NMk,̨|LTTgS$K1}@$:-LkSh| ٺ(Z_>tPJNv[+A P!ɨ/k&KϫDT)5D%Kkt=E 8O V'!FgT™V8JL+y7ҳI99cXrB|Oj}ù9dH *oo+~aY( Jx yiOs1-z~bA׋Jt౷ 775/nUVNSD'%sÓǀ%<.o[8")݆h+j{g#%2N9CC&τ/Ie 2"!CkˬZd87l2j-'dyuPw6{=)y.8|07L`Q00RbGJхxM'&>~u)ΘJ'oC:gNʳV4B5I'eD7\Duf1ܑ1{IS%u|g0CGL:.R@HW(.{Pߡx0Tb-Ns+;L49ݸ!%pZ/bȡid>}/\+S3C_߬^B:nf 䅝X#7!U!u~$Kkm]Oy})ya,);dkqNni>qzfًI#O>5occ;(͜\\g/4kDl^_iҵDQ_o2Btȷ| .Q{7%z f YK<>őE5 AaMowgl^EBͻx7"H[H䴅{?RÌ۽ @+ta6숌u1M79x+xv.*4*̆xAMjPj?D-#zy-uQ j@/m _exlQIl#XNV&į8?tl=jS^&Y_hشBjjxyň@Y|ƃXV4#s x0nu<1hW p}2Z տ+#OQ8!f;L+67 [@Te;~4$Qor5}EX~&L;qBWpuv ƨ)np)`O# 3!@6``{]8! 0*˩g.s)?ILc_R$}mR29zFxβRGVN=:y% _Bܸ? {?NqtFBwY/Z;oȢN(X(zӢZXM1^kV+|C0y Sy0 y*E|li<=ڬv eT9h+H9x,:H9J8'I0jnL<4U5 DiP|hF/UxR9Kq;_-K{~^Ntf% =xJ)J51%⾛Y6RY4"ѧXGk,l='W2M1ن]}eG%+WU^DT%׈-|yx4zG)sU%ۣHTSDn9Fp= n}g3Mfqd̘2aS&hvj~f5`̚_8KCwG.8kpU)V]0>0>+wu2UĮqg$dv&zbvw!R=y4P1zT\R'*mXRzz=@iphV_͏F'͎ѺkXKn-5RUky:[cŻ-L{ajPlv|qQ4#C?f\΁| (Ob3v$>Cepv Hbj6(b:Kq{ȭ9<J!qZ)$EԕB&@G8f Rz@L~@}y0K?|DmW`,g5[d& fnc};q3(A}ѣ'qujtl p 뺲P࿏:w5AWY͞ $PB]p=J1J4գ'~oYs=eQC$O Ƙ{;!Tgr7@ 8]_vq]~sQ0Ǝ~ &%`NgkhЏYb^t $B Hx^e~ ѢlBFknc QqkࠟnwȞyK V[!3؅-򤣉}IAݧ>g1ZzeO]1Efw"PXbVMX*gS4lE{AnC\g- N cS{+nj" N*_8̘8J+Қ4cwߏk6į'V}\1Bب T.w`Q)TO$~EQt"G;,ȼaa)߶bt\JB1k U3 ̶0 2c;y0J"+=}\ :][Ϊ-Es:%5#>"C}hpL T؇h=2wE' =(o}ʖu!t߂0l>:g-Q6{.heQg+ֽrZIBTTZn&[ENibl׽Ztצ[ɟ,y^2h~|6Ʈ-ZQ~bpJԌcd!z}hqX"|$`._>r`EQ}Rv%k8+ @{ģ{tacPVҖα}/x)J^sCIkty7 IkiY99?N rD"f*>#3xH| L`M<m;EU(Ww"i {uƀ 39֞@6rl6hI1^:kLoELݑxI:4 -d/zwF&a]d ]MmnH2`/`z~Nd U?8.2ICe, hgD3IZpLQf.=^d?ꈞ-lSWPŹw n<,s, _a4˦bU&Oh\CBu"kjwXƴӤ̠{-[j/C}Įck{8c@y/n龓[ۓx,ӈW|HĄvQ޿CYK|%xgBxX'd[h6pָ`tD[~104/䛬m]"[:NP Ԉ?ceJ8ռ_z4?Hz꙰/{ )dѸCv@+.6xD"Dc)kG{G ;JC p5\5*XqSl]

ѡӠOlORwju]rV6osL"O//ύxW sX<3ŒV73d_jrpG"i9KC  _c j9Z?g珦㌝7F[UJѕ^:7fl#tՀ(;QgSa hk-dbaSd7~!hL-tDTI 0(M=Jn?dnQA a|onF7Ly*C Te8S ejdT2F0Pk#8{n?¨(T_N7}"s vDKVuוdۑ}zn?P3al'\%jFM^=|Dkw%6{.95)K*>)[6q HeɘSĻ[Z:P@CShhDZIϾ-p ٢>X/) 8䨛ѐ_ap2NĶgw!tc2{&oBԂ2'JK6g= FvcIS$7'~mSj7Td%7l4PGQ>fzԡZ nyl ,c%vNb3{$>aHcWI JN,uS,.tT槲ȳ5\6ke.<>W)>$}s;)q-*zS4 ̂$ f_(t?ԉ4KRؗm7M7$88T*OZA$Tȭ511 &AK 2"إػ|~!xdZa$*NLb@;0ĝ5?-.Q:$u]T0r=8:@ICZ^q9QojYzz^3RcO\B EttLMߋ[&ȣX( 3SLq'hOL~hʬP Qj{Ayuz'V$R c☁G˒e~Em%ug;K{uuYLׄƌm4q%:$8_)GwɅr']4 0$je u&{AD˫z0@ 8rۮ.U[)ǻawS|m@Ƽ.c@&v!zT`0j3XpxIC j:ay4—Y ~Silnk x/M'g k o=f-|M\r~m0W{ÒP#ReV㡇I%H[Ͷ ,3v@Y\S-,:/[ on=gXmg uG(c<wW$AȆ>ہ˪ٳ3Έ_|Kv^j+%G̑\rDB5,3}E=pϠMq_V 3S};M .F%>BG fpD!i2p%Z{]zsoc3Rme#&$,v3}-s$ icpbH=ȺR?q SScC6ؾד'$*zbS88|Sq6Nw KCOܥShĴ%ap`׈v0"B@C-^bg;%yȤ hX?hkmPpP{m\􀺰*jLX'=#nhGVs2jcxP+"f5&O@R3)2|V8ďsU_ȴxPGcB掉3Me ʡWcglۛȽ*!D w\ʫNnfs9#Ql8#=|iϏDe\\f\9.Tl@5Df GNkه(ވ.M-W|)nQ=:b 7\FCaI3,w2Zߊ#LҾBG  y>Oh:́klwb[Drf*Sl!)/GO1 i&k~5Mޏs'v{i w%YNHU>OKd~z_aNOo K>%rta(ըF}{ȭpX׬V@`M_J9gUk@ TD^veHibTu) #N' c޺330UI:;ㆶA (*W!χ3[p6 m;Ępbd$xv3uum1$TGݓoo>Աt~h; ,ŗj+gD+Cw! C\|(KX]{#*U {A(J,WV\X2@,+Ueȧa!r:Z_}F{Lqfu$]X|?ף/~QD#WxBU6/% G ѕ&ĕ9g&YÓn[|\8%!ˡReke4A|GtypNZ#5CKݝtyA]qDעp''V WWO2(HWB8{l8ڪSm4yrKCZRH#2K(\iIDеRܮT7 z`sCK-WjbKҖxM# G__3EXznvs=ln_Y.{[O֌Yva|4&eG R@Sf!3.M it DDG ʳ/77΍%_%ڮY6)r_އR"d>Cc?GhװƂmbt>5[vh32{'PQR ZwggX@nTE>:_x㞝Ϊ10)`)*3Jk+uaGD ˻n Ąmwሬ5M]}G#WJ+u~$Th %)jFox_@ [b:HQ *kIz&| E6f$<w(  ǫmpjrfey y&Ň .*-Gn@b\'caWx EDf6}-W/+ Ir2k Mm=9u>(T8VI*4s*c鞁VXVm_)h5gG7zJ1a1d{VA:85a`hq@qZrҪ{( .ds#¨> 'ZALhy0^A2M [N'&? pK.04#H@By4߷.=`Ltr_4ɘN Hi M{#G51$n`d ?w͛X^L\6>~FM~ZkYe˳6}pm ǍIJwpc(9Ry >RM&$;g7Jם$UOt܁ܼQ)-:FI\nE K_>,2/jS+>Bj %Ǘw3ܷ2 2tABzz N7ޚ3<5+Yc^r*oS0H{jJ7AbٿL:$\JZ)%~SP[#8+ۋ{XC{mfw~+Kh;Ͳ:QIZ]i /$*p-0?!(jEo> "z+ˑ  lzW:sAԃom}};EDzK s>.6L('ktx mN?r˰ pV48?ӆU_=Y1  +1>dMZ_J'2uOQSnwwH*VQ]4]]PORuLͫ :`_3ī&n fnP͙~C`Mאrl_aPAw&%7WֽXFN.|؍@|}tf>ۿ{.ͪk)~^َw9a.i@h:Y=Da~D^ I6ԄW̊yK)e_䡙O2!iˋ!R׵ #2q4Xam̞apIbc*h ŴJVD|$Lm]vJi.0U>ouu[dn"U9% zT[4Q؊LOeyrԑV)FFm5;QSlLyjVĮN8z2@.H{:Ljc;#r;\/ #rXl-+[FKi#AՕ^aAga0ǑbT%L V_ipkX> >x39ښR~uG.W'ejV"=:8ˠ>qWvq*z<^TL'9nADn&|J2y&Sԑtp8IJmB=Xig>įEVn{dd,nzs?i,[hU @d_^Ď*^ehRY3{`NoZ %\ /vLWрEMz%Iƺ MUxWCi b$/ 9}X`:*}/_/u]=kp>ka <,+~~p2?uI_(5%X\ZV{9(!yGzշj`\X3[$[BQB^?k! 2LwΑwL]XY l09GԈ>EBO#xQSUSYTfQ_OeX SL8z,z[Zh<2C|"/$;Fa]H p'xoow;PA5bԊknhD3!`Kj4AfNZ" aF宑.T" gV#$%bS0#Of:OHޡeNQMρ?>:ˏ|et' 1P]?u$^ɫ5ݸ$3U)pJXtpE+!;E;E H11y{> >}!:jF+￵/G:PC\":tLRsn"B2a4'T Ck(7*T M LpW,=k_C yNߚl&9@ѡ1꘍!-HW,u xDQu$ۇ"D{Q14"A^/)*'.5P*&. l|߈P{cT(sҖȦކ!K֣LVeԦ4UW9Gs͙7 SbCRqĊA"GQ.7zr>^rA% Rz ģ*VVzܴk:%qX-e(x1#1䙠ўF~ߘBGZ #cE;8VY^.m[s '&jmaܞ$p0Vc)Vr_"2ȟ]`t:܁eʰAGy)M9֚X  `dKHPtÆ<\!0* JΔ.;Aօ I E=/LFGd Pkle~iM 9/# -ȦA*>)|0֫JрY\SDY`?Y|;Y\hC74i5{aA0eDn9>b 4]WL(v=%y1C R,܀iOGQԃsl\>,_[N@Vz32,L &67!Ѥ5lϞ0<ď C]b x"5u,D6@$Ly4S6A0슭絇p?$,|LX7|4;'p1K'Zgו 'ʰ>VGLoFN-mn Mhes4)7Sa _ ,^+ND,r=VѧN+d8id-3[#̠ƺYu`H$p(r0@0UݶT>e"_J uEqLIK^zTq /4쐏4K N S(k_B4|<)Fbm`;΃?[S.bq|H5w}zɟpuP՘h@ ;w$Yv`Hc8ꥫ2`D~w3o䚏nkNJJIilYj1@K\ƇH@vX_S:[)C9q}_$LBg>MѬ'HKOԣjКd}xm.fߚt_~cfGٕFﷱ!Up$.p|h[a 0Ћhq)_'KPON^ĩl3!fm {.'b+I9 ᾕ)Ќw%9SVO9\gez{v]g HIqb0R8q4FwhCb+Zq9BM /w9CN-.6gMXv,C<ޔ]w(FUJ3]YeqfjycVU>窓E |挙7L%ľN|3ٜLBQ@[%̶:/F'gk if tɱzK 5h|Vՙ[8.`e{ Ʌ7JuXBzN!LF\4N+vM.Rn=ZtyDI~,CMoRJ4ؗE!w~ ?Lj5fcM/\@9UsDU4u/dZ |y.!)3a6whJtQ~h.eGMt $F_ed^y5! if >463%>Jmn-OZ?+ bAF6NGd h'o'ǘd&{ۥ/ S7R@NR Lji]H^җ]oUUx5:WǷ&-#:NÂ.ٚNP"9bQ,; **>c:˟ '{nL!8)4[gshbjB8]d r/ Τ"UK aƭ=žd|w.V!+HSH6`7J3odhK1'z6: ۊ?Xvb,vr8t?*Ty:hMoO7N+cH2sfԟDE;Bv^C]q#Qa.aU׉p1Zuqr~_1H-!/woL!h ҋ8kM~۶0RkXխ,:Ş7 S+\NwRg=vT97{gs9ʦ%%&-WT+{ 2Hb+Gf"YN)(~P`5/-(ҺíA*}L~;ȨpS#c-eRKA-113eYSʜ)EVP)1mg'`]T!M6Uq]Jд'FYz F#tC"!_a_s#.an`ɘ9dd-Y)C,p|.S4Ι !jr9BK-=Zy$q/ǡNK{6n(lਃn*Q9 KS!:i42TL!lsiTDDefAMV,Y2X7^(絇̵ÙO;}$e=M]\ǁ $>Sםe|QdzwKF}&@׻?+oś|:kG̓%qN,xŦk6my@:=01J+vpLyD{xL^LhͻWÝ{hBW)vNIP;AZiӢ *cLMٖ}UzjW"1kDUAmz#Q_^u؁ؿ$vwbqJ;ė3 ty-36牊% d{À(_|=!\>< zk%ZIKԆ ?i 7)CL:+tD_6L"hU\7o2UGMλ*{M3x[N-~*Bm]84:AU2DFERHm6;#a(e➴e'vFN$iV[-Frt}j{^z\@/ot86qJtȗlݕpOH#KPL8c{0{AtM.i}iɼR2v L=nZݖ,PKFC+A(,5l7?+NʜbM?ʏ^kW%e@4B3ZN9D1ka>.;n¡Dċl{I~u;mT (,aZ0YQ%gJ c\Ժ3?y'w*xܭspTv ~Yxh O +֌׷֡Rv`|ʸ]Hd'lpj$"gpb;: ?2Q Ɨ)aE9aRa ymЋZܙm;gY; T/Em :T! 8>ōp`#„w&q?_0 æ'Wy]XBQ}8fMhTW!44*>,SHou_)HqZ?ڪ55ߛj_"S.P!犸4IU"$%H Mcgr_WdfcFF?@x!: ڐ 6w&zr3|/7W'zQx̊*z͗nTV)bj^{vDo,/SՄ_Z{N!bX*HQ ^I !"fD~qh4FH DEj:r.y]nOl,U H #a:-Ը^g J֪'u '|wtb( fC`ҺFHNna-45e\%awqs՘Km?R&~(tWEN)oAl6Jyc]S}VMf'pf]qhY纭 w6Epw 9ul+x`V}2acEQ-%?iհVM)bz0#先Uϑ@5t}CW1wo^aLF|srRUJ<`xtj6,[&u EȀLMhWT 6 7z. ax(h KJ(+99g!ޚB!7DȊ*f@*XgHf[.{#j/ 3Qkx!HMRaz ~)QOo:-U-"ήWҽb\JXKq4h?/4p<<'6OқPOlN) JvOBd jDj;m@hkUcu9HvtsGJ=/x m$2YW:dzrCo%l zc!g4\ԍ >뻂^̏ Bj8ī^0gue1'}D1!f`s465]W;2j W21[1?O9pk!&"MRUxz7i\6Fn:qܲo7QsjVqd\t&U&j~jj,Y7KiIk/p`j6߃+T9{`}țkohN׽d"yUP ?%%OPuaKԢί[2"h7&0$Ķ~qUިQ 9hGԨ8`[5*cGn29ByĀ,|I3>TІPu2 bkY]B;_zc~3en;MHʱT/A.O,ʺ5|Qdc+!372 ܺ;٤$d*wcLzNPЏ> #9n@fW16I3֫ƑHr}TXj,>Q-\cSd8*!1E^y5Y=ugr)3;뾸 RuO}^ u/ZH;#4+wy}!Y:ۋR^xi&28N1ؗO,mk pW%ȍUnJb1DI!2ekj9\ K=ԑn#6\WUc_%*yOBa5dt0ctdg|Xmg4-4xcYk̀qfu;aWh>Uۘ5&/8_^ʔE VŜ1RBN Ȱ0rS1*[Qky(~/}ٕ'S F &*zH1 '(žXnG`5{a#iq;[!"NEkEKVh#ZHi[1ZaAV̧" o:F:/?OxYu-S#*H?۱g/΀n:]He)3ч+B?M*F݄`(HGQKB b'd݁"NYގ(Eoۖ\pj쁑;| zo': S8j~XY66D9@y.ˀ/Ӕ}0FyfsOTqb2_#BlXlژ5T'tPn%nF.&I$H$ON3|WAX   q'9zH8qP6~i+"la_!48Ãm\:xc0q /{v7F~ӟo\a-<^Vyb-I'le2, GOX&v=ۆ )[|n}LD#mfD~gD@~' ;"I Zr9QP ;r/g0hM0M 2"2ݮ4ln|~> 9D@TA8\e/Hj19Vya1 Ebݪ=ln5FpD27d~KNv b&M!OD5Oq69 U0 RY/|آj"OPn)y2 BD:yf | B 4uIZA;t-:иa=ԲՌ4v|yD(OgpFk4=EtGl/ w |aet!S7 gpū3Pi,E ѷzB$8шm~$y87s_ޫ㊽7e7n@n']2i\\pN4M2^?!8aU*p0Ğ^)8y}E>X1uWTƸ{y&S^"prv;2[~O uc+ q!AƤߓE<'M c,fa(?s=%9{dl2n|`\Il=c6$GiE43~h@zT&{>05}-<5@Oh9tkC߶6!돃OX c5*᷃SYb3D*Cྐྵ/(Sj6t6]`J7E2TTrJeTm6JuLat#kϻ;WX[^{on;_'[r8W$I}Z8ߨ-[ūM+vr@ ;8֔=4RD wF"G[?dv8dMZBANzƞc`|֟l[6ܱX}Ѓ* E uc}U]™{. ?9:(A6& @s*_eдj#&[+1a9;EYiae5Bo5Q-Uvj﬷/E1^izZK?K 팺 Hme$Wt1hdž7|88/'S)R1"l?AJLryG`B^,ãw)< e=oz ;;+\O R㿦EW]12"'GZ Im&j hYOJM}Y{OTN][^}FVd: nᬝRVkҍՉ~yZ<'~z)pf<C2wtZyP,sX{?4-MD\#XյѪyG#|}˕D2_%0~05>%5ݐ"BR}? b`N2| 'A<^.!}wd$ꗒ򕢾߂=xgG)mh @1ғfzuG-K P4X˥ohFCΫT cZyIe7-PkDNKROsgyDdZ/Tln"1zW[-zn ]mGntN"RX#U˃d<'B)T2TO* hĦd0I̯sRvks4qjXr5f5֤M&0+z|Ù. aK֬wp,RzAg{"kt w5V7?!.2G2]x ൹)%0i>9&J"E[PZUD+3BA/P ºLE405~0bHs&`b io^/}hgp ɕ40/&@ bM$A'r ٌkOϞ`qC-ek^ߍ\KdVBgN"ScsN@;K-: >C*|DXRHu[Va L%Aʭ^WC],GdUʽE񝒸0@~.s1oZ]QBXAp_$csA60ms)y%=Y"`2p^nH|`N\NT&;(ZNx~-LD7 aT6d)ǩc +j0g,x4QPsvz_~T|u4OH>PS?g-7݈ րr`}K{x \Py"il#qg$0y2O8Dy8fw>&X}zkF@,,/kd4& T KBe;pwt+y*v}^=Ηiwa1RiM<d` ~ysO/(x8f}ojbMc6!"Q_c.-"}R"ՓW|Zikn = Th]R j[D!K׭xr3T}K _EVk'.$njB'~edR)/nRQQUt-nmfJeaAz/laؠ+smhi-.Q8ֱ^-v/Ci< '0qSt?WKo o=A茻2N%?tΫf* rE?r?qX27dbv? }DE2JI̦V)꽜u5ߚ;b \Z+qo$ rǰDg,3FUV07-5zY6ծwAb /!Hv=:ysTV̡HvG)"e0-:Ys[ a˚L :el$@g,jփq*y2ʜ 71dllF@5k3:vY S,%#I zAXVLPѠ6es=,>ilVFOqh\©41ٝi^tf?ғ#XN?ui~Q{M :Lb8L6,HKyj nqO%#2u?At(\{МY}*bFaDZF9MQʅBqj+JN'~rV)}I\C!nAPvӝ0ʥmL>ګ@e &\Yu\#_czJ(vI63DS ڴUPM$nJ?xר6IwWKɝE(ִң%.ap+Da.rϨ٩d=ӃVǢd9z/W `7yW ,Shb[ T;i*E8>Fg3]1ӛ|nxˆuF2W'PgUjDϽCt\y5H GX uC%X/8巐ؕY?(|\}SN&nd]hݨ5D K?XfϑnQTS]7S<oA0&5 ŰMMjx!p\< V;~:,}MtJ,!Q';̠gh8e D#Hxh] 8>J@b a !ogv̒ggP U\L+ԂٗMtg3en-\0~ࡧ|ҞbrcQ *k}Vf7}ڌ+K|9e{h`&{һ6CbKem`}DK,UG8xRDd;k>sU;txK݄7TesWK5yj)}*< ӑ׈]ڶUOtfwڐi df\E&6-uHbxMo`=Uy4I7Z,r+3a7 E&&X&,-Y܅BJs/lݻ[*]Q*hkHMBmK ׾)Tj3R͸i!vgM+unwթԅv<* 侬+}l/p2 6 38y8U+@'T !| pm$ˠg 0xפ']<~rx7AɋT@O|+kyMm}rP)͡u n um5!1!c Ү-m@d϶@<}M~@3]܏0eZʱIel[-;%Â݄o$l>Щ+-2 o+1;ݞӽR?LZ4Dϯ(c<(`@WPw[_#O5=yΡEC#O *>qey*Ћl% KȿӼDnH^edY}kq;H=)@ X{i',֊\}hsG@!4Fj"!zrgV=)jm0l0jEN|Ӆ Moy֏xYrWCq],j5:/BM(}6q &.L/CfڋjF*™=ѝ;lU7XʊQ hzRHNNt|]}M?? ڥC xd-Fm4c6Û I%Q܂-Dlkޜ0N ~b4!Dvh^8b28=NX1G[!QM7NJ/vhmNb?WRYȐ%)f4pJ=Hk .vzpW;b,M_ɽfX!R߂O~v bYLuPXXJM|@ KX{eP 9֒]1X;¹ac@ͤ!w猟B02lSSV]-N\^fDUJ>o:8('ʌѸ/2zK9#7Qt{(.]b|_M,Fdq-I{y)LV.xi B޴%:N6ebitflmH,MK- MRt`D f? sP34 EoCTQuBK|;;b>W[]{Yf4/EmŁٍl8?az=S,~D4?4-Mpެq%!JNShͬbtd:Ӗ!YyÜq_擰u Z$ϱ1%v9Bp&p_0Í 3)O"xJ`6Ƹd(j{eh-A8W!Z!8G'eKe>(<ٷ.mi# YKu7.]X ?/@#MIq-(ok$8Vm6vsw7Ȇk') i*cL )糢%/ DKJÐBqs^r?Bѹ)%CvQz`k , >/:7ZKl1fU`ݖYu;aל"|&3:{! )~DAVn^2d,B̺4x`D83l'Кh9c]NIb&:5ewoc}'M_NgeQGHT!UR |/!bǨ⏎]AI>RX@V\wcW֛]Wܦȯq>g,hwie]gעηYA0:̪sCȐ5L^d8#à'T!l`Д[TrM|6yc9oC'XXUns+p$ekyv_En |+7/$ P0g,r7R>fzRvliP_c{i75%n!B`tyήk0EI`toCSÒ\|crf|[L4͓L8fdZ0 2\P55WGivoru$?5Hrx"g[ 8Q^k翎ҧHPс;~]?NWX">+ )D``.Ou uo$G9uG80FĮ+ˇw;]n"' 8E4pgszS$ >ͱ'tteK&5YC+HY/>dOV= CZ(1SbvJĠ͉$`ĠyQ Fp o,ft5K$0z"ڊy˕lNSGhC'=3(;67ݜl˧ M}MoE>_gE(o*‹vf0t\dW yJr+ G-˚y%R`Lب5k7|VS>/*O!M0Z<EU.̻c4E C!֏R;5-lEZ p.#!~兒Ԭʍ+[j lIY%DJ0|o\ݚ(YSyd 8KFZށb_c6_pyDcJK2K]Gf=(J veT,)'(Y\̯\;j )_-?3̋C`w.tfB a: 8*)h1g6Y}UOϢ?*TG4էqPbNg2oµG5c3Hqܯ}!3{hZ$Q_E+H&2eSi2kEL{1J) ؃fe<pk7$e^dr7a?V+^Pp϶,vő~NFAI!]kB{ 6粲 9gG sDlXn`T)`LBRabJۊ-}R Midž "jeN3^c_ûe5n e R3$qY4fgfdxsl1 wsmr@+5sMUѴU1-ON먓<깖f J{0w-/0z/u H>ȊmBYDn#GL4k¸-=w3>sތl#תEqµخF _kTr -9)/x+ &~ TA^XxWH{w=f,|/ju\іiH>@ 5rZGxB2ݩWYAD 7z-v9PT&s_4#+`tи442y I$q͸xFvJ`PWYSYz4 l2 AYty9D]͖O@`_^(719#nW:].I.aj&K&u闫Oȷgԃ_0!W D 6~  %FqA?$EJu`IϖpjB؁xKosT(󮝟~ c1a Ɗ@C ':w ^K{hwoλR)l B$&#'yij͡S rj_$u0-2 Ǭfl>uTG9a㵤DR[Z8:y^T8*'"魛x,eE9XסVk˲09-u7".,'a 6"E49 $m;wAMQ%`Q1Xtbp>DM 8PGÙMDTy9>ϯXHuף[. Sm1$t2@S 7|w SQD4{JwTML7͹Jg82f{u zޖ8Fb*bcCFTm1YV`TR*3>LCx Wv^”3 baYS #Y_ Rm$Ynq=C3vW&)MT$65/a"h;05|KQxTX6d݊"l[3p0] ^2D2<.n}g Rʰ8юEm{/ir{z!bX0mG'^\ 0DS)PƓ͋ٹӜd15$l \@'r!PxT\)}x ТͨwiPE !U۲IsIQ&b+{0] "`j?F+jsU. r@"8,J_K18´磿x'†74 Ytا݂6m_C;Xope7TRYmEm*# !MwJ 3=Bn:#{CF " 33Ф u~lߙ{_1L}AsME0Rp:ױ<^ !y#$pĝ[̩iFg\ >r'}QO_MQxã-<75Oo믚Yn̯-rs}96yE,)?8-}%8u#cjJ)èu= <,Vz x=eЂ@^nlx\R`[R| M|-#\ w@z 1Yw)Љ9rĖ6'mfz᷎}<s ը"#8Lxp}h"CxD~mx﨩ˤ_*vGc>oK>{nr+ %k*ٽT ?Vw.E{> ۰&|65|q¬&&72"6UJN;qڳ!֯MQ]p³t.w~Qĺy][=9bz[BDC#urA?):ˢE#өYRmAI~J)XzUKOIv ֕ Mm9@fpJq'mTW܊ŞwsLfIy&î<TtMZhĖff B1$:SQ!N^˷cUc., O*l3~x8|)tPbKX#aTuF~x@MnrL{S^w@g˘eCk E-Xȶ|Lju9c{6[QXzn3nZּR ?dfffvRhP!*Ib wV>4M4W4goߗL*z8#uL 3M4ط!MܩOCNGkX cNc7h}>> sɵ sue!IT6[h[' 8G>L_!DZ4pSɗs褡cye'/(1QN5zbW okץ(;hwR̈ 8ꄈ%!gbU `7&s7v(΢%/\l=pvT`3+TV R~:meNt 2,މӕo!huv"rCnJe>F;ƺS?g}s|4+- PU+8JN.XQF0QN}3?w![yыX%QCݴvNyWT8q:s'\_8:(vQNJ]ݙ6J%Z yH7OͷHoއ#/" :oU׺5Ÿ-]x)!?3 ῤw,$Y+_K XDA@C5}Y0z7Ώn,`Z=`qrֽ3&5˄`YDl<}je,LA:C̩nx wF`2B_H$zmڗ(:CQ KVmNxc 5bj8p^^{o8aTU|MN|o"? }.{RR=A>|dnAqfYZz ۻ.A[ mv-qEmۉv~_ Z1F"+g{M ۔|*63x` Vv>&[=z.>Rʿ7NُY3(YMCJ[r.kEn)*֋(.i&9[QBŃ|9iJ |`9)2||6=Wقu]'%  5k"D7n%wd`-GY*+|sv>J' "JL.MeV$D;5;zn* v寗3?^޾ XrXc [WL\':tA!$-4nؐxj^.er!-B ׻=;$#nVi>ƓVFvk|+S6`Z[S*tU~(`2sWvXYkz.DPó<|Vwu"}Cj[s@ɕQkXPۃ{RX$qظ7y6D&%Vf_hCC'}ԱTƳl^y2>`&5 D7fݷU%g"o#=b>ϑ8Yƒ =J2F3fRsxLgj_QzFSsơDzVP?Vo)"qo;家_떁@w ԯ <(e1ʛ b|; J3cbؼ qx+/{.C!>7;o^z^9WB0Jrij@GAlu ߗ2̤ܰιB 5ًL]РRΉ;\u1ĩ@BvH`z"EuFnP]N 9#8$q{yD|֑!p `sULt'*Nß{o[O6Plw/ ͮw./؉`aK7R}^%lOW$j7MS+dE;ƾ˖%Z>lf)jFTĄCy=5|#lʢ%)ɚBc/i׮M AlcƇ?eI>tOY\8lZhmޮ`|ZKѕ`U7[&O #|I>{L H LȱR2ViYt.U`5?<犰ONB"),9GxJ3lG>NJMȖnq[ Dw†5.bM9rl"-w5@{~TO"ysU?6qj֤Y0mwaAH4#!d -Q=/K\Rhk:$9 fsuX[t\MW YHLK%Yt+]7ZEfl$.㱁%v]޺$ O_33gtE3Kg]N!aj_[ePr݃ʏw,\y3~_1#i~-Xk -)Y@qX"y5,~_ _jL#b{C40"h aYE:L!I䦝8W&Pǣٽʪ$(sOҏ<tU @vQB>[wB.>j%ɖcqMLwf\jRנ">sPۤtNI )w EE6 kv%Fg@a2ƒsxǾgw2hWc8Lw=01,0&Į:+#.\Cy> oIx`~] arz߮3W]JZc-|\)Bc2eZlj#ԥBEIwS8U⽐|at~ܳZw&Ggg(_p$b(W`u6&G>A"e1B513>+u0vu59ы EylĄS VWCo. .v? e)>~α-;o0cek4HʼnÝ7K ZNcl~^8 ^EBq82]4"0YkA~): PZ v@${]"IMaqP_rÀ,IC2Z_fŸ};*:/<2'r`NOt(O^yEICM*P#q/melFgn8IQw2{ؼEɳ0WҼp8.700[ǚApYEH04hq mC(v_'}YW~eɊe_"&4ީT rz90cewGl}gs[Hሱ5%KKyPk(av5,iW+f^#Vz«>*>j sFM֫&lXI;C֞wuxW^QJsnR7% {~5-NuH,?;_N!nKiZᑬD{hfue~63CW:E4{)~#rvt~: RqfWCE9H-zj_ !Vg)9na`N2>c}y@"V,pgv40 1>rVю Sd M K!fYhSlŏ}+[H(7 %vitJʐ#64Õc4x#ҋGU% 8л+#Q9Yb%:98 d.ܺ>uWm2V[>F>llsי W} mzl}]sZ lD~ܣ,+61K|bDӹ|[H(!g {֠ yA|OOh]X߻ϸN8e+g f|1,z#^(Mgcϣ.5 2!^ZC?4XXPT_5tO%d9Im>e A+ `Obu TŢ)>:m^%,zbyFƊZC ]vBx-k"{30G1j;Gi"Eoː#DM͕d*6juE<]XFL"jw =b0)/Q XaPxlBq퓐Oǻbj>Um dmI09! Ik& &=T)O 6GGOM~=&9M9WARSVu4b(orY"`|vX"D||LM3rbV;=J ?Ik{@At!eKuJ5▊I;;j xSӖ@ѼƷzWY*TO$olsKJTkD" 94me5$>7y0) [P6@}eC bHsBly-q_:7XXVa~z"1m[ε?֏Q ij%׈oaj ?_ɩZ,Lv{A ӷ9sˆ%.u;Cwouc2dgNʓj?8CklE#`EM[;FDNxG7 ֕`n?nR]oz:e$jVda$żv|%`0rrpy$&oGzw̻QS8A0&Іh(CkWzǰ)I,GB&8vN%iE"5@1= P#QQoo?QVj }LhR Wl!fg=̏otLHXS778Ž伙p7|jJ:D"e a#j{l^c]8y%a+~m5ܐ 4rOݴ %ch7KdD%/g NGDw7RH(ܕ0_jҝ^B7+ReD =$[i@˖:)[U83Wښ= Ua\N ){| fO"(-;`8aHM[|{Tr/ q''I晴qi;kwQ 1Ұ7+q$L_Eiɘvaz276$ α?_z06Z</^sx{26Ǚµdy̫ybQ.UHM,[_k|Tu cp,P2ted¡m҃߳'I3&ga4I3$}u'tmzo8yfW9HuqIz߭[ bPߥ %F\٨sGzoaZ͑_|2?hz{yI e+z(`#d^+7"q \Nk?Aa&,/2R_4~7 ?jzE_=~y_hك!,__P3*Y3R}٢Uu*?C?G83x %ųf\^Aԑ[ ?}OK^ZsG"mQ' G?Yz]|~b) 9GɆT%%e=5 Mb4_LslLVQT I0R9tGm Y Aqt&p{krrh6خ`Dۅ7bNjXCbh3>9A./QaNS5G`cxVuƊӯ몮="?C0b c|81zي:}4I 5~ɦ: T<4ݑS0m;vmY[IW#8I#wXy zwV:v|oq?[&ۓq^&ʯ|-%\QtRz4Pb#8RIhg=X;VO?<\ib7_^?+&_yIްd06,a%8^U=ˆGNc[ij~}DCqytƒݤ[|pEYM؂ן&{"ޯф6=nǧgHWMpݎ7C/PB CitD_3i˾i0g( U-'uNdbmt{]H/:G!7~|s4s[O90~o4M4rK E)~ҩOhk|>'@¦Uhu+g<#mwIoNG!여2iR `Bxz+i}iUm#ActfbDY'fԍ~rp"8! q%hd@|Ѧ'I2Ө]>9R$ Ty|?-K7#Y]Z )V xvD[_!+ M̧C4=?^j[?Ң1ClXMԏ~,`Nx|qS4{54q}X F/>aw7""Q+30t) ~ZooRꭁcEIj7{#4T2P&+[(ܾ, ;bt ui RD"mB_Ndxj6{~xH<Ϙ>B W>~w\e$tlת̴B[2)*5sjl:MJsTtbE$^X!M){xƈ IfI9ik߻oz[ӹ9l%0H E؆NƉGrT.PN3aK O@8Y7NwY2h%8PɫzQ`1#U|[۪ !(UᏩ}d&wgnh\jI@0=?!-tyG9?h_Yn!T-rAtcڦ$,U`?s h'#sd6U/ϝ^#ΥBhT`icAI;LhZ*۟?)x7 Xsùڥ;oBI-rI^Q򰝀S^.zuO~ >ƢV)tDŐU|*AyT́֜rE2M6]T;6@~m_D&A# 0v[@5 ŻGقX/'Y㕗(RHs1(zNA"vˊ '/wbKru> SkqZ_M_w4_ "mB_zt}.PBzWޕ[~"-r<`یxWO ,eWU{pm5;ÀZO5cJ 2^} nrU rW8r8(ʄw)9o' \7H^=LQRO2J[[gy0ٟNz_)0 1Hcg,7:0SuL8&4)??e-!;j^&k;Fdٺx7uM -}{pM (NqBM̕)l[B{NPXj5FKidM>Σ1dm%XB3L27[Itt=\G+9^䉈-#),6m] n!uO_[}!{q˜@q`Lx";n+mŒ=#LȒ|lX!(4q\(Nxum*v ؆c4R42MQ.aǒ)8Dcedf2>!lǽúuBi8 9У9H m;HO2Jq5Z:_qϷYМŀ}i9e|3Əz[x&_ qKr"-l0kҖ ]%A,jf3E!d^Gлmf0I[)nGWW-1S}\?-Սj*Ňuu)5cb)uq0y B<γvލ[7sLSĔH !Hmquo2cp KXJu)7OV !+QٶT䎈\Am }8)@2R ,ZK9x7fFLS*.;=t'3㡄by} zk[vH&]Ni8DvY?C7 @/a4 +OZX/D@FNr<.BPW~y *\qDC?l vC=Y9gmE߀jNPJ[ȡ[a#葅fZw M"_OA  Ž"YE}we3Ep/eb,D+' 0Tc9= =4 $ Zd|2Cɰ{P-]ge2 s_7`$TKϪu>N#Zy)> ;'˜2}i CI3uݐcxgs4tĘbyi#+.b3d>,05YI ?d2/(>cZje͛:}; ͠W`*i-P$8i^AZ~p>Efݟr{N}Û>P>~$ z^R"tyst("ː58iW{`)#1?0:ăϝJڿm.$O*ĀԖB^ڟ0@ s#6_P%:DETܽgY:kYP3oӢܣyIMipfV5z,MDpHcFKP|I֩2Ne9h%f>*lSXtGPIv9ʣ,}JC4% :3|u:iעL(SV҇w/A4Mk!j SʇҹXEAŬ*[FD60K q\a|SU_]5S_C[ ׂ?Lh8Iq%?ZEapKĜvazԮ>._=m|qHmB47 .2 ,%txfR s'GcV⟹{@ȸA0!)~zg+4p 26F0W;v6º1L`cob'dg(ty$N`,J)ygJxLL V7z1[Txr ̛ Yck7`sZ6.M/u8(ո~fBW ,C6ٲLnyHg HB?wdz;j$՛)`;Ys#\j-Ս{ָ?[TMJ4RvLGJGQGbd7_ 1]-:_B:w \uW!Fun,ytYЊm8Cy4Gsvt~wqx^. À[^Vqaͽm2hܭXW:If}KD Nzd!؟hKԎ'& PrQWl-m$nOTNqRhaDNb3STjӤK8}uEA(1@r=*@Vhp[9_`^wI9qG6Q Il"?a@˄XAd0TO0Yɺ6N[X7_{d\._Њlw}RY@P߸j=7+]cU[-S 9#FLZ 3p'7zҎ[a̓asK㉊śg AZй^ |n' @o >MaZ*kt.2 Jk^>;ok`}LvzX^ uK?P~h%W̃E9,4QfΧڜj ftxs471+2! NM~Z=F4Nl{)Fa='孝'Ô>U]VwZI^6{&sg⁒5?l dP#=/չiڽv(yaeDy'.ibla{±A7l5#zɐL0GlQ/>I  SerfѷZC]ؠow)G"ZJ~s̡F\&tȮG2Հ,$b>/8ƾ~V.)]n\ 8\ũ o5Fr۶=)\jj%K QL{Q?:B/ B2㓼2>Ws!be\hpUp @lwDN:,\MGw1}C_hsIm/ڸY$)4M3{RgWԝ~U%)D-ky pc~Һ٨ m6Ȧ)GJ uZ(ëܧp F[j.13R-P&T1տJ;zqbha0(ˁ_JEmz1 )G p(:!})I&vEAe,B2R'RG`"6M+V/Q Zhગs9{t8_ƶ&|F-,`ᥝ=KK@/KA#Yp@^(෷V4yH~7^vnú G*{7E HWt]qf̶Eڼ0>x*v?SNԳrDqD(tMY@3nb,.g76i ) |z6jd^ODpu3.MyiiPiA045 O\i7t}UqI~FտsH88燉ee$U0NAYj km<٬\c 9-e ,Y &"-Z,Q_ېŃ| PH4 fD5,[|0StEmwZu皕ůFxߔH^s8s^21PK4AAbZo|ԟtE8 cC޼gȱnZ+7:-KphrKUP|b1aMdt.ۓsސ!>mLe|hR3#ネr?($Lu+Xj]JȐQTXӈFcBa=~~0Z׮k=n*!䕲=2.}eI*7'7@fOҦXߞx3aaqϝq$1ATCъ?Ϡૉsc4;!vq %-WNj\(.4ƪb=FH /J d2݄G\y5qyJH)~^C#4̎`@^KEc$aȺg'vM0O`{Rs ꎭ QNٛ\ '8-uxGi ֢\Ȼf)*V}x~4K-\V!9z0ax6b ,(pi  B_#h"$ ͪ$1 6GFD[PEqG:zb&pC9_񪬏tAJJbkOCA T'T1.'%A-"I ޑiٌ (]i99DbY>`o̹%6< 6;̇7cgqH75s!T&h )6ި;rBt4Mũ쾢+a\F2mrE^䆜h;:gk.n2JWnRǎ/7_ʋvڊPx]a `` B'G9T->\jJ'ٍ䦼4ӻp% 3=ԶC] Œn jۻLFl{o%yqWH*_꺘/^ZQ)1 mK&@ DS Ua}.۾-Ҟ±8RpzFrD ;:UzWZ9gƒhVjnHU#^-6D*7 6V&yn3f-uI$KAF_)? X Q/¨0cE~?dLm1|G'G^N\IwYU[)AwsL&WNf wRJr]Il"g<'Xc tXhENI bޯ:5EY,E(ҽ~p[D|րf?ROiՙA;+b2?;z-L BEݓP@#<\BjQu]04#IQW^emR]NP1;QkGyrܭ?3r;V6W$7_4 ŮW1Gfj r,ʝI0k qRwί k:L(o=JgP$}1[u*V|!ˡ'?[2k[)BeQ+BƜ|qĉ*uzSJ*Uڶ(Q]͏.e 7|g{훥ӕQCA׍fKd0-&=&tt7:T`j{Ƕ[{+X?w$Q(yđf֦Ϫ^TbA?  MQ-1n< ks}2G aFD P4\ y$5_aq7Shj[S@^cfY~:gdQ}A*!iƥj}P'Qn-)|2ﳌ*H8/ 5@ XuTheH&1NmGט!"/+qg8A$ȅ}=yi\bi]wPjK .zec^~FX;0+G/7Y'/i@:`Հ4kz KJz%fx:b[x&w+"g@V6",ov/[roߪ#}0&- -ɡ+PQ&aJc>a9ߖi]9z㮝dK[L!0ag H Qq*42RZtk%ҥq5=}</- $%RzNߓC}YQ>5`,'_Rz)\G[y|T觜 823J]i%3lKoIZO5%/(aѻ%=-DӴTME2k${;Lr?jA>wy9s~ufpwU+\iMT/&:ZXHu S%MP`*A5XX(\f#zAN[PЎcdzhĺH?E=cEAgG-cj~g8yru90B:S4'\EL$ו/ٯK;jFUccnj#,ʋ5Um@-#b|KeȴJ-F+zq }iq禣%/j 0 }oIʠhK<4G΁a!} 4  aD%*OS2RzS,ݕM GlZE?i 2+,*t˻i oFsrloǑF1L?ѝ- f-J 7Dܢdםr-.$K6|>d-Ci;mSkͽTq5"B4F;q=ӀA&1%& Ng"spvAR:W[vE HgR_)3*rgE#V1 q!( k?Y)v<9@<`վm1AG>xjY * ?-ƶs+hN2 Ai />PGo*Lꑘ393倇5QA!wL>π< S!55> YZ4bkO74ǓITOU mj?d]wv ;Sݛz !~ᴢ^YeԾ&~e4^ˠl$HC6+sx.}?K H3:?.a4b*8W<#0ǁ0vn 뜏. qA8"3Ċ*nyDNwEjD(q]V LTOV*f8(1 :ح9b>/]%R#Go+3:L@r/JHc44 K7w'ک j HP⏣l2 <<ƗJ;OY*sdޖ8r:lZgb(郧W= 1ދo[V"r3 ?4iHPj-?F9S!HMQGB87 Չ<@9J5#D*[.]4y[%=LR¿q+Еv].qcе sGD;_E$&RpTPkt2"2>ǖjR̥ CM75İRFCM|+B[r(W ;9VGP萫&Tfg5۞}8~aTHk"1Tp H ﳓA ZaݬŸz@n:S?c9 Q(kWn*yDG_kHi^]"ɈjR4ۗ3~ϛ>yG"M.)1e ]@O9yenܧHB!YbFJ46݅22J\\ok ۵?*WSrxKĻ%x0A\J&pR#[!_`&zdE3"6jUG)7s(HNIP|k a ~obtv7ޯYZ`XuS鈣&LN2MEW UЪ4۬! BR;ü4Ŋ4(-܊ `kՉQVʾK`0P&kC2q]% g[Q}z|$8nnpqǡLEkce$;>$1wOU VyP],ɮlm ڳ(1Uv8T&I筠S-_Zk+@lBu(B;/aВ W'F7nn$NE D];E*%TpQuhЗC J;Nv(&=7hWHc-k hfVdn`2zў͏|a=$Sv<Ot$½"*2Ęu)z4= 0ΰ9>[]4^\k9bq-k5ij JFa!`M,})u#=Wx~6.'oׁyAZJuUAA pW':< }0j\y[NZޑ~JjZWOHxzEE,pzdwYcm:k;p{떎pA9+ <1 %A=ctQvlsrtXx'!]56X:I^4xn!6J6k 7N=.|gY@Rr '6Ծq9q9z#@d@(QgIF8Mԣ 4ZiBYL~) }GP~Km8FA{F96 F31,.Ecur=a,JKȩOؑ2X>l3u:1B8)HjOxΨpm*Qi=f"xW׻C(  i.lؗ/ u@m` szgc#(R\uEJ(l2K5aaOi'|cX¯ #$Y=[* 8;oV*I78Yi`i UtJ?B=Nɉe;@.Aa" rݴ 6Fn%YTY)lyF>'(룙j څhk <,MBCߵKk)lȥ6E z9`=sD Ag>N wO9Z[i]7'-$9Th5IR~!Zc#Ch 2N79MY_NR~$.k|Ѩ|!B)##+U5]L]foԗ"!'5l(8W=V 1Wa}Oש= D(8r%}H"nr=sRx<Ⲵ,Sl]x~AeMqnI(&w%t^>ΌԊ:] vE2LyhqT{WQ1rS;Q%+m٥YBs7 --}u w:IC}enwv@ byX 7>|rw=0|ڇ4?3^VE,])uN2ЋceE t2 K Y&d)I@@O/e; ()_} +f[l *8MF*c3J~lފίܢ{J(Xa;t)eZ,hiM7kd\tفu$aMO> vl8`od'$'9^r Py] CH;1Z3λ_ٽqU!g*DmM^`YrZ`LFs3Qy:+bz #ИyxQU'ʤmOPZa"۬Ah?E*8LrYƤOHS7؋ utSǀc7ucޯ!1|Џ@9Ox J u ϡ4wU}I (_Vj n-dn^Ic|TiDP!M$[vv /CKߵr\#ipF v[Hẛ݃tb_#j[uH9#lB,tLV?``GpD1ًqp@y|&WZ4wCI8eU,^}h2#E'ެN3sej[Z7 RD~1X=ždͩzT&/v%Ѿ|:pYm߄y gt&^ wԬC5n,=cz=XEm+9; qtUX!8<|ѪwCvF FΚ2QRUbrҽjvwRX4h팈 ՟~WGd}T}jDHPYQ[g48]ӧPVv&7eOQ%0PG%ܧNjkys &y~S@㴇rX/>Tc& `˼VGR3dFF R?U{{ bXC*<^=i,WHuNj>0iB\.Ièd{cnp V4t~j.{380lY"w3d ly ~ 玦酹qutgk_QHxY|_YDg-Rj̄Q~l`΄Vt9ł;@e'uDEN,Vhc ׽uIj toɌ}ggJҡu,>.g`bn5Ik?@[{k= gxn#F#z%ɿ8ҨJOkbc~ɟA^7"MUVX>(Yh3zm-~湭Nz6$A j^ld9~Y[֕>ڨѨ&#;U>={_O&:xjS071s(ܳ2<V\oV*vcc=dF$U8k܇a|K7Szi}i-qo!?t vgbHcE5%[!Ya&jbXIeF=kS Jo9sT@7(|&@ڬ'ëT^6o`G&@'J/˙iԮ%E0sWy /]wFinDۑq8q\cEVp#k58!Ε\."HS-+ˆϜnj?`Ecfe[I3)P/umj1?$Ϫ x6<Ϭk Z-+p V=Ҩ KҪ3dI9ޕBnqphJL~}El8 :Ղ7?锽HںB6 O<1-*{pc@ڨ@,7i=U2B5_LT,kWm}JB}/Z Ҍq斣PಛǐVaP3Xm'BHIOH`4M#Unc3sԝvԜy):zM0Jm%n7q~zvj?MHKxN yuA%_vݷRpܤ}P@B#ڌ*`*EZP^~fC,/-|Sӏ8}2uqݐJv^ qXQL4"oD)ifTԽ%ĕ,g#e.-}6'=n$ܧVkc?,^ WI {)M7Ѩ /s|`8gEϲ2 @wPmS] r 2'~^賘h_Μ*e/Stx0)!O[nb_LEdlb+[@^0a_k3)(N%jóB"vKuNRG4#Z2~|zB#i*?R0g'A{fð'!jIbC[?ӄDvjPXC wq]|^&M\3eX mKȰwzKMR*;^-Z 9=X$DzΩ*%*ix*"L{K)Jm"=) KwԉsjM.w`8u+kdYN~h5.hj;Vɶ̴Xt#W q+J\C:rh>q idiGD9+iL]@lrn<\ oc:eG@;wf}IOVZY'$}`@jG3=nE#Ǐ4TPQԡdVOg-nVߜXw0 ?Ո<8H)/hșV~>##:pK摉eխ{Zz)"U ˊXU}fҩ3,{dZ~}#6/Kt۸jEf7/NrfܬtX^(N KdˆgcjD%[0?{)agcRh}w8w/J]1u 6 lk4 ^cDaNIΜgk\`Ü@ƯpqN ߼Tgm؅li,LTꤿ[2Gwk5ퟒy% wѮ̇._,)Y=8fCC6 ƾb4lnM"kUuIjm.+0](MEn׍%2j|{HhK=cɣpEJlueښ5{ظr %C}=5tZZ2̈&n+½oP=RV^܌]("6*e2>$B K! ^z qtd!<^ǬHyLyZGwr_y#{LI}(\05%P4 X٠nҋz?ӃxbZm[Ѐpnۏ^H&nVqต];ZA׌&v`-1XOkj䣦GU40&l4('½>ԦA]mr'l=NS'ip q#@-!8O叵E(=̓CfIk^ɾr7,UL"Xkt*AqqU_y|A ̑ͫfoFI|x_ fI4Yʿo罩.I h*oӦAWʣ#&msVQN?K\vf!Q'|KddZekgPE.{zcGNOQ9o}zc; 6+7pqV1 jZu0E|S[~~+anBRs؏O0qU0KAg\D9b@S<[ m&jN.IrDq!Ɲt;ބ9X!]J/ d00ibPYcYڑwa&9Rmwjׇc[IF#?CP] + yUrST8`)] .3U:?&4F_Ej8ѴB9j5|]/gMfDV0@qub }UgS-@eGղǺd r7P._^~"fW,80׎6dYT/r_"Y_}B/a~جVI ;os ds[ib?€vBo_lm|D_$9<Ղhۆ3O$pL5֭)dAyPy^RYelE;jf)+P!pu{&}fĚ|a҄IXQ>j1]d42VYz}Ϛsd+ @JrE}YzߢPb` !z ÞH1[ DAVFҁ#FӜk̰' _wY#,]UxQ3!hUӃM7nH̱O|'7w@[bumm]v8=va+ 5sǍݬX֩;xPI*_%P)%>kYtj!D 䠳 `W\e%)ƅuٲ(O {}[[c+*b75 uxZP͞gXË|pRjB+)~ ЭrPVebDh/Mrǫ歧^ܻ/ZX/#MLJUDž`^Ѽ0 t}qUM{H<'gӤ੼bs.gxvzA]!I+q55 +|*@eH|/B&fP$B÷(1?c{ކ <2l/}[X"v0+  9rE){ eDKD=7_~ԣn菝ƨR9YG~[/4B@k3Uz=bBФ̲mJX |煙..ɤn|*ioN\8Q+Co$kbr\NN"-J>GZ%h+0폞m>@=@1 :|lHuY `ſ|.K:/.TM7jH2,dSe2X7-~JqF5ƗVPDb`X}w80oǤVC<+R˲R;t~};qy{b2PJKJ\E/R(17qsϟ{\%yk4/FDƃY9PN " Z'OCJVĽ1W}"6(6뵜Loo MLfYn`k 0mmr8:Jq+XI:nyE(L!bA Z˖S7͑a+VK5}k[۶ )6D R>n, x bF-t7I}CØYи!w!Ƚu{Rv< Ue:F;\ }kVjw@ ;/ӄR"dSM rBY05#3. XSaRegQf%d|*Ihg9Uf2^rۗ7 Z~ǡ#nT{.u@B3=6i)S$ bjHօb"TeIM XLc^x|:.@T2$*q\ |{M~FMDOhbpu@8@6HE~-NU?t#s%KS0. #`,G{4dsd[1)SV(5bh0I94:Oc!2_ p bCw夵&ҘW@@.86%xCf>w҈0_}m_)OԱ{$x4\篬uP|GP?fe-; ~jm? 142ʝĮ9@m(D{8h!Q D­Pbo~/b @U {)Pw]i`\ew[+N9Zӓ{ҥk3P2txoEh, w E@va"ZXBI!N2&; =5)݌,◪{m2pa\tjB(\\Fݥ)@eZe㸫96R^']Z}˸HX"CkYíbn $Ov f,5Ÿp8gM$UI~%D%*Z~x3' Y=(@M]-cvцB2].`:7QǪ"s~INfwqHo?/hG<GRD\ﲼBEKrX r^G]۸aƒ{79⦵D#OYWjDx&Uuߔ{K(+S/deAMR-"O5Zx?^! 1BHeT4P+QoȇB zhlYH(+Ci]d}k8;:'-?.{bHW)Ƃ iA'2$nv!}2\C1L$y2xzQoy#SK<эߗQ8G ef&t őZ;\}.` gųDҎ3`zr=@7 T+ߎ!NMj8ɱ ǯОB?sI,N\L Iw&VÛ1G*{_H+IG>з@IihkRVfMXq(7%S k ?$ihO7'hEK c/M۬fV +uPŝ( B'J@N=*"pb4(˄)rGPGח[4$SzJ}S/A/AKY;9l&~o?sC_7;[bpM@Rj5 S ]Na|pe%hXѕ(ר8%_$ʤw2 m_sۇO30f5 @tg|;XxR1>UvaJ iDZ.@bD ȶz(;d*?@Eý%1tjޞ4/{T;:[Z 0643BκnLx[(nO#%}Xl^⟅x!U։R"m"ٰkj=Y ŞY#q\k)Aǭ,fOS_j`t@C9A&WD32N6Nϵ5Qϩدl@OeG]<ݢK aBBKnQXޒhh@9"g+'{h:/>M+\'O"S2%P2Ca MgόѸ^qIu!;ߋHɶ<\tQI:51B7i?w@ ݙ/`A}l͏<=%eUFhM&+ zZ`dkvK֚lF9 D^y&:mDWfQM)而>jF#2(! I'~t}b &!c 5Kb"@(VG6deʧ ;14fⵢ @^e Q:[}>:@rł$wgLY܊?dDb_Hyѧh,$EHp!i>MsRFL`t|51ãf>=c\;åz͗~<8l  Ĥ }?ZÂcۥo'[m4x`0%tz @gQ ICG -Ӄ[f8.&̮zOsq!Gluapi::T#t6J X!fnzRVL jѻ؁<&g0 qN@Ϫ`ous 2u L5$vgGnsD- #S,x@?vVW`'5^NMCM\i8qB_ |ߊAD;_ýL:'3JKdC NJ/۹TXz Ҷ[]i,ҿ:Q=cRȉp?ȵ}7r"#g1ErZ۹8C=l\"A+ن62 B}8ޤ,9EE }qPZyQ~> rkLV! Ycӣq[ZRO'yӅ>ʹ*rmW #]yz9=rD!YzϵcO_Ywp$e9}n*F ˎ:5{FDӰZjV̦;ᤝH g#' &Yj.^VY~40(>8OF:/ND9 !xۂ/D.T+3*TT~~yQjPB3қq4Tj"!bOv^{X,#ST M4ـsa dN^u0`%`qt3r HlhGT ܲht4Q벓׻buUhPy?o^摽uS=D?k)I9w>`NA)^9Z8jE}lO/fh I JkP2kP9RL vt7dF:Y[0q88]2]y%ٵh`\$8Svz^uxw9ᐤjF>Y Gk>[SpYUJe8EǿT"{hv1^vl~7ͬw#vdRNN;>3/`֦m3b9QM@Z^Α%,#i!uw)  6t w8T0;. -Wti3Vt*^)&yI&HpLsHҕqZҴ{ҬyE*m+]$w*?Gw@/]Z ]፮U 8Rڀ DаlE?=,\AZٱmrAU^O0l5xB2V)3㹣$M =\U5d@0)P +F Up(]MYo.E~ -F7NS$IFt0L7e"̏S,j'ƫBzd769P@.Ǐ1RB|EvdPh39Jd4kԙ~nA\/>4; 'Cpt2~$(ܔZTʻXQ^h?Zڽ W[B|ERR\fq~خh.%QOEpv5@ߩ%PO^I1E5<ɮB~$N]&X>`yp(X-޶3YMB#+D6j29דT@$;ũ'>\A/)*XH- ]r{B!O5i=^@mG63[1XUOʉrYv9Pgò":uܓ609 ߥˋP[kkd[r!eީ:$A߮xl2e F0N9^0I ]82"i'^"XP%) jo ŭ4y5 jz{?B0{2ujgiXs"R HQ59VvP ] %< ]6g-3 KwL󾀵q(( P\ڄJa!8)[q9fD+Qt:EǓ(*A,˴S@ڼSF{$`=f#1^VC0^%'K8zd_C4)5ܫIW,C'C7egY\U.* _1W@[R_|4.طA0[r;E#$U !:_ I߅)ytdy,2fk9+o|Rv:\Rך,֧dNE TAFWq,1U@FUjt&$wG"+Lz`w,Ut!@ ~Y\e_ eOIcRbgrRS5#9u!#lDI¦Өҋ' 3V7riTŚ8*phC  `bkn0T -rï#Kq[c9iChS,Q]k&%X)7+;&]4n=QCaOT߾{'['ΣvD'1'ybx[2)n*+ҷ B+5~(ug_PL{i(]:;=n <1*2[1R,!I,VޫxG>dq bF0S?@AL8o_`Q]&27 Nj<˅,HWΕ\qY[!?iC&Ē5@:8ٿdt-(ykQBt4 z4hVJ_Sn %,y0Q2Zv[UHz 1E6 s#([ \x$I/R-UޞLE=#@g!ܶse$1=qP:0 Ѿ&(wt_4>wd<%cijDɚrU{}]6i-EoQFm´[AZM2[B+N7h"aE쑯a tA4?"|X4be&_NkЉ1p-d0 Xɨ" )sTyV{٩[ʖ 42<\ݱxJg[*/>jn]責$ zD9\AB9M-&^w.Tn_mzL.C7 Tҝg{59 y-#K`Hᬕc j,ukP=ZL2b&ũ'<ssou?ݽm% كUޖJN Yےu[$Y/|CqN*qF)=-3V!l>A".(F^6Cl uȗR"E3d]2ccm,I90}\9X ̵qŁzNcAHoK>Wf+wJkrSz~,Zkh4+9󈙙;ړb[(l0 //b7R2x6 V Uhj>t ⯄qOQLWeڏĜ-$@Z}7bԆ8c l;^3K]25uVqyKwY-OsrBfr{wsM"WvӣzϾ%3\n̬.mnڋS$,{Lt7KMFߕЗiǙG_0:j2AHJ .#PD#Y`Dt/V>8e6tcduЀ{MhNފ FK[.gmC~ᅡ.[s3ljqƽv}V0OBjI7) DQV< FŇF0u$ܬ.X/i̐@}$U9=W ˞LtyRU':0w ncĨ?[糥;c򬮷5u"I=Ԋ2W#L?^;@"TJBu4)y'BHz%vWV9vfЕ^zn2o?N_"@Ǯ7z ;{W;FKg+cļ G/a<4AI^v^kp4~PxU)YVzxz-wf͞w"m.ǷSmPflUU*1ph[ӭV+#B"=N୑ O '˪w $| #Բ]'YxJL^\[Z:r5Z[ݷ*~"7[ F{f+d$AD x2@*W;\tQ2jم/39ئÿuWp]O4nڧ LhVm鷩#vaMnt?UF>=:ӗ6-dv`Z4hoKZA͖3Y`RZ1"s)k.goyK:Lɧ4>a+( SCzgDoX+H)VYNj#h7 ?R"-*xf'^$=,r.f4AJIgNڋe5u*SX&5R~|^NK!fxKW<WbrI%:Lbe@f3*GV`RXY3R!{;_UB19o3k{a.vqhV{ߟ$3PehUؤn+YEQ&dvZV$@-'t'-ёcy۞G~7Tci,WyL48ILԥz! &p_Gw|nIhCS&Jɩ U`{[\Ce"2/ejS!̈ERcdFd{ȰV5SPl-7+'&Ո]>HJd>Du"kPVaS~yc꿩c8Fhǩ ')*GKhzUQ+(N2P8!syf PYBri~wY>w)ďG\"Ӣs$1UxcW~y4Uu \t)_VXv^Uk^ȍ6N=-9 gټseGIzOt_&f(x 6oʯO}iHc0 EHK_!GHqݗ&'6&K^@΢UϺLE({k<Ye5s9q}oo,Q-7|Gˎ[OHd pqy>ž:5e :t(ڮdn!:FfXqC۳f_`^yOګssUŶc.xPc2{,%-y7YoY#f,F¾jo˸/- r$jtN0[y5 GѨM*ZBbr(Ix+ɡ< !"ӛ,("urXd%B!G/~Ć4c$50%x/[5xUCEɎAN`TB0h?F$`x2vǮ-dV>]K!A Jk"Ż_y+=3qD]E&z=R) \ݫE@ql9|tϭK|JʯLL )ͪݘb V)O\÷i3tj>Ⱦrx [ НZhƆ+wy)JW  ߒ,T&_tDQa9Xd Wr ν[Ӫ& |vV #>8,f^(HuKsط x-þ o>hn7bϖ6#١,PDf~;LW㍕%W=gg#c[Ǔܬ eU61GO$4hGiQR6z3:%%K5h)٫ç#q2s,5wtl8 %1no|~Oŧsb=`y|N wf) 'ou?Vm(ѣ]KDX?b(+?#}7W%Zbb 5Dx9ƹizש #%\u}f7&E8e SZwmȾhQSMٌ ބ&aK5jb m{iDW[$R =9%H)TTug+菦WEÍ~S̴w‘[~J%lKQ Xa~o}OmA'?bWGNj$lWd܇=x8x;{8n^=5?y : :1ӭk<]7Vn 9e+'¿_Z܌\ǭlbx(c#2sLk^lia3t頍WAvɻ?;-lįPhs[wy>%q__"h(mL NY+5E&Ztud(txf"CM舣<.:8!$q6@7fU=no%XͰ49-sԵ'KNcN&h~gFHhhW4NNAW 1 "J=&2'zmJN @/8vgtH,"-'NŜ^Ho)H[v헽3d^mD$bNօBlC{?PyEenu Z|30S},OWUzh9c_8Z5v^OJbΨvyct0QK0Irj?K1K3>6 INOCgW!V(A50|6Cq6ДA&bOgjв?#K! MX ZxME0GmPXS^ /"h5b&G1cLrKW)K։k7 vKKTw^}uSaPa4e]~z A'cc*C_OX2/hCn=eݯ L=%ӌJ+!I9ў;VvZ@X3׎ IM !A/d%z-XiC d1z!lo| WXbO}z]rfBF00ִiux\keP^`GDG\{8 #:CaY 1:Z2r >'{$OwGtރU×JԕI! J隶tÙi!\}/]O=.\F?ҳ"~8zĺQ qLo+'FT6:wUП([d u>EG%mnyL^OCq~,1ȗ<4lѐ ͥŮ}gZS1[JoVi6HD>u7j^5\9 3)3{']e:+ziNYşf"m[ ?lE_>Ǧrnb&6<06cg7sy<&l5Qb ̩3.mucQy ZDJt~op-\ j26.i%T4Vy~)q409qK@% Ioƛ0貣^ev_{-+NO"?C?5\K6sxH"=Edk,\cC&*qU 3EK'&*m цr6m{>ǸR5q:eտ[]q[XD w*ti쒙 /WئB )MQ 1-T[ V׷eU@>rtlZ,غ'@Q\@Q)N:7:8LI8=zy $Zj˿R;aN,{ɑ9p3=%b]˜j)k\-Υ U;U]b4M5hWK8·q'KM¾nU,񺁳4S dCe"fa j;D9la daoݧKRf * 4FQ<91* +KO/R#IX*nHmz_Hk;nݔSQh{^1Z!%4Zv 8FFexDEg_D5vqi"~l{eR -%37xh 7"df%.e?nPVi)rQ@4}w 6-""~:St1oҐa`ή~Ž6s|MDjt X׏u{y >Sh_`Qq\=$wjErQŴg[g "E:] p^0-Md(` 8o\j)Dɱ3QBf綦5͗f3yx~|W#B!Iy hLB^N\fg>0xcX[yXp6p2pu?Quf['-\'xM _՟5$K\//'v96EYB@pְ1tK&`$6Jdv؟/YS^eewx*I?'_lE! .T~?E(e$3KP6>3!omէ;@\%ّT_b@kKPayu^R_dIy@\w/1Yz X@gsSTk?鹗{@^FoRg\DVKKi-֞E߹+k|rW(4tO,!Esl@q%ĵ0= kpt:P4"8htg!%L4ef`)5wwgQӨo;+Os2ʹYgɤMs#65Ϭ3B| g? 멸juX æ3PG!Oo=m|fzh i4㸄Kۡ{ta}m,B_CJ͟B|4 bO"׆ ])j-xD*&]%)gErhsn(yFt<&vFѣK-]X+G6,,ghXą93B7o 8K.!&0"x{Kb!MY7ᚆb"˱_Xoޝ: D Mh,khJkʿaHWQ5{ iErz K/V ?j&]edj"g SMdsUzsѝ㈅b8BN6t4¾(ąWL}؝[w{eVWfH^wZ] ˃bߢk!wIzX̠sWy]z灗\%}7'`2R>?P(^'v~I / m{+ ?*JOTTgR!rR؄PDX_,ȸqE%DI?`f>-JR'eOUM > cJLB ~xR`[yrbqLmNc 'JAX÷"0h?}}lv4h|ɂ(ҳ5~]5*P8'DBj]z WT.<4ݛ~A6!g-d'P떾xI$kVJ:koJD17Ȣ ];?w1$=`7{r1[i1>ARfF%Ju *75ڝ|Y.RtWqO87I\d^Mi%ag) 1jDsu(B؎CwtpE2(ޤa>4BD#պ 7XYJxFYȣ7cl{d@a){ט0\=_ObFsigr9OǮ} ]xScO$tY !,翶L@UWtBGSteY%AgܿX%g/Fƒ9b÷Ǘi`kkC8Mg/_d1K[%falT,ݱoBC!nOx ==H'n^E Oo-kO; Q""rOӅ.9 g|撨R,im:³wuu !EysRSJbg3Qn#/i闭r3zS@I+ħLgFYo])N.-Qw{ B;JvJ2r#B$昌CS%\Y/[ɐ2ͪ^@Rov۷34oQzvxr{ń `>dO\ @M+Q?uWٺD37 $N,뮡 O.7M,-c xCmBSf[sжW`#_6^m~Gi͇|ygn/MOL~rŢL~ 23^.Jو ]E;dڮo XwF;[䋍>8ESPln@=Xc͍t`);Ll0WOQśz R1/sPϧ@D!-ZJ&*«3í# e4Yt$.9[9W- p _v44,1c;m5[fh.iWI1|9I}f.\t_³B64qFi0(K9UFJ6ԭ_jڰX:&z7BTaGInyszFtا 5gc18Z.u[ YOۖI?8xKp/1W̕3d\_V~QiZ]?fFw{_yhKJȤtK'TZu:P'prZn& 6 due[ٮ]ۤG 䎌b>ꦞE}m_sFǖU$}f*P\uSH)J@3qzt ljYy'ܘk2v`_d.9֌~a1?%r4xmU _k\nh] v̄>E4T1J hb zjԠѪ8n/+(Pbl)'~keEsc3+alwW jX&z4r!ݏXRϘ{-z!''\̟ũ6t  ]/2,U΃;++MY˄Ɵ#ib*%aJ?%o2{-toLaE"q'`c {Js5ڑ,/t#[6fupdqڹ~OItFSqGAx&][2"|QƐJ1{%̈% W"ώ2X^OKeh,9LHMΤe*7Pe-0<D̥HQ(q2M3CpHCy!PPoy0?ی5B+5(<'ɶ M. L6V$7\em"s ȍJΠ{{ޖbaZwߋ B 7(L)Ԍ"lg1=Ktm:`Vw%;:2EcJu Y0&D&fSIg&'xa\՜oV5*sPL+5{'72s=G1)R!w=XRx iess&{+TDB{MqxHupqv[iSi=VyNT5_F;ŹiT@AP6CK`c0jt oH< x' ťk1_2WI~̉p/t" UpGB^6 RB ƺEX=CF7Xr5p" w1Ӎ3 ]+DԦfv$hx6 E#_yݷNд *ђuZxB{~LdZx6BgJp66ZېY2ZYL 6 \;|Y5f!uw53)~(=wX8m?{gD5H57c*՜d5=3ߢ'FG"UTR{L-EA tG 73ر@+rfdmr../э."BhrJ{lb9#c3cqˉGɗq$<]4GX0W1s, U [[r,7QQ#{ A:̅{Pj"2;Q8?Ԃy_[ I -0hv =H+(j6MtŞpK]!K zJb#Y%/P{GO⸐_^/y7*uD]G>Aتmk5mj_RDVC.b4WL ! EtpyA<Ƶw%1i1UmZ|&sJ]SHM\G]+qDd_EF{,B2 1ER7mm: I[n%Eg}÷Ƚ3HuBCFAO=!d\hc>I۲{bW,o'҈$x>^$C,Uq$QI787=xc}L4U7%j5)ӎdCnT|dr7.axOb7s`KE/j2#uUX] S 6I* fuo>PE0<nj>bҴkP1+ZADIi7Fe\bmҠWղ"CzP<|-.DWC0TaÔ6.i,g x7&C`B>g1J)P/DIi/]̫9=\c%_j[a(xE}u4}hQRxTP>`q0\ϣ~D`{gtH_3ca,I?QifF|G9LуuQx* EU>)&O8CXE7 03c62?J1x[|dOPh2h^mvL,-@ϻ%m4u{<0j%Gz hm$qZE_Tuƻ:XV+9Z.Zu6%l6w+[˵)cnBX& şh\ *80CT;j4|([샭Qx$Y"IAmi' IAVT2%*&-29W11B-ƒUyJ&̺i@X[) m]H9hJ V 3V`6 om\*`Z%0xi4ig"乼=I) ɂqFDnVa-ʬ,Xh3 g>0Q SMͿs.-/ZoHp;Gu7,0^ 0۱$Wa-$ښj]Ԯ;TbԖ^{=m^.3 J×h,oh:4@91dIoɠ0(Z k>Z ;𚨬͗nvꭺzyks^SiUNEd U*X2JTA#{p2]EGgdq &yS[9 d.N.+e?~#dk(ݲ9X{̕i qE/U=tDM.c dW|,81:sew,)@Q|+yT%fX#x69jh8G*ۓ/?Rt93eĖy6ާӦ+a#Rmgn PFY[ׁA f˨:p@E,];QHdH'p>2mdEEB.jclکK!:(烷&z}5կk0$r(p?2lޞ-3o,dTGŗMՇaa j:v2p{rp`w%ceig'~( @Vx=儅b4w 4҆_F%‹X'9 9:Oܺi/+D{4fn}K _Q:9OGhɌ 1$ c#d KH/ۊÑq/;X; ,E$i݀>$Sg,z'~{MV {_8 <<I%G[LQZn9de %C eu&eFβ0eŵSpƱB) I諸7W:,`"ߧPr⁅'j,|+C;dBSvh`gF4-Ր%aCrbfǒ=KYMuoɦܗx3sn' 5lJ#'Z 2*CTyՉlF:ܑ1D)7$GZ}Uש<.ydh<%'8%Km/#5|:['|vWP*4d >a}_Eg8 |P8QOK}ܣt>+IYð|4 XN ]YQP0?Qo,0k$R||'̿6]B:xFX- o[;atEfslA2?m%r\r0ig19x=l^w֡ 7WӾqFކf鄆 3ax9spg'}&Hi_ JT}6=O6 W\} ċÅh)K5>i+1m1;]б~j n1Vd03'Pեs uIHLS~qEX_M~.o G"!I|[%2⽨X"+Ku%fx6X%pWJ ATj?#]2lZ?&outL k;uKCCv\5RGduC`= bzd6tqlB\zۍ=l3>ݠ*79 %ηņۍ0nF [5\= ̎reT3+urj:|O.):RrɭavL{kgYnyW ϕ G}Gm>b ^?rۭ m~u9'AzB%p(YD%w Ta,z 8ripW_y M4(1>f0lM1U q~1 )S[ue>K_ԩ0ǴD H|@UH  Vi|7d3]9~Un߁<U?d By60d .ߢY6<4}% ,*'Z۽GX!­r];aKJe/lWV泌p~^ۻ](>3Sa+УҦIZ2Ƕ }/BȬ:SZ'6 ǰǟ14QƼS"o__s_I=ˆ{FbKGdBW1$bDRZ뀫%EVX\&w" i柄k UL2y/4N LDbgig P9ܖdzdZ6J.A9Ƭ#ь}k>l nXpTHAA;L\kѕ79ċ ,F_1Nʶ *9p\|4 MRe=MϖZ Ý: `dvʄ%lszõX ɀK 2U% <į塇,"m0pl4@`B ǻlsjNMeU9xp\<"v 94j&YJ("bxY>#0et@fŮ+eeE'32 &koh2}qhhЕ,#]I달Ԓ 6:-)!VW$[qx $/5JMK.86Ɲl錄bEh䛩 5;;V᠕MFHXo$86DgԖne)34 (asB'R#ǘAV(W—4;9ib<DtIy/'Ŗ6Xs|q'5qS<o@U<,ЊׂruZufBѦ~ql.G:c^n> <8 5r4 Ƿby=]l!&pǻu,."xWիFG.Kz(+}9ySVqCa+ <Gnotϙ_ Fxҹ~O 9C`a(QdmYZ8_QDHl+2+u`J*!n6cH %ZD{ < osů0ImTBxɠ 6B.֣&Vah[cwyڔEnͲ2 !|k |\TARG'PFwodNy mP& Ie HlR=.EHc8ZCEYU3 s5a}LaFmҡp*)]<8ASg{3x\`;Sa/tǖpdȭ#ҧJ.꣩!`Ӓ{EQ#zm*{' sg}r8| >Hؼ.}=y@Mnv&tcvd u[~U8 18*M70;ףTp/2n x h)>v_m`治nBNxצ04^' SQX=x%λ\34%~jCOB2(U!jaa# WiRqv/hWQxiK2`MoBfzuh^.wQxu [+$J=빛$I|}Kx-dq}.@FSωj3~53xۼݧIL0q;i9ʜ#POD#^FS" |q-Xcթ;FGzp5=p.P.1 C H23I' P>~x" ~:9yU/1+n3 qj"Y p^4V(Ym!Y)oIa '_0ҩ)Z@53q6JҴI:ƿ >W_dE.%x`U?3!.XѴӹeZ 9 "TRfejEPr$Th/#/n]cNk4 PJb~ $؆T!OXuv%!RKTN*a .1SfɈU_$ٌop? (oΆ hoz!j"1yvIFeN=G-}<Nщ![p܇zVĴtK'zՖJ]ET|)2VHhj]Ht &rHARd̴1a< Cf)sAL.1Lrv%s5Hd<SBR r% N|Nuг4`Z3]?cZWPk)>6̴SCO"~KqUDhuŁ=lG(`"߅9PT-o *:LMP7Di S9$=~*锫jU-`SPb<͓p6v0pSWկwx& +)5C7fz/,l%Uֽ~EeO^{˕[t\iU oiM.S,[RG$R&FTXL-kGb-BrK B8(7~K4[?S欷;E2ĵ[ v;r7Wߕ{_i9ͭ%c_vuw-Mp9e\]elFKٟr˿YwAtmb; Z/Yt! gF٨ToJx4ҏ̙V5d8¬`#{"o WŪUgP{>|0?A5ZSS%GCslyWz[{`es ;nlҘw ;L= ՔkRz<\rw 6+gi{tAZV·Y0'}O}P! <$Rxc3g*h^XcO/o$?)UVcAxRof0N8 ](7A0wM9ھ}_z)RvfrFC}]|!y _,mZ@;JZ~ 9V3_CI;ʄ lkY66&qPЮňH"8+,uE.(WoЙyw!d6l%.g:TL"rqX+l遺Ι^wjU}Zeȗ%ղ[ݡ x֌o}|҉LQRdqutP,sfcnE1\c ٍF]|"ZЪk ۂ%b)c 䱾 MbQJ)ARvB)m]G`jEY*6|wQմ?.GZ`vLD/Ci0l4`dd߫H4{ yAݔq6)})%mU ϶fQd=~ ϪUY1A0/KK2wߑ͡t>mm$rLٍ:*X63VeTj^juU<V^mwg‰ESJHXl?k>[\m.@#D2I71<![JB{:hijMko@n_1D0Kh8 [#L7|_4iÙ /̒k~y&Pּ g AR#Sff0|.tZoN!z%Iw[phUJXYPoD 0s,090j%f_y+}/e=Glt?Z6"۔N݃V\e=KYXnh\⫮:K8Mc༧;":ָc_mMqVɤv7avf)ƛo5Ρ z!, l(?,q<1D(كu;G|<?VeGsq. .g܄qߔٗHC-nZmӽ% T\)۝{cWYf'懭qOB@+r g1XJm97x&P1ѓG?^BnlS[`fg";Uc2iU,TҘxW)W [*F5 T/M#eT#lqgǡꃔ";R]$xK-UOo<֍$dr\mtN%z-2NL,Teb5XG'gDDX<9cüζX:26ޫ+q[V̆G1O^ UfT>sN7Oau 蘟/N\**Otes *zU1 d0-~ rPf,IЁZt= cLDД-dBKv*f]Ų^0EqSN$ :9 wvvP TNƆAxBXV|Mdp'YtT9|nqB'т=6}"Q|^-HkvR-R;"L.1 &|K biOb`GP/,\8c96e18!U}v)Tz2;pq*$6#hi!x{ _xZuV fPhISiMoW=£naKI2Aˎs-Ur3m1|u>i+ ǢWS^ 8'YP [(I%YНR )fׇ?ӱNd#HQ\g[KysܬHBMX>i/i(RZ{O */Rr{t63MJCϏ$i)^^`ˆQF|zs܏! &N秞qU?DXqTbI/oDҶvddpXq~\t*\ Jڪw^DEL4 c,0s\-6%߷:Vke]I l5{T瀆Ոʺ@4ת0[XUNr#4i2Y™jJPEwϰԖ"Mt]҆$K(Qh}Q%tɜ ͤ¤DƋ`j>6j۝fXFVlY֐iA;,|uEbHK$o@973h-X  @,9A ƔKQ4J8"oϕ2mV(#ߪ9jv s" j'Cz#<y3_Yr)zF:~̏!ƫIa]G/b2310*j$B#; Tѽ1eWYP#&ϧ8.hC>B2׌9l+F=Ԛ?: {jBFH ۜR"ņZF?á\_>N%С4{![clHF4Dq'k!o4ˆJ\afqumt ^",0!y iNjOGB9)eiy 7J+jx4kV'z[[v|ۍc%;hMQ-SA26`v*j q i2 ŀU}H*@),+( ?p|F\ Kk) {Vgu_wp؂j 6Fr4=b P;AP7HW:x"`-\~A4KqyUr,OjG!k˥>UXzӖDB7ȋ$y){.:?o~Pn` sYQ=CDX7G'F_{f'νpwTl 63@-yaYR@y4Mx)k?-)fռ,0k?Uptn\49cg͐< nK&+)aq>R:Z_v :":p] ,4i ez߂ [ c56|[4H#"\}݃_Q":m|kU),,al:†$`=T6H}eU3Р A-|^8tS)q:`"1ҾW?a*)|\mVf ӌF3a^7sh|4V8NlE5!hI% }78:?A%akHz Mz&CSTvqӣ{<d,z6Kړ\Nuz qѼ~f^ZKezɍvgVT_o2ټCukfPײ\?o r%T< ~~2^Aa=Gc~k/ʣhUj6ω.Yha@51 ]1V5'dJ5/g9;ĢEsJ,"~?!~WInj:{Ayr7W_;<4Dvt@Dy`JKS.zS9tV즗ߺo^  i@ Kz9l۞Q8hM iLlǕS?? C<@u3NzQ;u7UY>H~eqTL$J%qzӿJo-[ ϹyyTq̏j[Ya5p0A  N. JM5X_J5 C4IKq OJG\HٿyH [gתÐ/1a܆G&6|A5Mu4hݙKHU5|_DMяwm&Xf\Hʻ@ӳn]MVq7׸`.@V)_Wx0(+&OwsLaȦtB9K$+,%w|,@fu#DzQ??Neץ'+еDnT{4BvXVofy)J,~ [z5Dջe+GAUW=Prf;BIA`hUk2Ƕ3ߒZ N fYa)DžP^kČBo/sGR` ̂,.B*"qZm/Xƺ/LVӥ]zFNw;.~̒]UQW ɕxR9"?a07i&12j T@Džcei{)dmAN:Dʳ5f@:w^{ʓנZl:Zg?EFtVF;ߧGP{cͤ=!΋4G/^jkW۟V>"/= ,V)Ylѕ)ہ.bh@E;~tCgN?Q6њtV2jx.:rGU݈Q1w{ Ez؞Cj< 1^nBMײW[-)^;8mhÓY.?oJJ`zm1\h=hߺ7 Q=M' ޓ.^9/;^!6sV=:j/x] H5.0;LYy*y<{rWm˲y ܈.G!!$aR!;( ͽskZjiJ;vX jvIq IU-**uK0FRw~Hyw],I&{r:!G0SfONے fJGrKM/.e R߳eJBOuKPAEU5¡O!ل94ASmŕ%g$c#GֽݣB8C{(Ld]μ&zP{tڨӌd/ /Q8s*΂NJ5Rn/y댾y_3%q]yBhrcϑeu;pr{,٨$m<JYQ ыA4[ ȳA6;clKڕ$H ^<Mdyv/l֕|*";ƌ̵Pk<;+CRKn#<<ۄ8dцG~c)\(pBi9PL}@% mlh2l8H& =Lh^D,S0h0t nǵRR7 kšR+|QX=S5bsC|z-ڞ3|TmؼxA$`//Nck&ZA4Fu& )Vk>{7#fп{fkPxzcvTp*u %;!P}( 󱹷{V.~r?ҝOp݈ĩ` Oڎh0Ha a_+opg,+ۈpOKB2m`ZT7coј4$"փyiAs\6h.3KŮ1hQb[CSZ=qѭdFe*-|KHtcR2s ?=ֵMD@ReyN[Q(o!(51[Aj_] `^j_<`d(-N++#P%sf;D6G9yf#I nkBв.ڭk1ՁFFWKTk>A)+k66[Q0Hw)F/TŊ,s(!Q vq)>]lsZB]|,'K^llk Wc9L6҂62Xs4E)mYfxe,j^{ꂧjalV;hk[49s4H==A$RKmIݵn 7Ag!-L%2BBWb|oxq`r%ǧ<4A+ذ?B01bt6^zd˥>O1 k+j=@8ER{yLZ+:b>$8^vԟ :,XxUȉAr]MHγ6N:(:Ot:iP_"~qGJ:~ GB^Q{7xmi5 q 䜱\1 _KO3-G]R0r!}P?4%CʒtŐmpPvmS;3[c| lN-n2Sꮨ?ZRέZ{]z+0@vWWO_G¦uNwAغ,9tyjJhn:Y2kגOmsl?8ե뛪PNM-D}Gl|s1̍XtcMRBvW1A~tId "@,SQB1h?%.gڙz0ԭ6yk7BK(qXSb؟l ^| _g˷\`=:."Y[6qv. ƚA/ŮfV W7F\&7kYYccVީnG6әϽ72K^$lザ5Fv_ W6΅]zX H)ه0O$$28+E)V1$y'rJE*&'|NGY7#Ƒ ~9S pH KH&AJBCU@BdCSvd͑ufkK N .x eAFwx)9r9I8|oڝSy1; 3ԃZl޴ z\g)L~&0z uCMAE `Iez$ zф1nR(ٓ }3ZUhF<"Vb mXBFZIeAt\,80kJܤ9h(%l,kx9wL7,8nJ #%}iĪ|\jEXn?1zugqG4fG*cYsYܝ4LZ0wGK\?MN[5מp?UϔJ-85C lab;]|TYKPcN#E&OAWM}IyCT }άz@ ^x7r숦^x ƌ4LJ&1 @żL(0N2v032y6YE}]t':!N:j)տ9~^ (L)v'^)Mpİ#:vP+- 'm蕛,1cuCJ,49'"HB|[[j.:DE"LjϲoO`emWބN;booED^+S\R..*ӵ]Rr!aݺ2fT{}'׉w2N.9VT2y|8YX FD!'kiRH`] Bpḫ7 #QЁXB04 X$;pA|""t9NuЙRt4BՒ2_ GQޅwIn[L^/"=h 9ۈ7&CᛙoBQ^OY-HcZ%.Ň颫CZۇV;Nhya6I$7S(94\2R>Q  '[v[;Dyvl貴YG(t]B3&)BI\15^\堾qw@/L DWT7|RnwKRl޻LM^M͖ո[y .U/ӷ'۵L- k+œg@*KMxFH{CD2[c2Z`S9@ȕwYi CnI:=̐XT")ʃ Zco5@dTC!T}[0kBoG-tīs3DHtIF"`*ވʙ&%r;NK*ToI6H0X6}wa){DO{us[7?EÛ)ubOc}]ps-h{P1P}(6~& L002k\ ~0Qٸ*psiׇVSdW,ʷ *A&9ԥ›=A&5"`@9DvO^ur$.I<WϔQ ^=wtԢB.Yt M=/=q$+)<ڜ~y$jŌ[9ivUk7ư7Q\s QಓӺ)Nّ myBHPM{D7XXJ\ !6$1 j(hH⥘_å [By?a-BXl^)`nOu .-kGv8gb7ޣ3~Q-<I'2r@0sc f-K,9p?"=Iu5 /(sTxmFJ&i܃/Ɣll(&@SSB46PB`bk {pV1'u2KȞnz^Dk.sjovw+Q]Ws "xqDEx,9,H k΄,E} i/c-M3NJ-t ORoʜ54_7^Խ/l!-CYHdL[HaٝH UIˢcC{AS ^ΆȂ4fg؃ P`ߛr&,eF1-˞ p:oRy X1NVmE 7!d:7ɴΑGO3?i5e$ık1< ,>˧y SUA^L>,9Z6my#,h}b”ԭE_Oө}ŪU2d5?:pzjM,݃[~TQ<^o2jSZo )Use$&}gb¥3|_j DGX5Ç ^t;yO`-!cho8^L[l1TZ][߬>LHҍnlJa,Udgs DžTY#/k<;m;R_|^aPy\ 3^:amd&eo\%=c=L}5 jwuLP6(tYCeĈ. B\D"+#sg>jiqeKY7m] g'1fc\`(o[&Ey: z"ĿSD N+ӎQ$r/tddAE9 Jov>>_Oz)Xɵ*5?;qS`RFGݚ:od$[ҧсʕ)4 CXC$*ÝF4.ӭ[(]{Mgzc()qka3|_㽟S47>ifhO(k][\-@K 6hhQxZưbfP!##a2*KS/9:De ?%<{"ū@jQ7Ti?SK(mUe֘uӕT\ rꞑmh )gGYD?d`vAvSk%X L<:zOT۵ȋ\_KWJ^xЯ:?`mI"j6asYEÜz$ M p=:MXp%L`lCmvW#LN={")ߞq!1yܠ",OxFR<.g57 mV)USkttܚQZ6^QI+{2lQ/SPuj ]ĚJ1zЮ_jl4} |*}8y +Jzԕ[W%nY(d0L,ml*ߢء ݀zOfVILGf4 "Lc.ypZyBJ;&xH9<+OIw㆜Īɥ۩Kw.BDˀȽS]V֒ldk $ڮm@^!EC,otg!9f('{P9L p+ X5wI={bcR,i:F:#$䕁uI3LC(%%>Sihdv7qmnI{oV'u܌}EM_7,u:|ko*LˑAvޕ+[<W@t+-n 3zUK)WmS/(JW  Nrg^9S GC# `Dcô?I}V)'Hq7sajߡ~Cc~k@s4U|r_Ӈ1Զv=u9zѦa'06~+yjW _z&!ۉ&6|_/ғj2:7@NXdtyG'UtpxwkA"W@Pӗ:&+#m/քz@wU aV{n?~UP(\ .u=BDK |{~^Qs'"-C/+pی}*Q$ \ify)+,^Hmz猀i͗0˵7CvC5mL| )#IKut;jk bj=w`BLq<υj=(ʰ镢hH5g !x"K斿t*@5a_Gj*VG̯k k3|+BsQ!KwnCN ScGEd o1VS.kO\Q]m+PAol!SYNz~!z$ 7Vw? n7]5|X&+h7l5\!;_ 3h[raNw'Ϧ1cOJJ,a*ɇqV=^hwA"Daue5>}y qۈ&7e- 0GLTrl3n6qUAhTz7 ؃̔eEG.3~w5E`)Hщᱯ U疋V*y*!}>UxT 6 u}ႎ;<x"F1s@@l9J@lI=/I{L}^+$IYo+YN32Y Qč2/Gvz-\Tx"~:{9߯ݱLByꚩxlq=+->=GGɦYPѼ]39jE掤/s$Et N5u; -T…YW)&<񐎷PqNӢp |~2<<à dܭZ8Æ Nn UozJCU+T04N d\Iϵ&Ƈ^}L!]Z`P.bFJK(7EC$AD¡[CRKb'Y0sEGGU:m6EE*}l,wԗ@Sξ܇xA[J˓2)ži10d=73ǗհN|5|NH%zT ;,E M313-4uĆM:0H$, 1dg>̬xa:#FV;v- Dʴj66[(atztB G1U:ى^jE uEmK=XqgԌ1RIۢ!i#lS!R~yqhT]=)%/Qُl\P&G Ū/qh( `Bw{N`:vnN p|unU ̕X 1vvVlQ+'Uzph(iזüNv;@-&Ü5 r#M*3/j^x;i %L{Uی0K-"Ig22\&`ia.Eu&] wt!Ď%lF[P&SW>^C=*?>܋Z;R67"ݖI+0G x`{sE^"d=s.RJY0mlw5WRϜ@t&<8-dY}(tŴN=9֫ޑmq=юbobd*FsݪС( (S_`W"M:h޵io QafO2zD߶YUiK jѨgUba-d*;]T,yTs(r'៊? a͔/HZhд_g[%{BE ߤ/MBdznbyIXbHtWPSj*W- x;uKxoa^nHziƞX?o2 y U?&تƗNy@t}-&46s(Ȼ&a lt V`5>f@9ɎWГP3N䵃;^lsKv_R-GG(1*:2S* `9ݕkERq= tTb#v''.BE+DRapqAp]FxZH&55yE8:7.q5BT!΂tlb. UHpqcPGtpF^On[\dllrQ痏_;k)'Z1ƃrxA$-#䂾- $7kN!Q(N)5?WO 8L)jT(Zӈ^(>p b_e?NY0Xͅ%n7eYel]4Uڥ8;"#ĺGⲜXڃ8'*NK.kB|%wAOa9=F)1_8epR-J)@Xv> :^jY3#mZҰ)~([ U(ěXw (t<0}ez]rs4VoT8G@%lĖsMEo'ׁ*` <* /*bԍ${t˾ {0!(&E_1}ܳTHaWךRu"j0tDŽv)$h 7OBlJ;f8o̩pi$y; GYTMt80G̘1>l,Ri9L&|NREU,1X賅z qfJddPbvE)_W3, pZLtc-J=$!TH],Wrz;6.Z?l~s3bKպ0ET}- dXHgYmh".~0\\)3S~C#'b9lDxݒf! \yB@uSkIIa+H'(U\*,Ut9<cCrh(myAS;ZGK ̺~e8>ax nXR?&AB?w 3 YUNM*4]ră.*~wM& *8 zv]=% 1rJNTuZ[P6|21ha.|?l"'&߃Q'#*'Pw/ُ/VWPB'ҏows;&$] }ԧ%kKFJjEms-cPBAn1Я41mZ.L?g^ѐgߗs;as~tnF%ݞ.Up9F/wVt n҇y5ήRY:_oh#ߑQbc4^l"`!̼};GNJ w){*ғ΄.ЩHOGs\}lMs6Hq)v4`Ww^,ɳ9a"dҶW}Wh 9Z~gZ2{ RZ==w# Yj=Tk.-3GYIyOkX|${w9uL@p]+'_٢#ېdo<]n؃"ܸ!#/ "C!̈pee]sOsz݁SOb20NxO9(lyvȐx([OT#1J> (O#thVu27]5fCOFgڳkBO(T낚'> æ 1\/  JS2&&4=v?`At\9n~C50d hcp 1Ι&Lb+ރCd# m1Tgq-w/ ѷҲI& #Mw3hE!SsR\QܠR[60ԢIm5~C" _o92>o cx Wۛ j~kw$Uɧ t]F%F'uyWw5f_k%Fԫ@2y;zqKeK4F: UJB 8,G4.3m6ܰD9⋋PiPSZS&͜fKi]?[{SĠ5B;2S.uFs^Q?&YV:Ut*뎓 yɩd W0N3M\͖KOqڴQBj'?3&pϕXrTvUSG .7~g+YyZgqcDVǂ)jGwjUػVo%?vʯ=8|+E&1%E8$5bvp[΀IcbőGi.|Ҕh5 Y8Tn?)J(rQW(&ͧaf.7Y=Ζ8R3˶7XdJhtxmVfm6["e[pAL />K;t%=}g˾C$JSm+pՃIW**Bvo<+DDOe˒О󕆷 HɃébEZ=[;0YRa-񁒃LWׯuI9<0&1[B8n g|zB U5$2_|gϞhuoEu q3-$ 2Z6nRw:Ū$5`tj-qFS=–.U~[mR9(dn$m(Q9m1(*4lJwl53F3,szMjWcnbR.k*A'Y#%q*ȷMTiGp4i{qy@r+y"ҺQ&& 2X txJ-|I{<ـ0dnq6uY=,t^*5cѭ]-'cWt=YC+rXwpIAH$݉otՊNAiH7#-@kxSxJiةB5Q̲F\5)䑛y}X#˲(oZ64#ah7k2=!ܫeOyLiĸe.  h1o`k Q\i ?U-X<5~ptmXpF~qt`6uWЬz9lg)Mk 6(5 aX/z[TC4^ CdqhGX)Hbn!JwO;S\RdqhpVx-\YoMD y}L"Ƚ҉{:A>*":D 7_p!'0E(Tf?4%ZmBZpQ*'4[5]1[ޖ֪Ju"3];7nv*NX\^IaIv3LWs;wmyqLE x HV+9tT6dzy9γ%jK@XyQ" ?skkŴ%++B1xN  f]N4cG0dRU ss zu+Jи-02YfL FmfͭFXʯDVxq؄.MrJfh#dpxunE~N?p?S\. OCb{[F آmӐ6QֻK}jz?3cZW>l~s!A.0|:P?&[N/.)׭8Z)s>,@d%o`ْdU6v vDZ_"%Vo"KbȊa58@O )!j uc[9 цyCSG  wa95Ed&J2Vk_ol'.'E #Z\(zMJBf;K^_Q8ln=%Y#glk-()5|t{s{lCǰEĽ\L X GwyC.P +E?7ʢ/cE&_eD2T͍k{Ʀ%cK趫 4Rk,C`AV !_SNQ(e1DֻZai I3Ρf=\qP-j}{OlF]վ Q1w ~{%43%½\ggd@zNRpQko%of{G91?r)8x(i;ucdzVc\IMExa;P 4,ߪ,A"^OɆ=\ŁET01 չ)HU?X*)b) zg,G 먠FbKlܪ򃇚˚}O7 fuq,;_1Q =-B3Hre>k^LaJLɸ*Qrҗljpٳ+B;=#!J  cM,Շ,*\jA`.C}ʘYAI,Ѧ`P2ze3|e(:{7 ip3U*St;=h2Mh!p6-g\qB:e(0C J9"j&k΃E|<[+iT^a# bOסj]#][3 T5}k=H5܄ xD77-݆ 6q yӍTrYtυQ$e4ꖂk}poWdITH'xRB gxxGBmo 'A1 4a;J:_J% 2x;(UH`ϸw͟Bԣ 3"VtMK0A~14mpzlߦ'dL/H܏@k7PzeZ_QpNPy‰Nz?Ut=jkh?A|W!#ݞ5Є\NdiT_s: 5J+yH 8NWt.qvevlWCۚM^DEMB.$tP.6-eq^ r[@ %;0C-LV\#8.Tu:#DC%DždĆǻѳK#KO d.*\vV鏥gZ >TzT)~md``ۡ֔h3E+o5ekݙ:1 15<@ JP)gLE5+Y26"i 'C!JZ@&KѢb cL 4rH^@>?k: }c8h- Y,V~HbCgE6mfciq/0+TGF,j7P#J>L,e= ;%xDBx!]8ΆÇxlCKGoQh)RK经هʶ )l0<&zR ZeJGEQCi!Vԏ>&<(0nM Hؔ,Өs?A϶QĽ]k aҞf(8Go ȃIeVNz1oH@;zN!.Ps7k:I Ծ'Y/QSU1)OQsMD}v+ bVE]-_CJ lhnJ||d,}4&EÁhx9 yqi0_9֘|g%r~VD2eȣKSB M?5zrNDCx32$?y@t%3NT?۵9pd籀*Fk!d1z-SftCH=zWikҮ b8FYhȢ>0\Ҙrnbza?HbԀݼf݇kl"NsaK"DJck;TO5GFW`Q ¬>b*ɬ0 uS#ט5d>f`7)'09!ƃlOqE!xTҌ}ne©^eK:$: )d+3f)re#%BS` al$$7FNN IP HU(JPZ zXwS0`S4e%^t$n'^Bb&9r}k߮zDOxls0CQ/{8:y,,F_j&70"HnRX\'8FP3ݾ ߻;KUmkUxG*| V~sQsS,Ze))Nx6ځ钶sGu0qs8~H<ч2P6 S} d+h \HiN%cUj[0UGƺgB Ƹ2Twm}x]Nb(dFP9`PgI,UޯN}armAY6keD}]|U%A8Θa&M%`nk y=B<}]OTr[ت?b)vnoZ7E'R0b\C.g:m^\ۯL>#_3EPOcYJA6DŽxJnDQo_aS*!*5T'0AN>,Z-=CDҜ$] *Wڬb FtVb(]p~fd߃:djF#x1WDǨI:oWCS:1"R^04Tb V*3jbe2k#2B?y#)ݶ%9WG\[M(*!U߁Bܭf*+;dY|3dy(n߶LA6٤]|*J$RHs cVx55Pb]ϻݴߗt6>1D*ý$\f9I ZMIa=󙭠\NB*zr[?4_'~ ø 8ޤ!Tl05?c5'n E\|RV[^MQ[:vx.[MKF(\汕-<-P(efLc5Y=>zz#f9g޺* tEpI[N`L㔵g9N:K̶ZVƨ]kcIK\'xSJR9^trco^Xy*uuʩۺf>F@+ZM)ڙ53G G.p>E,f}]6up Q<S .ȼy0A,/LS73PAgD' 9^ >\ 054RwA9HZ]#6AL}7bmƔ9w#˔%^ǰh)QrɹxEUEZGǾO +rErDlu!׻4oLADE?1;\s kDO ;OUfTct:z/M¦[4e(G.U)EtmҨV$EzYӒNܣOj6qI)$BEEUʀTa[DFVyWCgxp9X(Lz{ 9ʺe|~5=z` { ?㛗:(fU>r=IĮ)# C~Bd |a{K`픻'zYI:*仮͹PA GK»8H0p/Pχ"$r ~$(ֿ@В_ ".}£Fk&ꉯCyRYmRckSf^|^8lPGı8T>m!awC`=pPԛkRj5x;ص>p3=?Gq}sE"+ZIV׬fϺpWQ,VTHpƃ-Lhc鄶^hVjÉ'&uc_uN-CS:ichʄ?yLG#uQ2]V&AC.g:Y94LZ0<2 Pڶ%p_\LYK)*͋nw-9&ffTB*f@[Y0ҝ+ƶ~hCU灸-0X m 0TLֆ2,34W>fs{l}kk[VQ>LZ6%~_\pmѽpQg>b8<X8 aվ./ J"1Nqy lc.vD6?!G!)aodx@H U;/dK18['̦pRT53%֛u'W[ p |x-CEgP ^ymWҤv].AEGr5'D|ݢ|EњX6qYBq4 M^HmQv(/,j,9/ B0,{ de)?TzD8-T`쉭$9|O.@Xxhzy'_/T.Yrnzt l{b~L15\)E}o]U`֚3Kߎ[p@S׋Dr> ص}噫1E A/lYRY~͊-uiF7!`a"I! 8e=4N6ȕ*9(a+C܆-T[CEOJ!BB <+&98E R|8[1smպĎ]X+•TC(9+lݣ_Gf:}&ޫY_3dqFجsts93}<*rkiB[í8 ǁW)-FZIu O`=Bn,.0X/S+~ntWAA6ReQ8^^O#T4\7 h(5. ϼ,hq0tKG2&ܮ"y2}l[ZwGE n׀lW&_|gᱞ?1 M/1Qev[;M/ \ђJj0Es\+WM:-QkT.C @sUWRZL,2+/.eөޏ}uF9_k 4 nûX"y/jn5Zm *]t4[9w0b3Z^U׸3EB[v:Uψ׃{$‹?uM}4%-*έVEq&GW҂] n/?Fh bFZ( %."HLT: V+AG0V}B4S%d.UNP3C'*n^zcm.š1*ԦԪxBd"/9bEk!+T[ ɘ N90f%FW<`܄Xs%,: hĺ2l-ؽ (,Ď͍wt`(ިVV'fb3{`t$V}΄ wy- rɟcҧ @ڵdCJeEIO<ۣc+.ߋkO̱.V7\=סb7OeM~ (BS=@ߊYp % 7 DIEVJgEwvI:[E3< @αGBmfoG+ r])_Wđ0aX;1Q¼fO: R'ADy*?ݾƖ*oMVh 6g8~{2|^?"A okWirO,zE[]tC ݹq:K6Da W7SwǤDJz#n">sf pJe=LmBdȍ/*.o%5yZbssŻ.vN )!ج#:Ot&HFOZ|o_SEpe1oo R+`xCˮ^yLrFR6;ⷾ} tt 9˛j@Vr֨GտwO}NGnIe32jQvRӝSjЕvlmit<9&R1V6ۋ0u5a0X+FBUBABU^>ٯ*}dɼs СcdP*#!- ɣў.YX^ }oXNzk2:-WB"cBgʛJ$٪D\u|sv&7}D @K/)RwjQld3G&I.xP~@\w &\\ؗCnuG{H`DN؂ȀhbÔ'X 8rdBz!y/',ԕ^%M=&s1`RA@o|]Qh$XgqV9\\4 H L@iRJ&07_)W8'Mw$*U7ι}bH7^FnhKߐA6PSUL[םQ x Ia ɚ+0ѵK) jRWo-L(oY/n`N_ k#U\E,ӲxގiR}ajV;=ϡt;k4 }MLp&27-Rt,D#3 w@[ѐOJ`& xiE:gV u!ܢQgiSv]!*CZnM 42+P<.Ք=<彩$@=*a@,,̒ũ+!Q7Bĺsj\֐0?LtבI!+V,S3yҳ@^ؼ͉7dVx&?B5^5|Քn:Wn<u exh);/v Zк|wmA]F0CpflsA­(A޳>wFOdv~vZ+#X9ʡQzPnҠY 9fLYGzdBWS՚'xa%ghG:i[=o2۷ͯL\\BRqN>'jAy @-َrʺQ$Ŭwٵ3y'H_=g^DhOķJQڄ&|yAr$ĵ(XBhHvx0AqA]ڣ9#2Ľ_ #qxZI* ؜$|̐[Rt'זWk II m! 2ff"QxCS[N붭{yqOGRPhzo7-䭅ֹi b~I#q,p|591Gʦ${޵cr ӒP/Q[+X7o0Z/`-ٵ=%,fN pq}g οB8/48sX܍č (G>tpEaZEL:!=%BP3Y`3 @֍ Sт̅urզi5e^oө7'YXDxvlSgZ 8ED-w/5屭 QMvjl@[3A]ݡd1O8Γ}iMLyU{6Dg !OL363qO<Z*_QŃ @hUP,l /`^ ˁ{,:1*tNտ|IM /g#4w"d]:l WdسIbqEN2lr%O+kTk_SjwP:dV7^I<\ ۲3"vgWUo+0IQe\QbrYAqsc@;=IncAAbv 0$Q"DU0rj(Ti=Z= &I򷡺5}$7[2E꿩 Ⱦ ).p!pf*#^_.B,E Q7?FLp{fյwvGi g0- .'g*y<\hk6:dS p"l |C~FEQv@zMhbMKvgOe\!︆&ykf7~h_i9bPp?,ABOGڎSpʔ׏w ,v2 }$}#țlZ={xEˎR9>'#q*ɿfikELX%m}oQ=Lca׶{kMn2, G! %j9p\0 6f6Oe `j+3JdȨsc6(ɷ)4Hh@GqYPkq- )eqWw@+;s' }HNvz!DywR2^C#ifW\6ύY s9 A;NDJ{R)Z&n7z/:[퇬SO<`T}j2Ვ+@̗kQe3Pn*@O7!vi K>' XYF(4:ɜ2zck#>v`bo.?o7 s#_r3ތȪsE-Π#|^N<"nҒa]>< (G*0L71qR}f#>b ц(TLU֗{c'F_,C\JݓՓ͸ScSP+yᝌ, <1v/ k[zVߘǿ᜙ V*ÞZgGô8IGjcp)Xy^[ OE!ŷZlRsP;&ā{_K_/PBޭ oV>1;$d*seVUEx3} DWWRĴG]VI@85ܥ|uip>mTbLG7 ' -/!Cʄb8owe%vT9Hy(JhaX DdQgz܋wyaj}pr $/#)&rOǚ/]I2x9#_|"B**\SS? 3 ʘF 1Sn7UWG:aCr";p)|ڼW)&@+dpx5 ̷.`@H]Y>έk(PA{H !U`!; R G ͖5Ib̚;KCDL7\fjJs"ao36`O`: |샄1L$|-R/34 $؉}phau9m>nt oNE>XbK5.IPGdXr4u퐢u 4˦vM*LrDG%ҖiNLzsMdž6OM{,r4P͛Q4C{dC "Vbzx7㥱MPťf-i+e AS"';#&F廛;`OS/H1k+_ϛ*ߺf3{#]ROxIoq!V03RQ1pjJʵPHC@M?O!Tmj馶'c'k ňyNl?#T8iqM1{|f{?v bgтQ35iՔAkI[$C a>̇Se4Wmq;n @[Pi-*T$ܕSIj{!ܭ#15a?CIIf@ @qE !|TUl4t~Xru D[ ~NT~(7YXi$㎮rM"ZG/9fX ;)*dST34]đv~Prz'̠ hwt!Sf-ppHNCh y~Abѹs))W<(l $ġwW]H!m+J($Dݛ0;Olfxȁ#noW>~PF0;`P=h1I#p$'/g;F /6 2qطt 5vi=5)4ꍚ|֝# 6Iz؃!M$iN!M˿=k%li\UV{Mh_6ږP: x^s+OF.eE?(R,m;ج\x$\vZ &xUzx_&^T/k<,X;?v%8B=ej,))L䱐  $6ˡ2Ȼ vGzniXN|Bۢ B6"EGggv)}y _qUqCKՙ_x6P@o~x%oqFt8VGA739.u3&>io$u77"݉+ 2DLI$SNgYUN)ܯ#R3R~vCK@JkF$ x#P .(r)J=N ]ܪt+B8 sEYuQrdPfjVO42:qa,.s"t|?%8Q糿Rɫ2i8RwyÜo3_X]Ĕp!GF׈ڈW1^@}-Ieliy:\v<~ r] t#b(8ѤLMlFs'c7|}C0~2kKuW2W-N=Cï9G8LFc$'OQ>C2ԁw*-֦Nн"=v3yAAaJ!{s{QHV{;#<7nb"\.Agv4Ί]|λ3ehy)DaN5|롃.<)HStQzE4Nф?PR ]"QhL⓭~[iqQmgXkڨR s)DSҟKkl1n5~B8%ʞG:ޱ8_u6hCNNx HJr@TCӸUY,ߗiEmUf,]\x&|qht0 b0Q7BwFg '<) ӶvhIXdkcIT$J7.}guctP<9 }sW&D]&ЬNlIڒ ɶs3gA05 1 9ۆ(j"3j]o)fD'{x/d_%F Z[<%J5e>׿QU;邪2j֪oo'z>A:[s=<ۃ8Q+tIkmU;,u6FDfR?< 񐫗hW}o_d(z9IL[XgZ$lHH֥Mx{S=#tN`f!d`qmJu2nTB>KB'xDy)W1+UĹiCG4RU9͒+0Xj~q#,Fkc7{GvHvm_: p%⢚~JqV>yZPof1qu3c!U3/YyB)!Q0\@Ab[-iy.w,G.x␈yi 7?sk{&b  ?c?yTC{>,0|Qm4<n3U,72/BEhoQ./YxJ)bt > ֵ!(#Ӑ3BA8J[h7KWDƎyR*UA۞{fgu6{OhM^?JnbK=>|Ż8y|2>aԎLdf"Hƥ(x_Jţ;B:/ܡ#VO|Y $hKL::KOLuGLojJzo䡱Z4A8HZuh!2^˺ 74+ r̅3m W}H4*$55ؠ'eS:̍۳xJQ0%~ Ňdw XjBĸL=;xh =Fvf<Mu^3u͙O "ͽ=9V8C$qdXx:S'F*-pRpKWI(]'F x2wý(Ώx''h/ֈξ! D;1'Qwy)xE`MN >1q$zuix# /H= mH!+jhT>aI(pm?a9QPX BN@p _e%`7 xʴV1hrpX%yRj(ڿ\v; qf,~o_|MÍ$rp@9υjeM} ƌ6ΈtH)7fƆ~wOUQ޿%nXh4넲.*[yvߺOl!W =t,+rꑴ r59k{gZFFC(+ɐg2ũ_,0mY*EGhBGZS͉Ʈe ǜEC8+E«v>4 ~YGitu0h,T\3O "ԿF?& >_ Pڋ )q=-J!zuf+D9awf,W3+I2KPt-GC& +KsKmf6τpB32ޫnO.=<4ş hOk+u<̖} @{)\Å9/܊/l=6MTi$06eG-az"s({RӲ r5+2-?Q:D} @asW`cFBB҇J.]7=—@p:gj',ŸRB|(%g+ob7WdV>5 M$E d&r2"IHPz;Ҍcn o]B{̨Џz߿\Jv^KP6~cuŀPI{ڷa|ZF?4m+@Yh30mlhro =%: heޡiJ(*BZ3ŮY5m; d,*Մ~.2^Xby~)0#pJ +Yǧp,W)ᕈzNf7{(yY kM)%4ks K$"nQrd>D "D 7͍$ /X ;:y^7"%3 5=?[FFӶ0Q&z#ZyeI_ty GɖH5$dͫ^j:N[3މZ%. ibvS97qAPUhr} JY?- Ofz,ĸA3Vz6 Î䚉vsfY{TLec% Ŭy3vB)F=Û ?ۥouj6jtl%prk\P=<@΁#O R0V&I֤ګ2v][sR"w9$=rن] tg'XOr3B8=m PB U~GFη<ݒMC |0eLXƵtv!.xA-&V`sf@M!F'IzG'j-ޯH*un9#"2K>YvCsh_m$"P۳Hn{D^_$\ϒ*$ƥcC؈Ooun"iiІu BϺU/ N\:n@ `4h+ݤW W&=n LHh|?aGD![U_\!t_(țK:jμxAG{S< 0rn# _^_txXֶ6-7۞蹞[]lq $m`L a Qg7y=C  POhgϲ`IP/{F5׉Fpl`h_2nA4z|<;NmOqB`:DZ-Oq I#ӛqx,') 9Sy ~7@^U[̨z)ewzf"&F%hwj\g9`֊!CQgH>?X Z͓x9/LDE><&Icr5 D]IWpY ¬+ʍ.wO=x6{mqjyk_s8x %:r^1&MvQu5q%a˷;PʀA˾70F$gooukEB,اq_~b7Zch3y:s O)LcNdf'#$U$KlԟInԧ }sCO~ul:E8Hy RX\0ZħF_%z$ZxтeлH_lg&d†߼sD"Yɴ_6k?W%_ԙȣ%(U`@;  d#O/8ٶuB^"q =sj>T Ky^n0fyn^ <0ty.%(&*C%{L(hOX0(H) Z,Ez sb2K5ak 2TUE4b3@)T;aSW HO`#ʲo R|x_-u SK-jV+z.N=>sGaO=ԁWս?@ix}$w\UzƟԜuoeC;&;AB]E}?{(o 졚놹r@ԣ,0>\HKš.S)RKK3Ia@s/wB0b qe@XUHaIC.͇6~JW)W%!Mxv 0xIcCmNɟ~^LD`Rb䢒B~iU^7Dۦ2(N(DUO` +dgTTOWJ1Cσ^E(;%@tܭFM%REt EKh7 dY-;cyvZyEuj!1S#s#%*d`)QV}kY_L[(ڮ)r'trMXvW/2ͭh+gس>ym/޼I>gS<qf2$ф^WSǙ zcu*N,Z#Е[&˃+O)cw0{R_þ>cY=սx^fZ#Kv!ۻ׆g"kť`|L #MA2CuTTAv#x`HA[^a"CJF"x}q59jwt׹ !N(|]Y=6qwkm -A7tC#[ +kJ_i^}!@.s[џ-) C6DDr#݊>(GlOel.d#wI$i|H1/%ěYEFX5zߑ[c-_iŐa6ȁ 0V1o>S}|7|W֛%?1_Z'5!|0o QSOMh}M!4JYЯS(HT:吲޷QT("4J'5e j YӰn6uDp9fEr%OH.aڈ ɚ'(8|LiGԫu~=2G\GV 7ا f+㾷 [5ΌMi!dcQiwo>N㷯]bF{!¸+`0XcT\ѭhnr~U NUMY5kyzUAOoR~U=νx2k<1kş'X'E31 W[x|@0JLj7HJ^uk0eIAE i+~c߇hdBc-~J虎 [GjElR *2ʟ#4Vwsn! '1,נ=UQ%)PyDner7}3 Xn}ҙ^D(4bà .>SqN(bP}])#L`b0W~Z`}xpԢ(xp~3 j~oIJG*jWǖf09-W&ԬSJM@ dO Di!;@ZYCқ3 LSbk^Uv, `wjTqqFU^f)!1ǟ-:9{^.ʴ43uC-͵HǒyƫMJDo x]>!e0Y/5-Ҕפ@7_|ycaOBe\Մ6-FtOӧf=~%}vb>jZ Ԟ*k~( Sh7.ND 4Ә4ruW'CէU:ڇ:Z oqSr-F|[ӓZ>D}1)y⦐aP:= <|DGe%>W >2F<$E"3W=PqVkF+";3$'Bط9 m U$bF[V#N1S!1otOyH\@-C![ӳ׈+L}:̧*ѓT8sIJBeGrzVƅ v+~bkS!x.3C30+ZSܷ}Rc}`ʌGO]h!Vp}K]Cb57-=ZgCQW6euoy<gS\g9 Op4yh<:s%b{bUkS! yӽpY`Mij a[c 3SkS_:7>uxhz~$\a/1,PwR3F bsIuy颤,~|lġèH&a)K$QQ X9`<¤NGTuIԍ442-TUW"TTkKfrIyyc)9 b .eZ3C\Š 0\:$уY[|G;vz#wcn2j(+dTq78h%o)ײSr01BeתMϪwT;-.l#a~v7&TeW=tMqj WB'&hRK]"8AkmҠ]Z_[!I74myD nDQv^q{L7p2.C%&r̤gLld;Kpkx%psE#kY+RO1Zl8ŘfhT~pe"XRI Ώh2#cxA9bp=*]a6R^ ,Uz7pSpw3,[޻q>$ CnMCVu KjB @u39dUJfy@ ұ^沈y8elhz+u2+Fp/ ̨-1`)exVd]9Pk~+ 1Lv;_xÕbM={X3楁>֯BXŵ?&0EM4rSdc@aބvk@> /.SenzbGY5 ";xnܬ;ރۚŚVZȱ 1%D 0y[KM[5c5)3+6+zv]j;#qv6d h.DegGJFl)Ed֠+7 ]][y/R A?"Xu5_UEX& n `{鄤{ ~ce;Ȍ(6棩.&*sUhoɰzug;Ԫt.֐.w H"nDIb`1kqbk@{MEa^ 'ՠJИ^/,Xצxv4] !xz&$Q;'x})jd>9Ncb5uꛂV*b\(c̈́A@R{:{Ԧjh%KHPsvUc5~X`,K\D86t+*g_D5=-( j;.z6RC)WHqDqOwR3aXjT)ȫ3өr 0@8x 3]`a6|B)vhlv.>"P|^IG1+|M q&`kCf`O:Z9~:/_q\ADt o 5%-#jh}e ig%aֶsn=ؽ `F\9=heFɜ(ܭ)6o9Ej#FP H'Ԛ236;'{u )k<2_u>X|wyfF^]ns̄He|K$ҭ鎜".DFCV%n+wFꦕ{- zb&(orB ,F+xpW7N^I'P͟;ci(,8sEkGEC^xchH8+eؑxȧyDImGԞl|<T\uݽlIh(u|;j 3B<\ΙhCd@ edMkgO]Y l9SVڼ+yua΋\W{eau[u#]Ic /xxvـ#%lq6SS&ش^K(O4a37ECi Y491vz9fo|%v u"y%"?&QehK@F:Xve^N WDqroz}5}C ۺzSJ.iz_HR*N73C ݵ^DqEtwz$UۊV:h \һYJ=q}bv5*"R`'"l9I{x#AզYR,pQ$}2Aǂ^V"{%I- S )M"YТUM: M>1 n6X}#b͓_eY>pNdi+3 0}]%2('Aw E'ƶD^.~o%7HfI{4/A`hdt qvEzm ufaJYR^L2ޱg[T=Ծc7)O_Ht]ԚH [7'Cru 0b徎ABah;Wl7w T4R`= EhG"Z-WiFQ AsSVޞPRCD@ѓ|vXhJz)cpnϋ{gT8D}HR ?dGA"%mk~KԷqDli'Ԫ!51K5FKt7Fp_/f-=` 9[hӶT>OVcDUps )zFWk Q JŶz5E7hZp やZ`yɸ.v\kHxvX׾RK K= W‡c=jo"pqm'z7X w+# b2 h~htW[ O,/hwV$]JI B1 0qєՅV?}ϿŒ龿 퀁~9 yAf )汕7 0$=zp8ug/ SYW4<E`=c[Ѕ sD6 Xl X{LWU%Gpl;O\%u6b"R?q DezV η6KEbsxwFqŶZS;Ƚ.<=:'lț[;zp:dd޾I#Y>s(śW17+@= {=}U} {h}:{S\X([G3 lԣDk電1fIZ7/t]4&EV u4.ka vE*Bޝ) E7YK 5IEo)@Fj:,PHϼS>EWc Lٓʚg ;^\TQ(ɜd3.:kaNz=X8n`&) LO;hzr WE;b7 Jw=2%w|Yr@5f D;s EAtdd2Rԝ~zuI9x z ~WRqSŁZd,}9.}t#]-wNm~i-dV3{\& ;ǂ/{JNӢϑ/&pPg!fztnl$ +6Jcˤ #07RBN~_X: E|ӣܢoOouX>3qzCߪ$Ўlj('_ZdaC,y;#t_T9:0% @rc]qSp%d,tF:DQ7t\БSVn@涼ҫKF+Xjݸ^A[nQd g\FJ>x`IG2uؘS7J-_ʽ+NVxMQupA>n[}QdRP QOA+!On1.xbr907 ~V9HSR)yE$li%v/"XzU:Jp8?lVooPSc%Ňpc]%U_$dq嚫Z):jcBZSU[tH|W5(+EPb!NN;Y0%'V@/7O#jƶ =@;KuP2ND ٔGGhSЬ/ݗ@}zS/ #A"F氱.sKEСOHվX9/n"ƯQmx@ ^f:f=QxyEF«V_ @VN fPX2 霪{Ks!dp0W ̻}rه<6X063G+z::Ւh)Pd4Z(7pѬTpӸ%mwޛz R4T~_ShK67K%Dwxg2OM ~ς[ &ٺ~GkhKWEoNkBtBVZ6 BRR퀼W/G,V(whL_m(Q]LTͬZE9](?ƹ{4;T2;_x c%ehWtD Nlp:%wZ_p!hٜ;էǷ[ȴmxB Q;1< m.8M:st`DFQDxbED35[QqnFFWBua#i2xKt+k=8t!C,~($Tj[6k}XTǫSE:ꁗE%loi!#2?\̵Vlj_chi;lP(G&72.s'S϶9PG1[ ˁ- @.ͤ^ר(q/HJT"7qcDpE^ꃂ4aШl%9iVT'yX;wK 1I+\zt{"[xbA_0bwj"oS,=dM!=vG&BDE Li7]['0gev|p("FsըɦvҌ&¨d5eHlq869`PMűDj=z @^1(ϖb񇙐 ddMRM<U(k:_ NWۢ'C{Wu)N1};{\f_ԙ+׵Z~PJ}&bZX.G`!l/ViT/=f 7,"%^2$_QS6bW\\L7՗'PZenqXH{uN߻]D4 575S\H30XM[U ^vJE1+xwabGceB xci,j }_s@w! y-'9<$FD-|F$:BH9UZiʛFэ4152F_Ĭ]`:~wea [e n"j2fPR1-hWګ:BEd+[aKsnV`7VrQ}JFD3)Hg0 K R:Ԃh>X oB&@ykU{>m^XጐZrwS&KhK\v>j}\ma#NbBR^F_4͑P*OxE'+z$/tQX zOX3,j$)*fwƎW7i?T#~, P1A_/^bξUYT(.ˌm j,V{=Pr|X(Ewj෱iÉjϝf*Ǥ%}{p.#whkȳ>J|.+ga,&o/ n@Uf(l(E6~Y)q |; KB}_KnYBGm ,#QVI @CxnWu֡k@N['µ39lrC91ipE2d#sVp#nv_7 Ғ5]`TAm!x!ABEeWuHmPt4&_ /%_N!H0GeLbpcqˎ(_A ni+{SfDiq5MĠ?h[%h*M^@ݴ~C,1O;آ63m3([wyI-fsUQ+qDw8N0oh5`1g yhk MLJaZ[Б~Vv5fٶ c7z [Ϙ ӖS0kd)6zPE#g荟5g: ugR2rIbFJRX,nBa|jWי;9^Ŋ^p_61>oG
ʮ|+:/wM$%L$v~ZSn[\g+_n>xI-\LwVJ әO],rK,ȿ-zqzX3ʬ&-4k 9ef^^ 8Mv`,ѷ,m_ܪapTOy9t}F֟COG@}Q="A'?6m$h[CR @rBRY sw"LY0Zʩ9b*{(np5yQ\ԯ;S/Qrnv睼Ů@g&!Uu1>vcNa~ּGӲƷ:\_8e<|%:Kp 䕺1Z1phYt8u_ӂ3 <9C T$v$V7UrWfddoև,1FrkPtB̟k(lx>6 I`Ywwy0C& 3t9>꯮a5F)%# 5lpRcɓ,|l[xlz)f۶~ܑdrw4J`K LXOJ:Z/)73`UA (쮠(wf[{J[:9yWQ(Gֿ < ƿ d/{Ua)O2@B*zƍU˾ jݝ/Θ(=Oq]6ݸb jaLh&F!'\>vt8E)0|v5$Xss<؂@?Uէ$Rq 4 ϋ`=yեCn@F{Sd*5=! )9jIэKu(BVRR<^a@E+XT1^~06[ J` g'"ʹV+ Gs6}P+SKkڑ kPR<#󓐪Zt/r }e ʥ-b88~nab#91^A2դMn2ރ+vjq)2Pd6zvhM:j޵ң5/ 7?.RXNָ;`|`)b늴 )4pHgk=lyhwOb j=& G$ZjoT4QqY49i׹&EnLөY!7$-vY%'ls::)*ʂ`~?&pl^RCۨR]`+j 2&cQv:"Q]cyhV pl?J n=K%gu x%Q5ΨbҋMj( ZxexM5T! {4P=D(Zm|U] v:GUT'a>/,:=s}ݡ NF@7#ڻd}ʰJn=~H y=NJ'*iaW,z85EIq4z!]\SEcA]h:lm*+)tm^31,>k5SA[ Ԩn͘tm3<Ɍj:犄 P!l~ 8 LTH}<(AժhggOY:}ɚ]j:t}n51ۓ c؉YxwfP`< _{"ݜ @!\HnJq|EB]JC^ؚXcμ 2R5}6u=|^bPox0\PU2&:)˜g׵hHeR-4!@nqMIf{WX)ϪE̡"wfrRd49$MF]W9J4e}SK΄lTg&ifJohn)lj[A\8סG& Rץ!Ȋxd? ;K5u~a;%jӄD '3kNYs3Ǵ6LYB\A!!% ɉ)/eF; )%S^MTC\ĩQb?IλOc%~b:i'pH6e!nrq, i|'(}~ rrkye1~8;5ɬ7I-X KIkK$+#@+jGމ([iQL1'u{m?yelTav6C$F:;U)S{g;|xUUaCz^I;M+yP._yv;oc/ypx K"?,td.DTG elx _pDJlш"Uſy* KjQ Ŧ DH[h3j{Nٰ:ԇ6\ۅ!xV^J>SxA ^+yk*RS2"jA83Fxi?ï+ :Q`<v>+{sZq:ל}zh2y"Gv9Q C|y86%~Bd.Nn[cɄ(BXgފJp٘kׂsR0i}o2t5B?=F#Wg k֡|nxdmb޿Vr7mbHyL6VFъ2~`8HX1P<ۏKiCf稳Nlng` {NFSeq6V50L UT:rMf0pa>]ǫYzɱ!o^v|lS "|N?ɗ+.Z7};4!ZXxth[*ug)Rmi]+*@9pݕYDBi`5uX6F5 b$j+t><ٞrF>:{es5&i4 z{P'~lɌgoSb.VnjF}s)`\Y_wR_U70 -Zn_wK4n-{ǽcI /&S{aB`~򢔽}mx0d89" ľGƽ$T@7;EEB Ôj{Vgesg'[\HZ ň#Yׂlu"t[}W@ Z:.wтH7κFرncᒎ1}Cm_ͧ6zD g0G ؚW5T1aSRBmCE&+[3=ѩ78U /LQ=wN>E8v>yo>}Rt}52_*V\DhG;ƄQ:I$r\:5Qc/WD bS;.u.j(2&8G!=)W_"r9 3w^;؂-@m)d7&]҃bmF yb!2ø2,1iX]5 ~;*Y+|m.T\֠B˙ˏqF{yx"*z ѻV6c 5Hr;8SDg`.D5,p]ag&f6n6& VDLթoV\D[:HĠeM}]M}L:AUz6jHIrOWiwؘt놏Lq`]NEpX]ȔrQ53 NW=vzZDRJ;퇚` 2J_]&ʎAM$,]֯7 G V́P4x ſ/#EsKqDsh63 d"¢^/ k? pnS3;%0}SU[DLJ_˻eN1RJo2ږG׬ԡqP(YMfb ;^@L4V [mǛ]1#U殆mE@s>,.B"cԡ H4>/Z-k>EI $??ޑoнr 軍Rs|ɩͦ~޵Z9[|+~o+1< 5_=r P(Uz)Ep-s$u;d<+܀ΤE{9 P ĻQ>w/='_)50`i_j8}:`ODŷ}$mK֭/зjغ(ОՆwn•< E.#K0* >@"Sv-(渠$zMߴetETi !1!'\m ,w@<ᛌLL|gfU`rܫrmmKa 'V=4zAIVL^/h6'z'zyR叼s>NyI'>X=2]j\Pq$.ii!rMY0 3@+f1>R<#l#17-:=},Km!js~C5J:tϜq_g@28:Q{Jpw'2"[)D|& k9CבlnZ3mEyaǷz7u/")08wF5W܆ӰUbf KI܁ ^—l7ևXq1P,.e'uOE_aYGJve19HM"-aMTwJ#IQр;; ZA=|Q澪T3 JF6 VYU35qo! ׾k=j4 daOt~^2VɍI"+"(CXϺ<}}UsBPڟ+'ߝ'֑eIhikއgCGos}t19>7tn|Oxl㾤yr{ٸC2tt4P30Ġ8wnbczmq ZTuJ|pbmZ8vj͖h9g'ix*E,ۤic_;'GKi `Fn;fei %e>gf;@kTxc,Q:+oAqTޚ#j%7qH[gh[K,bҐ~Wblg74+fz|k34&] 3lTBmtm)^K|^5ΰŃ&a:=ks!6/ad9Uִ(۱] [C}h)*?>(h+1f`፳"F0?ooژ(v)/Ϯ Natv!jj9}k.Tt#`p⌓}O|2,ŰZWɡy\łܵ50C5 TZNz]H]yA4kDKPFB]Xv"wRn-nև a9ՅXpTi =ժ`a/ȥ*vVh@&)B/#~qkj ukaƐXH@dҨbPv.o `jb xLko'X 6s ]6T} +0EGC^qNwmȚVޏ]~T~bda|\;V|CWVƃ'gR!E~/@״GEbkZuz_ITdlRj;xҍ__/>}'1t7"]% miS؆`!ƺH "wFïjSȸh ZłJPil<" o8>lXDT+{G8UQ4ߒDH;G2V! 59aJiDh'ٵj W&MQGZ>D- .kYEmx&t/|0uh/"<~z<:4tٝ&{ nBjC|H+/Jea6vhAT%S0>^<2`vã,}2X>9qbޯqռwN.]fȦ\j 7Jr"|=DaYufbNæѺn/A *HH'J" \f0/B{\/gJsUZ_ll1]hc-uv7D,ܴh'\#MO/%NjeOK}mvkWzjݩ ^<'xGG\p:{ǢCa|k;UxE|,9*R{/\NJa 3J4xk FtT Ɂ^Afxc2v @,W懖 ;nv|FцUϬLRUT=~iCl̔"ZbD-n't&GO)Mfўz~yG=^W"+^/>ȔGhh |#U_XN/ uJ]%ܞqlU$Y(tuU<UlC[M]t]+u$#l42i 5/U+nyѣK5߇Ŵ4jpB9#*No@`?ӫG4@v:Tc"ػbQv 1zI\NTIި >_Z_5yJ"YTǒpSk=dQD3$,&}_\)ۦ~k!6~=G=vBƼڳ[o%(9KK"If%oŽiBUʹ y⡲RKkm)SaTMޟWUDUrڨ Z#`|n) ~ [ R{a ^/U1ŧj :wAPijzle/~@JZ"!^zr >kDCFfc\6 f/>p& Bt^& HCЦm&ͱ8秋+GKXJtyL"$NB{()sj1ִG{ Eb"aHI7&H^0S(VA[g<6Y߮ 5<"JcWpQFǗKO tv_u U "@넅4u #ة ѽb6`G.zV U7 j>W VJyN_HSZ5.$v4 qPlWDs-SHJhdG^Z)[ro(`UT{L,K\yl^7a6t'fNˮZGYv1Wgn$ )A%g?~06n(mĽ-=^y2.3,.s|=(([O]et'P끦7BxRT9f8irDSg% "U kw?70BMɩ} ?Hp;ڢJ,!pٱqx*V$RNnrU&WҮHʦz,>:")"HɠUR]TpEjr6Pt,0TBgr/3[ycm62zE^J[^ӯP=A&RT!WfזWJs`jIDhԘgq?- l%KőhZ&֮;bA}=JZ i\@jAc^5'Zs"ZguIY9kc؟C]7>. UTX.&Bҳ+h*J\D:!?5rYvp/$'(fz7xN!5tt ú 1aT),6sY%^)SdD9ik#fveq*ٱX!蜜{ԁl#Γ$"Zb(ʜך,L"0"D2㔲[ >߅&Tv߈XFJ:}Bg': BQsx^5oTnVW^ez9/sO"o8-5]/_wz0~$O4{c a<]UwsFC ~oT'ԛJJgKyꑷ0>KF(#tu 1MO8j A$]UdP֏T/UlmT̂ԛ+OڞeiYhlah>Dmsٮ`TU|=Q>Ay&^k0!ԧX!"8[*i;8\XǿQv/7{ďW` CtPI.HFTV..]i9"~h<3p1  /Q #[Ja` t3q r7_W*G\njYDr+p~TO (-3fW=6z,* 0Zψ.52saW8—#k-$/.J'ƒfX |eizaKhY5HcފC}anw;W`"1#8Aؑǽ:I9(n۹]Ho?ZX2֥ ?$rDǻmBL&~PVq]2l|ԕ!x;?2n}cTG*V&e(_ T/T2QY:_V΃qOO5?\>'|ydaХ#ܤuWewE֛SÔItۻaUԧ!gUvWV7c(*Rz}NTWv+/@f/ 7b!﮷wd/%[7(}/,Zv0:@qF_}+$3EFaJ4X-XpYj}Nٽ봛C|rd,ǚ(JOCG^-Gq!,F*wS޹]8P"$֎CP2{c۔] ZY`MwFlmz%37ww?sD>ƚ1Z D n.B%4% iFFGWpxN~deqoiN> )+VOcv]PfYrMZ&ʎv2Ȯ#xzlm\lD]\[t 붩'zǙHӄ!{e;_?.n{?!~3]NBPi^;;p\; 6ޮr: ]ɱm pD"!Dn)Uuê!^B9 <m="+x Î:".OS٢ҭ,*Uv XA8U3eMK DQǔiNWu !MOx@?Cˈ!ui?CP+0RhG5j=>f p>Í7'9xqO=q@wԮriˀ4|:{хKqT/7q`{ꧺ 4PaQo 'HBqLͤ,Wn`MmDzW-cIѓA ;E1)qn.t0F6NL U_ O@nӻ,1P@z0MtG{p\y!{!oV*.31?rKJVdQf vT]cV; ]ԁ-Z}<e;cbR;aU-Ɉ/k6V:ɖ+(%rE~8o5␦ Gzk7fԏqd:Vv9 @Q:TU~ wVpZpFk[ϵIUq *mF~r+ ʭX^=μ|q@` nZu[X &g! -: vy?v(mS{~]"oe۩y'kH`SFci,dd@º7n;P#v>#l]m`U(Kx偖-n='JC phAZOdizR˲F@WE ʙ$wFyԓʦ8U'p0LV̙TC\*c( u뚆5y46#(2В;VY(ɩE[ZTȎIT)Np!dK$c+V ̃j{緘uA!QoTud uuYFPzg27ebGڈLo=|": !kĠy->OkG=$*L>YGerw$[ykþ7 |5{T CRײ54yjQP& ޟxgj%Ls9A #vsr9QSh^"e.j\(ƢݖR㬾&ؗ/OMEm OT 0pC(Bf ҉Mv;xl 7$)pgS.5eWtY [Du@qyk۞歽 l5oO*ʪy"RQwl=A.Խ13 ~pdt=5f?;a 4# ;26ˆ 7|WryQ5D <0W^ Ȥ4=zRdr>OTv: ~\[ؗ.nHRWnNoK$jWy@LY& q&e;:}{>n򩳝X*~\7Bܼj(Hu;b# CJXW ?<}ysS*Ie؝~nT.^&f @h/tf'fGFRƊ}4#S M\/ h'M1R$ВLu=;]yJwb@a?, Zp=sQ:ORRm00}IkL{F9 6T^GE0M#TU[^"}fw4U O,őgr^:@]\ f"x(ehÅ$ emXf0}_ZR)W5^iTH^qѐh: ?\1_֘Uw{L#bjFjeU*NrӾ&5"څ6To#AS,+N1-"4|YF LwG-\sm۞X٭@<Kx[Y@<ǖx:CU^l#oJ7Hs21/|Άդ(zKkxZE/:X pAuU" -՛*#KTڜ_ne=ST7X=qb XPb==T\nBoO.UgcAo8kH)"äykEueѭ;=^{;D{^({ m]7h?C@@g2Ku1-?Ii{T2&a;;EXa |{]}O̢ jpe5 ]dǒ6BmTػo}jP y9aBE#cPbHը7R6y7v}[V>j{hmXCNKZ%%}8!_Y_c?j;ѧwܟZ5\^a#ZO;q'V;Z.nT:!nj tw4;:ZnוU 30w24UrU%YG(f0>ٷ2).@ Mb*8H i ¶͡^d|)<1Pvkc9u:-2Bj3q>ZύԻw7h%ʒ~~ZJ{r bwLh`òPx<\d/9\} Zp2Nr3 ڐHGN&(NjfX[t 0`Zc$1K{qlUr |W҃w>q0*aUZ5R%)B?]'~iR$h;D'{@ˇ(-i+ Ҿ {Dpmo\6ʑa<=hN< JL~|͓~\ N5~TF]c\teۜ*ȀVwB^+  @\o.|VVD#vf438,"n%f@v$[UH2v5]r; :+ t{rVeԎ- NȃU@T1$JoȒ A`/۸~ϕZL4 M~&pޥPXX%V-h͒w̘GWD A(,#^-QB}:AwtRFaə5iTng7 ]Fc 9qҶMi p_&!=|"i~9x+|Y+&wwn+1 ^‡KNҩD~K^W6Y|%FP;<%hM׽$""U*^(AlUmk)IQDuE1+*DIheai\, B_CINv-) x#Gb$Ո(>j5_:ɀK$M=NOFAY]7a@W/Yj)߸Limiйɓ70rCN4<;#8*jeXcP)ls jά_̈́ABs+HjA勈 f<.[Y̧7TpGf&> XkM(DSu(ëpyЁAC>v.b/쯌 w,Ű1^(" b I2Kv+ĺaʢDjIJ }b賉>Oj(}5 f%0|Id/ߞB:Λ!j#D*B)PM.鯄Q}e~D'O !KPC/t#*jOSOpವ"r\ Y)w ϳWz!  MP! `"Pb/f.>*k%϶W > ~tzh<,DYU5+ o@`3^B2)> 4j- opwXa$\{C-:CCRysQ@ s#b۶Olhx,U_)`Fs"ch:dR}{1Ay2Iq)&o !9c; /l1vp9fގS8:gYn)t ֳQc@P^Ѫ`@t\c za"^R=1$'e [yl9CIFErKcZ`6sbm wTv1ư.s Wtl&,$urS5߉[ܔ=ɮkb=)/U9Hڼ0ep-Guُ25XxݣSn \QfvEI̒Gs }C}zu8#MZY(>yt!_-TSIۂU ?6t/k8Q'mɠJ~UU}C2g&91?ՑS4PKFML嫯nz-6)l@\wȃ,W}5m`p$5[Xqs8iXsi +RFuM,GaD t}B3{W.F1Q 9˼shP$'SSh%em3jh;z'h(uO@>~ɌI_q6nywq?i3 CQVlN)B U.2#' Є zݍQyԌ;2-oAP1W4cԙs]Fe<\rbT;9^1%$NlyYS8Sկ@ 8TVy87 ʐ!$\(ǒCy? /M!MHAqݒ󗣯d˓ 3 վJ}0{p|'O] `c'v>3dGqFV+80E6B./2泧u~ 2Ao5t9b~bkyԋh1CwEj3>C}=~0aUZP=)Q@PQ}~*.'xHc+2 _l7$Ql-U]G;Nt-Y8ˋj? edl?pNǨ |QbġѾitc'o$j2Q,C旹p2Ho=_! xQ1AG󿪑$_b\+ j=$Hp(:7mP_xX`ɖICl[CpC~qcRoPeXqns4zpԠ8܅Cի$3sSЊ06QYߋl^ ܾPNʙZx!,VkQ ~MwLyѼO/b 2'fPXG?!e7/ʘF#@+{3#YDrH,{5]8 xH?I)_IxstJ0LcY+s:Ki3_IC7&!d #~Gw5FY~ K&jKߕMg[ަƴl `<^3&*b dRj7$p8aGy/b q -5eǨUP՗࿡bόQ7|%x:vf5M!/\=vc*;DYB"EWI} "Zۃ+҃\6].pL-R7>nZzeKMq ⧍>Varmn޲ǖ} ]SfS*V*Z[틗2%84E`+%&-qy 3aߜV9g޳PtɷGkegk2|k -qfdm~qA|QZ( j!f?cXDr%? @ z]g=DL d3QoL!X)M`0=oKi?iǪZ7zkTDV97zh=;= tۺ\lYoξ T|o2<] ma^3J"Cftzڮe pҔѺ=$q'+bH2h`Ws'(F`B0 +CeB@5|^e'EFsLkfo&%K8QcMro !&ɝ6L W-X1HA !0:zBb`;{+WR4`›h`_eA16Om6ۨQ^#tИsߥ$B6M"zUьYQ8gW#k !Xr{\9d"-K $y#e@qs ˴)lK*6 "RXIn N/V r51tpJa+Ӎ7_# jЄ覛~/h^y!BQ3c F c-SZ8i~,u2<w{uDHs&3G0}"n&u+*;Fِ"CӼ%x`iJLcHK~7v'i*@*%wq)TT/ZP+;{ްT*GQD֋yAЈylB1=b4[چS @kƌIl❓#K,%UR tQL8piK[QY PM''S:g'ru Sۉ* ; FZ=~B$_HBtx ¨2s3dNkj}j:1dD_d's^*5㟱`G'yA0O,OE,Hr{_9dD˖i!Mr e*#gFZ_gLhfDaNO{\UY_Ӑ}'V)+l28ڠ2+ye`Hod;855}]gi^MϒCdW q`# 9k:Jr;A0J/!cHI򈡙 Ug> ֒=vRNg_/1",rmc4&; g1B[ŤC*!< eRj&@PaNDtE*K8횿k?Y~*LB)Y#-žF!r^uCљH(ql Yi#aHpM=Pi hwl{ҧHMn8=B!6O%jSyQL,,N!@сIJdxE=K$ߍBo'+CeUZ. O#1yRD_/v bF>tZ¨YU@Dko6ra C!/<ޣ থZ(T]٧qB6tǖ%W{TsdaA ^\i[080b#.!uZ ETJR2ɍ9A0:5Yz#6k*4^¯%x#qy fQӒ` ̄C__c>ƤOh a5Gj0ʮvih^]m ekAyyg(?L$p.DZæ3#sQJ*y.BRmy&.VNGM(e׶: GJYqAf*#5`l.-{k(v0ngqb! O$V|!UPBi;,$qΐp V{`h.e4lL" @,P\qau<0HոLT[Ԡ.xOƧGV Zl˷3H8Km?nGUx_ y@XϛWAˊ_4m&Z.a0IaMz\N|ݾǐbV˽΢#4= Л]mp@9=0e o`oEܚjmnr s@X A]3TmvUrK4'̇/vma4!I^g0HcyT5ewI* {Zҗк%ὄu(>jhqk/_1%Gg񋰆=|KՓ!npF0ybo5LE짯Q:幅4%*2dExD^Aܴ;LRP \*4 >$W㡶jwktB~D8C%usԁr j N=0G)r8hsJD Q\!($E  & 9`Zʍ1V1LC0.boaP4+Ұ wS4 ®n$[;̡ $DvX3lG?¥^[sɣLލ% OpΙc#;_BRnr띸Yq|sH6V`+jf)A1הּFԉ>ɢ^N%tZpbo$OXhh)^\l`` J%kMi@+ZAL6ن& ih]KwbsC1D_N 3 ^-&pdxi?hƒ dxźvx~RkJv@dP`^ ~zqk憨^'(_00׌L&Gs>,3-v瘹Y6kLA}Tu_KYLc SLO}YO0ֳx_򽵪n=sj)\Ѿ|2}V;*lZ wM%S.FS2X "@HX]UOs^kY҄Q e,6*21|--&dW "ĈaZA[UhC+?n>gsHI<)6kNw6~+ba *ET-4b6.hyVzG]HwW-]CٚOF7ʬ夿p',$ԏfJ5_Z.=]*;Sqh !t``P\ȷ7˅xv4-# T$q@U}WCb9VAHʊh۟>Vaaqvb/9-+³"=i#+*^"I;k#ȗloie-.\hIYFcOm `9ĥ |𲟂x9r܇-D$Kߙ=kXQ_aҔ`JR_:ō;CڣPNW31<~LD BRl򻚨VqF~C!,~Dȥ;/IQ!ѝ2eA_9NsXLL|kZjf@7`(&|e Møκ J|KW9K00~Qk% $}$x5G Thg=)DHkE}?'(}Ȑť7q>l"db=xӚ`Ig>(WtF*c(I0!@T[tlpQ2dsj>݆T7$=zTj~=;_8 ?n =|瞬:b_*Zon/0а+Ꮝ\n'̣gW zpW7𦞁c#ĠTQa[ Jo>zj06U N.+#jSUՒ~L6ueհFrq!;$#c]ʷڛ¼-/ R'V`,݃7o#_;7-qAߎGieK(z/A\*`r> G^ÉQHrv0kiI|W吩s9/|ȂN;3K:AOʌp;|SYen߶z1oP欚 )Hby>zMo*D7N`v/qDwe3+0GT&K.Cߴ#vINdV{ D0 ݫVk_>%]^qvIC3hw%Ts!Ѝym;zǴ)D3yBΐ|?viJ~vf{ B}Ith~i֠<Ce$E@А8F*T^;Y :\_gX ]"cI^0( `A@Z'^.\-SϊEf/?{y8m٬e9ȷbyCȀUvk"?ŋ1vtNlveҽw퓢'Otl"+ƠQ@PIL%7\ ].(߈Zhbfe| ,ZH (Aox[pgl?+G^}F`NjGQ>| d;dL=zgTy\돜67RA=fut_Afa(r Xfx]]f.S `ؤNjgtt8OZbo*}^^af3Zt{%[,#XP—+N/IS=&]s,͓v]񄺜-Di-H6Fr;2dsPZ2oxW)ShCqa~^C zyD?rr}a`j :&>pΦF"F>wBRm4 5.Fr -p VKH";roq@DHuwKQ.eyx e >F\/1Ԉm],K5;#62;w-[O14Z~IW*KEf ^άJb {[Ir aÈu-;F`>&<ғncAСUR^`RA}S;D-(Q]Z %}E=02ܤSvc/eq?6EZjFa: ď0EVn-ILaᄫom'E} YS\ "&ĽoT! HaB q('|QkK/qz,α ybh OAXO8őK6orBѭFkG4zjїjTh ErR'1n_ k EZ=@c+| <ٕ} Ġ8|AX҉XVc>Q't[👆~1g(a%)Qܐnh*x)O}* }C>uJWد <_voniwTBP 捺VA7^g.`g)2޲RP(_/YV`fdoOS&N@OҰ{ Ajx^"̥O70)7_A n . apQs/a(̬4U@hW%|Qs (6R0)kdS*rK#NP$_jHL9uN8r+"?0v 4eCpU6C'ojVVY#[-i_vb!`i52FA{v[]g³tm3]q#`d{pO!lPzO."L$4B;K1@&6qh'oqcS:VΞ5U],ٯ&f!]i/ùTvsL8\PMYԨ<^J+'Wf+CR9S@U)-A KfG?SE*N.$8~{smܰqON#Xn4Jf ) Jr#rY#v? v1O2ULuρ܊`yC7yZ-nc 4ŝ"5zm1dkzSܝ4l[_bF-]k ]LX{p}!`Xoj+{-tݛ#Y%|ZOE"} &f4 M&ޡ< qs5Xgޕ#N9بaclZ SleSJN^-mnڨ]n䞼5̥J2ڧ/?α:IPb&;HUAf&m_YSlvmҴ]bd061EP3j pR@j _0TpȟPd^J?@P*MuH5tannk EeBRE%[RaZ`.es5`$0aZ<|Q3fE֌53nA`%0ʀov@I2;d")tVe9T0*#'"vnwwNauDj=zݭBΐ2hcV ӴDە!@,T:$WjB*,\NLy\wrn?ki,ƕW++NR^04 Vc)6{t=5,-GwT" ]F{u}2`U+$@nOW d؏+y0Dpس1w_Ƶ@5 < _Y$~y{{\+ uq:`!zE% aHbf~npÑ</L=?x;6Z`S^QEzvǷtVK; LeAX˚NwӸ_m5EM.mٲ5 ȯ`h=$u\MH_y=#d(|rrjYR0RJ$5c1L9V+Z!q-CUϨ62a/̒ dQ~ [e5 d ,c ]cGR&ziX,pa5PxX_Bf{`sj ßdCGT|GYЕvi:4Y-R>2\6RX liWM$vN~^!ʺeӷ[>[IK(럽3l߷+tX=>t?|`k[= /0]]eսuCܨUjl1}!|8 1[겇Bq |J+Tغ##Zde0KMQh_q[உ QAraت!,Ǟ糨E/gָu`i}uԛ;+n, .N004Jq9'ꟊ q]7-(WVnE>~.GDvhD%ͤAc&b63 8g"`yfD[ t5fJ+Fx NrlT,eEEm^*b&񽻒4p}"EZr5_\LD?/C1gf"PljӔ?hVH,VȻ8$1 c<݋q`A_mw]_GSK+g4_i 8V0яϐɔjssa\'xZ¦TXlQ 6pxTֹ߿;N,"h,?K=Ǧġt X:1NKwa[76Ig=@eDDܨ&T-,ӲscF p-xugBHdAwx%H{ p{S6>̴M"Ԡ.UTUBa7seQBh'h :97]٠0;ҊYn/2MCG0‘iKCY+f v@OCv]H4e+3?DXSh<2Ym/U8j6ϯ Śͧ箶>Om^ iý˰M-JԂg `ec e] ORg69ٗfpY٥C15|$&Ves a=:aRM8)kF`S{a}u\51jHe&jˡcIg!_'4BR֌Hw_,@`bߒ^"6< ~p?>.T"r0}D{2l,{"v#X3%u ,a{?UoADPOvӀxf)96#_\~6#S#254 e( z"\6:ɴ<?Q)"$]ZOrD`ejxȥXh up`B#GZ*!h8 I̷/Kd- \OT-I5 ZhZ-\jN=7M&T2mxiZn$N{F H#'b$@cgZĐ3UH ݵ~2m"<;нk"Y&Z𳎳La<8Ͼ||-kqO) fB gAl#8y7}z1deOMsjl9^o^0zڐWVnYSFx%&{̀2  @m1>W sj !ɶٺ#T勂sy9!wM$͋T,LA+2M?Z"+c =mV|h@x0S s@jNM} ?|>l_©8ڛ=" (JKK.<߷ QLU IFd*b]::U_HBkKO#kTt*MT9' f4JG=l2Xmc.48-ֆO{XR{+0rڡZj=aI-6ZqTGWz]!c 'k)G (eLvu@]n&Twr{P;ç65k+ҞW[` = BlB(GFߔp.,SgR@rl>[;nwRt3D}/#RN6 B4aհDd !}i׫qZ4]AE_#mLL`Y@9+3olh[% .h fR;2B(ch;N^ᦪ~pH3$Ym-%PS7uQ3bNlZux) SImI<)f;m%ߧd,pʺty~tWjmSOPJX^;dt|%l<활z*r{&7BJ1 8hd+rTnbPP D(DK'R֧gϟ !h)/'ȊQD9.B?2>&KΚ`8ڀ u}+r}wjz؄NkzzMKr Dk M[qfmp^|ocpڼxNd-j͚_\"ԚSE8 WQgk}V85,,/*WGqK7*z]ps]| t.%3YVy!Id! " .+&Gzm'ɴ( D衹T}RwܒzA,_ѳ|M_xŬJYh o(dt*sGh' C_ 䬑)LOMQE}ΘXS'FJb;CJq_ ߄gI.,Þ ֮r1mI\ ַj`<37B/ _SZ^Pq9!#TiƐmөk>֖w5&@Ԇ䰉_hguɱH>P6xC='qsB!5% aDnm*14,䝏hp-]&QN^EWt!M򬯨T-b !zpKF![~ݶXDA/nO#YXJlx A1c> RpP`. 4A՜z[4kUF\Hz![߭K$x3*R/b5@% jYX)(Qޫhf7w_}N.8[9RLs-`-?SQk_V-- :Dq{~= 7l|n$S8X*kp5 1$Tg Gxr3ER);K|#h4V7=23Hm-uꢨUD|Y*wAܜu!|6bP\aK_z5tjJAw@v{oa^VUCgdeXzEa0?-rlZ^,0Hnx~~z}F luH,mX%%9qT}h9m;1Ť%=:^doÝ=ҾƄm!M"v4,'\dV6ۧVY걢v: rk7plhO}5Tޱsa'A|"5>!q/K#D9=Xw{xT=<B>=9U="zcÀɞV2& DQҜ&PABhaV8Ţ=ć[Ռ82S6ƢyOPf=_Ǧ[.{l8ͿbO7.A>S4Ѧ4=n*QJSyJayӍUąY8-<ǢL끱%(@w,?;/k'lvxx,bG/KqDQ6 _]mӐ >pƗ[09 /'K|=_/H{._cpmhaҦp& |LeK:y{%&fNk}0`(}v꬏1)`]clp+s^Ge4֙sNAI''Sz*DtCH,K 9, :`XWn F-W fP/e<6rVzKd2=TOwcz}0c7u(?5+X(7bbNY0pWGX}br!5md+qO*e~L5>H7ղ_=B嫾6_xw6<>xkvE llH^orF3fP1B\JB Tӵ}L[ί)=Ba}o&*PQx+*S :9ତb@V|#扅EMM>Pqf7O(|}'Z8(yXBa`SP^~rhK/`P/`m&K='(^M*w|b!x 3es}4Ƃm?kҷPuC=WŌ? e@mư1مM.ڙYt$,s3V]+I0Sַƌ%KX YF}Z.|TY^V: +4))Z5 X5ߞ"Z^/(!(Lȴxr_vXB&)(\8[AzsVK?,O^ 4JGuМE %|sF͎%YlȈ0E 2q)q197r-Э$߾Kh$:$c箩qqӑwS 2Yck! Փzn S5,[۵ea³^b0AQe8W1Bl(uKcDNB&+kh,.ޠabu뇣p( 󄢄6W{~7XSuNڽQ3$G$3%TIHθqq"C S~v)Pwu׹HBzԸm Dñ]q}M/bg ^7㴥L42( Z f[gE*nZ {]/u+-v/YPzx|U ?Ð`> 뼌DLM"d^ 0o#E&oyG27gU><ț\ #2Q@YZlme4/R/profile.R0000644000176200001440000014555413215244712013116 0ustar liggesusers## --> ../man/profile-methods.Rd profnames <- function(object,signames=TRUE, useSc=isLMM(object),prefix=c("sd","cor")) { ntp <- length(getME(object,"theta")) nn <- if (signames) { sprintf(".sig%02d",seq(ntp)) } else { tnames(object,old=FALSE,prefix=prefix) } if (useSc) { nn <- c(nn,if (signames) ".sigma" else "sigma") } return(nn) } ##' @importFrom splines backSpline interpSpline periodicSpline ##' @importFrom stats profile ##' @method profile merMod ##' @export profile.merMod <- function(fitted, which=NULL, alphamax = 0.01, maxpts = 100, delta = NULL, delta.cutoff = 1/8, verbose=0, devtol=1e-9, maxmult = 10, startmethod = "prev", optimizer = NULL, control = NULL, signames = TRUE, parallel = c("no", "multicore", "snow"), ncpus = getOption("profile.ncpus", 1L), cl = NULL, prof.scale = c("sdcor","varcov"), ...) { ## FIXME: allow choice of nextstep/nextstart algorithm? ## FIXME: allow selection of individual variables to profile by name? ## FIXME: allow for failure of bounds (non-pos-definite correlation matrices) when >1 cor parameter prof.scale <- match.arg(prof.scale) if (missing(parallel)) parallel <- getOption("profile.parallel", "no") parallel <- match.arg(parallel) have_mc <- have_snow <- FALSE do_parallel <- (parallel != "no" && ncpus > 1L) if (do_parallel) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!(have_mc || have_snow)) do_parallel <- FALSE # (only for "windows") } if (is.null(optimizer)) optimizer <- fitted@optinfo$optimizer ## hack: doesn't work to set bobyqa parameters to *ending* values stored ## in @optinfo$control ignore.pars <- c("xst", "xt") control.internal <- fitted@optinfo$control if (length(ign <- which(names(control.internal) %in% ignore.pars)) > 0) control.internal <- control.internal[-ign] if (!is.null(control)) { i <- names(control) control.internal[[i]] <- control[[i]] } control <- control.internal ## parallel stuff copied from bootMer ... if (missing(parallel)) parallel <- getOption("profile.parallel", "no") parallel <- match.arg(parallel) have_mc <- have_snow <- FALSE if (parallel != "no" && ncpus > 1L) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!have_mc && !have_snow) ncpus <- 1L } useSc <- isLMM(fitted) || isNLMM(fitted) if (prof.scale=="sdcor") { transfuns <- list(from.chol=Cv_to_Sv, to.chol=Sv_to_Cv, to.sd=identity) prof.prefix = c("sd","cor") } else if (prof.scale=="varcov") { transfuns <- list(from.chol=Cv_to_Vv, to.chol=Vv_to_Cv, to.sd=sqrt) prof.prefix = c("var","cov") } dd <- devfun2(fitted,useSc,signames=signames, transfuns=transfuns, prefix=prof.prefix, ...) ## FIXME: figure out to what do here ... if (isGLMM(fitted) && fitted@devcomp$dims[["useSc"]]) stop("can't (yet) profile GLMMs with non-fixed scale parameters") stopifnot(devtol >= 0) base <- attr(dd, "basedev") thopt <- attr(dd, "thopt") stderr <- attr(dd, "stderr") pp <- environment(dd)$pp X.orig <- pp$X n <- environment(dd)$n p <- length(pp$beta0) opt <- attr(dd, "optimum") nptot <- length(opt) nvp <- nptot - p # number of variance-covariance pars wi.vp <- seq_len(nvp) if(nvp > 0) fe.orig <- opt[- wi.vp] which <- get.which(which, nvp, nptot, names(opt), verbose) res <- c(.zeta = 0, opt) res <- matrix(res, nrow = maxpts, ncol = length(res), dimnames = list(NULL, names(res)), byrow = TRUE) ## FIXME: why is cutoff based on nptot ## (i.e. boundary of simultaneous LRT conf region for nptot values) ## when we are computing (at most) 2-parameter profiles here? cutoff <- sqrt(qchisq(1 - alphamax, nptot)) if (is.null(delta)) delta <- cutoff*delta.cutoff ## helper functions ## nextpar calculates the next value of the parameter being ## profiled based on the desired step in the profile zeta ## (absstep) and the values of zeta and column cc for rows ## r-1 and r. The parameter may not be below lower (or above upper) nextpar <- function(mat, cc, r, absstep, lower = -Inf, upper = Inf, minstep=1e-6) { rows <- r - (1:0) # previous two row numbers pvals <- mat[rows, cc] zeta <- mat[rows, ".zeta"] num <- diff(pvals) if (is.na(denom <- diff(zeta)) || denom==0) { warning("Last two rows have identical or NA .zeta values: using minstep") step <- minstep } else { step <- absstep*num/denom if (step<0) { warning("unexpected decrease in profile: using minstep") step <- minstep } else { if (r>1) { if (abs(step) > (maxstep <- abs(maxmult*num))) { maxstep <- sign(step)*maxstep if (verbose) cat(sprintf("capped step at %1.2f (multiplier=%1.2f > %1.2f)\n", maxstep,abs(step/num),maxmult)) step <- maxstep } } } } min(upper, max(lower, pvals[2] + sign(num) * step)) } nextstart <- function(mat, pind, r, method) { ## FIXME: indexing may need to be checked (e.g. for fixed-effect parameters) switch(method, global= opt[seqpar1][-pind], ## address opt, no zeta column prev = mat[r,1+seqpar1][-pind], extrap = stop("not yet implemented"),## do something with mat[r-(1:0),1+seqnvp])[-pind] stop("invalid nextstart method")) } ## mkpar generates the parameter vector of theta and ## sigma from the values being profiled in position w mkpar <- function(np, w, pw, pmw) { par <- numeric(np) par[w] <- pw par[-w] <- pmw par } ## fillmat fills the third and subsequent rows of the matrix ## using nextpar and zeta ## FIXME: add code to evaluate more rows near the minimum if that ## constraint was active. fillmat <- function(mat, lowcut, upcut, zetafun, cc) { nr <- nrow(mat) i <- 2L while (i < nr && mat[i, cc] > lowcut && mat[i,cc] < upcut && (is.na(curzeta <- abs(mat[i, ".zeta"])) || curzeta <= cutoff)) { np <- nextpar(mat, cc, i, delta, lowcut, upcut) ns <- nextstart(mat, pind = cc-1, r=i, method=startmethod) mat[i + 1L, ] <- zetafun(np,ns) if (verbose>0) { cat(i,cc,mat[i+1L,],"\n") } i <- i + 1L } if (mat[i-1,cc]==lowcut) { ## fill in more values near the minimum } if (mat[i-1,cc]==upcut) { ## fill in more values near the maximum } mat } ## bounds on Cholesky (== fitted@lower): [0,Inf) for diag, (-Inf,Inf) for off-diag ## bounds on sd-corr: [0,Inf) for diag, (-1.0,1.0) for off-diag ## bounds on var-corr: [0,Inf) for diag, (-Inf,Inf) for off-diag if (prof.scale=="sdcor") { lower <- pmax(fitted@lower, -1.) upper <- ifelse(fitted@lower==0, Inf, 1.0) } else { lower <- fitted@lower upper <- rep(Inf,length.out=length(fitted@lower)) } if (useSc) { # bounds for sigma lower <- c(lower,0) upper <- c(upper,Inf) } ## bounds on fixed parameters (TODO: allow user-specified bounds, e.g. for NLMMs) lower <- c(lower,rep.int(-Inf, p)) upper <- c(upper, rep.int(Inf, p)) npar1 <- if (isLMM(fitted)) nvp else nptot ## check that devfun2() computation for the base parameters is (approx.) the ## same as the original devfun() computation if(!isTRUE(all.equal(unname(dd(opt[seq(npar1)])), base, tolerance=1e-5))){ stop("Profiling over both the residual variance and\n", "fixed effects is not numerically consistent with\n", "profiling over the fixed effects only")} ## sequence of variance parameters to profile seqnvp <- intersect(seq_len(npar1), which) ## sequence of 'all' parameters seqpar1 <- seq_len(npar1) lowvp <- lower[seqpar1] upvp <- upper[seqpar1] form <- .zeta ~ foo # pattern for interpSpline formula ## as in bootMer.R, define FUN as a ## closure containing the referenced variables ## in its scope to avoid explicit clusterExport statement ## in the PSOCKcluster case FUN <- local({ function(w) { if (verbose) cat(if(isLMM(fitted)) "var-cov " else "", "parameter ",w,":\n",sep="") wp1 <- w + 1L start <- opt[seqpar1][-w] pw <- opt[w] lowcut <- lower[w] upcut <- upper[w] zeta <- function(xx,start) { ores <- tryCatch(optwrap(optimizer, par=start, fn=function(x) dd(mkpar(npar1, w, xx, x)), lower = lowvp[-w], upper = upvp [-w], control = control), error=function(e) NULL) if (is.null(ores)) { devdiff <- NA pars <- NA } else { devdiff <- ores$fval - base pars <- ores$par } if (is.na(devdiff)) { warning("NAs detected in profiling") } else { if(verbose && devdiff < 0) cat("old deviance ",base,",\n", "new deviance ",ores$fval,",\n", "new params ", paste(mkpar(npar1,w,xx,ores$par), collapse=","),"\n") if (devdiff < (-devtol)) stop("profiling detected new, lower deviance") if(devdiff < 0) warning(gettextf("slightly lower deviances (diff=%g) detected", devdiff), domain=NA) } devdiff <- max(0,devdiff) zz <- sign(xx - pw) * sqrt(devdiff) r <- c(zz, mkpar(npar1, w, xx, pars)) if (isLMM(fitted)) c(r, pp$beta(1)) else r }## {zeta} ## intermediate storage for pos. and neg. increments pres <- nres <- res ## assign one row, determined by inc. sign, from a small shift ## FIXME:: do something if pw==0 ??? shiftpar <- if (pw==0) 1e-3 else pw*1.01 ## Since both the pos- and neg-increment matrices are already ## filled with the opt. par. results, this sets the first ## two rows of the positive-increment matrix ## to (opt. par, shiftpar) and the first two rows of ## the negative-increment matrix to (shiftpar, opt. par), ## which sets up two points going in the right direction ## for each matrix (since the profiling algorithm uses increments ## between rows to choose the next parameter increment) nres[1, ] <- pres[2, ] <- zeta(shiftpar, start=opt[seqpar1][-w]) ## fill in the rest of the arrays and collapse them upperf <- fillmat(pres, lowcut, upcut, zeta, wp1) lowerf <- if (pw > lowcut) fillmat(nres, lowcut, upcut, zeta, wp1) else ## don't bother to fill in 'nres' matrix nres ## this will throw away the extra 'opt. par' and 'shiftpar' ## rows introduced above: bres <- as.data.frame(unique(rbind2(upperf,lowerf))) pname <- names(opt)[w] bres$.par <- pname bres <- bres[order(bres[, wp1]), ] ## FIXME: test for bad things here?? form[[3]] <- as.name(pname) forspl <- NULL # (in case of error) ## bakspl bakspl <- tryCatch(backSpline( forspl <- interpSpline(form, bres, na.action=na.omit)), error=function(e)e) if (inherits(bakspl, "error")) warning("non-monotonic profile for ",pname) ## return: namedList(bres,bakspl,forspl) # namedList() -> lmerControl.R }}) ## FUN() ## copied from bootMer: DRY! L <- if (do_parallel) { if (have_mc) { parallel::mclapply(seqnvp, FUN, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) pres <- parallel::parLapply(cl, seqnvp, FUN) parallel::stopCluster(cl) pres } else parallel::parLapply(cl, seqnvp, FUN) } } else lapply(seqnvp, FUN) nn <- names(opt[seqnvp]) ans <- setNames(lapply(L,`[[`,"bres"),nn) bakspl <- setNames(lapply(L,`[[`,"bakspl"),nn) forspl <- setNames(lapply(L,`[[`,"forspl"),nn) ## profile fixed effects separately (for LMMs) if (isLMM(fitted)) { offset.orig <- fitted@resp$offset fp <- seq_len(p) fp <- fp[(fp+nvp) %in% which] ## FIXME: parallelize this too ... for (j in fp) { if (verbose) cat("fixed-effect parameter ",j,":\n",sep="") pres <- # intermediate results for pos. incr. nres <- res # and negative increments est <- opt[nvp + j] std <- stderr[j] Xw <- X.orig[, j, drop=TRUE] Xdrop <- .modelMatrixDrop(X.orig, j) pp1 <- new(class(pp), X = Xdrop, Zt = pp$Zt, Lambdat = pp$Lambdat, Lind = pp$Lind, theta = pp$theta, n = nrow(Xdrop)) ### FIXME Change this to use the deep copy and setWeights, setOffset, etc. rr <- new(Class=class(fitted@resp), y=fitted@resp$y) rr$setWeights(fitted@resp$weights) fe.zeta <- function(fw, start) { ## (start parameter ignored) rr$setOffset(Xw * fw + offset.orig) rho <- list2env(list(pp=pp1, resp=rr), parent = parent.frame()) ores <- optwrap(optimizer, par = thopt, fn = mkdevfun(rho, 0L), lower = fitted@lower) ## this optimization is done on the ORIGINAL ## theta scale (i.e. not the sigma/corr scale) ## upper=Inf for all cases ## lower = pmax(fitted@lower, -1.0), ## upper = 1/(fitted@lower != 0))## = ifelse(fitted@lower==0, Inf, 1.0) fv <- ores$fval sig <- sqrt((rr$wrss() + pp1$sqrL(1))/n) c(sign(fw - est) * sqrt(fv - base), Cv_to_Sv(ores$par, lengths(fitted@cnms), s=sig), ## ores$par * sig, sig, mkpar(p, j, fw, pp1$beta(1))) } nres[1, ] <- pres[2, ] <- fe.zeta(est + delta * std) poff <- nvp + 1L + j ## Workaround R bug [rbind2() is S4 generic; cannot catch warnings in its arg] ## see lme4 GH issue #304 upperf <- fillmat(pres, -Inf, Inf, fe.zeta, poff) lowerf <- fillmat(nres, -Inf, Inf, fe.zeta, poff) bres <- as.data.frame(unique(rbind2(upperf, lowerf))) bres$.par <- n.j <- names(fe.orig)[j] ans[[n.j]] <- bres[order(bres[, poff]), ] form[[3]] <- as.name(n.j) bakspl[[n.j]] <- tryCatch(backSpline(forspl[[n.j]] <- interpSpline(form, bres)), error=function(e)e) if (inherits(bakspl[[n.j]], "error")) warning("non-monotonic profile for ", n.j) } ## for(j in 1..p) } ## if isLMM ans <- do.call(rbind, ans) row.names(ans) <- NULL ## TODO: rbind(*, make.row.names=FALSE) ans$.par <- factor(ans$.par) structure(ans, forward = forspl, backward = bakspl, lower = lower[seqnvp], upper = upper[seqnvp], class = c("thpr", "data.frame"))# 'thpr': see ../man/profile-methods.Rd } ## profile.merMod ##' Transform 'which' \in {parnames | integer | "beta_" | "theta_"} ##' into integer indices ##' @param which numeric or character vector ##' @param nvp number of variance-covariance parameters ##' @param nptot total number of parameters ##' @param parnames vector of parameter names ##' @param verbose print messages? ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ##' tn <- names(getME(fm1,"theta")) ##' nn <- c(tn,names(fixef(fm1))) ##' get.which("theta_",length(tn),length(nn),nn, verbose=TRUE) ##' get.which <- function(which, nvp, nptot, parnames, verbose=FALSE) { if (is.null(which)) seq_len(nptot) else if (is.character(which)) { wi <- integer(); wh <- which if(any(j <- wh == "theta_")) { wi <- seq_len(nvp); wh <- wh[!j] } if(any(j <- wh == "beta_") && nptot > nvp) { wi <- c(wi, seq(nvp+1, nptot)); wh <- wh[!j] } if(any(j <- parnames %in% wh)) { ## which containing param.names wi <- sort(unique(c(wi, seq_len(nptot)[j]))) } if(verbose) message(gettextf("From original which = %s: new which <- %s", deparse(which, nlines=1), deparse(wi, nlines=1)), domain=NA) if(length(wi) == 0) warning(gettextf("Nothing selected by 'which=%s'", deparse(which)), domain=NA) wi } else # stopifnot( .. numeric ..) which } ## This is a hack. The preferred approach is to write a ## subset method for the ddenseModelMatrix and dsparseModelMatrix ## classes .modelMatrixDrop <- function(mm, w) { if (isS4(mm)) { nX <- slotNames(X <- mm[, -w, drop = FALSE]) do.call(new, c(list(Class = class(mm), assign = attr(mm,"assign")[-w], contrasts = NULL ## FIXME: where did the contrasts information go?? ## mm@contrasts ), lapply(structure(nX, .Names=nX), function(nm) slot(X, nm)))) } else { structure(mm[, -w, drop=FALSE], assign = attr(mm, "assign")[-w]) } } ## The deviance is profiled with respect to the fixed-effects ## parameters but not with respect to sigma. The other parameters ## are on the standard deviation scale, not the theta scale. ## ## @title Return a function for evaluation of the deviance. ## @param fm a fitted model of class merMod ## @param useSc (logical) whether a scale parameter is used ## @param \dots arguments passed to profnames (\code{signames=TRUE} ## to use old-style .sigxx names, FALSE uses (sd_cor|xx); ## also \code{prefix=c("sd","cor")}) ## @return a function for evaluating the deviance in the extended ## parameterization. This is profiled with respect to the ## variance-covariance parameters (fixed-effects done separately). devfun2 <- function(fm, useSc, transfuns = list(from.chol=Cv_to_Sv, to.chol=Sv_to_Cv, to.sd=identity), ...) { ## FIXME: have to distinguish between ## 'useSc' (GLMM: report profiled scale parameter) and ## 'useSc' (NLMM/LMM: scale theta by sigma) ## GLMMuseSc <- fm@devcomp$dims["useSc"] stopifnot(is(fm, "merMod")) fm <- refitML(fm) basedev <- -2*c(logLik(fm)) ## no longer deviance() vlist <- lengths(fm@cnms) sig <- sigma(fm) ## only if useSc=TRUE? stdErr <- unname(coef(summary(fm))[,2]) pp <- fm@pp$copy() ## opt <- c(pp$theta*sig, sig) if (useSc) { opt <- transfuns$from.chol(pp$theta, n=vlist, s=sig) } else { opt <- transfuns$from.chol(pp$theta, n=vlist) } names(opt) <- profnames(fm, ...) opt <- c(opt, fixef(fm)) resp <- fm@resp$copy() np <- length(pp$theta) nf <- length(fixef(fm)) if (!isGLMM(fm)) np <- np + 1L n <- nrow(pp$V) # use V, not X so it works with nlmer if (isLMM(fm)) { ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np) ## Assumption: we can translate the last parameter back ## to sigma (SD) scale ... sigma <- transfuns$to.sd(pars[np]) ## .Call(lmer_Deviance, pp$ptr(), resp$ptr(), pars[-np]/sigma) ## convert from sdcor vector back to 'unscaled theta' thpars <- transfuns$to.chol(pars,n=vlist,s=sigma) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), thpars) sigsq <- sigma^2 pp$ldL2() - ldW + (resp$wrss() + pp$sqrL(1))/sigsq + n * log(2 * pi * sigsq) } ldW <- sum(log(environment(ans)$resp$weights)) assign("ldW", ldW, envir = environment(ans)) } else { d0 <- update(fm,devFunOnly=TRUE) ## from glmer: ## rho <- new.env(parent=parent.env(environment())) ## rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) ## rho$resp <- mkRespMod(fr, if(REML) p else 0L) ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np+nf) ## FIXME: allow useSc (i.e. NLMMs) if (!useSc) { thpars <- transfuns$to.chol(pars[seq(np)],n=vlist) } else { thpars <- transfuns$to.chol(pars[seq(np)],n=vlist,s=pars[np]) } fixpars <- pars[-seq(np)] d0(c(thpars,fixpars)) } } attr(ans, "optimum") <- opt # w/ names() attr(ans, "basedev") <- basedev attr(ans, "thopt") <- pp$theta attr(ans, "stderr") <- stdErr class(ans) <- "devfun" ans } ## extract only the y component from a prediction predy <- function(sp, vv) { if (inherits(sp,"error")) rep(NA,length(vv)) else predict(sp, vv)$y } stripExpr <- function(ll, nms) { stopifnot(is.list(ll), is.character(nms)) fLevs <- as.expression(nms) # variable names; now replacing log(sigma[.]) etc: fLevs[nms == ".sigma"] <- expression(sigma) fLevs[nms == ".lsigma"] <- expression(log(sigma)) fLevs[nms == ".sigmasq"] <- expression(sigma^2) sigNms <- grep("^\\.sig[0-9]+", nms) lsigNms <- grep("^\\.lsig[0-9]+", nms) sig2Nms <- grep("^\\.sigsq[0-9]+", nms) ## the in ".sig0" and then in ".lsig0": sigsub <- as.integer(substring(nms[ sigNms], 5)) lsigsub <- as.integer(substring(nms[lsigNms], 6)) sig2sub <- as.integer(substring(nms[sig2Nms], 7)) fLevs[ sigNms] <- lapply( sigsub, function(i) bquote( sigma[.(i)])) fLevs[lsigNms] <- lapply(lsigsub, function(i) bquote(log(sigma[.(i)]))) fLevs[sig2Nms] <- lapply(sig2sub, function(i) bquote( {sigma[.(i)]}^2)) ## result of using { .. }^2 is easier to understand == == levsExpr <- substitute(strip.custom(factor.levels=foo), list(foo=fLevs)) llNms <- names(ll) snames <- c("strip", "strip.left") if (all(!(snames %in% llNms))) { ll$strip <- levsExpr } else { lapply(snames, function(nm) { if (nm %in% llNms) { vv <- ll[[nm]] if (is.logical(vv) && vv) ll[[nm]] <<- levsExpr } }) } ll } panel.thpr <- function(x, y, spl, absVal, ...) { panel.grid(h = -1, v = -1) myspl <- spl[[panel.number()]] lsegments(x, y, x, 0, ...) if (absVal) { y[y == 0] <- NA lsegments(x, y, rev(x), y) } else { panel.abline(h = 0, ...) } if (!is(myspl,"spline")) { ## 'difficult' data if (absVal) myspl$y <- abs(myspl$y) panel.lines (myspl$x, myspl$y) panel.points(myspl$x, myspl$y, pch="+") warning(gettextf("bad profile for variable %d: using linear interpolation", panel.number()), domain=NA) } else { lims <- current.panel.limits()$xlim krange <- range(myspl$knots) pr <- predict(myspl, seq(max(lims[1], krange[1]), min(lims[2], krange[2]), len = 101)) if (absVal) pr$y <- abs(pr$y) panel.lines(pr$x, pr$y) } } ## A lattice-based plot method for profile objects ##' @importFrom lattice xyplot ##' @S3method xyplot thpr xyplot.thpr <- function (x, data = NULL, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), df = 1)), conf = c(50, 80, 90, 95, 99)/100, absVal = FALSE, scales = NULL, which = 1:nptot, ...) { if(any(!is.finite(conf) | conf <= 0 | conf >= 1)) stop("values of 'conf' must be strictly between 0 and 1") stopifnot(1 <= (nptot <- length(nms <- levels(x[[".par"]])))) ## FIXME: is this sufficiently reliable? ## (include "sigma" in 'theta' parameters) nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) levels <- sort(levels[is.finite(levels) & levels > 0]) spl <- attr(x, "forward") [which] bspl <- attr(x, "backward")[which] ## for parameters for which spline couldn't be computed, ## replace the 'spl' element with the raw profile data if(any(badSpl <- vapply(spl, is.null, NA))) { spl[badSpl] <- lapply(which(badSpl), function(i) { n <- names(badSpl)[i] r <- x[x[[".par"]] == n, ] data.frame(y = r[[".zeta"]], x = r[[n]]) }) bspl[badSpl] <- lapply(spl[badSpl], function(d) data.frame(x=d$y,y=d$x)) ## FIXME: more efficient, not yet ok ? ## ibad <- which(badSpl) ## spl[ibad] <- lapply(names(ibad), function(n) { ## r <- x[x[[".par"]]==n,] ## data.frame(y = r[[".zeta"]], x = r[[n]]) ## }) ## bspl[ibad] <- lapply(spl[ibad], function(d) data.frame(x=d$y,y=d$x)) } zeta <- c(-rev(levels), 0, levels) mypred <- function(bs, zeta) { ## use linear approximation if backspline doesn't work if (inherits(bs,"spline")) predy(bs, zeta) else if(is.numeric(x <- bs$x) && is.numeric(y <- bs$y) && length(x) == length(y)) approx(x, y, xout = zeta)$y else rep_len(NA, length(zeta)) } fr <- data.frame(zeta = rep.int(zeta, length(spl)), pval = unlist(lapply(bspl, mypred, zeta)), pnm = gl(length(spl), length(zeta), labels = names(spl))) if (length(ind <- which(is.na(fr$pval)))) { fr[ind, "zeta"] <- 0 for (i in ind) ### FIXME: Should check which bound has been violated, although it ### will almost always be the minimum. if (inherits(curspl <- spl[[fr[i, "pnm"] ]], "spline")) { fr[i, "pval"] <- min(curspl$knots) } } ylab <- if (absVal) { fr$zeta <- abs(fr$zeta) expression("|" * zeta * "|") } else expression(zeta) intscales <- list(x = list(relation = 'free')) ## FIXME: is there something less clunky we can do here ## that allows for all possible user inputs ## (may want to (1) override x$relation (2) add elements to $x ## (3) add elements to scales) if (!is.null(scales)) { if (!is.null(scales[["x"]])) { if (!is.null(scales[["x"]]$relation)) { intscales[["x"]]$relation <- scales[["x"]]$relation scales[["x"]]$relation <- NULL } intscales[["x"]] <- c(intscales[["x"]],scales[["x"]]) scales[["x"]] <- NULL } intscales <- c(intscales,scales) } ll <- c(list(...), list(x = zeta ~ pval | pnm, data=fr, scales = intscales, ylab = ylab, xlab = NULL, panel=panel.thpr, spl = spl, absVal = absVal)) do.call(xyplot, stripExpr(ll, names(spl))) } ## copy of stats:::format.perc (not exported, and ":::" being forbidden nowadays): format.perc <- function (probs, digits) { paste(format(100 * probs, trim = TRUE, scientific = FALSE, digits = digits), "%") } ##' confint() method for our profile() results 'thpr' ##' @importFrom stats confint confint.thpr <- function(object, parm, level = 0.95, zeta, ## tolerance for non-monotonic profiles ## (raw values, not splines) non.mono.tol=1e-2, ...) { bak <- attr(object, "backward") ## fallback strategy for old profiles that don't have a lower/upper ## attribute saved ... if (is.null(lower <- attr(object,"lower"))) lower <- rep(NA,length(parm)) if (is.null(upper <- attr(object,"upper"))) upper <- rep(NA,length(parm)) ## FIXME: work a little harder to add -Inf/Inf for fixed effect ## parameters? (Should only matter for really messed-up profiles) bnms <- names(bak) parm <- if (missing(parm)) bnms else if(is.numeric(parm)) # e.g., when called from confint.merMod() bnms[parm] else if (length(parm <- as.character(parm)) == 1) { if (parm == "theta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE) else if (parm == "beta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE, invert=TRUE) } else intersect(parm, bnms) cn <- if (missing(zeta)) { a <- (1 - level)/2 a <- c(a, 1 - a) zeta <- qnorm(a) format.perc(a, 3) } ## else NULL ci <- matrix(NA_real_, nrow=length(parm), ncol=2L, dimnames = list(parm,cn)) for (i in seq_along(parm)) { ## would like to build this machinery into predy, but ## predy is used in many places and it's much harder to ## tell in general whether an NA indicates a lower or an ## upper bound ... badprof <- FALSE p <- rep(NA,2) if (!inherits(b <- bak[[parm[i]]], "error")) { p <- predy(b, zeta) } else { obj1 <- object[object$.par==parm[[i]],c(parm[[i]],".zeta")] if (all(is.na(obj1[,2]))) { badprof <- TRUE warning("bad profile for ",parm[i]) } else if (min(diff(obj1[,2])<(-non.mono.tol),na.rm=TRUE)) { badprof <- TRUE warning("non-monotonic profile for ",parm[i]) } else { warning("bad spline fit for ",parm[i],": falling back to linear interpolation") p <- approxfun(obj1[,2],obj1[,1])(zeta) } } if (!badprof) { if (is.na(p[1])) p[1] <- lower[i] if (is.na(p[2])) p[2] <- upper[i] } ci[i,] <- p } ci } ## FIXME: make bootMer more robust; make profiling more robust; ## more warnings; documentation ... ##' Compute confidence intervals on the parameters of an lme4 fit ##' @param object a fitted [ng]lmer model ##' @param parm parameters (specified by integer position) ##' @param level confidence level ##' @param method for computing confidence intervals ##' @param zeta likelihood cutoff ##' (if not specified, computed from \code{level}: "profile" only) ##' @param nsim number of simulations for parametric bootstrap intervals ##' @param boot.type bootstrap confidence interval type ##' @param quiet (logical) suppress messages about computationally intensive profiling? ##' @param oldNames (logical) use old-style names for \code{method="profile"}? (See \code{signames} argument to \code{\link{profile}} ##' @param \dots additional parameters to be passed to \code{\link{profile.merMod}} or \code{\link{bootMer}} ##' @return a numeric table of confidence intervals confint.merMod <- function(object, parm, level = 0.95, method = c("profile","Wald","boot"), zeta, nsim=500, boot.type = c("perc","basic","norm"), FUN = NULL, quiet=FALSE, oldNames=TRUE, ...) { method <- match.arg(method) boot.type <- match.arg(boot.type) ## 'parm' corresponds to 'which' in other contexts if (method=="boot" && !is.null(FUN)) { ## custom boot function, don't expand parameter names } else { ## "use scale" = GLMM with scale parameter *or* LMM .. useSc <- as.logical(object@devcomp$dims[["useSc"]]) vn <- profnames(object,oldNames, useSc=useSc) an <- c(vn,names(fixef(object))) parm <- if(missing(parm)) seq_along(an) else get.which(parm, nvp=length(vn), nptot=length(an), parnames=an) if (!quiet && method %in% c("profile","boot")) { mtype <- switch(method, profile="profile", boot="bootstrap") message("Computing ",mtype," confidence intervals ...") flush.console() } } switch(method, "profile" = { pp <- profile(object, which=parm, signames=oldNames, ...) ## confint.thpr() with missing(parm) using all names: confint(pp, level=level, zeta=zeta) }, "Wald" = { a <- (1 - level)/2 a <- c(a, 1 - a) ci.vcov <- array(NA,dim = c(length(vn), 2L), dimnames = list(vn, format.perc(a,3))) ## copied with small changes from confint.default cf <- fixef(object) ## coef() -> fixef() pnames <- names(cf) ## N.B. can't use sqrt(...)[parm] (diag() loses names) ses <- sqrt(diag(vcov(object))) ci.fixed <- array(cf + ses %o% qnorm(a), dim = c(length(pnames), 2L), dimnames = list(pnames, format.perc(a, 3))) vnames <- tnames(object) ci.all <- rbind(ci.vcov,ci.fixed) ci.all[parm,,drop=FALSE] }, "boot" = { bootFun <- function(x) { th <- x@theta nvec <- lengths(x@cnms) scaleTh <- (isLMM(x) || isNLMM(x)) ## FIXME: still ugly. Best cleanup via Cv_to_Sv ... ss <- if (scaleTh) { ## scale variances by sigma and include it Cv_to_Sv(th, n=nvec, s=sigma(x)) } else if (useSc) { ## don't scale variances but do include sigma c(Cv_to_Sv(th, n=nvec), sigma(x)) } else { ## no scaling, no sigma Cv_to_Sv(th, n=nvec) } c(setNames(ss, vn), fixef(x)) } if (is.null(FUN)) FUN <- bootFun bb <- bootMer(object, FUN=FUN, nsim=nsim,...) bci <- lapply(seq_along(bb$t0), boot.out=bb, boot::boot.ci, type=boot.type, conf=level) cpos <- grep(boot.type, names(bci[[1]])) ## get _last_ two columns ccol <- ncol(bci[[1]][[cpos]])+(-1:0) citab <- t(sapply(bci,function(x) x[[cpos]][ccol])) a <- (1 - level)/2 a <- c(a, 1 - a) dimnames(citab) <- list(names(bb[["t0"]]), format.perc(a, 3)) if (missing(parm)) { ## only happens if we have custom boot method if (is.null(parm <- rownames(citab))) { parm <- seq(nrow(citab)) } } citab[parm, , drop=FALSE] }, ## should never get here ... stop("unknown confidence interval method")) } ##' Convert x-cosine and y-cosine to average and difference. ##' ##' Convert the x-cosine and the y-cosine to an average and difference ##' ensuring that the difference is positive by flipping signs if ##' necessary ##' @param xc x-cosine ##' @param yc y-cosine ad <- function(xc, yc) { a <- (xc + yc)/2 d <- (xc - yc) cbind(sign(d)* a, abs(d)) } ##' convert d versus a (as an xyVector) and level to a matrix of taui and tauj ##' @param xy an xyVector ##' @param lev the level of the contour tauij <- function(xy, lev) lev * cos(xy$x + outer(xy$y/2, c(-1, 1))) ##' @title safe arc-cosine ##' @param x numeric vector argument ##' @return acos(x) being careful of boundary conditions sacos <- function(x) acos(pmax.int(-0.999, pmin.int(0.999, x))) ##' Generate a contour ##' ##' @title Generate a contour ##' @param sij the arc-cosines of i on j ##' @param sji the arc-cosines of j on i ##' @param levels numeric vector of levels at which to interpolate ##' @param nseg number of segments in the interpolated contour ##' @return a list with components ##' \item{tki}{the tau-scale predictions of i on j at the contour levels} ##' \item{tkj}{the tau-scale predictions of j on i at the contour levels} ##' \item{pts}{an array of dimension (length(levels), nseg, 2) containing the points on the contours} cont <- function(sij, sji, levels, nseg = 101) { ada <- array(0, c(length(levels), 2, 4)) ada[, , 1] <- ad(0, sacos(predy(sij, levels)/levels)) ada[, , 2] <- ad(sacos(predy(sji, levels)/levels), 0) ada[, , 3] <- ad(pi, sacos(predy(sij, -levels)/levels)) ada[, , 4] <- ad(sacos(predy(sji, -levels)/levels), pi) pts <- array(0, c(length(levels), nseg + 1, 2)) for (i in seq_along(levels)) pts[i, ,] <- tauij(predict(periodicSpline(ada[i, 1, ], ada[i, 2, ]), nseg = nseg), levels[i]) levs <- c(-rev(levels), 0, levels) list(tki = predict(sij, levs), tkj = predict(sji, levs), pts = pts) } ## copied from lattice:::chooseFace chooseFace <- function (fontface = NULL, font = 1) { if (is.null(fontface)) font else fontface } ##' Draws profile pairs plots. Contours are for the marginal ##' two-dimensional regions (i.e. using df = 2). ##' ##' @title Profile pairs plot ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @param data unused - only for compatibility with generic ##' @param levels the contour levels to be shown; usually derived from \code{conf} ##' @param conf numeric vector of confidence levels to be shown as contours ##' @param ... further arguments passed to \code{\link{splom}} ##' @importFrom grid gpar viewport ##' @importFrom lattice splom ##' @method splom thpr ##' @export splom.thpr <- function (x, data, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), 2)), conf = c(50, 80, 90, 95, 99)/100, which = 1:nptot, draw.lower = TRUE, draw.upper = TRUE, ...) { stopifnot(1 <= (nptot <- length(nms <- names(attr(x, "forward"))))) singfit <- FALSE for (i in grep("^(\\.sig[0-9]+|sd_)", names(x))) singfit <- singfit || any(x[,".zeta"] == 0 & x[,i] == 0) if (singfit) warning("splom is unreliable for singular fits") nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) if (length(which) == 1) stop("can't draw a scatterplot matrix for a single variable") mlev <- max(levels) spl <- attr(x, "forward")[which] frange <- sapply(spl, function(x) range(x$knots)) bsp <- attr(x, "backward")[which] x <- x[x[[".par"]] %in% nms[which],c(".zeta",nms[which],".par")] ## brange <- sapply(bsp, function(x) range(x$knots)) pfr <- do.call(cbind, lapply(bsp, predy, c(-mlev, mlev))) pfr[1, ] <- pmax.int(pfr[1, ], frange[1, ], na.rm = TRUE) pfr[2, ] <- pmin.int(pfr[2, ], frange[2, ], na.rm = TRUE) nms <- names(spl) ## Create data frame fr of par. vals in zeta coordinates fr <- x[, -1] for (nm in nms) fr[[nm]] <- predy(spl[[nm]], na.omit(fr[[nm]])) fr1 <- fr[1, nms] ## create a list of lists with the names of the parameters traces <- lapply(fr1, function(el) lapply(fr1, function(el1) list())) for (j in seq_along(nms)[-1]) { for (i in seq_len(j - 1)) { .par <- NULL ## suppress R CMD check warning fri <- subset(fr, .par == nms[i]) sij <- interpSpline(fri[ , i], fri[ , j]) frj <- subset(fr, .par == nms[j]) sji <- interpSpline(frj[ , j], frj[ , i]) ll <- cont(sij, sji, levels) traces[[j]][[i]] <- list(sij = sij, sji = sji, ll = ll) } } if(draw.lower) ## panel function for lower triangle lp <- function(x, y, groups, subscripts, i, j, ...) { tr <- traces[[j]][[i]] grid::pushViewport(viewport(xscale = c(-1.07, 1.07) * mlev, yscale = c(-1.07, 1.07) * mlev)) dd <- sapply(current.panel.limits(), diff)/50 psij <- predict(tr$sij) ll <- tr$ll ## now do the actual plotting panel.grid(h = -1, v = -1) llines(psij$y, psij$x, ...) llines(predict(tr$sji), ...) with(ll$tki, lsegments(y - dd[1], x, y + dd[1], x, ...)) with(ll$tkj, lsegments(x, y - dd[2], x, y + dd[2], ...)) for (k in seq_along(levels)) llines(ll$pts[k, , ], ...) grid::popViewport(1) } if(draw.upper) ## panel function for upper triangle up <- function(x, y, groups, subscripts, i, j, ...) { ## panels are transposed so reverse i and j jj <- i ii <- j tr <- traces[[jj]][[ii]] ll <- tr$ll pts <- ll$pts ## limits <- current.panel.limits() psij <- predict(tr$sij) psji <- predict(tr$sji) ## do the actual plotting panel.grid(h = -1, v = -1) llines(predy(bsp[[ii]], psij$x), predy(bsp[[jj]], psij$y), ...) llines(predy(bsp[[ii]], psji$y), predy(bsp[[jj]], psji$x), ...) for (k in seq_along(levels)) llines(predy(bsp[[ii]], pts[k, , 2]), predy(bsp[[jj]], pts[k, , 1]), ...) } dp <- function(x = NULL, # diagonal panel varname = NULL, limits, at = NULL, lab = NULL, draw = TRUE, varname.col = add.text$col, varname.cex = add.text$cex, varname.lineheight = add.text$lineheight, varname.font = add.text$font, varname.fontfamily = add.text$fontfamily, varname.fontface = add.text$fontface, axis.text.col = axis.text$col, axis.text.alpha = axis.text$alpha, axis.text.cex = axis.text$cex, axis.text.font = axis.text$font, axis.text.fontfamily = axis.text$fontfamily, axis.text.fontface = axis.text$fontface, axis.line.col = axis.line$col, axis.line.alpha = axis.line$alpha, axis.line.lty = axis.line$lty, axis.line.lwd = axis.line$lwd, i, j, ...) { n.var <- eval.parent(expression(n.var)) add.text <- trellis.par.get("add.text") axis.line <- trellis.par.get("axis.line") axis.text <- trellis.par.get("axis.text") if (!is.null(varname)) grid::grid.text(varname, gp = gpar(col = varname.col, cex = varname.cex, lineheight = varname.lineheight, fontface = chooseFace(varname.fontface, varname.font), fontfamily = varname.fontfamily)) if (draw) { at <- pretty(limits) sides <- c("left", "top") if (j == 1) sides <- "top" if (j == n.var) sides <- "left" for (side in sides) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, check.overlap = TRUE, half = side == "top" && j > 1, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) lims <- c(-1.07, 1.07) * mlev grid::pushViewport(viewport(xscale = lims, yscale = lims)) side <- if(j == 1) "right" else "bottom" which.half <- if(j == 1) "lower" else "upper" at <- pretty(lims) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, half = TRUE, which.half = which.half, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) grid::popViewport(1) } } panel.blank <- function(...) {} splom(~ pfr, lower.panel = if(draw.lower) lp else panel.blank, upper.panel = if(draw.upper) up else panel.blank, diag.panel = dp, ...) } ## return an lmer profile like x with all the .sigNN parameters ## replaced by .lsigNN. The forward and backward splines for ## these parameters are recalculated. -> ../man/profile-methods.Rd logProf <- function (x, base = exp(1), ranef=TRUE, sigIni = if(ranef) "sig" else "sigma") { stopifnot(inherits(x, "thpr")) cn <- colnames(x) sigP <- paste0("^\\.", sigIni) if (length(sigs <- grep(sigP, cn))) { repP <- sub("sig", ".lsig", sigIni) colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- log(x[[nm]], base = base) fr <- x[x[[".par"]] == nm & is.finite(x[[nm]]), TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } ## eliminate rows that produced non-finite logs x <- x[apply(is.finite(as.matrix(x[, sigs])), 1, all),] } x } ## the log() method must have (x, base); no other arguments log.thpr <- function (x, base = exp(1)) logProf(x, base=base) ##' Create an approximating density from a profile object ##' ##' @title Approximate densities from profiles ##' @param pr a profile object ##' @param npts number of points at which to evaluate the density ##' @param upper upper bound on cumulative for a cutoff ##' @return a data frame dens <- function(pr, npts=201, upper=0.999) { stopifnot(inherits(pr, "thpr")) npts <- as.integer(npts) stopifnot(inherits(pr, "thpr"), npts > 0, is.numeric(upper), 0.5 < upper, upper < 1) spl <- attr(pr, "forward") bspl <- attr(pr, "backward") zeta <- c(qnorm(1-upper), qnorm(upper)) rng <- lapply(bspl, function(spl) { rng <- predy(spl, zeta) if (is.na(rng[1])) rng[1] <- 0 if (is.na(rng[2])) { ## try harder to pick an upper bound upper <- 1-10^seq(-4,-1,length=21) i <- 1 while (is.na(rng[2]) && i<=length(upper)) { rng[2] <- predy(spl,qnorm(upper[i])) i <- i + 1 } if (is.na(rng[2])) { warning("can't find an upper bound for the profile") return(rep(NA,npts)) } } seq(rng[1], rng[2], len=npts) }) fr <- data.frame(pval=unlist(rng), pnm=gl(length(rng), npts, labels=names(rng))) dd <- list() for (nm in names(rng)) { zz <- predy(spl[[nm]], rng[[nm]]) dd[[nm]] <- dnorm(zz) * predict(spl[[nm]], rng[[nm]], deriv=1)$y } fr$density <- unlist(dd) fr } ##' Densityplot method for a mixed-effects model profile ## ##' @title densityplot from a mixed-effects profile ##' @param x a mixed-effects profile ##' @param data not used - for compatibility with generic ##' @param ... optional arguments to \code{\link[lattice]{densityplot}()} ##' from package \pkg{lattice}. ##' @return a density plot ##' @examples ## see example("profile.merMod") ##' @importFrom lattice densityplot ##' @method densityplot thpr ##' @export densityplot.thpr <- function(x, data, ...) { ll <- c(list(...), list(x=density ~ pval|pnm, data=dens(x), type=c("l","g"), scales=list(relation="free"), xlab=NULL)) do.call(xyplot, stripExpr(ll, names(attr(x, "forward")))) } ##' Transform a mixed-effects profile to the variance scale varianceProf <- function(x, ranef=TRUE) { ## "parallel" to logProf() stopifnot(inherits(x, "thpr")) cn <- colnames(x) if(length(sigs <- grep(paste0("^\\.", if(ranef)"sig" else "sigma"), cn))) { ## s/sigma/sigmasq/ ; s/sig01/sig01sq/ etc sigP <- paste0("^(\\.sig", if(ranef) "(ma)?" else "ma", ")") repP <- "\\1sq" colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- x[[nm]]^2 ## select rows (and currently drop extra attributes) fr <- x[x[[".par"]] == nm, TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } } x } ## convert profile to data frame, adding a .focal parameter to simplify lattice/ggplot plotting ##' @method as.data.frame thpr ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @export ##' @rdname profile-methods as.data.frame.thpr <- function(x,...) { class(x) <- "data.frame" m <- as.matrix(x[,seq(ncol(x))-1]) ## omit .par x.p <- x[[".par"]] x[[".focal"]] <- m[cbind(seq(nrow(x)),match(x.p,names(x)))] x[[".par"]] <- factor(x.p, levels=unique(as.character(x.p))) ## restore order x } lme4/R/utilities.R0000644000176200001440000013304513215244671013465 0ustar liggesusersif((Rv <- getRversion()) < "3.2.1") { lengths <- function (x, use.names = TRUE) vapply(x, length, 1L, USE.NAMES = use.names) if(Rv < "3.1.0") { anyNA <- function(x) any(is.na(x)) if(Rv < "3.0.0") { rep_len <- function(x, length.out) rep(x, length.out=length.out) if(Rv < "2.15") paste0 <- function(...) paste(..., sep = '') } } } ## R < 3.2.1 rm(Rv) ## From Matrix package isDiagonal(.) : all0 <- function(x) !anyNA(x) && all(!x) .isDiagonal.sq.matrix <- function(M, n = dim(M)[1L]) all0(M[rep_len(c(FALSE, rep.int(TRUE,n)), n^2)]) ### Utilities for parsing and manipulating mixed-model formulas ##' deparse(.) returning \bold{one} string ##' @note Protects against the possibility that results from deparse() will be ##' split after 'width.cutoff' (by default 60, maximally 500) safeDeparse <- function(x, collapse=" ") paste(deparse(x, 500L), collapse=collapse) abbrDeparse <- function(x, width=60) { r <- deparse(x, width) if(length(r) > 1) paste(r[1], "...") else r } ##' @param bars result of findbars barnames <- function(bars) vapply(bars, function(x) safeDeparse(x[[3]]), "") makeFac <- function(x,char.only=FALSE) { if (!is.factor(x) && (!char.only || is.character(x))) factor(x) else x } factorize <- function(x,frloc,char.only=FALSE) { ## convert grouping variables to factors as necessary ## TODO: variables that are *not* in the data frame are ## not converted -- these could still break, e.g. if someone ## tries to use the : operator ## TODO: some sensible tests for drop.unused.levels ## (not actually used, but could come in handy) for (i in all.vars(RHSForm(x))) { if (!is.null(curf <- frloc[[i]])) frloc[[i]] <- makeFac(curf,char.only) } return(frloc) } ##' @param x a language object of the form effect | groupvar ##' @param frloc model frame ##' @param drop.unused.levels (logical) ##' @return list containing grouping factor, sparse model matrix, number of levels, names mkBlist <- function(x,frloc, drop.unused.levels=TRUE) { frloc <- factorize(x,frloc) ## try to evaluate grouping factor within model frame ... if (is.null(ff <- tryCatch(eval(substitute(makeFac(fac), list(fac = x[[3]])), frloc), error=function(e) NULL))) stop("couldn't evaluate grouping factor ", deparse(x[[3]])," within model frame:", " try adding grouping factor to data ", "frame explicitly if possible",call.=FALSE) if (all(is.na(ff))) stop("Invalid grouping factor specification, ", deparse(x[[3]]),call.=FALSE) ## NB: *also* silently drops levels - and mkReTrms() and hence ## predict.merMod() have relied on that property : if (drop.unused.levels) ff <- factor(ff, exclude=NA) nl <- length(levels(ff)) ## this section implements eq. 6 of the JSS lmer paper ## model matrix based on LHS of random effect term (X_i) ## x[[2]] is the LHS (terms) of the a|b formula mm <- model.matrix(eval(substitute( ~ foo, list(foo = x[[2]]))), frloc) ## nc <- ncol(mm) ## nseq <- seq_len(nc) ## this is J^T (see p. 9 of JSS lmer paper) ## construct indicator matrix for groups by observations ## use fac2sparse() rather than as() to allow *not* dropping ## unused levels where desired sm <- fac2sparse(ff, to = "d", drop.unused.levels = drop.unused.levels) ## looks like we don't have to filter NAs explicitly any more ... ## sm <- as(ff,"sparseMatrix") ## sm <- KhatriRao(sm[,!is.na(ff),drop=FALSE],t(mm[!is.na(ff),,drop=FALSE])) sm <- KhatriRao(sm, t(mm)) dimnames(sm) <- list( rep(levels(ff),each=ncol(mm)), rownames(mm)) list(ff = ff, sm = sm, nl = nl, cnms = colnames(mm)) } ##' From the result of \code{\link{findbars}} applied to a model formula and ##' and the evaluation frame, create the model matrix, etc. associated with ##' random-effects terms. See the description of the returned value for a ##' detailed list. ##' ##' @title Create Z, Lambda, Lind, etc. ##' @param bars a list of parsed random-effects terms ##' @param fr a model frame in which to evaluate these terms ##' @return a list with components ##' \item{Zt}{transpose of the sparse model matrix for the random effects} ##' \item{Lambdat}{transpose of the sparse relative covariance factor} ##' \item{Lind}{an integer vector of indices determining the mapping of the ##' elements of the \code{theta} to the \code{"x"} slot of \code{Lambdat}} ##' \item{theta}{initial values of the covariance parameters} ##' \item{lower}{lower bounds on the covariance parameters} ##' \item{flist}{list of grouping factors used in the random-effects terms} ##' \item{cnms}{a list of column names of the random effects according to ##' the grouping factors} ##' @importFrom Matrix sparseMatrix rBind drop0 ##' @importMethodsFrom Matrix coerce ##' @family utilities ##' @export mkReTrms <- function(bars, fr, drop.unused.levels=TRUE) { if (!length(bars)) stop("No random effects terms specified in formula",call.=FALSE) stopifnot(is.list(bars), vapply(bars, is.language, NA), inherits(fr, "data.frame")) names(bars) <- barnames(bars) term.names <- vapply(bars, safeDeparse, "") ## get component blocks blist <- lapply(bars, mkBlist, fr, drop.unused.levels) nl <- vapply(blist, `[[`, 0L, "nl") # no. of levels per term # (in lmer jss: \ell_i) ## order terms stably by decreasing number of levels in the factor if (any(diff(nl) > 0)) { ord <- rev(order(nl)) blist <- blist [ord] nl <- nl [ord] term.names <- term.names[ord] } Ztlist <- lapply(blist, `[[`, "sm") Zt <- do.call(rBind, Ztlist) ## eq. 7, JSS lmer paper names(Ztlist) <- term.names q <- nrow(Zt) ## Create and install Lambdat, Lind, etc. This must be done after ## any potential reordering of the terms. cnms <- lapply(blist, `[[`, "cnms") # list of column names of the # model matrix per term nc <- lengths(cnms) # no. of columns per term # (in lmer jss: p_i) nth <- as.integer((nc * (nc+1))/2) # no. of parameters per term # (in lmer jss: ??) nb <- nc * nl # no. of random effects per term # (in lmer jss: q_i) ## eq. 5, JSS lmer paper if (sum(nb) != q) { stop(sprintf("total number of RE (%d) not equal to nrow(Zt) (%d)", sum(nb),q)) } boff <- cumsum(c(0L, nb)) # offsets into b thoff <- cumsum(c(0L, nth)) # offsets into theta ### FIXME: should this be done with cBind and avoid the transpose ### operator? In other words should Lambdat be generated directly ### instead of generating Lambda first then transposing? Lambdat <- t(do.call(sparseMatrix, do.call(rBind, lapply(seq_along(blist), function(i) { mm <- matrix(seq_len(nb[i]), ncol = nc[i], byrow = TRUE) dd <- diag(nc[i]) ltri <- lower.tri(dd, diag = TRUE) ii <- row(dd)[ltri] jj <- col(dd)[ltri] ## unused: dd[cbind(ii, jj)] <- seq_along(ii) data.frame(i = as.vector(mm[, ii]) + boff[i], j = as.vector(mm[, jj]) + boff[i], x = as.double(rep.int(seq_along(ii), rep.int(nl[i], length(ii))) + thoff[i])) })))) thet <- numeric(sum(nth)) ll <- list(Zt = drop0(Zt), theta = thet, Lind = as.integer(Lambdat@x), Gp = unname(c(0L, cumsum(nb)))) ## lower bounds on theta elements are 0 if on diagonal, else -Inf ll$lower <- -Inf * (thet + 1) ll$lower[unique(diag(Lambdat))] <- 0 ll$theta[] <- is.finite(ll$lower) # initial values of theta are 0 off-diagonal, 1 on Lambdat@x[] <- ll$theta[ll$Lind] # initialize elements of Lambdat ll$Lambdat <- Lambdat # massage the factor list fl <- lapply(blist, `[[`, "ff") # check for repeated factors fnms <- names(fl) if (length(fnms) > length(ufn <- unique(fnms))) { fl <- fl[match(ufn, fnms)] asgn <- match(fnms, ufn) } else asgn <- seq_along(fl) names(fl) <- ufn ## DON'T need fl to be a data.frame ... ## fl <- do.call(data.frame, c(fl, check.names = FALSE)) attr(fl, "assign") <- asgn ll$flist <- fl ll$cnms <- cnms ll$Ztlist <- Ztlist ll } ## {mkReTrms} ##' Create an lmerResp, glmResp or nlsResp instance ##' ##' @title Create an lmerResp, glmResp or nlsResp instance ##' @param fr a model frame ##' @param REML logical scalar, value of REML for an lmerResp instance ##' @param family the optional glm family (glmResp only) ##' @param nlenv the nonlinear model evaluation environment (nlsResp only) ##' @param nlmod the nonlinear model function (nlsResp only) ##' @param ... where to look for response information if \code{fr} is missing. ##' Can contain a model response, \code{y}, offset, \code{offset}, and weights, ##' \code{weights}. ##' @return an lmerResp or glmResp or nlsResp instance ##' @family utilities ##' @export mkRespMod <- function(fr, REML=NULL, family = NULL, nlenv = NULL, nlmod = NULL, ...) { if(!missing(fr)) { y <- model.response(fr) offset <- model.offset(fr) weights <- model.weights(fr) N <- n <- nrow(fr) etastart_update <- model.extract(fr, "etastart") mustart_update <- model.extract(fr, "mustart") } else { fr <- list(...) y <- fr$y N <- n <- NROW(y) offset <- fr$offset weights <- fr$weights etastart_update <- fr$etastart mustart_update <- fr$mustart } if(length(dim(y)) == 1L) y <- drop(y) ## avoid problems with 1D arrays and keep names if(isGLMM <- !is.null(family)) stopifnot(inherits(family, "family")) ## FIXME: may need to add X, or pass it somehow, if we want to use glm.fit ## test for non-numeric response here to avoid later ## confusing error messages from deeper machinery if (!is.null(y)) { ## 'y' may be NULL if we're doing simulation if(!(is.numeric(y) || ((is.binom <- isGLMM && family$family == "binomial") && (is.factor(y) || is.logical(y))))) { if (is.binom) stop("response must be numeric or factor") else { if (is.logical(y)) y <- as.integer(y) else stop("response must be numeric") } } if(!all(is.finite(y))) stop("NA/NaN/Inf in 'y'") # same msg as from lm.fit() } rho <- new.env() rho$y <- if (is.null(y)) numeric(0) else y if (!is.null(REML)) rho$REML <- REML rho$etastart <- etastart_update rho$mustart <- mustart_update rho$start <- attr(fr,"start") if (!is.null(nlenv)) { stopifnot(is.language(nlmod), is.environment(nlenv), is.numeric(val <- eval(nlmod, nlenv)), length(val) == n, ## FIXME? Restriction, not present in ole' nlme(): is.matrix(gr <- attr(val, "gradient")), is.numeric(gr), nrow(gr) == n, !is.null(pnames <- colnames(gr))) N <- length(gr) rho$mu <- as.vector(val) rho$sqrtXwt <- as.vector(gr) rho$gam <- ## FIXME more efficient mget(pnames, envir=nlenv) unname(unlist(lapply(pnames, function(nm) get(nm, envir=nlenv)))) } rho$offset <- if (!is.null(offset)) { if (length(offset) == 1L) offset <- rep.int(offset, N) else stopifnot(length(offset) == N) unname(offset) } else rep.int(0, N) rho$weights <- if (!is.null(weights)) { stopifnot(length(weights) == n, all(weights >= 0)) unname(weights) } else rep.int(1, n) if(isGLMM) { ## need weights for initializing evaluation rho$nobs <- n ## allow trivial objects, e.g. for simulation if (length(y)>0) eval(family$initialize, rho) ## ugh. this *is* necessary; ## family$initialize *ignores* mustart in env, overwrites! ## see ll 180-182 of src/library/stats/R/glm.R ## https://github.com/wch/r-source/search?utf8=%E2%9C%93&q=mukeep if (!is.null(mustart_update)) rho$mustart <- mustart_update ## family$initialize <- NULL # remove clutter from str output ll <- as.list(rho) ans <- do.call(new, c(list(Class="glmResp", family=family), ll[setdiff(names(ll), c("m", "nobs", "mustart"))])) if (length(y)>0) ans$updateMu(if (!is.null(es <- etastart_update)) es else family$linkfun(rho$mustart)) ans } else if (is.null(nlenv)) ## lmer do.call(lmerResp$new, as.list(rho)) else ## nlmer do.call(nlsResp$new, c(list(nlenv=nlenv, nlmod=substitute(~foo, list(foo=nlmod)), pnames=pnames), as.list(rho))) } ##' From the right hand side of a formula for a mixed-effects model, ##' determine the pairs of expressions that are separated by the ##' vertical bar operator. Also expand the slash operator in grouping ##' factor expressions and expand terms with the double vertical bar operator ##' into separate, independent random effect terms. ##' ##' @title Determine random-effects expressions from a formula ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @param term a mixed-model formula ##' @return pairs of expressions that were separated by vertical bars ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @example ##' findbars(f1 <- Reaction ~ Days + (Days|Subject)) ##' ## => list( Days | Subject ) ##' findbars(y ~ Days + (1|Subject) + (0+Days|Subject)) ##' ## => list of length 2: list ( 1 | Subject , 0+Days|Subject) ##' findbars(~ 1 + (1|batch/cask)) ##' ## => list of length 2: list ( 1 | cask:batch , 1 | batch) ##' identical(findbars(~ 1 + (Days || Subject)), ##' findbars(~ 1 + (1|Subject) + (0+Days|Subject))) ##' \dontshow{ ##' stopifnot(identical(findbars(f1), ##' list(expression(Days | Subject)[[1]]))) ##' } ##' @family utilities ##' @keywords models utilities ##' @export findbars <- function(term) { ## Recursive function applied to individual terms fb <- function(term) { if (is.name(term) || !is.language(term)) return(NULL) if (term[[1]] == as.name("(")) return(fb(term[[2]])) stopifnot(is.call(term)) if (term[[1]] == as.name('|')) return(term) if (length(term) == 2) return(fb(term[[2]])) c(fb(term[[2]]), fb(term[[3]])) } ## Expand any slashes in the grouping factors returned by fb expandSlash <- function(bb) { ## Create the interaction terms for nested effects makeInteraction <- function(x) { if (length(x) < 2) return(x) trm1 <- makeInteraction(x[[1]]) trm11 <- if(is.list(trm1)) trm1[[1]] else trm1 list(substitute(foo:bar, list(foo=x[[2]], bar = trm11)), trm1) } ## Return the list of '/'-separated terms slashTerms <- function(x) { if (!("/" %in% all.names(x))) return(x) if (x[[1]] != as.name("/")) stop("unparseable formula for grouping factor",call.=FALSE) list(slashTerms(x[[2]]), slashTerms(x[[3]])) } if (!is.list(bb)) expandSlash(list(bb)) else unlist(lapply(bb, function(x) { if (length(x) > 2 && is.list(trms <- slashTerms(x[[3]]))) ## lapply(unlist(...)) - unlist returns a flattened list lapply(unlist(makeInteraction(trms)), function(trm) substitute(foo|bar, list(foo = x[[2]], bar = trm))) else x })) }## {expandSlash} modterm <- expandDoubleVerts( if(is(term, "formula")) term[[length(term)]] else term) expandSlash(fb(modterm)) } ##' From the right hand side of a formula for a mixed-effects model, ##' expand terms with the double vertical bar operator ##' into separate, independent random effect terms. ##' ##' @title Expand terms with \code{'||'} notation into separate \code{'|'} terms ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @param term a mixed-model formula ##' @return the modified term ##' @family utilities ##' @keywords models utilities ##' @export expandDoubleVerts <- function(term) { expandDoubleVert <- function(term) { frml <- formula(substitute(~x,list(x=term[[2]]))) ## FIXME: do this without paste and deparse if possible! ## need term.labels not all.vars to capture interactions too: newtrms <- paste0("0+", attr(terms(frml), "term.labels")) if(attr(terms(frml), "intercept")!=0) newtrms <- c("1", newtrms) as.formula(paste("~(", paste(vapply(newtrms, function(trm) paste0(trm, "|", deparse(term[[3]])), ""), collapse=")+("), ")"))[[2]] } if (!is.name(term) && is.language(term)) { if (term[[1]] == as.name("(")) { term[[2]] <- expandDoubleVerts(term[[2]]) } stopifnot(is.call(term)) if (term[[1]] == as.name('||')) return( expandDoubleVert(term) ) ## else : term[[2]] <- expandDoubleVerts(term[[2]]) if (length(term) != 2) { if(length(term) == 3) term[[3]] <- expandDoubleVerts(term[[3]]) } } term } ##' Remove the random-effects terms from a mixed-effects formula, ##' thereby producing the fixed-effects formula. ##' ##' @title Omit terms separated by vertical bars in a formula ##' @param term the right-hand side of a mixed-model formula ##' @return the fixed-effects part of the formula ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @examples ##' nobars(Reaction ~ Days + (Days|Subject)) ## => Reaction ~ Days ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @family utilities ##' @keywords models utilities ##' @export nobars <- function(term) { nb <- nobars_(term) ## call recursive version if (is(term,"formula") && length(term)==3 && is.symbol(nb)) { ## called with two-sided RE-only formula: ## construct response~1 formula nb <- reformulate("1",response=deparse(nb)) } ## called with one-sided RE-only formula, or RHS alone if (is.null(nb)) { nb <- if (is(term,"formula")) ~1 else 1 } nb } nobars_ <- function(term) { if (!anyBars(term)) return(term) if (isBar(term)) return(NULL) if (isAnyArgBar(term)) return(NULL) if (length(term) == 2) { nb <- nobars_(term[[2]]) if(is.null(nb)) return(NULL) term[[2]] <- nb return(term) } nb2 <- nobars_(term[[2]]) nb3 <- nobars_(term[[3]]) if (is.null(nb2)) return(nb3) if (is.null(nb3)) return(nb2) term[[2]] <- nb2 term[[3]] <- nb3 term } isBar <- function(term) { if(is.call(term)) { if((term[[1]] == as.name("|")) || (term[[1]] == as.name("||"))) { return(TRUE) } } FALSE } isAnyArgBar <- function(term) { if ((term[[1]] != as.name("~")) && (term[[1]] != as.name("("))) { for(i in seq_along(term)) { if(isBar(term[[i]])) return(TRUE) } } FALSE } anyBars <- function(term) { any(c('|','||') %in% all.names(term)) } ##' Substitute the '+' function for the '|' and '||' function in a mixed-model ##' formula. This provides a formula suitable for the current ##' model.frame function. ##' ##' @title "Sub[stitute] Bars" ##' @param term a mixed-model formula ##' @return the formula with all | and || operators replaced by + ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @examples ##' subbars(Reaction ~ Days + (Days|Subject)) ## => Reaction ~ Days + (Days + Subject) ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @family utilities ##' @keywords models utilities ##' @export subbars <- function(term) { if (is.name(term) || !is.language(term)) return(term) if (length(term) == 2) { term[[2]] <- subbars(term[[2]]) return(term) } stopifnot(length(term) >= 3) if (is.call(term) && term[[1]] == as.name('|')) term[[1]] <- as.name('+') if (is.call(term) && term[[1]] == as.name('||')) term[[1]] <- as.name('+') for (j in 2:length(term)) term[[j]] <- subbars(term[[j]]) term } ##' Does every level of f1 occur in conjunction with exactly one level ##' of f2? The function is based on converting a triplet sparse matrix ##' to a compressed column-oriented form in which the nesting can be ##' quickly evaluated. ##' ##' @title Is f1 nested within f2? ##' ##' @param f1 factor 1 ##' @param f2 factor 2 ##' ##' @return TRUE if factor 1 is nested within factor 2 ##' @examples ##' with(Pastes, isNested(cask, batch)) ## => FALSE ##' with(Pastes, isNested(sample, batch)) ## => TRUE ##' @export isNested <- function(f1, f2) { f1 <- as.factor(f1) f2 <- as.factor(f2) stopifnot(length(f1) == length(f2)) k <- length(levels(f1)) sm <- as(new("ngTMatrix", i = as.integer(f2) - 1L, j = as.integer(f1) - 1L, Dim = c(length(levels(f2)), k)), "CsparseMatrix") all(sm@p[2:(k+1L)] - sm@p[1:k] <= 1L) } subnms <- function(form, nms) { ## Recursive function applied to individual terms sbnm <- function(term) { if (is.name(term)) { if (any(term == nms)) 0 else term } else switch(length(term), term, ## 1 { ## 2 term[[2]] <- sbnm(term[[2]]) term }, { ## 3 term[[2]] <- sbnm(term[[2]]) term[[3]] <- sbnm(term[[3]]) term }) } sbnm(form) } ##' Check for a constant term (a literal 1) in an expression ## ##' In the mixed-effects part of a nonlinear model formula, a constant ##' term is not meaningful because every term must be relative to a ##' nonlinear model parameter. This function recursively checks the ##' expressions in the formula for a a constant, calling stop() if ##' such a term is encountered. ##' @title Check for constant terms. ##' @param expr an expression ##' @return NULL. The function is executed for its side effect. chck1 <- function(expr) { if ((le <- length(expr)) == 1) { if (is.numeric(expr) && expr == 1) stop("1 is not meaningful in a nonlinear model formula") return() } else for (j in seq_len(le)[-1]) Recall(expr[[j]]) } ## ---> ../man/nlformula.Rd --- Manipulate a nonlinear model formula ##' @param mc matched call from the caller, with arguments 'formula','start',... ##' @return a list with components "respMod", "frame", "X", "reTrms" nlformula <- function(mc) { start <- eval(mc$start, parent.frame(2L)) if (is.numeric(start)) start <- list(nlpars = start) stopifnot(is.numeric(nlpars <- start$nlpars), lengths(nlpars) == 1L, length(pnames <- names(nlpars)) == length(nlpars), length(form <- as.formula(mc$formula)) == 3L, is(nlform <- eval(form[[2]]), "formula"), pnames %in% all.vars(nlmod <- as.call(nlform[[lnl <- length(nlform)]]))) ## MM{FIXME}: fortune(106) even twice in here! nlform[[lnl]] <- parse(text= paste(setdiff(all.vars(form), pnames), collapse=' + '))[[1]] nlform <- eval(nlform) environment(nlform) <- environment(form) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mc), 0) mc <- mc[c(1, m)] mc$drop.unused.levels <- TRUE mc[[1L]] <- quote(stats::model.frame) mc$formula <- nlform fr <- eval(mc, parent.frame(2L)) n <- nrow(fr) nlenv <- list2env(fr, parent=parent.frame(2L)) lapply(pnames, function(nm) nlenv[[nm]] <- rep.int(nlpars[[nm]], n)) respMod <- mkRespMod(fr, nlenv=nlenv, nlmod=nlmod) chck1(meform <- form[[3L]]) pnameexpr <- parse(text=paste(pnames, collapse='+'))[[1]] nb <- nobars_(meform) ## call ORIGINAL recursive form fe <- eval(substitute(~ 0 + nb + pnameexpr)) environment(fe) <- environment(form) frE <- do.call(rbind, lapply(seq_along(nlpars), function(i) fr)) # rbind s copies of the frame for (nm in pnames) # convert these variables in fr to indicators frE[[nm]] <- as.numeric(rep(nm == pnames, each = n)) X <- model.matrix(fe, frE) rownames(X) <- NULL reTrms <- mkReTrms(lapply(findbars(meform), function(expr) { expr[[2]] <- substitute(0+foo, list(foo=expr[[2]])) expr }), frE) list(respMod=respMod, frame=fr, X=X, reTrms=reTrms, pnames=pnames) } ## {nlformula} ################################################################################ ## Beginning to think about exposing tools to create devcomp lists. ## Could be useful when extending merMod objects. Commenting them out ## however, because R CMD check is complaining: ## https://github.com/lme4/lme4/commit/8d71e439758999ea8f90eb4752487e189407ef33#commitcomment-8773017 ################################################################################ ## ## .dims <- function(pp, resp, nAGQ, ## reTrms, n, p, rcl, ## compDev = NULL) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(n)) n <- nrow(pp$V) ## if(missing(p)) p <- ncol(pp$V) ## c(N=nrow(pp$X), n=n, p=p, nmp=n-p, ## nth=length(pp$theta), q=nrow(pp$Zt), ## nAGQ=rho$nAGQ, ## compDev=rho$compDev, ## ## 'use scale' in the sense of whether dispersion parameter should ## ## be reported/used (*not* whether theta should be scaled by sigma) ## useSc=(rcl != "glmResp" || ## !resp$family$family %in% c("poisson","binomial")), ## reTrms=length(reTrms$cnms), ## spFe=0L, ## REML=if (rcl=="lmerResp") resp$REML else 0L, ## GLMM=(rcl=="glmResp"), ## NLMM=(rcl=="nlsResp")) ## } ## ## .cmp <- function(pp, resp, dims, fval, ## wrss, sqrLenU, pwrss, ## sigmaML, rcl, fac, ## tolPwrss = NULL, ## trivial.y = FALSE) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(fac)) fac <- as.numeric(rcl != "nlsResp") ## if(missing(wrss)) wrss <- resp$wrss() ## if(missing(sqrLenU)) sqrLenU <- pp$sqrL(fac) ## if(missing(pwrss)) pwrss <- wrss + sqrLenU ## if(missing(sigmaML)) sigmaML <- pwrss/dims['n'] ## c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ## ussq=sqrLenU, pwrss=pwrss, ## drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, ## REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) ## opt$fval else NA, ## ## FIXME: construct 'REML deviance' here? ## dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, ## sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), ## sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), ## tolPwrss=rho$tolPwrss) ## } ################################################################################ .minimalOptinfo <- function() list(conv = list(opt = 0L, lme4 = list(messages = character(0)))) getConv <- function(x) { if (!is.null(x[["conv"]])) { x[["conv"]] } else x[["convergence"]] } .optinfo <- function(opt, lme4conv=NULL) list(optimizer = attr(opt, "optimizer"), control = attr(opt, "control"), derivs = attr(opt, "derivs"), conv = list(opt = getConv(opt), lme4 = lme4conv), feval = if (is.null(opt$feval)) NA else opt$feval, warnings = attr(opt, "warnings"), val = opt$par) ##' Potentically needed in more than one place, be sure to keep consistency! ##' hack (NB families have weird names) from @aosmith16; then corrected isNBfamily <- function(familyString) grepl("^Negative ?Binomial", familyString, ignore.case=TRUE) normalizeFamilyName <- function(family) { # such as object@resp$family if(isNBfamily(family$family)) family$family <- "negative.binomial" family } ##' Is it a family with no scale parameter hasNoScale <- function(family) any(substr(family$family, 1L, 12L) == c("poisson", "binomial", "negative.bin", "Negative Bin")) ##--> ../man/mkMerMod.Rd ---Create a merMod object ##' @param rho the environment of the objective function ##' @param opt the value returned by the optimizer ##' @param reTrms reTrms list from the calling function mkMerMod <- function(rho, opt, reTrms, fr, mc, lme4conv=NULL) { if(missing(mc)) mc <- match.call() stopifnot(is.environment(rho), is(pp <- rho$pp, "merPredD"), is(resp <- rho$resp, "lmResp"), is.list(opt), "par" %in% names(opt), c("conv", "fval") %in% substr(names(opt),1,4), ## "conv[ergence]", "fval[ues]" is.list(reTrms), c("flist", "cnms", "Gp", "lower") %in% names(reTrms), length(rcl <- class(resp)) == 1) n <- nrow(pp$V) p <- ncol(pp$V) isGLMM <- (rcl == "glmResp") dims <- c(N = nrow(pp$X), n=n, p=p, nmp = n-p, q = nrow(pp$Zt), nth = length(pp$theta), nAGQ= rho$nAGQ, compDev=rho$compDev, ## 'use scale' in the sense of whether dispersion parameter should ## be reported/used (*not* whether theta should be scaled by sigma) useSc = !(isGLMM && hasNoScale(resp$family)), reTrms=length(reTrms$cnms), spFe= 0L, REML = if (rcl=="lmerResp") resp$REML else 0L, GLMM= isGLMM, NLMM= (rcl=="nlsResp")) storage.mode(dims) <- "integer" fac <- as.numeric(rcl != "nlsResp") if (trivial.y <- (length(resp$y)==0)) { ## trivial model sqrLenU <- wrss <- pwrss <- NA } else { sqrLenU <- pp$sqrL(fac) wrss <- resp$wrss() pwrss <- wrss + sqrLenU } ## weights <- resp$weights beta <- pp$beta(fac) ## rescale if (!is.null(sc <- attr(pp$X, "scaled:scale"))) { warning("auto(un)scaling not yet finished/tested") ## FIXME: test/handle no-intercept models ## (only need to worry if we do centering as well as scaling) ## FIXME: adjust Hessian/vcov ## FIXME: where else will these changes propagate? ## profiling? beta2 <- beta beta2[names(sc)] <- sc*beta2[names(sc)] beta <- beta2 } if (!is.null(attr(pp$X, "scaled:center"))) { warning("auto(un)centering not yet implemented") } #sigmaML <- pwrss/sum(weights) sigmaML <- pwrss/n if (rcl != "lmerResp") { pars <- opt$par if (length(pars) > length(pp$theta)) beta <- pars[-(seq_along(pp$theta))] } cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=sqrLenU, pwrss=pwrss, drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) opt$fval else NA, ## FIXME: construct 'REML deviance' here? dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), tolPwrss=rho$tolPwrss) ## TODO: improve this hack to get something in frame slot (maybe need weights, etc...) if(missing(fr)) fr <- data.frame(resp$y) new(switch(rcl, lmerResp = "lmerMod", glmResp = "glmerMod", nlsResp = "nlmerMod"), call=mc, frame=fr, flist=reTrms$flist, cnms=reTrms$cnms, Gp=reTrms$Gp, theta=pp$theta, beta=beta, u=if (trivial.y) rep(NA_real_,nrow(pp$Zt)) else pp$u(fac), lower=reTrms$lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=resp, optinfo = .optinfo(opt, lme4conv)) }## {mkMerMod} ## generic argument checking ## 'type': name of calling function ("glmer", "lmer", "nlmer") ## checkArgs <- function(type,...) { l... <- list(...) if (isTRUE(l...[["sparseX"]])) warning("sparseX = TRUE has no effect at present",call.=FALSE) ## '...' handling up front, safe-guarding against typos ("familiy") : if(length(l... <- list(...))) { if (!is.null(l...[["family"]])) { # call glmer if family specified ## we will only get here if 'family' is *not* in the arg list warning("calling lmer with family() is deprecated: please use glmer() instead",call.=FALSE) type <- "glmer" } ## Check for method argument which is no longer used ## (different meanings/hints depending on glmer vs lmer) if (!is.null(l...[["method"]])) { msg <- paste("Argument", sQuote("method"), "is deprecated.") if (type == "lmer") msg <- paste(msg, "Use the REML argument to specify ML or REML estimation.") else if (type == "glmer") msg <- paste(msg, "Use the nAGQ argument to specify Laplace (nAGQ=1) or adaptive", "Gauss-Hermite quadrature (nAGQ>1). PQL is no longer available.") warning(msg,call.=FALSE) l... <- l...[names(l...) != "method"] } if(length(l...)) { warning("extra argument(s) ", paste(sQuote(names(l...)), collapse=", "), " disregarded",call.=FALSE) } } } ## check formula and data: return an environment suitable for evaluating ## the formula. ## (1) if data is specified, return it ## (2) otherwise, if formula has an environment, use it ## (3) otherwise [e.g. if formula was passed as a string], try to use parent.frame(2) ## if #3 is true *and* the user is doing something tricky with nested functions, ## this may fail ... ## from http://stackoverflow.com/questions/14945274/determine-whether-evaluation-of-an-argument-will-fail-due-to-non-existence missDataFun <- function(d) { ## test here ff <- sys.frames() ex <- substitute(d) ii <- rev(seq_along(ff)) foundAnon <- FALSE for(i in ii) { ## trying to find where the original symbol is defined ... ex <- eval(substitute(substitute(x, env=sys.frames()[[n]]), env = list(x = ex, n=i))) if (is.symbol(ex) && grepl("^\\.\\.[0-9]+$",safeDeparse(ex))) { ## testing for the dreaded "..1", "..2" pattern; this means ## we are stuck in an anonymous function somewhere ... ## won't be able to see whether data exist or not, ## but we should not flag them as missing -- definitely ## causes false positives ## might be better to check against quote(..1), quote(..2), ## ... but ugh ... foundAnon <- TRUE break } } return(!foundAnon && is.symbol(ex) && !exists(deparse(ex))) } checkFormulaData <- function(formula, data, checkLHS=TRUE, checkData=TRUE, debug=FALSE) { nonexist.data <- missDataFun(data) wd <- tryCatch(eval(data), error = identity) if (wrong.data <- inherits(wd,"simpleError")) { wrong.data.msg <- wd$message } bad.data <- nonexist.data || wrong.data ## data not found (this *should* only happen with garbage input, ## OR when strings used as formulae -> drop1/update/etc.) ## if (bad.data || debug) { varex <- function(v, env) exists(v, envir=env, inherits=FALSE) allvars <- all.vars(as.formula(formula)) allvarex <- function(env, vvec=allvars) all(vapply(vvec, varex, NA, env)) } if (bad.data) { ## Choose helpful error message: if (allvarex(environment(formula))) { stop("bad 'data', but variables found in environment of formula: ", "try specifying 'formula' as a formula rather ", "than a string in the original model",call.=FALSE) } else { if (nonexist.data) { stop("'data' not found, and some variables missing from formula environment",call.=FALSE) } else { stop("bad 'data': ",wrong.data.msg) } } } else { denv <- ## The data as environment if (is.null(data)) { if (!is.null(ee <- environment(formula))) { ee ## use environment of formula } else { ## e.g. no environment, e.g. because formula is a character vector ## parent.frame(2L) works because [g]lFormula (our calling environment) ## has been called within [g]lmer with env=parent.frame(1L) ## If you call checkFormulaData in some other bizarre way such that ## parent.frame(2L) is *not* OK, you deserve what you get ## calling checkFormulaData directly from the global ## environment should be OK, since trying to go up beyond the global ## environment keeps bringing you back to the global environment ... parent.frame(2L) } } else ## data specified list2env(data) } ## FIXME: set enclosing environment of denv to environment(formula), or parent.frame(2L) ? if (debug) { cat("Debugging parent frames in checkFormulaData:\n") ## find global environment -- could do this with sys.nframe() ? glEnv <- 1L while (!identical(parent.frame(glEnv),.GlobalEnv)) { glEnv <- glEnv+1L } ## where are vars? for (i in 1:glEnv) { OK <- allvarex(parent.frame(i)) cat("vars exist in parent frame ", i) if (i == glEnv) cat(" (global)") cat(" ",OK, "\n") } cat("vars exist in env of formula ", allvarex(denv), "\n") } ## if (debug) stopifnot(!checkLHS || length(as.formula(formula,env=denv)) == 3) ## check for two-sided formula return(denv) } ## checkFormulaData <- function(formula,data) { ## ee <- environment(formula) ## if (is.null(ee)) { ## ee <- parent.frame(2) ## } ## if (missing(data)) data <- ee ## stopifnot(length(as.formula(formula,env=as.environment(data))) == 3) ## return(data) ## } ##' Not exported; for tests (and examples) that can be slow; ##' Use if(lme4:::testLevel() >= 1.) ..... see ../README.md testLevel <- function() if(nzchar(s <- Sys.getenv("LME4_TEST_LEVEL")) && is.finite(s <- as.numeric(s))) s else 1 ##' General conditional variance-covariance matrix ##' ##' Experimental function for estimating the variance-covariance ##' matrix of the random effects, conditional on the observed data ##' and at the (RE)ML estimate of the fixed effects and covariance ##' parameters. Applicable for any Lambda matrix, but slower than ##' other block-by-block methods. ##' Not exported. ##' ##' TODO: ##' (1) Write up quick note on theory (e.g. Laplace approximation). ##' (2) Figure out how to convert between full q-by-q matrix, and ##' the format currently in the postVar attributes of the ##' elements of the output of ranef. ##' (3) Test. ##' (4) Do we need to think carefully about the differences ##' between REML and ML, beyond just multiplying by a different ##' sigma^2 estimate? ##' ##' @param object \code{merMod} object ##' @return Sparse covariance matrix condVar <- function(object) { s2 <- sigma(object)^2 Lamt <- getME(object, "Lambdat") L <- getME(object, "L") ## never do it this way! fortune("SOOOO") #V <- solve(L, system = "A") #V <- chol2inv(L) #s2*crossprod(Lamt, V) %*% Lamt LL <- solve(L, Lamt, system = "A") s2 * crossprod(Lamt, LL) } mkMinimalData <- function(formula) { vars <- all.vars(formula) nVars <- length(vars) matr <- matrix(0, 2, nVars) data <- as.data.frame(matr) setNames(data, vars) } ##' Make template for mixed model parameters mkParsTemplate <- function(formula, data){ if(missing(data)) data <- mkMinimalData(formula) mfRanef <- model.frame( subbars(formula), data) mmFixef <- model.matrix(nobars(formula) , data) reTrms <- mkReTrms(findbars(formula), mfRanef) cnms <- reTrms$cnms thetaNamesList <- mapply(mkPfun(), names(cnms), cnms) thetaNames <- unlist(thetaNamesList) betaNames <- colnames(mmFixef) list(beta = setNames(numeric(length( betaNames)), betaNames), theta = setNames(reTrms$theta, thetaNames), sigma = 1) } ##' Make template for mixed model data ##' ##' Useful for simulating balanced designs and for ##' getting started on unbalanced simulations ##' ##' @param formula formula ##' @param data data -- not necessary ##' @param nGrps number of groups per grouping factor ##' @param rfunc function for generating covariate data ##' @param ... additional parameters for rfunc mkDataTemplate <- function(formula, data, nGrps = 2, nPerGrp = 1, rfunc = NULL, ...){ if(missing(data)) data <- mkMinimalData(formula) grpFacNames <- unique(barnames(findbars(formula))) varNames <- all.vars(formula) covariateNames <- setdiff(varNames, grpFacNames) nGrpFac <- length(grpFacNames) nCov <- length(covariateNames) grpFac <- gl(nGrps, nPerGrp) grpDat <- expand.grid(replicate(nGrpFac, grpFac, simplify = FALSE)) colnames(grpDat) <- grpFacNames nObs <- nrow(grpDat) if(is.null(rfunc)) rfunc <- function(n, ...) rep(0, n) params <- c(list(nObs), list(...)) covDat <- as.data.frame(replicate(nCov, do.call(rfunc, params), simplify = FALSE)) colnames(covDat) <- covariateNames cbind(grpDat, covDat) } ##' very flexible and convenient wrt formula, ##' very unflexible wrt everything else ##' ##' starting to get a little too sugary? quickSimulate <- function(formula, nGrps, nPerGrp, family = gaussian) { pr <- mkParsTemplate(formula) dt <- mkDataTemplate(formula, nGrps = nGrps, nPerGrp = nPerGrp, rfunc = rnorm) response <- deparse(formula[[2]]) dt[[response]] <- simulate(formula, newdata = dt, newparams = pr, family = family)[[1]] return(dt) } #---------------------------------------------------------------------- # formula parsing sugar #---------------------------------------------------------------------- ##' these functions pick up where findbars leaves off, in terms of sugar ##' @param REtrm an element of the result of findbars ##' @param REtrms the result of findbars ##' @return \code{reexpr} gives a one-sided formula with the linear ##' model formula for the raw model matrix. \code{grpfact} gives an ##' expression with the name of the grouping factor associated with ##' the raw model matrix. \code{termnms} gives a character vector with ##' the names of the random effects terms. reexpr <- function(REtrm) substitute( ~ foo, list(foo = REtrm[[2]])) grpfact <- function(REtrm) substitute(factor(fac), list(fac = REtrm[[3]])) termnms <- function(REtrms) vapply(REtrms, safeDeparse, "") ##' mmList(): list of model matrices ##' ------ called from getME() & model.matrix(*, "randomListRaw") mmList <- function(object, ...) UseMethod("mmList") mmList.merMod <- function(object, ...) mmList(formula(object), model.frame(object)) mmList.formula <- function(object, frame, ...) { bars <- findbars(object) mm <- setNames(lapply(bars, function(b) model.matrix(eval(reexpr(b), frame), frame)), termnms(bars)) grp <- lapply(lapply(bars, grpfact), eval, frame) nl <- vapply(grp, nlevels, 1L) if (any(diff(nl) > 0)) mm[order(nl, decreasing=TRUE)] else mm } ##' examples ---FIXME?--- put in tests // or export + 'real examples' if(FALSE) { library(lme4) m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) gm <- glmer(cbind(incidence, size-incidence) ~ period + (1|herd), cbpp, binomial) simForm <- y ~ x + z + (x | f) + (z | g) simDat <- lme4:::quickSimulate(simForm, 10, 5) simDat <- simDat[simDat$f != "10", ] # unbalancedish design requiring # a flip in the order of terms sm <- lmer(simForm, simDat) lme4:::mmList.merMod(m) lme4:::mmList.merMod(gm) smmm <- lme4:::mmList.merMod(sm) } nloptwrap <- local({ ## define default control values in environment of function ... defaultControl <- list(algorithm="NLOPT_LN_BOBYQA", xtol_abs=1e-6, ftol_abs=1e-6, maxeval=1e5) ## function(par,fn,lower,upper,control=list(),...) { for (n in names(defaultControl)) if (is.null(control[[n]])) control[[n]] <- defaultControl[[n]] res <- nloptr(x0=par, eval_f=fn, lb=lower,ub=upper, opts=control, ...) with(res,list(par=solution, fval=objective, feval=iterations, conv=if (status>0) 0 else status, message=message)) } }) nlminbwrap <- function(par, fn, lower, upper, control=list(), ...) { if (!is.null(control$maxfun)) { control$eval.max <- control$maxfun control$maxfun <- NULL } res <- nlminb(start = par, fn, gradient = NULL, hessian = NULL, scale = 1, lower = lower, upper = upper, control = control, ...) list(par = res$par, fval = res$objective, conv = res$convergence, message = res$message) } glmerLaplaceHandle <- function(pp, resp, nAGQ, tol, maxit, verbose) { .Call(glmerLaplace, pp, resp, nAGQ, tol, as.integer(maxit), verbose) } isFlexLambda <- function() FALSE lme4/R/hooks.R0000644000176200001440000000034012716161751012566 0ustar liggesusers.onLoad <- function(libname, pkgname) { options(lme4.summary.cor.max = 12) } .onUnload <- function(libpath) { gc() if (is.loaded("lmer_Deviance", PACKAGE="lme4")) library.dynam.unload("lme4", libpath) } lme4/R/nbinom.R0000644000176200001440000001253413141431220012715 0ustar liggesusers##' @importFrom MASS negative.binomial ##' @importFrom MASS theta.ml ## ==> user should use getME(object, "glmer.nb.theta") getNBdisp <- function(object) environment(object@resp$family$aic)[[".Theta"]] ## Hidden, originally used at least once, well tested (!), but if(FALSE) # not needed anymore currently getNBdisp.fam <- function(familyString) as.numeric(sub(".*([-+]?\\d+(\\.\\d*)?([Ee][-+]?\\d+)?){1}.*", "\\1", familyString)) ## Package "constants" {only on depending the glmResp definition in ./AllClass.R}: glmResp.f.nms <- names(glmResp$fields()) glmNB.to.change <- setdiff(glmResp.f.nms, c("Ptr", "family")) ##' setNBdisp(object,theta) := ##' NB-object with changed [DISP]ersion parameter 'theta' (and all that entails) setNBdisp <- function(object,theta) { ## assign(".Theta",theta,envir=environment(object@resp$family$aic)) rr <- object@resp newresp <- do.call(glmResp$new, c(lapply(setNames(nm=glmNB.to.change), rr$field), list(family = negative.binomial(theta=theta)))) newresp$setOffset(rr$offset) newresp$updateMu(rr$eta - rr$offset) object@resp <- newresp object } refitNB <- function(object, theta, control = NULL) { refit(setNBdisp(object, theta), control = control) } ##' @title Optimize over the Negative Binomial Parameter Theta ##' @param object a "glmerMod" object, updated from poisson to negative.binomial() ##' @param interval and ##' @param tol are both passed to \code{\link{optimize}()}. ##' @param verbose ## show our own progress ##' @param control passed to \code{\link{refit}()} ##' @return the last fit, an object like 'object' optTheta <- function(object, interval = c(-5,5), tol = .Machine$double.eps^0.25, verbose = FALSE, control = NULL) { lastfit <- object it <- 0L NBfun <- function(t) { ## Kluge to retain last value and evaluation count {good enough for ..} dev <- -2*logLik(lastfit <<- refitNB(lastfit, theta = exp(t), control = control)) it <<- it+1L if (verbose) cat(sprintf("%2d: th=%#15.10g, dev=%#14.8f, beta[1]=%#14.8f\n", it, exp(t), dev, lastfit@beta[1])) dev } optval <- optimize(NBfun, interval=interval, tol=tol) stopifnot(all.equal(optval$minimum, log(getNBdisp(lastfit)))) ## FIXME: return eval count info somewhere else? MM: new slot there, why not? attr(lastfit,"nevals") <- it ## fix up the 'th' expression, replacing it by the real number, ## so effects:::mer.to.glm() can eval() it: lastfit@call$family[["theta"]] <- exp(optval$minimum) lastfit } ## use MASS machinery to estimate theta from residuals est_theta <- function(object, limit = 20, eps = .Machine$double.eps^0.25, trace = 0) { Y <- model.response(model.frame(object)) ## may have NA values if na.exclude was used ... mu <- na.omit(fitted(object)) theta.ml(Y, mu, weights = object@resp$weights, limit = limit, eps = eps, trace = trace) } ## -------> ../man/glmer.Rd ##' glmer() for Negative Binomial ##' @param ... formula, data, etc: the arguments for ##' \code{\link{glmer}(..)} (apart from \code{family}!). glmer.nb <- function(..., interval = log(th) + c(-3,3), tol = 5e-5, verbose = FALSE, nb.control = NULL, initCtrl = list(limit = 20, eps = 2*tol, trace = verbose, theta = NULL)) { dotE <- as.list(substitute(E(...))[-1]) ## nE <- names(dotE <- as.list(substitute(E(...))[-1])) ## i <- match(c("formula",""), nE) ## i.frml <- i[!is.na(i)][[1]] # the index of "formula" in '...' ## dots <- list(...) mc <- match.call() if (is.null(th <- initCtrl$theta)) { mc[[1]] <- quote(glmer) mc$family <- quote(stats::poisson) mc$verbose <- (verbose>=2) g0 <- eval(mc, parent.frame(1L)) th <- est_theta(g0, limit = initCtrl$limit, eps = initCtrl$eps, trace = initCtrl$trace) ## using format() on purpose, influenced by options(digits = *) : if(verbose) cat("th := est_theta(glmer(..)) =", format(th)) } mc$initCtrl <- NULL ## clear to prevent infinite recursion ## in initCtrl$theta reference above ... mc$family <- bquote(negative.binomial(theta=.(th))) g1 <- eval(mc, parent.frame(1L)) if(verbose) cat(" --> dev.= -2*logLik(.) =", format(-2*logLik(g1)),"\n") ## fix the 'data' part (only now!) if("data" %in% names(g1@call)) { if (!is.null(dotE[["data"]])) { g1@call[["data"]] <- dotE[["data"]] } } else warning("no 'data = *' in glmer.nb() call ... Not much is guaranteed") other.args <- c("verbose","control") for (a in other.args) { if (a %in% names(g1@call)) { g1@call[[a]] <- dotE[[a]] } } ## FIXME: optTheta should also work by modifying mc directly, ## then re-evaluating, not via refit() ... optTheta(g1, interval=interval, tol=tol, verbose=verbose, control = c(eval.parent(g1@call$control),nb.control)) } ## do we want to facilitate profiling on theta?? ## save evaluations used in optimize() fit? ## ('memoise'?) ## Again, I think that a reference class object would be a better approach. lme4/R/bootMer.R0000644000176200001440000001452113141431220013040 0ustar liggesusers.simpleCap <- function(x) { paste0(toupper(substr(x, 1,1)), substr(x, 2, 1000000L), collapse=" ") } ### bootMer() --- <==> (TODO: semi-*)parametric bootstrap ### ------------------------------------------------------- ## Doc: show how this is equivalent - but faster than ## boot(*, R = nsim, sim = "parametric", ran.gen = simulate(.,1,.), mle = x) ## --> return a "boot" object -- so we could use boot.ci() etc ## TODO: also allow "semi-parametric" model-based bootstrap: ## resampling the (centered!) residuals (for use.u=TRUE) or for use.u=FALSE, ## *both* the centered u's + centered residuals ## instead of using rnorm() ## BUT see: ## @article{morris_blups_2002, ## title = {The {BLUPs} are not "best" when it comes to bootstrapping}, ## volume = {56}, ## issn = {0167-7152}, ## url = {http://www.sciencedirect.com/science/article/pii/S016771520200041X}, ## doi = {10.1016/S0167-7152(02)00041-X}, ## journal = {Statistics \& Probability Letters}, ## author = {Morris, Jeffrey S}, ## year = {2002}, ## } ## for an indication of why this is not necessarily a good idea! ##' Perform model-based (Semi-)parametric bootstrap for mixed models. ##' ##' The semi-parametric variant is not yet implemented, and we only ##' provide a method for \code{\link{lmer}} and \code{\link{glmer}} results. bootMer <- function(x, FUN, nsim = 1, seed = NULL, use.u = FALSE, re.form = NA, type = c("parametric","semiparametric"), verbose = FALSE, .progress = "none", PBargs=list(), parallel = c("no", "multicore", "snow"), ncpus = getOption("boot.ncpus", 1L), cl = NULL) { stopifnot((nsim <- as.integer(nsim[1])) > 0) if (.progress!="none") { ## progress bar pbfun <- get(paste0(.progress,"ProgressBar")) setpbfun <- get(paste0("set",.simpleCap(.progress),"ProgressBar")) pb <- do.call(pbfun,PBargs) } if (missing(parallel)) parallel <- getOption("boot.parallel", "no") parallel <- match.arg(parallel) have_mc <- have_snow <- FALSE do_parallel <- (parallel != "no" && ncpus > 1L) if (do_parallel) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!(have_mc || have_snow)) do_parallel <- FALSE # (only for "windows") } if (do_parallel && .progress != "none") message("progress bar disabled for parallel operations") FUN <- match.fun(FUN) type <- match.arg(type) if(!is.null(seed)) set.seed(seed) else if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary mc <- match.call() t0 <- FUN(x) if (!is.numeric(t0)) stop("bootMer currently only handles functions that return numeric vectors") mle <- list(beta = getME(x,"beta"), theta = getME(x,"theta")) if (isLMM(x)) mle <- c(mle,list(sigma = sigma(x))) ## FIXME: what about GLMMs with scale parameters?? ## FIXME: remove prefix when incorporated in package if (type=="parametric") { argList <- list(x, nsim=nsim, na.action=na.exclude) if (!missing(re.form)) { argList <- c(argList,list(re.form=re.form)) } else { argList <- c(argList,list(use.u=use.u)) } ss <- do.call(simulate,argList) } else { if (!missing(re.form)) stop(paste(sQuote("re.form")), "cannot be used with semiparametric bootstrapping") if (use.u) { if (isGLMM(x)) warning("semiparametric bootstrapping is questionable for GLMMs") ss <- replicate(nsim,fitted(x)+sample(residuals(x,"response"), replace=TRUE), simplify=FALSE) } else { stop("semiparametric bootstrapping with use.u=FALSE not yet implemented") } } # define ffun as a closure containing the referenced variables # in its scope to avoid explicit clusterExport statement # in the PSOCKcluster case ffun <- local({ FUN refit x ss verbose do_parallel length.t0 <- length(t0) function(i) { ret <- tryCatch(FUN(refit(x,ss[[i]])), error=function(e)e) if(verbose) { cat(sprintf("%5d :",i)); str(ret) } if (!do_parallel && .progress!="none") { setpbfun(pb,i/nsim) } if (inherits(ret, "error")) structure(rep(NA, length.t0), "fail.msgs" = ret$message) else ret }}) simvec <- seq_len(nsim) res <- if (do_parallel) { if (have_mc) { parallel::mclapply(simvec, ffun, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) res <- parallel::parLapply(cl, simvec, ffun) parallel::stopCluster(cl) res } else parallel::parLapply(cl, simvec, ffun) } } else lapply(simvec, ffun) t.star <- do.call(cbind,res) rownames(t.star) <- names(t0) if ((numFail <- sum(bad.runs <- apply(is.na(t.star),2,all)))>0) { warning("some bootstrap runs failed (",numFail,"/",nsim,")") fail.msgs <- vapply(res[bad.runs],FUN=attr,FUN.VALUE=character(1), "fail.msgs") } else fail.msgs <- NULL ## boot() ends with the equivalent of ## structure(list(t0 = t0, t = t.star, R = R, data = data, seed = seed, ## statistic = statistic, sim = sim, call = call, ## ran.gen = ran.gen, mle = mle), ## class = "boot") s <- structure(list(t0 = t0, t = t(t.star), R = nsim, data = x@frame, seed = .Random.seed, statistic = FUN, sim = "parametric", call = mc, ## these two are dummies ran.gen = "simulate(, 1, *)", mle = mle), class = "boot") attr(s,"bootFail") <- numFail attr(s,"boot.fail.msgs") <- fail.msgs attr(s,"boot_type") <- "boot" s } ## {bootMer} ##' @S3method as.data.frame boot as.data.frame.boot <- function(x,...) { as.data.frame(x$t) } lme4/R/optimizer.R0000644000176200001440000000611312565075351013473 0ustar liggesusers## --> ../man/NelderMead.Rd Nelder_Mead <- function(fn, par, lower=rep.int(-Inf, n), upper=rep.int(Inf, n), control=list()) { n <- length(par) if (is.null(xst <- control[["xst"]])) xst <- rep.int(0.02,n) if (is.null(xt <- control[["xt"]])) xt <- xst*5e-4 control[["xst"]] <- control[["xt"]] <- NULL ## mapping between simpler 'verbose' setting (0=no printing, 1=20, 2=10, 3=1) ## and internal 'iprint' control (frequency of printing) if (is.null(verbose <- control[["verbose"]])) verbose <- 0 control[["verbose"]] <- NULL if (is.null(control[["iprint"]])) { control[["iprint"]] <- switch(as.character(min(as.numeric(verbose),3L)), "0"=0, "1"=20,"2"=10,"3"=1) } stopifnot(is.function(fn), length(formals(fn)) == 1L, (n <- length(par <- as.numeric(par))) == length(lower <- as.numeric(lower)), length(upper <- as.numeric(upper)) == n, length(xst <- as.numeric(xst)) == n, all(xst != 0), length(xt <- as.numeric(xt)) == n) ## "NelderMead" reference class and constructor: --> ./AllClass.R : nM <- NelderMead$new(lower=lower, upper=upper, x0=par, xst=xst, xt=xt) cc <- do.call(function(iprint = 0L, maxfun = 10000L, FtolAbs = 1e-5, FtolRel = 1e-15, XtolRel = 1e-7, MinfMax= -.Machine$double.xmax, warnOnly=FALSE, ...) { if(length(list(...)) > 0) warning("unused control arguments ignored") list(iprint=iprint, maxfun=maxfun, FtolAbs=FtolAbs, FtolRel=FtolRel, XtolRel=XtolRel, MinfMax=MinfMax, warnOnly=warnOnly) }, control) nM$setFtolAbs(cc$FtolAbs) nM$setFtolRel(cc$FtolRel) nM$setIprint (cc$iprint) nM$setMaxeval(cc$maxfun) nM$setMinfMax(cc$MinfMax) it <- 0 repeat { it <- it + 1 nMres <- nM$newf(fn(nM$xeval())) if (nMres != 0L) break } cmsg <- "reached max evaluations" if (nMres == -4) { ## map max evals from error to warning cmsg <- warning(sprintf("failure to converge in %d evaluations",cc$maxfun)) nMres <- 4 } ## nMres: msgvec <- c("nm_forced", ## -3 "cannot generate a feasible simplex", ## -2 "initial x is not feasible", ## -1 "active", ## 0 (active) "objective function went below allowed minimum", ## 1 (minf_max) "objective function values converged to within tolerance", ## 2 (fcvg) "parameter values converged to within tolerance", ## 3 (xcvg) cmsg) if (nMres < 0) { ## i.e., in {-3, -2, -1} (if(cc$warnOnly) warning else stop)( msgvec[nMres+4] ) } list(fval = nM$value(), par = nM$xpos(), convergence = pmin(0, nMres), # positive nMres is also 'convergence' NM.result = nMres, `message` = msgvec[nMres+4], control = c(cc, xst=xst, xt=xt), feval = it) } lme4/R/AllGeneric.R0000644000176200001440000000412112565075351013453 0ustar liggesusers## utilities, these *exported*: ##' @export getL setGeneric("getL", function(x) standardGeneric("getL")) fixed.effects <- function(object, ...) { ## fixed.effects was an alternative name for fixef .Deprecated("fixef") mCall = match.call() mCall[[1]] = as.name("fixef") eval(mCall, parent.frame()) } random.effects <- function(object, ...) { ## random.effects was an alternative name for ranef .Deprecated("ranef") mCall = match.call() mCall[[1]] = as.name("ranef") eval(mCall, parent.frame()) } ## Create a Markov chain Monte Carlo sample from the posterior ## distribution of the parameters ## ## ## @title Create an MCMC sample ## @param object a fitted model object ## @param n number of samples to generate. Defaults to 1; for real use values of 200-1000 are more typical ## @param verbose should verbose output be given? ## @param ... additional, optional arguments (not used) ## @return a Markov chain Monte Carlo sample as a matrix mcmcsamp <- function(object, n = 1L, verbose = FALSE, ...) UseMethod("mcmcsamp") if(getRversion() < "3.3") { sigma <- function(object, ...) UseMethod("sigma") } isREML <- function(x, ...) UseMethod("isREML") isLMM <- function(x, ...) UseMethod("isLMM") isGLMM <- function(x, ...) UseMethod("isGLMM") isNLMM <- function(x, ...) UseMethod("isNLMM") ##' Refit a model using the maximum likelihood criterion ##' ##' This function is primarily used to get a maximum likelihood fit of ##' a linear mixed-effects model for an \code{\link{anova}} comparison. ##' ##' @title Refit a model by maximum likelihood criterion ##' @param x a fitted model, usually of class \code{"\linkS4class{lmerMod}"}, ##' to be refit according to the maximum likelihood criterion ##' @param ... optional additional parameters. None are used at present. ##' @return an object like \code{x} but fit by maximum likelihood ##' @export refitML <- function(x, ...) UseMethod("refitML") refit <- function(object, newresp, ...) UseMethod("refit") if (FALSE) { setGeneric("HPDinterval", function(object, prob = 0.95, ...) standardGeneric("HPDinterval")) } lme4/R/deriv.R0000644000176200001440000002245312764365102012564 0ustar liggesusers## FIX ME: get rid of unnecessary/leftover stuff; ## right now we are only using deriv12?? #' @title Compute gradient of a function. #' #' @description #' This function computes the gradient (first derivative) of a function #' using a central finite difference method. #' #' @details #' The function has to return a single scalar numerical value and take #' as argument a numeric vector of the same length as \code{x}. The function also #' has to be evaluable in a neighborhood around \code{x}, i.e.~at #' \code{x - delta} and at \code{x + delta} for all elements in \code{x}. #' #' @param fun function for which to compute the gradient. #' @param x numeric vector of values at which to compute the #' gradient. #' @param delta the amount to subtract and add to \code{x} when computing the #' central difference. #' @param ... additional arguments to \code{fun}. #' #' @family derivatives #' @author Rune Haubo Bojesen Christensen #' @keywords utilities #' @export #' @return a numeric vector of gradients of the same length as #' \code{x}. #' @example inst/examples/examples-gradient.R ## gradient <- function(fun, x, delta=1e-4, ...) { ## sapply(seq_along(x), function(i) { ## xadd <- xsub <- x ## xadd[i] <- x[i] + delta ## xsub[i] <- x[i] - delta ## (fun(xadd, ...) - fun(xsub, ...)) / (2 * delta) ## }) ## } gradient <- function(fun, x, delta=1e-4, lower=rep(NA,length(x)), upper=rep(NA,length(x)), ...) { xadd <- xsub <- x sapply(seq_along(x), function(i) { ldelta <- udelta <- delta xadd[i] <- x[i] + udelta if (!is.na(uu <- upper[i]) && xadd[i] > uu) { udelta <- uu-x[i] xadd[i] <- uu } xsub[i] <- x[i] + ldelta if (!is.na(ll <- lower[i]) && xsub[i] < ll) { ldelta <- x[i]-ll xsub[i] <- ll } (fun(xadd, ...) - fun(xsub, ...)) / (ldelta + udelta) }) } ##' This function computes the 1st and 2nd derivative (gradient and ##' Hessian) of a function ##' with vector-valued input and scalar output using a central finite ##' difference method. ##' ##' The function has to return a single scalar numerical value and take ##' as argument a numeric vector of the same length as \code{x}. The function also ##' has to be evaluable in a neighborhood around \code{x}, i.e. at ##' \code{x - delta} and at \code{x + delta} for all elements in \code{x}. ##' ##' @title Compute 1st and 2nd derivative ##' @param fun function for which to compute the gradient. ##' @param x numeric vector of values at which to compute the ##' gradient. ##' @param delta the amount to subtract and add to \code{x} when computing the ##' central difference. ##' @param fx optional value of \code{fun(x, ...)}. ##' @param ... additional arguments to \code{fun}. ##' ##' @keywords utilities ##' @export ##' @family derivatives ##' ##' @return alist with components ##' \item{gradient}{the first derivative vector} ##' \item{Hessian}{the second derivative matrix} ##' @author Rune Haubo Bojesen Christensen ##' @example inst/examples/examples-deriv12.R deriv12 <- function(fun, x, delta=1e-4, fx=NULL, lower=rep(NA,length(x)), upper=rep(NA,length(x)), ...) { ### Compute gradient and Hessian at the same time (to save computing ### time) nx <- length(x) fx <- if(!is.null(fx)) fx else fun(x, ...) stopifnot(length(fx) == 1) H <- array(NA, dim=c(nx, nx)) g <- numeric(nx) xadd <- x + delta ubActive <- !is.na(upper) & xadd>upper udelta <- ifelse(ubActive,upper-x,delta) xadd[ubActive] <- upper[ubActive] xsub <- x - delta lbActive <- !is.na(lower) & xadd= j) break ## Compute upper triangular elements: xaa <- spos(x,list(xadd,xadd),c(i,j)) xas <- spos(x,list(xadd,xsub),c(i,j)) xsa <- spos(x,list(xsub,xadd),c(i,j)) xss <- spos(x,list(xsub,xsub),c(i,j)) H[i, j] <- H[j, i] <- fun(xaa, ...)/(udelta[i]+udelta[j])^2 - fun(xas, ...)/(udelta[i]+ldelta[j])^2 - fun(xsa, ...)/(ldelta[i]+udelta[j])^2 + fun(xss, ...)/(ldelta[i]+ldelta[j])^2 } } list(gradient = g, Hessian = H) } ##' This function computes the 2nd derivative aka Hessian of a function ##' with vector-valued input and scalar output using a central finite ##' difference method. ##' ##' The function has to return a single scalar numerical value and take ##' as argument a numeric vector of the same length as \code{x}. The function also ##' has to be evaluable in a neighborhood around \code{x}, i.e. at ##' \code{x - delta} and at \code{x + delta} for all elements in \code{x}. ##' ##' @title Compute Hessian with finite difference ##' @param fun function for which to compute the gradient. ##' @param x numeric vector of values at which to compute the ##' gradient. ##' @param delta the amount to subtract and add to \code{x} when computing the ##' central difference. ##' @param fx optional value of \code{fun(x, ...)}. ##' @param ... additional arguments to \code{fun}. ##' ##' @keywords utilities ##' @export ##' @family derivatives ##' ##' @return the second derivative matrix. ##' @author Rune Haubo Bojesen Christensen ##' @example inst/examples/examples-hessian.R hessian <- function(fun, x, delta=1e-4, fx=NULL, ...) { nx <- length(x) fx <- if(!is.null(fx)) fx else fun(x, ...) H <- array(NA, dim=c(nx, nx)) for(j in 1:nx) { ## Diagonal elements: xadd <- xsub <- x xadd[j] <- x[j] + delta xsub[j] <- x[j] - delta H[j, j] <- (fun(xadd, ...) - 2 * fx + fun(xsub, ...)) / delta^2 ## Upper triangular (off diagonal) elements: for(i in 1:nx) { if(i >= j) break xaa <- xas <- xsa <- xss <- x xaa[c(i, j)] <- x[c(i, j)] + c(delta, delta) xas[c(i, j)] <- x[c(i, j)] + c(delta, -delta) xsa[c(i, j)] <- x[c(i, j)] + c(-delta, delta) xss[c(i, j)] <- x[c(i, j)] - c(delta, delta) H[j, i] <- H[i, j] <- (fun(xaa, ...) - fun(xas, ...) - fun(xsa, ...) + fun(xss, ...)) / (4 * delta^2) } } H } mygrad <- function(fun, x, delta = 1e-4, method = c("central", "forward", "backward"), ...) { method <- match.arg(method) nx <- length(x) if(method %in% c("central", "forward")) { Xadd <- matrix(rep(x, nx), nrow=nx, byrow=TRUE) + diag(delta, nx) fadd <- apply(Xadd, 1, fun, ...) } if(method %in% c("central", "backward")) { Xsub <- matrix(rep(x, nx), nrow=nx, byrow=TRUE) - diag(delta, nx) fsub <- apply(Xsub, 1, fun, ...) ## eval.parent perhaps? } res <- switch(method, "forward" = (fadd - fun(x, ...)) / delta, "backward" = (fun(x, ...) - fsub) / delta, "central" = (fadd - fsub) / (2 * delta) ) res } grad.ctr3 <- function(fun, x, delta=1e-4, ...) { nx <- length(x) Xadd <- matrix(rep(x, nx), nrow=nx, byrow=TRUE) + diag(delta, nx) Xsub <- matrix(rep(x, nx), nrow=nx, byrow=TRUE) - diag(delta, nx) fadd <- apply(Xadd, 1, fun, ...) fsub <- apply(Xsub, 1, fun, ...) ## eval.parent perhaps? (fadd - fsub) / (2 * delta) } grad.ctr2 <- function(fun, x, delta=1e-4, ...) { ans <- x for(i in seq_along(x)) { xadd <- xsub <- x xadd[i] <- x[i] + delta xsub[i] <- x[i] - delta ans[i] <- (fun(xadd, ...) - fun(xsub, ...)) / (2 * delta) } ans } grad.ctr <- function(fun, x, delta=1e-4, ...) { sapply(seq_along(x), function(i) { xadd <- xsub <- x xadd[i] <- x[i] + delta xsub[i] <- x[i] - delta (fun(xadd, ...) - fun(xsub, ...)) / (2 * delta) }) } grad.ctr4 <- function(fun, x, delta=1e-4, ...) { ### - checking finiteness of x and fun-values ### - taking care to avoid floating point errors ### - not using h=x*delta rather than h=delta (important for small or ### large x?) if(!all(is.finite(x))) stop("Cannot compute gradient: non-finite argument") ans <- x ## return values for(i in seq_along(x)) { xadd <- xsub <- x ## reset fun arguments xadd[i] <- x[i] + delta xsub[i] <- x[i] - delta ans[i] <- (fun(xadd, ...) - fun(xsub, ...)) / (xadd[i] - xsub[i]) ### NOTE: xadd[i] - xsub[i] != 2*delta with floating point arithmetic. } if(!all(is.finite(ans))) { warning("cannot compute gradient: non-finite function values occured") ans[!is.finite(ans)] <- Inf } ans } lme4/R/lmer.R0000644000176200001440000032002413170163300012371 0ustar liggesusers## NB: doc in ../man/*.Rd ***not*** auto generated ## FIXME: need to document S3 methods better (can we pull from r-forge version?) ##' Fit a linear mixed model (LMM) lmer <- function(formula, data=NULL, REML = TRUE, control = lmerControl(), start = NULL, verbose = 0L, subset, weights, na.action, offset, contrasts = NULL, devFunOnly=FALSE, ...) { mc <- mcout <- match.call() missCtrl <- missing(control) ## see functions in modular.R for the body ... if (!missCtrl && !inherits(control, "lmerControl")) { if(!is.list(control)) stop("'control' is not a list; use lmerControl()") ## back-compatibility kluge warning("passing control as list is deprecated: please use lmerControl() instead", immediate.=TRUE) control <- do.call(lmerControl, control) } if (!is.null(list(...)[["family"]])) { warning("calling lmer with 'family' is deprecated; please use glmer() instead") mc[[1]] <- quote(lme4::glmer) if(missCtrl) mc$control <- glmerControl() return(eval(mc, parent.frame(1L))) } mc$control <- control ## update for back-compatibility kluge ## https://github.com/lme4/lme4/issues/50 ## parse data and formula mc[[1]] <- quote(lme4::lFormula) lmod <- eval(mc, parent.frame(1L)) mcout$formula <- lmod$formula lmod$formula <- NULL ## create deviance function for covariance parameters (theta) devfun <- do.call(mkLmerDevfun, c(lmod, list(start=start, verbose=verbose, control=control))) if (devFunOnly) return(devfun) ## optimize deviance function over covariance parameters if (identical(control$optimizer,"none")) stop("deprecated use of optimizer=='none'; use NULL instead") opt <- if (length(control$optimizer)==0) { s <- getStart(start,environment(devfun)$lower, environment(devfun)$pp) list(par=s,fval=devfun(s), conv=1000,message="no optimization") } else { optimizeLmer(devfun, optimizer = control$optimizer, restart_edge = control$restart_edge, boundary.tol = control$boundary.tol, control = control$optCtrl, verbose=verbose, start=start, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- checkConv(attr(opt,"derivs"), opt$par, ctrl = control$checkConv, lbound=environment(devfun)$lower) mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, mc = mcout, lme4conv=cc) ## prepare output }## { lmer } ##' Fit a generalized linear mixed model (GLMM) glmer <- function(formula, data=NULL, family = gaussian, control = glmerControl(), start = NULL, verbose = 0L, nAGQ = 1L, subset, weights, na.action, offset, contrasts = NULL, mustart, etastart, devFunOnly = FALSE, ...) { if (!inherits(control, "glmerControl")) { if(!is.list(control)) stop("'control' is not a list; use glmerControl()") ## back-compatibility kluge if (class(control)[1]=="lmerControl") { warning("please use glmerControl() instead of lmerControl()", immediate.=TRUE) control <- ## unpack sub-lists c(control[!names(control) %in% c("checkConv","checkControl")], control$checkControl,control$checkConv) control["restart_edge"] <- NULL ## not implemented for glmer } else { msg <- "Use control=glmerControl(..) instead of passing a list" if(length(cl <- class(control))) { msg <- paste(msg, "of class", dQuote(cl[1])) } warning(msg, immediate.=TRUE) } control <- do.call(glmerControl, control) } mc <- mcout <- match.call() ## family-checking code duplicated here and in glFormula (for now) since ## we really need to redirect at this point; eventually deprecate formally ## and clean up if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { ## redirect to lmer (with warning) warning("calling glmer() with family=gaussian (identity link) as a shortcut to lmer() is deprecated;", " please call lmer() directly") mc[[1]] <- quote(lme4::lmer) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } ## see https://github.com/lme4/lme4/issues/50 ## parse the formula and data mc[[1]] <- quote(lme4::glFormula) glmod <- eval(mc, parent.frame(1L)) mcout$formula <- glmod$formula glmod$formula <- NULL ## create deviance function for covariance parameters (theta) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L devfun <- do.call(mkGlmerDevfun, c(glmod, list(verbose = verbose, control = control, nAGQ = nAGQinit))) if (nAGQ==0 && devFunOnly) return(devfun) ## optimize deviance function over covariance parameters ## FIXME: perhaps should be in glFormula instead?? if (is.list(start)) { start.bad <- setdiff(names(start),c("theta","fixef")) if (length(start.bad)>0) { stop(sprintf("bad name(s) for start vector (%s); should be %s and/or %s", paste(start.bad,collapse=", "), shQuote("theta"), shQuote("fixef")),call.=FALSE) } if (!is.null(start$fixef) && nAGQ==0) stop("should not specify both start$fixef and nAGQ==0") } ## FIX ME: allow calc.derivs, use.last.params etc. if nAGQ=0 if(control$nAGQ0initStep) { opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[1]], ## DON'T try fancy edge tricks unless nAGQ=0 explicitly set restart_edge=if (nAGQ==0) control$restart_edge else FALSE, boundary.tol=if (nAGQ==0) control$boundary.tol else 0, control = control$optCtrl, start=start, nAGQ = 0, verbose=verbose, calc.derivs=FALSE) } if(nAGQ > 0L) { ## update deviance function to include fixed effects as inputs devfun <- updateGlmerDevfun(devfun, glmod$reTrms, nAGQ = nAGQ) if (control$nAGQ0initStep) { start <- updateStart(start,theta=opt$par) } ## if nAGQ0 was skipped ## we don't actually need to do anything here, it seems -- ## getStart gets called again in optimizeGlmer ... if (devFunOnly) return(devfun) ## reoptimize deviance function over covariance parameters and fixed effects opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[2]], restart_edge=control$restart_edge, boundary.tol=control$boundary.tol, control = control$optCtrl, start=start, nAGQ=nAGQ, verbose = verbose, stage=2, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- if (!control$calc.derivs) NULL else { if (verbose > 10) cat("checking convergence\n") checkConv(attr(opt,"derivs"),opt$par, ctrl = control$checkConv, lbound=environment(devfun)$lower) } ## prepare output mkMerMod(environment(devfun), opt, glmod$reTrms, fr = glmod$fr, mc = mcout, lme4conv=cc) }## {glmer} ##' Fit a nonlinear mixed-effects model nlmer <- function(formula, data=NULL, control = nlmerControl(), start = NULL, verbose = 0L, nAGQ = 1L, subset, weights, na.action, offset, contrasts = NULL, devFunOnly = FALSE, ...) { vals <- nlformula(mc <- match.call()) p <- ncol(X <- vals$X) if ((rankX <- rankMatrix(X)) < p) stop(gettextf("rank of X = %d < ncol(X) = %d", rankX, p)) rho <- list2env(list(verbose=verbose, tolPwrss=0.001, # this is reset to the tolPwrss argument's value later resp=vals$resp, lower=vals$reTrms$lower), parent=parent.frame()) rho$pp <- do.call(merPredD$new, c(vals$reTrms[c("Zt","theta","Lambdat","Lind")], list(X=X, n=length(vals$respMod$mu), Xwts=vals$respMod$sqrtXwt, beta0=qr.coef(qr(X), unlist(lapply(vals$pnames, get, envir = rho$resp$nlenv)))))) rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 ## deviance as a function of theta only : devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) if (devFunOnly && !nAGQ) return(devfun) devfun(rho$pp$theta) # initial coarse evaluation to get u0 and beta0 rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 rho$tolPwrss <- control$tolPwrss # Reset control parameter (the initial optimization is coarse) ## set lower and upper bounds: if user-specified, select ## only the ones corresponding to random effects if (!is.null(lwr <- control$optCtrl$lower)) { rho$lower <- lwr[seq_along(rho$lower)] control$optCtrl$lower <- NULL } upper <- rep(Inf, length(rho$lower)) if (!is.null(upr <- control$optCtrl$upper)) { upper <- upr[seq_along(rho$lower)] control$optCtrl$upper <- NULL } opt <- optwrap(control$optimizer[[1]], devfun, rho$pp$theta, lower=rho$lower, upper=upper, control=control$optCtrl, adj=FALSE) rho$control <- attr(opt,"control") if (nAGQ > 0L) { ## set lower/upper to values already harvested from control$optCtrl$upper if (!is.null(lwr)) { rho$lower <- lwr } else { rho$lower <- c(rho$lower, rep.int(-Inf, length(rho$beta0))) } if (!is.null(upr)) { upper <- upr } else { upper <- c(upper, rep.int(Inf, length(rho$beta0))) } rho$u0 <- rho$pp$u0 rho$dpars <- seq_along(rho$pp$theta) ## fixed-effect parameters rho$beta0 <- pmin(upper[-rho$dpars], pmax(rho$pp$beta0,rho$lower[-rho$dpars])) if (nAGQ > 1L) { if (length(vals$reTrms$flist) != 1L || length(vals$reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") rho$fac <- vals$reTrms$flist[[1]] } devfun <- mkdevfun(rho, nAGQ, verbose=verbose, control=control) if (devFunOnly) return(devfun) opt <- optwrap(control$optimizer[[2]], devfun, par = c(rho$pp$theta, rho$beta0), lower = rho$lower, upper = upper, control = control$optCtrl, adj = TRUE, verbose=verbose) } mkMerMod(environment(devfun), opt, vals$reTrms, fr = vals$frame, mc = mc) }## {nlmer} ## R 3.1.0 devel [2013-08-05]: This does not help yet if(getRversion() >= "3.1.0") utils::suppressForeignCheck("nlmerAGQ") if(getRversion() < "3.1.0") dontCheck <- identity ##' Create a deviance evaluation function from a predictor and a response module mkdevfun <- function(rho, nAGQ=1L, maxit=100L, verbose=0, control=list()) { ## FIXME: should nAGQ be automatically embedded in rho? stopifnot(is.environment(rho), is(rho$resp, "lmResp")) ## silence R CMD check warnings *locally* in this function ## (clearly preferred to using globalVariables() !] fac <- pp <- resp <- lp0 <- compDev <- dpars <- baseOffset <- tolPwrss <- pwrssUpdate <- ## <-- even though it's a function below GQmat <- nlmerAGQ <- NULL ## The deviance function (to be returned): ff <- if (is(rho$resp, "lmerResp")) { rho$lmer_Deviance <- lmer_Deviance function(theta) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), as.double(theta)) } else if (is(rho$resp, "glmResp")) { ## control values will override rho values *if present* if (!is.null(tp <- control$tolPwrss)) rho$tolPwrss <- tp if (!is.null(cd <- control$ compDev)) rho$compDev <- cd if (nAGQ == 0L) function(theta) { resp$updateMu(lp0) pp$setTheta(theta) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GHrule(0L), compDev=compDev, maxit=maxit, verbose=verbose) resp$updateWts() p } else ## nAGQ > 0 function(pars) { ## pp$setDelu(rep(0, length(pp$delu))) resp$setOffset(baseOffset) resp$updateMu(lp0) pp$setTheta(as.double(pars[dpars])) # theta is first part of pars spars <- as.numeric(pars[-dpars]) offset <- if (length(spars)==0) baseOffset else baseOffset + pp$X %*% spars resp$setOffset(offset) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GQmat, compDev=compDev, grpFac=fac, maxit=maxit, verbose=verbose) resp$updateWts() p } } else if (is(rho$resp, "nlsResp")) { if (nAGQ < 2L) { rho$nlmerLaplace <- nlmerLaplace rho$tolPwrss <- control$tolPwrss switch(nAGQ + 1L, function(theta) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), as.double(theta), as.double(u0), beta0, verbose, FALSE, tolPwrss), function(pars) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), pars[dpars], u0, pars[-dpars], verbose, TRUE, tolPwrss)) } else { stop("AGQ>1 not yet implemented for nlmer models") rho$nlmerAGQ <- nlmerAGQ rho$GQmat <- GHrule(nAGQ) ## function(pars) { ## .Call(nlmerAGQ, ## <- dontCheck(nlmerAGQ) should work according to docs but does not ## pp$ptr(), resp$ptr(), fac, GQmat, pars[dpars], ## u0, pars[-dpars], tolPwrss) ##} } } else stop("code not yet written") environment(ff) <- rho ff } ## Determine a step factor that will reduce the pwrss ## ## The penalized, weighted residual sum of squares (pwrss) is the sum ## of the weighted residual sum of squares from the resp module and ## the squared length of u from the predictor module. The predictor module ## contains a base value and an increment for the coefficients. ## @title Determine a step factor ## @param pp predictor module ## @param resp response module ## @param verbose logical value determining verbose output ## @return NULL if successful ## @note Typically all this is done in the C++ code. ## The R code is for debugging and comparisons of ## results. ## stepFac <- function(pp, resp, verbose, maxSteps = 10) { ## stopifnot(is.numeric(maxSteps), maxSteps >= 2) ## pwrss0 <- resp$wrss() + pp$sqrL(0) ## for (fac in 2^(-(0:maxSteps))) { ## wrss <- resp$updateMu(pp$linPred(fac)) ## pwrss1 <- wrss + pp$sqrL(fac) ## if (verbose > 3L) ## cat(sprintf("pwrss0=%10g, diff=%10g, fac=%6.4f\n", ## pwrss0, pwrss0 - pwrss1, fac)) ## if (pwrss1 <= pwrss0) { ## pp$installPars(fac) ## return(NULL) ## } ## } ## stop("step factor reduced below ",signif(2^(-maxSteps),2)," without reducing pwrss") ## } RglmerWrkIter <- function(pp, resp, uOnly=FALSE) { pp$updateXwts(resp$sqrtWrkWt()) pp$updateDecomp() pp$updateRes(resp$wtWrkResp()) if (uOnly) pp$solveU() else pp$solve() resp$updateMu(pp$linPred(1)) # full increment resp$resDev() + pp$sqrL(1) } ##' @param pp pred module ##' @param resp resp module ##' @param tol numeric tolerance ##' @param GQmat matrix of Gauss-Hermite quad info ##' @param compDev compute in C++ (as opposed to doing as much as possible in R) ##' @param grpFac grouping factor (normally found in environment ...) ##' @param verbose verbosity, of course glmerPwrssUpdate <- function(pp, resp, tol, GQmat, compDev=TRUE, grpFac=NULL, maxit = 70L, verbose=0) { nAGQ <- nrow(GQmat) if (compDev) { if (nAGQ < 2L) return(.Call(glmerLaplace, pp$ptr(), resp$ptr(), nAGQ, tol, as.integer(maxit), verbose)) return(.Call(glmerAGQ, pp$ptr(), resp$ptr(), tol, as.integer(maxit), GQmat, grpFac, verbose)) } oldpdev <- .Machine$double.xmax uOnly <- nAGQ == 0L i <- 0 repeat { ## oldu <- pp$delu ## olddelb <- pp$delb pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) if (verbose > 2) cat(i,": ",pdev,"\n",sep="") ## check convergence first so small increases don't trigger errors if (is.na(pdev)) stop("encountered NA in PWRSS update") if (abs((oldpdev - pdev) / pdev) < tol) break ## if (pdev > oldpdev) { ## ## try step-halving ## ## browser() ## k <- 0 ## while (k < 10 && pdev > oldpdev) { ## pp$setDelu((oldu + pp$delu)/2.) ## if (!uOnly) pp$setDelb((olddelb + pp$delb)/2.) ## pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) ## k <- k+1 ## } ## } if (pdev > oldpdev) stop("PIRLS update failed") oldpdev <- pdev i <- i+1 } resp$Laplace(pp$ldL2(), 0., pp$sqrL(1)) ## FIXME: should 0. be pp$ldRX2 ? } ## create a deviance evaluation function that uses the sigma parameters ## df2 <- function(dd) { ## stopifnot(is.function(dd), ## length(formals(dd)) == 1L, ## is((rem <- (rho <- environment(dd))$rem), "Rcpp_reModule"), ## is((fem <- rho$fem), "Rcpp_deFeMod"), ## is((resp <- rho$resp), "Rcpp_lmerResp"), ## all((lower <- rem$lower) == 0)) ## Lind <- rem$Lind ## n <- length(resp$y) ## function(pars) { ## sigma <- pars[1] ## sigsq <- sigma * sigma ## sigmas <- pars[-1] ## theta <- sigmas/sigma ## rem$theta <- theta ## resp$updateMu(numeric(n)) ## solveBetaU(rem, fem, resp$sqrtXwt, resp$wtres) ## resp$updateMu(rem$linPred1(1) + fem$linPred1(1)) ## n * log(2*pi*sigsq) + (resp$wrss + rem$sqrLenU)/sigsq + rem$ldL2 ## } ## } ## bootMer() ---> now in ./bootMer.R ## Methods for the merMod class ## Anova for merMod objects ## ## @title anova() for merMod objects ## @param a merMod object ## @param ... further such objects ## @param refit should objects be refitted with ML (if applicable) ## @return an "anova" data frame; the traditional (S3) result of anova() anovaLmer <- function(object, ..., refit = TRUE, model.names=NULL) { mCall <- match.call(expand.dots = TRUE) dots <- list(...) .sapply <- function(L, FUN, ...) unlist(lapply(L, FUN, ...)) modp <- (as.logical(vapply(dots, is, NA, "merMod")) | as.logical(vapply(dots, is, NA, "lm"))) if (any(modp)) { # multiple models - form table ## opts <- dots[!modp] mods <- c(list(object), dots[modp]) nobs.vec <- vapply(mods, nobs, 1L) if (var(nobs.vec) > 0) stop("models were not all fitted to the same size of dataset") ## model names if (is.null(mNms <- model.names)) mNms <- vapply(as.list(mCall)[c(FALSE, TRUE, modp)], safeDeparse, "") ## HACK to try to identify model names in situations such as ## 'do.call(anova,list(model1,model2))' where the model names ## are lost in the call stack ... this doesn't quite work but might ## be useful for future attempts? ## maxdepth <- -2 ## depth <- -1 ## while (depth >= maxdepth & ## all(grepl("S4 object of class structure",mNms))) { ## xCall <- match.call(call=sys.call(depth)) ## mNms <- .sapply(as.list(xCall)[c(FALSE, TRUE, modp)], deparse) ## depth <- depth-1 ## } ## if (depth < maxdepth) { if (any(substr(mNms, 1,4) == "new(") || any(duplicated(mNms)) || ## <- only if S4 objects are *not* properly deparsed max(nchar(mNms)) > 200) { warning("failed to find model names, assigning generic names") mNms <- paste0("MODEL",seq_along(mNms)) } if (length(mNms) != length(mods)) stop("model names vector and model list have different lengths") names(mods) <- sub("@env$", '', mNms) # <- hack models.reml <- vapply(mods, function(x) is(x,"merMod") && isREML(x), NA) models.GHQ <- vapply(mods, function(x) is(x,"glmerMod") && getME(x,"devcomp")$dims["nAGQ"]>1 , NA) if (any(models.GHQ) && any(vapply(mods, function(x) is(x,"glm"), NA))) stop("GLMMs with nAGQ>1 have log-likelihoods incommensurate with glm() objects") if (refit) { ## message only if at least one models is REML: if (any(models.reml)) message("refitting model(s) with ML (instead of REML)") mods[models.reml] <- lapply(mods[models.reml], refitML) } else { ## check that models are consistent (all REML or all ML) if(any(models.reml) && any(!models.reml)) warning("some models fit with REML = TRUE, some not") } ## devs <- sapply(mods, deviance) llks <- lapply(mods, logLik) ## Order models by increasing degrees of freedom: ii <- order(Df <- vapply(llks, attr, FUN.VALUE=numeric(1), "df")) mods <- mods[ii] llks <- llks[ii] Df <- Df [ii] calls <- lapply(mods, getCall) data <- lapply(calls, `[[`, "data") if(!all(vapply(data, identical, NA, data[[1]]))) stop("all models must be fit to the same data object") header <- paste("Data:", abbrDeparse(data[[1]])) subset <- lapply(calls, `[[`, "subset") if(!all(vapply(subset, identical, NA, subset[[1]]))) stop("all models must use the same subset") if (!is.null(subset[[1]])) header <- c(header, paste("Subset:", abbrDeparse(subset[[1]]))) llk <- unlist(llks) chisq <- 2 * pmax(0, c(NA, diff(llk))) dfChisq <- c(NA, diff(Df)) val <- data.frame(Df = Df, AIC = .sapply(llks, AIC), # FIXME? vapply() BIC = .sapply(llks, BIC), # " " logLik = llk, deviance = -2*llk, Chisq = chisq, "Chi Df" = dfChisq, "Pr(>Chisq)" = pchisq(chisq, dfChisq, lower.tail = FALSE), row.names = names(mods), check.names = FALSE) class(val) <- c("anova", class(val)) forms <- lapply(lapply(calls, `[[`, "formula"), deparse) structure(val, heading = c(header, "Models:", paste(rep(names(mods), times = lengths(forms)), unlist(forms), sep = ": "))) } else { ## ------ single model --------------------- dc <- getME(object, "devcomp") X <- getME(object, "X") stopifnot(length(asgn <- attr(X, "assign")) == dc$dims[["p"]]) ss <- as.vector(object@pp$RX() %*% object@beta)^2 names(ss) <- colnames(X) terms <- terms(object) nmeffects <- attr(terms, "term.labels")[unique(asgn)] if ("(Intercept)" %in% names(ss)) nmeffects <- c("(Intercept)", nmeffects) ss <- unlist(lapply(split(ss, asgn), sum)) stopifnot(length(ss) == length(nmeffects)) df <- lengths(split(asgn, asgn)) ## dfr <- unlist(lapply(split(dfr, asgn), function(x) x[1])) ms <- ss/df f <- ms/(sigma(object)^2) ## No longer provide p-values, but still the F statistic (may not be F distributed): ## ## P <- pf(f, df, dfr, lower.tail = FALSE) ## table <- data.frame(df, ss, ms, dfr, f, P) table <- data.frame(df, ss, ms, f) dimnames(table) <- list(nmeffects, ## c("Df", "Sum Sq", "Mean Sq", "Denom", "F value", "Pr(>F)")) c("Df", "Sum Sq", "Mean Sq", "F value")) if ("(Intercept)" %in% nmeffects) table <- table[-match("(Intercept)", nmeffects), ] structure(table, heading = "Analysis of Variance Table", class = c("anova", "data.frame")) } }## {anovaLmer} ##' @importFrom stats anova ##' @S3method anova merMod anova.merMod <- anovaLmer ##' @S3method as.function merMod as.function.merMod <- function(x, ...) { rho <- list2env(list(resp = x@resp$copy(), pp = x@pp$copy(), beta0 = x@beta, u0 = x@u), parent=as.environment("package:lme4")) ## FIXME: extract verbose [, maxit] and control mkdevfun(rho, getME(x, "devcomp")$dims[["nAGQ"]]) } ## coef() method for all kinds of "mer", "*merMod", ... objects ## ------ should work with fixef() + ranef() alone coefMer <- function(object, ...) { if (length(list(...))) warning('arguments named "', paste(names(list(...)), collapse = ", "), '" ignored') fef <- data.frame(rbind(fixef(object)), check.names = FALSE) ref <- ranef(object) ## check for variables in RE but missing from FE, fill in zeros in FE accordingly refnames <- unlist(lapply(ref,colnames)) nmiss <- length(missnames <- setdiff(refnames,names(fef))) if (nmiss > 0) { fillvars <- setNames(data.frame(rbind(rep(0,nmiss))),missnames) fef <- cbind(fillvars,fef) } val <- lapply(ref, function(x) fef[rep.int(1L, nrow(x)),,drop = FALSE]) for (i in seq(a = val)) { refi <- ref[[i]] row.names(val[[i]]) <- row.names(refi) nmsi <- colnames(refi) if (!all(nmsi %in% names(fef))) stop("unable to align random and fixed effects") for (nm in nmsi) val[[i]][[nm]] <- val[[i]][[nm]] + refi[,nm] } class(val) <- "coef.mer" val } ## {coefMer} ##' @importFrom stats coef ##' @S3method coef merMod coef.merMod <- coefMer ## FIXME: should these values (i.e. ML criterion for REML models ## and vice versa) be computed and stored in the object in the first place? ##' @importFrom stats deviance ##' @S3method deviance merMod deviance.merMod <- function(object, REML = NULL, ...) { ## type = c("conditional", "unconditional", "penalized"), ## relative = TRUE, ...) { if (isGLMM(object)) { return(sum(residuals(object,type="deviance")^2)) ## ------------------------------------------------------------ ## proposed change to deviance function for GLMMs ## ------------------------------------------------------------ ## @param type Type of deviance (can be unconditional, ## penalized, conditional) ## @param relative Should deviance be shifted relative to a ## saturated model? (only available with type == penalized or ## conditional) ## ------------------------------------------------------------ ## ans <- switch(type[1], ## unconditional = { ## if (relative) { ## stop("unconditional and relative deviance is undefined") ## } ## c(-2 * logLik(object)) ## }, ## penalized = { ## sqrL <- object@pp$sqrL(1) ## if (relative) { ## object@resp$resDev() + sqrL ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## qLog2Pi <- unname(getME(object, "q")) * log(2 * pi) ## object@resp$aic() - (2 * useSc) + sqrL + qLog2Pi ## } ## }, ## conditional = { ## if (relative) { ## object@resp$resDev() ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## object@resp$aic() - (2 * useSc) ## } ## }) ## return(ans) } if (isREML(object) && is.null(REML)) { warning("deviance() is deprecated for REML fits; use REMLcrit for the REML criterion or deviance(.,REML=FALSE) for deviance calculated at the REML fit") return(devCrit(object, REML=TRUE)) } devCrit(object, REML=FALSE) } REMLcrit <- function(object) { devCrit(object, REML=TRUE) } ## original deviance.merMod -- now wrapped by REMLcrit ## REML=NULL: ## if REML fit return REML criterion ## if ML fit, return deviance ## REML=TRUE: ## if not LMM, stop. ## if ML fit, compute and return REML criterion ## if REML fit, return REML criterion ## REML=FALSE: ## if ML fit, return deviance ## if REML fit, compute and return deviance devCrit <- function(object, REML = NULL) { ## cf. (1) lmerResp::Laplace in respModule.cpp ## (2) section 5.6 of lMMwR, listing lines 34-42 if (isTRUE(REML) && !isLMM(object)) stop("can't compute REML deviance for a non-LMM") cmp <- object@devcomp$cmp if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) if (REML) { if (isREML(object)) { cmp[["REML"]] } else { ## adjust ML results to REML lnum <- log(2*pi*cmp[["pwrss"]]) n <- object@devcomp$dims[["n"]] nmp <- n - length(object@beta) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + cmp[["ldRX2"]] + nmp*(1 + lnum - log(nmp)) } } else { if (!isREML(object)) { cmp[["dev"]] } else { ## adjust REML results to ML n <- object@devcomp$dims[["n"]] lnum <- log(2*pi*cmp[["pwrss"]]) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + n*(1 + lnum - log(n)) } } } ## copied from stats:::safe_pchisq safe_pchisq <- function (q, df, ...) { df[df <= 0] <- NA pchisq(q = q, df = df, ...) } ##' @importFrom stats drop1 ##' @S3method drop1 merMod drop1.merMod <- function(object, scope, scale = 0, test = c("none", "Chisq", "user"), k = 2, trace = FALSE, sumFun=NULL, ...) { evalhack <- "formulaenv" test <- match.arg(test) if ((test=="user" && is.null(sumFun)) || ((test!="user" && !is.null(sumFun)))) stop(sQuote("sumFun"),' must be specified if (and only if) test=="user"') tl <- attr(terms(object), "term.labels") if(missing(scope)) scope <- drop.scope(object) else { if(!is.character(scope)) { scope <- attr(terms(getFixedFormula(update.formula(object, scope))), "term.labels") } if(!all(match(scope, tl, 0L) > 0L)) stop("scope is not a subset of term labels") } ns <- length(scope) if (is.null(sumFun)) { sumFun <- function(x,scale,k,...) setNames(extractAIC(x,scale,k,...),c("df","AIC")) } ss <- sumFun(object, scale=scale, k=k, ...) ans <- matrix(nrow = ns + 1L, ncol = length(ss), dimnames = list(c("", scope), names(ss))) ans[1, ] <- ss n0 <- nobs(object, use.fallback = TRUE) env <- environment(formula(object)) # perhaps here is where trouble begins?? for(i in seq_along(scope)) { ## was seq(ns), failed on empty scope tt <- scope[i] if(trace > 1) { cat("trying -", tt, "\n", sep='') flush.console() } ## FIXME: make this more robust, somehow? ## three choices explored so far: ## (1) evaluate nfit in parent frame: tests in inst/tests/test-formulaEval.R ## will fail on lapply(m_data_List,drop1) ## (formula environment contains r,x,y,z but not d) ## (2) evaluate nfit in frame of formula: tests will fail when data specified and formula is character ## (3) update with data=NULL: fails when ... ## if (evalhack %in% c("parent","formulaenv")) { nfit <- update(object, as.formula(paste("~ . -", tt)), evaluate = FALSE) ## nfit <- eval(nfit, envir = env) # was eval.parent(nfit) if (evalhack=="parent") { nfit <- eval.parent(nfit) } else if (evalhack=="formulaenv") { nfit <- eval(nfit,envir=env) } } else { nfit <- update(object, as.formula(paste("~ . -", tt)),data=NULL, evaluate = FALSE) nfit <- eval(nfit,envir=env) } if (test=="user") { ans[i+1, ] <- sumFun(object, nfit, scale=scale, k=k, ...) } else { ans[i+1, ] <- sumFun(nfit, scale, k = k, ...) } nnew <- nobs(nfit, use.fallback = TRUE) if(all(is.finite(c(n0, nnew))) && nnew != n0) stop("number of rows in use has changed: remove missing values?") } if (test=="user") { aod <- as.data.frame(ans) } else { dfs <- ans[1L, 1L] - ans[, 1L] dfs[1L] <- NA aod <- data.frame(Df = dfs, AIC = ans[,2]) if(test == "Chisq") { ## reconstruct deviance from AIC (ugh) dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(Chi)")] <- list(dev, P) } else if (test == "F") { ## FIXME: allow this if denominator df are specified externally? stop("F test STUB -- unfinished maybe forever") dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(F)")] <- list(dev, P) } } head <- c("Single term deletions", "\nModel:", deparse(formula(object)), if(scale > 0) paste("\nscale: ", format(scale), "\n")) if (!is.null(method <- attr(ss,"method"))) { head <- c(head,"Method: ",method,"\n") } structure(aod, heading = head, class = c("anova", "data.frame")) } ##' @importFrom stats extractAIC ##' @S3method extractAIC merMod extractAIC.merMod <- function(fit, scale = 0, k = 2, ...) { L <- logLik(refitML(fit)) edf <- attr(L,"df") c(edf,-2*L + k*edf) } ##' @importFrom stats family ##' @S3method family merMod family.merMod <- function(object, ...) family(object@resp, ...) ##' @S3method family glmResp family.glmResp <- function(object, ...) { # regenerate initialize # expression if necessary ## FIXME: may fail with user-specified/custom family? ## should be obsolete if(is.null(object$family$initialize)) return(do.call(object$family$family, list(link=object$family$link))) object$family } ##' @S3method family lmResp family.lmResp <- function(object, ...) gaussian() ##' @S3method family nlsResp family.nlsResp <- function(object, ...) gaussian() ##' @importFrom stats fitted ##' @S3method fitted merMod fitted.merMod <- function(object, ...) { xx <- object@resp$mu if (length(xx)==0) { ## handle 'fake' objects created by simulate() xx <- rep(NA,nrow(model.frame(object))) } if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(xx) names(xx) <- nm if (!is.null(fit.na.action <- attr(model.frame(object),"na.action"))) napredict(fit.na.action, xx) else xx } ##' Extract the fixed-effects estimates ##' ##' Extract the estimates of the fixed-effects parameters from a fitted model. ##' @name fixef ##' @title Extract fixed-effects estimates ##' @aliases fixef fixed.effects fixef.merMod ##' @docType methods ##' @param object any fitted model object from which fixed effects estimates can ##' be extracted. ##' @param \dots optional additional arguments. Currently none are used in any ##' methods. ##' @return a named, numeric vector of fixed-effects estimates. ##' @keywords models ##' @examples ##' fixef(lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ##' @importFrom nlme fixef ##' @export fixef ##' @method fixef merMod ##' @export fixef.merMod <- function(object, add.dropped=FALSE, ...) { X <- getME(object,"X") ff <- structure(object@beta, names = dimnames(X)[[2]]) if (add.dropped) { if (!is.null(dd <- attr(X,"col.dropped"))) { ## restore positions dropped for rank deficiency vv <- numeric(length(ff)+length(dd)) all.pos <- seq_along(vv) kept.pos <- all.pos[-dd] vv[kept.pos] <- ff names(vv)[kept.pos] <- names(ff) vv[dd] <- NA names(vv)[dd] <- names(dd) ff <- vv } } return(ff) } getFixedFormula <- function(form) { RHSForm(form) <- nobars(RHSForm(form)) form } ##' @importFrom stats formula ##' @S3method formula merMod formula.merMod <- function(x, fixed.only=FALSE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") if (is.null(form <- attr(x@frame,"formula"))) { if (!grepl("lmer$",deparse(getCall(x)[[1]]))) stop("can't find formula stored in model frame or call") form <- as.formula(formula(getCall(x),...)) } if (fixed.only) { form <- getFixedFormula(form) } if (random.only) { ## from predict.R form <- reOnly(form,response=TRUE) } form } ##' @S3method isREML merMod isREML.merMod <- function(x, ...) as.logical(x@devcomp$dims[["REML"]]) ##' @S3method isGLMM merMod isGLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["GLMM"]]) ## or: is(x@resp,"glmResp") } ##' @S3method isNLMM merMod isNLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["NLMM"]]) ## or: is(x@resp,"nlsResp") } ##' @S3method isLMM merMod isLMM.merMod <- function(x,...) { !isGLMM(x) && !isNLMM(x) ## or: is(x@resp,"lmerResp") ? } npar.merMod <- function(object) { n <- length(object@beta) + length(object@theta) + object@devcomp[["dims"]][["useSc"]] ## FIXME: this is a bit of a hack: a user *might* have specified ## negative binomial family with a known theta, in which case we ## shouldn't count it as extra. Either glmer.nb needs to set a ## flag somewhere, or we need class 'nbglmerMod' to extend 'glmerMod' ... ## We do *not* want to use the 'useSc' slot (as above), because ## although theta is in some sense a scale parameter, it's not ## one in the formal sense (and isn't stored in the 'sigma' slot) if (grepl("Negative Binomial",family(object)$family)) { n <- n+1 } return(n) ## TODO: how do we feel about counting the scale parameter ??? } ##' @importFrom stats logLik ##' @S3method logLik merMod logLik.merMod <- function(object, REML = NULL, ...) { if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) val <- -devCrit(object, REML = REML)/2 ## dc <- object@devcomp nobs <- nobs.merMod(object) structure(val, nobs = nobs, nall = nobs, df = npar.merMod(object), ## length(object@beta) + length(object@theta) + dc$dims[["useSc"]], class = "logLik") } ##' @importFrom stats df.residual ##' @S3method df.residual merMod ## TODO: not clear whether the residual df should be based ## on p=length(beta) or p=length(c(theta,beta)) ... but ## this is just to allow things like aods3::gof to work ... ## df.residual.merMod <- function(object, ...) { nobs(object)-npar.merMod(object) } ##' @importFrom stats logLik ##' @S3method model.frame merMod model.frame.merMod <- function(formula, fixed.only=FALSE, ...) { fr <- formula@frame if (fixed.only) { vars <- attr(terms(fr),"varnames.fixed") if (is.null(vars)) { ## back-compatibility: saved objects pre 1.1-15 ff <- formula(formula,fixed.only=TRUE) ## thanks to Thomas Leeper and Roman Lustrik, Stack Overflow ## https://stackoverflow.com/questions/18017765/extract-variables-in-formula-from-a-data-frame vars <- rownames(attr(terms.formula(ff), "factors")) } fr <- fr[vars] } fr } ##' @importFrom stats model.matrix ##' @S3method model.matrix merMod model.matrix.merMod <- function(object, type = c("fixed", "random", "randomListRaw"), ...) { switch(type[1], "fixed" = object@pp$X, "random" = getME(object, "Z"), "randomListRaw" = mmList(object)) } ##' Dummy variables (experimental) ##' ##' Largely a wrapper for \code{model.matrix} that ##' accepts a factor, \code{f}, and returns a dummy ##' matrix with \code{nlevels(f)-1} columns. dummy <- function(f, levelsToKeep){ f <- as.factor(f) mm <- model.matrix(~ 0 + f) colnames(mm) <- levels(f) # sort out levels to keep missingLevels <- missing(levelsToKeep) if(missingLevels) levelsToKeep <- levels(f)[-1] if(!any(levels(f) %in% levelsToKeep)) stop("at least some of the levels in f ", "must also be present in levelsToKeep") if(!all(levelsToKeep %in% levels(f))) stop("all of the levelsToKeep must be levels of f") mm <- mm[, levelsToKeep, drop=FALSE] ## # communicate that some usages are unlikely ## # to help with readibility, which is the ## # whole purpose of dummy() ## if((!missingLevels)&&(ncol(mm) > 1)) ## message("note from dummy: explicitly specifying more than one ", ## "level to keep may do little to improve readibility") return(mm) } ##' @importFrom stats nobs ##' @S3method nobs merMod nobs.merMod <- function(object, ...) nrow(object@frame) ## used in summary.merMod(): ngrps <- function(object, ...) UseMethod("ngrps") ngrps.default <- function(object, ...) stop("Cannot extract the number of groups from this object") ngrps.merMod <- function(object, ...) vapply(object@flist, nlevels, 1) ngrps.factor <- function(object, ...) nlevels(object) ##' @importFrom nlme ranef ##' @export ranef NULL ##' Extract the modes of the random effects ##' ##' A generic function to extract the conditional modes of the random effects ##' from a fitted model object. For linear mixed models the conditional modes ##' of the random effects are also the conditional means. ##' ##' If grouping factor i has k levels and j random effects per level the ith ##' component of the list returned by \code{ranef} is a data frame with k rows ##' and j columns. If \code{condVar} is \code{TRUE} the \code{"postVar"} ##' attribute is an array of dimension j by j by k. The kth face of this array ##' is a positive definite symmetric j by j matrix. If there is only one ##' grouping factor in the model the variance-covariance matrix for the entire ##' random effects vector, conditional on the estimates of the model parameters ##' and on the data will be block diagonal and this j by j matrix is the kth ##' diagonal block. With multiple grouping factors the faces of the ##' \code{"postVar"} attributes are still the diagonal blocks of this ##' conditional variance-covariance matrix but the matrix itself is no longer ##' block diagonal. ##' @name ranef ##' @aliases ranef ranef.merMod ##' @param object an object of a class of fitted models with random effects, ##' typically an \code{"\linkS4class{merMod}"} object. ##' @param condVar an optional logical argument indicating if the conditional ##' variance-covariance matrices of the random effects should be added as an attribute. ##' @param postVar a (deprecated) synonym for \code{condVar} ##' @param drop an optional logical argument indicating components of the return ##' value that would be data frames with a single column, usually a column ##' called \sQuote{\code{(Intercept)}}, should be returned as named vectors. ##' @param whichel an optional character vector of names of grouping factors for ##' which the random effects should be returned. Defaults to all the grouping ##' factors. ##' @param \dots some methods for this generic function require additional ##' arguments. ##' @return A list of data frames, one for each grouping factor for the random ##' effects. The number of rows in the data frame is the number of levels of ##' the grouping factor. The number of columns is the dimension of the random ##' effect associated with each level of the factor. ##' ##' If \code{condVar} is \code{TRUE} each of the data frames has an attribute ##' called \code{"postVar"} which is a three-dimensional array with symmetric ##' faces. ##' ##' When \code{drop} is \code{TRUE} any components that would be data frames of ##' a single column are converted to named numeric vectors. ##' @note To produce a \dQuote{caterpillar plot} of the random effects apply ##' \code{\link[lattice:xyplot]{dotplot}} to the result of a call to ##' \code{ranef} with \code{condVar = TRUE}. ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy) ##' fm3 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) ##' ranef(fm1) ##' str(rr1 <- ranef(fm1, condVar = TRUE)) ##' dotplot(rr1) ## default ##' ## specify free scales in order to make Day effects more visible ##' dotplot(rr1,scales = list(x = list(relation = 'free')))[["Subject"]] ##' if(FALSE) { ##-- condVar=TRUE is not yet implemented for multiple terms -- FIXME ##' str(ranef(fm2, condVar = TRUE)) ##' } ##' op <- options(digits = 4) ##' ranef(fm3, drop = TRUE) ##' options(op) ##' @keywords models methods ##' @method ranef merMod ##' @export ranef.merMod <- function(object, condVar = FALSE, drop = FALSE, whichel = names(ans), postVar = FALSE, ...) { if (length(L <- list(...))>0) { warning(paste("additional arguments to ranef.merMod ignored:", paste(names(L),collapse=", "))) } if (!missing(postVar) && missing(condVar)) { warning(sQuote("postVar")," is deprecated: please use ", sQuote("condVar")," instead") condVar <- postVar } ans <- object@pp$b(1) ## not always == c(matrix(unlist(getME(object,"b")))) if (!is.null(object@flist)) { ## evaluate the list of matrices levs <- lapply(fl <- object@flist, levels) asgn <- attr(fl, "assign") cnms <- object@cnms nc <- lengths(cnms) nb <- nc * lengths(levs)[asgn] nbseq <- rep.int(seq_along(nb), nb) ml <- split(ans, nbseq) for (i in seq_along(ml)) ml[[i]] <- matrix(ml[[i]], ncol = nc[i], byrow = TRUE, dimnames = list(NULL, cnms[[i]])) ## create a list of data frames corresponding to factors ans <- lapply(seq_along(fl), function(i) data.frame(do.call(cbind, ml[asgn == i]), row.names = levs[[i]], check.names = FALSE)) names(ans) <- names(fl) # process whichel stopifnot(is(whichel, "character")) whchL <- names(ans) %in% whichel ans <- ans[whchL] if (condVar) { sigsqr <- sigma(object)^2 rp <- rePos$new(object) if(any(lengths(rp$terms) > 1L)) { # TODO: actually use condVar and then convert back to array format warning("conditional variances not currently available via ", "ranef when there are multiple terms per factor") } else{ vv <- .Call(merPredDcondVar, object@pp$ptr(), as.environment(rp)) for (i in names(ans)) ## seq_along(ans)) attr(ans[[i]], "postVar") <- vv[[i]] * sigsqr } } if (drop) ans <- lapply(ans, function(el) { if (ncol(el) > 1) return(el) pv <- drop(attr(el, "postVar")) el <- drop(as.matrix(el)) if (!is.null(pv)) attr(el, "postVar") <- pv el }) class(ans) <- "ranef.mer" } ans }## ranef.merMod print.ranef.mer <- function(x, ...) { print(unclass(x), ...) if(any(has.pv <- vapply(x, function(el) !is.null(attr(el, "postVar")), NA))) cat('with conditional variances for', paste(dQuote(names(x)[has.pv]), sep=", "), "\n") invisible(x) } ## try to redo refit by calling modular structure ... refit2.merMod <- function(object, newresp=NULL) { ## the idea is to steal as much structure as we can from the ## previous fit, including ## * starting parameter values ## * random-effects structure ## * fixed-effects structure ## * model frame ## and jump into the modular structure at an appropriate place; ## essentially, this should merge with a smart-as-possible ## version of 'update' ... } ## FIXME DRY: much of copy'n'paste from lmer() etc .. ==> become more modular (?) refit.merMod <- function(object, newresp=NULL, ## formula=NULL, weights=NULL, rename.response=FALSE, maxit = 100L, ...) { l... <- list(...) ctrl.arg <- NULL if("control" %in% names(l...)) ctrl.arg <- l...$control if(!all(names(l...) %in% c("control", "verbose"))) { warning("additional arguments to refit.merMod ignored") } ## TODO: not clear whether we should reset the names ## to the new response variable. Maybe not. ## retrieve name before it gets mangled by operations on newresp newrespSub <- substitute(newresp) ## for backward compatibility/functioning of refit(fit,simulate(fit)) if (is.list(newresp)) { if (length(newresp)==1) { na.action <- attr(newresp,"na.action") newresp <- newresp[[1]] attr(newresp,"na.action") <- na.action } else { stop("refit not implemented for 'newresp' lists of length > 1: ", "consider ", sQuote("lapply(object,refit)")) } } ## oldresp <- object@resp$y # need to set this before deep copy, ## # otherwise it gets reset with the call ## # to setResp below ## somewhat repeated from profile.merMod, but sufficiently ## different that refactoring is slightly non-trivial ## "three minutes' thought would suffice ..." control <- if (!is.null(ctrl.arg)) { if (length(ctrl.arg$optCtrl) == 0) { ## use object's version: obj.control <- object@optinfo$control ignore.pars <- c("xst", "xt") if (any(ign <- names(obj.control) %in% ignore.pars)) obj.control <- obj.control[!ign] ctrl.arg$optCtrl <- obj.control } ctrl.arg } else if (isGLMM(object)) glmerControl() else lmerControl() if (object@optinfo$optimizer == "optimx") { control$optCtrl <- object@optinfo$control } ## we need this stuff defined before we call .glmerLaplace below ... pp <- object@pp$copy() dc <- object@devcomp nAGQ <- dc$dims["nAGQ"] # possibly NA nth <- dc$dims[["nth"]] verbose <- l...$verbose; if (is.null(verbose)) verbose <- 0L if (!is.null(newresp)) { ## update call and model frame with new response rcol <- attr(attr(model.frame(object), "terms"), "response") if (rename.response) { attr(object@frame,"formula")[[2]] <- object@call$formula[[2]] <- newrespSub names(object@frame)[rcol] <- deparse(newrespSub) } if (!is.null(na.act <- attr(object@frame,"na.action")) && is.null(attr(newresp,"na.action"))) { ## will only get here if na.action is 'na.omit' or 'na.exclude' ## *and* newresp does not have an 'na.action' attribute ## indicating that NAs have already been filtered newresp <- if (is.matrix(newresp)) newresp[-na.act, ] else newresp[-na.act] } object@frame[,rcol] <- newresp ## modFrame <- model.frame(object) ## modFrame[, attr(terms(modFrame), "response")] <- newresp } rr <- if(isLMM(object)) mkRespMod(model.frame(object), REML = isREML(object)) else if(isGLMM(object)) { mkRespMod(model.frame(object), family = family(object)) } else stop("refit.merMod not working for nonlinear mixed models.\n", "try update.merMod instead.") if(!is.null(newresp)) { if(family(object)$family == "binomial") { ## re-do conversion of two-column matrix and factor ## responses to proportion/weights format if (is.matrix(newresp) && ncol(newresp) == 2) { ntot <- rowSums(newresp) ## FIXME: test what happens for (0,0) rows newresp <- newresp[,1]/ntot rr$setWeights(ntot) } if (is.factor(newresp)) { ## FIXME: would be better to do this consistently with ## whatever machinery is used in glm/glm.fit/glmer ... ?? newresp <- as.numeric(newresp)-1 } } ## if (isGLMM(object) && rr$family$family=="binomial") { ## } stopifnot(length(newresp <- as.numeric(as.vector(newresp))) == length(rr$y)) } if (isGLMM(object)) { GQmat <- GHrule(nAGQ) if (nAGQ <= 1) { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit) } else { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit, grpFac = object@flist[[1]]) } } devlist <- if (isGLMM(object)) { baseOffset <- forceCopy(object@resp$offset) list(tolPwrss= dc$cmp [["tolPwrss"]], compDev = dc$dims[["compDev"]], nAGQ = unname(nAGQ), lp0 = pp$linPred(1), ## object@resp$eta - baseOffset, baseOffset = baseOffset, pwrssUpdate = glmerPwrssUpdate, ## save GQmat in the object and use that instead of nAGQ GQmat = GHrule(nAGQ), fac = object@flist[[1]], pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) } else list(pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) ff <- mkdevfun(list2env(devlist), nAGQ=nAGQ, maxit=maxit, verbose=verbose) ## rho <- environment(ff) xst <- rep.int(0.1, nth) x0 <- pp$theta lower <- object@lower if (!is.na(nAGQ) && nAGQ > 0L) { xst <- c(xst, sqrt(diag(pp$unsc()))) x0 <- c(x0, unname(fixef(object))) lower <- c(lower, rep(-Inf,length(x0)-length(lower))) } ## control <- c(control,list(xst=0.2*xst, xt=xst*0.0001)) ## FIX ME: allow use.last.params to be passed through calc.derivs <- !is.null(object@optinfo$derivs) ## if(isGLMM(object)) { ## rho$resp$updateWts() ## rho$pp$updateDecomp() ## rho$lp0 <- rho$pp$linPred(1) ## } opt <- optwrap(object@optinfo$optimizer, ff, x0, lower=lower, control=control$optCtrl, calc.derivs=calc.derivs) cc <- checkConv(attr(opt,"derivs"),opt$par, ## FIXME: was there a reason that ctrl was passed ## via the call slot? it was causing problems ## when optTheta called refit (github issue #173) # ctrl = eval(object@call$control)$checkConv, ctrl = control$checkConv, # ctrl = cntrl$checkConv, lbound=lower) if (isGLMM(object)) rr$setOffset(baseOffset) mkMerMod(environment(ff), opt, list(flist=object@flist, cnms=object@cnms, Gp=object@Gp, lower=object@lower), object@frame, getCall(object), cc) } refitML.merMod <- function (x, optimizer="bobyqa", ...) { ## FIXME: optimizer is set to 'bobyqa' for back-compatibility, but that's not ## consistent with lmer (default NM). Should be based on internally stored 'optimizer' value if (!isREML(x)) return(x) stopifnot(is(rr <- x@resp, "lmerResp")) rho <- new.env(parent=parent.env(environment())) rho$resp <- new(class(rr), y=rr$y, offset=rr$offset, weights=rr$weights, REML=0L) xpp <- x@pp$copy() rho$pp <- new(class(xpp), X=xpp$X, Zt=xpp$Zt, Lambdat=xpp$Lambdat, Lind=xpp$Lind, theta=xpp$theta, n=nrow(xpp$X)) devfun <- mkdevfun(rho, 0L) # also pass ?? (verbose, maxit, control) opt <- ## "smart" calc.derivs rules if(optimizer == "bobyqa" && !any("calc.derivs" == names(list(...)))) optwrap(optimizer, devfun, x@theta, lower=x@lower, calc.derivs=TRUE, ...) else optwrap(optimizer, devfun, x@theta, lower=x@lower, ...) ## FIXME: Should be able to call mkMerMod() here, and be done n <- length(rr$y) pp <- rho$pp p <- ncol(pp$X) dims <- c(N=n, n=n, p=p, nmp=n-p, q=nrow(pp$Zt), nth=length(pp$theta), useSc=1L, reTrms=length(x@cnms), spFe=0L, REML=0L, GLMM=0L, NLMM=0L)#, nAGQ=NA_integer_) wrss <- rho$resp$wrss() ussq <- pp$sqrL(1) pwrss <- wrss + ussq cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=ussq, pwrss=pwrss, drsum=NA, dev=opt$fval, REML=NA, sigmaML=sqrt(pwrss/n), sigmaREML=sqrt(pwrss/(n-p))) ## modify the call to have REML=FALSE. (without evaluating the call!) cl <- x@call cl[["REML"]] <- FALSE new("lmerMod", call = cl, frame=x@frame, flist=x@flist, cnms=x@cnms, theta=pp$theta, beta=pp$delb, u=pp$delu, optinfo = .optinfo(opt), lower=x@lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=rho$resp) } ##' residuals of merMod objects --> ../man/residuals.merMod.Rd ##' @param object a fitted [g]lmer (\code{merMod}) object ##' @param type type of residuals ##' @param scaled scale residuals by residual standard deviation (=scale parameter)? ##' @param \dots additional arguments (ignored: for method compatibility) residuals.merMod <- function(object, type = if(isGLMM(object)) "deviance" else "response", scaled = FALSE, ...) { r <- residuals(object@resp, type,...) fr <- model.frame(object) if (is.null(nm <- rownames(fr))) nm <- seq_along(r) names(r) <- nm if (scaled) r <- r/sigma(object) if (!is.null(na.action <- attr(fr, "na.action"))) naresid(na.action, r) else r } ##' @rdname residuals.merMod ##' @S3method residuals lmResp ##' @method residuals lmResp residuals.lmResp <- function(object, type = c("working", "response", "deviance", "pearson", "partial"), ...) { y <- object$y r <- object$wtres mu <- object$mu switch(match.arg(type), working =, response = y-mu, deviance =, pearson = r, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } ##' @rdname residuals.merMod ##' @S3method residuals glmResp ##' @method residuals glmResp residuals.glmResp <- function(object, type = c("deviance", "pearson", "working", "response", "partial"), ...) { type <- match.arg(type) y <- object$y mu <- object$mu switch(type, deviance = { d.res <- sqrt(object$devResid()) ifelse(y > mu, d.res, -d.res) }, pearson = object$wtres, working = object$wrkResids(), response = y - mu, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } hatvalues.merMod <- function(model, fullHatMatrix = FALSE, ...) { if(isGLMM(model)) warning("the hat matrix may not make sense for GLMMs") ## FIXME: add restriction for NLMMs? ## prior weights, W ^ {1/2} : sqrtW <- Diagonal(x = sqrt(weights(model, type = "prior"))) with(getME(model, c("L", "Lambdat", "Zt", "RX", "X", "RZX")), { ## CL:= right factor of the random-effects component of the hat matrix (64) CL <- solve(L, solve(L, Lambdat %*% Zt %*% sqrtW, system = "P"), system = "L") ## CR:= right factor of the fixed-effects component of the hat matrix (65) ## {MM (FIXME Matrix): t(.) %*% here faster than crossprod()} CR <- solve(t(RX), t(X) %*% sqrtW - crossprod(RZX, CL)) if(fullHatMatrix) ## H = (C_L^T C_L + C_R^T C_R) (63) crossprod(CL) + crossprod(CR) else ## diagonal of the hat matrix, diag(H) : colSums(CR^2) + colSums(CL^2) }) } ##' @S3method sigma merMod sigma.merMod <- function(object, ...) { dc <- object@devcomp dd <- dc$dims if(dd[["useSc"]]) dc$cmp[[if(dd[["REML"]]) "sigmaREML" else "sigmaML"]] else 1. } ##' @importFrom stats terms ##' @S3method terms merMod terms.merMod <- function(x, fixed.only=TRUE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") tt <- attr(x@frame,"terms") if (fixed.only) { tt <- terms.formula(formula(x,fixed.only=TRUE)) attr(tt,"predvars") <- attr(terms(x@frame),"predvars.fixed") } if (random.only) { tt <- terms.formula(subbars(formula(x,random.only=TRUE))) ## FIXME: predvars should be random-only attr(tt,"predvars") <- attr(terms(x@frame),"predvars.random") } tt } ##' @importFrom stats update ##' @S3method update merMod update.merMod <- function(object, formula., ..., evaluate = TRUE) { if (is.null(call <- getCall(object))) stop("object should contain a 'call' component") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (evaluate) { ff <- environment(formula(object)) pf <- parent.frame() ## save parent frame in case we need it sf <- sys.frames()[[1]] tryCatch(eval(call, envir=ff), error=function(e) { tryCatch(eval(call, envir=sf), error=function(e) { eval(call, pf) }) }) } else call } ###----- Printing etc ---------------------------- ## lme4.0, for GLMM had ## 'Generalized linear mixed model fit by the Laplace approximation' ## 'Generalized linear mixed model fit by the adaptive Gaussian Hermite approximation' ## so did *not* mention "maximum likelihood" at all in the GLMM case methTitle <- function(dims) { # dims == object@devcomp$dims GLMM <- dims[["GLMM"]] kind <- switch(1L + GLMM * 2L + dims[["NLMM"]], "Linear", "Nonlinear", "Generalized linear", "Generalized nonlinear") paste(kind, "mixed model fit by", if(dims[["REML"]]) "REML" else paste("maximum likelihood", if(GLMM) { ## TODO? Use shorter wording here, for (new) 'long = FALSE' argument if((nAGQ <- dims[["nAGQ"]]) == 1) "(Laplace Approximation)" else sprintf("(Adaptive Gauss-Hermite Quadrature, nAGQ = %d)", nAGQ) })) } cat.f <- function(...) cat(..., fill = TRUE) famlink <- function(object, resp = object@resp) { if(is(resp, "glmResp")) resp$family[c("family", "link")] else list(family = NULL, link = NULL) } ##' @title print method title ##' @param mtit the result of methTitle(obj) ##' @param class typically class(obj) .prt.methTit <- function(mtit, class) { if(nchar(mtit) + 5 + nchar(class) > (w <- getOption("width"))) { ## wrap around mtit <- strwrap(mtit, width = w - 2, exdent = 2) cat(mtit, " [",class,"]", sep = "", fill = TRUE) } else ## previous: simple one-liner cat(sprintf("%s ['%s']\n", mtit, class)) } .prt.family <- function(famL) { if (!is.null(f <- famL$family)) { cat.f(" Family:", f, if(!is.null(ll <- famL$link)) paste(" (", ll, ")")) } } .prt.resids <- function(resids, digits, title = "Scaled residuals:", ...) { cat(title,"\n") ## FIXME: need testing code rq <- setNames(zapsmall(quantile(resids, na.rm=TRUE), digits + 1L), c("Min", "1Q", "Median", "3Q", "Max")) print(rq, digits = digits, ...) cat("\n") } .prt.call <- function(call, long = TRUE) { if (!is.null(cc <- call$formula)) cat.f("Formula:", deparse(cc)) if (!is.null(cc <- call$data)) cat.f(" Data:", deparse(cc)) if (!is.null(cc <- call$weights)) cat.f("Weights:", deparse(cc)) if (!is.null(cc <- call$offset)) cat.f(" Offset:", deparse(cc)) if (long && length(cc <- call$control) && !identical((dc <- deparse(cc)), "lmerControl()")) ## && !identical(eval(cc), lmerControl())) cat.f("Control:", dc) if (!is.null(cc <- call$subset)) cat.f(" Subset:", deparse(cc)) } ##' @title Extract Log Likelihood, AIC, and related statics from a Fitted LMM ##' @param object a LMM model fit ##' @param devianceFUN the function to be used for computing the deviance; should not be changed for \pkg{lme4} created objects. ##' @param chkREML optional logical indicating \code{object} maybe a REML fit. ##' @param devcomp ##' @return a list with components \item{logLik} and \code{AICtab} where the first is \code{\link{logLik(object)}} and \code{AICtab} is a "table" of AIC, BIC, logLik, deviance, df.residual() values. llikAIC <- function(object, devianceFUN = devCrit, chkREML = TRUE, devcomp = object@devcomp) { llik <- logLik(object) # returns NA for a REML fit - maybe change? AICstats <- { if(chkREML && devcomp$dims[["REML"]]) devcomp$cmp["REML"] # *no* likelihood stats here else { c(AIC = AIC(llik), BIC = BIC(llik), logLik = c(llik), deviance = devianceFUN(object), df.resid = df.residual(object)) } } list(logLik = llik, AICtab = AICstats) } .prt.aictab <- function(aictab, digits = 1) { t.4 <- round(aictab, digits) if (length(aictab) == 1 && names(aictab) == "REML") cat.f("REML criterion at convergence:", t.4) else { ## slight hack to get residual df formatted as an integer t.4F <- format(t.4) t.4F["df.resid"] <- format(t.4["df.resid"]) print(t.4F, quote = FALSE) } } .prt.VC <- function(varcor, digits, comp, formatter = format, ...) { cat("Random effects:\n") fVC <- if(missing(comp)) formatVC(varcor, digits = digits, formatter = formatter) else formatVC(varcor, digits = digits, formatter = formatter, comp = comp) print(fVC, quote = FALSE, digits = digits, ...) } .prt.grps <- function(ngrps, nobs) { cat(sprintf("Number of obs: %d, groups: ", nobs), paste(paste(names(ngrps), ngrps, sep = ", "), collapse = "; "), fill = TRUE) } ## FIXME: print header ("Warnings:\n") ? ## change position in output? comes at the very end, could get lost ... .prt.warn <- function(optinfo, summary=FALSE, ...) { if(length(optinfo) == 0) return() # currently, e.g., from refitML() ## check all warning slots: print numbers of warnings (if any) cc <- optinfo$conv$opt msgs <- unlist(optinfo$conv$lme4$messages) ## can't put nmsgs/nwarnings compactly into || expression ## because of short-circuiting nmsgs <- length(msgs) warnings <- optinfo$warnings nwarnings <- length(warnings) if (cc > 0 || nmsgs > 0 || nwarnings > 0) { if (summary) { cat(sprintf("convergence code %d; %d optimizer warnings; %d lme4 warnings", cc,nmsgs,nwarnings),"\n") } else { cat(sprintf("convergence code: %d", cc), msgs, unlist(warnings), sep="\n") cat("\n") } } } ## options(lme4.summary.cor.max = 20) --> ./hooks.R ## ~~~~~~~~ ## was .summary.cor.max <- 20 a lme4-namespace hidden global variable ## This is modeled a bit after print.summary.lm : ## Prints *both* 'mer' and 'merenv' - as it uses summary(x) mainly ##' @S3method print summary.merMod print.summary.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = c("Variance", "Std.Dev."), show.resids = TRUE, ...) { .prt.methTit(x$methTitle, x$objClass) .prt.family(x) .prt.call(x$call); cat("\n") .prt.aictab(x$AICtab); cat("\n") if (show.resids) ## need residuals.merMod() rather than residuals(): ## summary.merMod has no residuals method .prt.resids(x$residuals, digits = digits) .prt.VC(x$varcor, digits = digits, useScale = x$useScale, comp = ranef.comp, ...) .prt.grps(x$ngrps, nobs = x$devcomp$dims[["n"]]) p <- nrow(x$coefficients) if (p > 0) { cat("\nFixed effects:\n") printCoefmat(x$coefficients, zap.ind = 3, #, tst.ind = 4 digits = digits, signif.stars = signif.stars) ## do not show correlation when summary(*, correlation=FALSE) was used: hasCor <- !is.null(VC <- x$vcov) && !is.null(VC@factors$correlation) if(is.null(correlation)) { # default cor.max <- getOption("lme4.summary.cor.max") correlation <- hasCor && p <= cor.max if(!correlation && p > cor.max) { nam <- deparse(substitute(x)) if(length(nam) > 1 || nchar(nam) >= 32) nam <- "...." message(sprintf(paste( "\nCorrelation matrix not shown by default, as p = %d > %d.", "Use print(%s, correlation=TRUE) or", " vcov(%s) if you need it\n", sep = "\n"), p, cor.max, nam, nam)) } } else if(!is.logical(correlation)) stop("'correlation' must be NULL or logical") if(correlation) { if(is.null(VC)) VC <- vcov(x, correlation = TRUE) corF <- VC@factors$correlation if (is.null(corF)) { # can this still happen? message("\nCorrelation of fixed effects could have been required in summary()") corF <- cov2cor(VC) } p <- ncol(corF) if (p > 1) { rn <- rownames(x$coefficients) rns <- abbreviate(rn, minlength = 11) cat("\nCorrelation of Fixed Effects:\n") if (is.logical(symbolic.cor) && symbolic.cor) { corf <- as(corF, "matrix") dimnames(corf) <- list(rns, abbreviate(rn, minlength = 1, strict = TRUE)) print(symnum(corf)) } else { corf <- matrix(format(round(corF@x, 3), nsmall = 3), ncol = p, dimnames = list(rns, abbreviate(rn, minlength = 6))) corf[!lower.tri(corf)] <- "" print(corf[-1, -p, drop = FALSE], quote = FALSE) } ## !symbolic.cor } ## if (p > 1) } ## if (correlation) } ## if (p>0) if(length(x$fitMsgs) && any(nchar(x$fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(x$fitMsgs) } .prt.warn(x$optinfo,summary=FALSE) invisible(x) }## print.summary.merMod ##' @S3method print merMod print.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = "Std.Dev.", ...) { dims <- x@devcomp$dims .prt.methTit(methTitle(dims), class(x)) .prt.family(famlink(x, resp = x@resp)) .prt.call(x@call, long = FALSE) ## useScale <- as.logical(dims[["useSc"]]) llAIC <- llikAIC(x) .prt.aictab(llAIC$AICtab, 4) varcor <- VarCorr(x) .prt.VC(varcor, digits = digits, comp = ranef.comp, ...) ngrps <- vapply(x@flist, nlevels, 0L) .prt.grps(ngrps, nobs = dims[["n"]]) if(length(cf <- fixef(x)) > 0) { cat("Fixed Effects:\n") print.default(format(cf, digits = digits), print.gap = 2L, quote = FALSE, ...) } else cat("No fixed effect coefficients\n") fitMsgs <- .merMod.msgs(x) if(any(nchar(fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(fitMsgs) } .prt.warn(x@optinfo,summary=TRUE) invisible(x) } ##' @exportMethod show setMethod("show", "merMod", function(object) print.merMod(object)) ##' Return the deviance component list devcomp <- function(x) { .Deprecated("getME(., \"devcomp\")") stopifnot(is(x, "merMod")) x@devcomp } ##' @exportMethod getL setMethod("getL", "merMod", function(x) { .Deprecated("getME(., \"L\")") getME(x, "L") }) ##' used by tnames mkPfun <- function(diag.only = FALSE, old = TRUE, prefix = NULL){ local({ function(g,e) { mm <- outer(e,e,paste,sep = ".") if(old) { diag(mm) <- e } else { mm[] <- paste(mm,g,sep = "|") if (!is.null(prefix)) mm[] <- paste(prefix[2],mm,sep = "_") diag(mm) <- paste(e,g,sep = "|") if (!is.null(prefix)) diag(mm) <- paste(prefix[1],diag(mm),sep = "_") } mm <- if (diag.only) diag(mm) else mm[lower.tri(mm,diag = TRUE)] if(old) paste(g,mm,sep = ".") else mm } }) } ##' Construct names of individual theta/sd:cor components ##' ##' @param object a fitted model ##' @param diag.only include only diagonal elements? ##' @param old (logical) give backward-compatible results? ##' @param prefix a character vector with two elements giving the prefix ##' for diagonal (e.g. "sd") and off-diagonal (e.g. "cor") elements tnames <- function(object,diag.only = FALSE,old = TRUE,prefix = NULL) { pfun <- mkPfun(diag.only = diag.only, old = old, prefix = prefix) c(unlist(mapply(pfun, names(object@cnms), object@cnms))) } ## -> ../man/getME.Rd getME <- function(object, name, ...) UseMethod("getME") ##' Extract or Get Generalize Components from a Fitted Mixed Effects Model getME.merMod <- function(object, name = c("X", "Z","Zt", "Ztlist", "mmList", "y", "mu", "u", "b", "Gp", "Tp", "L", "Lambda", "Lambdat", "Lind", "Tlist", "A", "RX", "RZX", "sigma", "flist", "fixef", "beta", "theta", "ST", "REML", "is_REML", "n_rtrms", "n_rfacs", "N", "n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m", "cnms", "devcomp", "offset", "lower", "devfun", "glmer.nb.theta" ), ...) { if(missing(name)) stop("'name' must not be missing") ## Deal with multiple names -- "FIXME" is inefficiently redoing things if (length(name <- as.character(name)) > 1) { names(name) <- name return(lapply(name, getME, object = object)) } if(name == "ALL") ## recursively get all provided components return(sapply(eval(formals()$name), getME.merMod, object=object, simplify=FALSE)) stopifnot(is(object,"merMod")) name <- match.arg(name) rsp <- object@resp PR <- object@pp dc <- object@devcomp th <- object@theta ## cmp <- dc $ cmp cnms <- object@cnms dims <- dc $ dims Tpfun <- function(cnms) { ltsize <- function(n) n*(n+1)/2 # lower triangle size cLen <- cumsum(ltsize(lengths(cnms))) setNames(c(0, cLen), c("beg__", names(cnms))) ## such that diff( Tp ) is well-named } ## mmList. <- mmList(object) if(any(name == c("p_i", "q_i", "m_i"))) p_i <- vapply(mmList(object), ncol, 1L) ## l_i <- vapply(object@flist, nlevels, 1L) switch(name, "X" = PR$X, ## ok ? - check -- use model.matrix() method instead? "Z" = t(PR$Zt), "Zt" = PR$Zt, "Ztlist" = { getInds <- function(i) { n <- diff(object@Gp)[i] ## number of elements in this block nt <- length(cnms[[i]]) ## number of REs inds <- lapply(seq(nt), seq, to = n, by = nt) ## pull out individual RE indices inds <- lapply(inds,function(x) x + object@Gp[i]) ## add group offset } inds <- do.call(c,lapply(seq_along(cnms),getInds)) setNames(lapply(inds,function(i) PR$Zt[i,]), tnames(object,diag.only = TRUE)) }, "mmList" = mmList.merMod(object), "y" = rsp$y, "mu" = rsp$mu, "u" = object@u, "b" = crossprod(PR$Lambdat, object@u), # == Lambda %*% u "L" = PR$ L(), "Lambda" = t(PR$ Lambdat), "Lambdat" = PR$ Lambdat, "A" = PR$Lambdat %*% PR$Zt, "Lind" = PR$ Lind, "RX" = structure(PR$RX(), dimnames = list(colnames(PR$X), colnames(PR$X))), ## maybe add names elsewhere? "RZX" = structure(PR$RZX, dimnames = list(NULL, colnames(PR$X))), ## maybe add names elsewhere? "sigma" = sigma(object), "Gp" = object@Gp, "Tp" = Tpfun(cnms), # "term-wise theta pointer" "flist" = object@flist, "fixef" = fixef(object), "beta" = object@beta, "theta" = setNames(th, tnames(object)), "ST" = setNames(vec2STlist(object@theta, n = lengths(cnms)), names(cnms)), "Tlist" = { nc <- lengths(cnms) # number of columns per term nt <- length(nc) # number of random-effects terms ans <- vector("list",nt) names(ans) <- names(nc) pos <- 0L for (i in 1:nt) { # will need modification for more general Lambda nci <- nc[i] tt <- matrix(0., nci, nci) inds <- lower.tri(tt,diag=TRUE) nthi <- sum(inds) tt[lower.tri(tt, diag=TRUE)] <- th[pos + (1L:nthi)] pos <- pos + nthi ans[[i]] <- tt } ans }, "REML" = dims[["REML"]], "is_REML" = isREML(object), ## number of random-effects terms "n_rtrms" = length(cnms), ## number of random-effects grouping factors "n_rfacs" = length(object@flist), "N" = dims["N"], "n" = dims["n"], "p" = dims["p"], "q" = dims["q"], "p_i" = p_i, "l_i" = vapply(object@flist, nlevels, 1L), "q_i" = ## == p_i * l_i p_i*vapply(object@flist, nlevels, 1L), "k" = length(cnms), "m_i" = choose(p_i + 1, 2), "m" = dc$dims[["nth"]], "cnms" = cnms, "devcomp" = dc, "offset" = rsp$offset, "lower" = object@lower, "devfun" = { ## copied from refit ... DRY ... verbose <- getCall(object)$verbose; if (is.null(verbose)) verbose <- 0L devlist <- if (isGLMM(object)) { stop("getME('devfun') not yet working for GLMMs")## FIXME baseOffset <- rsp$offset nAGQ <- unname(dc$dims["nAGQ"]) list(tolPwrss= dc$cmp ["tolPwrss"], compDev = dc$dims["compDev"], nAGQ = nAGQ, lp0 = rsp$eta - baseOffset, baseOffset = baseOffset, pwrssUpdate = glmerPwrssUpdate, GQmat = GHrule(nAGQ), fac = object@flist[[1]], pp=PR, resp=rsp, u0=PR$u0, dpars=seq_along(PR$theta), verbose=verbose) } else list(pp=PR, resp=rsp, u0=PR$u0, dpars=seq_along(PR$theta), verbose=verbose) mkdevfun(rho=list2env(devlist), ## FIXME: fragile ... verbose=verbose, control=object@optinfo$control) }, ## FIXME: current version gives lower bounds for theta parameters only: ## -- these must be extended for [GN]LMMs -- give extended value including -Inf values for beta values? "glmer.nb.theta" = if(isGLMM(object) && isNBfamily(rsp$family$family)) getNBdisp(object) else NA, "..foo.." = # placeholder! stop(gettextf("'%s' is not implemented yet", sprintf("getME(*, \"%s\")", name))), ## otherwise stop(sprintf("Mixed-Effects extraction of '%s' is not available for class \"%s\"", name, class(object)))) }## {getME} ##' @importMethodsFrom Matrix t %*% crossprod diag tcrossprod ##' @importClassesFrom Matrix dgCMatrix dpoMatrix corMatrix NULL ## Extract the conditional variance-covariance matrix of the fixed-effects ## parameters vcov.merMod <- function(object, correlation = TRUE, sigm = sigma(object), use.hessian = NULL, ...) { hess.avail <- ## (1) numerical Hessian computed? (!is.null(h <- object@optinfo$derivs$Hessian) && ## (2) does Hessian include fixed-effect parameters? nrow(h) > (ntheta <- length(getME(object,"theta")))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop(shQuote("use.hessian"), "=TRUE specified, ", "but Hessian is unavailable") calc.vcov.hess <- function(h) { ## invert 2*Hessian, catching errors and forcing symmetric result ## ~= forceSymmetric(solve(h/2)[i,i]) : solve(h/2) = 2*solve(h) h <- tryCatch(solve(h), error=function(e) matrix(NA,nrow=nrow(h),ncol=ncol(h))) i <- -seq_len(ntheta) ## drop var-cov parameters h <- h[i,i] forceSymmetric(h + t(h)) } ## alternately: calculate var-cov from implicit (RX) information ## provided by fit (always the case for lmerMods) V <- sigm^2 * object@pp$unsc() if (hess.avail) { V.hess <- calc.vcov.hess(h) bad.V.hess <- any(is.na(V.hess)) if (!bad.V.hess) { ## another 'bad var-cov' check: positive definite? e.hess <- eigen(V.hess,symmetric = TRUE,only.values = TRUE)$values if (min(e.hess) <= 0) bad.V.hess <- TRUE } } if (!use.hessian && hess.avail) { ## if hessian is available, go ahead and check ## for similarity with the RX-based estimate var.hess.tol <- 1e-4 # FIXME: should var.hess.tol be user controlled? if (!bad.V.hess && any(abs(V-V.hess) > var.hess.tol * V.hess)) warning("variance-covariance matrix computed ", "from finite-difference Hessian\nand ", "from RX differ by >",var.hess.tol,": ", "consider ",shQuote("use.hessian=TRUE")) } if (use.hessian) { if (!bad.V.hess) { V <- V.hess } else { warning("variance-covariance matrix computed ", "from finite-difference Hessian is\n", "not positive definite or contains NA values: falling back to ", "var-cov estimated from RX") } } ## FIXME: try to catch non-PD matrices rr <- tryCatch(as(V, "dpoMatrix"), error = function(e)e) if (inherits(rr, "error")) { warning(gettextf("Computed variance-covariance matrix problem: %s;\nreturning NA matrix", rr$message), domain = NA) rr <- matrix(NA,nrow(V),ncol(V)) } nmsX <- colnames(object@pp$X) dimnames(rr) <- list(nmsX,nmsX) if(correlation) rr@factors$correlation <- if(!is.na(sigm)) as(rr, "corMatrix") else rr # (is NA anyway) rr } ##' @importFrom stats vcov ##' @S3method vcov summary.merMod vcov.summary.merMod <- function(object, ...) { if(is.null(object$vcov)) stop("logic error in summary of merMod object") object$vcov } ##' Make variance and correlation matrices from \code{theta} ##' ##' @param sc scale factor (residual standard deviation) ##' @param cnms component names ##' @param nc numeric vector: number of terms in each RE component ##' @param theta theta vector (lower-triangle of Cholesky factors) ##' @param nms component names (FIXME: nms/cnms redundant: nms=names(cnms)?) ##' @seealso \code{\link{VarCorr}} ##' @return A matrix ##' @export mkVarCorr <- function(sc, cnms, nc, theta, nms) { ncseq <- seq_along(nc) thl <- split(theta, rep.int(ncseq, (nc * (nc + 1))/2)) if(!all(nms == names(cnms))) ## the above FIXME warning("nms != names(cnms) -- whereas lme4-authors thought they were --\n", "Please report!", immediate. = TRUE) ans <- lapply(ncseq, function(i) { ## Li := \Lambda_i, the i-th block diagonal of \Lambda(\theta) Li <- diag(nrow = nc[i]) Li[lower.tri(Li, diag = TRUE)] <- thl[[i]] rownames(Li) <- cnms[[i]] ## val := \Sigma_i = \sigma^2 \Lambda_i \Lambda_i', the val <- tcrossprod(sc * Li) # variance-covariance stddev <- sqrt(diag(val)) corr <- t(val / stddev)/stddev diag(corr) <- 1 structure(val, stddev = stddev, correlation = corr) }) if(is.character(nms)) { ## FIXME: do we want this? Maybe not. ## Potential problem: the names of the elements of the VarCorr() list ## are not necessarily unique (e.g. fm2 from example("lmer") has *two* ## Subject terms, so the names are "Subject", "Subject". The print method ## for VarCorrs handles this just fine, but it's a little awkward if we ## want to dig out elements of the VarCorr list ... ??? if (anyDuplicated(nms)) nms <- make.names(nms, unique = TRUE) names(ans) <- nms } structure(ans, sc = sc) } ##' Extract variance and correlation components ##' VarCorr.merMod <- function(x, sigma = 1, ...) { ## TODO: now that we have '...', add type=c("varcov","sdcorr","logs" ? if (is.null(cnms <- x@cnms)) stop("VarCorr methods require reTrms, not just reModule") if(missing(sigma)) sigma <- sigma(x) nc <- lengths(cnms) # no. of columns per term structure(mkVarCorr(sigma, cnms = cnms, nc = nc, theta = x@theta, nms = { fl <- x@flist; names(fl)[attr(fl, "assign")]}), useSc = as.logical(x@devcomp$dims[["useSc"]]), class = "VarCorr.merMod") } if(FALSE)## *NOWHERE* used _FIXME_ ?? ## Compute standard errors of fixed effects from an merMod object ## ## @title Standard errors of fixed effects ## @param object "merMod" object, ## @param ... additional, optional arguments. None are used at present. ## @return numeric vector of length length(fixef(.)) unscaledVar <- function(object, ...) { stopifnot(is(object, "merMod")) sigma(object) * diag(object@pp$unsc()) } ##' @S3method print VarCorr.merMod print.VarCorr.merMod <- function(x, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", formatter = format, ...) { print(formatVC(x, digits = digits, comp = comp, formatter = formatter), quote = FALSE, ...) invisible(x) } ##' __NOT YET EXPORTED__ ##' "format()" the 'VarCorr' matrix of the random effects -- for ##' print()ing and show()ing ##' ##' @title Format the 'VarCorr' Matrix of Random Effects ##' @param varc a \code{\link{VarCorr}} (-like) matrix with attributes. ##' @param digits the number of significant digits. ##' @param comp character vector of length one or two indicating which ##' columns out of "Variance" and "Std.Dev." should be shown in the ##' formatted output. ##' @param formatter the \code{\link{function}} to be used for ##' formatting the standard deviations and or variances (but ##' \emph{not} the correlations which (currently) are always formatted ##' as "0.nnn" ##' @param ... optional arguments for \code{formatter(*)} in addition ##' to the first (numeric vector) and \code{digits}. ##' @return a character matrix of formatted VarCorr entries from \code{varc}. formatVC <- function(varcor, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", formatter = format, useScale = attr(varcor, "useSc"), ...) { c.nms <- c("Groups", "Name", "Variance", "Std.Dev.") avail.c <- c.nms[-(1:2)] if(anyNA(mcc <- pmatch(comp, avail.c))) stop("Illegal 'comp': ", comp[is.na(mcc)]) nc <- length(colnms <- c(c.nms[1:2], (use.c <- avail.c[mcc]))) if(length(use.c) == 0) stop("Must *either* show variances or standard deviations") reStdDev <- c(lapply(varcor, attr, "stddev"), if(useScale) list(Residual = unname(attr(varcor, "sc")))) reLens <- lengths(reStdDev) nr <- sum(reLens) reMat <- array('', c(nr, nc), list(rep.int('', nr), colnms)) reMat[1+cumsum(reLens)-reLens, "Groups"] <- names(reLens) reMat[,"Name"] <- c(unlist(lapply(varcor, colnames)), if(useScale) "") if(any("Variance" == use.c)) reMat[,"Variance"] <- formatter(unlist(reStdDev)^2, digits = digits, ...) if(any("Std.Dev." == use.c)) reMat[,"Std.Dev."] <- formatter(unlist(reStdDev), digits = digits, ...) if (any(reLens > 1)) { maxlen <- max(reLens) recorr <- lapply(varcor, attr, "correlation") corr <- do.call(rBind, lapply(recorr, function(x) { x <- as(x, "matrix") dig <- max(2, digits - 2) # use 'digits' ! ## not using formatter() for correlations cc <- format(round(x, dig), nsmall = dig) cc[!lower.tri(cc)] <- "" nr <- nrow(cc) if (nr >= maxlen) return(cc) cbind(cc, matrix("", nr, maxlen-nr)) }))[, -maxlen, drop = FALSE] if (nrow(corr) < nrow(reMat)) corr <- rbind(corr, matrix("", nrow(reMat) - nrow(corr), ncol(corr))) colnames(corr) <- c("Corr", rep.int("", max(0L, ncol(corr)-1L))) cbind(reMat, corr) } else reMat } ##' @S3method summary merMod summary.merMod <- function(object, correlation = (p <= getOption("lme4.summary.cor.max")), use.hessian = NULL, ...) { if (length(list(...)) > 0) { ## FIXME: need testing code warning("additional arguments ignored") } ## se.calc: hess.avail <- (!is.null(h <- object@optinfo$derivs$Hessian) && nrow(h) > length(getME(object,"theta"))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop("'use.hessian=TRUE' specified, but Hessian is unavailable") resp <- object@resp devC <- object@devcomp dd <- devC$dims ## cmp <- devC$cmp useSc <- as.logical(dd[["useSc"]]) sig <- sigma(object) ## REML <- isREML(object) famL <- famlink(resp = resp) p <- length(coefs <- fixef(object)) vc <- vcov(object, use.hessian = use.hessian) stdError <- sqrt(diag(vc)) coefs <- cbind("Estimate" = coefs, "Std. Error" = stdError) if (p > 0) { coefs <- cbind(coefs, (cf3 <- coefs[,1]/coefs[,2]), deparse.level = 0) colnames(coefs)[3] <- paste(if(useSc) "t" else "z", "value") if (isGLMM(object)) # FIXME: if "t" above, cannot have "z" here coefs <- cbind(coefs, "Pr(>|z|)" = 2*pnorm(abs(cf3), lower.tail = FALSE)) } llAIC <- llikAIC(object) ## FIXME: You can't count on object@re@flist, ## nor compute VarCorr() unless is(re, "reTrms"): varcor <- VarCorr(object) # use S3 class for now structure(list(methTitle = methTitle(dd), objClass = class(object), devcomp = devC, isLmer = is(resp, "lmerResp"), useScale = useSc, logLik = llAIC[["logLik"]], family = famL$family, link = famL$link, ngrps = ngrps(object), coefficients = coefs, sigma = sig, vcov = vcov(object, correlation = correlation, sigm = sig), varcor = varcor, # and use formatVC(.) for printing. AICtab = llAIC[["AICtab"]], call = object@call, residuals = residuals(object,"pearson",scaled = TRUE), fitMsgs = .merMod.msgs(object), optinfo = object@optinfo ), class = "summary.merMod") } ## TODO: refactor? ##' @S3method summary summary.merMod summary.summary.merMod <- function(object, varcov = TRUE, ...) { if(varcov && is.null(object$vcov)) object$vcov <- vcov(object, correlation = TRUE, sigm = object$sigma) object } ### Plots for the ranef.mer class ---------------------------------------- ##' @importFrom lattice dotplot ##' @S3method dotplot ranef.mer dotplot.ranef.mer <- function(x, data, main = TRUE, transf=I, ...) { prepanel.ci <- function(x, y, se, subscripts, ...) { if (is.null(se)) return(list()) x <- as.numeric(x) hw <- 1.96 * as.numeric(se[subscripts]) list(xlim = range(transf(x - hw), transf(x + hw), finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, horizontal = TRUE, col = dot.symbol$col, lty = dot.line$lty, lwd = dot.line$lwd, col.line = dot.line$col, levels.fos = unique(y), groups = NULL, ...) { x <- as.numeric(x) y <- as.numeric(y) dot.line <- trellis.par.get("dot.line") dot.symbol <- trellis.par.get("dot.symbol") sup.symbol <- trellis.par.get("superpose.symbol") panel.abline(h = levels.fos, col = col.line, lty = lty, lwd = lwd) panel.abline(v = 0, col = col.line, lty = lty, lwd = lwd) if (!is.null(se)) { se <- as.numeric(se[subscripts]) panel.segments( transf(x - 1.96 * se), y, transf(x + 1.96 * se), y, col = 'black') } panel.xyplot(transf(x), y, pch = pch, ...) } f <- function(nx, ...) { ss <- asDf0(x,nx) mtit <- if(main) nx # else NULL dotplot(.nn ~ values | ind, ss, se = ss$se, prepanel = prepanel.ci, panel = panel.ci, xlab = NULL, main = mtit, ...) } setNames(lapply(names(x), f, ...), names(x)) } ##' @importFrom graphics plot ##' @S3method plot ranef.mer plot.ranef.mer <- function(x, y, ...) { lapply(x, function(x) { cn <- lapply(colnames(x), as.name) switch(min(ncol(x), 3), qqmath(eval(substitute(~ x, list(x = cn[[1]]))), x, ...), xyplot(eval(substitute(y ~ x, list(y = cn[[1]], x = cn[[2]]))), x, ...), splom(~ x, ...)) }) } ##' @importFrom lattice qqmath ##' @S3method qqmath ranef.mer qqmath.ranef.mer <- function(x, data, main = TRUE, ...) { prepanel.ci <- function(x, y, se, subscripts, ...) { x <- as.numeric(x) se <- as.numeric(se[subscripts]) hw <- 1.96 * se list(xlim = range(x - hw, x + hw, finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, ...) { panel.grid(h = -1,v = -1) panel.abline(v = 0) x <- as.numeric(x) y <- as.numeric(y) se <- as.numeric(se[subscripts]) panel.segments(x - 1.96 * se, y, x + 1.96 * se, y, col = 'black') panel.xyplot(x, y, pch = pch, ...) } f <- function(nx) { xt <- x[[nx]] mtit <- if(main) nx # else NULL if (!is.null(pv <- attr(xt, "postVar"))) { d <- dim(pv) se <- vapply(seq_len(d[1]), function(i) sqrt(pv[i, i, ]), numeric(d[3])) nr <- nrow(xt) nc <- ncol(xt) ord <- unlist(lapply(xt, order)) + rep((0:(nc - 1)) * nr, each = nr) rr <- 1:nr ind <- gl(nc, nr, labels = names(xt)) xyplot(rep(qnorm((rr - 0.5)/nr), nc) ~ unlist(xt)[ord] | ind[ord], se = se[ord], prepanel = prepanel.ci, panel = panel.ci, scales = list(x = list(relation = "free")), ylab = "Standard normal quantiles", xlab = NULL, main = mtit, ...) } else { qqmath(~values|ind, stack(xt), scales = list(y = list(relation = "free")), xlab = "Standard normal quantiles", ylab = NULL, main = mtit, ...) } } sapply(names(x), f, simplify = FALSE) } ##' @importFrom graphics plot ##' @S3method plot coef.mer plot.coef.mer <- function(x, y, ...) { ## remove non-varying columns from frames reduced <- lapply(x, function(el) el[, !vapply(el, function(cc) all(cc == cc[1L]), NA)]) plot.ranef.mer(reduced, ...) } ##' @importFrom lattice dotplot ##' @S3method dotplot coef.mer dotplot.coef.mer <- function(x, data, ...) { mc <- match.call() mc[[1]] <- as.name("dotplot.ranef.mer") eval(mc) } ##' @importFrom stats weights ##' @S3method weights merMod weights.merMod <- function(object, type = c("prior","working"), ...) { type <- match.arg(type) isPrior <- type == "prior" if(!isGLMM(object) && !isPrior) stop("working weights only available for GLMMs") res <- if(isPrior) object@resp$weights else object@pp$Xwts^2 ## the working weights available through pp$Xwts should be ## equivalent to: ## object@resp$weights*(object@resp$muEta()^2)/object@resp$variance() ## however, the unit tests in tests/glmmWeights.R suggest that this ## equivalence is approximate. this may be fine, however, if the ## discrepancy is due to another instance of the general problem of ## reference class fields not being updated at the optimum, then this ## could cause real problems. see for example: ## https://github.com/lme4/lme4/issues/166 ## FIXME: what to do about missing values (see stats:::weights.glm)? ## FIXME: add unit tests return(res) } ## utility function: x is a ranef.mer object, nx is the name of an element asDf0 <- function(x,nx,id=FALSE) { xt <- x[[nx]] ss <- stack(xt) ss$ind <- factor(as.character(ss$ind), levels = colnames(xt)) ss$.nn <- rep.int(reorder(factor(rownames(xt)), xt[[1]], FUN = mean,sort = sort), ncol(xt)) if (!is.null(pv <- attr(xt, "postVar"))) ss$se <- unlist(lapply(1:(dim(pv)[1]), function(i) sqrt(pv[i, i, ]))) if (id) ss$id <- nx return(ss) } ## convert ranef object to a long-format data frame, e.g. suitable ## for ggplot2 (or homemade lattice plots) ## FIXME: have some gymnastics to do if terms, levels are different ## for different grouping variables - want to maintain ordering ## but still allow rbind()ing as.data.frame.ranef.mer <- function(x, ..., stringsAsFactors = default.stringsAsFactors()) { xL <- lapply(names(x),asDf0,x=x,id=TRUE) ## combine xD <- do.call(rbind,xL) ## rename ... oldnames <- c("values","ind",".nn","se","id") newnames <- c("condval","term","grp","condsd","grpvar") names(xD) <- newnames[match(names(xD),oldnames)] ## reorder ... neworder <- c("grpvar","term","grp","condval") if ("condsd" %in% names(xD)) neworder <- c(neworder,"condsd") return(xD[neworder]) } dim.merMod <- function(x) { getME(x, c("n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m")) } ## Internal utility, only used in optwrap() : ##' @title Get the optimizer function and check it minimally ##' @param optimizer character string ( = function name) *or* function getOptfun <- function(optimizer) { if (((is.character(optimizer) && optimizer == "optimx") || deparse(substitute(optimizer)) == "optimx") && !"package:optimx" %in% search()) stop(shQuote("optimx")," package must be loaded in order to ", "use ",shQuote('optimizer="optimx"')) optfun <- if (is.character(optimizer)) { tryCatch(get(optimizer), error = function(e) NULL) } else optimizer if (is.null(optfun)) stop("couldn't find optimizer function ",optimizer) if (!is.function(optfun)) stop("non-function specified as optimizer") needArgs <- c("fn","par","lower","control") if (anyNA(match(needArgs, names(formals(optfun))))) stop("optimizer function must use (at least) formal parameters ", paste(sQuote(needArgs), collapse = ", ")) optfun } optwrap <- function(optimizer, fn, par, lower = -Inf, upper = Inf, control = list(), adj = FALSE, calc.derivs = TRUE, use.last.params = FALSE, verbose = 0L) { ## control must be specified if adj==TRUE; ## otherwise this is a fairly simple wrapper optfun <- getOptfun(optimizer) optName <- if(is.character(optimizer)) optimizer else ## "good try": deparse(substitute(optimizer))[[1L]] lower <- rep(lower, length.out = length(par)) upper <- rep(upper, length.out = length(par)) if (adj) ## control parameter tweaks: only for second round in nlmer, glmer switch(optName, "bobyqa" = { if(!is.numeric(control$rhobeg)) control$rhobeg <- 0.0002 if(!is.numeric(control$rhoend)) control$rhoend <- 2e-7 }, "Nelder_Mead" = { if (is.null(control$xst)) { thetaStep <- 0.1 nTheta <- length(environment(fn)$pp$theta) betaSD <- sqrt(diag(environment(fn)$pp$unsc())) control$xst <- 0.2* c(rep.int(thetaStep, nTheta), pmin(betaSD, 10)) } if (is.null(control$xt)) control$xt <- control$xst*5e-4 }) switch(optName, "bobyqa" = { if(all(par == 0)) par[] <- 0.001 ## minor kludge if(!is.numeric(control$iprint)) control$iprint <- min(verbose, 3L) }, "Nelder_Mead" = control$verbose <- verbose, "nloptwrap" = control$print_level <- min(as.numeric(verbose),3L), ## otherwise: if(verbose) warning(gettextf( "'verbose' not yet passed to optimizer '%s'; consider fixing optwrap()", optName), domain = NA) ) arglist <- list(fn = fn, par = par, lower = lower, upper = upper, control = control) ## optimx: must pass method in control (?) because 'method' was previously ## used in lme4 to specify REML vs ML if (optName == "optimx") { if (is.null(method <- control$method)) stop("must specify 'method' explicitly for optimx") arglist$control$method <- NULL arglist <- c(arglist, list(method = method)) } ## FIXME: test! effects of multiple warnings?? ## may not need to catch warnings after all?? curWarnings <- list() opt <- withCallingHandlers(do.call(optfun, arglist), warning = function(w) { curWarnings <<- append(curWarnings,list(w$message)) }) ## cat("***",unlist(tail(curWarnings,1))) ## FIXME: set code to warn on convergence !=0 ## post-fit tweaking if (optName == "bobyqa") { opt$convergence <- opt$ierr } else if (optName == "optimx") { opt <- list(par = coef(opt)[1,], fvalues = opt$value[1], method = method, conv = opt$convcode[1], feval = opt$fevals + opt$gevals, message = attr(opt,"details")[,"message"][[1]]) } if ((optconv <- getConv(opt)) != 0) { wmsg <- paste("convergence code",optconv,"from",optName) if (!is.null(opt$msg)) wmsg <- paste0(wmsg,": ",opt$msg) warning(wmsg) curWarnings <<- append(curWarnings,list(wmsg)) } ## pp_before <- environment(fn)$pp ## save(pp_before,file="pp_before.RData") if (calc.derivs) { if (use.last.params) { ## +0 tricks R into doing a deep copy ... ## otherwise element of ref class changes! ## FIXME:: clunky!! orig_pars <- opt$par orig_theta <- environment(fn)$pp$theta+0 orig_pars[seq_along(orig_theta)] <- orig_theta } if (verbose > 10) cat("computing derivatives\n") derivs <- deriv12(fn,opt$par,fx = opt$value) if (use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(orig_pars) } } else derivs <- NULL if (!use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(opt$par) } structure(opt, ## store all auxiliary information optimizer = optimizer, control = control, warnings = curWarnings, derivs = derivs) } as.data.frame.VarCorr.merMod <- function(x,row.names = NULL, optional = FALSE, order = c("cov.last", "lower.tri"), ...) { order <- match.arg(order) tmpf <- function(v,grp) { vcov <- c(diag(v), v[lt.v <- lower.tri(v, diag = FALSE)]) sdcor <- c(attr(v,"stddev"), attr(v,"correlation")[lt.v]) nm <- rownames(v) n <- nrow(v) dd <- data.frame(grp = grp, var1 = nm[c(seq(n), col(v)[lt.v])], var2 = c(rep(NA,n), nm[row(v)[lt.v]]), vcov, sdcor, stringsAsFactors = FALSE) if (order=="lower.tri") { ## reorder *back* to lower.tri order m <- matrix(NA,n,n) diag(m) <- seq(n) m[lower.tri(m)] <- (n+1):(n*(n+1)/2) dd <- dd[m[lower.tri(m, diag=TRUE)],] } dd } r <- do.call(rbind, c(mapply(tmpf, x,names(x), SIMPLIFY = FALSE), deparse.level = 0)) if (attr(x,"useSc")) { ss <- attr(x,"sc") r <- rbind(r,data.frame(grp = "Residual",var1 = NA,var2 = NA, vcov = ss^2, sdcor = ss), deparse.level = 0) } rownames(r) <- NULL r } lme4/R/lmList.R0000644000176200001440000003703312771005140012706 0ustar liggesusers## List of linear models according to a grouping factor ## Extract the model formula modelFormula <- function(form) { if (!inherits(form, "formula") || length(form) != 3) stop("formula must be a two-sided formula object") rhs <- form[[3]] if (!inherits(rhs, "call") || rhs[[1]] != as.symbol('|')) stop("rhs of formula must be a conditioning expression") form[[3]] <- rhs[[2]] list(model = dropOffset(form), groups = rhs[[3]]) } dropOffset <- function(form) { ## atomic if (is.symbol(form) || is.numeric(form)) return(form) ## binary if (identical(form[[1]],quote(offset))) { NULL } else { ## unary operator if (length(form)==2) { form[[2]] <- dropOffset(form[[2]]) return(form) } nb2 <- dropOffset(form[[2]]) nb3 <- dropOffset(form[[3]]) if (is.null(nb2)) nb3 else if (is.null(nb3)) nb2 else { form[[2]] <- nb2 form[[3]] <- nb3 return(form) } } } ## dropOffset(y~x) ## dropOffset(y~x+offset(stuff)) ## dropOffset(y~-x+offset(stuff)) ## dropOffset(~-x+offset(stuff)) ##' @title List of lm Objects with a Common Model ##' @param formula a linear formula object of the form ##' \code{y ~ x1+...+xn | g}. In the formula object, \code{y} represents ##' the response, \code{x1,...,xn} the covariates, and \code{g} the ##' grouping factor specifying the partitioning of the data according to ##' which different \code{lm} fits should be performed. ##' @inheritParams lmer ##' @param family an optional family specification for a generalized ##' linear model. ##' @param pool logical scalar, should the variance estimate pool the ##' residual sums of squares ##' @param ... additional, optional arguments to be passed to the ##' model function or family evaluation. ##' @export lmList <- function(formula, data, family, subset, weights, na.action, offset, pool = TRUE, ...) { stopifnot(inherits(formula, "formula")) ## model.frame(groupedData) was problematic ... but not as we ## are currently using it. mCall <- mf <- match.call() ## in contrast to the usual R model-fitting idiom, we do **not** ## want to evaluate the model frame here; it will mess up any derived ## variables we have when we go to fit the sub-models. We were previously ## using model.frame() on the entire data set, but that does not ## exclude unused columns ... and hence screws us up when there are ## NA values in unused columns. All we need the model frame for ## is evaluating the groups. ## keep weights and offsets in case we have NAs there?? m <- match(c("formula", "data", "subset", "na.action", "weights", "offset"), names(mf), 0) mf <- mf[c(1, m)] ## substitute `+' for `|' in the formula mf$formula <- subbars(formula) mf$drop.unused.levels <- TRUE ## pass NAs for now -- want *all* groups, weights, offsets recovered mf$na.action <- na.pass mf[[1L]] <- quote(stats::model.frame) frm <- eval.parent(mf) ## <- including "..." data[["(weights)"]] <- model.weights(frm) data[["(offset)"]] <- model.offset(frm) mform <- modelFormula(formula) isGLM <- !missing(family) ## TODO in future, consider isNLM / isNLS errorH <- function(e) NULL # => NULL iff an error happened ## FIXME: catch errors and pass them on as warnings? ## (simply passing them along silently gives confusing output) groups <- eval(mform$groups, frm) if (!is.factor(groups)) groups <- factor(groups) fit <- if (isGLM) glm else lm mf2 <- if (missing(family)) NULL else list(family=family) fitfun <- function(data,formula) { tryCatch({ do.call(fit,c(list(formula, data, weights = model.weights(data), offset = model.offset(data), ...), mf2)) }, error=errorH) } ## split *original data*, not model frame, on groups frm.split <- split(data, groups) ## NB: levels() is only OK if grouping variable is a factor nms <- names(frm.split) val <- ## mapply(fitfun, lapply( frm.split,fitfun, formula = as.formula(mform$model)) use <- !sapply(val, is.null) if (nbad <- sum(!use)) warning("Fitting failed for ",nbad," group(s), probably because a factor only had one level") ## Contrary to nlme, we keep the erronous ones as well pool <- !isGLM || .hasScale(family2char(family)) new("lmList4", setNames(val, nms), call = mCall, pool = pool, groups = ordered(groups), origOrder = match(unique(as.character(groups)), nms) ) } ## (currently hidden) auxiliaries isGLMlist <- function(object, ...) { D <- getDataPart(object) length(D) >= 1 && inherits(D[[1]], "glm") } ## does a glm family have a "scale" [from stats:::logLik.glm() ] : .hasScale <- function(family) family %in% c("gaussian", "Gamma", "inverse.gaussian") family2char <- function(fam) { if(is.function(fam)) fam()$family else if(!is.character(fam)) fam$family else fam } ##' Does a lmList4 object have a "scale" / sigma / useScale ? hasScale <- function(object) !isGLMlist(object) || .hasScale(family(object[[1]])$family) ##' @importFrom stats coef ##' @S3method coef lmList4 ## Extract the coefficients and form a data.frame if possible ## FIXME: commented out nlme stuff (augFrame etc.). Restore, or delete for good ## FIXME: modified so that non-estimated values will be NA rather than set to ## coefs of first non-null estimate. Is that OK?? coef.lmList4 <- function(object, ## augFrame = FALSE, data = NULL, ##which = NULL, FUN = mean, omitGroupingFactor = TRUE, ...) { coefs <- lapply(object, coef) non.null <- !vapply(coefs, is.null, logical(1)) if (any(non.null)) { template <- coefs[non.null][[1]] ## different parameter sets may be estimated for different subsets of data ... allnames <- Reduce(union, lapply(coefs[non.null], names)) if (is.numeric(template)) { co <- matrix(NA, ncol = length(allnames), nrow = length(coefs), dimnames = list(names(object), allnames)) for (i in names(object)) { co[i,names(coefs[[i]])] <- coefs[[i]] } coefs <- as.data.frame(co) effectNames <- names(coefs) ## if(augFrame) { ## if (is.null(data)) { ## data <- getData(object) ## } ## data <- as.data.frame(data) ## if (is.null(which)) { ## which <- 1:ncol(data) ## } ## data <- data[, which, drop = FALSE] ## ## eliminating columns with same names as effects ## data <- data[, is.na(match(names(data), effectNames)), drop = FALSE] ## data <- gsummary(data, FUN = FUN, groups = getGroups(object)) ## if (omitGroupingFactor) { ## data <- data[, is.na(match(names(data), ## names(getGroupsFormula(object, ## asList = TRUE)))), ## drop = FALSE] ## } ## if (length(data) > 0) { ## coefs <- cbind(coefs, data[row.names(coefs),,drop = FALSE]) ## } ## } attr(coefs, "level") <- attr(object, "level") attr(coefs, "label") <- "Coefficients" attr(coefs, "effectNames") <- effectNames attr(coefs, "standardized") <- FALSE } ## is.numeric(template) } coefs } ### FIXME?: nlme *does* export this -- we export sigma() [instead ?] pooledSD <- function(x, allow.0.df = TRUE) { stopifnot(is(x, "lmList4")) if(!hasScale(x)) { if(allow.0.df) return(structure(1, df = NA)) ## scale := 1 if(!useScale) ## else stop("no scale, hence no pooled SD for this object") } sumsqr <- rowSums(sapply(x, function(el) { if (is.null(el)) { c(0,0) } else { res <- resid(el) c(sum(res^2), length(res) - length(coef(el))) } })) if (sumsqr[2] == 0) { ## FIXME? rather return NA with a warning ?? stop("No degrees of freedom for estimating std. dev.") } val <- sqrt(sumsqr[1]/sumsqr[2]) attr(val, "df") <- sumsqr[2] val } sigma.lmList4 <- function(object, ...) if(hasScale(object)) as.vector(pooledSD(object)) else 1 ## 1 for GLM <==> 1 when useScale is FALSE for [G]LMMs ##' @importFrom methods show ##' @exportMethod show setMethod("show", "lmList4", function(object) { mCall <- object@call cat("Call:", deparse(mCall), "\n") cat("Coefficients:\n") print(coef(object)) if (object@pool) { cat("\n") poolSD <- pooledSD(object) dfRes <- attr(poolSD, "df") RSE <- c(poolSD) cat("Degrees of freedom: ", length(unlist(lapply(object, fitted))), " total; ", dfRes, " residual\n", sep = "") cat("Residual standard error:", format(RSE)) cat("\n") } }) ##' @S3method confint lmList4 confint.lmList4 <- function(object, parm, level = 0.95, ...) { mCall <- match.call() if (length(object) < 1) return(new("lmList4.confint", array(numeric(0), c(0,0,0)))) mCall$object <- object[[1]] ## the old recursive strategy doesn't work with S3 objects -- ## calls "confint.lmList4" again instead of calling "confint" mCall[[1]] <- quote(confint) template <- eval(mCall) if(is.null(d <- dim(template))) ## MASS:::confint.profile.glm() uses drop(), giving vector d <- dim(template <- rbind("(Intercept)" = template)) template[] <- NA_real_ val <- array(template, c(d, length(object)), c(dimnames(template), list(names(object)))) pool <- list(...)$pool if (is.null(pool)) pool <- object$pool if (length(pool) > 0 && pool[1]) { ## do our own sd <- pooledSD(object) a <- (1 - level)/2 fac <- sd * qt(c(a, 1 - a), attr(sd, "df")) parm <- dimnames(template)[[1]] for (i in seq_along(object)) if(!is.null(ob.i <- object[[i]])) val[ , , i] <- coef(ob.i)[parm] + sqrt(diag(summary(object[[i]], corr = FALSE)$cov.unscaled )[parm]) %o% fac } else { ## build on confint() method for "glm" / "lm" : for (i in seq_along(object)) if(!is.null(mCall$object <- object[[i]])) { ci <- eval(mCall) if(is.null(dim(ci))) ## MASS:::confint.profile.glm() ... ci <- rbind("(Intercept)" = ci) if(identical(dim(ci), d)) val[ , , i] <- ci else ## some coefficients were not estimable val[rownames(ci), , i] <- ci } } new("lmList4.confint", aperm(val, 3:1)) } ##' @importFrom graphics plot ##' @importFrom lattice ....... ##' @S3method plot lmList4.confint plot.lmList4.confint <- function(x, y, order, ...) { ## stopifnot(require("lattice")) arr <- as(x, "array") dd <- dim(arr) dn <- dimnames(arr) levs <- dn[[1]] if (!missing(order) && (ord <- round(order[1])) %in% seq(dd[3])) levs <- levs[order(rowSums(arr[ , , ord]))] ll <- length(arr) df <- data.frame(group = ordered(rep(dn[[1]], dd[2] * dd[3]), levels = levs), intervals = as.vector(arr), what = gl(dd[3], dd[1] * dd[2], length = ll, labels = dn[[3]]), end = gl(dd[2], dd[1], length = ll)) panelfun <- function(x, y, pch = dot.symbol$pch, col = dot.symbol$col, cex = dot.symbol$cex, font = dot.symbol$font, ...) { x <- as.numeric(x) y <- as.numeric(y) ok <- !is.na(x) & !is.na(y) yy <- y[ok] xx <- x[ok] dot.symbol <- trellis.par.get("dot.symbol") dot.line <- trellis.par.get("dot.line") panel.abline(h = yy, lwd = dot.line$lwd, lty = dot.line$lty, col = dot.line$col) lpoints(xx, yy, pch = "|", col = col, cex = cex, font = font, ...) lower <- tapply(xx, yy, min) upper <- tapply(xx, yy, max) nams <- as.numeric(names(lower)) lsegments(lower, nams, upper, nams, col = col, lty = 1, lwd = if (dot.line$lwd) { dot.line$lwd } else { 2 }) } dotplot(group ~ intervals | what, data = df, scales = list(x="free"), panel=panelfun, ...) } ##' @importFrom stats update ##' @S3method update lmList4 update.lmList4 <- function(object, formula., ..., evaluate = TRUE) { call <- object@call if (is.null(call)) stop("need an object with call slot") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (evaluate) eval(call, parent.frame()) else call } ##' @importFrom stats formula ##' @S3method formula lmList4 ##' @return of class "formula" ==> as.formula() rather than just [["formula"]] formula.lmList4 <- function(x, ...) structure(x@call[["formula"]], class = "formula") ##' Get the grouping factor of an "lmList4" object ##' Important as auxiliary method for many of the nlme-imported methods: getGroups.lmList4 <- function(object, ...) object@groups ### All the other "lmList4" S3 methods are imported from nmle : ## .ns.nlme <- asNamespace("nlme") .ns.lme4 <- environment() ## == asNamespace("lme4") during build/load ## ## To do this, we need to make them use *our* namespace, e.g. to use our pooledSD() ## However, then we get from codetools : ## ## fitted.lmList4: no visible global function definition for 'getGroups' ## pairs.lmList4: no visible global function definition for 'gsummary' ## pairs.lmList4: no visible global function definition for 'getGroups' ## plot.lmList4: no visible global function definition for 'c_deparse' ## plot.lmList4: no visible global function definition for 'getGroups' ## predict.lmList4: no visible global function definition for 'getGroups' ## print.lmList4: no visible global function definition for 'c_deparse' ## qqnorm.lmList4: no visible global function definition for 'getGroups' ## qqnorm.lmList4: no visible global function definition for 'gsummary' ## residuals.lmList4: no visible global function definition for 'getGroups' ## ## which we avoid via for(fn in c("gsummary", "c_deparse")) { assign(fn, get(fn, envir = .ns.nlme, inherits=FALSE)) } for(fn in c("fitted", "fixef", "logLik", "pairs", "plot", "predict", ## "print", <- have our own show() "qqnorm", "ranef", "residuals", "summary")) { meth <- get(paste(fn, "lmList", sep="."), envir = .ns.nlme, inherits=FALSE) environment(meth) <- .ns.lme4 # e.g. in order to use *our* pooledSD() assign(paste(fn, "lmList4", sep="."), meth) } rm(fn) lme4/R/lmerControl.R0000644000176200001440000002233212764365102013747 0ustar liggesusersnamedList <- function(...) { L <- list(...) snm <- sapply(substitute(list(...)), deparse)[-1] if (is.null(nm <- names(L))) nm <- snm if (any(nonames <- nm == "")) nm[nonames] <- snm[nonames] setNames(L,nm) } ##' By extracting "checking options" from \code{nms}, this function ##' implicitly defines what "checking options" are. ##' ##' @title Extract "checking options" or "checking arguments" (-> ../man/lmerControl.Rd) ##' those starting with "check." but *not* the "check.conv.." nor "check.rankX.." ones: ##' @param nms character vector ##' @return those elements of \code{nms} which are "checking options" ##' @author Martin Maechler .get.checkingOpts <- function(nms) nms[grepl("^check\\.(?!conv|rankX|scaleX)", nms, perl=TRUE)] ##' Check check.conv.*() options and produce good error message chk.convOpt <- function(opt) { cnm <- deparse(nm <- substitute(opt))[[1]] if(!is.list(opt)) stop("check.conv* option ", cnm, " must be a list") if(!is.character(opt$action)) stop("check.conv* option ", cnm, " has no 'action' string") if(!is.numeric(tol <- opt$tol)) stop("check.conv* option ", cnm, " must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("check.conv* option ", cnm, "$tol must be number >= 0") if(!is.null(relTol <- opt$relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) invisible() } ##' Exported constructor for the user calling *lmerControl(): .makeCC <- function(action, tol, relTol, ...) { stopifnot(is.character(action), length(action) == 1) if(!is.numeric(tol)) stop("must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("'tol' must be number >= 0") mis.rt <- missing(relTol) if(!mis.rt && !is.null(relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) ## and return the list, the "..." just being appended unchecked c(list(action = action, tol = tol), if(!mis.rt) list(relTol = relTol), list(...)) } ##' Internal utility : Allow check.conv.* to be a string chk.cconv <- function(copt, callingFn) { cnm <- deparse(substitute(copt)) if(is.character(copt)) { def <- eval(formals(callingFn)[[cnm]]) def$action <- copt assign(cnm, def, envir=sys.frame(sys.parent())) } else chk.convOpt(copt) } ## DOC: ../man/lmerControl.Rd lmerControl <- function(optimizer="bobyqa",#instead of "Nelder_Mead", restart_edge=TRUE, ## don't call this "check." -- will fail ## automatic check-option-checking in ## inst/tests/test-lmer.R boundary.tol=1e-5, calc.derivs=TRUE, use.last.params=FALSE, sparseX=FALSE, ## input checking options: check.nobs.vs.rankZ="ignore", ## "warningSmall", check.nobs.vs.nlev="stop", check.nlev.gtreq.5="ignore", check.nlev.gtr.1="stop", check.nobs.vs.nRE="stop", check.rankX = c("message+drop.cols", "silent.drop.cols", "warn+drop.cols", "stop.deficient", "ignore"), check.scaleX = c("warning","stop","silent.rescale", "message+rescale","warn+rescale","ignore"), check.formula.LHS = "stop", ## convergence options check.conv.grad = .makeCC("warning", tol = 2e-3, relTol = NULL), check.conv.singular = .makeCC(action = "ignore", tol = 1e-4), check.conv.hess = .makeCC(action = "warning", tol = 1e-6), optCtrl = list() ) { ## FIXME: is there a better idiom? match.call() ? ## fill in values from options, but **only if not specified explicitly in arguments** ## (ugh ... is there a better way to do this? mapply() is clunky: ## http://stackoverflow.com/questions/16276667/using-apply-with-assign-in-r stopifnot(is.list(optCtrl)) if (!is.null(lmerOpts <- getOption("lmerControl"))) { nn <- names(lmerOpts) nn.ok <- .get.checkingOpts(names(lmerOpts)) if (length(nn.ignored <- setdiff(nn,nn.ok))>0) { warning("some options in ",shQuote("getOption('lmerControl')"), " ignored : ",paste(nn.ignored,collapse=", ")) } for (arg in nn.ok) { if (do.call(missing,list(arg))) ## only if missing from explicit arguments assign(arg,lmerOpts[[arg]]) } } check.rankX <- match.arg(check.rankX)# ==> can abbreviate check.scaleX <- match.arg(check.scaleX)# ==> can abbreviate ## compatibility and convenience, caller can specify action string only: me <- sys.function() chk.cconv(check.conv.grad, me) chk.cconv(check.conv.singular, me) chk.cconv(check.conv.hess , me) structure(namedList(optimizer, restart_edge, boundary.tol, calc.derivs, use.last.params, checkControl = namedList(check.nobs.vs.rankZ, check.nobs.vs.nlev, check.nlev.gtreq.5, check.nlev.gtr.1, check.nobs.vs.nRE, check.rankX, check.scaleX, check.formula.LHS), checkConv= namedList(check.conv.grad, check.conv.singular, check.conv.hess), optCtrl=optCtrl), class = c("lmerControl", "merControl")) } glmerControl <- function(optimizer=c("bobyqa","Nelder_Mead"), restart_edge=FALSE, boundary.tol=1e-5, calc.derivs=TRUE, use.last.params=FALSE, sparseX=FALSE, tolPwrss = 1e-7, compDev = TRUE, nAGQ0initStep = TRUE, ## input checking options check.nobs.vs.rankZ="ignore", ## "warningSmall", check.nobs.vs.nlev="stop", check.nlev.gtreq.5="ignore", check.nlev.gtr.1="stop", check.nobs.vs.nRE="stop", check.rankX = c("message+drop.cols", "silent.drop.cols", "warn+drop.cols", "stop.deficient", "ignore"), check.scaleX = "warning", check.formula.LHS="stop", check.response.not.const = "stop", ## convergence checking options check.conv.grad = .makeCC("warning", tol = 1e-3, relTol = NULL), check.conv.singular = .makeCC(action = "ignore", tol = 1e-4), check.conv.hess = .makeCC(action = "warning", tol = 1e-6), optCtrl = list()) { ## FIXME: should try to modularize/refactor/combine with lmerControl if possible ## but note different defaults ## lmer glmer ## optimizer Nelder_Mead c(Nelder_Mead,bobyqa) ## tolPwrss N/A 1e-7 ## compDev N/A TRUE ## ## (and possible future divergence) stopifnot(is.list(optCtrl)) if (length(optimizer)==1) { optimizer <- replicate(2,optimizer) # works evevn when optimizer is function } if (!is.null(glmerOpts <- getOption("glmerControl"))) { nn <- names(glmerOpts) nn.ok <- .get.checkingOpts(names(glmerOpts)) if (length(nn.ignored <- setdiff(nn,nn.ok))>0) { warning("some options in ",shQuote("getOption('glmerControl')"), " ignored : ",paste(nn.ignored,collapse=", ")) } for (arg in nn.ok) { if (do.call(missing,list(arg))) ## only if missing from explicit arguments assign(arg, glmerOpts[[arg]]) } } check.rankX <- match.arg(check.rankX)# ==> can abbreviate ## compatibility and convenience, caller can specify action string only: me <- sys.function() chk.cconv(check.conv.grad, me) chk.cconv(check.conv.singular, me) chk.cconv(check.conv.hess , me) if (use.last.params && calc.derivs) warning("using ",shQuote("use.last.params"),"=TRUE and ", shQuote("calc.derivs"),"=TRUE with ",shQuote("glmer"), " will not give backward-compatible results") structure(namedList(optimizer, calc.derivs, use.last.params, restart_edge, boundary.tol, tolPwrss, compDev, nAGQ0initStep, checkControl= namedList(check.nobs.vs.rankZ, check.nobs.vs.nlev, check.nlev.gtreq.5, check.nlev.gtr.1, check.nobs.vs.nRE, check.rankX, check.scaleX, check.formula.LHS, check.response.not.const), checkConv= namedList(check.conv.grad, check.conv.singular, check.conv.hess), optCtrl=optCtrl), class = c("glmerControl", "merControl")) } ##' @rdname lmerControl ##' @export nlmerControl <- function(optimizer="Nelder_Mead", tolPwrss = 1e-10, optCtrl = list()) { stopifnot(is.list(optCtrl)) if (length(optimizer)==1) { optimizer <- replicate(2,optimizer) } structure(namedList(optimizer, tolPwrss, optCtrl=optCtrl), class = c("nlmerControl", "merControl")) } lme4/vignettes/0000755000176200001440000000000013216511172013122 5ustar liggesuserslme4/vignettes/Theory.Rnw0000644000176200001440000015133112565075351015102 0ustar liggesusers\documentclass[12pt]{article} \usepackage{Sweave,amsmath,amsfonts,bm} \usepackage[authoryear,round]{natbib} \bibliographystyle{plainnat} \DefineVerbatimEnvironment{Sinput}{Verbatim} {formatcom={\vspace{-1ex}},fontshape=sl, fontfamily=courier,fontseries=b, fontsize=\footnotesize} \DefineVerbatimEnvironment{Soutput}{Verbatim} {formatcom={\vspace{-1ex}},fontfamily=courier,fontseries=b,% fontsize=\footnotesize} %%\VignetteIndexEntry{Computational Methods} %%\VignetteDepends{lme4} \title{Computational methods for mixed models} \author{Douglas Bates\\Department of Statistics\\% University of Wisconsin -- Madison} \begin{document} \SweaveOpts{engine=R,eps=FALSE,pdf=TRUE,strip.white=true,keep.source=TRUE} \SweaveOpts{include=FALSE} \setkeys{Gin}{width=\textwidth} \newcommand{\code}[1]{\texttt{\small{#1}}} \newcommand{\package}[1]{\textsf{\small{#1}}} \newcommand{\trans}{\ensuremath{^\prime}} \renewcommand{\vec}{\operatorname{vec}} \newcommand{\diag}{\operatorname{diag}} \newcommand{\bc}[1]{\ensuremath{\bm{\mathcal{#1}}}} <>= options(width=65,digits=5) #library(lme4) @ \maketitle \begin{abstract} The \package{lme4} package provides R functions to fit and analyze several different types of mixed-effects models, including linear mixed models, generalized linear mixed models and nonlinear mixed models. In this vignette we describe the formulation of these models and the computational approach used to evaluate or approximate the log-likelihood of a model/data/parameter value combination. \end{abstract} \section{Introduction} \label{sec:intro} The \package{lme4} package provides \code{R} functions to fit and analyze linear mixed models, generalized linear mixed models and nonlinear mixed models. These models are called \emph{mixed-effects models} or, more simply, \emph{mixed models} because they incorporate both \emph{fixed-effects} parameters, which apply to an entire population or to certain well-defined and repeatable subsets of a population, and \emph{random effects}, which apply to the particular experimental units or observational units in the study. Such models are also called \emph{multilevel} models because the random effects represent levels of variation in addition to the per-observation noise term that is incorporated in common statistical models such as linear regression models, generalized linear models and nonlinear regression models. We begin by describing common properties of these mixed models and the general computational approach used in the \package{lme4} package. The estimates of the parameters in a mixed model are determined as the values that optimize an objective function --- either the likelihood of the parameters given the observed data, for maximum likelihood (ML) estimates, or a related objective function called the REML criterion. Because this objective function must be evaluated at many different values of the model parameters during the optimization process, we focus on the evaluation of the objective function and a critical computation in this evalution --- determining the solution to a penalized, weighted least squares (PWLS) problem. The dimension of the solution of the PWLS problem can be very large, perhaps in the millions. Furthermore, such problems must be solved repeatedly during the optimization process to determine parameter estimates. The whole approach would be infeasible were it not for the fact that the matrices determining the PWLS problem are sparse and we can use sparse matrix storage formats and sparse matrix computations \citep{davis06:csparse_book}. In particular, the whole computational approach hinges on the extraordinarily efficient methods for determining the Cholesky decomposition of sparse, symmetric, positive-definite matrices embodied in the CHOLMOD library of C functions \citep{Cholmod}. % The three types of mixed models -- linear, generalized linear and % nonlinear -- share common characteristics in that the model is % specified in whole or in part by a \emph{mixed model formula} that % describes a \emph{linear predictor} and a variance-covariance % structure for the random effects. In the next section we describe % the mixed model formula and the forms of these matrices. The % following section presents a general formulation of the Laplace % approximation to the log-likelihood of a mixed model. % In subsequent sections we describe computational methods for specific % kinds of mixed models. In particular, we should how a profiled % log-likelihood for linear mixed models, and for some nonlinear mixed % models, can be evaluated exactly. In the next section we describe the general form of the mixed models that can be represented in the \package{lme4} package and the computational approach embodied in the package. In the following section we describe a particular form of mixed model, called a linear mixed model, and the computational details for those models. In the fourth section we describe computational methods for generalized linear mixed models, nonlinear mixed models and generalized nonlinear mixed models. \section{Formulation of mixed models} \label{sec:form-mixed-models} A mixed-effects model incorporates two vector-valued random variables: the $n$-dimensional response vector, $\bc Y$, and the $q$-dimensional random effects vector, $\bc B$. We observe the value, $\bm y$, of $\bc Y$. We do not observe the value of $\bc B$. The random variable $\bc Y$ may be continuous or discrete. That is, the observed data, $\bm y$, may be on a continuous scale or they may be on a discrete scale, such as binary responses or responses representing a count. In our formulation, the random variable $\bc B$ is always continous. We specify a mixed model by describing the unconditional distribution of $\bc B$ and the conditional distribution $(\bc Y|\bc B=\bm b)$. \subsection{The unconditional distribution of $\bc B$} \label{sec:uncond-distr-B} In our formulation, the unconditional distribution of $\bc B$ is always a $q$-dimensional multivariate Gaussian (or ``normal'') distribution with mean $\bm 0$ and with a parameterized covariance matrix, \begin{equation} \label{eq:2} \bc B\sim\mathcal{N}\left(\bm 0,\sigma^2\bm\Lambda(\bm\theta) \bm\Lambda\trans(\bm\theta)\right) . \end{equation} The scalar, $\sigma$, in (\ref{eq:2}), is called the \emph{common scale parameter}. As we will see later, not all types of mixed models incorporate this parameter. We will include $\sigma^2$ in the general form of the unconditional distribution of $\bc B$ with the understanding that, in some models, $\sigma\equiv 1$. The $q\times q$ matrix $\bm\Lambda(\bm\theta)$, which is a left factor of the covariance matrix (when $\sigma=1$) or the relative covariance matrix (when $\sigma\ne 1$), depends on an $m$-dimensional parameter $\bm\theta$. Typically $m\ll q$; in the examples we show below it is always the case that $m<5$, even when $q$ is in the thousands. The fact that $m$ is very small is important because, as we shall see, determining the parameter estimates in a mixed model can be expressed as an optimization problem with respect to $\bm\theta$ only. The parameter $\bm\theta$ may be, and typically is, subject to constraints. For ease of computation, we require that the constraints be expressed as ``box'' constraints of the form $\theta_{iL}\le\theta_i\le\theta_{iU},i=1,\dots,m$ for constants $\theta_{iL}$ and $\theta_{iU}, i=1,\dots,m$. We shall write the set of such constraints as $\bm\theta_L\le\bm\theta\le\bm\theta_R$. The matrix $\bm\Lambda(\bm\theta)$ is required to be non-singular (i.e.{} invertible) when $\bm\theta$ is not on the boundary. \subsection{The conditional distribution, $(\bc Y|\bc B=\bm b)$} \label{sec:cond-distr-YB} The conditional distribution, $(\bc Y|\bc B=\bm b)$, must satisfy: \begin{enumerate} \item The conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b) = \mathrm{E}[\bc Y|\bc B=\bm b]$, depends on $\bm b$ only through the value of the \emph{linear predictor}, $\bm Z\bm b+\bm X\bm\beta$, where $\bm\beta$ is the $p$-dimensional \emph{fixed-effects} parameter vector and the \emph{model matrices}, $\bm Z$ and $\bm X$, are fixed matrices of the appropriate dimension. That is, the two model matrices must have the same number of rows and must have $q$ and $p$ columns, respectively. The number of rows in $\bm Z$ and $\bm X$ is a multiple of $n$, the dimension of $\bm y$. \item The scalar distributions, $(\mathcal{Y}_i|\bc B=\bm b),i=1,\dots,n$, all have the same form and are completely determined by the conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b)$ and, at most, one additional parameter, $\sigma$, which is the common scale parameter. \item The scalar distributions, $(\mathcal{Y}_i|\bc B=\bm b),i=1,\dots,n$, are independent. That is, the components of $\bc Y$ are \emph{conditionally independent} given $\bc B$. \end{enumerate} An important special case of the conditional distribution is the multivariate Gaussian distribution of the form \begin{equation} \label{eq:1} (\bc Y|\bc B=\bm b)\sim\mathcal{N}(\bm Z\bm b+\bm X\bm\beta,\sigma^2\bm I_n) \end{equation} where $\bm I_n$ denotes the identity matrix of size $n$. In this case the conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b)$, is exactly the linear predictor, $\bm Z\bm b+\bm X\bm\beta$, a situation we will later describe as being an ``identity link'' between the conditional mean and the linear predictor. Models with conditional distribution (\ref{eq:1}) are called \emph{linear mixed models}. \subsection{A change of variable to ``spherical'' random effects} \label{sec:change-vari-spher} Because the conditional distribution $(\bc Y|\bc B=\bm b)$ depends on $\bm b$ only through the linear predictor, it is easy to express the model in terms of a linear transformation of $\bc B$. We define the linear transformation from a $q$-dimensional ``spherical'' Gaussian random variable, $\bc U$, to $\bc B$ as \begin{equation} \label{eq:3} \bc B=\bm\Lambda(\bm\theta)\bc U,\quad \bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q). \end{equation} (The term ``spherical'' refers to the fact that contours of constant probability density for $\bc U$ are spheres centered at the mean --- in this case, $\bm0$.) When $\bm\theta$ is not on the boundary this is an invertible transformation. When $\bm\theta$ is on the boundary the transformation can fail to be invertible. However, we will only need to be able to express $\bc B$ in terms of $\bc U$ and that transformation is well-defined, even when $\bm\theta$ is on the boundary. The linear predictor, as a function of $\bm u$, is \begin{equation} \label{eq:4} \bm\gamma(\bm u)=\bm Z\bm\Lambda(\bm\theta)\bm u + \bm X\bm\beta. \end{equation} When we wish to emphasize the role of the model parameters, $\bm\theta$ and $\bm\beta$, in the formulation of $\bm\gamma$, we will write the linear predictor as $\bm\gamma(\bm u,\bm\theta,\bm\beta)$. \subsection{The conditional density $(\bc U|\bc Y=\bm y)$} \label{sec:cond-dens-bc} Because we observe $\bm y$ and do not observe $\bm b$ or $\bm u$, the conditional distribution of interest, for the purposes of statistical inference, is $(\bc U|\bc Y=\bm y)$ (or, equivalently, $(\bc B|\bc Y=\bm y)$). This conditional distribution is always a continuous distribution with conditional probability density $f_{\bc U|\bc Y}(\bm u|\bm y)$. We can evaluate $f_{\bc U|\bc Y}(\bm u|\bm y)$ , up to a constant, as the product of the unconditional density, $f_{\bc U}(\bm u)$, and the conditional density (or the probability mass function, whichever is appropriate), $f_{\bc Y|\bc U}(\bm y|\bm u)$. We write this unnormalized conditional density as \begin{equation} \label{eq:5} h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma) = f_{\bc Y|\bc U}(\bm y|\bm u,\bm\theta,\bm\beta,\sigma) f_{\bc U}(\bm u|\sigma) . \end{equation} We say that $h$ is the ``unnormalized'' conditional density because all we know is that the conditional density is proportional to $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$. To obtain the conditional density we must normalize $h$ by dividing by the value of the integral \begin{equation} \label{eq:6} L(\bm\theta,\bm\beta,\sigma|\bm y) = \int_{\mathbb{R}^q}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm u . \end{equation} We write the value of the integral (\ref{eq:6}) as $L(\bm\theta,\bm\beta,\sigma|\bm y)$ because it is exactly the \emph{likelihood} of the parameters $\bm\theta$, $\bm\beta$ and $\sigma$, given the observed data $\bm y$. The \emph{maximum likelihood (ML) estimates} of these parameters are the values that maximize $L$. \subsection{Determining the ML estimates} \label{sec:DeterminingML} The general problem of maximizing $L(\bm\theta,\bm\beta,\sigma|\bm y)$ with respect to $\bm\theta$, $\bm\beta$ and $\sigma$ can be formidable because each evaluation of this function involves a potentially high-dimensional integral and because the dimension of $\bm\beta$ can be large. However, this general optimization problem can be split into manageable subproblems. Given a value of $\bm\theta$ we can determine the \emph{conditional mode}, $\tilde{\bm u}(\bm\theta)$, of $\bm u$ and the \emph{conditional estimate}, $\tilde{\bm\beta}(\bm\theta)$ simultaneously using \emph{penalized, iteratively re-weighted least squares} (PIRLS). The conditional mode and the conditional estimate are defined as \begin{equation} \label{eq:condmode} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix}=\arg\max_{\bm u,\bm\beta}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma) . \end{equation} (It may look as if we have missed the dependence on $\sigma$ on the left-hand side but it turns out that the scale parameter does not affect the location of the optimal values of quantities in the linear predictor.) As is common in such optimization problems, we re-express the conditional density on the \emph{deviance scale}, which is negative twice the logarithm of the density, where the optimization becomes \begin{equation} \label{eq:condmode2} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix}=\arg\min_{\bm u,\bm\beta}-2\log\left(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\right) . \end{equation} It is this optimization problem that can be solved quite efficiently using PIRLS. In fact, for linear mixed models, which are described in the next section, $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ can be directly evaluated. The second-order Taylor series expansion of $-2\log h$ at $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ provides the Laplace approximation to the profiled deviance. Optimizing this function with respect to $\bm\theta$ provides the ML estimates of $\bm\theta$, from which the ML estimates of $\bm\beta$ and $\sigma$ (if used) are derived. \section{Methods for linear mixed models} \label{sec:pwls-problem} As indicated in the introduction, a critical step in our methods for determining the maximum likelihood estimates of the parameters in a mixed model is solving a penalized, weighted least squares (PWLS) problem. We will motivate the general form of the PWLS problem by first considering computational methods for linear mixed models that result in a penalized least squares (PLS) problem. Recall from \S\ref{sec:cond-distr-YB} that, in a linear mixed model, both the conditional distribution, $(\bc Y|\bc U=\bm u)$, and the unconditional distribution, $\bc U$, are spherical Gaussian distributions and that the conditional mean, $\bm\mu_{\bc Y|\bc U}(\bm u)$, is the linear predictor, $\bm\gamma(\bm u)$. Because all the distributions determining the model are continuous distributions, we consider their densities. On the deviance scale these are \begin{equation} \label{eq:7} \begin{aligned} -2\log(f_{\bc U}(\bm u))&=q\log(2\pi\sigma^2)+\frac{\|\bm u\|^2}{\sigma^2}\\ -2\log(f_{\bc Y|\bc U}(\bm y|\bm u))&=n\log(2\pi\sigma^2)+ \frac{\|\bm y-\bm Z\bm\Lambda(\bm\theta)\bm u-\bm X\bm\beta\|^2}{\sigma^2}\\ -2\log(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)) &= (n+q)\log(2\pi\sigma^2)+ \frac{\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2+\|\bm u\|^2}{\sigma^2}\\ &= (n+q)\log(2\pi\sigma^2)+ \frac{d(\bm u|\bm y,\bm\theta,\bm\beta)}{\sigma^2} \end{aligned} \end{equation} In (\ref{eq:7}) the \emph{discrepancy} function, \begin{equation} \label{eq:9} d(\bm u|\bm y,\bm\theta,\bm\beta) = \|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2+\|\bm u\|^2 \end{equation} has the form of a penalized residual sum of squares in that the first term, $\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2$ is the residual sum of squares for $\bm y$, $\bm u$, $\bm\theta$ and $\bm\beta$ and the second term, $\|\bm u\|^2$, is a penalty on the size of $\bm u$. Notice that the discrepancy does not depend on the common scale parameter, $\sigma$. \subsection{The canonical form of the discrepancy} \label{sec:conditional-mode-bm} Using a so-called ``pseudo data'' representation, we can write the discrepancy as a residual sum of squares for a regression model that is linear in both $\bm u$ and $\bm\beta$ \begin{equation} \label{eq:10} d(\bm u|\bm y,\bm\theta,\bm\beta) =\left\| \begin{bmatrix} \bm y\\\bm 0 \end{bmatrix} - \begin{bmatrix} \bm Z\bm\Lambda(\bm\theta) & \bm X \\ \bm I_q & \bm0 \end{bmatrix} \begin{bmatrix}\bm u\\\bm\beta\end{bmatrix} \right\|^2 . \end{equation} The term ``pseudo data'' reflects the fact that we have added $q$ ``pseudo observations'' to the observed response, $\bm y$, and to the linear predictor, $\bm\gamma(\bm u,\bm\theta,\bm\beta)=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\beta$, in such a way that their contribution to the overall residual sum of squares is exactly the penalty term in the discrepancy. In the form (\ref{eq:10}) we can see that the discrepancy is a quadratic form in both $\bm u$ and $\bm\beta$. Furthermore, because we require that $\bm X$ has full column rank, the discrepancy is a positive-definite quadratic form in $\bm u$ and $\bm\beta$ that is minimized at $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ satisfying \begin{equation} \label{eq:13} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm y\\ \bm X\trans\bm y \end{bmatrix} \end{equation} An effective way of determining the solution to a sparse, symmetric, positive definite system of equations such as (\ref{eq:13}) is the sparse Cholesky decomposition \citep{davis06:csparse_book}. If $\bm A$ is a sparse, symmetric positive definite matrix then the sparse Cholesky factor with fill-reducing permutation $\bm P$ is the lower-triangular matrix $\bm L$ such that \begin{equation} \label{eq:14} \bm L\bm L\trans=\bm P\bm A\bm P\trans . \end{equation} (Technically, the factor $\bm L$ is only determined up to changes in the sign of the diagonal elements. By convention we require the diagonal elements to be positive.) The fill-reducing permutation represented by the permutation matrix $\bm P$, which is determined from the pattern of nonzeros in $\bm A$ but does not depend on particular values of those nonzeros, can have a profound impact on the number of nonzeros in $\bm L$ and hence on the speed with which $\bm L$ can be calculated from $\bm A$. In most applications of linear mixed models the matrix $\bm Z\bm\Lambda(\bm\theta)$ is sparse while $\bm X$ is dense or close to it so the permutation matrix $\bm P$ can be restricted to the form \begin{equation} \label{eq:15} \bm P=\begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix} \end{equation} without loss of efficiency. In fact, in most cases we can set $\bm P_{\bm X}=\bm I_p$ without loss of efficiency. Let us assume that the permutation matrix is required to be of the form (\ref{eq:15}) so that we can write the Cholesky factorization for the positive definite system (\ref{eq:13}) as \begin{multline} \label{eq:16} \begin{bmatrix} \bm L_{\bm Z}&\bm0\\\bm L_{\bm{XZ}}&\bm L_{\bm X} \end{bmatrix} \begin{bmatrix} \bm L_{\bm Z}&\bm0\\\bm L_{\bm{XZ}}&\bm L_{\bm X} \end{bmatrix}\trans =\\ \begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix}\trans . \end{multline} The discrepancy can now be written in the canonical form \begin{equation} \label{eq:17} d(\bm u|\bm y,\bm\theta,\bm\beta) =\tilde{d}(\bm y,\bm\theta) + \left\| \begin{bmatrix} \bm L_{\bm Z}\trans&\bm L_{\bm{XZ}}\trans\\ \bm 0&\bm L_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm P_{\bm Z}(\bm u-\tilde{\bm u})\\ \bm P_{\bm X}(\bm\beta-\tilde{\bm\beta}) \end{bmatrix} \right\|^2 \end{equation} where \begin{equation} \label{eq:18} \tilde{d}(\bm y,\bm\theta)= d(\tilde{\bm u}(\bm\theta)|\bm y,\bm\theta,\tilde{\bm\beta}(\bm\theta)) \end{equation} is the minimum discrepancy, given $\bm\theta$. \subsection{The profiled likelihood for linear mixed models} \label{sec:prof-log-likel} Substituting (\ref{eq:17}) into (\ref{eq:7}) provides the unnormalized conditional density $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$ on the deviance scale as \begin{multline} \label{eq:32} -2\log(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma))\\= (n+q)\log(2\pi\sigma^2)+\frac{\tilde{d}(\bm y,\bm\theta) + \left\| \begin{bmatrix} \bm L_{\bm Z}\trans&\bm L_{\bm{XZ}}\trans\\ \bm 0&\bm L_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm P_{\bm Z}(\bm u-\tilde{\bm u})\\ \bm P_{\bm X}(\bm\beta-\tilde{\bm\beta}) \end{bmatrix} \right\|^2}{\sigma^2} . \end{multline} As shown in Appendix \ref{sec:integr-quadr-devi}, the integral of a quadratic form on the deviance scale, such as (\ref{eq:32}), is easily evaluated, providing the log-likelihood, $\ell(\bm\theta,\bm\beta,\sigma|\bm y)$, as \begin{multline} \label{eq:lmmdev} -2\ell(\bm\theta,\bm\beta,\sigma|\bm y)\\ =-2\log\left(L(\bm\theta,\bm\beta,\sigma|\bm y)\right)\\ =n\log(2\pi\sigma^2)+\log(|\bm L_{\bm Z}|^2)+\frac{\tilde{d}(\bm y,\bm\theta) + \left\|\bm L_{\bm X}\trans\bm P_{\bm X}(\bm\beta-\tilde{\bm\beta})\right\|^2}{\sigma^2}, \end{multline} from which we can see that the conditional estimate of $\bm\beta$, given $\bm\theta$, is $\tilde{\bm\beta}(\bm\theta)$ and the conditional estimate of $\sigma$, given $\bm\theta$, is \begin{equation} \label{eq:condsigma} \tilde{\sigma^2}(\bm\theta)= \frac{\tilde{d}(\bm\theta|\bm y)}{n} . \end{equation} Substituting these conditional estimates into (\ref{eq:lmmdev}) produces the \emph{profiled likelihood}, $\tilde{L}(\bm\theta|\bm y)$, as \begin{equation} \label{eq:19} -2\tilde{\ell}(\bm\theta|\bm y))= \log(|\bm L_{\bm Z}(\bm\theta)|^2)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) . \end{equation} The maximum likelihood estimate of $\bm\theta$ can then be expressed as \begin{equation} \label{eq:29} \widehat{\bm\theta}_L=\arg\min_{\bm\theta} \left(-2\tilde{\ell}(\bm\theta|\bm y)\right) . \end{equation} from which the ML estimates of $\sigma^2$ and $\bm\beta$ are evaluated as \begin{align} \label{eq:30} \widehat{\sigma^2_L}&= \frac{\tilde{d}(\widehat{\bm\theta}_L,\bm y)}{n}\\ \widehat{\bm\beta}_L&=\tilde{\bm\beta}(\widehat{\bm\theta}_L) . \end{align} The important thing to note about optimizing the profiled likelihood, (\ref{eq:19}), is that it is a $m$-dimensional optimization problem and typically $m$ is very small. \subsection{The REML criterion} \label{sec:reml-criterion} In practice the so-called REML estimates of variance components are often preferred to the maximum likelihood estimates. (``REML'' can be considered to be an acronym for ``restricted'' or ``residual'' maximum likelihood, although neither term is completely accurate because these estimates do not maximize a likelihood.) We can motivate the use of the REML criterion by considering a linear regression model, \begin{equation} \label{eq:20} \bc Y\sim\mathcal{N}(\bm X\bm\beta,\sigma^2\bm I_n), \end{equation} in which we typically estimate $\sigma^2$ by \begin{equation} \label{eq:21} \widehat{\sigma^2_R}=\frac{\|\bm y-\bm X\widehat{\bm\beta}\|^2}{n-p} \end{equation} even though the maximum likelihood estimate of $\sigma^2$ is \begin{equation} \label{eq:22} \widehat{\sigma^2_{L}}=\frac{\|\bm y-\bm X\widehat{\bm\beta}\|^2}{n} . \end{equation} The argument for preferring $\widehat{\sigma^2_R}$ to $\widehat{\sigma^2_{L}}$ as an estimate of $\sigma^2$ is that the numerator in both estimates is the sum of squared residuals at $\widehat{\bm\beta}$ and, although the residual vector $\bm y-\bm X\bm\beta$ is an $n$-dimensional vector, the residual at $\widehat{\bm\theta}$ satisfies $p$ linearly independent constraints, $\bm X\trans(\bm y-\bm X\widehat{\bm\beta})=\bm 0$. That is, the residual at $\widehat{\bm\theta}$ is the projection of the observed response vector, $\bm y$, into an $(n-p)$-dimensional linear subspace of the $n$-dimensional response space. The estimate $\widehat{\sigma^2_R}$ takes into account the fact that $\sigma^2$ is estimated from residuals that have only $n-p$ \emph{degrees of freedom}. The REML criterion for determining parameter estimates $\widehat{\bm\theta}_R$ and $\widehat{\sigma_R^2}$ in a linear mixed model has the property that these estimates would specialize to $\widehat{\sigma^2_R}$ from (\ref{eq:21}) for a linear regression model. Although not usually derived in this way, the REML criterion can be expressed as \begin{equation} \label{eq:23} c_R(\bm\theta,\bm\sigma|\bm y)=-2\log \int_{\mathbb{R}^p}L(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm\beta \end{equation} on the deviance scale. The REML estimates $\widehat{\bm\theta}_R$ and $\widehat{\sigma_R^2}$ minimize $c_R(\bm\theta,\bm\sigma|\bm y)$. The profiled REML criterion, a function of $\bm\theta$ only, is \begin{equation} \label{eq:24} \tilde{c}_R(\bm\theta|\bm y)= \log(|\bm L_{\bm Z}(\bm\theta)|^2|\bm L_{\bm X}(\bm\theta)|^2)+(n-p) \left(1+\log\left(\frac{2\pi\tilde{d}(\bm\theta|\bm y)}{n-p}\right)\right) \end{equation} and the REML estimate of $\bm\theta$ is \begin{equation} \label{eq:31} \widehat{\bm\theta}_R = \arg\min_{\bm\theta}\tilde{c}_R(\bm\theta,\bm y) . \end{equation} The REML estimate of $\sigma^2$ is $\widehat{\sigma^2_R}=\tilde{d}(\widehat{\bm\theta}_R|\bm y)/(n-p)$. It is not entirely clear how one would define a ``REML estimate'' of $\bm\beta$ because the REML criterion, $c_R(\bm\theta,\bm\sigma|\bm y)$, defined in (\ref{eq:23}), does not depend on $\bm\beta$. However, it is customary (and not unreasonable) to use $\widehat{\bm\beta}_R=\tilde{\bm\beta}(\widehat{\bm\theta}_R)$ as the REML estimate of $\bm\beta$. Note that the profiled REML criterion can be evaluated from a sparse Cholesky decomposition like that in (\ref{eq:16}) but without the requirement that the permutation can be applied to the columns of $\bm Z\bm\Lambda(\bm\theta)$ separately from the columnns of $\bm X$. That is, we can use a general fill-reducing permutation rather than the specific form (\ref{eq:15}) with separate permutations represented by $\bm P_{\bm Z}$ and $\bm P_{\bm X}$. This can be useful in cases where both $\bm Z$ and $\bm X$ are large and sparse. \subsection{Summary for linear mixed models} \label{sec:lmmsummary} A linear mixed model is characterized by the conditional distribution \begin{equation} \label{eq:lmmcond} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm\gamma(\bm u,\bm\theta,\bm\beta),\sigma^2\bm I_n)\text{ where } \bm\gamma(\bm u,\bm\theta,\bm\beta)=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\beta \end{equation} and the unconditional distribution $\bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q)$. The discrepancy function, \begin{displaymath} d(\bm u|\bm y,\bm\theta,\bm\beta)= \left\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\right\|^2+\|\bm u\|^2, \end{displaymath} is minimized at the conditional mode, $\tilde{\bm u}(\bm\theta)$, and the conditional estimate, $\tilde{\bm\beta}(\bm\theta)$, which are the solutions to the sparse, positive-definite linear system \begin{displaymath} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm y\\ \bm X\trans\bm y \end{bmatrix} . \end{displaymath} In the process of solving this system we create the sparse left Cholesky factor, $L_{\bm Z}(\bm\theta)$, which is a lower triangular sparse matrix satisfying \begin{displaymath} \bm L_{\bm Z}(\bm\theta)\bm L_{\bm Z}(\bm\theta)\trans=\bm P_{\bm Z}\left(\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)+\bm I_q\right)\bm P_{\bm Z}\trans \end{displaymath} where $\bm P_{\bm Z}$ is a permutation matrix representing a fill-reducing permutation formed from the pattern of nonzeros in $\bm Z\bm\Lambda(\bm\theta)$ for any $\bm\theta$ not on the boundary of the parameter region. (The values of the nonzeros depend on $\bm\theta$ but the pattern doesn't.) The profiled log-likelihood, $\tilde{\ell}(\bm\theta|\bm y)$, is \begin{displaymath} -2\tilde{\ell}(\bm\theta|\bm y)= \log(|\bm L_{\bm Z}(\bm\theta)|^2)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) \end{displaymath} where $\tilde{d}(\bm y,\bm\theta)=d(\tilde{\bm u}(\bm\theta)|\bm y,\tilde{\bm\beta}(\bm\theta),\bm\theta)$. \section{Generalizing the discrepancy function} \label{sec:generalizations} Because one of the factors influencing the choice of implementation for linear mixed models is the extent to which the methods can also be applied to other mixed models, we describe several other classes of mixed models before discussing the implementation details for linear mixed models. At the core of our methods for determining the maximum likelihood estimates (MLEs) of the parameters in the mixed model are methods for minimizing the discrepancy function with respect to the coefficients $\bm u$ and $\bm\beta$ in the linear predictor $\bm\gamma(\bm u,\bm\theta,\bm\beta)$. In this section we describe the general form of the discrepancy function that we will use and a penalized iteratively reweighted least squares (PIRLS) algorithm for determining the conditional modes $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$. We then describe several types of mixed models and the form of the discrepancy function for each. \subsection{A weighted residual sum of squares} \label{sec:weighted} As shown in \S\ref{sec:conditional-mode-bm}, the discrepancy function for a linear mixed model has the form of a penalized residual sum of squares from a linear model (\ref{eq:10}). In this section we generalize that definition to \begin{equation} \label{eq:11} d(\bm u|\bm y,\bm\theta,\bm\beta) =\left\|\bm W^{1/2}(\bm\mu) \left[\bm y-\bm\mu_{\bc Y|\bc U}(\bm u,\bm\theta,\bm\beta)\right]\right\|^2+ \|\bm 0-\bm u\|^2 . \end{equation} where $\bm W$ is an $n\times n$ diagonal matrix, called the \emph{weights matrix}, with positive diagonal elements and $\bm W^{1/2}$ is the diagonal matrix with the square roots of the weights on the diagonal. The $i$th weight is inversely proportional to the conditional variances of $(\mathcal{Y}|\bc U=\bm u)$ and may depend on the conditional mean, $\bm\mu_{\bc Y|\bc U}$. We allow the conditional mean to be a nonlinear function of the linear predictor, but with certain restrictions. We require that the mapping from $\bm u$ to $\bm\mu_{\bc Y|\bc U=\bm u}$ be expressed as \begin{equation} \label{eq:uGammaEtaMu} \bm u\;\rightarrow\;\bm\gamma\;\rightarrow\;\bm\eta\;\rightarrow\;\bm\mu \end{equation} where $\bm\gamma=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\theta$ is an $ns$-dimensional vector ($s > 0$) while $\bm\eta$ and $\bm\mu$ are $n$-dimensional vectors. The map $\bm\eta\rightarrow\bm\mu$ has the property that $\mu_i$ depends only on $\eta_i$, $i=1,\dots,n$. The map $\bm\gamma\rightarrow\bm\eta$ has a similar property in that, if we write $\bm\gamma$ as an $n\times s$ matrix $\bm\Gamma$ such that \begin{equation} \label{eq:vecGamma} \bm\gamma=\vec{\bm\Gamma} \end{equation} (i.e.{} concatenating the columns of $\bm\Gamma$ produces $\bm\gamma$) then $\eta_i$ depends only on the $i$th row of $\bm\Gamma$, $i=1,\dots,n$. Thus the Jacobian matrix $\frac{d\bm\mu}{d\bm\eta\trans}$ is an $n\times n$ diagonal matrix and the Jacobian matrix $\frac{d\bm\eta}{d\bm\gamma\trans}$ is the horizontal concatenation of $s$ diagonal $n\times n$ matrices. For historical reasons, the function that maps $\eta_i$ to $\mu_i$ is called the \emph{inverse link} function and is written $\mu=g^{-1}(\eta)$. The \emph{link function}, naturally, is $\eta=g(\mu)$. When applied component-wise to vectors $\bm\mu$ or $\bm\eta$ we write these as $\bm\eta=\bm g(\bm\mu)$ and $\bm\mu=\bm g^{-1}(\bm\eta)$. Recall that the conditional distribution, $(\mathcal{Y}_i|\bc U=\bm u)$, is required to be independent of $(\mathcal{Y}_j|\bc U=\bm u)$ for $i,j=1,\dots,n,\,i\ne j$ and that all the component conditional distributions must be of the same form and differ only according to the value of the conditional mean. Depending on the family of the conditional distributions, the allowable values of the $\mu_i$ may be in a restricted range. For example, if the conditional distributions are Bernoulli then $0\le\mu_i\le1,i=1,\dots,n$. If the conditional distributions are Poisson then $0\le\mu_i,i=1,\dots,n$. A characteristic of the link function, $g$, is that it must map the restricted range to an unrestricted range. That is, a link function for the Bernoulli distribution must map $[0,1]$ to $[-\infty,\infty]$ and must be invertible within the range. The mapping from $\bm\gamma$ to $\bm\eta$ is defined by a function $m:\mathbb{R}^s\rightarrow\mathbb{R}$, called the \emph{nonlinear model} function, such that $\eta_i=m(\bm\gamma_i),i=1,\dots,n$ where $\bm\gamma_i$ is the $i$th row of $\bm\Gamma$. The vector-valued function is $\bm\eta=\bm m(\bm\gamma)$. Determining the conditional modes, $\tilde{\bm u}(\bm y|\bm\theta)$, and $\tilde{\bm\beta}(\bm y|\bm\theta)$, that jointly minimize the discrepancy, \begin{equation} \label{eq:12} \begin{bmatrix} \tilde{\bm u}(\bm y|\bm\theta)\\ \tilde{\bm\beta}(\bm y|\bm\theta) \end{bmatrix} =\arg\min_{\bm u,\bm\beta}\left[(\bm y-\bm\mu)\trans\bm W(\bm y-\bm\mu)+\|\bm u\|^2\right] \end{equation} becomes a weighted, nonlinear least squares problem except that the weights, $\bm W$, can depend on $\bm\mu$ and, hence, on $\bm u$ and $\bm\beta$. In describing an algorithm for linear mixed models we called $\tilde{\bm\beta}(\bm\theta)$ the \emph{conditional estimate}. That name reflects that fact that this is the maximum likelihood estimate of $\bm\beta$ for that particular value of $\bm\theta$. Once we have determined the MLE, $\widehat(\bm\theta)_L$ of $\bm\theta$, we have a ``plug-in'' estimator, $\widehat{\bm\beta}_L=\tilde{\bm\beta}(\bm\theta)$ for $\bm\beta$. This property does not carry over exactly to other forms of mixed models. The values $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ are conditional modes in the sense that they are the coefficients in $\bm\gamma$ that jointly maximize the unscaled conditional density $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$. Here we are using the adjective ``conditional'' more in the sense of conditioning on $\bc Y=\bm y$ than in the sense of conditioning on $\bm\theta$, although these values are determined for a fixed value of $\bm\theta$. \subsection{The PIRLS algorithm for $\tilde{\bm u}$ and $\tilde{\bm\beta}$} \label{sec:pirls-algor-tild} The penalized, iteratively reweighted, least squares (PIRLS) algorithm to determine $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ is a form of the Fisher scoring algorithm. We fix the weights matrix, $\bm W$, and use penalized, weighted, nonlinear least squares to minimize the penalized, weighted residual sum of squares conditional on these weights. Then we update the weights to those determined by the current value of $\bm\mu$ and iterate. To describe this algorithm in more detail we will use parenthesized superscripts to denote the iteration number. Thus $\bm u^{(0)}$ and $\bm\beta^{(0)}$ are the initial values of these parameters, while $\bm u^{(i)}$ and $\bm\beta^{(i)}$ are the values at the $i$th iteration. Similarly $\bm\gamma^{(i)}=\bm Z\bm\Lambda(\bm\theta)\bm u^{(i)}+\bm X\bm\beta^{(i)}$, $\bm\eta^{(i)}=\bm m(\bm\gamma^{(i)})$ and $\bm\mu^{(i)}=\bm g^{-1}(\bm\eta^{(i)})$. We use a penalized version of the Gauss-Newton algorithm \citep[ch.~2]{bateswatts88:_nonlin} for which we define the weighted Jacobian matrices \begin{align} \label{eq:Jacobian} \bm U^{(i)}&=\bm W^{1/2}\left.\frac{d\bm\mu}{d\bm u\trans}\right|_{\bm u=\bm u^{(i)},\bm\beta=\bm\beta^{(i)}}=\bm W^{1/2} \left.\frac{d\bm\mu}{d\bm\eta\trans}\right|_{\bm\eta^{(i)}} \left.\frac{d\bm\eta}{d\bm\gamma\trans}\right|_{\bm\gamma^{(i)}} \bm Z\bm\Lambda(\bm\theta)\\ \bm V^{(i)}&=\bm W^{1/2}\left.\frac{d\bm\mu}{d\bm\beta\trans}\right|_{\bm u=\bm u^{(i)},\bm\beta=\bm\beta^{(i)}}=\bm W^{1/2} \left.\frac{d\bm\mu}{d\bm\eta\trans}\right|_{\bm\eta^{(i)}} \left.\frac{d\bm\eta}{d\bm\gamma\trans}\right|_{\bm\gamma^{(i)}} \bm X \end{align} of dimension $n\times q$ and $n\times p$, respectively. The increments at the $i$th iteration, $\bm\delta_{\bm u}^{(i)}$ and $\bm\delta_{\bm\beta}^{(i)}$, are the solutions to \begin{equation} \label{eq:PNLSinc} \begin{bmatrix} {\bm U^{(i)}}\trans\bm U^{(i)}+\bm I_q&{\bm U^{(i)}}\trans\bm V^{(i)}\\ {\bm V^{(i)}}\trans\bm U^{(i)}&{\bm V^{(i)}}\trans\bm V^{(i)} \end{bmatrix} \begin{bmatrix} \bm\delta_{\bm u}^{(i)}\\ \bm\delta_{\bm\beta}^{(i)} \end{bmatrix} = \begin{bmatrix} {\bm U^{(i)}}\trans\bm W^{1/2}(\bm y-\bm\mu^{(i)})-\bm u^{(i)}\\ {\bm U^{(i)}}\trans\bm W^{1/2}(\bm y-\bm\mu^{(i)}) \end{bmatrix} \end{equation} providing the updated parameter values \begin{equation} \label{eq:33} \begin{bmatrix}\bm u^{(i+1)}\\\bm\beta^{(i+1)}\end{bmatrix}= \begin{bmatrix}\bm u^{(i)}\\\bm\beta^{(i)}\end{bmatrix}+\lambda \begin{bmatrix}\bm\delta_{\bm u}^{(i)}\\\bm\delta_{\bm\beta}^{(i)} \end{bmatrix} \end{equation} where $\lambda>0$ is a step factor chosen to ensure that \begin{equation} \label{eq:34} (\bm y-\bm\mu^{(i+1)})\trans\bm W(\bm y-\bm\mu^{(i+1)})+\|\bm u^{(i+1)}\|^2 < (\bm y-\bm\mu^{(i)})\trans\bm W(\bm y-\bm\mu^{(i)})+\|\bm u^{(i)}\|^2 . \end{equation} In the process of solving for the increments we form the sparse, lower triangular, Cholesky factor, $\bm L^{(i)}$, satisfying \begin{equation} \label{eq:35} \bm L^{(i)} {\bm L^{(i)}}\trans = \bm P_{\bm Z}\left({\bm U^{(i)}}\trans\bm U^{(i)}+ \bm I_n\right)\bm P_{\bm Z}\trans . \end{equation} After each successful iteration, determining new values of the coefficients, $\bm u^{(i+1)}$ and $\bm\beta^{(i+1)}$, that reduce the penalized, weighted residual sum of squqres, we update the weights matrix to $\bm W(\bm\mu^{(i+1)})$ and the weighted Jacobians, $\bm U^{(i+1)}$ and $\bm V^{(i+1)}$, then iterate. Convergence is determined according to the orthogonality convergence criterion~\citep[ch.~2]{bateswatts88:_nonlin}, suitably adjusted for the weights matrix and the penalty. \subsection{Weighted linear mixed models} \label{sec:weightedLMM} One of the simplest generalizations of linear mixed models is a weighted linear mixed model where $s=1$, the link function, $g$, and the nonlinear model function, $m$, are both the identity, the weights matrix, $\bm W$, is constant and the conditional distribution family is Gaussian. That is, the conditional distribution can be written \begin{equation} \label{eq:weightedLMM} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm\gamma(\bm u,\bm\theta,\bm\beta),\sigma^2\bm W^{-1}) \end{equation} with discrepancy function \begin{equation} \label{eq:wtddisc} d(\bm u|\bm y,\bm\theta,\bm\beta)=\left\|\bm W^{1/2}(\bm y-\bm Z\bm\Lambda(\bm\theta)\bm u-\bm X\bm\theta)\right\|^2+\|\bm u\|^2 . \end{equation} The conditional mode, $\tilde{\bm u}(\bm\theta)$, and the conditional estimate, $\tilde{\bm\beta}(\bm\theta)$, are the solutions to \begin{equation} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm X\\ \bm X\trans\bm W\bm Z\bm\Lambda(\theta) &\bm X\trans\bm W\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm y\\ \bm X\trans\bm W\bm y \end{bmatrix} , \end{equation} which can be solved directly, and the Cholesky factor, $\bm L_{\bm Z}(\bm\theta)$, satisfies \begin{equation} \bm L_{\bm Z}(\bm\theta)\bm L_{\bm Z}(\bm\theta)\trans=\bm P_{\bm Z}\left(\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm Z\bm\Lambda(\theta)+\bm I_q\right)\bm P_{\bm Z}\trans . \end{equation} The profiled log-likelihood, $\tilde{\ell}(\bm\theta|\bm y)$, is \begin{equation} \label{eq:wtdprofilelik} -2\tilde{\ell}(\bm\theta|\bm y)= \log\left(\frac{|\bm L_{\bm Z}(\bm\theta)|^2}{|\bm W|}\right)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) . \end{equation} If the matrix $\bm W$ is fixed then we can ignore the term $|\bm W|$ in (\ref{eq:wtdprofilelik}) when determining the MLE, $\widehat{\bm\theta}_L$. However, in some models, we use a parameterized weight matrix, $\bm W(\bm\phi)$, and wish to determine the MLEs, $\widehat{\bm\phi}_L$ and $\widehat{\bm\theta}_L$ simultaneously. In these cases we must include the term involving $|\bm W(\bm\phi)|$ when evaluating the profiled log-likelihood. Note that we must define the parameterization of $\bm W(\bm\phi)$ such that $\sigma^2$ and $\bm\phi$ are not a redundant parameterization of $\sigma^2\bm W(\bm\phi)$. For example, we could require that the first diagonal element of $\bm W$ be unity. \subsection{Nonlinear mixed models} \label{sec:NLMMs} In an unweighted, nonlinear mixed model the conditional distribution is Gaussian, the link, $g$, is the identity and the weights matrix, $\bm W=\bm I_n$. That is, \begin{equation} \label{eq:conddistNLMM} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm m(\bm\gamma),\sigma^2\bm I_n) \end{equation} with discrepancy function \begin{equation} \label{eq:discNLMM} d(\bm u|\bm y,\bm\theta,\bm\beta)= \|\bm y-\bm\mu\|^2 + \|\bm u\|^2 . \end{equation} For a given value of $\bm\theta$ we determine the conditional modes, $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$, as the solution to the penalized nonlinear least squares problem \begin{equation} \label{eq:NLMMpnls} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \arg\min_{\bm u,\bm\theta}d(\bm u|\bm y,\bm\theta,\bm\beta) \end{equation} and we write the minimum discrepancy, given $\bm y$ and $\bm\theta$, as \begin{equation} \label{eq:25} \tilde{d}(\bm y,\bm\theta)=d(\tilde{\bm u}(\bm\theta)|\bm y,\bm\theta,\tilde{\bm\beta}(\bm\theta)). \end{equation} Let $\tilde{\bm L}_Z(\bm\theta)$ and $\tilde{\bm L}_X(\bm\theta)$ be the Cholesky factors at $\bm\theta$, $\tilde{\bm\beta}(\bm\theta)$ and $\tilde{\bm u}(\bm\theta)$. Then the \emph{Laplace approximation} to the log-likelihood is \begin{equation} \label{eq:36} -2\ell_P(\bm\theta,\bm\beta,\sigma|\bm y)\approx n\log(2\pi\sigma^2)+\log(|\tilde{\bm L}_{\bm Z}|^2)+ \frac{\tilde{d}(\bm y,\bm\theta) + \left\|\tilde{\bm L}_{\bm X}\trans(\bm\beta-\tilde{\bm\beta})\right\|^2}{\sigma^2}, \end{equation} producing the approximate profiled log-likelihood, $\tilde{\ell}_P(\bm\theta|\bm y)$, \begin{equation} \label{eq:37} -2\tilde{\ell}_P(\bm\theta|\bm y)\approx \log(|\tilde{\bm L}_{\bm Z}|^2)+n\left(1+\log(2\pi \tilde{d}(\bm y,\bm\theta)/n) \right). \end{equation} \subsubsection{Nonlinear mixed model summary} \label{sec:nonl-mixed-model} In a nonlinear mixed model we determine the parameter estimate, $\widehat{\bm\theta}_P$, from the Laplace approximation to the log-likelihood as \begin{equation} \label{eq:38} \widehat{\bm\theta}_P = \arg\max_{\bm\theta}\tilde{\ell}_P(\bm\theta|\bm y) =\arg\min_{\bm\theta} \log(|\tilde{\bm L}_{\bm Z}|^2)+ n\left(1+\log(2\pi \tilde{d}(\bm y,\bm\theta)/n) \right). \end{equation} Each evaluation of $\tilde{\ell}_P(\bm\theta|\bm y)$ requires a solving the penalized nonlinear least squares problem (\ref{eq:NLMMpnls}) simultaneously with respect to both sets of coefficients, $\bm u$ and $\bm\beta$, in the linear predictor, $\bm\gamma$. For a weighted nonlinear mixed model with fixed weights, $\bm W$, we replace the unweighted discrepancy function $d(\bm u|\bm y,\bm\theta,\bm\beta)$ with the weighted discrepancy function, %% Finish this off \section{Details of the implementation} \label{sec:details} \subsection{Implementation details for linear mixed models} \label{sec:impl-line-mixed} The crucial step in implementing algorithms for determining ML or REML estimates of the parameters in a linear mixed model is evaluating the factorization (\ref{eq:16}) for any $\bm\theta$ satisfying $\bm\theta_L\le\bm\theta\le\bm\theta_U$. We will assume that $\bm Z$ is sparse as is $\bm Z\bm\Lambda(\bm\theta)$. When $\bm X$ is not sparse we will use the factorization (\ref{eq:16}) setting $\bm P_{\bm X}=\bm I_p$ and storing $\bm L_{\bm X\bm Z}$ and $\bm L_{\bm X}$ as dense matrices. The permutation matrix $\bm P_{\bm Z}$ is determined from the pattern of non-zeros in $\bm Z\bm\Lambda(\bm\theta)$ which is does not depend on $\bm\theta$, as long as $\bm\theta$ is not on the boundary. In fact, in most cases the pattern of non-zeros in $\bm Z\bm\Lambda(\bm\theta)$ is the same as the pattern of non-zeros in $\bm Z$. For many models, in particular models with scalar random effects (described later), the matrix $\bm\Lambda(\bm\theta)$ is diagonal. Given a value of $\bm\theta$ we determine the Cholesky factor $\bm L_{\bm Z}$ satisfying \begin{equation} \label{eq:LZ} \bm L_{\bm Z}\bm L_{\bm Z}\trans=\bm P_{\bm Z}( \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q)\bm P_{\bm Z}\trans . \end{equation} The CHOLMOD package allows for $\bm L_{\bm Z}$ to be calculated directly from $\bm\Lambda\trans(\bm\theta)\bm Z\trans$ or from $\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)$. The choice in implementation is whether to store $\bm Z\trans$ and update it to $\bm\Lambda\trans(\bm\theta)\bm Z$ or to store $\bm Z\trans\bm Z$ and use it to form $\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)$ at each evaluation. In the \package{lme4} package we store $\bm Z\trans$ and use it to form $\bm\Lambda\trans(\bm\theta)\bm Z\trans$ from which $\bm L_{\bm Z}$ is evaluated. There are two reasons for this choice. First, the calculations for the more general forms of mixed models cannot be reduced to calculations involving $\bm Z\trans\bm Z$ and by expressing these calculations in terms of $\bm\Lambda(\bm\theta)\bm Z\trans$ for linear mixed models we can reuse the code for the more general models. Second, the calculation of $\bm\Lambda(\bm\theta)\trans\left(\bm Z\trans\bm Z\right)\bm\Lambda(\bm\theta)$ from $\bm Z\trans\bm Z$ is complicated compared to the calculation of $\bm\Lambda(\bm\theta)\trans\bm Z\trans$ from $\bm Z\trans$. This choice is disadvantageous when $n\gg q$ because $\bm Z\trans$ is much larger than $\bm Z\trans\bm Z$, even when they are stored as sparse matrices. Evaluation of $\bm L_{\bm Z}$ directly from $\bm Z\trans$ requires more storage and more calculation that evaluating $\bm L_{\bm Z}$ from $\bm Z\trans\bm Z$. Next we evaluate $\bm L_{\bm X\bm Z}\trans$ as the solution to \begin{equation} \label{eq:LXZ} \bm L_{\bm Z}\bm L_{\bm X\bm Z}\trans=\bm P_{\bm Z}\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X . \end{equation} Again we have the choice of calculating and storing $\bm Z\trans\bm X$ or storing $\bm X$ and using it to reevaluate $\bm Z\trans\bm X$. In the \package{lme4} package we store $\bm X$, because the calculations for the more general models cannot be expressed in terms of $\bm Z\trans\bm X$. Finally $\bm L_{\bm X}$ is evaluated as the (dense) solution to \begin{equation} \label{eq:LX} \bm L_{\bm X}\bm L_{\bm X}\trans= \bm X\trans\bm X-\bm L_{\bm X\bm Z}\bm L_{\bm X\bm Z} . \end{equation} from which $\tilde{\bm\beta}$ can be determined as the solution to dense system \begin{equation} \label{eq:tildebeta} \bm L_{\bm X}\bm L_{\bm X}\tilde{\bm\beta}=\bm X\trans\bm y \end{equation} and $\tilde{\bm u}$ as the solution to the sparse system \begin{equation} \label{eq:tildeu} \bm L_{\bm Z}\bm L_{\bm Z}\tilde{u}=\bm\Lambda\trans\bm Z\trans\bm y \end{equation} For many models, in particular models with scalar random effects, which are described later, the matrix $\bm\Lambda(\bm\theta)$ is diagonal. For such a model, if both $\bm Z$ and $\bm X$ are sparse and we plan to use the REML criterion then we create and store \begin{equation} \label{eq:8} \bm A= \begin{bmatrix} \bm Z\trans\bm Z & \bm Z\trans\bm X\\ \bm X\trans\bm Z & \bm X\trans\bm X \end{bmatrix}\quad\text{and}\quad \bm c =\begin{bmatrix}\bm Z\trans\bm y\\\bm X\trans\bm y\end{bmatrix} \end{equation} and determine a fill-reducing permutation, $\bm P$, for $\bm A$. Given a value of $\bm\theta$ we create the factorization \begin{equation} \label{eq:26} \bm L(\bm\theta)\bm L(\bm\theta)\trans=\bm P\left( \begin{bmatrix} \bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix} \bm A \begin{bmatrix} \bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix}+ \begin{bmatrix}\bm I_q&\bm0\\\bm0&\bm0\end{bmatrix}\right) \bm P\trans \end{equation} solve for $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ in \begin{equation} \label{eq:28} \bm L\bm L\trans\bm P \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix}= \bm P \begin{bmatrix}\bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix} \bm c \end{equation} then evaluate $\tilde{d}(\bm y|\bm\theta)$ and the profiled REML criterion as \begin{equation} \label{eq:27} \tilde{d}_R(\bm\theta|\bm y)=\log(|\bm L(\bm\theta)|^2)+ (n-p)\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y|\bm\theta)} {n-p}\right)\right) . \end{equation} \bibliography{lme4} \appendix{} \section{Notation} \label{sec:notation} \subsection{Random variables in the model} \label{sec:rand-vari-model} \begin{description} \item[$\bc B$] Random-effects vector of dimension $q$, $\bc{B}\sim\mathcal{N}(\bm 0,\sigma^2\bm \Lambda(\bm\theta)\bm \Lambda(\bm\theta)\trans)$. \item[$\bm U$] ``Spherical'' random-effects vector of dimension $q$, $\bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q)$, $\bc B=\bm \Lambda(\bm\theta)\bc U$. \item[$\bc Y$] Response vector of dimension $n$. \end{description} \subsection{Parameters of the model} \label{sec:parameters-model} \begin{description} \item[$\bm\beta$] Fixed-effects parameters (dimension $p$). \item[$\bm\theta$] Parameters determining the left factor, $\bm\Lambda(\bm\theta)$ of the relative covariance matrix of $\bc B$ (dimension $m$). \item[$\sigma$] the common scale parameter - not used in some generalized linear mixed models and generalized nonlinear mixed models. \end{description} \subsection{Dimensions} \label{sec:dimensions} \begin{description} \item[$m$] dimension of the parameter $\bm\theta$. \item[$n$] dimension of the response vector, $\bm y$, and the random variable, $\bm{\mathcal{Y}}$. \item[$p$] dimension of the fixed-effects parameter, $\bm\beta$. \item[$q$] dimension of the random effects, $\bc B$ or $\bc U$. \item[$s$] dimension of the parameter vector, $\bm\phi$, in the nonlinear model function. \end{description} \subsection{Matrices} \label{sec:matrices} \begin{description} \item[$\bm L$] Left Cholesky factor of a positive-definite symmetric matrix. $\bm L_{\bm Z}$ is $q\times q$; $\bm L_{\bm X}$ is $p\times p$. \item[$\bm P$] Fill-reducing permutation for the random effects model matrix. (Size $q\times q$.) \item[$\bm \Lambda$] Left factor of the relative covariance matrix of the random effects. (Size $q\times q$.) \item[$\bm X$] Model matrix for the fixed-effects parameters, $\bm\beta$. (Size $(ns)\times p$.) \item[$\bm Z$] Model matrix for the random effects. (Size $(ns)\times q$.) \end{description} \section{Integrating a quadratic deviance expression} \label{sec:integr-quadr-devi} In (\ref{eq:6}) we defined the likelihood of the parameters given the observed data as \begin{displaymath} L(\bm\theta,\bm\beta,\sigma|\bm y) = \int_{\mathbb{R}^q}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm u . \end{displaymath} which is often alarmingly described as ``an intractable integral''. In point of fact, this integral can be evaluated exactly in the case of a linear mixed model and can be approximated quite accurately for other forms of mixed models. \end{document} lme4/vignettes/lmer.Rnw0000644000176200001440000042557113141431220014557 0ustar liggesusers%\VignetteEngine{knitr::knitr} %\VignetteDepends{ggplot2} %\VignetteDepends{splines} %\VignetteIndexEntry{Fitting Linear Mixed-Effects Models using lme4} \documentclass[nojss]{jss} \usepackage[T1]{fontenc}% for correct hyphenation and T1 encoding \usepackage[utf8]{inputenc}% \usepackage{lmodern}% latin modern font \usepackage[american]{babel} %% for texi2dvi ~ bug \usepackage{bm,amsmath,thumbpdf,amsfonts}%,minted} \usepackage{blkarray} \usepackage{array} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \newcommand{\matindex}[1]{\mbox{\scriptsize#1}}% Matrix index \newcommand{\github}{Github} \DeclareMathOperator{\tr}{tr} \DeclareMathOperator{\VEC}{vec} \newcommand{\bmb}[1]{{\color{red} \emph{#1}}} \newcommand{\scw}[1]{{\color{blue} \emph{#1}}} \newcommand{\dmb}[1]{{\color{magenta} \emph{#1}}} \shortcites{bolker_strategies_2013,sleepstudy,gelman2013bayesian} \author{Douglas Bates\\U. of Wisconsin - Madison\And Martin M\"achler\\ETH Zurich\And Benjamin M. Bolker\\McMaster University\And Steven C. Walker\\McMaster University } \Plainauthor{Douglas Bates, Martin M\"achler, Ben Bolker, Steve Walker} \title{Fitting Linear Mixed-Effects Models using \pkg{lme4}} \Plaintitle{Fitting Linear Mixed-Effects Models using lme4} \Shorttitle{Linear Mixed Models with lme4} \Abstract{% Maximum likelihood or restricted maximum likelihood (REML) estimates of the parameters in linear mixed-effects models can be determined using the \code{lmer} function in the \pkg{lme4} package for \proglang{R}. As for most model-fitting functions in \proglang{R}, the model is described in an \code{lmer} call by a formula, in this case including both fixed- and random-effects terms. The formula and data together determine a numerical representation of the model from which the profiled deviance or the profiled REML criterion can be evaluated as a function of some of the model parameters. The appropriate criterion is optimized, using one of the constrained optimization functions in \proglang{R}, to provide the parameter estimates. We describe the structure of the model, the steps in evaluating the profiled deviance or REML criterion, and the structure of classes or types that represents such a model. Sufficient detail is included to allow specialization of these structures by users who wish to write functions to fit specialized linear mixed models, such as models incorporating pedigrees or smoothing splines, that are not easily expressible in the formula language used by \code{lmer}.} \Keywords{% sparse matrix methods, linear mixed models, penalized least squares, Cholesky decomposition} \Address{ Douglas Bates\\ Department of Statistics, University of Wisconsin\\ 1300 University Ave.\\ Madison, WI 53706, U.S.A.\\ E-mail: \email{bates@stat.wisc.edu} \par\bigskip Martin M\"achler\\ Seminar f\"ur Statistik, HG G~16\\ ETH Zurich\\ 8092 Zurich, Switzerland\\ E-mail: \email{maechler@stat.math.ethz.ch}\\ % URL: \url{http://stat.ethz.ch/people/maechler} \par\bigskip Benjamin M. Bolker\\ Departments of Mathematics \& Statistics and Biology \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{bolker@mcmaster.ca} \par\bigskip Steven C. Walker\\ Department of Mathematics \& Statistics \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{scwalker@math.mcmaster.ca } } \newcommand{\thetavec}{{\bm\theta}} \newcommand{\betavec}{{\bm\beta}} \newcommand{\Var}{\operatorname{Var}} \newcommand{\abs}{\operatorname{abs}} \newcommand{\bLt}{\ensuremath{\bm\Lambda_{\bm\theta}}} \newcommand{\mc}[1]{\ensuremath{\mathcal{#1}}} \newcommand{\trans}{\ensuremath{^\top}} % JSS wants \top \newcommand{\yobs}{\ensuremath{\bm y_{\mathrm{obs}}}} \newcommand*{\eq}[1]{eqn.~\ref{#1}}% or just {(\ref{#1})} <>= options(width=70, show.signif.stars=FALSE, str=strOptions(strict.width="cut"), prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("knitr") library("lme4") library("ggplot2") theme_set(theme_bw()) library("grid") zmargin <- theme(panel.margin=unit(0,"lines")) library("lattice") opts_chunk$set(engine='R',dev='pdf',fig.width=9,prompt=TRUE, fig.height=5.5,cache=TRUE,tidy=FALSE,comment=NA) @ \setkeys{Gin}{width=\textwidth} \setkeys{Gin}{height=3.5in} \begin{document} Submitted to \emph{Journal of Statistical Software} \section{Introduction} \label{sec:intro} The \pkg{lme4} package for \proglang{R} provides functions to fit and analyze linear mixed models, generalized linear mixed models and nonlinear mixed models. In each of these names, the term ``mixed'' or, more fully, ``mixed effects'', denotes a model that incorporates both fixed- and random-effects terms in a linear predictor expression from which the conditional mean of the response can be evaluated. In this paper we describe the formulation and representation of linear mixed models. The techniques used for generalized linear and nonlinear mixed models will be described separately, in a future paper. The development of general software for fitting mixed models remains an active area of research with many open problems. Consequently, the \pkg{lme4} package has evolved since it was first released, and continues to improve as we learn more about mixed models. However, we recognize the need to maintain stability and backward compatibility of \pkg{lme4} so that it continues to be broadly useful. In order to maintain stability while continuing to advance mixed-model computation, we have developed several additional frameworks that draw on the basic ideas of \code{lme4} but modify its structure or implementation in various ways. These descendants include the \mbox{\pkg{MixedModels}} package in \proglang{Julia}, the \pkg{lme4pureR} package in \proglang{R}, and the \code{flexLambda} development branch of \pkg{lme4}. The current article is largely restricted to describing the current stable version of the \pkg{lme4} package (1.1-7), with Appendix~\ref{sec:modularExamples} describing hooks into the computational machinery that are designed for extension development. The \pkg{gamm4} \citep{gamm4} and \pkg{blme} \citep{blme} packages currently make use of these hooks. Another goal of this article is to contrast the approach used by \pkg{lme4} with previous formulations of mixed models. The expressions for the profiled log-likelihood and profiled REML (restricted maximum likelihood) criteria derived in Section~\ref{sec:profdev} are similar to those presented in \citet{bates04:_linear} and, indeed, are closely related to ``Henderson's mixed-model equations''~\citep{henderson_1982}. Nonetheless there are subtle but important changes in the formulation of the model and in the structure of the resulting penalized least squares (PLS) problem to be solved (Section~\ref{sec:PLSpureR}). We derive the current version of the PLS problem (Section~\ref{sec:plsMath}) and contrast this result with earlier formulations (Section~\ref{sec:previous_lmm_form}). This article is organized into four main sections (\ref{sec:lFormula}; \ref{sec:mkLmerDevfun}; \ref{sec:optimizeLmer}; \ref{sec:mkMerMod}), each of which corresponds to one of the four largely separate modules that comprise \pkg{lme4}. Before describing the details of each module, we describe the general form of the linear mixed model underlying \pkg{lme4} (Section~\ref{sec:LMMs}); introduce the \code{sleepstudy} data that will be used as an example throughout (Section~\ref{sec:sleepstudy}); and broadly outline \pkg{lme4}'s modular structure (Section~\ref{sec:modular}). \subsection{Linear mixed models} \label{sec:LMMs} Just as a linear model is described by the distribution of a vector-valued random response variable, $\mc{Y}$, whose observed value is $\yobs$, a linear mixed model is described by the distribution of two vector-valued random variables: $\mc{Y}$, the response, and $\mc{B}$, the vector of random effects. In a linear model the distribution of $\mc Y$ is multivariate normal,%\begin{linenomath} \begin{equation} \label{eq:linearmodel} \mc Y\sim\mc{N}(\bm X\bm\beta+\bm o,\sigma^2\bm W^{-1}), \end{equation} where $n$ is the dimension of the response vector, $\bm W$ is a diagonal matrix of known prior weights, $\bm\beta$ is a $p$-dimensional coefficient vector, $\bm X$ is an $n\times p$ model matrix, and $\bm o$ is a vector of known prior offset terms. The parameters of the model are the coefficients $\bm\beta$ and the scale parameter $\sigma$. In a linear mixed model it is the \emph{conditional} distribution of $\mc Y$ given $\mc B=\bm b$ that has such a form, \begin{equation} \label{eq:LMMcondY} ( \mc Y|\mc B=\bm b)\sim\mc{N}(\bm X\bm\beta+\bm Z\bm b+\bm o,\sigma^2\bm W^{-1}), % | <- for ESS \end{equation} where $\bm Z$ is the $n\times q$ model matrix for the $q$-dimensional vector-valued random effects variable, $\mc B$, whose value we are fixing at $\bm b$. The unconditional distribution of $\mc B$ is also multivariate normal with mean zero and a parameterized $q\times q$ variance-covariance matrix, $\bm\Sigma$, \begin{equation} \label{eq:LMMuncondB} \mc B\sim\mc N(\bm0,\bm\Sigma) . \end{equation} As a variance-covariance matrix, $\bm\Sigma$ must be positive semidefinite. It is convenient to express the model in terms of a \emph{relative covariance factor}, $\bLt$, which is a $q\times q$ matrix, depending on the \emph{variance-component parameter}, $\bm\theta$, and generating the symmetric $q\times q$ variance-covariance matrix, $\bm\Sigma$, according to%\begin{linenomath} \begin{equation} \label{eq:relcovfac} \bm\Sigma_{\bm\theta}=\sigma^2\bLt\bLt\trans , \end{equation}%\end{linenomath} where $\sigma$ is the same scale factor as in the conditional distribution (\ref{eq:LMMcondY}). Although equations \ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac} fully describe the class of linear mixed models that \pkg{lme4} can fit, this terse description hides many important details. Before moving on to these details, we make a few observations: \begin{itemize} \item This formulation of linear mixed models allows for a relatively compact expression for the profiled log-likelihood of $\bm\theta$ (Section~\ref{sec:profdev}, Equation~\ref{eq:profiledDeviance}). \item The matrices associated with random effects, $\bm Z$ and $\bLt$, typically have a sparse structure with a sparsity pattern that encodes various model assumptions. Sections~\ref{sec:LMMmatrix} and \ref{sec:CSCmats} provide details on these structures, and how to represent them efficiently. \item The interface provided by \pkg{lme4}'s \code{lmer} function is slightly less general than the model described by equations \ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac}. To take advantage of the entire range of possibilities, one may use the modular functions (Sections~\ref{sec:modular} and Appendix~\ref{sec:modularExamples}) or explore the experimental \code{flexLambda} branch of \pkg{lme4} on \github. \end{itemize} \subsection{Example} \label{sec:sleepstudy} Throughout our discussion of \pkg{lme4}, we will work with a data set on the average reaction time per day for subjects in a sleep deprivation study \citep{sleepstudy}. On day 0 the subjects had their normal amount of sleep. Starting that night they were restricted to 3 hours of sleep per night. The response variable, \code{Reaction}, represents average reaction times in milliseconds (ms) on a series of tests given each \code{Day} to each \code{Subject} (Figure~\ref{fig:sleepPlot}), <>= str(sleepstudy) @ <>= ## BMB: seemed more pleasing to arrange by increasing slope rather than ## intercept ... xyplot(Reaction ~ Days | Subject, sleepstudy, aspect = "xy", layout = c(9, 2), type = c("g", "p", "r"), index.cond = function(x, y) coef(lm(y ~ x))[2], xlab = "Days of sleep deprivation", ylab = "Average reaction time (ms)", as.table = TRUE) @ % | Each subject's reaction time increases approximately linearly with the number of sleep-deprived days. However, subjects also appear to vary in the slopes and intercepts of these relationships, which suggests a model with random slopes and intercepts. As we shall see, such a model may be fitted by minimizing the REML criterion (Equation~\ref{eq:REMLdeviance}) using <>= fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) @ % | The estimates of the standard deviations of the random effects for the intercept and the slope are \Sexpr{round(sqrt(VarCorr(fm1)$Subject[1,1]), 2)} ms % $ and \Sexpr{round(sqrt(VarCorr(fm1)$Subject[2,2]), 2)} ms/day. % $ The fixed-effects coefficients, $\betavec$, are \Sexpr{round(fixef(fm1)[1], 1)} ms and \Sexpr{round(fixef(fm1)[2], 2)} ms/day for the intercept and slope. In this model, one interpretation of these fixed effects is that they are the estimated population mean values of the random intercept and slope (Section~\ref{sec:intuitiveFormulas}). \subsection{High level modular structure} \label{sec:modular} The \code{lmer} function is composed of four largely independent modules. In the first module, a mixed-model formula is parsed and converted into the inputs required to specify a linear mixed model (Section~\ref{sec:lFormula}). The second module uses these inputs to construct an \proglang{R} function which takes the covariance parameters, $\bm\theta$, as arguments and returns negative twice the log profiled likelihood or the REML criterion (Section~\ref{sec:mkLmerDevfun}). The third module optimizes this objective function to produce maximum likelihood (ML) or REML estimates of $\bm\theta$ (Section~\ref{sec:optimizeLmer}). Finally, the fourth module provides utilities for interpreting the optimized model (Section~\ref{sec:mkMerMod}). \begin{table}[tb] \centering \begin{tabular}{lllp{2.1in}} \hline Module & & \proglang{R} function & Description \\ \hline Formula module & (Section~\ref{sec:lFormula}) & \code{lFormula} & Accepts a mixed-model formula, data, and other user inputs, and returns a list of objects required to fit a linear mixed model. \\ Objective function module & (Section~\ref{sec:mkLmerDevfun}) & \code{mkLmerDevfun} & Accepts the results of \code{lFormula} and returns a function to calculate the deviance (or restricted deviance) as a function of the covariance parameters, $\bm\theta$.\\ Optimization module & (Section~\ref{sec:optimizeLmer}) & \code{optimizeLmer} & Accepts a deviance function returned by \code{mkLmerDevfun} and returns the results of the optimization of that deviance function. \\ Output module & (Section~\ref{sec:mkMerMod}) & \code{mkMerMod} & Accepts an optimized deviance function and packages the results into a useful object. \\ \hline \end{tabular} \caption{The high-level modular structure of \code{lmer}.} \label{tab:modular} \end{table} To illustrate this modularity, we recreate the \code{fm1} object by a series of four modular steps; the formula module, <>= parsedFormula <- lFormula(formula = Reaction ~ Days + (Days | Subject), data = sleepstudy) @ the objective function module, <>= devianceFunction <- do.call(mkLmerDevfun, parsedFormula) @ the optimization module, <>= optimizerOutput <- optimizeLmer(devianceFunction) @ and the output module, <>= mkMerMod( rho = environment(devianceFunction), opt = optimizerOutput, reTrms = parsedFormula$reTrms, fr = parsedFormula$fr) @ % | \section{Formula module} \label{sec:lFormula} \subsection{Mixed-model formulas} \label{sec:formulas} Like most model-fitting functions in \proglang{R}, \code{lmer} takes as its first two arguments a \emph{formula} specifying the model and the \emph{data} with which to evaluate the formula. This second argument, \code{data}, is optional but recommended and is usually the name of an \proglang{R} data frame. In the \proglang{R} \code{lm} function for fitting linear models, formulas take the form \verb+resp ~ expr+, where \code{resp} determines the response variable and \code{expr} is an expression that specifies the columns of the model matrix. Formulas for the \code{lmer} function contain special random-effects terms, <>= resp ~ FEexpr + (REexpr1 | factor1) + (REexpr2 | factor2) + ... @ where \code{FEexpr} is an expression determining the columns of the fixed-effects model matrix, $\bm X$, and the random-effects terms, \code{(REexpr1 | factor1)} and \code{(REexpr2 | factor2)}, determine both the random-effects model matrix, $\bm Z$ (Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Section~\ref{sec:mkLambdat}). In principle, a mixed-model formula may contain arbitrarily many random-effects terms, but in practice the number of such terms is typically low. \subsection{Understanding mixed-model formulas} \label{sec:intuitiveFormulas} Before describing the details of how \pkg{lme4} parses mixed-model formulas (Section~\ref{sec:LMMmatrix}), we provide an informal explanation and then some examples. Our discussion assumes familiarity with the standard \proglang{R} modelling paradigm \citep{Chambers:1993}. Each random-effects term is of the form \code{(expr | factor)}. The expression \code{expr} is evaluated as a linear model formula, producing a model matrix following the same rules used in standard \proglang{R} modelling functions (e.g., \code{lm} or \code{glm}). The expression \code{factor} is evaluated as an \proglang{R} factor. One way to think about the vertical bar operator is as a special kind of interaction between the model matrix and the grouping factor. This interaction ensures that the columns of the model matrix have different effects for each level of the grouping factor. What makes this a special kind of interaction is that these effects are modelled as unobserved random variables, rather than unknown fixed parameters. Much has been written about important practical and philosophical differences between these two types of interactions (e.g., \citet{henderson_1982}; \citet{gelman2005analysis}). For example, the random-effects implementation of such interactions can be used to obtain shrinkage estimates of regression coefficients (e.g., \citet{1977EfronAndMorris}), or account for lack of independence in the residuals due to block structure or repeated measurements (e.g., \citet{laird_ware_1982}). Table~\ref{tab:formulas} provides several examples of the right-hand-sides of mixed-model formulas. The first example, \code{(1 | g)}, % | is the simplest possible mixed-model formula, where each level of the grouping factor, \code{g}, has its own random intercept. The mean and standard deviation of these intercepts are parameters to be estimated. Our description of this model incorporates any non-zero mean of the random effects as fixed-effects parameters. If one wishes to specify that a random intercept has \emph{a priori} known means, one may use the \code{offset} function as in the second model in Table~\ref{tab:formulas}. This model contains no fixed effects, or more accurately the fixed-effects model matrix, $\bm X$, has zero columns and $\bm\beta$ has length zero. \begin{table}[tb] \centering \begin{tabular}{llP{1.5in}} %% see new column type for ragged right \hline Formula & Alternative & Meaning \\ \hline%------------------------------------------------ \code{(1 | g)} & \code{1 + (1 | g)} & Random intercept with fixed mean \\ \code{0 + offset(o) + (1 | g)} & \code{-1 + offset(o) + (1 | g)} & Random intercept with \emph{a priori} means \\ \code{(1 | g1/g2)} & \code{(1 | g1)+(1 | g1:g2)} % | & Intercept varying among \code{g1} and \code{g2} within \code{g1} \\ \code{(1 | g1)+(1 | g2)} & \code{1 + (1 | g1) + (1 | g2)} & Intercept varying among \code{g1} and \code{g2} \\ \code{x + (x | g)} & \code{1 + x + (1 + x | g)} & Correlated random intercept and slope \\ \code{x + (x || g)} & \code{1 + x + (1 | g) + (0 + x | g)} & Uncorrelated random intercept and slope \\ \hline \end{tabular} \caption{Examples of the right-hand sides of mixed-effects model formulas. The names of grouping factors are denoted \code{g}, \code{g1}, and \code{g2}, and covariates and \emph{a priori} known offsets as \code{x} and \code{o}.} \label{tab:formulas} \end{table} We may also construct models with multiple grouping factors. For example, if the observations are grouped by \code{g2}, which is nested within \code{g1}, then the third formula in Table \ref{tab:formulas} can be used to model variation in the intercept. A common objective in mixed modeling is to account for such nested (or hierarchical) structure. However, one of the most useful aspects of \pkg{lme4} is that it can be used to fit random-effects associated with non-nested grouping factors. For example, suppose the data are grouped by fully crossing two factors, \code{g1} and \code{g2}, then the fourth formula in Table \ref{tab:formulas} may be used. Such models are common in item response theory, where \code{subject} and \code{item} factors are fully crossed \citep{doran2007estimating}. In addition to varying intercepts, we may also have varying slopes (e.g., the \code{sleepstudy} data, Section~\ref{sec:sleepstudy}). The fifth example in Table~\ref{tab:formulas} gives a model where both the intercept and slope vary among the levels of the grouping factor. \subsubsection{Specifying uncorrelated random effects} \label{sec:uncor} By default, \pkg{lme4} assumes that all coefficients associated with the same random-effects term are correlated. To specify an uncorrelated slope and intercept (for example), one may either use double-bar notation, \code{(x || g)}, or equivalently use multiple random effects terms, \code{x + (1 | g) + (0 + x | g)}, as in the final example of Table~\ref{tab:formulas}. For example, from the printout of model \code{fm1} of the \code{sleepstudy} data (Section~\ref{sec:sleepstudy}), we see that the estimated correlation between the slope for \code{Days} and the intercept is fairly low (\Sexpr{round(attr(VarCorr(fm1)$Subject, "correlation")[2],3)}) % $ (See Section~\ref{sec:summary} below for more on how to extract the random effects covariance matrix.) We may use double-bar notation to fit a model that excludes a correlation parameter: <>= fm2 <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) @ Although mixed models where the random slopes and intercepts are assumed independent are commonly used to reduce the complexity of random-slopes models, they do have one subtle drawback. Models in which the slopes and intercepts are allowed to have a non-zero correlation (e.g., \code{fm1}) are invariant to additive shifts of the continuous predictor (\code{Days} in this case). This invariance breaks down when the correlation is constrained to zero; any shift in the predictor will necessarily lead to a change in the estimated correlation, and in the likelihood and predictions of the model. For example, we can eliminate the correlation in \code{fm1} simply by shifting \code{Days} by an amount equal to the ratio of the estimated among-subject standard deviations multiplied by the estimated correlation (i.e., $\sigma_{\text{\small slope}}/\sigma_{\text{\small intercept}} \cdot \rho_{\text{\small slope:intercept}}$). The use of such models should ideally be restricted to cases where the predictor is measured on a ratio scale (i.e., the zero point on the scale is meaningful, not just a location defined by convenience or convention). %% <>= %% sleepstudyShift <- within(sleepstudy, { %% Days <- Days + (24.74*0.07)/5.92 }) %% lmer(Reaction ~ Days + (Days | Subject), sleepstudyShift) %% @ \subsection{Algebraic and computational account of mixed-model formulas} \label{sec:LMMmatrix} The fixed-effects terms of a mixed-model formula are parsed to produce the fixed-effects model matrix, $\bm X$, in the same way that the \proglang{R} \code{lm} function generates model matrices. However, a mixed-model formula incorporates $k\ge1$ random-effects terms of the form \code{(r | f)} as well. % | These $k$ terms are used to produce the random effects model matrix, $\bm Z$ (Equation~\ref{eq:LMMcondY}; Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Equation~\ref{eq:relcovfac}; Section~\ref{sec:mkLambdat}), which are matrices that typically have a sparse structure. We now describe how one might construct these matrices from the random-effects terms, considering first a single term, \code{(r | f)}, % | and then generalizing to multiple terms. Tables~\ref{tab:dim} and \ref{tab:algebraic} summarize the matrices and vectors that determine the structure of $\bm Z$ and $\bLt$. \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size \\ \hline $n$ & Length of the response vector, $\mc{Y}$ \\ $p$ & Number of columns of fixed effects model matrix, $\bm X$ \\ $q = \sum_i^k q_i$ & Number of columns of random effects model matrix, $\bm Z$ \\ $p_i$ & Number of columns of the raw model matrix, $\bm X_i$ \\ $\ell_i$ & Number of levels of the grouping factor indices, $\bm i_i$ \\ $q_i = p_i\ell_i$ & Number of columns of the term-wise model matrix, $\bm Z_i$ \\ $k$ & Number of random effects terms \\ $m_i = \binom{p_i+1}{2}$ & Number of covariance parameters for term $i$ \\ $m = \sum_i^k m_i$ & Total number of covariance parameters \\ \hline \end{tabular} \caption{Dimensions of linear mixed models. The subscript $i = 1, \dots, k$ denotes a specific random effects term.} \label{tab:dim} \end{table} \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size & Description \\ \hline $\bm X_i$ & $n\times p_i$ & Raw random effects model matrix \\ $\bm J_i$ & $n\times \ell_i$ & Indicator matrix of grouping factor indices\\ $\bm X_{ij}$ & $p_i\times 1$ & Column vector containing $j$th row of $\bm X_i$ \\ $\bm J_{ij}$ & $\ell_i\times 1$ & Column vector containing $j$th row of $\bm J_i$ \\ $\bm i_i$ & $n$ & Vector of grouping factor indices \\ $\bm Z_i$ & $n\times q_i$ & Term-wise random effects model matrix \\ $\bm\theta$ & $m$ & Covariance parameters \\ $\bm T_i$ & $p_i\times p_i$ & Lower triangular template matrix \\ $\bm\Lambda_i$ & $q_i\times q_i$ & Term-wise relative covariance factor \\ \hline \end{tabular} \caption{Symbols used to describe the structure of the random effects model matrix and the relative covariance factor. The subscript $i = 1, \dots, k$ denotes a specific random effects term.} \label{tab:algebraic} \end{table} The expression, \code{r}, is a linear model formula that evaluates to an \proglang{R} model matrix, $\bm X_i$, of size $n\times p_i$, called the \emph{raw random effects model matrix} for term $i$. A term is said to be a \emph{scalar} random-effects term when $p_i=1$, otherwise it is \emph{vector-valued}. For a \emph{simple, scalar} random-effects term of the form \code{(1 | f)}, $\bm X_i$ is the % | $n\times 1$ matrix of ones, which implies a random intercept model. The expression \code{f} evaluates to an \proglang{R} factor, called the \emph{grouping factor}, for the term. For the $i$th term, we represent this factor mathematically with a vector $\bm i_i$ of \emph{factor indices}, which is an $n$-vector of values from $1,\dots,\ell_i$.\footnote{In practice, fixed-effects model matrices and random-effects terms are evaluated with respect to a \emph{model frame}, ensuring that any expressions for grouping factors have been coerced to factors and any unused levels of these factors have been dropped. That is, $\ell_i$, the number of levels in the grouping factor for the $i$th random-effects term, is well-defined.} Let $\bm J_i$ be the $n\times \ell_i$ matrix of indicator columns for $\bm i_i$. Using the \pkg{Matrix} package \citep{Matrix_pkg} in \proglang{R}, we may construct the transpose of $\bm J_i$ from a factor vector, \code{f}, by coercing \code{f} to a \code{sparseMatrix} object. For example, <>= set.seed(2) @ <>= (f <- gl(3, 2)) (Ji <- t(as(f, Class = "sparseMatrix"))) @ When $k>1$ we order the random-effects terms so that $\ell_1\ge\ell_2\ge\dots\ge\ell_k$; in general, this ordering reduces ``fill-in'' (i.e., the proportion of elements that are zero in the lower triangle of $\bLt\trans\bm Z\trans\bm W\bm Z\bLt+\bm I$ but not in the lower triangle of its left Cholesky factor, $\bm L_{\bm\theta}$, described below in Equation~\ref{eq:blockCholeskyDecomp}). This reduction in fill-in provides more efficient matrix operations within the penalized least squares algorithm (Section~\ref{sec:plsMath}). \subsubsection{Constructing the random effects model matrix} \label{sec:mkZ} The $i$th random effects term contributes $q_i=\ell_ip_i$ columns to the model matrix $\bm Z$. We group these columns into a matrix, $\bm Z_i$, which we refer to as the \emph{term-wise model matrix} for the $i$th term. Thus $q$, the number of columns in $\bm Z$ and the dimension of the random variable, $\mc{B}$, is \begin{equation} \label{eq:qcalc} q=\sum_{i=1}^k q_i = \sum_{i=1}^k \ell_i\,p_i . \end{equation} Creating the matrix $\bm Z_i$ from $\bm X_i$ and $\bm J_i$ is a straightforward concept that is, nonetheless, somewhat awkward to describe. Consider $\bm Z_i$ as being further decomposed into $\ell_i$ blocks of $p_i$ columns. The rows in the first block are the rows of $\bm X_i$ multiplied by the 0/1 values in the first column of $\bm J_i$. Similarly for the subsequent blocks. With these definitions we may define the term-wise random-effects model matrix, $\bm Z_i$, for the $i$th term as a transposed Khatri-Rao product, \begin{equation} \label{eq:Zi} \bm Z_i = (\bm J_i\trans * \bm X_i\trans)\trans = \begin{bmatrix} \bm J_{i1}\trans \otimes \bm X_{i1}\trans \\ \bm J_{i2}\trans \otimes \bm X_{i2}\trans \\ \vdots \\ \bm J_{in}\trans \otimes \bm X_{in}\trans \\ \end{bmatrix} \end{equation} where $*$ and $\otimes$ are the Khatri-Rao\footnote{Note that the original definition of the Khatri-Rao product is more general than the definition used in \pkg{Matrix} package, which is the definition we use here.} \citep{khatri1968solutions} and Kronecker products, and $\bm J_{ij}\trans$ and $\bm X_{ij}\trans$ are row vectors of the $j$th rows of $\bm J_i$ and $\bm X_i$. These rows correspond to the $j$th sample in the response vector, $\mc Y$, and thus $j$ runs from $1 \dots n$. The \pkg{Matrix} package for \proglang{R} contains a \code{KhatriRao} function, which can be used to form $\bm Z_i$. For example, if we begin with a raw model matrix, <>= (Xi <- cbind(1, rep.int(c(-1, 1), 3L))) @ then the term-wise random effects model matrix is, <>= (Zi <- t(KhatriRao(t(Ji), t(Xi)))) @ <>= ## alternative formulation of Zi (eq:Zi) rBind(Ji[1,] %x% Xi[1,], Ji[2,] %x% Xi[2,], Ji[3,] %x% Xi[3,], Ji[4,] %x% Xi[4,], Ji[5,] %x% Xi[5,], Ji[6,] %x% Xi[6,]) @ In particular, for a simple, scalar term, $\bm Z_i$ is exactly $\bm J_i$, the matrix of indicator columns. For other scalar terms, $\bm Z_i$ is formed by element-wise multiplication of the single column of $\bm X_i$ by each of the columns of $\bm J_i$. Because each $\bm Z_i$ is generated from indicator columns, its cross-product, $\bm Z_i\trans\bm Z_i$ is block-diagonal consisting of $\ell_i$ diagonal blocks each of size $p_i$.\footnote{To see this, note that by the properties of Kronecker products we may write the cross-product matrix $Z_i\trans Z_i$ as $\sum_{j=1}^n \bm J_{ij} \bm J_{ij}\trans \otimes \bm X_{ij} \bm X_{ij}\trans$. Because $\bm J_{ij}$ is a unit vector along a coordinate axis, the cross product $\bm J_{ij} \bm J_{ij}\trans$ is a $p_i\times p_i$ matrix of all zeros except for a single $1$ along the diagonal. Therefore, the cross products, $\bm X_{ij} \bm X_{ij}\trans$, will be added to one of the $\ell_i$ blocks of size $p_i\times p_i$ along the diagonal of $Z_i\trans Z_i$.} Note that this means that when $k=1$ (i.e., there is only one random-effects term, and $\bm Z_i = \bm Z$), $\bm Z\trans\bm Z$ will be block diagonal. These block-diagonal properties allow for more efficient sparse matrix computations (Section~\ref{sec:CSCmats}). The full random effects model matrix, $\bm Z$, is constructed from $k\ge 1$ blocks, \begin{equation} \label{eq:Z} \bm Z = \begin{bmatrix} \bm Z_1 & \bm Z_2 & \hdots & \bm Z_k \\ \end{bmatrix} \end{equation} By transposing Equation~\ref{eq:Z} and substituting in Equation~\ref{eq:Zi}, we may represent the structure of the transposed random effects model matrix as follows, \begin{equation} \label{eq:Zt} \bm Z\trans = \begin{blockarray}{ccccc} \text{sample 1} & \text{sample 2} & \hdots & \text{sample n} & \\ \begin{block}{[cccc]c} \bm J_{11} \otimes \bm X_{11} & \bm J_{12} \otimes \bm X_{12} & \hdots & \bm J_{1n} \otimes \bm X_{1n} & \text{term 1} \\ \bm J_{21} \otimes \bm X_{21} & \bm J_{22} \otimes \bm X_{22} & \hdots & \bm J_{2n} \otimes \bm X_{2n} & \text{term 2} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \end{block} \end{blockarray} \end{equation} Note that the proportion of elements of $Z\trans$ that are structural zeros is \begin{equation} \label{eq:ZtSparsity} \frac{\sum_{i=1}^k p_i(\ell_i - 1)}{\sum_{i=1}^k p_i} \qquad . \end{equation} Therefore, the sparsity of $\bm Z\trans$ increases with the number of grouping factor levels. As the number of levels is often large in practice, it is essential for speed and efficiency to take account of this sparsity, for example by using sparse matrix methods, when fitting mixed models (Section~\ref{sec:CSCmats}). \subsubsection{Constructing the relative covariance factor} \label{sec:mkLambdat} The $q\times q$ covariance factor, $\bLt$, is a block diagonal matrix whose $i$th diagonal block, $\bm\Lambda_i$, is of size $q_i,i=1,\dots,k$. We refer to $\bm\Lambda_i$ as the \emph{term-wise relative covariance factor}. Furthermore, $\bm\Lambda_i$ is a homogeneous block diagonal matrix with each of the $\ell_i$ lower-triangular blocks on the diagonal being a copy of a $p_i\times p_i$ lower-triangular \emph{template matrix}, $\bm T_i$. The covariance parameter vector, $\bm\theta$, of length $m_i =\binom{p_i+1}{2}$, consists of the elements in the lower triangle of $\bm T_i,i=1,\dots,k$. To provide a unique representation we require that the diagonal elements of the $\bm T_i,i=1,\dots,k$ be non-negative. The template, $\bm T_i$, can be constructed from the number $p_i$ alone. In \proglang{R} code we denote $p_i$ as \code{nc}. For example, if we set \code{nc <- 3}\Sexpr{nc <- 3}, we could create the template for term $i$ as, <>= nc <- 3 @ %% sequence() is equivalent to unlist(lapply(nvec, seq_len)) %% and (?sequence) ``mainly exists in reverence to the very early history of R'' %% scw: i like sequence, and in fact i never understood why that %% statement is there in the help file. <