kedd/0000755000176200001440000000000012614775365011201 5ustar liggesuserskedd/inst/0000755000176200001440000000000012614740637012150 5ustar liggesuserskedd/inst/CITATION0000644000176200001440000000136512614740637013312 0ustar liggesuserscitHeader("To cite package 'kedd' in publications use:") if(!exists("meta") || is.null(meta)) meta <- packageDescription("kedd") year <- sub(".*(2[[:digit:]]{3})-.*", "\\1", meta$Date, perl = TRUE) vers <- paste("R package version", meta$Version) citEntry(entry="Manual", title = "kedd: Kernel estimator and bandwidth selection for density and its derivatives.", author = personList(as.person("A.C. Guidoum")), year = year, note = vers, url = paste("http://CRAN.R-project.org/package=kedd"), textVersion = paste("A.C. Guidoum (", year, "). kedd: Kernel estimator and bandwidth selection for density and its derivatives.", vers, ".", "http://CRAN.R-project.org/package=kedd" , sep=""))kedd/inst/doc/0000755000176200001440000000000012614740640012707 5ustar liggesuserskedd/inst/doc/kedd.R0000644000176200001440000003276412614740640013755 0ustar liggesusers### R code from vignette source 'kedd.Rnw' ### Encoding: ISO8859-1 ################################################### ### code chunk number 1: kedd.Rnw:132-133 ################################################### library(kedd) ################################################### ### code chunk number 2: kedd.Rnw:135-137 ################################################### kernel.fun(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx kernel.conv(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx ################################################### ### code chunk number 3: kedd.Rnw:139-141 ################################################### plot(kernel.fun(deriv.order = 1, kernel = "gaussian")) plot(kernel.conv(deriv.order = 1, kernel = "gaussian")) ################################################### ### code chunk number 4: kedd.Rnw:146-147 ################################################### plot(kernel.fun(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") ################################################### ### code chunk number 5: kedd.Rnw:149-150 ################################################### plot(kernel.conv(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") ################################################### ### code chunk number 6: kedd.Rnw:176-182 ################################################### fx <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) kernels <- c("gaussian","biweight","triweight","tricube") plot(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[1]),col = 1,ylim=c(-0.6,0.6) ,sub="", main="") for (i in 2:length(kernels))lines(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[i] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)),lty = c(8,rep(1,length(kernels))), inset = .015) ################################################### ### code chunk number 7: kedd.Rnw:184-189 ################################################### h <- c(0.14,0.3,0.6,1.2) plot(dkde(x = bimodal, deriv.order = 1, h = h[1], kernel = kernels[1]),col = 1,ylim=c(-0.6,1) ,sub="", main="") for (i in 2:length(h))lines(dkde(x = bimodal, deriv.order = 1, h = h[i], kernel = kernels[1] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c("TRUE",paste("h =",bquote(.(h)))), col = c("black",seq(h)),lty = c(8,rep(1,length(h))), inset = .015) ################################################### ### code chunk number 8: kedd.Rnw:229-233 ################################################### hatf <- dkde(bimodal, deriv.order = 0) hatf1 <- dkde(bimodal, deriv.order = 1) hatf2 <- dkde(bimodal, deriv.order = 2) hatf3 <- dkde(bimodal, deriv.order = 3) ################################################### ### code chunk number 9: kedd.Rnw:237-248 ################################################### fx <- function(x) 0.5 * dnorm(x,-1.5,0.5) + 0.5 * dnorm(x,1.5,0.5) fx1 <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) fx2 <- function(x) 0.5 * ((-4*x-6)^2 - 4) * dnorm(x,-1.5,0.5) + 0.5 * ((-4*x+6)^2 - 4) * dnorm(x,1.5,0.5) fx3 <- function(x) 0.5 * (-4*x-6) * ((-4*x-6)^2 - 12) * dnorm(x,-1.5,0.5) + 0.5 * (-4*x+6) * ((-4*x+6)^2 - 12) * dnorm(x,1.5,0.5) plot(hatf ,fx = fx) plot(hatf1,fx = fx1) plot(hatf2,fx = fx2) plot(hatf3,fx = fx3) ################################################### ### code chunk number 10: kedd.Rnw:253-254 ################################################### plot(hatf,fx = fx,lwd=2,sub="",main="") ################################################### ### code chunk number 11: kedd.Rnw:256-257 ################################################### plot(hatf1,fx = fx1,lwd=2,sub="",main="") ################################################### ### code chunk number 12: kedd.Rnw:259-260 ################################################### plot(hatf2,fx = fx2,lwd=2,sub="",main="") ################################################### ### code chunk number 13: kedd.Rnw:262-263 ################################################### plot(hatf3,fx = fx3,lwd=2,sub="",main="") ################################################### ### code chunk number 14: kedd.Rnw:312-316 ################################################### h.amise(bimodal, deriv.order = 0) h.amise(bimodal, deriv.order = 1) h.amise(bimodal, deriv.order = 2) h.amise(bimodal, deriv.order = 3) ################################################### ### code chunk number 15: kedd.Rnw:352-356 ################################################### kernels <- eval(formals(h.mlcv.default)$kernel) hmlcv <- numeric() for(i in 1:length(kernels)) hmlcv[i] <- h.mlcv(bimodal, kernel = kernels[i])$h ################################################### ### code chunk number 16: kedd.Rnw:358-359 ################################################### data.frame(kernels,hmlcv) ################################################### ### code chunk number 17: kedd.Rnw:362-364 ################################################### plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50)) plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50)) ################################################### ### code chunk number 18: kedd.Rnw:369-370 ################################################### plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50),sub="",main="") ################################################### ### code chunk number 19: kedd.Rnw:372-373 ################################################### plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50),sub="",main="") ################################################### ### code chunk number 20: kedd.Rnw:412-416 ################################################### h.ucv(bimodal, deriv.order = 0) h.ucv(bimodal, deriv.order = 1) h.ucv(bimodal, deriv.order = 2) h.ucv(bimodal, deriv.order = 3) ################################################### ### code chunk number 21: kedd.Rnw:419-420 ################################################### for (i in 0:3) plot(h.ucv(bimodal, deriv.order = i)) ################################################### ### code chunk number 22: kedd.Rnw:425-426 ################################################### plot(h.ucv(bimodal, deriv.order = 0),sub="",main="") ################################################### ### code chunk number 23: kedd.Rnw:428-429 ################################################### plot(h.ucv(bimodal, deriv.order = 1),sub="",main="") ################################################### ### code chunk number 24: kedd.Rnw:431-432 ################################################### plot(h.ucv(bimodal, deriv.order = 2),sub="",main="") ################################################### ### code chunk number 25: kedd.Rnw:434-435 ################################################### plot(h.ucv(bimodal, deriv.order = 3),sub="",main="") ################################################### ### code chunk number 26: kedd.Rnw:481-485 ################################################### h.bcv(bimodal, whichbcv = 1, deriv.order = 0) h.bcv(bimodal, whichbcv = 2, deriv.order = 0) h.bcv(bimodal, whichbcv = 1, deriv.order = 1, lower=0.1, upper=0.8) h.bcv(bimodal, whichbcv = 2, deriv.order = 1, lower=0.1, upper=0.8) ################################################### ### code chunk number 27: kedd.Rnw:488-499 ################################################### ## deriv.order = 0 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) ## deriv.order = 1 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws = seq(0.1,0.8,length=50)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) ################################################### ### code chunk number 28: kedd.Rnw:504-507 ################################################### plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) ################################################### ### code chunk number 29: kedd.Rnw:509-512 ################################################### plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws=seq(0.1,0.8,length=50),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) ################################################### ### code chunk number 30: kedd.Rnw:553-557 ################################################### h.ccv(bimodal, deriv.order = 0, upper = 0.5) h.ccv(bimodal, deriv.order = 1, upper = 0.5) h.ccv(bimodal, deriv.order = 2, upper = 0.5) h.ccv(bimodal, deriv.order = 3, upper = 0.5) ################################################### ### code chunk number 31: kedd.Rnw:560-562 ################################################### for (i in 0:3) plot(h.ccv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) ################################################### ### code chunk number 32: kedd.Rnw:567-568 ################################################### plot(h.ccv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 33: kedd.Rnw:570-571 ################################################### plot(h.ccv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 34: kedd.Rnw:573-574 ################################################### plot(h.ccv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 35: kedd.Rnw:576-577 ################################################### plot(h.ccv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 36: kedd.Rnw:614-618 ################################################### h.mcv(bimodal, deriv.order = 0, upper = 0.5) h.mcv(bimodal, deriv.order = 1, upper = 0.5) h.mcv(bimodal, deriv.order = 2, upper = 0.5) h.mcv(bimodal, deriv.order = 3, upper = 0.5) ################################################### ### code chunk number 37: kedd.Rnw:621-623 ################################################### for (i in 0:3) plot(h.mcv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) ################################################### ### code chunk number 38: kedd.Rnw:628-629 ################################################### plot(h.mcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 39: kedd.Rnw:631-632 ################################################### plot(h.mcv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 40: kedd.Rnw:634-635 ################################################### plot(h.mcv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 41: kedd.Rnw:637-638 ################################################### plot(h.mcv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") ################################################### ### code chunk number 42: kedd.Rnw:676-680 ################################################### h.tcv(bimodal, deriv.order = 0) h.tcv(bimodal, deriv.order = 1) h.tcv(bimodal, deriv.order = 2) h.tcv(bimodal, deriv.order = 3) ################################################### ### code chunk number 43: kedd.Rnw:683-684 ################################################### for (i in 0:3) plot(h.tcv(bimodal, deriv.order = i)) ################################################### ### code chunk number 44: kedd.Rnw:689-690 ################################################### plot(h.tcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,1.5,length=50),sub="",main="") ################################################### ### code chunk number 45: kedd.Rnw:692-693 ################################################### plot(h.tcv(bimodal, deriv.order = 1),seq.bws=seq(0.3,1.5,length=50),sub="",main="") ################################################### ### code chunk number 46: kedd.Rnw:695-696 ################################################### plot(h.tcv(bimodal, deriv.order = 2),seq.bws=seq(0.5,1.5,length=50),sub="",main="") ################################################### ### code chunk number 47: kedd.Rnw:698-699 ################################################### plot(h.tcv(bimodal, deriv.order = 3),seq.bws=seq(0.5,1.5,length=50),sub="",main="") kedd/inst/doc/kedd.pdf0000644000176200001440000165177212614775365014350 0ustar liggesusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4677 /Filter /FlateDecode /N 88 /First 709 >> stream x\Yw7~oc7;3wزx+Kr'-%qL _?_&Eٴͱ T}*TJRaV 'B‹B!(6F$LGB9RBNhP)B+kQIh m>y:4F%FFWRca÷&ҽ&9 @]a/N )a}ha *lJh>*zN8p6; L.xb"\}T%ĵ&ٻD!7‡.@'r,'4i0L$"xΐ  tDA:*KDԠ碀AqGx%bDg1E{+D G} : 9bqx"]m!XTS=@O`V[\8]T6$4Od0P[$q tE V=…=M9ӠAJEݤ 0W!N&f.\#1e2q ;/_6%W& W&2%IA&31kfb:әt&31LS&4L&f21Ldb&S1Tl,SJ&{ISO kz8M?A%Wh7ZU@h񲚡Y&?ӫ٠AY-A+!_=?4$?w4?JwEqr6g=hL^V> h:ֳ^},B5hTT80)}h%zc=M/9mj4^]jޜ?O,05q>} `ūC=&?M_T^a b/JK~\ɆXD$ۃ"m5餞,퐙 ~Ly00i}z:?ʖ=qY W{l(|Z8]t8U]!wȐ/@'$ r/# ~VJ@[‚*KJƢFZBv wqT ^e"+kk GTE (m"] `4.42%~Q@@dbTw4-n$wz ,~)z~LoIu2p GnywXJl;)M1~B&&KV\vQĜD MjLba16)yw@gxEY=N󝼄!2y$ؗ\, |ahe5L p/Y3w  ;JU-TIq<f.p)-h gHieCkZ=Ӻjv e5?w j_r4ii2QVJМA/JX6 qy<] gm*uEJh#H~'v+C1,RFR Nn:bN {E[ 1wJupXTJ63M +Tn &ZAEhh_֨2 Kiтii `< DGû_H"t@默\Ǡ}T|_ټ;f#z>.󪭢"Di 9mQkqtGVy×ols{\m\{nIwZ3ZSEM㥺^u|.s]]_חJ_Aac%eRxr)'Oe^5 Qngjy73Vi:r3^>y ;u6}WWy5^Yc뷏}{+> mw;ݖ{}Q[}f+NYm(BUs[Dy'҉vIΈbU DV""m\U4[)t¤Ԗ»T}9cBț5an|3&ԃVN:LR%; X(1MX(Pc -͒60hKk>^ӹQu׉N#kZ5=vבN.kL\]S jtɗ, ]>ދ+uY;]7]Y:7/_?=m% ~\si|͇ͮ׿g!qv[rg2=U`) !Fx_:ݦtgQ#_hmv2闙+2? x-Ӑ<8h]xCCmii"=wIc."uZL4=(̥˥*1fMN;Db$: 7t%-ո^:J۲~A#]I9Z[I(\:os٣/t}T OjH۵%a^*@ۯDCI"_.cd[mG#R)i΂m)tWrĒ$2՛JelV}+mhUeGͰ%r>_;T^ڦd.ll \l~[>U^c\XGwr[@fn!Er"hR;2PI@?NJ PCR")!vjÉbvAJL1e6"kMZI߰rvxyUIy`hZozGEKrxnG:Rȼ}쟼.~4=B]SmEƶ&,%@pvBat Y%=OF(=Dc/VsAKqds*7Kg=kޑ6P(j:UECcxꛥS?ѤuyDGA(*;c!;DI F ^#.qTm>\^-=KmS/ɢKMmmY:m;zE I[-FU+[9Ys0\螛u=ͧvv|Cl^2ʀBH: WFXrD2+>axrI>E#Iıo( rJNu&#%;~<RZ=vV&h`ey$cs"Q#4*A9Θ9#jS =6>>"Gुd6˫~0оM/э azv%Y:XQvP"ڙN~m[9;e٧^w]dYvt'&OuO{tEzI#SE\pk K ϝnzuд}H_775\~qZ2Ge^2\Ȁ9[9tkxSڏdJSDҲ#"'{KkJNmnWO]s͈hmw`ٚo|4iY5⾩?5V:P] dntx5hW=[5 1!\CmI_e*U8knO^T݆'M5 NPP ֓z+Q]a`1bMG73N`Nʡ㦒lVWM=r\] +9syq%'򲞍Cyy>#9\65h|+RcERZO mfQAYT' 1-3cyARa)+A~ڮl'{ _݌{w|$c/O'),e`f$V7lt>}oȂ'@71l9^d6ڮze~c wv7YrklJfi8KH$ln]\+),j6~=4zII5|hhr:b4dfp4[M8*ES&.7xPʛsXlIĤ>#oxJџ̴&.Y76bڐJ}zsS.^<XL"؜J}]t=y>^WM5k2Jh,^fߵ1y]O_}QGUTsEĺe阮=͐@ەtGAvִ¦2X&d=W6t2H=)=Ž)rYOVuϮ1~ant׋9+{,gzrG ÇTNeYKYGmW;qԜ d(lV9=? 1 t_#x]qp5TI 磹3yp9<%vHM |.j=h_k:8GtjV]^C j<endstream endobj 90 0 obj << /Filter /FlateDecode /Length 3643 >> stream xks6>H3 @i{msIhY߾X; $bwO(?W*Lfpu3(UbP4lp54Rz _z12~ ;𵬰{WS{>A@ AX Ƿ5uΆ_~r`)(Kߍ =hw"q`W5H(*h~{ 3b)|M ~AlH+/ۘ! dK`g9=Dmxt LǨJLice1Y>|UL!=[AkAј%3D2q% WFI}HS#;*c R<6iR";YmWOyÄD\-*} Qy#()de"Kbj4V*37@ GU>P)pVSh? NJlY7&YĴLIok~XɀQ<A}|'Nky9,Hae@D ?9 [jWw[WomteS<~0x^t0SFz6lT:Z&/X&Mjek61//b桜.g(܏ 2IfO`2Q c\#ZZbC($ Bw/ u/>$\b]P H6gk 7r jl%^ЩN,Xaq"G.s.՘9#@ ^M ѭ[(Tc9[x|ź`}s,Eap">xhVF.+Tdy]XS_(}HA<"aa(j[KFQewJ W!ʵ°V͆'@3 bQHiC26&q6~{Yx@oE%pY"!SѪl֥@,<x,iLl䄜R;&φ5.9xCרcH,^u}%"CɫV.p'C}\Შ 'dX=Cd/4ebWEן?Wlj_ M6^/Zln&?He>@`bxC!ɻ9;.{1@ۧGGlCݸN87ruuYBg{IFl+Y.(/:و}ž"}$R~ ! jGrgͦ]p5*jM6َ7oOQn2V$XT}d_$D@b]M]6Bm8*A" p40F`7 }X+#2噋&oA !xc&M97$,>E%eRšć%7^R>#(ޏ^nԖ>_(6qZ1U|t虂~#g=,G1MtfBYOV%0=-VE_.evAp'1y|ק7ǘMMRK2@MJDKзщO=GuIL6T/jWz ڜ `ބD!l3钸Ǚuq}!hڰ$CrhDA+87zhe'c.wMk'Y7yG!._|Ϙ (]< &l|Ev>&)gJ:8 0% 'ma>I1eIn: 2S<:>%\g )4JR>jgA#_n艅`̫^/ʔ]HH]Ϡ'N\w,13#;U4}ŋԜ;uVt Zfq)n*^0^=fBghUjGOmR-/d0(-/I"u}MܹdS8KBfR?u˃S_2֕ގceZ XoG$}iO˯c>TLOꕺn|kN| %xbY-DER0q gFe岩9* -8.rAkjhbD fˤq 1 2E6ʀLYzTlPߋ@ )&ʩN@)&{SLE9#iƽס`I/OՓpDS 43#ܤ\(k`|*Z{ ʾGs TYf F[hУSE[3nF<bD>[T; 0źWt' v͙t)?&Ǒ7Id8 ߬ ;§š!*(oxٺeDC";ODvO b JO>?pe`#GB>4eܽg8e {Mfƥd[V3Ad3 GkX:ut-P%v k` ͞OO瑼%-ex{C6$N}ʡH\_T2&V2 {de~gr TͰzRc)5RlE%֕Szp)86+Mr+VPmEobW94_4f"Wί5>%%.M[Ƿb (]5G摍2ZA .]k~gLKendstream endobj 91 0 obj << /Type /ObjStm /Length 3023 /Filter /FlateDecode /N 88 /First 781 >> stream xZmS9~BCK[{[fIl69C^vRW{`iil$^+ YH[ݭD 5SRh6hYfc1"yiX ,bd(TH&%B1h&A08e8&4Igky+{ART E=ೈxuKiQTqLiUg LYo;< VSLDP)eLCX,ӎUioLGWe.dXQ ˀg M1xE_Ori)U<3тCo M=B$+ ~ k5F3kg k E2g֓ Vzr +`FCŜH3#Ü%1he`2H$+Fb@T:@ӝf>0T Ԃ$CigA59؜Eb(d`dzf~S ƐU,II}d`,5jL,dQQ؛k*vGu 5u`:)뒶NSI{)nXGP|}dM8o/AUQcTwxd)gUK}'o{~x!FY;)iC'w`:'Ls8|_@? nhX̒Z2k+_<e0*unzO^xs ~umz qB\w$]'=<.QkHbv2].ߟU\>"`r8I&3),H!獧L3ѯdT*Fj\pbsrP<?ƧsI}˲Mp7J+y&cyrrKtJEOΘ<'dW1ofUe+h;UcB#C>'b/d\pTUdZ^3Ⲿ_giuGǃp4>N8YR#"hN1ow5\ZcwttTMA|42.B=>P]Q|@[k/aȝLWZ ʏR۹&0db O;'WY)m)Y"ü3D4c^Iԫ1Px^ GS+7C /K@ܿЯf)Y^RWey\=5כ@oGzn ג(L<؎sm@~ż)G7r[sp6*Xqts7cb! 2paNHHv`pU iݹp4t0t"Ǚlc=:l6t8$ < LEBm ~7OFڋpH= J H*'K3=y .7|dt_ $bxw"Lrf h-!lw59]Z :*tzK TL<  *s.^EM6HIk~}05ۖs9y.7E]y^~z]⛷0M׺úlU]! JwooS?wM==3tg E{HIN`NpD")VΓ>ɤ>?[ toNLz+`LǷ7:$nͯmotOwH!ۯ{[\Ay}Y[xpyf=z] u(Zg;kؚbl|l{)5MuofX5\6e FIo.KqBSR fVʹ"c*佦4NAXz0YHZ)7T)TH{L$vZe=DW=z)s |qI)Ic M4Bg;Ĩb&Ǒ.}$Yzmq}SZm?5 3s=?ݤLM{/N|B]Q3g1eiF:gU\srNY=K,P-ux%(*iiZOx  F8{ҧedfYU'Y\%鹲mj&D2 JZe~8LeAܚN3wbӶi̶i&}f&I1fmE.)b1Jӧ][4,k[U1 J6tTG|8b<Wb PgQk4|V}蓨OU%N_e[3֜ vr$BRtREFg}9zkF<c4uu:]ҀV!6G`#6ߖFe44CnE*jfd`oI4mi'R1b(1g\$}*fniR|ocl0֨X²iZ ;C#vŏbO<Kq +S_TY9%SA> clB5xU\ ~.$svz^ґTHjVYj vUa!싟33 D1bߜMKFe6hvs##Ivu2:{NsUDW^l $`N;ϭ>vE *'ț9pendstream endobj 180 0 obj << /Type /ObjStm /Length 3090 /Filter /FlateDecode /N 88 /First 791 >> stream x[ms6~ ށNgR7/K\/w|%b#I{%YS˪Xbdd`2(&GaFSe6;W(")- B2i #x@h&1 I=t;.+10z­10e<Ȕ4 taGpX!2<imǃ,U6ȴӕ,d:JQA`rJBRR;& ̘48H#3 Ɣ9LEs42z deǬt3k ֑l |,@+DH$t1z69b-sig^BZJhyCreo=ɼ'dDERƁ }BAB$TJLf|eIg AYTQOdb,:ILg8XSHv' S 8uCL*KR| <>go0eqT5mw05,aaَ꼫brdxq}>/x^&]Miҝ~xQ׍y1}XଛIٰq3e xU;bedZt5|^wwE8ШÊ5:rR-`+ 5IBd64X*KT.ެ|ߖ]PyͭZ(\/r@,TۡZ'Oyrp8ּe/`o^uU=IE'2<ps6,X;vzW.p팖.pwͬfpj%2o!TTG!Mc]ߺ[2}U6Tg '7ux3I5<֒xEr7xzW^-&Yf5Ur+;EEP:֨mg0q okl4 S%kxHpYj\Feݜw: 3NqO5nj=b7 >e+cY~ B4z1 \z? B⼗ YvT5`Z-.zI+V08*aZB#Eo,8N6| ^Q9[uSGծQc*¨ѭh{>&yNKoÐӺ?N9 `.羔.Q]kn5;ʚ.\lK)Lrr[ufw۝V!V7k:o]n}nCn{MZVV6ՙ|uͯl~` 68m.p\ഹisw 6\QVVV66󓙟d'3\\ߢ\.$x/6('u{ԝ2.8ci5I_ MZsu{ win\4|*|X]Աr%Ѥ<5wz]&DI}]+F=]|K.ea2K rA:ګ{5_ .]1IgKgRa@s^EcAdd$G5 , Dk&Y npqyVq QJP/n ƹTlQC)CizSHL'ZMP{ 24ަxrY:߿-CK=bh]눾L$۾);Bj$xoEn$~tOFtnFqXR_Fxc渆,@KtGsQb&\a8eSшVG iOݴ)KZ(~g񿲩;)Be[>|h5{HiM]?Ƨ揻Ѭ怒@tוg?BzfL2,,MLIrWxqDI3/s!6sFF "CYRJͦ&fe&ug'eVkx3=> stream x\[s~ׯ􁚄LӉ&t(KCJ_spX^Z>H\8߹K6ߟ'gϘj%:֜l %ʊIy>U$8k@|,0Y9@$Pί6fe1[|6?S}b6"W߀NΞ)uoׁgDьBBJ6%1B4+AjM%h̍=قcMp deL(&8Ѽ*f 5ĊHP r)7 JX3Ȧ^#nҁK0qJ#\E ePOc /hFr`)U@j>6XGGc h/$lޖ9\rhI!(4xz0DwN!)A:/CH^Cöjĉr6_D;TuP?S4 / 41)d 1D.} *4|Ǧr4%wxSyg!p?i@5y\Q}&ww/eqR::tdaeM}_OÐVmXoߠqA'1j9[xYRl2ͯ7x|O>dwAj7 GcԵGk3 }KRJ+#t|j5TH,teЈeB-vtSj8/W b hXZy XJX.B̦!n_o,U u%Vqsإ*uϫj M1OTy:Ev yʧ(PVA%w S&M(D$=׶!宒|;G,r, |!<1H"b}kIOT25hF/ĦIJmPƖ"9uU3$U/i˛Цlk2`Zd 5SffUɟ+0SUO-UD߅9f7hq \%Xk ky?Ru̶j RcJ^ ! jB(Ҳ A5;l3ԡ5kB bdx 6u,-F-Vtz견nG:'?X;kcUs݆w~{&{ǎYsm \˰Q [:aHxKCV`3zgkf zZR6b5QtП|vv(Y]kZ7oR(hkڸ6*!vVC#%LTM5̩lw`Pl%Qmo`:Fe-=[5^@JVl-mORMn̂UMΛV[eݰ_ :vH0,uƆP] ~9X2g`5a+Tz:/hs}'ZQLͯ*&ml8.)?˫&q,'X$*+!IH-T&£j ֻg/OE/,UVgj%X85TZ6f0 E<߽vӮP~I%E[*wkp]K^@Sm[ut<3Y=W:" *_P`Qg/+-IBY鯉\ov1+!`0VѢQ -{ VONzA1H>c>R%I!q궙3j=4쁃gUObGw8!Ag}}Q H_T)80|l^7\n8Lq“RLn>M{JOE* ߒ0Hv$ߕ3Qܥw&,gDuGcY*EP(q9ׂyݳ}=1rfiSKn㶧ٹ'kx 'oH jvbq*~^'t[`kVtc~8, h2>P/y>:9(v+jF'瑧xPW3⧉QY^Dz?ymb'\%dvc=?x[4J3[IeĈ> stream xڍvT[6]twww0C Cw7(R (ҭtt#tw}Zfgϳ;t4ڬV  !V5pppqppaatz +$4=dGU@ pqp d`+*@ rŠ8{A6 NAA~_IGl ta FK@b H b 9 {xx] P1Ff  +ϒj@Gߥatlk < 'ׇ7'+VT;rVˁwslIwD`_@KK3 d;r*l0O d y@_[$5  v~3Ce! '+ɀ ˇ{}N'V`'+eX9:]@2<0ـ`^A.~>>eI r4? qX?[~0|\ s [ ƿ {9 ϓ¬ N^:bv5Ye EK(%rX8<<~~.ߟӂeo)!xh?- 'A ÿ7|_!7H@Gv= *aDUDn*€C"dF] + 0/sN +`/a,ׇOJY'KP?x>sj%o;x(` b<d:X]^` q؝Kov"|<#R{Os8 /7v?_' bf %uustj( x?_od13 m`]J3mqFMf ^I&uί2JRl7ԢF4l1{5ބ1=Bi`[1Ćוֹ^=b|]F>GgMOܗu͍ >G7cq&A,&HiQ`hL8g_s突^2cq-s_Nx/p=%3"D<2GGɔOQqxk{yq3 [&=/:hИ\O*yG ‘4Ev /#gTZJ1b3C'X}fY^Fyg&^ѿU7E/"v4L{NHBL}OH4tՆ!qM d( d)e= )FE9qGwf;Nz,WCZljkT, aFR ?+֙AuHfqZvb&r(' a+?"cR̰Wy pg࢞xofYfy#D٤S[ќ_ˋgBCۢT;G!B>FlȾ)Ͻ5N|2|{kʎ.5(Pk3N8 Ce qiA1a[ Ly`>{v` ,jYȸ _pF O\WYQ8Z,=YUĶѵ.wRfԮA̞ vZקВ:=s]=Bp!8_^9=GuWF9srV lak@ ۺ0"Vˀ{Ԁjs=SƂ% Uqc-u[(6}rAq' -I"R!\Zߒ\8H _ yYܺ`&c3l)F~GaD|n\:4oH{sߴ"o~SUidp"@kRX4}=RHI#H.,HbvPp-EҔA9)d  G1\EݖzD\ŽQ/h * g+,~KL&ZHC#(41rt eʬeZžH<^R4NTRLrhLF>B3SlNޘěҀ9}nB+p|JCY+{Έ}e n2nO%75*ZIKw%~/rM O'y̧nx$lG5PDjxy idz;շ, hA>TJ saqB܏|!(J(I5UDu*^ 1'#S/=}ixB`R֍tcZ&R`e&5mJg3PkP@kzg1QPl88o77s! V^g׈+ĩ|Y@:\ë {(H-,#l&DIIΥF%(b_"]7E%`A;>TțNt0ĒKQ#?mRE3fA@V^8YǺJj@#;SL e~7eox=& 3H8eLgk$ w`Ԑq@ф&ˊ奫l5͞DD0i2FF{vӱDj ;w&y`JZBƚZ_Y_z'~{L}̩r[*Mjn]?MoVx_Gg1SWehcd0Ug\lA9 2K3YCO(.ƿVuto3eOBC44_C=g6VT_ș42-CK6=p@gZvaha&iR^iY؟__lע'&:o~ ~c-[}@eK&9Km6)"0^,h}8P"=ŝ3|aS.LRZ- Ss*FRT *x͡LƠ!tx$V|dq~̫*}EJϽ$8/`Sl}toF@d%,rVki㔴 vz~g)\ rxWKU\˝Z)\Kv178:YyEr5,QQȲ9N BJ(HY ˼x>>C"".JDnO5 K00׭mМ&`1հ'Q)$ص5$٫TՁqbf7=Ժ u\rv0 #[pKAXhIW: }favcX7F鍝 ԍݍ'{-,"{n<"CyI_2t&~Fse'+:T(Qv)Y5ҠKƐ"oEŢ> rnӴd*Je[5g4+42yХӔ7.6;F7-=[V݃ wۜ<Q\{H%ۥu DxD)5\h@Bw`mLLv U(%!0Xܖ+y?V^F ۷Ͽl#2=c}b=xbSpCRyF*$ѩ z\M`b!aOfm:y~>a.zG;"Ŋ'@0(ELUI"Miyy\VnAP̀eHU[PD7"g/ٖ]FK%EXX[ٓ,J޹gpnE@?f};l[aX.'(U;f~l(k6N\-Ѕ* ~!P23r]LS"wWT.q{HuAzyW..*3yA ʛs*J-"6N97KCܔR O3̮'tR爤A2qyjЏuvZRГ#B%  *uőlaYGx `°kvĹbHc)~'4A+.#!$ժ0}UҖJbOJfb^}:C'Q+Y{xr6+:?ߵd.#JhjAAVD׋ffXI01P 4N.-+8`"]G}^gN4Ĕ)S/ wFzuĖ'x会M3p$uv>^O$Fr  I c҆190U#8{=K2{| < M8/̧Gz{ٴ5w#6*,El·&B/FLmgW`Kw8|oY׋[.j9Z#yUTS8Ędxp ƞ}r3Ej^b0֚+CY V-DFԅE6 w&tsx9u JZ![i%V{S)5Fx݇ :}{ݧE 4ބPy=yt15IDuĽ0CR`/,CM [VK&ػ9=[!7)s cdBt'GM6:PyQ,M-񑂖Cz?Dh=DhwW{ECH-% ʮ5ٻĈ;?-\L9B1[NغչiuJ_{4բ=LsQonTb!BZfi^G* /t븝w'Ul-(+.{=2&J)ܤNS/J+ EKjk 7Vp>ƍ{&QU/1MrNSa~14]Da֥]uHG,AL¼vB?v di:h+Հ^p u6'Bv羏b9nOUkS)RK΀Ǹ:t8=`9mCƱxS3.~!W2> i ]bP:?v#n {;cKcjU~i A?A?ߧ\[g8N v 44lfxsAG/K^y8ϯE=[XreA<گhi+Z9qC<IuB  4WȺRB욎+l8X4:-'pdzy57P2 ^7%t>:-dCqBh!D9FQLpU\eㅭql|qc: u8CՏZ#r"(_\丟Ɍ ]}]SaW C5k&lK.qbB KT ^#ZoB Bo ~UŜ/u=B#>4;flFa$p\hVEc>]m0MYEJ_uk.?_m|5CUj`[Su-{/=G9g{ycEEG6jJ$}Ũ(q):P]Āv 6r.t$/0x_^EYÞ |^*YlAntu@3^ =J|JlH-ޑ \yŢQd9߬vpW$ЛuDٸRgYwqUw+Jry2>VȲx lho3Grhhβ3R\ܫhpit~@_>g@rsָc*A!@wXX&DaOiN0G rߗ)㐸)Cݘ s )W8ni(ͫS]Tio@\챻߯5^RR8dZ&Ƞ5blbk{;v^Dt"f!ɓ,'>g ] Irl4tPBA;h9Qq]ir@(?9}_A!y;^\Oi*bxXؑ dRf`ZieQʗz((ć%K Y~rWoo[bb`3mId"KtZLSFRI@lCX_Fc]6;':XUE@7)yO h##W0o<{;Lh#4}1pl 6=̷뤋uFcLFDJHv Tz*BjAC 59Qo7L"pÈC-}2065Gl7bK,J ߼n'V-[%fMI?4IgXݏMJ['K,)ƕ2vڝ.enY!: #2bmΉ 19nb9XsAG &X[JfP^#(p?y\H<>,$ FI_#*1N} ?PJG{21J#VTޢ6Gi=]؟ë9s !F_FH4 TC*M^p_ 'tXwYw.xPELŗ~Ժ`cp-ڬ9@?Nu2]R3qDSWS ]XIQt,}d[)Zc ʶ JSC;l)B+~`'["@'L߂ˬ4cX'jgbf463#uZoۑiqPfo׸>N>}Di(!(ӐthsI*uyDV+{QfzHƟ}2VY̶PA" pIwVSQ::}yMy: ou"f<{U N)`eO Sbʄ$([]7׃/OpTُ0GF3QFaKڒiwSlg||ɜpe4LXf<7 k8uvdZQ-6S`*&S<&hM K[-$fkLʖY+qb:G8=> stream xڍP.L)PK)E)EHpwwwŽ)BnE]9g$k=oUEM@Rv0FV&>,+ Z -G9Bv|a!žd@ؓ@`ccamh:L9{;Z=@kJ`~;@60KSFS @ WZK 2;Zѽa5 2 PڂƄJ аCTۛ\ l >8ٙO eOc? :+?l3sY6 3m?`ɓRÿAM ͑wc3;LݍZٻyvfi9A5N YlD,@0' 7;'Z2Nd-~̟h栧T(9:x>-03Þ\O`-qA<<f//=+o6fB'S. }>5_'/ +hkbo$60NFxbf|y> c2Xż`#>jD6n3lĹi;SVO>nꦩSXçVnA W)씽)Um`Ua+6BCdXjzV|lUUFY#ԶIųKb)fTl{5Pr6o}[!@IeGepA4ͦǓj٦!T꫃Ύ NdnHÝ!]fΡ*. 7}n30搕kiZMg몁B}G6[΃iH{>Yݎ(B0=fpJ7g~QK"oJzw2Z\hBZS}8lEYZ< Z7pyqVN#"X^x;1m+g-9t5o&Jx?;cxCt)InDhhoHXpE6kƬ/+RP8BC3HO'd%Ώzu0kXWXb"udʕ=-JL|\tMhXjuݮ,PR-_7 xBwͧ )#76Z;vj+$FQ :zxw$m0S]tZXz2}$&:aI|` 2m0H i}woalg־vC-7}mfyvWo2u7zd]Vj hTE wxHYNF 傟Y#y/G~F,'߻g|JS)~/t"p1 U']z}&\Q7-4A q-GVwT6KFgTi= >D ש#*~xDva?#~Sߣ DŻxWòFF̀/5U> P!* JX6 q!A3W`nlkN'?b~Չ5HW̃6 W ZflضЊM݉!4Ŝ[QA~ye+2짇%P8n C#f] LwpEAf'm%ޒ?(oez&tN~L[,%*MsX[ũ0̀գ\FWa 3_߀2`6S0pQc'g*KC.O0"Žw =Μ^LeEůs(m8 ݝt\ؼX~iU |1?\=rb-`K%~IgW`MF73#UE >9m sǪ'mC $봳庅G+Q cղZ~ժd"Wp)=ba(GԶVʠ8K9N,qQ4U_K~̠0.+j/3bq"%TmoLX(h؍?e4A AdÞd*7-~J4ID?4YEydH'Rj0?6ruX%AqCua7INӭqwmZP9[+lmפH doAz C5)zq 'ێ?Tb'8U6*"v3'|M'׍*CGz@yQAh,4iOx)꒯MyJ/i]p\CWJ[??0愒0qF.C77駭($vy#N&t-(4.*oˉ C45WdT qi&A?d[;79^* m Xar\B~Nz*y}9v@JDݕq"24x؟|b瀩i_7ìN\,Pc?$ڝ#{FO-}EgI+m#E EnMwoE~GB{13 =xTy zc+>{3]b#͛i,vt1ohNutϲ'?@/.N~cv+>f4Wpb|4oϜ6m& |T<ٷ b.+ &&5zۺYVA^_`2/]1Jn>}CzӞWUibZbs]J[B0#;q3XUO%Y/%e Gj ΰbv&Oi4[aLAAir˙]:몌0 DܕՕ#S\02ep_VUR m切Dj7P}[_SkV-䐡e.Èw4:x{}}\U;ǯ:LVVe~TaE tךn<] wa3Dq&I ַ̛H;cùx1HSA۾5)M$2U{I^ʒ6'D!2AÏwRx E 1ܭ?ʏ[ޛved[&*v}%["%>k1A^{TM\q7X(d ALq^R3Ka%֍Ƣ(WpuVzPsUyG)OBg.nS P6_L3E7-9_bJ'WڭVzV\d-%JB ^do2_WRb =T7uwkT^yF-Mw@6\Ͻ;KcΟ`9Cpi5CDhF0%ƌ]꒒FDôWDϞ*VCP.B%e(hS!ha&gN;)ȴ{uV=ߚnge7٠$˷ ߕM&Zq׹GFlW .:Ǝ'g8|e3XHSɒNd#.&_F`1VV$_|ޒASpVOņB7:ao[̫p@l7u|EkK_cH]Xة2EeLJW6z~ږߙ,!ZNH|#4EK= +7>CzsiβUBn,iwW \zp_A߀bchНwIy2$ޙc}1Yաhn[AMK:3ABE\C^qdKXXn2bw՚r1,^D=SLF ׻qgMa :CŒ_I+֖vGq5e/V"y8I<:(s`xM3#!w&3_ƈ\ђNeFTYʾ-p@oek̬!ܛnjhgΡw#^պ-M&ϪFǶZS˴ =8 2`uаJixI-S(6E&\7G1/@ R ɵAb"p͈@#4msɭJhvjOZ'c6BYN/w7 7DܓEwE,w 6# ipxRu$}!{HVR+8*d@x n/MauwV \E?xe=Y뀓kw{΀:ؒ> hgJ |ZYϩs;4 JL Xmx5LC[8xIٕ5'qN܊A yi|_,u~SgGC`~$6) !\s' 4|ں=miqu3Ȱx"?+@)^F^ۘT3lM XKEQG-Яbp:pI]y%+Eܞ2CsQ-V~et3ԲmSөXUrʟCj݋KN¤:Ò@|*PdNizcjR+ݾ?,֣w!sv9X* [{pPݚP:E޾ƵC:{#OݭFUHð[lȯg2p֣e rT"_l*ʁpdr R j:@ Eׄ~ #a/f7|!S,lܮJ6zb&gNl蠉ytj0!UA4Cqξl"fAuk,>_o؇}cޯ^R9w'KY/#?]nI}tG^Zb22u|qEI/B`ZP~cɯT".IjIyBc KM_›|S:Clf;8AtzcғAŔ[#g߅e>ȣZ̥_4 .g3g%*_.Fe* WV}1sڽ-Cj[&e2Am-_pYg)#5K;0,RehTA[KpJ5EH ).tOoy\W/E'mh rrXY.j  V2e9 |@CE_T ?ʭ!Wǐ R [<R,D}JBބ,l8jjxv$go>JAa\3ӊEMAπsJHH>98Z=X0pcdW1Dh4P&v\\zrӫs f8IA .{#;[tcB(jvLuzS}GY\W*&,-^#-ur9ע)Z޷Ȼ#c:xy6u -I`y[}n4eS0\\_9yc 7i ຽ|MI{&x&è@akCM!lWvL鏑8UR#c.M^VOb*o1i1UȝR  GYKq804)f=,(nS.ҌYw}ʳtrxtO2XKiZ ao$8Θ>^'rZk<{9FgP9>lpLa~w"Z1HFX1shѳq}<+cIK| ,$DM'YNkit]8/35YԸ[sw3} $W ߄^e?m!K88̥3yS(*yVu{L_+у/IoOK3$_D0z0=GkdPi&GSFl~2<(0KV"c HqkE8&mr}'m[ }*2ӑ_rԱq}%$+D91uޏ_3Q>ԫI+/vJ4D7|u7~I>^< ?)|}b+Ea6=Z%(ˡK@y%f+ѕ|u?q-l4erW~W~k4]X2?n; ,>2`];13iw@{ոb5"h:J/\YH􃘭w$cK_@1V-˂lC+˲痍b!|vHڥb򩔑Do~+C` I.]~ی^:eHuuh)ŽLXQǤK\H 3jj٫O%ƣ6ɛY)Ov>E& y%qZ\tLNv Ƃ@L:^ ,wb;qz F=dz|+Q|I4r[_*2q;oWp::6 7As Mzy6'5??X$J\]@@&'k#ڡY4dy7Qwy-Jʡ6+a!n}rʄ 19"\=m5-aͤgZg%dF_s`:h0r/F;FC$$eH|Cc E{da?cXRyIm!(2DzZ_ j|ꓟ.a;(_*)_<aP9iva^Fi~ɼ&5)={GjW: ǥNt|ZU?[9{z-uP]s5WP(t3HRgZ~鴰9Fg9rv{K .55]H|YDPk BxtVz%BGz"t/,`[T xT+=MR{ѧJ둷 KT/]wH_k ٔK o!>;^*8%HtPO00yZ>^o&Hnfʸ6k*5kݙ_̽خN2!^S39B]B:O0jw3؋kQkISCuك0ęMo(ETye/ThMȰ\&RB_pJΆ!.Ɖw (Y<֭E1"$Ci{q+:H!H'->pubpFiru=Eet)cྊ`!EXrN [CWh2l7g'rfPi?7|ՊylهfD扙~GC' s::C_Q,t6yv,OCCwFթ4]< m G".9X=Y4NpԑB*|Ǚjn޴֋9ɯ`GY~tL1w\BNSJ.cr< B!}j);wHD:!qL+:lRoGHI<ナ6aZNVLn58%S!‚+ qJ&5VB{%nO[",|jQYW*Pfv#0G#)mpFmF{ؼ۞,2ʹBDzuUB.-%=]JPzc<8I51Fvp/W"녉V<|;i$N8uzbvHOݿX16{|2?BhJ"wlr]#ڝ HCUR*)Nu8YPrT@(ikbz /[.=e IfH!;ND_*k=_5QWJ3ƖZ3U!T% 4Ȉߏ4^\PjJ䥼xl@tz{t'6ʅEC~XXgjcBNhhjЌk< Am s;7xY?wJ&+Y֔^Ԩ&8s;;vԅRQŏy~j00,g`-7ktݦ% kR:K2Fb.yR<)Nd$ZB=Mڮ tof s3ìvTS" MI@p!"eO1]ތwFT7aG8{%mY􃨒Rl-6hG`4ᳳLRPtA$$.7L M#Z]8O<ȁ,Q4/i9᚟d2:5>cyM ~6?hZJWϴnyW}wwَ4~&m^^GƯ)~}KCRzU9}ڑ*Kfs?{dO"8rTdN_ނ@[&DmML/g{ׅXYVN5:Iɤ7{I?NB8LuIÔK\&paQDQ@c;l3+f&߿-8g (YXu3YºeRt!ۭB Y,z텯XoU{yTs`8ƾSnW#VP8ORfZv9mV}TrV#iNw )x4#G/X hxsy٭++V3*=4-٫ʿr@O"J[p _ϯqV:~&x1vNJQ2\\'0Ծ-gCѡ5ZWsAwi5ĘZӻF|!Ϥv}nOxz)+^I^VrҐ5zQםHJLK"F(a|i8 !FBk ^ׇ/dz$i )-%ҘrnEIkl“5?/f~0HipB2*yA{ƜC{'kej"dO5ZIғ1cJdnR h5w.X#)M:E P3{ Μ&ܝS4 FwRLdu(endstream endobj 272 0 obj << /Filter /FlateDecode /Length1 1657 /Length2 8984 /Length3 0 /Length 10063 >> stream xڍP6LHwI-ݱ"%! K HHt tt H# -}3;;{;Ltϵ`y(Ȩ* xyyy0?ŘL`W"/W9!5#T# xy2d%( d:{i:X-@a'RN`W;Ks@n vBd4whA-p`ÝExx<<<͝`PWq6N ]V_̝Tƍж!ׂZ=] !< V`W"9@KQ a'+䷳%eX9*pO8'bE9[ ~ /0Ggy0KW;g8fD_a]X@8 d\{1Y'XY*͙GbV!Gf@BO`ҖWxm/go%Q3`(gg F`ߊ"L `eg Xm DG`]</xx}>#e8zc{Vb-sCd hCX]㭬Y oˎӫ, D}X- 41Ϝ0[SkAc/3qx\nRݱnZ1_?م >/zkME-ⴜ7 f9Y)2j~iJbaZg9V.>k sF\Ir~2{CfλrCJ²_"YNZOo>ԝOOk4!rH?~iV>C~N-܊k*$k+$\w}V-/C0S>;xf=yLqoV|ߩ1Wi`.^/\zzP0w7J6'_PKk(Rm&ќ7;%h8PܶSS^eK?2~>yV(mOץ h6k|*4gp`9ugvV~8ueڧm;|e>&EV阴y:!ڴNb[\f!ׇe ` KN%>z½ƤmO|!9B02?o5*XŒjr,p;p%~6yhY4.;7ޛ9΄708^ki9uiCOlV6:]Yk%xֶW0e;ۦ9kItM>ݏ$t;5K4nӛC&[GtC טdBJx񾉋+@ѡqԇ3KGNYSo>@\lu?ѶBst_E)ކ{bRE9v֮31!;+>Z2XDz8@a@E}Xmy R{o&8Ƹ3;&ȨJ=Rqy7X2?mϫy'!?:p1e^g&Ǿ3uzrwp,kUܗ}/Y@e˵L1/W3G匰(Crͥ)B>z @f}Rv|6gƌ=n[=ԫsɬ?w8rigdgZuD+${aUQC-^\Kez0r 6(zfX ~}m^t{YvmS/ݚEp o"z/ghB{Rg$*.+B,DY`11QN!~]9l_QEeaSZ``#67ݕXlbd68切|ahʰ6#iErr9xEu[GwhS?6Wz(gZo@K.q/?($uz*(-稢v]nbᖒu*FްA1hqX؝0{PBO/$ɝ% #]l &hKAlhFƸ{LJhFgJ2`!d S)ٯ("ɯ3. e?OSPhE儍1u{&'%ud\$cwp_@B]3 QDvFQ{kZ7 a*E2XS=wOS;:KV>vn#yt!q/zܘ+$W''"v']j?as Uq#M$$UVN>zWQW A78?j\iU-6>yWf ڪPPɽ8)An9k_ʳ~pvמR]@t͗I&bZyg{(߈,~݃N\ v1}h5qs 'k dS-ĹuʠԟpD?!2 tl6QEQ#(Qj5y5#o-nØ(NrO*yLg(̪/8Ja[H Nd? v?>&P&twzs)E|vʧB?8~rlx=ّH3JŠ*WEsHށPM]Dё 4<5(fZ6咔oY`T<16{MR;?:QxVOMc//^W!Mȝ5A`14TGIL#a=xN\FA&uLi}T3.8fMc'~ ֏?>8~ K˘9oJ6A?]S#i4mW.ZI}Dm,*~M:篠l~[ #4TEXJt1-aUuQRQM0{ɃNMc4h1C %=ɖ$$(vTl %Yv`CTY=d#R>.# H\G ^a7y:rG䲛5.&E5Gv{ey(ѷVYWu+$#K{.?9a7X2vKDtc D@eVZ2#/JLqtEŨh&JR]quaIqJ?U SFL,c &5S;{4凭RfN>v8P+=d AjǿC`&#a pTiGdDIUZƷ^֘R/*鏋&_ ۼst 5^`Д+d$IӴ,%Jh޸L`ۻoa{EZO(pPs;;Ft4s#LFkhMpфAe1onF'&ӑg[zROX܁aZ4Q~ә ?Sύz&, @<;!P!#A${8"CP}R=t̊vU Wvr)hwq? &A*[E%a3GGg⭷:5߇NǢ3E4W3|lTh c6WT0s*d>+[<V*1?د{xgf%"x2{y''o:p$kU&:=J*VeX'>ϪWifzsGuڏe ->jDN و e . @9=|>qs8ڙu=ӕ! ,xNm7?sZzX>m3:qH^kj]LWe(g:y1xj\~_qn\*UPІE|__08&_ 4&\n=@}lLp;'y(4N {# ~Mj[+,7ⓣ>0|E@:dTc>UŃUiưj7fוRCVx$JVuHZ3m.iJ;h,oQmkHUJakLLȰɫ!ޥ{dțѸx!WL<2!|t4F{`=<0;mj ({ׁ)%⚂E4( 䕦QG2&GLxJ2-RR'1 ~/4CN"/'-$d i7 ~@NqHΦ Y6f2=l-kt!e]j'xZA D׈U)iY/vhH9)~=#u:=k@rn׮/sbꨩ_bIAd!xLZ؀!?õkE>w-JU_|?!w"zK3 J;b"UF-@gIa&܂HMY&l^镅ܸ͖=\_NihBfP 5<Ɲ * pXn :kFM",ܴjO ubLp_Ə}6.zy npP] &|讻 .S@MMoԓ ("Aj[fd{5FGw$>҈9`8P&Iu,mK*HoL :ً8pʻ=94.Ȋ<]d ^1F.yQ=Аi,i.bf4z9EBNM9Az ZY '_9]J[m /‘qgY3I>V:֏2ץ}Vi΀Ut9d-fȅ Y/ocDt;G`*( ,r[*q`v;wOhv4b0+&ődIP9bkxZ4_L>%aK.v4M]R8OZ衻N[p*<뜣+5ZO~ EI\T GZr픅J cM6\LE%6R{||ҚZX ]]0ʠCh02w];HAU 5]1P34%?bq\.8|{D9R~iz Qkp8ntKFƊ6ZQYxh0ibpJUs+g[lsAZR;6:Mי@nYx73jԟLDGO0 MXd=7Ld-͖tvdXy+r"c2vލD0qjeΕF h[xFвOR44ߺxOV\K;鱡l'ư{7m .,ꓜN4|HXi{P%-h.x PM!M]<ue|j~vV' ̈́/Vê$oEͻ+Ϫg_׭h|,cRGF?VSt}Zۙm>r۰a1 ZubCº"A˘Oڟڷͼ:X2%A_{Œg^KU-PZ#hާqЁm.r2\t廡5b*#):{ynQZi,HQ4wgQL= SWm{o_G^!R*Ɠ,kT$1fU*tk0i=]/ukZjB= j;K (Mk.RX ,m$Q>RtyP_6~upl.U16_ό|B\qW8H3nxz~vV珑 6SG"rE*dnECҺສנЮ!uFSSTͼܐ[<ޘBLbPbI쏕joA_9+ ğ-endstream endobj 273 0 obj << /Filter /FlateDecode /Length1 2706 /Length2 23000 /Length3 0 /Length 24529 >> stream xڌT !1twwwt ]" !) two]5̳>sB]E lY8XR*vv.VvvNdm;wG?bd]$+"6wةAEGWO.?C @ Pn4R`gW;}[28:pY*@'GKsG za[wwgA66///Vs'7V(3 tz;Όmk\ le @v@ 8h)(Ԝ6`S+ǿtEd밹%cX9jʬs/CsG70伹sHfjf+E_4*ˀNN@\Y YYJÙMdT"B-x@Җ3/%/1$?g30f zT!sp,@;ovh74`=C rmWٔudT5U_$`ap2>ȗ[%T`TY)g,Y=! }#vvK67 YGǿNv>@F*`rUVZy8_9d=$@6Mhnni zG;Pf@tt\(n^B.e@`_ 0wu5Ax~ z56VrI/` vEQ^/߈&ؤ~#~o$`d#o `l 7M7ĢAbQ FXT#H,j"~H,ĻoAkF:ĻoA :$2s'gȂH-~#H},\-w_[7mijdi<`G OrqׄY!3@r1'$$̙3.M7_FޖN0CnBXA?@o z?_`?A lsCkl aR? @H7~g s@.eߐ,zH9P:VCȜ!/7? I2|vM~w r,K%b_Zfr:wy~=hrCqp@vۺWHeܽpx!}B"c z? 0]v^HȢ+Z"/΁-k[o>Ibq:3tJP7ʶ aS${wS- HHXſ?86Aw(xxy+[VͫP%N'(d&"kޝcj;g\rQWgj6['5!)%~"_iJwpys &>gFf stc'= e?NR\SWJ5. ~jn}*ɒπ4}.:ա~曡>1/F[e T21N=.&{8a3;bBvv~Qc\SyG/l0^gB"[.H 7yk tB2ӍJ|V>ʉ[< gE r=UCF>Ǻ:-oy 4(vbXC%"z%M^QC|yo5s:$b`g{,~hKzR85$`imu?x1)H-)_4^.!,!M 5s5&2,iPK-|* c#S~F%ܽ!4Xw"Oэk:^uK$53Tm\츢GtkELsI[Yw "UnFk"FbQ:ߑ&=-(McWM3M1? EPcu]@k*r+j[xw6!LGK&"EkiR]nVJqJѽ Ǐ-o 2Uddˤ6^< ^gZQ!` T)/YdӞ[Nn2׆lOr+?}"2;K9G1ͅ3|~.1Kz.>q#&ěqu#g_'^Y;5pCH6hIFcrl[ۓ0Z9o1?UoUr+F@i.z wLNa,$*(8sөzXO$|vTyskLڮݳ8زdȓpQm[bO<:U<7N#a;ݖSv+V_,J&I2}5lGĜwVr߈_"7[֦źߦb*E1+(, j4mKϰ[d0sqkm]cX3&G?bk[Sqk^.buus)_"1^|8nmg>{/nE6q2@|l4O\玲Uw ʲ,Tg VCN d&KcU 1-h*JeYNQ7*L~6IJS\A0=c1 "ݹ)sP 2z=v[( ~:]\eT1o aj.,wiW }o@RRweVTץPgb>AN t~Ir GYU=.,zX-_~' ֭X@^.MJ,B vmO#i\ֻ5D]rZ]`^ M54v%ڑޭjrѠ@r8uj j-'GG_o3z'8^Gjj98cz=ƫlf>e5HQCF_2i훨L T #h?6+%T#2ie< _w,\/V@֑?:=V Ő6PXp)yN4,emȵe,w9{42UTGAOGLGW%S__>5qȰX}a\]`l^u-;u{ uXƴn \ qw>s(RR1~zA_NȾP6,#l?XQL]Ud* ;wnpAo ̨߿cMd=>SFiZ+[5:'SsyWDN)˯ m)ove}"r`*osIH)Y Ѳɡwe BoԽ#r#= -ˑbPrI^,?|ٔ7.7HOaɣz#P,ɧ"x^{ņ73aX[_c &1/.mԝO]=QЁ}^ir cǡgy,ZߎqOp[*1_޳Fl-Q%Jij_/uW(lE e]'9_ᕻ`^VB%TX@)1bpk&6 Bqfd&*I^;~Z!~׈,ء.CDrqTe<5|}P#RٶLe74Pǜ/qvRLESP1/S[1yK:-m:JoLtjяcj{0?(Y|9mq#Con%j.d1[Խiv Zax4Qn/.#sy~*`/ v!m-;Qya=,S'JfRnՎ!2fϑ~7xsÛL˭k`JVߩs6c;o=ds҄{p^6UL1 \=s4~]*>13ݤkE<(1qO􈡿EUuNU=*zv3+C#xm& :Õ5aW$/B,h6j~HjDބu}+˦l}кcbQ~_qπaJZ٣[$\IK*$a Ҍ-*$k4c1:Sq,Dh~UHkW=fJL.wQ΅Iyu.j;zC,C2*%lPcCqk4} kkI}0z)`jiϪk*;9Q5iL;e|.n?M6UCYHUӰ$Z \[jտYI,N7/aB\ER" D2:MQ Ͱ'v0./Ie1͎L(w"#_F6B5l+^ŎֶOzZAK<e}c!F:^)ĀglόmmŜq/2hy^ԫ¢m}׺ p.aʥ](6]_}Yt>u=l2B}^{"c4<&gK-!Lwƌ }9?Z^_ (sSq.z /mn1W,*L,8Z7}^i?0~+6J2 wK7oN&fS曀=ɞO":jh@vo-rvntzWljwG%A3zM -q|j$Iv|} Boc6 9 Fw%R>B>K b.l_,sv7RyVSE<f\?xSZ5qK6p=TձI9z`ƽfO]QJ@$kmxR%|r:* P$i,c_;Y"' ĝ+5gi.Nҫ43Bt &gp:jS/؜Yu>F)Ow /rJ,%|y*. N%`8'1&j#l=Pi~"6Jl^H`2m3n^DNb[ZS >O*a5;c5:{5|)!k]?O{o‘!c-je!sK;;Ю}F&] /uoߠ&˂z Xyp]y"@\2\@Rkp0!ѥ_k7,Kjj4ؾ#}sF#?݁40OLxBk3}cQ5G'J!G1S̊p}Iȥ2ňOZV .DoV#vrsUd$OMjNȆJϴa)8,&Zl^($B+RpFMl`V)-= ۪"4NMdӱ?N7}"JjEӃ8Z˵SK[~ߛ_% p[v*X-?~M;Mع|Y,xIF7:֡)Y{U\P/Z<wa/y gxf}z+ "rw@-|m hz}Rl|nL)Q]-"9Idے|Ytn󰾮Oa3/b'=k8GU̵ίj Y!>Ԋ./OӴk5H2kx}}yKwJ `E~<~4f~7aSu⫛T,('{_VQ̈́ps-:P)Vǥ:}*-F]ɹxW]tNOթy!VFS܁}Hz0XeVǁ+-aXœ&KiGY|bEcP5JC[7K2oHK`%`gF5VJ??H'jaW^Lܽ*]-W q2Mɖ;Nr_IkZHLH1]7'QʠRc(w}BӰ6?#M/}gwe  Thc-Rz>FFl\cGPf ._'=?%'oe5+F28g nUq[v0ҫ>8 EIB GWrܬ8 ,>ׄ1=K'T5[ FF灑Q1iq9KVm*p?gJq_J-ANYt֫HdG` &8d5MG߲QD"-c't8Q6x/q++@;p.3jR3jɫ;xx;7J5PSr-+'(+~nVI RBr2Wyean8%FZ^srcOQ/1x>3\`PvF^ }jJ] ?|֧8Ed/D[rW /Cy᭨yd/ 箁K|^sxXqw5mK3X AOp.ʱAQ(η{pim'Ysªv|aϚ,\$ƐTYDURB~'U7/҂̂,sJw*(=̳ wPƒUU=m}=:Pe]d:|Z Rba ހڋVqƵC,:ZZ^q$ّur'^C[ Jy)ΟUm(Q9XUm߿vq'XU vwHF*(-8f;z_kG|d>!Mwփݺ9τwi| 9Bt?K?*L,ecaO#8vIE,4-qܩ>8t9$2͛K>;zC/58X+ t#yAT3]*#SJTׅl=V1*I5oȬB/5c?[r ~!ָ n0MmNim|qȟ杋{ՠ.#؇[3L֋ ]1 qB\O[خG+9I/N"rX)Dԁmy$!m4".F{``(ΤΝp,SzZ2 .t*vDBYC~ 9Xr/,-dn lQZs|&.k|W CQv̾UN/bݬTY LEnD1ix ~XaR9DD C l f C/擏ObsvZ]۹› 椽DSyMk~sF{wղ(Z:,cn΋OyiỏZD+7Xy\; FE.~<_ ӝF{h{$%7t/iJzrs=₺:%ӈ1/,pj(7]jMZ8rpY}|\ ϶֞ld8ܗɚ/s9jzdI!Ეk6a~Dz_&?@vOxh_ }~]1-)͢iadb 6'.cGw&Diʠ &P 8)/]1R$]~Bi ?$Lqr7m2GJuTq]*-X9-# 7?Sk02;8[>d ;Z.w۠Mr й,/[r{@;ch:/1-dd)}8A0)*}n>T 创ՄǂkS :1yؠRi*[@g23aU1MHikLbC4|7VUo#/q~2Uѷ~Wun( ߰O,bQWK+iȔtf+gBP1ߦ'LSQcĤֽ/yV+3%;A6 F{sp)d#pe2"|۬k7d6mE[3Z(}%F%lے]7M[ .Ssjh|}2M^r3C뾣j{x-L =oEU? ڸnf}wÎ%cwb@H>PfhZG./8$S X.(Su ŔمІt1Tm`t@o bިq|'|%^H}WսhZd z(9퉖@&G&sEg2~"@=a}ć3)#j8] ʓ-\$+Q}/lN[󏻡l#㴫R&\OU̮F>3 crN@(}+_g?C$IZhiG%+$Yϩzc.yQ.ʴd UT#g&{mmSnPK'&Ɛn߰TqH}=)f)t<>R~c*`Yjꁆ/X9(! 3}Ng*j+`}NWj?kKa'a)3R!8ʸ@&pQyTxd"y5o~P3Lyn``\:i7=' zaKQ5x @ {b_Lq %^}c\m,WQVC_"(NX-PTaMYSGtle.2+A]W;4 T=,Z5(gnA,|+ifEutSl"ZЩl+'qgb}`&1ZN4NޯW?jO?|1JdblaIp#1p^V6E?}kfKhLc'`Aԝ!fLK)…`a}(Df=4${iU%g^9#Ukau**Ec*\[Q,vL󦥩Qt=81Lh' >c#N_u`}i:D:(s@8AVfQ6{G;'|^ͨKTe\|o-QdH+i}ǡGC06p(I*d6:zFhV`OQ̉Ҭ(6zO`Su8 6n(nFۻTʊ ºMNk}h 2MF#}L)ӻ( 6fe>x^r GgRZʜ; xҪ˗ϑ(%T<0@!2Z 2p5} z.?Ƥڹf>V0Úpegwt:j:ٵilZ8~ja& 2 lDyqC*}C3ga uRNJJ:[nӐI]'UqE-'3ޯ#WEw]qC%"9DT0G@7;ɒFfv1ySv~'m+lU\5 #unQ[B^L*##?lȚٸ%Yx+˾r`CII$/Z T M˯X8C睌+1[*;h~hnrR̤_O]ܧ{ IrkBZv4>a"Kj^_3!J~%>8#ZL~r.fxʙ?lSf u94uTu-<<ٟT2S} m倥$ͻg=j$iJ# K(HN L I"k׷ X}Teeγn:&MȚr#.lA VaߜMT_i8 W꤄KQ/E p+Y,I_E}"Dt4H)B ]ɾVmji1򥼫TbSHnluQ\B"`5W(`eڂ\rc vҙ5-O9GlMIw?F ϯ&1'V(vuC2_]βz%D` *v軚3_h|P|gN(=u{pd8=$ßy\Cnl9l+DH2-=G5&hV!SYu`Zj![IY0t cS}\o? kܛԷQj.n[tRWF-UB@ן@[HXy-.NZ92#ٶE5tYrJ-1M¹^eBC0LXTim෇awW_{R&%̫ƐoF$h kϤsLs^cj2K`-|Y-%%6І6+],ӀFCTa}7b5HƢu$>gKs{߈q[,XyaYSOt 95B|6p|Z|gA<"_##L37)* z,oKKU}cYsl P]"8\=x0yRQN=Rdy?ӦyCJ,o֦Gc6̑=C&ٰ R%KS+G <mhܴCJ<yQoL1mPNp2~^ \ګyp [wEjkhvG{%hThYk#/`uO<%/=RtߒQw?`4[I킔v> 򠤙DX|Cf{T>M> aބIOEOK`AR(Hͭ}E<脤4xi&tSiG QYv=P?+"ۋhv!'[l8؅A|e&v&4*]˙3I2'_:c ia$[(t1X/.Ƚl$ Tˌ4Q3>=|`ԹZEw=&EJ?\ `*Tw"g0{D$+o;|c) mhp'gYS-Bફ l&v3cKWC|{k*݄͆(inV0viޕ^'q'`6u%ʗꨯeD|82^JV,X[cTohϲx LX)R"5{%`1՘x@|'X/ھZ(Wۚ8xVƢy!⯷L.%w+rq>ʆ|I+}KQJ4 %doKc%; .뫃<":_Q]]>gl+DppwcLSٛ DSi& 41qU)SO oq [0h]D^ `r.ѽnةeQ4igҌ? zFNUόq!W t}9EӤl7͜p3 ͮ؆w^L`s1 KGvKw`{`mТ2YL,[E1e;FF`Sqzθ]_qbt1+'lGW<ҀU"IXz/ \TY|zO(THWy/]+袠2ֳp3y/Ð\;YpdB![qﲡ4${Og&Qp* St@<7j35E;29w9K#r3w%m G >so_rtH;#pqf'B, 6Dj1t&4VKPGKk h$9`< 8 S"2sGXHXHK( /. F&T ]Km%AWu5qg֜3Cl'Ty]$ʔY`~looT?0'j3Sas-vy1(fY9Ք0i%XZ˗8[TX1WԤŲ8y oyKM̫OP",_Zlǖ?iy*OvX8"}F 71E57)٬D.( @\?)P{NEMY#d}m~RUGq67hFQk54Qex/mk)D^"n Hv.X(B[hBG@CD4B\fwUd0vW-CCl_:D%:!;c35N 5nJvA5Ԕ gBf'$N=F8Q~+ѯҽ}Dq.EzBM8 ::w$L*")/)#LXoU9N預^œ9!|w[tbn۩D0bw*;So<;źӉbgYp2/tdW{1{uz=&7GK煁KT#8Ѣ6^'3z崱4~@S= xS^l0N^wJ')dwXGdYYH="M](UE 8ԣ0T{YR#K婒̅\K;ρ׶*"]h]3H6*?z؊Y M85`wϟے [ۜ uLc4;>>4ٔ{ٗொ7S0r5+&CqRS=U0tdvЌ V"nS^zΩNS]+#DU:‰ (p6<$2IU=I`A}X-)s˜O ە&.b?ep r,8OC 2@Rg9'%8Cڜki?ۼ ƲRnܸϮz"9 zi [HN!i#5Sç}{!.M?;(AV*.j$\H歿I"Y7ZV6LU8Zc+ nl~G|8^3nrs)vTn2TO\oN 6@'SzQv+Δ}\~x!WX_! QsI>_ 6B# ц'2;5zO[\靴d:NrOp3Z2 360a0_H⫖Npq ɣ(qj"ZpA,OGv%>(u#Կ㱞dy:qP:) ݸ&| \{Uㆊ+@Km=ٜܳgju0"3NTw83?CX'VF+B 4ZvĕܔOnpm]%Zzd;]@U"D#-GMj(ӏ֠nىڏߤU4ծKsmay8K>S#ǯM=%4PmwT1o e/* jaʛ͐D(÷xE$kYa )PeZ+9eA>J?-["$Yrʀpܱem,#QV#ӵbzmQтOSF7a1ub5w2{z(h_DjU՜73n&A>.   RSQ_~#&c!6vGAiHrH㍻8ft$E nTTr(jiH}w H76]:d0`uc,:]陂OǸ*b+5@,I`55Z?ݽ끜O=4s9`;h}YnAo"._nJgM"bR]=8 b"xFB$̉&^X锑qяv&R}’7y}] v&Yw/ʡ(SRTBFe) RSfԔDA* /s$UlWA7G*Qc'8 '%/1 !+ -ֈ}Bg LhczI n 3+{Clm/iQ#y`R7'9/5oܒbVs΁iˤl1 ziH-'q5,x)\"n,P-4K!vYJrT\YDsZ9LMT/S W5 {L6C\Ab\b%ze\]"O& gg`m5׀ \,Ҏ\# Tՙٓ 褆udzGBz 8>$zϵqc^.gQ@b"B vd߀cǸ8_~@ E{ၪ""`/Όq2 9!{^DqvW峁9G-HמW꫖bFA!]|cU޳d\YJSzeϊ_T:`"=A~yd )[ǡ6c{4oqKyWc8͛~D?Z <{tcHaD@X4pd&B5lar2^|i3|eJI&A.bP܂1pB`ܙ|I~Pcܴw8MJby :秸 % Z^pA 78 U=%{@N] #4:!kAMn ,:'|Ϗ8;ul};AķIBd$'SsHe}* ltǓ%1ȡϔsmH!OpۛuVKЙGAn4"&C0+M_aY單 >N3u:!B$D68Hˮ;롟;,g;;L~b@ ZWSM^k@ŭnCyxƑj&:4?OHZMEC(1d$@"9@ζPgH% 3nSPg趏{=~ r"%&8FE7:[uuRYt&5,5ۍ#>g.KD[Tf MYpTU!u*) ڍ8I\jփ s 쒃;+?5x4Yshi,3WNΥICg48}ZjHoHm$"+zFEe հf.Cc75饶koi]t}o slv]f`??G:j[ȆQNnIf1-v*, {[+2D#r{J*}(bO6WXL(SW—SenZ@/8@1&7 Јc;!N.POGPFvH u&,,72r,mbh93v,7[j%v ZF>㺟q=@Wߚj;*Q@ah; /Em>u=_Yc^!4;BԁQXm_MzYSdЂ[|aψ? }X_R)#ޡ0[38|X ߸mUT6X{- frpE7@xV +V \3jO$'nnw}aߣd8"DrI-B,|'AC@<;54.RX'1S%dN= |rz)ɔ|l/Q/zE "LEu:vet ;/3Pr鼐~a ]X.^ЗUgxcem|"Β]Bgd$6DYWe@p~M}oFݝ4.(l!2ƒ#?1rh:]IEJbX)7.7}p c Qj:ԫwg#}T?BmZMHcWs:B25++gi?SuǝҞ=yE":'oQGV&4 Ӣ.F1sak1+bOZBB&=D, y!"Ʉ0i]\7z򨗈7p"AQbIJA75 Lf:dy˨vSR W sDiţYr>N@'ZJ7Mw_[:=oqA\]X g9]>rI>{ oū )n|$ddó~VQ `$MHaaQG/8$Vj] PJl/5?ŹjCTA{urVBJ~ٻ+R;$ÌL's&pNRd-d4|:E֦aG4FȓԫvYTR@gn2[Z#fIGI8N^rd5BMka^3%1Pj} dQ!m;Lkj3nm9Kro a+ȱJzu Z9W v$yLY{.|h5O5 FcLH'L0CT! aR38ޑU^ݔ%WKY5m񂭣q}ߟ>Rri}(7 e Ê[Ѷؔ X}m4d/Riz|#i JjMT|.y"^Yc_)sx6Ƿ!e~(ՌGESV+TB~봪Ty:=2кg^WJ t8Mʌ<. V*=ϕ fLGa{L;)|D_<‚~¦Xq>~v2-I ,ºlObl,yz_܅&D+rͶ(7>7)wMސZRmU\냧ܲ&hY5 fTҘD[;̤A] UxZdk$X#%TvQ|9Ny N(Â6RL$@ky]wEóG3r"U2ps Ky8(CT,2í^3r*;`xh>㉈?ԡ^2BYwV&@t:f2?&ՙT;)jfϱNryLWDɒ;]hv!@;ꛯ"956eQƇJȴQ/0Q¯\7lXw)*H< ELNDD ёA8w=bLi!*GzIX`un3Y;sG`~Q(|qA\:$l-B\gׯ^6: ErB Թ:AgxNe =Q>[h3G"im bI9\)'96R印 +"GRWçA^.;\WɃ3bF )^y媯R "CE;FtB BHYl}H&D *!i|.nԣ _Ox^D.k &M `K :ΫIozT =Z[Y`0,1oO>‚MmjH.*Rfn.`մ:΋I4=՛KHoA!,#) Z ;~BǨ9k~']~ c;:%1do)崭./k4:{slu2$1xfʊYϝr m;:#֎khUJ=?JVy)wgpۓ.Y>_a.(vWha,F&Ū)͝o~EhdUN p3}_836$lx{EJBw 0c6[x7ԥKR.^kF rٯendstream endobj 274 0 obj << /Filter /FlateDecode /Length1 1491 /Length2 6782 /Length3 0 /Length 7778 >> stream xڍw4\׮.F7zgNE 3c FѣG^"ZDDN].JtQI]5k͜rsZb`,àHaA @EH "&JaFxB`PWAAH4 BtaP@X ,!#,)D@a*hà`OBqvAw{ vKKKN( B;:0%\H SpV@.#' v $@<0'7N:c}8'~_W_ٿ AA0w8 : n`}A$ A8d#==!n *d5  Ez:*v@ߺﶺBa>P?k'G/)R+ 9q ()% {(_M|N_0p8? o0oZG`v@ Nlt 0-G231S3M2 DāaaiQ$zU7ߨـVԂ:(oiqz0eo :;_U{rr^;/?Z^HDsPs!;B۫'C %B9Ot~Q-ՠ0_3'".! _Btі8_=`o]0$:p!S\ A D  & B?g@@NQ?Fyy[-44˿/ ;Nd#5Ft+Org"^{]-#Nz,|U>7|քπKWƨ{GK^g$`0p`݆FKĠUõ:  DEyS4xH[(ҏ'7)|;+"IS~&"]촖4Cwg.#2_vOv[3:Clx1*MK#Mܮ^Β'!fɯ wlĩ,cYdإ~64"@"ZO[u;yKpVo~1[+Gg Ѹ?+|4R=-ӭjiDp``4I*|\[Gr}%A;6}W E/ƃr.l-p"tSXX4D@'UEB{/VK:W!z<{pSZWwͪ&N,7k&ZEPns^3Tg L<N=h>ڞRG /7&ѬGEI8Aq_GD^kyRX3QPPˌ豬J}󘨓ɚQ I5[K 7WMY`傂ੂ0 G\Vj‹>:5!iG$0i]&zD N%6c3Sr+'-{̳n*B~a:EL8X~iQÃlɇOD&+vٱ,PL9ڸ!w hrr>($PPp MF~Tc{l7,1;&;fLPW| Ka'ٝ9Az.3pO~9soV,zļc jhɝyMd'QkXAD%8}:aa][A?آ֔[ٽLc{B}Ϧ #(dM''|6)[)"`>O6 MCyr[kAq_P5:lf0Bio㍑94$oOtHƈt:ը5܅Nrfle9ߨ,ݷ([MH]Z ' i}J ˻@[R8&' 4>X'U>/%p+\.%&Y:/'*YvpYu-쒢#u ,Gǻ ~#Zǘ;._;$.F0ӵԥjyC]k~xQXC>%\`NupQ>'sFo=[RA'9ёcԔ?J 6^{v豢nNo&L2ajQ i'cߝƭ.ǴioD|o}q{*I?װO8Iv8N??]$SyQ}nZi\v;!nBXs[tiZ|raW71br'K*gp[ ”cja3.- !*n}|~뮍ovv6'_x~VLkV6}^ߙ< YyヹIǷ\ɹӋ.o>VqR P̀0 9޺7&&zˠTY *$A|i1S~|LQ[:;d-x3Pj'P*L$E%0K4a"\+Iih^_K,rHEMYfϷ7t ]7f}wWy (ruFrw/ʣ&M2NRH1Npo:`MJeygh#|EKI.4RW  ޘ.p4X3U_kG^\~ߓ`d^dEqXw/4~kS30ѸTw4[OLy+ śC9n]5?I{U5Mic|6xwU+o͛$/7j`s#pП tpTR&nG.U@_ʶ=z7^e|zySd%&3}iuwX]u^6\^oMw th|` t~!NX:WM!Gh3W'2)YW]߹&Uq垬vEhDi4#j}p&d/7L-;y5;cJwN{V\K<oDK#>h;3 ^U(VHYgZB{aRfDm9ɏ8B|Ruo_>Y>(cv#;L'S Q?%j 'UНR.cG`a f‰ K+ٙ W<;oNU>UO$ ڽmg1s@܃s Bm\ekQ{?q"\Ce}iBroo8Ϫp81>B%h{RɰN$R?OjnJ9tՊA+ޜ.8R"fD=5AIx;hT `I`k\AWӝpo&r#>XbhΚIK+y]"_2w82 4j,qoJR-Tn(k `vL§&1FĬL9~'&*X-YyDRͨi=;W]I7Jk#, 1$SkYҵ&r?|x,@J?B!.\ˁ{dPGxPX )z |e!؉c_6/%,vT1äUv7>Ͽl on_HY+#!Wv(i60WYr:*޽>37A%4(85T~)FդPbcDHKO8JSK6iTXriIs=Lm+~[TK{!J@-%UB 6Mi>nn059qAtO>|"#̆ -xsgӟ~xFV{}#]:/5K,}~ѦRUt>#6xYiaVt5Mxߦ쌷xW98} >S\8'W>A?]?n:L?TćhSNHP(̲Go6fDAN+֧F>.]ڬysd;X!JTik=?0lIVγ=/w柔ɋωUO XRۭ1 9ŽX7D0p8,/2^lta>dT_ؕxVgOxT{l;~vu e1mUkY0j&q:Ek{A2=]B1^u+lJUoy#Lg,QۚX LdAAйPUQW#>:L44ط􉾋q,GRhr]oP#"onOpY=_-߶ˬSk'aAbۺv bK &&֮o|⨄KbƜùaդGRAs#΍nHwCG$VzS y-_0ɲ,H֩,6l!Q!\:kZ6lkc+ @-g|͏OKIb%`gIy7%T1,۠h, 9%?m\FX7/,|[%셗R}ۆUYij9xS"g*bMT"| bJ!乔@Bp:D(SA?S.'qBIu\=Rb$i |K[]px׺> z8=}/! :չR8LHd;-!G-z_K[%.Y%1}m^(J ه,GI0cSY ~! /U K]a.<:0dHLh~CŜ]FSM5rrx 1 qpYHƱ7BԄ1d(~^msbHĤA ]l(Ň0 ϫ}M:["ܡ-WeU5UL:eVRA9G~)/wtiGQNƫ>ڝy+O(.a*=!{@Cd2=!p:5SZBhF5J^e5?g-91T'hT,FXBl5.?yJɤK4a Uz鳰9J5M<"ųS2!6 6cF+dDbno` Iu\Nt=g"ky:u*6~Z`>wrImK(yXgQQCPΐX~mNɮd)}{x^.Ц(iu&6ex>6/O 1SJY${RV!eM0}G낯N%O@5 {M"=^ =/𤻛 \^ <{?#MA +.&iA xMVbBha%썻GzMOk1I5V>UHM50/5+(=SiƲQ)U $55'8WCͰS{Qbc)z-+})Ox~8-n\sv!jn1TK/ *yMiFTk7u܃Q; ys|X WoA2E CdWmJ\ke냋L"Ƿ3r)7l>}4`hG̙6J64 u$I-UTV¥[y8fPG*(kl/4=pCWTcCL+ʖ34Gfpm ;3awТ1}! (X4HlY龨gM97!x!hpSKډ `vaKgX* !6X!8o>ĕEĖ1+EO$yX1@fYNuſVpUNŊL `כ{q$7@)Mi(xE36w))eر;y04y}RW)+6W^gwsoDPh+ޥiUlωczV>CEO9Ry;L 1*ƈYgCX:voo &-_q%7"+A*cm#s՞b x #j&_DKWrl ǢmqoX(endstream endobj 275 0 obj << /Filter /FlateDecode /Length1 1645 /Length2 7893 /Length3 0 /Length 8966 >> stream xڍtTm>%%],H! H .,KHw7( -") JJ~O}g}_3s=D%m). 7@VM[ˇĤ F@@L +,d@br PvPX+" .tԸ0(I#^:X@QQai'lm Y"ANH֖ Bx=,m =exm+Jn7.@ExXA$[H7 @(4A?UP4 7o?-aNΖP/0`  O'jK C[[!VH߁[vFr!2E|dy, EO Y#_݋wY0g[0W 6nS +WNDn>UH|;fj`vjCsij[]9%g})+Oet_m!pFY=5y4Tө E\(ZP.Rcjv;'S[k7WUJ|e`ӵ/0%&DKdl5R;_>`eRna:Imԛܝh5hogl>j=?$%5+AUoçUs@/aRT?\9]o1~ΐ|(N_cezVxs6h~/R8̞d$"/},iVUN,o᫴Nkz4ݫ%:J]ִMP)<}ֈ_4!ɋk|_5O%HcAj VZ]AOoNW2ďe*Ny9s qq|Ϻop mk} WK5BCқ؏ VWJ:}Y$w f[Y1Y1 tUθ %˘I^a[wƖ!P릇s|m])Z&\o6E 2874ځotݣBR2O<pBN6={%6:BOjaU^;1٢Ot{=8|TZ]*.Y$?8\(.vz.Oմ>9%fnՉU>Ѕ tb kgĂJZE-irй9AߴY}'ߙ X&bb}tg㋡/vԒ=/cێHcVg<+&#\\r1%g~Wpec_6`A~ت'TK `\@!>7 *}r'w8%]Xw~ -Wj^5=tks+S6h[(V숳}2]|$Sԙϫ:teB`>Ur>rŸhE{ΨYWr'O&bSP{ [[ JwbфX$egu&-ݒ`BU R qsrg]Ɲ/D"p|u奖/>|IPLS65#Lr^8n!{qS,RQ\QơGCs3ss~lRx@׻|v۵AыK[Db!8g5m a|}mH>y-WEr W-wy#W.3:E`cu<>ȃwUS7nCm}.ݱU^ OpV8ա}/k}Dk2:4{~'/\"|(-;Pe?O`S딢eђ~dDVӚ]I=nc^ ɟnq'֮\WP+b+n3'-$_X_ zm?X,'{5! w]VQ3TѲbE&$ۓzמk+F yZZV<[efg6$a5kbC-_S ̇5Lم|?џ5'Xf~hYA"L&W\P\A gk,V8?+]UK8eʠ7n*e5#nb}e]zX#s!~/䴠F]8| zEQҶ"~dOV"m6º:pMqhFGq%Bf׌uQG4 q)RƮ(mGR{Iooem{|rY%o 39wv(VpWT^[(o'S 30ӣgW\D33~QyX+i -c guU#lź19!/$P9p߼Rϡf@%Ɉ=6| HmL XwDvvv2вޖ{^[fcM;t'Oc]|(8Q4V)i퀶ᨋPb7ܨCH;YR[aslŖO~ aQu&Vz`nM!&g_vyO<|tf-E-j4)}Q,tdC1$5o9o=i #ҀTzgZIctr#WZ!4ɉXЬOO{{ ' :;gf|*a?ŕV%_>D)--/[NL0Hp!6o1+ =[_ul6{Y$;];O7M޿ B) _fJV<̮S)'֜5O۶y2r wUꊫ{QCIj ~jU'LbSKrzay#@nw`jͳ2xBv":~ pNvijUZM vy&1 -pRn@5JЩظNDE^=Z X+Lrǥ1-^y),K隒X}ڸ/NM1F<~acS›ц9:WBL ˄Ʒܮ> 镂d:MTFó5h2@'rgKô^J.5J4rt;y nJ=sΙ&?viӳ[οbkPGG^H?x eQ2ۏiv i͙p,,몏7?`,%RU>CW V-<mbgh]+ctci%,x1 N馕Gt{}&^ا"XUܸg!4>w,QhB7"ϗoGC'^JR1GM'B O9?{de0P?WU4΢rsٕZ&P \$~}Qt"o/lxW:zp.J䃯noΞ9i2I|Oc[a.+ȉv9uې<!ށ@mBU3ck$ 4tEKsX2MKGt1~V FNrP|h֣O3kIMKtT,V7fǤΌeM7b"`a-7}{AZEƨOw߯#+z[,8Qݲ^.R٥1pm~ޑ*p4JP Gq^og(iBg5G;f{_ʞB2bLfM(#6>BVkqlȑP\'Eۧ8KluF]]OV晝ᮛK.őV?A`JzCrٍ586Wn"s5k>~OWtBCZ?0]H|ӫ^洆Gb3V-7+3dCӅ)repP>e=эGF~Żv%w %o: U׶%뼟OXVK#ERMVz✙5=:|o.ֽLEnxfr%gi.0^CW1ӫO973xjK_mX b$E.l3Ҷڻ嗳 V1bQ6}grm ¡Јww5b*CdBb9|) 3) *Xln[`F1^0EL+Ulb=ܤ=kΨu8\%gyȄpz.[CicgN=Tԇ*z<;#?3ٕxs|)u<&Q?ƦXU<1gy^;xFK>E8w찑޾I:d%t…u%Ə% ֊DTI &sd)|r]q9t L|zL <*5R煑VNBO~WdDM|ZFfofxSkzq JB1um"Ձ'ݛX"p pu0׮_RX_-fPFR81K!pkF(*ZcWKR*#A],gOѪW.lUF є&<&,za#= ªU o20=d[DLmȇȗLŹޢ[W%Q[=]h~E`]7}&=ɯvQ1<4H-JPӴ ?FjJ.ij<ѩŝQioIz{c~ugdV4[qW?wJ[#*JAsom ]O*!?cdH{«x/zhq5BP"ޖj7 +b ͕VƎID\3nDI#ś:[=gaF9YX./OrPCh,]e oTޓG% ?/R<[<1endstream endobj 276 0 obj << /Filter /FlateDecode /Length1 1532 /Length2 6942 /Length3 0 /Length 7974 >> stream xڍxT[."t= 00CHt ( ҭ %HIG=|ݻֽk֚yF]9=DGx-3 x,,P$ 7b "CbDavHP@8HDb;"<v>P/@x( =NHT`HLLw8@ ZvHg"0@RK:#||vn^O'in/ ЇxA<} _vn ^ G'`P0 ;@<5M;Y7xA+W"(wpsCNG( QE!vp_v0/* G9޺@YN`b?/'+ ꘕ 77kPOu|5rpv3C=!j `N$@(&,,@<?3߯0Cp; :BPx^v> ^@( 8AxɎ!֨{B@@?OV(9 0n11_1#ڏd|C+0e>˟Lu!zo[x(iaǘ E%;+6U:Ѽ߰oWVPQMSc @\_~3fUJ?-=iKA?Κ cPIaI zI\`f"+Fpm(-YeǍqEs9NOߪɢS$F*˖|t)'e{٨LKa_f-͝s.BćԒ.+xC(Mv@FVc{_4:M#(2y0n ow'I%7sr3F悿\(wdS8_Yz9R L/V` |G#懠m |Qd+NB\ EF샫o-;30-[gV$6ֈ7|[ת&(B $v2~x[ K,r 7pkr':"*ȬxBce g2B TK3f+ +ЎYV>iܪ6^ ﱫȵ:ߑG?@EA%,ėq>sL8aD_wsKϮ]JwJتzhxښ X$G//S⻍F֚/$x}=k@_@T-y߮|~\}Qa l10QRwF]-l<~iP>Ac)9&{YxdICy]׆>UC kyb ܏q]X[8bA V;yMDSEcG/ ӕ_-`j ૹGGbPF-*4hm3X5(_ǧsmױo~YS)i8ҘX,9V)8e(eyЗQuLм0gx~PPн9[Zt5nL5V7]HXwMa׸V1]n,g3"Աu1*C< ʔ0w m3mH;t7Mk2vFQIa*,xu{-~(2aXĬړ"Kѡ%KQ;]nk.{Pܫ/}jy0Ec=s Ыf]8MrҬks&/ Tz"13JRCnd sD; K{c%c5SѤ _= k20޹ƱqFpf7N`r6^ 6z@"W*?ixK/i J/@ŮUU\>T*/Ǟ:3p$b᜵4Cc+tc }bv.\trN}u{Kl g9.'5v$/iZ+Bo,JOĽ$.2~b-(-!W!})=AR?sQgzttwrž'onqq9=~#R/D0&w1zY۔5OK»˧\NC36 ,D篵ǡ2B𝩩zu?lιG#e3CڜM?b>S*nHv{b%yUkC$$pU|4 T>gg3@t()&8ɓG߭>3(>Ģ}"OM({BTDM{RN<ѭ<M zPƑhW%/6߶/vh;“pkl6[VҦo2 _Fda&?TwwM&K+)-R7tj-xmۙl%_Kyvl-VKܡi){:z]e;LYXLrr>;Mgh v-_U=Xi9褣A+ԟ>9 9*3 figX8UisvK $ec {wQՁ*PĀ#*lW 5ط6 $mJii55Dx 6׎\)n h5k{5zPxuO]]'?.5w*3 Ϲ5f"TL#3USR_vWVk*1r4Dx}:#ܗs[#i8 B?T<֍1'Egų%5>R9/ZGPT峵B, X|(9̳Cg Rg>:ƍ7yb]}nlϸlay D'Z!OszȨ 2Azh̊DdY6K&A [=Oo7Nb X̕ulSȃBzdJcXabmғpj2dl#q Eɧ*PWo%]裦lᯎJ){%^}^D8,y}  yHC%s f@.ƥ$R/8`u/₎%>TOУ2/o|d99JOEe&]tOk8=X=JQm|S}Z#@\j[&bҎ-sdts"ʨҾ GsxC3q΅f !W۴,!8h~A^^~%$Xce̅'DqL9𘘓&b?`k*\z`eZ݌U1jN2YoM}u;* K3Iݎ8?湪x*neߖt=5;u\MR!SFϷ}/O)hRe]JܺJ)bS)Mz,*Yh;5b!x8 ǤeD풰ZwvK6Ё)=(yX'6a aW =:8To؝d}KsF{-Bǃ[ TZ󙮥mハm˰u(p}yw,'Rg1!%Y,}[Hd),鞓Mo)~}B80D_^~%[8ǡs{sw 3SvH9w`ce_sٗ8fsx[tt6e=wLY1(cP ˳? hVTft/ݳU E[@F6o$ip.c]zeu%&ol%H5WBW)5O1zO `.d**4Xx4,ElظPހOHiQ"8󄪃?6Zj|xDԣg,\b*ES'{;/^ecuy~~,`Oj_4ANۓ=n9!ڪr\_̏wq9kVv^| HH!_0^ 7ˀk~5n(p˳SzstkA lӶ C$%4uqm Rn3(oU{̑O+{"#Uݫ)zC- P|se"g{`lԖO1|%S΁#D˰4Q5ZgH'|hC M'vrlR's{P՛&N쀘e$Tg6&j*>pFТN@ %Y {BX`+o4QI؝95M_hA"k*mʉr7KPXvmugovז惝.Dz{4OiͣƣڵZnrC~fVu*tBD1V97I"# }΅?q ߡi'˫.0÷=PoG?ш A6cW%'垭P Y;,|sSw+rj!ocTA붯UmlCjcdm[`LP|E]>̜a~"VT|AZ]g*! _H/ X?hna3Lw60G[_R(b.O#e98cU>d^ye8¦bw*y+_re&Fi$JXuY 섲)aBJ dMjY"/ߊ5(aezܹcH#`p#}t{³ǜ $])lZ9Tiށ8GX"?%}wלtϰ;O?ejqڝ{\008JB׻3\C^ɈF>'مܨKHʙ%9ϊZ2rր91a5jJ%\LɔL+> FQ^FbbxW̰h=OzDvCkwNu :k e*ClYprrZdr6d֫ókTkrqi9 hNȊ/IoҌj{]ƞ֐TWVP7(8h}{豯⾨ M@k.V;33l7+0UJ(sc 3ϩJfGc<{$A^A@p7)2LQlp~'-<|"r吙m? ulE POguGYDѾ[%Gg..J+1ў`[bf~@d{UO;6)Hi!gmendstream endobj 277 0 obj << /Filter /FlateDecode /Length1 1547 /Length2 7104 /Length3 0 /Length 8150 >> stream xڍwP[-] M:JBKZ" wt(E.D@z;sd&yz^Y~',HZ@X$Tջo!DA 1 pp3yzA` 8p>+ C^'[x_KCql‚+W"8w0 EC~p D/G+ xC{Cw ,衠pw4JwEQW)#Tnn0?5' =v??uA }-_$܅Lp/_.X %$Ĥ0 ,+;Qet:bI0 ў^m , tC@{Ov, s6 ~}yp YZiaME ŁR@IIi`пs@mZG$P/Yp52<Wj@ (K{~t+K^ܿw+e/4v,@(^nmBC㡌pJ\@XL$}ap4n+3@nl_6A] ۰&v]WE:>q aE&UA0vL` D  c VQQ6 YXGG`. C<#oPr(t#Pb@!}rWa'*~ =׿LO ^G6T)3|"%.٢;V97u ͧ (휺dӿr}VH:#G0y7"lrd?Ym(ag_S2eQK Q=#׏ {@c@|!qfέݞ" rR[Bx"4Te9^c^%oG0(ŖH>]NS_,{ ^!LGrH.21 ˒9ӄp7uhCk<ϟ{B+V4\\*z*mSmͭjހ&ֵ S~[?FhlEoп ӧG4j,RkY EH> EnuY[Py^OJQM?e)^qWJ$n2ŏ;(9uNq $_Vu3Ŷ$56e 䘵cPWcfgؘDv#mgO .yu=]FK)ѝG)7<<2gh,;m-2\:YDRaSt)Dt?,@=%Yz#JF6=~ u:ʋ/%M>~NSI=&#Sc:_*dBfɍfI`U[Rgup4fhPG],KC5i|9 [XN7: cyÙuzKYD8]/`8gM ˟׎&+A/ƪ-vQLT(L]Z@.յn*9I`}.1$֧ة)$=hFB XL-eܦNăྺaC裴" 2IihzyDlͬndX4fUo!t/]y#ߧHn*F P~VRHQATUOV93mh}rn|auFqPw򖣜%YYXf4=ב!9igf)-y|0QLːi;$4 >*}{uȞVf1ý1]-bAGxF+>ovvsx]m[L;'jcdJߔqr&|0M+<ߣxvFCS.1uS[LimUu;bɇU!fD$`FE,J)K6qyDzkDWśZxo~Ɖ\fL; ,ڡi]ButSay|MWz.B_r*K*d-wxEEǩGkmt`vQQs˜1t$EVl-8m.;i^+Q@Y F?ܛ!5 Ki-ocZnhd+G~攗ECX˾>0X>cȓb 1kmm:qRUw2UP8XZwH3':[ds5Zl${_}*\} 1Ml`٧ +;CN/ -m b\癐/0r 8Z3ᘒ@b E^L@saRhq5b)K<aRkY!i,?&B[OcV kگ5'[bs CI)*\ ldDOjz f QJU&gMz.T;9zPdS现Z_e3iY+Cjdo}]Iu4NRcY)6xZNJ-{復N5E|5SQP..Xאа2Gl9qq7WKb"̓si]y:?q> 3X e2hЫΆEF}Q.J[j2tl鸏Idy*}캱%A&ӝ/Womx˫X}i-;ㇸ_'KhU?lD(?#Iqz5C} M=+զ-Y',^ޯPiTci >P' ga8'"@nh9T,cdI/oD{F3Ũlig*e'6=v!2^(Ļ桌&p@yEu:ޜS~c]hA#kӼlÛ$:__lh3q`\V VJDZ,gdB3j>>,&ިbf8JnW̎K>6t[@usbGĬlqgH=Nit H-12CE?q*v]ƑSxnyjy4~O:~\ \lTIj *fPP+&_zLJK}(0ك9Vb8# ?)u8pxFc^8{yyd20闙$p+S90*m[2C0}ذp0RZD|PM@5idwLZω& h7U?^N^u?G $bZnhp7}sit @{=}\6$YmAx^Q U$EIYL6wto?[nǫ4K[?N Vٲ$?͂9{6owkǬ+߫Û֫OTe]ҫ,U50_̆}}z3\Iň621w]A{cpMMAi@Zu/j\D@;K?ѹS}Ĝ Ǻ3$$\=3ݣx8l%Z:i=&^(: g#B=a~?TĦtXIHJiU )!v T/@AThZs?]ƢKLM "O*h jjܢV.;LvR XX*Zg]zt;EkLDIqo˼T䥛"Dѫ3[ IO=wQѧA߰1sN}ymu,*qǵ>獫ҔRl4F"&:s/Fc*;O' QT7*˞ ,n*lD WihI.9#0WZyKӽm%hS&uG?}G~wn=?kkN"qfH] ,7Ӟ ߿VCtfKF8py%O-P{6HZ⧸H+5q0VIp+!b8c'SA~fe^?ɟ8dsZəlz*B&u<便&5CX>yOPJ6677x {AK9VbMa Y;"S() ]%"&9' ,|C>lonƆLO0_L0qE)(;ǿnIwGO I5{""JͬȀm= Mt̒2j*B RmgOxI'u>D[n7㌮G4μ%F$|jGMk(|LQ,h'2&ΰ`ʘaB,Ww8k[Uˎ+7f&m?~Pܿ5[лG. Ŀnw.1avm䛅]ϻe)x;zkM>cI[].cy*OHb?Htf'${jq2 %^WqDH֓42ĥ!f3]/ȩ ]qo6sF֍p}1xBvywLS&|JN2UԎ@?Cyxq% &N~j F.p[@L~uWs"hDwHIɞAwzyQU{}XmͭX!$]Wxb /dY!{عwyh:֢j7xF_3 \KysB5Y,u05MY*b'-ol2oE014yJiJ|40틨,'1~8UgHBVIH~ 7LF뢺\ZMBvͻr2y> i׻m 7pg#Ymm2yTgzkݸ}],$8? yBF,\"d%{U[i:'e@UMAl8} /k7)]qfA: `0">),CbqׂK_M̖g+كٔRFrDG4N??0;e2(/Sk ]ע\ hhp&5u)D˳}6g;_O퍆:#15yy h#7ѕwq}4BV1q4_u1pu+XϤ3rbLVT?L<'[!v?CEQO>GWq12:u0ϊ1&KȳK3(9Uήm0CLP69vg^+CFp>-qN{AFoU5ԡހN%^x~zz{Jܨ0lu-#LCΗ5*Cc|L}MWS֋|vdzXXm揟vjw}.uƐ?rYtUB,a+Ro;&|öHn3ɽ:"w}G@D[Ӭͅ?J9,{+uF?Y=4%f$#ts΢){1nH\YI'uzE+J#`iΣI}ez_Bb\Ls{zcr_Yy3HǓHa]^X`ձrI܄~ʬZ=P݁ 4FMLܒ GTi*<^I,"*$0L0$rWEKUܧX ?T]h:Ha0ݕA^1.0ܹwtVwx1VH`18ҺQXdK>ʈȼ2"N9YHեBϖ"f( =丳s\Z%pL/LUtGXN3xHd@;Y@U GfgnzԃY 4nUTj#BI|jW1&zDRVz|Z $(R1ƶގL{>?zOnk endstream endobj 278 0 obj << /Filter /FlateDecode /Length1 1328 /Length2 1345 /Length3 0 /Length 2190 >> stream xڍS 8T?q:9=Eryyk<ƻ4HJec63{=$t*RJ]UR$B$H(p*3={=Zo/2e@)B^vtјA26Fp_㜰516Ǔ7v&ckFHQȺYM϶f$[j*(,l7Z7mkv&{Gѿalގl~)p^VkqaEG&%YK‚W,͵c74,_Y&uէOϚLB2 u%nݶ^ԁzC1%q@Y ?C/]{yIp!:=İ^?W We mYlDyݶԳgTiq H{kt{,؞^q(0{%&CigPYڞyc>ӵ)8G}p^φ5͑- oYٛ4I!M }gڮT6ݺjS}Ddo( ı9?g5n}=,O C:d$M?~VFa/k(UeJ [O{Woh=ΐ^dv*(Cpj=o=vt"Vw66wfe*NJ[\,aLԴ'#SWoTh$=h Ѝ|]I\%3H:xץCM89qpoL/S~qnK&D^ʀM_?t>{ s6c5%U35˶1M\[By] &:Oꭷe8N6>_z*?z%-4/W1/wio&v7ZCR_of$fsWhv2YC+]`79ƕu┞Θ׊GNctwu5\`L?zS=]3uVN+rfw-)Xlha θϚikj*p C3H`tMK뻾qigѻȫ|S'Of9mʫGa׻öY=/ᒯ$[y.hy<Ƴ]>i=h-Q,!~j&?PsGQҕK>@mikSQoݎ[``endstream endobj 279 0 obj << /Type /ObjStm /Length 2119 /Filter /FlateDecode /N 88 /First 768 >> stream xYnF}&)־A 2n3-%e#QAsKEJ%73 uֹKm*& bӧfJ7~-阶 Ot xt#\d?Q2 **E͜Gh-cDǂ~k , gd` !XD_ :EfZSeR=QċgRKR4 F-k @P4;2YBӠ0FTBsA4GHhEw ب~Fwr34&V` װ_ब&h֖" ECG4a3WDkvqʣi\n{Ly)FpU] b,B}6*Vi<0Qc,WD[۪s&Asfj,|hPޕ_K@&!\nZVHR(GhaEPNN) +-k3ZiV KH95cBr&C\2gJI76+`M|=㴕zk0,&7@-V6"1F̑rĹNĬb%dqj&ry05Xt(/)!>Ld}Y8u$0-/.L^d.M <I}-oPdvOf⑸fr-trlJ6U̩Rt0sli8/̎'\,tCDV雠 W&DЍN⟁+89/JSBY q 8yp.ɞ|Et MwOx<ĎRQ13 ôRBW<\/dGpptߤK)؇T17i8#YNrS<YsFBpܑ,&˛ϵJcvYua˭7/'ަzVzQcҦ]ۺw"PtY6-3/5ݻJ}ML5I~lۮYWs]zspxkx_zS}l-x]Wvl^p[MgZvR[ISGu"=nr]AULs_ڕUn2UڼU.or7[fjf=}wU&y +~;4ww鱁eʥASjj"̖IT79yzJfEry4j_/mڬnnq}z\T!jǁZ6U.H]ڀN_eDH-zW@0 yn%]#*ngۇʭ' MZo橷N.R-It rz0t2j@̏y# ŃI-F-.r}j91ߵO˜qZ6V=h{=ydN탉q'Hx!u#AmR+Gt_*@FaU_2dlvvM׮Wp) T=uS1H1NjUٟ)/E8PE)C> stream xXێ6}Wq] Zrx )Il^m6Bd{a %ۺPu R]R?n hZ(o7ݳũ4^2qZۇc|*y]5!d{t!3iǹ1V2 |u98+P8]Sپ (heW,%K:%k_"ix?\ҺspWָpu}[fJE%]*|5g{dE$j= ˸{ > 3`!,3ɠ]W-kI/I$`]%@u;|o}l}~{ 6"> dz2粁)+3 wtG65"t`'M'B@ⶎ0ˆî:Э6F$0E4Ĕu}ILB?ձG4>Z(;@hӗp/գ}S-y&~j叁vTendstream endobj 455 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 456 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 457 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 458 0 obj << /Filter /FlateDecode /Length 1395 >> stream xXKoFWT>]2E 4 EQ4|qs%9,$q}gfgCRc q}X$T@r9CgB('l\zRflheKFOBʠެTbW3DVH~ƬQM yD\,rѰ>"*='hr6t}}vs2}\Z쾾H$\6wo> stream xZ[F~82BHRVHx]{8~glg\s\f|wƶ^$ED!RKrԓu\TBY4H`#R˚b¸PRcĩ# C̆35T0lĨQd&%6Fu#g}WlmŻr0Q %$1 l8+e7[ԅ*մ6)iRg@d5D`7xE! `p7;.@#$eQr|rwE],t/2x~x% N+4  pƇ$; >0/L b4ao3g/Jb2E-n AJۚ/MQٸm:ۦZoyAϑcNU㢜ڦjv&ԷhR{j4IH3}Y7b}+ 3;|@M2mp %U,{ADfH 0$99p&dVbU|])O| [|}je l|/Ό BEs~l'mq K6UmnR._~OgvYU@^ ,E!Mm=<$G"`5+zW! N}m YH[lH7nIVlA#aae7:% GocIa7=?#ow%dUInWcmap[b S# 0Yib=u=^F?u-{H!nԶ/Hz?$mA)b()}8L=+ֳ|?\-r:8*&R;uo!jED~'! AY7B~7-[sUvPiR26dTmh얌 !ٺ>x!j{c h)$bՄ:}]W>(˧M?U݊޴wUG I_zcisendstream endobj 548 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-044.pdf) /PTEX.InfoDict 131 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 134 0 R >> /ExtGState << >> /Font << /F2 132 0 R /F6 133 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 947 >> stream xVMo]E _eMH@*y@ U5J9}\u4'$;H8F\5NJIЇ囇%p?o_KO˯SE%-K.FbA~)UHD*_jܨUԄ%S :*#̱I,B S:,C5NoؐRS)Eͭb# pJܔ<Y9M]FKDL[W$ zv-r6AX3IED6.W]CU9qqUH BB8PVcv)k2RQh ӌ 5gWSkQEKcvzwǫ~6CO }BWBfuD= ` 4j4աit= egLYRŅ1t=zfWi>ΞqO>f7޸7>9۷026,kW@]4[fnKW|9G羬W| ɗa ozOUDܸ"^~iZg[w pqqЮpo>Wbr%(Wz]⾟qpʥ/sG\l_,+[ӂPբ?U'r/nY5j;rendstream endobj 549 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-045.pdf) /PTEX.InfoDict 136 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 139 0 R >> /ExtGState << >> /Font << /F2 137 0 R /F6 138 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 881 >> stream xVnG Wh4~^% $Ers`p"wwښ&M$TL8gܔt .JIч击_^\Ւ8D˟o+iy;%^^s?@?-MYnY/=s$sCX* (q$x"$IieDjFpkոdRg\ac -GZ 88sw(6Nl!9q( [܋D5lk z3OL-=p$W׫dwQrw帅awFs #kc-)yधx"MZ6:of -AiXPp?~sOCOaK4dkv?H0FS]1k&| [5S%N~z"_kT)1u{$;cgޢN+Btes'+<c)nma3ܽHzCCkc~7ݬF̊q's`/p}.fA5(vj5ᢓ^zO[G-}Y[VmyԾy;h)~eʹhM^ʷv!ӶӲc Z]Nv_j+$&endstream endobj 550 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-046.pdf) /PTEX.InfoDict 141 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 144 0 R >> /ExtGState << >> /Font << /F2 142 0 R /F6 143 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 885 >> stream xVMo\U ݿ_e6 Ud `PJ%HyZSc_'>P25ɲrS1(;Do)%~\_[ϿRE5҄UaiUHss3A҅Wxl\3 \ ()Y27NK#x,5.-^K"eFrOBS*xU 5t;*wJZa_bwMQHl#?ϝ$СdV \DAU(xq)dl:n#҈xjBEC`)f4WWR eyJZʀWpen=eȩ ^Fp =5Ŕ9G*!b BO pR Z3^ʘ ͆2c\OErz*FyJ]Ju=U\ Y#~jT>\OEZ{eg} +VxO7O+Dt밳}³=rM' 7a~O NW-70:kīa~LYnK:-_toЖݟ9JuƘ`2`ن1;s '4M_j]|pcF~'gZ' vK+gB'9ghIJ{>'6_Ad:RòujL+{wlÃ&3}?,Up.ss6xx./牿KxW?UjsU㙓{89jhN]⑳[G.}[&<3jry;iLJ~2rnߜk)ێJx 9ܭWWK(endstream endobj 551 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-047.pdf) /PTEX.InfoDict 146 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 149 0 R >> /ExtGState << >> /Font << /F2 147 0 R /F6 148 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 839 >> stream xOoI )|lkݕ@{X%H<KZ2߸_UBOH>M)S3Ι,+7%w>No_uFS^?ïЗߔrzIz:5fdU7Zg8wz:H5q!,k&݀2qu`2HRԝF| L}&GCFJrU.zcbXKᡁHU)m>&JGxIΖ< 1&alRתd_D=H}^{pZsr󀑆GDuUhq&fr`a5 gú#FJa݀ۑ$58[47ְ,36X5uð-=68W=X QA}-~зaY-:ʟtxO揙G{`jcXJ9VUU8!;NDW[F!u^s!g2|ሻw%1P[|-LƏfZ5{Õ(,A /μҴ[mhyِm[fhJKhh{b)㷋Fpgn'{/^G+>R>:sĥj5)w n-2mvZrG_oNZ*eʶiq6R~5sqNVmx?WסS+5 endstream endobj 552 0 obj << /Filter /FlateDecode /Length 1759 >> stream xڭXIoFWV Ɯ@/]@M搴-QK-(ͿۆLiR"9ۛo7NMDI(g}zpr9~' eqяoƌvJ'.,oҲKi >r|TbaIRU8N#")tXG>QyExs-Vf6#<&.͝g(<^ع$󛚧6{ +<4c ?};A%RkMR,KI!IY:#5=jYS((`)h;~%Sspo:S/t\*0 .38wnUư7Igsߞ ;ij( ٜ׽r[@9QҳCYYdFd0TY‘LzV-ahPP-7k0Zī:Y!;dh -!; ~]TtľϷ# CsDY ҙ*.:XפIDPǣK/5vo+F(ޤ=1Dt غ}q(#KB6; t,CO=恶L@Sw m.7a@,Y l |c(Dd"5@EGL#ZZFVX x.0+/$:NNR{hcP5 l/cҳ8W*P(as3N]8 X20.pSZ\xղ‘p={7eO;j> 6q%5aj[Itq 5=p8ާ@0=Wը 8A9N(Q=rD>Nθ$} dSeTJFDᛔ2pHn'?r=L|;`Ƽ"xL4=Khlb$>OWi}Y G^A}zˡS ohkN[I\mL熋|I㷖KD_"TV暯>%V6LؙcG|,ԸL\E_SzBǼߨvWd`@Ѵ cϥd.^?gip iQjP*PNzfӋhq>= gs"4UD N_ MSx Yw \#=8Z8kIhe at 3_U=`x*A`tC0GE ebzpzpy; u;Q'@U[5$7\r;/ Ϩ/0p=s<;Ob4տp`endstream endobj 553 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 554 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 555 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 556 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 557 0 obj << /Filter /FlateDecode /Length 3243 >> stream xZmo_].7@?؎zIz=9 $(hIU["Q wfvo"\QE\3<3hp7o΢죁4T֦_};N=@ +q0>{8"}W([8Ta%cb T|(I?sؖp$"ol|iUgWMlisda]6r“` '~EIA. $h2E8 Z:"xtyxn CBCܵlSK$I((wү7ضYKQ4hN ր晏o? wzJ~F"NK'ۂ'9NގKқ>W^)(2{to|l'p/UwRڗ*dmN֚nis:UPҩ~v&[rXypuf`G-QG|=Y7_ b+G9Z!:Lux=LŢ?S^'QM(Sn=G5U Fd)3Lzi'AzmPaI5HXtMH T3t>gK {"̽)`H\l8HubkǏp`$zhW)@h;WDCorm;bNcIa<OeO s]0flpFK*D7@HLswu؈p2l3)"~oQոDO=#.K ۿs+=ق-QIWrJT;6c] 5| #)BcvzxW\^O15k{pe(aQZESiQ& F ZB)!( uwǡ݁TNI-E ==æf B.pY~>$]lkLC_yPT*VW[@{رq_TzI34b}"oAJtpm D* F& $RT8,L4۲8x|> T;F'7@Ts#~ ʦq=RϾWӁbeH/ҌM|"2Lt-Mt7s8J2`x.kfPHW2Bȟ:c¡Mzh7r!{͞n$_gv(9Nnhd2B[α\6QQd x㶊2o g5IS]mCV 7!!q|+>}|#Qݲ>B iE6id*12)CLRG*\hoVR+-Uեf:9ZZwU(vͺ6Lm 6TwG鬘 q&2Rҙw#y8ŬhtYN5*@Qa1Xaˑnǔ D{~)VV"xSm ?wuzZGMkt.cмby Tzg2_(yƏY,6?MXmRwa Ozu)lчiWEV1K~86s(C6gߙRb_IB tgYvvW%G"zjIV2 !9@vbBM2}Z%!2Z u͓㺵n?X "IZZY2䥮 ] X1L#mN}Vq(3i񋰑3Z\dG {HguN9%AmɡoPy^8|[6Phr[;$H8~[$ɂJ։Q@&̀ix1RWp2w%8>^a:zP 3]݆\v88؅F+pT">*3޸UtиkHeٸ>zu >YjQ,3{y'gth bĎxd֫@餮+Z/Q:&*Se6T h m7HFJEy8fpy-JAjbnHknk/Ee^rfLYŽ?8ha>ek VB; 7ՅDV& %M6Q~Q?}IP$nBj*jj%6ShN5pUߍG~݈?<=/V<K~M?TZ!R3ߔL( * aP'Z{$g΅%Aq*E/Qǣ %XI:caL cpfq?8qt\.}˪57DgPD/g4aSsKG\PfTCB;zh<,d\uZj3g0VvOA%U_Ԥ'GZBۿZ7`Xڪֻx;/{uB abe}fIФ>V /R/wuvW0l}MX;̷D\@ cxyOgwX:nJpRȐ&M˟WWW.SڅhV2sKV{@$$M1Z?7b[ {7QOD!-W06ˆIGnGS&:D`sQ_f wVgVp)Yyn \9奯Wۢ ;5[`[ jsl_B3fT"t{ءCbbWgc0Oendstream endobj 558 0 obj << /Filter /FlateDecode /Length 3519 >> stream xZKsW𔂪L *Y]{]vR zD鐔]ZkPdR@r8/ gը}}{{FȫRˑ/P#mMF˾?R ||Gcg8?۪NJP~Û09JW z-tfܽ,aY.vh](V ,b/\}力MO of8N9 6/tٚmkyH1>G |XY+]BV.Jfz\Vo?sBr[ٸ'g}V#=DH{nWfhlǬh`|WctrWǿ*r ȝҏVnyi ײ!|7A >Qo\>Oe\Jf>Rqd{O*yih 4ZtC}3]a{9^KH|VOu@?^DSk >e6u!Ea52L*&՝ ~D hi޲J} .Ǭ١D7F/=KW`Az;5Q_q+lqUw"G yf)ׯB$__k';F%}u Yo#B8(X@{ʵ3`TU^V NA(9I>b"2Velʥkܓ]Yn` h >od):;(T>*`)"k@?a_ vhSaP7ݔ/( A dt̀2FQe?Mũ'dSz+QLZ?9,zFipHu[l%U>\*AϺ!K]N?Ua)YE)u^ܧ ȌK,wINf"RcAYԔjVD%*Ҿt4HNH\0%r(I1vU |cHPV_#v)o8VJJ2O)KƠ\l躢m^{Bl4a o mǖD ~I݄eLF8#c ez6 c} #\5;E[nG2sሲbڐ^JxAP)q?[b ^T׫>LTk-|b 5 JMj}@iHL ta4h+Y+fNgCՁqdt߰a1Z՛!S?_jZ$H>%5NRgIjgH O|Nw%G `q>Ӿ9N \`#w)&*j;-B^4ii7K> TQ=)/P! A&7\4ݶ0Oآ_Ƣ x";{{/5xL }}J#϶Rl)0#CX g[TW]te&$f]`rm/@071=iTBX:x:CIy2({& P9YnS({3]h;fIJMٗ tdM$!N1^"rņ;.{BtςR6d@ED8O>m!@hHR!]3 DCT,Ni,1tEL*x M0kB4a-LBǨ0"BFpߜ}X𯛔c*BGE m2r%F?3>mD= v0Q* KzZ-W6.@ᵋEV+H>ʆ?CvX;XCjQEC1i \6wN @5Tcw .y*b C殓WL]B:,,yWxрj^K$ǝh)~GFw {k x'ɖ-PkNخc)ĥ!$X1-^/(0ZH&3Ay9€St'Q,y`̚]:8n(w/{l PJ ke埇(N%895D2\q(5Z[9F7D baW`B6 <\\&y\{)OW L-Li1kB.L04D<|jwx&Dr[wh. =0}A"[%z^9SǞ̀s&>zBr:^j{c0}V2)a1Ҿs4S)tث(X&C8isz_wendstream endobj 559 0 obj << /Filter /FlateDecode /Length 1137 >> stream xڍVێ6}߯У  qd. hP}Pl?ߙЖl9ciHΜsfH|W~K,T2&^<&OFK۴ZOz*}{0& ?}ȸ5< ?VS_;HfH*[S40v0h,a9զt9q˵̝PR k!9W>! ßZ>?m J6kEn-Z8uB F!io>T=y怽bhC2mH!N+ $1=.,*;.T 3Ɖ>8`? :n[/C>7L v az~A`Q>+Y!"W׆*˅TyLq؅B! T5A=լ}?GP6 $kӇ傌u#~3xscsfy500x`>P{ǜ͚J>lx[/uu_K(Ģr`yNgT:3VIV?4`"e)(tɥ 3h5\o>J>1.wU3:l~.ik.3><~BMN>SckamvL6z !BW;*J~{m0iInwNZNL#Lg hU+Yz ]S#_"ߩZ_CvџP?;ܪ3 dLR  I $ ܗ1 @R5#*,X2]ܩSyF +CQru>8 /EjcWQDA_7\WҴ:JISqpg&':9EtLp;H[DDW] ᄲ2(X/i(1gBc>8Ͼ"dH z5dsu^ֱtp>gkvvd]##y>\܄<܄Q kP 5? S:*Cمl8 rA[ PnOܸrƎO])[$XO!vJz{'\tr18kryt?endstream endobj 560 0 obj << /Filter /FlateDecode /Length1 1625 /Length2 9809 /Length3 0 /Length 10873 >> stream xڍP\.;ŋCp)n@VHq +Vkqwwzy{?{'3g=k'tTZV` !VpppqppiAAtA7;0! B_`g#'/ =l%3 N hg Y@-%%A-"trcClĘXvP[& YHt@/ /% Dh)޺"E`]'?Ñ@KK `mSazAY@g?@G7=hx!yu @NR|,!v.P767;?rdKeNN g,_ws>휭H݅](7B7fx988 WҖ.?/9]/iA/?h>n@ q%4NN%`sFde8|9L?[̮'QJI>|V.^''~U}l Kߓ0;eA1/i7xHO=_d7eݡ/ ~Zh) tqvnrv^ +u;_C.8wsxp{9KGW@/+!e-VK߁//eI@^6 }1$C(?]O_pح^Cxx./?/7GO 9;oWx OF=يnX}NƿѽG,vO>'W_6kr=s'7🅰(rJ:*WXwr#ӁӸ?"5vE|Qn2Ŗ`66L&)p#C^(lhi\IGwO~UZUGt]0ޣr)ĭUi/1tA- P9@]4"QFV08Aid+qɺu4賁|w;JʩknL( 7AyݖwQF6Y2wevsj0*S Sc*H.͈Q|& x 3oE8򢷣aJmsjQP=r1"M '4;ꔑ 7(\yYpR3ndvŜ ҶFc. ilj9[wS9P(8Uqh~R9yjiq Y={l2S_lM>|sWKjf¡C:=H^8J& ay vݯtqt<-W\E- %&!v_/7u9;sX9/|66#1z#EsMqMj ;n"TS%v:7kdVkRq2]^AͯM~܇O+]L{&@ygħZ@Su{':=곑[96zK%x!>*S ' j` !MU-nVN~/R3*EMJ`^]74e+F ~k3eQY&=lP&Rԓ$Nǂ"?p6V׾+T"QR2UK2 ?v[ac,ܻIk,'Mn:R$-1Z0)&1 zE,K{OF(iI+|Q-CNtP-;L~wH21`A_! 04+浘v!0t70@К&T}.7(Æ)-ݲƝ7/].XNu$h54U%JSOm̆}iw7~f^\|a '{ߞH{b-VyD΃E'g!{𛭼R#$8;P{~tewE!,k↧$5ե.6>.zDMK:Ԁ3*W(2NN{#I4<y޵䙽q 8 0dX 9aٺXh+=驐h7"+V"mj*[3hp6T:fz#OY(`>uX(([#yQ)Qn͕ee9!z[D"JcxkHZob,^ȗlȷ+ /lJ[o ݟZڶ@+e@MHc%d&$D+[c/X1bo5Pv38W ežJB[N^WrsQjR 9cM3b*pq\V3 'y˜лf? XTN}޲fQp)=thh毿C@hLCfeMITfWIɅbQr!jū2VS:ָW]mFF1O:<ѱ9HMI!_lZ)mW0uH;Zm#?,1Nevfs׼/(fխf~Kd44bf,).QOIVUl1_sr< y {c&rIj(ԸMb&h/fTI :r)c:3>>.@|(l([fHUgf Ypg>iq HI6<@P@rPBWiv'Iv QS"X=Op;\3MuQ,"D6FoRA%KnM?}B"&U->|V=#Gi 9v[m[2o~NH}!K#˱ )O@Ov7p> lwɡcQzy&ԿG>修ٛdBdO|C,/ad֠/?e,cþ{-{<|]%dOft_DuY7 ,j(r RfKțEx4;h6/\vTyc-e )Fvǚ8I 9 N'[!9o&9dAJU9\z!_g$V0ݐ0 1ԡUk >8BAwZ.sH:w{KǶ̡݃Gy0`WYy$[$%/gt.Hm/}:"QϮX8B* X(p|\=,%ZD%{h!:)V19ZN˜zdS-8q|F%*3NoK(r)bgs Q 9V[4QݤЃNQOc_ nx/n˫fc4P1`y9\V`KٮPs7lLH@@%v{ c k\|FA}aPn^[ܑeM 9דa7=anq,oTulSϽ,O+|^ .C䲻hy'6 {*Í8 mw3SLkWx;u(\0p~L;WEpjnNC(Q]=Ks6wUEdO֟;\# /Dw@lVtbW}<3c1b#{XJ)K"߾VLҘ a6Ʈ̃q7lTu≿y \gXI _PwU ,1K"/z2 rmÂkT<'A;/W=yɮt,Cj3hi$|Ҟ -YMt=?rv.t8H(Svj/WK4]沴o7s8P{x'S- @LSSi^ JzN_]Azx⳽D/Orχan~O?攋3/,]L3D:$6:3>7mqeӥ 򫍜ҾO0ꌂsR!xy8eBydalͮѼr74ICepȝumpw vCp:*`Oa7J2LzV{z,koJe2Tm27["D} Dlٻc {M #`BK⯺oRi~RkiY+#^ealxU6Z>֊fSK9-D<>vU7r\-miϕX1,`5=y f:BԍƿajtkF009΍o@S5w'a}tUj?;6,s3'"݇u|IkfϿgNɯkZ'N4d[sLXao6/=yF:etF۝> EB^AbAÇu^g e'|:42;uYJW1`nhSXORDqwh5ߵxޞ N -|n~ <^ {k,ߌ=6lUco"S2وw\t-\ (ڲטX2W2[kwvcTXrYFg*̙lÞr]_7O~PJܿX᥯KF^™^C/Q\xE,^A>w3OZ\7r8ҪS9>el3CsAdp>4aVIsɛ|'.0>&r.=l9eF1⹰G&Jl+뽒 {o$5qNRF=8s{^F)SVG%YEI_8O г^^UJ:tq0~bܴHH8{$2ޱb픴@HѧΜ<=Q [Xi˦^Lflz/is0VS*`OB^M\Zk~:L6SwaK MQaOKZ(i~"i"-Sx%vokj^ hԂ3 W}X6fݷЅS33<Ш}VAw_w&[%ALdWYq6 N&Ο~x0VԲ].XEZkV/*Z{6]擓ZCݵh1MI%t B Wg+_XYޙ߮2_.i.&k>ͦ`GzfIK<$r< /߄j8'x?ND mʴb洺mey1rs8[)$ [Q-AmλWK @*WUG|znBaҰ)oHnWӌ.lV[$؄YM-`nZ̽lW0ޗ@2]{[ٯ{}*K6(*RK S=Ve菦5nO Enڰ4lXH a8R,@fQGDYGe'eNz5zsMwlO+=&V=: -e;>B.]4ACUޘ2@=$ Ypl%NƬ_Alq<=Dn?v?8Z _xW"RXG# ^SB0vnB3\1|G;KS'Ok\ƽ' |2 iZi7u: ?kEpP7תw!'| 2X:3w=fLx|/9u=ޣ1Uim\qz#v#xY݁[*F1[="ӖѢ0 Sxp5ǂ0ەCwZbf隳w1Po֓"~ˍNeUF#NL& d}R|R4?s X8B $;+ RҋI_ި_UuuO#7nkZ'ڟ  _P)=&q<3AjaO'Jpy*hUjb%VA9瀝l'HCau}36Ic ϸծ{UsU=7хڢיcˑp<.1bXs隸/,N@qG`q%y`d?g^?~ *A&f{A~g7M70MaDS$eazM:hYջ˯D }f] QϗݡdYGy4/|87I?YD>}8Z|J^q>#,Um82ÜR_bTrl7w_Li8i/RB5?#Z qI&lg_9 O'JEu6oDuZXȀt ^cow7ӌs5A??DVyǮ땚 J*y΍ʖVEEZ.ݷC4#|oO`~bt@h"'S颱!2դU  K lRwc1*KQͫ +_Z -Qesq^l2U1.%,q"41 |y%;!]r-N^3V<O(?rkiqh͟&!> stream xڍT TY(n~- {@A aW[ʤT Y\XlEizQEAm7DqaqfqWřsfNΩ26t/#,4 3} YSQBL&(ơHwd&H$rmމA@\DĈ(9iG#hcGc K"F01Y#8AJ"x OivF((lw'wlMJ@JA8D* om-)2 d[ Zh1y2KA<93=$Lm3yQ|1.cÛ;. q㘁pR0lbmES6[ 8?p4*CHIKL4 5t2fj&A%_g} +#nIAcqTJ?J L9Bb?.FʑcG1ygBzkXOs&H(3k;;R[9T!q`Ep,$E:Z@y2-["S9VAr g;opj[՛2W8ˮ&zW ?ݨ"}ۼ;o仔0UR3=3n4uY):>h9i kzSw>wegů J$-xR8d:͌1ݖ! 1IaK>5ߚ,Ӭx=Z']RK785^M5+;TK-!פgZJD# y鲧]eڳޡaUi-nf$6}$<¦n}TCt]It a+otODY;%4:M=2J\C_Mt% jG\UZ閩ԦYӆ5*Jרx;-I]x‹u>[jz(rQ796cQeu^<|ºOikM_#Ɨ# 7cCϹ;y(ّ3G|F]ԝttхU? 3p?L_Wdi]a1V ۪ &dlz?'!VBܗb VpN ժ,jCg| #,>9^OA'Yh }-ʛ9'޸$ fK.{Z018Yφ.u>OQirjr^>T|V L<:fU^lRk]G!Oꬪ䏏gT?03zK#[9KoY={S?[S״GW=Y1؈U=7@(j9-)u}.?XU\cpn o[Hl:S%pӊ~;'u_}X46~j&My ܨSxOâq%^s}dӺꞭ.yS\Kic -> stream xڍP-%hh!hpwwk  .!Gf̽WW]EھYTAC"a`uCX8XRvv.VvvNd-Fr +@h yIB^W;WO.@gA Pp]i=AV֐6 7gp1:MeS5@xW zakQݝޅJX4.@g77a=Of4-k˟vMK3b./` 39@S^ g3௳pr]߅@?MM d*B< S@S;|S7SKd%/b r~Sd]eR@0| g˱{y`w_MՑM rrKbBfx@'ܚwy-OGNގ@_% 8}oCf@+/fA}qe"/ ?/;)I?퓔txpqX8y8>vWaU35??)h 6T^ |vv?#Oߔɺqڃ< xQ+e+^von2j^yvH>F,h[)Ky;X8o/];X;N^'28yx/ jC6V%B`FyylM">߈&x߈7x3A/y#nDff/7Y܀T|!|m/ /^b__:9 trA_zArH/9_ x3ˋ g]CJ?W#/-8 wJ~}zPK"ysu[J|1=Q8^czy TѱD) ϣN-ltM+?Z΍GPD®^ "C KvA@MY<7M+&";lUaC̅Y5j"wuHWa@ %mE+ܵy&X71__mj@7!mfUpE11*?Sk&p (3E ~,/0oιw!a7J8NWz8<; z:&SoL ]/\OS ;"w‚z𫷟=XT( @-(91F^vs 0Rv+lblwz(Jͼg֌LT$gYk6kO%!OjV18*{mZ;}oiAyNL?G˵W`ێ6q\'zD=Z$U2PA@IV'Q:C1 aN8ڗqʷ/F 378ǐTDn>H#(χP`ʿK'3MI^s5hbP0wMl$ԳTcNK B~!()([ޣUpouȮ/C;; [,j#/E mfNٕP9JoRIǢ%̄0gꍂR9D ^x}$Υ/qdznڗ:|htFZڿVdbcv"W_* N'{-xkD6挧J_!q=6?Р>q?Cq't@LX9Vl3y$MԋEN`-paI 561Ҷqt\t%ˋ5ȴi<K.egd0$ >|^Gxh+G#l߁X#\7-;Uc aOwլ?®vWfYIՠ`XS]pt M/U8q$C~>40Z]S[]?ԾWG~~kB#FOz.eE$ԉbQкj74Iuq-Mj!he Tr9W) ,QPmZ'srK;h'ݐ(ѭXGy*Zz2K=>_Fh jhrbW))}LwuvƼxt)p2j6W `h,T}Pr2JN=ʸ4LG7)ʺr+6{%JF2Q{<NC *tz˲ȘN/ϙBYKsɓX6])Im,,7aٖP;,Zmg&!^s/v*˯ajX52_׉f0>fTfsyXA{ig< 5wVR)ʻrQ[jw>ǁā-HS6>J/1sv¹޻5a9qFܐi9+Bjë wȮ]Gg 3|!1ypUΗ%ڊ)l*z観ދx\Ϻ)M /-9JIl tclQ9rˈPM#pCЄ˜n5tz wS}nvʩ8Jp#h YCE( G]U.WO8.q;t>cӛVF&7@}Uj%u$ddJmߧ`gj^]A+*T~;Np>b)&a΁$Nmᵎr$:> P8#*}j i#[ԙD*뾌&Lː$WBh#ESL.o)ʤsyJ["t? nO&E>U)|-+F92~d}~L_ऄ𞊌b81uxJC_fYܞ%-Q{ 0~g.S|! 2o #YouV7KRߚ#r$.z7/ oה\. fc2SŴ ^à &˧Du[B'q(E(z!%x%gz69cbIN"dECT}C0BIҵ=mt0/q:׭{ 1S RWWO:MY \--8MÇАxDLOrEj9 -}?/ԕ-HY!dV 鳉A;8:wMGx]OoѧTnld(VBʖDދ \HAou'wǗW;EAY\b2bX50s%ѡ7wRͧ}TKڴIEB㪉q<&Ʌ̛[lsgFBtM~$|BBQN V 49u 7~ @ ?cH@D C5A@%cobN iޚKȩ v/"e_k{ʔ[]ͭZJ񯍏 h9aM Ö[*8Օ*{Z-4 Ŗ?8Q}(Legssj8lY}%UE w膳!xQs ݎ 6?__.AkWKZB940"s<ڍ^{pb 8/|RyJ% mW25? T!}cyU#4UŶnYvJ"~[D,f4L ZuH(r[di1Нۏh"]h$C1hb P))Q>^5l}MGDO܊TMDzh7atjOTAı 8jF!TI59 " x 5f`CS噉dWܺÛeB b/[ώ"9CykgR%)VTrxRx+ eg^$ j, j Qn{U = s4Ho" Q_`]kkzO]WyZ !twWueTA0N)|_9V4W˂ QqZxil*ŎKx?,c;b2ѨR΂?k/Hv羫c‰@~~D Mo/"Ԣy"֯(ƲhyM>'%ZAళ{'ɜ/qV3ϭWlMKW,m@&W!fJ`"a-{YW+PytF̄k'lȚeu\I(&%iL@!QIQ@R"Ri<"'SYym $v|]x\G6q-EÁ,(we¢ݝ;9E%N #$T:+,6@Ѩ8X[k_oL \8.]3ܐZ"A#'hq;B)xs0SRD h/\Rko|)nߟ홌:uUd)Xf"%?FfSaTd.ǟ72\Ȅ~.eƷt5Y7o]| n&p4{ mMѿس%,^2P1?x <}28*J,XUrtcXmtjE[vG䁄a[d}$M=os0l ^`jAꮕ$i=P \|!qH@]E4H$Sx6قنqƺ(8؄.Jԙ6@}ƍ)OI"k -YܶVkru/y?W x}465q_Z'ߺO+eڿ.eRp"K.D WWҏzp5w[/8NOh8\?n_b7B-Sec'/̓PhQG5Ɋ"h^11ڼ?h]-6w[iQE.gUmGcCMGw1*_LwjX" _Z%\y6NH˦agiqjM~fp<ƫ/Mm"|Ujj&2jvb$V?6jNzEz" #ȿLцóO¯؂&:ZgŔ4ygߑPX&2 T$/*>)Q~LC,S=)Ot8dBa]P9/KGLȬll)T,hDFPOY)(9r4hvs5,2 HxcVk[(*/<|8 nDgE]c U4P 1C[2d긪H_4.C:s" NyRP$`Z-e>n qˠl o^ rÞ+&إ=Q+w{aB3v:^I5:ok۴&h5^sv 04sw6^Ex8H wE}aV{qk&K,P >&b+ĚH)SJ'ˡE%BT"#Bdb +y}lԽ拰_HTyrz݂D Ցu8ݞ^)GMC,l8#5?t+ȌyKi<3:26?484}*-]E@ t: &E:bZ L F{͗ep(,Rr Vq# rN?z" J6kmw`j9w 37J 8Q=ED3B.AdD] ^=9MEȾ~ ZuݑwfCz԰ũ~D|סmJz!}2Eɵ%ifN ؄g:=X5{ *nxx ,NcfL@<H*h4#Ѱ"BөMa7ce:˦h#vO*W,ؽ%c;Wќ%tUm*I6wzLc햱Ng&Ž7*4K7_}Q`bs d{q"h$%V@&;?JrhqdRyԙؙO*w<{TR7q+9fߧKݛ\U<4bA+(J aUn1|ybk_uLO"1ml7}C닗[)mf(F(P}෶"멛>T)rH~ s du[Uϸc99Cwբy Yp*`k SJCΘ0o UF%Ǹ|wU{Xf7>e0WBPM|`N8flcD^vZ3ֶѣfA{KhIEc=w}e/nY"E>_T:e{2G4G% ?J\aWFxg\3Kl f}*p3O}ǙsxL:< }10YjJD kUe=EhAgt,$EconCFk)d _YH^=.dg<(mÄ,0w]ɤ>َǏL kO9)}`WbMqX*aErg3CVK[{m胬Q% pvTXb;iQ0˟ =ԻWu2iu~'3}>eZ@}?敛= % n&HC;l&jj>S g&z 5hb$()e*. kl +Ms9}>Ci^6W2lQ IxM81b5 'y7+ rLa`X;!OD.I% ]b)۰8-ڊ3l;g^Jk׸\mO*lź ^ځ}>i,ٵιUTŠ7y_]rLdE n۵_qny6i~kemqYxoFFT\0ӆ6\5ɼ!AM$}⼶*-}Jܸ2 1Hn {~j%qX,hLXv;w)kxs?A>m0iY2taDF5Hzt>} 9"\Djǁe`I$VۺLONc}ّʊo[XՅGmPfQρ ׮"eIGB?<ۑ#568V.|sQ&Eh]$jo#7\$#IJRvk:!_vnjਆt/> /M?gvVxO8HWӖ:U}6\jFu3& qDx]m̜垪U6˴$y# h*aN|?oWmb#蔲1F[)͡,DQ/q<ڿO6\0%GNbX.BcԆm'\p>~]fQQW坆C )Wzesّ*sK5l3_4؞|'̓&&nӤUj^mp꤄-5[Z=,a7v!{eq!~>f5`HETd8M҃ѺtBj[{A@'|,pu`h؆AfB&0eSμ:Ɔz`\ o4O)RHG1?:&PۂݙՒ`(;L%/.﹬@ AIh%Zny7hg2|]#a6[79OߤtDo:?lvȵ;I'ZZ&;(Ri9;(ʪt=~BBi+5VTMߛW30" `꩘`ŗ˫}5Q`]>S~~Rlu9l^FUa e woom*}C h$[Z|/5I%.ƈAM.3'گ|Ԏ̩ÕnM͜tBy,]%2h>xWUgNlYNDx+.9̃apa?nYU(i~+fQANQ=PKҨ*A"+ѐ0X$7I+Q%_"˞#m?% VwKCV-MG! Suf©^a}XNpF5;> )u%IBwL'9 X͘]7*eXV .K UF4Lq4B s"کLVwOaڣ /F~k@:aU=vOjaFkFYQ§dCi:ruyf+amܩ<lMfM ,~41֑^+@M]Q8Բ|W% M /dr}n*0V/3pUz+ ̺'iw~yQ`Þ^endstream endobj 563 0 obj << /Filter /FlateDecode /Length1 1926 /Length2 13619 /Length3 0 /Length 14816 >> stream xڍP NFw%H CpNpwww]9gfUUͻlHIA(io SP03123"|r%EtrK/4vy)d]m,lN^.^ff+33 xn 3#@Q da忟jS [`b }hjlP7]<'5/;3 =b P:܀f?(,#@X x؀Lvvf@'{n<@h_< p#OgcSS{[c;Od(I3x04q7v3I ) 0~?9:\A6TGG3ڹ8#O4}uO?jmgn׷9\@@XY]\<#ajGp5OJ?}%}An@+ߊE,,3 hC'h~>x,?-3{;l.$ݟx3X9,lwO'c1QW o23YfPc c`6}a<?#jcdo^_SM_K4_fY gIoۀ쀟A 3ѽ)q~ԟ**oJ ;S{?v`dwfy_N3ǟs `bwyw 0wB&?D!qA<&3I `qFAl&;IEoo}&ۼKMA MFO?1x_&A_w, NXc. s|'gdy/+d/Nd]yd/,ts; { w O/O?g~ _= |V5mU" w50x/;>&Tfn:݉$ HP >n mIPn}y1SmEX?''dP` )1ѕw>)ձ]JN9ė(H&xd0. Dpswٓo$qt'Ql:[я^ej]:xDcӔޢɲkK$)k h j_9I`*_ %XNdJؕ.l@s;ns7<iB5rVo[nvxi79gs|2NF4 9,V5unS4^IsT(8睁g(!X"&DăXàTީґѭL2jniKS?@DJ ޯ۟}+8c؊:: B*ʧWmy#V|Ǧ7@/h&_[J~/QعZhl=@ 8gVs?"6LMnUsuTqܥ 9X"~RG=24VߎM1qؒX;bF/15z.in(w#pz;Z&*ǓlŶԐ|dށCQV9%ׄV*2"m^bn[0z | K>ˀYJtF EqTGGvlȽbXUiέ9Qk>gC;ntd +c:6ߙ^)9J:ȳ_6l*T+$kcq#̤LIN,*2cgas.GdK{;Hʨ#f.ZF2v y6I,N=mf3IOa/7>YS h5C'q%c R̒+H'~9E.>La"   t\"Ӂ쥰 7<ۚ1Wg)iv8Ȕ|mksek*'Lc^9;zq=d%?y RQ.$<8q[O}h| FsK?4:QSLaZ:ۙ|a\3^5ث%btΤ[^q FOUfFm.NyѽٔWE>Fb![.d%H l@{ne4[v!}`t^X| 6!Wn$_C+FN?ĚʡF[9>U Z8>},` "m\TȠ&,5S̘g9miݽ.a" GCOA@EfJb'߉ӎO4b +lg9qT3)y,‚a >.5+SzeRk Y Bz.f }O@^'PAN}G o^j_eDRTZb(őB/]Tj[ZAݾ)nSF. /XW~S(*&_
  • #<1Vo ).C& 36  ~KkART݌uʝW"=ra"X KؠI%4>*ڒIҘ](Hh;)ءwQM/݄ʪIx1ojZmwJt%}NA$T93@KYw@vx{0)^ѯ|KۅI{©&#/vxPţ˜ko}2B2Ő-]1Y!sv'dxUڅ&b+LtFm9:sUnM,@/=uK-!(.X\ ^7DÝ]g14zb{;vŒ_ T`t|FehvG*\3qZ y,])&1NEgvE3S6.ƯZduGgFc0.7QivV@h6q}R"R_Q.),‘Œ& ]"\wH 9|'5ÌnfWzD\j)'D6*a3E^@$&%@2i3"Q> MBLWY{Z6XL1 5U'au UZSi{ ex :TRn2y֑,__~08#璜Vy˨Z1ӷCOMfS}{h!1.*Њ,Ah1"w&{ڼw%HsUD>y}HNY)hD %ɯbj_;/:@%`!yw2߂!ʶ8#(JB~ a"nل֚au((zIV5ګ|.Y5uY_iG}5JU l{Kck ߊYwj`qZ P:C_쪝8vgJ>jΏ{٪*7m}L_=ٝڽzj쌴f䋡*]gx|UKA% ,96~B/L*/_LH KP͵E~;/22EݚGTXsT: 4V2sl8IG^5ڻz#a~bYQ![w'؁™?_s1uGYIk&@eݪx#/NH luM‘TVXOs}Ich$Sr_їOȀq򏤕K3W&i(QֈϨH ߍԩy0 g]UG ɟ盀LD4LDžʮO!D3&=m}]іq=r.D$c"꼞͗0w/Q(~w-=oTo-t~|{qP-V[ȋ4W mTjQ]`ܣR#7z -Pr_Edai2F#2ie֯$I!5F Fm&@ VPݪ?;,zof/j=^BR/ӎO gdL.gSE >qEd= XeX RԬxM &CoS Nvo \Hm8:Q縫V 晰,P)@y Ui~ՍvRlg렅UtT=CYd Nn#*-[7wEK})}Uנrc\*ւ MpQUTO{ڼe(d([^F<7+_>u CfuAg8EMj%]_Dy MЄrG*aBgbNjYվ@D)d3TD2VF# >`l^Ln)׿C[XEf\ 1Lއ{&cs_`,10Bڛf(t˙`b˓/όzHdnTzTbb-ʪ@oY@7!- |ˑH./Zj0Ft$z.`eciB"WTW T ^xO T{2;Y X %Upiu}BƨmUg"Ozv5yDQ9t9~!~T$S!l:w{W.VXJO |Bmdj7'lfKi[PD񛭡9_u[hj)\ ; !n9 3=b|v)tîϰƅ%.^Vw:j5'ƀsj(pUDeh*dB~$ֲ>NĜQT?oJsϯb :Ə N3fB䠜0y I4wۊw}_ƎNclz>_g,8 Y9 `kė /$z`Sgė$w|qp(XG+1 .&W@Ցqv.3f#Uys՛5v !  #B:L\1pxp@W_G;K]Q'P,2XX9%U2O+Ķ0Dӝ:>L@Gp O$xB@_k!Sf[*#/e&}ŷcs*Olpn(v^UMȂlr$v*䊆iO_VU-৆ww7$UFOXp=P cWw~i>VAhYjR8>gkmp >ZgQIxи,b*xjfQqBQU1pɓua_lD偳qLuN6^cL!>F2.lxʯ~U#l:]STXóR S(P0tDU, jjbr|>msNRlh1Fӭ) cHLawb2ݿ"d ԱXލEJ9?>=ȓdD1siA`{cltk[i6E cϦ_0HU]y!)콸p (5uP%^.<*ý53fR=(F~>=`.p6uօï喑AI_]~w1\"yTbx~a0Q𿐵Cĉ].p >=@H&5}y[x!vFE픭gqK8J$O"HpgM4xM *^CH"U0h[#>jQe.P saj5i&D.XN[קfM %v4JMGՑ=QߙVnip~zXk߰g^_EևN%(#Z0ƿay S` KCC`+^?=$KHt±8r7)@+=zWr峻^6%WCZ y9"s?2NV:[df>e=(AT ޴&L,zw(*l[c󉄎f끤u˹pV{ls^TM-dR2ef[UK~h?(i)``> K SO9=s^.8Hy|$m+:hR!X|:z9>`"n>(% sZgζѫ#l^\08^0~v\<ڹT41D:j,/-bt;}Lgw/ 9a]$-Xc쉦OB,͖D‡"!O jsǺ,U]FstbW<+mk.n=rk5TD&6D2s( y UzHeُ>|jwS`!e i}K%,69 yث!,i᧓V>_#Bճ($2HQ6JxGiM9ȼz*ạ6(C_}|c+¢?qV`;AoMf>5JG{[|zl)Tm+U7'!5\Pmm)[)s-$ۏn~ۚ0Ξ|>EheVkt$W4Do;ReE!S4=&mp6bXDInV9FNRkO_xPL~S:y*b c&2H{˜wP} ~toJyJyDi6B⌯ XOߍ Gg@ ,ƱuO膹c)s}fi&2XMDPT90!ZaS~ Q"q=.46 (- @C ,|xS 1 `^}_YMQ%ʭUlh<Ћ|'^'1ofFuH!7Qz+Oɘ#jj5EzKM[UNڱƹ~6Kh+ݯ;'$bRfug^I7 8P[mkOKh +6;ucPSeCPQ| g9!0v)Y.ρAWa {u1v-Z,֨vAY+hp^&R"[վsFtUFpr?-" E`P-U>HWRu5]uhڒ#a>,SQE2( Z30Q _7$t7*/+g(*'xZ 'k y.KJ!;g̖)=Nopᤓt]f@ :YN0!OqL!rFޑi)ʻi*kO Gl/fޔ kLD(8!wec3[-azAm޸(@'N紻ڈVדsk=_%g'eTqd꬚ISux)Ej=L*i갨:z` oxضݛR S93ĵnH(^ѫ,| F?C WV+.^ gG3项:g?F"~'7"J۴cm;3-R9~JHNV0a2+<9Q$')9;7y>OjUA/x ׉AH!,5&GKLS^# + (ǙR:E}^Cl]6;`}/Dʖ2s0ɾJ^={^B^X--_XH1n5New[g~ gZtcr[`% 59֊a3:nNf`',|kJ d)}ɟQނ7 Sp"][cTFZ2z>痱YyFNѴWn̷݉D:.\bKr@6p;KtȬ=04ekҌ#d=T6v CFS="<~. eXb?oZ-k2|5|TI~ԖOZLˠ3 I\r-˹[8|=fQhQ[N*vQ-o .)&&*!zuZp= Ujwiq e_[eˬ:d|G*IիSd>$n/si\=OaN`,\c+T,F3Yaul K9̵ٜ?o ޾vB /Kc2O``ds^E0:ڐ92iFl]>q):Y-ٜgP½{n?to=E 8~6Lbfʏ)PMӚ dg:]s>~!%7$.IM7̌t5 .Fk0w`p\Y ~o2wMm_>17-]6:}b/Eh)^oi#͔dJo~ݺ@'"x7eƊMVb>_n>X✓7ڬT`Ƥ*^8-u艝fc$ۮ"y5y֝ڲ怍} ;.3YTR/!Zzl& Q-2@W7>f*vꦙd:kОv>Pl=;r7)ECrP5@-؀]&MuGeOVDg( =sg15Jʣu_/DLxض%'U)S<:b1xك~ĺvFʏCSEP=z@.ý&Z%>6`cU3 ׬ºBuaA}?e}H٬劶I):h|r6FLw*ɸ[/N['iʽgwjX z,q[$'?U/!0O$,IB:Y*yT~`e6`\5>=!m囊gŴ0,S:K7t(u‘~+ m3k1QHj] CHqZ 5i@Jo s।Xcp\ 1~ʞ>\Dhi&3#e mHX+v?\qۖ^$> u-L5| o8Ǔi4TzF2S0YE|NSYI)ڗ6EZ(Ţ b"Ŵp Q *r~cc$QOqj1DA`X֧ƽZ&~a_iZgMD!e&"eu/A 9mmZ5(lKr*fos3kik'A vY+LNٶGX:8@pWf͏endstream endobj 564 0 obj << /Filter /FlateDecode /Length1 1399 /Length2 6085 /Length3 0 /Length 7047 >> stream xڍvTSk.ҫ4!${oR ! $"("(](MAQ{׺w333{m^.#SQe(BbE@<@UJIA q ^^38 QHPE XM QH,K˃eA 8$7AP>B0(wŗ (Ɉ(#`h# Ї`]`|EGaqJ!źˋy{{! v)(c]&0 ~@?̀38a CbH( j a?`?_gIWDp`# AHg 0b}" qà/ 9l E㈆c1@ E_i𧬎?58?v؟κ"QHNp$ 9 V 7QcsaR 9iiIqt 2Nx @`,^Q( p9ÑdǛaN>^{`xyAQH7?474?>OT *')@FV,7V#ItBP4R_#w^0?ʷI7d+K! O7n ApJB C-a&Y{"۫CW(Xcc4>0GG_ 0_|_>9?*|~`w]u# kĥ45&.% -oCx'W[%b 3/'ſ 8z|׿G9RLOB׆(y. /E&XuGHa>fjyC+M= gvCg ܬň09"D8FVP~@q) t}~Rb boHL`l%|~kд:ibKQ7l*}-jyàJ䌰E疗PQ*(W|r5a\RI*ZBZa+Y.^*h%9Y-;>G_MVmrQ6Y( %u EQӴ9aOT(%,wF{If"02kGY8H1̣,#mFP6yO=. z{ZDGYp;?->'@qa8bWb~rm c+7zR\[Z9upx}mS~&+n9K)HzZ=d"ݣ0O #fzUv؍e u jƞʾ丮VHhTM ,=H$d3~2pǧ: #ۗb(DjHnwh2~һHZV[9u}X=K5L0Pi !X~Pdܦe/J*<'`Y=͓I^f5X?*Ke88\>1RբMp;fac}\׺sƾ} }sL!Bqz} *u+uUsٳ$`wRnN:I R?Mbw^{) zNNSJPyd UӚk)#!|ږ-z])ᘔ\ϼl1H:٥rdEf5m&/ .S .i&y5)s~Aj#7\~c;;-qÞnlmk`b[q%Nk_z㜳71 M,[>iP 3@jR7uv<z/{N6gy4c1,UqR!R+ \ZP0DU%fdLLCsy ls?Aw}Q­G Ac}6畅UU?Ofx2mVӸ[AHmK$IJ>_wYyW!>a2R't,yWÒu_uW73yS  we[s`4njU)#̝O駖}7$X!2}a,dR%i fRpʼZSD/5-EԄ~d 9{۰^kvǭ0>46 gn] tN'۬א̕zr>%%e$v჌"qQg}/'iDmp=Li7roG0jL#\]Sy$_ uˤ~:QS *N5 Dd𔐸ȴ.9rAlH(=0H>ߜ0f#P7tmV5xnokb4,(kk}~(]{^r8¾0^7o|Yj/CeG{묫䓄c][r{ZrX,ݲ+hNgޱeX _H, Sn4F-T̬eC^ [fa;s+?SA H R2lD;W.- tU \{cnB셮c>"[\9a?KQg޻̻Ǐ>!&b~MDM11-V4K :;&`: 2UErhf 1yJ]m U( _rHJzWyeF2%ME,Z_~ZTp?F*s2U듢os|bV飭* \ݥbzPza ގX7e$UIPfY2Ao>̷"yZP^0~^lǪ_`ig.ֶciF:aiF%B#\`>^exYgCZ-|d$A{gdwέ4yąz_ǩef.4> Q\O+ ]3aJJ-/;;껛A.}d}>j҈\ [~'2tH%n^ޙ}6M>}'bҵUBtfU>alo|0eɝ$bN./~rKKXN/sAͿm˲hk׫|ˇHnϳO;im]+aԮjLK`/Mp#-)2GהdH*8[L:go]TgU@^[X@ʩ 'Z[ƇXMԯ;ղ;fiL¾}˼?fv& Hۧ>MAӪtwV|ߦuX}4<6ݡiW'Ρ}'2٪ɯMrrW^_qGC;9! ?LGV+/=„I2 P wȇIv[YW~j.J .)O &!zÕEk#j}aicXssѩs*׶}O4x_;*#mӉ:S8sSC*v$voy.e3w (_C̷gy3W.,c{Y!I'|lђ1'@o54 `zOF61ߖ%:!#&Xi`V 1JY4ǩP3˥yģ9kHn7$g5N;9U,\ltd+lQ6E&BZ<^yfT%rxDǛ]yֽhlyH@S_9"9,eQ$|DrAoڂ9 G;7rղ8.0; x 8mrhI[fer"NRVʛa)aӫC7 eT!v7?tmZp 2$|xSGtt]5,iTEl/MŽw5 9؉x.i_KW77£,j~`\EoL 1M _ ^)Z:7ԎJmҽ$ 픟ZJ9e$ ,qִJI(t P2C%H /M\ez'$,zJ$7L7nPsG`AQ}#C r?v9GYb:VQU޳u.D ޷+Z^Ϸ:Oքئ63*_S&[hvh%oakџQ- m*ؘs9^[7bmSʳߝwd+؀)cMIIOzʱ&5lz5uH}mi1_+τަoϤf{҂ޑzcn>:lB㠵Kknk #>J>|~#@ x93l0N RR8YɌra)MBIrFvmvɼ"o͔4s?pZ1=:_ʢ'10iqo9|sllLxT*գs&P8ԡVendstream endobj 565 0 obj << /Filter /FlateDecode /Length1 2163 /Length2 18078 /Length3 0 /Length 19362 >> stream xڌP\ ANp8 Np ww8J꽢1m̱֜{WS*|23ہ?130DTLL LL,6(ԁNv D8mFrv `abO#@ (D=--y@mB`; d t41䌜-&F6;Kpvadtssc0ubs4Y:[N@GW)/y#[࿥1 PT-,P3sv3r 6&@{ xgH쁠+030ܿ*d ;a 2Y #_F6NvFF6FnR+>'GK{g''K42U@"v@_Z:M݃ߗk syYLabϨtpJ;݄ft311qp_5xe},̀\gG?&c%Ow3_-:L `'d'+fVVԦ:^XXؙ,l/>['[,?*J~zɠA}?dy N7Uۑ~l-m<>.!g!BM-]lW}G@s_vK'qKwſf?ac *9Yybb?3~8_.f/da9:y O;bx1)02S}fv],;Q/ӿQ0A\F?(_`X+Qb0JA2;.q)A|;ΧA|;;2ٍw&E>; /n|`_wI-kn|cޱ??{*}{߻~?beW*?໚he~o_Om%t|ޞ޻?{)GMLxZ+>}caC wS {b͍XٍxX8b)|ka_NYm63ޢyT͐.-[58ꔘ1O?Yr5Η)&o2 äs'-ͦ_Ay>W['dk$Uņ#g;D.M =[ Vi.qPsmYCZ!!'$S}Q)Vlu첤%px7ll+7}|T֌rzdYxxK ITT| mR -$o >6DZYMWZH#EEP9/A>C f;/\dbjDAܞ'4}YYOR8>hDI-,ʶ=z!{Tcy>?޾Z; _dҚEY8әWѲuK $XƋ[ͺr`ܴM+-YϺ#Rw>RϢx3$(ߝF.H`/q;Qs9P_SĿdyJ Q}f=E~5eQKmO>ݧ0xиu o\)<3=CV˃(u* 7Eu /NBd5[{}d|ouꜜYRaUódE3f~)+,șv]&|I(e9͹pgXZN~|ADo5-P+/*8-cK01dg,4MD.J{񱿸;Ʀn6[,O ˃[5O,_i`<т*h, 7`tWz'mC8!ՑkG =zHj(\#cQX{d{DW8MV [ҁt Mv{4q |po36<A+yX$V=b, Lݛ:nwhe{v&蓑P?{ W,?:89<;4Q\zUXDL"?lnqʋ`yAIj^Rb)T? 4Ns A$|t`-C?㳈(gv hcvQ|{Э@b QKDddy`42'O # I{4J&0ŸdlcWM4,E2jRӰc VXfj%8J&6yf-M2k=S>~B)TޫVа[mGÖZn\ߕ&tۚPTJi̦/zMumsQlTC@ u* pک<5 l@; _̖g CBHvueWɑMBAL1dʵhUGb{^7,Iy)IaMKeni2+ Xw\R5X"iF98jݫ vŃ>eY ԍ}MmS^{j^%u˜NO: uEG ./P&܂gUԼ,U+'#}9p{n:P*%3鴥O 0w#lO= <}Yj|PLeB6bbu4 -YVzpG.МlA5ZL"+.0]E +NP94{jwqlL- cwǹ]YvG=V+Wϑ%w¯\ք 6']6HE5%+iT,z|骙{učTޟ<[â $@'j֥d9=L9 _Ee1dgz:vA^iަui)=-0*`N$n!\3a󎵾}q:ۀC9"Z,ggM.ʐ$YshGÅ3l;P#h=a@v2cEApL2g [-\=9"^.'܈Pdm}= ЯdХ= 36pکR-$(YE4cPo&$!]g.4B.>Pn9빶^:d7u}Zk<7JZ184(xqXW+nܲ=48vLϿ>* dpmy^]`so;8<f,gX+\{ӝ^6(Gy%C6ԾREpē_bp CVʐVKs~fd8ii.ģ82ҡ{1U#ۺlbnF SM^ءSݳ1_Fr&Y~G9~2t,KЕ: @Xv!TnQ{p9 FՅC/7PPmNYij)؁t wm毹顈/oAmTf݂5naergn('!^h6R=Sz=#&ڣawVP0&gWքhٻ?l ׶+1?|Fh@vxSg1*q5ێj.\D6Vpw&jvOW4|O[(Jl:o]hNxW3zu@O 83$Iz$7Zuћ&fZCs찒HbꔄƩW^wYp4}>=,W!}\GB\\vy(aa*C HB Ykͳ[MN6ƿs!u[ (Χ k()= `Th<+iPII sR` 77v/}'Dqpf))QjwmC;5ulFU,fR۵tV<+nG# =UMݒ}_콷ݷ}-69Zvc |F5`x "V"ٗ#y&7nPmv:teHw`mׅ&{|)6*ML^ VGGX{`OpÕ`@h5x, [Rӷ Eۊ/0gA~]ls8NCa+-F].3j'rb/:)DsR 3|[!ٍ&YIeywҥJ4,`4[,D+&Qt`&Cx:bc8gy։映]Q2th 0YU{䴀`@TiB0Mۚ׽(iQ0~.bWxPJ?ग़j([q*Txg|ĹM$Km33fKnGHmѫ=^%](FYHh/|șKMCE1(Kl {XR5dx`&jHsFnRgx+}P߶XrYcBhh1 Wn-o~G|gV]P&6LV0vj*CMxKye[!eӽ+Dq[ghg*~ >/W A jqyE#;+&ֵ2uF2fG`_ϸt40{Aq[\"(FL6m~$Zta \Ըp$Fȝ`ъqR뤷LF%2=w^6,n?7n%'H?$ 5ž2|r X+R3[T:VҜ]o(O3^=KU_' HN,ɋb$9p< OīHHіd+v'ac&v+ˀ`ۅـ\w+ 9+C[^zYc=o÷g´Aq=zѥ mω,><~츓v&$+uVH7ƛDoP}VʸPOׯbY(f(4^ufཫ~_m~s>9n·}n~|F%Z@tJtfkLb֛4AQ[>*;N6[TcX 'ϲ*ZRR򌗻2 QC2ga@vk4G=5yNy= /8luO~sHƧqJ;9 MS_G ʹB[M?M݁)YN׫ H:tRt3I:.=6 +/P:=R{_ѝFϒ=T:h&Dnez$qdo4yIdW8ܮe`b.eK?dKlTH!JL ܏{[b^fAy aDIjU e<%,0.~ga҇^|1ar{H9 ogw}?&~֖i_/GD&Ґ=\eZM8|epQjRz(XgJ*a|?jUʤ/! T,9=k=( [L}p5{lQ:zW$(u:hDx|\e$Ϧ*Ҵ7-:$!5 cA6-Ihh )N`C:&X _>%Gry2ny-ޡ7[R!,t\7PV9k V"xy RZFpEs'63ԉ{ {;n稐4X-tمrkaE Luryg_7Of`ÿ=0nfS.e^t풪ȅ9b=m6Qt1_~;[,(D_J6/O& <] ÆE6p;aV2cYV4`|pZ*v.ԊUN1{" [b;b 5 u<-Kf+O*|+}rE"Hq?&HQM5G,Y$˴2#W-~[ң/Y&cY~`Iw(=3J$B7Hw,*;PJP U9`̀ 9*B؁\7AM@َ'j͋78{3НTXN3HĘJrR{js8f }\N^<ߚK?6?Zֿdp J\o,1ߵB SnMO+Ý~tȇ3p,n;q"O7 .ܿZ8 CY@: n5rjC\Y gl~8?LT[۵oK+zfb928ٛҪ㹚,m%5y dnKp17/L@bH,_#@΋JRBߤ+9wiWĨ+#<aTh_Rއ7>"ytlҷB59Zdޡy9Jڽ*X9W5!F0!X6ٜIܩv<W(`T̲Ok(/'Z Wdjgu[ztg<-yεD=VP⎣#"r&c$ ±2MB;ԫ-tKЈvpP> E4`ɀ=V"%NwIt>IqZVf Z$?{D( ݢ{)o`?|  *p.#ɜa4R9[ 1d6wֳEtWgd*o*"@Y&~}q0|"튷xn}hF֮t-k>9cظjtWX:=/FY]B4xRϟqnq.K;p*4` g(~=*%0wA>̢VsC#.YcAN-yë'%wB+ l#3Lڥ2sQذ7Jg, W}u4 􃰙@X'~YxHTs>ICM\U8?m;*A;IEY̨ 6gSm/WWL!~w ^n Mc5֭ ~;|$(9iW 霥FfwfOr,鳇>qa[-}],u9`IyCe?ihG?GƊw <'"/7:48~khi*=fX%NPN\f3@z90ULN}iS#5UwAf\".K,L-Bd;8fcdR Rϣh|\ s- <ŧɻH)[Xa@[ߍz ڕYcޯBկ UGb.=9.iO=?euw#,7ƛs;w2nT(8 J\C"~6!K!#Gʅrw,?r( NI4kd-1FF15w?26[Q1gLhwɩdoI핉ds ~;>udx6W݌3 ݏ\>P&A4jn{O~t䃎G;̛Q0-LpY"܅^F\wX+^7*:B#8o3!ƦS%jk6I;lǕIE/Pp4 x" fH°X [͆NWWڔ=A溺]`)A7 LetϺV)~vV4ί74 *ME%V c3I8Kb k <;JΫH`EOsb3PMG91K`V)ZWc)#RK,Bp/Z|&͘"4jݨ >DxH5XrgEy5VWj{;xpn iLo9SB/<?n30 &!:0Wa~p`㭎:3#Ή^I=Ӵ6c3 jI?A΋,U*aKD.W-X9- Q? w'1K%V @@~dx|o5H Ŀ2Geh a7f:tE#H]L/9nGԥúai1T(F@(1Z͹f"M$Q~mfE}@ d) ~n^3a _ņU5$ӧ4zl5G_da{,<ƱͅZuPE2'o~'m^'%J-F:\ܕ|IܣycIl;BD`:q, &'y=7A7yjLXƓ-uH=i]L=ʰS&\;+ 9##04Pz\ɧ֔~R`{X-|='P y҇ D[KdD93! ]PtUQ̲5ښ/;$备|kkѳDhnN+s椎?LPJ6|e>bodžu{@Nq2˶;DIMݍ~<Ŭpݛ.as]W\'ΐhD>&ֽ;4R]}G:,{s\4vIjDg#S2c@2V/c[oD+8XydkzXE#(O&fߢZv9Y y: Oʀ*oߘg; FoV_DklGV-I<ţʮ{ 2mcAՀ!t+71C̴UD4HaVio؟Y!U"/TC2ۊ  ~۫9iN0)tfAÊNeϺmbএ%:B_;c.S rjone9P95x)f3ieaX p3TA[T{E*1NiJ0 c5)#%"[C V#6遠 O-@XΙOImq)ꃫ%Z8v] )ɬ-ݵ` 3bF8r1 NZ}I'ᨒ]w<<mOh@ƎW'M&͓[gR iԍ/NWxρ[z˞/rKFZ2`S!&ClLsƗpoo({,l&5ghvwh~:JtR6*X3߀WLj^P\ǫ2ოE Tb#KBٷWn.xLQHD#h%BVp|V4m,X1do,<ctɍWV|C-+F݌S \ްG{h/W pǬlCb n<Ԫ"i 318 6W_S3SD=B`¦ q$9'To.OhOOZK{~ϔ&&$b73x`I>Dz춛Pj.yZKʿj*a03ܝX1VЕdQۅRA9S"Xy'B$geuWcr512u9YAPĕ;ŮwS d.VNc #>4S^Gkم>'ivj`o}Oy)kP^phb׺LJq^wB6x]AZd{T7tM_;[/55bk򌗘 !Nx/]34/ߦ$ a䜣jHfNF;OjIVS(%x^HNj2}gHt0l~+z^: kꗝ4x =J%輗m!"YB_X;/gW32ŸcC.ŵ/[=oT~^ ߜWQj >䌏bsx{EqnA#T5ZvZ{^;犛bV gn+ ]2PDw!oԚdEocҠy2gn2 NNo3/}Lz;AIW~9[ŭ3 sJMXZY}zDF<*l~K_M67?~Rc?Ħ-Wua-hX{@ X܈Yy0q(`{fQ[4-b ) uV0P*Q܇|8 HU׳_sK[3骦$g \|cxceh]=Mmٚu%b}Jз7D'GqCԾ8ۉxvx׉g8+,@ZCt{ʖ9.l_+`- iuS+S29|&E~+Y+umoYȮ>Ǎ*x~}>nQEqM(kn*>.Xwȓ( \A*b !j׳c|;N5*Yѳj0!|hktV,`1J#n? QA~ ǁCteGJRN#Y Bwۚ]RV qK-Sg7۞ӌc pyj|;ɻ>ur1<5 / ҡg`ka OU& lk!ؔ8?_1mYtB[T.tJ::KW3fIF#!|r =Hh𯜅'Cיs2'kΓ'N v5~갬73,${ĻU9뮜liA8T 2ԡ-H6gN=q! 6HޫL4:(uMs{vq# Y ssg0ϐ@W1nVx|uq!!h  o 䧡yt;%^|ukH~AKxqAC  +yѳղ z@IwQtyyis/PcX/y63bϘdHV^.ڦmh ~PedwiNa&j`jݡc=mH$8TpI rArfF6@ZPѺM9K%#s,!gV5g+/-s dCvU'E\ y/C`~.Iv9IJAU#O."}I;5}Dw'Jԛy>^Jw<їu _W3dP##үW](,wr/EX ]n6u@  g~bTPgG*8zSY4SK[sȅʤ787Ok灘Du8(qtCt?=qL_鳃9*Nلm@`t/vrtGƢ-",̳6+VW4TĚȇ٠2j`I_ $if"!, `\-^,Oc!ȝFM'jPM_xr^7*`7O5e=RK8*a:W 8ozt'C?)Cڰ\,P"0Y2Gx\8c+ h|~qĥww4 VגT8Z٠TϸkhS#FnҎUV"m+:jlbcc.3Ҟ~7qmF#ɂTc> stream xڍT XL8L8y$Q<+cHnfO5=Lj\1 x''tn!Q=Sy}~}{Z뷶5W< %4L`04E13#Ŝa\`(+;C苡`\l0q b0쇀P "4CaH 0Y7 _QdG$AoJP! Ehla! c`!R(xbbD6Da@:$Fed8 o' ^`Ҙ fk !.()"h!|h*! #@$@wt" pDJh2DHז!cQQ0J(y 8, =>8HSqCA"- \J_"rcC(_|0l |6V tm~Z7A'Ť@DҀU&(q2(.Uq_(L&"JRtâ?(r)?&`hV b$ \7bzȒ`s)aJg, e;{[gCu^<K=oT шupi,ca@"0-C@> RU?O.ġ(D; ,'@."Dn|HDC!bb@V (X3b "o.mGOT DzC/-c;*:i: 2T@H=Bod:9#u7]r'R' HCnaX (bե SϫY6h6yNi ޟt[~9O/X> Ĉ\ętTHQxU|ON}/d>rVfˆI%WZVoh^RsԜ◴1?T4h|/.-rHkͮʲ}vpiv"v ;Ek@YSQ*uT@ ]Oͷ1μȗߛ8zxE|9Om<9ml^g8X/՟ZjX-zOˬP^︐ǫ[jV1 m#;f&"Ѽ+iW߽}Rל^EōUcIwU^toc-峑Y Q̔wyyїY-TXmώ(x^ 3rnM-N[W9n98OO2ft?Ǻk R3GaQ ~uգM+՚78afDQ^:M XgT^lHSo|v͸&>r 91u 7^&pOXym Þ+eXik֜Ww?t.ŝ? Y-ک__'H zl:gήk~S0atKoWۇzw}/O6OϬIIМq@ *Aay7_Ys,˼omUR֗UOYyt^J6)牾q;s RgZ$k.ޠ|qHqXLsxcoa}Y|>(O̵3YY.kH⟸Xu&+(cs_)^}f(5==ѳh&w.?NI[wL2R,xQ;̡~~ۭb–V_߸;'-Z摟zi3>Qv9߼we4>wzu- 6!R>p*Z3~=++?d3_̿PkWZJ {"An/rgLRT/?th M5-l^y呫Q|$uZΪ&sGf(kmcceRxfM}:K\+; #M >lq6ኲ|bYb3l߽éI(_>NӺ+vP]11{qKb^5Fz;`n*{; :?3h)&GҪ䗍1κmU3Q&L]˻=*K;S]J'kUczaݤ4ɂ际ק?THoTM{(4&JS/UsM| Hendstream endobj 567 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-004.pdf) /PTEX.InfoDict 200 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 202 0 R >> /ExtGState << >> /Font << /F2 201 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 6037 >> stream xK57Wa3/  $:ԃ#.(A 뽸Nj'lo~l_y}W^[{V޳^^^_~)+_|~UJ}cwoXQ1 kyh]~7R׽==p+9߹>{%;y/upwOa1` ga ꒷pnUb}ǑUrEMxǮJ"\1`]rJV?.]!lZ}}W[hsJ}--Ͷ_+fUr>kln( ؖl_=l l׎{5ۄ®Dž}-þ̶Ñf qt8{(q,8Rzu8Zl/N1mW1[ݸr\l;n>oG=c\ #VLE64l)J =^LK735PmVE$&i&ʯz.W640e<>t`>qWfsSl?MU*_?/I7wϧ7|-svIRgkӝLyvg0\e5PGVjRdLvl8Y?k蘪:2)\bߥҡLLS!8M)`ZLNf1}:P1c0}:O}|:[>E0}:=xI>]Ф>]kO?>]`ta*tcT**nZ -"=+R꿕74XK0|,Vvd: c?iG){S > -43zS44çJ<6#}çy|56LN WqOa4i=)viw0|5>hfj\WDU`=0|Z`4X:}ffq`mЧj1|ff4X>n>m7> v{M4#O|mѧQm!>m7>mߦO nç6}ڎӨS0|j?L*^ OQeOv }hç=9 Okҧ=uF%L-> }6L駽n O{;'O?}ç;>SqxӾ>~[0|Idç0|:NQ OGߑ5cq`4xsT$c ?>Ӿ Oç_QQtl?>t0|:?*`4XM0|:e6`^ )ftx0+sj= O')^Q_d)!y`t%`teP*NYg} EC§qp.X'3|+rşi,hh4՚X:mOcu>}/h/*_vCS0|E§`tOOch.i2p4LMW8^Ok,\.Kk,\_.|j,ɅBM'^59zɂ*Ҁ|H1h\xeOtxQ5lQ٢y!ц}Q|5amQ>nqRoT 8|Z~9c'?{HE{ ,KtkSӊçiEVC-ʿiB>[LoՈE:<?7Ok=bp-;?,.$o|$\7Qښ_;j;q&|Zczo1ЮmKm'<9Fҿڳ'qi> qċo,/߼~CRnx!8| d?2s'[d6M/LJ35?l.0(8-/cs$ӿ7v`׏X#0opT }|J]M>UT}*'sUJ~s* naO^ fAn> > f<_x0|ڗ'xl}ѧ}*ç_ DO{iw~$&0~6^qmοS,s>mU]w0|>\L|}:0|Gf` 3O`4iJfUKf4GSbbO1n3|8 GN9`4; O<8OO3||dçJ[xD`ZYfħ?/;`ħ~3>h(ƧS3>ퟟ3>?u#ħs=N R"%P.LL`}DikOc0 İ[\s\/j<N\Xo}\} 17~XK\K?~u~~a[l3lO/&OV}C~_HdE}m{EJ3GEKqc# ܘAZQoeHO@wçH3k7nd M]U^OW{"հFZb$a[@+8|m7뢾/E}C˽çܦ)alLOܦxJOMGLyçklʿ l;j< _표GGĶGH4qG3Ķ||x3=c^/lFâ1\U:c$.x~CLХ.Zv!?vve'杬X+f<3լu0Db/ T`ƨ;Wz \'TAL[V:gO[mxsu1Cc:J6wd Ps`g53Rr71SFOVceɪQ4-W[<@3-Y:nC \G!\g K./,@͡!p$4c;(dMwQ$6P3烓o_{pZ^NcԬ{ .B>jęYv@ 1%7v躻“z:`HxY{Hww+}|GhС· Tv{r}х)M<nO9sP07lG10:MEj_ڢRLzK[\1O]s0o͕=x's+s]8j_<$-\՚;Վ-W s{2B4qGjqS[ubl!.؂81fĖ1[6%#lg(䖟~o3DpeزOFlَ/k[{ȵ!VˮO0b˓" e?I lA?&#hR0bK}>!ĖR6<-M3͈--Y[3?lnz` eFl9ׂIly}n>beE ,ԟ ['=2#^1bY͆@]-gx;c{źIorSXcm0^Z}c\`Ėӹ\0|:֚Xç+~\Sb\tB.Uç/ r !sk%bU3|>]}O\ O "3>E~q\6y`tl>MkSnaI`t;çvMOOx ZnO?@vOqh=VGJVL{2cN ׶VV gsy`SZ=ʜ(JYU0&熘B>MD̵z?m"Sl7+co> Kc@ǔ0co>\r I?70>$؛O+&[%L:#U_NV؛fHanz{9!6ɌWyV3|$70ώz l7_B~[H޻hVnQbӨCU4FrM\r6BPIJRQMBv{Nl|%{Iihlx|&l%*7uvCQn\UO}A(ՂM27[(χws%%>]U}MEM Rq<}Yx> nJ~辰Tܿo,xkҒɼU_GBj%%⦲C6껇y|oRGY|eᦸ:1L |9ʹ j\.-&Ƥ6|zc_dR<>L*6|zc_ Kz6žΤܺ8Wr2Fžd4l}Iɸ5]{MOWͦ}bm$V~sObmwY>u~bnt6ɏbnžt6|zcmR0Mn-?ݦ}<1t6]Mu]MGݦ{{򺗿Mne_w.&6w.zo^cG\ط@/ޏs>웠!޸'G'G}u!4ύJx_kvKP?QA8xF^ ??罓t}n}+p}.Q~ǟ?+-@%V ۗ_/ ˳_N_]jWn^?_X ϽJ}>8υOg|BsW|~h7Ư؟i/,Vn_>+mAk޹=_X Gc=>ZԭC%*S/2* endstream endobj 568 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-005.pdf) /PTEX.InfoDict 204 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 206 0 R >> /ExtGState << >> /Font << /F2 205 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 5546 >> stream xˮl7)z:ˮm $$ GbDI<>eGewzݫ|}׷_=ꫮnϿ_~~uh}寯ˏ?xcW]QO H¾$q" ;_¶.\taks.\8Iw ]8I.qDq:Fϛʅ&IjwyzZ/ltzKDžyw)2]8ځr`_ sz!х]Ɓxbp_8ǁr`}d6lIʁm ׯD>о.~Ʈ~]K-gͮ(אͮ\])T 32;rsv)tnܝ] y8=o9z=ή͞g$Egbk.m8.6 alٕ?.]_kc'gޜ]O)!}:>r96A.9F}B!c9J29ur8rNgWU]*}Vbx?nr9 U/ )yaWi90-cUM鬲9LJYÎ7l|;?k>&0߄oGXs@s@FoSxƯߏpSS=0c0.} Sq ^ COmlP=7yz qN1T\IR=+ =ٜk z:ݯCOga)`xո  *Ne#T[z WeR=Sz*!Sq-Gf7˪+7S =];m?sW=9ЁP=Ϋ0TΟ0T\E"g)\Gz*ޡ0TxCOW?/5 CO. =]Q=]CӃ 6{(,H֙ m{|@H4_⠀m C曂)z5a"4$na9`RzŸ&?\Oe#G|0ְp$ngᶔ} Ap{l:6c,z bIIܐ΢`'7ĞoBO4ߟŒaSM0K1]x`8Omœq_23m_X`BAbfmEOe`jzJ0 w<,(6փ &8읰<cv^Ƞ¢`;¢$yƃ&%0~/ʶF a|ťC -ya98$2⿧ O"ȭue;Hz(,zJ|Cx„~ l cؖsaZē«*ܔS N]B_/e;OC #1,jS =OzC>ʾK?O ]xchU-)t ?Gm)I6")a詰 a)8>*lr|Hϧofa0^bmz ֻCOcdԍA&SȸO=/90T7TOi0z SM{K1z1~QjWz CO9?rC%(cTLl kqg9NGא[MOazP|=aX=jLτ u.M9>TOK S-u~[hŸ1dRk>%~o\2OEIV/tWVG1[|/FTpG5w>U1c3)poENƗ ?FQϣGe`糊x_%#ggCUkve?~ue*xVW0}a3}EN+30$#,3}ymEO}/k([jmxƖ\, jFt׭,Bf8XJ>`Ӝ Ue=۩\q=LYEOv,cuD,/Zò,08ڢg٘r=Eo#mtgz=EZl<5DHz.iE[=Pz=EZO ,BiF}Ua-7"MZ<8Ҵ,z0kihGEOW4=LT&=AO/YU^8ٝ;EM;c@٥p] RWeb@ GI_D"skA֑EF[j ED3R^ Q@UOb9O,Ԍ_57ټ7'=Q\P}J:[H39t(ʙJ!RnOCc9&\G@4Is_eNK'B kq^vʗSR &/tzu#s3fHV!H~б q\]J.&M'.n) <%9O0T"[)JS)guRX?H`5G"­Ce>C[X1U Y~pPAJ*** *+^2qxZ^I/kz$t|x˷xG`͊zPfE=kVԣ0Rp##/{>dYǖ9kQxjWQQx֌Aw# #z5H02# F@Q*Q|D`DG\EhG FQ4xQvZQ8͌g(>|ݨY<uh}g2%uF[ /3ˁ(> `Z%Y*BPfYtda}dffq7igy=agϙ%"iziziydJ˽5XZriygL`fL˭+hZN=^`>^Z=t(_>#x`rTᩙ%&gQ˙GFf!QԬhI GfS˕YP%kV4,+_XkVԳ(7# Y^0#K FV4eF9`dE#K +dL5`idɵ<3əYv04U2Kr$4vd\9 QfV "Qe@yzU0U W1`U5L% `S|zU-oQU:*YCO^GH˟#D6>L(jɫP`iT嬲Qr*zU<04|(BO JF =*_*$zUJ-rV1QGS˳#`͊z4`iTY|YEVi9wf<*/>ЬWӨ@G?=*3zUh8:њUl04~TӨ#%`{ U{WVׅYNjG]`E[.0B?.lrt1WwA`=GXS]بO. 0ѥ]{vy +Kht U.p;PsdnG x.]2`>h첁0hw္dX¢]P.(kw 0]D`>Yw!ѥ#E1 ]REGW ]Pޥ% ܥf9g 3 |v ʻ`H.5 4.6p^30.9pE^]v0l]z๲]%C[zvyf!x]0ԥd")rFvAifZG: 5, ܏.Mũ.OwLv(ػJ}}gt]3JMiE׮Z{+xRvj`xtyd,x종cV.[ $kvg.UGod/cS.bp2VDzg2:KYѣJv9k`K nG4o>}W!Js:{։.n0]`ҷ\]ۗFq.}ODbG`]`7}hƧut#[fھdKKtfmyxuW~@[?۾d5&;͛[`7L۾˴oA?m&۾δٻM߅מgh]7mir^~ Ets\ky)qGLףզԝrqĂzSsMy)q8/9rs\='y <}_ N9.;m8Spx ǵ4y)8.=ǭ'7Ȃ;q,x][O}is$3޷6YOnf.7kf7kc* rs5߹oy_uPp 4F({YN.Z0ͣo=m>؂55[֓כ5}is7k=zF7kz =tBO?vYZbkM=Ɋ~;v(+k=~~O>//o>>M}קp>3M'1ni~O_~ Wlt|w+'$lg皍wϵm}S7~Q??m;m"cF{o7?*aa1؎O؄rfc Cendstream endobj 569 0 obj << /Filter /FlateDecode /Length 3727 >> stream xko7VL]Z-pH{lm!JV<]rEINz};{fr;i&ߞ5'69 J'ᕜ\-~={P,RN>KCJ!x/`j l' ï/ξFډlDh\L|#Z&V\\OL9mow>OvscxCn8WG~w6qskI M7 ~ G~K_"ν?kv?w!(+|O]BhʑqLDFO[Cl\/;Lj`C`v'v,|x9)dZV[gR*3a[m#JZNߥĎΝqqLtm%#e6Xv H@ 4<Ssgd|pO"[ ҸA gγ~q! ߯i׋^_&@zC Uk un&&'$ئBK6z E/#f]ޔV>64ivQVIMw-sSC̳Q=2F(Ҥ` еv3#ʢ>ie}mU0Fv 4KnAV.:N:; )rSjmmEۂ|ŨK jI^`$h۶NJ3tĩjȽB4*WAz8g1݃iYkQ-%j4S0 Ȭ%G}Iѝ7"Ӱh؟j"_vZI?LE/[jS $ƵQ `ṁ;hJ*bpӊZhv`Dp(?N, jL2XoxKq50+(IRp$'BVG"U*m9089mYΌޔ.6eJOʑ#.mh01x%HRIm9|סaΗ-%),tŐpwK1_ I2x yvR/hQ2zk!2"֝(#4M_X/,G.Ri*.R݃pMD0R*-8F^n`P#e i#,b'AC KNcwyR^րn8$-1:'x Z>Vp@"C<V2D PN^cK#ێ5yRٌR}F\]b1cfh'jH}JgZ>2eg<CHFIqOq87a(g.ڔpӀB)0JX")v8NjdCe]-(2m7Q$i$Cz$}qY|l{JW,ovZ*`8Vpy(R+Po`:!ă}X棼M޻ PTaװK"CQӠwZyڱeb'N7 ķ:6:ʤ6W~3=CP*")KrpeҚsQy:@pߛr:G.Z@m s'َ7YI$1;%bG&,ne"vecfvʢݡt┫Gozx6BL"1~Mߒ>0+RM2:А&FfvsLT]oL_(# FyDwh;LRCd>dEwSdcN:9x]:̪#]zb?jc8h5i6LU4s{#75 o⼾/}YN 3xҤ9mdR!Hn]^mQ`L[=6>:)7y_faT{(t;D55nH!2]f.uK3ʹ{LJqvzM~08ާ >w˧?LOܲd^>y' ?N1y~0d WSƧF<DzIzZ&cz8!Y\%;"Shu$.$5GrHdɅtֶ{HU l?IǸ#F{Haj'rA#r;Pf?*-$9x+5O%Ui!n}q68iftwߥ$Irim2{iޚGTU89Tmg*K. .=endstream endobj 570 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 571 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 572 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-006.pdf) /PTEX.InfoDict 210 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 213 0 R >> /ExtGState << >> /Font << /F2 211 0 R /F3 212 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 10330 >> stream xOuS(QkWzOO:ގyʙz~1j~߾'?ן}x;?_{}ˇ_xCz|7zzsy=jr\,o3eMַmCc{Q[݋oi<(vM>doYEʑ6YjTI&g}U 9F !;umrWE]*jPvUVXTIzdd6{,oKBQ^Ckx% nv*@󶜡/\2G x|FAxK(<NhН:yBG;N|͠~ăʡ+_qא*3͊+4eˡ+YW]yy~D25.,х:E>uM5qbSͥǀJps&ѕOk<|}-:3M`Sr76YYpn>O=Yqxlѩ]o'B~^tn}qH_?އy0s=>ij>.?ע=5g= A>k{mz~B<03NHQ^ہˤƸ< ntٲknҼPt?5zyjt$Ut-_Ny1@;+zQ1D7ϳbxS. KiV W\߬~O~j>/TeV#unCogE3cӢ#qf,E?5wTf^?`}x+Uycv8HC__-qy}3;xٟ |<4y[xg~f?y9ߟE}h:bz߳vk"ګ=?Z]? _"=1CS__y?9> c4ٍ_5{F8>!x{sxo7Gs^/\H~ ;Y"h&EzvhF3Y^|yYFgCD3n,/_ }ƢWC|沾zFbkw\C¿/<(z\<@_: 4⢾_3;cH#Ohx%GFKU;BF~Z n4Ko҃ECF38G߳Ec`yW|} ìfL^-߇+KO0`)x~=ăgx? ^gvE񬤘h٥h/%D&Whx,{h`%/.߈!} ~A ~c}s|}x3r^,xZ?4T8AD2tSW'ăGă~{,֫t|]*3U]wʌ ϳDO KO,3U>> lx?JL?x0 Dy]ENy\к~ꇟßWX}#߽|-.c?bfg߮ rh(39{D(:,1%SmOq7x DSs܎:]?}<9#YdFSg=Gds[Lu4in5ϩ8]%`9|8WQeY><]қ]lb/8 }TT~𳭜W(ۢ_o_o^_o?_˿{}syg>I>&9nX>&if y$6n1ɱuB1ɾuB1ɶhI^c!odߊc#c>fym5c>f}rE-X~,趏}̲m5cKe^xp>Vw].}]7Qv(o<᲏mg}_mz<;mzm}lc_Y>龗g^ >t~ǒP%ٙl˲>}>ǖK1y_m+w>}TN>V=cSW2&cEqc>b퀶~>e}̲>ved;m;c<.!{cYId]1۵lt벏5d]ԵnFԴS>V;l[ ǖM1ald>>֊t#n}h%{m鶏 /ǖ})Ǫ]]FYcsX!ch ,?fi,90,{W0Kc狁YTW!}sr1b~A_} W>VH?>YYiì/70C}5߇},{6c{> Wa"U@y>6#0}7Wǚn{cg}mةgಏ>"{Yg>>(14b={|hC7$;Wְ}ӣ,XZi3}\CӗOOa;cGQ{}Xv*ǎeע}(s>v>vnq!X£՚4c#},U=c>czhKg>c>~>cx~ɶiO>V*{c-q|} Z`c]&op䲏}8[ao>vɞ@Mq5cMϐCvL;' tٞFpMrFlcBHm}l[|~F3}Ll{cFX],1SU?ǐ@;cಏٞ!،jFھtX>dG}mXs{} >֫Gزg>v%5dNh>6/ơ>6OC+ذ]Ma{c"u>1*h?} ~h?U},\QtD_p cᢈhCD{ cb(Ҙ@L>j0ic|+k1h/p>֏U12hע} x@a%3h}l\>6NG!1=]kY>.هd#ccg}\C>Vܟ>V5>&cdCeG}춇>1|n* /FkDz틲eaeK]:0,nFX:տ>2Unc!,]2-XRRcv?V} >=>V_!cƲncOm'}!ز>Vm}vwacȮ#Xblߴ/>d}L_fֲ}L>VmS沏{s4cj>mO}LTd{cC)öSv FXǔNc>&{ciC6oiKY?>>*RcgجV]оvԍ},]jJ}K1Q}lYC1FhrR1؍XcEzo}l|c󭶏ݚeu+}l^c}lQ`f>t}Pe͖}lAΖ}l`g>fmb}lh>-ئǣh>}lAҖ}l`i>fmӖ}lj>tyeՖ}lj}L?fhm-1k}L:?f.ǖ`t->6x>F}ǖfǤ˃mwǖpnww?g|"hLȵHMEo&" È܈gZCd&:^Lǐ<{!%SݤWx&nүDEMLPI_D{a HF{<~D~K~%-oe/H )^__Z'_~כsa!~oүėPB1I ~;L' Ŝ^F{~} ѐ# I?S=HN)&YI~~9Dߤ&^(B1] m_^DZ-3B6\(f}I ;vb*$y-"ߤ]j!DEHI[ ;ܤ3e{~\) ҏDq'E'MHLIW[HyE1+?NWO-v~OTfүp~$^$hߓw/%ҏ*k֛D@"sXsF?y<v)%?4SHQhүDgD2b ψ{a#~&Y7_ Ԛ7~/,aE EoMy]3"}CήEMMȅH:EEM0"&)"e-"_5s~̛ۙ j\H[4"I$פ_3_{ۤ6/30JL'D&93\vҟH21CLҟ5Hv&%y~;)MY>IBaEmH?U;\_ m/iŤ|^ //H"C" ) n&r,ү8Mq!ݴ^Er.ҟPýPL0AB1x$~/s~Pu|%v;~~T\\x%H?VH?7I,$yH7:IMj"&]N 0HagM-#/gIOhr2"'rrE'3&I -o'I5rFgK ҟMZE48AMD"__~~ {mȩnC$X. $-XX.d _^H{!0fH?j!/k!rD1O^KsH-$&aH9oEu`/D?l"_.S~$+ДUfʟLE1) ]2LoϾɔɥ`?DlMo^_.E)+@ĘSvQ~BעM'5W(Q1/֢S~D[.?* r,ELO-J`_ٗ/t7)("3AbgSD"ߋ7'6o^dF߮ S~ދw/rS~S-gʟW-ʟMh bAEOxL՞7_Ebq]5 ʯEZDwtmܔ^˵Q~(D}5xQ~"׋{S,)xoS]OQ~3S~wN);?3_rZ}'i|~+_%q>Zߔx{Bʯ=_TQ~O_m`w>0ݐ+nQ~^F˔_T(SyZ_'u/LZ00z z?ELe`L~gnAjh{L/o߲O|.,_)vWWoʯYE'ToOн̵S{Q~ͪ/ʟ(fKʟy?L<+~{;|~QI (^NҔx}g>|h7S|Q݊(IuV>v8i9??H<]sءkBp(!Jgʿ;v0cx;n-Rw+aܔ_M}@͐Hx)QR_mYSnQK˝|a|~W~z_ϯSST/ʿQvܔ?;?(]#u ʿ~/!L5ܔ_fES2u'OW%ϟ?eQ-SOA޾L25|\3ˋ7_Z/Ȕj9_ELտ|~S;_kEM%߇)1W>{MO(ʟW>3M+|·77A`Ǚ\|GS|{Q~:'p>0տy~{} ;?ZN|}QWD5,DLyG>]'w>$+'߯|~/"z;og||w/j._=?v07˃(?ϟuIΟ7zE))}P.;Km/*|~$M2^^a{{w=+~^˔_7'Ov8_+.nM|k3kZY(]]r>/( 3w{0ޞfxGW]%|~v+gn Ͽ^v_&roOpf_{EݎI2z8w>?LXy'H"I<8I~¤Wk;٤eܤ?v0.)`ɽH 6v#w>}d{;3'| M|~+s{~GH`~3ߤ_߻7o"ߝ/ү4|A" IH"# ү_d~Yq)rۿk}vt{{~_tI7ML^˼wҿwNwM?u<|g wcDr$=0:tXc}VlYƴ0ojFlկˉZ㴺P-i~|Fum ha66</ټx#>kW b׿]֤氚aY6*ԲӤծT"׽Ka+~F+]'h4 8^+aad-a>V ca'}<_L+:~?s1wѠϥ?~<ISd?9w9> /ExtGState << >> /Font << /F2 216 0 R /F3 217 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 12254 >> stream x}Keّ<0Vd nbBm={=ܯ'0̊<3bq뗯럿_|Z+zX_㗿~ͯRwu*|_~eՏǘCz}y 3>fyfhMf]&}ҼO|Qtud.]j#tsd\|T^O3xχ2wqt~蔏:a֏2hy<>ڡW湗:kf)2.u_G7:c(UotG7ػ 45k֏Ç{;^誯_ż&oORSm7\z_YG}v|f}G94אt)6}ވcg1&;c9ۈPmVl߷֏~G@]u#l!#Z|bXk'~[[]hI6:3 -Eݱw/8d~ǖ}6'R>pTmإ:w_W^c|׾/竝nx_1X:>p"k.k=}@{^Xj>m&ώދ ]?{a€Ŵ}׸8|oCf{g1z4hOx| .=ho_b1Gռݿ^⭇uk 6sx=bj;X6`!ݯʰ}_ݝbs|t. .9]Z}oXdOtTbqNj};va&R [;׾+|zvNտr̜_/B?6f{/\tRlu>F\86w;,?ΟX.[Z/^9]\F÷Dulۧq=_gz}1pmgoN}}?Ujvw Ln<'4}yݻ e*uk޵~1 ` ql7dh?!]豞k!sw_N|5bnwHpmmW4Fxyw]JVGhF;T[ϋui[SI ^G;F=Ӽ غ\M?c.Cg-F|> 3SS^_]dcth9{U>Ý:Џvpث"xw1<0g7=s+0[.,ǍHGUϳ0QkۿϻޞnpM mS`96,kp5́^o {;8e10*Za3j~~8~B+<]C =l^ޘ&:GzaFt1Y W`> Ox]q=/Z`j/P ~m/BG^ۆⰢ–%{*+raEuR,VV48~mg8P~^Ug>CoXѾt!Wﶱc7_8~So&=? &˔Q}67껄vه 63|8~vKΉ՞{kLj>WDC bF@t|؞zޣ?u@RX>ǯ1z9qZpEG ?J^]YfSb??h$Uf`G؆#A ow)w2cK?S+״):_6A^Юi30 p#f2yſ n?q~":9lOcoGa#^?p+@QC#V`F/ϧ?_q>z?As/BoKxMw/w?EbȭSc,J]\س Ůwjnkk݊6J.h *GZayhK+sa wZ[yTew&.*$84eC;̞񭆅vQh{ ا3F$q6O&?6j+o(5шq^ݲ, ~OC<΃p1[@]wHqF&mŎme݀eQ0Ad^z@j?}]؆yeqUt.(͸GGle#ƈ>ЀCmq8iI`߷i:esl~3.{a/_щaql~i<le3q De~(le|[wC\6͂F\6s|!C#{2.%9>ĝ%3.>m#.["[϶ wi\ ^I[i4d~|Oƺ b'|Um#.[ ~_ $L" [wN,lMKv(.+~~leUqC,1;5i>Ai}~ A b3e磣cqwU.?};w[q@QZ_6ƭi/DZWc`yCm=/;u=:pO ?,!rW __ò&YB}7t||v7}ɛ_~2O.p> oNX~ZzE1XdNl~:b>e#S5| md_[zDk &7'q܅Wg󽱍ޟI?|饾4CDlğc-sd ?l 3l<ɋO'uA??|o'~O_ǟ_ߦժxAV*6k#v'6Vzf͵RvMimDG?!Pzo9KFﺢU?`DSc NO52]I=`CmEJ٠ĀHuh xfΪx]H;$U+L)1/Ĝ Ч}Vc enx)Lhxު7B~M}U/E@j< &iϋLk$ y!9N1FĀ,{G,'.6L)=ޢ i866N0!c#A%v珇X!p^M)ԏa"+dUa.c-bJJYM)!dNT*6papkw{G*=W*ĺVi3B c3L)ؿ;bp ۰Tp6!Rl Vix"[i#H #zFv̱w2,\6,VM1=j|0,%m8y-plMB!НAG6a~ <ʑJ\P#D}.,eEO%$e@Jj| q_r|i\) "d36 &$^ &noEd1PWSζ? 4܆b|)0C+]-؊'I"sZ aZ%b *!nj5s$x+" [nI?מxBu]ӿbvQa'#|}TQSEʞ<m=atT[] n*ۆax;R8b V_~́IΧܔZ?NEj)IYHS:؈3 !&Ê".1lūZ_? 6"*LGK8Tz(7Gg9-E0@ avV5)(;(? 9bQr4Z؞R1-)ʸ(1rj /TETjO*#RT1THBRl([kTAImSDR#ǒ|:9  k>HYzJa7)+\ԡjL6˷-(re=_يCZ< ?2h ߚE^JM$B@ReX|[P lFߡ ߎ*?!<>C!!D>uVC? ʃ(w?x (_vBx |a؆ٷ  eJ.xnRt>FBSٜ_V Nۊ.~߅xk쑒dT⨽tj&?SO+3lXk/×,8Ԗ)zއ!ٚƳ53G[V|=)Kpiav7k}dbwRgkc2g:+<B.%vQ9 Cj{Q)rϲ35\{D̸1KVC{!e!hTrsfmyZHw:n7aio7E l@T iYp`H'!qaB3 8??{HxAIQ,.OFuZ Vr< PZ}k>EZ?BV1@ĪQq>#e۔2P;@S԰CB}02MN9>b3CkL'ZͱDv n$B~g[L /`)h8<yE3#ґ"Aˈ$nB{dj$Ƞod/[|;K(@M©dD%!B ͂$UD3SQm(EX@YD+4Km%?)S21'qI#<\y&AFyc!.Z:MI@Pi;SV(9^?$qjJ~Tt]ңҧ gJB{%E[ {)uI%w? *" a JdaTY*cE$~=s%p-@ZY"JA7._-I&W S`4% ·vϿZe"T穀?&B{fmH?b~CW&XI)@D UrH Zę1kpɑ%4$k=?t%!Z' %ބmUIFs*1`D- ʖ!SO `G5—*." dʒ*aRZ$tjEޕDYÄn}u\%JQ:N]S$vmU؜?%%(~V-/GHp(vpdɈ%"w$%;  R5`*4vZz 􏒀JuI!'SeX%D BZWI!zUWCM֦%}XAJ\N@~dV% L*&~H9JMOI4kJ`>KaP5ZaNBexʥ4$x.ḯZMchGw < 5 D$LJ؍$:7&*8ކ,U>YHB@P]4B?kFC%fq  ,% ;D8L헠w6V)  J)p\J+ 0>Dh, @Buʿ`)rͯ$$2C N9D&7DA$' D x@v_)B)uT:;M &%@u\MRm`?(Bi=g| O)?.)pSًDK d `(MڝG˛:.{6@oi%$jϣ;K*&L v OƴwpԺ]G~& :["8U:FCݔȄXUE} 䆎oj"&B.0Лpk;K-x.n϶[z OH|MqrS%U$'RJ426ܛJ&ڛ3]` <̡-:$LrWo+%I/Up%O.%DjO Dl?|aO>Wʚ,F 5[jd{j'I3aؖw\fN=xLPUL'KwNR2+3wjOh뾮3D,&miNq\Dٓ5uL+8/&L8iHHE3PrV!}]̵2)xϧ\{vلȑ|3(*f:, eתT;?Vꢰ/8fElȈ Ry3f ^!k:kv'ř5m準{UZ꾦W{V])\%7_j2Qq֥b2暐j@J~_D_ (E;ئgʀeAq+ƒ:br=Ƣ֞CT5';d-E70)I9mhwwޭ*y)kyPek f]y΋a'+JِoQViOFP]歉aC(>a(\I4Mqa.a>I]40S*dp ~$ɼ)VNn3p'ͲvNw'U %PN6)ZE4DIc+%]y5d ݿdrqh%oXqȝyk>`񕡀a:1"r[~;g9̰HojoK*KWms?3H.~*! Y9I ظi}P_?ްp$XW0Tea|c-nBu-\Fc)?y1'iݮ)U^.'Q4$l+r^7`Zx˕T2仯UB-] NTʻ ܗv Z .tae `+Q]yR]4ǡ-\%6]:_ЗHLm1z_3f_0XLkž3o˰ʊ0'o"iIϫџFy-ǪypK[y_ 32*7Xkc<1}y]yg-^2E4W^J\%,&'IJ?R{B i¤7oXvBpfy b}m+ ~; <0 πBKt& ^S' æN~|>GM0 .>Zdfv?џ7Mnk}VC?o,`w'OEW_\p*]5bQSj%fhx 34oy> S=EÏdosOa*3Q:RfK._5r9UV6k\V%@']3[ea唊 ֗1/|/vB~VvޫTLS MYN_z0,7gY-,MnшmNBB'Lrr[Kjf6CbNAA,eJ+*v㈅-_:JUN=;ꩣBR+ I'?$fTS-g&qٴ,Q۰?L: ‡>֒MRF{ܨ.ئg!!bLU!@NOazy|aTò=:dS }t{3V֗w5>׃ %I2/|9W ~xAŰd߿͒v;yu?) z'y?e|DCy*?ٿۧ_P (K^Bc5y^B / /qgd^7endstream endobj 574 0 obj << /Filter /FlateDecode /Length 2855 >> stream x[o8_!em\͊_}C\`}Pl%1۩47Dtloi]$j8$񛡚gYrJ3UJ2pJfaJG^n?:{:/ 4B&82M4x-m&sQN3(2+Ngٻv xU9R?'~oI{7zRcCygoWkij^;׋׶סl) m1jUӠ&uPF4_*1}UYM L9}D}*(\跼 yH:(CC[pEWVS<(ε< ݑf;vٶņi$r_MC<,bhǪ%ϊNx&S];TWEK>Ff4 r5^A뛆-u)r-y7;p5t}RhvR뙒$hP IAԶWQ(qX w  ]Q.2 a W[ xTHBd2skUQtdeP2ڋz`kR=پw W'9K Q?oŵץF<ϗdkZ= A3~FsGK>E>6DN|T+o֭Oo=|{8E&`F fB NPBw )L L*Ym $/cr<./A' 쒺Ukw%)Q`+Y* F`o6uj6tNO>nR. ǩ>*bH̴A0%tjG^EX*;z?CV"(C0cמ/Qwc0I)7˛ AR..,qaRhZfӋ{8qOVÞR+ )ԭ=#A?- :lܷ-i²h3$i#OX7 O_8#4u윦*SRG[B㟠]QRQ*9eE'C8Tk^}dc; {M-2xtf8Hj{ iߨm'$W#!Jj+[ iϺeGW< ;ک9\y VU r< X)&YRH28@M#M:r/1xt&$*wD@zpX*&|"asR!N%.znk17Rl?YTYC[a␪G;?d!J*fbՂ[?ADu0&@a5_[0H%Y=,2oM[Em8uo!QB yOB:R_(,oSL p7F~0 nvc N.b.y䠁x`Hy/R^Tzrm<=SFD`"pqܧian˔+ ;%`X:zDuJ[;Q(USV { C!8j)t+:aGn);} ͱ6ФPG@L(fUK6x`pgm+!e|\$m+$6$͉V/UeQ:l`@>09. g@cAĩR3u( 97&A]/³sV"pTj6~61V bɚi)񆂛UbJaiaʚaV@$&"/ny)@77mLBб]AR|J?iA|a9>.'*` "zb=JTss*:~ #pbӉ?~'":L{|K(ѯ2gu(@=Y\9mf0@:Ǟ,]Z. eq5Sq~.5K^oݢ&:ذO8^L5d6ţ;xAI4d ~Odv# T![/Ʌ)B:\Dj"1fb* V8\8tRa2 ovɹS}%[A95P) [o}:GL/Pav~"/ic_??+~odDlSă\b!.~?piuj" &}Ҵ 11}loȕk ?DdjR d/EJME"ǠG{A5Qa><ۃU^?ʛ?&=V"miC+=>#E䑙+62r |ܫWlg㿎A!r9) wV7pU$8$?I~tY2E}pV߭RTVFJ gendstream endobj 575 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 576 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 577 0 obj << /Filter /FlateDecode /Length 1003 >> stream xYK0ȍD"Gl: RoV,=~IՊ|fƞ/NyՋ#'{AWpf2F1!m5[To럟Ѽ\wDy8]5 euΛVJY\6?]0"roV_CIb鿜FwcUҬY[Sj1˻4B9i+S?m9Y;|ķeX1"4Q4@U+Z&z?!lFo<{>#HO)?)pInw>Mv%_̆*rI. H Du4 r)qqFL7bXfd$D8lOYƈ[(71}6fbqiC+ɴ|&(omB&Z"Ma_f&0((cbMCN2K (-@w BCh>:=ER!XST {}@ۭ?oIa]{ܡG**͖U{1*նԢIӎFHHَjDh*X;Rha:=JeR"KRgH.G3(qwр&USHףz$nIRM$,Ie ӒZOe9MФ>=RDZd^rMR&9r$}5Ipc!&/EIlɽ͛zM$_&k-$˳ $9* SIVGH#H#pFR%S7|_!!1*bT&Bxe녫 ly;}ë2)!4Svcbg?hendstream endobj 578 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-010.pdf) /PTEX.InfoDict 240 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 242 0 R >> /ExtGState << >> /Font << /F2 241 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 6437 >> stream xK$qWԒ\ϭ9E$4DR'Ήmp`-awe#2_Or(Z]h׏\v{(\_rxOo ?Xvv}ÆGCu({TګƣϧV*OV&O'Ԃ:zBm]CW+CώϠfjg-ǰ0XsoVä΀rs5mjW1a8] 1Z ^Sx;BVe!f{lGryS>+a>].ô;ݻzOc)\|6ȟ +Uض׺۾ϹпQlBcbQB{C>\U,o7Sm ᖁ^c=c0ϣc>~jHf]0l~퍁 X V=\p9:k~c=scuG \v\=` \WگmΟz{{+p{A\wjĺW8puBP Q/DpPM 9c{FnI{h||}=3/ofX l" Achl,di,C|X*(0BWD6F!pm6tힷyh|i} # ^C ;lEc3'?cc`Vkw4pLП͂47wuñp5_Fzzo7lw,6 |^#˵y7|#7QEy7f̟ooz/iw,9AӞ|#5G;3TGb>h̗t5;j_>3b1a>aY? ync6b? wͤq[ 7hvhH7op *Bz@{ }2-a )LkL ټ?2:?)fHxoUzb?|@oU=~7oڻgL; r&oMi>/||h?||h-o_'V7= F|oظճ'׈xHLۧ (> }"/޷ Dm|n"wD {t{(~7? a`H#j/"7$Z# ?"~}7gF%eC>|gFxp,ȧކ#?0loxZon/2扙b,?%'l\Vr ڣ!;ȰtO/ ֨K6lnF6d$Ob x+⋐>X]TW߄lt+"v{CGj_ԧҎ!}he7i$}@η0a%ytqLϰ({#(toAN~jdr\/jQb䌒)sd$%.':tE5H玒HT_S\] o@^U}qDu#3fuHzYz,I1&l]Jˀs'΢yxʫjJTj|a啞 ݌J,"us+2 }AXϕo|^KF {xF =B$z!CH9uА١2٬$#ǰ\#C$֡P[F0i_X8x2; jguO2lGprUz2YwZT"P|zbӉDF$;q#dbDo+v?cPrȤؑը\8b8켽݊J&2̮Df!kq M\4dv>>! #2;ό*Sh(vGjdveLnmҾ#cTxO4*!gMeCf"f>**#F`C9FTNfO!!ӿuT^R쨼T96/iT^i?05't>C:^C=/k?4*/+< Aʏʫ-#L<*/iT^M![Qi!ʫ%**/WoDUF/RT } aLݗ}So{YI^`aQ#M,ion*³ȥ#eJEnW.oL/dD/һ iH{ Ϣa8_\_"t,'+dH#Ka~hL'C#~~n!>-?7Ϟg.)0|5Ʒ+!6.wC:wI2I NJlx-*/یШLrl;)*/kmUaRݖEh:#brC4r?Q9E ʫnC"8"٩\zEյ? ȗ}cU5GW֥ `J,!Izkʫ6.ҘXǍ|,|3>8E>ϏH܎ kH_n8A4#:0 Q~MA_Y3$ʯgI#* -\Q ! K5KENwR3/_ F{H0{2dcr36~[ݪz!q@gs(H^Y_ܝ GwoMϢnppqy>\~ȃ|s?KBPz7d^?Et?Ϗ%ڳ/ck|N\_z+&m>Ƙ'Ƣ|~8+uħ?e ރOۧ>mkuڞ)mP+^+; {G / /^ک3p懟??~ȶ>/e|g4(3i$^ZI#MtFR"I҈*I]7iDQ 7iDQD˛4"ٔ*I"z"iԙ4JE Y(FH#e'xj4Du":EiyT'H1":χE@`IGh븛⎎(Im]4OȪnE݄"ӹGEޒ!QU~&QU'Q4jDѐJh1(U7"\DE3[DBMODΉ^]gEm$Qt(JDεa(*tI.!|%Qd(M5$`6($(*E]8jE= )E Q4vH$pCD\"}EkQX!QsTR$pJDQ8MK(4ε"#(ҥq]QTuDQD+<"w $D)QKD"߶' #k\'Qd&BJD%*ȷ"-ik[:CE8&Q{$ $",XE8WEDHbIDQsI5$tzE''h'V9D(jI(B C*-QvYE8gHAIzBϓ(= !ETD/h;s$0Wh$H"{Q4PQ4k~Dј"D "!%Ǜ(ϓ(.BNDQKDQKbFDQK$"=;7.J]7E(9$pE^!Qtt&Qtt.DѾEZD{.EKnEKFID{uE3Ecf{$ZD(D=@E(JB4"I(2]IާI((96D@(R18OPQo~T;>&V|ƌv} /$|do\!\|ؤE^MWHSF[%@J Lѐ 0 |F]|#u#,ހ/woH}&`TE0`$`Tt+h2ٚ# % 0?%`t?Kn^0LDl0ʹ`)#KHQ^ 05 uiH Eyc#(EG7\Tdv Ub7\pQצNh$,Ddg-LHA冋-pi'\T.^%3u$LpQ0& .j¸.YcIȄ'\d. w .&Rpऄ0*"lx'hM!h.͗'Dhf%ᢕNOpOȃ7ក)z, \Tt{E$xn|.JDp;"z/pQh'$H?Cᢄ,.<ᢩfd'\\0ࢄ[..$#ᢛL(DE4Rǭ|$mͿ࢚iE=\-!%|#(GE*nho; KH7\$TpQTtpW0 1'\熋H(aEgp KD'\v~pQ^EpQ϶.[׬$pQGER>pe*(j}E &\tT%\tsE(S.BQNMḧ́.+aESa5"7\4g u폄~p5"p!kYpQdoq*wxRsREȝyO(m^8ԡ&\tN<#h᢭$\o.Z:)NrP_E2'\4v~Nh0ᢡp].:MOȳ.xE3a!E&xFp V"C7\$.$\TZ.  ᢑp.0Y.* .ʟi$\T .J4"h.j / .*BVd𫎝U-Eg>Al>QrE'wY;ĊtXQZ +RM(aE%? h|6#V +[ VŠCXQބ$VT"ݢ$V;ĊtXNr+=)(C"C&V{ĊtkX+ҍSbE#ߛXNJ{;ƊQnqn-"]="Ơ'VX-)-XI+etcEDnhI +" tcE]X7ڍ"!I Ix+J)ҍ-3_7VrycEna MOd_uyBlH|֭|-~g<ۣCpH{~~? ,ڰƽ?|sg?~~}賿~_?\endstream endobj 579 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-011.pdf) /PTEX.InfoDict 244 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 246 0 R >> /ExtGState << >> /Font << /F2 245 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 6605 >> stream xˮ$q)zI.تgn%؀$ qHC";Kt́`KDFD~rܾͭ_nsm{}[=>/_/W_u]/own|+߼pUj{ݾ}[ކ侽C"}^kHNy.qS@N\j4uoj 7{9!UrI<{oy!KKW뽪:$jhyPS=^T?KM ʁ '2rvJva{ELɽ)?cc F+: M5sۤ7T'[(:_[܃r'z4W;r Ʌc:QK򠩥I9ϋ]8KS])ލ]7X+'>r]mK zWk 4^AM&uĵ~ݎ񅞃zqѵ6tcCsݗ+Ԗ\ K νvsp Bƍ4+>*.簆MkX9zO:A{]5٧V\)ޣ};,|H =h-<ޡcuQ:] 7PѰJ.貥D{vHzFxm?l%7/ t`c bfŰHB3Əh} s5-L4΍ϒ_\g̿o,a YX:h]1ࠥ7~;F/,-4\9۾ 9?aHa-Y>R7r=na?0p-5-⒢\}׷[pdЛb^jc!A#ڗ|ߧGC[&~onL[wTp3{u+$tl-ܬ}z趗0t3z߇}i࿎ Q05k/>e+ n]A߫C7o夿 G/*h]IKGZ?p ҋb~_^׫7v 6ܬ?0$}'r6t =A?Bh/U/|:62 r 0%;L#R pXpM)핉%o얱7%sȚ2cwwJ>Xb͇1D}tx\0e㰗GQ_A|u`ێNx"D} wI3?i^ seVU_E|\vUd7V.>lpiA@/Q BrkPkl|v6dzVѪ wE+YZQ_/^E,{ҋ؎«\:vi8A7/ho-Q_5u}l ձڟ,"Pu4rL]ZQ_xQ ?$_1/u:I.y=Hi|Ȉgi~C#.]9@&EZjfaUyӰzD˼0Lņ>b^}z= +L9v>rqb:vJFԧL맍Lzjdeڟʮ>3+zF׵K}[YYvV6tɬLFYNͬlivȬl{~C#+*߇(+x"kzdA?MY >4viz.]ADcɬ,S91*dhbְ5vWQQdOpQQuhgl~D}Q}0]@T,W, "ST(O%Dњ QszGԧ(IQ_cT}unplܟnJfC#ꋨ47J\h™"]khoj/_hnYzVFD}Q_i֌JH߷ㅨP?# [mYCFV {AW۶ލZbP/h}b?>d!N-{D70beO.F>D}~^^1UO`6azƅaփYYuj@O Q1 |.EHOGT0deV5>Mfڿ67zTfd4?X,PIY,7~"1af#5}VU*B,U-G55R+PuMce ifUbI'"3FpcBr&{@4x1~y D<? ǎǏf%0N0ڛ߃9ڋ{X@D{j53CE [SŜ`>$9ڲODI 9\F])h>P6֘V‡h|#DR%:qH3ƂF5Ga ƜEߏ9Ljhal$6ĀsĀѿSB#G }tbvNCB.kTR3B԰6QI{NjS-LY+h=!tN|O~,\TR[O!,Ԭmj(:s4rVjV U,Ѫ*7,9^lq*cE%F:5h?J}C X~ĀZ1`LPmraBklnor.y -p0}"\7:,V娼x*k}#55rr~Ā1bJ-|Ao] 9k?s|y)Fk%:Mnjo1G/8{q!Q Z󵸐f=mGֹ@ G(<ྫྷ9_%ؿ=mEH[7sm_%xq>+L]LlqY8lduu1K\=;ỷ_Cۇ? wd߹ }ۇo~Mgb{yQmrg? Y|yaQ%+'rebV/'rȕJij\Iz]\X"W)\=\/ȕDRJiLY"Wf#8ȕK\9LR7+g\]Z\@KZ"W>N6rUDDK 7B\U'ʉ\\k;-!W5Ϡ\2rzj4"W&%5%\=8#W-#WmUslK(T MO"Wcr|tYrz +F \MBeX2@z"MFUUr5m>1ru4r…ruV \ә{"W )X!׻+$b=FqPg䊇XriB a\5fjJnm~wUOa#F6k!Wi3r5H&r5Hj%o#W%r5$r=d IxȘejxJ B\u$r3rՋUKU&r#%rel\{!WD+f.k\m#\-'r5Ut"W#U߶#W݅O#WGB($lk~z"_X\p(iF""R\m^&rד r57#W{3r $rs1r\M0ܴuW?KUYSW&e\(_IZ5M^!'*ܣ܇ЫBpҕU8"QWy'ziWӁѫujjx3z5f=lrWatrW I&w܂\+UxX/j&N 4y:xZݘZ-wF~:K:`+92x&ST=G+A+8=YUѦ养♉jKqrWWZr[⮮wuMsC殮+J.U)Iiia _$wUVrM-kZրYL1$wU2wx6qc4h4w'wuyOj%w|RoJU5WU7i?wmB*p]%Wc Ul]'we8+]=W 1a:]a$j9TNjmsWxŽ]eb ǵ]rW(l?'wo*GU={.krWh&j]G%:HUsKZڛ̝²]jNU`rW=9sWݒw5.ۓ+Ej8Jj.j>c*Cƃw5$w5FOzrW:}pW_sW5+w՗9PsWHM>M \sfjႹ/&w]U]]3wUCw# 3]mCʿ~Hj]gfr1]KVrWݥZr殴ͼ?ڒ{wUҟ~(OsW{'% %j^qW0zb*]!üccM g"]Փ,ړwUNO^+pz?+V+TBb&{5KJfvފ^mfhj'#jfj7xϹ]ESƨ]m_ҔS"quY:C`Jnu&nK1qꙸյnU\Jܪؕ&n?IܪtBz[=.Vu)Hܪ9Oܪ' [5P+q$nl_nՍ'nT7n5ĭ0cj[\ƭ]GVs0n%J[-WZ[aXW#[GV_2\Kj{~JO=p+S[UĭJܪY-*񪟋[IBhDz̀ _.?߯d ^-4Cl4 kDI@S@h?| hj|4xңendstream endobj 580 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-012.pdf) /PTEX.InfoDict 248 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 250 0 R >> /ExtGState << >> /Font << /F2 249 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 6520 >> stream xI$q+HԪ3dl&(4$R^-Q$h-eW,>Ϗ|_u]~zq=<~Cajs7V}!_C-y s^Z%rQFmkd}ƉV(Sr9 dz(6 :E ހ F(1!'exh?CrEuJ>z(+7뵩7v\4Wv:ReCC&DC}z_kP]}Q9M{؅9FKLکgޓZ웚ѹ(hƐlh>zꎑU5uљ*o>;70jc.ѭVKxmӨ}=[^hz<ס-5_#9KOOu-W~b\\ɥv æyz5&Qz 0*zVjџ~ 0IJ9EZ b8O賨'ߧU LbX2@FwgayH=BW;uT- V7&^a0T{W=ߊ43 gŰ9#K"8V:'Fn:~jޟ-C7z?k3ʋfYt(T@/Dfޘ(-Й#ZT[6#:?.t|ugT$@g4gOz ׊uDz_Dzk~+^}ﱕE)r| =/44=>Ƈ׬%tC(g(CG`-dQ|MqbYă1ζxix05#!,*͍OQA`A:&VG;E;#umk!u;]DVZ>S.XEu6] kH1[}u=z۱>r.Xh#bUa T6c0c*iDy1TU^~CFki?18J8t`=0V&}s6LFήc2 gǘ]l\X(1[#gSŜQPԄQ̃9CQ1fζ5s6Lhi3Gɓ\9{~9:r rlsbc|-9;(4rv_.9v`9hU5^Swxf9"9G T5b|aT/.NZB#.lF07ă.4!Јs+MOj?>ޅ]z*^sY_Ziٽb~9nfvy x1G`΂"醁OVŪ~$K9V[x<`9#TY_xBVu}#=C5`> wzXz^%TaNy5+g'zkAD{(s y\sy4W p2QPx=vrS WOH_OX/$ (Ջ?!cN]bM%O8=_>M{5]_u@  |,+Mc{t遁|XhOouU/4 9{l=(4=\!?fxau5hx5 56b F3,^rEaD:K]Ǧq\Hj>FyQ_ 56NO+bKE<,_  +hX+'*H7$*][ ki 0`Oz{rHsOWGnDy~ /zrgu: 0aku5h=FmZC{Oўܖfsֈq?i?|_|A@E 4}G'4BKX#޷K3Yzxߪ߭f}=jϑ( }Wy ܼ\b?ҍnhs$2[#WCߡ'Wِt\ؓ+[Q;wwl=3qɆiSUWU/4ױ果3vkoǚ{'&>X=1?no{h=&Og4fz-lP~cS`}uF~PgX!ǠC_z`G E7x*4x?3ZOC>8@ 8A4|ŅnV{͢3?8_S?g1:GksIg(YfԹ\Y#hˇ~'zji}Ԗ>cڦc-nR_Wl/A8u,u|Huܟ[9dԩh> oLJl/l$Iz۬H]>ӀuGCs^Ռ_ ~D-1| _?>eE.Ҩ:SnNr.vu{]D(46ϣ3 }_Oo>g8n?f/O۽\oSJ?NrtzDИuu/u:vy]|] mх`0]o^A/Elz8}{=>[&) ½C?V8?OJl`Ƚ0TEn[9Zr}//it<>>5?|}_뷟oc~:&62WBx(oKR͛7KRn+iCK4KIc4}RzLJi%[FL 3i^rM[XIcz34֚:3ܹmMc04$1(XęƂ$`%k--0Mc1i,7k-֙ iT3VIc-d'N/i/k;Ǣ-1:O!v/ 'Ú10 įok9i}4`X;O6Mca$'縓2L]X1;s45i=\_X{&}%k/TƂ4eZ#ib'i,4VmXMkZ>yXG4hjQpΛ;+INMcth,$M멓<4Vi3Xy24V-/ '0UgPOvj޹OqLcnz4V[WrIcu$՛v~m/'.X'IcthiȳOr9>McaMce4NJXcyI޹M ҢA'Ikx7O]rXZX=I4VKJ~nov]JX #_5uUgXT$4ܲrIcK;qIcggX˴R}Lc3URi,:4owfƚkkx?iiʤZX;vp,Ax,ϊ4^Ed! t~^bVߡCYg&%(kxꦈ euW]Pw:#,"Y ½Hd d]@.H'U7Y%mZD@V0x VdqLzO8$sMnyb@V͞1'Q}c H kf1^Y@,?;Lq n' >*_Y%rZ,/!n I k(@?x,& 7 K/ Ͽ, d @'5 $6t]@ָ&Yc@0@]x6Yc@&մPȺ 7% Շ d9@V0'u)$ @Vh, d)vR dyvYȪ!Z2u $崖@V),[& >p7U 5'E,@ h1m_?xNdAQ d& dGY dO \ d dV{$U=_@&Y $5ט dEI +WY %eۖ@VuI *- noY &U=J/id)SY= du&է瓁x@V7@( de]YAY#@H@VFt;7P& KnȊb4 d d @ d dE3dހ,ۏbY_OY/M@Ɠ_y@o'a/Y?i@I@G) dG` dm-d@ j dٶ'սLJ R,m 8rc.o#Bo@lS`۸` ~T@L @ ȊR,j/ dk  de +J YW,ٌo ^d"8I_qxK0lxW9]}: 1DrXpKݍ4eCjw]$ժÞ90V7ְH CSl䰸98,X8,KúVaaa7fX֣>*_V C_505Ͻa!|+.FwjG8,v'qXha0;Jr!a]y8(9NrX-7r%'w䰺zrX6=94Bz𝄸'qX/%5v+a8,|gfzq氆1aeXMk[䰆wג$k8$mC!\9H^6%ˤ䰚Z9V}a+90qX59/9e n^\8rJV~'VaŴPH+9qX<bXH.hX]a|9VrDauwrXo&f+䰒+3CrXۻaam%a?氶a5䰲êiêY97mú|sX^ck%WgkV9,]FrX˧aHa-V sXk%'MrL+a=yMkiY|sXͿ9,ysXe4M,9)wsXF9} *)9䘒+oǙ7\SrX> 9k27˜} j9a/8,ŧe}sX6xⰬ_V}8,ُ +,'8.?OPtrx!rk/dy{y/4 f?|GJ.S?>I|o_ 6endstream endobj 581 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-013.pdf) /PTEX.InfoDict 252 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 254 0 R >> /ExtGState << >> /Font << /F2 253 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 6476 >> stream x$q$UyJ x!h!P#DʗwKT́ 9g+y"+o_/qޮXGmG=m_?<ݻ_~ǯzWޮz\/;ǿϟVy[Qk{kUڐlgKN6/ jErw9m,JvY겣 +%{l 8&C(dS _ԵZ*ݩ Iݨ[qqz<]o8<]GUzfPGjJ譺:^*AligS﷦VwqͮuD*椄ޓZ/ou꠮hGk[#@zLgN$jwXWyXo! =z~[߈=h+Q{>ѰjV^j>V'ñzUaV` }Byia =4많 jACk28/)FTЅŋIͰTaj m \^LBhF_c bh1 &z4LiieaJ[m^Dafh64TDV v }IoD :t>X֍&]ʶ&]` aZi<Vj.Zy]5Jr_t}`q~C/6Ų>TޢlJ^5o33au05L EY#9C0ٸib z^&h6jO6P x?d*昤e}aL/&i*3I9B#I /Jw{<6͗a=54~`ok$iq?<IZK&p~ߙ#4xMGB0]Xo% Kח#ӄ@Pc!SX/bh| D 8@?#L(  0KX#ICXIZ:O |\0K?|tXv`ӵ|Sz>^|UO.\F ,5ir5#p7^?`Y/';6A V`@{Vl =W*`lU-S+~~67* L ?~07?] ~0ګ;Ix?r/Q,1-= :R?[ cxߪ4}Z ~pexk}̆{j~Zџ1-56f`G ?(?.JvRvx~f;Z7v g ;T]? ܴF~~0r%hVfYc^[yo6?'mC,sZ?"qc/t(㔞xpd5Z/c`ⵈoAOO?^ڴs :&rkM!-q s]>-޿U􆟶k?/a/TA_E x-zxLx@#cz=cގ=@sw@>G32T&"X]Ԧ5$d57Y?t ЬZ>7_iwnM24`Sχokjlo!q] Ul1H~_KLĪ^>fM9ҋr/]ؔzrf"y1~;߀F^'5?7pliԡߛ6"A#_+7hߚhj*o<&5[S|g'bS[~pR@omjҡOOwo5A_xO%6 |@ȕG&\\Ŧ|-ױQ71K\}ޕ_vO•%_;W>E~E"Krs7y 3Sy]a'·O`ሦe.Rϫ8./[>sܞu<|^9Ni݋,|~O7 {ZF{G'8?ӞT=Om9?cş,Ķ(mLS|/i q|_ۗ<?_ų>XՃp_і=+ɛ/s酿*W4OJR+ɛJi2毚RzS^+o&EaM*&$毚a-Wj2_5._<& 䯼UmI&>寚N|W0JZe<{4UQW{.ފOzk;}o*Fyn '*_tSښ囿>NjOHjHjJjHj>䯖/0䯎y%. fW(>/ktf`W8nU_EF.UsjUK>Un&ս5Uy'W=UIw-%_uo'էLJp.eUX´ifO>CAWcX~_Wc{ZO Yy}_K39,yi+'y}_M$\⯐AK:Jj,WW#эFռ!e n.+o&նј|W9_iG__!U*50Wv0e([x,p{R_Xf5UUOU_aW7k-r<_a+5_h&LL7fō_dK_MrW#UD0~H+>@5~`dvNVIU, _]Մ|M4`W8ր O jzP _aWxK\P"|ecW8™C>ڼR/+a0W-FuD0|5q_EB5a.Zk 3W8s|Eu_K +9>4|uHWiWۛ _݇ _mĒ"W _  _ Ъ'lUmDZ% KZUq*/ _]v7|߻BGuaI*aK*'0mx3J3|m ꔄ_a,WLKjhQ)x󆯶 _%ܓUaR'|Օp`W᫖p᫑0+4' _Մ_՞p+a= Kʇk7|*᫸MU[nW-;+oU _ Kʇ)7|f|57l%jT᫈e m,O _i՘/Trkdhcz>Jj0.t:+bi|OW}zv _E3_DHehvԆ/H _$ _0"a+gIOCuL :^:>yT~W; __ _|5aWc$%*Ek{k$᫖U+ _Ցp+_S5૒0놫_]٫c4NNPVU~s`JcbWH]m9bj3W{[6&g)#c2nu8Vה#Mܪĭ0^qqVwqKV߼%n5%n5%ndB1z U4nGO%[՞8p-ƭzƭn[eMXݸUûqOJ#.qJǑ?oHܪ|po7[ cH<¸՘ƯBH joOjOqY­f%ƭ2CJj8Ij8uLjĭq>V> stream xڽXr6+" Ɠ 3m֞vKZdM,ѣvHN,{<4Ap \dx.K,T2&^<&OFCkhI'U_rs#m:n ;g; <<)EBN& |W,΄&oEEn6lĔ/6 C<67<.U yYhG$A俲gb(^R&47153mG|bЏsZSCG"$EW [.S y4gu\=),X`"{R7ȉS 7:p@T`Tv(qYe ð/rTҫu3 \H6JxlNn/`[h6B\7#|`Q'TMqoN EV`j ߀ !9C%Ov{Y \b%I$S7Ub_T'[ߍ3=aB yvj9&wuիݘ혂p<`bLBW}Z>5фHZcy9>KM 6I>#79ץn 'gju|a Mpq\KK= t[yK>/7:D7g"/2,$lUuH@$>O]PC㫖 u$ƈ%w `Kh>QgE&ꢒ]wy@2OCDζ DTP|4:WvbOl _l# .^kNW1Ւo4rdNg9l=~Uy1oU&<зkGheNL*d@*?a%q2Ӓa^`t?Š",aH<(!endstream endobj 583 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 584 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 585 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 586 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 587 0 obj << /Type /ObjStm /Length 2623 /Filter /FlateDecode /N 88 /First 801 >> stream xZko_Ez&nm7Vc\M{.%8€Ei(>νQ(bHQWE\Fq"iONE#D ]^)A3xEB+BktmE 4?qBBGoy! D* ZC$&5Au2Ā C Ks6OJAX#S[~ X"m܀TT~jIDtX3p+ d x<(`h4?D,~>?K`A)ɉ=w"X͍ ܈"@X$"y@X٭FnX>N!E^".4I1:D"@Gf}13h9+wN$g)(ntC)c0,0r,:Z +o6 y(AЂ2znaȿb,9(A>`d>hnl4)nayK1ZdOCfZ.ڒR_1yW7߈~\ {AXLN䬜xjAJRhՒ`H֢ym)&Ucnfu^ ˾HbwK=+e[\_-*`6gt! lAICO^R@6̫hjG"eN s '2 ^0JfzvY.m=B3a2ҝtt ļtQ*FUnB$C׀neuQΚ^eՊ8%-ɀ@`_BkIRC6-i4R 설&JDX<g`1ާ lrj(0Kt1H Z%#5s#刋-g7v7^*&"=5}tZ οϫ,LgG=,2[kwZ{| pMɋʀ"1gq%] Wcᮉעhz&!pKok\@0&sz\YZ x,B@oB'C^jd)uó7xB> X@wQ|&U{F"$H쥂%;DP `fZ r r6ejYfpKP'H]Q=k3#HyLs6Wrv» C;UwcC'hSFj< ՎHMJЎ\nX&߰@7C˝?<ʟZG_˼>cWE#lr>m۶nr=%O]qRX,& h&!{jMA)E55cZ0,uBՏ6jki EFFboP{T zרr,Q7Dy1€*pg Jʵd$JF`pxҺx(Z ~i;ycPECR92&.D0*f Po` pDVϽ`d|AĚ~DU鯶v+a C c:-/bP,hq+otyh<GR].q}% 93.v=[\75F%4>M!$ܬ.PD^Zd,˩HkOQo;X+?cX}\ =,+樶Yp@\5>~c0Cei *x ~]WK6L3 |qcA|zm~26',Ϲ7HVE9lz %>Q[=&?|O^O~rCJ.NnH0{{fzfzfzfzfCvF4Y;;hʼÇE[7 tropsZ_<һXLK)U{]wMq{UME{hzXD9.]մ?ϦE5d-n-<7m[ocO vV,\|f{yuY֟9YTŜ7aBCV 3Q!&| ܫAbA4m9 P+{둁 //Ϥ~Xz rZA*ґ -5܂$oV=x¶ <}lcʎWãg ']࠘fc }?*%>3i HY U|/Tst#xf3{JA-!I*ޛϘ_D ;x;nK7g/°_=I]\\|pߓlߓlJpR[^kvWS7guϑQkV$KѠwFFX&R )_|ŜqY]^6^ I1{%zt]\Eߙ LC4?U5ۏ_u5ݛ]|(ޖ7ߤ{Gz4?endstream endobj 676 0 obj << /Filter /FlateDecode /Length 3853 >> stream x[o7Bh? X>9iGwq!kKJrC%KWVp8pF|p=x|~~ŷV fJrp~55u=V3xÑRWۡOx o#eMt/browIHD | _wd89+O9}^uoeSܱN#W~E;@3yx+9V~ ?ɒnU|8ūҿ+#U`yt82\W-𫭨,j|igDt8f𧶃%hFΛ֛;+9[w (*٣Rğ/HmQ|![$lE{XiJ݄zX~I4 C ,]Zիkj x]pki p͔|SmG$vhn}HK>(O 8{P5mj ӈwdtcx[:+mvKǛ\a! pR}AʻN!,7M DI$ɜ \vE1񡄤RЭ A2#eW ;(w)ȓ̉j ̣MuKEP"7-RH |Mw6k3c%}_C%C/%Y墣] o^7>rU):lRnۣPpD5Յ[[-NqDa->s{z?nIP~;Hl>z8hiA$1 >i9Akl{?~bJ?K-aElx$ 6|FŃ$sN~(#:K>cq"'oeφLפ|i$YNU_ۗ~ayqgt M*\cޘ/X-Cc~֯,Wa:T0P j{!!_qn7?yDN(1,yRɧHnVP}dB *,U!%#X(j5+5Sm ҲMO@%ՠa|kr"8Q#^d@ތzT\g*f[P 6o,9% ~vV\1 56=xy~$YcSB .gg~1<{ D#g-':=?1y Dx=bߔd!AVxR4Lsu%:x"Z6i{Я'~%hVzI|ȕn  4$JLj ˺HX1Z&ywSHV;{DvOhuE{pEҪxYsGЫEG''r] j!὚5QwH~i:$ PTpS $2I@`&Cbr$#Nӏ 'e1*2r۱{P&y<-u00Yqihø ! 8:Ū'N+P(g}5ý$),ٽa vr`8D󽶁Hn%:.q&Es3.9Q !I:ã`tDG0rjYBȯ82+\!gEnpXl!&[s/Q3 sq/Efv=/Y+.Ր sn7Ĥ05P#^~Y~IĠ@ةbP㴠Ȗ03 V\ &ig$d3-0Q6`}I.+{TF0vvPÉlIP{PC`  h@R{X#;}9V\Yo{CBӵ 685m 3w \.sPϞaɫaYσSl}0(Fk*5Kz ٹXG*[y0:-GCjf{jަ'?"u뿯k9GV^NX;.omۋ^EԠ5erP-DUK hl!O׹ \[7u@lt(G߷ n:$byHwυZ~ߌ]ȏï|51Sc|M`'+~N [T?"MH_U#]FixS:ԓ @A+z] q&x]E(?IAD{RIa!Ij< N[ S'$v 0@,!EvAmE\ovN.!26>Md`մvLɲ~-JWç弌Dk{ =B%;Jv[Xil:^]Yub!S= IiRGO1Wȏ8q3ɩ/}}? J+ېg`>0_joὟ sJdM/PpL?LE{xM{q]l_mU]`+#WW(e# kf1o,%?dG2Σ=,w'GF=;,^DN gHpMß; ă7ٜSf5B[ ,x\~ H~a2u~{c?mteL u%F$f~v7X륃Cwo=+?i,nŸ8mXJ ]㸁;o)T5%> stream xڍt]k V4ڱm۶4j4m1lr΃1o1^59EFB'djg ucg k21YT-Ñ,la!4r9]L,&vn&nFF3## F9z- L#^&T&..ڿB6@GK#[#5@?!(y-lhneh 2@ojpdU K)T̜݌ P(me,/Z`go{og#;{#[K[s5 .KL 05ҍBJdhiDdiG|YThW}@{0pll,mMabϠfk͇ `cdd`@w zV2%eog04~y9Ύ.@*11L-M@sK[??@wt0~>&G )"#/IoU ۹XtlL&&.#aT1(ekf'kC v P]F6F%uoE.)e7<8솜dž_S Zꤜ>6Dmtt*Z:Xks -mvN]8:&F9KV?VSؙٚ{l#GG#8Əcfcx1},)09>:Qvv_! ` bE,? }D>8 3AT jGE\&Eu ( Y~tc& , Y?Xx[|ܳ,>dD?X~P>#]`'هb?g|vGQ!?jg0w8|t(v}f.l]?,>#:@0qqtt}}) h`g.F׍nol_#kٱ ::3pN(iemWVp뤵:-Q ^yzn'TP|X<:UWo+VniN$< e J2/e3tjQsdYPt0ԨswS4p>,^[1N=88෨^GX^%EҡEf FD˼ecScؿ DʐwCcMvȄG~Ydwasϼ29)ubzFVe: Z9)2'XR @u%// hHx_b6u2rG<xsuƯohɂ(`?(ni4̗MnO~'&A+`[.Ke:/ҽc2$*y5:N~d  WȁqT$Q|n 3)Wl. ˴Z4{ZI}rUS@QsrpUs8r#čؔ8CߓvH2Y4ҤU_½4֐)T=?8ka9'$pem[*|_aQmiߐ>fNqg8FqJŢ4f>pfXtr9Wq.RgndSzbnW +s_l~ia{4{[f+vJg@T^mt6չzYϗOT=~Z܋#&yˆR 9z\6&Xvaq#R6 iߎrpuq^d2! :}aV'b2*{Ay@)G)VRzj_ M4RDS^qJ8AF)uK& g_H/~]sG)8|J3hN:ȅ6I/:b9^h! `J m,ˀfW-:0Y ".xjyeBӰnt43|$U@Aj jg:oCaڦaqugyNEY ٳv7'9%Y{@Vy.itm& qٱGpbl3:# v7/!d^*WqdEMo'ŔS3AJ&Dǂ$~C7Z^aH!MA?Mвե'Ϭ;gbo*'"6B3x5|R\Pr4(ec K"]v њj8ĔS)kmMLIa8hJ̠1=] s]ڢ$E7!anxa2, n]qGbI-$K9iTj2spFE%$c^kPkw:eG] (zDZYcQlI"lpM}z~vqAn0cmYj"* Y:% J@#\!R FٵC|>7;q 5cg[@N Ȋo i'G'rO%ɘ n~@6+ aИŦ"ja8ID :ppS&"Y$| UAq)Wrcm{Hbgr(r2Z 7TESǔpza:U7oq6gbȄV,VIi>_IY!̚FC3O MpPHR6eL_U0)Jm[(́~']ӘyVCF9upȌx7.#o̎P?`6OZ O]WE8WMWeyfH؍EX/=%Kdq`X+_%v] UNʃM#~;\ Q9cZ:)M7C`1'0[] AǤO$@|VffɱQcU nb\ŷS+y%_hBk:9~^:n8͚}!>":6æ U C`AuHd'~7"K2 ?4Ri)]FT-54ޝ's뢚c(|Ûa&r|QEV-ܴ,H/2"V'B%wd~P|RjėzEfX9J7oSqɷv8Aj7vB4雡 | գ9_޿2bn+F[[ ߕ^#X=k]hKmF=¬FSGZI(a:߷z*FvMV.n() ǩ 證>R X"S #)/;Ib9zLM3ƴAa2v⌦qFNqdz7X%+('`6KƟL0j_-FhP'" 2ae9xX^N;5\༘fnD, dZ [Ff;o^[ tǀ7N3Ϙ| 5{r]ĘbNOZMK#%9Cdz;y)?ܩjwU; Gc0rݷU~c8!AZm 'mƼxJGܡﵶCY T^HiQȘj{PdBlPPgVdu9=Y*s˷V+2:0iUM9!&a0j_i-89X`=w뷿8f(Đ '_ܷ d{%L!O+ 2x(\ /.:"gm͞m2S̷k>ѧMEne41r>>~<^gL:~)4bi/b{ lFg.)U$߆AfTxRd V!/p' d; 4GY+%fYpbZ3w8ge$=K%Wo@4F!ŢUp_>)q.rC@muUz.::gyc0ci#1<7~AiwFtOi^^7gcCMڰ Fd榈~qƻG2s'j9WwyYywRߖ`M/&=4 9Ӿ!t9]h&펱?~cE ӚU8*qv m a2*Lj[b:M11!#La`4Kpf i eHL iWxßl-ߊY* ܘw\8 {Gk'ۺGk. ?/_A3]$7-;ΊQPC׍A=^p[guPަUe73:(C1HMs̈́A~mpf&i*XS8gx+ "Shs3wZ^mLۧ^="؜'CD2mX(!IcpڥL"'>!a@C ycUZ{R5}VT'QDv=cr5YMb+{ܒB֜$s C(D R>gfì@x0!p˰FۘVM1̳jQR)+]Ip@8o}gmy2 %(}I~ r(<+>r/t]_cdSJʋv~E=[V/Q8;LGz-e5`Tg3s&Uʙ(um5Clt^_'C";kɠnf}їx0m+f'##ٰߊMߵ$v5Ր``6.Gd(#1}2O爉Jl8),} MC +*3:f]'3%O&o{7El]U%RnF~i.?-YՖ"'f@: 4貹jzzUH.dSvdOVuWJG'2peoޯg#CZpR8l͡F%n&{ht<={AD ~=MxYB8 ]I*$P<(wBvYKHC,iːPI]b)muvJfQq_d:r7؋'žnB-א儉~˳qV7[ͺΑP798.>WFobh44&غS843O:~@ ˢ`uj*荕 R pq{>t<0,OrygΚ*P[LF-I`q䭌{bYPG|Bqke۷t-30HmV5|]P!)D]mmSD 5C%śɆ /Ҩ (]SW;)h_ ijJ\k-d+RNy3j^YV =f)8uoΝg. #Z?mcָJ{'pIC.@ѱ30iVwd>Av]'CXE]>RQFDD(ɕ(\8P'Ma:tDEmpبMM>˼'wwkcK( rVX^5scG4O.whFh[}K7(a,~V1l˞vp&Ng}Rf!QJipfS=VZ%7h^}/o֑cxB61'rLZ O:Fؕ?i;$kK[Cg3 De `եTN^Ж}뻱.@y(. [ny੣m( y:«8ƤD/5EU}9q*|A@Dd5r4#dAmFA1UFnSV {R lґ(,&I}Z{cqXEIh0Y;~Թ ktgF'@xUDqWS+xT,=8G:x'+Q:g,s7)io&m\O%*7?PBDlb&݈XZ1ÞEǷR~m_Ib~ bL??A;{XnUPH4Pq {qr.)z݈%cOqtQؠP<-ڸUތ[;& 92Oy`uh˄kP̆ŽNx`vo$3 t2D!Mms43池ݖ0xGLMG(Q&-I':?\1"RwpwzU$A67?ɢ~ODա&y9@)SKӑf0ͨp~)6#v6D] agMB7cPUuٹ@q d -JI+[.{-](osld-{VHBp`&֠9ә ۅd{?H#[ 0֪\n6;O)[S<52dO".zr(Ҹ{昛X`_nn [~*!wNph] 5Sޜa ABFq?᫔*+yC88R%m|}c牾UެnO? |ܙ> DŽQkbS.+D&hgeД$ F"_)%)vGp5 CJZ2,Zg CKk:A2X ǧyC.x܍~\3I"0f W$96 (榕vϖTx=oҵ|IӝxuwLT.Bʵ\0-)\bCbئXj9B:8|IU~K~-t`(1+`FtFv[3Cs$]a6(nGA%Ԣ ;L]Ifkı„OUyg`7ʼ祕CK~oKm[)#)VxQuY}gX|"ZSZ=NpX:GhZ⛩;Wϝ7u5J3VQj=53Ѓ7Ȥ 90r 7=:&A>jH]@h7򻌣1/8w1ןpD d3RCqv8ׯljC+e9zsOxA{+2_w~)?eqwC[f\~w*>6]3^]S-0\Z!eR1;wS R&s̖dĈbt\Z^a*n*{f\J^usu^_&}E^[: `n#UH8RNKC8(K[hIJ3K_X&/4 dG7iRvjJبp\)Qa==_wW?/>W 4&pi~ sWaG'l=s#i41-ՔlPFÖ pԱVxCekA>ҭb:!LewwgN,CC;1\3Ա"[jҶ݄$@.Km<}*2Q2L҃2d1xD)e{!h2\C)cg g4Q=JɝִM2Sf/=RYIcʃWF]lphe`{i _/ץ1 w$6\/n;-F,xZ]7,4XA^\/#t_s_;IyhGd U{2DU2hQ]`~$ UP*&6v؉TLΒ7HwJl[m%Ğp|uM7_rRF:7 G2i L9`G2ϑ@dUZ _?{:kEtW> 8 #uT<<VG# _I0f7YkxsB6(&} ܛ"il゠Fq dn Ҭ8P uHZzgu ﳺʻ|]yozncYI?-ר ACloeiPk?`P&9PN\oݷ^z/`<)ֶ)5>ʪEk҄:^)@ȗ}I/9h\9ӈ-"K/3*Sоy37w7MR595BHߺr]r |ۣ)@%9%#kGo8#]NZ &=Sed}7_MȃddIߟԿ+#s%~%P ?I&T-Qh&~?P2N*dA""z$]| 4޾;2nϛQI JTi_o0hzIj FQog)/0PNMo"~[f߀:'w8eS M  9te(VnYziHS3E_C&'|VN(6v|b%VGq#6[Rf lh VK_jSDBO& ʁ 8vo<]eWwe2t5Ħإmh .WE덾$ ,>11-C`=1_ l(ԪҨ0]K,⹸#u9 ;B8~3>;V:h3`;&Mуnp7K>2 % `ǽLö>x38&?!'gwdӝaDUMF~W6IJ1{gC`L:)UJeh! #+ K}d@O7^ckIMaq<]B_Y¤%9ᠤJXb-kapA>OE;;xJM*%; xb3\۹^7/e3fb~T6Sܣ?}a;kh5f+,R*~JkNE}㲯"+d%- VUrŇ2ݤ)it]F# MKgHOZkLe[[|_)MJh3>||ဝfE.{gfmw$^o޺(r"#_8+\bCos )/B,ރ\RU= } _ČY* k̷38;-,6z)}5c_F2"jT\~xrgF 4%fY )ӌd*n} ;| k[fh)<k%o;Lہo`àP7M+ly^(ݻ"D鴑$I/-oarQr٢cяw"֪rj7J2/y`:C#l@fBF^m^%&nw E%i4tQFjO~OrUdiCUGyhap#[a7 ia=} bv zx$nE+\_^1elu6)!l 뵒91'CT:g#iL?AUkg 1#ʍ(5[{)Js[0qjSzPd_xw;Tb xyB͐8"?M˱yb2fkb aIA. Ս!SP@uy%#E/NͰ̨8J, ,@"~^j;x!K9jϞld?W˹oƵѶ8H>'NJלUq#BGJRE}ʣb"rO,o0|])QO-G YH|Jɐ"\>G.h8T'Ȑ!e g&IJ%^"U(:GNg %r`hXřyǖtaj&oE*GQonp8woY&%P@(µ g,\Urٸ'gfTLO*C69YA^ZqIVIet2EHb:)҄J/w*eӆ@=Ȱ5~#w_Eq+כ n2#zs-n+j۱)wd$-b)6! T\SӸI|2=gT&] C,-=Y7ӰڡG ;yGJؔ0@̪[ܐE+V`N+Bݿ҉<6+I)B'rQğB|P.wp(^/_4ZU:k9>mvΑm & 4,Aݬvyt :|ʑ,13G7x7 ] nG5Rd`QX :9 9UpHҹWە&u.ՉMGPv<<< ڏH ;%VY5 Fy=䝞%x݈u(IYḢfr!H9:-'wc%"c Ao:AE7N!03P9pdE(@-U \XI&!DeWi>OY}UGjbLO0E8>ОJ?C~twX|kN_G]JdS=!|1ɆW0Wg-5CQ4) 6q!)lу %mGj! U d@1nn. e츝| @TxDz\yy%9` }5.Kow2bڣ%q2^,b"qs~OQk?m]c4Շm1;.ط@ ֯eEb^tiS*}$ dsa\:ZvkJv_Oc_bW9 )<5uRଷY0T_27oP>[LXͫ^MI,ZiWf<|6%.<񒹘ݭxCAendstream endobj 678 0 obj << /Filter /FlateDecode /Length1 2279 /Length2 13522 /Length3 0 /Length 14883 >> stream xڍuX/Lw#]CwwKwwI0HwwK7R !) %H#}ǽs<ì^UPj0Y8]YJl66N66$jjM-Zr3̓4u*9lvv^66  @D- vGW9=/sdnjP2uځ#4A@WqA'd(bjl%BZԁ.@gw7lp,HMk" KWSg ̰]Fn@g8>@CN[Yo&`ga;eljn`hjXliEWOW&oES[) Wi15);]]X\@Qv.w~ g9^doa#= ('-0  fcc7z[K C,H>.@߂ sW d; O3`Bv_fWPЕ`?bqqO3 J_qUMAI_-H3tzFPv5@g ٸϻ wNniWajx\K^[Un+-@nvT,bVgg ry-TA ` :~ 3 GܴD@oT){sߛ0uv6Bb77@Ͽb 6,~*7 `˴2?r1Anv8~%`5C)gS@ut#Cq;؂ OL;?$?$'4Y8k'(ox2Y1k rbX[~DVn 7rKHp5m{\v`^[+$:I K G v~j\o+K?_9_V?I+ 0W/n|_a$>G_*W_$"HeW0{?@}ꚻ9ו^T h0`.jSqW+FGՍ )r2r"kIQkjh%h"X^,XaXPQG, B(gtl}1y^dO+nE$ư4pHwTH+ UqOTdmf$l#ґ廛'in:LfQfe\̈yƺ9;vA0Gݽd*]PNvU pR")=w<~-b!2>*0ahtXl-{[~83-Kw5 nB A7<_*Bb^'zj_6L6q['q#lʠ/4@My]c 23dﴉA!/=7RҚ|m) SFg;^ J쌉GFbU/_0Č&!w f HΧUh8Ȧ>MSiYH6^b:`D+Ew`,hi ZǭD@EkbߙF:%4LHPLDK۸ы6*D81y}%./A4j3Y+~bLT8{MstsG.~qZÏh XlUj9T kV!j| [AE\hl/%Xۿ8O;(o/ӫJ}[ XeRi5Ԍ$8>eède:>"еo#$WbA3mP{7McYuk8,q'f R 1`5'C00/pOݝf M-t'!J+n Aw{~}L"&/ؤpO5@X ȩP|)rFNqirg[qh^n ga|HCNМ Ʀ-V~?ľohd gb8##W5u< N_,@reOwUݨJYwg!ǎcm*f,)iٹY5Ly'*G%%% so.ȮsE񮠔]/HJut;@vq=CeKf'Af6s"=!|o{XZq,=;cɩƪZ.>mXKs7j8]c(d|$$}yl{W/pz%"4 kl["y膋;ǓπkM#L _[.$|/4ޏޘh/6d ˙OA{NرJnj%$(ߪa]2.YΠ#gs0؁?iWT󒨔H]`ioсaicAR[ Vd}2&B:N JC.Ҫ="^*U zCaHKDTl$/AOQtvE! ~c:-K5=!iԷ~1.݋Ⱥ"ۗRi̥n<&nÒ;3F}3+DDi6cz6^%u|UqXH*7oG6Mws G;8fE/ߨh=9Qkkalٿc }rB!t+M\bf+Phl7魤bfhͅfYj*Ѧ13D5Ue9)/NSOd<`v3#:ᧇukLg |z^ ְ̓r9b*(&+HfL_ARUH=8 AQlEMjF;Mޓ*d c]9q")k{fZLRA=*p[:fJ.]e>=1E-H7cb$[D5@eGSdqN+?V2Gc2נ K 7.H uI ~ַdmDلE\d:jT30 F}DBR]'%kۯB ˬm +G̃{K[FL]  YCVV#Wkֿru6sI59 [-"+ ŷpBgw}0LƩ-x9ݩhȧG9Hvv![hI\cЃLDR :њUuI\%l s%`ː.:oUfs\ T0"r.GϮ`Vڣ3nDkZ~72Cʑ&0l v KM+I[42J}i*cg\郣e$-~1B>4OdjzAA:*pc|^ɉhX e@075U/L\^7#;(B4"ÛMP2?Aֵeo̓XYw DE|:G=U_ TDW[o Ca&V2owbɢ)ݿFܩg.@կ:Ӫઑu(g?n"ʀ'*T3bCa ufլ|o:|%Y"vV O|N;<I6@Ib5Aۤ-#bT#kqfg6r _P`I`"eG& oV݁HX'-O>GӌKgH9|I/ҮܱQ.P⠱>t#ewl_BPL16%6B E//tu[`s} K4`;Ѷz=AlA5ց솁|9T5{hyHπgPBz:'foI.*>WSA赖cZ3£C>'iXOٿ1L5JACzRI12ֻ͢r cH߉|@yRQ730DqX60z6ۅEqOnAsiQc#uL7VA$z:3pȴdgknW /Xc+-I4-wn񽚖7Ykng疇<֔Xt ;R^"EQܧF4_>4ھ(ߓacPWz9'WuLu ݞ%ݮ!(7~}*D&Xc/vM؁eT윋]Z7t2wO"O> N8Nb?I pj^({Ya"Dܦ |T"o  _-fUvp axT޸t%Z1t:,_˷vHt{g'z)fy-)ىNI bh%+:1Y.NY ))=Le 6`_k >ϐ fɵi™Z0?`",[L޺Ft@ epvMGg4an N:pNS hR/ .X8G5Lk+u^Y׌X-R0Eht/#UxH,~-3tp + /3R 4GP;n])qى+i~^eⱯ>E6fE؟>j1S)+v^!>/;\l30kwFL@Qa*!`QcTt>`3/tΝP=FO~/ vq(Z3AY%<-~ -mp=eNe\oirXx5ylZLNf@PIڀY\}Z)XTlbFuPgր 7빹 6?'Q'<AOBY*Y B Iꇠ<1W{<Χ .c|yyχkSgRsw8bD4@ִe$eY eu``gtXR.k۸`+#B}ʯ{ޑN9>5 (-#sLc|00yHdRɌ6r7ܟ!x.~$CijVͶ,c‹Cnwt3fh[=. $]x 2ܐNfL.lv~_.{ZTT:ibK!yV砓I-cKqwm`<](" bΛRo$q5p䜺}IA]Q;U>|ҟWxQ؃ G P4q uY3&CqVͼۍjGLsD̓gK*Fa\ABK ӤFjQ{$4 UL8C׳( bIݽL@wT;$& SE75J)~ UuR_j;PgK#=11hy8tqrq.%OfD\uy8bƹ쭱q+ڝs 켞{÷Ut&y50g;.Wҧ5FXߠ桥UZo<U =䍬*T$5:wԯhIB.q.O(bUUpnWPۋtٞWe(gn2޶s Qb7FM<Ĕ(n\Vu^拨$ X"ӽ+5H[iǝ8N:6[!qGQaYmtCkӳZ[](t[ϰHg![M]нA*Pn.HyȱJ\8+e)h5 9gߢ(DQ!2 k$ʲ!ª Vp/?U@RNqTfz"Ѣ" #5JNN5>45Xۛ|:VO zkwDm\BI!v7KOgWta#b_DBFM IV-˙v P㵭ܾd1ό79E{\WaW*e俞#+*]ᖰ^lMvwjn79(uAmjUfܧ_$a7|z[$mA )_}]_n^cBKv'}HZ§J6}~iE7)V(FQI~BOJ{2^Im@PRnP{&w^fneGu. sS[wBM≯P@`Y*l1iۃӵin{>\9H ՓLa(8?*s[ ;˜$z}UAP4UhYABhXsZ%V)Wcv{ffԦEbj9$lr3)ܫ2,C3AFs_-2wlȹye_Kv{1D,.y(A,n~;F&UJAWV@/UƽiGQ[?SҊ@yA9|z i'ӎxBqs]b9j>x8gT}:I>WOOifegZ䁨a„9osX#׷5ʃ;z#2*b%l5&k`, /j'89'DgptAPA–OBdK\_d sRwS~,d'IT| \㑌kcj?|Y"eH}Il]ЫH~p򼟨Z#l9nJvei5(aY<]!uڭ2bPxO60|"~;dDʢ=vz5v%Q1K ?]hڥLnfd,d#?>8f=;iِoG?ƾ6QunF.x:iդ4ka JB +@hL|){_N*ʦZhgi3}HI; cnUXuۂ3dD{qu>x.V'Ҩ%Xna,ʕUnc:8Wzf> ^Cc7"}4bÁ4ZE#G.}Tltt8t8K6ض0L\OB<|HQm}T:&U2|2jF ]%l5pL=rmKYDž=Oh;D|V6ֈNʱR a>/ۍ>҂},(l"hLtxVʾrԬ%NژG٤9k 9w}H0Gٗ+UEת2ol]\nd ږ^b[NaHi}za( :$Ũuq#RNx+14]te>>q7SMLrzLv}bgvz#bN}.~O| L!ԮrEhc|*3 OM4ފOv9|H6Rٱ; AęR*63;iUk؆^1tKlV$;G1{`>p4Zxc(7zim.r>TW`Feؤo1N`I]Stȱ䂷iUp9w9>fvŏZǍvqX&9 ?ˍ~N1Rlwc`er}kR|%١ޯq /UH.vUa 7RKJ,ҦNwd:H5K}N EbVÝN&h[$IqW7-+t7JQZ«0;Í{ʏ*8c#oG/-i>o<-սgU yxcKaŗx A8=ƻɍFgĨ^X':bfNozbI@"$_HOXjm: 7/`Pm^dLjrSA/8zٰ^byLݵ&۫~GϕRc]/'S'񅣢65T;\0g1qA*~QlH=9)ngj r&dyy+-j]kS%P]s[:.8u"N-s~)Lł:zz؍[LFI񾮛B׊t;tt2ߣ};N;Thȑݏfq!ϽcO}K#?D)* o$qtgMd֖ n݆1!uc% Ez@-;a(# CF!m7;7ìo}GɏFO0!XjioF`]0p|z:% wbC;Y, vAR߲[[kw )> #6N2o0»jF;"ka@JH`FC˫8&2Sv 5"R\¶2*~5\k.36#/ts{~E@PS[E_8U$]JeP4 εLϣ>1Q]1n' k!0&foWNC ozB:8ۿij#jܳíX_F{6 Jg-p2PwT#8*aB_ jVےXa%(4}6H,Y=óP"[fdjVケ b]iѫc,AOOZGY\ ䷌ E 5[m 8ߴ4WB~K<τ`texG<.4%$.<j %D~1 =~| q]?ԺdӢ ڙᴝj߻I\;3f*ϔ2Xc`a8] U\9m[XG#K7Chuu3v=7 l.-\i$n"KU R:~ ?TaS-iU`%J8tEzvcqP=-"KOzQ Ǖ9GGgՍ9$WeF=[Y!)ufbj`^ҶLz^5s7qdT:i%bӧ׍>.JahJ^7)-ݺ0RuIx5?,jG2\ڿM>Uܳ9}[]3 E@ӝxᎡ5NWQ 1,Br1K~VL-$2c1ǩoq0 H]'j!U<5X1`cE|nPc+I 9d-)dُl]ym}|(O&[B a<ںn|6f,j8|[*r7d+89C m@sVz/)|}"bLkiXHu۴C$VT?õǁ\EΏy?g/6,- ;Z2<>T\ix4`Q'hٞGLPTCNP"w Vp kϥ0=KY͖%l\67vёEZ& nR';o8*:{RIH6P8.o c]^]*E`[B~O[͐I}_RrݮW>UKzP1s۞h>r@DǺ} b]By))#B\ˎ#~G`(w[f΅{'!Bju"S}tŪ[D[:=h^wVr=ޑ χWbW'0 Aj9?XݟY7K'ySHEoWSПI`Kӑe}C#}t'Q>ᦰ`h;+[vwD+sɌϣ b s:l*Ծ.b-6>-w 1_/}2 yFG̗ Y/Q,H:U8Nqwꦈz8K$(IHrؒ:ffҔ)GӐ!W&&f&fCk7goG7GcQM$YIt`,1ݛQ,[ ]W"1) `Ќ5 R9'#>܎)s`e-IIRkbdՃ5dAPa³9HvX5W$,uwo> stream xڌP4wwn 4wMpݝ A[.3g$ޢtfv& ;[gfv6;Zl ZBt~I_ l.vN;;v)+ 9!QK{8-,_+Δ;@6Ζ ׈@k)?tBnnn,@';G z&r9 Pڀ)a vB  [W[3#5:@]Nb 4/?mvm=s5"ښev{@WSdS#ى lWѼYLdW~R`Gk=X[;7["s_eس;y!Ylll|njW {Jį5x_A O"$vv`"f_v豽;noG̪#!O*%$^\fNN7'/,?%etzFP{fq~>X_f$bm??z mvq~=Jvjs@f`sq[  vTΦon 9ollGzL?)N[z=QQ쯣::=^zF@6Z鯑pXX%~#^o`"^Noʩ(F,">v߈rF\V55kk<࿈U t2 55G`[?|+ +KbcG"e5XA/.]Kmë5))dū |ת%6uпg;WgQc[Jf~tl^Z/|m3ww]NN N/~%qzN@'?_dut18{#_c;9)_vt_z_;W&O2Ku 7?@ w)򂝩`UM`]8ބ,V2=ײc|}Uxpڎ4ݵ qs|HKܻG'V)c~RDf }goM͐.|hwn}c {xJg#GQdP93"0`]beM"aD9,䈺\/p""% 8L_*.^dg'8Sgv\ieEALS7g?F[$`4wsUi*3 A ud4SrWZ9V8>3FD]kXzqQ#ηJ+k5yb?>P& >?!;?z8+6>b ~70UӜ1d>GO77zB9nFr+ӘS]r(08ެRwoW*Ŧ[eN ǕBnJs0X0< 7f?55&i)_ㄽa]ҭ? 鏃#/ɎC:A؅KD'`WN'4c,([<-{g'FV`_IxCӡSDצd,=?Ӹ+:N؛W#c&ȜqSoNnv{ѕZ)V_ 4Q&MrѺPb|&9mhLQGP1K g@@=J+.$t)ˡ&ƣ)|>oIzxI2V8XZ6\~ȸj;U+ܮŌvXS߈L ±GbQcqBx%N4头Cj, Dɬ!ƺLǂ*6Y){\atR~ZB 3MN lg7~1AFdU*sG2*]e/9y,|yƌIvGG8/* fӳ8ˑX:,1Ag;m[%r;s|(zϗ_ŹA;ۑ gFV2b{[کq Nܐ[({#XX<1AZ.i#!@S2Q|&t} r2F(&e ԃBoe/˿4PJ]sb{ȢMlltQVxl٩{꾐xJ5wo@{&_D('p  tH_]B{9̑|(%A eRwDWlE{(>8ϜoPqOd ႕9ZǴaBMwd R%& y5N(#=t i頑+NGT jPDPˆn^hb: 9} x`P.D-hpY%7q-lJBlT~ZBV{m^g ZAD˻CfK zbq6Ϊ(ofxo~ c_4Av$<&A3SeHdMN =-yNf~[?lyd;gQN=N!*ٜwOy6"0L癚lX'=H@[1?!^{3 @ Gי;b8vɝaEF4`"^AP2喝#X љi|e0%#W<$m RYY: KTuCgާrL+^iO.T p<%BQ}ͻʩh2w>  hXfNxiʞ Eܲ?-4eGsfe$Xa;&NC{@-.FgBn ay2ˇ|:[xMS^O_2>;ɻ&-ͪn{ %&/ۣ?h,O^>y-SCŪ3rce^ D4?T4N_z{TBGb4썼";(Rݐ(6eIػn4fsƩ,Ǻ*d! 돑gI1:U ~{fHbFo6pX/[>h[~ _Ce0'v_i"K6Ӄq՜8}W~cz.pqN=d6Ӌؤ` ?%$=w;rMjTLd'ه'~4p|ݵ)OJnoOV7!: %H+|ƌ-]k-B5+Ym+~e9}Hutf]E29n* [Z>᧡ҊJ |"`ZAҗ v<@Np'ZŸ@Il =e΄ƌX";x7 4ܸyKmZA):BtIeA|F_FfIe^d`j#WGMU`/pY)9ӧ9D/-$+yc#1{+|:F,tu8yB%4Vu z,FËAMyzHbe/[9F->ɞy]vWԕoR@e=cbܼYGiRwk7N-QK:7O\TX ˩lU;%un&7uUPJ wz\OאFN΢QҺRme:}9(Gw''/F2 W< `DhV$9nڜEVa˹vs<{FَibuvLY*ûђ$E=3kShl(v"h N^ahÍO.j]̯s.har[EJ/RFSgk3rıIs[KxhNK/8z:`w|iFWf!kWW];9BM 8ʻx*QF^ X]ΧtmF 7,;~8@ Yr aANNE4B%$Bܾ@&by KHRQ2ڇ}H;M>UPxцnщU0IeK ݦOU^eBBi'kMxc W!BCSycp(MRF,_ _IC'LdųC0zV!'uSAEcªLZ4ab֜OB428cMV<&D˽F 5q~4X}4)S_Ju 3mPs gZzd1G9+8m aZX]E+#m>C\S9-#css>/} Mػ9E8ZFş11 ,]mi HJ#7$UVD6i(088}Bze0?>g~Y7Lqj2LR嗎oę&^qZzs\崊Ӄ`RYyڝemz<5Z:-Rt)+#!":cx'm[`]տj%@="/4ig¶js:u_$&ak6Tc>Wݱ~E$ƒRN3,1Ψ!6;7v5CR}_-;QP0WiCSfbaF$x"R_>Z)o~ݮOh EIa#V6,d;ɳnA3 !wQ.cDg g8qԬ[<5=Y O%6 i壋L|{\֌(B2HLT|lr[m Aa3:r2/ C |NwLM xSgwRukSl3ӬVhRx`Xw]!(j9 {q8ҕ;<#Yz]jC\^B b l'OإI 3_x֥3'B}v_[a3-Zw QUf.\D +s? W@-gǼ'"bRI`͗%>[":#kLu*Um(Y?1z: -^m×Cg (shi%$t-ok ˃͸kE$-MX!{5+}YH 8D,C~e-Glx.$nŬ9DM|ء1[~BA*oc᳏Twnz(wń (:Z=9붂[.q{p۷EMH}ß韁\zȤܖ=r1 ɂMkX4$,گ|M5oЫ낹xiBݟz"MpͰt$3ўT=+9"dSd3u:fz[>l,ɹ+AԏU8XK X]Ԃ& Y2 o}eb 8vef#:΃>%R5/ϐwI{|X k:2R=`Jјp4<~:]GdzeRN\v߁]Խm$jokO40v< ?GOUhScϸoK13`] .>*`^_Cid+4jEZw:3"ۖ66(&>%ǺSRY- Г~pIʕKi%O5~I4JtDۖRJ cGm}l!ʐB hșyZ3ձ*@ш]wM(#F{0?N-JzuO,EϽf _QМPS(wK3\oagFȳڣ*Y~"ʻ'CB/&y`?;܂f} TqkrDt2gfO _|[6)Gv=@/uJ5W}J>4$;kYĶob+uFP6`8 Kwh-9ƾj]mPX y,R-(w3T>3R5.v?\~&Җ2ks;[*#3nֲvLɷZKيK+I BzY@ *A0{ͅ>h:-RWb3e>J~޳yP%K."D,'I@;&v D]D5wj0<؜oe() %8 ǧD6H7kD'dMLĥjDgwXO^d$Zg]kRh8Ba \Rd6ÉB*iQY;v'7?f2iOV|ƒ?<)S%*`)7'sQA.MaRh>om{y`6]>)F. ,0[/U Ɋzukd;q(ZkOYWe dc' *9J(N`2DJ5gya9mV$$vӫ+zN꽇p(;n*3┡6z|m;AWC4wS77GS?$B 83U{|Կ"~0Z 9<$F>l uD@f~̘v'ny9*|h G5KyD?i!Fowk+[R59S\ȃYL}I Al3Rt'a.Cw1r17&,/uE$B|`ERG^(My67ބ4|fMJ'̓SuiWR5.#RQ,#g$aT#Z(pc$ zCI ޶)+iqVnqX Fw%)ARzdq=d%2*ݿlDAD9 x6Y[ k3Z8ShW%1GU\z㣫:HFHh.Z=TdJ0D5"j<è&rUIxf [}ޕH/m!G7zރl-7س18 Hak"Ye&8` b5A U mJ|׭aIIqO$W2@PJL[,+bGkC Fle4eRV2R=uW_IĞAdo(Wkz)ͮBqk-a*=3fmO):L+8)Lv.=<+҇ [<#ܾ>z,OY|ihxwoP;7 Q RpNSa`h%,I>x{ÍEmZ܇y˽mc8JuBfj5ĭ}=#|+3]"ه#6&o%; ,_݂M͗G _-9}4 -]>NirU;D#+>Z꠿yàϓkpEQB!m~ص.]# Dw*_^MmCd푡5S=b\ R!ڬ]4;W)S2M]zs{WLYf8+w]2 {DWVey წoV e]l./0)BXÌ8& r~ig-ziCk MޖNl-pܹ|K4Sk H [WѷemqM]3X7%Dq& h6㩜I}AЙ>skyj&-{+&yMmy.LNLrrUPˆd{3UoH 1f5GR5饟Β{Ƽ&5Z>ޙTV0tn+O9m\+uu|,Q@q`1!v |RB(V!0:D*%01@nrEBA=r4i+R!S~D/1D1ՑYyjH-}Q%+*0W<~R**!1$1=-; ̡wqUj[)$b]m2REt;bǖwUm(=*oq0GF#>[\20f ghsN= ^t >*Yۋ5$,Pیn"_u )(/ ϭR~>󞋑&"(C2X n|h_v"ut޻$'?=<-}{o].bN gGާ0xy6;"$唡IHvTR0]A6;'s)$8ڡ誥M"c`Ts ŃgTgП-~^GITOަ?^nWF2>L~g6SiiɹZÕL}rh ]2TKf$jM ɞIhˋ5)Enӳj 7x뫾7I@וp."(ȓj5wՓUCɼs}ehO3i?alN]^ IW9IP2Vo ƞtkᰛ/@M<*Vj)ixsۺ!#?f}߆+v6=fʱd˺u}u~gmm.'EH޷2ӕpXb h: &MgAd;TG\1aϋMխÖH$w|߰{y-~~o-jW}oF i}-7m#w4f++5DZ?if&} @(y{cbC XdӚM֎PNʓS[NZLԠ츗mE3-\=,d?Cld-jQ(@ʶ6t𪫐QyטH`åo?lz{3{PCWwxW'/s -. KE4!IqQ5'xCDi%-~67p6l1 }r_ >~s/7_&| 7Ek5MzdE;)/d>]릾:ateQQpza0iB' 3[Ud}R-6ڭc'e_&G>A 5:[קUV́ToWZ}5qu,CDQy2)jND(_r9r-\(xjB, | } ̕{rK y۸w.R,D oEMՠ^!**z+alÐ\-@rOm Ӯכ@ĉFJQ5ՐAyY,_"j5Ǧl͒%%rؤ؊N0`bi&1nٰ/c37Lsp 6HGEZNRk=i;-!.p̨\fJ_1DL+;ȶY+%:˜Hs˩( dm^k*nFCq}X7%IKP;@fLvU;#$*M~jvܓa\"#+I+24gg k>7TZTC䴁F'#h!{Jwq3UOeg24b"h])^)_&Y#d.N0\gݚ|՗HPk n<%% _A;2gl j NEA?~;GI9 H%V1&/vF{Oc CYfe'u;2d!ƗhI*S\G}`6c]ʌb4oilt*WܥV'IL;]h (d-)> S_:,T>N)K%z?.,a; p;%CMJyP&Q6m)ι.䗍d. ‚vQî̹ZpxE1݂Y!r?jC\xǗUei=GDK:Xg JA+'.?tL'];ϿN֢*+ VgJF f|!#'1zesu4% d;pmYAqLpE*~)%Xr/)HL ' S k߽W8f|>9 .\.˳}'EQmRJHAC6i4`oNjNf*(SBQlp'^hGa6M~.*>~?!DЯSYE%qJGau={w&s.zݞ 0԰v?N¦L`'oէ;1X*K VLqf}~?^ˬNU(ZD@\ *퐝XyLI ^{5ƒRvEm$lȊk/P>j1|P,%jP ؏FR7t m5@&ѻ:ԏSȊZ䐖QxR?-Aj]:_n ې4&Y<ҷs8ɷ#W9)%-NŮ/*3ķ.F) !򢲔dtxPpsz G|H@hTďtF֟`k' "xla4P2n&6<.g\aZga m.B g!9ά<'fnc~2EX($Sk(~Bl RZ26 a]&ͨ+j@h~j`$YiT&V/#_-GA>dbnۻگvN@?hW Hi/hSD86^](~x_1{͌sˉU c⧭>)sm8޳btn)H@6+Zk,^Ǯڝj8#!E5V-Ǹ(H{Hgkb1>Rgt/s4}R#c;[>P}!v$f@@[vv6# r;ATK-E,qe:7yQ|))-}mrM}ŕ\0v2TOI?.:  CoILrYb"wj$?vi% 47eQW0L.T׽>B&Fb0SPCJckYQ}B 育ɇg]'e{aئD /}cZ'  r$զ%HcHbLeq$uN/ɐ d9e,a{7Fm>=R2׈X9Rendstream endobj 680 0 obj << /Filter /FlateDecode /Length1 721 /Length2 11549 /Length3 0 /Length 12138 >> stream xmweP]ݶ,.acbDo%vDѶqҗ0rOcEF;rt3~澊PJT=Ts^<˅ \CMmt#cy72H#hhzl`t0W/ C+9B 3/'ZD( .YM/1(.-]̻׀tv=.NSOsh9xӧ !#󘃸H%,r2kh's$ą0;Fb7ѠbroZ!rhh)|Wn1M}s[ݚQًg)Z߹$H 󡟝ےsI.V`@H%/[vG)cTQ)ݸ^8"@ ՗ ;E}h:X?'dz5eec;?^zj9rp @(:OU=Thr:k% !wVWDxǝWvv]psI\]9-.\mѳ®벼`V_zo&ZYkp2a٘HҐ%Hu`WQSL+I\$%HyzKo:xj :iEg[ҹ+Xzg'oCBcI)LB. .`{{jD_?uCpi]h?lʣv@e/vQDVVY K,#8/ =aԛo3 ܁2ƐcE _b@OtK6^p2u_y5c̀RߣH~JB9j#bAՠ{IbmtKj 'lDoXNGH14E2A:J8vJ$~p>p+͜LhK[wjdr1dt]/@*."IF4^B.]v:9n̯ yfxu~71V;6jlj%w- 9H*@a"eڞjlJ5 fk8-%-gPpm9Pe wCpӠP16*,Ұ1-ךՇa Iq;NcgU L/M[ RHELrG$bi (eABڴ3ֳsqԥy@F'yt823 u~@mW*SxaZtjIG|AgkZni^Qw{OacO՘s|.Rs=?3ŢZHkz&|6 ALzb3G٫"lJUP4H0pY &ѐYj$:0]1`9QTÌ|HkFǒ,ЏwNdԇ><.ؙ畈z_uLpMyGa4ܞ`%ggKd)0@ȌfrZhWtKe1SP^DKOD p@pra.ڧ ԈGWT!  rF}`o35%ц߃кg{/ ,1-yP.I:/̗a.YhD=7x9gt+tu`Vo[3>/ѩ+ @DxqsqWŪabvL&L.LT@9aeCuE>@#fʤN0'w2g蜅g> E{^DmKcoAݹvxًܰ_REPsypПH\jsԋ޽J"Fhs#נ5g #q5ꒃRJ­ePS[MW@LcˣTa ƀ=iCZ}8*WOQ9* jI?[ ;߇\!z/gbgV4 b;UFI$٩I,zy XKhiUzs&CGӪqz-3Ԕոl>a.`Y۴'ӏ0wy 6tEMR„I>TQNqcv}C P#:TygN9[. LӁs'> Q;v7K(Gd"齼_yҾEd1 Bmf~eMu2 hj`Np'¹Qsq]M @? ]1%cPC&#'rG-Rz#Dhw ,mç*K s\o4f@wL.b z {[m[Vd'䬧 $9a-oi YrT|F0+,}*#yUv~E'D뾝4, ~ؐ5Z>Aډ{Vt՟56 Ef:xOXbgF[M#l#u>~YX7L2. ctOAOD=z xH~\̱x0M_lߪ [_c6t@/!VLlY% 8= ~__UOj<%b Vu#?Lᒏ$UT ߄)$6pд%#u/2']8)Plen4|0 U3JKlws OH0lqwxh˟^x80=vc9FY[ ~Q\;. +9,!3,ʝX2B-[jܥH[U{8n(k> PSV ,uS7/Tk)Ǚ%+$x#"l|4Bօ)N|]"8nE$էt6&4A\gT4<ڟrnb3WZ> q߱k'JMd<|d[Bdz`sc<RP|'bUv*~X]J ))3;$)eW w|wns͗ܜ'I.erλ[P&4aLW$7G7٭;`q.aۊq"%jUDk۵h~MM7u DLOxnXC ie9'K*4?%knz~pټeݝ8T!(nUfHHz4KcDw]\kT2YistE#a+qn.4ep"Kcsfiy|Q!w,0!i/gC6)M" Ğy[}_,ciiecf! iSCg !3Ew,f]sg^w3e=a;#SS4=HqAu#IH)S#Ju|$}niWquؾ-p >D`UfQ6<'x譲UVLyl}{ csNpí7%([ZP+N~5:.qs/ߝhPPC^jȨLJO˟{C;:-wF+VY1*ViP{#:쎿ncEmr3%Fr”D3m`e[0ם fH̺ oōNh%ET^IgXWގ (Z`ڰ`R#A{|B; 4a2 XQ9Wu b}iX8[P iX)1i]82,FixK(d~koILz4p_Sln%sTأm˂Cd)q{*im ifiХUw.l ]8L+G5olJ|-jȕj;IWGL<#bR$ BFPnV4*1*%-~t?4 Sd`xIa&Qs\TE(e

    #4By~/z45g+s)9ٺ2KKZǿ_ϡ>i&v=Y'J+p=rm4Ynt93}hxu DXTaH+uN~ȨvT:.r #,|b%ToIg;>ɂ}C~J>_͉NB ɾܷxR."pJxr>ԯmmX" yb7mѐf.N2K5+c&'.,;Ri Ugʝ?)kjY@j"t1_8"]:6XOD,&#SXmZyTAI1 Sʆ4=ѸZԸ8QOX{E*ίXk.:+gkR'plYgq\6'ԧ\Hozo\A_:ȵ #eM'kՐ@aW > P'h!tXOݚ Gà'Ƥ twdjM\SUΖj(қ~t0 aW˝zczUj {I'q|`͗S D MC h9;҇{k\д{̯{JAƴgXqEyMAEŻ/(o2ӲKYX}HAnhwuԑEw&l~Ԝzr26 |a `lje j{|u2)=@Tɹ1 P#^)/+t( PnoFC!%IGzS1SOtaw@_=sT(NH{1?p5rj#[S\X^"{FЉԡpe~Go ~}r2WD.!U($N5Em~*v ֽjg c$|F"'4])WSG5Rv4ve:}ԑ?Wfze:ŞCnpGUnMIiI'&ߑ mp R5{0Ud2$P1s&Ja i>1]- d5_lm֏FRxdP y&7|9d\*x? lޱb;_tdhQ8ndH+\ %~M6^T0gE.΅AwV8_jPT>.&706U}!9fA(I@e܏lPQ/^΅ڠ8YG֟{N##✐_ˀ`kD}g~ǖ$6gQ3/ ).Ͻ7/*93'] EH3*OY7Z ucKeYUjZ:|"IgTPN:n'≦4a;frL0Xzċ v 41ѨE]v&MB-~~8(OmEGIlŨ7I.qki)5wIޣyyQg #GS8~Aw3*z_7v*Q5>GL }٭z| y;v/KR=uYyy se0 +͉g,0M$j-r?oeZ^x]@4ЭXJ?yiFN: 6+Tv$dT)[(fy<ܾb|piSh66Q/w`'TG^ĬŘӽ~]F෶1ӮP3ה@t/͡[;^XQ\=:?S}5-{ޜmϲR7O¢磜oo{9}QABM24&|^>+эI.)qG4-P2{0~@xdDZ6Zo`] 7$L[pC$ům5k 7z?n~= Hri"|Vf?B% 6hWXdY`Y1'A CT_=כ 4f%\L,pǤi t^w$ͱB0)5@Hq ^xrffJE;NBLf@ܑ=ss) N@[|6D]bZ{^nW?z\O3ۯ߽Ӝ4Li90tü2㡠]u^ep\Ke8ÿl7P%= 9ffEZl×D@A-ѐq]z\4![ԝ7[xITng[T dcB]=Eg{xw.֖hCY-O׮ 9f2!qF'5Lx=75w]-Ne ~թei#DuT9x+nL@!;XD9K'}ebt7j;S?0U|PSdy.˻+[ J<6X*zGxEޞ XOO}֖ي֟<3ئi %=Vm~IRQ|Yx8D8n7I ~ȸ3'QYxG \L@zX.՛~ϔ>&V<n|İ,&tzvLb\Ή ̒=2hw0W~G!s7vm6"g/[,"wYg[S(nN'QRG= jG`lJ0!hn|[._+,&Uc+ dDpz &QO@> stream xڍT5LwHHHinb;$AR@;CEZf٧s49y8 dTutD abҁ" q .P8L_2.0& Fũa@/$W ECU.@0\6c X<""B)G  T[݉`@n SEp;r]lrP-qC_5#f\8L-6vw%zwJ*Gxx.gBPd% lkPWBx"80W ~vCwo4?Z@\P_J!\q~Ok=`>k( +7'n] $gȝ  @ a> @<-mrv61q;w$ ~Pk+ \ ~>vVPK`p~gXAw@>3Orhʲo48y~^@PDoEU j) Z ?E°=A ~d@w_<_Uo ɻ98v`GןwBvC-*n5`cU!VP7*!w!qPWy'J-pW h]^ݶY߽&w-OY­~m vq{+ ܭn.qܱ.8*"p~#A;I$p[~]_d/(pCJ9v7Wu|Ŀ  //Un..wo-/@Ž)ՍyT<Ôg=KAb#>$9&Iwh7j{\׵҈xtGz7E|Χ(fMb i֝,mezSabI-v <#\OzlMRHAM0>JmN0TxF`:Wkb79tbWsER_FHfTpUv'NtKsbW7Gejf.UTB>?;%1V.D[ōNaL+V݂iˋ i&t~B= )~a9=qjbYT Ә.ڍEF^ڛ=gDҚ M?r,S=Qa@I[L:J UN z†Y0T^e1 XFsMb.gV.{LDOQ1J$G4ǥ-^f vmvhvi4akc"..ìH>3exjYNW5,N[D,W6)@F)&Kclbm{8~CsR D'w.'X r_1@:VgT0_)>KrG9ɕ~ E\Ĵ9~(޳%r,;[{1.+%bĪ7{sU'zzlwo[JMEvq~T#q;0?ix\[xeWw |vjx"=te!.)|щ9ͣsN@6mDwQyםQX#BᔗiK$W>ߋHDH:(ֵǫWZ;8>LYK@iB0$J(~ Z!KX ʓ{dn ر7c"~ 'uc|K_ ??QPtzx~DOL͐rVPno7^"dN "Q]M<ʳu^gb4(aԐ4J#˻48Nѯf-/auJ'X9zk#7xIlejԲsza&/Ki\bFS>kU:֗7FƸNMij3.qqD x$?@0% kmg:VW|- UeYW0X"+m{_qo}PE /5 ?eGMߔO&3*k4,<"2aB0kOt4 Nf+}焻<9fFat~5RBѴ^P4y1{O޺;!Y`6'6! `Ʉ@n7#yhNtnAˢ.\z{Ix7`l5}Z!nD:=4D&흖lofkСT 'c+vh4;٭{)<8ZA9@a*`]xqʢwi&$#noۑIlݐJZ>'ݜ}#f#Ŭ \2fL];1GTS?(p9 zтoO`$PFIRg@.oJ# sgFR~TWN*0ry}R< |I7%E8֟> |Q:jY|N ߮P{ oB5D?~嶭2!"l)opy3br2 "έнVIZfO^:>tNN O7pNɧuMh4f<1d+o暂" Qt98v2dG m9tۼR ^ 1{kYrY<#7>՞.#rwy͠6$rIo>w%Uos(N;&K_sx/Q$p}ɔl)m Z |NAnG̀WVWU)0B<oxe&Un'sj$R7 T\&Kke=`x/ۯ=-&| |D5 Kt?/>aFu ?Ym-5hmb<^HfA 2pVQx&!d:=l<}&owb G,l^̺z2)2me S GBF{5HfQW֍_\ܤ {ڐPweg҄+AV35M&==*h[]O WTX4VtvQXfƒf3@ٱݳwSa\ ǝ3//bE£'QN0j׳ q'32N{JQ5%`7'}([.ۀO;oY-i™^.L7_է=amPD- \j}СB˅DŽH g pv5M 2}J|v!? j9-DH#vi?^G iٔ2hSB R^)*h9q%qcͼLz-.|rvX2qOb3s85R.)\E5UmaⅭbVB:gGhe3НVI젓Bmk4hTq22q5ƨm4&x;GmCG >CT?(w]J1Ȍ|CgaI!K4[Jư|usQ=%ٮ SW 7 {s(UFH66;͔֘݇ʊXhQ|dnD2BrH/e2{Bz~= o{[qfG \DG$a>fH4 5:6Uax]MHC%qt$?Z-J> ୵l|O4yHX{;grXEqt!F% WmyI@6p7QJCyn*ٖb|^3 K<ŜORM*7@D6/U`<}G|.n'|D;7R_h`1c{ .Ox0Nؘ%^R9V5V z~`2C}ls?a|p&qsM ˡU!wXʏ<ʥ ŁAlWkr_YΜ5'U>zvʝ6Ft]w +Eх8}S:SԀM=.=q Uj`3uA}I^ 礦Dm1޹4hDC9%2t 6Ur/D_Nzk'D4Ts >!>Y!MT[7Ұ\z3,56N19TJn `J<׊^1MYr G`Eh% Sdh5[w]dlDԒKݒ XXM?RhO"WDnL-n8Nқ$1q[e|Y'0Y='U47>ƿ޻ˬ/3Իx՞܎aûSFDgBH7*j JazA-o^ SB(S';'3:#]3`r~*֢*9YzX 9^::pHv;+PQE(=mbjFBD<-;0QQs|oIUQYFmb QqY"ٳSu 3::d9~{I͕D?+snwG[_LRbt/56K}r96$&h0ǝӘLgmoHB^%=nmOLe@6+']\?0[_XʭT=tS2Cfo4`f(̯6nDIt7>.Vd vxa\/Yeo+!KCUv}F2}~<£׷ D[C"AAr}}[*F Q"\-G˭﷢a`,#^ wo$MF9=Nk!Q<*Ͻ׬n;ɽEσq6劚'UOkc5οIY"=i|˹Fm1IJsY/۲ aab@Nd1RK./ 9"mʵ۬OsY+u S!鈚]v}a[^W RBlaQ/aNk>=^8D~y'IS>?QKMS +&f7Р6,{&x- $w%uAl77k]I!d({[&A]r 2L)k;i$iR听b^@,Y&[12R>$[xHR/yc/.2T13۳:.p_889aբVۇbLaX%*.B}@ʉG~13׉ߘ\A'u%LQNEu0r>%)?it*r⨒_\fv94#)RyGF̎]ruevpKsLyǜ8>ؔ d$NC'0޶ϋoXitXxVN>F.6tS8 F%WO0^ygWu}8IJ(du"q`{;bFh]AjcuXCK~=N$tK.-en{R"}tF8-P< #ǢljG,EsVQ|L 'xRnM~祳>My=piǚR^A@W}DEK'Kv%Q[?PIw3X7F`S$k܀o[!Zh]9+8u%uguARojB0ڱp#c/^d/}x4jⓊMciVpPq.^H#bb%KzIAkQt䜙-KSN^g[G &Lle)2H/6$2bePxVaDe>®;Œxan?~Uf@T7D/V5k";xZsVet;;G;{s #ǵdOOAkGۺwo VvZer{AwNW~'ٞѓ^BK{,lCgx+~F`3]Q ƹxn0cA" wEPv|!KO9ީHfG*nMKLܙG\5=NFks%>R>uaR!퍿 ȻJz|:n2_tnsK1 THaai4Ax6w .cT ֩Wڡ#2JzY8\@nQ;endstream endobj 682 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 683 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 684 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 685 0 obj << /Filter /FlateDecode /Length 2944 >> stream xZ[۶~_Kw0we&LΎ'ZIz%=H$vܥCEQ?w,hMykb*qSNw嫑zDbTqIk>߯Ff<_є뙥UL ߍ)훫lk7 γws 7v8q\n6IUl5й_wv{G< 2QlVޕ}9A)rOʊr"E3/{%U_jV>qkOtIkG! cऑaKO2R"Blb{ rVw,?|h 7~ď<(/p>Yg~(Z~4V ĭ8ĸgDq iNhΊZ9 c?*t0DOŊpi)G):hC# CjL*c2 $̓&l4YC3Z)e#KۡCf*3"R؈,$EIevq^.b8 B]a*C 繉a Af&5ps`W灧m)aZλhjtl2* CTQ”`$q^:9mҦͨ33dլ3#?M&C@*p~ ONO[% 0 #78.*(BBbsE "i-lY0E4|9->[̰e'B*׻%%3 i6>Fég'׿oY:FP@Ɍ5IL^a1vo@/2 .c`Aw\0SRAUQ;ib6|; uC!)73 .eNL%RVÜU;ȜʜHcØ[wµ &L߄-m~2Zy~v춽zdT{p]+p{v,l+*t5I `hwt.<="ۂ:YYořm44֑y:?8ж}[ﳞVJѦm{!Km`.ܬ{T/h*jyÅ s%<_{)Mڰini߶ctd`3/r=yI}-QH ɗ8~䰨nWN~o| lg n;]4ڇΌ V+J2 {=뭭r٪5XW 19A~ 4|GٙwbԵamc g8 -:(-ϛCײIx>^wYawk-CZcB0w {vzĦH,rEh[aq{k)w忈*/XV&ẉo/\1×;@1nnf.v.hS6zz.Q_հɪvjhy{oNL@[L?PQK;Mpe+sWhY2dAPTmX9nJ#Gq W-._HFF[LEA}K?R贇W` 8q'Ɂɨ&KX9>}SaRAvxBG#7q$fЃ̣@8KQ\skP ΃u)\-\(rzcwa & xBݲ"Mdc_as=Mfơ(= 9_H5pdK}/VcbjM(Xq*tYK.LQ\f4,M$u%4U+&ѽj_/\%t>8=C+R V8W.4B8յ)Eo*T"UyosG Xa{ ./P0\?k=?[&d;Ӄjp~r4puf%S\ҡG× g@.PWheP78ԏ^E%ERj%Dnӓ5ǖ}6Z݆sѼ ]g(9 iCYPNeXpefd+4>>svw&Æ()dQ@]j&^dxqLBg]j%|List{W(ƶbcu: [l))S#g G /U~,H#d g8(kY_w9]m77 _CL8AYofendstream endobj 686 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-028.pdf) /PTEX.InfoDict 489 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 492 0 R >> /ExtGState << >> /Font << /F2 490 0 R /F6 491 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 1294 >> stream xWOo'5 ϧq{mH+T[i)~}dZZZ|Id_qk>7|u÷z >Kr_~q,v!}Ey \>ssa5Dst5y!X'r&§f"Dqz2/O)&ɰ%s>M noG8#))|,U3|fGuTgd |%,> ~vU68 G~9;Fږ$2Ҥ6Eehڰ9(OLrɺ,lǠdeM UkAUf7%N8b| &WXG h=UG[Z}D4p J23rkbؘվ|qST))zIS;^ ʧƟ~>%FtEi>[ܔOݿO@4^tRd+ڭ{]{ٱ4;OqRB=,qsGp67_ lusߧe?AGȹ{ ;3뇣v Z8W ٽBy_b;Pv=:@cn|4Y{t}>Z y8NE>/{Ʊ\饘Paq‡9c8ݜe^;:ת:PTCF~pVpvAǭj x: a-ր]5q땼-6dG}xn&(*4_?|wmy>gJ:E,Q,a,J}wmkc,qs?<0u,͢YЛV6isQ+c9_ >%or\rz7XzS/?tC5Ъ!z-w5;8vb<λ)ƃi)!Vkۉq&~W1WC@b\Nmq+& ]ؿbd\WkS)⼋q?Ĺq].5ܦNZI]`S+xb\niq) 4`qmk!ƵV!=\miJq ئWm:dyʪm9yp:u>9qDlUO6pa}k K8Wȗ 7v{9Lendstream endobj 687 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-029.pdf) /PTEX.InfoDict 494 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 497 0 R >> /ExtGState << >> /Font << /F2 495 0 R /F6 496 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 1151 >> stream xWMo7 19XI}^m@j#==q԰.!}oj&x;5Y iy>2bʡI9H8ps|srI1?i+אB,/FIJpшTs#РHUQkZ9 A@r$0ӈc(eG7bjrb%JY !-/5㳍8՘K`: p)q@qXr)Ќ{sV)rUܡ-{3|H$]Ɉ\$R7THF%ΥI䚢b2,сb~sR="bu>:1|=2P %BOnYeFzrc;z-bzq٪g[}'oSeӸ[zvJƨ}`UO^ 7SӰ~gjzwFA!8'ppC'-އ gk-?waN6\aأ 7qC1>qO{7qC1>:vWS{m;p;zHqp-RN3o;h'w N^lr'm㜒^Fk|Mw!P6i_!lWI5YQUo'eA-)|-nV(Z9SŇp}yzȮ)M\og{vQcr{ops}inqn92_^NU2\:n9knn_5ܭ,,C>GN6aSEx̑k32c ~ьvA5~z jF،:8pv?Nfć ،j7c?4Wx V? 77Y{a7C qхR3ƱRc0%3Ōqlȍ]uqUśT|1A| ś~Hxz ^_Jfaaz;vl *_14ICX'f<]<_@ ^Gn^ovx?\;endstream endobj 688 0 obj << /Filter /FlateDecode /Length 2525 >> stream xZmo_}X ɽC!FQ MٖmVNV 9%W\I$B]r8p^̛ˆ7?p|qre+Yqyk47'຦éW^M^5pj SVp-^SZ(B;yjNc%UeV4`>_ҰnJx<~$](fL/< E;q)ɾ!;qᛄ[ gp(Nhuf-_K^2ҷ溍D;ܙwnTD}\.GfJVFg]&@m@RJ* Dc 'S FTv9%20'@4Ȓ6< `LTj4|4U#=mrdy8tv ([z\i6<>_tI[,|^mF$=/I:;(`3-YA(yq(VJen$SFEM=8f^ Noֽx19BI‚f_rd?e1nuǷV|Akh%)'4yN ϔ'LKsMcȪrfhcyBz\8䚄"L8>vJSf4ኛ)3aT!%pv,X $iR 4%*播y;ʾR\v%(z;F?@$oZ~@9K ldLBNd S}fp*ԓc}(kV'gpA>Z _Ñ-<&( և}`,"׳Mvʅ9oBn[1lC[w b>?GT%9 K Pcan:@:4)@%8W*%<pj~?݄+Um+"E>>>ƛӸ'?#4>̹+5#[(Dnorl?/ ^#]AMNg@ڤ`XJG in5[nC~X0ܙmFsu2B eq\PmuG9jA٢\KP(dn 3X%x `5> U]r^[%rZ K8O=ggU $ *xf$E_tz*ǔU[ F$au~8gX5t8 &\!z*؞'\}XL[$Htnx"͓u^ >0KE#]w*g'.jD Img"G3n\a)PKUw A $V)'GWQj24@#Ce4yTAC4yx$-:}ұ= n-́onle  Cۗxs/_aNdUߡ49,L42`.5~苩g[fN}u+8KUUq -z;˘P.(k.<#}/:K!qH~/nsNXᦺx*o=Lf>unP]VtFXe@:MňwnIT~ݰmVo UF=)MSގ%n'Rec3bw=H?؁ ?xd \0/)>s&q^qIn3;WBMť?K-ZܙZA-U-\:!()>&yQ#EBAM%#_'$ӴX.dCsX!*~ F ^qg97tܖ|mߊ̫_'󪖉F3V-ϼU"cWR ~ן/qU&&I`~'}gendstream endobj 689 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 690 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 691 0 obj << /Filter /FlateDecode /Length 2238 >> stream xZ[o6~ϯR;by',M/@Ei0LۉKj2~CFbٲDC%ho.ϾQҖUוj]# Wonyo?VSB 7:Gvw^\VZY5XӦ<,25ԯTqB&,\UC$Q .QEKxEhZ[WvpcK#1zD/Ғ*KUqv#[S Ҫ6 wg1xVfxe!Uh5{?VHGrQipOK8WA&-%P6lVg 3. }嗪@x*L!@L5v&Ks]5 noZBPF)b zF^] Dیޘ.)P*M^aIWֵ? ׈v~,g >:+TdO#claObE9?-4L0֝@Dw.P4H5ñbrBJnJx^ds  P2TK9Z-`=dcN9,sw.Ϊ>sn>S; N+Y@nm&NeO׹1@nq>bE~!D9odMludbلGWaA8'}ʶO ܂੣<% hSo+8gMxXO€.P8<{B>tn홐Շ폨#/n8ҁמ9n0+`;8EFִ*<(t!b'oX˙X6Mi~&q[~y>_ |tlG:#)EvgV Ā7E\[y֚!S݄q r;4r :.2#S 4 *jpw{9 @Yytož塑'T$':>L/^Wtn</iW4Lعç";`_x cל{_dU'(F40aOp7y@tKl]Hܷ8?h] Z.8q7:=\jo|yfp#8o|C;XZa;M6q#ӕ1*p㠗pҊ/KHejsReXb1vAεm-0s l7?srPnX-V9EHgOc,K̇A~R"aw2'dYc8k? s,6;Gcg]q78V;bka[=qendstream endobj 692 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-032.pdf) /PTEX.InfoDict 514 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 517 0 R >> /ExtGState << >> /Font << /F2 515 0 R /F6 516 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 854 >> stream xOo$E )|=`v&@Z2p@eVZ_?Ww32!^s{^_^{*Sf3YVnJ:?\͒8DϛЇ_("viHJnt\Zgk5rK%"k&I%YF厨x2=l2 5\@"1Gy5K,!}ۣaq!yp.}MɥAV圐WڹwyHZa+ң.ظ$Xr<}b/T (%t ~8cJ~A)t lRy4x~1Pq0 sHo-tIeLzRToq 耩*(~1_4UDSm𘺁CiO)xy7eH(9ކp8_*xZlQO54Y4nk<ͱmlxZٯ\Fz5tsʛ3*^#x_)0Sr;ů<|do||Nj50?~xcr|:t[:ij?o=rn}['n{fU/pt^yscDI>ܰx\U~e8ŧ<G=Wy .sUcK.k}Rֆ-~7Y+/n| S-?!1ݤ]r~}wۿ>|l;vWԫb_z2Y[/%ior󋋋־ӉezԴH3{?}#.O/G6~zendstream endobj 693 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-033.pdf) /PTEX.InfoDict 519 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 522 0 R >> /ExtGState << >> /Font << /F2 520 0 R /F6 521 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 905 >> stream xVMo1 ϯ !]8 "A<;3Ӆpn:/?tA_gr1QՐiPe M1iyvL?Wo(z2UUI Vr-R(XpjPՠ 1NXVÙbP4d;dP$;.!GbΡ8Fؽl"!ebAC?%..587*u`אq5%^8Dx/MG&K5!m:jR DJOѴ4g!H&HzJ)HW1=2@( Pin$_@!he)H5lzvp5=-b)AF#SxAOAa0=vt~gBylE]OEs~gܴ3˨\mzBFDwf?jt% Ύ!i2l׽y%X3<5k{w]&w9n a| |@H SjwIwPwiw1=&[5[n϶&Al=[G = {AWGf ~io^˽} b^vk#-҆јr%ٌ1Sto8q^M-\6Wڝ07W>rJ [^6`_1My0=hMn2gO~9ǫEb[m.n_cӭ\%?a׸0.̓p_4ǛCbhş89mҼ`{2Yf{:sKKendstream endobj 694 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-034.pdf) /PTEX.InfoDict 524 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 527 0 R >> /ExtGState << >> /Font << /F2 525 0 R /F6 526 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 868 >> stream xKo\7 Wp,[m-z..8Ajx.Cf ]#Ju^}^'=DUCJIBCF~obOk)w T9T%-ZT[&uZ S9p!^!e0eC^/!zMb%K+okPSo&$j>7pr#S 'X4nչ01i"BRq?/ٍ3[X [~Wq?=? ݇>e}蓿ߛil6?Wfv?su?WF4{=6?WN~~\s>\᧌M+O_ds{9{9 BdD9fP%>OYgů>|aou~{0`'US#=v~Nmݫj+'j}Zqf.Px>G#Gtڹ۾ ld_q1F?[%>.^ŕ6xϸmu(:wx>`$lW@E(PjyF+r60uz:7$ΛzqE-KZP~))./V ;"]xҊw[(%p1Zj7Ӵxɵh#౿<\ͳ'-m'hЁXWK865>NůKKendstream endobj 695 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-035.pdf) /PTEX.InfoDict 529 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 532 0 R >> /ExtGState << >> /Font << /F2 530 0 R /F6 531 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 805 >> stream x]OT1ϯKvfy QM^0HXĄ̴]>;}ӷ휃pp=5|.@.P.:p5n'<> ӗotB8 u2 ]ɰrq1r* 5; B&"+eRNBC"CJu ,.<)/&=TvP\EtrBTL9FWIZDZylp*`U8*&\dլX,U)M[u}(9hQs "f5NQS5NtEDތK +jĬ ^s*ä)FfMɬ,̺;,f[Y7PYבeCKѬl ` -n]ݺw:n]ݺuXgӰΰаa)u5 /x+H6Z#q&081{E|Y]us|rsoN%i<z}4#C޳Z 9{ެ,bRRMOWɿ槫YVauەǡn͹ݷuo,YXv3hbzG".9pS3v;.r#s;꟰^k>3g/LeƒLO;Շ艥MCs)Gѧͳկ ˓7, s&GykEAW?Oܷ"aq)>\KKr,> stream xڽXr7 }W[It҇ud錛Ym%Hr{jWl:Y$(^Wzv/GT7:>g9ͤ:_ `:Rk<^Xӻ,ӧA&ooƿ^%SO'qh"j1i &Ӹn8h -iSqfYW-ȫgIv Q㻬𪖜 yXN|xMf-2 FMThX Zz'I):M,Ӫ qL?YZZ3ğlv8IzVI}ZOo';'tJv~'Tȁ{<̹D)b( 3C!] kإg˼9v⚬"N ٺ֍bNڬ/A+Dٚ: j3Rު5lW/JCX4]Zm%:oes~ p/#\G P>i`1dQB+7q&EHH=xz`?VCvf0^.R_Vuf6u:M"k|:q|ޔZ4O(AM#kPub &F`h)htjnM2WcrbE|.cY(н|M)^Rf:|Pz|G5]|xG'|`>XeC`r 1VkĮniHi.iv0]ŇUh`o^MH e8<݂mj(]T9Dߺ}i_|YrcH_ǪL2Ubf.'mO)\ETgbP3{:>ZP]il! g:n&݆1:G/4f)p ]SBcoIݻ8Le:8+>l^z@xنm1T ս8+疚pꃁyJnQ*ڼyNLHye2.xUy]$Jzyݣp٬H"RW5G`' cwJ<{&)ˡ/% ke rGmfV3iH*_syÄ')/-uQq!(>ޚ8[]\xq;nG=]L>癖D!hgwxa;M⮿cjX2w7÷%]şJ նSirģ$vm)q\pwEnq^*.]2n'mS0hKB޲VNlCHuL^q淝W^TعEcsOȇ:yr(.7-pA!fW(4Jݟ6 +eoM@wd }'t"endstream endobj 697 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 698 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 699 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 700 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 701 0 obj << /Filter /FlateDecode /Length 1822 >> stream xZYo7~ׯX+bx)М@ h"I֒l G_ߙp+Ӈ 9r-D&'{OU()rARHQyRVhS&Y6 U:tp6=z=|?y~)F:UV8ڙ_(iq9\i޸>`gU51/爐s\t5 ΆYVK8`xqp_9 vBMV)@ GVai=csRiCKQd4΄U:)#2;vc ?YZqazĴz^;c8x1k~鳣x%};̍w2h)jp[y  \xgvϏX)vu ݌og*>Yt'U7j?ئ8BUԨ g{1=ʾXMLC蠥b$#^f6l6ɠmH6%.:EP=@Bxpn=8|܋ x*w:Ⱥ]3;ApBE'>D^*It('Tx':f;(|}r ُɑ=9& dȪCn$goi;NЍUW8 éNbVAj=`O}ϛ hbi:gJ:*Wr^XI٢+2or!;ʴId7b&͵(˞Ze/c.5noe(ʹpq*]oؖ Vp/tCH> q4^B,X3#fʇ7E6{#/qYN8̡׾IaL=Z$űW[ٶ." lh.y}aEi>>>"Enj/ _ gaPxMN0P/i"Ϭ1/3Bl+@U4~-!M6 7A@W3Z}#%-ce-Ʀ_2*zV-8AwC(pE͝!`M*O6XwSaV̚V|+8AI텋8Ix^!Έ۵#.}fdzx^uy?d C/S}:?1fj GJZR藈Lqy>?gB7 3~xkvvKǀXoendstream endobj 702 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-038.pdf) /PTEX.InfoDict 544 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 546 0 R >> /ExtGState << >> /Font << /F2 545 0 R /F6 99 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 882 >> stream xVMG Tv}^wDvD$l$~]=ma>^^~v91%}CLT5D$T!=dO0rty5coxZ3}^E'Ll T9T%-ZT[&e vj)NExz;u\H PIlc MC;qPb%N%ۍECN*!UÊXqs\B G)nt9.!{4Fj4Bk԰e1XsL-vkCJHwp[  V߹'-j5찚p-jdbu ѭjqXMBrUӐcԀSt sR5t4!5R\Cm3kmaFF )hh5JJ h7S&Ɛ](t4I\*ER@ѱ$SRD,M`Zv$,s{RSPdjUq9"pkI?/GDk1=obzZX:ߕqy=`[:3dX9H3\P>ծxpc߆sj8ɿJwo1m=7Ya| \|:1nv-g[rևe"O;-Gj<5?cÍ?ecp FH]397vѾ&be4#P'ƶ/+ېJ|Vݕ"\;:{U 텯5)(.Ybwps1OxL%nցśןr0l6l7y+{m <+ҷyp9Wv-m!c\^pWnN3;ƕ+?ޭWS?-:endstream endobj 703 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-039.pdf) /PTEX.InfoDict 100 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 103 0 R >> /ExtGState << >> /Font << /F2 101 0 R /F6 102 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 831 >> stream xVMoA 0c{>RJ#8PTԿt7DooDŽn8;H C"#Hd, &_#60ﳣw$>}~d(E@2a-JE&0j܀D2P*,#dL bXH ($ qPe,kO"ZPC]5@M]uQaØ &166زRn+ UhI(6.j ٣-b&2Rga1?S462kl,bnd\93Oc6Iܺ؍g .v8gNa} u 8f]KȖ6K2L-[R;&@aDS)";杣bY®GW S%.)Iu$aunfXK*O_rS=)K/PZ*#[p3(0sf? :pG&QJ4Nqom|S\BٽY|.A?\[+ 5+O[v6 }UyױgmxSE+>G8lbNQ6> .)hmyGv ֹ˳lfwM,@hC*y;Pt S /ϝI}R? &˟WN~+!endstream endobj 704 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-040.pdf) /PTEX.InfoDict 105 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 108 0 R >> /ExtGState << >> /Font << /F2 106 0 R /F6 107 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 889 >> stream xOo9)$$،p@F$6+yUnf7U~fzFL7ezI_(U )& UHzY>O|zAWS 1F|_kzbzz>UUI V8 DnBđCR`Z %Pl1)0[0!N6XKd(rCFSaV%:#j\TR:8l=khQEg+У&p\dB^}v; F>v60<;.3f#&T8Y>QXIѬ4n>~*楱%YLMd;\|qӸ:7-]6~[6?>RXW|h~v?ɹ?>~'q eG.~6Wg3?oNm}s;8G ,(g^??Ҍk\cϸc}&-T8߽̓GyA,́o0C;jMpp3q-ӎrjZp谉jZq*O;-Wx=Ap[~fۨ֨]3nh⵬kS|Mm'o7Cok|WK]3nc:{,+:j'-ksRݡ> /ExtGState << >> /Font << /F2 111 0 R /F6 112 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 783 >> stream xMoA +|}mHT8TR R>ggwZHC=3k)p+ccfZ12|nxyN.9X~_s'pp5f }ΆL=DX2\ ($n0U*!%Wʘ[Y/ TA)kÌ.C X"{jA, ZHrmP1D q-ʉ18a傥[J#z3:M zgr\-m8`Alq fpQ=SqV5[^R?FR5)GV^z)3gV7y-rQ;g.Yl~N\#{)ٙ9qn~v,Kw?>ȩ8u8O“6ֱk7hx ;FR4nQ4?8Rq{Wvo/3n/7$yJ^X}bWY'j u>rek^.]y5-_wNP{m-''iD2w2&\sБ0q2m{|9>n. .rKʼ~NRQ^r$#J/^5yDq>nc nNB)NnzvzX łR(ruQEղ'kB}M{h66mCs7hr\{D˟v.&.h+R r[mfWw[|>Kendstream endobj 706 0 obj << /Filter /FlateDecode /Length 2335 >> stream xڵZKs7WLra SaN%=l*JD&"G&Ek7> `^)VEq8h4~0/ ^|w%i(n.GJ7߯aſ_B3ui[`^>eFUL):xNBpVZq-tyYLUn"|[TҩҿTZ7>7~,<\O/?y?;XC8 ֖ ,ac3.=3T/|VG)nK9lNrE4]7^X2|JoyiDP-~T`UTk!* EpLt!~FeDYO*s{J 2,}x /΁ $mZ|jc$VJ+fFwJhѧ)oU?>N,gZgQ' 0 ̬+h ަ\uʠe&&AnP (lHŕ(E]}X!'^P"b.wMhgQ;i65*ؒ!|6΍EA*꿡s0 _VdIQX^!#hD)4_K[R<…;'7/nxY)Qf;W!3bv)O}DZRHiTI>C/t~Ӵ!3m1ȠExm35O{ޅ DH <$mZddvz+RTfa6d@Nh};%. uf)O Z uˁIHmج6:l{zf.4SC%Ot0}UbOu`j 溼Z2eɖ2m/%/:l݆Y F0EKSQy{\x)fgvӯ6l K陦P3c)܀?t endstream endobj 707 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 708 0 obj << /Filter /FlateDecode /Length 2832 >> stream xZ[sܶ~ׯԌōL2NR?֤Zj]ɗ~ ]8I!2><:U()ߣ7v mhZ(?Te,^'Mq-p]ĵs\LJJ)ngq#߆*vIm9nuŦU{u',nM\U]6U[nn642`mu}^DKYIqI5. ~9Xըl$NqGXG3mD'uG(̮&\gx|MV>1J:%QwMwZk Y?>4B*^]?F-QGgհP/ZPk u>D[),U]4Fϣf2w1Ty/2W9.aF-uGts&,}ljCZDž, i?*,y51luiI=^aAhJBVa,'Ji[>70pb-Ϩ-%L$6*WdɻCg߰ nyB6"WCu%`>y vPsW.׳+D- }Mc-4|2)y r':yx0D8I=c%(q鼳=Sj|aws?Лplܶ|;6#7cqgD#ҳix0 FG}GU.(Q7F4鴽lyy HQ$- EgAA^UVѪa_B? //C7)4aa-t_Wm 5tU hsBIkL-N͈z)Vx7yddZ촭N Ȅ/l13nF *%.0riPɒ0f̽<\]&FäD pqJYx B^ ??8FoJ,oƗzFe-e=N^OxUERe<]d$ޝ_I: Ⱥ\Mk_0-zΔt+/wocC9MG WB9}*&"̥2NΰLpW3i JYߌFn2՗O_FYLZ b^Ṿ+鿈kjݴ ]48-9<::퀸,T] tkWO1{(Qg_Bt(Q7Xz+5DV0pR;nS/ 55H9ˍDʽmÌ;t32fm΍hc$Tv>`*<5@5lox)Wֈaխ\s在|Yz)l`8bd3-4pM=LYz XTvU^3,yB5:῔vcA hnN={`ȓ!/3T-ZMLw\`BMֺg U.RQCn gPh]wBprsg3qLU&sygmC@ryo_y1=k-oexxBI9h]{▎ Zr)-- ߟա1LOlNLQT$51g}I)y//o>e+S i5,ljLv&$JS?eV >[=Jy vqF޵;BA"/8^[ړ(}:]CQXR^5xn*Q7Q> /ExtGState << >> /Font << /F2 650 0 R /F6 651 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 807 >> stream xVMOAﯘh Q"&ʋă!ALV̾]#l8ݱcwn7J> I޻ۗtwӣx>|t]Lw9N&FĚH%+J!:)ATq3e5w*xƋ%I(l0.kÅ6'3Ij| .p0́#K{Q#SjdbCU1-1J!Q^r;?*qqp!)̤dz|I.Ϛlg?ʖdΫI-? V) g ,!XZH~2|Uo~Ql~ wj'W<6?4zK+p@rGףq䓓 a Җ_gA&?~dDrl2)w\xbpůQ_=@cA1)wW >SZ9[ՂAwjkku٠.:wQ3Y=v$FayGdmߣ3ZX"qO&,| o 5x .\ SÅ|tb7络9Y:bgzJ1f=6{z 2^Ue{pl[0zw8ܗ v7b닻o?`5̽N6ůYI{m7!b\8vqCy~4v=o_1endstream endobj 710 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-018.pdf) /PTEX.InfoDict 644 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 647 0 R >> /ExtGState << >> /Font << /F2 645 0 R /F6 646 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 822 >> stream xOOUA SRi;5!jEˆ &~}O;@4$鴿-Np; !w)T&*Az,!L޽<')R1^_kB S\Nl2U *BT J%*jٙJMV*)W+ )1%[qG0YVMRN_Q?B9"~4Ϩ]wK׺?gH.B TF9fqͤk# 5RI]D~aRKdle2f 'cjD)HpStj<3p>x W0_ӎ/XaǫO>EhTOtݲ6c)Q{3q+ kfHj<{*x2]bh#j<9a,v&5?'~o<gE'kƓc.kb8dZ7xge}Zvq{ Ybh2k50۸f[ƕ弽ȝnAGB0 ]rH w֗1=ih.nX mai#qƣ]܉6m[NlKϪn5~َ:}x{j-HŒm5?ugŪEuL?/kyt' $ָey}Yp3;ZoQQ1endstream endobj 711 0 obj << /Filter /FlateDecode /Length 1819 >> stream xXKs6W5 )z :; 'JX xKI-Cm iHg:K:XV9_f X9=20*>GʿzZ{n7 SD.&b& /@,Q֋ݹcyug ^3iCN*J4oW->E5ʝ] rEuvnr<ՁFή>?a$ %vLHŦ85 3|\tܣR` KX9dy^?y{=ve7I̼m2㈥g-X뾪NJ)F7VTXj[{,Z;Kؓ]ܬ vDH/Mx<PCSѳAOjO>W>lĸ#$C3S.9OlSfeco֘}W Q)R%Hd:P7I\XoKnM<}-_W)x32x"}f>#D5qLTldRQVJژRL R<,} A^T$GnnaPThҢ{u9]R6 R}{AlDzӗa \K]"^*1T!4CvX)FA>}yZj-*L9l> 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 713 0 obj << /Alternate /DeviceRGB /Filter /FlateDecode /N 3 /Length 2596 >> 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 714 0 obj << /Filter /FlateDecode /Length 2536 >> stream xZYs#~ׯK 6U.ەJ7Z%Raק40({RCn`DVQ/%-mYur^p* V'uWWɏ_P:_-GO}-kSoi=D(I!5#XKZ+*K%g{2+[BG>(@eeHkh*U%H$&#2ʽ)pb1-RkL=?9zw`=Xx%Flq &0cEn=颒 q^|ѾDGU TvyY[ )xp!R0L$#`HY,L3v~KUu.ݚ /e{l͵|Y%m2J1ĝ%x$ZleAGm ^p>oէ  0hWFk0]F(n 2=+ɒOb9ckb`(QCSKXAF]HL .D.M \mrڬ'/J@J ⳁhhDQiKřvT7>Xr7V|DUQ>*WG{hw2XJa ! _x'`` X݀l}O00ZRQOo$$O%ګApY2;!-U=˳g5ѭi&威Et |u íjftMٕ{r~8.g6L\f8SG%gt6ntH.v NP52z创0Xt3vPW;Dl(/BbLF >q8FI#6 Vُ9_wa) Dqi@j.CWko0:_v21L(VJ6zxMBq=} ;Iq9>`φ+^e.#ܙcE<]8q_&hI"7E1(\rZڭB;ABgu;PM'a<;y/;=E #~G7wP4$-0kdeQ'9;W1@yHD;H`q68׈()2u肥 ]t9NF9yHr0HoW o+m P@;; ExZ/QR0PPj_]4]\hCCsjL,& 1笸fpc, +o%`8ŋtVWIJ/м+ :J{{J3L]"LcX|s_ nCԡy|@ӄ^ݤu]GMIё}rU--YSb,޿ H4x]tا \7'jW,fK'y6ic~H6Pbm0Mm2&rhwJmp6*@IQ ǜz_Nb&()` 2M/6!0,]g1o{Mn14Z-?NRJf{綇"핏ߑRp:xJ)9|޹ぞel/wCͳJ5CH^B9zOȇLPzcA z1hko]og gߒ/|qGSܟBVnK釻[DYO5t]XP]Z% eaikX"kk/eGrZDh%ޕ>#MQ1-Qp=C1݄U0+nHIu53)pb$V Z6K pv$M{G2mpI/FqQ.i ;ro==؎;h#.f{ /EO:&a(*+ZUr*g.Eڶel&Ļ1 :2n㠩??EI46uaֲb|qnSo\E$(n ||T&wYg5YZ&DN;xwRt B$>(#L?YDN9[!d^I(`X3zO(jGR|89'm68,׸-BSB&3.K-XeP9ɘf* &CLLLŒdY,`)P)囶t/2/VWtMjxu(ޔū}mz8^M~U򸟅_YQϖu9Ə&KH~1&ܻH +DŽ=Wendstream endobj 715 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-022.pdf) /PTEX.InfoDict 668 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 671 0 R >> /ExtGState << >> /Font << /F2 669 0 R /F6 670 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 928 >> stream xVnGWT !%MX@FGs{^ _Lͩ:zAB7izI(5qdQ(ik>Wqty5!7<-L@ד L/ЯS.F"FwSB-qVjܨ6 K9Gs$Q2;q!_MU B#QO RC))v8&EMI>Hr$9w~IlqMpQ>R?Wv $#q @SWT,5ꕎ((a|!5T B28HӵdZ? Ljjy.|zj.#?"%()US F2k҅0ozZyit=M o64丸f2\OCWqP[6wdkN]Vi)r ~CCb2ݏJi;xN~t<*I} 7%H>f7]pg߇F/N8o"[_0tz0~c0c v'(S:L?%Fo=;`cxY{v}<ۂllp#v^U`C:Ύ1hԲ5&V[3Qw,>f^k%:Tj3Q +@g֯/;7ӕh*:WWn]ϗz_B"?\:[z.9\^7"-^?~Z;泝Cܷ~ %?rO^vs4!'ֺV4?Xfsr?n]/#?=:'ONhendstream endobj 716 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-023.pdf) /PTEX.InfoDict 673 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 462 0 R >> /ExtGState << >> /Font << /F2 460 0 R /F6 461 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 883 >> stream xVˎE Wx,bv=3H @Pe"As꾏!ŽӮcW?^}X^*Sf3YVnJ:~fIR;%]^w/&܌,u.Y6N-=s$J85G2P!ϣM]ΧH4bY#~/dH5z3džlCOˍӒ7 dƠAe7͚iHc,՗zZii!:B j i]COԓ#7z_Y^yk{H[\ c 7v(;“~uXx: y5̿Ų7RYsgt[=/FElʣ_@t*~֢`H>'<5V' |fd7L~>t Ǥެ Lt=tL=^z9鶛btK7dzpVY{&]گKƨou40"9.ݿ)|Wo>u33o4t^&\_. \ZJp216ovo鷟,+َJ!rroJ f3zK?)endstream endobj 717 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-024.pdf) /PTEX.InfoDict 464 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 467 0 R >> /ExtGState << >> /Font << /F2 465 0 R /F6 466 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 848 >> stream xMoVG Wx ܱ=DR+Ѽ- V%H4=++\3B/H>-/)S3Ι,+7%+pOty$N)_~CY_&܌ FwKBLK\ 4sjWb" k85BC|}I流 (̸U.|4WöG+~ 8sR|aȚsUή,3};xpMέA\c zյށDУk .Gan#yDQN:Wϧ6tv? v?c"'Mngbw }[18[cVR6J ?^U ?u'c{~~|w;oa|EM9qm[x%!x'?šc:ݙg[lm1Sy 6kc,vK^٢yeKc>H,3c}x-ߋ̷{4Lo9_Y^z|[?6||v ;,=mV}j/7k@\~ ,a<^ǓE78~Z96 L ܧGN"~ůs_1Y%endstream endobj 718 0 obj << /BBox [ 0 0 432 432 ] /Filter /FlateDecode /FormType 1 /PTEX.FileName (C:/Users/A.C/Documents/Mes packages/documentations/new doc/tex/kedd-025.pdf) /PTEX.InfoDict 469 0 R /PTEX.PageNumber 1 /Resources << /ColorSpace << /sRGB 472 0 R >> /ExtGState << >> /Font << /F2 470 0 R /F6 471 0 R >> /ProcSet [ /PDF /Text ] >> /Subtype /Form /Type /XObject /Length 846 >> stream xKOTAWR]UBԄDdԅ0Ab&.f8]\&Z]$ >b!ya}zV~nO_p,f2't%v:FJpBIPE J٥Z !!B)QUWP Q2,ȲR̹arC%EQ\b0:`1JyM|9W"6qT-knؼxn^a .7/J^V6\e aн(jRD^S, &X5:ˠuym4:EM"R')fLE7b]WF,E7^iGא@-:C]ܣ3У3 /aa=GgGױ5ia1::Fxi} 2nAWS+8w3"E=醳NRrF㬳Z }i}~?ݳݙ4W$g]z}ނ!kqnLl.6?Ij*,DR^17IK7$sOs[*vr4;2j$'#FBeuY'l-m;.tm"u Sˬ:4mw?"ڬ=JhgP>tکn(PwX&/?ܡhTwY[#4xJ/3f.x˘4X_6&>XOߓWendstream endobj 719 0 obj << /Filter /FlateDecode /Length 1793 >> stream xYn7}WlVhR MMЇpRM lɵd!VUEPk3ppv.k^Wz1[~ 䕨dZ8͜Ӟ$2K<O׮Iݲ6ia vSGŨ`T2i`:Ӄsa*YATg[[):8CQ\鰑>a!<,?$;9ӓ4n(}qs_!a;GcJw/T!^Pj4#!E pL@nV-w=%Bpsh_Jm> 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 721 0 obj << /Filter /FlateDecode /Length1 1407 /Length2 6018 /Length3 0 /Length 6971 >> stream xڍt4j-VbQE$A]mڳ TRզ(5ZV??=}OuB;$Ɖ@ @5]]- $)IQ85@a A :u觋A=]`I XF,%@ 1X: 1h_ E98e>B@ȯp Eah. t%V\F8 W A%GMA\[ !:( Q8G!B"?`@cGo "D D{#<$H,4qC;v X t&Bp B;Q.H'?a.b< r~uB!@xp, !r Qg-kjWW$ٟ: WdoFt7A=Z\*?:$( @Qgzc_7//5A hO @#z" "PpBNT#cQ>@K{` ?{Dz!0hWb ?6UUПXSTBKHCia?I7?2B C}+4NW? A=]\~3ǁHeOq-t1@*"(Oj`K~QPYkH}CF:3U N A\Aܯ%wh8s%e0, (IA\[߁bh $bcc؟:=Xb_t [HCB_@ؽEmK=ui,$egM&@:PkV=UÜv?UsJrCW'I>?:A[OoʥP"猺ׅ.#~UO1jix7|0un _#Y˞m?|1rJ{3CNw]4J>9]OZBLr (NiMp(<0}\2ge ?e]E¬X^m#Bs;p.*%]9zPpIlu5T3|X6g1^ZUihm݇v1' ʴ`>K꽚S\!]uzAG4xA4=jR澖MXMG]@n.WwL(Q1}R7ٞ7۪W} ]" ܳ*^y/2 Ya\v Q*ǿ-)i”RX"=ustfO-;M+`ٸQ#Mj- m_$8*ތsf*5IUئI%\۵߬<k~G>w)&)/qhPLxzp$n:IVR$'v5&h**$zBrS>:/xx 1UOb؞kseK?bP1XnBl>B1i(DK*,ިG[uc=g4Bo?氹Htf0JϘ 2uڶB"#'x[H/3;ob\mL1ㄢ%} 56K8Cˋpyio8oivyW}e[/ltm]@c*M$"^9Hy]s@=<mOR7le_ v~%8 zOB$ʪ.W~4s-pFX5Dޛksʤ~^r^>(=Бg,=jrTqρ=c:4`ۑtU뜥%%YvD{n on/tF{{:hxc.9P\ϳ_~yV2-|;VW|Rki:ۮZ#kV$4_;Z*yj,}`:Vj>L/5Fqw4w 'PVz2lxFT;}U%LTz9)L:DǭH&.)XNd'> &p1.s+g{r"V޼HfbOD.3oEg@sKRpɳgo&Ӥ\} PjcC}ttĝ#yQŬf ȝt2 AwѮW!s-=^ ƻekcm#w.$9tg8}TtUy6-r`\`%g%r/k:;{Nږ |,8'K fg3+O=\.Qˤ; RZb"̅^XfLdEnljԩaY+?xIG kQwRL{"Qx D kE FLKl >':#OfT\<'; Ƈp/ɉ 1K|ܺGj҈йڪz4lz_O'Um7Eh}&$"/32X98"洌M@8Ģ5?'¦Kj"TWPwq/_@ՠQ@C+bZ}ebF5;}^g O98Qa7_WIf|^Df&'>uʐ߉Ye/k̈́B E5SܸGu揮F-/bB[+ӮHʥ6I1W;Of;_ģ$%L".=>fԝݲ }6Vmw{Y`m&y}H`HF=_I$$\ Cj;л&RWBs'LչeElnh}b3[25îMgO]O , ACkX>(~/{LöC\vDmJ9>&]~׸*Cv#IsULB97cwҷښd|t5-vmF)mIH8U4˃^1 d=v+>}Q?H:kDt9f)5d/vr41ȯ;9+n-K7’W*^:_NujL:5==_ssWr"/m57Ό:6l8Մ$vl$Oب5`\+cP>|ct 1+XGtvxt?6? * u&2>!2hFE։*H?_ )b*ܝ]^'F܎:Jˁ$͢ND fD *k èpԼ<9>dN-H D >~ PL{X)%48$P>q껗fW3v|דtH|/G?X*p9gdMٌ\^R+?cTN6-6}l^C0u^Igv}ŕ(yQ\"s"dڱjCDb]0[U=/řy1™HeE 1VI~$1gWGeez{(_S"Sc]A㤗:XM+,adᒉyD1]fm)iع6FBbs#Gۛ]O$s/XۍE)uu{BֱMgKMg^ilZ4gev*#,XvlJ+SGa+N,EK=RqQ^ÂlPB"m@oOc\|:棵nF0Fxt²$Z~nB3ɬ!S[,iqr@*{LggR#0S׶vHyΐe揀$U"xdȵ8x#='~}gQe )2:tD~( Uۀk=-ir ƄTJ翋[uOj%ߴԎ-t˛swb.&{JϠ V]|xTfY|xSvG/tFk2C_ ?\)ϸUn >k"\rݰT=THFOb_/R1Z[-A-ժ|AuR7~gdcSYiHyMʆPIF𤑬ݻST_ _pR)ʉZV tmOH <GRz^$ѥ0 sP?(H 2|M->:\ J{hMaŵ:\0+Y^R+g킓nto4e ]z,90*JcVG duo[_ 佝vGN A{{eB'50oݩdlŊa)`UZ3ot510F^ 200g '~H娩HWG1Tq{Jkwx-vK,h:a,GVaGfetq7w%\b YD,>&(JuET"@$;$R}!輥)dWLE Ozw]lCFR|y$lL%~ $2||\W>.%z<%,\*!HgyPtKFf4kXcyA3syY 6?}:ɮP_7̅WW׿5߼KRK^'ױ9>*;Ae88ZKe1qOMuq0.Y^{6k Zρn=SF!EV: YIEn[:=ӭ$ERlS3i;贩sIE׼T10xB=x _>4]Y?ӼU^v)PĸU5SdQa-€5Rխ(zK3{Q@Yי>]D706jǰw/~"zoH5V 0\"7oqhe>NگE@Z> /W [ 1 3 1 ] /Info 89 0 R /Root 88 0 R /Size 723 /ID [<12e6f92a25b616cca14c9f3250e33c53><36616bec52fd20637d2ed7b8835205c3>] >> stream xcb&F~0 $8JLv[@ih%iCWz%0U\M$"UXڂJ (PPz R dLp/Hr0{:Tt5JSyrT1:A)LBl{ALh %M?&bu `T^5S2+<گ5$_ "A}Dz7HI ) "o 0)De1+d &σ]A$C?J?LpK,lπ҆4 " `u Ys \|`qut54LIfɱ_@J`6;ș)8e!qݩV6 #7^5 G_T endstream endobj startxref 479572 %%EOF kedd/inst/doc/Thumbs.db0000644000176200001440000006700012614740640014463 0ustar liggesusersࡱ>   "#$%&'()*+,-./012345Root Entryg256_1fac59460f8dc92(8256_aeaf9cfdec3a8adf*!u(](Ry8IcJFIFC     C      " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? ׆,K;vwkx3ԖbTI$NI UEOtK]sxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAE|s~LQnNP3 P$I'|lP":(ȫ׍Z+'Wx襮 +/>#)bu=fuY!`vM"ڦI42nm`q8+Iv:1P[k(m`P(n{(R3"I#p@rϵw/eSk7p^]%%̒đSi&!OsBXxC_me Q#%kvkF~B/s,wP%B8%9^sP%VC2ď29r 9b*1iWI!ٯ &!Pg*ʋuedVܢ7^ՠMBE;n)`YeRvƽfIKu2[;DLf$[2Ha5 >R{yHqoR͂nX C%0d1H ]!B@+!et%.e77Fw./ʏ##YweR6fFhr)KD J y~6|lP":(ȫ׍Z+'Wx襮)jM %%p<$YnIcGq\_ |' G`TP$HQAo[Es^tֶIu3d(uVwY]XrWZ85$iثZGYF&.!hVf$;].qgï lN_ӥح!˒D")tI#n$$|24RTfx9~b.G$d[.XpqBcQ߇Ԧ{EY"HL&H`'=Z5(īn#HN;c>SvK+6KD{;LYIC+e$ "_me+N_)B}Q %;nsXNk9nwY-y$,ݡ;9eڊ>mED2K,HFr|ue%Y Zꨠ nkAX4$¢(TQ*I6?UҿE-tE]+mRA@Q@Q@Q@W\-7[irH"xR,uw̛RbA @ۆ$ 6ΞrĔyc#i? ye34-r F2 =ss%mU7WBche+ۂ;Hqp6IaaM6"8|+YHDCDd!# lWܪٮv/٤/ q MĶ֏$UG̭coO7w7_^:J++Jaҝ󧸑HdeR@$t@Q@Q@Q@ lP":(#ޡl?DtPWJoW?OtK]QEQEQEj^("Ο pq=ĘPobWMEsP D,cYQ<0/`B~d&J 8\URr;T1  80pZ7`U cl J Yjlֱ,`Fbw\`2?J(((((=DGE?{?{*_m "^6)k zmBDm,0?<1 $POE@]oV6obs#čR.X9 "C@uKL][oٌPʬʬA1R!#j? 6$6v:n*>\*Xı ²ķ xD?<\kg ;(OE]=r+#\E2 @;Kռ'v`-3"E (`yN791Zj)e-  G$mA͸ ilבܽ3#13d~`DX/{D+C% /Xof+5 c3-Ҙv| pJg(#4;XP!f l88/~U #qvm9Nr\hm̸ l2gإ˘"g]yG9d< ttW7wFau.ym 7:[GͯCnm$u;<:*+ź%"lip*Ipr8F5nnٷ;e /<=#]«7-[HSш$⧛:ܪщPd'h`qr1 VD'md`S *mxN|gy /DJvA2>Ad$`6vpq{dpz>A#ޡl?DtQGC "^6)k*_m =,l %DJ6тGlIgf\Ծ+U8Y*`G-[(5Q*A'msV$y0$.R%Jx#k)e<ޯfO(4{DWyE;Pw&wm`@*SYGqĪa6 >{! Lj cmxǧ1bVRe7y A ːBE\ݤH#ybZeR$TI6bĭ|+.@/9# X([rXqUF(ebY3*99N(Y"o۠`%fc!hY]Rm5iUH䌟¬CULԛEс2(ubN ŷ0[N&,E#2oo#P2AZ'}b.gYÑ#`(VS#m!mr]jC[ 1Th9F;vdV[YgK}V\Ƅn,s(19v`Q\-\ Mu(>]nKHGΫV`~]O="0\q@a+:@L3ՋkVv:3bՎ0x2AŨ[,W.NC1!Ϙ$*`čq%.UHqCe6bKȗIwuo8 1GAPϻ~҇ڸ. ]j&}W! e>R@f:Mqǯ[6.N *bY2Wυum*TrZB1tyu HlƲl!}Y:nVC; 14./m)[! / 䃝XX G)mc طݽMA8p3qʳk7Z,bm]"7&?,!ݒ6A 7v$h6woSj̞k !KSdGPw~8I$n9 `mrKLy!aI O5Tt.%Vdy<@|GCgz@OxE]+mRA\?UҿE-tEojZiaIM sӡK\?mcPXǵʢ3@嘫qk^Oy/ 8+ ]WO[8"܄C~ yl/8!YӖ"pCoH$ÀwdX*KZI/lQd$n@9 VOc )La[sՔL[9LYe*"MN$kLFɸ/ΤbYco2 ]mJ m;O\'JW'pݒFT8mm<.Kk`*r]JB78' X嘵PաC,}2 !#,!IFus{,eY0Ł!BQq>֥R"y#Pnؾ^ͷ݇0.5.d(ޏq @pV/]ʪ%r@ `hBqVN4Ho$̙ɏfaJ>KnD .EX~nȍP@' X[$h/-gP $]I vBĂ,|?. 98eouk"2Ns&T$' ^h![*KdO]8W&]\ ޥ k8 VLrp1 ZMѺ.97:+ F Ke "g.,%J넍IxB\;o%,"dW',1 B z OA5hmPO9iaAN[Q6[DF0< m,3',Nv9vi7oh;n#lu3 H7/U 95>;UwIlPN$9v's,qG&`n&7 Wv((@yi6vyneeLԮ[Hnw.jjHA[)wZ;be6bCjkȤI3c̈́$ʈvթ";r͕.lHU\!qVE`NTv%6cPA!jI!AT?6ZBov *Q@ʜ?*Hjw05 #)'69u dD\m\Iy6)f9#''\t9bI\ZE^٤YY V+qr}#>A#ޡl?DtQGC "^6)k*_m 3vj^dU?k͕~bH#Kg"-iFx (qp <=zTn_T̙rf۰m  Ā ST4xلc;D,K[f.dj'K3HKTĊͿ#vч̌9 ZO{5ƌҗ`qQ7M`ʨ,NV䷝[x4I \.pAQn ' Eeu X Y]J8;@H`; Fvpe"b źL ҅UP Q}(j]įrCȒNw$ys2w)`A`Kؤ1KMNP>Si l1e$y&,9!c]yipq#wݫ6\2׃LvHD`ma3'ݐ#sl$Iqa+*@L`pv [~ftL̡*2_nK e qL R[Y"Ӊ 0ѻ>vĞf 򌑐ƤӵIKX `e_ M[v3cn3}Dy1ɣet^E5=J%HM(Pѱ&eV :, X[-2Cd)BI/ixO<*eqE 6`9bP@TQ5]A<~^h) Xeo/$o)r\ #Y:vd#D#ny /*vq U >l$aY.;VT;x s+ž+Ivdb*bYi2rỌFDyy4 !`KB @±ϐ J->[$;bi2HU`*Z1J`qb#|klT"78N)iBgDi}5 bBam3n#ryl'!+Z{0#@!#\ 1eѮm/Ox%aIMeńaءnKyO6 ewf8 F9 fVBC+JY%1$DC egPɣ$,.+ M$~A`yy'9=NA899fd]ʻ8'q@SrIZ]wYPhpŭvEqߵarF !W;#†ܚ'@Hj%UWRI),2 =O1̓gJ+ C&v$cʲRp֍jYY%,P`@<8<&H:ͷ*ے>;>eHVPcjG/dQ? A8'ڞ dDFBbfc'U]XEOEF_;x9Kq|pjSI,:}A :`O-y&I<Hg:cqg뽳;DF (~֕楱-a {2H2[m$F% 3`ì#&nKH *2I0 U,z(LX0ʢN7mr#\*<3C@YWF.N2K; Z5\2w_Y>VF.V]pٶl27 GUѭd Y-[aZF$sڊϛl})cGh$܂BQ#ƈP'1XLg' 8 K2||~U';Z(eR@ATmTBᰙ`2qz(=DGE?{?{*_m "^6)k :Z\YD`>꟝qUb##2. {EY8HdguRJŵmA*0|U'PKO۩vRQ,ogC-u%^jD 4TShp6!x;SP $-be&H.` #%MH׉s" 7"C87[p.ipM!-OPIQbGc .y,urJvz3%ZQ6u#~mT0'~.%-I(ahci4FB\VN2 fB:M{{q=m-!Z'WsɆ*Q;ƽ\4b 3xEf+#lͨG]˾Qhcr8( ~U«`e fhdɑ>jʀpC Dju-mqQiY'a9 ٲQ;Aߛ @-]rje2 %CO?B֝^ؿICf e@ 5FzEg]۠:LVSy31cdL F \3ķ-/Lk@Bby #w[-yF ЂHїiO7#)F*/Tq)e[h?CFi 8[Ԕ"^+2QH@BFYQKm9+|:|ZEwn$y9"m9͉Al}UrZ:+ai5IbMP !cII@h);)sȷ,Mm,2Fryj/w4WI++ڐ*0)lGl6?UҿE-tE]+mRA@%t9kmi*+;r~b5$Q)!hH6{G ⱱY:N.ɑEsr}H=:t=x6WWW<7`d:+̳y}pHU}Q(NK+irM迼VAKe pb.2XmVHYI^82!/-r=3qtMXڜ]EeemQYX!@2#G yiERGI UP)]a㿻.6g˷qi>T@QC`0~Ob !N)aѵ8U_n3Mܱ˵Pṑ7Zll$1 ;,ƿax x avBo/VT+BUr,$n[IgiҴFL'yYǩ7NbLdAT )'4`Xr;dtsb1FUv ؐ2:tT`}V;Uyoo#`q\lpDmQCgu[.c#qgd.ZhN~llJ)f&_A&%H[֖%[eΠT. !]͘U]. Eބb +Hh~hW yD/}Epۛ8nQh ,̍.GO-dئ20#2$VuKqpd v f( f!HC]Zj&(dr Rw+>`a$WX.%T/6HR 9FyQKJ%.Ũq z6@iBIRJ`s_gzGa#>'Wx襮ȫ׍Z(7\+:sR6Y,nF܌Y9l&^di!3 UMV/-TWtZ5iHlX`ASD6ĠʷW#`c`2a3€l6M)cQ'vfrKMGcmeUFͽ˩- RNl6 2+mOmj1~Î2k85qĶp4R,k X`U# ,PI,$)s Z\Ge ,6+ B<6uXi76\`+~z8cK;| ‹Zfcvs?;9$lj-v\F_rH7*Z!`ʜ#ZME'"9e,֜זq#*YۮN?Ҹ m_– Q[R&$VS9T& +Yx I6RT 0>ij9Ur2pIPxpд^jo$IRB:T! q;E>ZM< $Xg$t4+m7,齙1 D2߰0ݷ8ݎszg5UMA4Pƒ*  NN:dZ((((~6|lP":(ȫ׍Z+'Wx襮0|YZF xH~{yR7ŸކI0Jp 1csU< ,w\Ȫ S.s89[M";q&nF f.y;rA EQEQEQEQEQE|GCgz@OxE]+mRA^ᯏѴ[-:{{Ɩ\FTh&@H$dtOh ϵ^A _q?᣼+>/;@Ey4wh_߸zk;¿}~WGxW}_vh ϵ ,h2ɑ1,vMy?4wh_߸zk;¿}~WGxW}_vh ϵ^A _q?᣼+>/;@Ey4wh_߸zk;¿}~?{?;_XY/ja5CU$ax?](RyJFIFC     C      " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? ׆,K;vwkx3ԖbTI$NI UEOtK]sxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAEsxWV? G UEAE|Io[[mY5,d!@3aE\jlPE]+mRA\?UҿE-tQEQEQEQEQEQEQEQEQEQEQE#Uxe;FoFE{?UҿE-tE]+mRA@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@0~5[׌6Z(jlPE]+mRA\?UҿE-tQEQEQEQְ|m? ~i|Ԭ,̻wٕݴ6v\{\$WqƘlFw]v̹h#h-X%UZSYX2>?9c\![;.a'/+0$e*)H0b3玙t~"ٔO(GgP4dCkWQv 0 IF;^E$?_ ~uB€+3wYKpq9lI… %ϩZd{Wd8p@ 2a0Ԣ ( ( ( (>`jlQGm^1h'Wx襮ȫ׍Z((j 1?i'Fӂې'˝99 W;xC5 4Fq|2ĈFKHd8QǞ8_F$fH6ʹy3!WX9Uh Q\O q ڷ+4t(bgXjB w)cK* !cPYFd`PEEPEPEPEPEPEPEPwV?h?-WJoW?OtK]QE$H '嘪cP3*浭HjKnn΄DP* A+a@-@ { krG{4ṈM$*N\ole*ofIzGu**!Gp:JKu FIv?{YP,6x_%w;$, u$UEQ|֐ *AfȃXSXbٖ8-] Lmc2ez Q}m[DF'ƒjC Ep@80rRwծᵒu ")!TfwT oY9 U" Ke˸і^[r+6'?y;T`ʹzt"VL`F(Y# ހ%·mic qJohb*1!0;_b3|}#"5!rj%0c 2KRuIՕ|bID˻b+Rw/ b7`  %9ԲxAFdUC|A3 /<%pYL%:@€&]g䱠 h 8`~aA[OI<'tn\:5K\\nleVÀ*F>݊Zį/x9|>nqb((?h?-~5[׌6Z( "^6)k*_m (+LjVR!DŤXL[!$$xXα}YL1P*9G`62KOj7졗*yrʍH) e@Mp,CJ0Q$>YY7RĐZa\>q-]p# fq#`O$rȳjа7hKU)gg~DIy{kqqo=o(@MCAfJeka% aФn\>B <̭y-6VF,R2q} JWoʬtV(ݧefY]$/؝Bρ5&HuM|~a5,ţX˖^J$Q ż;Z0B̛0& 2wA[+%USEJIU` Ȋ9n]W" Lf$2+ !=W.igWwֶ@r y\cs; |̱. 2C Cd$rȖ7d%ple#n7+;͜8#igt1M̈́ T*!Ip9ZF݉KزKF24j\ϖqLd%0JzR  o7.8 ԒxcDb.*$ 0' sIyO? aPK0JJh]{X*]0#8adְwHgN;pXu N:#smz>( (>`jlQGm^1h'Wx襮ȫ׍Z((OBY/IQEQE|Gm^1hcѲ@OtK]sWJoPEPYYܬv&ܮZQ,hUcr3z|Q ptsW`)±T6_<#P]>`-%e#XEPd*0w-=I֐æ!O0ZK IwrTᕉ\|A0G۲F%%97NB:ɶ,m$ @XFs1km\ʀ_h<*بu t>Hpڭ'cφceX4")GWeڡ9.K3$4]J[>\4qe6S 9Ҭb.]י>b@8PI0 _3޾oy/|@( 1|*\,HYtxh˹h!0^BV@X,66:JP78|&JwK[]*hߣKnn vYXpRjQG}-F-|I % e >n7Q0tl2(P2RҍŌcP䲨r!2|߻P@cTV;ItkU:##V*4Xn.?m{5N?n\Ge@20Q e-61(mIH|a#vn|3r6Ɉ1,wXnbTqR ˦m>o,r۶.jkK+cDeOT*# BC@&^\i4/*D͟_8B7 Hp6j$E[sd텂8vF\nl*|A sHn4SNeV 8IWo#GcHb@Tr(KMŘRNs\4ZT7tZ}ܡ3w30\`@N{(EP"@w2zQEQE|Gm^1hcѲ@OtK]sWJoPEP\_"FtHS`vI38!\m8!p7 * `,j0X`G'ր84=:o*[Żs3DedfbUoHt< Z:PӅ/qbw 8Ú<}pKo1!lXIIԃCKX,կW]zut#gn^DҞ䫇gfZ]^ؖJCpE:>⾻J $)vX1P$xƌN1۱Az4ryel|0sgǦN:SMchw>>b2rhFXmm +HۋPU܀ |븸&UP+XI$T)&2!z&vWmCC ΂5 ĝIJw ֘ѥbenLHI'9-[m3˄K* <]˿t쥷6(X "E |fFHV!I eqB@Uea@kEhE0.M`NzP+uel,na2dF+W"VyL+mkXuVrWC$ 60#Z3 gnU>Ԫh9}{cZ\G}- v O0Vt!GLc2ȍFIFi!k c)t}`^#+maqmgrR5\pݎ7}qqZBv'o$Ab6nqc .,A: EP 4>mI'dT4qa3yzD眊+Xh̻0-)Q"*JqrFơ#1]B(jzN- /X*r>MʱěQqe@!Hۏ%.P"av T1r!P,'wI+Gm*sRÀr,MHf;[t$q :䌶IXempYp6r@ FXB*B7k.%3n!NO<@[P2ÃsN:dԙ XL&2\G #v0A;Ԃ:);vw^ӣ227mP3 *``R 7(|;MhnglLX&۷m JkR%# Ca `#I tTP vpA$O 0ĨYȑuV]![x$(PXH$O`jlQGm^1h'Wx襮3_<7hZt-0Th)*LH8@Zk_;¿}~GxW}_v=~h ϵ _q+?᣼+>/;G4wh _߸k_;¿}~GxW}_v=~h ϵ _q+?᣼+>/;G4wh _߸k_;¿}~GxW}_v=~h ϵ _q+?᣼+>/;G4whh?-|YjGNIc;eؐc;9%kedd/inst/doc/intro.R0000644000176200001440000000150212614740640014163 0ustar liggesusers### R code from vignette source 'intro.Rnw' ### Encoding: ISO8859-1 ################################################### ### code chunk number 1: intro.Rnw:66-67 (eval = FALSE) ################################################### ## vignette(package = "kedd") ################################################### ### code chunk number 2: intro.Rnw:70-71 (eval = FALSE) ################################################### ## demo(package = "kedd") ################################################### ### code chunk number 3: intro.Rnw:86-87 (eval = FALSE) ################################################### ## citation() ################################################### ### code chunk number 4: intro.Rnw:90-91 (eval = FALSE) ################################################### ## citation("kedd") kedd/inst/doc/intro.pdf0000644000176200001440000036401412614740640014545 0ustar liggesusers%PDF-1.5 % 1 0 obj << /S /GoTo /D (section.1) >> endobj 4 0 obj (Introduction) endobj 5 0 obj << /S /GoTo /D (section.2) >> endobj 8 0 obj (Documentation) endobj 9 0 obj << /S /GoTo /D (section.3) >> endobj 12 0 obj (Requirements) endobj 13 0 obj << /S /GoTo /D (section.4) >> endobj 16 0 obj (Licence) endobj 17 0 obj << /S /GoTo /D (section.5) >> endobj 20 0 obj (Collaboration and citation) endobj 21 0 obj << /S /GoTo /D [22 0 R /Fit] >> endobj 27 0 obj << /Length 2515 /Filter /FlateDecode >> stream xڕYIwW=`M.2v<Kr2"A(~jk,Iꪯn`Í|sw,LnX$AcU„™oX:VDzWi4zѸD% UH|U4n&0Fql8tKT*/l>6_] Lݐ&<ϫ>廚E$ȕ)JkyߴvUy.uq2IJD)%r0_w31K& ~i,TNX;^v戥h'6Ad4*fN%"Lm.{f0T\%i$Onfa|@?FՌҔɗM6{kǢDyX0쑝ܦ7/V.7J΋pܒل׻0- @[ϒRYq!/E^fUޔQĥs̛Ȩt:P4 ؝Ϛv푐zD{hN5pYh>i:eM!E£?h5k&㜇(P"m1֔0]Q2?)Z[卨JuydL]j8ꏄ߁<`{/(fp]3a5.fUH5e!'dlʈ)nWo&Tdʲי3֒Q endstream endobj 22 0 obj << /Type /Page /Contents 27 0 R /Resources 26 0 R /MediaBox [0 0 612 792] /Parent 39 0 R /Annots [ 24 0 R 25 0 R 23 0 R ] >> endobj 24 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] /Rect [160.151 464.939 202.581 476.8] /A << /S /GoTo /D (cite.kedd) >> >> endobj 25 0 obj << /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[0 1 0] /Rect [207.086 464.939 229.004 476.8] /A << /S /GoTo /D (cite.kedd) >> >> endobj 23 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [132.772 115.417 210.941 125.119] /Subtype/Link/A<> >> endobj 28 0 obj << /D [22 0 R /XYZ 132.768 705.06 null] >> endobj 29 0 obj << /D [22 0 R /XYZ 133.768 667.198 null] >> endobj 2 0 obj << /D [22 0 R /XYZ 133.768 505.848 null] >> endobj 6 0 obj << /D [22 0 R /XYZ 133.768 248.276 null] >> endobj 26 0 obj << /Font << /F85 30 0 R /F90 31 0 R /F91 32 0 R /F96 33 0 R /F104 34 0 R /F8 35 0 R /F111 36 0 R /F119 37 0 R /F124 38 0 R >> /ProcSet [ /PDF /Text ] >> endobj 44 0 obj << /Length 1651 /Filter /FlateDecode >> stream xڽXI6W9@%QKH&h`rjz%VkK$g߷Qؙ ZZ6~on> ݳ7:LVxmW:TdĤ*ZZ&k0v0 QS;"!./\Vqc%93~y VP*AdK:h_ME!hoE ms.)enZ$|@4}aFN->#(qfJ0+(NBTÏR"~q)}Cjwsh !ꯙ > ʂiV9gsֵԳ L~|u1UiK?TN\7*C19᝱NbMi`n^{' L;4%"p@al܎ +̥cib#q0x> !B;N %H oh=^q6,p~@6:߻Z"{ˬr{B~#O%gy+Iܜ]fC10,4v,Øߗt(Tk;lqk7 1xt 5&)R3a_Ҩ6C(Tz1 qA4q{z^y @x}2'g@e٘_@0d4| $Qɦp!Nr%A Yr!_5fE8DPK1fg~åoL6#"*"> endobj 41 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [361.136 133.282 478.476 144.401] /Subtype/Link/A<> >> endobj 50 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [142.735 121.327 228.254 132.445] /Subtype/Link/A<> >> endobj 45 0 obj << /D [43 0 R /XYZ 132.768 705.06 null] >> endobj 10 0 obj << /D [43 0 R /XYZ 133.768 580.533 null] >> endobj 14 0 obj << /D [43 0 R /XYZ 133.768 527.343 null] >> endobj 18 0 obj << /D [43 0 R /XYZ 133.768 459.11 null] >> endobj 48 0 obj << /D [43 0 R /XYZ 133.768 242.921 null] >> endobj 49 0 obj << /D [43 0 R /XYZ 133.768 188.186 null] >> endobj 40 0 obj << /D [43 0 R /XYZ 108.862 160.401 null] >> endobj 42 0 obj << /Font << /F126 46 0 R /F8 35 0 R /F104 34 0 R /F85 30 0 R /F11 47 0 R /F111 36 0 R >> /ProcSet [ /PDF /Text ] >> endobj 51 0 obj [777.8] endobj 52 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 53 0 obj [531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] endobj 54 0 obj [826.4 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4 501.7 501.7 826.4 795.8 752.1 767.4 811.1 722.6 693.1 833.5 795.8 382.6 545.5 825.4 663.6 972.9 795.8 826.4 722.6 826.4 781.6 590.3 767.4 795.8 795.8 1091 795.8 795.8 649.3 295.1 531.3 295.1 531.3 295.1 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.8 295.1 885.4 590.3 531.3 590.3 560.8 414.1 419.1 413.2 590.3 560.8 767.4 560.8 560.8] endobj 56 0 obj [500 278 278 444 278 778 556 444 500 463 389 389 333] endobj 57 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8] endobj 58 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 59 0 obj [500] endobj 60 0 obj [272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8] endobj 61 0 obj [514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6] endobj 62 0 obj [562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.3 531.3 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.8 312.5 937.5 625 562.5 625 593.8 459.5 443.8 437.5 625] endobj 63 0 obj << /Length1 1782 /Length2 10261 /Length3 0 /Length 11383 /Filter /FlateDecode >> stream xڍP. 38ww |!@`pw Npww.!hp'HKv9_uoM7tGE(jjk CYX bڬlv&6$**u 5?r$*M-_ q{"B^ `5`ca֞ t0(0dm $*q[;W{搗8yКXyy0ڀ-L`byhٚX Vcfvvvf80c8[@ ;e"WjLHTus ?jfg="0^L {Kt<@,'WqL# @[; `fa (I3A\ 7h`btZX_U_2+?{ ;y)$T8 >=5 l v2NюYl$#E#daa>@.&̿ځPngk0{IiazCrw:{GXY&1/bٟ.]c2a`kY\L[TNVٺ9lVVv^7' ]dThX(6K_A;< '˃y 0^'rCO'XXxgGn(ؾlZ?Zu2ˆ?Z]F ) !O^[[Aʶ/#+ ^vRqx*JwHIc큮H,/ pg}YRS `fB^L/yl~we~D<f7;Y`0F{u=5V6(=]g-v{:C%> ^,ނ{QAlPx|P;:G5Y@x TP&ZV>fv-w#a.J#[xlX-87֚4Vc/x/qk gk.[$f DzsbB{XH}x՜,8SkhJ8b FrzM W1_x@`Vf}ci.h*2ՒOjD>M-J7?CSxL6K ͡!l xYxL7^7U<oZ)f1%S2y9DtD!!qʚQʮ4:S kbD Y@a^(Lo'3eӟ"MQDzYɹ| 顎2Gކ"x>ީqv{O4YQ kC b ƛHW35עN7cF$vʛCUtős~CK_Zg =uu"`,wx7lz}3۶ 0B[1)\'BT?L0TNo3noۿ@uy( [6ɁC--97ܜZFbag\;'gN?>F&`#x4GI8*W qqdZy:4,?tW坷If&ZIɃE<_ThЋZƱr^-Mw>PڝaőM ֹ,N_֧?tk"|}MoSnmkr)^SB2"eVkY.Ѯ$዗Mټa-+NL٭/0#tg?` H{?{ U?!1u+ή(1z ]x5:wP7r,˔og>Q^(}|O\yCwc^O&٘ FCx *=˅w9Hx@0pVoP{UAkUz\{ŋ(ňm@?1 -&bv<ʾ:_HdtUx"rgSYf/$|9ZB[$h.eM;+pϔs^ gU, E[< JT:CoqV_ 6~K"i]EÒQ"Bv M-u:^WWea)yc|̾wd ؃H+_Tx5 * Pdoa]?o씞N%xqd[N!QƠ2W6 x8uTu(̳Wߞs(b;wze EϷ9rIPEI2+gʬuշh(SgcW2ikXȔ1/HsCrN]At3#9=G-jts^ EHDLdh%0l{ 1xnpOӨb>!U(؂fiy%|sY33E]P˲gz6Hoe X`E+$u{\&NiPk<D/Y|# y[^ކodYʎY4l# gSFr6BmP9 `(~J&{Q^m\{Gq?a|8du7ºcOGyDErLdؓ֋Ay\yNFt=LA_v(s^ؽkR;fH൮Ϩ>6T#S>J)ԽQ}x6aov)]h@䄣agWZq9\P::`J=¬:ه_IEΝnIp *PKTՖtf@hBQ6(#ꔋ@=fVd2}{LG'(gĆws@8[]Xzn|ሢZYWf *cj#^A;_ƫ2s*%A-H9{8i"/tH토# +q4DH&8oJWnإ=ա viRD( `iӚ^HpVPRpMQ!jwGx}ۮxVIS6yA%l%O`ŸrI3&*fѳMlbEc4մ $iS&2ߣ7nUf-,XOZ݌ن+|VmWٽr*sGlwU|vIJb "g.Q.lU)ު,yh3ʵhoKN›(gˮ],E#h)<̀!F?xa#5C>Yh0/M޴R#>肇/Wa"g;6y(:)AsV$$ff_>g W`ա(;I^MP*, <=[jõj;>*.HVe?3çO# ̎ٵxEA $&E1u<0옏n&YBx|Wgd5Gym/A7&\@x)f%qp]Y/ְ*HkamQaSxX)*A013#@-({ӊR@5'\iWGg *k^iz_3H|@<)-LD/ewi0K7m_V:GeO"OK{Q=Pn6lQiN0+\}VzHm&TKfk6Lk3JG [GV8 Fˬbiw{VSVAƄ #&s8Y79awij5x{$ @HtԨS3U݅;GpoECYVCFzYBk7͢D'8HRS)&VWiނrpR8F庝r:E|(ݬhГr8"A>ArX7qh問)Wmt,.ad5uͪԵgMq}5^0ܘs(pLvݰ|wJS@F4qh2i-mBv- *󯺜DRav7;T?,5څ8pe_OV 5}L9׶اSaހ!ː0sTnӱlCP\ÏyKE^niDT)d忻[dƒCGMOzM)E*z ynR:uo<#uеks *N1k"X6YW>: ppr=${YxmARԎay;9Ebv.NllΧ&$ -0ÚXLHURUyJ_xEra|D}ybd%x>8a4 LV]C=I۔9[T&uA6W.Rbc]QDw4T8Hem@yK}h@](qu@%%V8; t<}[Rv}dBi aF0=?l WtZwI/0\"a0[|$Re-^u€EqAW6Xit{Ұ8e3thW$˶өȘX tefgWs?# è4:Q~lZ*K&J22r<թ<ҘG7եwcCHc=<^c[>|Qn(/mzÝU }0USԎ:,>|ྐྵ]K":,0u\PV@s#"6XWRϻYqje_hnҕ GWvCg%{Fׄb\һHCb C'WڒPǁ; -Vý,kkb,Gx ۢX)hBٔاT*{Ө%?X CSŊe<*-\Q'n6MZ/c+$\|-Շˡ:e%LrpFifqJWؿ~] v@gx,lMd3 e|\9صL(%=1fVW*íoE*+Zt/}%|L%NIV降JAYQ:5&{BJ*_gܸFes5eT\ZhR:.}3޶8Gwk |L^)_C)J{ ہ_Zi됞:a<7M lۧVF\7]*&x<[D]'P nCUPzg)FШZ5r\=l(LK6_rPʭڭ0nqI彴$=jIsUԸ"b#hsIPpO1b`pQEe.a'lg򂎒Y)u6vvOУls(Irr-礏0wFou8qcAV-.TwhP2[T*D߸ɞ}3z-*e_Gz} F!{'Zz%6) tiɯ䍭}S tq|b{?p;^d0|kL.Z LߠI7)nSUW632+aϟ6Dj}շϦ~,;*ww&mMD~m315Җ*#qwo;C5B֟INC.+-:9Cg$Sp asCڵQ hӷ)&> WhD{P1Rpr\^G= [~V 4>ti[:0v\͝z;dGq:AK"dq:-#`R4ϑ&լ  q4ڭWs2}5+՟L,&YV DZ >V~;$Ʌx7fThs͹ 6H%ilw"}R_ROq!"|5.X8P]`4=/jVQ{a]z?7, 3Raׂ=1i2&$ab>1T%*qF̒M~ ^$t?q5q}8\ (9)_^nM?٪5 )C I.#;5-H"`/ ;jjGdFiw^_gс^oi#m~n uϑRM_aۼ@4]6,ftS^MR䯉$?.ޔy)G`&1=J}S@%tQŔ?~Uڂ`T*poֆ6q@γYQ8H\ UR/g? 4uE-j-(t;'g9p`j[ BzY |`Ƨ7#֐߯9c:3q>41є?:yZ$Qޢ2QƹOKe1c M䰿g7 !JʸFXn: YI(uVah򙕶~{+pS}{K>Jm@ƺ.4*T^^u&Y~$H쿢|{,i7y3㉐4MC"N.A@+sʘcLj* ?rJREm/xLG'."<C+cܙg"*ZdKJ ~{'~g0CiOiCB93hKv0%5ì\ p!O_Sf#IU gV*AxW[<_>=W]|(0@bm\l~sC잾Ծ$[5W[m/S2hN_pK,`m[A}0G,6'T7jitXN+kjWo\>Uz zD 4X+Lxl0 $]ոUd.^Fh Vyaޥh %z sQG妼LNL)Tjȩ]PEHUÖw>FU 3WQyo0h"H@Z&I1Y讖9U%Xdd袗,~n!+DimIHBuJd z+dh^aEO!inN!dkBVef\ [J9D7۹HT;r!PQ Y@jX""iW20S=3 Mt} r\S_}G31K ї6p~Xnh"~mb@C}rv)UC9P a?ˌ]Q>tQ{ܿ1 Bt#O|ep?ӗ3uX퓩ՀMD+ms+?pW^k#gݶ(҆ mY<<aW cV4|uefrǒy_&iq"y}PKJY7PDwb'0n%Å<\oPBdVd>QA~̨2ϋ?N3WxH@ImVdKv`~N$M7'hdvr-C* :3x"6Tzɏ^?*}Emqu+/sjjQp6ћ~Rh6q@+ 9kAp9޴I3W0˘-(hleo)r/!/x Ehi˅纷TsHmDQ3jyv7h:FA!Ehu#g2⇄{6/{8vQz{+dOSJ-<ܪ n;DHm0Ueuaa\zL|sŭ_8_oi*ujt$37k|@qMC% #V DuzWn10;UgԹc6!xŞswqN%- lAaesU'6Q2Qu' jm:ׂ0z[ ٣ @]:{s_xWmGR]B0m7d ތ0nt\^ p[N4W4(͑=T? qUydy0Ә`ս[2S%s|STw!1.)h2ߠք5OmciGnYQ i#XrIZaOg.H{Z! lş%nsi)mb2d Yl{#oR4 _!2lI2*F9~Mv(ofk-(5K^@ 3P͞HWci¯zR6inj ђt%JX" TYjdmf/W]rhlˑv&Cb2BIeD1͌{M8~9rg*z uL?lf>(d ?W/q]tmztxe pa4SzRA3f_ymV#k`-~.rӢyS3/O7;3TxtqOhq[ѧ7m߮t$t`0RQ ee h" M1.SEg//()Z~jpyx܆L"!pT0[3ž׿=<lh z$~\Z~Gw Tf7z!T֒nj+8^|&"^ ̑y}IehE ] _̐w^C`>c' )k׼ž@;LF |RzSuY?6Mmaxd"܎f)(5OY$͚ i'>X㼊!rGB`Hp4LQLF?{DO#. GOa*̮[<@ʝQZNY Z"ƅE"cT!Ef!`joD6p&G16F>u'+nCQ 9)2ck,SGIȷmRޱ2QBCXk0 H;,?NKZ%ԷQ'ׅOǛ4/BT(# endstream endobj 64 0 obj << /Type /FontDescriptor /FontName /CBXAKB+CMBX12 /Flags 4 /FontBBox [-53 -251 1139 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet (/C/D/I/L/N/R/a/b/c/d/e/f/five/four/i/l/m/n/o/one/q/r/s/t/three/two/u) /FontFile 63 0 R >> endobj 65 0 obj << /Length1 1421 /Length2 5943 /Length3 0 /Length 6902 /Filter /FlateDecode >> stream xڍwT}? I ܄FwwJFlc4HwwJ7J#!t3y?}~W?7[ 쐶0U$Itt4 $ 88Xz #ᡄA82sA"]`! XT,& A hI2nj"0 C B:?@_@W :#W q"p)X?ÏD;rz@vBB\a8Fpo!AÀ8  C`p!v04Wh C;iW??!P(Ax@{ ͏Bv?!.$.@lq*!8ah8 ]~bfb?ϧ Gà{ 3[#°{0F4T`XH\LH\s<? y`j?aba~>ivp(h s#ΎS˸@s~` _O8!.^v5b} mME?eTTDz}|" $,=3Ͽ:7_{GF =O5 7%t8BÀ\H}[+GYWTsvWbqˡĭ]Ma7ZfV ,$  z8F Bij{H Ńˆ=3rfk?enyis'ED4Q'}嵃ycS]w`M<2sr{iM2t/=h.29;^CJ߿?${pҕivtՔhӳH|dm0Zg+k|rEdnm-@G5b,u@MoaXjeajk?ܷh|lhz-p:nYJsI>aF)f ֢fe0&ݙpWX5C'G nf(y{.V{.Yj"K*]E.AJlvF2EޮY8Y`W[t?MO^s}޻.e2 _K/wٶtMaWPT+݀Oo!} R([=yJG?>8 :vhZ扯WeI%|r`fˑfavi{MŤx/hi6WFW U^"wHJ1ǎnGqueo3Sm;= v(F h| p-}~Ԝ O@hZIȏu7i?eMYz]M6{ֱ0z|oߴTS80w\fbaFm|s]ۤoCPakEMZ"ٳS4/u(dYγHOAlF*/ xWV7YTs.+fI\[&GvM J(?H]>uՊ癝~{,ƛxX|Wg+ 8mѢ <Ɨ$7a;]ȶuV ^g_[cצ naCOhFSk RnH`Rڗۨ8綅.N TT?QrE.F8*fn}q"P.&߷C Zl#E] I**n\%]Xea)amy=tU=xRP+/@H!y@ڨjXC eֹ} {&h C.evXߠ3{T;ZTXk~m#V]ƞ(w?%7joBod%> m[Џ};$C=6)?z枊>/փ_ƣ(7Kk D%|lQ?NͿ Pc?YblIYm\ e\۟9,=׺Y='?o]m]4w `d](oU"ɉf]?|!Е@>h@9SA(U&Ǻq/ܘ/".³]AηΕ2%$6>[=sŐL3٭p2qcyՍcOK0R-N˪tF(Cv fjN1) E,\`d-#€*;w9h4&2/,f^tfCڸ'-n侼αTN\dՔ6L\<2PFRg=5%lU`^jw^2,V"*1ACЯ!g(T oeh y"7j*r׃CEU6ѷ2tK,J꿘x^K2&#~YnB0C-O72썄w9"@E2k*m);V|.Vu l}oYR`lb>wcZ鬓1y˪!zI*lG;Z^9/jf2vj8YS"ҽ3/V.#tvHuyM#a,.XNΥJGrwhhf $Пh+<{|&@1) GD\:5zYx);0`YӤ6Pjԧi[iM+dwĥ>zp!dͷڬqPV8'wޛD*2ç\)A޽.DL!55$剢-lfăG4`26Xе1^r;# J^FATa]t w&;{=_j8EX&YFI]~mAg_Pf^lդ&ϽZ  po$vݛ(0y˵=?"[˓?= JY;̔Dn-uf(+k"R-?dz< ^>WU}-jDyF 'Q*\kǿ&vy_C=tR-eizӅ':¦307Q>m4asbJqVJK5t2sQ]J.A˹L]sz \ v*6cuj{l2Zsr*'kZٜ{Eh vA2v1S(OW5O+{ <(U C2[y>ްAb "/)RmX5}&׵6>hy&δRWҐ'wWthlDi|{bm3@I&2?X~MYq3#h^rXN`!}߀\Åw?}w5/MP ;K٪wzl7V\*8\AYd{JZMskr*w ƎRoo.9ߙO7,8$W d&2n,,0cY}^[Rŧ w/𚳌5ttX}k;؈2%b)hGĝo ׉mORs["xoJPd Ry|6M􁸯v+aoryF*^(Lڶ5Ϗ`LlXƾ y{&y~wlXP1 Fg 8.5 6<'6m%Lתo1eD -ܨ1H=)iz?=3QN6&2_$BLhbPWRq_ r+gȘ怌u(Q~ 2$'f"on-:gs5u,&?x9@qDmp^3(-9%+2 (ؾ/ nO6~ '0[χ,T##XIExlS,v\L;,mx"}`JįZ=[47Ů&n#E7nn-FNU7i=0z{11|;z ޺viu̳dpYx='Jx@-erhjPn|:rg@mkS9Wv4O7|u-~SqQ<['dOW&퐛"xqڽ 9/C`XJ@CpuU> endobj 67 0 obj << /Length1 2368 /Length2 19678 /Length3 0 /Length 21057 /Filter /FlateDecode >> stream xڌp ' Xض@_Nzff)^eak#A++  Fwg-m\=fFƿI9)[9Ņ1y,lLjhJ;-/%o;/[[; 13h,`41] 47I>{ ?~/#kK?ND]@X^o ظ9xM8/4Ϳ/^N,.j{x?%xwun C'9u_%@+vaƐyזJO.4;S;4 NPqkq)n ^<k57?y>F)L4ΏcQ|Tk%AiQ.ޥ[gOpn$s$Mr_4iA # 4ʹ+JD5qS:R%Fvll ,< 2x 9¼yF< 4iS*¬뻪3_?nTգɢW4놡:V1YیVZnU:p'M|:>~^t !ðKO t%WYL4 v[̛\lS&a ᎐Hryj`t@1zPT&EIh\@{Jry0Z~n[ے2`Jl_B|3dD>mt( 8ZG"*q?n?|."%[<湠=/ׅ]ˇrSX*{Oq;in@+'Elbuɑ-¡-2'Kxeܖo7Exqhê "nUt/p\gX [D*G6nH]UvX­ծJ&|31*%oW)9{۬t66pnVJ3=z+χ08Pp9 dk:2BUI8+ G298?R-Bw(c1Y*Xb?YO1WatE"s&.D",.$o~6\{ ppzu\i EIo\Vg5站_|kk++Sxx0t3!4ڮq13]q;݋,"!p&56xK:10=%+ @%cԈ9UOLyݺaϾzjٝj5522;jމ7eWxF5 á_+xP/t`]Êպ|ϰH&bMST]:):(,! D*I(K?P*.GBbtX@َu4 ÁƖ#c$55pv'1[}):)4+Ur3U>BO'B5X CJ s 22ޢcO֐JG.1-$F2Z )c|y_&˷>yo3Ѕ pU]?Gwgٸ?. bYPB)SWTSؿd9oL#Y$U.vU |<KWsTM%Z>AI9 89u'4! p=jK;]>cLV&59} wltʌ^|Hi>[ Na2y&})DrYZu-_wdpkq?J+e<%F}4)H[4,X!l/xyggoک5 t,NX#Gu@CrJckG>/ .pj ec'2{%7amM&RDKfHn$W;??֠sPe6^\ (NY{6$= la SK_;XL(fk#SYq-&s/Z{q~KoY:qʠʼnʉtk@)MsZ+X?}?l?6*~**Uvy"H+! /(*v^=ݺA]L۱؈ ȸ̷0J)ΜK?G Hp|P<Χ貏kT-\Yq[=_QٹjE#UM[IcFElZ7'|HM01ɱϱkD8%*G8_T};w鋭'4OS] $cdvA)t%fT=CvY =e7x!@QA^s+ Ւ$BUlq#5͑ R$U)$YM4{iܯ~ӃznjDž W&x ;*,}|~>%>$N^]!7$HڮYHMi:j_}N>YuAf3Dgk&!M[94 [V+!)Rtcbi}q'U y&ܴs͐Hjov{uiF]t7psnf6 M((HiMQw|Ki n`h hDB3u[1:B&e ޳;#@w|h[sn{෌kF^hW-7sߺ@s`Z/}2qY gQsST`i#0{PCLH_*xZ$o|/+y\ù$?QIey~CLhD!~4ĐE枽ؖMYց4΄]3#f旑Q?vmV4G+rJZP[0n<}_G?u38Y *vOBP7!~)|3 \Y"ZՋ=="S/ޞWk$[+Cv-k韡]PǽF/{}l &/A#` d]띎_9~R()m]ױLPoK6*$g=.6.J^c\ʜ͵g0 h݇E}J9ӹ~}vsdQ$EuMn3*R1ty>(21HK/~%oYʰHC=)WC5*"~tu]B)&AAšw 2%I +Rŵ?*B2M5僤Liv_YrE3E a|,+k8Q_ܫ.mIO< %!Tb4d۰pzN Nı>',]K)(^惕{|O9;^=>HguPI;'[S!z VXj_ 4}9! y;vgp(mrjzF}(10^ji[nCP >qerh2SHDWڣJCqG&o̼jڝ? ŒGS.u:6թ'Wwyl<ǔWIb??4x)p1:H]?8>Y]GNmP(BLZx| ֐iFSPֺwNߞ3Lj;oEbx릸vD){E}*ʇQ=,Y&p,NeǏT5˫\jKԷU0'2,A?A#ӉfS+l@C.QTS] K)Ccud˺08?yҘ@Yݵ,/_BS%qF$iVTwFE11O 1Ώɱu`VoT KGi' lfh_0r7nzlo W/yۺL|1{4;$fQvbUԾ: U+(h侨ʲn%cI•/ s:.6A*R7v h6f-F a E9'$L_o?ͻ ֋1[onF4$C1|}8pv:p6R1|QφPG˟ՙ62G"Ax#;Ɛ=nWQ})" 2`J 5*u-ӷN߄p?bJ2A/߳0<QFYI^Z&ᬕ}6 b՜[ϙth"m3@6nqp %7ҪCڭF8N3 xkOM1ytOg Y%i YGyj'Ťg->dKvn-Yr']?$!b*[!rY5V,v ӿ2- PO0:sc hD]m=i 6=8^zDeWW_ڼ_,5Xyh-.qsmȜŴ>Ta+Ex%.H8/$s?vNu#aDPWC)گuۊ\Tæh_Ş+g9xdQH" "cfVF4 MkpWj6#:]VYk ZԯfB ^x8,3ax>#=ƒF-H7'BxTu[2RpQ#K9dz39p ro&z邦4yg<%AgUİX´-ZɅѼPa{2c -Ȭݦ%ߒ¸"b5i&m{5 &mMr={^e..FXdAd ;RַjY=КRC׊zď6{HyьmB uk) Xnn",P~ c}`~4d it^xDAYgoYb-o+$.qgre{|T D]sE҇y8zS, ; y{4ndaDV/@epBA#2L){ 4C2ٰl>ܼS=gWrW8Z#|I,lvӨܗ\=5n@T=ct+1ӔiFDg+`aUe(?8 M'Vs!TU2 +%aKHY{ )3x]|GqOhpLHFIb<=xXk& V:6zޱknmNn 0EP_[tY5LhMdA'1l2菵|f> )ԸaBr/ /,jy*g܀8.]$L`+Q&=bي.՗'{P9tNݑ4NYͯla3p?05٥(ko%[KpQ{O ёͣ/R+?lMdB=}Ф*?9qSX~&ߏgC}9XkDEKҳ#Sc&~"T˿*J1:}q&5x'm QqƢ5@^vu<7 =0)X ॰;HgO LBIxPߒ1dʔHbz'\~!c\qAͩTLc9ݮk?ɥ﫛.m2kH_; xg;: d2ڤFj)h$$4B;w>~f8秸7{6+#gP%࠴hۛo*N9.̆Oq|jO6΄r$w/w͟dHVp4 :GaN9TאpeLK)PW EMXҦA ̅͘.&UYviKN+L_tuf`$B1kK-LJmi4H>~L\RN%hxV}[ˤ[=u3/(Wʾ0Xm#m֋:¾oʯD69P5r&-\d,sVwF?88kt`킕hpÐUiq|- sK]'l <1o+ݹsVVaڤh93!9DkX}6 n:hHjc@ yO5G_ ́o7ϊ8}`HM[BG#q6.i=̍DP`^՝l$not՚B0ݵ_u2$}qoep8h7?%c "~tC8͉#Tb5 EUZcÞ8TkEO~qϊB4zUm'@9b.=C$cy)/+X7X\{rJ뷯'(JN|dviKk1BՃmT-Gp#T[z٠tOkrk۳ bFQ+8#(K؂Y=O ɴ3Ho֯t Q ~ w>1!FV1 ͂6c|y~70?$ MhN)>;5%8&nbط!vge̥ Wf mOf@$$!oj^KPp2NVq{d0G/kX񏔳 c{J5p.iŐs9"C*0H'-C\f5lJJz!Q@/nzt8+Ϯ>4427\YXP-/g'+˺f kyV>[ɺ~ޕe ն0UaqVY҆ʏ0:" .حpq̭ڶ.}| jtv `ԩ2&`ϙ c"ݵ4_XcnrÏw#:z. h %FvLxf aYuR|a$B$^p8<6My}YQ P*PNlߨ*Ry縷 k;f+ ;*Xb1/aRc*[Z@O%8!`EIR=0&]3,ShOɟcL v9ř?HjWa|u'CccZW)?VOǵ1Œ)>Kw%k1#=~B9<$8E7o>Mڷ 1 /'_`9p7W􆕛"/ؙ~L_ȐMD^B>t%wZK82q}Y$sQtIl$xrfV9uy':9@{5!ۈw|!h5ceJpIK^ C !=<15u2v V$FkE$p]!RtR~P"FrӤE߬i1`;XQM~'%V;QK ~E8;-cݲ{DAͦ ,Й0;KJ;K\b5+R[҅L: ZA!q$qoLj.kE)՜IDkͣ@XJi3KlÇ"l-WY]YcpOUjꈌz6S5%mG<5<|Jy7*Mn0Yאv*e׎ڌMU\?ȉ #;QtQ갳'nZ4\@ΐrsq?Xƒ5? H46ޣ88SPXc[ɧ:yp3v fWPaw|L~67 53M#ngeȕ Ӌ$nP\SC)'zfp Cn\㌵W&. UN"sgӻ=fqʠetxr{Cߧ)J.>WJ-=uPW$!cV"c\2"p{mx%}vZA:^phO#囂>%QlW\5@?TyHU5цDRCqj0Rg}{rpp>l">Q[[ej|!3b.Pm;<)2&ڎ.,Xo(;t2抅̨4Nse]?cvs=UKH̦6 So*ŗE)$_|\6hΚ3L̷8uI簳E|$p'CMvmR f|u{7lYdB4 QU I;U(;&ǦaUDK~ZФsx纂6&9sN,p۹kPjx^GHӌ꣫9i1MgƥAѻS3Z,s;];8,eQ[Sy^ҋRs__1~%y̗TEżZu$њeT;&ˇ~?ąC9D!e=rB)h>~_x&,zo7 MÚ ѿ wßzTH}iCiK,Up}jzЯ!a4.ɭ<5j aP@&Eg&a0U c1]:#`r{55\6_\zVu}'cBe*ʏ q g( QO70XQovwDOĠnc8ur߲16=7A5^!iTYdx:(:TYIXTbeV)Hqf˫ M -OȖIbs@һģ5QЉ"! .|)Yn0d/fBêM~RGd$X)5"05?1Nqw:PfmȖG!P4+qO_rd1]٨ Do 0K]Jh}1 mj61{'9=P" b]79yθ_3nYC^(5u]'[x%u;{~Xtr/'WKzɽ x4XVAw*mMpfmq47%KɺO:ZEiR@(#:($ O3t^#ۛ|ČԮ~k :EMyi6t㲮ݮ星 *E$F0~!\Ar,tw6`Nf4843e"kL6Ԩ7եoIAf2hr3389X&i' ֘H=$fY|7^ w|6F7}q Ql爵d )!%;$E+.v9qԖ6T8M]Njv{o=.suit/Jd*uu~ /5Cu{&Lbo;jJ{(5~=AY!3+C1ap?^ɈX4 DuN-n;S(7 7G|DVDd*fÂ>A<: %ԘʆxubƬ_G_Lr(D?_U UMJ8qBw_U3 wH[3W~Xv̰g.D򺂬WŗR.a.80Q!QS}_.S(Z,{ㅡ^C7zuD5x5{>"ۣVBQ\ ,DL<z8 DIahxB@Du}ޖ^>N{< r:JĞO7~οrS ͦokVi /L~ꏺgx}^8Ǫ'Y-k=&|?Ӗ CU wI)%_/C bwSNBc_,\3s,oaCQZ$˖V)24˥ퟴ>8<=7΂vP%v!$ eiKW 1tb͍! Șkow 2G '   8q8W/n%S4UGի7?E/*EBm~iw?9Y-fE(bw0(3;Rܵ3/U۔of?|WHau]"5ӠnԴs jh*ksH^ DfŨR`fÍM䗈!0ű^K r9lRGHm? Wy?X}&49bЗ:\?aYy3L6|g\rA8Lg{3n4#Aƀ*zM["o5Rq[j!.,K6XK]2C\4y=HH\ J$[(5u zX -tUWr 9?EI˒r/MO"0 5ʩZ N+.K~^m b#.=ٛ.;&\zTϴeOa|Ez.^&@}@Sdro^ 'x al6hwtf6 R1vVkq2ڤ 6 f9M.]zO!ńF5NIF0z)#_(tW4)TA p\`7{ (_+a*hKHVIf?26a_ȌXW" XA T.CBY[pRd ęZᓬg 9Ա~bA\a Up6J8 ZO=Iy-{= '# 4Lj5[<.o e$!֝[Yqc2&òJ079AR|s깚;;@x?ǝV6X5fEbQu[Ab%J-Q\MFxim~[IS:m1= -ιʗBF(2|[ [7vq,@L"J[rubu>X̊z|);uu폥FKO.BAIYE.eǹ>M@{=jU!B?M*~tO?Wd+S(,Lp>KxUNEÈBNS˪/ yƱ\|Z "TpG> p[Ai͏F*d}/GPd$T; mSU ̯iľ8qU11:ʗNj$1NR-f|q#Xo(tǢ;p˜r+c(_ge@F~ZDo˷|OxR.ϙbCPĕQ($q O=N*R5`N̜u= Q4Dc(|"AZ 8u[ҴrXbID9h)sp`FIqYZNc0&]Ovz1!6ň}" )dr)W"Ie_?b$xz)OftIG܀zZZO8h n'](_n2"9k<%s#0Pc/"&4p8Wg;z>F,,ԡ$VkZ)(vm4O}Bj98IKɒ~,Y;yʤUr㊵ b1t>wVF~-f1jShLy"ſ$eԂVSKgHE&}N s =q?gOnHlelhK]B֫)jÀVލZ" XE`]}Mf\n~~98î?Րə0 6l{aVPJ{sqju!uH;ri'TQ8jlU|ؑ/~NVp|D*tG)krO$$7\U I5c2N:1)T-uzM +{:sA* .꠾׶yX|?3';`bwLdSS6ns*h)Sk Vp6*^/O j8w~U;֕2bK/9gҳMJ&Ӭ^~=$9J>"4DY?/7 VdUOGr+bǁgv,J mME ca!dV|L )Zx)cI2qi8a$,t_1J}r);2iLh 8BHϪU4) )Bg̋^$-6 %U>x^7R{ "an-E =rJ]>!3fs#} )L } KoAſFjq)[Qs~C\*%L@E«kIW=6n\>7ɮXAgP '䷞ʞ|͑~ i%|̀Ṳ>.EL|']gP:L' ΪM9Uk_w{:-o I,#.Pn#_='-j9JiUa%uL#Scv 0?Г=y`5Qt|nQ=~bJesnr#h y5l,Bv e|d> endobj 69 0 obj << /Length1 1765 /Length2 10222 /Length3 0 /Length 11341 /Filter /FlateDecode >> stream xڍP.4500 6ww,={W[St?mowU 9PefgaH*s8Y8Pih4AP0/1*6Ah}IAyJ+ ```cp,2sYX  *3?z ;???@gd?G04,@@BXYY]XEAP:.lf2T OxA@˳+ xАW8!$u6ve򇱙X@" `M48<ۛfτ?27Ȉ̞ < g#ԅ]"o7ϧ, tB.9-ݓA!+wZ+P^/ʳ5 fcc@ 5=(+vtpX=YP]܀+ߊFK`AP,Z =;7t=_VeEEm=)?+['!f0splwq(rY aweQ|C6n6a7&qPA`Ͽϓ } %݀/U&+-A=o81\d@@KUO݃A ]`fgcY='.ϽC|^) pw<3gg3OTx?/%@&|VΨ; `-X%FV?Uo4XAL3zؿd|rsX@n= > | |nd|Oj_Hϑ\y|vq+XPw<?y{WO-\?\@uqB0Ķ.F؝y4͎N:sr Cuvкx'-iK% mIj|M'wQ&Nj0k<8hv+;aܸz/V}y_>m~83M +.zM.=E"WɊºoDГ [%N]^>2=^.c ^J=9;6#hz>`pbudT3uv{&gS-F0ɅE`kc z1p[U$^]ϗ]"{ 9/;) *|S!">\XQ3K&28G?W%^x ؘQ6FD2A!O}97s9utڲy|OSx;8?F|?z mA*y]Xq#cЮ(Y+7;dGp?K J| zLB/d7~t> ĩ1Ij]3GH8tKȝ=%XYʭ):+EA8k:Kƻ$ ren6TBT*&;.e]k7lHa7OI'U+gq0=3Eګl."IeMRd2[IN%Z7l:/4n.7Ef90Gw) zT [UO@Zwx^Ft΢Do|g& /d{Ѱ!vY~^"+-z<ܯ(Hq3I"=c/OZ[ph:pR7>LB=G7)V 4`H*{a6~RKc?NrX/j&5'3—HXO65fRA:rO29b,IOiƢOVLYVXz>px3g&cqq"/\M"CՇA{m"+a3Խ }.!&EuD>A1< #iiqDȁ9҈p#Ӡ=r{;O$` #7͝s86V'n[v[T -ȸ)`:/qG&7,?3NTd4v\ll4/6|ZCm,EorWrN_WţkGL)cM*jJS_#l@jě#C3Ƹ1ʌ|10XYm€'dggڞNDsܮfŁkh$)(酻,5i`KQ+ZkϷtɹw4DztCDS0ysJ_8&$FQk<a؆ T w+fkPՒ_ "r:A]8El9TГ^7Â+ī.U`HM5Jbʼۨ'\ӥ>bjǨD_([}٠^"Qph QKd}D) ZlpV!^t0;ɲ+'Ŕ`HdtG&+k[~3 8(G ttѓX&]ʉ㨦]EiÛæ`8_B/=_R9b^C/lkX4S^\V`y:DPTcxS`vK[Nn?epqW)?#ʸs6Bf\A|(#C+~xOFbd:y{ht2qZPQ4񮙺G~E%EK,F|m|)K>Ds;ӡrch* 70aMN9¹_RJ32Fqlpa=yXjS! ʈf vf f.Ou2 jyxhG0qIR &΋r;NAYɜa[U$|>6^PxgJ({ciQX(tj )N?"$Q5Dieiܖ8*(Z6wWn& 3G%2b1ҷ(Ţv,~X024mƖ_PQO~ 1]!%Q5NDT16v 0ʰ "i[jF9c5w<ؤo>?fT+!إ > G4 Hy/8)'| 5bKrB;*w^Ǿ͆Mhc>r ;cҹλ-qMҔؙBSBg2W%MVUh7K5D+5㯨`OzN[H 0_uC^a'W4+Jڕg/# G-!#4D !OG f*|] "_߽'EP: UUvLBr12N%aV؋fT5cS`kv(ivO)4\^h! .rP/o"5Bu:!!O}(KW*]~k*xA;vH >r16aƁId-rZ!^L8pxnc΋JjK)C9[>捠$ ˞4\ˀW\L{\21sd tֳ"v qun){#l;W($!-i$3Ma~kn#cQzD\i%(rŜ|HHrbzdwEf y7E`<0b/l n@O¢&g{uJ'gN3|dVۣ4iu𼵉`M167eX'-py&!imUX|wh,KDN%JtJdg{BƍD{@d ِNj0B?(*'42bg?-rvƚ3/fSZj )(@E^dGe]7:{KU N?olaQy+'CŀPL](긩-n2UF|0[o,EB>ME'nBFk;@X+;X"zɦfږpqV.BGl̄`\</SR6>.%stQNeuIu%c;0KE zYYF.6}IArt[1eV۫k5ş@sa4$8Qc\%4Ԇ.x̑rw=GDjnؤQ2宼A Y`S*Gu@χ1[p\g' {i-ĦdE佐K%)&X]+Uv|r̪88,[ST*E+Ovq'0 b\G嬌UyRx1<2аm:RfcuY[dSD-[y^Vq:;:-Q;lsیܘW/,ц-myj+Oxȣ{UKBicnU;J qAڅhp  9IKArT \6/Ca:PbC;pn}dGkf#iTJQ 2=v(0~ʎ@vb֌~E /fWZ1fAFs ؂[$NH::X1v |csGSJbE=o]cz3Q蒁}(47^gY+/俹*Ka?%)Njf궟xd/Gul,G#]"F^ո ɢ{FH)3Ү+E#lv#g"wN:J~/R|DA 2KG08Ml֎*! fM 4?ugl!n\^f#oXxss\ڽ2Dۯ5s 9vA&$rMI$,'BGnvZ;® >?"9 /Ǟ۷i~xSiqT8grL7ԵU)j8.*\giM.Py$ZޤMeA瀼0"BT3SQHtĂͯD}mԛ>SJw̦hyv|3z'@k 4޹h ˥z]0n+9naV2s%8`%N$#p~f*& xbW&= >S0&?;j{ #MIW (=$s1*Q]mc L̛r9Vs˭:7aj^JqI-i4 M3ZCgKZyXQV8) xr[z7L6+:(f.PRr m[ec^ܔ),P4&ʤܥrorQKce.յyP,mc+ܫDym1G4,,WgО$TSW q&kr@]S{\ #tʨk0.-d $Eȃ5\>}@*sZ>ܾ Bkaq'o4oQAS ,1Bd~9|.%`8LHІ_R-m};} v @~{!Iّ=!ܮU4Ƅ'RsM\ EtxZ o ĴS Edyݞ#w Γ 4A*I[pN\̚u:(_-=>>I`J("t&Թ9qv±/YSW+3UW=}\A{WdQЉ5=-`]H^޶$08gIkX"`AٿJ=?#-ǝm7HU>" ^\']I; 5f8r32VY1hz@mQs(Sþ aË_nD~whύTjsR,hǖp=V3J nwJ"-.) ꩣnjY*V_lic_߉Cʗv܊n'!ޫ{yDEGR~)arZ;mB;Fx3:!J@GGo7[!yuHLV Qk=oX:V84KboU8 }?[u$~ѿ(}\d%N[jUOKT_.'P}g*5sZ3{b'\`&ήeP ԭ1d<=`d^8%VzVĢIbaïf2y/fjmԷ#gXUy-E$b_tQ&ȩ|ZBEgceޫ'MXpզ)ą|Yqk=. h!cTb.0yqzbuXJ.j̵˧`<ICZ"oyx`K7ov%g`HM`X;;8Yw91K8 ~[Ҭ=ѯ{vOD ?ٖr sT_jM*j8.D'ԖJXL16'355̅x:Hnuᬭ67)Nw 2}) Zt;~&/eXfadUBщ.x/&%K(%žlYqu] Kn$dA.Ԝj+ <^=㜲@7Yp\诶ݭmSF4'իbp5 h4a,KTҴ,II.eo}_Zτ_=qXy c7LA8KAO_mQkh \dI_-̳E龓l$|JjwYB(8^y{O(G"|CFCLP;‘KbulMEt|ާ4#ϑ6[o?sxgirۛ·| 8w.Ӏ\be {0oޮZU`DگX:CdVƨ`J;f 9ʷk۾S@=}UV 5~MaeGRMWes2()vSB<&2USfhf]ǽ4C,B>ryp6-F]lT75tXkk B'y+&G]`a3O5p~IAmM?Zx9S˜F:>x΋`%խ6{8jX@r%B:bXI"&  |vӾy|۽; $ov#OivXVo |m{qp y;@[udTuzuH(|5 m7ܳOvGnQB{#dIЧއz-}+Ǚ6~0ޕ=]Td=)^^wY'fUIny5Am]KݾQ ôҒhΥrV'ڢ,p1:VIY^Cv<)>|6 Ek3$6i=}e:DUv%0b!4 /TMZ.4|j;rS^'@ [ՠp\*:n}$ak%qJyAቘB*>H9{$qn}iec_5qq@`n @v:QڍS|H:y_‹A[<~@_ w㦅+ouiũ|?D>MqyO#g6).s+eX&xh1Ѽ{ߪO~ arJ  {1J"fDQ6dTlzrp!56J;D3AһDFuvzПBy],'S.w_)Ok{lInֳ?wUŽ?նnՈz,:TO~qa 56UJǣ ;_t /")JpuJѧ3L#S]SO4kSxDdoLs؂|\f:ξ\9Y!qfmmOa5lrsIq/Z ʰƝgpI?F7;{Y A,޸BcT)984,+-@_?ؤe;3Xh&eBC޵>e8==|F8Q.o^ ѭ 2&Lsd)*-9 %;o;ne]9RT.Dukp%A'4|WPmک?栎-^{1wkجKE Kq{}b))uHq"w\|*:jռOw7])zv9S'pVsfd>3ݹՠC°H&-](z#4Cp}z~XuaTUzJ!I6/G9P)6Ь4{52 R \snXѿRM3< ~, nfՐ9LXlLW\~!4A~&mA:<EΨE'i7ԮV@>=u?Š9 ew"ؘj'_Ug&m': _ƲkuOX~!rK/::_@ XepTtf1&)\Fus?ggU(nqZ2ѷ [9}_CZja;:j'1oT"`}Iy)-}@ewh`P# Y+H[lӳS.֟9[w;8sH+DL."H,_Bǂ vR\`B*? endstream endobj 70 0 obj << /Type /FontDescriptor /FontName /NLLVYD+CMR12 /Flags 4 /FontBBox [-34 -251 988 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/A/C/G/O/a/b/c/comma/d/e/five/h/i/l/m/n/o/one/r/s/t/three/two/u/y/zero) /FontFile 69 0 R >> endobj 71 0 obj << /Length1 1926 /Length2 12484 /Length3 0 /Length 13676 /Filter /FlateDecode >> stream xڍP  8w @CӸw $ ]\f朙9W[T5ںBEY(mqdfgaH(8Y8Phh4@`_R-"/=U&ijh;vv^66 mF S" @t@u[8f'ބ;@h21-֯MuBпpt`euqqa1v`7f`-j@3G%#k4,@m]쁀Wd8:8ALu9-_L< p#򧳑 1@#b62~5@ZL`Zs0::8TGGJX[!(M^_ݍ϶ZAl\ } f`d˪ 9$c*BGftpv5l*򰵱_x89N@/+LA&c9OW1/y{+@ul:[6?6UBSS]EςV۸<9ylv6^6FTnlD*[f? J6s 3zll&?O3G|?F S6{-"drF!1 i+Thb PǙ0뮙XNؘs<#{{#7ƿ"nr]k+ Z~pXx >?*7z,VU `UZ8 .?蕋߈5߈󕋑qMy^^c$b񾬦VkfL_YU||%gd/+j/Jd]yd/t_s; z8 _wO/O?gdoz _]&(6&[oň]Gh?&30{۷9ݣ#&2T_%ta.mJ_.?y6"7ǫƪMl?%E&a|mɶsCWŹuq-]Vݩt9R3Bϯh&8c+v |,#Q$gG݌r"j"BR+ ZsI3m# =zm%[sZ1z"BVX\f8"8%UWs&c&8Ћ2;aυDMrNbJoFRmc#k-9g0ṃ2}scz {,0k C‹B ϑH[9:▼9o$bOXD|%e oZ}ݔ cX0_ 6~800ʮ nZCu#Mo Ql3X@ANot tD]x|zk NpnYYf xTqn}BG#Ut-Q:m%`,lc<zCv+ɷBD0lnMs̍]?t^ Ӻ`Y{r*qRnT 41UvMz(ӿ+:e|PE@ FAScOtp{Ŋ_"6#XE ~%èR6eQ%V 0᪞nf MR MS)3f7ސOEkuQ_^ $]*<2 ) [ėz;7/w!N& IBq!F> kڣ@:;b-1Fyb'L7I1gW[_l|vֽI=xȍJa`ifVQEcqrOWђ 4X*JzkEIx]h'84 DbO&83xoC|]5۬ڮ>[ XR; 4" Ij6cbf?jݨa1ЦDcB v7ۼRgN$7/Dc2X #>W3*(u8s#^1`s~I&=ho8w͊l--S1k??#1Kǘ[^E:z^IcT[M' sQg\ŻF<qia\Jޚ؅=u wBƐ-8$;Dok{2t ꄧm9sE~n3$~!^V)CՃUNk͉Ti47ͰBy[P{AAfm4s 5j­a0C?{7K>lKN|IǹzU"IAH~i2Gº\#5f2^m ێ+6v;Q0٣8ŦLyZ U8'†|W&e\7Rmeqlm)1]f؃-`~|ܣ| ٍ_( paaf:KcE=zd[Y[]C'H;@E UJ}LuryIpi=Z/ǖۜRZ))p'sD"~Nű z0̬"[ 1rE;i"ylf]:@=)7 fOi#\ז)x[D 4l#%$ G.]R'3/\brvx;6yO\kl/hIy#RH -t"s5:p;IӉl"?Yo;﯊Q[qUh\)i9A돖ɒ"̷͎ϭ4*g z43x[ՊoG=(^뮟fR#ȊԂ[U$"a',ќV>wzi碥> wREEJfJ 8Iv:$Ut?Ln!`F'=/ȳ\/,NC^,͞v1w8P%bz\JS\/9pW[?:(Y޴gxCX /RO}Gv/+>( m姬LxB;*+tE*N'%2p3; S&x"5'$F}H;8xmMw/FWw*z/yvXh[VLe5# v$EaNL޽L>‘|FϔND̜+~qT%G Fƃ QДԳ7ɫT#, C~ێ)z1K|L!߿ =cHp~l]j!&]ɼ~bcL0^21%m9[^4dעeI|NuNoO<,b1qZ(~hSwrs(2[DLvfu*PvTC T|v6*(څ8[(MdW3S(l3Y[D($.VUxlQIy}D)jX^mV.`!M|mrD5ٍk_DPQ S5h%mIoKR gа^XĔ*'E Rsw>kN ^@zDW c*)Ut/8X+V,i 8qY9^)55drzcf)(ܶڙ(K(>5;%6UHQEjˤpsW,z:n5n+ְ7pbZ@<)a3Vnh5"T˴QiT9ZX5X&-p:&zȩ+ ~aztb$ Sz_ĔYlxb+8(=Pb#X0AWIU4u==)a˛F;F_hd'WH1B<|$qf1[dzG_Euf|n[NEY+ՕK zoO=sj#ӷ‡?~8oυH6ha, dʱVX*uOw OyQR@fcFRyܝF|afu2Dz:)6#ԻDWWGCW9cy P$ 9zV?1Th j|zvBI^>s6I*=BKWa$wūr1HƎ0&Io}Et@Lק]N1SkkEK>{NBz>3>:4;0?@KU$3){WlٔExš bi<žW &.DHY1{ ksǡǹm4b#ڱp}3ggJi|ߞqJ~틌B>X7.f7b rtb*TɸMM:q2J^LOO{w `ԯgiU7Ox/\xɪ@T6G,7#7b*z380D-1o51Ӓ8q[rZȊ<8&$H f"y7-c/<Vg9 {Riՠ=) _mgtѸ!_W$18nJ6X~>vFESwTߴ>_")CB{pƗ~Y-x߂cz'IG/V\S]pD~p v[~ )YD?2T:F-0숪΂P yoSg@1çcuTT q o | }! ]-M!BEu ɒ˛ej Tf-4όd \ىnjPHTQIQ_/-Kig3:bWctmm#%U}^BRL3£սաew=RE'@޺.\]G1 czK+q۳{}hYJNpjO-p:w%82 %Z>HCЛJ9rqL%yQZ՜4vL"Ȇ_d!ƣ)2EQ`tWV] a*; ( eB e/e_$gRiz`:!ܦߣ1N<%GJvHCtЌGe҇T2|_a[rsvOγ(] kd-Q2I}$n#(kH9D#JϷBoNl;;K?-EIw:~qampWwgwsv־1B-Í|q{m,C ufst|$q+W~u< %A薒v[:RM~kp!>@+-H"UVr3c1{u}~E钵FǘE ONXl2}Ysd9V㹄Di\>6D*/ӹe{߲75Ck.DSâ(N.x2.og0~RU!'ݿNdCgf^lh't(T,rmkd)R=5((o&ɘ'~ށ!N"v:ac_VQԐ`bH|VJf_ɫ|x|ZhyjW+Fְ7?T*kWidҥJGPjjE\uVR? c^fv@yG^@jH3=%蔍 /plK6B8±lOo z8B3 n։f wKbK W+Ǚ޿;zdFm(D yK/bγP>ϭw}Ql'K7PO5 &f=9*tFשbȳe^*%T:OR~ 4E8JuDŽ4Õ8;C =XndGt7d{WuW=ԻtWps4#AL!09?}٦ -rTnj6yH4jD(>@@)1@C,Ys͊"{+"7GUW8kFsy|fG@4޽Ùy&;La9b&jfY gŊƵDqIY94[ mtE^gi>0QAseN-3 Fe [Iq9rSŊ7} u,f"X18^μ]#;F^?h[I#dx;B6#A4*5h|puotWd F>e>}%U)Ucui^dv8$mr!f2akvD>}Ю_Xt-r|}]t;'BfSq ]Td@~IQѴTc!P耇d4Wz8;f Oq 72-ف`[xNc[)xf6k0"XeHb|1zw m΢زa !D|)dR]Ϗ6x?_[׮@GNK^0*m;{EMk8/H)3{Z&yϡuY0(/nMR0ԍ%d6{ z bGGY}cG{F o $#/{-=J[W1 BB)&LnW  ̋HÌDo^蘨ʼnT].=SA5 /T٩+Ҍ(@He5,]h Ҍ SgXR|BO>_eW:ܰE]gYsi Q\b狞URK'L6 X2Ӛ@U~x/a\(I5 iмe9W84 Iy|hA4:wLy@릎) ʧ*j꿷r[qXAբpKcL,e|csA"EKx} }06:~rH v"uRU|FV2f)ce5a#b+CWm?p2ۚ>Je#`fs˜Sii'uig:GL[ >W^|9 [o DB1W3d!CuzH=UExc&&4mb7&mU -n& ИtnrnWCLBs׽E]zQOZ<&EH !bT>TzXu8, oJ?3W%:8 G$E+l4Yi@Ձ(--wA J WAVؼ)쾫;nJe >؏4Clz/jo6͐@f;%3`v]s,܉W(˿%+tS!;+4oTG}b6yj[rJpq-b8oZ^bqhtZ_y5wC}8>HN$!LBv珠 5.ensE%DQ} ?6LdɉL. 5Tz\)3ٟJE&lYTk.{f Yw=`ᙦoGz:5k[U\؈ysۇ)&B`yټ rp&1u\ҙjWB(W>bFo57AK3¯X i1Țز̅ʙhLNPW8;M8 :Gߑ! aO0|ٞbYa[#rq$ÈUorW汗6Iu1MHN:눽pƟu_!JV2ο-EʪDM{~ysk_MQ#ӻO쯑>p h EJPhsnr5+s*w$&YG8ZTmhc%J~?ye~-o QLJȖ>:9&[S#8$ %:C9OwQ7CJ>M!͕n~k>s`U@dPw &Q 7 ^AMT]+CYpn=CcUXzR`1Ex 7r( 2XQcZCv'1Ԫ$3BLq`N8ɇp`^(l|0o[J\ U %iֱiZ>X&4։3fø )qgAߝUN.HODufT0dDViB꺳iFܓƭ<6(?UYhvv?EmMa{W}Q=u7Zvٹۺ;'EfbMA3t]2yt܎ :t捉-yp i!ڡ U$l?(DZ07cv&GM_=&.Hãla 8O1 ۞^$ &nK .)Ύ (CȷCu@߭ۙɍ3SyޮhVr@9yPwR,-ZPz bU@DKPVQ×i3wmF݆J>h=}֌-N>4 )3{:v" 9LJiU!=ovN2KQ\ucWzѓ"ovebsnP$2t[e 3˙^L(Ȍ2#9zf e2nӠ\rr ܙM-_UIS>"0.l+绺rPq43PR+/ob")mwh wQ޸,1{¡#ޡ4۪E Q[a`/ %8WK5GÅ!ʌ%nQ) HeS̼fNT詂tO]|&w>>@&yIt>#uYyQ\߬6U aވ7{LUt*ε* @nÙc*H'2qlkBJWA2goB+^YiK1=_ݑU~~%_ݞ 'yk7muBE[+NC'H4{F//᚞ >J3!5}~/:g57ˇ,daª.թx7|zaWerHf? {,1a4~[#{ɞ:M\ .K|W{EɅ|D堮n&l@UͩO;(څ]YE2 <2[@a1_2Oډ8%JTYit؜p1= fWED=*) 147|Lp!)=d^d͚F.ՐVMWVԻ!82v61R0xΗY\).>/ߞ[i6Iqnv YeґOnۋ!q1y$9a\GFͪ )uPWi~,q˵[ ֗cg"\%E:"S( EU O 衏IXb >/Urlq@5fd36$Lg%iQ=! C(<>7TE5!g˧SB06xϟDq}94 YBiW#$MFѯ]5pE^&Exν`GHFdT/`KkB~TXqdb''x3 iQtz1kN~3 zÎ*k-?e5T]R |l̳:8LODe#Q *.Ru uVg}ԓ&%_ eoT_Vd_m$Eq9*1gP`mB&z=7܀)Ə"VfяtOHuVj#00yJpԢ"Wg f"?,O1Aa}^U_ںX;\l+(ޖU`eV2 m̾ lX̷B%(MMGLȸr73&&pۑ7><qf'4DUk㉛6>Uw }>I![ K`aA\ p W5C[=N|C }լӣ33_3AֳLjK"b ѳʥTAXKr<ER{dHBui2S=|CZ#!VQog]U!b{N8{OI}ԍ8ə˴4;OֳB?1JVKbH~zwP'`[f3~*B} ^L0+J}I1.;f~-QT2'Σ[[ovtA`|-C9Jvfm0z*hX I٘F]nRQ^aۻU#8-~ޓ C8 JhKюh.Mq?䫹bl"* lԺZS ޯTS'oĚ">$h }/L|^P'VX䊁 +}[&OMZnqc*I&y2]UԎc/ []$y cSsO/e$z%}؄,B$CugHkAwu"\ӥ hy=oK.]nS`sꟙgzChE$! mk մMjeY15b ^=#0˦vCK_KW"oQ\1nmAx TpmɿEx؋VHlDri"QFޟ]M֕2yTl~Ɓq(h0\ 8`&nhbK QG(*f0*=T}/]BY(Me8r;e:9|$4-+l}"@63t-x@T70na.vUR>fZWi!'I;/Zfa04lqIk?wtM{ЍeFԫ6I<}Lȵ_t%W\r\ )ɚ:0+ωTr./BO5X"vi25Me tZlNmM v]֓[.^I.IpgJ 6> endobj 73 0 obj << /Length1 1694 /Length2 8629 /Length3 0 /Length 9718 /Filter /FlateDecode >> stream xڍvuT_5CHK30tItH 3 C7HJ#(RR Jt7ҝ R/x׬̳{9YGO (>Xa` B 0XnG9\H80֦AR5#P@( *) & `HWIjH tv٣n3  HH^wm &eshq#m0Bp޷G%===A'7N G`n0Wl wq ;Ki€G vo40d??(;ܟ#~/ !o8h wU4@(//"Bݐ!#{.r[ٸQn 7*=heTCwܞ7-~@z"|pW)Pwg~C'fCE`mca.@=$ΰN_:}@R`p[ \avP h #D5lS oPvΠH?ߍW|(w^@_>A0OPH(* 7GW:W@5-(GW%7va@T`>Z'_Q*{Rqwt0 NpG?9펺&V*M5mMj(ȭXv' wS{:p  Ք} yr{ɸ6 v+fUF ((" BQ J =@~]htj~/( E!CCE." ަ/xx;یC[퍇p٢ ic2 ]ܑ(_ŁN68n}`^0FCӦJy:OϢoܙ+ OZOsOStzeޚajb')NJy>PhᒑaFjkIq?&PR\݄]FL?Ipf颍CXW9%A3䛶c$Xw!$"@~Cݔ~yy3DHXΤXLU}Cѯ86y Lk`&IR}z^2/T-VSfpagN8 QUd#>+5ZS窱E(NEm76|qL\SM|lYKor9H 2PTA%vVjz1ˣ|4Ab`&$z17.i>aazV;fPsX'gw6cP"DtkƟ\VfbJfdg}ŽQUtF6>N&,6e,W{6Sfй-TqA1] x{lʏ#q+zJ~ Uqw}{\K}S)BaAG)O] EMAW8YXڙYb܄^<8O2ri-jLsXzKŘJf nE!+_Pi;A)C@aQ|xhzluG5M8LrF{n^Af-,|Sݿ3ZnGΈsYZ4r$F9_D^WT|sD%[]&Wƚ*͟nngլ:7I~\]Sk}*˽DqNyGn̋c]wBZdCH+pɒmO|`@Bjut̤eqǛP5;q1v:2l;YTb jlw걎LK<0:ayY10Fݣ녳/KiڳҋhҳfzM~|i)0r11ތ?!{d7b00_p3/VǎIv򜽺nu#,TSl- /a닺5a ]YQ|qc]X$K܌cS *o~-IZ!__e4{(_80qVϦ\pok>JZə:rMJ\[Ґa!WtG(2U{;/zZ[xIoq;[ZM=Ĝ!Զ6w"&  c=l#oR030  3C͠!߿^}s zʹWٞwjIè6ۂ`wa9ń ؐQGuxvxy+G>R֨>.ԵZ dOiQ1upde˰<_PU~+غi-a;̼QG1fyC8WWa ;%BCx1q-R*0$( 3a3K\1:( G|gr eB߯n$Z 6cvVOQz)Cn?4w.o}Ѩd.a{P8T3ьkjNuiNviۻl|a93Rp~j:;Nodp İS·;rXTZĝaTlI3VSTPC"eT'¬X7U| B\NgOPi_<:IpQHot#PdU)"k"o)P9.0?Y#=רįK6f5]AAwC=ӱĚWe{‚_S[]U[x>)tJvÈ&@fb+K|9Uz޴ ,=^&xr@mOzWmyKqbE*,Lr?u(Yظ;ǷzWT7пP}9&wS] kV7Y!C3y&BXFϥlU2&Iyp /obFL% Now39|^Fez:%H mi}zX,yTdMb1E]dJ* !qo-/`{ʔQ$%mvBB_;>6QQN3=:^~nC zH?wܐt|>3Y@!&\:.m}-IHFXDhoVOYPtC I) tpt3mK8wIcgy]/F5s\a>"g#0>1M%5ʗ2ڱ k:x{Ŷ{/cCL1sݱZMŰ` GyQ{g\hfb) 4>b[ VA\Z^܋wr荺{HI㦯nȻI |&IV^sJGtPznO2gMyS:UpOX=W恽p?Tg@qɵu TN0զpkI]5w9HrU3$>L0IX=d!.ՅSSk *#ďS2yHJUd:gy񦂛~|24OijxaTAt!+VT]MVr(ӥV-kѺ2†j鬶}qvbfavN*,ίED۹%.\J/Y>V+6NY"e4~Ms~/5̥s/ޭ?NKI1(P!:n>b-y.^@YFݞ``LKK2Ð[:VQP ެL-fT LEÂX.h(*?txբn tC|G IoVҢWU{ Jk)U цgⳠ7Wi mxa7OZT/|դ+z_KiI83xֽ,_A[47@Ȯ+19 $sMtZ2"m7Qx a`g/ ].mljUb~WM9P^8CܪoޡSS?|"y~- oB|e2t ԉ)~ a:[:u*fy QUQikf'RXͅ5*yNؐ3ݏ’} `JcSNqP`VN+R'@>lVb{I]^^W0/S}9]wM,,xLiCނz%Fݤ/T4Ezvs~ 0k_H׸ᴈJ3gԦ;8擕 HEӉ~jq2W3^1BWj˔|ܻoi3Fz^OZMA'T ٖwA#Y%_:tifΰC߃h%ZW*8{O0~0H!<Ws)*|Pc+`I'JrX%k4kI'2Ft>>W?lY2G1: ]<"6٘È n鵦Q]5$*v`_5TI TfVY4= <-I1_pl)DD>/Ȍē0yjti쬫|1K'yn_~>'(VQ6s4uUi] bCe^k?-EuhL~>#4$޴Jiz'ozo^%k鐑n*ƪ䞏PK)ּAespcF4.ɉL+\LVr/:׍W8\X<,S5 F1m=mV) wmN#^3'Bj.%Ծ:_4%U,? t+FK_U? |ÕjRV> cvPɱg37V䔐zA:w^..F T1}~cjf LSzw·} s0q̭t]I(y%SIktr*ꌇ8f7 }!ȏjoed n\Up޴%qc5fn+CD6d OirI({r{a!z,}o}s^8>aq}AWȡB~?8pKʨTǺ)U>Ō9^G1{/^ݚ'k47W?zIMPygX~5\ɗp5//: %HVϞF樼9|iI :FO\N~- fUѩuCx(g gn]F| v1wJ-F7G=W&{IYգqW4~©On~X Lii]E|{k?1 QKeگa'Xcb'\w7Xt[g`2<5_T*)Oq[bRNSr" [GM"܏XY#yKO^#A cݗC8ƍviC\tۉvN' '%$o N,+qd5x GkHXYf@r5rGWtrkW»|УPr# m)HOE>obyNUmڨ)ih%=#gm|a<8˻*on(%N/t^l'G[G%w4a%O (Wm 4 N5F i9/ڂ] / |Z1<ȡG+n8W} ˦0ʕ{ȕXB;+quA2z5Ls5NL+=,21nړ .H d͇ˡrP Cz3rPf P&T{`lɅqȻ@ Hc&=ZSȁiX}ѾkA;s[ꇺ*#\ѥHHozhJHirar! t} |>7߈9P@XSN/pcYH=çmV8sVܹA-sJ@ϙa~tq{w@bڧdJ[XQ95L?VGz *?QjȯGh[įw-͠wY]VL\#޹97E!c:K/.T[6appY&uWO3 䒸J@]y,My+{S@)O|0P1a\_nhˠGѤJr76G5,'G?rYwVt0~~<^c58VcQSM\6=^Й<|qb8[oz՟1ۉ4~(1> endobj 75 0 obj << /Length1 1408 /Length2 6039 /Length3 0 /Length 6998 /Filter /FlateDecode >> stream xڍxTS6Ҥ#H7 & wAjHB$t^7J](]zQA{oed3̼;W8 (:  *Ɩ EH89Mo;  G!c6U0 E!<($. "@@4@tPHSwr`} @RRJn08107lE0FA0?R:c0B`7IW 8`h Ev&D 0qr1`k@!0$≄<c-; X/@B+; H_8 G:Bh6#XףּJ0~hB8 J=f5$TCb$ A+H7# uE.l?i`M$901{@0uv6c9X@# C{OX:"P8p9$Ύ5ZcX>* B"| baS5(˩ Hā$3ϿNo`GF-#  M2x /PX=<5P ~C;_YW=~GA`Ά. ;!h]^- ;#JH'Awwp8#a(4};zWmo ;YFPDL`]AY|~K ,Da!,@#ʃWcE`43/'? @<=<3[ < Ϣ 2./;k?,-w$YGa=w!֘zlyl0W99|UnbfGUy_p+'+4.8fj/ِ ߊ;|"BGtg]R7@)%[&^)k%2fҚ2*DtiY*ى$5x1Td)DP^+ڶxKU]}#M[A?^q/-_*>^1Jmyw(2qMھΥȪHrf? ͡-Ovws,Fji%YӸ?V3կ謃tpAYJd*6=ZZe^)=֤u/#b\CUgiE;A\NWjxGĺֹ-nE}|6M TkHϕr&#5v(dx@_{|AuԲpWxUUa9NB,ͰTjE{OGy% p4;*o+,͆Kx%\ՠHU|"f/c^ұ-kX֪@V2IAA{S#M [*UDzkEYY+#[_EU|WjO?WJ!%p1|}qU_JYS@JGڣ[_\qfK=Z`#9<61mj}ІJ֌n %b˛f/Lv\u~~.ӘP&q#8DI0K\Y}}*QuVbx{Y90`Pbt#l8rx9~aӌ^y(Ξ3'[~>ݲ3еUf kcal RCL!"5әR8- =*|ŧ ;s3o|>'XZphgafVdtqގ7Fp CM)`:7& 5q6äg}ij/Rt Wmc".4aّ* ^z_5IKvȾ4 n%KXYk59X(BHj;2[(ە]qw$BPMߛ^'ioJ~x@k5ցߖjM) .GUE׿^fkQZKk}ՉAtՍi^ZᘄtX" b`%%]8ޮ Q ^ D8{D^(egHCe:h]r?Xzkh62Ã7N* G{s/۲I]ol$܇yؖܟy·X*nc|FQ!ʥtWǥMX`T;‴W+gxO4@:8䖝\"  $B~'w`ZWr."bT*C9'3){5)6˘ZGEX\!vfo3#C7Aڬ{Qں+- CneVRjEmtI.r$lyk(Dϊտ:MwSXQ*^|b|ɻQϒ&8ҿ%:5/?^YUW^H;~:9*` / ,l&և.Ѭ4Hm]vr}+G[ntV{I(?#t*qi=Tނ[:`Xq AGn~>eq'LuY\=O2pVqYgP.F/!UI&9EPqї+ˌyd#ch<AV Wm`2Dby(@vi.IZꫭ 4yuplC_nlf;]naw^FLyrї.6 #Q {~ rz:d,n9XȳKm<u-=GĞ|h%z< &dJ݆>WK.}2ϰE%Ak̈=spu尹]Cql)^Cٮox8rC4ma͓T/Y1eG0>Rķ9Dҍܦ1|KxU䦝'#;ӝOvjx3Nװ􀛏E5!Fi&PH\č7df7}yj=e)[!k0 z츮\_5hOmi 3यo; B*lAE!6[338|̽Y2*Ч˙ׇ<;jA7]. ԩ)!hLيuF;/~5)\TEu3SY,Ӥs]mbLh=7/W]^hq{Xd$eǔeLFXɓ~J21e48JLC??*c?CEiHSeKMPjJwؠd6f [o,r˵ (GΟjh8?kjۊV!7[r$^'HfTV\ahDL@Jd]L'X>Byޓ j8Z>~o;(.1\更9M*I-Vd+N!)I2X֒Q(`3y ь;5Y{"7ieX``]\M$j ^C[NL?G]!鼿$\NvXA*C{'twh2Uٓ}^Α څSMj Á ӕr!0=wlo/? >lQWQ7WU`7Ef?-]<ܗJhR"vbJG)#1qW@mbcw,ks kt>/”.Ƌ96c6o#ȅ&TYuݚDɺB;tTM3GR&6~nPdGzXpJs?.vS~yƳu Ÿ\4 7s@;P;SCO#>I)uF/eZ7XI4Bآ@~tL.ЃIK"06 Yԗq5Z\Tމ;bQ+K ].miwz%uPPw䢔QYw2&1PZ)~5}5,ha[kpÍw PF/G?o{i7ز $P}.R+9Rc &(&ꗧ~S!Zlh^ ߺ*'Kr;}hp_gzXpܫk;kx6%ė[v[";枊Zܺh{?q&k.naJ"g[V'{uibWcZE̥3˛}MǢʫBȒ҆/_fI hub p,iyPbK?SpjXTk>ŚTkQsGwKoqXt64OH7vlXl탷z0B:\_l`-ܻn"F ˦(31nyӃR:GwvÎwB9XboD)-KeZT2/UknV~6~뤊qQr O7Ŝ\dRG#d)I~p^1څpc52/Uc|f=t}n0V TuF1HiǞ?B?I|~u_/W߉~Ы)3ؗUv(Gq$_W,zN$-鹶e3=3p-{[Omgd 7'~4*iyMt;ڰ[i"y=?]"aO.SwZW#[1e͊=0OD31/},!F/+E=I2`)b}܌D7ZKO2?;D`<ޯ5FPp(Wr hY, _X=S"XLQB 4Lzt^dE~u*;Eyۓ0˓|~?ڄ -G.JKss4;[riY ĐZK¹ oblh=&mI&9)OnK*kO<*|0}k<y97{z6HF}i37PPM\8+z]Ώ>9 _;ĺKN"hj}~f~'=7pf ќBRK}w:-*WUҪu}}-f]Aj335],Xh()~{Vd{΋5b#CrcJdQer:o> endobj 77 0 obj << /Length1 1749 /Length2 10933 /Length3 0 /Length 12055 /Filter /FlateDecode >> stream xڍP-whqw[pwww`-,@93s{UVWuk_MI llcvd`adʩ0Y()U(?6ּ8 _ lN6 '/ /33?61g1@ mc r@u9#ڈE;@ d628^3XTl G AіŅʁTv4(@ coy+_(f`?*6&. lvxuq6^Td ?e4u8F;g##+[k7)l (H2:: X:ؼ8- _ ( !0xe?#{7Ga^YX d>1=ݘj 7 c'[&5kHJ/W?2S#\̘~'Pud-~akc 0y^< AG{'ǿXX`#G!lOW1O{+@uX̿??N?IQTLAL/+EDl\ V66QH xR&6?)h85- 3ۼN3@b`6zb^?\&woEN4 nYNfټ\g91R"lmjA$ cE6F[m 3^WNqxm*FwFqk#߫ 07pC`~/V\m wK99L¿E".߈$7f0)L*#W?o$y2 @9?LLfCWfnf'0 g/Z?uIl_y5^Xw4p0?'ꞑǂ?[r!,-~&pa؝䟥UOaXpz@K߰N}#N}#L㸵.-^I/Vyf4TpQf:2EpEEϞz!C:d+d9VЍGK}>>C!r$QRL1>@9Ezʫ-+li#9N^чoK[g{Kg"!Rԯ7jOg, '汷sy|#s|Z7>m ,&+ Sz۳<֣|vuUc\  1FAZHM-'jvCO=4#xj+v{짹Z)2..n SER$FZXP(a\ #e2B+UB3'r!w=zehtua0sZ!>-a7a84wk  CbOjMRDJ!"G|MB50i׮̠y4UN)<^eVѿ5l[{/~I;e\kGۨpuD]H퐟:v!D:zn<a{O؍sF_9cH׬"u]Gfgi]Z41NVw1*blM<ź=93t;<aGjd栭2,ouWW}q׆<.~YI㯝e6$w,ϧHxKar ar =*(1ED|kfygahj܈/:|j]R~*Udg6:7~}їEqhr~DCujXa3/`~@1)(3;2RRO؟b挓{s+38&~|#h*83< $coc A΄2ALۅ⫭NKŴ$8Om^Ba˯ULbL̼- }e1ugeg*na*Tb~4BxHq3_&m#Tȇڼucv ƅ)~0[J'$#ǭ7j;BnQxec em{%15У4zn ťYeO{!خg"/l=Ѕ I>*ʆE<^z&T@*xH|3JW{X(P86nMϦ@_SsTs^&Z( [ZtNpHbuH(ZG,2 Y`78 A Ȅ.٧z3Y.NtپP.6O @X9 J} Bl"27yŽ_XBlBSҺw[9GkD*> G 5/ xB'qntRSXZ?uV%pp͎>-#@!{` ^^N_ qP\Tu14#ͩ7mGV['h~W:CAnH_8*Dr12Ks7aҏ0?,85sOK.?DqNV 0!Yָdtq54btQ{ J)i1ykjDiyYN+.ܰmg.g&.C&r`3futS*{ t)hFM5$b$6)9]ph fH N fG?,m._ Țz~.dҁM+QxX 3c|Wu: #vxQ) v_EVleȮħ6)haxCEnɩO|m`XC7]I4&a1sXHy7Zva;mb R%tӲAA^ 3$hs' 7N1B`5}t*}Bd#XhV=~,*G*o!pw5)΂i z+ofqy߄au% +LKHUZ^f}7~H͋г}^A1 LY`kUv-S!{J7aciSz;^!^uU" QonO'[KH=IwS q?E{@6!;]Rݨ=џC{[oKpN4g\Ncݝ2Pn(K`ǥCU/MzP! Dsۺcz㩖,Ǘ^O' XyҮ܋óʄ+[89~Ip n8+KOAj /}#Fݍ~ل cKzcf>pqA%tOzlX8kdh{snmo}ф;l%i j@Kr,}! S΁Dɶx ,wO}Г] {~MpQF+-蛎&]ݵ\lmswAju7?=id`l1 +IG/C=݈ wz1$ztd`=g +yo!cL`6LR]skgNgXLE01m4dw ++)ZߩB o:N*)YGߪz~bVE Y͑A|Ülr,{ѐPS,@vW bOβ䞄}jz V2]"š|E#9mn*7mOZ_'gJ|oMmH3f ~xw}r妎g`*Pgଧ eZ/l\UP)(9 "=:\VŚwEZdE]cZ}KSoц#!P.Nzиlz]V}L>JN&y@)xym ;TѨ:\aiRN < Vo<H nzN]n*P]x+>ӳ$6Ovߒ@)hE1 t)Mv[$b:!$wޚA ;;&K iy6`֞!-.Ae\NK(gT(n-DRnю(KU$()yPg@ feD_tlġkdu6}IQ:7[I:G27~MVH5!8H6G9_/sI--)<+w'vJ36;BS/.@K%CRû6j ,b^ڭ l\vp]QU 7_'UD{"=j='e(bMXCCbxƞO:` 1&@9J"L Fm4ѶAҕTbJ[yM)k:*B7W: Yph۬a~',ɮj 퍳q*+0x">]NEʎň87F tJ7}Py&}[bCVV0tɃ<5vЎ'h=μ rz =0J'5KD7͊.1HFhd* d < mdҥgmZ\Mz#=c;.ʁ{* 6R ?íTM#6Ñ 8 K.rptad-e>[E|SHQVHwȫR2CM}?(Q_I:^ohztc?ʼnՊ7@mi^#2"VF^6Q>wd}yB fq=0Únd2|p W?jo1P8ޖǰ16y, ne{}:etϸ=:nYcSh tBzn9f,fuZ"-ё0#?_cCyh6Ʌ6]Z;/oziqZD=X[R6U+RKEķNA!0D%WGB tEFܥG3'K[Ǭ:f&y4cBsϬ8_V'?WwXg}3%/kƕ$kj}K!IqX=.2ȱ71bU(8(}PѦ0T'<%2=իUǤWL,gZlIEa[n+{#5vy]Jhupo%#GOuY H|g HW^rv8t~cdS@![ŇzLd#.X{eXaYEsAsa1 O|)kWE oyd绚[B>XP8$sJܐdw5..t0"C촛:#MJ[BR 6ocy-Ǐ_Rc0܁) :aߴXk~&m.'ĭ5_OLAgxFM߾w'Qeo1̡ un`&x>?w6ZrGN}E)5=+ M,K2xAZwlR`fɨ yAG]a:wʐ|Dǔrç©JȂXYIϛ}/YWvPqˤ UHC,;AVbzQ,kZ QT a_Ty,a}kĦ {f˵?.WkVnN?Ka?/s HeSzS#;4@@ ; _P|jQIիpꮋ8e];sە0y#ܗ/ gOwWs?s=]MAɌ:|LX!UID;"ޞe{>oڳ:OP\ye8i;wDlȱ 0a~:^jQ.%,ɣ_Xw\)p6(0(H"sX}M|.ɾfmYwuKK-2VQ-raaG)Kx3H) ]qd`7K7HPX謗Mp%ƛ=j.H;uJwqɦxU,TL.͟I /cnN%R {b4vm~ZJ ߺ)X tCJXJOa(DEDPo :{Ӄcd(wZsGy%xsݤ(f""V1<6-f |W4*/zT1l2"GsE3!c/ )1*;\]5 AeeVT #|s(S`?h7]&yxe3DlêiE?:&3`Q;S> ]\L ƘU1oҞ ٢5Xim`r"5k SOK>DZNwۯQ?7%cߊ$}{χ(/dwޜmm0A1~QU"Qz]sBڎiAS(OP)$uSj ,PT(Ҿ[᤮ҵӮ} csXu4mM5w!ڔ}/'lϊ]cWy'қLTר{}0c>B @1 ,C%QgRqX9$= zV.@ascǸy`\]"YkQ[lf/Q xh1Uxc緃3g#o@ϰeb)]v0k:rXd+_oߴlK^X[n¦uyQF%gy{J^loktޠUŁo!|"^gY^ | } ȑˉ x^Ο9]>̵+VԴ))Ɉ0 DwW5CI g5x!LrQ/ѧ9TfBЎGō,هM Yd|2ԹDÑv OJ#?!F:8: p 3~a(O^Kwmʖ8PĺsIw3qqI(#Z ַNC>|ĞTJeP$?12\*_`*rA%8m!hj)^V%} }Xiul܃rv~8a qaqӑNz P"3=ǝdv^).Yxކ~QDB'Uǃ͒եW{{ @lwxps I/gxN{lٻuB@'KmJs'rZk wF,Qbdo?`8!L4H?hTt(4K7~DuWXD/3͓(W,>5 DՐZӝ$&Ԃ a!/v7f&fHX/W|bQgPeʀ%*J.H1:xm fU=~ò E.-X5\Pj&\)y{7<,AO&Jcm;fsR[\d~W ]*MuPn9`J؊.uQ]GCi'tno 6*}e N /[ {c~!]gb~GmD*fEnp'F|XèZr?d}T≠/m>z!~i^Fd^xe5n9 t0e2UiyQնv] %'z5x\ةG7jJ|wo+*}v](K5;r%{d;m1BY9aNe*G]\x@yiN{J Ae[I\Him@7i.ݾ{}_3Iy4 ش-Uz%4]oObJ@犬MPudPԑR}r4 )e)z86Y WM :,w4ܘ-C?~I?%_yab# "6L #$jI@%=Bﳎ4̥*.[ =bPV XVDuCdR7[IEwr,3򤐰5x CPDAY IKGWSWFsaiF7̉%TYa u\4)3Y6qdzTyۣV3ї^EWf |5dL/d$|E)Vc9? #K?\Ո](]H+,c~j ;9;6jOj+~E%-[7hJt[qnN q4-GVB „i⌥Xb2ZL ^Ő;FX?Wm^ןg\>@SZXr5)v`;PjSvHԊ˶Q`}?xSuUzB ݃YSmͭ])ECgq8bٽᚏ,Z\:ez\ @#VwN;J5_IQ:ۙfO+ޥsb2Iej.\ {k?"6}xRm C;UˡeZ<:<dʤ 1&ʁ,1{l)ڵv7w~j56kxȏ=}O$O@bj7g %>)wn2)WRI{ik||-xGfک^ؾ$RĄU=*+ߓqB7:$ #ç;{Bo">W+,`^aBU?CVJ$3z6n{Lu(Ghq38~1A7@Kv endstream endobj 78 0 obj << /Type /FontDescriptor /FontName /PCDODS+CMTT10 /Flags 4 /FontBBox [-4 -233 537 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/C/N/R/S/a/c/colon/d/e/equal/g/h/hyphen/j/k/m/o/p/period/r/slash/t/three) /FontFile 77 0 R >> endobj 79 0 obj << /Length1 1421 /Length2 1469 /Length3 0 /Length 2367 /Filter /FlateDecode >> stream xڍT XL8L8y$Q<+cHnfO5=Lj\1 x''tn!Q=Sy}~}{Z뷶5W< %4L`04E13#Ŝa\`(+;C苡`\l0q b0쇀P "4CaH 0Y7 _QdG$AoJP! Ehla! c`!R(xbbD6Da@:$Fed8 o' ^`Ҙ fk !.()"h!|h*! #@$@wt" pDJh2DHז!cQQ0J(y 8, =>8HSqCA"- \J_"rcC(_|0l |6V tm~Z7A'Ť@DҀU&(q2(.Uq_(L&"JRtâ?(r)?&`hV b$ \7bzȒ`s)aJg, e;{[gCu^<K=oT шupi,ca@"0-C@> RU?O.ġ(D; ,'@."Dn|HDC!bb@V (X3b "o.mGOT DzC/-c;*:i: 2T@H=Bod:9#u7]r'R' HCnaX (bե SϫY6h6yNi ޟt[~9O/X> Ĉ\ętTHQxU|ON}/d>rVfˆI%WZVoh^RsԜ◴1?T4h|/.-rHkͮʲ}vpiv"v ;Ek@YSQ*uT@ ]Oͷ1μȗߛ8zxE|9Om<9ml^g8X/՟ZjX-zOˬP^︐ǫ[jV1 m#;f&"Ѽ+iW߽}Rל^EōUcIwU^toc-峑Y Q̔wyyїY-TXmώ(x^ 3rnM-N[W9n98OO2ft?Ǻk R3GaQ ~uգM+՚78afDQ^:M XgT^lHSo|v͸&>r 91u 7^&pOXym Þ+eXik֜Ww?t.ŝ? Y-ک__'H zl:gήk~S0atKoWۇzw}/O6OϬIIМq@ *Aay7_Ys,˼omUR֗UOYyt^J6)牾q;s RgZ$k.ޠ|qHqXLsxcoa}Y|>(O̵3YY.kH⟸Xu&+(cs_)^}f(5==ѳh&w.?NI[wL2R,xQ;̡~~ۭb–V_߸;'-Z摟zi3>Qv9߼we4>wzu- 6!R>p*Z3~=++?d3_̿PkWZJ {"An/rgLRT/?th M5-l^y呫Q|$uZΪ&sGf(kmcceRxfM}:K\+; #M >lq6ኲ|bYb3l߽éI(_>NӺ+vP]11{qKb^5Fz;`n*{; :?3h)&GҪ䗍1κmU3Q&L]˻=*K;S]J'kUczaݤ4ɂ际ק?THoTM{(4&JS/UsM| H endstream endobj 80 0 obj << /Type /FontDescriptor /FontName /XUYVGW+CMTT12 /Flags 4 /FontBBox [-1 -234 524 695] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/d/e/k) /FontFile 79 0 R >> endobj 81 0 obj << /Length1 1594 /Length2 3413 /Length3 0 /Length 4411 /Filter /FlateDecode >> stream xڍt 4m~"Ke)Gal.[&ˋPfol%Q!lٓ%kBBCٗ|ߙsf溷)q3 Ty8YY0"SQ3Կ #%(*Ӧ2HD\Y ~D `0՟$3`L".)]7Je/ પG6mHaPD Eu 1(<`I@_%5\Tw5("P $ $Ag`0pE3pIV8w% KDAi0 ̠A2<42A`rpWpdC"8 AB(F O!1QtB36o O(&(2ΝJPp Ѝ2.uIHR6#f۽'{H$XA™& Zf'|@ puw0!ny!szRP⩛ a? XV}8b_`L!uY[AnE v<("ptybJS68Htv*x9FFHcf#aP`Qcשm !,"# (ri'eji/7jg0tQ1X.]n+nQwQ͛8o+פ瞅FS,Krla6&[ILyDl;kdכڜo!GSZH-֪,vixv Ov`WenR?EJm˟^ʒ+pLcXV?+0sȖ|~A^#ۅH ˊ]6JDJryñ@=Ul$t=.7/0iP{jި Ň\o)x +?zDn" Lkϴ$U<ſ7ա^FL'NulEfmR>2n3 (bۊ$ -o+65Y4O&JЕ:,2^EBh Ԕe i]ecGkE|eo'v#-WJ?@+2lgb{Wk! 8;:+$}1Mmkhxsr𴦈 PiHJ6Ћ^q$:OI?X8aF"< Ĕx3%s޺^)_%p|TA)S .N( >qhfyi2⬧1cSN۵a_.~nX%H>?HPMɵ><_'^9y5 gEy5> S徢ÙsNPǫ]+a+w+r~Jw=e( !Q5y44}-9_ceq!Z)vT5԰0#,>'y%?Iy駴,(bc:'{wa65@nߓ+Bowgiݏpdl>w*/wr8紓;eѭ Sm?mc0Ml {UO[԰J ;o4/J؝Q_! wˏJǃ hXJ'G#5-$o(OVwW eG$?:{rsYmNκu)j'NUmoQ\ٹ9蠴[@YĮ iN%cwdct$3acGfS2dS?"4I94vݥϫFdLT,Œ;`E7sGIfr!4;d yd̥k 5Zִ$B9 J;Mل{K/Z5HdIq % =њg[M)Os$ e'P;YpL$*L@c#c|z!b Y^v%QY9NUt~> 6R2Ы7JfIfHQ&:*KR&R/tԔ:`ˊOmni>y 4!K)iH6MJ aj_phx&= ጺ nprܔv@yζ.B%cFUA1Ȧ@3OUOǛ~{: Aӿv:aJ-W-[qD8i/௒Sä}$7 K/ 3razЧ[![\-n`?fk3xp)Ӹev;G=&^,ԍzO.vX)]R_YiO(S~,dם3Y296ٝ& 7߿0 )o]Q>kë vF_b/GX-ӵ*SdYve+OP*ʑ=Q ty/r ,XF=桒*Ij򺎡NWR}>{ YŨSiz*0s-^o4zyu4?+=\/F0ԋǜ|$.\n&^8ԛp'59U!/Eke7 v OR7vj>1x!kӠ\zǷ?y rM!ƈr__Tr5fR+H-f>BqE;nu~G)dO>r\,xTXdcAg~9hxQ+}:mEvo"ˤxn;ܫ˖? R_)Kle涯Fh{qؓu[JZԸ?f>y{*qR)@:}uәG`GYDM Ǥ٭/،fZnHNo!\3ݵ'|YUU5ʃAm>,K[%IȹFh{!:0! N8"I4}?`WZr+)LVY%b/A2siVkN{7 }5TRe^D*|JnM!7bbl^"abe KUZ7ܘ6j15E\` %HYu "6H@v]w1F']ѡr=]!7;stb!1FגUJ1۽CC~fP;bfpnBd?waϺG4 endstream endobj 82 0 obj << /Type /FontDescriptor /FontName /UPLUCB+CMTT8 /Flags 4 /FontBBox [-5 -232 545 699] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/a/at/b/c/d/g/h/i/m/o/period/s/t/u/z) /FontFile 81 0 R >> endobj 83 0 obj << /Length1 1620 /Length2 4666 /Length3 0 /Length 5476 /Filter /FlateDecode >> stream xڭTeX&CZDZRBJ$aff`f@B$E6)4] o}}ίs}ֽֽ~ 42QuD9@PH@(},xyBj$%dusp7\@p8 }x@(WM! ]#+Cm@qM; `> Ab ( @~QHGekQ*`\!`8. ^B7 } Bbq3p$xYE*y0 ŀpW,HC:N en PP# ~/ GC 8B< G8Ƒp*@C` #hpܗOtruExF8A@E$$q9X\nI&vyUtP@Bwk@wFWDx!P21C ߩ,ωHwe};;ar  o 8?{&;;;*SDD^Tw+8`' A#HN_H ;#//;A:|Lнgz𿿫pcyBEM HKx7%$:h'Z\T\\o4H0ƘbAHG%p h_ɾARL;5Z$;]ߔ+F5&N˿?- Q8^u=ZˆoNld=l͢૗^}Cf9?Et_F|a6 {Ot@Џ#ˏgߕ)8,ZM]i_>O:;[Yӣ*Ư_bѻscYINzۦS5[Zy 5k?jV,BsBN>]_JY#9U} >u[ی~6 /iBlo_E#]z%-#P0k Iwkϩ*9O3T5WU ׋{06Lk̃6dHB?MCJX"PkGM\/ukX5=M]䴡h_Iȼ''_oNEQ>n!4rh3k 8"3R4rLnmmCb^`A<9El{@Je%*KIq\0g8(Mt]^MX =%׍N:vj%լ%tBU_D>Ո+ kVP_2Er[$i<ڌ`Qin5YL S警\D^*<7h@o/}ӀMd%w/9ɭ8Й>{#`2J j@o9Ioa1m{I\_ j_LМ0z.%wє|4bl _SsuUYx2 mt{W^@@*zt̤foHGLΊMm5%N[e{n,?UI_:jiZkEV03z㭌d8 !U]GD޴a:!9ff09tvufFKFC0rc1OIcPcl߭oF䛖 wz:_".^UB?ϻ|yL?wVbcN s5xao d_ތV}J44QicP)I(J̪lzg[M4TMGC^0<˴?rXaL~Xm;cdxf0B6lq"E`睊xWG] TIZa sգ` iWQKcH]h>+\Y_("T1}Ml3Aâ!RiC0iw6dy^y5XL!3qH+Od; P e]"LgN&?H9 [4it T Ω[7}#Uok*|:A2(7AW5uMVIBd4T45EӔCn̳5V"A/aP߰% THL9l5ҷ 11:  uoעvW{}jJP4m6HIߴs/hvCmQIЄ.U ھ RϷa7M^@5# \&uPCaUv׼3lStIJj1> >)> lL u7+/ZsK &Yj^h$,iyVL'_.MzHeT rgܘ2,:CΜMEMzdmWў2k_mR7ˬi)t#BwGM-@^U&\|)(=.w2<(BdC&)oP62v"?Ȣr:ۘ$NLsz7hƆiM 0dGvWPljIVweF dIHqIEev~byMX,Qz1V.:sL+ltV,:8$9(X?.Gt5Ft@rs0]ZZ99{Bx6506@L!9]hZ6]&ҕm[6L{]TYүCKZ?(YȃyK)k %fsυMx o$p2ow O),+qUV8oUڜK5J>OImԂ#Wr-YO'{vqzO&'uW܄GE IRHv/O|aPYӤ_*c耿CcN\rt˖WyIYޓYFσ?* ժ~::!]pSf2WainWk:Vig٬jS T^z@7M9yP%r5$ksmQs$)N;ڳ ރ )^ 7ƣ [`D~h)竵~oF3'n4:}(|~!#w)) ?FZܑ(ɳ+߁:⍤ = tS`c_ϥ>{i3[}iǰơPte3gJW!o;cwawT *!CI]9坣7S{)7 J^q;ukl.9Za9p:~v*JnaYdV~X6w?C̱5s=f9Ada _JW1l`}T8@AA]}skeU*8sظ[%@V^vP;?3s?_ N.\x<)h|;oHΎɞC}o3TG'?nx-}#!^Za8XDSc2]IWR#Cs;[/Ke6Pb?Ғ5~m(L+0x ń[C}"Z"ID #I7i8 ٘ᅘ1=U~H6DRFҵ{}Oe*I;޺`fk]Ec~4u-g{'}i{" T% Ԫi Oï|ۙ+DOM\^ e2AYYe{u00mNXsȽI& *Qvs!R-y|KO|1?#?CPM:/@|T͒dJ=S4pM-[cʝn |T{CUh޶9g{fj5}f/[h'<DTwh2 D{ROJ#Es4mEx)Ws~ $7]UƞbޯքA&7Tm5EoyqjP7UB|n'xwRc@jlèڔ\,*%hw>9Uײ@vV,ފg7q9/g.'xje_z@^И} #{?Iȱv/f%h~:8oFjc-&Zrݟg,`$_SpD GD3JqswΕd9)0'!l:^ ;+ۓ"qk[\D"H0t ,KN[>,N;q ob%&*JXK%-zB4>JyÍH$%6S:;=[EVE =/:~j: ?rr8|Y`z).*J,vXJu<6QD5őu*a@DŽryڠܡTt[*+FS)Ū64P4uiH&>WNM~o|C%Fd$f"i|0tbv*Z&zJM PŮkRu endstream endobj 84 0 obj << /Type /FontDescriptor /FontName /DJTSHH+URWPalladioL-Ital /Flags 4 /FontBBox [-170 -305 1010 941] /Ascent 722 /CapHeight 693 /Descent -261 /ItalicAngle -9 /StemV 78 /XHeight 482 /CharSet (/h/r/t) /FontFile 83 0 R >> endobj 55 0 obj << /Type /Encoding /Differences [104/h 114/r 116/t] >> endobj 30 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CBXAKB+CMBX12 /FontDescriptor 64 0 R /FirstChar 49 /LastChar 117 /Widths 62 0 R >> endobj 47 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QIELJB+CMMI10 /FontDescriptor 66 0 R /FirstChar 62 /LastChar 62 /Widths 51 0 R >> endobj 35 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FYBEQL+CMR10 /FontDescriptor 68 0 R /FirstChar 11 /LastChar 121 /Widths 57 0 R >> endobj 32 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NLLVYD+CMR12 /FontDescriptor 70 0 R /FirstChar 44 /LastChar 121 /Widths 60 0 R >> endobj 37 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CUUSPN+CMR8 /FontDescriptor 72 0 R /FirstChar 38 /LastChar 121 /Widths 54 0 R >> endobj 46 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CKAIBR+CMSLTT10 /FontDescriptor 74 0 R /FirstChar 34 /LastChar 118 /Widths 52 0 R >> endobj 33 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UEIZYW+CMSY10 /FontDescriptor 76 0 R /FirstChar 3 /LastChar 3 /Widths 59 0 R >> endobj 34 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PCDODS+CMTT10 /FontDescriptor 78 0 R /FirstChar 45 /LastChar 116 /Widths 58 0 R >> endobj 31 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XUYVGW+CMTT12 /FontDescriptor 80 0 R /FirstChar 100 /LastChar 107 /Widths 61 0 R >> endobj 38 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UPLUCB+CMTT8 /FontDescriptor 82 0 R /FirstChar 46 /LastChar 122 /Widths 53 0 R >> endobj 36 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DJTSHH+URWPalladioL-Ital /FontDescriptor 84 0 R /FirstChar 104 /LastChar 116 /Widths 56 0 R /Encoding 55 0 R >> endobj 39 0 obj << /Type /Pages /Count 2 /Kids [22 0 R 43 0 R] >> endobj 85 0 obj << /Type /Outlines /First 3 0 R /Last 19 0 R /Count 5 >> endobj 19 0 obj << /Title 20 0 R /A 17 0 R /Parent 85 0 R /Prev 15 0 R >> endobj 15 0 obj << /Title 16 0 R /A 13 0 R /Parent 85 0 R /Prev 11 0 R /Next 19 0 R >> endobj 11 0 obj << /Title 12 0 R /A 9 0 R /Parent 85 0 R /Prev 7 0 R /Next 15 0 R >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R /Parent 85 0 R /Prev 3 0 R /Next 11 0 R >> endobj 3 0 obj << /Title 4 0 R /A 1 0 R /Parent 85 0 R /Next 7 0 R >> endobj 86 0 obj << /Names [(Doc-Start) 29 0 R (cite.kedd) 40 0 R (page.1) 28 0 R (page.2) 45 0 R (section*.1) 48 0 R (section*.2) 49 0 R] /Limits [(Doc-Start) (section*.2)] >> endobj 87 0 obj << /Names [(section.1) 2 0 R (section.2) 6 0 R (section.3) 10 0 R (section.4) 14 0 R (section.5) 18 0 R] /Limits [(section.1) (section.5)] >> endobj 88 0 obj << /Kids [86 0 R 87 0 R] /Limits [(Doc-Start) (section.5)] >> endobj 89 0 obj << /Dests 88 0 R >> endobj 90 0 obj << /Type /Catalog /Pages 39 0 R /Outlines 85 0 R /Names 89 0 R /PageMode/UseOutlines /OpenAction 21 0 R >> endobj 91 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.14)/Keywords() /CreationDate (D:20151030152115+01'00') /ModDate (D:20151030152115+01'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.4902 (1.40.14)) >> endobj xref 0 92 0000000000 65535 f 0000000015 00000 n 0000003778 00000 n 0000122027 00000 n 0000000060 00000 n 0000000090 00000 n 0000003837 00000 n 0000121944 00000 n 0000000135 00000 n 0000000166 00000 n 0000006359 00000 n 0000121859 00000 n 0000000211 00000 n 0000000242 00000 n 0000006419 00000 n 0000121772 00000 n 0000000288 00000 n 0000000314 00000 n 0000006479 00000 n 0000121698 00000 n 0000000360 00000 n 0000000405 00000 n 0000003048 00000 n 0000003487 00000 n 0000003189 00000 n 0000003338 00000 n 0000003896 00000 n 0000000453 00000 n 0000003659 00000 n 0000003718 00000 n 0000119985 00000 n 0000121107 00000 n 0000120406 00000 n 0000120828 00000 n 0000120966 00000 n 0000120266 00000 n 0000121389 00000 n 0000120546 00000 n 0000121249 00000 n 0000121559 00000 n 0000006658 00000 n 0000005930 00000 n 0000006718 00000 n 0000005796 00000 n 0000004065 00000 n 0000006300 00000 n 0000120685 00000 n 0000120126 00000 n 0000006538 00000 n 0000006598 00000 n 0000006115 00000 n 0000006850 00000 n 0000006874 00000 n 0000007232 00000 n 0000007712 00000 n 0000119914 00000 n 0000008233 00000 n 0000008303 00000 n 0000008919 00000 n 0000009225 00000 n 0000009247 00000 n 0000009676 00000 n 0000009742 00000 n 0000010148 00000 n 0000021651 00000 n 0000021936 00000 n 0000028957 00000 n 0000029183 00000 n 0000050360 00000 n 0000050806 00000 n 0000062267 00000 n 0000062551 00000 n 0000076347 00000 n 0000076663 00000 n 0000086500 00000 n 0000086788 00000 n 0000093905 00000 n 0000094136 00000 n 0000106311 00000 n 0000106599 00000 n 0000109085 00000 n 0000109305 00000 n 0000113835 00000 n 0000114084 00000 n 0000119679 00000 n 0000121625 00000 n 0000122097 00000 n 0000122273 00000 n 0000122431 00000 n 0000122509 00000 n 0000122545 00000 n 0000122668 00000 n trailer << /Size 92 /Root 90 0 R /Info 91 0 R /ID [<8DD3B9AEAAEA1471CCA3A48D60EF831A> <8DD3B9AEAAEA1471CCA3A48D60EF831A>] >> startxref 122942 %%EOF kedd/inst/doc/kedd.Rnw0000644000176200001440000014626412614740640014323 0ustar liggesusers\documentclass[a4paper,11pt]{article} \usepackage{a4wide} \usepackage{graphicx} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage[left=2.5cm,top=2cm,right=2cm,bottom=2cm]{geometry} \usepackage[utf8]{inputenc} \usepackage{authblk} \usepackage[english]{babel} \usepackage{hyperref} \usepackage{Sweave} \usepackage{color} \definecolor{link}{rgb}{0.45,0.51,0.67} \hypersetup{ colorlinks,% citecolor=link,% filecolor=link,% linkcolor=link,% urlcolor=link } %% load any required packages here \renewcommand{\today}{\begingroup \number \day\space \ifcase \month \or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space \number \year \endgroup} \newcommand{\argmin}[1]{\underset{#1}{\mathrm{argmin}} \ } \newcommand{\argmax}[1]{\underset{#1}{\mathrm{argmax}} \ } \def\ISE{\mathrm{ISE}} \def\MSE{\mathrm{MSE}} \def\MISE{\mathrm{MISE}} \def\AMSE{\mathrm{AMSE}} \def\AMISE{\mathrm{AMISE}} \def\LSCV{\mathrm{LSCV}} \def\UCV{\mathrm{UCV}} \def\BCV{\mathrm{BCV}} \def\CCV{\mathrm{CCV}} \def\TCV{\mathrm{TCV}} \def\MCV{\mathrm{MCV}} \def\MLCV{\mathrm{MLCV}} \def\rth{r^{th}} \def\Intr{\int_{\boldsymbol{\mathbb{R}}}} \def\Sum2{\sum_{i=1}^{n}\sum_{\substack{j=1 \\ j \neq i}}^{n}} \def\M2{\mu_{2}} \def\RK{\mathrm{R}\left(K^{(r)}\right)} \def\RR{\mathrm{R}} \def\Kr{K^{(r)}} \def\ConvKr{K^{(r)} \ast K^{(r)}} \def\Z{\left(\frac{X_{j}-X_{i}}{h}\right)} \def\z{\left(\frac{x-X_{i}}{h}\right)} \def\hatf{\hat{f}_{h}^{(r)}} \def\N{\mathbb{N}} %%%%%%%%%%%%%%%% \let\code=\texttt \let\proglang=\texttt \let\pkg=\texttt \newcommand{\CRANpkg}[1]{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}}% \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \let\cpkg=\CRANpkg \let\cpkg=\CRANpkg \bibliographystyle{plainnat} %\VignetteIndexEntry{Kernel estimator and bandwidth selection for density and its derivatives} %\VignettePackage{kedd} \begin{document} \title{\bfseries{ Kernel Estimator and Bandwidth Selection for Density and its Derivatives}\\ \vskip3pt \large The \CRANpkg{kedd} Package \\Version 1.0.3} \author{by Arsalane Chouaib Guidoum\thanks{Department of Probabilities \& Statistics.\\Faculty of Mathematics. \\University of Science and Technology Houari Boumediene.\\ BP 32 El-Alia, U.S.T.H.B, Algeria.\\ \email{acguidoum@usthb.dz}}} \date{Revised \today} \maketitle \section{Introduction}\label{Sec0} In statistics, the univariate kernel density estimation (KDE) is a non-parametric way to estimate the probability density function $f(x)$ of a random variable $X$, is a fundamental data smoothing problem where inferences about the population are made, based on a finite data sample. This techniques are widely used in various inference procedures such as signal processing, data mining and econometrics, see e.g., \cite{Silverman,WandandJones,Jeffrey,Wolfgangetall,Alexandre}. The kernel estimator are standard in many books with applications and computer vision, see \cite{Wolfgang,Scott1992,Bowman,VenablesandRipley}, for computational complexity and with implementation in \texttt{S}, for an overview. Estimation of the density derivatives also comes up in various other applications like estimation of modes and inflexion points of densities, a good list of applications which require the estimation of density derivatives can be found in \cite{Singh1977}. There already exist a number of packages that can perform kernel density estimation in \texttt{R} (\code{density} in \texttt{R} base); see for example \pkg{KernSmooth} \citep{KernSmooth}, \pkg{sm} \citep{smarticle}, \pkg{np} \citep{np} and \pkg{feature} \citep{feature}, they exist also of functions for kernel density derivative estimation (KDDE), e.g., \code{kdde} in \pkg{ks} package \citep{ks}. We introduce in this vignette a new \texttt{R} package \CRANpkg{kedd} \citep{kedd} for use with the statistical programming environment \cite{R}, which implements smoothing techniques and computing bandwidth selectors of the $\rth$ derivative of a probability density $f(x)$ for univariate data, using several kernels functions. \section{Convolutions and derivatives in kernels}\label{Sec1} In non-parametric statistics, a kernel is a weighting function used in non-parametric estimation techniques. Kernels are used in kernel density estimation to estimate random variables density functions $f(x)$, or in kernel regression to estimate the conditional expectation of a random variable, see e.g., \cite{Silverman,WandandJones}. In general any functions having the following assumptions can be used as a kernel: \begin{itemize} \item[(A1)] $K(x) \geq 0$ and $\Intr K(x) dx = 1$. \item[(A2)] Symmetric about the origin, e.g., $\Intr x K(x) dx = 0$. \item[(A3)] Has finite second moment, e.g., $\M2(K) = \Intr x^{2} K(x) dx < \infty$. We denote $\RR(K) = \Intr \left(K(x)\right)^{2} dx$. \end{itemize} If $K(x)$ is a kernel, then so is the function $\bar{K}(x)$ defined by $\bar{K}(x)=\lambda K(\lambda x)$, where $\lambda > 0$, this can be used to select a scale that is appropriate for the data. The kernel function is very important to spreading a probability mass of $1/n$, the most widely used kernel is the Gaussian of zero mean and unit variance. Some classical of kernel function $K(x;r)$ ($r$ is the maximum derivative of kernel) in \pkg{kedd} package are the following: \begin{table}[!ht] \begin{center} {\renewcommand{\arraystretch}{1.5} \begin{tabular}{rlll} \hline\hline Kernel & $K(x;r)$ & $\RR(K)$ & $\M2(K)$ \\ \hline Gaussian & $K(x;\infty) =\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{x^{2}}{2}\right)1_{]-\infty,+\infty[}$ & $1/\left(2\sqrt{\pi}\right)$ & 1 \\ Epanechnikov & $K(x;2)=\frac{3}{4}\left(1-x^{2}\right)1_{(|x| \leq 1)}$ & 3/5 & 1/5 \\ Uniform & $K(x;0)=\frac{1}{2}1_{(|x| \leq 1)}$ & 1/2 & 1/3 \\ Triangular & $K(x;1)=(1-|x|)1_{(|x| \leq 1)}$ & 2/3 & 1/6 \\ Triweight & $K(x;6)=\frac{35}{32}\left(1-x^{2}\right)^{3} 1_{(|x| \leq 1)}$ & 350/429 & 1/9 \\ Tricube & $K(x;9)=\frac{70}{81}\left(1-|x|^{3}\right)^{3} 1_{(|x| \leq 1)}$ & 175/247 & 35/243 \\ Biweight & $K(x;4)=\frac{15}{16}\left(1-x^{2}\right)^{2} 1_{(|x| \leq 1)}$ & 5/7 & 1/7\\ Cosine & $K(x;\infty)=\frac{\pi}{4}\cos\left(\frac{\pi}{2}x\right) 1_{(|x| \leq 1)}$ & $\pi^{2}/16$ & $\left(-8+\pi^2\right)/\pi^{2}$\\ \hline\hline \end{tabular} } \end{center} \caption{Kernel functions in \pkg{kedd} pakage.}\label{Sec1:Tab1} \end{table}\\ The $\rth$ derivative of the kernel function $K(x)$ is written as: \begin{equation}\label{Sec1:eq1} \Kr(x) = \frac{d^{r}}{dx^{r}} K(x) \end{equation} and convolution of $\Kr(x)$ is: \begin{equation}\label{Sec1:eq2} \ConvKr(x) = \Intr \Kr(x) \Kr(x-y) dy \end{equation} for example the $\rth$ derivative of the Gaussian kernel is given by: $$\Kr(x) = (-1)^{r} H_{r}(x) K(x)$$ and the $\rth$ convolution can be written as: $$\ConvKr(x) = (-1)^{2r} \Intr H_{r}(x) H_{r}(x-y)K(x)K(x-y)dy$$ where $H_{r}(x)$ is the $\rth$ Hermite polynomial, see e.g., \cite{Olver}. We use \code{kernel.fun} for kernel derivative defined by \eqref{Sec1:eq1}, and \code{kernel.conv} for kernel convolution defined by \eqref{Sec1:eq2}.\\ For example the first derivative of the Gaussian kernel displayed on the left in Figure \ref{Sec1:fig1}. On the right is the first convolution of the Gaussian kernel. <>= library(kedd) @ <>= kernel.fun(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx kernel.conv(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx @ <>= plot(kernel.fun(deriv.order = 1, kernel = "gaussian")) plot(kernel.conv(deriv.order = 1, kernel = "gaussian")) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(kernel.fun(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") @ <>= plot(kernel.conv(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") @ \end{center} \caption{(Left) First derivative of the Gaussian kernel. (Right) Convolution of the first derivative Gaussian kernel.}\label{Sec1:fig1} \end{figure} \section{Kernel density derivative estimator}\label{Sec2} Let $(X_{1},X_{2},\dots,X_{n})$ be a data sample, independent and identically distributed of a continuous random variable $X$, with density function $f(x)$. If the kernel $K$ is differentiable $r$ times then a natural estimator of the $\rth$ derivative of $f(x)$ the $\rth $ derivative of the kernel estimate \citep{Bhattacharya,Schuster,Alekseev}: \begin{equation}\label{Sec2:eq1} \hatf(x) = \frac{d^{r}}{dx^{r}} \frac{1}{nh} \sum_{i=1}^{n} K\z = \frac{1}{nh^{r+1}} \sum_{i=1}^{n} \Kr\z \end{equation} where $\Kr$ is $\rth$ derivative of the kernel function $K$, which we take to be a symmetric probability density with at least $r$ non zero derivatives when estimating $f^{(r)}(x)$, and $h$ is the bandwidth, this parameter is very important that controls the degree of smoothing applied to the data. The following assumptions on the density $f^{(r)}(x)$, the bandwidth $h$, and the kernel $K$: \begin{itemize} \item[(A4)] The $(r+2)$ derivatives $f^{(r+2)}(x)$ is continuous, square integrable and ultimately monotone. \item[(A5)] In the asymptotic framework, as $\lim_{n \to \infty} h_{n} = 0$ and $\lim_{n \to \infty} nh_{n}^{2r+1} = \infty$, i.e., as the number of sample $n$ is increased $h$ approaches zero at a rate slower than $1/n^{2r+1}$. \item[(A6)] Assumptions about $K$ are introduced in the previous section. \end{itemize} As seen in Equation \eqref{Sec2:eq1}, when working with a kernel estimator of the $\rth$ derivative function two choices must be made: the kernel function $K$ and the smoothing parameter or bandwidth $h$. The choice of $K$ is a problem of less importance, because $K$ is not very sensitive to the shape of estimator, and different functions that produce good results can be used. In practice, the choice of an efficient method for the computation of $h$, for an observed data sample is a crucial problem, because of the effect of the bandwidth on the shape of the corresponding estimator. If the bandwidth is small, we will obtain an under smoothed estimator, with high variability. On the contrary, if the value of $h$ is big, the resulting estimator will be over smooth and farther from the function that we are trying to estimate.\\ An example is drawn in Figure \ref{Sec2:fig1} where we show in left four different kernel (Gaussian, biweight, triweight and tricube) estimators of the first derivative of a bimodal (separated) Gaussian density (Equation \ref{Sec2:eq3}), and a given value of $h=0.6$. On the right, using the Gaussian kernel and four different values for the bandwidth. \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= fx <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) kernels <- c("gaussian","biweight","triweight","tricube") plot(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[1]),col = 1,ylim=c(-0.6,0.6) ,sub="", main="") for (i in 2:length(kernels))lines(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[i] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)),lty = c(8,rep(1,length(kernels))), inset = .015) @ <>= h <- c(0.14,0.3,0.6,1.2) plot(dkde(x = bimodal, deriv.order = 1, h = h[1], kernel = kernels[1]),col = 1,ylim=c(-0.6,1) ,sub="", main="") for (i in 2:length(h))lines(dkde(x = bimodal, deriv.order = 1, h = h[i], kernel = kernels[1] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c("TRUE",paste("h =",bquote(.(h)))), col = c("black",seq(h)),lty = c(8,rep(1,length(h))), inset = .015) @ \end{center} \caption{(Left) Different kernels for estimation, with $h=0.6$. (Right) Effect of the bandwidth on the kernel estimator.}\label{Sec2:fig1} \end{figure} We have implemented in \texttt{R} the function \code{dkde} corresponds to the derivative of kernel density estimator (Equation \ref{Sec2:eq1}). Eight possibilities are allowed for the kernel functions that are summarized in Table \ref{Sec1:Tab1}. We enumerate the arguments and results of this function in Table \ref{Sec2:Tab1}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{y} & The points of the grid at which the density derivative is to be estimated.\\ & The default are $4h$ outside of range($x$).\\ \code{deriv.order} & Derivative order (scalar). \\ \code{h} & The smoothing bandwidth to be used. The default, "ucv" unbiased cross-\\ & validation.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{eval.points} & The coordinates of the points where the density derivative is estimated.\\ \code{est.fx} & The estimated density derivative values (Equation \ref{Sec2:eq1}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{dkde}.}\label{Sec2:Tab1} \end{table}\\ Working with the dataset \code{'bimodal'} correspond to data sample of 200 random numbers of a bi-modality (separated) of a two-component Gaussian mixture density (Equation \ref{Sec2:eq2}), with the following parameters: $-\mu_{1}=\mu_{2} = 3/2$ and $\sigma_{1}=\sigma_{2}=1/2$. The \code{dkde} function enables to compute the $\rth$ derivative of kernel density estimator over a grid of points, with a bandwidth selected by the user, but it also allows to estimate directly this parameter by the unbiased cross-validation method \code{h.ucv} (see following Section). We have chosen this method as the automatic one because it is the fastest in computation time terms. Now we estimate the first three derivatives of $f(x)$, can be written as: \begin{eqnarray} % \nonumber to remove numbering (before each equation) f(x) &=& 0.5\phi(\mu_{1},\sigma_{1}) + 0.5\phi(\mu_{2},\sigma_{2}) \label{Sec2:eq2}\\ f^{(1)}(x) &=& 0.5(-4x-6) \phi(\mu_{1},\sigma_{1}) + 0.5(-4x+6)\phi(\mu_{2},\sigma_{2})\label{Sec2:eq3} \\ f^{(2)}(x) &=& 0.5\left(\left(-4x-6\right)^{2} - 4\right)\phi(\mu_{1},\sigma_{1})+ 0.5 \left(\left(-4x+6\right)^{2} - 4\right) \phi(\mu_{2},\sigma_{2})\label{Sec2:eq4}\\ f^{(3)}(x) &=& 0.5(-4x-6)\left(\left(-4x-6\right)^{2} - 12\right)\phi(\mu_{1},\sigma_{1})+0.5(-4x+6) \notag \\ & & \left(\left(-4x+6\right)^{2} - 12\right)\phi(\mu_{2},\sigma_{2})\label{Sec2:eq5} \end{eqnarray} where $\phi$ is a standard normal density. <>= hatf <- dkde(bimodal, deriv.order = 0) hatf1 <- dkde(bimodal, deriv.order = 1) hatf2 <- dkde(bimodal, deriv.order = 2) hatf3 <- dkde(bimodal, deriv.order = 3) @ By default, the function \code{dkde} selects a grid of 512 points in the data range and used the Gaussian kernel. The output is a list containing the estimated values in the points of the grid, this last sequence and the bandwidth $h$ (by default, using unbiased cross-validation method). In Figure \ref{Sec2:fig3} we show the first three derivatives estimators of $f(x)$ obtained with the code: <>= fx <- function(x) 0.5 * dnorm(x,-1.5,0.5) + 0.5 * dnorm(x,1.5,0.5) fx1 <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) fx2 <- function(x) 0.5 * ((-4*x-6)^2 - 4) * dnorm(x,-1.5,0.5) + 0.5 * ((-4*x+6)^2 - 4) * dnorm(x,1.5,0.5) fx3 <- function(x) 0.5 * (-4*x-6) * ((-4*x-6)^2 - 12) * dnorm(x,-1.5,0.5) + 0.5 * (-4*x+6) * ((-4*x+6)^2 - 12) * dnorm(x,1.5,0.5) plot(hatf ,fx = fx) plot(hatf1,fx = fx1) plot(hatf2,fx = fx2) plot(hatf3,fx = fx3) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(hatf,fx = fx,lwd=2,sub="",main="") @ <>= plot(hatf1,fx = fx1,lwd=2,sub="",main="") @ <>= plot(hatf2,fx = fx2,lwd=2,sub="",main="") @ <>= plot(hatf3,fx = fx3,lwd=2,sub="",main="") @ \end{center} \caption{Kernel density derivative estimates obtained with the function \code{dkde}. (top left) density estimate $\hat{f}_{h}(x)$. (top right) first derivative $\hat{f}^{(1)}_{h}(x)$. (bottom left) second derivative $\hat{f}^{(2)}_{h}(x)$. (bottom right) third derivative $\hat{f}^{(3)}_{h}(x)$.}\label{Sec2:fig3} \end{figure} \section{Bandwidth selections}\label{Sec3} Despite the great number of bandwidth selection techniques in kernel density estimator or regression estimation, as for example \cite{Rudemo1982,Bowman1984,ScottandGeorge1987,SheatherandJones1991,Chiu1991a,Chiu1991b,Chiu1992,FeluchandKoronacki1992,Stute1992,Jonesetall1996, Sheather2004,DuongandHazelton2003,DuongandHazelton2005,Heidenreichetall2013}, to the best of our knowledge, only few paper have been studied in the context of estimating the $\rth$ derivative of a density $f(x)$, see \citet{PeterandMarron1987,Wolfgangetall1990,JonesandKappenman1991,Stoker1993}. In this section we summarize the techniques of cross-validation methods for bandwidth choice in the kernel estimation of the derivatives of a probability density. The practicality of this methods is demonstrated by an example. \subsection{Optimal bandwidth} We Consider the following $\AMISE$ version of the $\rth$ derivative of a probability density $f(x)$ \cite[p. 131]{Scott1992}: \begin{equation}\label{Sec3:eq1} \AMISE(h,r)= \frac{\RK}{nh^{2r+1}} + \frac{1}{4} h^{4} \M2^{2}(K) \RR\left(f^{(r+2)}\right) \end{equation} The optimal bandwidth minimizing \eqref{Sec3:eq1} is: \begin{equation}\label{Sec3:eq2} h^{\ast} = \left[\frac{(2r+1)\RK}{\M2^{2}(K) \RR\left(f^{(r+2)}\right)}\right]^{1/(2r+5)} n^{-1/(2r+5)} \end{equation} whereof: \begin{equation}\label{Sec3:eq3} \AMISE(h,r) = \frac{2r+5}{4} \RK^{\frac{4}{(2r+5)}} \left[ \frac{\M2^{2}(K) \RR\left(f^{(r+2)}\right)}{2r+1} \right]^{\frac{2r+1}{2r+5}} n^{-\frac{4}{2r+5}} \end{equation} which is the smallest possible $\AMISE$ for estimation of $\hat{f}^{(r)}_{h}$. The function \code{h.amise} provides the optimal bandwidth under $\AMISE$. The same possibilities for the kernel function as in the function \code{dkde} appear here. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab1}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq2}).\\ \code{amise} & The $\AMISE$ value (Equation \ref{Sec3:eq3}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.amise}.}\label{Sec3:Tab1} \end{table}\\ The following example computes this bandwidth for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.amise(bimodal, deriv.order = 0) h.amise(bimodal, deriv.order = 1) h.amise(bimodal, deriv.order = 2) h.amise(bimodal, deriv.order = 3) @ \subsection{Maximum likelihood cross-validation} This method was proposed by \cite{Habbema1974} and \cite{Duin1976}. They proposed to choose $h$ so that the pseudo-likelihood $\prod_{i=1}^{n} \hat{f}_{h}(X_{i})$ is maximized. However this has a trivial maximum at $h = 0$, so the cross-validation principle is invoked by replacing $\hat{f}_{h}(x)$ by the leave-one-out $\hat{f}_{h,i}(x)$, where: $$\hat{f}_{h,i}(X_{i}) = \frac{1}{(n-1) h} \sum_{j \neq i} K\Z$$ Define that $h$ as good which approaches the finite maximum of \begin{equation}\label{Sec3:eq4} h_{mlcv} = \argmax {h > 0} \MLCV(h) \end{equation} \begin{equation}\label{Sec3:eq5} \MLCV(h) = \left(n^{-1} \sum_{i=1}^{n} \log\left[\sum_{j \neq i} K\Z\right]-\log[(n-1)h]\right) \end{equation} The function \code{h.mlcv} computed the maximum likelihood cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab2}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq4}).\\ \code{mlcv} & The $\MLCV$ value (Equation \ref{Sec3:eq5}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.mlcv}.}\label{Sec3:Tab2} \end{table}\\ The following example computes this bandwidth of bimodal Gaussian density (Equation \ref{Sec2:eq2}), by different kernels. <>= kernels <- eval(formals(h.mlcv.default)$kernel) hmlcv <- numeric() for(i in 1:length(kernels)) hmlcv[i] <- h.mlcv(bimodal, kernel = kernels[i])$h @ <>= data.frame(kernels,hmlcv) @ The plot of the maximal likelihood cross validation function $\MLCV$ is shown in Figure \ref{Sec3:fig1} for Gaussian kernel in the left, and Epanechnikov kernel in the right, obtained with the code: <>= plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50)) plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50),sub="",main="") @ <>= plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50),sub="",main="") @ \end{center} \caption{$\MLCV$ function obtained by \code{h.mlcv}, using Gaussian kernel (Left) and Epanechnikov kernel (Right).}\label{Sec3:fig1} \end{figure} \subsection{Unbiased cross-validation} \cite{Rudemo1982} and \cite{Bowman1984} proposed a so-called unbiased (least-squares) cross-validation ($\UCV$) in kernel density estimator, is probably the most popular and best studied one. An adaptation of unbiased cross-validation is proposed by \cite{Wolfgangetall1990} for bandwidth choice in the $\rth$ derivative of kernel density estimator. The essential idea of this methods, it aims to estimate $h$ the minimizer of $\ISE(h)$. The minimization criterion is defined by: \begin{equation}\label{Sec3:eq6} h_{ucv} = \argmin {h > 0 }\UCV(h,r) \end{equation} \begin{equation}\label{Sec3:eq7} \UCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \Sum2 \left(\ConvKr -2 K^{(2r)}\right)\Z \end{equation} In general, cross-validation functions in non-parametric bandwidth selection present several local minima. These minima are more likely to appear at too small values of the bandwidth \citep{PeterandMarron1991}. The function \code{h.ucv} computes the unbiased cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab3}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq6}).\\ \code{min.ucv} & The minimal $\UCV$ value (Equation \ref{Sec3:eq7}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.ucv}.}\label{Sec3:Tab3} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.ucv(bimodal, deriv.order = 0) h.ucv(bimodal, deriv.order = 1) h.ucv(bimodal, deriv.order = 2) h.ucv(bimodal, deriv.order = 3) @ The plot of $\UCV$ function obtained with the code (Figure \ref{Sec3:fig2}): <>= for (i in 0:3) plot(h.ucv(bimodal, deriv.order = i)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.ucv(bimodal, deriv.order = 0),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 1),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 2),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 3),sub="",main="") @ \end{center} \caption{$\UCV$ function obtained by \code{h.ucv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig2} \end{figure} \subsection{Biased cross-validation} Biased cross-validation was proposed by \cite{ScottandGeorge1987}, which has as its immediate target the $\AMISE$ \eqref{Sec3:eq1}. They proposed to estimate $\RR\left(f^{(r+2)}\right)$ by! $$\hat{\RR}\left(f^{(r+2)}\right) = \RR\left(\hat{f}^{(r+2)}_{h}\right) - \frac{\RR\left(K^{(r+2)}\right)}{nh^{2r+5}}$$ There are two versions of $\BCV$, depending on the estimator of $\RR\left(f^{(r+2)}\right)$. We can use \citep{ScottandGeorge1987} $$\hat{\RR}\left(f^{(r+2)}\right) = \frac{(-1)^{r+2}}{n(n-1)h^{2r+5}} \Sum2 K^{(r+2)} \ast K^{(r+2)} \Z$$ or we could use \citep{JonesandKappenman1991} $$\hat{\RR}\left(f^{(r+2)}\right) = \frac{(-1)^{r+2}}{n(n-1) h^{2r+5}} \Sum2 K^{(2r+4)} \Z$$ From this we obtain respectively an adaptation of biased cross-validation for bandwidth choice in the $\rth$ derivative of kernel density estimator, is given by: \begin{equation}\label{Sec3:eq8} \BCV_{1}(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{\M2^{2}(K)}{4} \frac{(-1)^{r+2}}{n(n-1)h^{2r+1}} \Sum2 K^{(r+2)} \ast K^{(r+2)} \Z \end{equation} \begin{equation}\label{Sec3:eq9} \BCV_{2}(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{\M2^{2}(K)}{4} \frac{(-1)^{r+2}}{n(n-1)h^{2r+1}} \Sum2 K^{(2r+4)} \Z \end{equation} The $\BCV$ selectors $h_{bcv_{1}}$ and $h_{bcv_{2}}$ are the minimisers of the appropriate $\BCV$ function. The function \code{h.bcv} computes the biased cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab4}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{whichbcv} & Method selected, \code{1 = BCV1} or \code{2 = BCV2}, by default \code{BCV1}. \\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.bcv} & The minimal $\BCV$ value (Equation \ref{Sec3:eq8} or \ref{Sec3:eq9}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.bcv}.}\label{Sec3:Tab4} \end{table}\\ The following example computes the bandwidth parameter by this method for kernel estimator of Equation \eqref{Sec2:eq2} and its first derivative estimators. <>= h.bcv(bimodal, whichbcv = 1, deriv.order = 0) h.bcv(bimodal, whichbcv = 2, deriv.order = 0) h.bcv(bimodal, whichbcv = 1, deriv.order = 1, lower=0.1, upper=0.8) h.bcv(bimodal, whichbcv = 2, deriv.order = 1, lower=0.1, upper=0.8) @ The plot of $\BCV$ function obtained with the code \code{h.bcv} (Figure \ref{Sec3:fig3}): <>= ## deriv.order = 0 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) ## deriv.order = 1 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws = seq(0.1,0.8,length=50)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) @ <>= plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws=seq(0.1,0.8,length=50),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) @ \end{center} \caption{$\BCV$ function obtained by \code{h.bcv}. (Left) $\BCV_{1}$ vs $\BCV_{2}$ (\code{deriv.order = 0}). (Right) $\BCV_{1}$ vs $\BCV_{2}$ (\code{deriv.order = 1}).}\label{Sec3:fig3} \end{figure} \subsection{Complete cross-validation} \cite{JonesandKappenman1991} proposed a so-called complete cross-validation ($\CCV$) in kernel density estimator. This method can be extended to the estimation of derivative of the density, basing our estimate of integrated squared density derivative \citep{PeterandMarron1987} we get the following. Thus, $h_{ccv}$, say, is the $h$ that minimises: \begin{equation}\label{Sec3:eq10} \CCV(h,r) = \RR\left(\hatf\right) -\bar{\theta}_{r}(h) + \frac{1}{2}\M2(K) h^{2} \bar{\theta}_{r+1}(h)+ \frac{1}{24}\left(6\M2^{2}(K) -\delta(K)\right) h^{4}\bar{\theta}_{r+2}(h) \end{equation} where, $$\RR\left(\hatf\right) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \Sum2 \ConvKr \Z$$ and $$\bar{\theta}_{r}(h)= \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 K^{(2r)} \Z$$ with : $\delta(K) = \Intr x^{4} K(x) dx$.\\ The function \code{h.ccv} computes the complete cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab5}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.ccv} & The minimal $\CCV$ value (Equation \ref{Sec3:eq10}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.ccv}.}\label{Sec3:Tab5} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. This time we set Over-smoothing in \code{upper = 0.5}. <>= h.ccv(bimodal, deriv.order = 0, upper = 0.5) h.ccv(bimodal, deriv.order = 1, upper = 0.5) h.ccv(bimodal, deriv.order = 2, upper = 0.5) h.ccv(bimodal, deriv.order = 3, upper = 0.5) @ The plot of $\CCV$ function obtained with the code (Figure \ref{Sec3:fig4}): <>= for (i in 0:3) plot(h.ccv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.ccv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ \end{center} \caption{$\CCV$ function obtained by \code{h.ccv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig4} \end{figure} \subsection{Modified cross-validation} \cite{Stute1992} proposed a so-called modified cross-validation ($\MCV$) in kernel density estimator. This method can be extended to the estimation of derivative of a probability density, the essential idea based on approximated the problematic term by the aid of the Hajek projection. The minimization criterion is defined by: \begin{equation}\label{Sec3:eq11} \MCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 \varphi^{(r)} \Z \end{equation} where$$ \varphi^{(r)} (c) = \left(\ConvKr - K^{(2r)} - \frac{\M2(K)}{2} K^{(2r+2)} \right)(c)$$ The function \code{h.mcv} computes the modified cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab6}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.mcv} & The minimal $\MCV$ value (Equation \ref{Sec3:eq11}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.mcv}.}\label{Sec3:Tab6} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. We set Over-smoothing in \code{upper = 0.5}. <>= h.mcv(bimodal, deriv.order = 0, upper = 0.5) h.mcv(bimodal, deriv.order = 1, upper = 0.5) h.mcv(bimodal, deriv.order = 2, upper = 0.5) h.mcv(bimodal, deriv.order = 3, upper = 0.5) @ The plot of $\MCV$ function obtained with the code (Figure \ref{Sec3:fig5}): <>= for (i in 0:3) plot(h.mcv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.mcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ \end{center} \caption{$\MCV$ function obtained by \code{h.mcv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig5} \end{figure} \subsection{Trimmed cross-validation} \cite{FeluchandKoronacki1992} proposed a so-called trimmed cross-validation ($\TCV$) in kernel density estimator, a simple modification of the unbiased (least-squares) cross-validation criterion \eqref{Sec3:eq7}. We consider the following "trimmed" version of "unbiased", to be minimized with respect to $h$: \begin{equation}\label{Sec3:eq12} \TCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 \varphi^{(r)} \Z \end{equation} where$$ \varphi^{(r)} (c) = \left[\ConvKr - 2 K^{(2r)} 1\left(|c| > \frac{c_{n}}{h^{2r+1}}\right) \right](c)$$ $1(.)$ denotes the indicator function and $c_{n}$ is a sequence of positive constants, as $\lim_{n \to \infty} c_{n}/h \rightarrow 0$, here we take $c_{n} = 1/n$, for assure the convergence. The function \code{h.tcv} computes the trimmed cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab7}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.tcv} & The minimal $\TCV$ value (Equation \ref{Sec3:eq12}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.tcv}.}\label{Sec3:Tab7} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.tcv(bimodal, deriv.order = 0) h.tcv(bimodal, deriv.order = 1) h.tcv(bimodal, deriv.order = 2) h.tcv(bimodal, deriv.order = 3) @ The plot of $\TCV$ function obtained with the code (Figure \ref{Sec3:fig6}): <>= for (i in 0:3) plot(h.tcv(bimodal, deriv.order = i)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.tcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 1),seq.bws=seq(0.3,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 2),seq.bws=seq(0.5,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 3),seq.bws=seq(0.5,1.5,length=50),sub="",main="") @ \end{center} \caption{$\TCV$ function obtained by \code{h.tcv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig6} \end{figure} \vspace{3cm} \section{Summary} We have implemented in \texttt{R} the estimators of the defined functions and the bandwidth selection procedures of the above sections. The package \pkg{kedd} contains seven functions, in Table \ref{Sec4:Tab1} we can find a summary of the contents of the package. The current feature set of the package can be split in four main categories: compute the convolutions and derivatives of a kernel function, compute the kernel estimators for a density of probability and its derivatives, computing the bandwidth selectors with different methods, displaying the kernel estimators and selection functions of the bandwidth. Moreover, the package follows the general \texttt{R} philosophy of working with model objects. This means that instead of merely returning, say, a kernel estimator of $\rth$ derivative of a density, many functions will return an object containing, it's functions are S3 classes (\code{S3method}). The object can then be manipulated at one’s will using various extraction, summary or plotting functions. Whenever possible, we develop a graphical user interface of the various functions of a coherent whole, to facilitate the use of this package. \begin{table}[!ht] \begin{center} {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Function & Description \\ \hline \code{dkde} & Derivatives of kernel density estimator, as defined in Equation \ref{Sec2:eq1}.\\ \code{h.amise} & $\AMISE$ for optimal bandwidth selectors (Equation \ref{Sec3:eq3}). \\ \code{h.mlcv} & Maximum-likelihood cross-validation bandwidth selection (Equation \ref{Sec3:eq5}).\\ \code{h.ucv} & Unbiased cross-validation bandwidth selection (Equation \ref{Sec3:eq7}).\\ \code{h.bcv} & Biased cross-validation bandwidth selection (Equations \ref{Sec3:eq8} and \ref{Sec3:eq9}) .\\ \code{h.ccv} & Complete cross-validation bandwidth selection (Equation \ref{Sec3:eq10}).\\ \code{h.mcv} & Modified cross-validation bandwidth selection (Equation \ref{Sec3:eq11}).\\ \code{h.tcv} & Trimmed cross-validation bandwidth selection (Equation \ref{Sec3:eq12}).\\ \hline\hline \end{tabular} } \end{center} \caption{Summary of contents of the package.}\label{Sec4:Tab1} \end{table} \begin{thebibliography}{1} \expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi \expandafter\ifx\csname url\endcsname\relax \def\url#1{{\tt #1}}\fi \bibitem[Alekseev, 1972]{Alekseev} Alekseev, V. G. (1972). \newblock Estimation of a probability density function and its derivatives. \newblock \emph{Mathematical notes of the Academy of Sciences of the USSR}. \textbf{12}(5), 808--811. \bibitem[Alexandre, 2009]{Alexandre} Alexandre, B. T. (2009). \newblock \emph{Introduction to Nonparametric Estimation}. \newblock Springer-Verlag, New York. \bibitem[Bhattacharya, 1967]{Bhattacharya} Bhattacharya, P. K. (1967). \newblock Estimation of a probability density function and Its derivatives. \newblock \emph{Sankhya: The Indian Journal of Statistics, Series A}, \textbf{29}, 373--382. \bibitem[Bowman, 1984]{Bowman1984} Bowman, A. W. (1984). \newblock An alternative method of cross-validation for the smoothing of kernel density estimates. \newblock \emph{Biometrika}, \textbf{71}, 353--360. \bibitem[Bowman and Azzalini, 1997]{Bowman} Bowman, A. W. and Azzalini, A. (1997). \newblock \emph{Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations}. \newblock Oxford University Press, Oxford. \bibitem[Bowman and Azzalini, 2013]{smarticle} Bowman, A. W. and Azzalini, A. (2013). \newblock \texttt{R} package \pkg{sm}: nonparametric smoothing methods (version 2.2-5). \newblock \url{http://www.stats.gla.ac.uk/~adrian/sm, http://azzalini.stat.unipd.it/Book_sm} \bibitem[Chiu, 1991a]{Chiu1991a} Chiu, S.T. (1991a). \newblock Some stabilized bandwidth selectors for nonparametric regression. \newblock \emph{Ann. Stat.} \textbf{19}, 1528--1546. \bibitem[Chiu, 1991b]{Chiu1991b} Chiu, S.T. (1991b). \newblock Bandwidth selection for kernel density estimation. \newblock \emph{Ann. Stat.} \textbf{19}, 1883--1905. \bibitem[Chiu, 1992]{Chiu1992} Chiu, S.T. (1992). \newblock An automatic bandwidth selector for kernel density estimation. \newblock \emph{Biometrika}, \textbf{79}, 771--782. \bibitem[Duong, 2007]{ks} Duong, T. (2007). \newblock \pkg{ks}: {K}ernel density estimation and kernel discriminant analysis for multivariate data in \texttt{R}. \newblock {\em Journal of Statistical Software}. \textbf{21}(7). \bibitem[Duong and Hazelton, 2005]{DuongandHazelton2005} Duong, T. and Hazelton, M.L. (2005). \newblock Cross-validation bandwidth matrices for multivariate kernel density estimation. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{32}, 485--506. \bibitem[Duong and Hazelton, 2003]{DuongandHazelton2003} Duong, T. and Hazelton, M.L. (2003). \newblock Plug-in bandwidth selectors for bivariate kernel density estimation. \newblock \emph{Journal of Nonparametric Statistics}, \textbf{15}, 17--30. \bibitem[Duong and Matt, 2013]{feature} Duong, T. and Matt, W. (2013). \newblock \pkg{feature}: Feature significance for multivariate kernel density estimation. \newblock \texttt{R} package version 1.2.9. \newblock \url{http://CRAN.R-project.org/package=feature} \bibitem[Duin (1976)]{Duin1976} Duin, R. P. W. (1976). \newblock On the choice of smoothing parameters of Parzen estimators of probability density functions. \newblock \emph{IEEE Transactions on Computers}, \textbf{C-25}, 1175--1179. \bibitem[Feluch and Koronacki, 1992]{FeluchandKoronacki1992} Feluch, W. and Koronacki, J. (1992). \newblock A note on modified cross-validation in density estimation. \newblock \emph{Computational Statistics and Data Analysis}, \textbf{13}, 143--151. \bibitem[Guidoum, 2015]{kedd} Guidoum, A. C. (2015). \newblock \pkg{kedd}: Kernel estimator and bandwidth selection for density and its derivatives. \newblock \texttt{R} package version 1.0.3. \newblock \url{http://CRAN.R-project.org/package=kedd} \bibitem[Habbema, Hermans and Van den Broek (1974)]{Habbema1974} Habbema, J. D. F., Hermans, J., and Van den Broek, K. (1974). \newblock A stepwise discrimination analysis program using density estimation. \newblock \emph{Compstat 1974: Proceedings in Computational Statistics}. Physica Verlag, Vienna. \bibitem[Heidenreich et all, 2013]{Heidenreichetall2013} Heidenreich, N. B., Schindler, A. and Sperlich, S. (2013). \newblock Bandwidth selection for kernel density estimation: a review of fully automatic selectors. \newblock \emph{Advances in Statistical Analysis}. \bibitem[Jeffrey, 1996]{Jeffrey} Jeffrey, S. S. (1996). \newblock \emph{Smoothing Methods in Statistics}. \newblock Springer-Verlag, New York. \bibitem[Jones and Kappenman, 1991]{JonesandKappenman1991} Jones, M. C. and Kappenman, R. F. (1991). \newblock On a class of kernel density estimate bandwidth selectors. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{19}, 337--349. \bibitem[Jones et all, 1996]{Jonesetall1996} Jones, M. C., Marron, J. S. and Sheather,S. J. (1996). \newblock A brief survey of bandwidth selection for density estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{91}, 401--407. \bibitem[Olver et all, 2010]{Olver} Olver, F. W., Lozier, D. W., Boisvert, R. F. and Clark, C. W. (2010). \newblock \emph{NIST Handbook of Mathematical Functions}. \newblock Cambridge University Press, New York, USA. \bibitem[Peter and Marron, 1987]{PeterandMarron1987} Peter, H. and Marron, J.S. (1987). \newblock Estimation of integrated squared density derivatives. \newblock \emph{Statistics and Probability Letters}, \textbf{6}, 109--115. \bibitem[Peter and Marron, 1991]{PeterandMarron1991} Peter, H. and Marron, J.S. (1991). \newblock Local minima in cross-validation functions. \newblock \emph{Journal of the Royal Statistical Society, Series B}, \textbf{53}, 245--252. \bibitem[\texttt{R} Development Core Team (2015)]{R} R Development Core Team (2015). \newblock {\em \texttt{R}: A Language and Environment for Statistical Computing}. \newblock Vienna, Austria. \newblock \url{http://www.R-project.org/} \bibitem[Rudemo, 1982]{Rudemo1982} Rudemo, M. (1982). \newblock Empirical choice of histograms and kernel density estimators. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{9}, 65--78. \bibitem[Schuster, 1969]{Schuster} Schuster, E. F. (1969). \newblock Estimation of a probability density function and its derivatives. \newblock \emph{The Annals of Mathematical Statistics}, \textbf{40}(4), 1187--1195. \bibitem[Scott, 1992]{Scott1992} Scott, D. W. (1992). \newblock \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. \newblock New York: Wiley. \bibitem[Scott and George, 1987]{ScottandGeorge1987} Scott, D.W. and George, R. T. (1987). \newblock Biased and unbiased cross-validation in density estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{82}, 1131--1146. \bibitem[Sheather, 2004]{Sheather2004} Sheather, S. J. (2004). \newblock Density estimation. \newblock \emph{Statistical Science}, \textbf{19}, 588--597. \bibitem[Sheather and Jones, 1991]{SheatherandJones1991} Sheather, S. J. and Jones, M. C. (1991). \newblock A reliable data-based bandwidth selection method for kernel density estimation. \newblock \emph{Journal of the Royal Statistical Society, Series B}, \textbf{53}, 683--690. \bibitem[Silverman, 1986]{Silverman} Silverman, B. W. (1986). \newblock \emph{Density Estimation for Statistics and Data Analysis}. \newblock Chapman \& Hall/CRC. London. \bibitem[Singh, 1977]{Singh1977} Singh, R. S. (1990). \newblock Applications of estimators of a density and its derivatives\textbf{39}(3), 357--363. \bibitem[Stoker, 1993]{Stoker1993} Stoker, T. M. (1993). \newblock Smoothing bias in density derivative estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{88}, 855--863. \bibitem[Stute, 1992]{Stute1992} Stute, W. (1992). \newblock Modified cross validation in density estimation. \newblock \emph{Journal of Statistical Planning and Inference}, \textbf{30}, 293--305. \bibitem[Tristen and Jeffrey, 2008]{np} Tristen, H. and Jeffrey, S. R. (2008). \newblock Nonparametric Econometrics: The \pkg{np} Package. \newblock {\em Journal of Statistical Software}. \textbf{27 (5)}. \bibitem[Wand and Jones, 1995]{WandandJones} Wand, M. P. and Jones, M. C. (1995). \newblock \emph{Kernel Smoothing}. \newblock Chapman and Hall, London. \bibitem[Wand and Ripley, 2013]{KernSmooth} Wand, M.P. and Ripley, B. D. (2013). \newblock \pkg{KernSmooth}: Functions for kernel smoothing for Wand and Jones (1995). \newblock \texttt{R} package version 2.23-10. \newblock \url{http://CRAN.R-project.org/package=KernSmooth} \bibitem[Wolfgang, 1991]{Wolfgang} Wolfgang, H. (1991). \newblock \emph{Smoothing Techniques, With Implementation in S}. \newblock Springer-Verlag, New York. \bibitem[Wolfgang et all, 1990]{Wolfgangetall1990} Wolfgang, H., Marron, J. S. and Wand, M. P. (1990). \newblock Bandwidth choice for density derivatives. \newblock \emph{Journal of the Royal Statistical Society, Series B}, 223--232. \bibitem[Wolfgang et all, 2004]{Wolfgangetall} Wolfgang, H., Marlene, M., Stefan, S. and Axel, W. (2004). \newblock \emph{Nonparametric and Semiparametric Models}. \newblock Springer-Verlag, Berlin Heidelberg. \bibitem[Venables and Ripley, 2002]{VenablesandRipley} Venables, W. N. and Ripley, B. D. (2002). \newblock \emph{Modern Applied Statistics with S}. \newblock New York: Springer. \end{thebibliography} \end{document}kedd/inst/doc/intro.Rnw0000644000176200001440000001105512614740640014534 0ustar liggesusers\documentclass{article} \usepackage{graphicx} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage[utf8]{inputenc} \usepackage{authblk} \usepackage{hyperref} \usepackage[english]{babel} \usepackage[scaled=0.9]{helvet} \usepackage[sc]{mathpazo} \usepackage{Sweave} \usepackage{color} \definecolor{link}{rgb}{0.45,0.51,0.67} \hypersetup{ colorlinks,% citecolor=link,% filecolor=link,% linkcolor=link,% urlcolor=link } %% load any required packages here \renewcommand{\today}{\begingroup \number \day\space \ifcase \month \or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space \number \year \endgroup} \def\rth{r^{th}} \let\code=\texttt \let\proglang=\texttt \let\pkg=\texttt \newcommand{\CRANpkg}[1]{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}}% \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \let\cpkg=\CRANpkg \bibliographystyle{plainnat} %\VignetteIndexEntry{Introduction to kedd} %\VignettePackage{kedd} \begin{document} \title{\bfseries Introduction to \pkg{kedd}} \author{by Arsalane Chouaib Guidoum\thanks{Department of Probabilities \& Statistics.\\Faculty of Mathematics. \\University of Science and Technology Houari Boumediene.\\ BP 32 El-Alia, U.S.T.H.B, Algeria.\\ \email{acguidoum@usthb.dz}}} \date{\today} \maketitle \section{Introduction} \pkg{kedd} \citep{kedd} is a package providing additional smoothing techniques to the \texttt{R} statistical system. Although various packages on the Comprehensive \texttt{R} Archive Network (CRAN) provide functions useful to nonparametric statistics, \pkg{kedd} aims to serve as a central location for more specifically of a nonparametric functions and data sets. The project was officially launched in December 2012 and is under active development. The current feature set of the package can be split in four main categories: compute the convolutions and derivatives of a kernel function, compute the kernel estimators for a density of probability and its derivatives, computing the bandwidth selectors with different methods, displaying the kernel estimators and selection functions of the bandwidth. Moreover, the package follows the general \texttt{R} philosophy of working with model objects. This means that instead of merely returning, say, a kernel estimator of $\rth$ derivative of a density, many functions will return an object containing, it's functions are S3 classes (\code{S3method}). The object can then be manipulated at one’s will using various extraction, summary or plotting functions. Whenever possible, we develop a graphical user interface of the various functions of a coherent whole, to facilitate the use of this package. \section{Documentation} It is a requirement of the \texttt{R} packaging system that every function and data set in a package has a help page. The \pkg{kedd} package follows this requirement strictly. In addition to the help pages, the package includes vignettes and demonstration scripts; running <>= vignette(package = "kedd") @ and <>= demo(package = "kedd") @ at the \texttt{R} prompt will give the list of each. \section{Requirements} \texttt{R} version >= 2.15.0. \section{Licence} This package and its documentation are usable under the terms of the "GNU General Public License", a copy of which is distributed with the package. \section{Collaboration and citation} Obviously, the package leaves many other fields of nonparametric statistics untouched. For this situation to change, we hope that experts in their field will join their efforts to ours and contribute code to the \pkg{kedd} project. The project will continue to grow and to improve by and for the community of developers and users. If you use \pkg{kedd} for smoothing techniques and computing bandwidth selectors of the $\rth$ derivative of a probability density, please cite the software in publications. Use <>= citation() @ or <>= citation("kedd") @ for information on how to cite the software. \section*{Note} Please send comments, error reports, etc. to the author via the addresses email. \begin{thebibliography}{1} \expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi \expandafter\ifx\csname url\endcsname\relax \def\url#1{{\tt #1}}\fi \bibitem[Guidoum, 2015]{kedd} Guidoum, A. C. (2015). \newblock \pkg{kedd}: Kernel estimator and bandwidth selection for density and its derivatives. \newblock \texttt{R} package version 1.0.3. \newblock \url{http://CRAN.R-project.org/package=kedd} \end{thebibliography} \end{document} kedd/NAMESPACE0000644000176200001440000000317512614740640012412 0ustar liggesusersimportFrom("graphics", "curve", "legend", "lines.default","plot.default") importFrom("stats", "D", "dnorm", "integrate", "optimize", "sd") export(kernel.fun,kernel.fun.default,kernel.conv,kernel.conv.default,plot.kernel.fun,plot.kernel.conv, dkde,dkde.default,print.dkde,plot.dkde,lines.dkde, h.bcv,h.bcv.default,print.h.bcv,plot.h.bcv,lines.h.bcv, h.ucv,h.ucv.default,print.h.ucv,plot.h.ucv,lines.h.ucv, h.ccv,h.ccv.default,print.h.ccv,plot.h.ccv,lines.h.ccv, h.amise,h.amise.default,print.h.amise,plot.h.amise,lines.h.amise, h.mcv,h.mcv.default,print.h.mcv,plot.h.mcv,lines.h.mcv, h.mlcv,h.mlcv.default,print.h.mlcv,plot.h.mlcv,lines.h.mlcv, h.tcv,h.tcv.default,print.h.tcv,plot.h.tcv,lines.h.tcv) S3method(kernel.fun, default) S3method(kernel.conv, default) S3method(dkde, default) S3method(h.bcv, default) S3method(h.ucv, default) S3method(h.ccv, default) S3method(h.amise, default) S3method(h.mcv, default) S3method(h.mlcv, default) S3method(h.tcv, default) S3method(plot, kernel.fun) S3method(plot, kernel.conv) S3method(plot, dkde) S3method(plot, h.bcv) S3method(plot, h.ucv) S3method(plot, h.ccv) S3method(plot, h.amise) S3method(plot, h.mcv) S3method(plot, h.mlcv) S3method(plot, h.tcv) S3method(lines, dkde) S3method(lines, h.bcv) S3method(lines, h.ucv) S3method(lines, h.ccv) S3method(lines, h.amise) S3method(lines, h.mcv) S3method(lines, h.mlcv) S3method(lines, h.tcv) S3method(print, dkde ) S3method(print, h.bcv) S3method(print, h.ucv) S3method(print, h.ccv) S3method(print, h.amise) S3method(print, h.mcv) S3method(print, h.mlcv) S3method(print, h.tcv) kedd/demo/0000755000176200001440000000000012614740636012116 5ustar liggesuserskedd/demo/kedd.R0000644000176200001440000002152512614740636013155 0ustar liggesusers############################################################################ # EXAMPLE 1: # # Simple example for a Gaussian density derivative # ############################################################################ x <- rnorm(100) SD0 <- dkde(x,deriv.order=0) SD1 <- dkde(x,deriv.order=1) SD2 <- dkde(x,deriv.order=2) SD3 <- dkde(x,deriv.order=3) dev.new() par(mfrow=c(2,2)) plot(SD0) plot(SD1) plot(SD2) plot(SD3) ############################################################################ # EXAMPLE 2 # # Trimodal Gaussian density derivative # # Computing bandwidths with UCV methods # ############################################################################ data(trimodal) h.ucv(trimodal,deriv.order=0,kernel="gaussian") h.ucv(trimodal,deriv.order=1,kernel="gaussian") h.ucv(trimodal,deriv.order=2,kernel="gaussian") h.ucv(trimodal,deriv.order=3,kernel="gaussian") ############################################################################ # Example 3 # # Computing bandwidths with BCV methods different kernels # # derivative order = 0 # ############################################################################ data(outlier) h.bcv(outlier,deriv.order=0,kernel="gaussian") h.bcv(outlier,deriv.order=0,kernel="triweight") h.bcv(outlier,deriv.order=0,kernel="tricube") h.bcv(outlier,deriv.order=0,kernel="biweight") h.bcv(outlier,deriv.order=0,kernel="cosine") ############################################################################ # derivative order = 1 # ############################################################################ h.bcv(outlier,deriv.order=1,kernel="gaussian") h.bcv(outlier,deriv.order=1,kernel="triweight") h.bcv(outlier,deriv.order=1,kernel="tricube") h.bcv(outlier,deriv.order=1,kernel="biweight") h.bcv(outlier,deriv.order=1,kernel="cosine") ############################################################################ # derivative order = 2 # ############################################################################ h.bcv(outlier,deriv.order=2,kernel="gaussian") h.bcv(outlier,deriv.order=2,kernel="triweight") h.bcv(outlier,deriv.order=2,kernel="tricube") h.bcv(outlier,deriv.order=2,kernel="biweight") h.bcv(outlier,deriv.order=2,kernel="cosine") ############################################################################ # Example 4 # # Bimodal Gaussian density derivative # ############################################################################ fx <- function(x) 0.5 * dnorm(x,-1.5,0.5) + 0.5 * dnorm(x,1.5,0.5) fx1 <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) ############################################################################ # derivative order = 0 # ############################################################################ kernels <- eval(formals(dkde.default)$kernel) dev.new() plot(dkde(bimodal,h=0.3),sub=paste("Derivative order = 0",";", "Bandwidth =0.3 "),ylim=c(0,0.5), main = "Bimodal Gaussian Density") for(i in 2:length(kernels)) lines(dkde(bimodal, h = 0.3, kernel = kernels[i]), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)), lty = c(8,rep(1,length(kernels))),cex=0.7, inset = .015) ############################################################################ # derivative order = 1 # ############################################################################ kernels <- eval(formals(dkde.default)$kernel)[-3] dev.new() plot(dkde(bimodal,deriv.order=1,h=0.6),main = "Bimodal Gaussian Density Derivative",sub=paste ("Derivative order = 1",";","Bandwidth =0.6"),ylim=c(-0.6,0.6)) for(i in 2:length(kernels)) lines(dkde(bimodal,deriv.order=1, h = 0.6, kernel = kernels[i]), col = i) curve(fx1,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)), lty = c(8,rep(1,length(kernels))),cex=0.7, inset = .015) ############################################################################ # Example 5 # # Show the bandwidth selection # # kernel = "gaussian" ; derivative order = 0 # ############################################################################ ############################################################################ # KDE of f (bimodal gaussian density) # ############################################################################ hbcv1 <- h.bcv(x=bimodal,whichbcv = 1,deriv.order = 0)$h hbcv2 <- h.bcv(x=bimodal,whichbcv = 2,deriv.order = 0)$h hucv <- h.ucv(x=bimodal,deriv.order = 0)$h htcv <- h.tcv(x=bimodal,deriv.order = 0)$h hccv <- h.ccv(x=bimodal,deriv.order = 0)$h hmcv <- h.mcv(x=bimodal,deriv.order = 0)$h h0 <- c(hbcv1,hbcv2,hucv,htcv,hccv,hmcv) h0 dev.new() plot(dkde(x=bimodal,deriv.order = 0,h=h0[1]),ylim=c(0,0.5), sub=paste("Kernel Gaussian",";","Derivative order = 0"), main="Bimodal Gaussian density") for(i in 1:length(h0)) lines(dkde(x=bimodal,deriv.order = 0,h=h0[i]), col = i) curve(fx,lty=8,add=TRUE) legend("topright",title="Bandwidth", c("True",expression(h[bcv1]), expression(h[bcv2]),expression(h[ucv]),expression(h[tcv]), expression(h[ccv]),expression(h[mcv])), lty=c(8,rep(1,length(h0))),col= c("black",seq(h0)),inset = .015) ############################################################################ # KDDE of d/dx f (bimodal gaussian density) # ############################################################################ hbcv1 <- h.bcv(x=bimodal,whichbcv = 1,deriv.order = 1,upper=0.5)$h hbcv2 <- h.bcv(x=bimodal,whichbcv = 2,deriv.order = 1,upper=0.5)$h hucv <- h.ucv(x=bimodal,deriv.order = 1)$h htcv <- h.tcv(x=bimodal,deriv.order = 1)$h hccv <- h.ccv(x=bimodal,deriv.order = 1)$h hmcv <- h.mcv(x=bimodal,deriv.order = 1,upper=0.5)$h h1 <- c(hbcv1,hbcv2,hucv,htcv,hccv,hmcv) h1 dev.new() plot(dkde(x=bimodal,deriv.order = 1,h=h1[1]),ylim=c(-0.7,0.7), sub=paste("Kernel Gaussian",";","Derivative order = 1"), main="Bimodal Gaussian density derivative") for(i in 1:length(h1)) lines(dkde(x=bimodal,deriv.order = 1,h=h1[i]), col = i) curve(fx1,lty=8,add=TRUE) legend("topright",title="Bandwidth", c("True",expression(h[bcv1]), expression(h[bcv2]),expression(h[ucv]),expression(h[tcv]), expression(h[ccv]),expression(h[mcv])), lty=c(8,rep(1,length(h1))),col= c("black",seq(h1)),inset = .015) ############################################################################ # Example 6 # # Bimodal Gaussian density derivative # # CCV and MCV plot # # derivative order = 0 # ############################################################################ data(bimodal) dev.new() plot(h.ccv(bimodal),main="CCV vs MCV",ylab="") lines(h.mcv(bimodal),col="red") legend("topright", c("CCV","MCV"),lty=c(1,1),col=c("black","red"), inset = .015) ############################################################################ # derivative order = 1 # ############################################################################ dev.new() plot(h.ccv(bimodal,deriv.order=1),main="CCV vs UCV",ylab="",ylim=c(-0.7,0.3), seq.bws=seq(0.05,1,length=50)) lines(h.ucv(bimodal,deriv.order=1),col="red") legend("topright", c("CCV","UCV"),lty=c(1,1),col=c("black","red"), inset = .015) ############################################################################ # derivative order = 2 # ############################################################################ dev.new() plot(h.ccv(bimodal,deriv.order=2,upper=0.5),seq.bws=seq(0.1,0.6,length=50), main="CCV vs MCV",ylab="") lines(h.ucv(bimodal,deriv.order=2),col="red") legend("topright", c("CCV","UCV"),lty=c(1,1),col=c("black","red"), inset = .015) kedd/demo/00Index0000644000176200001440000000007112614740636013246 0ustar liggesuserskedd More examples on kedd-package kedd/NEWS0000644000176200001440000000057512614740640011673 0ustar liggesusersVersion 1.0.3: 2015-10-30 o Version 1.0.3 released. o Other minor bug fixes: R (>= 3.2.2). Version 1.0.2: 2015-01-28 o Version 1.0.2 released. o Other minor bug fixes: R (>= 3.1.2). Version 1.0.1: 2014-08-18 o Version 1.0.1 released. o Other minor bug fixes: R (>= 2.15.1). kedd/data/0000755000176200001440000000000012614740636012103 5ustar liggesuserskedd/data/bimodal.rda0000644000176200001440000000316612614740636014210 0ustar liggesusers ?T Ǐ1B/<6T./Fwvwv)Qڲ$rKՒlUaKHJ=JtY{6ɝ-;IE͌0\Ι >a!A,B!XfB`;vVͦetd34ZrP<#P6D>(_K -\ G[;_={oNrDR\82ٽfr}"P}:x 1zo*qu RoY$f/ZTN9 6- }RBO OɨJ69ʺ6*?RT[ךQɲ}z䛾7L\6d|i߽i2~ /8^usC( ʾvxf@ʭe)HlVWfueO~]BEv*}@Qо(Wd^MN,p SI.- }h?Nz4׃ \{>aq/ϮnPp[ކt5a|J{pc2U>82"L)r3 4S zT f͵1NB TNV c %l݆.}(96W~$nYniڇbi]SH ;l>TY/q녦:B>:2>{-lBE]C3Y)dnz*l.ܥߘh o6 *'I^nI}e+U;J)CڭL}ӻ>e\_|DDf>>yUu^s=(6- AD_h̎,<i[@/ٰRx=xsE|xST~v(1miŝ~KvQׅLҐl36./\KNUm!Y77r`U"8'EFޏxqh$L<\8:.}!Ev'W-{N __y3 :}Ck@uΡaE.kd">o\jRlnf@ujxˬn"xj'hU?} {mݶ>^)ټh^2LXU!BuKw}2 'NBOPv8JdpyǎXPVVΪc<f&Juji|gDB&10y-S&aX."YGgb`´QB;0#@o80wђd+A6n*1=A̵+@9Dx⁔"0|D'rPhQ_`j*Iq<~eƲV"Իe&EIue_1(GYF_No6sWA~ןS!5F% W(կ՟]R8´c$5J݉Zٝ=( [)$u%liV TLpvkedd/data/claw.rda0000644000176200001440000000315312614740636013523 0ustar liggesusers?ԉgZnE%GT0a:u3喴z"j#͹j睥5a}\㜙c ^TUI$ID&)(O%"H/0kl= MRFp-5@b^n5֚$`]&'đ~r,vNJ m*) o] HMF ^*+Ak1՟>W#>ѝ @箢DԖXPqPH[pðE .QsAZZ_v@nb!+\<{yN=Ɠg3SQй m^}d'C]Eء=W$%-^d>{2L'>npݡEZՍ t&kYt܆Ý[#aH*a+>5ۥ.Caّp}Z,ʭ(ieijzڸ= H>mjpQ{R */-i7<srk_)ԭCqSt kI L? dYS"vDq>0ix(Ƙ!v~@_pXKWP6GQ~<%6FN˻cܾ(~$?gcݡWFb5IJzxU>ȟ >pCYot0ߢrohA("j>G/NN|xyh!ȿ2I,?׾Dp洽?vItfzTh%.C:JaSҟ;T47"y %9*M!А=FN-9z;6nǁ;Ϩ< 'k@¬߭8墓'd C10p5Z{m?Y(UpP9cyS^(Rt8%) A`3|ldف+W(8]=7G M!+@<|nu|mй?6zbZOm7K~`U5zw`Pd ͘8/X1>#:zԽ0{YpyѱvgWO!L>'nr jo~aDu<`ߣՌeӳY|,cGFqRf0+GpG 7'Kݍo2XD-c1x9(ŭ*(q FL8A*##g~XAϳskedd/data/trimodal.rda0000644000176200001440000000317112614740636014410 0ustar liggesusers # ǿ lهx GR:wӖaWf(Hb*g(Gc03z۷nAH9 9BiÊWolYga" gt5\w=4QSYIgg}.k bO(.9Kăɼl.%QNG!}@j):нNz gHt7hx UcP|́Ӓ Oczg_W3@V\j"~+%̑WӰDrs-;)Ė _@|M&f=)ب pFglg&‚ߤ֊"\s=}tId! UaeU "Mo"VnӸ7RFS&W YT@R^HP)8k#$ͭ kNV!4^\2J @Clfl3Us&=J8e;_o 5C]M׷y =n35VZ&5B- DƸBT)eȴũ[ợmJip, G\|`Ibx*cGk?DIS*G,{q琺-'8]T}eԥ(m_w'8Rk} Zhy@?` *QH50p)@{ A{Ч[?~\jV=\^!/q+s";MG(1?  !9u u9Nj 2)0.0_e'0! ~ѣ߽O-o E(Nj7q;azoum4DYFjZJ@i̯jŢߑ_^q Cǰa*>>ÏLPܺBF% ʙlJe2r5i^E= x݌XMz_ (aJ)?Âx 1{GDlɡ|f_޺=nrQk3Cތ^ܤłz;m1h3ub썣tMjQ(.v b˿HD/wp1~N\*ݵ%ZZfy?^j%H k?!޶v8sֺ6'BBwPh=k(3-^UycIDS*NOhtGMf;+Vț,arF'CsP?ԯ*!fb RpX _.  9Ϡݙ<`2[{pE+,SOdyEb\,"ۅzJ)xQcuA \foL Vᓰ_qw0o3HN  846z<:uŕ:mj_Cw՟8gz{,U" E_c }\#}3NVn׎T\01o5[PpN~G o ^aYY@}է. 6f4 =nôS0ٗR9zpCKYRwkedd/data/kurtotic.rda0000644000176200001440000000317012614740636014440 0ustar liggesusers k< V"lIJ.[b9.$\26KI9ϭo܊=Rb Ʉq 1GDYc ?ϧǃcH i(2Hd ;-|;"*L'7Q)5iL"}滦x$$;ԃ*qN_"ܥa|lYp.!y2 pi%|Zf "? WW+lRˑ yT8HQ`i/ މ;(1qxjh긑|y[`dMSA4.o|VWP3!ΧJlEړ4i v,epʱǴ8|pq8šiUkfk lӰ86F84f=MsJ kfFMq_]\^#d(iti]J Rp!v߬oJ,N⺺KپDn2~䆽rǢ@ܞQ9n)c3A.-^ ÑGd܋]BYm>BgeYh Df|QɎu5AX70!j׵TK="?IJ?"[rKp VD+NJJN[^|JhAmӕņN🹗Kq`v}by#ʅMÓaN0~t֢JK2Z?yLV}-X%ElkB [$r]r(gs}t-*zHK 'ݪ vX^rtc'6=/ C~cQ.j\bidVm- #ri5݊mQ bq= >*V; l!٬/0#-R5a I]xj;,"9AX_ AֻzN-5&yfC'·laϙwkedd/data/outlier.rda0000644000176200001440000000316212614740636014260 0ustar liggesusers ;ǥYڑ6<[uX'8LaZK͎K%ƌˌ62.1!%ŰXkUyOz8hhuAP#hvnGqm6y:Rb8{zpcTr0fQD匭%o| ƿ<4W\+ckʙ٬ZdiGGW߻CG{{t/ħe5ɖ x˯`JCd|% fY4% DlckWLfz:@Y=@}\A=9!2o?w6^%2y[lNes$Cj߿B`"K6M{ , c<4H`T춺Pa4]xPighdD7S~pN/!k~y-) bpv:z6Cuz-L5Q^ Yvnmn%>w?qB$6W{SFA 2R6O |lf%Xg&).Aڜ':]5_klS"xאy,^E]%&(XYT.\45t{ݖf`MS MkoiYG\aB|C?U(QXz.R&%D1e3uQRMêڽy5tQzl$a|# J~n<Xscj/p"0wf yq%L >U%cs[hO,L[H9Yh9P௠"+ ±v,J.vJsF)ƾCrYXZPx| ^rW黫!^ot'vYq77~vkedd/R/0000755000176200001440000000000012614740640011366 5ustar liggesuserskedd/R/utils.R0000644000176200001440000013342112614740640012655 0ustar liggesusers## Sat Jul 20 02:11:02 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 3 of the License, or ## (at your option) any later version. ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## A copy of the GNU General Public License is available at ## http://www.r-project.org/Licenses/ ## Unlimited use and distribution (see LICENCE). ## kedd : Kernel estimator and bandwidth selection for density and its derivatives. ################################################################################################### #### #### r(th) derivative of Kernel functions K^r(x) kernel_fun_der <- function(kernel,u,deriv.order=0) { if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (kernel=="gaussian") {Kr <- expression( dnorm(X) )} else if (kernel=="epanechnikov") {Kr <- expression( (3/4)*(1-X^2)) } else if (kernel=="uniform") {Kr <- expression( 0.5 ) } else if (kernel=="triweight") {Kr <- expression( (35/32)*(1-X^2)^3 )} else if (kernel=="biweight") {Kr <- expression( (15/16)*(1-X^2)^2 )} else if (kernel=="cosine") {Kr <- expression( (pi/4)*cos((pi*X)/2) )} else if (kernel=="triangular") {Kr <- expression(1-abs(X));Kr1 <- expression(1-X); Kr2 <- expression(1+X)} else if (kernel=="tricube") {Kr <- expression((70/81)*(1-abs(X)^3)^3);Kr1 <- expression((70/81)*(1-X^3)^3); Kr2 <- expression((70/81)*(1+X^3)^3)} else if (kernel=="silverman") {r <- r%%8;Kr <- expression(0.5*exp(-abs(X)/sqrt(2))*sin((abs(X)/sqrt(2))+0.25*pi));Kr1 <- expression(0.5*exp(-X/sqrt(2)) * sin((X/sqrt(2)) + 0.25*pi)); Kr2 <- expression(0.5*exp(X/sqrt(2)) * sin((-X/sqrt(2)) + 0.25*pi))} if (kernel=="epanechnikov" && r >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order >= 3' ") if (kernel=="uniform" && r >= 1) stop(" 'uniform kernel derivative = 0' for 'order >= 1' ") if (kernel=="triweight" && r >= 7) stop(" 'triweight kernel derivative = 0' for 'order >= 7' ") if (kernel=="biweight" && r >= 5) stop(" 'biweight kernel derivative = 0' for 'order >= 5' ") if (kernel=="triangular" && r >= 2) stop(" 'triangular kernel derivative = 0' for 'order >= 2' ") if (kernel=="tricube" && r >= 10) stop(" 'tricube kernel derivative = 0' for 'order >= 10' ") if (r == 0) {DKr <- Kr if (kernel=="gaussian" || kernel =="silverman"){ K <- function(X) eval(DKr);fx <- K(u)}else{ K <- function(X) eval(DKr)* (X >= -1 & X <= 1);fx <- K(u)} } else { if (kernel=="gaussian"){ if (r == 1){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)/sqrt(pi)} else if (r == 2){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^2-1)/sqrt(pi) } else if (r == 3){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^2-3)/sqrt(pi)} else if (r == 4){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^4-6*u^2+3)/sqrt(pi)} else if (r == 5){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^4-10*u^2+15)/sqrt(pi)} else if (r == 6){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^6-15*u^4+45*u^2-15)/sqrt(pi)} else if (r == 7){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^6-21*u^4+105*u^2-105)/sqrt(pi)} else if (r == 8){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^8-28*u^6+210*u^4-420*u^2+105)/sqrt(pi)} else if (r == 9){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^8-36*u^6+378*u^4-1260*u^2+945)/sqrt(pi)} else if (r == 10){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^10-45*u^8+630*u^6-3150*u^4+4725*u^2-945)/sqrt(pi)} else if (r == 11){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^10-55*u^8+990*u^6-6930*u^4+17325*u^2-10395)/sqrt(pi)} else if (r == 12){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^12-66*u^10+1485*u^8-13860*u^6+51975*u^4-62370*u^2+10395)/sqrt(pi)} else if (r == 13){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^12-78*u^10+2145*u^8-25740*u^6+135135*u^4-270270*u^2+135135)/sqrt(pi)} else if (r == 14){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^14-91*u^12+3003*u^10-45045*u^8+315315*u^6-945945*u^4+945945*u^2-135135)/sqrt(pi)} else if (r == 15){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^14-105*u^12+4095*u^10-75075*u^8+675675*u^6-2837835*u^4+4729725*u^2-2027025)/sqrt(pi)} else if (r == 16){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^16-120*u^14+5460*u^12-120120*u^10+1351350*u^8-7567560*u^6+18918900*u^4-16216200*u^2+2027025)/sqrt(pi)} else if (r == 17){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^16-136*u^14+7140*u^12-185640*u^10+2552550*u^8-18378360*u^6+64324260*u^4-91891800*u^2+34459425)/sqrt(pi)} else if (r == 18){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^18-153*u^16+9180*u^14-278460*u^12+4594590*u^10-41351310*u^8+192972780*u^6-413513100*u^4+310134825*u^2-34459425)/sqrt(pi)} else if (r == 19){fx <- -(1/2)*u*exp(-(1/2)*u^2)*sqrt(2)*(u^18-171*u^16+11628*u^14-406980*u^12+7936110*u^10-87297210*u^8+523783260*u^6-1571349780*u^4+1964187225*u^2-654729075)/sqrt(pi)} else if (r == 20){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^20-190*u^18+14535*u^16-581400*u^14+13226850*u^12-174594420*u^10+1309458150*u^8-5237832600*u^6+9820936125*u^4-6547290750*u^2+654729075)/sqrt(pi)} else if (r == 21){fx <- -(1/2)*exp(-(1/2)*u^2)*sqrt(2)*u*(u^20-210*u^18+17955*u^16-813960*u^14+21366450*u^12-333316620*u^10+3055402350*u^8-15713497800*u^6+41247931725*u^4-45831035250*u^2+13749310575)/sqrt(pi)} else if (r == 22){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^22-231*u^20+21945*u^18-1119195*u^16+33575850*u^14-611080470*u^12+6721885170*u^10-43212118950*u^8+151242416325*u^6-252070693875*u^4+151242416325*u^2-13749310575)/sqrt(pi)} else if (r == 23){fx <- -(1/2)*exp(-(1/2)*u^2)*sqrt(2)*u*(u^22-253*u^20+26565*u^18-1514205*u^16+51482970*u^14-1081142370*u^12+14054850810*u^10-110430970650*u^8+496939367925*u^6-1159525191825*u^4+1159525191825*u^2-316234143225)/sqrt(pi)} else if (r == 24){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^24-276*u^22+31878*u^20-2018940*u^18+77224455*u^16-1853386920*u^14+28109701620*u^12-265034329560*u^10+1490818103775*u^8-4638100767300*u^6+6957151150950*u^4-3794809718700*u^2+316234143225)/sqrt(pi)} else if (r == 25){fx <- -(1/2)*exp(-(1/2)*u^2)*sqrt(2)*u*(u^24-300*u^22+37950*u^20-2656500*u^18+113565375*u^16-3088978200*u^14+54057118500*u^12-602350749000*u^10+4141161399375*u^8-16564645597500*u^6+34785755754750*u^4-31623414322500*u^2+7905853580625)/sqrt(pi)} else if (r == 26){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^26-325*u^24+44850*u^22-3453450*u^20+164038875*u^18-5019589575*u^16+100391791500*u^14-1305093289500*u^12+10767019638375*u^10-53835098191875*u^8+150738274937250*u^6-205552193096250*u^4+102776096548125*u^2-7905853580625)/sqrt(pi)} else if (r == 27){fx <- -(1/2)*exp(-(1/2)*u^2)*sqrt(2)*u*(u^26-351*u^24+52650*u^22-4440150*u^20+233107875*u^18-7972289325*u^16+180705224700*u^14-2710578370500*u^12+26428139112375*u^10-161505294575625*u^8+581419060472250*u^6-1109981842719750*u^4+924984868933125*u^2-213458046676875)/sqrt(pi)} else if (r == 28){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^28-378*u^26+61425*u^24-5651100*u^22+326351025*u^20-12401338950*u^18+316234143225*u^16-5421156741000*u^14+61665657928875*u^12-452214824811750*u^10+2034966711652875*u^8-5179915266025500*u^6+6474894082531875*u^4-2988412653476250*u^2+213458046676875)/sqrt(pi)} else if (r == 29){fx <- -(1/2)*exp(-(1/2)*u^2)*sqrt(2)*u*(u^28-406*u^26+71253*u^24-7125300*u^22+450675225*u^20-18928359450*u^18+539458244325*u^16-10480903032600*u^14+137561852302875*u^12-1192202719958250*u^10+6557114959770375*u^8-21459648959248500*u^6+37554385678684875*u^4-28887988983603750*u^2+6190283353629375)/sqrt(pi)} else if (r == 30){fx <- (1/2)*exp(-(1/2)*u^2)*sqrt(2)*(u^30-435*u^28+82215*u^26-8906625*u^24+614557125*u^22-28392539175*u^20+899097073875*u^18-19651693186125*u^16+294775397791875*u^14-2980506799895625*u^12+19671344879311125*u^10-80473683597181875*u^8+187771928393424375*u^6-216659917377028125*u^4+92854250304440625*u^2-6190283353629375)/sqrt(pi)} else {K <- function(X) (-1)^r * Hermite(X,r) * eval(Kr); fx <- K(u)}} else if (kernel=="cosine"){ if (r%%2==0){ if ((r%/%2)%%2==0){ K <- function(X)( ((-1)^r/2^(r+2))*pi^(r+1)*cos(0.5*pi*X))* (X >= -1 & X <= 1)}else{ K <- function(X)(-((-1)^r/2^(r+2))*pi^(r+1)*cos(0.5*pi*X))* (X >= -1 & X <= 1)}}else{ if ((r%/%2)%%2==0){ K <- function(X)( ((-1)^r/2^(r+2))*pi^(r+1)*sin(0.5*pi*X))* (X >= -1 & X <= 1)}else{ K <- function(X)(-((-1)^r/2^(r+2))*pi^(r+1)*sin(0.5*pi*X))* (X >= -1 & X <= 1)}} fx <- K(u)} else if (kernel=="tricube"){ if (r == 1){fx <- (u < 0 & u >= -1) *((70/9)*(u^3+1)^2*u^2)+ (u >= 0 & u <= 1)*(-(70/9)*(u^3-1)^2*u^2)} else if (r == 2){fx <- (u < 0 & u >= -1) *((560/9)*u^7+(700/9)*u^4+(140/9)*u)+ (u >= 0 & u <= 1)*(-(560/9)*u^7+(700/9)*u^4-(140/9)*u)} else if (r == 3){fx <- (u < 0 & u >= -1) *((3920/9)*u^6+(2800/9)*u^3+(140/9))+ (u >= 0 & u <= 1)*(-(3920/9)*u^6+(2800/9)*u^3-(140/9))} else if (r == 4){fx <- (u < 0 & u >= -1) *((7840/3)*u^5+(2800/3)*u^2)+ (u >= 0 & u <= 1)*(-(7840/3)*u^5+(2800/3)*u^2)} else if (r == 5){fx <- (u < 0 & u >= -1) *((39200/3)*u^4+(5600/3)*u)+ (u >= 0 & u <= 1)*(-(39200/3)*u^4+(5600/3)*u)} else if (r == 6){fx <- (u < 0 & u >= -1) *((156800/3)*u^3+(5600/3))+ (u >= 0 & u <= 1)*(-(156800/3)*u^3+(5600/3))} else if (r == 7){fx <- (u <0 & u >= -1) *(156800*u^2)+ (u >= 0 & u <= 1)*(-156800*u^2)} else if (r == 8){fx <- (u < 0 & u >= -1) *(313600*u)+ (u >= 0 & u <= 1)*( -313600*u)} else if (r == 9){fx <- (u < 0 & u >= -1) *(313600)+ (u >= 0 & u <= 1)*( -313600)}} else if (kernel=="triweight"){ if (r == 1){fx <- (-(105/16)*(u^2-1)^2*u)*(u >= -1 & u <= 1)} else if (r == 2){fx <- (-(525/16)*u^4+(315/8)*u^2-(105/16))*(u >= -1 & u <= 1)} else if (r == 3){fx <- (-(525/4)*u^3+(315/4)*u)*(u >= -1 & u <= 1)} else if (r == 4){fx <- (-(1575/4)*u^2+(315/4))*(u >= -1 & u <= 1)} else if (r == 5){fx <- (-(1575/2)*u)*(u >= -1 & u <= 1)} else if (r == 6){fx <- (-1575/2)*(u >= -1 & u <= 1)}} else if (kernel=="biweight"){ if (r == 1){fx <- (((15/4)*(u^2-1))*u)*(u >= -1 & u <= 1)} else if (r == 2){fx <- ((45/4)*u^2-(15/4))*(u >= -1 & u <= 1)} else if (r == 3){fx <- ((45/2)*u)*(u >= -1 & u <= 1)} else if (r == 4){fx <- (45/2)*(u >= -1 & u <= 1)}} else if (kernel =="triangular"){ if (r == 1){fx <- (u <= 0 & u >= -1) - (u >= 0 & u <= 1)}} else if (kernel=="epanechnikov"){ if (r == 1){fx <- (-(3/2)*u)*(u >= -1 & u <= 1)} else if (r == 2){fx <- (-3/2)*(u >= -1 & u <= 1)}} else if (kernel=="silverman"){ if (r == 1){fx <- (u < 0)*((1/4)*sqrt(2)*exp((1/2)*u*sqrt(2))*(sin(-(1/2)*u*sqrt(2)+(1/4)*pi)-cos(-(1/2)*u*sqrt(2)+(1/4)*pi)))+ (u >= 0)* (-(1/4)*sqrt(2)*exp(-(1/2)*u*sqrt(2))*(sin((1/2)*u*sqrt(2)+(1/4)*pi)-cos((1/2)*u*sqrt(2)+(1/4)*pi)))} else if (r == 2){fx <- (u < 0)*(-(1/2)*exp((1/2)*u*sqrt(2))*cos(-(1/2)*u*sqrt(2)+(1/4)*pi))+ (u >= 0)* (-(1/2)*exp(-(1/2)*u*sqrt(2))*cos((1/2)*u*sqrt(2)+(1/4)*pi))} else if (r == 3){fx <- (u < 0)*(-(1/4)*exp((1/2)*u*sqrt(2))*sqrt(2)*(cos(-(1/2)*u*sqrt(2)+(1/4)*pi)+sin(-(1/2)*u*sqrt(2)+(1/4)*pi)))+ (u >= 0)* ((1/4)*exp(-(1/2)*u*sqrt(2))*sqrt(2)*(cos((1/2)*u*sqrt(2)+(1/4)*pi)+sin((1/2)*u*sqrt(2)+(1/4)*pi)))} else if (r == 4){fx <- (u < 0)*(-(1/2)*exp((1/2)*u*sqrt(2))*sin(-(1/2)*u*sqrt(2)+(1/4)*pi))+ (u >= 0)* (-(1/2)*exp(-(1/2)*u*sqrt(2))*sin((1/2)*u*sqrt(2)+(1/4)*pi))} else if (r == 5){fx <- (u < 0)*(-(1/4)*sqrt(2)*exp((1/2)*u*sqrt(2))*(sin(-(1/2)*u*sqrt(2)+(1/4)*pi)-cos(-(1/2)*u*sqrt(2)+(1/4)*pi)))+ (u >= 0)* ((1/4)*sqrt(2)*exp(-(1/2)*u*sqrt(2))*(sin((1/2)*u*sqrt(2)+(1/4)*pi)-cos((1/2)*u*sqrt(2)+(1/4)*pi)))} else if (r == 6){fx <- (u < 0)*((1/2)*exp((1/2)*u*sqrt(2))*cos(-(1/2)*u*sqrt(2)+(1/4)*pi))+ (u >= 0)* ((1/2)*exp(-(1/2)*u*sqrt(2))*cos((1/2)*u*sqrt(2)+(1/4)*pi))} else if (r == 7){fx <- (u < 0)*((1/4)*exp((1/2)*u*sqrt(2))*sqrt(2)*(cos(-(1/2)*u*sqrt(2)+(1/4)*pi)+sin(-(1/2)*u*sqrt(2)+(1/4)*pi)))+ (u >= 0)* (-(1/4)*exp(-(1/2)*u*sqrt(2))*sqrt(2)*(cos((1/2)*u*sqrt(2)+(1/4)*pi)+sin((1/2)*u*sqrt(2)+(1/4)*pi)))}} } return(fx) } #### #### Kernels density convolution kernel_fun_conv <- function(kernel,u,deriv.order=0) { if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (kernel=="epanechnikov" && r >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order >= 3' ") if (kernel=="uniform" && r >= 1) stop(" 'uniform kernel derivative = 0' for 'order >= 1' ") if (kernel=="triweight" && r >= 7) stop(" 'triweight kernel derivative = 0' for 'order >= 7' ") if (kernel=="biweight" && r >= 5) stop(" 'biweight kernel derivative = 0' for 'order >= 5' ") if (kernel=="triangular" && r >= 2) stop(" 'triangular kernel derivative = 0' for 'order >= 2' ") if (kernel=="tricube" && r >= 10) stop(" 'tricube kernel derivative = 0' for 'order >= 10' ") if (kernel=="uniform"){ if (r==0){fx <- (0.5-0.25*abs(u))*(abs(u)<=2)} } else if(kernel=="epanechnikov"){ if (r==0){fx <- ((3/5)-(3/160)*abs(u)^5+(3/8)*abs(u)^3-(3/4)*u^2)*(abs(u)<=2)} else if (r==1){fx <- (-(3/2)-(3/8)*abs(u)^3+(9/4)*abs(u))*(abs(u)<=2)} else if (r==2){fx <- ((9/2)-(9/4)*abs(u))*(abs(u)<=2)} } else if (kernel=="triweight"){ if (r==0) {fx <- (-(35/22)*u^2+(350/429)+(35/11264)*abs(u)^11-(35/768)*abs(u)^9+ (35/64)*abs(u)^7-(35/32)*u^6+(35/24)*u^4-(175/1757184)*abs(u)^13)* (abs(u)<=2)} else if (r==1) {fx <- (-(35/11)+(735/32)*abs(u)^5+(35/2)*u^2-(175/11264)*abs(u)^11+ (175/512)*abs(u)^9-(105/32)*abs(u)^7-(525/16)*u^4)*(abs(u)<=2)} else if (r==2) {fx <- (35-(2205/16)*abs(u)^5+(3675/8)*abs(u)^3-(1575/4)*u^2-(875/512)* abs(u)^9+(1575/64)*abs(u)^7)*(abs(u)<=2)} else if (r==3) {fx <- ((11025/4)*abs(u)+(33075/32)*abs(u)^5-(11025/4)*abs(u)^3-(7875/64)* abs(u)^7-(1575/2))*(abs(u)<=2)} else if (r==4) {fx <- (33075-(165375/32)*abs(u)^5+(165375/8)*abs(u)^3+(165375/4)*u^2- 99225*abs(u))*(abs(u)<=2)} else if (r==5) {fx <- (-(826875/2)-(826875/8)*abs(u)^3+(2480625/4)*abs(u))*(abs(u)<=2)} else if (r==6) {fx <- ((2480625/2)-(2480625/4)*abs(u))*(abs(u)<=2)} } else if (kernel=="biweight"){ if (r==0) {fx <- (-(15/32)*abs(u)^5-(15/14)*u^2-(5/3584)*abs(u)^9+(15/448)*abs(u)^7+ (15/16)*u^4+(5/7))*(abs(u)<=2)} else if (r==1) {fx <- ((45/32)*abs(u)^5-(75/8)*abs(u)^3+(45/4)*u^2-(45/448)*abs(u)^7- (15/7)) *(abs(u)<=2)} else if (r==2) {fx <- ((45/2)-(135/32)*abs(u)^5+(225/8)*abs(u)^3-(225/4)*abs(u)) * (abs(u)<=2)} else if (r==3) {fx <- (-(675/2)-(675/8)*abs(u)^3+(2025/4)*abs(u)) *(abs(u)<=2)} else if (r==4) {fx <- ((2025/2)-(2025/4)*abs(u)) *(abs(u)<=2)} } else if (kernel=="cosine"){ fx <- ((-1)^(r+1) * (pi^(2*r+2)/2^(2*r+5)) * cos(0.5*pi*abs(u))*abs(u) + (-1)^r * (pi^(2*r+2)/ 2^(2*r+4))* cos(0.5*pi*abs(u))+(pi^(2*r+1)/2^(2*r+4))*sin(0.5*pi*abs(u)))*(abs(u)<=2) } else if (kernel=="triangular"){ if (r==0) {fx <- ((1/6)*(u+2)^3 *(u <=- 1 & u > -2 ) + (-(1/2)*u^3-u^2+(2/3)) * (u <= 0 & u > -1 )+((2/3)+(1/2)*u^3-u^2)*(u <= 1 & u > 0 )-(1/6)*(u-2)^3 * (u <=2 & u >1) )} else if (r==1) {fx <- (u+2)*(u <=-1 & u >= -2 )+(-3*u-2)*(u <=0 & u > -1 )+ (3*u-2)*(u <= 1 & u > 0 )+(2-u)*(u <= 2 & u > 1)} } else if (kernel=="tricube"){ if (r==0) {fx <- (u <= -1 & u > -2)*((2870/351)*u^6+(21560/2187)*u^4+(7840/1683)*u^2+ (22400/20007)+(70/81)*u^9+(15680/6561)*u+(11305/2187)*u^7+(980/99)*u^5+ (2800/351)*u^3+(35/625482)*u^16+(1085/6561)*u^10+(245/303046029)*u^19+ (665/312741)*u^13+(245/99)*u^8)+ (u <= 0 & u > -1)*(-(350/117)*u^6+(980/729)*u^4- (210/187)*u^2+(175/247)-(70/81)*u^9-(2905/729)*u^7-(35/625482)*u^16- (1085/6561)*u^10-(245/101015343)*u^19-(1295/312741)*u^13-(245/99)*u^8)+ (u > 0 & u <= 1)*(-(350/117)*u^6+(980/729)*u^4-(210/187)*u^2+(175/247)+ (70/81)*u^9+(2905/729)*u^7-(35/625482)*u^16-(1085/6561)*u^10+(245/101015343)* u^19+(1295/312741)*u^13-(245/99)*u^8)+(u > 1 & u < 2)*((2870/351)*u^6+(21560/2187)* u^4+(7840/1683)*u^2+(22400/20007)-(15680/6561)*u-(70/81)*u^9+(245/99)*u^8- (11305/2187)*u^7-(980/99)*u^5-(2800/351)*u^3-(245/303046029)*u^19- (665/312741)*u^13+(35/625482)*u^16+(1085/6561)*u^10)} else if (r==1) {fx <- (u <= -1 & u > -2)*((86240/729)*u^2+(28700/117)*u^4+(15680/1683)+ (560/9)*u^7+(10850/729)*u^8+(1400/104247)*u^14+(13720/99)*u^6+(490/1772199)* u^17+(2660/8019)*u^11+(158270/729)*u^5+(19600/99)*u^3+(5600/117)*u)+ (u <= 0 & u > -1)* ((3920/243)*u^2-(3500/39)*u^4-(420/187)-(560/9)*u^7- (10850/729)*u^8-(1400/104247)*u^14-(13720/99)*u^6-(490/590733)*u^17- (5180/8019)*u^11-(40670/243)*u^5)+(u > 0 & u <= 1)*((3920/243)*u^2- (3500/39)*u^4-(420/187)+(560/9)*u^7-(10850/729)*u^8-(1400/104247)*u^14- (13720/99)*u^6+(490/590733)*u^17+(5180/8019)*u^11+(40670/243)*u^5)+ (u > 1 & u < 2)*((86240/729)*u^2+(28700/117)*u^4+(15680/1683)-(560/9)*u^7+ (10850/729)*u^8-(158270/729)*u^5+(13720/99)*u^6-(19600/99)*u^3-(5600/117)*u+ (1400/104247)*u^14-(2660/8019)*u^11-(490/1772199)*u^17)} else if (r==2) {fx <- (u <= -1 & u > -2)*((114800/39)*u^2+(172480/729)+(3165400/729)*u^3+ (607600/729)*u^6+(26600/729)*u^9+(7840/104247)*u^15+(7840/3)*u^5+ (137200/33)*u^4+(39200/33)*u+(19600/8019)*u^12)+ (u <= 0 & u > -1)* (-(14000/13)*u^2+(7840/243)-(813400/243)*u^3-(607600/729)*u^6-(51800/729)* u^9-(7840/34749)*u^15-(7840/3)*u^5-(137200/33)*u^4-(19600/8019)*u^12)+ (u > 0 & u <= 1)*(-(14000/13)*u^2+(7840/243)+(813400/243)*u^3+(51800/729)* u^9-(607600/729)*u^6+(7840/34749)*u^15+(7840/3)*u^5-(137200/33)*u^4- (19600/8019)*u^12)+ (u > 1 & u < 2)*((114800/39)*u^2+(172480/729)- (3165400/729)*u^3+(19600/8019)*u^12-(26600/729)*u^9+(607600/729)*u^6- (7840/3)*u^5-(39200/33)*u+(137200/33)*u^4-(7840/104247)*u^15)} else if (r==3) {fx <- (u <= -1 & u > -2)*( (229600/39)+(212800/81)*u^7+(78400/243)*u^10+ (548800/34749)*u^13+(6076000/243)*u^4+(6330800/243)*u+(156800/3)*u^3+ (548800/11)*u^2)+ (u <= 0 & u > -1)* ( -(28000/13)-(414400/81)*u^7- (548800/11583)*u^13-(6076000/243)*u^4-(1626800/81)*u-(78400/243)*u^10- (156800/3)*u^3-(548800/11)*u^2) +(u > 0 & u <= 1)*( (-28000/13)+ (414400/81)*u^7+(548800/11583)*u^13+(1626800/81)*u-(6076000/243)*u^4- (78400/243)*u^10+(156800/3)*u^3-(548800/11)*u^2)+ (u > 1 & u < 2)* ((229600/39)+(78400/243)*u^10-(6330800/243)*u+(6076000/243)*u^4- (548800/34749)*u^13-(212800/81)*u^7-(156800/3)*u^3+(548800/11)*u^2)} else if (r==4) {fx <- (u <= -1 & u > -2)*( -(589568000/81)*u^2-(29478400/33)-(16777600/27)* u^5-(11603200/3)*u+(2195200/891)*u^11+(784000/27)*u^8-(21952000/3)*u^3- (10976000/3)*u^4)+(u <= 0 & u > -1)* ( (551936000/81)*u^2+(4076800/11)+ (2038400/3)*u^5+2822400*u-(2195200/297)*u^11-(784000/27)*u^8+(21952000/3)* u^3+(10976000/3)*u^4)+(u > 0 & u <= 1)*((551936000/81)*u^2+(4076800/11)- (2038400/3)*u^5-2822400*u-(784000/27)*u^8+(2195200/297)*u^11-(21952000/3)* u^3+(10976000/3)*u^4)+ (u > 1 & u < 2)*(-(589568000/81)*u^2-(29478400/33)+ (16777600/27)*u^5+(11603200/3)*u+(784000/27)*u^8-(2195200/891)*u^11- (10976000/3)*u^4+(21952000/3)*u^3)} else if (r==5) {fx <- (u <= -1 & u > -2)*((2885120000/81)+(4406080000/27)*u^3+219520000*u^2+ (43904000/27)*u^6+43904000*u^4+137984000*u+(21952000/81)*u^9)+ (u <= 0 & u > -1)* ( -(1944320000/81)-(486080000/3)*u^3-219520000*u^2- (43904000/27)*u^6-43904000*u^4-125440000*u-(21952000/27)*u^9)+ (u > 0 & u <= 1)*( -(1944320000/81)+(486080000/3)*u^3-219520000*u^2- (43904000/27)*u^6-43904000*u^4+125440000*u+(21952000/27)*u^9)+ (u > 1 & u < 2)*( (2885120000/81)+43904000*u^4+219520000*u^2-137984000*u- (4406080000/27)*u^3-(21952000/81)*u^9+(43904000/27)*u^6)} else if (r==6) {fx <- (u <= -1 & u > -2)*( (-2320640000/3)-(3512320000/3)*u^3-(22798720000/9)*u+ (175616000/9)*u^7-2985472000*u^2+(439040000/9)*u^4)+ (u <= 0 & u > -1)* ( 689920000+(3512320000/3)*u^3+2540160000*u-(175616000/3)*u^7+2985472000* u^2-(439040000/9)*u^4)+ (u > 0 & u <= 1)*( 689920000-(3512320000/3)*u^3- 2540160000*u+(175616000/3)*u^7+2985472000*u^2-(439040000/9)*u^4)+ (u > 1 & u < 2)*((-2320640000/3)+(3512320000/3)*u^3+(22798720000/9)*u- (175616000/9)*u^7-2985472000*u^2+(439040000/9)*u^4)} else if (r==7) {fx <- (u <= -1 & u > -2)*( 9834496000+24586240000*u+(2458624000/3)*u^5+ (49172480000/3)*u^2)+(u <= 0 & u > -1)* ( -9834496000-24586240000*u- 2458624000*u^5-(49172480000/3)*u^2)+(u > 0 & u <= 1)*( -9834496000+ 24586240000*u+2458624000*u^5-(49172480000/3)*u^2)+ (u > 1 & u < 2)* (9834496000-24586240000*u-(2458624000/3)*u^5+(49172480000/3)*u^2)} else if (r==8) {fx <- (u <= -1 & u > -2)*(-98344960000*u+(49172480000/3)*u^3-(196689920000/3))+ (u <= 0 & u > -1)*(98344960000*u-49172480000*u^3+(196689920000/3))+ (u > 0 & u <= 1)* (49172480000*u^3-98344960000*u+(196689920000/3))+ (u > 1 & u < 2)*( 98344960000*u-(49172480000/3)*u^3-(196689920000/3));return(fx)} else if (r==9) {fx <- (u <= -1 & u > -2)*( 98344960000*u+196689920000)+ (u <= 0 & u > -1)* (-295034880000*u-196689920000)+(u > 0 & u <= 1)* ( 295034880000*u- 196689920000)+ (u > 1 & u < 2)*( -98344960000*u+196689920000)} } else if (kernel=="silverman"){ r <- r%%4 if (r==0) {fx <- (u < 0)*((1/16)*exp((1/2)*u*sqrt(2))*(3*sqrt(2)*cos((1/2)*u*sqrt(2))- 3*sqrt(2)*sin((1/2)*u*sqrt(2))+2*sin((1/2)*u*sqrt(2))*u))+ (u >= 0)*((1/16)* exp(-(1/2)*u*sqrt(2))*(3*sqrt(2)*cos((1/2)*u*sqrt(2))+3*sqrt(2)*sin((1/2)*u* sqrt(2))+2*sin((1/2)*u*sqrt(2))*u))} else if (r==1) {fx <- (u < 0)*(-(1/16)*exp((1/2)*u*sqrt(2))*(sqrt(2)*cos((1/2)*u*sqrt(2))+ sqrt(2)*sin((1/2)*u*sqrt(2))-2*cos((1/2)*u*sqrt(2))*u))+ (u >= 0)* (-(1/16)*exp(-(1/2)*u*sqrt(2))*(sqrt(2)*cos((1/2)*u*sqrt(2))+2*cos((1/2)* u*sqrt(2))*u-sqrt(2)*sin((1/2)*u*sqrt(2))))} else if (r==2) {fx <- (u < 0)*((1/16)*exp((1/2)*u*sqrt(2))*(sqrt(2)*cos((1/2)*u*sqrt(2))- sqrt(2)*sin((1/2)*u*sqrt(2))-2*sin((1/2)*u*sqrt(2))*u))+ (u >= 0)* ((1/16)*exp(-(1/2)*u*sqrt(2))*(sqrt(2)*cos((1/2)*u*sqrt(2))+sqrt(2)* sin((1/2)*u*sqrt(2))-2*sin((1/2)*u*sqrt(2))*u))} else if (r==3) {fx <- (u < 0)*(-(1/16)*exp((1/2)*u*sqrt(2))*(3*sqrt(2)*cos((1/2)*u*sqrt(2))+ 3*sqrt(2)*sin((1/2)*u*sqrt(2))+2*cos((1/2)*u*sqrt(2))*u))+ (u >= 0)* (-(1/16)*exp(-(1/2)*u*sqrt(2))*(3*sqrt(2)*cos((1/2)*u*sqrt(2))-3*sqrt(2)* sin((1/2)*u*sqrt(2))-2*cos((1/2)*u*sqrt(2))*u))} } else if (kernel=="gaussian"){ if (r==0) {fx <- dnorm(u,mean=0,sd=sqrt(2))} else if (r==1) {fx <- (1/8)*exp(-(1/4)*u^2)*(u^2-2)/sqrt(pi)} else if (r==2) {fx <- (1/32)*exp(-(1/4)*u^2)*(12-12*u^2+u^4)/sqrt(pi)} else if (r==3) {fx <- (1/128)*exp(-(1/4)*u^2)*(u^6-30*u^4+180*u^2-120)/sqrt(pi)} else if (r==4) {fx <- (1/512)*exp(-(1/4)*u^2)*(u^8-56*u^6+840*u^4-3360*u^2+1680)/sqrt(pi)} else if (r==5) {fx <- (1/2048)*exp(-(1/4)*u^2)*(u^10-90*u^8+2520*u^6-25200*u^4+75600*u^2-30240)/sqrt(pi)} else if (r==6) {fx <- (1/8192)*exp(-(1/4)*u^2)*(u^12-132*u^10+5940*u^8-110880*u^6+831600*u^4-1995840*u^2+665280)/sqrt(pi)} else if (r==7) {fx <- (1/32768)*exp(-(1/4)*u^2)*(u^14-182*u^12+12012*u^10-360360*u^8+5045040*u^6-30270240*u^4+60540480*u^2-17297280)/sqrt(pi)} else if (r==8) {fx <- (1/131072)*exp(-(1/4)*u^2)*(u^16-240*u^14+21840*u^12-960960*u^10+21621600*u^8-242161920*u^6+1210809600*u^4-2075673600*u^2+518918400)/sqrt(pi)} else if (r==9) {fx <- (1/524288)*exp(-(1/4)*u^2)*(u^18-306*u^16+36720*u^14-2227680*u^12+73513440*u^10-1323241920*u^8+12350257920*u^6-52929676800*u^4+79394515200*u^2-17643225600)/sqrt(pi)} else if (r==10) {fx <- (1/2097152)*exp(-(1/4)*u^2)*(u^20-380*u^18+58140*u^16-4651200*u^14+211629600*u^12-5587021440*u^10+83805321600*u^8-670442572800*u^6+2514159648000*u^4-3352212864000*u^2+670442572800)/sqrt(pi)} else if (r==11) {fx <- (1/8388608)*exp(-(1/4)*u^2)*(u^22-462*u^20+87780*u^18-8953560*u^16+537213600*u^14-19554575040*u^12+430200650880*u^10-5531151225600*u^8+38718058579200*u^6-129060195264000*u^4+154872234316800*u^2-28158588057600)/sqrt(pi)} else if (r==12) {fx <- (1/33554432)*exp(-(1/4)*u^2)*(u^24-552*u^22+127512*u^20-16151520*u^18+1235591280*u^16-59308381440*u^14+1799020903680*u^12-33924394183680*u^10+381649434566400*u^8-2374707592857600*u^6+7124122778572800*u^4-7771770303897600*u^2+1295295050649600)/sqrt(pi)} else if (r==13) {fx <- (1/134217728)*exp(-(1/4)*u^2)*(u^26-650*u^24+179400*u^22-27627600*u^20+2624622000*u^18-160626866400*u^16+6425074656000*u^14-167051941056000*u^12+2756357027424000*u^10-27563570274240000*u^8+154355993535744000*u^6-420970891461120000*u^4+420970891461120000*u^2-64764752532480000)/sqrt(pi)} else if (r==14) {fx <- (1/536870912)*exp(-(1/4)*u^2)*(u^28-756*u^26+245700*u^24-45208800*u^22+5221616400*u^20-396842846400*u^18+20238985166400*u^16-693908062848000*u^14+15786408429792000*u^12-231533990303616000*u^10+2083805912732544000*u^8-10608466464820224000*u^6+26521166162050560000*u^4-24481076457277440000*u^2+3497296636753920000)/sqrt(pi)} else if (r==15) {fx <- (1/2147483648)*exp(-(1/4)*u^2)*(u^30-870*u^28+328860*u^26-71253000*u^24+9832914000*u^22-908561253600*u^20+57542212728000*u^18-2515416727824000*u^16+75462501834720000*u^14-1526019481546560000*u^12+20143457156414592000*u^10-164810104007028480000*u^8+769113818699466240000*u^6-1774878043152614400000*u^4+1521324036987955200000*u^2-202843204931727360000)/sqrt(pi)} else if (r==16) {fx <- (1/8589934592)*exp(-(1/4)*u^2)*(u^32-992*u^30+431520*u^28-108743040*u^26+17670744000*u^24-1950850137600*u^22+150215460595200*u^20-8154553575168000*u^18+311911674250176000*u^16-8317644646671360000*u^14+151381132569418752000*u^12-1816573590833025024000*u^10+13624301931247687680000*u^8-58689300626913116160000*u^6+125762787057670963200000*u^4-100610229646136770560000*u^2+12576278705767096320000)/sqrt(pi)} else if (r==17) {fx <- (1/34359738368)*exp(-(1/4)*u^2)*(u^34-1122*u^32+556512*u^30-161388480*u^28+30502422720*u^26-3965314953600*u^24+364808975731200*u^22-24077392398259200*u^20+1143676138917312000*u^18-38884988723188608000*u^16+933239729356526592000*u^14-15440875522080712704000*u^12+169849630742887839744000*u^10-1175882058989223505920000*u^8+4703528235956894023680000*u^6-9407056471913788047360000*u^4+7055292353935341035520000*u^2-830034394580628357120000)/sqrt(pi)} else if (r==18) {fx <- (1/137438953472)*exp(-(1/4)*u^2)*(u^36-1260*u^34+706860*u^32-233735040*u^30+50837371200*u^28-7686610525440*u^26+832716140256000*u^24-65665615631616000*u^22+3792189302725824000*u^20-160114659448423680000*u^18+4899508579121764608000*u^16-106898368999020318720000*u^14+1621291929818474833920000*u^12-16462348825849129082880000*u^10+105829385309030115532800000*u^8-395096371820379097989120000*u^6+740805697163210808729600000*u^4-522921668585795864985600000*u^2+58102407620643984998400000)/sqrt(pi)} else if (r==19) {fx <- (1/549755813888)*exp(-(1/4)*u^2)*(u^38-1406*u^36+885780*u^34-331281720*u^32+82157866560*u^30-14295468781440*u^28+1801229066461440*u^26-167256984742848000*u^24+11540731947256512000*u^22-592424239959167616000*u^20+22512121118448369408000*u^18-626246278385927367168000*u^16+12524925567718547343360000*u^14-175348957948059662807040000*u^12+1653290174938848249323520000*u^10-9919741049633089495941120000*u^8+34719093673715813235793920000*u^6-61268988835969082180812800000*u^4+40845992557312721453875200000*u^2-4299578163927654889881600000)/sqrt(pi)} else if (r==20) {fx <- (1/2199023255552)*exp(-(1/4)*u^2)*(u^40-1560*u^38+1096680*u^36-460605600*u^34+129199870800*u^32-25633254366720*u^30+3716821883174400*u^28-401416763382835200*u^26+32615112024855360000*u^24-2000393537524462080000*u^22+92418181433630148096000*u^20-3192628085889041479680000*u^18+81412016190170557731840000*u^16-1502991068126225681203200000*u^14+19538883885640933855641600000*u^12-171942178193640217929646080000*u^10+967174752339226225854259200000*u^8-3185987419470392273402265600000*u^6+5309979032450653789003776000000*u^4-3353670967863570814107648000000*u^2+335367096786357081410764800000)/sqrt(pi)} else if (r==21) {fx <- (1/8796093022208)*exp(-(1/4)*u^2)*(u^42-1722*u^40+1343160*u^38-629494320*u^36+198290710800*u^34-44496435503520*u^32+7356744003248640*u^30-914338183260902400*u^28+86404958318155276800*u^26-6240358100755658880000*u^24+344467767161712370176000*u^22-14467646220791919547392000*u^20+458142130325077452334080000*u^18-10783960913805669262632960000*u^16+184867901379525758787993600000*u^14-2243063870071579206627655680000*u^12+18505276928090528454678159360000*u^10-97969113148714562407119667200000*u^8+304792796462667527488816742400000*u^6-481251783888422411824447488000000*u^4+288751070333053447094668492800000*u^2-27500101936481280675682713600000)/sqrt(pi)} else if (r==22) {fx <- (1/35184372088832)*exp(-(1/4)*u^2)*(u^44-1892*u^42+1629012*u^40-847086240*u^38+297750813360*u^36-75033204966720*u^34+14031209328776640*u^32-1988422807735203840*u^30+216240980341203417600*u^28-18164242348661087078400*u^26+1180675752662970660096000*u^24-59248455951814527670272000*u^22+2281065554144859315305472000*u^20-66677300813465118447390720000*u^18+1457375289208594731778682880000*u^16-23318004627337515708458926080000*u^14+265242302635964241183720284160000*u^12-2059528467526310578603004559360000*u^10+10297642337631552893015022796800000*u^8-30350945837229840105728488243200000*u^6+45526418755844760158592732364800000*u^4-26015096431911291519195847065600000*u^2+2365008766537390138108713369600000)/sqrt(pi)} else if (r==23) {fx <- (1/140737488355328)*exp(-(1/4)*u^2)*(u^46-2070*u^44+1958220*u^42-1124018280*u^40+438367129200*u^38-123268836731040*u^36+25886455713518400*u^34-4149229044366806400*u^32+514504401501483993600*u^30-49735425478476786048000*u^28+3759998166172845025228800*u^26-222181709819304478763520000*u^24+10220358651688006023121920000*u^22-363215822852296829437102080000*u^20+9858715191705199656149913600000*u^18-201117789910786072985458237440000*u^16+3016766848661791094781873561600000*u^14-32297150968026234073547116953600000*u^12+236845773765525716539345524326400000*u^10-1121901033626174446765320904704000000*u^8+3141322894153288450942898533171200000*u^6-4487604134504697787061283618816000000*u^4+2447784073366198792942518337536000000*u^2-212850788988365112429784203264000000)/sqrt(pi)} else if (r==24) {fx <- (1/562949953421312)*exp(-(1/4)*u^2)*(u^48-2256*u^46+2334960*u^44-1472581440*u^42+633946309920*u^40-197791248695040*u^38+46349082610871040*u^36-8342834869956787200*u^34+1170082590511439404800*u^32-128969103309705321062400*u^30+11220311987944362932428800*u^28-771141442080539852446924800*u^26+41770161446029242007541760000*u^24-1773625316785241660627927040000*u^22+58529635453912974800721592320000*u^20-1482750764832462028284947005440000*u^18+28357608377420836290949611479040000*u^16-400342706504764747636935691468800000*u^14+4047909587992621337217905324851200000*u^12-28122319242896106132250710677913600000*u^10+126550436593032477595128198050611200000*u^8-337467830914753273587008528134963200000*u^6+460183405792845373073193447456768000000*u^4-240095689978875846820796581281792000000*u^2+20007974164906320568399715106816000000)/sqrt(pi)} else if (r==25) {fx <- (1/2251799813685248)*exp(-(1/4)*u^2)*(u^50-2450*u^48+2763600*u^46-1906884000*u^44+901956132000*u^42-310633691860800*u^40+80764759883808000*u^38-16222178913804864000*u^36+2554993178924266080000*u^34-318522482972558504640000*u^32+31597430310877803660288000*u^30-2499069488223971744040960000*u^28+157441377758110219874580480000*u^26-7872068887905510993729024000000*u^24+310384430437417290609887232000000*u^22-9559840457472452550784526745600000*u^20+227046210864970748081132510208000000*u^18-4086831795569473465460385183744000000*u^16+54491090607592979539471802449920000000*u^14-521967288977995909272835160309760000000*u^12+3444984107254773001200712058044416000000*u^10-14764217602520455719431623105904640000000*u^8+37581644806415705467644131542302720000000*u^6-49019536704020485392579302011699200000000*u^4+24509768352010242696289651005849600000000*u^2-1960781468160819415703172080467968000000)/sqrt(pi)} else if (r==26) {fx <- (1/9007199254740992)*exp(-(1/4)*u^2)*(u^52-2652*u^50+3248700*u^48-2443022400*u^46+1264264092000*u^44-478397532412800*u^42+137300091802473600*u^40-30598306173122688000*u^38+5377652309926312416000*u^36-752871323389683738240000*u^34+84472162484322515430528000*u^32-7617853198586175937007616000*u^30+552294356897497755433052160000*u^28-32118041062654484854414417920000*u^26+1491194763623243939669240832000000*u^24-54875967301335376979828062617600000*u^22+1584543555826059010292535308083200000*u^20-35419208894935436700656671592448000000*u^18+602126551213902423911163417071616000000*u^16-7605809067965083249404169478799360000000*u^14+69212862518482257569577942257074176000000*u^12-435052278687602761865918494187323392000000*u^10+1779759321903829480360575658039050240000000*u^8-4333327044635410908704010297834209280000000*u^6+5416658805794263635880012872292761600000000*u^4-2599996226781246545222406178700525568000000*u^2+199999709752403580401723552207732736000000)/sqrt(pi)} else if (r==27) {fx <- (1/36028797018963968)*exp(-(1/4)*u^2)*(u^54-2862*u^52+3795012*u^50-3099259800*u^48+1747982527200*u^46-723664766260800*u^44+228195622960905600*u^42-56136123248382777600*u^40+10946544033434641632000*u^38-1710093434556567348288000*u^36+215471772754127485884288000*u^34-21978120820921003560197376000*u^32+1816857987862802960976316416000*u^30-121589726880049121234568867840000*u^28+6565845251522652546666718863360000*u^26-284519960899314943688891150745600000*u^24+9815938651026365557266744700723200000*u^22-266762568045540052203366826572595200000*u^20+5631654214294734435404410783199232000000*u^18-90699273135483617749144721034682368000000*u^16+1088391277625803412989736652416188416000000*u^14-9432724406090296245911050987606966272000000*u^12+56596346436541777475466305925641797632000000*u^10-221463964316902607512694240578598338560000000*u^8+516749250072772750862953228016729456640000000*u^6-620099100087327301035543873620075347968000000*u^4+286199584655689523554866403209265545216000000*u^2-21199969233754779522582696534019670016000000)/sqrt(pi)} else if (r==28) {fx <- (1/144115188075855872)*exp(-(1/4)*u^2)*(u^56-3080*u^54+4407480*u^52-3896212320*u^50+2386430046000*u^48-1076757236755200*u^46+371481246680544000*u^44-100406074102798464000*u^42+21612407450627369376000*u^40-3746150624775410691840000*u^38+526708777843422743272704000*u^36-60332096371155696047600640000*u^34+5641051010703057580450659840000*u^32-430455584816725624600542658560000*u^30+26749739913610806671605150924800000*u^28-1348186891645984656248899606609920000*u^26+54770092473118126660111546518528000000*u^24-1778417120303600348022445510483968000000*u^22+45646039421125742265909434769088512000000*u^20-912920788422514845318188695381770240000000*u^18+13967688062864477133368287039341084672000000*u^16-159630720718451167238494709021040967680000000*u^14+1320581416852641474427547138264975278080000000*u^12-7578989001067333679323314010912032030720000000*u^10+28421208754002501297462427540920120115200000000*u^8-63663507608965602906315837691661069058048000000*u^6+73457893394960311045749043490378156605440000000*u^4-32647952619982360464777352662390291824640000000*u^2+2331996615713025747484096618742163701760000000)/sqrt(pi)} else if (r==29) {fx <- (1/576460752303423488)*exp(-(1/4)*u^2)*(u^58-3306*u^56+5091240*u^54-4857042960*u^52+3220219482480*u^50-1577907546415200*u^48+593293237452115200*u^46-175445285932268352000*u^44+41492810122981465248000*u^42-7938957670197120350784000*u^40+1238477396550750774722304000*u^38-158299929050032326296323584000*u^36+16621492550253394261113976320000*u^34-1434562664721869873920760110080000*u^32+101649011671721065352099573514240000*u^30-5895642676959821790421775263825920000*u^28+278569116486351579597428881215774720000*u^26-10651172100948736866960516046485504000000*u^24+326635944429094597253455825425555456000000*u^22-7942410859275879154268241649821401088000000*u^20+150905806326241703931096591346606620672000000*u^18-2198913177896664828710264616764839329792000000*u^16+23988143758872707222293795819252792688640000000*u^14-189819224526731857150324819091478620405760000000*u^12+1044005734897025214326786505003132412231680000000*u^10-3758420645629290771576431418011276684034048000000*u^8+8095059852124626277241544592639672857919488000000*u^6-8994510946805140308046160658488525397688320000000*u^4+3854790405773631560591211710780796599009280000000*u^2-265847614191284935213187014536606662000640000000)/sqrt(pi)} else if (r==30) {fx <- (1/2305843009213693952)*exp(-(1/4)*u^2)*(u^60-3540*u^58+5851620*u^56-6007663200*u^54+4298483019600*u^52-2279915393595840*u^50+930965452384968000*u^48-300036865797212544000*u^46+77634539025028745760000*u^44-16320505315039376330880000*u^42+2810391015249780604177536000*u^40-398564543980877976592450560000*u^38+46698479069759536257415457280000*u^36-4526160279069001206487959705600000*u^34+362739416651101382405677913548800000*u^32-23989166754526171423095499349360640000*u^30+1304410942277360571130817777121484800000*u^28-58007921903628505398523425853167206400000*u^26+2094730513186584917168901489142149120000000*u^24-60857433856789203909328085368761384960000000*u^22+1405806722091830610305478772018387992576000000*u^20-25438407352137887234099139684142258913280000000*u^18+353825120443372431528833488333978692157440000000*u^16-3692088213322147111605219008702386352947200000000*u^14+27998335617692948929672910815993096509849600000000*u^12-147831212061418770348672969108443549572005888000000*u^10+511723426366449589668483354606150748518481920000000*u^8-1061352291723006556349446957701645996927221760000000*u^6+1137163169703221310374407454680334996707737600000000*u^4-470550277118574335327341015729793791741132800000000*u^2+31370018474571622355156067715319586116075520000000)/sqrt(pi)} else if (r>=31) {fx <- NA} } return(fx) } #### #### Kernel distribution H(x) # kernel_fun_dist <- function(kernel,u) # { # if (kernel=="epanechnikov") {H <- function(X) (3/4)*X-(1/4)*X^3+0.5 } # else if (kernel=="gaussian") {H <- pnorm} # else if (kernel=="silverman") {H <- function(X) (0.25*sqrt(2)*exp(0.5*sqrt(2)*X)*(cos(0.25*pi-0.5*sqrt(2)*X)+sin(0.25*pi-0.5*sqrt(2)*X))) *(X < 0)+ # (-0.25*sqrt(2)*exp(-0.5*sqrt(2)*X)*cos(0.25*pi+0.5*sqrt(2)*X)-0.25*sqrt(2)*exp(-0.5*sqrt(2)*X)*sin(0.25*pi+0.5*sqrt(2)*X)+1)*(X >= 0)} # else if (kernel=="uniform") {H <- function(X) 0.5*X+0.5 } # else if (kernel=="triangular") {H <- function(X) (0.5+X+0.5*X^2) *(X <0) + (0.5+X+0.5*X^2-X^2) *(X >=0)} # else if (kernel=="tricube") {H <- function(X) (0.5+(70/81)*X+(7/81)*X^10 + (10/27)*X^7 + (35/54)*X^4 )*(X < 0)+(0.5+(70/81)*X-(7/81)*X^10 + (10/27)*X^7 - (35/54)*X^4 )*(X >= 0)} # else if (kernel=="triweight") {H <- function(X) ((35/32) * X -(35/32)* X^3 +(21/32)* X^5 -(5/32)* X^7 + 0.5)} # else if (kernel=="biweight") {H <- function(X) ((15/16) * X -(5/8)* X^3+ (3/16)* X^5 + 0.5) } # else if (kernel=="cosine") {H <- function(X) (1/2)*sin((1/2)*pi)+(1/2)*sin((1/2)*pi*X) } # if (kernel=="gaussian"){Fx <- H(u)}else{ # Fx <- u # I0 <- (u <= -1) # I1 <- (u >= 1) # I2 <- (u > -1 & u < 1) # Fx[I0] <- 0;Fx[I1] <- 1 # U <- Fx[I2] # Fx[I2] <- H(U) # } # return(Fx) # } #### #### 1/(n-1) * sum[H((x-x[j])/h)] ; j != i #### Author: Alejandro Quintela del Rio and Graciela Estevez Perez #### Alejandro Quintela del Rio # kernel_dist_wit_i <-function(kernel,y,x,bw) # { # n <- length(x) # AUX <- matrix(0, n, n) # result <- matrix(0,n,length(y)) # for(j in 1:length(y)){ # AUX <- matrix(rep.int(outer(y[j],x,"-"),n),nrow=n,byrow=TRUE) # aux <- kernel_fun_dist(kernel, AUX/bw) # diag(aux) <- 0 # result[,j] <- (1/(n-1))*apply(aux,1,sum) # } # return(result) # } #### #### integral function #### Author: Alejandro Quintela del Rio and Graciela Estevez Perez #### Alejandro Quintela del Rio # simp_int <- function (x, fx, n.pts = 256, ret = FALSE) # { # if (class(fx) == "function") # fx = fx(x) # n.x = length(x) # if (n.x != length(fx)) # stop("Unequal input vector lengths") # if (n.pts < 64) # n.pts = 64 # ap = approx(x, fx, n = 2 * n.pts + 1) # h = diff(ap$x)[1] # integral = h * (ap$y[2 * (1:n.pts) - 1] + 4 * ap$y[2 * (1:n.pts)] + ap$y[2 * (1:n.pts) + 1])/3 # invisible(list(value = sum(integral), cdf = list(x = ap$x[2 * # (1:n.pts)], y = cumsum(integral)))) # } #### #### \int x K(x) H(x) dx A1_kM <- function(kernel) { if (kernel=="gaussian") {xKr <- 1/(2*sqrt(pi))} else if (kernel=="silverman") {xKr <- (5/32)*sqrt(2)} else if (kernel=="epanechnikov") {xKr <- 9/70 } else if (kernel=="uniform") {xKr <- 1/6 } else if (kernel=="triangular") {xKr <- 7/60 } else if (kernel=="triweight") {xKr <- 245/2574} else if (kernel=="tricube") {xKr <- 4291/39366} else if (kernel=="biweight") {xKr <- 25/231} else if (kernel=="cosine") {xKr <- 1/8} return(xKr) } #### #### \int x^2 K(x) dx A2_kM <-function(kernel) { if (kernel=="gaussian") {xKr <- 1} else if (kernel=="silverman") {xKr <- 0} else if (kernel=="epanechnikov") {xKr <- 1/5 } else if (kernel=="uniform") {xKr <- 1/3 } else if (kernel=="triangular") {xKr <- 1/6 } else if (kernel=="triweight") {xKr <- 1/9} else if (kernel=="tricube") {xKr <- 35/243} else if (kernel=="biweight") {xKr <- 1/7} else if (kernel=="cosine") {xKr <- (-8+pi^2)/pi^2} return(xKr) } #### #### \int K(x)^2 dx A3_kM <-function(kernel) { if (kernel=="gaussian") {xKr <- 1/(2*sqrt(pi))} else if (kernel=="silverman") {xKr <- (3/16)*sqrt(2)} else if (kernel=="epanechnikov") {xKr <- 3/5} else if (kernel=="uniform") {xKr <- 1/2} else if (kernel=="triangular") {xKr <- 2/3} else if (kernel=="triweight") {xKr <- 350/429} else if (kernel=="tricube") {xKr <- 175/247} else if (kernel=="biweight") {xKr <- 5/7} else if (kernel=="cosine") {xKr <- (1/16)*pi^2} return(xKr) } #### #### \int k(x,r)^2 dx A3_kMr <- function(kernel,r) { if (kernel=="gaussian"){ xKr <- integrate(function(x) kernel_fun_der(kernel,x,deriv.order=r)^2, -Inf, Inf)$value} else if (kernel =="silverman"){ xKr <- integrate(function(x) kernel_fun_der(kernel,x,deriv.order=r)^2, -100, +100)$value}else{ xKr <- integrate(function(x) kernel_fun_der(kernel,x,deriv.order=r)^2, -1, +1)$value} return(xKr) } #### #### \int K''(x)^2 dx A4_kM <-function(kernel) { if (kernel=="gaussian") {xKr <- 3/(8*sqrt(pi))} else if (kernel=="silverman") {xKr <- (1/16)*sqrt(2)} else if (kernel=="epanechnikov") {xKr <- 9/2} else if (kernel=="uniform") {xKr <- 0} else if (kernel=="triangular") {xKr <- 0} else if (kernel=="triweight") {xKr <- 35} else if (kernel=="tricube") {xKr <- 7840/243} else if (kernel=="biweight") {xKr <- 22.5} else if (kernel=="cosine") {xKr <- (1/256)*pi^6} return(xKr) } #### #### \int x^4 * K(x) dx A5_kM <-function(kernel) { if (kernel=="gaussian") {xKr <- 3} else if (kernel=="silverman") {xKr <- -24} else if (kernel=="epanechnikov") {xKr <- 3/35} else if (kernel=="uniform") {xKr <- 1/5} else if (kernel=="triangular") {xKr <- 1/15} else if (kernel=="triweight") {xKr <- 1/33} else if (kernel=="tricube") {xKr <- 1/22} else if (kernel=="biweight") {xKr <- 1/21} else if (kernel=="cosine") {xKr <- (pi^4-48*pi^2+384)/pi^4} return(xKr) } #### #### Derivatives DD <- function(expr,name, order = 1) { if(order < 1) stop("'order' must be >= 1") if(order == 1) D(expr,name) else DD(D(expr, name), name, order - 1) } #### #### Hermite Polynomial Hermite <-function (x, n, prob = TRUE) { if (any(n < 0 || n != round(n))) stop("Argument 'n' must be a vector of non-negative integers") if ((length(n) != 1) && (length(x) != length(n)) && (length(x) != 1)) stop(paste("Argument 'n' must be either a vector of same length", "as argument 'x',\n a single integer or 'x' must be a ", "single value!", sep = "")) H <- function(x, n) { if (n <= 1) { return(switch(n + 1, 1, x)) } else { return(x * Recall(x, n - 1) - (n - 1) * Recall(x, n - 2)) } } scale <- 1 if (!prob) { x <- sqrt(2) * x scale <- 2^(n/2) } scale * mapply(H, x, n) } kedd/R/MCV.R0000644000176200001440000001770412614740640012147 0ustar liggesusers## Wed Jun 19 14:21:28 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Modified Cross-Validation (MCV) h.mcv <- function(x, ...) UseMethod("h.mcv") h.mcv.default <- function(x,deriv.order=0,lower=0.1*hos,upper=2*hos,tol=0.1 * lower, kernel=c("gaussian","epanechnikov","triweight","tricube", "biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") if (missing(kernel)) kernel <- "gaussian" r <- deriv.order name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if (kernel=="epanechnikov" && (2*r) + 2 >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.mcv=NA),class="h.mcv")) else if (kernel=="triweight" && (2*r) + 2 >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.mcv=NA),class="h.mcv")) else if (kernel=="biweight" && (2*r) + 2 >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.mcv=NA),class="h.mcv")) else if (kernel=="tricube" && (2*r) + 2 >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.mcv=NA),class="h.mcv")) hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= 2*hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=2*hos lower=0.1*hos } R_Kr1 <- A3_kMr(kernel,r) fmcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r+2) diag(D3) <- 0 D4 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D3) Q3 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 - 0.5 * A2_kM(kernel) * Q3 } obj <- optimize(fmcv , c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,h = obj$minimum , min.mcv=obj$objective),class="h.mcv") } ###### print.h.mcv <- function(x, digits=NULL, ...) { class(x) <- "h.mcv" cat("\nCall:\t","\tModified Cross-Validation","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin MCV = ",format(x$min.mcv,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.mcv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.mcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && (2*r) + 2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for '(2 * order) + 2 >= 3' ") else if (kernel=="triweight" && (2*r) + 2 >= 7) stop(" 'triweight kernel derivative = 0' for '(2 * order) + 2 >= 7' ") else if (kernel=="biweight" && (2*r) + 2 >= 5) stop(" 'biweight kernel derivative = 0' for '(2 * order) + 2 >= 5' ") else if (kernel=="tricube" && (2*r) + 2 >= 10) stop(" 'tricube kernel derivative = 0' for '(2 * order) + 2 >= 10' ") if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(MCV~(h[(.(r))])) if(is.null(main)){ if(r !=0) {main <- "Modified Cross-Validation function for \nBandwidth Choice for Density Derivative"}else{ main <- "Modified Cross-Validation function for \nBandwidth Choice for Density Function"} } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fmcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r+2) diag(D3) <- 0 D4 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D3) Q3 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 - 0.5 * A2_kM(kernel) * Q3 } D <- lapply(1:length(seq.bws), function(i) fmcv(seq.bws[i])) Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, mcv=Minf)) } plot.h.mcv <- function(x,seq.bws=NULL,...) plot.mcv(x,seq.bws,...) ##### lines.mcv <- function(f,seq.bws=NULL,...) { class(f) <- "h.mcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && (2*r) + 2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for '(2 * order) + 2 >= 3' ") else if (kernel=="triweight" && (2*r) + 2 >= 7) stop(" 'triweight kernel derivative = 0' for '(2 * order) + 2 >= 7' ") else if (kernel=="biweight" && (2*r) + 2 >= 5) stop(" 'biweight kernel derivative = 0' for '(2 * order) + 2 >= 5' ") else if (kernel=="tricube" && (2*r) + 2 >= 10) stop(" 'tricube kernel derivative = 0' for '(2 * order) + 2 >= 10' ") if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fmcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r+2) diag(D3) <- 0 D4 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D3) Q3 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 - 0.5 * A2_kM(kernel) * Q3 } D <- lapply(1:length(seq.bws), function(i) fmcv(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.mcv <- function(x,seq.bws=NULL,...) lines.mcv(x,seq.bws,...) kedd/R/CCV.R0000644000176200001440000002044012614740640012124 0ustar liggesusers## Mon Jun 10 02:18:40 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Complete Cross-Validation (CCV) h.ccv <- function(x, ...) UseMethod("h.ccv") h.ccv.default <- function(x,deriv.order=0,lower=0.1*hos,upper=hos,tol=0.1 * lower, kernel=c("gaussian","triweight","tricube", "biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") if (missing(kernel)) kernel <- "gaussian" r <- deriv.order name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if (kernel=="triweight" && 2*(r+2) >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ccv=NA),class="h.ccv")) else if (kernel=="biweight" && 2*(r+2) >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ccv=NA),class="h.ccv")) else if (kernel=="tricube" && 2*(r+2) >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ccv=NA),class="h.ccv")) hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=hos lower=0.1*hos } R_Kr1 <- A3_kMr(kernel,r) fccv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D2 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*r) diag(D2) <- 0 D2 <- ((-1)^r /((n-1)*h^(2*r+1)))* colSums(D2) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+1)) diag(D3) <- 0 D3 <- ((-1)^(r+1) /((n-1)*h^(2*r+3)))* colSums(D3) Q3 <- mean(D3) D4 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D4) <- 0 D4 <- ((-1)^(r+2) /((n-1)*h^(2*r+5)))* colSums(D4) Q4 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 + 0.5 * h^2 *A2_kM(kernel) * Q3 + (h^4 / 24) *(6*(A2_kM(kernel))^2 - A5_kM(kernel)) * Q4 } obj <- optimize(fccv ,c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,h = obj$minimum , min.ccv=obj$objective),class="h.ccv") } ###### print.h.ccv <- function(x, digits=NULL, ...) { class(x) <- "h.ccv" cat("\nCall:\t","\tComplete Cross-Validation","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin CCV = ",format(x$min.ccv,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.ccv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.ccv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="triweight" && 2*(r+2) >= 7) stop(" 'triweight kernel derivative = 0' for '2 * (order + 2) >= 7' ") else if (kernel=="biweight" && 2*(r+2) >= 5) stop(" 'biweight kernel derivative = 0' for '2 * (order + 2) >= 5' ") else if (kernel=="tricube" && 2*(r+2) >= 10) stop(" 'tricube kernel derivative = 0' for '2 * (order + 2) >= 10' ") if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(CCV~(h[(.(r))])) if(is.null(main)){ if(r !=0) {main <- "Complete Cross-Validation function for \nBandwidth Choice for Density Derivative"}else{ main <- "Complete Cross-Validation function for \nBandwidth Choice for Density Function"} } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fccv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D2 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*r) diag(D2) <- 0 D2 <- ((-1)^r /((n-1)*h^(2*r+1)))* colSums(D2) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+1)) diag(D3) <- 0 D3 <- ((-1)^(r+1) /((n-1)*h^(2*r+3)))* colSums(D3) Q3 <- mean(D3) D4 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D4) <- 0 D4 <- ((-1)^(r+2) /((n-1)*h^(2*r+5)))* colSums(D4) Q4 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 + 0.5 * h^2 *A2_kM(kernel) * Q3 + (h^4 / 24) *(6*(A2_kM(kernel))^2 - A5_kM(kernel)) * Q4 } D <- lapply(1:length(seq.bws), function(i) fccv(seq.bws[i])) Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, ccv=Minf)) } plot.h.ccv <- function(x,seq.bws=NULL,...) plot.ccv(x,seq.bws,...) ##### lines.ccv <- function(f,seq.bws=NULL,...) { class(f) <- "h.ccv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="triweight" && 2*(r+2) >= 7) stop(" 'triweight kernel derivative = 0' for '2 * (order + 2) >= 7' ") else if (kernel=="biweight" && 2*(r+2) >= 5) stop(" 'biweight kernel derivative = 0' for '2 * (order + 2) >= 5' ") else if (kernel=="tricube" && 2*(r+2) >= 10) stop(" 'tricube kernel derivative = 0' for '2 * (order + 2) >= 10' ") if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fccv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D2 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*r) diag(D2) <- 0 D2 <- ((-1)^r /((n-1)*h^(2*r+1)))* colSums(D2) Q2 <- mean(D2) D3 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+1)) diag(D3) <- 0 D3 <- ((-1)^(r+1) /((n-1)*h^(2*r+3)))* colSums(D3) Q3 <- mean(D3) D4 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D4) <- 0 D4 <- ((-1)^(r+2) /((n-1)*h^(2*r+5)))* colSums(D4) Q4 <- mean(D4) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - Q2 + 0.5 * h^2 *A2_kM(kernel) * Q3 + (h^4 / 24) *(6*(A2_kM(kernel))^2 - A5_kM(kernel)) * Q4 } D <- lapply(1:length(seq.bws), function(i) fccv(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.ccv <- function(x,seq.bws=NULL,...) lines.ccv(x,seq.bws,...) kedd/R/dkde.R0000644000176200001440000001177012614740640012426 0ustar liggesusers## Tue Feb 26 00:39:10 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Derivatives of Kernel Density Estimator (dkde) dkde <- function(x, ...) UseMethod("dkde") dkde.default <- function(x,y=NULL,deriv.order=0,h, kernel=c("gaussian","epanechnikov","uniform","triangular", "triweight","tricube", "biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (kernel=="epanechnikov" && r >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order >= 3' ") if (kernel=="uniform" && r >= 1) stop(" 'uniform kernel derivative = 0' for 'order >= 1' ") if (kernel=="triweight" && r >= 7) stop(" 'triweight kernel derivative = 0' for 'order >= 7' ") if (kernel=="biweight" && r >= 5) stop(" 'biweight kernel derivative = 0' for 'order >= 5' ") if (kernel=="triangular" && r >= 2) stop(" 'triangular kernel derivative = 0' for 'order >= 2' ") if (kernel=="tricube" && r >= 10) stop(" 'tricube kernel derivative = 0' for 'order >= 10' ") name <- deparse(substitute(x)) if (missing(r)) r <- 0 if (missing(kernel)) kernel <- "gaussian" if (missing(h)) h <- h.ucv(x,deriv.order=r,kernel=kernel)$h x <- x[!is.na(x)] if (is.null(y)){ #from <- min(x) - 3 * h #to <- max(x) + 3 * h #y <- seq(from - 4 * h, to + 4 * h,length.out=512L) #tau <- if (kernel == "gaussian") 4 else 1 tau <- 4 range.x <- c(min(x) - tau * h, max(x) + tau * h) y <- seq(range.x[1L], range.x[2L],length.out=512L) } aux <- outer(y,x,"-")/h fn <- kernel_fun_der(kernel, aux,r)/h^(r+1) fn <- apply(fn,1,mean) structure(list(x=x, data.name=name, n=length(x), kernel=kernel, deriv.order=r, h = h, eval.points=y, est.fx = fn),class="dkde") } ###### print.dkde <- function(x, digits=NULL, ...) { class(x) <- "dkde" cat("\nData: ",x$data.name," (",x$n," obs.);", "\tKernel: ",x$kernel,"\n", "\nDerivative order: ",x$deriv.order,";","\tBandwidth 'h' = ",formatC(x$h,digits=digits), "\n\n",sep="") print(summary(as.data.frame(x[c("eval.points","est.fx")])), digits=digits, ...) invisible(x) } ###### plot.dkde1d <- function(f,fx=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,col="red",lty=1,...) { class(f) <- "dkde" #if(!is.function(fx)) stop("fx must be a function.") if(is.null(xlab)) xlab <- "x" if(is.null(ylab)){ if(f$deriv.order !=0){ylab <- "density derivative function"}else{ ylab <- "density function"} } if(is.null(main)){ if(f$deriv.order !=0) {main <- "Kernel density derivative estimate"}else{ main <- "Kernel density estimation"} } if(is.null(sub)){ if(f$deriv.order !=0) {sub <- paste("Kernel",f$kernel,";","Derivative order = ",f$deriv.order,";", "Bandwidth = ", formatC(f$h))}else{ sub <- paste("Kernel",f$kernel,";", "Bandwidth = ", formatC(f$h))} } gn <- if (!is.null(fx)) function(par) fx(par, ...) if (is.null(fx)){ plot.default(f$eval.points,f$est.fx, main=main,sub=sub, xlab=xlab, ylab=ylab, type=type,font.lab=2,cex.lab=0.9, font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,las=las,lwd=lwd,...)}else{ plot.default(f$eval.points,f$est.fx, ylim=c(min(f$est.fx,fx(f$eval.points),na.rm = TRUE),max(f$est.fx,fx(f$eval.points),na.rm = TRUE)), main=main,sub=sub, xlab=xlab, ylab=ylab, type=type,col=col,lty=lty, font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,las=las,lwd=lwd,...) curve(fx,xlim = c(min(f$eval.points,na.rm = TRUE), max(f$eval.points,na.rm = TRUE)), n = length(f$eval.points), lty = 8,lwd=lwd,add=TRUE) legend("topright", c("Estimate","True"),lty=c(lty,8),col=c(col,"black"),lwd=c(lwd,lwd), inset = .015,cex=1) } invisible(NULL) } plot.dkde <- function(x,fx=NULL,...) plot.dkde1d(x,fx,...) ###### lines.dkde1d <- function(f,...) { class(f) <- "dkde" lines.default(f$eval.points,f$est.fx,...) invisible(NULL) } lines.dkde <- function(x,...) lines.dkde1d(x,...) kedd/R/TCV.R0000644000176200001440000002030312614740640012143 0ustar liggesusers## Fri Jun 21 01:27:08 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Trimmed Cross-Validation (TCV) h.tcv <- function(x, ...) UseMethod("h.tcv") h.tcv.default <- function(x,deriv.order=0,lower=0.1*hos,upper=2*hos,tol=0.1 * lower, kernel=c("gaussian","epanechnikov", "uniform", "triangular","triweight","tricube", "biweight", "cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") if (missing(kernel)) kernel <- "gaussian" r <- deriv.order name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if (kernel=="epanechnikov" && 2*r >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) else if (kernel=="uniform" && 2*r >= 1) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) else if (kernel=="triweight" && 2*r >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) else if (kernel=="biweight" && 2*r >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) else if (kernel=="triangular" && 2*r >= 2) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) else if (kernel=="tricube" && 2*r >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.tcv=NA),class="h.tcv")) hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= 2*hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=2*hos lower=0.1*hos } R_Kr1 <- A3_kMr(kernel,r) ftcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r)*(abs(outer(x,x,"-")/h)> 1/(n*h^(2*r+1))) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - 2 * Q2 } obj <- optimize(ftcv , c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,h = obj$minimum , min.tcv=obj$objective),class="h.tcv") } ###### print.h.tcv <- function(x, digits=NULL, ...) { class(x) <- "h.tcv" cat("\nCall:\t","\tTrimmed Cross-Validation","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin TCV = ",format(x$min.tcv,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.tcv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.tcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(TCV~(h[(.(r))])) if(is.null(main)){ if(r !=0) {main <- "Trimmed Cross-Validation function for \nBandwidth Choice for Density Derivative"}else{ main <- "Trimmed Cross-Validation function for \nBandwidth Choice for Density Function"} } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } if (kernel=="epanechnikov" && 2*r >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2*order >= 3' ") else if (kernel=="uniform" && 2*r >= 1) stop(" 'uniform kernel derivative = 0' for '2*order >= 1' ") else if (kernel=="triweight" && 2*r >= 7) stop(" 'triweight kernel derivative = 0' for '2*order >= 7' ") else if (kernel=="biweight" && 2*r >= 5) stop(" 'biweight kernel derivative = 0' for '2*order >= 5' ") else if (kernel=="triangular" && 2*r >= 2) stop(" 'triangular kernel derivative = 0' for '2*order >= 2' ") else if (kernel=="tricube" && 2*r >= 10) stop(" 'tricube kernel derivative = 0' for '2*order >= 10' ") R_Kr1 <- A3_kMr(kernel,r) ftcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r)*(abs(outer(x,x,"-")/h)> 1/(n*h^(2*r+1))) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - 2 * Q2 } D <- lapply(1:length(seq.bws), function(i) ftcv(seq.bws[i])) Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, tcv=Minf)) } plot.h.tcv <- function(x,seq.bws=NULL,...) plot.tcv(x,seq.bws,...) ##### lines.tcv <- function(f,seq.bws=NULL,...) { class(f) <- "h.tcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && 2*r >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2*order >= 3' ") else if (kernel=="uniform" && 2*r >= 1) stop(" 'uniform kernel derivative = 0' for '2*order >= 1' ") else if (kernel=="triweight" && 2*r >= 7) stop(" 'triweight kernel derivative = 0' for '2*order >= 7' ") else if (kernel=="biweight" && 2*r >= 5) stop(" 'biweight kernel derivative = 0' for '2*order >= 5' ") else if (kernel=="triangular" && 2*r >= 2) stop(" 'triangular kernel derivative = 0' for '2*order >= 2' ") else if (kernel=="tricube" && 2*r >= 10) stop(" 'tricube kernel derivative = 0' for '2*order >= 10' ") if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) ftcv <- function(h) { L1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(L1) <- 0 L2 <- ((-1)^(r)/((n-1)*h^(2*r+1)))* colSums(L1) Q1 <- mean(L2) D1 <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r)*(abs(outer(x,x,"-")/h)> 1/(n*h^(2*r+1))) diag(D1) <- 0 D2 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D1) Q2 <- mean(D2) (1/(n*h^(2*r+1)))* R_Kr1 + Q1 - 2 * Q2 } D <- lapply(1:length(seq.bws), function(i) ftcv(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.tcv <- function(x,seq.bws=NULL,...) lines.tcv(x,seq.bws,...) kedd/R/UCV.R0000644000176200001440000001777212614740640012164 0ustar liggesusers## Tue Apr 16 03:33:05 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Unbiased Cross-Validation (UCV) h.ucv <- function(x, ...) UseMethod("h.ucv") h.ucv.default <- function(x,deriv.order=0,lower=0.1*hos,upper=2*hos,tol=0.1 * lower, kernel=c("gaussian","epanechnikov", "uniform", "triangular","triweight","tricube", "biweight", "cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (missing(kernel)) kernel <- "gaussian" name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if (kernel=="epanechnikov" && 2*r >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) else if (kernel=="uniform" && 2*r >= 1) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) else if (kernel=="triweight" && 2*r >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) else if (kernel=="biweight" && 2*r >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) else if (kernel=="triangular" && 2*r >= 2) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) else if (kernel=="tricube" && 2*r >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,min.ucv=NA),class="h.ucv")) hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= 2*hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=2*hos lower=0.1*hos } R_Kr1 <- A3_kMr(kernel,r) fucv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D) <- 0 D <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D) D1 <- mean(D) D2 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(D2) <- 0 D3 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D2) D4 <- mean(D3) (1/(n*h^(2*r+1)))* R_Kr1 + D4 - 2*D1 } obj <- optimize(fucv , c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = obj$minimum , min.ucv=obj$objective),class="h.ucv") } ###### print.h.ucv <- function(x, digits=NULL, ...) { class(x) <- "h.ucv" cat("\nCall:\t","\tUnbiased Cross-Validation","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin UCV = ",format(x$min.ucv,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.ucv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.ucv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && 2*r >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2*order >= 3' ") else if (kernel=="uniform" && 2*r >= 1) stop(" 'uniform kernel derivative = 0' for '2*order >= 1' ") else if (kernel=="triweight" && 2*r >= 7) stop(" 'triweight kernel derivative = 0' for '2*order >= 7' ") else if (kernel=="biweight" && 2*r >= 5) stop(" 'biweight kernel derivative = 0' for '2*order >= 5' ") else if (kernel=="triangular" && 2*r >= 2) stop(" 'triangular kernel derivative = 0' for '2*order >= 2' ") else if (kernel=="tricube" && 2*r >= 10) stop(" 'tricube kernel derivative = 0' for '2*order >= 10' ") if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(UCV~(h[(.(r))])) if(is.null(main)){ if(r !=0) {main <- "Unbiased Cross-Validation function for \nBandwidth Choice for Density Derivative"}else{ main <- "Unbiased Cross-Validation function for \nBandwidth Choice for Density Function"} } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fucv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D) <- 0 D <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D) D1 <- mean(D) D2 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(D2) <- 0 D3 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D2) D4 <- mean(D3) (1/(n*h^(2*r+1)))* R_Kr1 + D4 - 2*D1 } D <- lapply(1:length(seq.bws), function(i) fucv(seq.bws[i])) Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, ucv=Minf)) } plot.h.ucv <- function(x,seq.bws=NULL,...) plot.ucv(x,seq.bws,...) ##### lines.ucv <- function(f,seq.bws=NULL,...) { class(f) <- "h.ucv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && 2*r >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2*order >= 3' ") else if (kernel=="uniform" && 2*r >= 1) stop(" 'uniform kernel derivative = 0' for '2*order >= 1' ") else if (kernel=="triweight" && 2*r >= 7) stop(" 'triweight kernel derivative = 0' for '2*order >= 7' ") else if (kernel=="biweight" && 2*r >= 5) stop(" 'biweight kernel derivative = 0' for '2*order >= 5' ") else if (kernel=="triangular" && 2*r >= 2) stop(" 'triangular kernel derivative = 0' for '2*order >= 2' ") else if (kernel=="tricube" && 2*r >= 10) stop(" 'tricube kernel derivative = 0' for '2*order >= 10' ") if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) fucv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=2*r) diag(D) <- 0 D <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D) D1 <- mean(D) D2 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r) diag(D2) <- 0 D3 <- ((-1)^r / ((n-1)*h^(2*r+1)))* colSums(D2) D4 <- mean(D3) (1/(n*h^(2*r+1)))* R_Kr1 + D4 - 2*D1 } D <- lapply(1:length(seq.bws), function(i) fucv(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.ucv <- function(x,seq.bws=NULL,...) lines.ucv(x,seq.bws,...) kedd/R/MLCV.R0000644000176200001440000001067212614740640012260 0ustar liggesusers## Mon Apr 15 04:04:20 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Maximum-Likelihood (Kullback-Leibler information) Cross-Validation (MLCV) h.mlcv <- function(x, ...) UseMethod("h.mlcv") h.mlcv.default <- function(x,lower=0.1,upper=5,tol=0.1 * lower,kernel=c("gaussian", "epanechnikov","uniform","triangular","triweight", "tricube","biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 2L) stop("argument 'x' must be numeric and need at least 3 data points") if (!is.numeric(lower) || lower < 0) stop("invalid 'lower'") if (!is.numeric(upper)) stop("invalid 'upper'") if (!is.numeric(tol) || tol < 0) stop("invalid 'tol'") if (lower >= upper ) stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") if (missing(kernel)) kernel <- "gaussian" name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) fmlcv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=0) diag(D) <- 0 D <- (1/((n-1)*h))* colSums(D) mean(log(D)) } obj <- optimize(fmlcv ,c(lower,upper),tol=tol,maximum = TRUE) structure(list(x=x, data.name=name,n=n, kernel=kernel, h = obj$maximum, mlcv=obj$objective),class="h.mlcv") } ###### print.h.mlcv <- function(x, digits=NULL, ...) { class(x) <- "h.mlcv" cat("\nCall:\t","\tMaximum-Likelihood Cross-Validation","\n", "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMax CV = ",formatC(x$mlcv,digits=digits),";","\tBandwidth 'h' = ",formatC(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.mlcv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.mlcv" n <- f$n r <- 0 kernel <- f$kernel x <- sort(f$x) if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(MLCV~(h)) if(is.null(main)) main <- "Maximum-Likelihood Cross-Validation function for \nBandwidth Choice for Density Function" if(is.null(sub)) sub <- paste("Kernel",kernel) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } fmlcv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=0) diag(D) <- 0 D <- (1/((n-1)*h))* colSums(D) mean(log(D)) } D <- lapply(1:length(seq.bws), function(i) fmlcv(seq.bws[i])) Maxf <- c(do.call("rbind",D)) plot.default(seq.bws,Maxf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,seq.bws=seq.bws, mlcv=Maxf)) } plot.h.mlcv <- function(x,seq.bws=NULL,...) plot.mlcv(x,seq.bws,...) lines.mlcv <- function(f,seq.bws=NULL,...) { class(f) <- "h.mlcv" r <- 0 n <- f$n kernel <- f$kernel x <- sort(f$x) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } fmlcv <- function(h) { D <- kernel_fun_der(kernel, outer(x,x,"-")/h,deriv.order=0) diag(D) <- 0 D <- (1/((n-1)*h))* colSums(D) mean(log(D)) } D <- lapply(1:length(seq.bws), function(i) fmlcv(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.mlcv <- function(x,seq.bws=NULL,...) lines.mlcv(x,seq.bws,...) kedd/R/AMISE.R0000644000176200001440000001555312614740640012360 0ustar liggesusers## Mon May 20 13:31:03 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Aymptotic Mean Integrated Squared Error (AMISE) h.amise <- function(x, ...) UseMethod("h.amise") h.amise.default <- function(x,deriv.order=0,lower=0.1*hos,upper=2*hos,tol=0.1 * lower, kernel=c("gaussian","epanechnikov","triweight", "tricube", "biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") if (missing(kernel)) kernel <- "gaussian" r <- deriv.order name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if (kernel=="epanechnikov" && r+2 >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,amise=NA),class="h.amise")) else if (kernel=="triweight" && r+2 >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,amise=NA),class="h.amise")) else if (kernel=="biweight" && r+2 >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,amise=NA),class="h.amise")) else if (kernel=="tricube" && r+2 >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = NA ,amise=NA),class="h.amise")) hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=hos lower=0.1*hos } R_Kr <- A3_kMr(kernel,r) famise <- function(h) { D <- ((-1)^(r+2)/h^(2*r+5)) * mean(kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2)) 0.25*(2*r+5)* R_Kr^(4/(2*r+5)) * ((A2_kM(kernel)^2 * D) / (2*r+1))^((2*r+1)/(2*r+5)) * n^(-4/(2*r+5)) } obj <- optimize(famise , c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r, h = obj$minimum , amise=obj$objective),class="h.amise") } ###### print.h.amise <- function(x, digits=NULL, ...) { class(x) <- "h.amise" cat("\nCall:\t","\tAymptotic Mean Integrated Squared Error","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nAMISE = ",format(x$amise,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") invisible(x) } ###### plot.amise <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.amise" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && r+2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order + 2 >= 3' ") else if (kernel=="triweight" && r+2 >= 7) stop(" 'triweight kernel derivative = 0' for 'order + 2 >= 7' ") else if (kernel=="biweight" && r+2 >= 5) stop(" 'biweight kernel derivative = 0' for 'order + 2 >= 5' ") else if (kernel=="tricube" && r+2 >= 10) stop(" 'tricube kernel derivative = 0' for 'order + 2 >= 10' ") if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(AMISE~(h[(.(r))])) if(is.null(main)){ if(r !=0) {main <- "Aymptotic Mean Integrated Squared Error for \nBandwidth Choice for Density Derivative"}else{ main <- "Aymptotic Mean Integrated Squared Error for \nBandwidth Choice for Density Function"} } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr <- A3_kMr(kernel,r) famise <- function(h) { D <- ((-1)^(r+2)/h^(2*r+5)) * mean(kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2)) 0.25*(2*r+5)* R_Kr^(4/(2*r+5)) * ((A2_kM(kernel)^2 * D) / (2*r+1))^((2*r+1)/(2*r+5)) * n^(-4/(2*r+5)) } D <- lapply(1:length(seq.bws), function(i) famise(seq.bws[i])) Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, amise=Minf)) } plot.h.amise <- function(x,seq.bws=NULL,...) plot.amise(x,seq.bws,...) ##### lines.amise <- function(f,seq.bws=NULL,...) { class(f) <- "h.amise" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if (kernel=="epanechnikov" && r+2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order + 2 >= 3' ") else if (kernel=="triweight" && r+2 >= 7) stop(" 'triweight kernel derivative = 0' for 'order + 2 >= 7' ") else if (kernel=="biweight" && r+2 >= 5) stop(" 'biweight kernel derivative = 0' for 'order + 2 >= 5' ") else if (kernel=="tricube" && r+2 >= 10) stop(" 'tricube kernel derivative = 0' for 'order + 2 >= 10' ") if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr <- A3_kMr(kernel,r) famise <- function(h) { D <- ((-1)^(r+2)/h^(2*r+5)) * mean(kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2)) 0.25*(2*r+5)* R_Kr^(4/(2*r+5)) * ((A2_kM(kernel)^2 * D) / (2*r+1))^((2*r+1)/(2*r+5)) * n^(-4/(2*r+5)) } D <- lapply(1:length(seq.bws), function(i) famise(seq.bws[i])) Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.amise <- function(x,seq.bws=NULL,...) lines.amise(x,seq.bws,...) kedd/R/kernel.R0000644000176200001440000001000112614740640012761 0ustar liggesusers## Mon Jun 03 00:13:35 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Kernels functions kernel.fun <- function(x,...) UseMethod("kernel.fun") kernel.fun.default <- function(x=NULL,deriv.order=0,kernel=c("gaussian","epanechnikov", "uniform","triangular","triweight","tricube", "biweight","cosine","silverman"),...) { if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (missing(kernel)) kernel <- "gaussian" if (is.null(x)){ if (kernel == "gaussian"){x <- seq(-5,5,length=1000)} else if (kernel == "silverman"){x <- seq(-10,10,length=1000)} else {x <- seq(-1.5,1.5,length=1000)} } kx <- kernel_fun_der(kernel,u=x,deriv.order=r) structure(list(kernel = kernel,deriv.order=r,x=x,kx=kx),class="kernel.fun") } ############## ############## kernel.conv <- function(x,...) UseMethod("kernel.conv") kernel.conv.default <- function(x=NULL,deriv.order=0,kernel=c("gaussian","epanechnikov", "uniform","triangular","triweight","tricube", "biweight","cosine","silverman"),...) { if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") r <- deriv.order if (missing(kernel)) kernel <- "gaussian" if (is.null(x)){ if (kernel == "gaussian"){x <- seq(-8,8,length=1000)} else if (kernel == "silverman"){x <- seq(-10,10,length=1000)} else {x <- seq(-2.5,2.5,length=1000)} } kx <- kernel_fun_conv(kernel,u=x,deriv.order=r) structure(list(kernel = kernel,deriv.order=r,x=x,kx=kx),class="kernel.conv") } ############# ############# plot.kernel.fun1d <- function(f,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "kernel.fun" r <- f$deriv.order kernel <- f$kernel if(is.null(xlab)) xlab <- "x" if(is.null(ylab)) ylab <- "" if(is.null(main)){ if(r != 0) {main <- paste("Derivative of ",kernel,"kernel")}else{ main <- paste(kernel,"kernel")} } if(is.null(sub)){ if(r != 0) {sub <- paste("Derivative order = ",r)} } plot.default(f$x,f$kx,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) } plot.kernel.fun <- function(x,...) plot.kernel.fun1d (x,...) ################################ ################################ plot.kernel.conv1d <- function(f,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "kernel.conv" r <- f$deriv.order kernel <- f$kernel if(is.null(xlab)) xlab <- "x" if(is.null(ylab)) ylab <- "" if(is.null(main)){ if(r != 0) {main <- paste("Convolution of derivative",kernel,"kernel")}else{ main <- paste("Convolution of",kernel,"kernel")} } if(is.null(sub)){ if(r !=0) {sub <- paste("Derivative order = ",r)} } plot.default(f$x,f$kx,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) } plot.kernel.conv <- function(x,...) plot.kernel.conv1d (x,...) kedd/R/BCV.R0000644000176200001440000002642312614740640012132 0ustar liggesusers## Tue May 21 02:04:46 2013 ## Original file Copyright 2013 A.C. Guidoum ## This file is part of the R package kedd. ## Arsalane Chouaib GUIDOUM and ## Department of Probabilities-Statistics ## Faculty of Mathematics ## University of Science and Technology Houari Boumediene ## BP 32 El-Alia, U.S.T.H.B, Algeris ## Algeria ############################################################################## ## Biased Cross-Validation (BCV) h.bcv <- function(x, ...) UseMethod("h.bcv") h.bcv.default <- function(x,whichbcv = 1,deriv.order=0,lower=0.1*hos,upper=2*hos,tol=0.1 * lower, kernel=c("gaussian","epanechnikov","triweight","tricube", "biweight","cosine"),...) { if (!is.numeric(x) || length(dim(x)) >=1 || length(x) < 3L) stop("argument 'x' must be numeric and need at least 3 data points") if (any(deriv.order < 0 || deriv.order != round(deriv.order))) stop("argument 'deriv.order' is non-negative integers") if (missing(kernel)) kernel <- "gaussian" r <- deriv.order name <- deparse(substitute(x)) x <- x[!is.na(x)] x <- sort(x) n <- length(x) if(whichbcv == 1){ if (kernel=="epanechnikov" && r+2 >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv1=NA),class="h.bcv")) else if (kernel=="triweight" && r+2 >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv1=NA),class="h.bcv")) else if (kernel=="biweight" && r+2 >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv1=NA),class="h.bcv")) else if (kernel=="tricube" && r+2 >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv1=NA),class="h.bcv")) } else if (whichbcv == 2) { if (kernel=="epanechnikov" && 2*(r+2) >= 3) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv2=NA),class="h.bcv")) else if (kernel=="triweight" && 2*(r+2) >= 7) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv2=NA),class="h.bcv")) else if (kernel=="biweight" && 2*(r+2) >= 5) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv2=NA),class="h.bcv")) else if (kernel=="tricube" && 2*(r+2) >= 10) return(structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = NA ,min.bcv2=NA),class="h.bcv")) } hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) if (!is.numeric(upper)){ stop("argument 'upper' must be numeric. Default 2*hos (Oversmoothing) boundary was used") upper= hos } if (!is.numeric(lower)){ stop("argument 'lower' must be numeric. Default 0.1*hos boundary was used") lower=0.1*hos } if (lower < 0 | lower >= upper){ stop("the boundaries must be positive and 'lower' must be smaller than 'upper'. Default boundaries were used") upper=hos lower=0.1*hos } R_Kr1 <- A3_kMr(kernel,r) R_Kr2 <- A3_kMr(kernel,r+2) fbcv1 <- function(h) { D1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) ##(1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * (D - (1/((n-1)*h^(2*r+5))) * R_Kr2 ) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } fbcv2 <- function(h) { D1 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } if(whichbcv == 1) {obj <- optimize(fbcv1 ,c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = obj$minimum , min.bcv1=obj$objective),class="h.bcv")}else{ obj <- optimize(fbcv2 ,c(lower, upper),tol=tol) structure(list(x=x, data.name=name,n=n, kernel=kernel, deriv.order=r,whichbcv=whichbcv, h = obj$minimum , min.bcv2=obj$objective),class="h.bcv")} } ###### print.h.bcv <- function(x, digits=NULL, ...) { class(x) <- "h.bcv" if (x$whichbcv == 1){ cat("\nCall:\t","\tBiased Cross-Validation 1","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin BCV = ",format(x$min.bcv1,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="")}else{ cat("\nCall:\t","\tBiased Cross-Validation 2","\n", "\nDerivative order = ",x$deriv.order, "\nData: ",x$data.name," (",x$n," obs.);","\tKernel: ",x$kernel, "\nMin BCV = ",format(x$min.bcv2,digits=digits),";","\tBandwidth 'h' = ",format(x$h,digits=digits), "\n\n",sep="") } invisible(x) } ###### plot.bcv <- function(f,seq.bws=NULL,main=NULL,sub = NULL, xlab=NULL, ylab=NULL, type="l",las=1,lwd=1,...) { class(f) <- "h.bcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if(f$whichbcv == 1){ if (kernel=="epanechnikov" && r+2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order + 2 >= 3' ") else if (kernel=="triweight" && r+2 >= 7) stop(" 'triweight kernel derivative = 0' for 'order + 2 >= 7' ") else if (kernel=="biweight" && r+2 >= 5) stop(" 'biweight kernel derivative = 0' for 'order + 2 >= 5' ") else if (kernel=="tricube" && r+2 >= 10) stop(" 'tricube kernel derivative = 0' for 'order + 2 >= 10' ") } else if (f$whichbcv == 2){ if (kernel=="epanechnikov" && 2*(r+2) >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2 * (order + 2) >= 3' ") else if (kernel=="triweight" && 2*(r+2) >= 7) stop(" 'triweight kernel derivative = 0' for '2 * (order + 2) >= 7' ") else if (kernel=="biweight" && 2*(r+2) >= 5) stop(" 'biweight kernel derivative = 0' for '2 * (order + 2) >= 5' ") else if (kernel=="tricube" && 2*(r+2) >= 10) stop(" 'tricube kernel derivative = 0' for '2 * (order + 2) >= 10' ") } if(is.null(xlab)) xlab <- "Bandwidths" if(is.null(ylab)) ylab <- bquote(BCV~(h[(.(r))])) if(is.null(main)){ if(f$whichbcv == 1){ if(r !=0) {main <- "Biased Cross-Validation (1) function for \nBandwidth Choice for Density Derivative"}else{ main <- "Biased Cross-Validation (1) function for \nBandwidth Choice for Density Function"}}else{ if(r !=0) {main <- "Biased Cross-Validation (2) function for \nBandwidth Choice for Density Derivative"}else{ main <- "Biased Cross-Validation (2) function for \nBandwidth Choice for Density Function"} } } if(is.null(sub)) sub <- paste("Kernel",kernel,";","Derivative order = ",r) if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) R_Kr2 <- A3_kMr(kernel,r+2) fbcv1 <- function(h) { D1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) ##(1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * (D - (1/((n-1)*h^(2*r+5))) * R_Kr2 ) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } fbcv2 <- function(h) { D1 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } if(f$whichbcv == 1){ D <- lapply(1:length(seq.bws), function(i) fbcv1(seq.bws[i]))}else{ D <- lapply(1:length(seq.bws), function(i) fbcv2(seq.bws[i]))} Minf <- c(do.call("rbind",D)) plot.default(seq.bws,Minf,type=type,las=las,lwd=lwd,xlab=xlab,ylab=ylab, main=main,sub=sub,font.main=2,cex.main=0.9,font.sub=2,cex.sub=0.7,...) return(list(kernel=kernel,deriv.order=r,seq.bws=seq.bws, bcv=Minf)) } plot.h.bcv <- function(x,seq.bws=NULL,...) plot.bcv(x,seq.bws,...) ##### lines.bcv <- function(f,seq.bws=NULL,...) { class(f) <- "h.bcv" r <- f$deriv.order n <- f$n kernel <- f$kernel x <- sort(f$x) if(f$whichbcv == 1){ if (kernel=="epanechnikov" && r+2 >= 3) stop(" 'epanechnikov kernel derivative = 0' for 'order + 2 >= 3' ") else if (kernel=="triweight" && r+2 >= 7) stop(" 'triweight kernel derivative = 0' for 'order + 2 >= 7' ") else if (kernel=="biweight" && r+2 >= 5) stop(" 'biweight kernel derivative = 0' for 'order + 2 >= 5' ") else if (kernel=="tricube" && r+2 >= 10) stop(" 'tricube kernel derivative = 0' for 'order + 2 >= 10' ") } else if (f$whichbcv == 2){ if (kernel=="epanechnikov" && 2*(r+2) >= 3) stop(" 'epanechnikov kernel derivative = 0' for '2 * (order + 2) >= 3' ") else if (kernel=="triweight" && 2*(r+2) >= 7) stop(" 'triweight kernel derivative = 0' for '2 * (order + 2) >= 7' ") else if (kernel=="biweight" && 2*(r+2) >= 5) stop(" 'biweight kernel derivative = 0' for '2 * (order + 2) >= 5' ") else if (kernel=="tricube" && 2*(r+2) >= 10) stop(" 'tricube kernel derivative = 0' for '2 * (order + 2) >= 10' ") } if(is.null(seq.bws)){ hos <- ((243 *(2*r+1)*A3_kMr(kernel,r))/(35* A2_kM(kernel)^2))^(1/(2*r+5)) * sd(x,na.rm = TRUE) * n^(-1/(2*r+5)) seq.bws <- seq(0.15*hos,2*hos,length=50) } R_Kr1 <- A3_kMr(kernel,r) R_Kr2 <- A3_kMr(kernel,r+2) fbcv1 <- function(h) { D1 <- kernel_fun_conv(kernel,outer(x,x,"-")/h,deriv.order=r+2) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) ##(1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * (D - (1/((n-1)*h^(2*r+5))) * R_Kr2 ) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } fbcv2 <- function(h) { D1 <- kernel_fun_der(kernel,outer(x,x,"-")/h,deriv.order=2*(r+2)) diag(D1) <- 0 D1 <- ((-1)^(r+2)/((n-1)*h^(2*r+5)))* colSums(D1) D <- mean(D1) (1/(n*h^(2*r+1)))* R_Kr1 + (0.25*h^4)*(A2_kM(kernel))^2 * D } if(f$whichbcv == 1){ D <- lapply(1:length(seq.bws), function(i) fbcv1(seq.bws[i]))}else{ D <- lapply(1:length(seq.bws), function(i) fbcv2(seq.bws[i]))} Minf <- c(do.call("rbind",D)) lines.default(seq.bws,Minf,...) invisible(NULL) } lines.h.bcv <- function(x,seq.bws=NULL,...) lines.bcv(x,seq.bws,...) kedd/vignettes/0000755000176200001440000000000012614740771013202 5ustar liggesuserskedd/vignettes/kedd.Rnw0000644000176200001440000014626412614740640014611 0ustar liggesusers\documentclass[a4paper,11pt]{article} \usepackage{a4wide} \usepackage{graphicx} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage[left=2.5cm,top=2cm,right=2cm,bottom=2cm]{geometry} \usepackage[utf8]{inputenc} \usepackage{authblk} \usepackage[english]{babel} \usepackage{hyperref} \usepackage{Sweave} \usepackage{color} \definecolor{link}{rgb}{0.45,0.51,0.67} \hypersetup{ colorlinks,% citecolor=link,% filecolor=link,% linkcolor=link,% urlcolor=link } %% load any required packages here \renewcommand{\today}{\begingroup \number \day\space \ifcase \month \or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space \number \year \endgroup} \newcommand{\argmin}[1]{\underset{#1}{\mathrm{argmin}} \ } \newcommand{\argmax}[1]{\underset{#1}{\mathrm{argmax}} \ } \def\ISE{\mathrm{ISE}} \def\MSE{\mathrm{MSE}} \def\MISE{\mathrm{MISE}} \def\AMSE{\mathrm{AMSE}} \def\AMISE{\mathrm{AMISE}} \def\LSCV{\mathrm{LSCV}} \def\UCV{\mathrm{UCV}} \def\BCV{\mathrm{BCV}} \def\CCV{\mathrm{CCV}} \def\TCV{\mathrm{TCV}} \def\MCV{\mathrm{MCV}} \def\MLCV{\mathrm{MLCV}} \def\rth{r^{th}} \def\Intr{\int_{\boldsymbol{\mathbb{R}}}} \def\Sum2{\sum_{i=1}^{n}\sum_{\substack{j=1 \\ j \neq i}}^{n}} \def\M2{\mu_{2}} \def\RK{\mathrm{R}\left(K^{(r)}\right)} \def\RR{\mathrm{R}} \def\Kr{K^{(r)}} \def\ConvKr{K^{(r)} \ast K^{(r)}} \def\Z{\left(\frac{X_{j}-X_{i}}{h}\right)} \def\z{\left(\frac{x-X_{i}}{h}\right)} \def\hatf{\hat{f}_{h}^{(r)}} \def\N{\mathbb{N}} %%%%%%%%%%%%%%%% \let\code=\texttt \let\proglang=\texttt \let\pkg=\texttt \newcommand{\CRANpkg}[1]{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}}% \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \let\cpkg=\CRANpkg \let\cpkg=\CRANpkg \bibliographystyle{plainnat} %\VignetteIndexEntry{Kernel estimator and bandwidth selection for density and its derivatives} %\VignettePackage{kedd} \begin{document} \title{\bfseries{ Kernel Estimator and Bandwidth Selection for Density and its Derivatives}\\ \vskip3pt \large The \CRANpkg{kedd} Package \\Version 1.0.3} \author{by Arsalane Chouaib Guidoum\thanks{Department of Probabilities \& Statistics.\\Faculty of Mathematics. \\University of Science and Technology Houari Boumediene.\\ BP 32 El-Alia, U.S.T.H.B, Algeria.\\ \email{acguidoum@usthb.dz}}} \date{Revised \today} \maketitle \section{Introduction}\label{Sec0} In statistics, the univariate kernel density estimation (KDE) is a non-parametric way to estimate the probability density function $f(x)$ of a random variable $X$, is a fundamental data smoothing problem where inferences about the population are made, based on a finite data sample. This techniques are widely used in various inference procedures such as signal processing, data mining and econometrics, see e.g., \cite{Silverman,WandandJones,Jeffrey,Wolfgangetall,Alexandre}. The kernel estimator are standard in many books with applications and computer vision, see \cite{Wolfgang,Scott1992,Bowman,VenablesandRipley}, for computational complexity and with implementation in \texttt{S}, for an overview. Estimation of the density derivatives also comes up in various other applications like estimation of modes and inflexion points of densities, a good list of applications which require the estimation of density derivatives can be found in \cite{Singh1977}. There already exist a number of packages that can perform kernel density estimation in \texttt{R} (\code{density} in \texttt{R} base); see for example \pkg{KernSmooth} \citep{KernSmooth}, \pkg{sm} \citep{smarticle}, \pkg{np} \citep{np} and \pkg{feature} \citep{feature}, they exist also of functions for kernel density derivative estimation (KDDE), e.g., \code{kdde} in \pkg{ks} package \citep{ks}. We introduce in this vignette a new \texttt{R} package \CRANpkg{kedd} \citep{kedd} for use with the statistical programming environment \cite{R}, which implements smoothing techniques and computing bandwidth selectors of the $\rth$ derivative of a probability density $f(x)$ for univariate data, using several kernels functions. \section{Convolutions and derivatives in kernels}\label{Sec1} In non-parametric statistics, a kernel is a weighting function used in non-parametric estimation techniques. Kernels are used in kernel density estimation to estimate random variables density functions $f(x)$, or in kernel regression to estimate the conditional expectation of a random variable, see e.g., \cite{Silverman,WandandJones}. In general any functions having the following assumptions can be used as a kernel: \begin{itemize} \item[(A1)] $K(x) \geq 0$ and $\Intr K(x) dx = 1$. \item[(A2)] Symmetric about the origin, e.g., $\Intr x K(x) dx = 0$. \item[(A3)] Has finite second moment, e.g., $\M2(K) = \Intr x^{2} K(x) dx < \infty$. We denote $\RR(K) = \Intr \left(K(x)\right)^{2} dx$. \end{itemize} If $K(x)$ is a kernel, then so is the function $\bar{K}(x)$ defined by $\bar{K}(x)=\lambda K(\lambda x)$, where $\lambda > 0$, this can be used to select a scale that is appropriate for the data. The kernel function is very important to spreading a probability mass of $1/n$, the most widely used kernel is the Gaussian of zero mean and unit variance. Some classical of kernel function $K(x;r)$ ($r$ is the maximum derivative of kernel) in \pkg{kedd} package are the following: \begin{table}[!ht] \begin{center} {\renewcommand{\arraystretch}{1.5} \begin{tabular}{rlll} \hline\hline Kernel & $K(x;r)$ & $\RR(K)$ & $\M2(K)$ \\ \hline Gaussian & $K(x;\infty) =\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{x^{2}}{2}\right)1_{]-\infty,+\infty[}$ & $1/\left(2\sqrt{\pi}\right)$ & 1 \\ Epanechnikov & $K(x;2)=\frac{3}{4}\left(1-x^{2}\right)1_{(|x| \leq 1)}$ & 3/5 & 1/5 \\ Uniform & $K(x;0)=\frac{1}{2}1_{(|x| \leq 1)}$ & 1/2 & 1/3 \\ Triangular & $K(x;1)=(1-|x|)1_{(|x| \leq 1)}$ & 2/3 & 1/6 \\ Triweight & $K(x;6)=\frac{35}{32}\left(1-x^{2}\right)^{3} 1_{(|x| \leq 1)}$ & 350/429 & 1/9 \\ Tricube & $K(x;9)=\frac{70}{81}\left(1-|x|^{3}\right)^{3} 1_{(|x| \leq 1)}$ & 175/247 & 35/243 \\ Biweight & $K(x;4)=\frac{15}{16}\left(1-x^{2}\right)^{2} 1_{(|x| \leq 1)}$ & 5/7 & 1/7\\ Cosine & $K(x;\infty)=\frac{\pi}{4}\cos\left(\frac{\pi}{2}x\right) 1_{(|x| \leq 1)}$ & $\pi^{2}/16$ & $\left(-8+\pi^2\right)/\pi^{2}$\\ \hline\hline \end{tabular} } \end{center} \caption{Kernel functions in \pkg{kedd} pakage.}\label{Sec1:Tab1} \end{table}\\ The $\rth$ derivative of the kernel function $K(x)$ is written as: \begin{equation}\label{Sec1:eq1} \Kr(x) = \frac{d^{r}}{dx^{r}} K(x) \end{equation} and convolution of $\Kr(x)$ is: \begin{equation}\label{Sec1:eq2} \ConvKr(x) = \Intr \Kr(x) \Kr(x-y) dy \end{equation} for example the $\rth$ derivative of the Gaussian kernel is given by: $$\Kr(x) = (-1)^{r} H_{r}(x) K(x)$$ and the $\rth$ convolution can be written as: $$\ConvKr(x) = (-1)^{2r} \Intr H_{r}(x) H_{r}(x-y)K(x)K(x-y)dy$$ where $H_{r}(x)$ is the $\rth$ Hermite polynomial, see e.g., \cite{Olver}. We use \code{kernel.fun} for kernel derivative defined by \eqref{Sec1:eq1}, and \code{kernel.conv} for kernel convolution defined by \eqref{Sec1:eq2}.\\ For example the first derivative of the Gaussian kernel displayed on the left in Figure \ref{Sec1:fig1}. On the right is the first convolution of the Gaussian kernel. <>= library(kedd) @ <>= kernel.fun(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx kernel.conv(x = seq(-0.02,0.02,by=0.01), deriv.order = 1, kernel = "gaussian")$kx @ <>= plot(kernel.fun(deriv.order = 1, kernel = "gaussian")) plot(kernel.conv(deriv.order = 1, kernel = "gaussian")) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(kernel.fun(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") @ <>= plot(kernel.conv(deriv.order = 1, kernel = "gaussian"),main = "", sub = "") @ \end{center} \caption{(Left) First derivative of the Gaussian kernel. (Right) Convolution of the first derivative Gaussian kernel.}\label{Sec1:fig1} \end{figure} \section{Kernel density derivative estimator}\label{Sec2} Let $(X_{1},X_{2},\dots,X_{n})$ be a data sample, independent and identically distributed of a continuous random variable $X$, with density function $f(x)$. If the kernel $K$ is differentiable $r$ times then a natural estimator of the $\rth$ derivative of $f(x)$ the $\rth $ derivative of the kernel estimate \citep{Bhattacharya,Schuster,Alekseev}: \begin{equation}\label{Sec2:eq1} \hatf(x) = \frac{d^{r}}{dx^{r}} \frac{1}{nh} \sum_{i=1}^{n} K\z = \frac{1}{nh^{r+1}} \sum_{i=1}^{n} \Kr\z \end{equation} where $\Kr$ is $\rth$ derivative of the kernel function $K$, which we take to be a symmetric probability density with at least $r$ non zero derivatives when estimating $f^{(r)}(x)$, and $h$ is the bandwidth, this parameter is very important that controls the degree of smoothing applied to the data. The following assumptions on the density $f^{(r)}(x)$, the bandwidth $h$, and the kernel $K$: \begin{itemize} \item[(A4)] The $(r+2)$ derivatives $f^{(r+2)}(x)$ is continuous, square integrable and ultimately monotone. \item[(A5)] In the asymptotic framework, as $\lim_{n \to \infty} h_{n} = 0$ and $\lim_{n \to \infty} nh_{n}^{2r+1} = \infty$, i.e., as the number of sample $n$ is increased $h$ approaches zero at a rate slower than $1/n^{2r+1}$. \item[(A6)] Assumptions about $K$ are introduced in the previous section. \end{itemize} As seen in Equation \eqref{Sec2:eq1}, when working with a kernel estimator of the $\rth$ derivative function two choices must be made: the kernel function $K$ and the smoothing parameter or bandwidth $h$. The choice of $K$ is a problem of less importance, because $K$ is not very sensitive to the shape of estimator, and different functions that produce good results can be used. In practice, the choice of an efficient method for the computation of $h$, for an observed data sample is a crucial problem, because of the effect of the bandwidth on the shape of the corresponding estimator. If the bandwidth is small, we will obtain an under smoothed estimator, with high variability. On the contrary, if the value of $h$ is big, the resulting estimator will be over smooth and farther from the function that we are trying to estimate.\\ An example is drawn in Figure \ref{Sec2:fig1} where we show in left four different kernel (Gaussian, biweight, triweight and tricube) estimators of the first derivative of a bimodal (separated) Gaussian density (Equation \ref{Sec2:eq3}), and a given value of $h=0.6$. On the right, using the Gaussian kernel and four different values for the bandwidth. \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= fx <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) kernels <- c("gaussian","biweight","triweight","tricube") plot(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[1]),col = 1,ylim=c(-0.6,0.6) ,sub="", main="") for (i in 2:length(kernels))lines(dkde(x = bimodal, deriv.order = 1, h = 0.6, kernel = kernels[i] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)),lty = c(8,rep(1,length(kernels))), inset = .015) @ <>= h <- c(0.14,0.3,0.6,1.2) plot(dkde(x = bimodal, deriv.order = 1, h = h[1], kernel = kernels[1]),col = 1,ylim=c(-0.6,1) ,sub="", main="") for (i in 2:length(h))lines(dkde(x = bimodal, deriv.order = 1, h = h[i], kernel = kernels[1] ), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c("TRUE",paste("h =",bquote(.(h)))), col = c("black",seq(h)),lty = c(8,rep(1,length(h))), inset = .015) @ \end{center} \caption{(Left) Different kernels for estimation, with $h=0.6$. (Right) Effect of the bandwidth on the kernel estimator.}\label{Sec2:fig1} \end{figure} We have implemented in \texttt{R} the function \code{dkde} corresponds to the derivative of kernel density estimator (Equation \ref{Sec2:eq1}). Eight possibilities are allowed for the kernel functions that are summarized in Table \ref{Sec1:Tab1}. We enumerate the arguments and results of this function in Table \ref{Sec2:Tab1}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{y} & The points of the grid at which the density derivative is to be estimated.\\ & The default are $4h$ outside of range($x$).\\ \code{deriv.order} & Derivative order (scalar). \\ \code{h} & The smoothing bandwidth to be used. The default, "ucv" unbiased cross-\\ & validation.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{eval.points} & The coordinates of the points where the density derivative is estimated.\\ \code{est.fx} & The estimated density derivative values (Equation \ref{Sec2:eq1}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{dkde}.}\label{Sec2:Tab1} \end{table}\\ Working with the dataset \code{'bimodal'} correspond to data sample of 200 random numbers of a bi-modality (separated) of a two-component Gaussian mixture density (Equation \ref{Sec2:eq2}), with the following parameters: $-\mu_{1}=\mu_{2} = 3/2$ and $\sigma_{1}=\sigma_{2}=1/2$. The \code{dkde} function enables to compute the $\rth$ derivative of kernel density estimator over a grid of points, with a bandwidth selected by the user, but it also allows to estimate directly this parameter by the unbiased cross-validation method \code{h.ucv} (see following Section). We have chosen this method as the automatic one because it is the fastest in computation time terms. Now we estimate the first three derivatives of $f(x)$, can be written as: \begin{eqnarray} % \nonumber to remove numbering (before each equation) f(x) &=& 0.5\phi(\mu_{1},\sigma_{1}) + 0.5\phi(\mu_{2},\sigma_{2}) \label{Sec2:eq2}\\ f^{(1)}(x) &=& 0.5(-4x-6) \phi(\mu_{1},\sigma_{1}) + 0.5(-4x+6)\phi(\mu_{2},\sigma_{2})\label{Sec2:eq3} \\ f^{(2)}(x) &=& 0.5\left(\left(-4x-6\right)^{2} - 4\right)\phi(\mu_{1},\sigma_{1})+ 0.5 \left(\left(-4x+6\right)^{2} - 4\right) \phi(\mu_{2},\sigma_{2})\label{Sec2:eq4}\\ f^{(3)}(x) &=& 0.5(-4x-6)\left(\left(-4x-6\right)^{2} - 12\right)\phi(\mu_{1},\sigma_{1})+0.5(-4x+6) \notag \\ & & \left(\left(-4x+6\right)^{2} - 12\right)\phi(\mu_{2},\sigma_{2})\label{Sec2:eq5} \end{eqnarray} where $\phi$ is a standard normal density. <>= hatf <- dkde(bimodal, deriv.order = 0) hatf1 <- dkde(bimodal, deriv.order = 1) hatf2 <- dkde(bimodal, deriv.order = 2) hatf3 <- dkde(bimodal, deriv.order = 3) @ By default, the function \code{dkde} selects a grid of 512 points in the data range and used the Gaussian kernel. The output is a list containing the estimated values in the points of the grid, this last sequence and the bandwidth $h$ (by default, using unbiased cross-validation method). In Figure \ref{Sec2:fig3} we show the first three derivatives estimators of $f(x)$ obtained with the code: <>= fx <- function(x) 0.5 * dnorm(x,-1.5,0.5) + 0.5 * dnorm(x,1.5,0.5) fx1 <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) fx2 <- function(x) 0.5 * ((-4*x-6)^2 - 4) * dnorm(x,-1.5,0.5) + 0.5 * ((-4*x+6)^2 - 4) * dnorm(x,1.5,0.5) fx3 <- function(x) 0.5 * (-4*x-6) * ((-4*x-6)^2 - 12) * dnorm(x,-1.5,0.5) + 0.5 * (-4*x+6) * ((-4*x+6)^2 - 12) * dnorm(x,1.5,0.5) plot(hatf ,fx = fx) plot(hatf1,fx = fx1) plot(hatf2,fx = fx2) plot(hatf3,fx = fx3) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(hatf,fx = fx,lwd=2,sub="",main="") @ <>= plot(hatf1,fx = fx1,lwd=2,sub="",main="") @ <>= plot(hatf2,fx = fx2,lwd=2,sub="",main="") @ <>= plot(hatf3,fx = fx3,lwd=2,sub="",main="") @ \end{center} \caption{Kernel density derivative estimates obtained with the function \code{dkde}. (top left) density estimate $\hat{f}_{h}(x)$. (top right) first derivative $\hat{f}^{(1)}_{h}(x)$. (bottom left) second derivative $\hat{f}^{(2)}_{h}(x)$. (bottom right) third derivative $\hat{f}^{(3)}_{h}(x)$.}\label{Sec2:fig3} \end{figure} \section{Bandwidth selections}\label{Sec3} Despite the great number of bandwidth selection techniques in kernel density estimator or regression estimation, as for example \cite{Rudemo1982,Bowman1984,ScottandGeorge1987,SheatherandJones1991,Chiu1991a,Chiu1991b,Chiu1992,FeluchandKoronacki1992,Stute1992,Jonesetall1996, Sheather2004,DuongandHazelton2003,DuongandHazelton2005,Heidenreichetall2013}, to the best of our knowledge, only few paper have been studied in the context of estimating the $\rth$ derivative of a density $f(x)$, see \citet{PeterandMarron1987,Wolfgangetall1990,JonesandKappenman1991,Stoker1993}. In this section we summarize the techniques of cross-validation methods for bandwidth choice in the kernel estimation of the derivatives of a probability density. The practicality of this methods is demonstrated by an example. \subsection{Optimal bandwidth} We Consider the following $\AMISE$ version of the $\rth$ derivative of a probability density $f(x)$ \cite[p. 131]{Scott1992}: \begin{equation}\label{Sec3:eq1} \AMISE(h,r)= \frac{\RK}{nh^{2r+1}} + \frac{1}{4} h^{4} \M2^{2}(K) \RR\left(f^{(r+2)}\right) \end{equation} The optimal bandwidth minimizing \eqref{Sec3:eq1} is: \begin{equation}\label{Sec3:eq2} h^{\ast} = \left[\frac{(2r+1)\RK}{\M2^{2}(K) \RR\left(f^{(r+2)}\right)}\right]^{1/(2r+5)} n^{-1/(2r+5)} \end{equation} whereof: \begin{equation}\label{Sec3:eq3} \AMISE(h,r) = \frac{2r+5}{4} \RK^{\frac{4}{(2r+5)}} \left[ \frac{\M2^{2}(K) \RR\left(f^{(r+2)}\right)}{2r+1} \right]^{\frac{2r+1}{2r+5}} n^{-\frac{4}{2r+5}} \end{equation} which is the smallest possible $\AMISE$ for estimation of $\hat{f}^{(r)}_{h}$. The function \code{h.amise} provides the optimal bandwidth under $\AMISE$. The same possibilities for the kernel function as in the function \code{dkde} appear here. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab1}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq2}).\\ \code{amise} & The $\AMISE$ value (Equation \ref{Sec3:eq3}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.amise}.}\label{Sec3:Tab1} \end{table}\\ The following example computes this bandwidth for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.amise(bimodal, deriv.order = 0) h.amise(bimodal, deriv.order = 1) h.amise(bimodal, deriv.order = 2) h.amise(bimodal, deriv.order = 3) @ \subsection{Maximum likelihood cross-validation} This method was proposed by \cite{Habbema1974} and \cite{Duin1976}. They proposed to choose $h$ so that the pseudo-likelihood $\prod_{i=1}^{n} \hat{f}_{h}(X_{i})$ is maximized. However this has a trivial maximum at $h = 0$, so the cross-validation principle is invoked by replacing $\hat{f}_{h}(x)$ by the leave-one-out $\hat{f}_{h,i}(x)$, where: $$\hat{f}_{h,i}(X_{i}) = \frac{1}{(n-1) h} \sum_{j \neq i} K\Z$$ Define that $h$ as good which approaches the finite maximum of \begin{equation}\label{Sec3:eq4} h_{mlcv} = \argmax {h > 0} \MLCV(h) \end{equation} \begin{equation}\label{Sec3:eq5} \MLCV(h) = \left(n^{-1} \sum_{i=1}^{n} \log\left[\sum_{j \neq i} K\Z\right]-\log[(n-1)h]\right) \end{equation} The function \code{h.mlcv} computed the maximum likelihood cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab2}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq4}).\\ \code{mlcv} & The $\MLCV$ value (Equation \ref{Sec3:eq5}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.mlcv}.}\label{Sec3:Tab2} \end{table}\\ The following example computes this bandwidth of bimodal Gaussian density (Equation \ref{Sec2:eq2}), by different kernels. <>= kernels <- eval(formals(h.mlcv.default)$kernel) hmlcv <- numeric() for(i in 1:length(kernels)) hmlcv[i] <- h.mlcv(bimodal, kernel = kernels[i])$h @ <>= data.frame(kernels,hmlcv) @ The plot of the maximal likelihood cross validation function $\MLCV$ is shown in Figure \ref{Sec3:fig1} for Gaussian kernel in the left, and Epanechnikov kernel in the right, obtained with the code: <>= plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50)) plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.mlcv(bimodal, kernel = kernels[1]), seq.bws = seq(0.1,1,length=50),sub="",main="") @ <>= plot(h.mlcv(bimodal, kernel = kernels[2]), seq.bws = seq(0.1,1,length=50),sub="",main="") @ \end{center} \caption{$\MLCV$ function obtained by \code{h.mlcv}, using Gaussian kernel (Left) and Epanechnikov kernel (Right).}\label{Sec3:fig1} \end{figure} \subsection{Unbiased cross-validation} \cite{Rudemo1982} and \cite{Bowman1984} proposed a so-called unbiased (least-squares) cross-validation ($\UCV$) in kernel density estimator, is probably the most popular and best studied one. An adaptation of unbiased cross-validation is proposed by \cite{Wolfgangetall1990} for bandwidth choice in the $\rth$ derivative of kernel density estimator. The essential idea of this methods, it aims to estimate $h$ the minimizer of $\ISE(h)$. The minimization criterion is defined by: \begin{equation}\label{Sec3:eq6} h_{ucv} = \argmin {h > 0 }\UCV(h,r) \end{equation} \begin{equation}\label{Sec3:eq7} \UCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \Sum2 \left(\ConvKr -2 K^{(2r)}\right)\Z \end{equation} In general, cross-validation functions in non-parametric bandwidth selection present several local minima. These minima are more likely to appear at too small values of the bandwidth \citep{PeterandMarron1991}. The function \code{h.ucv} computes the unbiased cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab3}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth (Equation \ref{Sec3:eq6}).\\ \code{min.ucv} & The minimal $\UCV$ value (Equation \ref{Sec3:eq7}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.ucv}.}\label{Sec3:Tab3} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.ucv(bimodal, deriv.order = 0) h.ucv(bimodal, deriv.order = 1) h.ucv(bimodal, deriv.order = 2) h.ucv(bimodal, deriv.order = 3) @ The plot of $\UCV$ function obtained with the code (Figure \ref{Sec3:fig2}): <>= for (i in 0:3) plot(h.ucv(bimodal, deriv.order = i)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.ucv(bimodal, deriv.order = 0),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 1),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 2),sub="",main="") @ <>= plot(h.ucv(bimodal, deriv.order = 3),sub="",main="") @ \end{center} \caption{$\UCV$ function obtained by \code{h.ucv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig2} \end{figure} \subsection{Biased cross-validation} Biased cross-validation was proposed by \cite{ScottandGeorge1987}, which has as its immediate target the $\AMISE$ \eqref{Sec3:eq1}. They proposed to estimate $\RR\left(f^{(r+2)}\right)$ by! $$\hat{\RR}\left(f^{(r+2)}\right) = \RR\left(\hat{f}^{(r+2)}_{h}\right) - \frac{\RR\left(K^{(r+2)}\right)}{nh^{2r+5}}$$ There are two versions of $\BCV$, depending on the estimator of $\RR\left(f^{(r+2)}\right)$. We can use \citep{ScottandGeorge1987} $$\hat{\RR}\left(f^{(r+2)}\right) = \frac{(-1)^{r+2}}{n(n-1)h^{2r+5}} \Sum2 K^{(r+2)} \ast K^{(r+2)} \Z$$ or we could use \citep{JonesandKappenman1991} $$\hat{\RR}\left(f^{(r+2)}\right) = \frac{(-1)^{r+2}}{n(n-1) h^{2r+5}} \Sum2 K^{(2r+4)} \Z$$ From this we obtain respectively an adaptation of biased cross-validation for bandwidth choice in the $\rth$ derivative of kernel density estimator, is given by: \begin{equation}\label{Sec3:eq8} \BCV_{1}(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{\M2^{2}(K)}{4} \frac{(-1)^{r+2}}{n(n-1)h^{2r+1}} \Sum2 K^{(r+2)} \ast K^{(r+2)} \Z \end{equation} \begin{equation}\label{Sec3:eq9} \BCV_{2}(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{\M2^{2}(K)}{4} \frac{(-1)^{r+2}}{n(n-1)h^{2r+1}} \Sum2 K^{(2r+4)} \Z \end{equation} The $\BCV$ selectors $h_{bcv_{1}}$ and $h_{bcv_{2}}$ are the minimisers of the appropriate $\BCV$ function. The function \code{h.bcv} computes the biased cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab4}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{whichbcv} & Method selected, \code{1 = BCV1} or \code{2 = BCV2}, by default \code{BCV1}. \\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.bcv} & The minimal $\BCV$ value (Equation \ref{Sec3:eq8} or \ref{Sec3:eq9}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.bcv}.}\label{Sec3:Tab4} \end{table}\\ The following example computes the bandwidth parameter by this method for kernel estimator of Equation \eqref{Sec2:eq2} and its first derivative estimators. <>= h.bcv(bimodal, whichbcv = 1, deriv.order = 0) h.bcv(bimodal, whichbcv = 2, deriv.order = 0) h.bcv(bimodal, whichbcv = 1, deriv.order = 1, lower=0.1, upper=0.8) h.bcv(bimodal, whichbcv = 2, deriv.order = 1, lower=0.1, upper=0.8) @ The plot of $\BCV$ function obtained with the code \code{h.bcv} (Figure \ref{Sec3:fig3}): <>= ## deriv.order = 0 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) ## deriv.order = 1 plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws = seq(0.1,0.8,length=50)) lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"), inset = .015) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 0),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) @ <>= plot(h.bcv(bimodal, whichbcv = 2, deriv.order = 1),seq.bws=seq(0.1,0.8,length=50),sub="",main="") lines(h.bcv(bimodal, whichbcv = 1, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("red","black"),inset = .015) @ \end{center} \caption{$\BCV$ function obtained by \code{h.bcv}. (Left) $\BCV_{1}$ vs $\BCV_{2}$ (\code{deriv.order = 0}). (Right) $\BCV_{1}$ vs $\BCV_{2}$ (\code{deriv.order = 1}).}\label{Sec3:fig3} \end{figure} \subsection{Complete cross-validation} \cite{JonesandKappenman1991} proposed a so-called complete cross-validation ($\CCV$) in kernel density estimator. This method can be extended to the estimation of derivative of the density, basing our estimate of integrated squared density derivative \citep{PeterandMarron1987} we get the following. Thus, $h_{ccv}$, say, is the $h$ that minimises: \begin{equation}\label{Sec3:eq10} \CCV(h,r) = \RR\left(\hatf\right) -\bar{\theta}_{r}(h) + \frac{1}{2}\M2(K) h^{2} \bar{\theta}_{r+1}(h)+ \frac{1}{24}\left(6\M2^{2}(K) -\delta(K)\right) h^{4}\bar{\theta}_{r+2}(h) \end{equation} where, $$\RR\left(\hatf\right) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \Sum2 \ConvKr \Z$$ and $$\bar{\theta}_{r}(h)= \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 K^{(2r)} \Z$$ with : $\delta(K) = \Intr x^{4} K(x) dx$.\\ The function \code{h.ccv} computes the complete cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab5}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.ccv} & The minimal $\CCV$ value (Equation \ref{Sec3:eq10}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.ccv}.}\label{Sec3:Tab5} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. This time we set Over-smoothing in \code{upper = 0.5}. <>= h.ccv(bimodal, deriv.order = 0, upper = 0.5) h.ccv(bimodal, deriv.order = 1, upper = 0.5) h.ccv(bimodal, deriv.order = 2, upper = 0.5) h.ccv(bimodal, deriv.order = 3, upper = 0.5) @ The plot of $\CCV$ function obtained with the code (Figure \ref{Sec3:fig4}): <>= for (i in 0:3) plot(h.ccv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.ccv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.ccv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ \end{center} \caption{$\CCV$ function obtained by \code{h.ccv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig4} \end{figure} \subsection{Modified cross-validation} \cite{Stute1992} proposed a so-called modified cross-validation ($\MCV$) in kernel density estimator. This method can be extended to the estimation of derivative of a probability density, the essential idea based on approximated the problematic term by the aid of the Hajek projection. The minimization criterion is defined by: \begin{equation}\label{Sec3:eq11} \MCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 \varphi^{(r)} \Z \end{equation} where$$ \varphi^{(r)} (c) = \left(\ConvKr - K^{(2r)} - \frac{\M2(K)}{2} K^{(2r+2)} \right)(c)$$ The function \code{h.mcv} computes the modified cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab6}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.mcv} & The minimal $\MCV$ value (Equation \ref{Sec3:eq11}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.mcv}.}\label{Sec3:Tab6} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. We set Over-smoothing in \code{upper = 0.5}. <>= h.mcv(bimodal, deriv.order = 0, upper = 0.5) h.mcv(bimodal, deriv.order = 1, upper = 0.5) h.mcv(bimodal, deriv.order = 2, upper = 0.5) h.mcv(bimodal, deriv.order = 3, upper = 0.5) @ The plot of $\MCV$ function obtained with the code (Figure \ref{Sec3:fig5}): <>= for (i in 0:3) plot(h.mcv(bimodal, deriv.order = i), seq.bws=seq(0.1,0.5,length=50)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.mcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 1),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 2),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ <>= plot(h.mcv(bimodal, deriv.order = 3),seq.bws=seq(0.1,0.5,length=50),sub="",main="") @ \end{center} \caption{$\MCV$ function obtained by \code{h.mcv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig5} \end{figure} \subsection{Trimmed cross-validation} \cite{FeluchandKoronacki1992} proposed a so-called trimmed cross-validation ($\TCV$) in kernel density estimator, a simple modification of the unbiased (least-squares) cross-validation criterion \eqref{Sec3:eq7}. We consider the following "trimmed" version of "unbiased", to be minimized with respect to $h$: \begin{equation}\label{Sec3:eq12} \TCV(h,r) = \frac{\RK}{nh^{2r+1}} + \frac{(-1)^r}{n(n-1) h^{2r+1}} \Sum2 \varphi^{(r)} \Z \end{equation} where$$ \varphi^{(r)} (c) = \left[\ConvKr - 2 K^{(2r)} 1\left(|c| > \frac{c_{n}}{h^{2r+1}}\right) \right](c)$$ $1(.)$ denotes the indicator function and $c_{n}$ is a sequence of positive constants, as $\lim_{n \to \infty} c_{n}/h \rightarrow 0$, here we take $c_{n} = 1/n$, for assure the convergence. The function \code{h.tcv} computes the trimmed cross-validation for bandwidth selection. We enumerate the arguments and results of this function in Table \ref{Sec3:Tab7}. \begin{table}[!ht] {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Arguments & Description \\ \hline \code{x} & The data sample.\\ \code{deriv.order} & Derivative order (scalar). \\ \code{lower,upper} & Range over which to minimize. The default is almost always satisfactory,\\ & \code{hos} (Over-smoothing) is calculated internally from an kernel.\\ \code{tol} & The convergence tolerance for optimize.\\ \code{kernel} & The kernel function (see Table \ref{Sec1:Tab1}), by default \code{"gaussian"}. \\ \hline Results & Description \\ \hline \code{h} & Value of bandwidth.\\ \code{min.tcv} & The minimal $\TCV$ value (Equation \ref{Sec3:eq12}).\\ \hline\hline \end{tabular} } \caption{Summary of arguments and results of \code{h.tcv}.}\label{Sec3:Tab7} \end{table}\\ The following example computes the bandwidth $h$ by this method for a first three derivatives estimators of \eqref{Sec2:eq2}. <>= h.tcv(bimodal, deriv.order = 0) h.tcv(bimodal, deriv.order = 1) h.tcv(bimodal, deriv.order = 2) h.tcv(bimodal, deriv.order = 3) @ The plot of $\TCV$ function obtained with the code (Figure \ref{Sec3:fig6}): <>= for (i in 0:3) plot(h.tcv(bimodal, deriv.order = i)) @ \setkeys{Gin}{width=0.45\textwidth} \begin{figure}[!ht] \begin{center} <>= plot(h.tcv(bimodal, deriv.order = 0),seq.bws=seq(0.1,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 1),seq.bws=seq(0.3,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 2),seq.bws=seq(0.5,1.5,length=50),sub="",main="") @ <>= plot(h.tcv(bimodal, deriv.order = 3),seq.bws=seq(0.5,1.5,length=50),sub="",main="") @ \end{center} \caption{$\TCV$ function obtained by \code{h.tcv}. (top left) \code{deriv.order = 0}. (top right) \code{deriv.order = 1}. (bottom left) \code{deriv.order = 2}. (bottom right) \code{deriv.order = 3}.}\label{Sec3:fig6} \end{figure} \vspace{3cm} \section{Summary} We have implemented in \texttt{R} the estimators of the defined functions and the bandwidth selection procedures of the above sections. The package \pkg{kedd} contains seven functions, in Table \ref{Sec4:Tab1} we can find a summary of the contents of the package. The current feature set of the package can be split in four main categories: compute the convolutions and derivatives of a kernel function, compute the kernel estimators for a density of probability and its derivatives, computing the bandwidth selectors with different methods, displaying the kernel estimators and selection functions of the bandwidth. Moreover, the package follows the general \texttt{R} philosophy of working with model objects. This means that instead of merely returning, say, a kernel estimator of $\rth$ derivative of a density, many functions will return an object containing, it's functions are S3 classes (\code{S3method}). The object can then be manipulated at one’s will using various extraction, summary or plotting functions. Whenever possible, we develop a graphical user interface of the various functions of a coherent whole, to facilitate the use of this package. \begin{table}[!ht] \begin{center} {\renewcommand{\arraystretch}{1} \begin{tabular}{ll} \hline\hline Function & Description \\ \hline \code{dkde} & Derivatives of kernel density estimator, as defined in Equation \ref{Sec2:eq1}.\\ \code{h.amise} & $\AMISE$ for optimal bandwidth selectors (Equation \ref{Sec3:eq3}). \\ \code{h.mlcv} & Maximum-likelihood cross-validation bandwidth selection (Equation \ref{Sec3:eq5}).\\ \code{h.ucv} & Unbiased cross-validation bandwidth selection (Equation \ref{Sec3:eq7}).\\ \code{h.bcv} & Biased cross-validation bandwidth selection (Equations \ref{Sec3:eq8} and \ref{Sec3:eq9}) .\\ \code{h.ccv} & Complete cross-validation bandwidth selection (Equation \ref{Sec3:eq10}).\\ \code{h.mcv} & Modified cross-validation bandwidth selection (Equation \ref{Sec3:eq11}).\\ \code{h.tcv} & Trimmed cross-validation bandwidth selection (Equation \ref{Sec3:eq12}).\\ \hline\hline \end{tabular} } \end{center} \caption{Summary of contents of the package.}\label{Sec4:Tab1} \end{table} \begin{thebibliography}{1} \expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi \expandafter\ifx\csname url\endcsname\relax \def\url#1{{\tt #1}}\fi \bibitem[Alekseev, 1972]{Alekseev} Alekseev, V. G. (1972). \newblock Estimation of a probability density function and its derivatives. \newblock \emph{Mathematical notes of the Academy of Sciences of the USSR}. \textbf{12}(5), 808--811. \bibitem[Alexandre, 2009]{Alexandre} Alexandre, B. T. (2009). \newblock \emph{Introduction to Nonparametric Estimation}. \newblock Springer-Verlag, New York. \bibitem[Bhattacharya, 1967]{Bhattacharya} Bhattacharya, P. K. (1967). \newblock Estimation of a probability density function and Its derivatives. \newblock \emph{Sankhya: The Indian Journal of Statistics, Series A}, \textbf{29}, 373--382. \bibitem[Bowman, 1984]{Bowman1984} Bowman, A. W. (1984). \newblock An alternative method of cross-validation for the smoothing of kernel density estimates. \newblock \emph{Biometrika}, \textbf{71}, 353--360. \bibitem[Bowman and Azzalini, 1997]{Bowman} Bowman, A. W. and Azzalini, A. (1997). \newblock \emph{Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations}. \newblock Oxford University Press, Oxford. \bibitem[Bowman and Azzalini, 2013]{smarticle} Bowman, A. W. and Azzalini, A. (2013). \newblock \texttt{R} package \pkg{sm}: nonparametric smoothing methods (version 2.2-5). \newblock \url{http://www.stats.gla.ac.uk/~adrian/sm, http://azzalini.stat.unipd.it/Book_sm} \bibitem[Chiu, 1991a]{Chiu1991a} Chiu, S.T. (1991a). \newblock Some stabilized bandwidth selectors for nonparametric regression. \newblock \emph{Ann. Stat.} \textbf{19}, 1528--1546. \bibitem[Chiu, 1991b]{Chiu1991b} Chiu, S.T. (1991b). \newblock Bandwidth selection for kernel density estimation. \newblock \emph{Ann. Stat.} \textbf{19}, 1883--1905. \bibitem[Chiu, 1992]{Chiu1992} Chiu, S.T. (1992). \newblock An automatic bandwidth selector for kernel density estimation. \newblock \emph{Biometrika}, \textbf{79}, 771--782. \bibitem[Duong, 2007]{ks} Duong, T. (2007). \newblock \pkg{ks}: {K}ernel density estimation and kernel discriminant analysis for multivariate data in \texttt{R}. \newblock {\em Journal of Statistical Software}. \textbf{21}(7). \bibitem[Duong and Hazelton, 2005]{DuongandHazelton2005} Duong, T. and Hazelton, M.L. (2005). \newblock Cross-validation bandwidth matrices for multivariate kernel density estimation. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{32}, 485--506. \bibitem[Duong and Hazelton, 2003]{DuongandHazelton2003} Duong, T. and Hazelton, M.L. (2003). \newblock Plug-in bandwidth selectors for bivariate kernel density estimation. \newblock \emph{Journal of Nonparametric Statistics}, \textbf{15}, 17--30. \bibitem[Duong and Matt, 2013]{feature} Duong, T. and Matt, W. (2013). \newblock \pkg{feature}: Feature significance for multivariate kernel density estimation. \newblock \texttt{R} package version 1.2.9. \newblock \url{http://CRAN.R-project.org/package=feature} \bibitem[Duin (1976)]{Duin1976} Duin, R. P. W. (1976). \newblock On the choice of smoothing parameters of Parzen estimators of probability density functions. \newblock \emph{IEEE Transactions on Computers}, \textbf{C-25}, 1175--1179. \bibitem[Feluch and Koronacki, 1992]{FeluchandKoronacki1992} Feluch, W. and Koronacki, J. (1992). \newblock A note on modified cross-validation in density estimation. \newblock \emph{Computational Statistics and Data Analysis}, \textbf{13}, 143--151. \bibitem[Guidoum, 2015]{kedd} Guidoum, A. C. (2015). \newblock \pkg{kedd}: Kernel estimator and bandwidth selection for density and its derivatives. \newblock \texttt{R} package version 1.0.3. \newblock \url{http://CRAN.R-project.org/package=kedd} \bibitem[Habbema, Hermans and Van den Broek (1974)]{Habbema1974} Habbema, J. D. F., Hermans, J., and Van den Broek, K. (1974). \newblock A stepwise discrimination analysis program using density estimation. \newblock \emph{Compstat 1974: Proceedings in Computational Statistics}. Physica Verlag, Vienna. \bibitem[Heidenreich et all, 2013]{Heidenreichetall2013} Heidenreich, N. B., Schindler, A. and Sperlich, S. (2013). \newblock Bandwidth selection for kernel density estimation: a review of fully automatic selectors. \newblock \emph{Advances in Statistical Analysis}. \bibitem[Jeffrey, 1996]{Jeffrey} Jeffrey, S. S. (1996). \newblock \emph{Smoothing Methods in Statistics}. \newblock Springer-Verlag, New York. \bibitem[Jones and Kappenman, 1991]{JonesandKappenman1991} Jones, M. C. and Kappenman, R. F. (1991). \newblock On a class of kernel density estimate bandwidth selectors. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{19}, 337--349. \bibitem[Jones et all, 1996]{Jonesetall1996} Jones, M. C., Marron, J. S. and Sheather,S. J. (1996). \newblock A brief survey of bandwidth selection for density estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{91}, 401--407. \bibitem[Olver et all, 2010]{Olver} Olver, F. W., Lozier, D. W., Boisvert, R. F. and Clark, C. W. (2010). \newblock \emph{NIST Handbook of Mathematical Functions}. \newblock Cambridge University Press, New York, USA. \bibitem[Peter and Marron, 1987]{PeterandMarron1987} Peter, H. and Marron, J.S. (1987). \newblock Estimation of integrated squared density derivatives. \newblock \emph{Statistics and Probability Letters}, \textbf{6}, 109--115. \bibitem[Peter and Marron, 1991]{PeterandMarron1991} Peter, H. and Marron, J.S. (1991). \newblock Local minima in cross-validation functions. \newblock \emph{Journal of the Royal Statistical Society, Series B}, \textbf{53}, 245--252. \bibitem[\texttt{R} Development Core Team (2015)]{R} R Development Core Team (2015). \newblock {\em \texttt{R}: A Language and Environment for Statistical Computing}. \newblock Vienna, Austria. \newblock \url{http://www.R-project.org/} \bibitem[Rudemo, 1982]{Rudemo1982} Rudemo, M. (1982). \newblock Empirical choice of histograms and kernel density estimators. \newblock \emph{Scandinavian Journal of Statistics}, \textbf{9}, 65--78. \bibitem[Schuster, 1969]{Schuster} Schuster, E. F. (1969). \newblock Estimation of a probability density function and its derivatives. \newblock \emph{The Annals of Mathematical Statistics}, \textbf{40}(4), 1187--1195. \bibitem[Scott, 1992]{Scott1992} Scott, D. W. (1992). \newblock \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. \newblock New York: Wiley. \bibitem[Scott and George, 1987]{ScottandGeorge1987} Scott, D.W. and George, R. T. (1987). \newblock Biased and unbiased cross-validation in density estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{82}, 1131--1146. \bibitem[Sheather, 2004]{Sheather2004} Sheather, S. J. (2004). \newblock Density estimation. \newblock \emph{Statistical Science}, \textbf{19}, 588--597. \bibitem[Sheather and Jones, 1991]{SheatherandJones1991} Sheather, S. J. and Jones, M. C. (1991). \newblock A reliable data-based bandwidth selection method for kernel density estimation. \newblock \emph{Journal of the Royal Statistical Society, Series B}, \textbf{53}, 683--690. \bibitem[Silverman, 1986]{Silverman} Silverman, B. W. (1986). \newblock \emph{Density Estimation for Statistics and Data Analysis}. \newblock Chapman \& Hall/CRC. London. \bibitem[Singh, 1977]{Singh1977} Singh, R. S. (1990). \newblock Applications of estimators of a density and its derivatives\textbf{39}(3), 357--363. \bibitem[Stoker, 1993]{Stoker1993} Stoker, T. M. (1993). \newblock Smoothing bias in density derivative estimation. \newblock \emph{Journal of the American Statistical Association}, \textbf{88}, 855--863. \bibitem[Stute, 1992]{Stute1992} Stute, W. (1992). \newblock Modified cross validation in density estimation. \newblock \emph{Journal of Statistical Planning and Inference}, \textbf{30}, 293--305. \bibitem[Tristen and Jeffrey, 2008]{np} Tristen, H. and Jeffrey, S. R. (2008). \newblock Nonparametric Econometrics: The \pkg{np} Package. \newblock {\em Journal of Statistical Software}. \textbf{27 (5)}. \bibitem[Wand and Jones, 1995]{WandandJones} Wand, M. P. and Jones, M. C. (1995). \newblock \emph{Kernel Smoothing}. \newblock Chapman and Hall, London. \bibitem[Wand and Ripley, 2013]{KernSmooth} Wand, M.P. and Ripley, B. D. (2013). \newblock \pkg{KernSmooth}: Functions for kernel smoothing for Wand and Jones (1995). \newblock \texttt{R} package version 2.23-10. \newblock \url{http://CRAN.R-project.org/package=KernSmooth} \bibitem[Wolfgang, 1991]{Wolfgang} Wolfgang, H. (1991). \newblock \emph{Smoothing Techniques, With Implementation in S}. \newblock Springer-Verlag, New York. \bibitem[Wolfgang et all, 1990]{Wolfgangetall1990} Wolfgang, H., Marron, J. S. and Wand, M. P. (1990). \newblock Bandwidth choice for density derivatives. \newblock \emph{Journal of the Royal Statistical Society, Series B}, 223--232. \bibitem[Wolfgang et all, 2004]{Wolfgangetall} Wolfgang, H., Marlene, M., Stefan, S. and Axel, W. (2004). \newblock \emph{Nonparametric and Semiparametric Models}. \newblock Springer-Verlag, Berlin Heidelberg. \bibitem[Venables and Ripley, 2002]{VenablesandRipley} Venables, W. N. and Ripley, B. D. (2002). \newblock \emph{Modern Applied Statistics with S}. \newblock New York: Springer. \end{thebibliography} \end{document}kedd/vignettes/intro.Rnw0000644000176200001440000001105512614740640015022 0ustar liggesusers\documentclass{article} \usepackage{graphicx} \usepackage{amsmath,amssymb,amsthm,amsopn,array,natbib,titling} \usepackage[utf8]{inputenc} \usepackage{authblk} \usepackage{hyperref} \usepackage[english]{babel} \usepackage[scaled=0.9]{helvet} \usepackage[sc]{mathpazo} \usepackage{Sweave} \usepackage{color} \definecolor{link}{rgb}{0.45,0.51,0.67} \hypersetup{ colorlinks,% citecolor=link,% filecolor=link,% linkcolor=link,% urlcolor=link } %% load any required packages here \renewcommand{\today}{\begingroup \number \day\space \ifcase \month \or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space \number \year \endgroup} \def\rth{r^{th}} \let\code=\texttt \let\proglang=\texttt \let\pkg=\texttt \newcommand{\CRANpkg}[1]{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}}% \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \let\cpkg=\CRANpkg \bibliographystyle{plainnat} %\VignetteIndexEntry{Introduction to kedd} %\VignettePackage{kedd} \begin{document} \title{\bfseries Introduction to \pkg{kedd}} \author{by Arsalane Chouaib Guidoum\thanks{Department of Probabilities \& Statistics.\\Faculty of Mathematics. \\University of Science and Technology Houari Boumediene.\\ BP 32 El-Alia, U.S.T.H.B, Algeria.\\ \email{acguidoum@usthb.dz}}} \date{\today} \maketitle \section{Introduction} \pkg{kedd} \citep{kedd} is a package providing additional smoothing techniques to the \texttt{R} statistical system. Although various packages on the Comprehensive \texttt{R} Archive Network (CRAN) provide functions useful to nonparametric statistics, \pkg{kedd} aims to serve as a central location for more specifically of a nonparametric functions and data sets. The project was officially launched in December 2012 and is under active development. The current feature set of the package can be split in four main categories: compute the convolutions and derivatives of a kernel function, compute the kernel estimators for a density of probability and its derivatives, computing the bandwidth selectors with different methods, displaying the kernel estimators and selection functions of the bandwidth. Moreover, the package follows the general \texttt{R} philosophy of working with model objects. This means that instead of merely returning, say, a kernel estimator of $\rth$ derivative of a density, many functions will return an object containing, it's functions are S3 classes (\code{S3method}). The object can then be manipulated at one’s will using various extraction, summary or plotting functions. Whenever possible, we develop a graphical user interface of the various functions of a coherent whole, to facilitate the use of this package. \section{Documentation} It is a requirement of the \texttt{R} packaging system that every function and data set in a package has a help page. The \pkg{kedd} package follows this requirement strictly. In addition to the help pages, the package includes vignettes and demonstration scripts; running <>= vignette(package = "kedd") @ and <>= demo(package = "kedd") @ at the \texttt{R} prompt will give the list of each. \section{Requirements} \texttt{R} version >= 2.15.0. \section{Licence} This package and its documentation are usable under the terms of the "GNU General Public License", a copy of which is distributed with the package. \section{Collaboration and citation} Obviously, the package leaves many other fields of nonparametric statistics untouched. For this situation to change, we hope that experts in their field will join their efforts to ours and contribute code to the \pkg{kedd} project. The project will continue to grow and to improve by and for the community of developers and users. If you use \pkg{kedd} for smoothing techniques and computing bandwidth selectors of the $\rth$ derivative of a probability density, please cite the software in publications. Use <>= citation() @ or <>= citation("kedd") @ for information on how to cite the software. \section*{Note} Please send comments, error reports, etc. to the author via the addresses email. \begin{thebibliography}{1} \expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi \expandafter\ifx\csname url\endcsname\relax \def\url#1{{\tt #1}}\fi \bibitem[Guidoum, 2015]{kedd} Guidoum, A. C. (2015). \newblock \pkg{kedd}: Kernel estimator and bandwidth selection for density and its derivatives. \newblock \texttt{R} package version 1.0.3. \newblock \url{http://CRAN.R-project.org/package=kedd} \end{thebibliography} \end{document} kedd/MD50000644000176200001440000000504112614775365011511 0ustar liggesusers22d10973a19c5b47a56063a0f966973b *DESCRIPTION ff478c2d745c0fcaccb5c5512bb0edec *NAMESPACE 33fa2fdfa9575a278aa42fd11ec8fde0 *NEWS edb8b8e833de7114bf2c78a5fe2815c5 *R/AMISE.R f6d9200a93faaf97f5a3522912e13892 *R/BCV.R 44f186462327282597f8c40adccb3173 *R/CCV.R 578c8fe528d47d3f919ac8a312e025f5 *R/MCV.R 3c8d7bf4b231daa5fc46809d3c93484e *R/MLCV.R 5e1badb27d2e5bb120905506c4a7ba90 *R/TCV.R 533ed3698acd96173d58a309d5036a2d *R/UCV.R f2d49390f5fc00a97928f2e85b063563 *R/dkde.R 998bfdecf2f42e959ed389a5540e8fa5 *R/kernel.R b85646e7b187a331a297741571bae434 *R/utils.R 8a0b1f0c54e028f585449c8cffe24828 *build/vignette.rds 8e74a4e4b226a3d61ca1cf47e853be4a *data/bimodal.rda 33bd82497da86fe085ba2fdff451104c *data/claw.rda 1cb22e7d41066b1abba52da624fccfc9 *data/kurtotic.rda 455ae8d4b056e17386e7dcc215fef4b9 *data/outlier.rda 342ed9ed0633fc87c1b6b8e93ba93c1c *data/trimodal.rda b6a6fc610e4d5c50e139584844f6025a *demo/00Index 1f51ee57b46aa20ed84bba39774258c1 *demo/kedd.R 50d6c2080dddb8f307f51a654debd708 *inst/CITATION ff7451022eebc094eadacd4f846bef82 *inst/doc/Thumbs.db 822473d992d6b1a3ba6c9e75f88a9b0b *inst/doc/intro.R ba35671e7e3a63971e2a24f5a5a65755 *inst/doc/intro.Rnw fa02c70b68e65b96e4fa3d306ef08760 *inst/doc/intro.pdf 71e0ab5f0322d13359f7692893803db9 *inst/doc/kedd.R 5642242c2b8aa11389da53db7785d73e *inst/doc/kedd.Rnw 5ca6f399017af6df95ac575110e57f46 *inst/doc/kedd.pdf 7c51660c39f0e7cc834a3b600142a3f7 *man/claw.Rd 6a791ad20deb6ab3223d699c565b7abb *man/dkde.Rd 152cc7e51441b5b421760a1c264d13b8 *man/h.amise.Rd 8b65d02a1f6411a77cd36d3d58ce3a1a *man/h.bcv.Rd 2ecd9d35b9016bfc23419a60ad99ceb7 *man/h.ccv.Rd 18daaa43c9498a8470dbb28b53e6e1d3 *man/h.mcv.Rd 4b6199f72c22f201db5cc9d94c305000 *man/h.mlcv.Rd 930c3fff7f0cbfaec406c470e0dc68f4 *man/h.tcv.Rd df201d1546437e099d1013feddf9ea15 *man/h.ucv.Rd 326225e603f7b24069293b1e349615e5 *man/kedd-package.Rd c92866ad5bcd629bbd9dcf35aa15130f *man/kernel.conv.Rd 40f972aa03d24ca26f017941034e6d8f *man/kernel.fun.Rd fcaed1a1f6f45bc4ea1f8cf287696f15 *man/plot.dkde.Rd c7850224bcd4cfdc5217cb06c3713a91 *man/plot.h.amise.Rd ad3cb53e45290f69f087397823ec71b4 *man/plot.h.bcv.Rd e7b6b6f53992cd6405d0ab2737d4332c *man/plot.h.ccv.Rd aab6ac3f50e2fb8f7f4c186380772e9b *man/plot.h.mcv.Rd 158081da82fb371d31b8e807fa0eb1aa *man/plot.h.mlcv.Rd ca9b72cf8d313e52f2a6e38527f9680d *man/plot.h.tcv.Rd f85203a2c5780749307966df3deeed9a *man/plot.h.ucv.Rd b1494c916d5e5002148fcf62d293b22b *man/plot.kernel.conv.Rd d729c28befd325f760323aedc3aa5f0d *man/plot.kernel.fun.Rd ba35671e7e3a63971e2a24f5a5a65755 *vignettes/intro.Rnw 5642242c2b8aa11389da53db7785d73e *vignettes/kedd.Rnw kedd/build/0000755000176200001440000000000012614740771012271 5ustar liggesuserskedd/build/vignette.rds0000644000176200001440000000040412614740771014626 0ustar liggesusersuON0 IHHiڴ B,dJ̪M&9~~[!2gr.%\!gET B'FA{8OxTdTFwj:H-s 4t4Hó" Depends: R (>= 2.15.0) Description: Smoothing techniques and computing bandwidth selectors of the nth derivative of a probability density for one-dimensional data. License: GPL (>= 2) LazyLoad: yes LazyData: yes Classification/MSC: 62G05, 62G07, 65D10, 68N15 NeedsCompilation: no Packaged: 2015-10-30 19:16:09 UTC; A.C Repository: CRAN Date/Publication: 2015-10-31 00:19:16 kedd/man/0000755000176200001440000000000012614740640011740 5ustar liggesuserskedd/man/plot.h.mlcv.Rd0000644000176200001440000000255312614740640014400 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.mlcv} \alias{plot.h.mlcv} \alias{lines.h.mlcv} \title{ Plot for Maximum-Likelihood Cross-validation } \description{ The \code{\link{plot.h.mlcv}} function loops through calls to the \code{\link{h.mlcv}} function. Plot for maximum-likelihood cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.mlcv}(x, seq.bws=NULL, \dots) \method{lines}{h.mlcv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.mlcv} (output from \code{\link{h.mlcv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the maximum- likelihood cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d maximum-likelihood cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{seq.bws}{the sequence of bandwidths.} \item{mlcv}{the values of the maximum-likelihood cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.mlcv}}. } \examples{ plot(h.mlcv(bimodal)) } \keyword{plot} kedd/man/h.amise.Rd0000644000176200001440000001076712614740640013566 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{h.amise} \alias{h.amise} \alias{h.amise.default} \alias{print.h.amise} \title{ AMISE for Optimal Bandwidth Selectors } \description{ The (S3) generic function \code{h.amise} evaluates the asymptotic mean integrated squared error \bold{AMISE} for optimal smoothing parameters \eqn{h} of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.amise(x, \dots) \method{h.amise}{default}(x, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "triweight", "tricube", "biweight", "cosine"), \dots) } \arguments{ \item{x}{vector of data values.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.amise} asymptotic mean integrated squared error implements for choosing the optimal bandwidth \eqn{h} of a r'th derivative kernel density estimator.\cr We Consider the following AMISE version of the r'th derivative of \eqn{f} the r'th derivative of the kernel estimate (see Scott 1992, pp 131): \deqn{AMISE(h;r)= \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{1}{4} h^{4} \mu_{2}^{2}(K) R\left(f^{(r+2)}\right)}{AMISE(h;r)= R(K(x;r))/ n h^(2r+1) + 0.25 mu(K(x))^2 h^4 R(f(x;r+2))} The optimal bandwidth minimizing this function is: \deqn{h_{(r)}^{\ast} = \left[\frac{(2r+1)R\left(K^{(r)}\right)}{\mu_{2}^{2}(K) R\left(f^{(r+2)}\right)}\right]^{1/(2r+5)} n^{-1/(2r+5)}}{h(r) = ( ((2r+1)R(K(x;r)))/(mu(K(x))^2 R(f(x;r+2))) )^(1/(2r+5)) n^-1/(2r+5)} whereof \deqn{\inf_{h > 0} AMISE(h;r) = \frac{2r+5}{4} R\left(K^{(r)}\right)^{\frac{4}{(2r+5)}} \left[ \frac{\mu_{2}^{2}(K)R\left(f^{(r+2)}\right)}{2r+1} \right]^{\frac{2r+1}{2r+5}} n^{-\frac{4}{2r+5}}}{inf AMISE(h;r) = 2r+5/4 R(K(x;r))^(4/2r+5) ((mu(K(x))^2 R(f(x;r+2)))/(2r+1))^((2r+1)/(2r+5)) n^-4/2r+5} which is the smallest possible AMISE for estimation of \eqn{f^{(r)}(x)}{f(x;r)} using the kernel \eqn{K(x)}{K(x)}, where \eqn{R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx}{R(K(x;r)) = int K(x;r)^2 dx} and \eqn{\mu_{2}(K) = \int_{R}x^{2} K(x) dx}{mu(K(x)) = int x^2 K(x) dx}.\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{h}{value of bandwidth parameter.} \item{amise}{the AMISE value.} } \references{ Bowman, A. W. and Azzalini, A. (1997). \emph{Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations}. Oxford University Press, Oxford. Radhey, S. S. (1987). MISE of kernel estimates of a density and its derivatives. \emph{Statistics and Probability Letters}, \bold{5}, 153--159. Scott, D. W. (1992). \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. New York: Wiley. Sheather, S. J. (2004). Density estimation. \emph{Statistical Science}, \bold{19}, 588--597. Silverman, B. W. (1986). \emph{Density Estimation for Statistics and Data Analysis}. Chapman & Hall/CRC. London. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing}. Chapman and Hall, London. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.amise}}, see \code{\link[sm]{nmise}} in package \CRANpkg{sm} this function evaluates the mean integrated squared error of a density estimate (\code{deriv.order = 0}) which is constructed from data which follow a normal distribution. } \examples{ ## Derivative order = 0 h.amise(kurtotic,deriv.order = 0) ## Derivative order = 1 h.amise(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/plot.kernel.fun.Rd0000644000176200001440000000252612614740640015260 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.kernel.fun} \alias{plot.kernel.fun} \title{ Plot of r'th Derivative Kernel Function } \description{ The \code{\link{plot.kernel.fun}} function loops through calls to the \code{\link{kernel.fun}} function. Plot for r'th derivative kernel function one-dimensional. } \usage{ \method{plot}{kernel.fun}(x, \dots) } \arguments{ \item{x}{object of class \code{kernel.fun} (output from \code{\link{kernel.fun}}).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d for r'th derivative kernel function are sent to graphics window. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{kernel.fun}}. } \examples{ ## Gaussian kernel dev.new() par(mfrow=c(2,2)) plot(kernel.fun(kernel="gaussian",deriv.order=0)) plot(kernel.fun(kernel="gaussian",deriv.order=1)) plot(kernel.fun(kernel="gaussian",deriv.order=2)) plot(kernel.fun(kernel="gaussian",deriv.order=3)) ## Silverman kernel dev.new() par(mfrow=c(2,2)) plot(kernel.fun(kernel="silverman",deriv.order=0)) plot(kernel.fun(kernel="silverman",deriv.order=1)) plot(kernel.fun(kernel="silverman",deriv.order=2)) plot(kernel.fun(kernel="silverman",deriv.order=3)) } \keyword{plot} kedd/man/h.bcv.Rd0000644000176200001440000001441312614740640013232 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{h.bcv} \alias{h.bcv} \alias{h.bcv.default} \alias{print.h.bcv} \title{ Biased Cross-Validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.bcv} computes the biased cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.bcv(x, \dots) \method{h.bcv}{default}(x, whichbcv = 1, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, tol = 0.1 * lower, kernel = c("gaussian","epanechnikov", "triweight","tricube","biweight","cosine"), \dots) } \arguments{ \item{x}{vector of data values.} \item{whichbcv}{method selected, \code{1 = BCV1} or \code{2 = BCV2}, see details.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.bcv} biased cross-validation implements for choosing the bandwidth \eqn{h} of a r'th derivative kernel density estimator. if \code{whichbcv = 1} then \bold{BCV1} is selected (Scott and George 1987), and if \code{whichbcv = 2} used \bold{BCV2} (Jones and Kappenman 1991).\cr Scott and George (1987) suggest a method which has as its immediate target the \bold{AMISE} (e.g. Silverman 1986, section 3.3). We denote \eqn{\hat{\theta}_{r}(h)}{hat(theta)(h;r)} and \eqn{\bar{\theta}_{r}(h)}{bar(theta)(h;r)} (Peter and Marron 1987, Jones and Kappenman 1991) by: %%\deqn{\hat{\theta}_{r}(h) = (n-1)^{-1} n R\left(\hat{f}_{h}^{(r)}\right) - (n-1)^{-1} h^{-2r-1} R\left(K^{(r)}\right)}{} \deqn{\hat{\theta}_{r}(h)= \frac{(-1)^{r}}{n(n-1)h^{2r+1}} \sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} K^{(r)} \ast K^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{hat(theta)(h;r) = (-1)^r / n(n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r)(x(j)-x(i)/h)), i=1...n, j=1...n, j != i)} and %%\deqn{\bar{\theta}_{r}(h) = (-1)^{r} n^{-1} \sum_{i=1}^{n} \hat{f}_{h,i}^{(2r)}(X_{i})}{} \deqn{\bar{\theta}_{r}(h)= \frac{(-1)^r}{n(n-1) h^{2r+1}} \sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} K^{(2r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{bar(theta)(h;r) = (-1)^r / n(n-1) h^(2r+1) sum(sum(K((x(j)-x(i)/h);2r)), i=1...n, j=1...n, j != i)} Scott and George (1987) proposed using \eqn{\hat{\theta}_{r}(h)}{hat(theta)(h;r)} to estimate \eqn{f^{(r)}(x)}{f(x;r)}. Thus, \eqn{\hat{h}^{(r)}_{BCV1}}{h(r)_(BCV1)}, say, is the \eqn{h} that minimises: \deqn{BCV1(h;r)= \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{1}{4} \mu_{2}^{2}(K) h^{4} \hat{\theta}_{r+2}(h)}{BCV1(h;r) = R(K(x;r))/ n h^(2r+1) + 0.25 mu(K(x))^2 h^4 hat(theta)(h;r+2)} and we define \eqn{\hat{h}^{(r)}_{BCV2}}{h(r)_(BCV2)} as the minimiser of (Jones and Kappenman 1991): \deqn{BCV2(h;r)= \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{1}{4} \mu_{2}^{2}(K) h^{4} \bar{\theta}_{r+2}(h)}{BCV2(h;r) = R(K(x;r))/ n h^(2r+1) + 0.25 mu(K(x))^2 h^4 bar(theta)(h;r+2)} where \eqn{K^{(r)} \ast K^{(r)} (x)}{K(x;r)*K(x;r)} is the convolution of the r'th derivative kernel function \eqn{K^{(r)}(x)}{K(x;r)} (see \code{\link{kernel.conv}} and \code{\link{kernel.fun}}); \eqn{R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx}{R(K(x;r)) = int K(x;r)^2 dx} and \eqn{\mu_{2}(K) = \int_{R}x^{2} K(x) dx}{mu(K(x)) = int x^2 K(x) dx}.\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{whichbcv}{method selected.} \item{h}{value of bandwidth parameter.} \item{min.bcv}{the minimal BCV value.} } \references{ Jones, M. C. and Kappenman, R. F. (1991). On a class of kernel density estimate bandwidth selectors. \emph{Scandinavian Journal of Statistics}, \bold{19}, 337--349. Jones, M. C., Marron, J. S. and Sheather,S. J. (1996). A brief survey of bandwidth selection for density estimation. \emph{Journal of the American Statistical Association}, \bold{91}, 401--407. Peter, H. and Marron, J.S. (1987). Estimation of integrated squared density derivatives. \emph{Statistics and Probability Letters}, \bold{6}, 109--115. Scott, D.W. and George, R. T. (1987). Biased and unbiased cross-validation in density estimation. \emph{Journal of the American Statistical Association}, \bold{82}, 1131--1146. Sheather,S. J. (2004). Density estimation. \emph{Statistical Science}, \bold{19}, 588--597. Tarn, D. (2007). \CRANpkg{ks}: Kernel density estimation and kernel discriminant analysis for multivariate data in \R. \emph{Journal of Statistical Software}, \bold{21}(7), 1--16. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing}. Chapman and Hall, London. Wolfgang, H. (1991). \emph{Smoothing Techniques}, \emph{With Implementation in S}. Springer-Verlag, New York. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.bcv}}, see \code{\link[stats]{bw.bcv}} in package "stats" and \code{\link[MASS]{bcv}} in package \CRANpkg{MASS} for Gaussian kernel only if \code{deriv.order = 0}, \code{\link[ks]{Hbcv}} for bivariate data in package \CRANpkg{ks} for Gaussian kernel only if \code{deriv.order = 0}, \code{\link[locfit]{kdeb}} in package \CRANpkg{locfit} if \code{deriv.order = 0}. } \examples{ ## EXAMPLE 1: x <- rnorm(100) h.bcv(x,whichbcv = 1, deriv.order = 0) h.bcv(x,whichbcv = 2, deriv.order = 0) ## EXAMPLE 2: ## Derivative order = 0 h.bcv(kurtotic,deriv.order = 0) ## Derivative order = 1 h.bcv(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/dkde.Rd0000644000176200001440000002372112614740640013143 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{dkde} \alias{dkde} \alias{dkde.default} \alias{print.dkde} \title{ Derivatives of Kernel Density Estimator } \description{ The (S3) generic function \code{dkde} computes the r'th derivative of kernel density estimator for one-dimensional data. Its default method does so with the given kernel and bandwidth \eqn{h} for one-dimensional observations. } \usage{ dkde(x, \dots) \method{dkde}{default}(x, y = NULL, deriv.order = 0, h, kernel = c("gaussian", "epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine"), \dots) } \arguments{ \item{x}{the data from which the estimate is to be computed.} \item{y}{the points of the grid at which the density derivative is to be estimated; the defaults are \eqn{\tau * h} outside of range(\eqn{x}), where \eqn{\tau = 4}.} \item{deriv.order}{derivative order (scalar).} \item{h}{the smoothing bandwidth to be used, can also be a character string giving a rule to choose the bandwidth, see \code{\link{h.bcv}}. The default \code{\link{h.ucv}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ A simple estimator for the density derivative can be obtained by taking the derivative of the kernel density estimate. If the kernel \eqn{K(x)} is differentiable \eqn{r} times then the r'th density derivative estimate can be written as: \deqn{\hat{f}^{(r)}_{h}(x)=\frac{1}{nh^{r+1}}\sum_{i=1}^{n} K^{(r)}\left(\frac{x-X_{i}}{h}\right)}{hat(f)(x;r) = n^-1 h^-(r+1) sum(K(x-X(i)/h),i=1...n)} where, \deqn{K^{(r)}(x) = \frac{d^{r}}{d x^{r}} K(x)}{K(x;r) = d^r /d x^r K(x)} for \eqn{r = 0, 1, 2, \dots} The following assumptions on the density \eqn{f^{(r)}(x)}{f(x;r)}, the bandwidth \eqn{h}, and the kernel \eqn{K(x)}: \enumerate{ \item{}{The \eqn{(r+2)} derivative \eqn{f^{(r+2)}(x)}{f(x;r+2)} is continuous, square integrable and ultimately monotone.} \item{}{\eqn{\lim_{n \to \infty} h = 0}{lim_(n -- > Inf) h = 0} and \eqn{\lim_{n \to \infty}n h^{2r+1} = \infty}{lim_(n --> Inf) nh^(2r+1) = Inf} i.e., as the number of samples \eqn{n} is increased \eqn{h} approaches zero at a rate slower than \eqn{1/n^{2r+1}}.} \item{}{\eqn{K(x) \geq 0}{K(x) >= 0} and \eqn{\int_{R} K(x) dx = 1}{int K(x) dx = 1}. The kernel function is assumed to be symmetric about the origin i.e., \eqn{\int_{R} xK^{(r)}(x) dx = 0}{int x k(x;r) dx = 0} for even \eqn{r} and has finite second moment i.e., \eqn{\mu_{2}(K)=\int_{R}x^{2} K(x) dx < \infty}{mu(K(x)) = int x^2 K(x) dx < Inf}.} } Some theoretical properties of the estimator \eqn{\hat{f}^{(r)}_{h}}{hat(f)(x;r)} have been investigated, among others, by Bhattacharya (1967), Schuster (1969). Let us now turn to the statistical properties of estimator. We are interested in the mean squared error since it combines squared bias and variance. The \bold{bias} can be written as: \deqn{E\left[\hat{f}^{(r)}_{h}(x)\right]- f^{(r)}(x) = \frac{1}{2}h^{2}\mu_{2}(K) f^{(r+2)}(x)+o(h^{2})}{E[hat(f)(x;r)] - f(x;r) = 0.5 h^2 mu(K(x)) f(x;r+2) + o(h^2)} The \bold{variance} of the estimator can be written as: \deqn{VAR\left[\hat{f}^{(r)}_{h}(x)\right]=\frac{f(x) R\left(K^{(r)}\right)}{nh^{2r+1}} + o(1/nh^{2r+1})}{VAR(hat(f)(x;r)) = f(x) R(K(x;r)) / n h^(2r+1) + o(1/nh^(2r+1)) } with, \eqn{R\left(K^{(r)}\right) = \int_{R} \left(K^{(r)}(x)\right)^{2}dx.}{R(K(x;r)) = int K(x;r)^2 dx.} The \bold{MSE} (Mean Squared Error) for kernel density derivative estimators can be written as: \deqn{MSE\left(\hat{f}^{(r)}_{h}(x),f^{(r)}(x)\right)=\frac{f(x)R\left(K^{(r)}\right)}{nh^{2r+1}}+\frac{1}{4}h^{4}\mu_{2}^{2}(K) f^{(r+1)}(x)^{2}+o(h^{4}+1/nh^{2r+1})}{MSE(hat(f)(x;r),f(x;r)) = f(x) R(K(x;r)) / nh^(2r+1) + 1/4 h^4 mu(K(x))^2 f(x;r+1)^2 + o(h^4 + 1/ nh^(2r+1))} It follows that the MSE-optimal bandwidth for estimating \eqn{\hat{f}^{(r)}_{h}S(x)}{hat(f)(x;r)}, is of order \eqn{n^{-1/(2r+5)}}{n^(-1/2r+5)}. Therefore, the estimation of \eqn{\hat{f}^{(1)}_{h}(x)}{hat(f)(x;1)} requires a bandwidth of order \eqn{n^{-1/7}}{n^-1/7} compared to the optimal \eqn{n^{-1/5}}{n^-1/5} for estimating \eqn{f(x)}{f(x)} itself. It reveals the increasing difficulty in problems of estimating higher derivatives.\cr The \bold{MISE} (Mean Integrated Squared Error) can be written as: \deqn{MISE\left(\hat{f}^{(r)}_{h}(x),f^{(r)}(x)\right)=AMISE\left(\hat{f}^{(r)}_{h}(x),f^{(r)}(x)\right)+o(h^{4}+1/nh^{2r+1})}{MISE(hat(f)(x;r),f(x;r))=AMISE(hat(f)(x;r),f(x;r)) + o(h^4 + 1/nh^(2r+1))} where, \deqn{AMISE\left(\hat{f}^{(r)}_{h}(x),f^{(r)}(x)\right)=\frac{1}{nh^{2r+1}}R\left(K^{(r)}\right)+\frac{1}{4}h^{4}\mu_{2}^{2}(K)R\left(f^{(r+2)}\right)}{AMISE(hat(f)(x;r),f(x;r)) = R(K(x;r))/n h^(2r+1) + 1/4 h^2 mu(K(x))^2 R(f(x;r+2))} with: \eqn{R\left(f^{(r)}(x)\right) = \int_{R} \left(f^{(r)}(x)\right)^{2}dx.}{R(f(x;r)) = int f(x;r)^2 dx.}\cr The performance of kernel is measured by \bold{MISE} or \bold{AMISE} (Asymptotic MISE).\cr If the bandwidth \code{h} is missing from \code{dkde}, then the default bandwidth is \code{h.ucv(x,deriv.order,kernel)} (Unbiased cross-validation, see \code{\link{h.ucv}}).\cr For more details see references. } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{h}{the bandwidth value to use.} \item{eval.points}{the coordinates of the points where the density derivative is estimated.} \item{est.fx}{the estimated density derivative values.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \references{ Alekseev, V. G. (1972). Estimation of a probability density function and its derivatives. \emph{Mathematical notes of the Academy of Sciences of the USSR}. \bold{12} (5), 808--811. Alexandre, B. T. (2009). \emph{Introduction to Nonparametric Estimation}. Springer-Verlag, New York. Bowman, A. W. and Azzalini, A. (1997). \emph{Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations}. Oxford University Press, Oxford. Bhattacharya, P. K. (1967). Estimation of a probability density function and Its derivatives. \emph{Sankhya: The Indian Journal of Statistics, Series A}, \bold{29}, 373--382. Jeffrey, S. S. (1996). \emph{Smoothing Methods in Statistics}. Springer-Verlag, New York. Radhey, S. S. (1987). MISE of kernel estimates of a density and its derivatives. \emph{Statistics and Probability Letters}, \bold{5}, 153--159. Scott, D. W. (1992). \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. New York: Wiley. Schuster, E. F. (1969) Estimation of a probability density function and its derivatives. \emph{The Annals of Mathematical Statistics}, \bold{40} (4), 1187--1195. Silverman, B. W. (1986). \emph{Density Estimation for Statistics and Data Analysis}. Chapman & Hall/CRC. London. Stoker, T. M. (1993). Smoothing bias in density derivative estimation. \emph{Journal of the American Statistical Association}, \bold{88}, 855--863. Venables, W. N. and Ripley, B. D. (2002). \emph{Modern Applied Statistics with S}. New York: Springer. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing}. Chapman and Hall, London. Wolfgang, H. (1991). \emph{Smoothing Techniques}, \emph{With Implementation in S}. Springer-Verlag, New York. } \note{This function are available in other packages such as \CRANpkg{KernSmooth}, \CRANpkg{sm}, \CRANpkg{np}, \CRANpkg{GenKern} and \CRANpkg{locfit} if \code{deriv.order=0}, and in \CRANpkg{ks} package for Gaussian kernel only if \code{0 <= deriv.order <= 10}. } \seealso{ \code{\link{plot.dkde}}, see \code{\link[stats]{density}} in package "stats" if \code{deriv.order = 0}, and \code{\link[ks]{kdde}} in package \CRANpkg{ks}. } \examples{ ## EXAMPLE 1: Simple example of a Gaussian density derivative x <- rnorm(100) dkde(x,deriv.order=0) ## KDE of f dkde(x,deriv.order=1) ## KDDE of d/dx f dkde(x,deriv.order=2) ## KDDE of d^2/x^2 f dkde(x,deriv.order=3) ## KDDE of d^3/x^3 f dev.new() par(mfrow=c(2,2)) plot(dkde(x,deriv.order=0)) plot(dkde(x,deriv.order=1)) plot(dkde(x,deriv.order=2)) plot(dkde(x,deriv.order=3)) ## EXAMPLE 2: Bimodal Gaussian density derivative ## show the kernels in the dkde parametrization fx <- function(x) 0.5 * dnorm(x,-1.5,0.5) + 0.5 * dnorm(x,1.5,0.5) fx1 <- function(x) 0.5 *(-4*x-6)* dnorm(x,-1.5,0.5) + 0.5 *(-4*x+6) * dnorm(x,1.5,0.5) ## 'h = 0.3' ; 'Derivative order = 0' kernels <- eval(formals(dkde.default)$kernel) dev.new() plot(dkde(bimodal,h=0.3),sub=paste("Derivative order = 0",";", "Bandwidth =0.3 "),ylim=c(0,0.5), main = "Bimodal Gaussian Density") for(i in 2:length(kernels)) lines(dkde(bimodal, h = 0.3, kernel = kernels[i]), col = i) curve(fx,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)), lty = c(8,rep(1,length(kernels))),cex=0.7, inset = .015) ## 'h = 0.6' ; 'Derivative order = 1' kernels <- eval(formals(dkde.default)$kernel)[-3] dev.new() plot(dkde(bimodal,deriv.order=1,h=0.6),main = "Bimodal Gaussian Density Derivative",sub=paste ("Derivative order = 1",";","Bandwidth =0.6"),ylim=c(-0.6,0.6)) for(i in 2:length(kernels)) lines(dkde(bimodal,deriv.order=1, h = 0.6, kernel = kernels[i]), col = i) curve(fx1,add=TRUE,lty=8) legend("topright", legend = c(TRUE,kernels), col = c("black",seq(kernels)), lty = c(8,rep(1,length(kernels))),cex=0.7, inset = .015) } \keyword{smooth} \keyword{nonparametric} \keyword{density derivative} kedd/man/plot.h.ucv.Rd0000644000176200001440000000275012614740640014233 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.ucv} \alias{plot.h.ucv} \alias{lines.h.ucv} \title{ Plot for Unbiased Cross-Validation } \description{ The \code{\link{plot.h.ucv}} function loops through calls to the \code{\link{h.ucv}} function. Plot for unbiased cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.ucv}(x, seq.bws=NULL, \dots) \method{lines}{h.ucv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.ucv} (output from \code{\link{h.ucv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the unbiased cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d unbiased cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{ucv}{the values of the unbiased cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.ucv}}. } \examples{ par(mfrow=c(2,1)) plot(h.ucv(trimodal,deriv.order=0),seq.bws=seq(0.06,0.2,length=50)) plot(h.ucv(trimodal,deriv.order=1),seq.bws=seq(0.06,0.2,length=50)) } \keyword{plot} kedd/man/h.ucv.Rd0000644000176200001440000001547712614740640013270 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{h.ucv} \alias{h.ucv} \alias{h.ucv.default} \alias{print.h.ucv} \title{ Unbiased (Least-Squares) Cross-Validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.ucv} computes the unbiased (least-squares) cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.ucv(x, \dots) \method{h.ucv}{default}(x, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine"), \dots) } \arguments{ \item{x}{vector of data values.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.ucv} unbiased (least-squares) cross-validation implements for choosing the bandwidth \eqn{h} of a r'th derivative kernel density estimator.\cr Rudemo (1982) and Bowman (1984) proposed a so-called unbiased (least-squares) cross-validation (UCV) in kernel density estimator. An adaptation of unbiased cross-validation is proposed by Wolfgang et al. (1990) for bandwidth choice in the r'th derivative of kernel density estimator. The essential idea of this methods, for the estimation of \eqn{f^{(r)}(x)}{f(x;r)} (\eqn{r} is derivative order), is to use the bandwidth \eqn{h} which minimizes the function: \deqn{UCV(h;r) = \int \left(\hat{f}_{h}^{(r)}(x)\right)^{2} - 2n^{-1}(-1)^{r}\sum_{i=1}^{n} \hat{f}_{h,i}^{(2r)}(X_{i})}{UCV(h;r)= int (hat(f)(x;r))^2 - 2 n^(-1) (-1)^r sum(hat(f)(X_i;2r),i=1,...n)} The bandwidth minimizing this function is: \deqn{\hat{h}^{(r)}_{ucv} = \arg \min_{h^{(r)}} UCV(h;r)}{h(r) = argmin UCV(h;r)} for \eqn{r = 0, 1, 2, \dots}\cr where \deqn{\int \left(\hat{f}_{h}^{(r)}(x)\right)^{2} = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \sum_{i=1}^{n}\sum_{j=1;j \neq i}^{n} K^{(r)} \ast K^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{int (hat(f)(x;r))^2 dx = R(k(x;r))/n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r)(x(j)-x(i)/h)), i=1...n, j=1...n, j != i)} and \eqn{K^{(r)} \ast K^{(r)} (x)}{K(x;r)*K(x;r)} is the convolution of the r'th derivative kernel function \eqn{K^{(r)}(x)}{K(x;r)} (see \code{\link{kernel.conv}} and \code{\link{kernel.fun}}).\cr The estimate \eqn{\hat{f}_{h,i}^{(2r)}(x)}{hat(f)(x;2r)} on the subset \eqn{\{X_{j}\}_{j \neq i}}{(X_j)_(j != i)} denoting the leave-one-out estimator, can be written: \deqn{\hat{f}_{h,i}^{(2r)}(X_{i}) = \frac{1}{(n-1) h^{2r+1}} \sum_{j \neq i} K^{(2r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{hat(f)(X_i;2r) = 1 /(n-1) h^(2r+1) sum(K(x(j)-x(i)/h;2r), j != i)} The function \eqn{UCV(h;r)} is unbiased cross-validation in the sense that \eqn{E[UCV]=MISE[\hat{f}_{h}^{(r)}(x)]-R(f^{(r)}(x))}{E[UCV(h;r)] = MISE[hat(f)(x;r)]-R(f(x;r))} (see, Scott and George 1987). Can be simplified to give the computationally: \deqn{UCV(h;r) = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \sum_{i=1}^{n}\sum_{j=1 ;j \neq i}^{n} \left(K^{(r)} \ast K^{(r)} -2K^{(2r)}\right) \left(\frac{X_{j}-X_{i}}{h}\right)}{UCV(h;r) = R(k(x;r))/n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r) - 2 K(.;r))(x(j)-x(i)/h), i=1...n, j=1...n, j != i)} where \eqn{R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx}{R(K(x;r)) = int K(x;r)^2 dx}.\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{h}{value of bandwidth parameter.} \item{min.ucv}{the minimal UCV value.} } \references{ Bowman, A. (1984). An alternative method of cross-validation for the smoothing of kernel density estimates. \emph{Biometrika}, \bold{71}, 353--360. Jones, M. C. and Kappenman, R. F. (1991). On a class of kernel density estimate bandwidth selectors. \emph{Scandinavian Journal of Statistics}, \bold{19}, 337--349. Jones, M. C., Marron, J. S. and Sheather,S. J. (1996). A brief survey of bandwidth selection for density estimation. \emph{Journal of the American Statistical Association}, \bold{91}, 401--407. Peter, H. and Marron, J.S. (1987). Estimation of integrated squared density derivatives. \emph{Statistics and Probability Letters}, \bold{6}, 109--115. Rudemo, M. (1982). Empirical choice of histograms and kernel density estimators. \emph{Scandinavian Journal of Statistics}, \bold{9}, 65--78. Scott, D.W. and George, R. T. (1987). Biased and unbiased cross-validation in density estimation. \emph{Journal of the American Statistical Association}, \bold{82}, 1131--1146. Sheather, S. J. (2004). Density estimation. \emph{Statistical Science}, \bold{19}, 588--597. Tarn, D. (2007). \CRANpkg{ks}: Kernel density estimation and kernel discriminant analysis for multivariate data in \R. \emph{Journal of Statistical Software}, \bold{21}(7), 1--16. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing}. Chapman and Hall, London. Wolfgang, H. (1991). \emph{Smoothing Techniques}, \emph{With Implementation in S}. Springer-Verlag, New York. Wolfgang, H., Marron, J. S. and Wand, M. P. (1990). Bandwidth choice for density derivatives. \emph{Journal of the Royal Statistical Society, Series B}, 223--232. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.ucv}}, see \code{\link[stats]{bw.ucv}} in package "stats" and \code{\link[MASS]{ucv}} in package \CRANpkg{MASS} for Gaussian kernel only if \code{deriv.order = 0}, \code{\link[ks]{hlscv}} in package \CRANpkg{ks} for Gaussian kernel only if \code{0 <= deriv.order <= 5}, \code{\link[locfit]{kdeb}} in package \CRANpkg{locfit} if \code{deriv.order = 0}. } \examples{ ## Derivative order = 0 h.ucv(kurtotic,deriv.order = 0) ## Derivative order = 1 h.ucv(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/h.tcv.Rd0000644000176200001440000001054112614740640013252 0ustar liggesusers\name{h.tcv} \alias{h.tcv} \alias{h.tcv.default} \alias{print.h.tcv} \title{ Trimmed Cross-Validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.tcv} computes the trimmed cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.tcv(x, \dots) \method{h.tcv}{default}(x, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine"), \dots) } \arguments{ \item{x}{vector of data values.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.tcv} trimmed cross-validation implements for choosing the bandwidth \eqn{h} of a r'th derivative kernel density estimator.\cr Feluch and Koronacki (1992) proposed a so-called trimmed cross-validation (TCV) in kernel density estimator, a simple modification of the unbiased (least-squares) cross-validation criterion. We consider the following "trimmed" version of "unbiased", to be minimized with respect to \eqn{h}: \deqn{\int \left(\hat{f}_{h}^{(r)}(x)\right)^{2} - 2 \frac{(-1)^{r}}{n(n-1) h^{2r+1}} \sum_{i=1}^{n}\sum_{j=1; j \neq i} K^{(2r)} \left(\frac{X_{j}-X_{i}}{h}\right)\chi\left(|X_{i}-X_{j}| > c_{n}\right)}{int (hat(f)(x;r))^2 - 2 (-1)^r / n (n-1)h^(2r+1) sum(sum(K(x(j)-x(i)/h;2r)),i=1...n,j=1...n, j!=i) chi(|X(i)-X(j)| > c(n))} where \eqn{\chi(.)}{chi(.)} denotes the indicator function and \eqn{c_{n}}{c(n)} is a sequence of positive constants, \eqn{c_{n}/ h^{2r+1} \rightarrow 0}{c(n)/h^(2r+1) --> 0} as \eqn{n \rightarrow \infty}{n --> Inf}, and \deqn{\int \left(\hat{f}_{h}^{(r)}(x)\right)^{2} = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \sum_{i=1}^{n}\sum_{j=1;j \neq i}^{n} K^{(r)} \ast K^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{int (hat(f)(x;r))^2 dx = R(k(x;r))/n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r)(x(j)-x(i)/h)), i=1...n, j=1...n, j != i)} the trimmed cross-validation function is defined by: \deqn{TCV(h;r) = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n(n-1)h^{2r+1}}\sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} \varphi^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{TCV(h;r) = R(K(x;r))/ n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum( sum(varphi(x(j)-x(i)/h;r) ),i=1...n,j=1...n,j != i) } whit \deqn{\varphi^{(r)}(c) = \left(K^{(r)} \ast K^{(r)} - 2 K^{(2r)} \chi\left(|c| > c_{n}/h^{2r+1}\right) \right)(c)}{varphi(c;r)= K(c;r)*K(c;r) - 2 K(c;2r) chi( |c| > c(n)/h^(2r+1) )} here we take \eqn{c_{n} = 1/n}{c(n) = 1/n}, for assure the convergence. Where \eqn{K^{(r)} \ast K^{(r)} (x)}{K(x;r)*K(x;r)} is the convolution of the r'th derivative kernel function \eqn{K^{(r)}(x)}{K(x;r)} (see \code{\link{kernel.conv}} and \code{\link{kernel.fun}}).\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{h}{value of bandwidth parameter.} \item{min.tcv}{the minimal TCV value.} } \references{ Feluch, W. and Koronacki, J. (1992). A note on modified cross-validation in density estimation. \emph{Computational Statistics and Data Analysis}, \bold{13}, 143--151. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.tcv}}. } \examples{ ## Derivative order = 0 h.tcv(kurtotic,deriv.order = 0) ## Derivative order = 1 h.tcv(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/plot.h.ccv.Rd0000644000176200001440000000267012614740640014212 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.ccv} \alias{plot.h.ccv} \alias{lines.h.ccv} \title{ Plot for Complete Cross-Validation } \description{ The \code{\link{plot.h.ccv}} function loops through calls to the \code{\link{h.ccv}} function. Plot for complete cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.ccv}(x, seq.bws=NULL, \dots) \method{lines}{h.ccv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.ccv} (output from \code{\link{h.ccv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the complete cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d complete cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{ccv}{the values of the complete cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.ccv}}. } \examples{ par(mfrow=c(2,1)) plot(h.ccv(trimodal,deriv.order=0),main="") plot(h.ccv(trimodal,deriv.order=1),main="") } \keyword{plot} kedd/man/plot.dkde.Rd0000644000176200001440000000252312614740640014115 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.dkde} \alias{plot.dkde} \alias{lines.dkde} \title{ Plot for Kernel Density Derivative Estimate } \description{ The \code{\link{plot.dkde}} function loops through calls to the \code{\link{dkde}} function. Plot for kernel density derivative estimate for 1-dimensional data. } \usage{ \method{plot}{dkde}(x, fx = NULL, \dots) \method{lines}{dkde}(x, \dots) } \arguments{ \item{x}{object of class \code{dkde} (output from \code{\link{dkde}}).} \item{fx}{add to graphics the true density derivative (class :\code{\link{function}}), to compare it by the density derivative to estimate.} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \details{ The 1-d plot is a standard plot of a 1-d curve. If \code{!is.null(fx)} then a true density derivative is added. } \value{ Plot of 1-d kernel density derivative estimates are sent to graphics window. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{dkde}}, \code{\link[stats]{plot.density}} in package "stats" if \code{deriv.order = 0}. } \examples{ plot(dkde(kurtotic,deriv.order=0,kernel="gaussian"),sub="") lines(dkde(kurtotic,deriv.order=0,kernel="biweight"),col="red") } \keyword{plot} kedd/man/plot.h.mcv.Rd0000644000176200001440000000267012614740640014224 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.mcv} \alias{plot.h.mcv} \alias{lines.h.mcv} \title{ Plot for Modified Cross-Validation } \description{ The \code{\link{plot.h.mcv}} function loops through calls to the \code{\link{h.mcv}} function. Plot for modified cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.mcv}(x, seq.bws=NULL, \dots) \method{lines}{h.mcv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.mcv} (output from \code{\link{h.mcv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the modified cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d modified cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{mcv}{the values of the modified cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.mcv}}. } \examples{ par(mfrow=c(2,1)) plot(h.mcv(trimodal,deriv.order=0),main="") plot(h.mcv(trimodal,deriv.order=1),main="") } \keyword{plot} kedd/man/h.mlcv.Rd0000644000176200001440000000644612614740640013430 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{h.mlcv} \alias{h.mlcv} \alias{h.mlcv.default} \alias{print.h.mlcv} \title{ Maximum-Likelihood Cross-validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.mlcv} computes the maximum likelihood cross-validation (Kullback-Leibler information) bandwidth selector of a one-dimensional kernel density estimate. } \usage{ h.mlcv(x, \dots) \method{h.mlcv}{default}(x, lower = 0.1, upper = 5, tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine"), \dots) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{vector of data values.} \item{lower, upper}{range over which to maximize. The default is almost always satisfactory.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.mlcv} maximum-likelihood cross-validation implements for choosing the optimal bandwidth \eqn{h} of kernel density estimator.\cr This method was proposed by Habbema, Hermans, and Van den Broeck (1971) and by Duin (1976). The maximum-likelihood cross-validation (MLCV) function is defined by: \deqn{MLCV(h) = n^{-1} \sum_{i=1}^{n} \log\left[\hat{f}_{h,i}(x)\right]}{MLCV(h) = n^-1 sum( log(hat(f(h))),i=1...n)} the estimate \eqn{\hat{f}_{h,i}(x)}{hat(f)(x)} on the subset \eqn{\{X_{j}\}_{j \neq i}}{(X_j)_(j != i)} denoting the leave-one-out estimator, can be written: \deqn{\hat{f}_{h,i}(X_{i}) = \frac{1}{(n-1) h} \sum_{j \neq i} K \left(\frac{X_{j}-X_{i}}{h}\right)}{hat(f)(X_i) = 1/(n-1) h sum(K(x(j)-x(i)/h), j != i)} Define that \eqn{h_{mlcv}}{h(mlcv)} as good which approaches the finite maximum of \eqn{MLCV(h)}{MLCV(h)}: \deqn{h_{mlcv} = \arg \max_{h} MLCV(h) = \arg \max_{h} \left(n^{-1} \sum_{i=1}^{n} \log\left[\sum_{j \neq i} K \left(\frac{X_{j}-X_{i}}{h}\right)\right]-\log[(n-1)h]\right)}{h(mlcv)= argmax MLCV(h) = argmax n^-1 sum(log(sum(K(x(j)-x(i)/h),j != i)),i=1...n) - log((n-1)h)} } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{h}{value of bandwidth parameter.} \item{mlcv}{the maximal likelihood CV value.} } \references{ Habbema, J. D. F., Hermans, J., and Van den Broek, K. (1974) A stepwise discrimination analysis program using density estimation. \emph{Compstat 1974: Proceedings in Computational Statistics}. Physica Verlag, Vienna. Duin, R. P. W. (1976). On the choice of smoothing parameters of Parzen estimators of probability density functions. \emph{IEEE Transactions on Computers}, \bold{C-25}, 1175--1179. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.mlcv}}, see \code{\link[locfit]{lcv}} in package \CRANpkg{locfit}. } \examples{ h.mlcv(bimodal) h.mlcv(bimodal, kernel ="epanechnikov") } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/plot.h.tcv.Rd0000644000176200001440000000272612614740640014235 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.tcv} \alias{plot.h.tcv} \alias{lines.h.tcv} \title{ Plot for Trimmed Cross-Validation } \description{ The \code{\link{plot.h.tcv}} function loops through calls to the \code{\link{h.tcv}} function. Plot for trimmed cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.tcv}(x, seq.bws=NULL, \dots) \method{lines}{h.tcv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.tcv} (output from \code{\link{h.tcv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the trimmed cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d trimmed cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{tcv}{the values of the trimmed cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.tcv}}. } \examples{ par(mfrow=c(2,1)) plot(h.tcv(trimodal,deriv.order=0),main="") plot(h.tcv(trimodal,deriv.order=1),seq.bws=seq(0.1,0.5,length.out=50),main="") } \keyword{plot} kedd/man/kernel.conv.Rd0000644000176200001440000000606512614740640014462 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{kernel.conv} \alias{kernel.conv} \alias{kernel.conv.default} \title{ Convolutions of r'th Derivative for Kernel Function } \description{ The (S3) generic function \code{kernel.conv} computes the convolution of r'th derivative for kernel function. } \usage{ kernel.conv(x, \dots) \method{kernel.conv}{default}(x = NULL, deriv.order = 0,kernel = c("gaussian","epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine", "silverman"), \dots) } \arguments{ \item{x}{points at which the convolution of kernel derivative is to be evaluated.} \item{deriv.order}{derivative order (scalar).} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ The convolution of r'th derivative for kernel function is written \eqn{K^{(r)}\ast K^{(r)}}{K(x;r)*K(x;r)}. It is defined as the integral of the product of the derivative for kernel. As such, it is a particular kind of integral transform: \deqn{K^{(r)} \ast K^{(r)}(x) = \int_{-\infty}^{+\infty} K^{(r)}(y)K^{(r)}(x-y)dy}{K(x;r)*k(x;r) = int K(y;r) K(x-y;r) dy} where: \deqn{K^{(r)}(x) = \frac{d^{r}}{d x^{r}} K(x)}{K(x;r) = d^r / dx^r K(x)} for \eqn{r = 0, 1, 2, \dots} } \value{ \item{kernel }{name of kernel to use.} \item{deriv.order }{the derivative order to use.} \item{x }{the n coordinates of the points where the convolution of kernel derivative is evaluated.} \item{kx }{the convolution of kernel derivative values.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \references{ Olver, F. W., Lozier, D. W., Boisvert, R. F. and Clark, C. W. (2010). \emph{NIST Handbook of Mathematical Functions}. Cambridge University Press, New York, USA. Scott, D. W. (1992). \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. New York: Wiley. Silverman, B. W. (1986). \emph{Density Estimation for Statistics and Data Analysis}. Chapman & Hall/CRC. London. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing.} Chapman and Hall, London. Wolfgang, H. (1991). \emph{Smoothing Techniques, With Implementation in S.} Springer-Verlag, New York. } \seealso{ \code{\link{plot.kernel.conv}}, \code{\link[stats]{kernapply}} in package "stats" for computes the convolution between an input sequence, and \code{\link[stats]{convolve}} use the Fast Fourier Transform (\code{\link[stats]{fft}}) to compute the several kinds of convolutions of two sequences. } \examples{ kernels <- eval(formals(kernel.conv.default)$kernel) kernels ## gaussian kernel.conv(x = 0,kernel=kernels[1],deriv.order=0) kernel.conv(x = 0,kernel=kernels[1],deriv.order=1) ## silverman kernel.conv(x = 0,kernel=kernels[9],deriv.order=0) kernel.conv(x = 0,kernel=kernels[9],deriv.order=1) } \keyword{nonparametric} \keyword{kernel} kedd/man/plot.kernel.conv.Rd0000644000176200001440000000262612614740640015436 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.kernel.conv} \alias{plot.kernel.conv} \title{ Plot for Convolutions of r'th Derivative Kernel Function } \description{ The \code{\link{plot.kernel.conv}} function loops through calls to the \code{\link{kernel.conv}} function. Plot for convolutions of r'th derivative kernel function one-dimensional. } \usage{ \method{plot}{kernel.conv}(x, \dots) } \arguments{ \item{x}{object of class \code{kernel.conv} (output from \code{\link{kernel.conv}}).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d for convolution of r'th derivative kernel function are sent to graphics window. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{kernel.conv}}. } \examples{ ## Gaussian kernel dev.new() par(mfrow=c(2,2)) plot(kernel.conv(kernel="gaussian",deriv.order=0)) plot(kernel.conv(kernel="gaussian",deriv.order=1)) plot(kernel.conv(kernel="gaussian",deriv.order=2)) plot(kernel.conv(kernel="gaussian",deriv.order=3)) ## Silverman kernel dev.new() par(mfrow=c(2,2)) plot(kernel.conv(kernel="silverman",deriv.order=0)) plot(kernel.conv(kernel="silverman",deriv.order=1)) plot(kernel.conv(kernel="silverman",deriv.order=2)) plot(kernel.conv(kernel="silverman",deriv.order=3)) } \keyword{plot} kedd/man/h.mcv.Rd0000644000176200001440000000723612614740640013252 0ustar liggesusers\name{h.mcv} \alias{h.mcv} \alias{h.mcv.default} \alias{print.h.mcv} \title{ Modified Cross-Validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.mcv} computes the modified cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.mcv(x, \dots) \method{h.mcv}{default}(x, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "triweight", "tricube", "biweight", "cosine"), \dots) } \arguments{ \item{x}{vector of data values.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.mcv} modified cross-validation implements for choosing the bandwidth \eqn{h} of a r'th derivative kernel density estimator.\cr Stute (1992) proposed a so-called modified cross-validation (MCV) in kernel density estimator. This method can be extended to the estimation of derivative of a density, the essential idea based on approximated the problematic term by the aid of the Hajek projection (see Stute 1992). The minimization criterion is defined by: \deqn{MCV(h;r) = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n(n-1)h^{2r+1}}\sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} \varphi^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{MCV(h;r) = R(K(x;r))/ n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum( sum(varphi(x(j)-x(i)/h;r) ),i=1...n,j=1...n,j != i) } whit \deqn{\varphi^{(r)}(c) = \left(K^{(r)} \ast K^{(r)} - K^{(2r)} - \frac{\mu_{2}(K)}{2}K^{(2r+2)} \right)(c)}{varphi(c;r)= K(c;r)*K(c;r) - K(c;2r) - 0.5 mu(K(c)) K(c;2r+2)} and \eqn{K^{(r)} \ast K^{(r)} (x)}{K(x;r)*K(x;r)} is the convolution of the r'th derivative kernel function \eqn{K^{(r)}(x)}{K(x;r)} (see \code{\link{kernel.conv}} and \code{\link{kernel.fun}}); \eqn{R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx}{R(K(x;r)) = int K(x;r)^2 dx} and \eqn{\mu_{2}(K) = \int_{R}x^{2} K(x) dx}{mu(K(x)) = int x^2 K(x) dx}.\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{h}{value of bandwidth parameter.} \item{min.mcv}{the minimal MCV value.} } \references{ Heidenreich, N. B., Schindler, A. and Sperlich, S. (2013). Bandwidth selection for kernel density estimation: a review of fully automatic selectors. \emph{Advances in Statistical Analysis}. Stute, W. (1992). Modified cross validation in density estimation. \emph{Journal of Statistical Planning and Inference}, \bold{30}, 293--305. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.mcv}}. } \examples{ ## Derivative order = 0 h.mcv(kurtotic,deriv.order = 0) ## Derivative order = 1 h.mcv(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/kernel.fun.Rd0000644000176200001440000001005312614740640014275 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{kernel.fun} \alias{kernel.fun} \alias{kernel.fun.default} \title{ Derivatives of Kernel Function } \description{ The (S3) generic function \code{kernel.fun} computes the r'th derivative for kernel density.} \usage{ kernel.fun(x, \dots) \method{kernel.fun}{default}(x = NULL, deriv.order = 0, kernel = c("gaussian","epanechnikov", "uniform", "triangular", "triweight", "tricube", "biweight", "cosine", "silverman"), \dots) } \arguments{ \item{x}{points at which the derivative of kernel function is to be evaluated.} \item{deriv.order}{derivative order (scalar).} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ We give a short survey of some kernels functions \eqn{K(x;r)}{K(x;r)}; where \eqn{r} is derivative order, \itemize{ \item Gaussian: \eqn{K(x;\infty) =\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{x^{2}}{2}\right)1_{]-\infty,+\infty[}}{K(x;Inf) = 1/sqrt(2pi) exp(-0.5 x^2)} \item Epanechnikov: \eqn{K(x;2)=\frac{3}{4}(1-x^{2})1_{(|x| \leq 1)}}{K(x;2) = 0.75 (1-x^2) (abs(x) <= 1)} \item uniform (rectangular): \eqn{K(x;0)=\frac{1}{2}1_{(|x| \leq 1)}}{K(x;0) = 0.5 (abs(x) <= 1)} \item triangular: \eqn{K(x;1)=(1-|x|)1_{(|x| \leq 1)}}{K(x;1) = (1-abs(x)) (abs(x) <= 1)} \item triweight: \eqn{K(x;6)=\frac{35}{32}(1-x^{2})^{3} 1_{(|x| \leq 1)}}{K(x;6) = 35/36 (1-x^2)^3 (abs(x) <= 1)} \item tricube: \eqn{K(x;9)=\frac{70}{81}(1-|x|^{3})^{3} 1_{(|x| \leq 1)}}{K(x;9) = 70/81 (1-abs(x)^3)^3 (abs(x) <= 1)} \item biweight: \eqn{K(x;4)=\frac{15}{16}(1-x^{2})^{2} 1_{(|x| \leq 1)}}{K(x;4) = 15/16 (1-x^2)^2 (abs(x) <= 1)} \item cosine: \eqn{K(x;\infty)=\frac{\pi}{4}\cos\left(\frac{\pi}{2}x\right) 1_{(|x| \leq 1)}}{0.25 pi cos(0.5 pi x) (abs(x) <= 1)} \item Silverman: \eqn{K(x;r \%\% 8)\footnote{\%\% indicates x mod y}=\frac{1}{2}\exp\left(-\frac{|x|}{\sqrt{2}}\right)\sin\left(\frac{|x|}{\sqrt{2}}+\frac{\pi}{4}\right)1_{]-\infty,+\infty[}}{K(x;r mod 8)= 0.5 exp(-abs(x)/sqrt(2)) sin(abs(x)/sqrt(2) + 0.25 pi)} } The r'th derivative for kernel function \eqn{K(x)} is written: \deqn{K^{(r)}(x) = \frac{d^{r}}{d x^{r}} K(x)}{K(x;r) = d^r / dx^r K(x)} for \eqn{r = 0, 1, 2, \dots}\cr The r'th derivative of the \bold{Gaussian kernel} \eqn{K(x)} is given by: \deqn{K^{(r)}(x) = (-1)^{r} H_{r}(x) K(x)}{K(x;r) = (-1)^r H(x;r) K(x)} where \eqn{H_{r}(x)}{H(x;r)} is the r'th \bold{Hermite polynomial}. This polynomials are set of orthogonal polynomials, for more details see, \code{\link[orthopolynom]{hermite.h.polynomials}} in package \CRANpkg{orthopolynom}. } \value{ \item{kernel }{name of kernel to use.} \item{deriv.order }{the derivative order to use.} \item{x }{the n coordinates of the points where the derivative of kernel function is evaluated.} \item{kx }{the kernel derivative values.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \references{ Jones, M. C. (1992). Differences and derivatives in kernel estimation. \emph{Metrika}, \bold{39}, 335--340. Olver, F. W., Lozier, D. W., Boisvert, R. F. and Clark, C. W. (2010). \emph{NIST Handbook of Mathematical Functions}. Cambridge University Press, New York, USA. Silverman, B. W. (1986). \emph{Density Estimation for Statistics and Data Analysis}. Chapman & Hall/CRC. London. } \seealso{ \code{\link{plot.kernel.fun}}, \code{\link[stats]{deriv}} and \code{\link[stats]{D}} in package "stats" for symbolic and algorithmic derivatives of simple expressions. } \examples{ kernels <- eval(formals(kernel.fun.default)$kernel) kernels ## gaussian kernel.fun(x = 0,kernel=kernels[1],deriv.order=0) kernel.fun(x = 0,kernel=kernels[1],deriv.order=1) ## silverman kernel.fun(x = 0,kernel=kernels[9],deriv.order=0) kernel.fun(x = 0,kernel=kernels[9],deriv.order=1) } \keyword{nonparametric} \keyword{kernel} kedd/man/claw.Rd0000644000176200001440000000256212614740640013162 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{Claw, Bimodal, Kurtotic, Outlier, Trimodal} \alias{claw} \alias{bimodal} \alias{kurtotic} \alias{outlier} \alias{trimodal} \docType{data} \title{ Datasets } \description{ A random sample of size 200 from the claw, bimodal, kurtotic, outlier and trimodal Gaussian density. } \usage{ data(claw) data(bimodal) data(kurtotic) data(outlier) data(trimodal) } \format{ Numeric vector with length 200. } \details{ Generate 200 random numbers, distributed according to a normal mixture, using \code{\link[nor1mix]{rnorMix}} in package \CRANpkg{nor1mix}. \preformatted{ ## Claw density claw <- rnorMix(n=200, MW.nm10) plot(MW.nm10) ## Bimodal density bimodal <- rnorMix(n=200, MW.nm7) plot( MW.nm7) ## Kurtotic density kurtotic <- rnorMix(n=200, MW.nm4) plot(MW.nm4) ## Outlier density outlier <- rnorMix(n=200, MW.nm5) plot( MW.nm5) ## Trimodal density trimodal <- rnorMix(n=200, MW.nm9) plot(MW.nm9) } } \source{ Randomly generated a normal mixture with the function \code{\link[nor1mix]{rnorMix}} in package \CRANpkg{nor1mix}. } \references{ Martin, M. (2013). \CRANpkg{nor1mix}: Normal (1-d) mixture models (S3 classes and methods). \emph{\R package version 1.1-4}. } \keyword{datasets} kedd/man/plot.h.bcv.Rd0000644000176200001440000000341512614740640014207 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.bcv} \alias{plot.h.bcv} \alias{lines.h.bcv} \title{ Plot for Biased Cross-Validation } \description{ The \code{\link{plot.h.bcv}} function loops through calls to the \code{\link{h.bcv}} function. Plot for biased cross-validation function for 1-dimensional data. } \usage{ \method{plot}{h.bcv}(x, seq.bws=NULL, \dots) \method{lines}{h.bcv}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.bcv} (output from \code{\link{h.bcv}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the biased cross-validation function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d biased cross-validation function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{bcv}{the values of the biased cross-validation function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.bcv}}. } \examples{ ## EXAMPLE 1: plot(h.bcv(trimodal, whichbcv = 1, deriv.order = 0),main="",sub="") lines(h.bcv(trimodal, whichbcv = 2, deriv.order = 0),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("black","red"),inset = .015) ## EXAMPLE 2: plot(h.bcv(trimodal, whichbcv = 1, deriv.order = 1),main="",sub="") lines(h.bcv(trimodal, whichbcv = 2, deriv.order = 1),col="red") legend("topright", c("BCV1","BCV2"),lty=1,col=c("black","red"),inset = .015) } \keyword{plot} kedd/man/h.ccv.Rd0000644000176200001440000001102012614740640013222 0ustar liggesusers\name{h.ccv} \alias{h.ccv} \alias{h.ccv.default} \alias{print.h.ccv} \title{ Complete Cross-Validation for Bandwidth Selection } \description{ The (S3) generic function \code{h.ccv} computes the complete cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional. } \usage{ h.ccv(x, \dots) \method{h.ccv}{default}(x, deriv.order = 0, lower = 0.1 * hos, upper = hos, tol = 0.1 * lower, kernel = c("gaussian", "triweight", "tricube", "biweight", "cosine"), \dots) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{vector of data values.} \item{deriv.order}{derivative order (scalar).} \item{lower, upper}{range over which to minimize. The default is almost always satisfactory. \code{hos} (Over-smoothing) is calculated internally from an \code{kernel}, see details.} \item{tol}{the convergence tolerance for \code{\link{optimize}}.} \item{kernel}{a character string giving the smoothing kernel to be used, with default \code{"gaussian"}.} \item{\dots}{further arguments for (non-default) methods.} } \details{ \code{h.ccv} complete cross-validation implements for choosing the bandwidth \eqn{h} of a r'th derivative kernel density estimator.\cr Jones and Kappenman (1991) proposed a so-called complete cross-validation (CCV) in kernel density estimator. This method can be extended to the estimation of derivative of the density, basing our estimate of integrated squared density derivative (Peter and Marron 1987) on the \eqn{\bar{\theta}_{r}(h)}{bar(theta)(h;r)}'s, we get the following, start from \eqn{R\left(\hat{f}_{h}^{(r)}\right) - \bar{\theta}_{r}(h)}{R(hat(f)(h;r)) - bar(theta)(h;r)} as an estimate of MISE. Thus, \eqn{\hat{h}^{(r)}_{CCV}}{h(r)_(CCV)}, say, is the \eqn{h} that minimises: \deqn{CCV(h;r)=R\left(\hat{f}_{h}^{(r)}\right)-\bar{\theta}_{r}(h)+\frac{1}{2}\mu_{2}(K) h^{2} \bar{\theta}_{r+1}(h)+\frac{1}{24}\left(6\mu_{2}^{2}(K) -\delta(K)\right)h^{4}\bar{\theta}_{r+2}(h)}{CCV(h;r)= R(K(x;r))/ n h^(2r+1) + R(hat(f)(h;r))- bar(theta)(h;r) + 0.5 mu(K(x)) h^2 bar(theta)(h;r+1) + 1/24 (6 mu(K(x))^2 - delta(K(x))) h^4 bar(theta)(h;r+2)} with \deqn{R\left(\hat{f}_{h}^{(r)}\right) = \int \left(\hat{f}_{h}^{(r)}(x)\right)^{2} dx = \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{(-1)^{r}}{n (n-1) h^{2r+1}} \sum_{i=1}^{n}\sum_{j=1;j \neq i}^{n} K^{(r)} \ast K^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{R(hat(f)(h;r)) = int (hat(f)(x;r))^2 dx =R(k(x;r))/n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r)(x(j)-x(i)/h)), i=1...n, j=1...n, j != i)} and \deqn{\bar{\theta}_{r}(h)= \frac{(-1)^r}{n(n-1) h^{2r+1}} \sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} K^{(2r)} \left(\frac{X_{j}-X_{i}}{h}\right)}{bar(theta)(h;r) = (-1)^r / n(n-1) h^(2r+1) sum(sum(K((x(j)-x(i)/h);2r)), i=1...n, j=1...n, j != i)} and \eqn{K^{(r)} \ast K^{(r)} (x)}{K(x;r)*K(x;r)} is the convolution of the r'th derivative kernel function \eqn{K^{(r)}(x)}{K(x;r)} (see \code{\link{kernel.conv}} and \code{\link{kernel.fun}}); \eqn{R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx}{R(K(x;r)) = int K(x;r)^2 dx} and \eqn{\mu_{2}(K) = \int_{R}x^{2} K(x) dx}{mu(K(x)) = int x^2 K(x) dx}, \eqn{\delta(K) = \int_{R}x^{4} K(x) dx}{delta(K(x)) = int x^4 K(x) dx}.\cr The range over which to minimize is \code{hos} Oversmoothing bandwidth, the default is almost always satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61). } \value{ \item{x}{data points - same as input.} \item{data.name}{the deparsed name of the \code{x} argument.} \item{n}{the sample size after elimination of missing values.} \item{kernel}{name of kernel to use} \item{deriv.order}{the derivative order to use.} \item{h}{value of bandwidth parameter.} \item{min.ccv}{the minimal CCV value.} } \references{ Jones, M. C. and Kappenman, R. F. (1991). On a class of kernel density estimate bandwidth selectors. \emph{Scandinavian Journal of Statistics}, \bold{19}, 337--349. Peter, H. and Marron, J.S. (1987). Estimation of integrated squared density derivatives. \emph{Statistics and Probability Letters}, \bold{6}, 109--115. } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{plot.h.ccv}}. } \examples{ ## Derivative order = 0 h.ccv(kurtotic,deriv.order = 0) ## Derivative order = 1 h.ccv(kurtotic,deriv.order = 1) } \keyword{smooth} \keyword{bandwidth selection} \keyword{nonparametric} kedd/man/kedd-package.Rd0000644000176200001440000003624112614740640014535 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \newcommand{\HR}{\href{http://www.usthb.dz/en/}} \name{kedd-package} \alias{kedd-package} \alias{kedd} \docType{package} \title{ Kernel Estimator and Bandwidth Selection for Density and Its Derivatives } \description{ Smoothing techniques and computing bandwidth selectors of the r'th derivative of a probability density for one-dimensional data. } \details{ \tabular{ll}{ Package: \tab kedd\cr Type: \tab Package\cr Version: \tab 1.0.3\cr Date: \tab 2015-10-30\cr License: \tab GPL (>= 2) \cr } There are four main types of functions in this package: \enumerate{ \item Compute the derivatives and convolutions of a kernel function (1-d). \item Compute the kernel estimators for density and its derivatives (1-d). \item Computing the bandwidth selectors (1-d). \item Displaying kernel estimators. } } \section{Main Features}{ \bold{Convolutions and derivatives in kernel function:}\cr\cr In non-parametric statistics, a kernel is a weighting function used in non-parametric estimation techniques. The kernels functions \eqn{K(x)}{K(x)} are used in derivatives of kernel density estimator to estimate \eqn{\hat{f}^{(r)}_{h}(x)}{hat(f)(x;r)}, satisfying the following three requirements: \enumerate{ \item \eqn{\int_{R} K(x) dx = 1}{ int K(x) dx = 1} \item \eqn{\int_{R} xK(x) dx = 0}{ int x K(x) dx = 0} \item \eqn{\mu_{2}(K) = \int_{R}x^{2} K(x) dx < \infty}{mu(K(x)) = int x^2 K(x) dx < inf} } Several types of kernel functions \eqn{K(x)} are commonly used in this package: Gaussian, Epanechnikov, Uniform (rectangular), Triangular, Triweight, Tricube, Biweight (quartic), Cosine.\cr The function \code{\link{kernel.fun}} for kernel derivative \eqn{K^{(r)}(x)}{K(x;r)} and \code{\link{kernel.conv}} for kernel convolution \eqn{K^{(r)}\ast K^{(r)} (x)}{K(x;r) * K(x;r)}, where the write formally: \deqn{K^{(r)}(x) = \frac{d^{r}}{d x^{r}} K(x)}{K(x;r) = d^r/d x^r (K(x))} \deqn{K^{(r)} \ast K^{(r)} (x) = \int_{-\infty}^{+\infty} K^{(r)}(y)K^{(r)}(x-y)dy}{K(x;r) * K(x;r) = int K(y;r) K(x-y;r) dy} for \eqn{r = 0, 1, 2, \dots}\cr \bold{Estimators of r'th derivative of a density function:}\cr\cr \dfn{A natural estimator of the r'th derivative of a density function \eqn{f(x)} is: \deqn{\hat{f}^{(r)}_{h}(x)= \frac{d^{r}}{d x^{r}} \frac{1}{nh} \sum_{i=1}^{n} K\left(\frac{x-X_{i}}{h}\right) = \frac{1}{nh^{r+1}}\sum_{i=1}^{n} K^{(r)}\left(\frac{x-X_{i}}{h}\right)}{hat(f)(x;r) = n^-1 h^-(r+1) Sum ( K(x-X(i)/h ;r) ,i = 1...n)} Here, \eqn{X_{1}, X_{2}, \dots,X_{n}}{X(1), X(2),...,X(n)} is an i.i.d, sample of size \eqn{n} from the distribution with density \eqn{f(x)}, \eqn{K(x)} is the kernel function which we take to be a symmetric probability density with at least \eqn{r} non zero derivatives when estimating \eqn{f^{(r)}(x)}{f(x;r)}, and \eqn{h} is the bandwidth, this parameter is very important that controls the degree of smoothing applied to the data.}\cr The case \eqn{(r=0)} is the standard kernel density estimator (e.g. Silverman 1986, Wolfgang 1991, Scott 1992, Wand and Jones 1995, Jeffrey 1996, Bowman and Azzalini 1997, Alexandre 2009), properties of such derivative estimators are well known e.g. Sheather and Jones (1991), Jones and Kappenman (1991), Wolfgang (1991). For the case \eqn{(r > 0)}, is derivative of kernel density estimator (e.g. Bhattacharya 1967, Schuster 1969, Alekseev 1972, Wolfgang et all 1990, Jones 1992, Stoker 1993) and for applications which require the estimation of density derivatives can be found in Singh (1977).\cr For r'th derivatives of kernel density estimator one-dimensional, the main function is \code{\link{dkde}}. For display, its plot method calls \code{\link{plot.dkde}}, and if to add a plot using \code{\link{lines.dkde}}. \preformatted{ R> data(trimodal) R> dkde(x = trimodal, deriv.order = 0, kernel = "gaussian") Data: trimodal (200 obs.); Kernel: gaussian Derivative order: 0; Bandwidth 'h' = 0.1007 eval.points est.fx Min. :-2.91274 Min. :0.0000066 1st Qu.:-1.46519 1st Qu.:0.0669750 Median :-0.01765 Median :0.1682045 Mean :-0.01765 Mean :0.1723692 3rd Qu.: 1.42989 3rd Qu.:0.2484626 Max. : 2.87743 Max. :0.4157340 R> dkde(x = trimodal, deriv.order = 1, kernel = "gaussian") Data: trimodal (200 obs.); Kernel: gaussian Derivative order: 1; Bandwidth 'h' = 0.09094 eval.points est.fx Min. :-2.87358 Min. :-1.740447 1st Qu.:-1.44562 1st Qu.:-0.343952 Median :-0.01765 Median : 0.009057 Mean :-0.01765 Mean : 0.000000 3rd Qu.: 1.41031 3rd Qu.: 0.415343 Max. : 2.83828 Max. : 1.256891 } \bold{Bandwidth selectors:}\cr\cr The most important factor in the r'th derivative kernel density estimate is a choice of the bandwidth \eqn{h}{h} for one-dimensional observations. Because of its role in controlling both the amount and the direction of smoothing, this choice is particularly important. We present the popular bandwidth selection (for more details see references) methods in this package: \itemize{ \item Optimal Bandwidth (AMISE); with \code{deriv.order >= 0}, name of this function is \code{\link{h.amise}}.\cr For display, its plot method calls \code{\link{plot.h.amise}}, and to add a plot used \code{\link{lines.h.amise}}. \item Maximum-likelihood cross-validation (MLCV); with \code{deriv.order = 0}, name of this function is \code{\link{h.mlcv}}.\cr For display, its plot method calls \code{\link{plot.h.mlcv}}, and to add a plot used \code{\link{lines.h.mlcv}}. \item Unbiased cross validation (UCV); with \code{deriv.order >= 0}, name of this function is \code{\link{h.ucv}}.\cr For display, its plot method calls \code{\link{plot.h.ucv}}, and to add a plot used \code{\link{lines.h.ucv}}. \item Biased cross validation (BCV); with \code{deriv.order >= 0}, name of this function is \code{\link{h.bcv}}.\cr For display, its plot method calls \code{\link{plot.h.bcv}}, and to add a plot used \code{\link{lines.h.bcv}}. \item Complete cross-validation (CCV); with \code{deriv.order >= 0}, name of this function is \code{\link{h.ccv}}.\cr For display, its plot method calls \code{\link{plot.h.ccv}}, and to add a plot used \code{\link{lines.h.ccv}}. \item Modified cross-validation (MCV); with \code{deriv.order >= 0}, name of this function is \code{\link{h.mcv}}.\cr For display, its plot method calls \code{\link{plot.h.mcv}}, and to add a plot used \code{\link{lines.h.mcv}}. \item Trimmed cross-validation (TCV); with \code{deriv.order >= 0}, name of this function is \code{\link{h.tcv}}.\cr For display, its plot method calls \code{\link{plot.h.tcv}}, and to add a plot used \code{\link{lines.h.tcv}}. } \preformatted{ R> data(trimodal) R> h.bcv(x = trimodal, whichbcv = 1, deriv.order = 0, kernel = "gaussian") Call: Biased Cross-Validation 1 Derivative order = 0 Data: trimodal (200 obs.); Kernel: gaussian Min BCV = 0.004511636; Bandwidth 'h' = 0.4357812 R> h.ccv(x = trimodal, deriv.order = 1, kernel = "gaussian") Call: Complete Cross-Validation Derivative order = 1 Data: trimodal (200 obs.); Kernel: gaussian Min CCV = 0.01985078; Bandwidth 'h' = 0.5828336 R> h.tcv(x = trimodal, deriv.order = 2, kernel = "gaussian") Call: Trimmed Cross-Validation Derivative order = 2 Data: trimodal (200 obs.); Kernel: gaussian Min TCV = -295.563; Bandwidth 'h' = 0.08908582 R> h.ucv(x = trimodal, deriv.order = 3, kernel = "gaussian") Call: Unbiased Cross-Validation Derivative order = 3 Data: trimodal (200 obs.); Kernel: gaussian Min UCV = -63165.18; Bandwidth 'h' = 0.1067236 } For an overview of this package, see \code{vignette("kedd")}. } \section{Requirements}{ \R version >= 2.15.0 } \author{ Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} (Dept. Probability and Statistics, \HR{USTHB}, Algeria).\cr Please send comments, error reports, etc. to the author via the addresses email mentioned above. } \section{Licence}{ This package and its documentation are usable under the terms of the "GNU General Public License", a copy of which is distributed with the package. } \references{ Alekseev, V. G. (1972). Estimation of a probability density function and its derivatives. \emph{Mathematical notes of the Academy of Sciences of the USSR}. \bold{12}(5), 808--811. Alexandre, B. T. (2009). \emph{Introduction to Nonparametric Estimation}. Springer-Verlag, New York. Bowman, A. W. (1984). An alternative method of cross-validation for the smoothing of kernel density estimates. \emph{Biometrika}, \bold{71}, 353--360. Bowman, A. W. and Azzalini, A. (1997). \emph{Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations}. Oxford University Press, Oxford. Bowman, A.W. and Azzalini, A. (2003). Computational aspects of nonparametric smoothing with illustrations from the \CRANpkg{sm} library. \emph{Computational Statistics and Data Analysis}, \bold{42}, 545--560. Bowman, A.W. and Azzalini, A. (2013). \CRANpkg{sm}: Smoothing methods for nonparametric regression and density estimation. \emph{\R package version 2.2-5.3}. Ported to \R by B. D. Ripley. Bhattacharya, P. K. (1967). Estimation of a probability density function and Its derivatives. \emph{Sankhya: The Indian Journal of Statistics, Series A}, \bold{29}, 373--382. Duin, R. P. W. (1976). On the choice of smoothing parameters of Parzen estimators of probability density functions. \emph{IEEE Transactions on Computers}, \bold{C-25}, 1175--1179. Feluch, W. and Koronacki, J. (1992). A note on modified cross-validation in density estimation. \emph{Computational Statistics and Data Analysis}, \bold{13}, 143--151. George, R. T. (1990). The maximal smoothing principle in density estimation. \emph{Journal of the American Statistical Association}, \bold{85}, 470--477. George, R. T. and Scott, D. W. (1985). Oversmoothed nonparametric density estimates. \emph{Journal of the American Statistical Association}, \bold{80}, 209--214. Habbema, J. D. F., Hermans, J., and Van den Broek, K. (1974) A stepwise discrimination analysis program using density estimation. \emph{Compstat 1974: Proceedings in Computational Statistics}. Physica Verlag, Vienna. Heidenreich, N. B., Schindler, A. and Sperlich, S. (2013). Bandwidth selection for kernel density estimation: a review of fully automatic selectors. \emph{Advances in Statistical Analysis}. Jeffrey, S. S. (1996). \emph{Smoothing Methods in Statistics}. Springer-Verlag, New York. Jones, M. C. (1992). Differences and derivatives in kernel estimation. \emph{Metrika}, \bold{39}, 335--340. Jones, M. C., Marron, J. S. and Sheather,S. J. (1996). A brief survey of bandwidth selection for density estimation. \emph{Journal of the American Statistical Association}, \bold{91}, 401--407. Jones, M. C. and Kappenman, R. F. (1991). On a class of kernel density estimate bandwidth selectors. \emph{Scandinavian Journal of Statistics}, \bold{19}, 337--349. Loader, C. (1999). \emph{Local Regression and Likelihood}. Springer, New York. Olver, F. W., Lozier, D. W., Boisvert, R. F. and Clark, C. W. (2010). \emph{NIST Handbook of Mathematical Functions}. Cambridge University Press, New York, USA. Peter, H. and Marron, J.S. (1987). Estimation of integrated squared density derivatives. \emph{Statistics and Probability Letters}, \bold{6}, 109--115. Peter, H. and Marron, J.S. (1991). Local minima in cross-validation functions. \emph{Journal of the Royal Statistical Society, Series B}, \bold{53}, 245--252. Radhey, S. S. (1987). MISE of kernel estimates of a density and its derivatives. \emph{Statistics and Probability Letters}, \bold{5}, 153--159. Rudemo, M. (1982). Empirical choice of histograms and kernel density estimators. \emph{Scandinavian Journal of Statistics}, \bold{9}, 65--78. Scott, D. W. (1992). \emph{Multivariate Density Estimation. Theory, Practice and Visualization}. New York: Wiley. Scott, D.W. and George, R. T. (1987). Biased and unbiased cross-validation in density estimation. \emph{Journal of the American Statistical Association}, \bold{82}, 1131--1146. Schuster, E. F. (1969) Estimation of a probability density function and its derivatives. \emph{The Annals of Mathematical Statistics}, \bold{40} (4), 1187--1195. Sheather, S. J. (2004). Density estimation. \emph{Statistical Science}, \bold{19}, 588--597. Sheather, S. J. and Jones, M. C. (1991). A reliable data-based bandwidth selection method for kernel density estimation. \emph{Journal of the Royal Statistical Society, Series B}, \bold{53}, 683--690. Silverman, B. W. (1986). \emph{Density Estimation for Statistics and Data Analysis}. Chapman & Hall/CRC. London. Singh, R. S. (1977). Applications of estimators of a density and its derivatives to certain statistical problems. \emph{Journal of the Royal Statistical Society, Series B}, \bold{39}(3), 357--363. Stoker, T. M. (1993). Smoothing bias in density derivative estimation. \emph{Journal of the American Statistical Association}, \bold{88}, 855--863. Stute, W. (1992). Modified cross validation in density estimation. \emph{Journal of Statistical Planning and Inference}, \bold{30}, 293--305. Tarn, D. (2007). \CRANpkg{ks}: Kernel density estimation and kernel discriminant analysis for multivariate data in \R. \emph{Journal of Statistical Software}, \bold{21}(7), 1--16. Tristen, H. and Jeffrey, S. R. (2008). Nonparametric Econometrics: The \CRANpkg{np} Package. \emph{Journal of Statistical Software},\bold{27}(5). Venables, W. N. and Ripley, B. D. (2002). \emph{Modern Applied Statistics with S}. New York: Springer. Wand, M. P. and Jones, M. C. (1995). \emph{Kernel Smoothing}. Chapman and Hall, London. Wand, M.P. and Ripley, B. D. (2013). \CRANpkg{KernSmooth}: Functions for Kernel Smoothing for Wand and Jones (1995). \emph{\R package version 2.23-10}. Wolfgang, H. (1991). \emph{Smoothing Techniques}, \emph{With Implementation in S}. Springer-Verlag, New York. Wolfgang, H., Marlene, M., Stefan, S. and Axel, W. (2004). \emph{Nonparametric and Semiparametric Models}. Springer-Verlag, Berlin Heidelberg. Wolfgang, H., Marron, J. S. and Wand, M. P. (1990). Bandwidth choice for density derivatives. \emph{Journal of the Royal Statistical Society, Series B}, 223--232. } \keyword{package} \seealso{ \CRANpkg{ks}, \CRANpkg{KernSmooth}, \CRANpkg{sm}, \CRANpkg{np}, \CRANpkg{locfit}, \CRANpkg{feature}, \CRANpkg{GenKern}. } kedd/man/plot.h.amise.Rd0000644000176200001440000000255112614740640014533 0ustar liggesusers\newcommand{\CRANpkg}{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}} \name{plot.h.amise} \alias{plot.h.amise} \alias{lines.h.amise} \title{ Plot for Asymptotic Mean Integrated Squared Error } \description{ The \code{\link{plot.h.amise}} function loops through calls to the \code{\link{h.amise}} function. Plot for asymptotic mean integrated squared error function for 1-dimensional data. } \usage{ \method{plot}{h.amise}(x, seq.bws=NULL, \dots) \method{lines}{h.amise}(x,seq.bws=NULL, \dots) } \arguments{ \item{x}{object of class \code{h.amise} (output from \code{\link{h.amise}}).} \item{seq.bws}{the sequence of bandwidths in which to compute the AMISE function. By default, the procedure defines a sequence of 50 points, from \code{0.15*hos} to \code{2*hos} (Over-smoothing).} \item{\dots}{other graphics parameters, see \code{\link[graphics]{par}} in package "graphics".} } \value{ Plot of 1-d AMISE function are sent to graphics window.\cr \item{kernel}{name of kernel to use.} \item{deriv.order}{the derivative order to use.} \item{seq.bws}{the sequence of bandwidths.} \item{amise}{the values of the AMISE function in the bandwidths grid.} } \author{Arsalane Chouaib Guidoum \email{acguidoum@usthb.dz} } \seealso{ \code{\link{h.amise}}. } \examples{ plot(h.amise(bimodal,deriv.order=0)) } \keyword{plot}