Ken Webb 2018-12-01T07:45:52Z
Become a Castaway in the Island Game.
To save the current game, drag the following code onto the Castaway's current location (the outer circle in the circles-within-circles view):
<SaveGrid implName="org.primordion.xholon.base.Behavior_gwtjs" outTarget="webpage" gridOwnerXPath="IslandSystem/Space" gridCellIncludeList="LandCell,CoastCell" nodeExcludeList="Fish,Cat"><![CDATA[
/**
* Save the contents of a Xholon grid, such as in the Island game.
* Paste or drag this entire file into any node.
* Use RestoreGrid.js to restore a grid saved by this script.
* outTarget: "outtab" "consolelog" "alert" "webpage"
* gridOwnerXPath: "IslandSystem/Space"
* gridCellIncludeList: "LandCell,CoastCell"
* nodeExcludeList: "Fish,Cat"
*
* TODO
* -
*/
var me, gridOwner, outstr, gridCellIncludeArr, nodeExcludeArr, gridContents, beh = {
postConfigure: function() {
me = this.cnode;
me.remove();
outstr = "";
$wnd.xh.avatar()["systemAvatar"] = true; // mark the system Avatar
gridCellIncludeArr = null;
nodeExcludeArr = null;
gridContents = ""; // each gridCell type and incognita status. ex: O C L o c l for Ocean Coast Land
if (me.gridCellIncludeList) {
gridCellIncludeArr = me.gridCellIncludeList.split(",");
}
if (me.nodeExcludeList) {
nodeExcludeArr = me.nodeExcludeList.split(",");
}
if (!gridCellIncludeArr) {
outstr += "The gridCellIncludeList must contain at least one name.";
$wnd.console.log(outstr);
return;
}
gridOwner = $wnd.xh.root().xpath(me.gridOwnerXPath);
if (!gridOwner) {
outstr += "The XPath expression " + me.gridOwnerXPath + " evaluates to null.";
$wnd.console.log(outstr);
return;
}
//$wnd.console.log("SaveGrid OK");
outstr += '<SavedGrid gridOwnerXPath="' + me.gridOwnerXPath + '" gridCellIncludeList="' + me.gridCellIncludeList + '" timestamp="' + Date.now() + '">\n\n';
var ypos = 0;
var xpos = 0;
var row = gridOwner.first();
while (row) {
var cell = row.first();
while (cell) {
this.saveCellContent(cell, xpos, ypos);
cell = cell.next();
xpos++;
}
row = row.next();
ypos++;
xpos = 0;
gridContents += "\n";
}
outstr += '<SavedGridContents><Attribute_String>\n';
outstr += gridContents;
outstr += '</Attribute_String></SavedGridContents>\n\n';
outstr += '</SavedGrid>\n';
delete $wnd.xh.avatar()["systemAvatar"]; // unmark the system Avatar
switch (me.outTarget) {
case "outtab":
me.print(outstr);
break;
case "alert": // only shows a small part of the text
alert(outstr);
break;
case "webpage":
var xhdiv = $doc.querySelector("body");
if (xhdiv) {
var saveDiv = $doc.createElement("PRE");
xhdiv.appendChild(saveDiv);
saveDiv.innerText = outstr;
}
break;
case "consolelog":
default:
$wnd.console.log(outstr);
break;
}
},
/**
* <SavedCellContent xpos="11" ypos="22" gridCellType="LandCell">
*/
saveCellContent: function(gridCell, xpos, ypos) {
var gridCellClassName = gridCell.xhc().name();
if (gridCell.first() && (gridCellIncludeArr.indexOf(gridCellClassName) != -1)) {
outstr += '<SavedCellContent xpos="' + xpos + '" ypos="' + ypos + '" gridCellType="' + gridCell.xhc().name() + '">\n';
var node = gridCell.first();
while (node) {
if (nodeExcludeArr.indexOf(node.xhc().name()) == -1) {
outstr += $wnd.xh.xport("Xml", node, "{}", false, true);
outstr += '\n';
}
node = node.next();
}
outstr += '</SavedCellContent>\n\n';
}
var gcChar = gridCellClassName.substring(0,1);
if (gridCell["incognita"]) {
gcChar = gcChar.toLowerCase();
}
gridContents += gcChar;
}
}
//# sourceURL=SaveGrid.js
]]></SaveGrid>
To restore a saved game, drag the following code onto the Castaway's current location:
<script>$wnd.alert("Sorry. Not yet fully implemented.");</script>
While waiting for Load Saved Game to become fully implemented, you might want to try out a zombie or two. A zombie can be dragged onto the Castaway's current location:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Zombie module. Creates a Zombie that will move in a grid. -->
<XholonModule>
<XholonMap>
<Attribute_String roleName="ih"><![CDATA[
<_-.XholonClass>
<Zombie superClass="Script"/>
</_-.XholonClass>
]]></Attribute_String>
<!-- Zombie color and behavior -->
<Attribute_String roleName="cd"><![CDATA[
<xholonClassDetails>
<Zombie xhType="XhtypePureActiveObject">
<Color>black</Color>
<DefaultContent>
var zombie, direction, timestep, beh = {
postConfigure: function() {
zombie = this.cnode;
direction = Math.floor(Math.random() * 4); // a grid cell may ref 4 or 8 other cells
if (zombie.parent().port(7)) {
direction = Math.floor(Math.random() * 8);
}
timestep = $wnd.xh.param("TimeStep"); // Zombie should only move once per timestep
$wnd.console.log(zombie.name() + " " + this.toString());
},
act: function() {
var timestepNew = $wnd.xh.param("TimeStep");
if (timestepNew != timestep) {
this.move();
timestep = timestepNew;
}
},
move: function() {
var destination = zombie.parent().port(direction);
if (destination) {
destination.append(zombie.remove());
}
},
toString: function() {
return "direction:" + direction;
}
}
//# sourceURL=Zombiebehavior.js
</DefaultContent>
</Zombie>
</xholonClassDetails>
]]></Attribute_String>
<Attribute_String roleName="csh"><![CDATA[
<_-.csh>
<Zombie roleName="Bob"/>
</_-.csh>
]]></Attribute_String>
</XholonMap>
</XholonModule>
To test out roughly how Restore Saved Game will work, drag the following code onto the Castaway's current location:
<RestoreContainer>
<RestoreGrid implName="org.primordion.xholon.base.Behavior_gwtjs" removeExisting="true"><![CDATA[
/**
* Restore the contents of a Xholon grid, such as from the Island game.
* Paste or drag this entire file into any node.
* This processes content saved by SaveGrid.js .
*/
var me, gridOwner, gridCellIncludeArr, beh = {
postConfigure: function() {
me = this.cnode;
var sgNode = me.next(); // SavedGrid node
if (sgNode) {
gridCellIncludeArr = null;
if (sgNode.gridCellIncludeList) {
gridCellIncludeArr = sgNode.gridCellIncludeList.split(",");
}
gridOwner = $wnd.xh.root().xpath(sgNode.gridOwnerXPath);
if (!gridOwner) {
$wnd.console.log("The XPath expression " + sgNode.gridOwnerXPath + " evaluates to null.");
return;
}
if (me.removeExisting == "true") {
this.removeAllExistingCellContents(gridOwner);
}
var ynow = 0; // y position (row) right now while iterating thru the grid
var xnow = 0; // x position (gridCell) right now while iterating thru the grid
var row = gridOwner.first();
var cell = row.first();
var sccNode = sgNode.first(); // SavedCellContent node
while (sccNode) {
$wnd.console.log(sccNode.gridCellType + " " + sccNode.xpos + " " + sccNode.ypos);
if (sccNode.ypos == ynow) {
// remain on the same row
while (sccNode.xpos > xnow) {
cell = cell.next();
xnow++;
}
}
else {
// find a new row
while (sccNode.ypos > ynow) {
row = row.next();
ynow++;
}
cell = row.first();
xnow = 0;
while (sccNode.xpos > xnow) {
cell = cell.next();
xnow++;
}
}
var node = sccNode.first();
while (node) {
var nextNode = node.next();
if ((node.xhc().name() == "Avatar") && (node["systemAvatar"])) {
var ava = $wnd.xh.avatar();
ava["energy"] = node["energy"];
var invNode = node.first();
while (invNode) {
var nextInvNode = invNode.next();
ava.append(invNode.remove());
invNode = nextInvNode;
}
cell.append(ava.remove());
}
cell.append(node.remove());
node = nextNode;
}
sccNode = sccNode.next();
if (sccNode.xhc().name() == "SavedGridContents") {
this.restoreGridContents(sccNode);
sccNode = sccNode.next();
}
}
me.parent().remove();
}
},
restoreGridContents: function(sgcNode) {
if (!sgcNode.first()) {return;}
var sgcText = sgcNode.first().text();
$wnd.console.log(sgcText);
var row = gridOwner.first();
var tindex = 0;
while (row) {
var cell = row.first();
while (cell) {
var achar = sgcText.charAt(tindex);
if (achar.toLowerCase() == achar) {
cell["incognita"] = true;
}
else {
cell["incognita"] = false;
}
tindex++;
cell = cell.next();
}
tindex++; // handle the "\n"
row = row.next();
}
},
removeAllExistingCellContents: function(gridOwner) {
var row = gridOwner.first();
var cell = null;
while (row) {
cell = row.first();
while (cell) {
if ((gridCellIncludeArr && gridCellIncludeArr.indexOf(cell.xhc().name()) != -1) || !gridCellIncludeArr) {
var node = cell.first();
while (node) {
var nextNode = node.next();
if ((node.xhc().name() == "Avatar") && (node == $wnd.xh.avatar())) {
// retain this node
}
else {
node.remove();
}
node = nextNode;
}
}
cell = cell.next();
}
row = row.next();
}
}
}
//# sourceURL=RestoreGrid.js
]]></RestoreGrid>
<SavedGrid gridOwnerXPath="IslandSystem/Space" gridCellIncludeList="LandCell,CoastCell" timestamp="1541249234528">
<SavedCellContent xpos="91" ypos="5" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="93" ypos="6" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="82" ypos="7" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
<Avatar roleName="Castaway" speechOut="0" energy="92065" islandID="0" systemAvatar="true">
<FishingRod mass="3" energy="0"></FishingRod>
<Fruit energy="10" mass="1"></Fruit>
<JuicyBerry energy="10" mass="1"></JuicyBerry>
<Stick energy="0" mass="1"></Stick>
</Avatar>
</SavedCellContent>
<SavedCellContent xpos="90" ypos="7" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="91" ypos="7" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="86" ypos="8" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="87" ypos="9" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="85" ypos="12" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="83" ypos="13" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="32" ypos="14" gridCellType="CoastCell">
<TreasureChest mass="1000">
<Stick maxClones="1" energy="0" mass="1"></Stick>
<Vine maxClones="1" energy="0" mass="1"></Vine>
<Thorn maxClones="1" energy="0" mass="1"></Thorn>
<CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
<Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
<Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
</Volleyball>
</TreasureChest>
</SavedCellContent>
<SavedCellContent xpos="91" ypos="14" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="92" ypos="14" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="89" ypos="15" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="21" ypos="16" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="22" ypos="16" gridCellType="CoastCell">
<TreasureChest mass="1000">
<Stick maxClones="1" energy="0" mass="1"></Stick>
<Vine maxClones="1" energy="0" mass="1"></Vine>
<Thorn maxClones="1" energy="0" mass="1"></Thorn>
<CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
<Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
<Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
</Volleyball>
</TreasureChest>
</SavedCellContent>
<SavedCellContent xpos="23" ypos="16" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="96" ypos="16" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="96" ypos="17" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="85" ypos="18" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="26" ypos="20" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="9" energy="0" mass="1"></Thorn>
<Vine maxClones="9" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="83" ypos="20" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="26" ypos="21" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="80" ypos="21" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="91" ypos="21" gridCellType="CoastCell">
<TreasureChest mass="1000">
<Stick maxClones="1" energy="0" mass="1"></Stick>
<Vine maxClones="1" energy="0" mass="1"></Vine>
<Thorn maxClones="1" energy="0" mass="1"></Thorn>
<CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
<Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
<Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
</Volleyball>
</TreasureChest>
</SavedCellContent>
<SavedCellContent xpos="83" ypos="22" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="90" ypos="24" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="22" ypos="25" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="35" ypos="25" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="8" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="9" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="8" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="22" ypos="32" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="66" ypos="40" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="70" ypos="41" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="64" ypos="42" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="55" ypos="43" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="67" ypos="45" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="50" ypos="46" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="53" ypos="48" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="54" ypos="48" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="70" ypos="49" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="85" ypos="49" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="55" ypos="50" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="56" ypos="50" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="71" ypos="50" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="76" ypos="50" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="52" ypos="51" gridCellType="CoastCell">
<City roleName="Ottawa" mass="9999" energy="0">
<University roleName="Carleton" mass="9999" energy="0">
<Library mass="9999" energy="0">
<CoffeeShop roleName="Starbucks" mass="9999" energy="0">
<IslandControlCentre mass="9999" energy="0">
<SecretProjects>
<Annotation>working on it</Annotation>
<ElDorado></ElDorado>
<TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
</SecretProjects>
</IslandControlCentre>
</CoffeeShop>
<TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
<Avatar roleName="Troll" speechOut="0">
<Attribute_String>[Troll will repeatedly look for and take students from anywhere in the city, and will drop them in the IslandControlCentre];
wait 1;
exit;
take *treeWanderer;
exit;
wait 1;
enter library;
wait 1;
enter *coffeeShop;
wait 1;
enter islandControlCentre;
drop *treeWanderer;
wait 1;
exit;
wait 1;
</Attribute_String>
</Avatar>
</Library>
<TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
<TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
</University>
</City>
</SavedCellContent>
<SavedCellContent xpos="70" ypos="51" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="74" ypos="51" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="61" ypos="52" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="91" ypos="52" gridCellType="CoastCell">
<TreasureChest mass="1000">
<Stick maxClones="1" energy="0" mass="1"></Stick>
<Vine maxClones="1" energy="0" mass="1"></Vine>
<Thorn maxClones="1" energy="0" mass="1"></Thorn>
<CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
<Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
<Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
</Volleyball>
</TreasureChest>
</SavedCellContent>
<SavedCellContent xpos="85" ypos="53" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="80" ypos="54" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="83" ypos="54" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="60" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="70" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="76" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="79" ypos="55" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="56" ypos="56" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="64" ypos="56" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="89" ypos="56" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="73" ypos="58" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
<Fruit maxClones="10" energy="10" mass="1"></Fruit>
<JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
<Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>
<SavedCellContent xpos="77" ypos="58" gridCellType="LandCell">
<Spring mass="9999" energy="0">
<FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>
<SavedCellContent xpos="68" ypos="60" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="70" ypos="60" gridCellType="CoastCell">
</SavedCellContent>
<SavedCellContent xpos="82" ypos="60" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
<PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
<Thorn maxClones="10" energy="0" mass="1"></Thorn>
<Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>
<SavedCellContent xpos="85" ypos="60" gridCellType="CoastCell">
<TreasureChest mass="1000">
<Stick maxClones="1" energy="0" mass="1"></Stick>
<Vine maxClones="1" energy="0" mass="1"></Vine>
<Thorn maxClones="1" energy="0" mass="1"></Thorn>
<CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
<Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
<Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
</Volleyball>
</TreasureChest>
</SavedCellContent>
<SavedGridContents><Attribute_String>
oOOOOOOooOOOOoooooooooooooooooOoooooooooooooooooooooooooooOOOoOOoOoOoOOOooooooooooooooooooooooooooooooOOOoOooOoOOOOoOOOo
OoOOOOooOOOOoOoOoooooooooooooooOoooooooooooOooooooooooooooooooOOoooooOoOoooooooooooooooooOoooooooooooooOoOOooOoOOOoOOOOO
OOOOOOooOOOOOOooOoooooooooooooooooooooooooOOOoOOooooooooooOoOooOOoooooOooooooooooooooooOoOoOooooOoOooOOooooOOoOOOoOOOOOO
OOOoOOoOOOOOOOOOooooooooooooooooooooooooOooooooOoOooooooooOOoOoooooooOoOoooooooooOooooOooOoOOooooOOOooOoooOoOooooOOOOOOO
OOOOOOOOOOOoOOOOOOOoooooooooooooooooooooOoooOoooOoooooooooOooOooooooooOOoooooooooCCCCCCCCCCCCoOooOoOOOoOOoooooooOooOOOOO
ooooOOOOOOOOOOOOOoOooooooooooooooooooooOoooOOooooooooooooooooOoooooooOOoooooooooOCLLCLLLCCLLCoOOOOOoooOoooooOoooooooOOOO
ooooOOOOOOOOOOOoooooooooooooooooooooOoOoooOoOOOooooooooooooOoooooooooOOOoooooooCCCCLLLLLLLLCCCCooOoooooOooooooooooOoOoOO
OOOOOOoOoOoooOOooooOoooooooooooooooOoooooooOOoooooooooooooOoooooooooOOoooooooooCLLLLLLLLLLLLLLCoOoOoOOoOooooooooOoooooOO
oOOooOoOOOoooOooooOooooooooooooooooooooooooOOooooooooooooOoOOOooooooOOOOOooOOooCLLLLLLLLLLLLLLCooOooOOOOooOOooooOOOooOOO
OOoOOOOoOoOOOoOooOOoooooooooooooooOoOOoooOOOoOoooooooOoOooOooooooooOOOOoOoOoOooCCCCLLLLLLLLLCCCoOooooOOOooooOoooooooOooO
oOoOOoOOOoOoOooOOOOOoooooooooooooooOoOooooooooooooooOooOooooOOooooooOOOOOOoOOOoOoCCCCCLLLLCCCooooooooOoooOOOoOoOOooooooO
oOOoOOOOOOOOoOooOOooooooooooooooooOooooooooooOOooOooOOOoooOoOOOoooOoooooOOOOooooOCLLLLLLLLLCOooooooOoooOOoOoOoOOOOooooOO
oOOoOOOooooOooOOOOOooooooooooooooooOOOOoOoOooooOOoOoOOOoooOOOOoOOooOOoOOOOOOoOooCCCLLLLLLLLCOOooooooooOOoOoOoooOOOoOoooo
OOoOOOOOOoOOOOooOoOooOOOOOOOOoooooOooooOOOoOOooOoOOOOooooOoOOOOOOOOOOoooOOoOoOOOCLLLLLLLLLLCCCOOOOOOOOOOOoOooOooooOooooO
OOOOOOOOoOOOOOOooOoooCCCCCCCCCCCCOoOOooOOOOOoOooooOoOooooooOoOoOOOoOoooOOOOooOoOCCLLLLLLLLLLLCCCCCCCCCoOoOOoOOOOooOoOooO
OOOOOOOOoOOOOOoOooooOCLLCLLLCCLLCooOoOOOOoOoOOoOoOOoOOOoooOOOoooOOOoooOoOOOoOooOoCCCLLLLLLLLLLLLLLLLLCOOOOoOOOOOoOOOOOOO
OoOOOOOOOOOOOoooooocCCCLLLLLLLLCCCCOoOoOOoOoOOOooOoOOOoooOOOoOooooOOooooOoOoOooOOOCLLLLLLLLLLLLLLLLCCCOOooOOOooOoOoooOoO
OOoOOOOoOOOOOooooooCLLLLLLLLLLLLLLCoOoOoOOooOoooOOooOoOoOOOoOOOOooOOOOoooOOOoooooOCCCLLLLLLLLLLLLLCCOOOOOoOOOOOOOOoooooo
oOOOOooOOOooOooooooCLLLLLLLLLLLLLLCoooOOoOoOoooooooooooOOoOOOOoOOOOOOOooooOooOooOOCLLLLLLLLLCCCCCCCOOOOOoOOOOoOOOOOooOOO
oOOOoOOOOOOOoooOOooCCCCLLLLLLLLLCCCoOooOOOoOOoOOoOOoooooOOOOOOOOOOOOOoOooooOooOooCCCCCLLLLCCCOOOOOOOOOoOOoOOOOOOOOOooooo
oOoooOOOOOooOOoOOooOOCCCCCLLLLCCCOOoOoOOOOooOoOoOOOoooOooOoooOOOoOOOoOOOOoOoooOOOCLLLLLLLLLLCOOoOoOOOOOooOOOOOOoOOooOOOo
OooooOOOOoOOOOOoooooOCLLLLLLLLLCOOoooOooOooooooooOOoOoOOoooooOOOOOOOOOOOOOoOOoOCCCCLLLLLLLLCCCCoOOOoOOOOOoOoOOOOoOOoooOO
oOoooOOOoOooooooooooCCCLLLLLLLLCOOooOOOOoOoooooooOOOoOOOOoOoOOOOOooooOOOOOoooOOCLLLLLLLLLLLLLLCooOOOoOOooOOOOOoOOOOoOoOO
oooOoOOoOOOOoOOOOoooCLLLLLLLLLLCCCOOOOOOOOOOOoOOOoOOOOOOoOoOOoOoOOOOOOOOOOOOOOoCLLLLLLLLLLLLLLCoOOOoOooooooOOoooOoOOOoOO
OooOOOOOOOOOOooOooOoCCLLLLLLLLLLLCCCCCCCCCoOoOooOOooOoOoOOOOOOOoOOoOOOOOOoOOOOOCCCCLLLLLLLLLCCCOOOooOoOoooOoooOoooOooooO
oOOOooOOOooooOoOooooOCCCLLLLLLLLLLLLLLLLLCoooOoOOOOOOOoOOOOoOOOOOOOOOOOOOOOOOOoOOOCCCCLLLLCCCOOOOooooOoOOOOooOOooooooooo
OOOOoOoOOOOOOoOooooooOCLLLLLLLLLLLLLLLLCCCooOoOoOOoOOOOOOOOOoOoOooOOOOOOOOOoOOOOoOOOOCCCCCCOOoOooOOOoooooOOOooooooooOoOO
oOOOOOOoOoOooOoOooooooCCCLLLLLLLLLLLLLCCOOooOooOOoOOOOooOOOOOoOOOOOoOOOOOOOOooOOOOOOoOOOOOOOoOOOOoOOooOooOOoooooOooooOOo
oOoOOOOOooooOOoOooooooCLLLLLLLLLCCCCCCCOOoOoooOooOoOOOOOOoOOOOoOoOOOOOOOOOoOOOoOoOoooooooOooooOOOOOOOOOOOOooOoOooooooooo
OoOOoooOOooOOOOOoooooCCCCCLLLLCCCOoOOOOOoOooOoOooOoOOOOOOOOOOOOOoOOOoOOOOOOOOOoOOoOOoooooooooOOOOOoOOoOoOOOOOOooooooOooo
oOoOooOooooOoOOoooooOCLLLLLLLLLLCoooOooooOoOoOOOoOoOooOOoOOOOoOOOOOOOOoOOoOooOOOoOooooooooOoOoOOOOOooOOOoOoooOOoOooooooO
ooOoOooOoooooOOooooCCCCLLLLLLLLCCCCoOOOoOOOOoOOOOOoOOoOOOOOOOOOOOOOOOoOOOOOoOOOOOOOoOoooOOOOOOoOOOOoOoOOOOoOoOOooooooOOO
oOOOOooOooooOOOOOOoCLLLLLLLLLLLLLLCoOoOOooOOOOOoOOOOOOOoOOOOOOOOOOoOOOOOoOOOOOOOOOOooooOoOOoOoOOOOOoOOOOOoooOoOoooOoOOoo
OOOOOOOOOoOoOOOOoOoCLLLLLLLLLLLLLLCoooOoOOooOOOOOOOOOoOoOOOOoOOOOOOOoOOoOOOOOOOOOOOOOOOoOOoOOOOOOOoOOOOOOoooOOOooooooOOO
OOOOOOOOOOOooooooooCCCCLLLLLLLLLCCCooOooOooOOoOOOOOOOOoOOOOOoOOOOOOOOooOOooOOOOOOOOOOOOOOOOoOOOOOOoOOOOOOOOoOoOOoOooOOoo
oOOOOOOOOOOooooooOoOOOCCCCLLLLCCCOOOOOoOooOOOooOOOOOOOoOOOooOOOooOooooOOOOoOOOoOOOOOOOOOOOOOOOOOooOOOOOoOoOOOoOooooooOOo
oOOOOOOOOOOoOooooooooooOoCCCCCCOOOoooooooOoOOoOoOOOOoOOOoOOooOOOoooOoOOOOOOoOOOOOOOOOOOOOOOOOOooOOOOooOOOOoOOOOOOOooOOOO
OOOOoOOOOOoooOoOoooooooOooOOOOOOOOoooOoOOooooOOOOOoOOOOoooooOOOoooooooOoOOOOOOOOoOOoOooOOOOOOOoOOOoOooOoOOOOOooOOooOOooo
OOOOOoOOoOoooooOoooOOoOOOOOoOOoOooooooooooooOOOoOOOoOoOooooOOOOOoOOOooOOOOOOOOOOOOOOoOOOOOOOOOoOOOOOOOOoOOOoOoooOoOOoooo
ooOOOOoooOooooooooooooooooOOoOoOoooOoooOoooooOoooOOoooOOoooCCCCCOCCCOOCCCCCCCOOOOoooOOOOOOOOOoOoOOOOOoOOOOoOOOoOooOOoooo
ooooOOoOOoOooooooooooooooooooOOOOoooOooooooooooOOoOooooOooCCLCLCCCLCCCCLCCLLCCoOoOOoOOOOOOOOOOooOooOOOOOOOOoOoOoOOOOoooO
oOoOoOOOOOooooooooooooooooOooOOOOOoOOooOooooooooooOOoOoOocCCLLLLLLLLLLLLLLLLLCooOOOOOOOOOOOOOOOoOOOoOOOOOOOoooOOOoOooooo
ooOOOOOOOOOooooOoOooooOoOOoooOOOOOOoOOOooOooooOOoOOOooOCCCLLLLLLLLLLLLLLLLLCCCoOOOOOOOOOoOOOOOOOOoOOOOOOooOOOoOOoooooooO
oooOoOOoOooooooooOoooooooOOOOOoOOOoOoooooooooooOoOOOOOOCLLLLLLLLLLLLLLLLLCCCOOOOOoOOOOOOOOOOOOOOooOOOOOoOOoooOoOoooooooo
ooOOOOOOOOoOooOooooooooooOOOOOooOoOOoOooooooooooOOOCCCCCCLLLLLLLLLLLLLLLLLLCCOOOOOOOOOOOOOOoOOOOOoOOOOoOOoooooOooooooOOo
ooooooOoOOooooOoOoooooooooOOooOOoOoooOooooooOOooOCCCLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOoOOOOoOOoOOOOoOOOooOooOOOoOoOooOoOo
oOooooOoOOOOoooooooooooooOOOOOOoooooooooooooooOooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCCCCOOOOoOOOOOOOOoOOooOoooOoOoOooooooo
oOooooooOOOOOoooooooooOoOOOOOoOOooOooooOOoOoOOoooCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCOoOOOOOOOOOOooOoOoooooooooooooO
ooooOooooOOoOOooooOoooooOoOOOOoooooooOoooooOOooooOCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCooOoOOOOOOooooooOoooOooooOooooo
ooOoooOoOoOooOoooooOooOOOOOOOOOoOooooOooooOooOOoooOCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCCOOOOOOOOOoOoooOOOoooOoOoooooooo
oOOooooOoooOoooooOoooooOOOOOOOoOooooOooooooooOoooooOCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOOOOoOOOoOooooooooOOOoOOooooOo
oooooOOooOOOOooooOooooooOOOOOOOOoOoooooooooOOoOoooooCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCOOOOOOOOOoooOoooOooooooOoOoooooO
OoOooOOOoOOoOoOoOoooOOooOoOoOOOOoooooooooOoOooOoooooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCOOOOOOOOooooOoooOOooooooooOO
oooOooooooOOOooOoooooooOoOOOOOOOOOoOOoooOOOoooooooooCCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCoooOOOooooOoooooOooooooOo
oOOooooOoooooooOoooOoOoOOOOOOOoOoOooOooOoOOoooOoooooOOoCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCOOooOooooooOoOoOOoOOoOOoo
oOOOoooOoOOOoooooOooOoOOOOOOOOoOOOoOOooOoOOooooOoooooooOCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCoOOOOooOooooooooooooooOOo
OOOoooooooOoOoOOOoooOoOOOOOoOoOOoOOOOoooOOOOOOoooOooooooCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOOooooooooooOOOOooOOoO
OOooOOooooooOOOOooooooOooooOooOOoooOOOOOOoOOooOoooooooooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCoOoOOOOOOooooooooooooooooOoOO
OOOOOOoooOooOoOOoooooOoOoooOooOOOoooOooOOoOoOOOOooooOoooCCCCCCCLLLLLLLLLLLLLLLLLLLLLCCCCOOOOoOOooOOoOOooooooooOooooooOoo
oOOOOOooOoooOoOOooooOooOOOOOOOOooooooooooooOooOoooooooooooOOOCLLLLLLLLLLLLLLLLLLLLLLLCOOoOoOoOooooooOoOOOoOoOOooOOoOOooo
oOoOOooooooooOoooooooOoOooOOOOOooooOOooOoooooOoOoooooooooooooCCCLLLCCCCCCCCCCCCLLLLCCCoooooooooooooooooOOoooOoOOOOoooOoo
ooOOOOOoOOooOOoOooooOOoOOOoOOOooOooOoooooooooooooooooOooooooooocCCCCOOOOOOOOOOCCCCCCOOooooooooooooooooooooOooooOooooooOo
OOOOOOoooooooooooooOOooOOoOooooooooOooooooOoOooOooooooooooooooooOOOoooooooooooOOOOOOooooooooooooOoooooooooOooooooooooooO
OooOOoooooooOooOoOoOoooooOOoooooooOooooooooooooooOooooooooooooooooooooOoooooooOOoooooooooooooooooOOoOoOoooooOoooOOoooooo
OoOOOooOooOoOOooOoOoOoooooOoooooooOOooOoooOooooooooooOooooOoooooooooooOooooooOoooooooooooooooooooOOooOOoOOOOOooooOOOOooo
OooooooooOoOOoooOOOOoooOOOOOooooOooooooooOoooooooooooooooooooooooooooOOOoooooooooooooooooooooooooOOoOOOOOOOOOoooOooOOOOo
OOOoooOOoooOOOOOOOOOoooOOOoOooooooooOooooooooooooooooOOoOOoooooooooOooOoOOoooOooooooooooooooooooOoOoOoOOOOOOOoOOoooOoOOo
OoooooooooOOOOOOOOOOooOOOOooooooooooooooooooooOooOoooooOoooooooooooooooOOOoOooooooooooooooooooooOoOOoOOOOOOOOOOOooOOOooo
OoooooooooOOOOoOoOOOOooOOOoooooooOoooooooOooOoooooOOoooooooooooooooooOOOOOoooooooooooooooooOooOoOOOOooOOOOOOOOOOOOOoOOOO
OOoooooooOOOOOOOoooOOoOOoOOooOooooooooooooooooooooooooooOooOoOooooooOoooooooooooooooooooooOoOOOoOOOOOOOOOOOOOoOOOoOOOOOo
OoooOooooOOoOOOOoOooOOoOOoooooooooooOooOooooooOooooOoooooooooooooooOoooooooooooooooooooOooOoOoOoOOOOOOOOOOOOOOOOOOoOOOOO
OOOooooOoOOOOoOoooOOOOOOOooOoOoOoooooooooooOoooooOoooooooooooooOOoOOooooooooooooooooooooooooooOOOOOOOOOOOOOoOOOOoOOOOOOo
OOOooOOOoOoOOOOoooOOOOOOOOOOooooooooooooooooooooooooooooooooooOOooooooooooooooooooooooooOOoooOOOOOOOoOOOOOOOOOOOOOOOOOOO
oooOoOoOOoOOOOOoOoOOOOOOOOOOOooOooooooooooooooooooooooooooOooooOoooooooooooooooooooooooooooOoooOOoOOoOOOOOOOOOOoOOOOOOOO
oOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOooooooooooOooooooooooooooooooOoOoooooooooooooooooooooooooooooooOOOoOoOOOOOOOOOooOOOOOOOO
OOOOOOOOOOOOOOOoooOOoOOOOOOOOOoOooooooooooooooooooooooooooooooOOooooooooooooooooooooooooooooOooooooooOOOOOOOOoOOoOOoOOOO
OOOOOOOoOOOOOOoOoOOoOOoOoOOOOOooOooooooooooooooooooooooooooooOoOoooooooooooooooooooooooooooooooooooooooOOOOOoOoOOOOooOOO
oOOOOoOOOOOooOOooooOOOoooOOOOOOOooooooooooooooooooooooooooooooOooooooooooooooooooooooooooooooooooOoooooooooOooOOoOOooOOO
OOOOOoOOOOooooOooooOOOooooOOooooooOoooooooooooooooooooooooooOOooooooooOoooooooooooooooooooooooOoooooOOoOOOOOoOOOOoOOOOOO
oOOOOOOOOOOOoooOooooooooooOoooOOOOooooooooooooooooooooooooooOOooOOOOOOoOoooooooooooooooooooOooooooooOoOoOOooOoOoOOoOOooO
</Attribute_String></SavedGridContents>
</SavedGrid>
</RestoreContainer>