locfdr/0000755000176200001440000000000012551317707011533 5ustar liggesuserslocfdr/inst/0000755000176200001440000000000012550436134012503 5ustar liggesuserslocfdr/inst/doc/0000755000176200001440000000000012550436134013250 5ustar liggesuserslocfdr/inst/doc/locfdr-example.Rnw0000644000176200001440000003517112550436134016651 0ustar liggesusers% -*- mode: noweb; noweb-default-code-mode: R-mode; -*- \documentclass[11pt]{article} %% Set my margins \setlength{\oddsidemargin}{0.0truein} \setlength{\evensidemargin}{0.0truein} \setlength{\textwidth}{6.5truein} \setlength{\topmargin}{0.0truein} \setlength{\textheight}{9.0truein} \setlength{\headsep}{0.0truein} \setlength{\headheight}{0.0truein} \setlength{\topskip}{0pt} %% End of margins %%\pagestyle{myheadings} %%\markboth{$Date$\hfil$Revision$}{\thepage} \usepackage[pdftex, bookmarks, bookmarksopen, pdfauthor={Bradley Efron, Brit B. Turnbull and Balasubramanian Narasimhan}, pdftitle={locfdr Vignette}] {hyperref} \title{locfdr Vignette\\ Complete Help Documentation\\ Including Usage Tips and Simulation Example} \author{Bradley Efron, Brit B. Turnbull and Balasubramanian Narasimhan\\ Department of Statistics\\ Stanford University\\ Stanford, CA 94305} \date{\today} \SweaveOpts{echo=TRUE, pdf=TRUE, eps=FALSE} \begin{document} %\VignetteIndexEntry{Local FDR} %\VignetteKeywords{FDR, local FDR} %\VignettePackage{locfdr} \maketitle This vignette includes locfdr's complete help documentation, including usage tips, which could not fit in the R help file. It also demonstrates usage of locfdr through an example using the simulated data included in the package. \section{Description and Usage} locfdr computes local false discovery rates, following the definitions and description in the references listed below. \begin{verbatim} locfdr(zz, bre=120, df=7, pct=0, pct0=1/4, nulltype=1, type=0, plot=1, mult, mlests, main=" ", sw=0) \end{verbatim} \section{Arguments} \subsection{zz} zz is a vector of summary statistics, one for each case under consideration. In a microarray experiment, there would be one element of zz for each gene, perhaps a $t$-statistic comparing gene expression levels under two different conditions. The calculations assume a large number of cases, say \texttt{length(zz)} exceeding 200. Results may be improved by transforming zz so that its elements are theoretically distributed as $N(0,1)$ under the null hypothesis. For example, when using $t$-statistics, transform them by \texttt{zz = qnorm(pt(t,df)).} Recentering and rescaling zz may be necessary if its central histogram looks very far removed from mean 0 and variance 1. When using a permutation null distribution with sample zperm, transform the original statistics zorig by \texttt{zz = qnorm(ecdf(zperm)(zorig)).} Such transformation is especially important when the theoretical null option is invoked (see nulltype below). \subsection{bre} bre is the number of breaks in the discretization of the $z$-score axis, or a vector of breakpoints fully describing the discretization. If \texttt{length(zz)} is small, such as when the number of cases is less than about 1000, set bre to a number less than the default of 120. \subsection{df} df is the degrees of freedom for fitting the estimated density $f(z)$ (see type below). Larger values of df may be required if $f(z)$ has sharp bends or other irregularities. A warning is issued if the fitted curve does not adequately match the histogram counts. It is a good idea to use the plot option to view the histogram and fitted curve. \subsection{pct} pct is the excluded tail proportions of zz's when fitting $f$. The default \texttt{pct=0} includes the full range of zz's. pct can also be a 2-vector, describing the fitting range. \subsection{pct0} pct0 is the proportion of the zz distribution used in fitting the null density $f_0$ by central matching. If it is a 2-vector, e.g. \texttt{pct0=c(0.25,0.60)}, the range \texttt{[pct0[1], pct0[2]]} is used. If a scalar, \texttt{[pct0, 1-pct0]} is used. \subsection{nulltype} nulltype is the type of null hypothesis assumed in estimating $f_0$, for use in the fdr calculations. \begin{itemize} \item 0 is the theoretical null $N(0,1)$, which assumes that zz has been scaled to have a $N(0,1)$ distribution under the null hypothesis. \item 1 (the default) is the empirical null with parameters estimated by maximum likelihood. \item 2 is the empirical null with parameters estimated by central matching (see \cite{size}). \item 3 is a ``split normal'' version of 2, in which $f_0(z)$ is allowed to have different scales on the two sides of the maximum. \end{itemize} Unless sw is set to 2 or 3, the theoretical, maximum likelihood, and central matching estimates all will be output in the matrix fp0, and both the theoretical and the specified nulltype will be used in the calculations output in mat, but only the specified nulltype is used in the calculation of the output fdr (local fdr estimates for every case). \subsection{type} type is the type of fitting used for $f$. \begin{itemize} \item 0 is a natural spline. \item 1 is a polynomial. \end{itemize} In either case, $f$ is fit with degrees of freedom df (so total degrees of freedom including the intercept is $\mbox{df}+1$). \subsection{plot} plot specifies the plots desired. \begin{itemize} \item 0 gives no plots. \item 1 (the default) gives a single plot showing the histogram of zz and fitted mixture density $f$ (green solid curve) and null subdensity $p_0f_0$ (blue dashed curve). Colored histogram bars indicate estimated non-null counts. Yellow triangles on the zz-axis indicate threshold values for $fdr(z) \leq 0.2$, if such cases exist. \item 2 also gives plot of fdr, and the right and left tail area Fdr curves. \item 3 gives instead the $f_1$ cdf of the estimated fdr curve, as in Figure 4 of \cite{size}. \item 4 gives all three plots. \end{itemize} We recommend setting plot to 1 or greater, to check the fit of $p_0f_0$ to the histogram. (If the fit is poor, try a different nulltype or a different value of the mlests argument.) \subsection{mult} mult is an optional scalar multiple (or vector of multiples) of the sample size for calculation of the corresponding hypothetical Efdr value(s). \subsection{mlests} mlests is an optional vector of initial values for $(\delta_0, \sigma_0)$ in the maximum likelihood iteration. In addition, these are used to determine the interval over which the maximum likelihood estimation is performed. If, for example, zz was transformed quantile-wise from F statistics, most of zz's elements corresponding to interesting features will be positive. To shift the interval away from such elements, specify a negative initial value for $\delta_0$, the first element of mlests. If the default results in a poor fit of $p_0f_0$ to the histogram in the first plot, try setting mlests to move the estimates toward the values suggested by the histogram. \subsection{main} main is the main heading for the histogram plot. \subsection{sw} sw determines the type of output desired. \begin{itemize} \item 2 gives a list consisting of the last 5 values listed under Value below. \item 3 gives the square matrix of dimension bre-1 representing the influence function of $\log(fdr)$. The $(i,j)$ entry of the matrix is the derivative of $\log(fdr)$ at the midpoint of bin $i$ with respect to the count value of bin $j$. \item Any other value of sw returns a list consisting of the first 7 (8 if mult is supplied) values listed below. \end{itemize} \section{Value} \subsection{fdr} fdr is the estimated local false discovery rate for each case, using the selected type and nulltype. \subsection{fp0} fp0 is a matrix containing the estimated parameters delta (mean of $f_0$), sigma (standard deviation of $f_0$), and p0 (proportion of tests that are null), along with their estimated standard errors. If \texttt{nulltype<3}, fp0 is a $5\times 3$ matrix, with columns representing delta, sigma, and p0 and rows representing nulltypes and estimate vs. standard error. If \texttt{nulltype==3}, the second column corresponds to the estimate of sigma for the left side of $f_0$, and a fourth column corresponds to the sigma estimate for the right. \subsection{Efdr} Efdr is the expected local false discovery rate for the non-null cases, a measure of the experiment's power as described in Section 3 of \cite{size}. Large values of Efdr, say \texttt{Efdr>0.4}, indicate low power. Overall Efdr and right and left values are given, both for the specified nulltype and for nulltype 0. (If \texttt{nulltype==0}, values are given for nulltypes 1 and 0.) \subsection{cdf1} cdf1 is a $99\times 2$ matrix giving the estimated cdf of fdr under the non-null distribution $f_1$. Large values of the cdf for small fdr values indicate good power. See Section 3 of \cite{size}. Set plot to 3 or 4 to see the plot of cdf1. \subsection{mat} mat is a $(\mbox{bre}-1)\times 11$ matrix, convenient for comparisons and plotting. Each row corresponds to a bin of the zz histogram, and the columns contain the following: \begin{enumerate} \item x: the midpoint of the bin. \item fdr: the estimated local false discovery rate at $x$, calculated based on the specified type and nulltype (using \texttt{nulltype=1} if \texttt{nulltype=0} is specified). \item Fdrleft: the left tail false discovery rate at $x$. \item Fdrright: the right tail false discovery rate at $x$. \item f: the mixture density estimate at $x$, calculated based on the specified type, df, and pct, scaled to sum to \texttt{length(zz)}. \item f0: the null density estimate at $x$, calculated based on the specified nulltype (using \texttt{nulltype=1} if \texttt{nulltype=0} is specified) and pct0 and scaled to sum to \texttt{length(zz)}. \item f0theo: the null density estimate at $x$, calculated using the theoretical null $N(0,1)$ and scaled to sum to \texttt{length(zz)}. \item fdrtheo: the local false discovery rate at $x$, calculated based on the specified type and \texttt{nulltype=0}. \item counts: the number of elements of zz in the bin. \item lfdrse: the delta-method estimate of the standard error of the log of the local false discovery rate for the specified nulltype. This estimate assumes independence of the zz values and should usually be considered as a lower bound on the true standard errors. See \cite{size}. \item p1f1: the estimated subdensity of the zz elements that come from non-null tests. p1f1 is scaled to sum to approximately (1-p0) times \texttt{length(z)}, i.e. the estimated number of non-null tests. \end{enumerate} \subsection{z.2} z.2 is the interval along the zz-axis outside of which $fdr(z)<0.2$, the locations of the yellow triangles in the histogram plot. If no elements of zz on the left or right satisfy the criterion, the corresponding element of z.2 is NA, and the corresponding triangle does not appear. \subsection{call} call is the function call. \subsection{mult} If the argument mult was supplied, the value mult is the vector of the ratios of the hypothetical Efdr for the supplied multiples of the sample size to the Efdr for the actual sample size. \subsection{pds} pds is the vector of estimates of p0, delta, and sigma. \subsection{x} x is the vector of bin midpoints. \subsection{f} f is the vector of estimated values of $f(x)$ at the bin midpoints. \subsection{pds.} pds. is the derivative of the estimates of p0, delta, and sigma with respect to the bin counts. \subsection{stdev} stdev is the vector of delta-method estimates of the standard deviations of the p0, delta, and sigma estimates. \section{Simulation Example} This simulation example involves 2000 ``genes'', each of which has yielded a test statistic $z_i$, with $z_i \sim N(\mu_i, 1)$, independently for $i=1,2,\ldots,2000$. Here $\mu_i$ is the ``true score'' of gene $i$, which we observe only noisily. 1800 (90\%) of the $\mu_i$ values are zero; the remaining 200 (10\%) are from a $N(3,1)$ distribution. The data are contained in the dataset \texttt{lfdrsim}, where the $z_i$ are the column \texttt{zex}. <>= library(locfdr) data(lfdrsim) zex <- lfdrsim[, 2] @ If we are confident that the null $z_i$'s are distributed as $N(0,1)$, we run \texttt{locfdr} with \texttt{nulltype=0}. Otherwise, we use the default \texttt{nulltype=1}, which uses empirical estimates of the null density parameters. <>= w <- locfdr(zex) @ In the figure, the green solid line is the spline-based estimate of the mixture density $f$. The blue dashed line is the null subdensity $p_0f_0$, estimated by default by maximum likelihood (nulltype=1). Whichever nulltype is specified, \texttt{locfdr} returns a matrix \texttt{fp0} containing parameters of all three nulltypes and corresponding estimates of the proportion $p_0$ of cases that are null, along with standard errors. In this example, the null distribution is $N(0,1)$, and both the MLE and central matching estimates come close to this. <>= w$fp0 @ The output mat contains estimates of the local false discovery rates and other functions for each bin midpoint $x$. <>= w$mat[1:5,] @ The output fdr contains the local false discovery rate estimate for each $z_i$. One might use this vector to create a list of Interesting cases. <>= which(w$fdr<.2) @ Here $0.2$ is a rule-of-thumb cut-off. In the simulated data, the first 200 cases have nonzero $\mu_i$. So we can find the observed tail false discovery proportion. <>= sum(which(w$fdr<.2)>200)/sum(w$fdr<.2) @ The estimated tail FDR can be found from the \texttt{mat} output. <>= w$mat[which(w$mat[,"fdr"]<.2)[1],"Fdrright"] @ The tail FDR is the mean local fdr over the entire tail and is therefore smaller than the local fdr cutoff. \begin{thebibliography}{99} \bibitem{choice} Efron, B. (2004) ``Large-scale simultaneous hypothesis testing: the choice of a null hypothesis,'' \textit{JASA}, \textbf{99}, pp. 96--104. \bibitem{locfdr} Efron, B. (2005) ``Local False Discovery Rates,''\\ \texttt{http://www-stat.stanford.edu/}$\tilde{\mbox{\,\,\,\,\,}}$\texttt{brad/papers/False.pdf} \bibitem{size} Efron, B. (2006) ``Size, Power, and False Discovery Rates,''\\ \texttt{http://www-stat.stanford.edu/}$\tilde{\mbox{\,\,\,\,\,}}$\texttt{brad/papers/Size.pdf} \bibitem{cor} Efron, B. (2006) ``Correlation and Large-Scale Simultaneous Significance Testing,'' \textit{JASA}, \textbf{102}, pp. 93--103. \end{thebibliography} \end{document} locfdr/inst/doc/locfdr-example.pdf0000644000176200001440000051443712550436134016663 0ustar liggesusers%PDF-1.5 % 121 0 obj << /Length 2423 /Filter /FlateDecode >> stream xڭYɒ7+ !B֘#|дf9T"YwnX$Df\?>zΖ ])|["WeU*SvijmZ-Wk忠yß 8~YB\VypW<9vFT˱x$>ªɧGF6 <ȞG:F-O8ݎ8|q4 {d Am+5c~lh]OR`F^ Q#V&z7q'&J/k[AhqMU^xɯAKBy` Tk 7EMw-QV9bSa$YB<I%P1e)]h/]3pf`1B-)SgO?0 d+RQ/^#cmV̴_.@ͦS[m{8ȭ3 A F'D8Y1]-7;[C]]٤aK6W<;6Ê7 ]* 1' ^[F_3UxzoY*R3:e:&OM<?DžFIc- LwFQT񦸼$L G{Wl9; %/SK֪Fu|CnzQLjm+m[nASư4y Ma<N!Kyо@/Hm azNbR p F񳎻`Qdy-JXqcׅEQ3 F;R >jNH1+^FiS`w\~ r=ЃqBpW9cl~*K6~n>]&1ɟD)?B>7}w8Y UY=99C"StDxw<]_&Azk2P1{Yd[ĴXʯ~3Uu>bO#z$ ߁bɣ!Ԟ)9wǴdK8 GyˉGG1oǔB>q]V%L<۞S50_\>w<ԋ:9-R|rwAIveRsGU(DyJ>#aamj67J7]x3jT >IvP .MRhO뱞C|t:xۮA=,1_O!Dϫk+FSZW|¿䲣_8*J+:iByGޅ=IĔ_!näF|b,U[U.?Mp|[v6|ey67[ej PB χZ_$+KdЭs yǷ[xi郅R۱'T=aU GE֔y8EzbrlLTi԰AbJ؛F 7SMekg-K[; `}Li0 n6]( /mr1,t8P1M$i:vrۗTXP/a!c݈ZTwy2md,^sspo?5@9,sGv慖)vm|Wb?n<2V+S1QwZzͪg endstream endobj 134 0 obj << /Length 2299 /Filter /FlateDecode >> stream xڵYIoWBĞZzACdANiƇ%!R߸jmaG-eU.VUZS,Y`{+$;G7t<&Ҕs@?K{>ҕ*LվB];=R;7ܵVU k!HL\٢mQh9"R2/v#=Ž̊s:oy_ lS+Amnfkv^Uۂ[FL6*,)x$gCbS?JNgʳ=aǩkJvc7m|nc]Uk.ZI3+*+B \A/U|'QRl'e !^,x L#2ͳ qǬ8qZlCcm06J| >hΏc)H ]",&}}N T☆'f]bdɧZNK$mRNTxBsc[T9^~dgآt@ Ьd%T7j[ہv^!3I<Ŀ1G1lLS#i)YSs;0;BD)O6gn q2D+R5WIyD1alkHMzbP@F*J0Zhs8)IFH'AiAaMt[X ')`eZ e+)CvZOM)M< 2V/L)!cP.br?HLDLJHZ=GJ,eKut'N'%۸wyſY}5og@t9l/'u; Ljo qq.%l} @'Ju4&LdEfV^dHئ /3B/cO3wB޿ S9f,cs>ZQ~" yJ-jĊn"-6<4`/aO띣;pФB0>G4))_2m&ʹcLt>UDt/+3 d!ЖL,pIEUqC qV|%ũхa  т؈JCtK%bȓa!e/еc2$uKG\)ؽjn#gO@%{޳jxCCL9ֳܰ|]xp@I>V)8HI3GJhxͳebdxF8,ȀJ XK\c{ыľW&9s>7wS끮>TNr\Z0'Y9-e}Tq&ƽҽ+pLEqD[aa-#K`=NI8 gSCde'>v4UKZ3{XK%~(\IST[ly fbZ޹uN t2} I)韘KL]NΏ5`A0@TS5Eʯj-?A'3/f[ Yr 3 dO$qW]ILᙕP7UEc@HJć7c*0wfZ endstream endobj 142 0 obj << /Length 2550 /Filter /FlateDecode >> stream xZs_[噈!@SΤgO;$Z"-e%%x㿾izza-xxxxO>}7$Uۛ7%f۵1֭o K* Ko6MrG;tu/k[xϯq HK;jḐlܬ=>k‚e,)A`i~&]}AvJy[t'%Lĺ"Z~@('OIϠ-/(TK 5 8?&}˰</^w87`<޵ cϲ-C s3W q= }˲Xc.s5VU.iuDk%XtZ;5g-VʀeE㜞O(@HeN`޳*O,LcMTeJ$y<`$EV(L80R2j*ɼY*YU^iHzC#Y6[ͨh~.{1 )ML馷I M}XQf0K|ZaU]x]nAxWտo}jdxRQvN юw]?"錍0&**%/BH ?8-.L EZyOy1DebˈȺE 8|t N)~Xb%if~Ǒ eOA x`Cxoƈ| MR> ,oBɊ&lNz7/2%_%W2( `i3j0FE߮_ 2v3aDīH`!Ġ Bu-2ѐ>5ny 4g2BnQf %w(4֐tWuS;E) U^[s4K^fd bCx%*iȏ>\WVXUb*+!J mf8}8c>j@,GM>=Θ :gb-Xgsƚkya+x3 ( H>Frh\or!${\R6^|;<وNx.jS(}DCH_JaS 킞HqiGMU-z8JE} REUkі.%6E9)K{gA,[ z}ᰥ17k9yF/ N\oMzr[ ~>IUdϳ)뭂{\.,$ >BPA !j]=pUmu gClDMU'OG"}QhN}O;žb,8XRs#bF:J~fO(j-54'%uԺx*r\Y 44LZ1˵ݏc sXϵD/:WU+R q}@$>Ɋ6dwPa~l Xo0&ܸN2(3RԐˣ5wOFQo6rYX*8KYN}Ӹ B6rμEWoF-Tt@7M,%n Or*3=xԞ6iB_7]DžF<8=,ѩRk>Ĝ7bյuQ҃Bq3MDqőR99N>Q1 S cp>T5%pEd+a7e;tӸv?QHeYYq0k> stream xڽZIW`1zsC? Aluk,@gF6j͒9&Km_U7ŗ+]}ܯjVFnkc/n]]د7gT[4O6֫Ua)S LѪխ S*)@qht4?_ϟmC-'=7.v#w8Md@em2;O8ㄇβ5pg&miڧœ- xp*oO( >ᖸ:N>21^]Ft$ڰA3uqw?,uTn8ᩰ{{8I @Nb蹍"C8׳`ٸ )>R"8"aϜ9rUpF4֬j֚HJU^]%Tp@ {wqF5Jv W_D %B+PJ~ )2/F&_a$s x>@4$۹姇<-wN{2Ub|8δ=u eyGT**.u*uڙ.-i\P)ڗArI҈:6Ik4z71sS_6Ga4x/+{ -[]艀h&mQmky0~eL r =1lK,C:6j,|]|i g!\4 JmuIi3m4x5(ڞzA䣀y(X F K쁣Sq@OPv˽{=-RG\ew: j!9~"`ՓE3s'yJQ L܈ap\`)~fL/BB>^ҽ3ˎa7!MR [2܅YЄWfJ|YrY~h \ByhMx!Io9;1G ~a^0yLwur1!LbVݢ=AfH7jvL Itt@>!~6uw۞Gˊț&s]|"̢xK)f4U\73O<) zc@谱K<ư߬ Ն] Vx^k#%9"όNω]R'|idYؾ=1،No qź>OK&;\6>$0AYUϑ|3їhZ2oIJç)_|e ΓO"4@&H:P#ɵ:ҥOʣ?ƌx1K)dpn_lLeN6 0.b,w@M% +[M l&A;'GtG F׎XIo}9J8RB1?ԝR,8O`NKg~ n9~YƄrDuB ے=@# [5[o7F[r+ą2_P&I(p"wOSaS@Y[l/՝b; Lr.z܅e _Mortbn4"^,(2_{=%G{1/$ku >dm1JVZm\@jXv4Nk1`b)FM_v0yvx a=\+VmZ姤y|C fm~6wqìB|gBS݌i{Օ2|=^l.wU긶 1nhڭŠijUYV|Z.W%Np=AKwU$4A"K79ݱi&t9V.vU.X7s#:,F.*8#!pCi Ĕ3+` "mEY qT5%v\1Z^(En+vx2qt‰6/p dUP#aM밧G#R,Bt7H}ufw-Yתiҕ̕\!̕J *6˛=(ž+~#UEXze*u NdX vf/2&KnTjU5am^e8O(G'(`}ʪ^}jS@@ͼ)<@KZyd> stream xڭWn7}߯8n @EȒ Z_3kÒPp$p8s! i4LєbȠЊ(h%"Yb+kBˣJd3NA>r\2xP!bK 4{ qDO&;0tAL,^`!D($)S4s F9QL'xXW(CzPKRfr@Ph6V~p~$0,=AAxDögѰU`P׍ K"HƋe ̠ $5nt%3b V;p V5hpB45fd :Y0nAt*iϰ%xX* kTTD5r%:Y !>͠YĈb,WٜRGA ू!butDտ,TЫu3n2͛IK|BG{G~榙o 7WI ժ)]\p@]@9f˒GLE#o6:kenFy :oD6_dU^/u8LlrPxrm Hrw1fd:rw/d] >̬JЁu;iݯ)=v쩜.$qhH鴽QGGU}?Uż ?6f5n]h&-]HG`bH=n0xڿ$۴d`.b`0Ņ-v8#\a*kƝ"t$?3!Вq^aK#.9!Sxa5-]Sϛۖ6}Ї||SA|ٙ^gk>귋դYuek[ gX\`R8N.EwLZOFwMG TEema(k~8 p>d8Ȉ\g%-1=̎9_pqEbDYXY*Eeq>+1RKPZS0{]gp6k%w"z$m)ə_TYG+ׇ0LXDL=FI2OJ-f܌Yn6 f ; endstream endobj 163 0 obj << /Length 1985 /Filter /FlateDecode >> stream xڭYKo8W{Xzuw@ zinM-'d˰e2爫-^^$ٷ~IqWy&&Ĩ|p?P1iIUlm]EF8ǵXJ@3O*&҄@zIkAZiQZ52Vf gR )!=! $NIra$r 4#+$6Lұч픢JnP"{NsϮy,,t1c%tfcC 6V*‘'8X[tp{3bBlK揠8&.[bbijW9dZ9/%a.(op2t)am(& PkBG͖}B1WHJwT78o4U,-MϚk8 )'xk`ΥרodRTHmA6ۘфoC%++\Dj7if}0%(w咻/)An\/w~j l ap!ц,D(N܇wdZQ jw<4%A&qBj΅MCUnz'5 gKpv6;a:k iҟF!|j7tY͈ͯC P>Wk_A-Õ⨜r 0iO^]H`D$(@Wav8{맾7KM038G1"+.7|㫎o,K$\GmynwkY$S-V:to$>j>—x8#v HG(cPmG yx/wUB4uh{[B?Q!oA &R$;j;2O63# _)Mf#*Q(WS_$a1N>GT7 B5R T)ItjM؄B{H*`'9Pai~> stream xڵXYo7~]cI"m&h(`q6ji]_߹LBpo+gFZfvv1*U0ƨrݞ=}{˳W΍ɭWAfsmSrU5壛͍ WL5:1)vsgb+bnjWWkH#Iaw.[Xd7TUI\NES<VW(V ]r{j# CV{?^\=O6gVeN祫 SiLϵ׵~02ZE6I)QeUO^yCѠ̇4C3V&)_Ll=>sXإOA%oY2 n1J2ֲ55$ƵqUczS$cL;4^P}oBq62 56@+-Ž} rKIU859*lݧbb΂mXDezȺ!E`x M5gJi8Xݕ`ui4[`3P$31)@XǕ4UJH2ZOqΎ;,/WZ¸syC`DLSHq y'EHݦUFI#DBLAo:nsvZ|ٲ oddW'Q(T|xugji)jlpbE8Dy.ʕRT_Sn훟mBYJM)%4N.'He9Rqc5<963(=%/|!`QH̾˛A i6ܶ@^^{?`͒ԍnSu d}80J_u\ >oIEZ^Pinj ]2pW3C+F٢cO۝J_`ŒMrs-U%F?`dG_D6s@E#9pגm31 }𮢗iJ" a] A1ދs\Äd7zw=S|+x88CA?*iBjGA endstream endobj 169 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./locfdr-example-Compute-local-fdr.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 175 0 R /BBox [0 0 432 432] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 176 0 R/F3 177 0 R>> /ExtGState << >>/ColorSpace << /sRGB 178 0 R >>>> /Length 3171 /Filter /FlateDecode >> stream xZˎ% ߯ep$ ;pf,,{6bO Q$U$nċibt$Ooǿ>>}|~|qu~||Ͽ ;v|@Wǯ?<|;}ypt _|_{9BOg+sW?_~?'Hݛ/~7Zt\p|=a$x &^=U S̉͸ĹxN8NS@1PLNx%;6y_ub C<߀ߐzb 51*fjO.8s;s5T\Y [i$ Z^%Pe#x;!mUT\\6a9pqWT y(d|4'_,^:vy˄W4_xji=E-%>on}QPg ;FѝD΋Ew%q) QÂw xs,M\1*#tlł)k(I D2FyBRp,U:}{ÜZvOK>)׈Qnʡ[Cv ɱJ!DdV+PŽVLPEiHCxnE75iZÒHwOK3C: ~lD{u%L4ܽtkDDD7]m*r ޸N$J\&u+_IJ\% tͰkVJUr4\A'SzSɵFbJ$\kM:8ZY\pr+:f\G:VY?IM+qr3 :Fڇ+F %+F \mrɵ8XLHrkdɵ1YɕFVru9K(sru8g%WkSk,Rh%׋$WyHr %=$WI%1͹\Nx{nͯԊk:-%bnI)= Iϑ4N]q#R + MΥ/5^)7NSꈄD1vf|H3 fS*NhfSm*>)uw&)UjPwW`\E{'L`o^"V\F =6k!k~+]{&*E|J;Xȧc{4w>/o' endstream endobj 180 0 obj << /Alternate /DeviceRGB /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 183 0 obj << /Length 1960 /Filter /FlateDecode >> stream xڥYKo7WE2monPPFK7Yb֐ɯ/!rVryP\ywkb`B6. jq]\.gly{wnA&¡lZ~+} kc9F7ܹceXǧg2noO2hosB䪤Jhmv[)ϾcGZiFn'!gu4Y?o;i6=DRN"mXEo };2>dGy;bSY8xpB%kx<"4X&!UCWi . 1Mi0/ěP 9&`"!HB)bu`(:c.0G U7dlh6HT;Bl)Vq+Y H%˝X6l5 bj/6 S`~yy3ELvH}fKGI)/<VM zZf$ɶiyĘqr7fY1p) Ucp7 3+b\m\Rr=`/':iݒjvQsGŧ!c= Th\V_)rK:?f]YP7XFr&REXB֯,XY<ŬҿU~<ܮKrL;*2[?|i~j CCfݖxJ t ,i%jP:9-i]偉Z-Fc鄰ɋ m#ȜD6)DW鄆\Ss~bxcIuaS>W*7Q&[m5>@Xa GTW1\؊تؚvjd1 hZM#+fH 8hA#1@-i-k˔KWˁ@+ 贾I)A'AS,J V(@ hXf5akA91uqR5 ؠE lʀXk tt./!_/G}QeEI`_}'}E_;N'X@ bAQ dUx+yWE_}=^=`!iEĸfPs\W;(#^Q5GC>S3=~>Rืu =>c` =.=.B)yv=orѭɤn|i}E8?ysswqC^<Y*䍵rtuQF)3gzb˿Fs&} 6 g Z綑֦#PocO1< ow* ~Y5|y=09s9oh淋7yI endstream endobj 188 0 obj << /Length 851 /Filter /FlateDecode >> stream xV;o0+N`|JTCkK2p,ÏMޑ'rTu8=xQWxbE$E.b9͍Q&5F,gXȖd ǏmHp%@AAHJcKo㉴)Ȕ:e&+p:Nt–*1k0Eͮ;15`AC,LwvM.aEǁ 9J S~2x鞨~e7ZUբA}eJ|S_2JbBϾ(ނ)>ʯvvDAͩISkZV.gfg?R.Kjvt06D` '3̣u[J(ߕ' /K{d cI<wgkHGugdS6\J>*ӭWڡcʾwM&[ZMm>U"sɝi!߁tGɼ| "1}ǔTA:a0⽾ -p- Fd˶7k+D@#iN) YkÎ5>4> SQ"vJ@`6j[Р'5H 3g{$Xnέs;?RqηpoPwqS\0L endstream endobj 201 0 obj << /Length 155 /Filter /FlateDecode >> stream x313R0P0U0S01CB.cI$r9yr\`W4K)YKE!P E ?0? J!DH" @ l%r38 H.WO@.E endstream endobj 212 0 obj << /Length1 1421 /Length2 7080 /Length3 0 /Length 8038 /Filter /FlateDecode >> stream xڍtT6 1twwt 13t Hw7"J H4ҝ"~{y}kzvVF=CG=H AKtBجF`;o;6 C!P{2qԁB!$??@_o & P>;txPͪ􃁝]u~;p$$ĸ<@0"\@CG viSLJœe9>` F=@Ff9 N 7@}7Wjhy p\@W_DJ:8@=<?0vj"| @{ցU}~?``Ov5#߯4׬qTzx 80Y 8:ۓi(ܛms!"b'S~O'~ P t>0oPP:y8{3f_K{ f}0G(+U4073򿜊P_@(GP *  g= Oq$jntMt+~~C,%w=~Fܫ@zCMAIW> ^ g]# 9.//! =(/߽?{Nvϒ*/ o|>^q.aڨr_AX}a>~q?8x`M>>V? r^:HEGt^)Lfs,x_cdp?Y+d .o/2|nkĈjOM1 /0@Ec$xh [[_§_ͷarinMOqUXGg3L:LN_gE?4S^X &^T {X,(L(ejR_+Izџ:eBG &a)qȃ824`D90ЂC.o S͐ws&QJ $|?!*DNie8!2/>"5|b0Oh, Q/V8zcz{i_n_t' Y6ՑOvIDoM ҚžFpkR(*?C5F1пr4;dß-R)D|(dc=˛b;1J+-~T( ݗl1.UNȱ{l^ lr?~:CЖfc0͍J8azl><2`}| :kɸE S?IIP,ΕY \j2]煩e;:ݸ3Pd卙}(m0I}p)İ]}v"lR[W6пۢ'U $a¢X׬,SU a搏NN7*@!=J g! Q;xqIoU%r>U(ԛ#Xlʨ&+Vp ՗Y[9{xSaFqO"-G),7NV{Xb_6D7D=|V;; `,q?'hcYOTU!i^ ԻTQw*SΓܟ_XR[r2<{tȎ7^ϫ|]YIiuƹ!/%DˈenV4.\PzJ;(nCInلs}ŷWQ3ÂIl+>6ޑa^82.bk>eٝX*}J\3K#҉`yzF6L5.$P$CU gW-A7t]Xrb|ww'W7? 0pa~Pm)4=䨑‰ p޵xۋm$:NuS5w/}L)9# Cy2+Vɏ,wY9Y37=pAg!!)o]g6>9O'_p {2nvB:qK+Ǜ [N(E-A 0X,[Oww`[9,*l MqںzQqr"Fgf"vfTbCl-ʋyJyQT:6Ђf]@Mj0KߑQHs|a:.e8TpgоXwJ=Au|xYחK+;d(_~B` mސ8i߽2 S~ߞpqꌕkhvs :a8*:J1'z ]2 a1s?<q:傃5{w ?Gٝw/WK fŵݖR. o|842 źU?N+J &o M>\RAY|i \[$F,S %0$뤚oG(' 4x-+@QYk9%tqcr3`F,J=(ty(GD"{ #XBj:P'p-7QʼJ/EؑpM7i5*`F;DXFfv0ٶ 9=c&c58\xyWV^KԳnבfxĞd/FSmI{1")_Y<F_FD9N,q0{N+Z6.RW(|im~vzlFVu,?+q~Ԑ+A5JUM(kCwM8Y=LŤD=. ~EvTq6`&HFd`,v4L\ 﫵E(b5+]?ܨ:E/=1ηK.z`YM8{Dmi1YL5&^VIs,KraN3?$"m8?:rbrj2GڅC*ӹ$Xx_qY}hʰgO_+lʬ61 ZYsoLU?qĚ,$,ە4cm~D"Yb ӑ̟M@L6OV E8)[r^b8 =ڻ]QcC c%Ƞ[zՉHCΒD;= %#C z1^׾"k˕b+Q^:t߬GL3g$[=+Щ#R$ ЂOiTD-E^2`CN + Դ žI,oxŘ+5\zS}udRj;eJ,y>/rz)rn+r[vR.n6#rc1J~lW]V[}ױ9W&Q\yHR~ q >>vT}&u^yhBc*峊)BJ,Jv%֓PyyeW9qӧ|z 6BZga˃-Aj4uXDĿv9W)ĸ f 0:9w3WqUm-d fz?cZ1ߞlۼ%Np{rH@nl$Hֲb0?b-閖,qK{t*_HvN"\)`|á+7:4+YP$lp.Xy8i6LO`kOi1ᵱ"9?r2<\GN<>70]D=dMaQf -ߺ'S'z.WKDςg4VY.\[lil?Ew,O"謳+l] ` F-F!c>oqFyix0{"  oJ+;\sm0,}66 ks]ZzM%1Tc*"dÝ=u-B&%@~msPa>gaq3B!߹c+wDc\ R鵙wSG%M='/p ;\ Wڶ8ZBC*c2[7'4uwȟ%5w3qKSjWJT.F%ϑC2 WZXrΉ})^OP 9^b 8 gk J~v~t33hAJH:s`I `hl2<%l$"UދٚtQ+,ታ-uS1dlڰ̅Z`*3'TZk)?9kƺIgc:zEm*9WRKjyrr@ͷ&Fw~6{K~8?^ϵۘCVt7(8,|k9*Uj*%.W7.ӻ}>N8w3;$q9&m?.W~ z'batpYa`Yv<0^,|"To~km=M!IB4dGC'@Zeu/,,&ZM{&N#] J|& V+\PT?l LNi8la ]Tdю7]=G Hw<(E^@ x}Hvd#PS6]婇ϵ߃n m~L/ܗwӅu*%EŰ O׾pۊj*v+-. el5+4a Ff}<uq"e/.K! 8z?bdWQu3Yko372w/qj){#GWbJCS%0Ydszݟ9מ![SU;$mW2=ol借GlZ0^~T[3\|, a= sǎ{Ԕzs'!!v}I3Ýn//iWL#r􀝲\Τ7-fSP ɉ'mK Kw<<f\g_풢F*Gó*}Mv]t\;ۙclkDMv_|G9% 8A`§ G~:zw ?|MIy|raAv]-oqsaob-4زUxszMwfZ9kri~{C->Ț'Þx (459hNP;Q:dI ;7}296*nmV'l uͽ ¤QQIK|*a <,mI}~EyȜx Ayk/;2]}&(! ı 70$^.4WXS%G> stream xڍPиݭƃ;  5].s2*km(HTMv ,̼Qy-V33#33+; doQGM-P b`app23Xyh 3v2v@' Q{G[PXxxJAvycgK[GSc)?%,xm-hn gK 4 P0Cf rۡjofl@@;;3#;@UZ;Xz?`adolljjo`llE 9Fgwgz@c'|cWc[_$o drpvbt1ۙ휝~'r?kmgfd33MŁI(-Ơ  `ff?Ly8r6qrẃo_^NƮ@ ߎE,,33hCS 4ݿ#&?)O_W$'*C:ED^ lV uA'Wo]? BZ o]gO快 N$bc-㟈78m.PM߫+boc}o lgac9I܁fJ gS˿]ـJNO ޶pz_.oKq;S{[ 0vt4@`~+m̀hgx#0wD}&ߦ7I0qT 6VE0ip&[YL7zLdrWoB, f/66ݟon_i ߒ67. ;_ otkpGO[?jLΖg7%qp|/d}W3ַo<{ tAy_!@w)✽`ර*wn ?)5Sh]P`h*:' -oS_ -?{6$*>z?ƫLn",L;#'dP~` )CхE)έWҽhܶN%,S'hYxF|u v>Vb K`>Zc/l/ys?w.O(~$Yg|\.SJMX@mpxŒ$q`ƫOVի2(2M v ?m/'cҬxeFd#XUst?e`ɃpUKȥ"h *U"Q7Y<oV)b=)]2q"e.ZQ:$;e(eL`aᜯ!KQ×:"vģ/SLF"KhԱ꾱KQq|=Dx#>(O1wCĆ=#,xac],x[aQ>i>݈Dž!Fic0JqFŲ8f6pjPbNKLA^c1tW COuڱv}o6pM.ٞ N];_5d #\%1 =ڜ\ZG'>8:.`(PZ6T,.1M6>R#TR[b/ү.TpTK;_ͫM5 <q ?S̅]L{"w8L$ %Z䩍Vs\]ӧ;i3tЮnv`/~aLH\MvD:mjUs?Se;2ŞKz}g2p۪6V1b1/o_Ibc(tP'\za'3!v=G'w }o'@/[aP:.P鋎KŃ,ŀeL7>-6 s#̱:O@dtEp(;at$);o@#@ n}yJ.O~֊qbvk {a/#Y7VE2[t-]I󳛥I=H'8^56Ih RW< 3SI~5Pz>2h~A俫11cNمP=訝d'$){-JT~ ,&DxD3LDyay:fgŖaq5Q Ź+N͒rY2d>" &nj !Q@Mu붟,9ݼQMW*\}GQDWh#]*LTַK6T(^tF}/3:q$V [ 0oUGIjp7㮓քy(3eV8PvCkENߘɓ/g@iA>|hD5$Oºc9dRLَiDȓ֋_(oٮF4{B rwdɓSl~5iSgᶮMF$!7VÖQE%SMpJ4>yQnʢ$+n&[yjH*HӄuZEV1t7M2W.Ww9=î Κ]2H+0~eOUWu.ejHȕe'uU.lQ»#8 \ץpɍA@A#U޵C^JhOz)Xt/>[]/ W+1pXksAd@ ~Yk"Ds :$%w< K|EVZЭZN uGrO{$Gxt$Hl]\d:_I.#71\qLrW%;kRJzzF&뛳74cqL<1|"h\śx" *Ҁ|cR< MJ"wtò)IɡG OmtO+Ҷ$![T]@ nSdfi=#hNëzi}% c֖o^!ۛYspB596e}N;{-SW2m9|F'1 '.q`$}T{#ݮ#7XP=W~8H ^q^9GvWDt\C0Mp FRn~0KÔٽ }iI1Ah֊9hu1e}L A҈i vuӨЭƏ\ȇ~z~܌="zc"xK3E݅Z~VJeϢA,1AKOzY.fnA ;N"% 'SMgr\giXӒ~&l#sOz=nT4I^i!vۜ PCZ͠Xqc"`/&$Xۈ֜z,SLP5hJ|UdÒGK(š~\D /QKu*,M"e;'knGhL/)>&W\X^.( duͫԴf BLpԡo-Ns=xx7Gk׭^l]ӕbȐL/Z7 o[ F7f!z$U]sN1y* w .l:TB>gM]F+7wOPѧp2\:bL;ڭUz9 Dt m؊\…/ZL(2eIN멠*#˃ @Q=x\?{) YHa%f@%_j_ +pA4aZ-!j)>@o̹°,[ srH\+\=w[n(c-vz 9GbvMYN'R&!c]馭4-b$Q:Ty6J%wOڝBnQk,Z$;o"$%} 2ؑTŒ7]^|J=_əLr7)LUBHh6/rx#P] 2X)Oh ( ]^瘋IypUaK{8+ݮI&.%bgNꒆ3co>#^xy~~Bt=2@ՠ_=fhLaag'9Szz~5{C/ w!lvM7BlD'} =Cnv;jbcj:N`DF hЛ((s&TS;kr#cG 2.ֳHnf6E56&+L吸dVB׽z@zy#1t^ 3;ZI_~:9Luӯ<%M;DyvS|#). dʦvɺ=-/nfLJ/+un~Pɷ|Hm䌿~0x4k#,$x/OiЍ^WSiLSƃ֤ VZV2krm -p";ubb#:L/qH{4lz;}_kcq>uG`=3] S^Sk* |`dÄ-d 7puоqUe_qk}-Z![Gj:E"VĢ+t}'((pT94y]&[8P0y>L;?pam6HE"*|?7:$]hۖoSTW630+ b͝6!k8X|׷˦|.;˟?03Rp 𽽷cc9Y>TF!=I|^B+V\X!pQ ;jUGB9*?0\+"Y>e8ٕ?o fLjql 9زφLmZeW=Cf| v]yg[`\1;lH#TY:0(%hY8a,IUյ ʕ\x[xR[՛v7C^T&[HR<`(yezY^WvÀRm {iv4N; '_nI]HZʚvm׍iOM+mAwɅ(,>Aho("pXaW<:7RپM:I-)zÃEH?#fQJiT!rd %D[R pw0VTXLFD0e|jS+hޡ' Z9Ze}hW탡^YMJo H>EZ{q"SR$Ar*o-~:Psd>p\XPhJRQ{]XJ_ʸdb.G]]0+ !D}`{N;\`EI]N4Pjt껹ϯQIXC^O1E׬/#LJbs۾`E%l 5-9D$ΧC"G_xY6Xu{ ¯jkt4S\dlhqX3'5_}NpzяkRz/EEgi/F'T~b &:{{,"ݱ]PK%lOs]z0D6 OyZǐ :<ݓ:Orz[O睺qm]H̫XJ0ˡ9A{m70¾tE42)dg{$x(@>ΈgUR}$ojm3Sq@XH6:ƓuPԅ3߼ijmc(7&Y*텛$<4ClnNIjB6gOSJ.[Z};4T fB#C_˾@d9|<7OdAѪ!"TgQA";_rfoC ֲ3㇮^5{\og'FlCn]Abwn Xe'I%i7nf|޼bT5$;ZNʷwn|H0w$KYv:,Z#ȧ8v[7'IB'|?T@([gW.RQgr9XbL9a>D[gu`A[R;re'_^Y^k.iƋe`"3 D}g f)N.Lu^boynbMqŲN9Ar@A1Tf{*gC-s*e5Z o/(V$`8vM~Tae{Ij"Ȳ%WG),: aAW- @P׹bhZԖZ:~ 2|S iq/q]b)eOC'+aıO2STmQ<\tUyl F;WşG $6zfkGʜ 7L;8*c>)Q>;kr#ץ9ULt}/^v7'^Mx xf_B˪?[Œη#h0MM9a)qg ne+Ϋd3 ag:[OFn%#gW@k!0BN?C Sv&e!vS#x"\%?!c:k͉#{Og0nwy}+8De ^]gUmjb6lçnWD)[3gͪ_ û r-^ %gM>t^pNAbAs;C!D*eHלV, ?EbZQSedP hѝT'(MҌ-eTDaԴ5?x'+oQFuA>R:UЖ- &Jx`@THUvG( GODŽ(zr:֫=>E8ܙH#HkUZ/X!j )cN"~ykČс}f[Q@l8ϖ9Yg/ $y3N\eLv傧HkSNV2ܣ(4nX;")?{)cy)wwl t^Hbv!Io͗*Fpp>$,P_B)5*u@? c Hhс+DJrRtC"몈 8Yi 6yʃde:5TJulw'Mvˏ=5zv =N[M[a)Q7wEj+0ws:^: qG +Ofϒ;FY- ؚҾaKi.*kM ڐM0\U* :.{OI2zw]/Y {Wc¯AT  K(c/+~[_mY֙XI͑$1ѬiNo^L!:dlXpda0j;lt+\ e[*Y2,FBV܃ -zne+%nҔe]2x L {ߞeޒ%.z{הCsֺ @ȋh$4cޮj Dx#xOsIz~Taq]sŤص)ug0,Ok{"һ"W#E!s,r򖝧2bY02%g$ߖ&U%˽b{G٣޶Gqw(y?l^[=E8e VȤ\_GǼ>;2"dmU`y@k) Mf.jxN=e@J^u* k6S1]ݡ{S8k6`X yLd'بvn+ȶd;iWeݏ;LuXZ硁9SԕW 6C*V2l汭s\qgQJֽ_oԔ@$JxJ_ɃH\/EE Vڞ?ze}{MMe Ţ5EL~d7CxqN~:.4M;f zazD#yNąhm7`9ji&IAbOuY|&c+v0;Us/rP; uKiP$ 89!Ph(sٜIHyHGz&Cs');wxU}^?%.TWNשP1U|1ܛi/ӹlG+a7x!pRMx F@7[e`b}Bm&>#IX \85n[C4HPiFբ%laPyEv5I=LH%JqC槀4"k܋焣k!OG{FcZe.{GZljɛa"^t<[_9*qW_9?|I3F"z|]^^8d1v!L̰S:/"HN5u2쎍Ěf})YJ9p$UBlTTի/=LGIĆѣahB3|2 .c]Hc_#fUxQк(>5 b,y?e lX}ΧDK]_HN^gYn װT*alld7'|E/k^hB<#/1 }w3w)m%~67>.~ _KH7#j=loJioCre6wj 2OڿJzj]NJR(` #FёNBV>C(Ro)yxrL =.V[)<|Zl {(f@GAc=v 8M/$aCMjCO9Wwji7훗Wi""J& wN.<.ÏE>5B,ي%D%^2MxA)oT+0ddgzrwv$\Q9览Y# za;,+ N׮4..SKFGhK[nBYB`Ώ@pA쾢LB} u6P5ArqgPa,Deķ"R~ I= Jٚ)">q5P>lYRdhŦAI3/Ëf \cZb-C lg&Զ NW֓r{\zrr#i0$X `!r endstream endobj 216 0 obj << /Length1 1633 /Length2 8784 /Length3 0 /Length 9854 /Filter /FlateDecode >> stream xڍP.LqB)KqZ4@`,kqwšhq)mq(RHq-gsLYw:V  %UWWpqrpq`20a +$/ Y({a'- -(Vu qmlay~0Y2pH;`K@9>f:t `B0`"@GWF A ; eWk ][ 5`K룋 xQVh:4VӀ p @`?Gg` v48`06!t(Hk՟% sp;w1;YBAN0WɁ ǹ{quN'￑5wVnΜzN`7_6"d6 KHWr<-m9'r-~ ~l =>0] &77 l XlNDď{ ϛ#ì N^qĜ_ɪ22O7;/ '||8/5;zw aw0 #uAne?\h;[z? ?z#/G@ NkjswAV`7*À dHivn>.?`W'%fi'm^8%yY?^#St}\9wX>~ za>#xs?v89 GcϾkA 85~@DžvGFN #9mpv~sGO99?R~W_ w܏a@ǔ 8?87 ĜXՆ]H{o^'u2UzL:5d\.xoQ{S+lP[>?N𾠠kF3H)!ayQ-TAP%M4SBXwmXŠ&9GGhӪu\a{T .RvGmчE)ЪqosJ -*V/k5m7Lhm¯( eR[V HM =i`OSګzOL޺(0NjWnm`hqCl}QL!JɼkOx:mc$jۦ+Q(`HˋNl1Vw!8RC _[I/̻>L- p\;\3Qp9~%x PgvFw \5C x[<5>R8=;B_Ȋ{۶_uUM).j'EGKJ9Ǽ6ŸU#]Q!ץ &Q-NSh>#/=)x3kG9v>Y4IUױ } M£o2dtޮ{gfm~iAbɠ.]sNL=iP3 ɔɬ@TwmDm+m=zA HO_rڀ.;מdd)_,Z54Z񋰭_YcYe?E3&H V<$.1-c/3qov[ŎToN7;/3:қ nF/^ꎿH)7L¼nh5jj{o0 ׇW/V$$7us B=ҧD0é2@-۔Hnq}Cra[.Uk.­D0!d)$/RBLz$MӶV|.wzY1eM1J<R޶$|hrGR S+^] ՄTg$36W6PEtsC5pz4A^rg TvV2!^BA<4rU0GLJ7F, y+,|P7僥2Y T2jTcb <R~}tZ5eVRc|UQs^6Hw~_"bҚZ`[=.No,@j0ׁ~ hQ.c{7ˆbߕ^#{l(gfX05崴-`u;vͽYXd|PNWY2m&õ?b0 ѣu,%z# aT0b̿ *{EOmk5; E#D7X^Svŵtc_X=4Yz0 #+? FFH$kji b;/Rj3׺JN^ [PiHH(/ 5$mcQŘxA<4Ux괧"{50;Jfo4Q]RCsH֩SZ+,Y#N13*Op)jdB4fMMF҃L:m?/}f)1oOمG :rlzf$j/%I5dtg38Io67|3ɒڎ?9ΦiR\l3 jiLؚj3Gmmg~ֳHluI͸ <X(tP$IcJOx90=i}̥F:ԋ%<W JEn /99E"oq=!I_n@0yr3C+ wΪmv4߹;;A 39~bmԼg )Bq78.HߊDiEP#4czv2m—ՁY,&T)קQLEi#ǔ4[;?^)(vk ~]FA:7*cGky\oO|B]/)RC䌌!,Cr]H=9&ejޚ/giHcKv}GU*Ǩ%eB[_^Nuk0匐t8UE`.&H 9J~d"[uhn=C/p^i;OyL&X%m(@@Kzbz|N uݻ{bkro'2[k qbû/靑txBYBi@^Qȑ,P|LO0%]+4NLMa o0w; R,cwweM%ۂ7L%$詬))^7;KbWH yQ*a+ڛ z.O{;4fc}&~W~Q5l_r5%T| C{y:z]Xw =0B͵ub}A7cK{n-ѭnp(6*ư;C=傌TdhB㧠7 {Z+ԊYtUuSe-(a'cҹLs&d_ 0cMOh&}pX%NqZj 痏$X/sD:k>B-b1GQpo2(o;͸-48P@ZEn.%E 1RKꦘhð~;_[Ӕgr%E~ InېØ;8qE1ݭ=ʏ\ G13Ih=UJbl Ȗ *ڼmI"?C5>I zwFA  4(PO]@(\h,Dꗻ`Ǎ6WW$ǟuaSde8sѕ^2[jٙn _~XWΧw%{Vʶ%oLM._堛 %*:p>#̙xK;=@U_$ ;B| _N1'vhXrF[#ȥ}}e& ^fd()iDQ(:L#þ\گ}IZ3*u܂-#J*s$_M)/Nb :Ӟh]Mpʜ+1e~ʍtMbg H~֯PBuٷ2kQ5K cLL<&Ki ,D:ʟ%LcRqyW]zR%`c=(`}u@J/%< (z'?eqvŦ‘/:w/rb=Վvʎ& kMU_7BZtvHpV%!VBNOeNDʀP!rN,R'Ǽm)zn e_w JzXa` 2IRث/~=>M+DλbC^ݶ J)W:GKY >Uƥ-Iy_NIktK9R:>*XJľlzrb#ɇ&wI+/(~ N@AhJץVV?_BH"Ti7xޏ!oY\%e<\yJT'Yq./uf ?,PTx)nszjQ* .4+en&˗M|$FfbgmQkJ<ηb>;֔IM0igyXk^xlfz(u h̯ IJؔCGaK.qѠ،." Ll ]9TtiyIOq"v%C8&cyb%6*]j>vw h }R`?ßbezCঋ՚'){bߚW-p˴qvf0/GJu'1qx &xVJt(՛b ^&bX\7ǰbH{ri.2Ao1\yt{E]#92V";wśYGu+cR'W;> Q?mkoUi*Υgyd!EYN&pq94vo@Lȣf~@|^ڳPwE-VYU"' 3}C/)Wk_bY1FtYa9;j'k`aG|?~4l&˭RU$6;ણ ‹ FG"m)um?\]u+;lj ""{6 jVሪh8R73:"By$/lwW$7-&n!M8~̩e9iG|J@dϖU*:Wκ) t; ǛOصs$XƮ1&Km>lQw6zYp1l,EKkq/YRiIrHJ5 %:"gmR՞Q]+NHxV-q{Fj^.2]=R/ b^?mWn9dQʘ ?Hx nzз6yг$ _pn0FN!!l=C3npL-Z!˵H,!'V>gBm,ٮ#bgoLԴ¸Y.U6II8!Seɪ'ȴYһ@mVvsD >N9 y5TehfW>QrO_^mvDpw~idqMϲN@!8K%8^pd:*򅎱2S'5d˨*<]Pdm,KðkJ e>"H6dgRONhuD V1jE/!CLI^2 Fs/n:>i Y$`F{Sm[+c̷ϼYҾz+[|Vcʡd/\Gg^ ,O @;i[_ځ_d0Ǧ2IWm>ػ::|DޯGuAuc(.ʨy!EH ?C4/^2(J%]N@2W َl[Oz0L!r^ܘ[CS:Nf]a7E5}9@m{Zhuz?*qXpG{В[X`Aej*sˆ K: < ҄JD=d<3%4UqVv Ub9LHjg<^oRL?^Leؗ[jiʎ =<Ԣ7g-K?m p(SIM7"uzۛcڎl.l)29W*}T 8eg4N!Q ;'Vxhz_p11o}Z˚v\wK=ՄY qm.G!f+b4;SZcEi~^~ZkO>^"*vƢڗ=7ѻ|T4S/|NAVSnK@렴DMvCOm8[{|G3礜:fFeߓ*wC}~O{l:lP~cf_ޱDĢ` _`/뚏Tnŕ8G >3G/BecHg![}ɲLҊ꥕Rw]zefD\NEdSbNSi)߿pO"h)-I : dUm:CǍڐ?k#V(R&M0,Ew( ]œ?Yodmr :%R(j'xQZ5Vad ih8CJa ϋ56;F' C&vTǚbs.:`^MCxNe5Ut?< &WIlbtj 01ySnH,"실AGz_X2z0Iۥ iZWXB_Z87ioJ[١ ~aRAC0S^buƳ~|ҕz~ݒ C{nZcK+޷k 6K `~`@ y12+͈zsj^Si6$R4:;Qlxo=U#.:fzE\$8̘_y6E] V^.rkROL3fbc^cuG'e?5(hL[6`4 )z.DuGj(T.d4t{|ʺ!(PKN?W%vO8PZ{۞gL|sfc{lKui-$JR PJ̯#_# uL}idjO4/1 cM0x1͠4׃l9ArBs+SiW6$rJ19YKL2<_,Eή{NitヰOq vL*97|WuI0[ 3WJz D̄S(Hh[xZ=ܱk+Ak1x{"h[qCi}sIץ MQ8r8^ܶ6Fd$"aW@V[ *8Q[\j4M)SF۸0&jj ٠/_Mg|i L n%>`.t_#xӚpL![^Dk9/^UvFx0՗bȀv]/Kaai!)j9[[]fFJl4ΟB^zl~ [32 jf}t61N)'#J /^g LH^`j?_0v‰Oe6.i G" y} LlK/c|2S\x<|-S /z=tYx$$-fsd2+$bM}71 9{ώOLX "QTR$%h?V.Z;30GD KT8:tvuSd~I_di{s_,mWQ,(2FHE)'Sm~߲'I{}?KHw`rM$@X}疴O1 Ԅ}{>xSpV->dޔ;72wRe$HmYtMF\z:jPcE򙷞Eu{[L1zKCڙ DrYa }OAZ&.Zf5~NلsRS(N)DXP_EE ر>v^(aU $xMqǰ$V'(W_dlmn\abaϚQǯo\2RJ0 h#1ݧEKm0íw=.]I}G:֛"1 Ct:]>p$ay%p@"T=?7<W endstream endobj 218 0 obj << /Length1 1386 /Length2 6140 /Length3 0 /Length 7097 /Filter /FlateDecode >> stream xڍt4\"J F3=zEc0 fEt;!A-Z%B J$jRoZgsY v4 K,, !nRv'FI/'`XN4\0I,/ SPy#m@B`H~HG',\pn"!!;wCx"0 :!p'a!D`QK uaО2| 0Oo=k`@3);`>0Os"ᅲGxCu-@ _08C!Qh `}| e sŠq0of0܀=XkD_epWD!PX 8lA5({_C{ ^u?>GńŅ; *or& pG!H4FXO/D`"@{$ !(Tǹl=]0{7+(WWPY[̂)(}~!_  ý rQh.ղ_pU7b:hmXn SoUnHwwܐ~8zaq Fto)jH/ca8%ȣql懈E/^;/"Q=4+'Ԇ_6 O* <=a~,()ڀ ť'5CP@Gp/OO;_ou#8i4\*¹>Nއ4nֱRkblRa^fʻnsqF?C~fuGf&SX)f(0IVx1Sv;S=qREL#U2Wɗe ~U7Z΂eO :٬m')>}T݌a_٢TR J"D&~TxoeSة^We]b@KگXb97)tUq2'tH0+\<`51.^zA L8;ŁW\=ǕAY5p ~Bnj8*$S7t?-R 8&gPy%KeJ޻3+0aiU$W@lpS*jOt3\s:qA=W'?a!vG-ߞ#nYyHLt㏚e֓*љ[pr0Q~PeQVsvۧTžm<8<#A1i "ĕ%ξ*Q ZjmuKohduppgdb;8\9~WU#^-{tՒE=xc#WF ~ӄ̝!^ кTBPfUںRWlDߑG|Wu~`OTTѯȁIz ֢&HcVw( >zm ܯ>lOˮa6?_cW-é* ]J/>&>`?,m[v#z)H6@Xf/8m^ =%6u wI|YDH3QSx悩}*sE&FKd".{.zGەIqZƐ<C ZQG_!T_y,h]X[0nݎ&D4# zRRK ||O6YW;0@=FX3ژ;3 a羔0]3vm{$@1SWvzd<W1;͈,gp285)'jqT5S>jܡ86zibm㓞 c6HR0~gSTQb"UlS+GgGĬxc£9Zf-BןKߺ6{r+e2 #ҳ[ma+(+ҹn{kR%ڡQkN#'u9_>9de'SsJvQ1t[9::k%ͣl"cY|}ڮh]ՒB}sч,UA\>{#D_W`~Ɵ+PQԮS+L6X2ſX啂4L߈ \N.&]|ńmfcY,/dUt 535W-^'b\+1Z41SsaӌBәM5!77X6h5o2?z}=`h6 ~ VጴƵV\Ü9fҗPM$)}\"G}CJ ,wkŕf + <>2йZAڃ着$yY~CW[z?w#_^%_oeciqMT:f-5񻕵 fǗVߧc~ 3XTd|,/EHa+ Od ,X,x7611í;--EGed$dds )oǃRˍsJWޙp]SY4|[xfQk4 ϙBÏKD[FD^4b}՝7 [;G$7;(O?.~7^eP[ǻJ^J~&mhR)##@Cv[U ->@f(]h'!mӹ >y~]뛹+.է¿#Q]ž, -6̞1^op"B}q?,F(C-D@lD?9;ʛtkm-/w_#U4EE&$6!HSN 枎j}x*/>f1 G7 >:OO/I:=> _o,P~q(0|r)`&?r}7*;G: a!דIQeZ~{Dƒ ǴZ6phƖP`ޮ-(bmLAϊĐmfӰD!vsIaC,ftIw×K|~r+c׭( 5D 7= _ū{F x\dS5*ZbX9vw2D`;H<4/A~@u6r2k ۨq̠P|{g? 5]% C" 55wv61~[MV >ӛu{G۟vIȕc-mmՃm`gxi 2v*n+c"=g+ c`(#@O.ɫ]h@7J Cc5t%_C\jE |Գ]7FvѪj k/ִQeν؞Nd'r0gD^R p<&Op xyW6dQJ!2'o.X8mAPL=Yu> M9)Urǜq5V_׭s/.'M~f;laٰ.RQxuM5S[~&qlFN8R];muD]r{xlw*~5m;@jonC\]2LڡouRdݞ,ԑo (, <>;쒈`K']}w̆eþՏ.Wz(Y.AJY=$Z_J^f)1nCmiFi]K7)n#QLxi]P S5Cx= .x^FQ+!#W㞯~qFc_R_b5{|,f^P )!] 7NAaa4 Lšsړozi)qhi֮ǫc,Y2Ti%,}w ~ʃ?4>ώVfk`rX*p2Of,9bފ3JP_|r$'ȼ$#"C3mjt!w[pDHe*,{|"s&3^qrb޴m3G}O$ q9B)sQvMh: 6+TK>Q{6m(θtl /ԡ _BJ/-y,6ӐDֽ3+i>4' 1٦79u?{͕PRUfNj՟xSKULИڃ4 TZ Ty΢?<&ү:{ws߿@-Swmh|+֋*\0~-%c3`mmH8 <#y|sTҷ#2sDB3ï­ǘ&F;Bj4@{dyW&t!_I@ݏvD2#u]YMw]Mo̿ޥyQ#2`ÒZ7_qz!W8Nod﩯{,+6A7Tٜs@b 5+͞׼f MW̝Oݛy̧P!CTwJBX}vвaH7bߜ.A .ɳW'/LOV)6&0[RPVQ@{zyZ0=P{j#pfzIr1h`=}z}amZQeP4^  7+9s;FMAݷ'm`{9]#9=/69y)c%hĘM̄k"T2(Ë Bp6v-gyGH݂.y5t#],DfM.]}RT_jJծĉન]H6RfġSh 22ho+ąPrƬ$UfI+^2(͍xɖ&IOwk-i@׍h. 7fO] v-: ?,oJnHQd7 }gJY4S)&^mpuq%-KEi&f=w~d,Y B%(vl-0mgq\Ы4B&+RB noo&e}ֻ;-/O:8mL})wh~uch vDfhgsR:*dW9T#&r04')&neڜy>KV>Jp6]2gzNY=@LzlKEm5*"o}l9?lR++I]n J5T_?g0b*(ֺqE{+h$ݵ>o9y$z:罉Æm4ܰZb]3͇TPF*Zr+5[];b?x%JV:D endstream endobj 220 0 obj << /Length1 2574 /Length2 21612 /Length3 0 /Length 23074 /Filter /FlateDecode >> stream xڌP\- 4h]wB nAKpwy=_^Q6Lb@iG3+?@BIʎHMifZj ,4s)967??++ ]f%f#H-bkm: zۿb@[ 3@f0h8ZݼN͉ӓZ-tx- (9ic\ m- W;4*N@Ɗ76f@,,@޶ k="`mhf7073@ZL `.?Z:2.wp@@+$m]{=w GO-wN,Z [gwL"?2kt,lX~vd-W!yn.@*ns-Oth7 ` =6~3#_eQWPcL&v.V%wU3_9#lm=t9zc);䆬\UoG-NH/5_?uw# @T*-mV |b kU hjfa-}e <;7sq\\̼C#./-^-1vX9 (7Eo `x,/EHX v` A3(A`"^0fP 'Eקٵ 0/ pfYVnUC[qY8ڃ'?N?WL \_ l`nrogwI 6Czae-뷹? UɆ<o' `? }g&:#wp=8?`g;Q9߃͓?Ota8pww'Xg)8;-EG 9 tqzc\ wΟ0,n6.?G7O <f+|"#Q,G:{'MvN*}|k̑I_4y9yf|Lٵ1ƞ:T@-Q?vr]E# NmI [; ~Jۍv]:"W4aPSW畡~ۈ.2>bkO6)%ltJ7:@9lO0fႾ!lYYyaz GO Δ;֧1=1B_C_Ϳ}$2͉+̖*\Uld9[e&SL?*ᔓٙ6 +f>ѮjM*V#>ao 廱߼7}V)>Vա骒)#vkXS܃ܡ1MGSakm$5mɂR/~ F%=DqؿA 砯Q.AQ5jihQC"1Ek_mX eHC>u&D!*iUS"q]t?phpZ[xH6gUu69n'W,I*`xa$՚HwjO/B5@QV4m-lJ$";^A^VI =px}x-Z/iXRaLu/bh0 _$ *!hz|y`)'z&:gfeg/cX*Q=)R=5"j_ґ&M 撲Vg r8x?:dsZV+l!SKC\$ԎK^/UANK!;YE4&w_YZ0Y_eݪLNxξXR9rpzdʵ}>}ߵ!d]#PWc4˽2kxx'efje(EF|>V&[kAcv:߭Fb+nyٞFU`l(єqlQfv\D݋lי\ga66ˇAq!Ѻcr֤.BG{ہ C8F=kg9h'Ұx liܷ!i0|Eƅ'M<r|Aڤm6'凯* 6(EۆNA ^FjԬ 0 Ypk,V=ԪRb,'\Xybk5?:([ua@ҰI1aI]xt&:go^Lfu0^Q_ oEU Yr!RqxRfnY))M?@9|zm i_y_E-/\'ӦO^\%x[xZvۄ[*;Uٮ˼߮=u]ob07pyVPzZp~HhД{ޗv;`"jA(j1C5c9_r{ 6^q)(Bwr!Zw_[[`m4r FY%om/o,iQODuк(fcFbvp=uMWʙfjlxGU|%Me#%$WwEq T.x⽏Ċy>Fqg.H%Eʒ1J2<|Tr/4bD {no*  ;U="W5}]Y ,b Vd".tG0#@-Df0(j\qcsEvg6,֘g7LaU|u?C&U?1E naaUBv 6ģHHk*YoQK.qTmݜ LhhU;ҏu{IkUMr䲨sϯRr4:u=H& kcLNYaK5ͮss%HxB4kxTAhԻZBPZj74C岭&y쾱2ҤX4cfrO|-: -Ƿ\ CّF0 8Y}o(>S2YZ9~ctJIԚAd՝glxW%Ylt=, +˧ݻ YC*;c .;J'avVWotW^8joQ݄ j6yGe\ԩi"km=~u(?7)¥TV {} Z@Xb1|o4PF8hr{VM VvlmMcuB <%  ҡ& äJI1Y56 _Nj5%lŪl=7HUiJatS T-!'e.Hg`}YlZ~T-{޽rXl-$4ԣ{iH9i|}ڦ#l!9# X[T ꈁZMNHˋ@IUObfB:bO7&\+(iem.'Q)'qHR}+ Nr.slmmE^ZJŬzmilƁF-9 Q Y4Wh+8W:pKҬZۻm|;ς &-|\e6jʟc--GLEF$4ֳMCc^oC1Rli+h_.7< Q-S"R-U-J؈se i?u.\ekvXEt/{GȯJt.eKs =_%S?7$5-rρu;_ T|S`j3NƜmUA6do9= W{/S\\#Z[80ruy?>ujp+ߵ嗽(P ]1"xq便$q-oHu1 A2eC<֛:HYs~H|.G-֜rBx&ugڠfLQn֑{'2|d"dY>_ jeܹLdJX>L#ǎl!sFձU"M%`w*lH DOM6(pU~8lޖsq>+ YðuԽs>yzS |%)z Y 2-6fYǡq>2Wx=|>$0^M 3]mOo*obB^й*:-lH;}$7ƻ<[b۟?a~`$4u}C gv9rkV"7 K䣩Y!f JAX4ώnO.#3R"B] E01Ø1M{dNL4ŏP ӯݦiE'+߇\+EZ<~>E1$> o+[3.u9R .i!L^ZXm%.}^i4恡͠+.QwglhQEqׄ"KNemIR}LYPBޛj1_,nJ}W;At+r&6_ǟJu6;'z(4xP;HkaNPHh~.#3VF~on\NS.ܡAE_9Vv' 1N{sts(g-8quc =C76>~ pEbfe+͋ ؘn+E  l׏%g[Zt'$\5d' DSL)LQ%j4J>>O'CB! d"t$ {CPdݧ_'2hs8(8.4F+1X U^OrH\W >7ö ow5Cq9vNH U)Ų6SV뒻 ?>S~EZaDj3 i,-h<_Xf4)R_I gBI)V=}sۼˋiC9VP# ïUʇ"yBJrx~ۧljnLRݣS"XA. f)'Add1a6I0D0S3Z#V)CڋۻW?sD}~BV Xo[gRQ֠xf>&9;Zf.֯ρNa$d|.ɣZ FB&[ǸQ 65M'eu[Ǐ:*ܕ̖Մ{sbƄ5x{ H5n#,0M:](MXCwcSd2HRq?p:-m$!%e9@;#AoGPm p%hPC\}u[ d ܬ59ɑoM'I@E,kwZtv032y6F%j^*wXo2yx*Q!o a+ݠX3LE J:l١?vN>3@#G4M-]}10Tu#OfMqW :Xdܦ2#oe{2ފ杙$ꖭ=,W5&2t=.A|:u1Dl*9 ʽl 2eDwMV ۻ/r):{MƎugEJWSJw#eƉ6^)YG <")0 Z%%GLFZ.Mh~ SiZӔ~ED 4Y.$DT)!l}=UԞ}͔=ʼ3b{*v#%|xu T>q R-Ӓ>U~b%ﲨԚo'$beaY52b&8ȥE)ߕSsSR3kv$nq)Ё%Кױ.* m384ܞ(A,0'2;O=)nWձ&e'OBM'ػCKCV l­ؘg.X .Atjenꚵ$KYP 5-*3GK.;.&m%զk=}4a7yiQtɩ ?;);H`^J}e3+iVa}B<|_ 0zC9+^DPi%h~>@צXRԽsKkI1f N2M׭ADs4tbK RSy7xy1 ƹ7GaL?l5AZju"*_о^BLM;>m0%)J'Yek.1tӏ^j?%1_(9:?V.O03B]|c˒\s<4A(MynT>L"3 pr# "@5`i|Ďa(0(SFx`&;$q&vW78Lש%줧Kme.~"~뾝opHUNrn>xl&uE87J"ҕ38$-Eh2vQz0?4'ܨ6?>%Zyԍ nWCiJCru"[5&Go~Bx5c/W~^ Sr!$45& ߌkNgY;Wj4o0?TYzz$ :$sdMGRU/%&ǪCTn吲)%s!R~EQ"1{=}}P#(Uʯ G0vaIUW|mme1JV%Opli.^GpiM?jVGMeeKW U79܈i5;UUh2oGHn_r(6!׷>1<I} |4dgH3:3S>4T$u'&;f94J_s`26x"wm _r{ j'pXwM] bvp .V7;QĬ!/ql{t$-XXA׷hmrU vGXщN># M|w}&^ZyԾ:gǚZué׊MC"cF'{z>nt X_bP5a9cil5m)*n!lֆO"hmө߆d~ ;C"V)9&rѠ1C(0PH9:V*r-lzJ>kS0BɋAWYCO-C^BZbqS`w[Q"$8s7易EX._)JNn͑y\ 5|'c.:4iZ;%yF5G{lba;n!3ntSW"ֳAfَ<7x᪳{ Yoy=ӧAOzIߑ9o!HzF ,)l1bE=ZkDp#SZezdLvhthS?XY)}"cPMߺnRb|k-F*ǕtHÙ2&uiPQӜJOy'QN9fXop%`0 5,+iXA7f/Aوl+,΁z:#(ӼY|P?D٬n=YEp}↹cJ_P͙>ޗwKʽU8MhT̂k;ČH;S7tw7r2HHQBmM]6dE5 8Fcz߃r6V1IJlFIkb)ӿm!"G߷,Ȩl::=1"ˈPNI#Q]1;~Aݪ!&UE~i_-D>&r˔RuY5~v6#[c*:U>/zKfdOl ITx*%`s'7. rMZ&*Ck\6xvġ*wr'ܗg& lm.Q +(=jO$VrſӗGR pT(>ŵ>\$a}Su8u ih~[V4Jy^ausّ"㙂"2І˂3lS2Z_Daf.nAJ+_ Ǖ/o}mZYllſt_$D:}*cD|oy!d5`ragJ6oFSPqkRbOWxRp"ı>QBS98WC_F nJgTO:RBoϳٹɟ! 9*.yr쮘o k{*K2NL *`xv|GZP}zo\7KOƟZcsܖ_Iyс`/mְJ#FɲU}l9 ߙP{OS__c8TS&Y]܌f]a&q5+:@ Sp`U29]vl sm!.Op9ׅž hR'm}3ŰКH5]J{cM4xyNK%ޣ6\cВkG!D}X =Ez2BlHЧ6x;[㻙o*kmḍ2%fxԥYPfRjEXY&^6eIjƤG 7WIwSU㻙72x` ! 0`uƩ+.,j)x^:N'&9= =n "yL2$&ŭ mN3%7=r: !o"lÐY#w_Z:=9>qzROwTpHX7B}?r T=#A3i^'zwjjw H6{pr>Ѩyu'0xOF]tYaj&U&al7l&i+ Qkr!,}D{6LکyWYWiΩkz7t^$8 ϗ.B\b,'(Gfb)v]kb fzנ^>VƋ#zcDez^RgיW^HLh{{E";^D %D9 -T%i9VTBK_mCpS}))Y7ބɴ1{|wk )Ө"":QA\|OI=qi &3E"QvfJ`r|SoQx1ubI윣3SI,D>Qwk'̇gggq^ ߑv|^o_P<:w5ue}vľ.S۵*}O3*Gj\Qӭwfl@Y,| ͇PmǠb@t(zu h맏o}^\>* $z`sG%vK8Oh *vñVr7kYS3U@-rq֊FqSS FѹXqO(yٻXЉ2#xܔ'$f?%e3=(~CZ({ 9đHiu;{@qF%.@xF: ܤZ{C\_#K5jkeaZbϰwsz!EEM?&~u5H(Li1 př ]|՗d%F{uըzexۏ!pKlۧ~Ԟ =ȓ/V_yJbhB]f56ɾGT–D4q~%Fi꿹^h&1~M?M\+~"tnVǔ}#gA>k C97z('P&}1v%ք!jv&SJr[÷v'L1ЉMOb.oH܎G/ Fz`kxLJ>]/ MH-L͐Gbڄܴl/m}٘:( |Vϱ<10H\1)Pçr#=jĩ$mT8Ƥ?64 !Bސ=82NO[.b:J/٧*V~)lDd}rˀNnm@zs<;[nVQ*RsS[DQR25fɥ6#[$}³n.O% 5D>Kչ3QIr</sC jMeOۣ#a:Ջh/q[< n~"mq?:ff͇8f?$Xْs|!Q͢1Ip*3szFE.851, =Bo: dXAN}E|ݲ~Bb#}uy6Y2kߺ:}%~c)KWE@w3Lw t }ݷY&@9XOjāOpz(lBiz-Xs5kմf.\0XjcҶhq=y(ŅE2a-k EyzCvT]2rB=q2ɆcX0RI^`'R6U[R/Y"^=* \pkjK&c%ӉfƵo6@PhK5oLJŐHf4~iߔh?5ؾtYz݆=D)qGX> nG"iau?Bw@n#0v&~<]ھAIޤGSϔ mpd{haU0?PN3*^[zMT `ݓԪƆ CӢ?( ;YvjOpM*;s^:Jib swP:%&W,]1`|ut}, Evg?[Zқ]6p\qڌՅm9lj}ED3/.@&bŋdBK˹҃ z'(a-{OB,KRF]ٿV$s{H/z!X!-EC", 37צtf%95t'Yg p[}W{Ok$g NslzJ{EjQaʷbIM16MB %Ug܃kWfPK;;y ѫ#w}=|X8D<ΰT @~PBff3Rf@zva3fOւ;;:Ux _Vk]a./_9Vuk?U>e`\s½ǧ?3t!]ӜF> k&9Z + (o]K91J&q^wc6VH@ nوgrmf P$C* _dSȇ* ɡ0maě7 T75٧5ޙ%Rc $DzP26@ nο7U|ʞ8Ϟ99Cr!^B_؛ѮB2ziE$ZAF\ 1(1JC$e' 9Ao$\rQ6jŪH*dh!IL`bgy`tq=bOTG)m,L>. m_RA*.J?ES%L Pm"$0CL01 h? >k,X52J>ɧ|v'HE &W<aKX |)( ՒJW9AfἋ"az{c1 %9ΪEp5QʦsV5bE.OyQdNIoJyDj94@ uTO] з7)V/_qΫny^-Ej1UݱR;«i9(0Q+On\#84c< [Y=u|FBU䗠PK2˙n޻Կ˴F9o#Q<T^R]5;S MS )@[^ůRX;a?K U׾)1΁}U/Vi0+8,y;V)"gO Y*F݀Hi{W~z uGډjȸ竃 lm`5QjnŴ\ .؉~"PD뙓|hLUa vi ts2R:dRRA\ T]緢kƏF(zF/fGb)y<8D(ǭqc#IjxHUe1I{'+q( ݅د_l> 5YF KQ'YeRKbKiB /qh(Mۊ^ E6ғ[ fredydXG<:W#{rqڄ#q:Ef*\%ӏk63k҂֔e=1f,B6+$?jc-|ɛ1V72v"[(gp/KLd m|/>@tOqc~ʐs|?0,,ukډ_M~I>D]?yEeY+zkN %ͫ 5vL7l'f-}lCPWA\.feN6kf|׆E^FCxFq}޹6P έ0S:@t#6V=k|@Й"u(+ڎTJDa\whkiq0$Uhq[.E혈^ < FMئyȖsrbs37_I̛y Sn d7qmF$ ߞ]~ r[V%x5)$g#V6c&e*OJeC78%#X$נS_%ԊwvHi[U=Lm~;\72mr_}d93v '\-al0A>_85>j MEmp1nkkuJ. +aq){򰊀똓Ose{APB_"vPÃwK{1RnYQ\\b;Цc\GN8<_xM`g1EÐ~G S"5*Ic-.(1z}a`'mEßW=ZNJC3+2Y+/3#kP7al1ya)P[s:Qbx$y,/ywSBDlr&ՔFjHGjΆ8P|tnaj"L]uo [r$ndncI-|' ԕeJ4jUbC1BS :%f4瀴aɖUt? )g^P4.^5<ΡCyƒqa fyU3꽨wQ e}z'+7 }mĞ Aw7;[|FsM]/D3FSf}t'=ufM-3 #4 E/6YG~ XF"*~alq'YEJ:5}> #yjrE&ݚ"&_LⷒM|8҆IK@Hʹ DF3.ntO󺅷v!Ci N6ۭ[\3d@i@h{ $)Q\D󵭬gv#75+. ͝C) /mya j^c3JNF׸jHd#2X#Fxoyy@1CPx&==4]:(+\2ş^rĂ|¥[VLWz$Hh/=ٞ7T8<"yf= Hz NP$2!Rm}殪S_*x*Xެ2eX|s׹YXZ =J`Ǯɂa # OV`ʔ4owjh}e+;sO\$siPB 5s44T޴'q*ꛮM8p|"?>do:!@0-1<[ѣq=ȶfۺTPY !f4GN5XEH[V[COR=*rc<{GV+;9d|:9X>un17Rt][&"z$ol("gFG6-H ?/%b6FZIv7|iۄsшT@.=QHΤ' f34moBEwL;"4=^#u"cFozj|.,\ o6/`B}|I1R0*ɲl uZ*=g`nBWp[ dNi|fDp`#lIx~= ?W+ y!aSd:άK"q$ I]O0I8j`_qKMS=hyeD!$(_e=۵ _mVCG#;K?eܼyMxGQՏYU YpuS:wCshDc7L7urB;uFArv3pD+dT8[$dUsN{Z;(GD0#J:Sˣg|HV QyDBvǬoO"5!=ɕ wk|#ΐaBN|&~qj)+nRd 1P{ʳD{5F\$k78{"E 2U%U*)+qݹ EL1Wy-Al:Q_K  pʙV§Vi`lKg90(gQ*< YciސH?F9lJS"Vھ-0v{;RR!P͕W`}spZ'(dl>tj5=P$uoemUE$IorHː=mr &IN䢥Ky tKai$Rٽа:FL̘ŧ4`Bu2To;>өTHjΉ\ Ű},O1S"JyC69V0pqԄ|>5NSUUV(4l @Z>)'СMfboh3"4O痎;rNG,9|KhG9t彚Max=sZNwJۥ$Mf}sbPы;Fˇя{< g*\+vyafzZ9p󢙙&6AӁyj`T\[V\"{qZU*BhA7ν^Bt. Ѵ0M\[Gڳ[-{R~4DŽxy7ׅp||8MtD_:R=Fyk7Wt2 %}썛Qљ$3h=MO@I)a)[0t9R?>ZͮK_ЕҥJԸuQߚ`(ɶ[%KaP7Y.;do3|=ox,nD-M=mA .^<33\'F0?˔=^E LM|o+bjh ACfMs̥ z8: WY<,g#iB,Z|5MZ}#Kc׆ϕS$_`莝wn XмEl8\IT8.AS'`cQͼ'a$ vX=CJ0P0Gq4#[:H!0 H:eAuo6>,i$&[1C,6^m,Vl/P\dV_'̎?;2) iKKH2[o״\ؐu&` sr)lqj6-9K5#F 70bQ;Ήҝ~s endstream endobj 222 0 obj << /Length1 1925 /Length2 12308 /Length3 0 /Length 13497 /Filter /FlateDecode >> stream xڍTj.Lww-݂t C 0twJ#!ݝ"" !qpY\w^s=9H A؁날`@Af.2Y3g;@ x- %?ЗY37@988zBV.i/ d ef59#\<+KNNwww3{g83b 9n f+@h[k9XAAg8?{B,@Psr2@Xo6?oOCr6 `l+sx  vf17Ki̞ 򥑰5˧ctg}#AraDa=sy53D{[m{kR) %%$^wit$Q{n=&U1K&RNxwkK~.+y( ;%5хwzrY5  ᔰ9 X;V1īo++MXrm]V+_=gN"X~^3:[ؓ&75ն'Ȣ#jȢtn#G$MLmmRG41ΜQvEPS$US+[ 9..|cԕHab*^RD#SX^я'F\VZv Obɍ{ _ngA9G y,ʱfr#2NRȨ߻ &"BiEҥa+Hn~qwn-oOf\}sHx܏FrRCRN`n)ȅƏgEy&I0C-+zaf_8'ugu<7Vu+hPkԂtz&yMgzrA$%A}:V[VdyoHʵw|f)))1/{ fƻ8oSGYkH{0ƒ)JUsuSSc #x5FTi D|p}}3̩d}HfB;p4T\í鷬+F)SV%f'R-HqDdJ5/{ /wٷӹ#.7b J`Zv5ɔ/w3-؁ -F]n)eG7H0gU"uTSD= zĐ_:٪sz0^ƾQV/<$2R@AlE O*@ BDGHg=Pڮ8Fer _mo TO0}<ɟY He-7Eל@x6#RI=9Bŧę:O=/v3IS< kM9/ t.7:}u[UdQ1tV](:P'~@_ ʏkNNQ&C$JI%{h0#/xJC|!gh#O1I)tc_H~pt@fIsd帲3ȅv!}Sp@.]ʉ먶CCe˛lC$] rgX-ևFuU)u`_!0W('#x-<,¦C{;2d7\hg&ǫ?K!B 1qm&N!Gq?Gw99˺/-`>>rNjէCFW>tឞVY+I ~Ho7.v˙d!GfTwi~iJ{T^yGn/uu&: &\mZdtwa.)|WоWUElj-Ev Tah!Oaj$f0j(;L-JM-=PJj%8n 1"adM vJj8_@wKpFky*-S>yH= ߿Xa ay}ca/rn)L߯qAH4m*b2 *MK1dQCǬѶ#]s 7a!sHA:ԪsQD5ǼAiMؾj!7RLJd5ņ!rfNQokn-P~}&bVN`K`m|Q5TMCpB,BR=!]T=rd՟sAtKƭOfo omi׫%z{7Fz6\(>Qp:,E[lISgF ]Q2K^m\o}.Cקl ɩjߒ T/oOs+KV*m6t{JHLE8 UMx-h,KcV|a]BbƥKNhlEd$&A4L`ּ2&#{&XDMpWGjf(.HA[_Q*2I\*E kNG|[φMt?%2J4qHfo0dR? ֳ.!T!P428EaT SYB, qC!L! 3T%&xDW:Q"(1{^{+vu]TYjbL%}8v͵ڝ7fӇy~/#iTmgK zdXR4kS&PHBk5v"U 1ab+~#=c&Dƾl9=.B89!"+ҋI"6tJXq ~a8ɠGK> SdYWęAÝ4ϟ @Ή>۾USrP{b,KFE+N=5/̾Dy7 U8o_ ^EPFF|f@Z bo4htAZx;GQp]$IAj{q"/5l6z4]0;nl¢ys CC~ŀQqL]::ՆE|J[qo,CPFRn1?"#;=D6h{ѕ* h*^ 7.ٯn7_v4LU/,>\3C)%")DwqiXp'\F"];Qkm&OCx_^*ć_3&,0J+Yh_S13 PvmerOg|SPb>C'1]Vx-* ڲo{6g3x'8FO59W$HkQH@]P>߷]Y4"6RwUcZo `qL?%xWgWlaq*@KR$O%K +[u|r̲084SWB*C'G v q'08vVڦCI[&?4$op4K TS0#W]g&X9yM`}y5*Uk'C{qKWQeƒe D3!pzX45SԍݽeG{>.<;H7.$mKR)6ܪ߯M#lAh( a}w"L$mt ǙQ e uEdn. $?D9-~G33UqڊHC['m8k޶^/p-yxxYu3loSśMCrbklիZc5)%+NJ} ny[|Pez B 6':(f.VVFf)l˧)PTVVrWQ/Ibs_yDm׮T#P-^XD2ҜoTkךκMkzoJ3DMȴa6_#čOaZIb7V*2esc?DP"Z]ǩU7NLeDWpIwNU5ͦe vشj,9]*k*wq3޸#gE f&YJ;! UkKJJv{ E%>e*PT :\ jYN{U=)˧$4S!콫855Zo=.vWseQFe}x-|IK8.iٜ`@t$!bI쮨}FUWz-:V hr1{2З甸;38b0 {#YzMDB/et[DZ4\ɷ pm}kQ }%4;lɆifQԠUK|JnBI5uLf^|IF;KqKIwPXM!5xX]sna_n|kW-@ǖְŅ[m֛y&lH\g3bCsk$m J!ޣ!kI \fLM+BAGͭ>{87*;VZ޾1+o5LZ4j `D2d\Ƌ$bBn W%G|oHVkOۏ 5zd EJ3'{Q^@MX(Г4!<ʯZy2DC(ʣkvmp+?H'Dg #x CqSt;,tZ8إ0S jl1̽( PB6E y'ohЪamfo[eje0 =\ !g%r%2 &j  ]l1l 2DkMSNr%7J_#S|3PO.'T;5?ʼnqGOAI!- 4&"&Tz4JUŎVt6D*fx/j?5掠N跻9٪Q]bꢑĜQ%k_1xo wl0=eR öBKyŰE!_e_߭,E6~S"<~3+#,-¤M bfʃROTLC *gzMJ^Fw±[|i,\!WN:l%ia)6+OI(+vT6 Yɚw]HYMS6[7;ٕ2SAh'$!bD(dܽ]d@<;OR*4#[̨]r]@٩iPbtKEb ]ÔճZ{}n)֘91_&.Ƀ6ﱖsÅn V]kXuZ' 3X:iN^yǩ}+*33EԤ ։5%C/Mtokd'%^Ԏ$"сbhҔڢL:E?iut{_ 3#9/_*Š1_3tK7qČ,KiO$ifzhӾމ/YqocJனFfD^BM{MNYrj4HSjW8rn vFŽ;gGq0c$.Ă,Pű\G[d&HU7GWHp}m`X&5ہK4d(*QkOXe?L$pԾljf GJ}jn׆odզهϯ#CEuVy_$Kʠ)TzUk]/:28J-pYEQ7z i&-zi9aѾt^uܻ!@D.jr졥DHV)%\$"mțS;<I-EKڭ(mOTmզ{'-d4 a ϭLh Z1&BϼD vD2ntY--}ӫS:ZՑ-p=y$.6 &ǜoTzUN ??" fƁBԲPXw^}5)ǫ؛歄4I>NtjfFYWJXwȠ3%}g)hܹ4#i8*;kϖs cm@(&Xiu|Vк&^̍rח[(,S% xg7:~q2L!pGuTߵ^ \־)0#!]M JWw(KZpJ x{QĜ}7r9v,HI}E xWE!}hB bܾ:]R N" $K6}ʁ'Mb]ؔ7@0X)OKWoHr]@Z #ҡ+ܰ6.mbP;bJzɗNqRzg`z@.&J]Zj!*ȹu8pAf(Ra!?ٰ{ќ!8T($xc)R(H)Eb;fGеʀm€C^1SclISs#8]3*z9 Z1_@r%>=7NuU5X L .xg%CMJ:o4QzL /39l"yk&ȵ´7QMa#5VdQm"0c:m&"jR8#zEF`(0uN/ QgJSVf-hY DN`~FdlCCFksNJc3*zSg"?diEaV&'"^l,'j_?/DgqJZAڱβxuɑkZSO7_L(W*N MwuI6Y(I_)ka\u5_PƎh19T3hG F Z\'ܦ{Ɋ˜genl0cc½ t2F?+wEV"MP=}BWHjp*UV<Žmur 'c,k ;;$"lx{#e[i"_zpQ>H+xXoWHu~X.L 2l(؈ -,;ZO Y2|'wyGPRĿ'zGe-l(P!j#: I&GziTo k\s/k#0pݮ2Qh9^t~Ǎ×d&a-[X6Lo{Ozc̒QbӠNgǜܯUvpE%FS˿nk ѣо: Mz W f ܠ* y]jJ܂r:MC`eRbt>Qt[i*u ܝ _O%aB;]ϼr:N1)?/BOJ*9)!tM'i7̄>r;Fp*Wl&d_c\vJ"ەb4Mfe#WϪ*@լob/=6r|Y 6szUkG7_~{Dի<;nMK5xb6=;H3ӽYYUg%\]ptq!3!z`5fq)vPϝڂ*l;!~ x8"Jo7K{>֤2 ⫹tL]V6l P{^rr ]/9b>Wn&WEDኡSJϖӐ]*8;lOU{sw%Tz7Z"N;O8ȘGyy0pUtTlt\:e2oWeh1@ՅQ43N Oh0e@ ,\eUka#jpc2G/?*Es^oi(yE[0Z,?|SUFPeYG ·<=oYG#ɐ4ӯjf X]&"NznIeL% aML+K$#d]Vc1x sE6Ǣ36Mlfڤ,ĵlAwQTB :ܷ)Gݡ\,aࡣj񎄞x}c+O`Bߚ8=pm[H'_@P.ɴʈ<=i( ^L>rt%jglcj𛂆 NZ1~1xX6CQQy rj\S-GԨqEY?7~Lr#5?U F_+^8o)ğEd"q,wNc+dQJKb/g"&_@5,4FA.j-k=_ ^YG0> wk,W Yk;QdmTN{.Al\ETT얏&2ݬE֪5'<(ʔjLoM%ܰr YMZG)B?P C(:kKI8jSt~IGg rnxLʑg}}GY4ެCw\TV.ty/:>AF;x(G򮴤mpmh]hAlkU|;Hmh8[RWҬOz,w'OZgkJĠSo b' Qڷbs޸gTg5Gp(>.[9.b,Fk3r]tY(e<18%p>SBlfXX\|騇{H`Hyb`bՌ?<'ssZ'~ϧN`dDW`y;\>ߌp6зDADLl wu4Vu+IoZ Ķ|^i0 l5ϫqW}w VIh`&'ʡ߬ɬEe)rHraڎ|j|qI&SI2lGg6>*6^Wk 4b6a3J՗<%.̜`jq5 x- Ñ.tjVq@7z[x8؎_߀hP`yBb%d7uޱ g~DZ<̮VNL:fc۳?}WVΧ5YxcSX^Pi Ƀ*ĺ?3rL"[_PEcEJL}1am0y,6{˗5Y!zLJw9bl7Gܓ8[m`0 jLAZ*+D?2O893Ze6&al> $I\ҖBp=}&}ӾL`BKFϥdgt!k4KE){|v LsI-[q71~FE»?dBNo3K9#sHB5\i#@]'HB\ʯ.4^XQ-;'{,.WHռU`G%rR4]R^a [O^y% x8Ta Mέ-@"C/J}'\~29s2&kMCǫsl v/8:t o*<g- `:k[i'"0<چԇ Elԙ?v_U_"|dD3+%"!ںǨ ~o䧺Ubؕycz&d`*&j W GkΊ8/[nyoՖ(CڏXj};j:ߚtK-GojEK*$/HCQoM8<|%'-uJ;(]5(`=Jz$EnuԌPǷXmkqޛQټ!6Z!NXE9 #ݥt+2'uh|~o>ɪzM'7E\ÁAxRƂ.KJjr>K]ckW7z,ׂeٙ us7.aygӶZ0Heu(خO%uꩺǕa{Ct|14ټ**1c6"H^̏.E4S'vN'b1g]/ahP=RJpZGD7g2ڿr!j }JaL|~%hO0Ӯƚy$~-\<uS1c6_EXIrhGNT{"{hSCfǪeآƁ%hpS NUO03'P endstream endobj 224 0 obj << /Length1 1727 /Length2 10624 /Length3 0 /Length 11719 /Filter /FlateDecode >> stream xڍPZר@bHpww H)+N E/݊Ck/G{'3$Z{RbZd7V6 @JErtt`7b :]+  Y&ml\^A>A   !E m+lc~-|,$A.`Ks@ܼ+ ;'+F vh\A. + TAuƆAж%ׂZy%jN _>G 0OgsKK9 X@5Ye67/79CsW賿9n vE?< J bQ4d|ݬ= +?rwbׁA <0ـ<@ Or,mS_' ?j}oX- 0b_|.`/!y8?>e<^VP?/ƛ:NRer<>nGQ7]W5 Wϧ?{}cB`gƍ<@?ϓ߀6 Yw?Ռ?jsG3<*-oS=_;;oH@ls`WYJfiװ%c:ǫ`y,_Sz^N)Za<sso q|9W  Pgs{k 7`Cإ!q!.!n?`x!s>n/X +>' r>'r9AωDN\ω\ s9yu..ϯ؟[|> caj)fWJԓugTdnG/w5cȚ˕D[2⋔M0-~I;-}cEd~~Mty87=r^K;J:qFt3(nhxg^ӗWSxc)`s}5X|w;RABKb@Lx7,zh%d\t$[7Bq6?X>rB辙t*lW|e'(@vkU:+F1eʌyQI1r׃1" ߱Qc-_d+^#z A9 >.$T4>)p%Ξ^E1mLHK(#%غZdեguzP`pZ^lqBE/-ˉQWOyb<5fIj|I˯L V ђO\Y|y;87w2 0-W_ M[|ML$̑ >oDө(ʇ&Rηl %, SM>$ٸ1}xN5 Θ ojVQC)yqRY5QLsmꆓI:Y|Mӹؤ9֫ܤO[RKl}*1+hْPhSi5ĢEqhqZP84'𛆁ŨK"Ay"OY"_b|EԘc𻅩EX8k:  n4ꂁ|mܴ} bH^-}sިd%]Yh“0໻Laόn"A\Z~ v쩻nldgZ, =}ZY1 2'ior]0#kl=DR b8S}Bz cJW,n<˄X¦"ib_uog^2g[yd@M ށqOlu-N s1U2m Ɯ/&023-ڈ8gVo=}O&LvЛf~18Yʈf?ZRvJ+'eg/T$ʃ_9(y cSIkd( ΋1):”3GEuo[9؅oZwpmT9|E!%}%]<`CXTd HkS/{I7kw1%1|6xeEj$U\A9 >&| 7\˚' 0jy{R=&6t68~P9_ꇦ.T,cLd:הSED^)o|edDf5ԍ% vC;RpuNkCy`EH8OavɵGm۴ x&u?:1QXTӛz=3VaM;X_ѥ eQ{bS4^o ?8j$oֿo3K 2MirDӑl7hazt"~[8q18`n"W/) a5C+INW-Z,yթAj^v6-ȡJ[,{dhMăukѤRi1!ML P&gH="%D_R|X1 #y>bUz"rX:R@Imڐ]*OM* _WفP]M(=OEQ`9j[ Я7":jfm3Ut1l6;kp0%ۘCnX@d2|JCv(X]>Ν.!XD\}2Ϙ/ˏb,M gO9F֔(Lkݹp ˫^B ?>)uAHc=fD#«*,.{W_R#S,Vԣ\ ID{f04_f &DHitT7_[CFV'H#~-mgU֊4َkS0M>m@5/ӦBfʞ˸0 _`Ӳc$=|zWl*'SNKA,#v^9VodK\!t(LhbqF>`DQ|8W~GzB|>l5'+7RG^NZB A Eީae2~JP!*\(k.İKb[; tJZ*ӊw;.٢dya[WMn܀_;b*҅^=܋a2+P@9îĻ+EKtG$W;-mZ4 9ÛMx5_B gtt.Ky9з cH<~6pR9Q+1Bl}A/.3- ND nrE?nh]0e`ٙ\ː)h6fve'ۤtjnh$WK:YvѺ; :f M!]&~o,¡qHn2M/: 1IW-P mZI{& !)K6Ȑc,Als[4$˶IZlY> pE>|x+M"Huv!֬{Du$<#fTQn5t?7"+z^^ WF ͪKze9yK ';A^*Gʟ?u]y h1J(P3܆ic J [ P!Ib܎z+/z$?3ze/`/i3uӇVҥRFxqD.I *LDžmֿء=qa5q~Χ)œzS`QX1>- -}aݘn|/E>cͯH7]#|)yBWfB5QY 7f%"NW2j!U]NnAs/VR!UZZp 1d\~ڂ>TJ`0V܄cK-Ց|e.j~ޣ' B-_ySuKGT/Vŷ);А9Hސ4-]Y#Ti^-ܬSD:Q̳c әlю7?~4wyغie&|'M#02a51rl1R7`r\}%$OEZVSșq<)z(YmJ.{T v$S]kq8S;]x}M/\.Z8q=/VDLչF+eITEnnZz)`o.'f}Kl LuP ]1fA_uLm5D95‘_^@VH:STpT8Gק{[!-:ܹq\}+c5@y y1z4LIoHMFuZĜ.@6ę;LUrfڛiO\"V=Gg,vĽ~ l_gc;noMerv̤=GMOb_ ܫPYXOaSRZiyh#¤PwCX 99݊BAAZ)ABH!G34og= x&N7rD>}ԉ} WċIo!Vۈecf[ >`rNI![˻aBy9uȳX?vќf Dpn,"*wM׹}d̬A 1rNfKzZ`]gg Vɚ'87L-_ CTa.oX@˽!<ґ 81p߮Bv 7*u}CA81_OXo= YK2Gq Zz6W\X*[ >[\rUR#`zɅ [phQl^18Epӊ:j:phOsjD==e-yFS.m0^_2.J.3_֜Oh[^Tq4._ Y2߰ǗͩrdKH|Cg= ?PH "ҀI򨕒Rڴ w%osLά<шt8) rEtة~-dy(Y/Wvf9R\j[?FZ+|.1]rI+ ZX{ׂÿW#2,KwV@͛z2aOMDo(qQ$);PY.fYp~|F". I ů`vOS& Ӭ6!VT>&>dа']^hfM$|s ,/H-n$"H.+ㄗP)|uy+xЧM4D0;cUI1;*8Ǥ×ϭ[]FLd q qpբ2豞mؾx5a+]))TiVsɷdl ϥ\Xo-TBW ߵ~CjE`Y6߱sLeQ~{黻8ϾRs/p>ϢU!Xq .cZmͩK~, \<".o %>`QS&оt6{ c TKudb2$9F|J7(f#Pu'L+S֠={T,_Qޮ\v7JT8x+Xʑ= J5"\2 [k͓9xڨiQT޵fk Fs~3I!!ՒhQm8s|B_ >}}(I1FXG6d鷐foFMP>`yo'7˲_N?oc~FbL iKX06D M6ۖcwfKzH.UD)?%od4WFݪP5ˇuѮqnȐDfI7l͍Er#BxP=@Xb~X4~E41"WވiaF^u||  M8t`svڄHntpTKXvaM^Ama"+VwXIs=0\\)z{eHϺ*RcBٝW#:x)#mtzCD&|h_Z$@doө߇|xrWQ?`ϱ˩ea/N~I%DU0XEo#VwAD.Wj_2~yU.s0qzt*/)9Fo>ҽ7J^Ɯhy[U'eY FRZ7(tq?eqEy'Nw[:MaMqy\+397Ac5whڋD~D H пG^q5 5k#Ws׾(ڥqF[F| gĒEܑ[hs zT !nwۍ~|4Q1IT?ҵb%мh`odKSoގ:(4ADž8g#Ck.l'_6 [|yL<[\@HYGΫ7W,; vO9\U 㓖SzJﰡlkɚ;OulJ U)7+vj~O@ćI- p"-0}/)Nvyژw{1iq&h,XYXUM5uyUv6y܁}T/v@Ls=ΧEC+rL_IEM-]&{zg:~UL%1#+ꨀn+DʗV3DzE]Q,yW PBlQWkLjFzpHN}JԾ7lmIwPLS ye!C2] 1'8S>B8Iyj샵ŵG(/_pS\ f~UlXyOc! ֦NtWˇ #u1#\ȞO5/m3g3AƏp{Gf %ءGJ9z& M=vţr5k_2dȦrGqjLow NS,#N7̓ =a{AvA.jt Jbb1^)m|dfˤ }a 1!Ͻ)18EE6Ĵ-vy ,R1op 'cP/^$R}4ky\90/!喐|"2X.4=aA;nfRu4?&dJp>5'9#I7ɰO lqoWȁNֱŷ8p%8l]0%1<|ven(Jļԙ䅛mreI;ToNID{f6 zSEMU' RxH(N]ފфY|!28:7n5~.CPH9#7IhOnd3ҍX.89 58$a:H<0R/jJu0HZW8594a .nd=Bd2wA"pLM5+mA<[Z]VR|96hN Lh=g`B ?kM| - 6,.8^uTKAmmzcmmt5 wWy? ~#*VÚ'G+rl7ƇɸЍ^G6b Bcp p1mf$;cwA?J \ C-XWzԄ+uc)k<:#<z)]ߏvF~!Lޙ1e8|#rDW.ȭIeMJ@fF Z-^%o-]$䔤1w(W%="5ޘgbV0Ef}e6#1VNY2ɱ-jm@bZAw)@caA Mn3'/MpǴœJa e@2y V{IHD`7xV֯9U~i2ϵ鷟`|$1kձI#Můj>v)Ke($t̰4j!H‰~CF%Ab*x/6q:"i%BL,ƺ/7Iӈ]o Kjx ( ~Kʏ):`3Az  ,YKrWk ]Sa4I33q.2{ q{g[Lo _ӓ%8ZD ;D3,0pf<1>R&Ol-6Y^||ُL3OWjyҌOZ^wVǮdz69{kwayנl`DZ'iqp] endstream endobj 226 0 obj << /Length1 1374 /Length2 6108 /Length3 0 /Length 7053 /Filter /FlateDecode >> stream xڍt4ޢĐu ^3 c3zE-F. ѣ z H$[֬s>{ 8Lrn`e!Qnp@ "@Qq~~?ؿny P9:_K (&&; v؀` :m `?R?u@"]<==yA^3n'#n`[v gx X rP( Ca`7l:@ ǁ;W"w0yC`; RTEz! /GGŃ<@(p@QFBww7 @u+ `rpgg0 U< luocu=avݯl] `Ww(l`$@_T ^6|{ͨ}].;T `GyH7w#$l'; GM 0G-[8 ӗ7Q!YYGP# DQ fA?*0;8@O[WOoapKb, ۠>oWEw(7 ?P37;} 8Jv}#W -Q$=ߗA(Bk_ _JU6NGo?TmK@XrsyF |(ڂ~3 #Q!T{;y P/ lP:T5!Hpyz^-Cɳ9"9ɲ[%1n*GU_n2I+H3~k oNiLl!Sӂ[vُ׾jCHl~N NkG{qwxF v}*7Ip%e?1kTB_|+QO{*N=gp޹ z`6 0OK*UJⓓwՆ]Erd$^/iu׽S;\h9K}}>Ģ"hO "֤+#ٺv8D >MA6t/(r@U n$b1hxc(i(j k/Qi>%r-Ts:aeiO,Icuswb3}.XH*;'{J㛴> o|k_Fdd*)FeGhLS< e/H*l&z#_:k UO5s0׈.ضcOFv2/5/~jJFE/ Q2.{6<-InEnNxt (]}%w$ t>ut TsY CpnmD{AZ !(]ҍK}zQ/_ ruj3g T;zQkp)f)Vi }Y vxy.FHvNт<ӷӘx>dVg; ZOvQ9?DN#ymw97ǵX9p{.ވ[F9QjL27B^Z41W a %:1ijBM'>* ;ri, -^Jȷ#HdW <SJ.ޞF$6_3By@vS/c-$<\?{vw@Lgzd}Uc\T DIRWj&)L!lZ# )%f$.Јcн`pԉ-cJ޺mCW8&79gjUWnf'yI,5D1% 6)S^.4|}ֺ1B>~.VwMrS,?_+N0&~bOM(Iv9`}:VncN@)3y>^3ѭ1| /g|9>>9zoc:/aQo{T dr|˽n.}{ÛhEɡԸFQ)r Z^aE/8h0£ԇ1D]w")ܔ(K[o.A +nFȤ yحo7>Ϋ'`[H#Ĵcj\se1e 6,Ò'0XޣTsq9蝋6vSw?pv,&Y ?6F <_F߸0{v^/cǺ bE\y_hP/3z^U Ұ2 -E7>y⤧c[;I1Ļ*a1'pKb;gM6ƪs ,1Yxb9*tNA[e |F#V>"-1&c\v Dڼ-*5Z3C7K p2QZQz\FN|@fKĝ|%2#ؕ|>^d򜎂mvgfTD29 #PL i%Rgn<|F7+-x0zjbw55]!x*Ab_sG#Xq;SBrHV@4gУŭK8{Hr*׾N\㜼'~YG\eե@=u7Oq!'[3VsĒ:p]I7#f _bNrFH`(>++#AM5h)llx&>:VNڤ"n[RTW^WJB;jOV)2 FW ֐1;y{0 [!)B&`ly텎LIsdC.djn.ё~s, !1ئ'3nvZ{V?4`0KU_Ƙ*]T%{ 6Z qO?6lZ!xOOVɲ'CYeL*rV]FsxH7[VS-dV`ݮorW8`+6=K.U{ 6M?]{+e89Y}y}>GBm3U*9}AvrfR{P}O"wMLDbM˯Ք^TjQWϰ d Ez( :f.M1I2TXlSPE@f {`މ$c3Yڨ!DA q>l%Aތ3tx@,Q+ˣ`Q'N_J0yi )j?/n'e7ǀX)VJRkWh^7#W&"E Ǣr\jSV/m4ˀxJ#[,Ihó%)F6zBk6q)#=[er\:v@T1[32boD[d+0`ް4c'SZxx/-㰁HP'0zJ`LN<fҘw|cB29njۅo 6ɷw.acdf奴)b -LIPﭞV(XՌٹ恏/0.6-v&'&v\{{>Sb/4hަTA[eWymmzؤ8P -hd$<_x)+h2 V?0 bfb==<bu6MDf],:^F `hTEH[ν>qz;z{3m %&{HUfA;NKلgrQi@Nex=ۼID'bOc`V~ݏ2 '@3}KR60Rmxry|j4[/ 汃wG:mm r1LGO?vKlԯG^n+V`Kf>@y<%uØGh+eJ{K<ȹ/(A57êzͬ L1 &">q z_!m^oOi'/|,jq>)_R1>k=n ՂVDDlv[hWQ-r|v;:ˈ>~'yqo>5ELW'48YoB V3cBFBeibNE Rl~hB(+Tb Pc&U>jG*8;kCime۶ OoޅG.  0W|TU~)\J^ @맏ZXn. z_|EË}vh =v,ci_rs|Z!j Ogg{ioDMOgLXxe=B|RC7N/dE?FHX3݀F-R}U Z B,X:ޑ`.`z'3WP5O,qz up7Y J#+3&"$xKRw/j]3Kǿ3E>zfgG҇ޖ9>]c]1^Ay",FwG<"iiuRpQu[vXCG5k- "vNdp.C) tF[igW]r&zw\[ VnhY4!1璘#O:?s.dG)v C}|t/}s]bYYSy_u6VypxR4sTyK}HzBeS4YWcX9Tuh7aW+p*YW %l>qi救_|GrHvD%b}XE~㑅xP"bO2+4 t@OኞރCmݯeO3"&})i>+7f+_O rȖ#ET)NJ*XW7 VԲpJBb_EPkw_^{I$rZvqmҫI$r*Kv2ߛ|gGk;>0ЗY},M0%N_2H+k8 B?x]jG-RL;9'`F"38[~R FUX0ccALkCK;0 ď}!/wesb; i5(0HߌUt)-2jycUt&d71궂BA6b,ChYtzc?IwYvTz;y?ڮ(*/|p) endstream endobj 228 0 obj << /Length1 2030 /Length2 11444 /Length3 0 /Length 12686 /Filter /FlateDecode >> stream xڍveT-!whww ڸkpww $]I}[Vw:UuTQQ$ngȩȪ@ ȊDIjl AT9:Y#2tD rvik < sZv '$J;{G 3sgpXxxZ9Z A6Ɔ;c ykldhdh&@pp6(@ /yCп䘐(NTL Ad^bkrTd ۿe`=&W" ۿzXؚL-AqY&gwgɯ@Ck';zCWC kC#p_ą`0t2vwvbrŒWFٚ؀l~'j2GlekfZؚbbϬfk' lBm398@ 7`A9",`>^vS0)d 8;|t7BbaX;@fH ӿ1X X,Ͽ:3A3k+IhK_;`decpp8y8>HFX*ekj_Fg@Ϝ;X o9/o%_Y?=X[A+] g =r  J9B ,mF&vοN E gcdYY[؂,~]5F |Y3_'N`uG鿫ۙ9VN,*V x8M@dk ^39":Z. Y/`6F 9[קo;ۿ__Nflg  ;/6_ FvֆDY̦k[1p 9f.lПmnŬj0~7"\fDU1`.+CqD%C,t/9#Η˷QR znctxgQ,M%Ob+&j螴I=_8k3骧}US0&7B_y4G:Ʀ(T?MHo|r|JTImִѭrx|;% ӪR.ƣ F8^p~dxNKd)|M3(`t IXANwsX=d"?^,>éDxĄ 3@՛]7=h1̻q uP`'m7ʼny%,- iXc\#v|HPȟcUutsG*~aJ͇'Rwic8KciV*KZJ?5>% ɴS,EZGG;*b6$c{ Ӆ㴍̌/A-бo;4buOfd^mmj%=9V߰DÍtدt],h<5),}I莟EXN0ϴX Q5" g |+4f9籼H8͔Mwou@ϋӢ .aHELb EeKveqE}̡l<aJ횡oa<{iwu-R"O óY+Oc-dq}R{elUU~:K>~3V fO]kT4fGA| [_ e]/l構 iEDŽ{cނG>]ޒQ̜  &;AX]В,3PUezb&<41!7FUK`̯v-X+y a渶'ቺ`OW-˴8@@SeNjʬz1RE k$}3:7}}XWUW<s%& Ϭ|9q4^KUIQj=#59 px0[fhJ.H>KyWҧ08ׅ7GD/&.H4]oʊ'dz_,b* CeS!K(G`bk$\[}λ`uـEX`*YjT5I7N#y#44KFjK\Zw. %fWGv{[z* &sqK"qdffCWk>99oTui[MB}*u?LzroQ_z3@Kun|Ƒ\p/UCAc`D"ḧ́ ;酋-9әz|:L};Θ}dgy>AR}|p]%RQEQgJx2a{4Dz t2e@슮O$93:,!x 7&4圑SYظ4ҀfC^]LW 'Mrh! !/Ʒz%E5~0qH~њUc\`NiD+T8VżG`@Y!L }C']IO-R!IxHǹyu$Iҕ Q>^ˍ#xpnǤ| Qㅥږh/$.V@Re[]~oEbAR ܐ+yGjg%v7cY{^kSOa*1H0yg1o V>4 FA{-vP0OuJ9F?HAA!dJ9= +s/0-I150_d# sO.vm$xd t6<*ͥ-<#)E3lhgqqgA'd|X]ar/Ҟ; kdg bq6Ef7xtAEs];/e45[`s< ?Vd~9R7{9@\J_  m8T#GmHNޯmxiس>$ꋒ3[Ch /#˗- T-v\,jZ2W+f8#N!@D=! Dk:#؈ݬ˟VFegϡ*uYMϧ6>Ѳ#/1Qnv͹c]ēsbLXa8/l;KQ= "Euz;h<*R'H w>J}U)柣eXnP0_pyz-r AvI0f\*_jh8femW9&;Vc;6mPѳNv4 KT?!v6t4y.C{~͚y%?Rg} 0m@‚hw|ih7uQӅTrH8Zu8MpaԮsC=O'rvI/_M kvtSll8O@ c*EJH7&_ֿn}#(:7: ?]fn&ÄSCnw9"Z:wR 2[ڏ'I#`p1?w*;q䌓v6ۤ.8`h̻V7ck:-j*!] L'),\evn{d *̬. /0bz#o癴3]9n]7;"AYE<_H'rCrK/tay|5 6R\UR 7/Z "M[7A9+Y= *E=,m(/?L ejЉ}>WՉAn|51:@Je#m1&q"-ãV^yOz*Cjcw>L2zyzF͋1VIin@Zwca}&Ҝ[KP:+ +G%+(ҡ?hC!t΄wɵQϰa<q*a+b>[5MӲ[, +Cvf JL66ʁjU@as0čFS'F{(?E?8K#W*]QtmS4G2< 5EYI"HڬMZ6 @ uޑr'$ S",D~!⯈?_ ,TBN:gkPJ`73󂊭P=gBrPGDy,\_0T_"_i`Y9pw>-*3#if"m+n~TEKٷRJ!T.>U_tz=dӇ*-4!xg3 rhA:3G] wZha[]z{v5Q٘a@ȕ8JuHuÜ&${_c.D2FZk &39 ߙ<0o`ښH"2y]ߔK Y5@Tбx-c%pkۺdo,;#i}a!|6ěkX? Y1A}tُؑ˟\i4>UMd5T 5*F|V8%Bnf_;QS۲`Χ)~f^ s>l OȭFCy:9}) CЄ*4ߺgINDJ%Z?Hmb1Q"sҊ܏jvy -ZeZ T%+W 64hEO׍*zV%j h-?L·upJUe+hC4qXUk>_Svɥ_fs Xђdw"w.g9dzPC\6e 3y,#¨85ۨ2+tΉ0*docHq|XzLwUZ%#C`:1tk} mGlF|ƥ^}ЭA <|=VY;nDL,GN#S^m<,g,:Vc/aufKb/O&?'tkU܂2+8^~DDrOv|w})VIOs^Gx(ZVU ͭа)7DdQλehk.܃x<Ÿp NetydR&wcU*F9^1j@!? bzbx[32l6q\ЀS _2PDżC@*XU,; 5m9 Tkv 7v-[+&eLɜՓ(60rBat)ߏWr1ďF)ֈg2fKǥ_1H-7]Ogl|'MK+ec䕧hYѺ;`aDvE /Vv<?;F[m }{Rb x۳efTs9CJ]_*[{c,SD\avFdVVUgA#"<* #Bʤk3gep𡾄)vjU>@)Xi4~yR{%7>*ܨVTs[)=Lm M3n≱9 v{i_oՙ.,m[?卭k Eʼ!lщb٫)}#YQCICBTF-:ڙ])J=;53zqs{~JK ({,񝙒p}N12jvϐܜ0$s. hVEm`kl)%Vg\?ŵon90$J.oa8~f\^sܾB2=GŶg<[3;c=l'oXā,ѫ&T{ Hiď$;*envp wHVUpB0jc+t}3Wϸ;ӽx2 ){.w]&^յ P R 0 %okE99JX:ό0^"/jx Ƕ=ʯQ+O8]߿8s,B'3.PL-7@RԳR@%,$IfXvQDPgJ_ʙal%yѾ61/ R\0>BUѷhL{UO/?##oN~mR5~[qU=fVl*E!QטA9}B {\KGW( 6 'TACqo-"P塴辕zY:V?24fhd7%k+6Hiv-N%]:h8 \X%<-/ܥx{ *` -e'tq^a!b^PĢ:гpqARxn\I`OPO]>j{w G=YYĚy$֮]↕ < 7[M8^iW8-.<:NQR\qG[G˹!q9Mj @8)~ P~3O$̏S| 1d| wC15?[bu}VR)>; jΛs9BMMaBtxӬP/Z D#XLfg%b 8\rzAŝV/ omXG@8M`94i_AǭHisC>*nkXFmJ5ƹ-9DDe$@۳c.>3lڇ)}zxA\^mJ)\۟(lZ٪ាv*O>Ex 2|tV=h)}y~;rܚ\K’qyxBhN?櫩 ][:O1N:_=z,}Bnzp/\"۵yUZٓ+%8;-҇Im3c‘D\=>N"}_ۧOm^}{I ׄ-wȥ;o(°oEdD=tGGb",yө*'s6K{-R)JktuUc,5֋qh[]+`rQf5,^@ԟԥ( ջuYXk>V;mLكߪmRj,KE (ܾDɊ] g~} zQ{?ȹ\ cz吨j JOo '޳7;.V1w¸A[+a."ݡ1/Yކ(_Ff"w`p)CIr+DV4j4bꛙz=E)ռi((8mI,t{I S%X 0F(ah?4<}c]JC &+L@aܰGMw*;ΧUΈ}<V=*y/s&-^2vσx魬RxN1U9٥5YU ]Z)gIŔ86&.} ZjwZʘ!wދGzLTD9#~.3 yg67s^x 2!Ijņ*,yܧ̗7vX(ä,ͦ$gٱ7{f5l,9g, endstream endobj 230 0 obj << /Length1 1441 /Length2 6491 /Length3 0 /Length 7477 /Filter /FlateDecode >> stream xڍx8m۾V3(j"AbS{VM)GQ{WRE>}}8q$ky.v#S!egD@ e֢@(. qqp8C"d 1!#8@T *)#*%Ā@鿉Ho  *3 JKK v({@a`BB<0 8 A+F{ʈ A 0 ޾g ȟքf0_S$0 P30zB"l@TX_x CvHO"p@apPCOο 8 `pt@Ct?F `_= fu*@~է1 pH?D+( Ն9V@D\ hPZRRB@"xB~ØB<( H |@DE00q!C1 1dQ37X[i_F? HHL $- J$!c?|P$@r1wɾ4g@e(%`̛Y]*WE <\4f Y@7Ca>mF0Ӡp(ZH0_8 8`׿Tnk0a0^@0Cv"(4 g^uk$$ ooP1+ @(f*! F M`ŀ8&soz>byb A0.7fH S7-AeܞEu7(3 }[]O@s}䪇9\G?mP3&|ދ,"4ʡP.Vg$˔TvA1 --O囋h~񭧟J/{Q[6;@)9{rakv5=$Jo3mK3DI߿*?*ba/KfI-iCaqHVep0yp8J+Jiq1P exէ )Fa3 }{Z`C6 W3hA8hԻt?<~ך?R4üTQ1LyOT$ଞcPwr*F.*#mv5ۂߞ j'_u"9YhfSzv^niKWD7E9%&υuj(I/Ls$[Q51 V#'r߯byVr|D|0jƻߴOq>#-qu0AI\|V ?zRre@Uy^Ϥo['-EVMq6 ',=6CI9ϧwzx2Z~R9j sDkZ%:UěO ǡ'߉Emdl{n18Y$Yߨ%U#v4!! m%ڄ+꾣-ٱ|О@Ct=Ug#p ,BO_#"V}w,";VǴSX'ϏX]m8uܪBje2Plu0w!IOXgv$aȁi\ գ6q}ʪQn*D Nzn(/[%b##S;{lM!gpEf0J~}I'jMװ(jÑ$v[ܢfBq倞3{?^A5wqAPƷo! pL4-Ku&w+W$ԑȦ%4 6ٌFe{5[3fLnf.1)9ӎS>t·ύ챫rʝGyg?SXFwMG͍AU(h =]S?X vr"c)Vxt- q6sW+4({򿉒%}K'd$ $KW*5H?ό7t` 0.0j&J}"&$.f%(vڞBuDn$(7w]%slMȏC(1(qzӹJv`ֻF)/HO7t.](1U.!}r~O*EcoG{Ȯm܉(37PQQ/DR> c/N7цr&μ2'R8ʕTX*E,m&7NusDϜUQىM (e <`΃޸&=#Ks惪I "\P߫:ޮFl~x99ʳ;8/Hw.縒K^;T|oN1{Ha:<~![dohwUڝ8"E+-SQm ݍaO`Z$ʮ}S"WD0}Ƭ ɇce&F9?u\IR̙vcPG++1,Aפ>ąe:bz Ɨ%zw,>L!k^w.|*x*+ʿAD?x(Ԅd9)j>BV9+o⍴~yn`b|OcAJHSU=wSb \@l].I/`Hܫݪ; ;iꢊQ'e<RZ2C"N[SB4΅$/fHdq.>~Q]h2]  p](%uwÞOM ;c1Vr>Ƙ@YxCwȾ<[mL+5ZcXhWxу6Nj]b&KXC U^,?wZ|R0@ EX%e|ݡ2k-ß*]TGRSwݐ,Nu%T%~g`N $ ^tԼb[)[q0 ĹhÛg_jz68gFBIQܴu*DhWT4H*<_]vsRdRVja td'MB?&&Gwu]?,"~hX"ɫsj8hĎzW1q9q`(>>* ["@*2yv)O%f{X΢E%55 nCkJ@jͧ,kl^m;*K/\Qs::JKOqnڦ.eT:"ӳ^[J$B qb*_ϴk%wKa;ObE=f@:&+D%~2Р˿nۏdhs<:uiެ;b 7eIorTg苽ҶP%h]+y|x%,v3 ^F!g׉y3FxQy_+XB6?x* 6vP6OvUߒL*EDic X6)XL`22=l<׉E6+54g_;n+φW|Sa8y(^I&ONPQz2 2};Tr?o*WPx=:#c[}2s?54ez_5a"ɓ̏K+lS߿u@!I_&uSTpHqJ^ pCc^j<} (; 6ja<-?&w;y{ = ?Qb :4 %昵P|kwԛr>$ ʞAlAs83vwemX>:sVӒOYƈxxܕI,é<`%,u `^ƽj 0i]X\]\piOv^ w6y 5n(bVNr;j,yy,.~-/eOrnx{04R]iP0ŁQ,=Mu{Y|u|xWly%|?Znw4Ex r֏~7jճA5Ң;΍ =*6ݨ܈Kw2&F{ֺ"E<%9315˺KJI;>/8OIy@K5k-'.va{<RAǜ,=f;V4"TbNO5u\4۶j:lDžB 2/o8|+\{bBG.^eź;tёJ|件wdT?"6awKYj _hV7T+ִeJ·P8vO#gn]I4?OG+o;޷'A2){7yZ3/o;9[(a މ,6JBɰO}4eu];y*IDzifVo7M}:]"i @-<e]( \͌NWԗHjq I! ;c%cUMemu/XQyOT l}}oV*qn\b396;;!/~{ͅ$xWyS%{vvц q‰O Ml{srn?\DlZ }.Fv}O? $Q4:f&nK,n-2* <蔃kH7X7Cɫ#xҐc˗w/Ttm91BG$'VF Bm-~tB $xMLöCB1zg,d4r,C:-ޒ*fb5tPj<4#uN4hwH$W®I4eΌ cNT'_rs_=PDOt3"^?ᒮ(qrph?DV8ٰ*]{-HDg۪u!5[ULj!ice a /GgZnn%;^~ڮq9%E3W7N41_U*rjG|!A,Ecqژ8ҷРJ\O kVfTȧ_c[k;ݪc9*?짼!*Kp-Ni[@JHӬ^ J%X?|GiiRll.ܜsa#9M!2j*diCL3Cp6*_gQ^-yn(j70L`]8JU䐿 kUv7 q%L j_ԖSҽTkxA_5]VC||^%?;hEXvDQ_Xɔ}k }g[nh־c i yN\hD#`RPKøM[J;~Ka@Kvu($UgOjxilGcv=7_m{zW))C?́ƣM>b ,i2|^Ň(G&q.rUasH@Q-ÖS3ƓS8e) 1ߗ|%l>0n=ℨ3Zm| ,>Z(\cǑfR3j/Vww(3sO_n *K FW52E /rH@(f+.lR4V?$MmK8w Vԛ'u|vb{#; 2Jf_^r&>aj8Ox>!&%(k]ȕV !ee[jw5ȸpw \`cXZ8*!ݹYc &ɹ|HʪcKxN5׸d3:|.t⫟Wcunj>Fm0HPjQr <{iwr׼I 6mcQ=#Gȕ Ap?f790x."U%/35@13o/^r7Zh=Kғx-4(i5}S :EMΙ}.Yr1:cR ־\7`˭dP ΡңRf`\Rd\U,ӯ w.-f=*%|=vzi ͛ۤݠN ?C^dqO#C" IcCKz>0z yQZpXlߛj.),KQ`C>]!0ShyIhG"q҃W0*t} k2CWx:Jp%pF}׺Ҏ傰t25OhmL+)ys$IVpn Nk b#X endstream endobj 232 0 obj << /Length1 1404 /Length2 6481 /Length3 0 /Length 7434 /Filter /FlateDecode >> stream xڍtTT6!tidHCF`AS[SRAPJC_s{[֞}u\fgѿ'g*!{|‼?//nC9BA]0\?P0ƧF5p@ <"\;p(] GpbbxrNPW 4({MGG@`P?JpIڣP  ɇp<`({@Cm_+Z`'{>v7G GޤmMw@_Uvk 'r'!30G(D`/ a`.~H+CU6''(5 9w/Пu#<>[05lܜApTUƅo P j`  ެBo}`w(rug`k 7n_<7f~0W 16W4"<{B"=A~@@@Pxp::`؟9#Wng-- s׿n/y;_UWDJn\8 q\7ԍ 47Z7t56077j00_~R с //9P s_An"jAo4ϾpE`WW]X"*m M p`puE/o0R%*[h qsuon[P'?=H?n<)}PPv^"nPV\ Z*~ɑTUXKdRgH 7--6vTuz=dǸy]vO)Krԕop#ġ"nKm*yX.76ެʆܓ܌v'({L~Y u]j}:ua`}]WAc3.kd Dr]JfW+kEKt k7 ~.?gQgʢ'9{W Uʹ*6nŤT& 66aNw2jC4P. gT)fJ7A"q;o-'4KrUQT~$w#8K+r:5'z;?$1ťUy[]O䋸O#f/El %b@G&h=ٔۍ"qLoE[M)?.bCr,(ouf`Tc\b_!Hbj6zĞ5=>`h("ExKC.mޥP欟&Ϫ}/1&YrA~j>Y)Ɗ~3vnvOˑMѢyIMAiݼƒ)}VvvoW8(ďb,9 wwz Sɾyyebhي$>^,t<@#t:ɤoj qe=DC#7lN>׍ζ+#)sBC"jѧˋQމp VȊĝ}z'SKjAW<'S4ȕ IrܑwvZF*sg\gL#O^ƐRJظ.fx (Y0qzΞ!B 4aFu HNfQ /=:}Wzsz0[Y~.*ٱgD-3rCqE@i6k67V&D&!ڇsxYN4IHsvdv/ޙҠa  фv'D}ʵ7 AIc6F q{Iռ+T_-S"^Lp8E(>3wUnbN'\;!iUj;’ڡlE 2߿[Q<95Dh6W"Th\1"XGjWSZ {[kSImexW )V^Ѷ34TJڦ<19W I[k0fYJm)<};CK9]6!>o eb? &vn=OO ҃29mST)ޓg=LTVxVWm>PJOFtv0zCAn`h¦rwe1-Gvsac~Ȓ8!XpR{!H.Occ[Lfۢj뢜K}`AI q&|ܜ2"ivL9c$$PlYKVڠ>`[|U50ph⢫cV{VvRt8%qʡaU7E HrR0eskG d`ݾrk EhƓ;0T0Q-vb_G_R‚JP d.AsIEX YTxVTN{c@ItRB^<\1|hBh&('7!ᤓ?S$ X]f66s FӅ^n 57#GNq8/8WV4P /ٵ~^Uq \w(KBӻaj0cMlt=F~+_lj$>|ZSݗS-\v~u֢>:nbYS:>Xz翛^=]@Pp$+<9?Y*H$>V-} "Ÿ+vIקd9R Y]g=w{@*m\ۺijF ݍLGClW-:Cf[G }w'uR  9DžZu~Js6&1"<"{~lkC:7@[ ֌<))._lmIuIڬnW)4?#@Q+-gƃ+sR#jv#%;n rWq@(xBR\^73WUqhG}NU|4q:>HdEfiwpKΏRvlPcg *u⢌\V>"6fZς?74r@E3Blek W)Kq\-x#:+F!'s(!cXTJaO47DcLiK^g#4e3*#}25kk;"ߚ桂't]K6G G[>ixyzN1.5IV)WٺD2ĤE7DE}'De3?i$sLO0Tc䀔rt2![ìɒgg4RÛA2̨I f(m36Q/Pb5 *eK lr/ H",j kTcɖlؒ7V 2]XW5rhJG49K AՋ+--fމbKX g=*P% V~ T kœ-{tf~LݘI[軲иCʄdӦC6,mΏV{sT3U5lfXakuMOțch&&-kd2Xؤ\qH6NxעB u+ˤ9aٺ^T{{Y ic_r:h͔ygNzf"0J"v" VUr%/% 9*%rImP_zX膻׺"6w~_1/%':O?vt48q#u,\KcYpnQUSsw& CLA /hiwRBcwJƣT-1EI $I0lѓmߝB}ף;zAjy=qBӴK>PGU@ʛ:v?s2[S>V\(0+{M0/DR9NPr[U9)eftmq㩞?"%͙ ٗϑs`G_"S(!1uLvL#Ž.=La_U[` ABŌ"A)挥ԍ'ЍzYj<M/rתJbNZNh<|p۽}n Em:}A4J: h<q밫)U$#[cDwo%<]?[n f݈fWe^Jԗĕ J9O_dCC@#J$D+u3|(eeQiۗx/-裸L[S->)hk\s[Ri"ufH猖ΗI 2ndg)&9P#2Q4Mގ-[J4-ݡ,9Z+J̖ӤSiRl =ͥ}/*!Wkf|ө%_NЋP t/"US>"<|V]!zԷΥӉClz͸} l)ѻq9zv(r,l&𕁬'9/Ln<\YVŢ%teY˔9׮[;o&,&N4I$ɪ{zIq_+7-N$NrO(+ ]SK5 (Gm!+>ĹgtcE?ߩ̓4w3x^F~:(W76SFW3;hU1R;>> +{C"!e.D?,YVt-wl%1:$([e}TH4k2=ō}NnW(e"~ʈpҟB^@𱲜jG1ʕ ݊IU.\0Z(߶Wְx3y{Yƺ:G@J kܚ'Zg36Wb?OoRbP 5x󚨬#ğW;~,[LEGN%w&~(rkdGh=K}A5>)ϴHzlk;M͋8Fn{|~rgû v`mg*VgMn8D&sN.lOMd r/bFQqTllS6uy%ө k!'@ݡ'\шƑl?.:y!\J,C^v[Z=SIIBXJ…xҐW2t皆kKΆ'nt ~8bup endstream endobj 234 0 obj << /Length1 2184 /Length2 14509 /Length3 0 /Length 15823 /Filter /FlateDecode >> stream xڍP"ww\@AMp܂;9s&s-emTYQ(igWPSce3SRSj@v|w99*d]V.>Vn>  \A&- Rdn翿hLh Dm #[-5@t  gg{>ff777&#'&;Gs!Zt:MK(. frBxXLNo..@G[t<@hc0nlr6217ٚ@@<3ݛԍFo]#ى dF4om5:;=hw濇kekf_d55]=-(o79:&̿yReog0{+2r2r]>^V/geL@s-71?m w.X~ۆZ{1k2%.;dpr|Ew5'ٷ.7a׿7/4# '77#Ik41ـ=x[P{k *MA.6W+lv 4$ r*M,ڍߙ5lYYXL^K|(akbg8FF,o b}FS_K `fs~sU0s=R.ߢ ^?,a0xFLo9??& 72;뷎W[bc'V1 azCmfroL0%j'm7aoś /V럜ފ=?ogmo[/[v9-g?72GR{W>o;9Me7V8#fD'k#'Qe''f/7loo|o۴<34qq|k_/ۍML-[*E wg(w4Sh\ah+2oDQW%hEHjaš>;:5ۂZi[}Mxg^LQc9ql?_*q VM9w] cޒ2 IN ܣauD 1zI܉w̼*;rerc1.GS4rs#}w:_Ì5 #1#9t $uGƩe9no~BA2kW-ˠ{6WI+4+:=_dKw'aQ7eTgKǰ`ETuX@&{ݸt*9~2^–e{)yK&謥iUhû~:w9]dQ$&f^,;DJ22W[xOL2[ɰ_\lj\"n9_=+%ZA4:+)+--𨤌y56JzUߧ:eֵĂK)Ik.@rLkfv*8C[4 tǹ1v[ϗo;_Zu',Ff[\F4gl-APÛFPCC?f]~.V:/>2Á/x_|:k]%==sW=A}ީ%wH5{ c|*|Dl!_}eR65Yb"pa5Gi*'ZR_E פ0Qtn{lY"[+=<X h?50m pԦn,= 4lgj7܏ucE~g7Δ ˈh<l>x02a>QtADLCU3W=V Lyz12EU61޹C|+Y/6Wd7w.+T h:),\kJ2Sf`?jF }°pn| 6I!2|+<~ev8[|wϼW'bG{+"|4Ի a`/b}R%xj١Is w(b V_!PK%].Z7 τЦ jifmRQf22$6"T٥TE>fn3ckES/_Ib39X@jd^>Z.*ۏ]m)VA456v#JFmu VN+{ i8ħ@vkI0|+~Emaݍ#Sj+ h>m,mO!v@*>|F]6kM,EJPjTDŽ^4r}|LǠ19ޜw>F -YwN𝘬槈^o[֜#ƫ _oJ <}p:RP0.c U W]̐L0v'tm_7Q;w#u>v(r`4_μD' hF|P/3Ћ iX;\3~Zƒjd)xO} "^t:S5U"R-j-P2hKFų?{'W'W4ِ>yp0 ?pů̈|tO! - CK81 dés^"ր:\{?`7J?s.w9# &/?x`֓4S~Z91L4uK$^F}dnؗnסCa<':osLhgu sÔQ7@`6*LFh-j (@.ppEzHLu# uwFyo!)u$z7y! i%Ym1!0"J 9;͘tV`.Vkc1WYPB ]^a j~"GWxg|E:\gZ|pD\$C+Vb;a|8C۵ib*4\jt'S` u4e' ʢfqjdfQd/ZT*GzEl`\/-hyFŌP͂n$4ם;6(EBj{SpQ`5<h Z)95bl5vM|>Du#E4۪#c,L YhL# @+ᠷ ]4aw$='5@2$ M6˜|Z^YzY޶ڄ-|Dk3Tok*39q0emypjP3-8^M~xi{z+br5_5t\Fr#DB9>FYj2B @bU=T5Ѧ8 1.]>HBCSAכ)Wr?O47&` DߵuVA5 LgQr%]HӝaK?~D1}ˮ!:{ptڊ Ia+@ӣA,NKЬ;5@χ:.);]\Ӥ%1SwGw7 -hִKԮ Pݹ;2 7ᜓv|^?dj \u59Ca4#r_a$č>Ӄq Ɍ m[v}j.xaVk6u&>^ӑq]1ox1Om2`$H|c}1*hԁ'87یcK 0m&:=mh+<+k"ڹGm\s=(I05GhԞeApaUOo"##ۅ&jԡ> 6UvЌ 5īX)C JLG 0 Mqeɫ(*3bncBOybY. s%[jrR|Pj~Vl@vhư5/#~a{qci/d-ӱ,Xok&j P&h~=tqJu"yP bH LKȼA\J9f_2K,͙S[+Ngل/O1?bh3܊(([n5wb6 ÝǕӬGcnԼ>!S-d)f!V C$&㽞ȟ&jV!-ݿO4R2 @wlXH7m/IJsĬ8lb7So0TA:.kND-KUeH{&tWV5ȯ;`: Fj w*;[QJ SE\ӮRvpX1m5sԔwKU>jjF)ᙥfX-/ZΉl^Ewg&A YqEtFUTvLHOp~cXcBBtB2}q1ʁS|Ӳ%<`YrJ ?(m[}(ѤcVK1d8-#wc5/{JKYǗz5Rs) wh}Y< # dwf Ki>hMZ#?؟2B׾w $LѳD6<3Q|o` di짬w}&1(bx0Mv XϏ-)q CPz8Ev+&eFnpE?V[zӀDg07orhD-ꏦrWN>lQx^Diea6>c]T!8㌽};E}B2SfQ! H&f/ j;j㊈.x̣d)^G =| 2piMW~}I{ޔC nl >ĴawM<]7 /*<Ƣ#PBzNbs,I@+(;OGܾ!`#a+TXKFzPp 8]Q mHLF!jn}_MbjM]=fq?o6h-!&b//xcX40 ,6Mi.ՠ0r?"FÆoTTx2MF>*^ !=1;8/@XJQ)&(=(s fJ.{J*B^3^oB"N_T"ik3j X暶g"l``ũck(&h,+gD[hGX8C&jms!= aȔF̆Ѕ({[ll Ȣ8f^mo~u0=#G9k`FV00%O?iUl[:\` 1]N tv+~8K7H,PK62KٵRk$p3'dSiw F;/~(FW} W35Xש38 %,}I̫(VqCQs& l)9+L0*pFlXcx[5<;+&3v91vG'Gi=`)U^3^V?@UdRCnX+񱋋+ aֈ v̆za><(DPں|-Xݠg11>,p)e=d2zY* z|Ҹ=9&0vep2wwz .,8й>u8`d>[{~zV(wuڵrX|&PzҷC#9f*[FO؋]t821^M):}5?ah`mSйI0[crxAۜhoI仑wЫ-ɒ4]k<ƍ\ӛ BaCP[tBNz;kdqR_b@4(#Y|>4wSz{2֮WOQ3Đh͞Sn?,LyTh!{}C] ˩霚‘>99l6v݆*R^s,Ҷ [9f4P2&'&/y4#:TLYw0~S)@A5sl$z]_H{=둪~p088 *lLLX2b{O~%Iڪpd 8)vX0j}18Ae$kOHAQ*=\kNBb2MBc,u)YS_bcl]^n߭X_%{^6?>x9N BCs?x'+,~~ sbỿcKj vtSO1#dc, GiA֨؄VYCW868Xơڎ9[1MäfmD !"BWh~CddWT!f ZoKGQ&38Z񦲪 xQ Km/ʉ|Rl0&Ë+QQee `\v؍WZU6̀0~gPEM$fp7y.U\u/ۄ!bzb鳱< Fԁqx:Wb8}%MoR ]d;Vp\hXc(֏ "!¹ 7kOX#3x  glj(th߽盁'Iil(kRvC y&5@g3!]Ơ,)ȽOHsrVk~T,~YS\v'dbHPm-g&|KDA\._O lXwyOܬ,3Ra=ɉWXSq?S#5Jܧ~nG'o ŏq` eӹG& ͙ʠQzڭ't>%ޓTBV 6gٖ">,'-K9ޞ)W,4 (\J)Nd>s7[Õ 7U-qPIt Arfbr{ڂ'繴Yb(MBL:=>~j C 1`op2`G[<y rlUQaHQ0? t6Ϻ֐/b }qdH9mg"1Nb`wѝJL7_S,,D39W(!4.8A5$S$.&0>*EeX9iwu3+\gD$$7 u4֕`%;,*7ݒ,SJfOIjRr?;G;uZy:1*<>`!`CtDF8YqohlkRglhshLLt_͠$vju].p5ߎQj{*ޤ@} +0ܞ%ǿ.33|KxGѦ"x{-~K+ms.al]M=lF4HZ3DfuলY/Ri"`$YFoPC@JWp+F*,Շ,1xM<S#dk5"C: :?~:9=9Y[Bݯm xϪW@3q0#B%|II baIlkKW܈(&@Z=Ql1o$-`(ů{'T){wTan qsq$l㠺_ o^B\,lQDcBKdž£?589uG9r1J8m"\Q &x@"8DFz,NC]`ik%uxD ޗ5J}]zLB7jU`̋9t4SCJ||f،n es$ /\MOhWE:ŵTϫ^ԫ!YK]izʈ<'" h12Ar&,*zU4jHSIf X;]x_t)OhgE5j.״JGگl .8FϘ9U߸ ;+iPj:uFpڼ#JpwJ_1W]}1 )&O"8TE|3.zp%6bA;1~CT܉iփL^n5Dá6ұ~2n;ӲnCkiCwC7-bVTӗJMP/2GSbHI ] @S> K0=wd?^K. Ib |>'57u- ]{|ֳzu}mX/PE1M}-bW&/,ӂl" dƶ\dWƶ*}`rA`y/L/?JQaԵo6ۊD>}b29IB\ ~M N`I;vx>wʅyDYZ yK qskPnYv5|qyR;a@wChI5LxjIU~bt̥[wjl!'Df1|0r@klO(u/F&$9Fk=NĜjdb8ht5 1/@nq'\)a#lL~C߲H22W~US?\ \/*`aHqjq#,![Rr$5:%]JG{ zAz_ϔM䳾Nz$vNA%498KIUDy8\P{ꇟEv.=r|y$PLGX>nXS[Z_E>ԹlD hO U*WOIɎ}5A ;|ʈͷ9R@y>OI10rK^|rǕurGWuQ3L 4[,is8ǃmNV{KN¸ QD[ 9*xL\ k) b`1r=A_nfhtv٩p2ba9KlvN]*h$& L8sCړRA>(a⛈DXEuiE+"nUxiCPC՘~lR3wŎ0Y}-gVa[ &4X:$[)X/yOL;0͜;W~i.'rGE{Xl^ܵE)Ub,&~Mj܌%XS4JAn&iם:Umc8b|_O4rЩZ-RJEL7[pIҤ׉ }[t 4q"xTd"9mj.r zr`0 X#3Z5ZOT_U1ǞL_L(>K0jx|{ )j-ȒO$a|c)V.| )nqX4E=,ûw!ulZJHSu&ZVsbjaR(ז|| fRX8sXn,Tź<̢U?6 FlEyk/UulDM fC#?MfD±Agg9 j):k!C6 Z榹}RkTSġ\G-yV ~v ,DO@C|uBߒ4ֹ8&\>Ų](IֶͩV%qGL+qL < jnXC40D _:7IQYݭ$p 34~5BFf(V=50L{AG8W-@(k@QOW9&PA \m/[xf<+=?-Uս¢yX&R.L r"k0ޞRtGvX{1Tz7DCg^W7YlZI"F^\fξRێȏe!/KBi"f{u'P_ݏi3먞[|}*Fsc Qbcҗң pLQ8AM_,ԜN9I\:"w\]m ɤITD9Hp%EX.GiFjg2r.We3J; "  lq -cʍn=!XTr*!~o %ͳ7e9L{'/ASmZr4e<\Bxt^2L3f ;LSOV!Q*Ռ[1? 03)^OŲ#k8Vǚ(*2~}%۴+xYњY]ئP.7:$b,:1l֛ULX0Yq壘C3Kݷ,Nu.*ueшˤ9]zY腯K̦JTˋG*8[ R+ 8E"8ZK yD(ZÛ4Ze51D*)Ua1s@5-gTs2m}9}/ ?mc:j"}TkEYbH-p75NPmlT ^:3*DlVvBo<'d_ |7(8[ӦZHx93W^hQiS{r3!:lLN}1M L&:M-Q8+LH󄡉x'0YpofMwҎŅDq[HbW%*%i|זXzpS`xr漢lZDJu;Z97 5b%Z.&eV^+l6U-SϽ'fO(E$tcᆉ=#AC=b3yum)-P~bl~0Q@Bxn\^k](2R@) *C9-s"yl0mO? \z<*+bOJdn0T5IbNƼ6bca8 qA\ RJRg5jS& 3X "U.ŵM#IJixM~Hli7FTm(،z-VT.[xVnM~E"P#F!اMNK jAsjP17䄑f7a~M_!j%5/8'q]ABϵrzh6K_I(bOMU?<^ UarK>#$*1o(^1>Q_"Oi`q }D6y!l f}>$:-OK;੶^Æ6$ >7z >p 1{ Gݦz`W-N:ᾑ~]C>5$/; S Jsaz"8[v.\i;J5 yp31gX-vnsPbd) " wu6:ķ\*d,/? -2Spbiu]K 2za>aPE6ԋ¸fă_}3xu-q^yH;֭HΏ6c! T7pP2O{z nA{EQ,DJesB7Ocu$#:7txZ+|-{D0|%!G>`&p" N%ͅ{Lh{6Zn{(£RW!h2EXo<\%ՄNM=n^:I%e;m/PQ~]-!xM;=䉱:6% h7ǿkiCVke:;m*ѨsYt6td٦u`Eg`شHVi-jX L!i3kU@| ԣWp eԏQHkf!ȑ*ú##%mkyCЬ IHL?'?Ǔ endstream endobj 159 0 obj << /Type /ObjStm /N 100 /First 890 /Length 3785 /Filter /FlateDecode >> stream xZYsF~c\[ז+U:m'I- E*$xwRLO ala\'~K_+ݖ'Չxo#-.\J;/ '$Ί$,U5ģ(C(J$Xd'r :Xa;3  '@ 4`QDrz h !S \(t V$`Rl,wByBaD"'0DbPrHPsl”K%H\4LVA@cB#7ђ,hcpVSZKV(AZ㰁AP'4Wq@|OJ8Ji/ȀX# @$>JM"E`Vf ΃ rE_ኼ PGr Gy }[ $:p'pUf mpmHr])A.6$a6 z(C3 @L6 D7%*\KG$sIџ=? W{D_b2 "c:znpOr)YfDL)K!]k6٬^1fultMfwlVxgNlykBc}4,( o>s82yc6P*X 5 a򡰴]Q`/kk^Z4PN -sg?<'樳 ~Hh)6sdK TJ')@K`!kS]5zrθ'ZʼnG@^NCWg !!&8i5ѡ`،W]jD?#~m= ]Es75v4CʉPlWW12(⍡m]žxJq]0SżMwUe#. {5R"yF1Vhik, åkU1 sE,jSko)DO죹weq^7Ne-Y/vz۲\LaԑBA /1x]Ds[&D.XXG]ρbkq <)8MְX 7xQ4SLYj/άxS2Ts[j ۭоeޒji=N3π{y[S1EN^!cqMW0dۀ*BRQ ;==z*cfWm;#pg%Dx oi^j2r9kNlK&M57S$/m$+vzAIQ#jw?)$nO:8(8 i&O%|IO [xcO,a ؟{|AcIqkdž_بl c=ĵA j^=?;SMMnjSkuc숝3{2ـ匈5.NSlبƒg؄M4شJVN،}a< x?=< ;y1k< >')D52@l *>Zew8 vNO?~"jDž?K}VE_c3%+S#q`ZM>;P8W|  {KqN]P|d?>xp<}bEhMoY,bHaTU5-v S?W>7%Ԋ|fٔ>z~']lƀ+W.btސ$?c 7urL 6M{VS8:;yb YQMxF<"X\7 X׶;{P5Nͷ*ήu)w݇?{9{u~.ILy ;)؆JBTZ%pNHyǻ%x8&a754Sװ}[F<5T4YV>Tc.ޟ{_E<Z &rrpLb2@/fa0,7ȼwUZ~8;B:_72́?is`;k+Sx1&cCA= c/)xX):QT:imT)_5ti-;d~E|S]O#w=Fu%魗;A+ucĬ;瀮$xl;X/Z7_=BzgٕwmB#J_;ZyC]z{S6 70]K~y=~ռ#^-oH#-]Kng!V=BN-J7F_LÞ#y~/:&DDe!7~2ȱj VFS%&7Jo:s!TiNKC~qUJyǃY/z;ɿ$Pd[-o'W'WbjYyY2 Vr+dzUbΪߕz>gנ7->+05aԈOgAl| ߀oBV k}fe_6 ccد &nĶn6!v+ 5v54Ӯ@֨!}+l#֋2lfL i M k'*MäC endstream endobj 253 0 obj << /Author(Bradley Efron, Brit B. Turnbull and Balasubramanian Narasimhan)/Title(locfdr Vignette)/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.15)/Keywords() /CreationDate (D:20150712120724+02'00') /ModDate (D:20150712120724+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) kpathsea version 6.2.1dev) >> endobj 238 0 obj << /Type /ObjStm /N 26 /First 204 /Length 829 /Filter /FlateDecode >> stream xڕVMo0EkR qB=Y"m7n_όXN̛7o1Δbr&#  0p?Lj\S Fy 3L\WgRx@zx9`B(_ )XG(̈́PhS&RMYP ,}r\"5CCu!㏻eA?rX`g,X""49HX2 ," _dF,܅ew!wW܅., Ppb] wErW,+rwH1Q M~aAHL>$m?tqF 8f&ns:R3xdI3YҌp2\t/|rT/p[ڡ!QS+Nt$gӑq}ՅZ-uSs>qjK=Լ>ً:Vyro *Uz,Hwonw治{]m8b,S`뛪v͖^[5 Gdx3dz:]_aƴ _ endstream endobj 254 0 obj << /Type /XRef /Index [0 255] /Size 255 /W [1 3 1] /Root 252 0 R /Info 253 0 R /ID [<951F10D0AFE93D6EC4371CCADAE0BB81> <951F10D0AFE93D6EC4371CCADAE0BB81>] /Length 614 /Filter /FlateDecode >> stream xNQF( ( 82 L݊ 8! 3qaBXֵ\;_¸ 6'_{_2KַkrAS:0M3H@iJ-.zQ3CO[]zz[ 83V t#(xDO< N^NtIxA48V$`H`I8 ,4])Z.Q2#L$)pk` upa2dDY#\@04 8(Y]B>D/̓[/m\|訚=oYpk:m@a8eHeηZiztoP4 KifJ :yp7:p<0;fJ=EhwZSR6פu(nK;*,8p#V?rr @@>Hm}P HHi !P n]Ym҈mQ[Jcn_WJ%JoJ?JS(M{}4G EO_eH8mӌ3vfؙag >7O;UE endstream endobj startxref 169401 %%EOF locfdr/inst/doc/locfdr-example.R0000644000176200001440000000233712550436134016302 0ustar liggesusers### R code from vignette source 'locfdr-example.Rnw' ################################################### ### code chunk number 1: Preliminaries ################################################### library(locfdr) data(lfdrsim) zex <- lfdrsim[, 2] ################################################### ### code chunk number 2: Compute-local-fdr ################################################### w <- locfdr(zex) ################################################### ### code chunk number 3: Show fp0 ################################################### w$fp0 ################################################### ### code chunk number 4: Show mat ################################################### w$mat[1:5,] ################################################### ### code chunk number 5: list interesting cases ################################################### which(w$fdr<.2) ################################################### ### code chunk number 6: tail FDP ################################################### sum(which(w$fdr<.2)>200)/sum(w$fdr<.2) ################################################### ### code chunk number 7: tail FDR ################################################### w$mat[which(w$mat[,"fdr"]<.2)[1],"Fdrright"] locfdr/NAMESPACE0000644000176200001440000000007612551027767012761 0ustar liggesusersexport(locfdr) import(splines) import(graphics) import(stats) locfdr/data/0000755000176200001440000000000011531031041012421 5ustar liggesuserslocfdr/data/lfdrsim.rda0000644000176200001440000003760012550436134014575 0ustar liggesusers݇{UBM {c`E@T*bAE*vJ=KBۙ{vy?{2,!;=;o׻=...>.!S\|Beb|:%u{|ꃓ;vwCͽꯁυnm7~#B?n ߾ <[Cw/Bi?^X vGGGq~[_䗟ͽ:}FKK4$ԗӗӗ;A///o\Cl>Ԏ޹ACsӛx(^/׋vߋ=֜Iq{^POߓ=)~O=(~wkB====vPwjGw:ݩ=8tttڝӝCwjW7:.ݨ]ݨ]zFFFFFFǩ+++ԾԾԮtRRBBBBBBB 3ԾԾԾt:S:S:S:qLK%Q|&Q]Itܒ}IԮ$jW"DjW"+ڕHJv%Rx%R= t= Ԟ:^ ԞjO'O)O툧vS;Sx:.(~'߉wщv(nōqtQ8ayCpHT퀃*>sAj?hhh?V~h7S{}M{;hSrwVAcQC>|= _g{9PSm?/-P^l E;=#!oW<,:c:c:c:c:c:c:c:c:c:c:c:c:c:٦C@υf|gy#Wsb{>ON{cEWE'={Ёg9sÃϱsb{QAԎ|sɣϳ?GI+=t.7+~}8~_9ŁtGG>OGG}~}3H*zzB/C:k>v(ԫO߽1;C]TinC8SBy3mŏs'Lq ;[?z}t'AC}/[ZbKw?P\-&:]pߝ5/h笡撷RrK uϓ8'?4oPsC](Nc u7wFPO T!9y~<_Pnzѝ로b??8s/ ~yjexdgCi}]wu_ %Vru Bf n̤P_^cm{l_ _5N㍤P7g9O3/{Ͼ,捛/k'}i N+<C=ps z<_x3N+?sB]t=-^Zs 琔{ ?+. Gr3BI7}3Q8Ut:M %%}׽{bӳƄ:/_v4{i}W8VB·k5Wu hugSg^u=ewƞ4C#Zr]w2l՗}YPҗXυdEc_eC-gM(34މ 9@h|܍Pwo>+v?gdcH;wayPvT^Ńj?c3sMʉ*.!SX 5z۟hKqf?iP'++h;9re V8WGN6t]bKfxP˓z0L9]쀶'O\ȭU|a1L?:h  H]z!w̓Ӗy ]~xιlh(2!y_,NC޸j- ^2lAge#H8 qײܼ2ti)[>|].o;,x5d8}~s>b'~prí}[U}vVZݗOU}߱ބex6XwMU[ڠ~iCzyuo>-;6l9r>tY5A {E{V{Ͽ ʬg<2!p7 !wyۻ@9i]oVL!ۮaTy w#WbJۋ#Mc} 7͈W>ni}PLM{*"s fĭt7<ȯ& 39cy'r. UFa-YgL|J2U~_#=Ԫ`!9O`ʫ qwn\hRG mk(oiVyl+@'v"P~U #o̠g DGnUa(mPA][;1sT6 f=F:FM†g~䤉ݡLOX꧋mJd9H=ÌOT?X]_hpc]+ 8<%X~v .dhQ6O)C~]aZE_||1ꇡ&ZT~rՒ'Lqzf5Wb×  ZHl8jmm~?=>>%Og]~ iXȴk[Nw3վPP7uEא[2[Z``<8L}f B%6bA7Y/CCyd~ {m64c yV7zrb!t\,r/bY0p`Y5j\uݧ8k;3p@[pY߉; 8@9 m>OW㳑\ tӜͫBR#` 6sx67)t68&BHsgx|rS0fs,g/Y@Qʂ n`:3uk!?]_\-9H~t7QoGaͽyJgSС*n~)E2!\[a嗫x~gҘu!PÏo B>yPq͆D1 r{ߺ)m?p Qw~pBxm;-'DF}a99Ш̠uxut=}~P`5x[UF4ʣ ?I7Cc̉X#W::?e`t\׫Z麮Q !t7\ut$mT<{yӟv~suLtտa:^m\qB+c2?j chlo@T_{"WkE>)-a ǩ:8N4 X$.|u)f* qԿ^ K)zÎNrhpA4͋"רE\K^U灼1gq0Є;Sʳ`S8czp8ZU _u?jr3536drL Wv_RKuZʛ/qhW#eS.KyI]___Ke4 NӸX2{0kiRpAS`Mp~vyߢ9pׂ +i[H4EU BeutfNQMyZ3(ڡ?\Fyq=|<{6f<(뭅-(,c}Q"R|j\z/6eNר?IKXXBG?tW7݂&R=w`â.Y} >_Py G^9~Yӝwbʭ|XNoqfKßj5F h̽H[Q\;U.wԉe6웻YU,څ+~ Cl= >W۳~wlܤ>/ycZQ){Ww#>z~އ %^_ny7o {Ón25Ï9Kx9W@O6CٟY4,|;8+gW_cTFg&oj8TMV՝7}ƅA:w6lEƩ4,R&U5V5цy_L9V_]CnF~qXEȠIsPEus̡qo/Q1R?~ 4n)X3+I6Oe?w\݈9T/R-4hO(%4.-< {^ &p͔796ρJCTu@̩ ~St*jh{^骟`z,e#/ ŗDzzA.p}k`ͯBr%6ȿ]kɗf5oԏ4ߪp8r麘GuUµPt4>dWn(H4j åFZb;#jL"M߽l>Ϊ_+;턪w?e?0;)p g{K\[o;/_9;j/󋗯lkCtܾ OA Z{1oSc5j>t/x ;NLx}=47礁aft^ ߆S^>ɾX6Zq ˽{Bv牢zꤾ_?sT~3/"_te#aJj9  s]̿a֚>S?0yU8ጯg\deL^P?jIScRۛEKss\|ۭ4鍊#V_͚"U w3ܻ̺:PaVP:Ǐr+R:L̉y.,N>꺽3}KXƛ݆թ#^13m#C[Zogo۶Q~Z3rݹgk~ jÏ0/gž_oŝ?-woسg ~ZiEk} u//_9naS{T5ÉgE%ijfԺ Ch̛?ؠLk~=7ҍqga Փ?@z0L8>9(pnF0V5jT:2܄PYu1W%Q]ռEê.+Yq7нK'1]׸_ pm#6|BtHI/L搜U_XHn&9_GѼy'c!۫QK<)~Qt>"W5ÿw@aaԯGgխ<}?=Q.X25eT__CyKZ߃4n-RZh,:^nu`|ikP{j._Az5qh ayi á.Ӄ2hPa5ӺZ|zh9t~-Wusz.ש!H#=<h+*.T}qjʛrU;q7eռR?\<5Rj+{(?ȧ.(݅Et^Ӽ4Hq#m{f}y*$OwK>d1e0f>xP(, K"oNn+z r:+ OrBո_{2f?MoSxѱX\VͰ;nE'JV`Qzь5Y@kG* YGu͔_¢pw^}dImƂ[rGB~JʃAC kƏ/(Ӄ.֨z>;wgmp"eq~qTξի>\8े5TQ^W!_iXEEkSӺ?.J׬S=-2_wT\K:,HjnPC]Aȧ"Yt=yj5)4_CUa%UKub@L띶ոxlo*o+ōj"!n ?aNC͟8>M`寥~t%BlS#ب8Wov(ϹꗙTyjP7uƿ|^aOi*&N#{y͏0e? _h~ƹi](i |5e!XEtMߦu?H}GUQ:,y6~T sT\J$t\iktL)T=s8ZT-S/Z'^OL3 h>)Kb_xlBQ=֑Fy[SPejӠrzeǰ4.LSCSKh\9p?LJKxҺJZ߅vDiPy躯 x֯:z}ޜ~ij)ڃ[[PDR1c+qlSB$Jj=6SQBwQ5G,uh=ZgAu,j!i]CZu.v Ю+XLĢiPǻhr]Mj] <0W`#tO`]aFSy$ӼU)SS=Qw: 6!T gQ(.Nh|947P]g.=OI~P곘Ot/FuHb=m>um)AwG-ު2Hk_6{p<㟮'Ȥ)|:UAA;ͳGK+iA7 .<)mj}W(1U+J=*Ub)BZ]ȧu[H 'a9k Eކ@.whܠn'p cIMtM⏮N;6']|νn&j=8p=mOYqEޯ. W1[}9`ܓ.ṭ"\Ӡ?^r}UNY~GL~C=_+r!2C iPpȟH W¾qj>7Kn*ht~/2ꕋ btaQߓ/-۶⊗h-~4WCc#Ҏ,zOGsG7a(nRPG)`W3= 5kW~rp`a̋U#B [lŵnr?qAϛluuk1fPAS;HݿGuep'r8&꿊hʥ: UWC_J(h/iXo,5Q=yAuP]K|5.2zk=mҺjZڹRi}n6媞Mj>sIMjXt<0~ғ*wt{|SwuIE_F}aE_N}E b+#ʌb+'ʍc1X =Cc1X =Cc1X #È0b1X #È0b1X #È0c1X 3Ì0c1X 3Ì0c1X +ÊŰb1X +ÊŰb1X +ÊŰc1X ;ÎŰc1X ;ÎŰc1X 'Épb1X 'Épb1X 'Épc1X 7Ípc1X 7Ípc1X /Ëb1X /Ëb1X /ËHІ /M~iK_:MhG84q4iMhG9ts4Mh:G9 fp4hG38 fp4h&G39Lfr4hG8,fq4YhG9lfs4h6G9p49hGs8p4h.Gs9\r4hG8BQ*RYBHD{s~뾮sUi[,TTT4T4T4ۧt4j*:*OƧֆۧ`WK(,'Ǐl4yvgOݮKاT,BtUa:f9t2U >w`NdNE2̞9QJŇΨ [\CYa㻒|P:p%X`[ꎹ<Ϸ)Pj~r#Z{(y7`L^ݭr5+?d[TS{d`=j Hܛ|xȁq7~ 2K`ShcR>ڎHH/_AtC 2'+qeʫ#D*I]i8l{S(ܪԖQVӧE.F'>ˆ _+IJxКG>ܼaC-ڄaU-kM~ܕБ*Á]E Q{F޸f{:D2J7G&kp?p@fGN{@rH͓O%G&$<}MIbI\HiA"A{krI~thUxvEX1=(܋aǔkN4v.v/̮㌠GQN'(Lzp B"i~'*o<ڧ hrLbE#@7Uח@)k$ 圻fTGN8{W‡,N/0;{ZAS~_1OGgfOef+PNOwVۙ9N؀ot`ƌ7sb0) =^ok7JobmXf߾-( vL؝>1NЍWmSnq;qeelqNMDx=)$l24{Hdgk%`)Ed慠5,|M!M]!h, tyE陻`b#:St 6~Щ_6V>ܕ(^ADZLd¹ҭP<'78i \7H5OLU\D~8 HirIB90 KxvF.7H:@@jJf)4PT6W{ R4~p(&rq8(a?%_@]Uc69G8D0zLzmdP"8^f2Q"khVguq'ZHu޲!]8juwdɯb{*-Ο۩r`Ԅ$#q]Bra EM(loa]{">| O qroԍHwպU/hؼt]mqY?3n {aE¯DZsuC9qn3E+1m}q%NQZg}k8=ov|߮|>A Voh6/,H}?)[/@aݜװl)]=k~+=Ԁ}*IeQsg`nGgX#RUS~bTQ@4K)s9 0}u$gO3:EQ{'?dɀ䴤I @;~mrJc\H[u0'@TKθ܇q%O͓ÏSXpL5"p=os̪~/xȿt;|?̘ gO$F~7'}}->VD?,i.]m@^:6 ¡8-n^|dۗLW,_&ϜC,AHE0#n|+eWy %L8.~soA)տCzyK,(U${` j*9Uw#usJ a0\?Plzqp_^8\2]6ظ:=fEg?ncbƖXfΞT+q( Xd ycF0C`.MiQfV9;hWO_XLL=jJ_ A%/C8ĶiVa98.G'`MI~Ӌ^"c1bޏs/quG7$ͽ% 93 I=|M}|7$g5%7c6u~Mԩj 8)\{Z;;`ܱ2U6sź W.̸PxPUMxs(qW ڮ|7G' ª &7鞲q¿+;L]^y<?a>%;w j>orF*MQӢ/BqILI<ڳ/SpmHt~y"@wR#ФsJHlgž#2JizŏݫRrlx}Gv0|$À@}>|{`ȟyfU RW0ebRHa[ )됑R?t~t%̓:Ue%(RXZʆ(=d><_ݛH#'H=vTtF| 9ũ?nnG-u\ɭ1Qw#{?g]֞\IPTc-R<$f#7}:, G8h/˝U1A^xg8| هng?e9##Kb_"#|.a8m$fM,(~ma:T`To   ,~b{-a V\gRAߠb@X4WI6ӹAjDnPlQqח΅*bO}{?}N P'wU^M },K\~ڻGF}$BF_r͇$2pQ^e[Pb- cAθq/oEJrcTrCh#7wb;j>85e^>2pϡmV>/ -bK lzl lO{0~\A1:֜1e)q#?Ϝv2v8`6F*gcAf)X+Bz+8œaC# R'%&wAǽ ]e`5{zX`0:;GCmnto(KY9\~äwO[Ɠy0R/lV36b%P ܝG'pPlo;' Jo9SS+lamI? iPإNY+917Aclk8~8 0- 8=//m- yYiC)T bwAa0SY| K4S#Qn_C(ݠ? ozz.| cglz#EUJ`pRhljp ( /x܊)ujJd\āMW=l\f=]~H|iwB;ONX+]7i9)sSnkQ92q2p˩+>A/[ܑjj\ay˯%殓J +EC$b ^<;԰C8CA#V i-xE}0ɨj]p Ο2h-nnت~Im61sUs\ ҥhbMf /f\Io0>qS֗9zp+{/͛%;aqĥ5HX4$%]qNt W\75ι1ƅIM=:ߚ#>u'6ث0\~{ށagvA8pêmBO?|͏}k K,ٹ':t_?]^ؾr)=< OTHCN/]$6FwDĄ OnPI UкMŒ?*>C\]ƅ9Y38IwMz^WR&W7nrak],]nH&MH6 ';fܪmqFGKL16v6;xN%&lPqX-ᴟ0 ,F5&z8R kBfϪ{R4_{+݌݆]{q^_9ՙTLO/`DW=e-_ih!Ҟq(jGJ^#3(ߎVr>zCKpQI5O,pÒ5Vo%)"$[g\+P`< 4+h)B;8i&VXuӊ^jq'/밚 ̿>)UӨܔ cӹ'TRwE.{:.=a;WNfdbWd n̷8iQ)OhƑmߞoط{.qQ=M;R?̇-R?՛sb7 h~]2Dm\gN%خ}ؾz,i5qCJ|d$; u:;,رΓ.*]a|g4WoyaA*E] e^#gq mvC쿶YwCO}'߉E^v7[픂ڗYcB'#ٜ+B$>8H#aGCn!u08z)$Xbڎ}YyL;2$>wj3@Iv6h9a"1@>+oDެ9_/sNl_q{{F 34ehu9nT[Ze}дJ/D*OC]z@߸N"@cWkӣD*oO1Ohk[xj\vő3!IG\0?iLkḀɛ1iFK{m^q/a8<Ȋyۿ<;W;IOHǮzntH_zqǍ] 3gap]sPpc)SClc֍SߊmZi,e;w~b7T8ɻJf7X3\qϗ-¯ ,V$L-5݇Н*$ NW_@12YR* \MvHT`p"zNO-zbDUJ( V; E}cLNBfAqE\& 7Ux ż0T MvobU?G||Q'-z w`X$0 <0U/ 4mP *a#zh2LF "sܠy}2 r>l;*Q܃E'/ g5:LJ}}l:+𔉒Ep"gc6!sT?o"NjpzҞ0q,hhɑ$)s撠|XnfXYKj"1Cy&{NbgիSHHq~,Ӹ)ufXcc88WJa=1ۜ8**Ɇ@v/4G0`폳;yp'E6 ؆]`uV%V[lAŀv^!BIx \@*M1AqRQA!f(P_'l <~( ,W}X Bpxۻ&&SUnM&I&ǭܦ-BDЙ3omfC&^MWf,5%iWBʚ+[|o,T:QgGLn0s̹!G$^_Lԛpc!E| .GOc_Est?X,`)lOc9gge63̡ja#l5p;}y0~P³ܷ6ONDƺ#ҿzar:xY9^;>6\ ?Ŷ76<"Y-Ayn5s)gamB[5ԧRucݑ<ϾsV_J>+0|8-{MÞ4Kt-pEYS?fިƵ=\IQof;ր6a3[=zGI ?=k6S'/iFFþB^L(}\}$ ڹy'E\> @i}@2<THkr\~,$]ߓ?W|̀N?s=} Qڗ?Bg#r:p[d>@pP#iy`x۽BCOmfi'{ې֓H}) YpD9_Eu$l\qQ,<\&튁¡ħ8'zųԆ &Uu]pYv8`lj֫W0XLr>HUSq Id+GXG d, i?M[}Mav vCJ+(jL>h\-OOɵ[yh&OyX `y-Xf͟/,!B&F W[>#Rɦ6fEm=ñ>, S$!_JuFXgwn$kيr/MhhVPV]MKci̍~.0B2x%GV湏kAbw%͞>)<`sG >##ʮ {/}L` #{܇2}0y淏8Sif{}g 86pjP%`nΖp1;)DdMmh@:O1 ƥ~WZ8whQЬ1(mMhMg3`wiCa(?hn TSE%g9Ou\\kz]cظv$[PtL7櫷 Z#ѩi_vOo{҇`%;p)/BWU~SUEVų̬tqk9Ƚ8{;.@#CW7RtsgX{/ Rъ_ #h7>bf: 0c$d _ZVMΘև`9cc/Ği4z-Q:X du?m^ر A_>a( yKìZ7P.S^)ij]WqF;_,f L奫~={պ2w~ ǴEH/ò+ljb TZg|D?].űO?`GKjK\;)+wrk%.Η%vl-0f-L9W',T ٟH:ϱ7voީn*hoaeFL!蚨慃 T]ET@;NC;dEa**}&x/zQtkfNҕ'qؘiSб~6sߵUG>;BaY-C [;tU9G}~_`bQ.uc>/T-B,i8'3/g/hW|)f[r$;i+sw-U۳8(+zHuxB5|TzHARݢ=[P6r\eȞrsP5۫ VK]!?N&>q#jb)7ℇ~ZnmgRzBNj0heEJaE)Y? qXY] .$Ż8Ty%b`pN0$6 osF0'gGb܊w- e]\,)//+ZK?ԪC)HѾv^"j- 9 Aǫ71ry Ǿ[AtE׸۞iE6Q '0&hҘ mb*!bO 'oh0@8Ῠo5\oE}D*T]nb *'l>?l#FOvԵm޺=B^GTNq_ҡx׮D#O f i\:m:>ح)=]S s1[A4LI卑-mHѿ~%#c}l- yX_; ?[#Ӧ?~V_+ h6q"K6һ2?hTgӷ6VQHbxt$&1T7n%|]ag{9"#܂{Oc׉w XҮ~dw-q3B!wzxv% T??ǿNQeXo'%4 4lU3Z܁;Â)q,'y~ԥW&aP5U 2UC&d&j]=;U@m ;m\IiYC_A64- tJbYn;:Xfā7A`q ̽ 8U.ds*7؏}:xX7H i=](whNt'|0VW]cxK)+-'})8|3u Gvo\9{pijMDKkn\ޟ*igǵ˝0kkp8"*tg_Yu%}?KIĝ"RTn!e\!yw .x/X鞈 [: FF7ϓqJK%"# G M84@d7;[uaAA>f2R`t/Lجd]SC/Nu)œ{WSna008c3 Nw]eQ33]@rhz>¼BUZp.'8G[X19XSs/p-ͭ$X͚eJc3wbSY$0i!}a#<3pƃ'qeJz 95>ڵuuX\i}: V?@;Y&L΁<6wNkY_+TN}`O丟&3kWU8R*mϷ\m7`Lu^aeUC@ *6^MؿX#}&i`p[ƖqLpc+d;-OcܓH2I \s/wRw*:cz R`7j䄵KgRh1)e0H|\t'{:o6eYTj#p/\tƩ 8%Ħ} Cs^#9R^>{9m x*ý4R8]b!ca\:c?W=LKDC0~EE}#|'fһw ? 3Gw921_ 95U'ms/ӈf'5@i׾GP7MG妔|. >0d{QBMڵU+ٕwtLSOSqRy<] Wvف G`fNJFfoNğX]yb.n+vpB]騻2yFgyHy~ A:A$WGVr9b]fO"v7ݍ띅Bdl#w8@>#$MT+383.?GƠhOp@AMHvL@q$!wH0IzCwY[!|gT(w[|$ymg )nX7W{=9?"+9dǭ8+PL'܉N/a؍۾ |AOL$q~ڢDa44<86sEu1r\J`f1V7eRp9( Wh4afK.g{:fu+]QkhvX*4D~H{QU[?͡Ozc8SyD-3۞&F\VZ xq) nހIl+|v:ic}7 _ VH m3^P_Џjo8Jdkp_eZr`w^e{ RW4Ô{8wh+a&\.^UĿz%@\&T OzNF|oL4GfSemO9XiC rsOf9.,_x5nʼŒX p`[M|^/1Ki.XԼT@~6qp Hd ܈Stтո&׋~\ LQGb]Hz-lwE'7E@~|^}t{ Yih5i Uu>i=}Mž*y2XyB|!,}z#ul \urU y ^и{ {-llIme[L"qL:;-)\5n&A s,VxH)[=m>ݹ :+eH5?pۼ@eH<YMާ8@C prqt ڼv`{wE45IT7 4ѩJM,'|0`EN _U(lJA62%~ݚj^2ԺZQ*q/\䢕KoqퟄfȝY)\SQrSEeߠx#hqo.@aOnlc aeOH i(;dWq>?.Y/"5Ҝ${>~Iiֱo.j["uF)9Rk:2F(\Z| |RRHjL´cܜCX~/ "jךlhS>|ѭM#?yj0#;SmGD";WMӼ h+ZV10k}#]Q^AA/ 8kbcMy}ώK=0*+`v' .0w ՗a^nlV15%\Ni"dcE$8Wv} n]lL?j/WJw6{^T*)Om-Z17ϰ4uG$RdR!ǻpm903E^ 4z.ټ~+f僌}Xl:Un0kXn7LtnX`Sز؅лiY6H;L#ta~L-l3=<>t9aKo[]coxՁƼRiR|d׋8~L|պAdՙ;vwUϛG璂s3> r9؋qƹDy+_LY_BܻX9Җ5.?F%ҤQ\?;XQHPbtG%5\s{^-rHaڛz/Tm }z/ !t;-`*T 'w}}r *M)~دykO1/#-?icv%67ҟYH7 ׃]~ IN,n~t,mRtǡ`CIj7[[Ȝ{{bޯ, -byk={Gp}Ӵ(*WjjMk3D*g›O Pjhp9 T BoYpZ&.w/(t%Rk~X+WϭpXu\vکg; a͎./c5g#oqn{d3gcW52Ep6g^$$L9qhzANl>Cy8ι!iN-gf;1|Zj8ǕEsKiAś,W sT;+ȏdh6PR!J$sv.>7IѸwH "<<+'y/>0ťjݫqTY%ƴJ~Hٞ|jO`]nc썻4Spx£0#@1})iZWGܔ NlT<2GgwM(R7 v}B9_bk؞z}.)byi9/؈sXI+ܷ,ՊDN=[իXWQb<^颓kS<{Ի8TCMԱa+_ 1U> Wy p`b?I '#-]%RZf{ņUpos#k}xaM_e?)C=ve,vwϬ|R?ͷw`RXl*A$o'Vz; DMj0 'OgtahIV{Yu& D,CۡF\SR0^Q( -oOO+>rIt|q\f^s'`m1R>g\/;qqʹO'SiSFR0N"gVOcnb)̍d:Fݢ2lH޹@/`Nyݪ_Xzs^aO$|6DzzOh 'M_'Cُ7lX&UoT޿ńncW‡jW2mtHd7Y-Dz6S}26F(}-r|r-}.=S}tfoc W lgK{8YqKWIj]`㩧N\8`"~'xt.+='Ee{mDll|w)יt%t'[{(%om9 Vc=ٮRi*fybܑ=])m(BZ00VF ~[`}-0*(c)!q:X<k X~Φ2^$9c^d;dnX]`N?==C׎ٷbsķFr8ܽxт'Y6ɚ[HgN cÍvq%K`0I_Hr"Hf<|?ܱ#HEKU"`J";]׾A{s`KDW$hmn[/uFRU]k0.Z`*k17qE "BǼ/=~Dj^zMc-u ) %9fזv-S^h>|Žs{:-]ҺoͬKa'c}A ϰPf(7k6펽G3%ǰD,#9J/nP5ob$zN}Xja~~ Bv@q(՚]nC/,ʱ4xn5ida?:h K$- a}Ar G 7Z?^&2ew%AXMm2Er |az&oRiaGͭ.l6"7ΑNw3:C^Ɗa5.Yz&g{ij_5RkVkWCW5כ{= LKczN~.#]|:#RoPZz5V}ƪb۱1sF?l]DLj /Di;މXN yu4 Q i8bM gw6ޅKuF]ٰf&M;&&w&a'@WgR.ç?owB_J!;n0UƹatzNێ{.mR'4F[E{Nbaiz# ^nYܶr)JjlФ{;x|C('wpuECwQ8sV{qygzE̚iz"+^q9z70wrH^_g:A/rA0 ~J!Q+^ڀ?'obQ|jvZ$RB #e\QpqqN(|/hء1> 79QtlgORb]_GWasJ ]htKy!{l͚] :r]6lB-PזzhAM߱c{ЕbXhg;?),~י.? 7hAݡֳJ<( c'qEueKN@cdgNn?wdZk]NkݮGY@Ɏw/~žsVڧ 3q㙢 l jAA_qL+l X=54B]~8v'|ʙR|a Q܌qIyHƟάQV4U}^HھwZCWV%unz~#:o%ecYz;2,8My>xgn=' Rj?#s ~O٣{]IA )>֯i?2 ^HZ C6R@Qf1U҇8aiᅭ++9 iJ`VQB()Rv%3OSjaV Ljd*q#Js y tHVg?TÚz*xOM)V-ah70 kg겎| m tݭ1W{10S yLo1zb ?Ͱ K v|̽lM1uQvPS@B8㗪Q,xOvlfz;6NWXtmk&L/)!n@LA->˟XC+pxl20[2N(xF+k8r> Facu vhlbS7% z}qg\(yCI` IMOǰMVbG#. P]Pc9R~VK1~ìwS7m_+Go9n_nծZ#Ix/1'ς}a˂.$3K0ƺ% -R8Η: 7Ώ*Ӯ tOma=p_{7]ƙYQ46~(Ea=8}8yj*spEyZ|pl:'8LRp0cK&9㩦HIiXsIEڡ]_jW[*D8#ݓvg]eS.8LVK]"FP*9A ˄֨z󿱗F!;!^!b;'UrIE5z(\"n *ڰy+p}0\sɓ||#5ό޼beX{R6"p]滖e lN[[~'`BN+`YcoͷX~ؑvɣ/U_AI˙CIذ21pVz<\~:m1+ 2tn-c!*8nr8bR!~vu;P&ץS*]VYjrIm5ϛ%ୱՠyv[r}X+| #{P-K*z^ًQy}02˦htb H Z'k8<c/ϽLQa镛0('/ΖW=U.*aѰA.7] Opޅ'DG/}u?zzw Sa%C *J :@ԡu*$彥zVcqi1 ,+uDBcv?-Q1]o\}y8)b%N~ne<daXhӈłL b3q`|~1kNMJ@O/,WW\-{ /{dLz4L .jO>Wnf)uﭷ`c֡уP/\%?g\3'Z\D#{OG4Q~&.ܕ0g*ᑠã]by`%eZ 8/Z9kXgE5%v jdAU04:w̞#)Rnyp$nxlm-Dž5.6# %ztKq &Xͳ/r^P-'O*&!ٯ̹{|p>}l 'imyx¯7Lݽf\֥ñl#o0dQ҃[ooX[I3x5D3I/nV (G7C{BŦL?^ n20l0,_ۍRzӐd|VO2ѽ3oG+ݫv8r8ۥvdT&ZbN0`y9ReI3(Hy_!3iRq'Vo=vJ>_QJF;Ze; ֑A'ag|. x"twyB{^o_ݱPg6֘RyIBsTCWq!Vt;};toA lfSY<~R\ gߕ,{G.=_UdP)x Y,B\>xZ|_b6;X}vxT8"MxYI|9O%GN!oBԈeyEP+1WF{0/b۷]X#ˈ _엖c]d99a0bB^1! JY,1g;"I"0"`aY)c^,Ģϓ7`T9a#$^m:iiK3tO^ͧA ҭDd?oL9\w⤐^ ;F &9-}Z SW1z33k5,n6xSX6}Ӫ+[tl7M؍ ԁY6x/L?oP~$w d6ѷc /fSX~6kKd,/ۏGUP!bg3*ey?arjXjQ~3&| "0J%`/LetFל[ B߯ɨHjhFbH4NN1Ks;wcq ~9:η)w ұ[:4Ai@` 7q-4EqġzV~gGfUg{HA)YZ^wG=SvOetD9 ~VAE~64~/Z"/>uVQ}|goUcЎ.,;}z6Ò($Câ@A8P>+g?ǵߟՄ8qm qDtsE6<Ol} HroJ "m>mKu s/p{(l]c\voC1?.)\oeyJP#6Ioo;;pPF#' ޏ"l0I'ao ܷwߜ$xpSy5:Oxw?}e>R 5ad=,ޚߙXa?͖Hr̃Wytހa3F{rKX2>"O0p@ġmo;bZL5S#-%#̍<+7UcD_@9{"khUvEA6OO MIiůjW(|w7Bn|9 ' )׫Ob_ѳ ǸPѴJ5bΖn`!Y7,6RA:%`p"Tv7(O K76ԭ8;L* 䞟Jr'Ҧ_Ίan RbU*`#ASZw[3ێyzea .kĉ}vŬ+pDN{:u]T R< lX7S;yX=68  )o{p2;A^jb< Nc&j!%ʍ6[Mw'Y4dqJowvTx&{{u5H%wʖ̲#{+Lιڌ*jʶl<`lA_9Uи~5Y^:9`O/eRX܅iݶ/h+LoG D)Jy" 1ϭ9ygi5NR i+{Kbo(Pϧ긎_8^k?G8,+;7O >xi*ftGB_,a[rd\ LBB*l9ci;0;N_t}+Y/wM#)OJ_7~9 X:,69:s Z5pؾ4Kn<)zD][`ԣ_ސF>-[|^ùl9޾׍_+Ҟzߊ6"$qk?zsT a˃3sT 5'/<$pFKDsM" t"~"u3Bq&=.1G<ŒV=` v;=&/0ͯWBّ^N(<8Mr7y03|gA1l5  Q31+,9j=+D VBjbX!ftQJrarv}53Ĥs-yfXforae4{A(m ^`00-$,jS~҈f}`_Åی/Xn7N2ߥ^1Zq%{m>NĐdžܼ~܉Gys!jP+/N4UӤ/ 틁WoZ2h8N]Ośt)&RsY;8ϽtVu/!07N뫘(i`J`o``U+;h{'s1dG6֞27'NE Cg#}$pVuhr7‰oaRBKik|k( qb6(qQ QgCX,}]rq)7ܰArN(c?â1K^<^oTDpZ]5,S`c\"`;oo ޑ,4~c!HMO陋V^A hmZv ڇx`Aht &߈Ŏast Lf]sc'!IQ"r[^J3l풹e~{YylOaEW -/2/LkzBm M{d !:jmA{/S4NC%iOR+*S4Sp} Hꤚ"i19tɆ󽱋q80 <2~^ J-̞yT :%mzA㛷IAS09Dl;AyyٛP9qm$7ĎF;o/G|v?K wkZa!}?'kr?y+s-8@ n rA`R,k}>ih*< =Iߞ#,#|"EXIM{E+,\&06($C(7gݬaЃa(ܾ8i g ^TY-F{-Օh~wWi3tYva;{Ǚl^O9$ԈJ9l ."2pD[L}%qa }.K$);;nRzIHcYc'{䝘1߃MDXL})h|E~ d|=NJ5gK`D֑1HJzccnW\o:#ۅ]+4>apK" %xk2>u=ycdOl8/4idKSՃsl/m"ˁɯ9&%lۗ|eb]WZs@_Rm ҩ B];jK%3OmiCF|S.l9JTo<ù~=8g,%0$KV ,:~ $ѕErZYh>^x Szfy1htЪNJҵE5fؗw*3&<:*OB%CYxN-?ՎAE8&-?֕*Jպ o\:[yɟz >{{J[3ΪhX5vA1M"фnË϶^ڟ=Hj+q%xy7&WJҖ™G7C- =g8%۵T' 邱yъmF%=FoblH~mC+H## SlZ?a:nXckDؗ{f?q)5~bS ïep~KZdwD}ƟUqtX߭Wa7+nVEg+لbdmKܘ>ƹ?1:I|Xq+T ^۾8rI2v6HvCϩo?q!tq((n}/^TáI9^Q[){yLS v捻x!*4 7Ud=cی#3P~um8k׿kXt Xx:k%vU1& a0Áӿh5״|.Vu_~.*Iaumz~޺.?(VXv0&w pcEq̼_5fy{`G78zcTZXW섩őY%2XEӮjJo Q{6Hݭm}lUj*?s"Wi5=]~v>ب'+?^澙-+ɧos&;3fa˛~+tok>]y^BC;(ҚrXx)Lxǧ6'9z`ձ8!$Oe1uy0EP?J'7ߧEi>C"R▢ONo<yzvXѵKD۹!qW_^&i=x g0/=b y'ʖaMNmg"йY?2u[_qщQ R; Ƕb_,*$a݃tqŸh^"#S~HVOFx$v۸rq`h%~kr[õ_"Iyv$G?]?a5w(7ݡ#2q1Skj%vӲwƅTz/w-"8q c5w&RUr=<28SɖB [.n >~ dWeeTK2 \K^? >fm&czW`8z*<Y|窰%%8v.Pd+G67z*̈́*͓0o8O7}˦!A4Qm&Oڏ x&`ѦV~+)וņ< VUF?SqeQ 40'h{MaN$Oúh%|&h:µѩ>`4p37VcTܔE:MRE`IA59&ByU·Ӝ9鳗;(JqjeoA_m]~y0Vl'g)SO3 V6J" B%URJ%HVFRQdD>{aoy\༾fm`Di(V([2*B{E!sh .y)L?-75^Jkg^bf}=a4L,)-CR A5+^5A* ;X=DZPX%L0\Zcb 5Tf|4\'˺*F:;mXoNR N5K҄XjE,6#݂}!=`uENpݩ3B2m gȏtVp݊c|yf;^`inY =YY) 8VdROzMۄF m-qFJe8ԃL`8:x/IYgaԃ|zlޗ'VmAqEM8w ˙kXzѓePgfqeLg& X ?2I)u~K;XXᴔHt:6MsárLX;Z6O2$y{gSE8m} 0C9: ixd\ k}N0]H 7W9f˼30u E:;hE3YՆQybz&I#i':69͢ q}/ {¤5UM)eZʺs5(̊js4=܋TpT[HD(8Sn۱[&H@>;H+/.!;mUi1Ls*,sP _IeӖDžH_qFQY[=Y/Ȃ̴\!#3$,>O$8F L&>dy?<pRs;vlgg4Ps+0i&vh{BNO3>3j|Lh6ſSs0 *|]ޘB4V1E ۔$"V:lnN~ _z^D>6*ݏ]=,Q#v_X qSE\Pf; ߸Am\kOʨ ?v댳g~o/vI! I$AeĐzG)b |{S$+Moswxk罦4p8̼/:grBvW$[L}B' K)~ƚhA4~%+-JAE?^ 0T9OIprg,tkaIG\c-&24tG{W]\x^{n'k mEd:\^6:frzqN`ԉܧ%Gg5Ć,@U]69`f [Ztu<:%I!o\HV5SǴɗӗX8u yK*hMwn!G}dmqES-AmU]7DIR٫IS'QS=$/7AˆOmo&,{Q ͼQ렘.gY0/ 0&y7Ҙ)bH4NKK# @27=Yƅ|H?~j mVtjҥG&W QOpV "ۺܱ_ֳɯm {۴&ЊgݯPKPbsZ/lnl;4ڔb``G7sa&SW[YJ.1tO;8eJ}GW#D͓q ,_ 1t Е8 .KSS36q6(Tv\\pe!F̲z|42/\v$Lo8HR`L'BgUv3lPpvQΧU>0k<'h Ncϧϫd!,Ⱦ9}@oFn,-->_˾Z!j΀5;&u\{0m@,˾+~6l".$iWU݃Sֳ͆316ij̈H|ۙk+t͟0s[ =: K6Xߩ"Ʒ"jMd%3:,؎4H)B&F݅'ph-5+$];m^uR*Ψ;9l 2+;J gdVX6Om28s|F!rf]XZ7mpNsdXCDc ܷvq CV>\],}ϑ'hYt38xj >&$|Ns#s "p/ t]} kIԮ]{"RE-\p˗r2O/8]qjcu'u˙]VqҬS$ =dYOXxfuj: 2x;j&L?*,yBlkJK'O=` A@5k8s= v6 ab$I zR`<M\d76QP! gTqC!d<d5H[&eڑP|_ȏ? d6{5gf|1cWL.$]N C˸~JZL@^u@c||b8=@ʼgJ!)IN@XOa863a%GL}iqfg#;\L̯Cݻepº-hđi )AIE$]m9vadhvonXT%H$پyNI+2ZTeJRD0/N#pTA7orlt.Y&WPeJ' ļpNb#Zn^ndž7LmA _\r1+1r]]ٖ p4n>u :>'MCA׈o_4}MWII3r)#oel_i>n]_PwA;e[vJeQdaߓ&|)M%)陾hrveBLGGh$׮⨉a_p+vP~a _hB]D..n?y @1.ߖ+$!yK/$2=+a%RavܡC0ܜe}W8iԴ8 _#",НUg(M n+mQ(Қ~ yn1 9d5S&~7R^>>8=mP׺K0zJLO1_@1Oli^"?d8JXk!N3 Po;.P ig_09m$pXo o0;]3XWw~ >6ր,wX5F3an|X6O_ޏփ83T,${:L"Pr_3"R'É`o%EC7;wBF֓נn"&?gl{}vzQs*] 8HzɋM{RԠ7[,Fk 3͐˧fl {BlcXJ6$|?yq<3X|9HN Kia6$-mLnח0qwf_9 42|KC ۴WZ FmGq% )cX&8l( !Zkww v.ˍ@0̺4Ch _7[Haf#.Pq2V(?O^{>+~)0v x`vG"iX9AƶNP<φC$㚶aO k |Wû .*y`y:&^=tҸ2Ļ!yZ{h{EN @k0"_`&/ʰ)Uz8eYYOЭ&J+u\$qGt*rWL`ٽױbzql1 1Gjm `n$ 9:3@8"_1T[(̹4MҴNW}N okqr7djgȴZKK:sLo(:{u8]puK8^@/V\3CF8Vhn-…d-m-AJ%h{c&〳ru>!yP#Xw;8xS+.d'E[#qZ| o5Q`8o'.M&1 AUs'K$NGܧ ǖKEq2ef'|9غq|R[9 ,~\WFly^W̧d DQҷ5ˏOay_24s__SL[HF T ݭF߫ a8@a+֊_nJǞǗq`ms\V?*AM Y3GD*#u'ZɄJ@]P.u d]&Tcq\ N 8CU'=8Duóg?zǾ{~|l;s3C*j+;!tOCj`%/Uf-LNԍQK!8 24~:})v<&Dn@xҕo'z:,hO?VM59f{,D; `!*+U!~Owv}QJ {%lwߌb7r~0waR|@1Q}S_]9%A)|:Z뭅hZ%u]pɼg ɍDWb lÚ_fdz**8p<2\~l% meBJ[v(Vu9-T8=ZCպw[*U̎gH3=0e>W%v옢&M}[9H5Mڳds7~0[ g o奭jC"o"س/P#hȤU!cXUfiw~Ǒѣop1Ѽ5qkf4 aͩ_ϰ؜a8mS 2S78Y_jsl]/'؛Y4ja]ab8 d6ͩL8o&CF_opb㒄2% Yci܄=2֚ `}<<2xlR\KD~>kCuڼ`xwT:/h゙ S=Չmzl ~ ]HIkE'oz3'|HT+9Yc_4XYUa93B䕯ILjka{l@2dMLq/tLQwÉsp<@׉ GV>9c|a.ۍ$lLdOMOsM<σ#)?cups!Xzth7q0} #GF9n7$dwY (Hoo`Kfc0,d3K61LJuj/J>€ \JUJd3~Rtұ:ځ۶47z6HjgMAw &gˈ¾s"8hpTbMAD[0]I`0y38w FC>Xi',CçG\;0n{ ZūT]VMV{yqpіErk^3ఞhg57vdQhF?UhERDmWH*0]tS}y᯳|fx( Ntow;B>kkz/m⧯z`z JF8̆_e!b]}ؖG N~ws} }MV<KKo9l /*Zi wɭ:YQ%@3R,Ghֳ% ;aZ#Z&Feqh[@Ip{mգ @3=]h)^:]8۔c¯8pe^<֍b˻X;^o Wo=mF^7HCt9{0fxbGk~a!I?<؉wH6գW>!MSx tHr݂QAM<?>.kTL8u ,Ǧˮh^,TVtw1elWlLb's8{Kr#N~vhj!0ײ?ggZsEubr薒)- )([%-$RJ5?iqK(ˋmbbͫ P9Q[f+ !5+WFcKL?Alclo| &V6MQsGj_#4o mul}ÊCi*8WNz]Ǭ9tY88dz8ʣÀ+ol?L4eT a"x 'thN+k'D,a9NqȹJ$È'01GuA0|.~j ʮK3ę4hz*p(t6؀'8533O3;lxRRt ;wsy!A*}4nĐT?__/x9']EuKd]{ =9 `lP We9ꂋzbӧ<;JI9܁%|\8qJ! vߢ,y'lď&m!,oYc] #~k£cn;|= 4﷙{"(FkxSď e"ny=cgTS鑽47+̽ Sc7Ȥ]cr bmsv:q +?u'š}WccĿVvS-(p*IFw@t+oh^䦩 Ov\j›0U*%Mjo վۛ z8^цQ v n\OWmȂFC@4yGED9Bp(dȞI=_}BsR["Wo;G&2Ʌ "{!A˪"2$6=AM8{AK n -bݎ-(ݶ"gf]v' B?X[Uؾt,Ʋ\rSh>衯p[I^"'aڅr#P: 2dCOL1<<Y/~1EW+bi he;S\O*B;J- []ر):yx?4D(v#k9@#/tQY?`vԉa'\|$|`.{s |8%3V~,ٯQ w IfN >h׻SF'z\k+qFfhzuŁ@RU~w_=8V {r=\- V MZ&I34pzU)-͢S3u,o,>v[*&1 %w贃ob4vw ԞAG:[II},Ou8"QUQֹ}>.MQ"lQOYppf6$1ǡ?ā&Η?3Ϥ 3!â3`(I [H1H]dUDjSuR\|CΨVy>FWl\Iߏmjŷu&=ޙ XZgw-C JjS y*[i7=@ +fS|;H<}.rr9# PԤN/eJ`d|cV?f Ĭ_w@axP'~'*6+;u,u/7,{Ƌkb!/ ]si|9?|gr-2p!1JiM0QO!Ã0\eNAJۯ.,;  kK$KY6iМر݋s'#aR$zñ]~y]I}_@y)HⱎQZۍc?p6yz?N*fݺiCPcUϋmݍ!)үpBJXɟAjt>=$wEW٣t-OSEth?΍2^qRAZW௕ִ*^[FRM"{ qӉ?Æ=K%їDv\tobqZGp -J~f1π?-%6/w}F%ćKXWb]Mm8/X,Ȍ |3Qv&1CƩ?{",wc)81*zř;51y}35#YG Hub#l4lʷ,8ݏe̞lMp:SX@q}Vtd5jՇư٥,&,񸿫7R #p>۷r`[Vð7dSG/>0*I 4i놔>'aqY {==T/qXKe{\_vnAky#Z ;\et-[1 Ͽk}5w_BpD->v 7=%KDaޒ!6 svVq[,N҅߳ϚCmй~f)xr57 +/QJ!8{Oi~΃bPxb~EX0",z>O *sC SS_RЈRҌ ֏^>BuΧ8&k> 9]cc pw/#Iq0shp1̶e=AEXF/nF&v.5u(0ߝj?ͧYej{p+~PlaKkbSzXH.f3+Ւq*:߼g~qA Tib]q8hx%wP$ 臞)#Z7^cܼ[PJ3l:p⇍Uwq޴ i|p 3Ec.;G]l*7>o`mmVĺ aoC]#W.ovgbMp(NcJZ>sv۳G5k8vǧuJ 4;kq蛅O"RsSl~?n%ҿ`B{MQ=~|d{Db?|V= &vsہ#o{^) eQ0g~3wvnЁSFM+!CKOeN0Ƥwo,vVR/<' da?+imc R@ە\hmq! eMť& 88b}KޠsuО<[S+Q`+$b%Z:lύ!z@# UFox!6s >tng^'=@r}Ȭ8g%#v B6JǡCgu9[~mIfs t^<X@2b&cؗ$aCε[ HSrLzڀcE'g,Qf+)n{0w V+JU@ =n!DŽj ?cLG{\RsyNrw*N[U:A}w_m/(DK3g|W>s*J5 fPu6kx]5-iDEIz%N:&,N3+ҍzvlXf{8N0NĤ^lOV**|d'Y7ecT_'/yy~{=.S?`yb{uNϖ$`vذc WPŝ؜bT{)"7OD.rcop!|a $RLjAc,af~$#yCa>V UCt:izI܃g7F`LD԰H wNf1k.7pQtI@?o!)M,#l ʾ1Č9ǮX f 'y5V8ܴ&"5ʎC=AV4xkq1œ#S'OBթU$,3%}>w7tEb37/4 eMS7zv_y-K(L7y;pyN!}$v:, I#up?S5}Ϲw@+{=5f9l'S֓kVxf=&ſZa^UH%g:A!3ZyIчʾ?~ EDp?g;pg^tg޻VM(|]+œbXѤL< /ް^ށޱ+ބI1ctmۈ5LZv6F[Q?J@:10\h AaTnQeMEmװ+/wPږqY(N/xJz+g$hui:GrypƘsyR*Mx̬WozicUHwd{9pZɳ.8`\x;f;of_w,Ⱥ>o93(Ne 3@9?:+Z3,;r8>C j ?j@aK l<|׽Xwk윢\$PA̶l;n2̊U/'5; +.BȼSݕ? aغR͇3lB}&4rbZN )A,O9gΊI3β|4/pXؐ/}RFӒ$x p1dGG`hKc0i$] |.2H$~;f&F[-'kbtIj?&!&(Wp P>q$~;̇&Hh*2z>i+AW 4F, ]ϱaa7Lp@9#T8|n^3՗xOByMkIQbtcE/_K܁mLE`AA¶{MհƕUx&Qb4Y&{NdC^\|Ӈ;J &J.&T(Z0G'`Ko㺖[U S pĕ sPtR%vO}ǾE`[ᗴ70UH .6:! XBhu1 %iDTv͚=PE4[kPj[8ؙ/Ddpreʈ{t>+3 詻눭`\{^F,i ̽eEXTRTH Y< 1W*,K3%$<4?":DH3=xf;U>.}_a``eiN j:h}-~DZ޾ع%<xc Hϻm˃ ͭ2WsBz4tizҫîI&Ϗљ4s䓱ai !hl-mqͼ [x,`{2s0#yqKÆdo}kMH3m }qo v4ǥMXfs@;vQ8s;_1t[~Gd)_dHNɲ^2h;R 3~"O`KXQ3Iiar-|tNDӇ=8™7]0ȘߑS5'.ck6b=^ 9B66Q622zU'BSo LEq3)џ0Z6Zkt Ӌ׊>WÉd5#@Vu6f #?Ӹ]/c+yOn7oqGDnyM?[xVh7*5v`a 50rNB1_;UUV_S'=խݲFN%ICޟrVv@s8[N?l?&&Π $?o#r(||?#Ѥ 9(0gGÛ'AcXAxw""I^<l<v*Az(z?HTq݀M @N6^ۀ~CbT9qK'oGH"M}QG3O'وv/10` B瑉q 0s&1  V8>!ʑNN չ̰߅qr. ]Qת8zgu(gY^]z/JHÂ>d~#;M 2xBO3it#NDmz\8j׀BS7m0=Ԍ=72`WἺ߫b{c$sdHaJ/߃ !CK: TMoMRG:kqluqRۺp)<_17+ e/~RMepg&8Sa@ cAR|N߯lMz =J/=0 fG8u8(FEkG`秋N4X} p7vә5þ+ br ToXdC&4F^Mg7C`ƶʗĊ@Rߑrm\ !|stgsEJr{੍17+2 1Fjnۇa8u.\"TsJIvDwDuݍrDžv^ױ_ yFs2(;4%=?t#}, aM8h( >9O9B+8̿ܥƌB=3Sq+i(YosLm>XÎRYV@8',h| )2A][[=uzO~[G3BNx@狼H~BkĢMsn/_-y|7640@YSڿEEe9$$= ~A~ݓ-| bK mPoa =:7cmAC0\ϡs-IE@.Pl4H|jL.=-;Nm Cg 6lJx Sdπ} fl5" 9HicN>{2Vxĝzw7 բsS˕8GQđ/tGuzp9)/+jKjTRzt̻#خ.Bg5b,4y4^8rp,lZ!2 a"{+\[{z+.3(QOh]rB8|i sڮ[c3O1v1_ %#X?hE}s3첯[z4|Gyh|yϵMOOBatafyG=ݷy=5ŋHwB{wa:5 {MEdXYix'4ĻvIAFt QN̺hU]ĪIGwpU fБ;bvgRZyC=`ofwTŧ;$G*>4nu]ٺ>JJ3J% +bm5t;?d~g'qktRGs+mk̖Aw_:AP\o(_󿩫zK: dqK}AJ8^wדqJӍwAe,P+Upa淙mؠ~+38 ėI9 (<3 ފƱcIy6)wݷ\T#q(Fs +73C5Wwt0=Á ]aYL%bh_s" G.Ѽ`١'4еK#-w]w"91H,[?#3=&Us,?Qiq2Ü>=8˧)dU~zA&Ng0Ήh1f=k^0ib.v8yRԟ9q}q%jPG,65h ]GZ>Bˉzտ9qn,^EVFն-t]~ #&KA?׎7b)#ihl0lW c{pٟ2#D}6ăI7>l?2_v#+$hS}4ruw$~rjŮ:7oĻWk1w4jKÚ}L=p5.vc\90D͛pk7z%.NV.8玲6vUeޫUU98s :lwKG{WkctyV$ N@7wt?ڏ]&D(.|(` v&Nѷb^ɿɾSǏPTa;;(rݲ~OEwdJ{tW֎hm;f#&m8= 8>QFUv쏟y/(-|/uwu.[C/ΰh'f-4_S$x_})Ս{ u'qQIKv",<@CSwvۼ q_=_5aJq"vtٳ62nq)XX_/>~s}gpHr s^k̾m U#+s$\9:z 0-w׈.N1@ZպLX};N>sģݺ V#e{}ޱriM|Ycm1Qgy>EӄKNHd>|v^Fdz6.)+]1::Y5i R{\ lK`-l %eIƝ,Y w> iR͙8*zKpe_-Kŵ6B(MA{۴h l?p{;jˏV.^it[j]o8S$HP9ȐH H e^nG{_QD.;=A*{$6i\b4Lz|4~ӟ&X$'!QΎ&l>]& #eSgm<9k/EoGgIkLAMvK>4}*Q&oiǽJKI0n }ck3U?lHsy]{g ]/_\Xw,MѤJme9[o:v,3Ɓ=nBh2{V[v+OLz0[o4YHa1-9+?[ 繆&I z@C+R<1ęzn|6/["%1*j/n$؝Wz) ICg>40F(˸z (b; wM%pCZK8huM++t}M*`kbh4 `DПGؠ1S_/`8+ZCTb,+<3<O@uv/r0}R:\i^3Y+vҼL{XRN$*Z`bvW=,la8;he0}7M=uqC&t?>|mo~Tf[˛.AO/C:w\aC/ՓM^mX"oA2֍rFC;uڗ8>diol;UU'aD\dFDg`ɉJyt= N_*nOv8'0*4Es+fw1RX9#݇)(=<o9R()$"6]?@㩿VLY-/qT/'y}˟(T]G?O`y9nO@|͉?r$՗.qm2y?.)?Pc38R(vq FXv8˥Zq݄Agֶ.˰j r2c]4)Q. F*uu@QݴJ8zP"!o?Ck2#Chy߸ yﮀyiƸG0Wu9a'C)P/AysajX|xh9 v|G젺Nsn\Fę{WLՇ08MqՅZ1laHI *ƶOU t(w+xa ڒVY6gaOw6,}94=hx^ N=TLh_{FEn.;ii04y;=8v, Ed}n&幚70E\yH^bGqGnRU;%T HqG>AFR{/`dT7q:@]DJl+38O;g vMb;lhGI1,jnⒷxE,Oo@MwT$W.JrIX&tWAb^ǩlhȈЗ%d>gb6j57d7n~`c;+GFJ?񼻽_qSu1ܔ{&YϔH^@059Ww3A#{n^ ->@m7O^BQ[aX@Ow(kmٴ λUnE,>k{UN-CDϵߠ-J+dTߩcFThk? $lp04/$WR\ aQ`_h{"R>|_.3zlwcR,a9E>1A˱a]46ci-pz8yH^WKzǴ m4 /9Y'I4!s ״}zW"F/ࡖ{20Ĝ(:5b CCUcr:vq`KwIhvZOPҧ*dG1c]PR3WF=-,PLʒm 79 jb,r?z [k턱g+=.vt(ڸN{98$}1z`Dmws0bka}CǧdnG@"\.`_J[\N8"s.e0ooLN 3 u˜m\g`G Ь`rZF/g^EJn6gOu'(>zy+,_zT%>j>s0!^4҅ˢl^`^A}ԸA lGi?a٦~34S꼀l|#gHO6 O4dKm#ÛJw쿴S˟["?@Wvڻ|3{F.kSc(8Q"};c&LC1a[QETKÀPK{'} i-b3HbTn̡QHruc<&T;]ۄ"\_pFEބhVMمKcO2pQ5O=VOiKj죢ghq:X4pG . ~+S%ۈMAL3{E;A6kAkQ3` OfnR}aNͨ?r2]*$|0U䙝VSzxW<}e/N^M>ոIJ Ovw훵0uUҿ1н0u7Ɔ^޹#~8@z$s@Jyboc \ XY7[ ʉq{]Zۖ_^O44"ڰ '.6]8^l:ho`,fb%[8h!.)װpfF)~C8SڵO'erpt{>\ɉ)aq.'ນ/ߥXۙF~07QǑ{~qغxs~/=.+Gݜ6 ߂m_gAQ0#VҌR'~Q1=}Tf?d;pʰLR.WB~MLnDJuI9\tPd&IlLussOo+e:&0s6!O+3886:T^b%\eQFĪ~8VT vጒ̩/! |./2r4C%|3>Qп['dˎhmyUm/YKp(> ' m\X١l~XFS 0pGOCW Z<vM0܁> 󆋑:W~A/)\yuYVŁql~:B{;?}Wh'ÆE c}83W-ǟG;DvA7M$z~"Щ#dp]-~C=c~?YOc=Sw\!(Ͼӡ51N>B>T_pAkH96ǫ*CnW7'w<}L LeCL[>y=Z.tG λ̛a.h=':ɯRg Rz c,8(ۿWu o?a_v4P#ed AB,bsTﲧga6Tjm"8`hO>o4zT0O>[p=IF5X8&_]b!0{Ǫ?~"L >Dmh ` +3a$[peQs7^)'#l0k1LMǏ &] `eȗ9;}qaZġ%I^('4^B_wPY\:l .ן7Bo'QU=H^5kHCO `9Wm __+.F&0~DzCq8{X3B @셮"ΫX"#tx`RԐ0 }gҾ sm?}c3.ܵ>zGJQ=X!w0F*@{f 7`v?쿱z2L{ x@43>i wpTe 6B?cxO(%D4)u_+Fl0[6{#EE:cnϔcY{;܀menmmv#05Ҹ+-=V\C[8CghxZEz8/S*ꆖoU#BNؐvY10No7^Pb9Ӽ8Гov6_MLar7XTw)O2t 'ת&h։JQ_ Ykg X] ӳQugncX/_:Kb%k%S7SƠ$FfaN)y?~(>K][_4 2=]Ν 釉mic6Gz yl"cJ.O,L09,l87#=wYY'!/3ظkBg!k@䛴c, ߽q]1in3RzcWn b9k!c:Gb aA][gBh{`r=Y}ʊ}j 9+U: n~K3QaQ?S89ô ؜7q$jY;:E#>AE McL:3%u]0rTyRõB?ȝߡAX&M曆rnNcqy~[}}=~W5p!#H:P݆w}`Wâ1 =1 џ/Y {/2A^) gR~]}MNbJN5r4)йQ[f#rs$vOs( 5c-0wS& R?KR_q=ʟ@Q70v1-;dWNY0s +NW\E_;-^oGʜ,i@y? 0p62853˄A0-}{ -v."pVIAqc܍sT8djǸ VNRܡЈ+H{^vhXT;[#8q!{h֑(~f:8&G:~ W^'l-'`ٝ"_DN9R}ŧz߉8v jԟWpy#֧T| Y_ozKrz\~j;?kLgC)VFw[,]%ŽoQ&038exlZ Y|vH-cLA'k|fY Yļ/YTŁOdZqLyl^X ;TkU"G8ls zxifWOԱ!鉅=qG{eY ɧ8uN6岄aG*BPa+V,X~qjT:~< Ґ~an޷Ш l?.mB`sƱ %i{(b 9Jܘ^6n=(R貚Hq~s3K2 d,E>+l_:@7Ô3޺ha<5IS Wؠ=u<97jCfYӈXtJ}6locfdr/R/0000755000176200001440000000000012503277365011736 5ustar liggesuserslocfdr/R/locfdr.R0000644000176200001440000003266110712416415013331 0ustar liggesuserslocfdr <- function(zz, bre = 120, df = 7, pct = 0, pct0 = 1/4, nulltype = 1, type = 0, plot = 1, mult, mlests, main = " ", sw = 0) { call = match.call() if(length(bre) > 1) { lo <- min(bre) up <- max(bre) bre <- length(bre) } else { if(length(pct) > 1) { lo <- pct[1] up <- pct[2] } else { if(pct == 0) { lo <- min(zz) up <- max(zz) } if(pct < 0) { med = median(zz) ra = med + (1 - pct) * (range(zz) - med) lo = ra[1] up = ra[2] } if(pct > 0) { v <- quantile(zz, c(pct, 1 - pct)) lo <- v[1] up <- v[2] } } } zzz <- pmax(pmin(zz, up), lo) breaks <- seq(lo, up, length = bre) zh <- hist(zzz, breaks = breaks, plot = F) x <- (breaks[-1] + breaks[ - length(breaks)])/2 yall <- y <- zh$counts K <- length(y) N <- length(zz) if(pct > 0) { y[1.] <- min(y[1.], 1.) y[K] <- min(y[K], 1.) } if(type == 0) { X <- cbind(1, ns(x, df = df)) f <- glm(y ~ ns(x, df = df), poisson)$fit } else { X <- cbind(1, poly(x, df = df)) f <- glm(y ~ poly(x, df = df), poisson)$fit } l <- log(f) Fl <- cumsum(f) Fr <- cumsum(rev(f)) D <- (y - f)/(f + 1)^0.5 D <- sum(D[2:(K - 1)]^2)/(K - 2 - df) if(D > 1.5) warning(paste("f(z) misfit = ", round( D, 1), ". Rerun with increased df", sep="")) # ............. create fp0 matrix .......................... if (nulltype == 3) { fp0 = matrix(NA, 6, 4) colnames(fp0) = c("delta", "sigleft", "p0", "sigright") } else { fp0 = matrix(NA, 6, 3) colnames(fp0) = c("delta", "sigma", "p0") } rownames(fp0) = c("thest", "theSD", "mlest", "mleSD", "cmest", "cmeSD") fp0["thest", 1:2] = c(0,1) fp0["theSD", 1:2] = 0 # ..............begin central matching f0 calcs............... imax <- seq(l)[l == max(l)][1] xmax <- x[imax] if(length(pct0) == 1) { pctup <- 1 - pct0 pctlo <- pct0 } else { pctlo <- pct0[1] pctup <- pct0[2] } lo0 <- quantile(zz, pctlo) hi0 <- quantile(zz, pctup) nx <- length(x) i0 <- (1.:nx)[x > lo0 & x < hi0] x0 <- x[i0] y0 <- l[i0] if(nulltype == 3) { X00 <- cbind((x0 - xmax)^2, pmax(x0 - xmax, 0)^2) } else { X00 <- cbind(x0 - xmax, (x0 - xmax)^2) } lr <- lm(y0 ~ X00) co <- lr$coef ## Error messages for failed CM estimation ## if (nulltype == 3) { cmerror = I(is.na(co[3]) | is.na(co[2])) if (!cmerror) cmerror = I(co[2] >= 0 | co[2]+co[3]>=0) } else { cmerror = is.na(co[3]) if (!cmerror) cmerror = I(co[3] >= 0) } if (cmerror) { if (nulltype == 3) stop("CM estimation failed. Rerun with nulltype = 1 or 2.") else if (nulltype == 2) stop("CM estimation failed. Rerun with nulltype = 1.") else { X0 <- cbind(1, x - xmax, (x - xmax)^2) warning("CM estimation failed, middle of histogram non-normal") } } else { if(nulltype == 3) { X0 <- cbind(1, (x - xmax)^2, pmax(x - xmax, 0)^2) sigs <- 1/sqrt(-2 * (c(co[2], co[2] + co[3]))) fp0["cmest", c(1,2,4)] <- c(xmax, sigs) } else { X0 <- cbind(1, x - xmax, (x - xmax)^2) xmaxx <- - co[2.]/(2. * co[3.]) + xmax sighat <- 1./sqrt(-2. * co[3.]) fp0["cmest", 1:2] <- c(xmaxx, sighat) } l0 <- as.vector(X0 %*% co) f0 <- exp(l0) p0 <- sum(f0)/sum(f) f0 <- f0/p0 fp0["cmest", 3] <- p0 } #............... begin MLE f0 calcs ........................ b = 4.3 * exp(-0.26*log(N,10)) if(missing(mlests)){ med = median(zz);sc=diff(quantile(zz)[c(2,4)])/(2*qnorm(.75)) mlests = locmle(zz, xlim=c(med, b*sc)) if (N>500000) { warning("length(zz) > 500,000: For ML estimation, a wider interval than optimal was used. To use the optimal interval, rerun with mlests = c(", mlests[1], ", ", b * mlests[2], ").\n", sep="") mlests = locmle(zz, xlim=c(med, sc)) } } if (!is.na(mlests[1])) { if (N>500000) b = 1 if (nulltype == 1) { Cov.in = list(x=x, X=X, f=f, sw=sw) ml.out = locmle(zz, xlim = c(mlests[1], b * mlests[2]), d=mlests[1], s=mlests[2], Cov.in=Cov.in) mlests = ml.out$mle } else mlests = locmle(zz, xlim = c(mlests[1], b * mlests[2]), d=mlests[1], s=mlests[2]) fp0["mlest", 1:3] = mlests[1:3] fp0["mleSD", 1:3] = mlests[4:6] } if (sum(is.na(fp0[c(3,5),1:2])) == 0 & nulltype > 1) if(abs(fp0["cmest",1] - mlests[1]) > 0.050000000000000003 | abs(log(fp0["cmest",2]/mlests[2])) > 0.050000000000000003) warning("Discrepancy between central matching and maximum likelihood estimates.\nConsider rerunning with nulltype = 1") ## Error messages for failed ML estimation ## if (is.na(mlests[1])) { if (nulltype == 1) { if (is.na(fp0["cmest", 1])) stop("CM and ML Estimation failed, middle of histogram non-normal") else stop("ML estimation failed. Rerun with nulltype=2") } else warning("ML Estimation failed") } if(nulltype < 2) { delhat = xmax = xmaxx = mlests[1] sighat = mlests[2] p0 = mlests[3] f0 = dnorm(x, delhat, sighat) f0 = (sum(f) * f0)/sum(f0) } fdr = pmin((p0 * f0)/f, 1) f00 <- exp( - x^2/2) f00 <- (f00 * sum(f))/sum(f00) p0theo <- sum(f[i0])/sum(f00[i0]) fp0["thest", 3] = p0theo fdr0 <- pmin((p0theo * f00)/f, 1) f0p <- p0 * f0 if(nulltype == 0) f0p <- p0theo * f00 F0l <- cumsum(f0p) F0r <- cumsum(rev(f0p)) Fdrl <- F0l/Fl Fdrr <- rev(F0r/Fr) Int <- (1 - fdr) * f * (fdr < 0.90000000000000002) ##### raise fdr to 1 near xmax ............. if (sum(x <= xmax & fdr == 1) > 0) xxlo <- min(x[x <= xmax & fdr == 1]) else xxlo = xmax if (sum(x >= xmax & fdr == 1) > 0) xxhi <- max(x[x >= xmax & fdr == 1]) else xxhi = xmax if (sum(x >= xxlo & x <= xxhi) > 0) fdr[x >= xxlo & x <= xxhi] <- 1 if (sum(x <= xmax & fdr0 == 1) > 0) xxlo <- min(x[x <= xmax & fdr0 == 1]) else xxlo = xmax if (sum(x >= xmax & fdr0 == 1) > 0) xxhi <- max(x[x >= xmax & fdr0 == 1]) else xxhi = xmax if (sum(x >= xxlo & x <= xxhi) > 0) fdr0[x >= xxlo & x <= xxhi] <- 1 ##################### raise fdr to 1 for mle option if(nulltype == 1) { fdr[x >= mlests[1] - mlests[2] & x <= mlests[1] + mlests[ 2]] = 1 fdr0[x >= mlests[1] - mlests[2] & x <= mlests[1] + mlests[ 2]] = 1 } p1 <- sum((1 - fdr) * f)/N p1theo <- sum((1 - fdr0) * f)/N fall <- f + (yall - y) ########Efdr1 calculations Efdr <- sum((1 - fdr) * fdr * fall)/sum((1 - fdr) * fall) Efdrtheo <- sum((1 - fdr0) * fdr0 * fall)/sum((1 - fdr0) * fall) iup <- (1:K)[x >= xmax] ido <- (1:K)[x <= xmax] Eleft <- sum((1 - fdr[ido]) * fdr[ido] * fall[ido])/sum((1 - fdr[ ido]) * fall[ido]) Eleft0 <- sum((1 - fdr0[ido]) * fdr0[ido] * fall[ido])/sum((1 - fdr0[ido]) * fall[ido]) Eright <- sum((1 - fdr[iup]) * fdr[iup] * fall[iup])/sum((1 - fdr[ iup]) * fall[iup]) Eright0 <- sum((1 - fdr0[iup]) * fdr0[iup] * fall[iup])/sum(( 1 - fdr0[iup]) * fall[iup]) Efdr <- c(Efdr, Eleft, Eright, Efdrtheo, Eleft0, Eright0) Efdr[which(is.na(Efdr))] = 1 names(Efdr) <- c("Efdr", "Eleft", "Eright", "Efdrtheo", "Eleft0", "Eright0") if(nulltype == 0) f1 <- (1 - fdr0) * fall else f1 <- (1 - fdr) * fall ############ multiple sample size Efdr1 calculation if(!missing(mult)) { mul = c(1, mult) EE = rep(0, length(mul)) for(m in 1:length(EE)) { xe = sqrt(mul[m]) * x f1e = approx(xe, f1, x, rule = 2, ties=mean)$y f1e = (f1e * sum(f1))/sum(f1e) f0e = f0 p0e = p0 if(nulltype == 0) { f0e = f00 p0e = p0theo } fdre = (p0e * f0e)/(p0e * f0e + f1e) EE[m] = sum(f1e * fdre)/sum(f1e) } EE = EE/EE[1] names(EE) = mul } #................. Accuracy Calcs ................................. Cov2.out = loccov2(X, X0, i0, f, fp0["cmest",], N) Cov0.out = loccov2(X, matrix(1, length(x), 1), i0, f, fp0["thest",], N) if(sw == 3) { if (nulltype==0) Ilfdr = Cov0.out$Ilfdr else if (nulltype==1) Ilfdr = ml.out$Ilfdr else if (nulltype==2) Ilfdr = Cov2.out$Ilfdr else stop("With sw=3, nulltype must equal 0, 1, or 2.") return(Ilfdr) } if (nulltype == 0) Cov = Cov0.out$Cov else if (nulltype == 1) Cov = ml.out$Cov.lfdr else Cov = Cov2.out$Cov lfdrse <- diag(Cov)^0.5 fp0["cmeSD",1:3] = Cov2.out$stdev[c(2,3,1)] if (nulltype==3) fp0["cmeSD",4] = fp0["cmeSD",2] fp0["theSD",3] = Cov0.out$stdev[1] ########### sw==2 returns Influence function pds. ########## if(sw == 2) { if (nulltype==0) { pds = fp0["thest", c(3,1,2)] stdev = fp0["theSD", c(3,1,2)] pds. = t(Cov0.out$pds.) } else if (nulltype==1) { pds = fp0["mlest",c(3,1,2)] stdev = fp0["mleSD",c(3,1,2)] pds. = t(ml.out$pds.) } else if (nulltype==2) { pds = fp0["cmest",c(3,1,2)] stdev = fp0["cmeSD", c(3,1,2)] pds. = t(Cov2.out$pds.) } else stop("With sw=2, nulltype must equal 0, 1, or 2.") colnames(pds.) = names(pds) = c("p0", "delhat", "sighat") names(stdev) = c("sdp0", "sddelhat", "sdsighat") return(list(pds=pds, x=x, f=f, pds.=pds., stdev=stdev)) } # find cdf1, the cdf of fdr according to f1 density.................. p1 <- seq(0.01, 0.99, 0.01) cdf1 <- rep(0, 99) fd <- fdr if(nulltype == 0) fd <- fdr0 for(i in 1:99) cdf1[i] <- sum(f1[fd <= p1[i]]) cdf1 <- cbind(p1, cdf1/cdf1[99]) mat <- cbind(x, fdr, Fdrl, Fdrr, f, f0, f00, fdr0, yall, lfdrse, f1) namat <- c("x", "fdr", "Fdrleft", "Fdrright", "f", "f0", "f0theo", "fdrtheo", "counts", "lfdrse", "p1f1") if(nulltype == 0) namat[c(3, 4, 10)] <- c("Fdrltheo", "Fdrrtheo", "lfdrsetheo") dimnames(mat) <- list(NULL, namat) ############## Locations of triangles ########### z.2 = rep(NA, 2) m = order(fd)[nx] if (fd[nx] < 0.2) { z.2[2] = approx(fd[m:nx], x[m:nx], 0.20000000000000001, ties=mean)$y } if (fd[1] < 0.2) { z.2[1] = approx(fd[1:m], x[1:m], 0.20000000000000001, ties=mean)$y } ################### Plotting #################### if(plot > 0) { if(plot == 2 | plot == 3) oldpar <- par(mfrow = c(1, 2), pty = "m") else if (plot ==4) oldpar = par(mfrow = c(1, 3), pty = "m") hist(zzz, breaks = breaks, xlab = " ", main = main) ################### make yt positive ############## yt <- pmax(yall * (1 - fd), 0) for(k in 1:K) lines(c(x[k], x[k]), c(0, yt[k]), lwd = 2, col = 6) if(nulltype == 3) title(xlab = paste("delta=", round(xmax, 3), "sigleft=", round(sigs[1], 3), " sigright=", round(sigs[2], 3), "p0=", round(fp0["cmest", 3], 3))) if(nulltype == 1 | nulltype == 2) title(xlab = paste("MLE: delta:", round( mlests[1], 3), "sigma:", round(mlests[ 2], 3), "p0:", round(mlests[3], 3)), sub = paste("CME: delta:", round(fp0["cmest",1], 3), "sigma:", round(fp0["cmest",2], 3), "p0:", round(fp0["cmest", 3], 3))) lines(x, f, lwd = 3, col = 3) if(nulltype == 0) lines(x, p0theo*f00, lwd = 2, lty = 2, col = 4) else lines(x, p0*f0, lwd = 2, lty = 2, col = 4) ################## Plot triangles ############### if (!is.na(z.2[2])) points(z.2[2], -0.5, pch = 24, col="red", bg="yellow") if(!is.na(z.2[1])) points(z.2[1], -0.5, pch = 24, col="red", bg="yellow") if(nulltype == 1 | nulltype ==2) Ef <- Efdr[1] else if (nulltype == 0) Ef <- Efdr[4] if (plot == 2 | plot == 4) { if(nulltype == 0) fdd <- fdr0 else fdd = fdr matplot(x, cbind(fdd, Fdrl, Fdrr), type = "l", lwd = 3, xlab = " ", ylim = c(0, 1.1000000000000001), main = "fdr (solid); Fdr's (dashed)") title(xlab = paste("Efdr= ", round(Ef, 3))) abline(0, 0, lty = 3, col = 2) lines(c(0, 0), c(0, 1), lty = 3, col = 2) } if (plot == 3 | plot == 4) { if(sum(is.na(cdf1[, 2])) == nrow(cdf1)) warning("cdf1 not available") else { plot(cdf1[, 1], cdf1[, 2], type = "l", lwd = 3, xlab = "fdr level", ylim = c(0, 1), ylab = "f1 proportion < fdr level", main = "f1 cdf of estimated fdr") title(sub = paste("Efdr= ", round(Ef, 3))) lines(c(0.20000000000000001, 0.20000000000000001), c(0, cdf1[ 20, 2]), col = 4, lty = 2) lines(c(0, 0.20000000000000001), rep( cdf1[20, 2], 2), col = 4, lty = 2) text(0.050000000000000003, cdf1[20, 2], round(cdf1[20, 2], 2)) abline(0, 0, col = 2) lines(c(0, 0), c(0, 1), col = 2) } } if(plot > 1) par(oldpar) } if(nulltype == 0) { ffdr <- approx(x, fdr0, zz, rule = 2, ties="ordered")$y } else ffdr <- approx(x, fdr, zz, rule = 2, ties="ordered")$y vl = list(fdr = ffdr, fp0 = fp0, Efdr = Efdr, cdf1 = cdf1, mat = mat, z.2 = z.2) if(!missing(mult)) vl$mult = EE vl$call = call vl } locfdr/R/locfns.R0000644000176200001440000001377712503277365013364 0ustar liggesusers## ## We need the splines library, so we load it. ## #.onLoad <- function(lib, pkg) require(splines) locmle <- function(z, xlim , Jmle = 35, d = 0, s = 1, ep = 1/100000, sw = 0, Cov.in) { ## uses z-values in [-xlim,xlim] to find mles for p0,del0,sig0 ## Jmle number of iterations, beginning at (del0,sig0)=(d,s) ## sw=1 returns correlation matrix N = length(z) if (missing(xlim)) { if (N>500000) b = 1 else b=4.3 * exp(-0.26*log(N,10)) xlim=c(median(z),b*diff(quantile(z)[c(2,4)])/(2*qnorm(.75))) } aorig=xlim[1]-xlim[2] borig=xlim[1]+xlim[2] z0=z[which(z>=aorig & z<=borig)] N0 = length(z0) Y = c(mean(z0), mean(z0^2)) that = N0/N ######## find mle estimates ########################### for(j in 1:Jmle) { bet = c(d/s^2, -1/(2 * s^2)) aa = (aorig - d)/s bb = (borig - d)/s H0 = pnorm(bb) - pnorm(aa) fa = dnorm(aa) fb = dnorm(bb) H1 = fa - fb H2 = H0 + aa * fa - bb * fb H3 = (2 + aa^2) * fa - (2 + bb^2) * fb H4 = 3 * H0 + (3 * aa + aa^3) * fa - (3 * bb + bb^3) * fb H = c(H0, H1, H2, H3, H4) r = d/s I = matrix(rep(0, 25), 5) for(i in 0:4) I[i + 1, 0:(i + 1)] = choose(i, 0:i) u1 = s^(0:4) II = pmax(row(I) - col(I), 0) II = r^II I = u1 * (I * II) E = as.vector(I %*% H)/H0 E1 = E[2] E2 = E[3] E3 = E[4] E4 = E[5] mu = c(E1, E2) V = matrix(c(E2 - E1^2, E3 - E1 * E2, E3 - E1 * E2, E4 - E2^2), 2) bett = bet + solve(V, Y - mu)/(1 + 1/j^2) if(bett[2]>0)bett=bet+.1*solve(V, Y - mu)/(1 + 1/j^2) if (is.na(bett[2])) break else if (bett[2]>=0) break d = - bett[1]/(2 * bett[2]) s = 1/sqrt(-2 * bett[2]) if(sum((bett - bet)^2)^0.5 < ep) break } if (is.na(bett[2])) { mle = rep(NA, 6) Cov.lfdr = NA Cor = matrix(NA, 3, 3) } else if (bett[2] >=0) { mle = rep(NA, 6) Cov.lfdr = Cov.out = NA Cor = matrix(NA, 3, 3) } else { aa = (aorig - d)/s bb = (borig - d)/s H0 = pnorm(bb) - pnorm(aa) p0 = that/H0 ############ sd calcs ########################### J = s^2 * matrix(c(1, 0, 2 * d, s), 2) JV = J %*% solve(V) JVJ = JV %*% t(J) mat2 = cbind(0, JVJ/N0) mat1 = c((p0 * H0 * (1 - p0 * H0))/N, 0, 0) mat = rbind(mat1, mat2) h = c(H1/H0, (H2 - H0)/H0) matt = c(1/H0, - (p0/s) * t(h)) matt = rbind(matt, cbind(0, diag(2))) C = matt %*% (mat %*% t(matt)) mle = c(p0, d, s, diag(C)^0.5) if(sw == 1) { sd = mle[4:6] Co = C/outer(sd, sd) dimnames(Co) = list(c("p0", "d", "s"), c("p0", "d", "s")) Cor = Co[c(2, 3, 1), c(2, 3, 1)] } if (!missing(Cov.in)) { i0 = which(Cov.in$x > aa & Cov.in$x < bb) Cov.out = loccov(N, N0, p0, d, s, Cov.in$x, Cov.in$X, Cov.in$f, JV, Y, i0, H, h, Cov.in$sw) } } names(mle) = c("p0", "del0", "sig0", "sd.p0", "sd.del0", "sd.sig0") mle = mle[c(2, 3, 1, 5, 6, 4)] out = list(mle=mle) if (sw==1) { Cor = list(Cor = Cor) out = c(out, Cor) } if (!missing(Cov.in)) { if (Cov.in$sw == 2) { pds. = list(pds.=Cov.out) out = c(out, pds.) } else if (Cov.in$sw == 3) { Ilfdr = list(Ilfdr=Cov.out) out = c(out, Ilfdr) } else { Cov.lfdr = list(Cov.lfdr=Cov.out) out = c(out, Cov.lfdr) } } if ((sw==1) | !missing(Cov.in)) return(out) else return(mle) } loccov = function(N, N0, p0, d, s, x, X, f, JV, Y, i0, H, h, sw) { M = rbind(1, x - Y[1], x^2 - Y[2]) if (sw==2) { K = length(x) K0 = length(i0) toprow = c(1 - N0/N, -t(h) %*% JV / s) botrow = cbind(0, JV / p0) mat = rbind(toprow, botrow) M0 = M[,i0] dpds.dy0 = mat %*% M0 / N / H[1] dy0.dy = matrix(0, K0, K) dy0.dy[,i0] = diag(1, K0) dpds.dy = dpds.dy0 %*% dy0.dy rownames(dpds.dy) = c("p", "d", "s") return(dpds.dy) } else { xstd = (x - d)/s U = cbind(xstd - H[2]/H[1], xstd^2 - H[3]/H[1]) M[,-i0] = 0 dl0plus.dy = cbind(1 - N0/N, U %*% JV / s) %*% M /N/H[1]/p0 G <- t(X) %*% (f * X) dl.dy = X %*% solve(G) %*% t(X) dlfdr.dy = dl0plus.dy - dl.dy if (sw==3) return(dlfdr.dy) else { Cov.lfdr = dlfdr.dy %*% (f * t(dlfdr.dy)) return(Cov.lfdr) } } } loccov2 = function(X, X0, i0, f, ests, N) { d = ests[1] s = ests[2] p0 = ests[3] theo = I(ncol(X0)==1) Xtil <- X[i0,] X0til <- X0[i0,] G <- t(X) %*% (f * X) G0 <- t(X0til) %*% X0til B0 <- X0 %*% (solve(G0) %*% t(X0til)) %*% Xtil C <- B0 - X Ilfdr = C %*% solve(G, t(X)) Cov <- C %*% solve(G) %*% t(C) if (theo) D = matrix(1,1,1) else D = matrix(c(1, 0, 0, d, s^2, 0, s^2 + d^2, 2 * d * s^2, s^3), 3) gam. = solve(G0, t(X0til)) %*% (Xtil %*% solve(G, t(X))) pds. = D %*% gam. if (theo) pds. = rbind(pds., matrix(0, 2, nrow(X))) pds.[1,] = pds.[1,] - 1/N m1 = pds. %*% f m2 = pds.^2 %*% f stdev = as.vector(sqrt(m2 - m1^2/N)) stdev[1] = p0 * stdev[1] pds.[1,] = p0 * pds.[1,] rownames(pds.) = c("p", "d", "s") list(Ilfdr = Ilfdr, pds.=pds., stdev=stdev, Cov=Cov) } locfdr/vignettes/0000755000176200001440000000000012551263135013536 5ustar liggesuserslocfdr/vignettes/locfdr-example.Rnw0000644000176200001440000003517110664510101017126 0ustar liggesusers% -*- mode: noweb; noweb-default-code-mode: R-mode; -*- \documentclass[11pt]{article} %% Set my margins \setlength{\oddsidemargin}{0.0truein} \setlength{\evensidemargin}{0.0truein} \setlength{\textwidth}{6.5truein} \setlength{\topmargin}{0.0truein} \setlength{\textheight}{9.0truein} \setlength{\headsep}{0.0truein} \setlength{\headheight}{0.0truein} \setlength{\topskip}{0pt} %% End of margins %%\pagestyle{myheadings} %%\markboth{$Date$\hfil$Revision$}{\thepage} \usepackage[pdftex, bookmarks, bookmarksopen, pdfauthor={Bradley Efron, Brit B. Turnbull and Balasubramanian Narasimhan}, pdftitle={locfdr Vignette}] {hyperref} \title{locfdr Vignette\\ Complete Help Documentation\\ Including Usage Tips and Simulation Example} \author{Bradley Efron, Brit B. Turnbull and Balasubramanian Narasimhan\\ Department of Statistics\\ Stanford University\\ Stanford, CA 94305} \date{\today} \SweaveOpts{echo=TRUE, pdf=TRUE, eps=FALSE} \begin{document} %\VignetteIndexEntry{Local FDR} %\VignetteKeywords{FDR, local FDR} %\VignettePackage{locfdr} \maketitle This vignette includes locfdr's complete help documentation, including usage tips, which could not fit in the R help file. It also demonstrates usage of locfdr through an example using the simulated data included in the package. \section{Description and Usage} locfdr computes local false discovery rates, following the definitions and description in the references listed below. \begin{verbatim} locfdr(zz, bre=120, df=7, pct=0, pct0=1/4, nulltype=1, type=0, plot=1, mult, mlests, main=" ", sw=0) \end{verbatim} \section{Arguments} \subsection{zz} zz is a vector of summary statistics, one for each case under consideration. In a microarray experiment, there would be one element of zz for each gene, perhaps a $t$-statistic comparing gene expression levels under two different conditions. The calculations assume a large number of cases, say \texttt{length(zz)} exceeding 200. Results may be improved by transforming zz so that its elements are theoretically distributed as $N(0,1)$ under the null hypothesis. For example, when using $t$-statistics, transform them by \texttt{zz = qnorm(pt(t,df)).} Recentering and rescaling zz may be necessary if its central histogram looks very far removed from mean 0 and variance 1. When using a permutation null distribution with sample zperm, transform the original statistics zorig by \texttt{zz = qnorm(ecdf(zperm)(zorig)).} Such transformation is especially important when the theoretical null option is invoked (see nulltype below). \subsection{bre} bre is the number of breaks in the discretization of the $z$-score axis, or a vector of breakpoints fully describing the discretization. If \texttt{length(zz)} is small, such as when the number of cases is less than about 1000, set bre to a number less than the default of 120. \subsection{df} df is the degrees of freedom for fitting the estimated density $f(z)$ (see type below). Larger values of df may be required if $f(z)$ has sharp bends or other irregularities. A warning is issued if the fitted curve does not adequately match the histogram counts. It is a good idea to use the plot option to view the histogram and fitted curve. \subsection{pct} pct is the excluded tail proportions of zz's when fitting $f$. The default \texttt{pct=0} includes the full range of zz's. pct can also be a 2-vector, describing the fitting range. \subsection{pct0} pct0 is the proportion of the zz distribution used in fitting the null density $f_0$ by central matching. If it is a 2-vector, e.g. \texttt{pct0=c(0.25,0.60)}, the range \texttt{[pct0[1], pct0[2]]} is used. If a scalar, \texttt{[pct0, 1-pct0]} is used. \subsection{nulltype} nulltype is the type of null hypothesis assumed in estimating $f_0$, for use in the fdr calculations. \begin{itemize} \item 0 is the theoretical null $N(0,1)$, which assumes that zz has been scaled to have a $N(0,1)$ distribution under the null hypothesis. \item 1 (the default) is the empirical null with parameters estimated by maximum likelihood. \item 2 is the empirical null with parameters estimated by central matching (see \cite{size}). \item 3 is a ``split normal'' version of 2, in which $f_0(z)$ is allowed to have different scales on the two sides of the maximum. \end{itemize} Unless sw is set to 2 or 3, the theoretical, maximum likelihood, and central matching estimates all will be output in the matrix fp0, and both the theoretical and the specified nulltype will be used in the calculations output in mat, but only the specified nulltype is used in the calculation of the output fdr (local fdr estimates for every case). \subsection{type} type is the type of fitting used for $f$. \begin{itemize} \item 0 is a natural spline. \item 1 is a polynomial. \end{itemize} In either case, $f$ is fit with degrees of freedom df (so total degrees of freedom including the intercept is $\mbox{df}+1$). \subsection{plot} plot specifies the plots desired. \begin{itemize} \item 0 gives no plots. \item 1 (the default) gives a single plot showing the histogram of zz and fitted mixture density $f$ (green solid curve) and null subdensity $p_0f_0$ (blue dashed curve). Colored histogram bars indicate estimated non-null counts. Yellow triangles on the zz-axis indicate threshold values for $fdr(z) \leq 0.2$, if such cases exist. \item 2 also gives plot of fdr, and the right and left tail area Fdr curves. \item 3 gives instead the $f_1$ cdf of the estimated fdr curve, as in Figure 4 of \cite{size}. \item 4 gives all three plots. \end{itemize} We recommend setting plot to 1 or greater, to check the fit of $p_0f_0$ to the histogram. (If the fit is poor, try a different nulltype or a different value of the mlests argument.) \subsection{mult} mult is an optional scalar multiple (or vector of multiples) of the sample size for calculation of the corresponding hypothetical Efdr value(s). \subsection{mlests} mlests is an optional vector of initial values for $(\delta_0, \sigma_0)$ in the maximum likelihood iteration. In addition, these are used to determine the interval over which the maximum likelihood estimation is performed. If, for example, zz was transformed quantile-wise from F statistics, most of zz's elements corresponding to interesting features will be positive. To shift the interval away from such elements, specify a negative initial value for $\delta_0$, the first element of mlests. If the default results in a poor fit of $p_0f_0$ to the histogram in the first plot, try setting mlests to move the estimates toward the values suggested by the histogram. \subsection{main} main is the main heading for the histogram plot. \subsection{sw} sw determines the type of output desired. \begin{itemize} \item 2 gives a list consisting of the last 5 values listed under Value below. \item 3 gives the square matrix of dimension bre-1 representing the influence function of $\log(fdr)$. The $(i,j)$ entry of the matrix is the derivative of $\log(fdr)$ at the midpoint of bin $i$ with respect to the count value of bin $j$. \item Any other value of sw returns a list consisting of the first 7 (8 if mult is supplied) values listed below. \end{itemize} \section{Value} \subsection{fdr} fdr is the estimated local false discovery rate for each case, using the selected type and nulltype. \subsection{fp0} fp0 is a matrix containing the estimated parameters delta (mean of $f_0$), sigma (standard deviation of $f_0$), and p0 (proportion of tests that are null), along with their estimated standard errors. If \texttt{nulltype<3}, fp0 is a $5\times 3$ matrix, with columns representing delta, sigma, and p0 and rows representing nulltypes and estimate vs. standard error. If \texttt{nulltype==3}, the second column corresponds to the estimate of sigma for the left side of $f_0$, and a fourth column corresponds to the sigma estimate for the right. \subsection{Efdr} Efdr is the expected local false discovery rate for the non-null cases, a measure of the experiment's power as described in Section 3 of \cite{size}. Large values of Efdr, say \texttt{Efdr>0.4}, indicate low power. Overall Efdr and right and left values are given, both for the specified nulltype and for nulltype 0. (If \texttt{nulltype==0}, values are given for nulltypes 1 and 0.) \subsection{cdf1} cdf1 is a $99\times 2$ matrix giving the estimated cdf of fdr under the non-null distribution $f_1$. Large values of the cdf for small fdr values indicate good power. See Section 3 of \cite{size}. Set plot to 3 or 4 to see the plot of cdf1. \subsection{mat} mat is a $(\mbox{bre}-1)\times 11$ matrix, convenient for comparisons and plotting. Each row corresponds to a bin of the zz histogram, and the columns contain the following: \begin{enumerate} \item x: the midpoint of the bin. \item fdr: the estimated local false discovery rate at $x$, calculated based on the specified type and nulltype (using \texttt{nulltype=1} if \texttt{nulltype=0} is specified). \item Fdrleft: the left tail false discovery rate at $x$. \item Fdrright: the right tail false discovery rate at $x$. \item f: the mixture density estimate at $x$, calculated based on the specified type, df, and pct, scaled to sum to \texttt{length(zz)}. \item f0: the null density estimate at $x$, calculated based on the specified nulltype (using \texttt{nulltype=1} if \texttt{nulltype=0} is specified) and pct0 and scaled to sum to \texttt{length(zz)}. \item f0theo: the null density estimate at $x$, calculated using the theoretical null $N(0,1)$ and scaled to sum to \texttt{length(zz)}. \item fdrtheo: the local false discovery rate at $x$, calculated based on the specified type and \texttt{nulltype=0}. \item counts: the number of elements of zz in the bin. \item lfdrse: the delta-method estimate of the standard error of the log of the local false discovery rate for the specified nulltype. This estimate assumes independence of the zz values and should usually be considered as a lower bound on the true standard errors. See \cite{size}. \item p1f1: the estimated subdensity of the zz elements that come from non-null tests. p1f1 is scaled to sum to approximately (1-p0) times \texttt{length(z)}, i.e. the estimated number of non-null tests. \end{enumerate} \subsection{z.2} z.2 is the interval along the zz-axis outside of which $fdr(z)<0.2$, the locations of the yellow triangles in the histogram plot. If no elements of zz on the left or right satisfy the criterion, the corresponding element of z.2 is NA, and the corresponding triangle does not appear. \subsection{call} call is the function call. \subsection{mult} If the argument mult was supplied, the value mult is the vector of the ratios of the hypothetical Efdr for the supplied multiples of the sample size to the Efdr for the actual sample size. \subsection{pds} pds is the vector of estimates of p0, delta, and sigma. \subsection{x} x is the vector of bin midpoints. \subsection{f} f is the vector of estimated values of $f(x)$ at the bin midpoints. \subsection{pds.} pds. is the derivative of the estimates of p0, delta, and sigma with respect to the bin counts. \subsection{stdev} stdev is the vector of delta-method estimates of the standard deviations of the p0, delta, and sigma estimates. \section{Simulation Example} This simulation example involves 2000 ``genes'', each of which has yielded a test statistic $z_i$, with $z_i \sim N(\mu_i, 1)$, independently for $i=1,2,\ldots,2000$. Here $\mu_i$ is the ``true score'' of gene $i$, which we observe only noisily. 1800 (90\%) of the $\mu_i$ values are zero; the remaining 200 (10\%) are from a $N(3,1)$ distribution. The data are contained in the dataset \texttt{lfdrsim}, where the $z_i$ are the column \texttt{zex}. <>= library(locfdr) data(lfdrsim) zex <- lfdrsim[, 2] @ If we are confident that the null $z_i$'s are distributed as $N(0,1)$, we run \texttt{locfdr} with \texttt{nulltype=0}. Otherwise, we use the default \texttt{nulltype=1}, which uses empirical estimates of the null density parameters. <>= w <- locfdr(zex) @ In the figure, the green solid line is the spline-based estimate of the mixture density $f$. The blue dashed line is the null subdensity $p_0f_0$, estimated by default by maximum likelihood (nulltype=1). Whichever nulltype is specified, \texttt{locfdr} returns a matrix \texttt{fp0} containing parameters of all three nulltypes and corresponding estimates of the proportion $p_0$ of cases that are null, along with standard errors. In this example, the null distribution is $N(0,1)$, and both the MLE and central matching estimates come close to this. <>= w$fp0 @ The output mat contains estimates of the local false discovery rates and other functions for each bin midpoint $x$. <>= w$mat[1:5,] @ The output fdr contains the local false discovery rate estimate for each $z_i$. One might use this vector to create a list of Interesting cases. <>= which(w$fdr<.2) @ Here $0.2$ is a rule-of-thumb cut-off. In the simulated data, the first 200 cases have nonzero $\mu_i$. So we can find the observed tail false discovery proportion. <>= sum(which(w$fdr<.2)>200)/sum(w$fdr<.2) @ The estimated tail FDR can be found from the \texttt{mat} output. <>= w$mat[which(w$mat[,"fdr"]<.2)[1],"Fdrright"] @ The tail FDR is the mean local fdr over the entire tail and is therefore smaller than the local fdr cutoff. \begin{thebibliography}{99} \bibitem{choice} Efron, B. (2004) ``Large-scale simultaneous hypothesis testing: the choice of a null hypothesis,'' \textit{JASA}, \textbf{99}, pp. 96--104. \bibitem{locfdr} Efron, B. (2005) ``Local False Discovery Rates,''\\ \texttt{http://www-stat.stanford.edu/}$\tilde{\mbox{\,\,\,\,\,}}$\texttt{brad/papers/False.pdf} \bibitem{size} Efron, B. (2006) ``Size, Power, and False Discovery Rates,''\\ \texttt{http://www-stat.stanford.edu/}$\tilde{\mbox{\,\,\,\,\,}}$\texttt{brad/papers/Size.pdf} \bibitem{cor} Efron, B. (2006) ``Correlation and Large-Scale Simultaneous Significance Testing,'' \textit{JASA}, \textbf{102}, pp. 93--103. \end{thebibliography} \end{document} locfdr/MD50000644000176200001440000000133012551317707012040 0ustar liggesusers4e012dadfb7f3ab4336ee3f48c26263d *DESCRIPTION 6ebefc860c24e460619ea866e0c8c8eb *NAMESPACE d51d8a5b61f5637d14bbef41e5da50f5 *R/locfdr.R 8d80d01ac0ef8d8aba97bf4914b92be7 *R/locfns.R a017fd81f33bacc4c3d7a9dada2b0041 *build/vignette.rds bb387c08a8576b5c98cd099a769c7fde *data/hivdata.rda 20f07560e29274400595d9ba40c569bd *data/lfdrsim.rda 592125115156ad39f3b2420efb5f96b9 *inst/doc/locfdr-example.R 50ee53dfe4f2f5d59f3e09d5e44922ee *inst/doc/locfdr-example.Rnw 7dfa796937437e5b29d6a3f172b2de29 *inst/doc/locfdr-example.pdf 8a185289ddc3e94524a5ab58fa1a8136 *man/hivdata.Rd e3c4ab3f507d850553a235df14ac4460 *man/lfdrsim.Rd d2447091be3b600888c80746a5cd71c2 *man/locfdr.Rd 50ee53dfe4f2f5d59f3e09d5e44922ee *vignettes/locfdr-example.Rnw locfdr/build/0000755000176200001440000000000012551027705012626 5ustar liggesuserslocfdr/build/vignette.rds0000644000176200001440000000033212551263135015162 0ustar liggesusers @,@z| R]]AX]Y֓gӡϟ'0%Ñ\X,JQ:+rQ5JFi#wЙP$N6y6A8KE%[de#>Q=%CkV{yfw8It*d<zA 2%Z<? Vlocfdr/DESCRIPTION0000644000176200001440000000145712551317707013250 0ustar liggesusersPackage: locfdr Version: 1.1-8 Title: Computes Local False Discovery Rates Authors@R: c(person("Bradley", "Efron", role=c("aut"), email = "brad@stat.Stanford.EDU"), person("Brit", "Turnbull", role=c("aut")), person("Balasubramanian", "Narasimhan", role=c("aut", "cre"), email = "naras@stat.Stanford.EDU"), person("Korbinian", "Strimmer", role=c("ctb"))) Maintainer: Balasubramanian Narasimhan License: GPL-2 Imports: stats, splines, graphics Description: Computation of local false discovery rates. NeedsCompilation: no Packaged: 2015-07-14 19:43:25 UTC; naras Author: Bradley Efron [aut], Brit Turnbull [aut], Balasubramanian Narasimhan [aut, cre], Korbinian Strimmer [ctb] Repository: CRAN Date/Publication: 2015-07-15 01:48:23 locfdr/man/0000755000176200001440000000000012503300350012265 5ustar liggesuserslocfdr/man/hivdata.Rd0000644000176200001440000000151610461774410014214 0ustar liggesusers\name{hivdata} \docType{data} \alias{hivdata} \title{HIV data set} \description{ The data comprises 7680 \eqn{z}-values, each relating to a two-sample \eqn{t}-test. The test compares gene expression values for 4 HIV patients with values for 4 normal subjects; the \eqn{t}-score \code{T[i]} for gene \eqn{i} has been transformed to a normal scale, \code{z[i] = qnorm(pt(T[i], df=6))}, so that the \code{z[i]}'s theoretically would have a standard \eqn{N(0,1)} distribution under the null hypothesis. The original experiment is described in van't Wout et. al. (2003). } \format{A vector containing 7680 \eqn{z}-values} \usage{data(hivdata)} \references{van't Wout, et. al., Cellular gene expression upon human immuno-deficiency virus type 1 infection of CD4+-T-Cell lines, Journal ofVirology 77, 1392-1402.} \keyword{datasets} locfdr/man/locfdr.Rd0000644000176200001440000001305512503300350014031 0ustar liggesusers\name{locfdr} \alias{locfdr} \title{Local False Discovery Rate Calculation} \description{ Compute local false discovery rates, following the definitions and description in references listed below.} \usage{ locfdr(zz, bre = 120, df = 7, pct = 0, pct0 = 1/4, nulltype = 1, type = 0, plot = 1, mult, mlests, main = " ", sw = 0) } \arguments{ \item{zz}{A vector of summary statistics, one for each case under simultaneous consideration. The calculations assume a large number of cases, say \code{length(zz)} exceeding 200. Results may be improved by transforming zz so that its elements are theoretically distributed as \eqn{N(0,1)} under the null hypothesis. See the locfdr vignette for tips on creating zz.} \item{bre}{Number of breaks in the discretization of the \eqn{z}-score axis, or a vector of breakpoints fully describing the discretization. If \code{length(zz)} is small, such as when the number of cases is less than about 1000, set bre to a number lower than the default of 120.} \item{df}{Degrees of freedom for fitting the estimated density \eqn{f(z)}.} \item{pct}{Excluded tail proportions of \eqn{zz}'s when fitting \eqn{f(z)}. \code{pct=0} includes full range of \eqn{zz}'s. pct can also be a 2-vector, describing the fitting range.} \item{pct0}{Proportion of the \eqn{zz} distribution used in fitting the null density \eqn{f0(z)} by central matching. If a 2-vector, e.g. \code{pct0=c(0.25,0.60)}, the range [pct0[1], pct0[2]] is used. If a scalar, [pct0, 1-pct0] is used.} \item{nulltype}{Type of null hypothesis assumed in estimating \eqn{f0(z)}, for use in the fdr calculations. 0 is the theoretical null \eqn{N(0,1)}, 1 is maximum likelihood estimation, 2 is central matching estimation, 3 is a split normal version of 2.} \item{type}{Type of fitting used for \eqn{f}; 0 is a natural spline, 1 is a polynomial, in either case with degrees of freedom df [so total degrees of freedom including the intercept is \code{df+1}.]} \item{plot}{Plots desired. 0 gives no plots. 1 gives single plot showing the histogram of \eqn{zz} and fitted densities \eqn{f} and \eqn{p0*f0}. 2 also gives plot of fdr, and the right and left tail area Fdr curves. 3 gives instead the f1 cdf of the estimated fdr curve; plot=4 gives all three plots.} \item{mult}{Optional scalar multiple (or vector of multiples) of the sample size for calculation of the corresponding hypothetical Efdr value(s).} \item{mlests}{Optional vector of initial values for (delta0, sigma0) in the maximum likelihood iteration.} \item{main}{Main heading for the histogram plot when \code{plot>0}.} \item{sw}{Determines the type of output desired. 2 gives a list consisting of the last 5 values listed under Value below. 3 gives the square matrix of dimension bre-1 representing the influence function of log(fdr). Any other value of sw returns a list consisting of the first 5 (6 if mult is supplied) values listed below.} } \details{ See the locfdr vignette for details and tips. } \value{ \item{fdr}{the estimated local false discovery rate for each case, using the selected type and nulltype.} \item{fp0}{the estimated parameters delta (mean of f0), sigma (standard deviation of f0), and p0, along with their standard errors.} \item{Efdr}{the expected false discovery rate for the non-null cases, a measure of the experiment's power as described in Section 3 of the second reference. Overall Efdr and right and left values are given, both for the specified nulltype and for nulltype 0. If \code{nulltype==0}, values are given for nulltypes 1 and 0.} \item{cdf1}{a 99x2 matrix giving the estimated cdf of fdr under the non-null distribution f1. Large values of the cdf for small fdr values indicate good power; see Section 3 of the second reference. Set plot to 3 or 4 to see the cdf1 plot.} \item{mat}{A matrix of estimates of \eqn{f(x)}, \eqn{f0(x)}, \eqn{fdr(x)}, etc. at the \eqn{bre-1} midpoints "x" of the break discretization, convenient for comparisons and plotting. Details are in the locfdr vignette.} \item{z.2}{the interval along the zz-axis outside of which $fdr(z)<0.2$, the locations of the yellow triangles in the histogram plot. If no elements of zz on the left or right satisfy the criterion, the corresponding element of z.2 is NA.} \item{call}{the function call.} \item{mult}{If the argument mult was supplied, vector of the ratios of hypothetical Efdr for the supplied multiples of the sample size to Efdr for the actual sample size.} \item{pds}{The estimates of p0, delta, and sigma.} \item{x}{The bin midpoints.} \item{f}{The values of \eqn{f(z)} at the bin midpoints.} \item{pds.}{The derivative of the estimates of p0, delta, and sigma with respect to the bin counts.} \item{stdev}{The delta-method estimates of the standard deviations of the p0, delta, and sigma estimates.} } \references{ Efron, B. (2004) "Large-scale simultaneous hypothesis testing: the choice of a null hypothesis", Jour Amer Stat Assoc, \bold{99}, pp. 96--104 Efron, B. (2006) "Size, Power, and False Discovery Rates" Efron, B. (2007) "Correlation and Large-Scale Simultaneous Significance Testing", Jour Amer Stat Assoc, \bold{102}, pp. 93--103 \url{http://statweb.stanford.edu/~ckirby/brad/papers/} } \author{Bradley Efron, Brit B. Turnbull, and Balasubramanian Narasimhan} \examples{ ## HIV data example data(hivdata) w <- locfdr(hivdata) } \keyword{htest}% at least one, from doc/KEYWORDS \keyword{models}% __ONLY ONE__ keyword per line locfdr/man/lfdrsim.Rd0000644000176200001440000000074710461774410014241 0ustar liggesusers\name{lfdrsim} \docType{data} \alias{lfdrsim} \title{Simulated data set for locfdr} \description{A simulated dataset that involves 2000 "genes", each of which has yielded a test statistic "zex", with \eqn{zex[i] ~ N(mu[i],1)} (independently for \eqn{i=1,2,...2000.}) The data comprises 2000 \eqn{\mu_i}{mu} values and 2000 \eqn{z}-values. } \format{A matrix of 2000 rows and 2 columns containing mu and the z-score values (\code{zex})} \usage{data(lfdrsim)} \keyword{datasets}