[Avida-SVN] r2297 - in development: Avida.xcodeproj source/actions source/main tests/demes_germline/config tests/demes_grid_repl/config tests/demes_grid_repl/expected/data tests/demes_grid_repl/expected/data/archive tests/demes_torus_repl/config tests/demes_torus_repl/expected/data tests/demes_torus_repl/expected/data/archive tests/energy_deme_level_res/config

dknoester at myxo.css.msu.edu dknoester at myxo.css.msu.edu
Sun Feb 3 14:08:28 PST 2008


Author: dknoester
Date: 2008-02-03 17:08:27 -0500 (Sun, 03 Feb 2008)
New Revision: 2297

Modified:
   development/Avida.xcodeproj/project.pbxproj
   development/source/actions/PopulationActions.cc
   development/source/main/cAvidaConfig.h
   development/source/main/cDeme.cc
   development/source/main/cDeme.h
   development/source/main/cPopulation.cc
   development/source/main/cPopulation.h
   development/source/main/cStats.h
   development/tests/demes_germline/config/avida.cfg
   development/tests/demes_grid_repl/config/avida.cfg
   development/tests/demes_grid_repl/expected/data/archive/100-aaaaa.org
   development/tests/demes_grid_repl/expected/data/average.dat
   development/tests/demes_grid_repl/expected/data/count.dat
   development/tests/demes_grid_repl/expected/data/detail-100.pop
   development/tests/demes_grid_repl/expected/data/dominant.dat
   development/tests/demes_grid_repl/expected/data/historic-100.pop
   development/tests/demes_grid_repl/expected/data/resource.dat
   development/tests/demes_grid_repl/expected/data/stats.dat
   development/tests/demes_grid_repl/expected/data/tasks.dat
   development/tests/demes_grid_repl/expected/data/tasks_exe.dat
   development/tests/demes_grid_repl/expected/data/tasks_quality.dat
   development/tests/demes_grid_repl/expected/data/time.dat
   development/tests/demes_torus_repl/config/avida.cfg
   development/tests/demes_torus_repl/expected/data/archive/100-aaaaa.org
   development/tests/demes_torus_repl/expected/data/average.dat
   development/tests/demes_torus_repl/expected/data/count.dat
   development/tests/demes_torus_repl/expected/data/detail-100.pop
   development/tests/demes_torus_repl/expected/data/dominant.dat
   development/tests/demes_torus_repl/expected/data/historic-100.pop
   development/tests/demes_torus_repl/expected/data/resource.dat
   development/tests/demes_torus_repl/expected/data/stats.dat
   development/tests/demes_torus_repl/expected/data/tasks.dat
   development/tests/demes_torus_repl/expected/data/tasks_exe.dat
   development/tests/demes_torus_repl/expected/data/tasks_quality.dat
   development/tests/demes_torus_repl/expected/data/time.dat
   development/tests/energy_deme_level_res/config/avida.cfg
Log:
Giant merge of most (all?) of the demes-related code across many branches.  Consistency tests have been updated too.




Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/Avida.xcodeproj/project.pbxproj	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1783,11 +1783,7 @@
 /* Begin PBXProject section */
 		DCC30C4D0762532C008F7A48 /* Project object */ = {
 			isa = PBXProject;
-			attributes = {
-				BuildIndependentTargetsInParallel = NO;
-			};
 			buildConfigurationList = 702442D70859E0B00059BD9B /* Build configuration list for PBXProject "Avida" */;
-			compatibilityVersion = "Xcode 2.4";
 			hasScannedForEncodings = 0;
 			mainGroup = DCC30C490762532C008F7A48;
 			productRefGroup = DCC3164E07626CF3008F7A48 /* Products */;

Modified: development/source/actions/PopulationActions.cc
===================================================================
--- development/source/actions/PopulationActions.cc	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/actions/PopulationActions.cc	2008-02-03 22:08:27 UTC (rev 2297)
@@ -995,6 +995,7 @@
     'full_deme' - ...demes that have been filled up.
     'corners'   - ...demes with upper left and lower right corners filled.
     'deme-age'  - ...demes that are a certain age
+    'birth-count' ...demes that have had a certain number of births.
 */
 
 class cActionReplicateDemes : public cAction
@@ -1012,6 +1013,7 @@
     else if (in_trigger == "full_deme") m_rep_trigger = 1;
     else if (in_trigger == "corners") m_rep_trigger = 2;
     else if (in_trigger == "deme-age") m_rep_trigger = 3;
+    else if (in_trigger == "birth-count") m_rep_trigger = 4;
     else {
       cString err("Unknown replication trigger '");
       err += in_trigger;

Modified: development/source/main/cAvidaConfig.h
===================================================================
--- development/source/main/cAvidaConfig.h	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cAvidaConfig.h	2008-02-03 22:08:27 UTC (rev 2297)
@@ -293,13 +293,16 @@
   CONFIG_ADD_VAR(START_CREATURE, cString, "default-classic.org", "Organism to seed the soup");
   
   CONFIG_ADD_GROUP(DEME_GROUP, "Demes and Germlines");
-  CONFIG_ADD_VAR(NUM_DEMES, int, 1, "Number of independent groups in the population.");
-  CONFIG_ADD_VAR(DEMES_USE_GERMLINE, int, 0, "Whether demes use a distinct germline; 0=off");
-  CONFIG_ADD_VAR(DEMES_HAVE_MERIT, int, 0, "Whether demes have merit; 0=no");
-  CONFIG_ADD_VAR(GERMLINE_COPY_MUT, double, 0.0075, "Prob. of copy mutations occuring during\ngermline replication.");
-  CONFIG_ADD_VAR(GERMLINE_REPLACES_SOURCE, int, 0, "Whether the source germline is updated\non replication; 0=no.");
-  CONFIG_ADD_VAR(GERMLINE_RANDOM_PLACEMENT, int, 0, "Defines how the seed for a germline is placed\n within the deme;\n0 = organisms is placed in center of deme, no orientation\n1 = organisms is placed in center of deme and oriented\n2 = organism is randomly placed in deme, no orientation");
-  CONFIG_ADD_VAR(MAX_DEME_AGE, int, 500, "The maximum age of a deme (in updates) to be\nused for age-based replication (default=500).");  
+  CONFIG_ADD_VAR(NUM_DEMES, int, 1, "Number of independent groups in the\npopulation (default=1).");
+  CONFIG_ADD_VAR(DEMES_USE_GERMLINE, int, 0, "Whether demes use a distinct germline (default=0).");
+  CONFIG_ADD_VAR(DEMES_HAVE_MERIT, int, 0, "Whether demes have merit (default=0).");
+  CONFIG_ADD_VAR(DEMES_PREVENT_STERILE, int, 0, "Whether to prevent sterile demes from\nreplicating (default=0).");
+  CONFIG_ADD_VAR(DEMES_REPLICATE_SIZE, int, 1, "Number of organisms to create or copy from the\nsource deme to the target deme (default=1).");
+  CONFIG_ADD_VAR(DEMES_ORGANISM_PLACEMENT, int, 0, "How organisms are placed during deme replication.\n0=cell-array middle (default).\n1=deme center.\n2=random placement.");
+  CONFIG_ADD_VAR(DEMES_ORGANISM_FACING, int, 0, "How organisms are facing during deme replication.\n0=unchanged (default).\n1=northwest.\n2=random.");
+  CONFIG_ADD_VAR(DEMES_MAX_AGE, int, 500, "The maximum age of a deme (in updates) to be\nused for age-based replication (default=500).");
+  CONFIG_ADD_VAR(DEMES_MAX_BIRTHS, int, 100, "The maximum number of births that can occur\nwithin a deme; used with birth-count\nreplication (default=100).");
+  CONFIG_ADD_VAR(GERMLINE_COPY_MUT, double, 0.0075, "Prob. of copy mutations occuring during\ngermline replication (default=0.0075).");
   
   CONFIG_ADD_GROUP(REPRODUCTION_GROUP, "Birth and Death");
   CONFIG_ADD_VAR(BIRTH_METHOD, int, 0, "Which organism should be replaced on birth?\n0 = Random organism in neighborhood\n1 = Oldest in neighborhood\n2 = Largest Age/Merit in neighborhood\n3 = None (use only empty cells in neighborhood)\n4 = Random from population (Mass Action)\n5 = Oldest in entire population\n6 = Random within deme\n7 = Organism faced by parent\n8 = Next grid cell (id+1)\n9 = Largest energy used in entire population\n10 = Largest energy used in neighborhood");

Modified: development/source/main/cDeme.cc
===================================================================
--- development/source/main/cDeme.cc	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cDeme.cc	2008-02-03 22:08:27 UTC (rev 2297)
@@ -101,12 +101,23 @@
 There's still some work to do here; the lineage labels of the Genomes in the germline
 are all messed up.
 
-\todo Fix lineage labels in germlines.
+ at todo Fix lineage labels in germlines.
 */
 void cDeme::ReplaceGermline(const cGermline& germline) {
 	_germline = germline;
 }
 
+
+/*! Update this deme's merit from the given source.
+
+ at todo We have a little bit of work to do here yet, as the deme merit isn't yet
+tied into the scheduler.  Crash.
+*/
+void cDeme::UpdateDemeMerit(cDeme& source) {
+  assert(false);
+}
+
+
 void cDeme::ModifyDemeResCount(const tArray<double> & res_change, const int absolute_cell_id) {
   // find relative cell_id in deme resource count
   const int relative_cell_id = GetRelativeCellID(absolute_cell_id);

Modified: development/source/main/cDeme.h
===================================================================
--- development/source/main/cDeme.h	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cDeme.h	2008-02-03 22:08:27 UTC (rev 2297)
@@ -88,6 +88,9 @@
   //! Replaces this deme's germline.
   void ReplaceGermline(const cGermline& germline);
   
+  //! Update this deme's merit from the given source.
+  void UpdateDemeMerit(cDeme& source);
+
   // -= Update support =-
   //! Called once, at the end of every update.
   void ProcessUpdate();

Modified: development/source/main/cPopulation.cc
===================================================================
--- development/source/main/cPopulation.cc	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cPopulation.cc	2008-02-03 22:08:27 UTC (rev 2297)
@@ -112,6 +112,15 @@
   }
 
   // Error checking for demes vs. non-demes setup.
+
+  // The following combination of options creates an infinite rotate-loop.
+  assert(!((m_world->GetConfig().DEMES_ORGANISM_PLACEMENT.Get()==0)
+           && (m_world->GetConfig().DEMES_ORGANISM_FACING.Get()==1)
+           && (m_world->GetConfig().WORLD_GEOMETRY.Get()==1)));
+  
+  // Not yet supported:
+  assert(m_world->GetConfig().DEMES_REPLICATE_SIZE.Get()==1);
+  
 #ifdef DEBUG
   const int birth_method = m_world->GetConfig().BIRTH_METHOD.Get();
 
@@ -1063,27 +1072,30 @@
 {
   assert(GetNumDemes()>1); // Sanity check.
   
-  // Determine which demes should be replicated.
+  // Loop through all candidate demes...
   const int num_demes = GetNumDemes();
-  
-  // Loop through all candidate demes...
-  for (int deme_id = 0; deme_id < num_demes; deme_id++) {
-    cDeme & source_deme = deme_array[deme_id];
+  for(int deme_id=0; deme_id<num_demes; ++deme_id) {
+    cDeme& source_deme = deme_array[deme_id];
     
     // Doesn't make sense to try and replicate a deme that *has no organisms*.
     if(source_deme.IsEmpty()) continue;
     
+    // Prevent sterile demes from replicating.
+    if(m_world->GetConfig().DEMES_PREVENT_STERILE.Get() && (source_deme.GetBirthCount() == 0)) {
+      continue;
+    }
+    
     // Test this deme to determine if it should be replicated.  If not,
     // continue on to the next deme.
     switch (rep_trigger) {
       case 0: {
         // Replicate all non-empty demes.
-        if (source_deme.IsEmpty()) continue;
+        if(source_deme.IsEmpty()) continue;
         break;
       }
       case 1: {
         // Replicate all full demes.
-        if (source_deme.IsFull() == false) continue;
+        if(!source_deme.IsFull()) continue;
         break;
       }
       case 2: {
@@ -1097,9 +1109,14 @@
       }
       case 3: {
         // Replicate old demes.
-        if(source_deme.GetAge() < m_world->GetConfig().MAX_DEME_AGE.Get()) continue;
+        if(source_deme.GetAge() < m_world->GetConfig().DEMES_MAX_AGE.Get()) continue;
         break;
       }
+      case 4: {
+        // Replicate demes that have had a certain number of births.
+        if(source_deme.GetBirthCount() < m_world->GetConfig().DEMES_MAX_BIRTHS.Get()) continue;
+        break;
+      }
       default: {
         cerr << "ERROR: Invalid replication trigger " << rep_trigger
         << " in cPopulation::ReplicateDemes()" << endl;
@@ -1107,160 +1124,213 @@
       }
     }
     
-    // -- If we made it this far, we should replicate this deme --
-    cRandom& random = m_world->GetRandom();
-    
-    // Choose a random target deme to replicate to, and kill all the organisms
-    // in that deme.
+    // If we made it this far, we should replicate this deme.  Pick a target
+    // deme to replicate to, making sure that we don't try to replicate over ourself.
     int target_id = deme_id;
     while(target_id == deme_id) {
-      target_id = random.GetUInt(num_demes);
+      target_id = m_world->GetRandom().GetUInt(num_demes);
     }
-    cDeme& target_deme = deme_array[target_id];
-    for (int i=0; i<target_deme.GetSize(); i++) {
-      KillOrganism(cell_array[target_deme.GetCellID(i)]);
-    }
-        
-    // Ok, there are two potential places where the seed for the target deme can
-    // come from.  First, it could be a random organism in the source deme.
-    // Second, it could be an offspring of the source deme's germline, if the config
-    // option DEMES_USE_GERMLINE is set.
-    if(m_world->GetConfig().DEMES_USE_GERMLINE.Get()) {
-      // Get the latest germ from the source deme.
-      cGermline& source_germline = source_deme.GetGermline();
-      cGenome& source_germ = source_germline.GetLatest();
-      
-      // Now create the next germ by manually mutating the source.
-      // @refactor (strategy pattern)
-      cGenome next_germ(source_germ);
-      if(m_world->GetConfig().GERMLINE_COPY_MUT.Get() > 0) {
-        const cInstSet& instset = m_world->GetHardwareManager().GetInstSet();
-        cAvidaContext ctx(m_world->GetRandom());        
-        for(int i=0; i<next_germ.GetSize(); ++i) {
-          if(m_world->GetRandom().P(m_world->GetConfig().GERMLINE_COPY_MUT.Get())) {
-            next_germ[i] = instset.GetRandomInst(ctx);
-          }
+    
+    ReplaceDeme(source_deme, deme_array[target_id]);
+  }
+}
+
+
+/*! ReplaceDeme is a helper method that handles all the different configuration
+options related to the replacement of a target deme by a source.  It works with
+both CompeteDemes and ReplicateDemes (and can be called directly via an event if
+so desired).
+
+ at refactor Replace manual mutation with strategy pattern.
+ at todo Add insertion and deletion mutations.
+*/
+void cPopulation::ReplaceDeme(cDeme& source_deme, cDeme& target_deme) 
+{
+  // Stats tracking; pre-replication hook.
+  m_world->GetStats().DemePreReplication(source_deme, target_deme);
+  
+  // Are we using germlines?  If so, we need to mutate the germline to get the
+  // genome that we're going to seed the target with.
+  if(m_world->GetConfig().DEMES_USE_GERMLINE.Get()) {
+    cGenome next_germ(source_deme.GetGermline().GetLatest());
+    if(m_world->GetConfig().GERMLINE_COPY_MUT.Get() > 0.0) {
+      const cInstSet& instset = m_world->GetHardwareManager().GetInstSet();
+      cAvidaContext ctx(m_world->GetRandom());
+      for(int i=0; i<next_germ.GetSize(); ++i) {
+        if(m_world->GetRandom().P(m_world->GetConfig().GERMLINE_COPY_MUT.Get())) {
+          next_germ[i] = instset.GetRandomInst(ctx);
         }
       }
-      
-      // Here we're adding the next_germ to the germline(s).  Note the
-      // config option to determine if we should update the source_germline
-      // as well.
-      target_deme.ReplaceGermline(source_germline);
-      cGermline& target_germline = target_deme.GetGermline();
-      target_germline.Add(next_germ);
-      if(m_world->GetConfig().GERMLINE_REPLACES_SOURCE.Get()) {
-        source_germline.Add(next_germ);
-      }
-      
-      // Kill all the organisms in the source deme.
-      for (int i=0; i<source_deme.GetSize(); i++) {
-        KillOrganism(cell_array[source_deme.GetCellID(i)]);
-      }
+    }
     
-      // And reset both demes, in case they have any cleanup work to do.
-      source_deme.Reset();
-      target_deme.Reset();
+    // Replace the target deme's germline with the source deme's, and add the newly-
+    // mutated germ to ONLY the target's germline.  The source remains unchanged.
+    target_deme.ReplaceGermline(source_deme.GetGermline());
+    target_deme.GetGermline().Add(next_germ);
+    
+    // Germline stats tracking.
+    m_world->GetStats().GermlineReplication(source_deme.GetGermline(), target_deme.GetGermline());
+    
+    // All done with the germline manipulation; seed each deme.
+    SeedDeme(source_deme, source_deme.GetGermline().GetLatest());
+    SeedDeme(target_deme, target_deme.GetGermline().GetLatest());
+    
+  } else {
+    // Not using germlines; things are much simpler.  Seed the target from the source.
+    SeedDeme(source_deme, target_deme);
+  }
+
+  // If we're using deme merit, the source's merit must be transferred to the target.
+  if(m_world->GetConfig().DEMES_HAVE_MERIT.Get()) {
+    target_deme.UpdateDemeMerit(source_deme);
+  }
   
-      int source_deme_inject_cell;
-      int target_deme_inject_cell;
-      
-      if(m_world->GetConfig().GERMLINE_RANDOM_PLACEMENT.Get() == 2) {
-        // organism is randomly placed in deme
-        source_deme_inject_cell = source_deme.GetCellID(m_world->GetRandom().GetInt(0, source_deme.GetSize()-1));
-        target_deme_inject_cell = target_deme.GetCellID(m_world->GetRandom().GetInt(0, target_deme.GetSize()-1));
-      } else {
-        // organisms is placed in center of deme
-        source_deme_inject_cell = source_deme.GetCellID(source_deme.GetSize()/2);
-        target_deme_inject_cell = target_deme.GetCellID(target_deme.GetSize()/2);
-      }
-      // Lineage label is wrong here; fix.
-      InjectGenome(source_deme_inject_cell, source_germline.GetLatest(), 0); // source deme
-      InjectGenome(target_deme_inject_cell, target_germline.GetLatest(), 0); // target deme
-      
-      if(m_world->GetConfig().GERMLINE_RANDOM_PLACEMENT.Get() == 1) {
-        // Rotate both injected cells to face northwest.
-        int offset = source_deme.GetCellID(0);
-        cell_array[source_deme_inject_cell].Rotate(cell_array[GridNeighbor(source_deme_inject_cell-offset,
-                                                              source_deme.GetWidth(),
-                                                              source_deme.GetHeight(), -1, -1)+offset]);
-        offset = target_deme.GetCellID(0);
-        cell_array[target_deme_inject_cell].Rotate(cell_array[GridNeighbor(target_deme_inject_cell-offset,
-                                                              target_deme.GetWidth(), 
-                                                              target_deme.GetHeight(), -1, -1)+offset]);
-      }
-    } else {
-      // Not using germline; choose a random organism from this deme.
-      int cell1_id = -1;
-      while (cell1_id == -1 || cell_array[cell1_id].IsOccupied() == false) {
-        cell1_id = source_deme.GetCellID(random.GetUInt(source_deme.GetSize()));
-      }
-      
-      if(m_world->GetConfig().ENERGY_ENABLED.Get() == 1) {
-        cOrganism* seed_org = cell_array[cell1_id].GetOrganism();
-        cGenome seed_genome = seed_org->GetGenome();
-        int seed_lineage = seed_org->GetLineageLabel();
+  // Reset both demes, in case they have any cleanup work to do.
+  source_deme.Reset();
+  target_deme.Reset();
+  
+  // All done; do our post-replication stats tracking.
+  m_world->GetStats().DemePostReplication(source_deme, target_deme);
+}
 
-        // Kill all the organisms in the source deme.  Orgs. in target deme have already been killed
-        for (int i=0; i<source_deme.GetSize(); i++) {
-          KillOrganism(cell_array[source_deme.GetCellID(i)]);
-        }
 
-        source_deme.Reset();
-        target_deme.Reset();
+/*! Helper method to seed a deme from the given genome.
+If the passed-in deme is populated, all resident organisms are terminated.  The
+deme's germline is left unchanged.
 
-        int source_deme_inject_cell = source_deme.GetCellID(source_deme.GetSize()/2);
-        int target_deme_inject_cell = target_deme.GetCellID(target_deme.GetSize()/2);
-        
-        InjectGenome(source_deme_inject_cell, seed_genome, seed_lineage); // source deme
-        InjectGenome(target_deme_inject_cell, seed_genome, seed_lineage); // target deme
-        
-        // Rotate both injected cells to face northwest.
-        int offset = source_deme.GetCellID(0);
-        cell_array[source_deme_inject_cell].Rotate(cell_array[GridNeighbor(source_deme_inject_cell-offset,
-                                                              source_deme.GetWidth(),
-                                                              source_deme.GetHeight(), -1, -1)+offset]);
-        offset = target_deme.GetCellID(0);
-        cell_array[target_deme_inject_cell].Rotate(cell_array[GridNeighbor(target_deme_inject_cell-offset,
-                                                              target_deme.GetWidth(), 
-                                                              target_deme.GetHeight(), -1, -1)+offset]);
+ at todo Fix lineage label on injected genomes.
+ at todo Different strategies for non-random placement.
+*/
+void cPopulation::SeedDeme(cDeme& deme, cGenome& genome) {
+  // Kill all the organisms in the deme.
+  for (int i=0; i<deme.GetSize(); i++) {
+    KillOrganism(cell_array[deme.GetCellID(i)]);
+  }
 
-        
-      } else {
-        cOrganism* seed = cell_array[cell1_id].GetOrganism();
-        
-        // And do the replication into the central cell of the target deme...
-        const int cell2_id = target_deme.GetCellID(target_deme.GetWidth()/2, target_deme.GetHeight()/2);
-        InjectClone(cell2_id, *seed);
-        
-        // Kill all the organisms in the source deme.
-        seed = 0; // Note that we're killing the organism that seed points to.
-        for (int i=0; i<source_deme.GetSize(); i++) {
-          KillOrganism(cell_array[source_deme.GetCellID(i)]);
-        }
-        
-        // Inject the target offspring back into the source ID.
-        const int cell3_id = source_deme.GetCellID(source_deme.GetWidth()/2, source_deme.GetHeight()/2);
-        InjectClone(cell3_id, *cell_array[cell2_id].GetOrganism());
-        
-        // Rotate both injected cells to face northwest.
-        int offset=target_deme.GetCellID(0);
-        cell_array[cell2_id].Rotate(cell_array[GridNeighbor(cell2_id-offset,
-                                                            target_deme.GetWidth(), 
-                                                            target_deme.GetHeight(), -1, -1)+offset]);
-        offset = source_deme.GetCellID(0);
-        cell_array[cell3_id].Rotate(cell_array[GridNeighbor(cell3_id-offset,
-                                                            source_deme.GetWidth(),
-                                                            source_deme.GetHeight(), -1, -1)+offset]);
+  // Sanity.
+  assert(m_world->GetConfig().DEMES_REPLICATE_SIZE.Get() < deme.GetSize());
+  assert(m_world->GetConfig().DEMES_REPLICATE_SIZE.Get() > 0);
+  
+  // Create the specified number of organisms in the deme.
+  for(int i=0; i< m_world->GetConfig().DEMES_REPLICATE_SIZE.Get(); ++i) {
+    int cellid = DemeSelectInjectionCell(deme, i);
+    InjectGenome(cellid, genome, 0);
+    DemePostInjection(deme, cell_array[cellid]);
+  }
+}
 
-        // This is in the wrong place.  Reset should be done after the demes are cleared and before the org. is injected.
-        source_deme.Reset();
-        target_deme.Reset();
+
+/*! Helper method to seed a target deme from the organisms in the source deme.
+All organisms in the target deme are terminated, and a subset of the organisms in
+the source will be cloned to the target.
+*/
+void cPopulation::SeedDeme(cDeme& source_deme, cDeme& target_deme) {
+  cRandom& random = m_world->GetRandom();
+
+  // Select a random organism from the source.  All we need to do here is get a
+  // genome and a lineage label.
+  cOrganism* seed = 0;
+  while(seed == 0) {
+    int cellid = source_deme.GetCellID(random.GetUInt(source_deme.GetSize()));
+    if(cell_array[cellid].IsOccupied()) {
+      seed = cell_array[cellid].GetOrganism();
+    }
+  }
+
+  cGenome genome = seed->GetGenome();
+  int lineage = seed->GetLineageLabel();
+  seed = 0; // We're done with the seed organism.
+  
+  // Kill all the organisms in the source and target demes.
+  for (int i=0; i<target_deme.GetSize(); i++) {
+    KillOrganism(cell_array[target_deme.GetCellID(i)]);
+  }
+  for (int i=0; i<source_deme.GetSize(); i++) {
+    KillOrganism(cell_array[source_deme.GetCellID(i)]);
+  }
+    
+  // Repopulation the source.
+  for(int i=0; i< m_world->GetConfig().DEMES_REPLICATE_SIZE.Get(); ++i) {
+    int cellid = DemeSelectInjectionCell(source_deme, i);
+    InjectGenome(cellid, genome, lineage);
+    DemePostInjection(source_deme, cell_array[cellid]);
+  }
+  
+  // And repopulate the target.
+  for(int i=0; i< m_world->GetConfig().DEMES_REPLICATE_SIZE.Get(); ++i) {
+    int cellid = DemeSelectInjectionCell(target_deme, i);
+    InjectGenome(cellid, genome, lineage);
+    DemePostInjection(target_deme, cell_array[cellid]);
+  }
+}
+
+
+/*! Helper method that determines the cell into which an organism will be placed.
+Respects all of the different placement options that are relevant for deme replication.
+*/
+int cPopulation::DemeSelectInjectionCell(cDeme& deme, int sequence) {
+  int cellid = -1;
+  
+  assert(sequence == 0); //we only support one for now...
+  
+  switch(m_world->GetConfig().DEMES_ORGANISM_PLACEMENT.Get()) {
+    case 0: { // Array-middle.
+      cellid = deme.GetCellID(deme.GetSize()/2);
+      break;
+    }
+    case 1: { // Sequential placement, start in the center of the deme.
+      cellid = deme.GetCellID(deme.GetWidth()/2, deme.GetHeight()/2);
+      break;
+    }
+    case 2: { // Random placement.
+      cellid = deme.GetCellID(m_world->GetRandom().GetInt(0, deme.GetSize()-1));
+      while(cell_array[cellid].IsOccupied()) {
+        cellid = deme.GetCellID(m_world->GetRandom().GetInt(0, deme.GetSize()-1));
       }
+      break;
+    }      
+    default: {
+      assert(false); // Shouldn't ever reach here.
     }
   }
+  
+  assert(cellid >= 0 && cellid < cell_array.GetSize());
+  assert(cellid >= deme.GetCellID(0));
+  assert(cellid <= deme.GetCellID(deme.GetSize()-1));
+  return cellid;  
 }
 
+
+/*! Helper method to perform any post-injection fixups on the organism/cell that
+was injected into a deme.  Handles all the rotation / facing options.
+*/
+void cPopulation::DemePostInjection(cDeme& deme, cPopulationCell& cell) {
+  assert(cell.GetID() >= deme.GetCellID(0));
+  assert(cell.GetID() <= deme.GetCellID(deme.GetSize()-1));
+  switch(m_world->GetConfig().DEMES_ORGANISM_FACING.Get()) {
+    case 0: { // Unchanged.
+      break;
+    }
+    case 1: { // Spin cell to face NW.
+      cell.Rotate(cell_array[GridNeighbor(cell.GetID()-deme.GetCellID(0),
+                                          deme.GetWidth(),
+                                          deme.GetHeight(), -1, -1)+deme.GetCellID(0)]);
+      break; 
+    }
+    case 2: { // Spin cell to face randomly.
+      const int rotate_count = m_world->GetRandom().GetInt(0, cell.ConnectionList().GetSize());
+      for(int i=0; i<rotate_count; ++i) {
+        cell.ConnectionList().CircNext();
+      }
+      break;
+    }
+    default: {
+      assert(false);
+    }
+  }
+}
+
+
 // Loop through all demes to determine if any are ready to be divided.  All
 // full demes have 1/2 of their organisms (the odd ones) moved into a new deme.
 

Modified: development/source/main/cPopulation.h
===================================================================
--- development/source/main/cPopulation.h	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cPopulation.h	2008-02-03 22:08:27 UTC (rev 2297)
@@ -176,13 +176,33 @@
   void SwapCells(cPopulationCell & cell1, cPopulationCell & cell2);
 
   // Deme-related methods
+  //! Compete all demes with each other based on the given competition type.
   void CompeteDemes(int competition_type);
+
+  //! Replicate all demes based on the given replication trigger.
   void ReplicateDemes(int rep_trigger);
+
+  //! Helper method that replaces a target deme with the given source deme.
+  void ReplaceDeme(cDeme& source_deme, cDeme& target_deme);
+  
+  //! Helper method that seeds a deme from the given genome.
+  void SeedDeme(cDeme& deme, cGenome& genome);
+  
+  //! Helper method that seeds a target deme from the organisms in the source deme.
+  void SeedDeme(cDeme& source_deme, cDeme& target_deme);
+  
+  //! Helper method that determines the cell into which an organism will be placed during deme replication.
+  int DemeSelectInjectionCell(cDeme& deme, int sequence=0);
+  
+  //! Helper method that performs any post-injection fixups on the cell in the given deme.
+  void DemePostInjection(cDeme& deme, cPopulationCell& cell);
+  
   void DivideDemes();
   void ResetDemes();
   void CopyDeme(int deme1_id, int deme2_id);
   void SpawnDeme(int deme1_id, int deme2_id=-1);
 
+  
   // Deme-related stats methods
   void PrintDemeAllStats();
   void PrintDemeDonor();

Modified: development/source/main/cStats.h
===================================================================
--- development/source/main/cStats.h	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/source/main/cStats.h	2008-02-03 22:08:27 UTC (rev 2297)
@@ -68,6 +68,8 @@
 class cWorld;
 class cOrgMessage;
 class cOrgMessagePredicate;
+class cDeme;
+class cGermline;
 
 class cStats
 {
@@ -644,6 +646,12 @@
   message_pred_ptr_list m_message_predicates;
   // -------- End messaging support --------
   
+  
+  // -------- Deme replication support --------
+public:
+  void DemePreReplication(cDeme& source_deme, cDeme& target_deme) { }
+  void DemePostReplication(cDeme& source_deme, cDeme& target_deme) { }
+  void GermlineReplication(cGermline& source_germline, cGermline& target_germline) { }
 };
 
 

Modified: development/tests/demes_germline/config/avida.cfg
===================================================================
--- development/tests/demes_germline/config/avida.cfg	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_germline/config/avida.cfg	2008-02-03 22:08:27 UTC (rev 2297)
@@ -39,17 +39,26 @@
 
 ### DEME_GROUP ###
 # Demes and Germlines
-NUM_DEMES 100                # Number of independent groups in the population.
-DEMES_USE_GERMLINE 1         # Whether demes use a distinct germline; 0=off
-DEMES_HAVE_MERIT 0           # Whether demes have merit; 0=no
-GERMLINE_COPY_MUT 0.0075     # Prob. of copy mutations occuring during
-                             # germline replication.
-GERMLINE_REPLACES_SOURCE 0   # Whether the source germline is updated
-                             # on replication; 0=no.
-GERMLINE_RANDOM_PLACEMENT 0  # Whether the seed for a germline is placed
-                             #  randomly within the deme; 0=no.
-MAX_DEME_AGE 40              # The maximum age of a deme (in updates) to be
-                             # used for age-based replication (default=500).
+NUM_DEMES 100               # Number of independent groups in the population.
+DEMES_USE_GERMLINE 1        # Whether demes use a distinct germline; 0=off
+DEMES_HAVE_MERIT 0          # Whether demes have merit; 0=no
+DEMES_PREVENT_STERILE 0     # Whether to prevent sterile demes from
+                            # replicating; 0=no
+DEMES_REPLICATE_SIZE 1      # Number of organisms to create or copy from the
+                            # source deme to the target deme.
+DEMES_ORGANISM_PLACEMENT 0  # How organisms are placed during deme replication.
+                            # 0=sequential placement.
+                            # 2=random placement.
+DEMES_ORGANISM_FACING 0     # How organisms are facing during deme replication.
+                            # 0=Unchanged.
+                            # 1=Northwest.
+                            # 2=Random.
+DEMES_MAX_AGE 40           # The maximum age of a deme (in updates) to be
+                            # used for age-based replication (default=500).
+DEMES_MAX_BIRTHS 100        # The maximum number of births that can occur
+                            # within a deme; used with birth-count replication.
+GERMLINE_COPY_MUT 0.0075    # Prob. of copy mutations occuring during
+                            # germline replication.
 
 ### REPRODUCTION_GROUP ###
 # Birth and Death

Modified: development/tests/demes_grid_repl/config/avida.cfg
===================================================================
--- development/tests/demes_grid_repl/config/avida.cfg	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/config/avida.cfg	2008-02-03 22:08:27 UTC (rev 2297)
@@ -39,17 +39,26 @@
 
 ### DEME_GROUP ###
 # Demes and Germlines
-NUM_DEMES 100                # Number of independent groups in the population.
-DEMES_USE_GERMLINE 0         # Whether demes use a distinct germline; 0=off
-DEMES_HAVE_MERIT 0           # Whether demes have merit; 0=no
-GERMLINE_COPY_MUT 0.0075     # Prob. of copy mutations occuring during
-                             # germline replication.
-GERMLINE_REPLACES_SOURCE 0   # Whether the source germline is updated
-                             # on replication; 0=no.
-GERMLINE_RANDOM_PLACEMENT 0  # Whether the seed for a germline is placed
-                             #  randomly within the deme; 0=no.
-MAX_DEME_AGE 40              # The maximum age of a deme (in updates) to be
-                             # used for age-based replication (default=500).
+NUM_DEMES 100               # Number of independent groups in the population.
+DEMES_USE_GERMLINE 0        # Whether demes use a distinct germline; 0=off
+DEMES_HAVE_MERIT 0          # Whether demes have merit; 0=no
+DEMES_PREVENT_STERILE 0     # Whether to prevent sterile demes from
+                            # replicating; 0=no
+DEMES_REPLICATE_SIZE 1      # Number of organisms to create or copy from the
+                            # source deme to the target deme.
+DEMES_ORGANISM_PLACEMENT 1  # How organisms are placed during deme replication.
+                            # 0=sequential placement.
+                            # 2=random placement.
+DEMES_ORGANISM_FACING 1     # How organisms are facing during deme replication.
+                            # 0=Unchanged.
+                            # 1=Northwest.
+                            # 2=Random.
+DEMES_MAX_AGE 40           # The maximum age of a deme (in updates) to be
+                            # used for age-based replication (default=500).
+DEMES_MAX_BIRTHS 100        # The maximum number of births that can occur
+                            # within a deme; used with birth-count replication.
+GERMLINE_COPY_MUT 0.0075    # Prob. of copy mutations occuring during
+                            # germline replication.
 
 ### REPRODUCTION_GROUP ###
 # Birth and Death

Modified: development/tests/demes_grid_repl/expected/data/archive/100-aaaaa.org
===================================================================
--- development/tests/demes_grid_repl/expected/data/archive/100-aaaaa.org	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/archive/100-aaaaa.org	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,4 +1,4 @@
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:07:24 2008
 # Filename........: archive/100-aaaaa.org
 # Update Output...: 100
 # Is Viable.......: 1

Modified: development/tests/demes_grid_repl/expected/data/average.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/average.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/average.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida Average Data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 #  1: Update
 #  2: Merit
 #  3: Gestation Time
@@ -21,10 +21,10 @@
 10 97 389 0 0 100 100 97 100 0 0 0 0 0 0 0 
 20 97 389 0.249357 0 100.015 100 97 3.7037 0 0 0.265 1 0.0486978 0 0 
 30 96.2154 388.221 0.247753 0 100.026 99.7462 96.2154 2.40741 0.0025641 0 0.530769 1.97436 -0.0459017 0 0 
-40 96.61 388.24 0.248824 0 100.05 100 96.61 2.63158 0 0 0.68 2.62 -0.440936 -1 0 
-50 96.61 388.24 0.248824 0 100.05 100 96.61 2.63158 0 0 0.68 2.62 -0.440936 -1 0 
-60 96.3333 387.657 0.248475 0 100.626 100.025 96.3333 2.04124 0 0 0.974747 3.61616 -0.594784 -1 0 
-70 95.7662 387.003 0.247253 0 100.709 99.8104 95.7766 1.91542 0.00519481 0 1.23117 4.58961 -0.501992 -1 0 
-80 96.17 387.11 0.248396 0 102.09 100.04 96.18 1.92308 0 0 1.44 5.25 -0.0991023 -1 0 
-90 94.2941 384.127 0.244814 0 102.059 99.0588 94.3039 1.88889 0.00980392 0 1.48039 5.29412 -0.0840162 -1 0 
-100 93.9635 383.891 0.244061 0 101.604 99.0104 93.974 1.72973 0 0 1.73958 6.26562 -0.201019 -1 0 
+40 96.99 337.44 0 0 100 100 96.99 2.85714 0 0 0 0 0 -1 0 
+50 96.99 337.44 0 0 100 100 96.99 2.85714 0 0 0 0 0 -1 0 
+60 96.7807 360.898 0.231584 0 100.064 100 96.7807 2.2 0 0 0.26738 0.930481 0.0733367 -1 0 
+70 96.0655 372.721 0.23847 0 100.439 99.735 96.0655 1.95 0.00569801 0 0.532764 1.89744 0.148914 -1 0 
+80 96.88 301.84 0 0 100.07 100.07 96.88 2.22222 0 0 0 0 0 -1 0 
+90 96.88 301.84 0 0 100.07 100.07 96.88 2.22222 0 0 0 0 0 -1 0 
+100 96.4888 339.146 0.217362 0 100.275 100.062 96.4888 1.83505 0 0 0.308989 0.876404 -0.0541824 -1 0 

Modified: development/tests/demes_grid_repl/expected/data/count.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/count.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/count.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida count data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 #  1: update
 #  2: number of insts executed this update
 #  3: number of organisms
@@ -21,10 +21,10 @@
 10 3000 100 1 1 0 0 0 0 0 0 100 100 100 0 0 
 20 6000 200 54 1 0 0 0 0 0 0 147 100 200 0 0 
 30 11670 390 162 3 0 0 0 1 0 0 226 200 390 0 0 
-40 3000 100 38 14 0 0 0 0 0 0 10 100 100 0 0 
-50 3000 100 38 14 0 0 0 0 0 0 10 100 100 0 0 
-60 5940 198 97 22 0 0 0 0 0 0 49 100 198 0 0 
-70 11490 385 201 27 0 0 0 2 0 0 129 198 385 0 0 
-80 3000 100 52 35 0 0 0 0 0 0 11 100 100 0 0 
-90 3030 102 54 35 0 0 0 1 0 0 11 100 102 0 0 
-100 5760 192 111 41 0 0 0 0 0 0 42 100 192 0 0 
+40 3000 100 35 1 0 0 0 0 0 0 100 100 100 0 0 
+50 3000 100 35 1 0 0 0 0 0 0 100 100 100 0 0 
+60 5610 187 85 10 0 0 0 0 0 0 137 100 187 0 0 
+70 10470 351 180 15 0 0 0 2 0 0 204 187 351 0 0 
+80 3000 100 45 8 0 0 0 0 0 0 100 100 100 0 0 
+90 3000 100 45 8 0 0 0 0 0 0 100 100 100 0 0 
+100 5340 178 97 15 0 0 0 0 0 0 123 100 178 0 0 

Modified: development/tests/demes_grid_repl/expected/data/detail-100.pop
===================================================================
--- development/tests/demes_grid_repl/expected/data/detail-100.pop	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/detail-100.pop	2008-02-03 22:08:27 UTC (rev 2297)
@@ -15,114 +15,100 @@
 # 12: depth in phylogentic tree
 # 13: genome of organism
 
-1 -1 -1 20 426 100 97 389 0.249357 -1 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-311 1 2 4 7 100 97 388 0.25 53 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccmccccccccccccccccccccsccccccccccccccccccccutycasvab 
-494 313 3 4 5 99 96 381 0.251969 78 -1 2 rucavcccccccccccicccccccccccvcccccccccccccccqcccccccccccccccccccccjcccccccccccccccccccccccutycasvab 
-6 1 2 4 13 100 97 387 0.250646 12 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmccpccccccccccccccccccccccccutycasvab 
-357 283 1 4 6 100 87 377 0.230769 65 -1 2 rucavccccccccccccccccccccmcccccccccccccccccccccccccccccccccccccccccccccccccccycccccccccccccutycasvab 
-520 9 5 4 5 100 97 386 0.251295 79 -1 2 rucavccccccccccccccccccccccccccccccccccccocsccccccsicccccccccccccccccccccczccscccccccccccccutycasvab 
-214 84 1 4 9 100 97 387 0.250646 38 -1 2 rucavcccccccccccccccccccccclcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmcutycasvab 
-141 1 3 3 7 100 97 389 0.249357 27 -1 1 rqcavcccmcccccccccccccccccccccccccccccccccccccccccccccccctcccccccccccccccccccccccccccccccccutycasvab 
-177 1 4 3 12 100 97 388 0.25 37 -1 1 rucavccccccccccccccccccccccccccccccdcccccccccccccccccsccccccccscccccccccccccccccccrccccccccutycasvab 
-485 24 1 3 4 100 97 386 0.251295 78 -1 2 rucavcccccccccmcccccccccccccccqccccccccccccccccgcccccccccccccccccccccccccccccccccccccccccccutycasvab 
-369 300 3 3 4 100 97 384 0.252604 65 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccufctcccccccccclccccccccccccccccccccccccccccccutycasvab 
-159 1 3 3 11 100 97 389 0.249357 28 -1 1 rucavcscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccccccccchutycasvab 
-530 1 1 3 4 100 49 338 0.14497 79 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutdcasvab 
-87 19 1 3 6 100 97 387 0.250646 25 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccacccccccecccccccccccccccccccccjcccccccccccccutycasvab 
-288 26 1 3 7 100 97 387 0.250646 52 -1 2 rucavccgccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmccccccccccccccccccccutycasvab 
-11 1 1 3 11 100 97 388 0.25 12 -1 1 rucavcccccccccccccccccqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-167 1 2 3 9 100 87 377 0.230769 36 -1 1 rucavccccccccccccccycccccccccccccccccccccccccccccccccccccccccccccccccccccicccccccccccccccccutycasvab 
-373 232 1 3 5 100 97 386 0.251295 65 -1 2 rucavcpccccccgccccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccautycasvab 
-266 1 2 3 10 101 88 381 0.230971 39 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccycccccccccccccccccccccccccutycasvab 
-577 328 1 2 3 100 97 387 0.250646 79 -1 2 rucavccccccccccccccccccncccccccccccccccccccccccccccccccccccccccccccccccccccccccccxcccccccccutycasvab 
-323 26 2 2 4 100 97 386 0.251295 53 -1 2 rucavcccccccccccccccccccccpcccccccccccccccccccccccccccccccccccccccccccmcccccccccoccccccccccutycasvab 
-576 25 1 2 3 100 97 386 0.251295 79 -1 2 rucavccccccccccccccccccccccccccccccccccccwcccccccccccccccccccccfcccccccfcccccccccccccccccccutycasvab 
-402 220 1 2 3 100 97 387 0.250646 66 -1 4 rucavcccccccccccccccccqccccccccbccccccccccccccccccccwcccccccccccccccccccccccccccccccccccccrutycasvab 
-568 1 1 2 3 100 97 388 0.25 79 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjccutycasvab 
-490 1 1 2 3 100 97 389 0.249357 78 -1 1 rucavccccccccccccccccccccccccccccccccccccccccscccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-394 90 1 2 3 100 97 387 0.250646 66 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccccqcccccccccccccccocccccccccccccccccccccccccutycasvab 
-12 1 1 2 12 100 97 388 0.25 12 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvcccccccccccccccccccccccutycasvab 
-306 16 1 2 5 99 96 384 0.25 53 -1 2 rucavccfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-371 1 1 2 3 100 97 389 0.249357 65 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccchccccccccccccccccccccccccccccccccccccutycasvab 
-39 1 1 2 19 100 97 388 0.25 13 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccccccccutycasvab 
-407 308 1 2 3 100 97 387 0.250646 66 -1 2 rucavcccccccckcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccczccutycasvab 
-403 168 100 2 3 200 97 387 0.250646 66 -1 2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavcccccccccxcccccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-417 1 3 2 4 99 88 376 0.234043 67 -1 1 ruavccccccccsccccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-589 530 24 2 2 100 97 389 0.249357 90 -1 2 cccccccccccccccccccccccccccccccccccccccccutdcasvabrucavccccccccccccccccccccccccccccccccccccccccccccc 
-292 190 1 2 5 100 97 386 0.251295 52 -1 2 rucavcccccccccccccccccccccccccccccchccctcccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-375 172 1 2 5 100 97 388 0.25 66 -1 2 rucavcccccccecccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-365 287 2 2 5 100 97 385 0.251948 65 -1 3 rucavcccccccccccccccdcccccccccccccccccccccccccccccccccccccccccclccccccccccccfccccccccocccccutycasvab 
-566 1 3 2 4 100 97 389 0.249357 79 -1 1 rucavcccccccscccccaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccacccccutycasvab 
-351 321 1 2 4 100 88 376 0.234043 65 -1 3 rucavcccccccccccccmcccccccccccccccdccccccccccmccccccccccccccccuccccccccccccccccccccccccccccutycasvab 
-45 1 1 1 8 100 97 388 0.25 14 -1 1 rucavcccccccccccccmccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-428 333 1 1 3 101 97 389 0.249357 67 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccncccccccccccclccccccccccccccccccusycasvab 
-284 143 2 1 3 100 97 385 0.251948 51 -1 2 rucavccccccccccccccccccecccccccccccccccpcccccccccccxcccccccccccccccccccccccccccccccccccckccutycasvab 
-440 23 1 1 3 101 40 324 0.123457 70 -1 2 rucavcccccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutyyasvgab 
-502 291 2 1 3 101 49 287 0.170732 78 -1 4 rucavccccccccccccccccccccccckcccccccccccbccccccccscccccczcccccccccccchccccccccccccccccccccccutycjsvab 
-448 234 2 1 3 100 88 373 0.235925 76 -1 3 rucavccccucccccccccccccccccccciccccpcvccccccccccccccccccccccccccccccccccccccccccccccccccctcutycasvab 
-461 289 3 1 3 104 101 403 0.25062 77 -1 4 aaaarucavcccccccwccccccccccccccccccaccccccccccccccccccccccccccccccccccccccccccccccccccoccccccccutycasvab 
-161 48 1 1 8 100 97 388 0.25 29 -1 2 rucavccccccccccccccccccccccckcccccccccccbccccccccccccccccccccccccccchccccccccccccccccccccccutycasvab 
-327 16 2 1 3 100 97 388 0.25 53 -1 2 rucasccfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjccccccutycasvab 
-334 209 5 1 3 104 100 401 0.249377 54 -1 2 aaaarucavccccccccccccccccwccwccccccccccccccccccccccgccxccccccccccccccccccccccccccccccccccccccccutycasvab 
-329 1 3 1 6 100 97 386 0.251295 53 -1 1 rucavccccccccccccccccccccccdcccccccicccccccccccccccccccccccccccccccicccccccccccccccccccccccutycasvab 
-532 6 1 1 3 100 97 386 0.251295 79 -1 2 rucavcccccccccccccccccccccccccccccccccpccccccccccccccccccccccccmccpccccccccccccccccccccccccutycasvab 
-372 266 1 1 3 101 88 380 0.231579 65 -1 2 rucavcccccccccccccccccccccdcccccccccccccccccccccccccccpcccccccccccycccccccccccccccccccccccccutycasvab 
-367 1 1 1 4 100 97 388 0.25 65 -1 1 rucavccxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-588 502 30 1 1 101 98 391 0.250639 88 -1 5 cccccczcccccccccccchccccccccccccccccccccccutycjsvabrucavccccccccccccccccccccccckcccccccccccbccccccccs 
-590 407 1 1 1 99 97 387 0.250646 91 -1 3 rucavcccccccckccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccczccutycasvab 
-591 159 1 1 1 100 97 389 0.249357 91 -1 2 rucagcscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccccccccchutycasvab 
-592 1 1 1 1 100 97 389 0.249357 91 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccyccccccccccccccccccccccccccccccccccccccccccutycasvab 
-593 1 1 1 1 101 97 389 0.249357 91 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutnycasvab 
-594 369 1 1 1 100 97 384 0.252604 91 -1 3 rucavcccccccccccccccccccccccccccccccccccccccccufctcccccccccclccccccccccccccccccccccccccmcccutycasvab 
-595 440 31 1 1 101 87 382 0.227749 92 -1 3 cccccccccccccccccccccccccccccccccccccccccutyyasvgabrucavcccccccccccucccccqccccccccccccccccccccccccccc 
-596 394 1 1 1 100 97 388 0.25 92 -1 3 rucavcccccccccccccccccccccccccccccccccnccccccccccqcccccccccccccccocccccccccccccccccccccccccutycasvab 
-597 306 1 1 1 98 96 384 0.25 92 -1 3 rucavccfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-598 448 12 1 1 110 97 384 0.252604 92 -1 4 aaaaaaaaaarucavccccuxcccaccccccccccccccciccccpcvccccccccccccccccccccccccccccccccccccccccccccccccccctcutycasvab 
-599 329 2 1 1 100 97 386 0.251295 92 -1 2 rucavjcccccccccccccccccccccdcccccccicccccccccccccccccccccccccccccccicccccckccccccccccccccccutycasvab 
-600 284 1 1 1 100 97 385 0.251948 92 -1 3 rueavccccccccccccccccccecccccccccccccccpcccccccccccxcccccccccccccccccccccccccccccccccccckccutycasvab 
-601 45 1 1 1 100 97 388 0.25 92 -1 2 rucavcccccccccccccmceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-602 177 1 1 1 100 97 388 0.25 92 -1 2 rucavccccccccccccccccccccccccccccccdcccccccccccccccccsccccccccsccccccccccnccccccccrccccccccutycasvab 
-603 373 2 1 1 100 97 386 0.251295 92 -1 3 rucavcpccccccgcccccccccccccccccccccceccccccccccyccccccccccccccccccccccccccccccccccccccrcccautycasvab 
-604 306 1 1 1 99 96 384 0.25 92 -1 3 rucavccfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccocccccccccccutycasvab 
-605 367 2 1 1 99 97 388 0.25 92 -1 2 rucavccxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccctcccccccccccccccccutycasvab 
-606 402 70 1 1 170 97 387 0.250646 92 -1 5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavcccccccccccccccccqccccccccbccccccccccccccccccccwcccccccccccccccccccccccccccccccccccccrutycasvab 
-607 576 2 1 1 102 97 387 0.250646 92 -1 3 aarucavccccccccccccccccccccccccccccccccccccwcccccccccccccccccccccfcccccccfcccccccccccccccccccutycasvab 
-608 12 1 1 1 100 97 388 0.25 92 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccchcccvcccccccccccccccccccccccutycasvab 
-609 485 1 1 1 100 97 386 0.251295 92 -1 3 rucavcccccccccmcccccccccccccccqccccccccccccccccgcccccccccccccccccccccccccccccczccccccccccccutycasvab 
-610 371 1 1 1 100 97 389 0.249357 92 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccccccccchccccccccccckccccccccccccccccccccccccutycasvab 
-611 167 3 1 1 100 87 377 0.230769 92 -1 2 rucavccccccccccscccyccccccccgccccccccccccccccccccccccccccccccccccccocccccicccccccccccccccccutycasvab 
-612 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuwycasvab 
-613 334 4 1 1 108 100 401 0.249377 92 -1 3 aaaaaaaarucavccccccccccccccccwccwccccccccccccccccccccccgccxccccccccccccccccccccccccccccccccccccccccutycasvab 
-614 1 3 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccwccicccccccccccmccccccccccccccccccccccccccccccccccccccccutycasvab 
-615 394 1 1 1 100 97 387 0.250646 92 -1 3 rucavccccccccccccccccccccccccccccccccccccccccccccqcccccccccccccccocccccccclccccccccccccccccutycasvab 
-616 371 1 1 1 100 97 389 0.249357 92 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccccccccchcccccccccccccccccccccbccccccccccccccutycasvab 
-617 288 4 1 1 101 97 387 0.250646 92 -1 3 pucavccgccccccclccccccccccccccccccbccccccccccxcccccccccccccccccccccccccmccccccccccccccccccccutycasvab 
-618 39 1 1 1 100 97 388 0.25 92 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccrcccccutycasvab 
-619 39 2 1 1 100 97 388 0.25 92 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvcccchcccccccccccpcccccccccccccutycasvab 
-620 568 3 1 1 99 97 389 0.249357 93 -1 2 rucavcccecccnccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjccutycasvab 
-621 490 2 1 1 100 97 389 0.249357 93 -1 2 rucacccccccccceccccccccccccccccccccccccccccccscccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-622 1 2 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccpccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjcutycasvab 
-623 12 1 1 1 100 97 388 0.25 93 -1 2 rucavccccycccccccccccccccccccccccccccccccccccccccccccccccccccccccccvcccccccccccccccccccccccutycasvab 
-624 1 3 1 1 99 97 389 0.249357 93 -1 1 rucavcccccctccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxcccccccccccccccccutycasvab 
-625 11 1 1 1 100 97 388 0.25 93 -1 2 rucavccuccccccccccccccqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-626 87 2 1 1 100 97 387 0.250646 93 -1 3 rucavccccccccccccccmzccccccccccccccccccccccccccacccccccecccccccccccccccccccccjcccccccccccccutycasvab 
-627 568 2 1 1 101 97 388 0.25 93 -1 2 rucavccccccccccccccxcccccccccccccccciccccccccccccccccccccccccccccccccccccccccccccccccccccjccutycasvab 
-628 161 1 1 1 100 97 388 0.25 93 -1 3 rucavccccccccccccccccccccccckcccccccccccbcccccccccccccwccccccccccccchccccccccccccccccccccccutycasvab 
-629 1 2 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccmcccccccccccccccccccccccccccccccccczccccccccccccccccccccccccccccccccccccccccccutycasvab 
-630 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccoccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-631 372 2 1 1 102 88 380 0.231579 93 -1 3 rucavccccccccccccccccjccccdcccccccccccccccccccccccccccpcccccccccccycccccccccccccccccccccxccccutycasvab 
-632 576 3 1 1 102 97 386 0.251295 93 -1 3 aarucavccccccccccwcccccccccccccccccccccccccwcccccccccccccccccccccfcccccccfcccccccccccccccccccutycasvab 
-633 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccctccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-634 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-635 577 1 1 1 100 97 388 0.25 93 -1 3 rucivccccccccccccccccccncccccccccccccccccccccccccccccccccccccccccccccccccccccccccxcccccccccutycasvab 
-636 490 3 1 1 101 97 389 0.249357 93 -1 2 rucavcccccccccccccccccccccccccccfcccccccccccccscccccccccccccccccccecccccccccckccccccccccccccutycasvab 
-637 323 1 1 1 100 97 386 0.251295 93 -1 3 rucavcccccccccccccccccccccpccccccccccccpccccccccccccccccccccccccccccccmcccccccccoccccccccccutycasvab 
-638 532 1 1 1 100 97 387 0.250646 93 -1 3 rucavcccccccccccccccccccccccccccccccccpcccccjccccccccccccccccccmccpccccccccccccccccccccccccutycasvab 
-639 177 1 1 1 100 97 388 0.25 93 -1 2 rucavcccccccccccccccccccccccczcccccdcccccccccccccccccsccccccccscccccccccccccccccccrccccccccutycasvab 
-640 266 1 1 1 101 88 381 0.230971 93 -1 2 rucavccccccccccccccccccccccccckcccccccccccccccccccccccpcccccccccccycccccccccccccccccccccccccutycasvab 
-641 323 1 1 1 100 97 386 0.251295 93 -1 3 rucavcccccccccccccccccccccpcccccccccccccccccccccccccccccccccccccccccccmcccccccccoccscccccccutycasvab 
-642 407 2 1 1 101 97 387 0.250646 93 -1 3 rucavcccccccckcccccccccccfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdccczccutycasvab 
-643 1 1 1 1 100 97 389 0.249357 94 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycacvab 
-644 577 1 1 1 100 97 387 0.250646 94 -1 3 rucavccccccccccccccccccncccccccccccccccccccccccccccccccccccccccccccccccccccccccccxcccccccccutycasvsb 
-645 177 1 1 1 100 97 388 0.25 94 -1 2 rucavccccccccccccccccccccccccccccccdcccccccccccccccccsccncccccscccccccccccccccccccrccccccccutycasvab 
-646 461 3 1 1 106 99 395 0.250633 94 -1 5 aaaaaarucavcccccccwccccccccccccccccccaccccccccccccccccccccccccccccccccccccccccccccccccccoccccucccutycasvab 
+1 -1 -1 25 451 100 97 389 0.249357 -1 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+313 -1 -1 5 11 100 97 388 0.25 39 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccccccccutycasvab 
+280 -1 -1 5 8 101 87 382 0.227749 39 -1 0 rucavcccccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvgab 
+305 -1 -1 4 6 101 0 0 0 39 -1 0 rucnvccccccccccccccccccccccccccccccpcccccccccccccccccccsccccccccccccccccccccccccccccccccccccutycasvab 
+308 -1 -1 4 14 100 97 388 0.25 39 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccccccccccccccccccutycasvab 
+598 -1 -1 4 4 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccaccccccccccccccccccccccccccccccccfcccccccccccccccutycasvab 
+607 -1 -1 4 4 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccqccccccccccccccccccccccccccccccccccccccccutycasvab 
+293 -1 -1 3 6 100 97 388 0.25 39 -1 0 rucavcccccccccccccccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+611 -1 -1 3 3 100 97 389 0.249357 79 -1 0 rucavcscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccccccccchutycasvab 
+589 -1 -1 3 3 100 95 385 0.246753 79 -1 0 rucavcccccccccccccccccqccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccyccrutycasvab 
+581 -1 -1 3 3 100 88 378 0.232804 79 -1 0 rucavcccccccccccccccccczccccccccccccccccccccccccccccccccccccccccccccccuccccccccccccccccccccutycasvab 
+612 -1 -1 3 3 100 97 388 0.25 79 -1 0 rucavcccccccccccpcccccccccsccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccacutycasvab 
+603 -1 -1 3 3 100 97 387 0.250646 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccqcccccccccccccccccccccccccccdcccccccccccccccccutycasvab 
+298 -1 -1 2 4 99 0 0 0 39 -1 0 ruvavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccctycasvab 
+574 -1 -1 2 2 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwccccccccccccccccccccccccccutycasvab 
+577 -1 -1 2 2 100 96 385 0.249351 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccaiccccccecccccccccccccccccccccjcccccccccccccutycasvab 
+583 -1 -1 2 2 100 0 0 0 79 -1 0 rucavccccccccccccccccccccccccccccccccncccccccccccccccccccccccccccccccccccccccccccccccccccccbtycasvab 
+586 -1 -1 2 2 100 97 388 0.25 79 -1 0 rucavccccccccccclccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+590 -1 -1 2 2 99 0 0 0 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccxccccccccccccccccccccccccccccccccccccccccccccutycasva 
+591 -1 -1 2 2 100 0 0 0 79 -1 0 ccccccccccccccccccccccccccfccccccccccccccutywasvabrucavccccccccccccccccccccccccccccccccccccccccccccc 
+593 -1 -1 2 2 100 97 387 0.250646 79 -1 0 rucavcccccpccccccccccccccccccccccccccccccccgoccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+594 -1 -1 2 2 100 97 380 0.255263 79 -1 0 rucavcccccctcccccccccccccccccccccccvccnccccccctccccccccccncccccccrcccccccccccccccccccccccccutycasvab 
+595 -1 -1 2 2 100 0 0 0 79 -1 0 ruchvcecccccccccccccccccjccchccccccccccucccccccccccckcccccccccoccccccccccccccccccccccccccccutycasvab 
+596 -1 -1 2 2 101 89 382 0.232984 79 -1 0 aarucavccccccccccccccccccccccccccccccccccccccuccccccccccccccccccccccccccccccccccwcccccccccccutycasvab 
+599 -1 -1 2 2 100 97 386 0.251295 79 -1 0 rucavcccccccccccccccccccccccccccccccwccccccccccccccccccxccccccccccccnccccccccccccccccccccccutycasvab 
+604 -1 -1 2 2 100 0 0 0 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccwcccccccccsccccccccccccccccccccutycasvzb 
+605 -1 -1 2 2 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccccccccczcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+606 -1 -1 2 2 100 97 389 0.249357 79 -1 0 rucavcccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+609 -1 -1 2 2 100 0 0 0 79 -1 0 rucavccccccccccccccccccdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccatycasvab 
+610 -1 -1 2 2 100 0 0 0 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccntycasvab 
+601 -1 -1 2 3 100 97 387 0.250646 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccgccccccccccccccccccccccccccccccccccccccccicccccccutycasvab 
+587 -1 -1 2 3 100 97 384 0.252604 79 -1 0 rucavccccacccccccccceccccccccccccccecccccccccccccccccccccctccccccccccccccccccccccccccccccccutycasvab 
+617 594 1 2 2 99 0 0 0 91 -1 1 ucavcccccctcccccccccccccccccccccccvccnccccccctccccccccccncccccccrcccccccccccccccccccccccccutycasvab 
+588 -1 -1 2 3 100 97 387 0.250646 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccmccccccccccccccczcccccccccccccccccccccccccccccutycasvab 
+584 -1 -1 2 3 99 96 383 0.250653 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclcccccmdcccccccutycasvab 
+616 293 2 2 2 102 97 388 0.25 91 -1 1 aarucavcccccccccccccccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+578 -1 -1 2 3 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdccccccccccccccccccccutycasvab 
+625 599 2 2 2 102 0 0 0 92 -1 1 aarucavcccccccccccccccccccccccccccccccwccccccccccccccccccxccccccccccccnccccccccccccccccccccccutycasvab 
+608 -1 -1 1 2 100 97 389 0.249357 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccacccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+301 -1 -1 1 8 100 97 385 0.251948 39 -1 0 rucavcccccctccccccccccccccccccccccccccnccccccccccccccccccccccccccrcccccccccccccccccccccccccutycasvab 
+582 -1 -1 1 2 101 98 392 0.25 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccgcccccccccccccccccccccccccccccutycasvab 
+585 -1 -1 1 2 100 97 388 0.25 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciccccccccccccccccccutycasvab 
+576 -1 -1 1 2 103 100 399 0.250627 79 -1 0 aarucavcccccccccccccccccccccccccccccccccccwcccccxcccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+592 -1 -1 1 2 101 0 0 0 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccurycasvfab 
+572 -1 -1 1 2 99 96 384 0.25 79 -1 0 rucavcccccccccccccccccqccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccrutycasvab 
+579 -1 -1 1 2 100 87 378 0.230159 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccacycccccccccccccccccccccccccccccccccccccccccccutycasvab 
+602 -1 -1 1 2 99 96 382 0.251309 79 -1 0 rucavcccccccpccccccccdcccccccpccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+600 -1 -1 1 2 100 0 0 0 79 -1 0 rucaxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+613 585 1 1 1 100 0 0 0 91 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccccccccciccccccccccccccccccutycasvab 
+614 576 3 1 1 105 0 0 0 91 -1 1 aaaarucavccccccccccccccccfccccccccccccccccccwcccccxcccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+615 582 1 1 1 101 0 0 0 91 -1 1 ruqavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccgcccccccccccccccccccccccccccccutycasvab 
+618 611 2 1 1 100 97 389 0.249357 92 -1 1 rucavcsccccccccccccccccccccccccccccccccccccccccccccpccccccccccccccccccccccccccccaccccccccchutycasvjb 
+619 586 2 1 1 100 0 0 0 92 -1 1 rucavccccccccccclcccccccccccccccccccsccccceccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+620 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccycccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+621 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavcccccccccccccccccccccccccoccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+622 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+623 593 1 1 1 100 0 0 0 92 -1 1 rucavcccccpcccccccccccccccccccgccccccccccccgoccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+624 605 1 1 1 99 0 0 0 92 -1 1 rucavcccccccccccccccccccccccczccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+626 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccccccccccccccccccccccccccutycasvab 
+627 293 4 1 1 102 97 388 0.25 92 -1 1 aarucavcccccccncccccccccccccccccwccccccccccccccccccccccycccccccccccccccccccccccccccccccccccccutycasvab 
+628 596 12 1 1 112 0 0 0 92 -1 1 aaaaaaaaaaaqarucavccccccccccccccccccccccccccccccccccccccucccccccccccccccccccccccccwccccccccwcccccccccccutycasvab 
+629 577 1 1 1 100 0 0 0 92 -1 1 rucavcccdccccccccccccccccccccccccccccccccccccccaiccccccecccccccccccccccccccccjcccccccccccccutycasvab 
+630 574 4 1 1 101 0 0 0 92 -1 1 aarucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwccccccccccccccccccccccccccltycasvab 
+631 301 1 1 1 100 97 385 0.251948 92 -1 1 rucavcccccctccccccccccccccccccccccccccncccccccccccccccccccccccrccrcccccccccccccccccccccccccutycasvab 
+632 574 3 1 1 102 97 388 0.25 92 -1 1 aarucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccvcwccccccccccccccccccccccccccutycasvab 
+633 593 2 1 1 100 97 387 0.250646 93 -1 1 rucavcccccpccccccccccccccccccccccccocccccccgoccccccccccccccccccccccccccccccccccccccccccccycutycasvab 
+634 608 1 1 1 100 0 0 0 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccxacccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+635 313 2 1 1 100 97 388 0.25 93 -1 1 rucavccccccccccccccccccccccccccccfccccccccccccccccccccccccccvcccccccccccccoccccccccccccccccutycasvab 
+636 1 2 1 1 100 97 389 0.249357 93 -1 1 rgcavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccwcccccccccutycasvab 
+637 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccchccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+638 1 2 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccoccccccccckcccccccccccccutycasvab 
+639 606 1 1 1 101 0 0 0 93 -1 1 rucavcccccccccccccccccbccccccccccccccccccccccccccnccccccccccccccccccccccccccccccccccccccccccutycasvab 
+640 572 1 1 1 99 0 0 0 93 -1 1 rucavcccccccccccccccccqccccccccbccccccccccccccccccccccccccccccccccccccuccccccccccccccccccrutycasvab 
+641 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccjccccccccccccccccccccccccccccccccccccccccutycasvab 
+642 603 2 1 1 99 0 0 0 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccqccccccccccccccccccccccccccdcccccccccccccccccutycasvaj 
+643 605 1 1 1 101 97 388 0.25 93 -1 1 rucavccccccccccccycccccccccccczcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+644 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccocccccccutycasvab 
+645 1 2 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccccccccacccccccccutycasvab 
+646 586 2 1 1 100 97 388 0.25 93 -1 1 rucjvccccccccccclccccccccccccccccccccccccccccccccccccxcccccccccccccccccccccccccccccccccccccutycasvab 
+647 606 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccbcxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+648 308 1 1 1 100 97 388 0.25 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccccccccccccccccccutycpsvab 
+649 577 1 1 1 100 96 385 0.249351 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccaiccccccecccccccccccccccccccccjcccccccccccccutycasxab 
+650 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccutycasvab 
+651 313 1 1 1 100 97 388 0.25 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccqcccccutycasvab 
+652 308 1 1 1 101 97 388 0.25 93 -1 1 ruecavccccccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccccccccccccccccccutycasvab 
+653 1 3 1 1 101 97 389 0.249357 93 -1 1 rucakcccccccccccccccccccccccfcccccccdcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+654 596 13 1 1 111 89 382 0.232984 93 -1 1 aaaaaaaaaaaarucavccccccccccccccccccccccccccccccccccccccuccccccccccccccccycccccccccccccccccwccccmccccccutyiasvab 
+655 589 1 1 1 100 95 385 0.246753 93 -1 1 rucavcccxcccccccccccccqccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccyccrutycasvab 
+656 602 1 1 1 99 0 0 0 93 -1 1 rucavcccccccpccccccccdccyccccpccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+657 579 1 1 1 100 0 0 0 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccacycccccccccccccccccccccccmcccccccccccccccccccutycasvab 
+658 313 2 1 1 100 97 388 0.25 94 -1 1 rucavcccccccccccccccccccccccccccccccccccctccccccccccccccccccvcccnccccccccccccccccccccccccccutycasvab 
+659 1 1 1 1 100 97 389 0.249357 94 -1 1 rucavcccccccccnccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+660 581 2 1 1 100 88 378 0.232804 94 -1 1 rucavcccccccccccccccccczccccccccccccccccccccccccccccccccccccccccccccqcucccccccczcccccccccccutycasvab 
+661 612 1 1 1 100 97 388 0.25 94 -1 1 rucavcccccccccccpcccccccccsccccccccccccccccccccccccccccccccccccccccccccccccccccccccrcccccacutycasvab 
+662 280 1 1 1 101 87 382 0.227749 94 -1 1 rucavcccccccccccuccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvgab 
+663 1 1 1 1 100 97 389 0.249357 94 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccckccccccccccccccccccccccccccccccccccutycasvab 
+664 1 2 1 1 100 97 389 0.249357 94 -1 1 rucavcccccccccccdcccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 

Modified: development/tests/demes_grid_repl/expected/data/dominant.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/dominant.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/dominant.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida Dominant Data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 #  1: Update
 #  2: Average Merit of the Dominant Genotype
 #  3: Average Gestation Time of the Dominant Genotype
@@ -21,10 +21,10 @@
 10 0 0 0 0 100 0 0 100 0 0 0 0 0 1 100-aaaaa 
 20 97 389 0.249357 0.00257069 100 100 97 147 0 0 0 0 0.249357 1 100-aaaaa 
 30 97 389 0.249357 0.00257069 100 100 97 209 0 0 0 0 0.251295 1 100-aaaaa 
-40 97 389 0.249357 0.00257069 100 100 97 43 0 0 0 0 0.250646 1 100-aaaaa 
-50 97 389 0.249357 0.00257069 100 100 97 43 0 0 0 0 0.250646 1 100-aaaaa 
-60 97 389 0.249357 0.00257069 100 100 97 59 0 0 0 0 0.252604 1 100-aaaaa 
-70 97 389 0.249357 0.00257069 100 100 97 85 0 0 0 0 0.25323 1 100-aaaaa 
-80 97 389 0.249357 0.00257069 100 100 97 16 0 0 0 0 0.252604 1 100-aaaaa 
-90 97 389 0.249357 0.00257069 100 100 97 16 0 0 0 0 0.252604 1 100-aaaaa 
-100 97 389 0.249357 0.00257069 100 100 97 20 0 0 0 0 0.252604 1 100-aaaaa 
+40 97 389 0.249357 0.00257069 100 100 97 44 0 0 0 0 0 1 100-aaaaa 
+50 97 389 0.249357 0.00257069 100 100 97 44 0 0 0 0 0 1 100-aaaaa 
+60 97 389 0.249357 0.00257069 100 100 97 65 0 0 0 0 0.251948 1 100-aaaaa 
+70 97 389 0.249357 0.00257069 100 100 97 96 0 0 0 0 0.251948 1 100-aaaaa 
+80 97 389 0.249357 0.00257069 100 100 97 20 0 0 0 0 0 1 100-aaaaa 
+90 97 389 0.249357 0.00257069 100 100 97 20 0 0 0 0 0 1 100-aaaaa 
+100 97 389 0.249357 0.00257069 100 100 97 25 0 0 0 0 0.255263 1 100-aaaaa 

Modified: development/tests/demes_grid_repl/expected/data/historic-100.pop
===================================================================
--- development/tests/demes_grid_repl/expected/data/historic-100.pop	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/historic-100.pop	2008-02-03 22:08:27 UTC (rev 2297)
@@ -15,37 +15,3 @@
 # 12: depth in phylogentic tree
 # 13: genome of organism
 
-168 1 2 0 3 100 97 387 0.250646 37 79 1 rucavcccccccccxcccccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-308 1 1 0 1 100 97 388 0.25 53 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccczccutycasvab 
-24 1 2 0 10 100 97 387 0.250646 12 79 1 rucavcccccccccmccccccccccccccccccccccccccccccccgcccccccccccccccccccccccccccccccccccccccccccutycasvab 
-16 1 1 0 5 100 97 388 0.25 12 79 1 rucavccfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-190 1 1 0 3 100 97 386 0.251295 38 79 1 rucavcccccccccccccccccccccccccccccccccctcccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-90 1 1 0 5 100 97 388 0.25 25 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccqcccccccccccccccccccccccccccccccccccccccccutycasvab 
-9 1 1 0 6 100 97 389 0.249357 12 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccsccccccccccccccccccccccccccccccccccccccccutycasvab 
-26 1 1 0 7 100 97 388 0.25 13 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmccccccccccccccccccccutycasvab 
-321 45 2 0 2 100 88 377 0.233422 53 79 2 rucavcccccccccccccmcccccccccccccccdcccccccccccccccccccccccccccuccccccccccccccccccccccccccccutycasvab 
-220 79 1 0 4 100 97 388 0.25 38 79 3 rucavcccccccccccccccccqccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccrutycasvab 
-25 1 2 0 7 100 97 387 0.250646 12 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfcccccccfcccccccccccccccccccutycasvab 
-291 161 1 0 2 101 98 391 0.250639 52 79 3 rucavccccccccccccccccccccccckcccccccccccbccccccccccccccczcccccccccccchccccccccccccccccccccccutycasvab 
-234 20 1 0 7 100 97 384 0.252604 39 79 2 rucavccccccccccccccccccccccccciccccpccccccccccccccccccccccccccccccccccccccccccccccccccccctcutycasvab 
-232 1 3 0 3 100 97 386 0.251295 39 79 1 rucavcpccccccgcccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-162 51 1 0 3 100 97 388 0.25 30 79 2 rucavcccccccwccccccccccccccccccacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-289 162 3 0 1 102 99 395 0.250633 52 79 3 aarucavcccccccwccccccccccccccccccaccccccccccccccccccccccccccccccccccccccccccccccccccnccccccccutycasvab 
-328 1 1 0 1 100 97 388 0.25 53 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxcccccccccutycasvab 
-209 1 3 0 3 100 97 386 0.251295 38 79 1 rucavccccccccccccccccwccwccccccccccccccccccccccgcccccccccccccccccccccccccccccccccccccccccccutycasvab 
-283 1 1 0 1 100 87 378 0.230159 51 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccycccccccccccccutycasvab 
-313 1 2 0 2 99 96 384 0.25 53 79 1 rucavcccccccccccccccccccccccccccccccccccccccqcccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-333 1 2 0 1 101 98 391 0.250639 54 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccncccccccccccclccccccccccccccccccutycasvab 
-143 1 2 0 8 100 97 387 0.250646 27 79 1 rucavccccccccccccccccccccccccccccccccccpcccccccccccccccccccccccccccccccccccccccccccccccckccutycasvab 
-300 1 1 0 1 100 97 388 0.25 52 79 1 rucavccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccccccccccccccccccccutycasvab 
-120 1 1 0 6 100 97 388 0.25 26 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfccccccccccccccutycasvab 
-172 1 1 0 5 100 97 389 0.249357 37 79 1 rucavcccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-23 1 2 0 4 101 87 382 0.227749 12 79 1 rucavcccccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvgab 
-287 120 1 0 2 100 97 387 0.250646 52 79 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfccccccccocccccutycasvab 
-20 1 2 0 2 100 97 387 0.250646 12 39 1 rucavccccccccccccccccccccccccciccccpcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-79 13 1 0 1 100 97 388 0.25 25 39 2 rucavcccccccccccccccccqccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-13 1 1 0 2 100 97 389 0.249357 12 39 1 rucavccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-48 1 2 0 1 100 97 389 0.249357 14 39 1 rucavcccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccchccccccccccccccccccccccutycasvab 
-84 1 1 0 1 100 97 388 0.25 25 39 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmcutycasvab 
-51 1 1 0 1 100 97 389 0.249357 14 39 1 rucavccccccccccccccccccccccccccacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-19 1 2 0 2 100 97 388 0.25 12 39 1 rucavccccccccccccccccccccccccccccccccccccccccccacccccccccccccccccccccccccccccjcccccccccccccutycasvab 

Modified: development/tests/demes_grid_repl/expected/data/resource.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/resource.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/resource.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida resource data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 # First column gives the current update, all further columns give the quantity
 # of the particular resource at that update.
 #  1: Update

Modified: development/tests/demes_grid_repl/expected/data/stats.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/stats.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/stats.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Generic Statistics Data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 #  1: update
 #  2: average inferiority (energy)
 #  3: ave probability of any mutations in genome
@@ -17,10 +17,10 @@
 10 0 0.562358 0.562358 0.826353 0.826353 0 0 0 0 0 0 
 20 0 0.562405 0.562358 0.826462 0.826353 0 1.63035 0 0 0 0 
 30 0.00645569 0.562439 0.562358 0.826539 0.826353 1 3.02943 0 0 0 0 
-40 0.00213936 0.562516 0.562358 0.826715 0.826353 -227 2.7106 0 0 0 0 
-50 0.00213936 0.562516 0.562358 0.826715 0.826353 0 2.7106 0 0 0 0 
-60 0.00354391 0.564337 0.562358 0.830886 0.826353 0 3.72211 0 0 0 0 
-70 0.0084753 0.564598 0.562358 0.831485 0.826353 2 4.50943 0 0 0 0 
-80 0.00386254 0.568928 0.562358 0.84148 0.826353 -295 3.69361 0 0 0 0 
-90 0.0183889 0.568831 0.562358 0.841254 0.826353 1 3.73129 0 0 0 0 
-100 0.021469 0.56741 0.562358 0.837964 0.826353 0 4.42176 0 0 0 0 
+40 0 0.562358 0.562358 0.826353 0.826353 -230 2.63514 0 0 0 0 
+50 0 0.562358 0.562358 0.826353 0.826353 0 2.63514 0 0 0 0 
+60 0.0739452 0.562561 0.562358 0.826818 0.826353 0 3.45477 0 0 0 0 
+70 0.0446433 0.563745 0.562358 0.829529 0.826353 2 4.22111 0 0 0 0 
+80 0 0.562579 0.562358 0.82686 0.826353 -245 3.46353 0 0 0 0 
+90 0 0.562579 0.562358 0.82686 0.826353 0 3.46353 0 0 0 0 
+100 0.137321 0.563229 0.562358 0.828346 0.826353 0 4.20887 0 0 0 0 

Modified: development/tests/demes_grid_repl/expected/data/tasks.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/tasks.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/tasks.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 # First column gives the current update, next columns give the number
 # of organisms that have the particular task as a component of their merit
 #  1: Update

Modified: development/tests/demes_grid_repl/expected/data/tasks_exe.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/tasks_exe.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/tasks_exe.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks execution data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 # First column gives the current update, all further columns give the number
 # of times the particular task has been executed this update.
 #  1: Update

Modified: development/tests/demes_grid_repl/expected/data/tasks_quality.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/tasks_quality.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/tasks_quality.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks quality data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 # First column gives the current update, rest give average and max task quality
 #  1: Update
 #  2: Not Average

Modified: development/tests/demes_grid_repl/expected/data/time.dat
===================================================================
--- development/tests/demes_grid_repl/expected/data/time.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_grid_repl/expected/data/time.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida time data
-# Wed Sep  5 15:37:08 2007
+# Sun Feb  3 17:07:19 2008
 #  1: update
 #  2: avida time
 #  3: average generation
@@ -9,10 +9,10 @@
 10 0.103093 0 3000 
 20 0.206186 1 6000 
 30 0.309749 1.97436 11670 
-40 0.413884 2.62 3000 
-50 0.517393 2.62 3000 
-60 0.621131 3.61616 5940 
-70 0.725306 4.58961 11490 
-80 0.829973 5.25 3000 
-90 0.934163 5.29412 3030 
-100 1.04067 6.26562 5760 
+40 0.413884 0 3000 
+50 0.516988 0 3000 
+60 0.620229 0.930481 5610 
+70 0.723887 1.89744 10470 
+80 0.828082 0 3000 
+90 0.931303 0 3000 
+100 1.03479 0.876404 5340 

Modified: development/tests/demes_torus_repl/config/avida.cfg
===================================================================
--- development/tests/demes_torus_repl/config/avida.cfg	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/config/avida.cfg	2008-02-03 22:08:27 UTC (rev 2297)
@@ -39,17 +39,26 @@
 
 ### DEME_GROUP ###
 # Demes and Germlines
-NUM_DEMES 100                # Number of independent groups in the population.
-DEMES_USE_GERMLINE 0         # Whether demes use a distinct germline; 0=off
-DEMES_HAVE_MERIT 0           # Whether demes have merit; 0=no
-GERMLINE_COPY_MUT 0.0075     # Prob. of copy mutations occuring during
-                             # germline replication.
-GERMLINE_REPLACES_SOURCE 0   # Whether the source germline is updated
-                             # on replication; 0=no.
-GERMLINE_RANDOM_PLACEMENT 0  # Whether the seed for a germline is placed
-                             #  randomly within the deme; 0=no.
-MAX_DEME_AGE 40              # The maximum age of a deme (in updates) to be
-                             # used for age-based replication (default=500).
+NUM_DEMES 100               # Number of independent groups in the population.
+DEMES_USE_GERMLINE 0        # Whether demes use a distinct germline; 0=off
+DEMES_HAVE_MERIT 0          # Whether demes have merit; 0=no
+DEMES_PREVENT_STERILE 0     # Whether to prevent sterile demes from
+                            # replicating; 0=no
+DEMES_REPLICATE_SIZE 1      # Number of organisms to create or copy from the
+                            # source deme to the target deme.
+DEMES_ORGANISM_PLACEMENT 0  # How organisms are placed during deme replication.
+                            # 0=sequential placement.
+                            # 1=random placement.
+DEMES_ORGANISM_FACING 1     # How organisms are facing during deme replication.
+                            # 0=Unchanged.
+                            # 1=Northwest.
+                            # 2=Random.
+DEMES_MAX_AGE 40           # The maximum age of a deme (in updates) to be
+                            # used for age-based replication (default=500).
+DEMES_MAX_BIRTHS 100        # The maximum number of births that can occur
+                            # within a deme; used with birth-count replication.
+GERMLINE_COPY_MUT 0.0075    # Prob. of copy mutations occuring during
+                            # germline replication.
 
 ### REPRODUCTION_GROUP ###
 # Birth and Death

Modified: development/tests/demes_torus_repl/expected/data/archive/100-aaaaa.org
===================================================================
--- development/tests/demes_torus_repl/expected/data/archive/100-aaaaa.org	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/archive/100-aaaaa.org	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,4 +1,4 @@
-# Wed Sep  5 15:37:10 2007
+# Sun Feb  3 17:09:23 2008
 # Filename........: archive/100-aaaaa.org
 # Update Output...: 100
 # Is Viable.......: 1

Modified: development/tests/demes_torus_repl/expected/data/average.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/average.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/average.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida Average Data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 #  1: Update
 #  2: Merit
 #  3: Gestation Time
@@ -21,10 +21,10 @@
 10 97 389 0 0 100 100 97 100 0 0 0 0 0 0 0 
 20 97 389 0.249357 0 99.98 100 97 4 0 0 0.255 1 0.0527433 0 0 
 30 96.2072 387.66 0.248076 0 99.9923 99.7366 96.2072 2.52258 0 0 0.516624 1.97698 -0.0104291 0 0 
-40 96.66 388.21 0.248968 0 100.09 100.04 96.66 3.125 0 0 0.76 2.66 -0.0134914 -1 0 
-50 93.8738 382.35 0.244365 0 100.097 98.5825 93.8738 2.94286 0 0 0.796117 2.72816 -0.0601573 -1 0 
-60 95.2741 389.071 0.245035 0 102.147 99.2995 95.2741 2.1413 0.00507614 0 1.07107 3.6599 -0.0215294 -1 0 
-70 95.5753 388.203 0.246201 0 101.819 99.5479 95.5753 1.90104 0 0 1.30685 4.58356 0.0507809 -1 0 
-80 94.33 388.91 0.242875 0 103.14 99.06 94.33 2 0 0 1.4 5.09 0.426935 -1 0 
-90 94.33 388.91 0.242875 0 103.14 99.06 94.33 2 0 0 1.4 5.09 0.426935 -1 0 
-100 94.7293 390.271 0.24322 0 103.547 98.9669 94.7293 1.77451 0.00552486 0 1.64641 6.0884 0.319498 -1 0 
+40 95.55 345.21 0 0 100.01 100.01 95.55 2.77778 0 0 0.04 0 0 -1 0 
+50 95.55 345.21 0 0 100.01 100.01 95.55 2.77778 0 0 0.04 0 0 -1 0 
+60 95.5426 365.479 0.230373 0 100.622 99.7447 95.5426 2.02151 0 0 0.345745 0.93617 -0.0218355 -1 0 
+70 95.3144 374.96 0.238103 0 100.445 99.6289 95.3144 1.81026 0 0 0.631728 1.89802 -0.0716271 -1 0 
+80 95.03 306.79 0 0 100.03 100.03 95.03 2.08333 0 0 0.03 0 0 -1 0 
+90 95.03 306.79 0 0 100.03 100.03 95.03 2.08333 0 0 0.03 0 0 -1 0 
+100 94.7598 341.173 0.216369 0 100.067 99.7821 94.7598 1.80808 0 0 0.318436 0.882682 -0.011187 -1 0 

Modified: development/tests/demes_torus_repl/expected/data/count.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/count.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/count.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida count data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 #  1: update
 #  2: number of insts executed this update
 #  3: number of organisms
@@ -21,10 +21,10 @@
 10 3000 100 1 1 0 0 0 0 0 0 100 100 100 0 0 
 20 6000 200 50 2 0 0 0 0 0 0 149 100 200 0 0 
 30 11730 391 155 2 0 0 0 0 0 0 231 200 391 0 0 
-40 3000 100 32 7 0 0 0 0 0 0 4 100 100 0 0 
-50 3090 103 35 7 0 0 0 0 0 0 4 100 103 0 0 
-60 5880 197 92 17 0 0 0 1 0 0 39 100 197 0 0 
-70 10950 365 192 20 0 0 0 0 0 0 106 192 365 0 0 
-80 3000 100 50 28 0 0 0 0 0 0 11 100 100 0 0 
-90 3000 100 50 28 0 0 0 0 0 0 11 100 100 0 0 
-100 5400 181 102 32 0 0 0 1 0 0 40 100 181 0 0 
+40 3000 100 36 3 0 0 0 0 0 0 100 100 100 0 0 
+50 3000 100 36 3 0 0 0 0 0 0 100 100 100 0 0 
+60 5640 188 93 12 0 0 0 0 0 0 131 100 188 0 0 
+70 10590 353 195 18 0 0 0 0 0 0 193 186 353 0 0 
+80 3000 100 48 9 0 0 0 0 0 0 100 100 100 0 0 
+90 3000 100 48 9 0 0 0 0 0 0 100 100 100 0 0 
+100 5370 179 99 19 0 0 0 0 0 0 128 100 179 0 0 

Modified: development/tests/demes_torus_repl/expected/data/detail-100.pop
===================================================================
--- development/tests/demes_torus_repl/expected/data/detail-100.pop	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/detail-100.pop	2008-02-03 22:08:27 UTC (rev 2297)
@@ -15,105 +15,102 @@
 # 12: depth in phylogentic tree
 # 13: genome of organism
 
-1 -1 -1 30 446 100 97 389 0.249357 -1 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-46 1 1 4 24 99 96 385 0.249351 13 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-346 86 2 4 6 100 97 386 0.251295 54 -1 2 rucavccccccccccccpccdccccccccccccccccccccccccccccccccccicccccccccccccccccccccccccccccccccccutycasvab 
-268 113 1 4 12 100 97 387 0.250646 39 -1 2 rucavccccccccccccccccccccccccccccccccccccccccceccccicccccccccccccccccccccccccccccccccccccccutycasvab 
-274 1 1 3 6 100 97 388 0.25 39 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfccccccccccutycasvab 
-111 14 2 3 12 100 97 386 0.251295 26 -1 2 rucavcccccccccmccccccccccccccccccccccccccccccccgccccccccccccccaccccccccccccccccicccccccccccutycasvab 
-310 1 1 3 7 100 97 388 0.25 52 -1 1 rucavccccciccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-319 42 1 3 6 100 97 387 0.250646 52 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccccdccccccccdccccccccccccccccccccccccccccccccutycasvab 
-566 418 1 3 4 99 96 383 0.250653 79 -1 2 rucavccmccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciccccutycasvab 
-183 1 1 3 11 100 97 388 0.25 38 -1 1 rucavccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-531 420 2 3 4 100 97 386 0.251295 78 -1 3 rucavcccccccccccccccccccccccccccccccccccccrcccccccccccclccnicccccfcccccccccccccccccccccccccutycasvab 
-44 1 3 3 8 100 88 377 0.233422 13 -1 1 rucavcccccccccccccccccccjccccccccccccccuccccccccccccccccccccccoccccccccccccccccccccccccccccutycasvab 
-498 402 1 3 4 101 89 380 0.234211 78 -1 3 rucavcccuccccccccccccccccccccccckccccccccccccccccccccqcccccccccccccccccccccccccpccccccccccczutycasvab 
-312 227 3 2 3 100 97 389 0.249357 52 -1 2 rgcavccccccccccccccccccccccccbccccccccccccccccqccccccccccccccccccccccccccccccccccccccccccccztycasvab 
-441 1 2 2 3 100 97 387 0.250646 67 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccclcccccccccccccccccccccdcccccccccccccccccccutycasvab 
-316 275 2 2 3 103 97 389 0.249357 52 -1 3 aaarugavcccccccccccccjccccccccccccccccccccccchccccccccccccccwcccccccccccccccccccncccccccccccccutycasvab 
-567 275 1 2 4 103 100 398 0.251256 79 -1 3 aaarucavcccccccccccccjccccccccccccccccccccccchccccccccccccccwcccccccccccccccccccncccccccccccccutycasvab 
-485 1 3 2 3 100 97 389 0.249357 77 -1 1 rucavccccccccccccccccccncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmcmtycasvab 
-532 111 1 2 3 100 97 386 0.251295 78 -1 3 rucavcccccccccmccccccccccccccccccccccccccccccccgccccccccccccccacccbccccccccccccicccccccccccutycasvab 
-226 1 1 2 5 100 49 288 0.170139 38 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycksvab 
-382 1 2 2 3 99 97 389 0.249357 65 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvwb 
-252 124 1 2 7 101 98 390 0.251282 39 -1 2 rucavccccccccccccccccccchccccccccccaccacccccccccccccpcccccccccccccccccccccccccccczccccccccecutycasvab 
-167 1 3 2 5 100 98 581 0.168675 37 -1 1 rucavcnccccccwcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutlcasvab 
-345 1 1 2 4 100 97 388 0.25 54 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccjcccccccccccccccccccccccccccccccutycasvab 
-295 258 25 2 3 101 97 389 0.249357 49 -1 2 cccccccccccccccccccccccccccccccccccccccccutycgsvabrucavcccccccccccccccxcccccccccccccccccccccccccccccc 
-390 216 3 2 3 102 99 394 0.251269 65 -1 3 aarucavccccccccccccccccccccccccccczccccccccccccccccccccccccccccwcccccccccccccccccccccclccccccutycasvab 
-41 1 2 2 5 100 97 389 0.249357 13 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccicccccccccutycasvag 
-452 56 101 2 3 200 87 375 0.232 68 -1 3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavciccccccceccccctcccccccccccccccccccccccccccccccccccccwccccccccccccccucccccccccccccccccutycasvab 
-392 21 1 2 4 100 97 384 0.252604 65 -1 2 rucavccccccccccccccccccccccccciccctpcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-77 1 1 2 11 100 97 388 0.25 25 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccncccccccccccccccccccccccccccutycasvab 
-409 173 1 2 4 100 97 388 0.25 66 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccrcccccccccccccutycasvab 
-349 46 1 2 4 99 96 385 0.249351 54 -1 2 rucavccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-282 1 2 2 12 99 96 384 0.25 39 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccdcccccccccccccccccccccccccccccccutycasvab 
-369 1 1 2 6 100 97 388 0.25 64 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccccccccccccccccccccccccccccutycasvab 
-333 1 1 2 6 100 97 389 0.249357 53 -1 1 rucavcccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-356 92 1 2 4 100 97 388 0.25 64 -1 3 rucavccccccccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccrcccccccccccutycasvab 
-355 123 3 1 3 100 97 386 0.251295 64 -1 2 rucavcccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqccutycasvzb 
-448 200 1 1 3 100 97 387 0.250646 67 -1 2 rucavccccccccscccicccccccccccccccccccccccccccccccccccccccccccccccccccccicccccccccccccccccccutycasvab 
-201 1 4 1 5 99 97 389 0.249357 38 -1 1 rucavcccccccccccqcccwccccccccccqccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-574 308 3 1 3 102 99 394 0.251269 79 -1 3 aarucavccccgcccccccccccccccccccbgcccccccccccccccccccwccccccccccccccccccccccccccccccccccccccccutycasvab 
-360 302 3 1 3 100 88 375 0.234667 64 -1 2 rucavcccccccccccccccccccccccckccccccccccccccccccccccxccccccccncucccccccccccwcccccccccccccccutycasvab 
-303 1 2 1 3 101 97 389 0.249357 52 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccuccccccccccccccccccccutycasvcb 
-301 183 1 1 4 100 97 388 0.25 52 -1 2 rucavccccceccccccccccccccccccccccccccccccccccccccchccccccccccccccccccccccccccccccccccccccccutycasvab 
-352 167 101 1 3 198 97 389 0.249357 59 -1 2 baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavcnccccccwcccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccutlcasva 
-565 200 3 1 3 101 97 388 0.25 79 -1 2 ruoavccccccccsccciccccccccccccccccccccccccccccgccccccccwccccccccccccccccccccccccccccccccccccutycasvab 
-397 1 2 1 3 100 97 487 0.199179 65 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycascvab 
-123 1 1 1 10 100 97 386 0.251295 26 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccctccutycasvab 
-367 323 2 1 4 100 87 376 0.231383 64 -1 2 rucavccccccccccccccccccyccccccccccccccccccccccccccccpcccccccccccccccccccccpccccccccccccccccutycasvab 
-56 17 2 1 5 100 87 375 0.232 24 -1 2 rucavcicccccccecccccccccccccccccccccccccccccccccccccccccccwccccccccccccccucccccccccccccccccutycasvab 
-511 114 1 1 3 100 97 385 0.251948 78 -1 3 rucavccccccccccccccclcccccccjcccccccccccccccccccccccccccccccvccccccccccccccccccccccicccccccutycasvab 
-612 390 3 1 1 104 99 394 0.251269 91 -1 4 aaaarucavccccccccccccccccccccccccccczccccccccccccccccccccgcccccccwcccccccccccccccccccccclccccccutycasvab 
-613 532 1 1 1 100 97 386 0.251295 91 -1 4 rucavcccccccccmccccccccccccccqcccccccccccccccccgccccccccccccccacccbccccccccccccicccccccccccutycasvab 
-614 310 1 1 1 100 97 388 0.25 91 -1 2 rtcavccccciccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-615 345 2 1 1 100 97 388 0.25 91 -1 2 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccjcccccccccctccccccccccccccccccccutycasvib 
-616 301 1 1 1 100 97 388 0.25 91 -1 3 rucavcccccecccccccccccccccccccuccccccccccccccccccchccccccccccccccccccccccccccccccccccccccccutycasvab 
-617 274 2 1 1 100 97 388 0.25 91 -1 2 rucavccccccccccccccccccccccccccccccccccocccccccccccccccccccccccccccccccmccccccccfccccccccccutycasvab 
-618 1 2 1 1 100 97 389 0.249357 91 -1 1 rucavcccccxccccccccccccccccccccccccccccccccccccccycccccccccccccccccccccccccccccccccccccccccutycasvab 
-619 567 2 1 1 104 99 394 0.251269 91 -1 4 aaaarucavcccccccccccccjcccccccccccccccccccccccqccccccccccccccwcccccccccccccccccccncccccccccccccutycasvab 
-620 1 1 1 1 100 97 389 0.249357 91 -1 1 recavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-621 390 3 1 1 104 99 394 0.251269 91 -1 4 aaaarucavccccccccccccccccccccccccccczccccccccccccccccccccpcccccccwcccccccccccccccccccccclccccccutycasvab 
-622 532 2 1 1 100 97 386 0.251295 91 -1 4 rucavcccccccccmccccccccccccccccccccccccccccccccgccccccccccccccacccbccecccccccccicccccdcccccutycasvab 
-623 252 3 1 1 102 98 390 0.251282 92 -1 3 rucavccccccccccccyccccckwhccccccccccaccacccccccccccccpcccccccccccccccccccccccccccczccccccccecutycasvab 
-624 531 3 1 1 100 97 388 0.25 92 -1 4 rucavccccccccccccccccccccccccvccccccccccccrcrcccccccccclccnicccccfccccccccnccccccccccccccccutycasvab 
-625 46 1 1 1 100 96 385 0.249351 92 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccczcccccccccccccccccccccccccccccccccccutycasvab 
-626 319 1 1 1 100 97 387 0.250646 92 -1 3 rucavccccccckccccccccccccccccccccccccccccccccccccdccccccccdccccccccccccccccccccccccccccccccutycasvab 
-627 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccwcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-628 511 1 1 1 100 97 386 0.251295 92 -1 4 rucavccccccccccccccclcccccccjcccccccccccczccccccccccccccccccvccccccccccccccccccccccicccccccutycasvab 
-629 1 2 1 1 100 97 389 0.249357 92 -1 1 rucavcecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmccccccccccccccccccutycasvab 
-630 441 3 1 1 99 97 389 0.249357 92 -1 2 rucavccccccccvcccccccccccccclcccccccccccccccccccclcccccccccccccccccccccdcccccccccccccccccccutycsvab 
-631 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccsccccccccccccccccccccccccccccccutycasvab 
-632 1 3 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccwcccccccccccccccccckccccutycasvab 
-633 111 3 1 1 101 97 386 0.251295 92 -1 3 rucavcccccccccmccccccccccccccccccccccccccccccccgcccccccccccctccacccpcccccjccccccicccccccccccutycasvab 
-634 392 2 1 1 101 97 384 0.252604 92 -1 3 rucavccccccccccccccccccccccccfciccctpcccccccccccccccccccjcccccccccccccccccccccccccccccccccccutycasvab 
-635 1 2 1 1 100 97 389 0.249357 92 -1 1 rucavcccccccccccccccccccccccccccclcccccccccccccccccccclccccccccccccccccccccccccccccccccccccutycasvab 
-636 1 2 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccccwcccccutycasvab 
-637 183 1 1 1 100 97 388 0.25 92 -1 2 rucavcccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnccutycasvab 
-638 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycascab 
-639 252 1 1 1 101 98 390 0.251282 92 -1 3 rucavccccccccccccccccccchccccccccccaccwcccccccccccccpcccccccccccccccccccccccccccczccccccccecutycasvab 
-640 441 2 1 1 100 97 387 0.250646 92 -1 2 rucavcccccccccccccccccmcccccccccccccccccccccccccclcccccccccccccccccccccdtccccccccccccccccccutycasvab 
-641 46 3 1 1 99 96 385 0.249351 92 -1 2 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccycxcccccccccccccccccccccccccccccccxtycasvab 
-642 566 1 1 1 99 96 383 0.250653 93 -1 3 rucavccmccccccccccccckccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciccccutycasvab 
-643 392 1 1 1 100 97 384 0.252604 93 -1 3 qucavccccccccccccccccccccccccciccctpcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-644 1 3 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccxcccccccqccccccccccccccccccccccccccccccccccccutyjasvab 
-645 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutypasvab 
-646 448 1 1 1 100 97 388 0.25 93 -1 3 rucavccjcccccscccicccccccccccccccccccccccccccccccccccccccccccccccccccccicccccccccccccccccccutycasvab 
-647 567 2 1 1 104 100 398 0.251256 93 -1 4 aaaarucavcccccccccccccjccccccccccccccccccccccchccccccccccccccwoccccccccccccccccccncccccccccccccutycasvab 
-648 123 1 1 1 100 97 386 0.251295 93 -1 2 rucavcccccccccccccccccccccaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccctccutycasvab 
-649 574 2 1 1 104 97 387 0.250646 93 -1 4 aaaarucavccccgcccccccccccccccccccbgcccccccccccccccccccwccccccccccccccccccccccccccccccccccccccccutycasvab 
-650 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccucccccccccccccccccccccccccccccccccccutycasvab 
-651 345 1 1 1 100 97 388 0.25 93 -1 2 rucavccccccccccccccccccccccccccccccccccccccmcccccccccccccccjcccccccccccccccccccccccccccccccutycasvab 
-652 1 2 1 1 101 97 389 0.249357 93 -1 1 rucavckcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgcccccccccccccutycasvab 
-653 360 11 1 1 110 88 375 0.234667 93 -1 3 aaaaaaaaaarucavccccoccccccccccccccccccckccccccccccccccccccccccxccccccccncucccccccccccwcccccccccccccccutycasvab 
-654 498 2 1 1 101 97 389 0.249357 93 -1 4 rucavcccuccccccccccccccccccccccckccccccccccccccccccccqccccccczcccccccccccccczccpccccccccccczutycasvab 
-655 1 2 1 1 101 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccycccccccutycasvab 
-656 44 1 1 1 100 88 377 0.233422 93 -1 2 rucavcccccccccccccccccccjcccccccccyccccuccccccccccccccccccccccoccccccccccccccccccccccccccccutycasvab 
-657 56 101 1 1 200 87 375 0.232 94 -1 3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavciccccccceccccccccccccccccccccccccjccccccccccccccccccwccccccccccccccucccccccccccccccccutycasvab 
-658 367 3 1 1 100 87 376 0.231383 94 -1 3 rucavccccccccccccccccccyccccccccccccccccccccciccccccpcccccccccccccccccccccpccccccqccccccczcutycasvab 
-659 397 1 1 1 100 97 389 0.249357 96 -1 2 rucavccrccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycascvab 
-660 226 25 1 1 100 49 288 0.170139 97 -1 2 cccccccccccccccccccccccccccccccccccccccccutycksvabruoavccccccccccccccccccccccccccccccccccccccccccccc 
-661 167 101 1 1 198 98 581 0.168675 98 -1 2 baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavcnccccccwcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccutlcasva 
-662 167 100 1 1 198 98 581 0.168675 98 -1 2 baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarucavcnccccccwcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutlcasva 
-663 226 24 1 1 100 49 288 0.170139 100 -1 2 cccccccccccccccccccccccccccccccccccccccccutycksvabrucavccccccccccccccccccccccccccccccccccccccccccccc 
+1 -1 -1 30 437 100 97 389 0.249357 -1 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+328 -1 -1 5 9 100 87 377 0.230769 39 -1 0 rucavccccccccccxccccyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+324 -1 -1 4 6 100 0 0 0 39 -1 0 rucavccccccccccacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycaszab 
+660 -1 -1 4 4 100 97 386 0.251295 79 -1 0 rucavcccccccccmccccccccccccccccccccccccccccccccgccccccccccccccaccccccccccccccccicccccccccccutycasvab 
+46 1 1 4 17 99 96 385 0.249351 13 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+665 -1 -1 4 4 100 97 388 0.25 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccjcccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+662 -1 -1 4 4 100 97 386 0.251295 79 -1 0 rucavcccccccccccnccccccccccccccccccccccccccccccccocccccccccrcccccccccccccccccocccccccccccccutycasvab 
+308 -1 -1 3 6 99 0 0 0 39 -1 0 rcavccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccucccccccccccccccccutycasvab 
+300 -1 -1 3 7 100 97 388 0.25 39 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccxccccccccccccccccccccccccccccccccccccccccccutycasvab 
+664 -1 -1 3 3 100 97 386 0.251295 79 -1 0 rucavccccccccccccccccccccccccccccccccnccccfcccccccccccccccccmccccccccccccccccccccccccccccccutycasvab 
+659 -1 -1 3 3 100 97 387 0.250646 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccqcccccccxlccccccccccccccccbcccccccccccccutycasvab 
+645 -1 -1 3 3 100 97 388 0.25 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccccutycasvab 
+663 -1 -1 3 3 100 97 388 0.25 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccxlccccccccccccccccccccccccccccccutycasvab 
+637 -1 -1 3 3 99 96 384 0.25 79 -1 0 rucavccccccccccccccccccccccccccccccccccccnccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+625 -1 -1 3 3 101 89 381 0.233596 79 -1 0 rucavcccccccccccccccccccccccccccccccccucccccccccccccccccccccccccccccccccccccncccccccncccccccutycasvab 
+642 -1 -1 3 3 100 87 377 0.230769 79 -1 0 rucavccccccccccccccccyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqccccutycasvab 
+314 -1 -1 2 6 101 89 383 0.232376 39 -1 0 rucavcccccccccccccccucccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+634 -1 -1 2 2 101 0 0 0 79 -1 0 rucavccccccccccrcccccccccccccccccccccccccchcccccccccccccccccccccccccccccccccccccccccccccccccufycasvab 
+641 -1 -1 2 2 100 0 0 0 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccmcccccccccccccccccccccccccccccccccitycasvab 
+644 -1 -1 2 2 98 0 0 0 79 -1 0 cccccccccccccccccccccccccccccccccccccccccutfcasvabruavcccccccccccccccccccccccccccccccccccccccccccc 
+649 -1 -1 2 2 103 98 398 0.246231 79 -1 0 aarucavccccccccewcccccccccccccccccccccccccccccccccccycicccccccccccccccccccccccccccccccccccccccutycasvab 
+655 -1 -1 2 2 100 49 288 0.170139 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycksvab 
+657 -1 -1 2 2 100 0 0 0 79 -1 0 cccccccccccccccccccccccccccccccccccccccccuttcasvabrucavcccccccccccccccccccccccsccccccccccccccccccccc 
+661 -1 -1 2 2 100 0 0 0 79 -1 0 rucnvcccccccccccccccccccccccccccccccccccccccccfcccccccccccccwcccccccccccccccccccccccccccmccutycasvab 
+666 -1 -1 2 2 100 91 379 0.240106 79 -1 0 rucavcccccccccdccccccccccccccccucccccccmcccccccccncccccccccccccccccccccccccrcccccccccccccccutycasvab 
+654 -1 -1 2 3 100 97 387 0.250646 79 -1 0 rucavccmcccccccccccccicccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+643 -1 -1 2 3 100 97 387 0.250646 79 -1 0 rucavcccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccccccccncccccccccccccccccccutycasvab 
+647 -1 -1 2 3 100 88 379 0.23219 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccucccccccccccccccccccccccccccccccccccccccccutycasvab 
+648 -1 -1 2 3 101 89 383 0.232376 79 -1 0 rucavcccccccccccccccucccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccczutycasvab 
+651 -1 -1 2 3 100 87 377 0.230769 79 -1 0 rucavccccmccccccccccccccccccccccfycccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+623 -1 -1 1 2 100 97 386 0.251295 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccncccccmcccccccccccccccccccccncccccccccccccccccccutycasvab 
+630 -1 -1 1 2 100 97 386 0.251295 79 -1 0 rucavccccccccccccccccccccccccccccccccccccckccccccccccccccccccccccccccccccjcccccccccccccccocutycasvab 
+628 -1 -1 1 2 100 97 385 0.251948 79 -1 0 rucavccccccccccccccccsccvccccccccccccccccccccdccccccccccccccccccccccccccccicccccccccqccccccutycasvab 
+319 -1 -1 1 4 100 0 0 0 39 -1 0 rucavcccccccccccccccccccucccccccccccccccccccgccccccccccccccccccccccccccccccccccccccccccccccutycasvag 
+646 -1 -1 1 2 100 92 382 0.240838 79 -1 0 rucavccccccccccccccccccccccccuccccccfcccccccccccccccccccccccccccccccccccccccchcccccccccccccutycasvab 
+635 -1 -1 1 2 100 0 0 0 79 -1 0 rucaucccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccqccccutycasvab 
+639 -1 -1 1 2 100 97 388 0.25 79 -1 0 rucavcccccccccccccccccsccccccccccccccccccccccfcccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+626 -1 -1 1 2 100 97 386 0.251295 79 -1 0 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccctccutycasvab 
+650 -1 -1 1 2 100 97 384 0.252604 79 -1 0 rucavcccccjcccctccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+653 -1 -1 1 2 100 0 0 0 79 -1 0 ruhavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+627 -1 -1 1 2 101 98 390 0.251282 79 -1 0 arucavccccccccccmccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccwccccccccccccutycasvab 
+624 -1 -1 1 2 100 97 387 0.250646 79 -1 0 rucavcccccccccccccccaccccccccccccccccccccccccccccccccccccccccccmccpccccccccccccccccccccccccutycasvab 
+629 -1 -1 1 2 100 97 387 0.250646 79 -1 0 rucavccccccccccccccccccccccccscccccccccccccccccccccccccccpcccccccccccccccccccgcccccccccccccutycasvab 
+325 -1 -1 1 8 100 97 387 0.250646 39 -1 0 rucavcccccccccccnccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccocccccccccccccutycasvab 
+640 -1 -1 1 2 101 98 391 0.250639 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccxccccqccccccccccccccccccccccccccccccutycasvab 
+652 -1 -1 1 2 100 97 389 0.249357 79 -1 0 rucavccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+658 -1 -1 1 2 100 88 378 0.232804 79 -1 0 rucavccccccccccccccccccccccccuccccccccccccccccccccccccccccccccccccccccccccczchcccccccccccccutycasvab 
+656 -1 -1 1 2 100 87 377 0.230769 79 -1 0 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccycccccccccccccccccclcccccutycasvab 
+667 629 1 1 1 100 0 0 0 91 -1 1 rucavccccccccccccccccccccccccsccccccccccccccccccwccccccccpcccccccccccccccccccgcccccccccccccutycasvab 
+668 666 1 1 1 100 0 0 0 91 -1 1 rucavcccccccccdccccccccccccccccucccccccmcccccccccnccccccccccccccccccjccccccrcccccccccccccccutycasvab 
+669 300 1 1 1 99 97 388 0.25 91 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccxccccccccccccccccccccccccccccccccccccccccccutcasvab 
+670 623 1 1 1 100 0 0 0 91 -1 1 rucavccccccccccccccccccccccccccccccccccccccncccccmcccccccccccccccccccccncccucccccccccccccccutycasvab 
+671 626 2 1 1 100 0 0 0 91 -1 1 rucavceccccccccccccccccccccccccccccccccccccccccccccccccrcccccccccccccccccccccccccccccccctccutycasvab 
+672 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccpcccccutycasvab 
+673 664 2 1 1 101 0 0 0 92 -1 1 rucavcccccccccccccccccvccccccccccccccncccfcfcccccccccccccccccmccccccccccccccccccccccccccccccutycasvab 
+674 649 3 1 1 103 0 0 0 92 -1 1 axrucavccccccccewcccccccccccccccccccccccccccczccccccycicccccccccccccccccccccccccccccccccccccccutycasvzb 
+675 1 2 1 1 99 97 389 0.249357 92 -1 1 rucavcccccccccccccccccccccccccccocccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+676 663 1 1 1 100 0 0 0 92 -1 1 rucavcccccccccccccccccccccccwccccccccccccccccccccccccccccccxlccccccccccccccccccccccccccccccutycasvab 
+677 649 1 1 1 103 98 398 0.246231 92 -1 1 aarucavccccccccewccccccccccccccccccccccccccccccccclcycicccccccccccccccccccccccccccccccccccccccutycasvab 
+678 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccckccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+679 628 1 1 1 100 0 0 0 92 -1 1 rucavccccccccccccccccsccvccccccccccccccccccccdccccccccccccccciccccccccccccicccccccccqccccccutycasvab 
+680 637 1 1 1 100 0 0 0 92 -1 1 rucavccccccccccccccccccccctcccccccccccccccnccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+681 1 2 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccacccwcccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+682 630 2 1 1 100 0 0 0 92 -1 1 rucavccccccccccccccccccccccccccccccccccccckccccccccccccccccccccccccctccccjxccccccccccccccocutycasvab 
+683 666 1 1 1 100 91 379 0.240106 92 -1 1 rucavcccccccccdccccccccccccccccucccccccmccccyccccncccccccccccccccccccccccccrcccccccccccccccutycasvab 
+684 645 1 1 1 100 97 388 0.25 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccpccccccccccwccccccccutycasvab 
+685 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccvcccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+686 650 1 1 1 101 0 0 0 92 -1 1 raucavcccccjcccctccccccccccccwccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+687 314 1 1 1 101 89 383 0.232376 92 -1 1 rucavccccccccccjccccucccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+688 325 1 1 1 100 97 387 0.250646 92 -1 1 rucavcccccccccccnccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccocccccccccccccutyiasvab 
+689 652 1 1 1 100 0 0 0 92 -1 1 rucavccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccscccccccccccccccccccutycasvab 
+690 1 1 1 1 100 97 389 0.249357 92 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccmcccccccccutycasvab 
+691 627 1 1 1 102 0 0 0 92 -1 1 aarucavccccccccccmccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccwccccccccccccutycasvab 
+692 646 1 1 1 100 0 0 0 92 -1 1 rucavcccccccccccccccccccccuccuccccccfcccccccccccccccccccccccccccccccccccccccchcccccccccccccutycasvab 
+693 328 2 1 1 100 87 377 0.230769 92 -1 1 rucqvccccccccccxccccyccccccccccccccccccccccccccccccccccccccccccecccccccccccccccccccccccccccutycasvab 
+694 314 2 1 1 100 89 383 0.232376 93 -1 1 rucavcccccccccccccccuccccccccccccccccccccccccccccccccccccccccccccccccccccccccmcccccccccccccutycasvab 
+695 300 2 1 1 100 97 388 0.25 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccjxccccccccccccccccccceccccccccccccccccccccccutycasvab 
+696 46 2 1 1 99 96 385 0.249351 93 -1 2 rucavcccccccccccccccccccmccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfccccutycasvab 
+697 640 3 1 1 101 0 0 0 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccmcccxccccqxcccccccclccccccccccccccccccccutycasvab 
+698 624 1 1 1 100 0 0 0 93 -1 1 rucavcccccccccccccccxccccccccccccccccccccccccccccccccccccccccccmccpccccccccccccccccccccccccutycasvab 
+699 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccoccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+700 659 1 1 1 100 97 387 0.250646 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccqcccccccxlccccccccccccccccbcccccccccccccutyccsvab 
+701 328 1 1 1 100 87 377 0.230769 93 -1 1 rucavccccccccccxccccycccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjccccccccutycasvab 
+702 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccyccccccccccccccccccutycasvab 
+703 46 2 1 1 99 96 385 0.249351 93 -1 2 rucavccccccccccccccccccccccccccncccccccccccccccccccccccccccccccccccccccczcccccccccccccccccutycasvab 
+704 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+705 625 1 1 1 101 0 0 0 93 -1 1 rucavccccccccccccrccccccccccccccccccccucccccccccccccccccccccccccccccccccccccncccccccncccccccutycasvab 
+706 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccnccccccccccccccccccutycasvab 
+707 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavtcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+708 1 1 1 1 100 97 389 0.249357 93 -1 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccocccccccccccccccccccccccccutycasvab 
+709 1 2 1 1 100 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccaccccceccccccccccccccccccccccccccutycasvab 
+710 300 1 1 1 100 97 388 0.25 93 -1 1 rucavcccccccccccccccccccclccccccccccccccccccccccxccccccccccccccccccccccccccccccccccccccccccutycasvab 
+711 639 3 1 1 100 0 0 0 93 -1 1 rucavcccccccccccccccccsccccccccccccccccccccycfcccccccccccccccccccccccccccccccgcccccccccccccutycasvmb 
+712 1 2 1 1 99 97 389 0.249357 93 -1 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccgcccccccccccccccccccccccccccccccccccccutycasvab 
+713 642 2 1 1 101 0 0 0 93 -1 1 rucavccccceccccccccccycccccccccccccccccccccccccccccccccccccctccccccccccccccccccccccccccqccccutycasvab 
+714 658 2 1 1 100 0 0 0 93 -1 1 rucyvccccccccccccccccccccccccucccccccccccccccccccccccccccccccccccccccccccctzchcccccccccccccutycasvab 
+715 328 2 1 1 100 87 377 0.230769 94 -1 1 sucavccccccecccxccccyccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
+716 656 1 1 1 100 0 0 0 94 -1 1 rucavccpccccccccccccccccccccccccccccccccccccccccccccccccccccccccccycccccccccccccccccclcccccutycasvab 
+717 655 24 1 1 100 0 0 0 99 -1 1 cccccccccccccccccccccccccccccccccccccccccutycksvabrucavccccccccccccccccccccccccccccccccccccccccccccc 

Modified: development/tests/demes_torus_repl/expected/data/dominant.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/dominant.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/dominant.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida Dominant Data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 #  1: Update
 #  2: Average Merit of the Dominant Genotype
 #  3: Average Gestation Time of the Dominant Genotype
@@ -21,10 +21,10 @@
 10 0 0 0 0 100 0 0 100 0 0 0 0 0 1 100-aaaaa 
 20 97 389 0.249357 0.00257069 100 100 97 149 0 0 0 0 0.249357 1 100-aaaaa 
 30 97 389 0.249357 0.00257069 100 100 97 216 0 0 0 0 0.251295 1 100-aaaaa 
-40 97 389 0.249357 0.00257069 100 100 97 47 0 0 0 0 0.251295 1 100-aaaaa 
-50 97 389 0.249357 0.00257069 100 100 97 47 0 0 0 0 0.251295 1 100-aaaaa 
-60 97 389 0.249357 0.00257069 100 100 97 63 0 0 0 0 0.251295 1 100-aaaaa 
-70 97 389 0.249357 0.00257069 100 100 97 88 0 0 0 0 0.252577 1 100-aaaaa 
-80 97 389 0.249357 0.00257069 100 100 97 22 0 0 0 0 0.252604 1 100-aaaaa 
-90 97 389 0.249357 0.00257069 100 100 97 22 0 0 0 0 0.252604 1 100-aaaaa 
+40 97 389 0.249357 0.00257069 100 100 97 43 0 0 0 0 0 1 100-aaaaa 
+50 97 389 0.249357 0.00257069 100 100 97 43 0 0 0 0 0 1 100-aaaaa 
+60 97 389 0.249357 0.00257069 100 100 97 59 0 0 0 0 0.251295 1 100-aaaaa 
+70 97 389 0.249357 0.00257069 100 100 97 78 0 0 0 0 0.251948 1 100-aaaaa 
+80 97 389 0.249357 0.00257069 100 100 97 22 0 0 0 0 0 1 100-aaaaa 
+90 97 389 0.249357 0.00257069 100 100 97 22 0 0 0 0 0 1 100-aaaaa 
 100 97 389 0.249357 0.00257069 100 100 97 30 0 0 0 0 0.252604 1 100-aaaaa 

Modified: development/tests/demes_torus_repl/expected/data/historic-100.pop
===================================================================
--- development/tests/demes_torus_repl/expected/data/historic-100.pop	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/historic-100.pop	2008-02-03 22:08:27 UTC (rev 2297)
@@ -15,30 +15,3 @@
 # 12: depth in phylogentic tree
 # 13: genome of organism
 
-86 1 1 0 3 100 97 388 0.25 25 79 1 rucavccccccccccccpcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-21 1 2 0 5 100 97 387 0.250646 12 79 1 rucavccccccccccccccccccccccccciccccpcccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-114 30 2 0 8 100 97 386 0.251295 26 79 2 rucavccccccccccccccclcccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccicccccccutycasvab 
-216 7 1 0 3 100 97 387 0.250646 38 79 2 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccwcccccccccccccccccccccclccccccutycasvab 
-418 1 2 0 1 99 96 384 0.25 66 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccciccccutycasvab 
-258 1 1 0 3 100 49 288 0.170139 39 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycgsvab 
-200 1 2 0 6 100 97 388 0.25 38 79 1 rucavccccccccscccicccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-42 1 1 0 3 100 97 388 0.25 13 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccdcccccccccccccccccccccccccccccccccccccccccutycasvab 
-92 12 1 0 8 101 98 392 0.25 26 79 2 rucavccccccccccccccccccccccccccccccccccccccccccccccccfccccccccccccccccccccccccccrcccccccccccutycasvab 
-325 1 3 0 1 100 97 387 0.250646 53 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccqcccccccccccccccccccccccccpccccccccccczutycasvab 
-402 325 1 0 1 100 88 377 0.233422 66 79 2 rucavcccucccccccccccccccccccccccccccccccccccccccccccqcccccccccccccccccccccccccpccccccccccczutycasvab 
-323 1 2 0 2 101 88 381 0.230971 52 79 1 rucavccccccccccccccccccyccccccccccccccccccccccccccccccccccccccccccccccccccpcccccccccccccccccutycasvab 
-75 1 1 0 7 100 97 388 0.25 25 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccutycasvab 
-227 1 1 0 7 100 97 389 0.249357 38 79 1 rucavccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-308 227 2 0 1 100 97 387 0.250646 52 79 2 rucavccccgcccccccccccccccccccbccccccccccccccccccccwccccccccccccccccccccccccccccccccccccccccutycasvab 
-275 119 5 0 3 102 99 394 0.251269 39 79 2 aarucavcccccccccccccjccccccccccccccccccccccchccccccccccccccwcccccccccccccccccccncccccccccccccutycasvab 
-173 1 1 0 6 100 97 389 0.249357 37 79 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccrcccccccccccccutycasvab 
-420 75 2 0 1 100 97 387 0.250646 66 79 2 rucavcccccccccccccccccccccccccccccccccccccrcccccccccccclcccccccccfcccccccccccccccccccccccccutycasvab 
-302 1 2 0 1 100 88 378 0.232804 52 79 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccxccccccccccucccccccccccccccccccccccccccutycasvab 
-30 1 1 0 2 100 97 388 0.25 13 39 1 rucavcccccccccccccccccccccccccccccccccccccccccccccccccccccccvccccccccccccccccccccccccccccccutycasvab 
-7 1 1 0 3 100 97 388 0.25 12 39 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccccutycasvab 
-14 1 2 0 1 100 97 387 0.250646 12 39 1 rucavcccccccccmccccccccccccccccccccccccccccccccgcccccccccccccccccccccccccccccccccccccccccccutycasvab 
-124 1 5 0 1 101 98 391 0.250639 26 39 1 rucavccccccccccccccccccchccccccccccaccacccccccccccccccccccccccccccccccccccccccccczccccccccecutycasvab 
-12 1 1 0 1 100 97 388 0.25 12 39 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccccccccccccccutycasvab 
-113 1 1 0 1 100 97 388 0.25 26 39 1 rucavccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccutycasvab 
-119 1 1 0 1 100 97 388 0.25 26 39 1 rucavccccccccccccccccccccccccccccccccccccccccccccccccccccwcccccccccccccccccccccccccccccccccutycasvab 
-17 1 2 0 1 100 88 378 0.232804 12 39 1 rucavccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccucccccccccccccccccutycasvab 

Modified: development/tests/demes_torus_repl/expected/data/resource.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/resource.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/resource.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida resource data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 # First column gives the current update, all further columns give the quantity
 # of the particular resource at that update.
 #  1: Update

Modified: development/tests/demes_torus_repl/expected/data/stats.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/stats.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/stats.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Generic Statistics Data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 #  1: update
 #  2: average inferiority (energy)
 #  3: ave probability of any mutations in genome
@@ -17,10 +17,10 @@
 10 0 0.562358 0.562358 0.826353 0.826353 0 0 0 0 0 0 
 20 0 0.562294 0.562358 0.826209 0.826353 0 1.5539 0 0 0 0 
 30 0.0051528 0.562333 0.562358 0.826298 0.826353 0 2.91122 0 0 0 0 
-40 0.00156126 0.562643 0.562358 0.827005 0.826353 -261 2.49062 0 0 0 0 
-50 0.020224 0.562665 0.562358 0.827056 0.826353 0 2.58176 0 0 0 0 
-60 0.0174849 0.569106 0.562358 0.841894 0.826353 1 3.59183 0 0 0 0 
-70 0.0127383 0.568082 0.562358 0.83952 0.826353 0 4.3727 0 0 0 0 
-80 0.0263397 0.572191 0.562358 0.84908 0.826353 -300 3.51788 0 0 0 0 
-90 0.0263397 0.572191 0.562358 0.84908 0.826353 0 3.51788 0 0 0 0 
-100 0.0249189 0.57345 0.562358 0.852025 0.826353 1 4.20281 0 0 0 0 
+40 0 0.562389 0.562358 0.826426 0.826353 -257 2.68287 0 0 0 0 
+50 0 0.562389 0.562358 0.826426 0.826353 0 2.68287 0 0 0 0 
+60 0.0791888 0.564325 0.562358 0.830858 0.826353 0 3.64235 0 0 0 0 
+70 0.0461825 0.563764 0.562358 0.829572 0.826353 0 4.51034 0 0 0 0 
+80 0 0.562453 0.562358 0.82657 0.826353 -282 3.45197 0 0 0 0 
+90 0 0.562453 0.562358 0.82657 0.826353 0 3.45197 0 0 0 0 
+100 0.141901 0.56257 0.562358 0.826839 0.826353 0 4.14337 0 0 0 0 

Modified: development/tests/demes_torus_repl/expected/data/tasks.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/tasks.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/tasks.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 # First column gives the current update, next columns give the number
 # of organisms that have the particular task as a component of their merit
 #  1: Update

Modified: development/tests/demes_torus_repl/expected/data/tasks_exe.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/tasks_exe.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/tasks_exe.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks execution data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 # First column gives the current update, all further columns give the number
 # of times the particular task has been executed this update.
 #  1: Update

Modified: development/tests/demes_torus_repl/expected/data/tasks_quality.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/tasks_quality.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/tasks_quality.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida tasks quality data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 # First column gives the current update, rest give average and max task quality
 #  1: Update
 #  2: Not Average

Modified: development/tests/demes_torus_repl/expected/data/time.dat
===================================================================
--- development/tests/demes_torus_repl/expected/data/time.dat	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/demes_torus_repl/expected/data/time.dat	2008-02-03 22:08:27 UTC (rev 2297)
@@ -1,5 +1,5 @@
 # Avida time data
-# Wed Sep  5 15:37:09 2007
+# Sun Feb  3 17:09:18 2008
 #  1: update
 #  2: avida time
 #  3: average generation
@@ -9,10 +9,10 @@
 10 0.103093 0 3000 
 20 0.206186 1 6000 
 30 0.309855 1.97698 11730 
-40 0.413983 2.66 3000 
-50 0.517745 2.72816 3090 
-60 0.623058 3.6599 5880 
-70 0.727976 4.58356 10950 
-80 0.832654 5.09 3000 
-90 0.938665 5.09 3000 
-100 1.04391 6.0884 5400 
+40 0.413983 0 3000 
+50 0.51864 0 3000 
+60 0.623086 0.93617 5640 
+70 0.728014 1.89802 10590 
+80 0.832971 0 3000 
+90 0.9382 0 3000 
+100 1.04339 0.882682 5370 

Modified: development/tests/energy_deme_level_res/config/avida.cfg
===================================================================
--- development/tests/energy_deme_level_res/config/avida.cfg	2008-02-03 15:00:43 UTC (rev 2296)
+++ development/tests/energy_deme_level_res/config/avida.cfg	2008-02-03 22:08:27 UTC (rev 2297)
@@ -20,7 +20,6 @@
 WORLD_Y 20        # Height of the Avida world
 WORLD_GEOMETRY 2  # 1 = Bounded Grid
                   # 2 = Torus
-NUM_DEMES 2       # Number of independed groups in the population; 0=off
 RANDOM_SEED 7     # Random number seed (0 for based on time)
 HARDWARE_TYPE 0   # 0 = Original CPUs
                   # 1 = New SMT CPUs
@@ -35,6 +34,30 @@
 ENVIRONMENT_FILE environment-5tasks.cfg    # File that describes the environment
 START_CREATURE echo40.org           # Organism to seed the soup
 
+### DEME_GROUP ###
+# Demes and Germlines
+NUM_DEMES 2                 # Number of independent groups in the population.
+DEMES_USE_GERMLINE 0        # Whether demes use a distinct germline; 0=off
+DEMES_HAVE_MERIT 0          # Whether demes have merit; 0=no
+DEMES_PREVENT_STERILE 0     # Whether to prevent sterile demes from
+                            # replicating; 0=no
+DEMES_REPLICATE_SIZE 1      # Number of organisms to create or copy from the
+                            # source deme to the target deme.
+DEMES_ORGANISM_PLACEMENT 0  # How organisms are placed during deme replication.
+                            # 0=sequential placement.
+                            # 1=random placement.
+DEMES_ORGANISM_FACING 1     # How organisms are facing during deme replication.
+                            # 0=Unchanged.
+                            # 1=Northwest.
+                            # 2=Random.
+DEMES_MAX_AGE 500           # The maximum age of a deme (in updates) to be
+                            # used for age-based replication (default=500).
+DEMES_MAX_BIRTHS 100        # The maximum number of births that can occur
+                            # within a deme; used with birth-count replication.
+GERMLINE_COPY_MUT 0.0075    # Prob. of copy mutations occuring during
+                            # germline replication.
+
+
 ### REPRODUCTION_GROUP ###
 # Birth and Death
 BIRTH_METHOD 0           # Which organism should be replaced on birth?




More information about the Avida-cvs mailing list