[Rsiena-commits] r98 - in pkg: RSiena RSiena/R RSiena/inst/doc RSienaTest RSienaTest/R RSienaTest/doc RSienaTest/inst/doc

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Tue Jun 8 17:14:05 CEST 2010


Author: ripleyrm
Date: 2010-06-08 17:14:02 +0200 (Tue, 08 Jun 2010)
New Revision: 98

Modified:
   pkg/RSiena/R/simstatsc.r
   pkg/RSiena/changeLog
   pkg/RSiena/inst/doc/s_man400.pdf
   pkg/RSienaTest/R/simstatsc.r
   pkg/RSienaTest/changeLog
   pkg/RSienaTest/doc/RSiena.bib
   pkg/RSienaTest/doc/s_man400.tex
   pkg/RSienaTest/inst/doc/s_man400.pdf
Log:
Changes to dyadic covariates and bipartite networks, also additions to bib file.

Modified: pkg/RSiena/R/simstatsc.r
===================================================================
--- pkg/RSiena/R/simstatsc.r	2010-06-04 14:22:23 UTC (rev 97)
+++ pkg/RSiena/R/simstatsc.r	2010-06-08 15:14:02 UTC (rev 98)
@@ -9,9 +9,9 @@
 # * communicating with C++. Only subsidiary routines used for maximum likelihood
 # *****************************************************************************/
 ##@simstats0c siena07 Simulation Module
-simstats0c <-function(z, x, INIT=FALSE, TERM=FALSE, initC=FALSE, data=NULL,
-                        effects=NULL, fromFiniteDiff=FALSE,
-                      profileData=FALSE, prevAns=NULL, returnDeps=FALSE)
+simstats0c <- function(z, x, INIT=FALSE, TERM=FALSE, initC=FALSE, data=NULL,
+                       effects=NULL, fromFiniteDiff=FALSE,
+                       profileData=FALSE, prevAns=NULL, returnDeps=FALSE)
 {
     if (INIT || initC)  ## initC is to initialise multiple C processes in phase3
     {
@@ -291,8 +291,7 @@
                   mymat[, 3] <- 1
                   mymat
               }, y = matorig)
-    mat2 <- do.call(rbind, tmp)   ##drop the diagonal : no, in case bipartite
-    ## mat1 <- mat1[mat1[,1] != mat1[, 2],]
+    mat2 <- do.call(rbind, tmp)
     ## add attribute of size
     attr(mat1,'nActors1') <- nrow(mat)
     attr(mat1,'nActors2') <- ncol(mat)
@@ -415,7 +414,7 @@
                         ## set to missing in raw data for distances later
                         depvar[[i]][j, ] <- NA
                         depvar[[i]][, j] <- NA
-                   }
+                    }
                 }
                 for (j in threes) ## False data is preceded and followed by real
                 {
@@ -597,7 +596,7 @@
                         networks[[i]][j, use] <- networks[[i-1]][j, use]
                         networks[[i]][use, j] <- networks[[i-1]][use, j]
                     }
-               }
+                }
                 else if (ccOption == 3)
                 {
                     depvar[j, , i] <- NA ## missing
@@ -613,7 +612,7 @@
                     depvar[use, j, i] <- 0
                     depvar[j, j, i] <- NA
                     ## carry forward already done
-                     if (i == 1)
+                    if (i == 1)
                     {
                         networks[[i]][j, use] <- 0
                         networks[[i]][use, j] <- 0
@@ -624,13 +623,16 @@
                         networks[[i]][use, j] <- networks[[i-1]][use, j]
 
                     }
-               }
+                }
                 else if (ccOption %in% c(2, 3))
                 {
                     depvar[j, , i] <- NA ## missing
                     depvar[, j, i] <- NA
                 }
             }
+        }
+        for (i in 1:observations)
+        {
             if (i < observations)
             {
                 ## recreate distances, as we have none in c++. (no longer true)
@@ -644,13 +646,12 @@
                 diag(mymat2[,,1]) <- 0
                 mydiff <- mymat2 - mymat1
                 attr(depvar, 'distance')[i] <- sum(mydiff != 0,
-                                                         na.rm = TRUE)
+                                                   na.rm = TRUE)
                 if (all(mydiff >= 0, na.rm=TRUE))
                     attr(depvar, 'uponly')[i] <- TRUE
                 if (all(mydiff <= 0, na.rm=TRUE))
                     attr(depvar, 'downonly')[i] <- TRUE
             }
-
             diag(networks[[i]]) <- 0
             edgeLists[[i]] <- createEdgeLists(networks[[i]], depvar[, , i])
         }
@@ -683,8 +684,8 @@
     compChange <- any(!is.na(thisComp))
     if (compChange)
     {
-        stop("Composition change is not yet implemented for bipartite",
-             "networks")
+      #  stop("Composition change is not yet implemented for bipartite",
+      #       "networks")
         action <- attr(compositionChange[[thisComp]], "action")
         ccOption <- attr(compositionChange[[thisComp]], "ccOption")
     }
@@ -705,6 +706,7 @@
             ## extract this matrix
             networks[[i]] <- depvar[[i]]
             nActors <- nrow(depvar[[i]])
+            nReceivers <- ncol(depvar[[i]])
             ## stop if any duplicates
             netmat <- cbind(networks[[i]]@i+1, networks[[i]]@j+1,
                             networks[[i]]@x)
@@ -713,12 +715,12 @@
                 stop("duplicate entries in sparse matrix")
             }
             ## extract missing entries
-            netmiss[[i]] <- netmat[is.na(netmat[,3]), , drop = FALSE]
+            netmiss[[i]] <- netmat[is.na(netmat[, 3]), , drop = FALSE]
             ## carry forward missing values if any
             if (i == 1) # set missings to zero
             {
                 netmat <- netmat[!is.na(netmat[,3]), ]
-                networks[[i]] <- spMatrix(nActors, nActors, netmat[, 1],
+                networks[[i]] <- spMatrix(nActors, nReceivers, netmat[, 1],
                                           netmat[, 2], netmat[,3])
             }
             else
@@ -744,6 +746,118 @@
             mat3 <- mat1[struct, , drop = FALSE]
             ## now remove the zeros from reset data
             mat1 <- mat1[!mat1[, 3] == 0, ]
+            ## do comp change
+            if (compChange)
+            {
+                ## revert to sparse matrices temporarily
+                mat1 <- spMatrix(nrow=nActors, ncol=nReceivers, i = mat1[, 1],
+                                 j=mat1[, 2], x=mat1[, 3])
+                mat2 <- spMatrix(nrow=nActors, ncol=nReceivers, i = mat2[, 1],
+                                 j=mat2[, 2], x=mat2[, 3])
+                mat3 <- spMatrix(nrow=nActors, ncol=nReceivers, i = mat3[, 1],
+                                 j=mat3[, 2], x=mat3[, 3])
+                ones <- which(action[, i] == 1)
+                twos <- which(action[, i] == 2)
+                threes <- which(action[, i] == 3)
+                for (j in ones) ## False data is not preceded by anything real
+                {
+                    if (ccOption %in% c(1, 2))
+                    {
+                        ## find missing values for this actor
+                        use <- mat2[j, ] > 0
+                        ## remove from real data (i.e. zero)
+                        mat1[j, use] <- 0
+                        ## remove from missing data
+                        mat2[j, use] <- 0
+                        ## remove from raw data for distances later
+                        depvar[[i]][j, use] <- 0 ## zero
+                    }
+                    else if (ccOption == 3)
+                    {
+                        ## add the row  to the missing data
+                        mat2[j, ] <- 1
+                        ## set to missing in raw data for distances later
+                        depvar[[i]][j, ] <- NA
+                    }
+                }
+                for (j in threes) ## False data is preceded and followed by real
+                {
+                    if (ccOption %in% c(1, 2))
+                    {
+                        ## find missing values for this actor
+                        use <- mat2[j, ] > 0
+                        ## remove these from mat2, the missing data
+                        mat2[j, use] <- 0
+                        ## carry forward
+                        if (i == 1)
+                        {
+                            ## 0 any matches from mat1, the real data
+                            mat1[j, use] <- 0
+                        }
+                        else
+                        {
+                            mat1[j, use] <- networks[[i-1]][j, use]
+                        }
+                        depvar[[i]][j, use] <- 0 ##  not missing
+                    }
+                    else if (ccOption == 3)
+                    {
+                        ## add the row to the missing data
+                        mat2[j, ] <- 1
+                        depvar[[i]][j, ] <- NA
+                    }
+                }
+                for (j in twos) ## False data is not followed by anything real
+                {
+                    if (ccOption == 1)
+                    {
+                        ## find missing values for this actor
+                        use <- mat2[j, ] > 0
+                        ## remove these from mat2, the missing data
+                        mat2[j, use] <- 0
+                        depvar[[i]][j, use] <- 0 ##  not missing
+                        ## carry forward
+                        if (i == 1)
+                        {
+                            ## 0 any matches from mat1, the real data
+                            mat1[j, use] <- 0
+                        }
+                        else
+                        {
+                            mat1[j, use] <- networks[[i-1]][j , use]
+                        }
+                    }
+                    else if (ccOption %in% c(2, 3))
+                    {
+                        ## add the row  to the missing data
+                        mat2[j, ] <- 1
+                        depvar[[i]][j, ] <- NA
+                    }
+                }
+
+                ## now revert to triplet matrices, after updating networks
+                networks[[i]] <- mat1
+                mat1 <- cbind(mat1 at i + 1, mat1 at j + 1, mat1 at x)
+                mat2 <- cbind(mat2 at i + 1, mat2 at j + 1, mat2 at x)
+                mat3 <- cbind(mat3 at i + 1, mat3 at j + 1, mat3 at x)
+                if (any (mat1[, 3] == 0) || any (mat2[, 3] == 0) ||
+                    any (mat3[, 3] == 0))
+                {
+                    stop("zero values in sparse matrices")
+                }
+                if (any (duplicated(mat1[, -3])) ||
+                    any (duplicated(mat2[, -3])) ||
+                    any (duplicated(mat3[, -3])))
+                {
+                    stop("duplicate values in sparse matrices")
+                }
+                if (any (mat1[, 1] == mat1[, 2]) ||
+                    any (mat2[, 1] == mat2[, 2]) ||
+                    any (mat3[, 1] == mat3[, 2]))
+                {
+                    stop("loop values in sparse matrices")
+                }
+            }
             ##fix up storage mode to be integer
             storage.mode(mat1) <- 'integer'
             storage.mode(mat2) <- 'integer'
@@ -789,6 +903,69 @@
         }
         for (i in 1:observations)
         {
+            ones <- which(action[, i] == 1)
+            twos <- which(action[, i] == 2)
+            threes <- which(action[, i] == 3)
+            for (j in ones) ## False data is not preceded by anything real
+            {
+                if (ccOption %in% c(1, 2))
+                {
+                    use <- is.na(depvar[j, , i])
+                    depvar[j, use, i] <- 0 ## not missing
+                    networks[[i]][j, use] <- 0 ## zero
+                }
+                else if (ccOption == 3)
+                {
+                    depvar[j, , i] <- NA ## missing
+                }
+            }
+            for (j in threes) ## False data is preceded and followed by real
+            {
+
+                if (ccOption %in% c(1, 2))
+                {
+                    use <- is.na(depvar[j, , i])
+                    depvar[j, use, i] <- 0 ##  not missing
+                    ## carry forward already done
+                    if (i == 1)
+                    {
+                        networks[[i]][j, use] <- 0
+                    }
+                    else
+                    {
+                        networks[[i]][j, use] <- networks[[i-1]][j, use]
+                    }
+                }
+                else if (ccOption == 3)
+                {
+                    depvar[j, , i] <- NA ## missing
+                }
+            }
+            for (j in twos) ## False data is not followed by anything real
+            {
+                if (ccOption == 1)
+                {
+                    use <- is.na(depvar[j, , i])
+                    depvar[j, use, i] <- 0 ##  not missing
+                    ## carry forward already done
+                    if (i == 1)
+                    {
+                        networks[[i]][j, use] <- 0
+                    }
+                    else
+                    {
+                        networks[[i]][j, use] <- networks[[i-1]][j, use]
+
+                    }
+                }
+                else if (ccOption %in% c(2, 3))
+                {
+                    depvar[j, , i] <- NA ## missing
+                }
+            }
+        }
+        for (i in 1:observations)
+        {
             if (i < observations)
             {
                 ## recreate distances, as we have none in c++. (no longer true)
@@ -885,6 +1062,7 @@
 unpackCDyad<- function(dycCovar)
 {
     sparse <- attr(dycCovar, 'sparse')
+    nodeSets <- attr(dycCovar, "nodeSet")
     if (sparse)
     {
         ## have a sparse matrix in triplet format
@@ -892,9 +1070,12 @@
         ## with 0 based indices!
         varmat <- cbind(dycCovar at i+1, dycCovar at j+1, dycCovar at x)
         ##drop the diagonal, if present - not for bipartite
-        ## varmat <- varmat[varmat[,1] != varmat[, 2],]
+        if (nodeSets[1] == nodeSets[2])
+        {
+            varmat <- varmat[varmat[,1] != varmat[, 2],]
+        }
         mat1 <- varmat
-        ##mat1[is.na(varmat[, 3]), 3] <- attr(dycCovar, "mean")
+        mat1[is.na(varmat[, 3]), 3] <- attr(dycCovar, "mean")
         mat1 <- mat1[!mat1[, 3] == 0, ]
         ## add attribute of dim
         attr(mat1,'nActors1') <- nrow(dycCovar)
@@ -908,8 +1089,12 @@
     }
     else
     {
+        if (nodeSets[1] == nodeSets[2])
+        {
+            diag(dycCovar) <- 0
+        }
         dycCovar1 <- dycCovar
-        ##dycCovar1[is.na(dycCovar1)] <- attr(dycCovar, "mean")
+        dycCovar1[is.na(dycCovar1)] <- attr(dycCovar, "mean")
         edgeLists <- createCovarEdgeList(dycCovar1, dycCovar)
     }
     ## add attribute of nodesets
@@ -929,6 +1114,7 @@
     varmats <- vector('list', observations)
     sparse <- attr(dyvCovar, 'sparse')
     means <- attr(dyvCovar, "meanp")
+    nodeSets <- attr(dyvCovar, "nodeSet")
     if (sparse)
     {
         ## have a list of sparse matrices in triplet format
@@ -938,7 +1124,10 @@
             thisvar <- dyvCovar[[i]]
             varmat <- cbind(var at i+1, var at j+1, var at x)
             ## drop the diagonal, if present no - bipartite?
-            ## varmat <- varmat[varmat[,1] != varmat[, 2],]
+            if (nodeSets[1] == nodeSets[2])
+            {
+                varmat <- varmat[varmat[,1] != varmat[, 2],]
+            }
             mat1 <- varmat
             mat1[is.na(varmat[, 3]), 3] <- means[i]
             mat1 <- mat1[!mat1[, 3] == 0, ]
@@ -956,6 +1145,10 @@
     {
         for (i in 1:(observations - 1))
         {
+            if (nodeSets[1] == nodeSets[2])
+            {
+                diag(dyvCovar[, , i]) <- 0
+            }
             thisvar <- dyvCovar[, , i]
             thisvar[is.na(thisvar) ] <- means[i]
             edgeLists[[i]] <- createCovarEdgeList(thisvar, dyvCovar[, , i])

Modified: pkg/RSiena/changeLog
===================================================================
--- pkg/RSiena/changeLog	2010-06-04 14:22:23 UTC (rev 97)
+++ pkg/RSiena/changeLog	2010-06-08 15:14:02 UTC (rev 98)
@@ -1,3 +1,16 @@
+2010-06-08 R-forge revision 97
+
+	* R/simstatsc.r: constant dyadic covariates with missing values
+	should now work correctly, varying ones do not fail, but the
+	centering and filling in of missing values for these is still to
+	be sorted out. Also treatment of bipartite nets with composition
+	change has been corrected. (Previously missings were not processed
+	correctly if a sparse-matrix format network (even after the
+	previous change!) and composition change was ignored for all
+	bipartite networks.)
+
+	* doc/RSiena.bib: additions.
+
 2010-06-04 R-forge revision 96 (RSiena mainly)
 
 	* R/sienaTimeTest.r, R/sienaeffects.r, man/sienaTimeTest.rd,

Modified: pkg/RSiena/inst/doc/s_man400.pdf
===================================================================
--- pkg/RSiena/inst/doc/s_man400.pdf	2010-06-04 14:22:23 UTC (rev 97)
+++ pkg/RSiena/inst/doc/s_man400.pdf	2010-06-08 15:14:02 UTC (rev 98)
@@ -507,12 +507,13 @@
 IÉÑߧ¶¨ÈYÊU&Ðè~èåuC­A?,È;ßËÅå
 •ˆ	¬´¢hù„(g˜5˜Q–+ô5¹-š”ÉdWTiÆ	KžÚ.ýmùlÕÌ–J,©è`õðùúîjԛݡ–òUmï¡m×»¶‰è“ÑJ#ƒdÒe’cMÊÅfrìç.ÍiÒÞå:Ù{°č‡y
 öò†+DæB² (°æð4Ö†E¼ûÝ°pèû¯Jîݶ²‡ÐôE™Æ9S€@0g<",SÍ’¶ŽÆWøŽpû}~ŠžAXy=£É)ʸÆ2Ï#ò¯ƒT©ªÁ/º}ŠßŸþ„²¬¾K3Áóä“ÝÝPÛÆ+ÇŠ*yŠÁç§O3
-g4qeÿ}<ºÛ}#TÚj->¶Ue×væ40„b!iHœÑ·/»ÆFq‘¡äl°×Ë…AQ•cIâ„cÅ*ëÅãÿ ˜´GÁåMMѧvñübOªÙ„œA²sƒ4PJ
-Ÿg¦)æ”#F	6LÄP®û¡+ÊáJ	rQ© [4,à>*ÿÆ{®g×a©ÄDûo$'¯}4C¥€©ó×.rõ®‚‚Åî0ÉçfoûÁ­DOmÊtÒÅÍu½u+c«šäÎWLòâ5Z¿êžãÁôË¡wý9G)ÃâØQM at 9|øP’”m½Ý}ÛEÁ¶k×]QG¥aS„Or Š1žÖ@qQË¢ëœõ€:uç)*Ù(é=G!Ì|Ìõ³7yŠu›“•­F,ŸÓ9–݇à«Xƒ»M<Ž p“0I馛šãŒuÏ#lQ–Ð]®Y‡˜È<˜08Wã•°Xš¢veÜ ™Ú.k!ÜÆvåu¼\{ðhÖh_ƒôìäÏ<‡NäÐx„žÊ.΃b~ª8ÖÚ;ݬþÑ›°³Ã¨\áÿáž:w+ÌI‘çÉryšá@=6eæLíŸ$=>I°?ßJŠbx*È¿ö¥æìè92oÏ\&'ÉË
-
-g›(ž<*âýeü:÷¸‹á¶(½ð9ÍAo=zÈòŠ:á:hô‡~°õ™p˜”X:¹z&˜5ãØÞ[
-ïÓ,¡K;“<&ÒÄDú½‹A<½Ë|&ØÔQ^`‹®r¾ëϼ3Ô4Ç‚æÿ¡,WGµÐÉÛkà9”ƒ)¼*ªÐÂpj 
-V¸¦ŸKBU ¢ý8‘ౕŠÍ3òÒ¹a°¾è‚SDð8ÆÂê8N¿ô»C\ßa¬‚á;׃æÅ()SØÑèa¤Ð4`¬ aØnm»‹ˆÂó7'G1:ö0Øuå­6øä÷ÍñÏ%ªso0ÊŒÁ9B̼Ä5ý€X
+g4qeÿ}<ºÛ}#TÚj->¶Ue×væ40„b!iHœÑ·/»ÆF}‘¡äl°×Ë…AQ•cIâ„cÅ*ëÅãÿ ˜´GÁåMMѧvñübOªÙ„œA²sƒ4PJ
+Ÿg¦)æ”#F	6LÄP®û¡+ÊáJ	rQ© [4,à>*ÿÆ{®g×a©ÄDûo$'¯}4C¥€©ó×.rõ®‚‚Åî0ÉçfoûÁ­DOmÊtÒÅÍu½u+c«šäÎWLòâ5Z¿êžãÁôË¡wý9G)ÃâØQM at 9|øP’”m½Ý}ÛEÁ¶k×]QG¥aS„Or Š1žÖ@qQË¢ëœõ€:uç)*Ù(é=G!Ì|Ìõ³7yŠu›“•­F,ŸÓ9–݇à«Xƒ»M<Ž p“0I馛šãŒuÏ#lQ–Ð]®Y‡˜È<˜08Wã•°Xš¢veÜ ™Ú.k!ÜÆvåu¼\{ðhÖh_ƒôìäÏ<‡NäÐx„žÊ.΃b~ª8ÖÚ;ݬþÑ›°³Ã¨\áÿáž:w+ÌI‘çÉryšá@=6eæLíŸ$=>I°?ßJŠbx*È¿ö¥æìè92oÏ\)üDã$yÙ@AálÅ“GE¼¿lƒ?Cçw±Â Ü¥>§9è­GÏYÞBQ'\þж>“kA'WïÏ“c£¦sûÃ{«á}š%téog’ÇDš˜H¿÷q1èÇ¢÷ax‘Ï›:ÊlÑUÎwý9€w†šæXÐü?Ô‚åê¨:y{Í<‡r0eAƒWEZŽB
+ Á
+×ôsI¨
+T´'<¶R±yF^:7Ö]°qŠÇXXÇé÷~wˆëÛ"ŒU0üqçzмå#e
+;=ŒšŒuô1LÛ­mwqBxÞâã¦óä(FÇ»®\ ÕŸü¾9þ¹DuŽá
+F™18çãOˆù`€—ø/Tµ€\
 endstream
 endobj
 341 0 obj <<
@@ -2594,28 +2595,30 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 616 0 obj <<
-/Length 2253      
+/Length 2469      
 /Filter /FlateDecode
 >>
 stream
-xڝX[o7~ϯÚ‡Œ‹™û¥‹E¡8NêÖñŠ‚Å¢ÝJ¢mÆ£uȱ­¿‡<$%ŽÆŠ»’ápÏõ;*œÜMÂɧ7áàù~ñæÝÇrR‘*óÉâv…‰ÊlRä	óh²XOþ2rößůîÐäi†ÁEǨdêË»YtÀ#MIQ¥@ª¹º¼™!Õ¡ $"q˜Y¢vy6Íòàq6Mâ<¸m;µ(FWgqÜã[äz{:ƒuÛ=œEÁ¹úPÀ@ßSõù‘ÛӏgYÐŽÓe
-´7i³ÆŪÕÔ–F2ͬzÁ›;ÔCÞ›C·}³’¼mĈÅÓ<!q^M¦QDª,C›g
-½aòÏ0á_tìƒ4'E”X(:´:I´9eÐÊ{|ÕfÊìR™-pípÔ¾ñIªˍñL(ÎGtª˜dYaµXµí£æӝP<% Öar5 È4®rM1*’'Fù)¡A#úe	‰ ˆßGS[¢5•à
-70²ÇRŠ
-àîàøE…îpAå^vDQ4tP?òB’*Œb$*F½ðUŒe˜U––û“—†Q¢räe²˜DÎ[²E«WÎÇ)€÷˜å…ÛÚS™öÔÐŒ2!U凲ü;FÄ$Ž«=Ê£ôùeõãˆ$Yâ韲×\Å/¯L:ª­õáÕ4l`nÀ ñk÷ÁqèØ_=ï˜!cŠÌò$À,­‚Y-Y×PÉU>°z‡¤½`¨LÓvZÕ|™Å~=˜[[‘"Ëö™·Ù€Ö&·1ti€Å6w&EP}øàÅÏCúOgÓ4Mn ÏM„¿õBÚ4Ó›&ipÛÑ
-;BoLRè^Ü«ÿ¼º~nuZ³ú{yU¦$Ûçó(ŒqkãX¹ahOØJ“ÔÏÆ(ü;å¤ÌcϤ°8Q%#’íû 5¢ë´ÀD2QH¾¡ª·àû¶C£VlÝwGa)J’f¹€Ù˜7­t¨¡¥ú¨ aØh„àÐ$|è!Ε“ûZòmm¼*Be:½3Üx3â¶8…’¿ñdñA1Õ(þxVBTMW\3Iymð,˜QO0ݘ€Éÿ˜¾ý¦¼¢Î©9ðÖqå.R’ÑÀËñ¨—gµ0eªAçžÈÐý€Ákº„„×\÷òR¶·^Y*‚-UÉ…gÌ“a	õÄzh«»4{œÙ™¤ô±šåÅ°v̯¢Ž‰A½\³Žãà`ëž¡¸íڍ’£*CAÊ03å-GÔ‚—Á Ò›°'Á·£Œƒ½ ]šíˆ)´Îžj5Éúž
-¾rpzÛËmPŽ«
-x×5îš9_ž:.%kF; 6)>Tª™‚ˆÖë;P0Â6Ðá+CXé¶iDVD»<6º…èO |‡ëxéÔ€Œˆ‚;ÜT¦U•z^nCõÈ:3ü	öÏÅüëåql§öˆ×_Úí¾„ ªFær˜¤¢üui˜y3Í»Pöä	ÉSÈŽ8#Et1©HGd„Ò|Êž1Īl«S•Ðœ:ó9^{«Žo%2Æ1¹LÕL$qT‡]!i'!ÇþŠ o´ÂQI’²B†ĸTWºÖ'ÍJm©ê¨ž*êê©,·"ŠfC3ü&—±oŹX<ÝœM÷JH´QhCMP»:aÕ®lñ	6ãÂÚ«_t‚M÷‰3'~®'Û‘±«„›H|XzáJåD·[D}³æϘžIžÎ
-ànT9!¼.]s;zŒ³È *é÷t„92Ü_:ö×1¬/Ú•xM¹jsq;23V¦sVµC“0t
-#¦KÛuI°ó†Îoö	>ààbÙò• Ê?¾æïÓåÍå|vý
-JˆD at w5êG~â§tV+ûT8VÏ9>l.©µÎ%µp¹¤),¶Ôo}^ÇæÜlÛ«^–;«ÏaS0
-ÍÛ%7tŸh/ï9ëô½øÒðoÐzĹUØÈž÷N¶?vçC•  ²ãËÞÝ͝™§ƒn_zõk+ÌÙëVlyÓŠ–œ8x
-^xÅùh¯ƒ¡¤Ã¸€9	F$a	N:ò7dR¶†ˆ
-kØfÃÛG=÷£¼¢Â( X# ϏÌ?ìŸþ…ÕÛ½%܇ÈÊBfÉìF]퐻­óÅÇ_½,ZsxC»‡A at uÿ×N‚1Wj²ŸNÐd<¾íÚÞ°aV«{Ï‚ˏÞ¶„ë—Ÿk¾ìhg̨[º>ˆªš&´•Ûì·ÖÈúqË]ré\õƒÇÜyAUD·kíßÒÕ½câ‡Sp¼0°@nC×fEåÀÑÌ
-µrìMÓä’õE@íþe¼KV×æç””5`RõTK¸ƒ+³Õ
-‚ݝÅÙ®µŠrINT“}yƒ{‡pˆ8œa~ÆÓ”Yˆ¼ôjzh÷/Š~»m]ºZµ—§`	/d›ô]è|ÿÔvN‰5ï`Âm»Ý©øâ¥
-™ØPÒfçEÎvTö‰JýÔùÇ	¹–ÛkXG끞`±k$}´%ÖY:+|Ƀ~d·ÕåùYßžMHX÷úàš›ÑŠ>Z³}:§÷ó«*n,ñ§¤ðÛäÊuÛŒ×Ø‘¿‹ÙõõÕÍ'ƒâ_.qña¶˜ájvó¿Ï/¯¯>_ÝÌæÿÁÏ³›«ß¿^ÏWÿºùòê)€Ù|>¨u^ UmËmÚWWkéºß×GnR}F¤LO#\‡û[É0Ä„¢iŸö 0æ¨ U¸äè˜-xfv³ ENÜšp\”ÙxOV˜%&Uò*=l{ïe«~§QH7Þä7ö·ÄW×ÕlÕïX÷
-Òg©~¹w„Ó÷Õþ­ǯeÐ!ƨ$,ž0ì=­ºî‡d÷÷ÆZÑnØAÅ®ùƒáööâ§w:ʘÞîc躵+¶)W½	{pO¹:×su—ÇÒþú坸\¼ùê-ä½
+xڝY[sÛ6~ϯи¡g,„÷Kڝ7±Óí¦ÙÇ™>´û I…˜"Y‚´­¿çàF¤ew3ãÁƒsùÎw(q·ðŸÞø£ëÏ·oÞ]ç‹‚i˜.n·‹ÀH'‹,
+ˆŸ‹ÛÍâ/!çÿ½ýÕ¾´øc™ø¾÷¡e´cøäÝuɈc’1,•/ý×Õ—Kµêx£( ¡Ÿ˜Eõê|™¤Þw¶îÄù2
+So[·8È<F×çaîíÔ]Å:¼{<‡qÝÞŸÞ>(<€‹w?póöÃy’x´åtUÂZ¦&iµQƒu-W›5“Âr¯¼ºSzt;ýÒ¶¯Ö¯+1cñ2H˜‹e"I”M‚³Š~aÝŸ~âÃ_0õAœ’,ˆŒp²:Š¤9¹Ww;u+ÍÎÐìÍjVÙaW»ÆG1–jã™@.ftŠ$If´X×ê)§=¡xL`[ó
+ëÖ#€,Ã"•+–AAÒHÃ(=#eÐŒ~ID âËhÊB³hC;ªáJM¨ÈNwÉ
+€»…ãWÝG¢”{ÞYFbßB}â…Ø'…j/„jQ6ë…ob.“À¬<7ÒïXwõ§D˜#Ïk”„$°ÞêjeõÚú8Ш9fd©ié©DzjlF‘¢pC™ÿ#B†Å€ò ~z^ý0 Q9ú§€ì
+Çø¥…NGœ:RnÝ@ÄÊ
+ÀHüÒ>°ZöWÏ[¦—1\fdÞeÙ±¶¢À|`åA-íSÊTu»§å@àó$tùàfjmA²$2o¿­un«ÐÅž"?ZÝéQêÃ'~Òߟ/ã8ö¸†<×þދΤ™¼˜4‰½mK÷l‚ސÄP	œ¸ÿ/x%þVKžÚ°ò¥¼Êc’ù<c5µ·"'nÛ ¶â(v³1ðÿŽE)ÉÓÐ1ÉÏN°d@’¡#Ú¾RèHB&ŠŽï)Öuߴʨ5Ûôí$,YNâ$uÃ0›³âKÝYÔÐNíê¢6S…FEÂ…žÂ9:1Ø—oJí}¥"P&ÓK0-W3nc 8ùm†Ä}’„Gd*Q|}žCTuUÜ°ŽòRãY0­ž`²0k€…úÿ~q|÷oô
+¾‡9òÖ”¹³˜ÄY0òr8ëåËRhšª”¿Ól :4¼¤+èAxÉe-?¨•õÖ¡¥Ìk(&#Ïœ'ýøÄx¨‘Uš=\šž$w±š¤Ù˜H[¦É+3¨cbÄ—ÖrÕ8ÞÓ+¶m½Ç}2’û‰¦·TmA
+x4 ½Ž‘{ä=rÓÊXغ—Ô<*GDïCéÌàŠý¨NÖŸ©àkXN¯û®éÊaQ€ì²T³ºR7-ï:V©5Ò0IÕ«PÉb°µ„Xß‚‚*­zÇì/¬eÙÔ[df‹zx¬d	‘`óƒ÷ K¦dDàÝ©I4}ŽU|¨y©	Õkuó'Ø?no¾]Mc»4¯8õ¥n
+TÍôåÐIéëÒ0qzšw×@{GûgIcÈŽ0!Y¦Ö…¤ $¨ø”=©#mLÕ)r¨V›™}œò(Ö-o:%XµÉyŒ=Q§Zu˜m;ÆÔ_äT8ÈI”Jà-1Ìñ¨Q–ò ð(Eá²#^1êxEKæ­ˆøÉØ·È‡yèZq K¼ÇÀдÃM¯®´B{ª	geÂâlW«+جÆ^y#l®»ÏH˜Øíodg;Óvåp	©ŽTÖA´iê«
+Ré%àIÔá¬~àFÌ	áTé’›Öc˜YQ‰_ÒúH8tÇ1Å/Ò•ê˜ûî©ÉÅát¤{xJ™ÌY,‡:aèZL›>¦JJ0ý“
+[ÌÊ\ÀÁÁ 0ô)•xÍ¿OW_®n.?¿b¥„[@uÕêh~‡:ãÈ\Çx½Q“K8–¹„›Kr…ÁÞ(ò–ïËØ\èiC°x³:}Ž‹‚Vè¦^q½îí»g­–q5E¾Vü;”¡çoz»%v‡c‡Vé×ZèçŸkÑðª5qH>K‹#ˬƒiz%m™@1Wèu ÍÆ`è±+W½^ÖÉæT/¢z3ìéYeŠÚ¼n2ÍÆQÙ	T]J£
+öxeOMI+Ý5?Ðz5²¥ÃfƒËU¨¬ÆŠ)Õg'4ÛÒ= í(`(FJ‹bF]ÿÕCæÏ¡f½µÁãʘ~Ï›fìa(—ûSŽû_=è<1^÷ôžY‘S_÷šÓQÙ K1²£slÖ^­Øã
+üIN`}6œƒ7õcUÖàG­ªl®\ß~”ç3)Šuâ­~LWn¼ízE›:(+Á»S¡íjH÷kÇ¡”øZÓc-Èó¤sã2Κ
+#‰U `¯J‚’m»%mÛúQÝŸý´<s%Cƒt0Nƒ#<¤W©ï¡TnÞëÅÚñ†Mùˆ)¤Æ]…‰yqB¥3möOK:­ÇžÑÊòǐSõJ}|8JZp±¹õ–½®N¡è?ہYGTn™¥)ùz  „hÊòÁ ™å“„µ$Xf;å_XÙ˜ánY™ |MËr’Õ‡ÆzOÛA‘íi{?âë¾
+ŽFSøŸ`0Ý%¨»CÝ›46Zí{ˆ^›¬7mŸ¼ùgÉW-5ØÃä=ª"–O[;Ù7ÆÈúq#½ãuÕ™#Üz»(;kìoèúžÞ1qv*»>è24*q{àCœ#G3³©ÙÇ|ÒTn<dPºöùúÚA½ÐŸ`Ÿk\°B¦Ö­,ä>ÂîÎàìPEywš_Lþˆã$q
+¡æ¡šR ¶™»‘Eß@±ל“…3âáºÐúþ±nï­Þ­Ôíá”uêC›õ´:8‘s7›°õ¨ÔMOìk¤Ý±Šµ´Ùál,UGŸFU·µ–Þ¼îΣÖLã·'ùÅM‡„µ¯§€‹
+h6së¬ÞO¯b ISmÝ€ƒ,ÓÖ•K±£ö½6ìÃÖýX`ÕW<o1:hX¾aê…‰l~ç´#bܤMsC”üng«í†o·àúêè1¯S úx¿ÑµËß*.£øþK‚!Ô²uŸ?Ш¤þñYá k_›¦Ñ„ÊÆ<¦~pòÏ­bBþ¢`±{vm‰\wô7{äíÙ4×ç0LqÓ¶n†>Ñ´U?"ßQI·]
+„Öíqƒ8Ùƒp>3Ÿ¯Ÿ{_D"¯ûq™àtv&ñµ£±·²?6ï
+p>Nåù¸ yž›¯ØÎW·oþwâ9
 endstream
 endobj
 615 0 obj <<
@@ -2668,24 +2671,17 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 628 0 obj <<
-/Length 1306      
+/Length 1351      
 /Filter /FlateDecode
 >>
 stream
-xڝXQsâ6~ϯ`èCr3 lˆ!dzs“›ö:éCrtî¡×é[`#QKÆ¡ý핐VF;i2ÈDZ}ûíî·k¢Þºõ~¹ŠìççÅÕèK2ëÍÑ|:žö«ÞÝEÑ]o6Q4{‹¬÷û͆É8¹YVÒ,—ĬdnUê;aÖ˜ef±âeKû 
-,rdÖ…àfµãBÐeæì·‚ÈÀ~FK’J^>ü±øUAÆ1š'‰‡¯”­ƒs[Â*‹®ÌçWf‘ã}ãƁåñÍcßóo9¶€¨p'Jòéxäv†¢ÙÄž3Ç
-*$ZÑ‚ˆïQ©¿ø¸sxakë
-xi5”™Ï篔0|áfkï“Ùðö}
-ÿ™K–3Ì*\´:÷ü5çõO<Õ®õÅŸj÷mõ6ž8Ýà5ùØ70ú-¾û`´¥'•?Ö†2Oö¤ ,ÇLÀP;nŸsÄ0q\Öd)¨ÊÚöìÓ¹”»ûѨ®k$$–ñW„STmFÿF_2RŠ‘ІGfʙĔAÔ,…ØUiK˜5­œ”3äH‰.…fárKì{Ìð–d
-gª¾ÌyÅÛñØìõy[•
-v†´YTÇG¦ÚxÈ`mO¦˜Á¢(:¸ƒ°S óÉ—/ªj­M*s—ĨÃØcX§%ÁY»]!KL×9ä
-yøØjª\0~*ƒ²¸‡kêáÒ¼)a²f뜦yWYcȁ%Iq%H¶5a¤Td`7HU©ÏÉš—›5ß.®ÌÏN,KúÚäQÅ”R‰€õ2 „‹öxiÌQD0†ŒÈ#R·W'^WüŸCNšøCþ(Í9„5¢ŠAù%œj C)
-¥÷™o]ö¸VëA  )ßnu7kœ4u/ñóBÿÉ)_ÉAEÀÎíY÷P*ö
-ÒÀ ¯Šì¤§uµH’>Ñ9ãÖã®ø8}Úa™k•a;=ïûŽZP¬ŒWŽ¥êvWGùkºÉ_:éÇZ;
-W2û_®“²<Ê¡ú–soIî[¨ˆ“Yrß›m×ßãÉíóuÐÁm¶VL5¾fôo Ÿˆï‚Æn㜪RÇ©„bWꦇšc+ŽÑÝ­j “ÝM-_ÒÍ‘‡ãȺ®É&MÛN"(ÌXŸ>öéÓ¶t ï’ñÿºdÜ~‰õ$S~nþ›m\¤<çŹé!PuÞ\?“•kÍMù€<jæI´‰y¨ˆ¢*ÉåY%å¥`aþ…Tnºv4'é&ìÖ¼*Û†‚6îÈ™UMþÐêqiÉt».Œo`Ñå	v-ú|ÊA³—„°óÆ0h™\\¯=y•Ø:}ÍsòÖˆS&E讏p˜º‘0=ù	¿û¸­¼¤kÊpú¬qêAÝ:—D–<7½ôãÖÑwÅèA²X÷¸¨ÎäÖ¦7Œ\,-ªÌ½Œm©hÞÌÌñ®hµxãjß÷gà>=|¼Æ…ª#qýžDüÁá­qsóuS+j”Z;_R¾Ç%Åòì
-ä1L
-õ"GŠä¿»¾M¸ßXA7¤£ó¹Û•”žda
-Q ­9ÍGP¤0e&¦PÙ¼º€Ê¼$°¤ÀÇŽ«ñZ¸¶Õ!WÔRá[çáì%Ï½õ\×P‡hý³.>Çã(Á&Î^°zKK>»oÖ1Šïª''ßúÍÃb~z¸ƒ@£Èú8m¸ŸgF_îN~šG34g½a¡d>17ÄcïÄÏ‹«=ÄE
+xڍXÛnÛ8}ÏWÞ‡¶€MËN|IŠ¢p›´õ"uÇ‹b±»XÐm±‘I—¤¢äe¿}Ió&Ñ’’©i™š93sxf¤¨³ëDÏg‘ùü°>|O;—àr2štÖÛÎìDѬ3A4vÖIç¯×¿½é&£ñë-Î2Lvoúcùý)R¤	f(”=é¯îÍ©^m)+ KôžAž"þæŸõïK8—ãqÕa‘"fŒ<Ñ\/öxg¬¡Çƒt¨×ß[ƒÇ7)Èé¾mðªöü£sùßP¥ä"ÅÆ8>ˆ†<¬ÌÄ9¦¤êirâéÂ{’ц¶âœqÊŒ#Þఌƅíò%ã׋‚eýU¯-ßΤ,3r l	ZQ’¦È–Ź@ÉÛg*LÀe®¬Ðð—q¸1<ÛÓWÞa«cœÙÍ”H†ä4ç™±y`ªx'VïR¼5Àî‘Ùú\>I
+u%¼™|>SI÷LþÉDl	ÐBßµ½sƒ¸¨ÖHPýÉLÚ(íHTdyä¹aKp¼ÒNsK—˜î÷μ½ß\ô'ò€;êBƒK«K5ÿL†ç··‹åg“‘/7zq=_Ïõj¾¼Ö‹ï«›ÛÅ×År¾úS_ø:_.¾ÿq;_/¾-ïô¥²õAÚ3¼a=Õ„›Q˜ð ¼©[pg9MJl“œ2ЈŠNÆÅÌ.Î
+ƒÆxW)_ÝaDà1©5l)mä„>÷¥¢I·YåÎMa’`!1À¬/F: Â–Aµc H”Ý+ ÌÝCc˜Ùc‰·–¿¿rÙl’ÄƤ–äOˆ½`룀›¹ýºôl?¼(ÂRƒz¯Ë2Ñô¼Â‘ŒN¡JÖOwãL´œî‘<Ÿ–¾w$0Ö^}¼‹¼–Gý•/¡;61$î–ÆnÝ|p7¹¹‹Ð]ú•Ëka¯=íïÀœ·Œí9PÉà•^«H/ÅW•º¼F£÷ˆä¼Jß
+áƒcšó†Ò©*ÞXßsät„xK‘Ÿs ΠKmóú7º~¯ŽTßXÏ•¨ÒZt—Ej2í†qŒÊõÚæ$V‡Ÿ×a¼:ÅxªJ)ÊïijÁ]:i8ÔN©¬9Ì3³ºKiqMcåµËÿ•»/¢¨Û«èî»®†Ò}QÍ”¥¥¤½±!Í£d+|AƒÂ”wûü\q¬ –O´áX ÒÛ»S!WƒAQ€(8  Æ ¿üÇ	þ™ Æ\ø)b[9h‡'›]yÚ1¦ePÇ.SÍ–Ž—@««Ù?ñ9sœCp°‰X„Ï	6o[ÙMH”YP½¬Y	ñ,P sªY´äÎz€N¸ï7?ÝÈ©žV¯A‹:.ByñcU].Tsœ=9VúV½*6ß@…4(€·©ò&õ´gçw§Au¨uu’ÈZlPsŽš°íAÌwfÛëS©þˆUµ]õõ¸þéPÖ•TÙ	ÏžG9‘
+Ž†²Ei[P°’olFHßL ~¯"^Û }2Àûú[þHÍy
+ψ<2.îTÍXn’à²M%Õz«Ã`nW]¦>î˜1³lÝèöU^¨ß€(u m@,¯“&{&<ó40@ó,)µâ¶ÎŽ’ Æ#:gÜDÜv>×~Æ©RNu¯#Lj­b%4wù(¿chÑ“55›ÔÝY­µ
+Ôº´U¶»ÐcŒ‚ûç…ò°}ì¾îÅÎàÓ¬ôRgMÁd8íôÏg`r>Óx‡£Ê7ë³ÿ9AÔ‹
 endstream
 endobj
 627 0 obj <<
@@ -2703,23 +2699,17 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 632 0 obj <<
-/Length 1574      
+/Length 1198      
 /Filter /FlateDecode
 >>
 stream
-xÚµXmoÛ6þž_¡f(ÒŽ*Ùµ“´†6M†H8Þ†!J¦m6©‘”ÿûQõ–`À¢)ñÞï¹;ÞÚ¼_ýüº8øp5=ñÎü³Ùxæ-V^8	üÓièÌB?˜…Þbé=¼[q‚éÒ_"‰ü]øàþ|<Oß½%ômµŠÿ
-¦Ált¦ácµõóqõ¼ýòþqñÝ;þú§'ÞñxâŸi?U_HV=Np,«5Ò[y$°Þb+ýùW‹B–j!—ú+ª	À3–ŒWË-âE	iÚh?*E¼ã0ôϦ3GªB#Ã*cBˆ$D,4a®ß)³$XM5ʵ¸–áUž${šèƒ;’$ 0ßj"H8zgHJÌiaNGÄ)ˆXl‚Eëor]ó/9¡OZ8ðMÃqcýzÒǯr~èz84EI É©ÕãËÔÆÔƯ V*v)mÏ>v„ Ä`ÇßÕüî¦:øûåÅân~_ýørû­ZÜ|Y̯/.õöâ®zÞ__ªX/—w_¿«ƒ÷mÊ @;	ôIš§ænÀ³è‡Ê C¤CÚDÚã1ÇHÂK¢Ã>rã+ã8CI¨pÉ$XJB×:2•PpÒ{UÔ?ã8—¸‘’XH’–Ôý³%õ¶ÄÉE)s]~7bF%gIÝ:‰6$Þèo ÕÁ¹“U |§˜j+ †.m]0ø“å
-f	cO®©æ÷=8É47¢PB{ƒãre*3ŒØgÆ¿TTFfÏ­ððA‘Y²¬îì
-ÒÛ{Ð(E{c6™ãÏ|Ý"¼&”‘2j‚dÇ:$*Ü¡~Sà„í ËU]Ø"*ý~(ìô.—˜Á¢.„ÉŽ²Ôµ%²Î‚sRÇE)TÎ~¿|eäÄ#捷::Ä€€;å¼…|w•Ï5Ùbú¹Yöð
-剴UÊÆ;шAÙ Åæí2ÖüX˜òU7Í«Lª"M+眛ì[Ž‹Ú¼BŠ[¼k‹Ž‰œ¶Ê)Ê2LàHäy ]à# ç3UIdÎqÆx+’˜r]¡2ØX¾qêr
-äÓ}ZÀ[¥š0¨}y/—×” ÞŸkûÏ»uÅ—~$¦Áßã#SÀ»k]ï-´U]°[0ŠUÞò§6¯8KCÊ=œ<ë9ä0x­„ˆFC'TERØÓï&‡2tœd
-P‡¼»€Œ±Ö²=$/èWx£HêOõ¾DlHf³§ e*öKÔ*¬†PEbù½åßDÊ™…¸¥µ‹EÙÕ¹}Ù¨«½*TA:¦çå±i wÌ¢üþÝèê@
-£›J¼V¡GuÅ°`g­i”ã`"ä¡9ÖÕ Q•CÂzM(
-ËJÔï=X!!–=2Ð1Äj‡¶½A÷BÃc2B%‚5;Ð7®5F0äà
-Ú’æ0ãî@¥1eÌöjÏ’£®¾Hµ!øüØ5¾*ý¡2¹ÒÀ´ÖÃEn¶]ñuJ·¢]ÇJb¶aI¨—´GòöDé´5Ý™QÍ6+¦2J4ìLc „Aw@ÁÛ º6ˆYù•ÄoêsV{XtÄ@DHJSj:PK4úºÚ  W™'XŠFÀ§¹pjÁPËirC‘‚!VšIBóÁëOíBþï8V°ǁ?>;mŒˆ¯À¶‘ÕëËêóC$‡ú塁C
-ך3õÙ.-+Ž@šï­ªTç†mß8nÄø/Ä]ºÈ§{{³âÐþ¦¶m«b=	3f•´—*Zq^”¤ÛxÜÓÄ8¨2é¢H§Ñ±;÷^ÝÈ|~U˜Î"f)`	)¦û¶G~µñnL:u *Ž
-H 9]$·FÞƒ;.øªÅ`‡L#> Ó0-ªæ[ShVK¸;*LÒ?>¬Œ1’Ç,ÉS*.÷üFq?¸	‰qï• ê>š­CCˆ~ã:’í6fà1””³SÃgIb|vÀžk)7,O–å.&ÌÑÔ›³Ý`S{—’Ú=9ö0
-?›mib¶Œ!Lär,Ô8iï‰osWüáê´vO<NüYxâONýÙä´’+œ8'.ÿ¸š	‡
+xÚµXMoã6½çW	N Y«ø+è²@S´(r|Ëæ@S´Åš&]RŠãþúR‡²dI¶ƒÝƒAK&gÞÌ<í;+Çwþ¸òÍø}~õõi4qfÞlŽùÒ™Î<ߟ:“qàùãÀ™ÇÎëíÍÝ0MF·ÁÃÝpŽn?‚èþeP>PUŽˆ—cÆ%ÁbÅé$.ß…Ñ–˜Ùf*œ ‰pJdù¨RIùêîmþ—sxÓûȆ‘73f,%%<öb”"o”+~<åm^ýñÃù’ ØKÑ‚‘üéZü!'éNÈu¯¾ÖoƒüSlä;à ðf£qË&á§6	»7µl}j“èä&±ær}6bX$‚„V±&—AKŽ‡-q¾)¿“¥f—ŒÚsó¦Iù-M̏9nc>â©™%Êqa~Q`Ó´žÈXHÁ©W>=šét³etß–97õpBð,Df‘ÉÊÖFý”CIbý'ë!›
+⦬0CJåüZ2[¸´“êÅsÿó>Gc-ì—ߤ€kbÊ=O€Fˆ°Eštcý;ôßkËI°£ø„	Çûc^U"2ƒ±ïÍmÚT®¨à£f@„¤+Ê;  ;3r_"‰!`ä–öðœ;êuEҐÑÇfí—“	øt¬ïˆe¤V$.³,Î¥»äš*eÊå}Aï©%°a);‹iò@Õ+NNÆPJŽì—4—"ÕI­Uª:¹®5ñùñÛ 1]÷jÐÅx;Fø0¢Ïa±?o鸱´Ðêþ¥=¹ôüØ¡^/¼ØFU¶$L%$¹-ÏÂ(Îã;¢ÌXô+ ì\!)’B¹o·„7§Ò .j©ÊEH§àźÑt›j¡8eÜŸK‹¥dk
+ñ}}w·§4š§'˜(…ä¾Q„Ú°"KžtПJõ9ó7°š᢮“tÙ·SßÈ„ªâ‹P	Ý‚éÁáoÉuFÎgçeÓçQS=NhMpž Oà'»㺂¤zhžäõƒm™qœ§]§S•%ÆÜëbå؝勯ÁD®;ç§ªÃÆ@/ã]Ë6˜úŠôcÁ²
+«`©J-¢MžmÚ·#QS…¢î:¼­(0f3иA,¢Æü¯½j½7¼¶]#¾Pþå 0†Þ·z‹«…íT/ß@)zt9zlÕ~§*ƒ~†rµ%Á9J€¶CMÛ3^‰
+Iu'¥ê¸ñ2c^ÆUI²£Œ¹\%(ïÉ]¨¶­'HBW	ÓŸƒÎRFmÂV7I
+?­tºFˆÉJðl¡Ü¼v„¯[æN•á¤này"&É¿•`Êá5ZAËÑCW·ÃèBês"Ï#ª]½ÄÁL
+ØÕ6hãËx…|fǪ„g£„=(ÑÙ(QÊV‹§¦¢ºÒæ^º±D;݃|{rcŠV巏|4«4\ˆ^‚v6qèÑ%èÑà’;ƒ"Ì´[ÙÂv\G¢Q5ZÂAåAb at 3PuHAÿîÂíl_ôEö?¬¯OÓƒÿ¯B⍃‰3Œ¦Þ8š–QmÅïó«ÿ[±,t
 endstream
 endobj
 631 0 obj <<
@@ -2737,22 +2727,23 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 637 0 obj <<
-/Length 1389      
+/Length 1240      
 /Filter /FlateDecode
 >>
 stream
-xÚ•XÁrâ8½ç+¨É!™*p0`ÙÝÃìl2•­­f/ÙÔ”°h#K^I&Ã߯ŒÔ²%ƒI.±!rëéõë×m†½uoØûv6´×ßgWwÉuoͧ£io±êÍæÑp8ë]Oãh8{‹¬÷|yþyŒ’ËÇ'‚2÷™à…4·ˆ™kÉN±”HìÌ+Â5·)§enסRñ)’"JwÑç—ÅŸÊ Ž£y’xû-6ØÜ0”Û»†ÉÑ”o8Õ·±
-¸FÄÆ~#ÔO”gæÖ(ËKU”
-°Rl°Lâh6÷ã$šM§ÝÒ,ýu`®[$¾rý§Â´…ƒþôöú܏oF/{œUàD£¹Ï¬¬ˆý)ôU`¤,¼t$›K3z¹=Çò_œÂ9Ïá¸îp«7.^e¿ƒì´:
-ilÈ2øG^pIá–¿tƒØ7·–>sûóÙæ»'œ¶âo%ôw™Ü¢ßLï	ÚîWæºã¥M?/©…MɫŨ¸S‚eŽ¬VX`¦juijüHiIàÿJ,ˆ‡ Aöºâ”ò7yãQÐ$ø0žëz©h–ž”Ô4´EØÚ[õÖîº@‰Ü@Æ]]ÔpeS²Ò•ZÁŠÌwüÍ’m—oÐ6`Ú<¶Âæ<ÃÔÕ{S$Ø«[­§ãPa[	çÜ* ÛçZ2„è~êÍ*òMŽÞÃÞk/H’ôQp¡|<5…û2´™{ېtc)Âb‹%!¨/œ¾Eˆ¨ä L¦´ÝI¯”§D‡•ù‹ –© …"['ùü{éjºÚ \3y—_ß[
-Á³2
-Wl]o6øÅ^Õ‘6ã‹#>–¢®ÖÊÈœø3"t¹ØEÇ2_èbQÃøqŸ£:Óý½"ú
-aÖ=ÆVÔ…L†?F?t‰¨‹÷cE~¡”¶Ekuš
-×î)…Br™È+«æX?0‚›ejñö­$G}Y£5lèPï<]µ¾nº9²ðWaÇEKÈ5	:ãÁS
-÷Hé•áo¡û0M»ð‘*,*ÃÜb`ªEäê1
-‚ ËÁIìÑž¿déÞ›£ŽÂ{àлÕ…›HúõxVèkUû–YÏ*Öu¼0[ÊP¼8…ã¦#^µ}¿	ð¡þBí
-¸%,¥eŸ´‚`‰î¦n‰,ýÑÖHä]ƒŠÙј›"ö>¼OãwÍ™zÔÑ¥—IÐ3…V‡Dkšt½ÛD²ÇýäÿñøýÖrm½øîË_O·ý.ÿkT+=œhœL4oã5?Œ-¥}C;é9åFtfA¨õ¹Ú4Eß•N%«¦Kw6Ýž(É× œaBÓÇ€@¸Êp‚ËpQMVàxX8‡zjá™üŒBèÕ L÷ %2j‹kM0‡Á8ÇmàPÚ«R• Ò-²mUA¯f01,àåÅ¡EÙé1cC— êr¬6Þ«ºf‘Ú[æ,kçw,!`I»€ö­ûðuD`Q²C“eÇa©–ª Aiàð^ÄuþÛuã^8ŸÐÖ­rèè
-4˜q†5âï÷UãìÊGÕ:nœÁ›Š¯Ñ<ÕzL{uà]³Úrï`³%e¯K‘\×o®7ÇY{ìý	Wê?:¹ïg“ç8îÏ_üÑÝØVœ\'—ç‡íã°"mÀ¤3àØÜ¥a˜Äsý1\¤3Ú¨;šnòx-°Uð¢¤úe]í:"Ž»yÓ5ðñ“€Ô/H®=èÉi{"ôô#hOÅö>™¾öÀǏ¤Ôoè$òɬ3º÷ËѾ‘W±ÜïoWw³Æooñ4‰®¯'½ÁxMÇ3³O<ñž¸]œý(hYÉ
+xڝXmo£8þÞ_tZiWJX %Mr×éõårÚëJmn¥S¯8Å[b²6$Í¿?ƒ=;@ï®J…ƒñÌ33ϼÏyq<çîÌS׫õÙçÛð™»ói0uÖg6w=oæ\L}×›úÎ:qž>þôiáÇ"Í9–ËCšËEŠövÕb²R-yÉ™¼NÔW*¯	#ô•Ðù
+JÙªÓþ§çõïæØ÷ÝyXþöBOkÜ圓ˆd¤ ˜+iLíašd˜ó‘ü•JKšïð¦Ì²#€'êàd™\qÌÀ6R•>T˜QAB<÷ÝÙùÄwî+Ÿ•àª_Æ-kŸÿY^?úA®âÊ¢@mO´è±!ÛpÁZcŽF61fù‰‘2eã‚pHIœÊ%œ_?üy#WxJû6F$RÌì`Ç9M„ÛEHûcj8*ßœ¸J­âОàƒI”8Åñ«òEBø.CG›dµE|qê©Zy[ø¹kÚÄæç"šXi¹°Â—o€"™À“WÉ
+<<ûðòr[@ ë	½ûŽô#šú¬Ñ¸Í!dTpèÎI‚5"}G9ü˜—`móËrÄ¥?[T0òÙU¤–_Ì	¸„
+Š‚P½¡EÈL,)¿òeùá2TfÐ8Ï.íM"B59º2ÔâLë@` Yô ßa×ÙcjÇM’IX®àeT›©t<"¬³uÛx®!¡åaDQv¬¨9*Ø¹©"É)>)
+qq\@QÏŽ½!Û0"ê°ï&¨@îÁ7½(7aïI8u¤ÝÛ™¾¦´`@Z0$-lU
+¿‹	ÍÙçþ€¶þTlWßV÷w*MSuõz¹^ê[«¹|øúåæQ.—êúmù°Z^éÛ«{µ-/«›{µüãëõ͹lô+ë:êŲ¿†åÑwA;EødAÖ ‹l#³?îÞ!V§/7Åd¸(t«ç"DÈ»à#~ÃqYØDÆ\µt×nMÛÀD4¦¸
+UªåjÑNÓ&FP$ƇŸÎ^- ²(‡‰®tü§]@ÝF„Ö¶™á± éòûÿÔ]/ -$ÆœŽÉ¦rUí×¹‚o	ã
+âŸô¦ü´´;;ú"a4 Ô¬º‡zÔ5=VO Ñ‹CÎ^ÛX ~äÛÞö0ë;à
+x.#à=1ˆü€mHVûâήmf»îÌ}mÜMtŒä,Ï°©
+ºÙÌr«‘>D„µž—ÐÖÒÙ4Ž^ïW]¼š2íbÎS²«ûxO¦‹:Ÿ¶yYìà=`C2ì·­J½Ù€iÚš
+Õ¢àÍ^6êjI]7ëyTÃðÏ
+æ3«G‘íe-?ôÔq½¨Â¿lSþ4pýs¿{pLupü‚ïñ‘ÐXékÜÞÌþo ‡@bÉTÔÞ„—W„c|41†c,&$Æõÿn?ê¿ÃήÜÑ“3m§·Y†Å[)åº:‡Þ›øLF€W4>aWÓኔaHšä;Š1­¤#ݐýÍ”Œúmï Œˆ÷ÙÊàúÆ_'sûÃVY-`üé´m¾
+0ü£¬š­0§ïýVÄÊЮÁYãì~^ÿñùvÖúŸ†îÅŹ3žÌÜéd&eùçƉ›õÙ?ÌÁwË
 endstream
 endobj
 636 0 obj <<
@@ -2770,21 +2761,20 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 641 0 obj <<
-/Length 1412      
+/Length 1190      
 /Filter /FlateDecode
 >>
 stream
-xÚµXKÛ6¾çW»A ^ŲW~4õ!I7EŠ6v] @šMщtDÊ®ÿ}G"‡’([»9ä²¢dræ›ožÜñ`7~{6¶Ï·ëg¯ÞGóÁ2XÎ&³Áz;§ã`…ƒù,Ƴp°ŽŸ^\g'¶Ý~ŠÆ£åç—7Ñ$zñˍy®ïÿ¾{yFóèÅ5I©Ldj~ ©f¹Yþ;ŽÆê[ArÃ2|ùyý;(¿	Ã`Em“§+`;Ù'éöé’ÏxJr®O-³–ÀÙwB«ÿ!bJE7·a°¸n&Ó`‰L›MoÊM‚h~`éidŠØ,2™3³Êå¦P:=Ù
-;Â…Òæe[è·Ñ„ˆSæ…óÔ‰ýUé¼ åæÑY>ͦB1ïØV¦©<r±Ã×ÜېÄü1ª®ÄŸ³Ù0\ý}nö~$[­†ßÉêЬºìÆçú´/³I‡–×!4-b6ü¼ª<úˆkœlØ û]üÈ1	¤`*è!xmS{Fù=*Ðg`¡šKûaÃô‘1û¢Èé#ˆ3û\Rˆï>†ñ2[ZµÊ³(—G³E¶q–mÛ`alà,¾€Þø¸ŒM¼A¬!A„Ú-ćmЪ6ÜÚMu6hp+±‘¼cºCIÊ<ÉF`è7_'}VgŒ—PµRÐuò¬Öã M1‹GýiJ‰hŸ,i{݃©&RÒF
-OÓ¶š3¢‘þÍ	óƒ	2ž¤ýli!Ó²O-y.9-mòsxõ·: -ÃÆ#½Åé©óýL9o%ÿ4
-³v(v¯Âø™éDƪí& ÀˆvÔ™ÈÙ|y¼@¶ÑZ#’‰jº?'B­s¾GnO4eÓQ«xôóuVÛ‡:“}Pÿ5
-ÎèB>Uí²QÂÕ•-[WßH1mL÷qÈBû2­DVËëk8béÞ“<ò„6¼®k"ÖBb	&›”µÓ^%2×u®ØýLS{ð@ ]¸SX¤ö±=~à¤ë„sÿÈ㯲Šø+:W#´†~%;¶ºº(3®¦±Ç0ìUˆ"ÑYÚÎÞ¼ÍZ„Õ¤¦Ž_ŠT‹
- óš`¨\ ÕFe+†…3	I]wåÚ¯ê^—ÉdÌÒvÚ¹­1ÑädH/´
-X•ÔQ-e•ÊǨ•Ä«f nˆ¦Éêý›?îì—Ë7R±jºxŠsÞž°4;`<•…sP›»+‰²šO²ðʾ:r€wnˆ0lÒÊcý“
-²Ú°ÔË+å7Š²­üÙådŸ€¶Ôu¡¼Ñɶ„¢æ8{&ü^Õ.ÎM¢íʈ_‹cNvB*Í)*„É-#ÍÙÊ©TŽäNHQ`	ZOq‘wˆb£lÔÓT‘¢ÉÖÝžÎíQZF-œÀi½-kI•D+ö.:&B)ÝxàX¸`”üRÖ· ~v=O”°Üüµ‘VúëÞqÓI4qT;­gá.7Ö¡0t»Iƒd²@aÞéZ"ìéÀšp°s
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rsiena -r 98


More information about the Rsiena-commits mailing list