[Gmm-commits] r39 - in pkg/gmm: . R inst/doc man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Jun 6 19:20:57 CEST 2011


Author: chaussep
Date: 2011-06-06 19:20:52 +0200 (Mon, 06 Jun 2011)
New Revision: 39

Modified:
   pkg/gmm/NEWS
   pkg/gmm/R/Methods.gmm.R
   pkg/gmm/R/momentEstim.R
   pkg/gmm/inst/doc/gmm_with_R.pdf
   pkg/gmm/man/gmm.Rd
Log:
gradv is now used to compute the gradiant for optim

Modified: pkg/gmm/NEWS
===================================================================
--- pkg/gmm/NEWS	2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/NEWS	2011-06-06 17:20:52 UTC (rev 39)
@@ -1,10 +1,13 @@
 Changes in version 1.3-7
 
 o Until now there was no way to know whether optim or nlminb has converged in case of nonlinear GMM. The convergence code
-  is now printed by print.gmm and pring.summary.gmm  
+  is now printed by print.gmm and the message and function evaluation by print.summary.gmm  
 o For cases in which the weighting matrix is provided, you have the choice of assuming that it is just a fixed matrix
   not necessary equal to the inverse of the covariance matrix of the moment conditions (the default) or setting 
   vcov="TrueFixed" if it is the inverse of the estimated covariance matrix.
+o If gradv is provided, it is not only used to compute the covariance matrix. It is also used to compute the 
+  gradiant of the objective function when the method is set to "CG" or "BFGS" in optim. For CUE, it is only used for the 
+  first step estimate because the gradiant can hardly be obtained analytically in that case.
 
 
 Changes in version 1.3-6

Modified: pkg/gmm/R/Methods.gmm.R
===================================================================
--- pkg/gmm/R/Methods.gmm.R	2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/R/Methods.gmm.R	2011-06-06 17:20:52 UTC (rev 39)
@@ -26,7 +26,7 @@
     	dimnames(ans$coefficients) <- list(names(z$coefficients), 
         c("Estimate", "Std. Error", "t value", "Pr(>|t|)"))
 	ans$stest <- specTest(z)
-        ans$convergence <- z$convergence
+        ans$algoInfo <- z$algoInfo
 	class(ans) <- "summary.gmm"
 	ans
 	}
@@ -45,8 +45,20 @@
 	print.default(format(x$stest$test, digits=digits),
                       print.gap = 2, quote = FALSE)
 	cat("\n")
-	if(!is.null(x$convergence))
-		cat("Convergence code = ", x$convergence,"\n")
+	if(!is.null(x$algoInfo))
+		{	
+		cat("#############\n")
+ 		cat("Information related to the numerical optimization\n")
+		}
+	if(!is.null(x$algoInfo$convergence))
+		cat("Convergence code = ", x$algoInfo$convergence,"\n")
+	if(!is.null(x$algoInfo$counts))
+		{	
+		cat("Function eval. = ",x$algoInfo$counts[1],"\n")
+		cat("Gradian eval. = ",x$algoInfo$counts[2],"\n")
+		}	
+	if(!is.null(x$algoInfo$message))
+		cat("Message: ",x$algoInfo$message,"\n")
 	invisible(x)
 	}
 
@@ -95,8 +107,8 @@
 	print.default(format(coef(x), digits=digits),
                       print.gap = 2, quote = FALSE)
 	cat("\n")
-	if(!is.null(x$convergence))
-		cat("Convergence code = ", x$convergence,"\n")
+	if(!is.null(x$algoInfo$convergence))
+		cat("Convergence code = ", x$algoInfo$convergence,"\n")
 	invisible(x)
 	}
 

Modified: pkg/gmm/R/momentEstim.R
===================================================================
--- pkg/gmm/R/momentEstim.R	2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/R/momentEstim.R	2011-06-06 17:20:52 UTC (rev 39)
@@ -37,7 +37,27 @@
   w=diag(q)
   if (P$optfct == "optim")
     {
-    res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+    if (P$gradvf)
+      {
+      gradvOptim <- P$gradv
+      gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+      argDots <- list(...)
+      allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+      allArgOptim <- c(allArgOptim,argDots)
+      res <- do.call(optim,allArgOptim)
+      }
+    else
+      res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
     }
   if (P$optfct == "nlminb")
     {
@@ -53,8 +73,10 @@
   if (q == k2 | P$wmatrix == "ident")
     {
     z = list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)	
-    if (P$optfct != "optimize")
-	z$convergence = res$convergence
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
     }
   else
     {
@@ -76,7 +98,30 @@
      }
 
     if (P$optfct == "optim")
-      res2 <- optim(res$par, .obj1, x = P$x, w = w, gf = P$g, ...)
+      {
+      argDots <- list(...)
+      if (P$gradvf)
+        {
+        gradvOptim <- P$gradv
+        gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+	argDots <- list(...)
+        allArgOptim <- list(par = res$par, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+        allArgOptim <- c(allArgOptim,argDots)
+        res2 <- do.call(optim,allArgOptim)
+        }
+      else
+        res2 <- optim(res$par, .obj1, x = P$x, w = w, gf = P$g, ...)
+      }
 
     if (P$optfct == "nlminb")
       {
@@ -91,10 +136,11 @@
       res2$value <- res2$objective
       }	
 
-     z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)	
-     if (P$optfct != "optimize")
-	z$convergence = res2$convergence
-
+    z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)	
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
     }
 
   if(is.null(names(P$t0)))
@@ -308,7 +354,30 @@
   df <- q - k
   w=diag(q)
   if (P$optfct == "optim")
-    res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+    {
+    if (P$gradvf)
+        {
+        gradvOptim <- P$gradv
+        gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+      argDots <- list(...)
+      allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+      allArgOptim <- c(allArgOptim,argDots)
+      res <- do.call(optim,allArgOptim)
+      }
+    else
+      res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+    }
+    
   if (P$optfct == "nlminb")
     {
     res <- nlminb(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -324,8 +393,10 @@
   if (q == k2 | P$wmatrix == "ident")
     {
     z <- list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)
-    if (P$optfct != "optimize")
-	z$convergence = res$convergence
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
     }	
   else
     {
@@ -350,7 +421,31 @@
         }
 
       if (P$optfct == "optim")
-        res <- optim(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
+        {
+        if (P$gradvf)
+          {
+          gradvOptim <- P$gradv
+          gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+   	  argDots <- list(...)
+          allArgOptim <- list(par = tet, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+          argDots$gr <- NULL
+          allArgOptim <- c(allArgOptim,argDots)
+          res <- do.call(optim,allArgOptim)
+          }
+        else
+          res <- optim(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
+        }
+
       if (P$optfct == "nlminb")
         {
         res <- nlminb(tet, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -371,8 +466,11 @@
         j <- j+1	
       }
     z = list(coefficients = res$par, objective = res$value,k=k, k2=k2, n=n, q=q, df=df)	
-    if (P$optfct != "optimize")
-	z$convergence = res$convergence
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
+
     }
 
   if(is.null(names(P$t0)))
@@ -491,7 +589,30 @@
   df <- q - k
   w=diag(q)
   if (P$optfct == "optim")
-    res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+   {
+   if (P$gradvf)
+      {
+      gradvOptim <- P$gradv
+      gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+      argDots <- list(...)
+      allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = TRUE)
+      argDots$gr <- NULL
+      allArgOptim <- c(allArgOptim,argDots)
+      res <- do.call(optim,allArgOptim)
+      }
+    else
+      res <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
+    }
   if (P$optfct == "nlminb")
     {
     res <- nlminb(P$t0, .obj1, x = P$x, w = w, gf = P$g, ...)
@@ -507,16 +628,20 @@
   if (q == k2 | P$wmatrix == "ident")
     {
     z <- list(coefficients = res$par, objective = res$value, k=k, k2=k2, n=n, q=q, df=df)
-    if (P$optfct != "optimize")
-	z$convergence = res$convergence
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$counts, message = res$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res$convergence, counts = res$evaluations, message = res$message)
     }	
   else
     {
     if (P$optfct == "optim")
-      res2 <- optim(P$t0, .objCue, x = x, P = P, ...)
+      {
+      res2 <- optim(res$par, .objCue, x = x, P = P, ...)
+      }
     if (P$optfct == "nlminb")
       {
-      res2 <- nlminb(P$t0, .objCue, x = x, P = P, ...)
+      res2 <- nlminb(res$par, .objCue, x = x, P = P, ...)
       res2$value <- res2$objective
       }
     if (P$optfct == "optimize")
@@ -526,8 +651,11 @@
       res2$value <- res2$objective
       }
     z = list(coefficients=res2$par,objective=res2$value, k=k, k2=k2, n=n, q=q, df=df)	
-    if (P$optfct != "optimize")
-	z$convergence = res2$convergence
+    if (P$optfct == "optim")
+	z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+    else if(P$optfct == "nlminb")
+	z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
+
     }
 
   if(is.null(names(P$t0)))
@@ -854,7 +982,30 @@
     }
 
   if (P$optfct == "optim")
-    res2 <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, INV = FALSE,  ...)
+    {
+    if (P$gradvf)
+        {
+        gradvOptim <- P$gradv
+        gr2 <- function(thet, x,  w, gf, INV)
+		{
+		gt <- gf(thet, x)
+		Gbar <- gradvOptim(thet, x) 
+		gbar <- as.vector(colMeans(gt))
+		if (INV)		
+		  	obj <- crossprod(Gbar, solve(w, gbar))
+		else
+			obj <- crossprod(Gbar,w)%*%gbar
+		return(obj*2)
+		}
+      argDots <- list(...)
+      allArgOptim <- list(par = P$t0, fn = .obj1, gr = gr2, x = P$x, w = w, gf = P$g, INV = FALSE)
+      argDots$gr <- NULL
+      allArgOptim <- c(allArgOptim,argDots)
+      res2 <- do.call(optim,allArgOptim)
+      }
+    else
+      res2 <- optim(P$t0, .obj1, x = P$x, w = w, gf = P$g, INV = FALSE,  ...)
+    }
 
   if (P$optfct == "nlminb")
     {
@@ -868,9 +1019,12 @@
     res2$value <- res2$objective
     }	
   z = list(coefficients = res2$par, objective = res2$value, k=k, k2=k2, n=n, q=q, df=df)	
-  if (P$optfct != "optimize")
-    z$convergence = res2$convergence
+  if (P$optfct == "optim")
+     z$algoInfo <- list(convergence = res2$convergence, counts = res2$counts, message = res2$message)
+  else if(P$optfct == "nlminb")
+     z$algoInfo <- list(convergence = res2$convergence, counts = res2$evaluations, message = res2$message)
 
+
   if(is.null(names(P$t0)))
     names(z$coefficients) <- paste("Theta[" ,1:k, "]", sep = "")
   else

Modified: pkg/gmm/inst/doc/gmm_with_R.pdf
===================================================================
--- pkg/gmm/inst/doc/gmm_with_R.pdf	2011-06-03 15:36:02 UTC (rev 38)
+++ pkg/gmm/inst/doc/gmm_with_R.pdf	2011-06-06 17:20:52 UTC (rev 39)
@@ -829,22 +829,21 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 200 0 obj <<
-/Length 1346      
+/Length 1284      
 /Filter /FlateDecode
 >>
 stream
-xÚÍXKoÛF¾ûWðH"áf\>œ&‡ºv€ESD@M²^V!‰†(;1þ÷ÎÌÎ’Kz-ôR ‡µø˜ç7ß,-“M"“?Î.ÞÜÔ&QR4²QÉlèÒŠFÙ¤²•hŒMfËäôS¦Òí
-þq­²Ü^ÝÍà¶ë2ݤ_¤6YQét•ý9ûJG:m)dmÁ$i«PäB²on”´¡t^*ɍuYº
-¯²¼¨”M`n«…µËr«MúÎýhxòEZ…šAk®Œ°EÓïÖ¥jÈwŒáëc9¸}~>œWVþŽÄ’º¦v‚7˜(ÔÝ‘!ÊÓ×LW)å̤tà@™œŸÈ9´èÌ~¾£ÀTúä/QUÇ.ñæ}?q K§·Î1e»wO™®)Ä=š¾ÅøÓŠu—.‚IÆÇ1¼wÁvAºû±ê-÷iS°0ûæLúXãÁýü ’ùP6Iëå]ßÈÈt§/^Ë…Üáã×NjÏþÎéq˜bê\*_@ÓÙrÿžÕ…/-æéí\ñŽd”ó=ê±¢lßvë)ªZ{Ij7„Áa3±én=TæÇãsÁ²™-Óùu¬:ç"%ŒŒjZUb©{³ÐÛ%‹ÉX¡’.
-a+%¥©œ`TY!*ÑRo³\•h5&¢U)Q€Z#Ë8ÐŽ\
-
-óRԐÐÜ(aV(m-øËÎCs]ÕX\üÁ £ŽêZI½(/D]ôe“B¦¦Ë$ëXWÝ3^}qNn=?uÏÀ> ¤Þpë½›¤¿]‚{b»Ýrý­ƒÈD€‚ëå6ìÞüY«üľ°|˜3í›J(É5ý% —;nã%ÕÙŠJ•Žxø ÌW–ùÌ{pï½Ão í²á\ÿÊLùK.x†úèÚ}_ó 8LDځ-9è‹¢¶KÀ¯,*J“`ó,Xò°š±i
-³ÌŽ}äºÐdÊ@yñ
-C%¨ØÅï*~®ˆŽ™QÉ&+¹êƒóypeÝðµOÄj at QËl¿ê«Î±Ç©1(ñÌS`!+ßHçÖ#|Î^=Å:Ј²èwî{µØÛn êô~h0˜ƒ'&»}{˜òèXïXK­ñŸ£z¥æô ÙÏ{¸âS5/áÔc‹—fk<äüû®º
-к#¤FÆj”L–~F-áË	Ñœã¡ÀK=ˆÛ釃-$`¤>Ç3CŸç9nÙŸƒ–9ðõ.PöWÕ»êÝö@Y8Ÿ?“þ13ûʝi[Ü°æµåÍÛ uOWvg&å¨ö×Áyr`¢DF>
-KbòøÚŸüûW®lEÜ8IæF†¾ŽÞÃúÎÊ¿‡5Ëc®z~”}ü\à¯z¦u>y2ÔTÉ×+§ž­¬×«v¢Wqq5Ë,_Môj^E¬ç°œ3v< :¨a¹i@šeuPÙ뉤‚¤Ê@·×득$Yh°Ôɵ"bɏ7‘G›–@ÜÏàãäË¢%dÒëí°Éa¥ãa©ÆÙõÎœFθŒ|âwÏ1JÈ‹©ÇÔ7 at pðb†zǺd˜úì[®¬ê³;>0øÌÖ,Wÿ_fu®gÆ<„Š­ÝË?(q¬’?9ãzé<ÒUÏ,ë§ñn>²Æá¼f¨+4Š-Ü÷,\ð½ÒQ`ô‚?dÝ
-ZÄat"êô<ºZº}·èË“»¾šW‚ÉŽ·ô8Ìw–ˆ
-\Óh¡a¸G—ÊÇЉ_à°jüæËÑ¿Aüïõìâ„ïÖë
+xÚµXMÛ6½ï¯Ћ„D?EiÓäÐt7hŠ¢)b ‡¦eíõº°¥…íÝ4Eúß;$‡ÒÒF{è+YgÞ¼y¤–ë‚o/¾[\¼¸nEÁ(éhÇŠÅmÁE:¦
+­4é„*Ëâ·ò}ÅÊÍ
+þìÍXUµ¼|s×?ÀÏáâ]ù‘rQIÍËUõûâ8øT
+¡­‚%­7mL.(ÆðâšQ•Z×R²¢Š´Mã&<«j©™*XîÆc[ÕŠ‹ò•»pxò‘*f<ƒ×š	¢dfó†u6v“ÃÆæ2¸y.oÏ»0«üÉ
+,9 †‘^ Œïƒ]Èâô¹âº´˜‰rm,’ýÑÆcM†Ñ³ë·61V~q—ÆÕCÞ›ŸLìGLdé|š©½Id9îÜ“¡â­Mqg–þdò/WÆìpé2˜!îs`.‰×.ÛC‚Á@Va逃aàgðCƒ»|–u¬µãô¬?í"ó™¾z#Vr#2Ÿ;«ÆÛÛÇ)cd4:8,OÐél½­Zékkpº3ë
+®zû»(>i²²ì:ßk—kJt˽¥í7Ãa=[Óýô\é÷G$¢Ám+Õ”ýÖøX\ˆ0»(ç验KÒð°,4wƒf´ YÐÔeA”P2Òí³Î$ѲV/«š5¼
+‘ñÊ‘àVN!¸%GM‰ ‡uCZ $]n˜"Œ‹‚“þbðPÇšëÖ×\LÒÙ@yKdT©—ç’´2”F†ÌŒ7X¶ª ›ï‘¯¾8ÇÈ[/P‡'d	Ækl½çi“„Ÿ7Ñpgå.e7Rã(23°É»5†×?i•ï1´O1ó¾iIçÑø)—;l㥭³"š5S!0FŸÑèN2“ï1pׄv­›ñ3jåhyƒ³L®®_Lð·¸3“1ÊÅ#f½ESãíL¥¶8T0/ƒ-£›(ç°›)Œ³ÂÂؽ)ÖÁfäÍS.fhp0|§ñ9³zŒ’šâò&$çqpu]ã½bi4¢Ü¯BÙ1÷¼6&5^8eʱ”TûN: ¶žâ=Fõ%ׂ‚42Ì܍¦¹Ý–ÈËûØa°Qívã>JåÞÉ ,¼EhukÞøt¦¯¶;=Iv} ËßWëÎ=JædàtÊ9øm¥b}=[·–©É¾ªæÛM"&iK?‘–ôåLhŽ–â©Áÿ+=†¶'ås•ÔRäŒÎÄ>/-tÚ±?&3àý6qöÕ‡êÃö<¹q1°þ§Â´…;ÓµfÂ-Ž
+NÞ${D¶¸ª/씹J”›„zxµZäaXZQ±_ù£8pÕLi{ÂÍkd-˜ö³aéðÆWtþ5­YÕË#íÔ	ís‰?BëbòZÈ‘¨ïWv;õbíl½_–øT3¿‹ËÑV¢½žùå8dî(›}äT°ó	µIBÚÍâhË“„šà'ŸK@¥‰oï׃'r­ð‰H]+F,ññ:ѱäh3Z‡-x?û²-3íëMœä¸ÒÁñ>T&èú`Ž“`"ïñÝSŽZæåÜMs
+
+¼P¡^!B—HS¾Âʲ€îô¼à‘mÑ®Í!ü
+¼øo#ûPng_J}þ°³OD­O ]F±ãí]<Év¶JN¸7õP÷û™ü˜ë_ِÒÿøëÕââqeŸ;
 endstream
 endobj
 199 0 obj <<
@@ -862,34 +861,27 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 211 0 obj <<
-/Length 2660      
+/Length 2307      
 /Filter /FlateDecode
 >>
 stream
-xÚÝkoÛÈñ»‘뺍˜}‘\š½ÖÉõ mÎÈ—$WÐ’lgQŽ(Å	Šûï×ò%Z±OºíJËÝÙyϐœ]E*zyòÝùɳ>Ò*)T¡£óËÈë(Oó¤°it>‹ÞÅþôÃù c»@:+’Ì怂`^žêøõëÓ‰µ&.+¸™áØÒü\¯øönã
-\×|ÿQŸ(aåÙ­Ò.‘I 2±iⳌiýét’×€æ®9\S¸Îe\‰÷*Uð·îLÔfa´êI“&¹Î¢‰Éáß1•o þ›Ó‰V.€ñd„Ä·ÌÉL¦¯:䌖W0¼äáå wâò’—í&-¤™
-à9òÀ¤K‰IUÌd`lÓcl¢Ó\ÇÿµOp•pÝÀµ%8Ä6)tâ2
-*¶Iê]_>âã¬ÕäUРŽŸÃ¥XFil`œÀ•Â•Ã…0ž`X
-%ëZöy®Õµ…;ˆ÷ýùtâÒ‚XZ–7$Lø¸^ÞLNBáB‰ZX¬*^ÇY‚©®xbsMÒÑøru#›Vˆá®w‰;«©hW%ópÍjÁ‰3@—n^³Ÿ#ä­ØyúÉãbœŠGà2
-ö%ñ½Z·Ë(AS©¾‘ê%ÊJüωÌÄjãä"n 4>¢­Ëuãe2_®„N²²¯‰b_ •z>㻕@%âÖò¤ËXƒŸNóË1SáÔ†·MW”=¥Öägóø{Ö*þÌ°ú7ç1ïÑÄ"ˆ‘Lj~EIJø%â5/¶ìÊ8&Qç<‘D…eyJLÍ„½àK
-¶y‹vÔsâü½Ò¢[thè˜Ä)bÖÚ|Z’‡
-?¯_µ²Ö»bôòf‡™ù˜ZnD„ŸIâç‹ëÆÅ)9YÏHÓÊi&1Dwh…šÓtY3ðPk0u¯Ö’hÓap»Äf'•s8ëø_â´Ÿy鏔ŚäI±)	¿ñ$™“4U±ªC>
-©q²­ü{Lq@Ë€…–
-e¬!KɧAº fòê~ò2m:O¢‡°`vXè3¸Í¥¨gÍû„ÅEË^ž6˜ËõC–6Täi’~WOk±ÅJp-GM´jeËÌsþs-PÍI¬³ø[}-éøø´•ùèu[~Ž?ŽišQš(ÞGÑRçÍ%<¸×÷°A{ß³¬hpÒJ(ìg­8æßìò¿Ëû•XvÙOÐížÏýÛéh¨¨–Õ§-âµh oû¿ößE~'é`%¬_ʵù…ÌW"V½/`~wsZ»deû–ÖQ’
-•¼Úu^A‘»;Jè}ÿª[°MØu£ÖÞ“-º‘Ì2Tæa˜{üç¡|}-ÿÍ:O„J˜]ößäUGáe÷h™ð<|tX}"Ø·2¶ŸÈ¦…8\ÈüOvô;ÀÅo‚;¸^ÊÒë>Ž¯éâm“ás³Žf®öæ”Q_
-øëÐýfvÛ§û¿oóAªAèéÓùøiæ7Ì6?õmþ¸äó_ÏA?xèá®Ùšîÿ4­;VÙŠÛuÞ”îoäá)óa»!¾èxÌ”?»:º²y?χ³würO}¢ó	s._ÄÆ~ݦ/sùžÖ+²-“æPÄíMó.B(~ƒãX>;;°Î5VL˜1QiªÏ^ÓåÖÀØÃPêtÕˆ@E’æ> <G">NÕÓQl>Ñ
-®Åf¾Agt¢¬à3J)f7TA§ ¾ð¸>µiµ6VªÓÊ%¦A_wœ1ê×Äû¬ä‚´W챝»Äjð~Û+L†ÿ³ó“'(¿Št¤JòÜD&Ïjš.OÞ}PÑÁ[øèŽ@—‘8Èñ*º‰~<ùç’Ì&&·û 8;诓e¿Õ~vYâµdyb­gm¼W&#…ô`µO
-ëâÝ mŽÄ»õᆼ[»Ë{Wï*wω!2Þ£qìîuaítdRYüï(wÖ»0éô(„)WØá·§Þr‘Œ8¨¦¡\5`#Ï’Ì»ã°á30fÞcƒrþÙç=ÀvówkmOׇÙÎf¤ª8áÜ$¹Ïî³]Ù>swØpºH
-xtƒ
-.df:—™Ä˜ü°°ë„®ÞãñoSàÝ»wsˆF‘älïPm7y…œqº>OìVø(Uʨ=i㴍uI‘ŽÒ.L±'Wƒ¶7I–™qÚ~O¾x4í‘|qþÁñaìúüOà­
-ðÖïÉÇ žÃƒÖecÊs^ïIG íL
-N3J;Mõžlq€áš@‡TàMqXÀ¥àxrøµ©îÕž@?Ýè]º!Ðõž@?í&Ðwi{c÷ú1h‡@£möú£iúøo½Ëÿ„°®ØèÇ }WyNïô#Ðn}„ö˜Ó4~€áºžÙǼÿàÐÀtj¤†‚®$…¡	wJLR¥â³P"Y4GŠ¡Áæi{\
-ã[ªo4'*Œ­ñP6w¡½ÁJž!¼|q#gÔ°F‡ïÔt@§½ۍ´6ŒW8@ð%Ñ«pX—q!bþ)œ¼nå¸VæxÎS.o¥$ðõuÓcA§Ñ3žî¦Ã½´N´;¨B"ÀMEo¶ô…/+w×Üh 7iÛš ø‘ӭ܇Ú]ÝÚ^HõªéA‘åçæè¯Èd#E¢n×™çý³^×rè|kQÓ¹{U7g®Æc!ÄùLz‚°ÔƒÇï[aoHeÝv„/ùoJe§ „¾\ñ±+-Ïåôð¶)BÕbÿ–WæŸ)
-È0ó+!Å'ü¸ŸÛÆ”³jzÖ La¹eeôSítˆ’O0¾T’Fë«(ß¼<‰ÞMœåš%}˜LéÛ[*”Žß2ËК-~wΘ:}ÒPÌ|Ö~U…Â`G ªíãëXÙ`§TyqÓösˍµ”Ô‡ÃÐ÷;(àƒw®©•mÓYÁО‡ù„&REÛ=A¸å`A.û[ç)5À5å Ëyø4Ÿ‚a`-ç´±•ÂÙ†¶qHg¬ßåzÎ;Ò\ãò~‡
-@ל'дkîW"°•Ä ÷-\“ÏÚþ”Yhò>þ{‚ÚÇ«KÆÑ8–ˆzf`IzfFÜñ’ûž&oÉܺºsXߨ­D
-€É¢Øii‚©{Zšh¼R¥ÌÖˆøêj^oÚ¾,$rÁÁ¿×÷qÿ_ÊÐÀUÖÓ•ˆz-aýÅMèíšW᜻ëáÿU×èâfÔÅïÉ‚Ãä¤3vkN.tßd;£öË)¦¦9ÝfmGX ­ëá¯ãÆM›~¹i‹r[qÀ4mzc%kx÷LÛzôÙÈóÎÃËfSù
-âqð"Ô ÍÂF9¼ï(é!U>²ðôÝiŸÈÁR‘çU™“,õ%&´7.F0ÙDgðîн‡7½¾ÓDçØÛÒD;=å–º»&Ðæ£â¸ÄeV£Z±Ê´ ܝ8°+÷/^…\U®¿°U«Ð—I
-š!'ÝSSÿùË·
+xÚÝZ[oã¸~ϯ0fû ´co©E§Àn›I±˜m7˜—™ÙÂñ%cllg,{“E±ÿ½‡‡‡)ÉÚdì-Ð>Ȧx9ç㹑:$ÝŽøèòìÛë³WoìHpVòRŒ®#+F&7¬Tùèz6zŸÙó×ßAwEÉ
+e€ö¹<ÙÕÕùX)™MÖð2se…õð¼õ¯K(ïàùäßÿéHŸq‚òêà	“qà2V9³EáyýÆoàql~‚gÏž[*»ú)–ǹTXÜ ¢ºêõùXpm2îØë±P,×¥'ÿúí#2î²f‰ãçÄyÏ<,%[@UÞGú’NÎ’ÊO#û7¨ú†tK	˜HÍdNêºþä'*Už}Å1Ía^í\¥Ê6߸9—øIë%8&@3/Ch3_üL…5Jo‰¢ŸkœÖ‚rÝ*ßÍ	ìÊ:›ÜU(Fl¸¿"ÀtLNú|æÇÝ8,?û²SLÕ‚âí©žóÊCãf@Ö(µ–u©R2©m0aîžLÈA¸¦r…pºb×93*þ:pÈûÕ
+üÈXP`ea|ß?yµóÙžso¨†*Ñ;€"ŠÔ¾‚þ_‘å3h³øÚ#™QõmÄÎwÃfgø_\´zÌÈ/V¾yÙÄÚÃp¾`¤Î¤a¼´dbŸ5°±ÈÈþNm±G챟£6.Ó…Hý+â¸h$y$(À¥Dƽ $/óL¢·9¯™Çõ±Ø'
+ß.hœ¥~ö×Ýñ›ó±ÎK„´šÜá< Âz+^9ÓÞÓä&è@à=ØÞXú­¯Ø‘»òbsGƒÐ‰â~^IäZ7>ùÑt5À_®|œv=ïIÏä>Žâ”,Â5c1P_!îͶiŽ¢|O¬œƒzIøÈ=VB{¯u‘B	pÏNדmmeØe¾
+¨ˆ—«ô3 qõ*åÇ¥šÏüÛ†z!º¡ƒâ0è¡lÌÚUíü°)Æ´Ù2jåC4øxöW/U÷3o"êK7ØdË@Ú’X†igdVd—NW¾|³÷¦ìÊ8Õ¹/Æ(Lc®së°¬[ª9„ˆ8¡î$ÝwƒÈ?pQ8rËd)Àé”!rO'h¡„çêm3ת;dݏÀÌc±ÃÜÑ~Di’™/›`B:î5p±Ú.1Lä¹¾9%T~—1©|ç¶Ð ê ÐXo@çÉ‹N$÷Þ,²‘Í>ú¦?b«cçá}E¥Ö^Ò!œî¢
+/lùwŸ9ýÁ)†ì0`µa¬(œÆK÷cÞfOÕ2ZˆZªëC ;R|Yt¶~!\6èÖa­q‘\|¼´9ξ+§-ébCÄV½*Z»h÷Úÿé¦SåcXÔØ'Ã6¬TL"{O3|ÙLúc¯v<5âG¢q$OÙËÓMï3I)Ú¸„u{{ Žý}¢Z’น!­×¯šé°»|Ù…ß…~KŠ]¥»ÑŒyL_§½žÂ¤/ÂÍN?Vý_ҝÈï(lú‚ž%Õ/£š×‡ùe¨ñ&úà¨:’p¼n¢mþ,݁:xÏSûªšn»´›Q£ïqGŒº'²´¥yÙB0`ÿOÅ5àG(ëY´"¬	ì*ÝÈóHà“xßÖLX[ßÔD}Oe‚ý‚-ÉâBäÑ‘o‹–ßvh]RÓUJãWÖ‚wux†ÉÅÇ·ƒ!¥×ÔÚóû2r¿™Úߥ|ÿ÷UÞ–ƒëþ=f~Nf~ÃhóCªôçŸÿzú¡ÇD·ÍFuÿ§¶¹´²'³‹vJ¦×³xÒzÞŽá„0öñed1Ó$ÙîIƒ[þóº]û„Øëür ;}ÁÔÉB)ýv¿Ëék‡44ûŒŸ“Ú]½Á†:Çå&­F¸,W_*aæû —:Wðꍔ1Z	eEʲ­{&T²ÜÔ9¼×Ž‰Írþ²—še¢¦µÜÍ·=ä@8\©=É9÷pCn[JÑä%%~{™ì©õ%ê×Lª8å2²Ÿ8µFƧ(äI
+0m4SB&ÙÈ:­þ/®Ï>Ÿ¹ùó‘	Í™1æ[2U£éêìýG>šA#XTÙÑv]ÈDƒiñÑÝèû³ôá9+´"ݽ3vhXÁ$˜ãóiàÉEKú`V( V2ÿ(\(D JXV*}v%µ<ve-B·±+ÕÅË]Í£”'JÁÌQª{.…î‘“(%(–93E±o1nVÝéK	ÔD~¾R–L—*åûîÜ*ŸC ëiHTµP˜‚VŸ…-7&EÑþâ°Ý~¹Ú‚Õ\)Å`M}¢ÚTÎÉËSð5’[TÛ¤Yi;(4<w$s<
+
+Æ£ž¨5]H&¥9ÆÙ"w͹8Òça&WÇù,ÄZ“c°Â$ÇÀÝ€"Å)øZäV)cî–OÎ%ˆ'à-•feÞË»”å@Œ8o+YQÈ~Þv P<›wO¨8~%(ëÿvj0«ì@¼8s‹«.ú„§­ˆ'à­eFÓË;ÏÅ@¬8Bqµ£°ßäG:\†'@q…Û Ø&нpôSð
+Žó
+Ž.ý¼kGïò¶R
+8ú)xGïã-ýÙ¼{ýøkGñý”.ý̃£w…§Å£Ÿ€wíè=¼ûŒ¦vô#;:¡?c[€(€ˆ Ô¹¤«_BI–—ôùá¾<™¤«Hœg!-²¬ÃÕeòæ„Ê÷˜Ó¨³L˜ÛºƒX£Ã×mâk®ë|sGÇÒІçíþŽ‘+Ýìwt›¡?­ÁáËÚ¦i
+¥Ÿ}˜ÿN[÷tB
+-sw¸3YÝSÚ‡úWŸêkx=óÕÉù9¼Óm‰f¦E¨sq/ûŠ.3¹—‡Oþn¼äÍm¢ïîé=äëš;V7”±ª¯‰8KšËõq¥¾F•õdÁâ‹
+þ˜Ü¤ç»ºA¨m£QWöêú UZ—ýж k at .¿ãŽÜ]ßµ»Nà
+(²ø†…ë?ñSÌ5é¸Þ‹?jÅæp+ì¾Î<Uõõ²€Õã÷œZl<ø
+±ò§úõý¶í¡É °‰â8
 endstream
 endobj
 210 0 obj <<
@@ -898,163 +890,158 @@
 /Resources 209 0 R
 /MediaBox [0 0 595.276 841.89]
 /Parent 202 0 R
-/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R ]
 >> endobj
+212 0 obj <<
+/D [210 0 R /XYZ 80 770.89 null]
+>> endobj
+18 0 obj <<
+/D [210 0 R /XYZ 81 144.792 null]
+>> endobj
+213 0 obj <<
+/D [210 0 R /XYZ 81 144.792 null]
+>> endobj
+209 0 obj <<
+/Font << /F8 99 0 R /F83 137 0 R /F103 138 0 R /F105 195 0 R /F22 140 0 R /F60 96 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+220 0 obj <<
+/Length 3756      
+/Filter /FlateDecode
+>>
+stream
+xÚÍ[Y7~Ÿ_¡— ­MÔi^}8?$H‚ÈÎ`ó01=’F£d$Õ’gìÅú·o$›lQÙk/†ÜW‘,«¾:È)F‹Q1úáâ›Ë‹/¿¯ÕHyS4bty3’¥ÉaF•©òF™Ñålt•ým,²åþÛâo>ž(%³ooÛ=<vÝX6Ùo…Tc]Él>~yùtõiʼ¨
+I½5HrQXF­Åh¢L^—%lvÐï-üæÛñD6*kïàaçX·ø}	¿×cYgóîrÛ'üËÍh‹]óíáj¢•È~ ²ÛO±iûÌ¢Ù‹9õˆ3¡Aàg¿´ëþq­àg†-»˜ÿ+"ú­0ÅI2Yå %¶<ȽÜæž«lƒ“šã'M<mø–>ç8‹õÌJb‹Ó˜î‚/ð»™»/ëiß]‹ŸfÈ	p1*7ºa¹ãÐ%Ïôfƒÿ¯@ºÎZ¾¬QÚÈÁŠHp”)¬|«2dw·§ŽEö†é-ßx‹ÃoV÷´sn±$iÓíÃÒJþ–©i8ƒÕ‚µ€èVHçteCr›±2Lt]g]ó¤‘tsÃ}xͲSÑ;þôÃÏpÿsJ.7Ø=Œ©‹eš„{d£tö,5$¡!›&[mˆOú¾ãWÓ
+­›ö’:ëø©Þ<`ï­}ÛaNjżÛÑœPÎ4È5öúæ´òcûoIóIšÝtc§ÂŠ@ß¿¿ã9£(’Š#ý“*.PÇeRÇ­…%û#D‹’õïøÙ®4Ý£ôÛ)þк‡[^`¤š¢´n‰#½È¼švNÊÓ¾Ëýš-ƉŸqKʸ”΍R¸¾K`[—µtNBÃ~t.µ'²)Õ¶*ˆÀ >ŽTÞ˜ši––H禪J$ªòÒ€ør),,/=©\”býV(àÛ䢪 vû1q ú´ƒô†6ONGçºôRY&¥¢
+ِ
+×_¯Ú…«vû†W•¬Šín®&¡öL”„™5¬Cv~=œ¬žÈ+Ñôkãä MHÕ€»s4’	”	„ QÕŽäEb¶U^W~ô%µÈRÂO¸LÉÆ:ö#ð¦P¶f«~„ßý–
+š[Í$ZÒ-fz^±µrÛ™CÂvi™Úµ&h¯íÇ •7²$Ø;T"²ÓéæÔì4Î@—Ù`ÿízàâMfRƶœˆâœxT™Ug—¬W¼4E¸6e™ãg±Z¥â°¬B;òR'ŒM™µ”V©³{˜¹.¼YoÏK Œ¾Ê>ÌæÎgIäÚàù	¿$ä7à:ôØšý¶€Ëós½·>¸ ï1g«iT^½FÒŸ¶¨=ô»‰¢¥Yiµ †	G½v­ùÁë,eUBʼîå~“²O“k£æYp¦s´÷¼T68i€­¼è©¾ODYeÏž=£»2ì?„K‰@RE¼JÍü €o@µHèQ@áaqƒà‚’´•è¢\íX5` Ø}MšwgÛ9?
+÷sïÊP9ÚÝœ_û°†‡à@«õñ-`ǤûÎ)Þ‚µCTàŠ&V°C¥8º#üB>h/ø3¨ê¼Ÿe¬èaz<鞥ÖOˆ&7B&¨6uäme$bèP絪œÚ2­FÞ”GÜ. 7Ðæcø]™ö»Qg`Šàp¡7]XMºKédC0!pÏEãá²(:Ç·½	q,2¯dÕSJ™´ô6ùUZ²µN9U•²Úªª¢IFcÈPbž† =±æ=Å‹®’nØTñš¨VgÅ»w7.¼}÷.	Eù5Ål™û϶×$‰„ÐËo B¯RÎGçE/ÐwOåW‰>&JÔ@cØ~*«1·ÎôÑŠ«ò¤v at LW	ýQ´£þhÚ!Ôƒæá’¶ªŒpªz, ‰“Y ‡•Ê.‡Òó£š ör,7…/›õœo8{ÃÿÞð—
+WGk°Ú¢¨í¨åË0T#.q]kgÑu‹ìQøLf¢Là>Lá“n¸¥0åÞ‡4Õr-]´Ž÷^²’ }K±
+\‡‡Dþ–<”ç³ò¦Ì~ךflå°Þq7ìfìÌÙÓ0a¸Ì†…FÕ€v8ÙÍÍ©r}¦ƒÕ+r¡ÿMt:ðÚÂÆmÝÒo. 8ʵ­
+œ\U›ž¤;üxo|¿$€âœdUEÁºe>Š¥…ˆÛA<x6Ás™²åÜY9€EaN¥eU) ”¤•O©˜³ÈESr¹¡³ÔF„HJ ÉËÄû‰| |ÉçKI¢7]„ÔbP4±™l©óR—Q*{­jÙ§‡©¯£Ü æreÊ! ‰p=õÙ••<);J÷*Õ	D+*n2^?ÕW‚Åy»HúâåÉiC UªŽjŠÅ…ç),ó>S)XÚÇ«
+Jä*L[œÂ«
+¢®ž,+4Í©²l…öZßút_f¾BÐã÷4®‰ßÙ2,‡Ø	Øì¢yXûBeùÊÔÝ´
+\„ ©&ñ=Ê5Ö×Ù'”ÓŒº{vΔ2ôÙ	¹é2y"$tîv¶T‹}œс3íø=A
+Û íCƒUï§à÷ö€ÉßSÊ4wÞö(—UãoZýi—Å"®“E£Ÿðgઠ‹Åý‰}˜§¿=ðhÐÕyåÛæˆGƒq6¼”žvü¢eoön‡!öÆ~çoTWæzþÎyrÍiÒ¡ÍŠßpê립¾³9qg£MKëܤ£²ÈŠr}ÏH‰û‡TÖ+´Rn·Å$ŝÕbzH…$¨1ÚF’˾›s‚%¦¤<ÿÞÆK§Ü'Ô‚2ê‘6àO0ƒ®©êy^:Xÿ¯þúŒt°ã}Ì´¾NV`žu@hå‡Oz.ÌÍ&†ÆÊeþxïâ/3p	‘pÒqBäËÈÇνÌ%x‹¨ÌžŽ^LÞ¨¸ ÿ{Òý€ýPq½u,ïß“U
+-É|=低x¿G¢Œ¨X‘kLµìC–ƒJP¡ÃXn×®Ó>è £Ú¦¯Ì ¢•~6ß]^¼º„†b¤Š"&1Ò5H2]]\½,F3øø€¥VåèHWÄCjr7úåâ=•/xy	ºÒ +òxtUçeQbq¨”½öã¤È,Öcq4^‡€Ä˜ò“™ þ •RfŸ'ÓŽ([R@Ä1FÀ«úCÁ Š6 at RR¨¨ôötŠ[R©J‘ªò`ðSC^Eáú'F—Ÿdt~`¨Î†*®>6Ú•8¥"¯Eʘ#;g$LEFZF¦D#‚¾tY[’§3áf`—(ø®€S%\HUþ”ÖÓ<Ã,%&Ûú“JÙ Pûî6‹¤òÊù¦2>Þ=…($l/¿¢¼oµy)­9)ºÎ!!¥>Ž(§Jà ”M©A*S*å62WÒāܥ¯qê‡Då“\µ×À©mÄù‹‹m4|¤5Q/àÁtîåS¨äû™ÛË® V]óÕgÀj2«©´;ävš)ª­t\ÌÕéb®àãbn(ìÔÑ•r…P0I©DbT+éðÃÞíÒãƒÍb4Äݶç¢ö=¯B2ºF%ö^y‘šL£ß³A:è…«Æ=¦¬¡„°(ÞÐ\&­£æ€Íò•Jc
+ù¤pëw17K{ê$b·¸ƒ]@¤
+÷º‘jJØ÷¤Xc:ƒwälW ´ñ§Â°ùÖåG{wî¯ë×ãÖ&{62^ÓäÉmOôáÍÖmÑk˜.§c;{H^ØMn¼%5°ùA¤×SW§¦rÄÚ¶³Ó¡šÇÞ÷îôZßííƝ9œñK6N¿iÌ/ß’t6ü0wõ?eXþ>rÂêr°‹{€´[»vfEaU
+ at .teÔßóñÄHK.ÀEÓퟩ¨I·7vµ¼ºaì;{†¥·ó‚¾àÝÑzúW8#u}Žóo¸?ࢳ]¿êGý¦¿u¥ÖឯܲlS é×|Á~
+ÇbBÚŽ¹{>Î1`ìd“Çò•aX¨zìç4íoû1vjn6¤cÃ)<Å>ö÷Ï ‡ëÝ€?ËñgðæOðûì,®ûe‹xÝÚ‘>¯gȲo,¼f$þÌEÄazôóWã˜
+&¤|:nó€	Ç»ü¡Hú
+…HŽÎæÄ„}zÐó¢s"¡H÷–å§Ø]ôv°¶‹‡µ·ÇåUÐEZÊÔÔÊÅù²YÏُýl‹@{bÍ{Ës@ôOÛ@ôÞé-©’È¿“YväT¼“’ê Dïΐ.Ðv3\[&í–.’p®”KË3¦Ú¶NbT/†ìYg¢“”VÆ´/¯žóíìúÃVAßt.[ª`ÇÚnWs•W*'#{@›QØt3ø[ƒTÐB,ËÃ’Àà°¦2ÅS‡`'Z*H«áÙËä>mn½õNš«à;¾wE}¸|á#ë4Òæ™yŸí)ÊRÉ‹(!Cï'¸
+6ÅŸÊXtA¿"ÈóøTGSeßãé>Bçx(á‘´Îã?mŠõg–IŽ…í.0Ê|=6†ÿTeï’N Æ~@.*Á’4ÚÄK³Yu~RxÅ
+ï6¶+w¾ÞáEáì‡{1»S£·Ü%m¿µöcq¸ù1؇qA‚Ÿ(¸Ú3ÑæÈ&¹”Jà6‚Oý_Ç Å/‰DkB¾†–Qq“ŽråT¤ê¶N®Ýß?Øë›~xÚ©³Ÿ:ŸVòý1ˆ|Çš;6ºçyŒÕ
+~¸AiŽ£åó> 8¬«¿ÂØдèÁ_X¦‚·8|Īg„]Ï{OW$½•e§µÞ{‡Ž ûá¯#÷3YØWÉ ¬‹…Í"ôNîK+»Wváç.üåÌrsw”£'sØá:mÛïd䶦øVçE2~ŠC?î÷mÝõ»Ë‹ÿ y=º¹
+endstream
+endobj
+219 0 obj <<
+/Type /Page
+/Contents 220 0 R
+/Resources 218 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 202 0 R
+/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 214 0 R 215 0 R 216 0 R 217 0 R ]
+>> endobj
 203 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [170.961 135.73 312.668 148.528]
+/Rect [170.961 718.346 312.668 731.143]
 /A << /S /GoTo /D (cite.garcia-renault-veredas06) >>
 >> endobj
 204 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [318.115 135.73 341.925 148.528]
+/Rect [318.115 718.346 341.925 731.143]
 /A << /S /GoTo /D (cite.garcia-renault-veredas06) >>
 >> endobj
 205 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [380.083 108.632 485.328 121.43]
+/Rect [380.083 691.247 485.328 704.045]
 /A << /S /GoTo /D (cite.carrasco-florens02) >>
 >> endobj
 206 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [491.931 108.632 515.742 121.43]
+/Rect [491.931 691.247 515.742 704.045]
 /A << /S /GoTo /D (cite.carrasco-florens02) >>
 >> endobj
-212 0 obj <<
-/D [210 0 R /XYZ 80 770.89 null]
->> endobj
-18 0 obj <<
-/D [210 0 R /XYZ 81 199.744 null]
->> endobj
-213 0 obj <<
-/D [210 0 R /XYZ 81 199.744 null]
->> endobj
-209 0 obj <<
-/Font << /F8 99 0 R /F83 137 0 R /F105 195 0 R /F103 138 0 R /F22 140 0 R /F60 96 0 R /F23 143 0 R /F24 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-223 0 obj <<
-/Length 3368      
-/Filter /FlateDecode
->>
-stream
-xÚÍZݏ·¿¿B/¤ÆÚðs?ì:)’¢Z´É}8ÅZÒ锜¤³Vò]Ô{çƒä’+Jwvë´0ÎâîÉáp8ó›ŠÑr$F¼øîòâ›j=’¢hD#G—×#UÚ¢‘vTÙªh´]ÎGWã¿Näxµ€ÿvø·˜LµVã?Ü´x캉jƯ„ÒS©ñbòúòG4Ó–…¨-LI£5Hr!£©1r4Õ¶¨Ë’	Ú
-Œ;灔JF’E%?Ð+¡£²1U+ð4Š	´‰	¤,dU{’Ÿ2,WE]…yžÁ‚5¾®ÚÚ5üòÏìÞm;øo1Ç7b|½E­ù3ŠìþîðÝɺvØ0í+a<bz^Sß÷csSbœÇMí{wôñûõBzú¸sopŸðÅj‹’uËéԍ÷þv´Ã-áæO°3W4ä_¶8>ìIºkVe]Ž¦RÖ4~C`Aç”c%¤HG¢n¦p?Ådju=¾„æ×&ïMYÒ†ÍY®×9•«ŠROs‡˜MT5þubËq»Di•f<ßN¦ðrá„o6Û=6ôøýDÕ(z˜#E{Ë$÷+'Í~žñŽÂ8{'ï
-ö=œ Éöš×Û5Êœ¾ï]ï-+;ôôÝéãÇmqq?!^a±£i£‹ªÔ©ôg-j†ÀŒÃkcåÄ÷¬´ðƒ/vn-3L–^aæ¹S%•*ê^î×¹óicMæx
-8PM%ˆÆ ç
-p^”ºbB™
-È4¼è©^L¦²¬ÆÏŸ?§V¯£ñˆÄVÉosë1…-m<Á2£G
-
-í´Å
-xGŠ±cI;‰.QhüÁmSÖ	o9ßM¬e5®¼ïÔ^t~ïQ?Úý‚_³’…í#-Þµkoh;&=t^÷–¬ ²²…Mª!ñ€Z²ݒ	CVï™iXm]ôË ›ÏºîLoRºç¹-”²)¬4£©2pkæá{G™ˆY¢…¨‹ÚoÅ+!T^)¬›Q.2`ÆhÁÑêÁQøÖTUÉ&¶´DIçåV™¡t!KÔÂ@)]<G[ãhF8Âۜ΁“Sèì
-Ñ“)DFï°)ûƒ$¥7­G2VE¥ªžR©Ìhp,U8–/ò‚­MίêÜÁ­ª*Yc2HhȪg¶ÜʨÁžë¬'¶Uºå/Ñ°Õcññ#)0ž‚³ÖHB§ ;rÌ–EøìFÍÚ"Y‚zù
-ìÐÛœÿ1…èúñQ[ù"3ÆTËh¬;?nõ÷7þèã)®Ê³Úa`Ϥù¯hGýtí¨Ïk‡ED¤´Ž•³fÐŒí<’ç&ôµ#GŒ_@:ؘ11êÄmÒ,ñ§ˆ**=¾J/Ìj#øåY ‡
-_¶›7È·øß{~±'ã	ÍŠl†qVÔ
-ÔòÏ­‘‘.Á£VEƵsÖuGð
-W-°rä>¬p¶˜š„Tîª!SÝñ'ßsÏÀŠÚA²[’ {Kp~‡‡Dþ<Tàäjšrü÷ImhÅV‚øãí-ÃnÆ­œ=
-ÆÛtˆ½’±7g ¥`é9£›ÇªWä>ÿp:ðØÒÁ¶nå°›Çǘhç¬cgv?ç¢>¼?x?g­#‰þdž°`juäL4ìÙ8€(PX ÜÞ¬Á³…g=—¹sÜ€'+&͐Äè¨ÄL匟ÿV&<å §(dSB¹¡Ÿ4VÆÈJ )ÊØ€“ø?õš7ÎÛ#ûCcDlŽZDS>Ì ×‹Ò”Çˆ+oªjÕ‡‡ŒÔ7Il€Aæ&KŒ7Ôœ^Y©³Â“±x¯rƒ RÑ‘x³XœTÜËÏru‰øåëgÙex‘®£žiÇßæܯ*úHE°´Og´,t¶xfd]=šVhšsi@kµoC¸¯Æ!CÐïàÀ8²@‹òž‰cÃ	ØíW¢¹ß„DEùz¼ÐÍÚÈÿ(@HÍ0ˆïÍ\©}=¾å€rvd£îŽ=3Å}hB¾AùHžÉ<w{‘:-iLDGž´ã÷dSøüÐ	ä©.X/â¤Ç‡#&ïIDܦxiá¼éÍTšj©hГ}×’ÕŸu9«XÜ:›t°æ¾
-Œ1¸S=>Äqú‡#—C=É¥‰æ„Kƒy¶hy)<íøEË<^ãÜ›™ñ‚76ð@s¹ØxÛ½wã†6€uh»æ7ïhý~cÚ7·.&îÜdøÅÓz?é©œiE¹~"Lâñ!Ž
-­Y¦Ý¢ÿ6ˆˆ;§Åô€Ý†5Æ8¹ê‡y
-RbJ
-òï@XyåŽ8¡NŒ‡á³'gê'Æ‚õoö?5¤0ëe6PU]£¡k¦Ïz.ŒË5F…ÖéÃâáΖ ;p	‰pò@!ñeäcŽ×^
-¼….Ûœ‡/¶h fF”¿dÝøØÏ÷Ð[§òþ%›Ñ€Ù²Ì×CÞë„÷+ye@ó1±¦T«²e„‰ÁÜž¡üq†@XÛ”AlhÑÊ°š‹ï//Þ^H²†r¤E
-ˆIêlÀß™Ñl}qõZŒæðñG0–F—£{"]5ªÉíèç‹¿q…$I_jðò
-(,pas]Õ³—˜*U¯ý¸(òËÍDžì H¬-¿ØÄ?€¸J©ñ×Ù¸#c+D  N1‡±ª?×4RS$'…ŠÒnÇQ¦%«ˆ\ŠÁO
-Ñw•º•/lFlš|R=êüßX†úÔlWòœ~È¢–¹ÓœðFÒVtJmtJÒ“©*SËÊŽáÙ“‰±p38˜‰UðC	8äÆF†!—÷ÓÆÎæÎ¥ÂpÛ|ÑsÉÚw»]f•TFªÿ3•	€÷œIíÕ¥þmL
-Ä´ö”M1uÑô<áûR“r.1–²)
-¨Se«s‰ÜF¤ËHÎQ^†§É'-i )’ò<Vç렁3äüÙƒg‡o£¸&\˜	±ìÊc}$?Ì}1»°ºáß«Ù°¦reÐõ/5¬­LšÊ5ùT®Gði*7–
-Pt¥}fŽ¤Ò2S5Z¦ªÄ©ñáàËôøàÂÀÛ¥ò<l?ð.dá5*qpËË,j²ùÄt ô)¦.÷;
-%à"WÑ,“ZÕà4 lŽˆð8@ÀRŒÁ! tnCsËùK’ˆ«qG5@¤‹ÝH5£
-ö)Ö¾rõA.vCÉ|çRÆV>=Ýw>@:8ioº~?n\´'ñºH£Ò=¥¸©]zöÚÝ{ŒÄ8GF¯ÑX.Çc{Ðð…«rc“ÔÀlÈÙ‚_Ï|–šò×Ï-‡’WJ÷ï+Žoúao¶wŒæü’g¨óË$-?,|g濱l"¤!.5Ü#ËAµÚUT—•ÂÒ
-¯ù8ôúíd
-h¶\‚‹¦æï)­IÍk·[áúiÜ;w‰¥?ç½	zÆ#<ø»ôôÏxEÎKë—Mèx8â¢sC¿íg”ý¶oúÜëpÏWáXv÷)ô%ÿà8³˜‘¶gîŽïs;Ûåáˆ|íVgªú5ÍúæC#Æ-ÍïÀ–tl¸„ÇØÇñþ°f½ðç8þ
-Þüþ¾z×ý¶%¼îÜL÷_ˆ×'Ȳï,ƒfD$áÆEÂa~ö§ïÆ)ÌH+¾ùtúX,"&<cìò‡"é+
-‰\Í™=ˆôùIŸ†Bžb)2ŠtçX~ŒÝe®#Ööé´®yZž±¡Š†ÈËás™š9¹x_6ï9ûS¿ZiOªy?¥ò=ÆÓ.}ðÂ'F˪$²ð¯l˜8•à¤”>ÊчŒ3„Tl†ß–I»•GÞ•rnyÎT»ÖKŒÆЁ=«÷Lt•Òɘª÷Êûê?Pqdß_µŠÆ¦»JGõjW¬æ4/|q2zƒS¾çN›®[Ï잶)ú@ˆeyœÜ6ÃPF<vvj0÷¤«áåËl¥¶‰ko}ÅÉp|ÏmŸÕ‡¦äÂU@#UÏì§Ô§(nÈ/²„½_à.*‹?±A)?Åy|§£©Æ?àݾC›Æx%ၴ.تŠ•}@SG‡Ý>:”Kþè¯ìñY¡ …‰±Ÿ³J°%˜}H¶f»‰ý¤ðšÞWvkÁÞ<r‡7*&Üûk£7<$ÕßZ÷QW?…
-úŽ$pu`.’êÈ6»•Zb!„þïR£˜à—L ‚9¡CËCT¬ÒÑ]ïRõµ“7nJ?õû~z*Õ¹O]+¹}ÊD~›bͽƒþy‘Új
-X¡´øEÖ§õ?Ìa6½õ—Ž«óŠãWX=ƒ»lÂåž&Êy+ÇMë¼?ž@õ³¿IÜ{L-déF\gAX—
-›%œÜ7NtoÝÆGÎ]ù˹ãæö$Glß]t7él»¾”9Û2ZZä[U©üˆc?~tôÐÏÖEãƒü?G²¾q“#ÎOæ:ʽ#ò0oŒÅ%bÿûýåÅ¿ßÄ`-
-endstream
-endobj
-222 0 obj <<
-/Type /Page
-/Contents 223 0 R
-/Resources 221 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 202 0 R
-/Annots [ 207 0 R 208 0 R 217 0 R 218 0 R 219 0 R 220 0 R ]
->> endobj
 207 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [492.837 718.346 522.996 731.143]
+/Rect [492.837 664.149 522.996 676.947]
 /A << /S /GoTo /D (cite.nolan09) >>
 >> endobj
 208 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [84.236 704.796 108.047 717.594]
+/Rect [84.236 650.6 108.047 663.398]
 /A << /S /GoTo /D (cite.nolan09) >>
 >> endobj
-217 0 obj <<
+214 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [80.004 601.385 110.163 614.286]
+/Rect [80.004 550.644 110.163 563.546]
 /A << /S /GoTo /D (cite.nolan09) >>
 >> endobj
-218 0 obj <<
+215 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [116.125 601.385 139.936 614.286]
+/Rect [116.125 550.644 139.936 563.546]
 /A << /S /GoTo /D (cite.nolan09) >>
 >> endobj
-219 0 obj <<
+216 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [170.181 560.737 206.711 573.535]
+/Rect [170.181 509.996 206.711 522.794]
 /A << /S /GoTo /D (cite.fBasics) >>
 >> endobj
-220 0 obj <<
+217 0 obj <<
 /Type /Annot
 /Subtype /Link
 /Border[0 0 0]/H/I/C[0 1 0]
-/Rect [212.814 560.737 236.625 573.535]
+/Rect [212.814 509.996 236.625 522.794]
 /A << /S /GoTo /D (cite.fBasics) >>
 >> endobj
-224 0 obj <<
-/D [222 0 R /XYZ 80 770.89 null]
+221 0 obj <<
+/D [219 0 R /XYZ 80 770.89 null]
 >> endobj
-221 0 obj <<
-/Font << /F83 137 0 R /F8 99 0 R /F22 140 0 R /F25 141 0 R /F34 142 0 R /F80 101 0 R /F20 104 0 R /F23 143 0 R /F28 161 0 R /F24 214 0 R /F103 138 0 R /F105 195 0 R >>
+218 0 obj <<
+/Font << /F83 137 0 R /F8 99 0 R /F22 140 0 R /F23 143 0 R /F24 222 0 R /F25 141 0 R /F34 142 0 R /F80 101 0 R /F20 104 0 R /F28 161 0 R /F103 138 0 R /F105 195 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
 229 0 obj <<
-/Length 1763      
+/Length 1746      
 /Filter /FlateDecode
 >>
 stream
-xÚÕËŽÛ6ð¾_aô¤E#E¤ÞA›C‚M´A1ÐCÓƒÖ–m-,;›-òñ'EÙÚ4é¡‹hSäpf8ïa<YNâÉË‹gÓ‹Ç/ʉ‰£*®Ìdº˜”fRdET%Ùd:Ÿü˜øòék J|(SdNczyi‚7o.Ã$±A½ƒ9ÎZ¿‚ñ#Þ®a~€±âï_õE,¼<~aâ‘P©„i¥Fú	Î_ÃøFc&8÷Z3›˜aìN at ZZ#„®al±=¹MœAóþç0¬ÌS	Œ’þý‰-£¬´“ÐÀkÉ<*Öº+R	SS1ߍ0kIžÁR¸ØÊÐõ¹Àn<R•œI¢LUäñªÃÏ•ð›ÜKG%ð¥Ü5=­d=œV¾}¼‰À²_Ê~êÍsºA<Õs§UŸ	ö0–2Wý‰Zg>ï—¾ŒªoBH,‹ò"gbÓKÊ’ˆ4ªž%‹E°îø×ʇK[
-ÂÞñ±™¨¤íρ8rÓUÃq¾?öäÐê}nppv$µ0«àÙQ¹(ƒÛK[‚gþD‹Û4
-€v@wtíÍ7Ì,´ïÑæw$L:V<>‰5QSZ±Œ^ÃFxéwvj:QËÇš8§éÍž¨Ù‚t·&­Ìyë%wÇŽ> xæç&M¢"/5˜t⎽C°E܍èNæi¡'·ê[+ÀœZHfÃÐRRB›D&—«?eƒºŸ¼‹³X>Q ,™Ñ{ßs/Ül”³Sé/=ºBkéÌÿ–â`øóã`óãpó@îÄå•g$ŸÆ CñÆ7^€Zy®¦a×oeý­À5èF\ûϝw^4Sd¿ˆœk!²—¹†êóüV©ì÷N–Ÿ	)x`!c-‡×^X9ˆY †Ø¤ƒÀz% ÊÐÖc<ÑÆUæ¤0gWF†¯„Á½ð±w»'í„67Uð³µ?…ñIòUúœªÝŒd	Š_”ÒÂdÁ+‘Ëâ3¹â|ÜOç|ŒüIJ4Ya¾4I=Ó#9ûk2æÃ1~^T|Múþ'Ÿö³Œ©xKЧô^K/63m·Ì®Ö…>Ä\œtËÛëþq%Ke¢47#iÒ‹€ÌPïÉ¡Ô3CO'ÿC7¼—#.ˆÿä,¥'ñ•ª•oõ—dħŒh4JüA
-3›@í…åÄÑ%JZ“bãˆ8h¥Òy‰ÂÈ)6É]-†Û–Ê®V$^šµÔ¦¬ýÎ`§¨ RÚ÷ütµBtï îJ‰ƒ;m‚§–„RYV„U¿	^\–iÐîõrHh#w
-U…Ê¥+Zèy0x¬­,ß{‰ØÖŠr?è4ú*N
-q¨âR¿×¢Æ¹fÇZ3[å•|ˆN+RÜX)®y‘î%dÔ½êB­T`Š³'±¤Z3@½é9¤Š•Ó­Â%™Ä,É£Øáa¥Uô¶UŠ£óˆ¦YÌ&M*
-XKÓŠÅþA(×½Mt¼Ý.øÿ ˜`>c…5äœ&Ÿ­=##Ã@ µRZûFF”/”1¡ò9ë+ë,cƒ$Öv³f«(÷¸õQ(öÄÉJvKu&BÉè7”lC'¦¦+ù<s×’µÀ…Š
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/gmm -r 39


More information about the Gmm-commits mailing list